diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..626c5887b --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,277 @@ +name: STEPCODE + +on: + workflow_dispatch: + pull_request: + +jobs: + windows: + name: Windows Latest MSVC + runs-on: windows-latest + strategy: + fail-fast: true + steps: + - name: Setup - CMake + uses: lukka/get-cmake@latest + + - name: Setup - Ninja + uses: seanmiddleditch/gha-setup-ninja@master + + - name: Checkout + uses: actions/checkout@v2 + + - name: Add github workspace to path + # https://github.community/t/deprecated-add-path/136621 + run: echo "$ENV{GITHUB_WORKSPACE}" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 + + - name: Add msbuild to PATH + uses: microsoft/setup-msbuild@v1.0.2 + + - name: Add cl.exe to PATH + uses: ilammy/msvc-dev-cmd@v1 + + - name: Configure + run: | + cmake -S . -B build -G Ninja -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" -DSC_ENABLE_TESTING=ON + # We do the following in order to help ensure files are "flushed" + # to disk before compilation is attempted + # https://superuser.com/a/1553374/1286142 + powershell Write-VolumeCache C + powershell Write-VolumeCache D + + - name: Build + run: cd build && ninja -j1 -v + + - name: Test + run: | + cd build && ctest -j1 . + + linux: + name: Ubuntu Latest GCC + runs-on: ubuntu-20.04 + strategy: + fail-fast: true + steps: + - name: Setup - CMake + uses: lukka/get-cmake@latest + + - name: Setup - Ninja + uses: seanmiddleditch/gha-setup-ninja@master + + # TODO - we will want this when the new parser work comes in, + # as we won't need perplex and the system tools should suffice + # to exercise the generator logic: + # + # - name: Setup - System + # env: + # DEBIAN_FRONTEND: noninteractive + # run: | + # sudo apt-get update + # # Install dev tools + # sudo apt-get install re2c lemon + # sudo apt-get clean + + - name: Checkout + uses: actions/checkout@v2 + + - name: Configure + run: | + export PATH=$ENV{GITHUB_WORKSPACE}:$PATH + cmake -S . -G Ninja -B build -D ENABLE_ALL=ON -D CMAKE_BUILD_TYPE=Release -DSC_ENABLE_TESTING=ON + + - name: Build + run: | + export PATH=$ENV{GITHUB_WORKSPACE}:$PATH + cmake --build build --config Release + + - name: Test + run: | + cd build && ctest -j1 . -C Release + + linux_clang: + name: Ubuntu Latest Clang + runs-on: ubuntu-20.04 + strategy: + fail-fast: true + steps: + - name: Setup - CMake + uses: lukka/get-cmake@latest + + - name: Setup - Ninja + uses: seanmiddleditch/gha-setup-ninja@master + + # TODO - we will want this when the new parser work comes in, + # as we won't need perplex and the system tools should suffice + # to exercise the generator logic: + # + # - name: Setup - System + # env: + # DEBIAN_FRONTEND: noninteractive + # run: | + # sudo apt-get update + # # Install dev tools + # sudo apt-get install re2c lemon + # sudo apt-get clean + + - name: Checkout + uses: actions/checkout@v2 + + - name: Configure + run: | + export PATH=$ENV{GITHUB_WORKSPACE}:$PATH + CC=clang CXX=clang++ cmake -S . -G Ninja -B build -D ENABLE_ALL=ON -D CMAKE_BUILD_TYPE=Release -DSC_ENABLE_TESTING=ON + + - name: Build + run: | + export PATH=$ENV{GITHUB_WORKSPACE}:$PATH + CC=clang CXX=clang++ cmake --build build --config Release + + - name: Test + run: | + cd build && ctest -j1 . -C Release + + + osx: + name: macOS Latest Clang + runs-on: macos-latest + strategy: + fail-fast: true + steps: + - name: Setup - CMake + uses: lukka/get-cmake@latest + + - name: Setup - Ninja + uses: seanmiddleditch/gha-setup-ninja@master + + - name: Checkout + uses: actions/checkout@v2 + + - name: Configure + run: | + export PATH=$ENV{GITHUB_WORKSPACE}:$PATH + export CC=clang + export CXX=clang++ + cmake -S . -G Ninja -B build -D CMAKE_BUILD_TYPE=Release -DSC_ENABLE_TESTING=ON + + - name: Build + run: | + export PATH=$ENV{GITHUB_WORKSPACE}:$PATH + cd build && ninja -j1 + + - name: Test + run: | + cd build && ctest -j1 . -C Release + + brlcad_linux: + name: BRL-CAD Linux step-g Test + runs-on: ubuntu-20.04 + strategy: + fail-fast: true + steps: + - name: Setup - CMake + uses: lukka/get-cmake@latest + + - name: Setup - Ninja + uses: seanmiddleditch/gha-setup-ninja@master + + - name: Setup - System + env: + DEBIAN_FRONTEND: noninteractive + run: | + sudo apt-get update + # Install dev tools + sudo apt-get install re2c lemon + sudo apt-get clean + + - name: Checkout + run: | + git clone --depth 1 https://github.com/BRL-CAD/brlcad.git -b main + cd brlcad/src/other/ext && rm -rf stepcode + git clone --depth 1 https://github.com/stepcode/stepcode.git -b develop + # Ordinarily BRL-CAD keeps track of what files are supposed to be + # present in the repository. In this case we're not interested in + # updating the list to the working stepcode filelist, so use an empty + # list instead + echo "set(stepcode_ignore_files)" > stepcode.dist + cd ../../../../ + + + - name: Configure + run: | + export PATH=$ENV{GITHUB_WORKSPACE}:$PATH + cd brlcad + cmake -S . -G Ninja -B build -DENABLE_ALL=ON -DCMAKE_BUILD_TYPE=Release -DEXT_BUILD_VERBOSE=ON + cd .. + + - name: Build + run: | + export PATH=$ENV{GITHUB_WORKSPACE}:$PATH + cd brlcad + cmake --build build --config Release --target step-g + cd .. + + - name: Test + run: | + export PATH=$ENV{GITHUB_WORKSPACE}:$PATH + cd brlcad/build + ./bin/step-g ../db/nist/NIST_MBE_PMI_3.stp -o nist3.g + cd ../.. + + + brlcad_windows: + name: BRL-CAD Windows step-g Test + runs-on: windows-latest + strategy: + fail-fast: true + steps: + - name: Setup - CMake + uses: lukka/get-cmake@latest + + - name: Setup - Ninja + uses: seanmiddleditch/gha-setup-ninja@master + + - name: Add github workspace to path + # https://github.community/t/deprecated-add-path/136621 + run: echo "$ENV{GITHUB_WORKSPACE}" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8 + + - name: Add msbuild to PATH + uses: microsoft/setup-msbuild@v1.0.2 + + - name: Add cl.exe to PATH + uses: ilammy/msvc-dev-cmd@v1 + + - name: Checkout + run: | + git clone --depth 1 https://github.com/BRL-CAD/brlcad.git -b main + cd brlcad/src/other/ext + cmake -E rm -r stepcode + git clone --depth 1 https://github.com/stepcode/stepcode.git -b develop + # Ordinarily BRL-CAD keeps track of what files are supposed to be + # present in the repository. In this case we're not interested in + # updating the list to the working stepcode filelist, so use an empty + # list instead + echo "set(stepcode_ignore_files)" > stepcode.dist + cd ../../../../ + + - name: Configure + run: | + cd brlcad && cmake -S . -B build -G Ninja -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" -DSC_ENABLE_TESTING=ON + cd .. + # We do the following in order to help ensure files are "flushed" + # to disk before compilation is attempted + # https://superuser.com/a/1553374/1286142 + powershell Write-VolumeCache C + powershell Write-VolumeCache D + + - name: Build + run: | + cd brlcad/build + ninja -j1 -v step-g + cd ../.. + + - name: Test + run: | + cd brlcad/build + ./bin/step-g.exe ../db/nist/NIST_MBE_PMI_3.stp -o nist3.g + cd ../.. + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..c39a631c2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +# Common build directories used in the source tree +/build +/.build + +# Temporary files +*~ +\#*\# +.\#* +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-v][a-z] +[._]sw[a-p] +**/__pycache__/ + +# OS specific files +.DS_Store +.DS_Store? + +# Tool specific patterns +*.kdev4 +.kdev_include_paths diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d479e7c13..000000000 --- a/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: cpp -compiler: - - clang - - gcc -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 diff --git a/AUTHORS b/AUTHORS index 86c12b99a..998c16349 100644 --- a/AUTHORS +++ b/AUTHORS @@ -5,20 +5,30 @@ http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/other/step/?vie In alphabetical order: Bertucat, Roch (rbertucat) Bowman, W. Keith (indianlarry) +da Costa, Raphael Kubo (rakuco) +DeGraw, Jason (jasondegraw) Easterbrook, Zach (lainiwakurax) Greenwald, Erik (erikg, erikgreenwald) +Horler, Chris (cshorler) Lanning, Craig (craigl64) Loman, David (davidloman) +McDonald, Rob (ramcdona) +Mittal, Pulkit (hoiji09) Morrison, Christopher Sean (sean, morrison, brlcad) Paviot, Thomas (tpaviot) Pictor, Mark (mpictor) +Reed, Nick (nickreed) +Shah, Kesha (kesha, keshashah) +Sparks, Devon (devonsparks) Thomas, Dawn (homovulgaris, madant) Wouters, Dave (davyw) Yapp, Clifford (starseeker) Special thanks: +Hunten, Keith (Lockheed Martin) 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 diff --git a/CMakeLists.txt b/CMakeLists.txt index d694bb2bf..4d61fd650 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# C M A K E L I S T S . T X T F O R S C L +# C M A K E L I S T S . T X T F O R S T E P C O D E # # This file is Copyright (c) 2010 United States Government as # represented by the U.S. Army Research Laboratory. @@ -32,121 +32,48 @@ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # ******************************************************************* -# *** SC's CMakeLists.txt *** +# *** STEPcode's CMakeLists.txt *** # ******************************************************************* # This file contains the top level CMakeLists.txt logic for the -# SC software package. +# STEPcode software package. -PROJECT(SC) - -# SC version -SET(SC_VERSION_MAJOR 0) -SET(SC_VERSION_MINOR 7-dev) -SET(SC_VERSION ${SC_VERSION_MAJOR}.${SC_VERSION_MINOR}) - -# SC ABI version. SC_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) +project(SC) # Minimum required version of CMake -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7) -IF(COMMAND CMAKE_POLICY) - CMAKE_POLICY(SET CMP0003 NEW) -ENDIF(COMMAND CMAKE_POLICY) - -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) - -# Define helper macro OPTION_WITH_DEFAULT -MACRO( OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT ) - IF( NOT DEFINED ${OPTION_NAME} ) - SET( ${OPTION_NAME} ${OPTION_DEFAULT} ) - ENDIF( NOT DEFINED ${OPTION_NAME} ) - OPTION( ${OPTION_NAME} "${OPTION_STRING}" ${${OPTION_NAME}} ) -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 ) - -# don't build static libs by default -OPTION_WITH_DEFAULT(SC_BUILD_STATIC_LIBS "Build static libs" OFF) - -OPTION_WITH_DEFAULT(SC_PYTHON_GENERATOR "Compile fedex_python" ON) -OPTION_WITH_DEFAULT(SC_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 fedex_plus 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 ) - message( "** CMake variable SC_BUILD_SCHEMAS not set. Defaults to building ALL schemas. This will take a while; see http://stepcode.org/mw/index.php?title=STEPcode_CMake_variables#SC_BUILD_SCHEMAS" ) - #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 ) +cmake_minimum_required(VERSION 3.12) +if (POLICY CMP0077) + cmake_policy(SET CMP0077 OLD) +endif (POLICY CMP0077) + +# SC version +set(SC_VERSION_MAJOR 0) +set(SC_VERSION_MINOR 8) +set(SC_VERSION_PATCH 1) +set(SC_VERSION ${SC_VERSION_MAJOR}.${SC_VERSION_MINOR}.${SC_VERSION_PATCH}) + +# Set language standards +set(CMAKE_C_EXTENSIONS OFF) +set(CMAKE_C_STANDARD 11) +set(CMAKE_C_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) # 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") -if(NOT IS_SUBBUILD) - SET(CMAKE_MODULE_PATH "${SC_CMAKE_DIR};${CMAKE_MODULE_PATH}") -else(NOT IS_SUBBUILD) - SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${SC_CMAKE_DIR}") -endif(NOT IS_SUBBUILD) - -INCLUDE(${SC_CMAKE_DIR}/SC_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 -SET(_orig_lc_all $ENV{LC_ALL}) -SET(_orig_lc_messages $ENV{LC_MESSAGES}) -SET(_orig_lang $ENV{LANG}) -IF(_orig_lc_all) - SET(ENV{LC_ALL} C) -ENDIF(_orig_lc_all) -IF(_orig_lc_messages) - SET(ENV{LC_MESSAGES} C) -ENDIF(_orig_lc_messages) -IF(_orig_lang) - SET(ENV{LANG} C) -ENDIF(_orig_lang) +set(SC_CMAKE_DIR "${SC_SOURCE_DIR}/cmake") +list(APPEND CMAKE_MODULE_PATH "${SC_CMAKE_DIR}") +# OpenBSD has its own naming conventions. Set a platform variable based on +# the OS name so we can test for it succinctly. +if ("${CMAKE_SYSTEM}" MATCHES ".*OpenBSD.*") + set(OPENBSD ON) +endif ("${CMAKE_SYSTEM}" MATCHES ".*OpenBSD.*") #--------------------------------------------------------------------- -# 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 - endif() - INCLUDE(CTest) - ENABLE_TESTING() -ENDIF(SC_ENABLE_TESTING) +# Set up various relative path variables and build output directories +include(Path_Setup) #--------------------------------------------------------------------- # The following logic is what allows binaries to run successfully in @@ -156,282 +83,151 @@ ENDIF(SC_ENABLE_TESTING) # http://www.cmake.org/Wiki/CMake_RPATH_handling # use, i.e. don't skip the full RPATH for the build tree -set(CMAKE_SKIP_BUILD_RPATH FALSE) +if(NOT DEFINED CMAKE_SKIP_BUILD_RPATH) + set(CMAKE_SKIP_BUILD_RPATH FALSE) +endif() # when building, don't use the install RPATH already # (but later on when installing) -set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) +if(NOT DEFINED CMAKE_BUILD_WITH_INSTALL_RPATH) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) +endif() # the RPATH/INSTALL_NAME_DIR to be used when installing if (NOT APPLE) - set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:\$ORIGIN/../lib") + if(NOT DEFINED CMAKE_INSTALL_RPATH) + set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:\$ORIGIN/../lib") + endif() endif(NOT APPLE) # On OSX, we need to set INSTALL_NAME_DIR instead of RPATH # http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_INSTALL_NAME_DIR -set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") +if(NOT DEFINED CMAKE_INSTALL_NAME_DIR) + set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") +endif() # add the automatically determined parts of the RPATH which point to # directories outside the build tree to the install RPATH -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) - -#----------------------------------------------------------------------------- -# Output directories. -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) - -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() - - -#----------------------------------------------------------------------------- -# Configure install locations. - -# The location in which to install SC. 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 DEFINED CMAKE_INSTALL_RPATH_USE_LINK_PATH) + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +endif() + + +#--------------------------------------------------------------------- +# Build options +option(BUILD_SHARED_LIBS "Build shared libraries" ON) +option(BUILD_STATIC_LIBS "Build static libraries" OFF) + +option(SC_PYTHON_GENERATOR "Compile exp2python" ON) +option(SC_CPP_GENERATOR "Compile exp2cxx" ON) + +option(SC_TRACE_FPRINTF "Enable extra comments in generated code so the code's source in exp2cxx may be located" OFF) + +option(SC_ENABLE_COVERAGE "Enable code coverage test" OFF) +if (SC_ENABLE_COVERAGE AND ${CMAKE_C_COMPILER_ID} STREQUAL "GNU") + set(CMAKE_C_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE) + set(CMAKE_CXX_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) +endif (SC_ENABLE_COVERAGE AND ${CMAKE_C_COMPILER_ID} STREQUAL "GNU") + +option(SC_BUILD_EXPRESS_ONLY "Only build express parser." OFF) +mark_as_advanced(SC_BUILD_EXPRESS_ONLY) + +option(SC_ENABLE_TESTING "Enable unittesting framework" OFF) +if(SC_ENABLE_TESTING) + if(NOT "${SC_BUILD_EXPRESS_ONLY}" AND NOT DEFINED SC_BUILD_SCHEMAS) + set(SC_BUILD_SCHEMAS "ALL") #test all schemas, unless otherwise specified + endif() + include(CTest) +endif(SC_ENABLE_TESTING) + +# SC_ADDEXEC and SC_ADDLIB macros, dllimport/export, etc +include(SC_Targets) + +# Macros related to paths +include(SC_Paths) + +# locale stuff +include(SC_Locale) + +# logic related to regenerating the lexer and parser source code +include(SC_Regenerate) + +# create config.h header +include(SC_Config_Headers) + +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 "${SC_BUILD_EXPRESS_ONLY}" AND NOT DEFINED SC_BUILD_SCHEMAS) + list(APPEND CONFIG_END_MESSAGES + "** Note: CMake variable SC_BUILD_SCHEMAS was not set - defaults to building ALL schemas") +# 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() + if(NOT SC_IS_SUBBUILD) - IF(NOT WIN32) - IF (${CMAKE_BUILD_TYPE} MATCHES "Debug") - SET(SC_INSTALL_PREFIX "${SC_SOURCE_DIR}/../sc-install") - ELSE() - SET(SC_INSTALL_PREFIX "/usr/local") - ENDIF() - ENDIF(NOT WIN32) - SET( SC_INSTALL_PREFIX ${SC_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 ) + list(APPEND CONFIG_END_MESSAGES + ".. Don't worry about any messages above about missing headers or failed tests, as long as" + " you see 'Configuring done' below. Headers and features vary by compiler." + ".. Generating step can take a while if you are building several schemas.") endif(NOT SC_IS_SUBBUILD) -OPTION(SC_BUILD_EXPRESS_ONLY "Only build express parser." OFF) -MARK_AS_ADVANCED(SC_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 -# 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") -if(NOT COMMAND CONFIG_H_APPEND) - macro(CONFIG_H_APPEND PROJECT_NAME NEW_CONTENTS) - if(PROJECT_NAME) - get_property(${PROJECT_NAME}_CONFIG_H_CONTENTS GLOBAL PROPERTY ${PROJECT_NAME}_CONFIG_H_CONTENTS) - set(${PROJECT_NAME}_CONFIG_H_FILE_CONTENTS "${${PROJECT_NAME}_CONFIG_H_CONTENTS}${NEW_CONTENTS}") - set_property(GLOBAL PROPERTY ${PROJECT_NAME}_CONFIG_H_CONTENTS "${${PROJECT_NAME}_CONFIG_H_FILE_CONTENTS}") - 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") - -INCLUDE(CheckLibraryExists) -INCLUDE(CheckIncludeFile) -INCLUDE(CheckFunctionExists) -INCLUDE(CheckTypeSize) -INCLUDE(CMakePushCheckState) -INCLUDE(CheckCXXSourceRuns) - -CHECK_INCLUDE_FILE(ndir.h HAVE_NDIR_H) -CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H) -CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H) -CHECK_INCLUDE_FILE(sys/param.h HAVE_SYS_PARAM_H) -CHECK_INCLUDE_FILE(sysent.h HAVE_SYSENT_H) -CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H) -CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H) -CHECK_INCLUDE_FILE(stdbool.h HAVE_STDBOOL_H) -CHECK_INCLUDE_FILE(process.h HAVE_PROCESS_H) -CHECK_INCLUDE_FILE(io.h HAVE_IO_H) - -CHECK_FUNCTION_EXISTS(abs HAVE_ABS) -CHECK_FUNCTION_EXISTS(memcpy HAVE_MEMCPY) -CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE) -CHECK_FUNCTION_EXISTS(getopt HAVE_GETOPT) - -CHECK_TYPE_SIZE("ssize_t" SSIZE_T) - -set( TEST_STD_THREAD " -#include -#include -void do_work() { - std::cout << \"thread\" << std::endl; -} -int main() { - std::thread t(do_work); - t.join(); -} -" ) -cmake_push_check_state() - if( UNIX ) - set( CMAKE_REQUIRED_FLAGS "-pthread -std=c++0x" ) - else( UNIX ) - # vars probably need set for MSVC11, embarcadero, etc - endif( UNIX ) - 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) -file(WRITE ${CONFIG_H_FILE} "${CONFIG_H_FILE_CONTENTS}") -configure_file(${CONFIG_H_FILE} ${SC_BINARY_DIR}/include/sc_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 -# 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) -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/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/sc_version_string.h - PROPERTIES GENERATED TRUE - HEADER_FILE_ONLY TRUE ) ################ if(MSVC) - # add_definitions( -Wall ) - add_definitions( -D__MSVC__ -D__WIN32__ ) # Disable warning for preferred usage of secure functions (example strcpy should be strcpy_s, ...) - add_definitions( -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS ) -elseif(BORLAND) - add_definitions( -D__BORLAND__ -D__WIN32__ ) -else() - add_definitions( -pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline -Wno-long-long ) + add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS) +endif() +if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL "Clang") + add_definitions(-pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline -Wno-long-long) endif() include_directories( ${SC_SOURCE_DIR}/include ${SC_BINARY_DIR}/include - ) - -ADD_SUBDIRECTORY(src/base) -ADD_SUBDIRECTORY(src/express) -ADD_SUBDIRECTORY(src/exppp) -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) - ADD_SUBDIRECTORY( test ) -ENDIF(SC_ENABLE_TESTING) -ADD_SUBDIRECTORY(doc) - -# this is for testing - 'make core' builds everything that isn't generated -add_custom_target( core ) -add_dependencies( core stepdai check-express stepeditor fedex_plus ) + ) + +add_subdirectory(src/express) +add_subdirectory(src/exppp) +add_subdirectory(src/exp2cxx) +add_subdirectory(src/exp2python) +add_subdirectory(src/clstepcore) +add_subdirectory(src/cleditor) +add_subdirectory(src/cldai) +add_subdirectory(src/clutils) +add_subdirectory(src/cllazyfile) +add_subdirectory(include) +add_subdirectory(data) +if(SC_ENABLE_TESTING) + add_subdirectory(test) +endif(SC_ENABLE_TESTING) +add_subdirectory(doc) if(NOT SC_IS_SUBBUILD) - ############################################################################### - # SC Packaging # - # $make package # - ############################################################################### - - SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "STEPcode") - 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 ) + #----------------------------------------------------------------------------- + # SC Packaging + # $make package + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "STEPcode") + 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_CONTACT "SC Developers ") + include(CPack) +endif(NOT SC_IS_SUBBUILD) - SET(CPACK_PACKAGE_CONTACT "SC Developers ") - INCLUDE(CPack) - ######################################################################################## - # Uninstall code # - # From http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F # - # ###################################################################################### - configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" - IMMEDIATE @ONLY) +# CONFIG_END_MESSAGES - list of messages to be printed after everything else is done. +# THIS MUST BE LAST to ensure that they are visible to the user without scrolling. +foreach(_msg ${CONFIG_END_MESSAGES}) + message(STATUS "${_msg}") +endforeach(_msg ${CONFIG_END_MESSAGES}) - add_custom_target(uninstall - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 -endif(NOT SC_IS_SUBBUILD) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..62e9503db --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,48 @@ +# How to contribute + +We love contributions! + +## Getting started + +* Create a github account if you haven't already, and fork the project +* Create a new branch, using a branch name that gives an idea of what the changes are about +* One topic per commit; a number of small commits are better than one big one + * Do not introduce whitespace changes! (**Windows users:** `git config --global core.autocrlf true`) + * Encouraged but not enforced: each commit should stand alone, in the sense that the code should compile and run at that point. +* One major topic per pull request. Commits that fix small things (typos, formatting) are perfectly acceptable in a PR fixing a bug or adding a feature. + * Tests are good. Tests are required unless you're fixing something simple or that was obviously broken. + * Do not change EXPRESS schema definition without reference to an upstream change. +* Make your changes and push them to your GitHub repo +* Once your branch is pushed, submit a pull request. + - enable github option on each PR 'Allow edits from maintainers', refer to github help if necessary +* We'll look at the PR and either merge (possibly after rebase) or add feedback. + - If there isn't any activity within several days send a message to the mailing list - `scl-dev` AT `groups.google.com`. + +## Coding Standards + +SC's source has been reformatted with astyle. When making changes, try +to match the current formatting. The main points are: + + - compact (java-style) brackets: +```C + if( a == 3 ) { + c = 5; + function( a, b ); + } else { + somefunc(); + } +``` + - indents are 4 spaces + - no tab characters + - line endings are LF (linux), not CRLF (windows) + - brackets around single-line conditionals + - spaces inside parentheses and around operators + - return type on the same line as the function name, unless that's + too long + - doxygen-style comments + (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. +Download astyle from http://sourceforge.net/projects/astyle/files/astyle/ + diff --git a/COPYING b/COPYING index 27cd65330..48d3fd176 100644 --- a/COPYING +++ b/COPYING @@ -1,108 +1,47 @@ -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). +STEPcode is provided as a collective work under the 3-clause BSD +license. As some portions are not subject to copyright in some +jurisdictions, see INTENT.md for additional details regarding intent +and history. See the AUTHORS file for a list of contributors and +copyright holders. -Modifications which were first commited to the repository on github -are licensed under the 3-clause BSD license below. Changes committed -to BRL-CAD either contain license information mentioning BRL-CAD -near the top of the file, or are licensed under the same terms that -NIST used. +Code generated by STEPcode containing substantial parts of STEPcode +complex enough to have copyright protection are subject to the terms +of this license. -******************************************************************** -3-clause BSD license: - -Copyright (c) , -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. - * Neither the name of the nor the - names of its contributors may 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 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. -******************************************************************** +STEPcode acknowledgement and/or attribution is appreciated regardless +of license or copyright status. ******************************************************************** - ORIGINAL NIST TEXT FOLLOWS + 3-Clause BSD License ******************************************************************** -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 redistribution. - -Acknowledgements: -The STEP Class Library (SCL) was developed by the Manufacturing -Systems Integration Division at NIST 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 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 Information Infrastructure -Protocols Consortium and NIST's Systems Integration for Manufacturing -Applications (SIMA) program. - - -/* ******************************************************************** - * D I S C L A I M E R - * (February 6, 1992) - * - * There is no warranty for the NIST PDES Toolkit. - * If the NIST PDES 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 - * distributed. - * - * Policies - * - * 1. Anyone may copy and distribute verbatim copies of the NIST PDES Toolkit - * source code as received in any medium. - * - * 2. Anyone may modify your copy or copies of the NIST PDES 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. - * - * NO WARRANTY - * =========== - * - * NIST PROVIDES ABSOLUTELY NO WARRANTY. THE NIST PDES 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 PDES 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. - */ - +Copyright (c) 2009-2019 STEPcode AUTHORS +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +2. 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. + +3. Neither the name of the copyright holder nor the names of its +contributors may 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. diff --git a/CTestConfig.cmake b/CTestConfig.cmake index 9adb38d08..6592e676e 100644 --- a/CTestConfig.cmake +++ b/CTestConfig.cmake @@ -8,3 +8,11 @@ set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "my.cdash.org") set(CTEST_DROP_LOCATION "/submit.php?project=StepClassLibrary") set(CTEST_DROP_SITE_CDASH TRUE) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/INTENT.md b/INTENT.md new file mode 100644 index 000000000..06d306e6a --- /dev/null +++ b/INTENT.md @@ -0,0 +1,102 @@ +## Licensing Intent + +The intent is that this software and documentation ("Project") should +be treated as if it is licensed under the license(s) associated with +the Project ("License") in the `COPYING` file. However, because some +contributors work for the United States (U.S.) Federal Government, it +is not that simple. + +The portions of this Project written by United States (U.S.) federal +government employees within the scope of their federal employment are +ineligible for copyright protection in the U.S.; this is generally +understood to mean that these portions of the Project are placed in +the public domain. + +In countries where copyright protection is available (which does not +include the U.S.), contributions made by U.S. Federal government +employees are released under the License. Merged contributions from +private contributors are released under the License. + +## Background History + +STEPcode was originally developed as the STEP Class Libraries (SCL) by +the U.S. National Institute of Standards and Technology (NIST). Prior +to 2009, the U.S. Army Research Laboratory and members of the BRL-CAD +open source community researched freely available open source options +for ISO 10303 STEP support. Development had ceased, no open source +community existed, the code was out of date in many regards, and +additional work was needed to become production-ready, but SCL was +found to be a usable reference implementation. + +Consulting with NIST and others circa 2009, the BRL-CAD community +began efforts to take over SCL development, modernization, and code +enhancements. The BRL-CAD community purchased licenses for the ISO +10303 standard and began working to bring SCL up-to-date with the +latest specification. By 2011, significant progress had been made, +the project had garnered attention from others, and STEPcode was +establishd as an independent project. + +## Original NIST License Text + +This software was [originally] 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 redistribution. + +Acknowledgements: +The STEP Class Library (SCL) was developed by the Manufacturing +Systems Integration Division at NIST 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 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 [circa 1992] were sponsored by the National Information Infrastructure +Protocols Consortium and NIST's Systems Integration for Manufacturing +Applications (SIMA) program. + +~~~~ +/* ******************************************************************** + * D I S C L A I M E R + * (February 6, 1992) + * + * There is no warranty for the NIST PDES Toolkit. + * If the NIST PDES 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 + * distributed. + * + * Policies + * + * 1. Anyone may copy and distribute verbatim copies of the NIST PDES Toolkit + * source code as received in any medium. + * + * 2. Anyone may modify your copy or copies of the NIST PDES 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. + * + * NO WARRANTY + * =========== + * + * NIST PROVIDES ABSOLUTELY NO WARRANTY. THE NIST PDES 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 PDES 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. + */ + ~~~~ \ No newline at end of file diff --git a/NEWS b/NEWS index eba8f0177..564f1e155 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,29 @@ -STEPcode -- http://github.com/stepcode/stepcode -- http://stepcode.org +************************************************************************ + STEPcode + http://github.com/stepcode/stepcode +************************************************************************ + +Release 0.8 (December, 2014) + +New since v0.7: +* handle diamond inheritance, derived Attributes +* rename fedex_python, fedex_plus to exp2py, exp2cxx +* many changes to the pretty printer, due to use in reformatting draft + and IS schemas (Thanks Tom!) +* parser was also changed due to errors caught while pretty printing + - we can be much more confident that the parser is correct now +* fix incorrect quoting of timestamp in p21 header +* fix various copy constructors and ShallowCopy() members +* split generated code into many small files + - far easier to open generated code in editors + - support more compilers + - small files are combined (via #include statements) into a few + large files for faster "unitary" builds, if the compiler can handle it + - unitary builds are faster than the previous builds +* most compiler warnings fixed +* performance fixes and other changes from BRL-CAD +* finally, all tests pass! + ************************************************************************ Release 0.7 (April, 2013) @@ -31,7 +56,7 @@ New since v0.5: * 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) -* fedex_plus fprintf's can be traced with -DSCL_TRACE_FPRINTF=ON (#176) +* exp2cxx fprintf's can be traced with -DSCL_TRACE_FPRINTF=ON (#176) ************************************************************************ Release 0.5 (Feb 23, 2012) @@ -42,7 +67,7 @@ New since v0.4: 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 fedex_plus that improve the generated c++ - use a +* Changes to exp2cxx 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,7 +80,7 @@ Release 0.4 (Nov 13, 2011) New since v0.3: * Improve p21read performance by ~30% -* Improve fedex_plus performance by ~4300% (!) +* Improve exp2cxx 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 @@ -81,7 +106,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 fedex_plus (issue #59) +* Fix aggregate select types naming convention in exp2cxx (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 @@ -113,7 +138,7 @@ 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 fedex_plus. This limits +* Add debugging option -d 9 -l nnn -u nnn to exp2cxx. This limits parser debug output to a specified range of lines in the schema. For a detailed list of changes, see @@ -154,7 +179,7 @@ There were also some issues with the configure script and some makefiles which are addressed, as well as a new macro that is at least required for gcc. -Remaing problem: The p21 file scanner of SCL currently +Remaining problem: The p21 file scanner of SCL currently does not allow for comments within the parameter list of data records. Only comments outside of data records are accepted. @@ -194,7 +219,7 @@ REFERENCE FROM clauses, global rules, PROCEDUREs, and FUNCTIONS. Information about these objects is available but validation based on it is not performed. -- enhanced fedex_plus C++ code generator to generate the necessary +- enhanced exp2cxx 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 @@ -230,7 +255,7 @@ the TD for label. - Fixed the casting operator for the class representing EXPRESS enumeration types. It was returning the last element of the enum type -as the the default when the enum was unset. This choice predated enums +as the default when the enum was unset. This choice predated enums having an unset enum value. It now returns _unset as the default when the enum is unset. @@ -332,14 +357,14 @@ namespace or prefix as is necessary. To change the SDAI namespace name or prefix name the macro definition for SDAI_ could be changed in the sclprefixes.h file. -The early bound access functions that are generated by fedex_plus from +The early bound access functions that are generated by exp2cxx 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 -fedex_plus option. +exp2cxx option. ----------------------------------------------------- SDAI Session Schema objects implemented (model_contents, extents, etc) @@ -349,7 +374,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_ is -now being generated by fedex_plus allowing Entity_extents to be +now being generated by exp2cxx allowing Entity_extents to be maintained for entities as desired. ----------------------------------------------------- @@ -365,7 +390,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 fedex_plus for generating the C++ +Fedex_os is used in conjunction with exp2cxx for generating the C++ necessary to implement your application schema. Although building SCL libraries for use with ObjectStore is @@ -410,7 +435,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, -fedex_plus, would then be run with the -c option on your application's +exp2cxx, 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 +482,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 fedex_plus into separate files. Separate +source code generated by exp2cxx 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 +490,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, fedex_plus may process a +another schema. To address such cases, exp2cxx 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 +502,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 fedex_plus begins processing the more complex schemas, +doing so, when exp2cxx 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 fedex_plus is required to divide output files. +number of times exp2cxx is required to divide output files. -One known case of interdependence which fedex_plus is not able to +One known case of interdependence which exp2cxx 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.) fedex_plus has no way in which it can generate +the same schema.) exp2cxx 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 +623,18 @@ see below, next section.) level, bypassing STEPfile. STEPentity will allow the initialization but will place a warning in its errorDesc field.) -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 +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 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. -fedex_plus's makefile contains the commented-out line, +exp2cxx's makefile contains the commented-out line, #USER_DEFS = -DCOMPLEX_INFO -If this line is uncommented, a fedex_plus executable will be built +If this line is uncommented, a exp2cxx executable will be built which prints such information. Limitations @@ -646,12 +671,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 fedex_plus. (See +fixed by hand in the code generated by exp2cxx. (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 fedex_plus to generate code which cannot be +and SET) will cause exp2cxx to generate code which cannot be compiled. 6. Problem with sparcworks compiler version 4.0(?) - operator int() = @@ -692,14 +717,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), fedex_plus code +This release of the STEP Class Library (SCL), exp2cxx 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 fedex_plus) and the +what's new in the STEP Class Library (and hence exp2cxx) and the Data Probe. -------------------- @@ -772,13 +797,13 @@ When this case of multiple inheritance is encountered attributes are duplicated. This case of multiple inheritance may possibly be avoided by modifying the EXPRESS schema by breaking some links in the inheritance hierarchy. This will not have an adverse affect on the -implemementation. The user may choose to use the current or previous +implementation. 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 fedex_plus code generator or the mkProbe +-s (or -S) option with the exp2cxx code generator or the mkProbe script. -When the fedex_plus code generator is generating the C++ class library +When the exp2cxx code generator is generating the C++ class library representation of a schema, it outputs information calling attention to the cases of multiple inheritance. @@ -965,7 +990,7 @@ the attribute value field in the entity editor. If there wasn't a value in the attribute previously, then the field will contain just the type specifier, e.g., Str1() if Str1 is the type selected. -If a value exists in the field, it is modified to accomodate the new +If a value exists in the field, it is modified to accommodate the new specifier. This means the following: o If the value in the field starts with a single-quote ('), it is assumed to be a string literal, and is completely wrapped in the new @@ -1038,7 +1063,7 @@ functions. -------- Attributes of type Boolean and aggregate of Boolean were previously implemented using the Logical and Logicals classes (respectively). -The fedex_plus code generator now generates classes Boolean and +The exp2cxx code generator now generates classes Boolean and Booleans to implement attributes of type Boolean and aggregate of Boolean respectively. diff --git a/README b/README.md similarity index 86% rename from README rename to README.md index 3d28e9d9e..502388cf7 100644 --- a/README +++ b/README.md @@ -1,5 +1,7 @@ +![Build Status](https://github.com/stepcode/stepcode/actions/workflows/build.yml/badge.svg?branch=develop) + *********************************************************************** -STEPcode v0.7 -- stepcode.org, github.com/stepcode/stepcode +STEPcode v0.8 -- github.com/stepcode/stepcode * What is STEPcode? SC reads ISO10303-11 EXPRESS schemas and generates C++ source code that can read and write Part 21 files conforming @@ -32,12 +34,14 @@ SC's source has been reformatted with astyle. When making changes, try to match the current formatting. The main points are: - compact (java-style) brackets: - if( a == 3 ) { - c = 5; - function( a, b ); - } else { - somefunc( ); - } +```C + if( a == 3 ) { + c = 5; + function( a, b ); + } else { + somefunc( ); + } +``` - indents are 4 spaces - no tab characters - line endings are LF (linux), not CRLF (windows) @@ -54,4 +58,4 @@ Download astyle from http://sourceforge.net/projects/astyle/files/astyle/ *********************************************************************** -For more info, see the wiki. \ No newline at end of file +For more info, see the wiki. diff --git a/SC_VERSION.txt b/SC_VERSION.txt deleted file mode 100644 index eb49d7c7f..000000000 --- a/SC_VERSION.txt +++ /dev/null @@ -1 +0,0 @@ -0.7 diff --git a/TODO b/TODO deleted file mode 100644 index 90fb17b33..000000000 --- a/TODO +++ /dev/null @@ -1,6 +0,0 @@ -(from BRL-CAD) - -* rewrite express parser to not require lex/yacc - -* verify/fix step parser generation with newer AP schemas, seems to be - outputting invalid syntax. diff --git a/cmake/CheckCFileRuns.cmake b/cmake/CheckCFileRuns.cmake deleted file mode 100644 index 8ed14de07..000000000 --- a/cmake/CheckCFileRuns.cmake +++ /dev/null @@ -1,84 +0,0 @@ -# - Check if the given C source code compiles and runs. -# CHECK_C_SOURCE_RUNS( ) -# - source code to try to compile -# - variable to store the result -# (1 for success, empty for failure) -# The following variables may be set before calling this macro to -# modify the way the check is run: -# -# CMAKE_REQUIRED_FLAGS = string of compile command line flags -# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar) -# CMAKE_REQUIRED_INCLUDES = list of include directories -# CMAKE_REQUIRED_LIBRARIES = list of libraries to link - -#============================================================================= -# Copyright 2006-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distributed this file outside of CMake, substitute the full -# License text for the above reference.) - -MACRO(CHECK_C_FILE_RUNS SOURCE VAR) - IF("${VAR}" MATCHES "^${VAR}$") - SET(MACRO_CHECK_FUNCTION_DEFINITIONS - "-D${VAR} ${CMAKE_REQUIRED_FLAGS}") - IF(CMAKE_REQUIRED_LIBRARIES) - SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES - "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}") - ELSE(CMAKE_REQUIRED_LIBRARIES) - SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES) - ENDIF(CMAKE_REQUIRED_LIBRARIES) - IF(CMAKE_REQUIRED_INCLUDES) - SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES - "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}") - ELSE(CMAKE_REQUIRED_INCLUDES) - SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES) - ENDIF(CMAKE_REQUIRED_INCLUDES) - - MESSAGE(STATUS "Performing Test ${VAR}") - TRY_RUN(${VAR}_EXITCODE ${VAR}_COMPILED - ${CMAKE_BINARY_DIR} - ${SOURCE} - COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${FILE_RUN_DEFINITIONS} - CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} - -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH} - "${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}" - "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}" - COMPILE_OUTPUT_VARIABLE OUTPUT) - # if it did not compile make the return value fail code of 1 - IF(NOT ${VAR}_COMPILED) - SET(${VAR}_EXITCODE 1) - ENDIF(NOT ${VAR}_COMPILED) - # if the return value was 0 then it worked - IF("${${VAR}_EXITCODE}" EQUAL 0) - SET(${VAR} 1 CACHE INTERNAL "Test ${VAR}") - MESSAGE(STATUS "Performing Test ${VAR} - Success") - FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log - "Performing C SOURCE FILE Test ${VAR} succeded with the following output:\n" - "${OUTPUT}\n" - "Return value: ${${VAR}}\n" - "Source file was:\n${SOURCE}\n") - ELSE("${${VAR}_EXITCODE}" EQUAL 0) - IF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN") - SET(${VAR} "${${VAR}_EXITCODE}") - ELSE(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN") - SET(${VAR} "" CACHE INTERNAL "Test ${VAR}") - ENDIF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN") - - MESSAGE(STATUS "Performing Test ${VAR} - Failed") - FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log - "Performing C SOURCE FILE Test ${VAR} failed with the following output:\n" - "${OUTPUT}\n" - "Return value: ${${VAR}_EXITCODE}\n" - "Source file was:\n${SOURCE}\n") - - ENDIF("${${VAR}_EXITCODE}" EQUAL 0) - ENDIF("${VAR}" MATCHES "^${VAR}$") -ENDMACRO(CHECK_C_FILE_RUNS) - diff --git a/cmake/FindLEMON.cmake b/cmake/FindLEMON.cmake index d72f45760..83c63c487 100644 --- a/cmake/FindLEMON.cmake +++ b/cmake/FindLEMON.cmake @@ -10,23 +10,23 @@ # # Originally based off of FindBISON.cmake from Kitware's CMake distribution # -# Copyright (c) 2010-2012 United States Government as represented by +# Copyright (c) 2010-2016 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. @@ -47,21 +47,136 @@ 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) +if (LEMON_EXECUTABLE) + if(NOT LEMON_TEMPLATE) + # look for the template, if we've not already been told where it is + if (DATA_DIR AND EXISTS "${DATA_DIR}/lemon/lempar.c") + find_file(LEMON_TEMPLATE lempar.c + PATHS "${DATA_DIR}/lemon/lempar.c" + NO_DEFAULT_PATH) + endif () + + # If the above did not succeed, check standard locations + get_filename_component(lemon_dir ${LEMON_EXECUTABLE} DIRECTORY) + find_file(LEMON_TEMPLATE lempar.c + PATHS "${lemon_dir}" "/usr/share/lemon" + NO_DEFAULT_PATH) + mark_as_advanced(LEMON_TEMPLATE) + endif() + + # We need a template to be able to use lemon correctly + if(NOT LEMON_TEMPLATE) + message(FATAL_ERROR "Failed to find lemon template file (lempar.c) - need to set LEMON_TEMPLATE") + endif() + + # Define the function + # LEMON_TARGET( + # []) + # which will create a custom rule to generate a parser. is + # the path to a lemon file. is the desired name for the + # generated source file. is the desired name for the + # generated header which contains the token list. Anything in the optional + # 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}) + # ==================================================================== + + include(CMakeParseArguments) + + if(NOT COMMAND LEMON_TARGET) + function(LEMON_TARGET Name LemonInput LemonOutput) + set(LT_ARGS DEFINES_FILE COMPILE_FLAGS) + cmake_parse_arguments(LEMON_TARGET_ARG "" "${LT_ARGS}" "" ${ARGN}) + + if(NOT "${LEMON_TARGET_ARG_COMPILE_FLAGS}" STREQUAL "") + set(LEMON_EXECUTABLE_opts "${LEMON_TARGET_ARG_COMPILE_FLAGS}") + separate_arguments(LEMON_EXECUTABLE_opts) + else() + set(LEMON_EXECUTABLE_opts "") + endif() + + # check for LemonOutput + get_filename_component(_basename ${LemonOutput} NAME_WE) + get_filename_component(_out_src_file ${LemonOutput} NAME) + get_filename_component(_out_dir ${LemonOutput} PATH) + if(NOT "${_out_dir}" STREQUAL "") + message(WARNING "Full path specified for LemonOutput - should be filename only") + endif() + + # set report file + set(_out_rpt_file "${_basename}.out") + + # check for DEFINES_FILE + if ("${LEMON_TARGET_ARG_DEFINES_FILE}" STREQUAL "") + set(_out_hdr_file "${_basename}.h") + else() + get_filename_component(_out_dir ${LEMON_TARGET_ARG_DEFINES_FILE} PATH) + get_filename_component(_out_hdr_file ${LEMON_TARGET_ARG_DEFINES_FILE} NAME) + if(NOT "${_out_dir}" STREQUAL "") + message(WARNING "Full path specified for DEFINES_FILE - should be filename only") + endif() + endif() + + # input file + get_filename_component(_in_y_path ${LemonInput} ABSOLUTE) + get_filename_component(_in_y_file ${LemonInput} NAME) + + # Stage the source file in the binary directory for lemon. We need to make + # sure it's fully copied, so use a sentinel guard + add_custom_command( + OUTPUT ${_in_y_file} + COMMAND ${CMAKE_COMMAND} -E copy ${_in_y_path} ${CMAKE_CURRENT_BINARY_DIR} + ) + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_in_y_file}.sentinel + COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${_in_y_file}.sentinel + DEPENDS ${_in_y_file} + ) + add_custom_target(${Name}_input_cpy DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_in_y_file}.sentinel) + + # execute lemon + add_custom_command( + OUTPUT ${_out_src_file} ${_basename}.h + COMMAND ${LEMON_EXECUTABLE} -T${LEMON_TEMPLATE} ${LEMON_EXECUTABLE_opts} ${_in_y_file} + DEPENDS ${Name}_input_cpy + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "[LEMON][${Name}] Building parser with ${LEMON_EXECUTABLE}" + ) + + # rename the header + add_custom_command( + OUTPUT ${_out_hdr_file} + COMMAND ${CMAKE_COMMAND} ARGS -E rename ${_basename}.h ${_out_hdr_file} + DEPENDS ${_out_src_file} ${_basename}.h + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) + + # set the return values + # TODO: for generated sources even headers should be target dependencies + set(LEMON_${Name}_DEFINED TRUE PARENT_SCOPE) + set(LEMON_${Name}_OUTPUT_HEADER "${CMAKE_CURRENT_BINARY_DIR}/${_out_hdr_file}" PARENT_SCOPE) + set(LEMON_${Name}_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}" PARENT_SCOPE) + set(LEMON_${Name}_OUTPUTS "${_out_src_file}" PARENT_SCOPE) + + # TODO - remove once perplex goes away... + add_custom_target(${Name} DEPENDS ${_out_hdr_file}) + + # make sure we clean up generated output and copied input + set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${_out_src_file}") + set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_in_y_file}") + + endfunction(LEMON_TARGET) + endif(NOT COMMAND LEMON_TARGET) + +endif(LEMON_EXECUTABLE) + include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(LEMON DEFAULT_MSG LEMON_EXECUTABLE LEMON_TEMPLATE) -mark_as_advanced(LEMON_TEMPLATE) +find_package_handle_standard_args(LEMON REQUIRED_VARS LEMON_EXECUTABLE LEMON_TEMPLATE) #============================================================ # FindLEMON.cmake ends here diff --git a/cmake/FindPERPLEX.cmake b/cmake/FindPERPLEX.cmake index 13b0cdfeb..022a07666 100644 --- a/cmake/FindPERPLEX.cmake +++ b/cmake/FindPERPLEX.cmake @@ -10,23 +10,23 @@ # # Originally based off of FindBISON.cmake from Kitware's CMake distribution # -# Copyright (c) 2010-2012 United States Government as represented by +# Copyright (c) 2010-2016 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. @@ -68,6 +68,195 @@ include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(PERPLEX DEFAULT_MSG PERPLEX_EXECUTABLE PERPLEX_TEMPLATE) mark_as_advanced(PERPLEX_TEMPLATE) +# 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-2016 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) +#============================================================ + +include(CMakeParseArguments) + +if(NOT COMMAND PERPLEX_TARGET) + macro(PERPLEX_TARGET Name Input) + get_filename_component(IN_FILE_WE ${Input} NAME_WE) + set(PVAR_PREFIX ${Name}_${IN_FILE_WE}) + + if(${ARGC} GREATER 3) + CMAKE_PARSE_ARGUMENTS(${PVAR_PREFIX} "" "TEMPLATE;OUT_SRC_FILE;OUT_HDR_FILE;WORKING_DIR" "" ${ARGN}) + endif(${ARGC} GREATER 3) + + # Need a working directory + if("${${PVAR_PREFIX}_WORKING_DIR}" STREQUAL "") + set(${PVAR_PREFIX}_WORKING_DIR "${CMAKE_CURRENT_BINARY_DIR}/${PVAR_PREFIX}") + endif("${${PVAR_PREFIX}_WORKING_DIR}" STREQUAL "") + file(MAKE_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR}) + + # Set up intermediate and final output names + + # Output source file + if ("${${PVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "") + set(${PVAR_PREFIX}_OUT_SRC_FILE ${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.c) + else ("${${PVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "") + get_filename_component(specified_out_dir ${${PVAR_PREFIX}_OUT_SRC_FILE} PATH) + if(NOT "${specified_out_dir}" STREQUAL "") + message(FATAL_ERROR "\nFull path specified for OUT_SRC_FILE - should be filename only.\n") + endif(NOT "${specified_out_dir}" STREQUAL "") + set(${PVAR_PREFIX}_OUT_SRC_FILE ${${PVAR_PREFIX}_WORKING_DIR}/${${PVAR_PREFIX}_OUT_SRC_FILE}) + endif ("${${PVAR_PREFIX}_OUT_SRC_FILE}" STREQUAL "") + + # Output header file + if ("${${PVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "") + set(${PVAR_PREFIX}_OUT_HDR_FILE ${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.h) + else ("${${PVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "") + get_filename_component(specified_out_dir ${${PVAR_PREFIX}_OUT_HDR_FILE} PATH) + if(NOT "${specified_out_dir}" STREQUAL "") + message(FATAL_ERROR "\nFull path specified for OUT_HDR_FILE - should be filename only.\n") + endif(NOT "${specified_out_dir}" STREQUAL "") + set(${PVAR_PREFIX}_OUT_HDR_FILE ${${PVAR_PREFIX}_WORKING_DIR}/${${PVAR_PREFIX}_OUT_HDR_FILE}) + endif ("${${PVAR_PREFIX}_OUT_HDR_FILE}" STREQUAL "") + + # input file + get_filename_component(in_full ${Input} ABSOLUTE) + if("${in_full}" STREQUAL "${Input}") + set(perplex_in_file ${Input}) + else("${in_full}" STREQUAL "${Input}") + set(perplex_in_file "${CMAKE_CURRENT_SOURCE_DIR}/${Input}") + endif("${in_full}" STREQUAL "${Input}") + + # Intermediate file + set(re2c_src "${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE_WE}.re") + + # Make sure we have a template + if ("${${PVAR_PREFIX}_TEMPLATE}" STREQUAL "") + if(PERPLEX_TEMPLATE) + set(${PVAR_PREFIX}_TEMPLATE ${PERPLEX_TEMPLATE}) + else(PERPLEX_TEMPLATE) + message(FATAL_ERROR "\nNo Perplex template file specified - please specify the file using the PERPLEX_TEMPLATE variable:\ncmake .. -DPERPLEX_TEMPLATE=/path/to/template_file.c\n") + endif(PERPLEX_TEMPLATE) + endif ("${${PVAR_PREFIX}_TEMPLATE}" STREQUAL "") + + get_filename_component(IN_FILE ${Input} NAME) + add_custom_command( + OUTPUT ${re2c_src} ${${PVAR_PREFIX}_OUT_HDR_FILE} ${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE} + COMMAND ${CMAKE_COMMAND} -E copy ${perplex_in_file} ${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE} + COMMAND ${PERPLEX_EXECUTABLE} -c -o ${re2c_src} -i ${${PVAR_PREFIX}_OUT_HDR_FILE} -t ${${PVAR_PREFIX}_TEMPLATE} ${${PVAR_PREFIX}_WORKING_DIR}/${IN_FILE} + DEPENDS ${Input} ${${PVAR_PREFIX}_TEMPLATE} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET} + WORKING_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR} + COMMENT "[PERPLEX][${Name}] Generating re2c input with ${PERPLEX_EXECUTABLE}" + ) + + if(NOT DEBUGGING_GENERATED_SOURCES) + add_custom_command( + OUTPUT ${${PVAR_PREFIX}_OUT_SRC_FILE} + COMMAND ${RE2C_EXECUTABLE} --no-debug-info --no-generation-date -c -o ${${PVAR_PREFIX}_OUT_SRC_FILE} ${re2c_src} + DEPENDS ${Input} ${re2c_src} ${${PVAR_PREFIX}_OUT_HDR_FILE} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET} + WORKING_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR} + COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}" + ) + else(NOT DEBUGGING_GENERATED_SOURCES) + add_custom_command( + OUTPUT ${${PVAR_PREFIX}_OUT_SRC_FILE} + COMMAND ${RE2C_EXECUTABLE} --no-generation-date -c -o ${${PVAR_PREFIX}_OUT_SRC_FILE} ${re2c_src} + DEPENDS ${Input} ${re2c_src} ${${PVAR_PREFIX}_OUT_HDR_FILE} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET} + WORKING_DIRECTORY ${${PVAR_PREFIX}_WORKING_DIR} + COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}" + ) + endif(NOT DEBUGGING_GENERATED_SOURCES) + + set(PERPLEX_${Name}_DEFINED TRUE) + set(PERPLEX_${Name}_SRC ${${PVAR_PREFIX}_OUT_SRC_FILE}) + set(PERPLEX_${Name}_HDR ${${PVAR_PREFIX}_OUT_HDR_FILE}) + set(PERPLEX_${Name}_INCLUDE_DIR ${${PVAR_PREFIX}_WORKING_DIR}) + + add_custom_command( + OUTPUT ${${PVAR_PREFIX}_WORKING_DIR}/${Name}.sentinel + COMMAND ${CMAKE_COMMAND} -E touch ${${PVAR_PREFIX}_WORKING_DIR}/${Name}.sentinel + DEPENDS ${${PVAR_PREFIX}_OUT_SRC_FILE} ${${PVAR_PREFIX}_OUT_HDR_FILE} + ) + add_custom_target(${Name} DEPENDS ${${PVAR_PREFIX}_WORKING_DIR}/${Name}.sentinel) + + endmacro(PERPLEX_TARGET) +endif(NOT COMMAND PERPLEX_TARGET) + +#============================================================ +# ADD_PERPLEX_LEMON_DEPENDENCY (public macro) +#============================================================ +if(NOT COMMAND ADD_PERPLEX_LEMON_DEPENDENCY) + macro(ADD_PERPLEX_LEMON_DEPENDENCY PERPLEXTarget LemonTarget) + + if(NOT PERPLEX_${PERPLEXTarget}_SRC) + message(SEND_ERROR "PERPLEX target `${PERPLEXTarget}' does not exists.") + endif() + + if(NOT TARGET ${LemonTarget}) + message(SEND_ERROR "Lemon target `${LemonTarget}' does not exists.") + endif() + + set_source_files_properties(${PERPLEX_${PERPLEXTarget}_SRC} + PROPERTIES OBJECT_DEPENDS ${LEMON_${LemonTarget}_OUTPUT_HEADER}) + endmacro(ADD_PERPLEX_LEMON_DEPENDENCY) +endif(NOT COMMAND ADD_PERPLEX_LEMON_DEPENDENCY) + #============================================================ # FindPERPLEX.cmake ends here diff --git a/cmake/FindRE2C.cmake b/cmake/FindRE2C.cmake index e80a32271..cab426eef 100644 --- a/cmake/FindRE2C.cmake +++ b/cmake/FindRE2C.cmake @@ -6,5 +6,169 @@ find_program(RE2C_EXECUTABLE re2c DOC "path to the re2c executable") mark_as_advanced(RE2C_EXECUTABLE) +if(RE2C_EXECUTABLE) + + execute_process(COMMAND ${RE2C_EXECUTABLE} -v + OUTPUT_VARIABLE RE2C_version_output + ERROR_VARIABLE RE2C_version_error + RESULT_VARIABLE RE2C_version_result + OUTPUT_STRIP_TRAILING_WHITESPACE) + + if(NOT ${RE2C_version_result} EQUAL 0) + message(SEND_ERROR + "Command \"${RE2C_EXECUTABLE} -v\" failed with output:\n${RE2C_version_output}\n${RE2C_version_error}") + else() + string(REGEX REPLACE "^re2c ([0-9]+[^ ]*)( .*)?$" "\\1" RE2C_VERSION "${RE2C_version_output}") + endif() + + # Provide a macro to generate custom build rules: + + # RE2C_TARGET(Name RE2CInput RE2COutput [COMPILE_FLAGS ]) + # which creates a custom command to generate the file from + # the file. If COMPILE_FLAGS option is specified, the next + # parameter is added to the re2c command line. Name is an alias used to + # get details of this custom command. + + # This module also defines a macro: + # ADD_RE2C_LEMON_DEPENDENCY(RE2CTarget LemonTarget) + # which adds the required dependency between a scanner and a parser + # where and are the first parameters of + # respectively RE2C_TARGET and LEMON_TARGET macros. + # + # ==================================================================== + # Example: + # + # find_package(LEMON) + # find_package(RE2C) + # + # LEMON_TARGET(MyParser parser.y "${CMAKE_CURRENT_BINARY_DIR}/parser.cpp") + # RE2C_TARGET(MyScanner scanner.re "${CMAKE_CURRENT_BINARY_DIR}/scanner.cpp") + # ADD_RE2C_LEMON_DEPENDENCY(MyScanner MyParser) + # + # include_directories("${CMAKE_CURRENT_BINARY_DIR}") + # add_executable(Foo + # Foo.cc + # ${LEMON_MyParser_OUTPUTS} + # ${RE2C_MyScanner_OUTPUTS} + # ) + # ==================================================================== + # + #============================================================================= + # Copyright (c) 2010-2016 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. + #============================================================================= + + #============================================================ + # RE2C_TARGET (public macro) + #============================================================ + # + if(NOT COMMAND RE2C_TARGET) + function(RE2C_TARGET Name RE2CInput RE2COutput) + set(_re2c_args COMPILE_FLAGS DEFINES_FILE) + cmake_parse_arguments(RE2C_TARGET_ARG "" "${_re2c_args}" "" ${ARGN}) + + if(NOT "${RE2C_TARGET_ARG_UNPARSED_ARGUMENTS}" STREQUAL "") + message(SEND_ERROR "RE2C_TARGET( + [COMPILE_FLAGS ] + [DEFINES_FILE ])") + else() + if(NOT "${RE2C_TARGET_ARG_COMPILE_FLAGS}" STREQUAL "") + set(RE2C_EXECUTABLE_opts "${RE2C_TARGET_ARG_COMPILE_FLAGS}") + separate_arguments(RE2C_EXECUTABLE_opts) + else() + set(RE2C_EXECUTABLE_opts "") + endif() + + if(NOT "${RE2C_TARGET_ARG_DEFINES_FILE}" STREQUAL "") + list(APPEND RE2C_EXECUTABLE_opts -t ${RE2C_TARGET_ARG_DEFINES_FILE}) + endif() + + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${RE2COutput} + COMMAND ${RE2C_EXECUTABLE} + ARGS ${RE2C_EXECUTABLE_opts} -o ${RE2COutput} ${CMAKE_CURRENT_SOURCE_DIR}/${RE2CInput} + DEPENDS ${RE2CInput} + COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) + + # TODO: check, for generated sources headers should be included in outputs + set(RE2C_${Name}_DEFINED TRUE PARENT_SCOPE) + set(RE2C_${Name}_OUTPUTS ${RE2COutput} PARENT_SCOPE) + if("${RE2C_TARGET_ARG_DEFINES_FILE}" STREQUAL "") + set(RE2C_${Name}_OUTPUT_HEADER "" PARENT_SCOPE) + else() + set(RE2C_${Name}_OUTPUT_HEADER "${RE2C_TARGET_ARG_DEFINES_FILE}" PARENT_SCOPE) + endif() + set(RE2C_${Name}_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}" PARENT_SCOPE) + endif() + + endfunction(RE2C_TARGET) + endif(NOT COMMAND RE2C_TARGET) + #============================================================ + + #============================================================ + # ADD_RE2C_LEMON_DEPENDENCY (public macro) + #============================================================ + # + if(NOT COMMAND ADD_RE2C_LEMON_DEPENDENCY) + function(ADD_RE2C_LEMON_DEPENDENCY RE2CTarget LemonTarget) + + if(NOT RE2C_${RE2CTarget}_OUTPUTS) + message(SEND_ERROR "RE2C target `${RE2CTarget}' does not exists.") + endif() + + if(NOT LEMON_${LemonTarget}_OUTPUT_HEADER) + message(SEND_ERROR "Lemon target `${LemonTarget}' does not exists.") + endif() + + set_source_files_properties(${RE2C_${RE2CTarget}_OUTPUTS} + PROPERTIES OBJECT_DEPENDS ${LEMON_${LemonTarget}_OUTPUT_HEADER}) + endfunction(ADD_RE2C_LEMON_DEPENDENCY) + endif(NOT COMMAND ADD_RE2C_LEMON_DEPENDENCY) + #============================================================ + +endif() + include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(RE2C DEFAULT_MSG RE2C_EXECUTABLE) +find_package_handle_standard_args(RE2C REQUIRED_VARS RE2C_EXECUTABLE + VERSION_VAR RE2C_VERSION) + +# RE2C_Util.cmake ends here + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 diff --git a/cmake/Generated_Source_Utils.cmake b/cmake/Generated_Source_Utils.cmake deleted file mode 100644 index 198112b1b..000000000 --- a/cmake/Generated_Source_Utils.cmake +++ /dev/null @@ -1,85 +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) - else(NOT "${${filevar}_md5}" STREQUAL "${baseline_${filevar}_md5}") - if("${warn}" STREQUAL "1") - message("${fileitem} OK") - endif("${warn}" STREQUAL "1") - 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 diff --git a/cmake/LEMON_Util.cmake b/cmake/LEMON_Util.cmake deleted file mode 100644 index 42a730b9b..000000000 --- a/cmake/LEMON_Util.cmake +++ /dev/null @@ -1,146 +0,0 @@ -# Defines the macro -# LEMON_TARGET( -# []) -# which will create a custom rule to generate a parser. is -# the path to a lemon file. is the desired name for the -# generated source file. is the desired name for the -# generated header which contains the token list. Anything in the optional -# 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 diff --git a/cmake/PERPLEX_Util.cmake b/cmake/PERPLEX_Util.cmake deleted file mode 100644 index 3aded4d90..000000000 --- a/cmake/PERPLEX_Util.cmake +++ /dev/null @@ -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 diff --git a/cmake/Path_Setup.cmake b/cmake/Path_Setup.cmake new file mode 100644 index 000000000..f5db3b411 --- /dev/null +++ b/cmake/Path_Setup.cmake @@ -0,0 +1,164 @@ +# Copyright (c) 2010-2020 United States Government as represented by +# the U.S. Army Research Laboratory. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. 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. +# +# 3. The name of the author may not be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + + +#--------------------------------------------------------------------- +# Define relative install locations. Don't set these if they have already +# been set by some other means (like a higher level CMakeLists.txt file +# including this one). + +# The location in which to install BRL-CAD executables. +if(NOT BIN_DIR) + set(BIN_DIR bin) +endif(NOT BIN_DIR) + +# Define a relative path that will "reset" a path back to +# the point before BIN_DIR was appended. This is primarily +# useful when working with generator expressions +unset(RBIN_DIR CACHE) +set(LBIN_DIR "${BIN_DIR}") +while (NOT "${LBIN_DIR}" STREQUAL "") + get_filename_component(LBDIR "${LBIN_DIR}" DIRECTORY) + set(LBIN_DIR "${LBDIR}") + if ("${RBIN_DIR}" STREQUAL "") + set(RBIN_DIR "..") + else ("${RBIN_DIR}" STREQUAL "") + set(RBIN_DIR "../${RBIN_DIR}") + endif ("${RBIN_DIR}" STREQUAL "") +endwhile (NOT "${LBIN_DIR}" STREQUAL "") + +# The location in which to install BRL-CAD libraries. +if(NOT LIB_DIR) + set(LIB_DIR lib) +endif(NOT LIB_DIR) +if(NOT LIBEXEC_DIR) + set(LIBEXEC_DIR libexec) +endif(NOT LIBEXEC_DIR) + +# The location in which to install BRL-CAD header files. +if(NOT INCLUDE_DIR) + set(INCLUDE_DIR include) +endif(NOT INCLUDE_DIR) + +# The location in which to install BRL-CAD data files +if(NOT DATA_DIR) + set(DATA_DIR share) +endif(NOT DATA_DIR) + +# The location in which to install BRL-CAD documentation files +if(NOT DOC_DIR) + set(DOC_DIR ${DATA_DIR}/doc) +endif(NOT DOC_DIR) + +# The location in which to install BRL-CAD Manual pages +if(NOT MAN_DIR) + set(MAN_DIR ${DATA_DIR}/man) +endif(NOT MAN_DIR) + +# Make sure no absolute paths have been supplied to these variables +set(INSTALL_DIRS BIN INCLUDE LIB LIBEXEC DATA MAN DOC) +foreach(instdir ${INSTALL_DIRS}) + get_filename_component(instdir_full ${${instdir}_DIR} ABSOLUTE) + if("${${instdir}_DIR}" STREQUAL "${instdir_full}") + message(FATAL_ERROR "Error - absolute path supplied for ${instdir}_DIR. This path must be relative - e.g. \"bin\" instead of \"/usr/bin\"") + set(HAVE_INSTALL_DIR_FULL_PATH 1) + endif("${${instdir}_DIR}" STREQUAL "${instdir_full}") +endforeach(instdir ${INSTALL_DIRS}) + +#--------------------------------------------------------------------- +# Output directories - this is where built library and executable +# files will be placed after building but prior to install. The +# necessary variables change between single and multi configuration +# build systems, so it is necessary to handle both cases on a +# conditional basis. + +if(NOT CMAKE_CONFIGURATION_TYPES) + # If we're not doing multi-configuration, just set the three main + # variables to the correct values. + if(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${${PROJECT_NAME}_BINARY_DIR}/${LIB_DIR} 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 ${${PROJECT_NAME}_BINARY_DIR}/${LIB_DIR} 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 ${${PROJECT_NAME}_BINARY_DIR}/${BIN_DIR} CACHE INTERNAL "Single output directory for building all executables.") + endif(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY) +else(NOT CMAKE_CONFIGURATION_TYPES) + # Multi-configuration is more difficult. Not only do we need to + # properly set the output directories, but we also need to + # identify the "toplevel" directory for each configuration so + # we can place files, documentation, etc. in the correct + # relative positions. Because files may be placed by CMake + # without a build target to put them in their proper relative build + # directory position using these paths, we must fully qualify them + # without using CMAKE_CFG_INTDIR. + # + # We define directories that may not be quite "standard" + # for a particular build tool - for example, native VS2010 projects use + # another directory to denote CPU type being compiled for - but CMake only + # supports multi-configuration setups having multiple configurations, + # not multiple compilers. + # + # One additional wrinkle we must watch for here is the case where + # a multi-configuration setup uses "." for its internal directory - + # if that's the case, we need to just set the various config output + # directories to the same value. + set(CFG_ROOT ${${PROJECT_NAME}_BINARY_DIR}) + foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES}) + if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".") + set(CFG_ROOT ${${PROJECT_NAME}_BINARY_DIR}/${CFG_TYPE}) + endif(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".") + string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER) + if(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}) + set("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}" ${CFG_ROOT}/${LIB_DIR} CACHE INTERNAL "Single output directory for building ${CFG_TYPE} libraries.") + endif(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}) + if(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}) + set("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}" ${CFG_ROOT}/${LIB_DIR} CACHE INTERNAL "Single output directory for building ${CFG_TYPE} archives.") + endif(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}) + if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}) + set("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}" ${CFG_ROOT}/${BIN_DIR} CACHE INTERNAL "Single output directory for building ${CFG_TYPE} executables.") + endif(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE_UPPER}) + if(NOT DEFINED CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}) + set("CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}" ${CFG_ROOT} CACHE INTERNAL "Toplevel binary dir for ${CFG_TYPE} building.") + endif(NOT DEFINED CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}) + if(NOT DEFINED ${PROJECT_NAME}_BINARY_DIR_${CFG_TYPE_UPPER}) + set("${PROJECT_NAME}_BINARY_DIR_${CFG_TYPE_UPPER}" ${CFG_ROOT} CACHE INTERNAL "Toplevel binary dir for ${CFG_TYPE} building.") + endif(NOT DEFINED ${PROJECT_NAME}_BINARY_DIR_${CFG_TYPE_UPPER}) + endforeach() +endif(NOT CMAKE_CONFIGURATION_TYPES) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 diff --git a/cmake/SC_CXX_schema_macros.cmake b/cmake/SC_CXX_schema_macros.cmake new file mode 100644 index 000000000..eab9174a7 --- /dev/null +++ b/cmake/SC_CXX_schema_macros.cmake @@ -0,0 +1,136 @@ +# macros to be used in the CMakeLists generated by the schema scanner + +# uses SC_GENERATE_CXX_ONESHOT - if true, files will only be generated once. this is useful when debugging and modifying code, not otherwise. TODO: print a warning when set +if(NOT DEFINED SC_GENERATE_CXX_ONESHOT) + set(SC_GENERATE_CXX_ONESHOT FALSE) +endif(NOT DEFINED SC_GENERATE_CXX_ONESHOT) + +# find all part 21 files in schema dir, add a test for each one +macro(P21_TESTS sfile) + get_filename_component(SCHEMA_DIR ${sfile} PATH) + file(GLOB_RECURSE P21_FILES ${SCHEMA_DIR}/*.stp ${SCHEMA_DIR}/*.step ${SCHEMA_DIR}/*.p21 ${SCHEMA_DIR}/*.ifc) + foreach(TEST_FILE ${P21_FILES}) + get_filename_component(FNAME ${TEST_FILE} NAME_WE) + add_test(NAME read_write_cpp_${PROJECT_NAME}_${FNAME} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND p21read_${PROJECT_NAME} ${TEST_FILE}) + set_tests_properties(read_write_cpp_${PROJECT_NAME}_${FNAME} PROPERTIES DEPENDS build_cpp_${PROJECT_NAME} LABELS cpp_schema_rw) + if(NOT WIN32) + add_test(NAME read_lazy_cpp_${PROJECT_NAME}_${FNAME} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND lazy_${PROJECT_NAME} ${TEST_FILE}) + set_tests_properties(read_lazy_cpp_${PROJECT_NAME}_${FNAME} PROPERTIES DEPENDS build_lazy_cpp_${PROJECT_NAME} LABELS cpp_schema_rw) + endif(NOT WIN32) + endforeach() +endmacro(P21_TESTS sfile) + +# create p21read_sdai_*, lazy_sdai_*, any exes listed in SC_SDAI_ADDITIONAL_EXES_SRCS +macro(SCHEMA_EXES) + RELATIVE_PATH_TO_TOPLEVEL(${CMAKE_CURRENT_SOURCE_DIR} RELATIVE_PATH_COMPONENT) + SC_ADDEXEC(p21read_${PROJECT_NAME} SOURCES "${RELATIVE_PATH_COMPONENT}/src/test/p21read/p21read.cc;${RELATIVE_PATH_COMPONENT}/src/test/p21read/sc_benchmark.cc" LINK_LIBRARIES ${PROJECT_NAME} stepdai stepcore stepeditor steputils TESTABLE) + if(NOT WIN32) + SC_ADDEXEC(lazy_${PROJECT_NAME} SOURCES "${RELATIVE_PATH_COMPONENT}/src/cllazyfile/lazy_test.cc;${RELATIVE_PATH_COMPONENT}/src/cllazyfile/sc_benchmark.cc" LINK_LIBRARIES ${PROJECT_NAME} steplazyfile stepdai stepcore stepeditor steputils TESTABLE) + 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} SOURCES ${src} LINK_LIBRARIES ${PROJECT_NAME} stepdai stepcore stepeditor steputils TESTABLE) + #set_target_properties(${name}_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${${PROJECT_NAME}_COMPILE_FLAGS} -I${path}") + endforeach(src ${SC_SDAI_ADDITIONAL_EXES_SRCS}) +ENDMACRO(SCHEMA_EXES) + + +# label the tests and set dependencies +macro(SCHEMA_TESTS) + add_test(NAME generate_cpp_${PROJECT_NAME} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target generate_cpp_${PROJECT_NAME} + --config $) + set_tests_properties(generate_cpp_${PROJECT_NAME} PROPERTIES LABELS cpp_schema_gen) + add_test(NAME build_cpp_${PROJECT_NAME} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target p21read_${PROJECT_NAME} + --config $) + set_tests_properties(build_cpp_${PROJECT_NAME} PROPERTIES DEPENDS generate_cpp_${PROJECT_NAME} LABELS cpp_schema_build) + 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 $) + set_tests_properties(build_lazy_cpp_${PROJECT_NAME} PROPERTIES DEPENDS build_cpp_${PROJECT_NAME} LABELS cpp_schema_build) + endif(NOT WIN32) +endmacro(SCHEMA_TESTS) + +# SCHEMA_TARGETS macro - +# expFile: path to express file +# schemaName: name of the schema +# sourceFiles: list of .cc and .h files +# +# create targets for the schema(s) in expFile +# targets include gen_cxx_*, sdai_cxx_*, p21read_*, lazyp21_*, ... +macro(SCHEMA_TARGETS expFile schemaName sourceFiles) + # schema scanner comes up with a short schema name for PROJECT() (which sets ${PROJECT_NAME}) + message(STATUS "Will generate ${${PROJECT_NAME}_file_count} C++ files for ${PROJECT_NAME}.") + + add_custom_target(generate_cpp_${PROJECT_NAME} DEPENDS exp2cxx ${expFile} ${sourceFiles} SOURCES ${sourceFiles}) + # this calls a cmake script because it doesn't seem to be possible + # to divert stdout, stderr in cmake except via execute_process + add_custom_command(OUTPUT ${sourceFiles} + COMMAND ${CMAKE_COMMAND} -DEXE=\"$\" -DEXP=\"${expFile}\" + -DONESHOT=\"${SC_GENERATE_CXX_ONESHOT}\" -DSDIR=\"${CMAKE_CURRENT_LIST_DIR}\" + -P ${SC_CMAKE_DIR}/SC_Run_exp2cxx.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + COMMENT "[exp2cxx] Generating ${${PROJECT_NAME}_file_count} C++ files for ${PROJECT_NAME}." + ) + include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} ${SC_SOURCE_DIR}/src/cldai ${SC_SOURCE_DIR}/src/cleditor + ${SC_SOURCE_DIR}/src/clutils ${SC_SOURCE_DIR}/src/clstepcore ${SC_SOURCE_DIR}/src/cllazyfile + ${SC_SOURCE_DIR}/src/cllazyfile/judy/src + ) + # if testing is enabled, "TESTABLE" sets property EXCLUDE_FROM_ALL and prevents installation + if(BUILD_SHARED_LIBS) + SC_ADDLIB(${PROJECT_NAME} SHARED SOURCES ${sourceFiles} LINK_LIBRARIES stepdai stepcore stepeditor steputils TESTABLE) + add_dependencies(${PROJECT_NAME} generate_cpp_${PROJECT_NAME}) + if(WIN32) + target_compile_definitions("${PROJECT_NAME}" PRIVATE SC_SCHEMA_DLL_EXPORTS) + if(MSVC) + target_compile_options("${PROJECT_NAME}" PRIVATE "/bigobj") + endif() + endif() + # TODO - ideally we would avoid generating code that triggers this warning, but figuring out + # how to do so is a non-trivial exercise. In the meantime, suppress the (very verbose) warnings + # we get due to this issue so it doesn't mask other problems. + if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU") + target_compile_options("${PROJECT_NAME}" PRIVATE "-Wno-ignored-qualifiers") + endif() + endif() + + if($CACHE{SC_BUILD_STATIC_LIBS}) + SC_ADDLIB(${PROJECT_NAME}-static STATIC SOURCES ${sourceFiles} LINK_LIBRARIES stepdai-static stepcore-static stepeditor-static steputils-static TESTABLE) + add_dependencies(${PROJECT_NAME}-static generate_cpp_${PROJECT_NAME}) + target_compile_definitions("${PROJECT_NAME}-static" PRIVATE SC_STATIC) + if(MSVC) + target_compile_options("${PROJECT_NAME}-static" PRIVATE "/bigobj") + endif() + endif() + + + SCHEMA_EXES() + SCHEMA_TESTS() + P21_TESTS(${expFile}) + # TODO add test to verify that schema scanner output matches fedex_plus output + +endmacro(SCHEMA_TARGETS expFile schemaName sourceFiles) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/cmake/SC_Config_Headers.cmake b/cmake/SC_Config_Headers.cmake new file mode 100644 index 000000000..68f1c37ad --- /dev/null +++ b/cmake/SC_Config_Headers.cmake @@ -0,0 +1,90 @@ +# create config.h + +include(CheckLibraryExists) +include(CheckIncludeFile) +include(CheckSymbolExists) +include(CheckTypeSize) +include(CMakePushCheckState) +include(CheckCSourceCompiles) +include(CheckCXXSourceRuns) + +CHECK_INCLUDE_FILE(ndir.h HAVE_NDIR_H) +CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H) +CHECK_INCLUDE_FILE(sys/stat.h HAVE_SYS_STAT_H) +CHECK_INCLUDE_FILE(sys/param.h HAVE_SYS_PARAM_H) +CHECK_INCLUDE_FILE(sysent.h HAVE_SYSENT_H) +CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H) +CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H) +CHECK_INCLUDE_FILE(stdbool.h HAVE_STDBOOL_H) +CHECK_INCLUDE_FILE(process.h HAVE_PROCESS_H) +CHECK_INCLUDE_FILE(io.h HAVE_IO_H) + +# ensure macro functions are captured +CHECK_SYMBOL_EXISTS(abs "stdlib.h" HAVE_ABS) +CHECK_SYMBOL_EXISTS(memcpy "string.h" HAVE_MEMCPY) +CHECK_SYMBOL_EXISTS(memmove "string.h" HAVE_MEMMOVE) +CHECK_SYMBOL_EXISTS(getopt "getopt.h" HAVE_GETOPT) +CHECK_SYMBOL_EXISTS(snprintf "stdio.h" HAVE_SNPRINTF) +CHECK_SYMBOL_EXISTS(vsnprintf "stdio.h" HAVE_VSNPRINTF) + +CHECK_TYPE_SIZE("ssize_t" SSIZE_T) + +if(SC_ENABLE_CXX11) + set( TEST_STD_THREAD " +#include +#include +void do_work() {std::cout << \"thread\" << std::endl;} +int main() {std::thread t(do_work);t.join();} + " ) + cmake_push_check_state() + if( UNIX ) + set( CMAKE_REQUIRED_FLAGS "-pthread -std=c++11" ) + else( UNIX ) + # vars probably need set for embarcadero, etc + endif( UNIX ) + CHECK_CXX_SOURCE_RUNS( "${TEST_STD_THREAD}" HAVE_STD_THREAD ) #quotes are *required*! + cmake_pop_check_state() + + set( TEST_STD_CHRONO " +#include +#include +int main() { +std::chrono::seconds sec(1); +std::cout << \"1s is \"<< std::chrono::duration_cast(sec).count() << \" ms\" << std::endl; +} + " ) + cmake_push_check_state() + if( UNIX ) + set( CMAKE_REQUIRED_FLAGS "-std=c++11" ) + else( UNIX ) + # vars probably need set for embarcadero, etc + endif( UNIX ) + CHECK_CXX_SOURCE_RUNS( "${TEST_STD_CHRONO}" HAVE_STD_CHRONO ) #quotes are *required*! + cmake_pop_check_state() + + set( TEST_NULLPTR " +#include +std::nullptr_t f() {return nullptr;} +int main() {return !(f() == f());} + " ) + cmake_push_check_state() + if( UNIX ) + set( CMAKE_REQUIRED_FLAGS "-std=c++11" ) + else( UNIX ) + # vars probably need set for embarcadero, etc + endif( UNIX ) + CHECK_CXX_SOURCE_RUNS( "${TEST_NULLPTR}" HAVE_NULLPTR ) #quotes are *required*! + cmake_pop_check_state() +endif(SC_ENABLE_CXX11) + +# Now that all the tests are done, configure the config.h file: +configure_file(${CMAKE_SOURCE_DIR}/include/config.h.in ${SC_BINARY_DIR}/${INCLUDE_DIR}/config.h.gen) +execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SC_BINARY_DIR}/${INCLUDE_DIR}/config.h.gen ${SC_BINARY_DIR}/${INCLUDE_DIR}/config.h) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/cmake/SC_Locale.cmake b/cmake/SC_Locale.cmake new file mode 100644 index 000000000..f04a5865d --- /dev/null +++ b/cmake/SC_Locale.cmake @@ -0,0 +1,22 @@ +# Save the current LC_ALL, LC_MESSAGES, and LANG environment variables and set them +# to "C" so things like date output are as expected +set(_orig_lc_all $ENV{LC_ALL}) +set(_orig_lc_messages $ENV{LC_MESSAGES}) +set(_orig_lang $ENV{LANG}) +if(_orig_lc_all) + set(ENV{LC_ALL} C) +endif(_orig_lc_all) +if(_orig_lc_messages) + set(ENV{LC_MESSAGES} C) +endif(_orig_lc_messages) +if(_orig_lang) + set(ENV{LANG} C) +endif(_orig_lang) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/cmake/SC_Outdirs.cmake b/cmake/SC_Outdirs.cmake new file mode 100644 index 000000000..49547d013 --- /dev/null +++ b/cmake/SC_Outdirs.cmake @@ -0,0 +1,30 @@ +# in its own file so that it can be used by the schema scanner as well +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) +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() + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/cmake/SC_Paths.cmake b/cmake/SC_Paths.cmake new file mode 100644 index 000000000..29f1a81f1 --- /dev/null +++ b/cmake/SC_Paths.cmake @@ -0,0 +1,93 @@ +macro(REVERSE_PATH in_path out_path drive_path) + set(reversed_path) + set(tmp_subpath "${in_path}") + while(NOT "${tmp_subpath}" STREQUAL "" AND NOT "${tmp_subpath}" STREQUAL "/") + get_filename_component(piece "${tmp_subpath}" NAME) + get_filename_component(tmp_subpath "${tmp_subpath}" PATH) + if(piece) + set(reversed_path "${reversed_path}/${piece}") + else(piece) + set(${drive_path} ${tmp_subpath}) + set(tmp_subpath) + endif(piece) + endwhile(NOT "${tmp_subpath}" STREQUAL "" AND NOT "${tmp_subpath}" STREQUAL "/") + set("${out_path}" "${reversed_path}") +endmacro(REVERSE_PATH) + +macro(GET_COMMON_ROOT_PATH dir1 dir2 common_subpath) + get_filename_component(testpath "${dir1}" REALPATH) + set(dir1_rev) + set(dir2_rev) + REVERSE_PATH("${dir1}" dir1_rev drive_name_1) + REVERSE_PATH("${dir2}" dir2_rev drive_name_2) + if("${drive_name_1}" STREQUAL "${drive_name_2}") + set(component_same 1) + set(${common_subpath}) + while(component_same) + get_filename_component(piece1 "${dir1_rev}" NAME) + get_filename_component(dir1_rev "${dir1_rev}" PATH) + get_filename_component(piece2 "${dir2_rev}" NAME) + get_filename_component(dir2_rev "${dir2_rev}" PATH) + if("${piece1}" STREQUAL "${piece2}") + set(${common_subpath} "${${common_subpath}}/${piece1}") + else("${piece1}" STREQUAL "${piece2}") + set(component_same 0) + endif("${piece1}" STREQUAL "${piece2}") + endwhile(component_same) + if(drive_name_1) + set(${common_subpath} "${drive_name_1}${${common_subpath}}") + string(REPLACE "//" "/" ${common_subpath} "${${common_subpath}}") + endif(drive_name_1) + endif("${drive_name_1}" STREQUAL "${drive_name_2}") +endmacro(GET_COMMON_ROOT_PATH) + + +macro(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path) + set(common_root_path) + GET_COMMON_ROOT_PATH("${SC_SOURCE_DIR}" "${current_dir}" common_root_path) + string(REPLACE "${common_root_path}" "" subpath "${current_dir}") + string(REPLACE "${common_root_path}" "" needed_src_path "${SC_SOURCE_DIR}") + string(REGEX REPLACE "^/" "" subpath "${subpath}") + string(REGEX REPLACE "^/" "" needed_src_path "${needed_src_path}") + 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) + set(${rel_path} "${${rel_path}}/${needed_src_path}") + string(REPLACE "//" "/" ${rel_path} "${${rel_path}}") +endmacro(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path) + +macro(LOCATE_SCHEMA SCHEMA_FILE _res_var) + if(EXISTS "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}") #is it a path relative to build dir? + set(${_res_var} "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}") + elseif(EXISTS "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}") # path relative to STEPcode/data? + set(${_res_var} "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}") + elseif(EXISTS ${SCHEMA_FILE}) # already an absolute path + set(${_res_var} ${SCHEMA_FILE}) + else() + message(FATAL_ERROR "Cannot find ${CMAKE_BINARY_DIR}/${SCHEMA_FILE} or ${SC_SOURCE_DIR}/data/${SCHEMA_FILE}/*.exp or ${SCHEMA_FILE}") + endif() + + if(IS_DIRECTORY ${${_res_var}}) #if it is a dir, look for one .exp file inside + file(GLOB ${_res_var} ${${_res_var}}/*.exp) + endif() + + if(NOT EXISTS ${${_res_var}}) + message(FATAL_ERROR "Expected one express file. Found '${${_res_var}}' instead.") + endif() +endmacro(LOCATE_SCHEMA SCHEMA_FILE _res_var) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/cmake/SC_Regenerate.cmake b/cmake/SC_Regenerate.cmake new file mode 100644 index 000000000..cab3b049c --- /dev/null +++ b/cmake/SC_Regenerate.cmake @@ -0,0 +1,55 @@ +# The Express parser uses the tools 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. + +set(_valid_gen_states AUTO ON OFF) +set(_verbosity "QUIET") + +set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE + STRING "Use Perplex, RE2C and Lemon to generate C source code.") +set_property(CACHE SC_GENERATE_LEXER_PARSER PROPERTY STRINGS ${_valid_gen_states}) +string(TOUPPER "${SC_GENERATE_LEXER_PARSER}" SC_GENERATE_LEXER_PARSER) + +if(NOT "${SC_GENERATE_LEXER_PARSER}" IN_LIST _valid_gen_states) + message(WARNING "Unknown value ${SC_GENERATE_LEXER_PARSER} supplied for SC_GENERATE_LEXER_PARSER - 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() + +# If the generators have not been turned off, we need to check for them +if(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF") + # NOTE: lemon doesn't have a stable versioning system (it's always 1) + find_package(LEMON ${_verbosity}) + find_package(RE2C ${_verbosity}) + find_package(PERPLEX ${_verbosity}) + + if(LEMON_FOUND AND RE2C_FOUND) + set(SC_GENERATE_LP_SOURCES 1) + message(".. Found re2c, and lemon - can regenerate lexer/parser if necessary") + else() + if("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON") + message(FATAL_ERROR "\nSC_GENERATE_LEXER_PARSER set to ON, but couldn't find lemon/re2c") + else("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON") + set(SC_GENERATE_LP_SOURCES 0) + endif("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON") + endif() +else(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF") + set(SC_GENERATE_LP_SOURCES 0) +endif(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF") + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/cmake/SC_Run_exp2cxx.cmake b/cmake/SC_Run_exp2cxx.cmake new file mode 100644 index 000000000..dc4111f02 --- /dev/null +++ b/cmake/SC_Run_exp2cxx.cmake @@ -0,0 +1,25 @@ + +# if oneshot is true, don't run exp2cxx if source files exist. if schema.cc exists, assume others do +if(ONESHOT AND EXISTS "${SDIR}/schema.cc") + message("WARNING: SC_GENERATE_CXX_ONESHOT is enabled. If generated code has been modified, it will NOT be rewritten!") + message("This is ONLY for debugging STEPcode internals!") +else() + execute_process(COMMAND ${EXE} ${EXP} + WORKING_DIRECTORY ${SDIR} + RESULT_VARIABLE _res + OUTPUT_FILE exp2cxx_stdout.txt + ERROR_FILE exp2cxx_stderr.txt + ) + if(NOT "${_res}" STREQUAL "0") + message(FATAL_ERROR "${EXE} reported an error for ${EXP}.\nsee exp2cxx_stdout.txt and exp2cxx_stderr.txt in ${SDIR} for details.") + endif(NOT "${_res}" STREQUAL "0") + # TODO count number of lines in stdout/stderr and tell user? +endif() + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/cmake/SC_Targets.cmake b/cmake/SC_Targets.cmake new file mode 100644 index 000000000..cb2d11dd6 --- /dev/null +++ b/cmake/SC_Targets.cmake @@ -0,0 +1,91 @@ +macro(SC_ADDEXEC execname) + set(_addexec_opts NO_INSTALL TESTABLE) + set(_addexec_multikw SOURCES LINK_LIBRARIES) + string(TOUPPER "SC_ADDEXEC_${execname}_ARG" _arg_prefix) + cmake_parse_arguments(${_arg_prefix} "${_addexec_opts}" "" "${_addexec_multikw}" ${ARGN}) + + if(NOT DEFINED "${_arg_prefix}_SOURCES") + message(SEND_ERROR "SC_ADDEXEC usage error!") + endif() + + add_executable(${execname} ${${_arg_prefix}_SOURCES}) + + if(DEFINED "${_arg_prefix}_LINK_LIBRARIES") + foreach(_lib ${${_arg_prefix}_LINK_LIBRARIES}) + if($CACHE{SC_STATIC_UTILS}) + if(NOT $ STREQUAL "STATIC_LIBRARY") + message(SEND_ERROR "SC_ADDEXEC usage error - expected STATIC LINK_LIBRARIES targets (${_lib})") + endif() + endif() + target_link_libraries(${execname} ${_lib}) + endforeach() + endif() + + if(NOT ${_arg_prefix}_NO_INSTALL AND NOT ${_arg_prefix}_TESTABLE) + install(TARGETS ${execname} + RUNTIME DESTINATION ${BIN_DIR} + LIBRARY DESTINATION ${LIB_DIR} + ARCHIVE DESTINATION ${LIB_DIR} + ) + endif() + + if(NOT SC_ENABLE_TESTING AND ${_arg_prefix}_TESTABLE) + set_target_properties(${execname} PROPERTIES EXCLUDE_FROM_ALL ON) + endif() +endmacro() + +macro(SC_ADDLIB _addlib_target) + set(_addlib_opts SHARED STATIC NO_INSTALL TESTABLE) + set(_addlib_multikw SOURCES LINK_LIBRARIES) + string(TOUPPER "SC_ADDLIB_${libname}_ARG" _arg_prefix) + cmake_parse_arguments(${_arg_prefix} "${_addlib_opts}" "" "${_addlib_multikw}" ${ARGN}) + + if(NOT DEFINED ${_arg_prefix}_SOURCES) + message(SEND_ERROR "SC_ADDLIB usage error!") + endif() + + if(${_arg_prefix}_SHARED) + add_library(${_addlib_target} SHARED ${${_arg_prefix}_SOURCES}) + if(OPENBSD) + set_target_properties(${_addlib_target} PROPERTIES VERSION ${SC_VERSION_MAJOR}.${SC_VERSION_MINOR}) + else(OPENBSD) + set_target_properties(${_addlib_target} PROPERTIES VERSION ${SC_VERSION} SOVERSION ${SC_VERSION_MAJOR}) + endif(OPENBSD) + if(APPLE) + set_target_properties(${_addlib_target} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress") + endif(APPLE) + elseif(${_arg_prefix}_STATIC) + add_library(${_addlib_target} STATIC ${${_arg_prefix}_SOURCES}) + target_compile_definitions(${_addlib_target} PRIVATE SC_STATIC) + else() + message(SEND_ERROR "SC_ADDLIB usage error!") + endif() + + if(DEFINED ${_arg_prefix}_LINK_LIBRARIES) + foreach(_lib ${${_arg_prefix}_LINK_LIBRARIES}) + if(${_arg_prefix}_STATIC AND TARGET ${_lib}) + get_property(_libtype TARGET ${_lib} PROPERTY TYPE) + if(NOT ${_libtype} STREQUAL "STATIC_LIBRARY") + message(SEND_ERROR "SC_ADDLIB usage error - expected (static) LINK_LIBRARIES targets (${_lib})") + endif() + endif() + target_link_libraries(${_addlib_target} ${_lib}) + endforeach() + endif() + + if(NOT ${_arg_prefix}_NO_INSTALL AND NOT ${_arg_prefix}_TESTABLE) + install(TARGETS ${_addlib_target} + RUNTIME DESTINATION ${BIN_DIR} + LIBRARY DESTINATION ${LIB_DIR} + ARCHIVE DESTINATION ${LIB_DIR} + ) + endif() +endmacro() + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/cmake/SC_Utils.cmake b/cmake/SC_Utils.cmake deleted file mode 100644 index 402116c1e..000000000 --- a/cmake/SC_Utils.cmake +++ /dev/null @@ -1,133 +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) - add_library(${libname}-static STATIC ${srcslist}) - DEFINE_DLL_EXPORTS(${libname}-static) - if(NOT ${libs} MATCHES "NONE") - target_link_libraries(${libname}-static "${libslist}") - DEFINE_DLL_IMPORTS(${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) - EXCLUDE_OR_INSTALL( ${libname}-static "lib" "${ARGV3}" ) - if(APPLE) - set_target_properties(${libname}-static 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(${libname}-static PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS}) - ENDIF(BUILD_STATIC_LIBS AND NOT MSVC) - ENDIF(LOCAL_COMPILE_FLAGS) -ENDMACRO(SC_ADDLIB libname srcslist libslist) diff --git a/cmake/manage_generated.cmake.in b/cmake/manage_generated.cmake.in deleted file mode 100644 index fbfcd9abf..000000000 --- a/cmake/manage_generated.cmake.in +++ /dev/null @@ -1,100 +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(NOT cached_unchanged) - message(FATAL_ERROR "Cached generated sources do not match the MD5 hashes present in @BASELINE_INFORMATION_FILE@ - if updating cached sources, remember that the build enforces the requirement that associated MD5 hashes in @BASELINE_INFORMATION_FILE@ are current as well. Cached generated sources should not be directly edited.") - endif(NOT 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 diff --git a/cmake/sc_version_string.cmake b/cmake/sc_version_string.cmake deleted file mode 100644 index f2687dd42..000000000 --- a/cmake/sc_version_string.cmake +++ /dev/null @@ -1,58 +0,0 @@ -#use git for a pretty commit id -#uses 'git describe --tags', so tags are required in the repo -#create a tag with 'git tag ' and 'git push --tags' - -# http://stackoverflow.com/questions/3780667 -# http://www.cmake.org/pipermail/cmake/2009-February/027014.html - -#sc_version_string.h defines sc_version() which returns a pretty commit description and a build timestamp. - -set(SC_IS_SUBBUILD "@SC_IS_SUBBUILD@") - -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 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} ) - -set( vstring "//sc_version_string.h - written by cmake. Changes will be lost!\n" - "#ifndef SC_VERSION_STRING\n" - "#define SC_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* sc_version() {\n" - " return \"git commit id ${GIT_COMMIT_ID}, built at \" __TIME__ \" on \" __DATE__ \;\n" - "}\n\n" - "#endif\n" - ) - -file(WRITE sc_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 - 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) diff --git a/cmake/schema_scanner/CMakeLists.txt b/cmake/schema_scanner/CMakeLists.txt new file mode 100644 index 000000000..20968ddb0 --- /dev/null +++ b/cmake/schema_scanner/CMakeLists.txt @@ -0,0 +1,75 @@ +project(SC_SUBPROJECT_SCHEMA_SCANNER) +cmake_minimum_required(VERSION 3.12) + +if(NOT ("${CALLED_FROM}" STREQUAL "STEPCODE_CMAKELISTS" AND DEFINED SC_ROOT AND DEFINED SC_BUILDDIR)) + message(" ${CALLED_FROM} ${SC_ROOT} ${SC_BUILDDIR}") + message(FATAL_ERROR "This is not a truly independent project; it should be built during the STEPcode configuration stage.") +endif() + +# SC_ROOT: SC root dir +# SC_BUILDDIR: SC build dir, so generated headers can be found + +set(CMAKE_BUILD_TYPE Debug) + +# set all target location variables so that MSVC will put the executable the same place as other compilers +set(SC_BINARY_DIR ${SC_BUILDDIR}) +include(${CMAKE_CURRENT_SOURCE_DIR}/../SC_Outdirs.cmake) + +set(schema_scanner_src + ${SC_ROOT}/src/exp2cxx/genCxxFilenames.c + ${SC_ROOT}/src/exp2cxx/class_strings.c + ${SC_ROOT}/src/express/generated/expparse.c + ${SC_ROOT}/src/express/generated/expscan.c + ${SC_ROOT}/src/express/alg.c + ${SC_ROOT}/src/express/alloc.c + ${SC_ROOT}/src/express/caseitem.c + ${SC_ROOT}/src/express/dict.c + ${SC_ROOT}/src/express/entity.c + ${SC_ROOT}/src/express/error.c + ${SC_ROOT}/src/express/exp_kw.c + ${SC_ROOT}/src/express/expr.c + ${SC_ROOT}/src/express/express.c + ${SC_ROOT}/src/express/factory.c + ${SC_ROOT}/src/express/hash.c + ${SC_ROOT}/src/express/lexact.c + ${SC_ROOT}/src/express/linklist.c + ${SC_ROOT}/src/express/memory.c + ${SC_ROOT}/src/express/object.c + ${SC_ROOT}/src/express/info.c + ${SC_ROOT}/src/express/resolve.c + ${SC_ROOT}/src/express/resolve2.c + ${SC_ROOT}/src/express/schema.c + ${SC_ROOT}/src/express/scope.c + ${SC_ROOT}/src/express/stmt.c + ${SC_ROOT}/src/express/symbol.c + ${SC_ROOT}/src/express/type.c + ${SC_ROOT}/src/express/variable.c + ${CMAKE_CURRENT_SOURCE_DIR}/schemaScanner.cc + ) + +include_directories( + ${SC_ROOT}/include/ + ${SC_ROOT}/src/express/ + ${SC_ROOT}/src/express/generated + ${SC_ROOT}/src/exp2cxx + ${SC_BUILDDIR}/include + ) + +add_executable(schema_scanner ${schema_scanner_src}) + +if(MSVC) + # Disable warning for preferred usage of secure functions (example strcpy should be strcpy_s, ...) + target_compile_definitions(schema_scanner PUBLIC _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS) +else() + target_compile_options(schema_scanner PUBLIC -pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline -Wno-long-long) +endif() + +target_compile_definitions(schema_scanner PUBLIC SC_STATIC SCHEMA_SCANNER) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/cmake/schema_scanner/README b/cmake/schema_scanner/README new file mode 100644 index 000000000..8e0996f29 --- /dev/null +++ b/cmake/schema_scanner/README @@ -0,0 +1,10 @@ +README for STEPcode schema scanner +-------------- + +The files in this directory are for a schema scanner executable, built by CMake during the configuration stage. + +This scanner is used to determine the file names that exp2cxx will use. In CMake, all file names must be known before +configuration finishes - so it is necessary to parse the schemas early. + +This appears to be a standalone project to CMake, but it is intended to be built only as part of STEPcode. It is configured, +built, and executed during the configuration stage of STEPcode. diff --git a/cmake/schema_scanner/schemaScanner.cc b/cmake/schema_scanner/schemaScanner.cc new file mode 100644 index 000000000..e37238415 --- /dev/null +++ b/cmake/schema_scanner/schemaScanner.cc @@ -0,0 +1,365 @@ + +/** \file schemaScanner.cc + * This file, along with part of libexpress, are compiled (at configure time) + * into a static executable. This executable is a schema scanner that is used + * by CMake to determine what files exp2cxx will create. Otherwise, we'd need + * to use a few huge files - there is no other way to tell CMake what the + * generated files will be called. + */ + +/* WARNING + * If you modify this file, you must re-run cmake. It doesn't seem to be possible + * to re-run cmake automatically, as CMake's configure_file() gets confused by + * the '${' and '}' in writeLists() below. + */ + +extern "C" { +#define _XOPEN_SOURCE /* for S_IFDIR */ + +#include +#include +#include + +#include "expparse.h" +#include "expscan.h" +#include "express/scope.h" +#include "genCxxFilenames.h" + +#include + +#ifdef _WIN32 +# include +# define getcwd _getcwd +#else +# include +#endif +} + +#include +#include +#include +#include +#include + +int multiple_inheritance = 0; + +using std::string; +using std::stringstream; +using std::endl; +using std::ofstream; +using std::cerr; +using std::cout; + +/** \return true for types that exp2cxx won't generate code for */ +bool notGenerated( const Type t ) { + switch( TYPEget_body( t )->type ) { + case integer_: + case real_: + case string_: + case binary_: + case boolean_: + case number_: + case logical_: + case aggregate_: + case bag_: + case set_: + case list_: + case array_: + return true; + default: + break; + } + /* from addRenameTypedefs() in multpass.c - check for renamed + * enums and selects - exp2cxx prints typedefs for them */ + if( ( TYPEis_enumeration( t ) || TYPEis_select( t ) ) && ( TYPEget_head( t ) ) ) { + return true; + } + return false; +} + +/** \return a short name for the schema + * this name is intended to be unique, but no special care is put into its generation + * the official schema name seems most likely to not be unique, but it is generally the longest + * + * picks the shortest of: + * * the name of the dir containing the file (if in sc/data), + * * the name of the file containing the schema (minus extension), + * * the official name of the schema, passed in arg 'longName' + * + * TODO: maybe also consider an acronym, such that 'test_array_bounds_expr' becomes 'tabe', 'TABE', 'T_A_B_E', or similar + */ +string makeShortName( const char * longName ) { + //input_filename is path to file. we will extract dir name and file name from it. + string dirname = input_filename, filename = input_filename, schname = longName; + const char slash = '/'; + + //for filename, get rid of dir name(s), if any, as well as the extension + size_t sl = filename.rfind( slash ); + if( sl != string::npos ) { + filename.erase( 0, sl + 1 ); + } + size_t dot = filename.rfind( '.' ); + if( dot != string::npos ) { + filename.erase( dot ); + } + + //for dirname, get rid of the filename and ensure it's in data/ + sl = dirname.rfind( slash ); + if( sl != string::npos ) { + dirname.erase( sl ); + } + const char * dat = "data"; + size_t data = dirname.find( dat ); + if( ( data == string::npos ) || ( dirname[ data + strlen( dat ) ] != slash ) ) { + //doesn't contain 'data/'. clear it so it'll be ignored. + dirname.clear(); + } else { + //get rid of all but last dir name + dirname.erase( 0, dirname.rfind( slash ) + 1 ); + } + + //use dir name if it's at least 3 chars and shorter than file name + //length requirement gets rid of short, undescriptive dir names - including '.' and '..' + if( ( dirname.size() > 2 ) && ( dirname.size() < filename.size() ) ) { + filename = dirname; + } + if( strlen( longName ) < filename.size() ) { + filename = longName; + } + filename.insert( 0, "sdai_" ); + return filename; +} + +/* cross-platform mkdir */ +int sc_mkdir( const char * path ) { + #ifdef _WIN32 + return mkdir( path ); + #else + return mkdir( path, 0777 ); + #endif /* _WIN32 */ +} + +/* return -1 if error, 0 if created, 1 if dir existed already */ +static int mkDirIfNone( const char * path ) { + struct stat s; + if( stat( path, &s ) != 0 ) { + if( errno == ENOENT ) { + return sc_mkdir( path ); + } + } else if( s.st_mode & S_IFDIR ) { + return 1; + } + /* either stat returned an error other than ENOENT, or 'path' exists but isn't a dir */ + return -1; +} + + +/** write a CMakeLists.txt file for the schema; print its directory to stdout for CMake's add_subdirectory() command */ +void writeLists( const char * schemaName, stringstream & eh, stringstream & ei, int ecount, + stringstream & th, stringstream & ti, int tcount ) { + string shortName = makeShortName( schemaName ); + if( mkDirIfNone( shortName.c_str() ) < 0 ) { + cerr << "Error creating directory " << shortName << " at " << __FILE__ << ":" << __LINE__; + perror( 0 ); + exit( EXIT_FAILURE ); + } + size_t nameLen = strlen( schemaName ); + string schema_upper( nameLen, char() ); + for( size_t i = 0; i < nameLen; ++i) { + schema_upper[i] = toupper(schemaName[i]); + } + string cmListsPath = shortName; + cmListsPath += "/CMakeLists.txt"; + ofstream cmLists; + cmLists.open( cmListsPath.c_str() ); + if( !cmLists.good() ) { + cerr << "error opening file " << cmListsPath << " - exiting." << endl; + exit( EXIT_FAILURE ); + } + cmLists << "# ----- GENERATED FILE -----" << endl; + cmLists << "# ----- Do not edit! -----" << endl << endl; + + cmLists << "# schema name: " << schemaName << endl; + cmLists << "# (short name: " << shortName << ")" << endl; + cmLists << "# " << ecount << " entities, " << tcount << " types" << endl << endl; + + cmLists << "# targets, logic, etc are within a set of macros shared by all schemas" << endl; + cmLists << "include(${SC_CMAKE_DIR}/SC_CXX_schema_macros.cmake)" << endl; + + // * 2 for headers, + 10 other files + cmLists << "set(" << shortName << "_file_count " << ( ( ecount + tcount ) * 2 ) + 10 << ")" << endl << endl; + + + cmLists << "PROJECT(" << shortName << ")" << endl; + cmLists << "# list headers so they can be installed - entity, type, misc" << endl; + + cmLists << "set(" << shortName << "_entity_hdrs" << endl; + cmLists << eh.str(); + cmLists << " )" << endl << endl; + + cmLists << "set(" << shortName << "_type_hdrs" << endl; + cmLists << th.str(); + cmLists << " )" << endl << endl; + + cmLists << "set(" << shortName << "_misc_hdrs" << endl; + cmLists << " Sdaiclasses.h schema.h" << endl; + cmLists << " Sdai" << schema_upper << "Names.h" << endl; + cmLists << " Sdai" << schema_upper << ".h" << endl; + cmLists << " )" << endl << endl; + + cmLists << "# install all headers" << endl; + cmLists << "set(all_headers ${" << shortName << "_entity_hdrs} ${" << shortName << "_type_hdrs} ${" << shortName << "_misc_hdrs})" << endl; + cmLists << "foreach( header_file ${all_headers} )" << endl; + cmLists << " set(curr_dir)" << endl; + cmLists << " get_filename_component(curr_dir ${header_file} PATH)" << endl; + cmLists << " get_filename_component(curr_name ${header_file} NAME)" << endl; + cmLists << " if (curr_dir)" << endl; + cmLists << " install( FILES ${header_file} DESTINATION \"include/schemas/" << shortName << "/${curr_dir}\" )" << endl; + cmLists << " else (curr_dir)" << endl; + cmLists << " install( FILES ${header_file} DESTINATION \"include/schemas/" << shortName << "\" )" << endl; + cmLists << " endif (curr_dir)" << endl; + cmLists << "endforeach()" << endl; + + cmLists << "# implementation files - 3 lists" << endl << endl; + + cmLists << "# unity build: #include small .cc files to reduce the number" << endl; + cmLists << "# of translation units that must be compiled" << endl; + cmLists << "if(SC_UNITY_BUILD)" << endl << " # turns off include statements within type and entity .cc's - the unity T.U.'s include a unity header" << endl; + cmLists << " add_definitions( -DSC_SDAI_UNITY_BUILD)" << endl; + cmLists << " set(" << shortName << "_entity_impls Sdai" << schema_upper << "_unity_entities.cc)" << endl; + cmLists << " set(" << shortName << "_type_impls Sdai" << schema_upper << "_unity_types.cc)" << endl; + cmLists << "else(SC_UNITY_BUILD)" << endl; + cmLists << " set(" << shortName << "_entity_impls" << endl; + cmLists << ei.str(); + cmLists << " )" << endl << endl; + + cmLists << " set(" << shortName << "_type_impls" << endl; + cmLists << ti.str(); + cmLists << " )" << endl; + cmLists << "endif(SC_UNITY_BUILD)" << endl << endl; + + cmLists << "set( " << shortName << "_misc_impls" << endl; + cmLists << " SdaiAll.cc compstructs.cc schema.cc" << endl; + cmLists << " Sdai" << schema_upper << ".cc" << endl; + cmLists << " Sdai" << schema_upper << ".init.cc )" << endl << endl; + + cmLists << "set(schema_target_files ${" << shortName << "_entity_impls} " << "${" << shortName << "_type_impls} " << "${" << shortName << "_misc_impls})" << endl; + cmLists << "SCHEMA_TARGETS(\"" << input_filename << "\" \"" << schemaName << "\"" << endl; + cmLists << " \"${schema_target_files}\")" << endl; + + cmLists.close(); + + char pwd[BUFSIZ+1] = {0}; + if( getcwd( pwd, BUFSIZ ) ) { + cout << pwd << "/" << shortName << endl; + } else { + cerr << "Error encountered by getcwd() for " << shortName << " - exiting. Error was "; + perror( 0 ); + exit( EXIT_FAILURE ); + } +} + +void printSchemaFilenames( Schema sch ){ + const int numColumns = 2; + const int colWidth = 75; + const char * tab = " "; + + stringstream typeHeaders, typeImpls, entityHeaders, entityImpls; + typeHeaders << tab; + typeImpls << tab; + entityHeaders << tab; + entityImpls << tab; + + int ecount = 0, tcount = 0; + + DictionaryEntry de; + void *x; + filenames_t fn; + DICTdo_init( sch->symbol_table, &de ); + while( 0 != ( x = DICTdo( &de ) ) ) { + switch( DICT_type ) { + case OBJ_ENTITY: + fn = getEntityFilenames( ( Entity ) x ); + entityHeaders << std::left << std::setw( colWidth ) << fn.header << " "; + entityImpls << std::left << std::setw( colWidth ) << fn.impl << " "; + ++ecount; + if( ( ecount % numColumns ) == 0 ) { + // columns + entityHeaders << endl << tab; + entityImpls << endl << tab; + } + break; + case OBJ_TYPE: { + Type t = ( Type ) x; + if( TYPEis_enumeration( t ) && ( TYPEget_head( t ) ) ) { + /* t is a renamed enum type, for which exp2cxx + * will print a typedef in an existing file */ + break; + } + if( notGenerated( t ) ) { + /* skip builtin types */ + break; + } + fn = getTypeFilenames( t ); + typeHeaders << std::left << std::setw( colWidth ) << fn.header << " "; + typeImpls << std::left << std::setw( colWidth ) << fn.impl << " "; + ++tcount; + if( ( tcount % numColumns ) == 0 ) { + typeHeaders << endl << tab; + typeImpls << endl << tab; + } + break; + } + /* case OBJ_FUNCTION: + * case OBJ_PROCEDURE: + * case OBJ_RULE: */ + default: + /* ignore everything else */ + /* TODO: if DEBUG is defined, print the names of these to stderr */ + break; + } + } + //write the CMakeLists.txt + writeLists( sch->symbol.name, entityHeaders, entityImpls, ecount, typeHeaders, typeImpls, tcount ); +} + +int main( int argc, char ** argv ) { + /* TODO init globals! */ + + Schema schema; + DictionaryEntry de; + /* copied from fedex.c */ + Express model; + if( ( argc != 2 ) || ( strlen( argv[1] ) < 1 ) ) { + fprintf( stderr, "\nUsage: %s file.exp\nOutput: a CMakeLists.txt to build the schema,", argv[0] ); + fprintf( stderr, " containing file names for entities, types, etc\n" ); + fprintf( stderr, "also prints (to stdout) the absolute path to the directory CMakeLists.txt was created in\n" ); + exit( EXIT_FAILURE ); + } + EXPRESSprogram_name = argv[0]; + input_filename = argv[1]; + + EXPRESSinitialize(); + + model = EXPRESScreate(); + EXPRESSparse( model, ( FILE * )0, input_filename ); + if( ERRORoccurred ) { + EXPRESSdestroy( model ); + exit( EXIT_FAILURE ); + } + EXPRESSresolve( model ); + if( ERRORoccurred ) { + int result = EXPRESS_fail( model ); + EXPRESScleanup(); + EXPRESSdestroy( model ); + exit( result ); + } + + DICTdo_type_init( model->symbol_table, &de, OBJ_SCHEMA ); + while( 0 != ( schema = ( Schema )DICTdo( &de ) ) ) { + printSchemaFilenames( schema ); + } + + EXPRESSdestroy( model ); + exit( EXIT_SUCCESS ); +} diff --git a/cmake/schema_scanner/schemaScanner.cmake b/cmake/schema_scanner/schemaScanner.cmake new file mode 100644 index 000000000..affe5c5cc --- /dev/null +++ b/cmake/schema_scanner/schemaScanner.cmake @@ -0,0 +1,106 @@ +# this file should be included from data/CMakeLists.txt +# +# at configure time, this builds a small program +# which will parse express schemas to determine +# what files exp2cxx will create for that schema. +# +# The SCHEMA_CMLIST macro is to be used to run this +# program. It will set variables for schema name(s), +# headers, and implementation files. + +# in a unity build, many small .cc files are #included to create a few large translation units +# this makes compilation faster, but sometimes runs into compiler limitations +if(NOT DEFINED SC_UNITY_BUILD) + message( STATUS "Assuming compiler is capable of unity build. (SC_UNITY_BUILD=TRUE)") + set(SC_UNITY_BUILD TRUE) + message( STATUS "Override by setting SC_UNITY_BUILD; TRUE will result in faster build times but *huge* translation units and higher memory use in compilation.") +else(NOT DEFINED SC_UNITY_BUILD) + message( STATUS "Respecting user-defined SC_UNITY_BUILD value of ${SC_UNITY_BUILD}.") +endif(NOT DEFINED SC_UNITY_BUILD) + + +# --- variables --- +# SC_ROOT: SC root dir +# SC_BUILDDIR: SC build dir, so generated headers can be found +# SCANNER_SRC_DIR: dir this file is in +# SCANNER_OUT_DIR: location of binary, same dir as SC uses +# SCANNER_BUILD_DIR: location scanner is built + +set(SCANNER_SRC_DIR ${SC_CMAKE_DIR}/schema_scanner) +set(SCANNER_BUILD_DIR ${SC_BINARY_DIR}/schema_scanner CACHE INTERNAL "location for scanner build, config files (copied schemas)") +set(SCANNER_OUT_DIR ${SC_BINARY_DIR}/bin CACHE INTERNAL "location for schema_scanner executable") + +#write a cmake file for the cache. the alternative is a very long +# command line - and the command line can't have newlines in it +set(initial_scanner_cache ${SCANNER_BUILD_DIR}/initial_scanner_cache.cmake) +file(WRITE ${initial_scanner_cache} " +set(SC_ROOT \"${SC_SOURCE_DIR}\" CACHE STRING \"root dir\") +set(SC_BUILDDIR \"${SC_BINARY_DIR}\" CACHE PATH \"build dir\") +set(CALLED_FROM \"STEPCODE_CMAKELISTS\" CACHE STRING \"verification\") +set(CMAKE_BUILD_TYPE \"Debug\" CACHE STRING \"build type\") +set(CMAKE_C_COMPILER \"${CMAKE_C_COMPILER}\" CACHE STRING \"compiler\") +set(CMAKE_CXX_COMPILER \"${CMAKE_CXX_COMPILER}\" CACHE STRING \"compiler\") +") + +message( STATUS "Compiling schema scanner...") + +execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${SC_BINARY_DIR}/schemas) +execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${SCANNER_BUILD_DIR}) +execute_process(COMMAND ${CMAKE_COMMAND} -C ${initial_scanner_cache} ${SCANNER_SRC_DIR} -G ${CMAKE_GENERATOR} + WORKING_DIRECTORY ${SCANNER_BUILD_DIR} + TIMEOUT 60 + OUTPUT_VARIABLE _ss_config_out + RESULT_VARIABLE _ss_config_stat + ERROR_VARIABLE _ss_config_err + ) +if(NOT ${_ss_config_stat} STREQUAL "0") + message(FATAL_ERROR "Scanner config status: ${_ss_config_stat}. stdout:\n${_ss_config_out}\nstderr:\n${_ss_config_err}") +endif(NOT ${_ss_config_stat} STREQUAL "0") +execute_process(COMMAND ${CMAKE_COMMAND} --build ${SCANNER_BUILD_DIR} --config Debug --clean-first + WORKING_DIRECTORY ${SCANNER_BUILD_DIR} + TIMEOUT 120 # should take far less than 2m + OUTPUT_VARIABLE _ss_build_out + RESULT_VARIABLE _ss_build_stat + ERROR_VARIABLE _ss_build_err + ) +if(NOT ${_ss_build_stat} STREQUAL "0") + message(FATAL_ERROR "Scanner build status: ${_ss_build_stat}. stdout:\n${_ss_build_out}\nstderr:\n${_ss_build_err}") +endif(NOT ${_ss_build_stat} STREQUAL "0") + +message( STATUS "Schema scanner built. Running it...") + +# not sure if it makes sense to install this or not... +if(WIN32) + install(PROGRAMS ${SCANNER_OUT_DIR}/schema_scanner.exe DESTINATION ${BIN_DIR}) +else(WIN32) + install(PROGRAMS ${SCANNER_OUT_DIR}/schema_scanner DESTINATION ${BIN_DIR}) +endif(WIN32) + +# macro SCHEMA_CMLIST +# runs the schema scanner on one express file, creating a CMakeLists.txt file for each schema found. Those files are added via add_subdirectory(). +# +# SCHEMA_FILE - path to the schema +# TODO should we have a result variable to return schema name(s) found? +macro(SCHEMA_CMLIST SCHEMA_FILE) + execute_process(COMMAND ${SCANNER_OUT_DIR}/schema_scanner ${SCHEMA_FILE} + WORKING_DIRECTORY ${SC_BINARY_DIR}/schemas + RESULT_VARIABLE _ss_stat + OUTPUT_VARIABLE _ss_out + ERROR_VARIABLE _ss_err + ) + if(NOT "${_ss_stat}" STREQUAL "0") + #check size of output, put in file if large? + message(FATAL_ERROR "Schema scan for '${SCHEMA_FILE}'\nexited with error code '${_ss_stat}'\nstdout:\n${_ss_out}\nstderr:\n${_ss_err}\n") + endif(NOT "${_ss_stat}" STREQUAL "0") + # scanner output format: each line contains an absolute path. each path is a dir containing a CMakeLists for one schema + # there will usually be a single line of output, but it is not illegal for multiple schemas to exist in one .exp file + string(STRIP "${_ss_out}" _ss_stripped) + string(REGEX REPLACE "\\\n" ";" _list ${_ss_stripped}) + foreach(_dir ${_list}) + add_subdirectory(${_dir} ${_dir}) #specify source and binary dirs as the same + endforeach(_dir ${_ss_out}) + # configure_file forces cmake to run again if the schema has been modified + #if multiple schemas in one file, _schema is the last one printed. + # 2e6ee669 removed _schema, does this still work? + configure_file(${SCHEMA_FILE} ${SCANNER_BUILD_DIR}/${_schema}) +endmacro(SCHEMA_CMLIST SCHEMA_FILE) diff --git a/cmake/sync_generated.cmake.in b/cmake/sync_generated.cmake.in deleted file mode 100644 index 17f3d16dc..000000000 --- a/cmake/sync_generated.cmake.in +++ /dev/null @@ -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 diff --git a/cmake/verify_generated.cmake.in b/cmake/verify_generated.cmake.in deleted file mode 100644 index 232792f22..000000000 --- a/cmake/verify_generated.cmake.in +++ /dev/null @@ -1,37 +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(NOT 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(NOT 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 diff --git a/ctest_matrix.cmake b/ctest_matrix.cmake index 8cd27e7cf..d2288acb5 100644 --- a/ctest_matrix.cmake +++ b/ctest_matrix.cmake @@ -1,11 +1,11 @@ # run_ctest.cmake # `ctest -S run_ctest.cmake` -set( CTEST_SOURCE_DIRECTORY . ) -set( CTEST_BINARY_DIRECTORY build_matrix ) -set( CTEST_CMAKE_GENERATOR "Unix Makefiles" ) -set( CTEST_MEMORYCHECK_COMMAND /usr/bin/valgrind ) -set( CTEST_INITIAL_CACHE " +set(CTEST_SOURCE_DIRECTORY .) +set(CTEST_BINARY_DIRECTORY build_matrix) +set(CTEST_CMAKE_GENERATOR "Unix Makefiles") +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 @@ -15,11 +15,19 @@ SC_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_build( BUILD "${CTEST_BINARY_DIRECTORY}" ) +ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" OPTIONS -DSC_ENABLE_TESTING=ON) +ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}") message("running tests") -ctest_test( BUILD "${CTEST_BINARY_DIRECTORY}" INCLUDE_LABEL "cpp_schema_....*" ) +ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" INCLUDE_LABEL "cpp_schema_....*") message("running python script") -execute_process( COMMAND python ../misc/wiki-scripts/update-matrix.py - WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY} ) +execute_process(COMMAND python ../misc/wiki-scripts/update-matrix.py + WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY}) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index c03a8e417..e6ef03d19 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -1,174 +1,36 @@ # To build one or more schemas, configure with # 'cmake -DSC_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp" +# you can specify a schema in 3 ways: +# * path relative to build dir +# * path relative to sc/data (this dir) +# * absolute path +# +# cmake goes through the above options in order until it finds one +# that exists. if ${path} is a dir, cmake expects to find a single +# .exp file inside, which it uses. otherwise, ${path} is assumed to +# be an express file. + +if(NOT "${SC_BUILD_EXPRESS_ONLY}" AND NOT "${SC_BUILD_SCHEMAS}" STREQUAL "") + include(${SC_CMAKE_DIR}/schema_scanner/schemaScanner.cmake) + 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) + endif() + foreach(FILE ${SC_BUILD_SCHEMAS}) + # figure out an absolute path to the file + LOCATE_SCHEMA(${FILE} abspath) + SCHEMA_CMLIST(${abspath}) + endforeach() +endif() -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 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? - 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}" ) - endif() - - if( IS_DIRECTORY ${SCHEMA_FILE} ) #if it is a dir, look for one .exp file inside - file(GLOB SCHEMA_FILE ${SCHEMA_FILE}/*.exp ) - endif() - - if( NOT EXISTS ${SCHEMA_FILE} ) - message(FATAL_ERROR "Expected one express file. Found '${SCHEMA_FILE}' instead.") - endif() - - # 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) #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} ) - - #the names of the files that will be generated - 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( PROPERTIES COMPILE_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" ) - - add_custom_command( OUTPUT ${SCHEMA_OUTPUT_DIR} - COMMAND ${CMAKE_COMMAND} ARGS -E make_directory ${SCHEMA_OUTPUT_DIR} - COMMENT "Creating ${SCHEMA_OUTPUT_DIR} for schema ${SCHEMA_SHORT_NAME}") - add_custom_command( OUTPUT ${FEDEX_OUT} - COMMAND fedex_plus ARGS ${SCHEMA_FILE} - DEPENDS ${SCHEMA_FILE} ${SCHEMA_OUTPUT_DIR} - WORKING_DIRECTORY ${SCHEMA_OUTPUT_DIR} - 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" ) - add_dependencies( ${PROJECT_NAME} generate_cpp_${SCHEMA_SHORT_NAME} ) - set_target_properties( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS - ${${PROJECT_NAME}_COMPILE_FLAGS} ) - - 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 ) - - add_test( NAME generate_cpp_${SCHEMA_SHORT_NAME} - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} --build . - --target generate_cpp_${SCHEMA_SHORT_NAME} - --config $ ) - add_test( NAME build_cpp_${PROJECT_NAME} - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} --build . - --target p21read_${PROJECT_NAME} - --config $ ) - 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 $ ) - 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) - - 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) - add_dependencies( p21read_${PROJECT_NAME} version_string ) - if(NOT WIN32) - add_dependencies( lazy_${PROJECT_NAME} version_string ) - endif(NOT WIN32) - 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} ) - - #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 ) - 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} ) +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 - if( SC_BUILD_SCHEMAS STREQUAL "ALL" ) - file( GLOB_RECURSE SC_BUILD_SCHEMAS ${SC_SOURCE_DIR}/data/*.exp ) - endif() - foreach( ap ${SC_BUILD_SCHEMAS} ) - BUILD_A_SCHEMA( ${ap} ) - endforeach() -endif() diff --git a/data/STEPTools_merged_schema/modified_step_merged_cad_schema.exp b/data/STEPTools_merged_schema/modified_step_merged_cad_schema.exp.broken similarity index 99% rename from data/STEPTools_merged_schema/modified_step_merged_cad_schema.exp rename to data/STEPTools_merged_schema/modified_step_merged_cad_schema.exp.broken index 267104303..c93179108 100644 --- a/data/STEPTools_merged_schema/modified_step_merged_cad_schema.exp +++ b/data/STEPTools_merged_schema/modified_step_merged_cad_schema.exp.broken @@ -3,7 +3,7 @@ SCHEMA step_merged_cad_schema; (* this is a MODIFIED version of the merged schema * original is at http://www.steptools.com/support/stdev_docs/stpcad/step_merged_cad_schema.exp * - * modified to eliminate fedex_plus errors. To view changes, use one of + * modified to eliminate exp2cxx errors. To view changes, use one of * - `git log -p data/STEPTools_merged_schema/step_merged_cad_schema.exp` * - http://github.com/stepcode/stepcode/commits/master/data/STEPTools_merged_schema *) diff --git a/data/ap203/ap203.exp b/data/ap203/ap203.exp index e92b93672..b7fa02566 100644 --- a/data/ap203/ap203.exp +++ b/data/ap203/ap203.exp @@ -1,6 +1,6 @@ (* This is a MODIFIED version of AP203 Amd. 1. The change was to remove a useless IF...ELSE...ENDIF statement that always evaluated - the same way. Statements in the branch that was never executed caused problems with + the same way. Statements in the branch that were never executed caused problems with libexpress, and it was easier to modify the schema than to come up with a generic fix for libexpress. This change does *not* affect the behavior of the schema. @@ -14,6 +14,9 @@ SCHEMA config_control_design; CONSTANT +(* FIXME: gcc error on next statement with c99/POSIX: + Syntax error: "(" unexpected +*) dummy_gri : geometric_representation_item := representation_item('') || geometric_representation_item(); dummy_tri : topological_representation_item := representation_item('') diff --git a/data/cd209/ATS1-out.stp b/data/ap209/ATS1-out.stp similarity index 99% rename from data/cd209/ATS1-out.stp rename to data/ap209/ATS1-out.stp index 74e9299bc..b1679c8f2 100644 --- a/data/cd209/ATS1-out.stp +++ b/data/ap209/ATS1-out.stp @@ -217,7 +217,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(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',(( +#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CROD',(( ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),( ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)))); #637538443= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538445),( diff --git a/data/cd209/ATS10-out.stp b/data/ap209/ATS10-out.stp similarity index 99% rename from data/cd209/ATS10-out.stp rename to data/ap209/ATS10-out.stp index 6b25e015f..b59d8a5d5 100644 --- a/data/cd209/ATS10-out.stp +++ b/data/ap209/ATS10-out.stp @@ -784,7 +784,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); ); #637539490= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637539494= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_WEDGE.CPENTA', +#637539494= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_WEDGE.CPENTA', (ENUMERATED_VOLUME_ELEMENT_PURPOSE(.STRESS_DISPLACEMENT.)),.WEDGE.); #637539496= VOLUME_3D_ELEMENT_REPRESENTATION('367',(#637539489), #637539490,(#637539284,#637539280,#637539252,#637539424,#637539420, @@ -1074,7 +1074,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637539781= VOLUME_3D_ELEMENT_REPRESENTATION('272',(#637539489), #637539490,(#637538832,#637538864,#637539000,#637538976),#637538282, #637539784,#637539460); -#637539784= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637539784= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_TETRAHEDRON.CTETRA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.TETRAHEDRON.); #637539786= VOLUME_3D_ELEMENT_REPRESENTATION('271',(#637539489), @@ -1797,7 +1797,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637540503= VOLUME_3D_ELEMENT_REPRESENTATION('32',(#637539489), #637539490,(#637538500,#637538504,#637538524,#637538520,#637538560, #637538564,#637538584,#637538580),#637538282,#637540506,#637539460); -#637540506= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637540506= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_HEXAHEDRON.CHEXA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.HEXAHEDRON.); #637540508= VOLUME_3D_ELEMENT_REPRESENTATION('31',(#637539489), diff --git a/data/cd209/ATS10Mod0-out.stp b/data/ap209/ATS10Mod0-out.stp similarity index 99% rename from data/cd209/ATS10Mod0-out.stp rename to data/ap209/ATS10Mod0-out.stp index c364387ea..1d59d9383 100644 --- a/data/cd209/ATS10Mod0-out.stp +++ b/data/ap209/ATS10Mod0-out.stp @@ -784,7 +784,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); ); #637539488= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637539492= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_WEDGE.CPENTA', +#637539492= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_WEDGE.CPENTA', (ENUMERATED_VOLUME_ELEMENT_PURPOSE(.STRESS_DISPLACEMENT.)),.WEDGE.); #637539494= VOLUME_3D_ELEMENT_REPRESENTATION('367',(#637539487), #637539488,(#637539282,#637539278,#637539250,#637539422,#637539418, @@ -1074,7 +1074,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637539779= VOLUME_3D_ELEMENT_REPRESENTATION('272',(#637539487), #637539488,(#637538830,#637538862,#637538998,#637538974),#637538280, #637539782,#637539458); -#637539782= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637539782= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_TETRAHEDRON.CTETRA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.TETRAHEDRON.); #637539784= VOLUME_3D_ELEMENT_REPRESENTATION('271',(#637539487), @@ -1797,7 +1797,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637540501= VOLUME_3D_ELEMENT_REPRESENTATION('32',(#637539487), #637539488,(#637538498,#637538502,#637538522,#637538518,#637538558, #637538562,#637538582,#637538578),#637538280,#637540504,#637539458); -#637540504= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637540504= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_HEXAHEDRON.CHEXA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.HEXAHEDRON.); #637540506= VOLUME_3D_ELEMENT_REPRESENTATION('31',(#637539487), diff --git a/data/cd209/ATS10Mod0-outresult.stp b/data/ap209/ATS10Mod0-outresult.stp similarity index 99% rename from data/cd209/ATS10Mod0-outresult.stp rename to data/ap209/ATS10Mod0-outresult.stp index 0b283592b..42d6e26e0 100644 --- a/data/cd209/ATS10Mod0-outresult.stp +++ b/data/ap209/ATS10Mod0-outresult.stp @@ -784,7 +784,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); ); #637539490= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637539494= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_WEDGE.CPENTA', +#637539494= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_WEDGE.CPENTA', (ENUMERATED_VOLUME_ELEMENT_PURPOSE(.STRESS_DISPLACEMENT.)),.WEDGE.); #637539496= VOLUME_3D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES(#637539497, #637539487,.F.,(#637539499,#637539504,#637539509,#637539514,#637539519, @@ -5698,7 +5698,7 @@ ANISOTROPIC_SYMMETRIC_TENSOR2_3D((3.419102,7.558704,4.948215,-9.982081, #637542876= VOLUME_3D_ELEMENT_REPRESENTATION('272',(#637539489), #637539490,(#637538832,#637538864,#637539000,#637538976),#637538282, #637542879,#637539460); -#637542879= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637542879= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_TETRAHEDRON.CTETRA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.TETRAHEDRON.); #637542881= VOLUME_3D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES(#637539497, @@ -15071,7 +15071,7 @@ ANISOTROPIC_SYMMETRIC_TENSOR2_3D((167.411,-189.9718,-234.8069,113.0858, #637549373= VOLUME_3D_ELEMENT_REPRESENTATION('32',(#637539489), #637539490,(#637538500,#637538504,#637538524,#637538520,#637538560, #637538564,#637538584,#637538580),#637538282,#637549376,#637539460); -#637549376= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637549376= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_HEXAHEDRON.CHEXA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.HEXAHEDRON.); #637549378= VOLUME_3D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES(#637539497, diff --git a/data/cd209/ATS1Mod0-out.stp b/data/ap209/ATS1Mod0-out.stp similarity index 99% rename from data/cd209/ATS1Mod0-out.stp rename to data/ap209/ATS1Mod0-out.stp index e68fa9e0f..0495f4b52 100644 --- a/data/cd209/ATS1Mod0-out.stp +++ b/data/ap209/ATS1Mod0-out.stp @@ -217,7 +217,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(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',(( +#637538437= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CROD',(( ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),( ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)))); #637538441= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538443),( diff --git a/data/cd209/ATS1Mod0-outresult.stp b/data/ap209/ATS1Mod0-outresult.stp similarity index 99% rename from data/cd209/ATS1Mod0-outresult.stp rename to data/ap209/ATS1Mod0-outresult.stp index 03fb60eab..1e705818f 100644 --- a/data/cd209/ATS1Mod0-outresult.stp +++ b/data/ap209/ATS1Mod0-outresult.stp @@ -217,7 +217,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(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',(( +#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CROD',(( ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),( ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)))); #637538443= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538445),( diff --git a/data/cd209/ATS2-out.stp b/data/ap209/ATS2-out.stp similarity index 99% rename from data/cd209/ATS2-out.stp rename to data/ap209/ATS2-out.stp index ed42dc004..098c412cf 100644 --- a/data/cd209/ATS2-out.stp +++ b/data/ap209/ATS2-out.stp @@ -217,7 +217,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.)); #637538435= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CBAR*',(( +#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CBAR*',(( ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),( ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.), ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),( diff --git a/data/cd209/ATS2Mod0-out.stp b/data/ap209/ATS2Mod0-out.stp similarity index 99% rename from data/cd209/ATS2Mod0-out.stp rename to data/ap209/ATS2Mod0-out.stp index 3a2159071..7dcbfdcb2 100644 --- a/data/cd209/ATS2Mod0-out.stp +++ b/data/ap209/ATS2Mod0-out.stp @@ -217,7 +217,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637538431= FEA_PARAMETRIC_POINT('',(1.,0.,0.)); #637538433= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637538437= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CBAR*',(( +#637538437= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CBAR*',(( ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),( ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.), ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),( diff --git a/data/cd209/ATS2Mod0-outresult.stp b/data/ap209/ATS2Mod0-outresult.stp similarity index 99% rename from data/cd209/ATS2Mod0-outresult.stp rename to data/ap209/ATS2Mod0-outresult.stp index 5b1cc722a..9329b96a7 100644 --- a/data/cd209/ATS2Mod0-outresult.stp +++ b/data/ap209/ATS2Mod0-outresult.stp @@ -217,7 +217,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.)); #637538435= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CBAR*',(( +#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_CURVE.CBAR*',(( ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),( ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.), ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),( diff --git a/data/cd209/ATS3-out.stp b/data/ap209/ATS3-out.stp similarity index 99% rename from data/cd209/ATS3-out.stp rename to data/ap209/ATS3-out.stp index 07799dd1f..1dd0fe8ae 100644 --- a/data/cd209/ATS3-out.stp +++ b/data/ap209/ATS3-out.stp @@ -346,7 +346,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637538689= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); #637538690= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637538694= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637538694= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_TRIANGLE.CTRIA3',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), @@ -503,7 +503,7 @@ UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.)); #637538690,(#637538456,#637538460,#637538504,#637538500),#637538282, #637538847,#637538699,#637538660); #637538845= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); -#637538847= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637538847= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_QUADRILATERAL.CQUAD4',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), diff --git a/data/cd209/ATS3Mod0-out.stp b/data/ap209/ATS3Mod0-out.stp similarity index 99% rename from data/cd209/ATS3Mod0-out.stp rename to data/ap209/ATS3Mod0-out.stp index bed85972e..9806c702c 100644 --- a/data/cd209/ATS3Mod0-out.stp +++ b/data/ap209/ATS3Mod0-out.stp @@ -346,7 +346,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637538687= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); #637538688= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637538692= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637538692= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_TRIANGLE.CTRIA3',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), @@ -503,7 +503,7 @@ UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.)); #637538688,(#637538454,#637538458,#637538502,#637538498),#637538280, #637538845,#637538697,#637538658); #637538843= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); -#637538845= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637538845= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_QUADRILATERAL.CQUAD4',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), diff --git a/data/cd209/ATS3Mod0-outresult.stp b/data/ap209/ATS3Mod0-outresult.stp similarity index 99% rename from data/cd209/ATS3Mod0-outresult.stp rename to data/ap209/ATS3Mod0-outresult.stp index 03bdafb57..28a8624ee 100644 --- a/data/cd209/ATS3Mod0-outresult.stp +++ b/data/ap209/ATS3Mod0-outresult.stp @@ -346,7 +346,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637538689= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); #637538690= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637538694= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637538694= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_TRIANGLE.CTRIA3',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), @@ -1375,7 +1375,7 @@ ANISOTROPIC_SYMMETRIC_TENSOR2_3D((-500.0138,-127.7892,0.,25.74217,0.,0.) #637538690,(#637538456,#637538460,#637538504,#637538500),#637538282, #637539434,#637538699,#637538660); #637539432= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); -#637539434= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637539434= SURFACE_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_QUADRILATERAL.CQUAD4',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), diff --git a/data/cd209/ATS4-out.stp b/data/ap209/ATS4-out.stp similarity index 99% rename from data/cd209/ATS4-out.stp rename to data/ap209/ATS4-out.stp index 3a61714fe..cbee7917a 100644 --- a/data/cd209/ATS4-out.stp +++ b/data/ap209/ATS4-out.stp @@ -719,7 +719,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); ); #637539370= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637539374= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_WEDGE.CPENTA', +#637539374= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_WEDGE.CPENTA', (ENUMERATED_VOLUME_ELEMENT_PURPOSE(.STRESS_DISPLACEMENT.)),.WEDGE.); #637539376= VOLUME_3D_ELEMENT_REPRESENTATION('367',(#637539369), #637539370,(#637538804,#637539184,#637539160,#637538924,#637539304, @@ -1009,7 +1009,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637539661= VOLUME_3D_ELEMENT_REPRESENTATION('272',(#637539369), #637539370,(#637538800,#637538548,#637538944,#637538572),#637538282, #637539664,#637539340); -#637539664= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637539664= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_TETRAHEDRON.CTETRA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.TETRAHEDRON.); #637539666= VOLUME_3D_ELEMENT_REPRESENTATION('271',(#637539369), @@ -1732,7 +1732,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637540383= VOLUME_3D_ELEMENT_REPRESENTATION('32',(#637539369), #637539370,(#637538500,#637538504,#637538524,#637538520,#637538560, #637538564,#637538584,#637538580),#637538282,#637540386,#637539340); -#637540386= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637540386= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_HEXAHEDRON.CHEXA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.HEXAHEDRON.); #637540388= VOLUME_3D_ELEMENT_REPRESENTATION('31',(#637539369), diff --git a/data/cd209/ATS4Mod0-out.stp b/data/ap209/ATS4Mod0-out.stp similarity index 99% rename from data/cd209/ATS4Mod0-out.stp rename to data/ap209/ATS4Mod0-out.stp index d89b007ab..31db38532 100644 --- a/data/cd209/ATS4Mod0-out.stp +++ b/data/ap209/ATS4Mod0-out.stp @@ -719,7 +719,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); ); #637539368= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637539372= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_WEDGE.CPENTA', +#637539372= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_WEDGE.CPENTA', (ENUMERATED_VOLUME_ELEMENT_PURPOSE(.STRESS_DISPLACEMENT.)),.WEDGE.); #637539374= VOLUME_3D_ELEMENT_REPRESENTATION('367',(#637539367), #637539368,(#637538802,#637539182,#637539158,#637538922,#637539302, @@ -1009,7 +1009,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637539659= VOLUME_3D_ELEMENT_REPRESENTATION('272',(#637539367), #637539368,(#637538798,#637538546,#637538942,#637538570),#637538280, #637539662,#637539338); -#637539662= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637539662= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_TETRAHEDRON.CTETRA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.TETRAHEDRON.); #637539664= VOLUME_3D_ELEMENT_REPRESENTATION('271',(#637539367), @@ -1732,7 +1732,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637540381= VOLUME_3D_ELEMENT_REPRESENTATION('32',(#637539367), #637539368,(#637538498,#637538502,#637538522,#637538518,#637538558, #637538562,#637538582,#637538578),#637538280,#637540384,#637539338); -#637540384= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637540384= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_HEXAHEDRON.CHEXA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.HEXAHEDRON.); #637540386= VOLUME_3D_ELEMENT_REPRESENTATION('31',(#637539367), diff --git a/data/cd209/ATS4Mod0-outresult.stp b/data/ap209/ATS4Mod0-outresult.stp similarity index 99% rename from data/cd209/ATS4Mod0-outresult.stp rename to data/ap209/ATS4Mod0-outresult.stp index db8e20b2e..b46600f9f 100644 --- a/data/cd209/ATS4Mod0-outresult.stp +++ b/data/ap209/ATS4Mod0-outresult.stp @@ -719,7 +719,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); ); #637539370= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637539374= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_WEDGE.CPENTA', +#637539374= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER.,'LINEAR_WEDGE.CPENTA', (ENUMERATED_VOLUME_ELEMENT_PURPOSE(.STRESS_DISPLACEMENT.)),.WEDGE.); #637539376= VOLUME_3D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES(#637539377, #637539367,.F.,(#637539379,#637539384,#637539389,#637539394,#637539399, @@ -5633,7 +5633,7 @@ ANISOTROPIC_SYMMETRIC_TENSOR2_3D((3.419102,7.558704,4.948215,-9.982081, #637542756= VOLUME_3D_ELEMENT_REPRESENTATION('272',(#637539369), #637539370,(#637538800,#637538548,#637538944,#637538572),#637538282, #637542759,#637539340); -#637542759= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637542759= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_TETRAHEDRON.CTETRA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.TETRAHEDRON.); #637542761= VOLUME_3D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES(#637539377, @@ -15006,7 +15006,7 @@ ANISOTROPIC_SYMMETRIC_TENSOR2_3D((167.411,-189.9718,-234.8069,113.0858, #637549253= VOLUME_3D_ELEMENT_REPRESENTATION('32',(#637539369), #637539370,(#637538500,#637538504,#637538524,#637538520,#637538560, #637538564,#637538584,#637538580),#637538282,#637549256,#637539340); -#637549256= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR., +#637549256= VOLUME_3D_ELEMENT_DESCRIPTOR(.LINEAR_ORDER., 'LINEAR_HEXAHEDRON.CHEXA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.HEXAHEDRON.); #637549258= VOLUME_3D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES(#637539377, diff --git a/data/cd209/ATS7-out.stp b/data/ap209/ATS7-out.stp similarity index 99% rename from data/cd209/ATS7-out.stp rename to data/ap209/ATS7-out.stp index 19061e029..e2137a435 100644 --- a/data/cd209/ATS7-out.stp +++ b/data/ap209/ATS7-out.stp @@ -687,7 +687,7 @@ SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT()); #637539350= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); #637539351= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637539355= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637539355= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_QUADRILATERAL.CQUAD8',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), @@ -896,7 +896,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637539351,(#637538532,#637538372,#637538328,#637539004,#637538744, #637539008),#637538282,#637539515,#637539360,#637539363); #637539513= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); -#637539515= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637539515= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_TRIANGLE.CTRIA6',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), diff --git a/data/cd209/ATS7Mod0-out.stp b/data/ap209/ATS7Mod0-out.stp similarity index 99% rename from data/cd209/ATS7Mod0-out.stp rename to data/ap209/ATS7Mod0-out.stp index d8bfd0830..0eaa6b25d 100644 --- a/data/cd209/ATS7Mod0-out.stp +++ b/data/ap209/ATS7Mod0-out.stp @@ -687,7 +687,7 @@ SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT()); #637539348= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); #637539349= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637539353= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637539353= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_QUADRILATERAL.CQUAD8',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), @@ -896,7 +896,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637539349,(#637538530,#637538370,#637538326,#637539002,#637538742, #637539006),#637538280,#637539513,#637539358,#637539361); #637539511= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); -#637539513= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637539513= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_TRIANGLE.CTRIA6',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), diff --git a/data/cd209/ATS7Mod0-outresult.stp b/data/ap209/ATS7Mod0-outresult.stp similarity index 99% rename from data/cd209/ATS7Mod0-outresult.stp rename to data/ap209/ATS7Mod0-outresult.stp index afe68b1ba..4bd6fc183 100644 --- a/data/cd209/ATS7Mod0-outresult.stp +++ b/data/ap209/ATS7Mod0-outresult.stp @@ -687,7 +687,7 @@ SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT()); #637539350= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); #637539351= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637539355= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637539355= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_QUADRILATERAL.CQUAD8',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), @@ -3640,7 +3640,7 @@ ANISOTROPIC_SYMMETRIC_TENSOR2_3D((-783.8278,3524.98,0.,-750.8163,0.,0.)) #637539351,(#637538532,#637538372,#637538328,#637539004,#637538744, #637539008),#637538282,#637541306,#637539360,#637539363); #637541304= PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM('',1,0.); -#637541306= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637541306= SURFACE_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_TRIANGLE.CTRIA6',((ENUMERATED_SURFACE_ELEMENT_PURPOSE( .MEMBRANE_DIRECT.),ENUMERATED_SURFACE_ELEMENT_PURPOSE(.MEMBRANE_SHEAR.)) ,(ENUMERATED_SURFACE_ELEMENT_PURPOSE(.BENDING_DIRECT.), diff --git a/data/cd209/ATS8-out.stp b/data/ap209/ATS8-out.stp similarity index 99% rename from data/cd209/ATS8-out.stp rename to data/ap209/ATS8-out.stp index 94c4f805b..28a0e1b82 100644 --- a/data/cd209/ATS8-out.stp +++ b/data/ap209/ATS8-out.stp @@ -2587,7 +2587,7 @@ SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT()); ); #637542839= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637542843= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637542843= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_WEDGE.CPENTA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.WEDGE.); #637542845= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637542847, @@ -3104,7 +3104,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637539964,#637539780,#637539832,#637539836,#637539820,#637539928, #637539980,#637539984,#637539968,#637542834,#637542834,#637542834, #637542834,#637542834,#637542834),#637538282,#637543160,#637542845); -#637543160= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637543160= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_HEXAHEDRON.CHEXA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.HEXAHEDRON.); #637543162= VOLUME_3D_ELEMENT_REPRESENTATION('31',(#637542838), @@ -3301,7 +3301,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637542839,(#637538588,#637538612,#637538708,#637538592,#637540000, #637540004,#637540008,#637539988,#637539992,#637539996),#637538282, #637543262,#637542845); -#637543262= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637543262= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_TETRAHEDRON.CTETRA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.TETRAHEDRON.); #637543264= VOLUME_3D_ELEMENT_REPRESENTATION('34',(#637542838), diff --git a/data/cd209/ATS8Mod0-out.stp b/data/ap209/ATS8Mod0-out.stp similarity index 99% rename from data/cd209/ATS8Mod0-out.stp rename to data/ap209/ATS8Mod0-out.stp index 87baae27f..e5ce86039 100644 --- a/data/cd209/ATS8Mod0-out.stp +++ b/data/ap209/ATS8Mod0-out.stp @@ -2587,7 +2587,7 @@ SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT()); ); #637542837= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637542841= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637542841= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_WEDGE.CPENTA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.WEDGE.); #637542843= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637542845, @@ -3104,7 +3104,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637539962,#637539778,#637539830,#637539834,#637539818,#637539926, #637539978,#637539982,#637539966,#637542832,#637542832,#637542832, #637542832,#637542832,#637542832),#637538280,#637543158,#637542843); -#637543158= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637543158= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_HEXAHEDRON.CHEXA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.HEXAHEDRON.); #637543160= VOLUME_3D_ELEMENT_REPRESENTATION('31',(#637542836), @@ -3301,7 +3301,7 @@ ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.)); #637542837,(#637538586,#637538610,#637538706,#637538590,#637539998, #637540002,#637540006,#637539986,#637539990,#637539994),#637538280, #637543260,#637542843); -#637543260= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637543260= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_TETRAHEDRON.CTETRA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.TETRAHEDRON.); #637543262= VOLUME_3D_ELEMENT_REPRESENTATION('34',(#637542836), diff --git a/data/cd209/ATS8Mod0-outresult.stp b/data/ap209/ATS8Mod0-outresult.stp similarity index 99% rename from data/cd209/ATS8Mod0-outresult.stp rename to data/ap209/ATS8Mod0-outresult.stp index 7eb2e401c..099fb3e43 100644 --- a/data/cd209/ATS8Mod0-outresult.stp +++ b/data/ap209/ATS8Mod0-outresult.stp @@ -2587,7 +2587,7 @@ SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT()); ); #637542839= PARAMETRIC_REPRESENTATION_CONTEXT( 'parametric_representation_context','parametric'); -#637542843= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637542843= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_WEDGE.CPENTA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.WEDGE.); #637542845= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637542847, @@ -7728,7 +7728,7 @@ ANISOTROPIC_SYMMETRIC_TENSOR2_3D((-11.57079,-8.150762,34.35221,-7.068575 #637539964,#637539780,#637539832,#637539836,#637539820,#637539928, #637539980,#637539984,#637539968,#637542834,#637542834,#637542834, #637542834,#637542834,#637542834),#637538282,#637546255,#637542845); -#637546255= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637546255= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_HEXAHEDRON.CHEXA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.HEXAHEDRON.); #637546257= VOLUME_3D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES(#637542873, @@ -9927,7 +9927,7 @@ ANISOTROPIC_SYMMETRIC_TENSOR2_3D((-2814.943,159.5768,445.0004,-196.6884, #637542839,(#637538588,#637538612,#637538708,#637538592,#637540000, #637540004,#637540008,#637539988,#637539992,#637539996),#637538282, #637547664,#637542845); -#637547664= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC., +#637547664= VOLUME_3D_ELEMENT_DESCRIPTOR(.QUADRATIC_ORDER., 'QUADRATIC_TETRAHEDRON.CTETRA',(ENUMERATED_VOLUME_ELEMENT_PURPOSE( .STRESS_DISPLACEMENT.)),.TETRAHEDRON.); #637547666= VOLUME_3D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES(#637542873, diff --git a/data/ap209/ap209_N8334_mim_lf.exp b/data/ap209/ap209_N8334_mim_lf.exp new file mode 100644 index 000000000..68aa25f88 --- /dev/null +++ b/data/ap209/ap209_N8334_mim_lf.exp @@ -0,0 +1,41749 @@ +(* +$Id: mim_lf.exp,v 1.46 2014/05/22 15:19:23 jhaenisch Exp $ +WG12N8334 - ISO/TS 10303-409 ap209_multidisciplinary_analysis_and_design - EXPRESS MIM LF +*) + +(* ===================================================================================== *) +(* Long form schema generated by The EXPRESS Data Manager compiler version 9.8.3B 20121030*) +(* Fri Feb 07 11:23:49 2014 *) +(* The schema is converted from ISO10303 P11-2003 to ISO10303 P11-1994 *) +(* ===================================================================================== *) +(* + +This file was generated by the EXPRESS Pretty Printer exppp, +part of STEPcode (formerly NIST's SCL). exppp version: +git commit id: v0.7-353-g0a46b86, build timestamp 26 Feb 2014 19:15 +*) + +(* patches 4665, 4779, 4979, 4988, 4992, 5004, 5018, 5019, 5023, 5048, 5052, 5054, 5056, 5057 +*) + + +SCHEMA ap209_multidisciplinary_analysis_and_design_mim_lf; + + CONSTANT + schema_date_stamp : STRING := 'Mon Mar 24 10:53:49 2014'; + dummy_gri : geometric_representation_item := + representation_item( '' ) + || + geometric_representation_item( ); + dummy_tri : topological_representation_item := + representation_item( '' ) + || + topological_representation_item( ); + pre_defined_picture_representation_types : SET [0 : ?] OF STRING := + [ 'JPEG' , + 'PNG' , + 'TIFF' , + 'BMP' , + 'GIF' ]; + schema_prefix : STRING := + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' ; + the_binarys : elementary_space := + make_elementary_space( + es_binarys ); + the_booleans : elementary_space := + make_elementary_space( + es_booleans ); + the_complex_numbers : elementary_space := + make_elementary_space( + es_complex_numbers ); + the_complex_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_complex_numbers ); + the_empty_maths_tuple : maths_tuple := + []; + the_empty_space : finite_space := + make_finite_space( + [] ); + the_generics : elementary_space := + make_elementary_space( + es_generics ); + the_integer_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_integers ); + the_integers : elementary_space := + make_elementary_space( + es_integers ); + the_logicals : elementary_space := + make_elementary_space( + es_logicals ); + the_maths_spaces : elementary_space := + make_elementary_space( + es_maths_spaces ); + the_neg1_one_interval : finite_real_interval := + make_finite_real_interval( + - + 1, + closed, + 1, + closed ); + the_neghalfpi_halfpi_interval : finite_real_interval := + make_finite_real_interval( + ( + - + 0.5 ) + * + PI, + closed, + 0.5 + * + PI, + closed ); + the_negpi_pi_interval : finite_real_interval := + make_finite_real_interval( + - + PI, + open, + PI, + closed ); + the_nonnegative_reals : real_interval_from_min := + make_real_interval_from_min( + 0, + closed ); + the_numbers : elementary_space := + make_elementary_space( + es_numbers ); + the_real_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_reals ); + the_reals : elementary_space := + make_elementary_space( + es_reals ); + the_strings : elementary_space := + make_elementary_space( + es_strings ); + the_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_generics ); + the_zero_pi_interval : finite_real_interval := + make_finite_real_interval( + 0, + closed, + PI, + closed ); + the_zero_tuple_space : listed_product_space := + make_listed_product_space( + [] ); + END_CONSTANT; + + TYPE absorbed_dose_measure = REAL; + END_TYPE; + + TYPE acceleration_measure = REAL; + END_TYPE; + + TYPE action_items = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_person_and_organization_assignment, + applied_state_type_assignment, + approval_status, + assembly_component_usage_substitute, + certification, + certification_item, + characterized_object, + class, + class_system, + classification_item, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + document_file, + document_reference_item, + draughting_model, + drawing_revision, + evaluated_characteristic, + executed_action, + general_property, + identification_item, + material_designation, + mechanical_design_geometric_presentation_representation, + organization, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_assigned_item, + requirement_for_action_resource, + resource_property, + security_classification, + security_classification_level, + shape_aspect, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE action_method_items = SELECT + ( action, + action_method, + action_property, + applied_action_assignment, + configuration_design, + contract, + document_file, + event_occurrence, + organization, + organizational_project, + person, + person_and_organization, + product, + product_concept, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + property_definition ); + END_TYPE; + + TYPE action_request_item = SELECT + ( action, + action_method, + action_property, + action_relationship, + alternate_product_relationship, + assembly_component_usage_substitute, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + document_file, + draughting_model, + drawing_revision, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + organizational_project, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + resource_property, + shape_aspect, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE action_type = ENUMERATION OF + ( applied_loads, + residual_loads ); + END_TYPE; + + TYPE actuated_direction = ENUMERATION OF + ( bidirectional, + positive_only, + negative_only, + not_actuated ); + END_TYPE; + + TYPE aggregated_angular_variable = ENUMERATION OF + ( total_applied_moment, + application_defined_aggregated_angular_scalar_variable ); + END_TYPE; + + TYPE aggregated_scalar_variable = ENUMERATION OF + ( total_strain_energy, + mass, + volume ); + END_TYPE; + + TYPE aggregated_tensor2_3d_variable = ENUMERATION OF + ( rotational_inertia ); + END_TYPE; + + TYPE aggregated_vector_3d_variable = ENUMERATION OF + ( total_applied_force, + centre_of_mass_offset ); + END_TYPE; + + TYPE ahead_or_behind = ENUMERATION OF + ( ahead, + exact, + behind ); + END_TYPE; + + TYPE amount_of_substance_measure = REAL; + END_TYPE; + + TYPE analysed_item = SELECT + ( fea_model, + product_definition, + temporal_spatial_domain ); + END_TYPE; + + TYPE angle_direction_reference_select = SELECT + ( direction, + curve, + point_path ); + END_TYPE; + + TYPE angle_direction_reference_with_a2p3d_select = SELECT + ( angle_direction_reference_select, + axis2_placement_3d ); + END_TYPE; + + TYPE angle_relator = ENUMERATION OF + ( equal, + large, + small ); + END_TYPE; + + TYPE angular_value = context_dependent_measure; + END_TYPE; + + TYPE anisotropic_symmetric_tensor2_2d = ARRAY [1 : 3] OF context_dependent_measure; + END_TYPE; + + TYPE anisotropic_symmetric_tensor2_3d = ARRAY [1 : 6] OF context_dependent_measure; + END_TYPE; + + TYPE anisotropic_symmetric_tensor4_2d = ARRAY [1 : 6] OF context_dependent_measure; + END_TYPE; + + TYPE anisotropic_symmetric_tensor4_3d = ARRAY [1 : 21] OF context_dependent_measure; + END_TYPE; + + TYPE annotation_plane_element = SELECT + ( draughting_callout, + styled_item ); + END_TYPE; + + TYPE annotation_representation_select = SELECT + ( draughting_model, + presentation_area, + presentation_view, + symbol_representation ); + END_TYPE; + + TYPE annotation_symbol_occurrence_item = SELECT + ( annotation_symbol, + defined_symbol ); + END_TYPE; + + TYPE annotation_text_occurrence_item = SELECT + ( text_literal, + annotation_text, + annotation_text_character, + defined_character_glyph, + composite_text ); + END_TYPE; + + TYPE application_defined_degree_of_freedom = STRING; + END_TYPE; + + TYPE application_defined_element_purpose = STRING; + END_TYPE; + + TYPE application_defined_matrix_property_type = STRING; + END_TYPE; + + TYPE application_defined_scalar_variable = STRING; + END_TYPE; + + TYPE application_defined_tensor2_2d_variable = STRING; + END_TYPE; + + TYPE application_defined_tensor2_3d_variable = STRING; + END_TYPE; + + TYPE application_defined_vector_2d_variable = STRING; + END_TYPE; + + TYPE application_defined_vector_3d_variable = STRING; + END_TYPE; + + TYPE approval_item = SELECT + ( action, + action_directive, + action_property, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_usage_right, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + control, + date, + directed_action, + document, + document_file, + draughting_model, + drawing_revision, + effectivity, + executed_action, + fea_model, + frozen_assignment, + general_property, + general_property_relationship, + group, + group_relationship, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organizational_project, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + representation, + requirement_assignment, + resource_property, + result, + security_classification, + shape_aspect_relationship, + shape_representation, + temporal_spatial_domain, + versioned_action_request ); + END_TYPE; + + TYPE approved_item = SELECT + ( certification, + change, + change_request, + configuration_effectivity, + configuration_item, + contract, + product, + security_classification, + start_request, + start_work ); + END_TYPE; + + TYPE area_measure = REAL; + END_TYPE; + + TYPE area_or_view = SELECT + ( presentation_area, + presentation_view ); + END_TYPE; + + TYPE area_unit_type = ENUMERATION OF + ( circular, + rectangular, + square ); + END_TYPE; + + TYPE atom_based_tuple = LIST OF atom_based_value; + END_TYPE; + + TYPE atom_based_value = SELECT + ( maths_atom, + atom_based_tuple ); + END_TYPE; + + TYPE attribute_classification_item = SELECT + ( action_directive, + action_method, + action_property, + action_property_representation, + action_relationship, + action_request_solution, + action_request_status, + alternate_product_relationship, + applied_action_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + approval, + approval_person_organization, + approval_relationship, + approval_status, + certification, + context_dependent_unit, + contract, + date_and_time_assignment, + date_assignment, + derived_unit, + descriptive_representation_item, + document_file, + document_relationship, + effectivity, + event_occurrence_relationship, + executed_action, + general_property, + general_property_relationship, + group, + group_relationship, + information_right, + information_usage_right, + language, + measure_representation_item, + measure_with_unit, + named_unit, + organization_relationship, + organizational_address, + organizational_project_relationship, + person_and_organization, + person_and_organization_address, + product, + product_category, + product_concept, + product_concept_context, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + property_definition, + property_definition_relationship, + property_definition_representation, + representation, + representation_context, + representation_item, + security_classification, + time_interval_relationship, + uncertainty_measure_with_unit, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE attribute_identifier = identifier; + WHERE + wr1: validate_attribute_id( SELF ); + END_TYPE; + + TYPE attribute_language_item = SELECT + ( action, + actuated_kinematic_pair, + alternate_product_relationship, + application_context, + applied_certification_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organizational_project_assignment, + applied_security_classification_assignment, + approval, + approval_relationship, + approval_status, + assembly_component_usage_substitute, + attribute_value_assignment, + certification, + certification_type, + configuration_design, + configuration_item, + contract, + data_environment, + date_role, + date_time_role, + descriptive_representation_item, + document_relationship, + document_usage_role, + draughting_title, + effectivity, + effectivity_relationship, + event_occurrence, + external_source, + general_property, + general_property_relationship, + geometric_representation_item, + geometric_tolerance, + group, + group_relationship, + identification_role, + information_right, + information_usage_right, + kinematic_pair, + make_from_usage_option, + mapped_item, + multi_language_attribute_assignment, + name_assignment, + object_role, + organization_relationship, + organization_role, + organizational_project, + organizational_project_relationship, + organizational_project_role, + person_and_organization, + person_and_organization_role, + presentation_layer_assignment, + process_product_association, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_relationship, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_shape, + product_definition_substitute, + product_related_product_category, + property_definition, + property_definition_relationship, + representation, + representation_relationship, + requirement_for_action_resource, + resource_property, + resource_requirement_type, + security_classification, + security_classification_assignment, + shape_aspect, + shape_aspect_relationship, + shape_representation, + styled_item, + time_interval_role, + topological_representation_item, + uncertainty_measure_with_unit, + uncertainty_qualifier, + usage_association, + versioned_action_request, + versioned_action_request_relationship ); + END_TYPE; + + TYPE attribute_type = SELECT + ( label, + text ); + END_TYPE; + + TYPE axi_or_plane = ENUMERATION OF + ( axisymmetric, + planar ); + END_TYPE; + + TYPE axial_geometry_constraint_element = SELECT + ( point, + line, + circle, + plane, + cylindrical_surface, + conical_surface, + spherical_surface, + toroidal_surface, + surface_of_revolution, + sphere, + right_circular_cone, + right_circular_cylinder, + torus, + revolved_face_solid, + revolved_area_solid ); + END_TYPE; + + TYPE axis2_placement = SELECT + ( axis2_placement_2d, + axis2_placement_3d ); + END_TYPE; + + TYPE b_spline_curve_form = ENUMERATION OF + ( polyline_form, + circular_arc, + elliptic_arc, + parabolic_arc, + hyperbolic_arc, + unspecified ); + END_TYPE; + + TYPE b_spline_or_composite_curve_select = SELECT + ( b_spline_curve, + composite_curve ); + END_TYPE; + + TYPE b_spline_or_rectangular_composite_surface_select = SELECT + ( b_spline_surface, + rectangular_composite_surface ); + END_TYPE; + + TYPE b_spline_surface_form = ENUMERATION OF + ( plane_surf, + cylindrical_surf, + conical_surf, + spherical_surf, + toroidal_surf, + surf_of_revolution, + ruled_surf, + generalised_cone, + quadric_surf, + surf_of_linear_extrusion, + unspecified ); + END_TYPE; + + TYPE base_solid_select = SELECT + ( solid_model, + csg_primitive, + boolean_result ); + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRIMITIVE_2D' IN TYPEOF( SELF ) ) ); + END_TYPE; + + TYPE blend_end_condition_select = SELECT + ( point_on_curve, + edge_curve, + vertex ); + END_TYPE; + + TYPE blend_radius_variation_type = ENUMERATION OF + ( linear_blend, + cubic_blend, + unspecified_blend ); + END_TYPE; + + TYPE boolean_operand = SELECT + ( boolean_result, + csg_primitive, + half_space_2d, + half_space_solid, + solid_model ); + END_TYPE; + + TYPE boolean_operand_2d = SELECT + ( bounded_primitive_2d, + boolean_result_2d ); + END_TYPE; + + TYPE boolean_operator = ENUMERATION OF + ( union, + intersection, + difference ); + END_TYPE; + + TYPE boolean_value = BOOLEAN; + END_TYPE; + + TYPE boundary_aggregated_variable = SELECT + ( aggregated_vector_3d_variable, + application_defined_vector_3d_variable ); + END_TYPE; + + TYPE boundary_curve_scalar_variable = ENUMERATION OF + ( normal_force_per_unit_length ); + END_TYPE; + + TYPE boundary_curve_vector_3d_variable = ENUMERATION OF + ( applied_force_per_unit_length, + applied_moment_per_unit_length ); + END_TYPE; + + TYPE boundary_edge_variable = SELECT + ( boundary_curve_scalar_variable, + boundary_curve_vector_3d_variable, + application_defined_scalar_variable, + application_defined_vector_3d_variable ); + END_TYPE; + + TYPE boundary_surface_scalar_variable = ENUMERATION OF + ( pressure ); + END_TYPE; + + TYPE boundary_surface_vector_3d_variable = ENUMERATION OF + ( applied_force_per_unit_area, + applied_moment_per_unit_area ); + END_TYPE; + + TYPE boundary_variable = SELECT + ( boundary_surface_scalar_variable, + boundary_surface_vector_3d_variable, + application_defined_scalar_variable, + application_defined_vector_3d_variable ); + END_TYPE; + + TYPE bounded_primitive_2d = SELECT + ( area_with_outer_boundary, + circular_area, + elliptic_area, + path_area_with_parameters, + polygonal_area, + rectangular_area ); + END_TYPE; + + TYPE box_characteristic_select = SELECT + ( box_height, + box_width, + box_slant_angle, + box_rotate_angle ); + END_TYPE; + + TYPE box_height = positive_ratio_measure; + END_TYPE; + + TYPE box_rotate_angle = plane_angle_measure; + END_TYPE; + + TYPE box_slant_angle = plane_angle_measure; + END_TYPE; + + TYPE box_width = positive_ratio_measure; + END_TYPE; + + TYPE camera_model_d3_multi_clipping_interection_select = SELECT + ( camera_model_d3_multi_clipping_union, + plane ); + END_TYPE; + + TYPE camera_model_d3_multi_clipping_union_select = SELECT + ( camera_model_d3_multi_clipping_intersection, + plane ); + END_TYPE; + + TYPE capacitance_measure = REAL; + END_TYPE; + + TYPE category_usage_item = SELECT + ( product_class ); + END_TYPE; + + TYPE cc_classified_item = SELECT + ( assembly_component_usage, + product_definition_formation ); + END_TYPE; + + TYPE cc_person_organization_item = SELECT + ( change, + change_request, + configuration_item, + contract, + product, + product_definition, + product_definition_formation, + security_classification, + start_request, + start_work ); + END_TYPE; + + TYPE cc_specified_item = SELECT + ( product_definition, + shape_aspect ); + END_TYPE; + + TYPE cell_shape = SELECT + ( cell_shape_0d, + cell_shape_1d, + cell_shape_2d, + cell_shape_3d ); + END_TYPE; + + TYPE cell_shape_0d = ENUMERATION OF + ( single ); + END_TYPE; + + TYPE cell_shape_1d = ENUMERATION OF + ( line ); + END_TYPE; + + TYPE cell_shape_2d = ENUMERATION OF + ( quadrilateral, + triangle ); + END_TYPE; + + TYPE cell_shape_3d = ENUMERATION OF + ( hexahedron, + pyramid, + tetrahedron, + wedge ); + END_TYPE; + + TYPE celsius_temperature_measure = REAL; + END_TYPE; + + TYPE central_or_parallel = ENUMERATION OF + ( central, + parallel ); + END_TYPE; + + TYPE certification_item = SELECT + ( alternate_product_relationship, + make_from_usage_option, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship ); + END_TYPE; + + TYPE certified_item = SELECT + ( supplied_part_relationship ); + END_TYPE; + + TYPE chained_representation_link = SELECT + ( mapped_item, + representation_context, + representation_relationship ); + END_TYPE; + + TYPE change_management_object = SELECT + ( action, + action_items, + action_relationship, + class, + event_occurrence, + project_item ); + END_TYPE; + + TYPE change_relationship_select = SELECT + ( action_relationship, + product_definition_formation_relationship, + product_definition_relationship, + shape_aspect_relationship ); + END_TYPE; + + TYPE change_request_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE character_spacing_select = SELECT + ( length_measure, + ratio_measure, + measure_with_unit, + descriptive_measure ); + END_TYPE; + + TYPE character_style_select = SELECT + ( character_glyph_style_stroke, + character_glyph_style_outline, + text_style_for_defined_font ); + END_TYPE; + + TYPE characterized_action_definition = SELECT + ( action, + action_method, + action_method_relationship, + action_relationship ); + END_TYPE; + + TYPE characterized_definition = SELECT + ( characterized_object, + characterized_product_definition, + shape_definition ); + END_TYPE; + + TYPE characterized_material_property = SELECT + ( material_property_representation, + product_material_composition_relationship ); + END_TYPE; + + TYPE characterized_product_composition_value = SELECT + ( measure_with_unit ); + END_TYPE; + + TYPE characterized_product_definition = SELECT + ( product_definition, + product_definition_relationship ); + END_TYPE; + + TYPE characterized_resource_definition = SELECT + ( action_resource, + action_resource_requirement ); + END_TYPE; + + TYPE choose_general_property_identifier = SELECT + ( defined_data_name, + externally_defined_item ); + END_TYPE; + + TYPE choose_geometry_location = SELECT + ( externally_defined_item, + shape_representation ); + END_TYPE; + + TYPE choose_representation_context_identifier = SELECT + ( defined_data_class, + externally_defined_item ); + END_TYPE; + + TYPE class_usage_effectivity_context_item = SELECT + ( product_definition ); + END_TYPE; + + TYPE classification_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + action_request_status, + address, + alternate_product_relationship, + applied_action_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_contract_assignment, + applied_date_and_time_assignment, + applied_date_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval, + approval_person_organization, + approval_relationship, + approval_status, + assembly_component_usage_substitute, + calendar_date, + certification, + characterized_class, + characterized_object, + class, + classified_item, + configuration_item, + context_dependent_unit, + contract, + conversion_based_unit, + date_and_time, + date_and_time_assignment, + date_assignment, + derived_unit, + descriptive_representation_item, + directed_action, + document_file, + document_relationship, + document_type, + effectivity, + event_occurrence, + executed_action, + feature_definition, + general_feature, + general_property, + general_property_relationship, + group, + identification_assignment, + information_right, + information_usage_right, + language, + material_designation, + measure_representation_item, + measure_with_unit, + multi_language_attribute_assignment, + named_unit, + organization, + organization_relationship, + organizational_address, + organizational_project, + organizational_project_relationship, + person, + person_and_organization_address, + plus_minus_tolerance, + process_operation, + product, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + property_definition, + property_definition_representation, + representation, + representation_context, + representation_item, + resource_property, + security_classification, + security_classification_level, + shape_aspect, + state_type, + state_type_assignment, + state_type_relationship, + uncertainty_measure_with_unit, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE classified_item = SELECT + ( product, + product_definition, + product_definition_formation ); + END_TYPE; + + TYPE closed_or_open_shell_select = SELECT + ( closed_shell, + open_shell ); + END_TYPE; + + TYPE common_datum_list = LIST [2 : ?] OF datum_reference_element; + WHERE + wr1: ( SIZEOF( QUERY ( dre <* SELF | ( dre\shape_aspect.of_shape <> SELF[1]\shape_aspect.of_shape ) ) ) = 0 ); + END_TYPE; + + TYPE compound_inner_area_boundary = SELECT + ( set_inner_area_boundary ); + END_TYPE; + + TYPE compound_item_definition = SELECT + ( list_representation_item, + set_representation_item ); + END_TYPE; + + TYPE conductance_measure = REAL; + END_TYPE; + + TYPE configuration_design_item = SELECT + ( product_definition, + product_definition_formation ); + END_TYPE; + + TYPE configured_effectivity_context_item = SELECT + ( product_concept_feature_association ); + END_TYPE; + + TYPE configured_effectivity_item = SELECT + ( action_relationship, + process_plan, + product_definition, + product_process_plan ); + END_TYPE; + + TYPE constraint_group_member = SELECT + ( explicit_constraint, + simultaneous_constraint_group ); + END_TYPE; + + TYPE constructive_geometry_representation_or_shape_represenation = SELECT + ( constructive_geometry_representation, + shape_representation ); + END_TYPE; + + TYPE context_dependent_measure = REAL; + END_TYPE; + + TYPE contract_item = SELECT + ( action_directive, + alternate_product_relationship, + directed_action, + drawing_revision, + executed_action, + information_usage_right, + organization, + person_and_organization, + product, + product_definition_formation ); + END_TYPE; + + TYPE contracted_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE coordinate_data_name = ENUMERATION OF + ( coordinate_eta, + coordinate_normal, + coordinate_phi, + coordinate_r, + coordinate_tangential, + coordinate_theta, + coordinate_transform, + coordinate_x, + coordinate_xi, + coordinate_y, + coordinate_z, + coordinate_zeta ); + END_TYPE; + + TYPE coordinate_system_type = ENUMERATION OF + ( cartesian, + cylindrical, + spherical ); + END_TYPE; + + TYPE count_measure = NUMBER; + END_TYPE; + + TYPE csg_2d_area_select = SELECT + ( axis2_placement_2d, + csg_primitive_solid_2d ); + END_TYPE; + + TYPE csg_2d_shape_select = SELECT + ( mapped_item, + axis2_placement_2d, + csg_solid_2d ); + END_TYPE; + + TYPE csg_primitive = SELECT + ( block, + bounded_primitive_2d, +(* The following five items have been added to resolve BZ#5057. *) + cyclide_segment_solid, + eccentric_cone, + ellipsoid, + faceted_primitive, + rectangular_pyramid, +(* end of insertion *) + right_angular_wedge, + right_circular_cone, + right_circular_cylinder, + sphere, + torus ); + END_TYPE; + + TYPE csg_select = SELECT + ( boolean_result, + csg_primitive ); + END_TYPE; + + TYPE csg_select_2d = SELECT + ( bounded_primitive_2d, + boolean_result_2d ); + END_TYPE; + + TYPE current_element_assignment_select = SELECT + ( modify_element, + add_element ); + END_TYPE; + + TYPE curve_2d_element_descriptor = SELECT + ( axisymmetric_curve_2d_element_descriptor, + plane_curve_2d_element_descriptor ); + END_TYPE; + + TYPE curve_2d_element_output_reference = SELECT + ( curve_2d_element_representation, + curve_2d_element_descriptor, + curve_2d_element_group, + curve_2d_substructure_element_reference, + analysis_item_within_representation ); + END_TYPE; + + TYPE curve_2d_element_representation = SELECT + ( axisymmetric_curve_2d_element_representation, + plane_curve_2d_element_representation ); + END_TYPE; + + TYPE curve_2d_state_coordinate_system = SELECT + ( fea_axis2_placement_3d, + curve_2d_element_coordinate_system ); + END_TYPE; + + TYPE curve_3d_element_coordinate_system = SELECT + ( aligned_curve_3d_element_coordinate_system, + parametric_curve_3d_element_coordinate_system ); + END_TYPE; + + TYPE curve_3d_element_length_integration = SELECT + ( element_integration_algebraic, + curve_3d_element_length_integration_rule, + curve_3d_element_length_integration_explicit ); + END_TYPE; + + TYPE curve_3d_element_output_reference = SELECT + ( curve_3d_element_representation, + curve_3d_element_descriptor, + curve_3d_element_group, + curve_3d_substructure_element_reference, + analysis_item_within_representation ); + END_TYPE; + + TYPE curve_3d_state_coordinate_system = SELECT + ( fea_axis2_placement_3d, + curve_3d_element_coordinate_system ); + END_TYPE; + + TYPE curve_edge = ENUMERATION OF + ( element_edge ); + END_TYPE; + + TYPE curve_element_end_coordinate_system = SELECT + ( fea_axis2_placement_3d, + curve_3d_element_coordinate_system ); + END_TYPE; + + TYPE curve_element_freedom = SELECT + ( enumerated_curve_element_freedom, + application_defined_degree_of_freedom ); + END_TYPE; + + TYPE curve_element_purpose = SELECT + ( enumerated_curve_element_purpose, + application_defined_element_purpose ); + END_TYPE; + + TYPE curve_element_variable = SELECT + ( volume_variable, + curve_scalar_variable, + curve_vector_2d_variable, + application_defined_vector_2d_variable, + curve_vector_3d_variable ); + END_TYPE; + + TYPE curve_font_or_scaled_curve_font_select = SELECT + ( curve_style_font_select, + curve_style_font_and_scaling ); + END_TYPE; + + TYPE curve_matrix_property_type = SELECT + ( enumerated_curve_matrix_property_type, + application_defined_matrix_property_type ); + END_TYPE; + + TYPE curve_on_surface = SELECT + ( composite_curve_on_surface, + pcurve, + surface_curve ); + END_TYPE; + + TYPE curve_or_annotation_curve_occurrence = SELECT + ( curve, + annotation_curve_occurrence ); + END_TYPE; + + TYPE curve_or_curve_set = SELECT + ( curve, + geometric_curve_set ); + END_TYPE; + + TYPE curve_or_render = SELECT + ( curve_style, + curve_style_rendering ); + END_TYPE; + + TYPE curve_or_surface_constraint_element = SELECT + ( curve, + surface ); + END_TYPE; + + TYPE curve_scalar_variable = ENUMERATION OF + ( curve_axial_force, + curve_axial_strain, + torque, + curve_warping, + bi_moment, + twist ); + END_TYPE; + + TYPE curve_style_font_select = SELECT + ( curve_style_font, + pre_defined_curve_font, + externally_defined_curve_font ); + END_TYPE; + + TYPE curve_vector_2d_variable = ENUMERATION OF + ( curve_shear_force, + curve_bending_moment, + curve_element_curvature, + curve_thermal_gradient, + reference_curve_thermal_gradient ); + END_TYPE; + + TYPE curve_vector_3d_variable = ENUMERATION OF + ( applied_force_per_unit_length, + applied_moment_per_unit_length ); + END_TYPE; + + TYPE curves_or_area = ENUMERATION OF + ( curves, + area ); + END_TYPE; + + TYPE cylindrical_harmonic_number = INTEGER; + WHERE + wr1: ( SELF >= 0 ); + END_TYPE; + + TYPE date_and_time_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval_person_organization, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + directed_action, + document, + document_file, + draughting_model, + drawing_revision, + effectivity, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + rule_action, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE date_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval_person_organization, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + directed_action, + document, + document_file, + draughting_model, + drawing_revision, + effectivity, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE date_time_item = SELECT + ( approval_person_organization, + certification, + change, + change_request, + contract, + product_definition, + security_classification, + start_request, + start_work ); + END_TYPE; + + TYPE date_time_or_event_occurrence = SELECT + ( date_time_select, + event_occurrence ); + END_TYPE; + + TYPE date_time_select = SELECT + ( date, + date_and_time, + local_time ); + END_TYPE; + + TYPE datum_or_common_datum = SELECT + ( common_datum_list, + datum ); + END_TYPE; + + TYPE datum_reference_modifier = SELECT + ( datum_reference_modifier_with_value, + simple_datum_reference_modifier ); + END_TYPE; + + TYPE datum_reference_modifier_type = ENUMERATION OF + ( circular_or_cylindrical, + distance, + projected, + spherical ); + END_TYPE; + + TYPE datum_system_or_reference = SELECT + ( datum_reference, + datum_system ); + END_TYPE; + + TYPE day_in_month_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 31 ) ); + END_TYPE; + + TYPE day_in_week_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 7 ) ); + END_TYPE; + + TYPE day_in_year_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 366 ) ); + END_TYPE; + + TYPE defined_data_class = ENUMERATION OF + ( application_defined, + dimensional, + dimensionless_constant, + dimensionless_parameter, + normalise_by_unknown_dimensional, + normalised_by_dimensional, + unspecified ); + END_TYPE; + + TYPE defined_data_name = SELECT + ( coordinate_data_name, + (* The following line is added as patch for BZ#5048 *) + property_3d_data_name, + fd_defined_data_name ); + END_TYPE; + + (* The following enumeration is added as patch for BZ#5048 *) + TYPE property_3d_data_name = ENUMERATION OF + ( acceleration, + displacement, + force, + momentum, + position, + skin_friction, + velocity, + vorticity ); + END_TYPE; + + TYPE defined_glyph_select = SELECT + ( pre_defined_character_glyph, + externally_defined_character_glyph ); + END_TYPE; + + TYPE defined_symbol_select = SELECT + ( pre_defined_symbol, + externally_defined_symbol ); + END_TYPE; + + TYPE degree_of_freedom = SELECT + ( enumerated_degree_of_freedom, + application_defined_degree_of_freedom ); + END_TYPE; + + TYPE derived_property_select = SELECT + ( property_definition, + action_property, + resource_property ); + END_TYPE; + + TYPE description_attribute_select = SELECT + ( action_request_solution, + application_context, + approval_role, + configuration_design, + context_dependent_shape_representation, + date_role, + date_time_role, + effectivity, + external_source, + organization_role, + organizational_project, + person_and_organization, + person_and_organization_role, + property_definition_representation, + representation ); + END_TYPE; + + TYPE descriptive_measure = STRING; + END_TYPE; + + TYPE detailed_report_type = ENUMERATION OF + ( measured_element, + inferior_quality_element ); + END_TYPE; + + TYPE dimension_count = INTEGER; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE dimension_extent_usage = ENUMERATION OF + ( origin, + target ); + END_TYPE; + + TYPE dimensional_characteristic = SELECT + ( dimensional_location, + dimensional_size ); + END_TYPE; + + TYPE direction_count_select = SELECT + ( u_direction_count, + v_direction_count ); + END_TYPE; + + TYPE directionally_explicit_element_coordinate_system = SELECT + ( directionally_explicit_element_coordinate_system_arbitrary, + directionally_explicit_element_coordinate_system_aligned ); + END_TYPE; + + TYPE discretised_action_model_select = SELECT + ( analysis_step, + model_action_domain ); + END_TYPE; + + TYPE discretised_distribution_model_select = SELECT + ( model_property_distribution, + state_definition ); + END_TYPE; + + TYPE discretised_product_model_select = SELECT + ( fea_model, + model_product_domain ); + END_TYPE; + + TYPE discretised_state_model_select = SELECT + ( model_state_domain, + state ); + END_TYPE; + + TYPE document_identifier_assigned_item = SELECT + ( document ); + END_TYPE; + + TYPE document_reference_item = SELECT + ( action_directive, + action_method, + action_relationship, + applied_action_assignment, + applied_external_identification_assignment, + approval, + assembly_component_usage, + certification, + characterized_class, + characterized_object, + class, + class_system, + configuration_design, + configuration_item, + contract, + descriptive_representation_item, + dimensional_size, + executed_action, + externally_conditioned_data_quality_criterion, + externally_defined_dimension_definition, + externally_defined_item, + feature_definition, + general_property, + group, + group_relationship, + information_right, + information_usage_right, + material_designation, + measure_representation_item, + organization, + organizational_project, + person, + presentation_area, + process_plan, + product, + product_category, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_process, + product_definition_relationship, + product_definition_substitute, + product_related_product_category, + property_definition, + representation, + representation_item, + resource_requirement_type, + retention, + rule_set, + security_classification, + shape_aspect, + shape_aspect_relationship, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE dose_equivalent_measure = REAL; + END_TYPE; + + TYPE draughting_callout_element = SELECT + ( annotation_curve_occurrence, + annotation_fill_area_occurrence, + annotation_symbol_occurrence, + annotation_text_occurrence, + tessellated_annotation_occurrence ); + END_TYPE; + + TYPE draughting_model_item_association_select = SELECT + ( annotation_occurrence, + draughting_callout ); + END_TYPE; + + TYPE draughting_model_item_definition = SELECT + ( applied_action_assignment, + applied_action_method_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_classification_assignment, + applied_contract_assignment, + applied_date_and_time_assignment, + applied_date_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_group_assignment, + applied_identification_assignment, + applied_ineffectivity_assignment, + applied_name_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + applied_time_interval_assignment, + applied_usage_right, + dimensional_size, + geometric_tolerance, + product_definition_relationship, + product_definition_shape, + property_definition, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE draughting_model_item_select = SELECT + ( mapped_item, + styled_item, + axis2_placement, + camera_model, + draughting_callout ); + END_TYPE; + + TYPE draughting_subfigure_representation_item = SELECT + ( annotation_occurrence, + draughting_callout, + axis2_placement ); + END_TYPE; + + TYPE draughting_symbol_representation_item = SELECT + ( annotation_curve_occurrence, + annotation_symbol_occurrence, + annotation_fill_area_occurrence, + annotation_text_occurrence, + axis2_placement ); + END_TYPE; + + TYPE draughting_titled_item = SELECT + ( drawing_revision, + drawing_sheet_revision ); + END_TYPE; + + TYPE edge_or_curve = SELECT + ( curve, + edge ); + END_TYPE; + + TYPE effectivity_item = SELECT + ( action, + action_method, + action_method_relationship, + action_property, + action_relationship, + assembly_component_usage_substitute, + class, + class_system, + configuration_design, + configuration_item, + configured_effectivity_assignment, + document_file, + draughting_model, + drawing_revision, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification, + shape_aspect, + shape_representation ); + END_TYPE; + + TYPE electric_charge_measure = REAL; + END_TYPE; + + TYPE electric_current_measure = REAL; + END_TYPE; + + TYPE electric_potential_measure = REAL; + END_TYPE; + + TYPE element_2d_shape = ENUMERATION OF + ( quadrilateral, + triangle ); + END_TYPE; + + TYPE element_aspect = SELECT + ( element_volume, + volume_3d_face, + volume_2d_face, + volume_3d_edge, + volume_2d_edge, + surface_3d_face, + surface_2d_face, + surface_3d_edge, + surface_2d_edge, + curve_edge ); + END_TYPE; + + TYPE element_integration_algebraic = ENUMERATION OF + ( algebraic ); + END_TYPE; + + TYPE element_or_element_group = SELECT + ( element_representation, + element_group ); + END_TYPE; + + TYPE element_order = ENUMERATION OF + ( linear_order, + quadratic_order, + cubic_order ); + END_TYPE; + + TYPE element_volume = ENUMERATION OF + ( volume ); + END_TYPE; + + TYPE elementary_function_enumerators = ENUMERATION OF + ( ef_and, + ef_or, + ef_not, + ef_xor, + ef_negate_i, + ef_add_i, + ef_subtract_i, + ef_multiply_i, + ef_divide_i, + ef_mod_i, + ef_exponentiate_i, + ef_eq_i, + ef_ne_i, + ef_gt_i, + ef_lt_i, + ef_ge_i, + ef_le_i, + ef_abs_i, + ef_max_i, + ef_min_i, + ef_if_i, + ef_negate_r, + ef_reciprocal_r, + ef_add_r, + ef_subtract_r, + ef_multiply_r, + ef_divide_r, + ef_mod_r, + ef_exponentiate_r, + ef_exponentiate_ri, + ef_eq_r, + ef_ne_r, + ef_gt_r, + ef_lt_r, + ef_ge_r, + ef_le_r, + ef_abs_r, + ef_max_r, + ef_min_r, + ef_acos_r, + ef_asin_r, + ef_atan2_r, + ef_cos_r, + ef_exp_r, + ef_ln_r, + ef_log2_r, + ef_log10_r, + ef_sin_r, + ef_sqrt_r, + ef_tan_r, + ef_if_r, + ef_form_c, + ef_rpart_c, + ef_ipart_c, + ef_negate_c, + ef_reciprocal_c, + ef_add_c, + ef_subtract_c, + ef_multiply_c, + ef_divide_c, + ef_exponentiate_c, + ef_exponentiate_ci, + ef_eq_c, + ef_ne_c, + ef_conjugate_c, + ef_abs_c, + ef_arg_c, + ef_cos_c, + ef_exp_c, + ef_ln_c, + ef_sin_c, + ef_sqrt_c, + ef_tan_c, + ef_if_c, + ef_subscript_s, + ef_eq_s, + ef_ne_s, + ef_gt_s, + ef_lt_s, + ef_ge_s, + ef_le_s, + ef_subsequence_s, + ef_concat_s, + ef_size_s, + ef_format, + ef_value, + ef_like, + ef_if_s, + ef_subscript_b, + ef_eq_b, + ef_ne_b, + ef_gt_b, + ef_lt_b, + ef_ge_b, + ef_le_b, + ef_subsequence_b, + ef_concat_b, + ef_size_b, + ef_if_b, + ef_subscript_t, + ef_eq_t, + ef_ne_t, + ef_concat_t, + ef_size_t, + ef_entuple, + ef_detuple, + ef_insert, + ef_remove, + ef_if_t, + ef_sum_it, + ef_product_it, + ef_add_it, + ef_subtract_it, + ef_scalar_mult_it, + ef_dot_prod_it, + ef_sum_rt, + ef_product_rt, + ef_add_rt, + ef_subtract_rt, + ef_scalar_mult_rt, + ef_dot_prod_rt, + ef_norm_rt, + ef_sum_ct, + ef_product_ct, + ef_add_ct, + ef_subtract_ct, + ef_scalar_mult_ct, + ef_dot_prod_ct, + ef_norm_ct, + ef_if, + ef_ensemble, + ef_member_of ); + END_TYPE; + + TYPE elementary_space_enumerators = ENUMERATION OF + ( es_numbers, + es_complex_numbers, + es_reals, + es_integers, + es_logicals, + es_booleans, + es_strings, + es_binarys, + es_maths_spaces, + es_maths_functions, + es_generics ); + END_TYPE; + + TYPE energy_measure = REAL; + END_TYPE; + + TYPE enumerated_curve_element_freedom = ENUMERATION OF + ( x_translation, + y_translation, + z_translation, + x_rotation, + y_rotation, + z_rotation, + warp, + none ); + END_TYPE; + + TYPE enumerated_curve_element_purpose = ENUMERATION OF + ( axial, + y_y_bending, + z_z_bending, + torsion, + x_y_shear, + x_z_shear, + warping ); + END_TYPE; + + TYPE enumerated_curve_matrix_property_type = ENUMERATION OF + ( axial, + y_y_bending, + z_z_bending, + torsion, + x_y_shear, + x_z_shear, + warping, + axial_mass, + y_y_bending_mass, + z_z_bending_mass, + torsion_mass, + x_y_shear_mass, + x_z_shear_mass, + warping_mass, + mass ); + END_TYPE; + + TYPE enumerated_degree_of_freedom = ENUMERATION OF + ( x_translation, + y_translation, + z_translation, + x_rotation, + y_rotation, + z_rotation, + warp ); + END_TYPE; + + TYPE enumerated_matrix_property_type = ENUMERATION OF + ( stiffness, + mass, + damping ); + END_TYPE; + + TYPE enumerated_plane_2d_element_purpose = ENUMERATION OF + ( plane_stress, + plane_strain ); + END_TYPE; + + TYPE enumerated_surface_element_purpose = ENUMERATION OF + ( membrane_direct, + membrane_shear, + bending_direct, + bending_torsion, + normal_to_plane_shear ); + END_TYPE; + + TYPE enumerated_surface_matrix_property_type = ENUMERATION OF + ( membrane_direct, + membrane_shear, + bending_direct, + bending_torsion, + normal_to_plane_shear, + membrane_direct_mass, + membrane_shear_mass, + bending_direct_mass, + bending_torsion_mass, + normal_to_plane_shear_mass, + mass ); + END_TYPE; + + TYPE enumerated_volume_element_purpose = ENUMERATION OF + ( stress_displacement ); + END_TYPE; + + TYPE event_occurrence_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + draughting_model, + drawing_revision, + executed_action, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification_level, + shape_representation ); + END_TYPE; + + TYPE expression_extension_select = SELECT + ( expression_extension_string, + expression_extension_numeric ); + END_TYPE; + + TYPE extension_options = ENUMERATION OF + ( eo_none, + eo_cont, + eo_cont_right, + eo_cont_left ); + END_TYPE; + + TYPE external_identification_item = SELECT + ( action_relationship, + action_request_status, + applied_organization_assignment, + applied_person_and_organization_assignment, + approval, + approval_status, + assembly_bond_definition, + date_and_time_assignment, + date_assignment, + document_file, + external_source, + externally_defined_class, + externally_defined_context_dependent_unit, + externally_defined_conversion_based_unit, + externally_defined_general_property, + externally_defined_picture_representation_item, + externally_defined_representation_item, + generic_product_definition_reference, + organizational_address, + product_definition, + security_classification, + trimmed_curve, + versioned_action_request ); + END_TYPE; + + TYPE face_or_surface = SELECT + ( face, + surface ); + END_TYPE; + + TYPE fd_bc_type_simple = mbna_bc_type_simple; + END_TYPE; + + TYPE fd_behaviour_models = SELECT + ( gas_model, + turbulence_closure, + turbulence_model, + viscosity_model ); + END_TYPE; + + TYPE fd_defined_data_name = SELECT + ( fd_nondimensional_parameter_name, + flow_solution_data_name, + force_moment_data_name, + gas_model_data_name, + riemann_1d_data_name, + thermal_conductivity_model_data_name, + turbulence_closure_data_name, + turbulence_model_data_name, + viscosity_model_data_name ); + END_TYPE; + + TYPE fd_governing_equation_type = mbna_governing_equation_type; + END_TYPE; + + TYPE fd_nondimensional_parameter_name = ENUMERATION OF + ( coef_pressure, + coef_pressure_dynamic, + coef_pressure_reference, + coef_skin_friction_x, + coef_skin_friction_y, + coef_skin_friction_z, + length_reference, + mach, + mach_velocity, + mach_velocity_sound, + prandtl, + prandtl_specific_heat_pressure, + prandtl_thermal_conductivity, + prandtl_viscosity_molecular, + reynolds, + reynolds_length, + reynolds_velocity, + reynolds_viscosity_kinematic, + specific_heat_ratio, + specific_heat_ratio_pressure, + specific_heat_ratio_volume ); + END_TYPE; + + TYPE fea_column_normalised_monoclinic_symmetric_tensor4_3d = ARRAY [1 : 13] OF context_dependent_measure; + END_TYPE; + + TYPE fea_column_normalised_orthotropic_symmetric_tensor4_3d = ARRAY [1 : 9] OF context_dependent_measure; + END_TYPE; + + TYPE fea_iso_orthotropic_symmetric_tensor4_3d = ARRAY [1 : 3] OF context_dependent_measure; + END_TYPE; + + TYPE fea_isotropic_symmetric_tensor4_3d = ARRAY [1 : 2] OF context_dependent_measure; + END_TYPE; + + TYPE fea_transverse_isotropic_symmetric_tensor4_3d = ARRAY [1 : 5] OF context_dependent_measure; + END_TYPE; + + TYPE field_value = SELECT + ( unspecified_value, + scalar, + tensor1_2d, + tensor1_3d, + anisotropic_symmetric_tensor2_2d, + isotropic_symmetric_tensor2_3d, + orthotropic_symmetric_tensor2_3d, + anisotropic_symmetric_tensor2_3d ); + END_TYPE; + + TYPE fill_area_style_tile_shape_select = SELECT + ( fill_area_style_tile_curve_with_style, + fill_area_style_tile_coloured_region, + fill_area_style_tile_symbol_with_style, + pre_defined_tile, + externally_defined_tile ); + END_TYPE; + + TYPE fill_style_select = SELECT + ( fill_area_style_colour, + externally_defined_tile_style, + fill_area_style_tiles, + externally_defined_hatch_style, + fill_area_style_hatching ); + END_TYPE; + + TYPE flow_solution_data_name = ENUMERATION OF + ( density, + density_stagnation, + energy_internal, + energy_kinetic, + energy_stagnation, + energy_stagnation_density, + enthalpy, + enthalpy_stagnation, + entropy, + entropy_approx, + ideal_gas_constant, + mass_flow, + momentum_magnitude, + momentum_x, + momentum_y, + momentum_z, + potential, + pressure, + pressure_dynamic, + pressure_stagnation, + reynolds_stress_xx, + reynolds_stress_xy, + reynolds_stress_xz, + reynolds_stress_yy, + reynolds_stress_yz, + reynolds_stress_zz, + skin_friction_magnitude, + skin_friction_x, + skin_friction_y, + skin_friction_z, + specific_heat_pressure, + specific_heat_volume, + stream_function, + temperature, + temperature_stagnation, + thermal_conductivity, + velocity_angle_x, + velocity_angle_y, + velocity_angle_z, + velocity_magnitude, + velocity_normal, + velocity_phi, + velocity_r, + velocity_sound, + velocity_sound_stagnation, + velocity_tangential, + velocity_theta, + velocity_unit_vector_x, + velocity_unit_vector_y, + velocity_unit_vector_z, + velocity_x, + velocity_y, + velocity_z, + viscosity_eddy, + viscosity_kinematic, + viscosity_molecular, + vorticity_magnitude, + vorticity_x, + vorticity_y, + vorticity_z ); + END_TYPE; + + TYPE font_select = SELECT + ( pre_defined_text_font, + externally_defined_text_font, + text_font ); + END_TYPE; + + TYPE force_measure = REAL; + END_TYPE; + + TYPE force_moment_data_name = ENUMERATION OF + ( coef_drag, + coef_length, + coef_lift, + coef_moment_area, + coef_moment_eta, + coef_moment_phi, + coef_moment_pressure_dynamic, + coef_moment_r, + coef_moment_theta, + coef_moment_x, + coef_moment_xi, + coef_moment_y, + coef_moment_z, + coef_moment_zeta, + drag, + force_phi, + force_r, + force_theta, + force_x, + force_y, + force_z, + lift, + moment_center_x, + moment_center_y, + moment_center_z, + moment_eta, + moment_phi, + moment_r, + moment_theta, + moment_x, + moment_xi, + moment_y, + moment_z, + moment_zeta ); + END_TYPE; + + TYPE founded_item_select = SELECT + ( founded_item, + representation_item ); + END_TYPE; + + TYPE frequency_measure = REAL; + END_TYPE; + + TYPE gas_model_data_name = ENUMERATION OF + ( ideal_gas_constant, + specific_heat_pressure, + specific_heat_ratio, + specific_heat_volume ); + END_TYPE; + + TYPE gas_model_type = ENUMERATION OF + ( application_defined, + ideal, + unspecified, + van_der_waals ); + END_TYPE; + + TYPE generalized_surface_select = SELECT + ( surface, + face_surface, + surfaced_open_shell ); + END_TYPE; + + TYPE geometric_constraint_element = SELECT + ( point, + curve, + surface, + vector, + direction ); + END_TYPE; + + TYPE geometric_item_specific_usage_select = SELECT + ( shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE geometric_model_item = SELECT + ( connected_face_set, + edge_loop, + geometric_representation_item ); + END_TYPE; + + TYPE geometric_set_select = SELECT + ( curve, + point, + surface ); + END_TYPE; + + TYPE geometric_tolerance_modifier = ENUMERATION OF + ( any_cross_section, + common_zone, + each_radial_element, + free_state, + least_material_requirement, + line_element, + major_diameter, + maximum_material_requirement, + minor_diameter, + not_convex, + pitch_diameter, + reciprocity_requirement, + separate_requirement, + statistical_tolerance, + tangent_plane ); + END_TYPE; + + TYPE geometric_tolerance_target = SELECT + ( dimensional_location, + dimensional_size, + product_definition_shape, + shape_aspect ); + END_TYPE; + + TYPE groupable_item = SELECT + ( address, + applied_approval_assignment, + applied_classification_assignment, + applied_document_reference, + applied_external_identification_assignment, + applied_group_assignment, + applied_identification_assignment, + applied_name_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval, + approval_person_organization, + approval_relationship, + approval_status, + assembly_component_usage, + calendar_date, + class, + collection_assignment, + collection_membership, + component_feature, + control, + coordinated_universal_time_offset, + date_and_time, + date_and_time_assignment, + date_assignment, + derived_unit, + derived_unit_element, + document_file, + document_relationship, + external_source, + fea_model, + general_property, + general_property_relationship, + geometric_representation_item, + group, + group_relationship, + local_time, + mapped_item, + measure_qualification, + measure_with_unit, + multi_language_attribute_assignment, + named_unit, + numerical_model, + organization, + organization_relationship, + package_product_concept_feature, + person, + person_and_organization, + precision_qualifier, + product, + product_concept_feature, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_group_assignment, + product_definition_relationship, + product_relationship, + property_definition, + property_definition_representation, + representation, + representation_context, + representation_item, + representation_relationship, + representation_relationship_with_transformation, + result, + security_classification, + shape_aspect, + shape_aspect_relationship, + shape_representation_relationship, + state, + state_definition, + state_relationship, + styled_item, + topological_representation_item, + type_qualifier, + uncertainty_qualifier ); + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GROUP' IN TYPEOF( SELF ) ) ); + END_TYPE; + + TYPE hour_in_day = INTEGER; + WHERE + wr1: ( ( 0 <= SELF ) AND ( SELF < 24 ) ); + END_TYPE; + + TYPE id_attribute_select = SELECT + ( action, + address, + application_context, + dimensional_size, + geometric_tolerance, + group, + organizational_project, + product_category, + property_definition, + representation, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE idealised_action_select = SELECT + ( action, + physical_action_domain ); + END_TYPE; + + TYPE idealised_distribution_select = SELECT + ( domain_property, + property_definition ); + END_TYPE; + + TYPE idealised_product_select = SELECT + ( physical_product_domain, + product_definition ); + END_TYPE; + + TYPE idealised_state_select = SELECT + ( physical_state_domain, + state_type ); + END_TYPE; + + TYPE identification_item = SELECT + ( action, + action_directive, + action_method, + action_property, + applied_identification_assignment, + approval_status, + characterized_class, + class, + class_system, + configuration_item, + contract, + dimensional_size, + document_file, + document_type, + draughting_model, + effectivity, + general_property, + group, + group_relationship, + information_right, + information_usage_right, + material_designation, + measure_representation_item, + mechanical_design_geometric_presentation_representation, + organization, + organizational_project, + person_and_organization, + presentation_area, + product, + product_category, + product_class, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_formation, + product_definition_relationship, + product_identification, + property_definition, + property_definition_relationship, + representation, + rule_set, + security_classification, + security_classification_level, + shape_aspect_relationship, + shape_representation, + state_type, + state_type_relationship, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE identifier = STRING; + END_TYPE; + + TYPE ijk_minmax = ENUMERATION OF + ( i_min, + j_min, + k_min, + i_max, + j_max, + k_max ); + END_TYPE; + + TYPE illuminance_measure = REAL; + END_TYPE; + + TYPE indices_group = SELECT + ( indices_list, + indices_range ); + END_TYPE; + + TYPE inductance_measure = REAL; + END_TYPE; + + TYPE input_selector = positive_integer; + END_TYPE; + + TYPE inspected_ecdq_element_select = inspected_element_select; + END_TYPE; + + TYPE inspected_element_select = SELECT + ( assembly_component_usage, + axis2_placement_3d, + b_spline_or_composite_curve_select, + b_spline_or_rectangular_composite_surface_select, + cartesian_transformation_operator_3d, + closed_or_open_shell_select, + connected_face_set, + curve, + direction, + edge_curve, + edge_loop, + face_surface, + global_uncertainty_assigned_context, + global_unit_assigned_context, + group, + manifold_solid_brep, + placement, + point, + presentation_layer_assignment, + representation_item, + styled_item, + surface, + vertex_point ); + END_TYPE; + + TYPE inspected_shape_element_select = inspected_element_select; + END_TYPE; + + TYPE instance_usage_context_select = SELECT + ( product_definition_relationship, + product_definition_usage ); + END_TYPE; + + TYPE integration_rule = ENUMERATION OF + ( gaussian, + simpson ); + END_TYPE; + + TYPE internal_or_reflected_shape_aspect = SELECT + ( shape_aspect, + identifier ); + END_TYPE; + + TYPE interpolation_type = ENUMERATION OF + ( undefined_interpolation_type, + discontinuous_interpolation_type, + synchronous_interpolation_type, + linear_interpolation_type ); + END_TYPE; + + TYPE invisibility_context = SELECT + ( draughting_model, + presentation_representation, + presentation_set ); + END_TYPE; + + TYPE invisible_item = SELECT + ( draughting_callout, + presentation_layer_assignment, + representation, + styled_item ); + END_TYPE; + + TYPE ir_usage_item = action_items; + END_TYPE; + + TYPE isotropic_symmetric_tensor2_3d = context_dependent_measure; + END_TYPE; + + TYPE item_identified_representation_usage_definition = SELECT + ( applied_action_assignment, + applied_action_method_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_classification_assignment, + applied_contract_assignment, + applied_date_and_time_assignment, + applied_date_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_group_assignment, + applied_identification_assignment, + applied_ineffectivity_assignment, + applied_name_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + applied_time_interval_assignment, + applied_usage_right, + dimensional_size, + general_property, + geometric_tolerance, + product_definition_relationship, + property_definition, + property_definition_relationship, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE item_identified_representation_usage_select = SELECT + ( representation_item, + list_representation_item, + set_representation_item ); + END_TYPE; + + TYPE kinematic_analysis_definition = SELECT + ( interpolated_configuration_sequence, + prescribed_path ); + END_TYPE; + + TYPE kinematic_link_representation_items = SELECT + ( curve, + point, + rigid_placement, + surface ); + END_TYPE; + + TYPE kinematic_result = SELECT + ( interpolated_configuration_sequence, + resulting_path ); + END_TYPE; + + TYPE kinematic_topology_representation_select = SELECT + ( kinematic_topology_structure, + kinematic_topology_directed_structure, + kinematic_topology_network_structure ); + END_TYPE; + + TYPE knot_type = ENUMERATION OF + ( uniform_knots, + quasi_uniform_knots, + piecewise_bezier_knots, + unspecified ); + END_TYPE; + + TYPE label = STRING; + END_TYPE; + + TYPE layered_item = SELECT + ( presentation_representation, + representation_item ); + END_TYPE; + + TYPE length_measure = REAL; + END_TYPE; + + TYPE limit_condition = ENUMERATION OF + ( maximum_material_condition, + least_material_condition, + regardless_of_feature_size ); + END_TYPE; + + TYPE linear_geometry_constraint_element = SELECT + ( line, + plane, + direction, + vector ); + END_TYPE; + + TYPE link_or_shape_representation = SELECT + ( kinematic_link_representation, + shape_representation ); + END_TYPE; + + TYPE list_of_reversible_topology_item = LIST [0 : ?] OF reversible_topology_item; + END_TYPE; + + TYPE list_representation_item = LIST [1 : ?] OF representation_item; + END_TYPE; + + TYPE location_in_aggregate_item = LIST [1 : ?] OF integer_representation_item; + END_TYPE; + + TYPE location_of_extreme_value_select = SELECT + ( inspected_shape_element_select, + b_spline_surface_knot_locator, + b_spline_curve_knot_locator, + b_spline_curve_segment, + b_spline_surface_strip, + b_spline_surface_patch, + composite_curve_transition_locator, + rectangular_composite_surface_transition_locator, + boundary_curve_of_b_spline_or_rectangular_composite_surface, + oriented_edge, + face_bound, + point_on_edge_curve, + point_on_face_surface, + subedge, + subface ); + END_TYPE; + + TYPE lower_upper = ENUMERATION OF + ( lower, + upper ); + END_TYPE; + + TYPE luminous_flux_measure = REAL; + END_TYPE; + + TYPE luminous_intensity_measure = REAL; + END_TYPE; + +TYPE machining_feature_definition = SELECT ( + boss, + compound_feature, + externally_defined_feature_definition, + flat_face, + gear, + marking, + outer_round, + outside_profile, + pocket, + protrusion, + removal_volume, + replicate_feature, + revolved_profile, + rib_top, + round_hole, + rounded_end, + spherical_cap, + step, + slot, + thread, + turned_knurl); +END_TYPE; + + TYPE magnetic_flux_density_measure = REAL; + END_TYPE; + + TYPE magnetic_flux_measure = REAL; + END_TYPE; + + TYPE marker_select = SELECT + ( marker_type, + pre_defined_marker ); + END_TYPE; + + TYPE marker_type = ENUMERATION OF + ( dot, + x, + plus, + asterisk, + ring, + square, + triangle ); + END_TYPE; + + TYPE mass_measure = REAL; + END_TYPE; + + TYPE maths_atom = SELECT + ( maths_simple_atom, + maths_enum_atom ); + END_TYPE; + + TYPE maths_binary = BINARY; + END_TYPE; + + TYPE maths_boolean = BOOLEAN; + END_TYPE; + + TYPE maths_enum_atom = SELECT + ( elementary_space_enumerators, + ordering_type, + lower_upper, + symmetry_type, + elementary_function_enumerators, + open_closed, + space_constraint_type, + repackage_options, + extension_options ); + END_TYPE; + + TYPE maths_expression = SELECT + ( atom_based_value, + maths_tuple, + generic_expression ); + END_TYPE; + + TYPE maths_function_select = SELECT + ( maths_function, + elementary_function_enumerators ); + END_TYPE; + + TYPE maths_integer = INTEGER; + END_TYPE; + + TYPE maths_logical = LOGICAL; + END_TYPE; + + TYPE maths_number = NUMBER; + END_TYPE; + + TYPE maths_real = REAL; + END_TYPE; + + TYPE maths_simple_atom = SELECT + ( maths_number, + maths_real, + maths_integer, + maths_logical, + maths_boolean, + maths_string, + maths_binary ); + END_TYPE; + + TYPE maths_space_or_function = SELECT + ( maths_space, + maths_function ); + END_TYPE; + + TYPE maths_string = STRING; + END_TYPE; + + TYPE maths_tuple = LIST [0 : ?] OF maths_value; + END_TYPE; + + TYPE maths_value = SELECT + ( atom_based_value, + maths_tuple, + generic_expression ); + WHERE + constancy: ( ( NOT ( 'GENERIC_EXPRESSION' IN stripped_typeof( SELF ) ) ) OR expression_is_constant( SELF ) ); + END_TYPE; + + TYPE matrix_property_type = SELECT + ( enumerated_matrix_property_type, + application_defined_matrix_property_type ); + END_TYPE; + + TYPE matrix_symmetry = ENUMERATION OF + ( symmetric, + diagonal ); + END_TYPE; + + TYPE mbna_bc_type = SELECT + ( mbna_bc_type_compound, + mbna_bc_type_simple ); + END_TYPE; + + TYPE mbna_bc_type_compound = ENUMERATION OF + ( application_defined, + bc_farfield, + bc_inflow, + bc_outflow, + unspecified ); + END_TYPE; + + TYPE mbna_bc_type_simple = ENUMERATION OF + ( application_defined, + bc_axissymmetric_wedge, + bc_degenerate_line, + bc_degenerate_point, + bc_dirichlet, + bc_extrapolate, + bc_general, + bc_inflow_subsonic, + bc_inflow_supersonic, + bc_neumann, + bc_outflow_subsonic, + bc_outflow_supersonic, + bc_symmetry_plane, + bc_symmetry_polar, + bc_tunnel_inflow, + bc_tunnel_outflow, + bc_wall, + bc_wall_inviscid, + bc_wall_viscous, + bc_wall_viscous_heat_flux, + bc_wall_viscous_isothermal, + unspecified ); + END_TYPE; + + TYPE mbna_behaviour_models = SELECT + ( thermal_conductivity_model ); + END_TYPE; + + TYPE mbna_governing_equation_type = ENUMERATION OF + ( application_defined, + euler, + full_potential, + ns_laminar, + ns_laminar_incompressible, + ns_turbulent, + ns_turbulent_incompressible, + unspecified ); + END_TYPE; + + TYPE measure_or_unspecified_value = SELECT + ( context_dependent_measure, + unspecified_value ); + END_TYPE; + + TYPE measure_value = SELECT + ( absorbed_dose_measure, + dose_equivalent_measure, + radioactivity_measure, + acceleration_measure, + amount_of_substance_measure, + area_measure, + celsius_temperature_measure, + context_dependent_measure, + count_measure, + descriptive_measure, + capacitance_measure, + electric_charge_measure, + conductance_measure, + electric_current_measure, + electric_potential_measure, + energy_measure, + magnetic_flux_density_measure, + force_measure, + frequency_measure, + illuminance_measure, + inductance_measure, + length_measure, + luminous_flux_measure, + luminous_intensity_measure, + magnetic_flux_measure, + mass_measure, + numeric_measure, + non_negative_length_measure, + parameter_value, + plane_angle_measure, + positive_length_measure, + positive_plane_angle_measure, + positive_ratio_measure, + power_measure, + pressure_measure, + ratio_measure, + resistance_measure, + solid_angle_measure, + thermodynamic_temperature_measure, + time_measure, + velocity_measure, + volume_measure ); + END_TYPE; + + TYPE measured_value_select = SELECT + ( boolean_value, + measure_value, + plane_angle_and_ratio_pair, + plane_angle_and_length_pair ); + END_TYPE; + + TYPE mechanical_design_and_draughting_relationship_select = SELECT + ( draughting_model, + mechanical_design_geometric_presentation_representation, + mechanical_design_presentation_representation_with_draughting, + mechanical_design_shaded_presentation_representation, + shape_representation ); + END_TYPE; + + TYPE mechanical_design_geometric_presentation_area_items = SELECT + ( axis2_placement, + mapped_item ); + END_TYPE; + + TYPE mechanical_design_geometric_presentation_representation_items = SELECT + ( axis2_placement, + camera_model_d3, + mapped_item, + styled_item ); + END_TYPE; + + TYPE mechanical_design_shaded_presentation_area_items = SELECT + ( axis2_placement, + mapped_item ); + END_TYPE; + + TYPE mechanical_design_shaded_presentation_representation_items = SELECT + ( axis2_placement, + camera_model_d3, + mapped_item, + styled_item ); + END_TYPE; + + TYPE mesh_location = ENUMERATION OF + ( application_defined, + cell_centre, + edge_centre, + face_centre, + iface_centre, + jface_centre, + kface_centre, + unspecified, + vertices ); + END_TYPE; + + TYPE mesh_maths_space_type = ENUMERATION OF + ( cells, + vertices ); + END_TYPE; + + TYPE message = STRING; + END_TYPE; + + TYPE message_level = ENUMERATION OF + ( error, + warning, + note ); + END_TYPE; + + TYPE minute_in_hour = INTEGER; + WHERE + wr1: ( ( 0 <= SELF ) AND ( SELF <= 59 ) ); + END_TYPE; + + TYPE mismatched_region_type = ENUMERATION OF + ( abutting, + overset ); + END_TYPE; + + TYPE model_or_control_element = SELECT + ( element_representation, + constraint_element ); + END_TYPE; + + TYPE month_in_year_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 12 ) ); + END_TYPE; + + TYPE multi_language_attribute_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + actuated_kinematic_pair, + alternate_product_relationship, + application_context, + applied_certification_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organizational_project_assignment, + approval, + approval_relationship, + approval_status, + assembly_component_usage_substitute, + attribute_value_assignment, + certification, + certification_type, + colour, + configuration_design, + configuration_item, + contract, + data_environment, + date_role, + date_time_role, + descriptive_representation_item, + document_relationship, + document_usage_role, + draughting_title, + effectivity, + effectivity_relationship, + event_occurrence, + external_source, + general_property, + general_property_relationship, + geometric_representation_item, + geometric_tolerance, + group, + group_relationship, + identification_role, + information_right, + information_usage_right, + kinematic_pair, + make_from_usage_option, + mapped_item, + name_assignment, + object_role, + organization_relationship, + organization_role, + organizational_project, + organizational_project_relationship, + organizational_project_role, + person_and_organization, + person_and_organization_role, + presentation_layer_assignment, + process_product_association, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_relationship, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_shape, + product_definition_substitute, + product_related_product_category, + property_definition, + property_definition_relationship, + representation, + representation_relationship, + requirement_for_action_resource, + resource_property, + resource_requirement_type, + security_classification, + security_classification_assignment, + shape_aspect, + shape_aspect_relationship, + shape_representation, + styled_item, + time_interval_role, + topological_representation_item, + uncertainty_measure_with_unit, + uncertainty_qualifier, + usage_association, + versioned_action_request, + versioned_action_request_relationship ); + END_TYPE; + + TYPE multi_or_next_assembly_usage_occurrence = SELECT + ( multi_level_reference_designator, + next_assembly_usage_occurrence ); + END_TYPE; + + TYPE name_attribute_select = SELECT + ( action_request_solution, + address, + configuration_design, + context_dependent_shape_representation, + derived_unit, + effectivity, + person_and_organization, + product_definition, + product_definition_substitute, + property_definition_representation ); + END_TYPE; + + TYPE name_item = SELECT + ( assembly_component_usage, + external_class_library, + group, + group_relationship, + product, + product_definition ); + END_TYPE; + + TYPE node_or_node_group = SELECT + ( node_representation, + node_group ); + END_TYPE; + + TYPE node_output_reference = SELECT + ( node_representation, + node_group, + substructure_node_reference, + analysis_item_within_representation ); + END_TYPE; + + TYPE non_negative_length_measure = length_measure; + WHERE + wr1: ( SELF >= 0 ); + END_TYPE; + + TYPE nonnegative_integer = INTEGER; + WHERE + nonnegativity: ( SELF >= 0 ); + END_TYPE; + + TYPE null_style = ENUMERATION OF + ( null ); + END_TYPE; + + TYPE numeric_measure = NUMBER; + END_TYPE; + + TYPE one_or_two = positive_integer; + WHERE + in_range: ( ( SELF = 1 ) OR ( SELF = 2 ) ); + END_TYPE; + + TYPE open_closed = ENUMERATION OF + ( open, + closed ); + END_TYPE; + + TYPE ordering_type = ENUMERATION OF + ( by_rows, + by_columns ); + END_TYPE; + + TYPE organization_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + document_file, + document_type, + draughting_model, + drawing_revision, + effectivity, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + rule_action, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE orientation_basis_select = SELECT + ( axis2_placement_3d, + min_and_major_ply_orientation_basis ); + END_TYPE; + + TYPE orthotropic_symmetric_tensor2_3d = ARRAY [1 : 3] OF context_dependent_measure; + END_TYPE; + + TYPE parallel_offset_type = ENUMERATION OF + ( curve_2d_offset, + curve_3d_offset, + surface_offset ); + END_TYPE; + + TYPE parameter_value = REAL; + END_TYPE; + + TYPE path_or_composite_curve = SELECT + ( composite_curve, + path ); + END_TYPE; + + TYPE pcurve_or_surface = SELECT + ( pcurve, + surface ); + END_TYPE; + + TYPE person_and_organization_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + document_file, + document_type, + draughting_model, + drawing_revision, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + rule_action, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE person_organization_select = SELECT + ( person, + organization, + person_and_organization ); + END_TYPE; + + TYPE picture_representation_item_select = SELECT + ( styled_item, + planar_box, + axis2_placement_2d ); + END_TYPE; + + TYPE planar_curve_select = SELECT + ( line, + conic, + trimmed_curve, + pcurve, + surface_curve ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + wr2: check_curve_planarity( SELF ); + END_TYPE; + + TYPE plane_2d_element_purpose = SELECT + ( enumerated_plane_2d_element_purpose, + application_defined_element_purpose ); + END_TYPE; + + TYPE plane_angle_measure = REAL; + END_TYPE; + + TYPE plane_or_planar_box = SELECT + ( plane, + planar_box ); + END_TYPE; + + TYPE point_and_vector_member = SELECT + ( point, + direction ); + END_TYPE; + + TYPE point_and_vector_members = LIST [2 : 3] OF point_and_vector_member; + END_TYPE; + + TYPE point_curve_or_surface_constraint_element = SELECT + ( point, + curve, + surface ); + END_TYPE; + + TYPE point_path_members = LIST [1 : ?] OF point_and_vector; + END_TYPE; + + TYPE point_placement_shape_representation_item = SELECT + ( compound_representation_item, + mapped_item, + axis2_placement_3d ); + END_TYPE; + + TYPE positive_integer = nonnegative_integer; + WHERE + positivity: ( SELF > 0 ); + END_TYPE; + + TYPE positive_length_measure = non_negative_length_measure; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE positive_plane_angle_measure = plane_angle_measure; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE positive_ratio_measure = ratio_measure; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE power_measure = REAL; + END_TYPE; + + TYPE preferred_ordering = ENUMERATION OF + ( extremity_order, + detected_order ); + END_TYPE; + + TYPE preferred_surface_curve_representation = ENUMERATION OF + ( curve_3d, + pcurve_s1, + pcurve_s2 ); + END_TYPE; + + TYPE presentable_text = STRING; + WHERE + wr1: control_characters_free( SELF ); + END_TYPE; + + TYPE presentation_representation_select = SELECT + ( presentation_representation, + presentation_set ); + END_TYPE; + + TYPE presentation_size_assignment_select = SELECT + ( presentation_view, + presentation_area, + area_in_set ); + END_TYPE; + + TYPE presentation_style_select = SELECT + ( point_style, + curve_style, + surface_style_usage, + symbol_style, + fill_area_style, + text_style, + externally_defined_style, + null_style ); + END_TYPE; + + TYPE presented_item_select = SELECT + ( action, + action_method, + action_relationship, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_formation, + product_definition_relationship ); + END_TYPE; + + TYPE pressure_measure = REAL; + END_TYPE; + + TYPE previous_element_assignment_select = SELECT + ( modify_element, + delete_element ); + END_TYPE; + + TYPE product_definition_or_assembly_relationship = SELECT + ( assembly_component_usage, + product_definition ); + END_TYPE; + + TYPE product_definition_or_breakdown_element_usage = SELECT + ( product_definition, + product_definition_usage ); + END_TYPE; + + TYPE product_definition_or_product_definition_relationship = SELECT + ( product_definition, + product_definition_usage ); + END_TYPE; + + TYPE product_definition_or_reference = SELECT + ( product_definition, + generic_product_definition_reference ); + END_TYPE; + + TYPE product_or_formation_or_definition = SELECT + ( product, + product_definition_formation, + product_definition ); + END_TYPE; + + TYPE product_space = SELECT + ( uniform_product_space, + listed_product_space ); + END_TYPE; + + TYPE project_item = SELECT + ( assembly_component_usage, + configuration_item, + executed_action, + product, + product_concept, + product_definition, + product_definition_formation ); + END_TYPE; + + TYPE property_distribution_select = SELECT + ( action_property, + general_property_relationship, + model_property_distribution, + property_definition, + resource_property ); + END_TYPE; + + TYPE property_or_shape_select = SELECT + ( property_definition, + shape_definition ); + END_TYPE; + + TYPE property_variable_rep_select = SELECT + ( dimensional_size, + representation ); + END_TYPE; + + TYPE radial_geometry_constraint_element = SELECT + ( circle, + cylindrical_surface, + conical_surface, + spherical_surface, + right_circular_cylinder, + right_circular_cone, + sphere ); + END_TYPE; + + TYPE radioactivity_measure = REAL; + END_TYPE; + + TYPE ratio_measure = REAL; + END_TYPE; + + TYPE real_interval = SELECT + ( real_interval_from_min, + real_interval_to_max, + finite_real_interval, + elementary_space ); + WHERE + wr1: ( ( NOT ( 'ELEMENTARY_SPACE' IN stripped_typeof( SELF ) ) ) OR ( SELF\elementary_space.space_id = es_reals ) ); + END_TYPE; + + TYPE rendering_properties_select = SELECT + ( surface_style_reflectance_ambient, + surface_style_transparent ); + END_TYPE; + + TYPE repackage_options = ENUMERATION OF + ( ro_nochange, + ro_wrap_as_tuple, + ro_unwrap_tuple ); + END_TYPE; + + TYPE represented_definition = SELECT + ( general_property, + property_definition, + property_definition_relationship, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE requirement_assigned_item = SELECT + ( assembly_joint, + configuration_item, + descriptive_representation_item, + product, + product_class, + product_definition, + product_definition_formation, + product_definition_relationship, + representation, + shape_aspect ); + END_TYPE; + + TYPE requirement_satisfaction_item = SELECT + ( requirement_assigned_item ); + END_TYPE; + + TYPE requirement_source_item = SELECT + ( characterized_object, + group, + group_relationship, + product, + product_definition, + product_definition_formation, + product_definition_relationship, + shape_aspect ); + END_TYPE; + + TYPE resistance_measure = REAL; + END_TYPE; + + TYPE reversible_topology = SELECT + ( reversible_topology_item, + list_of_reversible_topology_item, + set_of_reversible_topology_item ); + END_TYPE; + + TYPE reversible_topology_item = SELECT + ( edge, + path, + face, + face_bound, + closed_shell, + open_shell ); + END_TYPE; + + TYPE riemann_1d_data_name = ENUMERATION OF + ( characteristic_acoustic_minus, + characteristic_acoustic_plus, + characteristic_entropy, + characteristic_vorticity1, + characteristic_vorticity2, + riemann_invariant_minus, + riemann_invariant_plus ); + END_TYPE; + + TYPE rigid_placement = SELECT + ( axis2_placement_3d, + su_parameters ); + END_TYPE; + + TYPE role_select = SELECT + ( action_assignment, + action_request_assignment, + approval_assignment, + approval_date_time, + certification_assignment, + contract_assignment, + document_reference, + effectivity_assignment, + group_assignment, + name_assignment, + security_classification_assignment ); + END_TYPE; + + TYPE rule_superseded_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE scalar = context_dependent_measure; + END_TYPE; + + TYPE second_in_minute = REAL; + WHERE + wr1: ( ( 0 <= SELF ) AND ( SELF < 60 ) ); + END_TYPE; + + TYPE security_classification_item = SELECT + ( action, + action_directive, + action_property, + applied_action_assignment, + assembly_component_usage, + assembly_component_usage_substitute, + class_system, + configuration_design, + configuration_effectivity, + configured_effectivity_assignment, + document, + document_file, + draughting_model, + drawing_revision, + executed_action, + general_property, + make_from_usage_option, + material_designation, + mechanical_design_geometric_presentation_representation, + organizational_project, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_formation, + product_definition_relationship, + product_definition_usage, + property_definition, + resource_property, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE set_inner_area_boundary = SET [1 : ?] OF bounded_primitive_2d; + END_TYPE; + + TYPE set_of_reversible_topology_item = SET [0 : ?] OF reversible_topology_item; + END_TYPE; + + TYPE set_representation_item = SET [1 : ?] OF representation_item; + END_TYPE; + + TYPE shading_curve_method = ENUMERATION OF + ( constant_colour, + linear_colour ); + END_TYPE; + + TYPE shading_surface_method = ENUMERATION OF + ( constant_shading, + colour_shading, + dot_shading, + normal_shading ); + END_TYPE; + + TYPE shape_data_quality_assessment_specification_select = SELECT + ( shape_data_quality_assessment_by_logical_test, + shape_data_quality_assessment_by_numerical_test ); + END_TYPE; + + TYPE shape_data_quality_value_limit_type_select = SELECT + ( shape_data_quality_value_range, + shape_data_quality_value_limit ); + END_TYPE; + + TYPE shape_definition = SELECT + ( product_definition_shape, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE shape_dimension_representation_item = SELECT + ( compound_representation_item, + descriptive_representation_item, + measure_representation_item, + placement ); + END_TYPE; + + TYPE shape_function = ENUMERATION OF + ( lagrangian_function, + serendipity_function, + hermitian_function, + unspecified_function ); + END_TYPE; + + TYPE shape_model = SELECT + ( constructive_geometry_representation, + shape_representation ); + END_TYPE; + + TYPE shape_representation_item = SELECT + ( geometric_representation_item, + topological_representation_item ); + END_TYPE; + + TYPE shape_representation_with_parameters_items = SELECT + ( descriptive_representation_item, + direction, + measure_representation_item, + placement ); + END_TYPE; + + TYPE shell = SELECT + ( vertex_shell, + wire_shell, + open_shell, + closed_shell ); + END_TYPE; + + TYPE si_prefix = ENUMERATION OF + ( exa, + peta, + tera, + giga, + mega, + kilo, + hecto, + deca, + deci, + centi, + milli, + micro, + nano, + pico, + femto, + atto ); + END_TYPE; + + TYPE si_unit_name = ENUMERATION OF + ( metre, + gram, + second, + ampere, + kelvin, + mole, + candela, + radian, + steradian, + hertz, + newton, + pascal, + joule, + watt, + coulomb, + volt, + farad, + ohm, + siemens, + weber, + tesla, + henry, + degree_celsius, + lumen, + lux, + becquerel, + gray, + sievert ); + END_TYPE; + + TYPE simple_datum_reference_modifier = ENUMERATION OF + ( any_cross_section, + any_longitudinal_section, + basic, + contacting_feature, + degree_of_freedom_constraint_u, + degree_of_freedom_constraint_v, + degree_of_freedom_constraint_w, + degree_of_freedom_constraint_x, + degree_of_freedom_constraint_y, + degree_of_freedom_constraint_z, + distance_variable, + free_state, + least_material_requirement, + line, + major_diameter, + maximum_material_requirement, + minor_diameter, + orientation, + pitch_diameter, + plane, + point, + translation ); + END_TYPE; + + TYPE size_select = SELECT + ( positive_length_measure, + measure_with_unit, + descriptive_measure ); + END_TYPE; + + TYPE sketch_basis_select = SELECT + ( planar_curve_select, + curve_bounded_surface, + face_surface ); + END_TYPE; + + TYPE sketch_element_select = SELECT + ( curve, + point ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_TYPE; + + TYPE sketch_type_select = SELECT + ( neutral_sketch_representation, + positioned_sketch, + subsketch ); + END_TYPE; + + TYPE solid_angle_measure = REAL; + END_TYPE; + + TYPE source = ENUMERATION OF + ( made, + bought, + not_known ); + END_TYPE; + + TYPE source_item = SELECT + ( identifier, + message ); + END_TYPE; + + TYPE space_constraint_type = ENUMERATION OF + ( sc_equal, + sc_subspace, + sc_member ); + END_TYPE; + + TYPE space_context_select = SELECT + ( action, + action_method, + general_property, + product_definition, + representation_item, + shape_aspect ); + END_TYPE; + + TYPE spatial_rotation = SELECT + ( ypr_rotation, + rotation_about_direction ); + END_TYPE; + + TYPE spherical_pair_select = SELECT + ( spherical_pair, + spherical_pair_with_pin ); + END_TYPE; + + TYPE start_request_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE statistical_value_type = ENUMERATION OF + ( number_of_inspected_instances, + number_of_quality_defects_detected ); + END_TYPE; + + TYPE string_representation_item_select = SELECT + ( descriptive_representation_item, + included_text_block, + structured_text_composition ); + END_TYPE; + + TYPE structured_mesh_type = ENUMERATION OF + ( pentahedral, + pyramidal, + rectangular, + tetrahedral ); + END_TYPE; + + TYPE style_context_select = SELECT + ( group, + presentation_layer_assignment, + presentation_set, + representation, + representation_item, + representation_relationship ); + END_TYPE; + + TYPE styled_item_target = SELECT + ( geometric_representation_item, + mapped_item, + representation, + topological_representation_item ); + END_TYPE; + + TYPE summary_report_type = ENUMERATION OF + ( unspecified, + conclusion_only, + number_of_quality_defects, + number_of_inspections_and_conclusion, + full_statistics ); + END_TYPE; + + TYPE supported_item = SELECT + ( action_directive, + action, + action_method ); + END_TYPE; + + TYPE surface_2d_edge = INTEGER; + WHERE + wr1: ( ( SELF >= 1 ) AND ( SELF <= 2 ) ); + END_TYPE; + + TYPE surface_2d_element_coordinate_system = SELECT + ( aligned_surface_2d_element_coordinate_system, + parametric_surface_2d_element_coordinate_system ); + END_TYPE; + + TYPE surface_2d_element_descriptor = SELECT + ( axisymmetric_surface_2d_element_descriptor, + plane_surface_2d_element_descriptor ); + END_TYPE; + + TYPE surface_2d_element_length_integration = SELECT + ( element_integration_algebraic, + surface_2d_element_length_integration_rule, + surface_2d_element_length_integration_explicit ); + END_TYPE; + + TYPE surface_2d_element_output_reference = SELECT + ( surface_2d_element_representation, + surface_2d_element_descriptor, + surface_2d_element_group, + surface_2d_substructure_element_reference, + analysis_item_within_representation ); + END_TYPE; + + TYPE surface_2d_element_representation = SELECT + ( axisymmetric_surface_2d_element_representation, + plane_surface_2d_element_representation ); + END_TYPE; + + TYPE surface_2d_face = INTEGER; + WHERE + wr1: ( ( SELF >= 1 ) AND ( SELF <= 2 ) ); + END_TYPE; + + TYPE surface_2d_state_coordinate_system = SELECT + ( fea_axis2_placement_3d, + surface_2d_element_coordinate_system ); + END_TYPE; + + TYPE surface_3d_edge = INTEGER; + WHERE + wr1: ( ( SELF >= 1 ) AND ( SELF <= 4 ) ); + END_TYPE; + + TYPE surface_3d_element_coordinate_system = SELECT + ( aligned_surface_3d_element_coordinate_system, + parametric_surface_3d_element_coordinate_system, + constant_surface_3d_element_coordinate_system ); + END_TYPE; + + TYPE surface_3d_element_field_integration = SELECT + ( element_integration_algebraic, + surface_3d_element_field_integration_rule, + surface_3d_element_field_integration_explicit ); + END_TYPE; + + TYPE surface_3d_element_output_reference = SELECT + ( surface_3d_element_representation, + surface_3d_element_descriptor, + surface_3d_element_group, + surface_3d_substructure_element_reference, + analysis_item_within_representation ); + END_TYPE; + + TYPE surface_3d_face = INTEGER; + WHERE + wr1: ( ( SELF >= 1 ) AND ( SELF <= 2 ) ); + END_TYPE; + + TYPE surface_3d_state_coordinate_system = SELECT + ( fea_axis2_placement_3d, + surface_3d_element_coordinate_system ); + END_TYPE; + + TYPE surface_boundary_type = ENUMERATION OF + ( u_parameter_min, + v_parameter_min, + u_parameter_max, + v_parameter_max ); + END_TYPE; + + TYPE surface_element_purpose = SELECT + ( enumerated_surface_element_purpose, + application_defined_element_purpose ); + END_TYPE; + + TYPE surface_element_variable = SELECT + ( volume_variable, + surface_scalar_variable, + surface_vector_2d_variable, + surface_vector_3d_variable, + surface_tensor2_2d_variable, + application_defined_tensor2_2d_variable ); + END_TYPE; + + TYPE surface_matrix_property_type = SELECT + ( enumerated_surface_matrix_property_type, + application_defined_matrix_property_type ); + END_TYPE; + + TYPE surface_model = SELECT + ( face_based_surface_model, + shell_based_surface_model ); + END_TYPE; + + TYPE surface_or_solid_model = SELECT + ( surface_model, + solid_model ); + END_TYPE; + + TYPE surface_scalar_variable = ENUMERATION OF + ( thickness, + surface_thermal_gradient, + reference_surface_thermal_gradient ); + END_TYPE; + + TYPE surface_section_integration = SELECT + ( element_integration_algebraic, + surface_section_integration_rule, + surface_section_integration_explicit ); + END_TYPE; + + TYPE surface_side = ENUMERATION OF + ( positive, + negative, + both ); + END_TYPE; + + TYPE surface_side_style_select = SELECT + ( surface_side_style, + pre_defined_surface_side_style ); + END_TYPE; + + TYPE surface_style_element_select = SELECT + ( surface_style_fill_area, + surface_style_boundary, + surface_style_silhouette, + surface_style_segmentation_curve, + surface_style_control_grid, + surface_style_parameter_line, + surface_style_rendering ); + END_TYPE; + + TYPE surface_tensor2_2d_variable = ENUMERATION OF + ( surface_membrane_force, + surface_membrane_strain, + surface_bending_moment, + surface_curvature ); + END_TYPE; + + TYPE surface_vector_2d_variable = ENUMERATION OF + ( surface_out_of_plane_shear_force, + surface_out_of_plane_shear_strain ); + END_TYPE; + + TYPE surface_vector_3d_variable = ENUMERATION OF + ( applied_force_per_unit_area, + applied_moment_per_unit_area ); + END_TYPE; + + TYPE swept_surface_or_solid = SELECT + ( swept_surface, + swept_face_solid, + swept_area_solid ); + END_TYPE; + + TYPE symbol_style_select = SELECT + ( symbol_colour ); + END_TYPE; + + TYPE symmetric_tensor2_2d = SELECT + ( anisotropic_symmetric_tensor2_2d ); + END_TYPE; + + TYPE symmetric_tensor2_3d = SELECT + ( isotropic_symmetric_tensor2_3d, + orthotropic_symmetric_tensor2_3d, + anisotropic_symmetric_tensor2_3d ); + END_TYPE; + + TYPE symmetric_tensor4_2d = SELECT + ( anisotropic_symmetric_tensor4_2d ); + END_TYPE; + + TYPE symmetric_tensor4_3d = SELECT + ( anisotropic_symmetric_tensor4_3d, + fea_isotropic_symmetric_tensor4_3d, + fea_iso_orthotropic_symmetric_tensor4_3d, + fea_transverse_isotropic_symmetric_tensor4_3d, + fea_column_normalised_orthotropic_symmetric_tensor4_3d, + fea_column_normalised_monoclinic_symmetric_tensor4_3d ); + END_TYPE; + + TYPE symmetry_type = ENUMERATION OF + ( identity, + skew, + hermitian, + skew_hermitian ); + END_TYPE; + + TYPE tangent_contact_type = ENUMERATION OF + ( point_contact, + curve_contact, + surface_contact ); + END_TYPE; + + TYPE tensor1_2d = ARRAY [1 : 2] OF context_dependent_measure; + END_TYPE; + + TYPE tensor1_3d = ARRAY [1 : 3] OF context_dependent_measure; + END_TYPE; + + TYPE tensor_type = SELECT + ( scalar, + angular_value, + tensor1_2d, + tensor1_3d, + anisotropic_symmetric_tensor2_2d, + isotropic_symmetric_tensor2_3d, + orthotropic_symmetric_tensor2_3d, + anisotropic_symmetric_tensor2_3d, + anisotropic_symmetric_tensor4_2d, + anisotropic_symmetric_tensor4_3d, + fea_isotropic_symmetric_tensor4_3d, + fea_iso_orthotropic_symmetric_tensor4_3d, + fea_transverse_isotropic_symmetric_tensor4_3d, + fea_column_normalised_orthotropic_symmetric_tensor4_3d, + fea_column_normalised_monoclinic_symmetric_tensor4_3d ); + END_TYPE; + + TYPE tessellated_edge_or_vertex = SELECT + ( tessellated_edge, + tessellated_vertex ); + END_TYPE; + + TYPE text = STRING; + END_TYPE; + + TYPE text_alignment = label; + END_TYPE; + + TYPE text_delineation = label; + END_TYPE; + + TYPE text_or_character = SELECT + ( annotation_text, + annotation_text_character, + defined_character_glyph, + composite_text, + text_literal ); + END_TYPE; + + TYPE text_path = ENUMERATION OF + ( left, + right, + up, + down ); + END_TYPE; + + TYPE text_string_representation_item = SELECT + ( text_literal, + annotation_text, + annotation_text_character, + defined_character_glyph, + composite_text, + axis2_placement ); + END_TYPE; + + TYPE thermal_conductivity_model_data_name = ENUMERATION OF + ( constant_prandtl, + power_law_exponent, + sutherland_constant_conductivity, + temperature_reference, + thermal_conductivity_reference ); + END_TYPE; + + TYPE thermal_conductivity_model_type = ENUMERATION OF + ( application_defined, + constant_prandtl, + independent, + power_law, + sutherland_law, + unspecified ); + END_TYPE; + + TYPE thermodynamic_temperature_measure = REAL; + END_TYPE; + + TYPE time_interval_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_person_and_organization_assignment, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + document_file, + draughting_model, + drawing_revision, + executed_action, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification, + security_classification_level, + shape_representation, + time_interval_based_effectivity, + versioned_action_request ); + END_TYPE; + + TYPE time_measure = REAL; + END_TYPE; + + TYPE tolerance_method_definition = SELECT + ( limits_and_fits, + tolerance_value ); + END_TYPE; + + TYPE tolerance_zone_target = SELECT + ( dimensional_location, + dimensional_size, + geometric_tolerance, + general_datum_reference ); + END_TYPE; + + TYPE transformation = SELECT + ( item_defined_transformation, + functionally_defined_transformation ); + END_TYPE; + + TYPE transition_code = ENUMERATION OF + ( discontinuous, + continuous, + cont_same_gradient, + cont_same_gradient_same_curvature ); + END_TYPE; + + TYPE trim_condition_select = SELECT + ( length_measure, + plane_angle_measure, + generalized_surface_select, + solid_model ); + END_TYPE; + + TYPE trim_intent = ENUMERATION OF + ( blind, + offset, + through_all, + unspecified, + up_to_next ); + END_TYPE; + + TYPE trimming_preference = ENUMERATION OF + ( cartesian, + parameter, + unspecified ); + END_TYPE; + + TYPE trimming_select = SELECT + ( cartesian_point, + parameter_value ); + END_TYPE; + + TYPE tuple_space = SELECT + ( product_space, +(* next line added as patch for BZ#5023 *) + mesh_derived_maths_space, + extended_tuple_space ); + END_TYPE; + + TYPE turbulence_closure_data_name = ENUMERATION OF + ( eddy_viscosity, + prandtl_turbulent ); + END_TYPE; + + TYPE turbulence_closure_type = ENUMERATION OF + ( application_defined, + eddy_viscosity, + reynolds_stress, + reynolds_stress_algebraic, + unspecified ); + END_TYPE; + + TYPE turbulence_model_data_name = ENUMERATION OF + ( turbulent_bb_reynolds, + turbulent_dissipation, + turbulent_dissipation_rate, + turbulent_distance, + turbulent_energy_kinetic, + turbulent_sa_cb1, + turbulent_sa_cb2, + turbulent_sa_chi, + turbulent_sa_ct1, + turbulent_sa_ct2, + turbulent_sa_ct3, + turbulent_sa_ct4, + turbulent_sa_cv1, + turbulent_sa_cw1, + turbulent_sa_cw2, + turbulent_sa_cw3, + turbulent_sa_kappa, + turbulent_sa_nu_tilde, + turbulent_sa_sigma ); + END_TYPE; + + TYPE turbulence_model_type = ENUMERATION OF + ( algebraic_baldwin_lomax, + algebraic_cebeci_smith, + application_defined, + half_equation_johnson_king, + one_equation_baldwin_barth, + one_equation_spalart_allmaras, + two_equation_jones_launder, + two_equation_menter_sst, + two_equation_wilcox, + unspecified ); + END_TYPE; + + TYPE u_direction_count = INTEGER; + WHERE + wr1: ( SELF > 1 ); + END_TYPE; + + TYPE u_or_v_parameter = ENUMERATION OF + ( u_parameter, + v_parameter ); + END_TYPE; + + TYPE unit = SELECT + ( derived_unit, + named_unit ); + END_TYPE; + + TYPE unspecified_value = ENUMERATION OF + ( unspecified ); + END_TYPE; + + TYPE used_quality_representation_select = SELECT + ( data_quality_criteria_representation, + data_quality_inspection_result_representation ); + END_TYPE; + + TYPE v_direction_count = INTEGER; + WHERE + wr1: ( SELF > 1 ); + END_TYPE; + + TYPE value_format_type = identifier; + WHERE + wr1: ( LENGTH( SELF ) <= 80 ); + END_TYPE; + + TYPE value_qualifier = SELECT + ( precision_qualifier, + type_qualifier, + uncertainty_qualifier, + value_format_type_qualifier ); + END_TYPE; + + TYPE vector_or_direction = SELECT + ( direction, + vector ); + END_TYPE; + + TYPE velocity_measure = REAL; + END_TYPE; + + TYPE viscosity_model_data_name = ENUMERATION OF + ( sutherland_constant_viscosity, + viscosity_molecular_reference ); + END_TYPE; + + TYPE viscosity_model_type = ENUMERATION OF + ( application_defined, + constant_viscosity, + power_law, + sutherland_law, + unspecified ); + END_TYPE; + + TYPE volume_2d_edge = INTEGER; + WHERE + wr1: ( ( SELF >= 1 ) AND ( SELF <= 4 ) ); + END_TYPE; + + TYPE volume_2d_element_coordinate_system = SELECT + ( arbitrary_volume_2d_element_coordinate_system, + parametric_volume_2d_element_coordinate_system ); + END_TYPE; + + TYPE volume_2d_element_descriptor = SELECT + ( axisymmetric_volume_2d_element_descriptor, + plane_volume_2d_element_descriptor ); + END_TYPE; + + TYPE volume_2d_element_field_integration = SELECT + ( element_integration_algebraic, + volume_2d_element_field_integration_rule, + volume_2d_element_field_integration_explicit ); + END_TYPE; + + TYPE volume_2d_element_output_reference = SELECT + ( volume_2d_element_representation, + volume_2d_element_descriptor, + volume_2d_element_group, + volume_2d_substructure_element_reference, + analysis_item_within_representation ); + END_TYPE; + + TYPE volume_2d_element_representation = SELECT + ( axisymmetric_volume_2d_element_representation, + plane_volume_2d_element_representation ); + END_TYPE; + + TYPE volume_2d_face = INTEGER; + WHERE + wr1: ( ( SELF >= 1 ) AND ( SELF <= 4 ) ); + END_TYPE; + + TYPE volume_3d_edge = INTEGER; + WHERE + wr1: ( ( SELF >= 1 ) AND ( SELF <= 12 ) ); + END_TYPE; + + TYPE volume_3d_element_coordinate_system = SELECT + ( arbitrary_volume_3d_element_coordinate_system, + parametric_volume_3d_element_coordinate_system ); + END_TYPE; + + TYPE volume_3d_element_field_integration = SELECT + ( element_integration_algebraic, + volume_3d_element_field_integration_rule, + volume_3d_element_field_integration_explicit ); + END_TYPE; + + TYPE volume_3d_element_output_reference = SELECT + ( volume_3d_element_representation, + volume_3d_element_descriptor, + volume_3d_element_group, + volume_3d_substructure_element_reference, + analysis_item_within_representation ); + END_TYPE; + + TYPE volume_3d_element_shape = ENUMERATION OF + ( hexahedron, + wedge, + tetrahedron, + pyramid ); + END_TYPE; + + TYPE volume_3d_face = INTEGER; + WHERE + wr1: ( ( SELF >= 1 ) AND ( SELF <= 6 ) ); + END_TYPE; + + TYPE volume_aggregated_variable = SELECT + ( aggregated_scalar_variable, + aggregated_angular_variable, + aggregated_vector_3d_variable, + aggregated_tensor2_3d_variable, + application_defined_scalar_variable, + application_defined_vector_3d_variable, + application_defined_tensor2_3d_variable ); + END_TYPE; + + TYPE volume_angular_variable = ENUMERATION OF + ( constant_angular_acceleration, + application_defined_angular_scalar_variable ); + END_TYPE; + + TYPE volume_element_purpose = SELECT + ( enumerated_volume_element_purpose, + application_defined_element_purpose ); + END_TYPE; + + TYPE volume_measure = REAL; + END_TYPE; + + TYPE volume_scalar_variable = ENUMERATION OF + ( temperature, + moisture, + reference_temperature, + strain_energy_per_unit_volume ); + END_TYPE; + + TYPE volume_tensor2_3d_variable = ENUMERATION OF + ( total_strain, + stress ); + END_TYPE; + + TYPE volume_variable = SELECT + ( volume_scalar_variable, + volume_angular_variable, + volume_vector_3d_variable, + volume_tensor2_3d_variable, + application_defined_scalar_variable, + application_defined_vector_3d_variable, + application_defined_tensor2_3d_variable ); + END_TYPE; + + TYPE volume_vector_3d_variable = ENUMERATION OF + ( position, + applied_force_per_unit_volume, + applied_moment_per_unit_volume, + displacement, + infinitesimal_rotation, + acceleration ); + END_TYPE; + + TYPE week_in_year_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 53 ) ); + END_TYPE; + + TYPE work_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE year_number = INTEGER; + WHERE + wr1: ( SELF > 1581 ); + END_TYPE; + + TYPE ypr_enumeration = ENUMERATION OF + ( yaw, + pitch, + roll ); + END_TYPE; + + TYPE ypr_rotation = ARRAY [ypr_index( yaw ) : ypr_index( roll )] OF plane_angle_measure; + END_TYPE; + + TYPE zero_or_one = nonnegative_integer; + WHERE + in_range: ( ( SELF = 0 ) OR ( SELF = 1 ) ); + END_TYPE; + +(* + The following two ENTITIYs have been added to address Bug 5012 for the + initial ed2 version until they can properly be added to the consituent modules +*) + +ENTITY defined_maths_space_context + SUBTYPE OF (maths_space_context); +END_ENTITY; + +ENTITY representation_context_defined_maths_space_context + SUBTYPE OF (defined_maths_space_context); + representation_basis : representation_context; +END_ENTITY; + +(* End of added ENTITYs. KAH April 28, 2014*) + +(* + The following seven ENTITYs have been added to address Bug 5057 for the + initial ed2 version until they can properly be added to the constituent modules. +*) +ENTITY convex_hexahedron + SUBTYPE OF (faceted_primitive); +WHERE + WR1: SIZEOF(points) = 8; + WR2: above_plane(points[1], points[2], points[3], points[4]) = 0.0; + WR3: above_plane(points[5], points[8], points[7], points[6]) = 0.0; + WR4: above_plane(points[1], points[4], points[8], points[5]) = 0.0; + WR5: above_plane(points[4], points[3], points[7], points[8]) = 0.0; + WR6: above_plane(points[3], points[2], points[6], points[7]) = 0.0; + WR7: above_plane(points[1], points[5], points[6], points[2]) = 0.0; + WR8: same_side([points[1], points[2], points[3]], [points[5], points[6], points[7], points[8]]); + WR9: same_side([points[1], points[4], points[8]], [points[3], points[7], points[6], points[2]]); + WR10: same_side([points[1], points[2], points[5]], [points[3], points[7], points[8], points[4]]); + WR11: same_side([points[5], points[6], points[7]], [points[1], points[2], points[3], points[4]]); + WR12: same_side([points[3], points[7], points[6]], [points[1], points[4], points[8], points[5]]); + WR13: same_side([points[3], points[7], points[8]], [points[1], points[5], points[6], points[2]]); +END_ENTITY; + +ENTITY cyclide_segment_solid + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + radius1 : positive_length_measure; + radius2 : positive_length_measure; + cone_angle1 : plane_angle_measure; + cone_angle2 : plane_angle_measure; + turn_angle : plane_angle_measure; +END_ENTITY; + +ENTITY eccentric_cone + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + height : positive_length_measure; + x_offset : length_measure; + y_offset : length_measure; + ratio : REAL; +WHERE + WR1: ratio >= 0.0; +END_ENTITY; + +ENTITY ellipsoid + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + semi_axis_3 : positive_length_measure; +END_ENTITY; + +ENTITY faceted_primitive + SUPERTYPE OF (ONEOF (tetrahedron, + convex_hexahedron)) + SUBTYPE OF (geometric_representation_item); + points : LIST[4:?] OF UNIQUE cartesian_point; +WHERE + WR1: points[1].dim = 3; +END_ENTITY; + +ENTITY rectangular_pyramid + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + xlength : positive_length_measure; + ylength : positive_length_measure; + height : positive_length_measure; +END_ENTITY; + +ENTITY tetrahedron + SUBTYPE OF (faceted_primitive); +WHERE + WR1: SIZEOF(points) = 4; + WR2: above_plane(points[1], points[2], points[3], points[4]) <> 0.0; +END_ENTITY; + +(* End of added ENTITYs. JH 2014-05-22 *) + + + ENTITY abrupt_change_of_surface_normal + SUBTYPE OF ( geometry_with_local_irregularity ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + small_vector_tolerance : length_measure; + test_point_distance_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY abs_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY absorbed_dose_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ABSORBED_DOSE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY absorbed_dose_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.gray ) ); + END_ENTITY; + + ENTITY abstract_variable + SUBTYPE OF ( property_definition, property_definition_representation, representation, representation_item ); + END_ENTITY; + + ENTITY abstracted_expression_function + SUBTYPE OF ( maths_function, quantifier_expression ); + DERIVE + SELF\quantifier_expression.variables : LIST [1 : ?] OF UNIQUE generic_variable := remove_first( SELF\ + multiple_arity_generic_expression.operands ); + expr : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + WHERE + wr1: ( SIZEOF( QUERY ( operand <* SELF\multiple_arity_generic_expression.operands | ( NOT has_values_space( operand ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY acceleration_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACCELERATION_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY acceleration_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 1, 0, -2, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY acos_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY action; + name : label; + description : OPTIONAL text; + chosen_method : action_method; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= + 1 ); + END_ENTITY; + + ENTITY action_assignment + ABSTRACT SUPERTYPE; + assigned_action : action; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) + <= 1 ); + END_ENTITY; + + ENTITY action_directive; + name : label; + description : OPTIONAL text; + analysis : text; + comment : text; + requests : SET [1 : ?] OF versioned_action_request; + END_ENTITY; + + ENTITY action_method; + name : label; + description : OPTIONAL text; + consequence : text; + purpose : text; + END_ENTITY; + + ENTITY action_method_assignment + ABSTRACT SUPERTYPE; + assigned_action_method : action_method; + role : action_method_role; + END_ENTITY; + + ENTITY action_method_relationship; + name : label; + description : OPTIONAL text; + relating_method : action_method; + related_method : action_method; + END_ENTITY; + + ENTITY action_method_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY action_property; + name : label; + description : text; + definition : characterized_action_definition; + END_ENTITY; + + ENTITY action_property_representation; + name : label; + description : text; + property : action_property; + representation : representation; + END_ENTITY; + + ENTITY action_relationship; + name : label; + description : OPTIONAL text; + relating_action : action; + related_action : action; + END_ENTITY; + + ENTITY action_request_assignment + ABSTRACT SUPERTYPE; + assigned_action_request : versioned_action_request; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) + <= 1 ); + END_ENTITY; + + ENTITY action_request_solution; + method : action_method; + request : versioned_action_request; + DERIVE + description : text := get_description_value( SELF ); + name : label := get_name_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY action_request_status; + status : label; + assigned_request : versioned_action_request; + END_ENTITY; + + ENTITY action_resource; + name : label; + description : OPTIONAL text; + usage : SET [1 : ?] OF supported_item; + kind : action_resource_type; + END_ENTITY; + + ENTITY action_resource_requirement; + name : label; + description : text; + kind : resource_requirement_type; + operations : SET [1 : ?] OF characterized_action_definition; + END_ENTITY; + + ENTITY action_resource_type; + name : label; + END_ENTITY; + + ENTITY action_status; + status : label; + assigned_action : executed_action; + END_ENTITY; + + ENTITY action_view_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + discretised_model : discretised_action_model_select; + idealised_action : idealised_action_select; + END_ENTITY; + + ENTITY actuated_kinematic_pair + SUBTYPE OF ( kinematic_pair ); + t_x : OPTIONAL actuated_direction; + t_y : OPTIONAL actuated_direction; + t_z : OPTIONAL actuated_direction; + r_x : OPTIONAL actuated_direction; + r_y : OPTIONAL actuated_direction; + r_z : OPTIONAL actuated_direction; + END_ENTITY; + + ENTITY add_element + SUBTYPE OF ( change_element ); + END_ENTITY; + + ENTITY address; + internal_location : OPTIONAL label; + street_number : OPTIONAL label; + street : OPTIONAL label; + postal_box : OPTIONAL label; + town : OPTIONAL label; + region : OPTIONAL label; + postal_code : OPTIONAL label; + country : OPTIONAL label; + facsimile_number : OPTIONAL label; + telephone_number : OPTIONAL label; + electronic_mail_address : OPTIONAL label; + telex_number : OPTIONAL label; + DERIVE + name : label := get_name_value( SELF ); + url : identifier := get_id_value( SELF ); + WHERE + wr1: ( EXISTS( internal_location ) OR EXISTS( street_number ) OR EXISTS( street ) OR EXISTS( postal_box ) OR EXISTS( town ) + OR EXISTS( region ) OR EXISTS( postal_code ) OR EXISTS( country ) OR EXISTS( facsimile_number ) OR EXISTS( + telephone_number ) OR EXISTS( electronic_mail_address ) OR EXISTS( telex_number ) ); + END_ENTITY; + + ENTITY advanced_brep_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) = 1 ) ) ) + > 0 ); + wr3: ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( SIZEOF( + QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fcs ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( msb <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ORIENTED_CLOSED_SHELL' IN TYPEOF( msb\manifold_solid_brep.outer ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( brv <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* brv\brep_with_voids.voids | csh\oriented_closed_shell. + orientation ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION' + IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY advanced_face + SUBTYPE OF ( face_surface ); + WHERE + wr1 : ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_SURFACE' ] * TYPEOF( face_geometry ) ) = 1 ); + wr2 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( + NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe\oriented_edge.edge_element ) ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( + NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POLYLINE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF( oe.edge_element\edge_curve. + edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( + NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe\edge.edge_start ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( oe\edge.edge_start\vertex_point. + vertex_geometry ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe\edge. + edge_end ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( oe\edge. + edge_end\vertex_point.vertex_geometry ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_PATH' + IN TYPEOF( elp_fbnds.bound ) ) ) ) = 0 ); + wr6 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF( face_geometry ) ) ) OR ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POLYLINE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE'] * TYPEOF( face_geometry\ + swept_surface.swept_curve ) ) = 1 ) ); + wr7 : ( SIZEOF( QUERY ( vlp_fbnds <* QUERY ( bnds <* bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'VERTEX_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'VERTEX_POINT' IN TYPEOF( vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( vlp_fbnds\face_bound.bound\ + vertex_loop.loop_vertex\vertex_point.vertex_geometry ) ) ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( bnd <* bounds | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' ] * TYPEOF( bnd.bound ) ) = 1 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( oe\oriented_edge.edge_element\ + edge_curve.edge_geometry ) ) AND ( NOT ( SIZEOF( QUERY ( sc_ag <* oe.edge_element\edge_curve.edge_geometry\ + surface_curve.associated_geometry | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN + TYPEOF( sc_ag ) ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF( face_geometry ) ) ) OR ( + NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( face_geometry\swept_surface. + swept_curve ) ) ) OR ( SIZEOF( face_geometry\swept_surface.swept_curve\polyline.points ) >= 3 ) ) AND ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( oe\oriented_edge.edge_element\ + edge_curve.edge_geometry ) ) AND ( NOT ( SIZEOF( oe\oriented_edge.edge_element\edge_curve.edge_geometry\polyline. + points ) >= 3 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY agc_with_dimension + SUBTYPE OF ( angle_geometric_constraint ); + angle_value : plane_angle_measure; + END_ENTITY; + + ENTITY aligned_axis_tolerance; + model_ref : fea_model; + tolerance : context_dependent_measure; + END_ENTITY; + + ENTITY aligned_curve_3d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + coordinate_system : fea_axis2_placement_3d; + END_ENTITY; + + ENTITY aligned_surface_2d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + orientation : direction; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY aligned_surface_3d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + coordinate_system : fea_axis2_placement_3d; + END_ENTITY; + + ENTITY all_around_shape_aspect + SUBTYPE OF ( continuous_shape_aspect ); + END_ENTITY; + + ENTITY alternate_product_relationship; + name : label; + definition : OPTIONAL text; + alternate : product; + base : product; + basis : text; + UNIQUE + ur1 : alternate, base; + WHERE + wr1: ( alternate :<>: base ); + END_ENTITY; + + ENTITY amount_of_substance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AMOUNT_OF_SUBSTANCE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY amount_of_substance_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 1 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY analysis_assignment + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY analysis_item + SUBTYPE OF ( group_assignment ); + items : SET [1 : 1] OF analysed_item; + SELF\group_assignment.assigned_group : analysis_assignment; + END_ENTITY; + + ENTITY analysis_item_within_representation; + name : label; + description : text; + item : representation_item; + rep : representation; + WHERE + wr1: ( SIZEOF( QUERY ( tmp <* using_representations( item ) | ( tmp :=: rep ) ) ) = 1 ); + END_ENTITY; + + ENTITY analysis_message + SUPERTYPE OF ( + ONEOF ( + whole_model_analysis_message, + element_analysis_message, + node_analysis_message, + element_group_analysis_message ) ) + SUBTYPE OF ( state_definition ); + level : message_level; + message_text : text; + END_ENTITY; + + ENTITY analysis_model + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : analysis_representation_context; + END_ENTITY; + + ENTITY analysis_representation_context + SUBTYPE OF ( representation_context ); + END_ENTITY; + + ENTITY analysis_step + SUPERTYPE OF ( + ONEOF ( + control_analysis_step, + result_analysis_step ) ); + analysis_control : control; + END_ENTITY; + + ENTITY and_expression + SUBTYPE OF ( multiple_arity_boolean_expression ); + END_ENTITY; + + ENTITY angle_assembly_constraint_with_dimension + SUBTYPE OF ( binary_assembly_constraint, agc_with_dimension ); + END_ENTITY; + + ENTITY angle_direction_reference + SUBTYPE OF ( representation_item_relationship, geometric_representation_item ); + SELF\representation_item_relationship.relating_representation_item : orientation_basis_select; + SELF\representation_item_relationship.related_representation_item : angle_direction_reference_select; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_PATH' IN TYPEOF( related_representation_item ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MIN_AND_MAJOR_PLY_ORIENTATION_BASIS' IN TYPEOF( + relating_representation_item ) ) ) OR ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_PATH' IN + TYPEOF( related_representation_item ) ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' IN TYPEOF( relating_representation_item ) ) ) ); + END_ENTITY; + + ENTITY angle_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF linear_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF linear_geometry_constraint_element; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 1 ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND ( SIZEOF( SELF\ + explicit_constraint.constrained_elements ) = 2 ) ) ); + END_ENTITY; + + ENTITY angular_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY angular_location + SUBTYPE OF ( dimensional_location ); + angle_selection : angle_relator; + END_ENTITY; + + ENTITY angular_size + SUBTYPE OF ( dimensional_size ); + angle_selection : angle_relator; + END_ENTITY; + + ENTITY angularity_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY annotation_curve_occurrence + SUPERTYPE OF ( + ONEOF ( + dimension_curve, + leader_curve, + projection_curve ) ) + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : curve_or_curve_set; + END_ENTITY; + + ENTITY annotation_fill_area + SUBTYPE OF ( geometric_representation_item ); + boundaries : SET [1 : ?] OF curve; + WHERE + wr1: ( ( SELF\geometric_representation_item.dim = 3 ) OR ( SIZEOF( QUERY ( curve <* SELF.boundaries | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE' IN TYPEOF( curve ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPSE' IN TYPEOF( curve ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( curve ) ) AND ( curve\ + b_spline_curve.closed_curve = TRUE ) ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE' + IN TYPEOF( curve ) ) AND ( curve\composite_curve.closed_curve = TRUE ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( curve ) ) AND ( curve\polyline.points[ + LOINDEX( curve\polyline.points )] = curve\polyline.points[HIINDEX( curve\polyline.points )] ) ) ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY annotation_fill_area_occurrence + SUBTYPE OF ( annotation_occurrence ); + fill_style_target : point; + SELF\styled_item.item : annotation_fill_area; + END_ENTITY; + + ENTITY annotation_occurrence + SUPERTYPE OF ( + ONEOF ( + annotation_curve_occurrence, + annotation_fill_area_occurrence, + annotation_text_occurrence, + annotation_symbol_occurrence ) + ANDOR + ONEOF ( + annotation_curve_occurrence, + annotation_fill_area_occurrence, + annotation_plane, + annotation_symbol_occurrence, + annotation_text_occurrence, + tessellated_annotation_occurrence ) ) + SUBTYPE OF ( styled_item ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + wr2: ( SIZEOF( QUERY ( reps <* using_representations( SELF ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_REPRESENTATION_SELECT' IN TYPEOF( reps ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY annotation_occurrence_associativity + SUBTYPE OF ( annotation_occurrence_relationship ); + WHERE + wr1: ( SIZEOF( TYPEOF( SELF.related_annotation_occurrence ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_FILL_AREA_OCCURRENCE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_CURVE' ] ) = 1 ); + END_ENTITY; + + ENTITY annotation_occurrence_relationship; + name : label; + description : text; + relating_annotation_occurrence : annotation_occurrence; + related_annotation_occurrence : annotation_occurrence; + END_ENTITY; + + ENTITY annotation_plane + SUBTYPE OF ( annotation_occurrence, geometric_representation_item ); + elements : OPTIONAL SET [1 : ?] OF annotation_plane_element; + SELF\styled_item.item : plane_or_planar_box; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + wr2: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PLANAR_BOX' ) IN TYPEOF( SELF\styled_item.item ) ) ) + OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_3D' ) IN TYPEOF( SELF\styled_item. + item\planar_box.placement ) ) ); + wr3: ( ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PLANAR_BOX' ) IN TYPEOF( SELF\styled_item.item ) ) + AND ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CURVE_STYLE' ) IN TYPEOF( SELF\styled_item.styles[ + 1]\presentation_style_assignment.styles[1] ) ) ) OR ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANE' ) IN TYPEOF( SELF\styled_item.item ) ) AND ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FILL_AREA_STYLE' ) IN TYPEOF( SELF\styled_item.styles[1]\presentation_style_assignment.styles[1] ) ) ) ); + wr4: ( ( SIZEOF( SELF\styled_item.styles ) = 1 ) AND ( SIZEOF( SELF\styled_item.styles[1]\presentation_style_assignment. + styles ) = 1 ) ); + END_ENTITY; + + ENTITY annotation_subfigure_occurrence + SUBTYPE OF ( annotation_symbol_occurrence ); + WHERE + wr1: ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( SIZEOF( sty.styles ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NULL_STYLE' IN + TYPEOF( sty.styles[1] ) ) ) ) ) = 0 ); + wr3: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF( SELF.item ) ); + wr4: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_SUBFIGURE_REPRESENTATION' IN TYPEOF( SELF.item\ + mapped_item.mapping_source.mapped_representation ) ); + END_ENTITY; + + ENTITY annotation_symbol + SUBTYPE OF ( mapped_item ); + SELF\mapped_item.mapping_source : symbol_representation_map; + SELF\mapped_item.mapping_target : symbol_target; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY annotation_symbol_occurrence + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : annotation_symbol_occurrence_item; + END_ENTITY; + + ENTITY annotation_text + SUBTYPE OF ( mapped_item ); + SELF\mapped_item.mapping_target : axis2_placement; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_STRING_REPRESENTATION' IN TYPEOF( SELF\mapped_item. + mapping_source.mapped_representation ) ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY annotation_text_character + SUBTYPE OF ( mapped_item ); + alignment : text_alignment; + SELF\mapped_item.mapping_target : axis2_placement; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTER_GLYPH_SYMBOL' IN TYPEOF( SELF\mapped_item. + mapping_source.mapped_representation ) ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY annotation_text_occurrence + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : annotation_text_occurrence_item; + END_ENTITY; + + ENTITY apex + SUBTYPE OF ( derived_shape_aspect ); + END_ENTITY; + + ENTITY application_context; + application : label; + DERIVE + description : text := get_description_value( SELF ); + id : identifier := get_id_value( SELF ); + INVERSE + context_elements : SET [1 : ?] OF application_context_element FOR frame_of_reference; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= + 1 ); + END_ENTITY; + + ENTITY application_context_element + SUPERTYPE OF ( + ONEOF ( + product_concept_context, + product_context, + product_definition_context ) ); + name : label; + frame_of_reference : application_context; + END_ENTITY; + + ENTITY application_defined_function + SUPERTYPE OF ( + ONEOF ( + mesh_function, + mesh_function_basis ) ) + SUBTYPE OF ( maths_function ); + explicit_domain : tuple_space; + explicit_range : tuple_space; + parameters : LIST OF maths_value; + WHERE + wr1: expression_is_constant( explicit_domain ); + wr2: expression_is_constant( explicit_range ); + END_ENTITY; + + ENTITY application_protocol_definition; + status : label; + application_interpreted_model_schema_name : label; + application_protocol_year : year_number; + application : application_context; + END_ENTITY; + + ENTITY applied_action_assignment + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF action_items; + END_ENTITY; + + ENTITY applied_action_method_assignment + SUBTYPE OF ( action_method_assignment ); + items : SET [1 : ?] OF action_method_items; + END_ENTITY; + + ENTITY applied_action_request_assignment + SUBTYPE OF ( action_request_assignment ); + items : SET [1 : ?] OF action_request_item; + END_ENTITY; + + ENTITY applied_approval_assignment + SUBTYPE OF ( approval_assignment ); + items : SET [1 : ?] OF approval_item; + END_ENTITY; + + ENTITY applied_area + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( SELF.of_shape ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( ( 2 <= SIZEOF( impl_rep.used_representation.items ) ) AND ( SIZEOF( impl_rep. + used_representation.items ) <= 3 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( NOT ( srwp_i.name IN [ 'orientation', 'effective length', 'maximum length'] ) ) ) ) + > 0 ) ) ) ) = 0 ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'effective length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) <= 1 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'maximum length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY applied_attribute_classification_assignment + SUBTYPE OF ( attribute_classification_assignment ); + SELF\attribute_classification_assignment.assigned_class : class; + items : SET [1 : ?] OF attribute_classification_item; + END_ENTITY; + + ENTITY applied_certification_assignment + SUBTYPE OF ( certification_assignment ); + items : SET [1 : ?] OF certification_item; + END_ENTITY; + + ENTITY applied_classification_assignment + SUBTYPE OF ( classification_assignment ); + items : SET [1 : ?] OF classification_item; + END_ENTITY; + + ENTITY applied_contract_assignment + SUBTYPE OF ( contract_assignment ); + items : SET [1 : ?] OF contract_item; + END_ENTITY; + + ENTITY applied_date_and_time_assignment + SUBTYPE OF ( date_and_time_assignment ); + items : SET [1 : ?] OF date_and_time_item; + END_ENTITY; + + ENTITY applied_date_assignment + SUBTYPE OF ( date_assignment ); + items : SET [1 : ?] OF date_item; + END_ENTITY; + + ENTITY applied_document_reference + SUBTYPE OF ( document_reference ); + items : SET [1 : ?] OF document_reference_item; + END_ENTITY; + + ENTITY applied_document_usage_constraint_assignment + SUBTYPE OF ( document_usage_constraint_assignment ); + items : SET [1 : ?] OF document_reference_item; + END_ENTITY; + + ENTITY applied_effectivity_assignment + SUBTYPE OF ( effectivity_assignment ); + items : SET [1 : ?] OF effectivity_item; + END_ENTITY; + + ENTITY applied_event_occurrence_assignment + SUBTYPE OF ( event_occurrence_assignment ); + items : SET [1 : ?] OF event_occurrence_item; + END_ENTITY; + + ENTITY applied_external_identification_assignment + SUBTYPE OF ( external_identification_assignment ); + items : SET [1 : ?] OF external_identification_item; + END_ENTITY; + + ENTITY applied_group_assignment + SUBTYPE OF ( group_assignment ); + items : SET [1 : ?] OF groupable_item; + END_ENTITY; + + ENTITY applied_identification_assignment + SUBTYPE OF ( identification_assignment ); + items : SET [1 : ?] OF identification_item; + END_ENTITY; + + ENTITY applied_ineffectivity_assignment + SUBTYPE OF ( effectivity_assignment ); + items : SET [1 : ?] OF effectivity_item; + WHERE + wr1: ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOT_EFFECTIVITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SERIAL_NUMBERED_EFFECTIVITY' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_EFFECTIVITY' ] * TYPEOF( SELF. + assigned_effectivity ) ) = 0 ); + END_ENTITY; + + ENTITY applied_name_assignment + SUBTYPE OF ( name_assignment ); + item : name_item; + END_ENTITY; + + ENTITY applied_organization_assignment + SUBTYPE OF ( organization_assignment ); + items : SET [1 : ?] OF organization_item; + END_ENTITY; + + ENTITY applied_organizational_project_assignment + SUBTYPE OF ( organizational_project_assignment ); + items : SET [1 : ?] OF project_item; + END_ENTITY; + + ENTITY applied_person_and_organization_assignment + SUBTYPE OF ( person_and_organization_assignment ); + items : SET [1 : ?] OF person_and_organization_item; + END_ENTITY; + + ENTITY applied_presented_item + SUBTYPE OF ( presented_item ); + items : SET [1 : ?] OF presented_item_select; + END_ENTITY; + + ENTITY applied_security_classification_assignment + SUBTYPE OF ( security_classification_assignment ); + items : SET [1 : ?] OF security_classification_item; + END_ENTITY; + + ENTITY applied_state_type_assignment + SUBTYPE OF ( state_type_assignment ); + END_ENTITY; + + ENTITY applied_time_interval_assignment + SUBTYPE OF ( time_interval_assignment ); + items : SET [0 : ?] OF time_interval_item; + END_ENTITY; + + ENTITY applied_usage_right + SUBTYPE OF ( applied_action_assignment ); + SELF\applied_action_assignment.items : SET [1 : ?] OF ir_usage_item; + END_ENTITY; + + ENTITY approval; + status : approval_status; + level : label; + END_ENTITY; + + ENTITY approval_assignment + ABSTRACT SUPERTYPE; + assigned_approval : approval; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) + <= 1 ); + END_ENTITY; + + ENTITY approval_date_time; + date_time : date_time_select; + dated_approval : approval; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) + <= 1 ); + END_ENTITY; + + ENTITY approval_person_organization; + person_organization : person_organization_select; + authorized_approval : approval; + role : approval_role; + END_ENTITY; + + ENTITY approval_relationship; + name : label; + description : OPTIONAL text; + relating_approval : approval; + related_approval : approval; + END_ENTITY; + + ENTITY approval_role; + role : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY approval_status; + name : label; + END_ENTITY; + + ENTITY arbitrary_volume_2d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + orientation : direction; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY arbitrary_volume_3d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + coordinate_system : fea_axis2_placement_3d; + END_ENTITY; + + ENTITY area_in_set; + area : presentation_area; + in_set : presentation_set; + END_ENTITY; + + ENTITY area_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY area_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 2, 0, 0, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY area_with_outer_boundary + SUBTYPE OF ( half_space_2d ); + SELF\half_space_2d.base_curve : composite_curve; + WHERE + wr1: ( base_curve\composite_curve.closed_curve = TRUE ); + END_ENTITY; + + ENTITY array_based_unstructured_mesh + SUBTYPE OF ( unstructured_mesh ); + cells : ARRAY [1 : SELF\unstructured_mesh.cell_count] OF vertex_defined_cell; + WHERE + wr1: ( SELF\mesh.index_count = 1 ); + END_ENTITY; + + ENTITY array_based_unstructured_mesh_and_vertices + SUBTYPE OF ( array_based_unstructured_mesh ); + vertex_count : INTEGER; + vertices : ARRAY [1 : vertex_count] OF UNIQUE vertex; + WHERE + wr1: all_mesh_vertices( SELF ); + END_ENTITY; + + ENTITY array_placement_group + SUPERTYPE OF ( + ONEOF ( + linear_array_placement_group_component, + rectangular_array_placement_group_component ) ) + SUBTYPE OF ( assembly_group_component ); + END_ENTITY; + + ENTITY asin_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY assembly_bond_definition + SUBTYPE OF ( shape_aspect ); + UNIQUE + ur1 : SELF\shape_aspect.name; + END_ENTITY; + + ENTITY assembly_component + SUBTYPE OF ( component_definition, product_definition_shape ); + DERIVE + SELF\property_definition.definition : assembly_component := SELF; + WHERE + wr1: ( NOT EXISTS( SELF\property_definition.description ) ); + END_ENTITY; + + ENTITY assembly_component_usage + SUPERTYPE OF ( + quantified_assembly_component_usage + ANDOR + ONEOF ( + multi_level_reference_designator, + next_assembly_usage_occurrence, + promissory_usage_occurrence, + specified_higher_usage_occurrence ) ) + SUBTYPE OF ( product_definition_usage ); + reference_designator : OPTIONAL identifier; + END_ENTITY; + + ENTITY assembly_component_usage_substitute; + name : label; + definition : OPTIONAL text; + base : assembly_component_usage; + substitute : assembly_component_usage; + UNIQUE + ur1 : base, substitute; + WHERE + wr1: ( base.relating_product_definition :=: substitute.relating_product_definition ); + wr2: ( base :<>: substitute ); + END_ENTITY; + + ENTITY assembly_geometric_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + binary_assembly_constraint, + fixed_constituent_assembly_constraint ) ) + SUBTYPE OF ( explicit_constraint ); + END_ENTITY; + + ENTITY assembly_group_component + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY assembly_group_component_definition_placement_link + SUBTYPE OF ( product_definition, product_definition_relationship ); + SELF\product_definition_relationship.relating_product_definition : assembly_component; + SELF\product_definition_relationship.related_product_definition : assembly_component; + WHERE + wr1: ( SELF\product_definition_relationship.related_product_definition :<>: SELF\product_definition_relationship. + relating_product_definition ); + wr2: acyclic_product_definition_relationship( SELF, [SELF\product_definition_relationship.related_product_definition], + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASSEMBLY_GROUP_COMPONENT_DEFINITION_PLACEMENT_LINK' ); + END_ENTITY; + + ENTITY assembly_joint + SUBTYPE OF ( component_feature_joint ); + WHERE + wr1: acyclic_shape_aspect_relationship( SELF, [SELF\shape_aspect_relationship.related_shape_aspect], + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ASSEMBLY_JOINT' ); + END_ENTITY; + + ENTITY assigned_analysis + SUBTYPE OF ( group_assignment ); + items : SET [1 : 1] OF product_definition_formation; + SELF\group_assignment.assigned_group : analysis_assignment; + END_ENTITY; + + ENTITY assigned_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_assignment; + items : SET [1 : 1] OF product_definition; + END_ENTITY; + + ENTITY atan_function + SUBTYPE OF ( binary_function_call ); + END_ENTITY; + + ENTITY atom_based_literal + SUBTYPE OF ( generic_literal ); + lit_value : atom_based_value; + END_ENTITY; + + ENTITY atomic_formula + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY attribute_assertion + SUBTYPE OF ( fact_type, property_definition_representation, representation ); + END_ENTITY; + + ENTITY attribute_classification_assignment + ABSTRACT SUPERTYPE; + assigned_class : group; + attribute_name : label; + role : classification_role; + END_ENTITY; + + ENTITY attribute_language_assignment + SUBTYPE OF ( attribute_classification_assignment ); + SELF\attribute_classification_assignment.assigned_class : language; + items : SET [1 : ?] OF attribute_language_item; + WHERE + wr1: ( SELF\attribute_classification_assignment.role.name IN [ 'primary', 'translated'] ); + wr2: ( SELF\attribute_classification_assignment.attribute_name <> '' ); + END_ENTITY; + + ENTITY attribute_value_assignment + ABSTRACT SUPERTYPE; + attribute_name : label; + attribute_value : attribute_type; + role : attribute_value_role; + END_ENTITY; + + ENTITY attribute_value_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY auxiliary_geometric_representation_item + SUBTYPE OF ( geometric_representation_item, variational_representation_item ); + END_ENTITY; + + ENTITY axis1_placement + SUBTYPE OF ( placement ); + axis : OPTIONAL direction; + DERIVE + z : direction := NVL( normalise( axis ), dummy_gri || direction( [0, 0, 1] ) ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY axis2_placement_2d + SUBTYPE OF ( placement ); + ref_direction : OPTIONAL direction; + DERIVE + p : LIST [2 : 2] OF direction := build_2axes( ref_direction ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY axis2_placement_3d + SUBTYPE OF ( placement ); + axis : OPTIONAL direction; + ref_direction : OPTIONAL direction; + DERIVE + p : LIST [3 : 3] OF direction := build_axes( axis, ref_direction ); + WHERE + wr1: ( SELF\placement.location.dim = 3 ); + wr2: ( ( NOT EXISTS( axis ) ) OR ( axis.dim = 3 ) ); + wr3: ( ( NOT EXISTS( ref_direction ) ) OR ( ref_direction.dim = 3 ) ); + wr4: ( ( NOT EXISTS( axis ) ) OR ( NOT EXISTS( ref_direction ) ) OR ( cross_product( axis, ref_direction ).magnitude > 0 ) ); + END_ENTITY; + + ENTITY axisymmetric_2d_element_property; + angle : plane_angle_measure; + END_ENTITY; + + ENTITY axisymmetric_curve_2d_element_descriptor + SUBTYPE OF ( element_descriptor ); + purpose : SET [1 : ?] OF SET [1 : ?] OF curve_element_purpose; + END_ENTITY; + + ENTITY axisymmetric_curve_2d_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model_2d; + element_descriptor : axisymmetric_curve_2d_element_descriptor; + property : curve_2d_element_property; + angle_property : axisymmetric_2d_element_property; + material : element_material; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + wr1: ( model_ref.type_of_2d_analysis = axisymmetric ); + wr2: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE_2D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( item1 <* material.properties | ( SIZEOF( QUERY ( item2 <* item1\property_definition_representation. + used_representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_LINEAR_ELASTICITY' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MASS_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AREA_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MOISTURE_ABSORPTION'] * TYPEOF( item2 ) ) = 1 ) ) ) + = 1 ) ) ) >= 1 ); + wr4: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\ + representation.context_of_items ) ); + fu1: required_0d_nodes( SELF\element_representation.node_list ); + END_ENTITY; + + ENTITY axisymmetric_surface_2d_element_descriptor + SUBTYPE OF ( element_descriptor ); + purpose : SET [1 : ?] OF SET [1 : ?] OF surface_element_purpose; + END_ENTITY; + + ENTITY axisymmetric_surface_2d_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model_2d; + element_descriptor : axisymmetric_surface_2d_element_descriptor; + property : surface_element_property; + angle_property : axisymmetric_2d_element_property; + material : element_material; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + wr1: ( model_ref.type_of_2d_analysis = axisymmetric ); + wr2: ( ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PARAMETRIC_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) + SIZEOF( QUERY ( item <* SELF\ + representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ALIGNED_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( item1 <* material.properties | ( SIZEOF( QUERY ( item2 <* item1\property_definition_representation. + used_representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_LINEAR_ELASTICITY' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MASS_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AREA_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MOISTURE_ABSORPTION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_MEMBRANE_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_BENDING_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_MEMBRANE_BENDING_COUPLING_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_SHEAR_STIFFNESS'] * TYPEOF( item2 ) ) = 1 ) ) ) + = 1 ) ) ) >= 1 ); + wr4: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\ + representation.context_of_items ) ); + fu1: required_1d_nodes( SELF\element_representation.node_list, element_descriptor\element_descriptor.topology_order ); + END_ENTITY; + + ENTITY axisymmetric_volume_2d_element_descriptor + SUBTYPE OF ( element_descriptor ); + purpose : SET [1 : ?] OF SET [1 : ?] OF volume_element_purpose; + shape : element_2d_shape; + END_ENTITY; + + ENTITY axisymmetric_volume_2d_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model_2d; + element_descriptor : axisymmetric_volume_2d_element_descriptor; + angle_property : axisymmetric_2d_element_property; + material : element_material; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + wr1: ( model_ref.type_of_2d_analysis = axisymmetric ); + wr2: ( ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PARAMETRIC_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) + SIZEOF( QUERY ( item <* SELF\ + representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ARBITRARY_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( item1 <* material.properties | ( SIZEOF( QUERY ( item2 <* item1\property_definition_representation. + used_representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_LINEAR_ELASTICITY' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MASS_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AREA_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MOISTURE_ABSORPTION'] * TYPEOF( item2 ) ) = 1 ) ) ) + = 1 ) ) ) >= 1 ); + wr4: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\ + representation.context_of_items ) ); + fu1: required_2d_nodes( SELF\element_representation.node_list, element_descriptor.shape, element_descriptor\ + element_descriptor.topology_order ); + END_ENTITY; + + ENTITY b_spline_basis + SUBTYPE OF ( maths_function, generic_literal ); + degree : nonnegative_integer; + repeated_knots : LIST [2 : ?] OF REAL; + DERIVE + order : positive_integer := degree + 1; + num_basis : positive_integer := SIZEOF( repeated_knots ) - order; + WHERE + wr1: ( num_basis >= order ); + wr2: nondecreasing( repeated_knots ); + wr3: ( repeated_knots[order] < repeated_knots[num_basis + 1] ); + END_ENTITY; + + ENTITY b_spline_curve + SUPERTYPE OF ( + ONEOF ( + uniform_curve, + b_spline_curve_with_knots, + quasi_uniform_curve, + bezier_curve ) + ANDOR + rational_b_spline_curve ) + SUBTYPE OF ( bounded_curve ); + degree : INTEGER; + control_points_list : LIST [2 : ?] OF cartesian_point; + curve_form : b_spline_curve_form; + closed_curve : LOGICAL; + self_intersect : LOGICAL; + DERIVE + upper_index_on_control_points : INTEGER := SIZEOF( control_points_list ) - 1; + control_points : ARRAY [0 : upper_index_on_control_points] OF cartesian_point := list_to_array( + control_points_list, 0, upper_index_on_control_points ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNIFORM_CURVE' IN TYPEOF( SELF ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.QUASI_UNIFORM_CURVE' IN TYPEOF( SELF ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEZIER_CURVE' IN TYPEOF( SELF ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY b_spline_curve_knot_locator + SUBTYPE OF ( founded_item ); + basis_curve : b_spline_curve; + knot_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_curve_segment + SUBTYPE OF ( founded_item ); + basis_curve : b_spline_curve; + start_knot_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_curve_with_knots + SUBTYPE OF ( b_spline_curve ); + knot_multiplicities : LIST [2 : ?] OF INTEGER; + knots : LIST [2 : ?] OF parameter_value; + knot_spec : knot_type; + DERIVE + upper_index_on_knots : INTEGER := SIZEOF( knots ); + WHERE + wr1: constraints_param_b_spline( degree, upper_index_on_knots, upper_index_on_control_points, knot_multiplicities, knots ); + wr2: ( SIZEOF( knot_multiplicities ) = upper_index_on_knots ); + END_ENTITY; + + ENTITY b_spline_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + basis : LIST [1 : ?] OF b_spline_basis; + DERIVE + coef : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_table( coef ); + wr2: ( ( space_dimension( coef.range ) = 1 ) AND ( number_superspace_of( factor1( coef.range ) ) = the_reals ) ); + wr3: ( SIZEOF( basis ) <= SIZEOF( shape_of_array( coef ) ) ); + wr4: compare_basis_and_coef( basis, coef ); + END_ENTITY; + + ENTITY b_spline_surface + SUPERTYPE OF ( + ONEOF ( + b_spline_surface_with_knots, + uniform_surface, + quasi_uniform_surface, + bezier_surface ) + ANDOR + rational_b_spline_surface ) + SUBTYPE OF ( bounded_surface ); + u_degree : INTEGER; + v_degree : INTEGER; + control_points_list : LIST [2 : ?] OF LIST [2 : ?] OF cartesian_point; + surface_form : b_spline_surface_form; + u_closed : LOGICAL; + v_closed : LOGICAL; + self_intersect : LOGICAL; + DERIVE + u_upper : INTEGER := SIZEOF( control_points_list ) - 1; + v_upper : INTEGER := SIZEOF( control_points_list[1] ) - 1; + control_points : ARRAY [0 : u_upper] OF ARRAY [0 : v_upper] OF cartesian_point := make_array_of_array( control_points_list, + 0, u_upper, 0, v_upper ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNIFORM_SURFACE' IN TYPEOF( SELF ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.QUASI_UNIFORM_SURFACE' IN TYPEOF( SELF ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEZIER_SURFACE' IN TYPEOF( SELF ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY b_spline_surface_knot_locator + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_surface; + knot_index : INTEGER; + surface_parameter : u_or_v_parameter; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_surface_patch + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_surface; + u_start_knot_index : INTEGER; + v_start_knot_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_surface_strip + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_surface; + start_knot_index : INTEGER; + surface_parameter : u_or_v_parameter; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_surface_with_knots + SUBTYPE OF ( b_spline_surface ); + u_multiplicities : LIST [2 : ?] OF INTEGER; + v_multiplicities : LIST [2 : ?] OF INTEGER; + u_knots : LIST [2 : ?] OF parameter_value; + v_knots : LIST [2 : ?] OF parameter_value; + knot_spec : knot_type; + DERIVE + knot_u_upper : INTEGER := SIZEOF( u_knots ); + knot_v_upper : INTEGER := SIZEOF( v_knots ); + WHERE + wr1: constraints_param_b_spline( SELF\b_spline_surface.u_degree, knot_u_upper, SELF\b_spline_surface.u_upper, + u_multiplicities, u_knots ); + wr2: constraints_param_b_spline( SELF\b_spline_surface.v_degree, knot_v_upper, SELF\b_spline_surface.v_upper, + v_multiplicities, v_knots ); + wr3: ( SIZEOF( u_multiplicities ) = knot_u_upper ); + wr4: ( SIZEOF( v_multiplicities ) = knot_v_upper ); + END_ENTITY; + + ENTITY back_chaining_rule + SUBTYPE OF ( rule_definition ); + END_ENTITY; + + ENTITY back_chaining_rule_body + SUBTYPE OF ( property_definition, property_definition_representation, representation ); + END_ENTITY; + + ENTITY background_colour + SUBTYPE OF ( colour ); + presentation : area_or_view; + UNIQUE + ur1 : presentation; + END_ENTITY; + + ENTITY banded_matrix + SUBTYPE OF ( linearized_table_function ); + default_entry : maths_value; + below : INTEGER; + above : INTEGER; + order : ordering_type; + WHERE + wr1: ( SIZEOF( SELF\explicit_table_function.shape ) = 2 ); + wr2: ( ( -below ) <= above ); + wr3: member_of( default_entry, factor1( SELF\linearized_table_function.source.range ) ); + END_ENTITY; + + ENTITY barring_hole + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'hole profile' ) AND ( sa.description = + 'closed profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'profile usage' ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CIRCULAR_CLOSED_PROFILE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sar.relating_shape_aspect ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'barring profile' ) AND ( sa.description = + 'closed profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'profile usage' ) ) ) ) = 1 ) ) ) ) = 1 ); + wr3: ( ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( 1 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr.used_representation. + items ) <= 2 ) ) ) ) = 1 ) ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ 'orientation', + 'base radius' ] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius' ) AND + ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) <> 1 ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY basic_sparse_matrix + SUBTYPE OF ( explicit_table_function, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [3 : 3] OF maths_function; + default_entry : maths_value; + order : ordering_type; + DERIVE + index : maths_function := SELF\multiple_arity_generic_expression.operands[1]; + loc : maths_function := SELF\multiple_arity_generic_expression.operands[2]; + val : maths_function := SELF\multiple_arity_generic_expression.operands[3]; + WHERE + wr1: function_is_1d_table( index ); + wr2: function_is_1d_table( loc ); + wr3: function_is_1d_table( val ); + wr4: check_sparse_index_domain( index.domain, index_base, shape, order ); + wr5: check_sparse_index_to_loc( index.range, loc.domain ); + wr6: ( loc.domain = val.domain ); + wr7: check_sparse_loc_range( loc.range, index_base, shape, order ); + wr8: member_of( default_entry, val.range ); + END_ENTITY; + + ENTITY bead + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) > 2 ) ) ) ) = 0 ) ); + wr2: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ 'orientation', + 'base radius' ] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius' ) AND + ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) > 1 ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'sweep path' ) AND ( sa.description = + 'path feature component occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'path feature component usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sar.relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'bead profile' ) AND ( sa.description = + 'open profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'profile usage' ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'OPEN_PATH_PROFILE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE' ] * TYPEOF( sar.relating_shape_aspect ) ) = 1 ) ) ) ) + = 1 ) ) ) ) = 1 ); + wr6: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'end condition' ) AND ( sa.description = + 'bead end occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + name = 'bead end usage' ) AND ( sar.description = 'starting' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEAD_END' IN TYPEOF( sar.relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr7: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'end condition' ) AND ( sa.description = + 'bead end occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + name = 'bead end usage' ) AND ( sar.description = 'ending' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEAD_END' IN TYPEOF( sar.relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) + = 1 ); + END_ENTITY; + + ENTITY bead_end + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SELF.description IN [ 'linear', 'open', 'radiused'] ); + wr3: ( ( SELF.description <> 'linear' ) XOR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr + .used_representation ) ) ) ) > 0 ) ); + wr4: ( ( SELF.description <> 'linear' ) OR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( + pdr.used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) = 1 ) ); + wr5: ( ( SELF.description <> 'linear' ) OR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( + pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'end length' ) + AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ) ); + wr6: ( ( SELF.description <> 'linear' ) OR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( + pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'end shape' ) + AND ( i\descriptive_representation_item.description IN [ 'straight', 'tapered'] ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) ) ) ) = 1 ) ) ) ) + = 1 ) ); + wr7: ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.name = 'bead end usage' ) AND ( sar.description + IN [ 'starting', 'ending'] ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEAD' IN TYPEOF( sar. + related_shape_aspect.of_shape.definition ) ) AND ( sar.related_shape_aspect.of_shape.definition\ + characterized_object.name = 'end condition' ) AND ( sar.related_shape_aspect.of_shape.definition\ + characterized_object.description = 'bead end occurrence' ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY behavioural_decomposition_of_numerical_model; + parts : SET [2 : ?] OF numerical_model; + whole : numerical_model; + END_ENTITY; + + ENTITY behavioural_decomposition_of_temporal_spatial_domain; + parts : SET [2 : ?] OF temporal_spatial_domain; + whole : temporal_spatial_domain; + END_ENTITY; + + ENTITY between_shape_aspect + SUBTYPE OF ( continuous_shape_aspect ); + END_ENTITY; + + ENTITY beveled_sheet_representation + SUBTYPE OF ( shape_representation ); + END_ENTITY; + + ENTITY bezier_curve + SUBTYPE OF ( b_spline_curve ); + END_ENTITY; + + ENTITY bezier_surface + SUBTYPE OF ( b_spline_surface ); + END_ENTITY; + + ENTITY binary_assembly_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + parallel_assembly_constraint, + surface_distance_assembly_constraint_with_dimension, + angle_assembly_constraint_with_dimension, + perpendicular_assembly_constraint, + incidence_assembly_constraint, + coaxial_assembly_constraint, + tangent_assembly_constraint ) ) + SUBTYPE OF ( assembly_geometric_constraint, representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : representative_shape_representation; + SELF\representation_relationship.rep_2 : representative_shape_representation; + WHERE + wr1: ( ( SELF\explicit_constraint.constrained_elements[1]\geometric_representation_item.dim = 3 ) AND ( SELF\ + explicit_constraint.reference_elements[1]\geometric_representation_item.dim = 3 ) ); + wr2: ( ( SELF\representation_relationship.rep_1 IN ( using_representations( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) + using_representation_with_mapping( SELF\representation_relationship_with_transformation. + transformation_operator\item_defined_transformation.transform_item_1 ) ) ) AND ( SELF\representation_relationship. + rep_2 IN ( using_representations( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_2 ) + using_representation_with_mapping( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ) ); + wr3: ( ( SIZEOF( SELF\explicit_constraint.constrained_elements ) = 1 ) AND ( SIZEOF( SELF\explicit_constraint. + reference_elements ) = 1 ) ); + wr4: ( ( SELF\representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 = SELF\explicit_constraint.reference_elements[1] ) AND ( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 = SELF\explicit_constraint.constrained_elements[1] ) ); + END_ENTITY; + + ENTITY binary_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + xor_expression, + equals_expression ) ) + SUBTYPE OF ( boolean_expression, binary_generic_expression ); + END_ENTITY; + + ENTITY binary_function_call + ABSTRACT SUPERTYPE + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY binary_generic_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( generic_expression ); + operands : LIST [2 : 2] OF generic_expression; + END_ENTITY; + + ENTITY binary_literal + SUBTYPE OF ( generic_literal ); + lit_value : BINARY; + END_ENTITY; + + ENTITY binary_numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + minus_expression, + div_expression, + mod_expression, + slash_expression, + power_expression, + binary_function_call ) ) + SUBTYPE OF ( numeric_expression, binary_generic_expression ); + SELF\binary_generic_expression.operands : LIST [2 : 2] OF numeric_expression; + END_ENTITY; + + ENTITY binary_representation_item + SUBTYPE OF ( representation_item ); + binary_value : BINARY; + END_ENTITY; + + ENTITY block + SUBTYPE OF ( geometric_representation_item ); + position : axis2_placement_3d; + x : positive_length_measure; + y : positive_length_measure; + z : positive_length_measure; + END_ENTITY; + + ENTITY boolean_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( defined_function, boolean_expression ); + END_ENTITY; + + ENTITY boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_boolean_expression, + unary_boolean_expression, + binary_boolean_expression, + multiple_arity_boolean_expression, + comparison_expression, + interval_expression, + boolean_defined_function ) ) + SUBTYPE OF ( expression ); + END_ENTITY; + + ENTITY boolean_literal + SUBTYPE OF ( simple_boolean_expression, generic_literal ); + the_value : BOOLEAN; + END_ENTITY; + + ENTITY boolean_representation_item + SUBTYPE OF ( representation_item, boolean_literal ); + END_ENTITY; + + ENTITY boolean_result + SUBTYPE OF ( geometric_representation_item ); + operator : boolean_operator; + first_operand : boolean_operand; + second_operand : boolean_operand; + END_ENTITY; + + ENTITY boolean_result_2d + SUBTYPE OF ( boolean_result ); + SELF\boolean_result.first_operand : boolean_operand_2d; + SELF\boolean_result.second_operand : boolean_operand_2d; + END_ENTITY; + + ENTITY boolean_variable + SUBTYPE OF ( simple_boolean_expression, variable ); + END_ENTITY; + + ENTITY boss + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF\characterized_object.description IN [ 'circular', 'complex', 'rectangular'] ); + wr2 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'boss height occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description + = 'linear' ) AND ( sdr.name = 'boss height' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 1 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 2 ) ) ) ) = 1 ) ) ) = 1 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'fillet radius' ) ) ) ) = + SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( ( NOT ( SELF\characterized_object.description = 'circular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( + SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'circular profile occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr7 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'top condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'boss top usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS_TOP' IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) + = 1 ) ) ) ) = 0 ); + wr8 : ( ( NOT ( SELF\characterized_object.description = 'circular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( + SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'change in diameter occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'taper usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr.related_shape_aspect ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS' IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) + <= 1 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( + SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'enclosed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) + = 1 ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description IN [ 'complex', 'rectangular'] ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'change in boundary occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | + ( ( sar.description = 'taper usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr.related_shape_aspect ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr. + related_shape_aspect.description IN [ 'angle taper', 'directed taper'] ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF\characterized_object.description = 'rectangular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'rectangular profile occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'RECTANGULAR_CLOSED_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr12: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY boss_top + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SELF.description IN [ 'planar', 'complex'] ); + wr3: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'boss top usage' ) AND ( sar. + name IN [ 'boss height start', 'boss height end'] ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( fcr.related_shape_aspect.description = + 'top condition occurrence' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS' IN TYPEOF( fcr. + related_shape_aspect.of_shape.definition ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS_TOP' IN + TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) >= 1 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'top radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY bound_parameter_environment + SUBTYPE OF ( environment ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN TYPEOF( SELF\environment. + syntactic_representation ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INSTANCE_ATTRIBUTE_REFERENCE' + IN TYPEOF( SELF\environment.semantics ) ) ); + END_ENTITY; + + ENTITY bound_variable_semantics + SUBTYPE OF ( variable_semantics ); + END_ENTITY; + + ENTITY bound_variational_parameter + SUBTYPE OF ( variational_parameter ); + DERIVE + SELF\variational_parameter.parameter_current_value : maths_value := ?; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUND_PARAMETER_ENVIRONMENT' IN TYPEOF( SELF\generic_variable. + interpretation ) ); + END_ENTITY; + + ENTITY boundary_curve + SUBTYPE OF ( composite_curve_on_surface ); + WHERE + wr1: SELF\composite_curve.closed_curve; + END_ENTITY; + + ENTITY boundary_curve_of_b_spline_or_rectangular_composite_surface + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_or_rectangular_composite_surface_select; + boundary_type : surface_boundary_type; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY bounded_curve + SUPERTYPE OF ( + ONEOF ( + polyline, + b_spline_curve, + trimmed_curve, + bounded_pcurve, + bounded_surface_curve, + composite_curve ) ) + SUBTYPE OF ( curve ); + END_ENTITY; + + ENTITY bounded_pcurve + SUBTYPE OF ( pcurve, bounded_curve ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF( SELF\pcurve.reference_to_curve.items[1] ) ); + END_ENTITY; + + ENTITY bounded_surface + SUPERTYPE OF ( + ONEOF ( + b_spline_surface, + rectangular_trimmed_surface, + curve_bounded_surface, + rectangular_composite_surface ) ) + SUBTYPE OF ( surface ); + END_ENTITY; + + ENTITY bounded_surface_curve + SUBTYPE OF ( surface_curve, bounded_curve ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF( SELF\surface_curve.curve_3d ) ); + END_ENTITY; + + ENTITY box_domain + SUBTYPE OF ( founded_item ); + corner : cartesian_point; + xlength : positive_length_measure; + ylength : positive_length_measure; + zlength : positive_length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( item <* USEDIN( SELF, '' ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'BOXED_HALF_SPACE' IN TYPEOF( item ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY boxed_half_space + SUBTYPE OF ( half_space_solid ); + enclosure : box_domain; + END_ENTITY; + + ENTITY breakdown_context + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY breakdown_element_group_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : product_definition_element_relationship; + items : SET [1 : 1] OF product_definition_or_breakdown_element_usage; + END_ENTITY; + + ENTITY breakdown_element_realization + SUBTYPE OF ( characterized_object, product_definition_element_relationship ); + END_ENTITY; + + ENTITY breakdown_element_usage + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY breakdown_of + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY brep_with_voids + SUBTYPE OF ( manifold_solid_brep ); + voids : SET [1 : ?] OF oriented_closed_shell; + END_ENTITY; + + ENTITY bytes_representation_item + SUBTYPE OF ( binary_representation_item ); + DERIVE + no_of_bytes : INTEGER := BLENGTH( SELF\binary_representation_item.binary_value ) DIV 8; + WHERE + wr1: ( ( BLENGTH( SELF\binary_representation_item.binary_value ) MOD 8 ) = 0 ); + END_ENTITY; + + ENTITY calculated_state + SUBTYPE OF ( state ); + END_ENTITY; + + ENTITY calendar_date + SUBTYPE OF ( date ); + day_component : day_in_month_number; + month_component : month_in_year_number; + WHERE + wr1: valid_calendar_date( SELF ); + END_ENTITY; + + ENTITY camera_image + SUPERTYPE OF ( + ONEOF ( + camera_image_2d_with_scale, + camera_image_3d_with_scale ) ) + SUBTYPE OF ( mapped_item ); + SELF\mapped_item.mapping_source : camera_usage; + SELF\mapped_item.mapping_target : planar_box; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY camera_image_2d_with_scale + SUBTYPE OF ( camera_image ); + DERIVE + scale : positive_ratio_measure := SELF\mapped_item.mapping_target\planar_extent.size_in_x / SELF\mapped_item. + mapping_source.mapping_origin\camera_model_d2.view_window\planar_extent.size_in_x; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CAMERA_MODEL_D2' IN TYPEOF( SELF\mapped_item.mapping_source. + mapping_origin ) ); + wr2: ( aspect_ratio( SELF\mapped_item.mapping_target ) = aspect_ratio( SELF\mapped_item.mapping_source.mapping_origin\ + camera_model_d2.view_window ) ); + wr3: SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window_clipping; + END_ENTITY; + + ENTITY camera_image_3d_with_scale + SUBTYPE OF ( camera_image ); + DERIVE + scale : positive_ratio_measure := SELF\mapped_item.mapping_target\planar_extent.size_in_x / SELF\mapped_item. + mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_window.size_in_x; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CAMERA_MODEL_D3' IN TYPEOF( SELF\mapped_item.mapping_source. + mapping_origin ) ); + wr2: ( aspect_ratio( SELF\mapped_item.mapping_target ) = aspect_ratio( SELF\mapped_item.mapping_source.mapping_origin\ + camera_model_d3.perspective_of_volume.view_window ) ); + wr3: ( SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.front_plane_clipping AND SELF\ + mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_volume_sides_clipping ); + wr4: ( ( SELF\mapped_item.mapping_target\planar_extent.size_in_x > 0 ) AND ( SELF\mapped_item.mapping_target\planar_extent. + size_in_y > 0 ) ); + wr5: ( ( SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_window.size_in_x > 0 ) + AND ( SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_window.size_in_y > + 0 ) ); + wr6: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( SELF\mapped_item. + mapping_target\planar_box.placement ) ) AND ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' ) IN TYPEOF( SELF\mapped_item.mapping_target\planar_box.placement ) ) ) ); + END_ENTITY; + + ENTITY camera_model + ABSTRACT SUPERTYPE OF ( + ONEOF ( + camera_model_d2, + camera_model_d3 ) ) + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ITEM_DEFINED_TRANSFORMATION.' + + 'TRANSFORM_ITEM_1' ) ) + SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_MAP.MAPPING_ORIGIN' ) ) ) > 0 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'STYLED_ITEM.ITEM' ) ) = 0 ); + END_ENTITY; + + ENTITY camera_model_d2 + SUBTYPE OF ( camera_model ); + view_window : planar_box; + view_window_clipping : BOOLEAN; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY camera_model_d3 + SUBTYPE OF ( camera_model ); + view_reference_system : axis2_placement_3d; + perspective_of_volume : view_volume; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY camera_model_d3_multi_clipping + SUBTYPE OF ( camera_model_d3 ); + shape_clipping : SET [1 : ?] OF camera_model_d3_multi_clipping_interection_select; + END_ENTITY; + + ENTITY camera_model_d3_multi_clipping_intersection + SUBTYPE OF ( geometric_representation_item ); + shape_clipping : SET [2 : ?] OF camera_model_d3_multi_clipping_interection_select; + END_ENTITY; + + ENTITY camera_model_d3_multi_clipping_union + SUBTYPE OF ( geometric_representation_item ); + shape_clipping : SET [2 : ?] OF camera_model_d3_multi_clipping_union_select; + END_ENTITY; + + ENTITY camera_model_d3_with_hlhsr + SUBTYPE OF ( camera_model_d3 ); + hidden_line_surface_removal : BOOLEAN; + END_ENTITY; + + ENTITY camera_model_with_light_sources + SUBTYPE OF ( camera_model_d3 ); + sources : SET [1 : ?] OF light_source; + END_ENTITY; + + ENTITY camera_usage + SUBTYPE OF ( representation_map ); + SELF\representation_map.mapping_origin : camera_model; + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' IN TYPEOF( SELF\ + representation_map.mapped_representation ) ) ); + END_ENTITY; + + ENTITY capacitance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CAPACITANCE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY capacitance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.farad ) ); + END_ENTITY; + + ENTITY cartesian_complex_number_region + SUBTYPE OF ( maths_space, generic_literal ); + real_constraint : real_interval; + imag_constraint : real_interval; + WHERE + wr1: ( min_exists( real_constraint ) OR max_exists( real_constraint ) OR min_exists( imag_constraint ) OR max_exists( + imag_constraint ) ); + END_ENTITY; + + ENTITY cartesian_point + SUBTYPE OF ( point ); + coordinates : LIST [1 : 3] OF length_measure; + END_ENTITY; + + ENTITY cartesian_transformation_operator + SUPERTYPE OF ( + ONEOF ( + cartesian_transformation_operator_2d, + cartesian_transformation_operator_3d ) ) + SUBTYPE OF ( geometric_representation_item, functionally_defined_transformation ); + axis1 : OPTIONAL direction; + axis2 : OPTIONAL direction; + local_origin : cartesian_point; + scale : OPTIONAL REAL; + DERIVE + scl : REAL := NVL( scale, 1 ); + WHERE + wr1: ( scl > 0 ); + END_ENTITY; + + ENTITY cartesian_transformation_operator_2d + SUBTYPE OF ( cartesian_transformation_operator ); + DERIVE + u : LIST [2 : 2] OF direction := base_axis( 2, SELF\cartesian_transformation_operator.axis1, SELF\ + cartesian_transformation_operator.axis2, ? ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY cartesian_transformation_operator_3d + SUBTYPE OF ( cartesian_transformation_operator ); + axis3 : OPTIONAL direction; + DERIVE + u : LIST [3 : 3] OF direction := base_axis( 3, SELF\cartesian_transformation_operator.axis1, SELF\ + cartesian_transformation_operator.axis2, axis3 ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY cc_design_approval + SUBTYPE OF ( approval_assignment ); + items : SET [1 : ?] OF approved_item; + END_ENTITY; + + ENTITY cc_design_certification + SUBTYPE OF ( certification_assignment ); + items : SET [1 : ?] OF certified_item; + END_ENTITY; + + ENTITY cc_design_contract + SUBTYPE OF ( contract_assignment ); + items : SET [1 : ?] OF contracted_item; + END_ENTITY; + + ENTITY cc_design_date_and_time_assignment + SUBTYPE OF ( date_and_time_assignment ); + items : SET [1 : ?] OF date_time_item; + END_ENTITY; + + ENTITY cc_design_person_and_organization_assignment + SUBTYPE OF ( person_and_organization_assignment ); + items : SET [1 : ?] OF cc_person_organization_item; + WHERE + wr1: cc_design_person_and_organization_correlation( SELF ); + END_ENTITY; + + ENTITY cc_design_security_classification + SUBTYPE OF ( security_classification_assignment ); + items : SET [1 : ?] OF cc_classified_item; + END_ENTITY; + + ENTITY cc_design_specification_reference + SUBTYPE OF ( document_reference ); + items : SET [1 : ?] OF cc_specified_item; + END_ENTITY; + + ENTITY cdgc_with_dimension + SUBTYPE OF ( curve_distance_geometric_constraint ); + distance_value : non_negative_length_measure; + END_ENTITY; + + ENTITY cell + SUPERTYPE OF ( + ONEOF ( + cell_of_structured_mesh, + vertex_defined_cell ) ) + SUBTYPE OF ( topological_representation_item ); + description : text; + dimension : INTEGER; + END_ENTITY; + + ENTITY cell_of_structured_mesh + SUBTYPE OF ( cell ); + the_mesh : structured_mesh; + cell_identifier : ARRAY [1 : index_count] OF INTEGER; + DERIVE + index_count : INTEGER := the_mesh\mesh.index_count; + END_ENTITY; + + ENTITY cell_with_explicit_boundary + SUBTYPE OF ( cell ); + boundary : SET [1 : ?] OF topological_representation_item; + END_ENTITY; + + ENTITY celsius_temperature_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY centre_of_symmetry + SUBTYPE OF ( derived_shape_aspect ); + END_ENTITY; + + ENTITY certification; + name : label; + purpose : text; + kind : certification_type; + END_ENTITY; + + ENTITY certification_assignment + ABSTRACT SUPERTYPE; + assigned_certification : certification; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) + <= 1 ); + END_ENTITY; + + ENTITY certification_type; + description : label; + END_ENTITY; + + ENTITY chain_based_geometric_item_specific_usage + SUBTYPE OF ( geometric_item_specific_usage, chain_based_item_identified_representation_usage ); + END_ENTITY; + + ENTITY chain_based_item_identified_representation_usage + SUBTYPE OF ( item_identified_representation_usage ); + nodes : LIST [2 : ?] OF UNIQUE representation; + undirected_link : LIST [1 : ?] OF chained_representation_link; + DERIVE + root : representation := nodes[1]; + SELF\item_identified_representation_usage.used_representation : representation := nodes[HIINDEX( nodes )]; + directed_link : LIST [1 : ?] OF representation_relationship := get_directed_link( nodes, + undirected_link ); + leaf : representation := SELF\item_identified_representation_usage.used_representation; + WHERE + wr1: EXISTS( directed_link ); + END_ENTITY; + + ENTITY chamfer + SUBTYPE OF ( transition_feature ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'chamfer face' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CHAMFER_OFFSET' IN TYPEOF( fcr.related_shape_aspect ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHAMFER' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr. + related_shape_aspect.description = 'first offset' ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CHAMFER_OFFSET' IN TYPEOF( fcr.related_shape_aspect ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHAMFER' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr. + related_shape_aspect.description = 'second offset' ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY chamfer_offset + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF.description IN [ 'first offset', 'second offset'] ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( ( NOT ( SELF.description = 'first offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'offset amount' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'first offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'first face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( SELF.description = 'second offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'offset amount' ) ) OR ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it.name = 'offset angle' ) ) ) ) ) = 1 ) ) ) ) = + 0 ) ) ) ) = 0 ) ); + wr7: ( ( NOT ( SELF.description = 'second offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'second face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr8: ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CHAMFER' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CHAMFER_OFFSET' IN TYPEOF( sdr.related_shape_aspect ) ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY change + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF work_item; + END_ENTITY; + + ENTITY change_composition_relationship + SUBTYPE OF ( group_relationship ); + SELF\group_relationship.relating_group : change_group; + SELF\group_relationship.related_group : change_element; + DERIVE + composition : change_group := SELF\group_relationship.relating_group; + element : change_element := SELF\group_relationship.related_group; + END_ENTITY; + + ENTITY change_element + ABSTRACT SUPERTYPE OF ( + ONEOF ( + modify_element, + delete_element, + add_element ) ) + SUBTYPE OF ( group, characterized_object ); + END_ENTITY; + + ENTITY change_element_sequence + SUBTYPE OF ( group_relationship ); + SELF\group_relationship.relating_group : change_element; + SELF\group_relationship.related_group : change_element; + DERIVE + next : change_element := SELF\group_relationship.related_group; + previous : change_element := SELF\group_relationship.relating_group; + END_ENTITY; + + ENTITY change_group + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY change_group_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : change_group; + item : change_relationship_select; + END_ENTITY; + + ENTITY change_request + SUBTYPE OF ( action_request_assignment ); + items : SET [1 : ?] OF change_request_item; + END_ENTITY; + + ENTITY character_glyph_font_usage; + character : generic_character_glyph_symbol; + font : text_font; + END_ENTITY; + + ENTITY character_glyph_style_outline + SUBTYPE OF ( founded_item ); + outline_style : curve_style; + END_ENTITY; + + ENTITY character_glyph_style_stroke + SUBTYPE OF ( founded_item ); + stroke_style : curve_style; + END_ENTITY; + + ENTITY character_glyph_symbol + SUBTYPE OF ( generic_character_glyph_symbol ); + character_box : planar_extent; + baseline_ratio : ratio_measure; + DERIVE + box_height : length_measure := character_box.size_in_y; + WHERE + wr1: ( ( 0 <= baseline_ratio ) AND ( baseline_ratio <= 1 ) ); + wr2: item_in_context( SELF.character_box, SELF\representation.context_of_items ); + wr3: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( SELF.box_height ) ); + END_ENTITY; + + ENTITY character_glyph_symbol_outline + SUBTYPE OF ( character_glyph_symbol ); + outlines : SET [1 : ?] OF annotation_fill_area; + WHERE + wr1: ( SELF.outlines <= SELF\representation.items ); + END_ENTITY; + + ENTITY character_glyph_symbol_stroke + SUBTYPE OF ( character_glyph_symbol ); + strokes : SET [1 : ?] OF curve; + WHERE + wr1: ( SELF.strokes <= SELF\representation.items ); + END_ENTITY; + + ENTITY characteristic_data_column_header + SUBTYPE OF ( general_property ); + END_ENTITY; + + ENTITY characteristic_data_column_header_link + SUBTYPE OF ( general_property_relationship ); + END_ENTITY; + + ENTITY characteristic_data_table_header + SUBTYPE OF ( general_property ); + END_ENTITY; + + ENTITY characteristic_data_table_header_decomposition + SUBTYPE OF ( general_property_relationship ); + END_ENTITY; + + ENTITY characteristic_type + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY characterized_chain_based_item_within_representation + SUBTYPE OF ( characterized_item_within_representation ); + nodes : LIST [2 : ?] OF UNIQUE representation; + undirected_link : LIST [1 : ?] OF chained_representation_link; + DERIVE + root : representation := nodes[1]; + SELF\characterized_item_within_representation.rep : representation := nodes[HIINDEX( nodes )]; + directed_link : LIST [1 : ?] OF representation_relationship := get_directed_link( nodes, + undirected_link ); + leaf : representation := SELF\characterized_item_within_representation.rep; + WHERE + wr1: EXISTS( directed_link ); + END_ENTITY; + + ENTITY characterized_class + SUBTYPE OF ( characterized_object, class ); + END_ENTITY; + + ENTITY characterized_item_within_representation + SUBTYPE OF ( characterized_object ); + item : representation_item; + rep : representation; + UNIQUE + wr1 : item, rep; + WHERE + wr2: ( rep IN using_representations( item ) ); + END_ENTITY; + + ENTITY characterized_object; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY characterized_representation + SUBTYPE OF ( representation, characterized_object ); + DERIVE + SELF\characterized_object.name : label := SELF\representation.name; + SELF\characterized_object.description : text := SELF\representation.description; + END_ENTITY; + + ENTITY circle + SUBTYPE OF ( conic ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY circular_area + SUBTYPE OF ( primitive_2d ); + centre : cartesian_point; + radius : positive_length_measure; + END_ENTITY; + + ENTITY circular_closed_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY circular_path + SUBTYPE OF ( path_node ); + via_point : cartesian_point; + END_ENTITY; + + ENTITY circular_pattern + SUBTYPE OF ( replicate_feature ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' + IN TYPEOF( sar ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr. + related_shape_aspect ) ) ) ) = 1 ) ) ) <= 3 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( ( SIZEOF( impl_rep.used_representation.items ) >= 3 ) AND ( SIZEOF( impl_rep. + used_representation.items ) <= 5 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( + it.name = 'base feature rotation' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\measure_with_unit. + value_component ) ) AND ( it.name = 'number of features' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( + it.name = 'angular spacing' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY circular_runout_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY class + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY class_by_extension + SUBTYPE OF ( class ); + END_ENTITY; + + ENTITY class_by_intension + SUBTYPE OF ( class ); + END_ENTITY; + + ENTITY class_system + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY class_usage_effectivity_context_assignment + SUBTYPE OF ( effectivity_context_assignment ); + items : SET [1 : ?] OF class_usage_effectivity_context_item; + WHERE + wr1: ( SELF.role.name = 'class usage influence' ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN + TYPEOF( i ) ) ) ) ) = 0 ); + wr3: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF( SELF. + assigned_effectivity_assignment ) ) AND ( SIZEOF( TYPEOF( SELF.assigned_effectivity_assignment.assigned_effectivity ) ) + = 1 ) AND ( SELF.assigned_effectivity_assignment.assigned_effectivity.id = 'class usage' ) AND ( SIZEOF( + QUERY ( i <* SELF.assigned_effectivity_assignment\applied_effectivity_assignment.items | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF( i ) ) ) ) ) + = 0 ) ); + END_ENTITY; + + ENTITY classification_assignment + ABSTRACT SUPERTYPE; + assigned_class : group; + role : classification_role; + END_ENTITY; + + ENTITY classification_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY clgc_with_dimension + SUBTYPE OF ( curve_length_geometric_constraint ); + length_value : positive_length_measure; + END_ENTITY; + + ENTITY closed_curve_style_parameters + SUBTYPE OF ( curve_style_parameters_representation ); + END_ENTITY; + + ENTITY closed_path_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PATH_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY closed_shell + SUBTYPE OF ( connected_face_set ); + END_ENTITY; + + ENTITY coaxial_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, coaxial_geometric_constraint ); + END_ENTITY; + + ENTITY coaxial_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF axial_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF axial_geometry_constraint_element; + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\explicit_constraint.reference_elements | ( SIZEOF( TYPEOF( q ) * [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPHERICAL_SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPHERE' ] ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY coaxiality_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY collection + SUBTYPE OF ( product ); + END_ENTITY; + + ENTITY collection_assignment + SUBTYPE OF ( applied_group_assignment ); + END_ENTITY; + + ENTITY collection_membership + SUBTYPE OF ( applied_group_assignment ); + END_ENTITY; + + ENTITY collection_relationship + SUBTYPE OF ( product_relationship ); + SELF\product_relationship.relating_product : collection; + SELF\product_relationship.related_product : collection; + DERIVE + related_collection : collection := SELF\product_relationship.related_product; + relating_collection : collection := SELF\product_relationship.relating_product; + END_ENTITY; + + ENTITY collection_version + SUBTYPE OF ( product_definition_formation ); + SELF\product_definition_formation.of_product : collection; + DERIVE + of_collection : collection := SELF\product_definition_formation.of_product; + END_ENTITY; + + ENTITY collection_version_relationship + SUBTYPE OF ( product_definition_formation_relationship ); + SELF\product_definition_formation_relationship.relating_product_definition_formation : collection_version; + SELF\product_definition_formation_relationship.related_product_definition_formation : collection_version; + DERIVE + related_version : collection_version := SELF\product_definition_formation_relationship. + related_product_definition_formation; + relating_version : collection_version := SELF\product_definition_formation_relationship. + relating_product_definition_formation; + END_ENTITY; + + ENTITY collection_version_sequence_relationship + SUBTYPE OF ( product_definition_formation_relationship ); + SELF\product_definition_formation_relationship.relating_product_definition_formation : collection_version; + SELF\product_definition_formation_relationship.related_product_definition_formation : collection_version; + DERIVE + predecessor : collection_version := SELF\product_definition_formation_relationship.relating_product_definition_formation; + successor : collection_version := SELF\product_definition_formation_relationship.related_product_definition_formation; + END_ENTITY; + + ENTITY collection_view_definition + SUBTYPE OF ( product_definition ); + SELF\product_definition.formation : collection_version; + DERIVE + defined_version : collection_version := SELF\product_definition.formation; + END_ENTITY; + + ENTITY colour; + END_ENTITY; + + ENTITY colour_rgb + SUBTYPE OF ( colour_specification ); + red : REAL; + green : REAL; + blue : REAL; + WHERE + wr1: ( ( 0 <= red ) AND ( red <= 1 ) ); + wr2: ( ( 0 <= green ) AND ( green <= 1 ) ); + wr3: ( ( 0 <= blue ) AND ( blue <= 1 ) ); + END_ENTITY; + + ENTITY colour_specification + SUBTYPE OF ( colour ); + name : label; + END_ENTITY; + + ENTITY common_datum + SUBTYPE OF ( composite_shape_aspect, datum ); + WHERE + wr1: ( SIZEOF( SELF\composite_shape_aspect.component_relationships ) = 2 ); + wr2: ( SIZEOF( QUERY ( sar <* SELF\composite_shape_aspect.component_relationships | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM' IN TYPEOF( sar.related_shape_aspect ) ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMMON_DATUM' IN TYPEOF( sar.related_shape_aspect ) ) ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY comparison_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + comparison_equal, + comparison_greater, + comparison_greater_equal, + comparison_less, + comparison_less_equal, + comparison_not_equal, + like_expression ) ) + SUBTYPE OF ( boolean_expression, binary_generic_expression ); + SELF\binary_generic_expression.operands : LIST [2 : 2] OF expression; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( SELF\ + binary_generic_expression.operands[1] ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'NUMERIC_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[2] ) ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression + .operands[1] ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF( SELF\ + binary_generic_expression.operands[2] ) ) ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'STRING_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[1] ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression. + operands[2] ) ) ) ); + END_ENTITY; + + ENTITY comparison_greater + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_greater_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_less + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_less_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_not_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY complex_area + ABSTRACT SUPERTYPE OF ( + path_area_with_parameters + ANDOR + primitive_2d_with_inner_boundary ) + SUBTYPE OF ( primitive_2d ); + END_ENTITY; + + ENTITY complex_clause + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY complex_conjunctive_clause + SUBTYPE OF ( complex_clause ); + END_ENTITY; + + ENTITY complex_disjunctive_clause + SUBTYPE OF ( complex_clause ); + END_ENTITY; + + ENTITY complex_number_literal + SUBTYPE OF ( generic_literal ); + real_part : REAL; + imag_part : REAL; + END_ENTITY; + + ENTITY complex_number_literal_polar + SUBTYPE OF ( complex_number_literal ); + modulus : REAL; + argument : REAL; + DERIVE + SELF\complex_number_literal.real_part : REAL := modulus * COS( argument ); + SELF\complex_number_literal.imag_part : REAL := modulus * SIN( argument ); + WHERE + wr1: ( modulus >= 0 ); + wr2: ( ( 0 <= argument ) AND ( argument <= ( 2 * PI ) ) ); + END_ENTITY; + + ENTITY complex_shelled_solid + SUBTYPE OF ( shelled_solid ); + thickened_face_list : LIST [1 : ?] OF SET [1 : ?] OF face_surface; + thickness_list : LIST [1 : ?] OF length_measure; + WHERE + wr1: ( SIZEOF( thickened_face_list ) = SIZEOF( thickness_list ) ); + wr2: ( SIZEOF( QUERY ( q <* thickness_list | ( q = 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY complex_triangulated_face + SUBTYPE OF ( tessellated_face ); + pnindex : LIST [0 : ?] OF INTEGER; + triangle_strips : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + triangle_fans : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_face.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_face.pnmax <> coordinates.npoints ) ) ); + wr3: ( NOT ( ( SIZEOF( triangle_strips ) = 0 ) AND ( SIZEOF( triangle_fans ) = 0 ) ) ); + END_ENTITY; + + ENTITY complex_triangulated_surface_set + SUBTYPE OF ( tessellated_surface_set ); + pnindex : LIST [0 : ?] OF INTEGER; + triangle_strips : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + triangle_fans : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_surface_set.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_surface_set.pnmax <> coordinates.npoints ) ) ); + wr3: ( NOT ( ( SIZEOF( triangle_strips ) = 0 ) AND ( SIZEOF( triangle_fans ) = 0 ) ) ); + END_ENTITY; + + ENTITY component_definition + SUBTYPE OF ( product_definition, product_definition_relationship ); + DERIVE + SELF\product_definition_relationship.related_product_definition : component_definition := SELF; + WHERE + wr1: ( NOT EXISTS( SELF\product_definition_relationship.description ) ); + wr2: ( NOT EXISTS( SELF\property_definition.description ) ); + wr3: ( SELF\product_definition_relationship.id = SELF\product_definition.id ); + wr4: ( SELF\product_definition_relationship.name = 'definition usage' ); + wr5: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_USAGE' ) IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY component_feature + SUBTYPE OF ( shape_aspect ); + SELF\shape_aspect.of_shape : assembly_component; + END_ENTITY; + + ENTITY component_feature_joint + SUBTYPE OF ( shape_aspect_relationship, shape_aspect ); + SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; + SELF\shape_aspect_relationship.related_shape_aspect : component_feature; + END_ENTITY; + + ENTITY component_feature_relationship + SUBTYPE OF ( shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; + SELF\shape_aspect_relationship.related_shape_aspect : component_feature; + WHERE + wr1: ( SELF\shape_aspect_relationship.related_shape_aspect :<>: SELF\shape_aspect_relationship.relating_shape_aspect ); + END_ENTITY; + + ENTITY component_mating_constraint_condition + SUBTYPE OF ( shape_aspect ); + UNIQUE + ur1 : SELF\shape_aspect.name, SELF\shape_aspect.of_shape; + END_ENTITY; + + ENTITY component_path_shape_aspect + SUBTYPE OF ( shape_aspect ); + location : multi_or_next_assembly_usage_occurrence; + component_shape_aspect : internal_or_reflected_shape_aspect; + UNIQUE + ur1 : location, component_shape_aspect; + END_ENTITY; + + ENTITY component_terminal + SUBTYPE OF ( component_feature ); + END_ENTITY; + + ENTITY composite_assembly_sequence_definition + SUBTYPE OF ( product_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATING_PRODUCT_DEFINITION' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' ) IN TYPEOF( pdr ) ) ) ) + > 0 ); + END_ENTITY; + + ENTITY composite_assembly_table + SUBTYPE OF ( part_laminate_table ); + END_ENTITY; + + ENTITY composite_curve + SUBTYPE OF ( bounded_curve ); + segments : LIST [1 : ?] OF composite_curve_segment; + self_intersect : LOGICAL; + DERIVE + n_segments : INTEGER := SIZEOF( segments ); + closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous; + WHERE + wr1: ( ( ( NOT closed_curve ) AND ( SIZEOF( QUERY ( temp <* segments | ( temp.transition = discontinuous ) ) ) = 1 ) ) OR + ( closed_curve AND ( SIZEOF( QUERY ( temp <* segments | ( temp.transition = discontinuous ) ) ) = 0 ) ) ); + END_ENTITY; + + ENTITY composite_curve_on_surface + SUPERTYPE OF ( + boundary_curve ) + SUBTYPE OF ( composite_curve ); + DERIVE + basis_surface : SET [0 : 2] OF surface := get_basis_surface( SELF ); + WHERE + wr1: ( SIZEOF( basis_surface ) > 0 ); + wr2: constraints_composite_curve_on_surface( SELF ); + END_ENTITY; + + ENTITY composite_curve_segment + SUBTYPE OF ( founded_item ); + transition : transition_code; + same_sense : BOOLEAN; + parent_curve : curve; + INVERSE + using_curves : BAG [1 : ?] OF composite_curve FOR segments; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF( parent_curve ) ); + END_ENTITY; + + ENTITY composite_curve_transition_locator + SUBTYPE OF ( founded_item ); + basis_curve : composite_curve; + transition_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY composite_group_shape_aspect + SUBTYPE OF ( composite_shape_aspect ); + END_ENTITY; + + ENTITY composite_hole + SUBTYPE OF ( compound_feature ); + WHERE + wr1: ( SELF\characterized_object.description IN [ 'counterbore', 'countersunk'] ); + wr2: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( + pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ROUND_HOLE' IN TYPEOF( sar.related_shape_aspect ) ) ) ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr3: ( ( NOT ( SELF\characterized_object.description = 'countersunk' ) ) OR ( SIZEOF( QUERY ( pds <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( + QUERY ( csa <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) AND ( SIZEOF( + QUERY ( sar <* csa.component_relationships | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUND_HOLE' IN + TYPEOF( sar.related_shape_aspect ) ) AND ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( sar. + related_shape_aspect, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'change in diameter occurrence' ) AND ( SIZEOF( QUERY ( fcr2 <* QUERY ( sar2 <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( + ( sar2.description = 'taper usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar2 ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr2.related_shape_aspect ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY composite_material_designation + SUBTYPE OF ( material_designation ); + END_ENTITY; + + ENTITY composite_shape_aspect + SUPERTYPE OF ( + ONEOF ( + continuous_shape_aspect, + common_datum, + composite_group_shape_aspect ) ) + SUBTYPE OF ( shape_aspect ); + INVERSE + component_relationships : SET [2 : ?] OF shape_aspect_relationship FOR relating_shape_aspect; + END_ENTITY; + + ENTITY composite_sheet_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION'] * TYPEOF( SELF ) ) + = 1 ); + END_ENTITY; + + ENTITY composite_text + SUBTYPE OF ( geometric_representation_item ); + collected_text : SET [2 : ?] OF text_or_character; + WHERE + wr1: acyclic_composite_text( SELF, SELF.collected_text ); + END_ENTITY; + + ENTITY composite_text_with_associated_curves + SUBTYPE OF ( composite_text ); + associated_curves : SET [1 : ?] OF curve; + END_ENTITY; + + ENTITY composite_text_with_blanking_box + SUBTYPE OF ( composite_text ); + blanking : planar_box; + END_ENTITY; + + ENTITY composite_text_with_delineation + SUBTYPE OF ( composite_text ); + delineation : text_delineation; + END_ENTITY; + + ENTITY composite_text_with_extent + SUBTYPE OF ( composite_text ); + extent : planar_extent; + END_ENTITY; + + ENTITY composite_unit_shape_aspect + SUBTYPE OF ( composite_shape_aspect ); + END_ENTITY; + + ENTITY compound_feature + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( + pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( csa.name = 'compound feature in solid' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr2: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( + pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) ) ) + = 1 ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( + pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( SIZEOF( QUERY ( fcr <* csa.component_relationships | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( fcr ) ) ) ) ) = 0 ) ) ) ) + = 1 ) ) ) ) = 1 ); + wr4: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( + pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) ) ) + = 1 ) ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( + pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'THREAD' IN TYPEOF( sar.related_shape_aspect ) ) ) ) = 0 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr6: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( + pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COMPOUND_FEATURE' IN TYPEOF( sar.related_shape_aspect ) ) AND ( sar.related_shape_aspect\characterized_object. + name <> SELF\characterized_object.name ) ) ) ) = 0 ) ) ) ) = 1 ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY compound_representation_item + SUPERTYPE OF ( + ONEOF ( + point_and_vector, + point_path ) + ANDOR + ONEOF ( + row_representation_item, + table_representation_item ) ) + SUBTYPE OF ( representation_item ); + item_element : compound_item_definition; + END_ENTITY; + + ENTITY compound_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_CONTEXT' ) IN TYPEOF( SELF. + context_of_items ) ) AND ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ) ); + wr2: ( SIZEOF( QUERY ( cbsr_i <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FACE_BASED_SURFACE_MODEL', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MAPPED_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_3D'] * TYPEOF( cbsr_i ) ) <> 1 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( cbsr_i <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FACE_BASED_SURFACE_MODEL', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MAPPED_ITEM'] * TYPEOF( cbsr_i ) ) = 1 ) ) ) > 0 ); + wr4: ( SIZEOF( QUERY ( cbsr_i <* SELF.items | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MAPPED_ITEM' ) + IN TYPEOF( cbsr_i ) ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COMPOUND_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' ] * TYPEOF( cbsr_i\mapped_item.mapping_source ) ) <> 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY concat_expression + SUBTYPE OF ( string_expression, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF string_expression; + END_ENTITY; + + ENTITY concentricity_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY concept_feature_operator; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY concept_feature_relationship; + name : label; + description : OPTIONAL text; + relating_product_concept_feature : product_concept_feature; + related_product_concept_feature : product_concept_feature; + END_ENTITY; + + ENTITY concept_feature_relationship_with_condition + SUBTYPE OF ( concept_feature_relationship ); + conditional_operator : concept_feature_operator; + END_ENTITY; + + ENTITY conditional_concept_feature + SUBTYPE OF ( product_concept_feature ); + condition : concept_feature_relationship_with_condition; + END_ENTITY; + + ENTITY conductance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONDUCTANCE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY conductance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.siemens ) ); + END_ENTITY; + + ENTITY configurable_item + SUBTYPE OF ( configuration_item ); + item_concept_feature : SET [1 : ?] OF product_concept_feature_association; + END_ENTITY; + + ENTITY configuration_design; + configuration : configuration_item; + design : configuration_design_item; + DERIVE + name : label := get_name_value( SELF ); + description : text := get_description_value( SELF ); + UNIQUE + ur1 : configuration, design; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY configuration_effectivity + SUBTYPE OF ( product_definition_effectivity ); + configuration : configuration_design; + UNIQUE + ur1 : configuration, SELF\product_definition_effectivity.usage, SELF\effectivity.id; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_USAGE' IN TYPEOF( SELF\ + product_definition_effectivity.usage ) ); + END_ENTITY; + + ENTITY configuration_item; + id : identifier; + name : label; + description : OPTIONAL text; + item_concept : product_concept; + purpose : OPTIONAL label; + END_ENTITY; + + ENTITY configuration_item_hierarchical_relationship + SUBTYPE OF ( configuration_item_relationship ); + END_ENTITY; + + ENTITY configuration_item_relationship; + name : label; + description : OPTIONAL text; + relating_configuration_item : configuration_item; + related_configuration_item : configuration_item; + END_ENTITY; + + ENTITY configuration_item_revision_sequence + SUBTYPE OF ( configuration_item_relationship ); + END_ENTITY; + + ENTITY configured_effectivity_assignment + SUBTYPE OF ( effectivity_assignment ); + items : SET [1 : ?] OF configured_effectivity_item; + WHERE + wr1: ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EFFECTIVITY'] * TYPEOF( SELF.assigned_effectivity ) ) + = 1 ) AND ( SELF.assigned_effectivity.id = 'configuration validity' ) ); + wr2: ( SIZEOF( SELF.items ) = 1 ); + wr3: ( SIZEOF( QUERY ( i <* SELF.items | ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' + IN TYPEOF( i ) ) ) OR ( NOT ( i\product_definition.frame_of_reference.name IN [ 'conceptual definition', + 'part occurrence' , 'functional definition', 'alternative definition'] ) ) ) ) ) = 0 ); + wr4: ( SELF.role.name IN [ 'design', 'usage'] ); + wr5: ( ( SELF.role.name <> 'design' ) OR ( SIZEOF( QUERY ( i <* SELF.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( i ) ) AND ( i\ + product_definition.frame_of_reference.name = 'part occurrence' ) ) ) ) = 0 ) ); + wr6: ( ( SELF.role.name <> 'usage' ) OR ( SIZEOF( QUERY ( i <* SELF.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( i ) ) AND ( i\ + product_definition.frame_of_reference.name = 'conceptual definition' ) ) ) ) = 0 ) ); + wr7: ( SELF.role.description IN [ 'exception', 'inherited', 'local'] ); + wr8: ( SIZEOF( QUERY ( x <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF( x ) ) ) ) + = 1 ); + END_ENTITY; + + ENTITY configured_effectivity_context_assignment + SUBTYPE OF ( effectivity_context_assignment ); + SELF\effectivity_context_assignment.assigned_effectivity_assignment : configured_effectivity_assignment; + items : SET [1 : ?] OF configured_effectivity_context_item; + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + END_ENTITY; + + ENTITY conic + SUPERTYPE OF ( + ONEOF ( + circle, + ellipse, + hyperbola, + parabola ) ) + SUBTYPE OF ( curve ); + position : axis2_placement; + END_ENTITY; + + ENTITY conical_stepped_hole_transition + SUBTYPE OF ( geometric_representation_item ); + transition_number : positive_integer; + cone_apex_angle : plane_angle_measure; + cone_base_radius : positive_length_measure; + END_ENTITY; + + ENTITY conical_surface + SUBTYPE OF ( elementary_surface ); + radius : length_measure; + semi_angle : plane_angle_measure; + WHERE + wr1: ( radius >= 0 ); + END_ENTITY; + + ENTITY connected_edge_set + SUBTYPE OF ( topological_representation_item ); + ces_edges : SET [1 : ?] OF edge; + END_ENTITY; + + ENTITY connected_face_set + SUPERTYPE OF ( + ONEOF ( + closed_shell, + open_shell ) ) + SUBTYPE OF ( topological_representation_item ); + cfs_faces : SET [1 : ?] OF face; + END_ENTITY; + + ENTITY connected_face_sub_set + SUBTYPE OF ( connected_face_set ); + parent_face_set : connected_face_set; + END_ENTITY; + + ENTITY connection_zone_based_assembly_joint + SUBTYPE OF ( assembly_joint ); + END_ENTITY; + + ENTITY connection_zone_interface_plane_relationship + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + UNIQUE + ur1 : SELF\shape_aspect_relationship.name; + END_ENTITY; + + ENTITY constant_function + SUBTYPE OF ( maths_function, generic_literal ); + sole_output : maths_value; + source_of_domain : maths_space_or_function; + WHERE + wr1: no_cyclic_domain_reference( source_of_domain, [SELF] ); + wr2: expression_is_constant( domain_from( source_of_domain ) ); + END_ENTITY; + + ENTITY constant_surface_3d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + axis : INTEGER; + angle : plane_angle_measure; + WHERE + wr1: ( ( axis >= 1 ) AND ( axis <= 2 ) ); + END_ENTITY; + + ENTITY constrained_kinematic_motion_representation + SUBTYPE OF ( representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : representative_shape_representation; + SELF\representation_relationship.rep_2 : representative_shape_representation; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ); + wr2: ( ( dimension_of( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_1 ) = 3 ) AND ( dimension_of( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) = 3 ) ); + wr3: ( ( SELF\representation_relationship.rep_1 IN ( using_representations( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) + using_representation_with_mapping( SELF\representation_relationship_with_transformation. + transformation_operator\item_defined_transformation.transform_item_1 ) ) ) AND ( SELF\representation_relationship. + rep_2 IN ( using_representations( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_2 ) + using_representation_with_mapping( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ) ); + wr4: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KINEMATIC_PAIR' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator ) ); + END_ENTITY; + + ENTITY constraint_element + SUPERTYPE OF ( + ONEOF ( + single_point_constraint_element, + linear_constraint_equation_element, + nodal_dof_reduction, + point_constraint, + curve_constraint, + surface_constraint, + solid_constraint ) ); + element_id : identifier; + steps : SET [1 : ?] OF control_analysis_step; + END_ENTITY; + + ENTITY constructive_geometry_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF. + context_of_items ) ) AND ( 2 <= SELF.context_of_items\geometric_representation_context.coordinate_space_dimension ) + AND ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension <= 3 ) ); + wr2: ( SIZEOF( QUERY ( cgr_i <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SURFACE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' ] * TYPEOF( cgr_i ) ) <> 1 ) ) ) = 0 ); + wr3: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2' ) ) + > 0 ); + wr4: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_MAP.' + + 'MAPPED_REPRESENTATION' ) ) = 0 ); + END_ENTITY; + + ENTITY constructive_geometry_representation_relationship + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : constructive_geometry_representation_or_shape_represenation; + SELF\representation_relationship.rep_2 : constructive_geometry_representation; + WHERE + wr1: ( ( SELF.rep_1.context_of_items :=: SELF.rep_2.context_of_items ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF.rep_1. + context_of_items ) ) ); + wr2: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' ) + IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY contact_ratio_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( SIZEOF( SELF.items ) = 1 ) AND ( SIZEOF( QUERY ( i <* SELF.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( i ) ) = 1 ) AND ( i.name = + 'ratio value' ) ) ) ) = 1 ) ); + wr2: ( ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) | ( pdr\property_definition_representation.name = + 'contact ratio reference' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( ( pdr\property_definition_representation.name = 'contact ratio reference' ) AND ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION' ) IN TYPEOF( pdr\ + property_definition_representation.definition\property_definition.definition ) ) ) ) ) = 1 ) ); + wr3: ( ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) + | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa\ + general_property_association.base_definition ) ) AND ( gpa\general_property_association.base_definition\ + general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY contacting_feature + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF\shape_aspect.product_definitional = FALSE ); + END_ENTITY; + + ENTITY context_dependent_invisibility + SUBTYPE OF ( invisibility ); + presentation_context : invisibility_context; + END_ENTITY; + + ENTITY context_dependent_kinematic_link_representation; + representation_relation : kinematic_link_representation_association; + represented_product_relation : product_definition_relationship_kinematics; + END_ENTITY; + + ENTITY context_dependent_over_riding_styled_item + SUBTYPE OF ( over_riding_styled_item ); + style_context : LIST [1 : ?] OF style_context_select; + WHERE + wr1: ( ( SIZEOF( QUERY ( sc <* SELF.style_context | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM' IN TYPEOF( sc ) ) ) ) = 1 ) OR ( SIZEOF( QUERY ( sc <* SELF.style_context | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( sc ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF( sc ) ) ) ) ) = + SIZEOF( style_context ) ) ); + END_ENTITY; + + ENTITY context_dependent_shape_representation; + representation_relation : shape_representation_relationship; + represented_product_relation : product_definition_shape; + DERIVE + description : text := get_description_value( SELF ); + name : label := get_name_value( SELF ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF( SELF. + represented_product_relation.definition ) ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + wr3: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY context_dependent_unit + SUBTYPE OF ( named_unit ); + name : label; + END_ENTITY; + + ENTITY continuous_shape_aspect + SUPERTYPE OF ( + ONEOF ( + between_shape_aspect, + all_around_shape_aspect ) ) + SUBTYPE OF ( composite_shape_aspect ); + END_ENTITY; + + ENTITY contract; + name : label; + purpose : text; + kind : contract_type; + END_ENTITY; + + ENTITY contract_assignment + ABSTRACT SUPERTYPE; + assigned_contract : contract; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) + <= 1 ); + END_ENTITY; + + ENTITY contract_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_contract : contract; + related_contract : contract; + END_ENTITY; + + ENTITY contract_type; + description : label; + END_ENTITY; + + ENTITY control; + model_ref : fea_model; + control_id : identifier; + creating_software : text; + description : text; + user_defined_control : SET [1 : ?] OF text; + intended_analysis_code : SET [1 : ?] OF text; + UNIQUE + ur1 : model_ref, control_id; + END_ENTITY; + + ENTITY control_analysis_step + SUPERTYPE OF ( + ONEOF ( + control_linear_static_analysis_step, + control_linear_modes_and_frequencies_analysis_step ) ) + SUBTYPE OF ( analysis_step ); + step_id : identifier; + sequence : INTEGER; + initial_state : state; + description : text; + UNIQUE + ur1 : SELF\analysis_step.analysis_control, sequence; + ur2 : SELF\analysis_step.analysis_control, step_id; + END_ENTITY; + + ENTITY control_linear_modes_and_frequencies_analysis_step + SUBTYPE OF ( control_analysis_step ); + process : control_linear_modes_and_frequencies_process; + number_of_modes : count_measure; + frequency_range : ARRAY [1 : 2] OF context_dependent_measure; + END_ENTITY; + + ENTITY control_linear_modes_and_frequencies_process + SUBTYPE OF ( control_process ); + final_input_state : state; + END_ENTITY; + + ENTITY control_linear_static_analysis_step + SUBTYPE OF ( control_analysis_step ); + process : control_linear_static_load_increment_process; + END_ENTITY; + + ENTITY control_linear_static_analysis_step_with_harmonic + SUBTYPE OF ( control_linear_static_analysis_step ); + symmetry : cylindrical_symmetry_control; + END_ENTITY; + + ENTITY control_linear_static_load_increment_process + SUBTYPE OF ( control_process ); + final_input_state : state; + END_ENTITY; + + ENTITY control_process + SUPERTYPE OF ( + ONEOF ( + control_linear_static_load_increment_process, + control_linear_modes_and_frequencies_process ) ); + process_id : identifier; + description : text; + END_ENTITY; + + ENTITY control_result_relationship; + control : control_analysis_step; + result : result_analysis_step; + END_ENTITY; + + ENTITY conversion_based_unit + SUBTYPE OF ( named_unit ); + name : label; + conversion_factor : measure_with_unit; + WHERE + wr1: ( SELF\named_unit.dimensions = derive_dimensional_exponents( conversion_factor\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY coordinated_universal_time_offset; + hour_offset : INTEGER; + minute_offset : OPTIONAL INTEGER; + sense : ahead_or_behind; + DERIVE + actual_minute_offset : INTEGER := NVL( minute_offset, 0 ); + WHERE + wr1: ( ( 0 <= hour_offset ) AND ( hour_offset < 24 ) ); + wr2: ( ( 0 <= actual_minute_offset ) AND ( actual_minute_offset <= 59 ) ); + wr3: ( NOT ( ( ( hour_offset <> 0 ) OR ( actual_minute_offset <> 0 ) ) AND ( sense = exact ) ) ); + END_ENTITY; + + ENTITY coordinates_list + SUBTYPE OF ( tessellated_item ); + npoints : INTEGER; + position_coords : LIST [1 : ?] OF LIST [3 : 3] OF REAL; + WHERE + wr1: ( npoints = SIZEOF( position_coords ) ); + wr2: ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPOSITIONED_TESSELLATED_ITEM'] * TYPEOF( SELF ) ) = 0 ); + END_ENTITY; + + ENTITY cos_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY csg_2d_shape_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF csg_2d_shape_select; + WHERE + wr1: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SOLID'] * + TYPEOF( it ) ) = 1 ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) AND + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CSG_2D_SHAPE_REPRESENTATION' ) IN TYPEOF( it\ + mapped_item.mapping_source.mapped_representation ) ) ) ) ) ) >= 1 ); + wr3: ( SIZEOF( QUERY ( it <* SELF.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( + it ) ) AND ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CSG_2D_SHAPE_REPRESENTATION' ) IN + TYPEOF( it\mapped_item.mapping_source.mapped_representation ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY csg_primitive_solid_2d + SUBTYPE OF ( csg_solid_2d ); + SELF\csg_solid.tree_root_expression : bounded_primitive_2d; + END_ENTITY; + + ENTITY csg_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SOLID', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_REPLICA' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REVOLVED_FACE_SOLID' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF( it ) ) <> 1 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SHAPE_REPRESENTATION' IN + TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( sr <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_REPLICA' + IN TYPEOF( it ) ) ) | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SOLID', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REVOLVED_FACE_SOLID' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF( sr\solid_replica.parent_solid ) ) + = 0 ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' + IN TYPEOF( it ) ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY csg_solid + SUBTYPE OF ( solid_model ); + tree_root_expression : csg_select; + END_ENTITY; + + ENTITY csg_solid_2d + SUBTYPE OF ( csg_solid ); + SELF\csg_solid.tree_root_expression : csg_select_2d; + WHERE + wr1: valid_csg_2d_primitives( SELF ); + END_ENTITY; + + ENTITY currency + ABSTRACT SUPERTYPE OF ( + ONEOF ( + externally_defined_currency, + iso4217_currency ) ) + SUBTYPE OF ( context_dependent_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY currency_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + SELF\measure_with_unit.unit_component : currency; + END_ENTITY; + + ENTITY current_change_element_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : current_element_assignment_select; + items : SET [1 : ?] OF change_management_object; + END_ENTITY; + + ENTITY curve + SUPERTYPE OF ( + ONEOF ( + line, + conic, + pcurve, + surface_curve, + offset_curve_2d, + offset_curve_3d, + curve_replica ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY curve_2d_element_basis; + descriptor : curve_2d_element_descriptor; + variable : curve_element_variable; + END_ENTITY; + + ENTITY curve_2d_element_constant_specified_variable_value + SUBTYPE OF ( curve_2d_element_field_variable_definition ); + simple_value : field_value; + variable : surface_element_variable; + coordinate_system : OPTIONAL curve_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_2d_element_constant_specified_volume_variable_value + SUBTYPE OF ( curve_2d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_variable; + coordinate_system : OPTIONAL curve_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_2d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + orientation : direction; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY curve_2d_element_field_variable_definition + SUPERTYPE OF ( + ONEOF ( + curve_2d_element_location_point_volume_variable_values, + curve_2d_element_location_point_variable_values, + curve_2d_whole_element_variable_value, + curve_2d_element_constant_specified_variable_value, + curve_2d_element_constant_specified_volume_variable_value ) ) + SUBTYPE OF ( field_variable_element_definition ); + element : curve_2d_element_output_reference; + END_ENTITY; + + ENTITY curve_2d_element_group + SUBTYPE OF ( element_group ); + WHERE + wr1: ( SIZEOF( QUERY ( item <* elements | ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'AXISYMMETRIC_CURVE_2D_ELEMENT_REPRESENTATION' ) IN TYPEOF( item ) ) ) AND ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PLANE_CURVE_2D_ELEMENT_REPRESENTATION' ) IN TYPEOF( item ) ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY curve_2d_element_integrated_matrix; + descriptor : curve_2d_element_descriptor; + property_type : curve_matrix_property_type; + integration_description : text; + END_ENTITY; + + ENTITY curve_2d_element_integrated_matrix_with_definition + SUBTYPE OF ( curve_2d_element_integrated_matrix ); + integration_definition : curve_2d_element_integration; + END_ENTITY; + + ENTITY curve_2d_element_integration; + section : LIST [1 : ?] OF curve_section_element_location; + END_ENTITY; + + ENTITY curve_2d_element_location_point_variable_values + SUBTYPE OF ( curve_2d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF curve_2d_element_value_and_location; + variable : curve_element_variable; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_2d_element_location_point_volume_variable_values + SUBTYPE OF ( curve_2d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF curve_2d_element_value_and_volume_location; + variable : curve_element_variable; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_2d_element_property; + property_id : identifier; + description : text; + section : curve_element_section_definition; + END_ENTITY; + + ENTITY curve_2d_element_value_and_location; + simple_value : field_value; + location : curve_section_element_location; + coordinate_system : OPTIONAL curve_2d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + END_ENTITY; + + ENTITY curve_2d_element_value_and_volume_location; + simple_value : field_value; + location : curve_volume_element_location; + coordinate_system : OPTIONAL curve_2d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + END_ENTITY; + + ENTITY curve_2d_node_field_aggregated_variable_values + SUBTYPE OF ( curve_2d_node_field_variable_definition ); + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL curve_2d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_2d_node_field_section_variable_values + SUBTYPE OF ( curve_2d_node_field_variable_definition ); + simple_value : field_value; + variable : curve_element_variable; + location : curve_section_element_location; + coordinate_system : OPTIONAL curve_2d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_2d_node_field_variable_definition + SUPERTYPE OF ( + ONEOF ( + curve_2d_node_field_section_variable_values, + curve_2d_node_field_aggregated_variable_values ) ) + SUBTYPE OF ( field_variable_node_definition ); + END_ENTITY; + + ENTITY curve_2d_substructure_element_reference; + substructure_element_ref : substructure_element_representation; + element_ref : curve_2d_element_representation; + END_ENTITY; + + ENTITY curve_2d_whole_element_variable_value + SUBTYPE OF ( curve_2d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL curve_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_3d_element_basis; + descriptor : curve_3d_element_descriptor; + variable : curve_element_variable; + variable_order : element_order; + variable_shape_function : shape_function; + evaluation_points : LIST [1 : ?] OF curve_element_location; + END_ENTITY; + + ENTITY curve_3d_element_constant_specified_variable_value + SUBTYPE OF ( curve_3d_element_field_variable_definition ); + simple_value : field_value; + variable : curve_element_variable; + coordinate_system : OPTIONAL curve_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_3d_element_constant_specified_volume_variable_value + SUBTYPE OF ( curve_3d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_variable; + coordinate_system : OPTIONAL curve_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_3d_element_descriptor + SUBTYPE OF ( element_descriptor ); + purpose : SET [1 : ?] OF SET [1 : ?] OF curve_element_purpose; + END_ENTITY; + + ENTITY curve_3d_element_field_variable_definition + SUPERTYPE OF ( + ONEOF ( + curve_3d_element_location_point_volume_variable_values, + curve_3d_element_location_point_variable_values, + curve_3d_whole_element_variable_value, + curve_3d_element_constant_specified_variable_value, + curve_3d_element_constant_specified_volume_variable_value, + curve_3d_element_nodal_specified_variable_values ) ) + SUBTYPE OF ( field_variable_element_definition ); + element : curve_3d_element_output_reference; + END_ENTITY; + + ENTITY curve_3d_element_group + SUBTYPE OF ( element_group ); + WHERE + wr1: ( SIZEOF( QUERY ( item <* elements | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE_3D_ELEMENT_REPRESENTATION' ) IN TYPEOF( item ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY curve_3d_element_integrated_matrix; + descriptor : curve_3d_element_descriptor; + property_type : curve_matrix_property_type; + integration_description : text; + END_ENTITY; + + ENTITY curve_3d_element_integrated_matrix_with_definition + SUBTYPE OF ( curve_3d_element_integrated_matrix ); + integration_definition : curve_3d_element_integration; + END_ENTITY; + + ENTITY curve_3d_element_integration; + element_length : curve_3d_element_length_integration; + section : curve_section_integration_explicit; + END_ENTITY; + + ENTITY curve_3d_element_length_integration_explicit; + integration_positions_and_weights : SET [1 : ?] OF curve_3d_element_position_weight; + END_ENTITY; + + ENTITY curve_3d_element_length_integration_rule; + integration_method : integration_rule; + integration_order : INTEGER; + END_ENTITY; + + ENTITY curve_3d_element_location_point_variable_values + SUBTYPE OF ( curve_3d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF curve_3d_element_value_and_location; + variable : curve_element_variable; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_3d_element_location_point_volume_variable_values + SUBTYPE OF ( curve_3d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF curve_3d_element_value_and_volume_location; + variable : volume_variable; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_3d_element_nodal_specified_variable_values + SUBTYPE OF ( curve_3d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : curve_element_variable; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_3d_element_position_weight; + integration_position : curve_volume_element_location; + integration_weight : context_dependent_measure; + END_ENTITY; + + ENTITY curve_3d_element_property; + property_id : identifier; + description : text; + interval_definitions : LIST [1 : ?] OF curve_element_interval; + end_offsets : ARRAY [1 : 2] OF curve_element_end_offset; + end_releases : ARRAY [1 : 2] OF curve_element_end_release; + END_ENTITY; + + ENTITY curve_3d_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model_3d; + element_descriptor : curve_3d_element_descriptor; + property : curve_3d_element_property; + material : element_material; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + wr1: ( ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) + SIZEOF( QUERY ( item <* SELF\ + representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ALIGNED_CURVE_3D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( item1 <* material.properties | ( SIZEOF( QUERY ( item2 <* item1\property_definition_representation. + used_representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_LINEAR_ELASTICITY' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MASS_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AREA_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MOISTURE_ABSORPTION'] * TYPEOF( item2 ) ) = 1 ) ) ) + = 1 ) ) ) >= 1 ); + wr3: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\ + representation.context_of_items ) ); + fu1: required_1d_nodes( SELF\element_representation.node_list, element_descriptor\element_descriptor.topology_order ); + END_ENTITY; + + ENTITY curve_3d_element_value_and_location; + simple_value : field_value; + location : curve_element_location; + coordinate_system : OPTIONAL curve_3d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + END_ENTITY; + + ENTITY curve_3d_element_value_and_volume_location; + simple_value : field_value; + location : curve_volume_element_location; + coordinate_system : OPTIONAL curve_3d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + END_ENTITY; + + ENTITY curve_3d_node_field_aggregated_variable_values + SUBTYPE OF ( curve_3d_node_field_variable_definition ); + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL curve_3d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_3d_node_field_section_variable_values + SUBTYPE OF ( curve_3d_node_field_variable_definition ); + simple_value : field_value; + variable : curve_element_variable; + location : curve_section_element_location; + coordinate_system : OPTIONAL curve_3d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_3d_node_field_variable_definition + SUPERTYPE OF ( + ONEOF ( + curve_3d_node_field_section_variable_values, + curve_3d_node_field_aggregated_variable_values ) ) + SUBTYPE OF ( field_variable_node_definition ); + END_ENTITY; + + ENTITY curve_3d_substructure_element_reference; + substructure_element_ref : substructure_element_representation; + element_ref : curve_3d_element_representation; + END_ENTITY; + + ENTITY curve_3d_whole_element_variable_value + SUBTYPE OF ( curve_3d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL curve_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY curve_based_path + SUBTYPE OF ( path_node ); + path_curve : curve; + END_ENTITY; + + ENTITY curve_based_path_with_orientation + SUBTYPE OF ( kinematic_path_segment ); + position_curve : bounded_curve; + orientation_curve : bounded_curve; + WHERE + wr1: ( TYPEOF( position_curve ) = TYPEOF( orientation_curve ) ); + END_ENTITY; + + ENTITY curve_based_path_with_orientation_and_parameters + SUBTYPE OF ( curve_based_path_with_orientation ); + parameters : path_parameter_representation; + END_ENTITY; + + ENTITY curve_bounded_surface + SUBTYPE OF ( bounded_surface ); + basis_surface : surface; + boundaries : SET [1 : ?] OF boundary_curve; + implicit_outer : BOOLEAN; + WHERE + wr1: ( ( NOT implicit_outer ) OR ( SIZEOF( QUERY ( temp <* boundaries | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF( temp ) ) ) ) = 0 ) ); + wr2: ( ( NOT implicit_outer ) OR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_SURFACE' IN TYPEOF( + basis_surface ) ) ); + wr3: ( SIZEOF( QUERY ( temp <* boundaries | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OUTER_BOUNDARY_CURVE' IN + TYPEOF( temp ) ) ) ) <= 1 ); + wr4: ( SIZEOF( QUERY ( temp <* boundaries | ( temp\composite_curve_on_surface.basis_surface[1] <> SELF.basis_surface ) ) ) + = 0 ); + END_ENTITY; + + ENTITY curve_constraint + SUBTYPE OF ( constraint_element ); + required_curve : analysis_item_within_representation; + coordinate_system : fea_axis2_placement_3d; + freedoms_and_coefficients : SET [1 : ?] OF freedom_and_coefficient; + description : text; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF( required_curve.item ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( required_curve.item ) ) ); + END_ENTITY; + + ENTITY curve_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY curve_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 2] OF curve; + SELF\explicit_constraint.reference_elements : SET [0 : 4] OF point_curve_or_surface_constraint_element; + near_points : SET [0 : 4] OF near_point_relationship; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CDGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND ( SIZEOF( SELF\ + explicit_constraint.constrained_elements ) = 2 ) ) ); + wr2: ( SIZEOF( near_points ) <= SIZEOF( SELF\explicit_constraint.reference_elements ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY curve_element_end_offset; + coordinate_system : curve_element_end_coordinate_system; + offset_vector : ARRAY [1 : 3] OF context_dependent_measure; + END_ENTITY; + + ENTITY curve_element_end_release; + coordinate_system : curve_element_end_coordinate_system; + releases : LIST [1 : ?] OF curve_element_end_release_packet; + END_ENTITY; + + ENTITY curve_element_end_release_packet; + release_freedom : curve_element_freedom; + release_stiffness : context_dependent_measure; + END_ENTITY; + + ENTITY curve_element_interval + SUPERTYPE OF ( + ONEOF ( + curve_element_interval_constant, + curve_element_interval_linearly_varying ) ); + finish_position : curve_element_location; + eu_angles : euler_angles; + END_ENTITY; + + ENTITY curve_element_interval_constant + SUBTYPE OF ( curve_element_interval ); + section : curve_element_section_definition; + END_ENTITY; + + ENTITY curve_element_interval_linearly_varying + SUBTYPE OF ( curve_element_interval ); + sections : ARRAY [1 : 2] OF curve_element_section_definition; + END_ENTITY; + + ENTITY curve_element_location; + coordinate : fea_parametric_point; + END_ENTITY; + + ENTITY curve_element_section_definition + SUPERTYPE OF ( + curve_element_section_derived_definitions ); + description : text; + section_angle : plane_angle_measure; + END_ENTITY; + + ENTITY curve_element_section_derived_definitions + SUBTYPE OF ( curve_element_section_definition ); + cross_sectional_area : context_dependent_measure; + shear_area : ARRAY [1 : 2] OF measure_or_unspecified_value; + second_moment_of_area : ARRAY [1 : 3] OF context_dependent_measure; + torsional_constant : context_dependent_measure; + warping_constant : measure_or_unspecified_value; + location_of_centroid : ARRAY [1 : 2] OF measure_or_unspecified_value; + location_of_shear_centre : ARRAY [1 : 2] OF measure_or_unspecified_value; + location_of_non_structural_mass : ARRAY [1 : 2] OF measure_or_unspecified_value; + non_structural_mass : measure_or_unspecified_value; + polar_moment : measure_or_unspecified_value; + END_ENTITY; + + ENTITY curve_freedom_action_definition + SUBTYPE OF ( curve_freedom_and_value_definition ); + action : action_type; + END_ENTITY; + + ENTITY curve_freedom_and_value_definition + SUPERTYPE OF ( + ONEOF ( + curve_freedom_values, + curve_freedom_action_definition ) ) + SUBTYPE OF ( state_definition ); + required_curve : analysis_item_within_representation; + coordinate_system : fea_axis2_placement_3d; + degrees_of_freedom : freedoms_list; + values : LIST [1 : ?] OF measure_or_unspecified_value; + WHERE + wr1: ( SIZEOF( degrees_of_freedom.freedoms ) = SIZEOF( values ) ); + wr2: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF( required_curve.item ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( required_curve.item ) ) ); + END_ENTITY; + + ENTITY curve_freedom_values + SUBTYPE OF ( curve_freedom_and_value_definition ); + END_ENTITY; + + ENTITY curve_length_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF bounded_curve; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY curve_replica + SUBTYPE OF ( curve ); + parent_curve : curve; + transformation : cartesian_transformation_operator; + WHERE + wr1: ( transformation.dim = parent_curve.dim ); + wr2: acyclic_curve_replica( SELF, parent_curve ); + END_ENTITY; + + ENTITY curve_section_element_location; + offsets : ARRAY [1 : 2] OF context_dependent_measure; + END_ENTITY; + + ENTITY curve_section_integration_explicit; + integration_positions : SET [1 : ?] OF curve_section_element_location; + END_ENTITY; + + ENTITY curve_segment_set + SUBTYPE OF ( geometric_representation_item ); + segments : SET [1 : ?] OF composite_curve_segment; + END_ENTITY; + + ENTITY curve_smoothness_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 1] OF curve_segment_set; + smoothness : transition_code; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY curve_style + SUBTYPE OF ( founded_item ); + name : label; + curve_font : OPTIONAL curve_font_or_scaled_curve_font_select; + curve_width : OPTIONAL size_select; + curve_colour : OPTIONAL colour; + WHERE + wr1: ( EXISTS( curve_font ) OR EXISTS( curve_width ) OR EXISTS( curve_colour ) ); + END_ENTITY; + + ENTITY curve_style_font + SUBTYPE OF ( founded_item ); + name : label; + pattern_list : LIST [1 : ?] OF curve_style_font_pattern; + END_ENTITY; + + ENTITY curve_style_font_and_scaling + SUBTYPE OF ( founded_item ); + name : label; + curve_font : curve_style_font_select; + curve_font_scaling : REAL; + END_ENTITY; + + ENTITY curve_style_font_pattern + SUBTYPE OF ( founded_item ); + visible_segment_length : positive_length_measure; + invisible_segment_length : positive_length_measure; + END_ENTITY; + + ENTITY curve_style_parameters_representation + SUBTYPE OF ( representation ); + END_ENTITY; + + ENTITY curve_style_parameters_with_ends + SUBTYPE OF ( curve_style_parameters_representation ); + END_ENTITY; + + ENTITY curve_style_rendering; + rendering_method : shading_curve_method; + rendering_properties : surface_rendering_properties; + END_ENTITY; + + ENTITY curve_swept_solid_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SWEPT_AREA_SOLID' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_DISK_SOLID', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_AREA_SOLID', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_DISK_SOLID' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( scsas <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SURFACE_CURVE_SWEPT_AREA_SOLID' IN TYPEOF( it ) ) ) | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( scsas\ + surface_curve_swept_area_solid.directrix ) ) OR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN + TYPEOF( scsas\surface_curve_swept_area_solid.directrix ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY curve_volume_element_location; + field_location : curve_element_location; + section_location : curve_section_element_location; + END_ENTITY; + + ENTITY curve_with_excessive_segments + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_OR_COMPOSITE_CURVE_SELECT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY curve_with_small_curvature_radius + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY cylindrical_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY cylindrical_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : cylindrical_pair; + actual_translation : length_measure; + actual_rotation : plane_angle_measure; + END_ENTITY; + + ENTITY cylindrical_pair_with_range + SUBTYPE OF ( cylindrical_pair ); + lower_limit_actual_translation : OPTIONAL length_measure; + upper_limit_actual_translation : OPTIONAL length_measure; + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_translation ) ) OR ( NOT EXISTS( upper_limit_actual_translation ) ) ) XOR ( + lower_limit_actual_translation < upper_limit_actual_translation ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + END_ENTITY; + + ENTITY cylindrical_surface + SUBTYPE OF ( elementary_surface ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY cylindrical_symmetry_control + SUBTYPE OF ( symmetry_control ); + harmonic : cylindrical_harmonic_number; + phase : measure_or_unspecified_value; + END_ENTITY; + + ENTITY cylindricity_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN + TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY data_environment; + name : label; + description : text; + elements : SET [1 : ?] OF property_definition_representation; + END_ENTITY; + + ENTITY data_quality_assessment_measurement_association; + assessment_specification : data_quality_criterion_assessment_association; + measurement_requirement : data_quality_criterion_measurement_association; + WHERE + wr1: ( SELF.measurement_requirement\representation_item_relationship.relating_representation_item :=: SELF. + assessment_specification.criterion ); + END_ENTITY; + + ENTITY data_quality_assessment_specification; + description : text; + END_ENTITY; + + ENTITY data_quality_criteria_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERION' ) IN TYPEOF( q ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY data_quality_criterion + SUBTYPE OF ( representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.' + + 'ITEMS' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_criterion_assessment_association; + criterion : data_quality_criterion; + assessment_specification : data_quality_assessment_specification; + END_ENTITY; + + ENTITY data_quality_criterion_measurement_association + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : data_quality_criterion; + SELF\representation_item_relationship.related_representation_item : data_quality_measurement_requirement; + END_ENTITY; + + ENTITY data_quality_definition; + description : text; + END_ENTITY; + + ENTITY data_quality_definition_relationship; + description : text; + relating_data_quality_definition : data_quality_definition; + related_data_quality_definition : data_quality_definition; + END_ENTITY; + + ENTITY data_quality_definition_representation_relationship; + description : text; + definition : data_quality_definition; + used_representation : used_quality_representation_select; + END_ENTITY; + + ENTITY data_quality_inspection_criterion_report + SUBTYPE OF ( data_quality_inspection_report ); + statistical_values : SET [1 : 2] OF data_quality_inspection_criterion_report_item; + WHERE + wr1: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF\data_quality_inspection_report.inspection_result.criterion_inspected, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATA_QUALITY_REPORT_REQUEST.CRITERION_OF_REPORT_REQUEST' ) ) + | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SUMMARY_REPORT_REQUEST' ) IN TYPEOF( i1 ) ) ) ) > 0 ); + wr2: ( ( SIZEOF( SELF.statistical_values ) = 1 ) OR ( SELF.statistical_values[1].value_type <> SELF.statistical_values[2]. + value_type ) ); + END_ENTITY; + + ENTITY data_quality_inspection_criterion_report_item + SUBTYPE OF ( representation_item ); + statistical_value : INTEGER; + value_type : statistical_value_type; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.' + + 'ITEMS' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) + IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_instance_report + SUBTYPE OF ( data_quality_inspection_report ); + inspected_instances : LIST [1 : ?] OF data_quality_inspection_instance_report_item; + WHERE + wr1: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF\data_quality_inspection_report.inspection_result.criterion_inspected, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATA_QUALITY_REPORT_REQUEST.CRITERION_OF_REPORT_REQUEST' ) ) + | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DETAILED_REPORT_REQUEST' ) IN TYPEOF( i1 ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_instance_report_item + SUBTYPE OF ( representation_item ); + inspected_elements : SET [1 : ?] OF inspected_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.' + + 'ITEMS' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) + IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_report + SUPERTYPE OF ( + ONEOF ( + data_quality_inspection_criterion_report, + data_quality_inspection_instance_report ) ) + SUBTYPE OF ( representation_item ); + inspection_result : data_quality_inspection_result; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.' + + 'ITEMS' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) + IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_result + SUBTYPE OF ( representation_item ); + criterion_inspected : data_quality_criterion; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.' + + 'ITEMS' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) + IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_result_representation + SUBTYPE OF ( representation ); + criteria_inspected : data_quality_criteria_representation; + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ) ) > 0 ); + wr2: ( SIZEOF( inspected_product_definition( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_result_with_judgement + SUBTYPE OF ( data_quality_inspection_result ); + judgement : BOOLEAN; + END_ENTITY; + + ENTITY data_quality_measurement_requirement + SUBTYPE OF ( representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.' + + 'ITEMS' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_report_measurement_association + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : data_quality_measurement_requirement; + SELF\representation_item_relationship.related_representation_item : data_quality_inspection_report; + END_ENTITY; + + ENTITY data_quality_report_request + ABSTRACT SUPERTYPE OF ( + ONEOF ( + summary_report_request, + detailed_report_request ) ); + description : text; + criterion_of_report_request : data_quality_criterion; + END_ENTITY; + + ENTITY date + SUPERTYPE OF ( + ONEOF ( + calendar_date, + ordinal_date, + week_of_year_and_day_date, + year_month ) ); + year_component : year_number; + END_ENTITY; + + ENTITY date_and_time; + date_component : date; + time_component : local_time; + END_ENTITY; + + ENTITY date_and_time_assignment + ABSTRACT SUPERTYPE; + assigned_date_and_time : date_and_time; + role : date_time_role; + END_ENTITY; + + ENTITY date_assignment + ABSTRACT SUPERTYPE; + assigned_date : date; + role : date_role; + END_ENTITY; + + ENTITY date_representation_item + SUBTYPE OF ( representation_item, date ); + END_ENTITY; + + ENTITY date_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY date_time_representation_item + SUBTYPE OF ( representation_item, date_and_time ); + END_ENTITY; + + ENTITY date_time_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY dated_effectivity + SUBTYPE OF ( effectivity ); + effectivity_end_date : OPTIONAL date_time_or_event_occurrence; + effectivity_start_date : OPTIONAL date_time_or_event_occurrence; + WHERE + wr1: ( EXISTS( effectivity_end_date ) OR EXISTS( effectivity_start_date ) ); + END_ENTITY; + + ENTITY datum + SUBTYPE OF ( shape_aspect ); + identification : identifier; + INVERSE + established_by_relationships : SET [1 : ?] OF shape_aspect_relationship FOR related_shape_aspect; + UNIQUE + ur1 : identification, SELF\shape_aspect.of_shape; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMMON_DATUM' IN TYPEOF( SELF ) ) XOR ( SIZEOF( QUERY ( x <* + SELF\datum.established_by_relationships | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATUM_FEATURE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM_TARGET'] * TYPEOF( x\ + shape_aspect_relationship.relating_shape_aspect ) ) = 1 ) ) ) >= 1 ) ); + wr2: ( SIZEOF( QUERY ( x <* SELF\datum.established_by_relationships | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATUM_FEATURE' IN TYPEOF( x\shape_aspect_relationship.relating_shape_aspect ) ) ) ) <= 1 ); + wr3: ( SELF\shape_aspect.product_definitional = FALSE ); + wr4: ( SELF\shape_aspect.name = '' ); + END_ENTITY; + + ENTITY datum_feature + SUPERTYPE OF ( + ONEOF ( + dimensional_location_with_datum_feature, + dimensional_size_with_datum_feature ) ) + SUBTYPE OF ( shape_aspect ); + INVERSE + feature_basis_relationship : SET [1 : ?] OF shape_aspect_relationship FOR relating_shape_aspect; + WHERE + wr1: ( SIZEOF( QUERY ( sar <* SELF\datum_feature.feature_basis_relationship | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM' IN TYPEOF( sar\shape_aspect_relationship. + related_shape_aspect ) ) ) ) = 1 ); + wr2: ( SELF\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY datum_feature_callout + SUBTYPE OF ( draughting_callout ); + END_ENTITY; + + ENTITY datum_reference; + precedence : INTEGER; + referenced_datum : datum; + WHERE + wr1: ( precedence > 0 ); + END_ENTITY; + + ENTITY datum_reference_compartment + SUBTYPE OF ( general_datum_reference ); + INVERSE + owner : datum_system FOR constituents; + END_ENTITY; + + ENTITY datum_reference_element + SUBTYPE OF ( general_datum_reference ); + DERIVE + owner : general_datum_reference := sts_get_general_datum_reference( SELF ); + WHERE + wr1: ( SELF <> owner ); + wr2: EXISTS( owner ); + wr3: ( SELF\shape_aspect.of_shape = owner\shape_aspect.of_shape ); + END_ENTITY; + + ENTITY datum_reference_modifier_with_value; + modifier_type : datum_reference_modifier_type; + modifier_value : length_measure_with_unit; + WHERE + wr1: ( modifier_value\measure_with_unit.value_component > 0 ); + END_ENTITY; + + ENTITY datum_system + SUBTYPE OF ( shape_aspect ); + constituents : LIST [1 : 3] OF UNIQUE datum_reference_compartment; + UNIQUE + ur1 : SELF\shape_aspect.of_shape, SELF\shape_aspect.name; + WHERE + wr1: ( SELF\shape_aspect.product_definitional = FALSE ); + END_ENTITY; + + ENTITY datum_target + SUBTYPE OF ( shape_aspect ); + target_id : identifier; + INVERSE + target_basis_relationship : SET [1 : ?] OF shape_aspect_relationship FOR relating_shape_aspect; + WHERE + wr1: ( SIZEOF( QUERY ( sar <* SELF\datum_target.target_basis_relationship | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM' IN TYPEOF( sar\shape_aspect_relationship. + related_shape_aspect ) ) ) ) = 1 ); + wr2: ( SELF\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY datum_target_callout + SUBTYPE OF ( draughting_callout ); + END_ENTITY; + + ENTITY default_tolerance_table + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF( i ) ) ) ) ) = 0 ); + wr2: ( ( SIZEOF( QUERY ( rr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.REP_1' ) | ( rr.name < 'general tolerance definition' ) ) ) = 0 ) AND ( SIZEOF( + QUERY ( rr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + + 'REP_1' ) | ( ( rr.name = 'general tolerance definition' ) AND ( rr.rep_2.name < 'default tolerance' ) ) ) ) = + 0 ) AND ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.REP_2' ) ) = 0 ) ); + END_ENTITY; + + ENTITY default_tolerance_table_cell + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( x <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION.ITEMS' ) + | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DEFAULT_TOLERANCE_TABLE' ) IN TYPEOF( x ) ) ) ) = 1 ); + wr2: default_tolerance_table_cell_wr2( SELF\compound_representation_item.item_element ); + wr3: default_tolerance_table_cell_wr3( SELF\compound_representation_item.item_element ); + wr4: default_tolerance_table_cell_wr4( SELF\compound_representation_item.item_element ); + wr5: default_tolerance_table_cell_wr5( SELF\compound_representation_item.item_element ); + END_ENTITY; + + ENTITY defined_character_glyph + SUBTYPE OF ( geometric_representation_item ); + definition : defined_glyph_select; + placement : axis2_placement; + END_ENTITY; + + ENTITY defined_constraint + ABSTRACT SUPERTYPE OF ( + equal_parameter_constraint ) + SUBTYPE OF ( explicit_constraint ); + END_ENTITY; + + ENTITY defined_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + numeric_defined_function, + string_defined_function, + boolean_defined_function ) + ANDOR + sql_mappable_defined_function ); + END_ENTITY; + + ENTITY defined_symbol + SUBTYPE OF ( geometric_representation_item ); + definition : defined_symbol_select; + target : symbol_target; + END_ENTITY; + + ENTITY definite_integral_expression + SUBTYPE OF ( quantifier_expression ); + lower_limit_neg_infinity : BOOLEAN; + upper_limit_pos_infinity : BOOLEAN; + DERIVE + integrand : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + variable_of_integration : maths_variable := SELF\multiple_arity_generic_expression.operands[2]; + SELF\quantifier_expression.variables : LIST [1 : 1] OF UNIQUE generic_variable := [variable_of_integration]; + WHERE + wr1: has_values_space( integrand ); + wr2: space_is_continuum( values_space_of( integrand ) ); + wr3: definite_integral_expr_check( SELF\multiple_arity_generic_expression.operands, lower_limit_neg_infinity, + upper_limit_pos_infinity ); + END_ENTITY; + + ENTITY definite_integral_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + variable_of_integration : input_selector; + lower_limit_neg_infinity : BOOLEAN; + upper_limit_pos_infinity : BOOLEAN; + DERIVE + integrand : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: space_is_continuum( integrand.range ); + wr2: definite_integral_check( integrand.domain, variable_of_integration, lower_limit_neg_infinity, upper_limit_pos_infinity ); + END_ENTITY; + + ENTITY definitional_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\ + representation.context_of_items ) ); + END_ENTITY; + + ENTITY definitional_representation_relationship + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: acyclic_representation_relationship( SELF, [SELF\representation_relationship.rep_2], + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION' ); + END_ENTITY; + + ENTITY definitional_representation_relationship_with_same_context + SUBTYPE OF ( definitional_representation_relationship ); + WHERE + wr1: ( SELF\representation_relationship.rep_1.context_of_items :=: SELF\representation_relationship.rep_2.context_of_items ); + END_ENTITY; + + ENTITY degenerate_pcurve + SUBTYPE OF ( point ); + basis_surface : surface; + reference_to_curve : definitional_representation; + WHERE + wr1: ( SIZEOF( reference_to_curve\representation.items ) = 1 ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF( reference_to_curve\representation.items[1] ) ); + wr3: ( reference_to_curve\representation.items[1]\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY degenerate_toroidal_surface + SUBTYPE OF ( toroidal_surface ); + select_outer : BOOLEAN; + WHERE + wr1: ( major_radius < minor_radius ); + END_ENTITY; + + ENTITY delete_element + SUBTYPE OF ( change_element ); + END_ENTITY; + + ENTITY dependent_variable_definition + SUBTYPE OF ( unary_generic_expression ); + name : label; + description : text; + END_ENTITY; + + ENTITY derived_shape_aspect + SUPERTYPE OF ( + ONEOF ( + apex, + centre_of_symmetry, + geometric_alignment, + geometric_contact, + geometric_intersection, + parallel_offset, + perpendicular_to, + extension, + tangent ) ) + SUBTYPE OF ( shape_aspect ); + INVERSE + deriving_relationships : SET [1 : ?] OF shape_aspect_deriving_relationship FOR relating_shape_aspect; + END_ENTITY; + + ENTITY derived_unit + SUPERTYPE OF ( + ONEOF ( + absorbed_dose_unit, + acceleration_unit, + radioactivity_unit, + area_unit, + capacitance_unit, + dose_equivalent_unit, + electric_charge_unit, + conductance_unit, + electric_potential_unit, + energy_unit, + magnetic_flux_density_unit, + force_unit, + frequency_unit, + illuminance_unit, + inductance_unit, + magnetic_flux_unit, + power_unit, + pressure_unit, + resistance_unit, + velocity_unit, + volume_unit ) ); + elements : SET [1 : ?] OF derived_unit_element; + DERIVE + name : label := get_name_value( SELF ); + WHERE + wr1: ( ( SIZEOF( elements ) > 1 ) OR ( ( SIZEOF( elements ) = 1 ) AND ( elements[1].exponent <> 1 ) ) ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY derived_unit_element; + unit : named_unit; + exponent : REAL; + END_ENTITY; + + ENTITY description_attribute; + attribute_value : text; + described_item : description_attribute_select; + END_ENTITY; + + ENTITY descriptive_representation_item + SUPERTYPE OF ( + ONEOF ( + tagged_text_item, + uniform_resource_identifier ) ) + SUBTYPE OF ( representation_item ); + description : text; + END_ENTITY; + + ENTITY design_context + SUBTYPE OF ( product_definition_context ); + WHERE + wr1: ( SELF.life_cycle_stage = 'design' ); + END_ENTITY; + + ENTITY design_make_from_relationship + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY detailed_report_request + SUBTYPE OF ( data_quality_report_request ); + detailed_report_request_type : detailed_report_type; + report_sequence : preferred_ordering; + END_ENTITY; + + ENTITY detailed_report_request_with_number_of_data + SUBTYPE OF ( detailed_report_request ); + number_of_data : INTEGER; + DERIVE + SELF\detailed_report_request.detailed_report_request_type : detailed_report_type := measured_element; + END_ENTITY; + + ENTITY diameter_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY dielectric_constant_measure_with_unit + SUBTYPE OF ( ratio_measure_with_unit ); + END_ENTITY; + + ENTITY dimension_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) XOR ( SIZEOF( + QUERY ( dce_1 <* SELF\draughting_callout.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LEADER_CURVE' IN TYPEOF( dce_1 ) ) ) ) = 0 ) ); + wr2: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) XOR ( + SIZEOF( QUERY ( dce_1 <* SELF\draughting_callout.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROJECTION_CURVE' IN TYPEOF( dce_1 ) ) ) ) = 0 ) ); + wr3: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) XOR ( + SIZEOF( QUERY ( dce_1 <* SELF\draughting_callout.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DIMENSION_CURVE' IN TYPEOF( dce_1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY dimension_callout_component_relationship + SUBTYPE OF ( draughting_callout_relationship ); + WHERE + wr1: ( SELF.name IN [ 'prefix', 'suffix'] ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRUCTURED_DIMENSION_CALLOUT' IN TYPEOF( SELF. + relating_draughting_callout ) ); + wr3: ( SIZEOF( TYPEOF( SELF.related_draughting_callout ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LEADER_DIRECTED_CALLOUT' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRUCTURED_DIMENSION_CALLOUT' ] ) = 0 ); + wr4: ( ( SELF.related_draughting_callout.contents * SELF.relating_draughting_callout.contents ) = SELF. + related_draughting_callout.contents ); + wr5: ( ( SELF.name = 'prefix' ) AND ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.related_draughting_callout.contents | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( NOT ( + ato.name = 'prefix text' ) ) ) ) = 0 ) ); + wr6: ( ( SELF.name = 'suffix' ) AND ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.related_draughting_callout.contents | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( NOT ( + ato.name = 'suffix text' ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY dimension_callout_relationship + SUBTYPE OF ( draughting_callout_relationship ); + WHERE + wr1: ( SELF.name IN [ 'primary', 'secondary'] ); + wr2: ( SIZEOF( TYPEOF( SELF.relating_draughting_callout ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANGULAR_DIMENSION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_DIMENSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIAMETER_DIMENSION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_DIMENSION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_DIMENSION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORDINATE_DIMENSION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RADIUS_DIMENSION' ] ) >= 1 ); + wr3: ( SIZEOF( TYPEOF( SELF.related_draughting_callout ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DIMENSION_CURVE_DIRECTED_CALLOUT' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROJECTION_DIRECTED_CALLOUT' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT'] ) + = 0 ); + wr4: ( ( SELF.related_draughting_callout.contents * SELF.relating_draughting_callout.contents ) = SELF. + related_draughting_callout.contents ); + END_ENTITY; + + ENTITY dimension_curve + SUBTYPE OF ( annotation_curve_occurrence ); + WHERE + wr1: ( SIZEOF( QUERY ( dct <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'TERMINATOR_SYMBOL.' + + 'ANNOTATED_CURVE' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DIMENSION_CURVE_TERMINATOR' ) + IN TYPEOF( dct ) ) ) ) <= 2 ); + wr2: ( SIZEOF( QUERY ( dcdc <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_CALLOUT.' + + 'CONTENTS' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DIMENSION_CURVE_DIRECTED_CALLOUT' ) + IN TYPEOF( dcdc ) ) ) ) >= 1 ); + wr3: ( ( SIZEOF( QUERY ( dct1 <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'TERMINATOR_SYMBOL.' + + 'ANNOTATED_CURVE' ) | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DIMENSION_CURVE_TERMINATOR' ) + IN TYPEOF( dct1 ) ) AND ( dct1\dimension_curve_terminator.role = dimension_extent_usage.origin ) ) ) ) <= 1 ) AND + ( SIZEOF( QUERY ( dct2 <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'TERMINATOR_SYMBOL.' + + 'ANNOTATED_CURVE' ) | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DIMENSION_CURVE_TERMINATOR' ) + IN TYPEOF( dct2 ) ) AND ( dct2\dimension_curve_terminator.role = dimension_extent_usage.target ) ) ) ) <= 1 ) ); + END_ENTITY; + + ENTITY dimension_curve_directed_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( d_c <* SELF\draughting_callout.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DIMENSION_CURVE' IN TYPEOF( d_c ) ) ) ) <= 2 ); + wr2: ( SIZEOF( SELF\draughting_callout.contents ) >= 2 ); + END_ENTITY; + + ENTITY dimension_curve_terminator + SUBTYPE OF ( terminator_symbol ); + role : dimension_extent_usage; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE' IN TYPEOF( SELF\terminator_symbol. + annotated_curve ) ); + END_ENTITY; + + ENTITY dimension_curve_terminator_to_projection_curve_associativity + SUBTYPE OF ( annotation_occurrence_associativity ); + SELF\annotation_occurrence_relationship.relating_annotation_occurrence : dimension_curve_terminator; + SELF\annotation_occurrence_relationship.related_annotation_occurrence : projection_curve; + END_ENTITY; + + ENTITY dimension_pair + SUBTYPE OF ( draughting_callout_relationship ); + WHERE + wr1: ( SELF.name IN [ 'chained', 'parallel'] ); + wr2: ( SIZEOF( TYPEOF( SELF.relating_draughting_callout ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANGULAR_DIMENSION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_DIMENSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIAMETER_DIMENSION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_DIMENSION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORDINATE_DIMENSION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RADIUS_DIMENSION' ] ) = 1 ); + wr3: ( SIZEOF( TYPEOF( SELF.related_draughting_callout ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANGULAR_DIMENSION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_DIMENSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIAMETER_DIMENSION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_DIMENSION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORDINATE_DIMENSION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RADIUS_DIMENSION' ] ) = 1 ); + END_ENTITY; + + ENTITY dimension_related_tolerance_zone_element; + related_dimension : dimensional_location; + related_element : tolerance_zone_definition; + END_ENTITY; + + ENTITY dimension_text_associativity + SUBTYPE OF ( text_literal, mapped_item ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DIMENSION_REPRESENTATION' IN TYPEOF( SELF\mapped_item. + mapping_source.mapped_representation ) ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF( SELF\mapped_item.mapping_target ) ); + wr3: ( SIZEOF( QUERY ( ato <* QUERY ( si <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM.' + + 'ITEM' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( si ) ) ) + | ( NOT ( SIZEOF( QUERY ( dc <* USEDIN( ato, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT.CONTENTS' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' IN + TYPEOF( dc ) ) ) * [SELF\mapped_item.mapping_target] ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY dimensional_characteristic_representation; + dimension : dimensional_characteristic; + representation : shape_dimension_representation; + END_ENTITY; + + ENTITY dimensional_exponents; + length_exponent : REAL; + mass_exponent : REAL; + time_exponent : REAL; + electric_current_exponent : REAL; + thermodynamic_temperature_exponent : REAL; + amount_of_substance_exponent : REAL; + luminous_intensity_exponent : REAL; + END_ENTITY; + + ENTITY dimensional_location + SUPERTYPE OF ( + ONEOF ( + angular_location, + dimensional_location_with_path ) ) + SUBTYPE OF ( shape_aspect_relationship ); + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + wr2: ( SELF\shape_aspect_relationship.relating_shape_aspect.of_shape :=: SELF\shape_aspect_relationship. + related_shape_aspect.of_shape ); + END_ENTITY; + + ENTITY dimensional_location_with_datum_feature + SUBTYPE OF ( datum_feature, dimensional_location ); + END_ENTITY; + + ENTITY dimensional_location_with_path + SUBTYPE OF ( dimensional_location ); + path : shape_aspect; + END_ENTITY; + + ENTITY dimensional_size + SUPERTYPE OF ( + ONEOF ( + angular_size, + dimensional_size_with_path ) ); + applies_to : shape_aspect; + name : label; + DERIVE + id : identifier := get_id_value( SELF ); + UNIQUE + ur1 : id, applies_to; + WHERE + wr1: ( applies_to.product_definitional = TRUE ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= + 1 ); + END_ENTITY; + + ENTITY dimensional_size_with_datum_feature + SUBTYPE OF ( datum_feature, dimensional_size ); + END_ENTITY; + + ENTITY dimensional_size_with_path + SUBTYPE OF ( dimensional_size ); + path : shape_aspect; + END_ENTITY; + + ENTITY directed_action + SUBTYPE OF ( executed_action ); + directive : action_directive; + END_ENTITY; + + ENTITY directed_angle + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( SELF ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ) = 1 ); + wr4: ( SELF.description IN [ 'punch direction', 'profile normal', 'surface normal'] ); + wr5: ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'angle' ) AND ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = + 1 ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY directed_dimensional_location + SUBTYPE OF ( dimensional_location ); + END_ENTITY; + + ENTITY direction + SUBTYPE OF ( geometric_representation_item ); + direction_ratios : LIST [2 : 3] OF REAL; + WHERE + wr1: ( SIZEOF( QUERY ( tmp <* direction_ratios | ( tmp <> 0 ) ) ) > 0 ); + END_ENTITY; + + ENTITY direction_node + SUBTYPE OF ( direction ); + node_1 : node_representation; + node_2 : node_representation; + DERIVE + SELF\direction.direction_ratios : LIST [2 : 3] OF REAL := build_direction_node( node_1, node_2 ); + WHERE + wr1: ( SIZEOF( QUERY ( item <* node_1\representation.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CARTESIAN_POINT' IN TYPEOF( item ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( item <* node_2\representation.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CARTESIAN_POINT' IN TYPEOF( item ) ) ) ) = 1 ); + wr3: ( NOT ( ( direction_ratios[1] = 0 ) AND ( direction_ratios[2] = 0 ) AND ( direction_ratios[3] = 0 ) ) ); + END_ENTITY; + + ENTITY direction_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION' IN + TYPEOF( it ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY directionally_explicit_element_coefficient; + property_type : matrix_property_type; + coefficient : context_dependent_measure; + END_ENTITY; + + ENTITY directionally_explicit_element_coordinate_system_aligned + SUBTYPE OF ( fea_representation_item ); + aligned_system : curve_3d_element_coordinate_system; + END_ENTITY; + + ENTITY directionally_explicit_element_coordinate_system_arbitrary + SUBTYPE OF ( fea_representation_item ); + arbitrary_system : fea_axis2_placement_3d; + END_ENTITY; + + ENTITY directionally_explicit_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model; + systems_and_freedoms : LIST [2 : 2] OF system_and_freedom; + coefficient : directionally_explicit_element_coefficient; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + fu1: required_1d_nodes( SELF\element_representation.node_list, linear_order ); + END_ENTITY; + + ENTITY disallowed_assembly_relationship_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ASSEMBLY_COMPONENT_USAGE' ] ); + END_ENTITY; + + ENTITY disconnected_face_set + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY discontinuous_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + g1_discontinuous_curve, + g2_discontinuous_curve, + g1_discontinuous_surface, + g2_discontinuous_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY distribution_view_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + discretised_model : discretised_distribution_model_select; + idealised_distribution : idealised_distribution_select; + END_ENTITY; + + ENTITY div_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY document; + id : identifier; + name : label; + description : OPTIONAL text; + kind : document_type; + INVERSE + representation_types : SET [0 : ?] OF document_representation_type FOR represented_document; + END_ENTITY; + + ENTITY document_file + SUBTYPE OF ( document, characterized_object ); + WHERE + wr1: ( SELF\characterized_object.name = '' ); + wr2: ( NOT EXISTS( SELF\characterized_object.description ) ); + wr3: ( SIZEOF( QUERY ( drt <* SELF\document.representation_types | ( drt.name IN [ 'digital', 'physical'] ) ) ) = 1 ); + END_ENTITY; + + ENTITY document_identifier + SUBTYPE OF ( group ); + UNIQUE + ur1 : SELF\group.name, SELF\group.description; + END_ENTITY; + + ENTITY document_identifier_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : document_identifier; + items : SET [1 : ?] OF document_identifier_assigned_item; + END_ENTITY; + + ENTITY document_product_association + ABSTRACT SUPERTYPE; + name : label; + description : OPTIONAL text; + relating_document : document; + related_product : product_or_formation_or_definition; + END_ENTITY; + + ENTITY document_product_equivalence + SUBTYPE OF ( document_product_association ); + WHERE + wr1: ( SELF\document_product_association.name = 'equivalence' ); + wr2: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT' IN TYPEOF( SELF\document_product_association. + related_product ) ) ) OR ( ( SELF\document_product_association.relating_document.kind.product_data_type = + 'configuration controlled document' ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( SELF\document_product_association. + related_product, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) + | ( prpc.name = 'document' ) ) ) = 1 ) ) ); + wr3: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF( SELF. + related_product ) ) ) OR ( ( SELF\document_product_association.relating_document.kind.product_data_type = + 'configuration controlled document version' ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( SELF.related_product\ + product_definition_formation.of_product, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = 'document' ) ) ) = 1 ) ) ); + wr4: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( SELF.related_product ) ) ) + OR ( ( SELF\document_product_association.relating_document.kind.product_data_type = + 'configuration controlled document definition' ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( SELF\ + document_product_association.related_product\product_definition.formation.of_product, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'document' ) ) ) = 1 ) ) ); + END_ENTITY; + + ENTITY document_reference + ABSTRACT SUPERTYPE; + assigned_document : document; + source : label; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) + <= 1 ); + END_ENTITY; + + ENTITY document_relationship; + name : label; + description : OPTIONAL text; + relating_document : document; + related_document : document; + END_ENTITY; + + ENTITY document_representation_type; + name : label; + represented_document : document; + END_ENTITY; + + ENTITY document_type; + product_data_type : label; + END_ENTITY; + + ENTITY document_usage_constraint; + source : document; + subject_element : label; + subject_element_value : text; + END_ENTITY; + + ENTITY document_usage_constraint_assignment + ABSTRACT SUPERTYPE; + assigned_document_usage : document_usage_constraint; + role : document_usage_role; + END_ENTITY; + + ENTITY document_usage_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY domain_property; + domain : temporal_spatial_domain; + property_type : general_property; + END_ENTITY; + + ENTITY dose_equivalent_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DOSE_EQUIVALENT_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY dose_equivalent_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.sievert ) ); + END_ENTITY; + + ENTITY double_offset_shelled_solid + SUBTYPE OF ( shelled_solid ); + thickness2 : length_measure; + WHERE + wr1: ( thickness2 <> 0 ); + wr2: ( SELF\shelled_solid.thickness <> thickness2 ); + END_ENTITY; + + ENTITY draped_defined_transformation + SUBTYPE OF ( transformation_with_derived_angle ); + END_ENTITY; + + ENTITY draughting_annotation_occurrence + SUBTYPE OF ( annotation_occurrence ); + WHERE + wr1 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF( SELF ) ) ) OR + ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( sty.styles[1] ) ) ) ) ) ) = 0 ) ); + wr2 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' IN TYPEOF( SELF ) ) ) + OR ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILL_AREA_STYLE' IN TYPEOF( sty.styles[1] ) ) ) ) ) ) = 0 ) ); + wr3 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' IN TYPEOF( SELF ) ) ) + OR ( SIZEOF( QUERY ( bound <* SELF.item\annotation_fill_area.boundaries | ( NOT ( SIZEOF( QUERY ( si <* USEDIN( + bound, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'STYLED_ITEM.ITEM' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ANNOTATION_CURVE_OCCURRENCE' ) IN TYPEOF( si ) ) ) ) > + 0 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' IN TYPEOF( SELF ) ) ) OR + ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( SIZEOF( TYPEOF( sty.styles[1] ) + * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SYMBOL_STYLE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NULL_STYLE' ] ) = 1 ) ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' IN TYPEOF( SELF ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF( SELF.item ) ) ) ) OR ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_SYMBOL_REPRESENTATION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_SUBFIGURE_REPRESENTATION'] * TYPEOF( SELF. + item\mapped_item.mapping_source.mapped_representation ) ) = 1 ) ); + wr6 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) ) OR ( + SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_STYLE' IN TYPEOF( sty.styles[1] ) ) ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) ) OR ( + SIZEOF( TYPEOF( SELF.item ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL' ] ) = 1 ) ); + wr8 : ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' IN TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( + QUERY ( tl <* SELF.item\composite_text.collected_text | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF( tl ) ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF( SELF.item ) ) ) ) OR ( SELF.item\ + text_literal.alignment IN [ 'baseline left', 'baseline centre', 'baseline right'] ) ); + wr10: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' IN TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( + QUERY ( tl <* QUERY ( text <* SELF.item\composite_text.collected_text | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF( text ) ) ) | ( NOT ( tl\ + text_literal.alignment IN [ 'baseline left', 'baseline centre', 'baseline right'] ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' IN TYPEOF( SELF.item ) ) ) ) OR + check_text_alignment( SELF.item ) ); + wr12: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' IN TYPEOF( SELF.item ) ) ) ) OR + check_text_font( SELF.item ) ); + wr13: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' IN TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( + QUERY ( tl <* QUERY ( text <* SELF.item\composite_text.collected_text | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF( text ) ) ) | ( NOT ( SIZEOF( + TYPEOF( tl ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'TEXT_LITERAL_WITH_BLANKING_BOX', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'TEXT_LITERAL_WITH_ASSOCIATED_CURVES'] ) = 0 ) ) ) ) = 0 ) ); + wr14: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL_WITH_ASSOCIATED_CURVES' IN TYPEOF( SELF.item ) ) ) ) + OR ( SIZEOF( QUERY ( crv <* SELF.item\text_literal_with_associated_curves.associated_curves | ( NOT ( SIZEOF( + QUERY ( si <* USEDIN( crv, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM.ITEM' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF( si ) ) ) ) > 0 ) ) ) ) + = 0 ) ); + wr15: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT_WITH_ASSOCIATED_CURVES' IN TYPEOF( SELF.item ) ) ) ) + OR ( SIZEOF( QUERY ( crv <* SELF.item\composite_text_with_associated_curves.associated_curves | ( NOT ( SIZEOF( + QUERY ( si <* USEDIN( crv, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM.ITEM' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF( si ) ) ) ) > 0 ) ) ) ) + = 0 ) ); + wr16: ( SIZEOF( QUERY ( cs <* QUERY ( sty <* SELF.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE_STYLE' IN TYPEOF( sty.styles[1] ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( cs.styles[1]\curve_style.curve_width ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( cs.styles[1]\curve_style + .curve_width\measure_with_unit.value_component ) ) ) ) ) ) = 0 ); + wr17: ( SIZEOF( QUERY ( fas <* QUERY ( sty <* SELF.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FILL_AREA_STYLE' IN TYPEOF( sty.styles[1] ) ) ) | ( NOT ( ( SIZEOF( QUERY ( fs <* fas.styles[1]\ + fill_area_style.fill_styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILL_AREA_STYLE_TILES' IN + TYPEOF( fs ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( fst <* QUERY ( fs <* fas.styles[1]\fill_area_style.fill_styles | + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILL_AREA_STYLE_TILES' IN TYPEOF( fs ) ) ) | ( NOT ( + SIZEOF( fst\fill_area_style_tiles.tiles ) = 1 ) ) ) ) = 0 ) ) ) ) ) = 0 ); + wr18: ( SIZEOF( QUERY ( fas <* QUERY ( sty <* SELF.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FILL_AREA_STYLE' IN TYPEOF( sty.styles[1] ) ) ) | ( NOT ( SIZEOF( QUERY ( fsh <* QUERY ( fs <* fas.styles[1]\ + fill_area_style.fill_styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILL_AREA_STYLE_HATCHING' IN + TYPEOF( fs ) ) ) | ( NOT ( fsh\fill_area_style_hatching.point_of_reference_hatch_line :=: fsh\ + fill_area_style_hatching.pattern_start ) ) ) ) = 0 ) ) ) ) = 0 ); + wr19: ( SIZEOF( QUERY ( ts <* QUERY ( sty <* SELF.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_STYLE' + IN TYPEOF( sty.styles[1] ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS' ) IN TYPEOF( ts.styles[1] ) ) ) ) ) = 0 ); + wr20: ( SIZEOF( QUERY ( ts <* QUERY ( sty <* SELF.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS' IN TYPEOF( sty.styles[1] ) ) ) | ( NOT ( SIZEOF( ts.styles[1]\ + text_style_with_box_characteristics.characteristics ) = 4 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY draughting_callout + SUBTYPE OF ( geometric_representation_item ); + contents : SET [1 : ?] OF draughting_callout_element; + WHERE + wr1: ( ( SIZEOF( QUERY ( l_1 <* SELF\draughting_callout.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LEADER_CURVE' IN TYPEOF( l_1 ) ) ) ) = 0 ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LEADER_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) AND ( SIZEOF( QUERY ( l_1 <* SELF\draughting_callout.contents | + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_CURVE' IN TYPEOF( l_1 ) ) ) ) = 0 ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) AND ( + SIZEOF( QUERY ( l_1 <* SELF\draughting_callout.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DIMENSION_CURVE' IN TYPEOF( l_1 ) ) ) ) = 0 ) ) OR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY draughting_callout_relationship; + name : label; + description : text; + relating_draughting_callout : draughting_callout; + related_draughting_callout : draughting_callout; + END_ENTITY; + + ENTITY draughting_elements + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( l_c <* QUERY ( con <* SELF.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LEADER_CURVE' IN TYPEOF( con ) ) ) | ( NOT ( SIZEOF( QUERY ( ldc <* USEDIN( l_c, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_CALLOUT.CONTENTS' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' IN TYPEOF( ldc ) ) ) ) <= 1 ) ) ) ) + = 0 ); + wr2: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) ) + OR ( SIZEOF( QUERY ( con <* SELF.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_CURVE' + IN TYPEOF( con ) ) ) ) <= 2 ) ); + wr3: ( SIZEOF( QUERY ( rc <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + + 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN TYPEOF( rc ) ) AND ( rc.name = 'primary' ) ) ) ) <= 1 ); + wr4: ( SIZEOF( QUERY ( rc <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + + 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN TYPEOF( rc ) ) AND ( rc.name = 'secondary' ) ) ) ) <= 1 ); + wr5: ( SIZEOF( QUERY ( sec <* QUERY ( rc <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT_' + 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN TYPEOF( rc ) ) AND + ( rc.name = 'secondary' ) ) ) | ( NOT ( SIZEOF( QUERY ( prim <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + 'RELATIONSHIP.' + + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN TYPEOF( prim ) ) AND ( prim.name = 'primary' ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY draughting_model + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF draughting_model_item_select; + UNIQUE + ur1 : SELF\representation.name; + WHERE + wr1: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_MODEL' ] * TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( smi <* QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( si\styled_item.item ) ) ) | ( NOT ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF( smi\styled_item.item\ + mapped_item.mapping_source.mapped_representation ) ) AND ( SIZEOF( QUERY ( sty <* smi\styled_item.styles | ( NOT ( + SIZEOF( QUERY ( psa <* sty.styles | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN + TYPEOF( psa ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY draughting_model_item_association + SUBTYPE OF ( item_identified_representation_usage ); + SELF\item_identified_representation_usage.definition : draughting_model_item_definition; + SELF\item_identified_representation_usage.used_representation : annotation_representation_select; + SELF\item_identified_representation_usage.identified_item : draughting_model_item_association_select; + END_ENTITY; + + ENTITY draughting_pre_defined_colour + SUBTYPE OF ( pre_defined_colour ); + WHERE + wr1: ( SELF.name IN [ 'red', 'green', 'blue', 'yellow', 'magenta', 'cyan', 'black', 'white'] ); + END_ENTITY; + + ENTITY draughting_pre_defined_curve_font + SUBTYPE OF ( pre_defined_curve_font ); + WHERE + wr1: ( SELF.name IN [ 'continuous', 'chain', 'chain double dash', 'dashed', 'dotted'] ); + END_ENTITY; + + ENTITY draughting_pre_defined_text_font + SUBTYPE OF ( pre_defined_text_font ); + WHERE + wr1: ( SELF.name[1 : 8] = 'ISO 3098' ); + END_ENTITY; + + ENTITY draughting_subfigure_representation + SUBTYPE OF ( symbol_representation ); + SELF\representation.items : SET [1 : ?] OF draughting_subfigure_representation_item; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_OCCURRENCE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT'] * TYPEOF( + item ) ) = 1 ) ) ) >= 1 ); + wr2: ( SIZEOF( QUERY ( srm <* QUERY ( rm <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SYMBOL_REPRESENTATION_MAP' IN TYPEOF( rm ) ) ) | ( NOT ( SIZEOF( QUERY ( a_s <* QUERY ( mi <* srm.map_usage | + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF( mi ) ) ) | ( NOT ( SIZEOF( + QUERY ( aso <* USEDIN( a_s, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'STYLED_ITEM.ITEM' ) | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE' IN TYPEOF( aso ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) > 0 ); + wr3: ( SIZEOF( SELF.context_of_items.representations_in_context ) = 1 ); + END_ENTITY; + + ENTITY draughting_symbol_representation + SUBTYPE OF ( symbol_representation ); + SELF\representation.items : SET [1 : ?] OF draughting_symbol_representation_item; + UNIQUE + ur1 : SELF\representation.name; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( SIZEOF( TYPEOF( item ) * [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' ] ) = 1 ) ) ) >= 1 ); + wr2: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_SUBFIGURE_OCCURRENCE' IN TYPEOF( item ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( rm <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_MAP.' + + 'MAPPED_REPRESENTATION' ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SYMBOL_REPRESENTATION_MAP' IN TYPEOF( rm ) ) ) ) ) = 0 ); + wr4: ( SIZEOF( SELF.context_of_items.representations_in_context ) = 1 ); + END_ENTITY; + + ENTITY draughting_text_literal_with_delineation + SUBTYPE OF ( text_literal_with_delineation ); + WHERE + wr1: ( SELF.delineation IN [ 'underline', 'overline'] ); + END_ENTITY; + + ENTITY draughting_title; + items : SET [1 : ?] OF draughting_titled_item; + language : label; + contents : text; + END_ENTITY; + + ENTITY drawing_definition; + drawing_number : identifier; + drawing_type : OPTIONAL label; + END_ENTITY; + + ENTITY drawing_revision + SUBTYPE OF ( presentation_set ); + revision_identifier : identifier; + drawing_identifier : drawing_definition; + intended_scale : OPTIONAL text; + UNIQUE + ur1 : revision_identifier, drawing_identifier; + END_ENTITY; + + ENTITY drawing_revision_sequence; + predecessor : drawing_revision; + successor : drawing_revision; + WHERE + wr1: ( predecessor :<>: successor ); + END_ENTITY; + + ENTITY drawing_sheet_layout + SUBTYPE OF ( draughting_symbol_representation ); + END_ENTITY; + + ENTITY drawing_sheet_revision + SUBTYPE OF ( presentation_area ); + revision_identifier : identifier; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( item ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DRAWING_SHEET_REVISION' IN TYPEOF( item\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY drawing_sheet_revision_sequence + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: ( SELF\representation_relationship.rep_1 :<>: SELF\representation_relationship.rep_2 ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN TYPEOF( SELF\ + representation_relationship.rep_1 ) ); + wr3: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN TYPEOF( SELF\ + representation_relationship.rep_2 ) ); + END_ENTITY; + + ENTITY drawing_sheet_revision_usage + SUBTYPE OF ( area_in_set ); + sheet_number : identifier; + UNIQUE + ur1 : sheet_number, SELF\area_in_set.in_set; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN TYPEOF( SELF\area_in_set.area ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAWING_REVISION' IN TYPEOF( SELF\area_in_set.in_set ) ) ); + END_ENTITY; + + ENTITY dummy_node + SUBTYPE OF ( node_representation ); + END_ENTITY; + + ENTITY edge + SUPERTYPE OF ( + ONEOF ( + edge_curve, + oriented_edge, + subedge ) ) + SUBTYPE OF ( topological_representation_item ); + edge_start : vertex; + edge_end : vertex; + END_ENTITY; + + ENTITY edge_based_wireframe_model + SUBTYPE OF ( geometric_representation_item ); + ebwm_boundary : SET [1 : ?] OF connected_edge_set; + END_ENTITY; + + ENTITY edge_based_wireframe_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) + = 1 ) ) ) >= 1 ); + wr3: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\ + edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb.ces_edges | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( edges ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\ + edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( pline_edges <* QUERY ( edges <* eb.ces_edges | + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( edges\edge_curve.edge_geometry ) ) ) | + ( NOT ( SIZEOF( pline_edges\edge_curve.edge_geometry\polyline.points ) > 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\ + edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb.ces_edges | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( edges.edge_start ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( edges.edge_end ) ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\ + edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb.ces_edges | ( NOT + valid_wireframe_edge_curve( edges\edge_curve.edge_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\ + edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb.ces_edges | ( NOT ( + valid_wireframe_vertex_point( edges.edge_start\vertex_point.vertex_geometry ) AND valid_wireframe_vertex_point( + edges.edge_end\vertex_point.vertex_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr9: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ); + END_ENTITY; + + ENTITY edge_blended_solid + ABSTRACT SUPERTYPE OF ( + track_blended_solid + ANDOR + ONEOF ( + solid_with_constant_radius_edge_blend, + solid_with_chamfered_edges ) ) + SUBTYPE OF ( modified_solid ); + blended_edges : LIST [1 : ?] OF UNIQUE edge_curve; + END_ENTITY; + + ENTITY edge_curve + SUBTYPE OF ( edge, geometric_representation_item ); + edge_geometry : curve; + same_sense : BOOLEAN; + END_ENTITY; + + ENTITY edge_loop + SUBTYPE OF ( loop, path ); + DERIVE + ne : INTEGER := SIZEOF( SELF\path.edge_list ); + WHERE + wr1: ( SELF\path.edge_list[1].edge_start :=: SELF\path.edge_list[ne].edge_end ); + END_ENTITY; + + ENTITY edge_round + SUBTYPE OF ( transition_feature ); + WHERE + wr1: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr2: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 1 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 3 ) ) ) ) = 0 ) ) ) ) = + 0 ) ); + wr3: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'first offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'second offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'edge round face' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'first face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'second face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY edge_with_excessive_segments + SUBTYPE OF ( overcomplex_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY effectivity + SUPERTYPE OF ( + ONEOF ( + serial_numbered_effectivity, + dated_effectivity, + lot_effectivity, + time_interval_based_effectivity ) ); + id : identifier; + DERIVE + name : label := get_name_value( SELF ); + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY effectivity_assignment + ABSTRACT SUPERTYPE; + assigned_effectivity : effectivity; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) + <= 1 ); + END_ENTITY; + + ENTITY effectivity_context_assignment + ABSTRACT SUPERTYPE; + assigned_effectivity_assignment : effectivity_assignment; + role : effectivity_context_role; + END_ENTITY; + + ENTITY effectivity_context_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY effectivity_relationship; + name : label; + description : OPTIONAL text; + related_effectivity : effectivity; + relating_effectivity : effectivity; + END_ENTITY; + + ENTITY electric_charge_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_CHARGE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY electric_charge_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.coulomb ) ); + END_ENTITY; + + ENTITY electric_current_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_CURRENT_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY electric_current_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 1 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY electric_potential_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_POTENTIAL_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY electric_potential_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.volt ) ); + END_ENTITY; + + ENTITY element_analysis_message + SUBTYPE OF ( analysis_message ); + element : element_representation; + END_ENTITY; + + ENTITY element_definition + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY element_descriptor + SUPERTYPE OF ( + ONEOF ( + volume_3d_element_descriptor, + axisymmetric_volume_2d_element_descriptor, + plane_volume_2d_element_descriptor, + surface_3d_element_descriptor, + axisymmetric_surface_2d_element_descriptor, + plane_surface_2d_element_descriptor, + curve_3d_element_descriptor, + axisymmetric_curve_2d_element_descriptor, + plane_curve_2d_element_descriptor ) ); + topology_order : element_order; + description : text; + END_ENTITY; + + ENTITY element_geometric_relationship; + element_ref : element_or_element_group; + item : analysis_item_within_representation; + aspect : element_aspect; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( item.item ) ); + wr2: consistent_geometric_reference( aspect, item.item ); + wr3: consistent_element_or_group_reference( aspect, element_ref ); + END_ENTITY; + + ENTITY element_group + SUBTYPE OF ( fea_group ); + elements : SET [1 : ?] OF element_representation; + END_ENTITY; + + ENTITY element_group_analysis_message + SUBTYPE OF ( analysis_message ); + group : element_group; + END_ENTITY; + + ENTITY element_material; + material_id : identifier; + description : text; + properties : SET [1 : ?] OF material_property_representation; + END_ENTITY; + + ENTITY element_nodal_freedom_actions + SUBTYPE OF ( state_definition ); + element : model_or_control_element; + nodal_action : LIST [1 : ?] OF element_nodal_freedom_terms; + END_ENTITY; + + ENTITY element_nodal_freedom_terms; + coordinate_system : fea_axis2_placement_3d; + degrees_of_freedom : freedoms_list; + values : LIST [1 : ?] OF measure_or_unspecified_value; + WHERE + wr1: ( SIZEOF( degrees_of_freedom.freedoms ) = SIZEOF( values ) ); + END_ENTITY; + + ENTITY element_representation + SUPERTYPE OF ( + ONEOF ( + volume_3d_element_representation, + axisymmetric_volume_2d_element_representation, + plane_volume_2d_element_representation, + surface_3d_element_representation, + axisymmetric_surface_2d_element_representation, + plane_surface_2d_element_representation, + curve_3d_element_representation, + axisymmetric_curve_2d_element_representation, + plane_curve_2d_element_representation, + point_element_representation, + directionally_explicit_element_representation, + explicit_element_representation, + substructure_element_representation ) ) + SUBTYPE OF ( representation ); + node_list : LIST [1 : ?] OF node_representation; + WHERE + wr1: ( SIZEOF( QUERY ( item <* node_list | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_NODE' ) + IN TYPEOF( item ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY element_sequence; + order_id : identifier; + control_ref : control; + purpose : text; + elements : LIST [1 : ?] OF model_or_control_element; + UNIQUE + ur1 : order_id, control_ref; + END_ENTITY; + + ENTITY element_topological_relationship; + aspect : element_aspect; + element_ref : element_representation; + item : analysis_item_within_representation; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TOPOLOGICAL_REPRESENTATION_ITEM' IN TYPEOF( item.item ) ); + wr2: consistent_topological_reference( aspect, item.item ); + wr3: consistent_element_reference( aspect, element_ref ); + END_ENTITY; + + ENTITY elementary_brep_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) = 1 ) ) ) + > 0 ); + wr3 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh.cfs_faces | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' + IN TYPEOF( fcs ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF( fcs\face_surface. + face_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs + .bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( + SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs + .bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( + SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONIC' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE'] * TYPEOF( oe.edge_element\edge_curve. + edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs + .bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( + SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_start ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_end ) ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs + .bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( + SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POLYLINE' IN TYPEOF( oe.edge_element\edge_curve.edge_geometry ) ) AND ( NOT ( SIZEOF( oe\oriented_edge. + edge_element\edge_curve.edge_geometry\polyline.points ) >= 3 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr9 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ORIENTED_CLOSED_SHELL' IN TYPEOF( msb\manifold_solid_brep.outer ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( brv <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* brv\brep_with_voids.voids | csh\oriented_closed_shell. + orientation ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ELEMENTARY_BREP_SHAPE_REPRESENTATION' IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr12: ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( vlp_fbnds <* QUERY ( bnds <* fcs + .bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( vlp_fbnds\face_bound.bound\ + vertex_loop.loop_vertex ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( + vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex\vertex_point.vertex_geometry ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY elementary_function + SUBTYPE OF ( maths_function, generic_literal ); + func_id : elementary_function_enumerators; + END_ENTITY; + + ENTITY elementary_space + SUBTYPE OF ( maths_space, generic_literal ); + space_id : elementary_space_enumerators; + END_ENTITY; + + ENTITY elementary_surface + SUPERTYPE OF ( + ONEOF ( + plane, + cylindrical_surface, + conical_surface, + spherical_surface, + toroidal_surface ) ) + SUBTYPE OF ( surface ); + position : axis2_placement_3d; + END_ENTITY; + + ENTITY elements_bc + SUBTYPE OF ( mbna_bc ); + elements : LIST OF vertex_defined_cell; + END_ENTITY; + + ENTITY ellipse + SUBTYPE OF ( conic ); + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + END_ENTITY; + + ENTITY elliptic_area + SUBTYPE OF ( primitive_2d ); + position : axis2_placement_2d; + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + END_ENTITY; + + ENTITY energy_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ENERGY_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY energy_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.joule ) ); + END_ENTITY; + + ENTITY entirely_narrow_face + SUBTYPE OF ( topology_related_to_nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY entirely_narrow_solid + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY entirely_narrow_surface + SUBTYPE OF ( nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY entity_assertion + SUBTYPE OF ( fact_type ); + END_ENTITY; + + ENTITY enum_reference_prefix + SUBTYPE OF ( descriptive_representation_item ); + END_ENTITY; + + ENTITY environment; + syntactic_representation : generic_variable; + semantics : variable_semantics; + END_ENTITY; + + ENTITY equal_parameter_constraint + SUBTYPE OF ( defined_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF variational_parameter; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF variational_parameter; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) >= 2 ); + END_ENTITY; + + ENTITY equals_expression + SUBTYPE OF ( binary_boolean_expression ); + END_ENTITY; + + ENTITY erroneous_b_spline_curve_definition + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY erroneous_b_spline_surface_definition + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_WITH_KNOTS' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY erroneous_data + ABSTRACT SUPERTYPE OF ( + ONEOF ( + erroneous_topology, + erroneous_geometry, + erroneous_topology_and_geometry_relationship, + erroneous_manifold_solid_brep ) ) + SUBTYPE OF ( shape_data_quality_criterion ); + END_ENTITY; + + ENTITY erroneous_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + inconsistent_curve_transition_code, + erroneous_b_spline_curve_definition, + inconsistent_surface_transition_code, + erroneous_b_spline_surface_definition ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY erroneous_manifold_solid_brep + ABSTRACT SUPERTYPE OF ( + ONEOF ( + wrongly_oriented_void, + wrongly_placed_void, + intersecting_shells_in_solid, + solid_with_wrong_number_of_voids ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY erroneous_topology + ABSTRACT SUPERTYPE OF ( + ONEOF ( + open_edge_loop, + open_closed_shell, + inconsistent_adjacent_face_normals, + disconnected_face_set ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY erroneous_topology_and_geometry_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + inconsistent_edge_and_curve_directions, + inconsistent_face_and_surface_normals, + inconsistent_face_and_closed_shell_normals, + intersecting_loops_in_face, + wrongly_placed_loop ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY euler_angles; + angles : ARRAY [1 : 3] OF plane_angle_measure; + END_ENTITY; + + ENTITY evaluated_characteristic + SUBTYPE OF ( representation, representation_relationship ); + UNIQUE + ur1 : SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; + WHERE + wr1: ( SELF\representation_relationship.rep_1 <> SELF\representation_relationship.rep_2 ); + END_ENTITY; + + ENTITY evaluated_characteristic_of_product_as_individual_test_result + SUBTYPE OF ( evaluated_characteristic ); + END_ENTITY; + + ENTITY evaluated_degenerate_pcurve + SUBTYPE OF ( degenerate_pcurve ); + equivalent_point : cartesian_point; + END_ENTITY; + + ENTITY evaluation_product_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY event_occurrence; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY event_occurrence_assignment + ABSTRACT SUPERTYPE; + assigned_event_occurrence : event_occurrence; + role : event_occurrence_role; + END_ENTITY; + + ENTITY event_occurrence_relationship; + name : label; + description : OPTIONAL text; + relating_event : event_occurrence; + related_event : event_occurrence; + END_ENTITY; + + ENTITY event_occurrence_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY excessive_use_of_groups + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GROUP'] ); + END_ENTITY; + + ENTITY excessive_use_of_layers + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRESENTATION_LAYER_ASSIGNMENT' ] ); + END_ENTITY; + + ENTITY excessively_high_degree_curve + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY excessively_high_degree_surface + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY exclusive_product_concept_feature_category + SUBTYPE OF ( product_concept_feature_category ); + END_ENTITY; + + ENTITY executed_action + SUBTYPE OF ( action ); + END_ENTITY; + + ENTITY exp_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY expanded_uncertainty + SUBTYPE OF ( standard_uncertainty ); + coverage_factor : REAL; + END_ENTITY; + + ENTITY explicit_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + defined_constraint, + free_form_constraint ) ) + SUBTYPE OF ( variational_representation_item ); + description : OPTIONAL text; + constrained_elements : SET [1 : ?] OF representation_item; + reference_elements : SET [0 : ?] OF representation_item; + WHERE + wr1: ( SIZEOF( constrained_elements * reference_elements ) = 0 ); + END_ENTITY; + + ENTITY explicit_element_matrix; + property_type : matrix_property_type; + symmetry : matrix_symmetry; + node_dof_list : LIST [1 : ?] OF LIST [1 : ?] OF degree_of_freedom; + matrix_values : LIST [1 : ?] OF context_dependent_measure; + WHERE + wr1: ( SIZEOF( matrix_values ) = number_of_terms( node_dof_list, symmetry ) ); + END_ENTITY; + + ENTITY explicit_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model; + matrix : explicit_element_matrix; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_AXIS2_PLACEMENT_3D' ) IN TYPEOF( item ) ) ) ) = 1 ); + wr2: ( SIZEOF( matrix.node_dof_list ) = SIZEOF( SELF\element_representation.node_list ) ); + END_ENTITY; + + ENTITY explicit_geometric_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + fixed_element_geometric_constraint, + parallel_geometric_constraint, + point_distance_geometric_constraint, + skew_line_distance_geometric_constraint, + curve_distance_geometric_constraint, + surface_distance_geometric_constraint, + radius_geometric_constraint, + curve_length_geometric_constraint, + parallel_offset_geometric_constraint, + angle_geometric_constraint, + perpendicular_geometric_constraint, + incidence_geometric_constraint, + coaxial_geometric_constraint, + tangent_geometric_constraint, + symmetry_geometric_constraint, + swept_point_curve_geometric_constraint, + swept_curve_surface_geometric_constraint, + curve_smoothness_geometric_constraint, + surface_smoothness_geometric_constraint ) ) + SUBTYPE OF ( defined_constraint, geometric_representation_item ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF geometric_representation_item; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF geometric_representation_item; + END_ENTITY; + + ENTITY explicit_procedural_geometric_representation_item_relationship + SUBTYPE OF ( explicit_procedural_representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : procedural_shape_representation_sequence; + SELF\representation_item_relationship.related_representation_item : geometric_representation_item; + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION_SEQUENCE' IN TYPEOF( SELF\ + representation_item_relationship.related_representation_item ) ) ); + END_ENTITY; + + ENTITY explicit_procedural_representation_item_relationship + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : procedural_representation_sequence; + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCEDURAL_REPRESENTATION_SEQUENCE' IN TYPEOF( SELF\ + representation_item_relationship.related_representation_item ) ) ); + wr2: ( SIZEOF( QUERY ( q <* using_representations( SELF\representation_item_relationship.related_representation_item ) | + item_in_context( SELF\representation_item_relationship.relating_representation_item, q.context_of_items ) ) ) > 0 ); + END_ENTITY; + + ENTITY explicit_procedural_representation_relationship + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : procedural_representation; + WHERE + wr1: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCEDURAL_REPRESENTATION' IN TYPEOF( SELF\ + representation_relationship.rep_2 ) ) ) AND ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'VARIATIONAL_REPRESENTATION' IN TYPEOF( SELF\representation_relationship.rep_2 ) ) ) ); + wr2: ( SELF\representation_relationship.rep_1.context_of_items :=: SELF\representation_relationship.rep_2.context_of_items ); + END_ENTITY; + + ENTITY explicit_procedural_shape_representation_relationship + SUBTYPE OF ( explicit_procedural_representation_relationship ); + SELF\representation_relationship.rep_1 : procedural_shape_representation; + SELF\representation_relationship.rep_2 : shape_representation; + END_ENTITY; + + ENTITY explicit_table_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + listed_real_data, + listed_integer_data, + listed_logical_data, + listed_string_data, + listed_complex_number_data, + listed_data, + externally_listed_data, + linearized_table_function, + basic_sparse_matrix ) ) + SUBTYPE OF ( maths_function ); + index_base : zero_or_one; + shape : LIST [1 : ?] OF positive_integer; + END_ENTITY; + + ENTITY explicit_unstructured_mesh + SUBTYPE OF ( unstructured_mesh ); + explicit_model : fea_model; + cells : ARRAY [1 : SELF\unstructured_mesh.cell_count] OF UNIQUE element_representation; + END_ENTITY; + + ENTITY expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + numeric_expression, + boolean_expression, + string_expression ) ) + SUBTYPE OF ( generic_expression ); + END_ENTITY; + + ENTITY expression_conversion_based_unit + SUBTYPE OF ( context_dependent_unit, variable_semantics ); + INVERSE + associated_variable_environment : environment FOR semantics; + END_ENTITY; + + ENTITY expression_denoted_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + DERIVE + expr : generic_expression := SELF\unary_generic_expression.operand; + WHERE + wr1: ( ( schema_prefix + 'FUNCTION_SPACE' ) IN TYPEOF( values_space_of( expr ) ) ); + END_ENTITY; + + ENTITY expression_extension_numeric + SUBTYPE OF ( measure_with_unit, numeric_expression ); + END_ENTITY; + + ENTITY expression_extension_string + SUBTYPE OF ( measure_with_unit, string_expression ); + END_ENTITY; + + ENTITY expression_extension_to_select; + type_expression_associated : expression_extension_select; + END_ENTITY; + + ENTITY extended_tuple_space + SUBTYPE OF ( maths_space, generic_literal ); +(* next line replaced by the line thereafter as patch for BZ#5052 + base : product_space; *) + base : tuple_space; + extender : maths_space; + WHERE + wr1: ( expression_is_constant( base ) AND expression_is_constant( extender ) ); + wr2: no_cyclic_space_reference( SELF, [] ); + wr3: ( extender <> the_empty_space ); + END_ENTITY; + + ENTITY extension + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY extent + SUBTYPE OF ( characterized_object ); + END_ENTITY; + + ENTITY external_class_library + SUBTYPE OF ( external_source ); + END_ENTITY; + + ENTITY external_identification_assignment + ABSTRACT SUPERTYPE + SUBTYPE OF ( identification_assignment ); + source : external_source; + END_ENTITY; + + ENTITY external_source; + source_id : source_item; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY external_source_relationship; + name : label; + description : OPTIONAL text; + relating_source : external_source; + related_source : external_source; + END_ENTITY; + + ENTITY externally_conditioned_data_quality_criteria_representation + SUBTYPE OF ( data_quality_criteria_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' ) IN TYPEOF( q ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_criterion + SUBTYPE OF ( data_quality_criterion, data_quality_measurement_requirement ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.' + 'CRITERION' ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATED_REPRESENTATION_ITEM' ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN + TYPEOF( i1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATING_REPRESENTATION_ITEM' ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN + TYPEOF( i1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_inspection_instance_report_item + SUBTYPE OF ( data_quality_inspection_instance_report_item ); + SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1 : ?] OF inspected_ecdq_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT.' + 'INSPECTED_INSTANCES' ) ) | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' ) + IN TYPEOF( i1.inspection_result ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_inspection_result + SUBTYPE OF ( data_quality_inspection_result ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' ) IN + TYPEOF( SELF\data_quality_inspection_result.criterion_inspected ) ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_inspection_result_representation + SUBTYPE OF ( data_quality_inspection_result_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY externally_defined_character_glyph + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_class + SUBTYPE OF ( class, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_colour + SUBTYPE OF ( colour_specification, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_context_dependent_unit + SUBTYPE OF ( context_dependent_unit, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_conversion_based_unit + SUBTYPE OF ( conversion_based_unit, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_currency + SUBTYPE OF ( currency, externally_defined_context_dependent_unit ); + END_ENTITY; + + ENTITY externally_defined_curve_font + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_dimension_definition + SUBTYPE OF ( dimensional_size, externally_defined_item ); + WHERE + wr1: ( ( SELF\externally_defined_item.item_id = 'external size dimension' ) AND ( SELF\externally_defined_item.source. + source_id = 'external size dimension specification' ) ); + wr2: ( 1 >= SIZEOF( QUERY ( adr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'APPLIED_DOCUMENT_REFERENCE.ITEMS' ) | ( adr.assigned_document.description = + 'external size dimension specification' ) ) ) ); + END_ENTITY; + + ENTITY externally_defined_feature_definition + SUBTYPE OF ( feature_definition, externally_defined_item ); + WHERE + wr1 : ( ( ( SELF\characterized_object.description = 'thread' ) AND ( SELF\externally_defined_item.item_id = 'external thread' ) + AND ( SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) OR ( ( SELF\ + characterized_object.description = 'gear' ) AND ( SELF\externally_defined_item.item_id = 'external gear' ) AND ( + SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) OR ( ( SELF\ + characterized_object.description = 'marking' ) AND ( SELF\externally_defined_item.item_id = 'external marking' ) + AND ( SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) OR ( ( SELF\ + characterized_object.description = 'knurl' ) AND ( SELF\externally_defined_item.item_id = 'external knurl' ) AND + ( SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) ); + wr2 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) AND ( 5 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 10 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr3 : ( ( NOT ( SELF\characterized_object.description = 'marking' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr4 : ( ( NOT ( SELF\characterized_object.description = 'knurl' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr5 : ( ( NOT ( SELF\characterized_object.description IN [ 'knurl', 'thread'] ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'partial area occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'applied area usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'APPLIED_AREA' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF\characterized_object.description = 'marking' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'marking text' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr7 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'removal direction' ) AND ( ( it. + description = 'internal' ) OR ( it.description = 'external' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'qualifier' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'hand' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'fit class' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr11: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'form' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'major diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'number of threads' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr14: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'fit class 2' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr15: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'nominal size' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr16: ( ( NOT ( SELF\characterized_object.description IN [ 'knurl', 'gear', 'thread'] ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = + 1 ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr17: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) AND ( 10 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) >= 11 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr18: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'number of teeth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr19: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'reference pressure angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr20: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'rake shift factor' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr21: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'nominal tooth depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr22: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'face width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr23: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'tip diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr24: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'module or diametral pitch' ) AND ( ( it. + description = 'module' ) OR ( it.description = 'diametral pitch' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr25: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'normal attribute' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr26: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'internal or external gear' ) AND ( ( it. + description = 'internal' ) OR ( it.description = 'external' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr27: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'root fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY externally_defined_general_property + SUBTYPE OF ( general_property, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_hatch_style + SUBTYPE OF ( externally_defined_item, geometric_representation_item ); + END_ENTITY; + + ENTITY externally_defined_item; + item_id : source_item; + source : external_source; + END_ENTITY; + + ENTITY externally_defined_item_relationship; + name : label; + description : OPTIONAL text; + relating_item : externally_defined_item; + related_item : externally_defined_item; + END_ENTITY; + + ENTITY externally_defined_item_with_multiple_references + SUBTYPE OF ( externally_defined_item ); + references : LIST [1 : ?] OF UNIQUE source_item; + UNIQUE + ur1 : references; + WHERE + wr1: ( NOT ( SELF\externally_defined_item.item_id IN references ) ); + END_ENTITY; + + ENTITY externally_defined_marker + SUBTYPE OF ( externally_defined_symbol, pre_defined_marker ); + END_ENTITY; + + ENTITY externally_defined_picture_representation_item + SUBTYPE OF ( picture_representation_item ); + INVERSE + source : applied_external_identification_assignment FOR items; + WHERE + wr1: ( NOT ( SELF\representation_item.name IN pre_defined_picture_representation_types ) ); + END_ENTITY; + + ENTITY externally_defined_representation + SUBTYPE OF ( representation, externally_defined_item ); + SELF\representation.items : SET [1 : ?] OF externally_defined_representation_item; + END_ENTITY; + + ENTITY externally_defined_representation_item + SUBTYPE OF ( representation_item, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_string + SUBTYPE OF ( externally_defined_representation_item ); + END_ENTITY; + + ENTITY externally_defined_style + SUBTYPE OF ( externally_defined_item, founded_item ); + END_ENTITY; + + ENTITY externally_defined_symbol + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_terminator_symbol + SUBTYPE OF ( externally_defined_symbol ); + END_ENTITY; + + ENTITY externally_defined_text_font + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_tile + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_tile_style + SUBTYPE OF ( externally_defined_item, geometric_representation_item ); + END_ENTITY; + + ENTITY externally_listed_data + SUBTYPE OF ( explicit_table_function, generic_literal, externally_defined_item ); + value_range : maths_space; + WHERE + wr1: expression_is_constant( value_range ); + END_ENTITY; + + ENTITY extraction_of_structured_submesh + SUBTYPE OF ( extraction_of_submesh ); + lower_vertex : ARRAY [1 : whole_indices] OF INTEGER; + used_indices : ARRAY [1 : part_indices] OF INTEGER; + used_senses : ARRAY [1 : part_indices] OF BOOLEAN; + DERIVE + whole_indices : INTEGER := whole\mesh.index_count; + part_indices : INTEGER := part\mesh.index_count; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRUCTURED_MESH' IN TYPEOF( SELF\extraction_of_submesh.whole ) ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRUCTURED_MESH' IN TYPEOF( SELF\extraction_of_submesh.part ) ); + END_ENTITY; + + ENTITY extraction_of_submesh; + whole : mesh; + part : submesh; + END_ENTITY; + + ENTITY extraction_of_submesh_by_cells + SUBTYPE OF ( extraction_of_submesh ); + cell_count : INTEGER; + cells : ARRAY [1 : cell_count] OF cell; + END_ENTITY; + + ENTITY extraction_of_submesh_by_vertices + SUBTYPE OF ( extraction_of_submesh ); + vertex_count : INTEGER; + vertices : ARRAY [1 : vertex_count] OF vertex; + END_ENTITY; + + ENTITY extreme_instance; + locations_of_extreme_value : SET [1 : ?] OF location_of_extreme_value_select; + measured_value : measured_value_select; + END_ENTITY; + + ENTITY extreme_patch_width_variation + SUBTYPE OF ( geometry_with_local_irregularity ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY extruded_area_solid + SUBTYPE OF ( swept_area_solid ); + extruded_direction : direction; + depth : positive_length_measure; + WHERE + wr1: ( dot_product( SELF\swept_area_solid.swept_area.basis_surface\elementary_surface.position.p[3], extruded_direction ) + <> 0 ); + END_ENTITY; + + ENTITY extruded_face_solid + SUBTYPE OF ( swept_face_solid ); + extruded_direction : direction; + depth : positive_length_measure; + WHERE + wr1: ( dot_product( SELF\swept_face_solid.swept_face.face_geometry\elementary_surface.position.p[3], extruded_direction ) + <> 0 ); + END_ENTITY; + + ENTITY extruded_face_solid_with_draft_angle + SUBTYPE OF ( extruded_face_solid_with_trim_conditions ); + draft_angle : plane_angle_measure; + WHERE + wr1: ( draft_angle <> 0 ); + END_ENTITY; + + ENTITY extruded_face_solid_with_multiple_draft_angles + SUBTYPE OF ( extruded_face_solid_with_trim_conditions ); + drafted_edges : LIST [2 : ?] OF SET [1 : ?] OF edge_curve; + draft_angles : LIST [2 : ?] OF plane_angle_measure; + WHERE + wr1: ( SIZEOF( drafted_edges ) = SIZEOF( draft_angles ) ); + wr2: ( SIZEOF( QUERY ( q <* draft_angles | ( q = 0 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( q <* drafted_edges | ( SIZEOF( QUERY ( r <* q | ( NOT ( SELF\swept_face_solid.swept_face IN + using_items( r, [] ) ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY extruded_face_solid_with_trim_conditions + SUPERTYPE OF ( + ONEOF ( + extruded_face_solid_with_draft_angle, + extruded_face_solid_with_multiple_draft_angles ) ) + SUBTYPE OF ( extruded_face_solid ); + first_trim_condition : trim_condition_select; + second_trim_condition : trim_condition_select; + first_trim_intent : trim_intent; + second_trim_intent : trim_intent; + first_offset : non_negative_length_measure; + second_offset : non_negative_length_measure; + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( first_trim_condition ) ) + OR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( second_trim_condition ) ) ) ); + wr2: ( NOT ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( first_trim_condition ) ) + AND ( ( first_trim_intent = trim_intent.offset ) OR ( first_trim_intent = trim_intent.up_to_next ) ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( second_trim_condition ) ) AND ( ( + second_trim_intent = trim_intent.offset ) OR ( second_trim_intent = trim_intent.up_to_next ) ) ) ) ); + wr3: ( NOT ( ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( first_trim_condition ) ) ) + AND ( ( first_trim_intent = trim_intent.blind ) OR ( first_trim_intent = trim_intent.through_all ) ) ) OR ( ( NOT + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( second_trim_condition ) ) ) AND ( + ( second_trim_intent = trim_intent.blind ) OR ( second_trim_intent = trim_intent.through_all ) ) ) ) ); + wr4: ( ( ( ( first_trim_intent = trim_intent.offset ) AND ( first_offset > 0 ) ) XOR ( ( first_trim_intent <> trim_intent. + offset ) AND ( first_offset = 0 ) ) ) AND ( ( ( second_trim_intent = trim_intent.offset ) AND ( second_offset > 0 ) ) + XOR ( ( second_trim_intent <> trim_intent.offset ) AND ( second_offset = 0 ) ) ) ); + wr5: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( first_trim_condition ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( second_trim_condition ) ) AND ( + first_trim_condition = second_trim_condition ) ) ); + END_ENTITY; + + ENTITY face + SUPERTYPE OF ( + ONEOF ( + face_surface, + subface, + oriented_face ) ) + SUBTYPE OF ( topological_representation_item ); + bounds : SET [1 : ?] OF face_bound; + WHERE + wr1: ( NOT mixed_loop_type_set( list_to_set( list_face_loops( SELF ) ) ) ); + wr2: ( SIZEOF( QUERY ( temp <* bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF( + temp ) ) ) ) <= 1 ); + END_ENTITY; + + ENTITY face_based_surface_model + SUBTYPE OF ( geometric_representation_item ); + fbsm_faces : SET [1 : ?] OF connected_face_set; + END_ENTITY; + + ENTITY face_bound + SUBTYPE OF ( topological_representation_item ); + bound : loop; + orientation : BOOLEAN; + END_ENTITY; + + ENTITY face_outer_bound + SUBTYPE OF ( face_bound ); + END_ENTITY; + + ENTITY face_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) >= 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN + TYPEOF( it ) ) OR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF( it ) ) ) ) ) ) = + 0 ); + END_ENTITY; + + ENTITY face_shape_representation_relationship + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( SELF.rep_1 ) ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( SELF.rep_2 ) ); + END_ENTITY; + + ENTITY face_surface + SUBTYPE OF ( face, geometric_representation_item ); + face_geometry : surface; + same_sense : BOOLEAN; + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_SURFACE' IN TYPEOF( face_geometry ) ) ); + END_ENTITY; + + ENTITY face_surface_with_excessive_patches_in_one_direction + SUBTYPE OF ( overcomplex_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY faceted_brep + SUBTYPE OF ( manifold_solid_brep ); + END_ENTITY; + + ENTITY faceted_brep_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* items | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( fbrep <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( fbrep ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh\ + connected_face_set.cfs_faces | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN + TYPEOF( fcs ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( fcs\face_surface. + face_geometry ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( fcs\ + face_surface.face_geometry\elementary_surface.position.location ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( fbrep <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( fbrep ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh\ + connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( bnds <* fcs.bounds | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF( bnds ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( msb <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ORIENTED_CLOSED_SHELL' IN TYPEOF( msb\manifold_solid_brep.outer ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( brv <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* brv\brep_with_voids.voids | csh\oriented_closed_shell. + orientation ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP_SHAPE_REPRESENTATION' + IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY fact_type + SUBTYPE OF ( property_definition ); + END_ENTITY; + + ENTITY fd_bc + SUBTYPE OF ( mbna_bc ); + SELF\mbna_bc.datasets : SET OF fd_bc_dataset; + END_ENTITY; + + ENTITY fd_bc_dataset + SUBTYPE OF ( mbna_bc_dataset ); + SELF\mbna_bc_dataset.the_type : fd_bc_type_simple; + END_ENTITY; + + ENTITY fd_diffusion_equation + SUBTYPE OF ( fd_governing_equation ); + diffusion_model : fd_diffusion_model; + END_ENTITY; + + ENTITY fd_diffusion_model; + terms : ARRAY [1 : diff] OF BOOLEAN; + diff : INTEGER; + END_ENTITY; + + ENTITY fd_governing_equation + SUBTYPE OF ( mbna_governing_equation ); + SELF\mbna_governing_equation.equation_type : fd_governing_equation_type; + END_ENTITY; + + ENTITY fd_step + SUBTYPE OF ( mbna_step ); + SELF\mbna_step.equations : SET OF flow_equation_set; + SELF\mbna_step.zones : LIST OF fd_zone; + END_ENTITY; + + ENTITY fd_zone + SUBTYPE OF ( mbna_zone ); + SELF\mbna_zone.conditions : SET OF fd_zone_bc; + SELF\mbna_zone.equations : SET OF flow_equation_set; + END_ENTITY; + + ENTITY fd_zone_bc + SUBTYPE OF ( mbna_zone_bc ); + SELF\mbna_zone_bc.conditions : SET OF fd_bc; + END_ENTITY; + + ENTITY fea_area_density + SUBTYPE OF ( fea_material_property_representation_item ); + fea_constant : scalar; + END_ENTITY; + + ENTITY fea_axis2_placement_2d + SUBTYPE OF ( axis2_placement_2d ); + system_type : coordinate_system_type; + description : text; + END_ENTITY; + + ENTITY fea_axis2_placement_3d + SUBTYPE OF ( axis2_placement_3d ); + system_type : coordinate_system_type; + description : text; + END_ENTITY; + + ENTITY fea_beam_section_idealisation_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + idealised : general_property; + idealising : curve_element_section_definition; + END_ENTITY; + + ENTITY fea_curve_section_geometric_relationship; + section_ref : curve_element_section_definition; + item : analysis_item_within_representation; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( item.item ) ); + END_ENTITY; + + ENTITY fea_group + SUPERTYPE OF ( + ONEOF ( + element_group, + node_group ) ) + SUBTYPE OF ( group ); + model_ref : fea_model; + END_ENTITY; + + ENTITY fea_group_relation + SUBTYPE OF ( group_relationship ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEA_GROUP' IN TYPEOF( SELF\group_relationship.relating_group ) ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEA_GROUP' IN TYPEOF( SELF\group_relationship.related_group ) ); + END_ENTITY; + + ENTITY fea_linear_elasticity + SUBTYPE OF ( fea_material_property_representation_item ); + fea_constants : symmetric_tensor4_3d; + END_ENTITY; + + ENTITY fea_mass_density + SUBTYPE OF ( fea_material_property_representation_item ); + fea_constant : scalar; + END_ENTITY; + + ENTITY fea_material_property_geometric_relationship; + material_ref : fea_material_property_representation; + item : analysis_item_within_representation; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( item.item ) ); + END_ENTITY; + + ENTITY fea_material_property_representation + SUBTYPE OF ( material_property_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\property_definition_representation.used_representation.items | ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_LINEAR_ELASTICITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MASS_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AREA_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MOISTURE_ABSORPTION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_MEMBRANE_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_BENDING_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_MEMBRANE_BENDING_COUPLING_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_SHEAR_STIFFNESS'] * TYPEOF( item ) ) = 1 ) ) ) + = 1 ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MATERIAL_PROPERTY' IN TYPEOF( SELF\ + property_definition_representation.definition ) ); + END_ENTITY; + + ENTITY fea_material_property_representation_item + SUPERTYPE OF ( + ONEOF ( + fea_linear_elasticity, + fea_mass_density, + fea_area_density, + fea_tangential_coefficient_of_linear_thermal_expansion, + fea_secant_coefficient_of_linear_thermal_expansion, + fea_moisture_absorption, + fea_shell_membrane_stiffness, + fea_shell_bending_stiffness, + fea_shell_membrane_bending_coupling_stiffness, + fea_shell_shear_stiffness ) ) + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY fea_model + SUPERTYPE OF ( + ONEOF ( + fea_model_2d, + fea_model_3d ) ) + SUBTYPE OF ( representation ); + creating_software : text; + intended_analysis_code : SET [1 : ?] OF text; + analysis_type : text; + UNIQUE + ur1 : SELF\representation.name; + END_ENTITY; + + ENTITY fea_model_2d + SUBTYPE OF ( fea_model ); + type_of_2d_analysis : axi_or_plane; + WHERE + wr1: ( SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + END_ENTITY; + + ENTITY fea_model_3d + SUBTYPE OF ( fea_model ); + WHERE + wr1: ( SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ); + END_ENTITY; + + ENTITY fea_model_definition + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY fea_model_topological_relationship; + item : analysis_item_within_representation; + model_ref : fea_model; + WHERE + wr1: ( 'TOPOLOGICAL_DEFINITION_AND_MESH_SCHEMA.MESH' IN TYPEOF( item.item ) ); + END_ENTITY; + + ENTITY fea_moisture_absorption + SUBTYPE OF ( fea_material_property_representation_item ); + fea_constants : symmetric_tensor2_3d; + END_ENTITY; + + ENTITY fea_parametric_point + SUBTYPE OF ( point ); + coordinates : LIST [1 : 3] OF parameter_value; + WHERE + wr1: valid_parametric_coordinate( coordinates ); + wr2: ( SIZEOF( TYPEOF( SELF ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_REPLICA' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPHERICAL_POINT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CYLINDRICAL_POINT' ] ) = 0 ); + END_ENTITY; + + ENTITY fea_representation_item + SUPERTYPE OF ( + ONEOF ( + arbitrary_volume_3d_element_coordinate_system, + parametric_volume_3d_element_coordinate_system, + arbitrary_volume_2d_element_coordinate_system, + parametric_volume_2d_element_coordinate_system, + aligned_surface_3d_element_coordinate_system, + parametric_surface_3d_element_coordinate_system, + constant_surface_3d_element_coordinate_system, + aligned_surface_2d_element_coordinate_system, + parametric_surface_2d_element_coordinate_system, + aligned_curve_3d_element_coordinate_system, + parametric_curve_3d_element_coordinate_system, + parametric_curve_3d_element_coordinate_direction, + curve_2d_element_coordinate_system, + directionally_explicit_element_coordinate_system_arbitrary, + directionally_explicit_element_coordinate_system_aligned ) ) + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY fea_secant_coefficient_of_linear_thermal_expansion + SUBTYPE OF ( fea_material_property_representation_item ); + fea_constants : symmetric_tensor2_3d; + reference_temperature : thermodynamic_temperature_measure; + END_ENTITY; + + ENTITY fea_shell_bending_stiffness + SUBTYPE OF ( fea_material_property_representation_item ); + fea_constants : symmetric_tensor4_2d; + END_ENTITY; + + ENTITY fea_shell_membrane_bending_coupling_stiffness + SUBTYPE OF ( fea_material_property_representation_item ); + fea_constants : symmetric_tensor4_2d; + END_ENTITY; + + ENTITY fea_shell_membrane_stiffness + SUBTYPE OF ( fea_material_property_representation_item ); + fea_constants : symmetric_tensor4_2d; + END_ENTITY; + + ENTITY fea_shell_section_distribution_idealisation_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + idealised : property_definition; + idealising : surface_section_field; + END_ENTITY; + + ENTITY fea_shell_section_idealisation_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + idealised : general_property; + idealising : surface_section; + END_ENTITY; + + ENTITY fea_shell_shear_stiffness + SUBTYPE OF ( fea_material_property_representation_item ); + fea_constants : symmetric_tensor2_2d; + END_ENTITY; + + ENTITY fea_surface_section_geometric_relationship; + section_ref : surface_section; + item : analysis_item_within_representation; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( item.item ) ); + END_ENTITY; + + ENTITY fea_tangential_coefficient_of_linear_thermal_expansion + SUBTYPE OF ( fea_material_property_representation_item ); + fea_constants : symmetric_tensor2_3d; + END_ENTITY; + + ENTITY feature_component_definition + SUBTYPE OF ( characterized_object ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY feature_component_relationship + SUPERTYPE OF ( + ONEOF ( + pattern_omit_membership, + pattern_offset_membership ) ) + SUBTYPE OF ( shape_aspect_relationship ); + WHERE + wr1: ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPLICATE_FEATURE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRANSITION_FEATURE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MODIFIED_PATTERN' ] * TYPEOF( SELF.relating_shape_aspect ) ) = + 1 ) OR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MACHINING_FEATURE_DEFINITION' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) OR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.relating_shape_aspect.of_shape.definition ) ) ); + END_ENTITY; + + ENTITY feature_definition + SUPERTYPE OF ( + ONEOF ( + boss, + compound_feature, + externally_defined_feature_definition, + flat_face, + gear, + marking, + outer_round, + outside_profile, + pocket, + protrusion, + removal_volume, + replicate_feature, + revolved_profile, + rib_top, + round_hole, + rounded_end, + spherical_cap, + step, + slot, + thread, + turned_knurl ) ) + SUBTYPE OF ( characterized_object ); + END_ENTITY; + + ENTITY feature_definition_with_connection_area + SUBTYPE OF ( shape_feature_definition ); + END_ENTITY; + + ENTITY feature_for_datum_target_relationship + SUBTYPE OF ( shape_aspect_relationship ); + SELF\shape_aspect_relationship.related_shape_aspect : datum_target; + UNIQUE + ur1 : related_shape_aspect; + WHERE + wr1: ( relating_shape_aspect.of_shape :=: related_shape_aspect.of_shape ); + wr2: ( relating_shape_aspect\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY feature_in_panel + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF.description IN [ 'pocket', 'boss', 'stairstep'] ); + wr2 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( NOT ( ( 2 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 3 ) ) ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ 'orientation', + 'base radius' , 'target radius'] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius' ) + AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr5 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'target radius' ) + AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr6 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'base boundary' ) AND ( sa.description IN [ + 'directed angle occurrence' , 'closed profile occurrence'] ) ) ) ) = 1 ); + wr7 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'target boundary' ) AND ( sa.description IN [ + 'directed angle occurrence' , 'closed profile occurrence'] ) ) ) ) = 1 ); + wr8 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'directed angle occurrence' ) ) ) <= 1 ); + wr9 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'directed angle occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) AND ( sar.name = 'directed angle usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTED_ANGLE' IN TYPEOF( sar.relating_shape_aspect ) ) ) ) ) + = 1 ) ) ) ) = SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'directed angle occurrence' ) ) ) ); + wr10: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'closed profile occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) AND ( sar.description = 'profile usage' ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sar.relating_shape_aspect ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = + 'closed profile occurrence' ) ) ) ); + wr11: ( ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( NOT ( pdr.used_representation.name = 'target face' ) ) ) ) ) = 0 ) ); + wr12: ( ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'target boundary' ) AND ( sa.description = + 'directed angle occurrence' ) ) ) ) = 0 ) OR ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( + SELF ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY feature_pattern + SUBTYPE OF ( replicate_feature ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( + srwp_i ) ) ) ) ) > 0 ) ) ) ) > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'base feature placement' ) ) ) ) > 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY field_variable_definition + SUPERTYPE OF ( + ONEOF ( + field_variable_element_definition, + field_variable_element_group_value, + field_variable_whole_model_value, + field_variable_node_definition ) ) + SUBTYPE OF ( state_definition ); + END_ENTITY; + + ENTITY field_variable_element_definition + SUPERTYPE OF ( + ONEOF ( + volume_3d_element_field_variable_definition, + volume_2d_element_field_variable_definition, + surface_3d_element_field_variable_definition, + surface_2d_element_field_variable_definition, + curve_3d_element_field_variable_definition, + curve_2d_element_field_variable_definition ) ) + SUBTYPE OF ( field_variable_definition ); + END_ENTITY; + + ENTITY field_variable_element_group_value + SUBTYPE OF ( field_variable_definition ); + group : element_group; + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL fea_axis2_placement_3d; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY field_variable_node_definition + SUPERTYPE OF ( + ONEOF ( + volume_3d_node_field_variable_definition, + volume_2d_node_field_variable_definition, + surface_3d_node_field_variable_definition, + surface_2d_node_field_variable_definition, + curve_3d_node_field_variable_definition, + curve_2d_node_field_variable_definition ) ) + SUBTYPE OF ( field_variable_definition ); + node : node_output_reference; + group : OPTIONAL element_group; + END_ENTITY; + + ENTITY field_variable_whole_model_value + SUBTYPE OF ( field_variable_definition ); + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL fea_axis2_placement_3d; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY fill_area_style + SUBTYPE OF ( founded_item ); + name : label; + fill_styles : SET [1 : ?] OF fill_style_select; + WHERE + wr1: ( SIZEOF( QUERY ( fill_style <* SELF.fill_styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FILL_AREA_STYLE_COLOUR' ) IN TYPEOF( fill_style ) ) ) ) <= 1 ); + END_ENTITY; + + ENTITY fill_area_style_colour; + name : label; + fill_colour : colour; + END_ENTITY; + + ENTITY fill_area_style_hatching + SUBTYPE OF ( geometric_representation_item ); + hatch_line_appearance : curve_style; + start_of_next_hatch_line : one_direction_repeat_factor; + point_of_reference_hatch_line : cartesian_point; + pattern_start : cartesian_point; + hatch_line_angle : plane_angle_measure; + END_ENTITY; + + ENTITY fill_area_style_tile_coloured_region + SUBTYPE OF ( geometric_representation_item ); + closed_curve : curve_or_annotation_curve_occurrence; + region_colour : colour; + WHERE + wr1: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF( closed_curve ) ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE' IN TYPEOF( closed_curve ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPSE' IN TYPEOF( closed_curve ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( closed_curve ) ) AND ( + closed_curve\b_spline_curve.closed_curve = TRUE ) ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COMPOSITE_CURVE' IN TYPEOF( closed_curve ) ) AND ( closed_curve\composite_curve.closed_curve = TRUE ) ) OR ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( closed_curve ) ) AND ( closed_curve\ + polyline.points[LOINDEX( closed_curve\polyline.points )] = closed_curve\polyline.points[HIINDEX( closed_curve\ + polyline.points )] ) ) ); + END_ENTITY; + + ENTITY fill_area_style_tile_curve_with_style + SUBTYPE OF ( geometric_representation_item ); + styled_curve : annotation_curve_occurrence; + END_ENTITY; + + ENTITY fill_area_style_tile_symbol_with_style + SUBTYPE OF ( geometric_representation_item ); + symbol : annotation_symbol_occurrence; + END_ENTITY; + + ENTITY fill_area_style_tiles + SUBTYPE OF ( geometric_representation_item ); + tiling_pattern : two_direction_repeat_factor; + tiles : SET [1 : ?] OF fill_area_style_tile_shape_select; + tiling_scale : positive_ratio_measure; + END_ENTITY; + + ENTITY fillet + SUBTYPE OF ( transition_feature ); + WHERE + wr1: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr2: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 1 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 3 ) ) ) ) = 0 ) ) ) ) = + 0 ) ); + wr3: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'first offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'second offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'fillet face' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'first face shape' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'second face shape' ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY finite_function + SUBTYPE OF ( maths_function, generic_literal ); + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value; + WHERE + wr1: VALUE_UNIQUE( list_selected_components( pairs, 1 ) ); + END_ENTITY; + + ENTITY finite_integer_interval + SUBTYPE OF ( maths_space, generic_literal ); + min : INTEGER; + max : INTEGER; + DERIVE + size : positive_integer := ( max - min ) + 1; + WHERE + wr1: ( min <= max ); + END_ENTITY; + + ENTITY finite_real_interval + SUBTYPE OF ( maths_space, generic_literal ); + min : REAL; + min_closure : open_closed; + max : REAL; + max_closure : open_closed; + WHERE + wr1: ( min < max ); + END_ENTITY; + + ENTITY finite_space + SUBTYPE OF ( maths_space, generic_literal ); + members : SET OF maths_value; + WHERE + wr1: VALUE_UNIQUE( members ); + wr2: ( SIZEOF( QUERY ( expr <* QUERY ( member <* members | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GENERIC_EXPRESSION' IN TYPEOF( member ) ) ) | ( NOT expression_is_constant( expr ) ) ) ) = 0 ); + wr3: no_cyclic_space_reference( SELF, [] ); + END_ENTITY; + + ENTITY fixed_constituent_assembly_constraint + SUBTYPE OF ( assembly_geometric_constraint, fixed_element_geometric_constraint ); + fixed_constituent : representative_shape_representation; + WHERE + wr1: ( SELF\explicit_constraint.constrained_elements[1]\geometric_representation_item.dim = 3 ); + wr2: assembly_leaf( using_product_definition_of_shape_representation( fixed_constituent )[1] ); + wr3: ( ( SIZEOF( SELF\explicit_constraint.constrained_elements ) = 1 ) AND ( SIZEOF( SELF\explicit_constraint. + reference_elements ) = 0 ) ); + wr4: ( fixed_constituent IN ( using_representations( SELF\explicit_constraint.constrained_elements[1] ) + + using_representation_with_mapping( SELF\explicit_constraint.constrained_elements[1] ) ) ); + END_ENTITY; + + ENTITY fixed_element_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF geometric_constraint_element; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY fixed_instance_attribute_set + SUBTYPE OF ( variational_representation_item ); + fixed_attributes : SET [1 : ?] OF instance_attribute_reference; + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( SIZEOF( QUERY ( r <* q.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' IN TYPEOF( r ) ) ) ) > 1 ) ) ) + = 0 ); + END_ENTITY; + + ENTITY flat_face + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'removal direction' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = + 'linear' ) AND ( sdr.name = 'course of travel' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'removal boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LINEAR_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.name = 'removal boundary' ) ) ) ) = 1 ) ) ) ) + = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'enclosed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) + = 1 ) AND ( sdr.relating_shape_aspect.description = 'boundary' ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + wr6: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( + pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( csa.name = 'uncut volume' ) AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROTRUSION' ] * TYPEOF( sar.related_shape_aspect ) ) = 1 ) ) ) ) + = 1 ) ) ) ) <= 1 ) ) ) ) = 1 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'removal depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY flat_pattern_ply_representation_relationship + SUBTYPE OF ( shape_representation_relationship ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN ( TYPEOF( SELF\ + representation_relationship.rep_1 ) * TYPEOF( SELF\representation_relationship.rep_2 ) ) ); + wr2: ( SELF\representation_relationship.rep_1.context_of_items\geometric_representation_context.coordinate_space_dimension + = 3 ); + END_ENTITY; + + ENTITY flatness_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN + TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY flow_equation_set + SUBTYPE OF ( mbna_equation_set ); + SELF\mbna_equation_set.equations : fd_governing_equation; + fd_models : SET OF fd_behaviour_models; + END_ENTITY; + + ENTITY force_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FORCE_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY force_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.newton ) ); + END_ENTITY; + + ENTITY format_function + SUBTYPE OF ( string_expression, binary_generic_expression ); + DERIVE + value_to_format : generic_expression := SELF\binary_generic_expression.operands[1]; + format_string : generic_expression := SELF\binary_generic_expression.operands[2]; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( value_to_format ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( format_string ) ) ); + END_ENTITY; + + ENTITY forward_chaining_rule + SUBTYPE OF ( rule_definition ); + END_ENTITY; + + ENTITY forward_chaining_rule_premise + SUBTYPE OF ( property_definition, property_definition_representation, representation ); + END_ENTITY; + + ENTITY founded_item + SUPERTYPE OF ( + ONEOF ( + b_spline_curve_knot_locator, + b_spline_curve_segment, + b_spline_surface_knot_locator, + b_spline_surface_patch, + b_spline_surface_strip, + boundary_curve_of_b_spline_or_rectangular_composite_surface, + box_domain, + character_glyph_style_outline, + character_glyph_style_stroke, + composite_curve_segment, + composite_curve_transition_locator, + curve_style, + curve_style_font, + curve_style_font_and_scaling, + curve_style_font_pattern, + externally_defined_style, + fill_area_style, + interpolated_configuration_segment, + kinematic_path_segment, + plane_angle_and_length_pair, + plane_angle_and_ratio_pair, + point_style, + presentation_style_assignment, + rectangular_composite_surface_transition_locator, + surface_patch, + surface_side_style, + surface_style_boundary, + surface_style_control_grid, + surface_style_fill_area, + surface_style_parameter_line, + surface_style_segmentation_curve, + surface_style_silhouette, + surface_style_usage, + symbol_style, + text_style, + view_volume ) + ANDOR + ONEOF ( + character_glyph_style_outline, + character_glyph_style_stroke, + curve_style, + curve_style_font, + curve_style_font_and_scaling, + curve_style_font_pattern, + externally_defined_style, + fill_area_style, + point_style, + presentation_style_assignment, + surface_side_style, + surface_style_boundary, + surface_style_control_grid, + surface_style_fill_area, + surface_style_parameter_line, + surface_style_segmentation_curve, + surface_style_silhouette, + surface_style_usage, + symbol_style, + text_style ) ); + DERIVE + users : SET [0 : ?] OF founded_item_select := using_items( SELF, [] ); + WHERE + wr1: ( SIZEOF( users ) > 0 ); + wr2: ( NOT ( SELF IN users ) ); + END_ENTITY; + + ENTITY free_edge + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [] ); + wr5: ( SIZEOF( QUERY ( sdqr <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( sdqr ) ) + AND ( SIZEOF( QUERY ( sdqiir <* bag_to_set( USEDIN( sdqr, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN + TYPEOF( sdqiir ) ) AND ( SIZEOF( QUERY ( sdqiri <* sdqiir.inspected_instances | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL' IN TYPEOF( sdqiri.inspected_elements[1] ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY free_form_assignment + SUBTYPE OF ( free_form_constraint ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\free_form_constraint.constrained_elements | ( q IN used_variables( SELF\ + free_form_constraint.constraining_expression ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( q <* SELF\free_form_constraint.reference_elements | ( NOT ( q IN used_variables( SELF\ + free_form_constraint.constraining_expression ) ) ) ) ) = 0 ); + wr3: ( SIZEOF( SELF\free_form_constraint.reference_elements ) >= 1 ); + wr4: ( SIZEOF( QUERY ( q <* SELF\free_form_constraint.constrained_elements | ( NOT compatible_spaces( values_space_of( SELF + \free_form_constraint.constraining_expression ), q\maths_variable.values_space ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY free_form_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + free_form_assignment, + free_form_relation ) ) + SUBTYPE OF ( explicit_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF variational_parameter; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF variational_parameter; + constraining_expression : expression; + END_ENTITY; + + ENTITY free_form_relation + SUBTYPE OF ( free_form_constraint ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF( SELF\free_form_constraint. + constraining_expression ) ); + wr2: ( SIZEOF( QUERY ( q <* ( SELF\free_form_constraint.constrained_elements + SELF\free_form_constraint.reference_elements ) + | ( NOT ( q IN used_variables( SELF\free_form_constraint.constraining_expression ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY free_kinematic_motion_representation + SUBTYPE OF ( representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : representative_shape_representation; + SELF\representation_relationship.rep_2 : representative_shape_representation; + motion : kinematic_path; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ITEM_DEFINED_TRANSFORMATION' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator ) ); + wr2: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN + TYPEOF( SELF\representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ); + wr3: ( ( dimension_of( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_1 ) = 3 ) AND ( dimension_of( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) = 3 ) ); + wr4: ( ( SELF\representation_relationship.rep_1 IN ( using_representations( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) + using_representation_with_mapping( SELF\representation_relationship_with_transformation. + transformation_operator\item_defined_transformation.transform_item_1 ) ) ) AND ( SELF\representation_relationship. + rep_2 IN ( using_representations( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_2 ) + using_representation_with_mapping( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ) ); + END_ENTITY; + + ENTITY free_variable_semantics + SUBTYPE OF ( variable_semantics ); + END_ENTITY; + + ENTITY freedom_and_coefficient; + freedom : degree_of_freedom; + a : measure_or_unspecified_value; + END_ENTITY; + + ENTITY freedoms_list; + freedoms : LIST [1 : ?] OF degree_of_freedom; + END_ENTITY; + + ENTITY frequency_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FREQUENCY_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY frequency_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.hertz ) ); + END_ENTITY; + + ENTITY frozen_assignment + SUBTYPE OF ( approval_assignment ); + items : SET [1 : ?] OF change_management_object; + END_ENTITY; + + ENTITY fully_constrained_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; + END_ENTITY; + + ENTITY func + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY function_application + SUBTYPE OF ( multiple_arity_generic_expression ); + func : maths_function_select; + arguments : LIST [1 : ?] OF maths_expression; + DERIVE + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF generic_expression := [convert_to_maths_function( func )] + + convert_to_operands( arguments ); + WHERE + wr1: function_applicability( func, arguments ); + END_ENTITY; + + ENTITY function_space + SUBTYPE OF ( maths_space, generic_literal ); + domain_constraint : space_constraint_type; + domain_argument : maths_space; + range_constraint : space_constraint_type; + range_argument : maths_space; + WHERE + wr1: ( expression_is_constant( domain_argument ) AND expression_is_constant( range_argument ) ); + wr2: ( ( domain_argument <> the_empty_space ) AND ( range_argument <> the_empty_space ) ); + wr3: ( ( domain_constraint <> sc_member ) OR ( NOT member_of( the_empty_space, domain_argument ) ) ); + wr4: ( ( range_constraint <> sc_member ) OR ( NOT member_of( the_empty_space, range_argument ) ) ); + wr5: ( NOT ( any_space_satisfies( domain_constraint, domain_argument ) AND any_space_satisfies( range_constraint, + range_argument ) ) ); + END_ENTITY; + + ENTITY functional_breakdown_context + SUBTYPE OF ( breakdown_context ); + END_ENTITY; + + ENTITY functional_element_usage + SUBTYPE OF ( breakdown_element_usage ); + END_ENTITY; + + ENTITY functionally_defined_transformation; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY g1_discontinuity_between_adjacent_faces + SUBTYPE OF ( non_smooth_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'] ); + END_ENTITY; + + ENTITY g1_discontinuous_curve + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE_KNOT_LOCATOR' ] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY g1_discontinuous_surface + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'] ); + END_ENTITY; + + ENTITY g2_discontinuity_between_adjacent_faces + SUBTYPE OF ( non_smooth_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE' IN value_limit_type( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PLANE_ANGLE_AND_RATIO_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET'] ); + wr5: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' ] ); + wr6: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE'] ); + END_ENTITY; + + ENTITY g2_discontinuous_curve + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE' IN value_limit_type( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PLANE_ANGLE_AND_RATIO_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE'] ); + wr5: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE_KNOT_LOCATOR' ] ); + wr6: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY g2_discontinuous_surface + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE' IN value_limit_type( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PLANE_ANGLE_AND_RATIO_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE'] ); + wr5: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR' ] ); + wr6: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_adjacent_edges_in_loop + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_edge_and_base_surface + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POINT_ON_FACE_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_faces_related_to_an_edge + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_pcurves_related_to_an_edge + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_vertex_and_base_surface + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POINT_ON_FACE_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_vertex_and_edge + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POINT_ON_EDGE_CURVE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gas_model + SUBTYPE OF ( mbna_behaviour_model ); + model_type : gas_model_type; + END_ENTITY; + + ENTITY gear + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 10 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 13 ) ) ) ) = 1 ) ) ) = 1 ); + wr2 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'number of teeth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr3 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'reference pressure angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'rake shift factor' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'nominal tooth depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'face width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'tip diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'module or diametral pitch' ) AND ( ( it.description = 'module' ) OR ( it.description = 'diametral pitch' ) ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'internal or external gear' ) AND ( ( it.description = 'internal' ) OR ( it.description = 'external' ) ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'normal attribute' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'root fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF\characterized_object.description IN [ 'helix gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'reference helix angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF\characterized_object.description IN [ 'helix gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'gear tooth' ) AND ( ( it.description = 'left hand tooth' ) OR ( it.description = 'right hand tooth' ) ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr14: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'tip angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr15: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'root angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr16: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = + 1 ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY gear_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + radius_first_link : length_measure; + radius_second_link : length_measure; + bevel : plane_angle_measure; + helical_angle : plane_angle_measure; + gear_ratio : REAL; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY gear_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : gear_pair; + actual_rotation_1 : plane_angle_measure; + DERIVE + actual_rotation_2 : plane_angle_measure := ( -actual_rotation_1 ) * SELF\pair_value.applies_to_pair\gear_pair.gear_ratio; + END_ENTITY; + + ENTITY gear_pair_with_range + SUBTYPE OF ( gear_pair ); + lower_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation_1 ) ) OR ( NOT EXISTS( upper_limit_actual_rotation_1 ) ) ) XOR ( + lower_limit_actual_rotation_1 < upper_limit_actual_rotation_1 ) ); + END_ENTITY; + + ENTITY general_datum_reference + ABSTRACT SUPERTYPE OF ( + ONEOF ( + datum_reference_compartment, + datum_reference_element ) ) + SUBTYPE OF ( shape_aspect ); + base : datum_or_common_datum; + modifiers : OPTIONAL SET [1 : ?] OF datum_reference_modifier; + WHERE + wr1: ( SELF\shape_aspect.name = '' ); + wr2: ( NOT EXISTS( SELF\shape_aspect.description ) ); + wr3: ( NOT EXISTS( SELF\shape_aspect.id ) ); + wr4: ( SELF\shape_aspect.product_definitional = FALSE ); + wr5: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM' IN TYPEOF( base ) ) ) OR ( SELF\shape_aspect. + of_shape = base\shape_aspect.of_shape ) ); + wr6: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMMON_DATUM_LIST' IN TYPEOF( base ) ) ) OR ( SELF\ + shape_aspect.of_shape = base[1]\shape_aspect.of_shape ) ); + END_ENTITY; + + ENTITY general_feature + SUBTYPE OF ( shape_feature_definition ); + WHERE + wr1: ( ( SIZEOF( get_property_definition_representations( SELF ) ) <= 1 ) AND ( SIZEOF( QUERY ( pdr <* + get_property_definition_representations( SELF ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) <= 1 ) ); + wr2: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'course of travel occurrence' ) ) ) = SIZEOF( + QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'course of travel occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) AND ( sar.name = 'course of travel' ) ) ) ) = 1 ) ) ) ) ); + wr3: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'course of travel occurrence' ) ) ) = SIZEOF( + QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'course of travel occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sar + .relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) ); + wr4: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'boundary occurrence' ) ) ) = SIZEOF( + QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'boundary occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) AND ( sar.description = 'profile usage' ) ) ) ) = 1 ) ) ) ) ); + wr5: ( ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF( sa ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( sa ) ) AND ( sa.name = + 'general compound feature' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INSTANCED_FEATURE' IN TYPEOF( sar.related_shape_aspect ) ) ) ) ) + >= 2 ) ) ) ) <= 1 ) ); + END_ENTITY; + + ENTITY general_linear_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + sum_index : one_or_two; + DERIVE + mat : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_2d_table( mat ); + wr2: ( ( space_dimension( mat.range ) = 1 ) AND subspace_of_es( factor1( mat.range ), es_numbers ) ); + END_ENTITY; + + ENTITY general_material_property + SUBTYPE OF ( general_property ); + WHERE + wr1: ( SIZEOF( QUERY ( gpa <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GENERAL_PROPERTY_ASSOCIATION.BASE_DEFINITION' ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MATERIAL_PROPERTY' IN TYPEOF( gpa\general_property_association.derived_definition ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY general_property; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY general_property_association; + name : label; + description : OPTIONAL text; + base_definition : general_property; + derived_definition : derived_property_select; + WHERE + wr1: ( SIZEOF( USEDIN( derived_definition, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) ) = 1 ); + wr2: ( derived_definition.name = base_definition.name ); + END_ENTITY; + + ENTITY general_property_relationship; + name : label; + description : OPTIONAL text; + relating_property : general_property; + related_property : general_property; + END_ENTITY; + + ENTITY generated_finite_numeric_space + SUBTYPE OF ( finite_space ); + start_value : maths_number; + increment_value : maths_number; + increment_number : positive_integer; + DERIVE + SELF\finite_space.members : SET [2 : ?] OF maths_number := make_numeric_set( start_value, increment_value, + increment_number ); + WHERE + wr1: ( increment_value <> 0 ); + END_ENTITY; + + ENTITY generic_character_glyph_symbol + ABSTRACT SUPERTYPE + SUBTYPE OF ( symbol_representation ); + END_ENTITY; + + ENTITY generic_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_generic_expression, + unary_generic_expression, + binary_generic_expression, + multiple_arity_generic_expression ) ); + WHERE + wr1: is_acyclic( SELF ); + END_ENTITY; + + ENTITY generic_literal + ABSTRACT SUPERTYPE + SUBTYPE OF ( simple_generic_expression ); + END_ENTITY; + + ENTITY generic_product_definition_reference + ABSTRACT SUPERTYPE OF ( + ONEOF ( + product_definition_reference, + product_definition_reference_with_local_representation ) ); + source : external_source; + END_ENTITY; + + ENTITY generic_variable + ABSTRACT SUPERTYPE + SUBTYPE OF ( simple_generic_expression ); + INVERSE + interpretation : environment FOR syntactic_representation; + END_ENTITY; + + ENTITY geometric_alignment + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) > 1 ); + END_ENTITY; + + ENTITY geometric_contact + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 2 ); + END_ENTITY; + + ENTITY geometric_curve_set + SUBTYPE OF ( geometric_set ); + WHERE + wr1: ( SIZEOF( QUERY ( temp <* SELF\geometric_set.elements | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' + IN TYPEOF( temp ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY geometric_gap_in_topology + ABSTRACT SUPERTYPE OF ( + ONEOF ( + gap_between_adjacent_edges_in_loop, + gap_between_vertex_and_base_surface, + gap_between_vertex_and_edge, + gap_between_edge_and_base_surface, + gap_between_pcurves_related_to_an_edge, + gap_between_faces_related_to_an_edge ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY geometric_intersection + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) > 1 ); + END_ENTITY; + + ENTITY geometric_item_specific_usage + SUBTYPE OF ( item_identified_representation_usage ); + SELF\item_identified_representation_usage.definition : geometric_item_specific_usage_select; + SELF\item_identified_representation_usage.used_representation : shape_model; + SELF\item_identified_representation_usage.identified_item : geometric_model_item; + UNIQUE + ur1 : definition; + END_ENTITY; + + ENTITY geometric_model_element_relationship + SUBTYPE OF ( geometric_representation_item, representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : geometric_representation_item; + SELF\representation_item_relationship.related_representation_item : geometric_representation_item; + UNIQUE + ur1 : SELF\representation_item_relationship.relating_representation_item, SELF\representation_item_relationship. + related_representation_item; + WHERE + wr1: ( SELF\representation_item_relationship.relating_representation_item :<>: SELF\representation_item_relationship. + related_representation_item ); + END_ENTITY; + + ENTITY geometric_node + SUBTYPE OF ( node_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN + TYPEOF( item ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY geometric_representation_context + SUPERTYPE OF ( + ONEOF ( + geometric_representation_context_with_parameter, + path_parameter_representation_context ) ) + SUBTYPE OF ( representation_context ); + coordinate_space_dimension : dimension_count; + END_ENTITY; + + ENTITY geometric_representation_context_with_parameter + SUBTYPE OF ( geometric_representation_context ); + parameter_unit : OPTIONAL unit; + END_ENTITY; + + ENTITY geometric_representation_item + SUPERTYPE OF ( + ONEOF ( + point, + direction, + vector, + placement, + cartesian_transformation_operator, + curve, + surface, + edge_curve, + face_surface, + poly_loop, + vertex_point, + solid_model, + boolean_result, + sphere, + right_circular_cone, + right_circular_cylinder, + torus, + block, + primitive_2d, + right_angular_wedge, + volume, + half_space_solid, + shell_based_surface_model, + face_based_surface_model, + shell_based_wireframe_model, + edge_based_wireframe_model, + geometric_set, + tessellated_item ) + ANDOR + ONEOF ( + camera_model, + camera_model_d3_multi_clipping_intersection, + camera_model_d3_multi_clipping_union, + curve, + direction, + light_source ) + ANDOR + ONEOF ( + annotation_fill_area, + composite_text, + curve, + defined_character_glyph, + defined_symbol, + point, + symbol_target, + text_literal ) + ANDOR + ONEOF ( + kinematic_path, + placement ) + ANDOR + ONEOF ( + curve, + externally_defined_hatch_style, + externally_defined_tile_style, + fill_area_style_hatching, + fill_area_style_tile_coloured_region, + fill_area_style_tile_curve_with_style, + fill_area_style_tile_symbol_with_style, + fill_area_style_tiles, + one_direction_repeat_factor, + point, + vector ) + ANDOR + ONEOF ( + curve, + planar_extent ) + ANDOR + ONEOF ( + rotation_about_direction, + su_parameters ) ) + SUBTYPE OF ( representation_item ); + DERIVE + dim : dimension_count := dimension_of( SELF ); + WHERE + wr1: ( SIZEOF( QUERY ( using_rep <* using_representations( SELF ) | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( using_rep. + context_of_items ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY geometric_set + SUBTYPE OF ( geometric_representation_item ); + elements : SET [1 : ?] OF geometric_set_select; + END_ENTITY; + + ENTITY geometric_tolerance + ABSTRACT SUPERTYPE OF ( + geometric_tolerance_with_datum_reference + ANDOR + geometric_tolerance_with_defined_unit + ANDOR + ONEOF ( + geometric_tolerance_with_modifiers, + modified_geometric_tolerance ) + ANDOR + unequally_disposed_geometric_tolerance + ANDOR + ONEOF ( + cylindricity_tolerance, + flatness_tolerance, + line_profile_tolerance, + position_tolerance, + roundness_tolerance, + straightness_tolerance, + surface_profile_tolerance ) ); + name : label; + description : OPTIONAL text; + magnitude : OPTIONAL length_measure_with_unit; + toleranced_shape_aspect : geometric_tolerance_target; + DERIVE + controlling_shape : product_definition_shape := sts_get_product_definition_shape( toleranced_shape_aspect ); + id : identifier := get_id_value( SELF ); + UNIQUE + ur1 : id, controlling_shape; + WHERE + wr1: ( magnitude\measure_with_unit.value_component >= 0 ); + wr2: EXISTS( controlling_shape ); + wr3: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP' IN TYPEOF( + toleranced_shape_aspect ) ) ) OR ( toleranced_shape_aspect\shape_aspect_relationship.relating_shape_aspect.of_shape + :=: toleranced_shape_aspect\shape_aspect_relationship.related_shape_aspect.of_shape ) ); + wr4: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= + 1 ); + END_ENTITY; + + ENTITY geometric_tolerance_relationship; + name : label; + description : text; + relating_geometric_tolerance : geometric_tolerance; + related_geometric_tolerance : geometric_tolerance; + END_ENTITY; + + ENTITY geometric_tolerance_with_datum_reference + SUPERTYPE OF ( + ONEOF ( + angularity_tolerance, + circular_runout_tolerance, + coaxiality_tolerance, + concentricity_tolerance, + parallelism_tolerance, + perpendicularity_tolerance, + symmetry_tolerance, + total_runout_tolerance ) ) + SUBTYPE OF ( geometric_tolerance ); + datum_system : SET [1 : ?] OF datum_system_or_reference; + WHERE + wr1: ( ( SIZEOF( QUERY ( ds <* datum_system | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATUM_SYSTEM' ) + IN TYPEOF( ds ) ) ) ) = 0 ) OR ( SIZEOF( datum_system ) = 1 ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_defined_area_unit + SUBTYPE OF ( geometric_tolerance_with_defined_unit ); + area_type : area_unit_type; + second_unit_size : OPTIONAL length_measure_with_unit; + WHERE + wr1: ( NOT ( EXISTS( second_unit_size ) XOR ( area_type = area_unit_type.rectangular ) ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_defined_unit + SUBTYPE OF ( geometric_tolerance ); + unit_size : length_measure_with_unit; + WHERE + wr1: ( ( 'NUMBER' IN TYPEOF( unit_size\measure_with_unit.value_component ) ) AND ( unit_size\measure_with_unit. + value_component > 0 ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_maximum_tolerance + SUBTYPE OF ( geometric_tolerance_with_modifiers ); + maximum_upper_tolerance : length_measure_with_unit; + WHERE + wr1: ( ( geometric_tolerance_modifier.maximum_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers ) + OR ( geometric_tolerance_modifier.least_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers ) ); + wr2: ( ( maximum_upper_tolerance\measure_with_unit.unit_component = SELF\geometric_tolerance.magnitude\measure_with_unit. + unit_component ) AND ( maximum_upper_tolerance\measure_with_unit.value_component > SELF\geometric_tolerance. + magnitude\measure_with_unit.value_component ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_modifiers + SUBTYPE OF ( geometric_tolerance ); + modifiers : SET [1 : ?] OF geometric_tolerance_modifier; + END_ENTITY; + + ENTITY geometrical_tolerance_callout + SUBTYPE OF ( draughting_callout ); + END_ENTITY; + + ENTITY geometrically_bounded_2d_wireframe_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + wr2: ( SIZEOF( QUERY ( item <* SELF.items | ( NOT ( SIZEOF( TYPEOF( item ) * [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' ] ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( item <* SELF.items | ( SIZEOF( TYPEOF( item ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] ) = 1 ) ) ) >= 1 ); + wr4: ( SIZEOF( QUERY ( mi <* QUERY ( item <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( item ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( gcs <* QUERY ( item <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( item ) ) ) | ( NOT ( SIZEOF( QUERY ( elem <* gcs\geometric_set.elements | ( + NOT ( SIZEOF( TYPEOF( elem ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COMPOSITE_CURVE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPSE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_2D' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POLYLINE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE'] ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( gcs <* QUERY ( item <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( item ) ) ) | ( NOT ( SIZEOF( QUERY ( crv <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF( elem ) ) ) | ( NOT + valid_basis_curve_in_2d_wireframe( crv ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( gcs <* QUERY ( item <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( item ) ) ) | ( NOT ( SIZEOF( QUERY ( pnt <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN TYPEOF( elem ) ) ) | ( NOT ( SIZEOF( + TYPEOF( pnt ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' ] ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY geometrically_bounded_surface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRIC_SET' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) AND ( SIZEOF( QUERY ( mr_it <* mi\mapped_item.mapping_source.mapped_representation.items + | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF( mr_it ) ) ) ) > 0 ) ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( pnt <* QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN TYPEOF( gsel ) ) ) | ( NOT gbsf_check_point( pnt ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cv <* QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF( gsel ) ) ) | ( NOT gbsf_check_curve( cv ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( sf <* QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF( gsel ) ) ) | ( NOT gbsf_check_surface( sf ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET' + IN TYPEOF( it ) ) ) | ( SIZEOF( QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF( gsel ) ) ) ) > 0 ) ) ) > 0 ); + END_ENTITY; + + ENTITY geometrically_bounded_wireframe_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( TYPEOF( it ) * [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' ] ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( TYPEOF( it ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] ) = 1 ) ) ) >= 1 ); + wr3: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( crv <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF( elem ) ) ) | ( NOT + valid_geometrically_bounded_wf_curve( crv ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( pnts <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN TYPEOF( elem ) ) ) | ( NOT + valid_geometrically_bounded_wf_point( pnts ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cnc <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' IN TYPEOF( elem ) ) ) | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( cnc\conic.position ) ) ) ) ) = + 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( pline <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( elem ) ) ) | ( NOT ( SIZEOF( + pline\polyline.points ) > 2 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY geometry_reference; + description : text; + data : choose_geometry_location; + END_ENTITY; + + ENTITY geometry_with_local_irregularity + ABSTRACT SUPERTYPE OF ( + ONEOF ( + extreme_patch_width_variation, + zero_surface_normal, + abrupt_change_of_surface_normal ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY geometry_with_local_near_degeneracy + ABSTRACT SUPERTYPE OF ( + ONEOF ( + curve_with_small_curvature_radius, + short_length_curve_segment, + surface_with_small_curvature_radius, + small_area_surface_patch, + narrow_surface_patch, + indistinct_surface_knots, + indistinct_curve_knots, + nearly_degenerate_surface_boundary, + nearly_degenerate_surface_patch ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY global_assignment + SUBTYPE OF ( representation_item_relationship ); + END_ENTITY; + + ENTITY global_uncertainty_assigned_context + SUBTYPE OF ( representation_context ); + uncertainty : SET [1 : ?] OF uncertainty_measure_with_unit; + END_ENTITY; + + ENTITY global_unit_assigned_context + SUBTYPE OF ( representation_context ); + units : SET [1 : ?] OF unit; + END_ENTITY; + + ENTITY grid_coordinates + SUBTYPE OF ( model_property_distribution ); + SELF\model_property_distribution.domain : model_product_domain_with_mesh; + SELF\model_property_distribution.range : specified_general_property; + INVERSE + data : SET OF property_distribution_description FOR physical_function; + WHERE + wr1: is_coordinate_property( range ); + END_ENTITY; + + ENTITY grid_coordinates_with_rind + SUBTYPE OF ( grid_coordinates ); + rind_planes : rind; + END_ENTITY; + + ENTITY ground_fact + SUBTYPE OF ( atomic_formula ); + END_ENTITY; + + ENTITY grounded_damper + SUBTYPE OF ( point_element_matrix ); + damping_coefficients : ARRAY [1 : 6] OF context_dependent_measure; + END_ENTITY; + + ENTITY grounded_spring + SUBTYPE OF ( point_element_matrix ); + stiffness_coefficients : ARRAY [1 : 6] OF context_dependent_measure; + END_ENTITY; + + ENTITY group + SUPERTYPE OF ( + ONEOF ( + change_group, + change_element ) ); + name : label; + description : OPTIONAL text; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= + 1 ); + END_ENTITY; + + ENTITY group_assignment + ABSTRACT SUPERTYPE OF ( + ONEOF ( + current_change_element_assignment, + previous_change_element_assignment, + change_group_assignment ) ); + assigned_group : group; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) + <= 1 ); + END_ENTITY; + + ENTITY group_relationship; + name : label; + description : OPTIONAL text; + relating_group : group; + related_group : group; + END_ENTITY; + + ENTITY half_space_2d + SUBTYPE OF ( primitive_2d ); + base_curve : curve; + agreement_flag : BOOLEAN; + END_ENTITY; + + ENTITY half_space_solid + SUBTYPE OF ( geometric_representation_item ); + base_surface : surface; + agreement_flag : BOOLEAN; + END_ENTITY; + + ENTITY hardness_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( 2 <= SIZEOF( SELF.items ) ) AND ( SIZEOF( SELF.items ) <= 4 ) AND ( ( SIZEOF( QUERY ( i <* items | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND + ( i.name IN [ 'measuring method', 'measuring position'] ) ) ) ) + SIZEOF( QUERY ( i <* items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( i ) ) = 1 ) AND ( i.name IN [ + 'depth' , 'hardness'] ) ) ) ) ) = SIZEOF( SELF.items ) ) ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'measuring method' ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'hardness' ) ) ) = 1 ); + wr4: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'measuring position' ) ) ) <= 1 ); + wr5: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'depth' ) ) ) <= 1 ); + wr6: ( ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) + | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa.base_definition ) ) + AND ( gpa\general_property_association.base_definition\general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) + = 1 ) ); + END_ENTITY; + + ENTITY hidden_element_over_riding_styled_item + SUBTYPE OF ( context_dependent_over_riding_styled_item ); + SELF\context_dependent_over_riding_styled_item.style_context : LIST [1 : 1] OF presentation_view; + SELF\styled_item.item : camera_image; + INVERSE + container : SET [1 : ?] OF presentation_view FOR items; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CAMERA_MODEL_D3_WITH_HLHSR' IN TYPEOF( SELF.item\mapped_item. + mapping_source.mapping_origin ) ); + END_ENTITY; + + ENTITY high_degree_axi_symmetric_surface + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_degree_conic + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_degree_linear_curve + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_degree_planar_surface + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_order_kinematic_pair + ABSTRACT SUPERTYPE OF ( + ONEOF ( + linear_flexible_and_planar_curve_pair, + point_on_surface_pair, + point_on_planar_curve_pair, + planar_curve_pair, + surface_pair ) ) + SUBTYPE OF ( kinematic_pair ); + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY hole_bottom + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2 : ( SELF.description IN [ 'through', 'flat', 'flat with radius', 'flat with taper', 'spherical', 'conical'] ); + wr3 : ( ( NOT ( SELF.description = 'through' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( USEDIN( + pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 0 ) ) ) ) + = 0 ) ); + wr4 : ( ( NOT ( SELF.description IN [ 'flat with radius', 'flat with taper', 'spherical', 'conical'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description IN [ 'flat with radius', 'spherical'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF.description = 'flat with taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'conical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 1 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 2 ) ) ) ) = 0 ) ) ) ) = + 0 ) ); + wr9 : ( ( SELF.description = 'through' ) OR ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar + .description = 'hole bottom usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( fcr.name IN [ 'hole depth start', 'hole depth end'] ) ) ) + >= 1 ) ); + wr10: ( ( NOT ( SELF.description = 'flat with radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'corner radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF.description = 'spherical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF.description = 'conical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'tip radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF.description = 'conical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'tip angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr14: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'hole bottom usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + ( fcr.related_shape_aspect.description = 'bottom condition occurrence' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUND_HOLE' IN TYPEOF( fcr.related_shape_aspect.of_shape. + definition ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.HOLE_BOTTOM' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + wr15: ( ( NOT ( SELF.description = 'flat with taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'final diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr16: ( ( NOT ( SELF.description = 'flat with taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'taper diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY hole_in_panel + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'hole profile' ) AND ( sa.description = + 'closed profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'profile usage' ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CIRCULAR_CLOSED_PROFILE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sar.relating_shape_aspect ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr2: ( SIZEOF( get_property_definition_representations( SELF ) ) = SIZEOF( QUERY ( pdr <* + get_property_definition_representations( SELF ) | ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ); + END_ENTITY; + + ENTITY homogeneous_linear_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + sum_index : one_or_two; + DERIVE + mat : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_2d_table( mat ); + wr2: ( ( space_dimension( mat.range ) = 1 ) AND subspace_of_es( factor1( mat.range ), es_numbers ) ); + END_ENTITY; + + ENTITY homokinetic_pair + SUBTYPE OF ( universal_pair ); + WHERE + wr1: ( NOT EXISTS( SELF.input_skew_angle ) ); + END_ENTITY; + + ENTITY hyperbola + SUBTYPE OF ( conic ); + semi_axis : positive_length_measure; + semi_imag_axis : positive_length_measure; + END_ENTITY; + + ENTITY id_attribute; + attribute_value : identifier; + identified_item : id_attribute_select; + END_ENTITY; + + ENTITY idealisation_relationship; + id : identifier; + name : label; + description : text; + idealised : product_definition; + idealisation : temporal_spatial_domain; + END_ENTITY; + + ENTITY identification_assignment + ABSTRACT SUPERTYPE; + assigned_id : identifier; + role : identification_role; + END_ENTITY; + + ENTITY identification_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY illuminance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ILLUMINANCE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY illuminance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.lux ) ); + END_ENTITY; + + ENTITY implicit_explicit_positioned_sketch_relationship + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : repositioned_neutral_sketch; + SELF\representation_item_relationship.related_representation_item : positioned_sketch; + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF\representation_item_relationship.related_representation_item ) | + item_in_context( SELF\representation_item_relationship.relating_representation_item, q.context_of_items ) ) ) > 0 ); + END_ENTITY; + + ENTITY implicit_intersection_curve + SUBTYPE OF ( implicit_planar_curve ); + external_surface : surface; + END_ENTITY; + + ENTITY implicit_model_intersection_curve + SUBTYPE OF ( implicit_planar_curve ); + intersected_model : surface_or_solid_model; + END_ENTITY; + + ENTITY implicit_planar_curve + ABSTRACT SUPERTYPE OF ( + ONEOF ( + implicit_intersection_curve, + implicit_projected_curve, + implicit_model_intersection_curve, + implicit_silhouette_curve ) ) + SUBTYPE OF ( curve, auxiliary_geometric_representation_item ); + using_sketch : positioned_sketch; + computed_representation : curve; + DERIVE + curve_plane : plane := get_plane_of_implicit_geometry( using_sketch ); + WHERE + wr1: ( SIZEOF( TYPEOF( computed_representation ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'IMPLICIT_PLANAR_CURVE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA'] ) = 0 ); + END_ENTITY; + + ENTITY implicit_planar_intersection_point + SUBTYPE OF ( implicit_point_on_plane ); + external_curve : curve; + END_ENTITY; + + ENTITY implicit_planar_projection_point + SUBTYPE OF ( implicit_point_on_plane ); + external_point : point; + projection_direction : direction; + END_ENTITY; + + ENTITY implicit_point_on_plane + ABSTRACT SUPERTYPE OF ( + ONEOF ( + implicit_planar_intersection_point, + implicit_planar_projection_point ) ) + SUBTYPE OF ( point, auxiliary_geometric_representation_item ); + using_sketch : positioned_sketch; + computed_representation : cartesian_point; + DERIVE + plane_of_point : plane := get_plane_of_implicit_geometry( using_sketch ); + WHERE + wr1: ( ( plane_of_point\elementary_surface.position.location = computed_representation ) XOR ( dot_product( plane_of_point\ + elementary_surface.position.p[3], get_relative_direction_2points( plane_of_point\elementary_surface.position. + location, computed_representation ) ) = 0 ) ); + wr2: ( SIZEOF( TYPEOF( computed_representation ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'IMPLICIT_POINT_ON_PLANE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_REPLICA'] ) = 0 ); + END_ENTITY; + + ENTITY implicit_projected_curve + SUBTYPE OF ( implicit_planar_curve ); + external_curve : curve; + projection_direction : direction; + END_ENTITY; + + ENTITY implicit_silhouette_curve + SUBTYPE OF ( implicit_planar_curve ); + silhouetted_model : surface_or_solid_model; + view_direction : direction; + END_ENTITY; + + ENTITY imported_curve_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : curve; + parametric_domain : tuple_space; + WHERE + wr1: expression_is_constant( parametric_domain ); + END_ENTITY; + + ENTITY imported_point_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : point; + END_ENTITY; + + ENTITY imported_surface_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : surface; + parametric_domain : tuple_space; + WHERE + wr1: expression_is_constant( parametric_domain ); + END_ENTITY; + + ENTITY imported_volume_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : volume; + parametric_domain : tuple_space; + WHERE + wr1: expression_is_constant( parametric_domain ); + END_ENTITY; + + ENTITY inappropriate_element_visibility + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM'] ); + END_ENTITY; + + ENTITY inappropriate_use_of_layer + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRESENTATION_LAYER_ASSIGNMENT' ] ); + END_ENTITY; + + ENTITY inapt_data + ABSTRACT SUPERTYPE OF ( + ONEOF ( + inapt_topology, + inapt_geometry, + inapt_topology_and_geometry_relationship, + inapt_manifold_solid_brep ) ) + SUBTYPE OF ( shape_data_quality_criterion ); + END_ENTITY; + + ENTITY inapt_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + nearly_degenerate_geometry, + discontinuous_geometry, + self_intersecting_geometry, + geometry_with_local_near_degeneracy, + overlapping_geometry, + multiply_defined_geometry, + geometry_with_local_irregularity, + overcomplex_geometry ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY inapt_manifold_solid_brep + ABSTRACT SUPERTYPE OF ( + ONEOF ( + partly_overlapping_solids, + small_volume_solid, + multiply_defined_solids, + entirely_narrow_solid, + solid_with_excessive_number_of_voids ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY inapt_topology + ABSTRACT SUPERTYPE OF ( + ONEOF ( + free_edge, + non_manifold_at_edge, + non_manifold_at_vertex, + over_used_vertex ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY inapt_topology_and_geometry_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + topology_related_to_nearly_degenerate_geometry, + geometric_gap_in_topology, + non_smooth_geometry_transition_across_edge, + topology_related_to_self_intersecting_geometry, + steep_geometry_transition_across_edge, + topology_related_to_overlapping_geometry, + topology_related_to_multiply_defined_geometry, + overcomplex_topology_and_geometry_relationship ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY incidence_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, incidence_geometric_constraint ); + END_ENTITY; + + ENTITY incidence_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF geometric_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF geometric_constraint_element; + near_points : SET [0 : ?] OF near_point_relationship; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( SIZEOF( near_points ) <= SIZEOF( SELF\explicit_constraint.reference_elements ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY included_text_block + SUBTYPE OF ( mapped_item ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRUCTURED_TEXT_REPRESENTATION' IN TYPEOF( SELF\mapped_item. + mapping_source.mapped_representation ) ); + END_ENTITY; + + ENTITY inclusion_product_concept_feature + SUBTYPE OF ( conditional_concept_feature ); + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PACKAGE_PRODUCT_CONCEPT_FEATURE' ) IN TYPEOF( SELF ) ) ); + wr2: ( ( SIZEOF( QUERY ( cfr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' ) IN + TYPEOF( cfr ) ) ) ) + SIZEOF( QUERY ( cfr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP.RELATED_PRODUCT_CONCEPT_FEATURE' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' ) IN + TYPEOF( cfr ) ) ) ) ) = 0 ); + wr3: ( SELF.condition.conditional_operator.name = 'implication' ); + END_ENTITY; + + ENTITY inconsistent_adjacent_face_normals + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CLOSED_OR_OPEN_SHELL_SELECT' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_curve_transition_code + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + angle_tolerance : plane_angle_measure; + curvature_ratio_tolerance : ratio_measure; + distance_tolerance : length_measure; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COMPOSITE_CURVE_TRANSITION_LOCATOR' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_edge_and_curve_directions + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + distance_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_element_reference + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM'] ); + END_ENTITY; + + ENTITY inconsistent_face_and_closed_shell_normals + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_face_and_surface_normals + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_surface_transition_code + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + angle_tolerance : plane_angle_measure; + curvature_ratio_tolerance : ratio_measure; + distance_tolerance : length_measure; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'RECTANGULAR_COMPOSITE_SURFACE' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'RECTANGULAR_COMPOSITE_SURFACE_TRANSITION_LOCATOR' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY index_expression + SUBTYPE OF ( string_expression, binary_generic_expression ); + DERIVE + operand : generic_expression := SELF\binary_generic_expression.operands[1]; + index : generic_expression := SELF\binary_generic_expression.operands[2]; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( operand ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( index ) ) ); + wr2: is_int_expr( index ); + END_ENTITY; + + ENTITY indexed_elements_bc + SUBTYPE OF ( mbna_bc ); + element_indices : indices_group; + END_ENTITY; + + ENTITY indexed_points_bc + SUBTYPE OF ( mbna_bc ); + point_indices : indices_group; + END_ENTITY; + + ENTITY indices_list; + nindices : INTEGER; + indices : LIST [1 : ?] OF ARRAY [1 : nindices] OF INTEGER; + END_ENTITY; + + ENTITY indices_range; + nindices : INTEGER; + start : ARRAY [1 : nindices] OF INTEGER; + finish : ARRAY [1 : nindices] OF INTEGER; + END_ENTITY; + + ENTITY indirectly_selected_elements + SUBTYPE OF ( user_selected_elements ); + indirectly_picked_items : SET [1 : ?] OF representation_item; + END_ENTITY; + + ENTITY indirectly_selected_shape_elements + SUBTYPE OF ( indirectly_selected_elements, user_selected_shape_elements ); + SELF\indirectly_selected_elements.indirectly_picked_items : SET [1 : ?] OF shape_representation_item; + END_ENTITY; + + ENTITY indistinct_curve_knots + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETER_VALUE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETER_VALUE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE_KNOT_LOCATOR' ] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY indistinct_surface_knots + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETER_VALUE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETER_VALUE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_WITH_KNOTS' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR' ] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inductance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INDUCTANCE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY inductance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.henry ) ); + END_ENTITY; + + ENTITY information_right + SUBTYPE OF ( action_method ); + END_ENTITY; + + ENTITY information_usage_right + SUBTYPE OF ( action_method ); + END_ENTITY; + + ENTITY instance_attribute_reference + SUBTYPE OF ( variable_semantics ); + attribute_name : attribute_identifier; + owning_instance : representation_item; + END_ENTITY; + + ENTITY instance_report_item_with_extreme_instances + SUBTYPE OF ( shape_data_quality_inspection_instance_report_item ); + extreme_instances : LIST [1 : ?] OF extreme_instance; + END_ENTITY; + + ENTITY instance_usage_context_assignment + SUBTYPE OF ( product_definition_context ); + items : SET [1 : ?] OF instance_usage_context_select; + END_ENTITY; + + ENTITY instanced_feature + SUBTYPE OF ( feature_definition, shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: SELF.product_definitional; + END_ENTITY; + + ENTITY int_literal + SUBTYPE OF ( literal_number ); + SELF\literal_number.the_value : INTEGER; + END_ENTITY; + + ENTITY int_numeric_variable + SUBTYPE OF ( numeric_variable ); + END_ENTITY; + + ENTITY int_value_function + SUBTYPE OF ( value_function ); + END_ENTITY; + + ENTITY integer_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( numeric_defined_function ); + END_ENTITY; + + ENTITY integer_interval_from_min + SUBTYPE OF ( maths_space, generic_literal ); + min : INTEGER; + END_ENTITY; + + ENTITY integer_interval_to_max + SUBTYPE OF ( maths_space, generic_literal ); + max : INTEGER; + END_ENTITY; + + ENTITY integer_representation_item + SUBTYPE OF ( representation_item, int_literal ); + END_ENTITY; + + ENTITY integer_tuple_literal + SUBTYPE OF ( generic_literal ); + lit_value : LIST [1 : ?] OF INTEGER; + END_ENTITY; + + ENTITY interfaced_group_component + SUBTYPE OF ( assembly_group_component ); + END_ENTITY; + + ENTITY interpolated_configuration_representation + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context_with_parameter; + SELF\representation.items : SET [1 : ?] OF interpolated_configuration_sequence; + END_ENTITY; + + ENTITY interpolated_configuration_segment + SUBTYPE OF ( founded_item ); + state : mechanism_state_representation; + t_parameter : parameter_value; + interpolation : interpolation_type; + END_ENTITY; + + ENTITY interpolated_configuration_sequence + SUBTYPE OF ( representation_item ); + segments : LIST [2 : ?] OF interpolated_configuration_segment; + DERIVE + n_segments : INTEGER := SIZEOF( segments ); + closed_interpolation : LOGICAL := segments[n_segments].interpolation <> discontinuous_interpolation_type; + configured_mechanism : mechanism_representation := segments[1].state.represented_mechanism; + WHERE + wr1: ( SIZEOF( QUERY ( ics <* segments | ( ics.state.represented_mechanism :<>: configured_mechanism ) ) ) = 0 ); + END_ENTITY; + + ENTITY intersecting_connected_face_sets + SUBTYPE OF ( topology_related_to_self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POINT_ON_FACE_SURFACE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POINT_ON_FACE_SURFACE'] ); + wr4: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY intersecting_loops_in_face + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POINT_ON_EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY intersecting_shells_in_solid + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY intersection_curve + SUBTYPE OF ( surface_curve ); + WHERE + wr1: ( SIZEOF( SELF\surface_curve.associated_geometry ) = 2 ); + wr2: ( associated_surface( SELF\surface_curve.associated_geometry[1] ) <> associated_surface( SELF\surface_curve. + associated_geometry[2] ) ); + END_ENTITY; + + ENTITY interval_expression + SUBTYPE OF ( boolean_expression, multiple_arity_generic_expression ); + DERIVE + interval_low : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + interval_item : generic_expression := SELF\multiple_arity_generic_expression.operands[2]; + interval_high : generic_expression := SELF\multiple_arity_generic_expression.operands[3]; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXPRESSION' IN TYPEOF( interval_low ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXPRESSION' IN TYPEOF( interval_item ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXPRESSION' IN TYPEOF( interval_high ) ) ); + wr2: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF.interval_low ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF.interval_high ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF.interval_item ) ) ) OR ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( SELF.interval_low ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( SELF.interval_item ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( SELF.interval_high ) ) ) ); + END_ENTITY; + + ENTITY invisibility; + invisible_items : SET [1 : ?] OF invisible_item; + END_ENTITY; + + ENTITY iso4217_currency + SUBTYPE OF ( currency ); + END_ENTITY; + + ENTITY item_defined_transformation; + name : label; + description : OPTIONAL text; + transform_item_1 : representation_item; + transform_item_2 : representation_item; + END_ENTITY; + + ENTITY item_identified_representation_usage; + name : label; + description : OPTIONAL text; + definition : item_identified_representation_usage_definition; + used_representation : representation; + identified_item : item_identified_representation_usage_select; + WHERE + wr1: ( SELF.used_representation IN using_representations( SELF.identified_item ) ); + END_ENTITY; + + ENTITY item_link_motion_relationship + SUBTYPE OF ( link_motion_relationship ); + SELF\representation_relationship.rep_1 : shape_representation; + item : geometric_representation_item; + END_ENTITY; + + ENTITY joggle + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( NOT ( ( 5 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 10 ) ) ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ 'orientation', + 'base radius 1' , 'base radius 2', 'direction angle 1', 'direction angle 2', 'height', 'slope angle 1', + 'slope angle 2' , 'top radius 1', 'top radius 2'] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'direction angle 1' ) + AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) + = 1 ) ) ) ) = 1 ); + wr4 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'direction angle 2' ) + AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) + = 1 ) ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'height' ) AND ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + wr6 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'slope angle 1' ) + AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) + = 1 ) ) ) ) = 1 ); + wr7 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'slope angle 2' ) + AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) + = 1 ) ) ) ) = 1 ); + wr8 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'defining path' ) AND ( sa.description = + 'path feature component occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'path feature component usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sar.relating_shape_aspect ) ) AND ( sar.relating_shape_aspect.description + = 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ); + wr9 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'termination' ) AND ( sa.description = + 'joggle termination occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + .name = 'joggle termination usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.JOGGLE_TERMINATION' + IN TYPEOF( sar.relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) = 1 ); + wr10: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius 1' ) + AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + wr11: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius 2' ) + AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + wr12: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'top radius 1' ) + AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + wr13: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'top radius 2' ) + AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + END_ENTITY; + + ENTITY joggle_termination + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SELF.description IN [ 'value termination', 'face termination'] ); + wr3: ( ( SELF.description = 'value termination' ) XOR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 0 ) ); + wr4: ( ( SELF.description <> 'value termination' ) OR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) = 1 ) ); + wr5: ( ( SELF.description <> 'value termination' ) OR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'depth' ) AND ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ) ); + wr6: ( ( SELF.description <> 'value termination' ) OR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'angle' ) AND ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = + 1 ) ) ) ) = 1 ) ); + wr7: ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.name = 'joggle termination usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.JOGGLE' IN TYPEOF( sar.related_shape_aspect.of_shape. + definition ) ) AND ( sar.related_shape_aspect.of_shape.definition\characterized_object.name = 'termination' ) AND + ( sar.related_shape_aspect.of_shape.definition\characterized_object.description = 'joggle termination occurrence' ) ) ) ) + = 1 ); + END_ENTITY; + + ENTITY kinematic_analysis_consistency; + control : kinematic_control; + result : kinematic_analysis_result; + WHERE + wr1: ( control.controlled_mechanism :=: result.analysed_mechanism ); + END_ENTITY; + + ENTITY kinematic_analysis_result; + analysed_mechanism : mechanism_representation; + result : kinematic_result; + END_ENTITY; + + ENTITY kinematic_control; + controlled_mechanism : mechanism_representation; + contained_kinematic_programs : kinematic_analysis_definition; + END_ENTITY; + + ENTITY kinematic_joint + SUBTYPE OF ( edge ); + SELF\edge.edge_start : kinematic_link; + SELF\edge.edge_end : kinematic_link; + UNIQUE + ur1 : edge_start, edge_end; + WHERE + wr1: ( edge_start :<>: edge_end ); + END_ENTITY; + + ENTITY kinematic_link + SUBTYPE OF ( vertex ); + END_ENTITY; + + ENTITY kinematic_link_representation + ABSTRACT SUPERTYPE OF ( + ONEOF ( + linear_flexible_link_representation, + rigid_link_representation ) ) + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context; + SELF\representation.items : SET [1 : ?] OF kinematic_link_representation_items; + represented_link : kinematic_link; + INVERSE + associated_shape_representation : SET [0 : 1] OF kinematic_link_representation_association FOR rep_1; + END_ENTITY; + + ENTITY kinematic_link_representation_association + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : kinematic_link_representation; + SELF\representation_relationship.rep_2 : shape_representation; + WHERE + wr1: ( ( SELF\representation_relationship.rep_2.context_of_items :=: SELF\representation_relationship.rep_1. + context_of_items ) OR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY kinematic_loop + SUBTYPE OF ( edge_loop ); + SELF\path.edge_list : LIST [1 : ?] OF UNIQUE oriented_joint; + END_ENTITY; + + ENTITY kinematic_pair + ABSTRACT SUPERTYPE OF ( + ONEOF ( + high_order_kinematic_pair, + low_order_kinematic_pair_with_motion_coupling, + low_order_kinematic_pair ) + ANDOR + actuated_kinematic_pair ) + SUBTYPE OF ( geometric_representation_item, item_defined_transformation ); + joint : kinematic_joint; + SELF\item_defined_transformation.transform_item_1 : rigid_placement; + SELF\item_defined_transformation.transform_item_2 : rigid_placement; + DERIVE + associated_link_representations_1 : SET [1 : ?] OF kinematic_link_representation := sort_link_associations( + link_representation_associations, TRUE ); + associated_link_representations_2 : SET [1 : ?] OF kinematic_link_representation := sort_link_associations( + link_representation_associations, FALSE ); + SELF\item_defined_transformation.name : label := SELF\representation_item.name; + INVERSE + link_representation_associations : SET [1 : ?] OF pair_representation_relationship FOR transformation_operator; + END_ENTITY; + + ENTITY kinematic_path + ABSTRACT SUPERTYPE OF ( + ONEOF ( + kinematic_path_defined_by_nodes, + kinematic_path_defined_by_curves ) ) + SUBTYPE OF ( geometric_representation_item ); + segments : LIST [1 : ?] OF kinematic_path_segment; + t_start : parameter_value; + DERIVE + n_segments : INTEGER := SIZEOF( segments ); + closed_path : LOGICAL := segments[n_segments].transition <> discontinuous; + WHERE + wr1: ( SIZEOF( QUERY ( using_rep <* using_representations( SELF ) | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER' IN TYPEOF( + using_rep.context_of_items ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY kinematic_path_defined_by_curves + SUBTYPE OF ( kinematic_path ); + SELF\kinematic_path.segments : LIST [1 : ?] OF curve_based_path_with_orientation; + END_ENTITY; + + ENTITY kinematic_path_defined_by_nodes + SUBTYPE OF ( kinematic_path ); + SELF\kinematic_path.segments : LIST [1 : ?] OF path_node; + placement_start : placement; + END_ENTITY; + + ENTITY kinematic_path_segment + ABSTRACT SUPERTYPE OF ( + ONEOF ( + path_node, + curve_based_path_with_orientation ) ) + SUBTYPE OF ( founded_item ); + t_end : parameter_value; + transition : transition_code; + END_ENTITY; + + ENTITY kinematic_property_definition_representation + ABSTRACT SUPERTYPE OF ( + ONEOF ( + kinematic_property_topology_representation, + kinematic_property_mechanism_representation ) ) + SUBTYPE OF ( property_definition_representation ); + SELF\property_definition_representation.definition : product_definition_kinematics; + END_ENTITY; + + ENTITY kinematic_property_mechanism_representation + SUBTYPE OF ( kinematic_property_definition_representation ); + SELF\property_definition_representation.used_representation : mechanism_representation; + base : kinematic_link_representation; + WHERE + wr1: ( SIZEOF( QUERY ( i <* used_representation.items | ( ( base :=: i\representation_relationship.rep_1 ) OR ( base :=: i\ + representation_relationship.rep_2 ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY kinematic_property_topology_representation + SUBTYPE OF ( kinematic_property_definition_representation ); + SELF\property_definition_representation.used_representation : kinematic_topology_representation_select; + base : kinematic_link; + WHERE + wr1: ( used_representation IN using_representations( base ) ); + END_ENTITY; + + ENTITY kinematic_topology_directed_structure + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF oriented_joint; + parent : kinematic_topology_structure; + WHERE + wr1: ( context_of_items :=: parent.context_of_items ); + wr2: ( get_kinematic_joints_from_oriented_joints( items ) <= parent.items ); + END_ENTITY; + + ENTITY kinematic_topology_network_structure + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF kinematic_loop; + parent : kinematic_topology_structure; + WHERE + wr1: ( context_of_items :=: parent.context_of_items ); + wr2: ( get_kinematic_joints_from_kinematic_loops( items ) <= parent.items ); + END_ENTITY; + + ENTITY kinematic_topology_structure + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF kinematic_joint; + WHERE + wr1: ( SIZEOF( QUERY ( item <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE' IN TYPEOF( item ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY kinematic_topology_substructure + SUBTYPE OF ( kinematic_topology_structure ); + parent : kinematic_topology_structure; + WHERE + wr1: ( context_of_items :=: parent.context_of_items ); + wr2: ( SELF\kinematic_topology_structure.items <= parent\kinematic_topology_structure.items ); + END_ENTITY; + + ENTITY kinematic_topology_tree_structure + SUBTYPE OF ( kinematic_topology_directed_structure ); + END_ENTITY; + + ENTITY known_source + SUBTYPE OF ( external_source, pre_defined_item ); + END_ENTITY; + + ENTITY laid_defined_transformation + SUBTYPE OF ( transformation_with_derived_angle ); + END_ENTITY; + + ENTITY laminate_table + SUPERTYPE OF ( + ONEOF ( + part_laminate_table, + zone_structural_makeup ) ) + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY language + SUBTYPE OF ( group ); + WHERE + wr1: ( SELF\group.name <> '' ); + END_ENTITY; + + ENTITY leader_curve + SUBTYPE OF ( annotation_curve_occurrence ); + WHERE + wr1: ( SIZEOF( QUERY ( ldc <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_CALLOUT.' + + 'CONTENTS' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'LEADER_DIRECTED_CALLOUT' ) IN + TYPEOF( ldc ) ) ) ) >= 1 ); + END_ENTITY; + + ENTITY leader_directed_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( l_1 <* SELF\draughting_callout.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LEADER_CURVE' IN TYPEOF( l_1 ) ) ) ) >= 1 ); + wr2: ( SIZEOF( SELF\draughting_callout.contents ) >= 2 ); + END_ENTITY; + + ENTITY leader_directed_dimension + SUBTYPE OF ( leader_directed_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( con <* SELF.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_CURVE' IN + TYPEOF( con ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY leader_terminator + SUBTYPE OF ( terminator_symbol ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF( SELF\terminator_symbol.annotated_curve ) ); + END_ENTITY; + + ENTITY length_function + SUBTYPE OF ( numeric_expression, unary_generic_expression ); + SELF\unary_generic_expression.operand : string_expression; + END_ENTITY; + + ENTITY length_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY length_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 1 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY light_source + SUPERTYPE OF ( + ONEOF ( + light_source_ambient, + light_source_directional, + light_source_positional, + light_source_spot ) ) + SUBTYPE OF ( geometric_representation_item ); + light_colour : colour; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'STYLED_ITEM.ITEM' ) ) = 0 ); + END_ENTITY; + + ENTITY light_source_ambient + SUBTYPE OF ( light_source ); + END_ENTITY; + + ENTITY light_source_directional + SUBTYPE OF ( light_source ); + orientation : direction; + END_ENTITY; + + ENTITY light_source_positional + SUBTYPE OF ( light_source ); + position : cartesian_point; + constant_attenuation : REAL; + distance_attenuation : REAL; + END_ENTITY; + + ENTITY light_source_spot + SUBTYPE OF ( light_source ); + position : cartesian_point; + orientation : direction; + concentration_exponent : REAL; + constant_attenuation : REAL; + distance_attenuation : REAL; + spread_angle : positive_plane_angle_measure; + END_ENTITY; + + ENTITY like_expression + SUBTYPE OF ( comparison_expression ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression. + operands[1] ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF\ + binary_generic_expression.operands[2] ) ) ); + END_ENTITY; + + ENTITY limits_and_fits; + form_variance : label; + zone_variance : label; + grade : label; + source : text; + END_ENTITY; + + ENTITY line + SUBTYPE OF ( curve ); + pnt : cartesian_point; + dir : vector; + WHERE + wr1: ( dir.dim = pnt.dim ); + END_ENTITY; + + ENTITY line_profile_tolerance + SUBTYPE OF ( geometric_tolerance ); + END_ENTITY; + + ENTITY linear_array_component_definition_link + SUBTYPE OF ( product_definition, product_definition_relationship ); + SELF\product_definition_relationship.relating_product_definition : linear_array_placement_group_component; + SELF\product_definition_relationship.related_product_definition : linear_array_placement_group_component; + WHERE + wr1: ( SELF\product_definition_relationship.related_product_definition :<>: SELF\product_definition_relationship. + relating_product_definition ); + wr2: acyclic_product_definition_relationship( SELF, [SELF\product_definition_relationship.related_product_definition], + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_ARRAY_COMPONENT_DEFINITION_LINK' ); + END_ENTITY; + + ENTITY linear_array_placement_group_component + SUBTYPE OF ( array_placement_group ); + END_ENTITY; + + ENTITY linear_constraint_equation_element + SUBTYPE OF ( constraint_element ); + freedoms_and_coefficients : SET [1 : ?] OF linear_constraint_equation_nodal_term; + description : text; + END_ENTITY; + + ENTITY linear_constraint_equation_element_value + SUBTYPE OF ( state_definition ); + element : linear_constraint_equation_element; + b : measure_or_unspecified_value; + END_ENTITY; + + ENTITY linear_constraint_equation_nodal_term; + node : node_representation; + coordinate_system : fea_axis2_placement_3d; + freedom_and_coefficient_term : freedom_and_coefficient; + dependent : LOGICAL; + END_ENTITY; + + ENTITY linear_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY linear_flexible_and_pinion_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + pinion_radius : length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY linear_flexible_and_planar_curve_pair + SUBTYPE OF ( high_order_kinematic_pair ); + pair_curve : curve; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( pair_curve IN r.items ) ) ) ) = + 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY linear_flexible_link_representation + SUBTYPE OF ( kinematic_link_representation ); + END_ENTITY; + + ENTITY linear_path + SUBTYPE OF ( path_node ); + DERIVE + SELF\kinematic_path_segment.transition : transition_code := continuous; + END_ENTITY; + + ENTITY linear_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'profile length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY linearized_table_function + SUPERTYPE OF ( + ONEOF ( + standard_table_function, + regular_table_function, + triangular_matrix, + symmetric_matrix, + banded_matrix ) ) + SUBTYPE OF ( explicit_table_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + first : INTEGER; + DERIVE + source : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_1d_array( source ); + wr2: member_of( first, source\maths_function.domain ); + END_ENTITY; + + ENTITY linearly_superimposed_state + SUBTYPE OF ( state ); + INVERSE + components : SET [1 : ?] OF state_component FOR state; + END_ENTITY; + + ENTITY link_motion_relationship + SUBTYPE OF ( definitional_representation_relationship, representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : link_or_shape_representation; + SELF\representation_relationship.rep_2 : link_motion_representation_along_path; + SELF\representation_relationship_with_transformation.transformation_operator : link_motion_transformation; + WHERE + (* JH removed WR1 on 2014-05-14 for the following compilation error; fix is not ISO confirmed: + ERROR : Line 19237: C3001:Unresolved attribute qualification in WHERE clause. + Attribute qualification: REP_1[].ITEMS + wr1: ( transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items ); *) + wr2: ( transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items ); + END_ENTITY; + + ENTITY link_motion_representation_along_path + SUPERTYPE OF ( + ONEOF ( + prescribed_path, + resulting_path ) ) + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF kinematic_path; + SELF\representation.context_of_items : geometric_representation_context_with_parameter; + END_ENTITY; + + ENTITY link_motion_transformation + SUBTYPE OF ( item_defined_transformation ); + SELF\item_defined_transformation.transform_item_1 : rigid_placement; + SELF\item_defined_transformation.transform_item_2 : kinematic_path; + END_ENTITY; + + ENTITY listed_complex_number_data + SUBTYPE OF ( explicit_table_function, generic_literal ); + values : LIST [2 : ?] OF REAL; + DERIVE + SELF\explicit_table_function.shape : LIST [1 : ?] OF positive_integer := [SIZEOF( values ) DIV 2]; + WHERE + wr1: ( NOT ODD( SIZEOF( values ) ) ); + END_ENTITY; + + ENTITY listed_data + SUBTYPE OF ( explicit_table_function, generic_literal ); + values : LIST [1 : ?] OF maths_value; + value_range : maths_space; + DERIVE + SELF\explicit_table_function.shape : LIST [1 : ?] OF positive_integer := [SIZEOF( values )]; + WHERE + wr1: expression_is_constant( value_range ); + wr2: ( SIZEOF( QUERY ( val <* values | ( NOT member_of( val, value_range ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY listed_integer_data + SUBTYPE OF ( explicit_table_function, generic_literal ); + values : LIST [1 : ?] OF INTEGER; + DERIVE + SELF\explicit_table_function.shape : LIST [1 : ?] OF positive_integer := [SIZEOF( values )]; + END_ENTITY; + + ENTITY listed_logical_data + SUBTYPE OF ( explicit_table_function, generic_literal ); + values : LIST [1 : ?] OF LOGICAL; + DERIVE + SELF\explicit_table_function.shape : LIST [1 : ?] OF positive_integer := [SIZEOF( values )]; + END_ENTITY; + + ENTITY listed_product_space + SUBTYPE OF ( maths_space, generic_literal ); + factors : LIST OF maths_space; + WHERE + wr1: ( SIZEOF( QUERY ( space <* factors | ( NOT expression_is_constant( space ) ) ) ) = 0 ); + wr2: no_cyclic_space_reference( SELF, [] ); + wr3: ( NOT ( the_empty_space IN factors ) ); + END_ENTITY; + + ENTITY listed_real_data + SUBTYPE OF ( explicit_table_function, generic_literal ); + values : LIST [1 : ?] OF REAL; + DERIVE + SELF\explicit_table_function.shape : LIST [1 : ?] OF positive_integer := [SIZEOF( values )]; + END_ENTITY; + + ENTITY listed_string_data + SUBTYPE OF ( explicit_table_function, generic_literal ); + values : LIST [1 : ?] OF STRING; + DERIVE + SELF\explicit_table_function.shape : LIST [1 : ?] OF positive_integer := [SIZEOF( values )]; + END_ENTITY; + + ENTITY literal_conjunction + SUBTYPE OF ( simple_clause ); + END_ENTITY; + + ENTITY literal_disjunction + SUBTYPE OF ( simple_clause ); + END_ENTITY; + + ENTITY literal_number + ABSTRACT SUPERTYPE OF ( + ONEOF ( + int_literal, + real_literal ) ) + SUBTYPE OF ( simple_numeric_expression, generic_literal ); + the_value : NUMBER; + END_ENTITY; + + ENTITY local_time; + hour_component : hour_in_day; + minute_component : OPTIONAL minute_in_hour; + second_component : OPTIONAL second_in_minute; + zone : coordinated_universal_time_offset; + WHERE + wr1: valid_time( SELF ); + END_ENTITY; + + ENTITY location_in_aggregate_representation_item + SUBTYPE OF ( compound_representation_item ); + SELF\compound_representation_item.item_element : location_in_aggregate_item; + END_ENTITY; + + ENTITY location_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN TYPEOF( it ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY locator + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( NOT ( ( 2 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 5 ) ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'diameter' ) AND ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'tip radius' ) AND + ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'tip angle' ) AND + ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = + 1 ) ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius' ) AND + ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + END_ENTITY; + + ENTITY log10_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY log2_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY log_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY logical_literal + SUBTYPE OF ( generic_literal ); + lit_value : LOGICAL; + END_ENTITY; + + ENTITY logical_representation_item + SUBTYPE OF ( representation_item, logical_literal ); + END_ENTITY; + + ENTITY loop + SUPERTYPE OF ( + ONEOF ( + vertex_loop, + edge_loop, + poly_loop ) ) + SUBTYPE OF ( topological_representation_item ); + END_ENTITY; + + ENTITY loss_tangent_measure_with_unit + SUBTYPE OF ( ratio_measure_with_unit ); + END_ENTITY; + + ENTITY lot_effectivity + SUBTYPE OF ( effectivity ); + effectivity_lot_id : identifier; + effectivity_lot_size : measure_with_unit; + END_ENTITY; + + ENTITY low_order_kinematic_pair + SUPERTYPE OF ( + ONEOF ( + revolute_pair, + cylindrical_pair, + spherical_pair, + spherical_pair_with_pin, + planar_pair, + unconstrained_pair, + fully_constrained_pair, + prismatic_pair, + universal_pair, + low_order_kinematic_pair_with_range ) ) + SUBTYPE OF ( kinematic_pair ); + t_x : BOOLEAN; + t_y : BOOLEAN; + t_z : BOOLEAN; + r_x : BOOLEAN; + r_y : BOOLEAN; + r_z : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY low_order_kinematic_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : low_order_kinematic_pair; + actual_translation_x : length_measure; + actual_translation_y : length_measure; + actual_translation_z : length_measure; + actual_rotation_x : plane_angle_measure; + actual_rotation_y : plane_angle_measure; + actual_rotation_z : plane_angle_measure; + END_ENTITY; + + ENTITY low_order_kinematic_pair_with_motion_coupling + ABSTRACT SUPERTYPE OF ( + ONEOF ( + gear_pair, + linear_flexible_and_pinion_pair, + rack_and_pinion_pair, + screw_pair ) ) + SUBTYPE OF ( kinematic_pair ); + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY low_order_kinematic_pair_with_range + SUBTYPE OF ( low_order_kinematic_pair ); + lower_limit_actual_rotation_x : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_x : OPTIONAL plane_angle_measure; + lower_limit_actual_rotation_y : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_y : OPTIONAL plane_angle_measure; + lower_limit_actual_rotation_z : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_z : OPTIONAL plane_angle_measure; + lower_limit_actual_translation_x : OPTIONAL length_measure; + upper_limit_actual_translation_x : OPTIONAL length_measure; + lower_limit_actual_translation_y : OPTIONAL length_measure; + upper_limit_actual_translation_y : OPTIONAL length_measure; + lower_limit_actual_translation_z : OPTIONAL length_measure; + upper_limit_actual_translation_z : OPTIONAL length_measure; + END_ENTITY; + + ENTITY luminous_flux_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LUMINOUS_FLUX_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY luminous_flux_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.lumen ) ); + END_ENTITY; + + ENTITY luminous_intensity_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LUMINOUS_INTENSITY_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY luminous_intensity_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 1 ) ); + END_ENTITY; + + ENTITY magnetic_flux_density_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAGNETIC_FLUX_DENSITY_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY magnetic_flux_density_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.tesla ) ); + END_ENTITY; + + ENTITY magnetic_flux_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAGNETIC_FLUX_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY magnetic_flux_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.weber ) ); + END_ENTITY; + + ENTITY make_from_feature_relationship + SUBTYPE OF ( component_feature_relationship ); + END_ENTITY; + + ENTITY make_from_usage_option + SUBTYPE OF ( product_definition_usage ); + ranking : INTEGER; + ranking_rationale : text; + quantity : measure_with_unit; + WHERE + wr1: ( ( NOT ( 'NUMBER' IN TYPEOF( quantity.value_component ) ) ) OR ( quantity.value_component > 0 ) ); + END_ENTITY; + + ENTITY manifold_solid_brep + SUBTYPE OF ( solid_model ); + outer : closed_shell; + END_ENTITY; + + ENTITY manifold_subsurface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) = + 1 ) ) ) > 0 ); + wr3 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr4 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'OPEN_SHELL' IN TYPEOF( cfss ) ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( cfss\connected_face_sub_set.parent_face_set ) ) AND ( SIZEOF( + QUERY ( fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | ( NOT + advanced_face_properties( fac ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( fac <* cfss\connected_face_sub_set. + parent_face_set\connected_face_set.cfs_faces | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fac ) ) ) ) ) = 0 ) ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( SIZEOF( QUERY ( fac <* cfss\connected_face_set.cfs_faces | ( + NOT advanced_face_properties( fac ) ) ) ) = 0 ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( + NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBEDGE' IN TYPEOF( oe.edge_element ) ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( + NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_start ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_end ) ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( bnds <* fcs.bounds | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_LOOP' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP'] * TYPEOF( bnds.bound ) ) = 1 ) ) ) ) + = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( + NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POLYLINE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF( oe.edge_element\edge_curve. + edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( oe.edge_element\edge_curve. + edge_geometry ) ) AND ( NOT ( SIZEOF( QUERY ( sc_ag <* oe.edge_element\edge_curve.edge_geometry\surface_curve. + associated_geometry | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( sc_ag ) ) ) ) ) + = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( oe.edge_element\edge_curve. + edge_geometry ) ) AND ( NOT ( SIZEOF( oe\oriented_edge.edge_element\edge_curve.edge_geometry\polyline.points ) >= + 3 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY manifold_surface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) + = 1 ) ) ) > 0 ); + wr3 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION' IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) AND + ( SIZEOF( QUERY ( mr_it <* mi\mapped_item.mapping_source.mapped_representation.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( mr_it ) ) ) ) > 0 ) ) ) ) ) + = 0 ); + wr4 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( sh <* sbsm\shell_based_surface_model + .sbsm_boundary | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_SHELL', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL' ] * TYPEOF( sh ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF( fa ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr6 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR msf_surface_check( fa\ + face_surface.face_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( bnds <* fa.bounds | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' ] * TYPEOF( bnds.bound ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe_cv <* QUERY ( oe <* elp_fbnds\path.edge_list | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) | ( NOT ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE_REPLICA' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POLYLINE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE'] * TYPEOF( oe_cv.edge_element\ + edge_curve.edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT msf_curve_check( oe. + edge_element\edge_curve.edge_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_element.edge_start ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_element.edge_end ) ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element.edge_start\ + vertex_point.vertex_geometry ) ) = 1 ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CARTESIAN_POINT' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element.edge_end\ + vertex_point.vertex_geometry ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN + TYPEOF( vlp_fbnds\vertex_loop.loop_vertex ) ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( vlp_fbnds\vertex_loop. + loop_vertex\vertex_point.vertex_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mapped_item + SUBTYPE OF ( representation_item ); + mapping_source : representation_map; + mapping_target : representation_item; + WHERE + wr1: acyclic_mapped_representation( SELF ); + END_ENTITY; + + ENTITY marking + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 2 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 6 ) ) ) ) = 1 ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'marking text' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'special instructions' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'font name' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'character height' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'character spacing' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = + 1 ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mass_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MASS_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY mass_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 1 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY matched_mesh_connection + SUBTYPE OF ( mesh_connectivity ); + SELF\mesh_connectivity.current : structured_mesh; + range : indices_range; + donor : structured_mesh; + donor_range : indices_range; + transform : ARRAY [1 : SELF\mesh_connectivity.index_count] OF INTEGER; + WHERE + wr1: ( current :<>: donor ); + wr2: ( donor\mesh.index_count = SELF\mesh_connectivity.index_count ); + wr3: ( range\indices_range.nindices = SELF\mesh_connectivity.index_count ); + wr4: ( donor_range\indices_range.nindices = SELF\mesh_connectivity.index_count ); + END_ENTITY; + + ENTITY mated_part_relationship + SUBTYPE OF ( group, group_assignment, product_definition_shape, product_definition_relationship, shape_aspect ); + items : SET [0 : ?] OF product_definition; + DERIVE + SELF\group_assignment.assigned_group : mated_part_relationship := SELF; + SELF\property_definition.definition : mated_part_relationship := SELF; + SELF\shape_aspect.of_shape : mated_part_relationship := SELF; + END_ENTITY; + + ENTITY material_designation; + name : label; + definitions : SET [1 : ?] OF characterized_definition; + END_ENTITY; + + ENTITY material_designation_characterization; + name : label; + description : text; + designation : material_designation; + property : characterized_material_property; + END_ENTITY; + + ENTITY material_property + SUBTYPE OF ( property_definition ); + UNIQUE + ur1 : SELF\property_definition.name, SELF\property_definition.definition; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTERIZED_OBJECT' IN TYPEOF( SELF\property_definition. + definition ) ) OR ( SIZEOF( bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) - QUERY ( temp <* bag_to_set( USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) | ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MATERIAL_PROPERTY_REPRESENTATION' ) IN TYPEOF( temp ) ) ) ) + = 0 ) ); + END_ENTITY; + + ENTITY material_property_representation + SUBTYPE OF ( property_definition_representation ); + dependent_environment : data_environment; + END_ENTITY; + + ENTITY mathematical_description; + described : maths_expression; + describing : STRING; + encoding : label; + END_ENTITY; + + ENTITY maths_boolean_variable + SUBTYPE OF ( maths_variable, boolean_variable ); + WHERE + wr1: subspace_of_es( SELF\maths_variable.values_space, es_booleans ); + END_ENTITY; + + ENTITY maths_enum_literal + SUBTYPE OF ( generic_literal ); + lit_value : maths_enum_atom; + END_ENTITY; + + ENTITY maths_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + finite_function, + constant_function, + selector_function, + elementary_function, + restriction_function, + repackaging_function, + reindexed_array_function, + series_composed_function, + parallel_composed_function, + explicit_table_function, + homogeneous_linear_function, + general_linear_function, + b_spline_basis, + b_spline_function, + rationalize_function, + partial_derivative_function, + definite_integral_function, + abstracted_expression_function, + expression_denoted_function, + imported_point_function, + imported_curve_function, + imported_surface_function, + imported_volume_function, + application_defined_function ) ) + SUBTYPE OF ( generic_expression ); + DERIVE + domain : tuple_space := derive_function_domain( SELF ); + range : tuple_space := derive_function_range( SELF ); + END_ENTITY; + + ENTITY maths_integer_variable + SUBTYPE OF ( maths_variable, int_numeric_variable ); + WHERE + wr1: subspace_of_es( SELF\maths_variable.values_space, es_integers ); + END_ENTITY; + + ENTITY maths_real_variable + SUBTYPE OF ( maths_variable, real_numeric_variable ); + WHERE + wr1: subspace_of_es( SELF\maths_variable.values_space, es_reals ); + END_ENTITY; + + ENTITY maths_space + ABSTRACT SUPERTYPE OF ( + ONEOF ( + elementary_space, + finite_integer_interval, + integer_interval_from_min, + integer_interval_to_max, + finite_real_interval, + real_interval_from_min, + real_interval_to_max, + cartesian_complex_number_region, + polar_complex_number_region, + finite_space, + uniform_product_space, + listed_product_space, + extended_tuple_space, + function_space ) ) + SUBTYPE OF ( generic_expression ); + END_ENTITY; + + ENTITY maths_space_context; + id : identifier; + name : label; + description : OPTIONAL text; + abstract_space : maths_space; + physical_space : space_context_select; + END_ENTITY; + + ENTITY maths_string_variable + SUBTYPE OF ( maths_variable, string_variable ); + WHERE + wr1: subspace_of_es( SELF\maths_variable.values_space, es_strings ); + END_ENTITY; + + ENTITY maths_tuple_literal + SUBTYPE OF ( generic_literal ); + lit_value : LIST OF maths_value; + END_ENTITY; + + ENTITY maths_variable + SUBTYPE OF ( generic_variable ); + values_space : maths_space; + name : label; + WHERE + wr1: expression_is_constant( values_space ); + END_ENTITY; + + ENTITY maximum_function + SUBTYPE OF ( multiple_arity_function_call ); + END_ENTITY; + + ENTITY mbna_bc + SUPERTYPE OF ( + ONEOF ( + elements_bc, + indexed_elements_bc, + indexed_points_bc ) ) + SUBTYPE OF ( mbna_condition ); + datasets : SET OF mbna_bc_dataset; + gridloc : mesh_location; + inward_normal_index : OPTIONAL ijk_minmax; + inward_normal_list : OPTIONAL indices_list; + rstate : SET OF mbna_reference_state; + the_type : mbna_bc_type; + END_ENTITY; + + ENTITY mbna_bc_data + SUBTYPE OF ( mbna_condition ); + END_ENTITY; + + ENTITY mbna_bc_data_global + SUBTYPE OF ( mbna_bc_data ); + INVERSE + data_global : SET OF model_property_distribution FOR domain; + END_ENTITY; + + ENTITY mbna_bc_data_local + SUBTYPE OF ( mbna_bc_data ); + INVERSE + data_local : SET OF model_property_distribution FOR domain; + END_ENTITY; + + ENTITY mbna_bc_dataset + SUPERTYPE OF ( + ONEOF ( + mbna_dirichlet_bc_dataset, + mbna_neumann_bc_dataset ) ) + SUBTYPE OF ( mbna_condition ); + gridloc : mesh_location; + rstate : SET OF mbna_reference_state; + the_type : mbna_bc_type_simple; + END_ENTITY; + + ENTITY mbna_behaviour_model + SUPERTYPE OF ( + ONEOF ( + thermal_conductivity_model, + gas_model, + turbulence_closure, + turbulence_model, + viscosity_model ) ) + SUBTYPE OF ( mbna_equation ); + INVERSE + data : SET OF model_property_distribution FOR domain; + END_ENTITY; + + ENTITY mbna_condition + ABSTRACT SUPERTYPE OF ( + ONEOF ( + mbna_zone_bc, + mbna_bc, + mbna_bc_dataset, + mbna_bc_data, + mbna_reference_state ) ) + SUBTYPE OF ( model_state_domain ); + END_ENTITY; + + ENTITY mbna_dirichlet_bc_dataset + SUBTYPE OF ( mbna_bc_dataset ); + data : mbna_bc_data; + END_ENTITY; + + ENTITY mbna_discrete_data + SUBTYPE OF ( mbna_result ); + gridloc : mesh_location; + INVERSE + data : SET OF property_distribution_description FOR physical_function; + END_ENTITY; + + ENTITY mbna_discrete_data_with_rind + SUBTYPE OF ( mbna_discrete_data ); + rind_planes : rind; + END_ENTITY; + + ENTITY mbna_equation + SUPERTYPE OF ( + ONEOF ( + mbna_equation_set, + mbna_governing_equation, + mbna_behaviour_model ) ) + SUBTYPE OF ( model_product_domain ); + END_ENTITY; + + ENTITY mbna_equation_set + SUBTYPE OF ( mbna_equation ); + dimension : INTEGER; + equations : mbna_governing_equation; + mbna_models : SET OF mbna_behaviour_models; + END_ENTITY; + + ENTITY mbna_governing_equation + SUBTYPE OF ( mbna_equation ); + equation_type : mbna_governing_equation_type; + END_ENTITY; + + ENTITY mbna_history + SUBTYPE OF ( mbna_result ); + notes : LIST OF text; + INVERSE + data : SET OF property_distribution_description FOR physical_function; + END_ENTITY; + + ENTITY mbna_model + SUBTYPE OF ( model_product_domain ); + SELF\model_product_domain.temporal_parts : LIST OF mbna_step; + equations : SET OF mbna_equation_set; + INVERSE + history : SET OF mbna_history FOR domain; + END_ENTITY; + + ENTITY mbna_neumann_bc_dataset + SUBTYPE OF ( mbna_bc_dataset ); + data : mbna_bc_data; + END_ENTITY; + + ENTITY mbna_reference_state + SUBTYPE OF ( mbna_condition ); + INVERSE + data : SET OF model_property_distribution FOR domain; + END_ENTITY; + + ENTITY mbna_result + SUPERTYPE OF ( + ONEOF ( + mbna_solution, + mbna_history, + mbna_discrete_data ) ) + SUBTYPE OF ( model_property_distribution ); + END_ENTITY; + + ENTITY mbna_solution + SUBTYPE OF ( mbna_result ); + gridloc : mesh_location; + INVERSE + solution : SET OF property_distribution_description FOR physical_function; + END_ENTITY; + + ENTITY mbna_solution_with_rind + SUBTYPE OF ( mbna_solution ); + rind_planes : rind; + END_ENTITY; + + ENTITY mbna_state + SUBTYPE OF ( model_state_domain ); + END_ENTITY; + + ENTITY mbna_step + SUBTYPE OF ( model_action_domain ); + SELF\model_action_domain.final : mbna_state; + equations : SET OF mbna_equation_set; + refstate : SET OF mbna_reference_state; + zones : LIST OF mbna_zone; + INVERSE + history : SET OF mbna_history FOR domain; + END_ENTITY; + + ENTITY mbna_zone + SUBTYPE OF ( model_product_domain_with_mesh ); + conditions : SET OF mbna_zone_bc; + equations : SET OF mbna_equation_set; + grid_connectivity : OPTIONAL multiple_mesh_block; + rstate : SET OF mbna_reference_state; + INVERSE + coordinates : SET OF grid_coordinates FOR domain; + field_data : SET OF mbna_discrete_data FOR domain; + history : SET OF mbna_history FOR domain; + solution : SET OF mbna_solution FOR domain; + END_ENTITY; + + ENTITY mbna_zone_bc + SUBTYPE OF ( mbna_condition ); + conditions : SET OF mbna_bc; + rstate : SET OF mbna_reference_state; + END_ENTITY; + + ENTITY measure_qualification; + name : label; + description : text; + qualified_measure : measure_with_unit; + qualifiers : SET [1 : ?] OF value_qualifier; + WHERE + wr1: ( SIZEOF( QUERY ( temp <* qualifiers | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRECISION_QUALIFIER' IN + TYPEOF( temp ) ) ) ) < 2 ); + wr2: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF( SELF\measure_qualification + .qualified_measure ) ) ); + END_ENTITY; + + ENTITY measure_representation_item + SUBTYPE OF ( representation_item, measure_with_unit ); + END_ENTITY; + + ENTITY measure_with_unit + SUPERTYPE OF ( + ONEOF ( + length_measure_with_unit, + mass_measure_with_unit, + time_measure_with_unit, + electric_current_measure_with_unit, + thermodynamic_temperature_measure_with_unit, + celsius_temperature_measure_with_unit, + amount_of_substance_measure_with_unit, + luminous_intensity_measure_with_unit, + plane_angle_measure_with_unit, + solid_angle_measure_with_unit, + area_measure_with_unit, + volume_measure_with_unit, + ratio_measure_with_unit, + acceleration_measure_with_unit, + capacitance_measure_with_unit, + electric_charge_measure_with_unit, + conductance_measure_with_unit, + electric_potential_measure_with_unit, + energy_measure_with_unit, + magnetic_flux_density_measure_with_unit, + force_measure_with_unit, + frequency_measure_with_unit, + illuminance_measure_with_unit, + inductance_measure_with_unit, + luminous_flux_measure_with_unit, + magnetic_flux_measure_with_unit, + power_measure_with_unit, + pressure_measure_with_unit, + resistance_measure_with_unit, + velocity_measure_with_unit, + absorbed_dose_measure_with_unit, + radioactivity_measure_with_unit, + dose_equivalent_measure_with_unit ) ); + value_component : measure_value; + unit_component : unit; + WHERE + wr1: valid_units( SELF ); + END_ENTITY; + + ENTITY mechanical_context + SUBTYPE OF ( product_context ); + WHERE + wr1: ( SELF.discipline_type = 'mechanical' ); + END_ENTITY; + + ENTITY mechanical_design_and_draughting_relationship + SUBTYPE OF ( definitional_representation_relationship_with_same_context ); + SELF\representation_relationship.rep_1 : mechanical_design_and_draughting_relationship_select; + SELF\representation_relationship.rep_2 : mechanical_design_and_draughting_relationship_select; + WHERE + wr1: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_MODEL' ) IN TYPEOF( rep_2 ) ) ) OR ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_MODEL' ) IN TYPEOF( rep_1 ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN TYPEOF( rep_1 ) ) ); + wr2: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' ) IN TYPEOF( rep_2 ) ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' ) + IN TYPEOF( rep_1 ) ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN + TYPEOF( rep_1 ) ) ); + wr3: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' ) IN TYPEOF( rep_2 ) ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' ) + IN TYPEOF( rep_1 ) ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN + TYPEOF( rep_1 ) ) ); + END_ENTITY; + + ENTITY mechanical_design_geometric_presentation_area + SUBTYPE OF ( presentation_area ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_geometric_presentation_area_items; + WHERE + wr1: ( SIZEOF( QUERY ( it1 <* SELF.items | ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it1 ) ) ) OR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( it1\ + mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pv <* QUERY ( mi1 <* QUERY ( it1 <* SELF.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it1 ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( mi1\mapped_item.mapping_source. + mapped_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it2 <* pv\mapped_item.mapping_source.mapped_representation\ + representation.items | ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF( + it2 ) ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it2 ) ) AND ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN TYPEOF( it2 ) ) ) AND + ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( it2\mapped_item. + mapping_source.mapped_representation ) ) ) ) ) ) OR ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN TYPEOF( it2 ) ) AND ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' ) + IN TYPEOF( it2\mapped_item.mapping_source.mapped_representation ) ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( ( SIZEOF( QUERY ( ps <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.' + + 'UNIT' ) | ( ( ps\presentation_size.size.size_in_x <= 0 ) OR ( ps\presentation_size.size.size_in_y <= 0 ) ) ) ) + = 0 ) AND ( SIZEOF( QUERY ( ais <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'AREA_IN_SET.AREA' ) | ( SIZEOF( QUERY ( ps <* USEDIN( ais, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( ( ps\presentation_size.size.size_in_x <= 0 ) OR ( ps\presentation_size.size. + size_in_y <= 0 ) ) ) ) > 0 ) ) ) = 0 ) ); + wr4: ( ( ( SIZEOF( QUERY ( ps <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.' + + 'UNIT' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( ps. + size.placement ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( ps <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_3D' ) IN TYPEOF( ps.size.placement ) ) ) ) + = 0 ) ) OR ( ( SIZEOF( QUERY ( ais <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'AREA_IN_SET.AREA' ) | ( SIZEOF( QUERY ( ps <* USEDIN( ais, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) + IN TYPEOF( ps.size.placement ) ) ) ) = 1 ) ) ) = 1 ) AND ( SIZEOF( QUERY ( ais <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AREA_IN_SET.AREA' ) | ( SIZEOF( QUERY ( ps <* USEDIN( + ais, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_3D' ) IN TYPEOF( ps.size.placement ) ) ) ) + = 0 ) ) ) = 1 ) ) ); + END_ENTITY; + + ENTITY mechanical_design_geometric_presentation_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_geometric_presentation_representation_items; + WHERE + wr1 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' ] * TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( smi <* QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( si\styled_item.item ) ) ) | ( NOT ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN TYPEOF( smi\styled_item.item + \mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( pss <* psa. + styles | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_STYLE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' ] * TYPEOF( pss ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psbc <* QUERY ( psa <* si\styled_item.styles | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_STYLE_BY_CONTEXT' ) IN TYPEOF( psa ) ) ) + | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION' ] * TYPEOF( psbc\ + presentation_style_by_context.style_context ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ps <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_STYLE' IN TYPEOF( pss ) ) ) + | ( NOT ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( ps\ + point_style.marker_size ) ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( ps\ + point_style.marker_colour ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( cs <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( pss ) ) ) + | ( NOT ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( cs\ + curve_style.curve_colour ) ) = 1 ) AND ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( cs\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( cs\ + curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_SIDE_STYLE' ) IN TYPEOF( + ssu\surface_style_usage.style ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( NOT ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_FILL_AREA', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY'] * TYPEOF( sses ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( sspl <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE' ) IN TYPEOF( + sses ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( sscg <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID' ) IN TYPEOF( + sses ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( sssh <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE' ) IN TYPEOF( sses ) ) ) + | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr12: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( sssc <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE' ) IN + TYPEOF( sses ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( ssbd <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY' ) IN TYPEOF( sses ) ) ) + | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary ) ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COLOUR_RGB' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( ssbd\surface_style_boundary.style_of_boundary\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY mechanical_design_presentation_representation_with_draughting + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF camera_model_d3; + END_ENTITY; + + ENTITY mechanical_design_shaded_presentation_area + SUBTYPE OF ( presentation_area ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_shaded_presentation_area_items; + WHERE + wr1: ( SIZEOF( QUERY ( it1 <* SELF.items | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT' + IN TYPEOF( it1 ) ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it1 ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( it1\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pv <* QUERY ( mi1 <* QUERY ( it1 <* SELF.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it1 ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( mi1\mapped_item.mapping_source. + mapped_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it2 <* pv\mapped_item.mapping_source.mapped_representation\ + representation.items | ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF( + it2 ) ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it2 ) ) AND ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN TYPEOF( it2 ) ) ) AND + ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( it2\mapped_item. + mapping_source.mapped_representation ) ) ) ) ) ) OR ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN TYPEOF( it2 ) ) AND ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' ) + IN TYPEOF( it2\mapped_item.mapping_source.mapped_representation ) ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( ( SIZEOF( QUERY ( ps <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.' + + 'UNIT' ) | ( NOT ( ( ps\presentation_size.size.size_in_x > 0 ) AND ( ps\presentation_size.size.size_in_y > 0 ) ) ) ) ) + = 0 ) AND ( SIZEOF( QUERY ( pset <* QUERY ( ais <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AREA_IN_SET.AREA' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SET' ) IN TYPEOF( ais.in_set ) ) ) | ( + SIZEOF( QUERY ( ps <* USEDIN( pset, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) + | ( NOT ( ( ps\presentation_size.size.size_in_x > 0 ) AND ( ps\presentation_size.size.size_in_y > 0 ) ) ) ) ) = 0 ) ) ) + = 0 ) ); + wr4: ( ( SIZEOF( QUERY ( psize <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.' + + 'UNIT' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( psize. + size.placement ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pset <* QUERY ( ais <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AREA_IN_SET.AREA' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SET' ) IN TYPEOF( ais.in_set ) ) ) | ( + SIZEOF( QUERY ( psize <* USEDIN( pset, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.' + + 'UNIT' ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( + psize.size.placement ) ) ) ) ) = 0 ) ) ) = 0 ) ); + wr5: ( SIZEOF( QUERY ( pv <* QUERY ( mi1 <* QUERY ( it1 <* SELF.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it1 ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( mi1\mapped_item.mapping_source. + mapped_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( ci <* pv\mapped_item.mapping_source.mapped_representation\ + representation.items | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CAMERA_IMAGE_3D_WITH_SCALE' ) + IN TYPEOF( ci ) ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CAMERA_MODEL_D3', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CAMERA_MODEL_D3_WITH_HLHSR', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CAMERA_MODEL_WITH_LIGHT_SOURCES'] * TYPEOF( ci\ + mapped_item.mapping_source.mapping_origin ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mechanical_design_shaded_presentation_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_shaded_presentation_representation_items; + WHERE + wr1 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' ] * TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( smi <* QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( si\styled_item.item ) ) ) | ( NOT ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN TYPEOF( smi\styled_item.item + \mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( pss <* psa. + styles | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_STYLE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' ] * TYPEOF( pss ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psbc <* QUERY ( psa <* si\styled_item.styles | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_STYLE_BY_CONTEXT' ) IN TYPEOF( psa ) ) ) + | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION' ] * TYPEOF( psbc\ + presentation_style_by_context.style_context ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ps <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_STYLE' IN TYPEOF( pss ) ) ) + | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MARKER_TYPE' IN TYPEOF( ps\point_style.marker ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( ps\point_style. + marker_size ) ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( ps\ + point_style.marker_colour ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( cs <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( pss ) ) ) + | ( NOT ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( cs\ + curve_style.curve_colour ) ) = 1 ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POSITIVE_LENGTH_MEASURE' IN TYPEOF( cs\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( cs\ + curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_SIDE_STYLE' IN TYPEOF( ssu\ + surface_style_usage.style ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( NOT ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_FILL_AREA', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_RENDERING'] * TYPEOF( sses ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( ssfa <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_FILL_AREA' IN TYPEOF( sses ) ) ) | ( + NOT ( SIZEOF( QUERY ( fss <* ssfa\surface_style_fill_area.fill_area.fill_styles | ( NOT ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FILL_AREA_STYLE_COLOUR' ) IN TYPEOF( fss ) ) AND ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( fss\ + fill_area_style_colour.fill_colour ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( sspl <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE' ) IN TYPEOF( + sses ) ) ) | ( NOT ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style_rendering.rendering_properties.rendered_colour ) ) + = 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( sscg <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID' ) IN TYPEOF( + sses ) ) ) | ( NOT ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style_rendering.rendering_properties.rendered_colour ) ) = + 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( sssh <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE' ) IN TYPEOF( sses ) ) ) + | ( NOT ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style_rendering.rendering_properties.rendered_colour ) ) = 1 ) ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( sssc <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE' ) IN + TYPEOF( sses ) ) ) | ( NOT ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve\curve_style_rendering.rendering_properties. + rendered_colour ) ) = 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( ssbd <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY' ) IN TYPEOF( sses ) ) ) + | ( NOT ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary ) ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COLOUR_RGB' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( ssbd\surface_style_boundary.style_of_boundary\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary ) ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COLOUR_RGB' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( ssbd\surface_style_boundary.style_of_boundary\curve_style_rendering.rendering_properties.rendered_colour ) ) + = 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr15: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( + pss ) ) ) | ( NOT ( SIZEOF( QUERY ( ssre <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style. + styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SURFACE_STYLE_RENDERING' ) IN TYPEOF( sses ) ) ) + | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( ssre\ + surface_style_rendering.surface_colour ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mechanism_representation + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context; + SELF\representation.items : SET [1 : ?] OF pair_representation_relationship; + represented_topology : kinematic_topology_representation_select; + DERIVE + represented_joints : SET [1 : ?] OF kinematic_joint := collect_joints( items ); + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KINEMATIC_TOPOLOGY_STRUCTURE' IN TYPEOF( + represented_topology ) ) AND ( represented_joints :=: represented_topology.items ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE' IN TYPEOF( + represented_topology ) ) AND ( represented_joints :=: get_kinematic_joints_from_oriented_joints( + represented_topology.items ) ) ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE' IN TYPEOF( represented_topology ) ) AND ( represented_joints :=: + get_kinematic_joints_from_kinematic_loops( represented_topology.items ) ) ) ); + END_ENTITY; + + ENTITY mechanism_state_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF pair_value; + represented_mechanism : mechanism_representation; + DERIVE + SELF\representation.context_of_items : geometric_representation_context := represented_mechanism.context_of_items; + END_ENTITY; + + ENTITY mesh + ABSTRACT SUPERTYPE OF ( + ONEOF ( + structured_mesh, + unstructured_mesh ) + ANDOR + submesh ) + SUBTYPE OF ( topological_representation_item ); + description : text; + index_count : INTEGER; + END_ENTITY; + + ENTITY mesh_connectivity + ABSTRACT SUPERTYPE OF ( + ONEOF ( + matched_mesh_connection, + mismatched_mesh_connection ) ); + name : label; + description : text; + id : identifier; + current : mesh; + DERIVE + index_count : INTEGER := current.index_count; + END_ENTITY; + + ENTITY mesh_derived_maths_space + SUBTYPE OF ( maths_space ); + description : text; + name : label; + id : identifier; + the_mesh : mesh; + kind : mesh_maths_space_type; + END_ENTITY; + + ENTITY mesh_function + SUBTYPE OF ( application_defined_function, unary_generic_expression ); + mesh : mesh; + basis : LIST OF mesh_function_basis; + uniform : BOOLEAN; + vertex_values : BOOLEAN; + DERIVE + control_values : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_table( control_values ); + wr2: ( ( uniform AND ( SIZEOF( basis ) = 1 ) ) XOR ( NOT uniform ) ); + END_ENTITY; + + ENTITY mesh_function_basis + SUBTYPE OF ( application_defined_function, unary_generic_expression ); + cell_topological_dimension : INTEGER; + value_array_dimension : INTEGER; + value_array_order : ARRAY [1 : value_array_dimension] OF INTEGER; + DERIVE + value_positions : maths_function := SELF\unary_generic_expression.operand; + WHERE + value_positions_as_table: function_is_table( value_positions ); + END_ENTITY; + + ENTITY mesh_overset_hole + SUBTYPE OF ( mismatched_mesh_connection ); + END_ENTITY; + + ENTITY min_and_major_ply_orientation_basis + SUBTYPE OF ( representation_item_relationship, geometric_representation_item ); + SELF\representation_item_relationship.relating_representation_item : axis2_placement_3d; + SELF\representation_item_relationship.related_representation_item : axis2_placement_3d; + DERIVE + major_orientation_basis : axis2_placement_3d := SELF\representation_item_relationship.related_representation_item; + minor_orientation_basis : axis2_placement_3d := SELF\representation_item_relationship.relating_representation_item; + END_ENTITY; + + ENTITY minimum_function + SUBTYPE OF ( multiple_arity_function_call ); + END_ENTITY; + + ENTITY minus_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY minus_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY mismatched_donor_mesh + ABSTRACT SUPERTYPE OF ( + ONEOF ( + structured_donor_mesh, + unstructured_donor_mesh ) ); + donor : mesh; + INVERSE + connect : mismatched_mesh_region FOR donor; + END_ENTITY; + + ENTITY mismatched_mesh_connection + ABSTRACT SUPERTYPE OF ( + ONEOF ( + mismatched_mesh_region, + mesh_overset_hole ) ) + SUBTYPE OF ( mesh_connectivity ); + points : indices_group; + gridloc : mesh_location; + END_ENTITY; + + ENTITY mismatched_mesh_region + SUBTYPE OF ( mismatched_mesh_connection ); + donor : mismatched_donor_mesh; + kind : mismatched_region_type; + WHERE + wr1: ( donor.donor :<>: SELF\mesh_connectivity.current ); + END_ENTITY; + + ENTITY mod_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY model_action_domain + SUBTYPE OF ( numerical_model ); + initial : model_state_domain; + final : model_state_domain; + END_ENTITY; + + ENTITY model_product_domain + SUBTYPE OF ( numerical_model ); + temporal_parts : LIST [0 : ?] OF model_action_domain; + END_ENTITY; + + ENTITY model_product_domain_with_mesh + SUBTYPE OF ( model_product_domain ); + model_mesh : mesh; + END_ENTITY; + + ENTITY model_property_distribution; + creating_software : text; + domain : numerical_model; + range : general_property; + END_ENTITY; + + ENTITY model_state_domain + SUBTYPE OF ( numerical_model ); + END_ENTITY; + + ENTITY modified_geometric_tolerance + SUBTYPE OF ( geometric_tolerance ); + modifier : limit_condition; + END_ENTITY; + + ENTITY modified_pattern + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPLICATE_FEATURE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INSTANCED_FEATURE' ] * TYPEOF( fcr.related_shape_aspect. + of_shape.definition ) ) >= 1 ) AND ( fcr.description = 'base shape' ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( fcr.related_shape_aspect. + of_shape.definition ) ) = 1 ) AND ( fcr.description = 'base pattern' ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( SIZEOF( QUERY ( msar <* USEDIN( sar.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATTERN_OFFSET_MEMBERSHIP', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATTERN_OMIT_MEMBERSHIP' ] * TYPEOF( sar ) ) = 1 ) AND ( sar. + description = 'modified pattern' ) AND ( sar :<>: msar ) ) ) ) >= 1 ) ) ) = 0 ); + END_ENTITY; + + ENTITY modified_solid + ABSTRACT SUPERTYPE OF ( + ONEOF ( + edge_blended_solid, + sculptured_solid, + shelled_solid, + modified_solid_with_placed_configuration ) ) + SUBTYPE OF ( solid_model ); + rationale : text; + base_solid : base_solid_select; + END_ENTITY; + + ENTITY modified_solid_with_placed_configuration + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_depression, + solid_with_protrusion, + solid_with_shape_element_pattern ) ) + SUBTYPE OF ( modified_solid ); + placing : axis2_placement_3d; + END_ENTITY; + + ENTITY modify_element + SUBTYPE OF ( change_element ); + END_ENTITY; + + ENTITY moments_of_inertia_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( SIZEOF( SELF.items ) = 1 ) AND ( SIZEOF( QUERY ( i <* SELF.items | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND ( i + .name = 'moments of inertia matrix' ) ) ) ) = 1 ) ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COMPOUND_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LIST_REPRESENTATION_ITEM' ) IN TYPEOF( i\compound_representation_item.item_element ) ) AND + value_range_aggregate_rep_item( i\compound_representation_item.item_element ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY mult_expression + SUBTYPE OF ( multiple_arity_numeric_expression ); + END_ENTITY; + + ENTITY multi_language_attribute_assignment + SUBTYPE OF ( attribute_value_assignment ); + items : SET [1 : ?] OF multi_language_attribute_item; + DERIVE + translation_language : language := language_indication[1]\attribute_classification_assignment.assigned_class; + INVERSE + language_indication : SET [1 : 1] OF attribute_language_assignment FOR items; + WHERE + wr1: ( SELF\attribute_value_assignment.role.name = 'alternate language' ); + wr2: ( SIZEOF( QUERY ( ala <* language_indication | ( ( ala\attribute_classification_assignment.attribute_name = + 'attribute_value' ) AND ( ala\attribute_classification_assignment.role.name = 'translated' ) ) ) ) = 1 ); + wr3: ( SELF\attribute_value_assignment.attribute_name <> '' ); + wr4: ( SIZEOF( QUERY ( ci <* items | ( SIZEOF( QUERY ( ata <* USEDIN( ci, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS' ) | ( ( ata\ + attribute_value_assignment.attribute_name = SELF\attribute_value_assignment.attribute_name ) AND ( ata. + translation_language :=: translation_language ) ) ) ) > 1 ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( ci <* items | ( SIZEOF( QUERY ( ata <* USEDIN( ci, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ) | ( ( ata\ + attribute_classification_assignment.role.name = 'primary' ) AND ( ata\attribute_classification_assignment. + attribute_name = SELF\attribute_value_assignment.attribute_name ) AND ( ata\attribute_classification_assignment. + assigned_class :=: translation_language ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY multi_level_reference_designator + SUBTYPE OF ( assembly_component_usage ); + location : LIST [1 : ?] OF UNIQUE next_assembly_usage_occurrence; + DERIVE + SELF\product_definition_relationship.relating_product_definition : product_definition := location[1]\ + product_definition_relationship.relating_product_definition; + SELF\product_definition_relationship.related_product_definition : product_definition_or_reference := location[HIINDEX( + location )]\product_definition_relationship.related_product_definition; + leaf : product_definition_or_reference := SELF\product_definition_relationship. + related_product_definition; + root : product_definition := SELF\product_definition_relationship. + relating_product_definition; + WHERE + wr1: unambiguously_specified_multi_level_reference_designator( location ); + wr2: ( SIZEOF( QUERY ( cp <* location | ( NOT EXISTS( cp\assembly_component_usage.reference_designator ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY multiple_arity_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + and_expression, + or_expression ) ) + SUBTYPE OF ( boolean_expression, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF boolean_expression; + END_ENTITY; + + ENTITY multiple_arity_function_call + ABSTRACT SUPERTYPE OF ( + ONEOF ( + maximum_function, + minimum_function ) ) + SUBTYPE OF ( multiple_arity_numeric_expression ); + END_ENTITY; + + ENTITY multiple_arity_generic_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( generic_expression ); + operands : LIST [2 : ?] OF generic_expression; + END_ENTITY; + + ENTITY multiple_arity_numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + plus_expression, + mult_expression, + multiple_arity_function_call ) ) + SUBTYPE OF ( numeric_expression, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF numeric_expression; + END_ENTITY; + + ENTITY multiple_mesh_block; + name : label; + description : text; + id : identifier; + connectivities : LIST OF mesh_connectivity; + END_ENTITY; + + ENTITY multiply_defined_cartesian_points + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_curves + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_directions + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY multiply_defined_edges + SUBTYPE OF ( topology_related_to_multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_faces + SUBTYPE OF ( topology_related_to_multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + multiply_defined_curves, + multiply_defined_surfaces, + multiply_defined_cartesian_points, + multiply_defined_directions, + multiply_defined_placements ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY multiply_defined_placements + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PLANE_ANGLE_AND_LENGTH_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' ] ); + wr5: validate_locations_of_extreme_value_type( SELF, [] ); + wr6: validate_accuracy_types( SELF, [] ); + wr7: ( SIZEOF( QUERY ( sdqr <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( sdqr ) ) + AND ( SIZEOF( QUERY ( sdqiir <* bag_to_set( USEDIN( sdqr, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN + TYPEOF( sdqiir ) ) AND ( SIZEOF( QUERY ( sdqiri <* sdqiir.inspected_instances | ( TYPEOF( sdqiri.inspected_elements + [1] ) <> TYPEOF( sdqiri.inspected_elements[2] ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY multiply_defined_solids + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_surfaces + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_vertices + SUBTYPE OF ( topology_related_to_multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY name_assignment + ABSTRACT SUPERTYPE; + assigned_name : label; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) + <= 1 ); + END_ENTITY; + + ENTITY name_attribute; + attribute_value : label; + named_item : name_attribute_select; + END_ENTITY; + + ENTITY named_unit + SUPERTYPE OF ( + ONEOF ( + si_unit, + conversion_based_unit, + context_dependent_unit ) + ANDOR + ONEOF ( + length_unit, + mass_unit, + time_unit, + electric_current_unit, + thermodynamic_temperature_unit, + amount_of_substance_unit, + luminous_flux_unit, + luminous_intensity_unit, + plane_angle_unit, + solid_angle_unit, + ratio_unit ) ); + dimensions : dimensional_exponents; + END_ENTITY; + + ENTITY narrow_surface_patch + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_PATCH' ] ); + wr4: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY near_point_relationship + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : curve_or_surface_constraint_element; + SELF\representation_item_relationship.related_representation_item : point; + END_ENTITY; + + ENTITY nearly_degenerate_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + small_area_surface, + short_length_curve, + entirely_narrow_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY nearly_degenerate_surface_boundary + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_RANGE' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'BOUNDARY_CURVE_OF_B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY nearly_degenerate_surface_patch + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_RANGE' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_PATCH' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY neutral_sketch_representation + SUBTYPE OF ( shape_representation ); + neutral_sketch_semantics : curves_or_area; + SELF\representation.items : SET [1 : ?] OF sketch_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( q <* items | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( q ) ) AND ( q\geometric_representation_item.dim = 3 ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY next_assembly_usage_occurrence + SUBTYPE OF ( assembly_component_usage ); + UNIQUE + ur1 : SELF\assembly_component_usage.reference_designator, SELF\product_definition_relationship.relating_product_definition; + END_ENTITY; + + ENTITY ngon_closed_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( ( SIZEOF( impl_rep.used_representation.items ) >= 3 ) AND ( SIZEOF( impl_rep. + used_representation.items ) <= 4 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'number of sides' ) OR ( + srwp_i.name = 'circumscribed diameter' ) OR ( srwp_i.name = 'corner radius' ) OR ( srwp_i.name = + 'diameter across flats' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\measure_with_unit. + value_component ) ) AND ( it.name = 'number of sides' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name IN [ 'circumscribed diameter', 'diameter across flats'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'corner radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY no_symmetry_control + SUBTYPE OF ( symmetry_control ); + END_ENTITY; + + ENTITY nodal_dof_reduction + SUBTYPE OF ( constraint_element ); + required_node : node_output_reference; + coordinate_system : fea_axis2_placement_3d; + freedoms : SET [1 : ?] OF degree_of_freedom; + description : text; + END_ENTITY; + + ENTITY nodal_freedom_action_definition + SUBTYPE OF ( nodal_freedom_and_value_definition ); + action : action_type; + END_ENTITY; + + ENTITY nodal_freedom_and_value_definition + SUPERTYPE OF ( + ONEOF ( + nodal_freedom_values, + nodal_freedom_action_definition ) ) + SUBTYPE OF ( state_definition ); + node : node_output_reference; + coordinate_system : fea_axis2_placement_3d; + degrees_of_freedom : freedoms_list; + values : LIST [1 : ?] OF measure_or_unspecified_value; + WHERE + wr1: ( SIZEOF( degrees_of_freedom.freedoms ) = SIZEOF( values ) ); + END_ENTITY; + + ENTITY nodal_freedom_values + SUBTYPE OF ( nodal_freedom_and_value_definition ); + END_ENTITY; + + ENTITY node + SUPERTYPE OF ( + node_with_vector + ANDOR + node_with_solution_coordinate_system ) + SUBTYPE OF ( node_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN + TYPEOF( item ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY node_analysis_message + SUBTYPE OF ( analysis_message ); + node : node_output_reference; + END_ENTITY; + + ENTITY node_definition + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY node_geometric_relationship; + node_ref : node_or_node_group; + item : analysis_item_within_representation; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( item.item ) ); + END_ENTITY; + + ENTITY node_group + SUBTYPE OF ( fea_group ); + nodes : SET [1 : ?] OF node_representation; + END_ENTITY; + + ENTITY node_representation + SUPERTYPE OF ( + ONEOF ( + node, + dummy_node, + geometric_node ) ) + SUBTYPE OF ( representation ); + model_ref : fea_model; + UNIQUE + ur1 : model_ref, SELF\representation.name; + END_ENTITY; + + ENTITY node_sequence; + order_id : identifier; + control_ref : control; + purpose : text; + nodes : LIST [1 : ?] OF node_representation; + UNIQUE + ur1 : order_id, control_ref; + END_ENTITY; + + ENTITY node_set + SUBTYPE OF ( geometric_representation_item ); + nodes : SET [1 : ?] OF node_representation; + WHERE + wr1: ( SIZEOF( QUERY ( tmp <* nodes | ( tmp\representation.context_of_items :<>: nodes[1]\representation.context_of_items ) ) ) + = 0 ); + END_ENTITY; + + ENTITY node_topological_relationship; + item : analysis_item_within_representation; + node_ref : node_representation; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF( item.item ) ); + END_ENTITY; + + ENTITY node_with_solution_coordinate_system + SUBTYPE OF ( node ); + WHERE + wr1: ( ( ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_AXIS2_PLACEMENT_3D' ) IN TYPEOF( item ) ) ) ) = 1 ) AND ( SELF\representation.context_of_items\ + geometric_representation_context.coordinate_space_dimension = 3 ) ) OR ( ( SIZEOF( QUERY ( item <* SELF\ + representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AXIS2_PLACEMENT_2D' ) IN + TYPEOF( item ) ) ) ) = 1 ) AND ( SELF\representation.context_of_items\geometric_representation_context. + coordinate_space_dimension = 2 ) ) ); + END_ENTITY; + + ENTITY node_with_vector + SUBTYPE OF ( node ); + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION' + IN TYPEOF( item ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY non_agreed_accuracy_parameter_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT' ] ); + END_ENTITY; + + ENTITY non_agreed_scale_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CARTESIAN_TRANSFORMATION_OPERATOR_3D' ] ); + END_ENTITY; + + ENTITY non_agreed_unit_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GLOBAL_UNIT_ASSIGNED_CONTEXT' ] ); + END_ENTITY; + + ENTITY non_manifold_at_edge + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY non_manifold_at_vertex + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY non_manifold_surface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) + = 1 ) ) ) > 0 ); + wr3 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) + AND ( SIZEOF( QUERY ( mr_it <* mi\mapped_item.mapping_source.mapped_representation.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( mr_it ) ) ) ) > 0 ) ) ) ) ) + = 0 ); + wr4 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_FACE' ] * TYPEOF( fa ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr5 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( f_sf <* QUERY ( fa <* cfs.cfs_faces | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF( fa ) ) ) | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( f_sf ) ) OR nmsf_surface_check( + f_sf\face_surface.face_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( o_fa <* QUERY ( fa <* cfs.cfs_faces | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF( fa ) ) ) | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( o_fa\oriented_face.face_element ) ) + OR nmsf_surface_check( o_fa\oriented_face.face_element\face_surface.face_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr7 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( bnds <* fa.bounds | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' ] * TYPEOF( bnds.bound ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe_cv <* QUERY ( oe <* elp_fbnds\path.edge_list | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) | ( NOT ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE_REPLICA' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POLYLINE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE'] * TYPEOF( oe_cv.edge_element\ + edge_curve.edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT nmsf_curve_check( oe. + edge_element\edge_curve.edge_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_element.edge_start ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_element.edge_end ) ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element.edge_start\ + vertex_point.vertex_geometry ) ) = 1 ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CARTESIAN_POINT' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element.edge_end\ + vertex_point.vertex_geometry ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN + TYPEOF( vlp_fbnds\vertex_loop.loop_vertex ) ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( vlp_fbnds\vertex_loop. + loop_vertex\vertex_point.vertex_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY non_referenced_coordinate_system + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] ); + END_ENTITY; + + ENTITY non_smooth_geometry_transition_across_edge + ABSTRACT SUPERTYPE OF ( + ONEOF ( + g1_discontinuity_between_adjacent_faces, + g2_discontinuity_between_adjacent_faces ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY non_uniform_zone_definition + SUBTYPE OF ( tolerance_zone_definition ); + END_ENTITY; + + ENTITY not_expression + SUBTYPE OF ( unary_boolean_expression ); + SELF\unary_generic_expression.operand : boolean_expression; + END_ENTITY; + + ENTITY null_representation_item + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY numeric_defined_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + integer_defined_function, + real_defined_function ) ) + SUBTYPE OF ( numeric_expression, defined_function ); + END_ENTITY; + + ENTITY numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_numeric_expression, + unary_numeric_expression, + binary_numeric_expression, + multiple_arity_numeric_expression, + length_function, + value_function, + numeric_defined_function ) ) + SUBTYPE OF ( expression ); + DERIVE + is_int : BOOLEAN := is_int_expr( SELF ); + sql_mappable : BOOLEAN := is_sql_mappable( SELF ); + END_ENTITY; + + ENTITY numeric_variable + SUPERTYPE OF ( + ONEOF ( + int_numeric_variable, + real_numeric_variable ) ) + SUBTYPE OF ( simple_numeric_expression, variable ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF( SELF ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY numerical_model; + id : identifier; + name : label; + description : text; + creating_software : text; + intended_analysis_code : SET [1 : ?] OF text; + analysis_type : text; + WHERE + wr1: temporal_spatial_domain_for_model( SELF ); + END_ENTITY; + + ENTITY object_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY odd_function + SUBTYPE OF ( unary_boolean_expression ); + SELF\unary_generic_expression.operand : numeric_expression; + WHERE + wr1: is_int_expr( operand ); + END_ENTITY; + + ENTITY offset_curve_2d + SUBTYPE OF ( curve ); + basis_curve : curve; + distance : length_measure; + self_intersect : LOGICAL; + WHERE + wr1: ( basis_curve.dim = 2 ); + END_ENTITY; + + ENTITY offset_curve_3d + SUBTYPE OF ( curve ); + basis_curve : curve; + distance : length_measure; + self_intersect : LOGICAL; + ref_direction : direction; + WHERE + wr1: ( ( basis_curve.dim = 3 ) AND ( ref_direction.dim = 3 ) ); + END_ENTITY; + + ENTITY offset_surface + SUBTYPE OF ( surface ); + basis_surface : surface; + distance : length_measure; + self_intersect : LOGICAL; + END_ENTITY; + + ENTITY one_direction_repeat_factor + SUBTYPE OF ( geometric_representation_item ); + repeat_factor : vector; + END_ENTITY; + + ENTITY open_closed_shell + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY open_edge_loop + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY open_path_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PATH_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY open_shell + SUBTYPE OF ( connected_face_set ); + END_ENTITY; + + ENTITY or_expression + SUBTYPE OF ( multiple_arity_boolean_expression ); + END_ENTITY; + + ENTITY ordinal_date + SUBTYPE OF ( date ); + day_component : day_in_year_number; + WHERE + wr1: ( ( ( NOT leap_year( SELF.year_component ) ) AND ( 1 <= day_component ) AND ( day_component <= 365 ) ) OR ( + leap_year( SELF.year_component ) AND ( 1 <= day_component ) AND ( day_component <= 366 ) ) ); + END_ENTITY; + + ENTITY ordinate_dimension + SUBTYPE OF ( projection_directed_callout ); + END_ENTITY; + + ENTITY organization; + id : OPTIONAL identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY organization_assignment + ABSTRACT SUPERTYPE; + assigned_organization : organization; + role : organization_role; + END_ENTITY; + + ENTITY organization_relationship; + name : label; + description : OPTIONAL text; + relating_organization : organization; + related_organization : organization; + END_ENTITY; + + ENTITY organization_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY organizational_address + SUBTYPE OF ( address ); + organizations : SET [1 : ?] OF organization; + description : OPTIONAL text; + END_ENTITY; + + ENTITY organizational_project; + name : label; + description : OPTIONAL text; + responsible_organizations : SET [1 : ?] OF organization; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= + 1 ); + END_ENTITY; + + ENTITY organizational_project_assignment + ABSTRACT SUPERTYPE; + assigned_organizational_project : organizational_project; + role : organizational_project_role; + END_ENTITY; + + ENTITY organizational_project_relationship; + name : label; + description : OPTIONAL text; + relating_organizational_project : organizational_project; + related_organizational_project : organizational_project; + END_ENTITY; + + ENTITY organizational_project_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY oriented_closed_shell + SUBTYPE OF ( closed_shell ); + closed_shell_element : closed_shell; + orientation : BOOLEAN; + DERIVE + SELF\connected_face_set.cfs_faces : SET [1 : ?] OF face := conditional_reverse( SELF.orientation, SELF. + closed_shell_element.cfs_faces ); + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( SELF. + closed_shell_element ) ) ); + END_ENTITY; + + ENTITY oriented_edge + SUBTYPE OF ( edge ); + edge_element : edge; + orientation : BOOLEAN; + DERIVE + SELF\edge.edge_start : vertex := boolean_choose( SELF.orientation, SELF.edge_element.edge_start, SELF.edge_element. + edge_end ); + SELF\edge.edge_end : vertex := boolean_choose( SELF.orientation, SELF.edge_element.edge_end, SELF.edge_element. + edge_start ); + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE' IN TYPEOF( SELF.edge_element ) ) ); + END_ENTITY; + + ENTITY oriented_face + SUBTYPE OF ( face ); + face_element : face; + orientation : BOOLEAN; + DERIVE + SELF\face.bounds : SET [1 : ?] OF face_bound := conditional_reverse( SELF.orientation, SELF.face_element.bounds ); + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF( SELF.face_element ) ) ); + END_ENTITY; + + ENTITY oriented_joint + SUBTYPE OF ( oriented_edge ); + SELF\oriented_edge.edge_element : kinematic_joint; + END_ENTITY; + + ENTITY oriented_open_shell + SUBTYPE OF ( open_shell ); + open_shell_element : open_shell; + orientation : BOOLEAN; + DERIVE + SELF\connected_face_set.cfs_faces : SET [1 : ?] OF face := conditional_reverse( SELF.orientation, SELF.open_shell_element. + cfs_faces ); + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_OPEN_SHELL' IN TYPEOF( SELF.open_shell_element ) ) ); + END_ENTITY; + + ENTITY oriented_path + SUBTYPE OF ( path ); + path_element : path; + orientation : BOOLEAN; + DERIVE + SELF\path.edge_list : LIST [1 : ?] OF UNIQUE oriented_edge := conditional_reverse( SELF.orientation, SELF.path_element. + edge_list ); + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF( SELF.path_element ) ) ); + END_ENTITY; + + ENTITY oriented_surface + SUBTYPE OF ( surface ); + orientation : BOOLEAN; + END_ENTITY; + + ENTITY outer_boundary_curve + SUBTYPE OF ( boundary_curve ); + END_ENTITY; + + ENTITY outer_round + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( ( NOT ( SELF\characterized_object.description = 'outer diameter' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* + USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | + ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 3 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr2: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) AND ( 2 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 3 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr3: ( SELF\characterized_object.description IN [ 'outer diameter', 'outer diameter to shoulder'] ); + wr4: ( ( NOT ( SELF\characterized_object.description = 'outer diameter' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'v-shape boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'VEE_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'v-shape' ) ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr7: ( ( NOT ( SELF\characterized_object.description = 'outer diameter' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'reduced size occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'taper usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OUTER_ROUND' IN TYPEOF( sdr.related_shape_aspect.of_shape. + definition ) ) AND ( sdr.name = 'reduced size' ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr8: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'feature length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY output_request_state + SUBTYPE OF ( state ); + steps : SET [1 : ?] OF control_analysis_step; + END_ENTITY; + + ENTITY outside_profile + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr. + used_representation.items ) = 1 ) ) ) ) = 1 ) ) ) = 1 ); + wr2 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description IN [ + 'boundary occurrence' , 'non-planar boundary occurrence', 'partial circular boundary occurrence', + 'closed circular boundary occurrence' , 'open rectangular boundary occurrence', + 'closed rectangular boundary occurrence' ] ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) + = 1 ) AND ( sdr.relating_shape_aspect.description = 'outside boundary' ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description IN [ + 'complex boundary occurrence' , 'partial circular boundary occurrence', 'closed circular boundary occurrence', + 'open rectangular boundary occurrence' , 'closed rectangular boundary occurrence'] ) ) ) = 1 ) ) ) ) = 0 ) ) OR + ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( NOT ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile floor usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROFILE_FLOOR' IN TYPEOF( sdr.relating_shape_aspect ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OUTSIDE_PROFILE' IN TYPEOF( sdr.related_shape_aspect. + of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description IN [ + 'outside boundary' , 'complex boundary occurrence', 'partial circular boundary occurrence', + 'closed circular boundary occurrence' , 'open rectangular boundary occurrence', + 'closed rectangular boundary occurrence' ] ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'path feature component usage' ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT'] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) AND ( sdr.name = 'profile swept shape' ) AND ( sdr.relating_shape_aspect. + description = 'linear' ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'complex boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) + = 1 ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'partial circular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'closed circular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'open rectangular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) + = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'closed rectangular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr11: ( ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description IN [ + 'boundary occurrence' , 'complex boundary occurrence', 'partial circular boundary occurrence', + 'closed circular boundary occurrence' , 'open rectangular boundary occurrence', + 'closed rectangular boundary occurrence' ] ) ) ) = 1 ) ) ) ) = 0 ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'removal direction' ) ) ) ) = 1 ) ) ) ) = + 0 ) ); + wr12: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY over_riding_styled_item + SUBTYPE OF ( styled_item ); + over_ridden_style : styled_item; + END_ENTITY; + + ENTITY over_used_vertex + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY overcomplex_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + excessively_high_degree_curve, + excessively_high_degree_surface, + surface_with_excessive_patches_in_one_direction, + curve_with_excessive_segments, + high_degree_linear_curve, + high_degree_planar_surface, + high_degree_conic, + high_degree_axi_symmetric_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY overcomplex_topology_and_geometry_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + unused_patches, + edge_with_excessive_segments, + face_surface_with_excessive_patches_in_one_direction ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY overlapping_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + partly_overlapping_curves, + partly_overlapping_surfaces ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY package_product_concept_feature + SUBTYPE OF ( product_concept_feature ); + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE' ) IN TYPEOF( SELF ) ) ); + wr2: ( SIZEOF( QUERY ( cfr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP.' + 'RELATING_PRODUCT_CONCEPT_FEATURE' ) | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' ) IN + TYPEOF( cfr ) ) AND ( SIZEOF( QUERY ( ipcf <* USEDIN( cfr, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONDITIONAL_CONCEPT_FEATURE.' + 'CONDITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' ) IN TYPEOF( ipcf ) ) ) ) = 1 ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY pair_representation_relationship + SUBTYPE OF ( geometric_representation_item, representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : kinematic_link_representation; + SELF\representation_relationship.rep_2 : kinematic_link_representation; + SELF\representation_relationship_with_transformation.transformation_operator : kinematic_pair; + WHERE + wr1: ( transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items ); + wr2: ( transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items ); + wr3: ( rep_1\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_start ); + wr4: ( rep_2\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_end ); + END_ENTITY; + + ENTITY pair_value + ABSTRACT SUPERTYPE OF ( + ONEOF ( + sliding_surface_pair_value, + rolling_surface_pair_value, + revolute_pair_value, + prismatic_pair_value, + screw_pair_value, + cylindrical_pair_value, + spherical_pair_value, + sliding_curve_pair_value, + rolling_curve_pair_value, + gear_pair_value, + rack_and_pinion_pair_value, + universal_pair_value, + planar_pair_value, + unconstrained_pair_value, + point_on_surface_pair_value, + point_on_planar_curve_pair_value, + low_order_kinematic_pair_value ) ) + SUBTYPE OF ( geometric_representation_item ); + applies_to_pair : kinematic_pair; + END_ENTITY; + + ENTITY parabola + SUBTYPE OF ( conic ); + focal_dist : length_measure; + WHERE + wr1: ( focal_dist <> 0 ); + END_ENTITY; + + ENTITY parallel_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, parallel_geometric_constraint ); + END_ENTITY; + + ENTITY parallel_assembly_constraint_with_dimension + SUBTYPE OF ( parallel_assembly_constraint, pgc_with_dimension ); + END_ENTITY; + + ENTITY parallel_composed_function + SUBTYPE OF ( maths_function, multiple_arity_generic_expression ); + source_of_domain : maths_space_or_function; + prep_functions : LIST [1 : ?] OF maths_function; + final_function : maths_function_select; + DERIVE + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF generic_expression := convert_to_operands_prcmfn( + source_of_domain, prep_functions, final_function ); + WHERE + wr1: no_cyclic_domain_reference( source_of_domain, [SELF] ); + wr2: expression_is_constant( domain_from( source_of_domain ) ); + wr3: parallel_composed_function_domain_check( domain_from( source_of_domain ), prep_functions ); + wr4: parallel_composed_function_composability_check( prep_functions, final_function ); + END_ENTITY; + + ENTITY parallel_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF linear_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF linear_geometry_constraint_element; + END_ENTITY; + + ENTITY parallel_offset + SUBTYPE OF ( derived_shape_aspect ); + offset : measure_with_unit; + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY parallel_offset_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF curve_or_surface_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF curve_or_surface_constraint_element; + offset_type : parallel_offset_type; + WHERE + wr1: ( NOT ( ( ( offset_type = curve_2d_offset ) OR ( offset_type = curve_3d_offset ) ) AND ( SIZEOF( QUERY ( q <* ( SELF\ + explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF( q ) ) ) ) > 0 ) ) ); + wr2: ( NOT ( ( offset_type = surface_offset ) AND ( SIZEOF( QUERY ( q <* ( SELF\explicit_constraint.constrained_elements + + SELF\explicit_constraint.reference_elements ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN + TYPEOF( q ) ) ) ) > 0 ) ) ); + END_ENTITY; + + ENTITY parallelism_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY parametric_curve_3d_element_coordinate_direction + SUBTYPE OF ( fea_representation_item ); + orientation : direction; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY parametric_curve_3d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + direction : parametric_curve_3d_element_coordinate_direction; + END_ENTITY; + + ENTITY parametric_representation_context + SUBTYPE OF ( representation_context ); + END_ENTITY; + + ENTITY parametric_surface_2d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + END_ENTITY; + + ENTITY parametric_surface_3d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + axis : INTEGER; + angle : plane_angle_measure; + WHERE + wr1: ( ( axis >= 1 ) AND ( axis <= 2 ) ); + END_ENTITY; + + ENTITY parametric_volume_2d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + axis : INTEGER; + angle : plane_angle_measure; + WHERE + wr1: ( ( axis >= 1 ) AND ( axis <= 2 ) ); + END_ENTITY; + + ENTITY parametric_volume_3d_element_coordinate_system + SUBTYPE OF ( fea_representation_item ); + axis_1 : INTEGER; + axis_2 : INTEGER; + eu_angles : euler_angles; + WHERE + wr1: ( ( axis_1 >= 1 ) AND ( axis_1 <= 3 ) AND ( axis_2 >= 1 ) AND ( axis_2 <= 3 ) AND ( NOT ( axis_1 = axis_2 ) ) ); + END_ENTITY; + + ENTITY part_laminate_table + SUPERTYPE OF ( + ONEOF ( + composite_assembly_table, + ply_laminate_table ) ) + SUBTYPE OF ( laminate_table ); + END_ENTITY; + + ENTITY partial_circular_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 3 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( + it.name = 'sweep angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY partial_derivative_expression + SUBTYPE OF ( unary_generic_expression ); + d_variables : LIST [1 : ?] OF maths_variable; + extension : extension_options; + DERIVE + derivand : generic_expression := SELF\unary_generic_expression.operand; + WHERE + wr1: has_values_space( derivand ); + wr2: space_is_continuum( values_space_of( derivand ) ); + wr3: ( SIZEOF( QUERY ( vbl <* d_variables | ( ( NOT subspace_of( values_space_of( vbl ), the_reals ) ) AND ( NOT + subspace_of( values_space_of( vbl ), the_complex_numbers ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY partial_derivative_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + d_variables : LIST [1 : ?] OF input_selector; + extension : extension_options; + DERIVE + derivand : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: space_is_continuum( derivand.range ); + wr2: partial_derivative_check( derivand.domain, d_variables ); + END_ENTITY; + + ENTITY partial_document_with_structured_text_representation_assignment + SUBTYPE OF ( applied_document_usage_constraint_assignment, characterized_object ); + END_ENTITY; + + ENTITY partly_overlapping_curves + SUBTYPE OF ( overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_edges + SUBTYPE OF ( topology_related_to_overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBEDGE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBEDGE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_faces + SUBTYPE OF ( topology_related_to_overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_solids + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_surfaces + SUBTYPE OF ( overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE_BOUNDED_SURFACE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY path + SUPERTYPE OF ( + ONEOF ( + edge_loop, + oriented_path ) ) + SUBTYPE OF ( topological_representation_item ); + edge_list : LIST [1 : ?] OF UNIQUE oriented_edge; + WHERE + wr1: path_head_to_tail( SELF ); + END_ENTITY; + + ENTITY path_area_with_parameters + SUBTYPE OF ( complex_area, mapped_item ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF( SELF\mapped_item.mapping_target ) ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_PARAMETERS_REPRESENTATION' IN TYPEOF( SELF\ + mapped_item.mapping_source\representation_map.mapped_representation ) ); + wr3: ( SELF\mapped_item.mapping_source\representation_map.mapping_origin\representation_item.name = 'curve width' ); + END_ENTITY; + + ENTITY path_feature_component + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2 : ( SELF.description IN [ 'partial circular', 'complete circular', 'linear', 'complex'] ); + wr3 : ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( ( NOT ( SELF.description = 'partial circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description = 'partial circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF.description = 'partial circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'sweep angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'complete circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF.description = 'complete circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF.description = 'linear' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF.description = 'linear' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'distance' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF.description = 'linear' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'sweep path' ) AND ( SIZEOF( + QUERY ( srwp_i <* pdr.used_representation.items | ( srwp_i.name = 'profile shape' ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = + 0 ) ); + END_ENTITY; + + ENTITY path_node + ABSTRACT SUPERTYPE OF ( + ONEOF ( + point_to_point_path, + circular_path, + linear_path, + curve_based_path ) ) + SUBTYPE OF ( kinematic_path_segment ); + placement_end : placement; + END_ENTITY; + + ENTITY path_parameter_representation + SUBTYPE OF ( definitional_representation ); + SELF\representation.context_of_items : path_parameter_representation_context; + SELF\representation.items : SET [1 : ?] OF bounded_curve; + WHERE + wr1: ( SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + END_ENTITY; + + ENTITY path_parameter_representation_context + SUBTYPE OF ( geometric_representation_context, parametric_representation_context ); + END_ENTITY; + + ENTITY path_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) >= 1 ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH' ] * TYPEOF( i ) ) = 1 ) ) ) >= 1 ); + END_ENTITY; + + ENTITY pattern_offset_membership + SUBTYPE OF ( feature_component_relationship ); + WHERE + wr1 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.relating_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( SIZEOF( QUERY ( pdr <* QUERY ( pd <* USEDIN( fcr.related_shape_aspect.of_shape, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( pdr.definition ) ) = 1 ) ) ) + = 0 ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( ( fcr.description = 'modified pattern' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MODIFIED_PATTERN' IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) + >= 1 ); + wr3 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MODIFIED_PATTERN' IN TYPEOF( fcr. + relating_shape_aspect ) ) AND ( NOT ( SIZEOF( QUERY ( modfcr <* QUERY ( modsar <* USEDIN( fcr. + relating_shape_aspect, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( modsar.related_shape_aspect. + of_shape.definition ) ) = 1 ) AND ( modsar :<>: fcr ) ) ) | ( NOT ( modfcr.related_shape_aspect.of_shape. + definition :=: SELF.relating_shape_aspect.of_shape.definition ) ) ) ) = 0 ) ) ) ) ) = 0 ); + wr4 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( USEDIN( + pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 2 ) ) ) ) + = 0 ) ); + wr5 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect + .of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( USEDIN( + pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 1 ) ) ) ) + = 0 ) ); + wr6 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect + .of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect + .of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'index number' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect + .of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE_WITH_UNIT' IN TYPEOF( it ) ) AND ( it.name = 'offset' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'row index' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'column index' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it ) ) AND ( it.name = 'offset distance' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr13: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'offset direction' ) ) ) ) = 1 ) ) ) ) = + 0 ) ); + END_ENTITY; + + ENTITY pattern_omit_membership + SUBTYPE OF ( feature_component_relationship ); + WHERE + wr1: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.relating_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( SIZEOF( QUERY ( pdr <* QUERY ( pd <* USEDIN( fcr.related_shape_aspect.of_shape, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( pdr.definition ) ) = 1 ) ) ) + = 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( ( fcr.description = 'modified pattern' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MODIFIED_PATTERN' IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) + >= 1 ); + wr3: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MODIFIED_PATTERN' IN TYPEOF( fcr. + relating_shape_aspect ) ) AND ( NOT ( SIZEOF( QUERY ( modfcr <* QUERY ( modsar <* USEDIN( fcr.relating_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( modsar.related_shape_aspect. + of_shape.definition ) ) = 1 ) AND ( modsar :<>: fcr ) ) ) | ( NOT ( modfcr.related_shape_aspect.of_shape.definition + :=: SELF.relating_shape_aspect.of_shape.definition ) ) ) ) = 0 ) ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 1 ) ) ) ) + = 0 ); + wr5: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect. + of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect. + of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'index number' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr7: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'row index' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr9: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'column index' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY pcurve + SUBTYPE OF ( curve ); + basis_surface : surface; + reference_to_curve : definitional_representation; + WHERE + wr1: ( SIZEOF( reference_to_curve\representation.items ) = 1 ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF( reference_to_curve\representation.items[1] ) ); + wr3: ( reference_to_curve\representation.items[1]\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY pdgc_with_dimension + SUBTYPE OF ( point_distance_geometric_constraint ); + distance_value : non_negative_length_measure; + END_ENTITY; + + ENTITY percentage_laminate_table + SUBTYPE OF ( zone_structural_makeup ); + END_ENTITY; + + ENTITY perpendicular_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, perpendicular_geometric_constraint ); + END_ENTITY; + + ENTITY perpendicular_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF linear_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 2] OF linear_geometry_constraint_element; + WHERE + wr1: ( NOT ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 2 ) AND ( NOT ( ( SIZEOF( QUERY ( q <* ( SELF\ + explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE' IN TYPEOF( q ) ) ) ) = SIZEOF( SELF\explicit_constraint + .reference_elements + SELF\explicit_constraint.constrained_elements ) ) XOR ( SIZEOF( QUERY ( q <* ( SELF\ + explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( q ) ) ) ) = SIZEOF( SELF\ + explicit_constraint.reference_elements + SELF\explicit_constraint.constrained_elements ) ) ) ) ) ); + wr2: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) IN [2, 3] ) ); + wr3: ( ( NOT ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ) AND ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 3 ) ) ) AND ( NOT ( ( SIZEOF( QUERY ( q <* SELF\explicit_constraint.constrained_elements + | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE' IN TYPEOF( q ) ) ) ) = 3 ) XOR ( SIZEOF( + QUERY ( q <* SELF\explicit_constraint.constrained_elements | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANE' IN TYPEOF( q ) ) ) ) = 3 ) ) ) ); + END_ENTITY; + + ENTITY perpendicular_to + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY perpendicularity_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY person; + id : identifier; + last_name : OPTIONAL label; + first_name : OPTIONAL label; + middle_names : OPTIONAL LIST [1 : ?] OF label; + prefix_titles : OPTIONAL LIST [1 : ?] OF label; + suffix_titles : OPTIONAL LIST [1 : ?] OF label; + WHERE + wr1: ( EXISTS( last_name ) OR EXISTS( first_name ) ); + END_ENTITY; + + ENTITY person_and_organization; + the_person : person; + the_organization : organization; + DERIVE + name : label := get_name_value( SELF ); + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY person_and_organization_address + SUBTYPE OF ( organizational_address, personal_address ); + SELF\organizational_address.organizations : SET [1 : 1] OF organization; + SELF\personal_address.people : SET [1 : 1] OF person; + WHERE + wr1: ( SIZEOF( QUERY ( pao <* USEDIN( SELF\personal_address.people[1], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PERSON_AND_ORGANIZATION.THE_PERSON' ) | ( pao.the_organization :=: SELF\organizational_address.organizations[1] ) ) ) + = 1 ); + END_ENTITY; + + ENTITY person_and_organization_assignment + ABSTRACT SUPERTYPE; + assigned_person_and_organization : person_and_organization; + role : person_and_organization_role; + END_ENTITY; + + ENTITY person_and_organization_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY personal_address + SUBTYPE OF ( address ); + people : SET [1 : ?] OF person; + description : OPTIONAL text; + END_ENTITY; + + ENTITY pgc_with_dimension + SUBTYPE OF ( parallel_geometric_constraint ); + distance_value : non_negative_length_measure; + negative_direction : BOOLEAN; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 1 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( SIZEOF( QUERY ( q <* ( SELF\explicit_constraint.reference_elements + SELF\explicit_constraint.constrained_elements ) + | ( SIZEOF( TYPEOF( q ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' ] ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY physical_action_domain + SUBTYPE OF ( temporal_spatial_domain ); + initial : physical_state_domain; + final : physical_state_domain; + END_ENTITY; + + ENTITY physical_breakdown_context + SUBTYPE OF ( breakdown_context ); + END_ENTITY; + + ENTITY physical_component + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY physical_component_feature + SUBTYPE OF ( component_feature ); + END_ENTITY; + + ENTITY physical_component_terminal + SUBTYPE OF ( component_terminal, physical_component_feature ); + END_ENTITY; + + ENTITY physical_element_usage + SUBTYPE OF ( breakdown_element_usage ); + END_ENTITY; + + ENTITY physical_product_domain + SUBTYPE OF ( temporal_spatial_domain ); + temporal_parts : SET [0 : ?] OF physical_action_domain; + END_ENTITY; + + ENTITY physical_state_domain + SUBTYPE OF ( temporal_spatial_domain ); + END_ENTITY; + + ENTITY picture_representation + SUBTYPE OF ( presentation_view ); + SELF\representation.items : SET [2 : ?] OF picture_representation_item_select; + INVERSE + size : presentation_size FOR unit; + WHERE + wr1: ( SIZEOF( QUERY ( item <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( item ) ) ) ) + = 1 ); + wr2: ( SIZEOF( QUERY ( se <* QUERY ( item <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( item ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PICTURE_REPRESENTATION_ITEM' IN + TYPEOF( se\styled_item.item ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY picture_representation_item + ABSTRACT SUPERTYPE OF ( + ONEOF ( + externally_defined_picture_representation_item, + predefined_picture_representation_item ) ) + SUBTYPE OF ( bytes_representation_item ); + END_ENTITY; + + ENTITY placed_datum_target_feature + SUBTYPE OF ( datum_target ); + DERIVE + representation_associations : SET [0 : ?] OF property_definition_representation := + get_shape_aspect_property_definition_representations( SELF ); + WHERE + wr1: ( SELF.description IN [ 'point', 'line', 'rectangle', 'circle', 'circular curve'] ); + wr2: ( SIZEOF( QUERY ( pdr <* representation_associations | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ); + wr3: valid_datum_target_parameters( SELF ); + END_ENTITY; + + ENTITY placed_feature + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY placement + SUPERTYPE OF ( + ONEOF ( + axis1_placement, + axis2_placement_2d, + axis2_placement_3d ) ) + SUBTYPE OF ( geometric_representation_item ); + location : cartesian_point; + END_ENTITY; + + ENTITY planar_box + SUBTYPE OF ( planar_extent ); + placement : axis2_placement; + END_ENTITY; + + ENTITY planar_curve_pair + SUPERTYPE OF ( + ONEOF ( + sliding_curve_pair, + rolling_curve_pair ) + ANDOR + planar_curve_pair_range ) + SUBTYPE OF ( high_order_kinematic_pair ); + curve_1 : curve; + curve_2 : curve; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( curve_1 IN r.items ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( curve_2 IN r.items ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY planar_curve_pair_range + SUBTYPE OF ( planar_curve_pair ); + range_on_curve_1 : trimmed_curve; + range_on_curve_2 : trimmed_curve; + WHERE + wr1: ( SELF\planar_curve_pair.curve_1 :=: range_on_curve_1.basis_curve ); + wr2: ( SELF\planar_curve_pair.curve_2 :=: range_on_curve_2.basis_curve ); + wr3: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_curve_1 IN r.items ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( range_on_curve_2 IN r.items ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY planar_extent + SUBTYPE OF ( geometric_representation_item ); + size_in_x : length_measure; + size_in_y : length_measure; + END_ENTITY; + + ENTITY planar_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY planar_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : planar_pair; + actual_rotation : plane_angle_measure; + actual_translation_x : length_measure; + actual_translation_y : length_measure; + END_ENTITY; + + ENTITY planar_pair_with_range + SUBTYPE OF ( planar_pair ); + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + lower_limit_actual_translation_x : OPTIONAL length_measure; + upper_limit_actual_translation_x : OPTIONAL length_measure; + lower_limit_actual_translation_y : OPTIONAL length_measure; + upper_limit_actual_translation_y : OPTIONAL length_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_actual_translation_x ) ) OR ( NOT EXISTS( upper_limit_actual_translation_x ) ) ) XOR ( + lower_limit_actual_translation_x < upper_limit_actual_translation_x ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_actual_translation_y ) ) OR ( NOT EXISTS( upper_limit_actual_translation_y ) ) ) XOR ( + lower_limit_actual_translation_y < upper_limit_actual_translation_y ) ); + END_ENTITY; + + ENTITY planar_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( it ) ) ) ) + = 1 ); + END_ENTITY; + + ENTITY plane + SUBTYPE OF ( elementary_surface ); + END_ENTITY; + + ENTITY plane_2d_element_property + SUPERTYPE OF ( + simple_plane_2d_element_property ); + depth : context_dependent_measure; + END_ENTITY; + + ENTITY plane_angle_and_length_pair + SUBTYPE OF ( founded_item ); + plane_angle_value : plane_angle_measure; + length_value : length_measure; + END_ENTITY; + + ENTITY plane_angle_and_ratio_pair + SUBTYPE OF ( founded_item ); + plane_angle_value : plane_angle_measure; + ratio_value : ratio_measure; + END_ENTITY; + + ENTITY plane_angle_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY plane_angle_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY plane_curve_2d_element_descriptor + SUBTYPE OF ( element_descriptor ); + purpose : SET [1 : ?] OF SET [1 : ?] OF curve_element_purpose; + assumption : plane_2d_element_purpose; + END_ENTITY; + + ENTITY plane_curve_2d_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model_2d; + element_descriptor : plane_curve_2d_element_descriptor; + property : curve_2d_element_property; + depth_property : plane_2d_element_property; + material : element_material; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + wr1: ( model_ref.type_of_2d_analysis = planar ); + wr2: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE_2D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( item1 <* material.properties | ( SIZEOF( QUERY ( item2 <* item1\property_definition_representation. + used_representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_LINEAR_ELASTICITY' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MASS_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AREA_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MOISTURE_ABSORPTION'] * TYPEOF( item2 ) ) = 1 ) ) ) + = 1 ) ) ) >= 1 ); + wr4: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\ + representation.context_of_items ) ); + fu1: required_0d_nodes( SELF\element_representation.node_list ); + END_ENTITY; + + ENTITY plane_surface_2d_element_descriptor + SUBTYPE OF ( element_descriptor ); + purpose : SET [1 : ?] OF SET [1 : ?] OF surface_element_purpose; + assumption : plane_2d_element_purpose; + END_ENTITY; + + ENTITY plane_surface_2d_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model_2d; + element_descriptor : plane_surface_2d_element_descriptor; + property : surface_element_property; + depth_property : plane_2d_element_property; + material : element_material; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + wr1: ( model_ref.type_of_2d_analysis = planar ); + wr2: ( ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PARAMETRIC_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) + SIZEOF( QUERY ( item <* SELF\ + representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ALIGNED_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( item1 <* material.properties | ( SIZEOF( QUERY ( item2 <* item1\property_definition_representation. + used_representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_LINEAR_ELASTICITY' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MASS_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AREA_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MOISTURE_ABSORPTION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_MEMBRANE_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_BENDING_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_MEMBRANE_BENDING_COUPLING_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_SHEAR_STIFFNESS'] * TYPEOF( item2 ) ) = 1 ) ) ) + = 1 ) ) ) >= 1 ); + wr4: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\ + representation.context_of_items ) ); + fu1: required_1d_nodes( SELF\element_representation.node_list, element_descriptor\element_descriptor.topology_order ); + END_ENTITY; + + ENTITY plane_volume_2d_element_descriptor + SUBTYPE OF ( element_descriptor ); + purpose : SET [1 : ?] OF SET [1 : ?] OF volume_element_purpose; + shape : element_2d_shape; + assumption : plane_2d_element_purpose; + END_ENTITY; + + ENTITY plane_volume_2d_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model_2d; + element_descriptor : plane_volume_2d_element_descriptor; + depth_property : plane_2d_element_property; + material : element_material; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + wr1: ( model_ref.type_of_2d_analysis = planar ); + wr2: ( ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PARAMETRIC_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) + SIZEOF( QUERY ( item <* SELF\ + representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ARBITRARY_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( item1 <* material.properties | ( SIZEOF( QUERY ( item2 <* item1\property_definition_representation. + used_representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_LINEAR_ELASTICITY' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MASS_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AREA_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MOISTURE_ABSORPTION'] * TYPEOF( item2 ) ) = 1 ) ) ) + = 1 ) ) ) >= 1 ); + wr4: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\ + representation.context_of_items ) ); + fu1: required_2d_nodes( SELF\element_representation.node_list, element_descriptor.shape, element_descriptor\ + element_descriptor.topology_order ); + END_ENTITY; + + ENTITY plus_expression + SUBTYPE OF ( multiple_arity_numeric_expression ); + END_ENTITY; + + ENTITY plus_minus_tolerance; + range : tolerance_method_definition; + toleranced_dimension : dimensional_characteristic; + UNIQUE + ur1 : toleranced_dimension; + END_ENTITY; + + ENTITY ply_laminate_sequence_definition + SUBTYPE OF ( product_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATING_PRODUCT_DEFINITION' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' ) IN TYPEOF( pdr ) ) ) ) + > 0 ); + END_ENTITY; + + ENTITY ply_laminate_table + SUBTYPE OF ( part_laminate_table ); + END_ENTITY; + + ENTITY pocket + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF\characterized_object.description IN [ 'closed rectangular', 'open rectangular', 'complex', 'circular cutout', + 'complex cutout' , 'recess'] ); + wr2 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'pocket depth occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( sar.name = 'pocket depth' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) + AND ( sdr.relating_shape_aspect.description = 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 1 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 2 ) ) ) ) = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'fillet radius' ) ) ) ) = + SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( ( NOT ( SELF\characterized_object.description IN [ 'complex', 'non-circular cutout', 'recess'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) + = 1 ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF\characterized_object.description = 'closed rectangular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'closed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'RECTANGULAR_CLOSED_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description = 'open rectangular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'open boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SQUARE_U_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr10: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'pocket bottom usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET_BOTTOM' IN TYPEOF( sdr.relating_shape_aspect ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' IN TYPEOF( sdr.related_shape_aspect.of_shape. + definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr11: ( ( NOT ( SELF\characterized_object.description IN [ 'complex', 'non-circular cutout', 'recess'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'change in boundary occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar + .description = 'taper usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' IN TYPEOF( fcr.related_shape_aspect.of_shape. + definition ) ) AND ( fcr.related_shape_aspect.description IN [ 'angle taper', 'directed taper'] ) ) ) ) = 1 ) ) ) ) + <= 1 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF\characterized_object.description = 'circular cutout' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'enclosed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF\characterized_object.description IN [ 'circular cutout', 'complex cutout'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'pocket bottom usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET_BOTTOM' IN TYPEOF( sdr.relating_shape_aspect ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' IN TYPEOF( sdr.related_shape_aspect.of_shape. + definition ) ) AND ( sdr.relating_shape_aspect.description = 'through' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr14: ( ( NOT ( SELF\characterized_object.description = 'recess' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'pocket bottom usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET_BOTTOM' IN TYPEOF( sdr.relating_shape_aspect ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' IN TYPEOF( sdr.related_shape_aspect.of_shape. + definition ) ) AND ( sdr.relating_shape_aspect.description IN [ 'planar', 'complex'] ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) + = 0 ) ); + wr15: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + wr16: ( ( NOT ( SELF\characterized_object.description IN [ 'closed rectangular', 'open rectangular', 'complex', 'recess'] ) ) + OR ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( + pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT.OF_SHAPE' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN + TYPEOF( csa ) ) AND ( csa.name = 'uncut volume' ) AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROTRUSION' ] * TYPEOF( sar.related_shape_aspect ) ) = 1 ) ) ) ) + = 1 ) ) ) ) <= 1 ) ) ) ) = 1 ) ); + wr17: ( ( NOT ( SELF\characterized_object.description IN [ 'closed rectangular', 'open rectangular'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'change in boundary occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar + .description = 'taper usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' IN TYPEOF( fcr.related_shape_aspect.of_shape. + definition ) ) AND ( fcr.related_shape_aspect.description IN [ 'angle taper', 'directed taper'] ) ) ) ) >= 1 ) ) ) ) + <= 1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY pocket_bottom + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2 : ( SELF.description IN [ 'planar', 'complex', 'through'] ); + wr3 : ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor normal' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor location' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor face' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'through' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'pocket bottom usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + ( fcr.related_shape_aspect.description = 'bottom condition occurrence' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' IN TYPEOF( fcr.related_shape_aspect.of_shape. + definition ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET_BOTTOM' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + wr11: ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar + .description = 'pocket bottom usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( fcr.related_shape_aspect.description = + 'bottom condition occurrence' ) AND ( fcr.related_shape_aspect.name IN [ 'pocket depth start', 'pocket depth end'] ) ) ) ) + = 0 ) ); + END_ENTITY; + + ENTITY pogc_with_dimension + SUBTYPE OF ( parallel_offset_geometric_constraint ); + offset_value : positive_length_measure; + offset_direction_constrained : BOOLEAN; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 1 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( ( NOT ( offset_direction_constrained = TRUE ) ) AND ( ( offset_type = curve_2d_offset ) OR ( offset_type = + surface_offset ) ) ); + END_ENTITY; + + ENTITY point + SUPERTYPE OF ( + ONEOF ( + cartesian_point, + point_on_curve, + point_on_surface, + point_replica, + degenerate_pcurve ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY point_and_vector + SUBTYPE OF ( compound_representation_item, geometric_representation_item ); + SELF\compound_representation_item.item_element : point_and_vector_members; + END_ENTITY; + + ENTITY point_constraint + SUBTYPE OF ( constraint_element ); + required_point : analysis_item_within_representation; + coordinate_system : fea_axis2_placement_3d; + freedoms_and_coefficients : SET [1 : ?] OF freedom_and_coefficient; + description : text; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN TYPEOF( required_point.item ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( required_point.item ) ) ); + END_ENTITY; + + ENTITY point_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF point; + SELF\explicit_constraint.reference_elements : SET [0 : 4] OF point_curve_or_surface_constraint_element; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PDGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND ( SIZEOF( SELF\ + explicit_constraint.constrained_elements ) = 2 ) ) ); + END_ENTITY; + + ENTITY point_element_matrix + SUPERTYPE OF ( + ONEOF ( + stationary_mass, + grounded_spring, + grounded_damper ) ); + END_ENTITY; + + ENTITY point_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model; + matrix_set : SET [1 : ?] OF point_element_matrix; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_AXIS2_PLACEMENT_3D' ) IN TYPEOF( item ) ) ) ) = 1 ); + fu1: required_0d_nodes( SELF\element_representation.node_list ); + END_ENTITY; + + ENTITY point_freedom_action_definition + SUBTYPE OF ( point_freedom_and_value_definition ); + action : action_type; + END_ENTITY; + + ENTITY point_freedom_and_value_definition + SUPERTYPE OF ( + ONEOF ( + point_freedom_values, + point_freedom_action_definition ) ) + SUBTYPE OF ( state_definition ); + required_point : analysis_item_within_representation; + coordinate_system : fea_axis2_placement_3d; + degrees_of_freedom : freedoms_list; + values : LIST [1 : ?] OF measure_or_unspecified_value; + WHERE + wr1: ( SIZEOF( degrees_of_freedom.freedoms ) = SIZEOF( values ) ); + wr2: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN TYPEOF( required_point.item ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( required_point.item ) ) ); + END_ENTITY; + + ENTITY point_freedom_values + SUBTYPE OF ( point_freedom_and_value_definition ); + END_ENTITY; + + ENTITY point_on_curve + SUBTYPE OF ( point ); + basis_curve : curve; + point_parameter : parameter_value; + END_ENTITY; + + ENTITY point_on_edge_curve + SUBTYPE OF ( point_on_curve ); + basis_edge_curve : edge_curve; + DERIVE + SELF\point_on_curve.basis_curve : curve := SELF.basis_edge_curve.edge_geometry; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_edge_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) + > 0 ); + END_ENTITY; + + ENTITY point_on_face_surface + SUBTYPE OF ( point_on_surface ); + basis_face_surface : face_surface; + DERIVE + SELF\point_on_surface.basis_surface : surface := SELF.basis_face_surface.face_geometry; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_face_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) + > 0 ); + END_ENTITY; + + ENTITY point_on_planar_curve_pair + SUBTYPE OF ( high_order_kinematic_pair ); + pair_curve : curve; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( pair_curve IN r.items ) ) ) ) = + 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY point_on_planar_curve_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : point_on_planar_curve_pair; + actual_point_on_curve : point_on_curve; + input_orientation : spatial_rotation; + DERIVE + actual_orientation : ypr_rotation := convert_spatial_to_ypr_rotation( SELF\pair_value.applies_to_pair, input_orientation ); + WHERE + wr1: ( SELF\pair_value.applies_to_pair\point_on_planar_curve_pair.pair_curve :=: actual_point_on_curve.basis_curve ); + END_ENTITY; + + ENTITY point_on_planar_curve_pair_with_range + SUBTYPE OF ( point_on_planar_curve_pair ); + range_on_pair_curve : trimmed_curve; + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_pitch : OPTIONAL plane_angle_measure; + upper_limit_pitch : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_pitch ) ) OR ( NOT EXISTS( upper_limit_pitch ) ) ) XOR ( lower_limit_pitch < + upper_limit_pitch ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_pair_curve IN r.items ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY point_on_surface + SUBTYPE OF ( point ); + basis_surface : surface; + point_parameter_u : parameter_value; + point_parameter_v : parameter_value; + END_ENTITY; + + ENTITY point_on_surface_pair + SUBTYPE OF ( high_order_kinematic_pair ); + pair_surface : surface; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( pair_surface IN r.items ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY point_on_surface_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : point_on_surface_pair; + actual_point_on_surface : point_on_surface; + input_orientation : spatial_rotation; + DERIVE + actual_orientation : ypr_rotation := convert_spatial_to_ypr_rotation( SELF\pair_value.applies_to_pair, input_orientation ); + WHERE + wr1: ( SELF\pair_value.applies_to_pair\point_on_surface_pair.pair_surface :=: actual_point_on_surface.basis_surface ); + END_ENTITY; + + ENTITY point_on_surface_pair_with_range + SUBTYPE OF ( point_on_surface_pair ); + range_on_pair_surface : rectangular_trimmed_surface; + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_pitch : OPTIONAL plane_angle_measure; + upper_limit_pitch : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_pitch ) ) OR ( NOT EXISTS( upper_limit_pitch ) ) ) XOR ( lower_limit_pitch < + upper_limit_pitch ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_pair_surface IN r. + items ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY point_path + SUBTYPE OF ( compound_representation_item, geometric_representation_item ); + SELF\compound_representation_item.item_element : point_path_members; + END_ENTITY; + + ENTITY point_placement_shape_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF point_placement_shape_representation_item; + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COMPOUND_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF( i ) ) + = 1 ) ) ) > 0 ); + END_ENTITY; + + ENTITY point_replica + SUBTYPE OF ( point ); + parent_pt : point; + transformation : cartesian_transformation_operator; + WHERE + wr1: ( transformation.dim = parent_pt.dim ); + wr2: acyclic_point_replica( SELF, parent_pt ); + END_ENTITY; + + ENTITY point_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF\representation.items | ( NOT ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NODE_SET' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AXIS2_PLACEMENT_3D'] * TYPEOF( it ) ) = 1 ) ) ) ) = + 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF\representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'NODE_SET' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) = 1 ) ) ) >= 1 ); + END_ENTITY; + + ENTITY point_style + SUBTYPE OF ( founded_item ); + name : label; + marker : marker_select; + marker_size : size_select; + marker_colour : colour; + END_ENTITY; + + ENTITY point_to_point_path + SUBTYPE OF ( path_node ); + DERIVE + SELF\kinematic_path_segment.transition : transition_code := discontinuous; + END_ENTITY; + + ENTITY polar_complex_number_region + SUBTYPE OF ( maths_space, generic_literal ); + centre : complex_number_literal; + distance_constraint : real_interval; + direction_constraint : finite_real_interval; + WHERE + wr1: ( min_exists( distance_constraint ) AND ( real_min( distance_constraint ) >= 0 ) ); + wr2: ( ( ( -PI ) <= direction_constraint.min ) AND ( direction_constraint.min < PI ) ); + wr3: ( ( direction_constraint.max - direction_constraint.min ) <= ( 2 * PI ) ); + wr4: ( ( ( direction_constraint.max - direction_constraint.min ) < ( 2 * PI ) ) OR ( direction_constraint.min_closure = + open ) ); + wr5: ( ( ( direction_constraint.max - direction_constraint.min ) < ( 2 * PI ) ) OR ( direction_constraint.max_closure = + open ) OR ( direction_constraint.min = ( -PI ) ) ); + wr6: ( ( real_min( distance_constraint ) > 0 ) OR max_exists( distance_constraint ) OR ( ( direction_constraint.max - + direction_constraint.min ) < ( 2 * PI ) ) OR ( direction_constraint.max_closure = open ) ); + END_ENTITY; + + ENTITY poly_loop + SUBTYPE OF ( loop, geometric_representation_item ); + polygon : LIST [3 : ?] OF UNIQUE cartesian_point; + END_ENTITY; + + ENTITY polygonal_area + SUBTYPE OF ( primitive_2d ); + bounds : LIST [3 : ?] OF UNIQUE cartesian_point; + END_ENTITY; + + ENTITY polyline + SUBTYPE OF ( bounded_curve ); + points : LIST [2 : ?] OF cartesian_point; + END_ENTITY; + + ENTITY position_tolerance + SUBTYPE OF ( geometric_tolerance ); + END_ENTITY; + + ENTITY positioned_sketch + SUBTYPE OF ( geometric_representation_item ); + sketch_basis : sketch_basis_select; + auxiliary_elements : SET [0 : ?] OF auxiliary_geometric_representation_item; + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF( sketch_basis ) ) AND + ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( sketch_basis\curve_bounded_surface. + basis_surface ) ) ) ) ); + wr2: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF( sketch_basis ) ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( sketch_basis\face_surface.face_geometry ) ) ) ) ); + wr3: ( SIZEOF( QUERY ( q <* auxiliary_elements | ( SIZEOF( TYPEOF( q ) * [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE' ] ) = 0 ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( q <* auxiliary_elements | ( q\geometric_representation_item.dim <> 3 ) ) ) = 0 ); + END_ENTITY; + + ENTITY power_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY power_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POWER_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY power_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.watt ) ); + END_ENTITY; + + ENTITY pre_defined_character_glyph + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_colour + SUBTYPE OF ( pre_defined_item, colour ); + END_ENTITY; + + ENTITY pre_defined_curve_font + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_dimension_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'arc length', 'conical taper', 'counterbore', 'countersink', 'depth', 'diameter', 'plus minus', + 'radius' , 'slope', 'spherical diameter', 'spherical radius', 'square'] ); + END_ENTITY; + + ENTITY pre_defined_geometrical_tolerance_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'angularity', 'basic dimension', 'blanked datum reference', 'circular runout', 'circularity', + 'concentricity' , 'cylindricity', 'datum target identification', 'diameter', 'filled datum reference', 'flatness', + 'least material condition' , 'maximum material condition', 'parallelism', 'perpendicularity', 'position', + 'profile of a line' , 'profile of a surface', 'projected tolerance zone', 'regardless of feature size', + 'straightness' , 'symmetry', 'total runout'] ); + END_ENTITY; + + ENTITY pre_defined_item; + name : label; + END_ENTITY; + + ENTITY pre_defined_marker + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_point_marker_symbol + SUBTYPE OF ( pre_defined_marker, pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'asterisk', 'circle', 'dot', 'plus', 'square', 'triangle', 'x'] ); + END_ENTITY; + + ENTITY pre_defined_surface_condition_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ '000', '010', '020', '030', '040', '050', '060', '070', '001', '011', '021', '031', '041', '051', '061' , + '071' , '100', '110', '120', '130', '140', '150', '160', '170', '101', '111', '121', '131', '141', '151', '161', + '171' , '200', '210', '220', '230', '240', '250', '260', '270', '201', '211', '221', '231', '241', '251', '261', + '271' ] ); + END_ENTITY; + + ENTITY pre_defined_surface_side_style + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_symbol + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_terminator_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'blanked arrow', 'blanked box', 'blanked dot', 'blanked triangle', 'dimension origin', 'filled arrow', + 'filled box' , 'filled dot', 'integral symbol', 'open arrow', 'slash', 'unfilled arrow', 'unfilled triangle', + 'filled triangle' ] ); + END_ENTITY; + + ENTITY pre_defined_text_font + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_tile + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY precision_qualifier; + precision_value : INTEGER; + END_ENTITY; + + ENTITY predefined_picture_representation_item + SUBTYPE OF ( picture_representation_item ); + WHERE + wr1: ( SELF\representation_item.name IN pre_defined_picture_representation_types ); + END_ENTITY; + + ENTITY prescribed_path + SUBTYPE OF ( link_motion_representation_along_path ); + controlling_joints : OPTIONAL SET [1 : 6] OF kinematic_joint; + END_ENTITY; + + ENTITY presentation_area + SUBTYPE OF ( presentation_representation ); + WHERE + wr1: ( ( SIZEOF( QUERY ( ais <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'AREA_IN_SET.AREA' ) + | ( SIZEOF( USEDIN( ais, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) ) = 1 ) ) ) + > 0 ) OR ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) ) + = 1 ) ); + END_ENTITY; + + ENTITY presentation_layer_assignment; + name : label; + description : text; + assigned_items : SET [1 : ?] OF layered_item; + END_ENTITY; + + ENTITY presentation_representation + SUPERTYPE OF ( + ONEOF ( + presentation_area, + presentation_view ) ) + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context; + WHERE + wr1: ( SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + wr2: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_AREA' IN TYPEOF( SELF ) ) OR ( SIZEOF( + QUERY ( prr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + + 'REP_2' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' IN TYPEOF( prr\ + representation_relationship.rep_1 ) ) ) ) > 0 ) OR ( SIZEOF( QUERY ( rm <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_MAP.' + 'MAPPED_REPRESENTATION' ) | ( + SIZEOF( QUERY ( mi <* USEDIN( rm, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MAPPED_ITEM.' + + 'MAPPING_SOURCE' ) | ( SIZEOF( QUERY ( rep <* using_representations( mi ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_REPRESENTATION' ) IN TYPEOF( rep ) ) ) ) > + 0 ) ) ) > 0 ) ) ) > 0 ) ); + END_ENTITY; + + ENTITY presentation_set; + INVERSE + areas : SET [1 : ?] OF area_in_set FOR in_set; + END_ENTITY; + + ENTITY presentation_size; + unit : presentation_size_assignment_select; + size : planar_box; + UNIQUE + ur1 : unit; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' IN TYPEOF( SELF.unit ) ) AND + item_in_context( SELF.size, SELF.unit\representation.context_of_items ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_IN_SET' IN TYPEOF( SELF.unit ) ) AND ( SIZEOF( + QUERY ( ais <* SELF.unit\area_in_set.in_set.areas | ( NOT item_in_context( SELF.size, ais.area\representation. + context_of_items ) ) ) ) = 0 ) ) ); + END_ENTITY; + + ENTITY presentation_style_assignment + SUBTYPE OF ( founded_item ); + styles : SET [1 : ?] OF presentation_style_select; + WHERE + wr1: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( NOT ( SIZEOF( QUERY ( style2 <* ( SELF.styles - style1 ) | ( NOT ( ( + TYPEOF( style1 ) <> TYPEOF( style2 ) ) OR ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SURFACE_STYLE_USAGE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'EXTERNALLY_DEFINED_STYLE'] * + TYPEOF( style1 ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' + IN TYPEOF( style1 ) ) ) ) <= 2 ); + wr3: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' + IN TYPEOF( style1 ) ) AND ( SIZEOF( QUERY ( style2 <* ( SELF.styles - style1 ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( style2 ) ) AND ( ( style1\ + surface_style_usage.side = both ) OR ( style2\surface_style_usage.side = both ) OR ( style1\surface_style_usage. + side = style2\surface_style_usage.side ) ) ) ) ) > 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY presentation_style_by_context + SUBTYPE OF ( presentation_style_assignment ); + style_context : style_context_select; + END_ENTITY; + + ENTITY presentation_view + SUBTYPE OF ( presentation_representation ); + END_ENTITY; + + ENTITY presented_item + ABSTRACT SUPERTYPE; + END_ENTITY; + + ENTITY presented_item_representation; + presentation : presentation_representation_select; + item : presented_item; + END_ENTITY; + + ENTITY pressure_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESSURE_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY pressure_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.pascal ) ); + END_ENTITY; + + ENTITY previous_change_element_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : previous_element_assignment_select; + items : SET [1 : ?] OF change_management_object; + END_ENTITY; + + ENTITY primitive_2d + SUPERTYPE OF ( + ONEOF ( + circular_area, + elliptic_area, + rectangular_area, + polygonal_area, + half_space_2d ) ) + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY primitive_2d_with_inner_boundary + SUBTYPE OF ( complex_area, compound_representation_item ); +(* Thurman: next line added for BZ#5056 *) + SELF\compound_representation_item.item_element : compound_inner_area_boundary; + DERIVE +(* Thurman: next line replaced by the line thereafter for BZ#5056 + inner_boundary : compound_inner_area_boundary := SELF\compound_representation_item.item_element; *) + inner_boundary : compound_inner_area_boundary := item_element; + WHERE + wr1: ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_AREA', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPTIC_AREA' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_AREA' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYGONAL_AREA' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_WITH_OUTER_BOUNDARY' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_AREA_WITH_PARAMETERS' ] * TYPEOF( SELF ) ) > 0 ); + wr2: ( SIZEOF( QUERY ( inner <* inner_boundary | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRIMITIVE_2D_WITH_INNER_BOUNDARY' IN TYPEOF( inner ) ) ) ) = 0 ); + wr3: open_path_based_inner_boundary( inner_boundary ); + END_ENTITY; + + ENTITY prismatic_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; + END_ENTITY; + + ENTITY prismatic_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : prismatic_pair; + actual_translation : length_measure; + END_ENTITY; + + ENTITY prismatic_pair_with_range + SUBTYPE OF ( prismatic_pair ); + lower_limit_actual_translation : OPTIONAL length_measure; + upper_limit_actual_translation : OPTIONAL length_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_translation ) ) OR ( NOT EXISTS( upper_limit_actual_translation ) ) ) XOR ( + lower_limit_actual_translation < upper_limit_actual_translation ) ); + END_ENTITY; + + ENTITY procedural_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF procedural_representation_sequence; + END_ENTITY; + + ENTITY procedural_representation_sequence + SUBTYPE OF ( representation_item ); + elements : LIST [1 : ?] OF representation_item; + suppressed_items : SET [0 : ?] OF representation_item; + rationale : text; + WHERE + wr1: ( SIZEOF( QUERY ( q <* suppressed_items | ( NOT ( q IN elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY procedural_shape_representation + SUBTYPE OF ( procedural_representation, shape_representation ); + SELF\representation.items : SET [1 : ?] OF procedural_shape_representation_sequence; + END_ENTITY; + + ENTITY procedural_shape_representation_sequence + SUBTYPE OF ( geometric_representation_item, procedural_representation_sequence ); + SELF\procedural_representation_sequence.elements : LIST [1 : ?] OF shape_representation_item; + END_ENTITY; + + ENTITY process_operation + SUBTYPE OF ( action_method ); + WHERE + wr1: ( SIZEOF( QUERY ( amr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACTION_METHOD_RELATIONSHIP.' + + 'RELATING_METHOD' ) | ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_OPERATION' IN + TYPEOF( amr\action_method_relationship.related_method ) ) ) OR ( SELF :=: amr\action_method_relationship. + related_method ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( amr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACTION_METHOD_RELATIONSHIP.' + + 'RELATED_METHOD' ) | ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_OPERATION' IN TYPEOF( + amr\action_method_relationship.relating_method ) ) ) OR ( SELF :=: amr\action_method_relationship.relating_method ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY process_plan + SUBTYPE OF ( action ); + WHERE + wr1: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.' + + 'RELATED_ACTION' ) | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_PLAN', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar.relating_action ) ) <> 1 ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.' + + 'RELATING_ACTION' ) | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_PLAN', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar.related_action ) ) = 1 ) + OR ( ( ar.name = 'process operation occurrence' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROCESS_OPERATION' IN TYPEOF( ar.related_action.chosen_method ) ) ) ) ) ) = SIZEOF( USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.RELATING_ACTION' ) ) ); + END_ENTITY; + + ENTITY process_product_association; + name : label; + description : text; + defined_product : characterized_product_definition; + process : product_definition_process; + END_ENTITY; + + ENTITY process_property_association; + name : label; + description : text; + process : property_process; + property_or_shape : property_or_shape_select; + END_ENTITY; + + ENTITY product; + id : identifier; + name : label; + description : OPTIONAL text; + frame_of_reference : SET [1 : ?] OF product_context; + END_ENTITY; + + ENTITY product_as_planned + SUBTYPE OF ( product_definition_formation ); + END_ENTITY; + + ENTITY product_category; + name : label; + description : OPTIONAL text; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= + 1 ); + END_ENTITY; + + ENTITY product_category_relationship; + name : label; + description : OPTIONAL text; + category : product_category; + sub_category : product_category; + WHERE + wr1: acyclic_product_category_relationship( SELF, [SELF.sub_category] ); + END_ENTITY; + + ENTITY product_class + SUBTYPE OF ( product_concept, characterized_object ); + END_ENTITY; + + ENTITY product_concept; + id : identifier; + name : label; + description : OPTIONAL text; + market_context : product_concept_context; + UNIQUE + ur1 : id; + END_ENTITY; + + ENTITY product_concept_context + SUBTYPE OF ( application_context_element ); + market_segment_type : label; + END_ENTITY; + + ENTITY product_concept_feature; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY product_concept_feature_association; + name : label; + description : OPTIONAL text; + concept : product_concept; + feature : product_concept_feature; + END_ENTITY; + + ENTITY product_concept_feature_category + SUBTYPE OF ( group ); + WHERE + wr1: ( SIZEOF( QUERY ( aga <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GROUP_ASSIGNMENT.' + + 'ASSIGNED_GROUP' ) | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT' ) + IN TYPEOF( aga ) ) AND ( ( aga\group_assignment.role\object_role.name <> 'specification category member' ) OR ( + SIZEOF( QUERY ( i <* aga\applied_group_assignment.items | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_CONCEPT_FEATURE' ) IN TYPEOF( i ) ) AND ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONDITIONAL_CONCEPT_FEATURE' ) IN TYPEOF( i ) ) ) ) ) ) <> SIZEOF( aga\applied_group_assignment.items ) ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY product_concept_feature_category_usage + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : product_concept_feature_category; + items : SET [1 : ?] OF category_usage_item; + WHERE + wr1: ( SELF.role.name IN [ 'mandatory category usage', 'optional category usage'] ); + END_ENTITY; + + ENTITY product_concept_relationship; + name : label; + description : OPTIONAL text; + relating_product_concept : product_concept; + related_product_concept : product_concept; + END_ENTITY; + + ENTITY product_context + SUBTYPE OF ( application_context_element ); + discipline_type : label; + END_ENTITY; + + ENTITY product_data_and_data_quality_relationship; + description : text; + product_data : product_definition; + data_quality : data_quality_definition; + END_ENTITY; + + ENTITY product_definition + SUPERTYPE OF ( + ONEOF ( + composite_assembly_sequence_definition, + laminate_table, + ply_laminate_sequence_definition ) ); + id : identifier; + description : OPTIONAL text; + formation : product_definition_formation; + frame_of_reference : product_definition_context; + DERIVE + name : label := get_name_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY product_definition_context + SUBTYPE OF ( application_context_element ); + life_cycle_stage : label; + END_ENTITY; + + ENTITY product_definition_context_association; + definition : product_definition; + frame_of_reference : product_definition_context; + role : product_definition_context_role; + END_ENTITY; + + ENTITY product_definition_context_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY product_definition_effectivity + SUBTYPE OF ( effectivity ); + usage : product_definition_relationship; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'EFFECTIVITY_ASSIGNMENT.' + + 'ASSIGNED_EFFECTIVITY' ) ) = 0 ); + END_ENTITY; + + ENTITY product_definition_element_relationship + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY product_definition_formation; + id : identifier; + description : OPTIONAL text; + of_product : product; + UNIQUE + ur1 : id, of_product; + END_ENTITY; + + ENTITY product_definition_formation_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_product_definition_formation : product_definition_formation; + related_product_definition_formation : product_definition_formation; + END_ENTITY; + + ENTITY product_definition_formation_with_specified_source + SUBTYPE OF ( product_definition_formation ); + make_or_buy : source; + END_ENTITY; + + ENTITY product_definition_group_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : product_definition_element_relationship; + items : SET [1 : 1] OF product_definition_or_product_definition_relationship; + END_ENTITY; + + ENTITY product_definition_kinematics + SUBTYPE OF ( property_definition ); + SELF\property_definition.definition : product_definition; + INVERSE + representation_relation : kinematic_property_definition_representation FOR definition; + UNIQUE + ur1 : definition; + END_ENTITY; + + ENTITY product_definition_occurrence_relationship; + name : label; + description : OPTIONAL text; + occurrence : product_definition; + occurrence_usage : assembly_component_usage; + WHERE + wr1: ( occurrence_usage.relating_product_definition :<>: occurrence ); + wr2: ( occurrence_usage.related_product_definition :<>: occurrence ); + wr3: ( occurrence.formation :=: occurrence_usage.related_product_definition.formation ); + END_ENTITY; + + ENTITY product_definition_process + SUBTYPE OF ( action ); + identification : identifier; + INVERSE + product_definitions : SET [1 : ?] OF process_product_association FOR process; + END_ENTITY; + + ENTITY product_definition_reference + SUBTYPE OF ( generic_product_definition_reference ); + product_id : identifier; + product_definition_formation_id : identifier; + product_definition_id : identifier; + id_owning_organization_name : OPTIONAL label; + END_ENTITY; + + ENTITY product_definition_reference_with_local_representation + SUBTYPE OF ( generic_product_definition_reference, product_definition ); + END_ENTITY; + + ENTITY product_definition_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_product_definition : product_definition_or_reference; + related_product_definition : product_definition_or_reference; + END_ENTITY; + + ENTITY product_definition_relationship_kinematics + SUBTYPE OF ( property_definition ); + SELF\property_definition.definition : product_definition_relationship; + UNIQUE + ur1 : definition; + END_ENTITY; + + ENTITY product_definition_resource + SUBTYPE OF ( action_resource, product_definition ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REQUIREMENT_FOR_ACTION_RESOURCE.' + + 'RESOURCES' ) ) > 0 ); + wr2: ( SELF.frame_of_reference.name IN [ 'part definition', 'part occurrence', 'physical occurrence'] ); + END_ENTITY; + + ENTITY product_definition_shape + SUBTYPE OF ( property_definition ); + UNIQUE + ur1 : SELF\property_definition.definition; + WHERE + wr1: ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTERIZED_PRODUCT_DEFINITION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTERIZED_OBJECT' ] * TYPEOF( SELF\property_definition. + definition ) ) > 0 ); + END_ENTITY; + + ENTITY product_definition_substitute; + description : OPTIONAL text; + context_relationship : product_definition_relationship; + substitute_definition : product_definition; + DERIVE + name : label := get_name_value( SELF ); + WHERE + wr1: ( context_relationship.related_product_definition :<>: substitute_definition ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY product_definition_usage + SUPERTYPE OF ( + ONEOF ( + make_from_usage_option, + assembly_component_usage ) ) + SUBTYPE OF ( product_definition_relationship ); + UNIQUE + ur1 : SELF\product_definition_relationship.id, SELF\product_definition_relationship.relating_product_definition, SELF\ + product_definition_relationship.related_product_definition; + WHERE + wr1: acyclic_product_definition_relationship( SELF, [SELF\product_definition_relationship.related_product_definition], + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_USAGE' ); + END_ENTITY; + + ENTITY product_definition_with_associated_documents + SUBTYPE OF ( product_definition ); + documentation_ids : SET [1 : ?] OF document; + END_ENTITY; + + ENTITY product_design_to_individual + SUBTYPE OF ( product_relationship ); + DERIVE + individual_product : product := SELF\product_relationship.related_product; + product_design : product := SELF\product_relationship.relating_product; + END_ENTITY; + + ENTITY product_design_version_to_individual + SUBTYPE OF ( product_definition_formation_relationship ); + DERIVE + individual_product : product_definition_formation := SELF\product_definition_formation_relationship. + related_product_definition_formation; + product_design_version : product_definition_formation := SELF\product_definition_formation_relationship. + relating_product_definition_formation; + END_ENTITY; + + ENTITY product_identification + SUBTYPE OF ( configuration_item, characterized_object ); + SELF\configuration_item.item_concept : product_class; + WHERE + wr1: ( SIZEOF( QUERY ( cd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONFIGURATION_DESIGN.' + + 'CONFIGURATION' ) | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION' ) + IN TYPEOF( cd.design ) ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( cd.design\product_definition_formation.of_product, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name IN + [ 'part', 'raw material', 'tool'] ) ) ) > 0 ) ) ) ) <= 1 ); + wr2: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONFIGURABLE_ITEM' ) IN TYPEOF( SELF ) ) ) XOR ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_SPECIFICATION' ) IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY product_material_composition_relationship + SUBTYPE OF ( product_definition_relationship ); + class : label; + constituent_amount : SET [1 : ?] OF characterized_product_composition_value; + composition_basis : label; + determination_method : text; + END_ENTITY; + + ENTITY product_of_mesh; + operands : LIST [2 : 2] OF mesh; + product : mesh; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF' + '.STRUCTURED_MESH' ) IN TYPEOF( operands[1] ) ) AND ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF' + '.' + + 'STRUCTURED_MESH' ) IN TYPEOF( operands[2] ) ) AND ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF' + '.STRUCTURED_MESH' ) IN + TYPEOF( product ) ) ); + wr2: ( operands[1].index_count = 1 ); + wr3: ( ( operands[1].index_count + operands[2].index_count ) = product.index_count ); + END_ENTITY; + + ENTITY product_planned_to_realized + SUBTYPE OF ( product_definition_formation_relationship ); + DERIVE + planned_product : product_definition_formation := SELF\product_definition_formation_relationship. + relating_product_definition_formation; + realized_product : product_definition_formation := SELF\product_definition_formation_relationship. + related_product_definition_formation; + END_ENTITY; + + ENTITY product_process_plan + SUBTYPE OF ( product_definition_process ); + WHERE + wr1: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.' + + 'RELATED_ACTION' ) | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_PLAN', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar.relating_action ) ) <> 1 ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.' + + 'RELATING_ACTION' ) | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_PLAN', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar.related_action ) ) = 1 ) + OR ( ( ar.name = 'process operation occurrence' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROCESS_OPERATION' IN TYPEOF( ar.related_action.chosen_method ) ) ) ) ) ) = SIZEOF( USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.RELATING_ACTION' ) ) ); + wr3: ( SIZEOF( QUERY ( ppa <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROCESS_PRODUCT_ASSOCIATION.PROCESS' ) | ( ( ppa.name <> 'produced output' ) OR ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( ppa.defined_product ) ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY product_related_product_category + SUBTYPE OF ( product_category ); + products : SET [1 : ?] OF product; + END_ENTITY; + + ENTITY product_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_product : product; + related_product : product; + END_ENTITY; + + ENTITY product_specification + SUBTYPE OF ( product_identification, configurable_item ); + END_ENTITY; + + ENTITY product_view_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + discretised_model : discretised_product_model_select; + idealised_product : idealised_product_select; + END_ENTITY; + + ENTITY profile_floor + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2 : ( SELF.description IN [ 'planar', 'complex', 'through'] ); + wr3 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 1 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 2 ) ) ) ) = 0 ) ) ) ) = + 0 ) ); + wr5 : ( ( NOT ( SELF.description = 'through' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'profile floor usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OUTSIDE_PROFILE' IN TYPEOF( fcr.related_shape_aspect. + of_shape.definition ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROFILE_FLOOR' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + wr8 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'shape profile floor orientation' ) AND ( + it.description IN [ 'shape profile start', 'shape profile end'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor' ) ) ) ) = 1 ) ) ) ) = 1 ) ); + wr10: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor' ) ) ) ) = 1 ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY projected_zone_definition + SUBTYPE OF ( tolerance_zone_definition ); + projection_end : shape_aspect; + projected_length : length_measure_with_unit; + WHERE + wr1: ( ( 'NUMBER' IN TYPEOF( projected_length\measure_with_unit.value_component ) ) AND ( projected_length\ + measure_with_unit.value_component > 0 ) ); + wr2: ( derive_dimensional_exponents( projected_length\measure_with_unit.unit_component ) = dimensional_exponents( 1, 0, 0, + 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY projected_zone_definition_with_offset + SUBTYPE OF ( projected_zone_definition ); + offset : length_measure_with_unit; + END_ENTITY; + + ENTITY projection_curve + SUBTYPE OF ( annotation_curve_occurrence ); + END_ENTITY; + + ENTITY projection_directed_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( p_1 <* SELF\draughting_callout.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROJECTION_CURVE' IN TYPEOF( p_1 ) ) ) ) <= 2 ); + wr2: ( SIZEOF( SELF\draughting_callout.contents ) >= 2 ); + END_ENTITY; + + ENTITY promissory_usage_occurrence + SUBTYPE OF ( assembly_component_usage ); + END_ENTITY; + + ENTITY property_definition + SUPERTYPE OF ( + ONEOF ( + product_definition_kinematics, + product_definition_relationship_kinematics, + product_definition_shape ) ); + name : label; + description : OPTIONAL text; + definition : characterized_definition; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= + 1 ); + END_ENTITY; + + ENTITY property_definition_relationship; + name : label; + description : text; + relating_property_definition : property_definition; + related_property_definition : property_definition; + END_ENTITY; + + ENTITY property_definition_representation; + definition : represented_definition; + used_representation : representation; + DERIVE + description : text := get_description_value( SELF ); + name : label := get_name_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY property_distribution_description; + id : identifier; + name : label; + description : OPTIONAL text; + abstract_function : maths_function; + domain_context : maths_space_context; + physical_function : property_distribution_select; + range_context : maths_space_context; + END_ENTITY; + + ENTITY property_process + SUBTYPE OF ( action ); + identification : identifier; + INVERSE + properties : SET [1 : ?] OF process_property_association FOR process; + END_ENTITY; + + ENTITY protrusion + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'shape volume occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'volume shape usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( sdr.relating_shape_aspect.description = 'volume shape' ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY qualified_representation_item + SUBTYPE OF ( representation_item ); + qualifiers : SET [1 : ?] OF value_qualifier; + WHERE + wr1: ( SIZEOF( QUERY ( temp <* qualifiers | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRECISION_QUALIFIER' IN + TYPEOF( temp ) ) ) ) < 2 ); + END_ENTITY; + + ENTITY qualitative_uncertainty + SUBTYPE OF ( uncertainty_qualifier ); + uncertainty_value : text; + END_ENTITY; + + ENTITY quantified_assembly_component_usage + SUBTYPE OF ( assembly_component_usage ); + quantity : measure_with_unit; + WHERE + wr1: ( ( NOT ( 'NUMBER' IN TYPEOF( quantity.value_component ) ) ) OR ( quantity.value_component > 0 ) ); + END_ENTITY; + + ENTITY quantifier_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( multiple_arity_generic_expression ); + variables : LIST [1 : ?] OF UNIQUE generic_variable; + WHERE + wr1: ( SIZEOF( QUERY ( vrbl <* variables | ( NOT ( vrbl IN SELF\multiple_arity_generic_expression.operands ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( vrbl <* variables | ( NOT ( ( schema_prefix + 'BOUND_VARIABLE_SEMANTICS' ) IN TYPEOF( vrbl. + interpretation.semantics ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY quasi_uniform_curve + SUBTYPE OF ( b_spline_curve ); + END_ENTITY; + + ENTITY quasi_uniform_surface + SUBTYPE OF ( b_spline_surface ); + END_ENTITY; + + ENTITY rack_and_pinion_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + pinion_radius : length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rack_and_pinion_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : rack_and_pinion_pair; + actual_displacement : length_measure; + DERIVE + actual_rotation : plane_angle_measure := 0; + END_ENTITY; + + ENTITY rack_and_pinion_pair_with_range + SUBTYPE OF ( rack_and_pinion_pair ); + lower_limit_rack_displacement : OPTIONAL length_measure; + upper_limit_rack_displacement : OPTIONAL length_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_rack_displacement ) ) OR ( NOT EXISTS( upper_limit_rack_displacement ) ) ) XOR ( + lower_limit_rack_displacement < upper_limit_rack_displacement ) ); + END_ENTITY; + + ENTITY radioactivity_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RADIOACTIVITY_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY radioactivity_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.becquerel ) ); + END_ENTITY; + + ENTITY radius_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( con <* SELF.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_CURVE' IN + TYPEOF( con ) ) ) ) <= 1 ); + END_ENTITY; + + ENTITY radius_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF radial_geometry_constraint_element; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY range_characteristic + SUBTYPE OF ( representation, descriptive_representation_item ); + WHERE + wr1: ( NOT ( SELF\representation.name IN [ 'tolerance', 'minimum tolerance', 'maximum tolerance', 'nominal tolerance', + 'plus minus tolerance' , 'symmetrical tolerance', 'statistical tolerance'] ) ); + END_ENTITY; + + ENTITY ratio_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY ratio_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY rational_b_spline_curve + SUBTYPE OF ( b_spline_curve ); + weights_data : LIST [2 : ?] OF REAL; + DERIVE + weights : ARRAY [0 : upper_index_on_control_points] OF REAL := list_to_array( weights_data, 0, + upper_index_on_control_points ); + WHERE + wr1: ( SIZEOF( weights_data ) = SIZEOF( SELF\b_spline_curve.control_points_list ) ); + wr2: curve_weights_positive( SELF ); + END_ENTITY; + + ENTITY rational_b_spline_surface + SUBTYPE OF ( b_spline_surface ); + weights_data : LIST [2 : ?] OF LIST [2 : ?] OF REAL; + DERIVE + weights : ARRAY [0 : u_upper] OF ARRAY [0 : v_upper] OF REAL := make_array_of_array( weights_data, 0, u_upper, 0, v_upper ); + WHERE + wr1: ( ( SIZEOF( weights_data ) = SIZEOF( SELF\b_spline_surface.control_points_list ) ) AND ( SIZEOF( weights_data[1] ) = + SIZEOF( SELF\b_spline_surface.control_points_list[1] ) ) ); + wr2: surface_weights_positive( SELF ); + END_ENTITY; + + ENTITY rational_representation_item + SUBTYPE OF ( representation_item, slash_expression ); + WHERE + wr1: ( SIZEOF( QUERY ( operand <* SELF\binary_generic_expression.operands | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INT_LITERAL' IN TYPEOF( operand ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rationalize_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + DERIVE + fun : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: ( ( space_dimension( fun.domain ) = 1 ) AND ( space_dimension( fun.range ) = 1 ) ); + wr2: number_tuple_subspace_check( factor1( fun.range ) ); + wr3: ( space_dimension( factor1( fun.range ) ) > 1 ); + END_ENTITY; + + ENTITY real_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( numeric_defined_function ); + END_ENTITY; + + ENTITY real_interval_from_min + SUBTYPE OF ( maths_space, generic_literal ); + min : REAL; + min_closure : open_closed; + END_ENTITY; + + ENTITY real_interval_to_max + SUBTYPE OF ( maths_space, generic_literal ); + max : REAL; + max_closure : open_closed; + END_ENTITY; + + ENTITY real_literal + SUBTYPE OF ( literal_number ); + SELF\literal_number.the_value : REAL; + END_ENTITY; + + ENTITY real_numeric_variable + SUBTYPE OF ( numeric_variable ); + END_ENTITY; + + ENTITY real_representation_item + SUBTYPE OF ( representation_item, real_literal ); + END_ENTITY; + + ENTITY real_tuple_literal + SUBTYPE OF ( generic_literal ); + lit_value : LIST [1 : ?] OF REAL; + END_ENTITY; + + ENTITY rectangular_area + SUBTYPE OF ( primitive_2d ); + position : axis2_placement_2d; + x : positive_length_measure; + y : positive_length_measure; + END_ENTITY; + + ENTITY rectangular_array_placement_group_component + SUBTYPE OF ( array_placement_group ); + END_ENTITY; + + ENTITY rectangular_closed_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( ( SIZEOF( impl_rep.used_representation.items ) >= 3 ) AND ( SIZEOF( impl_rep. + used_representation.items ) <= 4 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'length' ) OR ( srwp_i.name = + 'width' ) OR ( srwp_i.name = 'corner radius' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) + = 1 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'corner radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rectangular_composite_surface + SUBTYPE OF ( bounded_surface ); + segments : LIST [1 : ?] OF LIST [1 : ?] OF surface_patch; + DERIVE + n_u : INTEGER := SIZEOF( segments ); + n_v : INTEGER := SIZEOF( segments[1] ); + WHERE + wr1: ( SIZEOF( QUERY ( s <* segments | ( n_v <> SIZEOF( s ) ) ) ) = 0 ); + wr2: constraints_rectangular_composite_surface( SELF ); + END_ENTITY; + + ENTITY rectangular_composite_surface_transition_locator + SUBTYPE OF ( founded_item ); + basis_surface : rectangular_composite_surface; + surface_parameter : u_or_v_parameter; + u_transition_index : INTEGER; + v_transition_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY rectangular_pattern + SUBTYPE OF ( replicate_feature ); + WHERE + wr1 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' + IN TYPEOF( sar ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr. + related_shape_aspect ) ) ) ) = 1 ) ) ) <= 5 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'row layout direction' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'column layout direction' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 5 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\measure_with_unit. + value_component ) ) AND ( it.name = 'number of rows' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\measure_with_unit. + value_component ) ) AND ( it.name = 'number of columns' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'row spacing' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'column spacing' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rectangular_trimmed_surface + SUBTYPE OF ( bounded_surface ); + basis_surface : surface; + u1 : parameter_value; + u2 : parameter_value; + v1 : parameter_value; + v2 : parameter_value; + usense : BOOLEAN; + vsense : BOOLEAN; + WHERE + wr1: ( u1 <> u2 ); + wr2: ( v1 <> v2 ); + wr3: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF( basis_surface ) ) AND ( NOT + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( basis_surface ) ) ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF( basis_surface ) ) OR ( + usense = ( u2 > u1 ) ) ); + wr4: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPHERICAL_SURFACE' IN TYPEOF( basis_surface ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TOROIDAL_SURFACE' IN TYPEOF( basis_surface ) ) OR ( vsense = + ( v2 > v1 ) ) ); + END_ENTITY; + + ENTITY referenced_modified_datum + SUBTYPE OF ( datum_reference ); + modifier : limit_condition; + END_ENTITY; + + ENTITY regular_table_function + SUBTYPE OF ( linearized_table_function ); + increments : LIST [1 : ?] OF INTEGER; + WHERE + wr1: ( SIZEOF( increments ) = SIZEOF( SELF\explicit_table_function.shape ) ); + wr2: extremal_position_check( SELF ); + END_ENTITY; + + ENTITY reindexed_array_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + starting_indices : LIST [1 : ?] OF INTEGER; + WHERE + wr1: function_is_array( SELF\unary_generic_expression.operand ); + wr2: ( SIZEOF( starting_indices ) = SIZEOF( shape_of_array( SELF\unary_generic_expression.operand ) ) ); + END_ENTITY; + + ENTITY relative_event_occurrence + SUBTYPE OF ( event_occurrence ); + base_event : event_occurrence; + offset : time_measure_with_unit; + END_ENTITY; + + ENTITY removal_volume + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'shape volume occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( ( + sar.description = 'volume shape usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( sdr.relating_shape_aspect.description = 'volume shape' ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rep_item_group + SUBTYPE OF ( group, representation_item ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_LAYER_ASSIGNMENT.' + + 'ASSIGNED_ITEMS' ) ) > 0 ); + wr2: ( SIZEOF( QUERY ( r <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION.' + 'ITEMS' ) + | ( r.name = 'group representation' ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( ga <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GROUP_ASSIGNMENT.' + + 'ASSIGNED_GROUP' ) | ( ga.role.name <> 'group membership' ) ) ) = 0 ); + wr4: ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'TOPOLOGICAL_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MAPPED_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'STYLED_ITEM'] * TYPEOF( SELF ) ) = 1 ); + END_ENTITY; + + ENTITY repackaging_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + input_repack : repackage_options; + output_repack : repackage_options; + selected_output : nonnegative_integer; + WHERE + wr1: ( ( input_repack <> ro_wrap_as_tuple ) OR ( ( space_dimension( operand.domain ) = 1 ) AND ( ( schema_prefix + + 'TUPLE_SPACE' ) IN TYPEOF( factor1( operand.domain ) ) ) ) ); + wr2: ( ( output_repack <> ro_unwrap_tuple ) OR ( ( space_dimension( operand.range ) = 1 ) AND ( ( schema_prefix + + 'TUPLE_SPACE' ) IN TYPEOF( factor1( operand.range ) ) ) ) ); + wr3: ( selected_output <= space_dimension( repackage( operand.range, output_repack ) ) ); + END_ENTITY; + + ENTITY reparametrised_composite_curve_segment + SUBTYPE OF ( composite_curve_segment ); + param_length : parameter_value; + WHERE + wr1: ( param_length > 0 ); + END_ENTITY; + + ENTITY replicate_feature + SUPERTYPE OF ( + ONEOF ( + circular_pattern, + rectangular_pattern, + feature_pattern ) ) + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPLICATE_FEATURE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INSTANCED_FEATURE' ] * TYPEOF( fcr.related_shape_aspect ) ) >= + 1 ) AND ( fcr.name = 'pattern basis' ) ) ) ) = 1 ); + wr3: ( ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) ) + + SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY repositioned_neutral_sketch + SUBTYPE OF ( mapped_item, geometric_representation_item ); + DERIVE + map : representation_map := SELF\mapped_item.mapping_source; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' IN TYPEOF( map. + mapped_representation ) ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D' IN TYPEOF( map.mapping_origin ) ); + wr3: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( SELF\mapped_item.mapping_target ) ); + END_ENTITY; + + ENTITY repositioned_tessellated_item + SUBTYPE OF ( tessellated_item ); + location : axis2_placement_3d; + WHERE + wr1: ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_CURVE_SET', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_GEOMETRIC_SET' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_POINT_SET' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_SURFACE_SET' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_SHELL' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_SOLID' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_WIRE' ] * TYPEOF( SELF ) ) = 0 ) ); + END_ENTITY; + + ENTITY representation + SUPERTYPE OF ( + ONEOF ( + interpolated_configuration_representation, + link_motion_representation_along_path ) + ANDOR + ONEOF ( + kinematic_link_representation, + kinematic_topology_structure, + kinematic_topology_directed_structure, + kinematic_topology_network_structure, + mechanism_representation, + shape_representation ) + ANDOR + ONEOF ( + kinematic_topology_structure, + kinematic_topology_directed_structure, + kinematic_topology_network_structure ) ); + name : label; + items : SET [1 : ?] OF representation_item; + context_of_items : representation_context; + DERIVE + id : identifier := get_id_value( SELF ); + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= + 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY representation_context; + context_identifier : identifier; + context_type : text; + INVERSE + representations_in_context : SET [1 : ?] OF representation FOR context_of_items; + END_ENTITY; + + ENTITY representation_item + SUPERTYPE OF ( + ONEOF ( + binary_representation_item, + compound_representation_item, + mapped_item, + value_representation_item ) + ANDOR + ONEOF ( + mapped_item, + styled_item ) + ANDOR + ONEOF ( + boolean_representation_item, + date_representation_item, + date_time_representation_item, + integer_representation_item, + logical_representation_item, + rational_representation_item, + real_representation_item ) ); + name : label; + WHERE + wr1: ( SIZEOF( using_representations( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY representation_item_relationship; + name : label; + description : OPTIONAL text; + relating_representation_item : representation_item; + related_representation_item : representation_item; + END_ENTITY; + + ENTITY representation_map; + mapping_origin : representation_item; + mapped_representation : representation; + INVERSE + map_usage : SET [1 : ?] OF mapped_item FOR mapping_source; + WHERE + wr1: item_in_context( SELF.mapping_origin, SELF.mapped_representation.context_of_items ); + END_ENTITY; + + ENTITY representation_proxy_item + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY representation_relationship; + name : label; + description : OPTIONAL text; + rep_1 : representation; + rep_2 : representation; + END_ENTITY; + + ENTITY representation_relationship_with_transformation + SUBTYPE OF ( representation_relationship ); + transformation_operator : transformation; + WHERE + wr1: ( SELF\representation_relationship.rep_1.context_of_items :<>: SELF\representation_relationship.rep_2.context_of_items ); + END_ENTITY; + + ENTITY representative_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( unique_in_product_definition( SELF ) OR unique_in_shape_aspect( SELF ) ); + END_ENTITY; + + ENTITY requirement_assigned_object + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_assignment; + items : SET [1 : 1] OF requirement_assigned_item; + END_ENTITY; + + ENTITY requirement_assignment + SUBTYPE OF ( characterized_object, group ); + END_ENTITY; + + ENTITY requirement_for_action_resource + SUBTYPE OF ( action_resource_requirement ); + resources : SET [1 : ?] OF action_resource; + END_ENTITY; + + ENTITY requirement_source + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY requirement_view_definition_relationship + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY resistance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RESISTANCE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY resistance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.ohm ) ); + END_ENTITY; + + ENTITY resource_property; + name : label; + description : text; + resource : characterized_resource_definition; + END_ENTITY; + + ENTITY resource_property_representation; + name : label; + description : text; + property : resource_property; + representation : representation; + END_ENTITY; + + ENTITY resource_requirement_type; + name : label; + description : text; + END_ENTITY; + + ENTITY restriction_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_space; + END_ENTITY; + + ENTITY result; + result_id : identifier; + creating_software : text; + description : text; + END_ENTITY; + + ENTITY result_analysis_step + SUPERTYPE OF ( + ONEOF ( + result_linear_static_analysis_sub_step, + result_linear_modes_and_frequencies_analysis_sub_step ) ) + SUBTYPE OF ( analysis_step ); + analysis_result : result; + UNIQUE + ur1 : SELF\analysis_step.analysis_control, analysis_result; + END_ENTITY; + + ENTITY result_linear_modes_and_frequencies_analysis_sub_step + SUBTYPE OF ( result_analysis_step ); + states : SET [1 : ?] OF calculated_state; + END_ENTITY; + + ENTITY result_linear_static_analysis_sub_step + SUBTYPE OF ( result_analysis_step ); + state : calculated_state; + END_ENTITY; + + ENTITY resulting_path + SUBTYPE OF ( link_motion_representation_along_path ); + controlling_joints : SET [1 : ?] OF kinematic_joint; + END_ENTITY; + + ENTITY retention + SUBTYPE OF ( action ); + WHERE + wr1: ( SIZEOF( QUERY ( aa <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ACTION_ASSIGNMENT.' + + 'ASSIGNED_ACTION' ) | ( ( 'ACTIVITY.APPLIED_ACTION_ASSIGNMENT' IN TYPEOF( aa ) ) AND ( aa.role.name = 'retention' ) ) ) ) + >= 1 ); + wr2: ( ( SIZEOF( QUERY ( atia <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | ( atia.role.name = 'minimum retention period' ) ) ) = 1 ) AND ( + SIZEOF( QUERY ( atia <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | ( atia.role.name = 'maximum retention period' ) ) ) = 1 ) AND ( + SIZEOF( QUERY ( atia1 <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | ( ( atia1.role.name = 'minimum retention period' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TIME_INTERVAL_WITH_BOUNDS' IN TYPEOF( atia1. + assigned_time_interval ) ) AND ( EXISTS( atia1.assigned_time_interval\time_interval_with_bounds.secondary_bound ) + OR EXISTS( atia1.assigned_time_interval\time_interval_with_bounds.duration ) ) AND ( SIZEOF( QUERY ( atia2 <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | + ( ( atia2.role.name = 'maximum retention period' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'TIME_INTERVAL_WITH_BOUNDS' IN TYPEOF( atia2.assigned_time_interval ) ) AND ( EXISTS( atia2. + assigned_time_interval\time_interval_with_bounds.secondary_bound ) OR EXISTS( atia2.assigned_time_interval\ + time_interval_with_bounds.duration ) ) AND ( atia1.assigned_time_interval\time_interval_with_bounds.primary_bound + :=: atia2.assigned_time_interval\time_interval_with_bounds.primary_bound ) ) ) ) = 1 ) ) ) ) = 1 ) ); + wr3: ( ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.RELATING_ACTION' ) ) + + SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.RELATED_ACTION' ) ) ) + = 0 ); + END_ENTITY; + + ENTITY revolute_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY revolute_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : revolute_pair; + actual_rotation : plane_angle_measure; + END_ENTITY; + + ENTITY revolute_pair_with_range + SUBTYPE OF ( revolute_pair ); + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + END_ENTITY; + + ENTITY revolved_area_solid + SUBTYPE OF ( swept_area_solid ); + axis : axis1_placement; + angle : plane_angle_measure; + DERIVE + axis_line : line := representation_item( '' ) || geometric_representation_item( ) || curve( ) || line( axis.location, + representation_item( '' ) || geometric_representation_item( ) || vector( axis.z, 1 ) ); + END_ENTITY; + + ENTITY revolved_face_solid + SUBTYPE OF ( swept_face_solid ); + axis : axis1_placement; + angle : plane_angle_measure; + DERIVE + axis_line : line := representation_item( '' ) || geometric_representation_item( ) || curve( ) || line( axis.location, + representation_item( '' ) || geometric_representation_item( ) || vector( axis.z, 1 ) ); + END_ENTITY; + + ENTITY revolved_face_solid_with_trim_conditions + SUBTYPE OF ( revolved_face_solid ); + first_trim_condition : trim_condition_select; + second_trim_condition : trim_condition_select; + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( first_trim_condition ) ) OR + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( second_trim_condition ) ) ) ); + wr2: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( first_trim_condition ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( second_trim_condition ) ) + AND ( first_trim_condition = second_trim_condition ) ) ); + END_ENTITY; + + ENTITY revolved_profile + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SELF\characterized_object.description IN [ 'groove', 'flat', 'round', 'open profile'] ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'removal direction' ) ) ) ) = 1 ); + wr5: ( ( NOT ( SELF\characterized_object.description = 'open profile' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'outer edge shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'OPEN_PATH_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = + 'outer edge shape' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( SELF\characterized_object.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'flat edge shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LINEAR_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = + 'flat edge shape' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr7: ( ( NOT ( SELF\characterized_object.description = 'round' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'rounded edge shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( + ( sar.description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PARTIAL_CIRCULAR_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description + = 'rounded edge shape' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr8: ( ( NOT ( SELF\characterized_object.description = 'groove' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'sweep occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) = + 1 ) AND ( sdr.relating_shape_aspect.description = 'sweep' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr9: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY rgc_with_dimension + SUBTYPE OF ( radius_geometric_constraint ); + radius_value : positive_length_measure; + END_ENTITY; + + ENTITY rib_top + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'rib top condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'rib top usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIB_TOP_FLOOR' IN TYPEOF( sdr.relating_shape_aspect ) ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIB_TOP' IN TYPEOF( sdr.related_shape_aspect.of_shape. + definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'removal direction' ) ) ) ) = 1 ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY rib_top_floor + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SELF.description IN [ 'planar', 'complex'] ); + wr3: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'rib top usage' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + fcr.related_shape_aspect.description = 'rib top condition occurrence' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIB_TOP' IN TYPEOF( fcr.related_shape_aspect.of_shape. + definition ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIB_TOP_FLOOR' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + wr4: ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'rib top face' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'rib top face' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) + = 1 ) AND ( sdr.relating_shape_aspect.description = 'rib top floor boundary' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY right_angular_wedge + SUBTYPE OF ( geometric_representation_item ); + position : axis2_placement_3d; + x : positive_length_measure; + y : positive_length_measure; + z : positive_length_measure; + ltx : length_measure; + WHERE + wr1: ( ( 0 <= ltx ) AND ( ltx < x ) ); + END_ENTITY; + + ENTITY right_circular_cone + SUBTYPE OF ( geometric_representation_item ); + position : axis1_placement; + height : positive_length_measure; + radius : length_measure; + semi_angle : plane_angle_measure; + WHERE + wr1: ( radius >= 0 ); + END_ENTITY; + + ENTITY right_circular_cylinder + SUBTYPE OF ( geometric_representation_item ); + position : axis1_placement; + height : positive_length_measure; + radius : positive_length_measure; + END_ENTITY; + + ENTITY right_to_usage_association + SUBTYPE OF ( action_method_relationship ); + SELF\action_method_relationship.relating_method : information_usage_right; + SELF\action_method_relationship.related_method : information_right; + DERIVE + right_applied : information_right := SELF\action_method_relationship.related_method; + right_usage : information_usage_right := SELF\action_method_relationship.relating_method; + END_ENTITY; + + ENTITY rigid_link_representation + SUBTYPE OF ( kinematic_link_representation ); + END_ENTITY; + + ENTITY rigid_subsketch + SUBTYPE OF ( subsketch ); + END_ENTITY; + + ENTITY rind; + index_count : INTEGER; + planes : ARRAY [1 : 2 * index_count] OF INTEGER; + END_ENTITY; + + ENTITY role_association; + role : object_role; + item_with_role : role_select; + END_ENTITY; + + ENTITY rolling_curve_pair + SUBTYPE OF ( planar_curve_pair ); + END_ENTITY; + + ENTITY rolling_curve_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : rolling_curve_pair; + actual_point_on_curve_1 : point_on_curve; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: actual_point_on_curve_1.basis_curve ); + END_ENTITY; + + ENTITY rolling_surface_pair + SUBTYPE OF ( surface_pair ); + END_ENTITY; + + ENTITY rolling_surface_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : rolling_surface_pair; + actual_point_on_surface : point_on_surface; + actual_rotation : plane_angle_measure; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: actual_point_on_surface.basis_surface ); + END_ENTITY; + + ENTITY rotation_about_direction + SUBTYPE OF ( geometric_representation_item ); + direction_of_axis : direction; + rotation_angle : plane_angle_measure; + WHERE + wr1: ( SIZEOF( direction_of_axis.direction_ratios ) = 3 ); + END_ENTITY; + + ENTITY round_hole + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'diameter occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.name = 'diameter' ) ) ) ) = 1 ) ) ) ) + = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'hole depth occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.name = 'hole depth' ) AND ( sdr. + relating_shape_aspect.description = 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'hole bottom usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.HOLE_BOTTOM' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUND_HOLE' IN TYPEOF( fcr.related_shape_aspect.of_shape. + definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'change in diameter occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'taper usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUND_HOLE' IN TYPEOF( fcr.related_shape_aspect.of_shape. + definition ) ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY rounded_end + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'partial circular boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PARTIAL_CIRCULAR_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = + 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY rounded_u_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 1 ) ) AND ( SIZEOF( impl_rep. + used_representation.items ) <= 2 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'depth' ) ) ) ) = SIZEOF( pdr. + used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY roundness_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN + TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY row_representation_item + SUBTYPE OF ( compound_representation_item ); + SELF\compound_representation_item.item_element : list_representation_item; + END_ENTITY; + + ENTITY row_value + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY row_variable + SUBTYPE OF ( abstract_variable ); + END_ENTITY; + + ENTITY rule_action + SUBTYPE OF ( action ); + END_ENTITY; + + ENTITY rule_condition + SUBTYPE OF ( atomic_formula ); + END_ENTITY; + + ENTITY rule_definition + SUBTYPE OF ( rule_software_definition ); + END_ENTITY; + + ENTITY rule_set + SUBTYPE OF ( rule_software_definition ); + END_ENTITY; + + ENTITY rule_set_group + SUBTYPE OF ( rule_software_definition ); + END_ENTITY; + + ENTITY rule_software_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY rule_superseded_assignment + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF rule_superseded_item; + END_ENTITY; + + ENTITY rule_supersedence + SUBTYPE OF ( rule_action ); + END_ENTITY; + + ENTITY ruled_surface_swept_area_solid + SUBTYPE OF ( surface_curve_swept_area_solid ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( SELF.reference_surface ) ) AND ( + SELF.reference_surface\b_spline_surface.u_degree = 1 ) ); + wr2: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( SELF.directrix ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( SELF.directrix\surface_curve. + curve_3d ) ) AND ( SELF.directrix\surface_curve.curve_3d\b_spline_curve.degree = SELF.reference_surface\ + b_spline_surface.v_degree ) ) ); + END_ENTITY; + + ENTITY runout_zone_definition + SUBTYPE OF ( tolerance_zone_definition ); + orientation : runout_zone_orientation; + END_ENTITY; + + ENTITY runout_zone_orientation; + angle : plane_angle_measure_with_unit; + END_ENTITY; + + ENTITY runout_zone_orientation_reference_direction + SUBTYPE OF ( runout_zone_orientation ); + orientation_defining_relationship : shape_aspect_relationship; + END_ENTITY; + + ENTITY same_discretised_action_model; + id : identifier; + name : label; + description : OPTIONAL text; + equivalent_records : SET [2 : ?] OF discretised_action_model_select; + END_ENTITY; + + ENTITY same_discretised_distribution_model; + id : identifier; + name : label; + description : OPTIONAL text; + equivalent_records : SET [1 : ?] OF discretised_distribution_model_select; + END_ENTITY; + + ENTITY same_discretised_state_model; + id : identifier; + name : label; + description : OPTIONAL text; + equivalent_records : SET [2 : ?] OF discretised_state_model_select; + END_ENTITY; + + ENTITY same_idealised_action; + id : identifier; + name : label; + description : OPTIONAL text; + equivalent_records : SET [2 : ?] OF idealised_action_select; + END_ENTITY; + + ENTITY same_idealised_distribution; + id : identifier; + name : label; + description : OPTIONAL text; + equivalent_records : LIST [2 : ?] OF idealised_distribution_select; + END_ENTITY; + + ENTITY same_idealised_state; + id : identifier; + name : label; + description : OPTIONAL text; + equivalent_records : SET [2 : ?] OF idealised_state_select; + END_ENTITY; + + ENTITY satisfied_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : satisfies_requirement; + items : SET [1 : 1] OF product_definition; + END_ENTITY; + + ENTITY satisfies_requirement + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY satisfying_item + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : satisfies_requirement; + items : SET [1 : 1] OF requirement_satisfaction_item; + END_ENTITY; + + ENTITY scalar_variable + SUBTYPE OF ( abstract_variable ); + END_ENTITY; + + ENTITY screw_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + pitch : length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY screw_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : screw_pair; + actual_rotation : plane_angle_measure; + DERIVE + actual_translation : length_measure := ( SELF\pair_value.applies_to_pair\screw_pair.pitch * + plane_angle_for_pair_in_radian( SELF\pair_value.applies_to_pair, actual_rotation ) ) / ( 2 * PI ); + END_ENTITY; + + ENTITY screw_pair_with_range + SUBTYPE OF ( screw_pair ); + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + END_ENTITY; + + ENTITY sculptured_solid + SUBTYPE OF ( modified_solid ); + sculpturing_element : generalized_surface_select; + positive_side : BOOLEAN; + END_ENTITY; + + ENTITY sdgc_with_dimension + SUBTYPE OF ( surface_distance_geometric_constraint ); + distance_value : non_negative_length_measure; + END_ENTITY; + + ENTITY seam_curve + SUBTYPE OF ( surface_curve ); + WHERE + wr1: ( SIZEOF( SELF\surface_curve.associated_geometry ) = 2 ); + wr2: ( associated_surface( SELF\surface_curve.associated_geometry[1] ) = associated_surface( SELF\surface_curve. + associated_geometry[2] ) ); + wr3: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( SELF\surface_curve.associated_geometry[1] ) ); + wr4: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( SELF\surface_curve.associated_geometry[2] ) ); + END_ENTITY; + + ENTITY security_classification; + name : label; + purpose : text; + security_level : security_classification_level; + END_ENTITY; + + ENTITY security_classification_assignment + ABSTRACT SUPERTYPE; + assigned_security_classification : security_classification; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) + <= 1 ); + END_ENTITY; + + ENTITY security_classification_level; + name : label; + END_ENTITY; + + ENTITY selector_function + SUBTYPE OF ( maths_function, generic_literal ); + selector : input_selector; + source_of_domain : maths_space_or_function; + WHERE + wr1: no_cyclic_domain_reference( source_of_domain, [SELF] ); + wr2: expression_is_constant( domain_from( source_of_domain ) ); + END_ENTITY; + + ENTITY self_intersecting_curve + SUBTYPE OF ( self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + arc_length_separation_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' ] ); + wr4: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY self_intersecting_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + self_intersecting_curve, + self_intersecting_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY self_intersecting_loop + SUBTYPE OF ( topology_related_to_self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + arc_length_distance_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POINT_ON_EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY self_intersecting_shell + SUBTYPE OF ( topology_related_to_self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + geodesic_separation_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POINT_ON_FACE_SURFACE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POINT_ON_FACE_SURFACE'] ); + wr4: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY self_intersecting_surface + SUBTYPE OF ( self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + geodesic_separation_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' ] ); + wr4: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY serial_numbered_effectivity + SUBTYPE OF ( effectivity ); + effectivity_start_id : identifier; + effectivity_end_id : OPTIONAL identifier; + END_ENTITY; + + ENTITY series_composed_function + SUBTYPE OF ( maths_function, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF maths_function; + WHERE + wr1: composable_sequence( SELF\multiple_arity_generic_expression.operands ); + END_ENTITY; + + ENTITY shape_aspect + SUPERTYPE OF ( + ONEOF ( + contacting_feature, + datum, + datum_feature, + datum_target, + datum_system, + general_datum_reference ) ); + name : label; + description : OPTIONAL text; + of_shape : product_definition_shape; + product_definitional : LOGICAL; + DERIVE + id : identifier := get_id_value( SELF ); + UNIQUE + ur1 : id, of_shape; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= + 1 ); + END_ENTITY; + + ENTITY shape_aspect_associativity + SUBTYPE OF ( shape_aspect_relationship ); + WHERE + wr1: SELF.relating_shape_aspect.product_definitional; + wr2: ( NOT SELF.related_shape_aspect.product_definitional ); + END_ENTITY; + + ENTITY shape_aspect_deriving_relationship + SUBTYPE OF ( shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : derived_shape_aspect; + END_ENTITY; + + ENTITY shape_aspect_relationship; + name : label; + description : OPTIONAL text; + relating_shape_aspect : shape_aspect; + related_shape_aspect : shape_aspect; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= + 1 ); + END_ENTITY; + + ENTITY shape_aspect_relationship_representation_association; + represented_shape_aspect_relationship : shape_aspect_relationship; + representing_representation_relationship : representation_relationship; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( + representing_representation_relationship\representation_relationship.rep_1 ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( + representing_representation_relationship\representation_relationship.rep_2 ) ) ); + wr2: ( ( represented_shape_aspect_relationship.relating_shape_aspect IN using_shape_aspect_of_shape_representation( + representing_representation_relationship.rep_1 ) ) AND ( represented_shape_aspect_relationship.related_shape_aspect + IN using_shape_aspect_of_shape_representation( representing_representation_relationship.rep_2 ) ) ); + wr3: ( ( find_representative_shape_representation_of_product_definition( using_product_definition_of_shape_aspect( + represented_shape_aspect_relationship.relating_shape_aspect ) ).context_of_items :=: + find_representative_shape_representation_of_shape_aspect( represented_shape_aspect_relationship. + relating_shape_aspect ).context_of_items ) AND ( find_representative_shape_representation_of_product_definition( + using_product_definition_of_shape_aspect( represented_shape_aspect_relationship.related_shape_aspect ) ). + context_of_items :=: find_representative_shape_representation_of_shape_aspect( + represented_shape_aspect_relationship.related_shape_aspect ).context_of_items ) ); + wr4: ( using_product_definition_of_shape_aspect( represented_shape_aspect_relationship.relating_shape_aspect ) :<>: + using_product_definition_of_shape_aspect( represented_shape_aspect_relationship.related_shape_aspect ) ); + wr5: ( find_assembly_root( [using_product_definition_of_shape_aspect( represented_shape_aspect_relationship. + relating_shape_aspect )] ) :=: find_assembly_root( [using_product_definition_of_shape_aspect( + represented_shape_aspect_relationship.related_shape_aspect )] ) ); + END_ENTITY; + + ENTITY shape_criteria_representation_with_accuracy + SUBTYPE OF ( shape_data_quality_criteria_representation ); + required_general_accuracy : SET [1 : ?] OF shape_measurement_accuracy; + END_ENTITY; + + ENTITY shape_data_quality_assessment_by_logical_test + SUBTYPE OF ( data_quality_assessment_specification ); + END_ENTITY; + + ENTITY shape_data_quality_assessment_by_numerical_test + SUBTYPE OF ( data_quality_assessment_specification ); + threshold : shape_data_quality_value_limit_type_select; + END_ENTITY; + + ENTITY shape_data_quality_criteria_representation + SUBTYPE OF ( data_quality_criteria_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_CRITERION' ) IN TYPEOF( q ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY shape_data_quality_criterion + SUPERTYPE OF ( + ONEOF ( + erroneous_data, + inapt_data ) ) + SUBTYPE OF ( data_quality_criterion, data_quality_measurement_requirement ); + assessment_specification : shape_data_quality_assessment_specification_select; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.' + 'CRITERION' ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATED_REPRESENTATION_ITEM' ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN + TYPEOF( i1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATING_REPRESENTATION_ITEM' ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN + TYPEOF( i1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY shape_data_quality_criterion_and_accuracy_association; + required_specific_accuracy : shape_measurement_accuracy; + shape_data_quality_criterion : shape_data_quality_criterion; + END_ENTITY; + + ENTITY shape_data_quality_inspected_shape_and_result_relationship + SUBTYPE OF ( shape_representation_relationship ); + SELF\representation_relationship.rep_1 : shape_representation; + SELF\representation_relationship.rep_2 : shape_data_quality_inspection_result_representation; + WHERE + wr1: ( SIZEOF( using_product_definition_of_shape_representation( SELF.rep_1 ) * bag_to_set( inspected_product_definition( + SELF.rep_2 ) ) ) > 0 ); + wr2: ( SELF.rep_1\representation.context_of_items :=: SELF.rep_2\representation.context_of_items ); + END_ENTITY; + + ENTITY shape_data_quality_inspection_criterion_report + SUBTYPE OF ( data_quality_inspection_criterion_report ); + representative_measured_value : measured_value_select; + END_ENTITY; + + ENTITY shape_data_quality_inspection_instance_report + SUBTYPE OF ( data_quality_inspection_instance_report ); + SELF\data_quality_inspection_instance_report.inspected_instances : LIST [1 : ?] OF + shape_data_quality_inspection_instance_report_item; + END_ENTITY; + + ENTITY shape_data_quality_inspection_instance_report_item + SUBTYPE OF ( data_quality_inspection_instance_report_item ); + SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1 : ?] OF inspected_shape_element_select; + measured_value : measured_value_select; + END_ENTITY; + + ENTITY shape_data_quality_inspection_result + SUBTYPE OF ( data_quality_inspection_result ); + SELF\data_quality_inspection_result.criterion_inspected : shape_data_quality_criterion; + END_ENTITY; + + ENTITY shape_data_quality_inspection_result_representation + SUBTYPE OF ( data_quality_inspection_result_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ) ) > 0 ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\representation + .context_of_items ) ); + wr3: ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.' + 'REP_2' ) ) > 0 ); + END_ENTITY; + + ENTITY shape_data_quality_lower_value_limit + SUBTYPE OF ( shape_data_quality_value_limit ); + WHERE + wr1: ( SELF\qualified_representation_item.qualifiers[1].name = 'minimum' ); + END_ENTITY; + + ENTITY shape_data_quality_upper_value_limit + SUBTYPE OF ( shape_data_quality_value_limit ); + WHERE + wr1: ( SELF\qualified_representation_item.qualifiers[1].name = 'maximum' ); + END_ENTITY; + + ENTITY shape_data_quality_value_limit + ABSTRACT SUPERTYPE OF ( + ONEOF ( + shape_data_quality_upper_value_limit, + shape_data_quality_lower_value_limit ) ) + SUBTYPE OF ( measure_representation_item, qualified_representation_item ); + END_ENTITY; + + ENTITY shape_data_quality_value_range + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SET_REPRESENTATION_ITEM' IN TYPEOF( SELF\ + compound_representation_item.item_element ) ) AND ( SIZEOF( SELF\compound_representation_item.item_element ) = 2 ) + AND ( ( SIZEOF( QUERY ( i1 <* SELF\compound_representation_item.item_element | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) ) ) = 2 ) OR + ( SIZEOF( QUERY ( i2 <* SELF\compound_representation_item.item_element | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) ) ) = 2 ) ) ); + wr2: ( ( SIZEOF( QUERY ( i <* SELF\compound_representation_item.item_element | ( i.name = 'upper limit' ) ) ) = 1 ) AND ( + SIZEOF( QUERY ( i <* SELF\compound_representation_item.item_element | ( i.name = 'lower limit' ) ) ) = 1 ) ); + wr3: ( ( SIZEOF( QUERY ( i1 <* SELF\compound_representation_item.item_element | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) AND ( SIZEOF( + QUERY ( i2 <* SELF\compound_representation_item.item_element | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) AND ( i1 :<>: + i2 ) AND ( i1\measure_with_unit.unit_component :=: i2\measure_with_unit.unit_component ) ) ) ) = 1 ) ) ) ) = 2 ) OR + ( SIZEOF( QUERY ( i1 <* SELF\compound_representation_item.item_element | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) AND ( SIZEOF( + QUERY ( i2 <* SELF\compound_representation_item.item_element | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) AND ( i1 :<>: i2 ) + AND ( TYPEOF( i1\value_representation_item.value_component ) = TYPEOF( i2\value_representation_item.value_component ) ) ) ) ) + = 1 ) ) ) ) = 2 ) ); + END_ENTITY; + + ENTITY shape_defining_relationship + SUBTYPE OF ( shape_aspect_relationship ); + END_ENTITY; + + ENTITY shape_definition_representation + SUBTYPE OF ( property_definition_representation ); + SELF\property_definition_representation.definition : property_definition; + SELF\property_definition_representation.used_representation : shape_representation; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( definition ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINITION' IN TYPEOF( definition\property_definition. + definition ) ) ); + END_ENTITY; + + ENTITY shape_dimension_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF shape_dimension_representation_item; + END_ENTITY; + + ENTITY shape_feature_definition + SUBTYPE OF ( feature_definition ); + END_ENTITY; + + ENTITY shape_inspection_result_accuracy_association; + applied_specific_accuracy : shape_measurement_accuracy; + shape_data_quality_result : shape_data_quality_inspection_result; + END_ENTITY; + + ENTITY shape_inspection_result_representation_with_accuracy + SUBTYPE OF ( shape_data_quality_inspection_result_representation ); + applied_general_accuracy : SET [1 : ?] OF shape_measurement_accuracy; + END_ENTITY; + + ENTITY shape_measurement_accuracy; + description : text; + range : shape_data_quality_value_limit_type_select; + END_ENTITY; + + ENTITY shape_representation + SUBTYPE OF ( representation ); + END_ENTITY; + + ENTITY shape_representation_relationship + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN ( TYPEOF( SELF\ + representation_relationship.rep_1 ) + TYPEOF( SELF\representation_relationship.rep_2 ) ) ); + END_ENTITY; + + ENTITY shape_representation_with_parameters + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF shape_representation_with_parameters_items; + END_ENTITY; + + ENTITY shape_summary_request_with_representative_value + SUBTYPE OF ( summary_report_request ); + END_ENTITY; + + ENTITY shell_based_surface_model + SUBTYPE OF ( geometric_representation_item ); + sbsm_boundary : SET [1 : ?] OF shell; + WHERE + wr1: constraints_geometry_shell_based_surface_model( SELF ); + END_ENTITY; + + ENTITY shell_based_wireframe_model + SUBTYPE OF ( geometric_representation_item ); + sbwm_boundary : SET [1 : ?] OF shell; + WHERE + wr1: constraints_geometry_shell_based_wireframe_model( SELF ); + END_ENTITY; + + ENTITY shell_based_wireframe_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) + = 1 ) ) ) >= 1 ); + wr3 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( SIZEOF( + QUERY ( el <* eloop\path.edge_list | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN + TYPEOF( el.edge_element ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( SIZEOF( + QUERY ( pline_el <* QUERY ( el <* eloop\path.edge_list | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POLYLINE' IN TYPEOF( el.edge_element\edge_curve.edge_geometry ) ) ) | ( NOT ( SIZEOF( pline_el.edge_element\ + edge_curve.edge_geometry\polyline.points ) > 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( SIZEOF( + QUERY ( el <* eloop\path.edge_list | ( NOT valid_wireframe_edge_curve( el.edge_element\edge_curve.edge_geometry ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( SIZEOF( + QUERY ( el <* eloop\path.edge_list | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' + IN TYPEOF( el.edge_element.edge_start ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' + IN TYPEOF( el.edge_element.edge_end ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( SIZEOF( + QUERY ( el <* eloop\path.edge_list | ( NOT ( valid_wireframe_vertex_point( el.edge_element.edge_start\vertex_point + .vertex_geometry ) AND valid_wireframe_vertex_point( el.edge_element.edge_end\vertex_point.vertex_geometry ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( vloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( vloop\vertex_loop.loop_vertex ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( vloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT + valid_wireframe_vertex_point( vloop\vertex_loop.loop_vertex\vertex_point.vertex_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr10: ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( vs <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( vs\ + vertex_shell.vertex_shell_extent.loop_vertex ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( vs <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT valid_wireframe_vertex_point( vs\vertex_shell.vertex_shell_extent.loop_vertex\ + vertex_point.vertex_geometry ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( it ) ) ) | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr13: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ); + END_ENTITY; + + ENTITY shelled_solid + SUPERTYPE OF ( + ONEOF ( + double_offset_shelled_solid, + complex_shelled_solid ) ) + SUBTYPE OF ( modified_solid ); + deleted_face_set : SET [1 : ?] OF face_surface; + thickness : length_measure; + WHERE + wr1: ( thickness <> 0 ); + END_ENTITY; + + ENTITY short_length_curve + SUBTYPE OF ( nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY short_length_curve_segment + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE_SEGMENT' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY short_length_edge + SUBTYPE OF ( topology_related_to_nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY si_absorbed_dose_unit + SUBTYPE OF ( absorbed_dose_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.gray ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_capacitance_unit + SUBTYPE OF ( capacitance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.farad ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_conductance_unit + SUBTYPE OF ( conductance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.siemens ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_dose_equivalent_unit + SUBTYPE OF ( dose_equivalent_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.sievert ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_electric_charge_unit + SUBTYPE OF ( electric_charge_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.coulomb ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_electric_potential_unit + SUBTYPE OF ( electric_potential_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.volt ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_energy_unit + SUBTYPE OF ( energy_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.joule ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_force_unit + SUBTYPE OF ( force_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.newton ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_frequency_unit + SUBTYPE OF ( frequency_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.hertz ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_illuminance_unit + SUBTYPE OF ( illuminance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.lux ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_inductance_unit + SUBTYPE OF ( inductance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.henry ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_magnetic_flux_density_unit + SUBTYPE OF ( magnetic_flux_density_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.tesla ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_magnetic_flux_unit + SUBTYPE OF ( magnetic_flux_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.weber ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_power_unit + SUBTYPE OF ( power_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.watt ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_pressure_unit + SUBTYPE OF ( pressure_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.pascal ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_radioactivity_unit + SUBTYPE OF ( radioactivity_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.becquerel ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_resistance_unit + SUBTYPE OF ( resistance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.ohm ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_unit + SUBTYPE OF ( named_unit ); + prefix : OPTIONAL si_prefix; + name : si_unit_name; + DERIVE + SELF\named_unit.dimensions : dimensional_exponents := dimensions_for_si_unit( name ); + WHERE + wr1: ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MASS_UNIT' IN TYPEOF( SELF ) ) AND ( SIZEOF( USEDIN( + SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DERIVED_UNIT_ELEMENT.UNIT' ) ) > 0 ) ) ) OR ( prefix = + si_prefix.kilo ) ); + END_ENTITY; + + ENTITY simple_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + boolean_literal, + boolean_variable ) ) + SUBTYPE OF ( boolean_expression, simple_generic_expression ); + END_ENTITY; + + ENTITY simple_clause + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY simple_generic_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + generic_literal, + generic_variable ) ) + SUBTYPE OF ( generic_expression ); + END_ENTITY; + + ENTITY simple_numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + literal_number, + numeric_variable ) ) + SUBTYPE OF ( numeric_expression, simple_generic_expression ); + END_ENTITY; + + ENTITY simple_plane_2d_element_property + SUBTYPE OF ( plane_2d_element_property ); + END_ENTITY; + + ENTITY simple_string_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + string_literal, + string_variable ) ) + SUBTYPE OF ( string_expression, simple_generic_expression ); + END_ENTITY; + + ENTITY simulation_run; + id : identifier; + name : label; + description : text; + simulated : numerical_model; + results : SET [0 : ?] OF model_property_distribution; + END_ENTITY; + + ENTITY simultaneous_constraint_group + SUBTYPE OF ( variational_representation_item ); + constraint_group : SET [2 : ?] OF constraint_group_member; + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( SIZEOF( QUERY ( r <* q.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIMULTANEOUS_CONSTRAINT_GROUP' IN TYPEOF( r ) ) AND ( + SIZEOF( QUERY ( s <* constraint_group | ( ( s IN r\simultaneous_constraint_group.constraint_group ) AND ( NOT ( r + :=: SELF ) ) ) ) ) > 0 ) ) ) ) > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( q <* using_representations( constraint_group[1] ) | ( SIZEOF( QUERY ( r <* constraint_group | + item_in_context( r, q.context_of_items ) ) ) = SIZEOF( constraint_group ) ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( q <* constraint_group | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXPLICIT_CONSTRAINT' + IN TYPEOF( q ) ) AND ( SIZEOF( QUERY ( r <* q.constrained_elements | ( SIZEOF( QUERY ( s <* constraint_group | ( r + IN s.reference_elements ) ) ) > 0 ) ) ) > 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY sin_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY single_area_csg_2d_shape_representation + SUBTYPE OF ( csg_2d_shape_representation ); + SELF\representation.items : SET [1 : ?] OF csg_2d_area_select; + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SOLID_2D' IN TYPEOF( it ) ) ) ) + = 1 ); + END_ENTITY; + + ENTITY single_boundary_csg_2d_shape_representation + SUBTYPE OF ( single_area_csg_2d_shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_PRIMITIVE_SOLID_2D' + IN TYPEOF( it ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY' IN + TYPEOF( it\csg_primitive_solid_2d.tree_root_expression ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY single_point_constraint_element + SUBTYPE OF ( constraint_element ); + required_node : node_output_reference; + coordinate_system : fea_axis2_placement_3d; + freedoms_and_values : SET [1 : ?] OF freedom_and_coefficient; + description : text; + END_ENTITY; + + ENTITY single_point_constraint_element_values + SUBTYPE OF ( state_definition ); + element : single_point_constraint_element; + degrees_of_freedom : freedoms_list; + b : LIST [1 : ?] OF measure_or_unspecified_value; + WHERE + wr1: ( SIZEOF( degrees_of_freedom.freedoms ) = SIZEOF( b ) ); + END_ENTITY; + + ENTITY single_property_is_definition + SUBTYPE OF ( property_definition ); + SELF\property_definition.definition : product_definition; + UNIQUE + ur1 : SELF\property_definition.definition; + END_ENTITY; + + ENTITY skew_line_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 2] OF line; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF line; + distance_value : non_negative_length_measure; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) = 2 ); + END_ENTITY; + + ENTITY slash_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY sliding_curve_pair + SUBTYPE OF ( planar_curve_pair ); + END_ENTITY; + + ENTITY sliding_curve_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : sliding_curve_pair; + actual_point_on_curve_1 : point_on_curve; + actual_point_on_curve_2 : point_on_curve; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: actual_point_on_curve_1.basis_curve ); + wr2: ( SELF\pair_value.applies_to_pair\planar_curve_pair.curve_2 :=: actual_point_on_curve_2.basis_curve ); + END_ENTITY; + + ENTITY sliding_surface_pair + SUBTYPE OF ( surface_pair ); + END_ENTITY; + + ENTITY sliding_surface_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : sliding_surface_pair; + actual_point_on_surface_1 : point_on_surface; + actual_point_on_surface_2 : point_on_surface; + actual_rotation : plane_angle_measure; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: actual_point_on_surface_1.basis_surface ); + wr2: ( SELF\pair_value.applies_to_pair\surface_pair.surface_2 :=: actual_point_on_surface_2.basis_surface ); + END_ENTITY; + + ENTITY slot + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'swept shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( ( + sar.description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) = + 1 ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( ( + sar.description = 'path feature component usage' ) AND ( sar.name = 'course of travel' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'end condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'slot end usage' ) AND ( sar.name IN [ 'course of travel start', 'course of travel end'] ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT_END' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr. + relating_shape_aspect.description IN [ 'open', 'radiused', 'flat', 'woodruff'] ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT' IN TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) ) ) ) + = 1 ) ) ) ) = 2 ) OR ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = 'end condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'slot end usage' ) AND ( sar.name IN [ 'course of travel start', + 'course of travel end' ] ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT_END' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr. + relating_shape_aspect.description IN [ 'loop'] ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT' IN + TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) ) = 0 ); + wr5: ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'end condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'slot end usage' ) AND ( sar.name IN [ 'course of travel start', 'course of travel end'] ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT_END' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr. + relating_shape_aspect.description IN [ 'loop'] ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT' IN + TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( sa_occ.description = 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'path feature component usage' ) AND ( sar.name = + 'course of travel' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN + TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( + sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description IN [ 'complex', 'complete circular'] ) ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY slot_end + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2 : ( SELF.description IN [ 'open', 'radiused', 'flat', 'woodruff', 'loop'] ); + wr3 : ( ( NOT ( SELF.description IN [ 'open', 'radiused', 'loop'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF.description IN [ 'flat', 'woodruff'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF.description IN [ 'flat'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'first radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'second radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'woodruff' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it ) ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF.description IN [ 'woodruff'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'slot end usage' ) AND ( sar. + name IN [ 'course of travel start', 'course of travel end'] ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + ( fcr.related_shape_aspect.description = 'end condition occurrence' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT' IN TYPEOF( fcr.related_shape_aspect.of_shape. + definition ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT_END' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + END_ENTITY; + + ENTITY small_area_face + SUBTYPE OF ( topology_related_to_nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY small_area_surface + SUBTYPE OF ( nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY small_area_surface_patch + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_PATCH' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY small_volume_solid + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VOLUME_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VOLUME_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VOLUME_MEASURE'] ); + END_ENTITY; + + ENTITY smeared_material_definition + SUBTYPE OF ( zone_structural_makeup ); + END_ENTITY; + + ENTITY software_for_data_quality_check; + description : text; + software_name : text; + software_version : text; + data_quality : data_quality_definition_representation_relationship; + END_ENTITY; + + ENTITY solid_angle_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_ANGLE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY solid_angle_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY solid_constraint + SUBTYPE OF ( constraint_element ); + required_solid : analysis_item_within_representation; + coordinate_system : fea_axis2_placement_3d; + freedoms_and_coefficients : SET [1 : ?] OF freedom_and_coefficient; + description : text; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_MODEL' IN TYPEOF( required_solid.item ) ); + END_ENTITY; + + ENTITY solid_curve_font + SUBTYPE OF ( pre_defined_curve_font ); + END_ENTITY; + + ENTITY solid_freedom_action_definition + SUBTYPE OF ( solid_freedom_and_value_definition ); + action : action_type; + END_ENTITY; + + ENTITY solid_freedom_and_value_definition + SUPERTYPE OF ( + ONEOF ( + solid_freedom_values, + solid_freedom_action_definition ) ) + SUBTYPE OF ( state_definition ); + required_solid : analysis_item_within_representation; + coordinate_system : fea_axis2_placement_3d; + degrees_of_freedom : freedoms_list; + values : LIST [1 : ?] OF measure_or_unspecified_value; + WHERE + wr1: ( SIZEOF( degrees_of_freedom.freedoms ) = SIZEOF( values ) ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_MODEL' IN TYPEOF( required_solid.item ) ); + END_ENTITY; + + ENTITY solid_freedom_values + SUBTYPE OF ( solid_freedom_and_value_definition ); + END_ENTITY; + + ENTITY solid_model + SUPERTYPE OF ( + ONEOF ( + csg_solid, + manifold_solid_brep, + swept_face_solid, + swept_area_solid, + swept_disk_solid, + solid_replica ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY solid_replica + SUBTYPE OF ( solid_model ); + parent_solid : solid_model; + transformation : cartesian_transformation_operator_3d; + WHERE + wr1: acyclic_solid_replica( SELF, parent_solid ); + wr2: ( parent_solid\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY solid_with_angle_based_chamfer + SUBTYPE OF ( solid_with_chamfered_edges ); + offset_distance : positive_length_measure; + left_offset : BOOLEAN; + offset_angle : positive_plane_angle_measure; + END_ENTITY; + + ENTITY solid_with_chamfered_edges + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_single_offset_chamfer, + solid_with_double_offset_chamfer, + solid_with_angle_based_chamfer ) ) + SUBTYPE OF ( edge_blended_solid ); + END_ENTITY; + + ENTITY solid_with_circular_pattern + SUPERTYPE OF ( + solid_with_incomplete_circular_pattern ) + SUBTYPE OF ( solid_with_shape_element_pattern ); + replicate_count : positive_integer; + angular_spacing : plane_angle_measure; + radial_alignment : BOOLEAN; + reference_point : point; + END_ENTITY; + + ENTITY solid_with_circular_pocket + SUBTYPE OF ( solid_with_pocket ); + pocket_radius : positive_length_measure; + WHERE + wr1: ( SELF\solid_with_pocket.floor_blend_radius <= pocket_radius ); + END_ENTITY; + + ENTITY solid_with_circular_protrusion + SUBTYPE OF ( solid_with_protrusion ); + protrusion_radius : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_conical_bottom_round_hole + SUBTYPE OF ( solid_with_stepped_round_hole ); + semi_apex_angle : positive_plane_angle_measure; + tip_radius : non_negative_length_measure; + WHERE + wr1: ( tip_radius < SELF\solid_with_stepped_round_hole.segment_radii[segments] ); + END_ENTITY; + + ENTITY solid_with_constant_radius_edge_blend + SUBTYPE OF ( edge_blended_solid ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_curved_slot + SUBTYPE OF ( solid_with_slot ); + slot_centreline : bounded_curve; + END_ENTITY; + + ENTITY solid_with_depression + ABSTRACT SUPERTYPE OF ( + solid_with_through_depression + ANDOR + ONEOF ( + solid_with_hole, + solid_with_pocket, + solid_with_slot, + solid_with_groove ) ) + SUBTYPE OF ( modified_solid_with_placed_configuration ); + depth : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_double_offset_chamfer + SUBTYPE OF ( solid_with_chamfered_edges ); + left_offset_distance : positive_length_measure; + right_offset_distance : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_excessive_number_of_voids + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY solid_with_flat_bottom_round_hole + SUBTYPE OF ( solid_with_stepped_round_hole ); + fillet_radius : non_negative_length_measure; + WHERE + wr1: ( fillet_radius < SELF\solid_with_stepped_round_hole.segment_radii[segments] ); + END_ENTITY; + + ENTITY solid_with_general_pocket + SUBTYPE OF ( solid_with_pocket ); + profile : positioned_sketch; + reference_point : point; + WHERE + wr1: ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' ] * TYPEOF( profile.sketch_basis ) ) = 1 ); + wr2: ( profile IN using_items( reference_point, [] ) ); + END_ENTITY; + + ENTITY solid_with_general_protrusion + SUBTYPE OF ( solid_with_protrusion ); + profile : positioned_sketch; + reference_point : point; + WHERE + wr1: ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' ] * TYPEOF( profile.sketch_basis ) ) = 1 ); + wr2: ( profile IN using_items( reference_point, [] ) ); + END_ENTITY; + + ENTITY solid_with_groove + SUBTYPE OF ( solid_with_depression ); + groove_radius : positive_length_measure; + groove_width : positive_length_measure; + draft_angle : plane_angle_measure; + floor_fillet_radius : non_negative_length_measure; + external_groove : BOOLEAN; + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY solid_with_hole + ABSTRACT SUPERTYPE OF ( + solid_with_stepped_round_hole ) + SUBTYPE OF ( solid_with_depression ); + END_ENTITY; + + ENTITY solid_with_incomplete_circular_pattern + SUBTYPE OF ( solid_with_circular_pattern ); + omitted_instances : SET [1 : ?] OF positive_integer; + WHERE + wr1: ( SIZEOF( omitted_instances ) < SELF\solid_with_circular_pattern.replicate_count ); + wr2: ( SIZEOF( QUERY ( q <* omitted_instances | ( q > SELF\solid_with_circular_pattern.replicate_count ) ) ) = 0 ); + END_ENTITY; + + ENTITY solid_with_incomplete_rectangular_pattern + SUBTYPE OF ( solid_with_rectangular_pattern ); + omitted_instances : SET [1 : ?] OF LIST [2 : 2] OF positive_integer; + WHERE + wr1: ( NOT ( [1, 1] IN omitted_instances ) ); + wr2: ( SIZEOF( omitted_instances ) < ( ( SELF\solid_with_rectangular_pattern.row_count * SELF\ + solid_with_rectangular_pattern.column_count ) - 1 ) ); + wr3: ( SIZEOF( QUERY ( q <* omitted_instances | ( ( q[1] > SELF\solid_with_rectangular_pattern.row_count ) OR ( q[2] > SELF + \solid_with_rectangular_pattern.column_count ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY solid_with_pocket + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_rectangular_pocket, + solid_with_circular_pocket, + solid_with_general_pocket ) ) + SUBTYPE OF ( solid_with_depression ); + floor_blend_radius : non_negative_length_measure; + draft_angle : plane_angle_measure; + END_ENTITY; + + ENTITY solid_with_protrusion + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_circular_protrusion, + solid_with_rectangular_protrusion, + solid_with_general_protrusion ) ) + SUBTYPE OF ( modified_solid_with_placed_configuration ); + protrusion_height : positive_length_measure; + protrusion_draft_angle : plane_angle_measure; + END_ENTITY; + + ENTITY solid_with_rectangular_pattern + SUPERTYPE OF ( + solid_with_incomplete_rectangular_pattern ) + SUBTYPE OF ( solid_with_shape_element_pattern ); + row_count : positive_integer; + column_count : positive_integer; + row_spacing : length_measure; + column_spacing : length_measure; + WHERE + wr1: ( ( row_count * column_count ) > 1 ); + END_ENTITY; + + ENTITY solid_with_rectangular_pocket + SUBTYPE OF ( solid_with_pocket ); + pocket_length : positive_length_measure; + pocket_width : positive_length_measure; + corner_radius : non_negative_length_measure; + WHERE + wr1: ( ( corner_radius < ( pocket_width / 2 ) ) AND ( corner_radius < ( pocket_length / 2 ) ) ); + END_ENTITY; + + ENTITY solid_with_rectangular_protrusion + SUBTYPE OF ( solid_with_protrusion ); + protrusion_length : positive_length_measure; + protrusion_width : positive_length_measure; + protrusion_corner_radius : non_negative_length_measure; + WHERE + wr1: ( ( protrusion_corner_radius <= ( protrusion_width / 2 ) ) AND ( protrusion_corner_radius <= ( protrusion_length / 2 ) ) ); + END_ENTITY; + + ENTITY solid_with_shape_element_pattern + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_circular_pattern, + solid_with_rectangular_pattern ) ) + SUBTYPE OF ( modified_solid_with_placed_configuration ); + replicated_element : modified_solid_with_placed_configuration; + END_ENTITY; + + ENTITY solid_with_single_offset_chamfer + SUBTYPE OF ( solid_with_chamfered_edges ); + offset_distance : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_slot + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_trapezoidal_section_slot, + solid_with_tee_section_slot ) + AND + ONEOF ( + solid_with_straight_slot, + solid_with_curved_slot ) ) + SUBTYPE OF ( solid_with_depression ); + slot_width : positive_length_measure; + closed_ends : LIST [2 : 2] OF LOGICAL; + end_exit_faces : LIST [2 : 2] OF SET [0 : ?] OF face_surface; + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN TYPEOF( SELF ) ) AND + ( closed_ends = [FALSE, FALSE] ) ) ); + wr2: ( NOT ( ( ( closed_ends[1] = TRUE ) AND ( SIZEOF( end_exit_faces[1] ) <> 0 ) ) OR ( ( closed_ends[2] = TRUE ) AND ( + SIZEOF( end_exit_faces[2] ) <> 0 ) ) ) ); + END_ENTITY; + + ENTITY solid_with_spherical_bottom_round_hole + SUBTYPE OF ( solid_with_stepped_round_hole ); + sphere_radius : positive_length_measure; + WHERE + wr1: ( sphere_radius >= SELF\solid_with_stepped_round_hole.segment_radii[segments] ); + END_ENTITY; + + ENTITY solid_with_stepped_round_hole + SUPERTYPE OF ( + solid_with_stepped_round_hole_and_conical_transitions + ANDOR + ONEOF ( + solid_with_flat_bottom_round_hole, + solid_with_conical_bottom_round_hole, + solid_with_spherical_bottom_round_hole ) ) + SUBTYPE OF ( solid_with_hole ); + segments : positive_integer; + segment_radii : LIST [1 : segments] OF positive_length_measure; + segment_depths : LIST [1 : segments] OF positive_length_measure; + DERIVE + SELF\solid_with_depression.depth : positive_length_measure := compute_total_depth( SELF ); + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN TYPEOF( SELF ) ) AND + ( SIZEOF( TYPEOF( SELF ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE' ] ) <> 0 ) ) ); + END_ENTITY; + + ENTITY solid_with_stepped_round_hole_and_conical_transitions + SUBTYPE OF ( solid_with_stepped_round_hole ); + conical_transitions : SET [1 : ?] OF conical_stepped_hole_transition; + WHERE + wr1: ( SIZEOF( conical_transitions ) <= ( SELF\solid_with_stepped_round_hole.segments + 1 ) ); + wr2: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN TYPEOF( SELF ) ) XOR ( + SIZEOF( conical_transitions ) <= SELF\solid_with_stepped_round_hole.segments ) ); + wr3: validate_countersink_radii( SELF ); + END_ENTITY; + + ENTITY solid_with_straight_slot + SUBTYPE OF ( solid_with_slot ); + slot_length : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_tee_section_slot + SUBTYPE OF ( solid_with_slot ); + tee_section_width : positive_length_measure; + collar_depth : positive_length_measure; + WHERE + wr1: ( collar_depth < SELF\solid_with_depression.depth ); + wr2: ( tee_section_width > SELF\solid_with_slot.slot_width ); + END_ENTITY; + + ENTITY solid_with_through_depression + SUBTYPE OF ( solid_with_depression ); + exit_faces : SET [1 : ?] OF face_surface; + WHERE + wr1: ( SIZEOF( TYPEOF( SELF ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_HOLE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_POCKET' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_SLOT' ] ) = 1 ); + END_ENTITY; + + ENTITY solid_with_trapezoidal_section_slot + SUBTYPE OF ( solid_with_slot ); + draft_angle : plane_angle_measure; + floor_fillet_radius : non_negative_length_measure; + END_ENTITY; + + ENTITY solid_with_variable_radius_edge_blend + SUBTYPE OF ( track_blended_solid ); + point_list : LIST [2 : ?] OF point; + radius_list : LIST [2 : ?] OF positive_length_measure; + edge_function_list : LIST [1 : ?] OF blend_radius_variation_type; + WHERE + wr1: ( SIZEOF( point_list ) = SIZEOF( radius_list ) ); + wr2: ( SIZEOF( edge_function_list ) = ( SIZEOF( radius_list ) - 1 ) ); + wr3: ( NOT ( ( point_list[1] = point_list[HIINDEX( point_list )] ) AND ( NOT ( radius_list[1] = radius_list[HIINDEX( + radius_list )] ) ) ) ); + END_ENTITY; + + ENTITY solid_with_wrong_number_of_voids + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY source_for_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_source; + items : SET [1 : 1] OF requirement_source_item; + END_ENTITY; + + ENTITY sourced_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_source; + items : SET [1 : 1] OF product_definition; + END_ENTITY; + + ENTITY spatial_decomposition_of_numerical_model; + parts : SET [2 : ?] OF numerical_model; + whole : numerical_model; + END_ENTITY; + + ENTITY spatial_decomposition_of_temporal_spatial_domain; + parts : SET [2 : ?] OF temporal_spatial_domain; + whole : temporal_spatial_domain; + END_ENTITY; + + ENTITY specification_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY specified_general_property + SUBTYPE OF ( general_property ); + name_specifier : choose_general_property_identifier; + END_ENTITY; + + ENTITY specified_higher_usage_occurrence + SUBTYPE OF ( assembly_component_usage ); + upper_usage : assembly_component_usage; + next_usage : next_assembly_usage_occurrence; + UNIQUE + ur1 : upper_usage, next_usage; + WHERE + wr1: ( SELF :<>: upper_usage ); + wr2: ( SELF\product_definition_relationship.relating_product_definition :=: upper_usage.relating_product_definition ); + wr3: ( SELF\product_definition_relationship.related_product_definition :=: next_usage.related_product_definition ); + wr4: ( ( upper_usage.related_product_definition :=: next_usage.relating_product_definition ) OR ( SIZEOF( QUERY ( pdr <* + USEDIN( upper_usage.related_product_definition, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) | ( pdr.relating_product_definition :=: + next_usage.relating_product_definition ) ) ) = 1 ) ); + wr5: ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NEXT_ASSEMBLY_USAGE_OCCURRENCE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPECIFIED_HIGHER_USAGE_OCCURRENCE' ] * TYPEOF( upper_usage ) ) + = 1 ); + END_ENTITY; + + ENTITY specified_representation_context + SUBTYPE OF ( representation_context ); + class_specifier : choose_representation_context_identifier; + END_ENTITY; + + ENTITY specified_state + SUBTYPE OF ( state ); + END_ENTITY; + + ENTITY sphere + SUBTYPE OF ( geometric_representation_item ); + radius : positive_length_measure; + centre : point; + END_ENTITY; + + ENTITY spherical_cap + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( + it.name = 'internal angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY spherical_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY spherical_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : spherical_pair_select; + input_orientation : spatial_rotation; + DERIVE + actual_orientation : ypr_rotation := convert_spatial_to_ypr_rotation( SELF\pair_value.applies_to_pair, input_orientation ); + END_ENTITY; + + ENTITY spherical_pair_with_pin + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY spherical_pair_with_pin_and_range + SUBTYPE OF ( spherical_pair_with_pin ); + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + END_ENTITY; + + ENTITY spherical_pair_with_range + SUBTYPE OF ( spherical_pair ); + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_pitch : OPTIONAL plane_angle_measure; + upper_limit_pitch : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_pitch ) ) OR ( NOT EXISTS( upper_limit_pitch ) ) ) XOR ( lower_limit_pitch < + upper_limit_pitch ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + END_ENTITY; + + ENTITY spherical_surface + SUBTYPE OF ( elementary_surface ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY sql_mappable_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( defined_function ); + END_ENTITY; + + ENTITY square_root_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY square_u_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 4 ) ) AND ( SIZEOF( impl_rep + .used_representation.items ) <= 7 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'width' ) OR ( srwp_i.name = + 'first angle' ) OR ( srwp_i.name = 'second angle' ) OR ( srwp_i.name = 'first radius' ) OR ( srwp_i.name = + 'second radius' ) OR ( srwp_i.name = 'profile limit' ) OR ( srwp_i.name = 'depth' ) ) ) ) = SIZEOF( pdr. + used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'first radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'second radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'first angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'second angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY standard_table_function + SUBTYPE OF ( linearized_table_function ); + order : ordering_type; + WHERE + wr1: extremal_position_check( SELF ); + END_ENTITY; + + ENTITY standard_uncertainty + SUPERTYPE OF ( + expanded_uncertainty ) + SUBTYPE OF ( uncertainty_qualifier ); + uncertainty_value : REAL; + END_ENTITY; + + ENTITY start_request + SUBTYPE OF ( action_request_assignment ); + items : SET [1 : ?] OF start_request_item; + END_ENTITY; + + ENTITY start_work + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF work_item; + END_ENTITY; + + ENTITY state + SUPERTYPE OF ( + ONEOF ( + specified_state, + calculated_state, + linearly_superimposed_state, + output_request_state ) ); + state_id : identifier; + description : text; + END_ENTITY; + + ENTITY state_component + SUBTYPE OF ( state ); + state : linearly_superimposed_state; + factor : context_dependent_measure; + END_ENTITY; + + ENTITY state_definition + SUPERTYPE OF ( + ONEOF ( + field_variable_definition, + nodal_freedom_and_value_definition, + element_nodal_freedom_actions, + point_freedom_and_value_definition, + curve_freedom_and_value_definition, + surface_freedom_and_value_definition, + solid_freedom_and_value_definition, + linear_constraint_equation_element_value, + single_point_constraint_element_values, + analysis_message ) ); + defined_state : state; + END_ENTITY; + + ENTITY state_relationship; + name : label; + description : text; + relating_state : state; + related_state : state; + END_ENTITY; + + ENTITY state_type; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY state_type_assignment + ABSTRACT SUPERTYPE; + assigned_state_type : state_type; + role : state_type_role; + END_ENTITY; + + ENTITY state_type_relationship; + name : label; + description : OPTIONAL text; + relating_state_type : SET [1 : ?] OF state_type; + related_state_type : SET [1 : ?] OF state_type; + END_ENTITY; + + ENTITY state_type_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY state_view_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + discretised_model : discretised_state_model_select; + idealised_state : idealised_state_select; + END_ENTITY; + + ENTITY state_with_harmonic + SUBTYPE OF ( state ); + symmetry : cylindrical_symmetry_control; + END_ENTITY; + + ENTITY stationary_mass + SUBTYPE OF ( point_element_matrix ); + mass : ARRAY [1 : 3] OF context_dependent_measure; + moments_of_inertia : symmetric_tensor2_3d; + coordinate_system : fea_axis2_placement_3d; + offset_vector : ARRAY [1 : 3] OF context_dependent_measure; + END_ENTITY; + + ENTITY steep_angle_between_adjacent_edges + SUBTYPE OF ( steep_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'] ); + END_ENTITY; + + ENTITY steep_angle_between_adjacent_faces + SUBTYPE OF ( steep_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'] ); + END_ENTITY; + + ENTITY steep_geometry_transition_across_edge + ABSTRACT SUPERTYPE OF ( + ONEOF ( + steep_angle_between_adjacent_edges, + steep_angle_between_adjacent_faces ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY step + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = + 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'removal boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'VEE_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + wr5: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( + pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( csa.name = 'uncut volume' ) AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( + SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROTRUSION' ] * TYPEOF( sar.related_shape_aspect ) ) = 1 ) ) ) ) + = 1 ) ) ) ) <= 1 ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY straightness_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN + TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY strict_triangular_matrix + SUBTYPE OF ( triangular_matrix ); + main_diagonal_value : maths_value; + END_ENTITY; + + ENTITY string_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( defined_function, string_expression ); + END_ENTITY; + + ENTITY string_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_string_expression, + index_expression, + substring_expression, + concat_expression, + format_function, + string_defined_function ) ) + SUBTYPE OF ( expression ); + END_ENTITY; + + ENTITY string_literal + SUBTYPE OF ( simple_string_expression, generic_literal ); + the_value : STRING; + END_ENTITY; + + ENTITY string_variable + SUBTYPE OF ( simple_string_expression, variable ); + END_ENTITY; + + ENTITY structural_response_property + SUBTYPE OF ( property_definition ); + END_ENTITY; + + ENTITY structural_response_property_definition_representation + SUBTYPE OF ( property_definition_representation ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'STRUCTURAL_RESPONSE_PROPERTY' ) IN TYPEOF( SELF\ + property_definition_representation.definition ) ); + wr2: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEA_MODEL' IN TYPEOF( SELF\ + property_definition_representation.used_representation ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEA_MODEL_DEFINITION' IN TYPEOF( SELF\ + property_definition_representation.definition.definition ) ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENT_REPRESENTATION' IN TYPEOF( SELF\ + property_definition_representation.used_representation ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENT_DEFINITION' IN TYPEOF( SELF\ + property_definition_representation.definition.definition ) ) ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NODE_REPRESENTATION' IN TYPEOF( SELF\ + property_definition_representation.used_representation ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NODE_DEFINITION' IN TYPEOF( SELF\ + property_definition_representation.definition.definition ) ) ) ); + END_ENTITY; + + ENTITY structured_dimension_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( TYPEOF( SELF ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM_FEATURE_CALLOUT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM_TARGET_CALLOUT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRICAL_TOLERANCE_CALLOUT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' ] ) = 0 ); + wr2: ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( NOT ( ato.name IN [ 'dimension value', 'tolerance value', + 'unit text' , 'prefix text', 'suffix text'] ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( ato.name = 'dimension value' ) ) ) >= 1 ); + wr4: ( SIZEOF( QUERY ( dcr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) IN TYPEOF( + dcr ) ) AND ( dcr.name = 'prefix' ) ) ) ) <= 1 ); + wr5: ( SIZEOF( QUERY ( dcr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) IN TYPEOF( + dcr ) ) AND ( dcr.name = 'suffix' ) ) ) ) <= 1 ); + wr6: ( ( NOT ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( ato.name = 'prefix text' ) ) ) > 0 ) ) OR ( SIZEOF( + QUERY ( dcr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) IN TYPEOF( + dcr ) ) AND ( dcr.name = 'prefix' ) ) ) ) = 1 ) ); + wr7: ( ( NOT ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( ato.name = 'suffix text' ) ) ) > 0 ) ) OR ( SIZEOF( + QUERY ( dcr <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) IN TYPEOF( + dcr ) ) AND ( dcr.name = 'suffix' ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY structured_donor_mesh + SUBTYPE OF ( mismatched_donor_mesh ); + SELF\mismatched_donor_mesh.donor : structured_mesh; + points : listed_real_data; + vsize : INTEGER; + DERIVE + index_count : INTEGER := donor.index_count; + END_ENTITY; + + ENTITY structured_mesh + SUBTYPE OF ( mesh ); + vertex_counts : ARRAY [1 : SELF\mesh.index_count] OF INTEGER; + cell_counts : ARRAY [1 : SELF\mesh.index_count] OF INTEGER; + kind : structured_mesh_type; + END_ENTITY; + + ENTITY structured_mesh_with_rind + SUBTYPE OF ( structured_mesh ); + rind_planes : rind; + END_ENTITY; + + ENTITY structured_text_composition + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY structured_text_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF string_representation_item_select; + END_ENTITY; + + ENTITY styled_item + SUBTYPE OF ( representation_item ); + styles : SET [1 : ?] OF presentation_style_assignment; + item : styled_item_target; + WHERE + wr1: ( ( SIZEOF( SELF.styles ) = 1 ) XOR ( SIZEOF( QUERY ( pres_style <* SELF.styles | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_STYLE_BY_CONTEXT' ) IN TYPEOF( pres_style ) ) ) ) ) + = 0 ) ); + wr2: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( item ) ) ); + wr3: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( item ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( item ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONTEXT_DEPENDENT_OVER_RIDING_STYLED_ITEM' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY su_parameters + SUBTYPE OF ( geometric_representation_item ); + a : length_measure; + alpha : plane_angle_measure; + b : length_measure; + beta : plane_angle_measure; + c : length_measure; + gamma : plane_angle_measure; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY subedge + SUBTYPE OF ( edge ); + parent_edge : edge; + END_ENTITY; + + ENTITY subface + SUBTYPE OF ( face ); + parent_face : face; + WHERE + wr1: ( NOT mixed_loop_type_set( list_to_set( list_face_loops( SELF ) ) + list_to_set( list_face_loops( parent_face ) ) ) ); + END_ENTITY; + + ENTITY submesh + SUBTYPE OF ( mesh ); + END_ENTITY; + + ENTITY subsketch + SUBTYPE OF ( geometric_representation_item ); + subsketch_elements : SET [1 : ?] OF sketch_element_select; + owning_sketch : sketch_type_select; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' IN TYPEOF( owning_sketch ) ) + AND ( SIZEOF( QUERY ( q <* subsketch_elements | ( NOT ( owning_sketch IN using_representations( q ) ) ) ) ) = 0 ) ) + XOR ( ( SIZEOF( TYPEOF( owning_sketch ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIONED_SKETCH', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBSKETCH' ] ) = 1 ) AND ( SIZEOF( QUERY ( q <* + subsketch_elements | ( NOT ( owning_sketch IN using_items( q, [] ) ) ) ) ) = 0 ) ) ); + END_ENTITY; + + ENTITY substring_expression + SUBTYPE OF ( string_expression, multiple_arity_generic_expression ); + DERIVE + operand : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + index1 : generic_expression := SELF\multiple_arity_generic_expression.operands[2]; + index2 : generic_expression := SELF\multiple_arity_generic_expression.operands[3]; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( operand ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( index1 ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( index2 ) ) ); + wr2: ( SIZEOF( SELF\multiple_arity_generic_expression.operands ) = 3 ); + wr3: is_int_expr( index1 ); + wr4: is_int_expr( index2 ); + END_ENTITY; + + ENTITY substructure_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model; + substructure_model_ref : fea_model; + UNIQUE + ur1 : model_ref, SELF\representation.name; + END_ENTITY; + + ENTITY substructure_node_reference; + substructure_element_ref : substructure_element_representation; + node_ref : node_representation; + END_ENTITY; + + ENTITY substructure_node_relationship + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NODE_REPRESENTATION' IN TYPEOF( SELF\representation_relationship + .rep_1 ) ); + wr2: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NODE_REPRESENTATION' IN TYPEOF( SELF\representation_relationship + .rep_2 ) ); + END_ENTITY; + + ENTITY summary_report_request + SUBTYPE OF ( data_quality_report_request ); + summary_report_request_type : summary_report_type; + END_ENTITY; + + ENTITY supplied_part_relationship + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY surface + SUPERTYPE OF ( + ONEOF ( + elementary_surface, + swept_surface, + bounded_surface, + offset_surface, + surface_replica ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY surface_2d_element_basis; + descriptor : surface_2d_element_descriptor; + variable : surface_element_variable; + variable_order : element_order; + variable_shape_function : shape_function; + evaluation_points : LIST [1 : ?] OF surface_element_location; + END_ENTITY; + + ENTITY surface_2d_element_boundary_constant_specified_surface_variable_value + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_variable; + element_face : surface_2d_face; + coordinate_system : OPTIONAL surface_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_boundary_constant_specified_variable_value + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_aggregated_variable; + element_face : surface_2d_face; + coordinate_system : OPTIONAL surface_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_boundary_edge_constant_specified_surface_variable_value + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_edge_variable; + element_edge : surface_2d_edge; + coordinate_system : OPTIONAL surface_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_boundary_edge_constant_specified_variable_value + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_edge_variable; + element_edge : surface_2d_edge; + coordinate_system : OPTIONAL surface_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_boundary_edge_location_point_surface_variable_values + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF surface_2d_element_value_and_volume_location; + variable : boundary_edge_variable; + element_edge : surface_2d_edge; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_boundary_edge_location_point_variable_values + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF surface_2d_element_value_and_location; + variable : boundary_edge_variable; + element_edge : surface_2d_edge; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_boundary_edge_nodal_specified_variable_values + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : boundary_edge_variable; + element_edge : surface_2d_edge; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_boundary_edge_whole_edge_variable_value + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_aggregated_variable; + element_edge : surface_2d_edge; + coordinate_system : OPTIONAL surface_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_boundary_location_point_surface_variable_values + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF surface_2d_element_value_and_location; + variable : boundary_variable; + element_face : surface_2d_face; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_boundary_nodal_specified_variable_values + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : boundary_variable; + element_face : surface_2d_face; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_boundary_whole_face_variable_value + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_aggregated_variable; + element_face : surface_2d_face; + coordinate_system : OPTIONAL surface_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_constant_specified_variable_value + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + simple_value : field_value; + variable : surface_element_variable; + coordinate_system : OPTIONAL surface_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_constant_specified_volume_variable_value + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_variable; + coordinate_system : OPTIONAL surface_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_field_variable_definition + SUPERTYPE OF ( + ONEOF ( + surface_2d_element_location_point_volume_variable_values, + surface_2d_element_location_point_variable_values, + surface_2d_whole_element_variable_value, + surface_2d_element_constant_specified_variable_value, + surface_2d_element_constant_specified_volume_variable_value, + surface_2d_element_nodal_specified_variable_values, + surface_2d_element_boundary_location_point_surface_variable_values, + surface_2d_element_boundary_whole_face_variable_value, + surface_2d_element_boundary_constant_specified_variable_value, + surface_2d_element_boundary_constant_specified_surface_variable_value, + surface_2d_element_boundary_nodal_specified_variable_values, + surface_2d_element_boundary_edge_location_point_surface_variable_values, + surface_2d_element_boundary_edge_location_point_variable_values, + surface_2d_element_boundary_edge_whole_edge_variable_value, + surface_2d_element_boundary_edge_constant_specified_variable_value, + surface_2d_element_boundary_edge_constant_specified_surface_variable_value, + surface_2d_element_boundary_edge_nodal_specified_variable_values ) ) + SUBTYPE OF ( field_variable_element_definition ); + element : surface_2d_element_output_reference; + END_ENTITY; + + ENTITY surface_2d_element_group + SUBTYPE OF ( element_group ); + WHERE + wr1: ( SIZEOF( QUERY ( item <* elements | ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'AXISYMMETRIC_SURFACE_2D_ELEMENT_REPRESENTATION' ) IN TYPEOF( item ) ) ) AND ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PLANE_SURFACE_2D_ELEMENT_REPRESENTATION' ) IN TYPEOF( + item ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_2d_element_integrated_matrix; + descriptor : surface_2d_element_descriptor; + property_type : surface_matrix_property_type; + integration_description : text; + END_ENTITY; + + ENTITY surface_2d_element_integrated_matrix_with_definition + SUBTYPE OF ( surface_2d_element_integrated_matrix ); + integration_definition : surface_2d_element_integration; + END_ENTITY; + + ENTITY surface_2d_element_integration; + element_length : surface_2d_element_length_integration; + section : surface_section_integration; + END_ENTITY; + + ENTITY surface_2d_element_length_integration_explicit; + integration_positions_and_weights : SET [1 : ?] OF surface_position_weight; + END_ENTITY; + + ENTITY surface_2d_element_length_integration_rule; + integration_method : integration_rule; + integration_order : INTEGER; + END_ENTITY; + + ENTITY surface_2d_element_location_point_variable_values + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF surface_2d_element_value_and_location; + variable : surface_element_variable; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_location_point_volume_variable_values + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF surface_2d_element_value_and_volume_location; + variable : volume_variable; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_nodal_specified_variable_values + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : surface_element_variable; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_element_value_and_location; + simple_value : field_value; + location : surface_element_location; + coordinate_system : OPTIONAL surface_2d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + END_ENTITY; + + ENTITY surface_2d_element_value_and_volume_location; + simple_value : field_value; + location : surface_volume_element_location; + coordinate_system : OPTIONAL surface_2d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + END_ENTITY; + + ENTITY surface_2d_node_field_aggregated_variable_values + SUBTYPE OF ( surface_2d_node_field_variable_definition ); + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL surface_2d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_node_field_section_variable_values + SUBTYPE OF ( surface_2d_node_field_variable_definition ); + simple_value : field_value; + variable : surface_element_variable; + location : surface_section_element_location; + coordinate_system : OPTIONAL surface_2d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_2d_node_field_variable_definition + SUPERTYPE OF ( + ONEOF ( + surface_2d_node_field_section_variable_values, + surface_2d_node_field_aggregated_variable_values ) ) + SUBTYPE OF ( field_variable_node_definition ); + END_ENTITY; + + ENTITY surface_2d_substructure_element_reference; + substructure_element_ref : substructure_element_representation; + element_ref : surface_2d_element_representation; + END_ENTITY; + + ENTITY surface_2d_whole_element_variable_value + SUBTYPE OF ( surface_2d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL surface_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_basis; + descriptor : surface_3d_element_descriptor; + variable : surface_element_variable; + variable_order : element_order; + variable_shape_function : shape_function; + evaluation_points : LIST [1 : ?] OF surface_element_location; + END_ENTITY; + + ENTITY surface_3d_element_boundary_constant_specified_surface_variable_value + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_variable; + element_face : surface_3d_face; + coordinate_system : OPTIONAL surface_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_boundary_constant_specified_variable_value + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_aggregated_variable; + element_face : surface_3d_face; + coordinate_system : OPTIONAL surface_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_boundary_edge_constant_specified_surface_variable_value + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_edge_variable; + element_edge : surface_3d_edge; + coordinate_system : OPTIONAL surface_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_boundary_edge_constant_specified_variable_value + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_edge_variable; + element_edge : surface_3d_edge; + coordinate_system : OPTIONAL surface_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_boundary_edge_location_point_surface_variable_values + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF surface_3d_element_value_and_volume_location; + variable : boundary_edge_variable; + element_edge : surface_3d_edge; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_boundary_edge_location_point_variable_values + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF surface_3d_element_value_and_location; + variable : boundary_edge_variable; + element_edge : surface_3d_edge; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_boundary_edge_nodal_specified_variable_values + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : boundary_edge_variable; + element_edge : surface_3d_edge; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_boundary_edge_whole_edge_variable_value + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_aggregated_variable; + element_edge : surface_3d_edge; + coordinate_system : OPTIONAL surface_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_boundary_location_point_surface_variable_values + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF surface_3d_element_value_and_location; + variable : boundary_variable; + element_face : surface_3d_face; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_boundary_nodal_specified_variable_values + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : boundary_variable; + element_face : surface_3d_face; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_boundary_whole_face_variable_value + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_aggregated_variable; + element_face : surface_3d_face; + coordinate_system : OPTIONAL surface_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_constant_specified_variable_value + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + simple_value : field_value; + variable : surface_element_variable; + coordinate_system : OPTIONAL surface_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_constant_specified_volume_variable_value + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_variable; + coordinate_system : OPTIONAL surface_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_descriptor + SUBTYPE OF ( element_descriptor ); + purpose : SET [1 : ?] OF SET [1 : ?] OF surface_element_purpose; + shape : element_2d_shape; + END_ENTITY; + + ENTITY surface_3d_element_field_integration_explicit; + integration_positions_and_weights : SET [1 : ?] OF surface_position_weight; + END_ENTITY; + + ENTITY surface_3d_element_field_integration_rule; + integration_method : integration_rule; + integration_order : ARRAY [1 : 2] OF INTEGER; + END_ENTITY; + + ENTITY surface_3d_element_field_variable_definition + SUPERTYPE OF ( + ONEOF ( + surface_3d_element_location_point_volume_variable_values, + surface_3d_element_location_point_variable_values, + surface_3d_whole_element_variable_value, + surface_3d_element_constant_specified_variable_value, + surface_3d_element_constant_specified_volume_variable_value, + surface_3d_element_nodal_specified_variable_values, + surface_3d_element_boundary_location_point_surface_variable_values, + surface_3d_element_boundary_whole_face_variable_value, + surface_3d_element_boundary_constant_specified_variable_value, + surface_3d_element_boundary_constant_specified_surface_variable_value, + surface_3d_element_boundary_nodal_specified_variable_values, + surface_3d_element_boundary_edge_location_point_surface_variable_values, + surface_3d_element_boundary_edge_location_point_variable_values, + surface_3d_element_boundary_edge_whole_edge_variable_value, + surface_3d_element_boundary_edge_constant_specified_variable_value, + surface_3d_element_boundary_edge_constant_specified_surface_variable_value, + surface_3d_element_boundary_edge_nodal_specified_variable_values ) ) + SUBTYPE OF ( field_variable_element_definition ); + element : surface_3d_element_output_reference; + END_ENTITY; + + ENTITY surface_3d_element_group + SUBTYPE OF ( element_group ); + WHERE + wr1: ( SIZEOF( QUERY ( item <* elements | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SURFACE_3D_ELEMENT_REPRESENTATION' ) IN TYPEOF( item ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_3d_element_integrated_matrix; + descriptor : surface_3d_element_descriptor; + property_type : surface_matrix_property_type; + integration_description : text; + END_ENTITY; + + ENTITY surface_3d_element_integrated_matrix_with_definition + SUBTYPE OF ( surface_3d_element_integrated_matrix ); + integration_definition : surface_3d_element_integration; + END_ENTITY; + + ENTITY surface_3d_element_integration; + field : surface_3d_element_field_integration; + section : surface_section_integration; + END_ENTITY; + + ENTITY surface_3d_element_location_point_variable_values + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF surface_3d_element_value_and_location; + variable : surface_element_variable; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_location_point_volume_variable_values + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF surface_3d_element_value_and_volume_location; + variable : volume_variable; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_nodal_specified_variable_values + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : surface_element_variable; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model_3d; + element_descriptor : surface_3d_element_descriptor; + property : surface_element_property; + material : element_material; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + wr1: ( ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) + SIZEOF( QUERY ( item <* SELF\ + representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONSTANT_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) + SIZEOF( QUERY ( item <* SELF\ + representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ALIGNED_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( item1 <* material.properties | ( SIZEOF( QUERY ( item2 <* item1\property_definition_representation. + used_representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_LINEAR_ELASTICITY' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MASS_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AREA_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MOISTURE_ABSORPTION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_MEMBRANE_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_BENDING_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_MEMBRANE_BENDING_COUPLING_STIFFNESS', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SHELL_SHEAR_STIFFNESS'] * TYPEOF( item2 ) ) = 1 ) ) ) + = 1 ) ) ) >= 1 ); + wr3: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\ + representation.context_of_items ) ); + fu1: required_2d_nodes( SELF\element_representation.node_list, element_descriptor.shape, element_descriptor\ + element_descriptor.topology_order ); + END_ENTITY; + + ENTITY surface_3d_element_value_and_location; + simple_value : field_value; + location : surface_element_location; + coordinate_system : OPTIONAL surface_3d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + END_ENTITY; + + ENTITY surface_3d_element_value_and_volume_location; + simple_value : field_value; + location : surface_volume_element_location; + coordinate_system : OPTIONAL surface_3d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + END_ENTITY; + + ENTITY surface_3d_node_field_aggregated_variable_values + SUBTYPE OF ( surface_3d_node_field_variable_definition ); + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL surface_3d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_node_field_section_variable_values + SUBTYPE OF ( surface_3d_node_field_variable_definition ); + simple_value : field_value; + variable : surface_element_variable; + location : surface_section_element_location; + coordinate_system : OPTIONAL surface_3d_state_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_3d_node_field_variable_definition + SUPERTYPE OF ( + ONEOF ( + surface_3d_node_field_section_variable_values, + surface_3d_node_field_aggregated_variable_values ) ) + SUBTYPE OF ( field_variable_node_definition ); + END_ENTITY; + + ENTITY surface_3d_substructure_element_reference; + substructure_element_ref : substructure_element_representation; + element_ref : surface_3d_element_representation; + END_ENTITY; + + ENTITY surface_3d_whole_element_variable_value + SUBTYPE OF ( surface_3d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL surface_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY surface_condition_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( c <* SELF.contents | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_CURVE_OCCURRENCE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_SYMBOL_OCCURRENCE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_TEXT_OCCURRENCE' ] * TYPEOF( c ) ) <> 1 ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_constraint + SUBTYPE OF ( constraint_element ); + required_surface : analysis_item_within_representation; + coordinate_system : fea_axis2_placement_3d; + freedoms_and_coefficients : SET [1 : ?] OF freedom_and_coefficient; + description : text; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF( required_surface.item ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF( required_surface.item ) ) ); + END_ENTITY; + + ENTITY surface_curve + SUPERTYPE OF ( + ONEOF ( + intersection_curve, + seam_curve ) + ANDOR + bounded_surface_curve ) + SUBTYPE OF ( curve ); + curve_3d : curve; + associated_geometry : LIST [1 : 2] OF pcurve_or_surface; + master_representation : preferred_surface_curve_representation; + DERIVE + basis_surface : SET [1 : 2] OF surface := get_basis_surface( SELF ); + WHERE + wr1: ( curve_3d.dim = 3 ); + wr2: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( associated_geometry[1] ) ) OR ( + master_representation <> pcurve_s1 ) ); + wr3: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( associated_geometry[2] ) ) OR ( + master_representation <> pcurve_s2 ) ); + wr4: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( curve_3d ) ) ); + END_ENTITY; + + ENTITY surface_curve_swept_area_solid + SUBTYPE OF ( swept_area_solid ); + directrix : curve; + start_param : REAL; + end_param : REAL; + reference_surface : surface; + WHERE + wr1: ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( directrix ) ) ) OR ( + reference_surface IN directrix\surface_curve.basis_surface ) ); + END_ENTITY; + + ENTITY surface_distance_assembly_constraint_with_dimension + SUBTYPE OF ( binary_assembly_constraint, sdgc_with_dimension ); + END_ENTITY; + + ENTITY surface_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 2] OF surface; + SELF\explicit_constraint.reference_elements : SET [0 : 4] OF point_curve_or_surface_constraint_element; + near_points : SET [0 : 4] OF near_point_relationship; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SDGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND ( SIZEOF( SELF\ + explicit_constraint.constrained_elements ) = 2 ) ) ); + wr2: ( SIZEOF( near_points ) <= SIZEOF( SELF\explicit_constraint.reference_elements ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_element_location; + coordinates : fea_parametric_point; + END_ENTITY; + + ENTITY surface_element_property; + property_id : identifier; + description : text; + section : surface_section_field; + END_ENTITY; + + ENTITY surface_freedom_action_definition + SUBTYPE OF ( surface_freedom_and_value_definition ); + action : action_type; + END_ENTITY; + + ENTITY surface_freedom_and_value_definition + SUPERTYPE OF ( + ONEOF ( + surface_freedom_values, + surface_freedom_action_definition ) ) + SUBTYPE OF ( state_definition ); + required_surface : analysis_item_within_representation; + coordinate_system : fea_axis2_placement_3d; + degrees_of_freedom : freedoms_list; + values : LIST [1 : ?] OF measure_or_unspecified_value; + WHERE + wr1: ( SIZEOF( degrees_of_freedom.freedoms ) = SIZEOF( values ) ); + wr2: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF( required_surface.item ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF( required_surface.item ) ) ); + END_ENTITY; + + ENTITY surface_freedom_values + SUBTYPE OF ( surface_freedom_and_value_definition ); + END_ENTITY; + + ENTITY surface_of_linear_extrusion + SUBTYPE OF ( swept_surface ); + extrusion_axis : vector; + END_ENTITY; + + ENTITY surface_of_revolution + SUBTYPE OF ( swept_surface ); + axis_position : axis1_placement; + DERIVE + axis_line : line := representation_item( '' ) || geometric_representation_item( ) || curve( ) || line( axis_position. + location, representation_item( '' ) || geometric_representation_item( ) || vector( axis_position.z, 1 ) ); + END_ENTITY; + + ENTITY surface_pair + ABSTRACT SUPERTYPE OF ( + ONEOF ( + sliding_surface_pair, + rolling_surface_pair ) + ANDOR + surface_pair_with_range ) + SUBTYPE OF ( high_order_kinematic_pair ); + surface_1 : surface; + surface_2 : surface; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( surface_1 IN r.items ) ) ) ) = + 0 ); + wr2: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( surface_2 IN r.items ) ) ) ) = + 0 ); + wr3: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_pair_with_range + SUBTYPE OF ( surface_pair ); + range_on_surface_1 : rectangular_trimmed_surface; + range_on_surface_2 : rectangular_trimmed_surface; + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( SELF\surface_pair.surface_1 :=: range_on_surface_1.basis_surface ); + wr2: ( SELF\surface_pair.surface_2 :=: range_on_surface_2.basis_surface ); + wr3: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_surface_1 IN r.items ) ) ) ) + = 0 ); + wr5: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( range_on_surface_2 IN r.items ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY surface_patch + SUBTYPE OF ( founded_item ); + parent_surface : bounded_surface; + u_transition : transition_code; + v_transition : transition_code; + u_sense : BOOLEAN; + v_sense : BOOLEAN; + INVERSE + using_surfaces : BAG [1 : ?] OF rectangular_composite_surface FOR segments; + WHERE + wr1: ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF( parent_surface ) ) ); + END_ENTITY; + + ENTITY surface_patch_set + SUBTYPE OF ( geometric_representation_item ); + patches : SET [1 : ?] OF surface_patch; + END_ENTITY; + + ENTITY surface_position_weight; + integration_position : surface_element_location; + integration_weight : context_dependent_measure; + END_ENTITY; + + ENTITY surface_profile_tolerance + SUBTYPE OF ( geometric_tolerance ); + END_ENTITY; + + ENTITY surface_rendering_properties; + rendered_colour : colour; + END_ENTITY; + + ENTITY surface_replica + SUBTYPE OF ( surface ); + parent_surface : surface; + transformation : cartesian_transformation_operator_3d; + WHERE + wr1: acyclic_surface_replica( SELF, parent_surface ); + END_ENTITY; + + ENTITY surface_section + SUPERTYPE OF ( + ONEOF ( + uniform_surface_section, + uniform_surface_section_layered ) ); + offset : measure_or_unspecified_value; + non_structural_mass : measure_or_unspecified_value; + non_structural_mass_offset : measure_or_unspecified_value; + END_ENTITY; + + ENTITY surface_section_element_location + SUPERTYPE OF ( + ONEOF ( + surface_section_element_location_absolute, + surface_section_element_location_dimensionless ) ); + above_material_discontinuity : LOGICAL; + END_ENTITY; + + ENTITY surface_section_element_location_absolute + SUBTYPE OF ( surface_section_element_location ); + offset : context_dependent_measure; + END_ENTITY; + + ENTITY surface_section_element_location_dimensionless + SUBTYPE OF ( surface_section_element_location ); + coordinate : LIST [1 : 1] OF parameter_value; + WHERE + wr1: valid_parametric_coordinate( coordinate ); + END_ENTITY; + + ENTITY surface_section_field + SUPERTYPE OF ( + ONEOF ( + surface_section_field_constant, + surface_section_field_varying ) ); + END_ENTITY; + + ENTITY surface_section_field_constant + SUBTYPE OF ( surface_section_field ); + definition : surface_section; + END_ENTITY; + + ENTITY surface_section_field_varying + SUBTYPE OF ( surface_section_field ); + definitions : LIST [1 : ?] OF surface_section; + additional_node_values : BOOLEAN; + END_ENTITY; + + ENTITY surface_section_integration_explicit; + integration_positions_and_weights : SET [1 : ?] OF surface_section_position_weight; + END_ENTITY; + + ENTITY surface_section_integration_rule; + integration_method : integration_rule; + integration_order : INTEGER; + END_ENTITY; + + ENTITY surface_section_position_weight; + integration_position : surface_section_element_location; + integration_weight : context_dependent_measure; + END_ENTITY; + + ENTITY surface_side_style + SUBTYPE OF ( founded_item ); + name : label; + styles : SET [1 : 7] OF surface_style_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( SIZEOF( QUERY ( style2 <* ( SELF.styles - style1 ) | ( TYPEOF( style1 ) = + TYPEOF( style2 ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_smoothness_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 1] OF surface_patch_set; + u_smoothness : transition_code; + v_smoothness : transition_code; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY surface_style_boundary + SUBTYPE OF ( founded_item ); + style_of_boundary : curve_or_render; + END_ENTITY; + + ENTITY surface_style_control_grid + SUBTYPE OF ( founded_item ); + style_of_control_grid : curve_or_render; + END_ENTITY; + + ENTITY surface_style_fill_area + SUBTYPE OF ( founded_item ); + fill_area : fill_area_style; + END_ENTITY; + + ENTITY surface_style_parameter_line + SUBTYPE OF ( founded_item ); + style_of_parameter_lines : curve_or_render; + direction_counts : SET [1 : 2] OF direction_count_select; + WHERE + wr1: ( ( HIINDEX( SELF.direction_counts ) = 1 ) XOR ( TYPEOF( SELF.direction_counts[1] ) <> TYPEOF( SELF.direction_counts[2] ) ) ); + END_ENTITY; + + ENTITY surface_style_reflectance_ambient; + ambient_reflectance : REAL; + END_ENTITY; + + ENTITY surface_style_reflectance_ambient_diffuse + SUBTYPE OF ( surface_style_reflectance_ambient ); + diffuse_reflectance : REAL; + END_ENTITY; + + ENTITY surface_style_reflectance_ambient_diffuse_specular + SUBTYPE OF ( surface_style_reflectance_ambient_diffuse ); + specular_reflectance : REAL; + specular_exponent : REAL; + specular_colour : colour; + END_ENTITY; + + ENTITY surface_style_rendering; + rendering_method : shading_surface_method; + surface_colour : colour; + END_ENTITY; + + ENTITY surface_style_rendering_with_properties + SUBTYPE OF ( surface_style_rendering ); + properties : SET [1 : 2] OF rendering_properties_select; + WHERE + wr1: ( ( HIINDEX( SELF.properties ) = 1 ) XOR ( TYPEOF( SELF.properties[1] ) <> TYPEOF( SELF.properties[2] ) ) ); + END_ENTITY; + + ENTITY surface_style_segmentation_curve + SUBTYPE OF ( founded_item ); + style_of_segmentation_curve : curve_or_render; + END_ENTITY; + + ENTITY surface_style_silhouette + SUBTYPE OF ( founded_item ); + style_of_silhouette : curve_or_render; + END_ENTITY; + + ENTITY surface_style_transparent; + transparency : REAL; + WHERE + wr1: ( ( 0 <= transparency ) AND ( transparency <= 1 ) ); + END_ENTITY; + + ENTITY surface_style_usage + SUBTYPE OF ( founded_item ); + side : surface_side; + style : surface_side_style_select; + END_ENTITY; + + ENTITY surface_texture_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'VALUE_RANGE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM'] * TYPEOF( i ) ) <> 1 ) ) ) + = 0 ); + wr2: ( ( SIZEOF( QUERY ( i <* SELF.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( i <* SELF.items | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND + ( i.name = 'measuring method' ) ) ) ) = 1 ) ); + wr3: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( i ) ) + = 1 ) ) ) > 0 ); + wr4: ( ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + + 'REP_1' ) ) <= 1 ) AND ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2' ) ) = 0 ) AND ( SIZEOF( QUERY ( rr <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_1' ) | ( rr.rep_2. + name = 'measuring direction' ) ) ) = SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.' + 'REP_1' ) ) ) ); + wr5: ( ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) + | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa.base_definition ) ) + AND ( gpa\general_property_association.base_definition\general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) + = 1 ) ); + END_ENTITY; + + ENTITY surface_volume_element_location; + field_location : surface_element_location; + section_location : surface_section_element_location; + END_ENTITY; + + ENTITY surface_with_excessive_patches_in_one_direction + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY surface_with_small_curvature_radius + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY surfaced_open_shell + SUBTYPE OF ( open_shell ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\connected_face_set.cfs_faces | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACE_SURFACE' IN TYPEOF( q ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY swept_area_solid + SUPERTYPE OF ( + ONEOF ( + revolved_area_solid, + extruded_area_solid, + surface_curve_swept_area_solid ) ) + SUBTYPE OF ( solid_model ); + swept_area : curve_bounded_surface; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( swept_area.basis_surface ) ); + END_ENTITY; + + ENTITY swept_curve_surface_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF surface; + SELF\explicit_constraint.reference_elements : SET [1 : 1] OF swept_surface_or_solid; + END_ENTITY; + + ENTITY swept_disk_solid + SUBTYPE OF ( solid_model ); + directrix : curve; + radius : positive_length_measure; + inner_radius : OPTIONAL positive_length_measure; + start_param : REAL; + end_param : REAL; + WHERE + wr1: ( directrix.dim = 3 ); + wr2: ( ( NOT EXISTS( inner_radius ) ) OR ( radius > inner_radius ) ); + END_ENTITY; + + ENTITY swept_face_solid + SUPERTYPE OF ( + ONEOF ( + extruded_face_solid, + revolved_face_solid ) ) + SUBTYPE OF ( solid_model ); + swept_face : face_surface; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( swept_face.face_geometry ) ); + END_ENTITY; + + ENTITY swept_point_curve_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF curve; + SELF\explicit_constraint.reference_elements : SET [1 : 1] OF swept_face_solid; + END_ENTITY; + + ENTITY swept_surface + SUPERTYPE OF ( + ONEOF ( + surface_of_linear_extrusion, + surface_of_revolution ) ) + SUBTYPE OF ( surface ); + swept_curve : curve; + END_ENTITY; + + ENTITY symbol + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY symbol_colour; + colour_of_symbol : colour; + END_ENTITY; + + ENTITY symbol_representation + SUBTYPE OF ( representation ); + END_ENTITY; + + ENTITY symbol_representation_map + SUBTYPE OF ( representation_map ); + SELF\representation_map.mapped_representation : symbol_representation; + SELF\representation_map.mapping_origin : axis2_placement; + WHERE + wr1: ( SIZEOF( QUERY ( mi <* SELF\representation_map.map_usage | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF( mi ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY symbol_style + SUBTYPE OF ( founded_item ); + name : label; + style_of_symbol : symbol_style_select; + END_ENTITY; + + ENTITY symbol_target + SUBTYPE OF ( geometric_representation_item ); + placement : axis2_placement; + x_scale : positive_ratio_measure; + y_scale : positive_ratio_measure; + END_ENTITY; + + ENTITY symmetric_banded_matrix + SUBTYPE OF ( symmetric_matrix ); + default_entry : maths_value; + above : nonnegative_integer; + WHERE + wr1: member_of( default_entry, factor1( SELF\linearized_table_function.source.range ) ); + END_ENTITY; + + ENTITY symmetric_matrix + SUBTYPE OF ( linearized_table_function ); + symmetry : symmetry_type; + triangle : lower_upper; + order : ordering_type; + WHERE + wr1: ( SIZEOF( SELF\explicit_table_function.shape ) = 2 ); + wr2: ( SELF\explicit_table_function.shape[1] = SELF\explicit_table_function.shape[2] ); + wr3: ( ( NOT ( symmetry = symmetry_type.skew ) ) OR ( ( space_dimension( SELF\linearized_table_function.source.range ) = 1 ) + AND subspace_of_es( factor1( SELF\linearized_table_function.source.range ), es_numbers ) ) ); + wr4: ( ( NOT ( ( symmetry = symmetry_type.hermitian ) OR ( symmetry = symmetry_type.skew_hermitian ) ) ) OR ( ( + space_dimension( SELF\linearized_table_function.source.range ) = 1 ) AND subspace_of_es( factor1( SELF\ + linearized_table_function.source.range ), es_complex_numbers ) ) ); + END_ENTITY; + + ENTITY symmetric_shape_aspect + SUBTYPE OF ( shape_aspect ); + INVERSE + basis_relationships : SET [1 : ?] OF shape_aspect_deriving_relationship FOR related_shape_aspect; + END_ENTITY; + + ENTITY symmetry_control + SUPERTYPE OF ( + ONEOF ( + no_symmetry_control, + cylindrical_symmetry_control ) ); + END_ENTITY; + + ENTITY symmetry_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [2 : 2] OF geometric_representation_item; + mirror_element : linear_geometry_constraint_element; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + wr2: ( SIZEOF( TYPEOF( mirror_element ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' ] ) = 0 ); + wr3: ( NOT ( ( SELF\geometric_representation_item.dim = 2 ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' + IN TYPEOF( mirror_element ) ) ) ); + END_ENTITY; + + ENTITY symmetry_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY system_and_freedom; + matrix_coordinate_system : directionally_explicit_element_coordinate_system; + freedom : degree_of_freedom; + END_ENTITY; + + ENTITY table_representation_item + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( itet <* SELF\compound_representation_item.item_element | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROW_REPRESENTATION_ITEM' IN TYPEOF( itet ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY tactile_appearance_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( i ) ) + <> 1 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( name = 'depth' ) ) ) <= 1 ); + wr3: ( ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) + | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa.base_definition ) ) + AND ( gpa\general_property_association.base_definition\general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) + = 1 ) ); + END_ENTITY; + + ENTITY tagged_text_format + SUBTYPE OF ( representation_context ); + END_ENTITY; + + ENTITY tagged_text_item + SUBTYPE OF ( descriptive_representation_item ); + END_ENTITY; + + ENTITY tan_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY tangent + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY tangent_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, tangent_geometric_constraint ); + END_ENTITY; + + ENTITY tangent_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF curve_or_surface_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF curve_or_surface_constraint_element; + near_points : SET [0 : ?] OF near_point_relationship; + tangent_contact : tangent_contact_type; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( NOT ( ( SELF\geometric_representation_item.dim = 2 ) AND ( tangent_contact = surface_contact ) ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY taper + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: ( SELF.description IN [ 'angle taper', 'diameter taper', 'directed taper'] ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( ( NOT ( SELF.description = 'angle taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it.name = 'taper angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr6: ( ( NOT ( SELF.description = 'diameter taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'final diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7: ( ( NOT ( SELF.description = 'directed taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it.name = 'angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr8: ( ( NOT ( SELF.description = 'directed taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'direction' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY tee_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 9 ) ) AND ( SIZEOF( impl_rep + .used_representation.items ) <= 10 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'width' ) OR ( srwp_i.name = + 'depth' ) OR ( srwp_i.name = 'cross bar width' ) OR ( srwp_i.name = 'cross bar depth' ) OR ( srwp_i.name = + 'first offset' ) OR ( srwp_i.name = 'second offset' ) OR ( srwp_i.name = 'first angle' ) OR ( srwp_i.name = + 'second angle' ) OR ( srwp_i.name = 'radius' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) + = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'cross bar width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'cross bar depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'first offset' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'second offset' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'first angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'second angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr15: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY temporal_decomposition_of_action_domain; + whole : physical_action_domain; + parts : LIST [2 : ?] OF physical_action_domain; + END_ENTITY; + + ENTITY temporal_decomposition_of_model_action; + parts : LIST [2 : ?] OF model_action_domain; + whole : model_action_domain; + END_ENTITY; + + ENTITY temporal_spatial_domain; + id : identifier; + name : label; + description : text; + WHERE + wr1: definition_for_temporal_spatial_domain( SELF ); + END_ENTITY; + + ENTITY tensor_representation_item + SUBTYPE OF ( representation_item ); + tensor_value : tensor_type; + END_ENTITY; + + ENTITY terminator_symbol + SUBTYPE OF ( annotation_symbol_occurrence ); + annotated_curve : annotation_curve_occurrence; + END_ENTITY; + + ENTITY tessellated_annotation_occurrence + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : tessellated_geometric_set; + END_ENTITY; + + ENTITY tessellated_connecting_edge + SUBTYPE OF ( tessellated_edge ); + smooth : LOGICAL; + face1 : tessellated_face; + face2 : tessellated_face; + line_strip_face1 : LIST [2 : ?] OF INTEGER; + line_strip_face2 : LIST [2 : ?] OF INTEGER; + WHERE + wr1: ( SIZEOF( line_strip_face1 ) = SIZEOF( line_strip_face2 ) ); + wr2: ( SIZEOF( line_strip_face1 ) = SIZEOF( SELF\tessellated_edge.line_strip ) ); + END_ENTITY; + + ENTITY tessellated_curve_set + SUBTYPE OF ( tessellated_item ); + coordinates : coordinates_list; + line_strips : LIST [1 : ?] OF LIST [2 : ?] OF INTEGER; + END_ENTITY; + + ENTITY tessellated_edge + SUBTYPE OF ( tessellated_structured_item ); + coordinates : coordinates_list; + geometric_link : OPTIONAL edge_or_curve; + line_strip : LIST [2 : ?] OF INTEGER; + END_ENTITY; + + ENTITY tessellated_face + ABSTRACT SUPERTYPE OF ( + ONEOF ( + triangulated_face, + complex_triangulated_face ) ) + SUBTYPE OF ( tessellated_structured_item ); + coordinates : coordinates_list; + pnmax : INTEGER; + normals : LIST [0 : ?] OF LIST [3 : 3] OF REAL; + geometric_link : OPTIONAL face_or_surface; + WHERE + wr1: ( ( SIZEOF( normals ) = 0 ) OR ( SIZEOF( normals ) = 1 ) OR ( SIZEOF( normals ) = pnmax ) ); + END_ENTITY; + + ENTITY tessellated_geometric_set + SUBTYPE OF ( tessellated_item ); + children : SET [1 : ?] OF tessellated_item; + END_ENTITY; + + ENTITY tessellated_item + ABSTRACT SUPERTYPE OF ( + ONEOF ( + coordinates_list, + tessellated_solid, + tessellated_shell, + tessellated_wire, + tessellated_geometric_set, + tessellated_curve_set, + tessellated_point_set, + tessellated_surface_set, + tessellated_structured_item ) ) + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( using_rep <* using_representations( SELF ) | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' IN TYPEOF( using_rep ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY tessellated_point_set + SUBTYPE OF ( tessellated_item ); + coordinates : coordinates_list; + point_list : LIST [1 : ?] OF INTEGER; + END_ENTITY; + + ENTITY tessellated_shape_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF tessellated_item; + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF( SELF\representation. + context_of_items ) ); + END_ENTITY; + + ENTITY tessellated_shell + SUBTYPE OF ( tessellated_item ); + items : SET [1 : ?] OF tessellated_structured_item; + topological_link : OPTIONAL connected_face_set; + END_ENTITY; + + ENTITY tessellated_solid + SUBTYPE OF ( tessellated_item ); + items : SET [1 : ?] OF tessellated_structured_item; + geometric_link : OPTIONAL manifold_solid_brep; + END_ENTITY; + + ENTITY tessellated_structured_item + SUPERTYPE OF ( + ONEOF ( + tessellated_face, + tessellated_edge, + tessellated_vertex ) ) + SUBTYPE OF ( tessellated_item ); + END_ENTITY; + + ENTITY tessellated_surface_set + ABSTRACT SUPERTYPE OF ( + ONEOF ( + triangulated_surface_set, + complex_triangulated_surface_set ) ) + SUBTYPE OF ( tessellated_item ); + coordinates : coordinates_list; + pnmax : INTEGER; + normals : LIST [0 : ?] OF LIST [3 : 3] OF REAL; + WHERE + wr1: ( ( SIZEOF( normals ) = 0 ) OR ( SIZEOF( normals ) = 1 ) OR ( SIZEOF( normals ) = pnmax ) ); + END_ENTITY; + + ENTITY tessellated_vertex + SUBTYPE OF ( tessellated_structured_item ); + coordinates : coordinates_list; + topological_link : OPTIONAL vertex_point; + point_index : INTEGER; + END_ENTITY; + + ENTITY tessellated_wire + SUBTYPE OF ( tessellated_item ); + items : SET [1 : ?] OF tessellated_edge_or_vertex; + geometric_model_link : OPTIONAL path_or_composite_curve; + END_ENTITY; + + ENTITY text_font; + id : identifier; + name : label; + description : text; + INVERSE + glyphs : SET [1 : ?] OF character_glyph_font_usage FOR font; + END_ENTITY; + + ENTITY text_font_family; + id : identifier; + name : label; + description : text; + INVERSE + fonts : SET [1 : ?] OF text_font_in_family FOR family; + END_ENTITY; + + ENTITY text_font_in_family; + font : text_font; + family : text_font_family; + END_ENTITY; + + ENTITY text_literal + SUBTYPE OF ( geometric_representation_item ); + literal : presentable_text; + placement : axis2_placement; + alignment : text_alignment; + path : text_path; + font : font_select; + END_ENTITY; + + ENTITY text_literal_with_associated_curves + SUBTYPE OF ( text_literal ); + associated_curves : SET [1 : ?] OF curve; + END_ENTITY; + + ENTITY text_literal_with_blanking_box + SUBTYPE OF ( text_literal ); + blanking : planar_box; + END_ENTITY; + + ENTITY text_literal_with_delineation + SUBTYPE OF ( text_literal ); + delineation : text_delineation; + END_ENTITY; + + ENTITY text_literal_with_extent + SUBTYPE OF ( text_literal ); + extent : planar_extent; + END_ENTITY; + + ENTITY text_string_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF text_string_representation_item; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( NOT ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_CHARACTER' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEFINED_CHARACTER_GLYPH' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' ] * TYPEOF( item ) ) = 0 ) ) ) ) >= 1 ); + wr2: ( SIZEOF( QUERY ( a2p <* QUERY ( item <* SELF\representation.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF( item ) ) ) | ( NOT ( ( SIZEOF( + QUERY ( at <* QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_TEXT' ) IN TYPEOF( item ) ) ) | ( at\mapped_item.mapping_target :=: a2p ) ) ) >= 1 ) OR ( SIZEOF( + QUERY ( atc <* QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ANNOTATION_TEXT_CHARACTER' ) IN TYPEOF( item ) ) ) | ( atc\mapped_item.mapping_target :=: a2p ) ) ) >= 1 ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY text_style + SUBTYPE OF ( founded_item ); + name : label; + character_appearance : character_style_select; + END_ENTITY; + + ENTITY text_style_for_defined_font; + text_colour : colour; + END_ENTITY; + + ENTITY text_style_with_box_characteristics + SUBTYPE OF ( text_style ); + characteristics : SET [1 : 4] OF box_characteristic_select; + WHERE + wr1: ( SIZEOF( QUERY ( c1 <* SELF.characteristics | ( SIZEOF( QUERY ( c2 <* ( SELF.characteristics - c1 ) | ( TYPEOF( c1 ) + = TYPEOF( c2 ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY text_style_with_mirror + SUBTYPE OF ( text_style ); + mirror_placement : axis2_placement; + END_ENTITY; + + ENTITY text_style_with_spacing + SUBTYPE OF ( text_style ); + character_spacing : character_spacing_select; + END_ENTITY; + + ENTITY thermal_component + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY thermal_conductivity_model + SUBTYPE OF ( mbna_behaviour_model ); + model_type : thermal_conductivity_model_type; + END_ENTITY; + + ENTITY thermal_resistance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.THERMAL_RESISTANCE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY thermal_resistance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( -1, -1, -3, 0, 1, 0, 0 ) ); + END_ENTITY; + + ENTITY thermodynamic_temperature_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY thermodynamic_temperature_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 1 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY thickened_face_solid + SUBTYPE OF ( solid_model ); + base_element : generalized_surface_select; + offset1 : length_measure; + offset2 : length_measure; + WHERE + wr1: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF( base_element ) ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_SURFACE' IN TYPEOF( base_element ) ) ) ) ); + wr2: ( offset1 <> offset2 ); + END_ENTITY; + + ENTITY thickness_laminate_table + SUBTYPE OF ( zone_structural_makeup ); + END_ENTITY; + + ENTITY thread + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 8 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 11 ) ) ) ) = 1 ) ) ) = 1 ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'major diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'minor diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'pitch diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'number of threads' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'fit class' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'form' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'hand' ) AND ( it.description IN [ 'left', 'right'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'qualifier' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'thread side' ) AND ( ( it.description = 'internal' ) OR ( it.description = 'external' ) ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'crest' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'partial area occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'applied area usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'APPLIED_AREA' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = + 1 ) ) ) = 1 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'fit class 2' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr15: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'nominal size' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr16: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'thread runout' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'thread runout usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'THREAD_RUNOUT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) <= 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY thread_runout + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( SELF.of_shape ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( NOT ( srwp_i.name IN [ 'length of runout', 'pitch or dimension', + 'included or extra' ] ) ) ) ) > 0 ) ) ) ) = 0 ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'length of runout' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) <= 1 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'pitch or dimension' ) AND ( it.description IN [ 'pitch', 'pitch or dimension'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'included or extra' ) AND ( it.description IN [ 'included', 'extra'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY time_interval; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY time_interval_assignment + ABSTRACT SUPERTYPE; + assigned_time_interval : time_interval; + role : time_interval_role; + END_ENTITY; + + ENTITY time_interval_based_effectivity + SUBTYPE OF ( effectivity ); + effectivity_period : time_interval; + END_ENTITY; + + ENTITY time_interval_relationship; + name : label; + description : OPTIONAL text; + relating_time_interval : time_interval; + related_time_interval : time_interval; + END_ENTITY; + + ENTITY time_interval_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY time_interval_with_bounds + SUBTYPE OF ( time_interval ); + primary_bound : OPTIONAL date_time_or_event_occurrence; + secondary_bound : OPTIONAL date_time_or_event_occurrence; + duration : OPTIONAL time_measure_with_unit; + WHERE + wr1: ( EXISTS( primary_bound ) OR EXISTS( secondary_bound ) ); + wr2: ( NOT ( EXISTS( primary_bound ) AND EXISTS( secondary_bound ) AND EXISTS( duration ) ) ); + wr3: ( EXISTS( primary_bound ) AND ( NOT EXISTS( secondary_bound ) ) AND ( ( NOT EXISTS( duration ) ) OR + duration_is_positive( duration ) ) ); + wr4: ( EXISTS( secondary_bound ) AND ( NOT EXISTS( primary_bound ) ) AND EXISTS( duration ) AND duration_is_negative( + duration ) ); + END_ENTITY; + + ENTITY time_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TIME_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY time_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 1 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY tolerance_value; + lower_bound : measure_with_unit; + upper_bound : measure_with_unit; + DERIVE + ubvc : REAL := upper_bound\measure_with_unit.value_component; + lbvc : REAL := lower_bound\measure_with_unit.value_component; + WHERE + wr1: ( ubvc > lbvc ); + wr2: ( upper_bound\measure_with_unit.unit_component = lower_bound\measure_with_unit.unit_component ); + END_ENTITY; + + ENTITY tolerance_zone + SUBTYPE OF ( shape_aspect ); + defining_tolerance : SET [1 : ?] OF tolerance_zone_target; + form : tolerance_zone_form; + END_ENTITY; + + ENTITY tolerance_zone_definition + SUPERTYPE OF ( + ONEOF ( + projected_zone_definition, + non_uniform_zone_definition, + runout_zone_definition ) ); + zone : tolerance_zone; + boundaries : SET [0 : ?] OF shape_aspect; + END_ENTITY; + + ENTITY tolerance_zone_form; + name : label; + END_ENTITY; + + ENTITY topological_representation_item + SUPERTYPE OF ( + ONEOF ( + vertex, + edge, + face_bound, + face, + vertex_shell, + wire_shell, + connected_edge_set, + connected_face_set, + loop + ANDOR + path ) ) + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY topology_related_to_multiply_defined_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + multiply_defined_faces, + multiply_defined_vertices, + multiply_defined_edges ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY topology_related_to_nearly_degenerate_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + short_length_edge, + small_area_face, + entirely_narrow_face ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY topology_related_to_overlapping_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + partly_overlapping_faces, + partly_overlapping_edges ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY topology_related_to_self_intersecting_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + self_intersecting_loop, + self_intersecting_shell, + intersecting_connected_face_sets ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY toroidal_surface + SUBTYPE OF ( elementary_surface ); + major_radius : positive_length_measure; + minor_radius : positive_length_measure; + END_ENTITY; + + ENTITY torus + SUBTYPE OF ( geometric_representation_item ); + position : axis1_placement; + major_radius : positive_length_measure; + minor_radius : positive_length_measure; + WHERE + wr1: ( major_radius > minor_radius ); + END_ENTITY; + + ENTITY total_runout_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY track_blended_solid + ABSTRACT SUPERTYPE + SUBTYPE OF ( edge_blended_solid ); + WHERE + wr1: check_continuous_edges( SELF\edge_blended_solid.blended_edges ); + END_ENTITY; + + ENTITY track_blended_solid_with_end_conditions + SUBTYPE OF ( track_blended_solid ); + end_conditions : LIST [2 : 2] OF blend_end_condition_select; + WHERE + wr1: ( SIZEOF( TYPEOF( SELF ) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_VARIABLE_RADIUS_EDGE_BLEND' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_CHAMFERED_EDGES' ] ) = 1 ); + wr2: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF( end_conditions[1] ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF( end_conditions[2] ) ) ) ); + wr3: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF( end_conditions[1] ) ) AND ( NOT ( ( + end_conditions[1] :=: SELF\edge_blended_solid.blended_edges[1].edge_start ) XOR ( end_conditions[1] :=: SELF\ + edge_blended_solid.blended_edges[1].edge_end ) ) ) ) ); + wr4: ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF( end_conditions[2] ) ) AND ( NOT ( ( + end_conditions[2] :=: SELF\edge_blended_solid.blended_edges[HIINDEX( SELF\edge_blended_solid.blended_edges )]. + edge_start ) XOR ( end_conditions[2] :=: SELF\edge_blended_solid.blended_edges[HIINDEX( SELF\edge_blended_solid. + blended_edges )].edge_end ) ) ) ) ); + END_ENTITY; + + ENTITY transformation_with_derived_angle + SUPERTYPE OF ( + ONEOF ( + draped_defined_transformation, + laid_defined_transformation ) ) + SUBTYPE OF ( item_defined_transformation ); + SELF\item_defined_transformation.transform_item_1 : angle_direction_reference_with_a2p3d_select; + SELF\item_defined_transformation.transform_item_2 : axis2_placement_3d; + DERIVE + orientation_angle : plane_angle_measure := derive_angle( SELF\item_defined_transformation.transform_item_1, SELF\ + item_defined_transformation.transform_item_2 ); + WHERE + wr1: ( ( SELF\item_defined_transformation.transform_item_1\axis2_placement_3d.p[3].direction_ratios[1] = SELF\ + item_defined_transformation.transform_item_2\axis2_placement_3d.p[3].direction_ratios[1] ) AND ( SELF\ + item_defined_transformation.transform_item_1\axis2_placement_3d.p[3].direction_ratios[2] = SELF\ + item_defined_transformation.transform_item_2\axis2_placement_3d.p[3].direction_ratios[2] ) AND ( SELF\ + item_defined_transformation.transform_item_1\axis2_placement_3d.p[3].direction_ratios[3] = SELF\ + item_defined_transformation.transform_item_2\axis2_placement_3d.p[3].direction_ratios[3] ) ); + END_ENTITY; + + ENTITY transition_feature + SUPERTYPE OF ( + ONEOF ( + chamfer, + edge_round, + fillet ) ) + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOUND_FEATURE' ] * TYPEOF( SELF.of_shape.definition ) ) = 1 ); + wr2: ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHAMFER', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_ROUND' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILLET' ] * TYPEOF( SELF ) ) = 1 ); + END_ENTITY; + + ENTITY triangular_matrix + SUBTYPE OF ( linearized_table_function ); + default_entry : maths_value; + lo_up : lower_upper; + order : ordering_type; + WHERE + wr1: ( SIZEOF( SELF\explicit_table_function.shape ) = 2 ); + wr2: member_of( default_entry, SELF\maths_function.range ); + END_ENTITY; + + ENTITY triangulated_face + SUBTYPE OF ( tessellated_face ); + pnindex : LIST [0 : ?] OF INTEGER; + triangles : LIST [1 : ?] OF LIST [3 : 3] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_face.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_face.pnmax <> coordinates.npoints ) ) ); + END_ENTITY; + + ENTITY triangulated_surface_set + SUBTYPE OF ( tessellated_surface_set ); + pnindex : LIST [0 : ?] OF INTEGER; + triangles : LIST [1 : ?] OF LIST [3 : 3] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_surface_set.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_surface_set.pnmax <> coordinates.npoints ) ) ); + END_ENTITY; + + ENTITY trimmed_curve + SUBTYPE OF ( bounded_curve ); + basis_curve : curve; + trim_1 : SET [1 : 2] OF trimming_select; + trim_2 : SET [1 : 2] OF trimming_select; + sense_agreement : BOOLEAN; + master_representation : trimming_preference; + WHERE + wr1: ( ( HIINDEX( trim_1 ) = 1 ) OR ( TYPEOF( trim_1[1] ) <> TYPEOF( trim_1[2] ) ) ); + wr2: ( ( HIINDEX( trim_2 ) = 1 ) OR ( TYPEOF( trim_2[1] ) <> TYPEOF( trim_2[2] ) ) ); + END_ENTITY; + + ENTITY turbulence_closure + SUBTYPE OF ( mbna_behaviour_model ); + closure_type : turbulence_closure_type; + END_ENTITY; + + ENTITY turbulence_model + SUBTYPE OF ( mbna_behaviour_model ); + model_type : turbulence_model_type; + diffusion_model : OPTIONAL fd_diffusion_model; + END_ENTITY; + + ENTITY turned_knurl + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF\characterized_object.description IN [ 'diamond', 'diagonal', 'straight'] ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 6 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 9 ) ) ) ) = 1 ) ) ) = 1 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\measure_with_unit. + value_component ) ) AND ( it.name = 'number of teeth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'major diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'nominal diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'tooth depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'root fillet' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'diametral pitch' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( ( NOT ( SELF\characterized_object.description IN [ 'diamond', 'diagonal'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'helix angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description = 'diagonal' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'helix hand' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr11: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'partial area occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'applied area usage' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'APPLIED_AREA' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = + 1 ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY two_direction_repeat_factor + SUBTYPE OF ( one_direction_repeat_factor ); + second_repeat_factor : vector; + END_ENTITY; + + ENTITY type_qualifier; + name : label; + END_ENTITY; + + ENTITY unary_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + not_expression, + odd_function ) ) + SUBTYPE OF ( boolean_expression, unary_generic_expression ); + END_ENTITY; + + ENTITY unary_function_call + ABSTRACT SUPERTYPE OF ( + ONEOF ( + abs_function, + minus_function, + sin_function, + cos_function, + tan_function, + asin_function, + acos_function, + exp_function, + log_function, + log2_function, + log10_function, + square_root_function ) ) + SUBTYPE OF ( unary_numeric_expression ); + END_ENTITY; + + ENTITY unary_generic_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + mesh_function, + mesh_function_basis ) ) + SUBTYPE OF ( generic_expression ); + operand : generic_expression; + END_ENTITY; + + ENTITY unary_numeric_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( numeric_expression, unary_generic_expression ); + SELF\unary_generic_expression.operand : numeric_expression; + END_ENTITY; + + ENTITY unbound_parameter_environment + SUBTYPE OF ( environment ); + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN TYPEOF( SELF\environment. + syntactic_representation ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'UNBOUND_VARIATIONAL_PARAMETER_SEMANTICS' IN TYPEOF( SELF\environment.semantics ) ) ); + END_ENTITY; + + ENTITY unbound_variational_parameter + SUBTYPE OF ( variational_parameter ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNBOUND_PARAMETER_ENVIRONMENT' IN TYPEOF( SELF\generic_variable. + interpretation ) ); + END_ENTITY; + + ENTITY unbound_variational_parameter_semantics + SUBTYPE OF ( variable_semantics ); + END_ENTITY; + + ENTITY uncertainty_assigned_representation + SUBTYPE OF ( representation ); + uncertainty : SET [1 : ?] OF uncertainty_measure_with_unit; + END_ENTITY; + + ENTITY uncertainty_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + name : label; + description : OPTIONAL text; + WHERE + wr1: valid_measure_value( SELF\measure_with_unit.value_component ); + END_ENTITY; + + ENTITY uncertainty_qualifier + SUPERTYPE OF ( + ONEOF ( + standard_uncertainty, + qualitative_uncertainty ) ); + measure_name : label; + description : text; + END_ENTITY; + + ENTITY unconstrained_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY unconstrained_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : unconstrained_pair; + actual_placement : axis2_placement_3d; + END_ENTITY; + + ENTITY unequally_disposed_geometric_tolerance + SUBTYPE OF ( geometric_tolerance ); + displacement : length_measure_with_unit; + WHERE + wr1: ( ( 'NUMBER' IN TYPEOF( SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component ) ) AND + ( SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component > 0 ) ); + END_ENTITY; + + ENTITY uniform_curve + SUBTYPE OF ( b_spline_curve ); + END_ENTITY; + + ENTITY uniform_product_space + SUBTYPE OF ( maths_space, generic_literal ); + base : maths_space; + exponent : positive_integer; + WHERE + wr1: expression_is_constant( base ); + wr2: no_cyclic_space_reference( SELF, [] ); + wr3: ( base <> the_empty_space ); + END_ENTITY; + + ENTITY uniform_resource_identifier + SUBTYPE OF ( descriptive_representation_item ); + END_ENTITY; + + ENTITY uniform_surface + SUBTYPE OF ( b_spline_surface ); + END_ENTITY; + + ENTITY uniform_surface_section + SUBTYPE OF ( surface_section ); + thickness : context_dependent_measure; + bending_thickness : measure_or_unspecified_value; + shear_thickness : measure_or_unspecified_value; + END_ENTITY; + + ENTITY uniform_surface_section_layered + SUBTYPE OF ( surface_section ); + END_ENTITY; + + ENTITY universal_pair + SUBTYPE OF ( low_order_kinematic_pair ); + input_skew_angle : OPTIONAL plane_angle_measure; + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + skew_angle : plane_angle_measure := NVL( input_skew_angle, 0 ); + WHERE + wr1: ( COS( plane_angle_for_pair_in_radian( SELF, skew_angle ) ) > 0 ); + END_ENTITY; + + ENTITY universal_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : universal_pair; + first_rotation_angle : plane_angle_measure; + second_rotation_angle : plane_angle_measure; + END_ENTITY; + + ENTITY universal_pair_with_range + SUBTYPE OF ( universal_pair ); + lower_limit_first_rotation : OPTIONAL plane_angle_measure; + upper_limit_first_rotation : OPTIONAL plane_angle_measure; + lower_limit_second_rotation : OPTIONAL plane_angle_measure; + upper_limit_second_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_first_rotation ) ) OR ( NOT EXISTS( upper_limit_first_rotation ) ) ) XOR ( + lower_limit_first_rotation < upper_limit_first_rotation ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_second_rotation ) ) OR ( NOT EXISTS( upper_limit_second_rotation ) ) ) XOR ( + lower_limit_second_rotation < upper_limit_second_rotation ) ); + END_ENTITY; + + ENTITY unstructured_donor_mesh + SUBTYPE OF ( mismatched_donor_mesh ); + SELF\mismatched_donor_mesh.donor : unstructured_mesh; + cells : indices_group; + interpolant : property_distribution_description; + vsize : INTEGER; + DERIVE + index_count : INTEGER := donor.index_count; + END_ENTITY; + + ENTITY unstructured_mesh + ABSTRACT SUPERTYPE OF ( + ONEOF ( + array_based_unstructured_mesh, + explicit_unstructured_mesh ) ) + SUBTYPE OF ( mesh ); + cell_count : INTEGER; + END_ENTITY; + + ENTITY unused_patches + SUBTYPE OF ( overcomplex_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_STRIP' ] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY unused_shape_element + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM'] ); + END_ENTITY; + + ENTITY usage_association + SUBTYPE OF ( action_method_relationship ); + SELF\action_method_relationship.relating_method : information_usage_right; + SELF\action_method_relationship.related_method : information_usage_right; + DERIVE + related : information_usage_right := SELF\action_method_relationship.related_method; + relating : information_usage_right := SELF\action_method_relationship.relating_method; + END_ENTITY; + + ENTITY user_defined_curve_font + SUBTYPE OF ( curve_style_font, mapped_item ); + END_ENTITY; + + ENTITY user_defined_marker + SUBTYPE OF ( mapped_item, pre_defined_marker ); + END_ENTITY; + + ENTITY user_defined_terminator_symbol + SUBTYPE OF ( mapped_item, pre_defined_symbol ); + END_ENTITY; + + ENTITY user_selected_elements + SUBTYPE OF ( representation_item ); + picked_items : SET [1 : ?] OF representation_item; + END_ENTITY; + + ENTITY user_selected_shape_elements + SUBTYPE OF ( user_selected_elements ); + SELF\user_selected_elements.picked_items : SET [1 : ?] OF shape_representation_item; + END_ENTITY; + + ENTITY value_format_type_qualifier; + format_type : value_format_type; + END_ENTITY; + + ENTITY value_function + SUPERTYPE OF ( + int_value_function ) + SUBTYPE OF ( numeric_expression, unary_generic_expression ); + SELF\unary_generic_expression.operand : string_expression; + END_ENTITY; + + ENTITY value_range + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SET_REPRESENTATION_ITEM' ) IN TYPEOF( item_element ) ) + AND value_range_wr1( item_element ) ); + wr2: value_range_wr2( item_element ); + wr3: value_range_wr3( item_element ); + END_ENTITY; + + ENTITY value_representation_item + SUBTYPE OF ( representation_item ); + value_component : measure_value; + WHERE + wr1: ( SIZEOF( QUERY ( rep <* using_representations( SELF ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF( rep.context_of_items ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY variable + ABSTRACT SUPERTYPE OF ( + ONEOF ( + numeric_variable, + boolean_variable, + string_variable ) ) + SUBTYPE OF ( generic_variable ); + END_ENTITY; + + ENTITY variable_expression + SUBTYPE OF ( variable_semantics ); + property_associated : property_variable_rep_select; + END_ENTITY; + + ENTITY variable_semantics + ABSTRACT SUPERTYPE; + END_ENTITY; + + ENTITY variational_current_representation_relationship + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : variational_representation; + current_result : representation; + UNIQUE + ur1 : current_result; + WHERE + wr1: ( QUERY ( q <* SELF\representation_relationship.rep_1.items | ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' IN TYPEOF( q ) ) ) ) = SELF\ + representation_relationship.rep_2.items ); + wr2: ( SELF\representation_relationship.rep_1.context_of_items :=: SELF\representation_relationship.rep_2.context_of_items ); + wr3: ( SIZEOF( QUERY ( q <* SELF\representation_relationship.rep_2.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' IN TYPEOF( q ) ) ) ) = 0 ); + wr4: ( ( TYPEOF( SELF\representation_relationship.rep_1 ) - TYPEOF( SELF\representation_relationship.rep_2 ) ) = [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION' ] ); + wr5: ( current_result :=: SELF\representation_relationship.rep_2 ); + END_ENTITY; + + ENTITY variational_parameter + ABSTRACT SUPERTYPE OF ( + ONEOF ( + bound_variational_parameter, + unbound_variational_parameter ) ) + SUBTYPE OF ( variational_representation_item, maths_variable ); + parameter_description : OPTIONAL text; + parameter_current_value : maths_value; + WHERE + wr1: member_of( parameter_current_value, SELF\maths_variable.values_space ); + wr2: ( SELF\maths_variable.name = SELF\representation_item.name ); + END_ENTITY; + + ENTITY variational_representation + SUBTYPE OF ( representation ); + INVERSE + cm_link : variational_current_representation_relationship FOR rep_1; + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'VARIATIONAL_REPRESENTATION_ITEM' IN TYPEOF( q ) ) ) ) > 0 ); + wr2: ( SIZEOF( QUERY ( q <* ( SELF\representation.items - cm_link.rep_2.items ) | invalidate_vrep_item( q ) ) ) = 0 ); + END_ENTITY; + + ENTITY variational_representation_item + ABSTRACT SUPERTYPE OF ( + auxiliary_geometric_representation_item ) + SUBTYPE OF ( representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'VARIATIONAL_REPRESENTATION' IN TYPEOF( q ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( NOT ( SELF IN q.items ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY vector + SUBTYPE OF ( geometric_representation_item ); + orientation : direction; + magnitude : length_measure; + WHERE + wr1: ( magnitude >= 0 ); + END_ENTITY; + + ENTITY vector_style + SUBTYPE OF ( curve_style, pre_defined_terminator_symbol ); + END_ENTITY; + + ENTITY vee_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 3 ) ) AND ( SIZEOF( impl_rep + .used_representation.items ) <= 6 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'profile angle' ) OR ( srwp_i + .name = 'tilt angle' ) OR ( srwp_i.name = 'profile radius' ) OR ( srwp_i.name = 'first length' ) OR ( srwp_i.name + = 'second length' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it\measure_with_unit. + value_component ) ) AND ( it.name = 'profile radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'profile angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND + ( it.name = 'tilt angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it\measure_with_unit. + value_component ) ) AND ( it.name = 'first length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it\measure_with_unit. + value_component ) ) AND ( it.name = 'second length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY velocity_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VELOCITY_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY velocity_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 1, 0, -1, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY versioned_action_request; + id : identifier; + version : OPTIONAL label; + purpose : text; + description : OPTIONAL text; + END_ENTITY; + + ENTITY versioned_action_request_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_versioned_action_request : versioned_action_request; + related_versioned_action_request : versioned_action_request; + END_ENTITY; + + ENTITY vertex + SUBTYPE OF ( topological_representation_item ); + END_ENTITY; + + ENTITY vertex_defined_cell + SUBTYPE OF ( cell ); + shape : cell_shape; + order : element_order; + vertices : ARRAY [1 : vn_count] OF OPTIONAL vertex; + DERIVE + bound_count : INTEGER := cell_counts( SELF )[1]; + edge_node_count : INTEGER := cell_counts( SELF )[2]; + opt_node_count : INTEGER := cell_counts( SELF )[3]; + required_count : INTEGER := bound_count + edge_node_count; + vn_count : INTEGER := required_count + opt_node_count; + required_vertices : ARRAY [1 : required_count] OF vertex := shorten_array( vertices, vn_count, required_count ); + END_ENTITY; + + ENTITY vertex_loop + SUBTYPE OF ( loop ); + loop_vertex : vertex; + END_ENTITY; + + ENTITY vertex_point + SUBTYPE OF ( vertex, geometric_representation_item ); + vertex_geometry : point; + END_ENTITY; + + ENTITY vertex_shell + SUBTYPE OF ( topological_representation_item ); + vertex_shell_extent : vertex_loop; + END_ENTITY; + + ENTITY view_relationship; + id : identifier; + name : label; + description : text; + viewed : temporal_spatial_domain; + view : numerical_model; + END_ENTITY; + + ENTITY view_volume + SUBTYPE OF ( founded_item ); + projection_type : central_or_parallel; + projection_point : cartesian_point; + view_plane_distance : length_measure; + front_plane_distance : length_measure; + front_plane_clipping : BOOLEAN; + back_plane_distance : length_measure; + back_plane_clipping : BOOLEAN; + view_volume_sides_clipping : BOOLEAN; + view_window : planar_box; + INVERSE + camera_usages : SET [1 : ?] OF camera_model_d3 FOR perspective_of_volume; + WHERE + wr1: ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D' IN TYPEOF( SELF\view_volume.view_window. + placement ) ) OR ( dot_product( representation_item( ' ' ) || geometric_representation_item( ) || direction( [0, 0, + 1] ), SELF.view_window\planar_box.placement\axis2_placement_3d.p[3] ) = 1 ) ); + wr2: ( view_plane_distance = view_window.placement\placement.location.coordinates[3] ); + END_ENTITY; + + ENTITY viscosity_model + SUBTYPE OF ( mbna_behaviour_model ); + model_type : viscosity_model_type; + END_ENTITY; + + ENTITY visual_appearance_representation + SUBTYPE OF ( representation ); + WHERE + wr1 : ( ( 3 <= SIZEOF( SELF.items ) ) AND ( SIZEOF( SELF.items ) <= 9 ) AND ( ( SIZEOF( QUERY ( i <* items | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND + ( i.name IN [ 'colour id', 'colour name', 'lustre', 'pattern', 'transparency', 'orientation'] ) ) ) ) + SIZEOF( + QUERY ( i <* items | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( + i ) ) = 1 ) AND ( i.name IN [ 'refraction index', 'opacity'] ) ) ) ) + SIZEOF( QUERY ( i <* items | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DOCUMENT_FILE' ) IN TYPEOF( i ) ) AND ( i.name IN [ + 'texture map' ] ) ) ) ) ) = SIZEOF( SELF.items ) ) ); + wr2 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'colour id' ) ) ) = 1 ); + wr3 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'lustre' ) ) ) = 1 ); + wr4 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'colour name' ) ) ) <= 1 ); + wr5 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'pattern' ) ) ) <= 1 ); + wr6 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'transparency' ) ) ) <= 1 ); + wr7 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'texture map' ) ) ) <= 1 ); + wr8 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'refraction index' ) ) ) <= 1 ); + wr9 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'opacity' ) ) ) <= 1 ); + wr10: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'orientation' ) ) ) <= 1 ); + wr11: ( ( SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) + | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa. + base_definition ) ) AND ( gpa\general_property_association.base_definition\general_property.name = + 'surface_condition' ) ) ) ) = 1 ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY volume + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY volume_2d_element_basis; + descriptor : volume_2d_element_descriptor; + variable : volume_variable; + variable_order : element_order; + variable_shape_function : shape_function; + evaluation_points : LIST [1 : ?] OF volume_element_location; + END_ENTITY; + + ENTITY volume_2d_element_boundary_constant_specified_variable_value + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_variable; + element_face : volume_2d_face; + coordinate_system : OPTIONAL volume_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_element_boundary_edge_constant_specified_volume_variable_value + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_edge_variable; + element_edge : volume_2d_edge; + coordinate_system : OPTIONAL volume_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_element_boundary_edge_location_point_volume_variable_values + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF volume_2d_element_value_and_location; + variable : boundary_edge_variable; + element_edge : volume_2d_edge; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_element_boundary_edge_nodal_specified_variable_values + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : boundary_edge_variable; + element_edge : volume_2d_edge; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_element_boundary_edge_whole_edge_variable_value + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_aggregated_variable; + element_edge : volume_2d_edge; + coordinate_system : OPTIONAL volume_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_element_boundary_location_point_variable_values + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF volume_2d_element_value_and_location; + variable : boundary_variable; + element_face : volume_2d_face; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_element_boundary_nodal_specified_variable_values + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + variable : boundary_variable; + additional_node_values : BOOLEAN; + element_face : volume_2d_face; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_element_boundary_whole_face_variable_value + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_aggregated_variable; + element_face : volume_2d_face; + coordinate_system : OPTIONAL volume_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_element_constant_specified_variable_value + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_variable; + coordinate_system : OPTIONAL volume_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_element_field_integration_explicit; + integration_positions_and_weights : SET [1 : ?] OF volume_position_weight; + END_ENTITY; + + ENTITY volume_2d_element_field_integration_rule; + integration_method : integration_rule; + integration_order : ARRAY [1 : 2] OF INTEGER; + END_ENTITY; + + ENTITY volume_2d_element_field_variable_definition + SUPERTYPE OF ( + ONEOF ( + volume_2d_element_location_point_variable_values, + volume_2d_whole_element_variable_value, + volume_2d_element_constant_specified_variable_value, + volume_2d_element_nodal_specified_variable_values, + volume_2d_element_boundary_location_point_variable_values, + volume_2d_element_boundary_whole_face_variable_value, + volume_2d_element_boundary_constant_specified_variable_value, + volume_2d_element_boundary_nodal_specified_variable_values, + volume_2d_element_boundary_edge_location_point_volume_variable_values, + volume_2d_element_boundary_edge_whole_edge_variable_value, + volume_2d_element_boundary_edge_constant_specified_volume_variable_value, + volume_2d_element_boundary_edge_nodal_specified_variable_values ) ) + SUBTYPE OF ( field_variable_element_definition ); + element : volume_2d_element_output_reference; + END_ENTITY; + + ENTITY volume_2d_element_group + SUBTYPE OF ( element_group ); + WHERE + wr1: ( SIZEOF( QUERY ( item <* elements | ( ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'AXISYMMETRIC_VOLUME_2D_ELEMENT_REPRESENTATION' ) IN TYPEOF( item ) ) ) AND ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PLANE_VOLUME_2D_ELEMENT_REPRESENTATION' ) IN TYPEOF( + item ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY volume_2d_element_integrated_matrix; + descriptor : volume_2d_element_descriptor; + property_type : matrix_property_type; + integration_description : text; + END_ENTITY; + + ENTITY volume_2d_element_integrated_matrix_with_definition + SUBTYPE OF ( volume_2d_element_integrated_matrix ); + integration_definition : volume_2d_element_field_integration; + END_ENTITY; + + ENTITY volume_2d_element_location_point_variable_values + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF volume_2d_element_value_and_location; + variable : volume_variable; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_element_nodal_specified_variable_values + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : volume_variable; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_element_value_and_location; + simple_value : field_value; + location : volume_element_location; + coordinate_system : OPTIONAL volume_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + END_ENTITY; + + ENTITY volume_2d_node_field_variable_definition + SUBTYPE OF ( field_variable_node_definition ); + simple_value : field_value; + variable : volume_variable; + coordinate_system : OPTIONAL volume_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_2d_substructure_element_reference; + substructure_element_ref : substructure_element_representation; + element_ref : volume_2d_element_representation; + END_ENTITY; + + ENTITY volume_2d_whole_element_variable_value + SUBTYPE OF ( volume_2d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL volume_2d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_basis; + descriptor : volume_3d_element_descriptor; + variable : volume_variable; + variable_order : element_order; + variable_shape_function : shape_function; + evaluation_points : LIST [1 : ?] OF volume_element_location; + END_ENTITY; + + ENTITY volume_3d_element_boundary_constant_specified_variable_value + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_variable; + element_face : volume_3d_face; + coordinate_system : OPTIONAL volume_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_boundary_edge_constant_specified_volume_variable_value + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_edge_variable; + element_edge : volume_3d_edge; + coordinate_system : OPTIONAL volume_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_boundary_edge_location_point_volume_variable_values + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF volume_3d_element_value_and_location; + variable : boundary_edge_variable; + element_edge : volume_3d_edge; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_boundary_edge_nodal_specified_variable_values + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : boundary_edge_variable; + element_edge : volume_3d_edge; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_boundary_edge_whole_edge_variable_value + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_aggregated_variable; + element_edge : volume_3d_edge; + coordinate_system : OPTIONAL volume_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_boundary_location_point_variable_values + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF volume_3d_element_value_and_location; + variable : boundary_variable; + element_face : volume_3d_face; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_boundary_nodal_specified_variable_values + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : boundary_variable; + element_face : volume_3d_face; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_boundary_whole_face_variable_value + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + simple_value : field_value; + variable : boundary_aggregated_variable; + element_face : volume_3d_face; + coordinate_system : OPTIONAL volume_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_constant_specified_variable_value + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_variable; + coordinate_system : OPTIONAL volume_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_descriptor + SUBTYPE OF ( element_descriptor ); + purpose : SET [1 : ?] OF volume_element_purpose; + shape : volume_3d_element_shape; + END_ENTITY; + + ENTITY volume_3d_element_field_integration_explicit; + integration_positions_and_weights : SET [1 : ?] OF volume_position_weight; + END_ENTITY; + + ENTITY volume_3d_element_field_integration_rule; + integration_method : integration_rule; + integration_order : ARRAY [1 : 3] OF INTEGER; + END_ENTITY; + + ENTITY volume_3d_element_field_variable_definition + SUPERTYPE OF ( + ONEOF ( + volume_3d_element_location_point_variable_values, + volume_3d_whole_element_variable_value, + volume_3d_element_constant_specified_variable_value, + volume_3d_element_nodal_specified_variable_values, + volume_3d_element_boundary_location_point_variable_values, + volume_3d_element_boundary_whole_face_variable_value, + volume_3d_element_boundary_constant_specified_variable_value, + volume_3d_element_boundary_nodal_specified_variable_values, + volume_3d_element_boundary_edge_location_point_volume_variable_values, + volume_3d_element_boundary_edge_whole_edge_variable_value, + volume_3d_element_boundary_edge_constant_specified_volume_variable_value, + volume_3d_element_boundary_edge_nodal_specified_variable_values ) ) + SUBTYPE OF ( field_variable_element_definition ); + element : volume_3d_element_output_reference; + END_ENTITY; + + ENTITY volume_3d_element_group + SUBTYPE OF ( element_group ); + WHERE + wr1: ( SIZEOF( QUERY ( item <* elements | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'VOLUME_3D_ELEMENT_REPRESENTATION' ) IN TYPEOF( item ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY volume_3d_element_integrated_matrix; + descriptor : volume_3d_element_descriptor; + property_type : matrix_property_type; + integration_description : text; + END_ENTITY; + + ENTITY volume_3d_element_integrated_matrix_with_definition + SUBTYPE OF ( volume_3d_element_integrated_matrix ); + integration_definition : volume_3d_element_field_integration; + END_ENTITY; + + ENTITY volume_3d_element_location_point_variable_values + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + basis : BOOLEAN; + values_and_locations : SET [1 : ?] OF volume_3d_element_value_and_location; + variable : volume_variable; + WHERE + wr1: consistent_set_values( values_and_locations, variable ); + wr2: appropriate_set_value_existence( values_and_locations, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_nodal_specified_variable_values + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + values : LIST [1 : ?] OF field_value; + additional_node_values : BOOLEAN; + variable : volume_variable; + WHERE + wr1: consistent_list_values( values, variable ); + wr2: appropriate_list_value_existence( values, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_element_representation + SUBTYPE OF ( element_representation ); + model_ref : fea_model_3d; + element_descriptor : volume_3d_element_descriptor; + material : element_material; + UNIQUE + ur1 : model_ref, SELF\representation.name; + WHERE + wr1: ( ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PARAMETRIC_VOLUME_3D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) + SIZEOF( QUERY ( item <* SELF\ + representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ARBITRARY_VOLUME_3D_ELEMENT_COORDINATE_SYSTEM' ) IN TYPEOF( item ) ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( item1 <* material.properties | ( SIZEOF( QUERY ( item2 <* item1\property_definition_representation. + used_representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FEA_LINEAR_ELASTICITY' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MASS_DENSITY', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_MOISTURE_ABSORPTION'] * TYPEOF( item2 ) ) = 1 ) ) ) + = 1 ) ) ) >= 1 ); + wr3: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\ + representation.context_of_items ) ); + fu1: required_3d_nodes( SELF\element_representation.node_list, element_descriptor.shape, element_descriptor\ + element_descriptor.topology_order ); + END_ENTITY; + + ENTITY volume_3d_element_value_and_location; + simple_value : field_value; + location : volume_element_location; + coordinate_system : OPTIONAL volume_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + END_ENTITY; + + ENTITY volume_3d_node_field_variable_definition + SUBTYPE OF ( field_variable_node_definition ); + simple_value : field_value; + variable : volume_variable; + coordinate_system : OPTIONAL volume_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_3d_substructure_element_reference; + substructure_element_ref : substructure_element_representation; + element_ref : volume_3d_element_representation; + END_ENTITY; + + ENTITY volume_3d_whole_element_variable_value + SUBTYPE OF ( volume_3d_element_field_variable_definition ); + simple_value : field_value; + variable : volume_aggregated_variable; + coordinate_system : OPTIONAL volume_3d_element_coordinate_system; + WHERE + wr1: necessary_value_coordinate_system( simple_value, coordinate_system ); + wr2: consistent_value( simple_value, variable ); + wr3: appropriate_value_existence( simple_value, TYPEOF( SELF\state_definition.defined_state ) ); + END_ENTITY; + + ENTITY volume_element_location; + coordinates : fea_parametric_point; + END_ENTITY; + + ENTITY volume_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VOLUME_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY volume_position_weight; + integration_position : volume_element_location; + integration_weight : context_dependent_measure; + END_ENTITY; + + ENTITY volume_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 3, 0, 0, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY week_of_year_and_day_date + SUBTYPE OF ( date ); + week_component : week_in_year_number; + day_component : OPTIONAL day_in_week_number; + WHERE + wr1: ( ( NOT leap_year( SELF\date.year_component ) ) OR ( ( 1 <= ( day_component + ( 7 * ( week_component - 1 ) ) ) ) AND + ( ( day_component + ( 7 * ( week_component - 1 ) ) ) <= 366 ) ) ); + wr2: ( leap_year( SELF\date.year_component ) OR ( ( 1 <= ( day_component + ( 7 * ( week_component - 1 ) ) ) ) AND ( ( + day_component + ( 7 * ( week_component - 1 ) ) ) <= 365 ) ) ); + END_ENTITY; + + ENTITY whole_model_analysis_message + SUPERTYPE OF ( + whole_model_modes_and_frequencies_analysis_message ) + SUBTYPE OF ( analysis_message ); + END_ENTITY; + + ENTITY whole_model_modes_and_frequencies_analysis_message + SUBTYPE OF ( whole_model_analysis_message ); + mode : count_measure; + frequency : context_dependent_measure; + END_ENTITY; + + ENTITY wire_shell + SUBTYPE OF ( topological_representation_item ); + wire_shell_extent : SET [1 : ?] OF loop; + WHERE + wr1: ( NOT mixed_loop_type_set( wire_shell_extent ) ); + END_ENTITY; + + ENTITY wrong_element_name + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM'] ); + END_ENTITY; + + ENTITY wrongly_oriented_void + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ORIENTED_CLOSED_SHELL' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY wrongly_placed_loop + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BOUND'] ); + wr4: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY wrongly_placed_void + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ORIENTED_CLOSED_SHELL' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY xor_expression + SUBTYPE OF ( binary_boolean_expression ); + SELF\binary_generic_expression.operands : LIST [2 : 2] OF boolean_expression; + END_ENTITY; + + ENTITY year_month + SUBTYPE OF ( date ); + month_component : month_in_year_number; + END_ENTITY; + + ENTITY zero_surface_normal + SUBTYPE OF ( geometry_with_local_irregularity ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF + \shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'] ); + END_ENTITY; + + ENTITY zone_structural_makeup + SUPERTYPE OF ( + ONEOF ( + smeared_material_definition + AND + thickness_laminate_table, + smeared_material_definition + AND + percentage_laminate_table, + thickness_laminate_table, + percentage_laminate_table, + smeared_material_definition ) ) + SUBTYPE OF ( laminate_table ); + END_ENTITY; + + RULE alternative_solution_requires_solution_definition FOR ( product_definition_formation ); + + LOCAL + solution_versions : SET OF product_definition_formation := []; + END_LOCAL; + solution_versions := QUERY ( pdf <* product_definition_formation | ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'alternative solution' ) ) ) = 1 ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdf <* solution_versions | ( SIZEOF( QUERY ( pd <* USEDIN( pdf, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION.FORMATION' ) | ( pd.frame_of_reference. + name = 'alternative definition' ) ) ) <> 1 ) ) ) = 0 ); + + END_RULE; + + RULE application_protocol_definition_required FOR ( application_context ); + + WHERE + wr1: SIZEOF( QUERY ( ac <* application_context | ( SIZEOF( QUERY ( apd <* USEDIN( ac, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION' ) | + (( apd.application_interpreted_model_schema_name = 'ap242_managed_model_based_3d_engineering' ) OR + ( apd.application_interpreted_model_schema_name = 'ap209_multidisciplinary_analysis_and_design')) + ) ) > 0 ) ) ) > 0 ; + END_RULE; + + RULE breakdown_element_requires_product_definition FOR ( product_definition_formation ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdf <* product_definition_formation | ( ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'functionality' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pd <* USEDIN( pdf, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | ( pd.frame_of_reference.name + = 'functional definition' ) ) ) < 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pdf <* product_definition_formation | ( ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'conceptual design' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pd <* USEDIN( pdf, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | ( pd.frame_of_reference.name + = 'conceptual definition' ) ) ) < 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE chamfer_offset_requires_faces FOR ( chamfer_offset, property_definition_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( co <* chamfer_offset | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr + \property_definition_representation.definition\property_definition.definition = co ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( ( ( pdr\property_definition_representation.definition\property_definition.definition.description = 'first offset' ) + AND ( pdr.used_representation.name = 'first face shape' ) ) OR ( ( pdr\property_definition_representation.definition\ + property_definition.definition.description = 'second offset' ) AND ( pdr.used_representation.name = 'second face shape' ) ) ) ) ) ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE chamfer_requires_faces FOR ( chamfer, property_definition_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( cf <* chamfer | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr\ + property_definition_representation.definition\property_definition.definition = cf ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'chamfer face' ) ) ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE compatible_dimension FOR ( cartesian_point, direction, representation_context, geometric_representation_context ); + + WHERE + wr1: ( SIZEOF( QUERY ( x <* cartesian_point | ( SIZEOF( QUERY ( y <* geometric_representation_context | ( item_in_context( x, + y ) AND ( HIINDEX( x.coordinates ) <> y.coordinate_space_dimension ) ) ) ) > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( x <* direction | ( SIZEOF( QUERY ( y <* geometric_representation_context | ( item_in_context( x, y ) + AND ( HIINDEX( x.direction_ratios ) <> y.coordinate_space_dimension ) ) ) ) > 0 ) ) ) = 0 ); + + END_RULE; + + RULE component_class_for_assembly_select FOR ( composite_assembly_sequence_definition, next_assembly_usage_occurrence, + product_related_product_category ); + + LOCAL + i : INTEGER := 0; + j : INTEGER := 0; + k : INTEGER := 0; + dkuhr : LOGICAL := TRUE; + nnauo : INTEGER := 0; + nprpc : INTEGER := 0; + rp : product; + END_LOCAL; + REPEAT i := LOINDEX( composite_assembly_sequence_definition ) TO HIINDEX( composite_assembly_sequence_definition ) BY 1; + nnauo := 0; + REPEAT j := LOINDEX( next_assembly_usage_occurrence ) TO HIINDEX( next_assembly_usage_occurrence ) BY 1; + IF composite_assembly_sequence_definition[i] = next_assembly_usage_occurrence[j].relating_product_definition THEN + rp := next_assembly_usage_occurrence[j].related_product_definition.formation.of_product; + nprpc := 0; + REPEAT k := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF ( rp IN product_related_product_category[k].products ) AND ( product_related_product_category[k].name IN [ 'ply', + 'ply laminate' , 'filament laminate', 'processed core', 'composite assembly'] ) THEN + nprpc := nprpc + 1; + END_IF; + END_REPEAT; + IF nprpc = 1 THEN + nnauo := nnauo + 1; + ELSE + dkuhr := FALSE; + ESCAPE; + END_IF; + END_IF; + END_REPEAT; + IF dkuhr = FALSE THEN + ESCAPE; + END_IF; + IF nnauo = 0 THEN + dkuhr := FALSE; + ESCAPE; + END_IF; + END_REPEAT; + + WHERE + wr1: dkuhr; + + END_RULE; + + RULE consistent_uncertainty FOR ( global_uncertainty_assigned_context, qualified_representation_item, + uncertainty_assigned_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( guac <* global_uncertainty_assigned_context | ( SIZEOF( QUERY ( u1 <* guac.uncertainty | ( SIZEOF( + QUERY ( u2 <* guac.uncertainty | ( u2.name = u1.name ) ) ) > 1 ) ) ) > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( uar <* uncertainty_assigned_representation | ( SIZEOF( QUERY ( u1 <* uar.uncertainty | ( SIZEOF( + QUERY ( u2 <* uar.uncertainty | ( u2.name = u1.name ) ) ) > 1 ) ) ) > 0 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( qri <* qualified_representation_item | ( SIZEOF( QUERY ( u1 <* qri.qualifiers | ( ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' ) IN TYPEOF( u1 ) ) AND ( SIZEOF( + QUERY ( u2 <* qri.qualifiers | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' ) + IN TYPEOF( u2 ) ) AND ( u2\uncertainty_qualifier.measure_name = u1\uncertainty_qualifier.measure_name ) ) ) ) > 1 ) ) ) ) + > 0 ) ) ) = 0 ); + + END_RULE; + + RULE constraint_definition_requires_constraint_category FOR ( product_definition ); + + LOCAL + constraint_definitions : SET OF product_definition := []; + END_LOCAL; + constraint_definitions := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = 'design constraint definition' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* constraint_definitions | ( SIZEOF( QUERY ( prpc <* USEDIN( pd.formation.of_product, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'requirement' ) ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE design_constraint_requires_product_definition FOR ( product_definition_formation ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdf <* product_definition_formation | ( ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'requirement' ) ) ) > 0 ) AND ( SIZEOF( QUERY ( pd <* USEDIN( pdf, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | ( pd.frame_of_reference.name + = 'design constraint definition' ) ) ) < 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE dimensioning_data_requires_document FOR ( applied_document_reference, product_definition_context_association, + role_association ); + + LOCAL + adr : SET OF applied_document_reference := QUERY ( adr <* applied_document_reference | ( ( adr\document_reference. + assigned_document\document.kind\document_type.product_data_type = 'Standards Document' ) AND ( ( adr\ + document_reference.assigned_document\document.id = 'ASME Y14.41-2003' ) OR ( adr\document_reference. + assigned_document\document.id = 'ASME Y14.5M-1994' ) OR ( adr\document_reference.assigned_document\document.id = + 'ISO 1101: 2004' ) ) ) ); + pdca : SET OF product_definition_context_association := QUERY ( pdca <* product_definition_context_association | ( ( pdca + \product_definition_context_association.role\product_definition_context_role.name = 'additional context' ) AND ( + pdca\product_definition_context_association.frame_of_reference\application_context_element.name = + 'Geometric Dimensioning and Tolerancing Product Specification' ) ) ); + ra : SET OF role_association := QUERY ( ra <* role_association | ( ra\role_association.role\object_role.name = + 'dimensioning standard' ) ); + ra1 : SET OF role_association := []; + pdpdca : SET OF product_definition := []; + pdadr : SET OF product_definition := []; + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( pdca ) BY 1; + pdpdca := pdpdca + pdca[i]\product_definition_context_association.definition; + END_REPEAT; + REPEAT i := 1 TO HIINDEX( adr ) BY 1; + ra1 := bag_to_set( USEDIN( adr[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ); + IF ( ra1 * ra ) <> ra1 THEN + pass := FALSE; + END_IF; + REPEAT j := 1 TO HIINDEX( adr[i]\applied_document_reference.items ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( adr[i]\applied_document_reference. + items[j] ) THEN + pdadr := pdadr + adr[i]\applied_document_reference.items[j]; + END_IF; + END_REPEAT; + END_REPEAT; + + WHERE + wr1: pass; + wr2: ( pdpdca = pdadr ); + + END_RULE; + + RULE draughting_model_items_constraint FOR ( draughting_model ); + + WHERE + wr1: ( SIZEOF( QUERY ( dm <* draughting_model | ( NOT ( SIZEOF( QUERY ( it1 <* dm\representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_OCCURRENCE' IN TYPEOF( it1 ) ) AND ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_ANNOTATION_OCCURRENCE' ) IN TYPEOF( it1 ) ) ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( dm <* draughting_model | ( NOT ( SIZEOF( QUERY ( it1 <* dm\representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF( it1 ) ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_ELEMENTS' IN TYPEOF( it1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + + END_RULE; + + RULE edge_round_requires_faces FOR ( edge_round, property_definition_representation ); + + WHERE + wr1: ( 0 = SIZEOF( QUERY ( er <* edge_round | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr + \property_definition_representation.definition\property_definition.definition = er ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'edge round face' ) ) ) ) ) ) ) ) ); + wr2: ( SIZEOF( QUERY ( er <* edge_round | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr\ + property_definition_representation.definition\property_definition.definition = er ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'first face shape' ) ) ) ) ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( er <* edge_round | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr\ + property_definition_representation.definition\property_definition.definition = er ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'second face shape' ) ) ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE external_version_assignments_are_valid FOR ( applied_external_identification_assignment ); + + WHERE + wr1: ( SIZEOF( QUERY ( aia <* applied_external_identification_assignment | ( NOT external_version_assignment_is_valid( aia ) ) ) ) + = 0 ); + + END_RULE; + + RULE machining_feature_definition_constraints FOR ( feature_definition ); + + LOCAL + mfds : SET OF feature_definition := []; + END_LOCAL; + mfds := QUERY ( temp <* feature_definition | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MACHINING_FEATURE_DEFINITION' IN TYPEOF( temp ) ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( mfd <* mfds | ( NOT ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( mfd ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( mfd <* mfds | ( NOT ( SIZEOF( QUERY ( pd <* USEDIN( mfd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* + impl_rep.used_representation.items | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) + AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( mfd <* mfds | ( NOT ( ( NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUND_HOLE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'OUTSIDE_PROFILE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REMOVAL_VOLUME', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FLAT_FACE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'POCKET' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROTRUSION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIB_TOP' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ROUNDED_END' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STEP' ] * TYPEOF( mfds ) ) = 1 ) ) OR ( SIZEOF( QUERY ( pdr <* + get_property_definition_representations( mfd ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'maximum feature limit' ) ) ) ) >= 0 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE machining_feature_life_cycle FOR ( instanced_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( mf <* instanced_feature | ( NOT ( mf.of_shape.definition.frame_of_reference.life_cycle_stage = + 'manufacturing planning' ) ) ) ) = 0 ); + + END_RULE; + + RULE material_for_coating_layer FOR ( shape_aspect ); + + LOCAL + coating_layers : SET OF shape_aspect := []; + END_LOCAL; + coating_layers := QUERY ( r <* shape_aspect | ( r.name = 'coating layer' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( r <* coating_layers | ( SIZEOF( USEDIN( r, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MATERIAL_DESIGNATION.DEFINITIONS' ) ) <> 1 ) ) ) = 0 ); + + END_RULE; + + RULE plib_property_reference_requires_name_scope FOR ( externally_defined_general_property ); + + LOCAL + known_sourced_properties : SET OF externally_defined_general_property; + END_LOCAL; + known_sourced_properties := QUERY ( edc <* externally_defined_general_property | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF( edc.source ) ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( edgp <* known_sourced_properties | ( SIZEOF( QUERY ( edir <* USEDIN( edgp, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.RELATING_ITEM' ) | ( ( + edir.name = 'name scope' ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTERNALLY_DEFINED_CLASS' IN + TYPEOF( edir.related_item ) ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF( edir + .related_item.source ) ) ) ) ) <> 1 ) ) ) = 0 ); + + END_RULE; + + RULE plib_property_reference_requires_version FOR ( externally_defined_general_property ); + + LOCAL + plib_properties : SET OF externally_defined_general_property := []; + END_LOCAL; + plib_properties := QUERY ( edgp <* externally_defined_general_property | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF( edgp.source ) ) AND ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KNOWN_SOURCE' + '.NAME' ) = 'ISO 13584 library' ) ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( edgp <* plib_properties | ( SIZEOF( QUERY ( edir <* USEDIN( edgp, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS' ) | ( edir. + role.name = 'version' ) ) ) <> 1 ) ) ) = 0 ); + + END_RULE; + + RULE ply_reference FOR ( ply_laminate_sequence_definition, next_assembly_usage_occurrence, product_related_product_category ); + + LOCAL + i : INTEGER; + j : INTEGER; + k : INTEGER; + dkuhr : LOGICAL := TRUE; + nnauo : INTEGER; + nprpc : INTEGER := 0; + rp : product; + END_LOCAL; + REPEAT i := LOINDEX( ply_laminate_sequence_definition ) TO HIINDEX( ply_laminate_sequence_definition ) BY 1; + nnauo := 0; + REPEAT j := LOINDEX( next_assembly_usage_occurrence ) TO HIINDEX( next_assembly_usage_occurrence ) BY 1; + IF ply_laminate_sequence_definition[i] = next_assembly_usage_occurrence[j].relating_product_definition THEN + rp := next_assembly_usage_occurrence[j].related_product_definition.formation.of_product; + nprpc := 0; + REPEAT k := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF ( product_related_product_category[k].name = 'ply' ) AND ( rp IN product_related_product_category[k].products ) + THEN + nprpc := nprpc + 1; + END_IF; + END_REPEAT; + IF nprpc = 1 THEN + nnauo := nnauo + 1; + ELSE + dkuhr := FALSE; + ESCAPE; + END_IF; + END_IF; + END_REPEAT; + IF dkuhr = FALSE THEN + ESCAPE; + END_IF; + IF nnauo = 0 THEN + dkuhr := FALSE; + ESCAPE; + END_IF; + END_REPEAT; + + WHERE + wr1: dkuhr; + + END_RULE; + + RULE ply_stock_material_select FOR ( product_related_product_category, make_from_usage_option ); + + LOCAL + i : INTEGER; + j : INTEGER; + k : INTEGER; + kp : INTEGER; + dkuhr : LOGICAL; + nmfuo : INTEGER; + nprpc : INTEGER := 0; + rp : product; + END_LOCAL; + dkuhr := TRUE; + REPEAT kp := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF product_related_product_category[kp].name = 'ply' THEN + REPEAT i := LOINDEX( product_related_product_category[kp].products ) TO HIINDEX( product_related_product_category[kp]. + products ) BY 1; + nmfuo := 0; + REPEAT j := LOINDEX( make_from_usage_option ) TO HIINDEX( make_from_usage_option ) BY 1; + rp := make_from_usage_option[j].related_product_definition.formation.of_product; + IF product_related_product_category[kp].products[i] = rp THEN + REPEAT k := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF ( rp IN product_related_product_category[k].products ) AND ( product_related_product_category[k].name IN [ + 'isotropic material' , 'filament assembly', 'discontinuous fiber assembly'] ) THEN + nprpc := nprpc + 1; + END_IF; + END_REPEAT; + IF nprpc = 1 THEN + nmfuo := nmfuo + 1; + ELSE + dkuhr := FALSE; + ESCAPE; + END_IF; + END_IF; + END_REPEAT; + IF dkuhr = FALSE THEN + ESCAPE; + END_IF; + IF nmfuo <> 1 THEN + dkuhr := FALSE; + ESCAPE; + END_IF; + END_REPEAT; + END_IF; + END_REPEAT; + + WHERE + wr1: dkuhr; + + END_RULE; + + RULE product_concept_feature_requires_category FOR ( product_concept_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( pcf <* product_concept_feature | ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'INCLUSION_PRODUCT_CONCEPT_FEATURE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONDITIONAL_CONCEPT_FEATURE' ] * TYPEOF( pcf ) ) = 0 ) AND ( SIZEOF( QUERY ( aga <* USEDIN( pcf, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT.' + 'ITEMS' ) | ( ( aga\ + group_assignment.role\object_role.name = 'specification category member' ) AND ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' ) IN TYPEOF( aga. + assigned_group ) ) ) ) ) <> 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE product_definition_replacement_requires_effectivity_assignment FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'definition replacement' ) AND ( SIZEOF( + USEDIN( pdr, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT.ITEMS' ) ) = 0 ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_alternative_definition FOR ( product_definition ); + + LOCAL + solution_definitions : SET OF product_definition := []; + END_LOCAL; + solution_definitions := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = 'alternative definition' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* solution_definitions | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) + | ( pdr.name = 'solution alternative definition' ) ) ) <> 1 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* solution_definitions | ( NOT ( pd.name IN [ 'technical', 'supplier', 'technical supplier', ''] ) ) ) ) + = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* solution_definitions | ( ( pd.name IN [ 'supplier', 'technical supplier'] ) AND ( SIZEOF( + QUERY ( aoa <* USEDIN( pd.formation, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS' ) | ( aoa.role.name = 'supplier' ) ) ) <> 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_assembly_category FOR ( product_definition ); + + LOCAL + assembly_definitions : SET OF product_definition := []; + END_LOCAL; + assembly_definitions := QUERY ( pd <* product_definition | ( SIZEOF( QUERY ( pdca <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION' ) | ( pdca. + frame_of_reference.name = 'assembly definition' ) ) ) > 0 ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* assembly_definitions | ( NOT ( 'assembly' IN categories_of_product( pd.formation.of_product ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_centre_of_mass_representation FOR ( representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( r <* representation | ( ( r.name = 'centre of mass' ) AND ( ( SIZEOF( r.items ) <> 1 ) OR ( SIZEOF( + QUERY ( i <* r.items | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POINT' ) IN TYPEOF( i ) ) AND + ( i.name = 'centre point' ) ) ) ) <> 1 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_classification_assignments FOR ( applied_classification_assignment ); + + WHERE + wr1: ( SIZEOF( QUERY ( aia <* applied_classification_assignment | ( NOT class_assignment_is_valid( aia ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_collection_category FOR ( product_definition ); + + LOCAL + collection_definitions : SET OF product_definition := []; + END_LOCAL; + collection_definitions := QUERY ( pd <* product_definition | ( SIZEOF( QUERY ( pdca <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION' ) | ( pdca. + frame_of_reference.name = 'collection definition' ) ) ) > 0 ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* collection_definitions | ( NOT ( 'collection' IN categories_of_product( pd.formation.of_product ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_concept_feature_operator FOR ( concept_feature_operator ); + + WHERE + wr1: ( SIZEOF( QUERY ( cfo <* concept_feature_operator | ( NOT ( cfo.name IN [ 'and', 'or', 'oneof', 'not', 'implication'] ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( cfo <* concept_feature_operator | ( ( cfo.name = 'implication' ) AND ( SIZEOF( QUERY ( cfrwc <* + USEDIN( cfo, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' + + 'CONDITIONAL_OPERATOR' ) | ( SIZEOF( QUERY ( ccf <* USEDIN( cfrwc, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.CONDITION' ) | ( NOT ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' ) IN TYPEOF( ccf ) ) ) ) ) + > 0 ) ) ) > 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( cfo <* concept_feature_operator | ( ( cfo.name = 'not' ) AND ( SIZEOF( QUERY ( cfrwc <* USEDIN( cfo, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' + + 'CONDITIONAL_OPERATOR' ) | ( cfrwc.related_product_concept_feature :<>: cfrwc.relating_product_concept_feature ) ) ) + > 0 ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_configuration_design_for_class_breakdown_association FOR ( configuration_design ); + + WHERE + wr1: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name = 'functionality' ) AND ( ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( cd.design ) ) ) OR ( cd.design\ + product_definition.frame_of_reference.name <> 'functional definition' ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name = 'realization' ) AND ( ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( cd.design ) ) ) OR ( cd.design\ + product_definition.frame_of_reference.name <> 'conceptual definition' ) ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name IN [ 'functionality', 'realization'] ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_CLASS' IN TYPEOF( cd.configuration.item_concept ) ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_configuration_design_for_design_constraint FOR ( configuration_design ); + + WHERE + wr1: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name = 'design constraint usage' ) AND ( ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( cd.design ) ) ) OR ( cd.design\ + product_definition.frame_of_reference.name <> 'design constraint definition' ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_group_relationship_for_classification_hierarchy FOR ( group_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( gr <* group_relationship | ( ( gr\group_relationship.name = 'class hierarchy' ) AND ( ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLASS' IN TYPEOF( gr\group_relationship.related_group ) ) ) OR + ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLASS' IN TYPEOF( gr\group_relationship.relating_group ) ) ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_group_relationship_for_specification_category FOR ( group_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( gr <* group_relationship | ( ( gr.name = 'specification category hierarchy' ) AND ( ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF( gr.related_group ) ) ) + OR ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF( gr. + relating_group ) ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_language_assignment_per_attribute FOR ( attribute_language_assignment ); + + WHERE + wr1: ( SIZEOF( QUERY ( ala1 <* attribute_language_assignment | ( SIZEOF( QUERY ( it <* ala1.items | ( SIZEOF( + QUERY ( ala2 <* USEDIN( it, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ) + | ( ( ala1\attribute_classification_assignment.attribute_name = ala2\attribute_classification_assignment. + attribute_name ) AND ( ala1\attribute_classification_assignment.assigned_class :=: ala2\ + attribute_classification_assignment.assigned_class ) ) ) ) > 1 ) ) ) > 0 ) ) ) = 0 ); + + END_RULE; + + RULE restrict_part_occurrence FOR ( product_definition ); + + LOCAL + part_occurrences : SET OF product_definition := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = + 'part occurrence' ) ); + END_LOCAL; + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* part_occurrences | ( NOT ( pd.name IN [ 'single instance', 'selected instance', + 'quantified instance' , 'specified instance'] ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) + | ( pdr.name = 'definition usage' ) ) ) <> 1 ) AND ( SIZEOF( QUERY ( cd <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONFIGURATION_DESIGN.DESIGN' ) | ( ( cd.name = + 'occurrence usage definition' ) AND ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_IDENTIFICATION' ) IN TYPEOF( cd.configuration ) ) ) ) ) ) <> 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( SIZEOF( QUERY ( cd <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) + | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_USAGE' ) IN TYPEOF( cd ) ) ) ) = 0 ) + AND ( SIZEOF( USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( pd.name = 'selected instance' ) AND ( NOT + valid_selected_instance_representation( pd ) ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( pd.name = 'quantified instance' ) AND ( SIZEOF( QUERY ( ppd <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( ppd.name = + 'occurrence quantity' ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( ppd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( pdr + .used_representation.name = 'quantity' ) AND ( SIZEOF( pdr.used_representation.items ) = 1 ) AND ( SIZEOF( + QUERY ( i <* pdr.used_representation.items | ( ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND ( i.name = 'quantity measure' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( pd.name = 'specified instance' ) AND ( SIZEOF( QUERY ( pdor <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) + | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SPECIFIED_HIGHER_USAGE_OCCURRENCE' ) IN TYPEOF( pdor. + occurrence_usage ) ) ) ) = 0 ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_part_occurrence_category FOR ( product_definition ); + + LOCAL + part_occurrences : SET OF product_definition := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = + 'part occurrence' ) ); + END_LOCAL; + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* part_occurrences | ( SIZEOF( QUERY ( prpc <* USEDIN( pd.formation.of_product, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name IN [ + 'part' , 'raw material', 'tool'] ) ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_base_element FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'solution alternative definition' ) AND ( ( + NOT ( pdr.relating_product_definition.frame_of_reference.name IN [ 'alternative definition', 'functional definition', + 'conceptual definition' ] ) ) OR ( pdr.related_product_definition.frame_of_reference.name <> 'alternative definition' ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_collection FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'collection membership' ) AND ( ( pdr. + relating_product_definition.frame_of_reference.name <> 'part definition' ) OR ( pdr.related_product_definition. + frame_of_reference.name <> 'part occurrence' ) OR ( SIZEOF( QUERY ( pdca <* USEDIN( pdr.relating_product_definition, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION' ) | ( + ( pdca.role.name = 'part definition type' ) AND ( pdca.frame_of_reference.name = 'collection definition' ) ) ) ) = 0 ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_definition_usage FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'definition usage' ) AND ( ( pdr. + relating_product_definition.frame_of_reference.name <> 'part definition' ) OR ( pdr.related_product_definition. + frame_of_reference.name <> 'part occurrence' ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_design_constraint_association FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'design constraint association' ) AND ( ( pdr. + relating_product_definition.frame_of_reference.name <> 'design constraint definition' ) OR ( NOT ( pdr. + related_product_definition.frame_of_reference.name IN [ 'alternative definition', 'functional definition', + 'conceptual definition' ] ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_part_definition_relationship FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name IN [ 'geometrical relationship', + 'definition replacement' ] ) AND ( ( pdr.relating_product_definition.frame_of_reference.name <> 'part definition' ) + OR ( pdr.related_product_definition.frame_of_reference.name <> 'part definition' ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_representation_for_surface_condition FOR ( property_definition_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* property_definition_representation | ( NOT surface_condition_correlation( pdr.definition, pdr. + used_representation ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_treatment_result FOR ( representation ); + + LOCAL + treatment_results : SET OF representation := []; + END_LOCAL; + treatment_results := QUERY ( r <* representation | ( r.name = 'treatment result' ) ); + + WHERE + wr1: ( ( SIZEOF( QUERY ( r <* treatment_results | ( SIZEOF( r.items ) > 2 ) ) ) = 0 ) AND ( SIZEOF( QUERY ( r <* + treatment_results | ( SIZEOF( QUERY ( i <* r.items | ( NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) ) ) ) > 0 ) ) ) = 0 ) ); + wr2: ( SIZEOF( QUERY ( r <* treatment_results | ( SIZEOF( QUERY ( i <* r.items | ( i.name = 'result' ) ) ) = 0 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( r <* treatment_results | ( SIZEOF( QUERY ( i <* r.items | ( i.name = 'purpose' ) ) ) > 1 ) ) ) = 0 ); + + END_RULE; + + RULE selected_instance_usage_requires_representation FOR ( assembly_component_usage ); + + LOCAL + selected_instance_usages : SET OF assembly_component_usage := QUERY ( acr <* assembly_component_usage | ( acr.name = + 'selected instance usage' ) ); + END_LOCAL; + + WHERE + wr1: ( SIZEOF( QUERY ( acr <* selected_instance_usages | ( NOT valid_selected_instance_representation( acr ) ) ) ) = 0 ); + + END_RULE; + + RULE solution_definition_requires_solution_category FOR ( product_definition ); + + LOCAL + solution_definitions : SET OF product_definition := []; + END_LOCAL; + solution_definitions := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = 'alternative definition' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* solution_definitions | ( SIZEOF( QUERY ( prpc <* USEDIN( pd.formation.of_product, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name + = 'alternative solution' ) ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE styled_curve FOR ( styled_item ); + + WHERE + wr1: ( SIZEOF( QUERY ( si <* styled_item | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF( si.item ) ) + AND ( SIZEOF( QUERY ( psa <* si.styles | ( SIZEOF( QUERY ( cs <* psa.styles | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( cs ) ) ) ) > 0 ) ) ) <> 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE subtype_exclusiveness_geometric_tolerance FOR ( geometric_tolerance ); + + WHERE + wr1: ( SIZEOF( QUERY ( gt <* geometric_tolerance | ( NOT type_check_function( gt, [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANGULARITY_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COAXIALITY_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONCENTRICITY_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CYLINDRICITY_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FLATNESS_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE_PROFILE_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARALLELISM_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PERPENDICULARITY_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITION_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDNESS_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRAIGHTNESS_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_PROFILE_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SYMMETRY_TOLERANCE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TOTAL_RUNOUT_TOLERANCE' ], 2 ) ) ) ) = 0 ); + + END_RULE; + + RULE subtype_exclusiveness_representation_item FOR ( representation_item ); + + WHERE + wr1: ( SIZEOF( QUERY ( cri <* representation_item | ( NOT type_check_function( cri, [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOUND_REPRESENTATION_ITEM' ], 3 ) ) ) ) = 0 ); + + END_RULE; + + RULE subtype_mandatory_shape_representation FOR ( shape_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( sr <* shape_representation | ( NOT ( ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ADVANCED_BREP_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FACETED_BREP_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'BEVELED_SHEET_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COMPOSITE_SHEET_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COMPOUND_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_2D_SHAPE_REPRESENTATION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DIMENSION_REPRESENTATION' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' ] * TYPEOF( sr ) ) = 1 ) OR ( + SIZEOF( QUERY ( it <* sr\representation.items | ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' IN TYPEOF( it ) ) ) ) ) = 0 ) OR ( SIZEOF( QUERY ( sdr <* QUERY ( pdr <* USEDIN( sr, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) + | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ) | ( + NOT ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP' ] * TYPEOF( sdr.definition ) ) = 1 ) ) ) ) + = 0 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE text_font_usage FOR ( externally_defined_text_font, pre_defined_text_font ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdtf <* pre_defined_text_font | ( SIZEOF( USEDIN( pdtf, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL.FONT' ) ) = 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( edtf <* externally_defined_text_font | ( SIZEOF( USEDIN( edtf, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL.FONT' ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE tolerance_zone_form_name_constraint FOR ( tolerance_zone_form ); + + LOCAL + names : SET OF STRING := [ 'within a circle', 'between two concentric circles', 'between two equidistant curves', + 'within a cylinder' , 'between two coaxial cylinders', 'between two equidistant surfaces', 'non uniform', + 'cylindrical or circular' , 'spherical', 'unknown']; + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( tolerance_zone_form ) BY 1 WHILE pass; + pass := tolerance_zone_form[i].name IN names; + END_REPEAT; + + WHERE + wr1: pass; + + END_RULE; + + RULE transition_feature_life_cycle FOR ( transition_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( tf <* transition_feature | ( NOT ( tf.of_shape.definition.frame_of_reference.life_cycle_stage = + 'manufacturing planning' ) ) ) ) = 0 ); + + END_RULE; + + RULE transition_feature_on_part_boundary FOR ( transition_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( tf <* transition_feature | ( NOT tf.product_definitional ) ) ) = 0 ); + + END_RULE; + + RULE unique_datum_system FOR ( datum_system ); + + LOCAL + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( datum_system ) BY 1; + REPEAT j := 1 TO SIZEOF( datum_system ) BY 1; + IF i <> j THEN + IF datum_system[i]\datum_system.constituents = datum_system[j]\datum_system.constituents THEN + pass := FALSE; + END_IF; + END_IF; + END_REPEAT; + END_REPEAT; + + WHERE + wr1: pass; + + END_RULE; + + RULE unique_gdt_element_id_constraint FOR ( product_definition_shape, dimensional_location, dimensional_size, shape_aspect, + shape_aspect_relationship ); + + LOCAL + bss : BAG OF STRING := []; + ds : SET OF dimensional_size := QUERY ( ds <* dimensional_size | EXISTS( ds\dimensional_size.id ) ); + sa : SET OF shape_aspect := QUERY ( sa <* shape_aspect | EXISTS( sa\shape_aspect.id ) ); + sar : SET OF shape_aspect_relationship := QUERY ( sar <* shape_aspect_relationship | EXISTS( sar\shape_aspect_relationship + .id ) ); + ssa : SET OF shape_aspect := []; + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT ii := 1 TO SIZEOF( product_definition_shape ) BY 1 WHILE pass; + bss := []; + ssa := bag_to_set( USEDIN( product_definition_shape[ii], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT.' + 'OF_SHAPE' ) ); + REPEAT i := 1 TO SIZEOF( ds ) BY 1; + IF ds[i]\dimensional_size.applies_to IN ssa THEN + bss := bss + ds[i]\dimensional_size.id; + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sa ) BY 1; + IF sa[i] IN ssa THEN + bss := bss + sa[i]\shape_aspect.id; + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sar ) BY 1; + IF sar[i]\shape_aspect_relationship.relating_shape_aspect IN ssa THEN + bss := bss + sar[i]\shape_aspect_relationship.id; + END_IF; + END_REPEAT; + IF SIZEOF( bag_to_set( bss ) ) <> SIZEOF( bss ) THEN + pass := FALSE; + END_IF; + END_REPEAT; + + WHERE + wr1: pass; + + END_RULE; + + RULE valid_product_and_manufacturing_information_view_contexts FOR ( product_definition_context ); + + LOCAL + design_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.life_cycle_stage = 'design' ) ); + gdt_representation_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'geometrical dimensioning and tolerancing representation' ) ); + machining_feature_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'machining feature' ) ); + material_specification_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'material specification' ) ); + model_based_3d_annotation_presentation_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'model based 3D annotation presentation' ) ); + model_based_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'model based product geometry' ) ); + process_state_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'process state' ) ); + surface_finish_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'surface finish' ) ); + additional_view_contexts : SET OF product_definition_context := + gdt_representation_view_contexts + machining_feature_view_contexts + + material_specification_view_contexts + + model_based_3d_annotation_presentation_view_contexts + + process_state_view_contexts + surface_finish_view_contexts; + need_initial_model_based_view_contexts : SET OF product_definition_context := + gdt_representation_view_contexts + + model_based_3d_annotation_presentation_view_contexts; + END_LOCAL; + + WHERE + wr1 : ( SIZEOF( gdt_representation_view_contexts * design_view_contexts ) = SIZEOF( gdt_representation_view_contexts ) ); + wr2 : ( SIZEOF( machining_feature_view_contexts * design_view_contexts ) = SIZEOF( machining_feature_view_contexts ) ); + wr3 : ( SIZEOF( material_specification_view_contexts * design_view_contexts ) = SIZEOF( material_specification_view_contexts ) ); + wr4 : ( SIZEOF( model_based_3d_annotation_presentation_view_contexts * design_view_contexts ) = SIZEOF( + model_based_3d_annotation_presentation_view_contexts ) ); + wr5 : ( SIZEOF( model_based_view_contexts * design_view_contexts ) = SIZEOF( model_based_view_contexts ) ); + wr6 : ( SIZEOF( process_state_view_contexts * design_view_contexts ) = SIZEOF( process_state_view_contexts ) ); + wr7 : ( SIZEOF( surface_finish_view_contexts * design_view_contexts ) = SIZEOF( surface_finish_view_contexts ) ); + wr8 : ( SIZEOF( QUERY ( mbvc <* model_based_view_contexts | ( SIZEOF( USEDIN( mbvc, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.FRAME_OF_REFERENCE' ) ) + = 0 ) ) ) = SIZEOF( model_based_view_contexts ) ); + wr9 : ( SIZEOF( QUERY ( avc <* additional_view_contexts | ( SIZEOF( USEDIN( avc, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION.FRAME_OF_REFERENCE' ) ) = 0 ) ) ) = + SIZEOF( additional_view_contexts ) ); + wr10: ( SIZEOF( QUERY ( nimbvc <* need_initial_model_based_view_contexts | ( NOT ( SIZEOF( QUERY ( pdca <* USEDIN( nimbvc, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.FRAME_OF_REFERENCE' ) + | ( pdca\product_definition_context_association.definition\product_definition.frame_of_reference IN + model_based_view_contexts ) ) ) = SIZEOF( need_initial_model_based_view_contexts ) ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( gdt_pdc <* gdt_representation_view_contexts | ( SIZEOF( [ 'ISO 1101', 'ASME Y14.5'] * + get_associated_mandatory_document_ids( gdt_pdc ) ) = 0 ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( mb3d_pdc <* model_based_3d_annotation_presentation_view_contexts | ( SIZEOF( [ 'ISO 1101', 'ISO 16792', + 'ASME Y14.41' , 'ASME Y14.5'] * get_associated_mandatory_document_ids( mb3d_pdc ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE validate_dependently_instantiable_entity_data_types FOR ( action_method_role, action_resource_type, attribute_value_role, + camera_model_d2, cartesian_transformation_operator, concept_feature_relationship, + concept_feature_relationship_with_condition, document_usage_constraint, edge_blended_solid, effectivity_context_role, + event_occurrence_role, explicit_procedural_representation_item_relationship, indirectly_selected_elements, + maths_space_context, modified_solid_with_placed_configuration, one_direction_repeat_factor, oriented_open_shell, + oriented_path, procedural_representation, procedural_representation_sequence, product_definition_effectivity, + property_distribution_description, runout_zone_orientation, solid_with_depression, solid_with_hole, + solid_with_pocket, solid_with_protrusion, solid_with_shape_element_pattern, solid_with_slot, state_type_role, + swept_area_solid, symbol_target, two_direction_repeat_factor, user_selected_elements, volume ); + + LOCAL + number_of_input_instances : INTEGER; + previous_in_chain : LIST OF GENERIC := []; + set_of_input_types : SET OF STRING := []; + all_instances : SET OF GENERIC := []; + END_LOCAL; + all_instances := all_instances + action_method_role; + all_instances := all_instances + action_resource_type; + all_instances := all_instances + attribute_value_role; + all_instances := all_instances + camera_model_d2; + all_instances := all_instances + cartesian_transformation_operator; + all_instances := all_instances + concept_feature_relationship; + all_instances := all_instances + concept_feature_relationship_with_condition; + all_instances := all_instances + document_usage_constraint; + all_instances := all_instances + edge_blended_solid; + all_instances := all_instances + effectivity_context_role; + all_instances := all_instances + event_occurrence_role; + all_instances := all_instances + explicit_procedural_representation_item_relationship; + all_instances := all_instances + indirectly_selected_elements; + all_instances := all_instances + maths_space_context; + all_instances := all_instances + modified_solid_with_placed_configuration; + all_instances := all_instances + one_direction_repeat_factor; + all_instances := all_instances + oriented_open_shell; + all_instances := all_instances + oriented_path; + all_instances := all_instances + procedural_representation; + all_instances := all_instances + procedural_representation_sequence; + all_instances := all_instances + product_definition_effectivity; + all_instances := all_instances + property_distribution_description; + all_instances := all_instances + runout_zone_orientation; + all_instances := all_instances + solid_with_depression; + all_instances := all_instances + solid_with_hole; + all_instances := all_instances + solid_with_pocket; + all_instances := all_instances + solid_with_protrusion; + all_instances := all_instances + solid_with_shape_element_pattern; + all_instances := all_instances + solid_with_slot; + all_instances := all_instances + state_type_role; + all_instances := all_instances + swept_area_solid; + all_instances := all_instances + symbol_target; + all_instances := all_instances + two_direction_repeat_factor; + all_instances := all_instances + user_selected_elements; + all_instances := all_instances + volume; + number_of_input_instances := SIZEOF( all_instances ); + REPEAT i := 1 TO number_of_input_instances BY 1; + set_of_input_types := set_of_input_types + TYPEOF( all_instances[i] ); + END_REPEAT; + + WHERE + wr1: dependently_instantiated( all_instances, set_of_input_types, previous_in_chain ); + + END_RULE; + +(* + The following two FUNCTIONs have been added to address Bug 5057 for the + initial ed2 version until they can properly be added to the constituent modules. +*) + + FUNCTION above_plane + (p1 : cartesian_point; p2 : cartesian_point; p3 : cartesian_point; p4 : cartesian_point) : REAL; + LOCAL + dir2, dir3, dir4 : direction := + dummy_gri || direction([1.0, 0.0, 0.0]); + val, mag : REAL; + END_LOCAL; + + IF (p1.dim <> 3) THEN + RETURN(?); + END_IF; + REPEAT i := 1 TO 3; + dir2.direction_ratios[i] := p2.coordinates[i] - p1.coordinates[i]; + dir3.direction_ratios[i] := p3.coordinates[i] - p1.coordinates[i]; + dir4.direction_ratios[i] := p4.coordinates[i] - p1.coordinates[i]; + mag := dir4.direction_ratios[i]*dir4.direction_ratios[i]; + END_REPEAT; + mag := sqrt(mag); + val := mag*dot_product(dir4, cross_product(dir2, dir3).orientation); + RETURN(val); + END_FUNCTION; + + FUNCTION same_side + (plane_pts : LIST[3:3] OF cartesian_point; test_points : LIST[2:?] OF cartesian_point) : BOOLEAN; + LOCAL + val1, val2 : REAL; + n : INTEGER; + END_LOCAL; + + IF (plane_pts[1].dim = 2) OR (test_points[1].dim = 2) THEN + RETURN(?); + END_IF; + n := SIZEOF(test_points); + val1 := above_plane(plane_pts[1], plane_pts[2], plane_pts[3], + test_points[1] ); + REPEAT i := 2 TO n; + val2 := above_plane(plane_pts[1], plane_pts[2], plane_pts[3], + test_points[i] ); + IF (val1*val2 <= 0.0) THEN + RETURN(FALSE); + END_IF; + END_REPEAT; + RETURN(TRUE); + END_FUNCTION; + +(* End of added FUNCTIONs. JH 2014-05-22 *) + + FUNCTION acyclic( + arg1 : generic_expression; + arg2 : SET OF generic_expression + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIMPLE_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) THEN + RETURN( TRUE ); + END_IF; + IF arg1 IN arg2 THEN + RETURN( FALSE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNARY_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) THEN + RETURN( acyclic( arg1\unary_generic_expression.operand, arg2 + [arg1] ) ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BINARY_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) THEN + RETURN( acyclic( arg1\binary_generic_expression.operands[1], arg2 + [arg1] ) AND acyclic( arg1\binary_generic_expression. + operands[2], arg2 + [arg1] ) ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) THEN + result := TRUE; + REPEAT i := 1 TO SIZEOF( arg1\multiple_arity_generic_expression.operands ) BY 1; + result := result AND acyclic( arg1\multiple_arity_generic_expression.operands[i], arg2 + [arg1] ); + END_REPEAT; + RETURN( result ); + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION acyclic_composite_text( + start_composite : composite_text; + child_text : SET [1 : ?] OF text_or_character + ) : LOGICAL; + + LOCAL + i : INTEGER; + local_composite_text : SET [0 : ?] OF composite_text; + local_annotation_text : SET [0 : ?] OF annotation_text; + local_children : SET [0 : ?] OF text_or_character; + END_LOCAL; + local_composite_text := QUERY ( child <* child_text | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' + IN TYPEOF( child ) ) ); + IF SIZEOF( local_composite_text ) > 0 THEN + REPEAT i := 1 TO HIINDEX( local_composite_text ) BY 1; + IF start_composite :=: local_composite_text[i] THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + local_children := child_text; + IF SIZEOF( local_composite_text ) > 0 THEN + REPEAT i := 1 TO HIINDEX( local_composite_text ) BY 1; + local_children := local_children + local_composite_text[i].collected_text; + END_REPEAT; + END_IF; + local_annotation_text := QUERY ( child <* child_text | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT' + IN TYPEOF( child ) ) ); + IF SIZEOF( local_annotation_text ) > 0 THEN + REPEAT i := 1 TO HIINDEX( local_annotation_text ) BY 1; + local_children := local_children + QUERY ( item <* local_annotation_text[i]\mapped_item.mapping_source. + mapped_representation.items | ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' ] * TYPEOF( item ) ) > 0 ) ); + END_REPEAT; + END_IF; + IF local_children :<>: child_text THEN + RETURN( acyclic_composite_text( start_composite, local_children ) ); + ELSE + RETURN( TRUE ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_curve_replica( + rep : curve_replica; + parent : curve + ) : BOOLEAN; + IF NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_curve_replica( rep, parent\curve_replica.parent_curve ) ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_mapped_representation( + mi : mapped_item + ) : BOOLEAN; + + LOCAL + rms : SET OF representation_map; + mis : SET OF mapped_item; + rs1 : SET OF representation; + rs2 : SET OF representation; + END_LOCAL; + rs1 := using_representations( mi ); + rs2 := []; + REPEAT WHILE SIZEOF( rs1 ) > 0; + REPEAT i := 1 TO HIINDEX( rs1 ) BY 1; + rms := bag_to_set( USEDIN( rs1[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_MAP.' + + 'MAPPED_REPRESENTATION' ) ); + IF SIZEOF( rms ) > 0 THEN + REPEAT j := 1 TO HIINDEX( rms ) BY 1; + mis := bag_to_set( USEDIN( rms[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE' ) ); + IF SIZEOF( mis ) > 0 THEN + REPEAT j := 1 TO HIINDEX( mis ) BY 1; + IF mis[i] :=: mi THEN + RETURN( FALSE ); + END_IF; + rs2 := rs2 + using_representations( mis[i] ); + END_REPEAT; + END_IF; + END_REPEAT; + END_IF; + END_REPEAT; + rs1 := rs2; + rs2 := []; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_point_replica( + rep : point_replica; + parent : point + ) : BOOLEAN; + IF NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_point_replica( rep, parent\point_replica.parent_pt ) ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_product_category_relationship( + relation : product_category_relationship; + children : SET OF product_category + ) : BOOLEAN; + + LOCAL + x : SET OF product_category_relationship; + local_children : SET OF product_category; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( children ) BY 1; + IF relation.category :=: children[i] THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + x := bag_to_set( USEDIN( relation.category, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_CATEGORY_RELATIONSHIP.SUB_CATEGORY' ) ); + local_children := children + relation.category; + IF SIZEOF( x ) > 0 THEN + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_product_category_relationship( x[i], local_children ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_product_definition_relationship( + relation : product_definition_relationship; + relatives : SET [1 : ?] OF product_definition_or_reference; + specific_relation : STRING + ) : BOOLEAN; + + LOCAL + x : SET OF product_definition_relationship; + END_LOCAL; + IF relation.relating_product_definition IN relatives THEN + RETURN( FALSE ); + END_IF; + x := QUERY ( pd <* bag_to_set( USEDIN( relation.relating_product_definition, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) ) + | ( specific_relation IN TYPEOF( pd ) ) ); + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_product_definition_relationship( x[i], relatives + relation.relating_product_definition, specific_relation ) + THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_representation_relationship( + relation : representation_relationship; + relatives : SET [1 : ?] OF representation; + specific_relation : STRING + ) : BOOLEAN; + + LOCAL + x : SET OF representation_relationship; + END_LOCAL; + IF relation.rep_1 IN relatives THEN + RETURN( FALSE ); + END_IF; + x := QUERY ( r <* bag_to_set( USEDIN( relation.rep_1, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2' ) ) | ( specific_relation IN TYPEOF( r ) ) ); + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_representation_relationship( x[i], relatives + relation.rep_1, specific_relation ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_shape_aspect_relationship( + relation : shape_aspect_relationship; + relatives : SET [1 : ?] OF shape_aspect; + specific_relation : STRING + ) : BOOLEAN; + + LOCAL + x : SET OF shape_aspect_relationship; + END_LOCAL; + IF relation.relating_shape_aspect IN relatives THEN + RETURN( FALSE ); + END_IF; + x := QUERY ( sa <* bag_to_set( USEDIN( relation.relating_shape_aspect, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) ) | ( specific_relation IN TYPEOF( sa ) ) ); + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_shape_aspect_relationship( x[i], relatives + relation.relating_shape_aspect, specific_relation ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_solid_replica( + rep : solid_replica; + parent : solid_model + ) : BOOLEAN; + IF NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_solid_replica( rep, parent\solid_replica.parent_solid ) ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_surface_replica( + rep : surface_replica; + parent : surface + ) : BOOLEAN; + IF NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_surface_replica( rep, parent\surface_replica.parent_surface ) ); + END_IF; + + END_FUNCTION; + + FUNCTION advanced_face_properties( + testface : face + ) : BOOLEAN; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( testface ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( testface ) THEN + RETURN( advanced_face_properties( testface\subface.parent_face ) ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION all_members_of_es( + sv : SET OF maths_value; + es : elementary_space_enumerators + ) : LOGICAL; + + CONSTANT + base_types : SET OF STRING := + [ 'NUMBER' , + 'COMPLEX_NUMBER_LITERAL' , + 'REAL' , + 'INTEGER' , + 'LOGICAL' , + 'BOOLEAN' , + 'STRING' , + 'BINARY' , + 'MATHS_SPACE' , + 'MATHS_FUNCTION' , + 'LIST' , + 'ELEMENTARY_SPACE_ENUMERATORS' , + 'ORDERING_TYPE' , + 'LOWER_UPPER' , + 'SYMMETRY_TYPE' , + 'ELEMENTARY_FUNCTION_ENUMERATORS' , + 'OPEN_CLOSED' , + 'SPACE_CONSTRAINT_TYPE' , + 'REPACKAGE_OPTIONS' , + 'EXTENSION_OPTIONS' ]; + END_CONSTANT; + + LOCAL + v : maths_value; + key_type : STRING := ''; + types : SET OF STRING; + ge : generic_expression; + cum : LOGICAL := TRUE; + vspc : maths_space; + END_LOCAL; + IF ( NOT EXISTS( sv ) ) OR ( NOT EXISTS( es ) ) THEN + RETURN( FALSE ); + END_IF; + CASE es OF + es_numbers : key_type := 'NUMBER'; + es_complex_numbers : key_type := 'COMPLEX_NUMBER_LITERAL'; + es_reals : key_type := 'REAL'; + es_integers : key_type := 'INTEGER'; + es_logicals : key_type := 'LOGICAL'; + es_booleans : key_type := 'BOOLEAN'; + es_strings : key_type := 'STRING'; + es_binarys : key_type := 'BINARY'; + es_maths_spaces : key_type := 'MATHS_SPACE'; + es_maths_functions : key_type := 'MATHS_FUNCTION'; + es_generics : RETURN( TRUE ); + END_CASE; + REPEAT i := 1 TO SIZEOF( sv ) BY 1; + IF NOT EXISTS( sv[i] ) THEN + RETURN( FALSE ); + END_IF; + v := simplify_maths_value( sv[i] ); + types := stripped_typeof( v ); + IF key_type IN types THEN + SKIP; + END_IF; + IF ( es = es_numbers ) AND ( 'COMPLEX_NUMBER_LITERAL' IN types ) THEN + SKIP; + END_IF; + IF SIZEOF( base_types * types ) > 0 THEN + RETURN( FALSE ); + END_IF; + ge := v; + IF has_values_space( ge ) THEN + vspc := values_space_of( ge ); + IF NOT subspace_of_es( vspc, es ) THEN + IF NOT compatible_spaces( vspc, make_elementary_space( es ) ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END_IF; + ELSE + cum := UNKNOWN; + END_IF; + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + + END_FUNCTION; + + FUNCTION all_mesh_vertices( + arg : array_based_unstructured_mesh_and_vertices + ) : BOOLEAN; + + LOCAL + vertex_set : SET OF vertex := []; + cell : vertex_defined_cell; + END_LOCAL; + REPEAT i := 1 TO arg.cell_count BY 1; + cell := arg.cells[i]; + REPEAT j := 1 TO cell.vn_count BY 1; + vertex_set := vertex_set + cell.vertices[j]; + END_REPEAT; + END_REPEAT; + IF SIZEOF( vertex_set ) <> arg.index_count THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO arg.index_count BY 1; + IF NOT ( arg.vertices[i] IN vertex_set ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION any_space_satisfies( + sc : space_constraint_type; + spc : maths_space + ) : BOOLEAN; + + LOCAL + spc_id : elementary_space_enumerators; + END_LOCAL; + IF ( sc = sc_equal ) OR ( NOT ( 'ELEMENTARY_SPACE' IN stripped_typeof( spc ) ) ) THEN + RETURN( FALSE ); + END_IF; + spc_id := spc\elementary_space.space_id; + IF sc = sc_subspace THEN + RETURN( bool( spc_id = es_generics ) ); + END_IF; + IF sc = sc_member THEN + RETURN( bool( ( spc_id = es_generics ) OR ( spc_id = es_maths_spaces ) ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION appropriate_list_value_existence( + values : LIST [1 : ?] OF GENERIC; + type_self : SET [1 : ?] OF STRING + ) : BOOLEAN; + + LOCAL + i : INTEGER; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( values ) BY 1; + IF NOT appropriate_value_existence( values[i], type_self ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION appropriate_set_value_existence( + values_and_locations : SET [1 : ?] OF GENERIC; + type_self : SET [1 : ?] OF STRING + ) : BOOLEAN; + + LOCAL + i : INTEGER; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( values_and_locations ) BY 1; + IF NOT appropriate_value_existence( values_and_locations[i].simple_value, type_self ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION appropriate_value_existence( + a_value_e : GENERIC; + type_self : SET [1 : ?] OF STRING + ) : BOOLEAN; + + LOCAL + feacr : STRING; + value_typeof : SET [1 : ?] OF STRING; + END_LOCAL; + feacr := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; + value_typeof := TYPEOF( a_value_e ); + IF ( ( feacr + 'OUTPUT_REQUEST_STATE' ) IN type_self ) AND ( NOT ( ( feacr + 'UNSPECIFIED_VALUE' ) IN value_typeof ) ) THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION aspect_ratio( + p : planar_box + ) : positive_ratio_measure; + IF ( p.size_in_x > 0 ) AND ( p.size_in_y > 0 ) THEN + RETURN( p.size_in_x / p.size_in_y ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION assembly_leaf( + item : product_definition + ) : BOOLEAN; + + LOCAL + local_relation : SET OF assembly_component_usage := []; + local_relation2 : BAG OF assembly_component_usage := []; + END_LOCAL; + local_relation2 := local_relation2 + QUERY ( pdr <* USEDIN( item, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION' ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN TYPEOF( pdr ) ) ); + local_relation := bag_to_set( local_relation2 ); + IF SIZEOF( local_relation ) = 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION assembly_root( + item : product_definition + ) : BOOLEAN; + IF SIZEOF( QUERY ( pdr <* USEDIN( item, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + + 'RELATED_PRODUCT_DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN + TYPEOF( pdr ) ) ) ) = 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION assoc_product_space( + ts1, ts2 : tuple_space + ) : tuple_space; + + LOCAL + types1 : SET OF STRING := stripped_typeof( ts1 ); + types2 : SET OF STRING := stripped_typeof( ts2 ); + up1 : uniform_product_space := make_uniform_product_space( the_reals, 1 ); + up2 : uniform_product_space := make_uniform_product_space( the_reals, 1 ); + lp1 : listed_product_space := the_zero_tuple_space; + lp2 : listed_product_space := the_zero_tuple_space; + lps : listed_product_space := the_zero_tuple_space; + et1 : extended_tuple_space := the_tuples; + et2 : extended_tuple_space := the_tuples; + ets : extended_tuple_space := the_tuples; + use_up1 : BOOLEAN; + use_up2 : BOOLEAN; + use_lp1 : BOOLEAN; + use_lp2 : BOOLEAN; + factors : LIST OF maths_space := []; + tspace : tuple_space; + END_LOCAL; + IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN + up1 := ts1; + use_up1 := TRUE; + use_lp1 := FALSE; + ELSE + IF 'LISTED_PRODUCT_SPACE' IN types1 THEN + lp1 := ts1; + use_up1 := FALSE; + use_lp1 := TRUE; + ELSE + IF NOT ( 'EXTENDED_TUPLE_SPACE' IN types1 ) THEN + RETURN( ? ); + END_IF; + et1 := ts1; + use_up1 := FALSE; + use_lp1 := FALSE; + END_IF; + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN + up2 := ts2; + use_up2 := TRUE; + use_lp2 := FALSE; + ELSE + IF 'LISTED_PRODUCT_SPACE' IN types2 THEN + lp2 := ts2; + use_up2 := FALSE; + use_lp2 := TRUE; + ELSE + IF NOT ( 'EXTENDED_TUPLE_SPACE' IN types2 ) THEN + RETURN( ? ); + END_IF; + et2 := ts2; + use_up2 := FALSE; + use_lp2 := FALSE; + END_IF; + END_IF; + IF use_up1 THEN + IF use_up2 THEN + IF up1.base = up2.base THEN + tspace := make_uniform_product_space( up1.base, up1.exponent + up2.exponent ); + ELSE + factors := [up1.base : 0, up2.base : 0]; + tspace := make_listed_product_space( factors ); + END_IF; + ELSE + IF use_lp2 THEN + factors := [up1.base : 0]; + factors := factors + lp2.factors; + tspace := make_listed_product_space( factors ); + ELSE + tspace := assoc_product_space( up1, et2.base ); + tspace := make_extended_tuple_space( tspace, et2.extender ); + END_IF; + END_IF; + ELSE + IF use_lp1 THEN + IF use_up2 THEN + factors := [up2.base : 0]; + factors := lp1.factors + factors; + tspace := make_listed_product_space( factors ); + ELSE + IF use_lp2 THEN + tspace := make_listed_product_space( lp1.factors + lp2.factors ); + ELSE + tspace := assoc_product_space( lp1, et2.base ); + tspace := make_extended_tuple_space( tspace, et2.extender ); + END_IF; + END_IF; + ELSE + IF use_up2 THEN + IF et1.extender = up2.base THEN + tspace := assoc_product_space( et1.base, up2 ); + tspace := make_extended_tuple_space( tspace, et1.extender ); + ELSE + RETURN( ? ); + END_IF; + ELSE + IF use_lp2 THEN + factors := lp2.factors; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + IF et1.extender <> factors[i] THEN + RETURN( ? ); + END_IF; + END_REPEAT; + tspace := assoc_product_space( et1.base, lp2 ); + tspace := make_extended_tuple_space( tspace, et1.extender ); + ELSE + IF et1.extender = et2.extender THEN + tspace := assoc_product_space( et1, et2.base ); + ELSE + RETURN( ? ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( tspace ); + + END_FUNCTION; + + FUNCTION associated_surface( + arg : pcurve_or_surface + ) : surface; + + LOCAL + surf : surface; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( arg ) THEN + surf := arg\pcurve.basis_surface; + ELSE + surf := arg; + END_IF; + RETURN( surf ); + + END_FUNCTION; + + FUNCTION atan2( + y, x : REAL + ) : REAL; + + LOCAL + r : REAL; + END_LOCAL; + IF ( y = 0 ) AND ( x = 0 ) THEN + RETURN( ? ); + END_IF; + r := ATAN( y, x ); + IF x < 0 THEN + IF y < 0 THEN + r := r - PI; + ELSE + r := r + PI; + END_IF; + END_IF; + RETURN( r ); + + END_FUNCTION; + + FUNCTION bag_to_set( + the_bag : BAG OF GENERIC:intype + ) : SET OF GENERIC:intype; + + LOCAL + the_set : SET OF GENERIC:intype := []; + END_LOCAL; + IF SIZEOF( the_bag ) > 0 THEN + REPEAT i := 1 TO HIINDEX( the_bag ) BY 1; + the_set := the_set + the_bag[i]; + END_REPEAT; + END_IF; + RETURN( the_set ); + + END_FUNCTION; + + FUNCTION base_axis( + dim : INTEGER; + axis1, axis2, axis3 : direction + ) : LIST [2 : 3] OF direction; + + LOCAL + u : LIST [2 : 3] OF direction; + factor : REAL; + d1 : direction; + d2 : direction; + END_LOCAL; + IF dim = 3 THEN + d1 := NVL( normalise( axis3 ), dummy_gri || direction( [0, 0, 1] ) ); + d2 := first_proj_axis( d1, axis1 ); + u := [d2, second_proj_axis( d1, d2, axis2 ), d1]; + ELSE + IF EXISTS( axis1 ) THEN + d1 := normalise( axis1 ); + u := [d1, orthogonal_complement( d1 )]; + IF EXISTS( axis2 ) THEN + factor := dot_product( axis2, u[2] ); + IF factor < 0 THEN + u[2].direction_ratios[1] := -u[2].direction_ratios[1]; + u[2].direction_ratios[2] := -u[2].direction_ratios[2]; + END_IF; + END_IF; + ELSE + IF EXISTS( axis2 ) THEN + d1 := normalise( axis2 ); + u := [orthogonal_complement( d1 ), d1]; + u[1].direction_ratios[1] := -u[1].direction_ratios[1]; + u[1].direction_ratios[2] := -u[1].direction_ratios[2]; + ELSE + u := [dummy_gri || direction( [1, 0] ), dummy_gri || direction( [0, 1] )]; + END_IF; + END_IF; + END_IF; + RETURN( u ); + + END_FUNCTION; + + FUNCTION bool( + lgcl : LOGICAL + ) : BOOLEAN; + IF NOT EXISTS( lgcl ) THEN + RETURN( FALSE ); + END_IF; + IF lgcl <> TRUE THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION boolean_choose( + b : BOOLEAN; + choice1, choice2 : GENERIC:item + ) : GENERIC:item; + IF b THEN + RETURN( choice1 ); + ELSE + RETURN( choice2 ); + END_IF; + + END_FUNCTION; + + FUNCTION build_2axes( + ref_direction : direction + ) : LIST [2 : 2] OF direction; + + LOCAL + d : direction := NVL( normalise( ref_direction ), dummy_gri || direction( [1, 0] ) ); + END_LOCAL; + RETURN( [d, orthogonal_complement( d )] ); + + END_FUNCTION; + + FUNCTION build_axes( + axis, ref_direction : direction + ) : LIST [3 : 3] OF direction; + + LOCAL + d1 : direction; + d2 : direction; + END_LOCAL; + d1 := NVL( normalise( axis ), dummy_gri || direction( [0, 0, 1] ) ); + d2 := first_proj_axis( d1, ref_direction ); + RETURN( [d2, normalise( cross_product( d1, d2 ) )\vector.orientation, d1] ); + + END_FUNCTION; + + FUNCTION build_direction_node( + node_1, node_2 : node_representation + ) : LIST [2 : 3] OF REAL; + + LOCAL + nodal_direction_ratios : LIST [2 : 3] OF REAL; + u : direction; + i : INTEGER; + ndim : INTEGER; + rep_items : SET [1 : ?] OF representation_item; + node_1_point : cartesian_point; + node_2_point : cartesian_point; + END_LOCAL; + rep_items := node_1.items; + REPEAT i := 1 TO SIZEOF( rep_items ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( rep_items[i] ) THEN + node_1_point := rep_items[i]; + ESCAPE; + END_IF; + END_REPEAT; + rep_items := node_2.items; + REPEAT i := 1 TO SIZEOF( rep_items ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( rep_items[i] ) THEN + node_2_point := rep_items[i]; + ESCAPE; + END_IF; + END_REPEAT; + ndim := HIINDEX( node_2_point.coordinates ); + REPEAT i := 1 TO ndim BY 1; + u.direction_ratios[i] := node_2_point.coordinates[i] - node_1_point.coordinates[i]; + END_REPEAT; + u := normalise( u ); + REPEAT i := 1 TO ndim BY 1; + nodal_direction_ratios[i] := u.direction_ratios[i]; + END_REPEAT; + RETURN( nodal_direction_ratios ); + + END_FUNCTION; + + FUNCTION categories_of_product( + obj : product + ) : SET OF STRING; + + LOCAL + category_assignments : BAG OF product_category; + categories : SET OF STRING := []; + END_LOCAL; + category_assignments := USEDIN( obj, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ); + REPEAT i := LOINDEX( category_assignments ) TO HIINDEX( category_assignments ) BY 1; + categories := categories + category_assignments[i].name; + END_REPEAT; + RETURN( categories ); + + END_FUNCTION; + + FUNCTION cc_design_person_and_organization_correlation( + e : cc_design_person_and_organization_assignment + ) : BOOLEAN; + + LOCAL + po_role : STRING; + END_LOCAL; + po_role := e\person_and_organization_assignment.role.name; + CASE po_role OF + 'request_recipient' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CHANGE_REQUEST', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'START_REQUEST'] * TYPEOF( x ) ) = 1 ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'initiator' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CHANGE_REQUEST', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'START_REQUEST', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'START_WORK', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CHANGE'] * TYPEOF( x ) ) = 1 ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'creator' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION'] * TYPEOF( x ) ) = 1 ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'part_supplier' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION' ) IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'design_supplier' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION' ) IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'design_owner' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT' IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'configuration_manager' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONFIGURATION_ITEM' ) IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'contractor' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONTRACT' IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'classification_officer' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SECURITY_CLASSIFICATION' ) IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + OTHERWISE : RETURN( TRUE ); + END_CASE; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION cell_counts( + arg : vertex_defined_cell + ) : ARRAY [1 : 3] OF INTEGER; + + LOCAL + om1 : INTEGER := 0; + om1sq : INTEGER := om1 ** 2; + vts : INTEGER; + eds : INTEGER; + qf : INTEGER := 0; + tf : INTEGER := 0; + result : ARRAY [1 : 3] OF INTEGER := [0, 0, 0]; + END_LOCAL; + CASE arg.order OF + linear_order : om1 := 0; + quadratic_order : om1 := 1; + cubic_order : om1 := 2; + OTHERWISE : RETURN( result ); + END_CASE; + om1sq := om1 ** 2; + CASE arg.shape OF + cell_shape_0d.single : + BEGIN + vts := 1; + eds := 0; + qf := 0; + tf := 0; + result[1] := vts; + result[2] := om1 * eds; + result[3] := 0; + END; + cell_shape_1d.line : + BEGIN + vts := 2; + eds := 1; + qf := 0; + tf := 0; + result[1] := vts; + result[2] := om1 * eds; + result[3] := 0; + END; + cell_shape_2d.quadrilateral : + BEGIN + vts := 4; + eds := 4; + qf := 1; + tf := 0; + result[1] := vts; + result[2] := om1 * eds; + result[3] := om1sq * qf; + END; + cell_shape_2d.triangle : + BEGIN + vts := 3; + eds := 3; + qf := 0; + tf := 1; + result[1] := vts; + result[2] := om1 * eds; + result[3] := ( om1 - 1 ) * tf; + CASE arg.order OF + linear_order : result[3] := 0; + END_CASE; + END; + cell_shape_3d.hexahedron : + BEGIN + vts := 8; + eds := 12; + qf := 6; + tf := 0; + result[1] := vts; + result[2] := om1 * eds; + result[3] := om1sq * ( qf + om1 ); + END; + cell_shape_3d.wedge : + BEGIN + vts := 6; + eds := 9; + qf := 3; + tf := 2; + result[1] := vts; + result[2] := om1 * eds; + result[3] := ( om1sq * qf ) + ( om1 * tf ); + END; + cell_shape_3d.tetrahedron : + BEGIN + vts := 4; + eds := 6; + qf := 0; + tf := 4; + result[1] := vts; + result[2] := om1 * eds; + result[3] := ( om1 - 1 ) * tf; + CASE arg.order OF + linear_order : result[3] := 0; + END_CASE; + END; + cell_shape_3d.pyramid : + BEGIN + vts := 5; + eds := 8; + qf := 1; + tf := 4; + result[1] := vts; + result[2] := om1 * eds; + result[3] := ( om1sq * qf ) + ( ( om1 - 1 ) * tf ); + CASE arg.order OF + linear_order : result[3] := 0; + END_CASE; + END; + END_CASE; + RETURN( result ); + + END_FUNCTION; + + FUNCTION check_continuous_edges( + edges : LIST OF UNIQUE edge_curve + ) : BOOLEAN; + + LOCAL + i : INTEGER; + next_vertex : vertex; + END_LOCAL; + IF SIZEOF( edges ) = 1 THEN + RETURN( TRUE ); + END_IF; + IF ( edges[2].edge_start :=: edges[1].edge_end ) XOR ( edges[2].edge_start :=: edges[1].edge_start ) THEN + next_vertex := edges[2].edge_end; + ELSE + IF ( edges[2].edge_end :=: edges[1].edge_end ) XOR ( edges[2].edge_end :=: edges[1].edge_start ) THEN + next_vertex := edges[2].edge_start; + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + IF SIZEOF( edges ) = 2 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 3 TO HIINDEX( edges ) BY 1; + IF edges[i].edge_start :=: next_vertex THEN + next_vertex := edges[i].edge_end; + ELSE + IF edges[i].edge_end :=: next_vertex THEN + next_vertex := edges[i].edge_start; + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION check_curve_planarity( + checked_curve : curve + ) : BOOLEAN; + + LOCAL + crv : curve := checked_curve; + i : INTEGER; + j : INTEGER; + result : BOOLEAN := FALSE; + END_LOCAL; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'LINE' ] * TYPEOF( crv ) ) > 0 THEN + result := TRUE; + ELSE + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF( crv ) ) AND check_curve_planarity( crv\ + trimmed_curve.basis_curve ) THEN + result := TRUE; + ELSE + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( crv ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( crv\pcurve.basis_surface ) ) THEN + result := TRUE; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( crv ) THEN + + BEGIN + REPEAT j := 1 TO HIINDEX( crv\surface_curve.basis_surface ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( crv\surface_curve.basis_surface[j] ) + THEN + result := TRUE; + END_IF; + END_REPEAT; + END; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION check_sparse_index_domain( + idxdom : tuple_space; + base : zero_or_one; + shape : LIST [1 : ?] OF positive_integer; + order : ordering_type + ) : BOOLEAN; + + LOCAL + mthspc : maths_space; + interval : finite_integer_interval; + i : INTEGER; + END_LOCAL; + mthspc := factor1( idxdom ); + interval := mthspc; + IF order = by_rows THEN + i := 1; + ELSE + i := 2; + END_IF; + RETURN( bool( ( interval.min <= base ) AND ( interval.max >= ( base + shape[i] ) ) ) ); + + END_FUNCTION; + + FUNCTION check_sparse_index_to_loc( + index_range, loc_domain : tuple_space + ) : BOOLEAN; + + LOCAL + temp : maths_space; + idx_rng_itvl : finite_integer_interval; + loc_dmn_itvl : finite_integer_interval; + END_LOCAL; + temp := factor1( index_range ); + IF ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( temp ) THEN + temp := factor1( temp ); + END_IF; + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + idx_rng_itvl := temp; + temp := factor1( loc_domain ); + IF ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( temp ) THEN + temp := factor1( temp ); + END_IF; + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + loc_dmn_itvl := temp; + RETURN( bool( ( loc_dmn_itvl.min <= idx_rng_itvl.min ) AND ( idx_rng_itvl.max <= ( loc_dmn_itvl.max + 1 ) ) ) ); + + END_FUNCTION; + + FUNCTION check_sparse_loc_range( + locrng : tuple_space; + base : zero_or_one; + shape : LIST [1 : ?] OF positive_integer; + order : ordering_type + ) : BOOLEAN; + + LOCAL + mthspc : maths_space; + interval : finite_integer_interval; + i : INTEGER; + END_LOCAL; + IF space_dimension( locrng ) <> 1 THEN + RETURN( FALSE ); + END_IF; + mthspc := factor1( locrng ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( mthspc ) ) THEN + RETURN( FALSE ); + END_IF; + interval := mthspc; + IF order = by_rows THEN + i := 2; + ELSE + i := 1; + END_IF; + RETURN( bool( ( interval.min >= base ) AND ( interval.max <= ( ( base + shape[i] ) - 1 ) ) ) ); + + END_FUNCTION; + + FUNCTION check_text_alignment( + ct : composite_text + ) : BOOLEAN; + + LOCAL + a : SET OF text_alignment := []; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( ct.collected_text ) BY 1; + a := a + [ct.collected_text[i]\text_literal.alignment]; + END_REPEAT; + RETURN( SIZEOF( a ) = 1 ); + + END_FUNCTION; + + FUNCTION check_text_font( + ct : composite_text + ) : BOOLEAN; + + LOCAL + f : SET OF font_select := []; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( ct.collected_text ) BY 1; + f := f + [ct.collected_text[i]\text_literal.font]; + END_REPEAT; + RETURN( SIZEOF( f ) <= 1 ); + + END_FUNCTION; + + FUNCTION class_assignment_is_valid( + aia : applied_classification_assignment + ) : BOOLEAN; + + LOCAL + item : classification_item; + role : classification_role; + END_LOCAL; + role := aia\classification_assignment.role; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLASS_SYSTEM' IN TYPEOF( aia\classification_assignment.assigned_class ) + THEN + IF role\classification_role.name <> 'class system membership' THEN + RETURN( FALSE ); + END_IF; + REPEAT i := LOINDEX( aia\applied_classification_assignment.items ) TO HIINDEX( aia\applied_classification_assignment.items ) + BY 1; + item := aia\applied_classification_assignment.items[i]; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTERIZED_CLASS'] * TYPEOF( item ) ) = 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTERIZED_CLASS' IN TYPEOF( aia\classification_assignment. + assigned_class ) THEN + IF NOT ( role\classification_role.name IN [ 'definitional', 'non-definitional', ''] ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := LOINDEX( aia\applied_classification_assignment.items ) TO HIINDEX( aia\applied_classification_assignment.items ) + BY 1; + item := aia\applied_classification_assignment.items[i]; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLASSIFIED_ITEM'] * TYPEOF( item ) ) = 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + IF role\classification_role.name = 'definitional' THEN + IF NOT ( SIZEOF( QUERY ( it <* aia\applied_classification_assignment.items | ( NOT ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_FORMATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION'] * TYPEOF( + it ) ) = 1 ) ) ) ) = 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION closed_shell_reversed( + a_shell : closed_shell + ) : oriented_closed_shell; + + LOCAL + the_reverse : oriented_closed_shell; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( a_shell ) THEN + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || closed_shell( ) || + oriented_closed_shell( a_shell\oriented_closed_shell.closed_shell_element, NOT a_shell\oriented_closed_shell.orientation ); + ELSE + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || closed_shell( ) || + oriented_closed_shell( a_shell, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION collect_joints( + items : SET [1 : ?] OF pair_representation_relationship + ) : SET OF kinematic_joint; + + LOCAL + result : SET OF kinematic_joint := []; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( items ) BY 1; + result := result + items[i].transformation_operator.joint; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION compare_basis_and_coef( + basis : LIST [1 : ?] OF b_spline_basis; + coef : maths_function + ) : BOOLEAN; + + LOCAL + shape : LIST OF positive_integer; + END_LOCAL; + IF ( NOT EXISTS( basis ) ) OR ( NOT EXISTS( coef ) ) THEN + RETURN( FALSE ); + END_IF; + shape := shape_of_array( coef ); + IF NOT EXISTS( shape ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( shape ) < SIZEOF( basis ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( basis ) BY 1; + IF ( basis[i].num_basis = shape[i] ) <> TRUE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION compatible_complex_number_regions( + sp1, sp2 : maths_space + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := stripped_typeof( sp1 ); + crgn1 : cartesian_complex_number_region; + crgn2 : cartesian_complex_number_region; + prgn1 : polar_complex_number_region; + prgn2 : polar_complex_number_region; + prgn1c2 : polar_complex_number_region; + prgn2c1 : polar_complex_number_region; + sp1_is_crgn : BOOLEAN; + sp2_is_crgn : BOOLEAN; + END_LOCAL; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN + sp1_is_crgn := TRUE; + crgn1 := sp1; + ELSE + IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN + sp1_is_crgn := FALSE; + prgn1 := sp1; + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + typenames := stripped_typeof( sp2 ); + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN + sp2_is_crgn := TRUE; + crgn2 := sp2; + ELSE + IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN + sp2_is_crgn := FALSE; + prgn2 := sp2; + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + IF sp1_is_crgn AND sp2_is_crgn THEN + RETURN( compatible_intervals( crgn1.real_constraint, crgn2.real_constraint ) AND compatible_intervals( crgn1. + imag_constraint, crgn2.imag_constraint ) ); + END_IF; + IF ( NOT sp1_is_crgn ) AND ( NOT sp2_is_crgn ) AND ( prgn1.centre.real_part = prgn2.centre.real_part ) AND ( prgn1.centre. + imag_part = prgn2.centre.imag_part ) THEN + IF NOT compatible_intervals( prgn1.distance_constraint, prgn2.distance_constraint ) THEN + RETURN( FALSE ); + END_IF; + IF compatible_intervals( prgn1.direction_constraint, prgn2.direction_constraint ) THEN + RETURN( TRUE ); + END_IF; + IF ( prgn1.direction_constraint.max > PI ) AND ( prgn2.direction_constraint.max < PI ) THEN + RETURN( compatible_intervals( prgn2.direction_constraint, make_finite_real_interval( -PI, open, prgn1. + direction_constraint.max - ( 2 * PI ), prgn1.direction_constraint.max_closure ) ) ); + END_IF; + IF ( prgn2.direction_constraint.max > PI ) AND ( prgn1.direction_constraint.max < PI ) THEN + RETURN( compatible_intervals( prgn1.direction_constraint, make_finite_real_interval( -PI, open, prgn2. + direction_constraint.max - ( 2 * PI ), prgn2.direction_constraint.max_closure ) ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF sp1_is_crgn AND ( NOT sp2_is_crgn ) THEN + crgn2 := enclose_pregion_in_cregion( prgn2 ); + prgn1 := enclose_cregion_in_pregion( crgn1, prgn2.centre ); + RETURN( compatible_complex_number_regions( crgn1, crgn2 ) AND compatible_complex_number_regions( prgn1, prgn2 ) ); + END_IF; + IF ( NOT sp1_is_crgn ) AND sp2_is_crgn THEN + crgn1 := enclose_pregion_in_cregion( prgn1 ); + prgn2 := enclose_cregion_in_pregion( crgn2, prgn1.centre ); + RETURN( compatible_complex_number_regions( crgn1, crgn2 ) AND compatible_complex_number_regions( prgn1, prgn2 ) ); + END_IF; + prgn1c2 := enclose_pregion_in_pregion( prgn1, prgn2.centre ); + prgn2c1 := enclose_pregion_in_pregion( prgn2, prgn1.centre ); + RETURN( compatible_complex_number_regions( prgn1, prgn2c1 ) AND compatible_complex_number_regions( prgn1c2, prgn2 ) ); + + END_FUNCTION; + + FUNCTION compatible_es_values( + esval1, esval2 : elementary_space_enumerators + ) : BOOLEAN; + + LOCAL + esval1_is_numeric : LOGICAL; + esval2_is_numeric : LOGICAL; + END_LOCAL; + IF ( esval1 = esval2 ) OR ( esval1 = es_generics ) OR ( esval2 = es_generics ) THEN + RETURN( TRUE ); + END_IF; + esval1_is_numeric := ( esval1 >= es_numbers ) AND ( esval1 <= es_integers ); + esval2_is_numeric := ( esval2 >= es_numbers ) AND ( esval2 <= es_integers ); + IF ( esval1_is_numeric AND ( esval2 = es_numbers ) ) OR ( esval2_is_numeric AND ( esval1 = es_numbers ) ) THEN + RETURN( TRUE ); + END_IF; + IF esval1_is_numeric XOR esval2_is_numeric THEN + RETURN( FALSE ); + END_IF; + IF ( ( esval1 = es_logicals ) AND ( esval2 = es_booleans ) ) OR ( ( esval1 = es_booleans ) AND ( esval2 = es_logicals ) ) + THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION compatible_intervals( + sp1, sp2 : maths_space + ) : BOOLEAN; + + LOCAL + amin : REAL; + amax : REAL; + END_LOCAL; + IF min_exists( sp1 ) AND max_exists( sp2 ) THEN + amin := real_min( sp1 ); + amax := real_max( sp2 ); + IF amin > amax THEN + RETURN( FALSE ); + END_IF; + IF amin = amax THEN + RETURN( min_included( sp1 ) AND max_included( sp2 ) ); + END_IF; + END_IF; + IF min_exists( sp2 ) AND max_exists( sp1 ) THEN + amin := real_min( sp2 ); + amax := real_max( sp1 ); + IF amin > amax THEN + RETURN( FALSE ); + END_IF; + IF amin = amax THEN + RETURN( min_included( sp2 ) AND max_included( sp1 ) ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION compatible_spaces( + sp1, sp2 : maths_space + ) : BOOLEAN; + + LOCAL + types1 : SET OF STRING := stripped_typeof( sp1 ); + types2 : SET OF STRING := stripped_typeof( sp2 ); + lgcl : LOGICAL := UNKNOWN; + m : INTEGER; + n : INTEGER; + s1 : maths_space; + s2 : maths_space; + END_LOCAL; + IF 'FINITE_SPACE' IN types1 THEN + REPEAT i := 1 TO SIZEOF( sp1\finite_space.members ) BY 1; + lgcl := member_of( sp1\finite_space.members[i], sp2 ); + IF lgcl <> FALSE THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( FALSE ); + END_IF; + IF 'FINITE_SPACE' IN types2 THEN + REPEAT i := 1 TO SIZEOF( sp2\finite_space.members ) BY 1; + lgcl := member_of( sp2\finite_space.members[i], sp1 ); + IF lgcl <> FALSE THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( FALSE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types1 THEN + IF sp1\elementary_space.space_id = es_generics THEN + RETURN( TRUE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types2 THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, sp2\elementary_space.space_id ) ); + END_IF; + IF ( 'FINITE_INTEGER_INTERVAL' IN types2 ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types2 ) OR ( 'INTEGER_INTERVAL_TO_MAX' IN + types2 ) THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, es_integers ) ); + END_IF; + IF ( 'FINITE_REAL_INTERVAL' IN types2 ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types2 ) OR ( 'REAL_INTERVAL_TO_MAX' IN types2 ) + THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, es_reals ) ); + END_IF; + IF ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 ) OR ( 'POLAR_COMPLEX_NUMBER_REGION' IN types2 ) THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, es_complex_numbers ) ); + END_IF; + IF 'TUPLE_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + RETURN( bool( sp1\elementary_space.space_id = es_maths_functions ) ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types2 THEN + IF sp2\elementary_space.space_id = es_generics THEN + RETURN( TRUE ); + END_IF; + IF ( 'FINITE_INTEGER_INTERVAL' IN types1 ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types1 ) OR ( 'INTEGER_INTERVAL_TO_MAX' IN + types1 ) THEN + RETURN( compatible_es_values( sp2\elementary_space.space_id, es_integers ) ); + END_IF; + IF ( 'FINITE_REAL_INTERVAL' IN types1 ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types1 ) OR ( 'REAL_INTERVAL_TO_MAX' IN types1 ) + THEN + RETURN( compatible_es_values( sp2\elementary_space.space_id, es_reals ) ); + END_IF; + IF ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types1 ) OR ( 'POLAR_COMPLEX_NUMBER_REGION' IN types1 ) THEN + RETURN( compatible_es_values( sp2\elementary_space.space_id, es_complex_numbers ) ); + END_IF; + IF 'TUPLE_SPACE' IN types1 THEN + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN types1 THEN + RETURN( bool( sp2\elementary_space.space_id = es_maths_functions ) ); + END_IF; + RETURN( TRUE ); + END_IF; + IF subspace_of_es( sp1, es_integers ) THEN + IF subspace_of_es( sp2, es_integers ) THEN + RETURN( compatible_intervals( sp1, sp2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp2, es_integers ) THEN + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp1, es_reals ) THEN + IF subspace_of_es( sp2, es_reals ) THEN + RETURN( compatible_intervals( sp1, sp2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp2, es_reals ) THEN + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp1, es_complex_numbers ) THEN + IF subspace_of_es( sp2, es_complex_numbers ) THEN + RETURN( compatible_complex_number_regions( sp1, sp2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp2, es_complex_numbers ) THEN + RETURN( FALSE ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN + IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN + IF sp1\uniform_product_space.exponent <> sp2\uniform_product_space.exponent THEN + RETURN( FALSE ); + END_IF; + RETURN( compatible_spaces( sp1\uniform_product_space.base, sp2\uniform_product_space.base ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types2 THEN + n := SIZEOF( sp2\listed_product_space.factors ); + IF sp1\uniform_product_space.exponent <> n THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO n BY 1; + IF NOT compatible_spaces( sp1\uniform_product_space.base, sp2\listed_product_space.factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + m := sp1\uniform_product_space.exponent; + n := space_dimension( sp2\extended_tuple_space.base ); + IF m < n THEN + RETURN( FALSE ); + END_IF; + IF m = n THEN + RETURN( compatible_spaces( sp1, sp2\extended_tuple_space.base ) ); + END_IF; + RETURN( compatible_spaces( sp1, assoc_product_space( sp2\extended_tuple_space.base, make_uniform_product_space( sp2\ + extended_tuple_space.extender, m - n ) ) ) ); + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types1 THEN + n := SIZEOF( sp1\listed_product_space.factors ); + IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN + IF n <> sp2\uniform_product_space.exponent THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO n BY 1; + IF NOT compatible_spaces( sp2\uniform_product_space.base, sp1\listed_product_space.factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types2 THEN + IF n <> SIZEOF( sp2\listed_product_space.factors ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO n BY 1; + IF NOT compatible_spaces( sp1\listed_product_space.factors[i], sp2\listed_product_space.factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + m := space_dimension( sp2\extended_tuple_space.base ); + IF n < m THEN + RETURN( FALSE ); + END_IF; + IF n = m THEN + RETURN( compatible_spaces( sp1, sp2\extended_tuple_space.base ) ); + END_IF; + RETURN( compatible_spaces( sp1, assoc_product_space( sp2\extended_tuple_space.base, make_uniform_product_space( sp2\ + extended_tuple_space.extender, n - m ) ) ) ); + END_IF; + IF ( schema_prefix + 'FUNCTION_SPACE' ) IN types2 THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN + IF ( 'UNIFORM_PRODUCT_SPACE' IN types2 ) OR ( 'LISTED_PRODUCT_SPACE' IN types2 ) THEN + RETURN( compatible_spaces( sp2, sp1 ) ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + IF NOT compatible_spaces( sp1\extended_tuple_space.extender, sp2\extended_tuple_space.extender ) THEN + RETURN( FALSE ); + END_IF; + n := space_dimension( sp1\extended_tuple_space.base ); + m := space_dimension( sp2\extended_tuple_space.base ); + IF n < m THEN + RETURN( compatible_spaces( assoc_product_space( sp1\extended_tuple_space.base, make_uniform_product_space( sp1\ + extended_tuple_space.extender, m - n ) ), sp2\extended_tuple_space.base ) ); + END_IF; + IF n = m THEN + RETURN( compatible_spaces( sp1\extended_tuple_space.base, sp2\extended_tuple_space.base ) ); + END_IF; + IF n > m THEN + RETURN( compatible_spaces( sp1\extended_tuple_space.base, assoc_product_space( sp2\extended_tuple_space.base, + make_uniform_product_space( sp2\extended_tuple_space.extender, n - m ) ) ) ); + END_IF; + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'FUNCTION_SPACE' IN types1 THEN + IF 'FUNCTION_SPACE' IN types2 THEN + s1 := sp1\function_space.domain_argument; + s2 := sp2\function_space.domain_argument; + CASE sp1\function_space.domain_constraint OF + sc_equal : + BEGIN + CASE sp2\function_space.domain_constraint OF + sc_equal : lgcl := subspace_of( s1, s2 ) AND subspace_of( s2, s1 ); + sc_subspace : lgcl := subspace_of( s1, s2 ); + sc_member : lgcl := member_of( s1, s2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE sp2\function_space.domain_constraint OF + sc_equal : lgcl := subspace_of( s2, s1 ); + sc_subspace : lgcl := compatible_spaces( s1, s2 ); + sc_member : lgcl := UNKNOWN; + END_CASE; + END; + sc_member : + BEGIN + CASE sp2\function_space.domain_constraint OF + sc_equal : lgcl := member_of( s2, s1 ); + sc_subspace : lgcl := UNKNOWN; + sc_member : lgcl := compatible_spaces( s1, s2 ); + END_CASE; + END; + END_CASE; + IF lgcl = FALSE THEN + RETURN( FALSE ); + END_IF; + s1 := sp1\function_space.range_argument; + s2 := sp2\function_space.range_argument; + CASE sp1\function_space.range_constraint OF + sc_equal : + BEGIN + CASE sp2\function_space.range_constraint OF + sc_equal : lgcl := subspace_of( s1, s2 ) AND subspace_of( s2, s1 ); + sc_subspace : lgcl := subspace_of( s1, s2 ); + sc_member : lgcl := member_of( s1, s2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE sp2\function_space.range_constraint OF + sc_equal : lgcl := subspace_of( s2, s1 ); + sc_subspace : lgcl := compatible_spaces( s1, s2 ); + sc_member : lgcl := UNKNOWN; + END_CASE; + END; + sc_member : + BEGIN + CASE sp2\function_space.range_constraint OF + sc_equal : lgcl := member_of( s2, s1 ); + sc_subspace : lgcl := UNKNOWN; + sc_member : lgcl := compatible_spaces( s1, s2 ); + END_CASE; + END; + END_CASE; + IF lgcl = FALSE THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + RETURN( TRUE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION composable_sequence( + operands : LIST [2 : ?] OF maths_function + ) : BOOLEAN; + REPEAT i := 1 TO SIZEOF( operands ) - 1 BY 1; + IF NOT compatible_spaces( operands[i].range, operands[i + 1].domain ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION compute_total_depth( + swsrh : solid_with_stepped_round_hole + ) : positive_length_measure; + + LOCAL + i : positive_integer; + n : positive_integer := swsrh.segments; + td : positive_length_measure := swsrh.segment_depths[1]; + END_LOCAL; + IF n = 1 THEN + RETURN( td ); + ELSE + REPEAT i := 2 TO n BY 1; + td := td + swsrh.segment_depths[i]; + END_REPEAT; + END_IF; + RETURN( td ); + + END_FUNCTION; + + FUNCTION conditional_reverse( + p : BOOLEAN; + an_item : reversible_topology + ) : reversible_topology; + IF p THEN + RETURN( an_item ); + ELSE + RETURN( topology_reversed( an_item ) ); + END_IF; + + END_FUNCTION; + + FUNCTION consistent_element_or_group_reference( + aspect, element : GENERIC + ) : BOOLEAN; + + LOCAL + srrs : STRING; + i : INTEGER; + END_LOCAL; + srrs := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; + IF ( srrs + 'ELEMENT_REPRESENTATION' ) IN TYPEOF( element ) THEN + RETURN( consistent_element_reference( aspect, element ) ); + END_IF; + IF ( srrs + 'ELEMENT_GROUP' ) IN TYPEOF( element ) THEN + REPEAT i := 1 TO HIINDEX( element.elements ) BY 1; + IF NOT consistent_element_reference( aspect, element.elements[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION consistent_element_reference( + aspect : GENERIC; + element : element_representation + ) : BOOLEAN; + + LOCAL + srrs : STRING; + feacr : STRING; + aspect_type : SET [1 : ?] OF STRING; + element_type : SET [1 : ?] OF STRING; + END_LOCAL; + srrs := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; + feacr := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; + aspect_type := TYPEOF( aspect ); + element_type := TYPEOF( element ); + IF ( srrs + 'ELEMENT_REPRESENTATION' ) IN element_type THEN + IF ( srrs + 'ELEMENT_VOLUME' ) IN aspect_type THEN + RETURN( TRUE ); + END_IF; + END_IF; + IF ( srrs + 'VOLUME_3D_ELEMENT_REPRESENTATION' ) IN element_type THEN + IF ( ( feacr + 'VOLUME_3D_FACE' ) IN aspect_type ) OR ( ( feacr + 'VOLUME_3D_EDGE' ) IN aspect_type ) THEN + RETURN( TRUE ); + END_IF; + END_IF; + IF ( ( srrs + 'AXISYMMETRIC_VOLUME_2D_ELEMENT_REPRESENTATION' ) IN element_type ) OR ( ( srrs + + 'PLANE_VOLUME_2D_ELEMENT_REPRESENTATION' ) IN element_type ) THEN + IF ( ( feacr + 'VOLUME_2D_FACE' ) IN aspect_type ) OR ( ( feacr + 'VOLUME_2D_EDGE' ) IN aspect_type ) THEN + RETURN( TRUE ); + END_IF; + END_IF; + IF ( srrs + 'SURFACE_3D_ELEMENT_REPRESENTATION' ) IN element_type THEN + IF ( ( feacr + 'SURFACE_3D_FACE' ) IN aspect_type ) OR ( ( feacr + 'SURFACE_3D_EDGE' ) IN aspect_type ) THEN + RETURN( TRUE ); + END_IF; + END_IF; + IF ( ( srrs + 'AXISYMMETRIC_SURFACE_2D_ELEMENT_REPRESENTATION' ) IN element_type ) OR ( ( srrs + + 'PLANE_SURFACE_2D_ELEMENT_REPRESENTATION' ) IN element_type ) THEN + IF ( ( feacr + 'SURFACE_2D_FACE' ) IN aspect_type ) OR ( ( feacr + 'SURFACE_2D_EDGE' ) IN aspect_type ) THEN + RETURN( TRUE ); + END_IF; + END_IF; + IF ( ( srrs + 'CURVE_3D_ELEMENT_REPRESENTATION' ) IN element_type ) OR ( ( srrs + + 'AXISYMMETRIC_CURVE_2D_ELEMENT_REPRESENTATION' ) IN element_type ) OR ( ( srrs + 'PLANE_CURVE_2D_ELEMENT_REPRESENTATION' ) + IN element_type ) THEN + IF ( srrs + 'CURVE_EDGE' ) IN aspect_type THEN + RETURN( TRUE ); + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION consistent_geometric_reference( + aspect : GENERIC; + item : geometric_representation_item + ) : BOOLEAN; + + LOCAL + srrs : STRING; + feacr : STRING; + aspect_type : SET [1 : ?] OF STRING; + item_type : SET [1 : ?] OF STRING; + END_LOCAL; + srrs := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; + feacr := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; + aspect_type := TYPEOF( aspect ); + item_type := TYPEOF( item ); + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_MODEL' IN item_type THEN + IF ( srrs + 'ELEMENT_VOLUME' ) IN aspect_type THEN + RETURN( TRUE ); + END_IF; + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN item_type ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN item_type ) THEN + IF SIZEOF( [feacr + 'VOLUME_3D_FACE', feacr + 'VOLUME_2D_FACE', feacr + 'SURFACE_3D_FACE', feacr + 'SURFACE_2D_FACE'] * + aspect_type ) = 1 THEN + RETURN( TRUE ); + END_IF; + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN item_type ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN item_type ) THEN + IF SIZEOF( [feacr + 'VOLUME_3D_EDGE', feacr + 'VOLUME_2D_EDGE', feacr + 'SURFACE_3D_EDGE', feacr + 'SURFACE_2D_EDGE', srrs + + 'CURVE_EDGE'] * aspect_type ) = 1 THEN + RETURN( TRUE ); + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION consistent_list_values( + values : LIST [1 : ?] OF field_value; + variable : GENERIC + ) : BOOLEAN; + + LOCAL + vv_type : STRING; + fv_type : SET [1 : ?] OF STRING; + i : INTEGER; + END_LOCAL; + vv_type := variable_value_type( variable ); + REPEAT i := 1 TO HIINDEX( values ) BY 1; + fv_type := TYPEOF( values[i] ); + IF NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'UNSPECIFIED_VALUE' ) IN fv_type ) THEN + IF NOT ( vv_type IN fv_type ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION consistent_set_values( + values_and_locations : SET [1 : ?] OF GENERIC; + variable : GENERIC + ) : BOOLEAN; + + LOCAL + vv_type : STRING; + fv_type : SET [1 : ?] OF STRING; + i : INTEGER; + END_LOCAL; + vv_type := variable_value_type( variable ); + REPEAT i := 1 TO HIINDEX( values_and_locations ) BY 1; + fv_type := TYPEOF( values_and_locations[i].simple_value ); + IF NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'UNSPECIFIED_VALUE' ) IN fv_type ) THEN + IF NOT ( vv_type IN fv_type ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION consistent_topological_reference( + aspect : GENERIC; + item : topological_representation_item + ) : BOOLEAN; + + LOCAL + status : BOOLEAN; + srrs : STRING; + END_LOCAL; + status := FALSE; + srrs := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; + IF ( srrs + 'ELEMENT_VOLUME' ) IN TYPEOF( aspect ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL' IN TYPEOF( item ) THEN + status := TRUE; + END_IF; + END_IF; + IF ( srrs + 'VOLUME_3D_FACE' ) IN TYPEOF( aspect ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE' IN TYPEOF( item ) THEN + status := TRUE; + END_IF; + END_IF; + IF ( srrs + 'VOLUME_2D_FACE' ) IN TYPEOF( aspect ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF( item ) THEN + status := TRUE; + END_IF; + END_IF; + IF ( srrs + 'SURFACE_3D_FACE' ) IN TYPEOF( aspect ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE' IN TYPEOF( item ) THEN + status := TRUE; + END_IF; + END_IF; + IF ( srrs + 'SURFACE_2D_FACE' ) IN TYPEOF( aspect ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF( item ) THEN + status := TRUE; + END_IF; + END_IF; + IF ( srrs + 'VOLUME_3D_EDGE' ) IN TYPEOF( aspect ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF( item ) THEN + status := TRUE; + END_IF; + END_IF; + IF ( srrs + 'VOLUME_2D_EDGE' ) IN TYPEOF( aspect ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF( item ) THEN + status := TRUE; + END_IF; + END_IF; + IF ( srrs + 'SURFACE_3D_EDGE' ) IN TYPEOF( aspect ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF( item ) THEN + status := TRUE; + END_IF; + END_IF; + IF ( srrs + 'SURFACE_2D_EDGE' ) IN TYPEOF( aspect ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF( item ) THEN + status := TRUE; + END_IF; + END_IF; + IF ( srrs + 'CURVE_EDGE' ) IN TYPEOF( aspect ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF( item ) THEN + status := TRUE; + END_IF; + END_IF; + IF 'TOPOLOGICAL_DEFINITION_AND_MESH_SCHEMA.TOPOLOGICAL_REGION' IN TYPEOF( item ) THEN + status := TRUE; + END_IF; + RETURN( status ); + + END_FUNCTION; + + FUNCTION consistent_value( + c_value : field_value; + variable : GENERIC + ) : BOOLEAN; + + LOCAL + vv_type : STRING; + fv_type : SET [1 : ?] OF STRING; + END_LOCAL; + vv_type := variable_value_type( variable ); + fv_type := TYPEOF( c_value ); + IF NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'UNSPECIFIED_VALUE' ) IN fv_type ) THEN + IF NOT ( vv_type IN fv_type ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION constraints_composite_curve_on_surface( + c : composite_curve_on_surface + ) : BOOLEAN; + + LOCAL + n_segments : INTEGER := SIZEOF( c.segments ); + END_LOCAL; + REPEAT k := 1 TO n_segments BY 1; + IF ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( c\composite_curve.segments[k]. + parent_curve ) ) ) AND ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( c\ + composite_curve.segments[k].parent_curve ) ) ) AND ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF( c\composite_curve.segments[k].parent_curve ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION constraints_geometry_shell_based_surface_model( + m : shell_based_surface_model + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT j := 1 TO SIZEOF( m.sbsm_boundary ) BY 1; + IF ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_SHELL' IN TYPEOF( m.sbsm_boundary[j] ) ) ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL' IN TYPEOF( m.sbsm_boundary[j] ) ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION constraints_geometry_shell_based_wireframe_model( + m : shell_based_wireframe_model + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT j := 1 TO SIZEOF( m.sbwm_boundary ) BY 1; + IF ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF( m.sbwm_boundary[j] ) ) ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_SHELL' IN TYPEOF( m.sbwm_boundary[j] ) ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION constraints_param_b_spline( + degree : INTEGER; + up_knots : INTEGER; + up_cp : INTEGER; + knot_mult : LIST [0 : ?] OF INTEGER; + knots : LIST [0 : ?] OF parameter_value + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + k : INTEGER; + sum : INTEGER; + END_LOCAL; + sum := knot_mult[1]; + REPEAT i := 2 TO up_knots BY 1; + sum := sum + knot_mult[i]; + END_REPEAT; + IF ( degree < 1 ) OR ( up_knots < 2 ) OR ( up_cp < degree ) OR ( sum <> ( degree + up_cp + 2 ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + k := knot_mult[1]; + IF ( k < 1 ) OR ( k > ( degree + 1 ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + REPEAT i := 2 TO up_knots BY 1; + IF ( knot_mult[i] < 1 ) OR ( knots[i] <= knots[i - 1] ) THEN + result := FALSE; + RETURN( result ); + END_IF; + k := knot_mult[i]; + IF ( i < up_knots ) AND ( k > degree ) THEN + result := FALSE; + RETURN( result ); + END_IF; + IF ( i = up_knots ) AND ( k > ( degree + 1 ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION constraints_rectangular_composite_surface( + s : rectangular_composite_surface + ) : BOOLEAN; + REPEAT i := 1 TO s.n_u BY 1; + REPEAT j := 1 TO s.n_v BY 1; + IF NOT ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( s.segments[i][j]. + parent_surface ) ) OR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_TRIMMED_SURFACE' IN TYPEOF( s. + segments[i][j].parent_surface ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + REPEAT i := 1 TO s.n_u - 1 BY 1; + REPEAT j := 1 TO s.n_v BY 1; + IF s.segments[i][j].u_transition = discontinuous THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + REPEAT i := 1 TO s.n_u BY 1; + REPEAT j := 1 TO s.n_v - 1 BY 1; + IF s.segments[i][j].v_transition = discontinuous THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION control_characters_free( + s : STRING + ) : BOOLEAN; + + LOCAL + ch : STRING; + END_LOCAL; + REPEAT i := 1 TO LENGTH( s ) BY 1; + ch := s[i]; + IF ( ch = '\x9' ) OR ( ch = '\xA' ) OR ( ch = '\xD' ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION convert_spatial_to_ypr_rotation( + pair : kinematic_pair; + rotation : spatial_rotation + ) : ypr_rotation; + + LOCAL + axis : direction; + angle : plane_angle_measure; + conv_angle : plane_angle_measure; + ya : plane_angle_measure; + pa : plane_angle_measure; + ra : plane_angle_measure; + ucf : REAL; + dx : REAL; + dy : REAL; + dz : REAL; + s_a : REAL; + c_a : REAL; + rotmat : ARRAY [1 : 3] OF ARRAY [1 : 3] OF REAL; + cm1 : REAL; + s_y : REAL; + c_y : REAL; + s_r : REAL; + c_r : REAL; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.YPR_ROTATION' IN TYPEOF( rotation ) THEN + RETURN( rotation ); + END_IF; + axis := normalise( rotation\rotation_about_direction.direction_of_axis ); + angle := rotation\rotation_about_direction.rotation_angle; + IF angle = 0 THEN + RETURN( [0, 0, 0] ); + END_IF; + dx := axis.direction_ratios[1]; + dy := axis.direction_ratios[2]; + dz := axis.direction_ratios[3]; + conv_angle := plane_angle_for_pair_in_radian( pair, angle ); + IF NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( conv_angle ) ) THEN + RETURN( ? ); + END_IF; + ucf := angle / conv_angle; + s_a := SIN( conv_angle ); + c_a := COS( conv_angle ); + IF ( dy = 0 ) AND ( ( dx * dz ) = 0 ) THEN + REPEAT WHILE conv_angle <= ( -PI ); + conv_angle := conv_angle + ( 2 * PI ); + END_REPEAT; + REPEAT WHILE conv_angle > PI; + conv_angle := conv_angle - ( 2 * PI ); + END_REPEAT; + ya := ucf * conv_angle; + IF conv_angle <> PI THEN + ra := -ya; + ELSE + ra := ya; + END_IF; + IF dx <> 0 THEN + IF dx > 0 THEN + RETURN( [0, 0, ya] ); + ELSE + RETURN( [0, 0, ra] ); + END_IF; + ELSE + IF dz > 0 THEN + RETURN( [ya, 0, 0] ); + ELSE + RETURN( [ra, 0, 0] ); + END_IF; + END_IF; + END_IF; + IF ( dy <> 0 ) AND ( dx = 0 ) AND ( dz = 0 ) THEN + IF c_a >= 0 THEN + ya := 0; + ra := 0; + ELSE + ya := ucf * PI; + ra := ya; + END_IF; + pa := ucf * ATAN( s_a, ABS( c_a ) ); + IF dy < 0 THEN + pa := -pa; + END_IF; + RETURN( [ya, pa, ra] ); + END_IF; + cm1 := 1 - c_a; + rotmat := [[( dx * dx * cm1 ) + c_a, ( dx * dy * cm1 ) - ( dz * s_a ), ( dx * dz * cm1 ) + ( dy * s_a )], [( dx * dy * cm1 ) + + ( dz * s_a ), ( dy * dy * cm1 ) + c_a, ( dy * dz * cm1 ) - ( dx * s_a )], [( dx * dz * cm1 ) - ( dy * s_a ), ( dy * dz * + cm1 ) + ( dx * s_a ), ( dz * dz * cm1 ) + c_a]]; + IF ABS( rotmat[1][3] ) = 1 THEN + + BEGIN + IF rotmat[1][3] = 1 THEN + pa := 0.5 * PI; + ELSE + pa := ( -0.5 ) * PI; + END_IF; + ra := 0; + ya := ATAN( rotmat[2][1], rotmat[2][2] ); + IF rotmat[2][2] < 0 THEN + IF ya <= 0 THEN + ya := ya + PI; + ELSE + ya := ya - PI; + END_IF; + END_IF; + END; + ELSE + + BEGIN + ya := ATAN( -rotmat[1][2], rotmat[1][1] ); + IF rotmat[1][1] < 0 THEN + IF ya <= 0 THEN + ya := ya + PI; + ELSE + ya := ya - PI; + END_IF; + END_IF; + ra := ATAN( -rotmat[2][3], rotmat[3][3] ); + IF rotmat[3][3] < 0 THEN + IF ra <= 0 THEN + ra := ra + PI; + ELSE + ra := ra - PI; + END_IF; + END_IF; + s_y := SIN( ya ); + c_y := COS( ya ); + s_r := SIN( ra ); + c_r := COS( ra ); + IF ( ABS( s_y ) > ABS( c_y ) ) AND ( ABS( s_y ) > ABS( s_r ) ) AND ( ABS( s_y ) > ABS( c_r ) ) THEN + cm1 := ( -rotmat[1][2] ) / s_y; + ELSE + IF ( ABS( c_y ) > ABS( s_r ) ) AND ( ABS( c_y ) > ABS( c_r ) ) THEN + cm1 := rotmat[1][1] / c_y; + ELSE + IF ABS( s_r ) > ABS( c_r ) THEN + cm1 := ( -rotmat[2][3] ) / s_r; + ELSE + cm1 := rotmat[3][3] / c_r; + END_IF; + END_IF; + END_IF; + pa := ATAN( rotmat[1][3], cm1 ); + END; + END_IF; + ya := ya * ucf; + pa := pa * ucf; + ra := ra * ucf; + RETURN( [ya, pa, ra] ); + + END_FUNCTION; + + FUNCTION convert_to_literal( + val : maths_atom + ) : generic_literal; + + LOCAL + types : SET OF STRING := TYPEOF( val ); + END_LOCAL; + IF 'INTEGER' IN types THEN + RETURN( make_int_literal( val ) ); + END_IF; + IF 'REAL' IN types THEN + RETURN( make_real_literal( val ) ); + END_IF; + IF 'BOOLEAN' IN types THEN + RETURN( make_boolean_literal( val ) ); + END_IF; + IF 'STRING' IN types THEN + RETURN( make_string_literal( val ) ); + END_IF; + IF 'LOGICAL' IN types THEN + RETURN( make_logical_literal( val ) ); + END_IF; + IF 'BINARY' IN types THEN + RETURN( make_binary_literal( val ) ); + END_IF; + IF ( schema_prefix + 'MATHS_ENUM_ATOM' ) IN types THEN + RETURN( make_maths_enum_literal( val ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION convert_to_maths_function( + func : maths_function_select + ) : maths_function; + + LOCAL + efenum : elementary_function_enumerators; + mthfun : maths_function; + END_LOCAL; + IF ( schema_prefix + 'MATHS_FUNCTION' ) IN TYPEOF( func ) THEN + mthfun := func; + ELSE + efenum := func; + mthfun := make_elementary_function( efenum ); + END_IF; + RETURN( mthfun ); + + END_FUNCTION; + + FUNCTION convert_to_maths_value( + val : GENERIC:g + ) : maths_value; + + LOCAL + types : SET OF STRING := TYPEOF( val ); + ival : maths_integer; + rval : maths_real; + nval : maths_number; + tfval : maths_boolean; + lval : maths_logical; + sval : maths_string; + bval : maths_binary; + tval : maths_tuple := the_empty_maths_tuple; + mval : maths_value; + END_LOCAL; + IF ( schema_prefix + 'MATHS_VALUE' ) IN types THEN + RETURN( val ); + END_IF; + IF 'INTEGER' IN types THEN + ival := val; + RETURN( ival ); + END_IF; + IF 'REAL' IN types THEN + rval := val; + RETURN( rval ); + END_IF; + IF 'NUMBER' IN types THEN + nval := val; + RETURN( nval ); + END_IF; + IF 'BOOLEAN' IN types THEN + tfval := val; + RETURN( tfval ); + END_IF; + IF 'LOGICAL' IN types THEN + lval := val; + RETURN( lval ); + END_IF; + IF 'STRING' IN types THEN + sval := val; + RETURN( sval ); + END_IF; + IF 'BINARY' IN types THEN + bval := val; + RETURN( bval ); + END_IF; + IF 'LIST' IN types THEN + REPEAT i := 1 TO SIZEOF( val ) BY 1; + mval := convert_to_maths_value( val[i] ); + IF NOT EXISTS( mval ) THEN + RETURN( ? ); + END_IF; + INSERT( tval, mval, i - 1 ); + END_REPEAT; + RETURN( tval ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION convert_to_operand( + val : maths_value + ) : generic_expression; + + LOCAL + types : SET OF STRING := stripped_typeof( val ); + END_LOCAL; + IF 'GENERIC_EXPRESSION' IN types THEN + RETURN( val ); + END_IF; + IF 'MATHS_ATOM' IN types THEN + RETURN( convert_to_literal( val ) ); + END_IF; + IF 'ATOM_BASED_VALUE' IN types THEN + RETURN( make_atom_based_literal( val ) ); + END_IF; + IF 'MATHS_TUPLE' IN types THEN + RETURN( make_maths_tuple_literal( val ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION convert_to_operands( + values : AGGREGATE OF maths_value + ) : LIST OF generic_expression; + + LOCAL + operands : LIST OF generic_expression := []; + loc : INTEGER := 0; + END_LOCAL; + IF NOT EXISTS( values ) THEN + RETURN( ? ); + END_IF; + REPEAT i := LOINDEX( values ) TO HIINDEX( values ) BY 1; + INSERT( operands, convert_to_operand( values[i] ), loc ); + loc := loc + 1; + END_REPEAT; + RETURN( operands ); + + END_FUNCTION; + + FUNCTION convert_to_operands_prcmfn( + srcdom : maths_space_or_function; + prepfun : LIST OF maths_function; + finfun : maths_function_select + ) : LIST [2 : ?] OF generic_expression; + + LOCAL + operands : LIST OF generic_expression := []; + END_LOCAL; + INSERT( operands, srcdom, 0 ); + REPEAT i := 1 TO SIZEOF( prepfun ) BY 1; + INSERT( operands, prepfun[i], i ); + END_REPEAT; + INSERT( operands, convert_to_maths_function( finfun ), SIZEOF( prepfun ) + 1 ); + RETURN( operands ); + + END_FUNCTION; + + FUNCTION cross_product( + arg1, arg2 : direction + ) : vector; + + LOCAL + mag : REAL; + res : direction; + v1 : LIST [3 : 3] OF REAL; + v2 : LIST [3 : 3] OF REAL; + result : vector; + END_LOCAL; + IF ( NOT EXISTS( arg1 ) ) OR ( arg1.dim = 2 ) OR ( NOT EXISTS( arg2 ) ) OR ( arg2.dim = 2 ) THEN + RETURN( ? ); + ELSE + + BEGIN + v1 := normalise( arg1 ).direction_ratios; + v2 := normalise( arg2 ).direction_ratios; + res := dummy_gri || direction( [( v1[2] * v2[3] ) - ( v1[3] * v2[2] ), ( v1[3] * v2[1] ) - ( v1[1] * v2[3] ), ( v1[1] * + v2[2] ) - ( v1[2] * v2[1] )] ); + mag := 0; + REPEAT i := 1 TO 3 BY 1; + mag := mag + ( res.direction_ratios[i] * res.direction_ratios[i] ); + END_REPEAT; + IF mag > 0 THEN + result := dummy_gri || vector( res, SQRT( mag ) ); + ELSE + result := dummy_gri || vector( arg1, 0 ); + END_IF; + RETURN( result ); + END; + END_IF; + + END_FUNCTION; + + FUNCTION curve_weights_positive( + b : rational_b_spline_curve + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 0 TO b.upper_index_on_control_points BY 1; + IF b.weights[i] <= 0 THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr2( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF SIZEOF( agg ) <= 5 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr3( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN + TYPEOF( i ) ) AND ( i\representation_item.name = 'significant number of digits' ) ) ) ) = 1 ) OR ( ( SIZEOF( + QUERY ( i <* agg | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) + AND ( i\representation_item.name = 'lower limit' ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( i <* agg | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\ + representation_item.name = 'upper limit' ) ) ) ) = 1 ) ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr4( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN + TYPEOF( i ) ) AND ( i\representation_item.name = 'plus minus tolerance value' ) ) ) ) = 1 ) OR ( ( SIZEOF( QUERY ( i <* + agg | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\ + representation_item.name = 'lower tolerance value' ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( i <* agg | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\ + representation_item.name = 'upper tolerance value' ) ) ) ) = 1 ) ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr5( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN + TYPEOF( i ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( i <* agg | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) ) ) = SIZEOF( QUERY ( i <* agg | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\ + representation_item.name = 'cell description' ) ) ) ) ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION definite_integral_check( + domain : tuple_space; + vrblint : input_selector; + lowerinf : BOOLEAN; + upperinf : BOOLEAN + ) : BOOLEAN; + + LOCAL + domn : tuple_space := domain; + fspc : maths_space; + dim : nonnegative_integer; + k : positive_integer; + END_LOCAL; + IF ( space_dimension( domain ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( domain ) ) ) THEN + domn := factor1( domain ); + END_IF; + dim := space_dimension( domn ); + k := vrblint; + IF k > dim THEN + RETURN( FALSE ); + END_IF; + fspc := factor_space( domn, k ); + IF NOT ( ( schema_prefix + 'REAL_INTERVAL' ) IN TYPEOF( fspc ) ) THEN + RETURN( FALSE ); + END_IF; + IF lowerinf AND min_exists( fspc ) THEN + RETURN( FALSE ); + END_IF; + IF upperinf AND max_exists( fspc ) THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION definite_integral_expr_check( + operands : LIST [2 : ?] OF generic_expression; + lowerinf : BOOLEAN; + upperinf : BOOLEAN + ) : BOOLEAN; + + LOCAL + nops : INTEGER := 2; + vspc : maths_space; + dim : nonnegative_integer; + k : positive_integer; + bspc : maths_space; + END_LOCAL; + IF NOT lowerinf THEN + nops := nops + 1; + END_IF; + IF NOT upperinf THEN + nops := nops + 1; + END_IF; + IF SIZEOF( operands ) <> nops THEN + RETURN( FALSE ); + END_IF; + IF NOT ( 'GENERIC_VARIABLE' IN stripped_typeof( operands[2] ) ) THEN + RETURN( FALSE ); + END_IF; + IF NOT has_values_space( operands[2] ) THEN + RETURN( FALSE ); + END_IF; + vspc := values_space_of( operands[2] ); + IF NOT ( 'REAL_INTERVAL' IN stripped_typeof( vspc ) ) THEN + RETURN( FALSE ); + END_IF; + IF lowerinf THEN + IF min_exists( vspc ) THEN + RETURN( FALSE ); + END_IF; + k := 3; + ELSE + IF NOT has_values_space( operands[3] ) THEN + RETURN( FALSE ); + END_IF; + bspc := values_space_of( operands[3] ); + IF NOT compatible_spaces( bspc, vspc ) THEN + RETURN( FALSE ); + END_IF; + k := 4; + END_IF; + IF upperinf THEN + IF max_exists( vspc ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF NOT has_values_space( operands[k] ) THEN + RETURN( FALSE ); + END_IF; + bspc := values_space_of( operands[k] ); + IF NOT compatible_spaces( bspc, vspc ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION definition_for_temporal_spatial_domain( + domain : temporal_spatial_domain + ) : BOOLEAN; + + LOCAL + spatial_set : SET OF spatial_decomposition_of_temporal_spatial_domain; + behavioural_set : SET OF behavioural_decomposition_of_temporal_spatial_domain; + domains : SET OF temporal_spatial_domain := []; + idealising : BAG OF idealisation_relationship; + spatial_bag : BAG OF spatial_decomposition_of_temporal_spatial_domain; + behavioural_bag : BAG OF behavioural_decomposition_of_temporal_spatial_domain; + END_LOCAL; + idealising := USEDIN( domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.IDEALISATION_RELATIONSHIP.IDEALISATION' ); + IF SIZEOF( idealising ) > 0 THEN + RETURN( TRUE ); + END_IF; + spatial_bag := USEDIN( domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SPATIAL_DECOMPOSITION_OF_TEMPORAL_SPATIAL_DOMAIN.PARTS' ); + IF SIZEOF( spatial_bag ) > 0 THEN + spatial_set := bag_to_set( spatial_bag ); + REPEAT i := 1 TO HIINDEX( spatial_set ) BY 1; + domains := domains + spatial_set[i].whole; + END_REPEAT; + END_IF; + behavioural_bag := USEDIN( domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'BEHAVIOURAL_DECOMPOSITION_OF_TEMPORAL_SPATIAL_DOMAIN.PARTS' ); + IF SIZEOF( behavioural_bag ) > 0 THEN + behavioural_set := bag_to_set( behavioural_bag ); + REPEAT i := 1 TO HIINDEX( behavioural_set ) BY 1; + domains := domains + behavioural_set[i].whole; + END_REPEAT; + END_IF; + IF SIZEOF( domains ) > 0 THEN + REPEAT i := 1 TO HIINDEX( domains ) BY 1; + IF definition_for_temporal_spatial_domain( domains[i] ) THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION dependently_instantiated( + set_of_input_instances : SET OF GENERIC:igen; + set_of_input_types : SET OF STRING; + previous_in_chain : LIST OF GENERIC:cgen + ) : BOOLEAN; + + LOCAL + number_of_input_instances : INTEGER; + number_of_referring_instances : INTEGER; + bag_of_referring_instances : BAG OF GENERIC:igen := []; + dependently_instantiated_flag : BOOLEAN; + previous_in_chain_plus : LIST OF GENERIC:cgen := []; + result : BOOLEAN := TRUE; + set_of_types : SET OF STRING := []; + END_LOCAL; + IF EXISTS( set_of_input_instances ) THEN + number_of_input_instances := SIZEOF( set_of_input_instances ); + set_of_input_types := set_of_input_types + 'GENERIC'; + REPEAT i := 1 TO number_of_input_instances BY 1; + bag_of_referring_instances := USEDIN( set_of_input_instances[i], '' ); + IF EXISTS( bag_of_referring_instances ) THEN + number_of_referring_instances := SIZEOF( bag_of_referring_instances ); + dependently_instantiated_flag := FALSE; + REPEAT j := 1 TO number_of_referring_instances BY 1; + set_of_types := TYPEOF( bag_of_referring_instances[j] ); + IF set_of_types <= set_of_input_types THEN + IF NOT ( bag_of_referring_instances[j] IN previous_in_chain ) THEN + previous_in_chain_plus := previous_in_chain + set_of_input_instances[i]; + IF dependently_instantiated( [bag_of_referring_instances[j]], set_of_input_types, previous_in_chain_plus ) THEN + dependently_instantiated_flag := TRUE; + ESCAPE; + ELSE + SKIP; + END_IF; + END_IF; + ELSE + dependently_instantiated_flag := TRUE; + ESCAPE; + END_IF; + END_REPEAT; + IF NOT dependently_instantiated_flag THEN + RETURN( FALSE ); + END_IF; + ELSE + RETURN( FALSE ); + END_IF; + END_REPEAT; + ELSE + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION derive_angle( + placement_1, placement_2 : axis2_placement_3d + ) : plane_angle_measure; + + LOCAL + v1 : direction; + v2 : direction; + mag_v1 : REAL; + mag_v2 : REAL; + theta : plane_angle_measure; + END_LOCAL; + v1 := placement_1.p[1]; + v2 := placement_2.p[1]; + mag_v1 := SQRT( ( v1.direction_ratios[1] * v1.direction_ratios[1] ) + ( v1.direction_ratios[2] * v1.direction_ratios[2] ) ); + mag_v2 := SQRT( ( v2.direction_ratios[1] * v2.direction_ratios[1] ) + ( v2.direction_ratios[2] * v2.direction_ratios[2] ) ); + IF ( mag_v1 = 0 ) OR ( mag_v2 = 0 ) THEN + theta := 0; + RETURN( theta ); + END_IF; + theta := ACOS( ( ( v1.direction_ratios[1] * v2.direction_ratios[1] ) + ( v1.direction_ratios[2] * v2.direction_ratios[2] ) ) + / ( mag_v1 * mag_v2 ) ); + RETURN( theta ); + + END_FUNCTION; + + FUNCTION derive_definite_integral_domain( + igrl : definite_integral_function + ) : tuple_space; + + FUNCTION process_product_space( + spc : product_space; + idx, prefix : INTEGER; + vdomn : maths_space + ) : product_space; + + LOCAL + uspc : uniform_product_space; + expnt : INTEGER; + factors : LIST OF maths_space; + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN TYPEOF( spc ) THEN + uspc := spc; + expnt := uspc.exponent + prefix; + IF idx <= uspc.exponent THEN + expnt := expnt - 1; + END_IF; + IF expnt = 0 THEN + RETURN( make_listed_product_space( [] ) ); + ELSE + RETURN( make_uniform_product_space( uspc.base, expnt ) ); + END_IF; + ELSE + factors := spc\listed_product_space.factors; + IF idx <= SIZEOF( factors ) THEN + REMOVE( factors, idx ); + END_IF; + IF prefix > 0 THEN + INSERT( factors, vdomn, 0 ); + IF prefix > 1 THEN + INSERT( factors, vdomn, 0 ); + END_IF; + END_IF; + RETURN( make_listed_product_space( factors ) ); + END_IF; + + END_FUNCTION; + + LOCAL + idomn : tuple_space := igrl.integrand.domain; + types : SET OF STRING := TYPEOF( idomn ); + idx : INTEGER := igrl.variable_of_integration; + tupled : BOOLEAN := bool( ( space_dimension( idomn ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN types ) ); + prefix : INTEGER := 0; + espc : extended_tuple_space; + vdomn : maths_space; + END_LOCAL; + IF tupled THEN + idomn := factor1( idomn ); + types := TYPEOF( idomn ); + END_IF; + IF igrl.lower_limit_neg_infinity THEN + prefix := prefix + 1; + END_IF; + IF igrl.upper_limit_pos_infinity THEN + prefix := prefix + 1; + END_IF; + vdomn := factor_space( idomn, idx ); + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN types THEN + espc := idomn; + idomn := make_extended_tuple_space( process_product_space( espc.base, idx, prefix, vdomn ), espc.extender ); + ELSE + idomn := process_product_space( idomn, idx, prefix, vdomn ); + END_IF; + IF tupled THEN + RETURN( one_tuples_of( idomn ) ); + ELSE + RETURN( idomn ); + END_IF; + + END_FUNCTION; + + FUNCTION derive_dimensional_exponents( + x : unit + ) : dimensional_exponents; + + LOCAL + result : dimensional_exponents := dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ); + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DERIVED_UNIT' IN TYPEOF( x ) THEN + REPEAT i := LOINDEX( x\derived_unit.elements ) TO HIINDEX( x\derived_unit.elements ) BY 1; + result.length_exponent := result.length_exponent + ( x\derived_unit.elements[i]\derived_unit_element.exponent * x\ + derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.length_exponent ); + result.mass_exponent := result.mass_exponent + ( x\derived_unit.elements[i]\derived_unit_element.exponent * x\ + derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.mass_exponent ); + result.time_exponent := result.time_exponent + ( x\derived_unit.elements[i]\derived_unit_element.exponent * x\ + derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.time_exponent ); + result.electric_current_exponent := result.electric_current_exponent + ( x\derived_unit.elements[i]\derived_unit_element. + exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.electric_current_exponent ); + result.thermodynamic_temperature_exponent := result.thermodynamic_temperature_exponent + ( x\derived_unit.elements[i]\ + derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions. + thermodynamic_temperature_exponent ); + result.amount_of_substance_exponent := result.amount_of_substance_exponent + ( x\derived_unit.elements[i]\ + derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions. + amount_of_substance_exponent ); + result.luminous_intensity_exponent := result.luminous_intensity_exponent + ( x\derived_unit.elements[i]\ + derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions. + luminous_intensity_exponent ); + END_REPEAT; + ELSE + result := x\named_unit.dimensions; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION derive_elementary_function_domain( + ef_val : elementary_function_enumerators + ) : tuple_space; + IF NOT EXISTS( ef_val ) THEN + RETURN( ? ); + END_IF; + CASE ef_val OF + ef_and : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_logicals ) ); + ef_or : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_logicals ) ); + ef_not : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_xor : RETURN( make_uniform_product_space( the_logicals, 2 ) ); + ef_negate_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_add_i : RETURN( the_integer_tuples ); + ef_subtract_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_multiply_i : RETURN( the_integer_tuples ); + ef_divide_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_mod_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_exponentiate_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_eq_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_ne_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_gt_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_lt_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_ge_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_le_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_abs_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_if_i : RETURN( make_listed_product_space( [the_logicals, the_integers, the_integers] ) ); + ef_negate_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_reciprocal_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_add_r : RETURN( the_real_tuples ); + ef_subtract_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_multiply_r : RETURN( the_real_tuples ); + ef_divide_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_mod_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_exponentiate_r : RETURN( make_listed_product_space( [the_nonnegative_reals, the_reals] ) ); + ef_exponentiate_ri : RETURN( make_listed_product_space( [the_reals, the_integers] ) ); + ef_eq_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_ne_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_gt_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_lt_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_ge_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_le_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_abs_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_acos_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_asin_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_atan2_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_cos_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_exp_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_ln_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_log2_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_log10_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_sin_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_sqrt_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_tan_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_if_r : RETURN( make_listed_product_space( [the_logicals, the_reals, the_reals] ) ); + ef_negate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_reciprocal_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_add_c : RETURN( the_complex_tuples ); + ef_subtract_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_multiply_c : RETURN( the_complex_tuples ); + ef_divide_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_exponentiate_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_exponentiate_ci : RETURN( make_listed_product_space( [the_complex_numbers, the_integers] ) ); + ef_eq_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_ne_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_conjugate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_abs_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_arg_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_cos_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exp_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_ln_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sin_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sqrt_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_tan_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_if_c : RETURN( make_listed_product_space( [the_logicals, the_complex_numbers, the_complex_numbers] ) ); + ef_subscript_s : RETURN( make_listed_product_space( [the_strings, the_integers] ) ); + ef_eq_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_ne_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_gt_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_lt_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_ge_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_le_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_subsequence_s : RETURN( make_listed_product_space( [the_strings, the_integers, the_integers] ) ); + ef_concat_s : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_strings ) ); + ef_size_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_format : RETURN( make_listed_product_space( [the_numbers, the_strings] ) ); + ef_value : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_like : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_if_s : RETURN( make_listed_product_space( [the_logicals, the_strings, the_strings] ) ); + ef_subscript_b : RETURN( make_listed_product_space( [the_binarys, the_integers] ) ); + ef_eq_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_ne_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_gt_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_lt_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_ge_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_le_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_subsequence_b : RETURN( make_listed_product_space( [the_binarys, the_integers, the_integers] ) ); + ef_concat_b : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_binarys ) ); + ef_size_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_if_b : RETURN( make_listed_product_space( [the_logicals, the_binarys, the_binarys] ) ); + ef_subscript_t : RETURN( make_listed_product_space( [the_tuples, the_integers] ) ); + ef_eq_t : RETURN( make_uniform_product_space( the_tuples, 2 ) ); + ef_ne_t : RETURN( make_uniform_product_space( the_tuples, 2 ) ); + ef_concat_t : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_tuples ) ); + ef_size_t : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_entuple : RETURN( the_tuples ); + ef_detuple : RETURN( make_uniform_product_space( the_generics, 1 ) ); + ef_insert : RETURN( make_listed_product_space( [the_tuples, the_generics, the_integers] ) ); + ef_remove : RETURN( make_listed_product_space( [the_tuples, the_integers] ) ); + ef_if_t : RETURN( make_listed_product_space( [the_logicals, the_tuples, the_tuples] ) ); + ef_sum_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_product_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_add_it : RETURN( make_extended_tuple_space( the_integer_tuples, the_integer_tuples ) ); + ef_subtract_it : RETURN( make_uniform_product_space( the_integer_tuples, 2 ) ); + ef_scalar_mult_it : RETURN( make_listed_product_space( [the_integers, the_integer_tuples] ) ); + ef_dot_prod_it : RETURN( make_uniform_product_space( the_integer_tuples, 2 ) ); + ef_sum_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_product_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_add_rt : RETURN( make_extended_tuple_space( the_real_tuples, the_real_tuples ) ); + ef_subtract_rt : RETURN( make_uniform_product_space( the_real_tuples, 2 ) ); + ef_scalar_mult_rt : RETURN( make_listed_product_space( [the_reals, the_real_tuples] ) ); + ef_dot_prod_rt : RETURN( make_uniform_product_space( the_real_tuples, 2 ) ); + ef_norm_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_sum_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_product_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_add_ct : RETURN( make_extended_tuple_space( the_complex_tuples, the_complex_tuples ) ); + ef_subtract_ct : RETURN( make_uniform_product_space( the_complex_tuples, 2 ) ); + ef_scalar_mult_ct : RETURN( make_listed_product_space( [the_complex_numbers, the_complex_tuples] ) ); + ef_dot_prod_ct : RETURN( make_uniform_product_space( the_complex_tuples, 2 ) ); + ef_norm_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_if : RETURN( make_listed_product_space( [the_logicals, the_generics, the_generics] ) ); + ef_ensemble : RETURN( the_tuples ); + ef_member_of : RETURN( make_listed_product_space( [the_generics, the_maths_spaces] ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION derive_elementary_function_range( + ef_val : elementary_function_enumerators + ) : tuple_space; + IF NOT EXISTS( ef_val ) THEN + RETURN( ? ); + END_IF; + CASE ef_val OF + ef_and : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_or : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_not : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_xor : RETURN( make_uniform_product_space( the_logicals, 2 ) ); + ef_negate_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_add_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_subtract_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_multiply_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_divide_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_mod_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_exponentiate_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_eq_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_abs_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_if_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_negate_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_reciprocal_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_add_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_subtract_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_multiply_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_divide_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_mod_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_exponentiate_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_exponentiate_ri : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_eq_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_abs_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_acos_r : RETURN( make_uniform_product_space( the_zero_pi_interval, 1 ) ); + ef_asin_r : RETURN( make_uniform_product_space( the_neghalfpi_halfpi_interval, 1 ) ); + ef_atan2_r : RETURN( make_uniform_product_space( the_negpi_pi_interval, 1 ) ); + ef_cos_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_exp_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_ln_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_log2_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_log10_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_sin_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_sqrt_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_tan_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_if_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_negate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_reciprocal_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_add_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_subtract_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_multiply_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_divide_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exponentiate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exponentiate_ci : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_eq_c : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_c : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_conjugate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_abs_c : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_arg_c : RETURN( make_uniform_product_space( the_negpi_pi_interval, 1 ) ); + ef_cos_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exp_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_ln_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sin_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sqrt_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_tan_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_if_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_subscript_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_eq_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_subsequence_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_concat_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_size_s : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_format : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_value : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_like : RETURN( make_uniform_product_space( the_booleans, 1 ) ); + ef_if_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_subscript_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_eq_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_subsequence_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_concat_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_size_b : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_if_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_subscript_t : RETURN( make_uniform_product_space( the_generics, 1 ) ); + ef_eq_t : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_t : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_concat_t : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_size_t : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_entuple : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_detuple : RETURN( the_tuples ); + ef_insert : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_remove : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_if_t : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_sum_it : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_product_it : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_add_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_subtract_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_scalar_mult_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_dot_prod_it : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_sum_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_product_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_add_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_subtract_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_scalar_mult_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_dot_prod_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_norm_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_sum_ct : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_product_ct : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_add_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_subtract_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_scalar_mult_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_dot_prod_ct : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_norm_ct : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_if : RETURN( make_uniform_product_space( the_generics, 1 ) ); + ef_ensemble : RETURN( make_uniform_product_space( the_maths_spaces, 1 ) ); + ef_member_of : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION derive_finite_function_domain( + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value + ) : tuple_space; + + LOCAL + result : SET OF maths_value := []; + END_LOCAL; + result := result + list_selected_components( pairs, 1 ); + RETURN( one_tuples_of( make_finite_space( result ) ) ); + + END_FUNCTION; + + FUNCTION derive_finite_function_range( + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value + ) : tuple_space; + + LOCAL + result : SET OF maths_value := []; + END_LOCAL; + result := result + list_selected_components( pairs, 2 ); + RETURN( one_tuples_of( make_finite_space( result ) ) ); + + END_FUNCTION; + + FUNCTION derive_function_domain( + func : maths_function + ) : tuple_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( func ); + tspace : tuple_space := make_listed_product_space( [] ); + shape : LIST OF positive_integer; + sidxs : LIST OF INTEGER := [0]; + itvl : finite_integer_interval; + factors : LIST OF finite_integer_interval := []; + is_uniform : BOOLEAN := TRUE; + END_LOCAL; + IF 'FINITE_FUNCTION' IN typenames THEN + RETURN( derive_finite_function_domain( func\finite_function.pairs ) ); + END_IF; + IF 'CONSTANT_FUNCTION' IN typenames THEN + RETURN( domain_from( func\constant_function.source_of_domain ) ); + END_IF; + IF 'SELECTOR_FUNCTION' IN typenames THEN + RETURN( domain_from( func\selector_function.source_of_domain ) ); + END_IF; + IF 'ELEMENTARY_FUNCTION' IN typenames THEN + RETURN( derive_elementary_function_domain( func\elementary_function.func_id ) ); + END_IF; + IF 'RESTRICTION_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( func\restriction_function.operand ) ); + END_IF; + IF 'REPACKAGING_FUNCTION' IN typenames THEN + IF func\repackaging_function.input_repack = ro_nochange THEN + RETURN( func\repackaging_function.operand.domain ); + END_IF; + IF func\repackaging_function.input_repack = ro_wrap_as_tuple THEN + RETURN( factor1( func\repackaging_function.operand.domain ) ); + END_IF; + IF func\repackaging_function.input_repack = ro_unwrap_tuple THEN + RETURN( one_tuples_of( func\repackaging_function.operand.domain ) ); + END_IF; + RETURN( ? ); + END_IF; + IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN + shape := shape_of_array( func\unary_generic_expression.operand ); + sidxs := func\reindexed_array_function.starting_indices; + REPEAT i := 1 TO SIZEOF( shape ) BY 1; + itvl := make_finite_integer_interval( sidxs[i], ( sidxs[i] + shape[i] ) - 1 ); + INSERT( factors, itvl, i - 1 ); + IF shape[i] <> shape[1] THEN + is_uniform := FALSE; + END_IF; + END_REPEAT; + IF is_uniform THEN + RETURN( make_uniform_product_space( factors[1], SIZEOF( shape ) ) ); + END_IF; + RETURN( make_listed_product_space( factors ) ); + END_IF; + IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN + RETURN( func\series_composed_function.operands[1].domain ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN + RETURN( domain_from( func\parallel_composed_function.source_of_domain ) ); + END_IF; + IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN + shape := func\explicit_table_function.shape; + sidxs[1] := func\explicit_table_function.index_base; + REPEAT i := 1 TO SIZEOF( shape ) BY 1; + itvl := make_finite_integer_interval( sidxs[1], ( sidxs[1] + shape[i] ) - 1 ); + INSERT( factors, itvl, i - 1 ); + IF shape[i] <> shape[1] THEN + is_uniform := FALSE; + END_IF; + END_REPEAT; + IF is_uniform THEN + RETURN( make_uniform_product_space( factors[1], SIZEOF( shape ) ) ); + END_IF; + RETURN( make_listed_product_space( factors ) ); + END_IF; + IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\homogeneous_linear_function.mat.range ), func\ + homogeneous_linear_function.mat\explicit_table_function.shape[func\homogeneous_linear_function.sum_index] ) ) ); + END_IF; + IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\general_linear_function.mat.range ), func\ + general_linear_function.mat\explicit_table_function.shape[func\general_linear_function.sum_index] - 1 ) ) ); + END_IF; + IF 'B_SPLINE_BASIS' IN typenames THEN + RETURN( one_tuples_of( make_finite_real_interval( func\b_spline_basis.repeated_knots[func\b_spline_basis.order], closed, + func\b_spline_basis.repeated_knots[func\b_spline_basis.num_basis + 1], closed ) ) ); + END_IF; + IF 'B_SPLINE_FUNCTION' IN typenames THEN + REPEAT i := 1 TO SIZEOF( func\b_spline_function.basis ) BY 1; + tspace := assoc_product_space( tspace, func\b_spline_function.basis[i].domain ); + END_REPEAT; + RETURN( one_tuples_of( tspace ) ); + END_IF; + IF 'RATIONALIZE_FUNCTION' IN typenames THEN + RETURN( func\rationalize_function.fun.domain ); + END_IF; + IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN + RETURN( func\partial_derivative_function.derivand.domain ); + END_IF; + IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN + RETURN( derive_definite_integral_domain( func ) ); + END_IF; + IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN + REPEAT i := 1 TO SIZEOF( func\abstracted_expression_function.variables ) BY 1; + tspace := assoc_product_space( tspace, one_tuples_of( values_space_of( func\abstracted_expression_function.variables[i] ) ) ); + END_REPEAT; + RETURN( tspace ); + END_IF; + IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN + RETURN( values_space_of( func\expression_denoted_function.expr )\function_space.domain_argument ); + END_IF; + IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_listed_product_space( [] ) ) ); + END_IF; + IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN + RETURN( func\imported_curve_function.parametric_domain ); + END_IF; + IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN + RETURN( func\imported_surface_function.parametric_domain ); + END_IF; + IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN + RETURN( func\imported_volume_function.parametric_domain ); + END_IF; + IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN + RETURN( func\application_defined_function.explicit_domain ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION derive_function_range( + func : maths_function + ) : tuple_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( func ); + tspace : tuple_space := make_listed_product_space( [] ); + m : nonnegative_integer := 0; + n : nonnegative_integer := 0; + temp : INTEGER := 0; + END_LOCAL; + IF 'FINITE_FUNCTION' IN typenames THEN + RETURN( derive_finite_function_range( func\finite_function.pairs ) ); + END_IF; + IF 'CONSTANT_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_finite_space( [func\constant_function.sole_output] ) ) ); + END_IF; + IF 'SELECTOR_FUNCTION' IN typenames THEN + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( tspace ) ) THEN + tspace := factor1( tspace ); + END_IF; + RETURN( one_tuples_of( factor_space( tspace, func\selector_function.selector ) ) ); + END_IF; + IF 'ELEMENTARY_FUNCTION' IN typenames THEN + RETURN( derive_elementary_function_range( func\elementary_function.func_id ) ); + END_IF; + IF 'RESTRICTION_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( func\restriction_function.operand ) ); + END_IF; + IF 'REPACKAGING_FUNCTION' IN typenames THEN + tspace := func\repackaging_function.operand.range; + IF func\repackaging_function.output_repack = ro_wrap_as_tuple THEN + tspace := one_tuples_of( tspace ); + END_IF; + IF func\repackaging_function.output_repack = ro_unwrap_tuple THEN + tspace := factor1( tspace ); + END_IF; + IF func\repackaging_function.selected_output > 0 THEN + tspace := one_tuples_of( factor_space( tspace, func\repackaging_function.selected_output ) ); + END_IF; + RETURN( tspace ); + END_IF; + IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN + RETURN( func\unary_generic_expression.operand\maths_function.range ); + END_IF; + IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN + RETURN( func\series_composed_function.operands[SIZEOF( func\series_composed_function.operands )].range ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN + RETURN( func\parallel_composed_function.final_function.range ); + END_IF; + IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN + IF 'LISTED_REAL_DATA' IN typenames THEN + RETURN( one_tuples_of( the_reals ) ); + END_IF; + IF 'LISTED_INTEGER_DATA' IN typenames THEN + RETURN( one_tuples_of( the_integers ) ); + END_IF; + IF 'LISTED_LOGICAL_DATA' IN typenames THEN + RETURN( one_tuples_of( the_logicals ) ); + END_IF; + IF 'LISTED_STRING_DATA' IN typenames THEN + RETURN( one_tuples_of( the_strings ) ); + END_IF; + IF 'LISTED_COMPLEX_NUMBER_DATA' IN typenames THEN + RETURN( one_tuples_of( the_complex_numbers ) ); + END_IF; + IF 'LISTED_DATA' IN typenames THEN + RETURN( one_tuples_of( func\listed_data.value_range ) ); + END_IF; + IF 'EXTERNALLY_LISTED_DATA' IN typenames THEN + RETURN( one_tuples_of( func\externally_listed_data.value_range ) ); + END_IF; + IF 'LINEARIZED_TABLE_FUNCTION' IN typenames THEN + RETURN( func\linearized_table_function.source.range ); + END_IF; + IF 'BASIC_SPARSE_MATRIX' IN typenames THEN + RETURN( func\basic_sparse_matrix.val.range ); + END_IF; + RETURN( ? ); + END_IF; + IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\homogeneous_linear_function.mat.range ), func\ + homogeneous_linear_function.mat\explicit_table_function.shape[3 - func\homogeneous_linear_function.sum_index] ) ) ); + END_IF; + IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\general_linear_function.mat.range ), func\ + general_linear_function.mat\explicit_table_function.shape[3 - func\general_linear_function.sum_index] ) ) ); + END_IF; + IF 'B_SPLINE_BASIS' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( the_reals, func\b_spline_basis.num_basis ) ) ); + END_IF; + IF 'B_SPLINE_FUNCTION' IN typenames THEN + tspace := factor1( func\b_spline_function.coef.domain ); + m := SIZEOF( func\b_spline_function.basis ); + n := space_dimension( tspace ); + IF m = n THEN + RETURN( one_tuples_of( the_reals ) ); + END_IF; + IF m = ( n - 1 ) THEN + RETURN( one_tuples_of( make_uniform_product_space( the_reals, factor_space( tspace, n )\finite_integer_interval.size ) ) ); + END_IF; + tspace := extract_factors( tspace, m + 1, n ); + RETURN( one_tuples_of( make_function_space( sc_equal, tspace, sc_subspace, number_superspace_of( func\b_spline_function. + coef.range ) ) ) ); + END_IF; + IF 'RATIONALIZE_FUNCTION' IN typenames THEN + tspace := factor1( func\rationalize_function.fun.range ); + n := space_dimension( tspace ); + RETURN( one_tuples_of( make_uniform_product_space( number_superspace_of( factor1( tspace ) ), n - 1 ) ) ); + END_IF; + IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN + RETURN( drop_numeric_constraints( func\partial_derivative_function.derivand.range ) ); + END_IF; + IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN + RETURN( drop_numeric_constraints( func\definite_integral_function.integrand.range ) ); + END_IF; + IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( values_space_of( func\abstracted_expression_function.expr ) ) ); + END_IF; + IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN + RETURN( values_space_of( func\expression_denoted_function.expr )\function_space.range_argument ); + END_IF; + IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_point_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_curve_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_surface_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_volume_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN + RETURN( func\application_defined_function.explicit_range ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION dimension_of( + item : geometric_representation_item + ) : dimension_count; + + LOCAL + x : SET OF representation; + y : representation_context; + dim : dimension_count; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( item ) THEN + dim := SIZEOF( item\cartesian_point.coordinates ); + RETURN( dim ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION' IN TYPEOF( item ) THEN + dim := SIZEOF( item\direction.direction_ratios ); + RETURN( dim ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF( item ) THEN + dim := SIZEOF( item\vector.orientation\direction.direction_ratios ); + RETURN( dim ); + END_IF; + x := using_representations( item ); + IF SIZEOF( x ) > 0 THEN + y := x[1].context_of_items; + dim := y\geometric_representation_context.coordinate_space_dimension; + RETURN( dim ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION dimensions_for_si_unit( + n : si_unit_name + ) : dimensional_exponents; + CASE n OF + metre : RETURN( dimensional_exponents( 1, 0, 0, 0, 0, 0, 0 ) ); + gram : RETURN( dimensional_exponents( 0, 1, 0, 0, 0, 0, 0 ) ); + second : RETURN( dimensional_exponents( 0, 0, 1, 0, 0, 0, 0 ) ); + ampere : RETURN( dimensional_exponents( 0, 0, 0, 1, 0, 0, 0 ) ); + kelvin : RETURN( dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) ); + mole : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 1, 0 ) ); + candela : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) ); + radian : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) ); + steradian : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) ); + hertz : RETURN( dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) ); + newton : RETURN( dimensional_exponents( 1, 1, -2, 0, 0, 0, 0 ) ); + pascal : RETURN( dimensional_exponents( -1, 1, -2, 0, 0, 0, 0 ) ); + joule : RETURN( dimensional_exponents( 2, 1, -2, 0, 0, 0, 0 ) ); + watt : RETURN( dimensional_exponents( 2, 1, -3, 0, 0, 0, 0 ) ); + coulomb : RETURN( dimensional_exponents( 0, 0, 1, 1, 0, 0, 0 ) ); + volt : RETURN( dimensional_exponents( 2, 1, -3, -1, 0, 0, 0 ) ); + farad : RETURN( dimensional_exponents( -2, -1, 4, 2, 0, 0, 0 ) ); + ohm : RETURN( dimensional_exponents( 2, 1, -3, -2, 0, 0, 0 ) ); + siemens : RETURN( dimensional_exponents( -2, -1, 3, 2, 0, 0, 0 ) ); + weber : RETURN( dimensional_exponents( 2, 1, -2, -1, 0, 0, 0 ) ); + tesla : RETURN( dimensional_exponents( 0, 1, -2, -1, 0, 0, 0 ) ); + henry : RETURN( dimensional_exponents( 2, 1, -2, -2, 0, 0, 0 ) ); + degree_celsius : RETURN( dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) ); + lumen : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) ); + lux : RETURN( dimensional_exponents( -2, 0, 0, 0, 0, 0, 1 ) ); + becquerel : RETURN( dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) ); + gray : RETURN( dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) ); + sievert : RETURN( dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION domain_from( + ref : maths_space_or_function + ) : tuple_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( ref ); + func : maths_function; + END_LOCAL; + IF NOT EXISTS( ref ) THEN + RETURN( ? ); + END_IF; + IF 'TUPLE_SPACE' IN typenames THEN + RETURN( ref ); + END_IF; + IF 'MATHS_SPACE' IN typenames THEN + RETURN( one_tuples_of( ref ) ); + END_IF; + func := ref; + IF 'CONSTANT_FUNCTION' IN typenames THEN + RETURN( domain_from( func\constant_function.source_of_domain ) ); + END_IF; + IF 'SELECTOR_FUNCTION' IN typenames THEN + RETURN( domain_from( func\selector_function.source_of_domain ) ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN + RETURN( domain_from( func\parallel_composed_function.source_of_domain ) ); + END_IF; + RETURN( func.domain ); + + END_FUNCTION; + + FUNCTION dot_count( + str : STRING + ) : INTEGER; + + LOCAL + n : INTEGER := 0; + END_LOCAL; + REPEAT i := 1 TO LENGTH( str ) BY 1; + IF str[i] = '.' THEN + n := n + 1; + END_IF; + END_REPEAT; + RETURN( n ); + + END_FUNCTION; + + FUNCTION dot_product( + arg1, arg2 : direction + ) : REAL; + + LOCAL + scalar : REAL; + vec1 : direction; + vec2 : direction; + ndim : INTEGER; + END_LOCAL; + IF ( NOT EXISTS( arg1 ) ) OR ( NOT EXISTS( arg2 ) ) THEN + scalar := ?; + ELSE + IF arg1.dim <> arg2.dim THEN + scalar := ?; + ELSE + + BEGIN + vec1 := normalise( arg1 ); + vec2 := normalise( arg2 ); + ndim := arg1.dim; + scalar := 0; + REPEAT i := 1 TO ndim BY 1; + scalar := scalar + ( vec1.direction_ratios[i] * vec2.direction_ratios[i] ); + END_REPEAT; + END; + END_IF; + END_IF; + RETURN( scalar ); + + END_FUNCTION; + + FUNCTION dotted_identifiers_syntax( + str : STRING + ) : BOOLEAN; + + LOCAL + k : positive_integer; + m : positive_integer; + END_LOCAL; + IF NOT EXISTS( str ) THEN + RETURN( FALSE ); + END_IF; + k := parse_express_identifier( str, 1 ); + IF k = 1 THEN + RETURN( FALSE ); + END_IF; + REPEAT WHILE k <= LENGTH( str ); + IF ( str[k] <> '.' ) OR ( k = LENGTH( str ) ) THEN + RETURN( FALSE ); + END_IF; + m := parse_express_identifier( str, k + 1 ); + IF m = ( k + 1 ) THEN + RETURN( FALSE ); + END_IF; + k := m; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION drop_numeric_constraints( + spc : maths_space + ) : maths_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( spc ); + tspc : listed_product_space; + factors : LIST OF maths_space := []; + xspc : extended_tuple_space; + END_LOCAL; + IF 'UNIFORM_PRODUCT_SPACE' IN typenames THEN + RETURN( make_uniform_product_space( drop_numeric_constraints( spc\uniform_product_space.base ), spc\uniform_product_space. + exponent ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN typenames THEN + tspc := spc; + REPEAT i := 1 TO SIZEOF( tspc.factors ) BY 1; + INSERT( factors, drop_numeric_constraints( tspc.factors[i] ), i - 1 ); + END_REPEAT; + RETURN( make_listed_product_space( factors ) ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN typenames THEN + xspc := spc; + RETURN( make_extended_tuple_space( drop_numeric_constraints( xspc.base ), drop_numeric_constraints( xspc.extender ) ) ); + END_IF; + IF subspace_of_es( spc, es_numbers ) THEN + RETURN( number_superspace_of( spc ) ); + END_IF; + RETURN( spc ); + + END_FUNCTION; + + FUNCTION duration_is_negative( + duration : time_measure_with_unit + ) : BOOLEAN; + IF duration\measure_with_unit.value_component < 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION duration_is_positive( + duration : time_measure_with_unit + ) : BOOLEAN; + IF duration\measure_with_unit.value_component > 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION edge_reversed( + an_edge : edge + ) : oriented_edge; + + LOCAL + the_reverse : oriented_edge; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE' IN TYPEOF( an_edge ) THEN + the_reverse := dummy_tri || edge( an_edge.edge_end, an_edge.edge_start ) || oriented_edge( an_edge\oriented_edge. + edge_element, NOT an_edge\oriented_edge.orientation ); + ELSE + the_reverse := dummy_tri || edge( an_edge.edge_end, an_edge.edge_start ) || oriented_edge( an_edge, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION enclose_cregion_in_pregion( + crgn : cartesian_complex_number_region; + centre : complex_number_literal + ) : polar_complex_number_region; + + FUNCTION angle( + a : REAL + ) : REAL; + REPEAT WHILE a > PI; + a := a - ( 2 * PI ); + END_REPEAT; + REPEAT WHILE a <= ( -PI ); + a := a + ( 2 * PI ); + END_REPEAT; + RETURN( a ); + + END_FUNCTION; + + FUNCTION strictly_in( + z : REAL; + zitv : real_interval + ) : LOGICAL; + RETURN( ( ( NOT min_exists( zitv ) ) OR ( z > real_min( zitv ) ) ) AND ( ( NOT max_exists( zitv ) ) OR ( z < real_max( zitv ) ) ) ); + + END_FUNCTION; + + PROCEDURE angle_minmax( + ab, a : REAL; + a_in : BOOLEAN; + VAR amin, amax : REAL; + VAR amin_in, amax_in : BOOLEAN ); + a := angle( a - ab ); + IF amin = a THEN + amin_in := amin_in OR a_in; + END_IF; + IF amin > a THEN + amin := a; + amin_in := a_in; + END_IF; + IF amax = a THEN + amax_in := amax_in OR a_in; + END_IF; + IF amax < a THEN + amax := a; + amax_in := a_in; + END_IF; + + END_PROCEDURE; + + PROCEDURE range_max( + r : REAL; + incl : BOOLEAN; + VAR rmax : REAL; + VAR rmax_in : BOOLEAN ); + IF rmax = r THEN + rmax_in := rmax_in OR incl; + END_IF; + IF rmax < r THEN + rmax := r; + rmax_in := incl; + END_IF; + + END_PROCEDURE; + + PROCEDURE range_min( + r : REAL; + incl : BOOLEAN; + VAR rmin : REAL; + VAR rmin_in : BOOLEAN ); + IF rmin = r THEN + rmin_in := rmin_in OR incl; + END_IF; + IF ( rmin < 0 ) OR ( rmin > r ) THEN + rmin := r; + rmin_in := incl; + END_IF; + + END_PROCEDURE; + + LOCAL + xitv : real_interval; + yitv : real_interval; + is_xmin : BOOLEAN; + is_xmax : BOOLEAN; + is_ymin : BOOLEAN; + is_ymax : BOOLEAN; + xmin : REAL := 0; + xmax : REAL := 0; + ymin : REAL := 0; + ymax : REAL := 0; + xc : REAL := 0; + yc : REAL := 0; + xmin_in : BOOLEAN := FALSE; + xmax_in : BOOLEAN := FALSE; + ymin_in : BOOLEAN := FALSE; + ymax_in : BOOLEAN := FALSE; + rmin : REAL := -1; + rmax : REAL := -1; + amin : REAL := 4; + amax : REAL := -4; + rmax_exists : BOOLEAN := TRUE; + outside : BOOLEAN := TRUE; + rmin_in : BOOLEAN := FALSE; + rmax_in : BOOLEAN := FALSE; + amin_in : BOOLEAN := FALSE; + amax_in : BOOLEAN := FALSE; + ab : REAL := 0; + a : REAL := 0; + r : REAL := 0; + incl : BOOLEAN; + ritv : real_interval; + aitv : finite_real_interval; + minclo : open_closed := open; + maxclo : open_closed := open; + END_LOCAL; + IF ( NOT EXISTS( crgn ) ) OR ( NOT EXISTS( centre ) ) THEN + RETURN( ? ); + END_IF; + xitv := crgn.real_constraint; + yitv := crgn.imag_constraint; + xc := centre.real_part; + yc := centre.imag_part; + is_xmin := min_exists( xitv ); + is_xmax := max_exists( xitv ); + is_ymin := min_exists( yitv ); + is_ymax := max_exists( yitv ); + IF is_xmin THEN + xmin := real_min( xitv ); + xmin_in := min_included( xitv ); + END_IF; + IF is_xmax THEN + xmax := real_max( xitv ); + xmax_in := max_included( xitv ); + END_IF; + IF is_ymin THEN + ymin := real_min( yitv ); + ymin_in := min_included( yitv ); + END_IF; + IF is_ymax THEN + ymax := real_max( yitv ); + ymax_in := max_included( yitv ); + END_IF; + rmax_exists := is_xmin AND is_xmax AND is_ymin AND is_ymax; + IF is_xmin AND ( xc <= xmin ) THEN + ab := 0; + ELSE + IF is_ymin AND ( yc <= ymin ) THEN + ab := 0.5 * PI; + ELSE + IF is_ymax AND ( yc >= ymax ) THEN + ab := ( -0.5 ) * PI; + ELSE + IF is_xmax AND ( xc >= xmax ) THEN + ab := PI; + ELSE + outside := FALSE; + END_IF; + END_IF; + END_IF; + END_IF; + IF ( NOT outside ) AND ( NOT rmax_exists ) THEN + RETURN( ? ); + END_IF; + IF is_xmin AND ( xc <= xmin ) AND strictly_in( yc, yitv ) THEN + rmin := xmin - xc; + rmin_in := xmin_in; + ELSE + IF is_ymin AND ( yc <= ymin ) AND strictly_in( xc, xitv ) THEN + rmin := ymin - yc; + rmin_in := ymin_in; + ELSE + IF is_ymax AND ( yc >= ymax ) AND strictly_in( xc, xitv ) THEN + rmin := yc - ymax; + rmin_in := ymax_in; + ELSE + IF is_xmax AND ( xc >= xmax ) AND strictly_in( yc, yitv ) THEN + rmin := xc - xmax; + rmin_in := xmax_in; + END_IF; + END_IF; + END_IF; + END_IF; + IF is_xmin THEN + IF is_ymin THEN + r := SQRT( ( ( xmin - xc ) ** 2 ) + ( ( ymin - yc ) ** 2 ) ); + incl := xmin_in AND ymin_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymin - yc, xmin - xc ) - ab ); + IF xc = xmin THEN + incl := xmin_in; + END_IF; + IF yc = ymin THEN + incl := ymin_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmin_in AND ymin_in; + amin := angle( 0 - ab ); + amin_in := ymin_in; + amax := angle( ( 0.5 * PI ) - ab ); + amax_in := xmin_in; + END_IF; + END_IF; + ELSE + IF xc <= xmin THEN + angle_minmax( ab, ( -0.5 ) * PI, ( xc = xmin ) AND xmin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_ymax ) AND ( xc <= xmin ) THEN + angle_minmax( ab, 0.5 * PI, ( xc = xmin ) AND xmin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF is_ymin THEN + IF is_xmax THEN + r := SQRT( ( ( xmax - xc ) ** 2 ) + ( ( ymin - yc ) ** 2 ) ); + incl := xmax_in AND ymin_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymin - yc, xmax - xc ) - ab ); + IF xc = xmax THEN + incl := xmax_in; + END_IF; + IF yc = ymin THEN + incl := ymin_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmax_in AND ymin_in; + amin := angle( ( 0.5 * PI ) - ab ); + amin_in := ymin_in; + amax := angle( PI - ab ); + amax_in := xmax_in; + END_IF; + END_IF; + ELSE + IF yc <= ymin THEN + angle_minmax( ab, 0, ( yc = ymin ) AND ymin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_xmin ) AND ( yc <= ymin ) THEN + angle_minmax( ab, PI, ( yc = ymin ) AND ymin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF is_xmax THEN + IF is_ymax THEN + r := SQRT( ( ( xmax - xc ) ** 2 ) + ( ( ymax - yc ) ** 2 ) ); + incl := xmax_in AND ymax_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymax - yc, xmax - xc ) - ab ); + IF xc = xmax THEN + incl := xmax_in; + END_IF; + IF yc = ymax THEN + incl := ymax_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmax_in AND ymax_in; + amin := angle( ( -PI ) - ab ); + amin_in := ymax_in; + amax := angle( ( ( -0.5 ) * PI ) - ab ); + amax_in := xmax_in; + END_IF; + END_IF; + ELSE + IF xc >= xmax THEN + angle_minmax( ab, 0.5 * PI, ( xc = xmax ) AND xmax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_ymin ) AND ( xc >= xmax ) THEN + angle_minmax( ab, ( -0.5 ) * PI, ( xc = xmax ) AND xmax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF is_ymax THEN + IF is_xmin THEN + r := SQRT( ( ( xmin - xc ) ** 2 ) + ( ( ymax - yc ) ** 2 ) ); + incl := xmin_in AND ymax_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymax - yc, xmin - xc ) - ab ); + IF xc = xmin THEN + incl := xmin_in; + END_IF; + IF yc = ymax THEN + incl := ymax_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmin_in AND ymax_in; + amin := angle( ( 0.5 * PI ) - ab ); + amin_in := ymax_in; + amax := angle( PI - ab ); + amax_in := xmin_in; + END_IF; + END_IF; + ELSE + IF yc >= ymax THEN + angle_minmax( ab, PI, ( yc = ymax ) AND ymax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_xmax ) AND ( yc >= ymax ) THEN + angle_minmax( ab, 0, ( yc = ymax ) AND ymax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF outside THEN + amin := angle( amin + ab ); + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( amax + ab ); + IF amax <= amin THEN + amax := amax + ( 2 * PI ); + END_IF; + ELSE + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := FALSE; + END_IF; + IF amin_in THEN + minclo := closed; + END_IF; + IF amax_in THEN + maxclo := closed; + END_IF; + aitv := make_finite_real_interval( amin, minclo, amax, maxclo ); + minclo := open; + IF rmin_in THEN + minclo := closed; + END_IF; + IF rmax_exists THEN + maxclo := open; + IF rmax_in THEN + maxclo := closed; + END_IF; + ritv := make_finite_real_interval( rmin, minclo, rmax, maxclo ); + ELSE + ritv := make_real_interval_from_min( rmin, minclo ); + END_IF; + RETURN( make_polar_complex_number_region( centre, ritv, aitv ) ); + + END_FUNCTION; + + FUNCTION enclose_pregion_in_cregion( + prgn : polar_complex_number_region + ) : cartesian_complex_number_region; + + PROCEDURE nearest_good_direction( + acart : REAL; + aitv : finite_real_interval; + VAR a : REAL; + VAR a_in : BOOLEAN ); + a := acart; + a_in := TRUE; + IF a < aitv.min THEN + IF ( a + ( 2 * PI ) ) < aitv.max THEN + RETURN; + END_IF; + IF ( a + ( 2 * PI ) ) = aitv.max THEN + a_in := max_included( aitv ); + RETURN; + END_IF; + ELSE + IF a = aitv.min THEN + a_in := min_included( aitv ); + RETURN; + ELSE + IF a < aitv.max THEN + RETURN; + ELSE + IF a = aitv.max THEN + a_in := max_included( aitv ); + RETURN; + END_IF; + END_IF; + END_IF; + END_IF; + IF COS( acart - aitv.max ) >= COS( acart - aitv.min ) THEN + a := aitv.max; + a_in := max_included( aitv ); + ELSE + a := aitv.min; + a_in := min_included( aitv ); + END_IF; + + END_PROCEDURE; + + LOCAL + xc : REAL := 0; + yc : REAL := 0; + xmin : REAL := 0; + xmax : REAL := 0; + ymin : REAL := 0; + ymax : REAL := 0; + ritv : real_interval; + xitv : real_interval; + yitv : real_interval; + aitv : finite_real_interval; + xmin_exists : BOOLEAN; + xmax_exists : BOOLEAN; + ymin_exists : BOOLEAN; + ymax_exists : BOOLEAN; + xmin_in : BOOLEAN := FALSE; + xmax_in : BOOLEAN := FALSE; + ymin_in : BOOLEAN := FALSE; + ymax_in : BOOLEAN := FALSE; + a : REAL := 0; + r : REAL := 0; + a_in : BOOLEAN := FALSE; + min_clo : open_closed := open; + max_clo : open_closed := open; + END_LOCAL; + IF NOT EXISTS( prgn ) THEN + RETURN( ? ); + END_IF; + xc := prgn.centre.real_part; + yc := prgn.centre.imag_part; + ritv := prgn.distance_constraint; + aitv := prgn.direction_constraint; + nearest_good_direction( PI, aitv, a, a_in ); + IF COS( a ) >= 0 THEN + xmin_exists := TRUE; + xmin := xc + ( real_min( ritv ) * COS( a ) ); + xmin_in := a_in AND ( min_included( ritv ) OR ( COS( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + xmin_exists := TRUE; + xmin := xc + ( real_max( ritv ) * COS( a ) ); + xmin_in := a_in AND max_included( ritv ); + ELSE + xmin_exists := FALSE; + END_IF; + END_IF; + nearest_good_direction( 0, aitv, a, a_in ); + IF COS( a ) <= 0 THEN + xmax_exists := TRUE; + xmax := xc + ( real_min( ritv ) * COS( a ) ); + xmax_in := a_in AND ( min_included( ritv ) OR ( COS( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + xmax_exists := TRUE; + xmax := xc + ( real_max( ritv ) * COS( a ) ); + xmax_in := a_in AND max_included( ritv ); + ELSE + xmax_exists := FALSE; + END_IF; + END_IF; + nearest_good_direction( ( -0.5 ) * PI, aitv, a, a_in ); + IF SIN( a ) >= 0 THEN + ymin_exists := TRUE; + ymin := yc + ( real_min( ritv ) * SIN( a ) ); + ymin_in := a_in AND ( min_included( ritv ) OR ( SIN( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + ymin_exists := TRUE; + ymin := yc + ( real_max( ritv ) * SIN( a ) ); + ymin_in := a_in AND max_included( ritv ); + ELSE + ymin_exists := FALSE; + END_IF; + END_IF; + nearest_good_direction( 0.5 * PI, aitv, a, a_in ); + IF SIN( a ) <= 0 THEN + ymax_exists := TRUE; + ymax := yc + ( real_min( ritv ) * SIN( a ) ); + ymax_in := a_in AND ( min_included( ritv ) OR ( SIN( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + ymax_exists := TRUE; + ymax := yc + ( real_max( ritv ) * SIN( a ) ); + ymax_in := a_in AND max_included( ritv ); + ELSE + ymax_exists := FALSE; + END_IF; + END_IF; + IF NOT ( xmin_exists OR xmax_exists OR ymin_exists OR ymax_exists ) THEN + RETURN( ? ); + END_IF; + IF xmin_exists THEN + IF xmin_in THEN + min_clo := closed; + ELSE + min_clo := open; + END_IF; + IF xmax_exists THEN + IF xmax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + xitv := make_finite_real_interval( xmin, min_clo, xmax, max_clo ); + ELSE + xitv := make_real_interval_from_min( xmin, min_clo ); + END_IF; + ELSE + IF xmax_exists THEN + IF xmax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + xitv := make_real_interval_to_max( xmax, max_clo ); + ELSE + xitv := the_reals; + END_IF; + END_IF; + IF ymin_exists THEN + IF ymin_in THEN + min_clo := closed; + ELSE + min_clo := open; + END_IF; + IF ymax_exists THEN + IF ymax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + yitv := make_finite_real_interval( ymin, min_clo, ymax, max_clo ); + ELSE + yitv := make_real_interval_from_min( ymin, min_clo ); + END_IF; + ELSE + IF ymax_exists THEN + IF ymax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + yitv := make_real_interval_to_max( ymax, max_clo ); + ELSE + yitv := the_reals; + END_IF; + END_IF; + RETURN( make_cartesian_complex_number_region( xitv, yitv ) ); + + END_FUNCTION; + + FUNCTION enclose_pregion_in_pregion( + prgn : polar_complex_number_region; + centre : complex_number_literal + ) : polar_complex_number_region; + + FUNCTION angle( + a : REAL + ) : REAL; + REPEAT WHILE a > PI; + a := a - ( 2 * PI ); + END_REPEAT; + REPEAT WHILE a <= ( -PI ); + a := a + ( 2 * PI ); + END_REPEAT; + RETURN( a ); + + END_FUNCTION; + + FUNCTION strictly_in( + a : REAL; + aitv : finite_real_interval + ) : LOGICAL; + a := angle( a ); + RETURN( ( ( aitv.min < a ) AND ( a < aitv.max ) ) OR ( ( aitv.min < ( a + ( 2 * PI ) ) ) AND ( ( a + ( 2 * PI ) ) < aitv. + max ) ) ); + + END_FUNCTION; + + PROCEDURE angle_range( + VAR amin, amax : REAL ); + amin := angle( amin ); + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( amax ); + IF amax <= amin THEN + amax := amax + ( 2 * PI ); + END_IF; + + END_PROCEDURE; + + PROCEDURE find_aminmax( + ab, a0, a1, a2, a3 : REAL; + in0, in1, in2, in3 : BOOLEAN; + VAR amin, amax : REAL; + VAR amin_in, amax_in : BOOLEAN ); + + LOCAL + a : REAL; + END_LOCAL; + amin := angle( a0 - ab ); + amin_in := in0; + amax := amin; + amax_in := in0; + a := angle( a1 - ab ); + IF a = amin THEN + amin_in := amin_in OR in1; + END_IF; + IF a < amin THEN + amin := a; + amin_in := in1; + END_IF; + IF a = amax THEN + amax_in := amax_in OR in1; + END_IF; + IF a > amax THEN + amax := a; + amax_in := in1; + END_IF; + a := angle( a2 - ab ); + IF a = amin THEN + amin_in := amin_in OR in2; + END_IF; + IF a < amin THEN + amin := a; + amin_in := in2; + END_IF; + IF a = amax THEN + amax_in := amax_in OR in2; + END_IF; + IF a > amax THEN + amax := a; + amax_in := in2; + END_IF; + a := angle( a3 - ab ); + IF a = amin THEN + amin_in := amin_in OR in3; + END_IF; + IF a < amin THEN + amin := a; + amin_in := in3; + END_IF; + IF a = amax THEN + amax_in := amax_in OR in3; + END_IF; + IF a > amax THEN + amax := a; + amax_in := in3; + END_IF; + amin := amin + ab; + amax := amax + ab; + angle_range( amin, amax ); + + END_PROCEDURE; + + LOCAL + ritp : real_interval; + ritv : real_interval; + aitp : finite_real_interval; + aitv : finite_real_interval; + xp : REAL := 0; + yp : REAL := 0; + xc : REAL := 0; + yc : REAL := 0; + rmax : REAL := 0; + rmin : REAL := 0; + amin : REAL := 0; + amax : REAL := 0; + rc : REAL := 0; + acp : REAL := 0; + apc : REAL := 0; + rmax_in : BOOLEAN := FALSE; + rmin_in : BOOLEAN := FALSE; + amin_in : BOOLEAN := FALSE; + amax_in : BOOLEAN := FALSE; + rmxp : REAL := 0; + rmnp : REAL := 0; + x : REAL := 0; + y : REAL := 0; + r : REAL := 0; + a : REAL := 0; + ab : REAL := 0; + r0 : REAL := 0; + a0 : REAL := 0; + r1 : REAL := 0; + a1 : REAL := 0; + r2 : REAL := 0; + a2 : REAL := 0; + r3 : REAL := 0; + a3 : REAL := 0; + in0 : BOOLEAN := FALSE; + in1 : BOOLEAN := FALSE; + in2 : BOOLEAN := FALSE; + in3 : BOOLEAN := FALSE; + inn : BOOLEAN := FALSE; + minclo : open_closed := open; + maxclo : open_closed := open; + END_LOCAL; + IF ( NOT EXISTS( prgn ) ) OR ( NOT EXISTS( centre ) ) THEN + RETURN( ? ); + END_IF; + xp := prgn.centre.real_part; + yp := prgn.centre.imag_part; + ritp := prgn.distance_constraint; + aitp := prgn.direction_constraint; + xc := centre.real_part; + yc := centre.imag_part; + IF ( xc = xp ) AND ( yc = yp ) THEN + RETURN( prgn ); + END_IF; + rc := SQRT( ( ( xp - xc ) ** 2 ) + ( ( yp - yc ) ** 2 ) ); + acp := atan2( yp - yc, xp - xc ); + apc := atan2( yc - yp, xc - xp ); + rmnp := real_min( ritp ); + IF max_exists( ritp ) THEN + rmxp := real_max( ritp ); + IF ( aitp.max - aitp.min ) = ( 2 * PI ) THEN + inn := NOT max_included( aitp ); + a := angle( aitp.min ); + rmax := rc + rmxp; + rmax_in := max_included( ritp ); + IF inn AND ( acp = a ) THEN + rmax_in := FALSE; + END_IF; + IF rc > rmxp THEN + a0 := ASIN( rmxp / rc ); + amin := angle( acp - a0 ); + amin_in := max_included( ritp ); + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( acp + a0 ); + amax_in := amin_in; + IF amax < amin THEN + amax := amax + ( 2 * PI ); + END_IF; + rmin := rc - rmxp; + rmin_in := amin_in; + IF inn THEN + IF apc = a THEN + rmin_in := FALSE; + END_IF; + IF angle( amin + ( 0.5 * PI ) ) = a THEN + amin_in := FALSE; + END_IF; + IF angle( amax - ( 0.5 * PI ) ) = a THEN + amax_in := FALSE; + END_IF; + END_IF; + ELSE + IF rc = rmxp THEN + amin := angle( acp - ( 0.5 * PI ) ); + amin_in := FALSE; + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( acp + ( 0.5 * PI ) ); + amax_in := FALSE; + IF amax < amin THEN + amax := amax + ( 2 * PI ); + END_IF; + rmin := 0; + rmin_in := max_included( ritp ); + IF inn AND ( apc = a ) THEN + rmin_in := FALSE; + END_IF; + ELSE + IF rc > rmnp THEN + IF inn AND ( apc = a ) THEN + rmin := 0; + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + rmin := 0; + rmin_in := TRUE; + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + END_IF; + ELSE + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + IF inn THEN + IF apc = a THEN + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + IF acp = a THEN + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + ELSE + x := ( xp + ( rmxp * COS( aitp.min ) ) ) - xc; + y := ( yp + ( rmxp * SIN( aitp.min ) ) ) - yc; + r0 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in0 := max_included( ritp ) AND min_included( aitp ); + IF r0 <> 0 THEN + a0 := atan2( y, x ); + END_IF; + x := ( xp + ( rmxp * COS( aitp.max ) ) ) - xc; + y := ( yp + ( rmxp * SIN( aitp.max ) ) ) - yc; + r1 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in1 := max_included( ritp ) AND max_included( aitp ); + IF r1 <> 0 THEN + a1 := atan2( y, x ); + END_IF; + x := ( xp + ( rmnp * COS( aitp.max ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.max ) ) ) - yc; + r2 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in2 := min_included( ritp ) AND max_included( aitp ); + IF r2 <> 0 THEN + a2 := atan2( y, x ); + ELSE + a2 := a1; + in2 := in1; + END_IF; + IF r1 = 0 THEN + a1 := a2; + in1 := in2; + END_IF; + x := ( xp + ( rmnp * COS( aitp.min ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.min ) ) ) - yc; + r3 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in3 := min_included( ritp ) AND min_included( aitp ); + IF r3 <> 0 THEN + a3 := atan2( y, x ); + ELSE + a3 := a0; + in3 := in0; + END_IF; + IF r0 = 0 THEN + a0 := a3; + in0 := in3; + END_IF; + IF rmnp = 0 THEN + in2 := min_included( ritp ); + in3 := in2; + END_IF; + IF ( apc = angle( aitp.min ) ) OR ( acp = angle( aitp.min ) ) THEN + in0 := min_included( aitp ); + in3 := in0; + ELSE + IF ( apc = angle( aitp.max ) ) OR ( acp = angle( aitp.max ) ) THEN + in1 := max_included( aitp ); + in2 := in1; + END_IF; + END_IF; + IF strictly_in( acp, aitp ) THEN + rmax := rc + rmxp; + rmax_in := max_included( ritp ); + ELSE + rmax := r0; + rmax_in := in0; + IF rmax = r1 THEN + rmax_in := rmax_in OR in1; + END_IF; + IF rmax < r1 THEN + rmax := r1; + rmax_in := in1; + END_IF; + IF rmax = r2 THEN + rmax_in := rmax_in OR in2; + END_IF; + IF rmax < r2 THEN + rmax := r2; + rmax_in := in2; + END_IF; + IF rmax = r3 THEN + rmax_in := rmax_in OR in3; + END_IF; + IF rmax < r3 THEN + rmax := r3; + rmax_in := in3; + END_IF; + END_IF; + IF strictly_in( apc, aitp ) THEN + IF rc >= rmxp THEN + rmin := rc - rmxp; + rmin_in := max_included( ritp ); + ELSE + IF rc <= rmnp THEN + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + ELSE + rmin := 0; + rmin_in := TRUE; + END_IF; + END_IF; + ELSE + rmin := r0; + rmin_in := in0; + a := apc - aitp.min; + r := rc * COS( a ); + IF ( rmnp < r ) AND ( r < rmxp ) THEN + rmin := rc * SIN( ABS( a ) ); + rmin_in := min_included( aitp ); + END_IF; + a := apc - aitp.max; + r := rc * COS( a ); + IF ( rmnp < r ) AND ( r < rmxp ) THEN + r := rc * SIN( ABS( a ) ); + inn := max_included( aitp ); + IF r = rmin THEN + rmin_in := rmin_in OR inn; + END_IF; + IF r < rmin THEN + rmin := r; + rmin_in := inn; + END_IF; + END_IF; + IF r1 = rmin THEN + rmin_in := rmin_in OR in1; + END_IF; + IF r1 < rmin THEN + rmin := r1; + rmin_in := in1; + END_IF; + IF r2 = rmin THEN + rmin_in := rmin_in OR in2; + END_IF; + IF r2 < rmin THEN + rmin := r2; + rmin_in := in2; + END_IF; + IF r3 = rmin THEN + rmin_in := rmin_in OR in3; + END_IF; + IF r3 < rmin THEN + rmin := r3; + rmin_in := in3; + END_IF; + END_IF; + IF rc >= rmxp THEN + ab := acp; + find_aminmax( ab, a0, a1, a2, a3, in0, in1, in2, in3, amin, amax, amin_in, amax_in ); + a := ACOS( rmxp / rc ); + IF strictly_in( apc - a, aitp ) THEN + amin := ab - ASIN( rmxp / rc ); + amin_in := max_included( ritp ); + END_IF; + IF strictly_in( apc + a, aitp ) THEN + amax := ab + ASIN( rmxp / rc ); + amax_in := max_included( ritp ); + END_IF; + angle_range( amin, amax ); + ELSE + IF rc > rmnp THEN + ab := angle( 0.5 * ( aitp.min + aitp.max ) ); + find_aminmax( ab, a0, a1, a2, a3, in0, in1, in2, in3, amin, amax, amin_in, amax_in ); + ELSE + ab := angle( 0.5 * ( aitp.min + aitp.max ) ); + a0 := angle( a0 - ab ); + a1 := angle( a1 - ab ); + a2 := angle( a2 - ab ); + a3 := angle( a3 - ab ); + IF a3 > a2 THEN + a2 := a2 + ( 2 * PI ); + END_IF; + IF a0 > a1 THEN + a0 := a0 + ( 2 * PI ); + END_IF; + IF a3 < a0 THEN + amin := a3; + amin_in := in3; + ELSE + amin := a0; + amin_in := in0; + END_IF; + IF a2 > a1 THEN + amax := a2; + amax_in := in2; + ELSE + amax := a1; + amax_in := in1; + END_IF; + IF ( ( amax - amin ) > ( 2 * PI ) ) OR ( ( ( amax - amin ) = ( 2 * PI ) ) AND ( amin_in OR amax_in ) ) THEN + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + ELSE + amin := amin + ab; + amax := amax + ab; + angle_range( amin, amax ); + END_IF; + END_IF; + END_IF; + END_IF; + IF rmin_in THEN + minclo := closed; + END_IF; + IF rmax_in THEN + maxclo := closed; + END_IF; + ritv := make_finite_real_interval( rmin, minclo, rmax, maxclo ); + ELSE + IF ( rc > rmnp ) AND strictly_in( apc, aitp ) THEN + RETURN( ? ); + END_IF; + IF ( aitp.max - aitp.min ) = ( 2 * PI ) THEN + a := angle( aitp.min ); + IF rc > rmnp THEN + IF max_included( aitp ) THEN + RETURN( ? ); + END_IF; + rmin := 0; + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + IF NOT max_included( aitp ) THEN + IF apc = a THEN + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + IF acp = a THEN + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + END_IF; + END_IF; + END_IF; + END_IF; + ELSE + a0 := angle( aitp.min ); + in0 := FALSE; + a1 := angle( aitp.max ); + in1 := FALSE; + x := ( xp + ( rmnp * COS( aitp.max ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.max ) ) ) - yc; + r2 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in2 := min_included( ritp ) AND max_included( aitp ); + IF r2 <> 0 THEN + a2 := atan2( y, x ); + ELSE + a2 := a1; + in2 := in1; + END_IF; + x := ( xp + ( rmnp * COS( aitp.min ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.min ) ) ) - yc; + r3 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in3 := min_included( ritp ) AND min_included( aitp ); + IF r3 <> 0 THEN + a3 := atan2( y, x ); + ELSE + a3 := a0; + in3 := in0; + END_IF; + IF rmnp = 0 THEN + in2 := min_included( ritp ); + in3 := in2; + END_IF; + IF ( apc = angle( aitp.min ) ) OR ( acp = angle( aitp.min ) ) THEN + in0 := min_included( aitp ); + in3 := in0; + ELSE + IF ( apc = angle( aitp.max ) ) OR ( acp = angle( aitp.max ) ) THEN + in1 := max_included( aitp ); + in2 := in1; + END_IF; + END_IF; + IF strictly_in( apc, aitp ) THEN + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + ELSE + rmin := r2; + rmin_in := in2; + a := apc - aitp.min; + r := rc * COS( a ); + IF rmnp < r THEN + rmin := rc * SIN( ABS( a ) ); + rmin_in := min_included( aitp ); + END_IF; + a := apc - aitp.max; + r := rc * COS( a ); + IF rmnp < r THEN + r := rc * SIN( ABS( a ) ); + inn := max_included( aitp ); + IF r = rmin THEN + rmin_in := rmin_in OR inn; + END_IF; + IF r < rmin THEN + rmin := r; + rmin_in := inn; + END_IF; + END_IF; + IF r3 = rmin THEN + rmin_in := rmin_in OR in3; + END_IF; + IF r3 < rmin THEN + rmin := r3; + rmin_in := in3; + END_IF; + END_IF; + ab := angle( 0.5 * ( aitp.min + aitp.max ) ); + IF rc > rmnp THEN + find_aminmax( ab, a0, a1, a2, a3, in0, in1, in2, in3, amin, amax, amin_in, amax_in ); + ELSE + a0 := angle( a0 - ab ); + a1 := angle( a1 - ab ); + a2 := angle( a2 - ab ); + a3 := angle( a3 - ab ); + IF a3 > a2 THEN + a2 := a2 + ( 2 * PI ); + END_IF; + IF a0 > a1 THEN + a0 := a0 + ( 2 * PI ); + END_IF; + IF a3 < a0 THEN + amin := a3; + amin_in := in3; + ELSE + amin := a0; + amin_in := in0; + END_IF; + IF a2 > a1 THEN + amax := a2; + amax_in := in2; + ELSE + amax := a1; + amax_in := in1; + END_IF; + IF ( ( amax - amin ) > ( 2 * PI ) ) OR ( ( ( amax - amin ) = ( 2 * PI ) ) AND ( amin_in OR amax_in ) ) THEN + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + IF ( rmin = 0 ) AND rmin_in THEN + RETURN( ? ); + END_IF; + ELSE + amin := amin + ab; + amax := amax + ab; + angle_range( amin, amax ); + END_IF; + END_IF; + END_IF; + IF rmin_in THEN + minclo := closed; + END_IF; + ritv := make_real_interval_from_min( rmin, minclo ); + END_IF; + minclo := open; + maxclo := open; + IF amin_in THEN + minclo := closed; + END_IF; + IF amax_in THEN + maxclo := closed; + END_IF; + aitv := make_finite_real_interval( amin, minclo, amax, maxclo ); + RETURN( make_polar_complex_number_region( centre, ritv, aitv ) ); + + END_FUNCTION; + + FUNCTION equal_cregion_pregion( + crgn : cartesian_complex_number_region; + prgn : polar_complex_number_region + ) : LOGICAL; + + LOCAL + arng : REAL; + amin : REAL; + xc : REAL; + yc : REAL; + aitv : real_interval; + xitv : real_interval; + yitv : real_interval; + c_in : BOOLEAN; + END_LOCAL; + IF ( NOT EXISTS( crgn ) ) OR ( NOT EXISTS( prgn ) ) THEN + RETURN( FALSE ); + END_IF; + IF max_exists( prgn.distance_constraint ) THEN + RETURN( FALSE ); + END_IF; + IF real_min( prgn.distance_constraint ) <> 0 THEN + RETURN( FALSE ); + END_IF; + c_in := min_included( prgn.distance_constraint ); + aitv := prgn.direction_constraint; + amin := aitv.min; + arng := aitv.max - amin; + xc := prgn.centre.real_part; + yc := prgn.centre.imag_part; + xitv := crgn.real_constraint; + yitv := crgn.imag_constraint; + IF arng = ( 0.5 * PI ) THEN + IF amin = 0 THEN + RETURN( ( NOT max_exists( xitv ) ) AND ( NOT max_exists( yitv ) ) AND min_exists( xitv ) AND min_exists( yitv ) AND ( + real_min( xitv ) = xc ) AND ( real_min( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND min_included( xitv ) AND min_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND min_included( xitv ) AND ( NOT min_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND min_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND ( NOT + min_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( 0.5 * PI ) THEN + RETURN( max_exists( xitv ) AND ( NOT max_exists( yitv ) ) AND ( NOT min_exists( xitv ) ) AND min_exists( yitv ) AND ( + real_max( xitv ) = xc ) AND ( real_min( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND max_included( xitv ) AND min_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND max_included( xitv ) AND ( NOT min_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND min_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND ( NOT + min_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( -PI ) THEN + RETURN( max_exists( xitv ) AND max_exists( yitv ) AND ( NOT min_exists( xitv ) ) AND ( NOT min_exists( yitv ) ) AND ( + real_max( xitv ) = xc ) AND ( real_max( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND max_included( xitv ) AND max_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND max_included( xitv ) AND ( NOT max_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND max_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND ( NOT + max_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( ( -0.5 ) * PI ) THEN + RETURN( ( NOT max_exists( xitv ) ) AND max_exists( yitv ) AND min_exists( xitv ) AND ( NOT min_exists( yitv ) ) AND ( + real_min( xitv ) = xc ) AND ( real_max( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND min_included( xitv ) AND max_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND min_included( xitv ) AND ( NOT max_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND max_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND ( NOT + max_included( yitv ) ) ) ) ); + END_IF; + END_IF; + IF arng = PI THEN + IF amin = 0 THEN + RETURN( ( NOT max_exists( xitv ) ) AND ( NOT max_exists( yitv ) ) AND ( NOT min_exists( xitv ) ) AND min_exists( yitv ) + AND ( real_min( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND min_included( yitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( 0.5 * PI ) THEN + RETURN( max_exists( xitv ) AND ( NOT max_exists( yitv ) ) AND ( NOT min_exists( xitv ) ) AND ( NOT min_exists( yitv ) ) + AND ( real_max( xitv ) = xc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND max_included( xitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) ) ) ); + END_IF; + IF amin = ( -PI ) THEN + RETURN( ( NOT max_exists( xitv ) ) AND max_exists( yitv ) AND ( NOT min_exists( xitv ) ) AND ( NOT min_exists( yitv ) ) + AND ( real_max( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND max_included( yitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( ( -0.5 ) * PI ) THEN + RETURN( ( NOT max_exists( xitv ) ) AND ( NOT max_exists( yitv ) ) AND min_exists( xitv ) AND ( NOT min_exists( yitv ) ) + AND ( real_min( xitv ) = xc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND min_included( xitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) ) ) ); + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION equal_maths_functions( + fun1, fun2 : maths_function + ) : LOGICAL; + + LOCAL + cum : LOGICAL; + END_LOCAL; + IF fun1 = fun2 THEN + RETURN( TRUE ); + END_IF; + cum := equal_maths_spaces( fun1.domain, fun2.domain ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + cum := cum AND equal_maths_spaces( fun1.range, fun2.range ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION equal_maths_spaces( + spc1, spc2 : maths_space + ) : LOGICAL; + + LOCAL + spc1types : SET OF STRING := stripped_typeof( spc1 ); + spc2types : SET OF STRING := stripped_typeof( spc2 ); + set1 : SET OF maths_value; + set2 : SET OF maths_value; + cum : LOGICAL := TRUE; + base : maths_space; + expnt : INTEGER; + factors : LIST OF maths_space; + factors2 : LIST OF maths_space; + fs1 : function_space; + fs2 : function_space; + cum2 : LOGICAL; + END_LOCAL; + IF spc1 = spc2 THEN + RETURN( TRUE ); + END_IF; + IF 'FINITE_SPACE' IN spc1types THEN + set1 := spc1\finite_space.members; + IF 'FINITE_SPACE' IN spc2types THEN + set2 := spc2\finite_space.members; + REPEAT i := 1 TO SIZEOF( set1 ) BY 1; + cum := cum AND member_of( set1[i], spc2 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + IF cum = TRUE THEN + REPEAT i := 1 TO SIZEOF( set2 ) BY 1; + cum := cum AND member_of( set2[i], spc1 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + RETURN( cum ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN spc2types THEN + set2 := []; + REPEAT i := spc2\finite_integer_interval.min TO spc2\finite_integer_interval.max BY 1; + set2 := set2 + [i]; + END_REPEAT; + RETURN( equal_maths_spaces( spc1, make_finite_space( set2 ) ) ); + END_IF; + END_IF; + IF ( 'FINITE_INTEGER_INTERVAL' IN spc1types ) AND ( 'FINITE_SPACE' IN spc2types ) THEN + set1 := []; + REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max BY 1; + set1 := set1 + [i]; + END_REPEAT; + RETURN( equal_maths_spaces( make_finite_space( set1 ), spc2 ) ); + END_IF; + IF ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN spc1types ) AND ( 'POLAR_COMPLEX_NUMBER_REGION' IN spc2types ) THEN + RETURN( equal_cregion_pregion( spc1, spc2 ) ); + END_IF; + IF ( 'POLAR_COMPLEX_NUMBER_REGION' IN spc1types ) AND ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN spc2types ) THEN + RETURN( equal_cregion_pregion( spc2, spc1 ) ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN spc1types THEN + base := spc1\uniform_product_space.base; + expnt := spc1\uniform_product_space.exponent; + IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN + IF expnt <> spc2\uniform_product_space.exponent THEN + RETURN( FALSE ); + END_IF; + RETURN( equal_maths_spaces( base, spc2\uniform_product_space.base ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN + factors := spc2\listed_product_space.factors; + IF expnt <> SIZEOF( factors ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND equal_maths_spaces( base, factors[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN spc1types THEN + factors := spc1\listed_product_space.factors; + IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN + IF spc2\uniform_product_space.exponent <> SIZEOF( factors ) THEN + RETURN( FALSE ); + END_IF; + base := spc2\uniform_product_space.base; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND equal_maths_spaces( base, factors[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN + factors2 := spc2\listed_product_space.factors; + IF SIZEOF( factors ) <> SIZEOF( factors2 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND equal_maths_spaces( factors[i], factors2[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + IF ( 'EXTENDED_TUPLE_SPACE' IN spc1types ) AND ( 'EXTENDED_TUPLE_SPACE' IN spc2types ) THEN + RETURN( equal_maths_spaces( spc1\extended_tuple_space.extender, spc2\extended_tuple_space.extender ) AND + equal_maths_spaces( spc1\extended_tuple_space.base, spc2\extended_tuple_space.base ) ); + END_IF; + IF ( 'FUNCTION_SPACE' IN spc1types ) AND ( 'FUNCTION_SPACE' IN spc2types ) THEN + fs1 := spc1; + fs2 := spc2; + IF fs1.domain_constraint <> fs2.domain_constraint THEN + IF ( fs1.domain_constraint = sc_equal ) OR ( fs2.domain_constraint = sc_equal ) THEN + RETURN( FALSE ); + END_IF; + IF fs1.domain_constraint <> sc_subspace THEN + fs1 := spc2; + fs2 := spc1; + END_IF; + IF ( fs1.domain_constraint <> sc_subspace ) OR ( fs2.domain_constraint <> sc_member ) THEN + RETURN( UNKNOWN ); + END_IF; + IF any_space_satisfies( fs1.domain_constraint, fs1.domain_argument ) <> any_space_satisfies( fs2.domain_constraint, fs2. + domain_argument ) THEN + RETURN( FALSE ); + END_IF; + IF NOT ( 'FINITE_SPACE' IN stripped_typeof( fs2.domain_argument ) ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( [ 'FINITE_SPACE', 'FINITE_INTEGER_INTERVAL'] * stripped_typeof( fs1.domain_argument ) ) = 0 THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + cum := equal_maths_spaces( fs1.domain_argument, fs2.domain_argument ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + IF fs1.range_constraint <> fs2.range_constraint THEN + IF ( fs1.range_constraint = sc_equal ) OR ( fs2.range_constraint = sc_equal ) THEN + RETURN( FALSE ); + END_IF; + IF fs1.range_constraint <> sc_subspace THEN + fs1 := spc2; + fs2 := spc1; + END_IF; + IF ( fs1.range_constraint <> sc_subspace ) OR ( fs2.range_constraint <> sc_member ) THEN + RETURN( UNKNOWN ); + END_IF; + IF any_space_satisfies( fs1.range_constraint, fs1.range_argument ) <> any_space_satisfies( fs2.range_constraint, fs2. + range_argument ) THEN + RETURN( FALSE ); + END_IF; + IF NOT ( 'FINITE_SPACE' IN stripped_typeof( fs2.range_argument ) ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( [ 'FINITE_SPACE', 'FINITE_INTEGER_INTERVAL'] * stripped_typeof( fs1.range_argument ) ) = 0 THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + cum := cum AND equal_maths_spaces( fs1.range_argument, fs2.range_argument ); + RETURN( cum ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION equal_maths_values( + val1, val2 : maths_value + ) : LOGICAL; + + FUNCTION mem_of_vs( + val1, val2 : maths_value + ) : LOGICAL; + IF NOT has_values_space( val2 ) THEN + RETURN( UNKNOWN ); + END_IF; + IF NOT member_of( val1, values_space_of( val2 ) ) THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + LOCAL + types1 : SET OF STRING; + types2 : SET OF STRING; + list1 : LIST OF maths_value; + list2 : LIST OF maths_value; + cum : LOGICAL := TRUE; + END_LOCAL; + IF ( NOT EXISTS( val1 ) ) OR ( NOT EXISTS( val2 ) ) THEN + RETURN( FALSE ); + END_IF; + IF val1 = val2 THEN + RETURN( TRUE ); + END_IF; + types1 := stripped_typeof( val1 ); + types2 := stripped_typeof( val2 ); + IF ( 'MATHS_ATOM' IN types1 ) OR ( 'COMPLEX_NUMBER_LITERAL' IN types1 ) THEN + IF 'MATHS_ATOM' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'COMPLEX_NUMBER_LITERAL' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'LIST' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'MATHS_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF ( 'MATHS_ATOM' IN types2 ) OR ( 'COMPLEX_NUMBER_LITERAL' IN types2 ) THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF 'LIST' IN types1 THEN + IF 'LIST' IN types2 THEN + list1 := val1; + list2 := val2; + IF SIZEOF( list1 ) <> SIZEOF( list2 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( list1 ) BY 1; + cum := cum AND equal_maths_values( list1[i], list2[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'MATHS_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'LIST' IN types2 THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF 'MATHS_SPACE' IN types1 THEN + IF 'MATHS_SPACE' IN types2 THEN + RETURN( equal_maths_spaces( val1, val2 ) ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'MATHS_SPACE' IN types2 THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF 'MATHS_FUNCTION' IN types1 THEN + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( equal_maths_functions( val1, val2 ) ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF ( 'GENERIC_EXPRESSION' IN types1 ) AND ( 'GENERIC_EXPRESSION' IN types2 ) THEN + IF ( NOT has_values_space( val1 ) ) OR ( NOT has_values_space( val2 ) ) THEN + RETURN( UNKNOWN ); + END_IF; + IF NOT compatible_spaces( values_space_of( val1 ), values_space_of( val2 ) ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION es_subspace_of_es( + es1, es2 : elementary_space_enumerators + ) : BOOLEAN; + IF ( NOT EXISTS( es1 ) ) OR ( NOT EXISTS( es2 ) ) THEN + RETURN( FALSE ); + END_IF; + IF es1 = es2 THEN + RETURN( TRUE ); + END_IF; + IF es2 = es_generics THEN + RETURN( TRUE ); + END_IF; + IF ( es1 = es_booleans ) AND ( es2 = es_logicals ) THEN + RETURN( TRUE ); + END_IF; + IF ( es2 = es_numbers ) AND ( ( es1 = es_complex_numbers ) OR ( es1 = es_reals ) OR ( es1 = es_integers ) ) THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION expression_is_constant( + expr : generic_expression + ) : BOOLEAN; + RETURN( bool( SIZEOF( free_variables_of( expr ) ) = 0 ) ); + + END_FUNCTION; + + FUNCTION external_version_assignment_is_valid( + aia : applied_external_identification_assignment + ) : BOOLEAN; + + LOCAL + item : external_identification_item; + role : identification_role; + END_LOCAL; + role := aia.role; + IF role.name = 'version' THEN + REPEAT i := LOINDEX( aia\applied_external_identification_assignment.items ) TO HIINDEX( aia\ + applied_external_identification_assignment.items ) BY 1; + item := aia\applied_external_identification_assignment.items[i]; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTERNALLY_DEFINED_GENERAL_PROPERTY'] * TYPEOF( item ) ) + = 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + ELSE + RETURN( TRUE ); + END_IF; + + END_FUNCTION; + + FUNCTION extract_factors( + tspace : tuple_space; + m, n : INTEGER + ) : tuple_space; + + LOCAL + tsp : tuple_space := the_zero_tuple_space; + END_LOCAL; + REPEAT i := m TO n BY 1; + tsp := assoc_product_space( tsp, factor_space( tspace, i ) ); + END_REPEAT; + RETURN( tsp ); + + END_FUNCTION; + + FUNCTION extremal_position_check( + fun : linearized_table_function + ) : BOOLEAN; + + LOCAL + source_domain : maths_space; + source_interval : finite_integer_interval; + index : INTEGER := 1; + base : INTEGER; + shape : LIST OF positive_integer; + ndim : positive_integer; + slo : INTEGER; + shi : INTEGER; + sublo : LIST OF INTEGER := []; + subhi : LIST OF INTEGER := []; + END_LOCAL; + IF NOT EXISTS( fun ) THEN + RETURN( FALSE ); + END_IF; + source_domain := factor1( fun.source.domain ); + IF ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( source_domain ) THEN + source_domain := factor1( source_domain ); + END_IF; + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( source_domain ) ) THEN + RETURN( FALSE ); + END_IF; + source_interval := source_domain; + base := fun\explicit_table_function.index_base; + shape := fun\explicit_table_function.shape; + IF ( schema_prefix + 'STANDARD_TABLE_FUNCTION' ) IN TYPEOF( fun ) THEN + REPEAT j := 1 TO SIZEOF( shape ) BY 1; + index := index * shape[j]; + END_REPEAT; + index := ( fun.first + index ) - 1; + RETURN( bool( ( source_interval.min <= index ) AND ( index <= source_interval.max ) ) ); + END_IF; + IF ( schema_prefix + 'REGULAR_TABLE_FUNCTION' ) IN TYPEOF( fun ) THEN + ndim := SIZEOF( fun\explicit_table_function.shape ); + REPEAT j := 1 TO ndim BY 1; + slo := base; + shi := ( base + shape[j] ) - 1; + IF fun\regular_table_function.increments[j] >= 0 THEN + INSERT( sublo, slo, j - 1 ); + INSERT( subhi, shi, j - 1 ); + ELSE + INSERT( sublo, shi, j - 1 ); + INSERT( subhi, slo, j - 1 ); + END_IF; + END_REPEAT; + index := regular_indexing( sublo, base, shape, fun\regular_table_function.increments, fun.first ); + IF NOT ( ( source_interval.min <= index ) AND ( index <= source_interval.max ) ) THEN + RETURN( FALSE ); + END_IF; + index := regular_indexing( subhi, base, shape, fun\regular_table_function.increments, fun.first ); + IF NOT ( ( source_interval.min <= index ) AND ( index <= source_interval.max ) ) THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION face_bound_reversed( + a_face_bound : face_bound + ) : face_bound; + + LOCAL + the_reverse : face_bound; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF( a_face_bound ) THEN + the_reverse := dummy_tri || face_bound( a_face_bound\face_bound.bound, NOT a_face_bound\face_bound.orientation ) || + face_outer_bound( ); + ELSE + the_reverse := dummy_tri || face_bound( a_face_bound.bound, NOT a_face_bound.orientation ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION face_reversed( + a_face : face + ) : oriented_face; + + LOCAL + the_reverse : oriented_face; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF( a_face ) THEN + the_reverse := dummy_tri || face( set_of_topology_reversed( a_face.bounds ) ) || oriented_face( a_face\oriented_face. + face_element, NOT a_face\oriented_face.orientation ); + ELSE + the_reverse := dummy_tri || face( set_of_topology_reversed( a_face.bounds ) ) || oriented_face( a_face, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION factor1( + tspace : tuple_space + ) : maths_space; + + LOCAL + typenames : SET OF STRING := TYPEOF( tspace ); + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN typenames THEN + RETURN( tspace\uniform_product_space.base ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN typenames THEN + RETURN( tspace\listed_product_space.factors[1] ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN typenames THEN + RETURN( factor1( tspace\extended_tuple_space.base ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION factor_space( + tspace : tuple_space; + idx : positive_integer + ) : maths_space; + + LOCAL + typenames : SET OF STRING := TYPEOF( tspace ); + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN typenames THEN + IF idx <= tspace\uniform_product_space.exponent THEN + RETURN( tspace\uniform_product_space.base ); + END_IF; + RETURN( ? ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN typenames THEN + IF idx <= SIZEOF( tspace\listed_product_space.factors ) THEN + RETURN( tspace\listed_product_space.factors[idx] ); + END_IF; + RETURN( ? ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN typenames THEN + IF idx <= space_dimension( tspace\extended_tuple_space.base ) THEN + RETURN( factor_space( tspace\extended_tuple_space.base, idx ) ); + END_IF; + RETURN( tspace\extended_tuple_space.extender ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION find_assembly_root( + constituent : SET OF product_definition + ) : SET OF product_definition; + + LOCAL + local_relation : SET OF assembly_component_usage := []; + local_relation2 : BAG OF assembly_component_usage := []; + local_parent : SET OF product_definition := []; + root : SET OF product_definition; + i : INTEGER := 0; + j : INTEGER := 0; + END_LOCAL; + IF ( SIZEOF( constituent ) = 1 ) AND assembly_root( constituent[1] ) THEN + RETURN( [constituent[1]] ); + ELSE + IF SIZEOF( constituent ) = 0 THEN + RETURN( [] ); + ELSE + REPEAT j := 1 TO HIINDEX( constituent ) BY 1; + local_relation2 := local_relation2 + QUERY ( pdr <* USEDIN( constituent[j], + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) + | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN TYPEOF( pdr ) ) ); + END_REPEAT; + local_relation := bag_to_set( local_relation2 ); + IF SIZEOF( local_relation ) = 0 THEN + IF SIZEOF( constituent ) = 1 THEN + RETURN( [constituent[1]] ); + ELSE + RETURN( [] ); + END_IF; + ELSE + REPEAT i := 1 TO HIINDEX( local_relation ) BY 1; + REPEAT j := 1 TO HIINDEX( constituent ) BY 1; + IF local_relation[i].relating_product_definition <> constituent[j] THEN + local_parent := local_parent + local_relation[i].relating_product_definition; + END_IF; + END_REPEAT; + END_REPEAT; + IF ( SIZEOF( local_parent ) = 1 ) AND assembly_root( local_parent[1] ) THEN + RETURN( [local_parent[1]] ); + ELSE + IF SIZEOF( local_parent ) = 0 THEN + RETURN( [] ); + ELSE + root := find_assembly_root( local_parent ); + IF SIZEOF( root ) = 1 THEN + RETURN( root ); + ELSE + IF SIZEOF( root ) = 0 THEN + RETURN( [] ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( [] ); + + END_FUNCTION; + + FUNCTION find_representative_shape_representation_of_product_definition( + item : product_definition + ) : shape_representation; + + LOCAL + local_s_r : SET OF shape_representation := []; + END_LOCAL; + local_s_r := QUERY ( z <* find_shape_representation_of_product_definition( item ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( z ) ) ); + IF SIZEOF( local_s_r ) = 1 THEN + RETURN( local_s_r[1] ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION find_representative_shape_representation_of_shape_aspect( + item : shape_aspect + ) : shape_representation; + + LOCAL + local_s_r : SET OF shape_representation := []; + END_LOCAL; + local_s_r := QUERY ( z <* find_shape_representation_of_shape_aspect( item ) | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( z ) ) ); + IF SIZEOF( local_s_r ) = 1 THEN + RETURN( local_s_r[1] ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION find_shape_representation_of_product_definition( + item : product_definition + ) : SET OF shape_representation; + + LOCAL + local_p_d_s : SET OF product_definition_shape := []; + local_p_d_s2 : BAG OF product_definition_shape := []; + local_s_d_r : SET OF shape_definition_representation := []; + local_s_d_r2 : BAG OF shape_definition_representation := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + END_LOCAL; + local_p_d_s2 := local_p_d_s2 + QUERY ( pd <* USEDIN( item, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' + IN TYPEOF( pd ) ) ); + local_p_d_s := bag_to_set( local_p_d_s2 ); + REPEAT i := 1 TO HIINDEX( local_p_d_s ) BY 1; + local_s_d_r2 := local_s_d_r2 + QUERY ( pdr <* USEDIN( local_p_d_s[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + END_REPEAT; + local_s_d_r := bag_to_set( local_s_d_r2 ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF( local_s_d_r[i].used_representation ) + THEN + local_s_r := local_s_r + local_s_d_r[i].used_representation; + END_IF; + END_REPEAT; + RETURN( local_s_r ); + + END_FUNCTION; + + FUNCTION find_shape_representation_of_shape_aspect( + item : shape_aspect + ) : SET OF shape_representation; + + LOCAL + local_p_d : SET OF property_definition := []; + local_s_d_r : SET OF shape_definition_representation := []; + local_s_d_r2 : BAG OF shape_definition_representation := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + END_LOCAL; + local_p_d := bag_to_set( USEDIN( item, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) ); + REPEAT i := 1 TO HIINDEX( local_p_d ) BY 1; + local_s_d_r2 := local_s_d_r2 + QUERY ( pdr <* USEDIN( local_p_d[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + END_REPEAT; + local_s_d_r := bag_to_set( local_s_d_r2 ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF( local_s_d_r[i].used_representation ) + THEN + local_s_r := local_s_r + local_s_d_r[i].used_representation; + END_IF; + END_REPEAT; + RETURN( local_s_r ); + + END_FUNCTION; + + FUNCTION first_proj_axis( + z_axis, arg : direction + ) : direction; + + LOCAL + x_axis : direction; + v : direction; + z : direction; + x_vec : vector; + END_LOCAL; + IF NOT EXISTS( z_axis ) THEN + RETURN( ? ); + ELSE + z := normalise( z_axis ); + IF NOT EXISTS( arg ) THEN + IF ( z.direction_ratios <> [1, 0, 0] ) AND ( z.direction_ratios <> [-1, 0, 0] ) THEN + v := dummy_gri || direction( [1, 0, 0] ); + ELSE + v := dummy_gri || direction( [0, 1, 0] ); + END_IF; + ELSE + IF arg.dim <> 3 THEN + RETURN( ? ); + END_IF; + IF cross_product( arg, z ).magnitude = 0 THEN + RETURN( ? ); + ELSE + v := normalise( arg ); + END_IF; + END_IF; + x_vec := scalar_times_vector( dot_product( v, z ), z ); + x_axis := vector_difference( v, x_vec ).orientation; + x_axis := normalise( x_axis ); + END_IF; + RETURN( x_axis ); + + END_FUNCTION; + + FUNCTION free_variables_of( + expr : generic_expression + ) : SET OF generic_variable; + + LOCAL + typenames : SET OF STRING := stripped_typeof( expr ); + result : SET OF generic_variable := []; + exprs : LIST OF generic_expression := []; + END_LOCAL; + IF 'GENERIC_LITERAL' IN typenames THEN + RETURN( result ); + END_IF; + IF 'GENERIC_VARIABLE' IN typenames THEN + result := result + expr; + RETURN( result ); + END_IF; + IF 'QUANTIFIER_EXPRESSION' IN typenames THEN + exprs := QUERY ( ge <* expr\multiple_arity_generic_expression.operands | ( NOT ( ge IN expr\quantifier_expression.variables ) ) ); + REPEAT i := 1 TO SIZEOF( exprs ) BY 1; + result := result + free_variables_of( exprs[i] ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( expr\quantifier_expression.variables ) BY 1; + result := result - expr\quantifier_expression.variables[i]; + END_REPEAT; + RETURN( result ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN typenames THEN + RETURN( free_variables_of( expr\unary_generic_expression.operand ) ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN typenames THEN + result := free_variables_of( expr\binary_generic_expression.operands[1] ); + RETURN( result + free_variables_of( expr\binary_generic_expression.operands[2] ) ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN typenames THEN + REPEAT i := 1 TO SIZEOF( expr\multiple_arity_generic_expression.operands ) BY 1; + result := result + free_variables_of( expr\multiple_arity_generic_expression.operands[i] ); + END_REPEAT; + RETURN( result ); + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION function_applicability( + func : maths_function_select; + arguments : LIST [1 : ?] OF maths_value + ) : BOOLEAN; + + LOCAL + domain : tuple_space := convert_to_maths_function( func ).domain; + domain_types : SET OF STRING := TYPEOF( domain ); + narg : positive_integer := SIZEOF( arguments ); + arg : generic_expression; + END_LOCAL; + IF ( schema_prefix + 'PRODUCT_SPACE' ) IN domain_types THEN + IF space_dimension( domain ) <> narg THEN + RETURN( FALSE ); + END_IF; + ELSE + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN domain_types THEN + IF space_dimension( domain ) > narg THEN + RETURN( FALSE ); + END_IF; + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + REPEAT i := 1 TO narg BY 1; + arg := convert_to_operand( arguments[i] ); + IF NOT has_values_space( arg ) THEN + RETURN( FALSE ); + END_IF; + IF NOT compatible_spaces( factor_space( domain, i ), values_space_of( arg ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION function_is_1d_array( + func : maths_function + ) : BOOLEAN; + + LOCAL + temp : maths_space; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + IF space_dimension( func.domain ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( func.domain ); + IF ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( temp ) THEN + IF space_dimension( temp ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( temp ); + END_IF; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION function_is_1d_table( + func : maths_function + ) : BOOLEAN; + + LOCAL + temp : maths_space; + itvl : finite_integer_interval; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + IF space_dimension( func.domain ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( func.domain ); + IF ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( temp ) THEN + IF space_dimension( temp ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( temp ); + END_IF; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) THEN + itvl := temp; + RETURN( bool( ( itvl.min = 0 ) OR ( itvl.min = 1 ) ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION function_is_2d_table( + func : maths_function + ) : BOOLEAN; + + LOCAL + temp : maths_space; + pspace : product_space; + itvl1 : finite_integer_interval; + itvl2 : finite_integer_interval; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + IF space_dimension( func.domain ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( func.domain ); + IF NOT ( 'PRODUCT_SPACE' IN stripped_typeof( temp ) ) THEN + RETURN( FALSE ); + END_IF; + pspace := temp; + IF space_dimension( pspace ) <> 2 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( pspace ); + IF NOT ( 'FINITE_INTEGER_INTERVAL' IN stripped_typeof( temp ) ) THEN + RETURN( FALSE ); + END_IF; + itvl1 := temp; + temp := factor_space( pspace, 2 ); + IF NOT ( 'FINITE_INTEGER_INTERVAL' IN stripped_typeof( temp ) ) THEN + RETURN( FALSE ); + END_IF; + itvl2 := temp; + RETURN( bool( ( itvl1.min = itvl2.min ) AND ( ( itvl1.min = 0 ) OR ( itvl1.min = 1 ) ) ) ); + + END_FUNCTION; + + FUNCTION function_is_array( + func : maths_function + ) : BOOLEAN; + + LOCAL + tspace : tuple_space; + temp : maths_space; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( tspace ) ) ) THEN + tspace := factor1( tspace ); + END_IF; + IF NOT ( ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( tspace ) ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO space_dimension( tspace ) BY 1; + temp := factor_space( tspace, i ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION function_is_table( + func : maths_function + ) : BOOLEAN; + + LOCAL + tspace : tuple_space; + temp : maths_space; + base : INTEGER; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( tspace ) ) ) THEN + tspace := factor1( tspace ); + END_IF; + IF NOT ( ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( tspace ) ) THEN + RETURN( FALSE ); + END_IF; + temp := factor1( tspace ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + base := temp\finite_integer_interval.min; + IF ( base <> 0 ) AND ( base <> 1 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 2 TO space_dimension( tspace ) BY 1; + temp := factor_space( tspace, i ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + IF temp\finite_integer_interval.min <> base THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION gbsf_check_curve( + cv : representation_item + ) : BOOLEAN; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE_REPLICA' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' ] * TYPEOF( cv ) ) > 1 THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ELLIPSE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE'] * TYPEOF( cv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( cv ) ) AND ( cv\b_spline_curve. + self_intersect = FALSE ) ) OR ( cv\b_spline_curve.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( cv ) ) AND ( cv\composite_curve. + self_intersect = FALSE ) ) OR ( cv\composite_curve.self_intersect = UNKNOWN ) THEN + RETURN( SIZEOF( QUERY ( seg <* cv\composite_curve.segments | ( NOT gbsf_check_curve( seg.parent_curve ) ) ) ) = 0 ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( cv ) THEN + RETURN( gbsf_check_curve( cv\curve_replica.parent_curve ) ); + ELSE + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( cv ) ) AND ( ( cv\ + offset_curve_3d.self_intersect = FALSE ) OR ( cv\offset_curve_3d.self_intersect = UNKNOWN ) ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv\offset_curve_3d.basis_curve ) ) ) + THEN + RETURN( gbsf_check_curve( cv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv ) THEN + RETURN( gbsf_check_curve( cv\pcurve.reference_to_curve\representation.items[1] ) AND gbsf_check_surface( cv\ + pcurve.basis_surface ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv ) THEN + IF SIZEOF( cv\polyline.points ) >= 3 THEN + RETURN( TRUE ); + END_IF; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( cv ) THEN + IF gbsf_check_curve( cv\surface_curve.curve_3d ) THEN + REPEAT i := 1 TO SIZEOF( cv\surface_curve.associated_geometry ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT gbsf_check_surface( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT gbsf_check_curve( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION gbsf_check_point( + pnt : point + ) : BOOLEAN; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( pnt ) THEN + RETURN( TRUE ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' IN TYPEOF( pnt ) THEN + RETURN( gbsf_check_curve( pnt\point_on_curve.basis_curve ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' IN TYPEOF( pnt ) THEN + RETURN( gbsf_check_surface( pnt\point_on_surface.basis_surface ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE' IN TYPEOF( pnt ) THEN + RETURN( gbsf_check_curve( pnt\degenerate_pcurve.reference_to_curve\representation.items[1] ) AND gbsf_check_surface( + pnt\degenerate_pcurve.basis_surface ) ); + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION gbsf_check_surface( + sf : surface + ) : BOOLEAN; + IF ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( sf ) ) AND ( sf\b_spline_surface. + self_intersect = FALSE ) ) OR ( sf\b_spline_surface.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPHERICAL_SURFACE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TOROIDAL_SURFACE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_TRIMMED_SURFACE' ] * TYPEOF( sf ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF( sf ) ) AND ( sf\offset_surface. + self_intersect = FALSE ) ) OR ( sf\offset_surface.self_intersect = UNKNOWN ) THEN + RETURN( gbsf_check_surface( sf\offset_surface.basis_surface ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_COMPOSITE_SURFACE' IN TYPEOF( sf ) THEN + REPEAT i := 1 TO SIZEOF( sf\rectangular_composite_surface.segments ) BY 1; + REPEAT j := 1 TO SIZEOF( sf\rectangular_composite_surface.segments[i] ) BY 1; + IF NOT gbsf_check_surface( sf\rectangular_composite_surface.segments[i][j].parent_surface ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF( sf ) THEN + RETURN( gbsf_check_surface( sf\surface_replica.parent_surface ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF( sf ) THEN + RETURN( gbsf_check_curve( sf\swept_surface.swept_curve ) ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION get_associated_mandatory_document_ids( + pdc : product_definition_context + ) : SET OF STRING; + + LOCAL + result : SET OF STRING := []; + adrs_raw : SET OF applied_document_reference := bag_to_set( USEDIN( pdc, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS' ) ); + adrs_filtered : SET OF applied_document_reference := []; + ras : SET OF role_association; + dpas : SET OF document_product_association; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( adrs_raw ) BY 1; + IF adrs_raw[i]\document_reference.role\object_role.name = 'mandatory' THEN + adrs_filtered := adrs_filtered + adrs_raw[i]; + END_IF; + END_REPEAT; + REPEAT i := 1 TO HIINDEX( adrs_filtered ) BY 1; + dpas := bag_to_set( USEDIN( adrs_filtered[i]\document_reference.assigned_document, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DOCUMENT_PRODUCT_ASSOCIATION.RELATING_DOCUMENT' ) ); + REPEAT j := 1 TO HIINDEX( dpas ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DOCUMENT_PRODUCT_EQUIVALENCE' IN TYPEOF( dpas[j] ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF( dpas[j]\ + document_product_association.related_product ) THEN + result := result + dpas[j]\document_product_association.related_product\product_definition_formation.of_product\ + product.id; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT' IN TYPEOF( dpas[j].related_product ) THEN + result := result + dpas[j]\document_product_association.related_product\product.id; + END_IF; + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_basis_surface( + c : curve_on_surface + ) : SET [0 : 2] OF surface; + + LOCAL + surfs : SET [0 : 2] OF surface; + n : INTEGER; + END_LOCAL; + surfs := []; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( c ) THEN + surfs := [c\pcurve.basis_surface]; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( c ) THEN + n := SIZEOF( c\surface_curve.associated_geometry ); + REPEAT i := 1 TO n BY 1; + surfs := surfs + associated_surface( c\surface_curve.associated_geometry[i] ); + END_REPEAT; + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF( c ) THEN + n := SIZEOF( c\composite_curve.segments ); + surfs := get_basis_surface( c\composite_curve.segments[1].parent_curve ); + IF n > 1 THEN + REPEAT i := 2 TO n BY 1; + surfs := surfs * get_basis_surface( c\composite_curve.segments[i].parent_curve ); + END_REPEAT; + END_IF; + END_IF; + RETURN( surfs ); + + END_FUNCTION; + + FUNCTION get_description_value( + obj : description_attribute_select + ) : text; + + LOCAL + description_bag : BAG OF description_attribute := USEDIN( obj, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DESCRIPTION_ATTRIBUTE.' + 'DESCRIBED_ITEM' ); + END_LOCAL; + IF SIZEOF( description_bag ) = 1 THEN + RETURN( description_bag[1].attribute_value ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_directed_link( + nodes : LIST OF representation; + undirected_link : LIST OF chained_representation_link + ) : LIST OF representation_relationship; + + LOCAL + directed_link : LIST OF representation_relationship := []; + END_LOCAL; + IF ( SIZEOF( nodes ) <> ( SIZEOF( undirected_link ) + 1 ) ) OR ( VALUE_UNIQUE( nodes ) = FALSE ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( undirected_link ) BY 1; + CASE TRUE OF + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_CONTEXT' IN TYPEOF( undirected_link[i] ) : + BEGIN + IF ( nodes[i]\representation.context_of_items :=: undirected_link[i] ) AND ( nodes[i + 1]\representation. + context_of_items :=: undirected_link[i] ) THEN + INSERT( directed_link, representation_relationship( '', '', nodes[i + 1], nodes[i] ), i - 1 ); + ELSE + RETURN( ? ); + END_IF; + END; + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF( undirected_link[i] ) : + BEGIN + IF ( ( nodes[i] :=: undirected_link[i]\representation_relationship.rep_1 ) AND ( nodes[i + 1] :=: undirected_link[i]\ + representation_relationship.rep_2 ) ) OR ( ( nodes[i] :=: undirected_link[i]\representation_relationship.rep_2 ) + AND ( nodes[i + 1] :=: undirected_link[i]\representation_relationship.rep_1 ) ) THEN + INSERT( directed_link, representation_relationship( '', '', nodes[i + 1], nodes[i] ), i - 1 ); + ELSE + RETURN( ? ); + END_IF; + END; + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( undirected_link[i] ) : + BEGIN + IF ( nodes[i] IN using_representations( undirected_link[i] ) ) AND ( nodes[i + 1] :=: undirected_link[i]\mapped_item. + mapping_source\representation_map.mapped_representation ) THEN + INSERT( directed_link, representation_relationship( '', '', nodes[i + 1], nodes[i] ), i - 1 ); + ELSE + RETURN( ? ); + END_IF; + END; + OTHERWISE : RETURN( ? ); + END_CASE; + END_REPEAT; + IF VALUE_UNIQUE( directed_link ) = FALSE THEN + RETURN( ? ); + END_IF; + RETURN( directed_link ); + + END_FUNCTION; + + FUNCTION get_id_value( + obj : id_attribute_select + ) : identifier; + + LOCAL + id_bag : BAG OF id_attribute := USEDIN( obj, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ); + END_LOCAL; + IF SIZEOF( id_bag ) = 1 THEN + RETURN( id_bag[1].attribute_value ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_kinematic_joints_from_kinematic_loops( + kls : SET OF kinematic_loop + ) : SET OF kinematic_joint; + + LOCAL + result : SET OF oriented_joint := []; + END_LOCAL; + IF SIZEOF( kls ) > 0 THEN + REPEAT i := 1 TO HIINDEX( kls ) BY 1; + result := result + kls[i].edge_list; + END_REPEAT; + END_IF; + RETURN( get_kinematic_joints_from_oriented_joints( result ) ); + + END_FUNCTION; + + FUNCTION get_kinematic_joints_from_oriented_joints( + ors : SET OF oriented_joint + ) : SET OF kinematic_joint; + + LOCAL + result : SET OF kinematic_joint := []; + END_LOCAL; + IF SIZEOF( ors ) > 0 THEN + REPEAT i := 1 TO HIINDEX( ors ) BY 1; + result := result + ors[i].edge_element; + END_REPEAT; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_name_value( + obj : name_attribute_select + ) : label; + + LOCAL + name_bag : BAG OF name_attribute := USEDIN( obj, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ); + END_LOCAL; + IF SIZEOF( name_bag ) = 1 THEN + RETURN( name_bag[1].attribute_value ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_plane_of_implicit_geometry( + ps : positioned_sketch + ) : plane; + + LOCAL + sb : sketch_basis_select := ps.sketch_basis; + result : plane := ?; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF( sb ) THEN + result := sb\face_surface.face_geometry; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF( sb ) THEN + result := sb\curve_bounded_surface.basis_surface; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_CURVE_SELECT' IN TYPEOF( sb ) THEN + + BEGIN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' IN TYPEOF( sb ) THEN + result := dummy_gri || surface( ) || elementary_surface( sb\conic.position ) || plane( ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF( sb ) THEN + + BEGIN + result := get_plane_of_implicit_geometry( dummy_gri || positioned_sketch( sb\trimmed_curve.basis_curve, [] ) ); + END; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( sb ) THEN + result := sb\pcurve.basis_surface; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( sb ) THEN + + BEGIN + IF ( SIZEOF( sb\surface_curve.basis_surface ) = 1 ) AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PLANE' IN TYPEOF( sb\surface_curve.basis_surface[1] ) ) THEN + result := sb\surface_curve.basis_surface[1]; + ELSE + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( sb\surface_curve.basis_surface[1] ) ) + AND ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( sb\surface_curve.basis_surface[2] ) ) + THEN + result := ?; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF( sb\surface_curve.basis_surface[1] ) + THEN + result := sb\surface_curve.basis_surface[1]; + ELSE + result := sb\surface_curve.basis_surface[2]; + END_IF; + END_IF; + END_IF; + END; + END_IF; + END; + END_IF; + END_IF; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_property_definition_representations( + c_def_instance : characterized_definition + ) : SET OF property_definition_representation; + + LOCAL + pd_set : SET OF property_definition := []; + pdr_set : SET OF property_definition_representation := []; + END_LOCAL; + pd_set := bag_to_set( USEDIN( c_def_instance, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) ); + IF SIZEOF( pd_set ) < 1 THEN + RETURN( pdr_set ); + END_IF; + REPEAT i := 1 TO HIINDEX( pd_set ) BY 1; + pdr_set := pdr_set + bag_to_set( USEDIN( pd_set[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ); + END_REPEAT; + RETURN( pdr_set ); + + END_FUNCTION; + + FUNCTION get_relative_direction_2points( + cp1, cp2 : cartesian_point + ) : direction; + + LOCAL + d1 : REAL; + d2 : REAL; + d3 : REAL; + magnitude : REAL; + result : direction := ?; + END_LOCAL; + IF ( cp1.dim <> 3 ) OR ( cp2.dim <> 3 ) THEN + RETURN( result ); + ELSE + + BEGIN + d1 := cp2.coordinates[1] - cp1.coordinates[1]; + d2 := cp2.coordinates[2] - cp1.coordinates[2]; + d3 := cp2.coordinates[3] - cp1.coordinates[3]; + magnitude := SQRT( ( d1 * d1 ) + ( d2 * d2 ) + ( d3 * d3 ) ); + IF magnitude = 0 THEN + RETURN( result ); + END_IF; + result := dummy_gri || direction( [d1, d2, d3] ); + END; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_role( + obj : role_select + ) : object_role; + + LOCAL + role_bag : BAG OF role_association := USEDIN( obj, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ROLE_ASSOCIATION.' + 'ITEM_WITH_ROLE' ); + END_LOCAL; + IF SIZEOF( role_bag ) = 1 THEN + RETURN( role_bag[1].role ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_shape_aspect_property_definition_representations( + s_a_instance : shape_aspect + ) : SET OF property_definition_representation; + + LOCAL + pd_set : SET OF property_definition := []; + pdr_set : SET OF property_definition_representation := []; + END_LOCAL; + pd_set := bag_to_set( USEDIN( s_a_instance, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) ); + IF SIZEOF( pd_set ) < 1 THEN + RETURN( pdr_set ); + END_IF; + REPEAT i := 1 TO HIINDEX( pd_set ) BY 1; + pdr_set := pdr_set + QUERY ( pdr <* USEDIN( pd_set[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + END_REPEAT; + RETURN( pdr_set ); + + END_FUNCTION; + + FUNCTION get_shape_aspects( + c_def_instance : characterized_definition + ) : SET OF shape_aspect; + + LOCAL + pd_set : SET OF product_definition_shape := []; + pdr_set : SET OF shape_aspect := []; + END_LOCAL; + pd_set := bag_to_set( QUERY ( pd <* USEDIN( c_def_instance, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' + IN TYPEOF( pd ) ) ) ); + IF SIZEOF( pd_set ) < 1 THEN + RETURN( pdr_set ); + END_IF; + REPEAT i := 1 TO HIINDEX( pd_set ) BY 1; + pdr_set := pdr_set + bag_to_set( USEDIN( pd_set[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) ); + END_REPEAT; + RETURN( pdr_set ); + + END_FUNCTION; + + FUNCTION has_values_space( + expr : generic_expression + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := stripped_typeof( expr ); + END_LOCAL; + IF 'EXPRESSION' IN typenames THEN + RETURN( bool( ( 'NUMERIC_EXPRESSION' IN typenames ) OR ( 'STRING_EXPRESSION' IN typenames ) OR ( 'BOOLEAN_EXPRESSION' IN + typenames ) ) ); + END_IF; + IF 'MATHS_FUNCTION' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'FUNCTION_APPLICATION' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_SPACE' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_VARIABLE' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'DEPENDENT_VARIABLE_DEFINITION' IN typenames THEN + RETURN( has_values_space( expr\unary_generic_expression.operand ) ); + END_IF; + IF 'COMPLEX_NUMBER_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'LOGICAL_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'BINARY_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_ENUM_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'REAL_TUPLE_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'INTEGER_TUPLE_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'ATOM_BASED_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_TUPLE_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'PARTIAL_DERIVATIVE_EXPRESSION' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'DEFINITE_INTEGRAL_EXPRESSION' IN typenames THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION inspected_product_definition( + dqir : data_quality_inspection_result_representation + ) : BAG OF product_definition; + + LOCAL + dqdr : BAG OF data_quality_definition_representation_relationship := []; + pdqdr : BAG OF product_data_and_data_quality_relationship := []; + pd : BAG OF product_definition := []; + END_LOCAL; + dqdr := USEDIN( dqir, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_DEFINITION_REPRESENTATION_RELATIONSHIP.' + 'USED_REPRESENTATION' ); + REPEAT i := 1 TO SIZEOF( dqdr ) BY 1; + pdqdr := USEDIN( dqdr[i].definition, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DATA_AND_DATA_QUALITY_RELATIONSHIP.' + 'DATA_QUALITY' ); + REPEAT j := 1 TO SIZEOF( pdqdr ) BY 1; + pd := pd + pdqdr[j].product_data; + END_REPEAT; + END_REPEAT; + RETURN( pd ); + + END_FUNCTION; + + FUNCTION invalidate_vrep_item( + item : variational_representation_item + ) : BOOLEAN; + + LOCAL + reps : SET [1 : ?] OF representation := using_representations( item ); + svri : SET [1 : ?] OF variational_representation_item; + iar : instance_attribute_reference; + i : INTEGER; + n : INTEGER := HIINDEX( reps ); + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN TYPEOF( item ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INSTANCE_ATTRIBUTE_REFERENCE' IN TYPEOF( item\generic_variable. + interpretation\environment.semantics ) THEN + + BEGIN + iar := item\generic_variable.interpretation\environment.semantics; + IF reps <> using_representations( iar\instance_attribute_reference.owning_instance ) THEN + RETURN( TRUE ); + END_IF; + END; + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN TYPEOF( item ) THEN + + BEGIN + REPEAT i := 1 TO n BY 1; + svri := QUERY ( q <* reps[i]\representation.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'FREE_FORM_CONSTRAINT' IN TYPEOF( q ) ) ); + IF SIZEOF( QUERY ( r <* svri | ( item IN ( r\free_form_constraint.reference_elements + r\free_form_constraint. + constrained_elements ) ) ) ) = 0 THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' IN TYPEOF( item ) THEN + REPEAT i := 1 TO SIZEOF( item\fixed_instance_attribute_set.fixed_attributes ) BY 1; + IF reps <> using_representations( item\fixed_instance_attribute_set.fixed_attributes[i]\instance_attribute_reference. + owning_instance ) THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXPLICIT_CONSTRAINT' IN TYPEOF( item ) THEN + IF SIZEOF( QUERY ( q <* ( item\explicit_constraint.reference_elements + item\explicit_constraint.constrained_elements ) | + ( reps <> using_representations( q ) ) ) ) > 0 THEN + RETURN( TRUE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AUXILIARY_GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( item ) THEN + + BEGIN + REPEAT i := 1 TO n BY 1; + svri := QUERY ( q <* reps[i]\representation.items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EXPLICIT_GEOMETRIC_CONSTRAINT' IN TYPEOF( q ) ) ); + IF SIZEOF( QUERY ( r <* svri | ( item IN r\explicit_geometric_constraint.reference_elements ) ) ) = 0 THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION is_acyclic( + arg : generic_expression + ) : BOOLEAN; + RETURN( acyclic( arg, [] ) ); + + END_FUNCTION; + + FUNCTION is_coordinate_property( + arg : specified_general_property + ) : BOOLEAN; +(* this line + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTERNALLY_DEFINED_ITEM' IN TYPEOF( arg ) THEN + is replaced by the following two lines as patch for BZ#5019 *) + IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTERNALLY_DEFINED_ITEM' IN + TYPEOF(arg\specified_general_property.name_specifier) ) THEN + RETURN( TRUE ); + END_IF; +(* this line + RETURN( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COORDINATE_DATA_NAME' IN TYPEOF( arg ) ); + is replaced by the following section as patch for BZ#5019 and BZ#5054 + RETURN ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COORDINATE_DATA_NAME' IN + TYPEOF(arg\specified_general_property.name_specifier)); *) + IF (arg\specified_general_property.name_specifier = PROPERTY_3D_DATA_NAME.POSITION) + OR + ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COORDINATE_DATA_NAME' IN + TYPEOF(arg\specified_general_property.name_specifier)) THEN + RETURN ( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END_FUNCTION; + + FUNCTION is_int_expr( + arg : numeric_expression + ) : BOOLEAN; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INT_LITERAL' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REAL_LITERAL' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ABS_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( is_int_expr( arg\unary_numeric_expression.operand ) ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINUS_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( is_int_expr( arg\unary_numeric_expression.operand ) ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACOS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ATAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXP_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG2_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG10_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_ROOT_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MULT_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAXIMUM_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINIMUM_FUNCTION' IN TYPEOF( arg ) ) THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_numeric_expression.operands ) BY 1; + IF NOT is_int_expr( arg\multiple_arity_numeric_expression.operands[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POWER_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( is_int_expr( arg\binary_numeric_expression.operands[1] ) AND is_int_expr( arg\binary_numeric_expression.operands[2] ) ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIV_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MOD_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLASH_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_FUNCTION' IN TYPEOF( arg ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INT_VALUE_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INTEGER_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REAL_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION is_sql_mappable( + arg : expression + ) : BOOLEAN; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIMPLE_NUMERIC_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQL_MAPPABLE_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINUS_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\unary_numeric_expression.operand ) ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ABS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACOS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ATAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXP_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG2_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG10_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_ROOT_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MULT_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAXIMUM_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINIMUM_FUNCTION' IN TYPEOF( arg ) ) THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_numeric_expression.operands ) BY 1; + IF NOT is_sql_mappable( arg\multiple_arity_numeric_expression.operands[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLASH_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( is_sql_mappable( arg\binary_numeric_expression.operands[1] ) AND is_sql_mappable( arg\binary_numeric_expression. + operands[2] ) ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIV_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MOD_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POWER_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIMPLE_BOOLEAN_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NOT_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\unary_generic_expression.operand ) ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ODD_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.XOR_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AND_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OR_EXPRESSION' IN TYPEOF( arg ) ) THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_boolean_expression.operands ) BY 1; + IF NOT is_sql_mappable( arg\multiple_arity_boolean_expression.operands[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EQUALS_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\binary_generic_expression.operands[1] ) AND is_sql_mappable( arg\binary_generic_expression. + operands[2] ) ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_GREATER' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_GREATER_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_LESS' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_LESS_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_NOT_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LIKE_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( is_sql_mappable( arg\comparison_expression.operands[1] ) AND is_sql_mappable( arg\comparison_expression.operands[2] ) ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INTERVAL_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\interval_expression.interval_low ) AND is_sql_mappable( arg\interval_expression.interval_high ) + AND is_sql_mappable( arg\interval_expression.interval_item ) ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_DEFINED_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_DEFINED_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_DEFINED_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIMPLE_STRING_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INDEX_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBSTRING_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONCAT_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FORMAT_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION item_in_context( + item : representation_item; + cntxt : representation_context + ) : BOOLEAN; + + LOCAL + y : BAG OF representation_item; + END_LOCAL; + IF SIZEOF( USEDIN( item, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS' ) * cntxt. + representations_in_context ) > 0 THEN + RETURN( TRUE ); + ELSE + y := QUERY ( z <* USEDIN( item, '' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN + TYPEOF( z ) ) ); + IF SIZEOF( y ) > 0 THEN + REPEAT i := 1 TO HIINDEX( y ) BY 1; + IF item_in_context( y[i], cntxt ) THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION leap_year( + year : year_number + ) : BOOLEAN; + IF ( ( ( year MOD 4 ) = 0 ) AND ( ( year MOD 100 ) <> 0 ) ) OR ( ( year MOD 400 ) = 0 ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION list_face_loops( + f : face + ) : LIST [0 : ?] OF loop; + + LOCAL + loops : LIST [0 : ?] OF loop := []; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( f.bounds ) BY 1; + loops := loops + f.bounds[i].bound; + END_REPEAT; + RETURN( loops ); + + END_FUNCTION; + + FUNCTION list_of_topology_reversed( + a_list : list_of_reversible_topology_item + ) : list_of_reversible_topology_item; + + LOCAL + the_reverse : list_of_reversible_topology_item; + END_LOCAL; + the_reverse := []; + REPEAT i := 1 TO SIZEOF( a_list ) BY 1; + the_reverse := topology_reversed( a_list[i] ) + the_reverse; + END_REPEAT; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION list_selected_components( + aggr : AGGREGATE OF LIST OF maths_value; + k : positive_integer + ) : LIST OF maths_value; + + LOCAL + result : LIST OF maths_value := []; + j : INTEGER := 0; + END_LOCAL; + REPEAT i := LOINDEX( aggr ) TO HIINDEX( aggr ) BY 1; + IF k <= SIZEOF( aggr[i] ) THEN + INSERT( result, aggr[i][k], j ); + j := j + 1; + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION list_to_array( + lis : LIST [0 : ?] OF GENERIC:t; + low : INTEGER; + u : INTEGER + ) : ARRAY [low : u] OF GENERIC:t; + + LOCAL + n : INTEGER; + res : ARRAY [low : u] OF GENERIC:t; + END_LOCAL; + n := SIZEOF( lis ); + IF n <> ( ( u - low ) + 1 ) THEN + RETURN( ? ); + ELSE + res := [lis[1] : 0]; + REPEAT i := 2 TO n BY 1; + res[( low + i ) - 1] := lis[i]; + END_REPEAT; + RETURN( res ); + END_IF; + + END_FUNCTION; + + FUNCTION list_to_set( + l : LIST [0 : ?] OF GENERIC:t + ) : SET OF GENERIC:t; + + LOCAL + s : SET OF GENERIC:t := []; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( l ) BY 1; + s := s + l[i]; + END_REPEAT; + RETURN( s ); + + END_FUNCTION; + + FUNCTION make_array_of_array( + lis : LIST [1 : ?] OF LIST [1 : ?] OF GENERIC:t; + low1 : INTEGER; + u1 : INTEGER; + low2 : INTEGER; + u2 : INTEGER + ) : ARRAY [low1 : u1] OF ARRAY [low2 : u2] OF GENERIC:t; + + LOCAL + res : ARRAY [low1 : u1] OF ARRAY [low2 : u2] OF GENERIC:t; + END_LOCAL; + IF ( ( u1 - low1 ) + 1 ) <> SIZEOF( lis ) THEN + RETURN( ? ); + END_IF; + IF ( ( u2 - low2 ) + 1 ) <> SIZEOF( lis[1] ) THEN + RETURN( ? ); + END_IF; + res := [list_to_array( lis[1], low2, u2 ) : 0]; + REPEAT i := 2 TO HIINDEX( lis ) BY 1; + IF ( ( u2 - low2 ) + 1 ) <> SIZEOF( lis[i] ) THEN + RETURN( ? ); + END_IF; + res[( low1 + i ) - 1] := list_to_array( lis[i], low2, u2 ); + END_REPEAT; + RETURN( res ); + + END_FUNCTION; + + FUNCTION make_atom_based_literal( + lit_value : atom_based_value + ) : atom_based_literal; + RETURN( atom_based_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_binary_literal( + lit_value : BINARY + ) : binary_literal; + RETURN( binary_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_boolean_literal( + lit_value : BOOLEAN + ) : boolean_literal; + RETURN( boolean_literal( lit_value ) || simple_boolean_expression( ) || boolean_expression( ) || expression( ) || + generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_cartesian_complex_number_region( + real_constraint, imag_constraint : real_interval + ) : cartesian_complex_number_region; + RETURN( cartesian_complex_number_region( real_constraint, imag_constraint ) || maths_space( ) || generic_expression( ) || + generic_literal( ) || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_complex_number_literal( + rpart, ipart : REAL + ) : complex_number_literal; + RETURN( complex_number_literal( rpart, ipart ) || generic_literal( ) || simple_generic_expression( ) || + generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_elementary_function( + func_id : elementary_function_enumerators + ) : elementary_function; + RETURN( elementary_function( func_id ) || maths_function( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_elementary_space( + space_id : elementary_space_enumerators + ) : elementary_space; + RETURN( elementary_space( space_id ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_extended_tuple_space( +(* next line replaced by the line thereafter as patch for BZ#5052 + base : product_space; *) + base : tuple_space; + extender : maths_space + ) : extended_tuple_space; + RETURN( extended_tuple_space( base, extender ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_finite_integer_interval( + min : INTEGER; + max : INTEGER + ) : finite_integer_interval; + RETURN( finite_integer_interval( min, max ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_finite_real_interval( + min : REAL; + minclo : open_closed; + max : REAL; + maxclo : open_closed + ) : finite_real_interval; + RETURN( finite_real_interval( min, minclo, max, maxclo ) || maths_space( ) || generic_expression( ) || generic_literal( ) + || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_finite_space( + members : SET OF maths_value + ) : finite_space; + RETURN( finite_space( members ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_function_application( + afunction : maths_function_select; + arguments : LIST [1 : ?] OF maths_value + ) : function_application; + RETURN( function_application( afunction, arguments ) || multiple_arity_generic_expression( convert_to_maths_function( + afunction ) + convert_to_operands( arguments ) ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_function_space( + domain_constraint : space_constraint_type; + domain_argument : maths_space; + range_constraint : space_constraint_type; + range_argument : maths_space + ) : function_space; + RETURN( function_space( domain_constraint, domain_argument, range_constraint, range_argument ) || maths_space( ) || + generic_expression( ) || generic_literal( ) || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_int_literal( + lit_value : INTEGER + ) : int_literal; + RETURN( int_literal( ) || literal_number( lit_value ) || simple_numeric_expression( ) || numeric_expression( ) || + expression( ) || generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_listed_product_space( + factors : LIST OF maths_space + ) : listed_product_space; + RETURN( listed_product_space( factors ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_logical_literal( + lit_value : LOGICAL + ) : logical_literal; + RETURN( logical_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_maths_enum_literal( + lit_value : maths_enum_atom + ) : maths_enum_literal; + RETURN( maths_enum_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_maths_tuple_literal( + lit_value : LIST OF maths_value + ) : maths_tuple_literal; + RETURN( maths_tuple_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_numeric_set( + start, delta : maths_number; + incs : positive_integer + ) : SET [2 : ?] OF maths_number; + + LOCAL + i : INTEGER; + numeric_set : SET [2 : ?] OF maths_number := [start, start + delta]; + END_LOCAL; + IF incs > 1 THEN + REPEAT i := 2 TO incs BY 1; + numeric_set := numeric_set + start + ( i * delta ); + END_REPEAT; + END_IF; + RETURN( numeric_set ); + + END_FUNCTION; + + FUNCTION make_parallel_composed_function( + srcdom : maths_space_or_function; + prepfuncs : LIST [2 : ?] OF maths_function; + finfunc : maths_function_select + ) : parallel_composed_function; + RETURN( parallel_composed_function( srcdom, prepfuncs, finfunc ) || maths_function( ) || generic_expression( ) || + multiple_arity_generic_expression( convert_to_operands_prcmfn( srcdom, prepfuncs, finfunc ) ) ); + + END_FUNCTION; + + FUNCTION make_polar_complex_number_region( + centre : complex_number_literal; + dis_constraint : real_interval; + dir_constraint : finite_real_interval + ) : polar_complex_number_region; + RETURN( polar_complex_number_region( centre, dis_constraint, dir_constraint ) || maths_space( ) || generic_expression( ) || + generic_literal( ) || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_real_interval_from_min( + min : REAL; + minclo : open_closed + ) : real_interval_from_min; + RETURN( real_interval_from_min( min, minclo ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_real_interval_to_max( + max : REAL; + maxclo : open_closed + ) : real_interval_to_max; + RETURN( real_interval_to_max( max, maxclo ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_real_literal( + lit_value : REAL + ) : real_literal; + RETURN( real_literal( ) || literal_number( lit_value ) || simple_numeric_expression( ) || numeric_expression( ) || + expression( ) || generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_string_literal( + lit_value : STRING + ) : string_literal; + RETURN( string_literal( lit_value ) || simple_string_expression( ) || string_expression( ) || expression( ) || + generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_uniform_product_space( + base : maths_space; + exponent : positive_integer + ) : uniform_product_space; + RETURN( uniform_product_space( base, exponent ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION max_exists( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + RETURN( bool( ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_TO_MAX' ) + IN types ) OR ( ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'REAL_INTERVAL_TO_MAX' ) IN + types ) ) ); + + END_FUNCTION; + + FUNCTION max_included( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_TO_MAX' ) IN types ) + THEN + RETURN( TRUE ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( bool( spc\finite_real_interval.max_closure = closed ) ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_TO_MAX' ) IN types THEN + RETURN( bool( spc\real_interval_to_max.max_closure = closed ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION member_of( + val : GENERIC:g; + spc : maths_space + ) : LOGICAL; + + FUNCTION fedex( + val : AGGREGATE OF GENERIC:x; + i : INTEGER + ) : GENERIC:x; + RETURN( val[i] ); + + END_FUNCTION; + + LOCAL + v : maths_value := simplify_maths_value( convert_to_maths_value( val ) ); + vtypes : SET OF STRING := stripped_typeof( v ); + s : maths_space := simplify_maths_space( spc ); + stypes : SET OF STRING := stripped_typeof( s ); + tmp_int : INTEGER; + tmp_real : REAL; + tmp_cmplx : complex_number_literal; + lgcl : LOGICAL; + cum : LOGICAL; + vspc : maths_space; + sspc : maths_space; + smem : SET OF maths_value; + factors : LIST OF maths_space; + END_LOCAL; + IF NOT EXISTS( s ) THEN + RETURN( FALSE ); + END_IF; + IF NOT EXISTS( v ) THEN + RETURN( s = the_generics ); + END_IF; + IF ( 'GENERIC_EXPRESSION' IN vtypes ) AND ( NOT ( 'MATHS_SPACE' IN vtypes ) ) AND ( NOT ( 'MATHS_FUNCTION' IN vtypes ) ) AND + ( NOT ( 'COMPLEX_NUMBER_LITERAL' IN vtypes ) ) THEN + IF has_values_space( v ) THEN + vspc := values_space_of( v ); + IF subspace_of( vspc, s ) THEN + RETURN( TRUE ); + END_IF; + IF NOT compatible_spaces( vspc, s ) THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'ELEMENTARY_SPACE' IN stypes THEN + CASE s\elementary_space.space_id OF + es_numbers : RETURN( ( 'NUMBER' IN vtypes ) OR ( 'COMPLEX_NUMBER_LITERAL' IN vtypes ) ); + es_complex_numbers : RETURN( 'COMPLEX_NUMBER_LITERAL' IN vtypes ); + es_reals : RETURN( ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) ); + es_integers : RETURN( 'INTEGER' IN vtypes ); + es_logicals : RETURN( 'LOGICAL' IN vtypes ); + es_booleans : RETURN( 'BOOLEAN' IN vtypes ); + es_strings : RETURN( 'STRING' IN vtypes ); + es_binarys : RETURN( 'BINARY' IN vtypes ); + es_maths_spaces : RETURN( 'MATHS_SPACE' IN vtypes ); + es_maths_functions : RETURN( 'MATHS_FUNCTION' IN vtypes ); + es_generics : RETURN( TRUE ); + END_CASE; + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN stypes THEN + IF 'INTEGER' IN vtypes THEN + tmp_int := v; + RETURN( ( s\finite_integer_interval.min <= tmp_int ) AND ( tmp_int <= s\finite_integer_interval.max ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'INTEGER_INTERVAL_FROM_MIN' IN stypes THEN + IF 'INTEGER' IN vtypes THEN + tmp_int := v; + RETURN( s\integer_interval_from_min.min <= tmp_int ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'INTEGER_INTERVAL_TO_MAX' IN stypes THEN + IF 'INTEGER' IN vtypes THEN + tmp_int := v; + RETURN( tmp_int <= s\integer_interval_to_max.max ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_REAL_INTERVAL' IN stypes THEN + IF ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) THEN + tmp_real := v; + IF s\finite_real_interval.min_closure = closed THEN + IF s\finite_real_interval.max_closure = closed THEN + RETURN( ( s\finite_real_interval.min <= tmp_real ) AND ( tmp_real <= s\finite_real_interval.max ) ); + ELSE + RETURN( ( s\finite_real_interval.min <= tmp_real ) AND ( tmp_real < s\finite_real_interval.max ) ); + END_IF; + ELSE + IF s\finite_real_interval.max_closure = closed THEN + RETURN( ( s\finite_real_interval.min < tmp_real ) AND ( tmp_real <= s\finite_real_interval.max ) ); + ELSE + RETURN( ( s\finite_real_interval.min < tmp_real ) AND ( tmp_real < s\finite_real_interval.max ) ); + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_FROM_MIN' IN stypes THEN + IF ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) THEN + tmp_real := v; + IF s\real_interval_from_min.min_closure = closed THEN + RETURN( s\real_interval_from_min.min <= tmp_real ); + ELSE + RETURN( s\real_interval_from_min.min < tmp_real ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_TO_MAX' IN stypes THEN + IF ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) THEN + tmp_real := v; + IF s\real_interval_to_max.max_closure = closed THEN + RETURN( tmp_real <= s\real_interval_to_max.max ); + ELSE + RETURN( tmp_real < s\real_interval_to_max.max ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN stypes THEN + IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN + RETURN( member_of( v\complex_number_literal.real_part, s\cartesian_complex_number_region.real_constraint ) AND + member_of( v\complex_number_literal.imag_part, s\cartesian_complex_number_region.imag_constraint ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN stypes THEN + IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN + tmp_cmplx := v; + tmp_cmplx.real_part := tmp_cmplx.real_part - s\polar_complex_number_region.centre.real_part; + tmp_cmplx.imag_part := tmp_cmplx.imag_part - s\polar_complex_number_region.centre.imag_part; + tmp_real := SQRT( ( tmp_cmplx.real_part ** 2 ) + ( tmp_cmplx.imag_part ** 2 ) ); + IF NOT member_of( tmp_real, s\polar_complex_number_region.distance_constraint ) THEN + RETURN( FALSE ); + END_IF; + IF tmp_real = 0 THEN + RETURN( TRUE ); + END_IF; + tmp_real := atan2( tmp_cmplx.imag_part, tmp_cmplx.real_part ); + RETURN( member_of( tmp_real, s\polar_complex_number_region.direction_constraint ) OR member_of( tmp_real + ( 2 * PI ), s\ + polar_complex_number_region.direction_constraint ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_SPACE' IN stypes THEN + smem := s\finite_space.members; + cum := FALSE; + REPEAT i := 1 TO SIZEOF( smem ) BY 1; + cum := cum OR equal_maths_values( v, smem[i] ); + IF cum = TRUE THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN + IF 'LIST' IN vtypes THEN + IF SIZEOF( v ) = s\uniform_product_space.exponent THEN + sspc := s\uniform_product_space.base; + cum := TRUE; + REPEAT i := 1 TO SIZEOF( v ) BY 1; + cum := cum AND member_of( v[i], sspc ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN stypes THEN + IF 'LIST' IN vtypes THEN + factors := s\listed_product_space.factors; + IF SIZEOF( v ) = SIZEOF( factors ) THEN + cum := TRUE; + REPEAT i := 1 TO SIZEOF( v ) BY 1; + cum := cum AND member_of( v[i], factors[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN + IF 'LIST' IN vtypes THEN + sspc := s\extended_tuple_space.base; + tmp_int := space_dimension( sspc ); + IF SIZEOF( v ) >= tmp_int THEN + cum := TRUE; + REPEAT i := 1 TO tmp_int BY 1; + cum := cum AND member_of( v[i], factor_space( sspc, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + sspc := s\extended_tuple_space.extender; + REPEAT i := tmp_int + 1 TO SIZEOF( v ) BY 1; + cum := cum AND member_of( v[i], sspc ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN stypes THEN + IF 'MATHS_FUNCTION' IN vtypes THEN + vspc := v\maths_function.domain; + sspc := s\function_space.domain_argument; + CASE s\function_space.domain_constraint OF + sc_equal : cum := equal_maths_spaces( vspc, sspc ); + sc_subspace : cum := subspace_of( vspc, sspc ); + sc_member : cum := member_of( vspc, sspc ); + END_CASE; + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + vspc := v\maths_function.range; + sspc := s\function_space.range_argument; + CASE s\function_space.range_constraint OF + sc_equal : cum := cum AND equal_maths_spaces( vspc, sspc ); + sc_subspace : cum := cum AND subspace_of( vspc, sspc ); + sc_member : cum := cum AND member_of( vspc, sspc ); + END_CASE; + RETURN( cum ); + END_IF; + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION min_exists( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + RETURN( bool( ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_FROM_MIN' ) + IN types ) OR ( ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'REAL_INTERVAL_FROM_MIN' ) IN + types ) ) ); + + END_FUNCTION; + + FUNCTION min_included( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_FROM_MIN' ) IN types ) + THEN + RETURN( TRUE ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( bool( spc\finite_real_interval.min_closure = closed ) ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_FROM_MIN' ) IN types THEN + RETURN( bool( spc\real_interval_from_min.min_closure = closed ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION mixed_loop_type_set( + l : SET [0 : ?] OF loop + ) : LOGICAL; + + LOCAL + poly_loop_type : LOGICAL; + END_LOCAL; + IF SIZEOF( l ) <= 1 THEN + RETURN( FALSE ); + END_IF; + poly_loop_type := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLY_LOOP' IN TYPEOF( l[1] ); + REPEAT i := 2 TO SIZEOF( l ) BY 1; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLY_LOOP' IN TYPEOF( l[i] ) ) <> poly_loop_type THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION msb_shells( + brep : manifold_solid_brep + ) : SET [1 : ?] OF closed_shell; + + LOCAL + return_set : SET [1 : ?] OF closed_shell := [brep.outer]; + END_LOCAL; + IF SIZEOF( QUERY ( msbtype <* TYPEOF( brep ) | ( msbtype LIKE '*BREP_WITH_VOIDS' ) ) ) >= 1 THEN + return_set := return_set + brep\brep_with_voids.voids; + END_IF; + RETURN( return_set ); + + END_FUNCTION; + + FUNCTION msf_curve_check( + cv : representation_item + ) : BOOLEAN; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE_REPLICA' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' ] * TYPEOF( cv ) ) > 1 THEN + RETURN( FALSE ); + END_IF; + IF ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( cv ) ) AND ( cv\b_spline_curve. + self_intersect = FALSE ) ) OR ( cv\b_spline_curve.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE' ] * TYPEOF( cv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( cv ) THEN + RETURN( msf_curve_check( cv\curve_replica.parent_curve ) ); + ELSE + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( cv ) ) AND ( ( cv\offset_curve_3d. + self_intersect = FALSE ) OR ( cv\offset_curve_3d.self_intersect = UNKNOWN ) ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv\offset_curve_3d.basis_curve ) ) ) + THEN + RETURN( msf_curve_check( cv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv ) THEN + RETURN( msf_curve_check( cv\pcurve.reference_to_curve\representation.items[1] ) AND msf_surface_check( cv\pcurve. + basis_surface ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( cv ) THEN + IF msf_curve_check( cv\surface_curve.curve_3d ) THEN + REPEAT i := 1 TO SIZEOF( cv\surface_curve.associated_geometry ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT msf_surface_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT msf_curve_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv ) THEN + IF SIZEOF( cv\polyline.points ) >= 3 THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION msf_surface_check( + surf : surface + ) : BOOLEAN; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF( surf ) THEN + RETURN( TRUE ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF( surf ) THEN + RETURN( msf_curve_check( surf\swept_surface.swept_curve ) ); + ELSE + IF ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF( surf ) ) AND ( surf\offset_surface. + self_intersect = FALSE ) ) OR ( surf\offset_surface.self_intersect = UNKNOWN ) THEN + RETURN( msf_surface_check( surf\offset_surface.basis_surface ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF( surf ) THEN + RETURN( msf_surface_check( surf\surface_replica.parent_surface ) ); + ELSE + IF ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( surf ) ) AND ( surf\ + b_spline_surface.self_intersect = FALSE ) ) OR ( surf\b_spline_surface.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION necessary_value_coordinate_system( + cs_value : field_value; + coordinate_system : GENERIC + ) : BOOLEAN; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TENSOR1_2D', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TENSOR1_3D' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SYMMETRIC_TENSOR2_2D' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SYMMETRIC_TENSOR2_3D'] * TYPEOF( cs_value ) ) + = 1 THEN + IF NOT EXISTS( coordinate_system ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION nmsf_curve_check( + cv : representation_item + ) : BOOLEAN; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CURVE_REPLICA' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' ] * TYPEOF( cv ) ) > 1 THEN + RETURN( FALSE ); + ELSE + IF ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( cv ) ) AND ( cv\b_spline_curve. + self_intersect = FALSE ) ) OR ( cv\b_spline_curve.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE' ] * TYPEOF( cv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( cv ) THEN + RETURN( nmsf_curve_check( cv\curve_replica.parent_curve ) ); + ELSE + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( cv ) ) AND ( ( cv\ + offset_curve_3d.self_intersect = FALSE ) OR ( cv\offset_curve_3d.self_intersect = UNKNOWN ) ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv\offset_curve_3d.basis_curve ) ) ) + THEN + RETURN( nmsf_curve_check( cv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv ) THEN + RETURN( nmsf_curve_check( cv\pcurve.reference_to_curve\representation.items[1] ) AND nmsf_surface_check( cv\ + pcurve.basis_surface ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( cv ) THEN + IF nmsf_curve_check( cv\surface_curve.curve_3d ) THEN + REPEAT i := 1 TO SIZEOF( cv\surface_curve.associated_geometry ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT nmsf_surface_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT nmsf_curve_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv ) THEN + IF SIZEOF( cv\polyline.points ) >= 3 THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION nmsf_surface_check( + surf : surface + ) : BOOLEAN; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF( surf ) THEN + RETURN( TRUE ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF( surf ) THEN + RETURN( nmsf_curve_check( surf\swept_surface.swept_curve ) ); + ELSE + IF ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF( surf ) ) AND ( surf\offset_surface. + self_intersect = FALSE ) ) OR ( surf\offset_surface.self_intersect = UNKNOWN ) THEN + RETURN( nmsf_surface_check( surf\offset_surface.basis_surface ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF( surf ) THEN + RETURN( nmsf_surface_check( surf\surface_replica.parent_surface ) ); + ELSE + IF ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( surf ) ) AND ( surf\ + b_spline_surface.self_intersect = FALSE ) ) OR ( surf\b_spline_surface.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION no_cyclic_domain_reference( + ref : maths_space_or_function; + used : SET OF maths_function + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := TYPEOF( ref ); + func : maths_function; + END_LOCAL; + IF ( NOT EXISTS( ref ) ) OR ( NOT EXISTS( used ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( schema_prefix + 'MATHS_SPACE' ) IN typenames THEN + RETURN( TRUE ); + END_IF; + func := ref; + IF func IN used THEN + RETURN( FALSE ); + END_IF; + IF ( schema_prefix + 'CONSTANT_FUNCTION' ) IN typenames THEN + RETURN( no_cyclic_domain_reference( func\constant_function.source_of_domain, used + [func] ) ); + END_IF; + IF ( schema_prefix + 'SELECTOR_FUNCTION' ) IN typenames THEN + RETURN( no_cyclic_domain_reference( func\selector_function.source_of_domain, used + [func] ) ); + END_IF; + IF ( schema_prefix + 'PARALLEL_COMPOSED_FUNCTION' ) IN typenames THEN + RETURN( no_cyclic_domain_reference( func\parallel_composed_function.source_of_domain, used + [func] ) ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION no_cyclic_space_reference( + spc : maths_space; + refs : SET OF maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING; + refs_plus : SET OF maths_space; + END_LOCAL; + IF spc IN refs THEN + RETURN( FALSE ); + END_IF; + types := TYPEOF( spc ); + refs_plus := refs + spc; + IF ( schema_prefix + 'FINITE_SPACE' ) IN types THEN + RETURN( bool( SIZEOF( QUERY ( sp <* QUERY ( mem <* spc\finite_space.members | ( ( schema_prefix + 'MATHS_SPACE' ) IN + TYPEOF( mem ) ) ) | ( NOT no_cyclic_space_reference( sp, refs_plus ) ) ) ) = 0 ) ); + END_IF; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN types THEN + RETURN( no_cyclic_space_reference( spc\uniform_product_space.base, refs_plus ) ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN types THEN + RETURN( bool( SIZEOF( QUERY ( fac <* spc\listed_product_space.factors | ( NOT no_cyclic_space_reference( fac, refs_plus ) ) ) ) + = 0 ) ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN types THEN + RETURN( no_cyclic_space_reference( spc\extended_tuple_space.base, refs_plus ) AND no_cyclic_space_reference( spc\ + extended_tuple_space.extender, refs_plus ) ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION nondecreasing( + lr : LIST OF REAL + ) : BOOLEAN; + IF NOT EXISTS( lr ) THEN + RETURN( FALSE ); + END_IF; + REPEAT j := 2 TO SIZEOF( lr ) BY 1; + IF lr[j] < lr[j - 1] THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION normalise( + arg : vector_or_direction + ) : vector_or_direction; + + LOCAL + ndim : INTEGER; + v : direction := dummy_gri || direction( [1, 0, 0] ); + result : vector_or_direction; + vec : vector := dummy_gri || vector( v, 1 ); + mag : REAL; + END_LOCAL; + IF NOT EXISTS( arg ) THEN + result := ?; + ELSE + ndim := arg.dim; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF( arg ) THEN + + BEGIN + v := dummy_gri || direction( arg\vector.orientation.direction_ratios ); + IF arg\vector.magnitude = 0 THEN + RETURN( ? ); + ELSE + vec := dummy_gri || vector( v, 1 ); + END_IF; + END; + ELSE + v := dummy_gri || direction( arg.direction_ratios ); + END_IF; + mag := 0; + REPEAT i := 1 TO ndim BY 1; + mag := mag + ( v.direction_ratios[i] * v.direction_ratios[i] ); + END_REPEAT; + IF mag > 0 THEN + mag := SQRT( mag ); + REPEAT i := 1 TO ndim BY 1; + v.direction_ratios[i] := v.direction_ratios[i] / mag; + END_REPEAT; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF( arg ) THEN + vec.orientation := v; + result := vec; + ELSE + result := v; + END_IF; + ELSE + RETURN( ? ); + END_IF; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION number_of_terms( + node_dof_list : LIST [1 : ?] OF LIST [1 : ?] OF degree_of_freedom; + matrix_type : matrix_symmetry + ) : INTEGER; + + LOCAL + num_terms : INTEGER; + number_of_freedoms : INTEGER; + END_LOCAL; + number_of_freedoms := 0; + REPEAT i := 1 TO SIZEOF( node_dof_list ) BY 1; + number_of_freedoms := number_of_freedoms + SIZEOF( node_dof_list[i] ); + END_REPEAT; + IF matrix_type = symmetric THEN + num_terms := ( number_of_freedoms * ( number_of_freedoms + 1 ) ) DIV 2; + END_IF; + IF matrix_type = diagonal THEN + num_terms := number_of_freedoms; + END_IF; + RETURN( num_terms ); + + END_FUNCTION; + + FUNCTION number_superspace_of( + spc : maths_space + ) : elementary_space; + IF subspace_of_es( spc, es_integers ) THEN + RETURN( the_integers ); + END_IF; + IF subspace_of_es( spc, es_reals ) THEN + RETURN( the_reals ); + END_IF; + IF subspace_of_es( spc, es_complex_numbers ) THEN + RETURN( the_complex_numbers ); + END_IF; + IF subspace_of_es( spc, es_numbers ) THEN + RETURN( the_numbers ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION number_tuple_subspace_check( + spc : maths_space + ) : LOGICAL; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + factors : LIST OF maths_space; + cum : LOGICAL := TRUE; + END_LOCAL; + IF 'UNIFORM_PRODUCT_SPACE' IN types THEN + RETURN( subspace_of_es( spc\uniform_product_space.base, es_numbers ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types THEN + factors := spc\listed_product_space.factors; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND subspace_of_es( factors[i], es_numbers ); + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types THEN + cum := subspace_of_es( spc\extended_tuple_space.extender, es_numbers ); + cum := cum AND number_tuple_subspace_check( spc\extended_tuple_space.base ); + RETURN( cum ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION one_tuples_of( + spc : maths_space + ) : tuple_space; + RETURN( make_uniform_product_space( spc, 1 ) ); + + END_FUNCTION; + + FUNCTION open_path_based_inner_boundary( + input : SET OF primitive_2d + ) : BOOLEAN; + + LOCAL + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( input ) BY 1; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_AREA_WITH_PARAMETERS' IN TYPEOF( input[i] ) ) AND ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE' IN TYPEOF( input[i]\mapped_item.mapping_source\ + representation_map.mapping_origin ) ) OR ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE' IN + TYPEOF( input[i]\mapped_item.mapping_source\representation_map.mapping_origin ) ) AND ( input[i]\mapped_item. + mapping_source\representation_map.mapping_origin\composite_curve.closed_curve = TRUE ) ) ) THEN + pass := FALSE; + END_IF; + END_REPEAT; + RETURN( pass ); + + END_FUNCTION; + + FUNCTION open_shell_reversed( + a_shell : open_shell + ) : oriented_open_shell; + + LOCAL + the_reverse : oriented_open_shell; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_OPEN_SHELL' IN TYPEOF( a_shell ) THEN + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || open_shell( ) || + oriented_open_shell( a_shell\oriented_open_shell.open_shell_element, NOT a_shell\oriented_open_shell.orientation ); + ELSE + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || open_shell( ) || + oriented_open_shell( a_shell, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION orthogonal_complement( + vec : direction + ) : direction; + + LOCAL + result : direction; + END_LOCAL; + IF ( vec.dim <> 2 ) OR ( NOT EXISTS( vec ) ) THEN + RETURN( ? ); + ELSE + result := dummy_gri || direction( [-vec.direction_ratios[2], vec.direction_ratios[1]] ); + RETURN( result ); + END_IF; + + END_FUNCTION; + + FUNCTION parallel_composed_function_composability_check( + funcs : LIST OF maths_function; + final : maths_function_select + ) : BOOLEAN; + + LOCAL + tplsp : tuple_space := the_zero_tuple_space; + finfun : maths_function := convert_to_maths_function( final ); + END_LOCAL; + REPEAT i := 1 TO SIZEOF( funcs ) BY 1; + tplsp := assoc_product_space( tplsp, funcs[i].range ); + END_REPEAT; + RETURN( compatible_spaces( tplsp, finfun.domain ) ); + + END_FUNCTION; + + FUNCTION parallel_composed_function_domain_check( + comdom : tuple_space; + funcs : LIST OF maths_function + ) : BOOLEAN; + REPEAT i := 1 TO SIZEOF( funcs ) BY 1; + IF NOT compatible_spaces( comdom, funcs[i].domain ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION parse_express_identifier( + s : STRING; + i : positive_integer + ) : positive_integer; + + LOCAL + k : positive_integer; + END_LOCAL; + k := i; + IF i <= LENGTH( s ) THEN + IF s[i] LIKE '@' THEN + REPEAT UNTIL ( k > LENGTH( s ) ) OR ( ( s[k] <> '_' ) AND ( NOT ( s[k] LIKE '@' ) ) AND ( NOT ( s[k] LIKE '#' ) ) ); + k := k + 1; + END_REPEAT; + END_IF; + END_IF; + RETURN( k ); + + END_FUNCTION; + + FUNCTION partial_derivative_check( + domain : tuple_space; + d_vars : LIST [1 : ?] OF input_selector + ) : BOOLEAN; + + LOCAL + domn : tuple_space := domain; + fspc : maths_space; + dim : INTEGER; + k : INTEGER; + END_LOCAL; + IF ( space_dimension( domain ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( domain ) ) ) THEN + domn := factor1( domain ); + END_IF; + dim := space_dimension( domn ); + REPEAT i := 1 TO SIZEOF( d_vars ) BY 1; + k := d_vars[i]; + IF k > dim THEN + RETURN( FALSE ); + END_IF; + fspc := factor_space( domn, k ); + IF ( NOT subspace_of_es( fspc, es_reals ) ) AND ( NOT subspace_of_es( fspc, es_complex_numbers ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION path_head_to_tail( + a_path : path + ) : LOGICAL; + + LOCAL + n : INTEGER; + p : LOGICAL := TRUE; + END_LOCAL; + n := SIZEOF( a_path.edge_list ); + REPEAT i := 2 TO n BY 1; + p := p AND ( a_path.edge_list[i - 1].edge_end :=: a_path.edge_list[i].edge_start ); + END_REPEAT; + RETURN( p ); + + END_FUNCTION; + + FUNCTION path_reversed( + a_path : path + ) : oriented_path; + + LOCAL + the_reverse : oriented_path; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF( a_path ) THEN + the_reverse := dummy_tri || path( list_of_topology_reversed( a_path.edge_list ) ) || oriented_path( a_path\oriented_path. + path_element, NOT a_path\oriented_path.orientation ); + ELSE + the_reverse := dummy_tri || path( list_of_topology_reversed( a_path.edge_list ) ) || oriented_path( a_path, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION plane_angle_for_pair_in_radian( + pair : kinematic_pair; + angle : plane_angle_measure + ) : plane_angle_measure; + + LOCAL + converted_angle : plane_angle_measure := angle; + link_rep : kinematic_link_representation := representation_of_link( pair.joint.edge_start ); + link_cntxt : representation_context; + pa_units : SET OF unit := []; + pau : unit; + END_LOCAL; + link_cntxt := link_rep\representation.context_of_items; + IF NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF( link_cntxt ) ) THEN + RETURN( ? ); + END_IF; + pa_units := QUERY ( unit <* link_cntxt\global_unit_assigned_context.units | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF( unit ) ) ); + IF SIZEOF( pa_units ) <> 1 THEN + RETURN( ? ); + END_IF; + pau := pa_units[1]; + IF ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SI_UNIT' IN TYPEOF( pau ) ) ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF( pau ) ) ) THEN + RETURN( ? ); + END_IF; + REPEAT WHILE 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF( pau ); + converted_angle := converted_angle * pau\conversion_based_unit.conversion_factor.value_component; + pau := pau\conversion_based_unit.conversion_factor.unit_component; + IF ( ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SI_UNIT' IN TYPEOF( pau ) ) ) AND ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF( pau ) ) ) ) OR ( NOT ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF( pau ) ) ) THEN + RETURN( ? ); + END_IF; + END_REPEAT; + IF pau\si_unit.name <> si_unit_name.radian THEN + RETURN( ? ); + END_IF; + CASE pau\si_unit.prefix OF + si_prefix.exa : RETURN( 1.e+18 * converted_angle ); + si_prefix.peta : RETURN( 1.e+15 * converted_angle ); + si_prefix.tera : RETURN( 1.e+12 * converted_angle ); + si_prefix.giga : RETURN( 1000000000 * converted_angle ); + si_prefix.mega : RETURN( 1000000 * converted_angle ); + si_prefix.kilo : RETURN( 1000 * converted_angle ); + si_prefix.hecto : RETURN( 100 * converted_angle ); + si_prefix.deca : RETURN( 10 * converted_angle ); + si_prefix.deci : RETURN( 0.1 * converted_angle ); + si_prefix.centi : RETURN( 0.01 * converted_angle ); + si_prefix.milli : RETURN( 0.001 * converted_angle ); + si_prefix.micro : RETURN( 1.e-06 * converted_angle ); + si_prefix.nano : RETURN( 1.e-09 * converted_angle ); + si_prefix.pico : RETURN( 1.e-12 * converted_angle ); + si_prefix.femto : RETURN( 1.e-15 * converted_angle ); + si_prefix.atto : RETURN( 1.e-18 * converted_angle ); + OTHERWISE : RETURN( converted_angle ); + END_CASE; + + END_FUNCTION; + + FUNCTION real_max( + spc : maths_space + ) : REAL; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types THEN + RETURN( spc\finite_integer_interval.max ); + END_IF; + IF ( schema_prefix + 'INTEGER_INTERVAL_TO_MAX' ) IN types THEN + RETURN( spc\integer_interval_to_max.max ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( spc\finite_real_interval.max ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_TO_MAX' ) IN types THEN + RETURN( spc\real_interval_to_max.max ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION real_min( + spc : maths_space + ) : REAL; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types THEN + RETURN( spc\finite_integer_interval.min ); + END_IF; + IF ( schema_prefix + 'INTEGER_INTERVAL_FROM_MIN' ) IN types THEN + RETURN( spc\integer_interval_from_min.min ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( spc\finite_real_interval.min ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_FROM_MIN' ) IN types THEN + RETURN( spc\real_interval_from_min.min ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION regular_indexing( + sub : LIST OF INTEGER; + base : zero_or_one; + shape : LIST [1 : ?] OF positive_integer; + inc : LIST [1 : ?] OF INTEGER; + first : INTEGER + ) : INTEGER; + + LOCAL + k : INTEGER; + index : INTEGER; + END_LOCAL; + IF ( NOT EXISTS( sub ) ) OR ( NOT EXISTS( base ) ) OR ( NOT EXISTS( shape ) ) OR ( NOT EXISTS( inc ) ) OR ( NOT EXISTS( first ) ) + THEN + RETURN( ? ); + END_IF; + IF ( SIZEOF( sub ) <> SIZEOF( inc ) ) OR ( SIZEOF( sub ) <> SIZEOF( shape ) ) THEN + RETURN( ? ); + END_IF; + index := first; + REPEAT j := 1 TO SIZEOF( sub ) BY 1; + IF ( NOT EXISTS( sub[j] ) ) OR ( NOT EXISTS( inc[j] ) ) THEN + RETURN( ? ); + END_IF; + k := sub[j] - base; + IF NOT ( ( 0 <= k ) AND ( k < shape[j] ) ) THEN + RETURN( ? ); + END_IF; + index := index + ( k * inc[j] ); + END_REPEAT; + RETURN( index ); + + END_FUNCTION; + + FUNCTION relating_shape_representations_of_extreme_values( + item : location_of_extreme_value_select + ) : SET OF shape_representation; + + LOCAL + results : SET OF shape_representation := []; + exti : SET OF extreme_instance := []; + ii_ei : SET OF instance_report_item_with_extreme_instances := []; + sdiir : SET OF shape_data_quality_inspection_instance_report := []; + sdqr : SET OF shape_data_quality_inspection_result_representation := []; + sdisr : SET OF shape_data_quality_inspected_shape_and_result_relationship := []; + END_LOCAL; + exti := exti + bag_to_set( USEDIN( item, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'EXTREME_INSTANCE.' + + 'LOCATIONS_OF_EXTREME_VALUE' ) ); + REPEAT i := 1 TO HIINDEX( exti ) BY 1; + ii_ei := ii_ei + bag_to_set( USEDIN( exti[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES.' + 'EXTREME_INSTANCES' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( ii_ei ) BY 1; + sdiir := sdiir + bag_to_set( USEDIN( ii_ei[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT.' + 'INSPECTED_INSTANCES' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( sdiir ) BY 1; + sdqr := sdqr + QUERY ( i1 <* bag_to_set( USEDIN( sdiir[i].inspection_result, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS' ) ) | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' ) IN + TYPEOF( i1 ) ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( sdqr ) BY 1; + sdisr := sdisr + bag_to_set( USEDIN( sdqr[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.' + 'REP_2' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( sdisr ) BY 1; + results := results + sdisr[i].rep_1; + END_REPEAT; + RETURN( results ); + + END_FUNCTION; + + FUNCTION remove_first( + alist : LIST OF GENERIC:gen + ) : LIST OF GENERIC:gen; + + LOCAL + blist : LIST OF GENERIC:gen := alist; + END_LOCAL; + IF SIZEOF( blist ) > 0 THEN + REMOVE( blist, 1 ); + END_IF; + RETURN( blist ); + + END_FUNCTION; + + FUNCTION repackage( + tspace : tuple_space; + repckg : repackage_options + ) : tuple_space; + CASE repckg OF + ro_nochange : RETURN( tspace ); + ro_wrap_as_tuple : RETURN( one_tuples_of( tspace ) ); + ro_unwrap_tuple : RETURN( factor1( tspace ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION representation_of_link( + link : kinematic_link + ) : kinematic_link_representation; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION required_0d_nodes( + node_list : LIST [1 : ?] OF node_representation + ) : BOOLEAN; + RETURN( SIZEOF( node_list ) = 1 ); + + END_FUNCTION; + + FUNCTION required_1d_nodes( + node_list : LIST [1 : ?] OF node_representation; + order : element_order + ) : BOOLEAN; + + LOCAL + end_nodes : INTEGER; + additional_nodes : INTEGER; + END_LOCAL; + end_nodes := 2; + IF order = linear_order THEN + additional_nodes := 0; + END_IF; + IF order = quadratic_order THEN + additional_nodes := 1; + END_IF; + IF order = cubic_order THEN + additional_nodes := 2; + END_IF; + RETURN( SIZEOF( node_list ) = ( end_nodes + additional_nodes ) ); + + END_FUNCTION; + + FUNCTION required_2d_nodes( + node_list : LIST [1 : ?] OF node_representation; + element_shape : element_2d_shape; + order : element_order + ) : BOOLEAN; + + LOCAL + vertex_nodes : INTEGER; + edge_nodes : INTEGER; + edge_face_body_nodes : INTEGER; + END_LOCAL; + IF element_shape = element_2d_shape.triangle THEN + vertex_nodes := 3; + IF order = linear_order THEN + edge_nodes := 0; + edge_face_body_nodes := 0; + END_IF; + IF order = quadratic_order THEN + edge_nodes := 3; + edge_face_body_nodes := 3; + END_IF; + IF order = cubic_order THEN + edge_nodes := 6; + edge_face_body_nodes := 7; + END_IF; + END_IF; + IF element_shape = element_2d_shape.quadrilateral THEN + vertex_nodes := 4; + IF order = linear_order THEN + edge_nodes := 0; + edge_face_body_nodes := 0; + END_IF; + IF order = quadratic_order THEN + edge_nodes := 4; + edge_face_body_nodes := 5; + END_IF; + IF order = cubic_order THEN + edge_nodes := 8; + edge_face_body_nodes := 12; + END_IF; + END_IF; + RETURN( ( SIZEOF( node_list ) = ( vertex_nodes + edge_nodes ) ) OR ( SIZEOF( node_list ) = ( vertex_nodes + + edge_face_body_nodes ) ) ); + + END_FUNCTION; + + FUNCTION required_3d_nodes( + node_list : LIST [1 : ?] OF node_representation; + element_shape : volume_3d_element_shape; + order : element_order + ) : BOOLEAN; + + LOCAL + vertex_nodes : INTEGER; + edge_nodes : INTEGER; + edge_face_body_nodes : INTEGER; + END_LOCAL; + IF element_shape = volume_3d_element_shape.hexahedron THEN + vertex_nodes := 8; + IF order = linear_order THEN + edge_nodes := 0; + edge_face_body_nodes := 0; + END_IF; + IF order = quadratic_order THEN + edge_nodes := 12; + edge_face_body_nodes := 19; + END_IF; + IF order = cubic_order THEN + edge_nodes := 24; + edge_face_body_nodes := 56; + END_IF; + END_IF; + IF element_shape = volume_3d_element_shape.wedge THEN + vertex_nodes := 6; + IF order = linear_order THEN + edge_nodes := 0; + edge_face_body_nodes := 0; + END_IF; + IF order = quadratic_order THEN + edge_nodes := 9; + edge_face_body_nodes := 12; + END_IF; + IF order = cubic_order THEN + edge_nodes := 18; + edge_face_body_nodes := 34; + END_IF; + END_IF; + IF element_shape = volume_3d_element_shape.tetrahedron THEN + vertex_nodes := 4; + IF order = linear_order THEN + edge_nodes := 0; + edge_face_body_nodes := 0; + END_IF; + IF order = quadratic_order THEN + edge_nodes := 6; + edge_face_body_nodes := 6; + END_IF; + IF order = cubic_order THEN + edge_nodes := 12; + edge_face_body_nodes := 16; + END_IF; + END_IF; + IF element_shape = volume_3d_element_shape.pyramid THEN + vertex_nodes := 5; + IF order = linear_order THEN + edge_nodes := 0; + edge_face_body_nodes := 0; + END_IF; + IF order = quadratic_order THEN + edge_nodes := 8; + edge_face_body_nodes := 9; + END_IF; + IF order = cubic_order THEN + edge_nodes := 16; + edge_face_body_nodes := 25; + END_IF; + END_IF; + RETURN( ( SIZEOF( node_list ) = ( vertex_nodes + edge_nodes ) ) OR ( SIZEOF( node_list ) = ( vertex_nodes + + edge_face_body_nodes ) ) ); + + END_FUNCTION; + + FUNCTION scalar_times_vector( + scalar : REAL; + vec : vector_or_direction + ) : vector; + + LOCAL + v : direction; + mag : REAL; + result : vector; + END_LOCAL; + IF ( NOT EXISTS( scalar ) ) OR ( NOT EXISTS( vec ) ) THEN + RETURN( ? ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF( vec ) THEN + v := dummy_gri || direction( vec\vector.orientation.direction_ratios ); + mag := scalar * vec\vector.magnitude; + ELSE + v := dummy_gri || direction( vec.direction_ratios ); + mag := scalar; + END_IF; + IF mag < 0 THEN + REPEAT i := 1 TO SIZEOF( v.direction_ratios ) BY 1; + v.direction_ratios[i] := -v.direction_ratios[i]; + END_REPEAT; + mag := -mag; + END_IF; + result := dummy_gri || vector( normalise( v ), mag ); + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION second_proj_axis( + z_axis, x_axis, arg : direction + ) : direction; + + LOCAL + y_axis : vector; + v : direction; + temp : vector; + END_LOCAL; + IF NOT EXISTS( arg ) THEN + v := dummy_gri || direction( [0, 1, 0] ); + ELSE + v := arg; + END_IF; + temp := scalar_times_vector( dot_product( v, z_axis ), z_axis ); + y_axis := vector_difference( v, temp ); + temp := scalar_times_vector( dot_product( v, x_axis ), x_axis ); + y_axis := vector_difference( y_axis, temp ); + y_axis := normalise( y_axis ); + RETURN( y_axis.orientation ); + + END_FUNCTION; + + FUNCTION set_of_topology_reversed( + a_set : set_of_reversible_topology_item + ) : set_of_reversible_topology_item; + + LOCAL + the_reverse : set_of_reversible_topology_item; + END_LOCAL; + the_reverse := []; + REPEAT i := 1 TO SIZEOF( a_set ) BY 1; + the_reverse := the_reverse + topology_reversed( a_set[i] ); + END_REPEAT; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION shape_of_array( + func : maths_function + ) : LIST OF positive_integer; + + LOCAL + tspace : tuple_space; + temp : maths_space; + result : LIST OF positive_integer := []; + END_LOCAL; + IF ( schema_prefix + 'EXPLICIT_TABLE_FUNCTION' ) IN TYPEOF( func ) THEN + RETURN( func\explicit_table_function.shape ); + END_IF; + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( tspace ) ) ) THEN + tspace := factor1( tspace ); + END_IF; + REPEAT i := 1 TO space_dimension( tspace ) BY 1; + temp := factor_space( tspace, i ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( ? ); + END_IF; + INSERT( result, temp\finite_integer_interval.size, i - 1 ); + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION shell_reversed( + a_shell : shell + ) : shell; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_SHELL' IN TYPEOF( a_shell ) THEN + RETURN( open_shell_reversed( a_shell ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL' IN TYPEOF( a_shell ) THEN + RETURN( closed_shell_reversed( a_shell ) ); + ELSE + RETURN( ? ); + END_IF; + END_IF; + + END_FUNCTION; + + FUNCTION shorten_array( + longa : ARRAY OF GENERIC:t; + oldl, newl : INTEGER + ) : ARRAY OF GENERIC:t; + + LOCAL + shorta : ARRAY [1 : newl] OF GENERIC:t; + END_LOCAL; + IF newl > oldl THEN + RETURN( ? ); + ELSE + REPEAT i := 1 TO newl BY 1; + shorta[i] := longa[i]; + END_REPEAT; + RETURN( shorta ); + END_IF; + + END_FUNCTION; + + FUNCTION simplify_function_application( + expr : function_application + ) : maths_value; + + FUNCTION ctmv( + x : GENERIC:g + ) : maths_value; + RETURN( convert_to_maths_value( x ) ); + + END_FUNCTION; + + FUNCTION good_t( + v : maths_value; + tn : STRING + ) : BOOLEAN; + + LOCAL + tpl : LIST OF maths_value; + END_LOCAL; + IF 'LIST' IN TYPEOF( v ) THEN + tpl := v; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + IF NOT ( tn IN TYPEOF( tpl[i] ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION makec( + x, y : REAL + ) : complex_number_literal; + RETURN( make_complex_number_literal( x, y ) ); + + END_FUNCTION; + + PROCEDURE parts( + c : complex_number_literal; + VAR x, y : REAL ); + x := c.real_part; + y := c.imag_part; + + END_PROCEDURE; + + CONSTANT + cnlit : STRING := + schema_prefix + + + 'COMPLEX_NUMBER_LITERAL' ; + END_CONSTANT; + + LOCAL + types : SET OF STRING := stripped_typeof( expr.func ); + ef_val : elementary_function_enumerators; + is_elementary : BOOLEAN := FALSE; + v : maths_value; + v1 : maths_value; + v2 : maths_value; + v3 : maths_value; + vlist : LIST OF maths_value := []; + gexpr : generic_expression; + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value; + boo : BOOLEAN; + lgc : LOGICAL; + cum : LOGICAL; + j : INTEGER; + k : INTEGER; + n : INTEGER; + p : REAL; + q : REAL; + r : REAL; + s : REAL; + t : REAL; + u : REAL; + str : STRING; + st2 : STRING; + bin : BINARY; + bi2 : BINARY; + tpl : LIST OF maths_value; + tp2 : LIST OF maths_value; + mem : SET OF maths_value := []; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( expr.arguments ) BY 1; + v := simplify_maths_value( expr.arguments[i] ); + INSERT( vlist, v, i - 1 ); + END_REPEAT; + IF SIZEOF( vlist ) >= 1 THEN + v1 := vlist[1]; + END_IF; + IF SIZEOF( vlist ) >= 2 THEN + v2 := vlist[2]; + END_IF; + IF SIZEOF( vlist ) >= 3 THEN + v3 := vlist[3]; + END_IF; + IF 'ELEMENTARY_FUNCTION_ENUMERATORS' IN types THEN + ef_val := expr.func; + is_elementary := TRUE; + END_IF; + IF 'ELEMENTARY_FUNCTION' IN types THEN + ef_val := expr.func\elementary_function.func_id; + is_elementary := TRUE; + END_IF; + IF is_elementary THEN + CASE ef_val OF + ef_and : + BEGIN + cum := TRUE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'LOGICAL' IN TYPEOF( vlist[i] ) THEN + lgc := vlist[i]; + cum := cum AND lgc; + IF lgc = FALSE THEN + RETURN( ctmv( FALSE ) ); + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( cum ) ); + END_IF; + IF cum <> TRUE THEN + INSERT( vlist, ctmv( cum ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_or : + BEGIN + cum := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'LOGICAL' IN TYPEOF( vlist[i] ) THEN + lgc := vlist[i]; + cum := cum OR lgc; + IF lgc = TRUE THEN + RETURN( ctmv( TRUE ) ); + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( cum ) ); + END_IF; + IF cum <> FALSE THEN + INSERT( vlist, ctmv( cum ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_not : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + RETURN( ctmv( NOT lgc ) ); + END_IF; + ef_xor : + BEGIN + IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF 'LOGICAL' IN TYPEOF( v2 ) THEN + cum := v2; + RETURN( ctmv( lgc XOR cum ) ); + ELSE + IF lgc = FALSE THEN + RETURN( ctmv( v2 ) ); + ELSE + IF lgc = UNKNOWN THEN + RETURN( ctmv( UNKNOWN ) ); + ELSE + RETURN( make_function_application( ef_not, [v2] ) ); + END_IF; + END_IF; + END_IF; + ELSE + IF 'LOGICAL' IN TYPEOF( v2 ) THEN + lgc := v2; + IF lgc = FALSE THEN + RETURN( ctmv( v1 ) ); + ELSE + IF lgc = UNKNOWN THEN + RETURN( ctmv( UNKNOWN ) ); + ELSE + RETURN( make_function_application( ef_not, [v1] ) ); + END_IF; + END_IF; + END_IF; + END_IF; + END; + ef_negate_i : IF 'INTEGER' IN TYPEOF( v1 ) THEN + j := v1; + RETURN( ctmv( -j ) ); + END_IF; + ef_add_i : + BEGIN + j := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + k := vlist[i]; + j := j + k; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF j <> 0 THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j - k ) ); + END_IF; + ef_multiply_i : + BEGIN + j := 1; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + k := vlist[i]; + j := j * k; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF j <> 1 THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_divide_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j DIV k ) ); + END_IF; + ef_mod_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j MOD k ) ); + END_IF; + ef_exponentiate_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + n := 1; + REPEAT i := 1 TO ABS( k ) BY 1; + n := n * j; + END_REPEAT; + IF k < 0 THEN + n := 1 DIV n; + END_IF; + RETURN( ctmv( n ) ); + END_IF; + ef_eq_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j = k ) ); + END_IF; + ef_ne_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j <> k ) ); + END_IF; + ef_gt_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j > k ) ); + END_IF; + ef_lt_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j < k ) ); + END_IF; + ef_ge_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j >= k ) ); + END_IF; + ef_le_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j <= k ) ); + END_IF; + ef_abs_i : IF 'INTEGER' IN TYPEOF( v1 ) THEN + j := v1; + RETURN( ctmv( ABS( j ) ) ); + END_IF; + ef_max_i : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + k := vlist[i]; + IF k > j THEN + j := k; + END_IF; + ELSE + j := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_min_i : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + k := vlist[i]; + IF k < j THEN + j := k; + END_IF; + ELSE + j := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_negate_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( -r ) ); + END_IF; + ef_reciprocal_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( 1 / r ) ); + END_IF; + ef_add_r : + BEGIN + r := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + s := vlist[i]; + r := r + s; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF r <> 0 THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r - s ) ); + END_IF; + ef_multiply_r : + BEGIN + r := 1; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + s := vlist[i]; + r := r * s; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF r <> 1 THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_divide_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r / s ) ); + END_IF; + ef_mod_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + t := r / s; + j := t DIV 1; + IF ( t < 0 ) AND ( j <> t ) THEN + j := j - 1; + END_IF; + RETURN( ctmv( r - ( j * s ) ) ); + END_IF; + ef_exponentiate_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r ** s ) ); + END_IF; + ef_exponentiate_ri : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + r := v1; + k := v2; + t := 1; + REPEAT i := 1 TO ABS( k ) BY 1; + t := t * r; + END_REPEAT; + IF k < 0 THEN + t := 1 / t; + END_IF; + RETURN( ctmv( t ) ); + END_IF; + ef_eq_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r = s ) ); + END_IF; + ef_ne_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r <> s ) ); + END_IF; + ef_gt_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r > s ) ); + END_IF; + ef_lt_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r < s ) ); + END_IF; + ef_ge_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r >= s ) ); + END_IF; + ef_le_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r <= s ) ); + END_IF; + ef_abs_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( ABS( r ) ) ); + END_IF; + ef_max_r : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + s := vlist[i]; + IF s > r THEN + r := s; + END_IF; + ELSE + r := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_min_r : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + s := vlist[i]; + IF s < r THEN + r := s; + END_IF; + ELSE + r := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_acos_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( ACOS( r ) ) ); + END_IF; + ef_asin_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( ASIN( r ) ) ); + END_IF; + ef_atan2_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( atan2( r, s ) ) ); + END_IF; + ef_cos_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( COS( r ) ) ); + END_IF; + ef_exp_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( EXP( r ) ) ); + END_IF; + ef_ln_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( LOG( r ) ) ); + END_IF; + ef_log2_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( LOG2( r ) ) ); + END_IF; + ef_log10_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( LOG10( r ) ) ); + END_IF; + ef_sin_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( SIN( r ) ) ); + END_IF; + ef_sqrt_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( SQRT( r ) ) ); + END_IF; + ef_tan_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( TAN( r ) ) ); + END_IF; + ef_form_c : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( makec( r, s ) ); + END_IF; + ef_rpart_c : IF cnlit IN TYPEOF( v1 ) THEN + RETURN( ctmv( v1\complex_number_literal.real_part ) ); + END_IF; + ef_ipart_c : IF cnlit IN TYPEOF( v1 ) THEN + RETURN( ctmv( v1\complex_number_literal.imag_part ) ); + END_IF; + ef_negate_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( -p, -q ) ); + END_IF; + ef_reciprocal_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := ( p * p ) + ( q * q ); + RETURN( makec( p / t, ( -q ) / t ) ); + END_IF; + ef_add_c : + BEGIN + p := 0; + q := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF cnlit IN TYPEOF( vlist[i] ) THEN + parts( vlist[i], r, s ); + p := p + r; + q := q + s; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( makec( p, q ) ); + END_IF; + IF ( ( p * p ) + ( q * q ) ) <> 0 THEN + INSERT( vlist, makec( p, q ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + RETURN( makec( p - r, q - s ) ); + END_IF; + ef_multiply_c : + BEGIN + p := 1; + q := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF cnlit IN TYPEOF( vlist[i] ) THEN + parts( vlist[i], r, s ); + p := ( p * r ) - ( q * s ); + q := ( p * s ) + ( q * r ); + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( makec( p, q ) ); + END_IF; + IF ( p <> 1 ) OR ( q <> 0 ) THEN + INSERT( vlist, makec( p, q ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_divide_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + t := ( r * r ) + ( s * s ); + RETURN( makec( ( ( p * r ) + ( q * s ) ) / t, ( ( q * r ) - ( p * s ) ) / t ) ); + END_IF; + ef_exponentiate_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + t := 0.5 * LOG( ( p * p ) + ( q * q ) ); + u := atan2( q, p ); + p := ( r * t ) - ( s * u ); + q := ( r * u ) + ( s * t ); + r := EXP( p ); + RETURN( makec( r * COS( q ), r * SIN( q ) ) ); + END_IF; + ef_exponentiate_ci : IF ( cnlit IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + k := v2; + r := 1; + s := 0; + REPEAT i := 1 TO ABS( k ) BY 1; + r := ( p * r ) - ( q * s ); + s := ( p * s ) + ( q * r ); + END_REPEAT; + IF k < 0 THEN + t := ( r * r ) + ( s * s ); + r := r / t; + s := ( -s ) / t; + END_IF; + RETURN( makec( r, s ) ); + END_IF; + ef_eq_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + RETURN( ctmv( ( p = r ) AND ( q = s ) ) ); + END_IF; + ef_ne_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + RETURN( ctmv( ( p <> r ) OR ( q <> s ) ) ); + END_IF; + ef_conjugate_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( p, -q ) ); + END_IF; + ef_abs_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( ctmv( SQRT( ( p * p ) + ( q * q ) ) ) ); + END_IF; + ef_arg_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( ctmv( atan2( q, p ) ) ); + END_IF; + ef_cos_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := 0.5 * EXP( -q ); + u := 0.5 * EXP( q ); + RETURN( makec( ( t + u ) * COS( p ), ( t - u ) * SIN( p ) ) ); + END_IF; + ef_exp_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( EXP( p ) * COS( q ), EXP( p ) * SIN( q ) ) ); + END_IF; + ef_ln_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( 0.5 * LOG( ( p * p ) + ( q * q ) ), atan2( q, p ) ) ); + END_IF; + ef_sin_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := 0.5 * EXP( -q ); + u := 0.5 * EXP( q ); + RETURN( makec( ( t + u ) * SIN( p ), ( u - t ) * COS( p ) ) ); + END_IF; + ef_sqrt_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := SQRT( SQRT( ( p * p ) + ( q * q ) ) ); + u := 0.5 * atan2( q, p ); + RETURN( makec( t * COS( u ), t * SIN( u ) ) ); + END_IF; + ef_tan_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := EXP( 2 * q ) + EXP( ( -2 ) * q ) + ( 2 * COS( 2 * p ) ); + RETURN( makec( ( 2 * SIN( 2 * p ) ) / t, ( EXP( ( -2 ) * q ) - EXP( 2 * q ) ) / t ) ); + END_IF; + ef_subscript_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + str := v1; + k := v2; + RETURN( ctmv( str[k] ) ); + END_IF; + ef_eq_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str = st2 ) ); + END_IF; + ef_ne_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str <> st2 ) ); + END_IF; + ef_gt_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str > st2 ) ); + END_IF; + ef_lt_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str < st2 ) ); + END_IF; + ef_ge_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str >= st2 ) ); + END_IF; + ef_le_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str <= st2 ) ); + END_IF; + ef_subsequence_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) AND ( 'INTEGER' IN + TYPEOF( v3 ) ) THEN + str := v1; + j := v2; + k := v3; + RETURN( ctmv( str[j : k] ) ); + END_IF; + ef_concat_s : + BEGIN + str := ''; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'STRING' IN TYPEOF( vlist[i] ) THEN + st2 := vlist[i]; + str := str + st2; + REMOVE( vlist, i ); + ELSE + IF str <> '' THEN + INSERT( vlist, ctmv( str ), i ); + str := ''; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( str ) ); + END_IF; + IF str <> '' THEN + INSERT( vlist, ctmv( str ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_size_s : IF 'STRING' IN TYPEOF( v1 ) THEN + str := v1; + RETURN( ctmv( LENGTH( str ) ) ); + END_IF; + ef_format : IF ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + RETURN( ctmv( FORMAT( v1, v2 ) ) ); + END_IF; + ef_value : IF 'STRING' IN TYPEOF( v1 ) THEN + str := v1; + RETURN( ctmv( VALUE( str ) ) ); + END_IF; + ef_like : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + RETURN( ctmv( v1 LIKE v2 ) ); + END_IF; + ef_subscript_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + bin := v1; + k := v2; + RETURN( ctmv( bin[k] ) ); + END_IF; + ef_eq_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin = bi2 ) ); + END_IF; + ef_ne_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin <> bi2 ) ); + END_IF; + ef_gt_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin > bi2 ) ); + END_IF; + ef_lt_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin < bi2 ) ); + END_IF; + ef_ge_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin >= bi2 ) ); + END_IF; + ef_le_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin <= bi2 ) ); + END_IF; + ef_subsequence_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) AND ( 'INTEGER' IN + TYPEOF( v3 ) ) THEN + bin := v1; + j := v2; + k := v3; + RETURN( ctmv( bin[j : k] ) ); + END_IF; + ef_concat_b : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'BINARY' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + bi2 := vlist[i]; + bin := bin + bi2; + ELSE + bin := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + ELSE + IF boo THEN + INSERT( vlist, ctmv( bin ), i ); + boo := FALSE; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( bin ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( bin ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_size_b : IF 'BINARY' IN TYPEOF( v1 ) THEN + bin := v1; + RETURN( ctmv( BLENGTH( bin ) ) ); + END_IF; + ef_subscript_t : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + tpl := v1; + k := v2; + RETURN( ctmv( tpl[k] ) ); + END_IF; + ef_eq_t : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'LIST' IN TYPEOF( v2 ) ) THEN + lgc := equal_maths_values( v1, v2 ); + IF lgc <> UNKNOWN THEN + RETURN( ctmv( lgc ) ); + END_IF; + END_IF; + ef_ne_t : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'LIST' IN TYPEOF( v2 ) ) THEN + lgc := equal_maths_values( v1, v2 ); + IF lgc <> UNKNOWN THEN + RETURN( ctmv( NOT lgc ) ); + END_IF; + END_IF; + ef_concat_t : + BEGIN + tpl := []; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'STRING' IN TYPEOF( vlist[i] ) THEN + tp2 := vlist[i]; + tpl := tpl + tp2; + REMOVE( vlist, i ); + ELSE + IF SIZEOF( tpl ) <> 0 THEN + INSERT( vlist, ctmv( tpl ), i ); + tpl := []; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF SIZEOF( tpl ) <> 0 THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_size_t : IF 'LIST' IN TYPEOF( v1 ) THEN + tpl := v1; + RETURN( ctmv( SIZEOF( tpl ) ) ); + END_IF; + ef_entuple : RETURN( ctmv( vlist ) ); + ef_detuple : IF 'LIST' IN TYPEOF( v1 ) THEN + tpl := v1; + RETURN( ctmv( tpl[1] ) ); + END_IF; + ef_insert : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v3 ) ) THEN + tpl := v1; + k := v3; + INSERT( tpl, v2, k ); + RETURN( ctmv( tpl ) ); + END_IF; + ef_remove : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + tpl := v1; + k := v2; + REMOVE( tpl, k ); + RETURN( ctmv( tpl ) ); + END_IF; + ef_sum_it : IF good_t( v1, 'INTEGER' ) THEN + tpl := v1; + j := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + j := j + tpl[i]; + END_REPEAT; + RETURN( ctmv( j ) ); + END_IF; + ef_product_it : IF good_t( v1, 'INTEGER' ) THEN + tpl := v1; + j := 1; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + j := j * tpl[i]; + END_REPEAT; + RETURN( ctmv( j ) ); + END_IF; + ef_add_it : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF good_t( vlist[i], 'INTEGER' ) THEN + IF NOT boo THEN + tpl := vlist[i]; + boo := TRUE; + ELSE + tp2 := vlist[i]; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT l := 1 TO SIZEOF( tpl ) BY 1; + tpl[j] := tpl[j] + tp2[j]; + END_REPEAT; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_it : IF good_t( v1, 'INTEGER' ) AND good_t( v2, 'INTEGER' ) THEN + tpl := v1; + tp2 := v2; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := tpl[i] - tp2[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_scalar_mult_it : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND good_t( v2, 'INTEGER' ) THEN + j := v1; + tpl := v2; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := j * tpl[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_dot_prod_it : IF good_t( v1, 'INTEGER' ) AND good_t( v2, 'INTEGER' ) THEN + tpl := v1; + tp2 := v2; + j := 0; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + j := j + ( tpl[i] * tp2[i] ); + END_REPEAT; + RETURN( ctmv( j ) ); + END_IF; + ef_sum_rt : IF good_t( v1, 'REAL' ) THEN + tpl := v1; + r := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r + tpl[i]; + END_REPEAT; + RETURN( ctmv( r ) ); + END_IF; + ef_product_rt : IF good_t( v1, 'REAL' ) THEN + tpl := v1; + r := 1; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r * tpl[i]; + END_REPEAT; + RETURN( ctmv( r ) ); + END_IF; + ef_add_rt : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF good_t( vlist[i], 'REAL' ) THEN + IF NOT boo THEN + tpl := vlist[i]; + boo := TRUE; + ELSE + tp2 := vlist[i]; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT l := 1 TO SIZEOF( tpl ) BY 1; + tpl[j] := tpl[j] + tp2[j]; + END_REPEAT; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_rt : IF good_t( v1, 'REAL' ) AND good_t( v2, 'REAL' ) THEN + tpl := v1; + tp2 := v2; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := tpl[i] - tp2[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_scalar_mult_rt : IF ( 'REAL' IN TYPEOF( v1 ) ) AND good_t( v2, 'REAL' ) THEN + r := v1; + tpl := v2; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := r * tpl[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_dot_prod_rt : IF good_t( v1, 'REAL' ) AND good_t( v2, 'REAL' ) THEN + tpl := v1; + tp2 := v2; + r := 0; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r + ( tpl[i] * tp2[i] ); + END_REPEAT; + RETURN( ctmv( r ) ); + END_IF; + ef_norm_rt : IF good_t( v1, 'REAL' ) THEN + tpl := v1; + r := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r + ( tpl[i] * tpl[i] ); + END_REPEAT; + RETURN( ctmv( SQRT( r ) ) ); + END_IF; + ef_sum_ct : IF good_t( v1, cnlit ) THEN + tpl := v1; + p := 0; + q := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], r, s ); + p := p + r; + q := q + s; + END_REPEAT; + RETURN( makec( p, q ) ); + END_IF; + ef_product_ct : IF good_t( v1, cnlit ) THEN + tpl := v1; + p := 1; + q := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], r, s ); + p := ( p * r ) - ( q * s ); + q := ( p * s ) + ( q * r ); + END_REPEAT; + RETURN( makec( p, q ) ); + END_IF; + ef_add_ct : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF good_t( vlist[i], cnlit ) THEN + IF NOT boo THEN + tpl := vlist[i]; + boo := TRUE; + ELSE + tp2 := vlist[i]; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT l := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[j], p, q ); + parts( tp2[j], r, s ); + tpl[j] := makec( p + r, q + s ); + END_REPEAT; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_ct : IF good_t( v1, cnlit ) AND good_t( v2, cnlit ) THEN + tpl := v1; + tp2 := v2; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], p, q ); + parts( tp2[i], r, s ); + tpl[i] := makec( p - r, q - s ); + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_scalar_mult_ct : IF ( cnlit IN TYPEOF( v1 ) ) AND good_t( v2, cnlit ) THEN + parts( v1, p, q ); + tpl := v2; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], r, s ); + tpl[i] := makec( ( p * r ) - ( q * s ), ( p * s ) + ( q * r ) ); + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_dot_prod_ct : IF good_t( v1, cnlit ) AND good_t( v2, cnlit ) THEN + tpl := v1; + tp2 := v2; + t := 0; + u := 0; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], p, q ); + parts( tp2[i], r, s ); + t := t + ( p * r ) + ( q * s ); + u := ( u + ( q * r ) ) - ( p * s ); + END_REPEAT; + RETURN( makec( t, u ) ); + END_IF; + ef_norm_ct : IF good_t( v1, cnlit ) THEN + tpl := v1; + r := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], p, q ); + r := r + ( p * p ) + ( q * q ); + END_REPEAT; + RETURN( ctmv( SQRT( r ) ) ); + END_IF; + ef_if : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_i : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_r : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_c : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_s : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_b : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_t : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_ensemble : RETURN( make_finite_space( mem + vlist ) ); + ef_member_of : IF ( schema_prefix + 'MATHS_SPACE' ) IN TYPEOF( v2 ) THEN + lgc := member_of( v1, v2 ); + IF lgc <> UNKNOWN THEN + RETURN( ctmv( lgc ) ); + END_IF; + END_IF; + END_CASE; + RETURN( make_function_application( expr.func, vlist ) ); + END_IF; + IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN types THEN + gexpr := substitute( expr.func\abstracted_expression_function.expr, expr.func\quantifier_expression.variables, vlist ); + RETURN( simplify_generic_expression( gexpr ) ); + END_IF; + IF 'FINITE_FUNCTION' IN types THEN + pairs := expr.func\finite_function.pairs; + REPEAT i := 1 TO SIZEOF( pairs ) BY 1; + IF equal_maths_values( vlist[1], pairs[i][1] ) THEN + RETURN( simplify_maths_value( pairs[i][2] ) ); + END_IF; + END_REPEAT; + RETURN( make_function_application( expr.func, vlist ) ); + END_IF; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION simplify_generic_expression( + expr : generic_expression + ) : maths_value; + + FUNCTION make_number_literal( + nmb : NUMBER + ) : generic_literal; + IF 'INTEGER' IN TYPEOF( nmb ) THEN + RETURN( make_int_literal( nmb ) ); + END_IF; + RETURN( make_real_literal( nmb ) ); + + END_FUNCTION; + + FUNCTION restore_binary( + expr : binary_generic_expression; + opd1, opd2 : generic_expression + ) : generic_expression; + expr.operands[1] := opd1; + expr.operands[2] := opd2; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION restore_mulary( + expr : multiple_arity_generic_expression; + ops : LIST OF generic_expression + ) : generic_expression; + expr.operands := ops; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION restore_unary( + expr : unary_generic_expression; + opnd : generic_expression + ) : generic_expression; + expr.operand := opnd; + RETURN( expr ); + + END_FUNCTION; + + LOCAL + types : SET OF STRING := stripped_typeof( expr ); + v1 : maths_value; + v2 : maths_value; + vlist : LIST OF maths_value := []; + op1 : generic_expression; + op2 : generic_expression; + oplist : LIST OF generic_expression := []; + opnds : LIST [2 : ?] OF generic_expression; + n : INTEGER; + m : INTEGER; + finfun : maths_function_select; + boo : BOOLEAN; + str : STRING; + nmb : NUMBER; + END_LOCAL; + IF 'INT_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\int_literal.the_value ) ); + END_IF; + IF 'REAL_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\real_literal.the_value ) ); + END_IF; + IF 'BOOLEAN_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\boolean_literal.the_value ) ); + END_IF; + IF 'STRING_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\string_literal.the_value ) ); + END_IF; + IF 'COMPLEX_NUMBER_LITERAL' IN types THEN + RETURN( expr ); + END_IF; + IF 'LOGICAL_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\logical_literal.lit_value ) ); + END_IF; + IF 'BINARY_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\binary_literal.lit_value ) ); + END_IF; + IF 'MATHS_ENUM_LITERAL' IN types THEN + RETURN( expr\maths_enum_literal.lit_value ); + END_IF; + IF 'REAL_TUPLE_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\real_tuple_literal.lit_value ) ); + END_IF; + IF 'INTEGER_TUPLE_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\integer_tuple_literal.lit_value ) ); + END_IF; + IF 'ATOM_BASED_LITERAL' IN types THEN + RETURN( expr\atom_based_literal.lit_value ); + END_IF; + IF 'MATHS_TUPLE_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\maths_tuple_literal.lit_value ) ); + END_IF; + IF 'MATHS_SPACE' IN types THEN + RETURN( simplify_maths_space( expr ) ); + END_IF; + IF 'FUNCTION_APPLICATION' IN types THEN + RETURN( simplify_function_application( expr ) ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN types THEN + v1 := simplify_generic_expression( expr\unary_generic_expression.operand ); + op1 := convert_to_operand( v1 ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN types THEN + v1 := simplify_generic_expression( expr\binary_generic_expression.operands[1] ); + op1 := convert_to_operand( v1 ); + v2 := simplify_generic_expression( expr\binary_generic_expression.operands[2] ); + op2 := convert_to_operand( v2 ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN + opnds := expr\multiple_arity_generic_expression.operands; + REPEAT i := 1 TO SIZEOF( opnds ) BY 1; + v1 := simplify_generic_expression( opnds[i] ); + INSERT( vlist, v1, i - 1 ); + INSERT( oplist, convert_to_operand( v1 ), i - 1 ); + END_REPEAT; + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN + v1 := vlist[1]; + n := SIZEOF( vlist ); + finfun := vlist[n]; + REMOVE( vlist, n ); + REMOVE( vlist, 1 ); + RETURN( make_parallel_composed_function( v1, vlist, finfun ) ); + END_IF; + IF ( 'ABS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ABS( v1 ) ) ); + END_IF; + IF ( 'ACOS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ACOS( v1 ) ) ); + END_IF; + IF 'AND_EXPRESSION' IN types THEN + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'BOOLEAN' IN TYPEOF( vlist[i] ) THEN + boo := vlist[i]; + IF NOT boo THEN + RETURN( convert_to_maths_value( FALSE ) ); + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( TRUE ) ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'ASIN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ASIN( v1 ) ) ); + END_IF; + IF ( 'ATAN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( ATAN( v1, v2 ) ) ); + END_IF; + IF ( 'COMPARISON_EXPRESSION' IN types ) AND ( ( ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) ) OR ( ( 'STRING' + IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) ) OR ( ( 'BOOLEAN' IN TYPEOF( v1 ) ) AND ( 'BOOLEAN' IN TYPEOF( v2 ) ) ) ) + THEN + IF 'COMPARISON_EQUAL' IN types THEN + boo := bool( v1 = v2 ); + ELSE + IF 'COMPARISON_GREATER' IN types THEN + boo := bool( v1 > v2 ); + ELSE + IF 'COMPARISON_GREATER_EQUAL' IN types THEN + boo := bool( v1 >= v2 ); + ELSE + IF 'COMPARISON_LESS' IN types THEN + boo := bool( v1 < v2 ); + ELSE + IF 'COMPARISON_LESS_EQUAL' IN types THEN + boo := bool( v1 <= v2 ); + ELSE + IF 'COMPARISON_NOT_EQUAL' IN types THEN + boo := bool( v1 <> v2 ); + ELSE + IF 'LIKE_EXPRESSION' IN types THEN + boo := bool( v1 LIKE v2 ); + ELSE + RETURN( ? ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( convert_to_maths_value( boo ) ); + END_IF; + IF 'CONCAT_EXPRESSION' IN types THEN + str := ''; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'STRING' IN TYPEOF( vlist[i] ) THEN + str := vlist[i] + str; + REMOVE( oplist, i ); + ELSE + IF LENGTH( str ) > 0 THEN + INSERT( oplist, make_string_literal( str ), i ); + str := ''; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( str ) ); + END_IF; + IF LENGTH( str ) > 0 THEN + INSERT( oplist, make_string_literal( str ), 0 ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'COS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( COS( v1 ) ) ); + END_IF; + IF ( 'DIV_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 DIV v2 ) ); + END_IF; + IF 'EQUALS_EXPRESSION' IN types THEN + opnds := expr\binary_generic_expression.operands; + RETURN( convert_to_maths_value( opnds[1] :=: opnds[2] ) ); + END_IF; + IF ( 'EXP_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( EXP( v1 ) ) ); + END_IF; + IF ( 'FORMAT_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( FORMAT( v1, v2 ) ) ); + END_IF; + IF ( 'INDEX_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + str := v1; + n := v2; + RETURN( convert_to_maths_value( str[n] ) ); + END_IF; + IF ( 'INT_VALUE_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( VALUE( v1 ) ) ); + END_IF; + IF 'INTERVAL_EXPRESSION' IN types THEN + str := ''; + IF 'NUMBER' IN TYPEOF( vlist[1] ) THEN + str := 'NUMBER'; + END_IF; + IF 'STRING' IN TYPEOF( vlist[1] ) THEN + str := 'STRING'; + END_IF; + IF 'BOOLEAN' IN TYPEOF( vlist[1] ) THEN + str := 'BOOLEAN'; + END_IF; + IF ( LENGTH( str ) > 0 ) AND ( str IN TYPEOF( vlist[2] ) ) AND ( str IN TYPEOF( vlist[3] ) ) THEN + RETURN( convert_to_maths_value( ( vlist[1] <= vlist[2] ) AND ( vlist[2] <= vlist[3] ) ) ); + END_IF; + END_IF; + IF ( 'LENGTH_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LENGTH( v1 ) ) ); + END_IF; + IF ( 'LOG_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LOG( v1 ) ) ); + END_IF; + IF ( 'LOG10_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LOG10( v1 ) ) ); + END_IF; + IF ( 'LOG2_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LOG2( v1 ) ) ); + END_IF; + IF 'MAXIMUM_EXPRESSION' IN types THEN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + IF nmb < vlist[i] THEN + nmb := vlist[i]; + END_IF; + ELSE + nmb := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF boo THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + END_IF; + IF 'MINIMUM_EXPRESSION' IN types THEN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + IF nmb > vlist[i] THEN + nmb := vlist[i]; + END_IF; + ELSE + nmb := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF boo THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + END_IF; + IF ( 'MINUS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 - v2 ) ); + END_IF; + IF ( 'MOD_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 MOD v2 ) ); + END_IF; + IF 'MULT_EXPRESSION' IN types THEN + nmb := 1; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + nmb := nmb * vlist[i]; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF nmb <> 1 THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'NOT_EXPRESSION' IN types ) AND ( 'BOOLEAN' IN TYPEOF( v1 ) ) THEN + boo := v1; + RETURN( convert_to_maths_value( NOT boo ) ); + END_IF; + IF ( 'ODD_EXPRESSION' IN types ) AND ( 'INTEGER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ODD( v1 ) ) ); + END_IF; + IF 'OR_EXPRESSION' IN types THEN + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'BOOLEAN' IN TYPEOF( vlist[i] ) THEN + boo := vlist[i]; + IF boo THEN + RETURN( convert_to_maths_value( TRUE ) ); + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( FALSE ) ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF 'PLUS_EXPRESSION' IN types THEN + nmb := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + nmb := nmb + vlist[i]; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF nmb <> 0 THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'POWER_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 ** v2 ) ); + END_IF; + IF ( 'SIN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( SIN( v1 ) ) ); + END_IF; + IF ( 'SLASH_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 / v2 ) ); + END_IF; + IF ( 'SQUARE_ROOT_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( SQRT( v1 ) ) ); + END_IF; + IF ( 'SUBSTRING_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( vlist[1] ) ) AND ( 'NUMBER' IN TYPEOF( vlist[2] ) ) AND ( + 'NUMBER' IN TYPEOF( vlist[3] ) ) THEN + str := vlist[1]; + n := vlist[2]; + m := vlist[3]; + RETURN( convert_to_maths_value( str[n : m] ) ); + END_IF; + IF ( 'TAN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( TAN( v1 ) ) ); + END_IF; + IF ( 'UNARY_MINUS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + nmb := v1; + RETURN( convert_to_maths_value( -nmb ) ); + END_IF; + IF ( 'VALUE_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( VALUE( v1 ) ) ); + END_IF; + IF ( 'XOR_EXPRESSION' IN types ) AND ( 'BOOLEAN' IN TYPEOF( v1 ) ) AND ( 'BOOLEAN' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 XOR v2 ) ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN types THEN + RETURN( restore_unary( expr, op1 ) ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN types THEN + RETURN( restore_binary( expr, op1, op2 ) ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN + RETURN( restore_mulary( expr, oplist ) ); + END_IF; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION simplify_maths_space( + spc : maths_space + ) : maths_space; + + LOCAL + stypes : SET OF STRING := stripped_typeof( spc ); + sset : SET OF maths_value; + zset : SET OF maths_value := []; + zval : maths_value; + zspc : maths_space; + zallint : BOOLEAN := TRUE; + zint : INTEGER; + zmin : INTEGER; + zmax : INTEGER; + factors : LIST OF maths_space; + zfactors : LIST OF maths_space := []; + rspc : maths_space; + END_LOCAL; + IF 'FINITE_SPACE' IN stypes THEN + sset := spc\finite_space.members; + REPEAT i := 1 TO SIZEOF( sset ) BY 1; + zval := simplify_maths_value( sset[i] ); + zset := zset + [zval]; + IF zallint AND ( 'INTEGER' IN TYPEOF( zval ) ) THEN + zint := zval; + IF i = 1 THEN + zmin := zint; + zmax := zint; + ELSE + IF zint < zmin THEN + zmin := zint; + END_IF; + IF zint > zmax THEN + zmax := zint; + END_IF; + END_IF; + ELSE + zallint := FALSE; + END_IF; + END_REPEAT; + IF zallint AND ( SIZEOF( zset ) = ( ( zmax - zmin ) + 1 ) ) THEN + RETURN( make_finite_integer_interval( zmin, zmax ) ); + END_IF; + RETURN( make_finite_space( zset ) ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN + zspc := simplify_maths_space( spc\uniform_product_space.base ); + RETURN( make_uniform_product_space( zspc, spc\uniform_product_space.exponent ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN stypes THEN + factors := spc\listed_product_space.factors; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + INSERT( zfactors, simplify_maths_space( factors[i] ), i - 1 ); + END_REPEAT; + RETURN( make_listed_product_space( zfactors ) ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN + zspc := simplify_maths_space( spc\extended_tuple_space.base ); + rspc := simplify_maths_space( spc\extended_tuple_space.extender ); + RETURN( make_extended_tuple_space( zspc, rspc ) ); + END_IF; + IF 'FUNCTION_SPACE' IN stypes THEN + zspc := simplify_maths_space( spc\function_space.domain_argument ); + rspc := simplify_maths_space( spc\function_space.range_argument ); + RETURN( make_function_space( spc\function_space.domain_constraint, zspc, spc\function_space.range_constraint, rspc ) ); + END_IF; + RETURN( spc ); + + END_FUNCTION; + + FUNCTION simplify_maths_value( + val : maths_value + ) : maths_value; + + LOCAL + vtypes : SET OF STRING := stripped_typeof( val ); + vlist : LIST OF maths_value; + nlist : LIST OF maths_value := []; + END_LOCAL; + IF 'GENERIC_EXPRESSION' IN vtypes THEN + RETURN( simplify_generic_expression( val ) ); + END_IF; + IF 'LIST' IN vtypes THEN + vlist := val; + REPEAT i := 1 TO SIZEOF( vlist ) BY 1; + INSERT( nlist, simplify_maths_value( vlist[i] ), i - 1 ); + END_REPEAT; + RETURN( convert_to_maths_value( nlist ) ); + END_IF; + RETURN( val ); + + END_FUNCTION; + + FUNCTION singleton_member_of( + spc : maths_space + ) : maths_value; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + END_LOCAL; + IF 'FINITE_SPACE' IN types THEN + IF SIZEOF( spc\finite_space.members ) = 1 THEN + RETURN( spc\finite_space.members[1] ); + END_IF; + RETURN( ? ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN types THEN + IF spc\finite_integer_interval.size = 1 THEN + RETURN( spc\finite_integer_interval.min ); + END_IF; + RETURN( ? ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION sort_link_associations( + aprr : SET [1 : ?] OF pair_representation_relationship; + one_not_two : BOOLEAN + ) : SET OF kinematic_link_representation; + + LOCAL + result : SET OF kinematic_link_representation := []; + END_LOCAL; + IF one_not_two THEN + REPEAT i := 1 TO HIINDEX( aprr ) BY 1; + result := result + aprr[i].rep_1; + END_REPEAT; + ELSE + REPEAT i := 1 TO HIINDEX( aprr ) BY 1; + result := result + aprr[i].rep_2; + END_REPEAT; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION space_dimension( + tspace : tuple_space + ) : nonnegative_integer; + + LOCAL + types : SET OF STRING := TYPEOF( tspace ); + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN types THEN + RETURN( tspace\uniform_product_space.exponent ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN types THEN + RETURN( SIZEOF( tspace\listed_product_space.factors ) ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN types THEN + RETURN( space_dimension( tspace\extended_tuple_space.base ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION space_is_continuum( + space : maths_space + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := TYPEOF( space ); + factors : LIST OF maths_space; + END_LOCAL; + IF NOT EXISTS( space ) THEN + RETURN( FALSE ); + END_IF; + IF subspace_of_es( space, es_reals ) OR subspace_of_es( space, es_complex_numbers ) THEN + RETURN( TRUE ); + END_IF; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN typenames THEN + RETURN( space_is_continuum( space\uniform_product_space.base ) ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN typenames THEN + factors := space\listed_product_space.factors; + IF SIZEOF( factors ) = 0 THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + IF NOT space_is_continuum( factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION space_is_singleton( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + END_LOCAL; + IF 'FINITE_SPACE' IN types THEN + RETURN( bool( SIZEOF( spc\finite_space.members ) = 1 ) ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN types THEN + RETURN( bool( spc\finite_integer_interval.size = 1 ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION stripped_typeof( + arg : GENERIC:g + ) : SET OF STRING; + + LOCAL + types : SET OF STRING := TYPEOF( arg ); + stypes : SET OF STRING := []; + n : INTEGER := LENGTH( schema_prefix ); + END_LOCAL; + REPEAT i := 1 TO SIZEOF( types ) BY 1; +(* this line + IF types[i][1 : n] = schema_prefix THEN + replaced by the following one as patch for BZ#5018 *) + IF ((LENGTH(types[i]) > n) AND (types[i][1:n] = schema_prefix)) THEN + stypes := stypes + types[i][n + 1 : LENGTH( types[i] )]; + ELSE + stypes := stypes + types[i]; + END_IF; + END_REPEAT; + RETURN( stypes ); + + END_FUNCTION; + + FUNCTION sts_get_general_datum_reference( + input : datum_reference_element + ) : general_datum_reference; + + LOCAL + general_datum_reference_bag : BAG OF general_datum_reference := USEDIN( input, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_DATUM_REFERENCE.' + 'BASE' ); + END_LOCAL; + IF SIZEOF( general_datum_reference_bag ) = 1 THEN + RETURN( general_datum_reference_bag[1] ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION sts_get_product_definition_shape( + input : geometric_tolerance_target + ) : product_definition_shape; + CASE TRUE OF + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSIONAL_LOCATION' IN TYPEOF( input ) : RETURN( input\ + shape_aspect_relationship.relating_shape_aspect\shape_aspect.of_shape ); + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSIONAL_SIZE' IN TYPEOF( input ) : RETURN( input\ + dimensional_size.applies_to\shape_aspect.of_shape ); + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( input ) : RETURN( input ); + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( input ) : RETURN( input\shape_aspect. + of_shape ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION subspace_of( + space1, space2 : maths_space + ) : LOGICAL; + + LOCAL + spc1 : maths_space := simplify_maths_space( space1 ); + spc2 : maths_space := simplify_maths_space( space2 ); + types1 : SET OF STRING := stripped_typeof( spc1 ); + types2 : SET OF STRING := stripped_typeof( spc2 ); + lgcl : LOGICAL; + cum : LOGICAL; + es_val : elementary_space_enumerators; + bnd1 : REAL; + bnd2 : REAL; + n : INTEGER; + sp1 : maths_space; + sp2 : maths_space; + prgn1 : polar_complex_number_region; + prgn2 : polar_complex_number_region; + aitv : finite_real_interval; + END_LOCAL; + IF ( NOT EXISTS( spc1 ) ) OR ( NOT EXISTS( spc2 ) ) THEN + RETURN( FALSE ); + END_IF; + IF spc2 = the_generics THEN + RETURN( TRUE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types1 THEN + IF NOT ( 'ELEMENTARY_SPACE' IN types2 ) THEN + RETURN( FALSE ); + END_IF; + es_val := spc2\elementary_space.space_id; + IF spc1\elementary_space.space_id = es_val THEN + RETURN( TRUE ); + END_IF; + CASE spc1\elementary_space.space_id OF + es_numbers : RETURN( FALSE ); + es_complex_numbers : RETURN( es_val = es_numbers ); + es_reals : RETURN( es_val = es_numbers ); + es_integers : RETURN( es_val = es_numbers ); + es_logicals : RETURN( FALSE ); + es_booleans : RETURN( es_val = es_logicals ); + es_strings : RETURN( FALSE ); + es_binarys : RETURN( FALSE ); + es_maths_spaces : RETURN( FALSE ); + es_maths_functions : RETURN( FALSE ); + es_generics : RETURN( FALSE ); + END_CASE; + RETURN( UNKNOWN ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN types1 THEN + cum := TRUE; + REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max BY 1; + cum := cum AND member_of( i, spc2 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'INTEGER_INTERVAL_FROM_MIN' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_integers ) ); + END_IF; + IF 'INTEGER_INTERVAL_FROM_MIN' IN types2 THEN + RETURN( spc1\integer_interval_from_min.min >= spc2\integer_interval_from_min.min ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'INTEGER_INTERVAL_TO_MAX' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_integers ) ); + END_IF; + IF 'INTEGER_INTERVAL_TO_MAX' IN types2 THEN + RETURN( spc1\integer_interval_to_max.max <= spc2\integer_interval_to_max.max ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_REAL_INTERVAL' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_reals ) ); + END_IF; + IF ( 'FINITE_REAL_INTERVAL' IN types2 ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types2 ) OR ( 'REAL_INTERVAL_TO_MAX' IN types2 ) + THEN + IF min_exists( spc2 ) THEN + bnd1 := spc1\finite_real_interval.min; + bnd2 := real_min( spc2 ); + IF ( bnd1 < bnd2 ) OR ( ( bnd1 = bnd2 ) AND min_included( spc1 ) AND ( NOT min_included( spc2 ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF max_exists( spc2 ) THEN + bnd1 := spc1\finite_real_interval.max; + bnd2 := real_max( spc2 ); + IF ( bnd1 > bnd2 ) OR ( ( bnd1 = bnd2 ) AND max_included( spc1 ) AND ( NOT max_included( spc2 ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_FROM_MIN' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_reals ) ); + END_IF; + IF 'REAL_INTERVAL_FROM_MIN' IN types2 THEN + bnd1 := spc1\real_interval_from_min.min; + bnd2 := spc2\real_interval_from_min.min; + RETURN( ( bnd2 < bnd1 ) OR ( ( bnd2 = bnd1 ) AND ( min_included( spc2 ) OR ( NOT min_included( spc1 ) ) ) ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_TO_MAX' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_reals ) ); + END_IF; + IF 'REAL_INTERVAL_TO_MAX' IN types2 THEN + bnd1 := spc1\real_interval_to_max.max; + bnd2 := spc2\real_interval_to_max.max; + RETURN( ( bnd2 > bnd1 ) OR ( ( bnd2 = bnd1 ) AND ( max_included( spc2 ) OR ( NOT max_included( spc1 ) ) ) ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_complex_numbers ) ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN + RETURN( subspace_of( spc1\cartesian_complex_number_region.real_constraint, spc2\cartesian_complex_number_region. + real_constraint ) AND subspace_of( spc1\cartesian_complex_number_region.imag_constraint, spc2\ + cartesian_complex_number_region.imag_constraint ) ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN + RETURN( subspace_of( enclose_cregion_in_pregion( spc1, spc2\polar_complex_number_region.centre ), spc2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_complex_numbers ) ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN + RETURN( subspace_of( enclose_pregion_in_cregion( spc1 ), spc2 ) ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN + prgn1 := spc1; + prgn2 := spc2; + IF prgn1.centre = prgn2.centre THEN + IF prgn2.direction_constraint.max > PI THEN + aitv := make_finite_real_interval( -PI, open, prgn2.direction_constraint.max - ( 2 * PI ), prgn2.direction_constraint + .max_closure ); + RETURN( subspace_of( prgn1.distance_constraint, prgn2.distance_constraint ) AND ( subspace_of( prgn1. + direction_constraint, prgn2.direction_constraint ) OR subspace_of( prgn1.direction_constraint, aitv ) ) ); + ELSE + RETURN( subspace_of( prgn1.distance_constraint, prgn2.distance_constraint ) AND subspace_of( prgn1. + direction_constraint, prgn2.direction_constraint ) ); + END_IF; + END_IF; + RETURN( subspace_of( enclose_pregion_in_pregion( prgn1, prgn2.centre ), prgn2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_SPACE' IN types1 THEN + cum := TRUE; + REPEAT i := 1 TO SIZEOF( spc1\finite_space.members ) BY 1; + cum := cum AND member_of( spc1\finite_space.members[i], spc2 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'PRODUCT_SPACE' IN types1 THEN + IF 'PRODUCT_SPACE' IN types2 THEN + IF space_dimension( spc1 ) = space_dimension( spc2 ) THEN + cum := TRUE; + REPEAT i := 1 TO space_dimension( spc1 ) BY 1; + cum := cum AND subspace_of( factor_space( spc1, i ), factor_space( spc2, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + IF space_dimension( spc1 ) >= space_dimension( spc2 ) THEN + cum := TRUE; + REPEAT i := 1 TO space_dimension( spc1 ) BY 1; + cum := cum AND subspace_of( factor_space( spc1, i ), factor_space( spc2, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + n := space_dimension( spc1 ); + IF n < space_dimension( spc2 ) THEN + n := space_dimension( spc2 ); + END_IF; + cum := TRUE; + REPEAT i := 1 TO n + 1 BY 1; + cum := cum AND subspace_of( factor_space( spc1, i ), factor_space( spc2, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + RETURN( spc2\elementary_space.space_id = es_maths_functions ); + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + cum := TRUE; + sp1 := spc1\function_space.domain_argument; + sp2 := spc2\function_space.domain_argument; + CASE spc1\function_space.domain_constraint OF + sc_equal : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : cum := cum AND equal_maths_spaces( sp1, sp2 ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : cum := cum AND member_of( sp1, sp2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : RETURN( FALSE ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : + BEGIN + IF NOT member_of( sp1, sp2 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + END_CASE; + END; + sc_member : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : cum := cum AND space_is_singleton( sp1 ) AND equal_maths_spaces( + singleton_member_of( sp1 ), sp2 ); + sc_subspace : + BEGIN + IF NOT member_of( sp2, sp1 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + sc_member : cum := cum AND subspace_of( sp1, sp2 ); + END_CASE; + END; + END_CASE; + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + sp1 := spc1\function_space.range_argument; + sp2 := spc2\function_space.range_argument; + CASE spc1\function_space.range_constraint OF + sc_equal : + BEGIN + CASE spc2\function_space.range_constraint OF + sc_equal : cum := cum AND equal_maths_spaces( sp1, sp2 ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : cum := cum AND member_of( sp1, sp2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : RETURN( FALSE ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : + BEGIN + IF NOT member_of( sp1, sp2 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + END_CASE; + END; + sc_member : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : cum := cum AND space_is_singleton( sp1 ) AND equal_maths_spaces( + singleton_member_of( sp1 ), sp2 ); + sc_subspace : + BEGIN + IF NOT member_of( sp2, sp1 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + sc_member : cum := cum AND subspace_of( sp1, sp2 ); + END_CASE; + END; + END_CASE; + RETURN( cum ); + END_IF; + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION subspace_of_es( + spc : maths_space; + es : elementary_space_enumerators + ) : LOGICAL; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + END_LOCAL; + IF ( NOT EXISTS( spc ) ) OR ( NOT EXISTS( es ) ) THEN + RETURN( FALSE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types THEN + RETURN( es_subspace_of_es( spc\elementary_space.space_id, es ) ); + END_IF; + IF 'FINITE_SPACE' IN types THEN + RETURN( all_members_of_es( spc\finite_space.members, es ) ); + END_IF; + CASE es OF + es_numbers : RETURN( ( 'FINITE_INTEGER_INTERVAL' IN types ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types ) OR + ( 'INTEGER_INTERVAL_TO_MAX' IN types ) OR ( 'FINITE_REAL_INTERVAL' IN types ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types ) + OR ( 'REAL_INTERVAL_TO_MAX' IN types ) OR ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types ) OR ( + 'POLAR_COMPLEX_NUMBER_REGION' IN types ) ); + es_complex_numbers : RETURN( ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types ) OR ( 'POLAR_COMPLEX_NUMBER_REGION' IN + types ) ); + es_reals : RETURN( ( 'FINITE_REAL_INTERVAL' IN types ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types ) OR ( + 'REAL_INTERVAL_TO_MAX' IN types ) ); + es_integers : RETURN( ( 'FINITE_INTEGER_INTERVAL' IN types ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types ) OR + ( 'INTEGER_INTERVAL_TO_MAX' IN types ) ); + es_logicals : RETURN( FALSE ); + es_booleans : RETURN( FALSE ); + es_strings : RETURN( FALSE ); + es_binarys : RETURN( FALSE ); + es_maths_spaces : RETURN( FALSE ); + es_maths_functions : RETURN( 'FUNCTION_SPACE' IN types ); + es_generics : RETURN( TRUE ); + END_CASE; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION substitute( + expr : generic_expression; + vars : LIST [1 : ?] OF generic_variable; + vals : LIST [1 : ?] OF maths_value + ) : generic_expression; + + LOCAL + types : SET OF STRING := stripped_typeof( expr ); + opnds : LIST OF generic_expression; + op1 : generic_expression; + op2 : generic_expression; + qvars : LIST OF generic_variable; + srcdom : maths_space_or_function; + prpfun : LIST [1 : ?] OF maths_function; + finfun : maths_function_select; + END_LOCAL; + IF SIZEOF( vars ) <> SIZEOF( vals ) THEN + RETURN( ? ); + END_IF; + IF 'GENERIC_LITERAL' IN types THEN + RETURN( expr ); + END_IF; + IF 'GENERIC_VARIABLE' IN types THEN + REPEAT i := 1 TO SIZEOF( vars ) BY 1; + IF expr :=: vars[i] THEN + RETURN( vals[i] ); + END_IF; + END_REPEAT; + RETURN( expr ); + END_IF; + IF 'QUANTIFIER_EXPRESSION' IN types THEN + qvars := expr\quantifier_expression.variables; + REPEAT i := SIZEOF( vars ) TO 1 BY -1; + IF vars[i] IN qvars THEN + REMOVE( vars, i ); + REMOVE( vals, i ); + END_IF; + END_REPEAT; + opnds := expr\multiple_arity_generic_expression.operands; + REPEAT i := 1 TO SIZEOF( opnds ) BY 1; + IF NOT ( opnds[i] IN qvars ) THEN + expr\multiple_arity_generic_expression.operands[i] := substitute( opnds[i], vars, vals ); + END_IF; + END_REPEAT; + RETURN( expr ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN types THEN + op1 := expr\unary_generic_expression.operand; + expr\unary_generic_expression.operand := substitute( op1, vars, vals ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN types THEN + op1 := expr\binary_generic_expression.operands[1]; + expr\binary_generic_expression.operands[1] := substitute( op1, vars, vals ); + op2 := expr\binary_generic_expression.operands[2]; + expr\binary_generic_expression.operands[2] := substitute( op2, vars, vals ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN + srcdom := expr\parallel_composed_function.source_of_domain; + prpfun := expr\parallel_composed_function.prep_functions; + finfun := expr\parallel_composed_function.final_function; + srcdom := substitute( srcdom, vars, vals ); + REPEAT i := 1 TO SIZEOF( prpfun ) BY 1; + prpfun[i] := substitute( prpfun[i], vars, vals ); + END_REPEAT; + IF 'MATHS_FUNCTION' IN stripped_typeof( finfun ) THEN + finfun := substitute( finfun, vars, vals ); + END_IF; + RETURN( make_parallel_composed_function( srcdom, prpfun, finfun ) ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN + opnds := expr\multiple_arity_generic_expression.operands; + REPEAT i := 1 TO SIZEOF( opnds ) BY 1; + expr\multiple_arity_generic_expression.operands[i] := substitute( opnds[i], vars, vals ); + END_REPEAT; + END_IF; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION surface_condition_correlation( + pd : property_definition; + rep : representation + ) : LOGICAL; + CASE pd.name OF + 'visual appearance' : RETURN( pd.name = rep.name ); + 'tactile appearance' : RETURN( pd.name = rep.name ); + 'contact ratio' : RETURN( pd.name = rep.name ); + 'hardness' : RETURN( pd.name = rep.name ); + 'treatment result' : RETURN( pd.name = rep.name ); + 'surface texture' : RETURN( pd.name = rep.name ); + OTHERWISE : RETURN( UNKNOWN ); + END_CASE; + + END_FUNCTION; + + FUNCTION surface_weights_positive( + b : rational_b_spline_surface + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 0 TO b.u_upper BY 1; + REPEAT j := 0 TO b.v_upper BY 1; + IF b.weights[i][j] <= 0 THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION temporal_spatial_domain_for_model( + domain : numerical_model + ) : BOOLEAN; + + LOCAL + spatial_set : SET OF spatial_decomposition_of_numerical_model; + behavioural_set : SET OF behavioural_decomposition_of_numerical_model; + domains : SET OF numerical_model := []; + viewing : BAG OF view_relationship; + spatial_bag : BAG OF spatial_decomposition_of_numerical_model; + behavioural_bag : BAG OF behavioural_decomposition_of_numerical_model; + END_LOCAL; + viewing := USEDIN( domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VIEW_RELATIONSHIP.VIEW' ); + IF SIZEOF( viewing ) > 0 THEN + RETURN( TRUE ); + END_IF; + spatial_bag := USEDIN( domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPATIAL_DECOMPOSITION_OF_NUMERICAL_MODEL.' + + 'PARTS' ); + IF SIZEOF( spatial_bag ) > 0 THEN + spatial_set := bag_to_set( spatial_bag ); + REPEAT i := 1 TO HIINDEX( spatial_set ) BY 1; + domains := domains + spatial_set[i].whole; + END_REPEAT; + END_IF; + behavioural_bag := USEDIN( domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'BEHAVIOURAL_DECOMPOSITION_OF_NUMERICAL_MODEL.PARTS' ); + IF SIZEOF( behavioural_bag ) > 0 THEN + behavioural_set := bag_to_set( behavioural_bag ); + REPEAT i := 1 TO HIINDEX( behavioural_set ) BY 1; + domains := domains + behavioural_set[i].whole; + END_REPEAT; + END_IF; + IF SIZEOF( domains ) > 0 THEN + REPEAT i := 1 TO HIINDEX( domains ) BY 1; + IF temporal_spatial_domain_for_model( domains[i] ) THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION topology_reversed( + an_item : reversible_topology + ) : reversible_topology; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF( an_item ) THEN + RETURN( edge_reversed( an_item ) ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH' IN TYPEOF( an_item ) THEN + RETURN( path_reversed( an_item ) ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BOUND' IN TYPEOF( an_item ) THEN + RETURN( face_bound_reversed( an_item ) ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE' IN TYPEOF( an_item ) THEN + RETURN( face_reversed( an_item ) ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL' IN TYPEOF( an_item ) THEN + RETURN( shell_reversed( an_item ) ); + END_IF; + IF 'SET' IN TYPEOF( an_item ) THEN + RETURN( set_of_topology_reversed( an_item ) ); + END_IF; + IF 'LIST' IN TYPEOF( an_item ) THEN + RETURN( list_of_topology_reversed( an_item ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION type_check_function( + the_type : GENERIC; + sub_names : SET OF STRING; + criterion : INTEGER + ) : LOGICAL; + IF ( NOT EXISTS( the_type ) ) OR ( SIZEOF( sub_names ) = 0 ) THEN + RETURN( UNKNOWN ); + ELSE + CASE criterion OF + 0 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) > 0 ); + 1 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) = 0 ); + 2 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) = 1 ); + 3 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) <= 1 ); + OTHERWISE : RETURN( UNKNOWN ); + END_CASE; + END_IF; + + END_FUNCTION; + + FUNCTION unambiguously_specified_multi_level_reference_designator( + links : LIST [1 : ?] OF next_assembly_usage_occurrence + ) : BOOLEAN; + REPEAT i := 1 TO SIZEOF( links ) - 1 BY 1; + CASE TRUE OF + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( links[i]\ + product_definition_relationship.relating_product_definition ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( links[i]\ + product_definition_relationship.related_product_definition ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( links[i + 1]\ + product_definition_relationship.relating_product_definition ) ) : + BEGIN + IF NOT ( ( links[i]\product_definition_relationship.related_product_definition :=: links[i + 1]\ + product_definition_relationship.relating_product_definition ) OR ( ( SIZEOF( QUERY ( pdr <* USEDIN( links[i]\ + product_definition_relationship.related_product_definition, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) | ( pdr\product_definition_relationship. + relating_product_definition :=: links[i + 1]\product_definition_relationship.relating_product_definition ) ) ) = 1 ) + AND ( links[i]\product_definition_relationship.related_product_definition\product_definition.formation\ + product_definition_formation.of_product :=: links[i + 1]\product_definition_relationship. + relating_product_definition\product_definition.formation\product_definition_formation.of_product ) ) ) THEN + RETURN( FALSE ); + END_IF; + END; + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF( links[i]\ + product_definition_relationship.related_product_definition ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF( links[i + 1]\ + product_definition_relationship.relating_product_definition ) ) : + BEGIN + IF NOT ( ( links[i]\product_definition_relationship.related_product_definition :=: links[i + 1]\ + product_definition_relationship.relating_product_definition ) OR ( ( SIZEOF( QUERY ( pdr <* USEDIN( links[i]\ + product_definition_relationship.related_product_definition, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) | ( pdr\product_definition_relationship. + relating_product_definition :=: links[i + 1]\product_definition_relationship.relating_product_definition ) ) ) = 1 ) + AND ( links[i]\product_definition_relationship.related_product_definition\product_definition_reference.product_id + = links[i + 1]\product_definition_relationship.relating_product_definition\product_definition_reference.product_id ) + AND ( links[i]\product_definition_relationship.related_product_definition\product_definition_reference. + id_owning_organization_name = links[i + 1]\product_definition_relationship.relating_product_definition\ + product_definition_reference.id_owning_organization_name ) AND ( links[i]\product_definition_relationship. + related_product_definition\product_definition_reference.product_definition_id <> links[i + 1]\ + product_definition_relationship.relating_product_definition\product_definition_reference.product_definition_id ) ) ) + THEN + RETURN( FALSE ); + END_IF; + END; + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF( links[i]\ + product_definition_relationship.relating_product_definition ) ) AND ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( links[i]\ + product_definition_relationship.related_product_definition ) ) : RETURN( FALSE ); + OTHERWISE : RETURN( FALSE ); + END_CASE; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION unique_in_product_definition( + item : representative_shape_representation + ) : BOOLEAN; + + LOCAL + local_p_d : SET OF product_definition := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + j : INTEGER; + END_LOCAL; + local_p_d := using_product_definition_of_shape_representation( item ); + IF SIZEOF( local_p_d ) <> 1 THEN + RETURN( FALSE ); + ELSE + REPEAT i := 1 TO HIINDEX( local_p_d ) BY 1; + local_s_r := find_shape_representation_of_product_definition( local_p_d[i] ); + REPEAT j := 1 TO HIINDEX( local_s_r ) BY 1; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( local_s_r[j] ) ) + AND ( local_s_r[j] :<>: item ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION unique_in_shape_aspect( + item : representative_shape_representation + ) : BOOLEAN; + + LOCAL + local_s_a : SET OF shape_aspect := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + j : INTEGER; + END_LOCAL; + local_s_a := using_shape_aspect_of_shape_representation( item ); + IF SIZEOF( local_s_a ) <> 1 THEN + RETURN( FALSE ); + ELSE + REPEAT i := 1 TO HIINDEX( local_s_a ) BY 1; + local_s_r := find_shape_representation_of_shape_aspect( local_s_a[i] ); + REPEAT j := 1 TO HIINDEX( local_s_r ) BY 1; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( local_s_r[j] ) ) + AND ( local_s_r[j] :<>: item ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION used_variables( + arg : generic_expression + ) : SET OF generic_variable; + + LOCAL + result : SET OF generic_variable := []; + END_LOCAL; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GENERIC_VARIABLE' IN TYPEOF( arg ) THEN + RETURN( [arg] ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNARY_GENERIC_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( used_variables( arg\unary_generic_expression.operand ) ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BINARY_GENERIC_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( used_variables( arg\binary_generic_expression.operands[1] ) + used_variables( arg\binary_generic_expression. + operands[2] ) ); + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' IN TYPEOF( arg ) THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_generic_expression.operands ) BY 1; + result := result + used_variables( arg\multiple_arity_generic_expression.operands[i] ); + END_REPEAT; + RETURN( result ); + END_IF; + RETURN( [] ); + + END_FUNCTION; + + FUNCTION using_items( + item : founded_item_select; + checked_items : SET OF founded_item_select + ) : SET OF founded_item_select; + + LOCAL + new_check_items : SET OF founded_item_select; + result_items : SET OF founded_item_select; + next_items : SET OF founded_item_select; + END_LOCAL; + result_items := []; + new_check_items := checked_items + item; + next_items := QUERY ( z <* bag_to_set( USEDIN( item, '' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM' IN TYPEOF( z ) ) OR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FOUNDED_ITEM' IN + TYPEOF( z ) ) ) ); + IF SIZEOF( next_items ) > 0 THEN + REPEAT i := 1 TO HIINDEX( next_items ) BY 1; + IF NOT ( next_items[i] IN new_check_items ) THEN + result_items := result_items + next_items[i] + using_items( next_items[i], new_check_items ); + END_IF; + END_REPEAT; + END_IF; + RETURN( result_items ); + + END_FUNCTION; + + FUNCTION using_product_definition_of_shape_aspect( + item : shape_aspect + ) : product_definition; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( item.of_shape.definition ) THEN + RETURN( item.of_shape.definition ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION using_product_definition_of_shape_representation( + item : shape_representation + ) : SET OF product_definition; + + LOCAL + local_s_d_r : SET OF shape_definition_representation := []; + local_p_d : SET OF product_definition := []; + i : INTEGER; + END_LOCAL; + local_s_d_r := QUERY ( i1 <* bag_to_set( USEDIN( item, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' ) IN TYPEOF( i1 ) ) ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION' IN TYPEOF( local_s_d_r[i]\ + property_definition_representation.definition ) THEN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( local_s_d_r[i]\ + property_definition_representation.definition\property_definition.definition ) THEN + local_p_d := local_p_d + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; + END_IF; + END_IF; + END_REPEAT; + RETURN( local_p_d ); + + END_FUNCTION; + + FUNCTION using_representation_with_mapping( + item : representation_item + ) : SET OF representation; + + LOCAL + results : SET OF representation := []; + local_results : SET OF representation := []; + local_representation_map : SET OF representation_map := []; + intermediate_items : SET OF representation_item := []; + i : INTEGER; + j : INTEGER; + END_LOCAL; + local_results := QUERY ( z <* using_representations( item ) | ( SIZEOF( USEDIN( z, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_MAP.' + 'MAPPED_REPRESENTATION' ) ) > 0 ) ); + IF SIZEOF( local_results ) = 0 THEN + RETURN( [] ); + ELSE + REPEAT i := 1 TO HIINDEX( local_results ) BY 1; + local_representation_map := local_representation_map + bag_to_set( USEDIN( local_results[i], + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( local_representation_map ) BY 1; + intermediate_items := intermediate_items + bag_to_set( USEDIN( local_representation_map[i], + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE' ) ); + END_REPEAT; + REPEAT j := 1 TO HIINDEX( intermediate_items ) BY 1; + results := results + bag_to_set( using_representation_with_mapping( intermediate_items[j] ) ); + END_REPEAT; + END_IF; + RETURN( results ); + + END_FUNCTION; + + FUNCTION using_representations( + item : founded_item_select + ) : SET OF representation; + + LOCAL + results : SET OF representation; + result_bag : BAG OF representation; + intermediate_items : SET OF founded_item_select; + END_LOCAL; + results := []; + result_bag := USEDIN( item, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS' ); + IF SIZEOF( result_bag ) > 0 THEN + REPEAT i := 1 TO HIINDEX( result_bag ) BY 1; + results := results + result_bag[i]; + END_REPEAT; + END_IF; + intermediate_items := using_items( item, [] ); + IF SIZEOF( intermediate_items ) > 0 THEN + REPEAT i := 1 TO HIINDEX( intermediate_items ) BY 1; + result_bag := USEDIN( intermediate_items[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS' ); + IF SIZEOF( result_bag ) > 0 THEN + REPEAT j := 1 TO HIINDEX( result_bag ) BY 1; + results := results + result_bag[j]; + END_REPEAT; + END_IF; + END_REPEAT; + END_IF; + RETURN( results ); + + END_FUNCTION; + + FUNCTION using_shape_aspect_of_shape_representation( + item : shape_representation + ) : SET OF shape_aspect; + + LOCAL + local_s_d_r : SET OF shape_definition_representation := []; + local_s_d_r2 : BAG OF shape_definition_representation := []; + local_s_a : SET OF shape_aspect := []; + i : INTEGER; + END_LOCAL; + local_s_d_r2 := local_s_d_r2 + QUERY ( pdr <* USEDIN( item, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + local_s_d_r := bag_to_set( local_s_d_r2 ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( local_s_d_r[i]\ + property_definition_representation.definition\property_definition.definition ) THEN + local_s_a := local_s_a + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; + END_IF; + END_REPEAT; + RETURN( local_s_a ); + + END_FUNCTION; + + FUNCTION valid_basis_curve_in_2d_wireframe( + crv : curve + ) : BOOLEAN; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ELLIPSE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE'] * TYPEOF( crv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF( crv ) THEN + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARABOLA' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'HYPERBOLA' ] * TYPEOF( crv\trimmed_curve.basis_curve ) ) = 1 THEN + RETURN( TRUE ); + ELSE + RETURN( valid_basis_curve_in_2d_wireframe( crv\trimmed_curve.basis_curve ) ); + END_IF; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_2D' IN TYPEOF( crv ) THEN + RETURN( valid_basis_curve_in_2d_wireframe( crv\offset_curve_2d.basis_curve ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( crv ) THEN + RETURN( valid_basis_curve_in_2d_wireframe( crv\curve_replica.parent_curve ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( crv ) THEN + RETURN( SIZEOF( QUERY ( ccs <* crv\composite_curve.segments | ( NOT valid_basis_curve_in_2d_wireframe( ccs. + parent_curve ) ) ) ) = 0 ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_calendar_date( + date : calendar_date + ) : LOGICAL; + CASE date.month_component OF + 1 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 2 : + BEGIN + IF leap_year( date.year_component ) THEN + RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 29 ) ); + ELSE + RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 28 ) ); + END_IF; + END; + 3 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 4 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 5 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 6 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 7 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 8 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 9 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 10 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 11 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 12 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + END_CASE; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_csg_2d_primitives( + input : csg_solid_2d + ) : BOOLEAN; + CASE TRUE OF + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRIMITIVE_2D' IN TYPEOF( input\csg_solid_2d.tree_root_expression ) : + BEGIN + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_AREA', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPLEX_AREA' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPTIC_AREA' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYGONAL_AREA' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_AREA' ] * TYPEOF( input\csg_solid_2d. + tree_root_expression ) ) > 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_RESULT_2D' IN TYPEOF( input\csg_solid_2d.tree_root_expression ) : RETURN + ( valid_csg_2d_primitives( input\csg_solid_2d.tree_root_expression\boolean_result_2d.first_operand ) AND + valid_csg_2d_primitives( input\csg_solid_2d.tree_root_expression\boolean_result_2d.second_operand ) ); + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.HALF_SPACE_2D' IN TYPEOF( input\csg_solid_2d.tree_root_expression ) : RETURN + ( TRUE ); + OTHERWISE : RETURN( FALSE ); + END_CASE; + + END_FUNCTION; + + FUNCTION valid_datum_target_parameters( + pdf : placed_datum_target_feature + ) : BOOLEAN; + + LOCAL + rep_set : SET OF representation := []; + parameter_representations : SET OF representation; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( pdf.representation_associations ) BY 1; + rep_set := rep_set + pdf.representation_associations[i].used_representation; + END_REPEAT; + parameter_representations := QUERY ( rep <* rep_set | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( rep ) ) ); + IF SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = 'orientation' ) AND + ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( i ) ) ) ) ) = 1 ) ) ) <> 1 THEN + RETURN( FALSE ); + END_IF; + CASE pdf\shape_aspect.description OF + 'point' : RETURN( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 1 ) ) ) = 1 ); + 'circle' : RETURN( ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 2 ) ) ) = 1 ) + AND ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = + 'target diameter' ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) + = 1 ) ); + 'circular curve' : RETURN( ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 2 ) ) ) = + 1 ) AND ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = + 'target diameter' ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) + = 1 ) ); + 'line' : RETURN( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( + ( i.name = 'target length' ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) = 1 ); + 'rectangle' : RETURN( ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 3 ) ) ) = 1 ) + AND ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = + 'target length' ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) + = 1 ) AND ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = + 'target width' ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) + = 1 ) ); + OTHERWISE : RETURN( FALSE ); + END_CASE; + + END_FUNCTION; + + FUNCTION valid_geometrically_bounded_wf_curve( + crv : curve + ) : BOOLEAN; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'ELLIPSE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE'] * TYPEOF( crv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF( crv ) THEN + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARABOLA' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'HYPERBOLA' ] * TYPEOF( crv\trimmed_curve.basis_curve ) ) = 1 THEN + RETURN( TRUE ); + ELSE + RETURN( valid_geometrically_bounded_wf_curve( crv\trimmed_curve.basis_curve ) ); + END_IF; + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( crv ) THEN + RETURN( valid_geometrically_bounded_wf_curve( crv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( crv ) THEN + RETURN( valid_geometrically_bounded_wf_curve( crv\curve_replica.parent_curve ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( crv ) THEN + RETURN( SIZEOF( QUERY ( ccs <* crv\composite_curve.segments | ( NOT valid_geometrically_bounded_wf_curve( ccs. + parent_curve ) ) ) ) = 0 ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_geometrically_bounded_wf_point( + pnt : point + ) : BOOLEAN; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( pnt ) THEN + RETURN( TRUE ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' IN TYPEOF( pnt ) THEN + RETURN( valid_geometrically_bounded_wf_curve( pnt\point_on_curve.basis_curve ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF( pnt ) THEN + RETURN( valid_geometrically_bounded_wf_point( pnt\point_replica.parent_pt ) ); + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_measure_value( + m : measure_value + ) : BOOLEAN; + IF 'REAL' IN TYPEOF( m ) THEN + RETURN( m > 0 ); + ELSE + IF 'INTEGER' IN TYPEOF( m ) THEN + RETURN( m > 0 ); + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + + END_FUNCTION; + + FUNCTION valid_parametric_coordinate( + coordinates : LIST [1 : 3] OF parameter_value + ) : BOOLEAN; + + LOCAL + i : INTEGER; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( coordinates ) BY 1; + IF ( 1 < coordinates[i] ) OR ( coordinates[i] < ( -1 ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION valid_selected_instance_representation( + pd : product_definition_or_assembly_relationship + ) : LOGICAL; + + LOCAL + properties : SET OF property_definition := bag_to_set( QUERY ( prd <* USEDIN( pd, + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( prd.name = 'occurrence selection' ) ) ); + property_definition_representations : SET OF property_definition_representation := bag_to_set( QUERY ( pdr <* USEDIN( + properties[1], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( pdr.used_representation. + name = 'selection criteria' ) ) ); + selected_representation : representation; + END_LOCAL; + IF SIZEOF( properties ) <> 1 THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( property_definition_representations ) <> 1 THEN + RETURN( FALSE ); + END_IF; + selected_representation := property_definition_representations[1]\property_definition_representation.used_representation; + IF ( SIZEOF( selected_representation\representation.items ) < 1 ) OR ( SIZEOF( selected_representation\representation.items ) + > 2 ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( QUERY ( i <* selected_representation\representation.items | ( ( SIZEOF( [ + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_RANGE' ] * TYPEOF( i ) ) = 1 ) AND ( i.name = + 'selection quantity' ) ) ) ) <> 1 THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( QUERY ( i <* selected_representation\representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i.name = + 'selection control' ) ) ) ) > 1 THEN + RETURN( FALSE ); + END_IF; + IF ( SIZEOF( QUERY ( i <* selected_representation\representation.items | ( ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i.name = + 'selection control' ) ) ) ) = 0 ) AND ( SIZEOF( QUERY ( i <* selected_representation\representation.items | ( ( i.name = + 'selection quantity' ) AND ( SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.QUALIFIED_REPRESENTATION_ITEM', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_RANGE' ] * TYPEOF( i ) ) = 0 ) ) ) ) > 0 ) THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION valid_time( + time : local_time + ) : BOOLEAN; + IF EXISTS( time.second_component ) THEN + RETURN( EXISTS( time.minute_component ) ); + ELSE + RETURN( TRUE ); + END_IF; + + END_FUNCTION; + + FUNCTION valid_units( + m : measure_with_unit + ) : BOOLEAN; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MASS_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 1, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TIME_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_CURRENT_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CELSIUS_TEMPERATURE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AMOUNT_OF_SUBSTANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 1, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LUMINOUS_INTENSITY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_ANGLE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VOLUME_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 3, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_PLANE_ANGLE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACCELERATION_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CAPACITANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -2, -1, 4, 2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_CHARGE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 1, 1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONDUCTANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -2, -1, 3, 2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_POTENTIAL_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -3, -1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ENERGY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FORCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 1, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FREQUENCY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ILLUMINANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -2, 0, 0, 0, 0, 0, 1 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INDUCTANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -2, -2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LUMINOUS_FLUX_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAGNETIC_FLUX_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -2, -1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAGNETIC_FLUX_DENSITY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 1, -2, -1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POWER_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -3, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESSURE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -1, 1, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RESISTANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -3, -2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VELOCITY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, -1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RADIOACTIVITY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ABSORBED_DOSE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DOSE_EQUIVALENT_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION valid_wireframe_edge_curve( + crv : curve + ) : BOOLEAN; + IF SIZEOF( [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'CONIC' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE', + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' ] * TYPEOF( crv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( crv ) THEN + RETURN( valid_wireframe_edge_curve( crv\curve_replica.parent_curve ) ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( crv ) THEN + RETURN( valid_wireframe_edge_curve( crv\offset_curve_3d.basis_curve ) ); + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_wireframe_vertex_point( + pnt : point + ) : BOOLEAN; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( pnt ) THEN + RETURN( TRUE ); + ELSE + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF( pnt ) THEN + RETURN( valid_wireframe_vertex_point( pnt\point_replica.parent_pt ) ); + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION validate_accuracy_types( + ei : shape_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqca : BAG OF shape_data_quality_criterion_and_accuracy_association := []; + sma : BAG OF shape_measurement_accuracy := []; + sdqir : SET OF shape_data_quality_inspection_result := []; + scraa : BAG OF shape_inspection_result_accuracy_association := []; + t_logic : BOOLEAN; + END_LOCAL; + sdqca := USEDIN( ei, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION.' + 'SHAPE_DATA_QUALITY_CRITERION' ); + IF SIZEOF( sdqca ) <> 0 THEN + REPEAT i := 1 TO SIZEOF( sdqca ) BY 1; + sma := sma + sdqca[i].required_specific_accuracy; + END_REPEAT; + IF SIZEOF( type_list ) < SIZEOF( sma ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sma ) BY 1; + t_logic := FALSE; + REPEAT j := 1 TO SIZEOF( type_list ) BY 1; + IF type_list[j] IN value_limit_type( sma[i].range ) THEN + t_logic := TRUE; + ESCAPE; + END_IF; + END_REPEAT; + IF NOT t_logic THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + scraa := USEDIN( sdqir[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATION.' + 'SHAPE_DATA_QUALITY_RESULT' ); + IF SIZEOF( scraa ) <> 0 THEN + sma := []; + REPEAT j := 1 TO SIZEOF( scraa ) BY 1; + sma := sma + scraa[j].applied_specific_accuracy; + END_REPEAT; + IF SIZEOF( type_list ) < SIZEOF( sma ) THEN + RETURN( FALSE ); + END_IF; + REPEAT j := 1 TO SIZEOF( sma ) BY 1; + t_logic := FALSE; + REPEAT k := 1 TO SIZEOF( type_list ) BY 1; + IF type_list[k] IN value_limit_type( sma[j].range ) THEN + t_logic := TRUE; + ESCAPE; + END_IF; + END_REPEAT; + IF NOT t_logic THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_attribute_id( + attid : attribute_identifier + ) : BOOLEAN; + + CONSTANT + letters : SET [52 : 52] OF STRING := + [ 'a' , + 'b' , + 'c' , + 'd' , + 'e' , + 'f' , + 'g' , + 'h' , + 'i' , + 'j' , + 'k' , + 'l' , + 'm' , + 'n' , + 'o' , + 'p' , + 'q' , + 'r' , + 's' , + 't' , + 'u' , + 'v' , + 'w' , + 'x' , + 'y' , + 'z' , + 'A' , + 'B' , + 'C' , + 'D' , + 'E' , + 'F' , + 'G' , + 'H' , + 'I' , + 'J' , + 'K' , + 'L' , + 'M' , + 'N' , + 'O' , + 'P' , + 'Q' , + 'R' , + 'S' , + 'T' , + 'U' , + 'V' , + 'W' , + 'X' , + 'Y' , + 'Z' ]; + numbers_etc : SET [15 : 15] OF STRING := + [ '0' , + '1' , + '2' , + '3' , + '4' , + '5' , + '6' , + '7' , + '8' , + '9' , + '_' , + '[' , + ']' , + '.' , + '\' ]; + valid_chars : SET [67 : 67] OF STRING := + letters + + + numbers_etc; + END_CONSTANT; + + LOCAL + id_length : INTEGER := LENGTH( attid ); + id_valid : BOOLEAN := TRUE; + i : INTEGER; + END_LOCAL; + IF NOT ( attid[1] IN letters ) THEN + id_valid := FALSE; + END_IF; + REPEAT i := 2 TO id_length BY 1 WHILE id_valid = TRUE; + IF NOT ( attid[i] IN valid_chars ) THEN + id_valid := FALSE; + END_IF; + END_REPEAT; + RETURN( id_valid ); + + END_FUNCTION; + + FUNCTION validate_countersink_radii( + cskhole : solid_with_stepped_round_hole_and_conical_transitions + ) : BOOLEAN; + + LOCAL + i : INTEGER; + j : INTEGER; + n : INTEGER := 1 + cskhole\solid_with_stepped_round_hole.segments; + smaller : positive_length_measure; + larger : positive_length_measure; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( cskhole.conical_transitions ) BY 1; + IF ( ( cskhole.conical_transitions[i].transition_number = 1 ) AND ( cskhole.conical_transitions[i].cone_apex_angle < 0 ) ) + XOR ( ( cskhole.conical_transitions[i].transition_number = n ) AND ( cskhole.conical_transitions[i].cone_apex_angle > 0 ) ) + THEN + RETURN( FALSE ); + ELSE + IF ( cskhole.conical_transitions[i].transition_number <> 1 ) AND ( cskhole.conical_transitions[i].transition_number <> n ) + THEN + + BEGIN + j := cskhole.conical_transitions[i].transition_number; + IF cskhole\solid_with_stepped_round_hole.segment_radii[j] > cskhole\solid_with_stepped_round_hole.segment_radii[j - 1] + THEN + + BEGIN + IF cskhole.conical_transitions[i].cone_apex_angle > 0 THEN + RETURN( FALSE ); + END_IF; + larger := cskhole\solid_with_stepped_round_hole.segment_radii[j]; + smaller := cskhole\solid_with_stepped_round_hole.segment_radii[j - 1]; + END; + ELSE + + BEGIN + IF cskhole.conical_transitions[i].cone_apex_angle < 0 THEN + RETURN( FALSE ); + END_IF; + larger := cskhole\solid_with_stepped_round_hole.segment_radii[j - 1]; + smaller := cskhole\solid_with_stepped_round_hole.segment_radii[j]; + END; + END_IF; + IF ( cskhole.conical_transitions[i].cone_base_radius > larger ) OR ( cskhole.conical_transitions[i].cone_base_radius + < smaller ) THEN + RETURN( FALSE ); + END_IF; + END; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_ecdq_inspected_elements_type( + ei : externally_conditioned_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF externally_conditioned_data_quality_inspection_result := []; + dir : SET OF data_quality_inspection_instance_report := []; + sdiri : SET OF externally_conditioned_data_quality_inspection_instance_report_item := []; + t_type_list : BAG OF STRING := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + dir := dir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( dir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( dir ) BY 1; + sdiri := sdiri + QUERY ( q <* dir[i].inspected_instances | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdiri ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdiri ) BY 1; + IF SIZEOF( sdiri[i].inspected_elements ) <> SIZEOF( type_list ) THEN + RETURN( FALSE ); + END_IF; + t_type_list := type_list; + REPEAT j := 1 TO SIZEOF( sdiri[i].inspected_elements ) BY 1; + REPEAT k := 1 TO SIZEOF( t_type_list ) BY 1; + IF t_type_list[k] IN TYPEOF( sdiri[i].inspected_elements[j] ) THEN + t_type_list := t_type_list - t_type_list[k]; + ESCAPE; + END_IF; + END_REPEAT; + END_REPEAT; + IF SIZEOF( t_type_list ) > 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_inspected_elements_type( + ei : shape_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF shape_data_quality_inspection_result := []; + sdir : SET OF shape_data_quality_inspection_instance_report := []; + sdiri : SET OF shape_data_quality_inspection_instance_report_item := []; + t_type_list : BAG OF STRING := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdir := sdir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdiri := sdiri + QUERY ( q <* sdir[i].inspected_instances | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdiri ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdiri ) BY 1; + IF SIZEOF( sdiri[i].inspected_elements ) <> SIZEOF( type_list ) THEN + RETURN( FALSE ); + END_IF; + t_type_list := type_list; + REPEAT j := 1 TO SIZEOF( sdiri[i].inspected_elements ) BY 1; + REPEAT k := 1 TO SIZEOF( t_type_list ) BY 1; + IF t_type_list[k] IN TYPEOF( sdiri[i].inspected_elements[j] ) THEN + t_type_list := t_type_list - t_type_list[k]; + ESCAPE; + END_IF; + END_REPEAT; + END_REPEAT; + IF SIZEOF( t_type_list ) > 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_locations_of_extreme_value_type( + ei : shape_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF shape_data_quality_inspection_result := []; + sdir : SET OF shape_data_quality_inspection_instance_report := []; + sdei : SET OF instance_report_item_with_extreme_instances := []; + t_type_list : BAG OF STRING := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdir := sdir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdei := sdei + QUERY ( q <* sdir[i].inspected_instances | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdei ) = 0 THEN + RETURN( TRUE ); + END_IF; + IF ( SIZEOF( type_list ) = 0 ) AND ( SIZEOF( sdei ) <> 0 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdei ) BY 1; + REPEAT j := 1 TO SIZEOF( sdei[i].extreme_instances ) BY 1; + IF SIZEOF( sdei[i].extreme_instances[j].locations_of_extreme_value ) <> SIZEOF( type_list ) THEN + RETURN( FALSE ); + END_IF; + t_type_list := type_list; + REPEAT k := 1 TO SIZEOF( sdei[i].extreme_instances[j].locations_of_extreme_value ) BY 1; + REPEAT l := 1 TO SIZEOF( t_type_list ) BY 1; + IF t_type_list[l] IN TYPEOF( sdei[i].extreme_instances[j].locations_of_extreme_value[k] ) THEN + t_type_list := t_type_list - t_type_list[l]; + ESCAPE; + END_IF; + END_REPEAT; + END_REPEAT; + IF SIZEOF( t_type_list ) > 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_measured_data_type( + ei : shape_data_quality_criterion; + type_string : STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF shape_data_quality_inspection_result := []; + sdcr : SET OF shape_data_quality_inspection_criterion_report := []; + sdir : SET OF shape_data_quality_inspection_instance_report := []; + sdii : SET OF shape_data_quality_inspection_instance_report_item := []; + sdei : BAG OF instance_report_item_with_extreme_instances := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdcr := sdcr + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdir := sdir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF ( SIZEOF( sdcr ) = 0 ) AND ( SIZEOF( sdir ) = 0 ) THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdii := sdii + QUERY ( q <* sdir[i].inspected_instances | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' ) IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdei := sdei + QUERY ( q <* sdir[i].inspected_instances | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' ) IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdcr ) BY 1; + IF NOT ( type_string IN TYPEOF( sdcr[i].representative_measured_value ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdii ) BY 1; + IF NOT ( type_string IN TYPEOF( sdii[i].measured_value ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdei ) BY 1; + REPEAT j := 1 TO SIZEOF( sdei[i].extreme_instances ) BY 1; + IF NOT ( type_string IN TYPEOF( sdei[i].extreme_instances[j].measured_value ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION value_limit_type( + iv : shape_data_quality_value_limit_type_select + ) : SET OF STRING; + + LOCAL + retval : SET OF STRING := []; + END_LOCAL; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_RANGE' ) IN TYPEOF( iv ) THEN + retval := TYPEOF( iv\compound_representation_item.item_element[1].value_component ); + END_IF; + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_LIMIT' ) IN TYPEOF( iv ) THEN + IF ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MEASURE_WITH_UNIT' ) IN TYPEOF( iv ) THEN + retval := TYPEOF( iv\measure_with_unit.value_component ); + END_IF; + END_IF; + RETURN( retval ); + + END_FUNCTION; + + FUNCTION value_range_aggregate_rep_item( + agg : AGGREGATE OF representation_item + ) : BOOLEAN; + + BEGIN + IF SIZEOF( QUERY ( i1 <* agg | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' ) + IN TYPEOF( i1 ) ) ) ) = 6 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION value_range_wr1( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( agg ) = 2 ) AND ( ( SIZEOF( QUERY ( i1 <* agg | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) ) ) = 2 ) OR ( SIZEOF( QUERY ( i2 <* agg | ( + 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) ) ) = 2 ) ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION value_range_wr2( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( i\representation_item.name = 'upper limit' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( i <* agg | + ( i\representation_item.name = 'lower limit' ) ) ) = 1 ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION value_range_wr3( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF SIZEOF( QUERY ( i1 <* agg | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN + TYPEOF( i1 ) ) AND ( SIZEOF( QUERY ( i2 <* agg | ( ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) AND ( i1 :<>: i2 ) AND ( i1\measure_with_unit.unit_component :=: i2\ + measure_with_unit.unit_component ) ) ) ) = 1 ) ) ) ) = 2 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION values_space_of( + expr : generic_expression + ) : maths_space; + + LOCAL + e_prefix : STRING := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; + typenames : SET OF STRING := TYPEOF( expr ); + END_LOCAL; + IF ( schema_prefix + 'MATHS_VARIABLE' ) IN typenames THEN + RETURN( expr\maths_variable.values_space ); + END_IF; + IF ( e_prefix + 'EXPRESSION' ) IN typenames THEN + IF ( e_prefix + 'NUMERIC_EXPRESSION' ) IN typenames THEN + IF expr\numeric_expression.is_int THEN + IF ( e_prefix + 'INT_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\int_literal.the_value] ) ); + ELSE + RETURN( the_integers ); + END_IF; + ELSE + IF ( e_prefix + 'REAL_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\real_literal.the_value] ) ); + ELSE + RETURN( the_reals ); + END_IF; + END_IF; + END_IF; + IF ( e_prefix + 'BOOLEAN_EXPRESSION' ) IN typenames THEN + IF ( e_prefix + 'BOOLEAN_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\boolean_literal.the_value] ) ); + ELSE + RETURN( the_booleans ); + END_IF; + END_IF; + IF ( e_prefix + 'STRING_EXPRESSION' ) IN typenames THEN + IF ( e_prefix + 'STRING_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\string_literal.the_value] ) ); + ELSE + RETURN( the_strings ); + END_IF; + END_IF; + RETURN( ? ); + END_IF; + IF ( schema_prefix + 'MATHS_FUNCTION' ) IN typenames THEN + IF expression_is_constant( expr ) THEN + RETURN( make_finite_space( [expr] ) ); + ELSE + RETURN( make_function_space( sc_equal, expr\maths_function.domain, sc_equal, expr\maths_function.range ) ); + END_IF; + END_IF; + IF ( schema_prefix + 'FUNCTION_APPLICATION' ) IN typenames THEN + RETURN( expr\function_application.func.range ); + END_IF; + IF ( schema_prefix + 'MATHS_SPACE' ) IN typenames THEN + IF expression_is_constant( expr ) THEN + RETURN( make_finite_space( [expr] ) ); + ELSE + RETURN( make_elementary_space( es_maths_spaces ) ); + END_IF; + END_IF; + IF ( schema_prefix + 'DEPENDENT_VARIABLE_DEFINITION' ) IN typenames THEN + RETURN( values_space_of( expr\unary_generic_expression.operand ) ); + END_IF; + IF ( schema_prefix + 'COMPLEX_NUMBER_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr] ) ); + END_IF; + IF ( schema_prefix + 'LOGICAL_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\logical_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'BINARY_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\binary_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'MATHS_ENUM_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\maths_enum_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'REAL_TUPLE_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\real_tuple_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'INTEGER_TUPLE_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\integer_tuple_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'ATOM_BASED_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\atom_based_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'MATHS_TUPLE_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\maths_tuple_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'PARTIAL_DERIVATIVE_EXPRESSION' ) IN typenames THEN + RETURN( drop_numeric_constraints( values_space_of( expr\partial_derivative_expression.derivand ) ) ); + END_IF; + IF ( schema_prefix + 'DEFINITE_INTEGRAL_EXPRESSION' ) IN typenames THEN + RETURN( drop_numeric_constraints( values_space_of( expr\definite_integral_expression.integrand ) ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION variable_value_type( + variable : GENERIC + ) : STRING; + + LOCAL + svt : STRING; + feacr : STRING; + variable_typeof : SET [1 : ?] OF STRING; + END_LOCAL; + svt := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; + feacr := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; + variable_typeof := TYPEOF( variable ); + IF SIZEOF( [feacr + 'CURVE_SCALAR_VARIABLE', feacr + 'SURFACE_SCALAR_VARIABLE', feacr + 'VOLUME_SCALAR_VARIABLE', feacr + + 'BOUNDARY_CURVE_SCALAR_VARIABLE' , feacr + 'BOUNDARY_SURFACE_SCALAR_VARIABLE', feacr + 'AGGREGATED_SCALAR_VARIABLE', + feacr + 'VOLUME_ANGULAR_VARIABLE', feacr + 'AGGREGATED_ANGULAR_VARIABLE', feacr + 'APPLICATION_DEFINED_SCALAR_VARIABLE'] * + variable_typeof ) = 1 THEN + RETURN( svt + 'SCALAR' ); + END_IF; + IF SIZEOF( [feacr + 'CURVE_VECTOR_2D_VARIABLE', feacr + 'SURFACE_VECTOR_2D_VARIABLE', feacr + + 'APPLICATION_DEFINED_VECTOR_2D_VARIABLE' ] * variable_typeof ) = 1 THEN + RETURN( svt + 'TENSOR1_2D' ); + END_IF; + IF SIZEOF( [feacr + 'CURVE_VECTOR_3D_VARIABLE', feacr + 'SURFACE_VECTOR_3D_VARIABLE', feacr + 'VOLUME_VECTOR_3D_VARIABLE', + feacr + 'BOUNDARY_CURVE_VECTOR_3D_VARIABLE', feacr + 'BOUNDARY_SURFACE_VECTOR_3D_VARIABLE', feacr + + 'AGGREGATED_VECTOR_3D_VARIABLE' , feacr + 'APPLICATION_DEFINED_VECTOR_3D_VARIABLE'] * variable_typeof ) = 1 THEN + RETURN( svt + 'TENSOR1_3D' ); + END_IF; + IF SIZEOF( [feacr + 'SURFACE_TENSOR2_2D_VARIABLE', feacr + 'APPLICATION_DEFINED_TENSOR2_2D_VARIABLE'] * variable_typeof ) = 1 + THEN + RETURN( svt + 'SYMMETRIC_TENSOR2_2D' ); + END_IF; + IF SIZEOF( [feacr + 'VOLUME_TENSOR2_3D_VARIABLE', feacr + 'AGGREGATED_TENSOR2_3D_VARIABLE', feacr + + 'APPLICATION_DEFINED_TENSOR2_3D_VARIABLE' ] * variable_typeof ) = 1 THEN + RETURN( svt + 'SYMMETRIC_TENSOR2_3D' ); + END_IF; + RETURN( 'NO_MATCH' ); + + END_FUNCTION; + + FUNCTION vector_difference( + arg1, arg2 : vector_or_direction + ) : vector; + + LOCAL + result : vector; + res : direction; + vec1 : direction; + vec2 : direction; + mag : REAL; + mag1 : REAL; + mag2 : REAL; + ndim : INTEGER; + END_LOCAL; + IF ( NOT EXISTS( arg1 ) ) OR ( NOT EXISTS( arg2 ) ) OR ( arg1.dim <> arg2.dim ) THEN + RETURN( ? ); + ELSE + + BEGIN + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF( arg1 ) THEN + mag1 := arg1\vector.magnitude; + vec1 := arg1\vector.orientation; + ELSE + mag1 := 1; + vec1 := arg1; + END_IF; + IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF( arg2 ) THEN + mag2 := arg2\vector.magnitude; + vec2 := arg2\vector.orientation; + ELSE + mag2 := 1; + vec2 := arg2; + END_IF; + vec1 := normalise( vec1 ); + vec2 := normalise( vec2 ); + ndim := SIZEOF( vec1.direction_ratios ); + mag := 0; + res := dummy_gri || direction( vec1.direction_ratios ); + REPEAT i := 1 TO ndim BY 1; + res.direction_ratios[i] := ( mag1 * vec1.direction_ratios[i] ) - ( mag2 * vec2.direction_ratios[i] ); + mag := mag + ( res.direction_ratios[i] * res.direction_ratios[i] ); + END_REPEAT; + IF mag > 0 THEN + result := dummy_gri || vector( res, SQRT( mag ) ); + ELSE + result := dummy_gri || vector( vec1, 0 ); + END_IF; + END; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION ypr_index( + ypr : ypr_enumeration + ) : INTEGER; + CASE ypr OF + yaw : RETURN( 1 ); + pitch : RETURN( 2 ); + roll : RETURN( 3 ); + END_CASE; + RETURN( ? ); + + END_FUNCTION; + +END_SCHEMA; diff --git a/data/ap210e2/Cable_db.stp b/data/ap210e2/Cable_db.stp deleted file mode 100644 index 0127fcb29..000000000 --- a/data/ap210e2/Cable_db.stp +++ /dev/null @@ -1,41619 +0,0 @@ -ISO-10303-21; -HEADER; -/* Generated by software containing - * JSDAI (TM) from LKSoft (www.lksoft.com, www.jsdai.net) - * JSDAI Runtime Version 4.0.0 (Build 270, 2009-03-18T14:17:04) - * JSDAI XIM Full Library Version 1.127.100 2009-03-05_21-45-33 - */ -FILE_DESCRIPTION( -/* description */ (' Mentor Graphics BoardStation <=> AP210 Converter v3.2',' '), -/* implementation_level */ '2;1'); -FILE_NAME( -/* name */ 'd:\\workspace\\Converters\\jsdaix\\data\\MENTOR\\Cable_db\\cable_db.stp', -/* time_stamp */ '2009-03-18T19:44:00', -/* author */ (' '), -/* organization */ (' '), -/* preprocessor_version */ ' Mentor Graphics BoardStation <=> AP210 Converter v3.2', -/* originating_system */ 'Mentor Graphics BoardStation', -/* authorization */ 'LKSofWare GmbH'); -FILE_SCHEMA(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM { 1 0 10303 410 1 1 4}')); -ENDSEC; -DATA; -#1=SPECIFICATION_DEFINITION('UM-PR-149-E-04','PCB Products Design Reference Manual', - #4,#2); -#2=PRODUCT_DEFINITION_CONTEXT('generic document definition',#3,''); -#3=APPLICATION_CONTEXT('default application'); -#4=PRODUCT_DEFINITION_FORMATION('1',$,#5); -#5=PRODUCT('UM-PR-149-E-04','product',$,(#16606)); -#6=PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,(#5,#12)); -#7=APPLIED_ORGANIZATION_ASSIGNMENT(#9,#8,(#1,#10)); -#8=ORGANIZATION_ROLE('document source'); -#9=ORGANIZATION('Mentor','Mentor Graphics Corporation',$); -#10=SPECIFICATION_DEFINITION('8.7_1','AutoTherm User''s Manual',#11,#2); -#11=PRODUCT_DEFINITION_FORMATION('1',$,#12); -#12=PRODUCT('8.7_1','product',$,(#16606)); -#13=PRODUCT('PCBSEED-PCB','pcb',$,(#20051)); -#14=PRODUCT_DEFINITION_FORMATION('1',$,#13); -#15=LAYERED_INTERCONNECT_MODULE_USAGE_VIEW('2',$,#14,#28,'interconnect module',$, - *); -#16=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#17=(CONVERSION_BASED_UNIT('TN',#18)LENGTH_UNIT()NAMED_UNIT(*)); -#18=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.0E-5),#19); -#19=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.)); -#20=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.)); -#21=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.017453292519943295),#20); -#22=DIMENSIONAL_EXPONENTS(0.0,0.0,0.0,0.0,0.0,0.0,0.0); -#23=(CONVERSION_BASED_UNIT('degree',#21)NAMED_UNIT(*)PLANE_ANGLE_UNIT()); -#24=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19,'',$); -#25=SHAPE_REPRESENTATION('ppsm',(#26,#2422,#6653,#6661,#6684,#6692,#6715,#6723,#6745, - #6753,#6775,#6783,#6806,#6814,#6836,#6844,#6874,#6882,#6890,#6912,#6920,#6942, - #6950,#6972,#6980,#7002,#7010,#7039,#7047,#7055,#7077,#7085,#7107,#7115,#7137, - #7145,#7187,#7195,#7203,#7211,#7219,#7227,#7249,#7257,#7279,#7287,#7309,#7317, - #7339,#7347,#7369,#7377,#7405,#7413,#7421,#7443,#7451,#7473,#7481,#7503,#7511, - #7533,#7541,#7563,#7571,#7593,#7601,#7623,#7631,#7653,#7661,#7683,#7691,#7713, - #7721,#7743,#7751,#7773,#7781,#7803,#7811,#7853,#7861,#7869,#7877,#7885,#7893, - #7915,#7923,#7945,#7953,#8035,#8043,#8051,#8059,#8067,#8075,#8083,#8091,#8099, - #8107,#8115,#8123,#8131,#8139,#8161,#8169,#8191,#8199,#8221,#8229,#8251,#8259, - #8281,#8289,#8311,#8319,#8341,#8349,#8371,#8379,#8401,#8409,#8431,#8439,#8461, - #8469,#8491,#8499,#8521,#8529,#8551,#8559,#8581,#8589,#8611,#8619,#9194,#9202, - #9210,#9218,#9226,#9234,#9242,#9250,#9258,#9266,#9274,#9282,#9290,#9298,#9306, - #9314,#9322,#9330,#9338,#9346,#9354,#9362,#9370,#9378,#9386,#9394,#9402,#9410, - #9418,#9426,#9434,#9442,#9450,#9458,#9466,#9474,#9482,#9490,#9498,#9506,#9514, - #9522,#9530,#9538,#9546,#9554,#9562,#9570,#9578,#9586,#9594,#9602,#9610,#9618, - #9626,#9634,#9642,#9650,#9658,#9666,#9674,#9682,#9690,#9698,#9706,#9714,#9722, - #9730,#9738,#9746,#9754,#9762,#9770,#9778,#9786,#9794,#9802,#9810,#9818,#9826, - #9834,#9842,#9850,#9858,#9866,#9874,#9882,#9890,#9898,#9906,#9914,#9922,#9930, - #9938,#9946,#9954,#9962,#9970,#9978,#9986,#9994,#10002,#10010,#10018,#10026, - #10034,#10042,#10050,#10058,#10066,#10074,#10082,#10104,#10112,#10134,#10142, - #10164,#10172,#10194,#10202,#10224,#10232,#10254,#10262,#10284,#10292,#10314, - #10322,#10349,#10357,#10365,#10387,#10395,#10417,#10425,#10452,#10460,#10468, - #10490,#10498,#10520,#10528),#16); -#26=AXIS2_PLACEMENT_2D('origin',#27,$); -#27=CARTESIAN_POINT('',(0.0,0.0)); -#28=PRODUCT_DEFINITION_CONTEXT('part definition',#3,''); -#29=PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#13,#37,#93,#125,#149,#173,#197,#221, - #245,#269,#319,#379,#425,#454,#483,#507,#531,#555,#579,#603,#627,#651,#658, - #665,#672,#679,#686,#693,#700,#707,#714,#721,#728,#735,#742,#749,#756,#763, - #770,#777,#784,#791,#798,#805,#812,#819,#826,#833,#840,#847,#854,#861,#868, - #875,#882,#889,#896,#903,#910,#917,#1757,#1808,#1955,#2098,#2157)); -#30=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly',$,(#13,#37,#1757,#1757)); -#31=SHAPE_ASPECT('outline of PCB','interconnect module edge surface',#15,.T.); -#32=SHAPE_ASPECT('TOP side of PCB','interconnect module primary surface',#15,.T.); -#33=SHAPE_ASPECT('BOTTOM side of PCB','interconnect module secondary surface',#15, - .T.); -#34=LAYERED_INTERCONNECT_MODULE_DESIGN_VIEW('1',$,#14,#28,'interconnect module', - $,*); -#35=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#36=SHAPE_REPRESENTATION('ppsm',(#26,#2383,#2399,#2418,#6472,#6486,#6499,#6517,#1583, - #1188,#1070,#1420,#1033,#1694,#1610,#1308,#1493,#1529,#1243,#1402,#1261,#1712, - #1592,#1133,#1628,#1393,#996,#1565,#1601,#1052,#1280,#1740,#1429,#1619,#949, - #1466,#1411,#1721,#1574,#1520,#1160,#1384,#1151,#1556,#1647,#1484,#1015,#1656, - #1252,#1088,#1538,#1225,#1124,#1457,#1703,#1475,#1502,#1511,#1115,#1106,#987, - #1448,#1179,#1024,#1289,#929,#968,#1547,#1234,#1079,#1097,#1216,#1142,#1327, - #1207,#1675,#1346,#1061,#1365,#10536,#10548,#10553,#10564,#10568,#10585,#10589, - #10592,#10604,#10608,#10611,#10617,#10625,#10629,#10637,#10642,#10650,#10654, - #10657,#10665,#10669,#10672,#10678,#10683,#10689,#10700,#10705,#10717,#10721, - #10724,#10730,#10732,#10734,#10739,#10746,#10752,#10756,#10765,#10769,#10772, - #10780,#10784,#10791,#10802,#10807,#10816,#10820,#10823,#10830,#10838,#10842, - #10853,#10858,#10867,#10871,#10874,#10880,#10884,#10891,#10895,#10898,#10906, - #10917,#10922,#10933,#10937,#10940,#10950,#10954,#10957,#10963,#10965,#10967, - #10969,#10971,#10973,#10975,#10977,#10979,#10981,#10983,#10985,#10987,#10989, - #10991,#10993,#10995,#10997,#10999,#11001,#11003,#11005,#11007,#11009,#11027, - #11034,#11042,#11046,#11049,#11059,#11063,#11066,#11074,#11078,#11081,#11087, - #11094,#11101,#11116,#11129,#11133,#11144,#11148,#11151,#11160,#11165,#11171, - #11180,#11194,#11209,#11220,#11224,#11235,#11247,#11252,#11259,#11263,#11277, - #11284,#11290,#11295,#11301,#11306,#11315,#11319,#11322,#11329,#11346,#11350, - #11353,#11361,#11374,#11379,#11391,#11395,#11400,#11408,#11412,#11415,#11421, - #11426,#11436,#11454,#11463,#11471,#11480,#11484,#11496,#11506,#11521,#11532, - #11537,#11545,#11549,#11552,#11563,#11567,#11570,#11577,#11581,#11584,#11590, - #11595,#11601,#11606,#11612,#11624,#11628,#11631,#11643,#11647,#11650,#11659, - #11663,#11666,#11675,#11679,#11682,#11688,#11692,#11699,#11703,#11714,#11716, - #11718,#11720,#11722,#11724,#11729,#11742,#11746,#11755,#11759,#11768,#11772, - #11781,#11785,#11798,#11802,#11805,#11814,#11818,#11821,#11833,#11837,#11840, - #11846,#11848,#11850,#11856,#11863,#11871,#11878,#11884,#11888,#11902,#11906, - #11909,#11916,#11920,#11928,#11933,#11943,#11947,#11950,#11961,#11965,#11968, - #11975,#11980,#11989,#11993,#12000,#12002,#12004,#12009,#12013,#12022,#12026, - #12036,#12040,#12054,#12058,#12061,#12071,#12075,#12078,#12084,#12088,#12095, - #12099,#12109,#12113,#12116,#12122,#12126,#12133,#12137,#12144,#12148,#12158, - #12162,#12165,#12176,#12180,#12183,#12197,#12201,#12204,#12210,#12215,#12221, - #12229,#12233,#12248,#12253,#12259,#12264,#12268,#12278,#12283,#12289,#12298, - #12303,#12312,#12316,#12323,#12325,#12327,#12332,#12339,#12345,#12349,#12352, - #12358,#12362,#12369,#12382,#12386,#12389,#12395,#12406,#12408,#12410,#12417, - #12424,#12431,#12435,#12438,#12444,#12448,#12459,#12463,#12466,#12472,#12481, - #12485,#12492,#12506,#12510,#12513,#12519,#12523,#12526,#12533,#12538,#12544, - #12553,#12558,#12571,#12575,#12578,#12593,#12597,#12600,#12606,#12611,#12617, - #12619,#12621,#12626,#12633,#12642,#12649,#12659,#12663,#12677,#12681,#12684, - #12694,#12698,#12701,#12708,#12716,#12721,#12727,#12731,#12738,#12740,#12742, - #12747,#12751,#12761,#12768,#12776,#12783,#12789,#12794,#12800,#12805,#12811, - #12816,#12822,#12826,#12837,#12841,#12844),#35); -#37=PRODUCT('PCBSEED-PCA','pca',$,(#20051)); -#38=PRODUCT_DEFINITION_FORMATION('1',$,#37); -#39=LAYERED_ASSEMBLY_MODULE_USAGE_VIEW('4',$,#38,#28,'assembly module',$,*); -#40=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#41=SHAPE_REPRESENTATION('ppsm',(#26,#2426),#40); -#42=FUNCTIONAL_UNIT('5',$,#43,#28,'',$,*); -#43=PRODUCT_DEFINITION_FORMATION('1',$,#44); -#44=PRODUCT('pca function','function',$,(#17078)); -#45=PRODUCT_RELATED_PRODUCT_CATEGORY('functional',$,(#44,#654,#661,#668,#675,#682, - #689,#696,#703,#710,#717,#724,#731,#738,#745,#752,#759,#766,#773,#780,#787, - #794,#801,#808,#815,#822,#829,#836,#843,#850,#857,#864,#871,#878,#885,#892, - #899,#906,#913,#920)); -#46=(ASSEMBLY_MODULE_DESIGN_VIEW()LAYERED_ASSEMBLY_MODULE_DESIGN_VIEW() - PHYSICAL_UNIT()PHYSICAL_UNIT_NETWORK_DEFINITION()PRODUCT_DEFINITION('4',$,#38, - #28)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('assembly module',$,*)); -#47=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#48=SHAPE_REPRESENTATION('ppsm',(#26,#54,#929,#949,#968,#987,#996,#1015,#1024,#1033, - #1052,#1061,#1070,#1079,#1088,#1097,#1106,#1115,#1124,#1133,#1142,#1151,#1160, - #1179,#1188,#1207,#1216,#1225,#1234,#1243,#1252,#1261,#1280,#1289,#1308,#1327, - #1346,#1365,#1384,#1393,#1402,#1411,#1420,#1429,#1448,#1457,#1466,#1475,#1484, - #1493,#1502,#1511,#1520,#1529,#1538,#1547,#1556,#1565,#1574,#1583,#1592,#1601, - #1610,#1619,#1628,#1647,#1656,#1675,#1694,#1703,#1712,#1721,#1740,#6472,#6486, - #6499,#6517),#47); -#49=INTERCONNECT_MODULE_COMPONENT('board',$,#14,#27115,'board','definition usage', - $,#15,*,'',$,*); -#50=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('board','',$,#46,#15,'board','', - $,#49,*); -#51=DIRECTION('',(1.0,0.0)); -#52=DIRECTION('',(-0.0,1.0)); -#53=CARTESIAN_POINT('',(0.0,0.0)); -#54=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#51,#52,#53,1.0); -#55=COMPONENT_2D_LOCATION(*,#56,'component 2d location',$,#25,#48,#54); -#56=PRODUCT_DEFINITION_SHAPE('',$,#50); -#57=INTERCONNECT_MODULE_COMPONENT_SURFACE_FEATURE('for EDGE surface','interconnect module component surface feature', - #49,.U.); -#58=INTERCONNECT_MODULE_COMPONENT_SURFACE_FEATURE('for PRIMARY surface','interconnect module component surface feature', - #49,.U.); -#59=INTERCONNECT_MODULE_COMPONENT_SURFACE_FEATURE('for SECONDARY surface','interconnect module component surface feature', - #49,.U.); -#60=PRODUCT('Board Placement Clearance','requirement',$,(#21090)); -#61=PRODUCT_DEFINITION_FORMATION('1',$,#60); -#62=LAYOUT_SPACING_REQUIREMENT('1',$,#61,#63); -#63=PRODUCT_DEFINITION_CONTEXT('requirement context',#3,'design'); -#64=PRODUCT_RELATED_PRODUCT_CATEGORY('requirement',$,(#6572,#60,#340,#933,#936,#952, - #955,#971,#974,#999,#1002,#1036,#1039,#1163,#1166,#1191,#1194,#1264,#1267,#1292, - #1295,#1311,#1314,#1330,#1333,#1349,#1352,#1368,#1371,#1432,#1435,#1631,#1634, - #1659,#1662,#1678,#1681,#1724,#1727,#1746,#1749,#2341,#2345,#2402,#6530,#6536, - #6545,#6554,#6563,#6581)); -#65=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#62)); -#66=REPRESENTATION('minimum tolerance',(#70),#67); -#67=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#68=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#66)); -#69=TYPE_QUALIFIER('minimum'); -#70=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#71=(CONVERSION_BASED_UNIT('inches',#72)LENGTH_UNIT()NAMED_UNIT(*)); -#72=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(25.4),#19); -#73=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#70)); -#74=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#75=REPRESENTATION('minimum tolerance',(#70),#77); -#76=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#75)); -#77=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#78=SHAPE_ASPECT('Outline where components can be placed in','vlnfse',#39,.F.); -#79=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#81),#80); -#80=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#81=CSG_SOLID_2D('',#82); -#82=POLYGONAL_AREA('',(#83,#84,#85,#86,#87,#88,#89,#90,#91,#92)); -#83=CARTESIAN_POINT('',(0.0,0.19)); -#84=CARTESIAN_POINT('',(0.19,0.0)); -#85=CARTESIAN_POINT('',(6.41,0.0)); -#86=CARTESIAN_POINT('',(6.6,0.19)); -#87=CARTESIAN_POINT('',(6.6,7.14)); -#88=CARTESIAN_POINT('',(6.4,7.34)); -#89=CARTESIAN_POINT('',(6.4,7.7)); -#90=CARTESIAN_POINT('',(0.2,7.7)); -#91=CARTESIAN_POINT('',(0.2,7.34)); -#92=CARTESIAN_POINT('',(0.0,7.14)); -#93=PRODUCT('CAP-1','CAP-1',$,(#20051)); -#94=PRODUCT_DEFINITION_FORMATION('6',$,#93); -#95=PACKAGE('CAP-1',$,#94,#28,'',$,*); -#96=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#97=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#105,#4215,#4221),#96); -#98=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0),#19); -#99=PRODUCT_RELATED_PRODUCT_CATEGORY('package',$,(#603,#93,#125,#149,#173,#197,#221, - #245,#269,#319,#379,#425,#454,#483,#507,#531,#555,#579,#627)); -#100=SEATING_PLANE('seating plane',$,#95,.F.); -#101=TYPE_QUALIFIER('maximum'); -#102=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#103=REPRESENTATION('maximum tolerance',(#102),#104); -#104=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#105=CSG_SOLID_2D('',#106); -#106=POLYGONAL_AREA('',(#107,#108,#109,#110)); -#107=CARTESIAN_POINT('',(-0.05,-0.0375)); -#108=CARTESIAN_POINT('',(0.55,-0.0375)); -#109=CARTESIAN_POINT('',(0.55,0.0375)); -#110=CARTESIAN_POINT('',(-0.05,0.0375)); -#111=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.1),#71)REPRESENTATION_ITEM('')); -#112=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#113=REPRESENTATION('maximum tolerance',(#112),#114); -#114=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#115=PACKAGE_BODY('','part generic feature',#95,.T.); -#116=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('package body material', - (#115,#144,#168,#192,#216,#240,#264,#297,#338,#403,#449,#478,#502,#526,#550, - #574,#598,#622,#646)); -#117=APPLIED_CLASSIFICATION_ASSIGNMENT(#119,#118,(#116,#2192,#2220,#2525)); -#118=CLASSIFICATION_ROLE('conductive',$); -#119=CLASS('conductive','electrical conductivity'); -#120=PRODUCT('CAP-1-footprint','CAP-1',$,(#22901)); -#121=PRODUCT_DEFINITION_FORMATION('6',$,#120); -#122=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#121,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#123=SHAPE_REPRESENTATION('ppsm',(#26,#4219,#4226),#96); -#124=PRODUCT_RELATED_PRODUCT_CATEGORY('template model',$,(#120,#145,#169,#193,#217, - #241,#265,#298,#306,#345,#353,#366,#404,#412,#450,#479,#503,#527,#551,#575, - #599,#623,#647,#1765,#1813,#1822,#1960,#1965,#2103,#2162,#2167,#2183,#2304, - #2370,#2386,#2412,#2461,#2513,#2526,#2540,#2552,#2564,#2600,#2613,#2626,#2675, - #2684,#2698,#2710,#2722,#2758,#2771,#2784,#2833,#2842,#2856,#2868,#2880,#2916, - #2929,#2942,#2991,#3000,#3014,#3026,#3038,#3074,#3087,#3100,#3149,#3154,#3168, - #3180,#3192,#3228,#3241,#3254,#3303,#3308,#3322,#3334,#3346,#3382,#3395,#3408, - #3457,#3466,#3480,#3492,#3504,#3540,#3553,#3566,#3615,#3624,#3638,#3650,#3662, - #3698,#3711,#3724,#3773,#3778,#3792,#3804,#3816,#3852,#3865,#3878,#3927,#3936, - #3950,#3962,#3974,#4010,#4023,#4036,#4099,#4108,#4120,#4156,#4169,#4085,#10541, - #10558,#11013)); -#125=PRODUCT('CAP-2','CAP-2',$,(#20051)); -#126=PRODUCT_DEFINITION_FORMATION('6',$,#125); -#127=PACKAGE('CAP-2',$,#126,#28,'',$,*); -#128=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#129=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#134,#4250,#4257),#128); -#130=SEATING_PLANE('seating plane',$,#127,.F.); -#131=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#132=REPRESENTATION('maximum tolerance',(#131),#133); -#133=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#134=CSG_SOLID_2D('',#135); -#135=POLYGONAL_AREA('',(#136,#137,#138,#139)); -#136=CARTESIAN_POINT('',(-0.05,-0.075)); -#137=CARTESIAN_POINT('',(0.65,-0.075)); -#138=CARTESIAN_POINT('',(0.65,0.075)); -#139=CARTESIAN_POINT('',(-0.05,0.075)); -#140=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.1),#71)REPRESENTATION_ITEM('')); -#141=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#142=REPRESENTATION('maximum tolerance',(#141),#143); -#143=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#144=PACKAGE_BODY('','part generic feature',#127,.T.); -#145=PRODUCT('CAP-2-footprint','CAP-2',$,(#22901)); -#146=PRODUCT_DEFINITION_FORMATION('6',$,#145); -#147=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#146,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#148=SHAPE_REPRESENTATION('ppsm',(#26,#4255,#4261),#128); -#149=PRODUCT('BIG_CAP','BIG_CAP',$,(#20051)); -#150=PRODUCT_DEFINITION_FORMATION('6',$,#149); -#151=PACKAGE('BIG_CAP',$,#150,#28,'',$,*); -#152=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#153=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#158,#4297,#4303),#152); -#154=SEATING_PLANE('seating plane',$,#151,.F.); -#155=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#156=REPRESENTATION('maximum tolerance',(#155),#157); -#157=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#158=CSG_SOLID_2D('',#159); -#159=POLYGONAL_AREA('',(#160,#161,#162,#163)); -#160=CARTESIAN_POINT('',(2.25,-0.3)); -#161=CARTESIAN_POINT('',(-0.05,-0.3)); -#162=CARTESIAN_POINT('',(-0.05,0.3)); -#163=CARTESIAN_POINT('',(2.25,0.3)); -#164=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.577),#71)REPRESENTATION_ITEM('')); -#165=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#166=REPRESENTATION('maximum tolerance',(#165),#167); -#167=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#168=PACKAGE_BODY('','part generic feature',#151,.T.); -#169=PRODUCT('BIG_CAP-footprint','BIG_CAP',$,(#22901)); -#170=PRODUCT_DEFINITION_FORMATION('6',$,#169); -#171=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#170,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#172=SHAPE_REPRESENTATION('ppsm',(#26,#4301,#4308),#152); -#173=PRODUCT('PCAP-2','PCAP-2',$,(#20051)); -#174=PRODUCT_DEFINITION_FORMATION('6',$,#173); -#175=PACKAGE('PCAP-2',$,#174,#28,'',$,*); -#176=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#177=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#182,#4338,#4344),#176); -#178=SEATING_PLANE('seating plane',$,#175,.F.); -#179=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#180=REPRESENTATION('maximum tolerance',(#179),#181); -#181=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#182=CSG_SOLID_2D('',#183); -#183=POLYGONAL_AREA('',(#184,#185,#186,#187)); -#184=CARTESIAN_POINT('',(-0.05,-0.075)); -#185=CARTESIAN_POINT('',(0.65,-0.075)); -#186=CARTESIAN_POINT('',(0.65,0.075)); -#187=CARTESIAN_POINT('',(-0.05,0.075)); -#188=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.1),#71)REPRESENTATION_ITEM('')); -#189=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#190=REPRESENTATION('maximum tolerance',(#189),#191); -#191=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#192=PACKAGE_BODY('','part generic feature',#175,.T.); -#193=PRODUCT('PCAP-2-footprint','PCAP-2',$,(#22901)); -#194=PRODUCT_DEFINITION_FORMATION('6',$,#193); -#195=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#194,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#196=SHAPE_REPRESENTATION('ppsm',(#26,#4342,#4349),#176); -#197=PRODUCT('PCAP-1','PCAP-1',$,(#20051)); -#198=PRODUCT_DEFINITION_FORMATION('6',$,#197); -#199=PACKAGE('PCAP-1',$,#198,#28,'',$,*); -#200=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#201=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#206,#4379,#4385),#200); -#202=SEATING_PLANE('seating plane',$,#199,.F.); -#203=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#204=REPRESENTATION('maximum tolerance',(#203),#205); -#205=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#206=CSG_SOLID_2D('',#207); -#207=POLYGONAL_AREA('',(#208,#209,#210,#211)); -#208=CARTESIAN_POINT('',(-0.05,-0.1)); -#209=CARTESIAN_POINT('',(0.85,-0.1)); -#210=CARTESIAN_POINT('',(0.85,0.1)); -#211=CARTESIAN_POINT('',(-0.05,0.1)); -#212=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.2),#71)REPRESENTATION_ITEM('')); -#213=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#214=REPRESENTATION('maximum tolerance',(#213),#215); -#215=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#216=PACKAGE_BODY('','part generic feature',#199,.T.); -#217=PRODUCT('PCAP-1-footprint','PCAP-1',$,(#22901)); -#218=PRODUCT_DEFINITION_FORMATION('6',$,#217); -#219=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#218,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#220=SHAPE_REPRESENTATION('ppsm',(#26,#4383,#4390),#200); -#221=PRODUCT('CAP-3','CAP-3',$,(#20051)); -#222=PRODUCT_DEFINITION_FORMATION('6',$,#221); -#223=PACKAGE('CAP-3',$,#222,#28,'',$,*); -#224=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#225=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#230,#4414,#4420),#224); -#226=SEATING_PLANE('seating plane',$,#223,.F.); -#227=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#228=REPRESENTATION('maximum tolerance',(#227),#229); -#229=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#230=CSG_SOLID_2D('',#231); -#231=POLYGONAL_AREA('',(#232,#233,#234,#235)); -#232=CARTESIAN_POINT('',(-0.05,-0.05)); -#233=CARTESIAN_POINT('',(0.55,-0.05)); -#234=CARTESIAN_POINT('',(0.55,0.05)); -#235=CARTESIAN_POINT('',(-0.05,0.05)); -#236=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.1),#71)REPRESENTATION_ITEM('')); -#237=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#238=REPRESENTATION('maximum tolerance',(#237),#239); -#239=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#240=PACKAGE_BODY('','part generic feature',#223,.T.); -#241=PRODUCT('CAP-3-footprint','CAP-3',$,(#22901)); -#242=PRODUCT_DEFINITION_FORMATION('6',$,#241); -#243=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#242,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#244=SHAPE_REPRESENTATION('ppsm',(#26,#4418,#4425),#224); -#245=PRODUCT('DIODE-1','DIODE-1',$,(#20051)); -#246=PRODUCT_DEFINITION_FORMATION('6',$,#245); -#247=PACKAGE('DIODE-1',$,#246,#28,'',$,*); -#248=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#249=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#254,#4449,#4455),#248); -#250=SEATING_PLANE('seating plane',$,#247,.F.); -#251=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#252=REPRESENTATION('maximum tolerance',(#251),#253); -#253=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#254=CSG_SOLID_2D('',#255); -#255=POLYGONAL_AREA('',(#256,#257,#258,#259)); -#256=CARTESIAN_POINT('',(-0.05,-0.05)); -#257=CARTESIAN_POINT('',(0.55,-0.05)); -#258=CARTESIAN_POINT('',(0.55,0.05)); -#259=CARTESIAN_POINT('',(-0.05,0.05)); -#260=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.075),#71)REPRESENTATION_ITEM('')); -#261=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#262=REPRESENTATION('maximum tolerance',(#261),#263); -#263=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#264=PACKAGE_BODY('','part generic feature',#247,.T.); -#265=PRODUCT('DIODE-1-footprint','DIODE-1',$,(#22901)); -#266=PRODUCT_DEFINITION_FORMATION('6',$,#265); -#267=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#266,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#268=SHAPE_REPRESENTATION('ppsm',(#26,#4453,#4460),#248); -#269=PRODUCT('INDUCTOR','INDUCTOR',$,(#20051)); -#270=PRODUCT_DEFINITION_FORMATION('6',$,#269); -#271=PACKAGE('INDUCTOR',$,#270,#28,'',$,*); -#272=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#273=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#278,#4475,#4481,#4488),#272); -#274=SEATING_PLANE('seating plane',$,#271,.F.); -#275=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#276=REPRESENTATION('maximum tolerance',(#275),#277); -#277=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#278=CSG_SOLID_2D('',#279); -#279=POLYGONAL_AREA('',(#280,#281,#282,#283,#284,#285,#286,#287,#288,#289,#290,#291, - #292)); -#280=CARTESIAN_POINT('',(0.9148,0.0)); -#281=CARTESIAN_POINT('',(0.8458,-0.2574)); -#282=CARTESIAN_POINT('',(0.6574,-0.4458)); -#283=CARTESIAN_POINT('',(0.4,-0.5148)); -#284=CARTESIAN_POINT('',(0.1426,-0.4458)); -#285=CARTESIAN_POINT('',(-0.0458,-0.2574)); -#286=CARTESIAN_POINT('',(-0.1148,0.0)); -#287=CARTESIAN_POINT('',(-0.0458,0.2574)); -#288=CARTESIAN_POINT('',(0.1426,0.4458)); -#289=CARTESIAN_POINT('',(0.4,0.5148)); -#290=CARTESIAN_POINT('',(0.6574,0.4458)); -#291=CARTESIAN_POINT('',(0.8458,0.2574)); -#292=CARTESIAN_POINT('',(0.9148,0.0)); -#293=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 1.063),#71)REPRESENTATION_ITEM('')); -#294=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#295=REPRESENTATION('maximum tolerance',(#294),#296); -#296=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#297=PACKAGE_BODY('','part generic feature',#271,.T.); -#298=PRODUCT('INDUCTOR-footprint','INDUCTOR',$,(#22901)); -#299=PRODUCT_DEFINITION_FORMATION('6',$,#298); -#300=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#299,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#301=SHAPE_REPRESENTATION('ppsm',(#26,#315,#4479,#4486,#4493),#272); -#302=PASSAGE_TECHNOLOGY('0.066 inches',$,'',$,*); -#303=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.066),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#304=REPRESENTATION('maximum tolerance',(#303),#305); -#305=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#306=PRODUCT('INDUCTOR-drill-0','template',$,(#22901)); -#307=PRODUCT_DEFINITION_FORMATION('1',$,#306); -#308=INTER_STRATUM_FEATURE_TEMPLATE('1',$,#307,#28,'',$,*); -#309=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#311),#310); -#310=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#311=CSG_PRIMITIVE_SOLID_2D('',#313); -#312=CARTESIAN_POINT('',(0.0,0.0)); -#313=CIRCULAR_AREA('',#312,0.033); -#314=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#300,#308,'drill'); -#315=MAPPED_ITEM('tlistt',#22902,#316); -#316=AXIS2_PLACEMENT_2D('',#318,#317); -#317=DIRECTION('',(1.0,0.0)); -#318=CARTESIAN_POINT('',(0.4,0.0)); -#319=PRODUCT('CONN112','CONN112',$,(#20051)); -#320=PRODUCT_DEFINITION_FORMATION('6',$,#319); -#321=PACKAGE('CONN112',$,#320,#28,'',$,*); -#322=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#323=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#328,#4543,#4549,#4556,#4563,#4570, - #4577,#4584,#4591,#4598,#4605,#4612,#4619,#4626,#4633,#4640,#4647,#4654,#4661, - #4668,#4675,#4682,#4689,#4696,#4703,#4710,#4717,#4724,#4731,#4738,#4745,#4752, - #4759,#4766,#4773,#4780,#4787,#4794,#4801,#4808,#4815,#4822,#4829,#4836,#4843, - #4850,#4857,#4864,#4871,#4878,#4885,#4892,#4899,#4906,#4913,#4920,#4927,#4934, - #4941,#4948,#4955,#4962,#4969,#4976,#4983,#4990,#4997,#5004,#5011,#5018,#5025, - #5032,#5039,#5046,#5053,#5060,#5067,#5074,#5081,#5088,#5095,#5102,#5109,#5116, - #5123,#5130,#5137,#5144,#5151,#5158,#5165,#5172,#5179,#5186,#5193,#5200,#5207, - #5214,#5221,#5228,#5235,#5242,#5249,#5256,#5263,#5270,#5277,#5284,#5291,#5298, - #5305,#5312,#5319),#322); -#324=SEATING_PLANE('seating plane',$,#321,.F.); -#325=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#326=REPRESENTATION('maximum tolerance',(#325),#327); -#327=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#328=CSG_SOLID_2D('',#329); -#329=POLYGONAL_AREA('',(#330,#331,#332,#333)); -#330=CARTESIAN_POINT('',(5.85,0.4)); -#331=CARTESIAN_POINT('',(-0.35,0.4)); -#332=CARTESIAN_POINT('',(-0.35,-0.1)); -#333=CARTESIAN_POINT('',(5.85,-0.1)); -#334=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.284),#71)REPRESENTATION_ITEM('')); -#335=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#336=REPRESENTATION('maximum tolerance',(#335),#337); -#337=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#338=PACKAGE_BODY('','part generic feature',#321,.T.); -#339=LOGICAL_REPRESENTATION_ITEM('.BOOLEAN.',.T.); -#340=PRODUCT('COMPONENT_OUTLINE_OVERHANG','requirement',$,(#21090)); -#341=PRODUCT_DEFINITION_FORMATION('1',$,#340); -#342=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1',$,#341,#63); -#343=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#342)); -#344=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#345=PRODUCT('CONN112-footprint','CONN112',$,(#22901)); -#346=PRODUCT_DEFINITION_FORMATION('6',$,#345); -#347=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#346,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#348=SHAPE_REPRESENTATION('ppsm',(#26,#362,#375,#4547,#4554,#4561,#4568,#4575,#4582, - #4589,#4596,#4603,#4610,#4617,#4624,#4631,#4638,#4645,#4652,#4659,#4666,#4673, - #4680,#4687,#4694,#4701,#4708,#4715,#4722,#4729,#4736,#4743,#4750,#4757,#4764, - #4771,#4778,#4785,#4792,#4799,#4806,#4813,#4820,#4827,#4834,#4841,#4848,#4855, - #4862,#4869,#4876,#4883,#4890,#4897,#4904,#4911,#4918,#4925,#4932,#4939,#4946, - #4953,#4960,#4967,#4974,#4981,#4988,#4995,#5002,#5009,#5016,#5023,#5030,#5037, - #5044,#5051,#5058,#5065,#5072,#5079,#5086,#5093,#5100,#5107,#5114,#5121,#5128, - #5135,#5142,#5149,#5156,#5163,#5170,#5177,#5184,#5191,#5198,#5205,#5212,#5219, - #5226,#5233,#5240,#5247,#5254,#5261,#5268,#5275,#5282,#5289,#5296,#5303,#5310, - #5317,#5324),#322); -#349=PASSAGE_TECHNOLOGY('0.1 inches','default unsupported passage definition','', - $,*); -#350=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.1),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#351=REPRESENTATION('maximum tolerance',(#350),#352); -#352=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#353=PRODUCT('CONN112-drill-0','template',$,(#22901)); -#354=PRODUCT_DEFINITION_FORMATION('1',$,#353); -#355=UNSUPPORTED_PASSAGE_TEMPLATE('1',$,#354,#28,'',$,*); -#356=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#358),#357); -#357=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#358=CSG_PRIMITIVE_SOLID_2D('',#360); -#359=CARTESIAN_POINT('',(0.0,0.0)); -#360=CIRCULAR_AREA('',#359,0.05); -#361=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#347,#355,'drill'); -#362=MAPPED_ITEM('tlistt',#22907,#363); -#363=AXIS2_PLACEMENT_2D('',#365,#364); -#364=DIRECTION('',(1.0,0.0)); -#365=CARTESIAN_POINT('',(5.75,0.0)); -#366=PRODUCT('CONN112-drill-1','template',$,(#22901)); -#367=PRODUCT_DEFINITION_FORMATION('1',$,#366); -#368=UNSUPPORTED_PASSAGE_TEMPLATE('1',$,#367,#28,'',$,*); -#369=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#371),#370); -#370=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#371=CSG_PRIMITIVE_SOLID_2D('',#373); -#372=CARTESIAN_POINT('',(0.0,0.0)); -#373=CIRCULAR_AREA('',#372,0.05); -#374=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#347,#368,'drill'); -#375=MAPPED_ITEM('tlistt',#22911,#376); -#376=AXIS2_PLACEMENT_2D('',#378,#377); -#377=DIRECTION('',(1.0,0.0)); -#378=CARTESIAN_POINT('',(-0.25,0.0)); -#379=PRODUCT('TRANS-1','TRANS-1',$,(#20051)); -#380=PRODUCT_DEFINITION_FORMATION('6',$,#379); -#381=PACKAGE('TRANS-1',$,#380,#28,'',$,*); -#382=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#383=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#388,#5372,#5378,#5385),#382); -#384=SEATING_PLANE('seating plane',$,#381,.F.); -#385=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#386=REPRESENTATION('maximum tolerance',(#385),#387); -#387=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#388=CSG_SOLID_2D('',#389); -#389=POLYGONAL_AREA('',(#390,#391,#392,#393,#394,#395,#396,#397,#398)); -#390=CARTESIAN_POINT('',(0.19,0.525)); -#391=CARTESIAN_POINT('',(0.45,-0.0050)); -#392=CARTESIAN_POINT('',(0.45,-0.195)); -#393=CARTESIAN_POINT('',(0.19,-0.725)); -#394=CARTESIAN_POINT('',(0.01,-0.725)); -#395=CARTESIAN_POINT('',(-0.25,-0.195)); -#396=CARTESIAN_POINT('',(-0.25,-0.0050)); -#397=CARTESIAN_POINT('',(0.01,0.525)); -#398=CARTESIAN_POINT('',(0.19,0.525)); -#399=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.34),#71)REPRESENTATION_ITEM('')); -#400=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#401=REPRESENTATION('maximum tolerance',(#400),#402); -#402=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#403=PACKAGE_BODY('','part generic feature',#381,.T.); -#404=PRODUCT('TRANS-1-footprint','TRANS-1',$,(#22901)); -#405=PRODUCT_DEFINITION_FORMATION('6',$,#404); -#406=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#405,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#407=SHAPE_REPRESENTATION('ppsm',(#26,#421,#5376,#5383,#5390),#382); -#408=PASSAGE_TECHNOLOGY('0.152 inches','default unsupported passage definition', - '',$,*); -#409=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.152),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#410=REPRESENTATION('maximum tolerance',(#409),#411); -#411=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#412=PRODUCT('TRANS-1-drill-0','template',$,(#22901)); -#413=PRODUCT_DEFINITION_FORMATION('1',$,#412); -#414=UNSUPPORTED_PASSAGE_TEMPLATE('1',$,#413,#28,'',$,*); -#415=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#417),#416); -#416=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#417=CSG_PRIMITIVE_SOLID_2D('',#419); -#418=CARTESIAN_POINT('',(0.0,0.0)); -#419=CIRCULAR_AREA('',#418,0.076); -#420=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#406,#414,'drill'); -#421=MAPPED_ITEM('tlistt',#22915,#422); -#422=AXIS2_PLACEMENT_2D('',#424,#423); -#423=DIRECTION('',(1.0,0.0)); -#424=CARTESIAN_POINT('',(0.1,0.375)); -#425=PRODUCT('TRANS-2','TRANS-2',$,(#20051)); -#426=PRODUCT_DEFINITION_FORMATION('6',$,#425); -#427=PACKAGE('TRANS-2',$,#426,#28,'',$,*); -#428=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#429=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#434,#5411,#5417,#5424),#428); -#430=SEATING_PLANE('seating plane',$,#427,.F.); -#431=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#432=REPRESENTATION('maximum tolerance',(#431),#433); -#433=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#434=CSG_SOLID_2D('',#435); -#435=POLYGONAL_AREA('',(#436,#437,#438,#439,#440,#441,#442,#443,#444)); -#436=CARTESIAN_POINT('',(-0.085,0.135)); -#437=CARTESIAN_POINT('',(-0.035,0.185)); -#438=CARTESIAN_POINT('',(0.185,0.185)); -#439=CARTESIAN_POINT('',(0.285,0.085)); -#440=CARTESIAN_POINT('',(0.285,-0.085)); -#441=CARTESIAN_POINT('',(0.185,-0.185)); -#442=CARTESIAN_POINT('',(0.015,-0.185)); -#443=CARTESIAN_POINT('',(-0.085,-0.085)); -#444=CARTESIAN_POINT('',(-0.085,0.135)); -#445=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.26),#71)REPRESENTATION_ITEM('')); -#446=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#447=REPRESENTATION('maximum tolerance',(#446),#448); -#448=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#449=PACKAGE_BODY('','part generic feature',#427,.T.); -#450=PRODUCT('TRANS-2-footprint','TRANS-2',$,(#22901)); -#451=PRODUCT_DEFINITION_FORMATION('6',$,#450); -#452=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#451,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#453=SHAPE_REPRESENTATION('ppsm',(#26,#5415,#5422,#5429),#428); -#454=PRODUCT('TRANS-3','TRANS-3',$,(#20051)); -#455=PRODUCT_DEFINITION_FORMATION('6',$,#454); -#456=PACKAGE('TRANS-3',$,#455,#28,'',$,*); -#457=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#458=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#463,#5450,#5456,#5463),#457); -#459=SEATING_PLANE('seating plane',$,#456,.F.); -#460=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#461=REPRESENTATION('maximum tolerance',(#460),#462); -#462=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#463=CSG_SOLID_2D('',#464); -#464=POLYGONAL_AREA('',(#465,#466,#467,#468,#469,#470,#471,#472,#473)); -#465=CARTESIAN_POINT('',(0.285,-0.135)); -#466=CARTESIAN_POINT('',(0.235,-0.185)); -#467=CARTESIAN_POINT('',(0.015,-0.185)); -#468=CARTESIAN_POINT('',(-0.085,-0.085)); -#469=CARTESIAN_POINT('',(-0.085,0.085)); -#470=CARTESIAN_POINT('',(0.015,0.185)); -#471=CARTESIAN_POINT('',(0.185,0.185)); -#472=CARTESIAN_POINT('',(0.285,0.085)); -#473=CARTESIAN_POINT('',(0.285,-0.135)); -#474=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.21),#71)REPRESENTATION_ITEM('')); -#475=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#476=REPRESENTATION('maximum tolerance',(#475),#477); -#477=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#478=PACKAGE_BODY('','part generic feature',#456,.T.); -#479=PRODUCT('TRANS-3-footprint','TRANS-3',$,(#22901)); -#480=PRODUCT_DEFINITION_FORMATION('6',$,#479); -#481=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#480,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#482=SHAPE_REPRESENTATION('ppsm',(#26,#5454,#5461,#5468),#457); -#483=PRODUCT('RES-1','RES-1',$,(#20051)); -#484=PRODUCT_DEFINITION_FORMATION('6',$,#483); -#485=PACKAGE('RES-1',$,#484,#28,'',$,*); -#486=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#487=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#492,#5492,#5498),#486); -#488=SEATING_PLANE('seating plane',$,#485,.F.); -#489=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#490=REPRESENTATION('maximum tolerance',(#489),#491); -#491=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#492=CSG_SOLID_2D('',#493); -#493=POLYGONAL_AREA('',(#494,#495,#496,#497)); -#494=CARTESIAN_POINT('',(-0.05,-0.05)); -#495=CARTESIAN_POINT('',(0.55,-0.05)); -#496=CARTESIAN_POINT('',(0.55,0.05)); -#497=CARTESIAN_POINT('',(-0.05,0.05)); -#498=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.098),#71)REPRESENTATION_ITEM('')); -#499=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#500=REPRESENTATION('maximum tolerance',(#499),#501); -#501=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#502=PACKAGE_BODY('','part generic feature',#485,.T.); -#503=PRODUCT('RES-1-footprint','RES-1',$,(#22901)); -#504=PRODUCT_DEFINITION_FORMATION('6',$,#503); -#505=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#504,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#506=SHAPE_REPRESENTATION('ppsm',(#26,#5496,#5503),#486); -#507=PRODUCT('RES-2','RES-2',$,(#20051)); -#508=PRODUCT_DEFINITION_FORMATION('6',$,#507); -#509=PACKAGE('RES-2',$,#508,#28,'',$,*); -#510=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#511=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#516,#5527,#5533),#510); -#512=SEATING_PLANE('seating plane',$,#509,.F.); -#513=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#514=REPRESENTATION('maximum tolerance',(#513),#515); -#515=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#516=CSG_SOLID_2D('',#517); -#517=POLYGONAL_AREA('',(#518,#519,#520,#521)); -#518=CARTESIAN_POINT('',(-0.05,-0.075)); -#519=CARTESIAN_POINT('',(0.75,-0.075)); -#520=CARTESIAN_POINT('',(0.75,0.075)); -#521=CARTESIAN_POINT('',(-0.05,0.075)); -#522=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.098),#71)REPRESENTATION_ITEM('')); -#523=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#524=REPRESENTATION('maximum tolerance',(#523),#525); -#525=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#526=PACKAGE_BODY('','part generic feature',#509,.T.); -#527=PRODUCT('RES-2-footprint','RES-2',$,(#22901)); -#528=PRODUCT_DEFINITION_FORMATION('6',$,#527); -#529=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#528,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#530=SHAPE_REPRESENTATION('ppsm',(#26,#5531,#5538),#510); -#531=PRODUCT('XFORMER','XFORMER',$,(#20051)); -#532=PRODUCT_DEFINITION_FORMATION('6',$,#531); -#533=PACKAGE('XFORMER',$,#532,#28,'',$,*); -#534=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#535=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#540,#5556,#5562,#5569,#5576,#5583, - #5590),#534); -#536=SEATING_PLANE('seating plane',$,#533,.F.); -#537=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#538=REPRESENTATION('maximum tolerance',(#537),#539); -#539=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#540=CSG_SOLID_2D('',#541); -#541=POLYGONAL_AREA('',(#542,#543,#544,#545)); -#542=CARTESIAN_POINT('',(0.45,-0.05)); -#543=CARTESIAN_POINT('',(-0.05,-0.05)); -#544=CARTESIAN_POINT('',(-0.05,0.45)); -#545=CARTESIAN_POINT('',(0.45,0.45)); -#546=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.59),#71)REPRESENTATION_ITEM('')); -#547=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#548=REPRESENTATION('maximum tolerance',(#547),#549); -#549=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#550=PACKAGE_BODY('','part generic feature',#533,.T.); -#551=PRODUCT('XFORMER-footprint','XFORMER',$,(#22901)); -#552=PRODUCT_DEFINITION_FORMATION('6',$,#551); -#553=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#552,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#554=SHAPE_REPRESENTATION('ppsm',(#26,#5560,#5567,#5574,#5581,#5588,#5595),#534); -#555=PRODUCT('DIP14','DIP14',$,(#20051)); -#556=PRODUCT_DEFINITION_FORMATION('6',$,#555); -#557=PACKAGE('DIP14',$,#556,#28,'',$,*); -#558=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#559=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#564,#5688,#5694,#5701,#5708,#5715, - #5722,#5729,#5736,#5743,#5750,#5757,#5764,#5771,#5778),#558); -#560=SEATING_PLANE('seating plane',$,#557,.F.); -#561=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#562=REPRESENTATION('maximum tolerance',(#561),#563); -#563=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#564=CSG_SOLID_2D('',#565); -#565=POLYGONAL_AREA('',(#566,#567,#568,#569)); -#566=CARTESIAN_POINT('',(0.65,-0.05)); -#567=CARTESIAN_POINT('',(-0.05,-0.05)); -#568=CARTESIAN_POINT('',(-0.05,0.35)); -#569=CARTESIAN_POINT('',(0.65,0.35)); -#570=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.25),#71)REPRESENTATION_ITEM('')); -#571=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#572=REPRESENTATION('maximum tolerance',(#571),#573); -#573=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#574=PACKAGE_BODY('','part generic feature',#557,.T.); -#575=PRODUCT('DIP14-footprint','DIP14',$,(#22901)); -#576=PRODUCT_DEFINITION_FORMATION('6',$,#575); -#577=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#576,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#578=SHAPE_REPRESENTATION('ppsm',(#26,#5692,#5699,#5706,#5713,#5720,#5727,#5734, - #5741,#5748,#5755,#5762,#5769,#5776,#5783),#558); -#579=PRODUCT('DIODE-2','DIODE-2',$,(#20051)); -#580=PRODUCT_DEFINITION_FORMATION('6',$,#579); -#581=PACKAGE('DIODE-2',$,#580,#28,'',$,*); -#582=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#583=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#588,#5813,#5819),#582); -#584=SEATING_PLANE('seating plane',$,#581,.F.); -#585=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#586=REPRESENTATION('maximum tolerance',(#585),#587); -#587=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#588=CSG_SOLID_2D('',#589); -#589=POLYGONAL_AREA('',(#590,#591,#592,#593)); -#590=CARTESIAN_POINT('',(-0.05,-0.1)); -#591=CARTESIAN_POINT('',(0.85,-0.1)); -#592=CARTESIAN_POINT('',(0.85,0.1)); -#593=CARTESIAN_POINT('',(-0.05,0.1)); -#594=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.235),#71)REPRESENTATION_ITEM('')); -#595=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#596=REPRESENTATION('maximum tolerance',(#595),#597); -#597=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#598=PACKAGE_BODY('','part generic feature',#581,.T.); -#599=PRODUCT('DIODE-2-footprint','DIODE-2',$,(#22901)); -#600=PRODUCT_DEFINITION_FORMATION('6',$,#599); -#601=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#600,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#602=SHAPE_REPRESENTATION('ppsm',(#26,#5817,#5824),#582); -#603=PRODUCT('DIODE-3','DIODE-3',$,(#20051)); -#604=PRODUCT_DEFINITION_FORMATION('6',$,#603); -#605=PACKAGE('DIODE-3',$,#604,#28,'',$,*); -#606=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#607=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#612,#5848,#5854),#606); -#608=SEATING_PLANE('seating plane',$,#605,.F.); -#609=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#610=REPRESENTATION('maximum tolerance',(#609),#611); -#611=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#612=CSG_SOLID_2D('',#613); -#613=POLYGONAL_AREA('',(#614,#615,#616,#617)); -#614=CARTESIAN_POINT('',(-0.05,-0.075)); -#615=CARTESIAN_POINT('',(0.55,-0.075)); -#616=CARTESIAN_POINT('',(0.55,0.075)); -#617=CARTESIAN_POINT('',(-0.05,0.075)); -#618=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.105),#71)REPRESENTATION_ITEM('')); -#619=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#620=REPRESENTATION('maximum tolerance',(#619),#621); -#621=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#622=PACKAGE_BODY('','part generic feature',#605,.T.); -#623=PRODUCT('DIODE-3-footprint','DIODE-3',$,(#22901)); -#624=PRODUCT_DEFINITION_FORMATION('6',$,#623); -#625=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#624,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#626=SHAPE_REPRESENTATION('ppsm',(#26,#5852,#5859),#606); -#627=PRODUCT('JUMPER','JUMPER',$,(#20051)); -#628=PRODUCT_DEFINITION_FORMATION('6',$,#627); -#629=PACKAGE('JUMPER',$,#628,#28,'',$,*); -#630=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#631=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#636,#5891,#5897),#630); -#632=SEATING_PLANE('seating plane',$,#629,.F.); -#633=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#634=REPRESENTATION('maximum tolerance',(#633),#635); -#635=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#636=CSG_SOLID_2D('',#637); -#637=POLYGONAL_AREA('',(#638,#639,#640,#641)); -#638=CARTESIAN_POINT('',(0.3005,-0.125)); -#639=CARTESIAN_POINT('',(0.25,-0.125)); -#640=CARTESIAN_POINT('',(0.25,-0.075)); -#641=CARTESIAN_POINT('',(0.3005,-0.075)); -#642=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.02),#71)REPRESENTATION_ITEM('')); -#643=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#644=REPRESENTATION('maximum tolerance',(#643),#645); -#645=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#646=PACKAGE_BODY('','part generic feature',#629,.T.); -#647=PRODUCT('JUMPER-footprint','JUMPER',$,(#22901)); -#648=PRODUCT_DEFINITION_FORMATION('6',$,#647); -#649=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#648,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#650=SHAPE_REPRESENTATION('ppsm',(#26,#5895,#5902),#630); -#651=PRODUCT('M39014/05-2645','STANDARD',$,(#20051)); -#652=PRODUCT_DEFINITION_FORMATION('6',$,#651); -#653=PACKAGED_PART('1',$,#652,#28,'',$,*); -#654=PRODUCT('M39014/05-2645','STANDARD',$,(#17078)); -#655=PRODUCT_DEFINITION_FORMATION('6',$,#654); -#656=FUNCTIONAL_UNIT('1',$,#655,#28,'',$,*); -#657=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#656,.U.); -#658=PRODUCT('M39014/05-2700','STANDARD',$,(#20051)); -#659=PRODUCT_DEFINITION_FORMATION('6',$,#658); -#660=PACKAGED_PART('1',$,#659,#28,'',$,*); -#661=PRODUCT('M39014/05-2700','STANDARD',$,(#17078)); -#662=PRODUCT_DEFINITION_FORMATION('6',$,#661); -#663=FUNCTIONAL_UNIT('1',$,#662,#28,'',$,*); -#664=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#663,.U.); -#665=PRODUCT('SM-A-876241-5','STANDARD',$,(#20051)); -#666=PRODUCT_DEFINITION_FORMATION('6',$,#665); -#667=PACKAGED_PART('1',$,#666,#28,'',$,*); -#668=PRODUCT('SM-A-876241-5','STANDARD',$,(#17078)); -#669=PRODUCT_DEFINITION_FORMATION('6',$,#668); -#670=FUNCTIONAL_UNIT('1',$,#669,#28,'',$,*); -#671=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#670,.U.); -#672=PRODUCT('M39003/01-2356','STANDARD',$,(#20051)); -#673=PRODUCT_DEFINITION_FORMATION('6',$,#672); -#674=PACKAGED_PART('1',$,#673,#28,'',$,*); -#675=PRODUCT('M39003/01-2356','STANDARD',$,(#17078)); -#676=PRODUCT_DEFINITION_FORMATION('6',$,#675); -#677=FUNCTIONAL_UNIT('1',$,#676,#28,'',$,*); -#678=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#677,.U.); -#679=PRODUCT('M39003/01-2304','STANDARD',$,(#20051)); -#680=PRODUCT_DEFINITION_FORMATION('6',$,#679); -#681=PACKAGED_PART('1',$,#680,#28,'',$,*); -#682=PRODUCT('M39003/01-2304','STANDARD',$,(#17078)); -#683=PRODUCT_DEFINITION_FORMATION('6',$,#682); -#684=FUNCTIONAL_UNIT('1',$,#683,#28,'',$,*); -#685=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#684,.U.); -#686=PRODUCT('M39014/05-2655','STANDARD',$,(#20051)); -#687=PRODUCT_DEFINITION_FORMATION('6',$,#686); -#688=PACKAGED_PART('1',$,#687,#28,'',$,*); -#689=PRODUCT('M39014/05-2655','STANDARD',$,(#17078)); -#690=PRODUCT_DEFINITION_FORMATION('6',$,#689); -#691=FUNCTIONAL_UNIT('1',$,#690,#28,'',$,*); -#692=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#691,.U.); -#693=PRODUCT('M39014/05-2613','STANDARD',$,(#20051)); -#694=PRODUCT_DEFINITION_FORMATION('6',$,#693); -#695=PACKAGED_PART('1',$,#694,#28,'',$,*); -#696=PRODUCT('M39014/05-2613','STANDARD',$,(#17078)); -#697=PRODUCT_DEFINITION_FORMATION('6',$,#696); -#698=FUNCTIONAL_UNIT('1',$,#697,#28,'',$,*); -#699=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#698,.U.); -#700=PRODUCT('M39003/01-2289','STANDARD',$,(#20051)); -#701=PRODUCT_DEFINITION_FORMATION('6',$,#700); -#702=PACKAGED_PART('1',$,#701,#28,'',$,*); -#703=PRODUCT('M39003/01-2289','STANDARD',$,(#17078)); -#704=PRODUCT_DEFINITION_FORMATION('6',$,#703); -#705=FUNCTIONAL_UNIT('1',$,#704,#28,'',$,*); -#706=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#705,.U.); -#707=PRODUCT('M39014/05-2673','STANDARD',$,(#20051)); -#708=PRODUCT_DEFINITION_FORMATION('6',$,#707); -#709=PACKAGED_PART('1',$,#708,#28,'',$,*); -#710=PRODUCT('M39014/05-2673','STANDARD',$,(#17078)); -#711=PRODUCT_DEFINITION_FORMATION('6',$,#710); -#712=FUNCTIONAL_UNIT('1',$,#711,#28,'',$,*); -#713=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#712,.U.); -#714=PRODUCT('JAN1N4148-1','STANDARD',$,(#20051)); -#715=PRODUCT_DEFINITION_FORMATION('6',$,#714); -#716=PACKAGED_PART('1',$,#715,#28,'',$,*); -#717=PRODUCT('JAN1N4148-1','STANDARD',$,(#17078)); -#718=PRODUCT_DEFINITION_FORMATION('6',$,#717); -#719=FUNCTIONAL_UNIT('1',$,#718,#28,'',$,*); -#720=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#719,.U.); -#721=PRODUCT('JAN1N5616','STANDARD',$,(#20051)); -#722=PRODUCT_DEFINITION_FORMATION('6',$,#721); -#723=PACKAGED_PART('1',$,#722,#28,'',$,*); -#724=PRODUCT('JAN1N5616','STANDARD',$,(#17078)); -#725=PRODUCT_DEFINITION_FORMATION('6',$,#724); -#726=FUNCTIONAL_UNIT('1',$,#725,#28,'',$,*); -#727=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#726,.U.); -#728=PRODUCT('SM-A-876003-4','STANDARD',$,(#20051)); -#729=PRODUCT_DEFINITION_FORMATION('6',$,#728); -#730=PACKAGED_PART('1',$,#729,#28,'',$,*); -#731=PRODUCT('SM-A-876003-4','STANDARD',$,(#17078)); -#732=PRODUCT_DEFINITION_FORMATION('6',$,#731); -#733=FUNCTIONAL_UNIT('1',$,#732,#28,'',$,*); -#734=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#733,.U.); -#735=PRODUCT('SM-C-875966','STANDARD',$,(#20051)); -#736=PRODUCT_DEFINITION_FORMATION('6',$,#735); -#737=PACKAGED_PART('1',$,#736,#28,'',$,*); -#738=PRODUCT('SM-C-875966','STANDARD',$,(#17078)); -#739=PRODUCT_DEFINITION_FORMATION('6',$,#738); -#740=FUNCTIONAL_UNIT('1',$,#739,#28,'',$,*); -#741=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#740,.U.); -#742=PRODUCT('JAN2N3739','STANDARD',$,(#20051)); -#743=PRODUCT_DEFINITION_FORMATION('6',$,#742); -#744=PACKAGED_PART('1',$,#743,#28,'',$,*); -#745=PRODUCT('JAN2N3739','STANDARD',$,(#17078)); -#746=PRODUCT_DEFINITION_FORMATION('6',$,#745); -#747=FUNCTIONAL_UNIT('1',$,#746,#28,'',$,*); -#748=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#747,.U.); -#749=PRODUCT('JAN2N2219A','STANDARD',$,(#20051)); -#750=PRODUCT_DEFINITION_FORMATION('6',$,#749); -#751=PACKAGED_PART('1',$,#750,#28,'',$,*); -#752=PRODUCT('JAN2N2219A','STANDARD',$,(#17078)); -#753=PRODUCT_DEFINITION_FORMATION('6',$,#752); -#754=FUNCTIONAL_UNIT('1',$,#753,#28,'',$,*); -#755=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#754,.U.); -#756=PRODUCT('SM-A-984996','STANDARD',$,(#20051)); -#757=PRODUCT_DEFINITION_FORMATION('6',$,#756); -#758=PACKAGED_PART('1',$,#757,#28,'',$,*); -#759=PRODUCT('SM-A-984996','STANDARD',$,(#17078)); -#760=PRODUCT_DEFINITION_FORMATION('6',$,#759); -#761=FUNCTIONAL_UNIT('1',$,#760,#28,'',$,*); -#762=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#761,.U.); -#763=PRODUCT('RLR07C8200GR','STANDARD',$,(#20051)); -#764=PRODUCT_DEFINITION_FORMATION('6',$,#763); -#765=PACKAGED_PART('1',$,#764,#28,'',$,*); -#766=PRODUCT('RLR07C8200GR','STANDARD',$,(#17078)); -#767=PRODUCT_DEFINITION_FORMATION('6',$,#766); -#768=FUNCTIONAL_UNIT('1',$,#767,#28,'',$,*); -#769=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#768,.U.); -#770=PRODUCT('RLR07C1802GR','STANDARD',$,(#20051)); -#771=PRODUCT_DEFINITION_FORMATION('6',$,#770); -#772=PACKAGED_PART('1',$,#771,#28,'',$,*); -#773=PRODUCT('RLR07C1802GR','STANDARD',$,(#17078)); -#774=PRODUCT_DEFINITION_FORMATION('6',$,#773); -#775=FUNCTIONAL_UNIT('1',$,#774,#28,'',$,*); -#776=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#775,.U.); -#777=PRODUCT('RLR07C4703GR','STANDARD',$,(#20051)); -#778=PRODUCT_DEFINITION_FORMATION('6',$,#777); -#779=PACKAGED_PART('1',$,#778,#28,'',$,*); -#780=PRODUCT('RLR07C4703GR','STANDARD',$,(#17078)); -#781=PRODUCT_DEFINITION_FORMATION('6',$,#780); -#782=FUNCTIONAL_UNIT('1',$,#781,#28,'',$,*); -#783=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#782,.U.); -#784=PRODUCT('RLR20C1000GR','STANDARD',$,(#20051)); -#785=PRODUCT_DEFINITION_FORMATION('6',$,#784); -#786=PACKAGED_PART('1',$,#785,#28,'',$,*); -#787=PRODUCT('RLR20C1000GR','STANDARD',$,(#17078)); -#788=PRODUCT_DEFINITION_FORMATION('6',$,#787); -#789=FUNCTIONAL_UNIT('1',$,#788,#28,'',$,*); -#790=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#789,.U.); -#791=PRODUCT('RLR07C2202GR','STANDARD',$,(#20051)); -#792=PRODUCT_DEFINITION_FORMATION('6',$,#791); -#793=PACKAGED_PART('1',$,#792,#28,'',$,*); -#794=PRODUCT('RLR07C2202GR','STANDARD',$,(#17078)); -#795=PRODUCT_DEFINITION_FORMATION('6',$,#794); -#796=FUNCTIONAL_UNIT('1',$,#795,#28,'',$,*); -#797=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#796,.U.); -#798=PRODUCT('RLR07C1203GR','STANDARD',$,(#20051)); -#799=PRODUCT_DEFINITION_FORMATION('6',$,#798); -#800=PACKAGED_PART('1',$,#799,#28,'',$,*); -#801=PRODUCT('RLR07C1203GR','STANDARD',$,(#17078)); -#802=PRODUCT_DEFINITION_FORMATION('6',$,#801); -#803=FUNCTIONAL_UNIT('1',$,#802,#28,'',$,*); -#804=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#803,.U.); -#805=PRODUCT('RLR07C4702GR','STANDARD',$,(#20051)); -#806=PRODUCT_DEFINITION_FORMATION('6',$,#805); -#807=PACKAGED_PART('1',$,#806,#28,'',$,*); -#808=PRODUCT('RLR07C4702GR','STANDARD',$,(#17078)); -#809=PRODUCT_DEFINITION_FORMATION('6',$,#808); -#810=FUNCTIONAL_UNIT('1',$,#809,#28,'',$,*); -#811=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#810,.U.); -#812=PRODUCT('RLR07C2204GR','STANDARD',$,(#20051)); -#813=PRODUCT_DEFINITION_FORMATION('6',$,#812); -#814=PACKAGED_PART('1',$,#813,#28,'',$,*); -#815=PRODUCT('RLR07C2204GR','STANDARD',$,(#17078)); -#816=PRODUCT_DEFINITION_FORMATION('6',$,#815); -#817=FUNCTIONAL_UNIT('1',$,#816,#28,'',$,*); -#818=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#817,.U.); -#819=PRODUCT('RLR07C5601GR','STANDARD',$,(#20051)); -#820=PRODUCT_DEFINITION_FORMATION('6',$,#819); -#821=PACKAGED_PART('1',$,#820,#28,'',$,*); -#822=PRODUCT('RLR07C5601GR','STANDARD',$,(#17078)); -#823=PRODUCT_DEFINITION_FORMATION('6',$,#822); -#824=FUNCTIONAL_UNIT('1',$,#823,#28,'',$,*); -#825=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#824,.U.); -#826=PRODUCT('RLR07C2201GR','STANDARD',$,(#20051)); -#827=PRODUCT_DEFINITION_FORMATION('6',$,#826); -#828=PACKAGED_PART('1',$,#827,#28,'',$,*); -#829=PRODUCT('RLR07C2201GR','STANDARD',$,(#17078)); -#830=PRODUCT_DEFINITION_FORMATION('6',$,#829); -#831=FUNCTIONAL_UNIT('1',$,#830,#28,'',$,*); -#832=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#831,.U.); -#833=PRODUCT('RLR07C1202GR','STANDARD',$,(#20051)); -#834=PRODUCT_DEFINITION_FORMATION('6',$,#833); -#835=PACKAGED_PART('1',$,#834,#28,'',$,*); -#836=PRODUCT('RLR07C1202GR','STANDARD',$,(#17078)); -#837=PRODUCT_DEFINITION_FORMATION('6',$,#836); -#838=FUNCTIONAL_UNIT('1',$,#837,#28,'',$,*); -#839=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#838,.U.); -#840=PRODUCT('RLR07C6803GR','STANDARD',$,(#20051)); -#841=PRODUCT_DEFINITION_FORMATION('6',$,#840); -#842=PACKAGED_PART('1',$,#841,#28,'',$,*); -#843=PRODUCT('RLR07C6803GR','STANDARD',$,(#17078)); -#844=PRODUCT_DEFINITION_FORMATION('6',$,#843); -#845=FUNCTIONAL_UNIT('1',$,#844,#28,'',$,*); -#846=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#845,.U.); -#847=PRODUCT('RLR07C1004GR','STANDARD',$,(#20051)); -#848=PRODUCT_DEFINITION_FORMATION('6',$,#847); -#849=PACKAGED_PART('1',$,#848,#28,'',$,*); -#850=PRODUCT('RLR07C1004GR','STANDARD',$,(#17078)); -#851=PRODUCT_DEFINITION_FORMATION('6',$,#850); -#852=FUNCTIONAL_UNIT('1',$,#851,#28,'',$,*); -#853=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#852,.U.); -#854=PRODUCT('RLR07C1801GR','STANDARD',$,(#20051)); -#855=PRODUCT_DEFINITION_FORMATION('6',$,#854); -#856=PACKAGED_PART('1',$,#855,#28,'',$,*); -#857=PRODUCT('RLR07C1801GR','STANDARD',$,(#17078)); -#858=PRODUCT_DEFINITION_FORMATION('6',$,#857); -#859=FUNCTIONAL_UNIT('1',$,#858,#28,'',$,*); -#860=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#859,.U.); -#861=PRODUCT('RLR07C150GR','STANDARD',$,(#20051)); -#862=PRODUCT_DEFINITION_FORMATION('6',$,#861); -#863=PACKAGED_PART('1',$,#862,#28,'',$,*); -#864=PRODUCT('RLR07C150GR','STANDARD',$,(#17078)); -#865=PRODUCT_DEFINITION_FORMATION('6',$,#864); -#866=FUNCTIONAL_UNIT('1',$,#865,#28,'',$,*); -#867=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#866,.U.); -#868=PRODUCT('RLR07C4700GR','STANDARD',$,(#20051)); -#869=PRODUCT_DEFINITION_FORMATION('6',$,#868); -#870=PACKAGED_PART('1',$,#869,#28,'',$,*); -#871=PRODUCT('RLR07C4700GR','STANDARD',$,(#17078)); -#872=PRODUCT_DEFINITION_FORMATION('6',$,#871); -#873=FUNCTIONAL_UNIT('1',$,#872,#28,'',$,*); -#874=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#873,.U.); -#875=PRODUCT('RLR07C68R0GR','STANDARD',$,(#20051)); -#876=PRODUCT_DEFINITION_FORMATION('6',$,#875); -#877=PACKAGED_PART('1',$,#876,#28,'',$,*); -#878=PRODUCT('RLR07C68R0GR','STANDARD',$,(#17078)); -#879=PRODUCT_DEFINITION_FORMATION('6',$,#878); -#880=FUNCTIONAL_UNIT('1',$,#879,#28,'',$,*); -#881=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#880,.U.); -#882=PRODUCT('RCR07G106JS','STANDARD',$,(#20051)); -#883=PRODUCT_DEFINITION_FORMATION('6',$,#882); -#884=PACKAGED_PART('1',$,#883,#28,'',$,*); -#885=PRODUCT('RCR07G106JS','STANDARD',$,(#17078)); -#886=PRODUCT_DEFINITION_FORMATION('6',$,#885); -#887=FUNCTIONAL_UNIT('1',$,#886,#28,'',$,*); -#888=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#887,.U.); -#889=PRODUCT('SM-A-876291-2','STANDARD',$,(#20051)); -#890=PRODUCT_DEFINITION_FORMATION('6',$,#889); -#891=PACKAGED_PART('1',$,#890,#28,'',$,*); -#892=PRODUCT('SM-A-876291-2','STANDARD',$,(#17078)); -#893=PRODUCT_DEFINITION_FORMATION('6',$,#892); -#894=FUNCTIONAL_UNIT('1',$,#893,#28,'',$,*); -#895=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#894,.U.); -#896=PRODUCT('M38510/10102BCX','STANDARD',$,(#20051)); -#897=PRODUCT_DEFINITION_FORMATION('6',$,#896); -#898=PACKAGED_PART('1',$,#897,#28,'',$,*); -#899=PRODUCT('M38510/10102BCX','STANDARD',$,(#17078)); -#900=PRODUCT_DEFINITION_FORMATION('6',$,#899); -#901=FUNCTIONAL_UNIT('1',$,#900,#28,'',$,*); -#902=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#901,.U.); -#903=PRODUCT('JAN1N5644A','STANDARD',$,(#20051)); -#904=PRODUCT_DEFINITION_FORMATION('6',$,#903); -#905=PACKAGED_PART('1',$,#904,#28,'',$,*); -#906=PRODUCT('JAN1N5644A','STANDARD',$,(#17078)); -#907=PRODUCT_DEFINITION_FORMATION('6',$,#906); -#908=FUNCTIONAL_UNIT('1',$,#907,#28,'',$,*); -#909=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#908,.U.); -#910=PRODUCT('JAN1N757A','STANDARD',$,(#20051)); -#911=PRODUCT_DEFINITION_FORMATION('6',$,#910); -#912=PACKAGED_PART('1',$,#911,#28,'',$,*); -#913=PRODUCT('JAN1N757A','STANDARD',$,(#17078)); -#914=PRODUCT_DEFINITION_FORMATION('6',$,#913); -#915=FUNCTIONAL_UNIT('1',$,#914,#28,'',$,*); -#916=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#915,.U.); -#917=PRODUCT('SM-B-540383-3','STANDARD',$,(#20051)); -#918=PRODUCT_DEFINITION_FORMATION('6',$,#917); -#919=PACKAGED_PART('1',$,#918,#28,'',$,*); -#920=PRODUCT('SM-B-540383-3','STANDARD',$,(#17078)); -#921=PRODUCT_DEFINITION_FORMATION('6',$,#920); -#922=FUNCTIONAL_UNIT('1',$,#921,#28,'',$,*); -#923=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#922,.U.); -#924=PACKAGED_COMPONENT('C1',$,#652,#27115,'C1','definition usage',$,#653,*,'',$, - *); -#925=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C1','',$,#46,#653,'C1','',$,#924, - *); -#926=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#927=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#928=CARTESIAN_POINT('',(1.1684E7,1.4732E7)); -#929=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#926,#927,#928,1.0); -#930=COMPONENT_2D_LOCATION(*,#931,'component 2d location',$,#97,#48,#929); -#931=PRODUCT_DEFINITION_SHAPE('',$,#925); -#932=MOUNTING_RESTRICTION_AREA('restriction to place component on FRONT (TOP) surface only', - $,#46,.F.); -#933=PRODUCT('CAP-1Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#934=PRODUCT_DEFINITION_FORMATION('1',$,#933); -#935=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #934,#63); -#936=PRODUCT('CAP-1Component can be placed on 1 of PCB only','requirement',$,(#21090)); -#937=PRODUCT_DEFINITION_FORMATION('1',$,#936); -#938=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1',$, - #937,#63); -#939=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#938)); -#940=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#935)); -#941=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#942=REPRESENTATION('component placement restriction assignment',(#13712),#13704); -#943=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#944=PACKAGED_COMPONENT('C2',$,#659,#27115,'C2','definition usage',$,#660,*,'',$, - *); -#945=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C2','',$,#46,#660,'C2','',$,#944, - *); -#946=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#947=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#948=CARTESIAN_POINT('',(1.1684E7,1.6764E7)); -#949=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#946,#947,#948,1.0); -#950=COMPONENT_2D_LOCATION(*,#951,'component 2d location',$,#129,#48,#949); -#951=PRODUCT_DEFINITION_SHAPE('',$,#945); -#952=PRODUCT('CAP-2Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#953=PRODUCT_DEFINITION_FORMATION('1',$,#952); -#954=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #953,#63); -#955=PRODUCT('CAP-2Component can be placed on 1 of PCB only','requirement',$,(#21090)); -#956=PRODUCT_DEFINITION_FORMATION('1',$,#955); -#957=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1',$, - #956,#63); -#958=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#957)); -#959=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#954)); -#960=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#961=REPRESENTATION('component placement restriction assignment',(#13716),#13704); -#962=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#963=PACKAGED_COMPONENT('C3',$,#666,#27115,'C3','definition usage',$,#667,*,'',$, - *); -#964=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C3','',$,#46,#667,'C3','',$,#963, - *); -#965=DIRECTION('',(1.0,0.0)); -#966=DIRECTION('',(-0.0,1.0)); -#967=CARTESIAN_POINT('',(1.016E7,2032000.0)); -#968=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#965,#966,#967,1.0); -#969=COMPONENT_2D_LOCATION(*,#970,'component 2d location',$,#153,#48,#968); -#970=PRODUCT_DEFINITION_SHAPE('',$,#964); -#971=PRODUCT('BIG_CAPPart can be placed on 1 of PCB only','requirement',$,(#21090)); -#972=PRODUCT_DEFINITION_FORMATION('1',$,#971); -#973=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #972,#63); -#974=PRODUCT('BIG_CAPComponent can be placed on 1 of PCB only','requirement',$, - (#21090)); -#975=PRODUCT_DEFINITION_FORMATION('1',$,#974); -#976=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1',$, - #975,#63); -#977=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#976)); -#978=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#973)); -#979=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#980=REPRESENTATION('component placement restriction assignment',(#13720),#13704); -#981=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#982=PACKAGED_COMPONENT('C4',$,#666,#27115,'C4','definition usage',$,#667,*,'',$, - *); -#983=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C4','',$,#46,#667,'C4','',$,#982, - *); -#984=DIRECTION('',(1.0,0.0)); -#985=DIRECTION('',(-0.0,1.0)); -#986=CARTESIAN_POINT('',(1.016E7,4064000.0)); -#987=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#984,#985,#986,1.0); -#988=COMPONENT_2D_LOCATION(*,#989,'component 2d location',$,#153,#48,#987); -#989=PRODUCT_DEFINITION_SHAPE('',$,#983); -#990=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#991=PACKAGED_COMPONENT('C5',$,#673,#27115,'C5','definition usage',$,#674,*,'',$, - *); -#992=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C5','',$,#46,#674,'C5','',$,#991, - *); -#993=DIRECTION('',(6.123233995736766E-17,1.0)); -#994=DIRECTION('',(-1.0,6.123233995736766E-17)); -#995=CARTESIAN_POINT('',(7366000.0,8890000.0)); -#996=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#993,#994,#995,1.0); -#997=COMPONENT_2D_LOCATION(*,#998,'component 2d location',$,#177,#48,#996); -#998=PRODUCT_DEFINITION_SHAPE('',$,#992); -#999=PRODUCT('PCAP-2Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1000=PRODUCT_DEFINITION_FORMATION('1',$,#999); -#1001=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1000,#63); -#1002=PRODUCT('PCAP-2Component can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1003=PRODUCT_DEFINITION_FORMATION('1',$,#1002); -#1004=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1003,#63); -#1005=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1004)); -#1006=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1001)); -#1007=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1008=REPRESENTATION('component placement restriction assignment',(#13724),#13704); -#1009=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1010=PACKAGED_COMPONENT('C6',$,#666,#27115,'C6','definition usage',$,#667,*,'', - $,*); -#1011=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C6','',$,#46,#667,'C6','',$,#1010, - *); -#1012=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1013=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1014=CARTESIAN_POINT('',(6350000.0,2032000.0)); -#1015=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1012,#1013,#1014,1.0); -#1016=COMPONENT_2D_LOCATION(*,#1017,'component 2d location',$,#153,#48,#1015); -#1017=PRODUCT_DEFINITION_SHAPE('',$,#1011); -#1018=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1019=PACKAGED_COMPONENT('C7',$,#666,#27115,'C7','definition usage',$,#667,*,'', - $,*); -#1020=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C7','',$,#46,#667,'C7','',$,#1019, - *); -#1021=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1022=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1023=CARTESIAN_POINT('',(6350000.0,4064000.0)); -#1024=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1021,#1022,#1023,1.0); -#1025=COMPONENT_2D_LOCATION(*,#1026,'component 2d location',$,#153,#48,#1024); -#1026=PRODUCT_DEFINITION_SHAPE('',$,#1020); -#1027=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1028=PACKAGED_COMPONENT('C8',$,#680,#27115,'C8','definition usage',$,#681,*,'', - $,*); -#1029=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C8','',$,#46,#681,'C8','',$,#1028, - *); -#1030=DIRECTION('',(1.0,0.0)); -#1031=DIRECTION('',(-0.0,1.0)); -#1032=CARTESIAN_POINT('',(3048000.0,1.8288E7)); -#1033=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1030,#1031,#1032,1.0); -#1034=COMPONENT_2D_LOCATION(*,#1035,'component 2d location',$,#201,#48,#1033); -#1035=PRODUCT_DEFINITION_SHAPE('',$,#1029); -#1036=PRODUCT('PCAP-1Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1037=PRODUCT_DEFINITION_FORMATION('1',$,#1036); -#1038=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1037,#63); -#1039=PRODUCT('PCAP-1Component can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1040=PRODUCT_DEFINITION_FORMATION('1',$,#1039); -#1041=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1040,#63); -#1042=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1041)); -#1043=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1038)); -#1044=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1045=REPRESENTATION('component placement restriction assignment',(#13728),#13704); -#1046=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1047=PACKAGED_COMPONENT('C9',$,#680,#27115,'C9','definition usage',$,#681,*,'', - $,*); -#1048=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C9','',$,#46,#681,'C9','',$,#1047, - *); -#1049=DIRECTION('',(6.123233995736766E-17,1.0)); -#1050=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1051=CARTESIAN_POINT('',(5080000.0,1.5748E7)); -#1052=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1049,#1050,#1051,1.0); -#1053=COMPONENT_2D_LOCATION(*,#1054,'component 2d location',$,#201,#48,#1052); -#1054=PRODUCT_DEFINITION_SHAPE('',$,#1048); -#1055=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1056=PACKAGED_COMPONENT('C10',$,#673,#27115,'C10','definition usage',$,#674,*,'', - $,*); -#1057=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C10','',$,#46,#674,'C10','',$, - #1056,*); -#1058=DIRECTION('',(6.123233995736766E-17,1.0)); -#1059=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1060=CARTESIAN_POINT('',(7112000.0,1.5748E7)); -#1061=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1058,#1059,#1060,1.0); -#1062=COMPONENT_2D_LOCATION(*,#1063,'component 2d location',$,#177,#48,#1061); -#1063=PRODUCT_DEFINITION_SHAPE('',$,#1057); -#1064=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1065=PACKAGED_COMPONENT('C11',$,#687,#27115,'C11','definition usage',$,#688,*,'', - $,*); -#1066=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C11','',$,#46,#688,'C11','',$, - #1065,*); -#1067=DIRECTION('',(6.123233995736766E-17,1.0)); -#1068=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1069=CARTESIAN_POINT('',(8128000.0,1.4478E7)); -#1070=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1067,#1068,#1069,1.0); -#1071=COMPONENT_2D_LOCATION(*,#1072,'component 2d location',$,#97,#48,#1070); -#1072=PRODUCT_DEFINITION_SHAPE('',$,#1066); -#1073=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1074=PACKAGED_COMPONENT('C12',$,#694,#27115,'C12','definition usage',$,#695,*,'', - $,*); -#1075=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C12','',$,#46,#695,'C12','',$, - #1074,*); -#1076=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1077=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1078=CARTESIAN_POINT('',(8128000.0,1.7526E7)); -#1079=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1076,#1077,#1078,1.0); -#1080=COMPONENT_2D_LOCATION(*,#1081,'component 2d location',$,#97,#48,#1079); -#1081=PRODUCT_DEFINITION_SHAPE('',$,#1075); -#1082=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1083=PACKAGED_COMPONENT('C13',$,#701,#27115,'C13','definition usage',$,#702,*,'', - $,*); -#1084=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C13','',$,#46,#702,'C13','',$, - #1083,*); -#1085=DIRECTION('',(1.0,0.0)); -#1086=DIRECTION('',(-0.0,1.0)); -#1087=CARTESIAN_POINT('',(8128000.0,1.2446E7)); -#1088=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1085,#1086,#1087,1.0); -#1089=COMPONENT_2D_LOCATION(*,#1090,'component 2d location',$,#201,#48,#1088); -#1090=PRODUCT_DEFINITION_SHAPE('',$,#1084); -#1091=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1092=PACKAGED_COMPONENT('C14',$,#701,#27115,'C14','definition usage',$,#702,*,'', - $,*); -#1093=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C14','',$,#46,#702,'C14','',$, - #1092,*); -#1094=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1095=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1096=CARTESIAN_POINT('',(9144000.0,1.7272E7)); -#1097=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1094,#1095,#1096,1.0); -#1098=COMPONENT_2D_LOCATION(*,#1099,'component 2d location',$,#201,#48,#1097); -#1099=PRODUCT_DEFINITION_SHAPE('',$,#1093); -#1100=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1101=PACKAGED_COMPONENT('C15',$,#666,#27115,'C15','definition usage',$,#667,*,'', - $,*); -#1102=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C15','',$,#46,#667,'C15','',$, - #1101,*); -#1103=DIRECTION('',(1.0,0.0)); -#1104=DIRECTION('',(-0.0,1.0)); -#1105=CARTESIAN_POINT('',(1.016E7,6096000.0)); -#1106=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1103,#1104,#1105,1.0); -#1107=COMPONENT_2D_LOCATION(*,#1108,'component 2d location',$,#153,#48,#1106); -#1108=PRODUCT_DEFINITION_SHAPE('',$,#1102); -#1109=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1110=PACKAGED_COMPONENT('C16',$,#666,#27115,'C16','definition usage',$,#667,*,'', - $,*); -#1111=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C16','',$,#46,#667,'C16','',$, - #1110,*); -#1112=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1113=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1114=CARTESIAN_POINT('',(6350000.0,6096000.0)); -#1115=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1112,#1113,#1114,1.0); -#1116=COMPONENT_2D_LOCATION(*,#1117,'component 2d location',$,#153,#48,#1115); -#1117=PRODUCT_DEFINITION_SHAPE('',$,#1111); -#1118=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1119=PACKAGED_COMPONENT('C17',$,#666,#27115,'C17','definition usage',$,#667,*,'', - $,*); -#1120=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C17','',$,#46,#667,'C17','',$, - #1119,*); -#1121=DIRECTION('',(1.0,0.0)); -#1122=DIRECTION('',(-0.0,1.0)); -#1123=CARTESIAN_POINT('',(1.016E7,8128000.0)); -#1124=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1121,#1122,#1123,1.0); -#1125=COMPONENT_2D_LOCATION(*,#1126,'component 2d location',$,#153,#48,#1124); -#1126=PRODUCT_DEFINITION_SHAPE('',$,#1120); -#1127=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1128=PACKAGED_COMPONENT('C18',$,#666,#27115,'C18','definition usage',$,#667,*,'', - $,*); -#1129=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C18','',$,#46,#667,'C18','',$, - #1128,*); -#1130=DIRECTION('',(1.0,0.0)); -#1131=DIRECTION('',(-0.0,1.0)); -#1132=CARTESIAN_POINT('',(1.016E7,1.016E7)); -#1133=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1130,#1131,#1132,1.0); -#1134=COMPONENT_2D_LOCATION(*,#1135,'component 2d location',$,#153,#48,#1133); -#1135=PRODUCT_DEFINITION_SHAPE('',$,#1129); -#1136=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1137=PACKAGED_COMPONENT('C19',$,#666,#27115,'C19','definition usage',$,#667,*,'', - $,*); -#1138=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C19','',$,#46,#667,'C19','',$, - #1137,*); -#1139=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1140=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1141=CARTESIAN_POINT('',(6350000.0,8128000.0)); -#1142=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1139,#1140,#1141,1.0); -#1143=COMPONENT_2D_LOCATION(*,#1144,'component 2d location',$,#153,#48,#1142); -#1144=PRODUCT_DEFINITION_SHAPE('',$,#1138); -#1145=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1146=PACKAGED_COMPONENT('C20',$,#666,#27115,'C20','definition usage',$,#667,*,'', - $,*); -#1147=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C20','',$,#46,#667,'C20','',$, - #1146,*); -#1148=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1149=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1150=CARTESIAN_POINT('',(6350000.0,1.016E7)); -#1151=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1148,#1149,#1150,1.0); -#1152=COMPONENT_2D_LOCATION(*,#1153,'component 2d location',$,#153,#48,#1151); -#1153=PRODUCT_DEFINITION_SHAPE('',$,#1147); -#1154=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1155=PACKAGED_COMPONENT('C21',$,#708,#27115,'C21','definition usage',$,#709,*,'', - $,*); -#1156=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C21','',$,#46,#709,'C21','',$, - #1155,*); -#1157=DIRECTION('',(1.0,0.0)); -#1158=DIRECTION('',(-0.0,1.0)); -#1159=CARTESIAN_POINT('',(7112000.0,1.143E7)); -#1160=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1157,#1158,#1159,1.0); -#1161=COMPONENT_2D_LOCATION(*,#1162,'component 2d location',$,#225,#48,#1160); -#1162=PRODUCT_DEFINITION_SHAPE('',$,#1156); -#1163=PRODUCT('CAP-3Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1164=PRODUCT_DEFINITION_FORMATION('1',$,#1163); -#1165=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1164,#63); -#1166=PRODUCT('CAP-3Component can be placed on 1 of PCB only','requirement',$,(#21090)); -#1167=PRODUCT_DEFINITION_FORMATION('1',$,#1166); -#1168=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1167,#63); -#1169=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1168)); -#1170=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1165)); -#1171=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1172=REPRESENTATION('component placement restriction assignment',(#13732),#13704); -#1173=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1174=PACKAGED_COMPONENT('C22',$,#708,#27115,'C22','definition usage',$,#709,*,'', - $,*); -#1175=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C22','',$,#46,#709,'C22','',$, - #1174,*); -#1176=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1177=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1178=CARTESIAN_POINT('',(9906000.0,1.4732E7)); -#1179=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1176,#1177,#1178,1.0); -#1180=COMPONENT_2D_LOCATION(*,#1181,'component 2d location',$,#225,#48,#1179); -#1181=PRODUCT_DEFINITION_SHAPE('',$,#1175); -#1182=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1183=PACKAGED_COMPONENT('CR1',$,#715,#27115,'CR1','definition usage',$,#716,*,'', - $,*); -#1184=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR1','',$,#46,#716,'CR1','',$, - #1183,*); -#1185=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1186=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1187=CARTESIAN_POINT('',(1.016E7,1.7018E7)); -#1188=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1185,#1186,#1187,1.0); -#1189=COMPONENT_2D_LOCATION(*,#1190,'component 2d location',$,#249,#48,#1188); -#1190=PRODUCT_DEFINITION_SHAPE('',$,#1184); -#1191=PRODUCT('DIODE-1Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1192=PRODUCT_DEFINITION_FORMATION('1',$,#1191); -#1193=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1192,#63); -#1194=PRODUCT('DIODE-1Component can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1195=PRODUCT_DEFINITION_FORMATION('1',$,#1194); -#1196=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1195,#63); -#1197=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1196)); -#1198=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1193)); -#1199=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1200=REPRESENTATION('component placement restriction assignment',(#13736),#13704); -#1201=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1202=PACKAGED_COMPONENT('CR2',$,#715,#27115,'CR2','definition usage',$,#716,*,'', - $,*); -#1203=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR2','',$,#46,#716,'CR2','',$, - #1202,*); -#1204=DIRECTION('',(6.123233995736766E-17,1.0)); -#1205=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1206=CARTESIAN_POINT('',(1.0668E7,1.5748E7)); -#1207=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1204,#1205,#1206,1.0); -#1208=COMPONENT_2D_LOCATION(*,#1209,'component 2d location',$,#249,#48,#1207); -#1209=PRODUCT_DEFINITION_SHAPE('',$,#1203); -#1210=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1211=PACKAGED_COMPONENT('CR3',$,#722,#27115,'CR3','definition usage',$,#723,*,'', - $,*); -#1212=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR3','',$,#46,#723,'CR3','',$, - #1211,*); -#1213=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1214=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1215=CARTESIAN_POINT('',(9906000.0,1.0414E7)); -#1216=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1213,#1214,#1215,1.0); -#1217=COMPONENT_2D_LOCATION(*,#1218,'component 2d location',$,#249,#48,#1216); -#1218=PRODUCT_DEFINITION_SHAPE('',$,#1212); -#1219=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1220=PACKAGED_COMPONENT('CR4',$,#715,#27115,'CR4','definition usage',$,#716,*,'', - $,*); -#1221=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR4','',$,#46,#716,'CR4','',$, - #1220,*); -#1222=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1223=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1224=CARTESIAN_POINT('',(6096000.0,1.7018E7)); -#1225=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1222,#1223,#1224,1.0); -#1226=COMPONENT_2D_LOCATION(*,#1227,'component 2d location',$,#249,#48,#1225); -#1227=PRODUCT_DEFINITION_SHAPE('',$,#1221); -#1228=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1229=PACKAGED_COMPONENT('CR5',$,#715,#27115,'CR5','definition usage',$,#716,*,'', - $,*); -#1230=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR5','',$,#46,#716,'CR5','',$, - #1229,*); -#1231=DIRECTION('',(6.123233995736766E-17,1.0)); -#1232=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1233=CARTESIAN_POINT('',(6604000.0,1.5748E7)); -#1234=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1231,#1232,#1233,1.0); -#1235=COMPONENT_2D_LOCATION(*,#1236,'component 2d location',$,#249,#48,#1234); -#1236=PRODUCT_DEFINITION_SHAPE('',$,#1230); -#1237=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1238=PACKAGED_COMPONENT('CR6',$,#715,#27115,'CR6','definition usage',$,#716,*,'', - $,*); -#1239=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR6','',$,#46,#716,'CR6','',$, - #1238,*); -#1240=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1241=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1242=CARTESIAN_POINT('',(6604000.0,1.2954E7)); -#1243=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1240,#1241,#1242,1.0); -#1244=COMPONENT_2D_LOCATION(*,#1245,'component 2d location',$,#249,#48,#1243); -#1245=PRODUCT_DEFINITION_SHAPE('',$,#1239); -#1246=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1247=PACKAGED_COMPONENT('CR7',$,#715,#27115,'CR7','definition usage',$,#716,*,'', - $,*); -#1248=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR7','',$,#46,#716,'CR7','',$, - #1247,*); -#1249=DIRECTION('',(6.123233995736766E-17,1.0)); -#1250=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1251=CARTESIAN_POINT('',(6096000.0,1.1684E7)); -#1252=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1249,#1250,#1251,1.0); -#1253=COMPONENT_2D_LOCATION(*,#1254,'component 2d location',$,#249,#48,#1252); -#1254=PRODUCT_DEFINITION_SHAPE('',$,#1248); -#1255=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1256=PACKAGED_COMPONENT('L1',$,#729,#27115,'L1','definition usage',$,#730,*,'', - $,*); -#1257=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('L1','',$,#46,#730,'L1','',$,#1256, - *); -#1258=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1259=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1260=CARTESIAN_POINT('',(1.3462E7,1.4224E7)); -#1261=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1258,#1259,#1260,1.0); -#1262=COMPONENT_2D_LOCATION(*,#1263,'component 2d location',$,#273,#48,#1261); -#1263=PRODUCT_DEFINITION_SHAPE('',$,#1257); -#1264=PRODUCT('INDUCTORPart can be placed on 1 of PCB only','requirement',$,(#21090)); -#1265=PRODUCT_DEFINITION_FORMATION('1',$,#1264); -#1266=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1265,#63); -#1267=PRODUCT('INDUCTORComponent can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1268=PRODUCT_DEFINITION_FORMATION('1',$,#1267); -#1269=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1268,#63); -#1270=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1269)); -#1271=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1266)); -#1272=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1273=REPRESENTATION('component placement restriction assignment',(#13740),#13704); -#1274=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1275=PACKAGED_COMPONENT('L2',$,#729,#27115,'L2','definition usage',$,#730,*,'', - $,*); -#1276=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('L2','',$,#46,#730,'L2','',$,#1275, - *); -#1277=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1278=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1279=CARTESIAN_POINT('',(4826000.0,1.2954E7)); -#1280=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1277,#1278,#1279,1.0); -#1281=COMPONENT_2D_LOCATION(*,#1282,'component 2d location',$,#273,#48,#1280); -#1282=PRODUCT_DEFINITION_SHAPE('',$,#1276); -#1283=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1284=PACKAGED_COMPONENT('P1',$,#736,#27115,'P1','definition usage',$,#737,*,'', - $,*); -#1285=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('P1','',$,#46,#737,'P1','',$,#1284, - *); -#1286=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1287=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1288=CARTESIAN_POINT('',(1.5367E7,508000.0)); -#1289=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1286,#1287,#1288,1.0); -#1290=COMPONENT_2D_LOCATION(*,#1291,'component 2d location',$,#323,#48,#1289); -#1291=PRODUCT_DEFINITION_SHAPE('',$,#1285); -#1292=PRODUCT('CONN112Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1293=PRODUCT_DEFINITION_FORMATION('1',$,#1292); -#1294=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1293,#63); -#1295=PRODUCT('CONN112Component can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1296=PRODUCT_DEFINITION_FORMATION('1',$,#1295); -#1297=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1296,#63); -#1298=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1297)); -#1299=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1294)); -#1300=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1301=REPRESENTATION('component placement restriction assignment',(#13744),#13704); -#1302=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1303=PACKAGED_COMPONENT('Q1',$,#743,#27115,'Q1','definition usage',$,#744,*,'', - $,*); -#1304=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('Q1','',$,#46,#744,'Q1','',$,#1303, - *); -#1305=DIRECTION('',(1.0,0.0)); -#1306=DIRECTION('',(-0.0,1.0)); -#1307=CARTESIAN_POINT('',(7874000.0,3810000.0)); -#1308=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1305,#1306,#1307,1.0); -#1309=COMPONENT_2D_LOCATION(*,#1310,'component 2d location',$,#383,#48,#1308); -#1310=PRODUCT_DEFINITION_SHAPE('',$,#1304); -#1311=PRODUCT('TRANS-1Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1312=PRODUCT_DEFINITION_FORMATION('1',$,#1311); -#1313=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1312,#63); -#1314=PRODUCT('TRANS-1Component can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1315=PRODUCT_DEFINITION_FORMATION('1',$,#1314); -#1316=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1315,#63); -#1317=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1316)); -#1318=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1313)); -#1319=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1320=REPRESENTATION('component placement restriction assignment',(#13748),#13704); -#1321=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1322=PACKAGED_COMPONENT('Q2',$,#750,#27115,'Q2','definition usage',$,#751,*,'', - $,*); -#1323=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('Q2','',$,#46,#751,'Q2','',$,#1322, - *); -#1324=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1325=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1326=CARTESIAN_POINT('',(7620000.0,7620000.0)); -#1327=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1324,#1325,#1326,1.0); -#1328=COMPONENT_2D_LOCATION(*,#1329,'component 2d location',$,#429,#48,#1327); -#1329=PRODUCT_DEFINITION_SHAPE('',$,#1323); -#1330=PRODUCT('TRANS-2Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1331=PRODUCT_DEFINITION_FORMATION('1',$,#1330); -#1332=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1331,#63); -#1333=PRODUCT('TRANS-2Component can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1334=PRODUCT_DEFINITION_FORMATION('1',$,#1333); -#1335=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1334,#63); -#1336=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1335)); -#1337=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1332)); -#1338=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1339=REPRESENTATION('component placement restriction assignment',(#13752),#13704); -#1340=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1341=PACKAGED_COMPONENT('Q3',$,#757,#27115,'Q3','definition usage',$,#758,*,'', - $,*); -#1342=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('Q3','',$,#46,#758,'Q3','',$,#1341, - *); -#1343=DIRECTION('',(1.0,0.0)); -#1344=DIRECTION('',(-0.0,1.0)); -#1345=CARTESIAN_POINT('',(6096000.0,1.3716E7)); -#1346=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1343,#1344,#1345,1.0); -#1347=COMPONENT_2D_LOCATION(*,#1348,'component 2d location',$,#458,#48,#1346); -#1348=PRODUCT_DEFINITION_SHAPE('',$,#1342); -#1349=PRODUCT('TRANS-3Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1350=PRODUCT_DEFINITION_FORMATION('1',$,#1349); -#1351=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1350,#63); -#1352=PRODUCT('TRANS-3Component can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1353=PRODUCT_DEFINITION_FORMATION('1',$,#1352); -#1354=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1353,#63); -#1355=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1354)); -#1356=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1351)); -#1357=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1358=REPRESENTATION('component placement restriction assignment',(#13756),#13704); -#1359=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1360=PACKAGED_COMPONENT('R1',$,#764,#27115,'R1','definition usage',$,#765,*,'', - $,*); -#1361=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R1','',$,#46,#765,'R1','',$,#1360, - *); -#1362=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1363=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1364=CARTESIAN_POINT('',(1.1176E7,1.7018E7)); -#1365=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1362,#1363,#1364,1.0); -#1366=COMPONENT_2D_LOCATION(*,#1367,'component 2d location',$,#487,#48,#1365); -#1367=PRODUCT_DEFINITION_SHAPE('',$,#1361); -#1368=PRODUCT('RES-1Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1369=PRODUCT_DEFINITION_FORMATION('1',$,#1368); -#1370=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1369,#63); -#1371=PRODUCT('RES-1Component can be placed on 1 of PCB only','requirement',$,(#21090)); -#1372=PRODUCT_DEFINITION_FORMATION('1',$,#1371); -#1373=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1372,#63); -#1374=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1373)); -#1375=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1370)); -#1376=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1377=REPRESENTATION('component placement restriction assignment',(#13760),#13704); -#1378=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1379=PACKAGED_COMPONENT('R2',$,#764,#27115,'R2','definition usage',$,#765,*,'', - $,*); -#1380=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R2','',$,#46,#765,'R2','',$,#1379, - *); -#1381=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1382=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1383=CARTESIAN_POINT('',(9652000.0,1.7018E7)); -#1384=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1381,#1382,#1383,1.0); -#1385=COMPONENT_2D_LOCATION(*,#1386,'component 2d location',$,#487,#48,#1384); -#1386=PRODUCT_DEFINITION_SHAPE('',$,#1380); -#1387=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1388=PACKAGED_COMPONENT('R3',$,#771,#27115,'R3','definition usage',$,#772,*,'', - $,*); -#1389=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R3','',$,#46,#772,'R3','',$,#1388, - *); -#1390=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1391=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1392=CARTESIAN_POINT('',(1.0668E7,1.4732E7)); -#1393=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1390,#1391,#1392,1.0); -#1394=COMPONENT_2D_LOCATION(*,#1395,'component 2d location',$,#487,#48,#1393); -#1395=PRODUCT_DEFINITION_SHAPE('',$,#1389); -#1396=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1397=PACKAGED_COMPONENT('R4',$,#771,#27115,'R4','definition usage',$,#772,*,'', - $,*); -#1398=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R4','',$,#46,#772,'R4','',$,#1397, - *); -#1399=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1400=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1401=CARTESIAN_POINT('',(1.1176E7,1.4732E7)); -#1402=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1399,#1400,#1401,1.0); -#1403=COMPONENT_2D_LOCATION(*,#1404,'component 2d location',$,#487,#48,#1402); -#1404=PRODUCT_DEFINITION_SHAPE('',$,#1398); -#1405=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1406=PACKAGED_COMPONENT('R5',$,#764,#27115,'R5','definition usage',$,#765,*,'', - $,*); -#1407=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R5','',$,#46,#765,'R5','',$,#1406, - *); -#1408=DIRECTION('',(6.123233995736766E-17,1.0)); -#1409=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1410=CARTESIAN_POINT('',(1.016E7,1.3462E7)); -#1411=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1408,#1409,#1410,1.0); -#1412=COMPONENT_2D_LOCATION(*,#1413,'component 2d location',$,#487,#48,#1411); -#1413=PRODUCT_DEFINITION_SHAPE('',$,#1407); -#1414=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1415=PACKAGED_COMPONENT('R6',$,#778,#27115,'R6','definition usage',$,#779,*,'', - $,*); -#1416=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R6','',$,#46,#779,'R6','',$,#1415, - *); -#1417=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1418=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1419=CARTESIAN_POINT('',(8890000.0,1.016E7)); -#1420=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1417,#1418,#1419,1.0); -#1421=COMPONENT_2D_LOCATION(*,#1422,'component 2d location',$,#487,#48,#1420); -#1422=PRODUCT_DEFINITION_SHAPE('',$,#1416); -#1423=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1424=PACKAGED_COMPONENT('R7',$,#778,#27115,'R7','definition usage',$,#779,*,'', - $,*); -#1425=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R7','',$,#46,#779,'R7','',$,#1424, - *); -#1426=DIRECTION('',(6.123233995736766E-17,1.0)); -#1427=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1428=CARTESIAN_POINT('',(9398000.0,8890000.0)); -#1429=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1426,#1427,#1428,1.0); -#1430=COMPONENT_2D_LOCATION(*,#1431,'component 2d location',$,#511,#48,#1429); -#1431=PRODUCT_DEFINITION_SHAPE('',$,#1425); -#1432=PRODUCT('RES-2Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1433=PRODUCT_DEFINITION_FORMATION('1',$,#1432); -#1434=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1433,#63); -#1435=PRODUCT('RES-2Component can be placed on 1 of PCB only','requirement',$,(#21090)); -#1436=PRODUCT_DEFINITION_FORMATION('1',$,#1435); -#1437=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1436,#63); -#1438=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1437)); -#1439=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1434)); -#1440=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1441=REPRESENTATION('component placement restriction assignment',(#13764),#13704); -#1442=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1443=PACKAGED_COMPONENT('R8',$,#785,#27115,'R8','definition usage',$,#786,*,'', - $,*); -#1444=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R8','',$,#46,#786,'R8','',$,#1443, - *); -#1445=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1446=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1447=CARTESIAN_POINT('',(8382000.0,1.016E7)); -#1448=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1445,#1446,#1447,1.0); -#1449=COMPONENT_2D_LOCATION(*,#1450,'component 2d location',$,#487,#48,#1448); -#1450=PRODUCT_DEFINITION_SHAPE('',$,#1444); -#1451=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1452=PACKAGED_COMPONENT('R9',$,#792,#27115,'R9','definition usage',$,#793,*,'', - $,*); -#1453=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R9','',$,#46,#793,'R9','',$,#1452, - *); -#1454=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1455=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1456=CARTESIAN_POINT('',(7874000.0,1.016E7)); -#1457=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1454,#1455,#1456,1.0); -#1458=COMPONENT_2D_LOCATION(*,#1459,'component 2d location',$,#487,#48,#1457); -#1459=PRODUCT_DEFINITION_SHAPE('',$,#1453); -#1460=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1461=PACKAGED_COMPONENT('R10',$,#799,#27115,'R10','definition usage',$,#800,*,'', - $,*); -#1462=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R10','',$,#46,#800,'R10','',$, - #1461,*); -#1463=DIRECTION('',(6.123233995736766E-17,1.0)); -#1464=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1465=CARTESIAN_POINT('',(6858000.0,8890000.0)); -#1466=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1463,#1464,#1465,1.0); -#1467=COMPONENT_2D_LOCATION(*,#1468,'component 2d location',$,#487,#48,#1466); -#1468=PRODUCT_DEFINITION_SHAPE('',$,#1462); -#1469=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1470=PACKAGED_COMPONENT('R11',$,#764,#27115,'R11','definition usage',$,#765,*,'', - $,*); -#1471=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R11','',$,#46,#765,'R11','',$, - #1470,*); -#1472=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1473=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1474=CARTESIAN_POINT('',(8382000.0,1.1938E7)); -#1475=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1472,#1473,#1474,1.0); -#1476=COMPONENT_2D_LOCATION(*,#1477,'component 2d location',$,#487,#48,#1475); -#1477=PRODUCT_DEFINITION_SHAPE('',$,#1471); -#1478=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1479=PACKAGED_COMPONENT('R12',$,#806,#27115,'R12','definition usage',$,#807,*,'', - $,*); -#1480=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R12','',$,#46,#807,'R12','',$, - #1479,*); -#1481=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1482=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1483=CARTESIAN_POINT('',(7112000.0,1.3716E7)); -#1484=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1481,#1482,#1483,1.0); -#1485=COMPONENT_2D_LOCATION(*,#1486,'component 2d location',$,#487,#48,#1484); -#1486=PRODUCT_DEFINITION_SHAPE('',$,#1480); -#1487=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1488=PACKAGED_COMPONENT('R13',$,#813,#27115,'R13','definition usage',$,#814,*,'', - $,*); -#1489=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R13','',$,#46,#814,'R13','',$, - #1488,*); -#1490=DIRECTION('',(6.123233995736766E-17,1.0)); -#1491=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1492=CARTESIAN_POINT('',(5080000.0,1.397E7)); -#1493=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1490,#1491,#1492,1.0); -#1494=COMPONENT_2D_LOCATION(*,#1495,'component 2d location',$,#487,#48,#1493); -#1495=PRODUCT_DEFINITION_SHAPE('',$,#1489); -#1496=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1497=PACKAGED_COMPONENT('R14',$,#813,#27115,'R14','definition usage',$,#814,*,'', - $,*); -#1498=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R14','',$,#46,#814,'R14','',$, - #1497,*); -#1499=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1500=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1501=CARTESIAN_POINT('',(5588000.0,1.7018E7)); -#1502=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1499,#1500,#1501,1.0); -#1503=COMPONENT_2D_LOCATION(*,#1504,'component 2d location',$,#487,#48,#1502); -#1504=PRODUCT_DEFINITION_SHAPE('',$,#1498); -#1505=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1506=PACKAGED_COMPONENT('R15',$,#820,#27115,'R15','definition usage',$,#821,*,'', - $,*); -#1507=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R15','',$,#46,#821,'R15','',$, - #1506,*); -#1508=DIRECTION('',(1.0,0.0)); -#1509=DIRECTION('',(-0.0,1.0)); -#1510=CARTESIAN_POINT('',(3048000.0,1.778E7)); -#1511=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1508,#1509,#1510,1.0); -#1512=COMPONENT_2D_LOCATION(*,#1513,'component 2d location',$,#487,#48,#1511); -#1513=PRODUCT_DEFINITION_SHAPE('',$,#1507); -#1514=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1515=PACKAGED_COMPONENT('R16',$,#827,#27115,'R16','definition usage',$,#828,*,'', - $,*); -#1516=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R16','',$,#46,#828,'R16','',$, - #1515,*); -#1517=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1518=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1519=CARTESIAN_POINT('',(7112000.0,1.778E7)); -#1520=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1517,#1518,#1519,1.0); -#1521=COMPONENT_2D_LOCATION(*,#1522,'component 2d location',$,#487,#48,#1520); -#1522=PRODUCT_DEFINITION_SHAPE('',$,#1516); -#1523=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1524=PACKAGED_COMPONENT('R17',$,#834,#27115,'R17','definition usage',$,#835,*,'', - $,*); -#1525=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R17','',$,#46,#835,'R17','',$, - #1524,*); -#1526=DIRECTION('',(6.123233995736766E-17,1.0)); -#1527=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1528=CARTESIAN_POINT('',(8636000.0,1.5748E7)); -#1529=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1526,#1527,#1528,1.0); -#1530=COMPONENT_2D_LOCATION(*,#1531,'component 2d location',$,#487,#48,#1529); -#1531=PRODUCT_DEFINITION_SHAPE('',$,#1525); -#1532=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1533=PACKAGED_COMPONENT('R18',$,#841,#27115,'R18','definition usage',$,#842,*,'', - $,*); -#1534=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R18','',$,#46,#842,'R18','',$, - #1533,*); -#1535=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1536=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1537=CARTESIAN_POINT('',(7620000.0,1.7018E7)); -#1538=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1535,#1536,#1537,1.0); -#1539=COMPONENT_2D_LOCATION(*,#1540,'component 2d location',$,#487,#48,#1538); -#1540=PRODUCT_DEFINITION_SHAPE('',$,#1534); -#1541=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1542=PACKAGED_COMPONENT('R19',$,#848,#27115,'R19','definition usage',$,#849,*,'', - $,*); -#1543=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R19','',$,#46,#849,'R19','',$, - #1542,*); -#1544=DIRECTION('',(1.0,0.0)); -#1545=DIRECTION('',(-0.0,1.0)); -#1546=CARTESIAN_POINT('',(6096000.0,1.4986E7)); -#1547=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1544,#1545,#1546,1.0); -#1548=COMPONENT_2D_LOCATION(*,#1549,'component 2d location',$,#487,#48,#1547); -#1549=PRODUCT_DEFINITION_SHAPE('',$,#1543); -#1550=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1551=PACKAGED_COMPONENT('R20',$,#855,#27115,'R20','definition usage',$,#856,*,'', - $,*); -#1552=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R20','',$,#46,#856,'R20','',$, - #1551,*); -#1553=DIRECTION('',(1.0,0.0)); -#1554=DIRECTION('',(-0.0,1.0)); -#1555=CARTESIAN_POINT('',(6096000.0,1.4478E7)); -#1556=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1553,#1554,#1555,1.0); -#1557=COMPONENT_2D_LOCATION(*,#1558,'component 2d location',$,#487,#48,#1556); -#1558=PRODUCT_DEFINITION_SHAPE('',$,#1552); -#1559=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1560=PACKAGED_COMPONENT('R21',$,#862,#27115,'R21','definition usage',$,#863,*,'', - $,*); -#1561=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R21','',$,#46,#863,'R21','',$, - #1560,*); -#1562=DIRECTION('',(1.0,0.0)); -#1563=DIRECTION('',(-0.0,1.0)); -#1564=CARTESIAN_POINT('',(3048000.0,1.7272E7)); -#1565=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1562,#1563,#1564,1.0); -#1566=COMPONENT_2D_LOCATION(*,#1567,'component 2d location',$,#487,#48,#1565); -#1567=PRODUCT_DEFINITION_SHAPE('',$,#1561); -#1568=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1569=PACKAGED_COMPONENT('R22',$,#869,#27115,'R22','definition usage',$,#870,*,'', - $,*); -#1570=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R22','',$,#46,#870,'R22','',$, - #1569,*); -#1571=DIRECTION('',(6.123233995736766E-17,1.0)); -#1572=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1573=CARTESIAN_POINT('',(1.524E7,1.3462E7)); -#1574=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1571,#1572,#1573,1.0); -#1575=COMPONENT_2D_LOCATION(*,#1576,'component 2d location',$,#487,#48,#1574); -#1576=PRODUCT_DEFINITION_SHAPE('',$,#1570); -#1577=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1578=PACKAGED_COMPONENT('R23',$,#764,#27115,'R23','definition usage',$,#765,*,'', - $,*); -#1579=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R23','',$,#46,#765,'R23','',$, - #1578,*); -#1580=DIRECTION('',(6.123233995736766E-17,1.0)); -#1581=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1582=CARTESIAN_POINT('',(1.524E7,1.1684E7)); -#1583=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1580,#1581,#1582,1.0); -#1584=COMPONENT_2D_LOCATION(*,#1585,'component 2d location',$,#487,#48,#1583); -#1585=PRODUCT_DEFINITION_SHAPE('',$,#1579); -#1586=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1587=PACKAGED_COMPONENT('R24',$,#876,#27115,'R24','definition usage',$,#877,*,'', - $,*); -#1588=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R24','',$,#46,#877,'R24','',$, - #1587,*); -#1589=DIRECTION('',(6.123233995736766E-17,1.0)); -#1590=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1591=CARTESIAN_POINT('',(1524000.0,1.2954E7)); -#1592=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1589,#1590,#1591,1.0); -#1593=COMPONENT_2D_LOCATION(*,#1594,'component 2d location',$,#487,#48,#1592); -#1594=PRODUCT_DEFINITION_SHAPE('',$,#1588); -#1595=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1596=PACKAGED_COMPONENT('R25',$,#876,#27115,'R25','definition usage',$,#877,*,'', - $,*); -#1597=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R25','',$,#46,#877,'R25','',$, - #1596,*); -#1598=DIRECTION('',(6.123233995736766E-17,1.0)); -#1599=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1600=CARTESIAN_POINT('',(2032000.0,1.2954E7)); -#1601=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1598,#1599,#1600,1.0); -#1602=COMPONENT_2D_LOCATION(*,#1603,'component 2d location',$,#487,#48,#1601); -#1603=PRODUCT_DEFINITION_SHAPE('',$,#1597); -#1604=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1605=PACKAGED_COMPONENT('R26',$,#848,#27115,'R26','definition usage',$,#849,*,'', - $,*); -#1606=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R26','',$,#46,#849,'R26','',$, - #1605,*); -#1607=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1608=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1609=CARTESIAN_POINT('',(5588000.0,1.524E7)); -#1610=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1607,#1608,#1609,1.0); -#1611=COMPONENT_2D_LOCATION(*,#1612,'component 2d location',$,#487,#48,#1610); -#1612=PRODUCT_DEFINITION_SHAPE('',$,#1606); -#1613=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1614=PACKAGED_COMPONENT('R30',$,#883,#27115,'R30','definition usage',$,#884,*,'', - $,*); -#1615=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R30','',$,#46,#884,'R30','',$, - #1614,*); -#1616=DIRECTION('',(6.123233995736766E-17,1.0)); -#1617=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1618=CARTESIAN_POINT('',(5588000.0,1.1684E7)); -#1619=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1616,#1617,#1618,1.0); -#1620=COMPONENT_2D_LOCATION(*,#1621,'component 2d location',$,#487,#48,#1619); -#1621=PRODUCT_DEFINITION_SHAPE('',$,#1615); -#1622=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1623=PACKAGED_COMPONENT('T1',$,#890,#27115,'T1','definition usage',$,#891,*,'', - $,*); -#1624=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('T1','',$,#46,#891,'T1','',$,#1623, - *); -#1625=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1626=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1627=CARTESIAN_POINT('',(1.397E7,1.6256E7)); -#1628=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1625,#1626,#1627,1.0); -#1629=COMPONENT_2D_LOCATION(*,#1630,'component 2d location',$,#535,#48,#1628); -#1630=PRODUCT_DEFINITION_SHAPE('',$,#1624); -#1631=PRODUCT('XFORMERPart can be placed on 1 of PCB only','requirement',$,(#21090)); -#1632=PRODUCT_DEFINITION_FORMATION('1',$,#1631); -#1633=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1632,#63); -#1634=PRODUCT('XFORMERComponent can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1635=PRODUCT_DEFINITION_FORMATION('1',$,#1634); -#1636=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1635,#63); -#1637=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1636)); -#1638=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1633)); -#1639=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1640=REPRESENTATION('component placement restriction assignment',(#13768),#13704); -#1641=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1642=PACKAGED_COMPONENT('T2',$,#890,#27115,'T2','definition usage',$,#891,*,'', - $,*); -#1643=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('T2','',$,#46,#891,'T2','',$,#1642, - *); -#1644=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1645=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1646=CARTESIAN_POINT('',(4064000.0,1.6256E7)); -#1647=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1644,#1645,#1646,1.0); -#1648=COMPONENT_2D_LOCATION(*,#1649,'component 2d location',$,#535,#48,#1647); -#1649=PRODUCT_DEFINITION_SHAPE('',$,#1643); -#1650=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1651=PACKAGED_COMPONENT('U1',$,#897,#27115,'U1','definition usage',$,#898,*,'', - $,*); -#1652=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('U1','',$,#46,#898,'U1','',$,#1651, - *); -#1653=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1654=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#1655=CARTESIAN_POINT('',(9398000.0,1.397E7)); -#1656=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1653,#1654,#1655,1.0); -#1657=COMPONENT_2D_LOCATION(*,#1658,'component 2d location',$,#559,#48,#1656); -#1658=PRODUCT_DEFINITION_SHAPE('',$,#1652); -#1659=PRODUCT('DIP14Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1660=PRODUCT_DEFINITION_FORMATION('1',$,#1659); -#1661=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1660,#63); -#1662=PRODUCT('DIP14Component can be placed on 1 of PCB only','requirement',$,(#21090)); -#1663=PRODUCT_DEFINITION_FORMATION('1',$,#1662); -#1664=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1663,#63); -#1665=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1664)); -#1666=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1661)); -#1667=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1668=REPRESENTATION('component placement restriction assignment',(#13772),#13704); -#1669=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1670=PACKAGED_COMPONENT('VR1',$,#904,#27115,'VR1','definition usage',$,#905,*,'', - $,*); -#1671=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR1','',$,#46,#905,'VR1','',$, - #1670,*); -#1672=DIRECTION('',(6.123233995736766E-17,1.0)); -#1673=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1674=CARTESIAN_POINT('',(1.5748E7,1.4478E7)); -#1675=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1672,#1673,#1674,1.0); -#1676=COMPONENT_2D_LOCATION(*,#1677,'component 2d location',$,#583,#48,#1675); -#1677=PRODUCT_DEFINITION_SHAPE('',$,#1671); -#1678=PRODUCT('DIODE-2Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1679=PRODUCT_DEFINITION_FORMATION('1',$,#1678); -#1680=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1679,#63); -#1681=PRODUCT('DIODE-2Component can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1682=PRODUCT_DEFINITION_FORMATION('1',$,#1681); -#1683=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1682,#63); -#1684=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1683)); -#1685=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1680)); -#1686=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1687=REPRESENTATION('component placement restriction assignment',(#13776),#13704); -#1688=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1689=PACKAGED_COMPONENT('VR2',$,#904,#27115,'VR2','definition usage',$,#905,*,'', - $,*); -#1690=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR2','',$,#46,#905,'VR2','',$, - #1689,*); -#1691=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1692=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1693=CARTESIAN_POINT('',(1.5748E7,1.397E7)); -#1694=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1691,#1692,#1693,1.0); -#1695=COMPONENT_2D_LOCATION(*,#1696,'component 2d location',$,#583,#48,#1694); -#1696=PRODUCT_DEFINITION_SHAPE('',$,#1690); -#1697=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1698=PACKAGED_COMPONENT('VR3',$,#904,#27115,'VR3','definition usage',$,#905,*,'', - $,*); -#1699=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR3','',$,#46,#905,'VR3','',$, - #1698,*); -#1700=DIRECTION('',(6.123233995736766E-17,1.0)); -#1701=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1702=CARTESIAN_POINT('',(1016000.0,1.4478E7)); -#1703=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1700,#1701,#1702,1.0); -#1704=COMPONENT_2D_LOCATION(*,#1705,'component 2d location',$,#583,#48,#1703); -#1705=PRODUCT_DEFINITION_SHAPE('',$,#1699); -#1706=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1707=PACKAGED_COMPONENT('VR4',$,#904,#27115,'VR4','definition usage',$,#905,*,'', - $,*); -#1708=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR4','',$,#46,#905,'VR4','',$, - #1707,*); -#1709=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#1710=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#1711=CARTESIAN_POINT('',(1016000.0,1.397E7)); -#1712=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1709,#1710,#1711,1.0); -#1713=COMPONENT_2D_LOCATION(*,#1714,'component 2d location',$,#583,#48,#1712); -#1714=PRODUCT_DEFINITION_SHAPE('',$,#1708); -#1715=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1716=PACKAGED_COMPONENT('VR5',$,#911,#27115,'VR5','definition usage',$,#912,*,'', - $,*); -#1717=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR5','',$,#46,#912,'VR5','',$, - #1716,*); -#1718=DIRECTION('',(6.123233995736766E-17,1.0)); -#1719=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1720=CARTESIAN_POINT('',(1.1684E7,1.1684E7)); -#1721=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1718,#1719,#1720,1.0); -#1722=COMPONENT_2D_LOCATION(*,#1723,'component 2d location',$,#607,#48,#1721); -#1723=PRODUCT_DEFINITION_SHAPE('',$,#1717); -#1724=PRODUCT('DIODE-3Part can be placed on 1 of PCB only','requirement',$,(#21090)); -#1725=PRODUCT_DEFINITION_FORMATION('1',$,#1724); -#1726=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1725,#63); -#1727=PRODUCT('DIODE-3Component can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1728=PRODUCT_DEFINITION_FORMATION('1',$,#1727); -#1729=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1728,#63); -#1730=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1729)); -#1731=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1726)); -#1732=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1733=REPRESENTATION('component placement restriction assignment',(#13780),#13704); -#1734=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1735=PACKAGED_COMPONENT('VR6',$,#911,#27115,'VR6','definition usage',$,#912,*,'', - $,*); -#1736=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR6','',$,#46,#912,'VR6','',$, - #1735,*); -#1737=DIRECTION('',(6.123233995736766E-17,1.0)); -#1738=DIRECTION('',(-1.0,6.123233995736766E-17)); -#1739=CARTESIAN_POINT('',(1.1176E7,1.1684E7)); -#1740=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1737,#1738,#1739,1.0); -#1741=COMPONENT_2D_LOCATION(*,#1742,'component 2d location',$,#607,#48,#1740); -#1742=PRODUCT_DEFINITION_SHAPE('',$,#1736); -#1743=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1744=PACKAGED_COMPONENT('W1',$,#918,#27115,'W1','definition usage',$,#919,*,'', - $,*); -#1745=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('W1','',$,#46,#919,'W1','',$,#1744, - *); -#1746=PRODUCT('JUMPERPart can be placed on 1 of PCB only','requirement',$,(#21090)); -#1747=PRODUCT_DEFINITION_FORMATION('1',$,#1746); -#1748=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #1747,#63); -#1749=PRODUCT('JUMPERComponent can be placed on 1 of PCB only','requirement',$, - (#21090)); -#1750=PRODUCT_DEFINITION_FORMATION('1',$,#1749); -#1751=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1', - $,#1750,#63); -#1752=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1751)); -#1753=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#1748)); -#1754=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1755=REPRESENTATION('component placement restriction assignment',(#13784),#13704); -#1756=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#1757=PRODUCT('SM-B-984918','PLATE',$,(#20051)); -#1758=PRODUCT_DEFINITION_FORMATION('1',$,#1757); -#1759=PHYSICAL_UNIT('bracket',$,#1758,#28,'',$,*); -#1760=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#1761=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#1776,#6395, - #6407,#6420,#6433,#6446,#6459),#1760); -#1762=PHYSICAL_UNIT('bracket-UV',$,#1758,#28,'',$,*); -#1763=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#1764=SHAPE_REPRESENTATION('ppsm',(#26),#1763); -#1765=PRODUCT('bracket','PLATE',$,(#22901)); -#1766=PRODUCT_DEFINITION_FORMATION('1',$,#1765); -#1767=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#1766,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1768=SHAPE_REPRESENTATION('ppsm',(#26,#6399,#6411,#6424,#6437,#6450,#6463),#1769); -#1769=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1770=POLYLINE('',(#1771,#1772,#1773,#1774,#1775)); -#1771=CARTESIAN_POINT('',(0.125,-0.65)); -#1772=CARTESIAN_POINT('',(0.125,-0.15)); -#1773=CARTESIAN_POINT('',(1.875,-0.15)); -#1774=CARTESIAN_POINT('',(1.875,-0.65)); -#1775=CARTESIAN_POINT('',(0.125,-0.65)); -#1776=GEOMETRIC_CURVE_SET('',(#1770,#1777,#1783,#1789,#1795,#1801)); -#1777=POLYLINE('',(#1778,#1779,#1780,#1781,#1782)); -#1778=CARTESIAN_POINT('',(0.125,-1.45)); -#1779=CARTESIAN_POINT('',(0.125,-0.95)); -#1780=CARTESIAN_POINT('',(1.875,-0.95)); -#1781=CARTESIAN_POINT('',(1.875,-1.45)); -#1782=CARTESIAN_POINT('',(0.125,-1.45)); -#1783=POLYLINE('',(#1784,#1785,#1786,#1787,#1788)); -#1784=CARTESIAN_POINT('',(0.125,-2.25)); -#1785=CARTESIAN_POINT('',(0.125,-1.75)); -#1786=CARTESIAN_POINT('',(1.875,-1.75)); -#1787=CARTESIAN_POINT('',(1.875,-2.25)); -#1788=CARTESIAN_POINT('',(0.125,-2.25)); -#1789=POLYLINE('',(#1790,#1791,#1792,#1793,#1794)); -#1790=CARTESIAN_POINT('',(0.125,-3.05)); -#1791=CARTESIAN_POINT('',(0.125,-2.55)); -#1792=CARTESIAN_POINT('',(1.875,-2.55)); -#1793=CARTESIAN_POINT('',(1.875,-3.05)); -#1794=CARTESIAN_POINT('',(0.125,-3.05)); -#1795=POLYLINE('',(#1796,#1797,#1798,#1799,#1800)); -#1796=CARTESIAN_POINT('',(0.125,-3.85)); -#1797=CARTESIAN_POINT('',(0.125,-3.35)); -#1798=CARTESIAN_POINT('',(1.875,-3.35)); -#1799=CARTESIAN_POINT('',(1.875,-3.85)); -#1800=CARTESIAN_POINT('',(0.125,-3.85)); -#1801=POLYLINE('',(#1802,#1803,#1804,#1805,#1806,#1807)); -#1802=CARTESIAN_POINT('',(-0.12,-4.12)); -#1803=CARTESIAN_POINT('',(-0.12,0.12)); -#1804=CARTESIAN_POINT('',(2.12,0.12)); -#1805=CARTESIAN_POINT('',(2.12,-4.12)); -#1806=CARTESIAN_POINT('',(-0.11,-4.12)); -#1807=CARTESIAN_POINT('',(-0.12,-4.12)); -#1808=PRODUCT('SM-A-984735-13','EXTRACTOR',$,(#20051)); -#1809=PRODUCT_DEFINITION_FORMATION('1',$,#1808); -#1810=PHYSICAL_UNIT('ejector-l',$,#1809,#28,'',$,*); -#1811=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#1812=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#1954),#1811); -#1813=PRODUCT('ejector-l','EXTRACTOR',$,(#22901)); -#1814=PRODUCT_DEFINITION_FORMATION('1',$,#1813); -#1815=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#1814,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1816=SHAPE_REPRESENTATION('ppsm',(#26,#1831),#1817); -#1817=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1818=PASSAGE_TECHNOLOGY('0.093 inches','default unsupported passage definition', - '',$,*); -#1819=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.093),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#1820=REPRESENTATION('maximum tolerance',(#1819),#1821); -#1821=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1822=PRODUCT('ejector-l-drill-0','template',$,(#22901)); -#1823=PRODUCT_DEFINITION_FORMATION('1',$,#1822); -#1824=UNSUPPORTED_PASSAGE_TEMPLATE('1',$,#1823,#28,'',$,*); -#1825=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1827),#1826); -#1826=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1827=CSG_PRIMITIVE_SOLID_2D('',#1829); -#1828=CARTESIAN_POINT('',(0.0,0.0)); -#1829=CIRCULAR_AREA('',#1828,0.0465); -#1830=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1815,#1824,'drill'); -#1831=MAPPED_ITEM('tlistt',#22919,#1832); -#1832=AXIS2_PLACEMENT_2D('',#1833,$); -#1833=CARTESIAN_POINT('',(0.0,0.0)); -#1834=POLYLINE('',(#1835,#1836,#1837,#1838,#1839,#1840,#1841,#1842,#1843,#1844,#1845, - #1846,#1847,#1848,#1849,#1850,#1851,#1852,#1853,#1854,#1855,#1856,#1857,#1858, - #1859,#1860,#1861,#1862,#1863,#1864,#1865,#1866,#1867,#1868,#1869,#1870,#1871, - #1872,#1873,#1874,#1875,#1876,#1877,#1878,#1879,#1880,#1881,#1882,#1883,#1884, - #1885,#1886,#1887,#1888,#1889,#1890,#1891,#1892,#1893,#1894,#1895,#1896,#1897, - #1898,#1899,#1900,#1901,#1902,#1903,#1904,#1905,#1906,#1907,#1908,#1909,#1910, - #1911,#1912,#1913,#1914,#1915,#1916,#1917,#1918,#1919,#1920,#1921,#1922,#1923, - #1924,#1925,#1926,#1927,#1928,#1929,#1930,#1931,#1932,#1933,#1934,#1935,#1936, - #1937,#1938,#1939,#1940,#1941,#1942,#1943,#1944,#1945,#1946,#1947,#1948,#1949, - #1950,#1951,#1952,#1953)); -#1835=CARTESIAN_POINT('',(0.234,0.0)); -#1836=CARTESIAN_POINT('',(0.2328,-0.0228)); -#1837=CARTESIAN_POINT('',(0.2295,-0.0456)); -#1838=CARTESIAN_POINT('',(0.2238,-0.0678)); -#1839=CARTESIAN_POINT('',(0.21615,-0.0894)); -#1840=CARTESIAN_POINT('',(0.20625,-0.11025)); -#1841=CARTESIAN_POINT('',(0.19455,-0.1299)); -#1842=CARTESIAN_POINT('',(0.18075,-0.14835)); -#1843=CARTESIAN_POINT('',(0.16545,-0.16545)); -#1844=CARTESIAN_POINT('',(0.14835,-0.18075)); -#1845=CARTESIAN_POINT('',(0.1299,-0.19455)); -#1846=CARTESIAN_POINT('',(0.11025,-0.20625)); -#1847=CARTESIAN_POINT('',(0.0894,-0.21615)); -#1848=CARTESIAN_POINT('',(0.0678,-0.2238)); -#1849=CARTESIAN_POINT('',(0.0456,-0.2295)); -#1850=CARTESIAN_POINT('',(0.0228,-0.2328)); -#1851=CARTESIAN_POINT('',(0.0,-0.234)); -#1852=CARTESIAN_POINT('',(-0.0228,-0.2328)); -#1853=CARTESIAN_POINT('',(-0.0456,-0.2295)); -#1854=CARTESIAN_POINT('',(-0.0678,-0.2238)); -#1855=CARTESIAN_POINT('',(-0.0894,-0.21615)); -#1856=CARTESIAN_POINT('',(-0.11025,-0.20625)); -#1857=CARTESIAN_POINT('',(-0.1299,-0.19455)); -#1858=CARTESIAN_POINT('',(-0.14835,-0.18075)); -#1859=CARTESIAN_POINT('',(-0.16545,-0.16545)); -#1860=CARTESIAN_POINT('',(-0.18075,-0.14835)); -#1861=CARTESIAN_POINT('',(-0.19455,-0.1299)); -#1862=CARTESIAN_POINT('',(-0.20625,-0.11025)); -#1863=CARTESIAN_POINT('',(-0.21615,-0.0894)); -#1864=CARTESIAN_POINT('',(-0.2238,-0.0678)); -#1865=CARTESIAN_POINT('',(-0.2295,-0.0456)); -#1866=CARTESIAN_POINT('',(-0.2328,-0.0228)); -#1867=CARTESIAN_POINT('',(-0.234,0.0)); -#1868=CARTESIAN_POINT('',(-0.23505,0.0228)); -#1869=CARTESIAN_POINT('',(-0.23835,0.0456)); -#1870=CARTESIAN_POINT('',(-0.24405,0.0678)); -#1871=CARTESIAN_POINT('',(-0.2517,0.0894)); -#1872=CARTESIAN_POINT('',(-0.2616,0.11025)); -#1873=CARTESIAN_POINT('',(-0.2733,0.1299)); -#1874=CARTESIAN_POINT('',(-0.2871,0.14835)); -#1875=CARTESIAN_POINT('',(-0.3024,0.16545)); -#1876=CARTESIAN_POINT('',(-0.3195,0.18075)); -#1877=CARTESIAN_POINT('',(-0.33795,0.19455)); -#1878=CARTESIAN_POINT('',(-0.3576,0.20625)); -#1879=CARTESIAN_POINT('',(-0.37845,0.21615)); -#1880=CARTESIAN_POINT('',(-0.40005,0.2238)); -#1881=CARTESIAN_POINT('',(-0.42225,0.2295)); -#1882=CARTESIAN_POINT('',(-0.44505,0.2328)); -#1883=CARTESIAN_POINT('',(-0.468,0.234)); -#1884=CARTESIAN_POINT('',(-0.702,0.234)); -#1885=CARTESIAN_POINT('',(-0.702,0.468)); -#1886=CARTESIAN_POINT('',(-0.46785,0.468)); -#1887=CARTESIAN_POINT('',(-0.44985,0.46875)); -#1888=CARTESIAN_POINT('',(-0.432,0.47145)); -#1889=CARTESIAN_POINT('',(-0.4143,0.4758)); -#1890=CARTESIAN_POINT('',(-0.39735,0.48195)); -#1891=CARTESIAN_POINT('',(-0.381,0.48975)); -#1892=CARTESIAN_POINT('',(-0.3654,0.49905)); -#1893=CARTESIAN_POINT('',(-0.35085,0.50985)); -#1894=CARTESIAN_POINT('',(-0.3375,0.522)); -#1895=CARTESIAN_POINT('',(-0.32535,0.53535)); -#1896=CARTESIAN_POINT('',(-0.31455,0.5499)); -#1897=CARTESIAN_POINT('',(-0.30525,0.5655)); -#1898=CARTESIAN_POINT('',(-0.29745,0.58185)); -#1899=CARTESIAN_POINT('',(-0.2913,0.5988)); -#1900=CARTESIAN_POINT('',(-0.28695,0.6165)); -#1901=CARTESIAN_POINT('',(-0.28425,0.63435)); -#1902=CARTESIAN_POINT('',(-0.2835,0.6525)); -#1903=CARTESIAN_POINT('',(1.9818,0.6525)); -#1904=CARTESIAN_POINT('',(2.2302,0.74925)); -#1905=CARTESIAN_POINT('',(2.235,0.74985)); -#1906=CARTESIAN_POINT('',(2.2398,0.74985)); -#1907=CARTESIAN_POINT('',(2.24445,0.74955)); -#1908=CARTESIAN_POINT('',(2.24925,0.7488)); -#1909=CARTESIAN_POINT('',(2.2539,0.74745)); -#1910=CARTESIAN_POINT('',(2.25825,0.7458)); -#1911=CARTESIAN_POINT('',(2.2626,0.7437)); -#1912=CARTESIAN_POINT('',(2.26665,0.74115)); -#1913=CARTESIAN_POINT('',(2.2704,0.73815)); -#1914=CARTESIAN_POINT('',(2.27385,0.73485)); -#1915=CARTESIAN_POINT('',(2.277,0.73125)); -#1916=CARTESIAN_POINT('',(2.27985,0.72735)); -#1917=CARTESIAN_POINT('',(2.2821,0.72315)); -#1918=CARTESIAN_POINT('',(2.28405,0.7188)); -#1919=CARTESIAN_POINT('',(2.28555,0.7143)); -#1920=CARTESIAN_POINT('',(2.28675,0.70965)); -#1921=CARTESIAN_POINT('',(2.28735,0.70485)); -#1922=CARTESIAN_POINT('',(2.28735,0.70005)); -#1923=CARTESIAN_POINT('',(2.28705,0.6954)); -#1924=CARTESIAN_POINT('',(2.2863,0.6906)); -#1925=CARTESIAN_POINT('',(2.28495,0.68595)); -#1926=CARTESIAN_POINT('',(2.2833,0.6816)); -#1927=CARTESIAN_POINT('',(2.2812,0.67725)); -#1928=CARTESIAN_POINT('',(2.27865,0.6732)); -#1929=CARTESIAN_POINT('',(2.27565,0.66945)); -#1930=CARTESIAN_POINT('',(2.27235,0.666)); -#1931=CARTESIAN_POINT('',(2.26875,0.66285)); -#1932=CARTESIAN_POINT('',(2.26485,0.66)); -#1933=CARTESIAN_POINT('',(2.26065,0.65775)); -#1934=CARTESIAN_POINT('',(2.2563,0.6558)); -#1935=CARTESIAN_POINT('',(2.2518,0.6543)); -#1936=CARTESIAN_POINT('',(2.24715,0.6531)); -#1937=CARTESIAN_POINT('',(1.9275,0.5175)); -#1938=CARTESIAN_POINT('',(0.44505,0.2328)); -#1939=CARTESIAN_POINT('',(0.42225,0.2295)); -#1940=CARTESIAN_POINT('',(0.40005,0.2238)); -#1941=CARTESIAN_POINT('',(0.37845,0.21615)); -#1942=CARTESIAN_POINT('',(0.3576,0.20625)); -#1943=CARTESIAN_POINT('',(0.33795,0.19455)); -#1944=CARTESIAN_POINT('',(0.3195,0.18075)); -#1945=CARTESIAN_POINT('',(0.3024,0.16545)); -#1946=CARTESIAN_POINT('',(0.2871,0.14835)); -#1947=CARTESIAN_POINT('',(0.2733,0.1299)); -#1948=CARTESIAN_POINT('',(0.2616,0.11025)); -#1949=CARTESIAN_POINT('',(0.2517,0.0894)); -#1950=CARTESIAN_POINT('',(0.24405,0.0678)); -#1951=CARTESIAN_POINT('',(0.23835,0.0456)); -#1952=CARTESIAN_POINT('',(0.23505,0.0228)); -#1953=CARTESIAN_POINT('',(0.234,0.0)); -#1954=GEOMETRIC_CURVE_SET('',(#1834)); -#1955=PRODUCT('SM-A-984735-2','EXTRACTOR',$,(#20051)); -#1956=PRODUCT_DEFINITION_FORMATION('1',$,#1955); -#1957=PHYSICAL_UNIT('ejector-r',$,#1956,#28,'',$,*); -#1958=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#1959=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#2097),#1958); -#1960=PRODUCT('ejector-r','EXTRACTOR',$,(#22901)); -#1961=PRODUCT_DEFINITION_FORMATION('1',$,#1960); -#1962=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#1961,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1963=SHAPE_REPRESENTATION('ppsm',(#26,#1974),#1964); -#1964=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1965=PRODUCT('ejector-r-drill-0','template',$,(#22901)); -#1966=PRODUCT_DEFINITION_FORMATION('1',$,#1965); -#1967=UNSUPPORTED_PASSAGE_TEMPLATE('1',$,#1966,#28,'',$,*); -#1968=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1970),#1969); -#1969=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1970=CSG_PRIMITIVE_SOLID_2D('',#1972); -#1971=CARTESIAN_POINT('',(0.0,0.0)); -#1972=CIRCULAR_AREA('',#1971,0.0465); -#1973=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1962,#1967,'drill'); -#1974=MAPPED_ITEM('tlistt',#22923,#1975); -#1975=AXIS2_PLACEMENT_2D('',#1976,$); -#1976=CARTESIAN_POINT('',(0.0,0.0)); -#1977=POLYLINE('',(#1978,#1979,#1980,#1981,#1982,#1983,#1984,#1985,#1986,#1987,#1988, - #1989,#1990,#1991,#1992,#1993,#1994,#1995,#1996,#1997,#1998,#1999,#2000,#2001, - #2002,#2003,#2004,#2005,#2006,#2007,#2008,#2009,#2010,#2011,#2012,#2013,#2014, - #2015,#2016,#2017,#2018,#2019,#2020,#2021,#2022,#2023,#2024,#2025,#2026,#2027, - #2028,#2029,#2030,#2031,#2032,#2033,#2034,#2035,#2036,#2037,#2038,#2039,#2040, - #2041,#2042,#2043,#2044,#2045,#2046,#2047,#2048,#2049,#2050,#2051,#2052,#2053, - #2054,#2055,#2056,#2057,#2058,#2059,#2060,#2061,#2062,#2063,#2064,#2065,#2066, - #2067,#2068,#2069,#2070,#2071,#2072,#2073,#2074,#2075,#2076,#2077,#2078,#2079, - #2080,#2081,#2082,#2083,#2084,#2085,#2086,#2087,#2088,#2089,#2090,#2091,#2092, - #2093,#2094,#2095,#2096)); -#1978=CARTESIAN_POINT('',(-0.234,0.0)); -#1979=CARTESIAN_POINT('',(-0.2328,-0.0228)); -#1980=CARTESIAN_POINT('',(-0.2295,-0.0456)); -#1981=CARTESIAN_POINT('',(-0.2238,-0.0678)); -#1982=CARTESIAN_POINT('',(-0.21615,-0.0894)); -#1983=CARTESIAN_POINT('',(-0.20625,-0.11025)); -#1984=CARTESIAN_POINT('',(-0.19455,-0.1299)); -#1985=CARTESIAN_POINT('',(-0.18075,-0.14835)); -#1986=CARTESIAN_POINT('',(-0.16545,-0.16545)); -#1987=CARTESIAN_POINT('',(-0.14835,-0.18075)); -#1988=CARTESIAN_POINT('',(-0.1299,-0.19455)); -#1989=CARTESIAN_POINT('',(-0.11025,-0.20625)); -#1990=CARTESIAN_POINT('',(-0.0894,-0.21615)); -#1991=CARTESIAN_POINT('',(-0.0678,-0.2238)); -#1992=CARTESIAN_POINT('',(-0.0456,-0.2295)); -#1993=CARTESIAN_POINT('',(-0.0228,-0.2328)); -#1994=CARTESIAN_POINT('',(0.0,-0.234)); -#1995=CARTESIAN_POINT('',(0.0228,-0.2328)); -#1996=CARTESIAN_POINT('',(0.0456,-0.2295)); -#1997=CARTESIAN_POINT('',(0.0678,-0.2238)); -#1998=CARTESIAN_POINT('',(0.0894,-0.21615)); -#1999=CARTESIAN_POINT('',(0.11025,-0.20625)); -#2000=CARTESIAN_POINT('',(0.1299,-0.19455)); -#2001=CARTESIAN_POINT('',(0.14835,-0.18075)); -#2002=CARTESIAN_POINT('',(0.16545,-0.16545)); -#2003=CARTESIAN_POINT('',(0.18075,-0.14835)); -#2004=CARTESIAN_POINT('',(0.19455,-0.1299)); -#2005=CARTESIAN_POINT('',(0.20625,-0.11025)); -#2006=CARTESIAN_POINT('',(0.21615,-0.0894)); -#2007=CARTESIAN_POINT('',(0.2238,-0.0678)); -#2008=CARTESIAN_POINT('',(0.2295,-0.0456)); -#2009=CARTESIAN_POINT('',(0.2328,-0.0228)); -#2010=CARTESIAN_POINT('',(0.234,0.0)); -#2011=CARTESIAN_POINT('',(0.23505,0.0228)); -#2012=CARTESIAN_POINT('',(0.23835,0.0456)); -#2013=CARTESIAN_POINT('',(0.24405,0.0678)); -#2014=CARTESIAN_POINT('',(0.2517,0.0894)); -#2015=CARTESIAN_POINT('',(0.2616,0.11025)); -#2016=CARTESIAN_POINT('',(0.2733,0.1299)); -#2017=CARTESIAN_POINT('',(0.2871,0.14835)); -#2018=CARTESIAN_POINT('',(0.3024,0.16545)); -#2019=CARTESIAN_POINT('',(0.3195,0.18075)); -#2020=CARTESIAN_POINT('',(0.33795,0.19455)); -#2021=CARTESIAN_POINT('',(0.3576,0.20625)); -#2022=CARTESIAN_POINT('',(0.37845,0.21615)); -#2023=CARTESIAN_POINT('',(0.40005,0.2238)); -#2024=CARTESIAN_POINT('',(0.42225,0.2295)); -#2025=CARTESIAN_POINT('',(0.44505,0.2328)); -#2026=CARTESIAN_POINT('',(0.468,0.234)); -#2027=CARTESIAN_POINT('',(0.702,0.234)); -#2028=CARTESIAN_POINT('',(0.702,0.468)); -#2029=CARTESIAN_POINT('',(0.46785,0.468)); -#2030=CARTESIAN_POINT('',(0.44985,0.46875)); -#2031=CARTESIAN_POINT('',(0.432,0.47145)); -#2032=CARTESIAN_POINT('',(0.4143,0.4758)); -#2033=CARTESIAN_POINT('',(0.39735,0.48195)); -#2034=CARTESIAN_POINT('',(0.381,0.48975)); -#2035=CARTESIAN_POINT('',(0.3654,0.49905)); -#2036=CARTESIAN_POINT('',(0.35085,0.50985)); -#2037=CARTESIAN_POINT('',(0.3375,0.522)); -#2038=CARTESIAN_POINT('',(0.32535,0.53535)); -#2039=CARTESIAN_POINT('',(0.31455,0.5499)); -#2040=CARTESIAN_POINT('',(0.30525,0.5655)); -#2041=CARTESIAN_POINT('',(0.29745,0.58185)); -#2042=CARTESIAN_POINT('',(0.2913,0.5988)); -#2043=CARTESIAN_POINT('',(0.28695,0.6165)); -#2044=CARTESIAN_POINT('',(0.28425,0.63435)); -#2045=CARTESIAN_POINT('',(0.2835,0.6525)); -#2046=CARTESIAN_POINT('',(-1.9818,0.6525)); -#2047=CARTESIAN_POINT('',(-2.2302,0.74925)); -#2048=CARTESIAN_POINT('',(-2.235,0.74985)); -#2049=CARTESIAN_POINT('',(-2.2398,0.74985)); -#2050=CARTESIAN_POINT('',(-2.24445,0.74955)); -#2051=CARTESIAN_POINT('',(-2.24925,0.7488)); -#2052=CARTESIAN_POINT('',(-2.2539,0.74745)); -#2053=CARTESIAN_POINT('',(-2.25825,0.7458)); -#2054=CARTESIAN_POINT('',(-2.2626,0.7437)); -#2055=CARTESIAN_POINT('',(-2.26665,0.74115)); -#2056=CARTESIAN_POINT('',(-2.2704,0.73815)); -#2057=CARTESIAN_POINT('',(-2.27385,0.73485)); -#2058=CARTESIAN_POINT('',(-2.277,0.73125)); -#2059=CARTESIAN_POINT('',(-2.27985,0.72735)); -#2060=CARTESIAN_POINT('',(-2.2821,0.72315)); -#2061=CARTESIAN_POINT('',(-2.28405,0.7188)); -#2062=CARTESIAN_POINT('',(-2.28555,0.7143)); -#2063=CARTESIAN_POINT('',(-2.28675,0.70965)); -#2064=CARTESIAN_POINT('',(-2.28735,0.70485)); -#2065=CARTESIAN_POINT('',(-2.28735,0.70005)); -#2066=CARTESIAN_POINT('',(-2.28705,0.6954)); -#2067=CARTESIAN_POINT('',(-2.2863,0.6906)); -#2068=CARTESIAN_POINT('',(-2.28495,0.68595)); -#2069=CARTESIAN_POINT('',(-2.2833,0.6816)); -#2070=CARTESIAN_POINT('',(-2.2812,0.67725)); -#2071=CARTESIAN_POINT('',(-2.27865,0.6732)); -#2072=CARTESIAN_POINT('',(-2.27565,0.66945)); -#2073=CARTESIAN_POINT('',(-2.27235,0.666)); -#2074=CARTESIAN_POINT('',(-2.26875,0.66285)); -#2075=CARTESIAN_POINT('',(-2.26485,0.66)); -#2076=CARTESIAN_POINT('',(-2.26065,0.65775)); -#2077=CARTESIAN_POINT('',(-2.2563,0.6558)); -#2078=CARTESIAN_POINT('',(-2.2518,0.6543)); -#2079=CARTESIAN_POINT('',(-2.24715,0.6531)); -#2080=CARTESIAN_POINT('',(-1.9275,0.5175)); -#2081=CARTESIAN_POINT('',(-0.44505,0.2328)); -#2082=CARTESIAN_POINT('',(-0.42225,0.2295)); -#2083=CARTESIAN_POINT('',(-0.40005,0.2238)); -#2084=CARTESIAN_POINT('',(-0.37845,0.21615)); -#2085=CARTESIAN_POINT('',(-0.3576,0.20625)); -#2086=CARTESIAN_POINT('',(-0.33795,0.19455)); -#2087=CARTESIAN_POINT('',(-0.3195,0.18075)); -#2088=CARTESIAN_POINT('',(-0.3024,0.16545)); -#2089=CARTESIAN_POINT('',(-0.2871,0.14835)); -#2090=CARTESIAN_POINT('',(-0.2733,0.1299)); -#2091=CARTESIAN_POINT('',(-0.2616,0.11025)); -#2092=CARTESIAN_POINT('',(-0.2517,0.0894)); -#2093=CARTESIAN_POINT('',(-0.24405,0.0678)); -#2094=CARTESIAN_POINT('',(-0.23835,0.0456)); -#2095=CARTESIAN_POINT('',(-0.23505,0.0228)); -#2096=CARTESIAN_POINT('',(-0.234,0.0)); -#2097=GEOMETRIC_CURVE_SET('',(#1977)); -#2098=PRODUCT('SM-A-876340','HEAT',$,(#20051)); -#2099=PRODUCT_DEFINITION_FORMATION('1',$,#2098); -#2100=PHYSICAL_UNIT('heatsink',$,#2099,#28,'',$,*); -#2101=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#2102=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#2111),#2101); -#2103=PRODUCT('heatsink','HEAT',$,(#22901)); -#2104=PRODUCT_DEFINITION_FORMATION('1',$,#2103); -#2105=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#2104,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2106=SHAPE_REPRESENTATION('ppsm',(#26),#2107); -#2107=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2108=POLYLINE('',(#2109,#2110)); -#2109=CARTESIAN_POINT('',(0.1,-0.85)); -#2110=CARTESIAN_POINT('',(-0.12285,-0.9)); -#2111=GEOMETRIC_CURVE_SET('',(#2108,#2112,#2115,#2118,#2121,#2124,#2127,#2130,#2133, - #2136,#2139,#2142,#2150,#2156)); -#2112=POLYLINE('',(#2113,#2114)); -#2113=CARTESIAN_POINT('',(0.1,-0.85)); -#2114=CARTESIAN_POINT('',(0.32285,-0.9)); -#2115=POLYLINE('',(#2116,#2117)); -#2116=CARTESIAN_POINT('',(0.1,0.65)); -#2117=CARTESIAN_POINT('',(-0.12285,0.7)); -#2118=POLYLINE('',(#2119,#2120)); -#2119=CARTESIAN_POINT('',(0.1,0.65)); -#2120=CARTESIAN_POINT('',(0.32285,0.7)); -#2121=POLYLINE('',(#2122,#2123)); -#2122=CARTESIAN_POINT('',(0.32285,0.7)); -#2123=CARTESIAN_POINT('',(0.6641,0.0)); -#2124=POLYLINE('',(#2125,#2126)); -#2125=CARTESIAN_POINT('',(-0.12285,0.7)); -#2126=CARTESIAN_POINT('',(-0.4641,0.0)); -#2127=POLYLINE('',(#2128,#2129)); -#2128=CARTESIAN_POINT('',(-0.12285,-0.9)); -#2129=CARTESIAN_POINT('',(-0.459,-0.2105)); -#2130=POLYLINE('',(#2131,#2132)); -#2131=CARTESIAN_POINT('',(0.68205,-0.20875)); -#2132=CARTESIAN_POINT('',(0.34085,-0.90875)); -#2133=POLYLINE('',(#2134,#2135)); -#2134=CARTESIAN_POINT('',(-0.14085,-0.90875)); -#2135=CARTESIAN_POINT('',(-0.48205,-0.20875)); -#2136=POLYLINE('',(#2137,#2138)); -#2137=CARTESIAN_POINT('',(-0.10485,0.69125)); -#2138=CARTESIAN_POINT('',(-0.459,-0.0352)); -#2139=POLYLINE('',(#2140,#2141)); -#2140=CARTESIAN_POINT('',(0.659,-0.2105)); -#2141=CARTESIAN_POINT('',(0.32285,-0.9)); -#2142=POLYLINE('',(#2143,#2144)); -#2143=CARTESIAN_POINT('',(0.30485,0.69125)); -#2144=CARTESIAN_POINT('',(0.659,-0.0352)); -#2145=CARTESIAN_POINT('',(0.659,-0.2105)); -#2146=CARTESIAN_POINT('',(0.65905,-0.0352)); -#2147=CARTESIAN_POINT('',(0.4792110939431449,-0.12279871251967021)); -#2148=AXIS2_PLACEMENT_2D('',#2147,$); -#2149=CIRCLE('',#2148,0.20003891263160567); -#2150=TRIMMED_CURVE('',#2149,(#2145),(#2146),.T.,.CARTESIAN.); -#2151=CARTESIAN_POINT('',(-0.459,-0.0352)); -#2152=CARTESIAN_POINT('',(-0.45895,-0.2105)); -#2153=CARTESIAN_POINT('',(-0.27916109394313915,-0.12279871251966877)); -#2154=AXIS2_PLACEMENT_2D('',#2153,$); -#2155=CIRCLE('',#2154,0.20003891263159712); -#2156=TRIMMED_CURVE('',#2155,(#2151),(#2152),.T.,.CARTESIAN.); -#2157=PRODUCT('NAS1831C31305','SPACER',$,(#20051)); -#2158=PRODUCT_DEFINITION_FORMATION('1',$,#2157); -#2159=PHYSICAL_UNIT('spacer',$,#2158,#28,'',$,*); -#2160=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#2161=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#2179),#2160); -#2162=PRODUCT('spacer','SPACER',$,(#22901)); -#2163=PRODUCT_DEFINITION_FORMATION('1',$,#2162); -#2164=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#2163,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2165=SHAPE_REPRESENTATION('ppsm',(#26,#2176),#2166); -#2166=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2167=PRODUCT('spacer-drill-0','template',$,(#22901)); -#2168=PRODUCT_DEFINITION_FORMATION('1',$,#2167); -#2169=UNSUPPORTED_PASSAGE_TEMPLATE('1',$,#2168,#28,'',$,*); -#2170=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2172),#2171); -#2171=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2172=CSG_PRIMITIVE_SOLID_2D('',#2174); -#2173=CARTESIAN_POINT('',(0.0,0.0)); -#2174=CIRCULAR_AREA('',#2173,0.0465); -#2175=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#2164,#2169,'drill'); -#2176=MAPPED_ITEM('tlistt',#22927,#2177); -#2177=AXIS2_PLACEMENT_2D('',#2178,$); -#2178=CARTESIAN_POINT('',(0.0,0.0)); -#2179=GEOMETRIC_CURVE_SET('',(#2182)); -#2180=AXIS2_PLACEMENT_2D('',#2181,$); -#2181=CARTESIAN_POINT('',(0.0,0.0)); -#2182=CIRCLE('',#2180,0.0625); -#2183=PRODUCT('library stack','library stack',$,(#22901)); -#2184=PRODUCT_DEFINITION_FORMATION('1',$,#2183); -#2185=LIBRARY_STACK_MODEL('1',$,#2184,#28,'',$,*); -#2186=STRATUM_TECHNOLOGY('GLUE_MASK','documentation layer','',$,*); -#2187=REPRESENTATION('maximum tolerance',(#2190),#2188); -#2188=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2189)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2189=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19,'',$); -#2190=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.3),#19)QUALIFIED_REPRESENTATION_ITEM((#2191))REPRESENTATION_ITEM('')); -#2191=TYPE_QUALIFIER('maximum'); -#2192=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('solder',(#2186,#2196, - #2200,#2204)); -#2193=STRATUM_TECHNOLOGY_OCCURRENCE('GLUE_MASK_1',$,#2186); -#2194=STRATUM_TECHNOLOGY_OCCURRENCE('GLUE_MASK_2',$,#2186); -#2195=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#2185,'','',#2193,#2194); -#2196=STRATUM_TECHNOLOGY('PASTE_MASK','documentation layer','',$,*); -#2197=STRATUM_TECHNOLOGY_OCCURRENCE('PASTE_MASK_1',$,#2196); -#2198=STRATUM_TECHNOLOGY_OCCURRENCE('PASTE_MASK_2',$,#2196); -#2199=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#2185,'','',#2197,#2198); -#2200=STRATUM_TECHNOLOGY('SILKSCREEN','documentation layer','',$,*); -#2201=STRATUM_TECHNOLOGY_OCCURRENCE('SILKSCREEN_1',$,#2200); -#2202=STRATUM_TECHNOLOGY_OCCURRENCE('SILKSCREEN_2',$,#2200); -#2203=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#2185,'','',#2201,#2202); -#2204=STRATUM_TECHNOLOGY('SOLDER_MASK','documentation layer','',$,*); -#2205=STRATUM_TECHNOLOGY_OCCURRENCE('SOLDER_MASK_1',$,#2204); -#2206=STRATUM_TECHNOLOGY_OCCURRENCE('SOLDER_MASK_2',$,#2204); -#2207=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#2185,'','',#2205,#2206); -#2208=STRATUM_TECHNOLOGY('substrate technology',$,'',$,*); -#2209=REPRESENTATION('minimum tolerance',(#2211),#2210); -#2210=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2211=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.3),#19)QUALIFIED_REPRESENTATION_ITEM((#2212))REPRESENTATION_ITEM('')); -#2212=TYPE_QUALIFIER('minimum'); -#2213=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('dielectric',(#2208)); -#2214=APPLIED_CLASSIFICATION_ASSIGNMENT(#2216,#2215,(#2213)); -#2215=CLASSIFICATION_ROLE('non conductive',$); -#2216=CLASS('non conductive','electrical conductivity'); -#2217=STRATUM_TECHNOLOGY('SIGNAL-EXTERNAL','design layer','',$,*); -#2218=REPRESENTATION('maximum tolerance',(#2219),#2188); -#2219=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.3),#19)QUALIFIED_REPRESENTATION_ITEM((#2191))REPRESENTATION_ITEM('')); -#2220=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('copper',(#2217,#2221, - #2246)); -#2221=STRATUM_TECHNOLOGY('SIGNAL-INTERNAL','design layer','',$,*); -#2222=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_1',$,#2217); -#2223=STRATUM_TECHNOLOGY_OCCURRENCE('substrate',$,#2208); -#2224=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_2',$,#2221); -#2225=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_2',$,#2208); -#2226=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_3',$,#2221); -#2227=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_3',$,#2208); -#2228=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_4',$,#2221); -#2229=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_4',$,#2208); -#2230=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_5',$,#2221); -#2231=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_5',$,#2208); -#2232=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_6',$,#2221); -#2233=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_6',$,#2208); -#2234=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_7',$,#2221); -#2235=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_7',$,#2208); -#2236=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_8',$,#2221); -#2237=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_8',$,#2208); -#2238=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_9',$,#2221); -#2239=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_9',$,#2208); -#2240=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_10',$,#2221); -#2241=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_10',$,#2208); -#2242=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_11',$,#2221); -#2243=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_11',$,#2208); -#2244=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_12',$,#2217); -#2245=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_12',$,#2208); -#2246=STRATUM_TECHNOLOGY('POWER-INTERNAL','design layer','',$,*); -#2247=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_1',$,#2246); -#2248=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_13',$,#2208); -#2249=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_2',$,#2246); -#2250=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_14',$,#2208); -#2251=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_3',$,#2246); -#2252=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_15',$,#2208); -#2253=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_4',$,#2246); -#2254=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_16',$,#2208); -#2255=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_5',$,#2246); -#2256=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_17',$,#2208); -#2257=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_6',$,#2246); -#2258=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_18',$,#2208); -#2259=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_7',$,#2246); -#2260=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2193,#2197); -#2261=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2197,#2201); -#2262=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2201,#2205); -#2263=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2205,#2222); -#2264=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2222,#2223); -#2265=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2223,#2224); -#2266=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2224,#2225); -#2267=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2225,#2226); -#2268=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2226,#2227); -#2269=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2227,#2228); -#2270=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2228,#2229); -#2271=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2229,#2230); -#2272=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2230,#2231); -#2273=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2231,#2232); -#2274=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2232,#2233); -#2275=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2233,#2234); -#2276=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2234,#2235); -#2277=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2235,#2236); -#2278=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2236,#2237); -#2279=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2237,#2238); -#2280=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2238,#2239); -#2281=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2239,#2240); -#2282=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2240,#2241); -#2283=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2241,#2242); -#2284=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2242,#2243); -#2285=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2243,#2244); -#2286=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2244,#2245); -#2287=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2245,#2247); -#2288=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2247,#2248); -#2289=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2248,#2249); -#2290=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2249,#2250); -#2291=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2250,#2251); -#2292=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2251,#2252); -#2293=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2252,#2253); -#2294=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2253,#2254); -#2295=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2254,#2255); -#2296=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2255,#2256); -#2297=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2256,#2257); -#2298=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2257,#2258); -#2299=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2258,#2259); -#2300=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2259,#2206); -#2301=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2206,#2202); -#2302=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2202,#2198); -#2303=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2185,'','',#2198,#2194); -#2304=PRODUCT('design stack','design stack',$,(#22901)); -#2305=PRODUCT_DEFINITION_FORMATION('1',$,#2304); -#2306=DESIGN_STACK_MODEL('1',$,#2305,#28,'',$,*); -#2307=LIBRARY_TO_DESIGN_STACK_MODEL_MAPPING('','',$,#2185,#2306); -#2308=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2306,'','',#2193,#2197); -#2309=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2306,'','',#2197,#2201); -#2310=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2306,'','',#2201,#2205); -#2311=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2306,'','',#2205,#2222); -#2312=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2306,'','',#2222,#2223); -#2313=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2306,'','',#2223,#2244); -#2314=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2306,'','',#2244,#2206); -#2315=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2306,'','',#2206,#2202); -#2316=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2306,'','',#2202,#2198); -#2317=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#2306,'','',#2198,#2194); -#2318=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#2306,'','',#2222,#2244); -#2319=DOCUMENTATION_LAYER_STRATUM('PASTE_MASK_2',$,#14,#28,'',$,*); -#2320=ASSEMBLY_COMPONENT_USAGE('PASTE_MASK_2','interconnect module stratum assembly relationship', - $,#34,#2319,'PASTE_MASK_2'); -#2321=DOCUMENTATION_LAYER_STRATUM('GLUE_MASK_2',$,#14,#28,'',$,*); -#2322=ASSEMBLY_COMPONENT_USAGE('GLUE_MASK_2','interconnect module stratum assembly relationship', - $,#34,#2321,'GLUE_MASK_2'); -#2323=DOCUMENTATION_LAYER_STRATUM('SILKSCREEN_2',$,#14,#28,'',$,*); -#2324=ASSEMBLY_COMPONENT_USAGE('SILKSCREEN_2','interconnect module stratum assembly relationship', - $,#34,#2323,'SILKSCREEN_2'); -#2325=DOCUMENTATION_LAYER_STRATUM('SOLDER_MASK_2',$,#14,#28,'',$,*); -#2326=ASSEMBLY_COMPONENT_USAGE('SOLDER_MASK_2','interconnect module stratum assembly relationship', - $,#34,#2325,'SOLDER_MASK_2'); -#2327=DESIGN_LAYER_STRATUM('PHYSICAL_2','non primary design layer stratum',#14,#28, - '',$,*); -#2328=ASSEMBLY_COMPONENT_USAGE('2','interconnect module stratum assembly relationship', - $,#34,#2327,'2'); -#2329=STRATUM('substrate',$,#14,#28,'',$,*); -#2330=ASSEMBLY_COMPONENT_USAGE('substrate','interconnect module stratum assembly relationship', - $,#34,#2329,'substrate'); -#2331=DESIGN_LAYER_STRATUM('PHYSICAL_1','primary design layer stratum',#14,#28,'', - $,*); -#2332=ASSEMBLY_COMPONENT_USAGE('1','interconnect module stratum assembly relationship', - $,#34,#2331,'1'); -#2333=DOCUMENTATION_LAYER_STRATUM('SOLDER_MASK_1',$,#14,#28,'',$,*); -#2334=ASSEMBLY_COMPONENT_USAGE('SOLDER_MASK_1','interconnect module stratum assembly relationship', - $,#34,#2333,'SOLDER_MASK_1'); -#2335=DOCUMENTATION_LAYER_STRATUM('SILKSCREEN_1',$,#14,#28,'',$,*); -#2336=ASSEMBLY_COMPONENT_USAGE('SILKSCREEN_1','interconnect module stratum assembly relationship', - $,#34,#2335,'SILKSCREEN_1'); -#2337=DOCUMENTATION_LAYER_STRATUM('PASTE_MASK_1',$,#14,#28,'',$,*); -#2338=ASSEMBLY_COMPONENT_USAGE('PASTE_MASK_1','interconnect module stratum assembly relationship', - $,#34,#2337,'PASTE_MASK_1'); -#2339=DOCUMENTATION_LAYER_STRATUM('GLUE_MASK_1',$,#14,#28,'',$,*); -#2340=ASSEMBLY_COMPONENT_USAGE('GLUE_MASK_1','interconnect module stratum assembly relationship', - $,#34,#2339,'GLUE_MASK_1'); -#2341=PRODUCT('Max allowed track length in stratum 0.0mm','requirement',$,(#21090)); -#2342=PRODUCT_DEFINITION_FORMATION('1',$,#2341); -#2343=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#2342,#63); -#2344=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2345=PRODUCT('Min allowed track length in stratum 0.0mm','requirement',$,(#21090)); -#2346=PRODUCT_DEFINITION_FORMATION('1',$,#2345); -#2347=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#2346,#63); -#2348=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2349=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2350=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2351=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#32,#21514); -#2352=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#33,#21515); -#2353=SHAPE_ASPECT('Outline where routing can be performed in','vlnfse',#15,.F.); -#2354=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#2356),#2355); -#2355=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2356=CSG_SOLID_2D('',#2357); -#2357=POLYGONAL_AREA('',(#2358,#2359,#2360,#2361)); -#2358=CARTESIAN_POINT('',(0.2,7.34)); -#2359=CARTESIAN_POINT('',(6.4,7.34)); -#2360=CARTESIAN_POINT('',(6.4,7.7)); -#2361=CARTESIAN_POINT('',(0.2,7.7)); -#2362=REPRESENTATION('tolerance',(#2363),#2364); -#2363=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.062),#71)REPRESENTATION_ITEM('thickness for thermal analysis')); -#2364=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2365=APPLIED_DOCUMENT_REFERENCE(#21497,'',(#2363)); -#2366=PASSAGE_TECHNOLOGY('0.053 inches','default unsupported passage definition', - '',$,*); -#2367=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.053),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#2368=REPRESENTATION('maximum tolerance',(#2367),#2369); -#2369=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2370=PRODUCT('PCBSEED-drill-0','template',$,(#22901)); -#2371=PRODUCT_DEFINITION_FORMATION('1',$,#2370); -#2372=UNSUPPORTED_PASSAGE_TEMPLATE('1',$,#2371,#28,'',$,*); -#2373=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2375),#2374); -#2374=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2375=CSG_PRIMITIVE_SOLID_2D('',#2377); -#2376=CARTESIAN_POINT('',(0.0,0.0)); -#2377=CIRCULAR_AREA('',#2376,0.0265); -#2378=PLATED_PASSAGE('PCBSEED-drill-0','unknown role plated passage',#2371,#28,'PCBSEED-drill-0', - 'definition usage',$,#2372,*,'',$,*); -#2379=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PCBSEED-drill-0','',$,#34,#2372, - 'PCBSEED-drill-0','',$,#2378,*); -#2380=DIRECTION('',(1.0,0.0)); -#2381=DIRECTION('',(-0.0,1.0)); -#2382=CARTESIAN_POINT('',(507999.99999999994,1015999.9999999999)); -#2383=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#2380,#2381,#2382,1.0); -#2384=COMPONENT_2D_LOCATION(*,#2385,'component 2d location',$,#2373,#36,#2383); -#2385=PRODUCT_DEFINITION_SHAPE('',$,#2379); -#2386=PRODUCT('PCBSEED-drill-1','template',$,(#22901)); -#2387=PRODUCT_DEFINITION_FORMATION('1',$,#2386); -#2388=UNSUPPORTED_PASSAGE_TEMPLATE('1',$,#2387,#28,'',$,*); -#2389=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2391),#2390); -#2390=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2391=CSG_PRIMITIVE_SOLID_2D('',#2393); -#2392=CARTESIAN_POINT('',(0.0,0.0)); -#2393=CIRCULAR_AREA('',#2392,0.0265); -#2394=PLATED_PASSAGE('PCBSEED-drill-1','unknown role plated passage',#2387,#28,'PCBSEED-drill-1', - 'definition usage',$,#2388,*,'',$,*); -#2395=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PCBSEED-drill-1','',$,#34,#2388, - 'PCBSEED-drill-1','',$,#2394,*); -#2396=DIRECTION('',(1.0,0.0)); -#2397=DIRECTION('',(-0.0,1.0)); -#2398=CARTESIAN_POINT('',(1.6255999999999998E7,1015999.9999999999)); -#2399=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#2396,#2397,#2398,1.0); -#2400=COMPONENT_2D_LOCATION(*,#2401,'component 2d location',$,#2389,#36,#2399); -#2401=PRODUCT_DEFINITION_SHAPE('',$,#2395); -#2402=PRODUCT('TJUNCTIONS_ALLOWED','requirement',$,(#21090)); -#2403=PRODUCT_DEFINITION_FORMATION('1',$,#2402); -#2404=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#2403,#63); -#2405=DESCRIPTIVE_REPRESENTATION_ITEM('TJUNCTIONS_ALLOWED','true'); -#2406=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2407=INTER_STRATUM_FEATURE_TEMPLATE('id',$,#2411,#28,'',$,*); -#2408=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2460),#2409); -#2409=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2410=PASSAGE_TECHNOLOGY('technology for outline',$,'',$,*); -#2411=PRODUCT_DEFINITION_FORMATION('1',$,#2412); -#2412=PRODUCT('Outline of board','template',$,(#22901)); -#2413=INTERCONNECT_MODULE_EDGE('Outline of board',$,#2411,#28,'Outline of board', - 'definition usage',$,#2407,*,'',$,*); -#2414=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('Outline of board','',$,#34,#2407, - 'Outline of board','',$,#2413,*); -#2415=DIRECTION('',(1.0,0.0)); -#2416=DIRECTION('',(-0.0,1.0)); -#2417=CARTESIAN_POINT('',(0.0,0.0)); -#2418=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#2415,#2416,#2417,1.0); -#2419=COMPONENT_2D_LOCATION(*,#2420,'component 2d location',$,#2408,#36,#2418); -#2420=PRODUCT_DEFINITION_SHAPE('',$,#2414); -#2421=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#31,#21516); -#2422=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17715,#2423,'',$,#31,#25,*); -#2423=AXIS2_PLACEMENT_2D('',#2424,$); -#2424=CARTESIAN_POINT('',(0.0,0.0)); -#2425=SHAPE_ASPECT('outline','part generic feature',#39,.T.); -#2426=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17715,#2427,'',$,#2425,#41,*); -#2427=AXIS2_PLACEMENT_2D('',#2428,$); -#2428=CARTESIAN_POINT('',(0.0,0.0)); -#2429=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - $,#2425,#57); -#2430=COMPOSITE_CURVE('',(#2437,#2445,#2452,#2458),.F.); -#2431=CARTESIAN_POINT('',(0.2,7.34)); -#2432=CARTESIAN_POINT('',(0.0,7.14)); -#2433=CARTESIAN_POINT('',(-7.294686043936294E-5,7.340072946860439)); -#2434=AXIS2_PLACEMENT_2D('',#2433,$); -#2435=CIRCLE('',#2434,0.20007296015869971); -#2436=TRIMMED_CURVE('',#2435,(#2431),(#2432),.F.,.CARTESIAN.); -#2437=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2436); -#2438=POLYLINE('',(#2439,#2440,#2441,#2442,#2443,#2444)); -#2439=CARTESIAN_POINT('',(0.0,7.14)); -#2440=CARTESIAN_POINT('',(0.0,0.19)); -#2441=CARTESIAN_POINT('',(0.19,0.0)); -#2442=CARTESIAN_POINT('',(6.41,0.0)); -#2443=CARTESIAN_POINT('',(6.6,0.19)); -#2444=CARTESIAN_POINT('',(6.6,7.14)); -#2445=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2438); -#2446=CARTESIAN_POINT('',(6.6,7.14)); -#2447=CARTESIAN_POINT('',(6.4,7.34)); -#2448=CARTESIAN_POINT('',(6.600072946872732,7.3400729468727315)); -#2449=AXIS2_PLACEMENT_2D('',#2448,$); -#2450=CIRCLE('',#2449,0.2000729601709962); -#2451=TRIMMED_CURVE('',#2450,(#2446),(#2447),.F.,.CARTESIAN.); -#2452=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2451); -#2453=POLYLINE('',(#2454,#2455,#2456,#2457)); -#2454=CARTESIAN_POINT('',(6.4,7.34)); -#2455=CARTESIAN_POINT('',(6.4,7.7)); -#2456=CARTESIAN_POINT('',(0.2,7.7)); -#2457=CARTESIAN_POINT('',(0.2,7.34)); -#2458=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2453); -#2459=AREA_WITH_OUTER_BOUNDARY('',#2430,.T.); -#2460=CSG_PRIMITIVE_SOLID_2D('',#2459); -#2461=PRODUCT('solid fill area template','template',$,(#22901)); -#2462=PRODUCT_DEFINITION_FORMATION('1',$,#2461); -#2463=CLOSED_CURVE_STYLE_PARAMETERS('',(#13542,#13543,#2464),#13541); -#2464=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 1.0),#17)REPRESENTATION_ITEM('curve width')); -#2465=(LENGTH_MEASURE_WITH_UNIT()MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19) - UNCERTAINTY_MEASURE_WITH_UNIT('',$)); -#2466=FILL_AREA_TEMPLATE('1',$,#2462,#28,'',$,*); -#2467=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for GLUE_MASK_1',$,#2462,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for GLUE_MASK_1','definition usage',$, - #2466,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for GLUE_MASK_1', - $,#2339,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#2468=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for GLUE_MASK_1','',$,#34, - #2466,'base for GLUE_MASK_1','',$,#2467,*); -#2469=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#2470,#2472),#35); -#2470=AXIS2_PLACEMENT_2D('origin',#2471,$); -#2471=CARTESIAN_POINT('',(0.0,0.0)); -#2472=CSG_PRIMITIVE_SOLID_2D('',#2502); -#2473=COMPOSITE_CURVE('',(#2480,#2488,#2495,#2501),.F.); -#2474=CARTESIAN_POINT('',(507999.99999999994,1.8643599999999996E7)); -#2475=CARTESIAN_POINT('',(0.0,1.8135599999999996E7)); -#2476=CARTESIAN_POINT('',(-185.2850255157391,1.864378528502551E7)); -#2477=AXIS2_PLACEMENT_2D('',#2476,$); -#2478=CIRCLE('',#2477,508185.318803097); -#2479=TRIMMED_CURVE('',#2478,(#2474),(#2475),.F.,.CARTESIAN.); -#2480=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2479); -#2481=POLYLINE('',(#2482,#2483,#2484,#2485,#2486,#2487)); -#2482=CARTESIAN_POINT('',(0.0,1.8135599999999996E7)); -#2483=CARTESIAN_POINT('',(0.0,482599.99999999994)); -#2484=CARTESIAN_POINT('',(482599.99999999994,0.0)); -#2485=CARTESIAN_POINT('',(1.6281399999999998E7,0.0)); -#2486=CARTESIAN_POINT('',(1.6763999999999996E7,482599.99999999994)); -#2487=CARTESIAN_POINT('',(1.6763999999999996E7,1.8135599999999996E7)); -#2488=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2481); -#2489=CARTESIAN_POINT('',(1.6763999999999996E7,1.8135599999999996E7)); -#2490=CARTESIAN_POINT('',(1.6255999999999998E7,1.8643599999999996E7)); -#2491=CARTESIAN_POINT('',(1.6764185285056734E7,1.8643785285056733E7)); -#2492=AXIS2_PLACEMENT_2D('',#2491,$); -#2493=CIRCLE('',#2492,508185.3188343301); -#2494=TRIMMED_CURVE('',#2493,(#2489),(#2490),.F.,.CARTESIAN.); -#2495=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2494); -#2496=POLYLINE('',(#2497,#2498,#2499,#2500)); -#2497=CARTESIAN_POINT('',(1.6255999999999998E7,1.8643599999999996E7)); -#2498=CARTESIAN_POINT('',(1.6255999999999998E7,1.9557999999999996E7)); -#2499=CARTESIAN_POINT('',(507999.99999999994,1.9557999999999996E7)); -#2500=CARTESIAN_POINT('',(507999.99999999994,1.8643599999999996E7)); -#2501=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2496); -#2502=AREA_WITH_OUTER_BOUNDARY('',#2473,.T.); -#2503=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for SOLDER_MASK_1',$,#2462,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for SOLDER_MASK_1','definition usage', - $,#2466,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for SOLDER_MASK_1', - $,#2333,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#2504=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_1','',$, - #34,#2466,'base for SOLDER_MASK_1','',$,#2503,*); -#2505=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for SOLDER_MASK_2',$,#2462,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for SOLDER_MASK_2','definition usage', - $,#2466,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for SOLDER_MASK_2', - $,#2325,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#2506=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_2','',$, - #34,#2466,'base for SOLDER_MASK_2','',$,#2505,*); -#2507=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for PASTE_MASK_2',$,#2462,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for PASTE_MASK_2','definition usage', - $,#2466,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for PASTE_MASK_2', - $,#2319,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#2508=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_2','',$,#34, - #2466,'base for PASTE_MASK_2','',$,#2507,*); -#2509=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for PASTE_MASK_1',$,#2462,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for PASTE_MASK_1','definition usage', - $,#2466,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for PASTE_MASK_1', - $,#2337,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#2510=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_1','',$,#34, - #2466,'base for PASTE_MASK_1','',$,#2509,*); -#2511=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for GLUE_MASK_2',$,#2462,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for GLUE_MASK_2','definition usage',$, - #2466,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for GLUE_MASK_2', - $,#2321,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#2512=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for GLUE_MASK_2','',$,#34, - #2466,'base for GLUE_MASK_2','',$,#2511,*); -#2513=PRODUCT('PAD_27_2$13_1$13-padstack','template',$,(#22901)); -#2514=PRODUCT_DEFINITION_FORMATION('1',$,#2513); -#2515=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#2514,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2516=SHAPE_REPRESENTATION('ppsm',(#26,#2537,#2546,#2558,#2570,#2574,#2578,#2582, - #2586,#2590,#2594,#2607,#2620,#2633,#2637,#2641,#2645,#2649,#2653,#2657,#2661, - #2665,#2669),#2517); -#2517=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2518=PASSAGE_TECHNOLOGY('0.021 inches','default component termination passage definition', - '',$,*); -#2519=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.021),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#2520=REPRESENTATION('maximum tolerance',(#2519),#2521); -#2521=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2522=REPRESENTATION('minimum tolerance',(#2523),#2210); -#2523=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#19)QUALIFIED_REPRESENTATION_ITEM((#2524))REPRESENTATION_ITEM('')); -#2524=TYPE_QUALIFIER('minimum'); -#2525=(MATERIAL_DESIGNATION('copper',(#2518,#2680,#2838,#2996,#3462,#3620,#3932, - #4093))MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION() - PASSAGE_DEPOSITION_MATERIAL_IDENTIFICATION()); -#2526=PRODUCT('PAD_27_2$13_1$13-drill','template',$,(#22901)); -#2527=PRODUCT_DEFINITION_FORMATION('1',$,#2526); -#2528=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#2527,#28,'',$,*); -#2529=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #2528,.T.); -#2530=SHAPE_ASPECT('inside','component termination passage template join terminal', - #2528,.T.); -#2531=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2533),#2532); -#2532=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2533=CSG_PRIMITIVE_SOLID_2D('',#2535); -#2534=CARTESIAN_POINT('',(0.0,0.0)); -#2535=CIRCULAR_AREA('',#2534,0.0105); -#2536=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#2515,#2528,'drill'); -#2537=MAPPED_ITEM('tlistt',#17735,#2538); -#2538=AXIS2_PLACEMENT_2D('',#2539,$); -#2539=CARTESIAN_POINT('',(0.0,0.0)); -#2540=PRODUCT('PAD_27_2$13_1$13-SOLDER_MASK_1','template',$,(#22901)); -#2541=PRODUCT_DEFINITION_FORMATION('1',$,#2540); -#2542=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2541,#28,'',$,*); -#2543=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2549),#2544); -#2544=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2545=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#2515, - #2542,'SOLDER_MASK_1','',$,#2545); -#2546=MAPPED_ITEM('tlistt',#22934,#2547); -#2547=AXIS2_PLACEMENT_2D('',#2548,$); -#2548=CARTESIAN_POINT('',(0.0,0.0)); -#2549=CSG_PRIMITIVE_SOLID_2D('',#2551); -#2550=CARTESIAN_POINT('',(0.0,0.0)); -#2551=CIRCULAR_AREA('',#2550,0.05); -#2552=PRODUCT('PAD_27_2$13_1$13-SOLDER_MASK_2','template',$,(#22901)); -#2553=PRODUCT_DEFINITION_FORMATION('1',$,#2552); -#2554=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2553,#28,'',$,*); -#2555=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2561),#2556); -#2556=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2557=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#2515, - #2554,'SOLDER_MASK_2','',$,#2557); -#2558=MAPPED_ITEM('tlistt',#22938,#2559); -#2559=AXIS2_PLACEMENT_2D('',#2560,$); -#2560=CARTESIAN_POINT('',(0.0,0.0)); -#2561=CSG_PRIMITIVE_SOLID_2D('',#2563); -#2562=CARTESIAN_POINT('',(0.0,0.0)); -#2563=CIRCULAR_AREA('',#2562,0.031); -#2564=PRODUCT('PAD_27_2$13_1$13-POWER','template',$,(#22901)); -#2565=PRODUCT_DEFINITION_FORMATION('1',$,#2564); -#2566=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#2565,#28,'',$,*); -#2567=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2597),#2568); -#2568=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2569=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#2515,#2566, - 'POWER_1','',$,#2569); -#2570=MAPPED_ITEM('tlistt',#22942,#2571); -#2571=AXIS2_PLACEMENT_2D('',#2572,$); -#2572=CARTESIAN_POINT('',(0.0,0.0)); -#2573=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#2515,#2566, - 'POWER_2','',$,#2573); -#2574=MAPPED_ITEM('tlistt',#22942,#2575); -#2575=AXIS2_PLACEMENT_2D('',#2576,$); -#2576=CARTESIAN_POINT('',(0.0,0.0)); -#2577=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#2515,#2566, - 'POWER_3','',$,#2577); -#2578=MAPPED_ITEM('tlistt',#22942,#2579); -#2579=AXIS2_PLACEMENT_2D('',#2580,$); -#2580=CARTESIAN_POINT('',(0.0,0.0)); -#2581=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#2515,#2566, - 'POWER_4','',$,#2581); -#2582=MAPPED_ITEM('tlistt',#22942,#2583); -#2583=AXIS2_PLACEMENT_2D('',#2584,$); -#2584=CARTESIAN_POINT('',(0.0,0.0)); -#2585=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#2515,#2566, - 'POWER_5','',$,#2585); -#2586=MAPPED_ITEM('tlistt',#22942,#2587); -#2587=AXIS2_PLACEMENT_2D('',#2588,$); -#2588=CARTESIAN_POINT('',(0.0,0.0)); -#2589=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#2515,#2566, - 'POWER_6','',$,#2589); -#2590=MAPPED_ITEM('tlistt',#22942,#2591); -#2591=AXIS2_PLACEMENT_2D('',#2592,$); -#2592=CARTESIAN_POINT('',(0.0,0.0)); -#2593=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#2515,#2566, - 'POWER_7','',$,#2593); -#2594=MAPPED_ITEM('tlistt',#22942,#2595); -#2595=AXIS2_PLACEMENT_2D('',#2596,$); -#2596=CARTESIAN_POINT('',(0.0,0.0)); -#2597=CSG_PRIMITIVE_SOLID_2D('',#2599); -#2598=CARTESIAN_POINT('',(0.0,0.0)); -#2599=CIRCULAR_AREA('',#2598,0.05); -#2600=PRODUCT('PAD_27_2$13_1$13-SIGNAL_1','template',$,(#22901)); -#2601=PRODUCT_DEFINITION_FORMATION('1',$,#2600); -#2602=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2601,#28,'',$,*); -#2603=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2610),#2604); -#2604=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2605=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2602,.T.); -#2606=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#2515,#2602, - 'SIGNAL_1','',$,#2606); -#2607=MAPPED_ITEM('tlistt',#22964,#2608); -#2608=AXIS2_PLACEMENT_2D('',#2609,$); -#2609=CARTESIAN_POINT('',(0.0,0.0)); -#2610=CSG_PRIMITIVE_SOLID_2D('',#2612); -#2611=CARTESIAN_POINT('',(0.0,0.0)); -#2612=CIRCULAR_AREA('',#2611,0.04); -#2613=PRODUCT('PAD_27_2$13_1$13-SIGNAL_2','template',$,(#22901)); -#2614=PRODUCT_DEFINITION_FORMATION('1',$,#2613); -#2615=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2614,#28,'',$,*); -#2616=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2623),#2617); -#2617=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2618=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2615,.T.); -#2619=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#2515,#2615, - 'SIGNAL_2','',$,#2619); -#2620=MAPPED_ITEM('tlistt',#22968,#2621); -#2621=AXIS2_PLACEMENT_2D('',#2622,$); -#2622=CARTESIAN_POINT('',(0.0,0.0)); -#2623=CSG_PRIMITIVE_SOLID_2D('',#2625); -#2624=CARTESIAN_POINT('',(0.0,0.0)); -#2625=CIRCULAR_AREA('',#2624,0.04); -#2626=PRODUCT('PAD_27_2$13_1$13-SIGNAL','template',$,(#22901)); -#2627=PRODUCT_DEFINITION_FORMATION('1',$,#2626); -#2628=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2627,#28,'',$,*); -#2629=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2672),#2630); -#2630=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2631=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2628,.T.); -#2632=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#2515,#2628, - 'SIGNAL_3','',$,#2632); -#2633=MAPPED_ITEM('tlistt',#22972,#2634); -#2634=AXIS2_PLACEMENT_2D('',#2635,$); -#2635=CARTESIAN_POINT('',(0.0,0.0)); -#2636=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#2515,#2628, - 'SIGNAL_4','',$,#2636); -#2637=MAPPED_ITEM('tlistt',#22972,#2638); -#2638=AXIS2_PLACEMENT_2D('',#2639,$); -#2639=CARTESIAN_POINT('',(0.0,0.0)); -#2640=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#2515,#2628, - 'SIGNAL_5','',$,#2640); -#2641=MAPPED_ITEM('tlistt',#22972,#2642); -#2642=AXIS2_PLACEMENT_2D('',#2643,$); -#2643=CARTESIAN_POINT('',(0.0,0.0)); -#2644=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#2515,#2628, - 'SIGNAL_6','',$,#2644); -#2645=MAPPED_ITEM('tlistt',#22972,#2646); -#2646=AXIS2_PLACEMENT_2D('',#2647,$); -#2647=CARTESIAN_POINT('',(0.0,0.0)); -#2648=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#2515,#2628, - 'SIGNAL_7','',$,#2648); -#2649=MAPPED_ITEM('tlistt',#22972,#2650); -#2650=AXIS2_PLACEMENT_2D('',#2651,$); -#2651=CARTESIAN_POINT('',(0.0,0.0)); -#2652=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#2515,#2628, - 'SIGNAL_8','',$,#2652); -#2653=MAPPED_ITEM('tlistt',#22972,#2654); -#2654=AXIS2_PLACEMENT_2D('',#2655,$); -#2655=CARTESIAN_POINT('',(0.0,0.0)); -#2656=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#2515,#2628, - 'SIGNAL_9','',$,#2656); -#2657=MAPPED_ITEM('tlistt',#22972,#2658); -#2658=AXIS2_PLACEMENT_2D('',#2659,$); -#2659=CARTESIAN_POINT('',(0.0,0.0)); -#2660=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#2515, - #2628,'SIGNAL_10','',$,#2660); -#2661=MAPPED_ITEM('tlistt',#22972,#2662); -#2662=AXIS2_PLACEMENT_2D('',#2663,$); -#2663=CARTESIAN_POINT('',(0.0,0.0)); -#2664=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#2515, - #2628,'SIGNAL_11','',$,#2664); -#2665=MAPPED_ITEM('tlistt',#22972,#2666); -#2666=AXIS2_PLACEMENT_2D('',#2667,$); -#2667=CARTESIAN_POINT('',(0.0,0.0)); -#2668=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#2515, - #2628,'SIGNAL_12','',$,#2668); -#2669=MAPPED_ITEM('tlistt',#22972,#2670); -#2670=AXIS2_PLACEMENT_2D('',#2671,$); -#2671=CARTESIAN_POINT('',(0.0,0.0)); -#2672=CSG_PRIMITIVE_SOLID_2D('',#2674); -#2673=CARTESIAN_POINT('',(0.0,0.0)); -#2674=CIRCULAR_AREA('',#2673,0.045); -#2675=PRODUCT('PAD_28_2$14_1$14-padstack','template',$,(#22901)); -#2676=PRODUCT_DEFINITION_FORMATION('1',$,#2675); -#2677=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#2676,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2678=SHAPE_REPRESENTATION('ppsm',(#26,#2695,#2704,#2716,#2728,#2732,#2736,#2740, - #2744,#2748,#2752,#2765,#2778,#2791,#2795,#2799,#2803,#2807,#2811,#2815,#2819, - #2823,#2827),#2679); -#2679=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2680=PASSAGE_TECHNOLOGY('0.015 inches','default component termination passage definition', - '',$,*); -#2681=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.015),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#2682=REPRESENTATION('maximum tolerance',(#2681),#2683); -#2683=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2684=PRODUCT('PAD_28_2$14_1$14-drill','template',$,(#22901)); -#2685=PRODUCT_DEFINITION_FORMATION('1',$,#2684); -#2686=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#2685,#28,'',$,*); -#2687=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #2686,.T.); -#2688=SHAPE_ASPECT('inside','component termination passage template join terminal', - #2686,.T.); -#2689=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2691),#2690); -#2690=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2691=CSG_PRIMITIVE_SOLID_2D('',#2693); -#2692=CARTESIAN_POINT('',(0.0,0.0)); -#2693=CIRCULAR_AREA('',#2692,0.0075); -#2694=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#2677,#2686,'drill'); -#2695=MAPPED_ITEM('tlistt',#17737,#2696); -#2696=AXIS2_PLACEMENT_2D('',#2697,$); -#2697=CARTESIAN_POINT('',(0.0,0.0)); -#2698=PRODUCT('PAD_28_2$14_1$14-SOLDER_MASK_1','template',$,(#22901)); -#2699=PRODUCT_DEFINITION_FORMATION('1',$,#2698); -#2700=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2699,#28,'',$,*); -#2701=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2707),#2702); -#2702=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2703=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#2677, - #2700,'SOLDER_MASK_1','',$,#2703); -#2704=MAPPED_ITEM('tlistt',#23006,#2705); -#2705=AXIS2_PLACEMENT_2D('',#2706,$); -#2706=CARTESIAN_POINT('',(0.0,0.0)); -#2707=CSG_PRIMITIVE_SOLID_2D('',#2709); -#2708=CARTESIAN_POINT('',(0.0,0.0)); -#2709=CIRCULAR_AREA('',#2708,0.041); -#2710=PRODUCT('PAD_28_2$14_1$14-SOLDER_MASK_2','template',$,(#22901)); -#2711=PRODUCT_DEFINITION_FORMATION('1',$,#2710); -#2712=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2711,#28,'',$,*); -#2713=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2719),#2714); -#2714=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2715=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#2677, - #2712,'SOLDER_MASK_2','',$,#2715); -#2716=MAPPED_ITEM('tlistt',#23010,#2717); -#2717=AXIS2_PLACEMENT_2D('',#2718,$); -#2718=CARTESIAN_POINT('',(0.0,0.0)); -#2719=CSG_PRIMITIVE_SOLID_2D('',#2721); -#2720=CARTESIAN_POINT('',(0.0,0.0)); -#2721=CIRCULAR_AREA('',#2720,0.0255); -#2722=PRODUCT('PAD_28_2$14_1$14-POWER','template',$,(#22901)); -#2723=PRODUCT_DEFINITION_FORMATION('1',$,#2722); -#2724=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#2723,#28,'',$,*); -#2725=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2755),#2726); -#2726=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2727=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#2677,#2724, - 'POWER_1','',$,#2727); -#2728=MAPPED_ITEM('tlistt',#23014,#2729); -#2729=AXIS2_PLACEMENT_2D('',#2730,$); -#2730=CARTESIAN_POINT('',(0.0,0.0)); -#2731=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#2677,#2724, - 'POWER_2','',$,#2731); -#2732=MAPPED_ITEM('tlistt',#23014,#2733); -#2733=AXIS2_PLACEMENT_2D('',#2734,$); -#2734=CARTESIAN_POINT('',(0.0,0.0)); -#2735=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#2677,#2724, - 'POWER_3','',$,#2735); -#2736=MAPPED_ITEM('tlistt',#23014,#2737); -#2737=AXIS2_PLACEMENT_2D('',#2738,$); -#2738=CARTESIAN_POINT('',(0.0,0.0)); -#2739=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#2677,#2724, - 'POWER_4','',$,#2739); -#2740=MAPPED_ITEM('tlistt',#23014,#2741); -#2741=AXIS2_PLACEMENT_2D('',#2742,$); -#2742=CARTESIAN_POINT('',(0.0,0.0)); -#2743=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#2677,#2724, - 'POWER_5','',$,#2743); -#2744=MAPPED_ITEM('tlistt',#23014,#2745); -#2745=AXIS2_PLACEMENT_2D('',#2746,$); -#2746=CARTESIAN_POINT('',(0.0,0.0)); -#2747=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#2677,#2724, - 'POWER_6','',$,#2747); -#2748=MAPPED_ITEM('tlistt',#23014,#2749); -#2749=AXIS2_PLACEMENT_2D('',#2750,$); -#2750=CARTESIAN_POINT('',(0.0,0.0)); -#2751=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#2677,#2724, - 'POWER_7','',$,#2751); -#2752=MAPPED_ITEM('tlistt',#23014,#2753); -#2753=AXIS2_PLACEMENT_2D('',#2754,$); -#2754=CARTESIAN_POINT('',(0.0,0.0)); -#2755=CSG_PRIMITIVE_SOLID_2D('',#2757); -#2756=CARTESIAN_POINT('',(0.0,0.0)); -#2757=CIRCULAR_AREA('',#2756,0.041); -#2758=PRODUCT('PAD_28_2$14_1$14-SIGNAL_1','template',$,(#22901)); -#2759=PRODUCT_DEFINITION_FORMATION('1',$,#2758); -#2760=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2759,#28,'',$,*); -#2761=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2768),#2762); -#2762=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2763=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2760,.T.); -#2764=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#2677,#2760, - 'SIGNAL_1','',$,#2764); -#2765=MAPPED_ITEM('tlistt',#23036,#2766); -#2766=AXIS2_PLACEMENT_2D('',#2767,$); -#2767=CARTESIAN_POINT('',(0.0,0.0)); -#2768=CSG_PRIMITIVE_SOLID_2D('',#2770); -#2769=CARTESIAN_POINT('',(0.0,0.0)); -#2770=CIRCULAR_AREA('',#2769,0.031); -#2771=PRODUCT('PAD_28_2$14_1$14-SIGNAL_2','template',$,(#22901)); -#2772=PRODUCT_DEFINITION_FORMATION('1',$,#2771); -#2773=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2772,#28,'',$,*); -#2774=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2781),#2775); -#2775=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2776=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2773,.T.); -#2777=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#2677,#2773, - 'SIGNAL_2','',$,#2777); -#2778=MAPPED_ITEM('tlistt',#23040,#2779); -#2779=AXIS2_PLACEMENT_2D('',#2780,$); -#2780=CARTESIAN_POINT('',(0.0,0.0)); -#2781=CSG_PRIMITIVE_SOLID_2D('',#2783); -#2782=CARTESIAN_POINT('',(0.0,0.0)); -#2783=CIRCULAR_AREA('',#2782,0.031); -#2784=PRODUCT('PAD_28_2$14_1$14-SIGNAL','template',$,(#22901)); -#2785=PRODUCT_DEFINITION_FORMATION('1',$,#2784); -#2786=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2785,#28,'',$,*); -#2787=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2830),#2788); -#2788=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2789=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2786,.T.); -#2790=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#2677,#2786, - 'SIGNAL_3','',$,#2790); -#2791=MAPPED_ITEM('tlistt',#23044,#2792); -#2792=AXIS2_PLACEMENT_2D('',#2793,$); -#2793=CARTESIAN_POINT('',(0.0,0.0)); -#2794=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#2677,#2786, - 'SIGNAL_4','',$,#2794); -#2795=MAPPED_ITEM('tlistt',#23044,#2796); -#2796=AXIS2_PLACEMENT_2D('',#2797,$); -#2797=CARTESIAN_POINT('',(0.0,0.0)); -#2798=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#2677,#2786, - 'SIGNAL_5','',$,#2798); -#2799=MAPPED_ITEM('tlistt',#23044,#2800); -#2800=AXIS2_PLACEMENT_2D('',#2801,$); -#2801=CARTESIAN_POINT('',(0.0,0.0)); -#2802=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#2677,#2786, - 'SIGNAL_6','',$,#2802); -#2803=MAPPED_ITEM('tlistt',#23044,#2804); -#2804=AXIS2_PLACEMENT_2D('',#2805,$); -#2805=CARTESIAN_POINT('',(0.0,0.0)); -#2806=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#2677,#2786, - 'SIGNAL_7','',$,#2806); -#2807=MAPPED_ITEM('tlistt',#23044,#2808); -#2808=AXIS2_PLACEMENT_2D('',#2809,$); -#2809=CARTESIAN_POINT('',(0.0,0.0)); -#2810=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#2677,#2786, - 'SIGNAL_8','',$,#2810); -#2811=MAPPED_ITEM('tlistt',#23044,#2812); -#2812=AXIS2_PLACEMENT_2D('',#2813,$); -#2813=CARTESIAN_POINT('',(0.0,0.0)); -#2814=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#2677,#2786, - 'SIGNAL_9','',$,#2814); -#2815=MAPPED_ITEM('tlistt',#23044,#2816); -#2816=AXIS2_PLACEMENT_2D('',#2817,$); -#2817=CARTESIAN_POINT('',(0.0,0.0)); -#2818=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#2677, - #2786,'SIGNAL_10','',$,#2818); -#2819=MAPPED_ITEM('tlistt',#23044,#2820); -#2820=AXIS2_PLACEMENT_2D('',#2821,$); -#2821=CARTESIAN_POINT('',(0.0,0.0)); -#2822=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#2677, - #2786,'SIGNAL_11','',$,#2822); -#2823=MAPPED_ITEM('tlistt',#23044,#2824); -#2824=AXIS2_PLACEMENT_2D('',#2825,$); -#2825=CARTESIAN_POINT('',(0.0,0.0)); -#2826=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#2677, - #2786,'SIGNAL_12','',$,#2826); -#2827=MAPPED_ITEM('tlistt',#23044,#2828); -#2828=AXIS2_PLACEMENT_2D('',#2829,$); -#2829=CARTESIAN_POINT('',(0.0,0.0)); -#2830=CSG_PRIMITIVE_SOLID_2D('',#2832); -#2831=CARTESIAN_POINT('',(0.0,0.0)); -#2832=CIRCULAR_AREA('',#2831,0.036); -#2833=PRODUCT('PAD_24_2$10_1$10-padstack','template',$,(#22901)); -#2834=PRODUCT_DEFINITION_FORMATION('1',$,#2833); -#2835=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#2834,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2836=SHAPE_REPRESENTATION('ppsm',(#26,#2853,#2862,#2874,#2886,#2890,#2894,#2898, - #2902,#2906,#2910,#2923,#2936,#2949,#2953,#2957,#2961,#2965,#2969,#2973,#2977, - #2981,#2985),#2837); -#2837=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2838=PASSAGE_TECHNOLOGY('0.025 inches','default component termination passage definition', - '',$,*); -#2839=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.025),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#2840=REPRESENTATION('maximum tolerance',(#2839),#2841); -#2841=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2842=PRODUCT('PAD_24_2$10_1$10-drill','template',$,(#22901)); -#2843=PRODUCT_DEFINITION_FORMATION('1',$,#2842); -#2844=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#2843,#28,'',$,*); -#2845=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #2844,.T.); -#2846=SHAPE_ASPECT('inside','component termination passage template join terminal', - #2844,.T.); -#2847=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2849),#2848); -#2848=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2849=CSG_PRIMITIVE_SOLID_2D('',#2851); -#2850=CARTESIAN_POINT('',(0.0,0.0)); -#2851=CIRCULAR_AREA('',#2850,0.0125); -#2852=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#2835,#2844,'drill'); -#2853=MAPPED_ITEM('tlistt',#17739,#2854); -#2854=AXIS2_PLACEMENT_2D('',#2855,$); -#2855=CARTESIAN_POINT('',(0.0,0.0)); -#2856=PRODUCT('PAD_24_2$10_1$10-SOLDER_MASK_1','template',$,(#22901)); -#2857=PRODUCT_DEFINITION_FORMATION('1',$,#2856); -#2858=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2857,#28,'',$,*); -#2859=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2865),#2860); -#2860=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2861=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#2835, - #2858,'SOLDER_MASK_1','',$,#2861); -#2862=MAPPED_ITEM('tlistt',#23078,#2863); -#2863=AXIS2_PLACEMENT_2D('',#2864,$); -#2864=CARTESIAN_POINT('',(0.0,0.0)); -#2865=CSG_PRIMITIVE_SOLID_2D('',#2867); -#2866=CARTESIAN_POINT('',(0.0,0.0)); -#2867=CIRCULAR_AREA('',#2866,0.0525); -#2868=PRODUCT('PAD_24_2$10_1$10-SOLDER_MASK_2','template',$,(#22901)); -#2869=PRODUCT_DEFINITION_FORMATION('1',$,#2868); -#2870=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2869,#28,'',$,*); -#2871=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2877),#2872); -#2872=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2873=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#2835, - #2870,'SOLDER_MASK_2','',$,#2873); -#2874=MAPPED_ITEM('tlistt',#23082,#2875); -#2875=AXIS2_PLACEMENT_2D('',#2876,$); -#2876=CARTESIAN_POINT('',(0.0,0.0)); -#2877=CSG_PRIMITIVE_SOLID_2D('',#2879); -#2878=CARTESIAN_POINT('',(0.0,0.0)); -#2879=CIRCULAR_AREA('',#2878,0.035); -#2880=PRODUCT('PAD_24_2$10_1$10-POWER','template',$,(#22901)); -#2881=PRODUCT_DEFINITION_FORMATION('1',$,#2880); -#2882=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#2881,#28,'',$,*); -#2883=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2913),#2884); -#2884=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2885=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#2835,#2882, - 'POWER_1','',$,#2885); -#2886=MAPPED_ITEM('tlistt',#23086,#2887); -#2887=AXIS2_PLACEMENT_2D('',#2888,$); -#2888=CARTESIAN_POINT('',(0.0,0.0)); -#2889=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#2835,#2882, - 'POWER_2','',$,#2889); -#2890=MAPPED_ITEM('tlistt',#23086,#2891); -#2891=AXIS2_PLACEMENT_2D('',#2892,$); -#2892=CARTESIAN_POINT('',(0.0,0.0)); -#2893=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#2835,#2882, - 'POWER_3','',$,#2893); -#2894=MAPPED_ITEM('tlistt',#23086,#2895); -#2895=AXIS2_PLACEMENT_2D('',#2896,$); -#2896=CARTESIAN_POINT('',(0.0,0.0)); -#2897=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#2835,#2882, - 'POWER_4','',$,#2897); -#2898=MAPPED_ITEM('tlistt',#23086,#2899); -#2899=AXIS2_PLACEMENT_2D('',#2900,$); -#2900=CARTESIAN_POINT('',(0.0,0.0)); -#2901=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#2835,#2882, - 'POWER_5','',$,#2901); -#2902=MAPPED_ITEM('tlistt',#23086,#2903); -#2903=AXIS2_PLACEMENT_2D('',#2904,$); -#2904=CARTESIAN_POINT('',(0.0,0.0)); -#2905=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#2835,#2882, - 'POWER_6','',$,#2905); -#2906=MAPPED_ITEM('tlistt',#23086,#2907); -#2907=AXIS2_PLACEMENT_2D('',#2908,$); -#2908=CARTESIAN_POINT('',(0.0,0.0)); -#2909=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#2835,#2882, - 'POWER_7','',$,#2909); -#2910=MAPPED_ITEM('tlistt',#23086,#2911); -#2911=AXIS2_PLACEMENT_2D('',#2912,$); -#2912=CARTESIAN_POINT('',(0.0,0.0)); -#2913=CSG_PRIMITIVE_SOLID_2D('',#2915); -#2914=CARTESIAN_POINT('',(0.0,0.0)); -#2915=CIRCULAR_AREA('',#2914,0.0525); -#2916=PRODUCT('PAD_24_2$10_1$10-SIGNAL_1','template',$,(#22901)); -#2917=PRODUCT_DEFINITION_FORMATION('1',$,#2916); -#2918=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2917,#28,'',$,*); -#2919=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2926),#2920); -#2920=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2921=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2918,.T.); -#2922=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#2835,#2918, - 'SIGNAL_1','',$,#2922); -#2923=MAPPED_ITEM('tlistt',#23108,#2924); -#2924=AXIS2_PLACEMENT_2D('',#2925,$); -#2925=CARTESIAN_POINT('',(0.0,0.0)); -#2926=CSG_PRIMITIVE_SOLID_2D('',#2928); -#2927=CARTESIAN_POINT('',(0.0,0.0)); -#2928=CIRCULAR_AREA('',#2927,0.0425); -#2929=PRODUCT('PAD_24_2$10_1$10-SIGNAL_2','template',$,(#22901)); -#2930=PRODUCT_DEFINITION_FORMATION('1',$,#2929); -#2931=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2930,#28,'',$,*); -#2932=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2939),#2933); -#2933=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2934=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2931,.T.); -#2935=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#2835,#2931, - 'SIGNAL_2','',$,#2935); -#2936=MAPPED_ITEM('tlistt',#23112,#2937); -#2937=AXIS2_PLACEMENT_2D('',#2938,$); -#2938=CARTESIAN_POINT('',(0.0,0.0)); -#2939=CSG_PRIMITIVE_SOLID_2D('',#2941); -#2940=CARTESIAN_POINT('',(0.0,0.0)); -#2941=CIRCULAR_AREA('',#2940,0.0425); -#2942=PRODUCT('PAD_24_2$10_1$10-SIGNAL','template',$,(#22901)); -#2943=PRODUCT_DEFINITION_FORMATION('1',$,#2942); -#2944=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2943,#28,'',$,*); -#2945=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2988),#2946); -#2946=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2947=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2944,.T.); -#2948=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#2835,#2944, - 'SIGNAL_3','',$,#2948); -#2949=MAPPED_ITEM('tlistt',#23116,#2950); -#2950=AXIS2_PLACEMENT_2D('',#2951,$); -#2951=CARTESIAN_POINT('',(0.0,0.0)); -#2952=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#2835,#2944, - 'SIGNAL_4','',$,#2952); -#2953=MAPPED_ITEM('tlistt',#23116,#2954); -#2954=AXIS2_PLACEMENT_2D('',#2955,$); -#2955=CARTESIAN_POINT('',(0.0,0.0)); -#2956=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#2835,#2944, - 'SIGNAL_5','',$,#2956); -#2957=MAPPED_ITEM('tlistt',#23116,#2958); -#2958=AXIS2_PLACEMENT_2D('',#2959,$); -#2959=CARTESIAN_POINT('',(0.0,0.0)); -#2960=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#2835,#2944, - 'SIGNAL_6','',$,#2960); -#2961=MAPPED_ITEM('tlistt',#23116,#2962); -#2962=AXIS2_PLACEMENT_2D('',#2963,$); -#2963=CARTESIAN_POINT('',(0.0,0.0)); -#2964=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#2835,#2944, - 'SIGNAL_7','',$,#2964); -#2965=MAPPED_ITEM('tlistt',#23116,#2966); -#2966=AXIS2_PLACEMENT_2D('',#2967,$); -#2967=CARTESIAN_POINT('',(0.0,0.0)); -#2968=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#2835,#2944, - 'SIGNAL_8','',$,#2968); -#2969=MAPPED_ITEM('tlistt',#23116,#2970); -#2970=AXIS2_PLACEMENT_2D('',#2971,$); -#2971=CARTESIAN_POINT('',(0.0,0.0)); -#2972=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#2835,#2944, - 'SIGNAL_9','',$,#2972); -#2973=MAPPED_ITEM('tlistt',#23116,#2974); -#2974=AXIS2_PLACEMENT_2D('',#2975,$); -#2975=CARTESIAN_POINT('',(0.0,0.0)); -#2976=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#2835, - #2944,'SIGNAL_10','',$,#2976); -#2977=MAPPED_ITEM('tlistt',#23116,#2978); -#2978=AXIS2_PLACEMENT_2D('',#2979,$); -#2979=CARTESIAN_POINT('',(0.0,0.0)); -#2980=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#2835, - #2944,'SIGNAL_11','',$,#2980); -#2981=MAPPED_ITEM('tlistt',#23116,#2982); -#2982=AXIS2_PLACEMENT_2D('',#2983,$); -#2983=CARTESIAN_POINT('',(0.0,0.0)); -#2984=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#2835, - #2944,'SIGNAL_12','',$,#2984); -#2985=MAPPED_ITEM('tlistt',#23116,#2986); -#2986=AXIS2_PLACEMENT_2D('',#2987,$); -#2987=CARTESIAN_POINT('',(0.0,0.0)); -#2988=CSG_PRIMITIVE_SOLID_2D('',#2990); -#2989=CARTESIAN_POINT('',(0.0,0.0)); -#2990=CIRCULAR_AREA('',#2989,0.0475); -#2991=PRODUCT('PAD_29_2$15_1$15-padstack','template',$,(#22901)); -#2992=PRODUCT_DEFINITION_FORMATION('1',$,#2991); -#2993=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#2992,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2994=SHAPE_REPRESENTATION('ppsm',(#26,#3011,#3020,#3032,#3044,#3048,#3052,#3056, - #3060,#3064,#3068,#3081,#3094,#3107,#3111,#3115,#3119,#3123,#3127,#3131,#3135, - #3139,#3143),#2995); -#2995=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2996=PASSAGE_TECHNOLOGY('0.017 inches','default component termination passage definition', - '',$,*); -#2997=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.017),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#2998=REPRESENTATION('maximum tolerance',(#2997),#2999); -#2999=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3000=PRODUCT('PAD_29_2$15_1$15-drill','template',$,(#22901)); -#3001=PRODUCT_DEFINITION_FORMATION('1',$,#3000); -#3002=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#3001,#28,'',$,*); -#3003=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #3002,.T.); -#3004=SHAPE_ASPECT('inside','component termination passage template join terminal', - #3002,.T.); -#3005=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3007),#3006); -#3006=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3007=CSG_PRIMITIVE_SOLID_2D('',#3009); -#3008=CARTESIAN_POINT('',(0.0,0.0)); -#3009=CIRCULAR_AREA('',#3008,0.0085); -#3010=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#2993,#3002,'drill'); -#3011=MAPPED_ITEM('tlistt',#17738,#3012); -#3012=AXIS2_PLACEMENT_2D('',#3013,$); -#3013=CARTESIAN_POINT('',(0.0,0.0)); -#3014=PRODUCT('PAD_29_2$15_1$15-SOLDER_MASK_1','template',$,(#22901)); -#3015=PRODUCT_DEFINITION_FORMATION('1',$,#3014); -#3016=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3015,#28,'',$,*); -#3017=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3023),#3018); -#3018=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3019=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#2993, - #3016,'SOLDER_MASK_1','',$,#3019); -#3020=MAPPED_ITEM('tlistt',#23150,#3021); -#3021=AXIS2_PLACEMENT_2D('',#3022,$); -#3022=CARTESIAN_POINT('',(0.0,0.0)); -#3023=CSG_PRIMITIVE_SOLID_2D('',#3025); -#3024=CARTESIAN_POINT('',(0.0,0.0)); -#3025=CIRCULAR_AREA('',#3024,0.0475); -#3026=PRODUCT('PAD_29_2$15_1$15-SOLDER_MASK_2','template',$,(#22901)); -#3027=PRODUCT_DEFINITION_FORMATION('1',$,#3026); -#3028=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3027,#28,'',$,*); -#3029=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3035),#3030); -#3030=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3031=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#2993, - #3028,'SOLDER_MASK_2','',$,#3031); -#3032=MAPPED_ITEM('tlistt',#23154,#3033); -#3033=AXIS2_PLACEMENT_2D('',#3034,$); -#3034=CARTESIAN_POINT('',(0.0,0.0)); -#3035=CSG_PRIMITIVE_SOLID_2D('',#3037); -#3036=CARTESIAN_POINT('',(0.0,0.0)); -#3037=CIRCULAR_AREA('',#3036,0.0275); -#3038=PRODUCT('PAD_29_2$15_1$15-POWER','template',$,(#22901)); -#3039=PRODUCT_DEFINITION_FORMATION('1',$,#3038); -#3040=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#3039,#28,'',$,*); -#3041=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3071),#3042); -#3042=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3043=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#2993,#3040, - 'POWER_1','',$,#3043); -#3044=MAPPED_ITEM('tlistt',#23158,#3045); -#3045=AXIS2_PLACEMENT_2D('',#3046,$); -#3046=CARTESIAN_POINT('',(0.0,0.0)); -#3047=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#2993,#3040, - 'POWER_2','',$,#3047); -#3048=MAPPED_ITEM('tlistt',#23158,#3049); -#3049=AXIS2_PLACEMENT_2D('',#3050,$); -#3050=CARTESIAN_POINT('',(0.0,0.0)); -#3051=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#2993,#3040, - 'POWER_3','',$,#3051); -#3052=MAPPED_ITEM('tlistt',#23158,#3053); -#3053=AXIS2_PLACEMENT_2D('',#3054,$); -#3054=CARTESIAN_POINT('',(0.0,0.0)); -#3055=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#2993,#3040, - 'POWER_4','',$,#3055); -#3056=MAPPED_ITEM('tlistt',#23158,#3057); -#3057=AXIS2_PLACEMENT_2D('',#3058,$); -#3058=CARTESIAN_POINT('',(0.0,0.0)); -#3059=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#2993,#3040, - 'POWER_5','',$,#3059); -#3060=MAPPED_ITEM('tlistt',#23158,#3061); -#3061=AXIS2_PLACEMENT_2D('',#3062,$); -#3062=CARTESIAN_POINT('',(0.0,0.0)); -#3063=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#2993,#3040, - 'POWER_6','',$,#3063); -#3064=MAPPED_ITEM('tlistt',#23158,#3065); -#3065=AXIS2_PLACEMENT_2D('',#3066,$); -#3066=CARTESIAN_POINT('',(0.0,0.0)); -#3067=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#2993,#3040, - 'POWER_7','',$,#3067); -#3068=MAPPED_ITEM('tlistt',#23158,#3069); -#3069=AXIS2_PLACEMENT_2D('',#3070,$); -#3070=CARTESIAN_POINT('',(0.0,0.0)); -#3071=CSG_PRIMITIVE_SOLID_2D('',#3073); -#3072=CARTESIAN_POINT('',(0.0,0.0)); -#3073=CIRCULAR_AREA('',#3072,0.0475); -#3074=PRODUCT('PAD_29_2$15_1$15-SIGNAL_1','template',$,(#22901)); -#3075=PRODUCT_DEFINITION_FORMATION('1',$,#3074); -#3076=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3075,#28,'',$,*); -#3077=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3084),#3078); -#3078=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3079=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3076,.T.); -#3080=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#2993,#3076, - 'SIGNAL_1','',$,#3080); -#3081=MAPPED_ITEM('tlistt',#23180,#3082); -#3082=AXIS2_PLACEMENT_2D('',#3083,$); -#3083=CARTESIAN_POINT('',(0.0,0.0)); -#3084=CSG_PRIMITIVE_SOLID_2D('',#3086); -#3085=CARTESIAN_POINT('',(0.0,0.0)); -#3086=CIRCULAR_AREA('',#3085,0.0375); -#3087=PRODUCT('PAD_29_2$15_1$15-SIGNAL_2','template',$,(#22901)); -#3088=PRODUCT_DEFINITION_FORMATION('1',$,#3087); -#3089=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3088,#28,'',$,*); -#3090=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3097),#3091); -#3091=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3092=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3089,.T.); -#3093=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#2993,#3089, - 'SIGNAL_2','',$,#3093); -#3094=MAPPED_ITEM('tlistt',#23184,#3095); -#3095=AXIS2_PLACEMENT_2D('',#3096,$); -#3096=CARTESIAN_POINT('',(0.0,0.0)); -#3097=CSG_PRIMITIVE_SOLID_2D('',#3099); -#3098=CARTESIAN_POINT('',(0.0,0.0)); -#3099=CIRCULAR_AREA('',#3098,0.0375); -#3100=PRODUCT('PAD_29_2$15_1$15-SIGNAL','template',$,(#22901)); -#3101=PRODUCT_DEFINITION_FORMATION('1',$,#3100); -#3102=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3101,#28,'',$,*); -#3103=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3146),#3104); -#3104=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3105=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3102,.T.); -#3106=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#2993,#3102, - 'SIGNAL_3','',$,#3106); -#3107=MAPPED_ITEM('tlistt',#23188,#3108); -#3108=AXIS2_PLACEMENT_2D('',#3109,$); -#3109=CARTESIAN_POINT('',(0.0,0.0)); -#3110=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#2993,#3102, - 'SIGNAL_4','',$,#3110); -#3111=MAPPED_ITEM('tlistt',#23188,#3112); -#3112=AXIS2_PLACEMENT_2D('',#3113,$); -#3113=CARTESIAN_POINT('',(0.0,0.0)); -#3114=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#2993,#3102, - 'SIGNAL_5','',$,#3114); -#3115=MAPPED_ITEM('tlistt',#23188,#3116); -#3116=AXIS2_PLACEMENT_2D('',#3117,$); -#3117=CARTESIAN_POINT('',(0.0,0.0)); -#3118=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#2993,#3102, - 'SIGNAL_6','',$,#3118); -#3119=MAPPED_ITEM('tlistt',#23188,#3120); -#3120=AXIS2_PLACEMENT_2D('',#3121,$); -#3121=CARTESIAN_POINT('',(0.0,0.0)); -#3122=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#2993,#3102, - 'SIGNAL_7','',$,#3122); -#3123=MAPPED_ITEM('tlistt',#23188,#3124); -#3124=AXIS2_PLACEMENT_2D('',#3125,$); -#3125=CARTESIAN_POINT('',(0.0,0.0)); -#3126=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#2993,#3102, - 'SIGNAL_8','',$,#3126); -#3127=MAPPED_ITEM('tlistt',#23188,#3128); -#3128=AXIS2_PLACEMENT_2D('',#3129,$); -#3129=CARTESIAN_POINT('',(0.0,0.0)); -#3130=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#2993,#3102, - 'SIGNAL_9','',$,#3130); -#3131=MAPPED_ITEM('tlistt',#23188,#3132); -#3132=AXIS2_PLACEMENT_2D('',#3133,$); -#3133=CARTESIAN_POINT('',(0.0,0.0)); -#3134=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#2993, - #3102,'SIGNAL_10','',$,#3134); -#3135=MAPPED_ITEM('tlistt',#23188,#3136); -#3136=AXIS2_PLACEMENT_2D('',#3137,$); -#3137=CARTESIAN_POINT('',(0.0,0.0)); -#3138=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#2993, - #3102,'SIGNAL_11','',$,#3138); -#3139=MAPPED_ITEM('tlistt',#23188,#3140); -#3140=AXIS2_PLACEMENT_2D('',#3141,$); -#3141=CARTESIAN_POINT('',(0.0,0.0)); -#3142=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#2993, - #3102,'SIGNAL_12','',$,#3142); -#3143=MAPPED_ITEM('tlistt',#23188,#3144); -#3144=AXIS2_PLACEMENT_2D('',#3145,$); -#3145=CARTESIAN_POINT('',(0.0,0.0)); -#3146=CSG_PRIMITIVE_SOLID_2D('',#3148); -#3147=CARTESIAN_POINT('',(0.0,0.0)); -#3148=CIRCULAR_AREA('',#3147,0.0425); -#3149=PRODUCT('DEFAULT_PAD-padstack','template',$,(#22901)); -#3150=PRODUCT_DEFINITION_FORMATION('1',$,#3149); -#3151=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#3150,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#3152=SHAPE_REPRESENTATION('ppsm',(#26,#3165,#3174,#3186,#3198,#3202,#3206,#3210, - #3214,#3218,#3222,#3235,#3248,#3261,#3265,#3269,#3273,#3277,#3281,#3285,#3289, - #3293,#3297),#3153); -#3153=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3154=PRODUCT('DEFAULT_PAD-drill','template',$,(#22901)); -#3155=PRODUCT_DEFINITION_FORMATION('1',$,#3154); -#3156=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#3155,#28,'',$,*); -#3157=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #3156,.T.); -#3158=SHAPE_ASPECT('inside','component termination passage template join terminal', - #3156,.T.); -#3159=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3161),#3160); -#3160=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3161=CSG_PRIMITIVE_SOLID_2D('',#3163); -#3162=CARTESIAN_POINT('',(0.0,0.0)); -#3163=CIRCULAR_AREA('',#3162,0.0085); -#3164=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3151,#3156,'drill'); -#3165=MAPPED_ITEM('tlistt',#23219,#3166); -#3166=AXIS2_PLACEMENT_2D('',#3167,$); -#3167=CARTESIAN_POINT('',(0.0,0.0)); -#3168=PRODUCT('DEFAULT_PAD-SOLDER_MASK_1','template',$,(#22901)); -#3169=PRODUCT_DEFINITION_FORMATION('1',$,#3168); -#3170=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3169,#28,'',$,*); -#3171=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3177),#3172); -#3172=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3173=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#3151, - #3170,'SOLDER_MASK_1','',$,#3173); -#3174=MAPPED_ITEM('tlistt',#23223,#3175); -#3175=AXIS2_PLACEMENT_2D('',#3176,$); -#3176=CARTESIAN_POINT('',(0.0,0.0)); -#3177=CSG_PRIMITIVE_SOLID_2D('',#3179); -#3178=CARTESIAN_POINT('',(0.0,0.0)); -#3179=CIRCULAR_AREA('',#3178,0.0475); -#3180=PRODUCT('DEFAULT_PAD-SOLDER_MASK_2','template',$,(#22901)); -#3181=PRODUCT_DEFINITION_FORMATION('1',$,#3180); -#3182=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3181,#28,'',$,*); -#3183=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3189),#3184); -#3184=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3185=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#3151, - #3182,'SOLDER_MASK_2','',$,#3185); -#3186=MAPPED_ITEM('tlistt',#23227,#3187); -#3187=AXIS2_PLACEMENT_2D('',#3188,$); -#3188=CARTESIAN_POINT('',(0.0,0.0)); -#3189=CSG_PRIMITIVE_SOLID_2D('',#3191); -#3190=CARTESIAN_POINT('',(0.0,0.0)); -#3191=CIRCULAR_AREA('',#3190,0.0275); -#3192=PRODUCT('DEFAULT_PAD-POWER','template',$,(#22901)); -#3193=PRODUCT_DEFINITION_FORMATION('1',$,#3192); -#3194=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#3193,#28,'',$,*); -#3195=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3225),#3196); -#3196=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3197=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#3151,#3194, - 'POWER_1','',$,#3197); -#3198=MAPPED_ITEM('tlistt',#23231,#3199); -#3199=AXIS2_PLACEMENT_2D('',#3200,$); -#3200=CARTESIAN_POINT('',(0.0,0.0)); -#3201=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#3151,#3194, - 'POWER_2','',$,#3201); -#3202=MAPPED_ITEM('tlistt',#23231,#3203); -#3203=AXIS2_PLACEMENT_2D('',#3204,$); -#3204=CARTESIAN_POINT('',(0.0,0.0)); -#3205=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#3151,#3194, - 'POWER_3','',$,#3205); -#3206=MAPPED_ITEM('tlistt',#23231,#3207); -#3207=AXIS2_PLACEMENT_2D('',#3208,$); -#3208=CARTESIAN_POINT('',(0.0,0.0)); -#3209=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#3151,#3194, - 'POWER_4','',$,#3209); -#3210=MAPPED_ITEM('tlistt',#23231,#3211); -#3211=AXIS2_PLACEMENT_2D('',#3212,$); -#3212=CARTESIAN_POINT('',(0.0,0.0)); -#3213=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#3151,#3194, - 'POWER_5','',$,#3213); -#3214=MAPPED_ITEM('tlistt',#23231,#3215); -#3215=AXIS2_PLACEMENT_2D('',#3216,$); -#3216=CARTESIAN_POINT('',(0.0,0.0)); -#3217=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#3151,#3194, - 'POWER_6','',$,#3217); -#3218=MAPPED_ITEM('tlistt',#23231,#3219); -#3219=AXIS2_PLACEMENT_2D('',#3220,$); -#3220=CARTESIAN_POINT('',(0.0,0.0)); -#3221=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#3151,#3194, - 'POWER_7','',$,#3221); -#3222=MAPPED_ITEM('tlistt',#23231,#3223); -#3223=AXIS2_PLACEMENT_2D('',#3224,$); -#3224=CARTESIAN_POINT('',(0.0,0.0)); -#3225=CSG_PRIMITIVE_SOLID_2D('',#3227); -#3226=CARTESIAN_POINT('',(0.0,0.0)); -#3227=CIRCULAR_AREA('',#3226,0.0475); -#3228=PRODUCT('DEFAULT_PAD-SIGNAL_1','template',$,(#22901)); -#3229=PRODUCT_DEFINITION_FORMATION('1',$,#3228); -#3230=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3229,#28,'',$,*); -#3231=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3238),#3232); -#3232=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3233=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3230,.T.); -#3234=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#3151,#3230, - 'SIGNAL_1','',$,#3234); -#3235=MAPPED_ITEM('tlistt',#23253,#3236); -#3236=AXIS2_PLACEMENT_2D('',#3237,$); -#3237=CARTESIAN_POINT('',(0.0,0.0)); -#3238=CSG_PRIMITIVE_SOLID_2D('',#3240); -#3239=CARTESIAN_POINT('',(0.0,0.0)); -#3240=CIRCULAR_AREA('',#3239,0.0375); -#3241=PRODUCT('DEFAULT_PAD-SIGNAL_2','template',$,(#22901)); -#3242=PRODUCT_DEFINITION_FORMATION('1',$,#3241); -#3243=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3242,#28,'',$,*); -#3244=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3251),#3245); -#3245=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3246=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3243,.T.); -#3247=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#3151,#3243, - 'SIGNAL_2','',$,#3247); -#3248=MAPPED_ITEM('tlistt',#23257,#3249); -#3249=AXIS2_PLACEMENT_2D('',#3250,$); -#3250=CARTESIAN_POINT('',(0.0,0.0)); -#3251=CSG_PRIMITIVE_SOLID_2D('',#3253); -#3252=CARTESIAN_POINT('',(0.0,0.0)); -#3253=CIRCULAR_AREA('',#3252,0.0375); -#3254=PRODUCT('DEFAULT_PAD-SIGNAL','template',$,(#22901)); -#3255=PRODUCT_DEFINITION_FORMATION('1',$,#3254); -#3256=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3255,#28,'',$,*); -#3257=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3300),#3258); -#3258=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3259=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3256,.T.); -#3260=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#3151,#3256, - 'SIGNAL_3','',$,#3260); -#3261=MAPPED_ITEM('tlistt',#23261,#3262); -#3262=AXIS2_PLACEMENT_2D('',#3263,$); -#3263=CARTESIAN_POINT('',(0.0,0.0)); -#3264=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#3151,#3256, - 'SIGNAL_4','',$,#3264); -#3265=MAPPED_ITEM('tlistt',#23261,#3266); -#3266=AXIS2_PLACEMENT_2D('',#3267,$); -#3267=CARTESIAN_POINT('',(0.0,0.0)); -#3268=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#3151,#3256, - 'SIGNAL_5','',$,#3268); -#3269=MAPPED_ITEM('tlistt',#23261,#3270); -#3270=AXIS2_PLACEMENT_2D('',#3271,$); -#3271=CARTESIAN_POINT('',(0.0,0.0)); -#3272=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#3151,#3256, - 'SIGNAL_6','',$,#3272); -#3273=MAPPED_ITEM('tlistt',#23261,#3274); -#3274=AXIS2_PLACEMENT_2D('',#3275,$); -#3275=CARTESIAN_POINT('',(0.0,0.0)); -#3276=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#3151,#3256, - 'SIGNAL_7','',$,#3276); -#3277=MAPPED_ITEM('tlistt',#23261,#3278); -#3278=AXIS2_PLACEMENT_2D('',#3279,$); -#3279=CARTESIAN_POINT('',(0.0,0.0)); -#3280=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#3151,#3256, - 'SIGNAL_8','',$,#3280); -#3281=MAPPED_ITEM('tlistt',#23261,#3282); -#3282=AXIS2_PLACEMENT_2D('',#3283,$); -#3283=CARTESIAN_POINT('',(0.0,0.0)); -#3284=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#3151,#3256, - 'SIGNAL_9','',$,#3284); -#3285=MAPPED_ITEM('tlistt',#23261,#3286); -#3286=AXIS2_PLACEMENT_2D('',#3287,$); -#3287=CARTESIAN_POINT('',(0.0,0.0)); -#3288=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#3151, - #3256,'SIGNAL_10','',$,#3288); -#3289=MAPPED_ITEM('tlistt',#23261,#3290); -#3290=AXIS2_PLACEMENT_2D('',#3291,$); -#3291=CARTESIAN_POINT('',(0.0,0.0)); -#3292=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#3151, - #3256,'SIGNAL_11','',$,#3292); -#3293=MAPPED_ITEM('tlistt',#23261,#3294); -#3294=AXIS2_PLACEMENT_2D('',#3295,$); -#3295=CARTESIAN_POINT('',(0.0,0.0)); -#3296=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#3151, - #3256,'SIGNAL_12','',$,#3296); -#3297=MAPPED_ITEM('tlistt',#23261,#3298); -#3298=AXIS2_PLACEMENT_2D('',#3299,$); -#3299=CARTESIAN_POINT('',(0.0,0.0)); -#3300=CSG_PRIMITIVE_SOLID_2D('',#3302); -#3301=CARTESIAN_POINT('',(0.0,0.0)); -#3302=CIRCULAR_AREA('',#3301,0.0425); -#3303=PRODUCT('PAD_25_2$11_1$11-padstack','template',$,(#22901)); -#3304=PRODUCT_DEFINITION_FORMATION('1',$,#3303); -#3305=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#3304,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#3306=SHAPE_REPRESENTATION('ppsm',(#26,#3319,#3328,#3340,#3352,#3356,#3360,#3364, - #3368,#3372,#3376,#3389,#3402,#3415,#3419,#3423,#3427,#3431,#3435,#3439,#3443, - #3447,#3451),#3307); -#3307=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3308=PRODUCT('PAD_25_2$11_1$11-drill','template',$,(#22901)); -#3309=PRODUCT_DEFINITION_FORMATION('1',$,#3308); -#3310=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#3309,#28,'',$,*); -#3311=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #3310,.T.); -#3312=SHAPE_ASPECT('inside','component termination passage template join terminal', - #3310,.T.); -#3313=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3315),#3314); -#3314=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3315=CSG_PRIMITIVE_SOLID_2D('',#3317); -#3316=CARTESIAN_POINT('',(0.0,0.0)); -#3317=CIRCULAR_AREA('',#3316,0.0085); -#3318=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3305,#3310,'drill'); -#3319=MAPPED_ITEM('tlistt',#17736,#3320); -#3320=AXIS2_PLACEMENT_2D('',#3321,$); -#3321=CARTESIAN_POINT('',(0.0,0.0)); -#3322=PRODUCT('PAD_25_2$11_1$11-SOLDER_MASK_1','template',$,(#22901)); -#3323=PRODUCT_DEFINITION_FORMATION('1',$,#3322); -#3324=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3323,#28,'',$,*); -#3325=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3331),#3326); -#3326=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3327=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#3305, - #3324,'SOLDER_MASK_1','',$,#3327); -#3328=MAPPED_ITEM('tlistt',#23295,#3329); -#3329=AXIS2_PLACEMENT_2D('',#3330,$); -#3330=CARTESIAN_POINT('',(0.0,0.0)); -#3331=CSG_PRIMITIVE_SOLID_2D('',#3333); -#3332=CARTESIAN_POINT('',(0.0,0.0)); -#3333=CIRCULAR_AREA('',#3332,0.0425); -#3334=PRODUCT('PAD_25_2$11_1$11-SOLDER_MASK_2','template',$,(#22901)); -#3335=PRODUCT_DEFINITION_FORMATION('1',$,#3334); -#3336=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3335,#28,'',$,*); -#3337=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3343),#3338); -#3338=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3339=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#3305, - #3336,'SOLDER_MASK_2','',$,#3339); -#3340=MAPPED_ITEM('tlistt',#23299,#3341); -#3341=AXIS2_PLACEMENT_2D('',#3342,$); -#3342=CARTESIAN_POINT('',(0.0,0.0)); -#3343=CSG_PRIMITIVE_SOLID_2D('',#3345); -#3344=CARTESIAN_POINT('',(0.0,0.0)); -#3345=CIRCULAR_AREA('',#3344,0.0275); -#3346=PRODUCT('PAD_25_2$11_1$11-POWER','template',$,(#22901)); -#3347=PRODUCT_DEFINITION_FORMATION('1',$,#3346); -#3348=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#3347,#28,'',$,*); -#3349=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3379),#3350); -#3350=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3351=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#3305,#3348, - 'POWER_1','',$,#3351); -#3352=MAPPED_ITEM('tlistt',#23303,#3353); -#3353=AXIS2_PLACEMENT_2D('',#3354,$); -#3354=CARTESIAN_POINT('',(0.0,0.0)); -#3355=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#3305,#3348, - 'POWER_2','',$,#3355); -#3356=MAPPED_ITEM('tlistt',#23303,#3357); -#3357=AXIS2_PLACEMENT_2D('',#3358,$); -#3358=CARTESIAN_POINT('',(0.0,0.0)); -#3359=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#3305,#3348, - 'POWER_3','',$,#3359); -#3360=MAPPED_ITEM('tlistt',#23303,#3361); -#3361=AXIS2_PLACEMENT_2D('',#3362,$); -#3362=CARTESIAN_POINT('',(0.0,0.0)); -#3363=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#3305,#3348, - 'POWER_4','',$,#3363); -#3364=MAPPED_ITEM('tlistt',#23303,#3365); -#3365=AXIS2_PLACEMENT_2D('',#3366,$); -#3366=CARTESIAN_POINT('',(0.0,0.0)); -#3367=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#3305,#3348, - 'POWER_5','',$,#3367); -#3368=MAPPED_ITEM('tlistt',#23303,#3369); -#3369=AXIS2_PLACEMENT_2D('',#3370,$); -#3370=CARTESIAN_POINT('',(0.0,0.0)); -#3371=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#3305,#3348, - 'POWER_6','',$,#3371); -#3372=MAPPED_ITEM('tlistt',#23303,#3373); -#3373=AXIS2_PLACEMENT_2D('',#3374,$); -#3374=CARTESIAN_POINT('',(0.0,0.0)); -#3375=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#3305,#3348, - 'POWER_7','',$,#3375); -#3376=MAPPED_ITEM('tlistt',#23303,#3377); -#3377=AXIS2_PLACEMENT_2D('',#3378,$); -#3378=CARTESIAN_POINT('',(0.0,0.0)); -#3379=CSG_PRIMITIVE_SOLID_2D('',#3381); -#3380=CARTESIAN_POINT('',(0.0,0.0)); -#3381=CIRCULAR_AREA('',#3380,0.0425); -#3382=PRODUCT('PAD_25_2$11_1$11-SIGNAL_1','template',$,(#22901)); -#3383=PRODUCT_DEFINITION_FORMATION('1',$,#3382); -#3384=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3383,#28,'',$,*); -#3385=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3392),#3386); -#3386=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3387=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3384,.T.); -#3388=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#3305,#3384, - 'SIGNAL_1','',$,#3388); -#3389=MAPPED_ITEM('tlistt',#23325,#3390); -#3390=AXIS2_PLACEMENT_2D('',#3391,$); -#3391=CARTESIAN_POINT('',(0.0,0.0)); -#3392=CSG_PRIMITIVE_SOLID_2D('',#3394); -#3393=CARTESIAN_POINT('',(0.0,0.0)); -#3394=CIRCULAR_AREA('',#3393,0.0325); -#3395=PRODUCT('PAD_25_2$11_1$11-SIGNAL_2','template',$,(#22901)); -#3396=PRODUCT_DEFINITION_FORMATION('1',$,#3395); -#3397=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3396,#28,'',$,*); -#3398=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3405),#3399); -#3399=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3400=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3397,.T.); -#3401=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#3305,#3397, - 'SIGNAL_2','',$,#3401); -#3402=MAPPED_ITEM('tlistt',#23329,#3403); -#3403=AXIS2_PLACEMENT_2D('',#3404,$); -#3404=CARTESIAN_POINT('',(0.0,0.0)); -#3405=CSG_PRIMITIVE_SOLID_2D('',#3407); -#3406=CARTESIAN_POINT('',(0.0,0.0)); -#3407=CIRCULAR_AREA('',#3406,0.0325); -#3408=PRODUCT('PAD_25_2$11_1$11-SIGNAL','template',$,(#22901)); -#3409=PRODUCT_DEFINITION_FORMATION('1',$,#3408); -#3410=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3409,#28,'',$,*); -#3411=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3454),#3412); -#3412=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3413=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3410,.T.); -#3414=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#3305,#3410, - 'SIGNAL_3','',$,#3414); -#3415=MAPPED_ITEM('tlistt',#23333,#3416); -#3416=AXIS2_PLACEMENT_2D('',#3417,$); -#3417=CARTESIAN_POINT('',(0.0,0.0)); -#3418=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#3305,#3410, - 'SIGNAL_4','',$,#3418); -#3419=MAPPED_ITEM('tlistt',#23333,#3420); -#3420=AXIS2_PLACEMENT_2D('',#3421,$); -#3421=CARTESIAN_POINT('',(0.0,0.0)); -#3422=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#3305,#3410, - 'SIGNAL_5','',$,#3422); -#3423=MAPPED_ITEM('tlistt',#23333,#3424); -#3424=AXIS2_PLACEMENT_2D('',#3425,$); -#3425=CARTESIAN_POINT('',(0.0,0.0)); -#3426=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#3305,#3410, - 'SIGNAL_6','',$,#3426); -#3427=MAPPED_ITEM('tlistt',#23333,#3428); -#3428=AXIS2_PLACEMENT_2D('',#3429,$); -#3429=CARTESIAN_POINT('',(0.0,0.0)); -#3430=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#3305,#3410, - 'SIGNAL_7','',$,#3430); -#3431=MAPPED_ITEM('tlistt',#23333,#3432); -#3432=AXIS2_PLACEMENT_2D('',#3433,$); -#3433=CARTESIAN_POINT('',(0.0,0.0)); -#3434=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#3305,#3410, - 'SIGNAL_8','',$,#3434); -#3435=MAPPED_ITEM('tlistt',#23333,#3436); -#3436=AXIS2_PLACEMENT_2D('',#3437,$); -#3437=CARTESIAN_POINT('',(0.0,0.0)); -#3438=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#3305,#3410, - 'SIGNAL_9','',$,#3438); -#3439=MAPPED_ITEM('tlistt',#23333,#3440); -#3440=AXIS2_PLACEMENT_2D('',#3441,$); -#3441=CARTESIAN_POINT('',(0.0,0.0)); -#3442=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#3305, - #3410,'SIGNAL_10','',$,#3442); -#3443=MAPPED_ITEM('tlistt',#23333,#3444); -#3444=AXIS2_PLACEMENT_2D('',#3445,$); -#3445=CARTESIAN_POINT('',(0.0,0.0)); -#3446=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#3305, - #3410,'SIGNAL_11','',$,#3446); -#3447=MAPPED_ITEM('tlistt',#23333,#3448); -#3448=AXIS2_PLACEMENT_2D('',#3449,$); -#3449=CARTESIAN_POINT('',(0.0,0.0)); -#3450=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#3305, - #3410,'SIGNAL_12','',$,#3450); -#3451=MAPPED_ITEM('tlistt',#23333,#3452); -#3452=AXIS2_PLACEMENT_2D('',#3453,$); -#3453=CARTESIAN_POINT('',(0.0,0.0)); -#3454=CSG_PRIMITIVE_SOLID_2D('',#3456); -#3455=CARTESIAN_POINT('',(0.0,0.0)); -#3456=CIRCULAR_AREA('',#3455,0.0375); -#3457=PRODUCT('PAD_30_2$16_1$16-padstack','template',$,(#22901)); -#3458=PRODUCT_DEFINITION_FORMATION('1',$,#3457); -#3459=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#3458,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#3460=SHAPE_REPRESENTATION('ppsm',(#26,#3477,#3486,#3498,#3510,#3514,#3518,#3522, - #3526,#3530,#3534,#3547,#3560,#3573,#3577,#3581,#3585,#3589,#3593,#3597,#3601, - #3605,#3609),#3461); -#3461=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3462=PASSAGE_TECHNOLOGY('0.031 inches','default component termination passage definition', - '',$,*); -#3463=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.031),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#3464=REPRESENTATION('maximum tolerance',(#3463),#3465); -#3465=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3466=PRODUCT('PAD_30_2$16_1$16-drill','template',$,(#22901)); -#3467=PRODUCT_DEFINITION_FORMATION('1',$,#3466); -#3468=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#3467,#28,'',$,*); -#3469=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #3468,.T.); -#3470=SHAPE_ASPECT('inside','component termination passage template join terminal', - #3468,.T.); -#3471=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3473),#3472); -#3472=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3473=CSG_PRIMITIVE_SOLID_2D('',#3475); -#3474=CARTESIAN_POINT('',(0.0,0.0)); -#3475=CIRCULAR_AREA('',#3474,0.0155); -#3476=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3459,#3468,'drill'); -#3477=MAPPED_ITEM('tlistt',#23364,#3478); -#3478=AXIS2_PLACEMENT_2D('',#3479,$); -#3479=CARTESIAN_POINT('',(0.0,0.0)); -#3480=PRODUCT('PAD_30_2$16_1$16-SOLDER_MASK_1','template',$,(#22901)); -#3481=PRODUCT_DEFINITION_FORMATION('1',$,#3480); -#3482=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3481,#28,'',$,*); -#3483=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3489),#3484); -#3484=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3485=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#3459, - #3482,'SOLDER_MASK_1','',$,#3485); -#3486=MAPPED_ITEM('tlistt',#23368,#3487); -#3487=AXIS2_PLACEMENT_2D('',#3488,$); -#3488=CARTESIAN_POINT('',(0.0,0.0)); -#3489=CSG_PRIMITIVE_SOLID_2D('',#3491); -#3490=CARTESIAN_POINT('',(0.0,0.0)); -#3491=CIRCULAR_AREA('',#3490,0.07); -#3492=PRODUCT('PAD_30_2$16_1$16-SOLDER_MASK_2','template',$,(#22901)); -#3493=PRODUCT_DEFINITION_FORMATION('1',$,#3492); -#3494=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3493,#28,'',$,*); -#3495=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3501),#3496); -#3496=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3497=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#3459, - #3494,'SOLDER_MASK_2','',$,#3497); -#3498=MAPPED_ITEM('tlistt',#23372,#3499); -#3499=AXIS2_PLACEMENT_2D('',#3500,$); -#3500=CARTESIAN_POINT('',(0.0,0.0)); -#3501=CSG_PRIMITIVE_SOLID_2D('',#3503); -#3502=CARTESIAN_POINT('',(0.0,0.0)); -#3503=CIRCULAR_AREA('',#3502,0.0415); -#3504=PRODUCT('PAD_30_2$16_1$16-POWER','template',$,(#22901)); -#3505=PRODUCT_DEFINITION_FORMATION('1',$,#3504); -#3506=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#3505,#28,'',$,*); -#3507=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3537),#3508); -#3508=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3509=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#3459,#3506, - 'POWER_1','',$,#3509); -#3510=MAPPED_ITEM('tlistt',#23376,#3511); -#3511=AXIS2_PLACEMENT_2D('',#3512,$); -#3512=CARTESIAN_POINT('',(0.0,0.0)); -#3513=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#3459,#3506, - 'POWER_2','',$,#3513); -#3514=MAPPED_ITEM('tlistt',#23376,#3515); -#3515=AXIS2_PLACEMENT_2D('',#3516,$); -#3516=CARTESIAN_POINT('',(0.0,0.0)); -#3517=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#3459,#3506, - 'POWER_3','',$,#3517); -#3518=MAPPED_ITEM('tlistt',#23376,#3519); -#3519=AXIS2_PLACEMENT_2D('',#3520,$); -#3520=CARTESIAN_POINT('',(0.0,0.0)); -#3521=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#3459,#3506, - 'POWER_4','',$,#3521); -#3522=MAPPED_ITEM('tlistt',#23376,#3523); -#3523=AXIS2_PLACEMENT_2D('',#3524,$); -#3524=CARTESIAN_POINT('',(0.0,0.0)); -#3525=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#3459,#3506, - 'POWER_5','',$,#3525); -#3526=MAPPED_ITEM('tlistt',#23376,#3527); -#3527=AXIS2_PLACEMENT_2D('',#3528,$); -#3528=CARTESIAN_POINT('',(0.0,0.0)); -#3529=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#3459,#3506, - 'POWER_6','',$,#3529); -#3530=MAPPED_ITEM('tlistt',#23376,#3531); -#3531=AXIS2_PLACEMENT_2D('',#3532,$); -#3532=CARTESIAN_POINT('',(0.0,0.0)); -#3533=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#3459,#3506, - 'POWER_7','',$,#3533); -#3534=MAPPED_ITEM('tlistt',#23376,#3535); -#3535=AXIS2_PLACEMENT_2D('',#3536,$); -#3536=CARTESIAN_POINT('',(0.0,0.0)); -#3537=CSG_PRIMITIVE_SOLID_2D('',#3539); -#3538=CARTESIAN_POINT('',(0.0,0.0)); -#3539=CIRCULAR_AREA('',#3538,0.07); -#3540=PRODUCT('PAD_30_2$16_1$16-SIGNAL_1','template',$,(#22901)); -#3541=PRODUCT_DEFINITION_FORMATION('1',$,#3540); -#3542=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3541,#28,'',$,*); -#3543=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3550),#3544); -#3544=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3545=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3542,.T.); -#3546=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#3459,#3542, - 'SIGNAL_1','',$,#3546); -#3547=MAPPED_ITEM('tlistt',#23398,#3548); -#3548=AXIS2_PLACEMENT_2D('',#3549,$); -#3549=CARTESIAN_POINT('',(0.0,0.0)); -#3550=CSG_PRIMITIVE_SOLID_2D('',#3552); -#3551=CARTESIAN_POINT('',(0.0,0.0)); -#3552=CIRCULAR_AREA('',#3551,0.06); -#3553=PRODUCT('PAD_30_2$16_1$16-SIGNAL_2','template',$,(#22901)); -#3554=PRODUCT_DEFINITION_FORMATION('1',$,#3553); -#3555=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3554,#28,'',$,*); -#3556=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3563),#3557); -#3557=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3558=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3555,.T.); -#3559=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#3459,#3555, - 'SIGNAL_2','',$,#3559); -#3560=MAPPED_ITEM('tlistt',#23402,#3561); -#3561=AXIS2_PLACEMENT_2D('',#3562,$); -#3562=CARTESIAN_POINT('',(0.0,0.0)); -#3563=CSG_PRIMITIVE_SOLID_2D('',#3565); -#3564=CARTESIAN_POINT('',(0.0,0.0)); -#3565=CIRCULAR_AREA('',#3564,0.06); -#3566=PRODUCT('PAD_30_2$16_1$16-SIGNAL','template',$,(#22901)); -#3567=PRODUCT_DEFINITION_FORMATION('1',$,#3566); -#3568=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3567,#28,'',$,*); -#3569=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3612),#3570); -#3570=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3571=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3568,.T.); -#3572=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#3459,#3568, - 'SIGNAL_3','',$,#3572); -#3573=MAPPED_ITEM('tlistt',#23406,#3574); -#3574=AXIS2_PLACEMENT_2D('',#3575,$); -#3575=CARTESIAN_POINT('',(0.0,0.0)); -#3576=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#3459,#3568, - 'SIGNAL_4','',$,#3576); -#3577=MAPPED_ITEM('tlistt',#23406,#3578); -#3578=AXIS2_PLACEMENT_2D('',#3579,$); -#3579=CARTESIAN_POINT('',(0.0,0.0)); -#3580=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#3459,#3568, - 'SIGNAL_5','',$,#3580); -#3581=MAPPED_ITEM('tlistt',#23406,#3582); -#3582=AXIS2_PLACEMENT_2D('',#3583,$); -#3583=CARTESIAN_POINT('',(0.0,0.0)); -#3584=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#3459,#3568, - 'SIGNAL_6','',$,#3584); -#3585=MAPPED_ITEM('tlistt',#23406,#3586); -#3586=AXIS2_PLACEMENT_2D('',#3587,$); -#3587=CARTESIAN_POINT('',(0.0,0.0)); -#3588=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#3459,#3568, - 'SIGNAL_7','',$,#3588); -#3589=MAPPED_ITEM('tlistt',#23406,#3590); -#3590=AXIS2_PLACEMENT_2D('',#3591,$); -#3591=CARTESIAN_POINT('',(0.0,0.0)); -#3592=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#3459,#3568, - 'SIGNAL_8','',$,#3592); -#3593=MAPPED_ITEM('tlistt',#23406,#3594); -#3594=AXIS2_PLACEMENT_2D('',#3595,$); -#3595=CARTESIAN_POINT('',(0.0,0.0)); -#3596=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#3459,#3568, - 'SIGNAL_9','',$,#3596); -#3597=MAPPED_ITEM('tlistt',#23406,#3598); -#3598=AXIS2_PLACEMENT_2D('',#3599,$); -#3599=CARTESIAN_POINT('',(0.0,0.0)); -#3600=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#3459, - #3568,'SIGNAL_10','',$,#3600); -#3601=MAPPED_ITEM('tlistt',#23406,#3602); -#3602=AXIS2_PLACEMENT_2D('',#3603,$); -#3603=CARTESIAN_POINT('',(0.0,0.0)); -#3604=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#3459, - #3568,'SIGNAL_11','',$,#3604); -#3605=MAPPED_ITEM('tlistt',#23406,#3606); -#3606=AXIS2_PLACEMENT_2D('',#3607,$); -#3607=CARTESIAN_POINT('',(0.0,0.0)); -#3608=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#3459, - #3568,'SIGNAL_12','',$,#3608); -#3609=MAPPED_ITEM('tlistt',#23406,#3610); -#3610=AXIS2_PLACEMENT_2D('',#3611,$); -#3611=CARTESIAN_POINT('',(0.0,0.0)); -#3612=CSG_PRIMITIVE_SOLID_2D('',#3614); -#3613=CARTESIAN_POINT('',(0.0,0.0)); -#3614=CIRCULAR_AREA('',#3613,0.065); -#3615=PRODUCT('PAD_26_2$12_1$22-padstack','template',$,(#22901)); -#3616=PRODUCT_DEFINITION_FORMATION('1',$,#3615); -#3617=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#3616,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#3618=SHAPE_REPRESENTATION('ppsm',(#26,#3635,#3644,#3656,#3668,#3672,#3676,#3680, - #3684,#3688,#3692,#3705,#3718,#3731,#3735,#3739,#3743,#3747,#3751,#3755,#3759, - #3763,#3767),#3619); -#3619=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3620=PASSAGE_TECHNOLOGY('0.066 inches','default component termination passage definition', - '',$,*); -#3621=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.066),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#3622=REPRESENTATION('maximum tolerance',(#3621),#3623); -#3623=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3624=PRODUCT('PAD_26_2$12_1$22-drill','template',$,(#22901)); -#3625=PRODUCT_DEFINITION_FORMATION('1',$,#3624); -#3626=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#3625,#28,'',$,*); -#3627=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #3626,.T.); -#3628=SHAPE_ASPECT('inside','component termination passage template join terminal', - #3626,.T.); -#3629=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3631),#3630); -#3630=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3631=CSG_PRIMITIVE_SOLID_2D('',#3633); -#3632=CARTESIAN_POINT('',(0.0,0.0)); -#3633=CIRCULAR_AREA('',#3632,0.033); -#3634=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3617,#3626,'drill'); -#3635=MAPPED_ITEM('tlistt',#17740,#3636); -#3636=AXIS2_PLACEMENT_2D('',#3637,$); -#3637=CARTESIAN_POINT('',(0.0,0.0)); -#3638=PRODUCT('PAD_26_2$12_1$22-SOLDER_MASK_1','template',$,(#22901)); -#3639=PRODUCT_DEFINITION_FORMATION('1',$,#3638); -#3640=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3639,#28,'',$,*); -#3641=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3647),#3642); -#3642=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3643=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#3617, - #3640,'SOLDER_MASK_1','',$,#3643); -#3644=MAPPED_ITEM('tlistt',#23440,#3645); -#3645=AXIS2_PLACEMENT_2D('',#3646,$); -#3646=CARTESIAN_POINT('',(0.0,0.0)); -#3647=CSG_PRIMITIVE_SOLID_2D('',#3649); -#3648=CARTESIAN_POINT('',(0.0,0.0)); -#3649=CIRCULAR_AREA('',#3648,0.0275); -#3650=PRODUCT('PAD_26_2$12_1$22-SOLDER_MASK_2','template',$,(#22901)); -#3651=PRODUCT_DEFINITION_FORMATION('1',$,#3650); -#3652=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3651,#28,'',$,*); -#3653=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3659),#3654); -#3654=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3655=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#3617, - #3652,'SOLDER_MASK_2','',$,#3655); -#3656=MAPPED_ITEM('tlistt',#23444,#3657); -#3657=AXIS2_PLACEMENT_2D('',#3658,$); -#3658=CARTESIAN_POINT('',(0.0,0.0)); -#3659=CSG_PRIMITIVE_SOLID_2D('',#3661); -#3660=CARTESIAN_POINT('',(0.0,0.0)); -#3661=CIRCULAR_AREA('',#3660,0.0765); -#3662=PRODUCT('PAD_26_2$12_1$22-POWER','template',$,(#22901)); -#3663=PRODUCT_DEFINITION_FORMATION('1',$,#3662); -#3664=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#3663,#28,'',$,*); -#3665=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3695),#3666); -#3666=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3667=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#3617,#3664, - 'POWER_1','',$,#3667); -#3668=MAPPED_ITEM('tlistt',#23448,#3669); -#3669=AXIS2_PLACEMENT_2D('',#3670,$); -#3670=CARTESIAN_POINT('',(0.0,0.0)); -#3671=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#3617,#3664, - 'POWER_2','',$,#3671); -#3672=MAPPED_ITEM('tlistt',#23448,#3673); -#3673=AXIS2_PLACEMENT_2D('',#3674,$); -#3674=CARTESIAN_POINT('',(0.0,0.0)); -#3675=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#3617,#3664, - 'POWER_3','',$,#3675); -#3676=MAPPED_ITEM('tlistt',#23448,#3677); -#3677=AXIS2_PLACEMENT_2D('',#3678,$); -#3678=CARTESIAN_POINT('',(0.0,0.0)); -#3679=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#3617,#3664, - 'POWER_4','',$,#3679); -#3680=MAPPED_ITEM('tlistt',#23448,#3681); -#3681=AXIS2_PLACEMENT_2D('',#3682,$); -#3682=CARTESIAN_POINT('',(0.0,0.0)); -#3683=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#3617,#3664, - 'POWER_5','',$,#3683); -#3684=MAPPED_ITEM('tlistt',#23448,#3685); -#3685=AXIS2_PLACEMENT_2D('',#3686,$); -#3686=CARTESIAN_POINT('',(0.0,0.0)); -#3687=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#3617,#3664, - 'POWER_6','',$,#3687); -#3688=MAPPED_ITEM('tlistt',#23448,#3689); -#3689=AXIS2_PLACEMENT_2D('',#3690,$); -#3690=CARTESIAN_POINT('',(0.0,0.0)); -#3691=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#3617,#3664, - 'POWER_7','',$,#3691); -#3692=MAPPED_ITEM('tlistt',#23448,#3693); -#3693=AXIS2_PLACEMENT_2D('',#3694,$); -#3694=CARTESIAN_POINT('',(0.0,0.0)); -#3695=CSG_PRIMITIVE_SOLID_2D('',#3697); -#3696=CARTESIAN_POINT('',(0.0,0.0)); -#3697=CIRCULAR_AREA('',#3696,0.0275); -#3698=PRODUCT('PAD_26_2$12_1$22-SIGNAL_1','template',$,(#22901)); -#3699=PRODUCT_DEFINITION_FORMATION('1',$,#3698); -#3700=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3699,#28,'',$,*); -#3701=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3708),#3702); -#3702=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3703=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3700,.T.); -#3704=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#3617,#3700, - 'SIGNAL_1','',$,#3704); -#3705=MAPPED_ITEM('tlistt',#23470,#3706); -#3706=AXIS2_PLACEMENT_2D('',#3707,$); -#3707=CARTESIAN_POINT('',(0.0,0.0)); -#3708=CSG_PRIMITIVE_SOLID_2D('',#3710); -#3709=CARTESIAN_POINT('',(0.0,0.0)); -#3710=CIRCULAR_AREA('',#3709,0.0175); -#3711=PRODUCT('PAD_26_2$12_1$22-SIGNAL_2','template',$,(#22901)); -#3712=PRODUCT_DEFINITION_FORMATION('1',$,#3711); -#3713=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3712,#28,'',$,*); -#3714=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3721),#3715); -#3715=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3716=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3713,.T.); -#3717=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#3617,#3713, - 'SIGNAL_2','',$,#3717); -#3718=MAPPED_ITEM('tlistt',#23474,#3719); -#3719=AXIS2_PLACEMENT_2D('',#3720,$); -#3720=CARTESIAN_POINT('',(0.0,0.0)); -#3721=CSG_PRIMITIVE_SOLID_2D('',#3723); -#3722=CARTESIAN_POINT('',(0.0,0.0)); -#3723=CIRCULAR_AREA('',#3722,0.125); -#3724=PRODUCT('PAD_26_2$12_1$22-SIGNAL','template',$,(#22901)); -#3725=PRODUCT_DEFINITION_FORMATION('1',$,#3724); -#3726=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3725,#28,'',$,*); -#3727=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3770),#3728); -#3728=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3729=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3726,.T.); -#3730=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#3617,#3726, - 'SIGNAL_3','',$,#3730); -#3731=MAPPED_ITEM('tlistt',#23478,#3732); -#3732=AXIS2_PLACEMENT_2D('',#3733,$); -#3733=CARTESIAN_POINT('',(0.0,0.0)); -#3734=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#3617,#3726, - 'SIGNAL_4','',$,#3734); -#3735=MAPPED_ITEM('tlistt',#23478,#3736); -#3736=AXIS2_PLACEMENT_2D('',#3737,$); -#3737=CARTESIAN_POINT('',(0.0,0.0)); -#3738=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#3617,#3726, - 'SIGNAL_5','',$,#3738); -#3739=MAPPED_ITEM('tlistt',#23478,#3740); -#3740=AXIS2_PLACEMENT_2D('',#3741,$); -#3741=CARTESIAN_POINT('',(0.0,0.0)); -#3742=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#3617,#3726, - 'SIGNAL_6','',$,#3742); -#3743=MAPPED_ITEM('tlistt',#23478,#3744); -#3744=AXIS2_PLACEMENT_2D('',#3745,$); -#3745=CARTESIAN_POINT('',(0.0,0.0)); -#3746=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#3617,#3726, - 'SIGNAL_7','',$,#3746); -#3747=MAPPED_ITEM('tlistt',#23478,#3748); -#3748=AXIS2_PLACEMENT_2D('',#3749,$); -#3749=CARTESIAN_POINT('',(0.0,0.0)); -#3750=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#3617,#3726, - 'SIGNAL_8','',$,#3750); -#3751=MAPPED_ITEM('tlistt',#23478,#3752); -#3752=AXIS2_PLACEMENT_2D('',#3753,$); -#3753=CARTESIAN_POINT('',(0.0,0.0)); -#3754=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#3617,#3726, - 'SIGNAL_9','',$,#3754); -#3755=MAPPED_ITEM('tlistt',#23478,#3756); -#3756=AXIS2_PLACEMENT_2D('',#3757,$); -#3757=CARTESIAN_POINT('',(0.0,0.0)); -#3758=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#3617, - #3726,'SIGNAL_10','',$,#3758); -#3759=MAPPED_ITEM('tlistt',#23478,#3760); -#3760=AXIS2_PLACEMENT_2D('',#3761,$); -#3761=CARTESIAN_POINT('',(0.0,0.0)); -#3762=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#3617, - #3726,'SIGNAL_11','',$,#3762); -#3763=MAPPED_ITEM('tlistt',#23478,#3764); -#3764=AXIS2_PLACEMENT_2D('',#3765,$); -#3765=CARTESIAN_POINT('',(0.0,0.0)); -#3766=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#3617, - #3726,'SIGNAL_12','',$,#3766); -#3767=MAPPED_ITEM('tlistt',#23478,#3768); -#3768=AXIS2_PLACEMENT_2D('',#3769,$); -#3769=CARTESIAN_POINT('',(0.0,0.0)); -#3770=CSG_PRIMITIVE_SOLID_2D('',#3772); -#3771=CARTESIAN_POINT('',(0.0,0.0)); -#3772=CIRCULAR_AREA('',#3771,0.13); -#3773=PRODUCT('PAD_36_2$12_1$22-padstack','template',$,(#22901)); -#3774=PRODUCT_DEFINITION_FORMATION('1',$,#3773); -#3775=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#3774,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#3776=SHAPE_REPRESENTATION('ppsm',(#26,#3789,#3798,#3810,#3822,#3826,#3830,#3834, - #3838,#3842,#3846,#3859,#3872,#3885,#3889,#3893,#3897,#3901,#3905,#3909,#3913, - #3917,#3921),#3777); -#3777=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3778=PRODUCT('PAD_36_2$12_1$22-drill','template',$,(#22901)); -#3779=PRODUCT_DEFINITION_FORMATION('1',$,#3778); -#3780=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#3779,#28,'',$,*); -#3781=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #3780,.T.); -#3782=SHAPE_ASPECT('inside','component termination passage template join terminal', - #3780,.T.); -#3783=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3785),#3784); -#3784=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3785=CSG_PRIMITIVE_SOLID_2D('',#3787); -#3786=CARTESIAN_POINT('',(0.0,0.0)); -#3787=CIRCULAR_AREA('',#3786,0.033); -#3788=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3775,#3780,'drill'); -#3789=MAPPED_ITEM('tlistt',#23509,#3790); -#3790=AXIS2_PLACEMENT_2D('',#3791,$); -#3791=CARTESIAN_POINT('',(0.0,0.0)); -#3792=PRODUCT('PAD_36_2$12_1$22-SOLDER_MASK_1','template',$,(#22901)); -#3793=PRODUCT_DEFINITION_FORMATION('1',$,#3792); -#3794=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3793,#28,'',$,*); -#3795=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3801),#3796); -#3796=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3797=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#3775, - #3794,'SOLDER_MASK_1','',$,#3797); -#3798=MAPPED_ITEM('tlistt',#23513,#3799); -#3799=AXIS2_PLACEMENT_2D('',#3800,$); -#3800=CARTESIAN_POINT('',(0.0,0.0)); -#3801=CSG_PRIMITIVE_SOLID_2D('',#3803); -#3802=CARTESIAN_POINT('',(0.0,0.0)); -#3803=CIRCULAR_AREA('',#3802,0.0275); -#3804=PRODUCT('PAD_36_2$12_1$22-SOLDER_MASK_2','template',$,(#22901)); -#3805=PRODUCT_DEFINITION_FORMATION('1',$,#3804); -#3806=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3805,#28,'',$,*); -#3807=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3813),#3808); -#3808=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3809=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#3775, - #3806,'SOLDER_MASK_2','',$,#3809); -#3810=MAPPED_ITEM('tlistt',#23517,#3811); -#3811=AXIS2_PLACEMENT_2D('',#3812,$); -#3812=CARTESIAN_POINT('',(0.0,0.0)); -#3813=CSG_PRIMITIVE_SOLID_2D('',#3815); -#3814=CARTESIAN_POINT('',(0.0,0.0)); -#3815=CIRCULAR_AREA('',#3814,0.0765); -#3816=PRODUCT('PAD_36_2$12_1$22-POWER','template',$,(#22901)); -#3817=PRODUCT_DEFINITION_FORMATION('1',$,#3816); -#3818=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#3817,#28,'',$,*); -#3819=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3849),#3820); -#3820=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3821=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#3775,#3818, - 'POWER_1','',$,#3821); -#3822=MAPPED_ITEM('tlistt',#23521,#3823); -#3823=AXIS2_PLACEMENT_2D('',#3824,$); -#3824=CARTESIAN_POINT('',(0.0,0.0)); -#3825=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#3775,#3818, - 'POWER_2','',$,#3825); -#3826=MAPPED_ITEM('tlistt',#23521,#3827); -#3827=AXIS2_PLACEMENT_2D('',#3828,$); -#3828=CARTESIAN_POINT('',(0.0,0.0)); -#3829=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#3775,#3818, - 'POWER_3','',$,#3829); -#3830=MAPPED_ITEM('tlistt',#23521,#3831); -#3831=AXIS2_PLACEMENT_2D('',#3832,$); -#3832=CARTESIAN_POINT('',(0.0,0.0)); -#3833=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#3775,#3818, - 'POWER_4','',$,#3833); -#3834=MAPPED_ITEM('tlistt',#23521,#3835); -#3835=AXIS2_PLACEMENT_2D('',#3836,$); -#3836=CARTESIAN_POINT('',(0.0,0.0)); -#3837=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#3775,#3818, - 'POWER_5','',$,#3837); -#3838=MAPPED_ITEM('tlistt',#23521,#3839); -#3839=AXIS2_PLACEMENT_2D('',#3840,$); -#3840=CARTESIAN_POINT('',(0.0,0.0)); -#3841=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#3775,#3818, - 'POWER_6','',$,#3841); -#3842=MAPPED_ITEM('tlistt',#23521,#3843); -#3843=AXIS2_PLACEMENT_2D('',#3844,$); -#3844=CARTESIAN_POINT('',(0.0,0.0)); -#3845=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#3775,#3818, - 'POWER_7','',$,#3845); -#3846=MAPPED_ITEM('tlistt',#23521,#3847); -#3847=AXIS2_PLACEMENT_2D('',#3848,$); -#3848=CARTESIAN_POINT('',(0.0,0.0)); -#3849=CSG_PRIMITIVE_SOLID_2D('',#3851); -#3850=CARTESIAN_POINT('',(0.0,0.0)); -#3851=CIRCULAR_AREA('',#3850,0.0275); -#3852=PRODUCT('PAD_36_2$12_1$22-SIGNAL_1','template',$,(#22901)); -#3853=PRODUCT_DEFINITION_FORMATION('1',$,#3852); -#3854=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3853,#28,'',$,*); -#3855=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3862),#3856); -#3856=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3857=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3854,.T.); -#3858=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#3775,#3854, - 'SIGNAL_1','',$,#3858); -#3859=MAPPED_ITEM('tlistt',#23543,#3860); -#3860=AXIS2_PLACEMENT_2D('',#3861,$); -#3861=CARTESIAN_POINT('',(0.0,0.0)); -#3862=CSG_PRIMITIVE_SOLID_2D('',#3864); -#3863=CARTESIAN_POINT('',(0.0,0.0)); -#3864=CIRCULAR_AREA('',#3863,0.0175); -#3865=PRODUCT('PAD_36_2$12_1$22-SIGNAL_2','template',$,(#22901)); -#3866=PRODUCT_DEFINITION_FORMATION('1',$,#3865); -#3867=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3866,#28,'',$,*); -#3868=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3875),#3869); -#3869=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3870=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3867,.T.); -#3871=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#3775,#3867, - 'SIGNAL_2','',$,#3871); -#3872=MAPPED_ITEM('tlistt',#23547,#3873); -#3873=AXIS2_PLACEMENT_2D('',#3874,$); -#3874=CARTESIAN_POINT('',(0.0,0.0)); -#3875=CSG_PRIMITIVE_SOLID_2D('',#3877); -#3876=CARTESIAN_POINT('',(0.0,0.0)); -#3877=CIRCULAR_AREA('',#3876,0.125); -#3878=PRODUCT('PAD_36_2$12_1$22-SIGNAL','template',$,(#22901)); -#3879=PRODUCT_DEFINITION_FORMATION('1',$,#3878); -#3880=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3879,#28,'',$,*); -#3881=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3924),#3882); -#3882=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3883=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3880,.T.); -#3884=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#3775,#3880, - 'SIGNAL_3','',$,#3884); -#3885=MAPPED_ITEM('tlistt',#23551,#3886); -#3886=AXIS2_PLACEMENT_2D('',#3887,$); -#3887=CARTESIAN_POINT('',(0.0,0.0)); -#3888=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#3775,#3880, - 'SIGNAL_4','',$,#3888); -#3889=MAPPED_ITEM('tlistt',#23551,#3890); -#3890=AXIS2_PLACEMENT_2D('',#3891,$); -#3891=CARTESIAN_POINT('',(0.0,0.0)); -#3892=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#3775,#3880, - 'SIGNAL_5','',$,#3892); -#3893=MAPPED_ITEM('tlistt',#23551,#3894); -#3894=AXIS2_PLACEMENT_2D('',#3895,$); -#3895=CARTESIAN_POINT('',(0.0,0.0)); -#3896=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#3775,#3880, - 'SIGNAL_6','',$,#3896); -#3897=MAPPED_ITEM('tlistt',#23551,#3898); -#3898=AXIS2_PLACEMENT_2D('',#3899,$); -#3899=CARTESIAN_POINT('',(0.0,0.0)); -#3900=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#3775,#3880, - 'SIGNAL_7','',$,#3900); -#3901=MAPPED_ITEM('tlistt',#23551,#3902); -#3902=AXIS2_PLACEMENT_2D('',#3903,$); -#3903=CARTESIAN_POINT('',(0.0,0.0)); -#3904=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#3775,#3880, - 'SIGNAL_8','',$,#3904); -#3905=MAPPED_ITEM('tlistt',#23551,#3906); -#3906=AXIS2_PLACEMENT_2D('',#3907,$); -#3907=CARTESIAN_POINT('',(0.0,0.0)); -#3908=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#3775,#3880, - 'SIGNAL_9','',$,#3908); -#3909=MAPPED_ITEM('tlistt',#23551,#3910); -#3910=AXIS2_PLACEMENT_2D('',#3911,$); -#3911=CARTESIAN_POINT('',(0.0,0.0)); -#3912=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#3775, - #3880,'SIGNAL_10','',$,#3912); -#3913=MAPPED_ITEM('tlistt',#23551,#3914); -#3914=AXIS2_PLACEMENT_2D('',#3915,$); -#3915=CARTESIAN_POINT('',(0.0,0.0)); -#3916=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#3775, - #3880,'SIGNAL_11','',$,#3916); -#3917=MAPPED_ITEM('tlistt',#23551,#3918); -#3918=AXIS2_PLACEMENT_2D('',#3919,$); -#3919=CARTESIAN_POINT('',(0.0,0.0)); -#3920=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#3775, - #3880,'SIGNAL_12','',$,#3920); -#3921=MAPPED_ITEM('tlistt',#23551,#3922); -#3922=AXIS2_PLACEMENT_2D('',#3923,$); -#3923=CARTESIAN_POINT('',(0.0,0.0)); -#3924=CSG_PRIMITIVE_SOLID_2D('',#3926); -#3925=CARTESIAN_POINT('',(0.0,0.0)); -#3926=CIRCULAR_AREA('',#3925,0.06); -#3927=PRODUCT('PAD_36_2$22_1$22-padstack','template',$,(#22901)); -#3928=PRODUCT_DEFINITION_FORMATION('1',$,#3927); -#3929=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#3928,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#3930=SHAPE_REPRESENTATION('ppsm',(#26,#3947,#3956,#3968,#3980,#3984,#3988,#3992, - #3996,#4000,#4004,#4017,#4030,#4043,#4047,#4051,#4055,#4059,#4063,#4067,#4071, - #4075,#4079),#3931); -#3931=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3932=PASSAGE_TECHNOLOGY('0.053 inches','default component termination passage definition', - '',$,*); -#3933=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.053),#71)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#3934=REPRESENTATION('maximum tolerance',(#3933),#3935); -#3935=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3936=PRODUCT('PAD_36_2$22_1$22-drill','template',$,(#22901)); -#3937=PRODUCT_DEFINITION_FORMATION('1',$,#3936); -#3938=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#3937,#28,'',$,*); -#3939=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #3938,.T.); -#3940=SHAPE_ASPECT('inside','component termination passage template join terminal', - #3938,.T.); -#3941=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3943),#3942); -#3942=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3943=CSG_PRIMITIVE_SOLID_2D('',#3945); -#3944=CARTESIAN_POINT('',(0.0,0.0)); -#3945=CIRCULAR_AREA('',#3944,0.0265); -#3946=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3929,#3938,'drill'); -#3947=MAPPED_ITEM('tlistt',#23582,#3948); -#3948=AXIS2_PLACEMENT_2D('',#3949,$); -#3949=CARTESIAN_POINT('',(0.0,0.0)); -#3950=PRODUCT('PAD_36_2$22_1$22-SOLDER_MASK_1','template',$,(#22901)); -#3951=PRODUCT_DEFINITION_FORMATION('1',$,#3950); -#3952=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3951,#28,'',$,*); -#3953=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3959),#3954); -#3954=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3955=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#3929, - #3952,'SOLDER_MASK_1','',$,#3955); -#3956=MAPPED_ITEM('tlistt',#23586,#3957); -#3957=AXIS2_PLACEMENT_2D('',#3958,$); -#3958=CARTESIAN_POINT('',(0.0,0.0)); -#3959=CSG_PRIMITIVE_SOLID_2D('',#3961); -#3960=CARTESIAN_POINT('',(0.0,0.0)); -#3961=CIRCULAR_AREA('',#3960,0.0275); -#3962=PRODUCT('PAD_36_2$22_1$22-SOLDER_MASK_2','template',$,(#22901)); -#3963=PRODUCT_DEFINITION_FORMATION('1',$,#3962); -#3964=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3963,#28,'',$,*); -#3965=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3971),#3966); -#3966=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3967=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#3929, - #3964,'SOLDER_MASK_2','',$,#3967); -#3968=MAPPED_ITEM('tlistt',#23590,#3969); -#3969=AXIS2_PLACEMENT_2D('',#3970,$); -#3970=CARTESIAN_POINT('',(0.0,0.0)); -#3971=CSG_PRIMITIVE_SOLID_2D('',#3973); -#3972=CARTESIAN_POINT('',(0.0,0.0)); -#3973=CIRCULAR_AREA('',#3972,0.0635); -#3974=PRODUCT('PAD_36_2$22_1$22-POWER','template',$,(#22901)); -#3975=PRODUCT_DEFINITION_FORMATION('1',$,#3974); -#3976=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#3975,#28,'',$,*); -#3977=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4007),#3978); -#3978=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3979=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#3929,#3976, - 'POWER_1','',$,#3979); -#3980=MAPPED_ITEM('tlistt',#23594,#3981); -#3981=AXIS2_PLACEMENT_2D('',#3982,$); -#3982=CARTESIAN_POINT('',(0.0,0.0)); -#3983=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#3929,#3976, - 'POWER_2','',$,#3983); -#3984=MAPPED_ITEM('tlistt',#23594,#3985); -#3985=AXIS2_PLACEMENT_2D('',#3986,$); -#3986=CARTESIAN_POINT('',(0.0,0.0)); -#3987=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#3929,#3976, - 'POWER_3','',$,#3987); -#3988=MAPPED_ITEM('tlistt',#23594,#3989); -#3989=AXIS2_PLACEMENT_2D('',#3990,$); -#3990=CARTESIAN_POINT('',(0.0,0.0)); -#3991=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#3929,#3976, - 'POWER_4','',$,#3991); -#3992=MAPPED_ITEM('tlistt',#23594,#3993); -#3993=AXIS2_PLACEMENT_2D('',#3994,$); -#3994=CARTESIAN_POINT('',(0.0,0.0)); -#3995=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#3929,#3976, - 'POWER_5','',$,#3995); -#3996=MAPPED_ITEM('tlistt',#23594,#3997); -#3997=AXIS2_PLACEMENT_2D('',#3998,$); -#3998=CARTESIAN_POINT('',(0.0,0.0)); -#3999=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#3929,#3976, - 'POWER_6','',$,#3999); -#4000=MAPPED_ITEM('tlistt',#23594,#4001); -#4001=AXIS2_PLACEMENT_2D('',#4002,$); -#4002=CARTESIAN_POINT('',(0.0,0.0)); -#4003=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#3929,#3976, - 'POWER_7','',$,#4003); -#4004=MAPPED_ITEM('tlistt',#23594,#4005); -#4005=AXIS2_PLACEMENT_2D('',#4006,$); -#4006=CARTESIAN_POINT('',(0.0,0.0)); -#4007=CSG_PRIMITIVE_SOLID_2D('',#4009); -#4008=CARTESIAN_POINT('',(0.0,0.0)); -#4009=CIRCULAR_AREA('',#4008,0.0275); -#4010=PRODUCT('PAD_36_2$22_1$22-SIGNAL_1','template',$,(#22901)); -#4011=PRODUCT_DEFINITION_FORMATION('1',$,#4010); -#4012=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #4011,#28,'',$,*); -#4013=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4020),#4014); -#4014=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4015=LAND_TEMPLATE_TERMINAL('inside','join terminal',#4012,.T.); -#4016=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#3929,#4012, - 'SIGNAL_1','',$,#4016); -#4017=MAPPED_ITEM('tlistt',#23616,#4018); -#4018=AXIS2_PLACEMENT_2D('',#4019,$); -#4019=CARTESIAN_POINT('',(0.0,0.0)); -#4020=CSG_PRIMITIVE_SOLID_2D('',#4022); -#4021=CARTESIAN_POINT('',(0.0,0.0)); -#4022=CIRCULAR_AREA('',#4021,0.0175); -#4023=PRODUCT('PAD_36_2$22_1$22-SIGNAL_2','template',$,(#22901)); -#4024=PRODUCT_DEFINITION_FORMATION('1',$,#4023); -#4025=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #4024,#28,'',$,*); -#4026=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4033),#4027); -#4027=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4028=LAND_TEMPLATE_TERMINAL('inside','join terminal',#4025,.T.); -#4029=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#3929,#4025, - 'SIGNAL_2','',$,#4029); -#4030=MAPPED_ITEM('tlistt',#23620,#4031); -#4031=AXIS2_PLACEMENT_2D('',#4032,$); -#4032=CARTESIAN_POINT('',(0.0,0.0)); -#4033=CSG_PRIMITIVE_SOLID_2D('',#4035); -#4034=CARTESIAN_POINT('',(0.0,0.0)); -#4035=CIRCULAR_AREA('',#4034,0.0175); -#4036=PRODUCT('PAD_36_2$22_1$22-SIGNAL','template',$,(#22901)); -#4037=PRODUCT_DEFINITION_FORMATION('1',$,#4036); -#4038=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #4037,#28,'',$,*); -#4039=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4082),#4040); -#4040=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4041=LAND_TEMPLATE_TERMINAL('inside','join terminal',#4038,.T.); -#4042=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#3929,#4038, - 'SIGNAL_3','',$,#4042); -#4043=MAPPED_ITEM('tlistt',#23624,#4044); -#4044=AXIS2_PLACEMENT_2D('',#4045,$); -#4045=CARTESIAN_POINT('',(0.0,0.0)); -#4046=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#3929,#4038, - 'SIGNAL_4','',$,#4046); -#4047=MAPPED_ITEM('tlistt',#23624,#4048); -#4048=AXIS2_PLACEMENT_2D('',#4049,$); -#4049=CARTESIAN_POINT('',(0.0,0.0)); -#4050=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#3929,#4038, - 'SIGNAL_5','',$,#4050); -#4051=MAPPED_ITEM('tlistt',#23624,#4052); -#4052=AXIS2_PLACEMENT_2D('',#4053,$); -#4053=CARTESIAN_POINT('',(0.0,0.0)); -#4054=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#3929,#4038, - 'SIGNAL_6','',$,#4054); -#4055=MAPPED_ITEM('tlistt',#23624,#4056); -#4056=AXIS2_PLACEMENT_2D('',#4057,$); -#4057=CARTESIAN_POINT('',(0.0,0.0)); -#4058=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#3929,#4038, - 'SIGNAL_7','',$,#4058); -#4059=MAPPED_ITEM('tlistt',#23624,#4060); -#4060=AXIS2_PLACEMENT_2D('',#4061,$); -#4061=CARTESIAN_POINT('',(0.0,0.0)); -#4062=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#3929,#4038, - 'SIGNAL_8','',$,#4062); -#4063=MAPPED_ITEM('tlistt',#23624,#4064); -#4064=AXIS2_PLACEMENT_2D('',#4065,$); -#4065=CARTESIAN_POINT('',(0.0,0.0)); -#4066=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#3929,#4038, - 'SIGNAL_9','',$,#4066); -#4067=MAPPED_ITEM('tlistt',#23624,#4068); -#4068=AXIS2_PLACEMENT_2D('',#4069,$); -#4069=CARTESIAN_POINT('',(0.0,0.0)); -#4070=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#3929, - #4038,'SIGNAL_10','',$,#4070); -#4071=MAPPED_ITEM('tlistt',#23624,#4072); -#4072=AXIS2_PLACEMENT_2D('',#4073,$); -#4073=CARTESIAN_POINT('',(0.0,0.0)); -#4074=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#3929, - #4038,'SIGNAL_11','',$,#4074); -#4075=MAPPED_ITEM('tlistt',#23624,#4076); -#4076=AXIS2_PLACEMENT_2D('',#4077,$); -#4077=CARTESIAN_POINT('',(0.0,0.0)); -#4078=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#3929, - #4038,'SIGNAL_12','',$,#4078); -#4079=MAPPED_ITEM('tlistt',#23624,#4080); -#4080=AXIS2_PLACEMENT_2D('',#4081,$); -#4081=CARTESIAN_POINT('',(0.0,0.0)); -#4082=CSG_PRIMITIVE_SOLID_2D('',#4084); -#4083=CARTESIAN_POINT('',(0.0,0.0)); -#4084=CIRCULAR_AREA('',#4083,0.06); -#4085=PRODUCT('VIA028','template',$,(#22901)); -#4086=PRODUCT_DEFINITION_FORMATION('1',$,#4085); -#4087=VIA_TEMPLATE('1',$,#4086,#28,'',$,*); -#4088=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4089),#4092); -#4089=CSG_PRIMITIVE_SOLID_2D('',#4091); -#4090=CARTESIAN_POINT('',(0.0,0.0)); -#4091=CIRCULAR_AREA('',#4090,0.0065); -#4092=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4093=PASSAGE_TECHNOLOGY('0.013 TN DVD type','default via definition','',$,*); -#4094=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.013),#17)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#4095=REPRESENTATION('maximum tolerance',(#4094),#4096); -#4096=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4097=REPRESENTATION('maximum tolerance',(#4098),#4096); -#4098=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.013),#17)QUALIFIED_REPRESENTATION_ITEM((#101))REPRESENTATION_ITEM('')); -#4099=PRODUCT('VIA028-padstack','template',$,(#22901)); -#4100=PRODUCT_DEFINITION_FORMATION('1',$,#4099); -#4101=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#4100,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#4102=SHAPE_REPRESENTATION('ppsm',(#26,#4105,#4114,#4126,#4130,#4134,#4138,#4142, - #4146,#4150,#4163,#4176),#4103); -#4103=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4104=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#4101,#4087,'drill'); -#4105=MAPPED_ITEM('tlistt',#23655,#4106); -#4106=AXIS2_PLACEMENT_2D('',#4107,$); -#4107=CARTESIAN_POINT('',(0.0,0.0)); -#4108=PRODUCT('VIA028-SOLDER_MASK_1','template',$,(#22901)); -#4109=PRODUCT_DEFINITION_FORMATION('1',$,#4108); -#4110=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#4109,#28,'',$,*); -#4111=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4117),#4112); -#4112=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4113=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#4101, - #4110,'SOLDER_MASK_1','',$,#4113); -#4114=MAPPED_ITEM('tlistt',#23659,#4115); -#4115=AXIS2_PLACEMENT_2D('',#4116,$); -#4116=CARTESIAN_POINT('',(0.0,0.0)); -#4117=CSG_PRIMITIVE_SOLID_2D('',#4119); -#4118=CARTESIAN_POINT('',(0.0,0.0)); -#4119=CIRCULAR_AREA('',#4118,0.041); -#4120=PRODUCT('VIA028-POWER','template',$,(#22901)); -#4121=PRODUCT_DEFINITION_FORMATION('1',$,#4120); -#4122=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#4121,#28,'',$,*); -#4123=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4153),#4124); -#4124=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4125=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#4101,#4122, - 'POWER_1','',$,#4125); -#4126=MAPPED_ITEM('tlistt',#23663,#4127); -#4127=AXIS2_PLACEMENT_2D('',#4128,$); -#4128=CARTESIAN_POINT('',(0.0,0.0)); -#4129=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#4101,#4122, - 'POWER_2','',$,#4129); -#4130=MAPPED_ITEM('tlistt',#23663,#4131); -#4131=AXIS2_PLACEMENT_2D('',#4132,$); -#4132=CARTESIAN_POINT('',(0.0,0.0)); -#4133=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#4101,#4122, - 'POWER_3','',$,#4133); -#4134=MAPPED_ITEM('tlistt',#23663,#4135); -#4135=AXIS2_PLACEMENT_2D('',#4136,$); -#4136=CARTESIAN_POINT('',(0.0,0.0)); -#4137=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#4101,#4122, - 'POWER_4','',$,#4137); -#4138=MAPPED_ITEM('tlistt',#23663,#4139); -#4139=AXIS2_PLACEMENT_2D('',#4140,$); -#4140=CARTESIAN_POINT('',(0.0,0.0)); -#4141=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#4101,#4122, - 'POWER_5','',$,#4141); -#4142=MAPPED_ITEM('tlistt',#23663,#4143); -#4143=AXIS2_PLACEMENT_2D('',#4144,$); -#4144=CARTESIAN_POINT('',(0.0,0.0)); -#4145=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#4101,#4122, - 'POWER_6','',$,#4145); -#4146=MAPPED_ITEM('tlistt',#23663,#4147); -#4147=AXIS2_PLACEMENT_2D('',#4148,$); -#4148=CARTESIAN_POINT('',(0.0,0.0)); -#4149=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#4101,#4122, - 'POWER_7','',$,#4149); -#4150=MAPPED_ITEM('tlistt',#23663,#4151); -#4151=AXIS2_PLACEMENT_2D('',#4152,$); -#4152=CARTESIAN_POINT('',(0.0,0.0)); -#4153=CSG_PRIMITIVE_SOLID_2D('',#4155); -#4154=CARTESIAN_POINT('',(0.0,0.0)); -#4155=CIRCULAR_AREA('',#4154,0.041); -#4156=PRODUCT('VIA028-SIGNAL_1','template',$,(#22901)); -#4157=PRODUCT_DEFINITION_FORMATION('1',$,#4156); -#4158=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #4157,#28,'',$,*); -#4159=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4166),#4160); -#4160=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4161=LAND_TEMPLATE_TERMINAL('inside','join terminal',#4158,.T.); -#4162=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#4101,#4158, - 'SIGNAL_1','',$,#4162); -#4163=MAPPED_ITEM('tlistt',#23685,#4164); -#4164=AXIS2_PLACEMENT_2D('',#4165,$); -#4165=CARTESIAN_POINT('',(0.0,0.0)); -#4166=CSG_PRIMITIVE_SOLID_2D('',#4168); -#4167=CARTESIAN_POINT('',(0.0,0.0)); -#4168=CIRCULAR_AREA('',#4167,0.031); -#4169=PRODUCT('VIA028-SIGNAL_2','template',$,(#22901)); -#4170=PRODUCT_DEFINITION_FORMATION('1',$,#4169); -#4171=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #4170,#28,'',$,*); -#4172=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4179),#4173); -#4173=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4174=LAND_TEMPLATE_TERMINAL('inside','join terminal',#4171,.T.); -#4175=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#4101,#4171, - 'SIGNAL_2','',$,#4175); -#4176=MAPPED_ITEM('tlistt',#23689,#4177); -#4177=AXIS2_PLACEMENT_2D('',#4178,$); -#4178=CARTESIAN_POINT('',(0.0,0.0)); -#4179=CSG_PRIMITIVE_SOLID_2D('',#4181); -#4180=CARTESIAN_POINT('',(0.0,0.0)); -#4181=CIRCULAR_AREA('',#4180,0.031); -#4182=SHAPE_ASPECT('TOP','via template terminal',#4087,.T.); -#4183=SHAPE_ASPECT('BOTTOM','via template terminal',#4087,.T.); -#4184=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4185=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4189),#4184); -#4186=POLYLINE('',(#4187,#4188)); -#4187=CARTESIAN_POINT('',(0.15,0.0)); -#4188=CARTESIAN_POINT('',(0.0,0.0)); -#4189=GEOMETRIC_CURVE_SET('',(#4186,#4190,#4193)); -#4190=POLYLINE('',(#4191,#4192)); -#4191=CARTESIAN_POINT('',(0.35,0.0)); -#4192=CARTESIAN_POINT('',(0.5,0.0)); -#4193=POLYLINE('',(#4194,#4195,#4196,#4197,#4198)); -#4194=CARTESIAN_POINT('',(0.15,-0.0375)); -#4195=CARTESIAN_POINT('',(0.15,0.0375)); -#4196=CARTESIAN_POINT('',(0.35,0.0375)); -#4197=CARTESIAN_POINT('',(0.35,-0.0375)); -#4198=CARTESIAN_POINT('',(0.15,-0.0375)); -#4199=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4200),#96); -#4200=CSG_SOLID_2D('',#4202); -#4201=CARTESIAN_POINT('',(0.0,0.0)); -#4202=CIRCULAR_AREA('',#4201,0.015); -#4203=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4204=PRODUCT_DEFINITION_SHAPE('',$,#4203); -#4205=SHAPE_DEFINITION_REPRESENTATION(#4204,#4199); -#4206=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('terminal core material', - (#4203,#4246,#4293,#4334,#4375,#4410,#4445,#4471,#4539,#5368,#5407,#5446,#5488, - #5523,#5552,#5684,#5809,#5844,#5887)); -#4207=APPLIED_CLASSIFICATION_ASSIGNMENT(#4209,#4208,(#4206)); -#4208=CLASSIFICATION_ROLE('terminal core material',$); -#4209=CLASS('conductive','electrical conductivity'); -#4210=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('terminal surface material', - (#4203,#4246,#4293,#4334,#4375,#4410,#4445,#4471,#4539,#5368,#5407,#5446,#5488, - #5523,#5552,#5684,#5809,#5844,#5887)); -#4211=APPLIED_CLASSIFICATION_ASSIGNMENT(#4213,#4212,(#4210)); -#4212=CLASSIFICATION_ROLE('terminal surface material',$); -#4213=CLASS('conductive','electrical conductivity'); -#4214=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#95,.T.); -#4215=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17716,#4216,'',$,#4214,#97,*); -#4216=AXIS2_PLACEMENT_2D('',#4217,$); -#4217=CARTESIAN_POINT('',(0.0,0.0)); -#4218=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#122,#2677,'1'); -#4219=MAPPED_ITEM('tlistt',#23693,#4216); -#4220=PACKAGE_TERMINAL('2','part generic feature',#95,.T.); -#4221=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17716,#4222,'',$,#4220,#97,*); -#4222=AXIS2_PLACEMENT_2D('',#4224,#4223); -#4223=DIRECTION('',(1.0,0.0)); -#4224=CARTESIAN_POINT('',(0.5,0.0)); -#4225=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#122,#2677,'2'); -#4226=MAPPED_ITEM('tlistt',#23693,#4222); -#4227=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4228=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4232),#4227); -#4229=POLYLINE('',(#4230,#4231)); -#4230=CARTESIAN_POINT('',(0.1,0.0)); -#4231=CARTESIAN_POINT('',(0.0,0.0)); -#4232=GEOMETRIC_CURVE_SET('',(#4229,#4233,#4239)); -#4233=POLYLINE('',(#4234,#4235,#4236,#4237,#4238)); -#4234=CARTESIAN_POINT('',(0.1,-0.075)); -#4235=CARTESIAN_POINT('',(0.1,0.075)); -#4236=CARTESIAN_POINT('',(0.5,0.075)); -#4237=CARTESIAN_POINT('',(0.5,-0.075)); -#4238=CARTESIAN_POINT('',(0.1,-0.075)); -#4239=POLYLINE('',(#4240,#4241)); -#4240=CARTESIAN_POINT('',(0.5,0.0)); -#4241=CARTESIAN_POINT('',(0.6,0.0)); -#4242=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4243),#128); -#4243=CSG_SOLID_2D('',#4245); -#4244=CARTESIAN_POINT('',(0.0,0.0)); -#4245=CIRCULAR_AREA('',#4244,0.015); -#4246=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4247=PRODUCT_DEFINITION_SHAPE('',$,#4246); -#4248=SHAPE_DEFINITION_REPRESENTATION(#4247,#4242); -#4249=PRIMARY_REFERENCE_TERMINAL('2','part generic feature',#127,.T.); -#4250=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17717,#4251,'',$,#4249,#129,*); -#4251=AXIS2_PLACEMENT_2D('',#4253,#4252); -#4252=DIRECTION('',(1.0,0.0)); -#4253=CARTESIAN_POINT('',(0.6,0.0)); -#4254=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#147,#2677,'2'); -#4255=MAPPED_ITEM('tlistt',#23693,#4251); -#4256=PACKAGE_TERMINAL('1','part generic feature',#127,.T.); -#4257=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17717,#4258,'',$,#4256,#129,*); -#4258=AXIS2_PLACEMENT_2D('',#4259,$); -#4259=CARTESIAN_POINT('',(0.0,0.0)); -#4260=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#147,#2835,'1'); -#4261=MAPPED_ITEM('tlistt',#23703,#4258); -#4262=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4263=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4282),#4262); -#4264=POLYLINE('',(#4265,#4266,#4267,#4268,#4269,#4270,#4271,#4272,#4273,#4274,#4275, - #4276,#4277,#4278,#4279,#4280,#4281)); -#4265=CARTESIAN_POINT('',(0.3,0.3)); -#4266=CARTESIAN_POINT('',(1.9,0.3)); -#4267=CARTESIAN_POINT('',(1.9,0.25)); -#4268=CARTESIAN_POINT('',(1.95,0.05)); -#4269=CARTESIAN_POINT('',(2.0,0.05)); -#4270=CARTESIAN_POINT('',(2.0,-0.05)); -#4271=CARTESIAN_POINT('',(1.95,-0.05)); -#4272=CARTESIAN_POINT('',(1.9,-0.25)); -#4273=CARTESIAN_POINT('',(1.9,-0.3)); -#4274=CARTESIAN_POINT('',(0.3,-0.3)); -#4275=CARTESIAN_POINT('',(0.3,-0.25)); -#4276=CARTESIAN_POINT('',(0.25,-0.05)); -#4277=CARTESIAN_POINT('',(0.2,-0.05)); -#4278=CARTESIAN_POINT('',(0.2,0.05)); -#4279=CARTESIAN_POINT('',(0.25,0.05)); -#4280=CARTESIAN_POINT('',(0.3,0.25)); -#4281=CARTESIAN_POINT('',(0.3,0.3)); -#4282=GEOMETRIC_CURVE_SET('',(#4264,#4283,#4286)); -#4283=POLYLINE('',(#4284,#4285)); -#4284=CARTESIAN_POINT('',(2.0,0.0)); -#4285=CARTESIAN_POINT('',(2.2,0.0)); -#4286=POLYLINE('',(#4287,#4288)); -#4287=CARTESIAN_POINT('',(0.0,0.0)); -#4288=CARTESIAN_POINT('',(0.2,0.0)); -#4289=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4290),#152); -#4290=CSG_SOLID_2D('',#4292); -#4291=CARTESIAN_POINT('',(0.0,0.0)); -#4292=CIRCULAR_AREA('',#4291,0.015); -#4293=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4294=PRODUCT_DEFINITION_SHAPE('',$,#4293); -#4295=SHAPE_DEFINITION_REPRESENTATION(#4294,#4289); -#4296=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#151,.T.); -#4297=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17718,#4298,'',$,#4296,#153,*); -#4298=AXIS2_PLACEMENT_2D('',#4299,$); -#4299=CARTESIAN_POINT('',(0.0,0.0)); -#4300=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#171,#2515,'1'); -#4301=MAPPED_ITEM('tlistt',#23707,#4298); -#4302=PACKAGE_TERMINAL('2','part generic feature',#151,.T.); -#4303=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17718,#4304,'',$,#4302,#153,*); -#4304=AXIS2_PLACEMENT_2D('',#4306,#4305); -#4305=DIRECTION('',(1.0,0.0)); -#4306=CARTESIAN_POINT('',(2.2,0.0)); -#4307=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#171,#2515,'2'); -#4308=MAPPED_ITEM('tlistt',#23707,#4304); -#4309=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4310=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4314),#4309); -#4311=POLYLINE('',(#4312,#4313)); -#4312=CARTESIAN_POINT('',(0.1,0.0)); -#4313=CARTESIAN_POINT('',(0.0,0.0)); -#4314=GEOMETRIC_CURVE_SET('',(#4311,#4315,#4321,#4329)); -#4315=POLYLINE('',(#4316,#4317,#4318,#4319,#4320)); -#4316=CARTESIAN_POINT('',(0.425,-0.075)); -#4317=CARTESIAN_POINT('',(0.425,0.075)); -#4318=CARTESIAN_POINT('',(0.1,0.075)); -#4319=CARTESIAN_POINT('',(0.1,-0.075)); -#4320=CARTESIAN_POINT('',(0.425,-0.075)); -#4321=POLYLINE('',(#4322,#4323)); -#4322=CARTESIAN_POINT('',(0.4875,0.0)); -#4323=CARTESIAN_POINT('',(0.6,0.0)); -#4324=CARTESIAN_POINT('',(0.425,-0.0625)); -#4325=CARTESIAN_POINT('',(0.425,0.0625)); -#4326=CARTESIAN_POINT('',(0.4249999999999999,0.0)); -#4327=AXIS2_PLACEMENT_2D('',#4326,$); -#4328=CIRCLE('',#4327,0.062499999999999556); -#4329=TRIMMED_CURVE('',#4328,(#4324),(#4325),.T.,.CARTESIAN.); -#4330=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4331),#176); -#4331=CSG_SOLID_2D('',#4333); -#4332=CARTESIAN_POINT('',(0.0,0.0)); -#4333=CIRCULAR_AREA('',#4332,0.015); -#4334=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4335=PRODUCT_DEFINITION_SHAPE('',$,#4334); -#4336=SHAPE_DEFINITION_REPRESENTATION(#4335,#4330); -#4337=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#175,.T.); -#4338=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17719,#4339,'',$,#4337,#177,*); -#4339=AXIS2_PLACEMENT_2D('',#4340,$); -#4340=CARTESIAN_POINT('',(0.0,0.0)); -#4341=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#195,#2835,'1'); -#4342=MAPPED_ITEM('tlistt',#23703,#4339); -#4343=PACKAGE_TERMINAL('2','part generic feature',#175,.T.); -#4344=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17719,#4345,'',$,#4343,#177,*); -#4345=AXIS2_PLACEMENT_2D('',#4347,#4346); -#4346=DIRECTION('',(1.0,0.0)); -#4347=CARTESIAN_POINT('',(0.6,0.0)); -#4348=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#195,#2677,'2'); -#4349=MAPPED_ITEM('tlistt',#23693,#4345); -#4350=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4351=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4355),#4350); -#4352=POLYLINE('',(#4353,#4354)); -#4353=CARTESIAN_POINT('',(0.7,0.0)); -#4354=CARTESIAN_POINT('',(0.8,0.0)); -#4355=GEOMETRIC_CURVE_SET('',(#4352,#4356,#4362,#4370)); -#4356=POLYLINE('',(#4357,#4358,#4359,#4360,#4361)); -#4357=CARTESIAN_POINT('',(0.625,-0.1)); -#4358=CARTESIAN_POINT('',(0.625,0.1)); -#4359=CARTESIAN_POINT('',(0.1,0.1)); -#4360=CARTESIAN_POINT('',(0.1,-0.1)); -#4361=CARTESIAN_POINT('',(0.625,-0.1)); -#4362=POLYLINE('',(#4363,#4364)); -#4363=CARTESIAN_POINT('',(0.1,0.0)); -#4364=CARTESIAN_POINT('',(0.0,0.0)); -#4365=CARTESIAN_POINT('',(0.625,-0.0875)); -#4366=CARTESIAN_POINT('',(0.625,0.0875)); -#4367=CARTESIAN_POINT('',(0.6125135704874838,0.0)); -#4368=AXIS2_PLACEMENT_2D('',#4367,$); -#4369=CIRCLE('',#4368,0.08838642951252038); -#4370=TRIMMED_CURVE('',#4369,(#4365),(#4366),.T.,.CARTESIAN.); -#4371=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4372),#200); -#4372=CSG_SOLID_2D('',#4374); -#4373=CARTESIAN_POINT('',(0.0,0.0)); -#4374=CIRCULAR_AREA('',#4373,0.015); -#4375=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4376=PRODUCT_DEFINITION_SHAPE('',$,#4375); -#4377=SHAPE_DEFINITION_REPRESENTATION(#4376,#4371); -#4378=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#199,.T.); -#4379=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17720,#4380,'',$,#4378,#201,*); -#4380=AXIS2_PLACEMENT_2D('',#4381,$); -#4381=CARTESIAN_POINT('',(0.0,0.0)); -#4382=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#219,#3305,'1'); -#4383=MAPPED_ITEM('tlistt',#23720,#4380); -#4384=PACKAGE_TERMINAL('2','part generic feature',#199,.T.); -#4385=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17720,#4386,'',$,#4384,#201,*); -#4386=AXIS2_PLACEMENT_2D('',#4388,#4387); -#4387=DIRECTION('',(1.0,0.0)); -#4388=CARTESIAN_POINT('',(0.8,0.0)); -#4389=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#219,#2993,'2'); -#4390=MAPPED_ITEM('tlistt',#23724,#4386); -#4391=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4392=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4396),#4391); -#4393=POLYLINE('',(#4394,#4395)); -#4394=CARTESIAN_POINT('',(0.15,0.0)); -#4395=CARTESIAN_POINT('',(0.0,0.0)); -#4396=GEOMETRIC_CURVE_SET('',(#4393,#4397,#4400)); -#4397=POLYLINE('',(#4398,#4399)); -#4398=CARTESIAN_POINT('',(0.35,0.0)); -#4399=CARTESIAN_POINT('',(0.5,0.0)); -#4400=POLYLINE('',(#4401,#4402,#4403,#4404,#4405)); -#4401=CARTESIAN_POINT('',(0.15,-0.05)); -#4402=CARTESIAN_POINT('',(0.15,0.05)); -#4403=CARTESIAN_POINT('',(0.35,0.05)); -#4404=CARTESIAN_POINT('',(0.35,-0.05)); -#4405=CARTESIAN_POINT('',(0.15,-0.05)); -#4406=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4407),#224); -#4407=CSG_SOLID_2D('',#4409); -#4408=CARTESIAN_POINT('',(0.0,0.0)); -#4409=CIRCULAR_AREA('',#4408,0.015); -#4410=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4411=PRODUCT_DEFINITION_SHAPE('',$,#4410); -#4412=SHAPE_DEFINITION_REPRESENTATION(#4411,#4406); -#4413=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#223,.T.); -#4414=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17721,#4415,'',$,#4413,#225,*); -#4415=AXIS2_PLACEMENT_2D('',#4416,$); -#4416=CARTESIAN_POINT('',(0.0,0.0)); -#4417=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#243,#2677,'1'); -#4418=MAPPED_ITEM('tlistt',#23693,#4415); -#4419=PACKAGE_TERMINAL('2','part generic feature',#223,.T.); -#4420=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17721,#4421,'',$,#4419,#225,*); -#4421=AXIS2_PLACEMENT_2D('',#4423,#4422); -#4422=DIRECTION('',(1.0,0.0)); -#4423=CARTESIAN_POINT('',(0.5,0.0)); -#4424=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#243,#2677,'2'); -#4425=MAPPED_ITEM('tlistt',#23693,#4421); -#4426=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4427=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4434),#4426); -#4428=POLYLINE('',(#4429,#4430,#4431,#4432,#4433)); -#4429=CARTESIAN_POINT('',(0.15,-0.05)); -#4430=CARTESIAN_POINT('',(0.15,0.05)); -#4431=CARTESIAN_POINT('',(0.35,0.05)); -#4432=CARTESIAN_POINT('',(0.35,-0.05)); -#4433=CARTESIAN_POINT('',(0.15,-0.05)); -#4434=GEOMETRIC_CURVE_SET('',(#4428,#4435,#4438)); -#4435=POLYLINE('',(#4436,#4437)); -#4436=CARTESIAN_POINT('',(0.35,0.0)); -#4437=CARTESIAN_POINT('',(0.5,0.0)); -#4438=POLYLINE('',(#4439,#4440)); -#4439=CARTESIAN_POINT('',(0.15,0.0)); -#4440=CARTESIAN_POINT('',(0.0,0.0)); -#4441=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4442),#248); -#4442=CSG_SOLID_2D('',#4444); -#4443=CARTESIAN_POINT('',(0.0,0.0)); -#4444=CIRCULAR_AREA('',#4443,0.015); -#4445=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4446=PRODUCT_DEFINITION_SHAPE('',$,#4445); -#4447=SHAPE_DEFINITION_REPRESENTATION(#4446,#4441); -#4448=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#247,.T.); -#4449=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17722,#4450,'',$,#4448,#249,*); -#4450=AXIS2_PLACEMENT_2D('',#4451,$); -#4451=CARTESIAN_POINT('',(0.0,0.0)); -#4452=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#267,#2515,'1'); -#4453=MAPPED_ITEM('tlistt',#23707,#4450); -#4454=PACKAGE_TERMINAL('2','part generic feature',#247,.T.); -#4455=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17722,#4456,'',$,#4454,#249,*); -#4456=AXIS2_PLACEMENT_2D('',#4458,#4457); -#4457=DIRECTION('',(1.0,0.0)); -#4458=CARTESIAN_POINT('',(0.5,0.0)); -#4459=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#267,#3305,'2'); -#4460=MAPPED_ITEM('tlistt',#23720,#4456); -#4461=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4462=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4466),#4461); -#4463=CARTESIAN_POINT('',(0.39999999999999997,0.0)); -#4464=AXIS2_PLACEMENT_2D('',#4463,$); -#4465=CIRCLE('',#4464,0.5147999999999999); -#4466=GEOMETRIC_CURVE_SET('',(#4465)); -#4467=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4468),#272); -#4468=CSG_SOLID_2D('',#4470); -#4469=CARTESIAN_POINT('',(0.0,0.0)); -#4470=CIRCULAR_AREA('',#4469,0.015); -#4471=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4472=PRODUCT_DEFINITION_SHAPE('',$,#4471); -#4473=SHAPE_DEFINITION_REPRESENTATION(#4472,#4467); -#4474=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#271,.T.); -#4475=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17723,#4476,'',$,#4474,#273,*); -#4476=AXIS2_PLACEMENT_2D('',#4477,$); -#4477=CARTESIAN_POINT('',(0.0,0.0)); -#4478=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#300,#2835,'1'); -#4479=MAPPED_ITEM('tlistt',#23703,#4476); -#4480=PACKAGE_TERMINAL('2','part generic feature',#271,.T.); -#4481=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17723,#4482,'',$,#4480,#273,*); -#4482=AXIS2_PLACEMENT_2D('',#4484,#4483); -#4483=DIRECTION('',(1.0,0.0)); -#4484=CARTESIAN_POINT('',(0.4,0.4)); -#4485=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#300,#2515,'2'); -#4486=MAPPED_ITEM('tlistt',#23707,#4482); -#4487=PACKAGE_TERMINAL('3','part generic feature',#271,.T.); -#4488=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17723,#4489,'',$,#4487,#273,*); -#4489=AXIS2_PLACEMENT_2D('',#4491,#4490); -#4490=DIRECTION('',(1.0,0.0)); -#4491=CARTESIAN_POINT('',(0.4,-0.4)); -#4492=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#300,#2515,'3'); -#4493=MAPPED_ITEM('tlistt',#23707,#4489); -#4494=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4495=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4502),#4494); -#4496=CARTESIAN_POINT('',(5.8,-0.1)); -#4497=CARTESIAN_POINT('',(5.85,-0.05)); -#4498=CARTESIAN_POINT('',(5.799981763285478,-0.04998176326926738)); -#4499=AXIS2_PLACEMENT_2D('',#4498,$); -#4500=CIRCLE('',#4499,0.05001824007499851); -#4501=TRIMMED_CURVE('',#4500,(#4496),(#4497),.T.,.CARTESIAN.); -#4502=GEOMETRIC_CURVE_SET('',(#4501,#4503,#4508,#4520,#4521,#4530)); -#4503=POLYLINE('',(#4504,#4505,#4506,#4507)); -#4504=CARTESIAN_POINT('',(5.7,0.4)); -#4505=CARTESIAN_POINT('',(5.7,0.65)); -#4506=CARTESIAN_POINT('',(5.6,0.65)); -#4507=CARTESIAN_POINT('',(5.6,0.4)); -#4508=POLYLINE('',(#4509,#4510,#4511,#4512,#4513,#4514)); -#4509=CARTESIAN_POINT('',(5.8,-0.1)); -#4510=CARTESIAN_POINT('',(5.65,-0.1)); -#4511=CARTESIAN_POINT('',(5.65,0.15)); -#4512=CARTESIAN_POINT('',(-0.15,0.15)); -#4513=CARTESIAN_POINT('',(-0.15,-0.1)); -#4514=CARTESIAN_POINT('',(-0.3,-0.1)); -#4515=CARTESIAN_POINT('',(-0.35,-0.05)); -#4516=CARTESIAN_POINT('',(-0.3,-0.1)); -#4517=CARTESIAN_POINT('',(-0.2999817632850242,-0.049981763285023365)); -#4518=AXIS2_PLACEMENT_2D('',#4517,$); -#4519=CIRCLE('',#4518,0.050018240039560076); -#4520=TRIMMED_CURVE('',#4519,(#4515),(#4516),.T.,.CARTESIAN.); -#4521=POLYLINE('',(#4522,#4523,#4524,#4525,#4526,#4527,#4528,#4529)); -#4522=CARTESIAN_POINT('',(-0.35,-0.05)); -#4523=CARTESIAN_POINT('',(-0.35,0.4)); -#4524=CARTESIAN_POINT('',(-0.05,0.4)); -#4525=CARTESIAN_POINT('',(-0.05,0.6)); -#4526=CARTESIAN_POINT('',(5.55,0.6)); -#4527=CARTESIAN_POINT('',(5.55,0.4)); -#4528=CARTESIAN_POINT('',(5.85,0.4)); -#4529=CARTESIAN_POINT('',(5.85,-0.05)); -#4530=POLYLINE('',(#4531,#4532,#4533,#4534)); -#4531=CARTESIAN_POINT('',(-0.1,0.4)); -#4532=CARTESIAN_POINT('',(-0.1,0.65)); -#4533=CARTESIAN_POINT('',(-0.2,0.65)); -#4534=CARTESIAN_POINT('',(-0.2,0.4)); -#4535=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4536),#322); -#4536=CSG_SOLID_2D('',#4538); -#4537=CARTESIAN_POINT('',(0.0,0.0)); -#4538=CIRCULAR_AREA('',#4537,0.015); -#4539=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4540=PRODUCT_DEFINITION_SHAPE('',$,#4539); -#4541=SHAPE_DEFINITION_REPRESENTATION(#4540,#4535); -#4542=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#321,.T.); -#4543=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4544,'',$,#4542,#323,*); -#4544=AXIS2_PLACEMENT_2D('',#4545,$); -#4545=CARTESIAN_POINT('',(0.0,0.0)); -#4546=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#347,#2677,'1'); -#4547=MAPPED_ITEM('tlistt',#23693,#4544); -#4548=PACKAGE_TERMINAL('2','part generic feature',#321,.T.); -#4549=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4550,'',$,#4548,#323,*); -#4550=AXIS2_PLACEMENT_2D('',#4552,#4551); -#4551=DIRECTION('',(1.0,0.0)); -#4552=CARTESIAN_POINT('',(0.1,0.0)); -#4553=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#347,#2677,'2'); -#4554=MAPPED_ITEM('tlistt',#23693,#4550); -#4555=PACKAGE_TERMINAL('3','part generic feature',#321,.T.); -#4556=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4557,'',$,#4555,#323,*); -#4557=AXIS2_PLACEMENT_2D('',#4559,#4558); -#4558=DIRECTION('',(1.0,0.0)); -#4559=CARTESIAN_POINT('',(0.2,0.0)); -#4560=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#347,#2677,'3'); -#4561=MAPPED_ITEM('tlistt',#23693,#4557); -#4562=PACKAGE_TERMINAL('4','part generic feature',#321,.T.); -#4563=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4564,'',$,#4562,#323,*); -#4564=AXIS2_PLACEMENT_2D('',#4566,#4565); -#4565=DIRECTION('',(1.0,0.0)); -#4566=CARTESIAN_POINT('',(0.3,0.0)); -#4567=ASSEMBLY_COMPONENT_USAGE('4','tlist','is unknown',#347,#2677,'4'); -#4568=MAPPED_ITEM('tlistt',#23693,#4564); -#4569=PACKAGE_TERMINAL('5','part generic feature',#321,.T.); -#4570=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4571,'',$,#4569,#323,*); -#4571=AXIS2_PLACEMENT_2D('',#4573,#4572); -#4572=DIRECTION('',(1.0,0.0)); -#4573=CARTESIAN_POINT('',(0.4,0.0)); -#4574=ASSEMBLY_COMPONENT_USAGE('5','tlist','is unknown',#347,#2677,'5'); -#4575=MAPPED_ITEM('tlistt',#23693,#4571); -#4576=PACKAGE_TERMINAL('6','part generic feature',#321,.T.); -#4577=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4578,'',$,#4576,#323,*); -#4578=AXIS2_PLACEMENT_2D('',#4580,#4579); -#4579=DIRECTION('',(1.0,0.0)); -#4580=CARTESIAN_POINT('',(0.5,0.0)); -#4581=ASSEMBLY_COMPONENT_USAGE('6','tlist','is unknown',#347,#2677,'6'); -#4582=MAPPED_ITEM('tlistt',#23693,#4578); -#4583=PACKAGE_TERMINAL('7','part generic feature',#321,.T.); -#4584=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4585,'',$,#4583,#323,*); -#4585=AXIS2_PLACEMENT_2D('',#4587,#4586); -#4586=DIRECTION('',(1.0,0.0)); -#4587=CARTESIAN_POINT('',(0.6,0.0)); -#4588=ASSEMBLY_COMPONENT_USAGE('7','tlist','is unknown',#347,#2677,'7'); -#4589=MAPPED_ITEM('tlistt',#23693,#4585); -#4590=PACKAGE_TERMINAL('8','part generic feature',#321,.T.); -#4591=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4592,'',$,#4590,#323,*); -#4592=AXIS2_PLACEMENT_2D('',#4594,#4593); -#4593=DIRECTION('',(1.0,0.0)); -#4594=CARTESIAN_POINT('',(0.7,0.0)); -#4595=ASSEMBLY_COMPONENT_USAGE('8','tlist','is unknown',#347,#2677,'8'); -#4596=MAPPED_ITEM('tlistt',#23693,#4592); -#4597=PACKAGE_TERMINAL('9','part generic feature',#321,.T.); -#4598=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4599,'',$,#4597,#323,*); -#4599=AXIS2_PLACEMENT_2D('',#4601,#4600); -#4600=DIRECTION('',(1.0,0.0)); -#4601=CARTESIAN_POINT('',(0.8,0.0)); -#4602=ASSEMBLY_COMPONENT_USAGE('9','tlist','is unknown',#347,#2677,'9'); -#4603=MAPPED_ITEM('tlistt',#23693,#4599); -#4604=PACKAGE_TERMINAL('10','part generic feature',#321,.T.); -#4605=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4606,'',$,#4604,#323,*); -#4606=AXIS2_PLACEMENT_2D('',#4608,#4607); -#4607=DIRECTION('',(1.0,0.0)); -#4608=CARTESIAN_POINT('',(0.9,0.0)); -#4609=ASSEMBLY_COMPONENT_USAGE('10','tlist','is unknown',#347,#2677,'10'); -#4610=MAPPED_ITEM('tlistt',#23693,#4606); -#4611=PACKAGE_TERMINAL('11','part generic feature',#321,.T.); -#4612=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4613,'',$,#4611,#323,*); -#4613=AXIS2_PLACEMENT_2D('',#4615,#4614); -#4614=DIRECTION('',(1.0,0.0)); -#4615=CARTESIAN_POINT('',(1.0,0.0)); -#4616=ASSEMBLY_COMPONENT_USAGE('11','tlist','is unknown',#347,#2677,'11'); -#4617=MAPPED_ITEM('tlistt',#23693,#4613); -#4618=PACKAGE_TERMINAL('12','part generic feature',#321,.T.); -#4619=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4620,'',$,#4618,#323,*); -#4620=AXIS2_PLACEMENT_2D('',#4622,#4621); -#4621=DIRECTION('',(1.0,0.0)); -#4622=CARTESIAN_POINT('',(1.1,0.0)); -#4623=ASSEMBLY_COMPONENT_USAGE('12','tlist','is unknown',#347,#2677,'12'); -#4624=MAPPED_ITEM('tlistt',#23693,#4620); -#4625=PACKAGE_TERMINAL('13','part generic feature',#321,.T.); -#4626=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4627,'',$,#4625,#323,*); -#4627=AXIS2_PLACEMENT_2D('',#4629,#4628); -#4628=DIRECTION('',(1.0,0.0)); -#4629=CARTESIAN_POINT('',(1.2,0.0)); -#4630=ASSEMBLY_COMPONENT_USAGE('13','tlist','is unknown',#347,#2677,'13'); -#4631=MAPPED_ITEM('tlistt',#23693,#4627); -#4632=PACKAGE_TERMINAL('14','part generic feature',#321,.T.); -#4633=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4634,'',$,#4632,#323,*); -#4634=AXIS2_PLACEMENT_2D('',#4636,#4635); -#4635=DIRECTION('',(1.0,0.0)); -#4636=CARTESIAN_POINT('',(1.3,0.0)); -#4637=ASSEMBLY_COMPONENT_USAGE('14','tlist','is unknown',#347,#2677,'14'); -#4638=MAPPED_ITEM('tlistt',#23693,#4634); -#4639=PACKAGE_TERMINAL('15','part generic feature',#321,.T.); -#4640=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4641,'',$,#4639,#323,*); -#4641=AXIS2_PLACEMENT_2D('',#4643,#4642); -#4642=DIRECTION('',(1.0,0.0)); -#4643=CARTESIAN_POINT('',(1.4,0.0)); -#4644=ASSEMBLY_COMPONENT_USAGE('15','tlist','is unknown',#347,#2677,'15'); -#4645=MAPPED_ITEM('tlistt',#23693,#4641); -#4646=PACKAGE_TERMINAL('16','part generic feature',#321,.T.); -#4647=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4648,'',$,#4646,#323,*); -#4648=AXIS2_PLACEMENT_2D('',#4650,#4649); -#4649=DIRECTION('',(1.0,0.0)); -#4650=CARTESIAN_POINT('',(1.5,0.0)); -#4651=ASSEMBLY_COMPONENT_USAGE('16','tlist','is unknown',#347,#2677,'16'); -#4652=MAPPED_ITEM('tlistt',#23693,#4648); -#4653=PACKAGE_TERMINAL('17','part generic feature',#321,.T.); -#4654=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4655,'',$,#4653,#323,*); -#4655=AXIS2_PLACEMENT_2D('',#4657,#4656); -#4656=DIRECTION('',(1.0,0.0)); -#4657=CARTESIAN_POINT('',(1.6,0.0)); -#4658=ASSEMBLY_COMPONENT_USAGE('17','tlist','is unknown',#347,#2677,'17'); -#4659=MAPPED_ITEM('tlistt',#23693,#4655); -#4660=PACKAGE_TERMINAL('18','part generic feature',#321,.T.); -#4661=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4662,'',$,#4660,#323,*); -#4662=AXIS2_PLACEMENT_2D('',#4664,#4663); -#4663=DIRECTION('',(1.0,0.0)); -#4664=CARTESIAN_POINT('',(1.7,0.0)); -#4665=ASSEMBLY_COMPONENT_USAGE('18','tlist','is unknown',#347,#2677,'18'); -#4666=MAPPED_ITEM('tlistt',#23693,#4662); -#4667=PACKAGE_TERMINAL('19','part generic feature',#321,.T.); -#4668=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4669,'',$,#4667,#323,*); -#4669=AXIS2_PLACEMENT_2D('',#4671,#4670); -#4670=DIRECTION('',(1.0,0.0)); -#4671=CARTESIAN_POINT('',(1.8,0.0)); -#4672=ASSEMBLY_COMPONENT_USAGE('19','tlist','is unknown',#347,#2677,'19'); -#4673=MAPPED_ITEM('tlistt',#23693,#4669); -#4674=PACKAGE_TERMINAL('20','part generic feature',#321,.T.); -#4675=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4676,'',$,#4674,#323,*); -#4676=AXIS2_PLACEMENT_2D('',#4678,#4677); -#4677=DIRECTION('',(1.0,0.0)); -#4678=CARTESIAN_POINT('',(1.9,0.0)); -#4679=ASSEMBLY_COMPONENT_USAGE('20','tlist','is unknown',#347,#2677,'20'); -#4680=MAPPED_ITEM('tlistt',#23693,#4676); -#4681=PACKAGE_TERMINAL('21','part generic feature',#321,.T.); -#4682=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4683,'',$,#4681,#323,*); -#4683=AXIS2_PLACEMENT_2D('',#4685,#4684); -#4684=DIRECTION('',(1.0,0.0)); -#4685=CARTESIAN_POINT('',(2.0,0.0)); -#4686=ASSEMBLY_COMPONENT_USAGE('21','tlist','is unknown',#347,#2677,'21'); -#4687=MAPPED_ITEM('tlistt',#23693,#4683); -#4688=PACKAGE_TERMINAL('22','part generic feature',#321,.T.); -#4689=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4690,'',$,#4688,#323,*); -#4690=AXIS2_PLACEMENT_2D('',#4692,#4691); -#4691=DIRECTION('',(1.0,0.0)); -#4692=CARTESIAN_POINT('',(2.1,0.0)); -#4693=ASSEMBLY_COMPONENT_USAGE('22','tlist','is unknown',#347,#2677,'22'); -#4694=MAPPED_ITEM('tlistt',#23693,#4690); -#4695=PACKAGE_TERMINAL('23','part generic feature',#321,.T.); -#4696=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4697,'',$,#4695,#323,*); -#4697=AXIS2_PLACEMENT_2D('',#4699,#4698); -#4698=DIRECTION('',(1.0,0.0)); -#4699=CARTESIAN_POINT('',(2.2,0.0)); -#4700=ASSEMBLY_COMPONENT_USAGE('23','tlist','is unknown',#347,#2677,'23'); -#4701=MAPPED_ITEM('tlistt',#23693,#4697); -#4702=PACKAGE_TERMINAL('24','part generic feature',#321,.T.); -#4703=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4704,'',$,#4702,#323,*); -#4704=AXIS2_PLACEMENT_2D('',#4706,#4705); -#4705=DIRECTION('',(1.0,0.0)); -#4706=CARTESIAN_POINT('',(2.3,0.0)); -#4707=ASSEMBLY_COMPONENT_USAGE('24','tlist','is unknown',#347,#2677,'24'); -#4708=MAPPED_ITEM('tlistt',#23693,#4704); -#4709=PACKAGE_TERMINAL('25','part generic feature',#321,.T.); -#4710=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4711,'',$,#4709,#323,*); -#4711=AXIS2_PLACEMENT_2D('',#4713,#4712); -#4712=DIRECTION('',(1.0,0.0)); -#4713=CARTESIAN_POINT('',(2.4,0.0)); -#4714=ASSEMBLY_COMPONENT_USAGE('25','tlist','is unknown',#347,#2677,'25'); -#4715=MAPPED_ITEM('tlistt',#23693,#4711); -#4716=PACKAGE_TERMINAL('26','part generic feature',#321,.T.); -#4717=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4718,'',$,#4716,#323,*); -#4718=AXIS2_PLACEMENT_2D('',#4720,#4719); -#4719=DIRECTION('',(1.0,0.0)); -#4720=CARTESIAN_POINT('',(2.5,0.0)); -#4721=ASSEMBLY_COMPONENT_USAGE('26','tlist','is unknown',#347,#2677,'26'); -#4722=MAPPED_ITEM('tlistt',#23693,#4718); -#4723=PACKAGE_TERMINAL('27','part generic feature',#321,.T.); -#4724=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4725,'',$,#4723,#323,*); -#4725=AXIS2_PLACEMENT_2D('',#4727,#4726); -#4726=DIRECTION('',(1.0,0.0)); -#4727=CARTESIAN_POINT('',(2.6,0.0)); -#4728=ASSEMBLY_COMPONENT_USAGE('27','tlist','is unknown',#347,#2677,'27'); -#4729=MAPPED_ITEM('tlistt',#23693,#4725); -#4730=PACKAGE_TERMINAL('28','part generic feature',#321,.T.); -#4731=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4732,'',$,#4730,#323,*); -#4732=AXIS2_PLACEMENT_2D('',#4734,#4733); -#4733=DIRECTION('',(1.0,0.0)); -#4734=CARTESIAN_POINT('',(2.7,0.0)); -#4735=ASSEMBLY_COMPONENT_USAGE('28','tlist','is unknown',#347,#2677,'28'); -#4736=MAPPED_ITEM('tlistt',#23693,#4732); -#4737=PACKAGE_TERMINAL('29','part generic feature',#321,.T.); -#4738=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4739,'',$,#4737,#323,*); -#4739=AXIS2_PLACEMENT_2D('',#4741,#4740); -#4740=DIRECTION('',(1.0,0.0)); -#4741=CARTESIAN_POINT('',(2.8,0.0)); -#4742=ASSEMBLY_COMPONENT_USAGE('29','tlist','is unknown',#347,#2677,'29'); -#4743=MAPPED_ITEM('tlistt',#23693,#4739); -#4744=PACKAGE_TERMINAL('30','part generic feature',#321,.T.); -#4745=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4746,'',$,#4744,#323,*); -#4746=AXIS2_PLACEMENT_2D('',#4748,#4747); -#4747=DIRECTION('',(1.0,0.0)); -#4748=CARTESIAN_POINT('',(2.9,0.0)); -#4749=ASSEMBLY_COMPONENT_USAGE('30','tlist','is unknown',#347,#2677,'30'); -#4750=MAPPED_ITEM('tlistt',#23693,#4746); -#4751=PACKAGE_TERMINAL('31','part generic feature',#321,.T.); -#4752=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4753,'',$,#4751,#323,*); -#4753=AXIS2_PLACEMENT_2D('',#4755,#4754); -#4754=DIRECTION('',(1.0,0.0)); -#4755=CARTESIAN_POINT('',(3.0,0.0)); -#4756=ASSEMBLY_COMPONENT_USAGE('31','tlist','is unknown',#347,#2677,'31'); -#4757=MAPPED_ITEM('tlistt',#23693,#4753); -#4758=PACKAGE_TERMINAL('32','part generic feature',#321,.T.); -#4759=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4760,'',$,#4758,#323,*); -#4760=AXIS2_PLACEMENT_2D('',#4762,#4761); -#4761=DIRECTION('',(1.0,0.0)); -#4762=CARTESIAN_POINT('',(3.1,0.0)); -#4763=ASSEMBLY_COMPONENT_USAGE('32','tlist','is unknown',#347,#2677,'32'); -#4764=MAPPED_ITEM('tlistt',#23693,#4760); -#4765=PACKAGE_TERMINAL('33','part generic feature',#321,.T.); -#4766=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4767,'',$,#4765,#323,*); -#4767=AXIS2_PLACEMENT_2D('',#4769,#4768); -#4768=DIRECTION('',(1.0,0.0)); -#4769=CARTESIAN_POINT('',(3.2,0.0)); -#4770=ASSEMBLY_COMPONENT_USAGE('33','tlist','is unknown',#347,#2677,'33'); -#4771=MAPPED_ITEM('tlistt',#23693,#4767); -#4772=PACKAGE_TERMINAL('34','part generic feature',#321,.T.); -#4773=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4774,'',$,#4772,#323,*); -#4774=AXIS2_PLACEMENT_2D('',#4776,#4775); -#4775=DIRECTION('',(1.0,0.0)); -#4776=CARTESIAN_POINT('',(3.3,0.0)); -#4777=ASSEMBLY_COMPONENT_USAGE('34','tlist','is unknown',#347,#2677,'34'); -#4778=MAPPED_ITEM('tlistt',#23693,#4774); -#4779=PACKAGE_TERMINAL('35','part generic feature',#321,.T.); -#4780=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4781,'',$,#4779,#323,*); -#4781=AXIS2_PLACEMENT_2D('',#4783,#4782); -#4782=DIRECTION('',(1.0,0.0)); -#4783=CARTESIAN_POINT('',(3.4,0.0)); -#4784=ASSEMBLY_COMPONENT_USAGE('35','tlist','is unknown',#347,#2677,'35'); -#4785=MAPPED_ITEM('tlistt',#23693,#4781); -#4786=PACKAGE_TERMINAL('36','part generic feature',#321,.T.); -#4787=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4788,'',$,#4786,#323,*); -#4788=AXIS2_PLACEMENT_2D('',#4790,#4789); -#4789=DIRECTION('',(1.0,0.0)); -#4790=CARTESIAN_POINT('',(3.5,0.0)); -#4791=ASSEMBLY_COMPONENT_USAGE('36','tlist','is unknown',#347,#2677,'36'); -#4792=MAPPED_ITEM('tlistt',#23693,#4788); -#4793=PACKAGE_TERMINAL('37','part generic feature',#321,.T.); -#4794=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4795,'',$,#4793,#323,*); -#4795=AXIS2_PLACEMENT_2D('',#4797,#4796); -#4796=DIRECTION('',(1.0,0.0)); -#4797=CARTESIAN_POINT('',(3.6,0.0)); -#4798=ASSEMBLY_COMPONENT_USAGE('37','tlist','is unknown',#347,#2677,'37'); -#4799=MAPPED_ITEM('tlistt',#23693,#4795); -#4800=PACKAGE_TERMINAL('38','part generic feature',#321,.T.); -#4801=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4802,'',$,#4800,#323,*); -#4802=AXIS2_PLACEMENT_2D('',#4804,#4803); -#4803=DIRECTION('',(1.0,0.0)); -#4804=CARTESIAN_POINT('',(3.7,0.0)); -#4805=ASSEMBLY_COMPONENT_USAGE('38','tlist','is unknown',#347,#2677,'38'); -#4806=MAPPED_ITEM('tlistt',#23693,#4802); -#4807=PACKAGE_TERMINAL('39','part generic feature',#321,.T.); -#4808=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4809,'',$,#4807,#323,*); -#4809=AXIS2_PLACEMENT_2D('',#4811,#4810); -#4810=DIRECTION('',(1.0,0.0)); -#4811=CARTESIAN_POINT('',(3.8,0.0)); -#4812=ASSEMBLY_COMPONENT_USAGE('39','tlist','is unknown',#347,#2677,'39'); -#4813=MAPPED_ITEM('tlistt',#23693,#4809); -#4814=PACKAGE_TERMINAL('40','part generic feature',#321,.T.); -#4815=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4816,'',$,#4814,#323,*); -#4816=AXIS2_PLACEMENT_2D('',#4818,#4817); -#4817=DIRECTION('',(1.0,0.0)); -#4818=CARTESIAN_POINT('',(3.9,0.0)); -#4819=ASSEMBLY_COMPONENT_USAGE('40','tlist','is unknown',#347,#2677,'40'); -#4820=MAPPED_ITEM('tlistt',#23693,#4816); -#4821=PACKAGE_TERMINAL('41','part generic feature',#321,.T.); -#4822=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4823,'',$,#4821,#323,*); -#4823=AXIS2_PLACEMENT_2D('',#4825,#4824); -#4824=DIRECTION('',(1.0,0.0)); -#4825=CARTESIAN_POINT('',(4.0,0.0)); -#4826=ASSEMBLY_COMPONENT_USAGE('41','tlist','is unknown',#347,#2677,'41'); -#4827=MAPPED_ITEM('tlistt',#23693,#4823); -#4828=PACKAGE_TERMINAL('42','part generic feature',#321,.T.); -#4829=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4830,'',$,#4828,#323,*); -#4830=AXIS2_PLACEMENT_2D('',#4832,#4831); -#4831=DIRECTION('',(1.0,0.0)); -#4832=CARTESIAN_POINT('',(4.1,0.0)); -#4833=ASSEMBLY_COMPONENT_USAGE('42','tlist','is unknown',#347,#2677,'42'); -#4834=MAPPED_ITEM('tlistt',#23693,#4830); -#4835=PACKAGE_TERMINAL('43','part generic feature',#321,.T.); -#4836=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4837,'',$,#4835,#323,*); -#4837=AXIS2_PLACEMENT_2D('',#4839,#4838); -#4838=DIRECTION('',(1.0,0.0)); -#4839=CARTESIAN_POINT('',(4.2,0.0)); -#4840=ASSEMBLY_COMPONENT_USAGE('43','tlist','is unknown',#347,#2677,'43'); -#4841=MAPPED_ITEM('tlistt',#23693,#4837); -#4842=PACKAGE_TERMINAL('44','part generic feature',#321,.T.); -#4843=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4844,'',$,#4842,#323,*); -#4844=AXIS2_PLACEMENT_2D('',#4846,#4845); -#4845=DIRECTION('',(1.0,0.0)); -#4846=CARTESIAN_POINT('',(4.3,0.0)); -#4847=ASSEMBLY_COMPONENT_USAGE('44','tlist','is unknown',#347,#2677,'44'); -#4848=MAPPED_ITEM('tlistt',#23693,#4844); -#4849=PACKAGE_TERMINAL('45','part generic feature',#321,.T.); -#4850=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4851,'',$,#4849,#323,*); -#4851=AXIS2_PLACEMENT_2D('',#4853,#4852); -#4852=DIRECTION('',(1.0,0.0)); -#4853=CARTESIAN_POINT('',(4.4,0.0)); -#4854=ASSEMBLY_COMPONENT_USAGE('45','tlist','is unknown',#347,#2677,'45'); -#4855=MAPPED_ITEM('tlistt',#23693,#4851); -#4856=PACKAGE_TERMINAL('46','part generic feature',#321,.T.); -#4857=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4858,'',$,#4856,#323,*); -#4858=AXIS2_PLACEMENT_2D('',#4860,#4859); -#4859=DIRECTION('',(1.0,0.0)); -#4860=CARTESIAN_POINT('',(4.5,0.0)); -#4861=ASSEMBLY_COMPONENT_USAGE('46','tlist','is unknown',#347,#2677,'46'); -#4862=MAPPED_ITEM('tlistt',#23693,#4858); -#4863=PACKAGE_TERMINAL('47','part generic feature',#321,.T.); -#4864=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4865,'',$,#4863,#323,*); -#4865=AXIS2_PLACEMENT_2D('',#4867,#4866); -#4866=DIRECTION('',(1.0,0.0)); -#4867=CARTESIAN_POINT('',(4.6,0.0)); -#4868=ASSEMBLY_COMPONENT_USAGE('47','tlist','is unknown',#347,#2677,'47'); -#4869=MAPPED_ITEM('tlistt',#23693,#4865); -#4870=PACKAGE_TERMINAL('48','part generic feature',#321,.T.); -#4871=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4872,'',$,#4870,#323,*); -#4872=AXIS2_PLACEMENT_2D('',#4874,#4873); -#4873=DIRECTION('',(1.0,0.0)); -#4874=CARTESIAN_POINT('',(4.7,0.0)); -#4875=ASSEMBLY_COMPONENT_USAGE('48','tlist','is unknown',#347,#2677,'48'); -#4876=MAPPED_ITEM('tlistt',#23693,#4872); -#4877=PACKAGE_TERMINAL('49','part generic feature',#321,.T.); -#4878=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4879,'',$,#4877,#323,*); -#4879=AXIS2_PLACEMENT_2D('',#4881,#4880); -#4880=DIRECTION('',(1.0,0.0)); -#4881=CARTESIAN_POINT('',(4.8,0.0)); -#4882=ASSEMBLY_COMPONENT_USAGE('49','tlist','is unknown',#347,#2677,'49'); -#4883=MAPPED_ITEM('tlistt',#23693,#4879); -#4884=PACKAGE_TERMINAL('50','part generic feature',#321,.T.); -#4885=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4886,'',$,#4884,#323,*); -#4886=AXIS2_PLACEMENT_2D('',#4888,#4887); -#4887=DIRECTION('',(1.0,0.0)); -#4888=CARTESIAN_POINT('',(4.9,0.0)); -#4889=ASSEMBLY_COMPONENT_USAGE('50','tlist','is unknown',#347,#2677,'50'); -#4890=MAPPED_ITEM('tlistt',#23693,#4886); -#4891=PACKAGE_TERMINAL('51','part generic feature',#321,.T.); -#4892=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4893,'',$,#4891,#323,*); -#4893=AXIS2_PLACEMENT_2D('',#4895,#4894); -#4894=DIRECTION('',(1.0,0.0)); -#4895=CARTESIAN_POINT('',(5.0,0.0)); -#4896=ASSEMBLY_COMPONENT_USAGE('51','tlist','is unknown',#347,#2677,'51'); -#4897=MAPPED_ITEM('tlistt',#23693,#4893); -#4898=PACKAGE_TERMINAL('52','part generic feature',#321,.T.); -#4899=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4900,'',$,#4898,#323,*); -#4900=AXIS2_PLACEMENT_2D('',#4902,#4901); -#4901=DIRECTION('',(1.0,0.0)); -#4902=CARTESIAN_POINT('',(5.1,0.0)); -#4903=ASSEMBLY_COMPONENT_USAGE('52','tlist','is unknown',#347,#2677,'52'); -#4904=MAPPED_ITEM('tlistt',#23693,#4900); -#4905=PACKAGE_TERMINAL('53','part generic feature',#321,.T.); -#4906=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4907,'',$,#4905,#323,*); -#4907=AXIS2_PLACEMENT_2D('',#4909,#4908); -#4908=DIRECTION('',(1.0,0.0)); -#4909=CARTESIAN_POINT('',(5.2,0.0)); -#4910=ASSEMBLY_COMPONENT_USAGE('53','tlist','is unknown',#347,#2677,'53'); -#4911=MAPPED_ITEM('tlistt',#23693,#4907); -#4912=PACKAGE_TERMINAL('54','part generic feature',#321,.T.); -#4913=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4914,'',$,#4912,#323,*); -#4914=AXIS2_PLACEMENT_2D('',#4916,#4915); -#4915=DIRECTION('',(1.0,0.0)); -#4916=CARTESIAN_POINT('',(5.3,0.0)); -#4917=ASSEMBLY_COMPONENT_USAGE('54','tlist','is unknown',#347,#2677,'54'); -#4918=MAPPED_ITEM('tlistt',#23693,#4914); -#4919=PACKAGE_TERMINAL('55','part generic feature',#321,.T.); -#4920=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4921,'',$,#4919,#323,*); -#4921=AXIS2_PLACEMENT_2D('',#4923,#4922); -#4922=DIRECTION('',(1.0,0.0)); -#4923=CARTESIAN_POINT('',(5.4,0.0)); -#4924=ASSEMBLY_COMPONENT_USAGE('55','tlist','is unknown',#347,#2677,'55'); -#4925=MAPPED_ITEM('tlistt',#23693,#4921); -#4926=PACKAGE_TERMINAL('56','part generic feature',#321,.T.); -#4927=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4928,'',$,#4926,#323,*); -#4928=AXIS2_PLACEMENT_2D('',#4930,#4929); -#4929=DIRECTION('',(1.0,0.0)); -#4930=CARTESIAN_POINT('',(5.5,0.0)); -#4931=ASSEMBLY_COMPONENT_USAGE('56','tlist','is unknown',#347,#2677,'56'); -#4932=MAPPED_ITEM('tlistt',#23693,#4928); -#4933=PACKAGE_TERMINAL('57','part generic feature',#321,.T.); -#4934=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4935,'',$,#4933,#323,*); -#4935=AXIS2_PLACEMENT_2D('',#4937,#4936); -#4936=DIRECTION('',(1.0,0.0)); -#4937=CARTESIAN_POINT('',(-0.05,0.1)); -#4938=ASSEMBLY_COMPONENT_USAGE('57','tlist','is unknown',#347,#2993,'57'); -#4939=MAPPED_ITEM('tlistt',#23724,#4935); -#4940=PACKAGE_TERMINAL('58','part generic feature',#321,.T.); -#4941=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4942,'',$,#4940,#323,*); -#4942=AXIS2_PLACEMENT_2D('',#4944,#4943); -#4943=DIRECTION('',(1.0,0.0)); -#4944=CARTESIAN_POINT('',(0.05,0.1)); -#4945=ASSEMBLY_COMPONENT_USAGE('58','tlist','is unknown',#347,#2993,'58'); -#4946=MAPPED_ITEM('tlistt',#23724,#4942); -#4947=PACKAGE_TERMINAL('59','part generic feature',#321,.T.); -#4948=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4949,'',$,#4947,#323,*); -#4949=AXIS2_PLACEMENT_2D('',#4951,#4950); -#4950=DIRECTION('',(1.0,0.0)); -#4951=CARTESIAN_POINT('',(0.15,0.1)); -#4952=ASSEMBLY_COMPONENT_USAGE('59','tlist','is unknown',#347,#2993,'59'); -#4953=MAPPED_ITEM('tlistt',#23724,#4949); -#4954=PACKAGE_TERMINAL('60','part generic feature',#321,.T.); -#4955=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4956,'',$,#4954,#323,*); -#4956=AXIS2_PLACEMENT_2D('',#4958,#4957); -#4957=DIRECTION('',(1.0,0.0)); -#4958=CARTESIAN_POINT('',(0.25,0.1)); -#4959=ASSEMBLY_COMPONENT_USAGE('60','tlist','is unknown',#347,#2993,'60'); -#4960=MAPPED_ITEM('tlistt',#23724,#4956); -#4961=PACKAGE_TERMINAL('61','part generic feature',#321,.T.); -#4962=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4963,'',$,#4961,#323,*); -#4963=AXIS2_PLACEMENT_2D('',#4965,#4964); -#4964=DIRECTION('',(1.0,0.0)); -#4965=CARTESIAN_POINT('',(0.35,0.1)); -#4966=ASSEMBLY_COMPONENT_USAGE('61','tlist','is unknown',#347,#2993,'61'); -#4967=MAPPED_ITEM('tlistt',#23724,#4963); -#4968=PACKAGE_TERMINAL('62','part generic feature',#321,.T.); -#4969=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4970,'',$,#4968,#323,*); -#4970=AXIS2_PLACEMENT_2D('',#4972,#4971); -#4971=DIRECTION('',(1.0,0.0)); -#4972=CARTESIAN_POINT('',(0.45,0.1)); -#4973=ASSEMBLY_COMPONENT_USAGE('62','tlist','is unknown',#347,#2993,'62'); -#4974=MAPPED_ITEM('tlistt',#23724,#4970); -#4975=PACKAGE_TERMINAL('63','part generic feature',#321,.T.); -#4976=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4977,'',$,#4975,#323,*); -#4977=AXIS2_PLACEMENT_2D('',#4979,#4978); -#4978=DIRECTION('',(1.0,0.0)); -#4979=CARTESIAN_POINT('',(0.55,0.1)); -#4980=ASSEMBLY_COMPONENT_USAGE('63','tlist','is unknown',#347,#2993,'63'); -#4981=MAPPED_ITEM('tlistt',#23724,#4977); -#4982=PACKAGE_TERMINAL('64','part generic feature',#321,.T.); -#4983=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4984,'',$,#4982,#323,*); -#4984=AXIS2_PLACEMENT_2D('',#4986,#4985); -#4985=DIRECTION('',(1.0,0.0)); -#4986=CARTESIAN_POINT('',(0.65,0.1)); -#4987=ASSEMBLY_COMPONENT_USAGE('64','tlist','is unknown',#347,#2993,'64'); -#4988=MAPPED_ITEM('tlistt',#23724,#4984); -#4989=PACKAGE_TERMINAL('65','part generic feature',#321,.T.); -#4990=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4991,'',$,#4989,#323,*); -#4991=AXIS2_PLACEMENT_2D('',#4993,#4992); -#4992=DIRECTION('',(1.0,0.0)); -#4993=CARTESIAN_POINT('',(0.75,0.1)); -#4994=ASSEMBLY_COMPONENT_USAGE('65','tlist','is unknown',#347,#2993,'65'); -#4995=MAPPED_ITEM('tlistt',#23724,#4991); -#4996=PACKAGE_TERMINAL('66','part generic feature',#321,.T.); -#4997=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#4998,'',$,#4996,#323,*); -#4998=AXIS2_PLACEMENT_2D('',#5000,#4999); -#4999=DIRECTION('',(1.0,0.0)); -#5000=CARTESIAN_POINT('',(0.85,0.1)); -#5001=ASSEMBLY_COMPONENT_USAGE('66','tlist','is unknown',#347,#2993,'66'); -#5002=MAPPED_ITEM('tlistt',#23724,#4998); -#5003=PACKAGE_TERMINAL('67','part generic feature',#321,.T.); -#5004=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5005,'',$,#5003,#323,*); -#5005=AXIS2_PLACEMENT_2D('',#5007,#5006); -#5006=DIRECTION('',(1.0,0.0)); -#5007=CARTESIAN_POINT('',(0.95,0.1)); -#5008=ASSEMBLY_COMPONENT_USAGE('67','tlist','is unknown',#347,#2993,'67'); -#5009=MAPPED_ITEM('tlistt',#23724,#5005); -#5010=PACKAGE_TERMINAL('68','part generic feature',#321,.T.); -#5011=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5012,'',$,#5010,#323,*); -#5012=AXIS2_PLACEMENT_2D('',#5014,#5013); -#5013=DIRECTION('',(1.0,0.0)); -#5014=CARTESIAN_POINT('',(1.05,0.1)); -#5015=ASSEMBLY_COMPONENT_USAGE('68','tlist','is unknown',#347,#2993,'68'); -#5016=MAPPED_ITEM('tlistt',#23724,#5012); -#5017=PACKAGE_TERMINAL('69','part generic feature',#321,.T.); -#5018=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5019,'',$,#5017,#323,*); -#5019=AXIS2_PLACEMENT_2D('',#5021,#5020); -#5020=DIRECTION('',(1.0,0.0)); -#5021=CARTESIAN_POINT('',(1.15,0.1)); -#5022=ASSEMBLY_COMPONENT_USAGE('69','tlist','is unknown',#347,#2993,'69'); -#5023=MAPPED_ITEM('tlistt',#23724,#5019); -#5024=PACKAGE_TERMINAL('70','part generic feature',#321,.T.); -#5025=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5026,'',$,#5024,#323,*); -#5026=AXIS2_PLACEMENT_2D('',#5028,#5027); -#5027=DIRECTION('',(1.0,0.0)); -#5028=CARTESIAN_POINT('',(1.25,0.1)); -#5029=ASSEMBLY_COMPONENT_USAGE('70','tlist','is unknown',#347,#2993,'70'); -#5030=MAPPED_ITEM('tlistt',#23724,#5026); -#5031=PACKAGE_TERMINAL('71','part generic feature',#321,.T.); -#5032=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5033,'',$,#5031,#323,*); -#5033=AXIS2_PLACEMENT_2D('',#5035,#5034); -#5034=DIRECTION('',(1.0,0.0)); -#5035=CARTESIAN_POINT('',(1.35,0.1)); -#5036=ASSEMBLY_COMPONENT_USAGE('71','tlist','is unknown',#347,#2993,'71'); -#5037=MAPPED_ITEM('tlistt',#23724,#5033); -#5038=PACKAGE_TERMINAL('72','part generic feature',#321,.T.); -#5039=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5040,'',$,#5038,#323,*); -#5040=AXIS2_PLACEMENT_2D('',#5042,#5041); -#5041=DIRECTION('',(1.0,0.0)); -#5042=CARTESIAN_POINT('',(1.45,0.1)); -#5043=ASSEMBLY_COMPONENT_USAGE('72','tlist','is unknown',#347,#2993,'72'); -#5044=MAPPED_ITEM('tlistt',#23724,#5040); -#5045=PACKAGE_TERMINAL('73','part generic feature',#321,.T.); -#5046=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5047,'',$,#5045,#323,*); -#5047=AXIS2_PLACEMENT_2D('',#5049,#5048); -#5048=DIRECTION('',(1.0,0.0)); -#5049=CARTESIAN_POINT('',(1.55,0.1)); -#5050=ASSEMBLY_COMPONENT_USAGE('73','tlist','is unknown',#347,#2993,'73'); -#5051=MAPPED_ITEM('tlistt',#23724,#5047); -#5052=PACKAGE_TERMINAL('74','part generic feature',#321,.T.); -#5053=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5054,'',$,#5052,#323,*); -#5054=AXIS2_PLACEMENT_2D('',#5056,#5055); -#5055=DIRECTION('',(1.0,0.0)); -#5056=CARTESIAN_POINT('',(1.65,0.1)); -#5057=ASSEMBLY_COMPONENT_USAGE('74','tlist','is unknown',#347,#2993,'74'); -#5058=MAPPED_ITEM('tlistt',#23724,#5054); -#5059=PACKAGE_TERMINAL('75','part generic feature',#321,.T.); -#5060=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5061,'',$,#5059,#323,*); -#5061=AXIS2_PLACEMENT_2D('',#5063,#5062); -#5062=DIRECTION('',(1.0,0.0)); -#5063=CARTESIAN_POINT('',(1.75,0.1)); -#5064=ASSEMBLY_COMPONENT_USAGE('75','tlist','is unknown',#347,#2993,'75'); -#5065=MAPPED_ITEM('tlistt',#23724,#5061); -#5066=PACKAGE_TERMINAL('76','part generic feature',#321,.T.); -#5067=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5068,'',$,#5066,#323,*); -#5068=AXIS2_PLACEMENT_2D('',#5070,#5069); -#5069=DIRECTION('',(1.0,0.0)); -#5070=CARTESIAN_POINT('',(1.85,0.1)); -#5071=ASSEMBLY_COMPONENT_USAGE('76','tlist','is unknown',#347,#2993,'76'); -#5072=MAPPED_ITEM('tlistt',#23724,#5068); -#5073=PACKAGE_TERMINAL('77','part generic feature',#321,.T.); -#5074=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5075,'',$,#5073,#323,*); -#5075=AXIS2_PLACEMENT_2D('',#5077,#5076); -#5076=DIRECTION('',(1.0,0.0)); -#5077=CARTESIAN_POINT('',(1.95,0.1)); -#5078=ASSEMBLY_COMPONENT_USAGE('77','tlist','is unknown',#347,#2993,'77'); -#5079=MAPPED_ITEM('tlistt',#23724,#5075); -#5080=PACKAGE_TERMINAL('78','part generic feature',#321,.T.); -#5081=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5082,'',$,#5080,#323,*); -#5082=AXIS2_PLACEMENT_2D('',#5084,#5083); -#5083=DIRECTION('',(1.0,0.0)); -#5084=CARTESIAN_POINT('',(2.05,0.1)); -#5085=ASSEMBLY_COMPONENT_USAGE('78','tlist','is unknown',#347,#2993,'78'); -#5086=MAPPED_ITEM('tlistt',#23724,#5082); -#5087=PACKAGE_TERMINAL('79','part generic feature',#321,.T.); -#5088=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5089,'',$,#5087,#323,*); -#5089=AXIS2_PLACEMENT_2D('',#5091,#5090); -#5090=DIRECTION('',(1.0,0.0)); -#5091=CARTESIAN_POINT('',(2.15,0.1)); -#5092=ASSEMBLY_COMPONENT_USAGE('79','tlist','is unknown',#347,#2993,'79'); -#5093=MAPPED_ITEM('tlistt',#23724,#5089); -#5094=PACKAGE_TERMINAL('80','part generic feature',#321,.T.); -#5095=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5096,'',$,#5094,#323,*); -#5096=AXIS2_PLACEMENT_2D('',#5098,#5097); -#5097=DIRECTION('',(1.0,0.0)); -#5098=CARTESIAN_POINT('',(2.25,0.1)); -#5099=ASSEMBLY_COMPONENT_USAGE('80','tlist','is unknown',#347,#2993,'80'); -#5100=MAPPED_ITEM('tlistt',#23724,#5096); -#5101=PACKAGE_TERMINAL('81','part generic feature',#321,.T.); -#5102=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5103,'',$,#5101,#323,*); -#5103=AXIS2_PLACEMENT_2D('',#5105,#5104); -#5104=DIRECTION('',(1.0,0.0)); -#5105=CARTESIAN_POINT('',(2.35,0.1)); -#5106=ASSEMBLY_COMPONENT_USAGE('81','tlist','is unknown',#347,#2993,'81'); -#5107=MAPPED_ITEM('tlistt',#23724,#5103); -#5108=PACKAGE_TERMINAL('82','part generic feature',#321,.T.); -#5109=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5110,'',$,#5108,#323,*); -#5110=AXIS2_PLACEMENT_2D('',#5112,#5111); -#5111=DIRECTION('',(1.0,0.0)); -#5112=CARTESIAN_POINT('',(2.45,0.1)); -#5113=ASSEMBLY_COMPONENT_USAGE('82','tlist','is unknown',#347,#2993,'82'); -#5114=MAPPED_ITEM('tlistt',#23724,#5110); -#5115=PACKAGE_TERMINAL('83','part generic feature',#321,.T.); -#5116=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5117,'',$,#5115,#323,*); -#5117=AXIS2_PLACEMENT_2D('',#5119,#5118); -#5118=DIRECTION('',(1.0,0.0)); -#5119=CARTESIAN_POINT('',(2.55,0.1)); -#5120=ASSEMBLY_COMPONENT_USAGE('83','tlist','is unknown',#347,#2993,'83'); -#5121=MAPPED_ITEM('tlistt',#23724,#5117); -#5122=PACKAGE_TERMINAL('84','part generic feature',#321,.T.); -#5123=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5124,'',$,#5122,#323,*); -#5124=AXIS2_PLACEMENT_2D('',#5126,#5125); -#5125=DIRECTION('',(1.0,0.0)); -#5126=CARTESIAN_POINT('',(2.65,0.1)); -#5127=ASSEMBLY_COMPONENT_USAGE('84','tlist','is unknown',#347,#2993,'84'); -#5128=MAPPED_ITEM('tlistt',#23724,#5124); -#5129=PACKAGE_TERMINAL('85','part generic feature',#321,.T.); -#5130=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5131,'',$,#5129,#323,*); -#5131=AXIS2_PLACEMENT_2D('',#5133,#5132); -#5132=DIRECTION('',(1.0,0.0)); -#5133=CARTESIAN_POINT('',(2.75,0.1)); -#5134=ASSEMBLY_COMPONENT_USAGE('85','tlist','is unknown',#347,#2993,'85'); -#5135=MAPPED_ITEM('tlistt',#23724,#5131); -#5136=PACKAGE_TERMINAL('86','part generic feature',#321,.T.); -#5137=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5138,'',$,#5136,#323,*); -#5138=AXIS2_PLACEMENT_2D('',#5140,#5139); -#5139=DIRECTION('',(1.0,0.0)); -#5140=CARTESIAN_POINT('',(2.85,0.1)); -#5141=ASSEMBLY_COMPONENT_USAGE('86','tlist','is unknown',#347,#2993,'86'); -#5142=MAPPED_ITEM('tlistt',#23724,#5138); -#5143=PACKAGE_TERMINAL('87','part generic feature',#321,.T.); -#5144=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5145,'',$,#5143,#323,*); -#5145=AXIS2_PLACEMENT_2D('',#5147,#5146); -#5146=DIRECTION('',(1.0,0.0)); -#5147=CARTESIAN_POINT('',(2.95,0.1)); -#5148=ASSEMBLY_COMPONENT_USAGE('87','tlist','is unknown',#347,#2993,'87'); -#5149=MAPPED_ITEM('tlistt',#23724,#5145); -#5150=PACKAGE_TERMINAL('88','part generic feature',#321,.T.); -#5151=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5152,'',$,#5150,#323,*); -#5152=AXIS2_PLACEMENT_2D('',#5154,#5153); -#5153=DIRECTION('',(1.0,0.0)); -#5154=CARTESIAN_POINT('',(3.05,0.1)); -#5155=ASSEMBLY_COMPONENT_USAGE('88','tlist','is unknown',#347,#2993,'88'); -#5156=MAPPED_ITEM('tlistt',#23724,#5152); -#5157=PACKAGE_TERMINAL('89','part generic feature',#321,.T.); -#5158=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5159,'',$,#5157,#323,*); -#5159=AXIS2_PLACEMENT_2D('',#5161,#5160); -#5160=DIRECTION('',(1.0,0.0)); -#5161=CARTESIAN_POINT('',(3.15,0.1)); -#5162=ASSEMBLY_COMPONENT_USAGE('89','tlist','is unknown',#347,#2993,'89'); -#5163=MAPPED_ITEM('tlistt',#23724,#5159); -#5164=PACKAGE_TERMINAL('90','part generic feature',#321,.T.); -#5165=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5166,'',$,#5164,#323,*); -#5166=AXIS2_PLACEMENT_2D('',#5168,#5167); -#5167=DIRECTION('',(1.0,0.0)); -#5168=CARTESIAN_POINT('',(3.25,0.1)); -#5169=ASSEMBLY_COMPONENT_USAGE('90','tlist','is unknown',#347,#2993,'90'); -#5170=MAPPED_ITEM('tlistt',#23724,#5166); -#5171=PACKAGE_TERMINAL('91','part generic feature',#321,.T.); -#5172=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5173,'',$,#5171,#323,*); -#5173=AXIS2_PLACEMENT_2D('',#5175,#5174); -#5174=DIRECTION('',(1.0,0.0)); -#5175=CARTESIAN_POINT('',(3.35,0.1)); -#5176=ASSEMBLY_COMPONENT_USAGE('91','tlist','is unknown',#347,#2993,'91'); -#5177=MAPPED_ITEM('tlistt',#23724,#5173); -#5178=PACKAGE_TERMINAL('92','part generic feature',#321,.T.); -#5179=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5180,'',$,#5178,#323,*); -#5180=AXIS2_PLACEMENT_2D('',#5182,#5181); -#5181=DIRECTION('',(1.0,0.0)); -#5182=CARTESIAN_POINT('',(3.45,0.1)); -#5183=ASSEMBLY_COMPONENT_USAGE('92','tlist','is unknown',#347,#2993,'92'); -#5184=MAPPED_ITEM('tlistt',#23724,#5180); -#5185=PACKAGE_TERMINAL('93','part generic feature',#321,.T.); -#5186=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5187,'',$,#5185,#323,*); -#5187=AXIS2_PLACEMENT_2D('',#5189,#5188); -#5188=DIRECTION('',(1.0,0.0)); -#5189=CARTESIAN_POINT('',(3.55,0.1)); -#5190=ASSEMBLY_COMPONENT_USAGE('93','tlist','is unknown',#347,#2993,'93'); -#5191=MAPPED_ITEM('tlistt',#23724,#5187); -#5192=PACKAGE_TERMINAL('94','part generic feature',#321,.T.); -#5193=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5194,'',$,#5192,#323,*); -#5194=AXIS2_PLACEMENT_2D('',#5196,#5195); -#5195=DIRECTION('',(1.0,0.0)); -#5196=CARTESIAN_POINT('',(3.65,0.1)); -#5197=ASSEMBLY_COMPONENT_USAGE('94','tlist','is unknown',#347,#2993,'94'); -#5198=MAPPED_ITEM('tlistt',#23724,#5194); -#5199=PACKAGE_TERMINAL('95','part generic feature',#321,.T.); -#5200=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5201,'',$,#5199,#323,*); -#5201=AXIS2_PLACEMENT_2D('',#5203,#5202); -#5202=DIRECTION('',(1.0,0.0)); -#5203=CARTESIAN_POINT('',(3.75,0.1)); -#5204=ASSEMBLY_COMPONENT_USAGE('95','tlist','is unknown',#347,#2993,'95'); -#5205=MAPPED_ITEM('tlistt',#23724,#5201); -#5206=PACKAGE_TERMINAL('96','part generic feature',#321,.T.); -#5207=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5208,'',$,#5206,#323,*); -#5208=AXIS2_PLACEMENT_2D('',#5210,#5209); -#5209=DIRECTION('',(1.0,0.0)); -#5210=CARTESIAN_POINT('',(3.85,0.1)); -#5211=ASSEMBLY_COMPONENT_USAGE('96','tlist','is unknown',#347,#2993,'96'); -#5212=MAPPED_ITEM('tlistt',#23724,#5208); -#5213=PACKAGE_TERMINAL('97','part generic feature',#321,.T.); -#5214=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5215,'',$,#5213,#323,*); -#5215=AXIS2_PLACEMENT_2D('',#5217,#5216); -#5216=DIRECTION('',(1.0,0.0)); -#5217=CARTESIAN_POINT('',(3.95,0.1)); -#5218=ASSEMBLY_COMPONENT_USAGE('97','tlist','is unknown',#347,#2993,'97'); -#5219=MAPPED_ITEM('tlistt',#23724,#5215); -#5220=PACKAGE_TERMINAL('98','part generic feature',#321,.T.); -#5221=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5222,'',$,#5220,#323,*); -#5222=AXIS2_PLACEMENT_2D('',#5224,#5223); -#5223=DIRECTION('',(1.0,0.0)); -#5224=CARTESIAN_POINT('',(4.05,0.1)); -#5225=ASSEMBLY_COMPONENT_USAGE('98','tlist','is unknown',#347,#2993,'98'); -#5226=MAPPED_ITEM('tlistt',#23724,#5222); -#5227=PACKAGE_TERMINAL('99','part generic feature',#321,.T.); -#5228=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5229,'',$,#5227,#323,*); -#5229=AXIS2_PLACEMENT_2D('',#5231,#5230); -#5230=DIRECTION('',(1.0,0.0)); -#5231=CARTESIAN_POINT('',(4.15,0.1)); -#5232=ASSEMBLY_COMPONENT_USAGE('99','tlist','is unknown',#347,#2993,'99'); -#5233=MAPPED_ITEM('tlistt',#23724,#5229); -#5234=PACKAGE_TERMINAL('100','part generic feature',#321,.T.); -#5235=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5236,'',$,#5234,#323,*); -#5236=AXIS2_PLACEMENT_2D('',#5238,#5237); -#5237=DIRECTION('',(1.0,0.0)); -#5238=CARTESIAN_POINT('',(4.25,0.1)); -#5239=ASSEMBLY_COMPONENT_USAGE('100','tlist','is unknown',#347,#2993,'100'); -#5240=MAPPED_ITEM('tlistt',#23724,#5236); -#5241=PACKAGE_TERMINAL('101','part generic feature',#321,.T.); -#5242=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5243,'',$,#5241,#323,*); -#5243=AXIS2_PLACEMENT_2D('',#5245,#5244); -#5244=DIRECTION('',(1.0,0.0)); -#5245=CARTESIAN_POINT('',(4.35,0.1)); -#5246=ASSEMBLY_COMPONENT_USAGE('101','tlist','is unknown',#347,#2993,'101'); -#5247=MAPPED_ITEM('tlistt',#23724,#5243); -#5248=PACKAGE_TERMINAL('102','part generic feature',#321,.T.); -#5249=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5250,'',$,#5248,#323,*); -#5250=AXIS2_PLACEMENT_2D('',#5252,#5251); -#5251=DIRECTION('',(1.0,0.0)); -#5252=CARTESIAN_POINT('',(4.45,0.1)); -#5253=ASSEMBLY_COMPONENT_USAGE('102','tlist','is unknown',#347,#2993,'102'); -#5254=MAPPED_ITEM('tlistt',#23724,#5250); -#5255=PACKAGE_TERMINAL('103','part generic feature',#321,.T.); -#5256=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5257,'',$,#5255,#323,*); -#5257=AXIS2_PLACEMENT_2D('',#5259,#5258); -#5258=DIRECTION('',(1.0,0.0)); -#5259=CARTESIAN_POINT('',(4.55,0.1)); -#5260=ASSEMBLY_COMPONENT_USAGE('103','tlist','is unknown',#347,#2993,'103'); -#5261=MAPPED_ITEM('tlistt',#23724,#5257); -#5262=PACKAGE_TERMINAL('104','part generic feature',#321,.T.); -#5263=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5264,'',$,#5262,#323,*); -#5264=AXIS2_PLACEMENT_2D('',#5266,#5265); -#5265=DIRECTION('',(1.0,0.0)); -#5266=CARTESIAN_POINT('',(4.65,0.1)); -#5267=ASSEMBLY_COMPONENT_USAGE('104','tlist','is unknown',#347,#2993,'104'); -#5268=MAPPED_ITEM('tlistt',#23724,#5264); -#5269=PACKAGE_TERMINAL('105','part generic feature',#321,.T.); -#5270=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5271,'',$,#5269,#323,*); -#5271=AXIS2_PLACEMENT_2D('',#5273,#5272); -#5272=DIRECTION('',(1.0,0.0)); -#5273=CARTESIAN_POINT('',(4.75,0.1)); -#5274=ASSEMBLY_COMPONENT_USAGE('105','tlist','is unknown',#347,#2993,'105'); -#5275=MAPPED_ITEM('tlistt',#23724,#5271); -#5276=PACKAGE_TERMINAL('106','part generic feature',#321,.T.); -#5277=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5278,'',$,#5276,#323,*); -#5278=AXIS2_PLACEMENT_2D('',#5280,#5279); -#5279=DIRECTION('',(1.0,0.0)); -#5280=CARTESIAN_POINT('',(4.85,0.1)); -#5281=ASSEMBLY_COMPONENT_USAGE('106','tlist','is unknown',#347,#2993,'106'); -#5282=MAPPED_ITEM('tlistt',#23724,#5278); -#5283=PACKAGE_TERMINAL('107','part generic feature',#321,.T.); -#5284=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5285,'',$,#5283,#323,*); -#5285=AXIS2_PLACEMENT_2D('',#5287,#5286); -#5286=DIRECTION('',(1.0,0.0)); -#5287=CARTESIAN_POINT('',(4.95,0.1)); -#5288=ASSEMBLY_COMPONENT_USAGE('107','tlist','is unknown',#347,#2993,'107'); -#5289=MAPPED_ITEM('tlistt',#23724,#5285); -#5290=PACKAGE_TERMINAL('108','part generic feature',#321,.T.); -#5291=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5292,'',$,#5290,#323,*); -#5292=AXIS2_PLACEMENT_2D('',#5294,#5293); -#5293=DIRECTION('',(1.0,0.0)); -#5294=CARTESIAN_POINT('',(5.05,0.1)); -#5295=ASSEMBLY_COMPONENT_USAGE('108','tlist','is unknown',#347,#2993,'108'); -#5296=MAPPED_ITEM('tlistt',#23724,#5292); -#5297=PACKAGE_TERMINAL('109','part generic feature',#321,.T.); -#5298=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5299,'',$,#5297,#323,*); -#5299=AXIS2_PLACEMENT_2D('',#5301,#5300); -#5300=DIRECTION('',(1.0,0.0)); -#5301=CARTESIAN_POINT('',(5.15,0.1)); -#5302=ASSEMBLY_COMPONENT_USAGE('109','tlist','is unknown',#347,#2993,'109'); -#5303=MAPPED_ITEM('tlistt',#23724,#5299); -#5304=PACKAGE_TERMINAL('110','part generic feature',#321,.T.); -#5305=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5306,'',$,#5304,#323,*); -#5306=AXIS2_PLACEMENT_2D('',#5308,#5307); -#5307=DIRECTION('',(1.0,0.0)); -#5308=CARTESIAN_POINT('',(5.25,0.1)); -#5309=ASSEMBLY_COMPONENT_USAGE('110','tlist','is unknown',#347,#2993,'110'); -#5310=MAPPED_ITEM('tlistt',#23724,#5306); -#5311=PACKAGE_TERMINAL('111','part generic feature',#321,.T.); -#5312=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5313,'',$,#5311,#323,*); -#5313=AXIS2_PLACEMENT_2D('',#5315,#5314); -#5314=DIRECTION('',(1.0,0.0)); -#5315=CARTESIAN_POINT('',(5.35,0.1)); -#5316=ASSEMBLY_COMPONENT_USAGE('111','tlist','is unknown',#347,#2993,'111'); -#5317=MAPPED_ITEM('tlistt',#23724,#5313); -#5318=PACKAGE_TERMINAL('112','part generic feature',#321,.T.); -#5319=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17724,#5320,'',$,#5318,#323,*); -#5320=AXIS2_PLACEMENT_2D('',#5322,#5321); -#5321=DIRECTION('',(1.0,0.0)); -#5322=CARTESIAN_POINT('',(5.45,0.1)); -#5323=ASSEMBLY_COMPONENT_USAGE('112','tlist','is unknown',#347,#2993,'112'); -#5324=MAPPED_ITEM('tlistt',#23724,#5320); -#5325=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5326=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#5330),#5325); -#5327=POLYLINE('',(#5328,#5329)); -#5328=CARTESIAN_POINT('',(-0.01,0.475)); -#5329=CARTESIAN_POINT('',(-0.205,0.075)); -#5330=GEOMETRIC_CURVE_SET('',(#5327,#5331,#5334,#5337,#5345,#5351,#5357,#5363)); -#5331=POLYLINE('',(#5332,#5333)); -#5332=CARTESIAN_POINT('',(-0.01,-0.675)); -#5333=CARTESIAN_POINT('',(-0.205,-0.275)); -#5334=POLYLINE('',(#5335,#5336)); -#5335=CARTESIAN_POINT('',(0.405,-0.275)); -#5336=CARTESIAN_POINT('',(0.21,-0.675)); -#5337=POLYLINE('',(#5338,#5339)); -#5338=CARTESIAN_POINT('',(0.21,0.475)); -#5339=CARTESIAN_POINT('',(0.405,0.075)); -#5340=CARTESIAN_POINT('',(-0.01,-0.675)); -#5341=CARTESIAN_POINT('',(0.21,-0.675)); -#5342=CARTESIAN_POINT('',(0.09999999999999744,-0.5792915169660683)); -#5343=AXIS2_PLACEMENT_2D('',#5342,$); -#5344=CIRCLE('',#5343,0.1458084830339325); -#5345=TRIMMED_CURVE('',#5344,(#5340),(#5341),.T.,.CARTESIAN.); -#5346=CARTESIAN_POINT('',(0.21,0.475)); -#5347=CARTESIAN_POINT('',(-0.01,0.475)); -#5348=CARTESIAN_POINT('',(0.1000000000000015,0.38001611221449905)); -#5349=AXIS2_PLACEMENT_2D('',#5348,$); -#5350=CIRCLE('',#5349,0.14533388778550116); -#5351=TRIMMED_CURVE('',#5350,(#5346),(#5347),.T.,.CARTESIAN.); -#5352=CARTESIAN_POINT('',(-0.205,0.075)); -#5353=CARTESIAN_POINT('',(-0.205,-0.275)); -#5354=CARTESIAN_POINT('',(0.1123751109877916,-0.10000000000000002)); -#5355=AXIS2_PLACEMENT_2D('',#5354,$); -#5356=CIRCLE('',#5355,0.3624251109877915); -#5357=TRIMMED_CURVE('',#5356,(#5352),(#5353),.T.,.CARTESIAN.); -#5358=CARTESIAN_POINT('',(0.405,-0.275)); -#5359=CARTESIAN_POINT('',(0.405,0.075)); -#5360=CARTESIAN_POINT('',(0.08762488901220898,-0.10000000000000062)); -#5361=AXIS2_PLACEMENT_2D('',#5360,$); -#5362=CIRCLE('',#5361,0.36242511098779107); -#5363=TRIMMED_CURVE('',#5362,(#5358),(#5359),.T.,.CARTESIAN.); -#5364=CSG_2D_SHAPE_REPRESENTATION('',(#26,#5365),#382); -#5365=CSG_SOLID_2D('',#5367); -#5366=CARTESIAN_POINT('',(0.0,0.0)); -#5367=CIRCULAR_AREA('',#5366,0.015); -#5368=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#5369=PRODUCT_DEFINITION_SHAPE('',$,#5368); -#5370=SHAPE_DEFINITION_REPRESENTATION(#5369,#5364); -#5371=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#381,.T.); -#5372=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17725,#5373,'',$,#5371,#383,*); -#5373=AXIS2_PLACEMENT_2D('',#5374,$); -#5374=CARTESIAN_POINT('',(0.0,0.0)); -#5375=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#406,#2835,'1'); -#5376=MAPPED_ITEM('tlistt',#23703,#5373); -#5377=PACKAGE_TERMINAL('2','part generic feature',#381,.T.); -#5378=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17725,#5379,'',$,#5377,#383,*); -#5379=AXIS2_PLACEMENT_2D('',#5381,#5380); -#5380=DIRECTION('',(1.0,0.0)); -#5381=CARTESIAN_POINT('',(0.2,0.0)); -#5382=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#406,#2515,'2'); -#5383=MAPPED_ITEM('tlistt',#23707,#5379); -#5384=PACKAGE_TERMINAL('3','part generic feature',#381,.T.); -#5385=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17725,#5386,'',$,#5384,#383,*); -#5386=AXIS2_PLACEMENT_2D('',#5388,#5387); -#5387=DIRECTION('',(1.0,0.0)); -#5388=CARTESIAN_POINT('',(0.1,-0.58)); -#5389=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#406,#3617,'3'); -#5390=MAPPED_ITEM('tlistt',#24091,#5386); -#5391=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5392=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#5398),#5391); -#5393=POLYLINE('',(#5394,#5395,#5396,#5397)); -#5394=CARTESIAN_POINT('',(-0.02,0.14)); -#5395=CARTESIAN_POINT('',(-0.045,0.165)); -#5396=CARTESIAN_POINT('',(-0.065,0.145)); -#5397=CARTESIAN_POINT('',(-0.04,0.12)); -#5398=GEOMETRIC_CURVE_SET('',(#5393,#5402)); -#5399=AXIS2_PLACEMENT_2D('',#5401,#5400); -#5400=DIRECTION('',(1.0,0.0)); -#5401=CARTESIAN_POINT('',(0.1,0.0)); -#5402=CIRCLE('',#5399,0.185); -#5403=CSG_2D_SHAPE_REPRESENTATION('',(#26,#5404),#428); -#5404=CSG_SOLID_2D('',#5406); -#5405=CARTESIAN_POINT('',(0.0,0.0)); -#5406=CIRCULAR_AREA('',#5405,0.015); -#5407=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#5408=PRODUCT_DEFINITION_SHAPE('',$,#5407); -#5409=SHAPE_DEFINITION_REPRESENTATION(#5408,#5403); -#5410=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#427,.T.); -#5411=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17726,#5412,'',$,#5410,#429,*); -#5412=AXIS2_PLACEMENT_2D('',#5413,$); -#5413=CARTESIAN_POINT('',(0.0,0.0)); -#5414=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#452,#3305,'1'); -#5415=MAPPED_ITEM('tlistt',#23720,#5412); -#5416=PACKAGE_TERMINAL('2','part generic feature',#427,.T.); -#5417=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17726,#5418,'',$,#5416,#429,*); -#5418=AXIS2_PLACEMENT_2D('',#5420,#5419); -#5419=DIRECTION('',(1.0,0.0)); -#5420=CARTESIAN_POINT('',(0.1,-0.1)); -#5421=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#452,#2677,'2'); -#5422=MAPPED_ITEM('tlistt',#23693,#5418); -#5423=PACKAGE_TERMINAL('3','part generic feature',#427,.T.); -#5424=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17726,#5425,'',$,#5423,#429,*); -#5425=AXIS2_PLACEMENT_2D('',#5427,#5426); -#5426=DIRECTION('',(1.0,0.0)); -#5427=CARTESIAN_POINT('',(0.2,0.0)); -#5428=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#452,#2677,'3'); -#5429=MAPPED_ITEM('tlistt',#23693,#5425); -#5430=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5431=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#5432),#5430); -#5432=GEOMETRIC_CURVE_SET('',(#5436,#5437)); -#5433=AXIS2_PLACEMENT_2D('',#5435,#5434); -#5434=DIRECTION('',(1.0,0.0)); -#5435=CARTESIAN_POINT('',(0.1,0.0)); -#5436=CIRCLE('',#5433,0.185); -#5437=POLYLINE('',(#5438,#5439,#5440,#5441)); -#5438=CARTESIAN_POINT('',(0.22,-0.14)); -#5439=CARTESIAN_POINT('',(0.245,-0.165)); -#5440=CARTESIAN_POINT('',(0.265,-0.145)); -#5441=CARTESIAN_POINT('',(0.24,-0.12)); -#5442=CSG_2D_SHAPE_REPRESENTATION('',(#26,#5443),#457); -#5443=CSG_SOLID_2D('',#5445); -#5444=CARTESIAN_POINT('',(0.0,0.0)); -#5445=CIRCULAR_AREA('',#5444,0.015); -#5446=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#5447=PRODUCT_DEFINITION_SHAPE('',$,#5446); -#5448=SHAPE_DEFINITION_REPRESENTATION(#5447,#5442); -#5449=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#456,.T.); -#5450=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17727,#5451,'',$,#5449,#458,*); -#5451=AXIS2_PLACEMENT_2D('',#5452,$); -#5452=CARTESIAN_POINT('',(0.0,0.0)); -#5453=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#481,#2993,'1'); -#5454=MAPPED_ITEM('tlistt',#23724,#5451); -#5455=PACKAGE_TERMINAL('2','part generic feature',#456,.T.); -#5456=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17727,#5457,'',$,#5455,#458,*); -#5457=AXIS2_PLACEMENT_2D('',#5459,#5458); -#5458=DIRECTION('',(1.0,0.0)); -#5459=CARTESIAN_POINT('',(0.1,0.1)); -#5460=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#481,#2993,'2'); -#5461=MAPPED_ITEM('tlistt',#23724,#5457); -#5462=PACKAGE_TERMINAL('3','part generic feature',#456,.T.); -#5463=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17727,#5464,'',$,#5462,#458,*); -#5464=AXIS2_PLACEMENT_2D('',#5466,#5465); -#5465=DIRECTION('',(1.0,0.0)); -#5466=CARTESIAN_POINT('',(0.2,0.0)); -#5467=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#481,#2993,'3'); -#5468=MAPPED_ITEM('tlistt',#23724,#5464); -#5469=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5470=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#5474),#5469); -#5471=POLYLINE('',(#5472,#5473)); -#5472=CARTESIAN_POINT('',(0.11,0.0)); -#5473=CARTESIAN_POINT('',(0.0,0.0)); -#5474=GEOMETRIC_CURVE_SET('',(#5471,#5475,#5478)); -#5475=POLYLINE('',(#5476,#5477)); -#5476=CARTESIAN_POINT('',(0.39,0.0)); -#5477=CARTESIAN_POINT('',(0.5,0.0)); -#5478=POLYLINE('',(#5479,#5480,#5481,#5482,#5483)); -#5479=CARTESIAN_POINT('',(0.11,-0.05)); -#5480=CARTESIAN_POINT('',(0.11,0.05)); -#5481=CARTESIAN_POINT('',(0.39,0.05)); -#5482=CARTESIAN_POINT('',(0.39,-0.05)); -#5483=CARTESIAN_POINT('',(0.11,-0.05)); -#5484=CSG_2D_SHAPE_REPRESENTATION('',(#26,#5485),#486); -#5485=CSG_SOLID_2D('',#5487); -#5486=CARTESIAN_POINT('',(0.0,0.0)); -#5487=CIRCULAR_AREA('',#5486,0.015); -#5488=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#5489=PRODUCT_DEFINITION_SHAPE('',$,#5488); -#5490=SHAPE_DEFINITION_REPRESENTATION(#5489,#5484); -#5491=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#485,.T.); -#5492=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17728,#5493,'',$,#5491,#487,*); -#5493=AXIS2_PLACEMENT_2D('',#5494,$); -#5494=CARTESIAN_POINT('',(0.0,0.0)); -#5495=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#505,#2515,'1'); -#5496=MAPPED_ITEM('tlistt',#23707,#5493); -#5497=PACKAGE_TERMINAL('2','part generic feature',#485,.T.); -#5498=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17728,#5499,'',$,#5497,#487,*); -#5499=AXIS2_PLACEMENT_2D('',#5501,#5500); -#5500=DIRECTION('',(1.0,0.0)); -#5501=CARTESIAN_POINT('',(0.5,0.0)); -#5502=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#505,#2515,'2'); -#5503=MAPPED_ITEM('tlistt',#23707,#5499); -#5504=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5505=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#5512),#5504); -#5506=POLYLINE('',(#5507,#5508,#5509,#5510,#5511)); -#5507=CARTESIAN_POINT('',(0.15,-0.075)); -#5508=CARTESIAN_POINT('',(0.15,0.075)); -#5509=CARTESIAN_POINT('',(0.55,0.075)); -#5510=CARTESIAN_POINT('',(0.55,-0.075)); -#5511=CARTESIAN_POINT('',(0.15,-0.075)); -#5512=GEOMETRIC_CURVE_SET('',(#5506,#5513,#5516)); -#5513=POLYLINE('',(#5514,#5515)); -#5514=CARTESIAN_POINT('',(0.55,0.0)); -#5515=CARTESIAN_POINT('',(0.7,0.0)); -#5516=POLYLINE('',(#5517,#5518)); -#5517=CARTESIAN_POINT('',(0.15,0.0)); -#5518=CARTESIAN_POINT('',(0.0,0.0)); -#5519=CSG_2D_SHAPE_REPRESENTATION('',(#26,#5520),#510); -#5520=CSG_SOLID_2D('',#5522); -#5521=CARTESIAN_POINT('',(0.0,0.0)); -#5522=CIRCULAR_AREA('',#5521,0.015); -#5523=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#5524=PRODUCT_DEFINITION_SHAPE('',$,#5523); -#5525=SHAPE_DEFINITION_REPRESENTATION(#5524,#5519); -#5526=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#509,.T.); -#5527=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17729,#5528,'',$,#5526,#511,*); -#5528=AXIS2_PLACEMENT_2D('',#5529,$); -#5529=CARTESIAN_POINT('',(0.0,0.0)); -#5530=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#529,#2515,'1'); -#5531=MAPPED_ITEM('tlistt',#23707,#5528); -#5532=PACKAGE_TERMINAL('2','part generic feature',#509,.T.); -#5533=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17729,#5534,'',$,#5532,#511,*); -#5534=AXIS2_PLACEMENT_2D('',#5536,#5535); -#5535=DIRECTION('',(1.0,0.0)); -#5536=CARTESIAN_POINT('',(0.7,0.0)); -#5537=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#529,#2515,'2'); -#5538=MAPPED_ITEM('tlistt',#23707,#5534); -#5539=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5540=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#5547),#5539); -#5541=POLYLINE('',(#5542,#5543,#5544,#5545,#5546)); -#5542=CARTESIAN_POINT('',(0.45,0.45)); -#5543=CARTESIAN_POINT('',(-0.05,0.45)); -#5544=CARTESIAN_POINT('',(-0.05,-0.05)); -#5545=CARTESIAN_POINT('',(0.45,-0.05)); -#5546=CARTESIAN_POINT('',(0.45,0.45)); -#5547=GEOMETRIC_CURVE_SET('',(#5541)); -#5548=CSG_2D_SHAPE_REPRESENTATION('',(#26,#5549),#534); -#5549=CSG_SOLID_2D('',#5551); -#5550=CARTESIAN_POINT('',(0.0,0.0)); -#5551=CIRCULAR_AREA('',#5550,0.015); -#5552=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#5553=PRODUCT_DEFINITION_SHAPE('',$,#5552); -#5554=SHAPE_DEFINITION_REPRESENTATION(#5553,#5548); -#5555=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#533,.T.); -#5556=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17730,#5557,'',$,#5555,#535,*); -#5557=AXIS2_PLACEMENT_2D('',#5558,$); -#5558=CARTESIAN_POINT('',(0.0,0.0)); -#5559=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#553,#2835,'1'); -#5560=MAPPED_ITEM('tlistt',#23703,#5557); -#5561=PACKAGE_TERMINAL('2','part generic feature',#533,.T.); -#5562=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17730,#5563,'',$,#5561,#535,*); -#5563=AXIS2_PLACEMENT_2D('',#5565,#5564); -#5564=DIRECTION('',(1.0,0.0)); -#5565=CARTESIAN_POINT('',(0.2,0.0)); -#5566=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#553,#2515,'2'); -#5567=MAPPED_ITEM('tlistt',#23707,#5563); -#5568=PACKAGE_TERMINAL('3','part generic feature',#533,.T.); -#5569=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17730,#5570,'',$,#5568,#535,*); -#5570=AXIS2_PLACEMENT_2D('',#5572,#5571); -#5571=DIRECTION('',(1.0,0.0)); -#5572=CARTESIAN_POINT('',(0.4,0.0)); -#5573=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#553,#2515,'3'); -#5574=MAPPED_ITEM('tlistt',#23707,#5570); -#5575=PACKAGE_TERMINAL('4','part generic feature',#533,.T.); -#5576=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17730,#5577,'',$,#5575,#535,*); -#5577=AXIS2_PLACEMENT_2D('',#5579,#5578); -#5578=DIRECTION('',(1.0,0.0)); -#5579=CARTESIAN_POINT('',(0.4,0.4)); -#5580=ASSEMBLY_COMPONENT_USAGE('4','tlist','is unknown',#553,#2515,'4'); -#5581=MAPPED_ITEM('tlistt',#23707,#5577); -#5582=PACKAGE_TERMINAL('5','part generic feature',#533,.T.); -#5583=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17730,#5584,'',$,#5582,#535,*); -#5584=AXIS2_PLACEMENT_2D('',#5586,#5585); -#5585=DIRECTION('',(1.0,0.0)); -#5586=CARTESIAN_POINT('',(0.2,0.4)); -#5587=ASSEMBLY_COMPONENT_USAGE('5','tlist','is unknown',#553,#2515,'5'); -#5588=MAPPED_ITEM('tlistt',#23707,#5584); -#5589=PACKAGE_TERMINAL('6','part generic feature',#533,.T.); -#5590=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17730,#5591,'',$,#5589,#535,*); -#5591=AXIS2_PLACEMENT_2D('',#5593,#5592); -#5592=DIRECTION('',(1.0,0.0)); -#5593=CARTESIAN_POINT('',(0.0,0.4)); -#5594=ASSEMBLY_COMPONENT_USAGE('6','tlist','is unknown',#553,#2515,'6'); -#5595=MAPPED_ITEM('tlistt',#23707,#5591); -#5596=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5597=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#5603),#5596); -#5598=POLYLINE('',(#5599,#5600,#5601,#5602)); -#5599=CARTESIAN_POINT('',(0.5875,0.025)); -#5600=CARTESIAN_POINT('',(0.5875,0.0)); -#5601=CARTESIAN_POINT('',(0.6125,0.0)); -#5602=CARTESIAN_POINT('',(0.6125,0.025)); -#5603=GEOMETRIC_CURVE_SET('',(#5598,#5604,#5609,#5614,#5619,#5624,#5629,#5634,#5639, - #5644,#5649,#5654,#5659,#5664,#5669,#5675)); -#5604=POLYLINE('',(#5605,#5606,#5607,#5608)); -#5605=CARTESIAN_POINT('',(0.4875,0.025)); -#5606=CARTESIAN_POINT('',(0.4875,0.0)); -#5607=CARTESIAN_POINT('',(0.5125,0.0)); -#5608=CARTESIAN_POINT('',(0.5125,0.025)); -#5609=POLYLINE('',(#5610,#5611,#5612,#5613)); -#5610=CARTESIAN_POINT('',(0.3875,0.025)); -#5611=CARTESIAN_POINT('',(0.3875,0.0)); -#5612=CARTESIAN_POINT('',(0.4125,0.0)); -#5613=CARTESIAN_POINT('',(0.4125,0.025)); -#5614=POLYLINE('',(#5615,#5616,#5617,#5618)); -#5615=CARTESIAN_POINT('',(0.2875,0.025)); -#5616=CARTESIAN_POINT('',(0.2875,0.0)); -#5617=CARTESIAN_POINT('',(0.3125,0.0)); -#5618=CARTESIAN_POINT('',(0.3125,0.025)); -#5619=POLYLINE('',(#5620,#5621,#5622,#5623)); -#5620=CARTESIAN_POINT('',(0.1875,0.025)); -#5621=CARTESIAN_POINT('',(0.1875,0.0)); -#5622=CARTESIAN_POINT('',(0.2125,0.0)); -#5623=CARTESIAN_POINT('',(0.2125,0.025)); -#5624=POLYLINE('',(#5625,#5626,#5627,#5628)); -#5625=CARTESIAN_POINT('',(0.0875,0.025)); -#5626=CARTESIAN_POINT('',(0.0875,0.0)); -#5627=CARTESIAN_POINT('',(0.1125,0.0)); -#5628=CARTESIAN_POINT('',(0.1125,0.025)); -#5629=POLYLINE('',(#5630,#5631,#5632,#5633)); -#5630=CARTESIAN_POINT('',(-0.0125,0.025)); -#5631=CARTESIAN_POINT('',(-0.0125,0.0)); -#5632=CARTESIAN_POINT('',(0.0125,0.0)); -#5633=CARTESIAN_POINT('',(0.0125,0.025)); -#5634=POLYLINE('',(#5635,#5636,#5637,#5638)); -#5635=CARTESIAN_POINT('',(0.5875,0.275)); -#5636=CARTESIAN_POINT('',(0.5875,0.3)); -#5637=CARTESIAN_POINT('',(0.6125,0.3)); -#5638=CARTESIAN_POINT('',(0.6125,0.275)); -#5639=POLYLINE('',(#5640,#5641,#5642,#5643)); -#5640=CARTESIAN_POINT('',(0.4875,0.275)); -#5641=CARTESIAN_POINT('',(0.4875,0.3)); -#5642=CARTESIAN_POINT('',(0.5125,0.3)); -#5643=CARTESIAN_POINT('',(0.5125,0.275)); -#5644=POLYLINE('',(#5645,#5646,#5647,#5648)); -#5645=CARTESIAN_POINT('',(0.3875,0.275)); -#5646=CARTESIAN_POINT('',(0.3875,0.3)); -#5647=CARTESIAN_POINT('',(0.4125,0.3)); -#5648=CARTESIAN_POINT('',(0.4125,0.275)); -#5649=POLYLINE('',(#5650,#5651,#5652,#5653)); -#5650=CARTESIAN_POINT('',(0.2875,0.275)); -#5651=CARTESIAN_POINT('',(0.2875,0.3)); -#5652=CARTESIAN_POINT('',(0.3125,0.3)); -#5653=CARTESIAN_POINT('',(0.3125,0.275)); -#5654=POLYLINE('',(#5655,#5656,#5657,#5658)); -#5655=CARTESIAN_POINT('',(0.1875,0.275)); -#5656=CARTESIAN_POINT('',(0.1875,0.3)); -#5657=CARTESIAN_POINT('',(0.2125,0.3)); -#5658=CARTESIAN_POINT('',(0.2125,0.275)); -#5659=POLYLINE('',(#5660,#5661,#5662,#5663)); -#5660=CARTESIAN_POINT('',(0.0875,0.275)); -#5661=CARTESIAN_POINT('',(0.0875,0.3)); -#5662=CARTESIAN_POINT('',(0.1125,0.3)); -#5663=CARTESIAN_POINT('',(0.1125,0.275)); -#5664=POLYLINE('',(#5665,#5666,#5667,#5668)); -#5665=CARTESIAN_POINT('',(-0.0125,0.275)); -#5666=CARTESIAN_POINT('',(-0.0125,0.3)); -#5667=CARTESIAN_POINT('',(0.0125,0.3)); -#5668=CARTESIAN_POINT('',(0.0125,0.275)); -#5669=POLYLINE('',(#5670,#5671,#5672,#5673,#5674)); -#5670=CARTESIAN_POINT('',(-0.05,0.275)); -#5671=CARTESIAN_POINT('',(0.65,0.275)); -#5672=CARTESIAN_POINT('',(0.65,0.025)); -#5673=CARTESIAN_POINT('',(-0.05,0.025)); -#5674=CARTESIAN_POINT('',(-0.05,0.275)); -#5675=POLYLINE('',(#5676,#5677,#5678,#5679)); -#5676=CARTESIAN_POINT('',(-0.05,0.175)); -#5677=CARTESIAN_POINT('',(-0.025,0.175)); -#5678=CARTESIAN_POINT('',(-0.025,0.125)); -#5679=CARTESIAN_POINT('',(-0.05,0.125)); -#5680=CSG_2D_SHAPE_REPRESENTATION('',(#26,#5681),#558); -#5681=CSG_SOLID_2D('',#5683); -#5682=CARTESIAN_POINT('',(0.0,0.0)); -#5683=CIRCULAR_AREA('',#5682,0.015); -#5684=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#5685=PRODUCT_DEFINITION_SHAPE('',$,#5684); -#5686=SHAPE_DEFINITION_REPRESENTATION(#5685,#5680); -#5687=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#557,.T.); -#5688=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5689,'',$,#5687,#559,*); -#5689=AXIS2_PLACEMENT_2D('',#5690,$); -#5690=CARTESIAN_POINT('',(0.0,0.0)); -#5691=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#577,#3305,'1'); -#5692=MAPPED_ITEM('tlistt',#23720,#5689); -#5693=PACKAGE_TERMINAL('2','part generic feature',#557,.T.); -#5694=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5695,'',$,#5693,#559,*); -#5695=AXIS2_PLACEMENT_2D('',#5697,#5696); -#5696=DIRECTION('',(1.0,0.0)); -#5697=CARTESIAN_POINT('',(0.1,0.0)); -#5698=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#577,#2677,'2'); -#5699=MAPPED_ITEM('tlistt',#23693,#5695); -#5700=PACKAGE_TERMINAL('3','part generic feature',#557,.T.); -#5701=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5702,'',$,#5700,#559,*); -#5702=AXIS2_PLACEMENT_2D('',#5704,#5703); -#5703=DIRECTION('',(1.0,0.0)); -#5704=CARTESIAN_POINT('',(0.2,0.0)); -#5705=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#577,#2677,'3'); -#5706=MAPPED_ITEM('tlistt',#23693,#5702); -#5707=PACKAGE_TERMINAL('4','part generic feature',#557,.T.); -#5708=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5709,'',$,#5707,#559,*); -#5709=AXIS2_PLACEMENT_2D('',#5711,#5710); -#5710=DIRECTION('',(1.0,0.0)); -#5711=CARTESIAN_POINT('',(0.3,0.0)); -#5712=ASSEMBLY_COMPONENT_USAGE('4','tlist','is unknown',#577,#2677,'4'); -#5713=MAPPED_ITEM('tlistt',#23693,#5709); -#5714=PACKAGE_TERMINAL('5','part generic feature',#557,.T.); -#5715=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5716,'',$,#5714,#559,*); -#5716=AXIS2_PLACEMENT_2D('',#5718,#5717); -#5717=DIRECTION('',(1.0,0.0)); -#5718=CARTESIAN_POINT('',(0.4,0.0)); -#5719=ASSEMBLY_COMPONENT_USAGE('5','tlist','is unknown',#577,#2677,'5'); -#5720=MAPPED_ITEM('tlistt',#23693,#5716); -#5721=PACKAGE_TERMINAL('6','part generic feature',#557,.T.); -#5722=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5723,'',$,#5721,#559,*); -#5723=AXIS2_PLACEMENT_2D('',#5725,#5724); -#5724=DIRECTION('',(1.0,0.0)); -#5725=CARTESIAN_POINT('',(0.5,0.0)); -#5726=ASSEMBLY_COMPONENT_USAGE('6','tlist','is unknown',#577,#2677,'6'); -#5727=MAPPED_ITEM('tlistt',#23693,#5723); -#5728=PACKAGE_TERMINAL('7','part generic feature',#557,.T.); -#5729=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5730,'',$,#5728,#559,*); -#5730=AXIS2_PLACEMENT_2D('',#5732,#5731); -#5731=DIRECTION('',(1.0,0.0)); -#5732=CARTESIAN_POINT('',(0.6,0.0)); -#5733=ASSEMBLY_COMPONENT_USAGE('7','tlist','is unknown',#577,#2677,'7'); -#5734=MAPPED_ITEM('tlistt',#23693,#5730); -#5735=PACKAGE_TERMINAL('8','part generic feature',#557,.T.); -#5736=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5737,'',$,#5735,#559,*); -#5737=AXIS2_PLACEMENT_2D('',#5739,#5738); -#5738=DIRECTION('',(1.0,0.0)); -#5739=CARTESIAN_POINT('',(0.6,0.3)); -#5740=ASSEMBLY_COMPONENT_USAGE('8','tlist','is unknown',#577,#2677,'8'); -#5741=MAPPED_ITEM('tlistt',#23693,#5737); -#5742=PACKAGE_TERMINAL('9','part generic feature',#557,.T.); -#5743=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5744,'',$,#5742,#559,*); -#5744=AXIS2_PLACEMENT_2D('',#5746,#5745); -#5745=DIRECTION('',(1.0,0.0)); -#5746=CARTESIAN_POINT('',(0.5,0.3)); -#5747=ASSEMBLY_COMPONENT_USAGE('9','tlist','is unknown',#577,#2677,'9'); -#5748=MAPPED_ITEM('tlistt',#23693,#5744); -#5749=PACKAGE_TERMINAL('10','part generic feature',#557,.T.); -#5750=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5751,'',$,#5749,#559,*); -#5751=AXIS2_PLACEMENT_2D('',#5753,#5752); -#5752=DIRECTION('',(1.0,0.0)); -#5753=CARTESIAN_POINT('',(0.4,0.3)); -#5754=ASSEMBLY_COMPONENT_USAGE('10','tlist','is unknown',#577,#2677,'10'); -#5755=MAPPED_ITEM('tlistt',#23693,#5751); -#5756=PACKAGE_TERMINAL('11','part generic feature',#557,.T.); -#5757=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5758,'',$,#5756,#559,*); -#5758=AXIS2_PLACEMENT_2D('',#5760,#5759); -#5759=DIRECTION('',(1.0,0.0)); -#5760=CARTESIAN_POINT('',(0.3,0.3)); -#5761=ASSEMBLY_COMPONENT_USAGE('11','tlist','is unknown',#577,#2677,'11'); -#5762=MAPPED_ITEM('tlistt',#23693,#5758); -#5763=PACKAGE_TERMINAL('12','part generic feature',#557,.T.); -#5764=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5765,'',$,#5763,#559,*); -#5765=AXIS2_PLACEMENT_2D('',#5767,#5766); -#5766=DIRECTION('',(1.0,0.0)); -#5767=CARTESIAN_POINT('',(0.2,0.3)); -#5768=ASSEMBLY_COMPONENT_USAGE('12','tlist','is unknown',#577,#2677,'12'); -#5769=MAPPED_ITEM('tlistt',#23693,#5765); -#5770=PACKAGE_TERMINAL('13','part generic feature',#557,.T.); -#5771=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5772,'',$,#5770,#559,*); -#5772=AXIS2_PLACEMENT_2D('',#5774,#5773); -#5773=DIRECTION('',(1.0,0.0)); -#5774=CARTESIAN_POINT('',(0.1,0.3)); -#5775=ASSEMBLY_COMPONENT_USAGE('13','tlist','is unknown',#577,#2677,'13'); -#5776=MAPPED_ITEM('tlistt',#23693,#5772); -#5777=PACKAGE_TERMINAL('14','part generic feature',#557,.T.); -#5778=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17731,#5779,'',$,#5777,#559,*); -#5779=AXIS2_PLACEMENT_2D('',#5781,#5780); -#5780=DIRECTION('',(1.0,0.0)); -#5781=CARTESIAN_POINT('',(0.0,0.3)); -#5782=ASSEMBLY_COMPONENT_USAGE('14','tlist','is unknown',#577,#2677,'14'); -#5783=MAPPED_ITEM('tlistt',#23693,#5779); -#5784=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5785=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#5789),#5784); -#5786=POLYLINE('',(#5787,#5788)); -#5787=CARTESIAN_POINT('',(0.0,0.0)); -#5788=CARTESIAN_POINT('',(0.15,0.0)); -#5789=GEOMETRIC_CURVE_SET('',(#5786,#5790,#5793,#5796,#5804)); -#5790=POLYLINE('',(#5791,#5792)); -#5791=CARTESIAN_POINT('',(0.25,0.0)); -#5792=CARTESIAN_POINT('',(0.2,0.0)); -#5793=POLYLINE('',(#5794,#5795)); -#5794=CARTESIAN_POINT('',(0.7,0.0)); -#5795=CARTESIAN_POINT('',(0.8,0.0)); -#5796=POLYLINE('',(#5797,#5798,#5799,#5800,#5801)); -#5797=CARTESIAN_POINT('',(0.25,-0.1)); -#5798=CARTESIAN_POINT('',(0.25,0.1)); -#5799=CARTESIAN_POINT('',(0.7,0.1)); -#5800=CARTESIAN_POINT('',(0.7,-0.1)); -#5801=CARTESIAN_POINT('',(0.25,-0.1)); -#5802=CARTESIAN_POINT('',(0.175,0.0)); -#5803=AXIS2_PLACEMENT_2D('',#5802,$); -#5804=CIRCLE('',#5803,0.02500000000000001); -#5805=CSG_2D_SHAPE_REPRESENTATION('',(#26,#5806),#582); -#5806=CSG_SOLID_2D('',#5808); -#5807=CARTESIAN_POINT('',(0.0,0.0)); -#5808=CIRCULAR_AREA('',#5807,0.015); -#5809=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#5810=PRODUCT_DEFINITION_SHAPE('',$,#5809); -#5811=SHAPE_DEFINITION_REPRESENTATION(#5810,#5805); -#5812=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#581,.T.); -#5813=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17732,#5814,'',$,#5812,#583,*); -#5814=AXIS2_PLACEMENT_2D('',#5815,$); -#5815=CARTESIAN_POINT('',(0.0,0.0)); -#5816=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#601,#2515,'1'); -#5817=MAPPED_ITEM('tlistt',#23707,#5814); -#5818=PACKAGE_TERMINAL('2','part generic feature',#581,.T.); -#5819=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17732,#5820,'',$,#5818,#583,*); -#5820=AXIS2_PLACEMENT_2D('',#5822,#5821); -#5821=DIRECTION('',(1.0,0.0)); -#5822=CARTESIAN_POINT('',(0.8,0.0)); -#5823=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#601,#2835,'2'); -#5824=MAPPED_ITEM('tlistt',#23703,#5820); -#5825=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5826=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#5830),#5825); -#5827=POLYLINE('',(#5828,#5829)); -#5828=CARTESIAN_POINT('',(0.1,0.0)); -#5829=CARTESIAN_POINT('',(0.0,0.0)); -#5830=GEOMETRIC_CURVE_SET('',(#5827,#5831,#5834)); -#5831=POLYLINE('',(#5832,#5833)); -#5832=CARTESIAN_POINT('',(0.4,0.0)); -#5833=CARTESIAN_POINT('',(0.5,0.0)); -#5834=POLYLINE('',(#5835,#5836,#5837,#5838,#5839)); -#5835=CARTESIAN_POINT('',(0.1,-0.075)); -#5836=CARTESIAN_POINT('',(0.1,0.075)); -#5837=CARTESIAN_POINT('',(0.4,0.075)); -#5838=CARTESIAN_POINT('',(0.4,-0.075)); -#5839=CARTESIAN_POINT('',(0.1,-0.075)); -#5840=CSG_2D_SHAPE_REPRESENTATION('',(#26,#5841),#606); -#5841=CSG_SOLID_2D('',#5843); -#5842=CARTESIAN_POINT('',(0.0,0.0)); -#5843=CIRCULAR_AREA('',#5842,0.015); -#5844=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#5845=PRODUCT_DEFINITION_SHAPE('',$,#5844); -#5846=SHAPE_DEFINITION_REPRESENTATION(#5845,#5840); -#5847=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#605,.T.); -#5848=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17733,#5849,'',$,#5847,#607,*); -#5849=AXIS2_PLACEMENT_2D('',#5850,$); -#5850=CARTESIAN_POINT('',(0.0,0.0)); -#5851=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#625,#2677,'1'); -#5852=MAPPED_ITEM('tlistt',#23693,#5849); -#5853=PACKAGE_TERMINAL('2','part generic feature',#605,.T.); -#5854=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17733,#5855,'',$,#5853,#607,*); -#5855=AXIS2_PLACEMENT_2D('',#5857,#5856); -#5856=DIRECTION('',(1.0,0.0)); -#5857=CARTESIAN_POINT('',(0.5,0.0)); -#5858=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#625,#3305,'2'); -#5859=MAPPED_ITEM('tlistt',#23720,#5855); -#5860=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5861=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#5868),#5860); -#5862=CARTESIAN_POINT('',(0.325,0.1)); -#5863=CARTESIAN_POINT('',(0.0,0.0)); -#5864=CARTESIAN_POINT('',(0.4693867218808443,-0.9473818461127439)); -#5865=AXIS2_PLACEMENT_2D('',#5864,$); -#5866=CIRCLE('',#5865,1.0572872159550761); -#5867=TRIMMED_CURVE('',#5866,(#5862),(#5863),.T.,.CARTESIAN.); -#5868=GEOMETRIC_CURVE_SET('',(#5867,#5874,#5875)); -#5869=CARTESIAN_POINT('',(0.5,-0.05)); -#5870=CARTESIAN_POINT('',(0.325,0.1)); -#5871=CARTESIAN_POINT('',(0.33748749005794787,-0.06251459493239354)); -#5872=AXIS2_PLACEMENT_2D('',#5871,$); -#5873=CIRCLE('',#5872,0.16299365317087436); -#5874=TRIMMED_CURVE('',#5873,(#5869),(#5870),.T.,.CARTESIAN.); -#5875=POLYLINE('',(#5876,#5877,#5878,#5879,#5880,#5881,#5882)); -#5876=CARTESIAN_POINT('',(0.475,-0.05)); -#5877=CARTESIAN_POINT('',(0.4,-0.225)); -#5878=CARTESIAN_POINT('',(0.45,-0.325)); -#5879=CARTESIAN_POINT('',(0.55,-0.325)); -#5880=CARTESIAN_POINT('',(0.6,-0.225)); -#5881=CARTESIAN_POINT('',(0.525,-0.05)); -#5882=CARTESIAN_POINT('',(0.475,-0.05)); -#5883=CSG_2D_SHAPE_REPRESENTATION('',(#26,#5884),#630); -#5884=CSG_SOLID_2D('',#5886); -#5885=CARTESIAN_POINT('',(0.0,0.0)); -#5886=CIRCULAR_AREA('',#5885,0.015); -#5887=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#5888=PRODUCT_DEFINITION_SHAPE('',$,#5887); -#5889=SHAPE_DEFINITION_REPRESENTATION(#5888,#5883); -#5890=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#629,.T.); -#5891=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17734,#5892,'',$,#5890,#631,*); -#5892=AXIS2_PLACEMENT_2D('',#5893,$); -#5893=CARTESIAN_POINT('',(0.0,0.0)); -#5894=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#649,#3459,'1'); -#5895=MAPPED_ITEM('tlistt',#24197,#5892); -#5896=PACKAGE_TERMINAL('2','part generic feature',#629,.T.); -#5897=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17734,#5898,'',$,#5896,#631,*); -#5898=AXIS2_PLACEMENT_2D('',#5900,#5899); -#5899=DIRECTION('',(1.0,0.0)); -#5900=CARTESIAN_POINT('',(0.5,-0.22)); -#5901=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#649,#3459,'2'); -#5902=MAPPED_ITEM('tlistt',#24197,#5898); -#5903=PACKAGED_PART_TERMINAL('1','join terminal',#653,.T.); -#5904=PACKAGED_PART_TERMINAL('2','join terminal',#653,.T.); -#5905=PACKAGED_PART_TERMINAL('2','join terminal',#660,.T.); -#5906=PACKAGED_PART_TERMINAL('1','join terminal',#660,.T.); -#5907=PACKAGED_PART_TERMINAL('1','join terminal',#667,.T.); -#5908=PACKAGED_PART_TERMINAL('2','join terminal',#667,.T.); -#5909=PACKAGED_PART_TERMINAL('1','join terminal',#674,.T.); -#5910=PACKAGED_PART_TERMINAL('2','join terminal',#674,.T.); -#5911=PACKAGED_PART_TERMINAL('1','join terminal',#681,.T.); -#5912=PACKAGED_PART_TERMINAL('2','join terminal',#681,.T.); -#5913=PACKAGED_PART_TERMINAL('1','join terminal',#688,.T.); -#5914=PACKAGED_PART_TERMINAL('2','join terminal',#688,.T.); -#5915=PACKAGED_PART_TERMINAL('1','join terminal',#695,.T.); -#5916=PACKAGED_PART_TERMINAL('2','join terminal',#695,.T.); -#5917=PACKAGED_PART_TERMINAL('1','join terminal',#702,.T.); -#5918=PACKAGED_PART_TERMINAL('2','join terminal',#702,.T.); -#5919=PACKAGED_PART_TERMINAL('1','join terminal',#709,.T.); -#5920=PACKAGED_PART_TERMINAL('2','join terminal',#709,.T.); -#5921=PACKAGED_PART_TERMINAL('1','join terminal',#716,.T.); -#5922=PACKAGED_PART_TERMINAL('2','join terminal',#716,.T.); -#5923=PACKAGED_PART_TERMINAL('1','join terminal',#723,.T.); -#5924=PACKAGED_PART_TERMINAL('2','join terminal',#723,.T.); -#5925=PACKAGED_PART_TERMINAL('1','join terminal',#730,.T.); -#5926=PACKAGED_PART_TERMINAL('2','join terminal',#730,.T.); -#5927=PACKAGED_PART_TERMINAL('3','join terminal',#730,.T.); -#5928=PACKAGED_PART_TERMINAL('1','join terminal',#737,.T.); -#5929=PACKAGED_PART_TERMINAL('2','join terminal',#737,.T.); -#5930=PACKAGED_PART_TERMINAL('3','join terminal',#737,.T.); -#5931=PACKAGED_PART_TERMINAL('4','join terminal',#737,.T.); -#5932=PACKAGED_PART_TERMINAL('5','join terminal',#737,.T.); -#5933=PACKAGED_PART_TERMINAL('6','join terminal',#737,.T.); -#5934=PACKAGED_PART_TERMINAL('7','join terminal',#737,.T.); -#5935=PACKAGED_PART_TERMINAL('8','join terminal',#737,.T.); -#5936=PACKAGED_PART_TERMINAL('9','join terminal',#737,.T.); -#5937=PACKAGED_PART_TERMINAL('10','join terminal',#737,.T.); -#5938=PACKAGED_PART_TERMINAL('11','join terminal',#737,.T.); -#5939=PACKAGED_PART_TERMINAL('12','join terminal',#737,.T.); -#5940=PACKAGED_PART_TERMINAL('13','join terminal',#737,.T.); -#5941=PACKAGED_PART_TERMINAL('14','join terminal',#737,.T.); -#5942=PACKAGED_PART_TERMINAL('15','join terminal',#737,.T.); -#5943=PACKAGED_PART_TERMINAL('16','join terminal',#737,.T.); -#5944=PACKAGED_PART_TERMINAL('17','join terminal',#737,.T.); -#5945=PACKAGED_PART_TERMINAL('18','join terminal',#737,.T.); -#5946=PACKAGED_PART_TERMINAL('19','join terminal',#737,.T.); -#5947=PACKAGED_PART_TERMINAL('20','join terminal',#737,.T.); -#5948=PACKAGED_PART_TERMINAL('21','join terminal',#737,.T.); -#5949=PACKAGED_PART_TERMINAL('22','join terminal',#737,.T.); -#5950=PACKAGED_PART_TERMINAL('23','join terminal',#737,.T.); -#5951=PACKAGED_PART_TERMINAL('24','join terminal',#737,.T.); -#5952=PACKAGED_PART_TERMINAL('25','join terminal',#737,.T.); -#5953=PACKAGED_PART_TERMINAL('26','join terminal',#737,.T.); -#5954=PACKAGED_PART_TERMINAL('27','join terminal',#737,.T.); -#5955=PACKAGED_PART_TERMINAL('28','join terminal',#737,.T.); -#5956=PACKAGED_PART_TERMINAL('29','join terminal',#737,.T.); -#5957=PACKAGED_PART_TERMINAL('30','join terminal',#737,.T.); -#5958=PACKAGED_PART_TERMINAL('31','join terminal',#737,.T.); -#5959=PACKAGED_PART_TERMINAL('32','join terminal',#737,.T.); -#5960=PACKAGED_PART_TERMINAL('33','join terminal',#737,.T.); -#5961=PACKAGED_PART_TERMINAL('34','join terminal',#737,.T.); -#5962=PACKAGED_PART_TERMINAL('35','join terminal',#737,.T.); -#5963=PACKAGED_PART_TERMINAL('36','join terminal',#737,.T.); -#5964=PACKAGED_PART_TERMINAL('37','join terminal',#737,.T.); -#5965=PACKAGED_PART_TERMINAL('38','join terminal',#737,.T.); -#5966=PACKAGED_PART_TERMINAL('39','join terminal',#737,.T.); -#5967=PACKAGED_PART_TERMINAL('40','join terminal',#737,.T.); -#5968=PACKAGED_PART_TERMINAL('41','join terminal',#737,.T.); -#5969=PACKAGED_PART_TERMINAL('42','join terminal',#737,.T.); -#5970=PACKAGED_PART_TERMINAL('43','join terminal',#737,.T.); -#5971=PACKAGED_PART_TERMINAL('44','join terminal',#737,.T.); -#5972=PACKAGED_PART_TERMINAL('45','join terminal',#737,.T.); -#5973=PACKAGED_PART_TERMINAL('46','join terminal',#737,.T.); -#5974=PACKAGED_PART_TERMINAL('47','join terminal',#737,.T.); -#5975=PACKAGED_PART_TERMINAL('48','join terminal',#737,.T.); -#5976=PACKAGED_PART_TERMINAL('49','join terminal',#737,.T.); -#5977=PACKAGED_PART_TERMINAL('50','join terminal',#737,.T.); -#5978=PACKAGED_PART_TERMINAL('51','join terminal',#737,.T.); -#5979=PACKAGED_PART_TERMINAL('52','join terminal',#737,.T.); -#5980=PACKAGED_PART_TERMINAL('53','join terminal',#737,.T.); -#5981=PACKAGED_PART_TERMINAL('54','join terminal',#737,.T.); -#5982=PACKAGED_PART_TERMINAL('55','join terminal',#737,.T.); -#5983=PACKAGED_PART_TERMINAL('56','join terminal',#737,.T.); -#5984=PACKAGED_PART_TERMINAL('57','join terminal',#737,.T.); -#5985=PACKAGED_PART_TERMINAL('58','join terminal',#737,.T.); -#5986=PACKAGED_PART_TERMINAL('59','join terminal',#737,.T.); -#5987=PACKAGED_PART_TERMINAL('60','join terminal',#737,.T.); -#5988=PACKAGED_PART_TERMINAL('61','join terminal',#737,.T.); -#5989=PACKAGED_PART_TERMINAL('62','join terminal',#737,.T.); -#5990=PACKAGED_PART_TERMINAL('63','join terminal',#737,.T.); -#5991=PACKAGED_PART_TERMINAL('64','join terminal',#737,.T.); -#5992=PACKAGED_PART_TERMINAL('65','join terminal',#737,.T.); -#5993=PACKAGED_PART_TERMINAL('66','join terminal',#737,.T.); -#5994=PACKAGED_PART_TERMINAL('67','join terminal',#737,.T.); -#5995=PACKAGED_PART_TERMINAL('68','join terminal',#737,.T.); -#5996=PACKAGED_PART_TERMINAL('69','join terminal',#737,.T.); -#5997=PACKAGED_PART_TERMINAL('70','join terminal',#737,.T.); -#5998=PACKAGED_PART_TERMINAL('71','join terminal',#737,.T.); -#5999=PACKAGED_PART_TERMINAL('72','join terminal',#737,.T.); -#6000=PACKAGED_PART_TERMINAL('73','join terminal',#737,.T.); -#6001=PACKAGED_PART_TERMINAL('74','join terminal',#737,.T.); -#6002=PACKAGED_PART_TERMINAL('75','join terminal',#737,.T.); -#6003=PACKAGED_PART_TERMINAL('76','join terminal',#737,.T.); -#6004=PACKAGED_PART_TERMINAL('77','join terminal',#737,.T.); -#6005=PACKAGED_PART_TERMINAL('78','join terminal',#737,.T.); -#6006=PACKAGED_PART_TERMINAL('79','join terminal',#737,.T.); -#6007=PACKAGED_PART_TERMINAL('80','join terminal',#737,.T.); -#6008=PACKAGED_PART_TERMINAL('81','join terminal',#737,.T.); -#6009=PACKAGED_PART_TERMINAL('82','join terminal',#737,.T.); -#6010=PACKAGED_PART_TERMINAL('83','join terminal',#737,.T.); -#6011=PACKAGED_PART_TERMINAL('84','join terminal',#737,.T.); -#6012=PACKAGED_PART_TERMINAL('85','join terminal',#737,.T.); -#6013=PACKAGED_PART_TERMINAL('86','join terminal',#737,.T.); -#6014=PACKAGED_PART_TERMINAL('87','join terminal',#737,.T.); -#6015=PACKAGED_PART_TERMINAL('88','join terminal',#737,.T.); -#6016=PACKAGED_PART_TERMINAL('89','join terminal',#737,.T.); -#6017=PACKAGED_PART_TERMINAL('90','join terminal',#737,.T.); -#6018=PACKAGED_PART_TERMINAL('91','join terminal',#737,.T.); -#6019=PACKAGED_PART_TERMINAL('92','join terminal',#737,.T.); -#6020=PACKAGED_PART_TERMINAL('93','join terminal',#737,.T.); -#6021=PACKAGED_PART_TERMINAL('94','join terminal',#737,.T.); -#6022=PACKAGED_PART_TERMINAL('95','join terminal',#737,.T.); -#6023=PACKAGED_PART_TERMINAL('96','join terminal',#737,.T.); -#6024=PACKAGED_PART_TERMINAL('97','join terminal',#737,.T.); -#6025=PACKAGED_PART_TERMINAL('98','join terminal',#737,.T.); -#6026=PACKAGED_PART_TERMINAL('99','join terminal',#737,.T.); -#6027=PACKAGED_PART_TERMINAL('100','join terminal',#737,.T.); -#6028=PACKAGED_PART_TERMINAL('101','join terminal',#737,.T.); -#6029=PACKAGED_PART_TERMINAL('102','join terminal',#737,.T.); -#6030=PACKAGED_PART_TERMINAL('103','join terminal',#737,.T.); -#6031=PACKAGED_PART_TERMINAL('104','join terminal',#737,.T.); -#6032=PACKAGED_PART_TERMINAL('105','join terminal',#737,.T.); -#6033=PACKAGED_PART_TERMINAL('106','join terminal',#737,.T.); -#6034=PACKAGED_PART_TERMINAL('107','join terminal',#737,.T.); -#6035=PACKAGED_PART_TERMINAL('108','join terminal',#737,.T.); -#6036=PACKAGED_PART_TERMINAL('109','join terminal',#737,.T.); -#6037=PACKAGED_PART_TERMINAL('110','join terminal',#737,.T.); -#6038=PACKAGED_PART_TERMINAL('111','join terminal',#737,.T.); -#6039=PACKAGED_PART_TERMINAL('112','join terminal',#737,.T.); -#6040=PACKAGED_PART_TERMINAL('1','join terminal',#744,.T.); -#6041=PACKAGED_PART_TERMINAL('2','join terminal',#744,.T.); -#6042=PACKAGED_PART_TERMINAL('3','join terminal',#744,.T.); -#6043=PACKAGED_PART_TERMINAL('1','join terminal',#751,.T.); -#6044=PACKAGED_PART_TERMINAL('2','join terminal',#751,.T.); -#6045=PACKAGED_PART_TERMINAL('3','join terminal',#751,.T.); -#6046=PACKAGED_PART_TERMINAL('1','join terminal',#758,.T.); -#6047=PACKAGED_PART_TERMINAL('2','join terminal',#758,.T.); -#6048=PACKAGED_PART_TERMINAL('3','join terminal',#758,.T.); -#6049=PACKAGED_PART_TERMINAL('1','join terminal',#765,.T.); -#6050=PACKAGED_PART_TERMINAL('2','join terminal',#765,.T.); -#6051=PACKAGED_PART_TERMINAL('1','join terminal',#772,.T.); -#6052=PACKAGED_PART_TERMINAL('2','join terminal',#772,.T.); -#6053=PACKAGED_PART_TERMINAL('1','join terminal',#779,.T.); -#6054=PACKAGED_PART_TERMINAL('2','join terminal',#779,.T.); -#6055=PACKAGED_PART_TERMINAL('1','join terminal',#786,.T.); -#6056=PACKAGED_PART_TERMINAL('2','join terminal',#786,.T.); -#6057=PACKAGED_PART_TERMINAL('1','join terminal',#793,.T.); -#6058=PACKAGED_PART_TERMINAL('2','join terminal',#793,.T.); -#6059=PACKAGED_PART_TERMINAL('1','join terminal',#800,.T.); -#6060=PACKAGED_PART_TERMINAL('2','join terminal',#800,.T.); -#6061=PACKAGED_PART_TERMINAL('1','join terminal',#807,.T.); -#6062=PACKAGED_PART_TERMINAL('2','join terminal',#807,.T.); -#6063=PACKAGED_PART_TERMINAL('1','join terminal',#814,.T.); -#6064=PACKAGED_PART_TERMINAL('2','join terminal',#814,.T.); -#6065=PACKAGED_PART_TERMINAL('1','join terminal',#821,.T.); -#6066=PACKAGED_PART_TERMINAL('2','join terminal',#821,.T.); -#6067=PACKAGED_PART_TERMINAL('1','join terminal',#828,.T.); -#6068=PACKAGED_PART_TERMINAL('2','join terminal',#828,.T.); -#6069=PACKAGED_PART_TERMINAL('1','join terminal',#835,.T.); -#6070=PACKAGED_PART_TERMINAL('2','join terminal',#835,.T.); -#6071=PACKAGED_PART_TERMINAL('1','join terminal',#842,.T.); -#6072=PACKAGED_PART_TERMINAL('2','join terminal',#842,.T.); -#6073=PACKAGED_PART_TERMINAL('1','join terminal',#849,.T.); -#6074=PACKAGED_PART_TERMINAL('2','join terminal',#849,.T.); -#6075=PACKAGED_PART_TERMINAL('1','join terminal',#856,.T.); -#6076=PACKAGED_PART_TERMINAL('2','join terminal',#856,.T.); -#6077=PACKAGED_PART_TERMINAL('1','join terminal',#863,.T.); -#6078=PACKAGED_PART_TERMINAL('2','join terminal',#863,.T.); -#6079=PACKAGED_PART_TERMINAL('1','join terminal',#870,.T.); -#6080=PACKAGED_PART_TERMINAL('2','join terminal',#870,.T.); -#6081=PACKAGED_PART_TERMINAL('1','join terminal',#877,.T.); -#6082=PACKAGED_PART_TERMINAL('2','join terminal',#877,.T.); -#6083=PACKAGED_PART_TERMINAL('1','join terminal',#884,.T.); -#6084=PACKAGED_PART_TERMINAL('2','join terminal',#884,.T.); -#6085=PACKAGED_PART_TERMINAL('1','join terminal',#891,.T.); -#6086=PACKAGED_PART_TERMINAL('2','join terminal',#891,.T.); -#6087=PACKAGED_PART_TERMINAL('3','join terminal',#891,.T.); -#6088=PACKAGED_PART_TERMINAL('4','join terminal',#891,.T.); -#6089=PACKAGED_PART_TERMINAL('5','join terminal',#891,.T.); -#6090=PACKAGED_PART_TERMINAL('6','join terminal',#891,.T.); -#6091=PACKAGED_PART_TERMINAL('1','join terminal',#898,.T.); -#6092=PACKAGED_PART_TERMINAL('2','join terminal',#898,.T.); -#6093=PACKAGED_PART_TERMINAL('3','join terminal',#898,.T.); -#6094=PACKAGED_PART_TERMINAL('4','join terminal',#898,.T.); -#6095=PACKAGED_PART_TERMINAL('5','join terminal',#898,.T.); -#6096=PACKAGED_PART_TERMINAL('6','join terminal',#898,.T.); -#6097=PACKAGED_PART_TERMINAL('7','join terminal',#898,.T.); -#6098=PACKAGED_PART_TERMINAL('8','join terminal',#898,.T.); -#6099=PACKAGED_PART_TERMINAL('9','join terminal',#898,.T.); -#6100=PACKAGED_PART_TERMINAL('10','join terminal',#898,.T.); -#6101=PACKAGED_PART_TERMINAL('11','join terminal',#898,.T.); -#6102=PACKAGED_PART_TERMINAL('12','join terminal',#898,.T.); -#6103=PACKAGED_PART_TERMINAL('13','join terminal',#898,.T.); -#6104=PACKAGED_PART_TERMINAL('14','join terminal',#898,.T.); -#6105=PACKAGED_PART_TERMINAL('1','join terminal',#905,.T.); -#6106=PACKAGED_PART_TERMINAL('2','join terminal',#905,.T.); -#6107=PACKAGED_PART_TERMINAL('1','join terminal',#912,.T.); -#6108=PACKAGED_PART_TERMINAL('2','join terminal',#912,.T.); -#6109=PACKAGED_PART_TERMINAL('1','join terminal',#919,.T.); -#6110=PACKAGED_PART_TERMINAL('2','join terminal',#919,.T.); -#6111=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#924,.T.); -#6112=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#924,.T.); -#6113=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#944,.T.); -#6114=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#944,.T.); -#6115=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#963,.T.); -#6116=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#963,.T.); -#6117=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#982,.T.); -#6118=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#982,.T.); -#6119=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#991,.T.); -#6120=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#991,.T.); -#6121=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1010,.T.); -#6122=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1010,.T.); -#6123=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1019,.T.); -#6124=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1019,.T.); -#6125=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1028,.T.); -#6126=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1028,.T.); -#6127=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1047,.T.); -#6128=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1047,.T.); -#6129=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1056,.T.); -#6130=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1056,.T.); -#6131=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1065,.T.); -#6132=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1065,.T.); -#6133=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1074,.T.); -#6134=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1074,.T.); -#6135=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1083,.T.); -#6136=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1083,.T.); -#6137=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1092,.T.); -#6138=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1092,.T.); -#6139=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1101,.T.); -#6140=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1101,.T.); -#6141=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1110,.T.); -#6142=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1110,.T.); -#6143=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1119,.T.); -#6144=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1119,.T.); -#6145=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1128,.T.); -#6146=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1128,.T.); -#6147=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1137,.T.); -#6148=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1137,.T.); -#6149=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1146,.T.); -#6150=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1146,.T.); -#6151=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1155,.T.); -#6152=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1155,.T.); -#6153=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1174,.T.); -#6154=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1174,.T.); -#6155=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1183,.T.); -#6156=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1183,.T.); -#6157=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1202,.T.); -#6158=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1202,.T.); -#6159=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1211,.T.); -#6160=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1211,.T.); -#6161=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1220,.T.); -#6162=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1220,.T.); -#6163=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1229,.T.); -#6164=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1229,.T.); -#6165=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1238,.T.); -#6166=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1238,.T.); -#6167=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1247,.T.); -#6168=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1247,.T.); -#6169=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#1256,.T.); -#6170=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1256,.T.); -#6171=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1256,.T.); -#6172=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#1275,.T.); -#6173=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1275,.T.); -#6174=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1275,.T.); -#6175=PHYSICAL_COMPONENT_TERMINAL('112','packaged component join terminal',#1284, - .T.); -#6176=PHYSICAL_COMPONENT_TERMINAL('111','packaged component join terminal',#1284, - .T.); -#6177=PHYSICAL_COMPONENT_TERMINAL('110','packaged component join terminal',#1284, - .T.); -#6178=PHYSICAL_COMPONENT_TERMINAL('109','packaged component join terminal',#1284, - .T.); -#6179=PHYSICAL_COMPONENT_TERMINAL('108','packaged component join terminal',#1284, - .T.); -#6180=PHYSICAL_COMPONENT_TERMINAL('107','packaged component join terminal',#1284, - .T.); -#6181=PHYSICAL_COMPONENT_TERMINAL('106','packaged component join terminal',#1284, - .T.); -#6182=PHYSICAL_COMPONENT_TERMINAL('105','packaged component join terminal',#1284, - .T.); -#6183=PHYSICAL_COMPONENT_TERMINAL('104','packaged component join terminal',#1284, - .T.); -#6184=PHYSICAL_COMPONENT_TERMINAL('103','packaged component join terminal',#1284, - .T.); -#6185=PHYSICAL_COMPONENT_TERMINAL('102','packaged component join terminal',#1284, - .T.); -#6186=PHYSICAL_COMPONENT_TERMINAL('101','packaged component join terminal',#1284, - .T.); -#6187=PHYSICAL_COMPONENT_TERMINAL('100','packaged component join terminal',#1284, - .T.); -#6188=PHYSICAL_COMPONENT_TERMINAL('99','packaged component join terminal',#1284, - .T.); -#6189=PHYSICAL_COMPONENT_TERMINAL('98','packaged component join terminal',#1284, - .T.); -#6190=PHYSICAL_COMPONENT_TERMINAL('97','packaged component join terminal',#1284, - .T.); -#6191=PHYSICAL_COMPONENT_TERMINAL('96','packaged component join terminal',#1284, - .T.); -#6192=PHYSICAL_COMPONENT_TERMINAL('95','packaged component join terminal',#1284, - .T.); -#6193=PHYSICAL_COMPONENT_TERMINAL('94','packaged component join terminal',#1284, - .T.); -#6194=PHYSICAL_COMPONENT_TERMINAL('93','packaged component join terminal',#1284, - .T.); -#6195=PHYSICAL_COMPONENT_TERMINAL('92','packaged component join terminal',#1284, - .T.); -#6196=PHYSICAL_COMPONENT_TERMINAL('91','packaged component join terminal',#1284, - .T.); -#6197=PHYSICAL_COMPONENT_TERMINAL('90','packaged component join terminal',#1284, - .T.); -#6198=PHYSICAL_COMPONENT_TERMINAL('89','packaged component join terminal',#1284, - .T.); -#6199=PHYSICAL_COMPONENT_TERMINAL('88','packaged component join terminal',#1284, - .T.); -#6200=PHYSICAL_COMPONENT_TERMINAL('87','packaged component join terminal',#1284, - .T.); -#6201=PHYSICAL_COMPONENT_TERMINAL('86','packaged component join terminal',#1284, - .T.); -#6202=PHYSICAL_COMPONENT_TERMINAL('85','packaged component join terminal',#1284, - .T.); -#6203=PHYSICAL_COMPONENT_TERMINAL('84','packaged component join terminal',#1284, - .T.); -#6204=PHYSICAL_COMPONENT_TERMINAL('83','packaged component join terminal',#1284, - .T.); -#6205=PHYSICAL_COMPONENT_TERMINAL('82','packaged component join terminal',#1284, - .T.); -#6206=PHYSICAL_COMPONENT_TERMINAL('81','packaged component join terminal',#1284, - .T.); -#6207=PHYSICAL_COMPONENT_TERMINAL('80','packaged component join terminal',#1284, - .T.); -#6208=PHYSICAL_COMPONENT_TERMINAL('79','packaged component join terminal',#1284, - .T.); -#6209=PHYSICAL_COMPONENT_TERMINAL('78','packaged component join terminal',#1284, - .T.); -#6210=PHYSICAL_COMPONENT_TERMINAL('77','packaged component join terminal',#1284, - .T.); -#6211=PHYSICAL_COMPONENT_TERMINAL('76','packaged component join terminal',#1284, - .T.); -#6212=PHYSICAL_COMPONENT_TERMINAL('75','packaged component join terminal',#1284, - .T.); -#6213=PHYSICAL_COMPONENT_TERMINAL('74','packaged component join terminal',#1284, - .T.); -#6214=PHYSICAL_COMPONENT_TERMINAL('73','packaged component join terminal',#1284, - .T.); -#6215=PHYSICAL_COMPONENT_TERMINAL('72','packaged component join terminal',#1284, - .T.); -#6216=PHYSICAL_COMPONENT_TERMINAL('71','packaged component join terminal',#1284, - .T.); -#6217=PHYSICAL_COMPONENT_TERMINAL('70','packaged component join terminal',#1284, - .T.); -#6218=PHYSICAL_COMPONENT_TERMINAL('69','packaged component join terminal',#1284, - .T.); -#6219=PHYSICAL_COMPONENT_TERMINAL('68','packaged component join terminal',#1284, - .T.); -#6220=PHYSICAL_COMPONENT_TERMINAL('67','packaged component join terminal',#1284, - .T.); -#6221=PHYSICAL_COMPONENT_TERMINAL('66','packaged component join terminal',#1284, - .T.); -#6222=PHYSICAL_COMPONENT_TERMINAL('65','packaged component join terminal',#1284, - .T.); -#6223=PHYSICAL_COMPONENT_TERMINAL('64','packaged component join terminal',#1284, - .T.); -#6224=PHYSICAL_COMPONENT_TERMINAL('63','packaged component join terminal',#1284, - .T.); -#6225=PHYSICAL_COMPONENT_TERMINAL('62','packaged component join terminal',#1284, - .T.); -#6226=PHYSICAL_COMPONENT_TERMINAL('61','packaged component join terminal',#1284, - .T.); -#6227=PHYSICAL_COMPONENT_TERMINAL('60','packaged component join terminal',#1284, - .T.); -#6228=PHYSICAL_COMPONENT_TERMINAL('59','packaged component join terminal',#1284, - .T.); -#6229=PHYSICAL_COMPONENT_TERMINAL('58','packaged component join terminal',#1284, - .T.); -#6230=PHYSICAL_COMPONENT_TERMINAL('57','packaged component join terminal',#1284, - .T.); -#6231=PHYSICAL_COMPONENT_TERMINAL('56','packaged component join terminal',#1284, - .T.); -#6232=PHYSICAL_COMPONENT_TERMINAL('55','packaged component join terminal',#1284, - .T.); -#6233=PHYSICAL_COMPONENT_TERMINAL('54','packaged component join terminal',#1284, - .T.); -#6234=PHYSICAL_COMPONENT_TERMINAL('53','packaged component join terminal',#1284, - .T.); -#6235=PHYSICAL_COMPONENT_TERMINAL('52','packaged component join terminal',#1284, - .T.); -#6236=PHYSICAL_COMPONENT_TERMINAL('51','packaged component join terminal',#1284, - .T.); -#6237=PHYSICAL_COMPONENT_TERMINAL('50','packaged component join terminal',#1284, - .T.); -#6238=PHYSICAL_COMPONENT_TERMINAL('49','packaged component join terminal',#1284, - .T.); -#6239=PHYSICAL_COMPONENT_TERMINAL('48','packaged component join terminal',#1284, - .T.); -#6240=PHYSICAL_COMPONENT_TERMINAL('47','packaged component join terminal',#1284, - .T.); -#6241=PHYSICAL_COMPONENT_TERMINAL('46','packaged component join terminal',#1284, - .T.); -#6242=PHYSICAL_COMPONENT_TERMINAL('45','packaged component join terminal',#1284, - .T.); -#6243=PHYSICAL_COMPONENT_TERMINAL('44','packaged component join terminal',#1284, - .T.); -#6244=PHYSICAL_COMPONENT_TERMINAL('43','packaged component join terminal',#1284, - .T.); -#6245=PHYSICAL_COMPONENT_TERMINAL('42','packaged component join terminal',#1284, - .T.); -#6246=PHYSICAL_COMPONENT_TERMINAL('41','packaged component join terminal',#1284, - .T.); -#6247=PHYSICAL_COMPONENT_TERMINAL('40','packaged component join terminal',#1284, - .T.); -#6248=PHYSICAL_COMPONENT_TERMINAL('39','packaged component join terminal',#1284, - .T.); -#6249=PHYSICAL_COMPONENT_TERMINAL('38','packaged component join terminal',#1284, - .T.); -#6250=PHYSICAL_COMPONENT_TERMINAL('37','packaged component join terminal',#1284, - .T.); -#6251=PHYSICAL_COMPONENT_TERMINAL('36','packaged component join terminal',#1284, - .T.); -#6252=PHYSICAL_COMPONENT_TERMINAL('35','packaged component join terminal',#1284, - .T.); -#6253=PHYSICAL_COMPONENT_TERMINAL('34','packaged component join terminal',#1284, - .T.); -#6254=PHYSICAL_COMPONENT_TERMINAL('33','packaged component join terminal',#1284, - .T.); -#6255=PHYSICAL_COMPONENT_TERMINAL('32','packaged component join terminal',#1284, - .T.); -#6256=PHYSICAL_COMPONENT_TERMINAL('31','packaged component join terminal',#1284, - .T.); -#6257=PHYSICAL_COMPONENT_TERMINAL('30','packaged component join terminal',#1284, - .T.); -#6258=PHYSICAL_COMPONENT_TERMINAL('29','packaged component join terminal',#1284, - .T.); -#6259=PHYSICAL_COMPONENT_TERMINAL('28','packaged component join terminal',#1284, - .T.); -#6260=PHYSICAL_COMPONENT_TERMINAL('27','packaged component join terminal',#1284, - .T.); -#6261=PHYSICAL_COMPONENT_TERMINAL('26','packaged component join terminal',#1284, - .T.); -#6262=PHYSICAL_COMPONENT_TERMINAL('25','packaged component join terminal',#1284, - .T.); -#6263=PHYSICAL_COMPONENT_TERMINAL('24','packaged component join terminal',#1284, - .T.); -#6264=PHYSICAL_COMPONENT_TERMINAL('23','packaged component join terminal',#1284, - .T.); -#6265=PHYSICAL_COMPONENT_TERMINAL('22','packaged component join terminal',#1284, - .T.); -#6266=PHYSICAL_COMPONENT_TERMINAL('21','packaged component join terminal',#1284, - .T.); -#6267=PHYSICAL_COMPONENT_TERMINAL('20','packaged component join terminal',#1284, - .T.); -#6268=PHYSICAL_COMPONENT_TERMINAL('19','packaged component join terminal',#1284, - .T.); -#6269=PHYSICAL_COMPONENT_TERMINAL('18','packaged component join terminal',#1284, - .T.); -#6270=PHYSICAL_COMPONENT_TERMINAL('17','packaged component join terminal',#1284, - .T.); -#6271=PHYSICAL_COMPONENT_TERMINAL('16','packaged component join terminal',#1284, - .T.); -#6272=PHYSICAL_COMPONENT_TERMINAL('15','packaged component join terminal',#1284, - .T.); -#6273=PHYSICAL_COMPONENT_TERMINAL('14','packaged component join terminal',#1284, - .T.); -#6274=PHYSICAL_COMPONENT_TERMINAL('13','packaged component join terminal',#1284, - .T.); -#6275=PHYSICAL_COMPONENT_TERMINAL('12','packaged component join terminal',#1284, - .T.); -#6276=PHYSICAL_COMPONENT_TERMINAL('11','packaged component join terminal',#1284, - .T.); -#6277=PHYSICAL_COMPONENT_TERMINAL('10','packaged component join terminal',#1284, - .T.); -#6278=PHYSICAL_COMPONENT_TERMINAL('9','packaged component join terminal',#1284,.T.); -#6279=PHYSICAL_COMPONENT_TERMINAL('8','packaged component join terminal',#1284,.T.); -#6280=PHYSICAL_COMPONENT_TERMINAL('7','packaged component join terminal',#1284,.T.); -#6281=PHYSICAL_COMPONENT_TERMINAL('6','packaged component join terminal',#1284,.T.); -#6282=PHYSICAL_COMPONENT_TERMINAL('5','packaged component join terminal',#1284,.T.); -#6283=PHYSICAL_COMPONENT_TERMINAL('4','packaged component join terminal',#1284,.T.); -#6284=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#1284,.T.); -#6285=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1284,.T.); -#6286=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1284,.T.); -#6287=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#1303,.T.); -#6288=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1303,.T.); -#6289=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1303,.T.); -#6290=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#1322,.T.); -#6291=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1322,.T.); -#6292=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1322,.T.); -#6293=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#1341,.T.); -#6294=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1341,.T.); -#6295=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1341,.T.); -#6296=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1360,.T.); -#6297=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1360,.T.); -#6298=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1379,.T.); -#6299=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1379,.T.); -#6300=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1388,.T.); -#6301=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1388,.T.); -#6302=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1397,.T.); -#6303=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1397,.T.); -#6304=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1406,.T.); -#6305=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1406,.T.); -#6306=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1415,.T.); -#6307=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1415,.T.); -#6308=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1424,.T.); -#6309=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1424,.T.); -#6310=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1443,.T.); -#6311=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1443,.T.); -#6312=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1452,.T.); -#6313=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1452,.T.); -#6314=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1461,.T.); -#6315=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1461,.T.); -#6316=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1470,.T.); -#6317=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1470,.T.); -#6318=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1479,.T.); -#6319=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1479,.T.); -#6320=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1488,.T.); -#6321=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1488,.T.); -#6322=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1497,.T.); -#6323=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1497,.T.); -#6324=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1506,.T.); -#6325=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1506,.T.); -#6326=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1515,.T.); -#6327=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1515,.T.); -#6328=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1524,.T.); -#6329=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1524,.T.); -#6330=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1533,.T.); -#6331=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1533,.T.); -#6332=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1542,.T.); -#6333=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1542,.T.); -#6334=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1551,.T.); -#6335=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1551,.T.); -#6336=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1560,.T.); -#6337=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1560,.T.); -#6338=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1569,.T.); -#6339=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1569,.T.); -#6340=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1578,.T.); -#6341=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1578,.T.); -#6342=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1587,.T.); -#6343=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1587,.T.); -#6344=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1596,.T.); -#6345=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1596,.T.); -#6346=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1605,.T.); -#6347=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1605,.T.); -#6348=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1614,.T.); -#6349=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1614,.T.); -#6350=PHYSICAL_COMPONENT_TERMINAL('6','packaged component join terminal',#1623,.T.); -#6351=PHYSICAL_COMPONENT_TERMINAL('5','packaged component join terminal',#1623,.T.); -#6352=PHYSICAL_COMPONENT_TERMINAL('4','packaged component join terminal',#1623,.T.); -#6353=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#1623,.T.); -#6354=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1623,.T.); -#6355=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1623,.T.); -#6356=PHYSICAL_COMPONENT_TERMINAL('6','packaged component join terminal',#1642,.T.); -#6357=PHYSICAL_COMPONENT_TERMINAL('5','packaged component join terminal',#1642,.T.); -#6358=PHYSICAL_COMPONENT_TERMINAL('4','packaged component join terminal',#1642,.T.); -#6359=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#1642,.T.); -#6360=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1642,.T.); -#6361=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1642,.T.); -#6362=PHYSICAL_COMPONENT_TERMINAL('14','packaged component join terminal',#1651, - .T.); -#6363=PHYSICAL_COMPONENT_TERMINAL('13','packaged component join terminal',#1651, - .T.); -#6364=PHYSICAL_COMPONENT_TERMINAL('12','packaged component join terminal',#1651, - .T.); -#6365=PHYSICAL_COMPONENT_TERMINAL('11','packaged component join terminal',#1651, - .T.); -#6366=PHYSICAL_COMPONENT_TERMINAL('10','packaged component join terminal',#1651, - .T.); -#6367=PHYSICAL_COMPONENT_TERMINAL('9','packaged component join terminal',#1651,.T.); -#6368=PHYSICAL_COMPONENT_TERMINAL('8','packaged component join terminal',#1651,.T.); -#6369=PHYSICAL_COMPONENT_TERMINAL('7','packaged component join terminal',#1651,.T.); -#6370=PHYSICAL_COMPONENT_TERMINAL('6','packaged component join terminal',#1651,.T.); -#6371=PHYSICAL_COMPONENT_TERMINAL('5','packaged component join terminal',#1651,.T.); -#6372=PHYSICAL_COMPONENT_TERMINAL('4','packaged component join terminal',#1651,.T.); -#6373=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#1651,.T.); -#6374=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1651,.T.); -#6375=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1651,.T.); -#6376=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1670,.T.); -#6377=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1670,.T.); -#6378=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1689,.T.); -#6379=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1689,.T.); -#6380=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1698,.T.); -#6381=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1698,.T.); -#6382=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1707,.T.); -#6383=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1707,.T.); -#6384=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1716,.T.); -#6385=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1716,.T.); -#6386=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1735,.T.); -#6387=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1735,.T.); -#6388=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1744,.T.); -#6389=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1744,.T.); -#6390=PHYSICAL_COMPONENT('spacer',$,#2158,#27115,'spacer','definition usage',$,#2159, - *,'',$,*); -#6391=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('spacer','',$,#1759,#2159,'spacer', - '',$,#6390,*); -#6392=DIRECTION('',(1.0,0.0)); -#6393=DIRECTION('',(-0.0,1.0)); -#6394=CARTESIAN_POINT('',(0.0,0.0)); -#6395=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6392,#6393,#6394,1.0); -#6396=COMPONENT_2D_LOCATION(*,#6397,'component 2d location',$,#2161,#1761,#6395); -#6397=PRODUCT_DEFINITION_SHAPE('',$,#6391); -#6398=ASSEMBLY_COMPONENT_USAGE('DERIVED spacer-drill','tlist','is unknown',#1767, - #2169,'DERIVED spacer-drill'); -#6399=MAPPED_ITEM('tlistt',#22927,#6400); -#6400=AXIS2_PLACEMENT_2D('',#6401,$); -#6401=CARTESIAN_POINT('',(0.0,0.0)); -#6402=PHYSICAL_COMPONENT('spacer',$,#2158,#27115,'spacer','definition usage',$,#2159, - *,'',$,*); -#6403=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('spacer','',$,#1759,#2159,'spacer', - '',$,#6402,*); -#6404=DIRECTION('',(1.0,0.0)); -#6405=DIRECTION('',(-0.0,1.0)); -#6406=CARTESIAN_POINT('',(0.0,-1.6)); -#6407=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6404,#6405,#6406,1.0); -#6408=COMPONENT_2D_LOCATION(*,#6409,'component 2d location',$,#2161,#1761,#6407); -#6409=PRODUCT_DEFINITION_SHAPE('',$,#6403); -#6410=ASSEMBLY_COMPONENT_USAGE('DERIVED spacer-drill','tlist','is unknown',#1767, - #2169,'DERIVED spacer-drill'); -#6411=MAPPED_ITEM('tlistt',#22927,#6412); -#6412=AXIS2_PLACEMENT_2D('',#6414,#6413); -#6413=DIRECTION('',(1.0,0.0)); -#6414=CARTESIAN_POINT('',(0.0,-1.6)); -#6415=PHYSICAL_COMPONENT('spacer',$,#2158,#27115,'spacer','definition usage',$,#2159, - *,'',$,*); -#6416=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('spacer','',$,#1759,#2159,'spacer', - '',$,#6415,*); -#6417=DIRECTION('',(1.0,0.0)); -#6418=DIRECTION('',(-0.0,1.0)); -#6419=CARTESIAN_POINT('',(0.0,-4.0)); -#6420=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6417,#6418,#6419,1.0); -#6421=COMPONENT_2D_LOCATION(*,#6422,'component 2d location',$,#2161,#1761,#6420); -#6422=PRODUCT_DEFINITION_SHAPE('',$,#6416); -#6423=ASSEMBLY_COMPONENT_USAGE('DERIVED spacer-drill','tlist','is unknown',#1767, - #2169,'DERIVED spacer-drill'); -#6424=MAPPED_ITEM('tlistt',#22927,#6425); -#6425=AXIS2_PLACEMENT_2D('',#6427,#6426); -#6426=DIRECTION('',(1.0,0.0)); -#6427=CARTESIAN_POINT('',(0.0,-4.0)); -#6428=PHYSICAL_COMPONENT('spacer',$,#2158,#27115,'spacer','definition usage',$,#2159, - *,'',$,*); -#6429=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('spacer','',$,#1759,#2159,'spacer', - '',$,#6428,*); -#6430=DIRECTION('',(1.0,0.0)); -#6431=DIRECTION('',(-0.0,1.0)); -#6432=CARTESIAN_POINT('',(2.0,0.0)); -#6433=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6430,#6431,#6432,1.0); -#6434=COMPONENT_2D_LOCATION(*,#6435,'component 2d location',$,#2161,#1761,#6433); -#6435=PRODUCT_DEFINITION_SHAPE('',$,#6429); -#6436=ASSEMBLY_COMPONENT_USAGE('DERIVED spacer-drill','tlist','is unknown',#1767, - #2169,'DERIVED spacer-drill'); -#6437=MAPPED_ITEM('tlistt',#22927,#6438); -#6438=AXIS2_PLACEMENT_2D('',#6440,#6439); -#6439=DIRECTION('',(1.0,0.0)); -#6440=CARTESIAN_POINT('',(2.0,0.0)); -#6441=PHYSICAL_COMPONENT('spacer',$,#2158,#27115,'spacer','definition usage',$,#2159, - *,'',$,*); -#6442=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('spacer','',$,#1759,#2159,'spacer', - '',$,#6441,*); -#6443=DIRECTION('',(1.0,0.0)); -#6444=DIRECTION('',(-0.0,1.0)); -#6445=CARTESIAN_POINT('',(2.0,-1.6)); -#6446=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6443,#6444,#6445,1.0); -#6447=COMPONENT_2D_LOCATION(*,#6448,'component 2d location',$,#2161,#1761,#6446); -#6448=PRODUCT_DEFINITION_SHAPE('',$,#6442); -#6449=ASSEMBLY_COMPONENT_USAGE('DERIVED spacer-drill','tlist','is unknown',#1767, - #2169,'DERIVED spacer-drill'); -#6450=MAPPED_ITEM('tlistt',#22927,#6451); -#6451=AXIS2_PLACEMENT_2D('',#6453,#6452); -#6452=DIRECTION('',(1.0,0.0)); -#6453=CARTESIAN_POINT('',(2.0,-1.6)); -#6454=PHYSICAL_COMPONENT('spacer',$,#2158,#27115,'spacer','definition usage',$,#2159, - *,'',$,*); -#6455=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('spacer','',$,#1759,#2159,'spacer', - '',$,#6454,*); -#6456=DIRECTION('',(1.0,0.0)); -#6457=DIRECTION('',(-0.0,1.0)); -#6458=CARTESIAN_POINT('',(2.0,-4.0)); -#6459=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6456,#6457,#6458,1.0); -#6460=COMPONENT_2D_LOCATION(*,#6461,'component 2d location',$,#2161,#1761,#6459); -#6461=PRODUCT_DEFINITION_SHAPE('',$,#6455); -#6462=ASSEMBLY_COMPONENT_USAGE('DERIVED spacer-drill','tlist','is unknown',#1767, - #2169,'DERIVED spacer-drill'); -#6463=MAPPED_ITEM('tlistt',#22927,#6464); -#6464=AXIS2_PLACEMENT_2D('',#6466,#6465); -#6465=DIRECTION('',(1.0,0.0)); -#6466=CARTESIAN_POINT('',(2.0,-4.0)); -#6467=PHYSICAL_COMPONENT('ejector-l',$,#1809,#27115,'ejector-l','definition usage', - $,#1810,*,'',$,*); -#6468=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ejector-l','',$,#46,#1810,'ejector-l', - '',$,#6467,*); -#6469=DIRECTION('',(1.0,0.0)); -#6470=DIRECTION('',(-0.0,1.0)); -#6471=CARTESIAN_POINT('',(1244599.9999999998,1.8922999999999996E7)); -#6472=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6469,#6470,#6471,1.0); -#6473=COMPONENT_2D_LOCATION(*,#6474,'component 2d location',$,#1812,#48,#6472); -#6474=PRODUCT_DEFINITION_SHAPE('',$,#6468); -#6475=FOOTPRINT_OCCURRENCE('ejector-l',$,#1814,#28,'ejector-l','definition usage', - $,#1815,*,'',$,*); -#6476=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ejector-l','',$,#34,#1815,'ejector-l', - '',$,#6475,*); -#6477=PRODUCT_DEFINITION_SHAPE('',$,#6476); -#6478=COMPONENT_2D_LOCATION(*,#6477,'component 2d location',$,#1816,#36,#6472); -#6479=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#2305,#28,'',$,*); -#6480=UNSUPPORTED_PASSAGE('ejector-l drill',$,#1823,#28,'ejector-l drill','definition usage', - $,#1824,*,'',$,*); -#6481=PHYSICAL_COMPONENT('ejector-r',$,#1956,#27115,'ejector-r','definition usage', - $,#1957,*,'',$,*); -#6482=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ejector-r','',$,#46,#1957,'ejector-r', - '',$,#6481,*); -#6483=DIRECTION('',(1.0,0.0)); -#6484=DIRECTION('',(-0.0,1.0)); -#6485=CARTESIAN_POINT('',(1.5519399999999998E7,1.8922999999999996E7)); -#6486=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6483,#6484,#6485,1.0); -#6487=COMPONENT_2D_LOCATION(*,#6488,'component 2d location',$,#1959,#48,#6486); -#6488=PRODUCT_DEFINITION_SHAPE('',$,#6482); -#6489=FOOTPRINT_OCCURRENCE('ejector-r',$,#1961,#28,'ejector-r','definition usage', - $,#1962,*,'',$,*); -#6490=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ejector-r','',$,#34,#1962,'ejector-r', - '',$,#6489,*); -#6491=PRODUCT_DEFINITION_SHAPE('',$,#6490); -#6492=COMPONENT_2D_LOCATION(*,#6491,'component 2d location',$,#1963,#36,#6486); -#6493=UNSUPPORTED_PASSAGE('ejector-r drill',$,#1966,#28,'ejector-r drill','definition usage', - $,#1967,*,'',$,*); -#6494=PHYSICAL_COMPONENT('B1',$,#1758,#27115,'B1','definition usage',$,#1759,*,'', - $,*); -#6495=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('B1','',$,#46,#1759,'B1','',$, - #6494,*); -#6496=DIRECTION('',(1.0,0.0)); -#6497=DIRECTION('',(-0.0,1.0)); -#6498=CARTESIAN_POINT('',(991615.9999999999,1.1051031999999998E7)); -#6499=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6496,#6497,#6498,1.0); -#6500=COMPONENT_2D_LOCATION(*,#6501,'component 2d location',$,#1761,#48,#6499); -#6501=PRODUCT_DEFINITION_SHAPE('',$,#6495); -#6502=FOOTPRINT_OCCURRENCE('B1',$,#1766,#28,'B1','definition usage',$,#1767,*,'', - $,*); -#6503=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('B1','',$,#34,#1767,'B1','',$, - #6502,*); -#6504=PRODUCT_DEFINITION_SHAPE('',$,#6503); -#6505=COMPONENT_2D_LOCATION(*,#6504,'component 2d location',$,#1768,#36,#6499); -#6506=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6507=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6508=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6509=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6510=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6511=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6512=PHYSICAL_COMPONENT('B1',$,#1758,#27115,'B1','definition usage',$,#1759,*,'', - $,*); -#6513=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('B1','',$,#46,#1759,'B1','',$, - #6512,*); -#6514=DIRECTION('',(1.0,0.0)); -#6515=DIRECTION('',(-0.0,1.0)); -#6516=CARTESIAN_POINT('',(1.0370438999999998E7,1.1051031999999998E7)); -#6517=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6514,#6515,#6516,1.0); -#6518=COMPONENT_2D_LOCATION(*,#6519,'component 2d location',$,#1761,#48,#6517); -#6519=PRODUCT_DEFINITION_SHAPE('',$,#6513); -#6520=FOOTPRINT_OCCURRENCE('B1',$,#1766,#28,'B1','definition usage',$,#1767,*,'', - $,*); -#6521=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('B1','',$,#34,#1767,'B1','',$, - #6520,*); -#6522=PRODUCT_DEFINITION_SHAPE('',$,#6521); -#6523=COMPONENT_2D_LOCATION(*,#6522,'component 2d location',$,#1768,#36,#6517); -#6524=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6525=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6526=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6527=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6528=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6529=UNSUPPORTED_PASSAGE('B1 DERIVED spacer-drill',$,#2168,#28,'B1 DERIVED spacer-drill', - 'definition usage',$,#2169,*,'',$,*); -#6530=PRODUCT('DEFAULT_NET_TYPE track width 0.012mm used in physical_connectivity_definition', - 'requirement',$,(#21090)); -#6531=PRODUCT_DEFINITION_FORMATION('1',$,#6530); -#6532=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#6531,#63); -#6533=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6532)); -#6534=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6535=MEASURE_REPRESENTATION_ITEM('width',LENGTH_MEASURE(0.012),#19); -#6536=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between pins - 0.0050', - 'requirement',$,(#21090)); -#6537=PRODUCT_DEFINITION_FORMATION('1',$,#6536); -#6538=LAYOUT_SPACING_REQUIREMENT('1',$,#6537,#63); -#6539=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6538)); -#6540=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6541=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0050),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6542=REPRESENTATION('minimum tolerance',(#6541),#6543); -#6543=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6544=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6542)); -#6545=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between pin and via - 0.0050', - 'requirement',$,(#21090)); -#6546=PRODUCT_DEFINITION_FORMATION('1',$,#6545); -#6547=LAYOUT_SPACING_REQUIREMENT('1',$,#6546,#63); -#6548=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6547)); -#6549=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6550=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0050),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6551=REPRESENTATION('minimum tolerance',(#6550),#6552); -#6552=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6553=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6551)); -#6554=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between pin and track - 0.0050', - 'requirement',$,(#21090)); -#6555=PRODUCT_DEFINITION_FORMATION('1',$,#6554); -#6556=LAYOUT_SPACING_REQUIREMENT('1',$,#6555,#63); -#6557=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6556)); -#6558=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6559=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0050),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6560=REPRESENTATION('minimum tolerance',(#6559),#6561); -#6561=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6562=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6560)); -#6563=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between vias - 0.0050', - 'requirement',$,(#21090)); -#6564=PRODUCT_DEFINITION_FORMATION('1',$,#6563); -#6565=LAYOUT_SPACING_REQUIREMENT('1',$,#6564,#63); -#6566=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6565)); -#6567=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6568=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0050),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6569=REPRESENTATION('minimum tolerance',(#6568),#6570); -#6570=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6571=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6569)); -#6572=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between via and track - 0.0050', - 'requirement',$,(#21090)); -#6573=PRODUCT_DEFINITION_FORMATION('1',$,#6572); -#6574=LAYOUT_SPACING_REQUIREMENT('1',$,#6573,#63); -#6575=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6574)); -#6576=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6577=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0050),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6578=REPRESENTATION('minimum tolerance',(#6577),#6579); -#6579=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6580=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6578)); -#6581=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between tracks - 0.0050', - 'requirement',$,(#21090)); -#6582=PRODUCT_DEFINITION_FORMATION('1',$,#6581); -#6583=LAYOUT_SPACING_REQUIREMENT('1',$,#6582,#63); -#6584=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6583)); -#6585=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6586=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0050),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6587=REPRESENTATION('minimum tolerance',(#6586),#6588); -#6588=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6589=APPLIED_DOCUMENT_REFERENCE(#21450,'',(#6587)); -#6590=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_1',$,#46,.U.); -#6591=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_10',$,#46,.U.); -#6592=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_11',$,#46,.U.); -#6593=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_12',$,#46,.U.); -#6594=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_13',$,#46,.U.); -#6595=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_14',$,#46,.U.); -#6596=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_15',$,#46,.U.); -#6597=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_16',$,#46,.U.); -#6598=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_17',$,#46,.U.); -#6599=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_18',$,#46,.U.); -#6600=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_19',$,#46,.U.); -#6601=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_2',$,#46,.U.); -#6602=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_20',$,#46,.U.); -#6603=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_21',$,#46,.U.); -#6604=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_22',$,#46,.U.); -#6605=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_23',$,#46,.U.); -#6606=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_24',$,#46,.U.); -#6607=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_25',$,#46,.U.); -#6608=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_26',$,#46,.U.); -#6609=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_27',$,#46,.U.); -#6610=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_28',$,#46,.U.); -#6611=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_29',$,#46,.U.); -#6612=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_3',$,#46,.U.); -#6613=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_30',$,#46,.U.); -#6614=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_31',$,#46,.U.); -#6615=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_32',$,#46,.U.); -#6616=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_33',$,#46,.U.); -#6617=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_34',$,#46,.U.); -#6618=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_35',$,#46,.U.); -#6619=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_36',$,#46,.U.); -#6620=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_37',$,#46,.U.); -#6621=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_38',$,#46,.U.); -#6622=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_39',$,#46,.U.); -#6623=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_4',$,#46,.U.); -#6624=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_40',$,#46,.U.); -#6625=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_41',$,#46,.U.); -#6626=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_42',$,#46,.U.); -#6627=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_43',$,#46,.U.); -#6628=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_44',$,#46,.U.); -#6629=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_45',$,#46,.U.); -#6630=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_46',$,#46,.U.); -#6631=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_5',$,#46,.U.); -#6632=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_6',$,#46,.U.); -#6633=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_7',$,#46,.U.); -#6634=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_8',$,#46,.U.); -#6635=PHYSICAL_CONNECTIVITY_DEFINITION('NET_NO_9',$,#46,.U.); -#6636=FOOTPRINT_OCCURRENCE('R23-FO',$,#504,#28,'R23-FO','definition usage',$,#505, - *,'',$,*); -#6637=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R23-FO','',$,#34,#505,'R23-FO', - '',$,#6636,*); -#6638=PRODUCT_DEFINITION_SHAPE('',$,#6637); -#6639=COMPONENT_2D_LOCATION(*,#6638,'component 2d location',$,#506,#36,#1583); -#6640=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R23-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R23-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6641=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R23-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R23-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6642=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#2305,#28,'',$,*); -#6643=COMPONENT_TERMINATION_PASSAGE('R23-FO 2 drill','unknown role plated passage', - #2527,#28,'R23-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#6644=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6643,.U.); -#6645=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6643,.U.); -#6646=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R23-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R23-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6647=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R23-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R23-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6648=COMPONENT_TERMINATION_PASSAGE('R23-FO 1 drill','unknown role plated passage', - #2527,#28,'R23-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#6649=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6648,.U.); -#6650=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6648,.U.); -#6651=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R23-2','part generic feature',#15, - .T.); -#6652=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6651, - #6644); -#6653=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6654,'',$,#6651,#25,*); -#6654=AXIS2_PLACEMENT_2D('',#6656,#6655); -#6655=DIRECTION('',(6.123233995736766E-17,1.0)); -#6656=CARTESIAN_POINT('',(1.524E7,1.2954E7)); -#6657=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6651); -#6658=PHYSICAL_COMPONENT_TERMINAL('R23-2','interconnect module component terminal', - #49,.U.); -#6659=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R23-1','part generic feature',#15, - .T.); -#6660=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6659, - #6649); -#6661=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6662,'',$,#6659,#25,*); -#6662=AXIS2_PLACEMENT_2D('',#6664,#6663); -#6663=DIRECTION('',(6.123233995736766E-17,1.0)); -#6664=CARTESIAN_POINT('',(1.524E7,1.1684E7)); -#6665=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6659); -#6666=PHYSICAL_COMPONENT_TERMINAL('R23-1','interconnect module component terminal', - #49,.U.); -#6667=FOOTPRINT_OCCURRENCE('CR1-FO',$,#266,#28,'CR1-FO','definition usage',$,#267, - *,'',$,*); -#6668=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR1-FO','',$,#34,#267,'CR1-FO', - '',$,#6667,*); -#6669=PRODUCT_DEFINITION_SHAPE('',$,#6668); -#6670=COMPONENT_2D_LOCATION(*,#6669,'component 2d location',$,#268,#36,#1188); -#6671=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR1-FO 2 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR1-FO 2 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6672=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR1-FO 2 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR1-FO 2 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6673=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#2305,#28,'',$,*); -#6674=COMPONENT_TERMINATION_PASSAGE('CR1-FO 2 drill','unknown role plated passage', - #3309,#28,'CR1-FO 2 drill','definition usage',$,#3310,*,'',$,*); -#6675=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6674,.U.); -#6676=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6674,.U.); -#6677=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR1-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR1-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6678=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR1-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR1-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6679=COMPONENT_TERMINATION_PASSAGE('CR1-FO 1 drill','unknown role plated passage', - #2527,#28,'CR1-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#6680=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6679,.U.); -#6681=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6679,.U.); -#6682=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR1-1','part generic feature',#15, - .T.); -#6683=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6682, - #6680); -#6684=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6685,'',$,#6682,#25,*); -#6685=AXIS2_PLACEMENT_2D('',#6687,#6686); -#6686=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6687=CARTESIAN_POINT('',(1.016E7,1.7018E7)); -#6688=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6682); -#6689=PHYSICAL_COMPONENT_TERMINAL('CR1-1','interconnect module component terminal', - #49,.U.); -#6690=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR1-2','part generic feature',#15, - .T.); -#6691=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6690, - #6675); -#6692=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#6693,'',$,#6690,#25,*); -#6693=AXIS2_PLACEMENT_2D('',#6695,#6694); -#6694=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6695=CARTESIAN_POINT('',(1.016E7,1.5748E7)); -#6696=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6690); -#6697=PHYSICAL_COMPONENT_TERMINAL('CR1-2','interconnect module component terminal', - #49,.U.); -#6698=FOOTPRINT_OCCURRENCE('C11-FO',$,#121,#28,'C11-FO','definition usage',$,#122, - *,'',$,*); -#6699=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C11-FO','',$,#34,#122,'C11-FO', - '',$,#6698,*); -#6700=PRODUCT_DEFINITION_SHAPE('',$,#6699); -#6701=COMPONENT_2D_LOCATION(*,#6700,'component 2d location',$,#123,#36,#1070); -#6702=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C11-FO 2 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C11-FO 2 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6703=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C11-FO 2 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C11-FO 2 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6704=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#2305,#28,'',$,*); -#6705=COMPONENT_TERMINATION_PASSAGE('C11-FO 2 drill','unknown role plated passage', - #2685,#28,'C11-FO 2 drill','definition usage',$,#2686,*,'',$,*); -#6706=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6705,.U.); -#6707=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6705,.U.); -#6708=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C11-FO 1 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C11-FO 1 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6709=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C11-FO 1 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C11-FO 1 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6710=COMPONENT_TERMINATION_PASSAGE('C11-FO 1 drill','unknown role plated passage', - #2685,#28,'C11-FO 1 drill','definition usage',$,#2686,*,'',$,*); -#6711=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6710,.U.); -#6712=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6710,.U.); -#6713=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C11-2','part generic feature',#15, - .T.); -#6714=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6713, - #6706); -#6715=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#6716,'',$,#6713,#25,*); -#6716=AXIS2_PLACEMENT_2D('',#6718,#6717); -#6717=DIRECTION('',(6.123233995736766E-17,1.0)); -#6718=CARTESIAN_POINT('',(8128000.0,1.5748E7)); -#6719=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6713); -#6720=PHYSICAL_COMPONENT_TERMINAL('C11-2','interconnect module component terminal', - #49,.U.); -#6721=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C11-1','part generic feature',#15, - .T.); -#6722=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6721, - #6711); -#6723=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#6724,'',$,#6721,#25,*); -#6724=AXIS2_PLACEMENT_2D('',#6726,#6725); -#6725=DIRECTION('',(6.123233995736766E-17,1.0)); -#6726=CARTESIAN_POINT('',(8128000.0,1.4478E7)); -#6727=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6721); -#6728=PHYSICAL_COMPONENT_TERMINAL('C11-1','interconnect module component terminal', - #49,.U.); -#6729=FOOTPRINT_OCCURRENCE('R6-FO',$,#504,#28,'R6-FO','definition usage',$,#505, - *,'',$,*); -#6730=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R6-FO','',$,#34,#505,'R6-FO', - '',$,#6729,*); -#6731=PRODUCT_DEFINITION_SHAPE('',$,#6730); -#6732=COMPONENT_2D_LOCATION(*,#6731,'component 2d location',$,#506,#36,#1420); -#6733=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R6-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R6-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6734=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R6-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R6-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6735=COMPONENT_TERMINATION_PASSAGE('R6-FO 2 drill','unknown role plated passage', - #2527,#28,'R6-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#6736=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6735,.U.); -#6737=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6735,.U.); -#6738=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R6-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R6-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6739=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R6-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R6-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6740=COMPONENT_TERMINATION_PASSAGE('R6-FO 1 drill','unknown role plated passage', - #2527,#28,'R6-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#6741=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6740,.U.); -#6742=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6740,.U.); -#6743=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R6-1','part generic feature',#15,.T.); -#6744=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6743, - #6741); -#6745=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6746,'',$,#6743,#25,*); -#6746=AXIS2_PLACEMENT_2D('',#6748,#6747); -#6747=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6748=CARTESIAN_POINT('',(8890000.0,1.016E7)); -#6749=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6743); -#6750=PHYSICAL_COMPONENT_TERMINAL('R6-1','interconnect module component terminal', - #49,.U.); -#6751=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R6-2','part generic feature',#15,.T.); -#6752=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6751, - #6736); -#6753=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6754,'',$,#6751,#25,*); -#6754=AXIS2_PLACEMENT_2D('',#6756,#6755); -#6755=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6756=CARTESIAN_POINT('',(8890000.0,8890000.0)); -#6757=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6751); -#6758=PHYSICAL_COMPONENT_TERMINAL('R6-2','interconnect module component terminal', - #49,.U.); -#6759=FOOTPRINT_OCCURRENCE('C8-FO',$,#218,#28,'C8-FO','definition usage',$,#219, - *,'',$,*); -#6760=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C8-FO','',$,#34,#219,'C8-FO', - '',$,#6759,*); -#6761=PRODUCT_DEFINITION_SHAPE('',$,#6760); -#6762=COMPONENT_2D_LOCATION(*,#6761,'component 2d location',$,#220,#36,#1033); -#6763=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C8-FO 2 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('C8-FO 2 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6764=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C8-FO 2 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('C8-FO 2 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6765=COMPONENT_TERMINATION_PASSAGE('C8-FO 2 drill','unknown role plated passage', - #3001,#28,'C8-FO 2 drill','definition usage',$,#3002,*,'',$,*); -#6766=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6765,.U.); -#6767=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6765,.U.); -#6768=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C8-FO 1 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('C8-FO 1 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6769=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C8-FO 1 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('C8-FO 1 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6770=COMPONENT_TERMINATION_PASSAGE('C8-FO 1 drill','unknown role plated passage', - #3309,#28,'C8-FO 1 drill','definition usage',$,#3310,*,'',$,*); -#6771=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6770,.U.); -#6772=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6770,.U.); -#6773=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C8-1','part generic feature',#15,.T.); -#6774=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6773, - #6771); -#6775=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#6776,'',$,#6773,#25,*); -#6776=AXIS2_PLACEMENT_2D('',#6778,#6777); -#6777=DIRECTION('',(1.0,0.0)); -#6778=CARTESIAN_POINT('',(3048000.0,1.8288E7)); -#6779=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6773); -#6780=PHYSICAL_COMPONENT_TERMINAL('C8-1','interconnect module component terminal', - #49,.U.); -#6781=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C8-2','part generic feature',#15,.T.); -#6782=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6781, - #6766); -#6783=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#6784,'',$,#6781,#25,*); -#6784=AXIS2_PLACEMENT_2D('',#6786,#6785); -#6785=DIRECTION('',(1.0,0.0)); -#6786=CARTESIAN_POINT('',(5080000.0,1.8288E7)); -#6787=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6781); -#6788=PHYSICAL_COMPONENT_TERMINAL('C8-2','interconnect module component terminal', - #49,.U.); -#6789=FOOTPRINT_OCCURRENCE('VR2-FO',$,#600,#28,'VR2-FO','definition usage',$,#601, - *,'',$,*); -#6790=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR2-FO','',$,#34,#601,'VR2-FO', - '',$,#6789,*); -#6791=PRODUCT_DEFINITION_SHAPE('',$,#6790); -#6792=COMPONENT_2D_LOCATION(*,#6791,'component 2d location',$,#602,#36,#1694); -#6793=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR2-FO 2 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR2-FO 2 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6794=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR2-FO 2 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR2-FO 2 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6795=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#2305,#28,'',$,*); -#6796=COMPONENT_TERMINATION_PASSAGE('VR2-FO 2 drill','unknown role plated passage', - #2843,#28,'VR2-FO 2 drill','definition usage',$,#2844,*,'',$,*); -#6797=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6796,.U.); -#6798=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6796,.U.); -#6799=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR2-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR2-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6800=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR2-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR2-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6801=COMPONENT_TERMINATION_PASSAGE('VR2-FO 1 drill','unknown role plated passage', - #2527,#28,'VR2-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#6802=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6801,.U.); -#6803=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6801,.U.); -#6804=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR2-2','part generic feature',#15, - .T.); -#6805=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6804, - #6797); -#6806=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#6807,'',$,#6804,#25,*); -#6807=AXIS2_PLACEMENT_2D('',#6809,#6808); -#6808=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6809=CARTESIAN_POINT('',(1.5748E7,1.1938E7)); -#6810=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6804); -#6811=PHYSICAL_COMPONENT_TERMINAL('VR2-2','interconnect module component terminal', - #49,.U.); -#6812=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR2-1','part generic feature',#15, - .T.); -#6813=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6812, - #6802); -#6814=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6815,'',$,#6812,#25,*); -#6815=AXIS2_PLACEMENT_2D('',#6817,#6816); -#6816=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6817=CARTESIAN_POINT('',(1.5748E7,1.397E7)); -#6818=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6812); -#6819=PHYSICAL_COMPONENT_TERMINAL('VR2-1','interconnect module component terminal', - #49,.U.); -#6820=FOOTPRINT_OCCURRENCE('R26-FO',$,#504,#28,'R26-FO','definition usage',$,#505, - *,'',$,*); -#6821=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R26-FO','',$,#34,#505,'R26-FO', - '',$,#6820,*); -#6822=PRODUCT_DEFINITION_SHAPE('',$,#6821); -#6823=COMPONENT_2D_LOCATION(*,#6822,'component 2d location',$,#506,#36,#1610); -#6824=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R26-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R26-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6825=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R26-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R26-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6826=COMPONENT_TERMINATION_PASSAGE('R26-FO 2 drill','unknown role plated passage', - #2527,#28,'R26-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#6827=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6826,.U.); -#6828=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6826,.U.); -#6829=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R26-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R26-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6830=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R26-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R26-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6831=COMPONENT_TERMINATION_PASSAGE('R26-FO 1 drill','unknown role plated passage', - #2527,#28,'R26-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#6832=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6831,.U.); -#6833=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6831,.U.); -#6834=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R26-2','part generic feature',#15, - .T.); -#6835=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6834, - #6827); -#6836=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6837,'',$,#6834,#25,*); -#6837=AXIS2_PLACEMENT_2D('',#6839,#6838); -#6838=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6839=CARTESIAN_POINT('',(5588000.0,1.397E7)); -#6840=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6834); -#6841=PHYSICAL_COMPONENT_TERMINAL('R26-2','interconnect module component terminal', - #49,.U.); -#6842=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R26-1','part generic feature',#15, - .T.); -#6843=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6842, - #6832); -#6844=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6845,'',$,#6842,#25,*); -#6845=AXIS2_PLACEMENT_2D('',#6847,#6846); -#6846=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6847=CARTESIAN_POINT('',(5588000.0,1.524E7)); -#6848=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6842); -#6849=PHYSICAL_COMPONENT_TERMINAL('R26-1','interconnect module component terminal', - #49,.U.); -#6850=FOOTPRINT_OCCURRENCE('Q1-FO',$,#405,#28,'Q1-FO','definition usage',$,#406, - *,'',$,*); -#6851=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('Q1-FO','',$,#34,#406,'Q1-FO', - '',$,#6850,*); -#6852=PRODUCT_DEFINITION_SHAPE('',$,#6851); -#6853=COMPONENT_2D_LOCATION(*,#6852,'component 2d location',$,#407,#36,#1308); -#6854=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q1-FO 3 SIGNAL_12','functional land', - #3725,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q1-FO 3 SIGNAL_12','definition usage', - $,#3726,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6855=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q1-FO 3 SIGNAL_1','functional land', - #3699,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q1-FO 3 SIGNAL_1','definition usage', - $,#3700,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6856=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#2305,#28,'',$,*); -#6857=COMPONENT_TERMINATION_PASSAGE('Q1-FO 3 drill','unknown role plated passage', - #3625,#28,'Q1-FO 3 drill','definition usage',$,#3626,*,'',$,*); -#6858=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6857,.U.); -#6859=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6857,.U.); -#6860=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q1-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q1-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6861=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q1-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q1-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6862=COMPONENT_TERMINATION_PASSAGE('Q1-FO 2 drill','unknown role plated passage', - #2527,#28,'Q1-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#6863=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6862,.U.); -#6864=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6862,.U.); -#6865=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q1-FO 1 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q1-FO 1 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6866=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q1-FO 1 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q1-FO 1 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6867=COMPONENT_TERMINATION_PASSAGE('Q1-FO 1 drill','unknown role plated passage', - #2843,#28,'Q1-FO 1 drill','definition usage',$,#2844,*,'',$,*); -#6868=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6867,.U.); -#6869=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6867,.U.); -#6870=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#2305,#28,'',$,*); -#6871=UNSUPPORTED_PASSAGE('Q1-FO drill',$,#413,#28,'Q1-FO drill','definition usage', - $,#414,*,'',$,*); -#6872=INTERCONNECT_MODULE_INTERFACE_TERMINAL('Q1-1','part generic feature',#15,.T.); -#6873=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6872, - #6868); -#6874=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#6875,'',$,#6872,#25,*); -#6875=AXIS2_PLACEMENT_2D('',#6877,#6876); -#6876=DIRECTION('',(1.0,0.0)); -#6877=CARTESIAN_POINT('',(7874000.0,3810000.0)); -#6878=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6872); -#6879=PHYSICAL_COMPONENT_TERMINAL('Q1-1','interconnect module component terminal', - #49,.U.); -#6880=INTERCONNECT_MODULE_INTERFACE_TERMINAL('Q1-2','part generic feature',#15,.T.); -#6881=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6880, - #6863); -#6882=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6883,'',$,#6880,#25,*); -#6883=AXIS2_PLACEMENT_2D('',#6885,#6884); -#6884=DIRECTION('',(1.0,0.0)); -#6885=CARTESIAN_POINT('',(8382000.0,3810000.0)); -#6886=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6880); -#6887=PHYSICAL_COMPONENT_TERMINAL('Q1-2','interconnect module component terminal', - #49,.U.); -#6888=INTERCONNECT_MODULE_INTERFACE_TERMINAL('Q1-3','part generic feature',#15,.T.); -#6889=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6888, - #6858); -#6890=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17740,#6891,'',$,#6888,#25,*); -#6891=AXIS2_PLACEMENT_2D('',#6893,#6892); -#6892=DIRECTION('',(1.0,0.0)); -#6893=CARTESIAN_POINT('',(8128000.0,2336800.0000000005)); -#6894=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6888); -#6895=PHYSICAL_COMPONENT_TERMINAL('Q1-3','interconnect module component terminal', - #49,.U.); -#6896=FOOTPRINT_OCCURRENCE('R13-FO',$,#504,#28,'R13-FO','definition usage',$,#505, - *,'',$,*); -#6897=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R13-FO','',$,#34,#505,'R13-FO', - '',$,#6896,*); -#6898=PRODUCT_DEFINITION_SHAPE('',$,#6897); -#6899=COMPONENT_2D_LOCATION(*,#6898,'component 2d location',$,#506,#36,#1493); -#6900=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R13-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R13-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6901=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R13-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R13-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6902=COMPONENT_TERMINATION_PASSAGE('R13-FO 2 drill','unknown role plated passage', - #2527,#28,'R13-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#6903=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6902,.U.); -#6904=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6902,.U.); -#6905=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R13-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R13-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6906=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R13-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R13-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6907=COMPONENT_TERMINATION_PASSAGE('R13-FO 1 drill','unknown role plated passage', - #2527,#28,'R13-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#6908=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6907,.U.); -#6909=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6907,.U.); -#6910=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R13-1','part generic feature',#15, - .T.); -#6911=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6910, - #6908); -#6912=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6913,'',$,#6910,#25,*); -#6913=AXIS2_PLACEMENT_2D('',#6915,#6914); -#6914=DIRECTION('',(6.123233995736766E-17,1.0)); -#6915=CARTESIAN_POINT('',(5080000.0,1.397E7)); -#6916=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6910); -#6917=PHYSICAL_COMPONENT_TERMINAL('R13-1','interconnect module component terminal', - #49,.U.); -#6918=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R13-2','part generic feature',#15, - .T.); -#6919=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6918, - #6903); -#6920=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6921,'',$,#6918,#25,*); -#6921=AXIS2_PLACEMENT_2D('',#6923,#6922); -#6922=DIRECTION('',(6.123233995736766E-17,1.0)); -#6923=CARTESIAN_POINT('',(5080000.0,1.524E7)); -#6924=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6918); -#6925=PHYSICAL_COMPONENT_TERMINAL('R13-2','interconnect module component terminal', - #49,.U.); -#6926=FOOTPRINT_OCCURRENCE('R17-FO',$,#504,#28,'R17-FO','definition usage',$,#505, - *,'',$,*); -#6927=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R17-FO','',$,#34,#505,'R17-FO', - '',$,#6926,*); -#6928=PRODUCT_DEFINITION_SHAPE('',$,#6927); -#6929=COMPONENT_2D_LOCATION(*,#6928,'component 2d location',$,#506,#36,#1529); -#6930=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R17-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R17-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6931=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R17-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R17-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6932=COMPONENT_TERMINATION_PASSAGE('R17-FO 2 drill','unknown role plated passage', - #2527,#28,'R17-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#6933=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6932,.U.); -#6934=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6932,.U.); -#6935=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R17-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R17-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6936=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R17-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R17-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6937=COMPONENT_TERMINATION_PASSAGE('R17-FO 1 drill','unknown role plated passage', - #2527,#28,'R17-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#6938=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6937,.U.); -#6939=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6937,.U.); -#6940=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R17-2','part generic feature',#15, - .T.); -#6941=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6940, - #6933); -#6942=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6943,'',$,#6940,#25,*); -#6943=AXIS2_PLACEMENT_2D('',#6945,#6944); -#6944=DIRECTION('',(6.123233995736766E-17,1.0)); -#6945=CARTESIAN_POINT('',(8636000.0,1.7018E7)); -#6946=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6940); -#6947=PHYSICAL_COMPONENT_TERMINAL('R17-2','interconnect module component terminal', - #49,.U.); -#6948=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R17-1','part generic feature',#15, - .T.); -#6949=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6948, - #6938); -#6950=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6951,'',$,#6948,#25,*); -#6951=AXIS2_PLACEMENT_2D('',#6953,#6952); -#6952=DIRECTION('',(6.123233995736766E-17,1.0)); -#6953=CARTESIAN_POINT('',(8636000.0,1.5748E7)); -#6954=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6948); -#6955=PHYSICAL_COMPONENT_TERMINAL('R17-1','interconnect module component terminal', - #49,.U.); -#6956=FOOTPRINT_OCCURRENCE('CR6-FO',$,#266,#28,'CR6-FO','definition usage',$,#267, - *,'',$,*); -#6957=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR6-FO','',$,#34,#267,'CR6-FO', - '',$,#6956,*); -#6958=PRODUCT_DEFINITION_SHAPE('',$,#6957); -#6959=COMPONENT_2D_LOCATION(*,#6958,'component 2d location',$,#268,#36,#1243); -#6960=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR6-FO 2 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR6-FO 2 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6961=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR6-FO 2 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR6-FO 2 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6962=COMPONENT_TERMINATION_PASSAGE('CR6-FO 2 drill','unknown role plated passage', - #3309,#28,'CR6-FO 2 drill','definition usage',$,#3310,*,'',$,*); -#6963=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6962,.U.); -#6964=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6962,.U.); -#6965=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR6-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR6-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6966=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR6-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR6-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6967=COMPONENT_TERMINATION_PASSAGE('CR6-FO 1 drill','unknown role plated passage', - #2527,#28,'CR6-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#6968=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6967,.U.); -#6969=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6967,.U.); -#6970=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR6-2','part generic feature',#15, - .T.); -#6971=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6970, - #6963); -#6972=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#6973,'',$,#6970,#25,*); -#6973=AXIS2_PLACEMENT_2D('',#6975,#6974); -#6974=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6975=CARTESIAN_POINT('',(6604000.0,1.1684E7)); -#6976=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6970); -#6977=PHYSICAL_COMPONENT_TERMINAL('CR6-2','interconnect module component terminal', - #49,.U.); -#6978=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR6-1','part generic feature',#15, - .T.); -#6979=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6978, - #6968); -#6980=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#6981,'',$,#6978,#25,*); -#6981=AXIS2_PLACEMENT_2D('',#6983,#6982); -#6982=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6983=CARTESIAN_POINT('',(6604000.0,1.2954E7)); -#6984=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#6978); -#6985=PHYSICAL_COMPONENT_TERMINAL('CR6-1','interconnect module component terminal', - #49,.U.); -#6986=FOOTPRINT_OCCURRENCE('R4-FO',$,#504,#28,'R4-FO','definition usage',$,#505, - *,'',$,*); -#6987=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R4-FO','',$,#34,#505,'R4-FO', - '',$,#6986,*); -#6988=PRODUCT_DEFINITION_SHAPE('',$,#6987); -#6989=COMPONENT_2D_LOCATION(*,#6988,'component 2d location',$,#506,#36,#1402); -#6990=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R4-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R4-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6991=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R4-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R4-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6992=COMPONENT_TERMINATION_PASSAGE('R4-FO 2 drill','unknown role plated passage', - #2527,#28,'R4-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#6993=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6992,.U.); -#6994=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6992,.U.); -#6995=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R4-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R4-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6996=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R4-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R4-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6997=COMPONENT_TERMINATION_PASSAGE('R4-FO 1 drill','unknown role plated passage', - #2527,#28,'R4-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#6998=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #6997,.U.); -#6999=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #6997,.U.); -#7000=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R4-1','part generic feature',#15,.T.); -#7001=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7000, - #6998); -#7002=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7003,'',$,#7000,#25,*); -#7003=AXIS2_PLACEMENT_2D('',#7005,#7004); -#7004=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7005=CARTESIAN_POINT('',(1.1176E7,1.4732E7)); -#7006=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7000); -#7007=PHYSICAL_COMPONENT_TERMINAL('R4-1','interconnect module component terminal', - #49,.U.); -#7008=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R4-2','part generic feature',#15,.T.); -#7009=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7008, - #6993); -#7010=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7011,'',$,#7008,#25,*); -#7011=AXIS2_PLACEMENT_2D('',#7013,#7012); -#7012=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7013=CARTESIAN_POINT('',(1.1176E7,1.3462E7)); -#7014=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7008); -#7015=PHYSICAL_COMPONENT_TERMINAL('R4-2','interconnect module component terminal', - #49,.U.); -#7016=FOOTPRINT_OCCURRENCE('L1-FO',$,#299,#28,'L1-FO','definition usage',$,#300, - *,'',$,*); -#7017=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('L1-FO','',$,#34,#300,'L1-FO', - '',$,#7016,*); -#7018=PRODUCT_DEFINITION_SHAPE('',$,#7017); -#7019=COMPONENT_2D_LOCATION(*,#7018,'component 2d location',$,#301,#36,#1261); -#7020=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L1-FO 3 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('L1-FO 3 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7021=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L1-FO 3 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('L1-FO 3 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7022=COMPONENT_TERMINATION_PASSAGE('L1-FO 3 drill','unknown role plated passage', - #2527,#28,'L1-FO 3 drill','definition usage',$,#2528,*,'',$,*); -#7023=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7022,.U.); -#7024=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7022,.U.); -#7025=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L1-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('L1-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7026=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L1-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('L1-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7027=COMPONENT_TERMINATION_PASSAGE('L1-FO 2 drill','unknown role plated passage', - #2527,#28,'L1-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7028=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7027,.U.); -#7029=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7027,.U.); -#7030=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L1-FO 1 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('L1-FO 1 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7031=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L1-FO 1 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('L1-FO 1 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7032=COMPONENT_TERMINATION_PASSAGE('L1-FO 1 drill','unknown role plated passage', - #2843,#28,'L1-FO 1 drill','definition usage',$,#2844,*,'',$,*); -#7033=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7032,.U.); -#7034=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7032,.U.); -#7035=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#2305,#28,'',$,*); -#7036=PLATED_PASSAGE('L1-FO drill','unknown role plated passage',#307,#28,'L1-FO drill', - 'definition usage',$,#308,*,'',$,*); -#7037=INTERCONNECT_MODULE_INTERFACE_TERMINAL('L1-3','part generic feature',#15,.T.); -#7038=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7037, - #7023); -#7039=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7040,'',$,#7037,#25,*); -#7040=AXIS2_PLACEMENT_2D('',#7042,#7041); -#7041=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7042=CARTESIAN_POINT('',(1.2446E7,1.3208E7)); -#7043=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7037); -#7044=PHYSICAL_COMPONENT_TERMINAL('L1-3','interconnect module component terminal', - #49,.U.); -#7045=INTERCONNECT_MODULE_INTERFACE_TERMINAL('L1-2','part generic feature',#15,.T.); -#7046=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7045, - #7028); -#7047=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7048,'',$,#7045,#25,*); -#7048=AXIS2_PLACEMENT_2D('',#7050,#7049); -#7049=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7050=CARTESIAN_POINT('',(1.4478E7,1.3208E7)); -#7051=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7045); -#7052=PHYSICAL_COMPONENT_TERMINAL('L1-2','interconnect module component terminal', - #49,.U.); -#7053=INTERCONNECT_MODULE_INTERFACE_TERMINAL('L1-1','part generic feature',#15,.T.); -#7054=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7053, - #7033); -#7055=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#7056,'',$,#7053,#25,*); -#7056=AXIS2_PLACEMENT_2D('',#7058,#7057); -#7057=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7058=CARTESIAN_POINT('',(1.3462E7,1.4224E7)); -#7059=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7053); -#7060=PHYSICAL_COMPONENT_TERMINAL('L1-1','interconnect module component terminal', - #49,.U.); -#7061=FOOTPRINT_OCCURRENCE('VR4-FO',$,#600,#28,'VR4-FO','definition usage',$,#601, - *,'',$,*); -#7062=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR4-FO','',$,#34,#601,'VR4-FO', - '',$,#7061,*); -#7063=PRODUCT_DEFINITION_SHAPE('',$,#7062); -#7064=COMPONENT_2D_LOCATION(*,#7063,'component 2d location',$,#602,#36,#1712); -#7065=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR4-FO 2 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR4-FO 2 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7066=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR4-FO 2 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR4-FO 2 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7067=COMPONENT_TERMINATION_PASSAGE('VR4-FO 2 drill','unknown role plated passage', - #2843,#28,'VR4-FO 2 drill','definition usage',$,#2844,*,'',$,*); -#7068=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7067,.U.); -#7069=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7067,.U.); -#7070=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR4-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR4-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7071=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR4-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR4-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7072=COMPONENT_TERMINATION_PASSAGE('VR4-FO 1 drill','unknown role plated passage', - #2527,#28,'VR4-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7073=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7072,.U.); -#7074=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7072,.U.); -#7075=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR4-2','part generic feature',#15, - .T.); -#7076=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7075, - #7068); -#7077=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#7078,'',$,#7075,#25,*); -#7078=AXIS2_PLACEMENT_2D('',#7080,#7079); -#7079=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7080=CARTESIAN_POINT('',(1015999.9999999997,1.1938E7)); -#7081=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7075); -#7082=PHYSICAL_COMPONENT_TERMINAL('VR4-2','interconnect module component terminal', - #49,.U.); -#7083=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR4-1','part generic feature',#15, - .T.); -#7084=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7083, - #7073); -#7085=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7086,'',$,#7083,#25,*); -#7086=AXIS2_PLACEMENT_2D('',#7088,#7087); -#7087=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7088=CARTESIAN_POINT('',(1016000.0,1.397E7)); -#7089=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7083); -#7090=PHYSICAL_COMPONENT_TERMINAL('VR4-1','interconnect module component terminal', - #49,.U.); -#7091=FOOTPRINT_OCCURRENCE('R24-FO',$,#504,#28,'R24-FO','definition usage',$,#505, - *,'',$,*); -#7092=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R24-FO','',$,#34,#505,'R24-FO', - '',$,#7091,*); -#7093=PRODUCT_DEFINITION_SHAPE('',$,#7092); -#7094=COMPONENT_2D_LOCATION(*,#7093,'component 2d location',$,#506,#36,#1592); -#7095=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R24-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R24-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7096=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R24-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R24-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7097=COMPONENT_TERMINATION_PASSAGE('R24-FO 2 drill','unknown role plated passage', - #2527,#28,'R24-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7098=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7097,.U.); -#7099=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7097,.U.); -#7100=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R24-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R24-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7101=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R24-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R24-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7102=COMPONENT_TERMINATION_PASSAGE('R24-FO 1 drill','unknown role plated passage', - #2527,#28,'R24-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7103=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7102,.U.); -#7104=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7102,.U.); -#7105=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R24-1','part generic feature',#15, - .T.); -#7106=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7105, - #7103); -#7107=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7108,'',$,#7105,#25,*); -#7108=AXIS2_PLACEMENT_2D('',#7110,#7109); -#7109=DIRECTION('',(6.123233995736766E-17,1.0)); -#7110=CARTESIAN_POINT('',(1524000.0,1.2954E7)); -#7111=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7105); -#7112=PHYSICAL_COMPONENT_TERMINAL('R24-1','interconnect module component terminal', - #49,.U.); -#7113=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R24-2','part generic feature',#15, - .T.); -#7114=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7113, - #7098); -#7115=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7116,'',$,#7113,#25,*); -#7116=AXIS2_PLACEMENT_2D('',#7118,#7117); -#7117=DIRECTION('',(6.123233995736766E-17,1.0)); -#7118=CARTESIAN_POINT('',(1524000.0,1.4224E7)); -#7119=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7113); -#7120=PHYSICAL_COMPONENT_TERMINAL('R24-2','interconnect module component terminal', - #49,.U.); -#7121=FOOTPRINT_OCCURRENCE('C18-FO',$,#170,#28,'C18-FO','definition usage',$,#171, - *,'',$,*); -#7122=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C18-FO','',$,#34,#171,'C18-FO', - '',$,#7121,*); -#7123=PRODUCT_DEFINITION_SHAPE('',$,#7122); -#7124=COMPONENT_2D_LOCATION(*,#7123,'component 2d location',$,#172,#36,#1133); -#7125=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C18-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C18-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7126=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C18-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C18-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7127=COMPONENT_TERMINATION_PASSAGE('C18-FO 2 drill','unknown role plated passage', - #2527,#28,'C18-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7128=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7127,.U.); -#7129=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7127,.U.); -#7130=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C18-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C18-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7131=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C18-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C18-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7132=COMPONENT_TERMINATION_PASSAGE('C18-FO 1 drill','unknown role plated passage', - #2527,#28,'C18-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7133=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7132,.U.); -#7134=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7132,.U.); -#7135=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C18-1','part generic feature',#15, - .T.); -#7136=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7135, - #7133); -#7137=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7138,'',$,#7135,#25,*); -#7138=AXIS2_PLACEMENT_2D('',#7140,#7139); -#7139=DIRECTION('',(1.0,0.0)); -#7140=CARTESIAN_POINT('',(1.016E7,1.016E7)); -#7141=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7135); -#7142=PHYSICAL_COMPONENT_TERMINAL('C18-1','interconnect module component terminal', - #49,.U.); -#7143=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C18-2','part generic feature',#15, - .T.); -#7144=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7143, - #7128); -#7145=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7146,'',$,#7143,#25,*); -#7146=AXIS2_PLACEMENT_2D('',#7148,#7147); -#7147=DIRECTION('',(1.0,0.0)); -#7148=CARTESIAN_POINT('',(1.5748E7,1.016E7)); -#7149=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7143); -#7150=PHYSICAL_COMPONENT_TERMINAL('C18-2','interconnect module component terminal', - #49,.U.); -#7151=FOOTPRINT_OCCURRENCE('T1-FO',$,#552,#28,'T1-FO','definition usage',$,#553, - *,'',$,*); -#7152=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('T1-FO','',$,#34,#553,'T1-FO', - '',$,#7151,*); -#7153=PRODUCT_DEFINITION_SHAPE('',$,#7152); -#7154=COMPONENT_2D_LOCATION(*,#7153,'component 2d location',$,#554,#36,#1628); -#7155=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 6 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 6 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7156=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 6 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 6 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7157=COMPONENT_TERMINATION_PASSAGE('T1-FO 6 drill','unknown role plated passage', - #2527,#28,'T1-FO 6 drill','definition usage',$,#2528,*,'',$,*); -#7158=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7157,.U.); -#7159=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7157,.U.); -#7160=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 5 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 5 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7161=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 5 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 5 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7162=COMPONENT_TERMINATION_PASSAGE('T1-FO 5 drill','unknown role plated passage', - #2527,#28,'T1-FO 5 drill','definition usage',$,#2528,*,'',$,*); -#7163=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7162,.U.); -#7164=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7162,.U.); -#7165=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 4 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 4 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7166=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 4 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 4 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7167=COMPONENT_TERMINATION_PASSAGE('T1-FO 4 drill','unknown role plated passage', - #2527,#28,'T1-FO 4 drill','definition usage',$,#2528,*,'',$,*); -#7168=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7167,.U.); -#7169=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7167,.U.); -#7170=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 3 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 3 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7171=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 3 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 3 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7172=COMPONENT_TERMINATION_PASSAGE('T1-FO 3 drill','unknown role plated passage', - #2527,#28,'T1-FO 3 drill','definition usage',$,#2528,*,'',$,*); -#7173=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7172,.U.); -#7174=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7172,.U.); -#7175=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7176=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7177=COMPONENT_TERMINATION_PASSAGE('T1-FO 2 drill','unknown role plated passage', - #2527,#28,'T1-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7178=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7177,.U.); -#7179=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7177,.U.); -#7180=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 1 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 1 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7181=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T1-FO 1 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('T1-FO 1 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7182=COMPONENT_TERMINATION_PASSAGE('T1-FO 1 drill','unknown role plated passage', - #2843,#28,'T1-FO 1 drill','definition usage',$,#2844,*,'',$,*); -#7183=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7182,.U.); -#7184=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7182,.U.); -#7185=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T1-1','part generic feature',#15,.T.); -#7186=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7185, - #7183); -#7187=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#7188,'',$,#7185,#25,*); -#7188=AXIS2_PLACEMENT_2D('',#7190,#7189); -#7189=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7190=CARTESIAN_POINT('',(1.397E7,1.6256E7)); -#7191=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7185); -#7192=PHYSICAL_COMPONENT_TERMINAL('T1-1','interconnect module component terminal', - #49,.U.); -#7193=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T1-3','part generic feature',#15,.T.); -#7194=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7193, - #7173); -#7195=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7196,'',$,#7193,#25,*); -#7196=AXIS2_PLACEMENT_2D('',#7198,#7197); -#7197=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7198=CARTESIAN_POINT('',(1.2954E7,1.6256E7)); -#7199=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7193); -#7200=PHYSICAL_COMPONENT_TERMINAL('T1-3','interconnect module component terminal', - #49,.U.); -#7201=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T1-4','part generic feature',#15,.T.); -#7202=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7201, - #7168); -#7203=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7204,'',$,#7201,#25,*); -#7204=AXIS2_PLACEMENT_2D('',#7206,#7205); -#7205=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7206=CARTESIAN_POINT('',(1.2954E7,1.524E7)); -#7207=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7201); -#7208=PHYSICAL_COMPONENT_TERMINAL('T1-4','interconnect module component terminal', - #49,.U.); -#7209=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T1-6','part generic feature',#15,.T.); -#7210=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7209, - #7158); -#7211=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7212,'',$,#7209,#25,*); -#7212=AXIS2_PLACEMENT_2D('',#7214,#7213); -#7213=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7214=CARTESIAN_POINT('',(1.397E7,1.524E7)); -#7215=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7209); -#7216=PHYSICAL_COMPONENT_TERMINAL('T1-6','interconnect module component terminal', - #49,.U.); -#7217=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T1-2','part generic feature',#15,.T.); -#7218=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7217, - #7178); -#7219=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7220,'',$,#7217,#25,*); -#7220=AXIS2_PLACEMENT_2D('',#7222,#7221); -#7221=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7222=CARTESIAN_POINT('',(1.3462E7,1.6256E7)); -#7223=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7217); -#7224=PHYSICAL_COMPONENT_TERMINAL('T1-2','interconnect module component terminal', - #49,.U.); -#7225=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T1-5','part generic feature',#15,.T.); -#7226=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7225, - #7163); -#7227=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7228,'',$,#7225,#25,*); -#7228=AXIS2_PLACEMENT_2D('',#7230,#7229); -#7229=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7230=CARTESIAN_POINT('',(1.3462E7,1.524E7)); -#7231=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7225); -#7232=PHYSICAL_COMPONENT_TERMINAL('T1-5','interconnect module component terminal', - #49,.U.); -#7233=FOOTPRINT_OCCURRENCE('R3-FO',$,#504,#28,'R3-FO','definition usage',$,#505, - *,'',$,*); -#7234=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R3-FO','',$,#34,#505,'R3-FO', - '',$,#7233,*); -#7235=PRODUCT_DEFINITION_SHAPE('',$,#7234); -#7236=COMPONENT_2D_LOCATION(*,#7235,'component 2d location',$,#506,#36,#1393); -#7237=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R3-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R3-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7238=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R3-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R3-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7239=COMPONENT_TERMINATION_PASSAGE('R3-FO 2 drill','unknown role plated passage', - #2527,#28,'R3-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7240=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7239,.U.); -#7241=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7239,.U.); -#7242=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R3-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R3-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7243=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R3-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R3-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7244=COMPONENT_TERMINATION_PASSAGE('R3-FO 1 drill','unknown role plated passage', - #2527,#28,'R3-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7245=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7244,.U.); -#7246=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7244,.U.); -#7247=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R3-2','part generic feature',#15,.T.); -#7248=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7247, - #7240); -#7249=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7250,'',$,#7247,#25,*); -#7250=AXIS2_PLACEMENT_2D('',#7252,#7251); -#7251=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7252=CARTESIAN_POINT('',(1.0668E7,1.3462E7)); -#7253=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7247); -#7254=PHYSICAL_COMPONENT_TERMINAL('R3-2','interconnect module component terminal', - #49,.U.); -#7255=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R3-1','part generic feature',#15,.T.); -#7256=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7255, - #7245); -#7257=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7258,'',$,#7255,#25,*); -#7258=AXIS2_PLACEMENT_2D('',#7260,#7259); -#7259=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7260=CARTESIAN_POINT('',(1.0668E7,1.4732E7)); -#7261=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7255); -#7262=PHYSICAL_COMPONENT_TERMINAL('R3-1','interconnect module component terminal', - #49,.U.); -#7263=FOOTPRINT_OCCURRENCE('C5-FO',$,#194,#28,'C5-FO','definition usage',$,#195, - *,'',$,*); -#7264=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C5-FO','',$,#34,#195,'C5-FO', - '',$,#7263,*); -#7265=PRODUCT_DEFINITION_SHAPE('',$,#7264); -#7266=COMPONENT_2D_LOCATION(*,#7265,'component 2d location',$,#196,#36,#996); -#7267=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C5-FO 2 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C5-FO 2 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7268=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C5-FO 2 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C5-FO 2 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7269=COMPONENT_TERMINATION_PASSAGE('C5-FO 2 drill','unknown role plated passage', - #2685,#28,'C5-FO 2 drill','definition usage',$,#2686,*,'',$,*); -#7270=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7269,.U.); -#7271=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7269,.U.); -#7272=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C5-FO 1 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('C5-FO 1 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7273=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C5-FO 1 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('C5-FO 1 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7274=COMPONENT_TERMINATION_PASSAGE('C5-FO 1 drill','unknown role plated passage', - #2843,#28,'C5-FO 1 drill','definition usage',$,#2844,*,'',$,*); -#7275=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7274,.U.); -#7276=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7274,.U.); -#7277=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C5-1','part generic feature',#15,.T.); -#7278=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7277, - #7275); -#7279=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#7280,'',$,#7277,#25,*); -#7280=AXIS2_PLACEMENT_2D('',#7282,#7281); -#7281=DIRECTION('',(6.123233995736766E-17,1.0)); -#7282=CARTESIAN_POINT('',(7366000.0,8890000.0)); -#7283=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7277); -#7284=PHYSICAL_COMPONENT_TERMINAL('C5-1','interconnect module component terminal', - #49,.U.); -#7285=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C5-2','part generic feature',#15,.T.); -#7286=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7285, - #7270); -#7287=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#7288,'',$,#7285,#25,*); -#7288=AXIS2_PLACEMENT_2D('',#7290,#7289); -#7289=DIRECTION('',(6.123233995736766E-17,1.0)); -#7290=CARTESIAN_POINT('',(7366000.0,1.0414E7)); -#7291=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7285); -#7292=PHYSICAL_COMPONENT_TERMINAL('C5-2','interconnect module component terminal', - #49,.U.); -#7293=FOOTPRINT_OCCURRENCE('R21-FO',$,#504,#28,'R21-FO','definition usage',$,#505, - *,'',$,*); -#7294=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R21-FO','',$,#34,#505,'R21-FO', - '',$,#7293,*); -#7295=PRODUCT_DEFINITION_SHAPE('',$,#7294); -#7296=COMPONENT_2D_LOCATION(*,#7295,'component 2d location',$,#506,#36,#1565); -#7297=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R21-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R21-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7298=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R21-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R21-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7299=COMPONENT_TERMINATION_PASSAGE('R21-FO 2 drill','unknown role plated passage', - #2527,#28,'R21-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7300=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7299,.U.); -#7301=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7299,.U.); -#7302=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R21-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R21-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7303=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R21-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R21-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7304=COMPONENT_TERMINATION_PASSAGE('R21-FO 1 drill','unknown role plated passage', - #2527,#28,'R21-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7305=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7304,.U.); -#7306=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7304,.U.); -#7307=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R21-1','part generic feature',#15, - .T.); -#7308=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7307, - #7305); -#7309=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7310,'',$,#7307,#25,*); -#7310=AXIS2_PLACEMENT_2D('',#7312,#7311); -#7311=DIRECTION('',(1.0,0.0)); -#7312=CARTESIAN_POINT('',(3048000.0,1.7272E7)); -#7313=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7307); -#7314=PHYSICAL_COMPONENT_TERMINAL('R21-1','interconnect module component terminal', - #49,.U.); -#7315=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R21-2','part generic feature',#15, - .T.); -#7316=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7315, - #7300); -#7317=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7318,'',$,#7315,#25,*); -#7318=AXIS2_PLACEMENT_2D('',#7320,#7319); -#7319=DIRECTION('',(1.0,0.0)); -#7320=CARTESIAN_POINT('',(4318000.0,1.7272E7)); -#7321=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7315); -#7322=PHYSICAL_COMPONENT_TERMINAL('R21-2','interconnect module component terminal', - #49,.U.); -#7323=FOOTPRINT_OCCURRENCE('R25-FO',$,#504,#28,'R25-FO','definition usage',$,#505, - *,'',$,*); -#7324=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R25-FO','',$,#34,#505,'R25-FO', - '',$,#7323,*); -#7325=PRODUCT_DEFINITION_SHAPE('',$,#7324); -#7326=COMPONENT_2D_LOCATION(*,#7325,'component 2d location',$,#506,#36,#1601); -#7327=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R25-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R25-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7328=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R25-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R25-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7329=COMPONENT_TERMINATION_PASSAGE('R25-FO 2 drill','unknown role plated passage', - #2527,#28,'R25-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7330=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7329,.U.); -#7331=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7329,.U.); -#7332=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R25-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R25-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7333=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R25-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R25-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7334=COMPONENT_TERMINATION_PASSAGE('R25-FO 1 drill','unknown role plated passage', - #2527,#28,'R25-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7335=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7334,.U.); -#7336=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7334,.U.); -#7337=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R25-1','part generic feature',#15, - .T.); -#7338=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7337, - #7335); -#7339=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7340,'',$,#7337,#25,*); -#7340=AXIS2_PLACEMENT_2D('',#7342,#7341); -#7341=DIRECTION('',(6.123233995736766E-17,1.0)); -#7342=CARTESIAN_POINT('',(2032000.0,1.2954E7)); -#7343=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7337); -#7344=PHYSICAL_COMPONENT_TERMINAL('R25-1','interconnect module component terminal', - #49,.U.); -#7345=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R25-2','part generic feature',#15, - .T.); -#7346=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7345, - #7330); -#7347=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7348,'',$,#7345,#25,*); -#7348=AXIS2_PLACEMENT_2D('',#7350,#7349); -#7349=DIRECTION('',(6.123233995736766E-17,1.0)); -#7350=CARTESIAN_POINT('',(2032000.0,1.4224E7)); -#7351=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7345); -#7352=PHYSICAL_COMPONENT_TERMINAL('R25-2','interconnect module component terminal', - #49,.U.); -#7353=FOOTPRINT_OCCURRENCE('C9-FO',$,#218,#28,'C9-FO','definition usage',$,#219, - *,'',$,*); -#7354=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C9-FO','',$,#34,#219,'C9-FO', - '',$,#7353,*); -#7355=PRODUCT_DEFINITION_SHAPE('',$,#7354); -#7356=COMPONENT_2D_LOCATION(*,#7355,'component 2d location',$,#220,#36,#1052); -#7357=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C9-FO 2 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('C9-FO 2 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7358=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C9-FO 2 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('C9-FO 2 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7359=COMPONENT_TERMINATION_PASSAGE('C9-FO 2 drill','unknown role plated passage', - #3001,#28,'C9-FO 2 drill','definition usage',$,#3002,*,'',$,*); -#7360=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7359,.U.); -#7361=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7359,.U.); -#7362=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C9-FO 1 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('C9-FO 1 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7363=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C9-FO 1 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('C9-FO 1 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7364=COMPONENT_TERMINATION_PASSAGE('C9-FO 1 drill','unknown role plated passage', - #3309,#28,'C9-FO 1 drill','definition usage',$,#3310,*,'',$,*); -#7365=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7364,.U.); -#7366=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7364,.U.); -#7367=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C9-1','part generic feature',#15,.T.); -#7368=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7367, - #7365); -#7369=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#7370,'',$,#7367,#25,*); -#7370=AXIS2_PLACEMENT_2D('',#7372,#7371); -#7371=DIRECTION('',(6.123233995736766E-17,1.0)); -#7372=CARTESIAN_POINT('',(5080000.0,1.5748E7)); -#7373=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7367); -#7374=PHYSICAL_COMPONENT_TERMINAL('C9-1','interconnect module component terminal', - #49,.U.); -#7375=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C9-2','part generic feature',#15,.T.); -#7376=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7375, - #7360); -#7377=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#7378,'',$,#7375,#25,*); -#7378=AXIS2_PLACEMENT_2D('',#7380,#7379); -#7379=DIRECTION('',(6.123233995736766E-17,1.0)); -#7380=CARTESIAN_POINT('',(5080000.0,1.778E7)); -#7381=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7375); -#7382=PHYSICAL_COMPONENT_TERMINAL('C9-2','interconnect module component terminal', - #49,.U.); -#7383=FOOTPRINT_OCCURRENCE('L2-FO',$,#299,#28,'L2-FO','definition usage',$,#300, - *,'',$,*); -#7384=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('L2-FO','',$,#34,#300,'L2-FO', - '',$,#7383,*); -#7385=PRODUCT_DEFINITION_SHAPE('',$,#7384); -#7386=COMPONENT_2D_LOCATION(*,#7385,'component 2d location',$,#301,#36,#1280); -#7387=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L2-FO 3 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('L2-FO 3 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7388=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L2-FO 3 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('L2-FO 3 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7389=COMPONENT_TERMINATION_PASSAGE('L2-FO 3 drill','unknown role plated passage', - #2527,#28,'L2-FO 3 drill','definition usage',$,#2528,*,'',$,*); -#7390=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7389,.U.); -#7391=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7389,.U.); -#7392=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L2-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('L2-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7393=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L2-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('L2-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7394=COMPONENT_TERMINATION_PASSAGE('L2-FO 2 drill','unknown role plated passage', - #2527,#28,'L2-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7395=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7394,.U.); -#7396=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7394,.U.); -#7397=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L2-FO 1 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('L2-FO 1 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7398=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('L2-FO 1 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('L2-FO 1 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7399=COMPONENT_TERMINATION_PASSAGE('L2-FO 1 drill','unknown role plated passage', - #2843,#28,'L2-FO 1 drill','definition usage',$,#2844,*,'',$,*); -#7400=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7399,.U.); -#7401=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7399,.U.); -#7402=PLATED_PASSAGE('L2-FO drill','unknown role plated passage',#307,#28,'L2-FO drill', - 'definition usage',$,#308,*,'',$,*); -#7403=INTERCONNECT_MODULE_INTERFACE_TERMINAL('L2-2','part generic feature',#15,.T.); -#7404=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7403, - #7395); -#7405=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7406,'',$,#7403,#25,*); -#7406=AXIS2_PLACEMENT_2D('',#7408,#7407); -#7407=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7408=CARTESIAN_POINT('',(3810000.0,1.1938E7)); -#7409=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7403); -#7410=PHYSICAL_COMPONENT_TERMINAL('L2-2','interconnect module component terminal', - #49,.U.); -#7411=INTERCONNECT_MODULE_INTERFACE_TERMINAL('L2-1','part generic feature',#15,.T.); -#7412=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7411, - #7400); -#7413=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#7414,'',$,#7411,#25,*); -#7414=AXIS2_PLACEMENT_2D('',#7416,#7415); -#7415=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7416=CARTESIAN_POINT('',(4826000.0,1.2954E7)); -#7417=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7411); -#7418=PHYSICAL_COMPONENT_TERMINAL('L2-1','interconnect module component terminal', - #49,.U.); -#7419=INTERCONNECT_MODULE_INTERFACE_TERMINAL('L2-3','part generic feature',#15,.T.); -#7420=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7419, - #7390); -#7421=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7422,'',$,#7419,#25,*); -#7422=AXIS2_PLACEMENT_2D('',#7424,#7423); -#7423=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7424=CARTESIAN_POINT('',(3810000.0,1.397E7)); -#7425=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7419); -#7426=PHYSICAL_COMPONENT_TERMINAL('L2-3','interconnect module component terminal', - #49,.U.); -#7427=FOOTPRINT_OCCURRENCE('VR6-FO',$,#624,#28,'VR6-FO','definition usage',$,#625, - *,'',$,*); -#7428=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR6-FO','',$,#34,#625,'VR6-FO', - '',$,#7427,*); -#7429=PRODUCT_DEFINITION_SHAPE('',$,#7428); -#7430=COMPONENT_2D_LOCATION(*,#7429,'component 2d location',$,#626,#36,#1740); -#7431=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR6-FO 2 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR6-FO 2 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7432=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR6-FO 2 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR6-FO 2 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7433=COMPONENT_TERMINATION_PASSAGE('VR6-FO 2 drill','unknown role plated passage', - #3309,#28,'VR6-FO 2 drill','definition usage',$,#3310,*,'',$,*); -#7434=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7433,.U.); -#7435=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7433,.U.); -#7436=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR6-FO 1 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR6-FO 1 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7437=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR6-FO 1 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR6-FO 1 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7438=COMPONENT_TERMINATION_PASSAGE('VR6-FO 1 drill','unknown role plated passage', - #2685,#28,'VR6-FO 1 drill','definition usage',$,#2686,*,'',$,*); -#7439=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7438,.U.); -#7440=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7438,.U.); -#7441=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR6-2','part generic feature',#15, - .T.); -#7442=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7441, - #7434); -#7443=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#7444,'',$,#7441,#25,*); -#7444=AXIS2_PLACEMENT_2D('',#7446,#7445); -#7445=DIRECTION('',(6.123233995736766E-17,1.0)); -#7446=CARTESIAN_POINT('',(1.1176E7,1.2954E7)); -#7447=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7441); -#7448=PHYSICAL_COMPONENT_TERMINAL('VR6-2','interconnect module component terminal', - #49,.U.); -#7449=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR6-1','part generic feature',#15, - .T.); -#7450=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7449, - #7439); -#7451=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#7452,'',$,#7449,#25,*); -#7452=AXIS2_PLACEMENT_2D('',#7454,#7453); -#7453=DIRECTION('',(6.123233995736766E-17,1.0)); -#7454=CARTESIAN_POINT('',(1.1176E7,1.1684E7)); -#7455=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7449); -#7456=PHYSICAL_COMPONENT_TERMINAL('VR6-1','interconnect module component terminal', - #49,.U.); -#7457=FOOTPRINT_OCCURRENCE('R7-FO',$,#528,#28,'R7-FO','definition usage',$,#529, - *,'',$,*); -#7458=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R7-FO','',$,#34,#529,'R7-FO', - '',$,#7457,*); -#7459=PRODUCT_DEFINITION_SHAPE('',$,#7458); -#7460=COMPONENT_2D_LOCATION(*,#7459,'component 2d location',$,#530,#36,#1429); -#7461=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R7-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R7-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7462=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R7-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R7-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7463=COMPONENT_TERMINATION_PASSAGE('R7-FO 2 drill','unknown role plated passage', - #2527,#28,'R7-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7464=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7463,.U.); -#7465=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7463,.U.); -#7466=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R7-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R7-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7467=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R7-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R7-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7468=COMPONENT_TERMINATION_PASSAGE('R7-FO 1 drill','unknown role plated passage', - #2527,#28,'R7-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7469=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7468,.U.); -#7470=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7468,.U.); -#7471=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R7-2','part generic feature',#15,.T.); -#7472=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7471, - #7464); -#7473=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7474,'',$,#7471,#25,*); -#7474=AXIS2_PLACEMENT_2D('',#7476,#7475); -#7475=DIRECTION('',(6.123233995736766E-17,1.0)); -#7476=CARTESIAN_POINT('',(9398000.0,1.0668E7)); -#7477=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7471); -#7478=PHYSICAL_COMPONENT_TERMINAL('R7-2','interconnect module component terminal', - #49,.U.); -#7479=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R7-1','part generic feature',#15,.T.); -#7480=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7479, - #7469); -#7481=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7482,'',$,#7479,#25,*); -#7482=AXIS2_PLACEMENT_2D('',#7484,#7483); -#7483=DIRECTION('',(6.123233995736766E-17,1.0)); -#7484=CARTESIAN_POINT('',(9398000.0,8890000.0)); -#7485=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7479); -#7486=PHYSICAL_COMPONENT_TERMINAL('R7-1','interconnect module component terminal', - #49,.U.); -#7487=FOOTPRINT_OCCURRENCE('R30-FO',$,#504,#28,'R30-FO','definition usage',$,#505, - *,'',$,*); -#7488=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R30-FO','',$,#34,#505,'R30-FO', - '',$,#7487,*); -#7489=PRODUCT_DEFINITION_SHAPE('',$,#7488); -#7490=COMPONENT_2D_LOCATION(*,#7489,'component 2d location',$,#506,#36,#1619); -#7491=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R30-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R30-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7492=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R30-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R30-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7493=COMPONENT_TERMINATION_PASSAGE('R30-FO 2 drill','unknown role plated passage', - #2527,#28,'R30-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7494=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7493,.U.); -#7495=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7493,.U.); -#7496=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R30-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R30-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7497=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R30-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R30-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7498=COMPONENT_TERMINATION_PASSAGE('R30-FO 1 drill','unknown role plated passage', - #2527,#28,'R30-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7499=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7498,.U.); -#7500=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7498,.U.); -#7501=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R30-1','part generic feature',#15, - .T.); -#7502=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7501, - #7499); -#7503=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7504,'',$,#7501,#25,*); -#7504=AXIS2_PLACEMENT_2D('',#7506,#7505); -#7505=DIRECTION('',(6.123233995736766E-17,1.0)); -#7506=CARTESIAN_POINT('',(5588000.0,1.1684E7)); -#7507=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7501); -#7508=PHYSICAL_COMPONENT_TERMINAL('R30-1','interconnect module component terminal', - #49,.U.); -#7509=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R30-2','part generic feature',#15, - .T.); -#7510=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7509, - #7494); -#7511=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7512,'',$,#7509,#25,*); -#7512=AXIS2_PLACEMENT_2D('',#7514,#7513); -#7513=DIRECTION('',(6.123233995736766E-17,1.0)); -#7514=CARTESIAN_POINT('',(5588000.0,1.2954E7)); -#7515=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7509); -#7516=PHYSICAL_COMPONENT_TERMINAL('R30-2','interconnect module component terminal', - #49,.U.); -#7517=FOOTPRINT_OCCURRENCE('C2-FO',$,#146,#28,'C2-FO','definition usage',$,#147, - *,'',$,*); -#7518=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C2-FO','',$,#34,#147,'C2-FO', - '',$,#7517,*); -#7519=PRODUCT_DEFINITION_SHAPE('',$,#7518); -#7520=COMPONENT_2D_LOCATION(*,#7519,'component 2d location',$,#148,#36,#949); -#7521=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C2-FO 1 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('C2-FO 1 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7522=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C2-FO 1 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('C2-FO 1 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7523=COMPONENT_TERMINATION_PASSAGE('C2-FO 1 drill','unknown role plated passage', - #2843,#28,'C2-FO 1 drill','definition usage',$,#2844,*,'',$,*); -#7524=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7523,.U.); -#7525=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7523,.U.); -#7526=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C2-FO 2 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C2-FO 2 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7527=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C2-FO 2 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C2-FO 2 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7528=COMPONENT_TERMINATION_PASSAGE('C2-FO 2 drill','unknown role plated passage', - #2685,#28,'C2-FO 2 drill','definition usage',$,#2686,*,'',$,*); -#7529=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7528,.U.); -#7530=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7528,.U.); -#7531=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C2-2','part generic feature',#15,.T.); -#7532=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7531, - #7529); -#7533=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#7534,'',$,#7531,#25,*); -#7534=AXIS2_PLACEMENT_2D('',#7536,#7535); -#7535=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7536=CARTESIAN_POINT('',(1.1684E7,1.524E7)); -#7537=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7531); -#7538=PHYSICAL_COMPONENT_TERMINAL('C2-2','interconnect module component terminal', - #49,.U.); -#7539=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C2-1','part generic feature',#15,.T.); -#7540=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7539, - #7524); -#7541=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#7542,'',$,#7539,#25,*); -#7542=AXIS2_PLACEMENT_2D('',#7544,#7543); -#7543=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7544=CARTESIAN_POINT('',(1.1684E7,1.6764E7)); -#7545=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7539); -#7546=PHYSICAL_COMPONENT_TERMINAL('C2-1','interconnect module component terminal', - #49,.U.); -#7547=FOOTPRINT_OCCURRENCE('R10-FO',$,#504,#28,'R10-FO','definition usage',$,#505, - *,'',$,*); -#7548=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R10-FO','',$,#34,#505,'R10-FO', - '',$,#7547,*); -#7549=PRODUCT_DEFINITION_SHAPE('',$,#7548); -#7550=COMPONENT_2D_LOCATION(*,#7549,'component 2d location',$,#506,#36,#1466); -#7551=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R10-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R10-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7552=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R10-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R10-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7553=COMPONENT_TERMINATION_PASSAGE('R10-FO 2 drill','unknown role plated passage', - #2527,#28,'R10-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7554=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7553,.U.); -#7555=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7553,.U.); -#7556=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R10-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R10-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7557=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R10-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R10-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7558=COMPONENT_TERMINATION_PASSAGE('R10-FO 1 drill','unknown role plated passage', - #2527,#28,'R10-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7559=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7558,.U.); -#7560=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7558,.U.); -#7561=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R10-1','part generic feature',#15, - .T.); -#7562=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7561, - #7559); -#7563=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7564,'',$,#7561,#25,*); -#7564=AXIS2_PLACEMENT_2D('',#7566,#7565); -#7565=DIRECTION('',(6.123233995736766E-17,1.0)); -#7566=CARTESIAN_POINT('',(6858000.0,8890000.0)); -#7567=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7561); -#7568=PHYSICAL_COMPONENT_TERMINAL('R10-1','interconnect module component terminal', - #49,.U.); -#7569=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R10-2','part generic feature',#15, - .T.); -#7570=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7569, - #7554); -#7571=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7572,'',$,#7569,#25,*); -#7572=AXIS2_PLACEMENT_2D('',#7574,#7573); -#7573=DIRECTION('',(6.123233995736766E-17,1.0)); -#7574=CARTESIAN_POINT('',(6858000.0,1.016E7)); -#7575=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7569); -#7576=PHYSICAL_COMPONENT_TERMINAL('R10-2','interconnect module component terminal', - #49,.U.); -#7577=FOOTPRINT_OCCURRENCE('R5-FO',$,#504,#28,'R5-FO','definition usage',$,#505, - *,'',$,*); -#7578=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R5-FO','',$,#34,#505,'R5-FO', - '',$,#7577,*); -#7579=PRODUCT_DEFINITION_SHAPE('',$,#7578); -#7580=COMPONENT_2D_LOCATION(*,#7579,'component 2d location',$,#506,#36,#1411); -#7581=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R5-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R5-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7582=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R5-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R5-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7583=COMPONENT_TERMINATION_PASSAGE('R5-FO 2 drill','unknown role plated passage', - #2527,#28,'R5-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7584=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7583,.U.); -#7585=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7583,.U.); -#7586=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R5-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R5-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7587=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R5-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R5-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7588=COMPONENT_TERMINATION_PASSAGE('R5-FO 1 drill','unknown role plated passage', - #2527,#28,'R5-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7589=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7588,.U.); -#7590=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7588,.U.); -#7591=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R5-1','part generic feature',#15,.T.); -#7592=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7591, - #7589); -#7593=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7594,'',$,#7591,#25,*); -#7594=AXIS2_PLACEMENT_2D('',#7596,#7595); -#7595=DIRECTION('',(6.123233995736766E-17,1.0)); -#7596=CARTESIAN_POINT('',(1.016E7,1.3462E7)); -#7597=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7591); -#7598=PHYSICAL_COMPONENT_TERMINAL('R5-1','interconnect module component terminal', - #49,.U.); -#7599=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R5-2','part generic feature',#15,.T.); -#7600=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7599, - #7584); -#7601=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7602,'',$,#7599,#25,*); -#7602=AXIS2_PLACEMENT_2D('',#7604,#7603); -#7603=DIRECTION('',(6.123233995736766E-17,1.0)); -#7604=CARTESIAN_POINT('',(1.016E7,1.4732E7)); -#7605=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7599); -#7606=PHYSICAL_COMPONENT_TERMINAL('R5-2','interconnect module component terminal', - #49,.U.); -#7607=FOOTPRINT_OCCURRENCE('VR5-FO',$,#624,#28,'VR5-FO','definition usage',$,#625, - *,'',$,*); -#7608=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR5-FO','',$,#34,#625,'VR5-FO', - '',$,#7607,*); -#7609=PRODUCT_DEFINITION_SHAPE('',$,#7608); -#7610=COMPONENT_2D_LOCATION(*,#7609,'component 2d location',$,#626,#36,#1721); -#7611=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR5-FO 2 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR5-FO 2 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7612=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR5-FO 2 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR5-FO 2 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7613=COMPONENT_TERMINATION_PASSAGE('VR5-FO 2 drill','unknown role plated passage', - #3309,#28,'VR5-FO 2 drill','definition usage',$,#3310,*,'',$,*); -#7614=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7613,.U.); -#7615=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7613,.U.); -#7616=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR5-FO 1 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR5-FO 1 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7617=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR5-FO 1 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR5-FO 1 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7618=COMPONENT_TERMINATION_PASSAGE('VR5-FO 1 drill','unknown role plated passage', - #2685,#28,'VR5-FO 1 drill','definition usage',$,#2686,*,'',$,*); -#7619=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7618,.U.); -#7620=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7618,.U.); -#7621=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR5-2','part generic feature',#15, - .T.); -#7622=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7621, - #7614); -#7623=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#7624,'',$,#7621,#25,*); -#7624=AXIS2_PLACEMENT_2D('',#7626,#7625); -#7625=DIRECTION('',(6.123233995736766E-17,1.0)); -#7626=CARTESIAN_POINT('',(1.1684E7,1.2954E7)); -#7627=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7621); -#7628=PHYSICAL_COMPONENT_TERMINAL('VR5-2','interconnect module component terminal', - #49,.U.); -#7629=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR5-1','part generic feature',#15, - .T.); -#7630=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7629, - #7619); -#7631=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#7632,'',$,#7629,#25,*); -#7632=AXIS2_PLACEMENT_2D('',#7634,#7633); -#7633=DIRECTION('',(6.123233995736766E-17,1.0)); -#7634=CARTESIAN_POINT('',(1.1684E7,1.1684E7)); -#7635=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7629); -#7636=PHYSICAL_COMPONENT_TERMINAL('VR5-1','interconnect module component terminal', - #49,.U.); -#7637=FOOTPRINT_OCCURRENCE('R22-FO',$,#504,#28,'R22-FO','definition usage',$,#505, - *,'',$,*); -#7638=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R22-FO','',$,#34,#505,'R22-FO', - '',$,#7637,*); -#7639=PRODUCT_DEFINITION_SHAPE('',$,#7638); -#7640=COMPONENT_2D_LOCATION(*,#7639,'component 2d location',$,#506,#36,#1574); -#7641=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R22-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R22-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7642=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R22-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R22-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7643=COMPONENT_TERMINATION_PASSAGE('R22-FO 2 drill','unknown role plated passage', - #2527,#28,'R22-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7644=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7643,.U.); -#7645=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7643,.U.); -#7646=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R22-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R22-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7647=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R22-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R22-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7648=COMPONENT_TERMINATION_PASSAGE('R22-FO 1 drill','unknown role plated passage', - #2527,#28,'R22-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7649=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7648,.U.); -#7650=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7648,.U.); -#7651=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R22-2','part generic feature',#15, - .T.); -#7652=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7651, - #7644); -#7653=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7654,'',$,#7651,#25,*); -#7654=AXIS2_PLACEMENT_2D('',#7656,#7655); -#7655=DIRECTION('',(6.123233995736766E-17,1.0)); -#7656=CARTESIAN_POINT('',(1.524E7,1.4732E7)); -#7657=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7651); -#7658=PHYSICAL_COMPONENT_TERMINAL('R22-2','interconnect module component terminal', - #49,.U.); -#7659=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R22-1','part generic feature',#15, - .T.); -#7660=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7659, - #7649); -#7661=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7662,'',$,#7659,#25,*); -#7662=AXIS2_PLACEMENT_2D('',#7664,#7663); -#7663=DIRECTION('',(6.123233995736766E-17,1.0)); -#7664=CARTESIAN_POINT('',(1.524E7,1.3462E7)); -#7665=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7659); -#7666=PHYSICAL_COMPONENT_TERMINAL('R22-1','interconnect module component terminal', - #49,.U.); -#7667=FOOTPRINT_OCCURRENCE('R16-FO',$,#504,#28,'R16-FO','definition usage',$,#505, - *,'',$,*); -#7668=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R16-FO','',$,#34,#505,'R16-FO', - '',$,#7667,*); -#7669=PRODUCT_DEFINITION_SHAPE('',$,#7668); -#7670=COMPONENT_2D_LOCATION(*,#7669,'component 2d location',$,#506,#36,#1520); -#7671=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R16-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R16-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7672=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R16-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R16-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7673=COMPONENT_TERMINATION_PASSAGE('R16-FO 2 drill','unknown role plated passage', - #2527,#28,'R16-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7674=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7673,.U.); -#7675=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7673,.U.); -#7676=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R16-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R16-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7677=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R16-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R16-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7678=COMPONENT_TERMINATION_PASSAGE('R16-FO 1 drill','unknown role plated passage', - #2527,#28,'R16-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7679=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7678,.U.); -#7680=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7678,.U.); -#7681=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R16-2','part generic feature',#15, - .T.); -#7682=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7681, - #7674); -#7683=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7684,'',$,#7681,#25,*); -#7684=AXIS2_PLACEMENT_2D('',#7686,#7685); -#7685=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7686=CARTESIAN_POINT('',(5842000.0,1.778E7)); -#7687=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7681); -#7688=PHYSICAL_COMPONENT_TERMINAL('R16-2','interconnect module component terminal', - #49,.U.); -#7689=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R16-1','part generic feature',#15, - .T.); -#7690=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7689, - #7679); -#7691=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7692,'',$,#7689,#25,*); -#7692=AXIS2_PLACEMENT_2D('',#7694,#7693); -#7693=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7694=CARTESIAN_POINT('',(7112000.0,1.778E7)); -#7695=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7689); -#7696=PHYSICAL_COMPONENT_TERMINAL('R16-1','interconnect module component terminal', - #49,.U.); -#7697=FOOTPRINT_OCCURRENCE('C21-FO',$,#242,#28,'C21-FO','definition usage',$,#243, - *,'',$,*); -#7698=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C21-FO','',$,#34,#243,'C21-FO', - '',$,#7697,*); -#7699=PRODUCT_DEFINITION_SHAPE('',$,#7698); -#7700=COMPONENT_2D_LOCATION(*,#7699,'component 2d location',$,#244,#36,#1160); -#7701=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C21-FO 2 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C21-FO 2 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7702=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C21-FO 2 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C21-FO 2 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7703=COMPONENT_TERMINATION_PASSAGE('C21-FO 2 drill','unknown role plated passage', - #2685,#28,'C21-FO 2 drill','definition usage',$,#2686,*,'',$,*); -#7704=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7703,.U.); -#7705=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7703,.U.); -#7706=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C21-FO 1 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C21-FO 1 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7707=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C21-FO 1 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C21-FO 1 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7708=COMPONENT_TERMINATION_PASSAGE('C21-FO 1 drill','unknown role plated passage', - #2685,#28,'C21-FO 1 drill','definition usage',$,#2686,*,'',$,*); -#7709=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7708,.U.); -#7710=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7708,.U.); -#7711=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C21-2','part generic feature',#15, - .T.); -#7712=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7711, - #7704); -#7713=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#7714,'',$,#7711,#25,*); -#7714=AXIS2_PLACEMENT_2D('',#7716,#7715); -#7715=DIRECTION('',(1.0,0.0)); -#7716=CARTESIAN_POINT('',(8382000.0,1.143E7)); -#7717=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7711); -#7718=PHYSICAL_COMPONENT_TERMINAL('C21-2','interconnect module component terminal', - #49,.U.); -#7719=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C21-1','part generic feature',#15, - .T.); -#7720=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7719, - #7709); -#7721=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#7722,'',$,#7719,#25,*); -#7722=AXIS2_PLACEMENT_2D('',#7724,#7723); -#7723=DIRECTION('',(1.0,0.0)); -#7724=CARTESIAN_POINT('',(7112000.0,1.143E7)); -#7725=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7719); -#7726=PHYSICAL_COMPONENT_TERMINAL('C21-1','interconnect module component terminal', - #49,.U.); -#7727=FOOTPRINT_OCCURRENCE('R2-FO',$,#504,#28,'R2-FO','definition usage',$,#505, - *,'',$,*); -#7728=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R2-FO','',$,#34,#505,'R2-FO', - '',$,#7727,*); -#7729=PRODUCT_DEFINITION_SHAPE('',$,#7728); -#7730=COMPONENT_2D_LOCATION(*,#7729,'component 2d location',$,#506,#36,#1384); -#7731=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R2-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R2-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7732=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R2-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R2-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7733=COMPONENT_TERMINATION_PASSAGE('R2-FO 2 drill','unknown role plated passage', - #2527,#28,'R2-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7734=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7733,.U.); -#7735=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7733,.U.); -#7736=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R2-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R2-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7737=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R2-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R2-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7738=COMPONENT_TERMINATION_PASSAGE('R2-FO 1 drill','unknown role plated passage', - #2527,#28,'R2-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7739=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7738,.U.); -#7740=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7738,.U.); -#7741=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R2-1','part generic feature',#15,.T.); -#7742=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7741, - #7739); -#7743=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7744,'',$,#7741,#25,*); -#7744=AXIS2_PLACEMENT_2D('',#7746,#7745); -#7745=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7746=CARTESIAN_POINT('',(9652000.0,1.7018E7)); -#7747=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7741); -#7748=PHYSICAL_COMPONENT_TERMINAL('R2-1','interconnect module component terminal', - #49,.U.); -#7749=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R2-2','part generic feature',#15,.T.); -#7750=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7749, - #7734); -#7751=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7752,'',$,#7749,#25,*); -#7752=AXIS2_PLACEMENT_2D('',#7754,#7753); -#7753=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7754=CARTESIAN_POINT('',(9652000.0,1.5748E7)); -#7755=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7749); -#7756=PHYSICAL_COMPONENT_TERMINAL('R2-2','interconnect module component terminal', - #49,.U.); -#7757=FOOTPRINT_OCCURRENCE('C20-FO',$,#170,#28,'C20-FO','definition usage',$,#171, - *,'',$,*); -#7758=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C20-FO','',$,#34,#171,'C20-FO', - '',$,#7757,*); -#7759=PRODUCT_DEFINITION_SHAPE('',$,#7758); -#7760=COMPONENT_2D_LOCATION(*,#7759,'component 2d location',$,#172,#36,#1151); -#7761=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C20-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C20-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7762=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C20-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C20-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7763=COMPONENT_TERMINATION_PASSAGE('C20-FO 2 drill','unknown role plated passage', - #2527,#28,'C20-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7764=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7763,.U.); -#7765=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7763,.U.); -#7766=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C20-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C20-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7767=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C20-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C20-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7768=COMPONENT_TERMINATION_PASSAGE('C20-FO 1 drill','unknown role plated passage', - #2527,#28,'C20-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7769=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7768,.U.); -#7770=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7768,.U.); -#7771=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C20-2','part generic feature',#15, - .T.); -#7772=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7771, - #7764); -#7773=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7774,'',$,#7771,#25,*); -#7774=AXIS2_PLACEMENT_2D('',#7776,#7775); -#7775=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7776=CARTESIAN_POINT('',(762000.0000000009,1.016E7)); -#7777=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7771); -#7778=PHYSICAL_COMPONENT_TERMINAL('C20-2','interconnect module component terminal', - #49,.U.); -#7779=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C20-1','part generic feature',#15, - .T.); -#7780=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7779, - #7769); -#7781=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7782,'',$,#7779,#25,*); -#7782=AXIS2_PLACEMENT_2D('',#7784,#7783); -#7783=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7784=CARTESIAN_POINT('',(6350000.0,1.016E7)); -#7785=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7779); -#7786=PHYSICAL_COMPONENT_TERMINAL('C20-1','interconnect module component terminal', - #49,.U.); -#7787=FOOTPRINT_OCCURRENCE('R20-FO',$,#504,#28,'R20-FO','definition usage',$,#505, - *,'',$,*); -#7788=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R20-FO','',$,#34,#505,'R20-FO', - '',$,#7787,*); -#7789=PRODUCT_DEFINITION_SHAPE('',$,#7788); -#7790=COMPONENT_2D_LOCATION(*,#7789,'component 2d location',$,#506,#36,#1556); -#7791=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R20-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R20-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7792=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R20-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R20-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7793=COMPONENT_TERMINATION_PASSAGE('R20-FO 2 drill','unknown role plated passage', - #2527,#28,'R20-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7794=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7793,.U.); -#7795=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7793,.U.); -#7796=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R20-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R20-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7797=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R20-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R20-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7798=COMPONENT_TERMINATION_PASSAGE('R20-FO 1 drill','unknown role plated passage', - #2527,#28,'R20-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7799=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7798,.U.); -#7800=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7798,.U.); -#7801=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R20-1','part generic feature',#15, - .T.); -#7802=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7801, - #7799); -#7803=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7804,'',$,#7801,#25,*); -#7804=AXIS2_PLACEMENT_2D('',#7806,#7805); -#7805=DIRECTION('',(1.0,0.0)); -#7806=CARTESIAN_POINT('',(6096000.0,1.4478E7)); -#7807=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7801); -#7808=PHYSICAL_COMPONENT_TERMINAL('R20-1','interconnect module component terminal', - #49,.U.); -#7809=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R20-2','part generic feature',#15, - .T.); -#7810=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7809, - #7794); -#7811=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7812,'',$,#7809,#25,*); -#7812=AXIS2_PLACEMENT_2D('',#7814,#7813); -#7813=DIRECTION('',(1.0,0.0)); -#7814=CARTESIAN_POINT('',(7366000.0,1.4478E7)); -#7815=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7809); -#7816=PHYSICAL_COMPONENT_TERMINAL('R20-2','interconnect module component terminal', - #49,.U.); -#7817=FOOTPRINT_OCCURRENCE('T2-FO',$,#552,#28,'T2-FO','definition usage',$,#553, - *,'',$,*); -#7818=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('T2-FO','',$,#34,#553,'T2-FO', - '',$,#7817,*); -#7819=PRODUCT_DEFINITION_SHAPE('',$,#7818); -#7820=COMPONENT_2D_LOCATION(*,#7819,'component 2d location',$,#554,#36,#1647); -#7821=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 6 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 6 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7822=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 6 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 6 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7823=COMPONENT_TERMINATION_PASSAGE('T2-FO 6 drill','unknown role plated passage', - #2527,#28,'T2-FO 6 drill','definition usage',$,#2528,*,'',$,*); -#7824=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7823,.U.); -#7825=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7823,.U.); -#7826=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 5 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 5 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7827=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 5 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 5 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7828=COMPONENT_TERMINATION_PASSAGE('T2-FO 5 drill','unknown role plated passage', - #2527,#28,'T2-FO 5 drill','definition usage',$,#2528,*,'',$,*); -#7829=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7828,.U.); -#7830=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7828,.U.); -#7831=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 4 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 4 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7832=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 4 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 4 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7833=COMPONENT_TERMINATION_PASSAGE('T2-FO 4 drill','unknown role plated passage', - #2527,#28,'T2-FO 4 drill','definition usage',$,#2528,*,'',$,*); -#7834=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7833,.U.); -#7835=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7833,.U.); -#7836=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 3 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 3 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7837=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 3 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 3 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7838=COMPONENT_TERMINATION_PASSAGE('T2-FO 3 drill','unknown role plated passage', - #2527,#28,'T2-FO 3 drill','definition usage',$,#2528,*,'',$,*); -#7839=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7838,.U.); -#7840=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7838,.U.); -#7841=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7842=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7843=COMPONENT_TERMINATION_PASSAGE('T2-FO 2 drill','unknown role plated passage', - #2527,#28,'T2-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7844=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7843,.U.); -#7845=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7843,.U.); -#7846=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 1 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 1 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7847=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('T2-FO 1 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('T2-FO 1 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7848=COMPONENT_TERMINATION_PASSAGE('T2-FO 1 drill','unknown role plated passage', - #2843,#28,'T2-FO 1 drill','definition usage',$,#2844,*,'',$,*); -#7849=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7848,.U.); -#7850=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7848,.U.); -#7851=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T2-4','part generic feature',#15,.T.); -#7852=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7851, - #7834); -#7853=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7854,'',$,#7851,#25,*); -#7854=AXIS2_PLACEMENT_2D('',#7856,#7855); -#7855=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7856=CARTESIAN_POINT('',(3048000.0,1.524E7)); -#7857=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7851); -#7858=PHYSICAL_COMPONENT_TERMINAL('T2-4','interconnect module component terminal', - #49,.U.); -#7859=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T2-6','part generic feature',#15,.T.); -#7860=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7859, - #7824); -#7861=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7862,'',$,#7859,#25,*); -#7862=AXIS2_PLACEMENT_2D('',#7864,#7863); -#7863=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7864=CARTESIAN_POINT('',(4064000.0,1.524E7)); -#7865=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7859); -#7866=PHYSICAL_COMPONENT_TERMINAL('T2-6','interconnect module component terminal', - #49,.U.); -#7867=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T2-3','part generic feature',#15,.T.); -#7868=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7867, - #7839); -#7869=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7870,'',$,#7867,#25,*); -#7870=AXIS2_PLACEMENT_2D('',#7872,#7871); -#7871=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7872=CARTESIAN_POINT('',(3048000.0,1.6256E7)); -#7873=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7867); -#7874=PHYSICAL_COMPONENT_TERMINAL('T2-3','interconnect module component terminal', - #49,.U.); -#7875=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T2-1','part generic feature',#15,.T.); -#7876=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7875, - #7849); -#7877=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#7878,'',$,#7875,#25,*); -#7878=AXIS2_PLACEMENT_2D('',#7880,#7879); -#7879=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7880=CARTESIAN_POINT('',(4064000.0,1.6256E7)); -#7881=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7875); -#7882=PHYSICAL_COMPONENT_TERMINAL('T2-1','interconnect module component terminal', - #49,.U.); -#7883=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T2-2','part generic feature',#15,.T.); -#7884=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7883, - #7844); -#7885=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7886,'',$,#7883,#25,*); -#7886=AXIS2_PLACEMENT_2D('',#7888,#7887); -#7887=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7888=CARTESIAN_POINT('',(3556000.0,1.6256E7)); -#7889=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7883); -#7890=PHYSICAL_COMPONENT_TERMINAL('T2-2','interconnect module component terminal', - #49,.U.); -#7891=INTERCONNECT_MODULE_INTERFACE_TERMINAL('T2-5','part generic feature',#15,.T.); -#7892=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7891, - #7829); -#7893=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7894,'',$,#7891,#25,*); -#7894=AXIS2_PLACEMENT_2D('',#7896,#7895); -#7895=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7896=CARTESIAN_POINT('',(3556000.0,1.524E7)); -#7897=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7891); -#7898=PHYSICAL_COMPONENT_TERMINAL('T2-5','interconnect module component terminal', - #49,.U.); -#7899=FOOTPRINT_OCCURRENCE('R12-FO',$,#504,#28,'R12-FO','definition usage',$,#505, - *,'',$,*); -#7900=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R12-FO','',$,#34,#505,'R12-FO', - '',$,#7899,*); -#7901=PRODUCT_DEFINITION_SHAPE('',$,#7900); -#7902=COMPONENT_2D_LOCATION(*,#7901,'component 2d location',$,#506,#36,#1484); -#7903=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R12-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R12-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7904=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R12-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R12-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7905=COMPONENT_TERMINATION_PASSAGE('R12-FO 2 drill','unknown role plated passage', - #2527,#28,'R12-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7906=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7905,.U.); -#7907=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7905,.U.); -#7908=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R12-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R12-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7909=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R12-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R12-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7910=COMPONENT_TERMINATION_PASSAGE('R12-FO 1 drill','unknown role plated passage', - #2527,#28,'R12-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7911=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7910,.U.); -#7912=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7910,.U.); -#7913=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R12-2','part generic feature',#15, - .T.); -#7914=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7913, - #7906); -#7915=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7916,'',$,#7913,#25,*); -#7916=AXIS2_PLACEMENT_2D('',#7918,#7917); -#7917=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7918=CARTESIAN_POINT('',(7112000.0,1.2446E7)); -#7919=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7913); -#7920=PHYSICAL_COMPONENT_TERMINAL('R12-2','interconnect module component terminal', - #49,.U.); -#7921=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R12-1','part generic feature',#15, - .T.); -#7922=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7921, - #7911); -#7923=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7924,'',$,#7921,#25,*); -#7924=AXIS2_PLACEMENT_2D('',#7926,#7925); -#7925=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7926=CARTESIAN_POINT('',(7112000.0,1.3716E7)); -#7927=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7921); -#7928=PHYSICAL_COMPONENT_TERMINAL('R12-1','interconnect module component terminal', - #49,.U.); -#7929=FOOTPRINT_OCCURRENCE('C6-FO',$,#170,#28,'C6-FO','definition usage',$,#171, - *,'',$,*); -#7930=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C6-FO','',$,#34,#171,'C6-FO', - '',$,#7929,*); -#7931=PRODUCT_DEFINITION_SHAPE('',$,#7930); -#7932=COMPONENT_2D_LOCATION(*,#7931,'component 2d location',$,#172,#36,#1015); -#7933=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C6-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C6-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7934=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C6-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C6-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7935=COMPONENT_TERMINATION_PASSAGE('C6-FO 2 drill','unknown role plated passage', - #2527,#28,'C6-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#7936=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7935,.U.); -#7937=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7935,.U.); -#7938=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C6-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C6-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7939=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C6-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C6-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7940=COMPONENT_TERMINATION_PASSAGE('C6-FO 1 drill','unknown role plated passage', - #2527,#28,'C6-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#7941=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7940,.U.); -#7942=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7940,.U.); -#7943=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C6-2','part generic feature',#15,.T.); -#7944=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7943, - #7936); -#7945=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7946,'',$,#7943,#25,*); -#7946=AXIS2_PLACEMENT_2D('',#7948,#7947); -#7947=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7948=CARTESIAN_POINT('',(762000.0000000009,2032000.0000000007)); -#7949=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7943); -#7950=PHYSICAL_COMPONENT_TERMINAL('C6-2','interconnect module component terminal', - #49,.U.); -#7951=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C6-1','part generic feature',#15,.T.); -#7952=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7951, - #7941); -#7953=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#7954,'',$,#7951,#25,*); -#7954=AXIS2_PLACEMENT_2D('',#7956,#7955); -#7955=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7956=CARTESIAN_POINT('',(6350000.0,2032000.0)); -#7957=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7951); -#7958=PHYSICAL_COMPONENT_TERMINAL('C6-1','interconnect module component terminal', - #49,.U.); -#7959=FOOTPRINT_OCCURRENCE('U1-FO',$,#576,#28,'U1-FO','definition usage',$,#577, - *,'',$,*); -#7960=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('U1-FO','',$,#34,#577,'U1-FO', - '',$,#7959,*); -#7961=PRODUCT_DEFINITION_SHAPE('',$,#7960); -#7962=COMPONENT_2D_LOCATION(*,#7961,'component 2d location',$,#578,#36,#1656); -#7963=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 14 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 14 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7964=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 14 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 14 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7965=COMPONENT_TERMINATION_PASSAGE('U1-FO 14 drill','unknown role plated passage', - #2685,#28,'U1-FO 14 drill','definition usage',$,#2686,*,'',$,*); -#7966=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7965,.U.); -#7967=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7965,.U.); -#7968=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 13 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 13 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7969=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 13 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 13 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7970=COMPONENT_TERMINATION_PASSAGE('U1-FO 13 drill','unknown role plated passage', - #2685,#28,'U1-FO 13 drill','definition usage',$,#2686,*,'',$,*); -#7971=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7970,.U.); -#7972=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7970,.U.); -#7973=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 12 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 12 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7974=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 12 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 12 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7975=COMPONENT_TERMINATION_PASSAGE('U1-FO 12 drill','unknown role plated passage', - #2685,#28,'U1-FO 12 drill','definition usage',$,#2686,*,'',$,*); -#7976=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7975,.U.); -#7977=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7975,.U.); -#7978=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 11 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 11 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7979=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 11 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 11 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7980=COMPONENT_TERMINATION_PASSAGE('U1-FO 11 drill','unknown role plated passage', - #2685,#28,'U1-FO 11 drill','definition usage',$,#2686,*,'',$,*); -#7981=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7980,.U.); -#7982=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7980,.U.); -#7983=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 10 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 10 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7984=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 10 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 10 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7985=COMPONENT_TERMINATION_PASSAGE('U1-FO 10 drill','unknown role plated passage', - #2685,#28,'U1-FO 10 drill','definition usage',$,#2686,*,'',$,*); -#7986=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7985,.U.); -#7987=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7985,.U.); -#7988=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 9 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 9 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7989=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 9 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 9 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7990=COMPONENT_TERMINATION_PASSAGE('U1-FO 9 drill','unknown role plated passage', - #2685,#28,'U1-FO 9 drill','definition usage',$,#2686,*,'',$,*); -#7991=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7990,.U.); -#7992=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7990,.U.); -#7993=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 8 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 8 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7994=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 8 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 8 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7995=COMPONENT_TERMINATION_PASSAGE('U1-FO 8 drill','unknown role plated passage', - #2685,#28,'U1-FO 8 drill','definition usage',$,#2686,*,'',$,*); -#7996=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7995,.U.); -#7997=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7995,.U.); -#7998=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 7 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 7 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7999=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 7 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 7 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8000=COMPONENT_TERMINATION_PASSAGE('U1-FO 7 drill','unknown role plated passage', - #2685,#28,'U1-FO 7 drill','definition usage',$,#2686,*,'',$,*); -#8001=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8000,.U.); -#8002=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8000,.U.); -#8003=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 6 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 6 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8004=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 6 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 6 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8005=COMPONENT_TERMINATION_PASSAGE('U1-FO 6 drill','unknown role plated passage', - #2685,#28,'U1-FO 6 drill','definition usage',$,#2686,*,'',$,*); -#8006=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8005,.U.); -#8007=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8005,.U.); -#8008=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 5 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 5 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8009=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 5 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 5 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8010=COMPONENT_TERMINATION_PASSAGE('U1-FO 5 drill','unknown role plated passage', - #2685,#28,'U1-FO 5 drill','definition usage',$,#2686,*,'',$,*); -#8011=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8010,.U.); -#8012=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8010,.U.); -#8013=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 4 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 4 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8014=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 4 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 4 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8015=COMPONENT_TERMINATION_PASSAGE('U1-FO 4 drill','unknown role plated passage', - #2685,#28,'U1-FO 4 drill','definition usage',$,#2686,*,'',$,*); -#8016=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8015,.U.); -#8017=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8015,.U.); -#8018=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 3 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 3 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8019=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 3 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 3 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8020=COMPONENT_TERMINATION_PASSAGE('U1-FO 3 drill','unknown role plated passage', - #2685,#28,'U1-FO 3 drill','definition usage',$,#2686,*,'',$,*); -#8021=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8020,.U.); -#8022=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8020,.U.); -#8023=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 2 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 2 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8024=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 2 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 2 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8025=COMPONENT_TERMINATION_PASSAGE('U1-FO 2 drill','unknown role plated passage', - #2685,#28,'U1-FO 2 drill','definition usage',$,#2686,*,'',$,*); -#8026=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8025,.U.); -#8027=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8025,.U.); -#8028=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 1 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 1 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8029=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 1 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 1 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8030=COMPONENT_TERMINATION_PASSAGE('U1-FO 1 drill','unknown role plated passage', - #3309,#28,'U1-FO 1 drill','definition usage',$,#3310,*,'',$,*); -#8031=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8030,.U.); -#8032=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8030,.U.); -#8033=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-12','part generic feature',#15, - .T.); -#8034=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8033, - #7976); -#8035=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8036,'',$,#8033,#25,*); -#8036=AXIS2_PLACEMENT_2D('',#8038,#8037); -#8037=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8038=CARTESIAN_POINT('',(8890000.0,1.3208E7)); -#8039=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8033); -#8040=PHYSICAL_COMPONENT_TERMINAL('U1-12','interconnect module component terminal', - #49,.U.); -#8041=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-10','part generic feature',#15, - .T.); -#8042=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8041, - #7986); -#8043=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8044,'',$,#8041,#25,*); -#8044=AXIS2_PLACEMENT_2D('',#8046,#8045); -#8045=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8046=CARTESIAN_POINT('',(8382000.0,1.3208E7)); -#8047=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8041); -#8048=PHYSICAL_COMPONENT_TERMINAL('U1-10','interconnect module component terminal', - #49,.U.); -#8049=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-7','part generic feature',#15,.T.); -#8050=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8049, - #8001); -#8051=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8052,'',$,#8049,#25,*); -#8052=AXIS2_PLACEMENT_2D('',#8054,#8053); -#8053=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8054=CARTESIAN_POINT('',(7874000.0,1.397E7)); -#8055=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8049); -#8056=PHYSICAL_COMPONENT_TERMINAL('U1-7','interconnect module component terminal', - #49,.U.); -#8057=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-1','part generic feature',#15,.T.); -#8058=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8057, - #8031); -#8059=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#8060,'',$,#8057,#25,*); -#8060=AXIS2_PLACEMENT_2D('',#8062,#8061); -#8061=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8062=CARTESIAN_POINT('',(9398000.0,1.397E7)); -#8063=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8057); -#8064=PHYSICAL_COMPONENT_TERMINAL('U1-1','interconnect module component terminal', - #49,.U.); -#8065=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-6','part generic feature',#15,.T.); -#8066=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8065, - #8006); -#8067=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8068,'',$,#8065,#25,*); -#8068=AXIS2_PLACEMENT_2D('',#8070,#8069); -#8069=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8070=CARTESIAN_POINT('',(8128000.0,1.397E7)); -#8071=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8065); -#8072=PHYSICAL_COMPONENT_TERMINAL('U1-6','interconnect module component terminal', - #49,.U.); -#8073=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-2','part generic feature',#15,.T.); -#8074=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8073, - #8026); -#8075=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8076,'',$,#8073,#25,*); -#8076=AXIS2_PLACEMENT_2D('',#8078,#8077); -#8077=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8078=CARTESIAN_POINT('',(9144000.0,1.397E7)); -#8079=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8073); -#8080=PHYSICAL_COMPONENT_TERMINAL('U1-2','interconnect module component terminal', - #49,.U.); -#8081=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-4','part generic feature',#15,.T.); -#8082=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8081, - #8016); -#8083=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8084,'',$,#8081,#25,*); -#8084=AXIS2_PLACEMENT_2D('',#8086,#8085); -#8085=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8086=CARTESIAN_POINT('',(8636000.0,1.397E7)); -#8087=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8081); -#8088=PHYSICAL_COMPONENT_TERMINAL('U1-4','interconnect module component terminal', - #49,.U.); -#8089=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-9','part generic feature',#15,.T.); -#8090=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8089, - #7991); -#8091=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8092,'',$,#8089,#25,*); -#8092=AXIS2_PLACEMENT_2D('',#8094,#8093); -#8093=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8094=CARTESIAN_POINT('',(8128000.0,1.3208E7)); -#8095=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8089); -#8096=PHYSICAL_COMPONENT_TERMINAL('U1-9','interconnect module component terminal', - #49,.U.); -#8097=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-13','part generic feature',#15, - .T.); -#8098=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8097, - #7971); -#8099=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8100,'',$,#8097,#25,*); -#8100=AXIS2_PLACEMENT_2D('',#8102,#8101); -#8101=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8102=CARTESIAN_POINT('',(9144000.0,1.3208E7)); -#8103=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8097); -#8104=PHYSICAL_COMPONENT_TERMINAL('U1-13','interconnect module component terminal', - #49,.U.); -#8105=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-3','part generic feature',#15,.T.); -#8106=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8105, - #8021); -#8107=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8108,'',$,#8105,#25,*); -#8108=AXIS2_PLACEMENT_2D('',#8110,#8109); -#8109=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8110=CARTESIAN_POINT('',(8890000.0,1.397E7)); -#8111=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8105); -#8112=PHYSICAL_COMPONENT_TERMINAL('U1-3','interconnect module component terminal', - #49,.U.); -#8113=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-5','part generic feature',#15,.T.); -#8114=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8113, - #8011); -#8115=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8116,'',$,#8113,#25,*); -#8116=AXIS2_PLACEMENT_2D('',#8118,#8117); -#8117=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8118=CARTESIAN_POINT('',(8382000.0,1.397E7)); -#8119=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8113); -#8120=PHYSICAL_COMPONENT_TERMINAL('U1-5','interconnect module component terminal', - #49,.U.); -#8121=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-8','part generic feature',#15,.T.); -#8122=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8121, - #7996); -#8123=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8124,'',$,#8121,#25,*); -#8124=AXIS2_PLACEMENT_2D('',#8126,#8125); -#8125=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8126=CARTESIAN_POINT('',(7874000.0,1.3208E7)); -#8127=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8121); -#8128=PHYSICAL_COMPONENT_TERMINAL('U1-8','interconnect module component terminal', - #49,.U.); -#8129=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-11','part generic feature',#15, - .T.); -#8130=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8129, - #7981); -#8131=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8132,'',$,#8129,#25,*); -#8132=AXIS2_PLACEMENT_2D('',#8134,#8133); -#8133=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8134=CARTESIAN_POINT('',(8636000.0,1.3208E7)); -#8135=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8129); -#8136=PHYSICAL_COMPONENT_TERMINAL('U1-11','interconnect module component terminal', - #49,.U.); -#8137=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-14','part generic feature',#15, - .T.); -#8138=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8137, - #7966); -#8139=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8140,'',$,#8137,#25,*); -#8140=AXIS2_PLACEMENT_2D('',#8142,#8141); -#8141=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8142=CARTESIAN_POINT('',(9398000.0,1.3208E7)); -#8143=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8137); -#8144=PHYSICAL_COMPONENT_TERMINAL('U1-14','interconnect module component terminal', - #49,.U.); -#8145=FOOTPRINT_OCCURRENCE('CR7-FO',$,#266,#28,'CR7-FO','definition usage',$,#267, - *,'',$,*); -#8146=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR7-FO','',$,#34,#267,'CR7-FO', - '',$,#8145,*); -#8147=PRODUCT_DEFINITION_SHAPE('',$,#8146); -#8148=COMPONENT_2D_LOCATION(*,#8147,'component 2d location',$,#268,#36,#1252); -#8149=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR7-FO 2 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR7-FO 2 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8150=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR7-FO 2 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR7-FO 2 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8151=COMPONENT_TERMINATION_PASSAGE('CR7-FO 2 drill','unknown role plated passage', - #3309,#28,'CR7-FO 2 drill','definition usage',$,#3310,*,'',$,*); -#8152=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8151,.U.); -#8153=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8151,.U.); -#8154=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR7-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR7-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8155=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR7-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR7-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8156=COMPONENT_TERMINATION_PASSAGE('CR7-FO 1 drill','unknown role plated passage', - #2527,#28,'CR7-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8157=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8156,.U.); -#8158=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8156,.U.); -#8159=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR7-1','part generic feature',#15, - .T.); -#8160=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8159, - #8157); -#8161=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8162,'',$,#8159,#25,*); -#8162=AXIS2_PLACEMENT_2D('',#8164,#8163); -#8163=DIRECTION('',(6.123233995736766E-17,1.0)); -#8164=CARTESIAN_POINT('',(6096000.0,1.1684E7)); -#8165=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8159); -#8166=PHYSICAL_COMPONENT_TERMINAL('CR7-1','interconnect module component terminal', - #49,.U.); -#8167=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR7-2','part generic feature',#15, - .T.); -#8168=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8167, - #8152); -#8169=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#8170,'',$,#8167,#25,*); -#8170=AXIS2_PLACEMENT_2D('',#8172,#8171); -#8171=DIRECTION('',(6.123233995736766E-17,1.0)); -#8172=CARTESIAN_POINT('',(6096000.0,1.2954E7)); -#8173=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8167); -#8174=PHYSICAL_COMPONENT_TERMINAL('CR7-2','interconnect module component terminal', - #49,.U.); -#8175=FOOTPRINT_OCCURRENCE('C13-FO',$,#218,#28,'C13-FO','definition usage',$,#219, - *,'',$,*); -#8176=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C13-FO','',$,#34,#219,'C13-FO', - '',$,#8175,*); -#8177=PRODUCT_DEFINITION_SHAPE('',$,#8176); -#8178=COMPONENT_2D_LOCATION(*,#8177,'component 2d location',$,#220,#36,#1088); -#8179=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C13-FO 2 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('C13-FO 2 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8180=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C13-FO 2 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('C13-FO 2 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8181=COMPONENT_TERMINATION_PASSAGE('C13-FO 2 drill','unknown role plated passage', - #3001,#28,'C13-FO 2 drill','definition usage',$,#3002,*,'',$,*); -#8182=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8181,.U.); -#8183=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8181,.U.); -#8184=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C13-FO 1 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('C13-FO 1 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8185=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C13-FO 1 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('C13-FO 1 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8186=COMPONENT_TERMINATION_PASSAGE('C13-FO 1 drill','unknown role plated passage', - #3309,#28,'C13-FO 1 drill','definition usage',$,#3310,*,'',$,*); -#8187=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8186,.U.); -#8188=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8186,.U.); -#8189=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C13-2','part generic feature',#15, - .T.); -#8190=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8189, - #8182); -#8191=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#8192,'',$,#8189,#25,*); -#8192=AXIS2_PLACEMENT_2D('',#8194,#8193); -#8193=DIRECTION('',(1.0,0.0)); -#8194=CARTESIAN_POINT('',(1.016E7,1.2446E7)); -#8195=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8189); -#8196=PHYSICAL_COMPONENT_TERMINAL('C13-2','interconnect module component terminal', - #49,.U.); -#8197=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C13-1','part generic feature',#15, - .T.); -#8198=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8197, - #8187); -#8199=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#8200,'',$,#8197,#25,*); -#8200=AXIS2_PLACEMENT_2D('',#8202,#8201); -#8201=DIRECTION('',(1.0,0.0)); -#8202=CARTESIAN_POINT('',(8128000.0,1.2446E7)); -#8203=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8197); -#8204=PHYSICAL_COMPONENT_TERMINAL('C13-1','interconnect module component terminal', - #49,.U.); -#8205=FOOTPRINT_OCCURRENCE('R18-FO',$,#504,#28,'R18-FO','definition usage',$,#505, - *,'',$,*); -#8206=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R18-FO','',$,#34,#505,'R18-FO', - '',$,#8205,*); -#8207=PRODUCT_DEFINITION_SHAPE('',$,#8206); -#8208=COMPONENT_2D_LOCATION(*,#8207,'component 2d location',$,#506,#36,#1538); -#8209=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R18-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R18-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8210=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R18-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R18-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8211=COMPONENT_TERMINATION_PASSAGE('R18-FO 2 drill','unknown role plated passage', - #2527,#28,'R18-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#8212=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8211,.U.); -#8213=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8211,.U.); -#8214=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R18-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R18-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8215=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R18-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R18-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8216=COMPONENT_TERMINATION_PASSAGE('R18-FO 1 drill','unknown role plated passage', - #2527,#28,'R18-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8217=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8216,.U.); -#8218=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8216,.U.); -#8219=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R18-1','part generic feature',#15, - .T.); -#8220=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8219, - #8217); -#8221=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8222,'',$,#8219,#25,*); -#8222=AXIS2_PLACEMENT_2D('',#8224,#8223); -#8223=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#8224=CARTESIAN_POINT('',(7620000.0,1.7018E7)); -#8225=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8219); -#8226=PHYSICAL_COMPONENT_TERMINAL('R18-1','interconnect module component terminal', - #49,.U.); -#8227=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R18-2','part generic feature',#15, - .T.); -#8228=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8227, - #8212); -#8229=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8230,'',$,#8227,#25,*); -#8230=AXIS2_PLACEMENT_2D('',#8232,#8231); -#8231=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#8232=CARTESIAN_POINT('',(7620000.0,1.5748E7)); -#8233=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8227); -#8234=PHYSICAL_COMPONENT_TERMINAL('R18-2','interconnect module component terminal', - #49,.U.); -#8235=FOOTPRINT_OCCURRENCE('CR4-FO',$,#266,#28,'CR4-FO','definition usage',$,#267, - *,'',$,*); -#8236=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR4-FO','',$,#34,#267,'CR4-FO', - '',$,#8235,*); -#8237=PRODUCT_DEFINITION_SHAPE('',$,#8236); -#8238=COMPONENT_2D_LOCATION(*,#8237,'component 2d location',$,#268,#36,#1225); -#8239=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR4-FO 2 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR4-FO 2 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8240=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR4-FO 2 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR4-FO 2 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8241=COMPONENT_TERMINATION_PASSAGE('CR4-FO 2 drill','unknown role plated passage', - #3309,#28,'CR4-FO 2 drill','definition usage',$,#3310,*,'',$,*); -#8242=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8241,.U.); -#8243=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8241,.U.); -#8244=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR4-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR4-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8245=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR4-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR4-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8246=COMPONENT_TERMINATION_PASSAGE('CR4-FO 1 drill','unknown role plated passage', - #2527,#28,'CR4-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8247=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8246,.U.); -#8248=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8246,.U.); -#8249=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR4-1','part generic feature',#15, - .T.); -#8250=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8249, - #8247); -#8251=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8252,'',$,#8249,#25,*); -#8252=AXIS2_PLACEMENT_2D('',#8254,#8253); -#8253=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#8254=CARTESIAN_POINT('',(6096000.0,1.7018E7)); -#8255=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8249); -#8256=PHYSICAL_COMPONENT_TERMINAL('CR4-1','interconnect module component terminal', - #49,.U.); -#8257=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR4-2','part generic feature',#15, - .T.); -#8258=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8257, - #8242); -#8259=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#8260,'',$,#8257,#25,*); -#8260=AXIS2_PLACEMENT_2D('',#8262,#8261); -#8261=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#8262=CARTESIAN_POINT('',(6096000.0,1.5748E7)); -#8263=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8257); -#8264=PHYSICAL_COMPONENT_TERMINAL('CR4-2','interconnect module component terminal', - #49,.U.); -#8265=FOOTPRINT_OCCURRENCE('C17-FO',$,#170,#28,'C17-FO','definition usage',$,#171, - *,'',$,*); -#8266=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C17-FO','',$,#34,#171,'C17-FO', - '',$,#8265,*); -#8267=PRODUCT_DEFINITION_SHAPE('',$,#8266); -#8268=COMPONENT_2D_LOCATION(*,#8267,'component 2d location',$,#172,#36,#1124); -#8269=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C17-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C17-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8270=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C17-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C17-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8271=COMPONENT_TERMINATION_PASSAGE('C17-FO 2 drill','unknown role plated passage', - #2527,#28,'C17-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#8272=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8271,.U.); -#8273=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8271,.U.); -#8274=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C17-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C17-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8275=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C17-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C17-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8276=COMPONENT_TERMINATION_PASSAGE('C17-FO 1 drill','unknown role plated passage', - #2527,#28,'C17-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8277=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8276,.U.); -#8278=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8276,.U.); -#8279=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C17-1','part generic feature',#15, - .T.); -#8280=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8279, - #8277); -#8281=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8282,'',$,#8279,#25,*); -#8282=AXIS2_PLACEMENT_2D('',#8284,#8283); -#8283=DIRECTION('',(1.0,0.0)); -#8284=CARTESIAN_POINT('',(1.016E7,8128000.0)); -#8285=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8279); -#8286=PHYSICAL_COMPONENT_TERMINAL('C17-1','interconnect module component terminal', - #49,.U.); -#8287=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C17-2','part generic feature',#15, - .T.); -#8288=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8287, - #8272); -#8289=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8290,'',$,#8287,#25,*); -#8290=AXIS2_PLACEMENT_2D('',#8292,#8291); -#8291=DIRECTION('',(1.0,0.0)); -#8292=CARTESIAN_POINT('',(1.5748E7,8128000.0)); -#8293=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8287); -#8294=PHYSICAL_COMPONENT_TERMINAL('C17-2','interconnect module component terminal', - #49,.U.); -#8295=FOOTPRINT_OCCURRENCE('R9-FO',$,#504,#28,'R9-FO','definition usage',$,#505, - *,'',$,*); -#8296=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R9-FO','',$,#34,#505,'R9-FO', - '',$,#8295,*); -#8297=PRODUCT_DEFINITION_SHAPE('',$,#8296); -#8298=COMPONENT_2D_LOCATION(*,#8297,'component 2d location',$,#506,#36,#1457); -#8299=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R9-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R9-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8300=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R9-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R9-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8301=COMPONENT_TERMINATION_PASSAGE('R9-FO 2 drill','unknown role plated passage', - #2527,#28,'R9-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#8302=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8301,.U.); -#8303=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8301,.U.); -#8304=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R9-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R9-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8305=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R9-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R9-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8306=COMPONENT_TERMINATION_PASSAGE('R9-FO 1 drill','unknown role plated passage', - #2527,#28,'R9-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8307=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8306,.U.); -#8308=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8306,.U.); -#8309=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R9-2','part generic feature',#15,.T.); -#8310=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8309, - #8302); -#8311=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8312,'',$,#8309,#25,*); -#8312=AXIS2_PLACEMENT_2D('',#8314,#8313); -#8313=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#8314=CARTESIAN_POINT('',(7874000.0,8890000.0)); -#8315=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8309); -#8316=PHYSICAL_COMPONENT_TERMINAL('R9-2','interconnect module component terminal', - #49,.U.); -#8317=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R9-1','part generic feature',#15,.T.); -#8318=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8317, - #8307); -#8319=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8320,'',$,#8317,#25,*); -#8320=AXIS2_PLACEMENT_2D('',#8322,#8321); -#8321=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#8322=CARTESIAN_POINT('',(7874000.0,1.016E7)); -#8323=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8317); -#8324=PHYSICAL_COMPONENT_TERMINAL('R9-1','interconnect module component terminal', - #49,.U.); -#8325=FOOTPRINT_OCCURRENCE('VR3-FO',$,#600,#28,'VR3-FO','definition usage',$,#601, - *,'',$,*); -#8326=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR3-FO','',$,#34,#601,'VR3-FO', - '',$,#8325,*); -#8327=PRODUCT_DEFINITION_SHAPE('',$,#8326); -#8328=COMPONENT_2D_LOCATION(*,#8327,'component 2d location',$,#602,#36,#1703); -#8329=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR3-FO 2 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR3-FO 2 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8330=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR3-FO 2 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR3-FO 2 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8331=COMPONENT_TERMINATION_PASSAGE('VR3-FO 2 drill','unknown role plated passage', - #2843,#28,'VR3-FO 2 drill','definition usage',$,#2844,*,'',$,*); -#8332=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8331,.U.); -#8333=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8331,.U.); -#8334=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR3-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR3-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8335=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR3-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR3-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8336=COMPONENT_TERMINATION_PASSAGE('VR3-FO 1 drill','unknown role plated passage', - #2527,#28,'VR3-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8337=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8336,.U.); -#8338=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8336,.U.); -#8339=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR3-2','part generic feature',#15, - .T.); -#8340=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8339, - #8332); -#8341=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#8342,'',$,#8339,#25,*); -#8342=AXIS2_PLACEMENT_2D('',#8344,#8343); -#8343=DIRECTION('',(6.123233995736766E-17,1.0)); -#8344=CARTESIAN_POINT('',(1016000.0000000001,1.651E7)); -#8345=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8339); -#8346=PHYSICAL_COMPONENT_TERMINAL('VR3-2','interconnect module component terminal', - #49,.U.); -#8347=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR3-1','part generic feature',#15, - .T.); -#8348=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8347, - #8337); -#8349=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8350,'',$,#8347,#25,*); -#8350=AXIS2_PLACEMENT_2D('',#8352,#8351); -#8351=DIRECTION('',(6.123233995736766E-17,1.0)); -#8352=CARTESIAN_POINT('',(1016000.0,1.4478E7)); -#8353=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8347); -#8354=PHYSICAL_COMPONENT_TERMINAL('VR3-1','interconnect module component terminal', - #49,.U.); -#8355=FOOTPRINT_OCCURRENCE('R11-FO',$,#504,#28,'R11-FO','definition usage',$,#505, - *,'',$,*); -#8356=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R11-FO','',$,#34,#505,'R11-FO', - '',$,#8355,*); -#8357=PRODUCT_DEFINITION_SHAPE('',$,#8356); -#8358=COMPONENT_2D_LOCATION(*,#8357,'component 2d location',$,#506,#36,#1475); -#8359=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R11-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R11-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8360=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R11-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R11-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8361=COMPONENT_TERMINATION_PASSAGE('R11-FO 2 drill','unknown role plated passage', - #2527,#28,'R11-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#8362=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8361,.U.); -#8363=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8361,.U.); -#8364=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R11-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R11-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8365=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R11-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R11-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8366=COMPONENT_TERMINATION_PASSAGE('R11-FO 1 drill','unknown role plated passage', - #2527,#28,'R11-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8367=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8366,.U.); -#8368=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8366,.U.); -#8369=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R11-1','part generic feature',#15, - .T.); -#8370=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8369, - #8367); -#8371=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8372,'',$,#8369,#25,*); -#8372=AXIS2_PLACEMENT_2D('',#8374,#8373); -#8373=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8374=CARTESIAN_POINT('',(8382000.0,1.1938E7)); -#8375=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8369); -#8376=PHYSICAL_COMPONENT_TERMINAL('R11-1','interconnect module component terminal', - #49,.U.); -#8377=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R11-2','part generic feature',#15, - .T.); -#8378=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8377, - #8362); -#8379=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8380,'',$,#8377,#25,*); -#8380=AXIS2_PLACEMENT_2D('',#8382,#8381); -#8381=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8382=CARTESIAN_POINT('',(7112000.0,1.1938E7)); -#8383=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8377); -#8384=PHYSICAL_COMPONENT_TERMINAL('R11-2','interconnect module component terminal', - #49,.U.); -#8385=FOOTPRINT_OCCURRENCE('R14-FO',$,#504,#28,'R14-FO','definition usage',$,#505, - *,'',$,*); -#8386=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R14-FO','',$,#34,#505,'R14-FO', - '',$,#8385,*); -#8387=PRODUCT_DEFINITION_SHAPE('',$,#8386); -#8388=COMPONENT_2D_LOCATION(*,#8387,'component 2d location',$,#506,#36,#1502); -#8389=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R14-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R14-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8390=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R14-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R14-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8391=COMPONENT_TERMINATION_PASSAGE('R14-FO 2 drill','unknown role plated passage', - #2527,#28,'R14-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#8392=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8391,.U.); -#8393=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8391,.U.); -#8394=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R14-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R14-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8395=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R14-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R14-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8396=COMPONENT_TERMINATION_PASSAGE('R14-FO 1 drill','unknown role plated passage', - #2527,#28,'R14-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8397=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8396,.U.); -#8398=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8396,.U.); -#8399=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R14-2','part generic feature',#15, - .T.); -#8400=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8399, - #8392); -#8401=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8402,'',$,#8399,#25,*); -#8402=AXIS2_PLACEMENT_2D('',#8404,#8403); -#8403=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#8404=CARTESIAN_POINT('',(5588000.0,1.5748E7)); -#8405=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8399); -#8406=PHYSICAL_COMPONENT_TERMINAL('R14-2','interconnect module component terminal', - #49,.U.); -#8407=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R14-1','part generic feature',#15, - .T.); -#8408=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8407, - #8397); -#8409=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8410,'',$,#8407,#25,*); -#8410=AXIS2_PLACEMENT_2D('',#8412,#8411); -#8411=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#8412=CARTESIAN_POINT('',(5588000.0,1.7018E7)); -#8413=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8407); -#8414=PHYSICAL_COMPONENT_TERMINAL('R14-1','interconnect module component terminal', - #49,.U.); -#8415=FOOTPRINT_OCCURRENCE('R15-FO',$,#504,#28,'R15-FO','definition usage',$,#505, - *,'',$,*); -#8416=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R15-FO','',$,#34,#505,'R15-FO', - '',$,#8415,*); -#8417=PRODUCT_DEFINITION_SHAPE('',$,#8416); -#8418=COMPONENT_2D_LOCATION(*,#8417,'component 2d location',$,#506,#36,#1511); -#8419=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R15-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R15-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8420=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R15-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R15-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8421=COMPONENT_TERMINATION_PASSAGE('R15-FO 2 drill','unknown role plated passage', - #2527,#28,'R15-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#8422=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8421,.U.); -#8423=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8421,.U.); -#8424=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R15-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R15-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8425=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R15-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R15-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8426=COMPONENT_TERMINATION_PASSAGE('R15-FO 1 drill','unknown role plated passage', - #2527,#28,'R15-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8427=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8426,.U.); -#8428=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8426,.U.); -#8429=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R15-1','part generic feature',#15, - .T.); -#8430=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8429, - #8427); -#8431=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8432,'',$,#8429,#25,*); -#8432=AXIS2_PLACEMENT_2D('',#8434,#8433); -#8433=DIRECTION('',(1.0,0.0)); -#8434=CARTESIAN_POINT('',(3048000.0,1.778E7)); -#8435=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8429); -#8436=PHYSICAL_COMPONENT_TERMINAL('R15-1','interconnect module component terminal', - #49,.U.); -#8437=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R15-2','part generic feature',#15, - .T.); -#8438=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8437, - #8422); -#8439=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8440,'',$,#8437,#25,*); -#8440=AXIS2_PLACEMENT_2D('',#8442,#8441); -#8441=DIRECTION('',(1.0,0.0)); -#8442=CARTESIAN_POINT('',(4318000.0,1.778E7)); -#8443=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8437); -#8444=PHYSICAL_COMPONENT_TERMINAL('R15-2','interconnect module component terminal', - #49,.U.); -#8445=FOOTPRINT_OCCURRENCE('C16-FO',$,#170,#28,'C16-FO','definition usage',$,#171, - *,'',$,*); -#8446=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C16-FO','',$,#34,#171,'C16-FO', - '',$,#8445,*); -#8447=PRODUCT_DEFINITION_SHAPE('',$,#8446); -#8448=COMPONENT_2D_LOCATION(*,#8447,'component 2d location',$,#172,#36,#1115); -#8449=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C16-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C16-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8450=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C16-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C16-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8451=COMPONENT_TERMINATION_PASSAGE('C16-FO 2 drill','unknown role plated passage', - #2527,#28,'C16-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#8452=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8451,.U.); -#8453=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8451,.U.); -#8454=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C16-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C16-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8455=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C16-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C16-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8456=COMPONENT_TERMINATION_PASSAGE('C16-FO 1 drill','unknown role plated passage', - #2527,#28,'C16-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8457=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8456,.U.); -#8458=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8456,.U.); -#8459=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C16-2','part generic feature',#15, - .T.); -#8460=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8459, - #8452); -#8461=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8462,'',$,#8459,#25,*); -#8462=AXIS2_PLACEMENT_2D('',#8464,#8463); -#8463=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8464=CARTESIAN_POINT('',(762000.0000000009,6096000.000000001)); -#8465=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8459); -#8466=PHYSICAL_COMPONENT_TERMINAL('C16-2','interconnect module component terminal', - #49,.U.); -#8467=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C16-1','part generic feature',#15, - .T.); -#8468=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8467, - #8457); -#8469=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8470,'',$,#8467,#25,*); -#8470=AXIS2_PLACEMENT_2D('',#8472,#8471); -#8471=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8472=CARTESIAN_POINT('',(6350000.0,6096000.0)); -#8473=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8467); -#8474=PHYSICAL_COMPONENT_TERMINAL('C16-1','interconnect module component terminal', - #49,.U.); -#8475=FOOTPRINT_OCCURRENCE('C15-FO',$,#170,#28,'C15-FO','definition usage',$,#171, - *,'',$,*); -#8476=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C15-FO','',$,#34,#171,'C15-FO', - '',$,#8475,*); -#8477=PRODUCT_DEFINITION_SHAPE('',$,#8476); -#8478=COMPONENT_2D_LOCATION(*,#8477,'component 2d location',$,#172,#36,#1106); -#8479=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C15-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C15-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8480=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C15-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C15-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8481=COMPONENT_TERMINATION_PASSAGE('C15-FO 2 drill','unknown role plated passage', - #2527,#28,'C15-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#8482=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8481,.U.); -#8483=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8481,.U.); -#8484=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C15-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C15-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8485=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C15-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C15-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8486=COMPONENT_TERMINATION_PASSAGE('C15-FO 1 drill','unknown role plated passage', - #2527,#28,'C15-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8487=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8486,.U.); -#8488=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8486,.U.); -#8489=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C15-1','part generic feature',#15, - .T.); -#8490=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8489, - #8487); -#8491=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8492,'',$,#8489,#25,*); -#8492=AXIS2_PLACEMENT_2D('',#8494,#8493); -#8493=DIRECTION('',(1.0,0.0)); -#8494=CARTESIAN_POINT('',(1.016E7,6096000.0)); -#8495=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8489); -#8496=PHYSICAL_COMPONENT_TERMINAL('C15-1','interconnect module component terminal', - #49,.U.); -#8497=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C15-2','part generic feature',#15, - .T.); -#8498=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8497, - #8482); -#8499=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8500,'',$,#8497,#25,*); -#8500=AXIS2_PLACEMENT_2D('',#8502,#8501); -#8501=DIRECTION('',(1.0,0.0)); -#8502=CARTESIAN_POINT('',(1.5748E7,6096000.0)); -#8503=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8497); -#8504=PHYSICAL_COMPONENT_TERMINAL('C15-2','interconnect module component terminal', - #49,.U.); -#8505=FOOTPRINT_OCCURRENCE('C4-FO',$,#170,#28,'C4-FO','definition usage',$,#171, - *,'',$,*); -#8506=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C4-FO','',$,#34,#171,'C4-FO', - '',$,#8505,*); -#8507=PRODUCT_DEFINITION_SHAPE('',$,#8506); -#8508=COMPONENT_2D_LOCATION(*,#8507,'component 2d location',$,#172,#36,#987); -#8509=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C4-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C4-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8510=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C4-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C4-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8511=COMPONENT_TERMINATION_PASSAGE('C4-FO 2 drill','unknown role plated passage', - #2527,#28,'C4-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#8512=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8511,.U.); -#8513=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8511,.U.); -#8514=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C4-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C4-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8515=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C4-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C4-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8516=COMPONENT_TERMINATION_PASSAGE('C4-FO 1 drill','unknown role plated passage', - #2527,#28,'C4-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8517=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8516,.U.); -#8518=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8516,.U.); -#8519=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C4-1','part generic feature',#15,.T.); -#8520=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8519, - #8517); -#8521=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8522,'',$,#8519,#25,*); -#8522=AXIS2_PLACEMENT_2D('',#8524,#8523); -#8523=DIRECTION('',(1.0,0.0)); -#8524=CARTESIAN_POINT('',(1.016E7,4064000.0)); -#8525=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8519); -#8526=PHYSICAL_COMPONENT_TERMINAL('C4-1','interconnect module component terminal', - #49,.U.); -#8527=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C4-2','part generic feature',#15,.T.); -#8528=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8527, - #8512); -#8529=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8530,'',$,#8527,#25,*); -#8530=AXIS2_PLACEMENT_2D('',#8532,#8531); -#8531=DIRECTION('',(1.0,0.0)); -#8532=CARTESIAN_POINT('',(1.5748E7,4064000.0)); -#8533=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8527); -#8534=PHYSICAL_COMPONENT_TERMINAL('C4-2','interconnect module component terminal', - #49,.U.); -#8535=FOOTPRINT_OCCURRENCE('R8-FO',$,#504,#28,'R8-FO','definition usage',$,#505, - *,'',$,*); -#8536=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R8-FO','',$,#34,#505,'R8-FO', - '',$,#8535,*); -#8537=PRODUCT_DEFINITION_SHAPE('',$,#8536); -#8538=COMPONENT_2D_LOCATION(*,#8537,'component 2d location',$,#506,#36,#1448); -#8539=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R8-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R8-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8540=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R8-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R8-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8541=COMPONENT_TERMINATION_PASSAGE('R8-FO 2 drill','unknown role plated passage', - #2527,#28,'R8-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#8542=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8541,.U.); -#8543=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8541,.U.); -#8544=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R8-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R8-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8545=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R8-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R8-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8546=COMPONENT_TERMINATION_PASSAGE('R8-FO 1 drill','unknown role plated passage', - #2527,#28,'R8-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8547=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8546,.U.); -#8548=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8546,.U.); -#8549=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R8-2','part generic feature',#15,.T.); -#8550=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8549, - #8542); -#8551=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8552,'',$,#8549,#25,*); -#8552=AXIS2_PLACEMENT_2D('',#8554,#8553); -#8553=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#8554=CARTESIAN_POINT('',(8382000.0,8890000.0)); -#8555=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8549); -#8556=PHYSICAL_COMPONENT_TERMINAL('R8-2','interconnect module component terminal', - #49,.U.); -#8557=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R8-1','part generic feature',#15,.T.); -#8558=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8557, - #8547); -#8559=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8560,'',$,#8557,#25,*); -#8560=AXIS2_PLACEMENT_2D('',#8562,#8561); -#8561=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#8562=CARTESIAN_POINT('',(8382000.0,1.016E7)); -#8563=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8557); -#8564=PHYSICAL_COMPONENT_TERMINAL('R8-1','interconnect module component terminal', - #49,.U.); -#8565=FOOTPRINT_OCCURRENCE('C22-FO',$,#242,#28,'C22-FO','definition usage',$,#243, - *,'',$,*); -#8566=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C22-FO','',$,#34,#243,'C22-FO', - '',$,#8565,*); -#8567=PRODUCT_DEFINITION_SHAPE('',$,#8566); -#8568=COMPONENT_2D_LOCATION(*,#8567,'component 2d location',$,#244,#36,#1179); -#8569=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C22-FO 2 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C22-FO 2 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8570=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C22-FO 2 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C22-FO 2 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8571=COMPONENT_TERMINATION_PASSAGE('C22-FO 2 drill','unknown role plated passage', - #2685,#28,'C22-FO 2 drill','definition usage',$,#2686,*,'',$,*); -#8572=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8571,.U.); -#8573=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8571,.U.); -#8574=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C22-FO 1 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C22-FO 1 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8575=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C22-FO 1 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C22-FO 1 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8576=COMPONENT_TERMINATION_PASSAGE('C22-FO 1 drill','unknown role plated passage', - #2685,#28,'C22-FO 1 drill','definition usage',$,#2686,*,'',$,*); -#8577=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8576,.U.); -#8578=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8576,.U.); -#8579=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C22-1','part generic feature',#15, - .T.); -#8580=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8579, - #8577); -#8581=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8582,'',$,#8579,#25,*); -#8582=AXIS2_PLACEMENT_2D('',#8584,#8583); -#8583=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8584=CARTESIAN_POINT('',(9906000.0,1.4732E7)); -#8585=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8579); -#8586=PHYSICAL_COMPONENT_TERMINAL('C22-1','interconnect module component terminal', - #49,.U.); -#8587=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C22-2','part generic feature',#15, - .T.); -#8588=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8587, - #8572); -#8589=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#8590,'',$,#8587,#25,*); -#8590=AXIS2_PLACEMENT_2D('',#8592,#8591); -#8591=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8592=CARTESIAN_POINT('',(8636000.0,1.4732E7)); -#8593=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8587); -#8594=PHYSICAL_COMPONENT_TERMINAL('C22-2','interconnect module component terminal', - #49,.U.); -#8595=FOOTPRINT_OCCURRENCE('C7-FO',$,#170,#28,'C7-FO','definition usage',$,#171, - *,'',$,*); -#8596=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C7-FO','',$,#34,#171,'C7-FO', - '',$,#8595,*); -#8597=PRODUCT_DEFINITION_SHAPE('',$,#8596); -#8598=COMPONENT_2D_LOCATION(*,#8597,'component 2d location',$,#172,#36,#1024); -#8599=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C7-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C7-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8600=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C7-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C7-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8601=COMPONENT_TERMINATION_PASSAGE('C7-FO 2 drill','unknown role plated passage', - #2527,#28,'C7-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#8602=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8601,.U.); -#8603=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8601,.U.); -#8604=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C7-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C7-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8605=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C7-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C7-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8606=COMPONENT_TERMINATION_PASSAGE('C7-FO 1 drill','unknown role plated passage', - #2527,#28,'C7-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#8607=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8606,.U.); -#8608=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8606,.U.); -#8609=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C7-2','part generic feature',#15,.T.); -#8610=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8609, - #8602); -#8611=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8612,'',$,#8609,#25,*); -#8612=AXIS2_PLACEMENT_2D('',#8614,#8613); -#8613=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8614=CARTESIAN_POINT('',(762000.0000000009,4064000.0000000005)); -#8615=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8609); -#8616=PHYSICAL_COMPONENT_TERMINAL('C7-2','interconnect module component terminal', - #49,.U.); -#8617=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C7-1','part generic feature',#15,.T.); -#8618=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#8617, - #8607); -#8619=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#8620,'',$,#8617,#25,*); -#8620=AXIS2_PLACEMENT_2D('',#8622,#8621); -#8621=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#8622=CARTESIAN_POINT('',(6350000.0,4064000.0)); -#8623=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#8617); -#8624=PHYSICAL_COMPONENT_TERMINAL('C7-1','interconnect module component terminal', - #49,.U.); -#8625=FOOTPRINT_OCCURRENCE('P1-FO',$,#346,#28,'P1-FO','definition usage',$,#347, - *,'',$,*); -#8626=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('P1-FO','',$,#34,#347,'P1-FO', - '',$,#8625,*); -#8627=PRODUCT_DEFINITION_SHAPE('',$,#8626); -#8628=COMPONENT_2D_LOCATION(*,#8627,'component 2d location',$,#348,#36,#1289); -#8629=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 112 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 112 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8630=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 112 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 112 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8631=COMPONENT_TERMINATION_PASSAGE('P1-FO 112 drill','unknown role plated passage', - #3001,#28,'P1-FO 112 drill','definition usage',$,#3002,*,'',$,*); -#8632=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8631,.U.); -#8633=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8631,.U.); -#8634=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 111 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 111 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8635=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 111 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 111 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8636=COMPONENT_TERMINATION_PASSAGE('P1-FO 111 drill','unknown role plated passage', - #3001,#28,'P1-FO 111 drill','definition usage',$,#3002,*,'',$,*); -#8637=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8636,.U.); -#8638=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8636,.U.); -#8639=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 110 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 110 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8640=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 110 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 110 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8641=COMPONENT_TERMINATION_PASSAGE('P1-FO 110 drill','unknown role plated passage', - #3001,#28,'P1-FO 110 drill','definition usage',$,#3002,*,'',$,*); -#8642=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8641,.U.); -#8643=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8641,.U.); -#8644=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 109 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 109 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8645=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 109 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 109 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8646=COMPONENT_TERMINATION_PASSAGE('P1-FO 109 drill','unknown role plated passage', - #3001,#28,'P1-FO 109 drill','definition usage',$,#3002,*,'',$,*); -#8647=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8646,.U.); -#8648=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8646,.U.); -#8649=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 108 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 108 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8650=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 108 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 108 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8651=COMPONENT_TERMINATION_PASSAGE('P1-FO 108 drill','unknown role plated passage', - #3001,#28,'P1-FO 108 drill','definition usage',$,#3002,*,'',$,*); -#8652=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8651,.U.); -#8653=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8651,.U.); -#8654=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 107 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 107 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8655=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 107 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 107 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8656=COMPONENT_TERMINATION_PASSAGE('P1-FO 107 drill','unknown role plated passage', - #3001,#28,'P1-FO 107 drill','definition usage',$,#3002,*,'',$,*); -#8657=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8656,.U.); -#8658=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8656,.U.); -#8659=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 106 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 106 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8660=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 106 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 106 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8661=COMPONENT_TERMINATION_PASSAGE('P1-FO 106 drill','unknown role plated passage', - #3001,#28,'P1-FO 106 drill','definition usage',$,#3002,*,'',$,*); -#8662=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8661,.U.); -#8663=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8661,.U.); -#8664=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 105 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 105 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8665=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 105 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 105 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8666=COMPONENT_TERMINATION_PASSAGE('P1-FO 105 drill','unknown role plated passage', - #3001,#28,'P1-FO 105 drill','definition usage',$,#3002,*,'',$,*); -#8667=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8666,.U.); -#8668=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8666,.U.); -#8669=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 104 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 104 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8670=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 104 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 104 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8671=COMPONENT_TERMINATION_PASSAGE('P1-FO 104 drill','unknown role plated passage', - #3001,#28,'P1-FO 104 drill','definition usage',$,#3002,*,'',$,*); -#8672=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8671,.U.); -#8673=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8671,.U.); -#8674=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 103 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 103 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8675=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 103 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 103 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8676=COMPONENT_TERMINATION_PASSAGE('P1-FO 103 drill','unknown role plated passage', - #3001,#28,'P1-FO 103 drill','definition usage',$,#3002,*,'',$,*); -#8677=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8676,.U.); -#8678=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8676,.U.); -#8679=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 102 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 102 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8680=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 102 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 102 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8681=COMPONENT_TERMINATION_PASSAGE('P1-FO 102 drill','unknown role plated passage', - #3001,#28,'P1-FO 102 drill','definition usage',$,#3002,*,'',$,*); -#8682=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8681,.U.); -#8683=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8681,.U.); -#8684=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 101 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 101 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8685=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 101 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 101 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8686=COMPONENT_TERMINATION_PASSAGE('P1-FO 101 drill','unknown role plated passage', - #3001,#28,'P1-FO 101 drill','definition usage',$,#3002,*,'',$,*); -#8687=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8686,.U.); -#8688=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8686,.U.); -#8689=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 100 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 100 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8690=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 100 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 100 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8691=COMPONENT_TERMINATION_PASSAGE('P1-FO 100 drill','unknown role plated passage', - #3001,#28,'P1-FO 100 drill','definition usage',$,#3002,*,'',$,*); -#8692=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8691,.U.); -#8693=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8691,.U.); -#8694=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 99 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 99 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8695=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 99 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 99 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8696=COMPONENT_TERMINATION_PASSAGE('P1-FO 99 drill','unknown role plated passage', - #3001,#28,'P1-FO 99 drill','definition usage',$,#3002,*,'',$,*); -#8697=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8696,.U.); -#8698=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8696,.U.); -#8699=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 98 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 98 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8700=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 98 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 98 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8701=COMPONENT_TERMINATION_PASSAGE('P1-FO 98 drill','unknown role plated passage', - #3001,#28,'P1-FO 98 drill','definition usage',$,#3002,*,'',$,*); -#8702=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8701,.U.); -#8703=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8701,.U.); -#8704=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 97 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 97 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8705=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 97 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 97 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8706=COMPONENT_TERMINATION_PASSAGE('P1-FO 97 drill','unknown role plated passage', - #3001,#28,'P1-FO 97 drill','definition usage',$,#3002,*,'',$,*); -#8707=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8706,.U.); -#8708=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8706,.U.); -#8709=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 96 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 96 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8710=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 96 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 96 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8711=COMPONENT_TERMINATION_PASSAGE('P1-FO 96 drill','unknown role plated passage', - #3001,#28,'P1-FO 96 drill','definition usage',$,#3002,*,'',$,*); -#8712=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8711,.U.); -#8713=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8711,.U.); -#8714=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 95 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 95 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8715=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 95 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 95 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8716=COMPONENT_TERMINATION_PASSAGE('P1-FO 95 drill','unknown role plated passage', - #3001,#28,'P1-FO 95 drill','definition usage',$,#3002,*,'',$,*); -#8717=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8716,.U.); -#8718=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8716,.U.); -#8719=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 94 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 94 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8720=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 94 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 94 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8721=COMPONENT_TERMINATION_PASSAGE('P1-FO 94 drill','unknown role plated passage', - #3001,#28,'P1-FO 94 drill','definition usage',$,#3002,*,'',$,*); -#8722=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8721,.U.); -#8723=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8721,.U.); -#8724=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 93 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 93 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8725=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 93 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 93 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8726=COMPONENT_TERMINATION_PASSAGE('P1-FO 93 drill','unknown role plated passage', - #3001,#28,'P1-FO 93 drill','definition usage',$,#3002,*,'',$,*); -#8727=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8726,.U.); -#8728=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8726,.U.); -#8729=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 92 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 92 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8730=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 92 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 92 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8731=COMPONENT_TERMINATION_PASSAGE('P1-FO 92 drill','unknown role plated passage', - #3001,#28,'P1-FO 92 drill','definition usage',$,#3002,*,'',$,*); -#8732=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8731,.U.); -#8733=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8731,.U.); -#8734=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 91 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 91 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8735=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 91 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 91 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8736=COMPONENT_TERMINATION_PASSAGE('P1-FO 91 drill','unknown role plated passage', - #3001,#28,'P1-FO 91 drill','definition usage',$,#3002,*,'',$,*); -#8737=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8736,.U.); -#8738=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8736,.U.); -#8739=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 90 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 90 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8740=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 90 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 90 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8741=COMPONENT_TERMINATION_PASSAGE('P1-FO 90 drill','unknown role plated passage', - #3001,#28,'P1-FO 90 drill','definition usage',$,#3002,*,'',$,*); -#8742=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8741,.U.); -#8743=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8741,.U.); -#8744=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 89 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 89 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8745=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 89 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 89 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8746=COMPONENT_TERMINATION_PASSAGE('P1-FO 89 drill','unknown role plated passage', - #3001,#28,'P1-FO 89 drill','definition usage',$,#3002,*,'',$,*); -#8747=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8746,.U.); -#8748=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8746,.U.); -#8749=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 88 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 88 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8750=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 88 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 88 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8751=COMPONENT_TERMINATION_PASSAGE('P1-FO 88 drill','unknown role plated passage', - #3001,#28,'P1-FO 88 drill','definition usage',$,#3002,*,'',$,*); -#8752=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8751,.U.); -#8753=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8751,.U.); -#8754=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 87 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 87 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8755=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 87 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 87 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8756=COMPONENT_TERMINATION_PASSAGE('P1-FO 87 drill','unknown role plated passage', - #3001,#28,'P1-FO 87 drill','definition usage',$,#3002,*,'',$,*); -#8757=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8756,.U.); -#8758=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8756,.U.); -#8759=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 86 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 86 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8760=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 86 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 86 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8761=COMPONENT_TERMINATION_PASSAGE('P1-FO 86 drill','unknown role plated passage', - #3001,#28,'P1-FO 86 drill','definition usage',$,#3002,*,'',$,*); -#8762=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8761,.U.); -#8763=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8761,.U.); -#8764=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 85 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 85 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8765=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 85 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 85 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8766=COMPONENT_TERMINATION_PASSAGE('P1-FO 85 drill','unknown role plated passage', - #3001,#28,'P1-FO 85 drill','definition usage',$,#3002,*,'',$,*); -#8767=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8766,.U.); -#8768=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8766,.U.); -#8769=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 84 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 84 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8770=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 84 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 84 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8771=COMPONENT_TERMINATION_PASSAGE('P1-FO 84 drill','unknown role plated passage', - #3001,#28,'P1-FO 84 drill','definition usage',$,#3002,*,'',$,*); -#8772=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8771,.U.); -#8773=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8771,.U.); -#8774=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 83 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 83 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8775=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 83 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 83 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8776=COMPONENT_TERMINATION_PASSAGE('P1-FO 83 drill','unknown role plated passage', - #3001,#28,'P1-FO 83 drill','definition usage',$,#3002,*,'',$,*); -#8777=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8776,.U.); -#8778=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8776,.U.); -#8779=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 82 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 82 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8780=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 82 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 82 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8781=COMPONENT_TERMINATION_PASSAGE('P1-FO 82 drill','unknown role plated passage', - #3001,#28,'P1-FO 82 drill','definition usage',$,#3002,*,'',$,*); -#8782=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8781,.U.); -#8783=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8781,.U.); -#8784=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 81 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 81 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8785=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 81 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 81 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8786=COMPONENT_TERMINATION_PASSAGE('P1-FO 81 drill','unknown role plated passage', - #3001,#28,'P1-FO 81 drill','definition usage',$,#3002,*,'',$,*); -#8787=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8786,.U.); -#8788=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8786,.U.); -#8789=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 80 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 80 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8790=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 80 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 80 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8791=COMPONENT_TERMINATION_PASSAGE('P1-FO 80 drill','unknown role plated passage', - #3001,#28,'P1-FO 80 drill','definition usage',$,#3002,*,'',$,*); -#8792=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8791,.U.); -#8793=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8791,.U.); -#8794=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 79 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 79 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8795=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 79 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 79 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8796=COMPONENT_TERMINATION_PASSAGE('P1-FO 79 drill','unknown role plated passage', - #3001,#28,'P1-FO 79 drill','definition usage',$,#3002,*,'',$,*); -#8797=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8796,.U.); -#8798=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8796,.U.); -#8799=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 78 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 78 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8800=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 78 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 78 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8801=COMPONENT_TERMINATION_PASSAGE('P1-FO 78 drill','unknown role plated passage', - #3001,#28,'P1-FO 78 drill','definition usage',$,#3002,*,'',$,*); -#8802=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8801,.U.); -#8803=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8801,.U.); -#8804=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 77 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 77 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8805=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 77 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 77 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8806=COMPONENT_TERMINATION_PASSAGE('P1-FO 77 drill','unknown role plated passage', - #3001,#28,'P1-FO 77 drill','definition usage',$,#3002,*,'',$,*); -#8807=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8806,.U.); -#8808=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8806,.U.); -#8809=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 76 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 76 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8810=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 76 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 76 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8811=COMPONENT_TERMINATION_PASSAGE('P1-FO 76 drill','unknown role plated passage', - #3001,#28,'P1-FO 76 drill','definition usage',$,#3002,*,'',$,*); -#8812=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8811,.U.); -#8813=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8811,.U.); -#8814=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 75 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 75 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8815=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 75 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 75 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8816=COMPONENT_TERMINATION_PASSAGE('P1-FO 75 drill','unknown role plated passage', - #3001,#28,'P1-FO 75 drill','definition usage',$,#3002,*,'',$,*); -#8817=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8816,.U.); -#8818=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8816,.U.); -#8819=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 74 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 74 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8820=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 74 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 74 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8821=COMPONENT_TERMINATION_PASSAGE('P1-FO 74 drill','unknown role plated passage', - #3001,#28,'P1-FO 74 drill','definition usage',$,#3002,*,'',$,*); -#8822=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8821,.U.); -#8823=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8821,.U.); -#8824=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 73 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 73 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8825=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 73 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 73 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8826=COMPONENT_TERMINATION_PASSAGE('P1-FO 73 drill','unknown role plated passage', - #3001,#28,'P1-FO 73 drill','definition usage',$,#3002,*,'',$,*); -#8827=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8826,.U.); -#8828=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8826,.U.); -#8829=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 72 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 72 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8830=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 72 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 72 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8831=COMPONENT_TERMINATION_PASSAGE('P1-FO 72 drill','unknown role plated passage', - #3001,#28,'P1-FO 72 drill','definition usage',$,#3002,*,'',$,*); -#8832=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8831,.U.); -#8833=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8831,.U.); -#8834=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 71 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 71 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8835=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 71 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 71 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8836=COMPONENT_TERMINATION_PASSAGE('P1-FO 71 drill','unknown role plated passage', - #3001,#28,'P1-FO 71 drill','definition usage',$,#3002,*,'',$,*); -#8837=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8836,.U.); -#8838=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8836,.U.); -#8839=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 70 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 70 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8840=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 70 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 70 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8841=COMPONENT_TERMINATION_PASSAGE('P1-FO 70 drill','unknown role plated passage', - #3001,#28,'P1-FO 70 drill','definition usage',$,#3002,*,'',$,*); -#8842=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8841,.U.); -#8843=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8841,.U.); -#8844=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 69 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 69 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8845=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 69 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 69 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8846=COMPONENT_TERMINATION_PASSAGE('P1-FO 69 drill','unknown role plated passage', - #3001,#28,'P1-FO 69 drill','definition usage',$,#3002,*,'',$,*); -#8847=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8846,.U.); -#8848=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8846,.U.); -#8849=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 68 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 68 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8850=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 68 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 68 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8851=COMPONENT_TERMINATION_PASSAGE('P1-FO 68 drill','unknown role plated passage', - #3001,#28,'P1-FO 68 drill','definition usage',$,#3002,*,'',$,*); -#8852=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8851,.U.); -#8853=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8851,.U.); -#8854=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 67 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 67 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8855=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 67 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 67 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8856=COMPONENT_TERMINATION_PASSAGE('P1-FO 67 drill','unknown role plated passage', - #3001,#28,'P1-FO 67 drill','definition usage',$,#3002,*,'',$,*); -#8857=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8856,.U.); -#8858=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8856,.U.); -#8859=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 66 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 66 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8860=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 66 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 66 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8861=COMPONENT_TERMINATION_PASSAGE('P1-FO 66 drill','unknown role plated passage', - #3001,#28,'P1-FO 66 drill','definition usage',$,#3002,*,'',$,*); -#8862=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8861,.U.); -#8863=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8861,.U.); -#8864=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 65 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 65 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8865=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 65 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 65 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8866=COMPONENT_TERMINATION_PASSAGE('P1-FO 65 drill','unknown role plated passage', - #3001,#28,'P1-FO 65 drill','definition usage',$,#3002,*,'',$,*); -#8867=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8866,.U.); -#8868=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8866,.U.); -#8869=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 64 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 64 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8870=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 64 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 64 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8871=COMPONENT_TERMINATION_PASSAGE('P1-FO 64 drill','unknown role plated passage', - #3001,#28,'P1-FO 64 drill','definition usage',$,#3002,*,'',$,*); -#8872=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8871,.U.); -#8873=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8871,.U.); -#8874=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 63 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 63 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8875=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 63 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 63 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8876=COMPONENT_TERMINATION_PASSAGE('P1-FO 63 drill','unknown role plated passage', - #3001,#28,'P1-FO 63 drill','definition usage',$,#3002,*,'',$,*); -#8877=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8876,.U.); -#8878=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8876,.U.); -#8879=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 62 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 62 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8880=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 62 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 62 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8881=COMPONENT_TERMINATION_PASSAGE('P1-FO 62 drill','unknown role plated passage', - #3001,#28,'P1-FO 62 drill','definition usage',$,#3002,*,'',$,*); -#8882=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8881,.U.); -#8883=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8881,.U.); -#8884=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 61 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 61 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8885=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 61 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 61 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8886=COMPONENT_TERMINATION_PASSAGE('P1-FO 61 drill','unknown role plated passage', - #3001,#28,'P1-FO 61 drill','definition usage',$,#3002,*,'',$,*); -#8887=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8886,.U.); -#8888=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8886,.U.); -#8889=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 60 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 60 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8890=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 60 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 60 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8891=COMPONENT_TERMINATION_PASSAGE('P1-FO 60 drill','unknown role plated passage', - #3001,#28,'P1-FO 60 drill','definition usage',$,#3002,*,'',$,*); -#8892=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8891,.U.); -#8893=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8891,.U.); -#8894=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 59 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 59 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8895=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 59 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 59 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8896=COMPONENT_TERMINATION_PASSAGE('P1-FO 59 drill','unknown role plated passage', - #3001,#28,'P1-FO 59 drill','definition usage',$,#3002,*,'',$,*); -#8897=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8896,.U.); -#8898=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8896,.U.); -#8899=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 58 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 58 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8900=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 58 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 58 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8901=COMPONENT_TERMINATION_PASSAGE('P1-FO 58 drill','unknown role plated passage', - #3001,#28,'P1-FO 58 drill','definition usage',$,#3002,*,'',$,*); -#8902=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8901,.U.); -#8903=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8901,.U.); -#8904=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 57 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 57 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8905=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 57 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 57 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8906=COMPONENT_TERMINATION_PASSAGE('P1-FO 57 drill','unknown role plated passage', - #3001,#28,'P1-FO 57 drill','definition usage',$,#3002,*,'',$,*); -#8907=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8906,.U.); -#8908=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8906,.U.); -#8909=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 56 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 56 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8910=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 56 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 56 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8911=COMPONENT_TERMINATION_PASSAGE('P1-FO 56 drill','unknown role plated passage', - #2685,#28,'P1-FO 56 drill','definition usage',$,#2686,*,'',$,*); -#8912=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8911,.U.); -#8913=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8911,.U.); -#8914=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 55 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 55 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8915=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 55 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 55 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8916=COMPONENT_TERMINATION_PASSAGE('P1-FO 55 drill','unknown role plated passage', - #2685,#28,'P1-FO 55 drill','definition usage',$,#2686,*,'',$,*); -#8917=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8916,.U.); -#8918=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8916,.U.); -#8919=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 54 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 54 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8920=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 54 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 54 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8921=COMPONENT_TERMINATION_PASSAGE('P1-FO 54 drill','unknown role plated passage', - #2685,#28,'P1-FO 54 drill','definition usage',$,#2686,*,'',$,*); -#8922=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8921,.U.); -#8923=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8921,.U.); -#8924=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 53 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 53 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8925=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 53 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 53 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8926=COMPONENT_TERMINATION_PASSAGE('P1-FO 53 drill','unknown role plated passage', - #2685,#28,'P1-FO 53 drill','definition usage',$,#2686,*,'',$,*); -#8927=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8926,.U.); -#8928=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8926,.U.); -#8929=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 52 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 52 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8930=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 52 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 52 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8931=COMPONENT_TERMINATION_PASSAGE('P1-FO 52 drill','unknown role plated passage', - #2685,#28,'P1-FO 52 drill','definition usage',$,#2686,*,'',$,*); -#8932=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8931,.U.); -#8933=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8931,.U.); -#8934=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 51 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 51 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8935=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 51 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 51 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8936=COMPONENT_TERMINATION_PASSAGE('P1-FO 51 drill','unknown role plated passage', - #2685,#28,'P1-FO 51 drill','definition usage',$,#2686,*,'',$,*); -#8937=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8936,.U.); -#8938=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8936,.U.); -#8939=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 50 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 50 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8940=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 50 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 50 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8941=COMPONENT_TERMINATION_PASSAGE('P1-FO 50 drill','unknown role plated passage', - #2685,#28,'P1-FO 50 drill','definition usage',$,#2686,*,'',$,*); -#8942=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8941,.U.); -#8943=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8941,.U.); -#8944=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 49 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 49 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8945=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 49 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 49 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8946=COMPONENT_TERMINATION_PASSAGE('P1-FO 49 drill','unknown role plated passage', - #2685,#28,'P1-FO 49 drill','definition usage',$,#2686,*,'',$,*); -#8947=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8946,.U.); -#8948=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8946,.U.); -#8949=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 48 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 48 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8950=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 48 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 48 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8951=COMPONENT_TERMINATION_PASSAGE('P1-FO 48 drill','unknown role plated passage', - #2685,#28,'P1-FO 48 drill','definition usage',$,#2686,*,'',$,*); -#8952=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8951,.U.); -#8953=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8951,.U.); -#8954=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 47 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 47 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8955=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 47 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 47 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8956=COMPONENT_TERMINATION_PASSAGE('P1-FO 47 drill','unknown role plated passage', - #2685,#28,'P1-FO 47 drill','definition usage',$,#2686,*,'',$,*); -#8957=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8956,.U.); -#8958=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8956,.U.); -#8959=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 46 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 46 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8960=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 46 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 46 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8961=COMPONENT_TERMINATION_PASSAGE('P1-FO 46 drill','unknown role plated passage', - #2685,#28,'P1-FO 46 drill','definition usage',$,#2686,*,'',$,*); -#8962=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8961,.U.); -#8963=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8961,.U.); -#8964=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 45 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 45 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8965=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 45 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 45 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8966=COMPONENT_TERMINATION_PASSAGE('P1-FO 45 drill','unknown role plated passage', - #2685,#28,'P1-FO 45 drill','definition usage',$,#2686,*,'',$,*); -#8967=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8966,.U.); -#8968=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8966,.U.); -#8969=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 44 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 44 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8970=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 44 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 44 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8971=COMPONENT_TERMINATION_PASSAGE('P1-FO 44 drill','unknown role plated passage', - #2685,#28,'P1-FO 44 drill','definition usage',$,#2686,*,'',$,*); -#8972=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8971,.U.); -#8973=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8971,.U.); -#8974=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 43 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 43 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8975=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 43 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 43 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8976=COMPONENT_TERMINATION_PASSAGE('P1-FO 43 drill','unknown role plated passage', - #2685,#28,'P1-FO 43 drill','definition usage',$,#2686,*,'',$,*); -#8977=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8976,.U.); -#8978=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8976,.U.); -#8979=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 42 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 42 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8980=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 42 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 42 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8981=COMPONENT_TERMINATION_PASSAGE('P1-FO 42 drill','unknown role plated passage', - #2685,#28,'P1-FO 42 drill','definition usage',$,#2686,*,'',$,*); -#8982=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8981,.U.); -#8983=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8981,.U.); -#8984=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 41 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 41 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8985=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 41 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 41 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8986=COMPONENT_TERMINATION_PASSAGE('P1-FO 41 drill','unknown role plated passage', - #2685,#28,'P1-FO 41 drill','definition usage',$,#2686,*,'',$,*); -#8987=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8986,.U.); -#8988=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8986,.U.); -#8989=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 40 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 40 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8990=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 40 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 40 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8991=COMPONENT_TERMINATION_PASSAGE('P1-FO 40 drill','unknown role plated passage', - #2685,#28,'P1-FO 40 drill','definition usage',$,#2686,*,'',$,*); -#8992=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8991,.U.); -#8993=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8991,.U.); -#8994=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 39 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 39 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8995=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 39 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 39 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8996=COMPONENT_TERMINATION_PASSAGE('P1-FO 39 drill','unknown role plated passage', - #2685,#28,'P1-FO 39 drill','definition usage',$,#2686,*,'',$,*); -#8997=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #8996,.U.); -#8998=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #8996,.U.); -#8999=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 38 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 38 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9000=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 38 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 38 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9001=COMPONENT_TERMINATION_PASSAGE('P1-FO 38 drill','unknown role plated passage', - #2685,#28,'P1-FO 38 drill','definition usage',$,#2686,*,'',$,*); -#9002=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9001,.U.); -#9003=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9001,.U.); -#9004=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 37 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 37 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9005=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 37 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 37 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9006=COMPONENT_TERMINATION_PASSAGE('P1-FO 37 drill','unknown role plated passage', - #2685,#28,'P1-FO 37 drill','definition usage',$,#2686,*,'',$,*); -#9007=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9006,.U.); -#9008=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9006,.U.); -#9009=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 36 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 36 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9010=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 36 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 36 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9011=COMPONENT_TERMINATION_PASSAGE('P1-FO 36 drill','unknown role plated passage', - #2685,#28,'P1-FO 36 drill','definition usage',$,#2686,*,'',$,*); -#9012=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9011,.U.); -#9013=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9011,.U.); -#9014=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 35 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 35 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9015=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 35 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 35 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9016=COMPONENT_TERMINATION_PASSAGE('P1-FO 35 drill','unknown role plated passage', - #2685,#28,'P1-FO 35 drill','definition usage',$,#2686,*,'',$,*); -#9017=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9016,.U.); -#9018=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9016,.U.); -#9019=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 34 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 34 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9020=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 34 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 34 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9021=COMPONENT_TERMINATION_PASSAGE('P1-FO 34 drill','unknown role plated passage', - #2685,#28,'P1-FO 34 drill','definition usage',$,#2686,*,'',$,*); -#9022=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9021,.U.); -#9023=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9021,.U.); -#9024=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 33 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 33 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9025=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 33 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 33 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9026=COMPONENT_TERMINATION_PASSAGE('P1-FO 33 drill','unknown role plated passage', - #2685,#28,'P1-FO 33 drill','definition usage',$,#2686,*,'',$,*); -#9027=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9026,.U.); -#9028=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9026,.U.); -#9029=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 32 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 32 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9030=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 32 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 32 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9031=COMPONENT_TERMINATION_PASSAGE('P1-FO 32 drill','unknown role plated passage', - #2685,#28,'P1-FO 32 drill','definition usage',$,#2686,*,'',$,*); -#9032=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9031,.U.); -#9033=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9031,.U.); -#9034=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 31 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 31 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9035=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 31 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 31 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9036=COMPONENT_TERMINATION_PASSAGE('P1-FO 31 drill','unknown role plated passage', - #2685,#28,'P1-FO 31 drill','definition usage',$,#2686,*,'',$,*); -#9037=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9036,.U.); -#9038=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9036,.U.); -#9039=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 30 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 30 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9040=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 30 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 30 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9041=COMPONENT_TERMINATION_PASSAGE('P1-FO 30 drill','unknown role plated passage', - #2685,#28,'P1-FO 30 drill','definition usage',$,#2686,*,'',$,*); -#9042=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9041,.U.); -#9043=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9041,.U.); -#9044=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 29 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 29 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9045=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 29 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 29 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9046=COMPONENT_TERMINATION_PASSAGE('P1-FO 29 drill','unknown role plated passage', - #2685,#28,'P1-FO 29 drill','definition usage',$,#2686,*,'',$,*); -#9047=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9046,.U.); -#9048=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9046,.U.); -#9049=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 28 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 28 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9050=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 28 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 28 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9051=COMPONENT_TERMINATION_PASSAGE('P1-FO 28 drill','unknown role plated passage', - #2685,#28,'P1-FO 28 drill','definition usage',$,#2686,*,'',$,*); -#9052=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9051,.U.); -#9053=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9051,.U.); -#9054=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 27 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 27 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9055=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 27 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 27 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9056=COMPONENT_TERMINATION_PASSAGE('P1-FO 27 drill','unknown role plated passage', - #2685,#28,'P1-FO 27 drill','definition usage',$,#2686,*,'',$,*); -#9057=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9056,.U.); -#9058=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9056,.U.); -#9059=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 26 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 26 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9060=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 26 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 26 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9061=COMPONENT_TERMINATION_PASSAGE('P1-FO 26 drill','unknown role plated passage', - #2685,#28,'P1-FO 26 drill','definition usage',$,#2686,*,'',$,*); -#9062=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9061,.U.); -#9063=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9061,.U.); -#9064=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 25 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 25 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9065=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 25 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 25 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9066=COMPONENT_TERMINATION_PASSAGE('P1-FO 25 drill','unknown role plated passage', - #2685,#28,'P1-FO 25 drill','definition usage',$,#2686,*,'',$,*); -#9067=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9066,.U.); -#9068=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9066,.U.); -#9069=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 24 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 24 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9070=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 24 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 24 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9071=COMPONENT_TERMINATION_PASSAGE('P1-FO 24 drill','unknown role plated passage', - #2685,#28,'P1-FO 24 drill','definition usage',$,#2686,*,'',$,*); -#9072=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9071,.U.); -#9073=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9071,.U.); -#9074=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 23 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 23 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9075=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 23 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 23 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9076=COMPONENT_TERMINATION_PASSAGE('P1-FO 23 drill','unknown role plated passage', - #2685,#28,'P1-FO 23 drill','definition usage',$,#2686,*,'',$,*); -#9077=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9076,.U.); -#9078=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9076,.U.); -#9079=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 22 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 22 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9080=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 22 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 22 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9081=COMPONENT_TERMINATION_PASSAGE('P1-FO 22 drill','unknown role plated passage', - #2685,#28,'P1-FO 22 drill','definition usage',$,#2686,*,'',$,*); -#9082=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9081,.U.); -#9083=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9081,.U.); -#9084=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 21 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 21 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9085=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 21 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 21 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9086=COMPONENT_TERMINATION_PASSAGE('P1-FO 21 drill','unknown role plated passage', - #2685,#28,'P1-FO 21 drill','definition usage',$,#2686,*,'',$,*); -#9087=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9086,.U.); -#9088=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9086,.U.); -#9089=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 20 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 20 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9090=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 20 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 20 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9091=COMPONENT_TERMINATION_PASSAGE('P1-FO 20 drill','unknown role plated passage', - #2685,#28,'P1-FO 20 drill','definition usage',$,#2686,*,'',$,*); -#9092=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9091,.U.); -#9093=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9091,.U.); -#9094=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 19 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 19 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9095=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 19 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 19 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9096=COMPONENT_TERMINATION_PASSAGE('P1-FO 19 drill','unknown role plated passage', - #2685,#28,'P1-FO 19 drill','definition usage',$,#2686,*,'',$,*); -#9097=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9096,.U.); -#9098=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9096,.U.); -#9099=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 18 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 18 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9100=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 18 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 18 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9101=COMPONENT_TERMINATION_PASSAGE('P1-FO 18 drill','unknown role plated passage', - #2685,#28,'P1-FO 18 drill','definition usage',$,#2686,*,'',$,*); -#9102=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9101,.U.); -#9103=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9101,.U.); -#9104=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 17 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 17 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9105=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 17 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 17 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9106=COMPONENT_TERMINATION_PASSAGE('P1-FO 17 drill','unknown role plated passage', - #2685,#28,'P1-FO 17 drill','definition usage',$,#2686,*,'',$,*); -#9107=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9106,.U.); -#9108=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9106,.U.); -#9109=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 16 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 16 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9110=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 16 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 16 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9111=COMPONENT_TERMINATION_PASSAGE('P1-FO 16 drill','unknown role plated passage', - #2685,#28,'P1-FO 16 drill','definition usage',$,#2686,*,'',$,*); -#9112=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9111,.U.); -#9113=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9111,.U.); -#9114=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 15 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 15 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9115=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 15 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 15 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9116=COMPONENT_TERMINATION_PASSAGE('P1-FO 15 drill','unknown role plated passage', - #2685,#28,'P1-FO 15 drill','definition usage',$,#2686,*,'',$,*); -#9117=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9116,.U.); -#9118=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9116,.U.); -#9119=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 14 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 14 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9120=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 14 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 14 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9121=COMPONENT_TERMINATION_PASSAGE('P1-FO 14 drill','unknown role plated passage', - #2685,#28,'P1-FO 14 drill','definition usage',$,#2686,*,'',$,*); -#9122=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9121,.U.); -#9123=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9121,.U.); -#9124=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 13 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 13 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9125=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 13 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 13 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9126=COMPONENT_TERMINATION_PASSAGE('P1-FO 13 drill','unknown role plated passage', - #2685,#28,'P1-FO 13 drill','definition usage',$,#2686,*,'',$,*); -#9127=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9126,.U.); -#9128=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9126,.U.); -#9129=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 12 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 12 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9130=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 12 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 12 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9131=COMPONENT_TERMINATION_PASSAGE('P1-FO 12 drill','unknown role plated passage', - #2685,#28,'P1-FO 12 drill','definition usage',$,#2686,*,'',$,*); -#9132=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9131,.U.); -#9133=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9131,.U.); -#9134=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 11 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 11 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9135=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 11 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 11 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9136=COMPONENT_TERMINATION_PASSAGE('P1-FO 11 drill','unknown role plated passage', - #2685,#28,'P1-FO 11 drill','definition usage',$,#2686,*,'',$,*); -#9137=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9136,.U.); -#9138=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9136,.U.); -#9139=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 10 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 10 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9140=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 10 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 10 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9141=COMPONENT_TERMINATION_PASSAGE('P1-FO 10 drill','unknown role plated passage', - #2685,#28,'P1-FO 10 drill','definition usage',$,#2686,*,'',$,*); -#9142=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9141,.U.); -#9143=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9141,.U.); -#9144=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 9 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 9 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9145=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 9 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 9 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9146=COMPONENT_TERMINATION_PASSAGE('P1-FO 9 drill','unknown role plated passage', - #2685,#28,'P1-FO 9 drill','definition usage',$,#2686,*,'',$,*); -#9147=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9146,.U.); -#9148=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9146,.U.); -#9149=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 8 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 8 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9150=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 8 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 8 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9151=COMPONENT_TERMINATION_PASSAGE('P1-FO 8 drill','unknown role plated passage', - #2685,#28,'P1-FO 8 drill','definition usage',$,#2686,*,'',$,*); -#9152=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9151,.U.); -#9153=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9151,.U.); -#9154=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 7 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 7 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9155=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 7 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 7 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9156=COMPONENT_TERMINATION_PASSAGE('P1-FO 7 drill','unknown role plated passage', - #2685,#28,'P1-FO 7 drill','definition usage',$,#2686,*,'',$,*); -#9157=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9156,.U.); -#9158=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9156,.U.); -#9159=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 6 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 6 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9160=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 6 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 6 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9161=COMPONENT_TERMINATION_PASSAGE('P1-FO 6 drill','unknown role plated passage', - #2685,#28,'P1-FO 6 drill','definition usage',$,#2686,*,'',$,*); -#9162=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9161,.U.); -#9163=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9161,.U.); -#9164=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 5 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 5 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9165=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 5 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 5 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9166=COMPONENT_TERMINATION_PASSAGE('P1-FO 5 drill','unknown role plated passage', - #2685,#28,'P1-FO 5 drill','definition usage',$,#2686,*,'',$,*); -#9167=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9166,.U.); -#9168=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9166,.U.); -#9169=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 4 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 4 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9170=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 4 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 4 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9171=COMPONENT_TERMINATION_PASSAGE('P1-FO 4 drill','unknown role plated passage', - #2685,#28,'P1-FO 4 drill','definition usage',$,#2686,*,'',$,*); -#9172=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9171,.U.); -#9173=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9171,.U.); -#9174=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 3 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 3 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9175=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 3 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 3 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9176=COMPONENT_TERMINATION_PASSAGE('P1-FO 3 drill','unknown role plated passage', - #2685,#28,'P1-FO 3 drill','definition usage',$,#2686,*,'',$,*); -#9177=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9176,.U.); -#9178=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9176,.U.); -#9179=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 2 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 2 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9180=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 2 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 2 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9181=COMPONENT_TERMINATION_PASSAGE('P1-FO 2 drill','unknown role plated passage', - #2685,#28,'P1-FO 2 drill','definition usage',$,#2686,*,'',$,*); -#9182=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9181,.U.); -#9183=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9181,.U.); -#9184=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 1 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 1 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9185=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('P1-FO 1 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('P1-FO 1 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9186=COMPONENT_TERMINATION_PASSAGE('P1-FO 1 drill','unknown role plated passage', - #2685,#28,'P1-FO 1 drill','definition usage',$,#2686,*,'',$,*); -#9187=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #9186,.U.); -#9188=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #9186,.U.); -#9189=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#2305,#28,'',$,*); -#9190=UNSUPPORTED_PASSAGE('P1-FO drill',$,#367,#28,'P1-FO drill','definition usage', - $,#368,*,'',$,*); -#9191=UNSUPPORTED_PASSAGE('P1-FO drill',$,#354,#28,'P1-FO drill','definition usage', - $,#355,*,'',$,*); -#9192=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-50','part generic feature',#15, - .T.); -#9193=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9192, - #8942); -#9194=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9195,'',$,#9192,#25,*); -#9195=AXIS2_PLACEMENT_2D('',#9197,#9196); -#9196=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9197=CARTESIAN_POINT('',(2921000.000000002,508000.0000000015)); -#9198=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9192); -#9199=PHYSICAL_COMPONENT_TERMINAL('P1-50','interconnect module component terminal', - #49,.U.); -#9200=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-104','part generic feature',#15, - .T.); -#9201=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9200, - #8672); -#9202=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9203,'',$,#9200,#25,*); -#9203=AXIS2_PLACEMENT_2D('',#9205,#9204); -#9204=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9205=CARTESIAN_POINT('',(3556000.000000002,254000.00000000148)); -#9206=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9200); -#9207=PHYSICAL_COMPONENT_TERMINAL('P1-104','interconnect module component terminal', - #49,.U.); -#9208=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-47','part generic feature',#15, - .T.); -#9209=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9208, - #8957); -#9210=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9211,'',$,#9208,#25,*); -#9211=AXIS2_PLACEMENT_2D('',#9213,#9212); -#9212=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9213=CARTESIAN_POINT('',(3683000.0000000037,508000.00000000146)); -#9214=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9208); -#9215=PHYSICAL_COMPONENT_TERMINAL('P1-47','interconnect module component terminal', - #49,.U.); -#9216=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-46','part generic feature',#15, - .T.); -#9217=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9216, - #8962); -#9218=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9219,'',$,#9216,#25,*); -#9219=AXIS2_PLACEMENT_2D('',#9221,#9220); -#9220=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9221=CARTESIAN_POINT('',(3937000.000000002,508000.0000000014)); -#9222=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9216); -#9223=PHYSICAL_COMPONENT_TERMINAL('P1-46','interconnect module component terminal', - #49,.U.); -#9224=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-106','part generic feature',#15, - .T.); -#9225=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9224, - #8662); -#9226=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9227,'',$,#9224,#25,*); -#9227=AXIS2_PLACEMENT_2D('',#9229,#9228); -#9228=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9229=CARTESIAN_POINT('',(3048000.0000000037,254000.00000000154)); -#9230=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9224); -#9231=PHYSICAL_COMPONENT_TERMINAL('P1-106','interconnect module component terminal', - #49,.U.); -#9232=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-15','part generic feature',#15, - .T.); -#9233=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9232, - #9117); -#9234=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9235,'',$,#9232,#25,*); -#9235=AXIS2_PLACEMENT_2D('',#9237,#9236); -#9236=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9237=CARTESIAN_POINT('',(1.1811E7,508000.0000000004)); -#9238=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9232); -#9239=PHYSICAL_COMPONENT_TERMINAL('P1-15','interconnect module component terminal', - #49,.U.); -#9240=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-13','part generic feature',#15, - .T.); -#9241=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9240, - #9127); -#9242=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9243,'',$,#9240,#25,*); -#9243=AXIS2_PLACEMENT_2D('',#9245,#9244); -#9244=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9245=CARTESIAN_POINT('',(1.2319E7,508000.00000000035)); -#9246=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9240); -#9247=PHYSICAL_COMPONENT_TERMINAL('P1-13','interconnect module component terminal', - #49,.U.); -#9248=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-70','part generic feature',#15, - .T.); -#9249=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9248, - #8842); -#9250=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9251,'',$,#9248,#25,*); -#9251=AXIS2_PLACEMENT_2D('',#9253,#9252); -#9252=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9253=CARTESIAN_POINT('',(1.2192E7,254000.0000000004)); -#9254=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9248); -#9255=PHYSICAL_COMPONENT_TERMINAL('P1-70','interconnect module component terminal', - #49,.U.); -#9256=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-68','part generic feature',#15, - .T.); -#9257=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9256, - #8852); -#9258=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9259,'',$,#9256,#25,*); -#9259=AXIS2_PLACEMENT_2D('',#9261,#9260); -#9260=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9261=CARTESIAN_POINT('',(1.27E7,254000.00000000035)); -#9262=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9256); -#9263=PHYSICAL_COMPONENT_TERMINAL('P1-68','interconnect module component terminal', - #49,.U.); -#9264=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-2','part generic feature',#15,.T.); -#9265=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9264, - #9182); -#9266=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9267,'',$,#9264,#25,*); -#9267=AXIS2_PLACEMENT_2D('',#9269,#9268); -#9268=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9269=CARTESIAN_POINT('',(1.5113E7,508000.00000000006)); -#9270=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9264); -#9271=PHYSICAL_COMPONENT_TERMINAL('P1-2','interconnect module component terminal', - #49,.U.); -#9272=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-16','part generic feature',#15, - .T.); -#9273=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9272, - #9112); -#9274=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9275,'',$,#9272,#25,*); -#9275=AXIS2_PLACEMENT_2D('',#9277,#9276); -#9276=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9277=CARTESIAN_POINT('',(1.1557E7,508000.00000000047)); -#9278=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9272); -#9279=PHYSICAL_COMPONENT_TERMINAL('P1-16','interconnect module component terminal', - #49,.U.); -#9280=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-20','part generic feature',#15, - .T.); -#9281=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9280, - #9092); -#9282=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9283,'',$,#9280,#25,*); -#9283=AXIS2_PLACEMENT_2D('',#9285,#9284); -#9284=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9285=CARTESIAN_POINT('',(1.0541E7,508000.0000000006)); -#9286=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9280); -#9287=PHYSICAL_COMPONENT_TERMINAL('P1-20','interconnect module component terminal', - #49,.U.); -#9288=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-37','part generic feature',#15, - .T.); -#9289=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9288, - #9007); -#9290=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9291,'',$,#9288,#25,*); -#9291=AXIS2_PLACEMENT_2D('',#9293,#9292); -#9292=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9293=CARTESIAN_POINT('',(6223000.000000002,508000.0000000011)); -#9294=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9288); -#9295=PHYSICAL_COMPONENT_TERMINAL('P1-37','interconnect module component terminal', - #49,.U.); -#9296=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-55','part generic feature',#15, - .T.); -#9297=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9296, - #8917); -#9298=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9299,'',$,#9296,#25,*); -#9299=AXIS2_PLACEMENT_2D('',#9301,#9300); -#9300=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9301=CARTESIAN_POINT('',(1651000.0000000019,508000.0000000017)); -#9302=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9296); -#9303=PHYSICAL_COMPONENT_TERMINAL('P1-55','interconnect module component terminal', - #49,.U.); -#9304=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-58','part generic feature',#15, - .T.); -#9305=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9304, - #8902); -#9306=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9307,'',$,#9304,#25,*); -#9307=AXIS2_PLACEMENT_2D('',#9309,#9308); -#9308=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9309=CARTESIAN_POINT('',(1.524E7,254000.00000000006)); -#9310=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9304); -#9311=PHYSICAL_COMPONENT_TERMINAL('P1-58','interconnect module component terminal', - #49,.U.); -#9312=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-76','part generic feature',#15, - .T.); -#9313=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9312, - #8812); -#9314=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9315,'',$,#9312,#25,*); -#9315=AXIS2_PLACEMENT_2D('',#9317,#9316); -#9316=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9317=CARTESIAN_POINT('',(1.0668E7,254000.0000000006)); -#9318=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9312); -#9319=PHYSICAL_COMPONENT_TERMINAL('P1-76','interconnect module component terminal', - #49,.U.); -#9320=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-93','part generic feature',#15, - .T.); -#9321=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9320, - #8727); -#9322=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9323,'',$,#9320,#25,*); -#9323=AXIS2_PLACEMENT_2D('',#9325,#9324); -#9324=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9325=CARTESIAN_POINT('',(6350000.000000002,254000.00000000114)); -#9326=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9320); -#9327=PHYSICAL_COMPONENT_TERMINAL('P1-93','interconnect module component terminal', - #49,.U.); -#9328=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-102','part generic feature',#15, - .T.); -#9329=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9328, - #8682); -#9330=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9331,'',$,#9328,#25,*); -#9331=AXIS2_PLACEMENT_2D('',#9333,#9332); -#9332=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9333=CARTESIAN_POINT('',(4064000.000000002,254000.00000000143)); -#9334=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9328); -#9335=PHYSICAL_COMPONENT_TERMINAL('P1-102','interconnect module component terminal', - #49,.U.); -#9336=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-111','part generic feature',#15, - .T.); -#9337=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9336, - #8637); -#9338=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9339,'',$,#9336,#25,*); -#9339=AXIS2_PLACEMENT_2D('',#9341,#9340); -#9340=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9341=CARTESIAN_POINT('',(1778000.0000000037,254000.0000000017)); -#9342=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9336); -#9343=PHYSICAL_COMPONENT_TERMINAL('P1-111','interconnect module component terminal', - #49,.U.); -#9344=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-6','part generic feature',#15,.T.); -#9345=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9344, - #9162); -#9346=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9347,'',$,#9344,#25,*); -#9347=AXIS2_PLACEMENT_2D('',#9349,#9348); -#9348=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9349=CARTESIAN_POINT('',(1.4097E7,508000.0000000002)); -#9350=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9344); -#9351=PHYSICAL_COMPONENT_TERMINAL('P1-6','interconnect module component terminal', - #49,.U.); -#9352=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-52','part generic feature',#15, - .T.); -#9353=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9352, - #8932); -#9354=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9355,'',$,#9352,#25,*); -#9355=AXIS2_PLACEMENT_2D('',#9357,#9356); -#9356=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9357=CARTESIAN_POINT('',(2413000.0000000037,508000.0000000016)); -#9358=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9352); -#9359=PHYSICAL_COMPONENT_TERMINAL('P1-52','interconnect module component terminal', - #49,.U.); -#9360=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-108','part generic feature',#15, - .T.); -#9361=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9360, - #8652); -#9362=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9363,'',$,#9360,#25,*); -#9363=AXIS2_PLACEMENT_2D('',#9365,#9364); -#9364=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9365=CARTESIAN_POINT('',(2540000.0000000037,254000.0000000016)); -#9366=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9360); -#9367=PHYSICAL_COMPONENT_TERMINAL('P1-108','interconnect module component terminal', - #49,.U.); -#9368=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-72','part generic feature',#15, - .T.); -#9369=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9368, - #8832); -#9370=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9371,'',$,#9368,#25,*); -#9371=AXIS2_PLACEMENT_2D('',#9373,#9372); -#9372=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9373=CARTESIAN_POINT('',(1.1684E7,254000.00000000047)); -#9374=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9368); -#9375=PHYSICAL_COMPONENT_TERMINAL('P1-72','interconnect module component terminal', - #49,.U.); -#9376=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-62','part generic feature',#15, - .T.); -#9377=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9376, - #8882); -#9378=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9379,'',$,#9376,#25,*); -#9379=AXIS2_PLACEMENT_2D('',#9381,#9380); -#9380=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9381=CARTESIAN_POINT('',(1.4224E7,254000.00000000017)); -#9382=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9376); -#9383=PHYSICAL_COMPONENT_TERMINAL('P1-62','interconnect module component terminal', - #49,.U.); -#9384=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-71','part generic feature',#15, - .T.); -#9385=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9384, - #8837); -#9386=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9387,'',$,#9384,#25,*); -#9387=AXIS2_PLACEMENT_2D('',#9389,#9388); -#9388=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9389=CARTESIAN_POINT('',(1.1938E7,254000.00000000044)); -#9390=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9384); -#9391=PHYSICAL_COMPONENT_TERMINAL('P1-71','interconnect module component terminal', - #49,.U.); -#9392=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-53','part generic feature',#15, - .T.); -#9393=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9392, - #8927); -#9394=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9395,'',$,#9392,#25,*); -#9395=AXIS2_PLACEMENT_2D('',#9397,#9396); -#9396=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9397=CARTESIAN_POINT('',(2159000.000000002,508000.00000000163)); -#9398=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9392); -#9399=PHYSICAL_COMPONENT_TERMINAL('P1-53','interconnect module component terminal', - #49,.U.); -#9400=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-109','part generic feature',#15, - .T.); -#9401=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9400, - #8647); -#9402=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9403,'',$,#9400,#25,*); -#9403=AXIS2_PLACEMENT_2D('',#9405,#9404); -#9404=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9405=CARTESIAN_POINT('',(2286000.000000002,254000.00000000163)); -#9406=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9400); -#9407=PHYSICAL_COMPONENT_TERMINAL('P1-109','interconnect module component terminal', - #49,.U.); -#9408=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-17','part generic feature',#15, - .T.); -#9409=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9408, - #9107); -#9410=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9411,'',$,#9408,#25,*); -#9411=AXIS2_PLACEMENT_2D('',#9413,#9412); -#9412=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9413=CARTESIAN_POINT('',(1.1303E7,508000.0000000005)); -#9414=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9408); -#9415=PHYSICAL_COMPONENT_TERMINAL('P1-17','interconnect module component terminal', - #49,.U.); -#9416=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-73','part generic feature',#15, - .T.); -#9417=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9416, - #8827); -#9418=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9419,'',$,#9416,#25,*); -#9419=AXIS2_PLACEMENT_2D('',#9421,#9420); -#9420=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9421=CARTESIAN_POINT('',(1.143E7,254000.00000000052)); -#9422=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9416); -#9423=PHYSICAL_COMPONENT_TERMINAL('P1-73','interconnect module component terminal', - #49,.U.); -#9424=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-103','part generic feature',#15, - .T.); -#9425=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9424, - #8677); -#9426=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9427,'',$,#9424,#25,*); -#9427=AXIS2_PLACEMENT_2D('',#9429,#9428); -#9428=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9429=CARTESIAN_POINT('',(3810000.000000002,254000.00000000146)); -#9430=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9424); -#9431=PHYSICAL_COMPONENT_TERMINAL('P1-103','interconnect module component terminal', - #49,.U.); -#9432=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-49','part generic feature',#15, - .T.); -#9433=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9432, - #8947); -#9434=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9435,'',$,#9432,#25,*); -#9435=AXIS2_PLACEMENT_2D('',#9437,#9436); -#9436=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9437=CARTESIAN_POINT('',(3175000.000000002,508000.0000000015)); -#9438=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9432); -#9439=PHYSICAL_COMPONENT_TERMINAL('P1-49','interconnect module component terminal', - #49,.U.); -#9440=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-1','part generic feature',#15,.T.); -#9441=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9440, - #9187); -#9442=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9443,'',$,#9440,#25,*); -#9443=AXIS2_PLACEMENT_2D('',#9445,#9444); -#9444=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9445=CARTESIAN_POINT('',(1.5367E7,508000.0)); -#9446=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9440); -#9447=PHYSICAL_COMPONENT_TERMINAL('P1-1','interconnect module component terminal', - #49,.U.); -#9448=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-3','part generic feature',#15,.T.); -#9449=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9448, - #9177); -#9450=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9451,'',$,#9448,#25,*); -#9451=AXIS2_PLACEMENT_2D('',#9453,#9452); -#9452=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9453=CARTESIAN_POINT('',(1.4859E7,508000.00000000006)); -#9454=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9448); -#9455=PHYSICAL_COMPONENT_TERMINAL('P1-3','interconnect module component terminal', - #49,.U.); -#9456=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-4','part generic feature',#15,.T.); -#9457=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9456, - #9172); -#9458=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9459,'',$,#9456,#25,*); -#9459=AXIS2_PLACEMENT_2D('',#9461,#9460); -#9460=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9461=CARTESIAN_POINT('',(1.4605E7,508000.0000000001)); -#9462=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9456); -#9463=PHYSICAL_COMPONENT_TERMINAL('P1-4','interconnect module component terminal', - #49,.U.); -#9464=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-5','part generic feature',#15,.T.); -#9465=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9464, - #9167); -#9466=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9467,'',$,#9464,#25,*); -#9467=AXIS2_PLACEMENT_2D('',#9469,#9468); -#9468=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9469=CARTESIAN_POINT('',(1.4351E7,508000.0000000001)); -#9470=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9464); -#9471=PHYSICAL_COMPONENT_TERMINAL('P1-5','interconnect module component terminal', - #49,.U.); -#9472=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-7','part generic feature',#15,.T.); -#9473=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9472, - #9157); -#9474=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9475,'',$,#9472,#25,*); -#9475=AXIS2_PLACEMENT_2D('',#9477,#9476); -#9476=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9477=CARTESIAN_POINT('',(1.3843E7,508000.0000000002)); -#9478=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9472); -#9479=PHYSICAL_COMPONENT_TERMINAL('P1-7','interconnect module component terminal', - #49,.U.); -#9480=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-8','part generic feature',#15,.T.); -#9481=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9480, - #9152); -#9482=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9483,'',$,#9480,#25,*); -#9483=AXIS2_PLACEMENT_2D('',#9485,#9484); -#9484=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9485=CARTESIAN_POINT('',(1.3589E7,508000.00000000023)); -#9486=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9480); -#9487=PHYSICAL_COMPONENT_TERMINAL('P1-8','interconnect module component terminal', - #49,.U.); -#9488=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-9','part generic feature',#15,.T.); -#9489=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9488, - #9147); -#9490=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9491,'',$,#9488,#25,*); -#9491=AXIS2_PLACEMENT_2D('',#9493,#9492); -#9492=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9493=CARTESIAN_POINT('',(1.3335E7,508000.00000000023)); -#9494=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9488); -#9495=PHYSICAL_COMPONENT_TERMINAL('P1-9','interconnect module component terminal', - #49,.U.); -#9496=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-10','part generic feature',#15, - .T.); -#9497=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9496, - #9142); -#9498=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9499,'',$,#9496,#25,*); -#9499=AXIS2_PLACEMENT_2D('',#9501,#9500); -#9500=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9501=CARTESIAN_POINT('',(1.3081E7,508000.0000000003)); -#9502=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9496); -#9503=PHYSICAL_COMPONENT_TERMINAL('P1-10','interconnect module component terminal', - #49,.U.); -#9504=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-11','part generic feature',#15, - .T.); -#9505=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9504, - #9137); -#9506=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9507,'',$,#9504,#25,*); -#9507=AXIS2_PLACEMENT_2D('',#9509,#9508); -#9508=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9509=CARTESIAN_POINT('',(1.2827E7,508000.0000000003)); -#9510=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9504); -#9511=PHYSICAL_COMPONENT_TERMINAL('P1-11','interconnect module component terminal', - #49,.U.); -#9512=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-12','part generic feature',#15, - .T.); -#9513=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9512, - #9132); -#9514=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9515,'',$,#9512,#25,*); -#9515=AXIS2_PLACEMENT_2D('',#9517,#9516); -#9516=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9517=CARTESIAN_POINT('',(1.2573E7,508000.00000000035)); -#9518=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9512); -#9519=PHYSICAL_COMPONENT_TERMINAL('P1-12','interconnect module component terminal', - #49,.U.); -#9520=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-14','part generic feature',#15, - .T.); -#9521=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9520, - #9122); -#9522=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9523,'',$,#9520,#25,*); -#9523=AXIS2_PLACEMENT_2D('',#9525,#9524); -#9524=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9525=CARTESIAN_POINT('',(1.2065E7,508000.0000000004)); -#9526=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9520); -#9527=PHYSICAL_COMPONENT_TERMINAL('P1-14','interconnect module component terminal', - #49,.U.); -#9528=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-18','part generic feature',#15, - .T.); -#9529=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9528, - #9102); -#9530=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9531,'',$,#9528,#25,*); -#9531=AXIS2_PLACEMENT_2D('',#9533,#9532); -#9532=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9533=CARTESIAN_POINT('',(1.1049E7,508000.0000000005)); -#9534=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9528); -#9535=PHYSICAL_COMPONENT_TERMINAL('P1-18','interconnect module component terminal', - #49,.U.); -#9536=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-19','part generic feature',#15, - .T.); -#9537=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9536, - #9097); -#9538=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9539,'',$,#9536,#25,*); -#9539=AXIS2_PLACEMENT_2D('',#9541,#9540); -#9540=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9541=CARTESIAN_POINT('',(1.0795E7,508000.0000000006)); -#9542=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9536); -#9543=PHYSICAL_COMPONENT_TERMINAL('P1-19','interconnect module component terminal', - #49,.U.); -#9544=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-21','part generic feature',#15, - .T.); -#9545=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9544, - #9087); -#9546=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9547,'',$,#9544,#25,*); -#9547=AXIS2_PLACEMENT_2D('',#9549,#9548); -#9548=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9549=CARTESIAN_POINT('',(1.0287E7,508000.00000000064)); -#9550=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9544); -#9551=PHYSICAL_COMPONENT_TERMINAL('P1-21','interconnect module component terminal', - #49,.U.); -#9552=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-22','part generic feature',#15, - .T.); -#9553=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9552, - #9082); -#9554=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9555,'',$,#9552,#25,*); -#9555=AXIS2_PLACEMENT_2D('',#9557,#9556); -#9556=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9557=CARTESIAN_POINT('',(1.0033E7,508000.00000000064)); -#9558=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9552); -#9559=PHYSICAL_COMPONENT_TERMINAL('P1-22','interconnect module component terminal', - #49,.U.); -#9560=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-23','part generic feature',#15, - .T.); -#9561=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9560, - #9077); -#9562=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9563,'',$,#9560,#25,*); -#9563=AXIS2_PLACEMENT_2D('',#9565,#9564); -#9564=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9565=CARTESIAN_POINT('',(9779000.0,508000.0000000007)); -#9566=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9560); -#9567=PHYSICAL_COMPONENT_TERMINAL('P1-23','interconnect module component terminal', - #49,.U.); -#9568=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-24','part generic feature',#15, - .T.); -#9569=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9568, - #9072); -#9570=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9571,'',$,#9568,#25,*); -#9571=AXIS2_PLACEMENT_2D('',#9573,#9572); -#9572=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9573=CARTESIAN_POINT('',(9525000.000000002,508000.0000000007)); -#9574=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9568); -#9575=PHYSICAL_COMPONENT_TERMINAL('P1-24','interconnect module component terminal', - #49,.U.); -#9576=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-25','part generic feature',#15, - .T.); -#9577=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9576, - #9067); -#9578=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9579,'',$,#9576,#25,*); -#9579=AXIS2_PLACEMENT_2D('',#9581,#9580); -#9580=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9581=CARTESIAN_POINT('',(9271000.0,508000.00000000076)); -#9582=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9576); -#9583=PHYSICAL_COMPONENT_TERMINAL('P1-25','interconnect module component terminal', - #49,.U.); -#9584=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-26','part generic feature',#15, - .T.); -#9585=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9584, - #9062); -#9586=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9587,'',$,#9584,#25,*); -#9587=AXIS2_PLACEMENT_2D('',#9589,#9588); -#9588=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9589=CARTESIAN_POINT('',(9017000.0,508000.00000000076)); -#9590=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9584); -#9591=PHYSICAL_COMPONENT_TERMINAL('P1-26','interconnect module component terminal', - #49,.U.); -#9592=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-27','part generic feature',#15, - .T.); -#9593=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9592, - #9057); -#9594=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9595,'',$,#9592,#25,*); -#9595=AXIS2_PLACEMENT_2D('',#9597,#9596); -#9596=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9597=CARTESIAN_POINT('',(8763000.0,508000.0000000008)); -#9598=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9592); -#9599=PHYSICAL_COMPONENT_TERMINAL('P1-27','interconnect module component terminal', - #49,.U.); -#9600=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-28','part generic feature',#15, - .T.); -#9601=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9600, - #9052); -#9602=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9603,'',$,#9600,#25,*); -#9603=AXIS2_PLACEMENT_2D('',#9605,#9604); -#9604=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9605=CARTESIAN_POINT('',(8509000.0,508000.0000000008)); -#9606=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9600); -#9607=PHYSICAL_COMPONENT_TERMINAL('P1-28','interconnect module component terminal', - #49,.U.); -#9608=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-29','part generic feature',#15, - .T.); -#9609=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9608, - #9047); -#9610=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9611,'',$,#9608,#25,*); -#9611=AXIS2_PLACEMENT_2D('',#9613,#9612); -#9612=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9613=CARTESIAN_POINT('',(8255000.000000002,508000.0000000009)); -#9614=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9608); -#9615=PHYSICAL_COMPONENT_TERMINAL('P1-29','interconnect module component terminal', - #49,.U.); -#9616=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-30','part generic feature',#15, - .T.); -#9617=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9616, - #9042); -#9618=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9619,'',$,#9616,#25,*); -#9619=AXIS2_PLACEMENT_2D('',#9621,#9620); -#9620=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9621=CARTESIAN_POINT('',(8001000.000000002,508000.0000000009)); -#9622=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9616); -#9623=PHYSICAL_COMPONENT_TERMINAL('P1-30','interconnect module component terminal', - #49,.U.); -#9624=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-31','part generic feature',#15, - .T.); -#9625=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9624, - #9037); -#9626=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9627,'',$,#9624,#25,*); -#9627=AXIS2_PLACEMENT_2D('',#9629,#9628); -#9628=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9629=CARTESIAN_POINT('',(7747000.000000002,508000.00000000093)); -#9630=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9624); -#9631=PHYSICAL_COMPONENT_TERMINAL('P1-31','interconnect module component terminal', - #49,.U.); -#9632=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-32','part generic feature',#15, - .T.); -#9633=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9632, - #9032); -#9634=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9635,'',$,#9632,#25,*); -#9635=AXIS2_PLACEMENT_2D('',#9637,#9636); -#9636=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9637=CARTESIAN_POINT('',(7493000.000000001,508000.000000001)); -#9638=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9632); -#9639=PHYSICAL_COMPONENT_TERMINAL('P1-32','interconnect module component terminal', - #49,.U.); -#9640=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-33','part generic feature',#15, - .T.); -#9641=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9640, - #9027); -#9642=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9643,'',$,#9640,#25,*); -#9643=AXIS2_PLACEMENT_2D('',#9645,#9644); -#9644=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9645=CARTESIAN_POINT('',(7239000.000000001,508000.000000001)); -#9646=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9640); -#9647=PHYSICAL_COMPONENT_TERMINAL('P1-33','interconnect module component terminal', - #49,.U.); -#9648=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-34','part generic feature',#15, - .T.); -#9649=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9648, - #9022); -#9650=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9651,'',$,#9648,#25,*); -#9651=AXIS2_PLACEMENT_2D('',#9653,#9652); -#9652=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9653=CARTESIAN_POINT('',(6985000.000000002,508000.00000000105)); -#9654=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9648); -#9655=PHYSICAL_COMPONENT_TERMINAL('P1-34','interconnect module component terminal', - #49,.U.); -#9656=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-35','part generic feature',#15, - .T.); -#9657=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9656, - #9017); -#9658=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9659,'',$,#9656,#25,*); -#9659=AXIS2_PLACEMENT_2D('',#9661,#9660); -#9660=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9661=CARTESIAN_POINT('',(6731000.000000002,508000.00000000105)); -#9662=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9656); -#9663=PHYSICAL_COMPONENT_TERMINAL('P1-35','interconnect module component terminal', - #49,.U.); -#9664=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-36','part generic feature',#15, - .T.); -#9665=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9664, - #9012); -#9666=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9667,'',$,#9664,#25,*); -#9667=AXIS2_PLACEMENT_2D('',#9669,#9668); -#9668=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9669=CARTESIAN_POINT('',(6477000.000000002,508000.0000000011)); -#9670=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9664); -#9671=PHYSICAL_COMPONENT_TERMINAL('P1-36','interconnect module component terminal', - #49,.U.); -#9672=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-38','part generic feature',#15, - .T.); -#9673=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9672, - #9002); -#9674=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9675,'',$,#9672,#25,*); -#9675=AXIS2_PLACEMENT_2D('',#9677,#9676); -#9676=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9677=CARTESIAN_POINT('',(5969000.000000002,508000.00000000116)); -#9678=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9672); -#9679=PHYSICAL_COMPONENT_TERMINAL('P1-38','interconnect module component terminal', - #49,.U.); -#9680=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-39','part generic feature',#15, - .T.); -#9681=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9680, - #8997); -#9682=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9683,'',$,#9680,#25,*); -#9683=AXIS2_PLACEMENT_2D('',#9685,#9684); -#9684=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9685=CARTESIAN_POINT('',(5715000.000000002,508000.00000000116)); -#9686=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9680); -#9687=PHYSICAL_COMPONENT_TERMINAL('P1-39','interconnect module component terminal', - #49,.U.); -#9688=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-40','part generic feature',#15, - .T.); -#9689=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9688, - #8992); -#9690=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9691,'',$,#9688,#25,*); -#9691=AXIS2_PLACEMENT_2D('',#9693,#9692); -#9692=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9693=CARTESIAN_POINT('',(5461000.000000002,508000.0000000012)); -#9694=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9688); -#9695=PHYSICAL_COMPONENT_TERMINAL('P1-40','interconnect module component terminal', - #49,.U.); -#9696=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-41','part generic feature',#15, - .T.); -#9697=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9696, - #8987); -#9698=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9699,'',$,#9696,#25,*); -#9699=AXIS2_PLACEMENT_2D('',#9701,#9700); -#9700=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9701=CARTESIAN_POINT('',(5207000.000000002,508000.0000000012)); -#9702=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9696); -#9703=PHYSICAL_COMPONENT_TERMINAL('P1-41','interconnect module component terminal', - #49,.U.); -#9704=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-42','part generic feature',#15, - .T.); -#9705=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9704, - #8982); -#9706=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9707,'',$,#9704,#25,*); -#9707=AXIS2_PLACEMENT_2D('',#9709,#9708); -#9708=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9709=CARTESIAN_POINT('',(4953000.000000004,508000.0000000013)); -#9710=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9704); -#9711=PHYSICAL_COMPONENT_TERMINAL('P1-42','interconnect module component terminal', - #49,.U.); -#9712=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-43','part generic feature',#15, - .T.); -#9713=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9712, - #8977); -#9714=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9715,'',$,#9712,#25,*); -#9715=AXIS2_PLACEMENT_2D('',#9717,#9716); -#9716=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9717=CARTESIAN_POINT('',(4699000.000000002,508000.0000000013)); -#9718=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9712); -#9719=PHYSICAL_COMPONENT_TERMINAL('P1-43','interconnect module component terminal', - #49,.U.); -#9720=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-44','part generic feature',#15, - .T.); -#9721=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9720, - #8972); -#9722=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9723,'',$,#9720,#25,*); -#9723=AXIS2_PLACEMENT_2D('',#9725,#9724); -#9724=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9725=CARTESIAN_POINT('',(4445000.000000002,508000.00000000134)); -#9726=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9720); -#9727=PHYSICAL_COMPONENT_TERMINAL('P1-44','interconnect module component terminal', - #49,.U.); -#9728=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-45','part generic feature',#15, - .T.); -#9729=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9728, - #8967); -#9730=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9731,'',$,#9728,#25,*); -#9731=AXIS2_PLACEMENT_2D('',#9733,#9732); -#9732=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9733=CARTESIAN_POINT('',(4191000.000000002,508000.0000000014)); -#9734=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9728); -#9735=PHYSICAL_COMPONENT_TERMINAL('P1-45','interconnect module component terminal', - #49,.U.); -#9736=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-48','part generic feature',#15, - .T.); -#9737=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9736, - #8952); -#9738=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9739,'',$,#9736,#25,*); -#9739=AXIS2_PLACEMENT_2D('',#9741,#9740); -#9740=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9741=CARTESIAN_POINT('',(3429000.000000002,508000.00000000146)); -#9742=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9736); -#9743=PHYSICAL_COMPONENT_TERMINAL('P1-48','interconnect module component terminal', - #49,.U.); -#9744=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-51','part generic feature',#15, - .T.); -#9745=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9744, - #8937); -#9746=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9747,'',$,#9744,#25,*); -#9747=AXIS2_PLACEMENT_2D('',#9749,#9748); -#9748=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9749=CARTESIAN_POINT('',(2667000.000000002,508000.0000000016)); -#9750=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9744); -#9751=PHYSICAL_COMPONENT_TERMINAL('P1-51','interconnect module component terminal', - #49,.U.); -#9752=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-54','part generic feature',#15, - .T.); -#9753=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9752, - #8922); -#9754=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9755,'',$,#9752,#25,*); -#9755=AXIS2_PLACEMENT_2D('',#9757,#9756); -#9756=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9757=CARTESIAN_POINT('',(1905000.0000000037,508000.00000000163)); -#9758=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9752); -#9759=PHYSICAL_COMPONENT_TERMINAL('P1-54','interconnect module component terminal', - #49,.U.); -#9760=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-56','part generic feature',#15, - .T.); -#9761=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9760, - #8912); -#9762=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#9763,'',$,#9760,#25,*); -#9763=AXIS2_PLACEMENT_2D('',#9765,#9764); -#9764=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9765=CARTESIAN_POINT('',(1397000.0000000019,508000.0000000017)); -#9766=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9760); -#9767=PHYSICAL_COMPONENT_TERMINAL('P1-56','interconnect module component terminal', - #49,.U.); -#9768=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-57','part generic feature',#15, - .T.); -#9769=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9768, - #8907); -#9770=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9771,'',$,#9768,#25,*); -#9771=AXIS2_PLACEMENT_2D('',#9773,#9772); -#9772=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9773=CARTESIAN_POINT('',(1.5494E7,254000.0)); -#9774=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9768); -#9775=PHYSICAL_COMPONENT_TERMINAL('P1-57','interconnect module component terminal', - #49,.U.); -#9776=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-59','part generic feature',#15, - .T.); -#9777=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9776, - #8897); -#9778=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9779,'',$,#9776,#25,*); -#9779=AXIS2_PLACEMENT_2D('',#9781,#9780); -#9780=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9781=CARTESIAN_POINT('',(1.4986E7,254000.0000000001)); -#9782=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9776); -#9783=PHYSICAL_COMPONENT_TERMINAL('P1-59','interconnect module component terminal', - #49,.U.); -#9784=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-60','part generic feature',#15, - .T.); -#9785=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9784, - #8892); -#9786=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9787,'',$,#9784,#25,*); -#9787=AXIS2_PLACEMENT_2D('',#9789,#9788); -#9788=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9789=CARTESIAN_POINT('',(1.4732E7,254000.00000000012)); -#9790=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9784); -#9791=PHYSICAL_COMPONENT_TERMINAL('P1-60','interconnect module component terminal', - #49,.U.); -#9792=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-61','part generic feature',#15, - .T.); -#9793=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9792, - #8887); -#9794=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9795,'',$,#9792,#25,*); -#9795=AXIS2_PLACEMENT_2D('',#9797,#9796); -#9796=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9797=CARTESIAN_POINT('',(1.4478E7,254000.00000000015)); -#9798=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9792); -#9799=PHYSICAL_COMPONENT_TERMINAL('P1-61','interconnect module component terminal', - #49,.U.); -#9800=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-63','part generic feature',#15, - .T.); -#9801=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9800, - #8877); -#9802=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9803,'',$,#9800,#25,*); -#9803=AXIS2_PLACEMENT_2D('',#9805,#9804); -#9804=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9805=CARTESIAN_POINT('',(1.397E7,254000.0000000002)); -#9806=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9800); -#9807=PHYSICAL_COMPONENT_TERMINAL('P1-63','interconnect module component terminal', - #49,.U.); -#9808=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-64','part generic feature',#15, - .T.); -#9809=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9808, - #8872); -#9810=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9811,'',$,#9808,#25,*); -#9811=AXIS2_PLACEMENT_2D('',#9813,#9812); -#9812=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9813=CARTESIAN_POINT('',(1.3716E7,254000.00000000023)); -#9814=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9808); -#9815=PHYSICAL_COMPONENT_TERMINAL('P1-64','interconnect module component terminal', - #49,.U.); -#9816=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-65','part generic feature',#15, - .T.); -#9817=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9816, - #8867); -#9818=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9819,'',$,#9816,#25,*); -#9819=AXIS2_PLACEMENT_2D('',#9821,#9820); -#9820=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9821=CARTESIAN_POINT('',(1.3462E7,254000.00000000026)); -#9822=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9816); -#9823=PHYSICAL_COMPONENT_TERMINAL('P1-65','interconnect module component terminal', - #49,.U.); -#9824=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-66','part generic feature',#15, - .T.); -#9825=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9824, - #8862); -#9826=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9827,'',$,#9824,#25,*); -#9827=AXIS2_PLACEMENT_2D('',#9829,#9828); -#9828=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9829=CARTESIAN_POINT('',(1.3208E7,254000.0000000003)); -#9830=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9824); -#9831=PHYSICAL_COMPONENT_TERMINAL('P1-66','interconnect module component terminal', - #49,.U.); -#9832=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-67','part generic feature',#15, - .T.); -#9833=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9832, - #8857); -#9834=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9835,'',$,#9832,#25,*); -#9835=AXIS2_PLACEMENT_2D('',#9837,#9836); -#9836=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9837=CARTESIAN_POINT('',(1.2954E7,254000.00000000032)); -#9838=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9832); -#9839=PHYSICAL_COMPONENT_TERMINAL('P1-67','interconnect module component terminal', - #49,.U.); -#9840=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-69','part generic feature',#15, - .T.); -#9841=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9840, - #8847); -#9842=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9843,'',$,#9840,#25,*); -#9843=AXIS2_PLACEMENT_2D('',#9845,#9844); -#9844=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9845=CARTESIAN_POINT('',(1.2446E7,254000.00000000038)); -#9846=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9840); -#9847=PHYSICAL_COMPONENT_TERMINAL('P1-69','interconnect module component terminal', - #49,.U.); -#9848=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-74','part generic feature',#15, - .T.); -#9849=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9848, - #8822); -#9850=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9851,'',$,#9848,#25,*); -#9851=AXIS2_PLACEMENT_2D('',#9853,#9852); -#9852=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9853=CARTESIAN_POINT('',(1.1176E7,254000.00000000055)); -#9854=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9848); -#9855=PHYSICAL_COMPONENT_TERMINAL('P1-74','interconnect module component terminal', - #49,.U.); -#9856=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-75','part generic feature',#15, - .T.); -#9857=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9856, - #8817); -#9858=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9859,'',$,#9856,#25,*); -#9859=AXIS2_PLACEMENT_2D('',#9861,#9860); -#9860=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9861=CARTESIAN_POINT('',(1.0922E7,254000.00000000058)); -#9862=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9856); -#9863=PHYSICAL_COMPONENT_TERMINAL('P1-75','interconnect module component terminal', - #49,.U.); -#9864=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-77','part generic feature',#15, - .T.); -#9865=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9864, - #8807); -#9866=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9867,'',$,#9864,#25,*); -#9867=AXIS2_PLACEMENT_2D('',#9869,#9868); -#9868=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9869=CARTESIAN_POINT('',(1.0414E7,254000.00000000064)); -#9870=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9864); -#9871=PHYSICAL_COMPONENT_TERMINAL('P1-77','interconnect module component terminal', - #49,.U.); -#9872=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-78','part generic feature',#15, - .T.); -#9873=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9872, - #8802); -#9874=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9875,'',$,#9872,#25,*); -#9875=AXIS2_PLACEMENT_2D('',#9877,#9876); -#9876=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9877=CARTESIAN_POINT('',(1.0160000000000002E7,254000.00000000067)); -#9878=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9872); -#9879=PHYSICAL_COMPONENT_TERMINAL('P1-78','interconnect module component terminal', - #49,.U.); -#9880=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-79','part generic feature',#15, - .T.); -#9881=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9880, - #8797); -#9882=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9883,'',$,#9880,#25,*); -#9883=AXIS2_PLACEMENT_2D('',#9885,#9884); -#9884=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9885=CARTESIAN_POINT('',(9906000.0,254000.0000000007)); -#9886=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9880); -#9887=PHYSICAL_COMPONENT_TERMINAL('P1-79','interconnect module component terminal', - #49,.U.); -#9888=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-80','part generic feature',#15, - .T.); -#9889=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9888, - #8792); -#9890=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9891,'',$,#9888,#25,*); -#9891=AXIS2_PLACEMENT_2D('',#9893,#9892); -#9892=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9893=CARTESIAN_POINT('',(9652000.0,254000.00000000073)); -#9894=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9888); -#9895=PHYSICAL_COMPONENT_TERMINAL('P1-80','interconnect module component terminal', - #49,.U.); -#9896=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-81','part generic feature',#15, - .T.); -#9897=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9896, - #8787); -#9898=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9899,'',$,#9896,#25,*); -#9899=AXIS2_PLACEMENT_2D('',#9901,#9900); -#9900=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9901=CARTESIAN_POINT('',(9398000.0,254000.00000000076)); -#9902=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9896); -#9903=PHYSICAL_COMPONENT_TERMINAL('P1-81','interconnect module component terminal', - #49,.U.); -#9904=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-82','part generic feature',#15, - .T.); -#9905=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9904, - #8782); -#9906=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9907,'',$,#9904,#25,*); -#9907=AXIS2_PLACEMENT_2D('',#9909,#9908); -#9908=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9909=CARTESIAN_POINT('',(9144000.0,254000.0000000008)); -#9910=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9904); -#9911=PHYSICAL_COMPONENT_TERMINAL('P1-82','interconnect module component terminal', - #49,.U.); -#9912=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-83','part generic feature',#15, - .T.); -#9913=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9912, - #8777); -#9914=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9915,'',$,#9912,#25,*); -#9915=AXIS2_PLACEMENT_2D('',#9917,#9916); -#9916=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9917=CARTESIAN_POINT('',(8890000.000000002,254000.00000000081)); -#9918=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9912); -#9919=PHYSICAL_COMPONENT_TERMINAL('P1-83','interconnect module component terminal', - #49,.U.); -#9920=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-84','part generic feature',#15, - .T.); -#9921=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9920, - #8772); -#9922=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9923,'',$,#9920,#25,*); -#9923=AXIS2_PLACEMENT_2D('',#9925,#9924); -#9924=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9925=CARTESIAN_POINT('',(8636000.000000002,254000.00000000084)); -#9926=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9920); -#9927=PHYSICAL_COMPONENT_TERMINAL('P1-84','interconnect module component terminal', - #49,.U.); -#9928=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-85','part generic feature',#15, - .T.); -#9929=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9928, - #8767); -#9930=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9931,'',$,#9928,#25,*); -#9931=AXIS2_PLACEMENT_2D('',#9933,#9932); -#9932=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9933=CARTESIAN_POINT('',(8382000.000000001,254000.00000000087)); -#9934=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9928); -#9935=PHYSICAL_COMPONENT_TERMINAL('P1-85','interconnect module component terminal', - #49,.U.); -#9936=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-86','part generic feature',#15, - .T.); -#9937=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9936, - #8762); -#9938=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9939,'',$,#9936,#25,*); -#9939=AXIS2_PLACEMENT_2D('',#9941,#9940); -#9940=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9941=CARTESIAN_POINT('',(8128000.000000001,254000.0000000009)); -#9942=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9936); -#9943=PHYSICAL_COMPONENT_TERMINAL('P1-86','interconnect module component terminal', - #49,.U.); -#9944=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-87','part generic feature',#15, - .T.); -#9945=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9944, - #8757); -#9946=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9947,'',$,#9944,#25,*); -#9947=AXIS2_PLACEMENT_2D('',#9949,#9948); -#9948=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9949=CARTESIAN_POINT('',(7874000.000000001,254000.00000000096)); -#9950=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9944); -#9951=PHYSICAL_COMPONENT_TERMINAL('P1-87','interconnect module component terminal', - #49,.U.); -#9952=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-88','part generic feature',#15, - .T.); -#9953=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9952, - #8752); -#9954=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9955,'',$,#9952,#25,*); -#9955=AXIS2_PLACEMENT_2D('',#9957,#9956); -#9956=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9957=CARTESIAN_POINT('',(7620000.000000002,254000.000000001)); -#9958=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9952); -#9959=PHYSICAL_COMPONENT_TERMINAL('P1-88','interconnect module component terminal', - #49,.U.); -#9960=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-89','part generic feature',#15, - .T.); -#9961=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9960, - #8747); -#9962=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9963,'',$,#9960,#25,*); -#9963=AXIS2_PLACEMENT_2D('',#9965,#9964); -#9964=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9965=CARTESIAN_POINT('',(7366000.000000002,254000.00000000102)); -#9966=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9960); -#9967=PHYSICAL_COMPONENT_TERMINAL('P1-89','interconnect module component terminal', - #49,.U.); -#9968=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-90','part generic feature',#15, - .T.); -#9969=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9968, - #8742); -#9970=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9971,'',$,#9968,#25,*); -#9971=AXIS2_PLACEMENT_2D('',#9973,#9972); -#9972=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9973=CARTESIAN_POINT('',(7112000.000000002,254000.00000000105)); -#9974=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9968); -#9975=PHYSICAL_COMPONENT_TERMINAL('P1-90','interconnect module component terminal', - #49,.U.); -#9976=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-91','part generic feature',#15, - .T.); -#9977=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9976, - #8737); -#9978=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9979,'',$,#9976,#25,*); -#9979=AXIS2_PLACEMENT_2D('',#9981,#9980); -#9980=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9981=CARTESIAN_POINT('',(6858000.000000002,254000.00000000108)); -#9982=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9976); -#9983=PHYSICAL_COMPONENT_TERMINAL('P1-91','interconnect module component terminal', - #49,.U.); -#9984=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-92','part generic feature',#15, - .T.); -#9985=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9984, - #8732); -#9986=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9987,'',$,#9984,#25,*); -#9987=AXIS2_PLACEMENT_2D('',#9989,#9988); -#9988=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9989=CARTESIAN_POINT('',(6604000.000000002,254000.0000000011)); -#9990=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9984); -#9991=PHYSICAL_COMPONENT_TERMINAL('P1-92','interconnect module component terminal', - #49,.U.); -#9992=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-94','part generic feature',#15, - .T.); -#9993=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#9992, - #8722); -#9994=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#9995,'',$,#9992,#25,*); -#9995=AXIS2_PLACEMENT_2D('',#9997,#9996); -#9996=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#9997=CARTESIAN_POINT('',(6096000.000000002,254000.00000000116)); -#9998=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#9992); -#9999=PHYSICAL_COMPONENT_TERMINAL('P1-94','interconnect module component terminal', - #49,.U.); -#10000=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-95','part generic feature',#15, - .T.); -#10001=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10000, - #8717); -#10002=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10003,'',$,#10000,#25,*); -#10003=AXIS2_PLACEMENT_2D('',#10005,#10004); -#10004=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10005=CARTESIAN_POINT('',(5842000.000000002,254000.0000000012)); -#10006=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10000); -#10007=PHYSICAL_COMPONENT_TERMINAL('P1-95','interconnect module component terminal', - #49,.U.); -#10008=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-96','part generic feature',#15, - .T.); -#10009=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10008, - #8712); -#10010=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10011,'',$,#10008,#25,*); -#10011=AXIS2_PLACEMENT_2D('',#10013,#10012); -#10012=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10013=CARTESIAN_POINT('',(5588000.000000002,254000.00000000122)); -#10014=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10008); -#10015=PHYSICAL_COMPONENT_TERMINAL('P1-96','interconnect module component terminal', - #49,.U.); -#10016=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-97','part generic feature',#15, - .T.); -#10017=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10016, - #8707); -#10018=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10019,'',$,#10016,#25,*); -#10019=AXIS2_PLACEMENT_2D('',#10021,#10020); -#10020=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10021=CARTESIAN_POINT('',(5334000.000000002,254000.00000000125)); -#10022=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10016); -#10023=PHYSICAL_COMPONENT_TERMINAL('P1-97','interconnect module component terminal', - #49,.U.); -#10024=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-98','part generic feature',#15, - .T.); -#10025=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10024, - #8702); -#10026=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10027,'',$,#10024,#25,*); -#10027=AXIS2_PLACEMENT_2D('',#10029,#10028); -#10028=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10029=CARTESIAN_POINT('',(5080000.000000002,254000.00000000128)); -#10030=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10024); -#10031=PHYSICAL_COMPONENT_TERMINAL('P1-98','interconnect module component terminal', - #49,.U.); -#10032=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-99','part generic feature',#15, - .T.); -#10033=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10032, - #8697); -#10034=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10035,'',$,#10032,#25,*); -#10035=AXIS2_PLACEMENT_2D('',#10037,#10036); -#10036=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10037=CARTESIAN_POINT('',(4826000.000000002,254000.0000000013)); -#10038=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10032); -#10039=PHYSICAL_COMPONENT_TERMINAL('P1-99','interconnect module component terminal', - #49,.U.); -#10040=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-100','part generic feature',#15, - .T.); -#10041=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10040, - #8692); -#10042=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10043,'',$,#10040,#25,*); -#10043=AXIS2_PLACEMENT_2D('',#10045,#10044); -#10044=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10045=CARTESIAN_POINT('',(4572000.000000002,254000.00000000134)); -#10046=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10040); -#10047=PHYSICAL_COMPONENT_TERMINAL('P1-100','interconnect module component terminal', - #49,.U.); -#10048=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-101','part generic feature',#15, - .T.); -#10049=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10048, - #8687); -#10050=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10051,'',$,#10048,#25,*); -#10051=AXIS2_PLACEMENT_2D('',#10053,#10052); -#10052=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10053=CARTESIAN_POINT('',(4318000.000000004,254000.00000000137)); -#10054=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10048); -#10055=PHYSICAL_COMPONENT_TERMINAL('P1-101','interconnect module component terminal', - #49,.U.); -#10056=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-105','part generic feature',#15, - .T.); -#10057=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10056, - #8667); -#10058=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10059,'',$,#10056,#25,*); -#10059=AXIS2_PLACEMENT_2D('',#10061,#10060); -#10060=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10061=CARTESIAN_POINT('',(3302000.000000002,254000.0000000015)); -#10062=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10056); -#10063=PHYSICAL_COMPONENT_TERMINAL('P1-105','interconnect module component terminal', - #49,.U.); -#10064=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-107','part generic feature',#15, - .T.); -#10065=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10064, - #8657); -#10066=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10067,'',$,#10064,#25,*); -#10067=AXIS2_PLACEMENT_2D('',#10069,#10068); -#10068=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10069=CARTESIAN_POINT('',(2794000.000000002,254000.00000000157)); -#10070=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10064); -#10071=PHYSICAL_COMPONENT_TERMINAL('P1-107','interconnect module component terminal', - #49,.U.); -#10072=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-110','part generic feature',#15, - .T.); -#10073=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10072, - #8642); -#10074=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10075,'',$,#10072,#25,*); -#10075=AXIS2_PLACEMENT_2D('',#10077,#10076); -#10076=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10077=CARTESIAN_POINT('',(2032000.0000000019,254000.00000000166)); -#10078=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10072); -#10079=PHYSICAL_COMPONENT_TERMINAL('P1-110','interconnect module component terminal', - #49,.U.); -#10080=INTERCONNECT_MODULE_INTERFACE_TERMINAL('P1-112','part generic feature',#15, - .T.); -#10081=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10080, - #8632); -#10082=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10083,'',$,#10080,#25,*); -#10083=AXIS2_PLACEMENT_2D('',#10085,#10084); -#10084=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10085=CARTESIAN_POINT('',(1524000.0000000019,254000.00000000172)); -#10086=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10080); -#10087=PHYSICAL_COMPONENT_TERMINAL('P1-112','interconnect module component terminal', - #49,.U.); -#10088=FOOTPRINT_OCCURRENCE('C1-FO',$,#121,#28,'C1-FO','definition usage',$,#122, - *,'',$,*); -#10089=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C1-FO','',$,#34,#122,'C1-FO', - '',$,#10088,*); -#10090=PRODUCT_DEFINITION_SHAPE('',$,#10089); -#10091=COMPONENT_2D_LOCATION(*,#10090,'component 2d location',$,#123,#36,#929); -#10092=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C1-FO 2 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C1-FO 2 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10093=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C1-FO 2 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C1-FO 2 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10094=COMPONENT_TERMINATION_PASSAGE('C1-FO 2 drill','unknown role plated passage', - #2685,#28,'C1-FO 2 drill','definition usage',$,#2686,*,'',$,*); -#10095=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10094,.U.); -#10096=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10094,.U.); -#10097=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C1-FO 1 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C1-FO 1 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10098=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C1-FO 1 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C1-FO 1 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10099=COMPONENT_TERMINATION_PASSAGE('C1-FO 1 drill','unknown role plated passage', - #2685,#28,'C1-FO 1 drill','definition usage',$,#2686,*,'',$,*); -#10100=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10099,.U.); -#10101=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10099,.U.); -#10102=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C1-2','part generic feature',#15, - .T.); -#10103=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10102, - #10095); -#10104=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#10105,'',$,#10102,#25,*); -#10105=AXIS2_PLACEMENT_2D('',#10107,#10106); -#10106=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#10107=CARTESIAN_POINT('',(1.1684E7,1.3462E7)); -#10108=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10102); -#10109=PHYSICAL_COMPONENT_TERMINAL('C1-2','interconnect module component terminal', - #49,.U.); -#10110=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C1-1','part generic feature',#15, - .T.); -#10111=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10110, - #10100); -#10112=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#10113,'',$,#10110,#25,*); -#10113=AXIS2_PLACEMENT_2D('',#10115,#10114); -#10114=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#10115=CARTESIAN_POINT('',(1.1684E7,1.4732E7)); -#10116=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10110); -#10117=PHYSICAL_COMPONENT_TERMINAL('C1-1','interconnect module component terminal', - #49,.U.); -#10118=FOOTPRINT_OCCURRENCE('C3-FO',$,#170,#28,'C3-FO','definition usage',$,#171, - *,'',$,*); -#10119=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C3-FO','',$,#34,#171,'C3-FO', - '',$,#10118,*); -#10120=PRODUCT_DEFINITION_SHAPE('',$,#10119); -#10121=COMPONENT_2D_LOCATION(*,#10120,'component 2d location',$,#172,#36,#968); -#10122=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C3-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C3-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10123=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C3-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C3-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10124=COMPONENT_TERMINATION_PASSAGE('C3-FO 2 drill','unknown role plated passage', - #2527,#28,'C3-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#10125=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10124,.U.); -#10126=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10124,.U.); -#10127=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C3-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C3-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10128=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C3-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C3-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10129=COMPONENT_TERMINATION_PASSAGE('C3-FO 1 drill','unknown role plated passage', - #2527,#28,'C3-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#10130=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10129,.U.); -#10131=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10129,.U.); -#10132=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C3-1','part generic feature',#15, - .T.); -#10133=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10132, - #10130); -#10134=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10135,'',$,#10132,#25,*); -#10135=AXIS2_PLACEMENT_2D('',#10137,#10136); -#10136=DIRECTION('',(1.0,0.0)); -#10137=CARTESIAN_POINT('',(1.016E7,2032000.0)); -#10138=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10132); -#10139=PHYSICAL_COMPONENT_TERMINAL('C3-1','interconnect module component terminal', - #49,.U.); -#10140=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C3-2','part generic feature',#15, - .T.); -#10141=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10140, - #10125); -#10142=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10143,'',$,#10140,#25,*); -#10143=AXIS2_PLACEMENT_2D('',#10145,#10144); -#10144=DIRECTION('',(1.0,0.0)); -#10145=CARTESIAN_POINT('',(1.5748E7,2032000.0)); -#10146=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10140); -#10147=PHYSICAL_COMPONENT_TERMINAL('C3-2','interconnect module component terminal', - #49,.U.); -#10148=FOOTPRINT_OCCURRENCE('R19-FO',$,#504,#28,'R19-FO','definition usage',$,#505, - *,'',$,*); -#10149=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R19-FO','',$,#34,#505,'R19-FO', - '',$,#10148,*); -#10150=PRODUCT_DEFINITION_SHAPE('',$,#10149); -#10151=COMPONENT_2D_LOCATION(*,#10150,'component 2d location',$,#506,#36,#1547); -#10152=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R19-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R19-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10153=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R19-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R19-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10154=COMPONENT_TERMINATION_PASSAGE('R19-FO 2 drill','unknown role plated passage', - #2527,#28,'R19-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#10155=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10154,.U.); -#10156=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10154,.U.); -#10157=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R19-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R19-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10158=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R19-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R19-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10159=COMPONENT_TERMINATION_PASSAGE('R19-FO 1 drill','unknown role plated passage', - #2527,#28,'R19-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#10160=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10159,.U.); -#10161=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10159,.U.); -#10162=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R19-2','part generic feature',#15, - .T.); -#10163=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10162, - #10155); -#10164=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10165,'',$,#10162,#25,*); -#10165=AXIS2_PLACEMENT_2D('',#10167,#10166); -#10166=DIRECTION('',(1.0,0.0)); -#10167=CARTESIAN_POINT('',(7366000.0,1.4986E7)); -#10168=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10162); -#10169=PHYSICAL_COMPONENT_TERMINAL('R19-2','interconnect module component terminal', - #49,.U.); -#10170=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R19-1','part generic feature',#15, - .T.); -#10171=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10170, - #10160); -#10172=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10173,'',$,#10170,#25,*); -#10173=AXIS2_PLACEMENT_2D('',#10175,#10174); -#10174=DIRECTION('',(1.0,0.0)); -#10175=CARTESIAN_POINT('',(6096000.0,1.4986E7)); -#10176=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10170); -#10177=PHYSICAL_COMPONENT_TERMINAL('R19-1','interconnect module component terminal', - #49,.U.); -#10178=FOOTPRINT_OCCURRENCE('CR5-FO',$,#266,#28,'CR5-FO','definition usage',$,#267, - *,'',$,*); -#10179=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR5-FO','',$,#34,#267,'CR5-FO', - '',$,#10178,*); -#10180=PRODUCT_DEFINITION_SHAPE('',$,#10179); -#10181=COMPONENT_2D_LOCATION(*,#10180,'component 2d location',$,#268,#36,#1234); -#10182=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR5-FO 2 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR5-FO 2 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10183=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR5-FO 2 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR5-FO 2 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10184=COMPONENT_TERMINATION_PASSAGE('CR5-FO 2 drill','unknown role plated passage', - #3309,#28,'CR5-FO 2 drill','definition usage',$,#3310,*,'',$,*); -#10185=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10184,.U.); -#10186=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10184,.U.); -#10187=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR5-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR5-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10188=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR5-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR5-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10189=COMPONENT_TERMINATION_PASSAGE('CR5-FO 1 drill','unknown role plated passage', - #2527,#28,'CR5-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#10190=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10189,.U.); -#10191=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10189,.U.); -#10192=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR5-2','part generic feature',#15, - .T.); -#10193=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10192, - #10185); -#10194=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#10195,'',$,#10192,#25,*); -#10195=AXIS2_PLACEMENT_2D('',#10197,#10196); -#10196=DIRECTION('',(6.123233995736766E-17,1.0)); -#10197=CARTESIAN_POINT('',(6604000.0,1.7018E7)); -#10198=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10192); -#10199=PHYSICAL_COMPONENT_TERMINAL('CR5-2','interconnect module component terminal', - #49,.U.); -#10200=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR5-1','part generic feature',#15, - .T.); -#10201=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10200, - #10190); -#10202=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10203,'',$,#10200,#25,*); -#10203=AXIS2_PLACEMENT_2D('',#10205,#10204); -#10204=DIRECTION('',(6.123233995736766E-17,1.0)); -#10205=CARTESIAN_POINT('',(6604000.0,1.5748E7)); -#10206=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10200); -#10207=PHYSICAL_COMPONENT_TERMINAL('CR5-1','interconnect module component terminal', - #49,.U.); -#10208=FOOTPRINT_OCCURRENCE('C12-FO',$,#121,#28,'C12-FO','definition usage',$,#122, - *,'',$,*); -#10209=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C12-FO','',$,#34,#122,'C12-FO', - '',$,#10208,*); -#10210=PRODUCT_DEFINITION_SHAPE('',$,#10209); -#10211=COMPONENT_2D_LOCATION(*,#10210,'component 2d location',$,#123,#36,#1079); -#10212=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C12-FO 2 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C12-FO 2 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10213=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C12-FO 2 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C12-FO 2 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10214=COMPONENT_TERMINATION_PASSAGE('C12-FO 2 drill','unknown role plated passage', - #2685,#28,'C12-FO 2 drill','definition usage',$,#2686,*,'',$,*); -#10215=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10214,.U.); -#10216=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10214,.U.); -#10217=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C12-FO 1 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C12-FO 1 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10218=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C12-FO 1 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C12-FO 1 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10219=COMPONENT_TERMINATION_PASSAGE('C12-FO 1 drill','unknown role plated passage', - #2685,#28,'C12-FO 1 drill','definition usage',$,#2686,*,'',$,*); -#10220=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10219,.U.); -#10221=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10219,.U.); -#10222=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C12-1','part generic feature',#15, - .T.); -#10223=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10222, - #10220); -#10224=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#10225,'',$,#10222,#25,*); -#10225=AXIS2_PLACEMENT_2D('',#10227,#10226); -#10226=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#10227=CARTESIAN_POINT('',(8128000.0,1.7526E7)); -#10228=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10222); -#10229=PHYSICAL_COMPONENT_TERMINAL('C12-1','interconnect module component terminal', - #49,.U.); -#10230=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C12-2','part generic feature',#15, - .T.); -#10231=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10230, - #10215); -#10232=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#10233,'',$,#10230,#25,*); -#10233=AXIS2_PLACEMENT_2D('',#10235,#10234); -#10234=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#10235=CARTESIAN_POINT('',(8128000.0,1.6256E7)); -#10236=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10230); -#10237=PHYSICAL_COMPONENT_TERMINAL('C12-2','interconnect module component terminal', - #49,.U.); -#10238=FOOTPRINT_OCCURRENCE('C14-FO',$,#218,#28,'C14-FO','definition usage',$,#219, - *,'',$,*); -#10239=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C14-FO','',$,#34,#219,'C14-FO', - '',$,#10238,*); -#10240=PRODUCT_DEFINITION_SHAPE('',$,#10239); -#10241=COMPONENT_2D_LOCATION(*,#10240,'component 2d location',$,#220,#36,#1097); -#10242=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C14-FO 2 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('C14-FO 2 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10243=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C14-FO 2 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('C14-FO 2 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10244=COMPONENT_TERMINATION_PASSAGE('C14-FO 2 drill','unknown role plated passage', - #3001,#28,'C14-FO 2 drill','definition usage',$,#3002,*,'',$,*); -#10245=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10244,.U.); -#10246=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10244,.U.); -#10247=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C14-FO 1 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('C14-FO 1 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10248=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C14-FO 1 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('C14-FO 1 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10249=COMPONENT_TERMINATION_PASSAGE('C14-FO 1 drill','unknown role plated passage', - #3309,#28,'C14-FO 1 drill','definition usage',$,#3310,*,'',$,*); -#10250=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10249,.U.); -#10251=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10249,.U.); -#10252=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C14-1','part generic feature',#15, - .T.); -#10253=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10252, - #10250); -#10254=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#10255,'',$,#10252,#25,*); -#10255=AXIS2_PLACEMENT_2D('',#10257,#10256); -#10256=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#10257=CARTESIAN_POINT('',(9144000.0,1.7272E7)); -#10258=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10252); -#10259=PHYSICAL_COMPONENT_TERMINAL('C14-1','interconnect module component terminal', - #49,.U.); -#10260=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C14-2','part generic feature',#15, - .T.); -#10261=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10260, - #10245); -#10262=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10263,'',$,#10260,#25,*); -#10263=AXIS2_PLACEMENT_2D('',#10265,#10264); -#10264=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#10265=CARTESIAN_POINT('',(9144000.0,1.524E7)); -#10266=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10260); -#10267=PHYSICAL_COMPONENT_TERMINAL('C14-2','interconnect module component terminal', - #49,.U.); -#10268=FOOTPRINT_OCCURRENCE('CR3-FO',$,#266,#28,'CR3-FO','definition usage',$,#267, - *,'',$,*); -#10269=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR3-FO','',$,#34,#267,'CR3-FO', - '',$,#10268,*); -#10270=PRODUCT_DEFINITION_SHAPE('',$,#10269); -#10271=COMPONENT_2D_LOCATION(*,#10270,'component 2d location',$,#268,#36,#1216); -#10272=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR3-FO 2 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR3-FO 2 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10273=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR3-FO 2 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR3-FO 2 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10274=COMPONENT_TERMINATION_PASSAGE('CR3-FO 2 drill','unknown role plated passage', - #3309,#28,'CR3-FO 2 drill','definition usage',$,#3310,*,'',$,*); -#10275=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10274,.U.); -#10276=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10274,.U.); -#10277=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR3-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR3-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10278=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR3-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR3-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10279=COMPONENT_TERMINATION_PASSAGE('CR3-FO 1 drill','unknown role plated passage', - #2527,#28,'CR3-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#10280=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10279,.U.); -#10281=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10279,.U.); -#10282=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR3-2','part generic feature',#15, - .T.); -#10283=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10282, - #10275); -#10284=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#10285,'',$,#10282,#25,*); -#10285=AXIS2_PLACEMENT_2D('',#10287,#10286); -#10286=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#10287=CARTESIAN_POINT('',(9906000.0,9144000.0)); -#10288=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10282); -#10289=PHYSICAL_COMPONENT_TERMINAL('CR3-2','interconnect module component terminal', - #49,.U.); -#10290=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR3-1','part generic feature',#15, - .T.); -#10291=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10290, - #10280); -#10292=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10293,'',$,#10290,#25,*); -#10293=AXIS2_PLACEMENT_2D('',#10295,#10294); -#10294=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#10295=CARTESIAN_POINT('',(9906000.0,1.0414E7)); -#10296=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10290); -#10297=PHYSICAL_COMPONENT_TERMINAL('CR3-1','interconnect module component terminal', - #49,.U.); -#10298=FOOTPRINT_OCCURRENCE('C19-FO',$,#170,#28,'C19-FO','definition usage',$,#171, - *,'',$,*); -#10299=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C19-FO','',$,#34,#171,'C19-FO', - '',$,#10298,*); -#10300=PRODUCT_DEFINITION_SHAPE('',$,#10299); -#10301=COMPONENT_2D_LOCATION(*,#10300,'component 2d location',$,#172,#36,#1142); -#10302=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C19-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C19-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10303=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C19-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C19-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10304=COMPONENT_TERMINATION_PASSAGE('C19-FO 2 drill','unknown role plated passage', - #2527,#28,'C19-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#10305=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10304,.U.); -#10306=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10304,.U.); -#10307=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C19-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('C19-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10308=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C19-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('C19-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10309=COMPONENT_TERMINATION_PASSAGE('C19-FO 1 drill','unknown role plated passage', - #2527,#28,'C19-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#10310=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10309,.U.); -#10311=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10309,.U.); -#10312=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C19-2','part generic feature',#15, - .T.); -#10313=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10312, - #10305); -#10314=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10315,'',$,#10312,#25,*); -#10315=AXIS2_PLACEMENT_2D('',#10317,#10316); -#10316=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10317=CARTESIAN_POINT('',(762000.0000000009,8128000.000000001)); -#10318=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10312); -#10319=PHYSICAL_COMPONENT_TERMINAL('C19-2','interconnect module component terminal', - #49,.U.); -#10320=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C19-1','part generic feature',#15, - .T.); -#10321=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10320, - #10310); -#10322=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10323,'',$,#10320,#25,*); -#10323=AXIS2_PLACEMENT_2D('',#10325,#10324); -#10324=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10325=CARTESIAN_POINT('',(6350000.0,8128000.0)); -#10326=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10320); -#10327=PHYSICAL_COMPONENT_TERMINAL('C19-1','interconnect module component terminal', - #49,.U.); -#10328=FOOTPRINT_OCCURRENCE('Q2-FO',$,#451,#28,'Q2-FO','definition usage',$,#452, - *,'',$,*); -#10329=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('Q2-FO','',$,#34,#452,'Q2-FO', - '',$,#10328,*); -#10330=PRODUCT_DEFINITION_SHAPE('',$,#10329); -#10331=COMPONENT_2D_LOCATION(*,#10330,'component 2d location',$,#453,#36,#1327); -#10332=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q2-FO 3 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q2-FO 3 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10333=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q2-FO 3 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q2-FO 3 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10334=COMPONENT_TERMINATION_PASSAGE('Q2-FO 3 drill','unknown role plated passage', - #2685,#28,'Q2-FO 3 drill','definition usage',$,#2686,*,'',$,*); -#10335=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10334,.U.); -#10336=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10334,.U.); -#10337=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q2-FO 2 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q2-FO 2 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10338=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q2-FO 2 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q2-FO 2 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10339=COMPONENT_TERMINATION_PASSAGE('Q2-FO 2 drill','unknown role plated passage', - #2685,#28,'Q2-FO 2 drill','definition usage',$,#2686,*,'',$,*); -#10340=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10339,.U.); -#10341=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10339,.U.); -#10342=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q2-FO 1 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q2-FO 1 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10343=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q2-FO 1 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q2-FO 1 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10344=COMPONENT_TERMINATION_PASSAGE('Q2-FO 1 drill','unknown role plated passage', - #3309,#28,'Q2-FO 1 drill','definition usage',$,#3310,*,'',$,*); -#10345=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10344,.U.); -#10346=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10344,.U.); -#10347=INTERCONNECT_MODULE_INTERFACE_TERMINAL('Q2-2','part generic feature',#15, - .T.); -#10348=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10347, - #10340); -#10349=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#10350,'',$,#10347,#25,*); -#10350=AXIS2_PLACEMENT_2D('',#10352,#10351); -#10351=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10352=CARTESIAN_POINT('',(7366000.0,7874000.0)); -#10353=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10347); -#10354=PHYSICAL_COMPONENT_TERMINAL('Q2-2','interconnect module component terminal', - #49,.U.); -#10355=INTERCONNECT_MODULE_INTERFACE_TERMINAL('Q2-1','part generic feature',#15, - .T.); -#10356=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10355, - #10345); -#10357=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#10358,'',$,#10355,#25,*); -#10358=AXIS2_PLACEMENT_2D('',#10360,#10359); -#10359=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10360=CARTESIAN_POINT('',(7620000.0,7620000.0)); -#10361=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10355); -#10362=PHYSICAL_COMPONENT_TERMINAL('Q2-1','interconnect module component terminal', - #49,.U.); -#10363=INTERCONNECT_MODULE_INTERFACE_TERMINAL('Q2-3','part generic feature',#15, - .T.); -#10364=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10363, - #10335); -#10365=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#10366,'',$,#10363,#25,*); -#10366=AXIS2_PLACEMENT_2D('',#10368,#10367); -#10367=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#10368=CARTESIAN_POINT('',(7112000.0,7620000.0)); -#10369=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10363); -#10370=PHYSICAL_COMPONENT_TERMINAL('Q2-3','interconnect module component terminal', - #49,.U.); -#10371=FOOTPRINT_OCCURRENCE('CR2-FO',$,#266,#28,'CR2-FO','definition usage',$,#267, - *,'',$,*); -#10372=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CR2-FO','',$,#34,#267,'CR2-FO', - '',$,#10371,*); -#10373=PRODUCT_DEFINITION_SHAPE('',$,#10372); -#10374=COMPONENT_2D_LOCATION(*,#10373,'component 2d location',$,#268,#36,#1207); -#10375=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR2-FO 2 SIGNAL_12','functional land', - #3409,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR2-FO 2 SIGNAL_12','definition usage', - $,#3410,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10376=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR2-FO 2 SIGNAL_1','functional land', - #3383,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR2-FO 2 SIGNAL_1','definition usage', - $,#3384,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10377=COMPONENT_TERMINATION_PASSAGE('CR2-FO 2 drill','unknown role plated passage', - #3309,#28,'CR2-FO 2 drill','definition usage',$,#3310,*,'',$,*); -#10378=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10377,.U.); -#10379=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10377,.U.); -#10380=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR2-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR2-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10381=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('CR2-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('CR2-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10382=COMPONENT_TERMINATION_PASSAGE('CR2-FO 1 drill','unknown role plated passage', - #2527,#28,'CR2-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#10383=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10382,.U.); -#10384=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10382,.U.); -#10385=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR2-2','part generic feature',#15, - .T.); -#10386=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10385, - #10378); -#10387=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17736,#10388,'',$,#10385,#25,*); -#10388=AXIS2_PLACEMENT_2D('',#10390,#10389); -#10389=DIRECTION('',(6.123233995736766E-17,1.0)); -#10390=CARTESIAN_POINT('',(1.0668E7,1.7018E7)); -#10391=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10385); -#10392=PHYSICAL_COMPONENT_TERMINAL('CR2-2','interconnect module component terminal', - #49,.U.); -#10393=INTERCONNECT_MODULE_INTERFACE_TERMINAL('CR2-1','part generic feature',#15, - .T.); -#10394=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10393, - #10383); -#10395=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10396,'',$,#10393,#25,*); -#10396=AXIS2_PLACEMENT_2D('',#10398,#10397); -#10397=DIRECTION('',(6.123233995736766E-17,1.0)); -#10398=CARTESIAN_POINT('',(1.0668E7,1.5748E7)); -#10399=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10393); -#10400=PHYSICAL_COMPONENT_TERMINAL('CR2-1','interconnect module component terminal', - #49,.U.); -#10401=FOOTPRINT_OCCURRENCE('VR1-FO',$,#600,#28,'VR1-FO','definition usage',$,#601, - *,'',$,*); -#10402=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VR1-FO','',$,#34,#601,'VR1-FO', - '',$,#10401,*); -#10403=PRODUCT_DEFINITION_SHAPE('',$,#10402); -#10404=COMPONENT_2D_LOCATION(*,#10403,'component 2d location',$,#602,#36,#1675); -#10405=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR1-FO 2 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR1-FO 2 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10406=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR1-FO 2 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR1-FO 2 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10407=COMPONENT_TERMINATION_PASSAGE('VR1-FO 2 drill','unknown role plated passage', - #2843,#28,'VR1-FO 2 drill','definition usage',$,#2844,*,'',$,*); -#10408=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10407,.U.); -#10409=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10407,.U.); -#10410=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR1-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR1-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10411=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('VR1-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('VR1-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10412=COMPONENT_TERMINATION_PASSAGE('VR1-FO 1 drill','unknown role plated passage', - #2527,#28,'VR1-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#10413=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10412,.U.); -#10414=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10412,.U.); -#10415=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR1-2','part generic feature',#15, - .T.); -#10416=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10415, - #10408); -#10417=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#10418,'',$,#10415,#25,*); -#10418=AXIS2_PLACEMENT_2D('',#10420,#10419); -#10419=DIRECTION('',(6.123233995736766E-17,1.0)); -#10420=CARTESIAN_POINT('',(1.5748E7,1.651E7)); -#10421=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10415); -#10422=PHYSICAL_COMPONENT_TERMINAL('VR1-2','interconnect module component terminal', - #49,.U.); -#10423=INTERCONNECT_MODULE_INTERFACE_TERMINAL('VR1-1','part generic feature',#15, - .T.); -#10424=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10423, - #10413); -#10425=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10426,'',$,#10423,#25,*); -#10426=AXIS2_PLACEMENT_2D('',#10428,#10427); -#10427=DIRECTION('',(6.123233995736766E-17,1.0)); -#10428=CARTESIAN_POINT('',(1.5748E7,1.4478E7)); -#10429=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10423); -#10430=PHYSICAL_COMPONENT_TERMINAL('VR1-1','interconnect module component terminal', - #49,.U.); -#10431=FOOTPRINT_OCCURRENCE('Q3-FO',$,#480,#28,'Q3-FO','definition usage',$,#481, - *,'',$,*); -#10432=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('Q3-FO','',$,#34,#481,'Q3-FO', - '',$,#10431,*); -#10433=PRODUCT_DEFINITION_SHAPE('',$,#10432); -#10434=COMPONENT_2D_LOCATION(*,#10433,'component 2d location',$,#482,#36,#1346); -#10435=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q3-FO 3 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q3-FO 3 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10436=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q3-FO 3 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q3-FO 3 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10437=COMPONENT_TERMINATION_PASSAGE('Q3-FO 3 drill','unknown role plated passage', - #3001,#28,'Q3-FO 3 drill','definition usage',$,#3002,*,'',$,*); -#10438=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10437,.U.); -#10439=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10437,.U.); -#10440=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q3-FO 2 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q3-FO 2 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10441=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q3-FO 2 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q3-FO 2 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10442=COMPONENT_TERMINATION_PASSAGE('Q3-FO 2 drill','unknown role plated passage', - #3001,#28,'Q3-FO 2 drill','definition usage',$,#3002,*,'',$,*); -#10443=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10442,.U.); -#10444=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10442,.U.); -#10445=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q3-FO 1 SIGNAL_12','functional land', - #3101,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q3-FO 1 SIGNAL_12','definition usage', - $,#3102,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10446=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('Q3-FO 1 SIGNAL_1','functional land', - #3075,#28)PRODUCT_DEFINITION_RELATIONSHIP('Q3-FO 1 SIGNAL_1','definition usage', - $,#3076,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10447=COMPONENT_TERMINATION_PASSAGE('Q3-FO 1 drill','unknown role plated passage', - #3001,#28,'Q3-FO 1 drill','definition usage',$,#3002,*,'',$,*); -#10448=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10447,.U.); -#10449=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10447,.U.); -#10450=INTERCONNECT_MODULE_INTERFACE_TERMINAL('Q3-1','part generic feature',#15, - .T.); -#10451=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10450, - #10448); -#10452=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10453,'',$,#10450,#25,*); -#10453=AXIS2_PLACEMENT_2D('',#10455,#10454); -#10454=DIRECTION('',(1.0,0.0)); -#10455=CARTESIAN_POINT('',(6096000.0,1.3716E7)); -#10456=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10450); -#10457=PHYSICAL_COMPONENT_TERMINAL('Q3-1','interconnect module component terminal', - #49,.U.); -#10458=INTERCONNECT_MODULE_INTERFACE_TERMINAL('Q3-2','part generic feature',#15, - .T.); -#10459=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10458, - #10443); -#10460=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10461,'',$,#10458,#25,*); -#10461=AXIS2_PLACEMENT_2D('',#10463,#10462); -#10462=DIRECTION('',(1.0,0.0)); -#10463=CARTESIAN_POINT('',(6350000.0,1.397E7)); -#10464=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10458); -#10465=PHYSICAL_COMPONENT_TERMINAL('Q3-2','interconnect module component terminal', - #49,.U.); -#10466=INTERCONNECT_MODULE_INTERFACE_TERMINAL('Q3-3','part generic feature',#15, - .T.); -#10467=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10466, - #10438); -#10468=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17738,#10469,'',$,#10466,#25,*); -#10469=AXIS2_PLACEMENT_2D('',#10471,#10470); -#10470=DIRECTION('',(1.0,0.0)); -#10471=CARTESIAN_POINT('',(6604000.0,1.3716E7)); -#10472=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10466); -#10473=PHYSICAL_COMPONENT_TERMINAL('Q3-3','interconnect module component terminal', - #49,.U.); -#10474=FOOTPRINT_OCCURRENCE('C10-FO',$,#194,#28,'C10-FO','definition usage',$,#195, - *,'',$,*); -#10475=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C10-FO','',$,#34,#195,'C10-FO', - '',$,#10474,*); -#10476=PRODUCT_DEFINITION_SHAPE('',$,#10475); -#10477=COMPONENT_2D_LOCATION(*,#10476,'component 2d location',$,#196,#36,#1061); -#10478=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C10-FO 2 SIGNAL_12','functional land', - #2785,#28)PRODUCT_DEFINITION_RELATIONSHIP('C10-FO 2 SIGNAL_12','definition usage', - $,#2786,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10479=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C10-FO 2 SIGNAL_1','functional land', - #2759,#28)PRODUCT_DEFINITION_RELATIONSHIP('C10-FO 2 SIGNAL_1','definition usage', - $,#2760,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10480=COMPONENT_TERMINATION_PASSAGE('C10-FO 2 drill','unknown role plated passage', - #2685,#28,'C10-FO 2 drill','definition usage',$,#2686,*,'',$,*); -#10481=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10480,.U.); -#10482=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10480,.U.); -#10483=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C10-FO 1 SIGNAL_12','functional land', - #2943,#28)PRODUCT_DEFINITION_RELATIONSHIP('C10-FO 1 SIGNAL_12','definition usage', - $,#2944,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10484=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C10-FO 1 SIGNAL_1','functional land', - #2917,#28)PRODUCT_DEFINITION_RELATIONSHIP('C10-FO 1 SIGNAL_1','definition usage', - $,#2918,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10485=COMPONENT_TERMINATION_PASSAGE('C10-FO 1 drill','unknown role plated passage', - #2843,#28,'C10-FO 1 drill','definition usage',$,#2844,*,'',$,*); -#10486=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10485,.U.); -#10487=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10485,.U.); -#10488=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C10-1','part generic feature',#15, - .T.); -#10489=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10488, - #10486); -#10490=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17739,#10491,'',$,#10488,#25,*); -#10491=AXIS2_PLACEMENT_2D('',#10493,#10492); -#10492=DIRECTION('',(6.123233995736766E-17,1.0)); -#10493=CARTESIAN_POINT('',(7112000.0,1.5748E7)); -#10494=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10488); -#10495=PHYSICAL_COMPONENT_TERMINAL('C10-1','interconnect module component terminal', - #49,.U.); -#10496=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C10-2','part generic feature',#15, - .T.); -#10497=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10496, - #10481); -#10498=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17737,#10499,'',$,#10496,#25,*); -#10499=AXIS2_PLACEMENT_2D('',#10501,#10500); -#10500=DIRECTION('',(6.123233995736766E-17,1.0)); -#10501=CARTESIAN_POINT('',(7112000.0,1.7272E7)); -#10502=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10496); -#10503=PHYSICAL_COMPONENT_TERMINAL('C10-2','interconnect module component terminal', - #49,.U.); -#10504=FOOTPRINT_OCCURRENCE('R1-FO',$,#504,#28,'R1-FO','definition usage',$,#505, - *,'',$,*); -#10505=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R1-FO','',$,#34,#505,'R1-FO', - '',$,#10504,*); -#10506=PRODUCT_DEFINITION_SHAPE('',$,#10505); -#10507=COMPONENT_2D_LOCATION(*,#10506,'component 2d location',$,#506,#36,#1365); -#10508=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R1-FO 2 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R1-FO 2 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10509=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R1-FO 2 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R1-FO 2 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10510=COMPONENT_TERMINATION_PASSAGE('R1-FO 2 drill','unknown role plated passage', - #2527,#28,'R1-FO 2 drill','definition usage',$,#2528,*,'',$,*); -#10511=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10510,.U.); -#10512=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10510,.U.); -#10513=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R1-FO 1 SIGNAL_12','functional land', - #2627,#28)PRODUCT_DEFINITION_RELATIONSHIP('R1-FO 1 SIGNAL_12','definition usage', - $,#2628,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10514=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R1-FO 1 SIGNAL_1','functional land', - #2601,#28)PRODUCT_DEFINITION_RELATIONSHIP('R1-FO 1 SIGNAL_1','definition usage', - $,#2602,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#10515=COMPONENT_TERMINATION_PASSAGE('R1-FO 1 drill','unknown role plated passage', - #2527,#28,'R1-FO 1 drill','definition usage',$,#2528,*,'',$,*); -#10516=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #10515,.U.); -#10517=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #10515,.U.); -#10518=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R1-1','part generic feature',#15, - .T.); -#10519=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10518, - #10516); -#10520=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10521,'',$,#10518,#25,*); -#10521=AXIS2_PLACEMENT_2D('',#10523,#10522); -#10522=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#10523=CARTESIAN_POINT('',(1.1176E7,1.7018E7)); -#10524=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10518); -#10525=PHYSICAL_COMPONENT_TERMINAL('R1-1','interconnect module component terminal', - #49,.U.); -#10526=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R1-2','part generic feature',#15, - .T.); -#10527=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#10526, - #10511); -#10528=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#17735,#10529,'',$,#10526,#25,*); -#10529=AXIS2_PLACEMENT_2D('',#10531,#10530); -#10530=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#10531=CARTESIAN_POINT('',(1.1176E7,1.5748E7)); -#10532=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#10526); -#10533=PHYSICAL_COMPONENT_TERMINAL('R1-2','interconnect module component terminal', - #49,.U.); -#10534=PHYSICAL_NETWORK('NET_NO_1','unrouted physical network',#34,.U.); -#10535=JOIN_SHAPE_ASPECT('unrouted join',$,#34,.U.); -#10536=CARTESIAN_POINT('',(3555999.9987205407,690244.9999158317)); -#10537=LAYER_CONNECTION_POINT('tracktotrack1','explicitly located',#2327,.U.); -#10538=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#15468,#15469,#10539,#15470,#15471), - #15467); -#10539=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(63500.0),#17)REPRESENTATION_ITEM('curve width')); -#10540=(LENGTH_MEASURE_WITH_UNIT()MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19) - UNCERTAINTY_MEASURE_WITH_UNIT('',$)); -#10541=PRODUCT('trace template 3','template',$,(#22901)); -#10542=PRODUCT_DEFINITION_FORMATION('1',$,#10541); -#10543=TRACE_TEMPLATE('1',$,#10542,#28,'',$,*); -#10544=POLYLINE('centreline',(#10545,#10546,#10547)); -#10545=CARTESIAN_POINT('',(3556000.0,698500.0)); -#10546=CARTESIAN_POINT('',(3556000.0,1.0922E7)); -#10547=CARTESIAN_POINT('',(3810000.0,1.1938E7)); -#10548=PATH_AREA_WITH_PARAMETERS('',#20776,#10544); -#10549=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_10-1', - $,#10542,#28,'NET_NO_10-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26286, - #10548); -#10550=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_10-1','',$,#34,#10543, - 'NET_NO_10-1','',$,#10549,*); -#10551=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10549,.U.); -#10552=LAYER_CONNECTION_POINT('PHYSICAL_2 L2-FO : 2','dependently located',#2327, - .U.); -#10553=CARTESIAN_POINT('',(3810000.0,1.1938E7)); -#10554=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10549,.U.); -#10555=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10549,.U.,'',$,#10551, - #10554); -#10556=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#15473,#15474,#10557,#15475,#15476), - #15472); -#10557=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(30480.0),#17)REPRESENTATION_ITEM('curve width')); -#10558=PRODUCT('trace template 4','template',$,(#22901)); -#10559=PRODUCT_DEFINITION_FORMATION('1',$,#10558); -#10560=TRACE_TEMPLATE('1',$,#10559,#28,'',$,*); -#10561=POLYLINE('centreline',(#10562,#10563)); -#10562=CARTESIAN_POINT('',(3556000.0,254000.0)); -#10563=CARTESIAN_POINT('',(3556000.0,698500.0)); -#10564=PATH_AREA_WITH_PARAMETERS('',#20777,#10561); -#10565=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_10-0', - $,#10559,#28,'NET_NO_10-0','definition usage',$,#10560,*,'',$,*,'',$,*,#26291, - #10564); -#10566=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_10-0','',$,#34,#10560, - 'NET_NO_10-0','',$,#10565,*); -#10567=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 104','dependently located',#2327, - .U.); -#10568=CARTESIAN_POINT('',(3556000.0,254000.00000000146)); -#10569=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10565,.U.); -#10570=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10565,.U.); -#10571=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10565,.U.,'',$,#10569, - #10570); -#10572=STRATUM_FEATURE('1','conductor',#2327,.U.); -#10573=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10574=PHYSICAL_NETWORK('NET_NO_10','routed physical network',#34,.U.); -#10575=POLYLINE('centreline',(#10576,#10577,#10578,#10579,#10580,#10581,#10582,#10583, - #10584)); -#10576=CARTESIAN_POINT('',(3048000.0,1.524E7)); -#10577=CARTESIAN_POINT('',(3175000.0,1.4351E7)); -#10578=CARTESIAN_POINT('',(3175000.0,1.22555E7)); -#10579=CARTESIAN_POINT('',(4191000.0,1.22555E7)); -#10580=CARTESIAN_POINT('',(4191000.0,1.04775E7)); -#10581=CARTESIAN_POINT('',(3810000.0,1.04775E7)); -#10582=CARTESIAN_POINT('',(3810000.0,2222500.0)); -#10583=CARTESIAN_POINT('',(3683000.0,2222500.0)); -#10584=CARTESIAN_POINT('',(3683000.0,508000.0)); -#10585=PATH_AREA_WITH_PARAMETERS('',#20776,#10575); -#10586=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_11-0', - $,#10542,#28,'NET_NO_11-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26296, - #10585); -#10587=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_11-0','',$,#34,#10543, - 'NET_NO_11-0','',$,#10586,*); -#10588=LAYER_CONNECTION_POINT('PHYSICAL_2 T2-FO : 4','dependently located',#2327, - .U.); -#10589=CARTESIAN_POINT('',(3048000.0,1.524E7)); -#10590=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10586,.U.); -#10591=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 47','dependently located',#2327, - .U.); -#10592=CARTESIAN_POINT('',(3683000.0,508000.00000000146)); -#10593=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10586,.U.); -#10594=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10586,.U.,'',$,#10590, - #10593); -#10595=STRATUM_FEATURE('2','conductor',#2327,.U.); -#10596=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10597=PHYSICAL_NETWORK('NET_NO_11','routed physical network',#34,.U.); -#10598=POLYLINE('centreline',(#10599,#10600,#10601,#10602,#10603)); -#10599=CARTESIAN_POINT('',(4064000.0,1.524E7)); -#10600=CARTESIAN_POINT('',(4572000.0,1.37795E7)); -#10601=CARTESIAN_POINT('',(4572000.0,1587500.0)); -#10602=CARTESIAN_POINT('',(3937000.0,1587500.0)); -#10603=CARTESIAN_POINT('',(3937000.0,508000.0)); -#10604=PATH_AREA_WITH_PARAMETERS('',#20776,#10598); -#10605=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_12-0', - $,#10542,#28,'NET_NO_12-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26301, - #10604); -#10606=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_12-0','',$,#34,#10543, - 'NET_NO_12-0','',$,#10605,*); -#10607=LAYER_CONNECTION_POINT('PHYSICAL_2 T2-FO : 6','dependently located',#2327, - .U.); -#10608=CARTESIAN_POINT('',(4064000.0,1.524E7)); -#10609=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10605,.U.); -#10610=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 46','dependently located',#2327, - .U.); -#10611=CARTESIAN_POINT('',(3937000.0,508000.0000000014)); -#10612=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10605,.U.); -#10613=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10605,.U.,'',$,#10609, - #10612); -#10614=STRATUM_FEATURE('3','conductor',#2327,.U.); -#10615=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10616=PHYSICAL_NETWORK('NET_NO_12','routed physical network',#34,.U.); -#10617=CARTESIAN_POINT('',(2793999.998682441,753744.9999158317)); -#10618=LAYER_CONNECTION_POINT('tracktotrack2','explicitly located',#2331,.U.); -#10619=POLYLINE('centreline',(#10620,#10621,#10622,#10623,#10624)); -#10620=CARTESIAN_POINT('',(3048000.0,254000.0)); -#10621=CARTESIAN_POINT('',(2921000.0,381000.0)); -#10622=CARTESIAN_POINT('',(2857500.0,381000.0)); -#10623=CARTESIAN_POINT('',(2794000.0,444500.0)); -#10624=CARTESIAN_POINT('',(2794000.0,762000.0)); -#10625=PATH_AREA_WITH_PARAMETERS('',#20777,#10619); -#10626=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_13-0', - $,#10559,#28,'NET_NO_13-0','definition usage',$,#10560,*,'',$,*,'',$,*,#26306, - #10625); -#10627=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_13-0','',$,#34,#10560, - 'NET_NO_13-0','',$,#10626,*); -#10628=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 106','dependently located',#2331, - .U.); -#10629=CARTESIAN_POINT('',(3048000.0,254000.0000000015)); -#10630=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10626,.U.); -#10631=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10626,.U.); -#10632=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10626,.U.,'',$,#10630, - #10631); -#10633=POLYLINE('centreline',(#10634,#10635,#10636)); -#10634=CARTESIAN_POINT('',(2794000.0,762000.0)); -#10635=CARTESIAN_POINT('',(2794000.0,4064000.0)); -#10636=CARTESIAN_POINT('',(762000.0,4064000.0)); -#10637=PATH_AREA_WITH_PARAMETERS('',#20776,#10633); -#10638=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_13-1', - $,#10542,#28,'NET_NO_13-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26311, - #10637); -#10639=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_13-1','',$,#34,#10543, - 'NET_NO_13-1','',$,#10638,*); -#10640=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10638,.U.); -#10641=LAYER_CONNECTION_POINT('PHYSICAL_1 C7-FO : 2','dependently located',#2331, - .U.); -#10642=CARTESIAN_POINT('',(762000.0,4064000.0000000005)); -#10643=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10638,.U.); -#10644=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10638,.U.,'',$,#10640, - #10643); -#10645=STRATUM_FEATURE('4','conductor',#2331,.U.); -#10646=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10647=POLYLINE('centreline',(#10648,#10649)); -#10648=CARTESIAN_POINT('',(762000.0,4064000.0)); -#10649=CARTESIAN_POINT('',(762000.0,2032000.0)); -#10650=PATH_AREA_WITH_PARAMETERS('',#20776,#10647); -#10651=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_13-5', - $,#10542,#28,'NET_NO_13-5','definition usage',$,#10543,*,'',$,*,'',$,*,#26316, - #10650); -#10652=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_13-5','',$,#34,#10543, - 'NET_NO_13-5','',$,#10651,*); -#10653=LAYER_CONNECTION_POINT('PHYSICAL_2 C7-FO : 2','dependently located',#2327, - .U.); -#10654=CARTESIAN_POINT('',(762000.0,4064000.0000000005)); -#10655=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10651,.U.); -#10656=LAYER_CONNECTION_POINT('PHYSICAL_2 C6-FO : 2','dependently located',#2327, - .U.); -#10657=CARTESIAN_POINT('',(762000.0,2032000.0000000007)); -#10658=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10651,.U.); -#10659=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10651,.U.,'',$,#10655, - #10658); -#10660=POLYLINE('centreline',(#10661,#10662,#10663,#10664)); -#10661=CARTESIAN_POINT('',(762000.0,8128000.0)); -#10662=CARTESIAN_POINT('',(698500.0,7493000.0)); -#10663=CARTESIAN_POINT('',(698500.0,6667500.0)); -#10664=CARTESIAN_POINT('',(762000.0,6096000.0)); -#10665=PATH_AREA_WITH_PARAMETERS('',#20776,#10660); -#10666=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_13-2', - $,#10542,#28,'NET_NO_13-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26321, - #10665); -#10667=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_13-2','',$,#34,#10543, - 'NET_NO_13-2','',$,#10666,*); -#10668=LAYER_CONNECTION_POINT('PHYSICAL_2 C19-FO : 2','dependently located',#2327, - .U.); -#10669=CARTESIAN_POINT('',(762000.0,8128000.000000001)); -#10670=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10666,.U.); -#10671=LAYER_CONNECTION_POINT('PHYSICAL_2 C16-FO : 2','dependently located',#2327, - .U.); -#10672=CARTESIAN_POINT('',(762000.0,6096000.000000001)); -#10673=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10666,.U.); -#10674=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10666,.U.,'',$,#10670, - #10673); -#10675=POLYLINE('centreline',(#10676,#10677)); -#10676=CARTESIAN_POINT('',(762000.0,8128000.0)); -#10677=CARTESIAN_POINT('',(762000.0,1.016E7)); -#10678=PATH_AREA_WITH_PARAMETERS('',#20776,#10675); -#10679=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_13-6', - $,#10542,#28,'NET_NO_13-6','definition usage',$,#10543,*,'',$,*,'',$,*,#26326, - #10678); -#10680=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_13-6','',$,#34,#10543, - 'NET_NO_13-6','',$,#10679,*); -#10681=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10679,.U.); -#10682=LAYER_CONNECTION_POINT('PHYSICAL_2 C20-FO : 2','dependently located',#2327, - .U.); -#10683=CARTESIAN_POINT('',(762000.0,1.016E7)); -#10684=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10679,.U.); -#10685=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10679,.U.,'',$,#10681, - #10684); -#10686=POLYLINE('centreline',(#10687,#10688)); -#10687=CARTESIAN_POINT('',(762000.0,6096000.0)); -#10688=CARTESIAN_POINT('',(762000.0,4064000.0)); -#10689=PATH_AREA_WITH_PARAMETERS('',#20776,#10686); -#10690=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_13-3', - $,#10542,#28,'NET_NO_13-3','definition usage',$,#10543,*,'',$,*,'',$,*,#26331, - #10689); -#10691=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_13-3','',$,#34,#10543, - 'NET_NO_13-3','',$,#10690,*); -#10692=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10690,.U.); -#10693=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10690,.U.); -#10694=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10690,.U.,'',$,#10692, - #10693); -#10695=POLYLINE('centreline',(#10696,#10697,#10698,#10699)); -#10696=CARTESIAN_POINT('',(762000.0,1.016E7)); -#10697=CARTESIAN_POINT('',(698500.0,1.0795E7)); -#10698=CARTESIAN_POINT('',(698500.0,1.16205E7)); -#10699=CARTESIAN_POINT('',(1016000.0,1.1938E7)); -#10700=PATH_AREA_WITH_PARAMETERS('',#20776,#10695); -#10701=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_13-4', - $,#10542,#28,'NET_NO_13-4','definition usage',$,#10543,*,'',$,*,'',$,*,#26336, - #10700); -#10702=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_13-4','',$,#34,#10543, - 'NET_NO_13-4','',$,#10701,*); -#10703=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10701,.U.); -#10704=LAYER_CONNECTION_POINT('PHYSICAL_2 VR4-FO : 2','dependently located',#2327, - .U.); -#10705=CARTESIAN_POINT('',(1015999.9999999997,1.1938E7)); -#10706=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10701,.U.); -#10707=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10701,.U.,'',$,#10703, - #10706); -#10708=STRATUM_FEATURE('5','conductor',#2327,.U.); -#10709=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10710=JOIN_SHAPE_ASPECT('inter stratum join',$,#34,.U.); -#10711=PHYSICAL_NETWORK('NET_NO_13','routed physical network',#34,.U.); -#10712=POLYLINE('centreline',(#10713,#10714,#10715,#10716)); -#10713=CARTESIAN_POINT('',(1.1811E7,508000.0)); -#10714=CARTESIAN_POINT('',(1.1811E7,2222500.0)); -#10715=CARTESIAN_POINT('',(1.2446E7,2222500.0)); -#10716=CARTESIAN_POINT('',(1.2446E7,1.3208E7)); -#10717=PATH_AREA_WITH_PARAMETERS('',#20776,#10712); -#10718=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_14-0', - $,#10542,#28,'NET_NO_14-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26341, - #10717); -#10719=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_14-0','',$,#34,#10543, - 'NET_NO_14-0','',$,#10718,*); -#10720=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 15','dependently located',#2327, - .U.); -#10721=CARTESIAN_POINT('',(1.1811E7,508000.0000000004)); -#10722=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10718,.U.); -#10723=LAYER_CONNECTION_POINT('PHYSICAL_2 L1-FO : 3','dependently located',#2327, - .U.); -#10724=CARTESIAN_POINT('',(1.2446E7,1.3208E7)); -#10725=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10718,.U.); -#10726=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10718,.U.,'',$,#10722, - #10725); -#10727=STRATUM_FEATURE('6','conductor',#2327,.U.); -#10728=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10729=PHYSICAL_NETWORK('NET_NO_14','routed physical network',#34,.U.); -#10730=CARTESIAN_POINT('',(1.016E7,9144000.0)); -#10731=LAYER_CONNECTION_POINT('tracktotrack3','explicitly located',#2327,.U.); -#10732=CARTESIAN_POINT('',(1.016E7,9144000.0)); -#10733=LAYER_CONNECTION_POINT('tracktotrack4','explicitly located',#2327,.U.); -#10734=CARTESIAN_POINT('',(1.016E7,9144000.0)); -#10735=LAYER_CONNECTION_POINT('tracktotrack5','explicitly located',#2327,.U.); -#10736=POLYLINE('centreline',(#10737,#10738)); -#10737=CARTESIAN_POINT('',(1.016E7,9144000.0)); -#10738=CARTESIAN_POINT('',(1.016E7,1.016E7)); -#10739=PATH_AREA_WITH_PARAMETERS('',#20776,#10736); -#10740=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_15-2', - $,#10542,#28,'NET_NO_15-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26346, - #10739); -#10741=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_15-2','',$,#34,#10543, - 'NET_NO_15-2','',$,#10740,*); -#10742=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10740,.U.); -#10743=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10740,.U.); -#10744=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10740,.U.,'',$,#10742, - #10743); -#10745=LAYER_CONNECTION_POINT('PHYSICAL_2 C18-FO : 1','dependently located',#2327, - .U.); -#10746=CARTESIAN_POINT('',(1.016E7,1.016E7)); -#10747=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #10740,.U.); -#10748=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10740,.U.,'',$,#10743, - #10747); -#10749=POLYLINE('centreline',(#10750,#10751)); -#10750=CARTESIAN_POINT('',(9906000.0,9144000.0)); -#10751=CARTESIAN_POINT('',(1.016E7,9144000.0)); -#10752=PATH_AREA_WITH_PARAMETERS('',#20776,#10749); -#10753=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_15-4', - $,#10542,#28,'NET_NO_15-4','definition usage',$,#10543,*,'',$,*,'',$,*,#26351, - #10752); -#10754=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_15-4','',$,#34,#10543, - 'NET_NO_15-4','',$,#10753,*); -#10755=LAYER_CONNECTION_POINT('PHYSICAL_2 CR3-FO : 2','dependently located',#2327, - .U.); -#10756=CARTESIAN_POINT('',(9906000.0,9144000.0)); -#10757=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10753,.U.); -#10758=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10753,.U.); -#10759=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10753,.U.,'',$,#10757, - #10758); -#10760=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #10753,.U.); -#10761=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10753,.U.,'',$,#10758, - #10760); -#10762=POLYLINE('centreline',(#10763,#10764)); -#10763=CARTESIAN_POINT('',(1.016E7,6096000.0)); -#10764=CARTESIAN_POINT('',(1.016E7,4064000.0)); -#10765=PATH_AREA_WITH_PARAMETERS('',#20776,#10762); -#10766=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_15-5', - $,#10542,#28,'NET_NO_15-5','definition usage',$,#10543,*,'',$,*,'',$,*,#26356, - #10765); -#10767=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_15-5','',$,#34,#10543, - 'NET_NO_15-5','',$,#10766,*); -#10768=LAYER_CONNECTION_POINT('PHYSICAL_2 C15-FO : 1','dependently located',#2327, - .U.); -#10769=CARTESIAN_POINT('',(1.016E7,6096000.0)); -#10770=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10766,.U.); -#10771=LAYER_CONNECTION_POINT('PHYSICAL_2 C4-FO : 1','dependently located',#2327, - .U.); -#10772=CARTESIAN_POINT('',(1.016E7,4064000.0)); -#10773=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10766,.U.); -#10774=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10766,.U.,'',$,#10770, - #10773); -#10775=POLYLINE('centreline',(#10776,#10777,#10778,#10779)); -#10776=CARTESIAN_POINT('',(1.016E7,8128000.0)); -#10777=CARTESIAN_POINT('',(9906000.0,7683500.0)); -#10778=CARTESIAN_POINT('',(9906000.0,6540500.0)); -#10779=CARTESIAN_POINT('',(1.016E7,6096000.0)); -#10780=PATH_AREA_WITH_PARAMETERS('',#20776,#10775); -#10781=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_15-1', - $,#10542,#28,'NET_NO_15-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26361, - #10780); -#10782=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_15-1','',$,#34,#10543, - 'NET_NO_15-1','',$,#10781,*); -#10783=LAYER_CONNECTION_POINT('PHYSICAL_2 C17-FO : 1','dependently located',#2327, - .U.); -#10784=CARTESIAN_POINT('',(1.016E7,8128000.0)); -#10785=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10781,.U.); -#10786=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10781,.U.); -#10787=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10781,.U.,'',$,#10785, - #10786); -#10788=POLYLINE('centreline',(#10789,#10790)); -#10789=CARTESIAN_POINT('',(1.016E7,9144000.0)); -#10790=CARTESIAN_POINT('',(1.016E7,8128000.0)); -#10791=PATH_AREA_WITH_PARAMETERS('',#20776,#10788); -#10792=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_15-0', - $,#10542,#28,'NET_NO_15-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26366, - #10791); -#10793=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_15-0','',$,#34,#10543, - 'NET_NO_15-0','',$,#10792,*); -#10794=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10792,.U.); -#10795=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10792,.U.); -#10796=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10792,.U.,'',$,#10794, - #10795); -#10797=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #10792,.U.); -#10798=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10792,.U.,'',$,#10795, - #10797); -#10799=POLYLINE('centreline',(#10800,#10801)); -#10800=CARTESIAN_POINT('',(1.016E7,4064000.0)); -#10801=CARTESIAN_POINT('',(1.016E7,2032000.0)); -#10802=PATH_AREA_WITH_PARAMETERS('',#20776,#10799); -#10803=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_15-3', - $,#10542,#28,'NET_NO_15-3','definition usage',$,#10543,*,'',$,*,'',$,*,#26371, - #10802); -#10804=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_15-3','',$,#34,#10543, - 'NET_NO_15-3','',$,#10803,*); -#10805=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10803,.U.); -#10806=LAYER_CONNECTION_POINT('PHYSICAL_2 C3-FO : 1','dependently located',#2327, - .U.); -#10807=CARTESIAN_POINT('',(1.016E7,2032000.0)); -#10808=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10803,.U.); -#10809=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10803,.U.,'',$,#10805, - #10808); -#10810=STRATUM_FEATURE('7','conductor',#2327,.U.); -#10811=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10812=POLYLINE('centreline',(#10813,#10814,#10815)); -#10813=CARTESIAN_POINT('',(1.016E7,2032000.0)); -#10814=CARTESIAN_POINT('',(1.2319E7,2032000.0)); -#10815=CARTESIAN_POINT('',(1.2319E7,508000.0)); -#10816=PATH_AREA_WITH_PARAMETERS('',#20776,#10812); -#10817=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_15-6', - $,#10542,#28,'NET_NO_15-6','definition usage',$,#10543,*,'',$,*,'',$,*,#26376, - #10816); -#10818=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_15-6','',$,#34,#10543, - 'NET_NO_15-6','',$,#10817,*); -#10819=LAYER_CONNECTION_POINT('PHYSICAL_1 C3-FO : 1','dependently located',#2331, - .U.); -#10820=CARTESIAN_POINT('',(1.016E7,2032000.0)); -#10821=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10817,.U.); -#10822=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 13','dependently located',#2331, - .U.); -#10823=CARTESIAN_POINT('',(1.2319E7,508000.00000000035)); -#10824=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10817,.U.); -#10825=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10817,.U.,'',$,#10821, - #10824); -#10826=STRATUM_FEATURE('8','conductor',#2331,.U.); -#10827=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10828=JOIN_SHAPE_ASPECT('inter stratum join',$,#34,.U.); -#10829=PHYSICAL_NETWORK('NET_NO_15','routed physical network',#34,.U.); -#10830=CARTESIAN_POINT('',(1.1937999999135751E7,753744.9998832541)); -#10831=LAYER_CONNECTION_POINT('tracktotrack6','explicitly located',#2327,.U.); -#10832=POLYLINE('centreline',(#10833,#10834,#10835,#10836,#10837)); -#10833=CARTESIAN_POINT('',(1.2192E7,254000.0)); -#10834=CARTESIAN_POINT('',(1.2065E7,381000.0)); -#10835=CARTESIAN_POINT('',(1.20015E7,381000.0)); -#10836=CARTESIAN_POINT('',(1.1938E7,444500.0)); -#10837=CARTESIAN_POINT('',(1.1938E7,762000.0)); -#10838=PATH_AREA_WITH_PARAMETERS('',#20777,#10832); -#10839=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_16-0', - $,#10559,#28,'NET_NO_16-0','definition usage',$,#10560,*,'',$,*,'',$,*,#26381, - #10838); -#10840=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_16-0','',$,#34,#10560, - 'NET_NO_16-0','',$,#10839,*); -#10841=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 70','dependently located',#2327, - .U.); -#10842=CARTESIAN_POINT('',(1.2192E7,254000.00000000038)); -#10843=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10839,.U.); -#10844=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10839,.U.); -#10845=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10839,.U.,'',$,#10843, - #10844); -#10846=POLYLINE('centreline',(#10847,#10848,#10849,#10850,#10851,#10852)); -#10847=CARTESIAN_POINT('',(1.1938E7,762000.0)); -#10848=CARTESIAN_POINT('',(1.1938E7,1651000.0)); -#10849=CARTESIAN_POINT('',(1.30175E7,1651000.0)); -#10850=CARTESIAN_POINT('',(1.30175E7,1.04775E7)); -#10851=CARTESIAN_POINT('',(1.4478E7,1.04775E7)); -#10852=CARTESIAN_POINT('',(1.4478E7,1.3208E7)); -#10853=PATH_AREA_WITH_PARAMETERS('',#20776,#10846); -#10854=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_16-1', - $,#10542,#28,'NET_NO_16-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26386, - #10853); -#10855=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_16-1','',$,#34,#10543, - 'NET_NO_16-1','',$,#10854,*); -#10856=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10854,.U.); -#10857=LAYER_CONNECTION_POINT('PHYSICAL_2 L1-FO : 2','dependently located',#2327, - .U.); -#10858=CARTESIAN_POINT('',(1.4478E7,1.3208E7)); -#10859=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10854,.U.); -#10860=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10854,.U.,'',$,#10856, - #10859); -#10861=STRATUM_FEATURE('9','conductor',#2327,.U.); -#10862=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10863=PHYSICAL_NETWORK('NET_NO_16','routed physical network',#34,.U.); -#10864=POLYLINE('centreline',(#10865,#10866)); -#10865=CARTESIAN_POINT('',(1.5748E7,4064000.0)); -#10866=CARTESIAN_POINT('',(1.5748E7,2032000.0)); -#10867=PATH_AREA_WITH_PARAMETERS('',#20776,#10864); -#10868=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_17-4', - $,#10542,#28,'NET_NO_17-4','definition usage',$,#10543,*,'',$,*,'',$,*,#26391, - #10867); -#10869=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_17-4','',$,#34,#10543, - 'NET_NO_17-4','',$,#10868,*); -#10870=LAYER_CONNECTION_POINT('PHYSICAL_2 C4-FO : 2','dependently located',#2327, - .U.); -#10871=CARTESIAN_POINT('',(1.5748E7,4064000.0)); -#10872=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10868,.U.); -#10873=LAYER_CONNECTION_POINT('PHYSICAL_2 C3-FO : 2','dependently located',#2327, - .U.); -#10874=CARTESIAN_POINT('',(1.5748E7,2032000.0)); -#10875=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10868,.U.); -#10876=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10868,.U.,'',$,#10872, - #10875); -#10877=POLYLINE('centreline',(#10878,#10879)); -#10878=CARTESIAN_POINT('',(1.5748E7,6096000.0)); -#10879=CARTESIAN_POINT('',(1.5748E7,4064000.0)); -#10880=PATH_AREA_WITH_PARAMETERS('',#20776,#10877); -#10881=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_17-3', - $,#10542,#28,'NET_NO_17-3','definition usage',$,#10543,*,'',$,*,'',$,*,#26396, - #10880); -#10882=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_17-3','',$,#34,#10543, - 'NET_NO_17-3','',$,#10881,*); -#10883=LAYER_CONNECTION_POINT('PHYSICAL_2 C15-FO : 2','dependently located',#2327, - .U.); -#10884=CARTESIAN_POINT('',(1.5748E7,6096000.0)); -#10885=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10881,.U.); -#10886=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10881,.U.); -#10887=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10881,.U.,'',$,#10885, - #10886); -#10888=POLYLINE('centreline',(#10889,#10890)); -#10889=CARTESIAN_POINT('',(1.5748E7,1.016E7)); -#10890=CARTESIAN_POINT('',(1.5748E7,8128000.0)); -#10891=PATH_AREA_WITH_PARAMETERS('',#20776,#10888); -#10892=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_17-2', - $,#10542,#28,'NET_NO_17-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26401, - #10891); -#10893=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_17-2','',$,#34,#10543, - 'NET_NO_17-2','',$,#10892,*); -#10894=LAYER_CONNECTION_POINT('PHYSICAL_2 C18-FO : 2','dependently located',#2327, - .U.); -#10895=CARTESIAN_POINT('',(1.5748E7,1.016E7)); -#10896=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10892,.U.); -#10897=LAYER_CONNECTION_POINT('PHYSICAL_2 C17-FO : 2','dependently located',#2327, - .U.); -#10898=CARTESIAN_POINT('',(1.5748E7,8128000.0)); -#10899=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10892,.U.); -#10900=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10892,.U.,'',$,#10896, - #10899); -#10901=POLYLINE('centreline',(#10902,#10903,#10904,#10905)); -#10902=CARTESIAN_POINT('',(1.5748E7,6096000.0)); -#10903=CARTESIAN_POINT('',(1.59385E7,6604000.0)); -#10904=CARTESIAN_POINT('',(1.59385E7,7556500.0)); -#10905=CARTESIAN_POINT('',(1.5748E7,8128000.0)); -#10906=PATH_AREA_WITH_PARAMETERS('',#20776,#10901); -#10907=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_17-1', - $,#10542,#28,'NET_NO_17-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26406, - #10906); -#10908=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_17-1','',$,#34,#10543, - 'NET_NO_17-1','',$,#10907,*); -#10909=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10907,.U.); -#10910=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10907,.U.); -#10911=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10907,.U.,'',$,#10909, - #10910); -#10912=POLYLINE('centreline',(#10913,#10914,#10915,#10916)); -#10913=CARTESIAN_POINT('',(1.5748E7,1.016E7)); -#10914=CARTESIAN_POINT('',(1.59385E7,1.06045E7)); -#10915=CARTESIAN_POINT('',(1.59385E7,1.16205E7)); -#10916=CARTESIAN_POINT('',(1.5748E7,1.1938E7)); -#10917=PATH_AREA_WITH_PARAMETERS('',#20776,#10912); -#10918=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_17-0', - $,#10542,#28,'NET_NO_17-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26411, - #10917); -#10919=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_17-0','',$,#34,#10543, - 'NET_NO_17-0','',$,#10918,*); -#10920=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10918,.U.); -#10921=LAYER_CONNECTION_POINT('PHYSICAL_2 VR2-FO : 2','dependently located',#2327, - .U.); -#10922=CARTESIAN_POINT('',(1.5748E7,1.1938E7)); -#10923=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10918,.U.); -#10924=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10918,.U.,'',$,#10920, - #10923); -#10925=STRATUM_FEATURE('10','conductor',#2327,.U.); -#10926=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10927=PHYSICAL_NETWORK('NET_NO_17','routed physical network',#34,.U.); -#10928=JOIN_SHAPE_ASPECT('unrouted join',$,#34,.U.); -#10929=POLYLINE('centreline',(#10930,#10931,#10932)); -#10930=CARTESIAN_POINT('',(1.1176E7,1.7018E7)); -#10931=CARTESIAN_POINT('',(1.397E7,1.7018E7)); -#10932=CARTESIAN_POINT('',(1.397E7,1.6256E7)); -#10933=PATH_AREA_WITH_PARAMETERS('',#20776,#10929); -#10934=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_18-0', - $,#10542,#28,'NET_NO_18-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26416, - #10933); -#10935=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_18-0','',$,#34,#10543, - 'NET_NO_18-0','',$,#10934,*); -#10936=LAYER_CONNECTION_POINT('PHYSICAL_2 R1-FO : 1','dependently located',#2327, - .U.); -#10937=CARTESIAN_POINT('',(1.1176E7,1.7018E7)); -#10938=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10934,.U.); -#10939=LAYER_CONNECTION_POINT('PHYSICAL_2 T1-FO : 1','dependently located',#2327, - .U.); -#10940=CARTESIAN_POINT('',(1.397E7,1.6256E7)); -#10941=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10934,.U.); -#10942=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10934,.U.,'',$,#10938, - #10941); -#10943=STRATUM_FEATURE('11','conductor',#2327,.U.); -#10944=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10945=PHYSICAL_NETWORK('NET_NO_18','routed physical network',#34,.U.); -#10946=POLYLINE('centreline',(#10947,#10948,#10949)); -#10947=CARTESIAN_POINT('',(1.1176E7,1.4732E7)); -#10948=CARTESIAN_POINT('',(1.1176E7,1.524E7)); -#10949=CARTESIAN_POINT('',(1.1684E7,1.524E7)); -#10950=PATH_AREA_WITH_PARAMETERS('',#20776,#10946); -#10951=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_19-0', - $,#10542,#28,'NET_NO_19-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26421, - #10950); -#10952=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_19-0','',$,#34,#10543, - 'NET_NO_19-0','',$,#10951,*); -#10953=LAYER_CONNECTION_POINT('PHYSICAL_2 R4-FO : 1','dependently located',#2327, - .U.); -#10954=CARTESIAN_POINT('',(1.1176E7,1.4732E7)); -#10955=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10951,.U.); -#10956=LAYER_CONNECTION_POINT('PHYSICAL_2 C2-FO : 2','dependently located',#2327, - .U.); -#10957=CARTESIAN_POINT('',(1.1684E7,1.524E7)); -#10958=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10951,.U.); -#10959=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10951,.U.,'',$,#10955, - #10958); -#10960=STRATUM_FEATURE('12','conductor',#2327,.U.); -#10961=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#10962=PHYSICAL_NETWORK('NET_NO_19','routed physical network',#34,.U.); -#10963=CARTESIAN_POINT('',(6096000.0,1.2446E7)); -#10964=LAYER_CONNECTION_POINT('tracktotrack7','explicitly located',#2331,.U.); -#10965=CARTESIAN_POINT('',(6096000.0,1.2446E7)); -#10966=LAYER_CONNECTION_POINT('tracktotrack8','explicitly located',#2331,.U.); -#10967=CARTESIAN_POINT('',(5841999.999966651,1.3716E7)); -#10968=LAYER_CONNECTION_POINT('tracktotrack9','explicitly located',#2331,.U.); -#10969=CARTESIAN_POINT('',(5842000.0,1.3716E7)); -#10970=LAYER_CONNECTION_POINT('tracktotrack10','explicitly located',#2331,.U.); -#10971=CARTESIAN_POINT('',(5842000.0,1.3716E7)); -#10972=LAYER_CONNECTION_POINT('tracktotrack11','explicitly located',#2331,.U.); -#10973=CARTESIAN_POINT('',(6096000.0,1.2446E7)); -#10974=LAYER_CONNECTION_POINT('tracktotrack12','explicitly located',#2331,.U.); -#10975=CARTESIAN_POINT('',(6603998.000350237,1.2446E7)); -#10976=LAYER_CONNECTION_POINT('tracktotrack13','explicitly located',#2331,.U.); -#10977=CARTESIAN_POINT('',(6604000.0,1.2446E7)); -#10978=LAYER_CONNECTION_POINT('tracktotrack14','explicitly located',#2331,.U.); -#10979=CARTESIAN_POINT('',(5842000.0,1.3716E7)); -#10980=LAYER_CONNECTION_POINT('tracktotrack15','explicitly located',#2331,.U.); -#10981=CARTESIAN_POINT('',(5842000.0,1.3716E7)); -#10982=LAYER_CONNECTION_POINT('tracktotrack16','explicitly located',#2331,.U.); -#10983=CARTESIAN_POINT('',(6603999.997984009,1.2445998475597318E7)); -#10984=LAYER_CONNECTION_POINT('tracktotrack17','explicitly located',#2331,.U.); -#10985=CARTESIAN_POINT('',(1.016E7,1.2954E7)); -#10986=LAYER_CONNECTION_POINT('tracktotrack18','explicitly located',#2331,.U.); -#10987=CARTESIAN_POINT('',(5842000.0,1.3716E7)); -#10988=LAYER_CONNECTION_POINT('tracktotrack19','explicitly located',#2331,.U.); -#10989=CARTESIAN_POINT('',(6858000.0,1460500.0)); -#10990=LAYER_CONNECTION_POINT('tracktotrack20','explicitly located',#2331,.U.); -#10991=CARTESIAN_POINT('',(6858000.0,1460503.2201471394)); -#10992=LAYER_CONNECTION_POINT('tracktotrack21','explicitly located',#2331,.U.); -#10993=CARTESIAN_POINT('',(6858000.0,1460500.0)); -#10994=LAYER_CONNECTION_POINT('tracktotrack22','explicitly located',#2331,.U.); -#10995=CARTESIAN_POINT('',(4063999.9968970204,991869.9997577847)); -#10996=LAYER_CONNECTION_POINT('tracktotrack23','explicitly located',#2331,.U.); -#10997=CARTESIAN_POINT('',(6824872.381431897,1460500.0)); -#10998=LAYER_CONNECTION_POINT('tracktotrack24','explicitly located',#2331,.U.); -#10999=CARTESIAN_POINT('',(6858000.0,1460500.0)); -#11000=LAYER_CONNECTION_POINT('tracktotrack25','explicitly located',#2331,.U.); -#11001=CARTESIAN_POINT('',(6858002.0484632775,1460500.0)); -#11002=LAYER_CONNECTION_POINT('tracktotrack26','explicitly located',#2331,.U.); -#11003=CARTESIAN_POINT('',(1.0795E7,952508.1934292153)); -#11004=LAYER_CONNECTION_POINT('tracktotrack27','explicitly located',#2331,.U.); -#11005=CARTESIAN_POINT('',(1.0795E7,961414.6246839031)); -#11006=LAYER_CONNECTION_POINT('tracktotrack28','explicitly located',#2331,.U.); -#11007=CARTESIAN_POINT('',(1.0287E7,1524000.0)); -#11008=LAYER_CONNECTION_POINT('tracktotrack29','explicitly located',#2331,.U.); -#11009=CARTESIAN_POINT('',(1.0795000333178043E7,952500.1937453123)); -#11010=LAYER_CONNECTION_POINT('tracktotrack30','explicitly located',#2331,.U.); -#11011=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#15478,#15479,#11012,#15480,#15481), - #15477); -#11012=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(127000.0),#17)REPRESENTATION_ITEM('curve width')); -#11013=PRODUCT('trace template 5','template',$,(#22901)); -#11014=PRODUCT_DEFINITION_FORMATION('1',$,#11013); -#11015=TRACE_TEMPLATE('1',$,#11014,#28,'',$,*); -#11016=POLYLINE('centreline',(#11017,#11018,#11019,#11020,#11021,#11022,#11023,#11024, - #11025,#11026)); -#11017=CARTESIAN_POINT('',(6604000.0,1.2446E7)); -#11018=CARTESIAN_POINT('',(6985000.0,1.2827E7)); -#11019=CARTESIAN_POINT('',(7493000.0,1.2827E7)); -#11020=CARTESIAN_POINT('',(7493000.0,1.2446E7)); -#11021=CARTESIAN_POINT('',(7556500.0,1.2446E7)); -#11022=CARTESIAN_POINT('',(7556500.0,1.2319E7)); -#11023=CARTESIAN_POINT('',(7874000.0,1.2319E7)); -#11024=CARTESIAN_POINT('',(7874000.0,1.2192E7)); -#11025=CARTESIAN_POINT('',(8382000.0,1.2192E7)); -#11026=CARTESIAN_POINT('',(8382000.0,1.1938E7)); -#11027=PATH_AREA_WITH_PARAMETERS('',#20778,#11016); -#11028=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-15', - $,#11014,#28,'NET_NO_2-15','definition usage',$,#11015,*,'',$,*,'',$,*,#26426, - #11027); -#11029=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-15','',$,#34,#11015, - 'NET_NO_2-15','',$,#11028,*); -#11030=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11028,.U.); -#11031=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11028,.U.); -#11032=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11028,.U.,'',$,#11030, - #11031); -#11033=LAYER_CONNECTION_POINT('PHYSICAL_1 R11-FO : 1','dependently located',#2331, - .U.); -#11034=CARTESIAN_POINT('',(8382000.0,1.1938E7)); -#11035=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11028,.U.); -#11036=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11028,.U.,'',$,#11031, - #11035); -#11037=POLYLINE('centreline',(#11038,#11039,#11040,#11041)); -#11038=CARTESIAN_POINT('',(8890000.0,1.016E7)); -#11039=CARTESIAN_POINT('',(8890000.0,1.14935E7)); -#11040=CARTESIAN_POINT('',(8382000.0,1.14935E7)); -#11041=CARTESIAN_POINT('',(8382000.0,1.1938E7)); -#11042=PATH_AREA_WITH_PARAMETERS('',#20778,#11037); -#11043=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-25', - $,#11014,#28,'NET_NO_2-25','definition usage',$,#11015,*,'',$,*,'',$,*,#26431, - #11042); -#11044=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-25','',$,#34,#11015, - 'NET_NO_2-25','',$,#11043,*); -#11045=LAYER_CONNECTION_POINT('PHYSICAL_1 R6-FO : 1','dependently located',#2331, - .U.); -#11046=CARTESIAN_POINT('',(8890000.0,1.016E7)); -#11047=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11043,.U.); -#11048=LAYER_CONNECTION_POINT('PHYSICAL_1 C21-FO : 2','dependently located',#2331, - .U.); -#11049=CARTESIAN_POINT('',(8382000.0,1.143E7)); -#11050=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11043,.U.); -#11051=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11043,.U.,'',$,#11047, - #11050); -#11052=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11043,.U.); -#11053=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11043,.U.,'',$,#11050, - #11052); -#11054=POLYLINE('centreline',(#11055,#11056,#11057,#11058)); -#11055=CARTESIAN_POINT('',(1.016E7,1.7018E7)); -#11056=CARTESIAN_POINT('',(1.016E7,1.6637E7)); -#11057=CARTESIAN_POINT('',(9652000.0,1.6637E7)); -#11058=CARTESIAN_POINT('',(9652000.0,1.7018E7)); -#11059=PATH_AREA_WITH_PARAMETERS('',#20778,#11054); -#11060=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-13', - $,#11014,#28,'NET_NO_2-13','definition usage',$,#11015,*,'',$,*,'',$,*,#26436, - #11059); -#11061=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-13','',$,#34,#11015, - 'NET_NO_2-13','',$,#11060,*); -#11062=LAYER_CONNECTION_POINT('PHYSICAL_1 CR1-FO : 1','dependently located',#2331, - .U.); -#11063=CARTESIAN_POINT('',(1.016E7,1.7018E7)); -#11064=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11060,.U.); -#11065=LAYER_CONNECTION_POINT('PHYSICAL_1 R2-FO : 1','dependently located',#2331, - .U.); -#11066=CARTESIAN_POINT('',(9652000.0,1.7018E7)); -#11067=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11060,.U.); -#11068=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11060,.U.,'',$,#11064, - #11067); -#11069=POLYLINE('centreline',(#11070,#11071,#11072,#11073)); -#11070=CARTESIAN_POINT('',(9144000.0,1.7272E7)); -#11071=CARTESIAN_POINT('',(9144000.0,1.67005E7)); -#11072=CARTESIAN_POINT('',(8636000.0,1.67005E7)); -#11073=CARTESIAN_POINT('',(8636000.0,1.7018E7)); -#11074=PATH_AREA_WITH_PARAMETERS('',#20778,#11069); -#11075=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-11', - $,#11014,#28,'NET_NO_2-11','definition usage',$,#11015,*,'',$,*,'',$,*,#26441, - #11074); -#11076=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-11','',$,#34,#11015, - 'NET_NO_2-11','',$,#11075,*); -#11077=LAYER_CONNECTION_POINT('PHYSICAL_1 C14-FO : 1','dependently located',#2331, - .U.); -#11078=CARTESIAN_POINT('',(9144000.0,1.7272E7)); -#11079=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11075,.U.); -#11080=LAYER_CONNECTION_POINT('PHYSICAL_1 R17-FO : 2','dependently located',#2331, - .U.); -#11081=CARTESIAN_POINT('',(8636000.0,1.7018E7)); -#11082=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11075,.U.); -#11083=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11075,.U.,'',$,#11079, - #11082); -#11084=POLYLINE('centreline',(#11085,#11086)); -#11085=CARTESIAN_POINT('',(6604000.0,1.2446E7)); -#11086=CARTESIAN_POINT('',(6604000.0,1.1684E7)); -#11087=PATH_AREA_WITH_PARAMETERS('',#20778,#11084); -#11088=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-24', - $,#11014,#28,'NET_NO_2-24','definition usage',$,#11015,*,'',$,*,'',$,*,#26446, - #11087); -#11089=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-24','',$,#34,#11015, - 'NET_NO_2-24','',$,#11088,*); -#11090=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11088,.U.); -#11091=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11088,.U.); -#11092=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11088,.U.,'',$,#11090, - #11091); -#11093=LAYER_CONNECTION_POINT('PHYSICAL_1 CR6-FO : 2','dependently located',#2331, - .U.); -#11094=CARTESIAN_POINT('',(6604000.0,1.1684E7)); -#11095=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11088,.U.); -#11096=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11088,.U.,'',$,#11091, - #11095); -#11097=POLYLINE('centreline',(#11098,#11099,#11100)); -#11098=CARTESIAN_POINT('',(5842000.0,1.3716E7)); -#11099=CARTESIAN_POINT('',(5842000.0,1.2446E7)); -#11100=CARTESIAN_POINT('',(6096000.0,1.2446E7)); -#11101=PATH_AREA_WITH_PARAMETERS('',#20778,#11097); -#11102=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-0', - $,#11014,#28,'NET_NO_2-0','definition usage',$,#11015,*,'',$,*,'',$,*,#26451, - #11101); -#11103=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-0','',$,#34,#11015, - 'NET_NO_2-0','',$,#11102,*); -#11104=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11102,.U.); -#11105=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11102,.U.); -#11106=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11102,.U.,'',$,#11104, - #11105); -#11107=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11102,.U.); -#11108=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11102,.U.,'',$,#11105, - #11107); -#11109=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #11102,.U.); -#11110=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11102,.U.,'',$,#11107, - #11109); -#11111=LAMINATE_COMPONENT_FEATURE('5','conductive interconnect element terminal', - #11102,.U.); -#11112=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11102,.U.,'',$,#11109, - #11111); -#11113=POLYLINE('centreline',(#11114,#11115)); -#11114=CARTESIAN_POINT('',(6096000.0,1.2446E7)); -#11115=CARTESIAN_POINT('',(6604000.0,1.2446E7)); -#11116=PATH_AREA_WITH_PARAMETERS('',#20778,#11113); -#11117=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-1', - $,#11014,#28,'NET_NO_2-1','definition usage',$,#11015,*,'',$,*,'',$,*,#26456, - #11116); -#11118=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-1','',$,#34,#11015, - 'NET_NO_2-1','',$,#11117,*); -#11119=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11117,.U.); -#11120=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11117,.U.); -#11121=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11117,.U.,'',$,#11119, - #11120); -#11122=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11117,.U.); -#11123=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11117,.U.,'',$,#11120, - #11122); -#11124=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #11117,.U.); -#11125=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11117,.U.,'',$,#11122, - #11124); -#11126=POLYLINE('centreline',(#11127,#11128)); -#11127=CARTESIAN_POINT('',(6096000.0,1.1684E7)); -#11128=CARTESIAN_POINT('',(6096000.0,1.2446E7)); -#11129=PATH_AREA_WITH_PARAMETERS('',#20778,#11126); -#11130=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-3', - $,#11014,#28,'NET_NO_2-3','definition usage',$,#11015,*,'',$,*,'',$,*,#26461, - #11129); -#11131=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-3','',$,#34,#11015, - 'NET_NO_2-3','',$,#11130,*); -#11132=LAYER_CONNECTION_POINT('PHYSICAL_1 CR7-FO : 1','dependently located',#2331, - .U.); -#11133=CARTESIAN_POINT('',(6096000.0,1.1684E7)); -#11134=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11130,.U.); -#11135=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11130,.U.); -#11136=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11130,.U.,'',$,#11134, - #11135); -#11137=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11130,.U.); -#11138=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11130,.U.,'',$,#11135, - #11137); -#11139=POLYLINE('centreline',(#11140,#11141,#11142,#11143)); -#11140=CARTESIAN_POINT('',(3048000.0,1.778E7)); -#11141=CARTESIAN_POINT('',(3429000.0,1.778E7)); -#11142=CARTESIAN_POINT('',(3429000.0,1.7272E7)); -#11143=CARTESIAN_POINT('',(3048000.0,1.7272E7)); -#11144=PATH_AREA_WITH_PARAMETERS('',#20778,#11139); -#11145=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-7', - $,#11014,#28,'NET_NO_2-7','definition usage',$,#11015,*,'',$,*,'',$,*,#26466, - #11144); -#11146=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-7','',$,#34,#11015, - 'NET_NO_2-7','',$,#11145,*); -#11147=LAYER_CONNECTION_POINT('PHYSICAL_1 R15-FO : 1','dependently located',#2331, - .U.); -#11148=CARTESIAN_POINT('',(3048000.0,1.778E7)); -#11149=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11145,.U.); -#11150=LAYER_CONNECTION_POINT('PHYSICAL_1 R21-FO : 1','dependently located',#2331, - .U.); -#11151=CARTESIAN_POINT('',(3048000.0,1.7272E7)); -#11152=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11145,.U.); -#11153=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11145,.U.,'',$,#11149, - #11152); -#11154=POLYLINE('centreline',(#11155,#11156,#11157,#11158,#11159)); -#11155=CARTESIAN_POINT('',(3048000.0,1.7272E7)); -#11156=CARTESIAN_POINT('',(2667000.0,1.7272E7)); -#11157=CARTESIAN_POINT('',(2667000.0,1.6891E7)); -#11158=CARTESIAN_POINT('',(3048000.0,1.6891E7)); -#11159=CARTESIAN_POINT('',(3048000.0,1.6256E7)); -#11160=PATH_AREA_WITH_PARAMETERS('',#20778,#11154); -#11161=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-6', - $,#11014,#28,'NET_NO_2-6','definition usage',$,#11015,*,'',$,*,'',$,*,#26471, - #11160); -#11162=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-6','',$,#34,#11015, - 'NET_NO_2-6','',$,#11161,*); -#11163=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11161,.U.); -#11164=LAYER_CONNECTION_POINT('PHYSICAL_1 T2-FO : 3','dependently located',#2331, - .U.); -#11165=CARTESIAN_POINT('',(3048000.0,1.6256E7)); -#11166=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11161,.U.); -#11167=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11161,.U.,'',$,#11163, - #11166); -#11168=POLYLINE('centreline',(#11169,#11170)); -#11169=CARTESIAN_POINT('',(5842000.0,1.3716E7)); -#11170=CARTESIAN_POINT('',(6096000.0,1.3716E7)); -#11171=PATH_AREA_WITH_PARAMETERS('',#20778,#11168); -#11172=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-22', - $,#11014,#28,'NET_NO_2-22','definition usage',$,#11015,*,'',$,*,'',$,*,#26476, - #11171); -#11173=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-22','',$,#34,#11015, - 'NET_NO_2-22','',$,#11172,*); -#11174=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11172,.U.); -#11175=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11172,.U.); -#11176=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11172,.U.,'',$,#11174, - #11175); -#11177=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11172,.U.); -#11178=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11172,.U.,'',$,#11175, - #11177); -#11179=LAYER_CONNECTION_POINT('PHYSICAL_1 Q3-FO : 1','dependently located',#2331, - .U.); -#11180=CARTESIAN_POINT('',(6096000.0,1.3716E7)); -#11181=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #11172,.U.); -#11182=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11172,.U.,'',$,#11177, - #11181); -#11183=POLYLINE('centreline',(#11184,#11185,#11186,#11187,#11188,#11189,#11190,#11191, - #11192,#11193)); -#11184=CARTESIAN_POINT('',(5842000.0,1.3716E7)); -#11185=CARTESIAN_POINT('',(5842000.0,1.4224E7)); -#11186=CARTESIAN_POINT('',(6604000.0,1.4224E7)); -#11187=CARTESIAN_POINT('',(7175500.0,1.47955E7)); -#11188=CARTESIAN_POINT('',(9461500.0,1.47955E7)); -#11189=CARTESIAN_POINT('',(9461500.0,1.54305E7)); -#11190=CARTESIAN_POINT('',(9334500.0,1.55575E7)); -#11191=CARTESIAN_POINT('',(9334500.0,1.61925E7)); -#11192=CARTESIAN_POINT('',(9652000.0,1.651E7)); -#11193=CARTESIAN_POINT('',(9652000.0,1.7018E7)); -#11194=PATH_AREA_WITH_PARAMETERS('',#20778,#11183); -#11195=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-10', - $,#11014,#28,'NET_NO_2-10','definition usage',$,#11015,*,'',$,*,'',$,*,#26481, - #11194); -#11196=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-10','',$,#34,#11015, - 'NET_NO_2-10','',$,#11195,*); -#11197=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11195,.U.); -#11198=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11195,.U.); -#11199=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11195,.U.,'',$,#11197, - #11198); -#11200=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11195,.U.); -#11201=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11195,.U.,'',$,#11198, - #11200); -#11202=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #11195,.U.); -#11203=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11195,.U.,'',$,#11200, - #11202); -#11204=POLYLINE('centreline',(#11205,#11206,#11207,#11208)); -#11205=CARTESIAN_POINT('',(9652000.0,1.7018E7)); -#11206=CARTESIAN_POINT('',(9652000.0,1.7653E7)); -#11207=CARTESIAN_POINT('',(9144000.0,1.7653E7)); -#11208=CARTESIAN_POINT('',(9144000.0,1.7272E7)); -#11209=PATH_AREA_WITH_PARAMETERS('',#20778,#11204); -#11210=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-12', - $,#11014,#28,'NET_NO_2-12','definition usage',$,#11015,*,'',$,*,'',$,*,#26486, - #11209); -#11211=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-12','',$,#34,#11015, - 'NET_NO_2-12','',$,#11210,*); -#11212=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11210,.U.); -#11213=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11210,.U.); -#11214=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11210,.U.,'',$,#11212, - #11213); -#11215=POLYLINE('centreline',(#11216,#11217,#11218,#11219)); -#11216=CARTESIAN_POINT('',(3048000.0,1.8288E7)); -#11217=CARTESIAN_POINT('',(2667000.0,1.8288E7)); -#11218=CARTESIAN_POINT('',(2667000.0,1.778E7)); -#11219=CARTESIAN_POINT('',(3048000.0,1.778E7)); -#11220=PATH_AREA_WITH_PARAMETERS('',#20778,#11215); -#11221=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-8', - $,#11014,#28,'NET_NO_2-8','definition usage',$,#11015,*,'',$,*,'',$,*,#26491, - #11220); -#11222=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-8','',$,#34,#11015, - 'NET_NO_2-8','',$,#11221,*); -#11223=LAYER_CONNECTION_POINT('PHYSICAL_1 C8-FO : 1','dependently located',#2331, - .U.); -#11224=CARTESIAN_POINT('',(3048000.0,1.8288E7)); -#11225=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11221,.U.); -#11226=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11221,.U.); -#11227=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11221,.U.,'',$,#11225, - #11226); -#11228=POLYLINE('centreline',(#11229,#11230,#11231,#11232,#11233,#11234)); -#11229=CARTESIAN_POINT('',(8636000.0,1.7018E7)); -#11230=CARTESIAN_POINT('',(8636000.0,1.77165E7)); -#11231=CARTESIAN_POINT('',(7620000.0,1.87325E7)); -#11232=CARTESIAN_POINT('',(4508500.0,1.87325E7)); -#11233=CARTESIAN_POINT('',(4064000.0,1.8288E7)); -#11234=CARTESIAN_POINT('',(3048000.0,1.8288E7)); -#11235=PATH_AREA_WITH_PARAMETERS('',#20778,#11228); -#11236=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-9', - $,#11014,#28,'NET_NO_2-9','definition usage',$,#11015,*,'',$,*,'',$,*,#26496, - #11235); -#11237=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-9','',$,#34,#11015, - 'NET_NO_2-9','',$,#11236,*); -#11238=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11236,.U.); -#11239=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11236,.U.); -#11240=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11236,.U.,'',$,#11238, - #11239); -#11241=POLYLINE('centreline',(#11242,#11243,#11244,#11245,#11246)); -#11242=CARTESIAN_POINT('',(3048000.0,1.6256E7)); -#11243=CARTESIAN_POINT('',(3048000.0,1.59385E7)); -#11244=CARTESIAN_POINT('',(2730500.0,1.59385E7)); -#11245=CARTESIAN_POINT('',(2730500.0,1.651E7)); -#11246=CARTESIAN_POINT('',(1016000.0,1.651E7)); -#11247=PATH_AREA_WITH_PARAMETERS('',#20778,#11241); -#11248=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-5', - $,#11014,#28,'NET_NO_2-5','definition usage',$,#11015,*,'',$,*,'',$,*,#26501, - #11247); -#11249=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-5','',$,#34,#11015, - 'NET_NO_2-5','',$,#11248,*); -#11250=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11248,.U.); -#11251=LAYER_CONNECTION_POINT('PHYSICAL_1 VR3-FO : 2','dependently located',#2331, - .U.); -#11252=CARTESIAN_POINT('',(1016000.0000000001,1.651E7)); -#11253=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11248,.U.); -#11254=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11248,.U.,'',$,#11250, - #11253); -#11255=POLYLINE('centreline',(#11256,#11257,#11258)); -#11256=CARTESIAN_POINT('',(5080000.0,1.397E7)); -#11257=CARTESIAN_POINT('',(5080000.0,1.3716E7)); -#11258=CARTESIAN_POINT('',(5842000.0,1.3716E7)); -#11259=PATH_AREA_WITH_PARAMETERS('',#20778,#11255); -#11260=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-23', - $,#11014,#28,'NET_NO_2-23','definition usage',$,#11015,*,'',$,*,'',$,*,#26506, - #11259); -#11261=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-23','',$,#34,#11015, - 'NET_NO_2-23','',$,#11260,*); -#11262=LAYER_CONNECTION_POINT('PHYSICAL_1 R13-FO : 1','dependently located',#2331, - .U.); -#11263=CARTESIAN_POINT('',(5080000.0,1.397E7)); -#11264=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11260,.U.); -#11265=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11260,.U.); -#11266=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11260,.U.,'',$,#11264, - #11265); -#11267=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11260,.U.); -#11268=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11260,.U.,'',$,#11265, - #11267); -#11269=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #11260,.U.); -#11270=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11260,.U.,'',$,#11267, - #11269); -#11271=STRATUM_FEATURE('13','conductor',#2331,.U.); -#11272=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11273=POLYLINE('centreline',(#11274,#11275,#11276)); -#11274=CARTESIAN_POINT('',(1.0795E7,952500.0)); -#11275=CARTESIAN_POINT('',(1.0668E7,698500.0)); -#11276=CARTESIAN_POINT('',(1.0541E7,508000.0)); -#11277=PATH_AREA_WITH_PARAMETERS('',#20778,#11273); -#11278=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-33', - $,#11014,#28,'NET_NO_2-33','definition usage',$,#11015,*,'',$,*,'',$,*,#26511, - #11277); -#11279=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-33','',$,#34,#11015, - 'NET_NO_2-33','',$,#11278,*); -#11280=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11278,.U.); -#11281=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11278,.U.); -#11282=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11278,.U.,'',$,#11280, - #11281); -#11283=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 20','dependently located',#2331, - .U.); -#11284=CARTESIAN_POINT('',(1.0541E7,508000.0000000006)); -#11285=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11278,.U.); -#11286=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11278,.U.,'',$,#11281, - #11285); -#11287=POLYLINE('centreline',(#11288,#11289)); -#11288=CARTESIAN_POINT('',(4064000.0,1016000.0)); -#11289=CARTESIAN_POINT('',(4064000.0,254000.0)); -#11290=PATH_AREA_WITH_PARAMETERS('',#20777,#11287); -#11291=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-29', - $,#10559,#28,'NET_NO_2-29','definition usage',$,#10560,*,'',$,*,'',$,*,#26516, - #11290); -#11292=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-29','',$,#34,#10560, - 'NET_NO_2-29','',$,#11291,*); -#11293=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11291,.U.); -#11294=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 102','dependently located',#2331, - .U.); -#11295=CARTESIAN_POINT('',(4064000.0,254000.0000000014)); -#11296=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11291,.U.); -#11297=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11291,.U.,'',$,#11293, - #11296); -#11298=POLYLINE('centreline',(#11299,#11300)); -#11299=CARTESIAN_POINT('',(1.016E7,1.2954E7)); -#11300=CARTESIAN_POINT('',(1.016E7,1.2446E7)); -#11301=PATH_AREA_WITH_PARAMETERS('',#20778,#11298); -#11302=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-19', - $,#11014,#28,'NET_NO_2-19','definition usage',$,#11015,*,'',$,*,'',$,*,#26521, - #11301); -#11303=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-19','',$,#34,#11015, - 'NET_NO_2-19','',$,#11302,*); -#11304=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11302,.U.); -#11305=LAYER_CONNECTION_POINT('PHYSICAL_1 C13-FO : 2','dependently located',#2331, - .U.); -#11306=CARTESIAN_POINT('',(1.016E7,1.2446E7)); -#11307=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11302,.U.); -#11308=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11302,.U.,'',$,#11304, - #11307); -#11309=POLYLINE('centreline',(#11310,#11311,#11312,#11313,#11314)); -#11310=CARTESIAN_POINT('',(1.524E7,1.2954E7)); -#11311=CARTESIAN_POINT('',(1.49225E7,1.2954E7)); -#11312=CARTESIAN_POINT('',(1.49225E7,1.41605E7)); -#11313=CARTESIAN_POINT('',(1.524E7,1.41605E7)); -#11314=CARTESIAN_POINT('',(1.524E7,1.4732E7)); -#11315=PATH_AREA_WITH_PARAMETERS('',#20778,#11309); -#11316=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-16', - $,#11014,#28,'NET_NO_2-16','definition usage',$,#11015,*,'',$,*,'',$,*,#26526, - #11315); -#11317=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-16','',$,#34,#11015, - 'NET_NO_2-16','',$,#11316,*); -#11318=LAYER_CONNECTION_POINT('PHYSICAL_1 R23-FO : 2','dependently located',#2331, - .U.); -#11319=CARTESIAN_POINT('',(1.524E7,1.2954E7)); -#11320=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11316,.U.); -#11321=LAYER_CONNECTION_POINT('PHYSICAL_1 R22-FO : 2','dependently located',#2331, - .U.); -#11322=CARTESIAN_POINT('',(1.524E7,1.4732E7)); -#11323=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11316,.U.); -#11324=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11316,.U.,'',$,#11320, - #11323); -#11325=POLYLINE('centreline',(#11326,#11327,#11328)); -#11326=CARTESIAN_POINT('',(1.0795E7,952500.0)); -#11327=CARTESIAN_POINT('',(1.0795E7,1460500.0)); -#11328=CARTESIAN_POINT('',(6858000.0,1460500.0)); -#11329=PATH_AREA_WITH_PARAMETERS('',#20778,#11325); -#11330=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-31', - $,#11014,#28,'NET_NO_2-31','definition usage',$,#11015,*,'',$,*,'',$,*,#26531, - #11329); -#11331=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-31','',$,#34,#11015, - 'NET_NO_2-31','',$,#11330,*); -#11332=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11330,.U.); -#11333=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11330,.U.); -#11334=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11330,.U.,'',$,#11332, - #11333); -#11335=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11330,.U.); -#11336=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11330,.U.,'',$,#11333, - #11335); -#11337=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #11330,.U.); -#11338=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11330,.U.,'',$,#11335, - #11337); -#11339=LAMINATE_COMPONENT_FEATURE('5','conductive interconnect element terminal', - #11330,.U.); -#11340=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11330,.U.,'',$,#11337, - #11339); -#11341=LAMINATE_COMPONENT_FEATURE('6','conductive interconnect element terminal', - #11330,.U.); -#11342=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11330,.U.,'',$,#11339, - #11341); -#11343=POLYLINE('centreline',(#11344,#11345)); -#11344=CARTESIAN_POINT('',(6223000.0,508000.0)); -#11345=CARTESIAN_POINT('',(6350000.0,254000.0)); -#11346=PATH_AREA_WITH_PARAMETERS('',#20778,#11343); -#11347=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-32', - $,#11014,#28,'NET_NO_2-32','definition usage',$,#11015,*,'',$,*,'',$,*,#26536, - #11346); -#11348=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-32','',$,#34,#11015, - 'NET_NO_2-32','',$,#11347,*); -#11349=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 37','dependently located',#2331, - .U.); -#11350=CARTESIAN_POINT('',(6223000.0,508000.0000000011)); -#11351=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11347,.U.); -#11352=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 93','dependently located',#2331, - .U.); -#11353=CARTESIAN_POINT('',(6350000.0,254000.0000000011)); -#11354=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11347,.U.); -#11355=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11347,.U.,'',$,#11351, - #11354); -#11356=POLYLINE('centreline',(#11357,#11358,#11359,#11360)); -#11357=CARTESIAN_POINT('',(6858000.0,1460500.0)); -#11358=CARTESIAN_POINT('',(6468110.0,958850.0)); -#11359=CARTESIAN_POINT('',(6286500.0,698500.0)); -#11360=CARTESIAN_POINT('',(6223000.0,508000.0)); -#11361=PATH_AREA_WITH_PARAMETERS('',#20778,#11356); -#11362=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-30', - $,#11014,#28,'NET_NO_2-30','definition usage',$,#11015,*,'',$,*,'',$,*,#26541, - #11361); -#11363=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-30','',$,#34,#11015, - 'NET_NO_2-30','',$,#11362,*); -#11364=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11362,.U.); -#11365=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11362,.U.); -#11366=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11362,.U.,'',$,#11364, - #11365); -#11367=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11362,.U.); -#11368=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11362,.U.,'',$,#11365, - #11367); -#11369=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #11362,.U.); -#11370=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11362,.U.,'',$,#11367, - #11369); -#11371=POLYLINE('centreline',(#11372,#11373)); -#11372=CARTESIAN_POINT('',(1.016E7,1.2954E7)); -#11373=CARTESIAN_POINT('',(1.1176E7,1.2954E7)); -#11374=PATH_AREA_WITH_PARAMETERS('',#20778,#11371); -#11375=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-18', - $,#11014,#28,'NET_NO_2-18','definition usage',$,#11015,*,'',$,*,'',$,*,#26546, - #11374); -#11376=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-18','',$,#34,#11015, - 'NET_NO_2-18','',$,#11375,*); -#11377=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11375,.U.); -#11378=LAYER_CONNECTION_POINT('PHYSICAL_1 VR6-FO : 2','dependently located',#2331, - .U.); -#11379=CARTESIAN_POINT('',(1.1176E7,1.2954E7)); -#11380=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11375,.U.); -#11381=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11375,.U.,'',$,#11377, - #11380); -#11382=POLYLINE('centreline',(#11383,#11384,#11385,#11386,#11387,#11388,#11389,#11390)); -#11383=CARTESIAN_POINT('',(1.5113E7,508000.0)); -#11384=CARTESIAN_POINT('',(1.5113E7,2032000.0)); -#11385=CARTESIAN_POINT('',(1.3208E7,2032000.0)); -#11386=CARTESIAN_POINT('',(1.2446E7,2794000.0)); -#11387=CARTESIAN_POINT('',(9779000.0,2794000.0)); -#11388=CARTESIAN_POINT('',(9779000.0,1587500.0)); -#11389=CARTESIAN_POINT('',(1.1557E7,1587500.0)); -#11390=CARTESIAN_POINT('',(1.1557E7,508000.0)); -#11391=PATH_AREA_WITH_PARAMETERS('',#20778,#11382); -#11392=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-36', - $,#11014,#28,'NET_NO_2-36','definition usage',$,#11015,*,'',$,*,'',$,*,#26551, - #11391); -#11393=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-36','',$,#34,#11015, - 'NET_NO_2-36','',$,#11392,*); -#11394=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 2','dependently located',#2331, - .U.); -#11395=CARTESIAN_POINT('',(1.5113E7,508000.00000000006)); -#11396=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11392,.U.); -#11397=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11392,.U.); -#11398=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11392,.U.,'',$,#11396, - #11397); -#11399=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 16','dependently located',#2331, - .U.); -#11400=CARTESIAN_POINT('',(1.1557E7,508000.00000000047)); -#11401=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11392,.U.); -#11402=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11392,.U.,'',$,#11397, - #11401); -#11403=POLYLINE('centreline',(#11404,#11405,#11406,#11407)); -#11404=CARTESIAN_POINT('',(1.2954E7,1.6256E7)); -#11405=CARTESIAN_POINT('',(1.2954E7,1.68275E7)); -#11406=CARTESIAN_POINT('',(1.5748E7,1.68275E7)); -#11407=CARTESIAN_POINT('',(1.5748E7,1.651E7)); -#11408=PATH_AREA_WITH_PARAMETERS('',#20778,#11403); -#11409=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-14', - $,#11014,#28,'NET_NO_2-14','definition usage',$,#11015,*,'',$,*,'',$,*,#26556, - #11408); -#11410=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-14','',$,#34,#11015, - 'NET_NO_2-14','',$,#11409,*); -#11411=LAYER_CONNECTION_POINT('PHYSICAL_1 T1-FO : 3','dependently located',#2331, - .U.); -#11412=CARTESIAN_POINT('',(1.2954E7,1.6256E7)); -#11413=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11409,.U.); -#11414=LAYER_CONNECTION_POINT('PHYSICAL_1 VR1-FO : 2','dependently located',#2331, - .U.); -#11415=CARTESIAN_POINT('',(1.5748E7,1.651E7)); -#11416=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11409,.U.); -#11417=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11409,.U.,'',$,#11413, - #11416); -#11418=POLYLINE('centreline',(#11419,#11420)); -#11419=CARTESIAN_POINT('',(1.0541E7,508000.0)); -#11420=CARTESIAN_POINT('',(1.0668E7,254000.0)); -#11421=PATH_AREA_WITH_PARAMETERS('',#20778,#11418); -#11422=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-35', - $,#11014,#28,'NET_NO_2-35','definition usage',$,#11015,*,'',$,*,'',$,*,#26561, - #11421); -#11423=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-35','',$,#34,#11015, - 'NET_NO_2-35','',$,#11422,*); -#11424=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11422,.U.); -#11425=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 76','dependently located',#2331, - .U.); -#11426=CARTESIAN_POINT('',(1.0668E7,254000.00000000058)); -#11427=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11422,.U.); -#11428=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11422,.U.,'',$,#11424, - #11427); -#11429=POLYLINE('centreline',(#11430,#11431,#11432,#11433,#11434,#11435)); -#11430=CARTESIAN_POINT('',(1.1176E7,1.2954E7)); -#11431=CARTESIAN_POINT('',(1.07315E7,1.2954E7)); -#11432=CARTESIAN_POINT('',(1.07315E7,1.2573E7)); -#11433=CARTESIAN_POINT('',(1.5621E7,1.2573E7)); -#11434=CARTESIAN_POINT('',(1.5621E7,1.2954E7)); -#11435=CARTESIAN_POINT('',(1.524E7,1.2954E7)); -#11436=PATH_AREA_WITH_PARAMETERS('',#20778,#11429); -#11437=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-17', - $,#11014,#28,'NET_NO_2-17','definition usage',$,#11015,*,'',$,*,'',$,*,#26566, - #11436); -#11438=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-17','',$,#34,#11015, - 'NET_NO_2-17','',$,#11437,*); -#11439=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11437,.U.); -#11440=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11437,.U.); -#11441=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11437,.U.,'',$,#11439, - #11440); -#11442=POLYLINE('centreline',(#11443,#11444,#11445,#11446,#11447,#11448,#11449,#11450, - #11451,#11452,#11453)); -#11443=CARTESIAN_POINT('',(6858000.0,1460500.0)); -#11444=CARTESIAN_POINT('',(6858000.0,2032000.0)); -#11445=CARTESIAN_POINT('',(6731000.0,2159000.0)); -#11446=CARTESIAN_POINT('',(6731000.0,2413000.0)); -#11447=CARTESIAN_POINT('',(5905500.0,2413000.0)); -#11448=CARTESIAN_POINT('',(5905500.0,3365500.0)); -#11449=CARTESIAN_POINT('',(4635500.0,4635500.0)); -#11450=CARTESIAN_POINT('',(317500.0,4635500.0)); -#11451=CARTESIAN_POINT('',(317500.0,3175000.0)); -#11452=CARTESIAN_POINT('',(1651000.0,1841500.0)); -#11453=CARTESIAN_POINT('',(1651000.0,508000.0)); -#11454=PATH_AREA_WITH_PARAMETERS('',#20778,#11442); -#11455=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-27', - $,#11014,#28,'NET_NO_2-27','definition usage',$,#11015,*,'',$,*,'',$,*,#26571, - #11454); -#11456=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-27','',$,#34,#11015, - 'NET_NO_2-27','',$,#11455,*); -#11457=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11455,.U.); -#11458=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11455,.U.); -#11459=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11455,.U.,'',$,#11457, - #11458); -#11460=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11455,.U.); -#11461=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11455,.U.,'',$,#11458, - #11460); -#11462=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 55','dependently located',#2331, - .U.); -#11463=CARTESIAN_POINT('',(1651000.0,508000.0000000017)); -#11464=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #11455,.U.); -#11465=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11455,.U.,'',$,#11460, - #11464); -#11466=POLYLINE('centreline',(#11467,#11468,#11469,#11470)); -#11467=CARTESIAN_POINT('',(1.524E7,1.4732E7)); -#11468=CARTESIAN_POINT('',(1.524E7,1.524E7)); -#11469=CARTESIAN_POINT('',(1.5748E7,1.524E7)); -#11470=CARTESIAN_POINT('',(1.5748E7,1.651E7)); -#11471=PATH_AREA_WITH_PARAMETERS('',#20778,#11466); -#11472=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-4', - $,#11014,#28,'NET_NO_2-4','definition usage',$,#11015,*,'',$,*,'',$,*,#26576, - #11471); -#11473=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-4','',$,#34,#11015, - 'NET_NO_2-4','',$,#11472,*); -#11474=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11472,.U.); -#11475=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11472,.U.); -#11476=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11472,.U.,'',$,#11474, - #11475); -#11477=POLYLINE('centreline',(#11478,#11479)); -#11478=CARTESIAN_POINT('',(1.524E7,254000.0)); -#11479=CARTESIAN_POINT('',(1.5113E7,508000.0)); -#11480=PATH_AREA_WITH_PARAMETERS('',#20778,#11477); -#11481=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-37', - $,#11014,#28,'NET_NO_2-37','definition usage',$,#11015,*,'',$,*,'',$,*,#26581, - #11480); -#11482=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-37','',$,#34,#11015, - 'NET_NO_2-37','',$,#11481,*); -#11483=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 58','dependently located',#2331, - .U.); -#11484=CARTESIAN_POINT('',(1.524E7,254000.00000000003)); -#11485=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11481,.U.); -#11486=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11481,.U.); -#11487=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11481,.U.,'',$,#11485, - #11486); -#11488=POLYLINE('centreline',(#11489,#11490,#11491,#11492,#11493,#11494,#11495)); -#11489=CARTESIAN_POINT('',(1.524E7,1.2954E7)); -#11490=CARTESIAN_POINT('',(1.4859E7,1.2954E7)); -#11491=CARTESIAN_POINT('',(1.4859E7,4572000.0)); -#11492=CARTESIAN_POINT('',(1.61925E7,4572000.0)); -#11493=CARTESIAN_POINT('',(1.61925E7,3302000.0)); -#11494=CARTESIAN_POINT('',(1.5113E7,3302000.0)); -#11495=CARTESIAN_POINT('',(1.5113E7,508000.0)); -#11496=PATH_AREA_WITH_PARAMETERS('',#20778,#11488); -#11497=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-2', - $,#11014,#28,'NET_NO_2-2','definition usage',$,#11015,*,'',$,*,'',$,*,#26586, - #11496); -#11498=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-2','',$,#34,#11015, - 'NET_NO_2-2','',$,#11497,*); -#11499=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11497,.U.); -#11500=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11497,.U.); -#11501=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11497,.U.,'',$,#11499, - #11500); -#11502=POLYLINE('centreline',(#11503,#11504,#11505)); -#11503=CARTESIAN_POINT('',(6858000.0,1460500.0)); -#11504=CARTESIAN_POINT('',(4064000.0,1460500.0)); -#11505=CARTESIAN_POINT('',(4064000.0,1016000.0)); -#11506=PATH_AREA_WITH_PARAMETERS('',#20778,#11502); -#11507=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-28', - $,#11014,#28,'NET_NO_2-28','definition usage',$,#11015,*,'',$,*,'',$,*,#26591, - #11506); -#11508=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-28','',$,#34,#11015, - 'NET_NO_2-28','',$,#11507,*); -#11509=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11507,.U.); -#11510=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11507,.U.); -#11511=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11507,.U.,'',$,#11509, - #11510); -#11512=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11507,.U.); -#11513=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11507,.U.,'',$,#11510, - #11512); -#11514=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #11507,.U.); -#11515=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11507,.U.,'',$,#11512, - #11514); -#11516=POLYLINE('centreline',(#11517,#11518,#11519,#11520)); -#11517=CARTESIAN_POINT('',(1.1557E7,508000.0)); -#11518=CARTESIAN_POINT('',(1.1557E7,1016000.0)); -#11519=CARTESIAN_POINT('',(1.1049E7,1016000.0)); -#11520=CARTESIAN_POINT('',(1.0795E7,952500.0)); -#11521=PATH_AREA_WITH_PARAMETERS('',#20778,#11516); -#11522=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-34', - $,#11014,#28,'NET_NO_2-34','definition usage',$,#11015,*,'',$,*,'',$,*,#26596, - #11521); -#11523=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-34','',$,#34,#11015, - 'NET_NO_2-34','',$,#11522,*); -#11524=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11522,.U.); -#11525=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11522,.U.); -#11526=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11522,.U.,'',$,#11524, - #11525); -#11527=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11522,.U.); -#11528=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11522,.U.,'',$,#11525, - #11527); -#11529=POLYLINE('centreline',(#11530,#11531)); -#11530=CARTESIAN_POINT('',(1651000.0,508000.0)); -#11531=CARTESIAN_POINT('',(1778000.0,254000.0)); -#11532=PATH_AREA_WITH_PARAMETERS('',#20778,#11529); -#11533=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-26', - $,#11014,#28,'NET_NO_2-26','definition usage',$,#11015,*,'',$,*,'',$,*,#26601, - #11532); -#11534=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-26','',$,#34,#11015, - 'NET_NO_2-26','',$,#11533,*); -#11535=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11533,.U.); -#11536=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 111','dependently located',#2331, - .U.); -#11537=CARTESIAN_POINT('',(1778000.0,254000.00000000166)); -#11538=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11533,.U.); -#11539=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11533,.U.,'',$,#11535, - #11538); -#11540=STRATUM_FEATURE('14','conductor',#2331,.U.); -#11541=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11542=POLYLINE('centreline',(#11543,#11544)); -#11543=CARTESIAN_POINT('',(1.0668E7,1.7018E7)); -#11544=CARTESIAN_POINT('',(1.016E7,1.7018E7)); -#11545=PATH_AREA_WITH_PARAMETERS('',#20776,#11542); -#11546=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_2-38', - $,#10542,#28,'NET_NO_2-38','definition usage',$,#10543,*,'',$,*,'',$,*,#26606, - #11545); -#11547=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_2-38','',$,#34,#10543, - 'NET_NO_2-38','',$,#11546,*); -#11548=LAYER_CONNECTION_POINT('PHYSICAL_2 CR2-FO : 2','dependently located',#2327, - .U.); -#11549=CARTESIAN_POINT('',(1.0668E7,1.7018E7)); -#11550=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11546,.U.); -#11551=LAYER_CONNECTION_POINT('PHYSICAL_2 CR1-FO : 1','dependently located',#2327, - .U.); -#11552=CARTESIAN_POINT('',(1.016E7,1.7018E7)); -#11553=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11546,.U.); -#11554=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11546,.U.,'',$,#11550, - #11553); -#11555=STRATUM_FEATURE('15','conductor',#2327,.U.); -#11556=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11557=JOIN_SHAPE_ASPECT('inter stratum join',$,#34,.U.); -#11558=PHYSICAL_NETWORK('NET_NO_2','routed physical network',#34,.U.); -#11559=JOIN_SHAPE_ASPECT('unrouted join',$,#34,.U.); -#11560=POLYLINE('centreline',(#11561,#11562)); -#11561=CARTESIAN_POINT('',(1.1684E7,1.3462E7)); -#11562=CARTESIAN_POINT('',(1.1684E7,1.2954E7)); -#11563=PATH_AREA_WITH_PARAMETERS('',#20776,#11560); -#11564=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_20-2', - $,#10542,#28,'NET_NO_20-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26611, - #11563); -#11565=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_20-2','',$,#34,#10543, - 'NET_NO_20-2','',$,#11564,*); -#11566=LAYER_CONNECTION_POINT('PHYSICAL_2 C1-FO : 2','dependently located',#2327, - .U.); -#11567=CARTESIAN_POINT('',(1.1684E7,1.3462E7)); -#11568=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11564,.U.); -#11569=LAYER_CONNECTION_POINT('PHYSICAL_2 VR5-FO : 2','dependently located',#2327, - .U.); -#11570=CARTESIAN_POINT('',(1.1684E7,1.2954E7)); -#11571=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11564,.U.); -#11572=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11564,.U.,'',$,#11568, - #11571); -#11573=POLYLINE('centreline',(#11574,#11575,#11576)); -#11574=CARTESIAN_POINT('',(1.016E7,1.3462E7)); -#11575=CARTESIAN_POINT('',(8890000.0,1.3462E7)); -#11576=CARTESIAN_POINT('',(8890000.0,1.3208E7)); -#11577=PATH_AREA_WITH_PARAMETERS('',#20776,#11573); -#11578=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_20-0', - $,#10542,#28,'NET_NO_20-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26616, - #11577); -#11579=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_20-0','',$,#34,#10543, - 'NET_NO_20-0','',$,#11578,*); -#11580=LAYER_CONNECTION_POINT('PHYSICAL_2 R5-FO : 1','dependently located',#2327, - .U.); -#11581=CARTESIAN_POINT('',(1.016E7,1.3462E7)); -#11582=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11578,.U.); -#11583=LAYER_CONNECTION_POINT('PHYSICAL_2 U1-FO : 12','dependently located',#2327, - .U.); -#11584=CARTESIAN_POINT('',(8890000.0,1.3208E7)); -#11585=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11578,.U.); -#11586=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11578,.U.,'',$,#11582, - #11585); -#11587=POLYLINE('centreline',(#11588,#11589)); -#11588=CARTESIAN_POINT('',(1.1684E7,1.3462E7)); -#11589=CARTESIAN_POINT('',(1.1176E7,1.3462E7)); -#11590=PATH_AREA_WITH_PARAMETERS('',#20776,#11587); -#11591=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_20-3', - $,#10542,#28,'NET_NO_20-3','definition usage',$,#10543,*,'',$,*,'',$,*,#26621, - #11590); -#11592=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_20-3','',$,#34,#10543, - 'NET_NO_20-3','',$,#11591,*); -#11593=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11591,.U.); -#11594=LAYER_CONNECTION_POINT('PHYSICAL_2 R4-FO : 2','dependently located',#2327, - .U.); -#11595=CARTESIAN_POINT('',(1.1176E7,1.3462E7)); -#11596=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11591,.U.); -#11597=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11591,.U.,'',$,#11593, - #11596); -#11598=POLYLINE('centreline',(#11599,#11600)); -#11599=CARTESIAN_POINT('',(1.1176E7,1.3462E7)); -#11600=CARTESIAN_POINT('',(1.0668E7,1.3462E7)); -#11601=PATH_AREA_WITH_PARAMETERS('',#20776,#11598); -#11602=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_20-1', - $,#10542,#28,'NET_NO_20-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26626, - #11601); -#11603=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_20-1','',$,#34,#10543, - 'NET_NO_20-1','',$,#11602,*); -#11604=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11602,.U.); -#11605=LAYER_CONNECTION_POINT('PHYSICAL_2 R3-FO : 2','dependently located',#2327, - .U.); -#11606=CARTESIAN_POINT('',(1.0668E7,1.3462E7)); -#11607=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11602,.U.); -#11608=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11602,.U.,'',$,#11604, - #11607); -#11609=POLYLINE('centreline',(#11610,#11611)); -#11610=CARTESIAN_POINT('',(1.016E7,1.3462E7)); -#11611=CARTESIAN_POINT('',(1.0668E7,1.3462E7)); -#11612=PATH_AREA_WITH_PARAMETERS('',#20776,#11609); -#11613=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_20-4', - $,#10542,#28,'NET_NO_20-4','definition usage',$,#10543,*,'',$,*,'',$,*,#26631, - #11612); -#11614=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_20-4','',$,#34,#10543, - 'NET_NO_20-4','',$,#11613,*); -#11615=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11613,.U.); -#11616=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11613,.U.); -#11617=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11613,.U.,'',$,#11615, - #11616); -#11618=STRATUM_FEATURE('16','conductor',#2327,.U.); -#11619=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11620=PHYSICAL_NETWORK('NET_NO_20','routed physical network',#34,.U.); -#11621=POLYLINE('centreline',(#11622,#11623)); -#11622=CARTESIAN_POINT('',(1.1176E7,1.1684E7)); -#11623=CARTESIAN_POINT('',(1.1684E7,1.1684E7)); -#11624=PATH_AREA_WITH_PARAMETERS('',#20776,#11621); -#11625=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_21-0', - $,#10542,#28,'NET_NO_21-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26636, - #11624); -#11626=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_21-0','',$,#34,#10543, - 'NET_NO_21-0','',$,#11625,*); -#11627=LAYER_CONNECTION_POINT('PHYSICAL_2 VR6-FO : 1','dependently located',#2327, - .U.); -#11628=CARTESIAN_POINT('',(1.1176E7,1.1684E7)); -#11629=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11625,.U.); -#11630=LAYER_CONNECTION_POINT('PHYSICAL_2 VR5-FO : 1','dependently located',#2327, - .U.); -#11631=CARTESIAN_POINT('',(1.1684E7,1.1684E7)); -#11632=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11625,.U.); -#11633=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11625,.U.,'',$,#11629, - #11632); -#11634=STRATUM_FEATURE('17','conductor',#2327,.U.); -#11635=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11636=PHYSICAL_NETWORK('NET_NO_21','routed physical network',#34,.U.); -#11637=POLYLINE('centreline',(#11638,#11639,#11640,#11641,#11642)); -#11638=CARTESIAN_POINT('',(1.3462E7,1.4224E7)); -#11639=CARTESIAN_POINT('',(1.1811E7,1.4224E7)); -#11640=CARTESIAN_POINT('',(1.1811E7,1.397E7)); -#11641=CARTESIAN_POINT('',(1.016E7,1.397E7)); -#11642=CARTESIAN_POINT('',(1.016E7,1.4732E7)); -#11643=PATH_AREA_WITH_PARAMETERS('',#20776,#11637); -#11644=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_22-0', - $,#10542,#28,'NET_NO_22-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26641, - #11643); -#11645=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_22-0','',$,#34,#10543, - 'NET_NO_22-0','',$,#11644,*); -#11646=LAYER_CONNECTION_POINT('PHYSICAL_2 L1-FO : 1','dependently located',#2327, - .U.); -#11647=CARTESIAN_POINT('',(1.3462E7,1.4224E7)); -#11648=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11644,.U.); -#11649=LAYER_CONNECTION_POINT('PHYSICAL_2 R5-FO : 2','dependently located',#2327, - .U.); -#11650=CARTESIAN_POINT('',(1.016E7,1.4732E7)); -#11651=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11644,.U.); -#11652=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11644,.U.,'',$,#11648, - #11651); -#11653=STRATUM_FEATURE('18','conductor',#2327,.U.); -#11654=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11655=PHYSICAL_NETWORK('NET_NO_22','routed physical network',#34,.U.); -#11656=POLYLINE('centreline',(#11657,#11658)); -#11657=CARTESIAN_POINT('',(1016000.0,1.4478E7)); -#11658=CARTESIAN_POINT('',(1016000.0,1.397E7)); -#11659=PATH_AREA_WITH_PARAMETERS('',#20776,#11656); -#11660=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_23-0', - $,#10542,#28,'NET_NO_23-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26646, - #11659); -#11661=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_23-0','',$,#34,#10543, - 'NET_NO_23-0','',$,#11660,*); -#11662=LAYER_CONNECTION_POINT('PHYSICAL_2 VR3-FO : 1','dependently located',#2327, - .U.); -#11663=CARTESIAN_POINT('',(1016000.0,1.4478E7)); -#11664=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11660,.U.); -#11665=LAYER_CONNECTION_POINT('PHYSICAL_2 VR4-FO : 1','dependently located',#2327, - .U.); -#11666=CARTESIAN_POINT('',(1016000.0,1.397E7)); -#11667=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11660,.U.); -#11668=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11660,.U.,'',$,#11664, - #11667); -#11669=STRATUM_FEATURE('19','conductor',#2327,.U.); -#11670=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11671=PHYSICAL_NETWORK('NET_NO_23','routed physical network',#34,.U.); -#11672=POLYLINE('centreline',(#11673,#11674)); -#11673=CARTESIAN_POINT('',(7874000.0,8890000.0)); -#11674=CARTESIAN_POINT('',(7366000.0,8890000.0)); -#11675=PATH_AREA_WITH_PARAMETERS('',#20776,#11672); -#11676=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_24-2', - $,#10542,#28,'NET_NO_24-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26651, - #11675); -#11677=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_24-2','',$,#34,#10543, - 'NET_NO_24-2','',$,#11676,*); -#11678=LAYER_CONNECTION_POINT('PHYSICAL_2 R9-FO : 2','dependently located',#2327, - .U.); -#11679=CARTESIAN_POINT('',(7874000.0,8890000.0)); -#11680=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11676,.U.); -#11681=LAYER_CONNECTION_POINT('PHYSICAL_2 C5-FO : 1','dependently located',#2327, - .U.); -#11682=CARTESIAN_POINT('',(7366000.0,8890000.0)); -#11683=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11676,.U.); -#11684=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11676,.U.,'',$,#11680, - #11683); -#11685=POLYLINE('centreline',(#11686,#11687)); -#11686=CARTESIAN_POINT('',(6858000.0,8890000.0)); -#11687=CARTESIAN_POINT('',(7366000.0,8890000.0)); -#11688=PATH_AREA_WITH_PARAMETERS('',#20776,#11685); -#11689=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_24-1', - $,#10542,#28,'NET_NO_24-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26656, - #11688); -#11690=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_24-1','',$,#34,#10543, - 'NET_NO_24-1','',$,#11689,*); -#11691=LAYER_CONNECTION_POINT('PHYSICAL_2 R10-FO : 1','dependently located',#2327, - .U.); -#11692=CARTESIAN_POINT('',(6858000.0,8890000.0)); -#11693=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11689,.U.); -#11694=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11689,.U.); -#11695=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11689,.U.,'',$,#11693, - #11694); -#11696=POLYLINE('centreline',(#11697,#11698)); -#11697=CARTESIAN_POINT('',(7366000.0,7874000.0)); -#11698=CARTESIAN_POINT('',(7366000.0,8890000.0)); -#11699=PATH_AREA_WITH_PARAMETERS('',#20776,#11696); -#11700=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_24-0', - $,#10542,#28,'NET_NO_24-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26661, - #11699); -#11701=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_24-0','',$,#34,#10543, - 'NET_NO_24-0','',$,#11700,*); -#11702=LAYER_CONNECTION_POINT('PHYSICAL_2 Q2-FO : 2','dependently located',#2327, - .U.); -#11703=CARTESIAN_POINT('',(7366000.0,7874000.0)); -#11704=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11700,.U.); -#11705=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11700,.U.); -#11706=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11700,.U.,'',$,#11704, - #11705); -#11707=STRATUM_FEATURE('20','conductor',#2327,.U.); -#11708=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11709=PHYSICAL_NETWORK('NET_NO_24','routed physical network',#34,.U.); -#11710=PHYSICAL_NETWORK('NET_NO_25','unrouted physical network',#34,.U.); -#11711=JOIN_SHAPE_ASPECT('unrouted join',$,#34,.U.); -#11712=PHYSICAL_NETWORK('NET_NO_26','unrouted physical network',#34,.U.); -#11713=JOIN_SHAPE_ASPECT('unrouted join',$,#34,.U.); -#11714=CARTESIAN_POINT('',(7874000.0,1.0414E7)); -#11715=LAYER_CONNECTION_POINT('tracktotrack31','explicitly located',#2327,.U.); -#11716=CARTESIAN_POINT('',(7874000.0,1.0414E7)); -#11717=LAYER_CONNECTION_POINT('tracktotrack32','explicitly located',#2327,.U.); -#11718=CARTESIAN_POINT('',(8381999.999859976,1.0414E7)); -#11719=LAYER_CONNECTION_POINT('tracktotrack33','explicitly located',#2327,.U.); -#11720=CARTESIAN_POINT('',(7874000.0,1.0414E7)); -#11721=LAYER_CONNECTION_POINT('tracktotrack34','explicitly located',#2327,.U.); -#11722=CARTESIAN_POINT('',(8381999.999859976,1.0414E7)); -#11723=LAYER_CONNECTION_POINT('tracktotrack35','explicitly located',#2327,.U.); -#11724=CARTESIAN_POINT('',(8381999.999859976,1.0414E7)); -#11725=LAYER_CONNECTION_POINT('tracktotrack36','explicitly located',#2327,.U.); -#11726=POLYLINE('centreline',(#11727,#11728)); -#11727=CARTESIAN_POINT('',(7874000.0,1.0414E7)); -#11728=CARTESIAN_POINT('',(8382000.0,1.0414E7)); -#11729=PATH_AREA_WITH_PARAMETERS('',#20776,#11726); -#11730=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_27-1', - $,#10542,#28,'NET_NO_27-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26666, - #11729); -#11731=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_27-1','',$,#34,#10543, - 'NET_NO_27-1','',$,#11730,*); -#11732=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11730,.U.); -#11733=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11730,.U.); -#11734=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11730,.U.,'',$,#11732, - #11733); -#11735=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11730,.U.); -#11736=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11730,.U.,'',$,#11733, - #11735); -#11737=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #11730,.U.); -#11738=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11730,.U.,'',$,#11735, - #11737); -#11739=POLYLINE('centreline',(#11740,#11741)); -#11740=CARTESIAN_POINT('',(9906000.0,1.0414E7)); -#11741=CARTESIAN_POINT('',(8382000.0,1.0414E7)); -#11742=PATH_AREA_WITH_PARAMETERS('',#20776,#11739); -#11743=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_27-4', - $,#10542,#28,'NET_NO_27-4','definition usage',$,#10543,*,'',$,*,'',$,*,#26671, - #11742); -#11744=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_27-4','',$,#34,#10543, - 'NET_NO_27-4','',$,#11743,*); -#11745=LAYER_CONNECTION_POINT('PHYSICAL_2 CR3-FO : 1','dependently located',#2327, - .U.); -#11746=CARTESIAN_POINT('',(9906000.0,1.0414E7)); -#11747=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11743,.U.); -#11748=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11743,.U.); -#11749=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11743,.U.,'',$,#11747, - #11748); -#11750=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11743,.U.); -#11751=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11743,.U.,'',$,#11748, - #11750); -#11752=POLYLINE('centreline',(#11753,#11754)); -#11753=CARTESIAN_POINT('',(7366000.0,1.0414E7)); -#11754=CARTESIAN_POINT('',(7874000.0,1.0414E7)); -#11755=PATH_AREA_WITH_PARAMETERS('',#20776,#11752); -#11756=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_27-0', - $,#10542,#28,'NET_NO_27-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26676, - #11755); -#11757=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_27-0','',$,#34,#10543, - 'NET_NO_27-0','',$,#11756,*); -#11758=LAYER_CONNECTION_POINT('PHYSICAL_2 C5-FO : 2','dependently located',#2327, - .U.); -#11759=CARTESIAN_POINT('',(7366000.0,1.0414E7)); -#11760=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11756,.U.); -#11761=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11756,.U.); -#11762=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11756,.U.,'',$,#11760, - #11761); -#11763=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11756,.U.); -#11764=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11756,.U.,'',$,#11761, - #11763); -#11765=POLYLINE('centreline',(#11766,#11767)); -#11766=CARTESIAN_POINT('',(7874000.0,1.016E7)); -#11767=CARTESIAN_POINT('',(7874000.0,1.0414E7)); -#11768=PATH_AREA_WITH_PARAMETERS('',#20776,#11765); -#11769=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_27-3', - $,#10542,#28,'NET_NO_27-3','definition usage',$,#10543,*,'',$,*,'',$,*,#26681, - #11768); -#11770=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_27-3','',$,#34,#10543, - 'NET_NO_27-3','',$,#11769,*); -#11771=LAYER_CONNECTION_POINT('PHYSICAL_2 R9-FO : 1','dependently located',#2327, - .U.); -#11772=CARTESIAN_POINT('',(7874000.0,1.016E7)); -#11773=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11769,.U.); -#11774=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11769,.U.); -#11775=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11769,.U.,'',$,#11773, - #11774); -#11776=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11769,.U.); -#11777=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11769,.U.,'',$,#11774, - #11776); -#11778=POLYLINE('centreline',(#11779,#11780)); -#11779=CARTESIAN_POINT('',(8382000.0,1.016E7)); -#11780=CARTESIAN_POINT('',(8382000.0,1.0414E7)); -#11781=PATH_AREA_WITH_PARAMETERS('',#20776,#11778); -#11782=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_27-2', - $,#10542,#28,'NET_NO_27-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26686, - #11781); -#11783=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_27-2','',$,#34,#10543, - 'NET_NO_27-2','',$,#11782,*); -#11784=LAYER_CONNECTION_POINT('PHYSICAL_2 R8-FO : 1','dependently located',#2327, - .U.); -#11785=CARTESIAN_POINT('',(8382000.0,1.016E7)); -#11786=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11782,.U.); -#11787=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11782,.U.); -#11788=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11782,.U.,'',$,#11786, - #11787); -#11789=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11782,.U.); -#11790=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11782,.U.,'',$,#11787, - #11789); -#11791=STRATUM_FEATURE('21','conductor',#2327,.U.); -#11792=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11793=PHYSICAL_NETWORK('NET_NO_27','routed physical network',#34,.U.); -#11794=JOIN_SHAPE_ASPECT('unrouted join',$,#34,.U.); -#11795=POLYLINE('centreline',(#11796,#11797)); -#11796=CARTESIAN_POINT('',(9398000.0,8890000.0)); -#11797=CARTESIAN_POINT('',(8890000.0,8890000.0)); -#11798=PATH_AREA_WITH_PARAMETERS('',#20776,#11795); -#11799=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_28-0', - $,#10542,#28,'NET_NO_28-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26691, - #11798); -#11800=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_28-0','',$,#34,#10543, - 'NET_NO_28-0','',$,#11799,*); -#11801=LAYER_CONNECTION_POINT('PHYSICAL_2 R7-FO : 1','dependently located',#2327, - .U.); -#11802=CARTESIAN_POINT('',(9398000.0,8890000.0)); -#11803=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11799,.U.); -#11804=LAYER_CONNECTION_POINT('PHYSICAL_2 R6-FO : 2','dependently located',#2327, - .U.); -#11805=CARTESIAN_POINT('',(8890000.0,8890000.0)); -#11806=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11799,.U.); -#11807=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11799,.U.,'',$,#11803, - #11806); -#11808=STRATUM_FEATURE('22','conductor',#2327,.U.); -#11809=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11810=PHYSICAL_NETWORK('NET_NO_28','routed physical network',#34,.U.); -#11811=POLYLINE('centreline',(#11812,#11813)); -#11812=CARTESIAN_POINT('',(1.5748E7,1.4478E7)); -#11813=CARTESIAN_POINT('',(1.5748E7,1.397E7)); -#11814=PATH_AREA_WITH_PARAMETERS('',#20776,#11811); -#11815=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_29-0', - $,#10542,#28,'NET_NO_29-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26696, - #11814); -#11816=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_29-0','',$,#34,#10543, - 'NET_NO_29-0','',$,#11815,*); -#11817=LAYER_CONNECTION_POINT('PHYSICAL_2 VR1-FO : 1','dependently located',#2327, - .U.); -#11818=CARTESIAN_POINT('',(1.5748E7,1.4478E7)); -#11819=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11815,.U.); -#11820=LAYER_CONNECTION_POINT('PHYSICAL_2 VR2-FO : 1','dependently located',#2327, - .U.); -#11821=CARTESIAN_POINT('',(1.5748E7,1.397E7)); -#11822=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11815,.U.); -#11823=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11815,.U.,'',$,#11819, - #11822); -#11824=STRATUM_FEATURE('23','conductor',#2327,.U.); -#11825=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11826=PHYSICAL_NETWORK('NET_NO_29','routed physical network',#34,.U.); -#11827=POLYLINE('centreline',(#11828,#11829,#11830,#11831,#11832)); -#11828=CARTESIAN_POINT('',(1.4097E7,508000.0)); -#11829=CARTESIAN_POINT('',(1.4097E7,2095500.0)); -#11830=CARTESIAN_POINT('',(1.50495E7,2095500.0)); -#11831=CARTESIAN_POINT('',(1.50495E7,1.3462E7)); -#11832=CARTESIAN_POINT('',(1.524E7,1.3462E7)); -#11833=PATH_AREA_WITH_PARAMETERS('',#20776,#11827); -#11834=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_3-0', - $,#10542,#28,'NET_NO_3-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26701, - #11833); -#11835=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_3-0','',$,#34,#10543, - 'NET_NO_3-0','',$,#11834,*); -#11836=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 6','dependently located',#2327, - .U.); -#11837=CARTESIAN_POINT('',(1.4097E7,508000.0000000002)); -#11838=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11834,.U.); -#11839=LAYER_CONNECTION_POINT('PHYSICAL_2 R22-FO : 1','dependently located',#2327, - .U.); -#11840=CARTESIAN_POINT('',(1.524E7,1.3462E7)); -#11841=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11834,.U.); -#11842=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11834,.U.,'',$,#11838, - #11841); -#11843=STRATUM_FEATURE('24','conductor',#2327,.U.); -#11844=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11845=PHYSICAL_NETWORK('NET_NO_3','routed physical network',#34,.U.); -#11846=CARTESIAN_POINT('',(4698999.999997691,1.6256E7)); -#11847=LAYER_CONNECTION_POINT('tracktotrack37','explicitly located',#2327,.U.); -#11848=CARTESIAN_POINT('',(4699000.0,1.6256E7)); -#11849=LAYER_CONNECTION_POINT('tracktotrack38','explicitly located',#2327,.U.); -#11850=CARTESIAN_POINT('',(4699000.0,1.6256E7)); -#11851=LAYER_CONNECTION_POINT('tracktotrack39','explicitly located',#2327,.U.); -#11852=POLYLINE('centreline',(#11853,#11854,#11855)); -#11853=CARTESIAN_POINT('',(4699000.0,1.6256E7)); -#11854=CARTESIAN_POINT('',(4699000.0,1.4478E7)); -#11855=CARTESIAN_POINT('',(6096000.0,1.4478E7)); -#11856=PATH_AREA_WITH_PARAMETERS('',#20776,#11852); -#11857=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_30-1', - $,#10542,#28,'NET_NO_30-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26706, - #11856); -#11858=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_30-1','',$,#34,#10543, - 'NET_NO_30-1','',$,#11857,*); -#11859=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11857,.U.); -#11860=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11857,.U.); -#11861=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11857,.U.,'',$,#11859, - #11860); -#11862=LAYER_CONNECTION_POINT('PHYSICAL_2 R20-FO : 1','dependently located',#2327, - .U.); -#11863=CARTESIAN_POINT('',(6096000.0,1.4478E7)); -#11864=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11857,.U.); -#11865=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11857,.U.,'',$,#11860, - #11864); -#11866=POLYLINE('centreline',(#11867,#11868,#11869,#11870)); -#11867=CARTESIAN_POINT('',(4699000.0,1.6256E7)); -#11868=CARTESIAN_POINT('',(4699000.0,1.6764E7)); -#11869=CARTESIAN_POINT('',(4318000.0,1.6764E7)); -#11870=CARTESIAN_POINT('',(4318000.0,1.7272E7)); -#11871=PATH_AREA_WITH_PARAMETERS('',#20776,#11866); -#11872=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_30-0', - $,#10542,#28,'NET_NO_30-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26711, - #11871); -#11873=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_30-0','',$,#34,#10543, - 'NET_NO_30-0','',$,#11872,*); -#11874=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11872,.U.); -#11875=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11872,.U.); -#11876=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11872,.U.,'',$,#11874, - #11875); -#11877=LAYER_CONNECTION_POINT('PHYSICAL_2 R21-FO : 2','dependently located',#2327, - .U.); -#11878=CARTESIAN_POINT('',(4318000.0,1.7272E7)); -#11879=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11872,.U.); -#11880=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11872,.U.,'',$,#11875, - #11879); -#11881=POLYLINE('centreline',(#11882,#11883)); -#11882=CARTESIAN_POINT('',(4064000.0,1.6256E7)); -#11883=CARTESIAN_POINT('',(4699000.0,1.6256E7)); -#11884=PATH_AREA_WITH_PARAMETERS('',#20776,#11881); -#11885=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_30-2', - $,#10542,#28,'NET_NO_30-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26716, - #11884); -#11886=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_30-2','',$,#34,#10543, - 'NET_NO_30-2','',$,#11885,*); -#11887=LAYER_CONNECTION_POINT('PHYSICAL_2 T2-FO : 1','dependently located',#2327, - .U.); -#11888=CARTESIAN_POINT('',(4064000.0,1.6256E7)); -#11889=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11885,.U.); -#11890=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11885,.U.); -#11891=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11885,.U.,'',$,#11889, - #11890); -#11892=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #11885,.U.); -#11893=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11885,.U.,'',$,#11890, - #11892); -#11894=STRATUM_FEATURE('25','conductor',#2327,.U.); -#11895=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11896=PHYSICAL_NETWORK('NET_NO_30','routed physical network',#34,.U.); -#11897=POLYLINE('centreline',(#11898,#11899,#11900,#11901)); -#11898=CARTESIAN_POINT('',(7112000.0,1.5748E7)); -#11899=CARTESIAN_POINT('',(7112000.0,1.67005E7)); -#11900=CARTESIAN_POINT('',(7620000.0,1.67005E7)); -#11901=CARTESIAN_POINT('',(7620000.0,1.7018E7)); -#11902=PATH_AREA_WITH_PARAMETERS('',#20776,#11897); -#11903=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_31-2', - $,#10542,#28,'NET_NO_31-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26721, - #11902); -#11904=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_31-2','',$,#34,#10543, - 'NET_NO_31-2','',$,#11903,*); -#11905=LAYER_CONNECTION_POINT('PHYSICAL_2 C10-FO : 1','dependently located',#2327, - .U.); -#11906=CARTESIAN_POINT('',(7112000.0,1.5748E7)); -#11907=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11903,.U.); -#11908=LAYER_CONNECTION_POINT('PHYSICAL_2 R18-FO : 1','dependently located',#2327, - .U.); -#11909=CARTESIAN_POINT('',(7620000.0,1.7018E7)); -#11910=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11903,.U.); -#11911=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11903,.U.,'',$,#11907, - #11910); -#11912=POLYLINE('centreline',(#11913,#11914,#11915)); -#11913=CARTESIAN_POINT('',(7366000.0,1.4478E7)); -#11914=CARTESIAN_POINT('',(7112000.0,1.4478E7)); -#11915=CARTESIAN_POINT('',(7112000.0,1.5748E7)); -#11916=PATH_AREA_WITH_PARAMETERS('',#20776,#11912); -#11917=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_31-0', - $,#10542,#28,'NET_NO_31-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26726, - #11916); -#11918=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_31-0','',$,#34,#10543, - 'NET_NO_31-0','',$,#11917,*); -#11919=LAYER_CONNECTION_POINT('PHYSICAL_2 R20-FO : 2','dependently located',#2327, - .U.); -#11920=CARTESIAN_POINT('',(7366000.0,1.4478E7)); -#11921=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11917,.U.); -#11922=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11917,.U.); -#11923=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11917,.U.,'',$,#11921, - #11922); -#11924=POLYLINE('centreline',(#11925,#11926,#11927)); -#11925=CARTESIAN_POINT('',(7620000.0,1.7018E7)); -#11926=CARTESIAN_POINT('',(7620000.0,1.7526E7)); -#11927=CARTESIAN_POINT('',(8128000.0,1.7526E7)); -#11928=PATH_AREA_WITH_PARAMETERS('',#20776,#11924); -#11929=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_31-1', - $,#10542,#28,'NET_NO_31-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26731, - #11928); -#11930=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_31-1','',$,#34,#10543, - 'NET_NO_31-1','',$,#11929,*); -#11931=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11929,.U.); -#11932=LAYER_CONNECTION_POINT('PHYSICAL_2 C12-FO : 1','dependently located',#2327, - .U.); -#11933=CARTESIAN_POINT('',(8128000.0,1.7526E7)); -#11934=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11929,.U.); -#11935=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11929,.U.,'',$,#11931, - #11934); -#11936=STRATUM_FEATURE('26','conductor',#2327,.U.); -#11937=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11938=POLYLINE('centreline',(#11939,#11940,#11941,#11942)); -#11939=CARTESIAN_POINT('',(7366000.0,1.4478E7)); -#11940=CARTESIAN_POINT('',(7366000.0,1.35255E7)); -#11941=CARTESIAN_POINT('',(8382000.0,1.35255E7)); -#11942=CARTESIAN_POINT('',(8382000.0,1.3208E7)); -#11943=PATH_AREA_WITH_PARAMETERS('',#20776,#11938); -#11944=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_31-3', - $,#10542,#28,'NET_NO_31-3','definition usage',$,#10543,*,'',$,*,'',$,*,#26736, - #11943); -#11945=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_31-3','',$,#34,#10543, - 'NET_NO_31-3','',$,#11944,*); -#11946=LAYER_CONNECTION_POINT('PHYSICAL_1 R20-FO : 2','dependently located',#2331, - .U.); -#11947=CARTESIAN_POINT('',(7366000.0,1.4478E7)); -#11948=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11944,.U.); -#11949=LAYER_CONNECTION_POINT('PHYSICAL_1 U1-FO : 10','dependently located',#2331, - .U.); -#11950=CARTESIAN_POINT('',(8382000.0,1.3208E7)); -#11951=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11944,.U.); -#11952=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11944,.U.,'',$,#11948, - #11951); -#11953=STRATUM_FEATURE('27','conductor',#2331,.U.); -#11954=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11955=JOIN_SHAPE_ASPECT('inter stratum join',$,#34,.U.); -#11956=PHYSICAL_NETWORK('NET_NO_31','routed physical network',#34,.U.); -#11957=POLYLINE('centreline',(#11958,#11959,#11960)); -#11958=CARTESIAN_POINT('',(8128000.0,1.6256E7)); -#11959=CARTESIAN_POINT('',(7620000.0,1.6256E7)); -#11960=CARTESIAN_POINT('',(7620000.0,1.5748E7)); -#11961=PATH_AREA_WITH_PARAMETERS('',#20776,#11957); -#11962=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_32-1', - $,#10542,#28,'NET_NO_32-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26741, - #11961); -#11963=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_32-1','',$,#34,#10543, - 'NET_NO_32-1','',$,#11962,*); -#11964=LAYER_CONNECTION_POINT('PHYSICAL_2 C12-FO : 2','dependently located',#2327, - .U.); -#11965=CARTESIAN_POINT('',(8128000.0,1.6256E7)); -#11966=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11962,.U.); -#11967=LAYER_CONNECTION_POINT('PHYSICAL_2 R18-FO : 2','dependently located',#2327, - .U.); -#11968=CARTESIAN_POINT('',(7620000.0,1.5748E7)); -#11969=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11962,.U.); -#11970=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11962,.U.,'',$,#11966, - #11969); -#11971=POLYLINE('centreline',(#11972,#11973,#11974)); -#11972=CARTESIAN_POINT('',(8128000.0,1.6256E7)); -#11973=CARTESIAN_POINT('',(8636000.0,1.6256E7)); -#11974=CARTESIAN_POINT('',(8636000.0,1.5748E7)); -#11975=PATH_AREA_WITH_PARAMETERS('',#20776,#11971); -#11976=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_32-2', - $,#10542,#28,'NET_NO_32-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26746, - #11975); -#11977=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_32-2','',$,#34,#10543, - 'NET_NO_32-2','',$,#11976,*); -#11978=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11976,.U.); -#11979=LAYER_CONNECTION_POINT('PHYSICAL_2 R17-FO : 1','dependently located',#2327, - .U.); -#11980=CARTESIAN_POINT('',(8636000.0,1.5748E7)); -#11981=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11976,.U.); -#11982=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11976,.U.,'',$,#11978, - #11981); -#11983=POLYLINE('centreline',(#11984,#11985,#11986,#11987,#11988)); -#11984=CARTESIAN_POINT('',(7874000.0,1.397E7)); -#11985=CARTESIAN_POINT('',(7874000.0,1.5113E7)); -#11986=CARTESIAN_POINT('',(8445500.0,1.5113E7)); -#11987=CARTESIAN_POINT('',(8445500.0,1.55575E7)); -#11988=CARTESIAN_POINT('',(8636000.0,1.5748E7)); -#11989=PATH_AREA_WITH_PARAMETERS('',#20776,#11983); -#11990=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_32-0', - $,#10542,#28,'NET_NO_32-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26751, - #11989); -#11991=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_32-0','',$,#34,#10543, - 'NET_NO_32-0','',$,#11990,*); -#11992=LAYER_CONNECTION_POINT('PHYSICAL_2 U1-FO : 7','dependently located',#2327, - .U.); -#11993=CARTESIAN_POINT('',(7874000.0,1.397E7)); -#11994=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11990,.U.); -#11995=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11990,.U.); -#11996=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11990,.U.,'',$,#11994, - #11995); -#11997=STRATUM_FEATURE('28','conductor',#2327,.U.); -#11998=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#11999=PHYSICAL_NETWORK('NET_NO_32','routed physical network',#34,.U.); -#12000=CARTESIAN_POINT('',(6604000.0,1.7272E7)); -#12001=LAYER_CONNECTION_POINT('tracktotrack40','explicitly located',#2327,.U.); -#12002=CARTESIAN_POINT('',(6604000.0,1.7272E7)); -#12003=LAYER_CONNECTION_POINT('tracktotrack41','explicitly located',#2327,.U.); -#12004=CARTESIAN_POINT('',(6604000.0,1.7272E7)); -#12005=LAYER_CONNECTION_POINT('tracktotrack42','explicitly located',#2327,.U.); -#12006=POLYLINE('centreline',(#12007,#12008)); -#12007=CARTESIAN_POINT('',(6604000.0,1.7018E7)); -#12008=CARTESIAN_POINT('',(6604000.0,1.7272E7)); -#12009=PATH_AREA_WITH_PARAMETERS('',#20776,#12006); -#12010=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_33-2', - $,#10542,#28,'NET_NO_33-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26756, - #12009); -#12011=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_33-2','',$,#34,#10543, - 'NET_NO_33-2','',$,#12010,*); -#12012=LAYER_CONNECTION_POINT('PHYSICAL_2 CR5-FO : 2','dependently located',#2327, - .U.); -#12013=CARTESIAN_POINT('',(6604000.0,1.7018E7)); -#12014=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12010,.U.); -#12015=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12010,.U.); -#12016=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12010,.U.,'',$,#12014, - #12015); -#12017=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12010,.U.); -#12018=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12010,.U.,'',$,#12015, - #12017); -#12019=POLYLINE('centreline',(#12020,#12021)); -#12020=CARTESIAN_POINT('',(7112000.0,1.7272E7)); -#12021=CARTESIAN_POINT('',(6604000.0,1.7272E7)); -#12022=PATH_AREA_WITH_PARAMETERS('',#20776,#12019); -#12023=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_33-1', - $,#10542,#28,'NET_NO_33-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26761, - #12022); -#12024=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_33-1','',$,#34,#10543, - 'NET_NO_33-1','',$,#12023,*); -#12025=LAYER_CONNECTION_POINT('PHYSICAL_2 C10-FO : 2','dependently located',#2327, - .U.); -#12026=CARTESIAN_POINT('',(7112000.0,1.7272E7)); -#12027=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12023,.U.); -#12028=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12023,.U.); -#12029=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12023,.U.,'',$,#12027, - #12028); -#12030=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12023,.U.); -#12031=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12023,.U.,'',$,#12028, - #12030); -#12032=POLYLINE('centreline',(#12033,#12034,#12035)); -#12033=CARTESIAN_POINT('',(6096000.0,1.7018E7)); -#12034=CARTESIAN_POINT('',(6096000.0,1.7272E7)); -#12035=CARTESIAN_POINT('',(6604000.0,1.7272E7)); -#12036=PATH_AREA_WITH_PARAMETERS('',#20776,#12032); -#12037=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_33-0', - $,#10542,#28,'NET_NO_33-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26766, - #12036); -#12038=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_33-0','',$,#34,#10543, - 'NET_NO_33-0','',$,#12037,*); -#12039=LAYER_CONNECTION_POINT('PHYSICAL_2 CR4-FO : 1','dependently located',#2327, - .U.); -#12040=CARTESIAN_POINT('',(6096000.0,1.7018E7)); -#12041=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12037,.U.); -#12042=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12037,.U.); -#12043=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12037,.U.,'',$,#12041, - #12042); -#12044=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12037,.U.); -#12045=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12037,.U.,'',$,#12042, - #12044); -#12046=STRATUM_FEATURE('29','conductor',#2327,.U.); -#12047=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12048=PHYSICAL_NETWORK('NET_NO_33','routed physical network',#34,.U.); -#12049=POLYLINE('centreline',(#12050,#12051,#12052,#12053)); -#12050=CARTESIAN_POINT('',(7366000.0,1.4986E7)); -#12051=CARTESIAN_POINT('',(7366000.0,1.5367E7)); -#12052=CARTESIAN_POINT('',(8128000.0,1.5367E7)); -#12053=CARTESIAN_POINT('',(8128000.0,1.5748E7)); -#12054=PATH_AREA_WITH_PARAMETERS('',#20776,#12049); -#12055=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_34-0', - $,#10542,#28,'NET_NO_34-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26771, - #12054); -#12056=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_34-0','',$,#34,#10543, - 'NET_NO_34-0','',$,#12055,*); -#12057=LAYER_CONNECTION_POINT('PHYSICAL_2 R19-FO : 2','dependently located',#2327, - .U.); -#12058=CARTESIAN_POINT('',(7366000.0,1.4986E7)); -#12059=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12055,.U.); -#12060=LAYER_CONNECTION_POINT('PHYSICAL_2 C11-FO : 2','dependently located',#2327, - .U.); -#12061=CARTESIAN_POINT('',(8128000.0,1.5748E7)); -#12062=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12055,.U.); -#12063=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12055,.U.,'',$,#12059, - #12062); -#12064=STRATUM_FEATURE('30','conductor',#2327,.U.); -#12065=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12066=PHYSICAL_NETWORK('NET_NO_34','routed physical network',#34,.U.); -#12067=POLYLINE('centreline',(#12068,#12069,#12070)); -#12068=CARTESIAN_POINT('',(6096000.0,1.4986E7)); -#12069=CARTESIAN_POINT('',(6350000.0,1.4986E7)); -#12070=CARTESIAN_POINT('',(6350000.0,1.397E7)); -#12071=PATH_AREA_WITH_PARAMETERS('',#20776,#12067); -#12072=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_35-0', - $,#10542,#28,'NET_NO_35-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26776, - #12071); -#12073=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_35-0','',$,#34,#10543, - 'NET_NO_35-0','',$,#12072,*); -#12074=LAYER_CONNECTION_POINT('PHYSICAL_2 R19-FO : 1','dependently located',#2327, - .U.); -#12075=CARTESIAN_POINT('',(6096000.0,1.4986E7)); -#12076=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12072,.U.); -#12077=LAYER_CONNECTION_POINT('PHYSICAL_2 Q3-FO : 2','dependently located',#2327, - .U.); -#12078=CARTESIAN_POINT('',(6350000.0,1.397E7)); -#12079=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12072,.U.); -#12080=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12072,.U.,'',$,#12076, - #12079); -#12081=POLYLINE('centreline',(#12082,#12083)); -#12082=CARTESIAN_POINT('',(5588000.0,1.397E7)); -#12083=CARTESIAN_POINT('',(6350000.0,1.397E7)); -#12084=PATH_AREA_WITH_PARAMETERS('',#20776,#12081); -#12085=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_35-2', - $,#10542,#28,'NET_NO_35-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26781, - #12084); -#12086=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_35-2','',$,#34,#10543, - 'NET_NO_35-2','',$,#12085,*); -#12087=LAYER_CONNECTION_POINT('PHYSICAL_2 R26-FO : 2','dependently located',#2327, - .U.); -#12088=CARTESIAN_POINT('',(5588000.0,1.397E7)); -#12089=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12085,.U.); -#12090=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12085,.U.); -#12091=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12085,.U.,'',$,#12089, - #12090); -#12092=POLYLINE('centreline',(#12093,#12094)); -#12093=CARTESIAN_POINT('',(5588000.0,1.2954E7)); -#12094=CARTESIAN_POINT('',(5588000.0,1.397E7)); -#12095=PATH_AREA_WITH_PARAMETERS('',#20776,#12092); -#12096=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_35-1', - $,#10542,#28,'NET_NO_35-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26786, - #12095); -#12097=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_35-1','',$,#34,#10543, - 'NET_NO_35-1','',$,#12096,*); -#12098=LAYER_CONNECTION_POINT('PHYSICAL_2 R30-FO : 2','dependently located',#2327, - .U.); -#12099=CARTESIAN_POINT('',(5588000.0,1.2954E7)); -#12100=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12096,.U.); -#12101=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12096,.U.); -#12102=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12096,.U.,'',$,#12100, - #12101); -#12103=STRATUM_FEATURE('31','conductor',#2327,.U.); -#12104=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12105=PHYSICAL_NETWORK('NET_NO_35','routed physical network',#34,.U.); -#12106=POLYLINE('centreline',(#12107,#12108)); -#12107=CARTESIAN_POINT('',(6096000.0,1.5748E7)); -#12108=CARTESIAN_POINT('',(5588000.0,1.5748E7)); -#12109=PATH_AREA_WITH_PARAMETERS('',#20776,#12106); -#12110=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_36-3', - $,#10542,#28,'NET_NO_36-3','definition usage',$,#10543,*,'',$,*,'',$,*,#26791, - #12109); -#12111=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_36-3','',$,#34,#10543, - 'NET_NO_36-3','',$,#12110,*); -#12112=LAYER_CONNECTION_POINT('PHYSICAL_2 CR4-FO : 2','dependently located',#2327, - .U.); -#12113=CARTESIAN_POINT('',(6096000.0,1.5748E7)); -#12114=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12110,.U.); -#12115=LAYER_CONNECTION_POINT('PHYSICAL_2 R14-FO : 2','dependently located',#2327, - .U.); -#12116=CARTESIAN_POINT('',(5588000.0,1.5748E7)); -#12117=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12110,.U.); -#12118=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12110,.U.,'',$,#12114, - #12117); -#12119=POLYLINE('centreline',(#12120,#12121)); -#12120=CARTESIAN_POINT('',(5080000.0,1.5748E7)); -#12121=CARTESIAN_POINT('',(5588000.0,1.5748E7)); -#12122=PATH_AREA_WITH_PARAMETERS('',#20776,#12119); -#12123=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_36-1', - $,#10542,#28,'NET_NO_36-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26796, - #12122); -#12124=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_36-1','',$,#34,#10543, - 'NET_NO_36-1','',$,#12123,*); -#12125=LAYER_CONNECTION_POINT('PHYSICAL_2 C9-FO : 1','dependently located',#2327, - .U.); -#12126=CARTESIAN_POINT('',(5080000.0,1.5748E7)); -#12127=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12123,.U.); -#12128=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12123,.U.); -#12129=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12123,.U.,'',$,#12127, - #12128); -#12130=POLYLINE('centreline',(#12131,#12132)); -#12131=CARTESIAN_POINT('',(5588000.0,1.524E7)); -#12132=CARTESIAN_POINT('',(5588000.0,1.5748E7)); -#12133=PATH_AREA_WITH_PARAMETERS('',#20776,#12130); -#12134=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_36-0', - $,#10542,#28,'NET_NO_36-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26801, - #12133); -#12135=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_36-0','',$,#34,#10543, - 'NET_NO_36-0','',$,#12134,*); -#12136=LAYER_CONNECTION_POINT('PHYSICAL_2 R26-FO : 1','dependently located',#2327, - .U.); -#12137=CARTESIAN_POINT('',(5588000.0,1.524E7)); -#12138=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12134,.U.); -#12139=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12134,.U.); -#12140=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12134,.U.,'',$,#12138, - #12139); -#12141=POLYLINE('centreline',(#12142,#12143)); -#12142=CARTESIAN_POINT('',(5080000.0,1.524E7)); -#12143=CARTESIAN_POINT('',(5588000.0,1.524E7)); -#12144=PATH_AREA_WITH_PARAMETERS('',#20776,#12141); -#12145=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_36-2', - $,#10542,#28,'NET_NO_36-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26806, - #12144); -#12146=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_36-2','',$,#34,#10543, - 'NET_NO_36-2','',$,#12145,*); -#12147=LAYER_CONNECTION_POINT('PHYSICAL_2 R13-FO : 2','dependently located',#2327, - .U.); -#12148=CARTESIAN_POINT('',(5080000.0,1.524E7)); -#12149=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12145,.U.); -#12150=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12145,.U.); -#12151=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12145,.U.,'',$,#12149, - #12150); -#12152=STRATUM_FEATURE('32','conductor',#2327,.U.); -#12153=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12154=PHYSICAL_NETWORK('NET_NO_36','routed physical network',#34,.U.); -#12155=POLYLINE('centreline',(#12156,#12157)); -#12156=CARTESIAN_POINT('',(7112000.0,1.2446E7)); -#12157=CARTESIAN_POINT('',(7112000.0,1.1938E7)); -#12158=PATH_AREA_WITH_PARAMETERS('',#20778,#12155); -#12159=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_37-0', - $,#11014,#28,'NET_NO_37-0','definition usage',$,#11015,*,'',$,*,'',$,*,#26811, - #12158); -#12160=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_37-0','',$,#34,#11015, - 'NET_NO_37-0','',$,#12159,*); -#12161=LAYER_CONNECTION_POINT('PHYSICAL_1 R12-FO : 2','dependently located',#2331, - .U.); -#12162=CARTESIAN_POINT('',(7112000.0,1.2446E7)); -#12163=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12159,.U.); -#12164=LAYER_CONNECTION_POINT('PHYSICAL_1 R11-FO : 2','dependently located',#2331, - .U.); -#12165=CARTESIAN_POINT('',(7112000.0,1.1938E7)); -#12166=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12159,.U.); -#12167=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12159,.U.,'',$,#12163, - #12166); -#12168=STRATUM_FEATURE('33','conductor',#2331,.U.); -#12169=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12170=POLYLINE('centreline',(#12171,#12172,#12173,#12174,#12175)); -#12171=CARTESIAN_POINT('',(4826000.0,1.2954E7)); -#12172=CARTESIAN_POINT('',(4826000.0,1.2192E7)); -#12173=CARTESIAN_POINT('',(6667500.0,1.2192E7)); -#12174=CARTESIAN_POINT('',(6921500.0,1.1938E7)); -#12175=CARTESIAN_POINT('',(7112000.0,1.1938E7)); -#12176=PATH_AREA_WITH_PARAMETERS('',#20776,#12170); -#12177=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_37-1', - $,#10542,#28,'NET_NO_37-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26816, - #12176); -#12178=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_37-1','',$,#34,#10543, - 'NET_NO_37-1','',$,#12177,*); -#12179=LAYER_CONNECTION_POINT('PHYSICAL_2 L2-FO : 1','dependently located',#2327, - .U.); -#12180=CARTESIAN_POINT('',(4826000.0,1.2954E7)); -#12181=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12177,.U.); -#12182=LAYER_CONNECTION_POINT('PHYSICAL_2 R11-FO : 2','dependently located',#2327, - .U.); -#12183=CARTESIAN_POINT('',(7112000.0,1.1938E7)); -#12184=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12177,.U.); -#12185=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12177,.U.,'',$,#12181, - #12184); -#12186=STRATUM_FEATURE('34','conductor',#2327,.U.); -#12187=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12188=JOIN_SHAPE_ASPECT('inter stratum join',$,#34,.U.); -#12189=PHYSICAL_NETWORK('NET_NO_37','routed physical network',#34,.U.); -#12190=POLYLINE('centreline',(#12191,#12192,#12193,#12194,#12195,#12196)); -#12191=CARTESIAN_POINT('',(2413000.0,508000.0)); -#12192=CARTESIAN_POINT('',(2413000.0,698500.0)); -#12193=CARTESIAN_POINT('',(3048000.0,1333500.0)); -#12194=CARTESIAN_POINT('',(3048000.0,1.0668E7)); -#12195=CARTESIAN_POINT('',(2032000.0,1.0668E7)); -#12196=CARTESIAN_POINT('',(2032000.0,1.2954E7)); -#12197=PATH_AREA_WITH_PARAMETERS('',#20778,#12190); -#12198=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_38-0', - $,#11014,#28,'NET_NO_38-0','definition usage',$,#11015,*,'',$,*,'',$,*,#26821, - #12197); -#12199=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_38-0','',$,#34,#11015, - 'NET_NO_38-0','',$,#12198,*); -#12200=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 52','dependently located',#2327, - .U.); -#12201=CARTESIAN_POINT('',(2413000.0,508000.0000000016)); -#12202=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12198,.U.); -#12203=LAYER_CONNECTION_POINT('PHYSICAL_2 R25-FO : 1','dependently located',#2327, - .U.); -#12204=CARTESIAN_POINT('',(2032000.0,1.2954E7)); -#12205=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12198,.U.); -#12206=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12198,.U.,'',$,#12202, - #12205); -#12207=POLYLINE('centreline',(#12208,#12209)); -#12208=CARTESIAN_POINT('',(2413000.0,508000.0)); -#12209=CARTESIAN_POINT('',(2540000.0,254000.0)); -#12210=PATH_AREA_WITH_PARAMETERS('',#20778,#12207); -#12211=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_38-1', - $,#11014,#28,'NET_NO_38-1','definition usage',$,#11015,*,'',$,*,'',$,*,#26826, - #12210); -#12212=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_38-1','',$,#34,#11015, - 'NET_NO_38-1','',$,#12211,*); -#12213=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12211,.U.); -#12214=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 108','dependently located',#2327, - .U.); -#12215=CARTESIAN_POINT('',(2540000.0,254000.00000000157)); -#12216=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12211,.U.); -#12217=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12211,.U.,'',$,#12213, - #12216); -#12218=STRATUM_FEATURE('35','conductor',#2327,.U.); -#12219=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12220=PHYSICAL_NETWORK('NET_NO_38','routed physical network',#34,.U.); -#12221=CARTESIAN_POINT('',(1.1429999999111272E7,753744.9998832541)); -#12222=LAYER_CONNECTION_POINT('tracktotrack43','explicitly located',#2327,.U.); -#12223=POLYLINE('centreline',(#12224,#12225,#12226,#12227,#12228)); -#12224=CARTESIAN_POINT('',(1.1684E7,254000.0)); -#12225=CARTESIAN_POINT('',(1.1557E7,381000.0)); -#12226=CARTESIAN_POINT('',(1.14935E7,381000.0)); -#12227=CARTESIAN_POINT('',(1.143E7,444500.0)); -#12228=CARTESIAN_POINT('',(1.143E7,762000.0)); -#12229=PATH_AREA_WITH_PARAMETERS('',#20777,#12223); -#12230=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_39-0', - $,#10559,#28,'NET_NO_39-0','definition usage',$,#10560,*,'',$,*,'',$,*,#26831, - #12229); -#12231=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_39-0','',$,#34,#10560, - 'NET_NO_39-0','',$,#12230,*); -#12232=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 72','dependently located',#2327, - .U.); -#12233=CARTESIAN_POINT('',(1.1684E7,254000.00000000044)); -#12234=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12230,.U.); -#12235=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12230,.U.); -#12236=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12230,.U.,'',$,#12234, - #12235); -#12237=POLYLINE('centreline',(#12238,#12239,#12240,#12241,#12242,#12243,#12244,#12245, - #12246,#12247)); -#12238=CARTESIAN_POINT('',(1.143E7,762000.0)); -#12239=CARTESIAN_POINT('',(1.143E7,1270000.0)); -#12240=CARTESIAN_POINT('',(1.08585E7,1270000.0)); -#12241=CARTESIAN_POINT('',(1.08585E7,1.2446E7)); -#12242=CARTESIAN_POINT('',(1.1938E7,1.2446E7)); -#12243=CARTESIAN_POINT('',(1.1938E7,1.39065E7)); -#12244=CARTESIAN_POINT('',(1.37795E7,1.39065E7)); -#12245=CARTESIAN_POINT('',(1.37795E7,1.4732E7)); -#12246=CARTESIAN_POINT('',(1.2954E7,1.4732E7)); -#12247=CARTESIAN_POINT('',(1.2954E7,1.524E7)); -#12248=PATH_AREA_WITH_PARAMETERS('',#20776,#12237); -#12249=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_39-1', - $,#10542,#28,'NET_NO_39-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26836, - #12248); -#12250=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_39-1','',$,#34,#10543, - 'NET_NO_39-1','',$,#12249,*); -#12251=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12249,.U.); -#12252=LAYER_CONNECTION_POINT('PHYSICAL_2 T1-FO : 4','dependently located',#2327, - .U.); -#12253=CARTESIAN_POINT('',(1.2954E7,1.524E7)); -#12254=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12249,.U.); -#12255=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12249,.U.,'',$,#12251, - #12254); -#12256=STRATUM_FEATURE('36','conductor',#2327,.U.); -#12257=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12258=PHYSICAL_NETWORK('NET_NO_39','routed physical network',#34,.U.); -#12259=CARTESIAN_POINT('',(1.4223999999250054E7,753744.9998832541)); -#12260=LAYER_CONNECTION_POINT('tracktotrack44','explicitly located',#2327,.U.); -#12261=POLYLINE('centreline',(#12262,#12263)); -#12262=CARTESIAN_POINT('',(1.4224E7,254000.0)); -#12263=CARTESIAN_POINT('',(1.4224E7,762000.0)); -#12264=PATH_AREA_WITH_PARAMETERS('',#20777,#12261); -#12265=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_4-0', - $,#10559,#28,'NET_NO_4-0','definition usage',$,#10560,*,'',$,*,'',$,*,#26841, - #12264); -#12266=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_4-0','',$,#34,#10560, - 'NET_NO_4-0','',$,#12265,*); -#12267=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 62','dependently located',#2327, - .U.); -#12268=CARTESIAN_POINT('',(1.4224E7,254000.00000000015)); -#12269=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12265,.U.); -#12270=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12265,.U.); -#12271=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12265,.U.,'',$,#12269, - #12270); -#12272=POLYLINE('centreline',(#12273,#12274,#12275,#12276,#12277)); -#12273=CARTESIAN_POINT('',(1.4224E7,762000.0)); -#12274=CARTESIAN_POINT('',(1.4224E7,1905000.0)); -#12275=CARTESIAN_POINT('',(1.51765E7,1905000.0)); -#12276=CARTESIAN_POINT('',(1.51765E7,1.143E7)); -#12277=CARTESIAN_POINT('',(1.524E7,1.1684E7)); -#12278=PATH_AREA_WITH_PARAMETERS('',#20776,#12272); -#12279=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_4-1', - $,#10542,#28,'NET_NO_4-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26846, - #12278); -#12280=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_4-1','',$,#34,#10543, - 'NET_NO_4-1','',$,#12279,*); -#12281=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12279,.U.); -#12282=LAYER_CONNECTION_POINT('PHYSICAL_2 R23-FO : 1','dependently located',#2327, - .U.); -#12283=CARTESIAN_POINT('',(1.524E7,1.1684E7)); -#12284=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12279,.U.); -#12285=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12279,.U.,'',$,#12281, - #12284); -#12286=STRATUM_FEATURE('37','conductor',#2327,.U.); -#12287=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12288=PHYSICAL_NETWORK('NET_NO_4','routed physical network',#34,.U.); -#12289=CARTESIAN_POINT('',(1.1683999999123964E7,753744.9998832541)); -#12290=LAYER_CONNECTION_POINT('tracktotrack45','explicitly located',#2327,.U.); -#12291=POLYLINE('centreline',(#12292,#12293,#12294,#12295,#12296,#12297)); -#12292=CARTESIAN_POINT('',(1.1684E7,762000.0)); -#12293=CARTESIAN_POINT('',(1.1684E7,2476500.0)); -#12294=CARTESIAN_POINT('',(1.2065E7,2476500.0)); -#12295=CARTESIAN_POINT('',(1.2065E7,1.37795E7)); -#12296=CARTESIAN_POINT('',(1.397E7,1.37795E7)); -#12297=CARTESIAN_POINT('',(1.397E7,1.524E7)); -#12298=PATH_AREA_WITH_PARAMETERS('',#20776,#12291); -#12299=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_40-1', - $,#10542,#28,'NET_NO_40-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26851, - #12298); -#12300=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_40-1','',$,#34,#10543, - 'NET_NO_40-1','',$,#12299,*); -#12301=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12299,.U.); -#12302=LAYER_CONNECTION_POINT('PHYSICAL_2 T1-FO : 6','dependently located',#2327, - .U.); -#12303=CARTESIAN_POINT('',(1.397E7,1.524E7)); -#12304=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12299,.U.); -#12305=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12299,.U.,'',$,#12301, - #12304); -#12306=POLYLINE('centreline',(#12307,#12308,#12309,#12310,#12311)); -#12307=CARTESIAN_POINT('',(1.1938E7,254000.0)); -#12308=CARTESIAN_POINT('',(1.1811E7,381000.0)); -#12309=CARTESIAN_POINT('',(1.17475E7,381000.0)); -#12310=CARTESIAN_POINT('',(1.1684E7,444500.0)); -#12311=CARTESIAN_POINT('',(1.1684E7,762000.0)); -#12312=PATH_AREA_WITH_PARAMETERS('',#20777,#12306); -#12313=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_40-0', - $,#10559,#28,'NET_NO_40-0','definition usage',$,#10560,*,'',$,*,'',$,*,#26856, - #12312); -#12314=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_40-0','',$,#34,#10560, - 'NET_NO_40-0','',$,#12313,*); -#12315=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 71','dependently located',#2327, - .U.); -#12316=CARTESIAN_POINT('',(1.1938E7,254000.0000000004)); -#12317=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12313,.U.); -#12318=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12313,.U.); -#12319=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12313,.U.,'',$,#12317, - #12318); -#12320=STRATUM_FEATURE('38','conductor',#2327,.U.); -#12321=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12322=PHYSICAL_NETWORK('NET_NO_40','routed physical network',#34,.U.); -#12323=CARTESIAN_POINT('',(5588000.0,1.778E7)); -#12324=LAYER_CONNECTION_POINT('tracktotrack46','explicitly located',#2327,.U.); -#12325=CARTESIAN_POINT('',(5588000.0,1.778E7)); -#12326=LAYER_CONNECTION_POINT('tracktotrack47','explicitly located',#2327,.U.); -#12327=CARTESIAN_POINT('',(5588000.0,1.778E7)); -#12328=LAYER_CONNECTION_POINT('tracktotrack48','explicitly located',#2327,.U.); -#12329=POLYLINE('centreline',(#12330,#12331)); -#12330=CARTESIAN_POINT('',(5588000.0,1.778E7)); -#12331=CARTESIAN_POINT('',(5842000.0,1.778E7)); -#12332=PATH_AREA_WITH_PARAMETERS('',#20776,#12329); -#12333=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_41-5', - $,#10542,#28,'NET_NO_41-5','definition usage',$,#10543,*,'',$,*,'',$,*,#26861, - #12332); -#12334=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_41-5','',$,#34,#10543, - 'NET_NO_41-5','',$,#12333,*); -#12335=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12333,.U.); -#12336=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12333,.U.); -#12337=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12333,.U.,'',$,#12335, - #12336); -#12338=LAYER_CONNECTION_POINT('PHYSICAL_2 R16-FO : 2','dependently located',#2327, - .U.); -#12339=CARTESIAN_POINT('',(5842000.0,1.778E7)); -#12340=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12333,.U.); -#12341=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12333,.U.,'',$,#12336, - #12340); -#12342=POLYLINE('centreline',(#12343,#12344)); -#12343=CARTESIAN_POINT('',(4318000.0,1.778E7)); -#12344=CARTESIAN_POINT('',(5080000.0,1.778E7)); -#12345=PATH_AREA_WITH_PARAMETERS('',#20776,#12342); -#12346=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_41-4', - $,#10542,#28,'NET_NO_41-4','definition usage',$,#10543,*,'',$,*,'',$,*,#26866, - #12345); -#12347=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_41-4','',$,#34,#10543, - 'NET_NO_41-4','',$,#12346,*); -#12348=LAYER_CONNECTION_POINT('PHYSICAL_2 R15-FO : 2','dependently located',#2327, - .U.); -#12349=CARTESIAN_POINT('',(4318000.0,1.778E7)); -#12350=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12346,.U.); -#12351=LAYER_CONNECTION_POINT('PHYSICAL_2 C9-FO : 2','dependently located',#2327, - .U.); -#12352=CARTESIAN_POINT('',(5080000.0,1.778E7)); -#12353=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12346,.U.); -#12354=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12346,.U.,'',$,#12350, - #12353); -#12355=POLYLINE('centreline',(#12356,#12357)); -#12356=CARTESIAN_POINT('',(5080000.0,1.8288E7)); -#12357=CARTESIAN_POINT('',(5080000.0,1.778E7)); -#12358=PATH_AREA_WITH_PARAMETERS('',#20776,#12355); -#12359=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_41-1', - $,#10542,#28,'NET_NO_41-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26871, - #12358); -#12360=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_41-1','',$,#34,#10543, - 'NET_NO_41-1','',$,#12359,*); -#12361=LAYER_CONNECTION_POINT('PHYSICAL_2 C8-FO : 2','dependently located',#2327, - .U.); -#12362=CARTESIAN_POINT('',(5080000.0,1.8288E7)); -#12363=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12359,.U.); -#12364=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12359,.U.); -#12365=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12359,.U.,'',$,#12363, - #12364); -#12366=POLYLINE('centreline',(#12367,#12368)); -#12367=CARTESIAN_POINT('',(5588000.0,1.778E7)); -#12368=CARTESIAN_POINT('',(5080000.0,1.778E7)); -#12369=PATH_AREA_WITH_PARAMETERS('',#20776,#12366); -#12370=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_41-2', - $,#10542,#28,'NET_NO_41-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26876, - #12369); -#12371=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_41-2','',$,#34,#10543, - 'NET_NO_41-2','',$,#12370,*); -#12372=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12370,.U.); -#12373=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12370,.U.); -#12374=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12370,.U.,'',$,#12372, - #12373); -#12375=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12370,.U.); -#12376=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12370,.U.,'',$,#12373, - #12375); -#12377=POLYLINE('centreline',(#12378,#12379,#12380,#12381)); -#12378=CARTESIAN_POINT('',(5588000.0,1.7018E7)); -#12379=CARTESIAN_POINT('',(5588000.0,1.6383E7)); -#12380=CARTESIAN_POINT('',(6604000.0,1.6383E7)); -#12381=CARTESIAN_POINT('',(6604000.0,1.5748E7)); -#12382=PATH_AREA_WITH_PARAMETERS('',#20776,#12377); -#12383=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_41-3', - $,#10542,#28,'NET_NO_41-3','definition usage',$,#10543,*,'',$,*,'',$,*,#26881, - #12382); -#12384=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_41-3','',$,#34,#10543, - 'NET_NO_41-3','',$,#12383,*); -#12385=LAYER_CONNECTION_POINT('PHYSICAL_2 R14-FO : 1','dependently located',#2327, - .U.); -#12386=CARTESIAN_POINT('',(5588000.0,1.7018E7)); -#12387=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12383,.U.); -#12388=LAYER_CONNECTION_POINT('PHYSICAL_2 CR5-FO : 1','dependently located',#2327, - .U.); -#12389=CARTESIAN_POINT('',(6604000.0,1.5748E7)); -#12390=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12383,.U.); -#12391=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12383,.U.,'',$,#12387, - #12390); -#12392=POLYLINE('centreline',(#12393,#12394)); -#12393=CARTESIAN_POINT('',(5588000.0,1.778E7)); -#12394=CARTESIAN_POINT('',(5588000.0,1.7018E7)); -#12395=PATH_AREA_WITH_PARAMETERS('',#20776,#12392); -#12396=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_41-0', - $,#10542,#28,'NET_NO_41-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26886, - #12395); -#12397=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_41-0','',$,#34,#10543, - 'NET_NO_41-0','',$,#12396,*); -#12398=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12396,.U.); -#12399=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12396,.U.); -#12400=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12396,.U.,'',$,#12398, - #12399); -#12401=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12396,.U.); -#12402=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12396,.U.,'',$,#12399, - #12401); -#12403=STRATUM_FEATURE('39','conductor',#2327,.U.); -#12404=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12405=PHYSICAL_NETWORK('NET_NO_41','routed physical network',#34,.U.); -#12406=CARTESIAN_POINT('',(1.0668E7,1.50495E7)); -#12407=LAYER_CONNECTION_POINT('tracktotrack49','explicitly located',#2327,.U.); -#12408=CARTESIAN_POINT('',(1.0668E7,1.50495E7)); -#12409=LAYER_CONNECTION_POINT('tracktotrack50','explicitly located',#2327,.U.); -#12410=CARTESIAN_POINT('',(1.0668E7,1.50495E7)); -#12411=LAYER_CONNECTION_POINT('tracktotrack51','explicitly located',#2327,.U.); -#12412=POLYLINE('centreline',(#12413,#12414,#12415,#12416)); -#12413=CARTESIAN_POINT('',(1.0668E7,1.50495E7)); -#12414=CARTESIAN_POINT('',(9715500.0,1.50495E7)); -#12415=CARTESIAN_POINT('',(9715500.0,1.397E7)); -#12416=CARTESIAN_POINT('',(9398000.0,1.397E7)); -#12417=PATH_AREA_WITH_PARAMETERS('',#20776,#12412); -#12418=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_42-0', - $,#10542,#28,'NET_NO_42-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26891, - #12417); -#12419=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_42-0','',$,#34,#10543, - 'NET_NO_42-0','',$,#12418,*); -#12420=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12418,.U.); -#12421=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12418,.U.); -#12422=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12418,.U.,'',$,#12420, - #12421); -#12423=LAYER_CONNECTION_POINT('PHYSICAL_2 U1-FO : 1','dependently located',#2327, - .U.); -#12424=CARTESIAN_POINT('',(9398000.0,1.397E7)); -#12425=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12418,.U.); -#12426=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12418,.U.,'',$,#12421, - #12425); -#12427=POLYLINE('centreline',(#12428,#12429,#12430)); -#12428=CARTESIAN_POINT('',(1.1684E7,1.6764E7)); -#12429=CARTESIAN_POINT('',(1.1684E7,1.5748E7)); -#12430=CARTESIAN_POINT('',(1.1176E7,1.5748E7)); -#12431=PATH_AREA_WITH_PARAMETERS('',#20776,#12427); -#12432=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_42-6', - $,#10542,#28,'NET_NO_42-6','definition usage',$,#10543,*,'',$,*,'',$,*,#26896, - #12431); -#12433=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_42-6','',$,#34,#10543, - 'NET_NO_42-6','',$,#12432,*); -#12434=LAYER_CONNECTION_POINT('PHYSICAL_2 C2-FO : 1','dependently located',#2327, - .U.); -#12435=CARTESIAN_POINT('',(1.1684E7,1.6764E7)); -#12436=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12432,.U.); -#12437=LAYER_CONNECTION_POINT('PHYSICAL_2 R1-FO : 2','dependently located',#2327, - .U.); -#12438=CARTESIAN_POINT('',(1.1176E7,1.5748E7)); -#12439=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12432,.U.); -#12440=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12432,.U.,'',$,#12436, - #12439); -#12441=POLYLINE('centreline',(#12442,#12443)); -#12442=CARTESIAN_POINT('',(1.0668E7,1.5748E7)); -#12443=CARTESIAN_POINT('',(1.0668E7,1.50495E7)); -#12444=PATH_AREA_WITH_PARAMETERS('',#20776,#12441); -#12445=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_42-2', - $,#10542,#28,'NET_NO_42-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26901, - #12444); -#12446=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_42-2','',$,#34,#10543, - 'NET_NO_42-2','',$,#12445,*); -#12447=LAYER_CONNECTION_POINT('PHYSICAL_2 CR2-FO : 1','dependently located',#2327, - .U.); -#12448=CARTESIAN_POINT('',(1.0668E7,1.5748E7)); -#12449=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12445,.U.); -#12450=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12445,.U.); -#12451=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12445,.U.,'',$,#12449, - #12450); -#12452=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12445,.U.); -#12453=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12445,.U.,'',$,#12450, - #12452); -#12454=POLYLINE('centreline',(#12455,#12456,#12457,#12458)); -#12455=CARTESIAN_POINT('',(1.1684E7,1.4732E7)); -#12456=CARTESIAN_POINT('',(1.1684E7,1.42875E7)); -#12457=CARTESIAN_POINT('',(1.0668E7,1.42875E7)); -#12458=CARTESIAN_POINT('',(1.0668E7,1.4732E7)); -#12459=PATH_AREA_WITH_PARAMETERS('',#20776,#12454); -#12460=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_42-1', - $,#10542,#28,'NET_NO_42-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26906, - #12459); -#12461=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_42-1','',$,#34,#10543, - 'NET_NO_42-1','',$,#12460,*); -#12462=LAYER_CONNECTION_POINT('PHYSICAL_2 C1-FO : 1','dependently located',#2327, - .U.); -#12463=CARTESIAN_POINT('',(1.1684E7,1.4732E7)); -#12464=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12460,.U.); -#12465=LAYER_CONNECTION_POINT('PHYSICAL_2 R3-FO : 1','dependently located',#2327, - .U.); -#12466=CARTESIAN_POINT('',(1.0668E7,1.4732E7)); -#12467=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12460,.U.); -#12468=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12460,.U.,'',$,#12464, - #12467); -#12469=POLYLINE('centreline',(#12470,#12471)); -#12470=CARTESIAN_POINT('',(1.1176E7,1.5748E7)); -#12471=CARTESIAN_POINT('',(1.0668E7,1.5748E7)); -#12472=PATH_AREA_WITH_PARAMETERS('',#20776,#12469); -#12473=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_42-5', - $,#10542,#28,'NET_NO_42-5','definition usage',$,#10543,*,'',$,*,'',$,*,#26911, - #12472); -#12474=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_42-5','',$,#34,#10543, - 'NET_NO_42-5','',$,#12473,*); -#12475=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12473,.U.); -#12476=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12473,.U.); -#12477=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12473,.U.,'',$,#12475, - #12476); -#12478=POLYLINE('centreline',(#12479,#12480)); -#12479=CARTESIAN_POINT('',(1.016E7,1.5748E7)); -#12480=CARTESIAN_POINT('',(1.0668E7,1.5748E7)); -#12481=PATH_AREA_WITH_PARAMETERS('',#20776,#12478); -#12482=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_42-4', - $,#10542,#28,'NET_NO_42-4','definition usage',$,#10543,*,'',$,*,'',$,*,#26916, - #12481); -#12483=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_42-4','',$,#34,#10543, - 'NET_NO_42-4','',$,#12482,*); -#12484=LAYER_CONNECTION_POINT('PHYSICAL_2 CR1-FO : 2','dependently located',#2327, - .U.); -#12485=CARTESIAN_POINT('',(1.016E7,1.5748E7)); -#12486=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12482,.U.); -#12487=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12482,.U.); -#12488=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12482,.U.,'',$,#12486, - #12487); -#12489=POLYLINE('centreline',(#12490,#12491)); -#12490=CARTESIAN_POINT('',(1.0668E7,1.4732E7)); -#12491=CARTESIAN_POINT('',(1.0668E7,1.50495E7)); -#12492=PATH_AREA_WITH_PARAMETERS('',#20776,#12489); -#12493=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_42-3', - $,#10542,#28,'NET_NO_42-3','definition usage',$,#10543,*,'',$,*,'',$,*,#26921, - #12492); -#12494=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_42-3','',$,#34,#10543, - 'NET_NO_42-3','',$,#12493,*); -#12495=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12493,.U.); -#12496=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12493,.U.); -#12497=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12493,.U.,'',$,#12495, - #12496); -#12498=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12493,.U.); -#12499=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12493,.U.,'',$,#12496, - #12498); -#12500=STRATUM_FEATURE('40','conductor',#2327,.U.); -#12501=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12502=PHYSICAL_NETWORK('NET_NO_42','routed physical network',#34,.U.); -#12503=POLYLINE('centreline',(#12504,#12505)); -#12504=CARTESIAN_POINT('',(7112000.0,1.3716E7)); -#12505=CARTESIAN_POINT('',(6604000.0,1.3716E7)); -#12506=PATH_AREA_WITH_PARAMETERS('',#20776,#12503); -#12507=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_43-3', - $,#10542,#28,'NET_NO_43-3','definition usage',$,#10543,*,'',$,*,'',$,*,#26926, - #12506); -#12508=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_43-3','',$,#34,#10543, - 'NET_NO_43-3','',$,#12507,*); -#12509=LAYER_CONNECTION_POINT('PHYSICAL_2 R12-FO : 1','dependently located',#2327, - .U.); -#12510=CARTESIAN_POINT('',(7112000.0,1.3716E7)); -#12511=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12507,.U.); -#12512=LAYER_CONNECTION_POINT('PHYSICAL_2 Q3-FO : 3','dependently located',#2327, - .U.); -#12513=CARTESIAN_POINT('',(6604000.0,1.3716E7)); -#12514=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12507,.U.); -#12515=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12507,.U.,'',$,#12511, - #12514); -#12516=POLYLINE('centreline',(#12517,#12518)); -#12517=CARTESIAN_POINT('',(6096000.0,1.2954E7)); -#12518=CARTESIAN_POINT('',(6604000.0,1.2954E7)); -#12519=PATH_AREA_WITH_PARAMETERS('',#20776,#12516); -#12520=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_43-1', - $,#10542,#28,'NET_NO_43-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26931, - #12519); -#12521=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_43-1','',$,#34,#10543, - 'NET_NO_43-1','',$,#12520,*); -#12522=LAYER_CONNECTION_POINT('PHYSICAL_2 CR7-FO : 2','dependently located',#2327, - .U.); -#12523=CARTESIAN_POINT('',(6096000.0,1.2954E7)); -#12524=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12520,.U.); -#12525=LAYER_CONNECTION_POINT('PHYSICAL_2 CR6-FO : 1','dependently located',#2327, - .U.); -#12526=CARTESIAN_POINT('',(6604000.0,1.2954E7)); -#12527=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12520,.U.); -#12528=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12520,.U.,'',$,#12524, - #12527); -#12529=POLYLINE('centreline',(#12530,#12531,#12532)); -#12530=CARTESIAN_POINT('',(7112000.0,1.3716E7)); -#12531=CARTESIAN_POINT('',(8128000.0,1.3716E7)); -#12532=CARTESIAN_POINT('',(8128000.0,1.397E7)); -#12533=PATH_AREA_WITH_PARAMETERS('',#20776,#12529); -#12534=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_43-2', - $,#10542,#28,'NET_NO_43-2','definition usage',$,#10543,*,'',$,*,'',$,*,#26936, - #12533); -#12535=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_43-2','',$,#34,#10543, - 'NET_NO_43-2','',$,#12534,*); -#12536=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12534,.U.); -#12537=LAYER_CONNECTION_POINT('PHYSICAL_2 U1-FO : 6','dependently located',#2327, - .U.); -#12538=CARTESIAN_POINT('',(8128000.0,1.397E7)); -#12539=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12534,.U.); -#12540=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12534,.U.,'',$,#12536, - #12539); -#12541=POLYLINE('centreline',(#12542,#12543)); -#12542=CARTESIAN_POINT('',(6604000.0,1.3716E7)); -#12543=CARTESIAN_POINT('',(6604000.0,1.2954E7)); -#12544=PATH_AREA_WITH_PARAMETERS('',#20776,#12541); -#12545=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_43-0', - $,#10542,#28,'NET_NO_43-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26941, - #12544); -#12546=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_43-0','',$,#34,#10543, - 'NET_NO_43-0','',$,#12545,*); -#12547=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12545,.U.); -#12548=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12545,.U.); -#12549=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12545,.U.,'',$,#12547, - #12548); -#12550=POLYLINE('centreline',(#12551,#12552)); -#12551=CARTESIAN_POINT('',(8128000.0,1.397E7)); -#12552=CARTESIAN_POINT('',(8128000.0,1.4478E7)); -#12553=PATH_AREA_WITH_PARAMETERS('',#20776,#12550); -#12554=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_43-4', - $,#10542,#28,'NET_NO_43-4','definition usage',$,#10543,*,'',$,*,'',$,*,#26946, - #12553); -#12555=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_43-4','',$,#34,#10543, - 'NET_NO_43-4','',$,#12554,*); -#12556=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12554,.U.); -#12557=LAYER_CONNECTION_POINT('PHYSICAL_2 C11-FO : 1','dependently located',#2327, - .U.); -#12558=CARTESIAN_POINT('',(8128000.0,1.4478E7)); -#12559=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12554,.U.); -#12560=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12554,.U.,'',$,#12556, - #12559); -#12561=STRATUM_FEATURE('41','conductor',#2327,.U.); -#12562=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12563=PHYSICAL_NETWORK('NET_NO_43','routed physical network',#34,.U.); -#12564=POLYLINE('centreline',(#12565,#12566,#12567,#12568,#12569,#12570)); -#12565=CARTESIAN_POINT('',(9652000.0,1.5748E7)); -#12566=CARTESIAN_POINT('',(9652000.0,1.524E7)); -#12567=CARTESIAN_POINT('',(9461500.0,1.524E7)); -#12568=CARTESIAN_POINT('',(9461500.0,1.4478E7)); -#12569=CARTESIAN_POINT('',(9144000.0,1.4478E7)); -#12570=CARTESIAN_POINT('',(9144000.0,1.397E7)); -#12571=PATH_AREA_WITH_PARAMETERS('',#20776,#12564); -#12572=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_44-0', - $,#10542,#28,'NET_NO_44-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26951, - #12571); -#12573=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_44-0','',$,#34,#10543, - 'NET_NO_44-0','',$,#12572,*); -#12574=LAYER_CONNECTION_POINT('PHYSICAL_2 R2-FO : 2','dependently located',#2327, - .U.); -#12575=CARTESIAN_POINT('',(9652000.0,1.5748E7)); -#12576=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12572,.U.); -#12577=LAYER_CONNECTION_POINT('PHYSICAL_2 U1-FO : 2','dependently located',#2327, - .U.); -#12578=CARTESIAN_POINT('',(9144000.0,1.397E7)); -#12579=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12572,.U.); -#12580=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12572,.U.,'',$,#12576, - #12579); -#12581=STRATUM_FEATURE('42','conductor',#2327,.U.); -#12582=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12583=PHYSICAL_NETWORK('NET_NO_44','routed physical network',#34,.U.); -#12584=PHYSICAL_NETWORK('NET_NO_45','unrouted physical network',#34,.U.); -#12585=JOIN_SHAPE_ASPECT('unrouted join',$,#34,.U.); -#12586=POLYLINE('centreline',(#12587,#12588,#12589,#12590,#12591,#12592)); -#12587=CARTESIAN_POINT('',(2159000.0,508000.0)); -#12588=CARTESIAN_POINT('',(2159000.0,1079500.0)); -#12589=CARTESIAN_POINT('',(2857500.0,1778000.0)); -#12590=CARTESIAN_POINT('',(2857500.0,9398000.0)); -#12591=CARTESIAN_POINT('',(1524000.0,9398000.0)); -#12592=CARTESIAN_POINT('',(1524000.0,1.2954E7)); -#12593=PATH_AREA_WITH_PARAMETERS('',#20778,#12586); -#12594=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_46-0', - $,#11014,#28,'NET_NO_46-0','definition usage',$,#11015,*,'',$,*,'',$,*,#26956, - #12593); -#12595=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_46-0','',$,#34,#11015, - 'NET_NO_46-0','',$,#12594,*); -#12596=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 53','dependently located',#2327, - .U.); -#12597=CARTESIAN_POINT('',(2159000.0,508000.00000000163)); -#12598=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12594,.U.); -#12599=LAYER_CONNECTION_POINT('PHYSICAL_2 R24-FO : 1','dependently located',#2327, - .U.); -#12600=CARTESIAN_POINT('',(1524000.0,1.2954E7)); -#12601=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12594,.U.); -#12602=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12594,.U.,'',$,#12598, - #12601); -#12603=POLYLINE('centreline',(#12604,#12605)); -#12604=CARTESIAN_POINT('',(2159000.0,508000.0)); -#12605=CARTESIAN_POINT('',(2286000.0,254000.0)); -#12606=PATH_AREA_WITH_PARAMETERS('',#20778,#12603); -#12607=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_46-1', - $,#11014,#28,'NET_NO_46-1','definition usage',$,#11015,*,'',$,*,'',$,*,#26961, - #12606); -#12608=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_46-1','',$,#34,#11015, - 'NET_NO_46-1','',$,#12607,*); -#12609=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12607,.U.); -#12610=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 109','dependently located',#2327, - .U.); -#12611=CARTESIAN_POINT('',(2286000.0,254000.0000000016)); -#12612=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12607,.U.); -#12613=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12607,.U.,'',$,#12609, - #12612); -#12614=STRATUM_FEATURE('43','conductor',#2327,.U.); -#12615=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12616=PHYSICAL_NETWORK('NET_NO_46','routed physical network',#34,.U.); -#12617=CARTESIAN_POINT('',(7112000.0,1.8161E7)); -#12618=LAYER_CONNECTION_POINT('tracktotrack52','explicitly located',#2327,.U.); -#12619=CARTESIAN_POINT('',(7112000.0,1.8161E7)); -#12620=LAYER_CONNECTION_POINT('tracktotrack53','explicitly located',#2327,.U.); -#12621=CARTESIAN_POINT('',(7112000.0,1.8161E7)); -#12622=LAYER_CONNECTION_POINT('tracktotrack54','explicitly located',#2327,.U.); -#12623=POLYLINE('centreline',(#12624,#12625)); -#12624=CARTESIAN_POINT('',(7112000.0,1.8161E7)); -#12625=CARTESIAN_POINT('',(7112000.0,1.778E7)); -#12626=PATH_AREA_WITH_PARAMETERS('',#20778,#12623); -#12627=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_5-3', - $,#11014,#28,'NET_NO_5-3','definition usage',$,#11015,*,'',$,*,'',$,*,#26966, - #12626); -#12628=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_5-3','',$,#34,#11015, - 'NET_NO_5-3','',$,#12627,*); -#12629=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12627,.U.); -#12630=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12627,.U.); -#12631=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12627,.U.,'',$,#12629, - #12630); -#12632=LAYER_CONNECTION_POINT('PHYSICAL_2 R16-FO : 1','dependently located',#2327, - .U.); -#12633=CARTESIAN_POINT('',(7112000.0,1.778E7)); -#12634=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12627,.U.); -#12635=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12627,.U.,'',$,#12630, - #12634); -#12636=POLYLINE('centreline',(#12637,#12638,#12639,#12640,#12641)); -#12637=CARTESIAN_POINT('',(7112000.0,1.8161E7)); -#12638=CARTESIAN_POINT('',(8953500.0,1.8161E7)); -#12639=CARTESIAN_POINT('',(8953500.0,1.651E7)); -#12640=CARTESIAN_POINT('',(9144000.0,1.651E7)); -#12641=CARTESIAN_POINT('',(9144000.0,1.524E7)); -#12642=PATH_AREA_WITH_PARAMETERS('',#20778,#12636); -#12643=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_5-1', - $,#11014,#28,'NET_NO_5-1','definition usage',$,#11015,*,'',$,*,'',$,*,#26971, - #12642); -#12644=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_5-1','',$,#34,#11015, - 'NET_NO_5-1','',$,#12643,*); -#12645=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12643,.U.); -#12646=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12643,.U.); -#12647=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12643,.U.,'',$,#12645, - #12646); -#12648=LAYER_CONNECTION_POINT('PHYSICAL_2 C14-FO : 2','dependently located',#2327, - .U.); -#12649=CARTESIAN_POINT('',(9144000.0,1.524E7)); -#12650=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12643,.U.); -#12651=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12643,.U.,'',$,#12646, - #12650); -#12652=POLYLINE('centreline',(#12653,#12654,#12655,#12656,#12657,#12658)); -#12653=CARTESIAN_POINT('',(2032000.0,1.4224E7)); -#12654=CARTESIAN_POINT('',(2032000.0,1.78435E7)); -#12655=CARTESIAN_POINT('',(2921000.0,1.87325E7)); -#12656=CARTESIAN_POINT('',(5397500.0,1.87325E7)); -#12657=CARTESIAN_POINT('',(5969000.0,1.8161E7)); -#12658=CARTESIAN_POINT('',(7112000.0,1.8161E7)); -#12659=PATH_AREA_WITH_PARAMETERS('',#20778,#12652); -#12660=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_5-0', - $,#11014,#28,'NET_NO_5-0','definition usage',$,#11015,*,'',$,*,'',$,*,#26976, - #12659); -#12661=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_5-0','',$,#34,#11015, - 'NET_NO_5-0','',$,#12660,*); -#12662=LAYER_CONNECTION_POINT('PHYSICAL_2 R25-FO : 2','dependently located',#2327, - .U.); -#12663=CARTESIAN_POINT('',(2032000.0,1.4224E7)); -#12664=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12660,.U.); -#12665=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12660,.U.); -#12666=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12660,.U.,'',$,#12664, - #12665); -#12667=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12660,.U.); -#12668=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12660,.U.,'',$,#12665, - #12667); -#12669=STRATUM_FEATURE('44','conductor',#2327,.U.); -#12670=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12671=PHYSICAL_NETWORK('NET_NO_5','routed physical network',#34,.U.); -#12672=JOIN_SHAPE_ASPECT('unrouted join',$,#34,.U.); -#12673=POLYLINE('centreline',(#12674,#12675,#12676)); -#12674=CARTESIAN_POINT('',(1.1303E7,508000.0)); -#12675=CARTESIAN_POINT('',(1.1303E7,381000.0)); -#12676=CARTESIAN_POINT('',(1.143E7,254000.0)); -#12677=PATH_AREA_WITH_PARAMETERS('',#20776,#12673); -#12678=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_6-0', - $,#10542,#28,'NET_NO_6-0','definition usage',$,#10543,*,'',$,*,'',$,*,#26981, - #12677); -#12679=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_6-0','',$,#34,#10543, - 'NET_NO_6-0','',$,#12678,*); -#12680=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 17','dependently located',#2331, - .U.); -#12681=CARTESIAN_POINT('',(1.1303E7,508000.0000000005)); -#12682=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12678,.U.); -#12683=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 73','dependently located',#2331, - .U.); -#12684=CARTESIAN_POINT('',(1.143E7,254000.0000000005)); -#12685=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12678,.U.); -#12686=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12678,.U.,'',$,#12682, - #12685); -#12687=STRATUM_FEATURE('45','conductor',#2331,.U.); -#12688=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12689=PHYSICAL_NETWORK('NET_NO_6','routed physical network',#34,.U.); -#12690=POLYLINE('centreline',(#12691,#12692,#12693)); -#12691=CARTESIAN_POINT('',(9144000.0,1.3208E7)); -#12692=CARTESIAN_POINT('',(9144000.0,1.2446E7)); -#12693=CARTESIAN_POINT('',(8128000.0,1.2446E7)); -#12694=PATH_AREA_WITH_PARAMETERS('',#20778,#12690); -#12695=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_7-0', - $,#11014,#28,'NET_NO_7-0','definition usage',$,#11015,*,'',$,*,'',$,*,#26986, - #12694); -#12696=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_7-0','',$,#34,#11015, - 'NET_NO_7-0','',$,#12695,*); -#12697=LAYER_CONNECTION_POINT('PHYSICAL_2 U1-FO : 13','dependently located',#2327, - .U.); -#12698=CARTESIAN_POINT('',(9144000.0,1.3208E7)); -#12699=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12695,.U.); -#12700=LAYER_CONNECTION_POINT('PHYSICAL_2 C13-FO : 1','dependently located',#2327, - .U.); -#12701=CARTESIAN_POINT('',(8128000.0,1.2446E7)); -#12702=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12695,.U.); -#12703=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12695,.U.,'',$,#12699, - #12702); -#12704=STRATUM_FEATURE('46','conductor',#2327,.U.); -#12705=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12706=PHYSICAL_NETWORK('NET_NO_7','routed physical network',#34,.U.); -#12707=JOIN_SHAPE_ASPECT('unrouted join',$,#34,.U.); -#12708=CARTESIAN_POINT('',(3809999.998733241,690244.9999158317)); -#12709=LAYER_CONNECTION_POINT('tracktotrack55','explicitly located',#2327,.U.); -#12710=POLYLINE('centreline',(#12711,#12712,#12713,#12714,#12715)); -#12711=CARTESIAN_POINT('',(3810000.0,698500.0)); -#12712=CARTESIAN_POINT('',(3810000.0,2032000.0)); -#12713=CARTESIAN_POINT('',(4381500.0,2032000.0)); -#12714=CARTESIAN_POINT('',(4381500.0,1.33985E7)); -#12715=CARTESIAN_POINT('',(3810000.0,1.397E7)); -#12716=PATH_AREA_WITH_PARAMETERS('',#20776,#12710); -#12717=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_8-1', - $,#10542,#28,'NET_NO_8-1','definition usage',$,#10543,*,'',$,*,'',$,*,#26991, - #12716); -#12718=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_8-1','',$,#34,#10543, - 'NET_NO_8-1','',$,#12717,*); -#12719=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12717,.U.); -#12720=LAYER_CONNECTION_POINT('PHYSICAL_2 L2-FO : 3','dependently located',#2327, - .U.); -#12721=CARTESIAN_POINT('',(3810000.0,1.397E7)); -#12722=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12717,.U.); -#12723=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12717,.U.,'',$,#12719, - #12722); -#12724=POLYLINE('centreline',(#12725,#12726)); -#12725=CARTESIAN_POINT('',(3810000.0,254000.0)); -#12726=CARTESIAN_POINT('',(3810000.0,698500.0)); -#12727=PATH_AREA_WITH_PARAMETERS('',#20777,#12724); -#12728=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_8-0', - $,#10559,#28,'NET_NO_8-0','definition usage',$,#10560,*,'',$,*,'',$,*,#26996, - #12727); -#12729=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_8-0','',$,#34,#10560, - 'NET_NO_8-0','',$,#12728,*); -#12730=LAYER_CONNECTION_POINT('PHYSICAL_2 P1-FO : 103','dependently located',#2327, - .U.); -#12731=CARTESIAN_POINT('',(3810000.0,254000.00000000143)); -#12732=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12728,.U.); -#12733=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12728,.U.); -#12734=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12728,.U.,'',$,#12732, - #12733); -#12735=STRATUM_FEATURE('47','conductor',#2327,.U.); -#12736=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12737=PHYSICAL_NETWORK('NET_NO_8','routed physical network',#34,.U.); -#12738=CARTESIAN_POINT('',(6604000.0,7620000.0)); -#12739=LAYER_CONNECTION_POINT('tracktotrack56','explicitly located',#2327,.U.); -#12740=CARTESIAN_POINT('',(6604000.0,7620000.0)); -#12741=LAYER_CONNECTION_POINT('tracktotrack57','explicitly located',#2327,.U.); -#12742=CARTESIAN_POINT('',(6604000.0,7620000.0)); -#12743=LAYER_CONNECTION_POINT('tracktotrack58','explicitly located',#2327,.U.); -#12744=POLYLINE('centreline',(#12745,#12746)); -#12745=CARTESIAN_POINT('',(7112000.0,7620000.0)); -#12746=CARTESIAN_POINT('',(6604000.0,7620000.0)); -#12747=PATH_AREA_WITH_PARAMETERS('',#20776,#12744); -#12748=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_9-4', - $,#10542,#28,'NET_NO_9-4','definition usage',$,#10543,*,'',$,*,'',$,*,#27001, - #12747); -#12749=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_9-4','',$,#34,#10543, - 'NET_NO_9-4','',$,#12748,*); -#12750=LAYER_CONNECTION_POINT('PHYSICAL_2 Q2-FO : 3','dependently located',#2327, - .U.); -#12751=CARTESIAN_POINT('',(7112000.0,7620000.0)); -#12752=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12748,.U.); -#12753=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12748,.U.); -#12754=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12748,.U.,'',$,#12752, - #12753); -#12755=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12748,.U.); -#12756=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12748,.U.,'',$,#12753, - #12755); -#12757=POLYLINE('centreline',(#12758,#12759,#12760)); -#12758=CARTESIAN_POINT('',(6604000.0,7620000.0)); -#12759=CARTESIAN_POINT('',(6350000.0,7620000.0)); -#12760=CARTESIAN_POINT('',(6350000.0,8128000.0)); -#12761=PATH_AREA_WITH_PARAMETERS('',#20776,#12757); -#12762=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_9-1', - $,#10542,#28,'NET_NO_9-1','definition usage',$,#10543,*,'',$,*,'',$,*,#27006, - #12761); -#12763=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_9-1','',$,#34,#10543, - 'NET_NO_9-1','',$,#12762,*); -#12764=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12762,.U.); -#12765=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12762,.U.); -#12766=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12762,.U.,'',$,#12764, - #12765); -#12767=LAYER_CONNECTION_POINT('PHYSICAL_2 C19-FO : 1','dependently located',#2327, - .U.); -#12768=CARTESIAN_POINT('',(6350000.0,8128000.0)); -#12769=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12762,.U.); -#12770=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12762,.U.,'',$,#12765, - #12769); -#12771=POLYLINE('centreline',(#12772,#12773,#12774,#12775)); -#12772=CARTESIAN_POINT('',(6604000.0,7620000.0)); -#12773=CARTESIAN_POINT('',(6604000.0,6477000.0)); -#12774=CARTESIAN_POINT('',(6350000.0,6477000.0)); -#12775=CARTESIAN_POINT('',(6350000.0,6096000.0)); -#12776=PATH_AREA_WITH_PARAMETERS('',#20776,#12771); -#12777=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_9-0', - $,#10542,#28,'NET_NO_9-0','definition usage',$,#10543,*,'',$,*,'',$,*,#27011, - #12776); -#12778=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_9-0','',$,#34,#10543, - 'NET_NO_9-0','',$,#12777,*); -#12779=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12777,.U.); -#12780=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12777,.U.); -#12781=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12777,.U.,'',$,#12779, - #12780); -#12782=LAYER_CONNECTION_POINT('PHYSICAL_2 C16-FO : 1','dependently located',#2327, - .U.); -#12783=CARTESIAN_POINT('',(6350000.0,6096000.0)); -#12784=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #12777,.U.); -#12785=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12777,.U.,'',$,#12780, - #12784); -#12786=POLYLINE('centreline',(#12787,#12788)); -#12787=CARTESIAN_POINT('',(6350000.0,6096000.0)); -#12788=CARTESIAN_POINT('',(6350000.0,4064000.0)); -#12789=PATH_AREA_WITH_PARAMETERS('',#20776,#12786); -#12790=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_9-5', - $,#10542,#28,'NET_NO_9-5','definition usage',$,#10543,*,'',$,*,'',$,*,#27016, - #12789); -#12791=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_9-5','',$,#34,#10543, - 'NET_NO_9-5','',$,#12790,*); -#12792=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12790,.U.); -#12793=LAYER_CONNECTION_POINT('PHYSICAL_2 C7-FO : 1','dependently located',#2327, - .U.); -#12794=CARTESIAN_POINT('',(6350000.0,4064000.0)); -#12795=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12790,.U.); -#12796=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12790,.U.,'',$,#12792, - #12795); -#12797=POLYLINE('centreline',(#12798,#12799)); -#12798=CARTESIAN_POINT('',(6350000.0,8128000.0)); -#12799=CARTESIAN_POINT('',(6350000.0,1.016E7)); -#12800=PATH_AREA_WITH_PARAMETERS('',#20776,#12797); -#12801=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_9-2', - $,#10542,#28,'NET_NO_9-2','definition usage',$,#10543,*,'',$,*,'',$,*,#27021, - #12800); -#12802=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_9-2','',$,#34,#10543, - 'NET_NO_9-2','',$,#12801,*); -#12803=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12801,.U.); -#12804=LAYER_CONNECTION_POINT('PHYSICAL_2 C20-FO : 1','dependently located',#2327, - .U.); -#12805=CARTESIAN_POINT('',(6350000.0,1.016E7)); -#12806=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12801,.U.); -#12807=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12801,.U.,'',$,#12803, - #12806); -#12808=POLYLINE('centreline',(#12809,#12810)); -#12809=CARTESIAN_POINT('',(6350000.0,4064000.0)); -#12810=CARTESIAN_POINT('',(6350000.0,2032000.0)); -#12811=PATH_AREA_WITH_PARAMETERS('',#20776,#12808); -#12812=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_9-3', - $,#10542,#28,'NET_NO_9-3','definition usage',$,#10543,*,'',$,*,'',$,*,#27026, - #12811); -#12813=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_9-3','',$,#34,#10543, - 'NET_NO_9-3','',$,#12812,*); -#12814=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12812,.U.); -#12815=LAYER_CONNECTION_POINT('PHYSICAL_2 C6-FO : 1','dependently located',#2327, - .U.); -#12816=CARTESIAN_POINT('',(6350000.0,2032000.0)); -#12817=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12812,.U.); -#12818=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12812,.U.,'',$,#12814, - #12817); -#12819=POLYLINE('centreline',(#12820,#12821)); -#12820=CARTESIAN_POINT('',(6858000.0,1.016E7)); -#12821=CARTESIAN_POINT('',(6350000.0,1.016E7)); -#12822=PATH_AREA_WITH_PARAMETERS('',#20776,#12819); -#12823=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_9-6', - $,#10542,#28,'NET_NO_9-6','definition usage',$,#10543,*,'',$,*,'',$,*,#27031, - #12822); -#12824=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_9-6','',$,#34,#10543, - 'NET_NO_9-6','',$,#12823,*); -#12825=LAYER_CONNECTION_POINT('PHYSICAL_2 R10-FO : 2','dependently located',#2327, - .U.); -#12826=CARTESIAN_POINT('',(6858000.0,1.016E7)); -#12827=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12823,.U.); -#12828=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12823,.U.); -#12829=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12823,.U.,'',$,#12827, - #12828); -#12830=STRATUM_FEATURE('48','conductor',#2327,.U.); -#12831=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12832=POLYLINE('centreline',(#12833,#12834,#12835,#12836)); -#12833=CARTESIAN_POINT('',(3175000.0,508000.0)); -#12834=CARTESIAN_POINT('',(3175000.0,1841500.0)); -#12835=CARTESIAN_POINT('',(6159500.0,1841500.0)); -#12836=CARTESIAN_POINT('',(6350000.0,2032000.0)); -#12837=PATH_AREA_WITH_PARAMETERS('',#20776,#12832); -#12838=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET_NO_9-7', - $,#10542,#28,'NET_NO_9-7','definition usage',$,#10543,*,'',$,*,'',$,*,#27036, - #12837); -#12839=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET_NO_9-7','',$,#34,#10543, - 'NET_NO_9-7','',$,#12838,*); -#12840=LAYER_CONNECTION_POINT('PHYSICAL_1 P1-FO : 49','dependently located',#2331, - .U.); -#12841=CARTESIAN_POINT('',(3175000.0,508000.0000000015)); -#12842=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #12838,.U.); -#12843=LAYER_CONNECTION_POINT('PHYSICAL_1 C6-FO : 1','dependently located',#2331, - .U.); -#12844=CARTESIAN_POINT('',(6350000.0,2032000.0)); -#12845=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #12838,.U.); -#12846=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#12838,.U.,'',$,#12842, - #12845); -#12847=STRATUM_FEATURE('49','conductor',#2331,.U.); -#12848=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#12849=JOIN_SHAPE_ASPECT('inter stratum join',$,#34,.U.); -#12850=PHYSICAL_NETWORK('NET_NO_9','routed physical network',#34,.U.); -#12851=STRATUM_FEATURE('R23-FO 1 SIGNAL_1',$,#2331,.U.); -#12852=STRATUM_FEATURE('R23-FO 2 SIGNAL_12',$,#2327,.U.); -#12853=STRATUM_FEATURE('CR1-FO 2 SIGNAL_1',$,#2331,.U.); -#12854=STRATUM_FEATURE('C11-FO 1 SIGNAL_1',$,#2331,.U.); -#12855=STRATUM_FEATURE('C11-FO 2 SIGNAL_1',$,#2331,.U.); -#12856=STRATUM_FEATURE('R6-FO 1 SIGNAL_12',$,#2327,.U.); -#12857=STRATUM_FEATURE('R6-FO 2 SIGNAL_1',$,#2331,.U.); -#12858=STRATUM_FEATURE('C8-FO 2 SIGNAL_1',$,#2331,.U.); -#12859=STRATUM_FEATURE('C8-FO 1 SIGNAL_12',$,#2327,.U.); -#12860=STRATUM_FEATURE('VR2-FO 2 SIGNAL_1',$,#2331,.U.); -#12861=STRATUM_FEATURE('VR2-FO 1 SIGNAL_1',$,#2331,.U.); -#12862=STRATUM_FEATURE('R26-FO 1 SIGNAL_1',$,#2331,.U.); -#12863=STRATUM_FEATURE('R26-FO 2 SIGNAL_1',$,#2331,.U.); -#12864=STRATUM_FEATURE('Q1-FO 2 SIGNAL_1',$,#2331,.U.); -#12865=STRATUM_FEATURE('Q1-FO 2 SIGNAL_12',$,#2327,.U.); -#12866=STRATUM_FEATURE('Q1-FO 1 SIGNAL_1',$,#2331,.U.); -#12867=STRATUM_FEATURE('Q1-FO 1 SIGNAL_12',$,#2327,.U.); -#12868=STRATUM_FEATURE('Q1-FO 3 SIGNAL_1',$,#2331,.U.); -#12869=STRATUM_FEATURE('Q1-FO 3 SIGNAL_12',$,#2327,.U.); -#12870=STRATUM_FEATURE('R13-FO 1 SIGNAL_12',$,#2327,.U.); -#12871=STRATUM_FEATURE('R13-FO 2 SIGNAL_1',$,#2331,.U.); -#12872=STRATUM_FEATURE('R17-FO 1 SIGNAL_1',$,#2331,.U.); -#12873=STRATUM_FEATURE('R17-FO 2 SIGNAL_12',$,#2327,.U.); -#12874=STRATUM_FEATURE('CR6-FO 1 SIGNAL_1',$,#2331,.U.); -#12875=STRATUM_FEATURE('CR6-FO 2 SIGNAL_12',$,#2327,.U.); -#12876=STRATUM_FEATURE('R4-FO 1 SIGNAL_1',$,#2331,.U.); -#12877=STRATUM_FEATURE('R4-FO 2 SIGNAL_1',$,#2331,.U.); -#12878=STRATUM_FEATURE('L1-FO 3 SIGNAL_1',$,#2331,.U.); -#12879=STRATUM_FEATURE('L1-FO 1 SIGNAL_1',$,#2331,.U.); -#12880=STRATUM_FEATURE('L1-FO 2 SIGNAL_1',$,#2331,.U.); -#12881=STRATUM_FEATURE('VR4-FO 2 SIGNAL_1',$,#2331,.U.); -#12882=STRATUM_FEATURE('VR4-FO 1 SIGNAL_1',$,#2331,.U.); -#12883=STRATUM_FEATURE('R24-FO 1 SIGNAL_1',$,#2331,.U.); -#12884=STRATUM_FEATURE('R24-FO 2 SIGNAL_1',$,#2331,.U.); -#12885=STRATUM_FEATURE('R24-FO 2 SIGNAL_12',$,#2327,.U.); -#12886=STRATUM_FEATURE('C18-FO 2 SIGNAL_1',$,#2331,.U.); -#12887=STRATUM_FEATURE('C18-FO 1 SIGNAL_1',$,#2331,.U.); -#12888=STRATUM_FEATURE('T1-FO 2 SIGNAL_1',$,#2331,.U.); -#12889=STRATUM_FEATURE('T1-FO 2 SIGNAL_12',$,#2327,.U.); -#12890=STRATUM_FEATURE('T1-FO 6 SIGNAL_1',$,#2331,.U.); -#12891=STRATUM_FEATURE('T1-FO 3 SIGNAL_12',$,#2327,.U.); -#12892=STRATUM_FEATURE('T1-FO 1 SIGNAL_1',$,#2331,.U.); -#12893=STRATUM_FEATURE('T1-FO 5 SIGNAL_1',$,#2331,.U.); -#12894=STRATUM_FEATURE('T1-FO 5 SIGNAL_12',$,#2327,.U.); -#12895=STRATUM_FEATURE('T1-FO 4 SIGNAL_1',$,#2331,.U.); -#12896=STRATUM_FEATURE('R3-FO 1 SIGNAL_1',$,#2331,.U.); -#12897=STRATUM_FEATURE('R3-FO 2 SIGNAL_1',$,#2331,.U.); -#12898=STRATUM_FEATURE('C5-FO 1 SIGNAL_1',$,#2331,.U.); -#12899=STRATUM_FEATURE('C5-FO 2 SIGNAL_1',$,#2331,.U.); -#12900=STRATUM_FEATURE('R21-FO 1 SIGNAL_12',$,#2327,.U.); -#12901=STRATUM_FEATURE('R21-FO 2 SIGNAL_1',$,#2331,.U.); -#12902=STRATUM_FEATURE('R25-FO 1 SIGNAL_1',$,#2331,.U.); -#12903=STRATUM_FEATURE('R25-FO 2 SIGNAL_1',$,#2331,.U.); -#12904=STRATUM_FEATURE('C9-FO 2 SIGNAL_1',$,#2331,.U.); -#12905=STRATUM_FEATURE('C9-FO 1 SIGNAL_1',$,#2331,.U.); -#12906=STRATUM_FEATURE('L2-FO 3 SIGNAL_1',$,#2331,.U.); -#12907=STRATUM_FEATURE('L2-FO 1 SIGNAL_1',$,#2331,.U.); -#12908=STRATUM_FEATURE('L2-FO 2 SIGNAL_1',$,#2331,.U.); -#12909=STRATUM_FEATURE('VR6-FO 2 SIGNAL_12',$,#2327,.U.); -#12910=STRATUM_FEATURE('VR6-FO 1 SIGNAL_1',$,#2331,.U.); -#12911=STRATUM_FEATURE('R7-FO 2 SIGNAL_1',$,#2331,.U.); -#12912=STRATUM_FEATURE('R7-FO 2 SIGNAL_12',$,#2327,.U.); -#12913=STRATUM_FEATURE('R7-FO 1 SIGNAL_1',$,#2331,.U.); -#12914=STRATUM_FEATURE('R30-FO 1 SIGNAL_1',$,#2331,.U.); -#12915=STRATUM_FEATURE('R30-FO 1 SIGNAL_12',$,#2327,.U.); -#12916=STRATUM_FEATURE('R30-FO 2 SIGNAL_1',$,#2331,.U.); -#12917=STRATUM_FEATURE('C2-FO 1 SIGNAL_1',$,#2331,.U.); -#12918=STRATUM_FEATURE('C2-FO 2 SIGNAL_1',$,#2331,.U.); -#12919=STRATUM_FEATURE('R10-FO 1 SIGNAL_1',$,#2331,.U.); -#12920=STRATUM_FEATURE('R10-FO 2 SIGNAL_1',$,#2331,.U.); -#12921=STRATUM_FEATURE('R5-FO 1 SIGNAL_1',$,#2331,.U.); -#12922=STRATUM_FEATURE('R5-FO 2 SIGNAL_1',$,#2331,.U.); -#12923=STRATUM_FEATURE('VR5-FO 2 SIGNAL_1',$,#2331,.U.); -#12924=STRATUM_FEATURE('VR5-FO 1 SIGNAL_1',$,#2331,.U.); -#12925=STRATUM_FEATURE('R22-FO 1 SIGNAL_1',$,#2331,.U.); -#12926=STRATUM_FEATURE('R22-FO 2 SIGNAL_12',$,#2327,.U.); -#12927=STRATUM_FEATURE('R16-FO 1 SIGNAL_1',$,#2331,.U.); -#12928=STRATUM_FEATURE('R16-FO 2 SIGNAL_1',$,#2331,.U.); -#12929=STRATUM_FEATURE('C21-FO 1 SIGNAL_1',$,#2331,.U.); -#12930=STRATUM_FEATURE('C21-FO 1 SIGNAL_12',$,#2327,.U.); -#12931=STRATUM_FEATURE('C21-FO 2 SIGNAL_12',$,#2327,.U.); -#12932=STRATUM_FEATURE('R2-FO 1 SIGNAL_12',$,#2327,.U.); -#12933=STRATUM_FEATURE('R2-FO 2 SIGNAL_1',$,#2331,.U.); -#12934=STRATUM_FEATURE('C20-FO 2 SIGNAL_1',$,#2331,.U.); -#12935=STRATUM_FEATURE('C20-FO 1 SIGNAL_1',$,#2331,.U.); -#12936=STRATUM_FEATURE('R20-FO 1 SIGNAL_1',$,#2331,.U.); -#12937=STRATUM_FEATURE('T2-FO 2 SIGNAL_1',$,#2331,.U.); -#12938=STRATUM_FEATURE('T2-FO 2 SIGNAL_12',$,#2327,.U.); -#12939=STRATUM_FEATURE('T2-FO 6 SIGNAL_1',$,#2331,.U.); -#12940=STRATUM_FEATURE('T2-FO 3 SIGNAL_12',$,#2327,.U.); -#12941=STRATUM_FEATURE('T2-FO 1 SIGNAL_1',$,#2331,.U.); -#12942=STRATUM_FEATURE('T2-FO 5 SIGNAL_1',$,#2331,.U.); -#12943=STRATUM_FEATURE('T2-FO 5 SIGNAL_12',$,#2327,.U.); -#12944=STRATUM_FEATURE('T2-FO 4 SIGNAL_1',$,#2331,.U.); -#12945=STRATUM_FEATURE('R12-FO 1 SIGNAL_1',$,#2331,.U.); -#12946=STRATUM_FEATURE('R12-FO 2 SIGNAL_12',$,#2327,.U.); -#12947=STRATUM_FEATURE('C6-FO 2 SIGNAL_1',$,#2331,.U.); -#12948=STRATUM_FEATURE('U1-FO 8 SIGNAL_1',$,#2331,.U.); -#12949=STRATUM_FEATURE('U1-FO 8 SIGNAL_12',$,#2327,.U.); -#12950=STRATUM_FEATURE('U1-FO 4 SIGNAL_1',$,#2331,.U.); -#12951=STRATUM_FEATURE('U1-FO 4 SIGNAL_12',$,#2327,.U.); -#12952=STRATUM_FEATURE('U1-FO 1 SIGNAL_1',$,#2331,.U.); -#12953=STRATUM_FEATURE('U1-FO 2 SIGNAL_1',$,#2331,.U.); -#12954=STRATUM_FEATURE('U1-FO 7 SIGNAL_1',$,#2331,.U.); -#12955=STRATUM_FEATURE('U1-FO 14 SIGNAL_1',$,#2331,.U.); -#12956=STRATUM_FEATURE('U1-FO 14 SIGNAL_12',$,#2327,.U.); -#12957=STRATUM_FEATURE('U1-FO 10 SIGNAL_12',$,#2327,.U.); -#12958=STRATUM_FEATURE('U1-FO 3 SIGNAL_1',$,#2331,.U.); -#12959=STRATUM_FEATURE('U1-FO 3 SIGNAL_12',$,#2327,.U.); -#12960=STRATUM_FEATURE('U1-FO 13 SIGNAL_1',$,#2331,.U.); -#12961=STRATUM_FEATURE('U1-FO 12 SIGNAL_1',$,#2331,.U.); -#12962=STRATUM_FEATURE('U1-FO 9 SIGNAL_1',$,#2331,.U.); -#12963=STRATUM_FEATURE('U1-FO 9 SIGNAL_12',$,#2327,.U.); -#12964=STRATUM_FEATURE('U1-FO 11 SIGNAL_1',$,#2331,.U.); -#12965=STRATUM_FEATURE('U1-FO 11 SIGNAL_12',$,#2327,.U.); -#12966=STRATUM_FEATURE('U1-FO 6 SIGNAL_1',$,#2331,.U.); -#12967=STRATUM_FEATURE('U1-FO 5 SIGNAL_1',$,#2331,.U.); -#12968=STRATUM_FEATURE('U1-FO 5 SIGNAL_12',$,#2327,.U.); -#12969=STRATUM_FEATURE('CR7-FO 1 SIGNAL_12',$,#2327,.U.); -#12970=STRATUM_FEATURE('CR7-FO 2 SIGNAL_1',$,#2331,.U.); -#12971=STRATUM_FEATURE('C13-FO 2 SIGNAL_12',$,#2327,.U.); -#12972=STRATUM_FEATURE('C13-FO 1 SIGNAL_1',$,#2331,.U.); -#12973=STRATUM_FEATURE('R18-FO 1 SIGNAL_1',$,#2331,.U.); -#12974=STRATUM_FEATURE('R18-FO 2 SIGNAL_1',$,#2331,.U.); -#12975=STRATUM_FEATURE('CR4-FO 1 SIGNAL_1',$,#2331,.U.); -#12976=STRATUM_FEATURE('CR4-FO 2 SIGNAL_1',$,#2331,.U.); -#12977=STRATUM_FEATURE('C17-FO 2 SIGNAL_1',$,#2331,.U.); -#12978=STRATUM_FEATURE('C17-FO 1 SIGNAL_1',$,#2331,.U.); -#12979=STRATUM_FEATURE('R9-FO 1 SIGNAL_1',$,#2331,.U.); -#12980=STRATUM_FEATURE('R9-FO 2 SIGNAL_1',$,#2331,.U.); -#12981=STRATUM_FEATURE('VR3-FO 2 SIGNAL_12',$,#2327,.U.); -#12982=STRATUM_FEATURE('VR3-FO 1 SIGNAL_1',$,#2331,.U.); -#12983=STRATUM_FEATURE('R11-FO 1 SIGNAL_12',$,#2327,.U.); -#12984=STRATUM_FEATURE('R14-FO 1 SIGNAL_1',$,#2331,.U.); -#12985=STRATUM_FEATURE('R14-FO 2 SIGNAL_1',$,#2331,.U.); -#12986=STRATUM_FEATURE('R15-FO 1 SIGNAL_12',$,#2327,.U.); -#12987=STRATUM_FEATURE('R15-FO 2 SIGNAL_1',$,#2331,.U.); -#12988=STRATUM_FEATURE('C16-FO 2 SIGNAL_1',$,#2331,.U.); -#12989=STRATUM_FEATURE('C16-FO 1 SIGNAL_1',$,#2331,.U.); -#12990=STRATUM_FEATURE('C15-FO 2 SIGNAL_1',$,#2331,.U.); -#12991=STRATUM_FEATURE('C15-FO 1 SIGNAL_1',$,#2331,.U.); -#12992=STRATUM_FEATURE('C4-FO 2 SIGNAL_1',$,#2331,.U.); -#12993=STRATUM_FEATURE('C4-FO 1 SIGNAL_1',$,#2331,.U.); -#12994=STRATUM_FEATURE('R8-FO 1 SIGNAL_1',$,#2331,.U.); -#12995=STRATUM_FEATURE('R8-FO 2 SIGNAL_1',$,#2331,.U.); -#12996=STRATUM_FEATURE('R8-FO 2 SIGNAL_12',$,#2327,.U.); -#12997=STRATUM_FEATURE('C22-FO 1 SIGNAL_1',$,#2331,.U.); -#12998=STRATUM_FEATURE('C22-FO 1 SIGNAL_12',$,#2327,.U.); -#12999=STRATUM_FEATURE('C22-FO 2 SIGNAL_1',$,#2331,.U.); -#13000=STRATUM_FEATURE('C22-FO 2 SIGNAL_12',$,#2327,.U.); -#13001=STRATUM_FEATURE('C7-FO 1 SIGNAL_1',$,#2331,.U.); -#13002=STRATUM_FEATURE('P1-FO 58 SIGNAL_12',$,#2327,.U.); -#13003=STRATUM_FEATURE('P1-FO 63 SIGNAL_1',$,#2331,.U.); -#13004=STRATUM_FEATURE('P1-FO 63 SIGNAL_12',$,#2327,.U.); -#13005=STRATUM_FEATURE('P1-FO 108 SIGNAL_1',$,#2331,.U.); -#13006=STRATUM_FEATURE('P1-FO 64 SIGNAL_1',$,#2331,.U.); -#13007=STRATUM_FEATURE('P1-FO 64 SIGNAL_12',$,#2327,.U.); -#13008=STRATUM_FEATURE('P1-FO 103 SIGNAL_1',$,#2331,.U.); -#13009=STRATUM_FEATURE('P1-FO 13 SIGNAL_12',$,#2327,.U.); -#13010=STRATUM_FEATURE('P1-FO 17 SIGNAL_12',$,#2327,.U.); -#13011=STRATUM_FEATURE('P1-FO 97 SIGNAL_1',$,#2331,.U.); -#13012=STRATUM_FEATURE('P1-FO 97 SIGNAL_12',$,#2327,.U.); -#13013=STRATUM_FEATURE('P1-FO 38 SIGNAL_1',$,#2331,.U.); -#13014=STRATUM_FEATURE('P1-FO 38 SIGNAL_12',$,#2327,.U.); -#13015=STRATUM_FEATURE('P1-FO 107 SIGNAL_1',$,#2331,.U.); -#13016=STRATUM_FEATURE('P1-FO 107 SIGNAL_12',$,#2327,.U.); -#13017=STRATUM_FEATURE('P1-FO 111 SIGNAL_12',$,#2327,.U.); -#13018=STRATUM_FEATURE('P1-FO 60 SIGNAL_1',$,#2331,.U.); -#13019=STRATUM_FEATURE('P1-FO 60 SIGNAL_12',$,#2327,.U.); -#13020=STRATUM_FEATURE('P1-FO 15 SIGNAL_1',$,#2331,.U.); -#13021=STRATUM_FEATURE('P1-FO 47 SIGNAL_1',$,#2331,.U.); -#13022=STRATUM_FEATURE('P1-FO 12 SIGNAL_1',$,#2331,.U.); -#13023=STRATUM_FEATURE('P1-FO 12 SIGNAL_12',$,#2327,.U.); -#13024=STRATUM_FEATURE('P1-FO 30 SIGNAL_1',$,#2331,.U.); -#13025=STRATUM_FEATURE('P1-FO 30 SIGNAL_12',$,#2327,.U.); -#13026=STRATUM_FEATURE('P1-FO 37 SIGNAL_12',$,#2327,.U.); -#13027=STRATUM_FEATURE('P1-FO 40 SIGNAL_1',$,#2331,.U.); -#13028=STRATUM_FEATURE('P1-FO 40 SIGNAL_12',$,#2327,.U.); -#13029=STRATUM_FEATURE('P1-FO 5 SIGNAL_1',$,#2331,.U.); -#13030=STRATUM_FEATURE('P1-FO 5 SIGNAL_12',$,#2327,.U.); -#13031=STRATUM_FEATURE('P1-FO 51 SIGNAL_1',$,#2331,.U.); -#13032=STRATUM_FEATURE('P1-FO 51 SIGNAL_12',$,#2327,.U.); -#13033=STRATUM_FEATURE('P1-FO 94 SIGNAL_1',$,#2331,.U.); -#13034=STRATUM_FEATURE('P1-FO 94 SIGNAL_12',$,#2327,.U.); -#13035=STRATUM_FEATURE('P1-FO 90 SIGNAL_1',$,#2331,.U.); -#13036=STRATUM_FEATURE('P1-FO 90 SIGNAL_12',$,#2327,.U.); -#13037=STRATUM_FEATURE('P1-FO 77 SIGNAL_1',$,#2331,.U.); -#13038=STRATUM_FEATURE('P1-FO 77 SIGNAL_12',$,#2327,.U.); -#13039=STRATUM_FEATURE('P1-FO 53 SIGNAL_1',$,#2331,.U.); -#13040=STRATUM_FEATURE('P1-FO 104 SIGNAL_1',$,#2331,.U.); -#13041=STRATUM_FEATURE('P1-FO 67 SIGNAL_1',$,#2331,.U.); -#13042=STRATUM_FEATURE('P1-FO 67 SIGNAL_12',$,#2327,.U.); -#13043=STRATUM_FEATURE('P1-FO 87 SIGNAL_1',$,#2331,.U.); -#13044=STRATUM_FEATURE('P1-FO 87 SIGNAL_12',$,#2327,.U.); -#13045=STRATUM_FEATURE('P1-FO 88 SIGNAL_1',$,#2331,.U.); -#13046=STRATUM_FEATURE('P1-FO 88 SIGNAL_12',$,#2327,.U.); -#13047=STRATUM_FEATURE('P1-FO 46 SIGNAL_1',$,#2331,.U.); -#13048=STRATUM_FEATURE('P1-FO 59 SIGNAL_1',$,#2331,.U.); -#13049=STRATUM_FEATURE('P1-FO 59 SIGNAL_12',$,#2327,.U.); -#13050=STRATUM_FEATURE('P1-FO 69 SIGNAL_1',$,#2331,.U.); -#13051=STRATUM_FEATURE('P1-FO 69 SIGNAL_12',$,#2327,.U.); -#13052=STRATUM_FEATURE('P1-FO 76 SIGNAL_12',$,#2327,.U.); -#13053=STRATUM_FEATURE('P1-FO 82 SIGNAL_1',$,#2331,.U.); -#13054=STRATUM_FEATURE('P1-FO 82 SIGNAL_12',$,#2327,.U.); -#13055=STRATUM_FEATURE('P1-FO 102 SIGNAL_12',$,#2327,.U.); -#13056=STRATUM_FEATURE('P1-FO 20 SIGNAL_12',$,#2327,.U.); -#13057=STRATUM_FEATURE('P1-FO 85 SIGNAL_1',$,#2331,.U.); -#13058=STRATUM_FEATURE('P1-FO 85 SIGNAL_12',$,#2327,.U.); -#13059=STRATUM_FEATURE('P1-FO 23 SIGNAL_1',$,#2331,.U.); -#13060=STRATUM_FEATURE('P1-FO 23 SIGNAL_12',$,#2327,.U.); -#13061=STRATUM_FEATURE('P1-FO 79 SIGNAL_1',$,#2331,.U.); -#13062=STRATUM_FEATURE('P1-FO 79 SIGNAL_12',$,#2327,.U.); -#13063=STRATUM_FEATURE('P1-FO 62 SIGNAL_1',$,#2331,.U.); -#13064=STRATUM_FEATURE('P1-FO 73 SIGNAL_12',$,#2327,.U.); -#13065=STRATUM_FEATURE('P1-FO 112 SIGNAL_1',$,#2331,.U.); -#13066=STRATUM_FEATURE('P1-FO 112 SIGNAL_12',$,#2327,.U.); -#13067=STRATUM_FEATURE('P1-FO 80 SIGNAL_1',$,#2331,.U.); -#13068=STRATUM_FEATURE('P1-FO 80 SIGNAL_12',$,#2327,.U.); -#13069=STRATUM_FEATURE('P1-FO 3 SIGNAL_1',$,#2331,.U.); -#13070=STRATUM_FEATURE('P1-FO 3 SIGNAL_12',$,#2327,.U.); -#13071=STRATUM_FEATURE('P1-FO 105 SIGNAL_1',$,#2331,.U.); -#13072=STRATUM_FEATURE('P1-FO 105 SIGNAL_12',$,#2327,.U.); -#13073=STRATUM_FEATURE('P1-FO 101 SIGNAL_1',$,#2331,.U.); -#13074=STRATUM_FEATURE('P1-FO 101 SIGNAL_12',$,#2327,.U.); -#13075=STRATUM_FEATURE('P1-FO 98 SIGNAL_1',$,#2331,.U.); -#13076=STRATUM_FEATURE('P1-FO 98 SIGNAL_12',$,#2327,.U.); -#13077=STRATUM_FEATURE('P1-FO 33 SIGNAL_1',$,#2331,.U.); -#13078=STRATUM_FEATURE('P1-FO 33 SIGNAL_12',$,#2327,.U.); -#13079=STRATUM_FEATURE('P1-FO 68 SIGNAL_1',$,#2331,.U.); -#13080=STRATUM_FEATURE('P1-FO 68 SIGNAL_12',$,#2327,.U.); -#13081=STRATUM_FEATURE('P1-FO 66 SIGNAL_1',$,#2331,.U.); -#13082=STRATUM_FEATURE('P1-FO 66 SIGNAL_12',$,#2327,.U.); -#13083=STRATUM_FEATURE('P1-FO 92 SIGNAL_1',$,#2331,.U.); -#13084=STRATUM_FEATURE('P1-FO 92 SIGNAL_12',$,#2327,.U.); -#13085=STRATUM_FEATURE('P1-FO 86 SIGNAL_1',$,#2331,.U.); -#13086=STRATUM_FEATURE('P1-FO 86 SIGNAL_12',$,#2327,.U.); -#13087=STRATUM_FEATURE('P1-FO 34 SIGNAL_1',$,#2331,.U.); -#13088=STRATUM_FEATURE('P1-FO 34 SIGNAL_12',$,#2327,.U.); -#13089=STRATUM_FEATURE('P1-FO 14 SIGNAL_1',$,#2331,.U.); -#13090=STRATUM_FEATURE('P1-FO 14 SIGNAL_12',$,#2327,.U.); -#13091=STRATUM_FEATURE('P1-FO 22 SIGNAL_1',$,#2331,.U.); -#13092=STRATUM_FEATURE('P1-FO 22 SIGNAL_12',$,#2327,.U.); -#13093=STRATUM_FEATURE('P1-FO 110 SIGNAL_1',$,#2331,.U.); -#13094=STRATUM_FEATURE('P1-FO 110 SIGNAL_12',$,#2327,.U.); -#13095=STRATUM_FEATURE('P1-FO 55 SIGNAL_12',$,#2327,.U.); -#13096=STRATUM_FEATURE('P1-FO 28 SIGNAL_1',$,#2331,.U.); -#13097=STRATUM_FEATURE('P1-FO 28 SIGNAL_12',$,#2327,.U.); -#13098=STRATUM_FEATURE('P1-FO 41 SIGNAL_1',$,#2331,.U.); -#13099=STRATUM_FEATURE('P1-FO 41 SIGNAL_12',$,#2327,.U.); -#13100=STRATUM_FEATURE('P1-FO 83 SIGNAL_1',$,#2331,.U.); -#13101=STRATUM_FEATURE('P1-FO 83 SIGNAL_12',$,#2327,.U.); -#13102=STRATUM_FEATURE('P1-FO 11 SIGNAL_1',$,#2331,.U.); -#13103=STRATUM_FEATURE('P1-FO 11 SIGNAL_12',$,#2327,.U.); -#13104=STRATUM_FEATURE('P1-FO 44 SIGNAL_1',$,#2331,.U.); -#13105=STRATUM_FEATURE('P1-FO 44 SIGNAL_12',$,#2327,.U.); -#13106=STRATUM_FEATURE('P1-FO 31 SIGNAL_1',$,#2331,.U.); -#13107=STRATUM_FEATURE('P1-FO 31 SIGNAL_12',$,#2327,.U.); -#13108=STRATUM_FEATURE('P1-FO 42 SIGNAL_1',$,#2331,.U.); -#13109=STRATUM_FEATURE('P1-FO 42 SIGNAL_12',$,#2327,.U.); -#13110=STRATUM_FEATURE('P1-FO 57 SIGNAL_1',$,#2331,.U.); -#13111=STRATUM_FEATURE('P1-FO 57 SIGNAL_12',$,#2327,.U.); -#13112=STRATUM_FEATURE('P1-FO 99 SIGNAL_1',$,#2331,.U.); -#13113=STRATUM_FEATURE('P1-FO 99 SIGNAL_12',$,#2327,.U.); -#13114=STRATUM_FEATURE('P1-FO 25 SIGNAL_1',$,#2331,.U.); -#13115=STRATUM_FEATURE('P1-FO 25 SIGNAL_12',$,#2327,.U.); -#13116=STRATUM_FEATURE('P1-FO 84 SIGNAL_1',$,#2331,.U.); -#13117=STRATUM_FEATURE('P1-FO 84 SIGNAL_12',$,#2327,.U.); -#13118=STRATUM_FEATURE('P1-FO 72 SIGNAL_1',$,#2331,.U.); -#13119=STRATUM_FEATURE('P1-FO 61 SIGNAL_1',$,#2331,.U.); -#13120=STRATUM_FEATURE('P1-FO 61 SIGNAL_12',$,#2327,.U.); -#13121=STRATUM_FEATURE('P1-FO 43 SIGNAL_1',$,#2331,.U.); -#13122=STRATUM_FEATURE('P1-FO 43 SIGNAL_12',$,#2327,.U.); -#13123=STRATUM_FEATURE('P1-FO 39 SIGNAL_1',$,#2331,.U.); -#13124=STRATUM_FEATURE('P1-FO 39 SIGNAL_12',$,#2327,.U.); -#13125=STRATUM_FEATURE('P1-FO 75 SIGNAL_1',$,#2331,.U.); -#13126=STRATUM_FEATURE('P1-FO 75 SIGNAL_12',$,#2327,.U.); -#13127=STRATUM_FEATURE('P1-FO 106 SIGNAL_12',$,#2327,.U.); -#13128=STRATUM_FEATURE('P1-FO 95 SIGNAL_1',$,#2331,.U.); -#13129=STRATUM_FEATURE('P1-FO 95 SIGNAL_12',$,#2327,.U.); -#13130=STRATUM_FEATURE('P1-FO 48 SIGNAL_1',$,#2331,.U.); -#13131=STRATUM_FEATURE('P1-FO 48 SIGNAL_12',$,#2327,.U.); -#13132=STRATUM_FEATURE('P1-FO 65 SIGNAL_1',$,#2331,.U.); -#13133=STRATUM_FEATURE('P1-FO 65 SIGNAL_12',$,#2327,.U.); -#13134=STRATUM_FEATURE('P1-FO 10 SIGNAL_1',$,#2331,.U.); -#13135=STRATUM_FEATURE('P1-FO 10 SIGNAL_12',$,#2327,.U.); -#13136=STRATUM_FEATURE('P1-FO 6 SIGNAL_1',$,#2331,.U.); -#13137=STRATUM_FEATURE('P1-FO 52 SIGNAL_1',$,#2331,.U.); -#13138=STRATUM_FEATURE('P1-FO 2 SIGNAL_12',$,#2327,.U.); -#13139=STRATUM_FEATURE('P1-FO 27 SIGNAL_1',$,#2331,.U.); -#13140=STRATUM_FEATURE('P1-FO 27 SIGNAL_12',$,#2327,.U.); -#13141=STRATUM_FEATURE('P1-FO 109 SIGNAL_1',$,#2331,.U.); -#13142=STRATUM_FEATURE('P1-FO 70 SIGNAL_1',$,#2331,.U.); -#13143=STRATUM_FEATURE('P1-FO 26 SIGNAL_1',$,#2331,.U.); -#13144=STRATUM_FEATURE('P1-FO 26 SIGNAL_12',$,#2327,.U.); -#13145=STRATUM_FEATURE('P1-FO 89 SIGNAL_1',$,#2331,.U.); -#13146=STRATUM_FEATURE('P1-FO 89 SIGNAL_12',$,#2327,.U.); -#13147=STRATUM_FEATURE('P1-FO 16 SIGNAL_12',$,#2327,.U.); -#13148=STRATUM_FEATURE('P1-FO 35 SIGNAL_1',$,#2331,.U.); -#13149=STRATUM_FEATURE('P1-FO 35 SIGNAL_12',$,#2327,.U.); -#13150=STRATUM_FEATURE('P1-FO 4 SIGNAL_1',$,#2331,.U.); -#13151=STRATUM_FEATURE('P1-FO 4 SIGNAL_12',$,#2327,.U.); -#13152=STRATUM_FEATURE('P1-FO 96 SIGNAL_1',$,#2331,.U.); -#13153=STRATUM_FEATURE('P1-FO 96 SIGNAL_12',$,#2327,.U.); -#13154=STRATUM_FEATURE('P1-FO 74 SIGNAL_1',$,#2331,.U.); -#13155=STRATUM_FEATURE('P1-FO 74 SIGNAL_12',$,#2327,.U.); -#13156=STRATUM_FEATURE('P1-FO 29 SIGNAL_1',$,#2331,.U.); -#13157=STRATUM_FEATURE('P1-FO 29 SIGNAL_12',$,#2327,.U.); -#13158=STRATUM_FEATURE('P1-FO 24 SIGNAL_1',$,#2331,.U.); -#13159=STRATUM_FEATURE('P1-FO 24 SIGNAL_12',$,#2327,.U.); -#13160=STRATUM_FEATURE('P1-FO 93 SIGNAL_12',$,#2327,.U.); -#13161=STRATUM_FEATURE('P1-FO 81 SIGNAL_1',$,#2331,.U.); -#13162=STRATUM_FEATURE('P1-FO 81 SIGNAL_12',$,#2327,.U.); -#13163=STRATUM_FEATURE('P1-FO 32 SIGNAL_1',$,#2331,.U.); -#13164=STRATUM_FEATURE('P1-FO 32 SIGNAL_12',$,#2327,.U.); -#13165=STRATUM_FEATURE('P1-FO 21 SIGNAL_1',$,#2331,.U.); -#13166=STRATUM_FEATURE('P1-FO 21 SIGNAL_12',$,#2327,.U.); -#13167=STRATUM_FEATURE('P1-FO 71 SIGNAL_1',$,#2331,.U.); -#13168=STRATUM_FEATURE('P1-FO 91 SIGNAL_1',$,#2331,.U.); -#13169=STRATUM_FEATURE('P1-FO 91 SIGNAL_12',$,#2327,.U.); -#13170=STRATUM_FEATURE('P1-FO 50 SIGNAL_1',$,#2331,.U.); -#13171=STRATUM_FEATURE('P1-FO 50 SIGNAL_12',$,#2327,.U.); -#13172=STRATUM_FEATURE('P1-FO 49 SIGNAL_12',$,#2327,.U.); -#13173=STRATUM_FEATURE('P1-FO 36 SIGNAL_1',$,#2331,.U.); -#13174=STRATUM_FEATURE('P1-FO 36 SIGNAL_12',$,#2327,.U.); -#13175=STRATUM_FEATURE('P1-FO 7 SIGNAL_1',$,#2331,.U.); -#13176=STRATUM_FEATURE('P1-FO 7 SIGNAL_12',$,#2327,.U.); -#13177=STRATUM_FEATURE('P1-FO 100 SIGNAL_1',$,#2331,.U.); -#13178=STRATUM_FEATURE('P1-FO 100 SIGNAL_12',$,#2327,.U.); -#13179=STRATUM_FEATURE('P1-FO 45 SIGNAL_1',$,#2331,.U.); -#13180=STRATUM_FEATURE('P1-FO 45 SIGNAL_12',$,#2327,.U.); -#13181=STRATUM_FEATURE('P1-FO 56 SIGNAL_1',$,#2331,.U.); -#13182=STRATUM_FEATURE('P1-FO 56 SIGNAL_12',$,#2327,.U.); -#13183=STRATUM_FEATURE('P1-FO 8 SIGNAL_1',$,#2331,.U.); -#13184=STRATUM_FEATURE('P1-FO 8 SIGNAL_12',$,#2327,.U.); -#13185=STRATUM_FEATURE('P1-FO 19 SIGNAL_1',$,#2331,.U.); -#13186=STRATUM_FEATURE('P1-FO 19 SIGNAL_12',$,#2327,.U.); -#13187=STRATUM_FEATURE('P1-FO 1 SIGNAL_1',$,#2331,.U.); -#13188=STRATUM_FEATURE('P1-FO 1 SIGNAL_12',$,#2327,.U.); -#13189=STRATUM_FEATURE('P1-FO 54 SIGNAL_1',$,#2331,.U.); -#13190=STRATUM_FEATURE('P1-FO 54 SIGNAL_12',$,#2327,.U.); -#13191=STRATUM_FEATURE('P1-FO 9 SIGNAL_1',$,#2331,.U.); -#13192=STRATUM_FEATURE('P1-FO 9 SIGNAL_12',$,#2327,.U.); -#13193=STRATUM_FEATURE('P1-FO 78 SIGNAL_1',$,#2331,.U.); -#13194=STRATUM_FEATURE('P1-FO 78 SIGNAL_12',$,#2327,.U.); -#13195=STRATUM_FEATURE('P1-FO 18 SIGNAL_1',$,#2331,.U.); -#13196=STRATUM_FEATURE('P1-FO 18 SIGNAL_12',$,#2327,.U.); -#13197=STRATUM_FEATURE('C1-FO 1 SIGNAL_1',$,#2331,.U.); -#13198=STRATUM_FEATURE('C1-FO 2 SIGNAL_1',$,#2331,.U.); -#13199=STRATUM_FEATURE('C3-FO 2 SIGNAL_1',$,#2331,.U.); -#13200=STRATUM_FEATURE('R19-FO 1 SIGNAL_1',$,#2331,.U.); -#13201=STRATUM_FEATURE('R19-FO 2 SIGNAL_1',$,#2331,.U.); -#13202=STRATUM_FEATURE('CR5-FO 1 SIGNAL_1',$,#2331,.U.); -#13203=STRATUM_FEATURE('CR5-FO 2 SIGNAL_1',$,#2331,.U.); -#13204=STRATUM_FEATURE('C12-FO 1 SIGNAL_1',$,#2331,.U.); -#13205=STRATUM_FEATURE('C12-FO 2 SIGNAL_1',$,#2331,.U.); -#13206=STRATUM_FEATURE('C14-FO 2 SIGNAL_1',$,#2331,.U.); -#13207=STRATUM_FEATURE('C14-FO 1 SIGNAL_12',$,#2327,.U.); -#13208=STRATUM_FEATURE('CR3-FO 1 SIGNAL_1',$,#2331,.U.); -#13209=STRATUM_FEATURE('CR3-FO 2 SIGNAL_1',$,#2331,.U.); -#13210=STRATUM_FEATURE('C19-FO 2 SIGNAL_1',$,#2331,.U.); -#13211=STRATUM_FEATURE('C19-FO 1 SIGNAL_1',$,#2331,.U.); -#13212=STRATUM_FEATURE('Q2-FO 1 SIGNAL_1',$,#2331,.U.); -#13213=STRATUM_FEATURE('Q2-FO 1 SIGNAL_12',$,#2327,.U.); -#13214=STRATUM_FEATURE('Q2-FO 3 SIGNAL_1',$,#2331,.U.); -#13215=STRATUM_FEATURE('Q2-FO 2 SIGNAL_1',$,#2331,.U.); -#13216=STRATUM_FEATURE('CR2-FO 1 SIGNAL_1',$,#2331,.U.); -#13217=STRATUM_FEATURE('CR2-FO 2 SIGNAL_1',$,#2331,.U.); -#13218=STRATUM_FEATURE('VR1-FO 2 SIGNAL_12',$,#2327,.U.); -#13219=STRATUM_FEATURE('VR1-FO 1 SIGNAL_1',$,#2331,.U.); -#13220=STRATUM_FEATURE('Q3-FO 3 SIGNAL_1',$,#2331,.U.); -#13221=STRATUM_FEATURE('Q3-FO 2 SIGNAL_1',$,#2331,.U.); -#13222=STRATUM_FEATURE('Q3-FO 1 SIGNAL_12',$,#2327,.U.); -#13223=STRATUM_FEATURE('C10-FO 1 SIGNAL_1',$,#2331,.U.); -#13224=STRATUM_FEATURE('C10-FO 2 SIGNAL_1',$,#2331,.U.); -#13225=STRATUM_FEATURE('R1-FO 1 SIGNAL_1',$,#2331,.U.); -#13226=STRATUM_FEATURE('R1-FO 2 SIGNAL_1',$,#2331,.U.); -#13310=ID_ATTRIBUTE('ac2dsm',#2469); -#13311=SHAPE_DEFINITION_REPRESENTATION(#2467,#2469); -#13312=SHAPE_DEFINITION_REPRESENTATION(#2503,#2469); -#13313=SHAPE_DEFINITION_REPRESENTATION(#2505,#2469); -#13314=SHAPE_DEFINITION_REPRESENTATION(#2507,#2469); -#13315=SHAPE_DEFINITION_REPRESENTATION(#2509,#2469); -#13316=SHAPE_DEFINITION_REPRESENTATION(#2511,#2469); -#13317=PRODUCT_DEFINITION_CONTEXT('assembly definition',#13318,''); -#13318=APPLICATION_CONTEXT(''); -#13319=PRODUCT_DEFINITION_CONTEXT_ROLE('part definition type',$); -#13320=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1759,#13317,#13319); -#13321=PRODUCT_DEFINITION_CONTEXT('physical design',#13318,''); -#13322=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1759,#13321,#13319); -#13323=ID_ATTRIBUTE('bracket',#1759); -#13324=PRODUCT_DEFINITION_RELATIONSHIP('','design usage',$,#1762,#1759); -#13325=ASSIGNED_REQUIREMENT(#943,(#938)); -#13326=REQUIREMENT_ASSIGNED_OBJECT(#943,(#924)); -#13327=ID_ATTRIBUTE('',#943); -#13328=ASSIGNED_REQUIREMENT(#962,(#957)); -#13329=REQUIREMENT_ASSIGNED_OBJECT(#962,(#944)); -#13330=ID_ATTRIBUTE('',#962); -#13331=ASSIGNED_REQUIREMENT(#981,(#976)); -#13332=REQUIREMENT_ASSIGNED_OBJECT(#981,(#963)); -#13333=ID_ATTRIBUTE('',#981); -#13334=ASSIGNED_REQUIREMENT(#990,(#976)); -#13335=REQUIREMENT_ASSIGNED_OBJECT(#990,(#982)); -#13336=ID_ATTRIBUTE('',#990); -#13337=ASSIGNED_REQUIREMENT(#1009,(#1004)); -#13338=REQUIREMENT_ASSIGNED_OBJECT(#1009,(#991)); -#13339=ID_ATTRIBUTE('',#1009); -#13340=ASSIGNED_REQUIREMENT(#1018,(#976)); -#13341=REQUIREMENT_ASSIGNED_OBJECT(#1018,(#1010)); -#13342=ID_ATTRIBUTE('',#1018); -#13343=ASSIGNED_REQUIREMENT(#1027,(#976)); -#13344=REQUIREMENT_ASSIGNED_OBJECT(#1027,(#1019)); -#13345=ID_ATTRIBUTE('',#1027); -#13346=ASSIGNED_REQUIREMENT(#1046,(#1041)); -#13347=REQUIREMENT_ASSIGNED_OBJECT(#1046,(#1028)); -#13348=ID_ATTRIBUTE('',#1046); -#13349=ASSIGNED_REQUIREMENT(#1055,(#1041)); -#13350=REQUIREMENT_ASSIGNED_OBJECT(#1055,(#1047)); -#13351=ID_ATTRIBUTE('',#1055); -#13352=ASSIGNED_REQUIREMENT(#1064,(#1004)); -#13353=REQUIREMENT_ASSIGNED_OBJECT(#1064,(#1056)); -#13354=ID_ATTRIBUTE('',#1064); -#13355=ASSIGNED_REQUIREMENT(#1073,(#938)); -#13356=REQUIREMENT_ASSIGNED_OBJECT(#1073,(#1065)); -#13357=ID_ATTRIBUTE('',#1073); -#13358=ASSIGNED_REQUIREMENT(#1082,(#938)); -#13359=REQUIREMENT_ASSIGNED_OBJECT(#1082,(#1074)); -#13360=ID_ATTRIBUTE('',#1082); -#13361=ASSIGNED_REQUIREMENT(#1091,(#1041)); -#13362=REQUIREMENT_ASSIGNED_OBJECT(#1091,(#1083)); -#13363=ID_ATTRIBUTE('',#1091); -#13364=ASSIGNED_REQUIREMENT(#1100,(#1041)); -#13365=REQUIREMENT_ASSIGNED_OBJECT(#1100,(#1092)); -#13366=ID_ATTRIBUTE('',#1100); -#13367=ASSIGNED_REQUIREMENT(#1109,(#976)); -#13368=REQUIREMENT_ASSIGNED_OBJECT(#1109,(#1101)); -#13369=ID_ATTRIBUTE('',#1109); -#13370=ASSIGNED_REQUIREMENT(#1118,(#976)); -#13371=REQUIREMENT_ASSIGNED_OBJECT(#1118,(#1110)); -#13372=ID_ATTRIBUTE('',#1118); -#13373=ASSIGNED_REQUIREMENT(#1127,(#976)); -#13374=REQUIREMENT_ASSIGNED_OBJECT(#1127,(#1119)); -#13375=ID_ATTRIBUTE('',#1127); -#13376=ASSIGNED_REQUIREMENT(#1136,(#976)); -#13377=REQUIREMENT_ASSIGNED_OBJECT(#1136,(#1128)); -#13378=ID_ATTRIBUTE('',#1136); -#13379=ASSIGNED_REQUIREMENT(#1145,(#976)); -#13380=REQUIREMENT_ASSIGNED_OBJECT(#1145,(#1137)); -#13381=ID_ATTRIBUTE('',#1145); -#13382=ASSIGNED_REQUIREMENT(#1154,(#976)); -#13383=REQUIREMENT_ASSIGNED_OBJECT(#1154,(#1146)); -#13384=ID_ATTRIBUTE('',#1154); -#13385=ASSIGNED_REQUIREMENT(#1173,(#1168)); -#13386=REQUIREMENT_ASSIGNED_OBJECT(#1173,(#1155)); -#13387=ID_ATTRIBUTE('',#1173); -#13388=ASSIGNED_REQUIREMENT(#1182,(#1168)); -#13389=REQUIREMENT_ASSIGNED_OBJECT(#1182,(#1174)); -#13390=ID_ATTRIBUTE('',#1182); -#13391=ASSIGNED_REQUIREMENT(#1201,(#1196)); -#13392=REQUIREMENT_ASSIGNED_OBJECT(#1201,(#1183)); -#13393=ID_ATTRIBUTE('',#1201); -#13394=ASSIGNED_REQUIREMENT(#1210,(#1196)); -#13395=REQUIREMENT_ASSIGNED_OBJECT(#1210,(#1202)); -#13396=ID_ATTRIBUTE('',#1210); -#13397=ASSIGNED_REQUIREMENT(#1219,(#1196)); -#13398=REQUIREMENT_ASSIGNED_OBJECT(#1219,(#1211)); -#13399=ID_ATTRIBUTE('',#1219); -#13400=ASSIGNED_REQUIREMENT(#1228,(#1196)); -#13401=REQUIREMENT_ASSIGNED_OBJECT(#1228,(#1220)); -#13402=ID_ATTRIBUTE('',#1228); -#13403=ASSIGNED_REQUIREMENT(#1237,(#1196)); -#13404=REQUIREMENT_ASSIGNED_OBJECT(#1237,(#1229)); -#13405=ID_ATTRIBUTE('',#1237); -#13406=ASSIGNED_REQUIREMENT(#1246,(#1196)); -#13407=REQUIREMENT_ASSIGNED_OBJECT(#1246,(#1238)); -#13408=ID_ATTRIBUTE('',#1246); -#13409=ASSIGNED_REQUIREMENT(#1255,(#1196)); -#13410=REQUIREMENT_ASSIGNED_OBJECT(#1255,(#1247)); -#13411=ID_ATTRIBUTE('',#1255); -#13412=ASSIGNED_REQUIREMENT(#1274,(#1269)); -#13413=REQUIREMENT_ASSIGNED_OBJECT(#1274,(#1256)); -#13414=ID_ATTRIBUTE('',#1274); -#13415=ASSIGNED_REQUIREMENT(#1283,(#1269)); -#13416=REQUIREMENT_ASSIGNED_OBJECT(#1283,(#1275)); -#13417=ID_ATTRIBUTE('',#1283); -#13418=ASSIGNED_REQUIREMENT(#1302,(#1297)); -#13419=REQUIREMENT_ASSIGNED_OBJECT(#1302,(#1284)); -#13420=ID_ATTRIBUTE('',#1302); -#13421=ASSIGNED_REQUIREMENT(#1321,(#1316)); -#13422=REQUIREMENT_ASSIGNED_OBJECT(#1321,(#1303)); -#13423=ID_ATTRIBUTE('',#1321); -#13424=ASSIGNED_REQUIREMENT(#1340,(#1335)); -#13425=REQUIREMENT_ASSIGNED_OBJECT(#1340,(#1322)); -#13426=ID_ATTRIBUTE('',#1340); -#13427=ASSIGNED_REQUIREMENT(#1359,(#1354)); -#13428=REQUIREMENT_ASSIGNED_OBJECT(#1359,(#1341)); -#13429=ID_ATTRIBUTE('',#1359); -#13430=ASSIGNED_REQUIREMENT(#1378,(#1373)); -#13431=REQUIREMENT_ASSIGNED_OBJECT(#1378,(#1360)); -#13432=ID_ATTRIBUTE('',#1378); -#13433=ASSIGNED_REQUIREMENT(#1387,(#1373)); -#13434=REQUIREMENT_ASSIGNED_OBJECT(#1387,(#1379)); -#13435=ID_ATTRIBUTE('',#1387); -#13436=ASSIGNED_REQUIREMENT(#1396,(#1373)); -#13437=REQUIREMENT_ASSIGNED_OBJECT(#1396,(#1388)); -#13438=ID_ATTRIBUTE('',#1396); -#13439=ASSIGNED_REQUIREMENT(#1405,(#1373)); -#13440=REQUIREMENT_ASSIGNED_OBJECT(#1405,(#1397)); -#13441=ID_ATTRIBUTE('',#1405); -#13442=ASSIGNED_REQUIREMENT(#1414,(#1373)); -#13443=REQUIREMENT_ASSIGNED_OBJECT(#1414,(#1406)); -#13444=ID_ATTRIBUTE('',#1414); -#13445=ASSIGNED_REQUIREMENT(#1423,(#1373)); -#13446=REQUIREMENT_ASSIGNED_OBJECT(#1423,(#1415)); -#13447=ID_ATTRIBUTE('',#1423); -#13448=ASSIGNED_REQUIREMENT(#1442,(#1437)); -#13449=REQUIREMENT_ASSIGNED_OBJECT(#1442,(#1424)); -#13450=ID_ATTRIBUTE('',#1442); -#13451=ASSIGNED_REQUIREMENT(#1451,(#1373)); -#13452=REQUIREMENT_ASSIGNED_OBJECT(#1451,(#1443)); -#13453=ID_ATTRIBUTE('',#1451); -#13454=ASSIGNED_REQUIREMENT(#1460,(#1373)); -#13455=REQUIREMENT_ASSIGNED_OBJECT(#1460,(#1452)); -#13456=ID_ATTRIBUTE('',#1460); -#13457=ASSIGNED_REQUIREMENT(#1469,(#1373)); -#13458=REQUIREMENT_ASSIGNED_OBJECT(#1469,(#1461)); -#13459=ID_ATTRIBUTE('',#1469); -#13460=ASSIGNED_REQUIREMENT(#1478,(#1373)); -#13461=REQUIREMENT_ASSIGNED_OBJECT(#1478,(#1470)); -#13462=ID_ATTRIBUTE('',#1478); -#13463=ASSIGNED_REQUIREMENT(#1487,(#1373)); -#13464=REQUIREMENT_ASSIGNED_OBJECT(#1487,(#1479)); -#13465=ID_ATTRIBUTE('',#1487); -#13466=ASSIGNED_REQUIREMENT(#1496,(#1373)); -#13467=REQUIREMENT_ASSIGNED_OBJECT(#1496,(#1488)); -#13468=ID_ATTRIBUTE('',#1496); -#13469=ASSIGNED_REQUIREMENT(#1505,(#1373)); -#13470=REQUIREMENT_ASSIGNED_OBJECT(#1505,(#1497)); -#13471=ID_ATTRIBUTE('',#1505); -#13472=ASSIGNED_REQUIREMENT(#1514,(#1373)); -#13473=REQUIREMENT_ASSIGNED_OBJECT(#1514,(#1506)); -#13474=ID_ATTRIBUTE('',#1514); -#13475=ASSIGNED_REQUIREMENT(#1523,(#1373)); -#13476=REQUIREMENT_ASSIGNED_OBJECT(#1523,(#1515)); -#13477=ID_ATTRIBUTE('',#1523); -#13478=ASSIGNED_REQUIREMENT(#1532,(#1373)); -#13479=REQUIREMENT_ASSIGNED_OBJECT(#1532,(#1524)); -#13480=ID_ATTRIBUTE('',#1532); -#13481=ASSIGNED_REQUIREMENT(#1541,(#1373)); -#13482=REQUIREMENT_ASSIGNED_OBJECT(#1541,(#1533)); -#13483=ID_ATTRIBUTE('',#1541); -#13484=ASSIGNED_REQUIREMENT(#1550,(#1373)); -#13485=REQUIREMENT_ASSIGNED_OBJECT(#1550,(#1542)); -#13486=ID_ATTRIBUTE('',#1550); -#13487=ASSIGNED_REQUIREMENT(#1559,(#1373)); -#13488=REQUIREMENT_ASSIGNED_OBJECT(#1559,(#1551)); -#13489=ID_ATTRIBUTE('',#1559); -#13490=ASSIGNED_REQUIREMENT(#1568,(#1373)); -#13491=REQUIREMENT_ASSIGNED_OBJECT(#1568,(#1560)); -#13492=ID_ATTRIBUTE('',#1568); -#13493=ASSIGNED_REQUIREMENT(#1577,(#1373)); -#13494=REQUIREMENT_ASSIGNED_OBJECT(#1577,(#1569)); -#13495=ID_ATTRIBUTE('',#1577); -#13496=ASSIGNED_REQUIREMENT(#1586,(#1373)); -#13497=REQUIREMENT_ASSIGNED_OBJECT(#1586,(#1578)); -#13498=ID_ATTRIBUTE('',#1586); -#13499=ASSIGNED_REQUIREMENT(#1595,(#1373)); -#13500=REQUIREMENT_ASSIGNED_OBJECT(#1595,(#1587)); -#13501=ID_ATTRIBUTE('',#1595); -#13502=ASSIGNED_REQUIREMENT(#1604,(#1373)); -#13503=REQUIREMENT_ASSIGNED_OBJECT(#1604,(#1596)); -#13504=ID_ATTRIBUTE('',#1604); -#13505=ASSIGNED_REQUIREMENT(#1613,(#1373)); -#13506=REQUIREMENT_ASSIGNED_OBJECT(#1613,(#1605)); -#13507=ID_ATTRIBUTE('',#1613); -#13508=ASSIGNED_REQUIREMENT(#1622,(#1373)); -#13509=REQUIREMENT_ASSIGNED_OBJECT(#1622,(#1614)); -#13510=ID_ATTRIBUTE('',#1622); -#13511=ASSIGNED_REQUIREMENT(#1641,(#1636)); -#13512=REQUIREMENT_ASSIGNED_OBJECT(#1641,(#1623)); -#13513=ID_ATTRIBUTE('',#1641); -#13514=ASSIGNED_REQUIREMENT(#1650,(#1636)); -#13515=REQUIREMENT_ASSIGNED_OBJECT(#1650,(#1642)); -#13516=ID_ATTRIBUTE('',#1650); -#13517=ASSIGNED_REQUIREMENT(#1669,(#1664)); -#13518=REQUIREMENT_ASSIGNED_OBJECT(#1669,(#1651)); -#13519=ID_ATTRIBUTE('',#1669); -#13520=ASSIGNED_REQUIREMENT(#1688,(#1683)); -#13521=REQUIREMENT_ASSIGNED_OBJECT(#1688,(#1670)); -#13522=ID_ATTRIBUTE('',#1688); -#13523=ASSIGNED_REQUIREMENT(#1697,(#1683)); -#13524=REQUIREMENT_ASSIGNED_OBJECT(#1697,(#1689)); -#13525=ID_ATTRIBUTE('',#1697); -#13526=ASSIGNED_REQUIREMENT(#1706,(#1683)); -#13527=REQUIREMENT_ASSIGNED_OBJECT(#1706,(#1698)); -#13528=ID_ATTRIBUTE('',#1706); -#13529=ASSIGNED_REQUIREMENT(#1715,(#1683)); -#13530=REQUIREMENT_ASSIGNED_OBJECT(#1715,(#1707)); -#13531=ID_ATTRIBUTE('',#1715); -#13532=ASSIGNED_REQUIREMENT(#1734,(#1729)); -#13533=REQUIREMENT_ASSIGNED_OBJECT(#1734,(#1716)); -#13534=ID_ATTRIBUTE('',#1734); -#13535=ASSIGNED_REQUIREMENT(#1743,(#1729)); -#13536=REQUIREMENT_ASSIGNED_OBJECT(#1743,(#1735)); -#13537=ID_ATTRIBUTE('',#1743); -#13538=ASSIGNED_REQUIREMENT(#1756,(#1751)); -#13539=REQUIREMENT_ASSIGNED_OBJECT(#1756,(#1744)); -#13540=ID_ATTRIBUTE('',#1756); -#13541=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2465)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#13542=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','2'); -#13543=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#13544=DESCRIPTION_ATTRIBUTE('placement not fixed',#55); -#13545=DESCRIPTION_ATTRIBUTE('placement not fixed',#930); -#13546=DESCRIPTION_ATTRIBUTE('placement not fixed',#950); -#13547=DESCRIPTION_ATTRIBUTE('placement not fixed',#969); -#13548=DESCRIPTION_ATTRIBUTE('placement not fixed',#988); -#13549=DESCRIPTION_ATTRIBUTE('placement not fixed',#997); -#13550=DESCRIPTION_ATTRIBUTE('placement not fixed',#1016); -#13551=DESCRIPTION_ATTRIBUTE('placement not fixed',#1025); -#13552=DESCRIPTION_ATTRIBUTE('placement not fixed',#1034); -#13553=DESCRIPTION_ATTRIBUTE('placement not fixed',#1053); -#13554=DESCRIPTION_ATTRIBUTE('placement not fixed',#1062); -#13555=DESCRIPTION_ATTRIBUTE('placement not fixed',#1071); -#13556=DESCRIPTION_ATTRIBUTE('placement not fixed',#1080); -#13557=DESCRIPTION_ATTRIBUTE('placement not fixed',#1089); -#13558=DESCRIPTION_ATTRIBUTE('placement not fixed',#1098); -#13559=DESCRIPTION_ATTRIBUTE('placement not fixed',#1107); -#13560=DESCRIPTION_ATTRIBUTE('placement not fixed',#1116); -#13561=DESCRIPTION_ATTRIBUTE('placement not fixed',#1125); -#13562=DESCRIPTION_ATTRIBUTE('placement not fixed',#1134); -#13563=DESCRIPTION_ATTRIBUTE('placement not fixed',#1143); -#13564=DESCRIPTION_ATTRIBUTE('placement not fixed',#1152); -#13565=DESCRIPTION_ATTRIBUTE('placement not fixed',#1161); -#13566=DESCRIPTION_ATTRIBUTE('placement not fixed',#1180); -#13567=DESCRIPTION_ATTRIBUTE('placement not fixed',#1189); -#13568=DESCRIPTION_ATTRIBUTE('placement not fixed',#1208); -#13569=DESCRIPTION_ATTRIBUTE('placement not fixed',#1217); -#13570=DESCRIPTION_ATTRIBUTE('placement not fixed',#1226); -#13571=DESCRIPTION_ATTRIBUTE('placement not fixed',#1235); -#13572=DESCRIPTION_ATTRIBUTE('placement not fixed',#1244); -#13573=DESCRIPTION_ATTRIBUTE('placement not fixed',#1253); -#13574=DESCRIPTION_ATTRIBUTE('placement not fixed',#1262); -#13575=DESCRIPTION_ATTRIBUTE('placement not fixed',#1281); -#13576=DESCRIPTION_ATTRIBUTE('placement not fixed',#1290); -#13577=DESCRIPTION_ATTRIBUTE('placement not fixed',#1309); -#13578=DESCRIPTION_ATTRIBUTE('placement not fixed',#1328); -#13579=DESCRIPTION_ATTRIBUTE('placement not fixed',#1347); -#13580=DESCRIPTION_ATTRIBUTE('placement not fixed',#1366); -#13581=DESCRIPTION_ATTRIBUTE('placement not fixed',#1385); -#13582=DESCRIPTION_ATTRIBUTE('placement not fixed',#1394); -#13583=DESCRIPTION_ATTRIBUTE('placement not fixed',#1403); -#13584=DESCRIPTION_ATTRIBUTE('placement not fixed',#1412); -#13585=DESCRIPTION_ATTRIBUTE('placement not fixed',#1421); -#13586=DESCRIPTION_ATTRIBUTE('placement not fixed',#1430); -#13587=DESCRIPTION_ATTRIBUTE('placement not fixed',#1449); -#13588=DESCRIPTION_ATTRIBUTE('placement not fixed',#1458); -#13589=DESCRIPTION_ATTRIBUTE('placement not fixed',#1467); -#13590=DESCRIPTION_ATTRIBUTE('placement not fixed',#1476); -#13591=DESCRIPTION_ATTRIBUTE('placement not fixed',#1485); -#13592=DESCRIPTION_ATTRIBUTE('placement not fixed',#1494); -#13593=DESCRIPTION_ATTRIBUTE('placement not fixed',#1503); -#13594=DESCRIPTION_ATTRIBUTE('placement not fixed',#1512); -#13595=DESCRIPTION_ATTRIBUTE('placement not fixed',#1521); -#13596=DESCRIPTION_ATTRIBUTE('placement not fixed',#1530); -#13597=DESCRIPTION_ATTRIBUTE('placement not fixed',#1539); -#13598=DESCRIPTION_ATTRIBUTE('placement not fixed',#1548); -#13599=DESCRIPTION_ATTRIBUTE('placement not fixed',#1557); -#13600=DESCRIPTION_ATTRIBUTE('placement not fixed',#1566); -#13601=DESCRIPTION_ATTRIBUTE('placement not fixed',#1575); -#13602=DESCRIPTION_ATTRIBUTE('placement not fixed',#1584); -#13603=DESCRIPTION_ATTRIBUTE('placement not fixed',#1593); -#13604=DESCRIPTION_ATTRIBUTE('placement not fixed',#1602); -#13605=DESCRIPTION_ATTRIBUTE('placement not fixed',#1611); -#13606=DESCRIPTION_ATTRIBUTE('placement not fixed',#1620); -#13607=DESCRIPTION_ATTRIBUTE('placement not fixed',#1629); -#13608=DESCRIPTION_ATTRIBUTE('placement not fixed',#1648); -#13609=DESCRIPTION_ATTRIBUTE('placement not fixed',#1657); -#13610=DESCRIPTION_ATTRIBUTE('placement not fixed',#1676); -#13611=DESCRIPTION_ATTRIBUTE('placement not fixed',#1695); -#13612=DESCRIPTION_ATTRIBUTE('placement not fixed',#1704); -#13613=DESCRIPTION_ATTRIBUTE('placement not fixed',#1713); -#13614=DESCRIPTION_ATTRIBUTE('placement not fixed',#1722); -#13615=DESCRIPTION_ATTRIBUTE('placement not fixed',#1741); -#13616=DESCRIPTION_ATTRIBUTE('placement not fixed',#2384); -#13617=DESCRIPTION_ATTRIBUTE('placement not fixed',#2400); -#13618=DESCRIPTION_ATTRIBUTE('placement not fixed',#2419); -#13619=DESCRIPTION_ATTRIBUTE('placement not fixed',#6396); -#13620=DESCRIPTION_ATTRIBUTE('placement not fixed',#6408); -#13621=DESCRIPTION_ATTRIBUTE('placement not fixed',#6421); -#13622=DESCRIPTION_ATTRIBUTE('placement not fixed',#6434); -#13623=DESCRIPTION_ATTRIBUTE('placement not fixed',#6447); -#13624=DESCRIPTION_ATTRIBUTE('placement not fixed',#6460); -#13625=DESCRIPTION_ATTRIBUTE('placement not fixed',#6473); -#13626=DESCRIPTION_ATTRIBUTE('placement not fixed',#6478); -#13627=DESCRIPTION_ATTRIBUTE('placement not fixed',#6487); -#13628=DESCRIPTION_ATTRIBUTE('placement not fixed',#6492); -#13629=DESCRIPTION_ATTRIBUTE('placement not fixed',#6500); -#13630=DESCRIPTION_ATTRIBUTE('placement not fixed',#6505); -#13631=DESCRIPTION_ATTRIBUTE('placement not fixed',#6518); -#13632=DESCRIPTION_ATTRIBUTE('placement not fixed',#6523); -#13633=DESCRIPTION_ATTRIBUTE('placement not fixed',#6639); -#13634=DESCRIPTION_ATTRIBUTE('placement not fixed',#6670); -#13635=DESCRIPTION_ATTRIBUTE('placement not fixed',#6701); -#13636=DESCRIPTION_ATTRIBUTE('placement not fixed',#6732); -#13637=DESCRIPTION_ATTRIBUTE('placement not fixed',#6762); -#13638=DESCRIPTION_ATTRIBUTE('placement not fixed',#6792); -#13639=DESCRIPTION_ATTRIBUTE('placement not fixed',#6823); -#13640=DESCRIPTION_ATTRIBUTE('placement not fixed',#6853); -#13641=DESCRIPTION_ATTRIBUTE('placement not fixed',#6899); -#13642=DESCRIPTION_ATTRIBUTE('placement not fixed',#6929); -#13643=DESCRIPTION_ATTRIBUTE('placement not fixed',#6959); -#13644=DESCRIPTION_ATTRIBUTE('placement not fixed',#6989); -#13645=DESCRIPTION_ATTRIBUTE('placement not fixed',#7019); -#13646=DESCRIPTION_ATTRIBUTE('placement not fixed',#7064); -#13647=DESCRIPTION_ATTRIBUTE('placement not fixed',#7094); -#13648=DESCRIPTION_ATTRIBUTE('placement not fixed',#7124); -#13649=DESCRIPTION_ATTRIBUTE('placement not fixed',#7154); -#13650=DESCRIPTION_ATTRIBUTE('placement not fixed',#7236); -#13651=DESCRIPTION_ATTRIBUTE('placement not fixed',#7266); -#13652=DESCRIPTION_ATTRIBUTE('placement not fixed',#7296); -#13653=DESCRIPTION_ATTRIBUTE('placement not fixed',#7326); -#13654=DESCRIPTION_ATTRIBUTE('placement not fixed',#7356); -#13655=DESCRIPTION_ATTRIBUTE('placement not fixed',#7386); -#13656=DESCRIPTION_ATTRIBUTE('placement not fixed',#7430); -#13657=DESCRIPTION_ATTRIBUTE('placement not fixed',#7460); -#13658=DESCRIPTION_ATTRIBUTE('placement not fixed',#7490); -#13659=DESCRIPTION_ATTRIBUTE('placement not fixed',#7520); -#13660=DESCRIPTION_ATTRIBUTE('placement not fixed',#7550); -#13661=DESCRIPTION_ATTRIBUTE('placement not fixed',#7580); -#13662=DESCRIPTION_ATTRIBUTE('placement not fixed',#7610); -#13663=DESCRIPTION_ATTRIBUTE('placement not fixed',#7640); -#13664=DESCRIPTION_ATTRIBUTE('placement not fixed',#7670); -#13665=DESCRIPTION_ATTRIBUTE('placement not fixed',#7700); -#13666=DESCRIPTION_ATTRIBUTE('placement not fixed',#7730); -#13667=DESCRIPTION_ATTRIBUTE('placement not fixed',#7760); -#13668=DESCRIPTION_ATTRIBUTE('placement not fixed',#7790); -#13669=DESCRIPTION_ATTRIBUTE('placement not fixed',#7820); -#13670=DESCRIPTION_ATTRIBUTE('placement not fixed',#7902); -#13671=DESCRIPTION_ATTRIBUTE('placement not fixed',#7932); -#13672=DESCRIPTION_ATTRIBUTE('placement not fixed',#7962); -#13673=DESCRIPTION_ATTRIBUTE('placement not fixed',#8148); -#13674=DESCRIPTION_ATTRIBUTE('placement not fixed',#8178); -#13675=DESCRIPTION_ATTRIBUTE('placement not fixed',#8208); -#13676=DESCRIPTION_ATTRIBUTE('placement not fixed',#8238); -#13677=DESCRIPTION_ATTRIBUTE('placement not fixed',#8268); -#13678=DESCRIPTION_ATTRIBUTE('placement not fixed',#8298); -#13679=DESCRIPTION_ATTRIBUTE('placement not fixed',#8328); -#13680=DESCRIPTION_ATTRIBUTE('placement not fixed',#8358); -#13681=DESCRIPTION_ATTRIBUTE('placement not fixed',#8388); -#13682=DESCRIPTION_ATTRIBUTE('placement not fixed',#8418); -#13683=DESCRIPTION_ATTRIBUTE('placement not fixed',#8448); -#13684=DESCRIPTION_ATTRIBUTE('placement not fixed',#8478); -#13685=DESCRIPTION_ATTRIBUTE('placement not fixed',#8508); -#13686=DESCRIPTION_ATTRIBUTE('placement not fixed',#8538); -#13687=DESCRIPTION_ATTRIBUTE('placement not fixed',#8568); -#13688=DESCRIPTION_ATTRIBUTE('placement not fixed',#8598); -#13689=DESCRIPTION_ATTRIBUTE('placement not fixed',#8628); -#13690=DESCRIPTION_ATTRIBUTE('placement not fixed',#10091); -#13691=DESCRIPTION_ATTRIBUTE('placement not fixed',#10121); -#13692=DESCRIPTION_ATTRIBUTE('placement not fixed',#10151); -#13693=DESCRIPTION_ATTRIBUTE('placement not fixed',#10181); -#13694=DESCRIPTION_ATTRIBUTE('placement not fixed',#10211); -#13695=DESCRIPTION_ATTRIBUTE('placement not fixed',#10241); -#13696=DESCRIPTION_ATTRIBUTE('placement not fixed',#10271); -#13697=DESCRIPTION_ATTRIBUTE('placement not fixed',#10301); -#13698=DESCRIPTION_ATTRIBUTE('placement not fixed',#10331); -#13699=DESCRIPTION_ATTRIBUTE('placement not fixed',#10374); -#13700=DESCRIPTION_ATTRIBUTE('placement not fixed',#10404); -#13701=DESCRIPTION_ATTRIBUTE('placement not fixed',#10434); -#13702=DESCRIPTION_ATTRIBUTE('placement not fixed',#10477); -#13703=DESCRIPTION_ATTRIBUTE('placement not fixed',#10507); -#13704=REPRESENTATION_CONTEXT('',''); -#13705=PROPERTY_DEFINITION_REPRESENTATION(#13706,#942); -#13706=PROPERTY_DEFINITION('',$,#938); -#13707=PROPERTY_DEFINITION('',$,#932); -#13708=PROPERTY_DEFINITION_REPRESENTATION(#13707,#13709); -#13709=REPRESENTATION('',(#13710),#13704); -#13710=REPRESENTATION_ITEM(''); -#13711=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#942,#13709); -#13712=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13713=PROPERTY_DEFINITION_REPRESENTATION(#13714,#961); -#13714=PROPERTY_DEFINITION('',$,#957); -#13715=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#961,#13709); -#13716=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13717=PROPERTY_DEFINITION_REPRESENTATION(#13718,#980); -#13718=PROPERTY_DEFINITION('',$,#976); -#13719=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#980,#13709); -#13720=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13721=PROPERTY_DEFINITION_REPRESENTATION(#13722,#1008); -#13722=PROPERTY_DEFINITION('',$,#1004); -#13723=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1008,#13709); -#13724=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13725=PROPERTY_DEFINITION_REPRESENTATION(#13726,#1045); -#13726=PROPERTY_DEFINITION('',$,#1041); -#13727=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1045,#13709); -#13728=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13729=PROPERTY_DEFINITION_REPRESENTATION(#13730,#1172); -#13730=PROPERTY_DEFINITION('',$,#1168); -#13731=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1172,#13709); -#13732=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13733=PROPERTY_DEFINITION_REPRESENTATION(#13734,#1200); -#13734=PROPERTY_DEFINITION('',$,#1196); -#13735=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1200,#13709); -#13736=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13737=PROPERTY_DEFINITION_REPRESENTATION(#13738,#1273); -#13738=PROPERTY_DEFINITION('',$,#1269); -#13739=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1273,#13709); -#13740=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13741=PROPERTY_DEFINITION_REPRESENTATION(#13742,#1301); -#13742=PROPERTY_DEFINITION('',$,#1297); -#13743=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1301,#13709); -#13744=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13745=PROPERTY_DEFINITION_REPRESENTATION(#13746,#1320); -#13746=PROPERTY_DEFINITION('',$,#1316); -#13747=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1320,#13709); -#13748=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13749=PROPERTY_DEFINITION_REPRESENTATION(#13750,#1339); -#13750=PROPERTY_DEFINITION('',$,#1335); -#13751=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1339,#13709); -#13752=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13753=PROPERTY_DEFINITION_REPRESENTATION(#13754,#1358); -#13754=PROPERTY_DEFINITION('',$,#1354); -#13755=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1358,#13709); -#13756=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13757=PROPERTY_DEFINITION_REPRESENTATION(#13758,#1377); -#13758=PROPERTY_DEFINITION('',$,#1373); -#13759=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1377,#13709); -#13760=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13761=PROPERTY_DEFINITION_REPRESENTATION(#13762,#1441); -#13762=PROPERTY_DEFINITION('',$,#1437); -#13763=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1441,#13709); -#13764=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13765=PROPERTY_DEFINITION_REPRESENTATION(#13766,#1640); -#13766=PROPERTY_DEFINITION('',$,#1636); -#13767=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1640,#13709); -#13768=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13769=PROPERTY_DEFINITION_REPRESENTATION(#13770,#1668); -#13770=PROPERTY_DEFINITION('',$,#1664); -#13771=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1668,#13709); -#13772=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13773=PROPERTY_DEFINITION_REPRESENTATION(#13774,#1687); -#13774=PROPERTY_DEFINITION('',$,#1683); -#13775=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1687,#13709); -#13776=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13777=PROPERTY_DEFINITION_REPRESENTATION(#13778,#1733); -#13778=PROPERTY_DEFINITION('',$,#1729); -#13779=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1733,#13709); -#13780=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13781=PROPERTY_DEFINITION_REPRESENTATION(#13782,#1755); -#13782=PROPERTY_DEFINITION('',$,#1751); -#13783=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#1755,#13709); -#13784=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#13785=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6644); -#13786=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6649); -#13787=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#6675); -#13788=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6680); -#13789=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#6706); -#13790=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#6711); -#13791=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6736); -#13792=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6741); -#13793=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#6766); -#13794=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#6771); -#13795=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#6797); -#13796=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6802); -#13797=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6827); -#13798=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6832); -#13799=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3627,#6858); -#13800=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6863); -#13801=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#6868); -#13802=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6903); -#13803=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6908); -#13804=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6933); -#13805=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6938); -#13806=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#6963); -#13807=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6968); -#13808=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6993); -#13809=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#6998); -#13810=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7023); -#13811=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7028); -#13812=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#7033); -#13813=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#7068); -#13814=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7073); -#13815=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7098); -#13816=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7103); -#13817=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7128); -#13818=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7133); -#13819=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7158); -#13820=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7163); -#13821=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7168); -#13822=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7173); -#13823=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7178); -#13824=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#7183); -#13825=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7240); -#13826=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7245); -#13827=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7270); -#13828=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#7275); -#13829=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7300); -#13830=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7305); -#13831=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7330); -#13832=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7335); -#13833=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#7360); -#13834=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#7365); -#13835=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7390); -#13836=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7395); -#13837=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#7400); -#13838=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#7434); -#13839=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7439); -#13840=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7464); -#13841=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7469); -#13842=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7494); -#13843=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7499); -#13844=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#7524); -#13845=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7529); -#13846=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7554); -#13847=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7559); -#13848=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7584); -#13849=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7589); -#13850=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#7614); -#13851=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7619); -#13852=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7644); -#13853=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7649); -#13854=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7674); -#13855=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7679); -#13856=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7704); -#13857=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7709); -#13858=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7734); -#13859=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7739); -#13860=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7764); -#13861=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7769); -#13862=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7794); -#13863=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7799); -#13864=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7824); -#13865=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7829); -#13866=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7834); -#13867=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7839); -#13868=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7844); -#13869=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#7849); -#13870=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7906); -#13871=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7911); -#13872=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7936); -#13873=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#7941); -#13874=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7966); -#13875=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7971); -#13876=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7976); -#13877=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7981); -#13878=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7986); -#13879=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7991); -#13880=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#7996); -#13881=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8001); -#13882=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8006); -#13883=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8011); -#13884=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8016); -#13885=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8021); -#13886=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8026); -#13887=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#8031); -#13888=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#8152); -#13889=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8157); -#13890=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8182); -#13891=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#8187); -#13892=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8212); -#13893=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8217); -#13894=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#8242); -#13895=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8247); -#13896=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8272); -#13897=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8277); -#13898=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8302); -#13899=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8307); -#13900=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#8332); -#13901=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8337); -#13902=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8362); -#13903=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8367); -#13904=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8392); -#13905=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8397); -#13906=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8422); -#13907=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8427); -#13908=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8452); -#13909=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8457); -#13910=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8482); -#13911=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8487); -#13912=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8512); -#13913=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8517); -#13914=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8542); -#13915=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8547); -#13916=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8572); -#13917=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8577); -#13918=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8602); -#13919=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#8607); -#13920=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8632); -#13921=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8637); -#13922=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8642); -#13923=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8647); -#13924=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8652); -#13925=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8657); -#13926=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8662); -#13927=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8667); -#13928=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8672); -#13929=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8677); -#13930=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8682); -#13931=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8687); -#13932=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8692); -#13933=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8697); -#13934=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8702); -#13935=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8707); -#13936=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8712); -#13937=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8717); -#13938=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8722); -#13939=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8727); -#13940=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8732); -#13941=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8737); -#13942=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8742); -#13943=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8747); -#13944=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8752); -#13945=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8757); -#13946=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8762); -#13947=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8767); -#13948=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8772); -#13949=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8777); -#13950=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8782); -#13951=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8787); -#13952=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8792); -#13953=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8797); -#13954=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8802); -#13955=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8807); -#13956=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8812); -#13957=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8817); -#13958=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8822); -#13959=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8827); -#13960=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8832); -#13961=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8837); -#13962=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8842); -#13963=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8847); -#13964=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8852); -#13965=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8857); -#13966=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8862); -#13967=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8867); -#13968=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8872); -#13969=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8877); -#13970=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8882); -#13971=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8887); -#13972=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8892); -#13973=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8897); -#13974=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8902); -#13975=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#8907); -#13976=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8912); -#13977=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8917); -#13978=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8922); -#13979=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8927); -#13980=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8932); -#13981=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8937); -#13982=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8942); -#13983=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8947); -#13984=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8952); -#13985=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8957); -#13986=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8962); -#13987=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8967); -#13988=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8972); -#13989=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8977); -#13990=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8982); -#13991=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8987); -#13992=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8992); -#13993=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#8997); -#13994=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9002); -#13995=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9007); -#13996=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9012); -#13997=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9017); -#13998=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9022); -#13999=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9027); -#14000=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9032); -#14001=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9037); -#14002=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9042); -#14003=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9047); -#14004=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9052); -#14005=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9057); -#14006=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9062); -#14007=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9067); -#14008=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9072); -#14009=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9077); -#14010=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9082); -#14011=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9087); -#14012=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9092); -#14013=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9097); -#14014=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9102); -#14015=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9107); -#14016=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9112); -#14017=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9117); -#14018=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9122); -#14019=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9127); -#14020=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9132); -#14021=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9137); -#14022=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9142); -#14023=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9147); -#14024=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9152); -#14025=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9157); -#14026=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9162); -#14027=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9167); -#14028=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9172); -#14029=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9177); -#14030=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9182); -#14031=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#9187); -#14032=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#10095); -#14033=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#10100); -#14034=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10125); -#14035=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10130); -#14036=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10155); -#14037=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10160); -#14038=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#10185); -#14039=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10190); -#14040=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#10215); -#14041=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#10220); -#14042=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#10245); -#14043=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#10250); -#14044=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#10275); -#14045=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10280); -#14046=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10305); -#14047=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10310); -#14048=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#10335); -#14049=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#10340); -#14050=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#10345); -#14051=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3311,#10378); -#14052=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10383); -#14053=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#10408); -#14054=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10413); -#14055=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#10438); -#14056=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#10443); -#14057=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3003,#10448); -#14058=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2687,#10481); -#14059=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2845,#10486); -#14060=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10511); -#14061=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2529,#10516); -#14062=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6645); -#14063=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6650); -#14064=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#6676); -#14065=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6681); -#14066=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#6707); -#14067=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#6712); -#14068=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6737); -#14069=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6742); -#14070=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#6767); -#14071=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#6772); -#14072=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#6798); -#14073=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6803); -#14074=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6828); -#14075=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6833); -#14076=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3628,#6859); -#14077=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6864); -#14078=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#6869); -#14079=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6904); -#14080=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6909); -#14081=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6934); -#14082=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6939); -#14083=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#6964); -#14084=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6969); -#14085=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6994); -#14086=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#6999); -#14087=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7024); -#14088=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7029); -#14089=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#7034); -#14090=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#7069); -#14091=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7074); -#14092=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7099); -#14093=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7104); -#14094=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7129); -#14095=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7134); -#14096=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7159); -#14097=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7164); -#14098=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7169); -#14099=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7174); -#14100=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7179); -#14101=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#7184); -#14102=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7241); -#14103=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7246); -#14104=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7271); -#14105=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#7276); -#14106=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7301); -#14107=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7306); -#14108=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7331); -#14109=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7336); -#14110=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#7361); -#14111=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#7366); -#14112=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7391); -#14113=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7396); -#14114=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#7401); -#14115=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#7435); -#14116=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7440); -#14117=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7465); -#14118=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7470); -#14119=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7495); -#14120=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7500); -#14121=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#7525); -#14122=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7530); -#14123=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7555); -#14124=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7560); -#14125=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7585); -#14126=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7590); -#14127=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#7615); -#14128=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7620); -#14129=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7645); -#14130=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7650); -#14131=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7675); -#14132=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7680); -#14133=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7705); -#14134=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7710); -#14135=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7735); -#14136=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7740); -#14137=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7765); -#14138=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7770); -#14139=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7795); -#14140=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7800); -#14141=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7825); -#14142=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7830); -#14143=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7835); -#14144=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7840); -#14145=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7845); -#14146=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#7850); -#14147=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7907); -#14148=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7912); -#14149=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7937); -#14150=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#7942); -#14151=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7967); -#14152=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7972); -#14153=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7977); -#14154=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7982); -#14155=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7987); -#14156=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7992); -#14157=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#7997); -#14158=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8002); -#14159=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8007); -#14160=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8012); -#14161=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8017); -#14162=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8022); -#14163=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8027); -#14164=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#8032); -#14165=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#8153); -#14166=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8158); -#14167=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8183); -#14168=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#8188); -#14169=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8213); -#14170=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8218); -#14171=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#8243); -#14172=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8248); -#14173=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8273); -#14174=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8278); -#14175=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8303); -#14176=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8308); -#14177=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#8333); -#14178=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8338); -#14179=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8363); -#14180=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8368); -#14181=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8393); -#14182=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8398); -#14183=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8423); -#14184=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8428); -#14185=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8453); -#14186=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8458); -#14187=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8483); -#14188=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8488); -#14189=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8513); -#14190=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8518); -#14191=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8543); -#14192=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8548); -#14193=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8573); -#14194=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8578); -#14195=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8603); -#14196=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#8608); -#14197=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8633); -#14198=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8638); -#14199=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8643); -#14200=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8648); -#14201=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8653); -#14202=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8658); -#14203=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8663); -#14204=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8668); -#14205=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8673); -#14206=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8678); -#14207=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8683); -#14208=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8688); -#14209=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8693); -#14210=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8698); -#14211=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8703); -#14212=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8708); -#14213=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8713); -#14214=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8718); -#14215=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8723); -#14216=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8728); -#14217=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8733); -#14218=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8738); -#14219=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8743); -#14220=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8748); -#14221=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8753); -#14222=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8758); -#14223=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8763); -#14224=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8768); -#14225=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8773); -#14226=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8778); -#14227=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8783); -#14228=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8788); -#14229=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8793); -#14230=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8798); -#14231=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8803); -#14232=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8808); -#14233=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8813); -#14234=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8818); -#14235=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8823); -#14236=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8828); -#14237=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8833); -#14238=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8838); -#14239=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8843); -#14240=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8848); -#14241=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8853); -#14242=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8858); -#14243=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8863); -#14244=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8868); -#14245=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8873); -#14246=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8878); -#14247=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8883); -#14248=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8888); -#14249=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8893); -#14250=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8898); -#14251=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8903); -#14252=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#8908); -#14253=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8913); -#14254=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8918); -#14255=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8923); -#14256=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8928); -#14257=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8933); -#14258=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8938); -#14259=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8943); -#14260=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8948); -#14261=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8953); -#14262=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8958); -#14263=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8963); -#14264=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8968); -#14265=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8973); -#14266=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8978); -#14267=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8983); -#14268=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8988); -#14269=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8993); -#14270=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#8998); -#14271=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9003); -#14272=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9008); -#14273=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9013); -#14274=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9018); -#14275=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9023); -#14276=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9028); -#14277=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9033); -#14278=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9038); -#14279=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9043); -#14280=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9048); -#14281=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9053); -#14282=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9058); -#14283=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9063); -#14284=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9068); -#14285=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9073); -#14286=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9078); -#14287=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9083); -#14288=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9088); -#14289=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9093); -#14290=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9098); -#14291=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9103); -#14292=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9108); -#14293=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9113); -#14294=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9118); -#14295=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9123); -#14296=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9128); -#14297=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9133); -#14298=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9138); -#14299=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9143); -#14300=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9148); -#14301=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9153); -#14302=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9158); -#14303=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9163); -#14304=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9168); -#14305=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9173); -#14306=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9178); -#14307=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9183); -#14308=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#9188); -#14309=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#10096); -#14310=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#10101); -#14311=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10126); -#14312=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10131); -#14313=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10156); -#14314=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10161); -#14315=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#10186); -#14316=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10191); -#14317=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#10216); -#14318=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#10221); -#14319=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#10246); -#14320=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#10251); -#14321=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#10276); -#14322=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10281); -#14323=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10306); -#14324=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10311); -#14325=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#10336); -#14326=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#10341); -#14327=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#10346); -#14328=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3312,#10379); -#14329=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10384); -#14330=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#10409); -#14331=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10414); -#14332=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#10439); -#14333=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#10444); -#14334=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3004,#10449); -#14335=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2688,#10482); -#14336=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2846,#10487); -#14337=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10512); -#14338=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2530,#10517); -#14339=PRODUCT_DEFINITION_CONTEXT('template definition',#13318,''); -#14341=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2528,#14339,#13319); -#14342=ID_ATTRIBUTE('1',#2528); -#14343=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2518,#2528); -#14345=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2686,#14339,#13319); -#14346=ID_ATTRIBUTE('1',#2686); -#14347=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2680,#2686); -#14349=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2844,#14339,#13319); -#14350=ID_ATTRIBUTE('1',#2844); -#14351=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2838,#2844); -#14353=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3002,#14339,#13319); -#14354=ID_ATTRIBUTE('1',#3002); -#14355=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3002); -#14357=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3156,#14339,#13319); -#14358=ID_ATTRIBUTE('1',#3156); -#14359=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3156); -#14361=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3310,#14339,#13319); -#14362=ID_ATTRIBUTE('1',#3310); -#14363=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3310); -#14365=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3468,#14339,#13319); -#14366=ID_ATTRIBUTE('1',#3468); -#14367=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3462,#3468); -#14369=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3626,#14339,#13319); -#14370=ID_ATTRIBUTE('1',#3626); -#14371=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3620,#3626); -#14373=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3780,#14339,#13319); -#14374=ID_ATTRIBUTE('1',#3780); -#14375=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3620,#3780); -#14377=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3938,#14339,#13319); -#14378=ID_ATTRIBUTE('1',#3938); -#14379=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3932,#3938); -#14380=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10537,#10551); -#14381=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10552,#10554); -#14382=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10567,#10569); -#14383=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10537,#10570); -#14384=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10588,#10590); -#14385=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10591,#10593); -#14386=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10607,#10609); -#14387=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10610,#10612); -#14388=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10628,#10630); -#14389=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10618,#10631); -#14390=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10618,#10640); -#14391=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10641,#10643); -#14392=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10653,#10655); -#14393=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10656,#10658); -#14394=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10668,#10670); -#14395=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10671,#10673); -#14396=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10668,#10681); -#14397=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10682,#10684); -#14398=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10671,#10692); -#14399=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10653,#10693); -#14400=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10682,#10703); -#14401=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10704,#10706); -#14402=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10720,#10722); -#14403=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10723,#10725); -#14404=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10731,#10742); -#14405=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10735,#10743); -#14406=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10745,#10747); -#14407=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10755,#10757); -#14408=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10733,#10758); -#14409=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10735,#10760); -#14410=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10768,#10770); -#14411=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10771,#10773); -#14412=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10783,#10785); -#14413=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10768,#10786); -#14414=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10731,#10794); -#14415=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10733,#10795); -#14416=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10783,#10797); -#14417=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10771,#10805); -#14418=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10806,#10808); -#14419=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10819,#10821); -#14420=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10822,#10824); -#14421=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10841,#10843); -#14422=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10831,#10844); -#14423=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10831,#10856); -#14424=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10857,#10859); -#14425=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10870,#10872); -#14426=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10873,#10875); -#14427=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10883,#10885); -#14428=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10870,#10886); -#14429=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10894,#10896); -#14430=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10897,#10899); -#14431=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10883,#10909); -#14432=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10897,#10910); -#14433=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10894,#10920); -#14434=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10921,#10923); -#14435=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10936,#10938); -#14436=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10939,#10941); -#14437=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10953,#10955); -#14438=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10956,#10958); -#14439=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10984,#11030); -#14440=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10976,#11031); -#14441=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11033,#11035); -#14442=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11045,#11047); -#14443=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11048,#11050); -#14444=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11033,#11052); -#14445=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11062,#11064); -#14446=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11065,#11067); -#14447=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11077,#11079); -#14448=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11080,#11082); -#14449=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10978,#11090); -#14450=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10984,#11091); -#14451=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11093,#11095); -#14452=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10970,#11104); -#14453=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10972,#11105); -#14454=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10968,#11107); -#14455=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10964,#11109); -#14456=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10966,#11111); -#14457=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10964,#11119); -#14458=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10974,#11120); -#14459=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10976,#11122); -#14460=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10978,#11124); -#14461=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11132,#11134); -#14462=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10966,#11135); -#14463=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10974,#11137); -#14464=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11147,#11149); -#14465=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11150,#11152); -#14466=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11150,#11163); -#14467=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11164,#11166); -#14468=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10970,#11174); -#14469=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10980,#11175); -#14470=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10988,#11177); -#14471=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11179,#11181); -#14472=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10980,#11197); -#14473=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10982,#11198); -#14474=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10968,#11200); -#14475=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11065,#11202); -#14476=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11065,#11212); -#14477=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11077,#11213); -#14478=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11223,#11225); -#14479=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11147,#11226); -#14480=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11080,#11238); -#14481=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11223,#11239); -#14482=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11164,#11250); -#14483=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11251,#11253); -#14484=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11262,#11264); -#14485=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10972,#11265); -#14486=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10982,#11267); -#14487=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10988,#11269); -#14488=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11010,#11280); -#14489=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11004,#11281); -#14490=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11283,#11285); -#14491=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10996,#11293); -#14492=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11294,#11296); -#14493=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10986,#11304); -#14494=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11305,#11307); -#14495=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11318,#11320); -#14496=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11321,#11323); -#14497=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11004,#11332); -#14498=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11006,#11333); -#14499=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11008,#11335); -#14500=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11002,#11337); -#14501=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10994,#11339); -#14502=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11000,#11341); -#14503=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11349,#11351); -#14504=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11352,#11354); -#14505=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11002,#11364); -#14506=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10992,#11365); -#14507=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10998,#11367); -#14508=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11349,#11369); -#14509=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10986,#11377); -#14510=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11378,#11380); -#14511=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11394,#11396); -#14512=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11008,#11397); -#14513=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11399,#11401); -#14514=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11411,#11413); -#14515=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11414,#11416); -#14516=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11283,#11424); -#14517=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11425,#11427); -#14518=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11378,#11439); -#14519=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11318,#11440); -#14520=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10990,#11457); -#14521=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10994,#11458); -#14522=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10992,#11460); -#14523=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11462,#11464); -#14524=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11321,#11474); -#14525=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11414,#11475); -#14526=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11483,#11485); -#14527=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11394,#11486); -#14528=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11318,#11499); -#14529=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11394,#11500); -#14530=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10990,#11509); -#14531=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11000,#11510); -#14532=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10998,#11512); -#14533=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#10996,#11514); -#14534=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11399,#11524); -#14535=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11006,#11525); -#14536=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11010,#11527); -#14537=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11462,#11535); -#14538=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11536,#11538); -#14539=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11548,#11550); -#14540=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11551,#11553); -#14541=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11566,#11568); -#14542=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11569,#11571); -#14543=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11580,#11582); -#14544=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11583,#11585); -#14545=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11566,#11593); -#14546=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11594,#11596); -#14547=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11594,#11604); -#14548=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11605,#11607); -#14549=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11580,#11615); -#14550=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11605,#11616); -#14551=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11627,#11629); -#14552=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11630,#11632); -#14553=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11646,#11648); -#14554=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11649,#11651); -#14555=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11662,#11664); -#14556=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11665,#11667); -#14557=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11678,#11680); -#14558=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11681,#11683); -#14559=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11691,#11693); -#14560=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11681,#11694); -#14561=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11702,#11704); -#14562=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11681,#11705); -#14563=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11715,#11732); -#14564=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11721,#11733); -#14565=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11719,#11735); -#14566=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11723,#11737); -#14567=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11745,#11747); -#14568=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11723,#11748); -#14569=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11725,#11750); -#14570=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11758,#11760); -#14571=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11715,#11761); -#14572=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11717,#11763); -#14573=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11771,#11773); -#14574=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11717,#11774); -#14575=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11721,#11776); -#14576=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11784,#11786); -#14577=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11719,#11787); -#14578=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11725,#11789); -#14579=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11801,#11803); -#14580=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11804,#11806); -#14581=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11817,#11819); -#14582=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11820,#11822); -#14583=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11836,#11838); -#14584=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11839,#11841); -#14585=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11851,#11859); -#14586=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11847,#11860); -#14587=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11862,#11864); -#14588=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11849,#11874); -#14589=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11847,#11875); -#14590=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11877,#11879); -#14591=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11887,#11889); -#14592=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11849,#11890); -#14593=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11851,#11892); -#14594=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11905,#11907); -#14595=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11908,#11910); -#14596=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11919,#11921); -#14597=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11905,#11922); -#14598=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11908,#11931); -#14599=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11932,#11934); -#14600=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11946,#11948); -#14601=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11949,#11951); -#14602=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11964,#11966); -#14603=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11967,#11969); -#14604=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11964,#11978); -#14605=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11979,#11981); -#14606=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11992,#11994); -#14607=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#11979,#11995); -#14608=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12012,#12014); -#14609=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12003,#12015); -#14610=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12005,#12017); -#14611=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12025,#12027); -#14612=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12001,#12028); -#14613=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12005,#12030); -#14614=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12039,#12041); -#14615=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12001,#12042); -#14616=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12003,#12044); -#14617=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12057,#12059); -#14618=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12060,#12062); -#14619=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12074,#12076); -#14620=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12077,#12079); -#14621=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12087,#12089); -#14622=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12077,#12090); -#14623=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12098,#12100); -#14624=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12087,#12101); -#14625=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12112,#12114); -#14626=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12115,#12117); -#14627=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12125,#12127); -#14628=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12115,#12128); -#14629=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12136,#12138); -#14630=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12115,#12139); -#14631=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12147,#12149); -#14632=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12136,#12150); -#14633=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12161,#12163); -#14634=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12164,#12166); -#14635=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12179,#12181); -#14636=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12182,#12184); -#14637=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12200,#12202); -#14638=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12203,#12205); -#14639=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12200,#12213); -#14640=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12214,#12216); -#14641=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12232,#12234); -#14642=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12222,#12235); -#14643=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12222,#12251); -#14644=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12252,#12254); -#14645=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12267,#12269); -#14646=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12260,#12270); -#14647=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12260,#12281); -#14648=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12282,#12284); -#14649=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12290,#12301); -#14650=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12302,#12304); -#14651=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12315,#12317); -#14652=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12290,#12318); -#14653=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12326,#12335); -#14654=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12328,#12336); -#14655=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12338,#12340); -#14656=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12348,#12350); -#14657=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12351,#12353); -#14658=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12361,#12363); -#14659=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12351,#12364); -#14660=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12324,#12372); -#14661=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12328,#12373); -#14662=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12351,#12375); -#14663=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12385,#12387); -#14664=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12388,#12390); -#14665=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12324,#12398); -#14666=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12326,#12399); -#14667=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12385,#12401); -#14668=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12407,#12420); -#14669=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12409,#12421); -#14670=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12423,#12425); -#14671=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12434,#12436); -#14672=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12437,#12439); -#14673=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12447,#12449); -#14674=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12407,#12450); -#14675=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12411,#12452); -#14676=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12462,#12464); -#14677=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12465,#12467); -#14678=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12437,#12475); -#14679=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12447,#12476); -#14680=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12484,#12486); -#14681=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12447,#12487); -#14682=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12465,#12495); -#14683=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12409,#12496); -#14684=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12411,#12498); -#14685=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12509,#12511); -#14686=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12512,#12514); -#14687=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12522,#12524); -#14688=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12525,#12527); -#14689=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12509,#12536); -#14690=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12537,#12539); -#14691=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12512,#12547); -#14692=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12525,#12548); -#14693=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12537,#12556); -#14694=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12557,#12559); -#14695=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12574,#12576); -#14696=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12577,#12579); -#14697=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12596,#12598); -#14698=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12599,#12601); -#14699=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12596,#12609); -#14700=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12610,#12612); -#14701=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12620,#12629); -#14702=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12622,#12630); -#14703=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12632,#12634); -#14704=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12618,#12645); -#14705=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12622,#12646); -#14706=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12648,#12650); -#14707=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12662,#12664); -#14708=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12618,#12665); -#14709=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12620,#12667); -#14710=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12680,#12682); -#14711=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12683,#12685); -#14712=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12697,#12699); -#14713=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12700,#12702); -#14714=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12709,#12719); -#14715=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12720,#12722); -#14716=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12730,#12732); -#14717=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12709,#12733); -#14718=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12750,#12752); -#14719=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12741,#12753); -#14720=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12743,#12755); -#14721=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12739,#12764); -#14722=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12743,#12765); -#14723=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12767,#12769); -#14724=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12739,#12779); -#14725=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12741,#12780); -#14726=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12782,#12784); -#14727=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12782,#12792); -#14728=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12793,#12795); -#14729=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12767,#12803); -#14730=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12804,#12806); -#14731=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12793,#12814); -#14732=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12815,#12817); -#14733=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12825,#12827); -#14734=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12804,#12828); -#14735=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12840,#12842); -#14736=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#12843,#12845); -#14737=PROPERTY_DEFINITION('','',#10572); -#14738=REPRESENTATION('',(#14740),#13704); -#14739=PROPERTY_DEFINITION_REPRESENTATION(#14737,#14738); -#14740=DESCRIPTIVE_REPRESENTATION_ITEM('feature of size','true'); -#14741=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10573,#10572); -#14742=PROPERTY_DEFINITION('','',#10595); -#14743=REPRESENTATION('',(#14740),#13704); -#14744=PROPERTY_DEFINITION_REPRESENTATION(#14742,#14743); -#14745=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10596,#10595); -#14746=PROPERTY_DEFINITION('','',#10614); -#14747=REPRESENTATION('',(#14740),#13704); -#14748=PROPERTY_DEFINITION_REPRESENTATION(#14746,#14747); -#14749=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10615,#10614); -#14750=PROPERTY_DEFINITION('','',#10645); -#14751=REPRESENTATION('',(#14740),#13704); -#14752=PROPERTY_DEFINITION_REPRESENTATION(#14750,#14751); -#14753=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10646,#10645); -#14754=PROPERTY_DEFINITION('','',#10708); -#14755=REPRESENTATION('',(#14740),#13704); -#14756=PROPERTY_DEFINITION_REPRESENTATION(#14754,#14755); -#14757=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10709,#10708); -#14758=PROPERTY_DEFINITION('','',#10727); -#14759=REPRESENTATION('',(#14740),#13704); -#14760=PROPERTY_DEFINITION_REPRESENTATION(#14758,#14759); -#14761=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10728,#10727); -#14762=PROPERTY_DEFINITION('','',#10810); -#14763=REPRESENTATION('',(#14740),#13704); -#14764=PROPERTY_DEFINITION_REPRESENTATION(#14762,#14763); -#14765=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10811,#10810); -#14766=PROPERTY_DEFINITION('','',#10826); -#14767=REPRESENTATION('',(#14740),#13704); -#14768=PROPERTY_DEFINITION_REPRESENTATION(#14766,#14767); -#14769=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10827,#10826); -#14770=PROPERTY_DEFINITION('','',#10861); -#14771=REPRESENTATION('',(#14740),#13704); -#14772=PROPERTY_DEFINITION_REPRESENTATION(#14770,#14771); -#14773=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10862,#10861); -#14774=PROPERTY_DEFINITION('','',#10925); -#14775=REPRESENTATION('',(#14740),#13704); -#14776=PROPERTY_DEFINITION_REPRESENTATION(#14774,#14775); -#14777=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10926,#10925); -#14778=PROPERTY_DEFINITION('','',#10943); -#14779=REPRESENTATION('',(#14740),#13704); -#14780=PROPERTY_DEFINITION_REPRESENTATION(#14778,#14779); -#14781=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10944,#10943); -#14782=PROPERTY_DEFINITION('','',#10960); -#14783=REPRESENTATION('',(#14740),#13704); -#14784=PROPERTY_DEFINITION_REPRESENTATION(#14782,#14783); -#14785=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10961,#10960); -#14786=PROPERTY_DEFINITION('','',#11271); -#14787=REPRESENTATION('',(#14740),#13704); -#14788=PROPERTY_DEFINITION_REPRESENTATION(#14786,#14787); -#14789=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11272,#11271); -#14790=PROPERTY_DEFINITION('','',#11540); -#14791=REPRESENTATION('',(#14740),#13704); -#14792=PROPERTY_DEFINITION_REPRESENTATION(#14790,#14791); -#14793=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11541,#11540); -#14794=PROPERTY_DEFINITION('','',#11555); -#14795=REPRESENTATION('',(#14740),#13704); -#14796=PROPERTY_DEFINITION_REPRESENTATION(#14794,#14795); -#14797=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11556,#11555); -#14798=PROPERTY_DEFINITION('','',#11618); -#14799=REPRESENTATION('',(#14740),#13704); -#14800=PROPERTY_DEFINITION_REPRESENTATION(#14798,#14799); -#14801=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11619,#11618); -#14802=PROPERTY_DEFINITION('','',#11634); -#14803=REPRESENTATION('',(#14740),#13704); -#14804=PROPERTY_DEFINITION_REPRESENTATION(#14802,#14803); -#14805=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11635,#11634); -#14806=PROPERTY_DEFINITION('','',#11653); -#14807=REPRESENTATION('',(#14740),#13704); -#14808=PROPERTY_DEFINITION_REPRESENTATION(#14806,#14807); -#14809=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11654,#11653); -#14810=PROPERTY_DEFINITION('','',#11669); -#14811=REPRESENTATION('',(#14740),#13704); -#14812=PROPERTY_DEFINITION_REPRESENTATION(#14810,#14811); -#14813=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11670,#11669); -#14814=PROPERTY_DEFINITION('','',#11707); -#14815=REPRESENTATION('',(#14740),#13704); -#14816=PROPERTY_DEFINITION_REPRESENTATION(#14814,#14815); -#14817=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11708,#11707); -#14818=PROPERTY_DEFINITION('','',#11791); -#14819=REPRESENTATION('',(#14740),#13704); -#14820=PROPERTY_DEFINITION_REPRESENTATION(#14818,#14819); -#14821=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11792,#11791); -#14822=PROPERTY_DEFINITION('','',#11808); -#14823=REPRESENTATION('',(#14740),#13704); -#14824=PROPERTY_DEFINITION_REPRESENTATION(#14822,#14823); -#14825=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11809,#11808); -#14826=PROPERTY_DEFINITION('','',#11824); -#14827=REPRESENTATION('',(#14740),#13704); -#14828=PROPERTY_DEFINITION_REPRESENTATION(#14826,#14827); -#14829=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11825,#11824); -#14830=PROPERTY_DEFINITION('','',#11843); -#14831=REPRESENTATION('',(#14740),#13704); -#14832=PROPERTY_DEFINITION_REPRESENTATION(#14830,#14831); -#14833=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11844,#11843); -#14834=PROPERTY_DEFINITION('','',#11894); -#14835=REPRESENTATION('',(#14740),#13704); -#14836=PROPERTY_DEFINITION_REPRESENTATION(#14834,#14835); -#14837=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11895,#11894); -#14838=PROPERTY_DEFINITION('','',#11936); -#14839=REPRESENTATION('',(#14740),#13704); -#14840=PROPERTY_DEFINITION_REPRESENTATION(#14838,#14839); -#14841=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11937,#11936); -#14842=PROPERTY_DEFINITION('','',#11953); -#14843=REPRESENTATION('',(#14740),#13704); -#14844=PROPERTY_DEFINITION_REPRESENTATION(#14842,#14843); -#14845=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11954,#11953); -#14846=PROPERTY_DEFINITION('','',#11997); -#14847=REPRESENTATION('',(#14740),#13704); -#14848=PROPERTY_DEFINITION_REPRESENTATION(#14846,#14847); -#14849=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11998,#11997); -#14850=PROPERTY_DEFINITION('','',#12046); -#14851=REPRESENTATION('',(#14740),#13704); -#14852=PROPERTY_DEFINITION_REPRESENTATION(#14850,#14851); -#14853=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12047,#12046); -#14854=PROPERTY_DEFINITION('','',#12064); -#14855=REPRESENTATION('',(#14740),#13704); -#14856=PROPERTY_DEFINITION_REPRESENTATION(#14854,#14855); -#14857=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12065,#12064); -#14858=PROPERTY_DEFINITION('','',#12103); -#14859=REPRESENTATION('',(#14740),#13704); -#14860=PROPERTY_DEFINITION_REPRESENTATION(#14858,#14859); -#14861=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12104,#12103); -#14862=PROPERTY_DEFINITION('','',#12152); -#14863=REPRESENTATION('',(#14740),#13704); -#14864=PROPERTY_DEFINITION_REPRESENTATION(#14862,#14863); -#14865=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12153,#12152); -#14866=PROPERTY_DEFINITION('','',#12168); -#14867=REPRESENTATION('',(#14740),#13704); -#14868=PROPERTY_DEFINITION_REPRESENTATION(#14866,#14867); -#14869=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12169,#12168); -#14870=PROPERTY_DEFINITION('','',#12186); -#14871=REPRESENTATION('',(#14740),#13704); -#14872=PROPERTY_DEFINITION_REPRESENTATION(#14870,#14871); -#14873=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12187,#12186); -#14874=PROPERTY_DEFINITION('','',#12218); -#14875=REPRESENTATION('',(#14740),#13704); -#14876=PROPERTY_DEFINITION_REPRESENTATION(#14874,#14875); -#14877=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12219,#12218); -#14878=PROPERTY_DEFINITION('','',#12256); -#14879=REPRESENTATION('',(#14740),#13704); -#14880=PROPERTY_DEFINITION_REPRESENTATION(#14878,#14879); -#14881=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12257,#12256); -#14882=PROPERTY_DEFINITION('','',#12286); -#14883=REPRESENTATION('',(#14740),#13704); -#14884=PROPERTY_DEFINITION_REPRESENTATION(#14882,#14883); -#14885=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12287,#12286); -#14886=PROPERTY_DEFINITION('','',#12320); -#14887=REPRESENTATION('',(#14740),#13704); -#14888=PROPERTY_DEFINITION_REPRESENTATION(#14886,#14887); -#14889=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12321,#12320); -#14890=PROPERTY_DEFINITION('','',#12403); -#14891=REPRESENTATION('',(#14740),#13704); -#14892=PROPERTY_DEFINITION_REPRESENTATION(#14890,#14891); -#14893=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12404,#12403); -#14894=PROPERTY_DEFINITION('','',#12500); -#14895=REPRESENTATION('',(#14740),#13704); -#14896=PROPERTY_DEFINITION_REPRESENTATION(#14894,#14895); -#14897=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12501,#12500); -#14898=PROPERTY_DEFINITION('','',#12561); -#14899=REPRESENTATION('',(#14740),#13704); -#14900=PROPERTY_DEFINITION_REPRESENTATION(#14898,#14899); -#14901=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12562,#12561); -#14902=PROPERTY_DEFINITION('','',#12581); -#14903=REPRESENTATION('',(#14740),#13704); -#14904=PROPERTY_DEFINITION_REPRESENTATION(#14902,#14903); -#14905=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12582,#12581); -#14906=PROPERTY_DEFINITION('','',#12614); -#14907=REPRESENTATION('',(#14740),#13704); -#14908=PROPERTY_DEFINITION_REPRESENTATION(#14906,#14907); -#14909=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12615,#12614); -#14910=PROPERTY_DEFINITION('','',#12669); -#14911=REPRESENTATION('',(#14740),#13704); -#14912=PROPERTY_DEFINITION_REPRESENTATION(#14910,#14911); -#14913=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12670,#12669); -#14914=PROPERTY_DEFINITION('','',#12687); -#14915=REPRESENTATION('',(#14740),#13704); -#14916=PROPERTY_DEFINITION_REPRESENTATION(#14914,#14915); -#14917=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12688,#12687); -#14918=PROPERTY_DEFINITION('','',#12704); -#14919=REPRESENTATION('',(#14740),#13704); -#14920=PROPERTY_DEFINITION_REPRESENTATION(#14918,#14919); -#14921=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12705,#12704); -#14922=PROPERTY_DEFINITION('','',#12735); -#14923=REPRESENTATION('',(#14740),#13704); -#14924=PROPERTY_DEFINITION_REPRESENTATION(#14922,#14923); -#14925=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12736,#12735); -#14926=PROPERTY_DEFINITION('','',#12830); -#14927=REPRESENTATION('',(#14740),#13704); -#14928=PROPERTY_DEFINITION_REPRESENTATION(#14926,#14927); -#14929=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12831,#12830); -#14930=PROPERTY_DEFINITION('','',#12847); -#14931=REPRESENTATION('',(#14740),#13704); -#14932=PROPERTY_DEFINITION_REPRESENTATION(#14930,#14931); -#14933=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#12848,#12847); -#14934=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4199); -#14935=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4242); -#14936=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4289); -#14937=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4330); -#14938=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4371); -#14939=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4406); -#14940=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4441); -#14941=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4467); -#14942=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4535); -#14943=DESCRIPTION_ATTRIBUTE('part feature template shape model',#5364); -#14944=DESCRIPTION_ATTRIBUTE('part feature template shape model',#5403); -#14945=DESCRIPTION_ATTRIBUTE('part feature template shape model',#5442); -#14946=DESCRIPTION_ATTRIBUTE('part feature template shape model',#5484); -#14947=DESCRIPTION_ATTRIBUTE('part feature template shape model',#5519); -#14948=DESCRIPTION_ATTRIBUTE('part feature template shape model',#5548); -#14949=DESCRIPTION_ATTRIBUTE('part feature template shape model',#5680); -#14950=DESCRIPTION_ATTRIBUTE('part feature template shape model',#5805); -#14951=DESCRIPTION_ATTRIBUTE('part feature template shape model',#5840); -#14952=DESCRIPTION_ATTRIBUTE('part feature template shape model',#5883); -#14953=ID_ATTRIBUTE('uvlnfsm',#79); -#14954=DESCRIPTION_ATTRIBUTE('pupksm',#79); -#14955=PROPERTY_DEFINITION('',$,#78); -#14956=PROPERTY_DEFINITION_REPRESENTATION(#14955,#79); -#14957=REPRESENTATION_RELATIONSHIP('model shape',$,#41,#79); -#14958=PROPERTY_DEFINITION_REPRESENTATION(#14960,#79); -#14959=KEEPOUT_DESIGN_OBJECT_CATEGORY('','stratum feature category'); -#14960=PROPERTY_DEFINITION('',$,#14959); -#14961=SHAPE_DEFINITION_REPRESENTATION(#39,#79); -#14962=REPRESENTATION('shape material condition',(#14964),#13704); -#14963=REPRESENTATION_RELATIONSHIP('',$,#79,#14962); -#14964=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#14965=REPRESENTATION('predefined keepout shape purpose',(#14967),#13704); -#14966=REPRESENTATION_RELATIONSHIP('',$,#79,#14965); -#14967=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#14968=REPRESENTATION('shape environment',(#14970),#13704); -#14969=REPRESENTATION_RELATIONSHIP('',$,#79,#14968); -#14970=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#14971=REPRESENTATION('shape extent',(#14973),#13704); -#14972=REPRESENTATION_RELATIONSHIP('',$,#79,#14971); -#14973=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#14974=REPRESENTATION('shape approximation level',(#14976),#13704); -#14975=REPRESENTATION_RELATIONSHIP('',$,#79,#14974); -#14976=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#14977=REPRESENTATION('shape location',(#14979),#13704); -#14978=REPRESENTATION_RELATIONSHIP('',$,#79,#14977); -#14979=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#14980=REPRESENTATION('component application',(#14982),#13704); -#14981=REPRESENTATION_RELATIONSHIP('',$,#79,#14980); -#14982=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#14983=ID_ATTRIBUTE('uvlnfsm',#2354); -#14984=DESCRIPTION_ATTRIBUTE('pupksm',#2354); -#14985=PROPERTY_DEFINITION('',$,#2353); -#14986=PROPERTY_DEFINITION_REPRESENTATION(#14985,#2354); -#14987=REPRESENTATION_RELATIONSHIP('model shape',$,#25,#2354); -#14988=PROPERTY_DEFINITION_REPRESENTATION(#14960,#2354); -#14989=SHAPE_DEFINITION_REPRESENTATION(#15,#2354); -#14990=REPRESENTATION('shape material condition',(#14992),#13704); -#14991=REPRESENTATION_RELATIONSHIP('',$,#2354,#14990); -#14992=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#14993=REPRESENTATION('predefined keepout shape purpose',(#14995),#13704); -#14994=REPRESENTATION_RELATIONSHIP('',$,#2354,#14993); -#14995=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#14996=REPRESENTATION('shape environment',(#14998),#13704); -#14997=REPRESENTATION_RELATIONSHIP('',$,#2354,#14996); -#14998=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#14999=REPRESENTATION('shape extent',(#15001),#13704); -#15000=REPRESENTATION_RELATIONSHIP('',$,#2354,#14999); -#15001=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#15002=REPRESENTATION('shape approximation level',(#15004),#13704); -#15003=REPRESENTATION_RELATIONSHIP('',$,#2354,#15002); -#15004=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15005=REPRESENTATION('shape location',(#15007),#13704); -#15006=REPRESENTATION_RELATIONSHIP('',$,#2354,#15005); -#15007=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15008=REPRESENTATION('component application',(#15010),#13704); -#15009=REPRESENTATION_RELATIONSHIP('',$,#2354,#15008); -#15010=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#15011=DESCRIPTION_ATTRIBUTE('pupsm',#97); -#15012=SHAPE_DEFINITION_REPRESENTATION(#95,#97); -#15013=REPRESENTATION('shape material condition',(#15015),#13704); -#15014=REPRESENTATION_RELATIONSHIP('',$,#97,#15013); -#15015=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15016=REPRESENTATION('shape environment',(#15018),#13704); -#15017=REPRESENTATION_RELATIONSHIP('',$,#97,#15016); -#15018=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15019=REPRESENTATION('shape extent',(#15021),#13704); -#15020=REPRESENTATION_RELATIONSHIP('',$,#97,#15019); -#15021=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15022=REPRESENTATION('shape approximation level',(#15024),#13704); -#15023=REPRESENTATION_RELATIONSHIP('',$,#97,#15022); -#15024=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15025=REPRESENTATION('mass property quality',(#15027),#13704); -#15026=REPRESENTATION_RELATIONSHIP('',$,#97,#15025); -#15027=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15028=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#97,#103); -#15029=REPRESENTATION('shape location',(#15031),#13704); -#15030=REPRESENTATION_RELATIONSHIP('',$,#97,#15029); -#15031=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15032=REPRESENTATION('predefined shape purpose',(#15034),#13704); -#15033=REPRESENTATION_RELATIONSHIP('',$,#97,#15032); -#15034=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15035=DESCRIPTION_ATTRIBUTE('pupsm',#129); -#15036=SHAPE_DEFINITION_REPRESENTATION(#127,#129); -#15037=REPRESENTATION('shape material condition',(#15039),#13704); -#15038=REPRESENTATION_RELATIONSHIP('',$,#129,#15037); -#15039=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15040=REPRESENTATION('shape environment',(#15042),#13704); -#15041=REPRESENTATION_RELATIONSHIP('',$,#129,#15040); -#15042=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15043=REPRESENTATION('shape extent',(#15045),#13704); -#15044=REPRESENTATION_RELATIONSHIP('',$,#129,#15043); -#15045=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15046=REPRESENTATION('shape approximation level',(#15048),#13704); -#15047=REPRESENTATION_RELATIONSHIP('',$,#129,#15046); -#15048=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15049=REPRESENTATION('mass property quality',(#15051),#13704); -#15050=REPRESENTATION_RELATIONSHIP('',$,#129,#15049); -#15051=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15052=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#129,#132); -#15053=REPRESENTATION('shape location',(#15055),#13704); -#15054=REPRESENTATION_RELATIONSHIP('',$,#129,#15053); -#15055=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15056=REPRESENTATION('predefined shape purpose',(#15058),#13704); -#15057=REPRESENTATION_RELATIONSHIP('',$,#129,#15056); -#15058=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15059=DESCRIPTION_ATTRIBUTE('pupsm',#153); -#15060=SHAPE_DEFINITION_REPRESENTATION(#151,#153); -#15061=REPRESENTATION('shape material condition',(#15063),#13704); -#15062=REPRESENTATION_RELATIONSHIP('',$,#153,#15061); -#15063=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15064=REPRESENTATION('shape environment',(#15066),#13704); -#15065=REPRESENTATION_RELATIONSHIP('',$,#153,#15064); -#15066=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15067=REPRESENTATION('shape extent',(#15069),#13704); -#15068=REPRESENTATION_RELATIONSHIP('',$,#153,#15067); -#15069=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15070=REPRESENTATION('shape approximation level',(#15072),#13704); -#15071=REPRESENTATION_RELATIONSHIP('',$,#153,#15070); -#15072=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15073=REPRESENTATION('mass property quality',(#15075),#13704); -#15074=REPRESENTATION_RELATIONSHIP('',$,#153,#15073); -#15075=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15076=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#153,#156); -#15077=REPRESENTATION('shape location',(#15079),#13704); -#15078=REPRESENTATION_RELATIONSHIP('',$,#153,#15077); -#15079=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15080=REPRESENTATION('predefined shape purpose',(#15082),#13704); -#15081=REPRESENTATION_RELATIONSHIP('',$,#153,#15080); -#15082=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15083=DESCRIPTION_ATTRIBUTE('pupsm',#177); -#15084=SHAPE_DEFINITION_REPRESENTATION(#175,#177); -#15085=REPRESENTATION('shape material condition',(#15087),#13704); -#15086=REPRESENTATION_RELATIONSHIP('',$,#177,#15085); -#15087=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15088=REPRESENTATION('shape environment',(#15090),#13704); -#15089=REPRESENTATION_RELATIONSHIP('',$,#177,#15088); -#15090=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15091=REPRESENTATION('shape extent',(#15093),#13704); -#15092=REPRESENTATION_RELATIONSHIP('',$,#177,#15091); -#15093=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15094=REPRESENTATION('shape approximation level',(#15096),#13704); -#15095=REPRESENTATION_RELATIONSHIP('',$,#177,#15094); -#15096=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15097=REPRESENTATION('mass property quality',(#15099),#13704); -#15098=REPRESENTATION_RELATIONSHIP('',$,#177,#15097); -#15099=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15100=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#177,#180); -#15101=REPRESENTATION('shape location',(#15103),#13704); -#15102=REPRESENTATION_RELATIONSHIP('',$,#177,#15101); -#15103=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15104=REPRESENTATION('predefined shape purpose',(#15106),#13704); -#15105=REPRESENTATION_RELATIONSHIP('',$,#177,#15104); -#15106=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15107=DESCRIPTION_ATTRIBUTE('pupsm',#201); -#15108=SHAPE_DEFINITION_REPRESENTATION(#199,#201); -#15109=REPRESENTATION('shape material condition',(#15111),#13704); -#15110=REPRESENTATION_RELATIONSHIP('',$,#201,#15109); -#15111=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15112=REPRESENTATION('shape environment',(#15114),#13704); -#15113=REPRESENTATION_RELATIONSHIP('',$,#201,#15112); -#15114=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15115=REPRESENTATION('shape extent',(#15117),#13704); -#15116=REPRESENTATION_RELATIONSHIP('',$,#201,#15115); -#15117=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15118=REPRESENTATION('shape approximation level',(#15120),#13704); -#15119=REPRESENTATION_RELATIONSHIP('',$,#201,#15118); -#15120=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15121=REPRESENTATION('mass property quality',(#15123),#13704); -#15122=REPRESENTATION_RELATIONSHIP('',$,#201,#15121); -#15123=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15124=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#201,#204); -#15125=REPRESENTATION('shape location',(#15127),#13704); -#15126=REPRESENTATION_RELATIONSHIP('',$,#201,#15125); -#15127=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15128=REPRESENTATION('predefined shape purpose',(#15130),#13704); -#15129=REPRESENTATION_RELATIONSHIP('',$,#201,#15128); -#15130=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15131=DESCRIPTION_ATTRIBUTE('pupsm',#225); -#15132=SHAPE_DEFINITION_REPRESENTATION(#223,#225); -#15133=REPRESENTATION('shape material condition',(#15135),#13704); -#15134=REPRESENTATION_RELATIONSHIP('',$,#225,#15133); -#15135=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15136=REPRESENTATION('shape environment',(#15138),#13704); -#15137=REPRESENTATION_RELATIONSHIP('',$,#225,#15136); -#15138=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15139=REPRESENTATION('shape extent',(#15141),#13704); -#15140=REPRESENTATION_RELATIONSHIP('',$,#225,#15139); -#15141=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15142=REPRESENTATION('shape approximation level',(#15144),#13704); -#15143=REPRESENTATION_RELATIONSHIP('',$,#225,#15142); -#15144=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15145=REPRESENTATION('mass property quality',(#15147),#13704); -#15146=REPRESENTATION_RELATIONSHIP('',$,#225,#15145); -#15147=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15148=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#225,#228); -#15149=REPRESENTATION('shape location',(#15151),#13704); -#15150=REPRESENTATION_RELATIONSHIP('',$,#225,#15149); -#15151=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15152=REPRESENTATION('predefined shape purpose',(#15154),#13704); -#15153=REPRESENTATION_RELATIONSHIP('',$,#225,#15152); -#15154=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15155=DESCRIPTION_ATTRIBUTE('pupsm',#249); -#15156=SHAPE_DEFINITION_REPRESENTATION(#247,#249); -#15157=REPRESENTATION('shape material condition',(#15159),#13704); -#15158=REPRESENTATION_RELATIONSHIP('',$,#249,#15157); -#15159=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15160=REPRESENTATION('shape environment',(#15162),#13704); -#15161=REPRESENTATION_RELATIONSHIP('',$,#249,#15160); -#15162=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15163=REPRESENTATION('shape extent',(#15165),#13704); -#15164=REPRESENTATION_RELATIONSHIP('',$,#249,#15163); -#15165=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15166=REPRESENTATION('shape approximation level',(#15168),#13704); -#15167=REPRESENTATION_RELATIONSHIP('',$,#249,#15166); -#15168=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15169=REPRESENTATION('mass property quality',(#15171),#13704); -#15170=REPRESENTATION_RELATIONSHIP('',$,#249,#15169); -#15171=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15172=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#249,#252); -#15173=REPRESENTATION('shape location',(#15175),#13704); -#15174=REPRESENTATION_RELATIONSHIP('',$,#249,#15173); -#15175=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15176=REPRESENTATION('predefined shape purpose',(#15178),#13704); -#15177=REPRESENTATION_RELATIONSHIP('',$,#249,#15176); -#15178=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15179=DESCRIPTION_ATTRIBUTE('pupsm',#273); -#15180=SHAPE_DEFINITION_REPRESENTATION(#271,#273); -#15181=REPRESENTATION('shape material condition',(#15183),#13704); -#15182=REPRESENTATION_RELATIONSHIP('',$,#273,#15181); -#15183=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15184=REPRESENTATION('shape environment',(#15186),#13704); -#15185=REPRESENTATION_RELATIONSHIP('',$,#273,#15184); -#15186=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15187=REPRESENTATION('shape extent',(#15189),#13704); -#15188=REPRESENTATION_RELATIONSHIP('',$,#273,#15187); -#15189=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15190=REPRESENTATION('shape approximation level',(#15192),#13704); -#15191=REPRESENTATION_RELATIONSHIP('',$,#273,#15190); -#15192=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15193=REPRESENTATION('mass property quality',(#15195),#13704); -#15194=REPRESENTATION_RELATIONSHIP('',$,#273,#15193); -#15195=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15196=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#273,#276); -#15197=REPRESENTATION('shape location',(#15199),#13704); -#15198=REPRESENTATION_RELATIONSHIP('',$,#273,#15197); -#15199=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15200=REPRESENTATION('predefined shape purpose',(#15202),#13704); -#15201=REPRESENTATION_RELATIONSHIP('',$,#273,#15200); -#15202=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15203=DESCRIPTION_ATTRIBUTE('pupsm',#323); -#15204=SHAPE_DEFINITION_REPRESENTATION(#321,#323); -#15205=REPRESENTATION('shape material condition',(#15207),#13704); -#15206=REPRESENTATION_RELATIONSHIP('',$,#323,#15205); -#15207=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15208=REPRESENTATION('shape environment',(#15210),#13704); -#15209=REPRESENTATION_RELATIONSHIP('',$,#323,#15208); -#15210=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15211=REPRESENTATION('shape extent',(#15213),#13704); -#15212=REPRESENTATION_RELATIONSHIP('',$,#323,#15211); -#15213=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15214=REPRESENTATION('shape approximation level',(#15216),#13704); -#15215=REPRESENTATION_RELATIONSHIP('',$,#323,#15214); -#15216=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15217=REPRESENTATION('mass property quality',(#15219),#13704); -#15218=REPRESENTATION_RELATIONSHIP('',$,#323,#15217); -#15219=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15220=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#323,#326); -#15221=REPRESENTATION('shape location',(#15223),#13704); -#15222=REPRESENTATION_RELATIONSHIP('',$,#323,#15221); -#15223=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15224=REPRESENTATION('predefined shape purpose',(#15226),#13704); -#15225=REPRESENTATION_RELATIONSHIP('',$,#323,#15224); -#15226=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15227=DESCRIPTION_ATTRIBUTE('pupsm',#383); -#15228=SHAPE_DEFINITION_REPRESENTATION(#381,#383); -#15229=REPRESENTATION('shape material condition',(#15231),#13704); -#15230=REPRESENTATION_RELATIONSHIP('',$,#383,#15229); -#15231=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15232=REPRESENTATION('shape environment',(#15234),#13704); -#15233=REPRESENTATION_RELATIONSHIP('',$,#383,#15232); -#15234=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15235=REPRESENTATION('shape extent',(#15237),#13704); -#15236=REPRESENTATION_RELATIONSHIP('',$,#383,#15235); -#15237=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15238=REPRESENTATION('shape approximation level',(#15240),#13704); -#15239=REPRESENTATION_RELATIONSHIP('',$,#383,#15238); -#15240=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15241=REPRESENTATION('mass property quality',(#15243),#13704); -#15242=REPRESENTATION_RELATIONSHIP('',$,#383,#15241); -#15243=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15244=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#383,#386); -#15245=REPRESENTATION('shape location',(#15247),#13704); -#15246=REPRESENTATION_RELATIONSHIP('',$,#383,#15245); -#15247=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15248=REPRESENTATION('predefined shape purpose',(#15250),#13704); -#15249=REPRESENTATION_RELATIONSHIP('',$,#383,#15248); -#15250=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15251=DESCRIPTION_ATTRIBUTE('pupsm',#429); -#15252=SHAPE_DEFINITION_REPRESENTATION(#427,#429); -#15253=REPRESENTATION('shape material condition',(#15255),#13704); -#15254=REPRESENTATION_RELATIONSHIP('',$,#429,#15253); -#15255=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15256=REPRESENTATION('shape environment',(#15258),#13704); -#15257=REPRESENTATION_RELATIONSHIP('',$,#429,#15256); -#15258=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15259=REPRESENTATION('shape extent',(#15261),#13704); -#15260=REPRESENTATION_RELATIONSHIP('',$,#429,#15259); -#15261=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15262=REPRESENTATION('shape approximation level',(#15264),#13704); -#15263=REPRESENTATION_RELATIONSHIP('',$,#429,#15262); -#15264=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15265=REPRESENTATION('mass property quality',(#15267),#13704); -#15266=REPRESENTATION_RELATIONSHIP('',$,#429,#15265); -#15267=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15268=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#429,#432); -#15269=REPRESENTATION('shape location',(#15271),#13704); -#15270=REPRESENTATION_RELATIONSHIP('',$,#429,#15269); -#15271=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15272=REPRESENTATION('predefined shape purpose',(#15274),#13704); -#15273=REPRESENTATION_RELATIONSHIP('',$,#429,#15272); -#15274=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15275=DESCRIPTION_ATTRIBUTE('pupsm',#458); -#15276=SHAPE_DEFINITION_REPRESENTATION(#456,#458); -#15277=REPRESENTATION('shape material condition',(#15279),#13704); -#15278=REPRESENTATION_RELATIONSHIP('',$,#458,#15277); -#15279=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15280=REPRESENTATION('shape environment',(#15282),#13704); -#15281=REPRESENTATION_RELATIONSHIP('',$,#458,#15280); -#15282=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15283=REPRESENTATION('shape extent',(#15285),#13704); -#15284=REPRESENTATION_RELATIONSHIP('',$,#458,#15283); -#15285=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15286=REPRESENTATION('shape approximation level',(#15288),#13704); -#15287=REPRESENTATION_RELATIONSHIP('',$,#458,#15286); -#15288=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15289=REPRESENTATION('mass property quality',(#15291),#13704); -#15290=REPRESENTATION_RELATIONSHIP('',$,#458,#15289); -#15291=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15292=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#458,#461); -#15293=REPRESENTATION('shape location',(#15295),#13704); -#15294=REPRESENTATION_RELATIONSHIP('',$,#458,#15293); -#15295=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15296=REPRESENTATION('predefined shape purpose',(#15298),#13704); -#15297=REPRESENTATION_RELATIONSHIP('',$,#458,#15296); -#15298=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15299=DESCRIPTION_ATTRIBUTE('pupsm',#487); -#15300=SHAPE_DEFINITION_REPRESENTATION(#485,#487); -#15301=REPRESENTATION('shape material condition',(#15303),#13704); -#15302=REPRESENTATION_RELATIONSHIP('',$,#487,#15301); -#15303=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15304=REPRESENTATION('shape environment',(#15306),#13704); -#15305=REPRESENTATION_RELATIONSHIP('',$,#487,#15304); -#15306=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15307=REPRESENTATION('shape extent',(#15309),#13704); -#15308=REPRESENTATION_RELATIONSHIP('',$,#487,#15307); -#15309=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15310=REPRESENTATION('shape approximation level',(#15312),#13704); -#15311=REPRESENTATION_RELATIONSHIP('',$,#487,#15310); -#15312=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15313=REPRESENTATION('mass property quality',(#15315),#13704); -#15314=REPRESENTATION_RELATIONSHIP('',$,#487,#15313); -#15315=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15316=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#487,#490); -#15317=REPRESENTATION('shape location',(#15319),#13704); -#15318=REPRESENTATION_RELATIONSHIP('',$,#487,#15317); -#15319=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15320=REPRESENTATION('predefined shape purpose',(#15322),#13704); -#15321=REPRESENTATION_RELATIONSHIP('',$,#487,#15320); -#15322=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15323=DESCRIPTION_ATTRIBUTE('pupsm',#511); -#15324=SHAPE_DEFINITION_REPRESENTATION(#509,#511); -#15325=REPRESENTATION('shape material condition',(#15327),#13704); -#15326=REPRESENTATION_RELATIONSHIP('',$,#511,#15325); -#15327=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15328=REPRESENTATION('shape environment',(#15330),#13704); -#15329=REPRESENTATION_RELATIONSHIP('',$,#511,#15328); -#15330=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15331=REPRESENTATION('shape extent',(#15333),#13704); -#15332=REPRESENTATION_RELATIONSHIP('',$,#511,#15331); -#15333=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15334=REPRESENTATION('shape approximation level',(#15336),#13704); -#15335=REPRESENTATION_RELATIONSHIP('',$,#511,#15334); -#15336=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15337=REPRESENTATION('mass property quality',(#15339),#13704); -#15338=REPRESENTATION_RELATIONSHIP('',$,#511,#15337); -#15339=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15340=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#511,#514); -#15341=REPRESENTATION('shape location',(#15343),#13704); -#15342=REPRESENTATION_RELATIONSHIP('',$,#511,#15341); -#15343=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15344=REPRESENTATION('predefined shape purpose',(#15346),#13704); -#15345=REPRESENTATION_RELATIONSHIP('',$,#511,#15344); -#15346=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15347=DESCRIPTION_ATTRIBUTE('pupsm',#535); -#15348=SHAPE_DEFINITION_REPRESENTATION(#533,#535); -#15349=REPRESENTATION('shape material condition',(#15351),#13704); -#15350=REPRESENTATION_RELATIONSHIP('',$,#535,#15349); -#15351=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15352=REPRESENTATION('shape environment',(#15354),#13704); -#15353=REPRESENTATION_RELATIONSHIP('',$,#535,#15352); -#15354=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15355=REPRESENTATION('shape extent',(#15357),#13704); -#15356=REPRESENTATION_RELATIONSHIP('',$,#535,#15355); -#15357=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15358=REPRESENTATION('shape approximation level',(#15360),#13704); -#15359=REPRESENTATION_RELATIONSHIP('',$,#535,#15358); -#15360=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15361=REPRESENTATION('mass property quality',(#15363),#13704); -#15362=REPRESENTATION_RELATIONSHIP('',$,#535,#15361); -#15363=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15364=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#535,#538); -#15365=REPRESENTATION('shape location',(#15367),#13704); -#15366=REPRESENTATION_RELATIONSHIP('',$,#535,#15365); -#15367=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15368=REPRESENTATION('predefined shape purpose',(#15370),#13704); -#15369=REPRESENTATION_RELATIONSHIP('',$,#535,#15368); -#15370=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15371=DESCRIPTION_ATTRIBUTE('pupsm',#559); -#15372=SHAPE_DEFINITION_REPRESENTATION(#557,#559); -#15373=REPRESENTATION('shape material condition',(#15375),#13704); -#15374=REPRESENTATION_RELATIONSHIP('',$,#559,#15373); -#15375=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15376=REPRESENTATION('shape environment',(#15378),#13704); -#15377=REPRESENTATION_RELATIONSHIP('',$,#559,#15376); -#15378=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15379=REPRESENTATION('shape extent',(#15381),#13704); -#15380=REPRESENTATION_RELATIONSHIP('',$,#559,#15379); -#15381=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15382=REPRESENTATION('shape approximation level',(#15384),#13704); -#15383=REPRESENTATION_RELATIONSHIP('',$,#559,#15382); -#15384=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15385=REPRESENTATION('mass property quality',(#15387),#13704); -#15386=REPRESENTATION_RELATIONSHIP('',$,#559,#15385); -#15387=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15388=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#559,#562); -#15389=REPRESENTATION('shape location',(#15391),#13704); -#15390=REPRESENTATION_RELATIONSHIP('',$,#559,#15389); -#15391=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15392=REPRESENTATION('predefined shape purpose',(#15394),#13704); -#15393=REPRESENTATION_RELATIONSHIP('',$,#559,#15392); -#15394=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15395=DESCRIPTION_ATTRIBUTE('pupsm',#583); -#15396=SHAPE_DEFINITION_REPRESENTATION(#581,#583); -#15397=REPRESENTATION('shape material condition',(#15399),#13704); -#15398=REPRESENTATION_RELATIONSHIP('',$,#583,#15397); -#15399=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15400=REPRESENTATION('shape environment',(#15402),#13704); -#15401=REPRESENTATION_RELATIONSHIP('',$,#583,#15400); -#15402=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15403=REPRESENTATION('shape extent',(#15405),#13704); -#15404=REPRESENTATION_RELATIONSHIP('',$,#583,#15403); -#15405=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15406=REPRESENTATION('shape approximation level',(#15408),#13704); -#15407=REPRESENTATION_RELATIONSHIP('',$,#583,#15406); -#15408=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15409=REPRESENTATION('mass property quality',(#15411),#13704); -#15410=REPRESENTATION_RELATIONSHIP('',$,#583,#15409); -#15411=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15412=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#583,#586); -#15413=REPRESENTATION('shape location',(#15415),#13704); -#15414=REPRESENTATION_RELATIONSHIP('',$,#583,#15413); -#15415=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15416=REPRESENTATION('predefined shape purpose',(#15418),#13704); -#15417=REPRESENTATION_RELATIONSHIP('',$,#583,#15416); -#15418=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15419=DESCRIPTION_ATTRIBUTE('pupsm',#607); -#15420=SHAPE_DEFINITION_REPRESENTATION(#605,#607); -#15421=REPRESENTATION('shape material condition',(#15423),#13704); -#15422=REPRESENTATION_RELATIONSHIP('',$,#607,#15421); -#15423=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15424=REPRESENTATION('shape environment',(#15426),#13704); -#15425=REPRESENTATION_RELATIONSHIP('',$,#607,#15424); -#15426=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15427=REPRESENTATION('shape extent',(#15429),#13704); -#15428=REPRESENTATION_RELATIONSHIP('',$,#607,#15427); -#15429=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15430=REPRESENTATION('shape approximation level',(#15432),#13704); -#15431=REPRESENTATION_RELATIONSHIP('',$,#607,#15430); -#15432=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15433=REPRESENTATION('mass property quality',(#15435),#13704); -#15434=REPRESENTATION_RELATIONSHIP('',$,#607,#15433); -#15435=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15436=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#607,#610); -#15437=REPRESENTATION('shape location',(#15439),#13704); -#15438=REPRESENTATION_RELATIONSHIP('',$,#607,#15437); -#15439=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15440=REPRESENTATION('predefined shape purpose',(#15442),#13704); -#15441=REPRESENTATION_RELATIONSHIP('',$,#607,#15440); -#15442=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15443=DESCRIPTION_ATTRIBUTE('pupsm',#631); -#15444=SHAPE_DEFINITION_REPRESENTATION(#629,#631); -#15445=REPRESENTATION('shape material condition',(#15447),#13704); -#15446=REPRESENTATION_RELATIONSHIP('',$,#631,#15445); -#15447=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15448=REPRESENTATION('shape environment',(#15450),#13704); -#15449=REPRESENTATION_RELATIONSHIP('',$,#631,#15448); -#15450=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#15451=REPRESENTATION('shape extent',(#15453),#13704); -#15452=REPRESENTATION_RELATIONSHIP('',$,#631,#15451); -#15453=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#15454=REPRESENTATION('shape approximation level',(#15456),#13704); -#15455=REPRESENTATION_RELATIONSHIP('',$,#631,#15454); -#15456=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#15457=REPRESENTATION('mass property quality',(#15459),#13704); -#15458=REPRESENTATION_RELATIONSHIP('',$,#631,#15457); -#15459=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#15460=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#631,#634); -#15461=REPRESENTATION('shape location',(#15463),#13704); -#15462=REPRESENTATION_RELATIONSHIP('',$,#631,#15461); -#15463=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#15464=REPRESENTATION('predefined shape purpose',(#15466),#13704); -#15465=REPRESENTATION_RELATIONSHIP('',$,#631,#15464); -#15466=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#15467=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#10540)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#15468=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','3'); -#15469=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#15470=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#15471=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#15472=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#10540)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#15473=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','4'); -#15474=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#15475=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#15476=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#15477=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#10540)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#15478=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','5'); -#15479=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#15480=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#15481=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#15482=PROPERTY_DEFINITION('allowed component terminal extent',$,#2518); -#15483=PROPERTY_DEFINITION_REPRESENTATION(#15482,#2522); -#15484=PROPERTY_DEFINITION('plated passage','true',#2518); -#15485=REPRESENTATION('',(#2519),#13704); -#15486=PROPERTY_DEFINITION('as finished passage extent',$,#2518); -#15487=PROPERTY_DEFINITION_REPRESENTATION(#15486,#15485); -#15488=PROPERTY_DEFINITION('allowed component terminal extent',$,#2680); -#15489=PROPERTY_DEFINITION_REPRESENTATION(#15488,#2522); -#15490=PROPERTY_DEFINITION('plated passage','true',#2680); -#15491=REPRESENTATION('',(#2681),#13704); -#15492=PROPERTY_DEFINITION('as finished passage extent',$,#2680); -#15493=PROPERTY_DEFINITION_REPRESENTATION(#15492,#15491); -#15494=PROPERTY_DEFINITION('allowed component terminal extent',$,#2838); -#15495=PROPERTY_DEFINITION_REPRESENTATION(#15494,#2522); -#15496=PROPERTY_DEFINITION('plated passage','true',#2838); -#15497=REPRESENTATION('',(#2839),#13704); -#15498=PROPERTY_DEFINITION('as finished passage extent',$,#2838); -#15499=PROPERTY_DEFINITION_REPRESENTATION(#15498,#15497); -#15500=PROPERTY_DEFINITION('allowed component terminal extent',$,#2996); -#15501=PROPERTY_DEFINITION_REPRESENTATION(#15500,#2522); -#15502=PROPERTY_DEFINITION('plated passage','true',#2996); -#15503=REPRESENTATION('',(#2997),#13704); -#15504=PROPERTY_DEFINITION('as finished passage extent',$,#2996); -#15505=PROPERTY_DEFINITION_REPRESENTATION(#15504,#15503); -#15506=PROPERTY_DEFINITION('allowed component terminal extent',$,#3462); -#15507=PROPERTY_DEFINITION_REPRESENTATION(#15506,#2522); -#15508=PROPERTY_DEFINITION('plated passage','true',#3462); -#15509=REPRESENTATION('',(#3463),#13704); -#15510=PROPERTY_DEFINITION('as finished passage extent',$,#3462); -#15511=PROPERTY_DEFINITION_REPRESENTATION(#15510,#15509); -#15512=PROPERTY_DEFINITION('allowed component terminal extent',$,#3620); -#15513=PROPERTY_DEFINITION_REPRESENTATION(#15512,#2522); -#15514=PROPERTY_DEFINITION('plated passage','true',#3620); -#15515=REPRESENTATION('',(#3621),#13704); -#15516=PROPERTY_DEFINITION('as finished passage extent',$,#3620); -#15517=PROPERTY_DEFINITION_REPRESENTATION(#15516,#15515); -#15518=PROPERTY_DEFINITION('allowed component terminal extent',$,#3932); -#15519=PROPERTY_DEFINITION_REPRESENTATION(#15518,#2522); -#15520=PROPERTY_DEFINITION('plated passage','true',#3932); -#15521=REPRESENTATION('',(#3933),#13704); -#15522=PROPERTY_DEFINITION('as finished passage extent',$,#3932); -#15523=PROPERTY_DEFINITION_REPRESENTATION(#15522,#15521); -#15525=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2602,#14339,#13319); -#15526=ID_ATTRIBUTE('1',#2602); -#15527=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2518,#2602); -#15529=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2615,#14339,#13319); -#15530=ID_ATTRIBUTE('1',#2615); -#15531=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2518,#2615); -#15533=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2628,#14339,#13319); -#15534=ID_ATTRIBUTE('1',#2628); -#15535=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2518,#2628); -#15537=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2760,#14339,#13319); -#15538=ID_ATTRIBUTE('1',#2760); -#15539=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2680,#2760); -#15541=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2773,#14339,#13319); -#15542=ID_ATTRIBUTE('1',#2773); -#15543=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2680,#2773); -#15545=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2786,#14339,#13319); -#15546=ID_ATTRIBUTE('1',#2786); -#15547=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2680,#2786); -#15549=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2918,#14339,#13319); -#15550=ID_ATTRIBUTE('1',#2918); -#15551=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2838,#2918); -#15553=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2931,#14339,#13319); -#15554=ID_ATTRIBUTE('1',#2931); -#15555=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2838,#2931); -#15557=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2944,#14339,#13319); -#15558=ID_ATTRIBUTE('1',#2944); -#15559=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2838,#2944); -#15561=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3076,#14339,#13319); -#15562=ID_ATTRIBUTE('1',#3076); -#15563=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3076); -#15565=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3089,#14339,#13319); -#15566=ID_ATTRIBUTE('1',#3089); -#15567=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3089); -#15569=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3102,#14339,#13319); -#15570=ID_ATTRIBUTE('1',#3102); -#15571=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3102); -#15573=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3230,#14339,#13319); -#15574=ID_ATTRIBUTE('1',#3230); -#15575=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3230); -#15577=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3243,#14339,#13319); -#15578=ID_ATTRIBUTE('1',#3243); -#15579=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3243); -#15581=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3256,#14339,#13319); -#15582=ID_ATTRIBUTE('1',#3256); -#15583=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3256); -#15585=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3384,#14339,#13319); -#15586=ID_ATTRIBUTE('1',#3384); -#15587=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3384); -#15589=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3397,#14339,#13319); -#15590=ID_ATTRIBUTE('1',#3397); -#15591=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3397); -#15593=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3410,#14339,#13319); -#15594=ID_ATTRIBUTE('1',#3410); -#15595=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2996,#3410); -#15597=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3542,#14339,#13319); -#15598=ID_ATTRIBUTE('1',#3542); -#15599=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3462,#3542); -#15601=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3555,#14339,#13319); -#15602=ID_ATTRIBUTE('1',#3555); -#15603=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3462,#3555); -#15605=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3568,#14339,#13319); -#15606=ID_ATTRIBUTE('1',#3568); -#15607=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3462,#3568); -#15609=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3700,#14339,#13319); -#15610=ID_ATTRIBUTE('1',#3700); -#15611=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3620,#3700); -#15613=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3713,#14339,#13319); -#15614=ID_ATTRIBUTE('1',#3713); -#15615=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3620,#3713); -#15617=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3726,#14339,#13319); -#15618=ID_ATTRIBUTE('1',#3726); -#15619=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3620,#3726); -#15621=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3854,#14339,#13319); -#15622=ID_ATTRIBUTE('1',#3854); -#15623=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3620,#3854); -#15625=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3867,#14339,#13319); -#15626=ID_ATTRIBUTE('1',#3867); -#15627=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3620,#3867); -#15629=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3880,#14339,#13319); -#15630=ID_ATTRIBUTE('1',#3880); -#15631=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3620,#3880); -#15633=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4012,#14339,#13319); -#15634=ID_ATTRIBUTE('1',#4012); -#15635=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3932,#4012); -#15637=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4025,#14339,#13319); -#15638=ID_ATTRIBUTE('1',#4025); -#15639=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3932,#4025); -#15641=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4038,#14339,#13319); -#15642=ID_ATTRIBUTE('1',#4038); -#15643=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3932,#4038); -#15645=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4158,#14339,#13319); -#15646=ID_ATTRIBUTE('1',#4158); -#15647=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#4093,#4158); -#15649=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4171,#14339,#13319); -#15650=ID_ATTRIBUTE('1',#4171); -#15651=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#4093,#4171); -#15652=PROPERTY_DEFINITION('plated passage','false',#349); -#15653=REPRESENTATION('',(#350),#13704); -#15654=PROPERTY_DEFINITION('as finished passage extent',$,#349); -#15655=PROPERTY_DEFINITION_REPRESENTATION(#15654,#15653); -#15656=PROPERTY_DEFINITION('plated passage','false',#408); -#15657=REPRESENTATION('',(#409),#13704); -#15658=PROPERTY_DEFINITION('as finished passage extent',$,#408); -#15659=PROPERTY_DEFINITION_REPRESENTATION(#15658,#15657); -#15660=PROPERTY_DEFINITION('plated passage','false',#1818); -#15661=REPRESENTATION('',(#1819),#13704); -#15662=PROPERTY_DEFINITION('as finished passage extent',$,#1818); -#15663=PROPERTY_DEFINITION_REPRESENTATION(#15662,#15661); -#15664=PROPERTY_DEFINITION('plated passage','false',#2366); -#15665=REPRESENTATION('',(#2367),#13704); -#15666=PROPERTY_DEFINITION('as finished passage extent',$,#2366); -#15667=PROPERTY_DEFINITION_REPRESENTATION(#15666,#15665); -#15668=PROPERTY_DEFINITION('plated passage','true',#4093); -#15669=REPRESENTATION('',(#4094),#13704); -#15670=PROPERTY_DEFINITION('as finished passage extent',$,#4093); -#15671=PROPERTY_DEFINITION_REPRESENTATION(#15670,#15669); -#15672=PROPERTY_DEFINITION('as finished deposition thickness',$,#4093); -#15673=PROPERTY_DEFINITION_REPRESENTATION(#15672,#4097); -#15674=PROPERTY_DEFINITION('',$,#10552); -#15675=PROPERTY_DEFINITION_REPRESENTATION(#15674,#15676); -#15676=SHAPE_REPRESENTATION('connection point location 2d',(#10553),#35); -#15677=SHAPE_ASPECT('',$,#7394,.U.); -#15678=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15677,#10552); -#15679=PROPERTY_DEFINITION('',$,#10567); -#15680=PROPERTY_DEFINITION_REPRESENTATION(#15679,#15681); -#15681=SHAPE_REPRESENTATION('connection point location 2d',(#10568),#35); -#15682=SHAPE_ASPECT('',$,#8671,.U.); -#15683=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15682,#10567); -#15684=PROPERTY_DEFINITION('',$,#10588); -#15685=PROPERTY_DEFINITION_REPRESENTATION(#15684,#15686); -#15686=SHAPE_REPRESENTATION('connection point location 2d',(#10589),#35); -#15687=SHAPE_ASPECT('',$,#7833,.U.); -#15688=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15687,#10588); -#15689=PROPERTY_DEFINITION('',$,#10591); -#15690=PROPERTY_DEFINITION_REPRESENTATION(#15689,#15691); -#15691=SHAPE_REPRESENTATION('connection point location 2d',(#10592),#35); -#15692=SHAPE_ASPECT('',$,#8956,.U.); -#15693=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15692,#10591); -#15694=PROPERTY_DEFINITION('',$,#10607); -#15695=PROPERTY_DEFINITION_REPRESENTATION(#15694,#15696); -#15696=SHAPE_REPRESENTATION('connection point location 2d',(#10608),#35); -#15697=SHAPE_ASPECT('',$,#7823,.U.); -#15698=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15697,#10607); -#15699=PROPERTY_DEFINITION('',$,#10610); -#15700=PROPERTY_DEFINITION_REPRESENTATION(#15699,#15701); -#15701=SHAPE_REPRESENTATION('connection point location 2d',(#10611),#35); -#15702=SHAPE_ASPECT('',$,#8961,.U.); -#15703=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15702,#10610); -#15704=PROPERTY_DEFINITION('',$,#10628); -#15705=PROPERTY_DEFINITION_REPRESENTATION(#15704,#15706); -#15706=SHAPE_REPRESENTATION('connection point location 2d',(#10629),#35); -#15707=SHAPE_ASPECT('',$,#8661,.U.); -#15708=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15707,#10628); -#15709=PROPERTY_DEFINITION('',$,#10641); -#15710=PROPERTY_DEFINITION_REPRESENTATION(#15709,#15711); -#15711=SHAPE_REPRESENTATION('connection point location 2d',(#10642),#35); -#15712=SHAPE_ASPECT('',$,#8601,.U.); -#15713=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15712,#10641); -#15714=PROPERTY_DEFINITION('',$,#10653); -#15715=PROPERTY_DEFINITION_REPRESENTATION(#15714,#15716); -#15716=SHAPE_REPRESENTATION('connection point location 2d',(#10654),#35); -#15717=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15712,#10653); -#15718=PROPERTY_DEFINITION('',$,#10656); -#15719=PROPERTY_DEFINITION_REPRESENTATION(#15718,#15720); -#15720=SHAPE_REPRESENTATION('connection point location 2d',(#10657),#35); -#15721=SHAPE_ASPECT('',$,#7935,.U.); -#15722=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15721,#10656); -#15723=PROPERTY_DEFINITION('',$,#10668); -#15724=PROPERTY_DEFINITION_REPRESENTATION(#15723,#15725); -#15725=SHAPE_REPRESENTATION('connection point location 2d',(#10669),#35); -#15726=SHAPE_ASPECT('',$,#10304,.U.); -#15727=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15726,#10668); -#15728=PROPERTY_DEFINITION('',$,#10671); -#15729=PROPERTY_DEFINITION_REPRESENTATION(#15728,#15730); -#15730=SHAPE_REPRESENTATION('connection point location 2d',(#10672),#35); -#15731=SHAPE_ASPECT('',$,#8451,.U.); -#15732=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15731,#10671); -#15733=PROPERTY_DEFINITION('',$,#10682); -#15734=PROPERTY_DEFINITION_REPRESENTATION(#15733,#15735); -#15735=SHAPE_REPRESENTATION('connection point location 2d',(#10683),#35); -#15736=SHAPE_ASPECT('',$,#7763,.U.); -#15737=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15736,#10682); -#15738=PROPERTY_DEFINITION('',$,#10704); -#15739=PROPERTY_DEFINITION_REPRESENTATION(#15738,#15740); -#15740=SHAPE_REPRESENTATION('connection point location 2d',(#10705),#35); -#15741=SHAPE_ASPECT('',$,#7067,.U.); -#15742=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15741,#10704); -#15743=PROPERTY_DEFINITION('',$,#10720); -#15744=PROPERTY_DEFINITION_REPRESENTATION(#15743,#15745); -#15745=SHAPE_REPRESENTATION('connection point location 2d',(#10721),#35); -#15746=SHAPE_ASPECT('',$,#9116,.U.); -#15747=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15746,#10720); -#15748=PROPERTY_DEFINITION('',$,#10723); -#15749=PROPERTY_DEFINITION_REPRESENTATION(#15748,#15750); -#15750=SHAPE_REPRESENTATION('connection point location 2d',(#10724),#35); -#15751=SHAPE_ASPECT('',$,#7022,.U.); -#15752=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15751,#10723); -#15753=PROPERTY_DEFINITION('',$,#10745); -#15754=PROPERTY_DEFINITION_REPRESENTATION(#15753,#15755); -#15755=SHAPE_REPRESENTATION('connection point location 2d',(#10746),#35); -#15756=SHAPE_ASPECT('',$,#7132,.U.); -#15757=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15756,#10745); -#15758=PROPERTY_DEFINITION('',$,#10755); -#15759=PROPERTY_DEFINITION_REPRESENTATION(#15758,#15760); -#15760=SHAPE_REPRESENTATION('connection point location 2d',(#10756),#35); -#15761=SHAPE_ASPECT('',$,#10274,.U.); -#15762=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15761,#10755); -#15763=PROPERTY_DEFINITION('',$,#10768); -#15764=PROPERTY_DEFINITION_REPRESENTATION(#15763,#15765); -#15765=SHAPE_REPRESENTATION('connection point location 2d',(#10769),#35); -#15766=SHAPE_ASPECT('',$,#8486,.U.); -#15767=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15766,#10768); -#15768=PROPERTY_DEFINITION('',$,#10771); -#15769=PROPERTY_DEFINITION_REPRESENTATION(#15768,#15770); -#15770=SHAPE_REPRESENTATION('connection point location 2d',(#10772),#35); -#15771=SHAPE_ASPECT('',$,#8516,.U.); -#15772=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15771,#10771); -#15773=PROPERTY_DEFINITION('',$,#10783); -#15774=PROPERTY_DEFINITION_REPRESENTATION(#15773,#15775); -#15775=SHAPE_REPRESENTATION('connection point location 2d',(#10784),#35); -#15776=SHAPE_ASPECT('',$,#8276,.U.); -#15777=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15776,#10783); -#15778=PROPERTY_DEFINITION('',$,#10806); -#15779=PROPERTY_DEFINITION_REPRESENTATION(#15778,#15780); -#15780=SHAPE_REPRESENTATION('connection point location 2d',(#10807),#35); -#15781=SHAPE_ASPECT('',$,#10129,.U.); -#15782=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15781,#10806); -#15783=PROPERTY_DEFINITION('',$,#10819); -#15784=PROPERTY_DEFINITION_REPRESENTATION(#15783,#15785); -#15785=SHAPE_REPRESENTATION('connection point location 2d',(#10820),#35); -#15786=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15781,#10819); -#15787=PROPERTY_DEFINITION('',$,#10822); -#15788=PROPERTY_DEFINITION_REPRESENTATION(#15787,#15789); -#15789=SHAPE_REPRESENTATION('connection point location 2d',(#10823),#35); -#15790=SHAPE_ASPECT('',$,#9126,.U.); -#15791=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15790,#10822); -#15792=PROPERTY_DEFINITION('',$,#10841); -#15793=PROPERTY_DEFINITION_REPRESENTATION(#15792,#15794); -#15794=SHAPE_REPRESENTATION('connection point location 2d',(#10842),#35); -#15795=SHAPE_ASPECT('',$,#8841,.U.); -#15796=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15795,#10841); -#15797=PROPERTY_DEFINITION('',$,#10857); -#15798=PROPERTY_DEFINITION_REPRESENTATION(#15797,#15799); -#15799=SHAPE_REPRESENTATION('connection point location 2d',(#10858),#35); -#15800=SHAPE_ASPECT('',$,#7027,.U.); -#15801=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15800,#10857); -#15802=PROPERTY_DEFINITION('',$,#10870); -#15803=PROPERTY_DEFINITION_REPRESENTATION(#15802,#15804); -#15804=SHAPE_REPRESENTATION('connection point location 2d',(#10871),#35); -#15805=SHAPE_ASPECT('',$,#8511,.U.); -#15806=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15805,#10870); -#15807=PROPERTY_DEFINITION('',$,#10873); -#15808=PROPERTY_DEFINITION_REPRESENTATION(#15807,#15809); -#15809=SHAPE_REPRESENTATION('connection point location 2d',(#10874),#35); -#15810=SHAPE_ASPECT('',$,#10124,.U.); -#15811=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15810,#10873); -#15812=PROPERTY_DEFINITION('',$,#10883); -#15813=PROPERTY_DEFINITION_REPRESENTATION(#15812,#15814); -#15814=SHAPE_REPRESENTATION('connection point location 2d',(#10884),#35); -#15815=SHAPE_ASPECT('',$,#8481,.U.); -#15816=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15815,#10883); -#15817=PROPERTY_DEFINITION('',$,#10894); -#15818=PROPERTY_DEFINITION_REPRESENTATION(#15817,#15819); -#15819=SHAPE_REPRESENTATION('connection point location 2d',(#10895),#35); -#15820=SHAPE_ASPECT('',$,#7127,.U.); -#15821=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15820,#10894); -#15822=PROPERTY_DEFINITION('',$,#10897); -#15823=PROPERTY_DEFINITION_REPRESENTATION(#15822,#15824); -#15824=SHAPE_REPRESENTATION('connection point location 2d',(#10898),#35); -#15825=SHAPE_ASPECT('',$,#8271,.U.); -#15826=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15825,#10897); -#15827=PROPERTY_DEFINITION('',$,#10921); -#15828=PROPERTY_DEFINITION_REPRESENTATION(#15827,#15829); -#15829=SHAPE_REPRESENTATION('connection point location 2d',(#10922),#35); -#15830=SHAPE_ASPECT('',$,#6796,.U.); -#15831=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15830,#10921); -#15832=PROPERTY_DEFINITION('',$,#10936); -#15833=PROPERTY_DEFINITION_REPRESENTATION(#15832,#15834); -#15834=SHAPE_REPRESENTATION('connection point location 2d',(#10937),#35); -#15835=SHAPE_ASPECT('',$,#10515,.U.); -#15836=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15835,#10936); -#15837=PROPERTY_DEFINITION('',$,#10939); -#15838=PROPERTY_DEFINITION_REPRESENTATION(#15837,#15839); -#15839=SHAPE_REPRESENTATION('connection point location 2d',(#10940),#35); -#15840=SHAPE_ASPECT('',$,#7182,.U.); -#15841=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15840,#10939); -#15842=PROPERTY_DEFINITION('',$,#10953); -#15843=PROPERTY_DEFINITION_REPRESENTATION(#15842,#15844); -#15844=SHAPE_REPRESENTATION('connection point location 2d',(#10954),#35); -#15845=SHAPE_ASPECT('',$,#6997,.U.); -#15846=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15845,#10953); -#15847=PROPERTY_DEFINITION('',$,#10956); -#15848=PROPERTY_DEFINITION_REPRESENTATION(#15847,#15849); -#15849=SHAPE_REPRESENTATION('connection point location 2d',(#10957),#35); -#15850=SHAPE_ASPECT('',$,#7528,.U.); -#15851=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15850,#10956); -#15852=PROPERTY_DEFINITION('',$,#11033); -#15853=PROPERTY_DEFINITION_REPRESENTATION(#15852,#15854); -#15854=SHAPE_REPRESENTATION('connection point location 2d',(#11034),#35); -#15855=SHAPE_ASPECT('',$,#8366,.U.); -#15856=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15855,#11033); -#15857=PROPERTY_DEFINITION('',$,#11045); -#15858=PROPERTY_DEFINITION_REPRESENTATION(#15857,#15859); -#15859=SHAPE_REPRESENTATION('connection point location 2d',(#11046),#35); -#15860=SHAPE_ASPECT('',$,#6740,.U.); -#15861=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15860,#11045); -#15862=PROPERTY_DEFINITION('',$,#11048); -#15863=PROPERTY_DEFINITION_REPRESENTATION(#15862,#15864); -#15864=SHAPE_REPRESENTATION('connection point location 2d',(#11049),#35); -#15865=SHAPE_ASPECT('',$,#7703,.U.); -#15866=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15865,#11048); -#15867=PROPERTY_DEFINITION('',$,#11062); -#15868=PROPERTY_DEFINITION_REPRESENTATION(#15867,#15869); -#15869=SHAPE_REPRESENTATION('connection point location 2d',(#11063),#35); -#15870=SHAPE_ASPECT('',$,#6679,.U.); -#15871=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15870,#11062); -#15872=PROPERTY_DEFINITION('',$,#11065); -#15873=PROPERTY_DEFINITION_REPRESENTATION(#15872,#15874); -#15874=SHAPE_REPRESENTATION('connection point location 2d',(#11066),#35); -#15875=SHAPE_ASPECT('',$,#7738,.U.); -#15876=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15875,#11065); -#15877=PROPERTY_DEFINITION('',$,#11077); -#15878=PROPERTY_DEFINITION_REPRESENTATION(#15877,#15879); -#15879=SHAPE_REPRESENTATION('connection point location 2d',(#11078),#35); -#15880=SHAPE_ASPECT('',$,#10249,.U.); -#15881=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15880,#11077); -#15882=PROPERTY_DEFINITION('',$,#11080); -#15883=PROPERTY_DEFINITION_REPRESENTATION(#15882,#15884); -#15884=SHAPE_REPRESENTATION('connection point location 2d',(#11081),#35); -#15885=SHAPE_ASPECT('',$,#6932,.U.); -#15886=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15885,#11080); -#15887=PROPERTY_DEFINITION('',$,#11093); -#15888=PROPERTY_DEFINITION_REPRESENTATION(#15887,#15889); -#15889=SHAPE_REPRESENTATION('connection point location 2d',(#11094),#35); -#15890=SHAPE_ASPECT('',$,#6962,.U.); -#15891=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15890,#11093); -#15892=PROPERTY_DEFINITION('',$,#11132); -#15893=PROPERTY_DEFINITION_REPRESENTATION(#15892,#15894); -#15894=SHAPE_REPRESENTATION('connection point location 2d',(#11133),#35); -#15895=SHAPE_ASPECT('',$,#8156,.U.); -#15896=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15895,#11132); -#15897=PROPERTY_DEFINITION('',$,#11147); -#15898=PROPERTY_DEFINITION_REPRESENTATION(#15897,#15899); -#15899=SHAPE_REPRESENTATION('connection point location 2d',(#11148),#35); -#15900=SHAPE_ASPECT('',$,#8426,.U.); -#15901=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15900,#11147); -#15902=PROPERTY_DEFINITION('',$,#11150); -#15903=PROPERTY_DEFINITION_REPRESENTATION(#15902,#15904); -#15904=SHAPE_REPRESENTATION('connection point location 2d',(#11151),#35); -#15905=SHAPE_ASPECT('',$,#7304,.U.); -#15906=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15905,#11150); -#15907=PROPERTY_DEFINITION('',$,#11164); -#15908=PROPERTY_DEFINITION_REPRESENTATION(#15907,#15909); -#15909=SHAPE_REPRESENTATION('connection point location 2d',(#11165),#35); -#15910=SHAPE_ASPECT('',$,#7838,.U.); -#15911=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15910,#11164); -#15912=PROPERTY_DEFINITION('',$,#11179); -#15913=PROPERTY_DEFINITION_REPRESENTATION(#15912,#15914); -#15914=SHAPE_REPRESENTATION('connection point location 2d',(#11180),#35); -#15915=SHAPE_ASPECT('',$,#10447,.U.); -#15916=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15915,#11179); -#15917=PROPERTY_DEFINITION('',$,#11223); -#15918=PROPERTY_DEFINITION_REPRESENTATION(#15917,#15919); -#15919=SHAPE_REPRESENTATION('connection point location 2d',(#11224),#35); -#15920=SHAPE_ASPECT('',$,#6770,.U.); -#15921=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15920,#11223); -#15922=PROPERTY_DEFINITION('',$,#11251); -#15923=PROPERTY_DEFINITION_REPRESENTATION(#15922,#15924); -#15924=SHAPE_REPRESENTATION('connection point location 2d',(#11252),#35); -#15925=SHAPE_ASPECT('',$,#8331,.U.); -#15926=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15925,#11251); -#15927=PROPERTY_DEFINITION('',$,#11262); -#15928=PROPERTY_DEFINITION_REPRESENTATION(#15927,#15929); -#15929=SHAPE_REPRESENTATION('connection point location 2d',(#11263),#35); -#15930=SHAPE_ASPECT('',$,#6907,.U.); -#15931=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15930,#11262); -#15932=PROPERTY_DEFINITION('',$,#11283); -#15933=PROPERTY_DEFINITION_REPRESENTATION(#15932,#15934); -#15934=SHAPE_REPRESENTATION('connection point location 2d',(#11284),#35); -#15935=SHAPE_ASPECT('',$,#9091,.U.); -#15936=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15935,#11283); -#15937=PROPERTY_DEFINITION('',$,#11294); -#15938=PROPERTY_DEFINITION_REPRESENTATION(#15937,#15939); -#15939=SHAPE_REPRESENTATION('connection point location 2d',(#11295),#35); -#15940=SHAPE_ASPECT('',$,#8681,.U.); -#15941=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15940,#11294); -#15942=PROPERTY_DEFINITION('',$,#11305); -#15943=PROPERTY_DEFINITION_REPRESENTATION(#15942,#15944); -#15944=SHAPE_REPRESENTATION('connection point location 2d',(#11306),#35); -#15945=SHAPE_ASPECT('',$,#8181,.U.); -#15946=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15945,#11305); -#15947=PROPERTY_DEFINITION('',$,#11318); -#15948=PROPERTY_DEFINITION_REPRESENTATION(#15947,#15949); -#15949=SHAPE_REPRESENTATION('connection point location 2d',(#11319),#35); -#15950=SHAPE_ASPECT('',$,#6643,.U.); -#15951=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15950,#11318); -#15952=PROPERTY_DEFINITION('',$,#11321); -#15953=PROPERTY_DEFINITION_REPRESENTATION(#15952,#15954); -#15954=SHAPE_REPRESENTATION('connection point location 2d',(#11322),#35); -#15955=SHAPE_ASPECT('',$,#7643,.U.); -#15956=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15955,#11321); -#15957=PROPERTY_DEFINITION('',$,#11349); -#15958=PROPERTY_DEFINITION_REPRESENTATION(#15957,#15959); -#15959=SHAPE_REPRESENTATION('connection point location 2d',(#11350),#35); -#15960=SHAPE_ASPECT('',$,#9006,.U.); -#15961=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15960,#11349); -#15962=PROPERTY_DEFINITION('',$,#11352); -#15963=PROPERTY_DEFINITION_REPRESENTATION(#15962,#15964); -#15964=SHAPE_REPRESENTATION('connection point location 2d',(#11353),#35); -#15965=SHAPE_ASPECT('',$,#8726,.U.); -#15966=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15965,#11352); -#15967=PROPERTY_DEFINITION('',$,#11378); -#15968=PROPERTY_DEFINITION_REPRESENTATION(#15967,#15969); -#15969=SHAPE_REPRESENTATION('connection point location 2d',(#11379),#35); -#15970=SHAPE_ASPECT('',$,#7433,.U.); -#15971=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15970,#11378); -#15972=PROPERTY_DEFINITION('',$,#11394); -#15973=PROPERTY_DEFINITION_REPRESENTATION(#15972,#15974); -#15974=SHAPE_REPRESENTATION('connection point location 2d',(#11395),#35); -#15975=SHAPE_ASPECT('',$,#9181,.U.); -#15976=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15975,#11394); -#15977=PROPERTY_DEFINITION('',$,#11399); -#15978=PROPERTY_DEFINITION_REPRESENTATION(#15977,#15979); -#15979=SHAPE_REPRESENTATION('connection point location 2d',(#11400),#35); -#15980=SHAPE_ASPECT('',$,#9111,.U.); -#15981=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15980,#11399); -#15982=PROPERTY_DEFINITION('',$,#11411); -#15983=PROPERTY_DEFINITION_REPRESENTATION(#15982,#15984); -#15984=SHAPE_REPRESENTATION('connection point location 2d',(#11412),#35); -#15985=SHAPE_ASPECT('',$,#7172,.U.); -#15986=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15985,#11411); -#15987=PROPERTY_DEFINITION('',$,#11414); -#15988=PROPERTY_DEFINITION_REPRESENTATION(#15987,#15989); -#15989=SHAPE_REPRESENTATION('connection point location 2d',(#11415),#35); -#15990=SHAPE_ASPECT('',$,#10407,.U.); -#15991=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15990,#11414); -#15992=PROPERTY_DEFINITION('',$,#11425); -#15993=PROPERTY_DEFINITION_REPRESENTATION(#15992,#15994); -#15994=SHAPE_REPRESENTATION('connection point location 2d',(#11426),#35); -#15995=SHAPE_ASPECT('',$,#8811,.U.); -#15996=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15995,#11425); -#15997=PROPERTY_DEFINITION('',$,#11462); -#15998=PROPERTY_DEFINITION_REPRESENTATION(#15997,#15999); -#15999=SHAPE_REPRESENTATION('connection point location 2d',(#11463),#35); -#16000=SHAPE_ASPECT('',$,#8916,.U.); -#16001=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16000,#11462); -#16002=PROPERTY_DEFINITION('',$,#11483); -#16003=PROPERTY_DEFINITION_REPRESENTATION(#16002,#16004); -#16004=SHAPE_REPRESENTATION('connection point location 2d',(#11484),#35); -#16005=SHAPE_ASPECT('',$,#8901,.U.); -#16006=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16005,#11483); -#16007=PROPERTY_DEFINITION('',$,#11536); -#16008=PROPERTY_DEFINITION_REPRESENTATION(#16007,#16009); -#16009=SHAPE_REPRESENTATION('connection point location 2d',(#11537),#35); -#16010=SHAPE_ASPECT('',$,#8636,.U.); -#16011=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16010,#11536); -#16012=PROPERTY_DEFINITION('',$,#11548); -#16013=PROPERTY_DEFINITION_REPRESENTATION(#16012,#16014); -#16014=SHAPE_REPRESENTATION('connection point location 2d',(#11549),#35); -#16015=SHAPE_ASPECT('',$,#10377,.U.); -#16016=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16015,#11548); -#16017=PROPERTY_DEFINITION('',$,#11551); -#16018=PROPERTY_DEFINITION_REPRESENTATION(#16017,#16019); -#16019=SHAPE_REPRESENTATION('connection point location 2d',(#11552),#35); -#16020=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#15870,#11551); -#16021=PROPERTY_DEFINITION('',$,#11566); -#16022=PROPERTY_DEFINITION_REPRESENTATION(#16021,#16023); -#16023=SHAPE_REPRESENTATION('connection point location 2d',(#11567),#35); -#16024=SHAPE_ASPECT('',$,#10094,.U.); -#16025=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16024,#11566); -#16026=PROPERTY_DEFINITION('',$,#11569); -#16027=PROPERTY_DEFINITION_REPRESENTATION(#16026,#16028); -#16028=SHAPE_REPRESENTATION('connection point location 2d',(#11570),#35); -#16029=SHAPE_ASPECT('',$,#7613,.U.); -#16030=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16029,#11569); -#16031=PROPERTY_DEFINITION('',$,#11580); -#16032=PROPERTY_DEFINITION_REPRESENTATION(#16031,#16033); -#16033=SHAPE_REPRESENTATION('connection point location 2d',(#11581),#35); -#16034=SHAPE_ASPECT('',$,#7588,.U.); -#16035=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16034,#11580); -#16036=PROPERTY_DEFINITION('',$,#11583); -#16037=PROPERTY_DEFINITION_REPRESENTATION(#16036,#16038); -#16038=SHAPE_REPRESENTATION('connection point location 2d',(#11584),#35); -#16039=SHAPE_ASPECT('',$,#7975,.U.); -#16040=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16039,#11583); -#16041=PROPERTY_DEFINITION('',$,#11594); -#16042=PROPERTY_DEFINITION_REPRESENTATION(#16041,#16043); -#16043=SHAPE_REPRESENTATION('connection point location 2d',(#11595),#35); -#16044=SHAPE_ASPECT('',$,#6992,.U.); -#16045=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16044,#11594); -#16046=PROPERTY_DEFINITION('',$,#11605); -#16047=PROPERTY_DEFINITION_REPRESENTATION(#16046,#16048); -#16048=SHAPE_REPRESENTATION('connection point location 2d',(#11606),#35); -#16049=SHAPE_ASPECT('',$,#7239,.U.); -#16050=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16049,#11605); -#16051=PROPERTY_DEFINITION('',$,#11627); -#16052=PROPERTY_DEFINITION_REPRESENTATION(#16051,#16053); -#16053=SHAPE_REPRESENTATION('connection point location 2d',(#11628),#35); -#16054=SHAPE_ASPECT('',$,#7438,.U.); -#16055=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16054,#11627); -#16056=PROPERTY_DEFINITION('',$,#11630); -#16057=PROPERTY_DEFINITION_REPRESENTATION(#16056,#16058); -#16058=SHAPE_REPRESENTATION('connection point location 2d',(#11631),#35); -#16059=SHAPE_ASPECT('',$,#7618,.U.); -#16060=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16059,#11630); -#16061=PROPERTY_DEFINITION('',$,#11646); -#16062=PROPERTY_DEFINITION_REPRESENTATION(#16061,#16063); -#16063=SHAPE_REPRESENTATION('connection point location 2d',(#11647),#35); -#16064=SHAPE_ASPECT('',$,#7032,.U.); -#16065=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16064,#11646); -#16066=PROPERTY_DEFINITION('',$,#11649); -#16067=PROPERTY_DEFINITION_REPRESENTATION(#16066,#16068); -#16068=SHAPE_REPRESENTATION('connection point location 2d',(#11650),#35); -#16069=SHAPE_ASPECT('',$,#7583,.U.); -#16070=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16069,#11649); -#16071=PROPERTY_DEFINITION('',$,#11662); -#16072=PROPERTY_DEFINITION_REPRESENTATION(#16071,#16073); -#16073=SHAPE_REPRESENTATION('connection point location 2d',(#11663),#35); -#16074=SHAPE_ASPECT('',$,#8336,.U.); -#16075=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16074,#11662); -#16076=PROPERTY_DEFINITION('',$,#11665); -#16077=PROPERTY_DEFINITION_REPRESENTATION(#16076,#16078); -#16078=SHAPE_REPRESENTATION('connection point location 2d',(#11666),#35); -#16079=SHAPE_ASPECT('',$,#7072,.U.); -#16080=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16079,#11665); -#16081=PROPERTY_DEFINITION('',$,#11678); -#16082=PROPERTY_DEFINITION_REPRESENTATION(#16081,#16083); -#16083=SHAPE_REPRESENTATION('connection point location 2d',(#11679),#35); -#16084=SHAPE_ASPECT('',$,#8301,.U.); -#16085=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16084,#11678); -#16086=PROPERTY_DEFINITION('',$,#11681); -#16087=PROPERTY_DEFINITION_REPRESENTATION(#16086,#16088); -#16088=SHAPE_REPRESENTATION('connection point location 2d',(#11682),#35); -#16089=SHAPE_ASPECT('',$,#7274,.U.); -#16090=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16089,#11681); -#16091=PROPERTY_DEFINITION('',$,#11691); -#16092=PROPERTY_DEFINITION_REPRESENTATION(#16091,#16093); -#16093=SHAPE_REPRESENTATION('connection point location 2d',(#11692),#35); -#16094=SHAPE_ASPECT('',$,#7558,.U.); -#16095=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16094,#11691); -#16096=PROPERTY_DEFINITION('',$,#11702); -#16097=PROPERTY_DEFINITION_REPRESENTATION(#16096,#16098); -#16098=SHAPE_REPRESENTATION('connection point location 2d',(#11703),#35); -#16099=SHAPE_ASPECT('',$,#10339,.U.); -#16100=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16099,#11702); -#16101=PROPERTY_DEFINITION('',$,#11745); -#16102=PROPERTY_DEFINITION_REPRESENTATION(#16101,#16103); -#16103=SHAPE_REPRESENTATION('connection point location 2d',(#11746),#35); -#16104=SHAPE_ASPECT('',$,#10279,.U.); -#16105=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16104,#11745); -#16106=PROPERTY_DEFINITION('',$,#11758); -#16107=PROPERTY_DEFINITION_REPRESENTATION(#16106,#16108); -#16108=SHAPE_REPRESENTATION('connection point location 2d',(#11759),#35); -#16109=SHAPE_ASPECT('',$,#7269,.U.); -#16110=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16109,#11758); -#16111=PROPERTY_DEFINITION('',$,#11771); -#16112=PROPERTY_DEFINITION_REPRESENTATION(#16111,#16113); -#16113=SHAPE_REPRESENTATION('connection point location 2d',(#11772),#35); -#16114=SHAPE_ASPECT('',$,#8306,.U.); -#16115=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16114,#11771); -#16116=PROPERTY_DEFINITION('',$,#11784); -#16117=PROPERTY_DEFINITION_REPRESENTATION(#16116,#16118); -#16118=SHAPE_REPRESENTATION('connection point location 2d',(#11785),#35); -#16119=SHAPE_ASPECT('',$,#8546,.U.); -#16120=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16119,#11784); -#16121=PROPERTY_DEFINITION('',$,#11801); -#16122=PROPERTY_DEFINITION_REPRESENTATION(#16121,#16123); -#16123=SHAPE_REPRESENTATION('connection point location 2d',(#11802),#35); -#16124=SHAPE_ASPECT('',$,#7468,.U.); -#16125=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16124,#11801); -#16126=PROPERTY_DEFINITION('',$,#11804); -#16127=PROPERTY_DEFINITION_REPRESENTATION(#16126,#16128); -#16128=SHAPE_REPRESENTATION('connection point location 2d',(#11805),#35); -#16129=SHAPE_ASPECT('',$,#6735,.U.); -#16130=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16129,#11804); -#16131=PROPERTY_DEFINITION('',$,#11817); -#16132=PROPERTY_DEFINITION_REPRESENTATION(#16131,#16133); -#16133=SHAPE_REPRESENTATION('connection point location 2d',(#11818),#35); -#16134=SHAPE_ASPECT('',$,#10412,.U.); -#16135=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16134,#11817); -#16136=PROPERTY_DEFINITION('',$,#11820); -#16137=PROPERTY_DEFINITION_REPRESENTATION(#16136,#16138); -#16138=SHAPE_REPRESENTATION('connection point location 2d',(#11821),#35); -#16139=SHAPE_ASPECT('',$,#6801,.U.); -#16140=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16139,#11820); -#16141=PROPERTY_DEFINITION('',$,#11836); -#16142=PROPERTY_DEFINITION_REPRESENTATION(#16141,#16143); -#16143=SHAPE_REPRESENTATION('connection point location 2d',(#11837),#35); -#16144=SHAPE_ASPECT('',$,#9161,.U.); -#16145=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16144,#11836); -#16146=PROPERTY_DEFINITION('',$,#11839); -#16147=PROPERTY_DEFINITION_REPRESENTATION(#16146,#16148); -#16148=SHAPE_REPRESENTATION('connection point location 2d',(#11840),#35); -#16149=SHAPE_ASPECT('',$,#7648,.U.); -#16150=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16149,#11839); -#16151=PROPERTY_DEFINITION('',$,#11862); -#16152=PROPERTY_DEFINITION_REPRESENTATION(#16151,#16153); -#16153=SHAPE_REPRESENTATION('connection point location 2d',(#11863),#35); -#16154=SHAPE_ASPECT('',$,#7798,.U.); -#16155=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16154,#11862); -#16156=PROPERTY_DEFINITION('',$,#11877); -#16157=PROPERTY_DEFINITION_REPRESENTATION(#16156,#16158); -#16158=SHAPE_REPRESENTATION('connection point location 2d',(#11878),#35); -#16159=SHAPE_ASPECT('',$,#7299,.U.); -#16160=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16159,#11877); -#16161=PROPERTY_DEFINITION('',$,#11887); -#16162=PROPERTY_DEFINITION_REPRESENTATION(#16161,#16163); -#16163=SHAPE_REPRESENTATION('connection point location 2d',(#11888),#35); -#16164=SHAPE_ASPECT('',$,#7848,.U.); -#16165=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16164,#11887); -#16166=PROPERTY_DEFINITION('',$,#11905); -#16167=PROPERTY_DEFINITION_REPRESENTATION(#16166,#16168); -#16168=SHAPE_REPRESENTATION('connection point location 2d',(#11906),#35); -#16169=SHAPE_ASPECT('',$,#10485,.U.); -#16170=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16169,#11905); -#16171=PROPERTY_DEFINITION('',$,#11908); -#16172=PROPERTY_DEFINITION_REPRESENTATION(#16171,#16173); -#16173=SHAPE_REPRESENTATION('connection point location 2d',(#11909),#35); -#16174=SHAPE_ASPECT('',$,#8216,.U.); -#16175=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16174,#11908); -#16176=PROPERTY_DEFINITION('',$,#11919); -#16177=PROPERTY_DEFINITION_REPRESENTATION(#16176,#16178); -#16178=SHAPE_REPRESENTATION('connection point location 2d',(#11920),#35); -#16179=SHAPE_ASPECT('',$,#7793,.U.); -#16180=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16179,#11919); -#16181=PROPERTY_DEFINITION('',$,#11932); -#16182=PROPERTY_DEFINITION_REPRESENTATION(#16181,#16183); -#16183=SHAPE_REPRESENTATION('connection point location 2d',(#11933),#35); -#16184=SHAPE_ASPECT('',$,#10219,.U.); -#16185=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16184,#11932); -#16186=PROPERTY_DEFINITION('',$,#11946); -#16187=PROPERTY_DEFINITION_REPRESENTATION(#16186,#16188); -#16188=SHAPE_REPRESENTATION('connection point location 2d',(#11947),#35); -#16189=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16179,#11946); -#16190=PROPERTY_DEFINITION('',$,#11949); -#16191=PROPERTY_DEFINITION_REPRESENTATION(#16190,#16192); -#16192=SHAPE_REPRESENTATION('connection point location 2d',(#11950),#35); -#16193=SHAPE_ASPECT('',$,#7985,.U.); -#16194=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16193,#11949); -#16195=PROPERTY_DEFINITION('',$,#11964); -#16196=PROPERTY_DEFINITION_REPRESENTATION(#16195,#16197); -#16197=SHAPE_REPRESENTATION('connection point location 2d',(#11965),#35); -#16198=SHAPE_ASPECT('',$,#10214,.U.); -#16199=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16198,#11964); -#16200=PROPERTY_DEFINITION('',$,#11967); -#16201=PROPERTY_DEFINITION_REPRESENTATION(#16200,#16202); -#16202=SHAPE_REPRESENTATION('connection point location 2d',(#11968),#35); -#16203=SHAPE_ASPECT('',$,#8211,.U.); -#16204=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16203,#11967); -#16205=PROPERTY_DEFINITION('',$,#11979); -#16206=PROPERTY_DEFINITION_REPRESENTATION(#16205,#16207); -#16207=SHAPE_REPRESENTATION('connection point location 2d',(#11980),#35); -#16208=SHAPE_ASPECT('',$,#6937,.U.); -#16209=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16208,#11979); -#16210=PROPERTY_DEFINITION('',$,#11992); -#16211=PROPERTY_DEFINITION_REPRESENTATION(#16210,#16212); -#16212=SHAPE_REPRESENTATION('connection point location 2d',(#11993),#35); -#16213=SHAPE_ASPECT('',$,#8000,.U.); -#16214=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16213,#11992); -#16215=PROPERTY_DEFINITION('',$,#12012); -#16216=PROPERTY_DEFINITION_REPRESENTATION(#16215,#16217); -#16217=SHAPE_REPRESENTATION('connection point location 2d',(#12013),#35); -#16218=SHAPE_ASPECT('',$,#10184,.U.); -#16219=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16218,#12012); -#16220=PROPERTY_DEFINITION('',$,#12025); -#16221=PROPERTY_DEFINITION_REPRESENTATION(#16220,#16222); -#16222=SHAPE_REPRESENTATION('connection point location 2d',(#12026),#35); -#16223=SHAPE_ASPECT('',$,#10480,.U.); -#16224=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16223,#12025); -#16225=PROPERTY_DEFINITION('',$,#12039); -#16226=PROPERTY_DEFINITION_REPRESENTATION(#16225,#16227); -#16227=SHAPE_REPRESENTATION('connection point location 2d',(#12040),#35); -#16228=SHAPE_ASPECT('',$,#8246,.U.); -#16229=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16228,#12039); -#16230=PROPERTY_DEFINITION('',$,#12057); -#16231=PROPERTY_DEFINITION_REPRESENTATION(#16230,#16232); -#16232=SHAPE_REPRESENTATION('connection point location 2d',(#12058),#35); -#16233=SHAPE_ASPECT('',$,#10154,.U.); -#16234=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16233,#12057); -#16235=PROPERTY_DEFINITION('',$,#12060); -#16236=PROPERTY_DEFINITION_REPRESENTATION(#16235,#16237); -#16237=SHAPE_REPRESENTATION('connection point location 2d',(#12061),#35); -#16238=SHAPE_ASPECT('',$,#6705,.U.); -#16239=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16238,#12060); -#16240=PROPERTY_DEFINITION('',$,#12074); -#16241=PROPERTY_DEFINITION_REPRESENTATION(#16240,#16242); -#16242=SHAPE_REPRESENTATION('connection point location 2d',(#12075),#35); -#16243=SHAPE_ASPECT('',$,#10159,.U.); -#16244=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16243,#12074); -#16245=PROPERTY_DEFINITION('',$,#12077); -#16246=PROPERTY_DEFINITION_REPRESENTATION(#16245,#16247); -#16247=SHAPE_REPRESENTATION('connection point location 2d',(#12078),#35); -#16248=SHAPE_ASPECT('',$,#10442,.U.); -#16249=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16248,#12077); -#16250=PROPERTY_DEFINITION('',$,#12087); -#16251=PROPERTY_DEFINITION_REPRESENTATION(#16250,#16252); -#16252=SHAPE_REPRESENTATION('connection point location 2d',(#12088),#35); -#16253=SHAPE_ASPECT('',$,#6826,.U.); -#16254=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16253,#12087); -#16255=PROPERTY_DEFINITION('',$,#12098); -#16256=PROPERTY_DEFINITION_REPRESENTATION(#16255,#16257); -#16257=SHAPE_REPRESENTATION('connection point location 2d',(#12099),#35); -#16258=SHAPE_ASPECT('',$,#7493,.U.); -#16259=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16258,#12098); -#16260=PROPERTY_DEFINITION('',$,#12112); -#16261=PROPERTY_DEFINITION_REPRESENTATION(#16260,#16262); -#16262=SHAPE_REPRESENTATION('connection point location 2d',(#12113),#35); -#16263=SHAPE_ASPECT('',$,#8241,.U.); -#16264=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16263,#12112); -#16265=PROPERTY_DEFINITION('',$,#12115); -#16266=PROPERTY_DEFINITION_REPRESENTATION(#16265,#16267); -#16267=SHAPE_REPRESENTATION('connection point location 2d',(#12116),#35); -#16268=SHAPE_ASPECT('',$,#8391,.U.); -#16269=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16268,#12115); -#16270=PROPERTY_DEFINITION('',$,#12125); -#16271=PROPERTY_DEFINITION_REPRESENTATION(#16270,#16272); -#16272=SHAPE_REPRESENTATION('connection point location 2d',(#12126),#35); -#16273=SHAPE_ASPECT('',$,#7364,.U.); -#16274=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16273,#12125); -#16275=PROPERTY_DEFINITION('',$,#12136); -#16276=PROPERTY_DEFINITION_REPRESENTATION(#16275,#16277); -#16277=SHAPE_REPRESENTATION('connection point location 2d',(#12137),#35); -#16278=SHAPE_ASPECT('',$,#6831,.U.); -#16279=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16278,#12136); -#16280=PROPERTY_DEFINITION('',$,#12147); -#16281=PROPERTY_DEFINITION_REPRESENTATION(#16280,#16282); -#16282=SHAPE_REPRESENTATION('connection point location 2d',(#12148),#35); -#16283=SHAPE_ASPECT('',$,#6902,.U.); -#16284=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16283,#12147); -#16285=PROPERTY_DEFINITION('',$,#12161); -#16286=PROPERTY_DEFINITION_REPRESENTATION(#16285,#16287); -#16287=SHAPE_REPRESENTATION('connection point location 2d',(#12162),#35); -#16288=SHAPE_ASPECT('',$,#7905,.U.); -#16289=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16288,#12161); -#16290=PROPERTY_DEFINITION('',$,#12164); -#16291=PROPERTY_DEFINITION_REPRESENTATION(#16290,#16292); -#16292=SHAPE_REPRESENTATION('connection point location 2d',(#12165),#35); -#16293=SHAPE_ASPECT('',$,#8361,.U.); -#16294=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16293,#12164); -#16295=PROPERTY_DEFINITION('',$,#12179); -#16296=PROPERTY_DEFINITION_REPRESENTATION(#16295,#16297); -#16297=SHAPE_REPRESENTATION('connection point location 2d',(#12180),#35); -#16298=SHAPE_ASPECT('',$,#7399,.U.); -#16299=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16298,#12179); -#16300=PROPERTY_DEFINITION('',$,#12182); -#16301=PROPERTY_DEFINITION_REPRESENTATION(#16300,#16302); -#16302=SHAPE_REPRESENTATION('connection point location 2d',(#12183),#35); -#16303=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16293,#12182); -#16304=PROPERTY_DEFINITION('',$,#12200); -#16305=PROPERTY_DEFINITION_REPRESENTATION(#16304,#16306); -#16306=SHAPE_REPRESENTATION('connection point location 2d',(#12201),#35); -#16307=SHAPE_ASPECT('',$,#8931,.U.); -#16308=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16307,#12200); -#16309=PROPERTY_DEFINITION('',$,#12203); -#16310=PROPERTY_DEFINITION_REPRESENTATION(#16309,#16311); -#16311=SHAPE_REPRESENTATION('connection point location 2d',(#12204),#35); -#16312=SHAPE_ASPECT('',$,#7334,.U.); -#16313=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16312,#12203); -#16314=PROPERTY_DEFINITION('',$,#12214); -#16315=PROPERTY_DEFINITION_REPRESENTATION(#16314,#16316); -#16316=SHAPE_REPRESENTATION('connection point location 2d',(#12215),#35); -#16317=SHAPE_ASPECT('',$,#8651,.U.); -#16318=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16317,#12214); -#16319=PROPERTY_DEFINITION('',$,#12232); -#16320=PROPERTY_DEFINITION_REPRESENTATION(#16319,#16321); -#16321=SHAPE_REPRESENTATION('connection point location 2d',(#12233),#35); -#16322=SHAPE_ASPECT('',$,#8831,.U.); -#16323=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16322,#12232); -#16324=PROPERTY_DEFINITION('',$,#12252); -#16325=PROPERTY_DEFINITION_REPRESENTATION(#16324,#16326); -#16326=SHAPE_REPRESENTATION('connection point location 2d',(#12253),#35); -#16327=SHAPE_ASPECT('',$,#7167,.U.); -#16328=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16327,#12252); -#16329=PROPERTY_DEFINITION('',$,#12267); -#16330=PROPERTY_DEFINITION_REPRESENTATION(#16329,#16331); -#16331=SHAPE_REPRESENTATION('connection point location 2d',(#12268),#35); -#16332=SHAPE_ASPECT('',$,#8881,.U.); -#16333=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16332,#12267); -#16334=PROPERTY_DEFINITION('',$,#12282); -#16335=PROPERTY_DEFINITION_REPRESENTATION(#16334,#16336); -#16336=SHAPE_REPRESENTATION('connection point location 2d',(#12283),#35); -#16337=SHAPE_ASPECT('',$,#6648,.U.); -#16338=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16337,#12282); -#16339=PROPERTY_DEFINITION('',$,#12302); -#16340=PROPERTY_DEFINITION_REPRESENTATION(#16339,#16341); -#16341=SHAPE_REPRESENTATION('connection point location 2d',(#12303),#35); -#16342=SHAPE_ASPECT('',$,#7157,.U.); -#16343=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16342,#12302); -#16344=PROPERTY_DEFINITION('',$,#12315); -#16345=PROPERTY_DEFINITION_REPRESENTATION(#16344,#16346); -#16346=SHAPE_REPRESENTATION('connection point location 2d',(#12316),#35); -#16347=SHAPE_ASPECT('',$,#8836,.U.); -#16348=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16347,#12315); -#16349=PROPERTY_DEFINITION('',$,#12338); -#16350=PROPERTY_DEFINITION_REPRESENTATION(#16349,#16351); -#16351=SHAPE_REPRESENTATION('connection point location 2d',(#12339),#35); -#16352=SHAPE_ASPECT('',$,#7673,.U.); -#16353=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16352,#12338); -#16354=PROPERTY_DEFINITION('',$,#12348); -#16355=PROPERTY_DEFINITION_REPRESENTATION(#16354,#16356); -#16356=SHAPE_REPRESENTATION('connection point location 2d',(#12349),#35); -#16357=SHAPE_ASPECT('',$,#8421,.U.); -#16358=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16357,#12348); -#16359=PROPERTY_DEFINITION('',$,#12351); -#16360=PROPERTY_DEFINITION_REPRESENTATION(#16359,#16361); -#16361=SHAPE_REPRESENTATION('connection point location 2d',(#12352),#35); -#16362=SHAPE_ASPECT('',$,#7359,.U.); -#16363=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16362,#12351); -#16364=PROPERTY_DEFINITION('',$,#12361); -#16365=PROPERTY_DEFINITION_REPRESENTATION(#16364,#16366); -#16366=SHAPE_REPRESENTATION('connection point location 2d',(#12362),#35); -#16367=SHAPE_ASPECT('',$,#6765,.U.); -#16368=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16367,#12361); -#16369=PROPERTY_DEFINITION('',$,#12385); -#16370=PROPERTY_DEFINITION_REPRESENTATION(#16369,#16371); -#16371=SHAPE_REPRESENTATION('connection point location 2d',(#12386),#35); -#16372=SHAPE_ASPECT('',$,#8396,.U.); -#16373=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16372,#12385); -#16374=PROPERTY_DEFINITION('',$,#12388); -#16375=PROPERTY_DEFINITION_REPRESENTATION(#16374,#16376); -#16376=SHAPE_REPRESENTATION('connection point location 2d',(#12389),#35); -#16377=SHAPE_ASPECT('',$,#10189,.U.); -#16378=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16377,#12388); -#16379=PROPERTY_DEFINITION('',$,#12423); -#16380=PROPERTY_DEFINITION_REPRESENTATION(#16379,#16381); -#16381=SHAPE_REPRESENTATION('connection point location 2d',(#12424),#35); -#16382=SHAPE_ASPECT('',$,#8030,.U.); -#16383=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16382,#12423); -#16384=PROPERTY_DEFINITION('',$,#12434); -#16385=PROPERTY_DEFINITION_REPRESENTATION(#16384,#16386); -#16386=SHAPE_REPRESENTATION('connection point location 2d',(#12435),#35); -#16387=SHAPE_ASPECT('',$,#7523,.U.); -#16388=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16387,#12434); -#16389=PROPERTY_DEFINITION('',$,#12437); -#16390=PROPERTY_DEFINITION_REPRESENTATION(#16389,#16391); -#16391=SHAPE_REPRESENTATION('connection point location 2d',(#12438),#35); -#16392=SHAPE_ASPECT('',$,#10510,.U.); -#16393=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16392,#12437); -#16394=PROPERTY_DEFINITION('',$,#12447); -#16395=PROPERTY_DEFINITION_REPRESENTATION(#16394,#16396); -#16396=SHAPE_REPRESENTATION('connection point location 2d',(#12448),#35); -#16397=SHAPE_ASPECT('',$,#10382,.U.); -#16398=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16397,#12447); -#16399=PROPERTY_DEFINITION('',$,#12462); -#16400=PROPERTY_DEFINITION_REPRESENTATION(#16399,#16401); -#16401=SHAPE_REPRESENTATION('connection point location 2d',(#12463),#35); -#16402=SHAPE_ASPECT('',$,#10099,.U.); -#16403=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16402,#12462); -#16404=PROPERTY_DEFINITION('',$,#12465); -#16405=PROPERTY_DEFINITION_REPRESENTATION(#16404,#16406); -#16406=SHAPE_REPRESENTATION('connection point location 2d',(#12466),#35); -#16407=SHAPE_ASPECT('',$,#7244,.U.); -#16408=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16407,#12465); -#16409=PROPERTY_DEFINITION('',$,#12484); -#16410=PROPERTY_DEFINITION_REPRESENTATION(#16409,#16411); -#16411=SHAPE_REPRESENTATION('connection point location 2d',(#12485),#35); -#16412=SHAPE_ASPECT('',$,#6674,.U.); -#16413=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16412,#12484); -#16414=PROPERTY_DEFINITION('',$,#12509); -#16415=PROPERTY_DEFINITION_REPRESENTATION(#16414,#16416); -#16416=SHAPE_REPRESENTATION('connection point location 2d',(#12510),#35); -#16417=SHAPE_ASPECT('',$,#7910,.U.); -#16418=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16417,#12509); -#16419=PROPERTY_DEFINITION('',$,#12512); -#16420=PROPERTY_DEFINITION_REPRESENTATION(#16419,#16421); -#16421=SHAPE_REPRESENTATION('connection point location 2d',(#12513),#35); -#16422=SHAPE_ASPECT('',$,#10437,.U.); -#16423=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16422,#12512); -#16424=PROPERTY_DEFINITION('',$,#12522); -#16425=PROPERTY_DEFINITION_REPRESENTATION(#16424,#16426); -#16426=SHAPE_REPRESENTATION('connection point location 2d',(#12523),#35); -#16427=SHAPE_ASPECT('',$,#8151,.U.); -#16428=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16427,#12522); -#16429=PROPERTY_DEFINITION('',$,#12525); -#16430=PROPERTY_DEFINITION_REPRESENTATION(#16429,#16431); -#16431=SHAPE_REPRESENTATION('connection point location 2d',(#12526),#35); -#16432=SHAPE_ASPECT('',$,#6967,.U.); -#16433=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16432,#12525); -#16434=PROPERTY_DEFINITION('',$,#12537); -#16435=PROPERTY_DEFINITION_REPRESENTATION(#16434,#16436); -#16436=SHAPE_REPRESENTATION('connection point location 2d',(#12538),#35); -#16437=SHAPE_ASPECT('',$,#8005,.U.); -#16438=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16437,#12537); -#16439=PROPERTY_DEFINITION('',$,#12557); -#16440=PROPERTY_DEFINITION_REPRESENTATION(#16439,#16441); -#16441=SHAPE_REPRESENTATION('connection point location 2d',(#12558),#35); -#16442=SHAPE_ASPECT('',$,#6710,.U.); -#16443=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16442,#12557); -#16444=PROPERTY_DEFINITION('',$,#12574); -#16445=PROPERTY_DEFINITION_REPRESENTATION(#16444,#16446); -#16446=SHAPE_REPRESENTATION('connection point location 2d',(#12575),#35); -#16447=SHAPE_ASPECT('',$,#7733,.U.); -#16448=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16447,#12574); -#16449=PROPERTY_DEFINITION('',$,#12577); -#16450=PROPERTY_DEFINITION_REPRESENTATION(#16449,#16451); -#16451=SHAPE_REPRESENTATION('connection point location 2d',(#12578),#35); -#16452=SHAPE_ASPECT('',$,#8025,.U.); -#16453=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16452,#12577); -#16454=PROPERTY_DEFINITION('',$,#12596); -#16455=PROPERTY_DEFINITION_REPRESENTATION(#16454,#16456); -#16456=SHAPE_REPRESENTATION('connection point location 2d',(#12597),#35); -#16457=SHAPE_ASPECT('',$,#8926,.U.); -#16458=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16457,#12596); -#16459=PROPERTY_DEFINITION('',$,#12599); -#16460=PROPERTY_DEFINITION_REPRESENTATION(#16459,#16461); -#16461=SHAPE_REPRESENTATION('connection point location 2d',(#12600),#35); -#16462=SHAPE_ASPECT('',$,#7102,.U.); -#16463=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16462,#12599); -#16464=PROPERTY_DEFINITION('',$,#12610); -#16465=PROPERTY_DEFINITION_REPRESENTATION(#16464,#16466); -#16466=SHAPE_REPRESENTATION('connection point location 2d',(#12611),#35); -#16467=SHAPE_ASPECT('',$,#8646,.U.); -#16468=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16467,#12610); -#16469=PROPERTY_DEFINITION('',$,#12632); -#16470=PROPERTY_DEFINITION_REPRESENTATION(#16469,#16471); -#16471=SHAPE_REPRESENTATION('connection point location 2d',(#12633),#35); -#16472=SHAPE_ASPECT('',$,#7678,.U.); -#16473=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16472,#12632); -#16474=PROPERTY_DEFINITION('',$,#12648); -#16475=PROPERTY_DEFINITION_REPRESENTATION(#16474,#16476); -#16476=SHAPE_REPRESENTATION('connection point location 2d',(#12649),#35); -#16477=SHAPE_ASPECT('',$,#10244,.U.); -#16478=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16477,#12648); -#16479=PROPERTY_DEFINITION('',$,#12662); -#16480=PROPERTY_DEFINITION_REPRESENTATION(#16479,#16481); -#16481=SHAPE_REPRESENTATION('connection point location 2d',(#12663),#35); -#16482=SHAPE_ASPECT('',$,#7329,.U.); -#16483=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16482,#12662); -#16484=PROPERTY_DEFINITION('',$,#12680); -#16485=PROPERTY_DEFINITION_REPRESENTATION(#16484,#16486); -#16486=SHAPE_REPRESENTATION('connection point location 2d',(#12681),#35); -#16487=SHAPE_ASPECT('',$,#9106,.U.); -#16488=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16487,#12680); -#16489=PROPERTY_DEFINITION('',$,#12683); -#16490=PROPERTY_DEFINITION_REPRESENTATION(#16489,#16491); -#16491=SHAPE_REPRESENTATION('connection point location 2d',(#12684),#35); -#16492=SHAPE_ASPECT('',$,#8826,.U.); -#16493=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16492,#12683); -#16494=PROPERTY_DEFINITION('',$,#12697); -#16495=PROPERTY_DEFINITION_REPRESENTATION(#16494,#16496); -#16496=SHAPE_REPRESENTATION('connection point location 2d',(#12698),#35); -#16497=SHAPE_ASPECT('',$,#7970,.U.); -#16498=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16497,#12697); -#16499=PROPERTY_DEFINITION('',$,#12700); -#16500=PROPERTY_DEFINITION_REPRESENTATION(#16499,#16501); -#16501=SHAPE_REPRESENTATION('connection point location 2d',(#12701),#35); -#16502=SHAPE_ASPECT('',$,#8186,.U.); -#16503=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16502,#12700); -#16504=PROPERTY_DEFINITION('',$,#12720); -#16505=PROPERTY_DEFINITION_REPRESENTATION(#16504,#16506); -#16506=SHAPE_REPRESENTATION('connection point location 2d',(#12721),#35); -#16507=SHAPE_ASPECT('',$,#7389,.U.); -#16508=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16507,#12720); -#16509=PROPERTY_DEFINITION('',$,#12730); -#16510=PROPERTY_DEFINITION_REPRESENTATION(#16509,#16511); -#16511=SHAPE_REPRESENTATION('connection point location 2d',(#12731),#35); -#16512=SHAPE_ASPECT('',$,#8676,.U.); -#16513=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16512,#12730); -#16514=PROPERTY_DEFINITION('',$,#12750); -#16515=PROPERTY_DEFINITION_REPRESENTATION(#16514,#16516); -#16516=SHAPE_REPRESENTATION('connection point location 2d',(#12751),#35); -#16517=SHAPE_ASPECT('',$,#10334,.U.); -#16518=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16517,#12750); -#16519=PROPERTY_DEFINITION('',$,#12767); -#16520=PROPERTY_DEFINITION_REPRESENTATION(#16519,#16521); -#16521=SHAPE_REPRESENTATION('connection point location 2d',(#12768),#35); -#16522=SHAPE_ASPECT('',$,#10309,.U.); -#16523=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16522,#12767); -#16524=PROPERTY_DEFINITION('',$,#12782); -#16525=PROPERTY_DEFINITION_REPRESENTATION(#16524,#16526); -#16526=SHAPE_REPRESENTATION('connection point location 2d',(#12783),#35); -#16527=SHAPE_ASPECT('',$,#8456,.U.); -#16528=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16527,#12782); -#16529=PROPERTY_DEFINITION('',$,#12793); -#16530=PROPERTY_DEFINITION_REPRESENTATION(#16529,#16531); -#16531=SHAPE_REPRESENTATION('connection point location 2d',(#12794),#35); -#16532=SHAPE_ASPECT('',$,#8606,.U.); -#16533=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16532,#12793); -#16534=PROPERTY_DEFINITION('',$,#12804); -#16535=PROPERTY_DEFINITION_REPRESENTATION(#16534,#16536); -#16536=SHAPE_REPRESENTATION('connection point location 2d',(#12805),#35); -#16537=SHAPE_ASPECT('',$,#7768,.U.); -#16538=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16537,#12804); -#16539=PROPERTY_DEFINITION('',$,#12815); -#16540=PROPERTY_DEFINITION_REPRESENTATION(#16539,#16541); -#16541=SHAPE_REPRESENTATION('connection point location 2d',(#12816),#35); -#16542=SHAPE_ASPECT('',$,#7940,.U.); -#16543=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16542,#12815); -#16544=PROPERTY_DEFINITION('',$,#12825); -#16545=PROPERTY_DEFINITION_REPRESENTATION(#16544,#16546); -#16546=SHAPE_REPRESENTATION('connection point location 2d',(#12826),#35); -#16547=SHAPE_ASPECT('',$,#7553,.U.); -#16548=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16547,#12825); -#16549=PROPERTY_DEFINITION('',$,#12840); -#16550=PROPERTY_DEFINITION_REPRESENTATION(#16549,#16551); -#16551=SHAPE_REPRESENTATION('connection point location 2d',(#12841),#35); -#16552=SHAPE_ASPECT('',$,#8946,.U.); -#16553=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16552,#12840); -#16554=PROPERTY_DEFINITION('',$,#12843); -#16555=PROPERTY_DEFINITION_REPRESENTATION(#16554,#16556); -#16556=SHAPE_REPRESENTATION('connection point location 2d',(#12844),#35); -#16557=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#16542,#12843); -#16558=PROPERTY_DEFINITION('required characteristic',$,#2404); -#16559=REPRESENTATION('',(#2405),#13704); -#16560=PROPERTY_DEFINITION_REPRESENTATION(#16558,#16559); -#16561=PROPERTY_DEFINITION('required characteristic',$,#6532); -#16562=REPRESENTATION('',(#6535),#13704); -#16563=PROPERTY_DEFINITION_REPRESENTATION(#16561,#16562); -#16564=ID_ATTRIBUTE('PHYSICAL_2',#2327); -#16565=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#2244,#2327); -#16566=ID_ATTRIBUTE('PHYSICAL_1',#2331); -#16567=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#2222,#2331); -#16568=PROPERTY_DEFINITION('stratum thickness',$,#2217); -#16569=PROPERTY_DEFINITION_REPRESENTATION(#16568,#2218); -#16570=PROPERTY_DEFINITION('layer position','external',#2217); -#16571=PROPERTY_DEFINITION('layer purpose','other signal',#2217); -#16572=PROPERTY_DEFINITION('stratum thickness',$,#2221); -#16573=PROPERTY_DEFINITION_REPRESENTATION(#16572,#2218); -#16574=PROPERTY_DEFINITION('layer position','internal',#2221); -#16575=PROPERTY_DEFINITION('layer purpose','other signal',#2221); -#16576=PROPERTY_DEFINITION('stratum thickness',$,#2246); -#16577=PROPERTY_DEFINITION_REPRESENTATION(#16576,#2218); -#16578=PROPERTY_DEFINITION('layer position','internal',#2246); -#16579=PROPERTY_DEFINITION('layer purpose','power or ground',#2246); -#16580=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2306,#14339,#13319); -#16581=ID_ATTRIBUTE('1',#2306); -#16582=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#2198,#2319); -#16583=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#2194,#2321); -#16584=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#2202,#2323); -#16585=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#2206,#2325); -#16586=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#2205,#2333); -#16587=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#2201,#2335); -#16588=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#2197,#2337); -#16589=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#2193,#2339); -#16590=PROPERTY_DEFINITION('stratum thickness',$,#2186); -#16591=PROPERTY_DEFINITION_REPRESENTATION(#16590,#2187); -#16592=PROPERTY_DEFINITION('layer position','external',#2186); -#16593=PROPERTY_DEFINITION('layer purpose','gluemask',#2186); -#16594=PROPERTY_DEFINITION('stratum thickness',$,#2196); -#16595=PROPERTY_DEFINITION_REPRESENTATION(#16594,#2187); -#16596=PROPERTY_DEFINITION('layer position','external',#2196); -#16597=PROPERTY_DEFINITION('layer purpose','pastemask',#2196); -#16598=PROPERTY_DEFINITION('stratum thickness',$,#2200); -#16599=PROPERTY_DEFINITION_REPRESENTATION(#16598,#2187); -#16600=PROPERTY_DEFINITION('layer position','external',#2200); -#16601=PROPERTY_DEFINITION('layer purpose','silkscreen',#2200); -#16602=PROPERTY_DEFINITION('stratum thickness',$,#2204); -#16603=PROPERTY_DEFINITION_REPRESENTATION(#16602,#2187); -#16604=PROPERTY_DEFINITION('layer position','external',#2204); -#16605=PROPERTY_DEFINITION('layer purpose','soldermask',#2204); -#16606=PRODUCT_CONTEXT('document',#13318,''); -#16608=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2566,#14339,#13319); -#16609=ID_ATTRIBUTE('1',#2566); -#16611=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2724,#14339,#13319); -#16612=ID_ATTRIBUTE('1',#2724); -#16614=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2882,#14339,#13319); -#16615=ID_ATTRIBUTE('1',#2882); -#16617=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3040,#14339,#13319); -#16618=ID_ATTRIBUTE('1',#3040); -#16620=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3194,#14339,#13319); -#16621=ID_ATTRIBUTE('1',#3194); -#16623=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3348,#14339,#13319); -#16624=ID_ATTRIBUTE('1',#3348); -#16626=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3506,#14339,#13319); -#16627=ID_ATTRIBUTE('1',#3506); -#16629=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3664,#14339,#13319); -#16630=ID_ATTRIBUTE('1',#3664); -#16632=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3818,#14339,#13319); -#16633=ID_ATTRIBUTE('1',#3818); -#16635=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3976,#14339,#13319); -#16636=ID_ATTRIBUTE('1',#3976); -#16638=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4122,#14339,#13319); -#16639=ID_ATTRIBUTE('1',#4122); -#16640=PROPERTY_DEFINITION('',$,#10537); -#16641=PROPERTY_DEFINITION_REPRESENTATION(#16640,#16642); -#16642=SHAPE_REPRESENTATION('connection point location 2d',(#10536),#35); -#16643=PROPERTY_DEFINITION('',$,#10618); -#16644=PROPERTY_DEFINITION_REPRESENTATION(#16643,#16645); -#16645=SHAPE_REPRESENTATION('connection point location 2d',(#10617),#35); -#16646=PROPERTY_DEFINITION('',$,#10731); -#16647=PROPERTY_DEFINITION_REPRESENTATION(#16646,#16648); -#16648=SHAPE_REPRESENTATION('connection point location 2d',(#10730),#35); -#16649=PROPERTY_DEFINITION('',$,#10733); -#16650=PROPERTY_DEFINITION_REPRESENTATION(#16649,#16651); -#16651=SHAPE_REPRESENTATION('connection point location 2d',(#10732),#35); -#16652=PROPERTY_DEFINITION('',$,#10735); -#16653=PROPERTY_DEFINITION_REPRESENTATION(#16652,#16654); -#16654=SHAPE_REPRESENTATION('connection point location 2d',(#10734),#35); -#16655=PROPERTY_DEFINITION('',$,#10831); -#16656=PROPERTY_DEFINITION_REPRESENTATION(#16655,#16657); -#16657=SHAPE_REPRESENTATION('connection point location 2d',(#10830),#35); -#16658=PROPERTY_DEFINITION('',$,#10964); -#16659=PROPERTY_DEFINITION_REPRESENTATION(#16658,#16660); -#16660=SHAPE_REPRESENTATION('connection point location 2d',(#10963),#35); -#16661=PROPERTY_DEFINITION('',$,#10966); -#16662=PROPERTY_DEFINITION_REPRESENTATION(#16661,#16663); -#16663=SHAPE_REPRESENTATION('connection point location 2d',(#10965),#35); -#16664=PROPERTY_DEFINITION('',$,#10968); -#16665=PROPERTY_DEFINITION_REPRESENTATION(#16664,#16666); -#16666=SHAPE_REPRESENTATION('connection point location 2d',(#10967),#35); -#16667=PROPERTY_DEFINITION('',$,#10970); -#16668=PROPERTY_DEFINITION_REPRESENTATION(#16667,#16669); -#16669=SHAPE_REPRESENTATION('connection point location 2d',(#10969),#35); -#16670=PROPERTY_DEFINITION('',$,#10972); -#16671=PROPERTY_DEFINITION_REPRESENTATION(#16670,#16672); -#16672=SHAPE_REPRESENTATION('connection point location 2d',(#10971),#35); -#16673=PROPERTY_DEFINITION('',$,#10974); -#16674=PROPERTY_DEFINITION_REPRESENTATION(#16673,#16675); -#16675=SHAPE_REPRESENTATION('connection point location 2d',(#10973),#35); -#16676=PROPERTY_DEFINITION('',$,#10976); -#16677=PROPERTY_DEFINITION_REPRESENTATION(#16676,#16678); -#16678=SHAPE_REPRESENTATION('connection point location 2d',(#10975),#35); -#16679=PROPERTY_DEFINITION('',$,#10978); -#16680=PROPERTY_DEFINITION_REPRESENTATION(#16679,#16681); -#16681=SHAPE_REPRESENTATION('connection point location 2d',(#10977),#35); -#16682=PROPERTY_DEFINITION('',$,#10980); -#16683=PROPERTY_DEFINITION_REPRESENTATION(#16682,#16684); -#16684=SHAPE_REPRESENTATION('connection point location 2d',(#10979),#35); -#16685=PROPERTY_DEFINITION('',$,#10982); -#16686=PROPERTY_DEFINITION_REPRESENTATION(#16685,#16687); -#16687=SHAPE_REPRESENTATION('connection point location 2d',(#10981),#35); -#16688=PROPERTY_DEFINITION('',$,#10984); -#16689=PROPERTY_DEFINITION_REPRESENTATION(#16688,#16690); -#16690=SHAPE_REPRESENTATION('connection point location 2d',(#10983),#35); -#16691=PROPERTY_DEFINITION('',$,#10986); -#16692=PROPERTY_DEFINITION_REPRESENTATION(#16691,#16693); -#16693=SHAPE_REPRESENTATION('connection point location 2d',(#10985),#35); -#16694=PROPERTY_DEFINITION('',$,#10988); -#16695=PROPERTY_DEFINITION_REPRESENTATION(#16694,#16696); -#16696=SHAPE_REPRESENTATION('connection point location 2d',(#10987),#35); -#16697=PROPERTY_DEFINITION('',$,#10990); -#16698=PROPERTY_DEFINITION_REPRESENTATION(#16697,#16699); -#16699=SHAPE_REPRESENTATION('connection point location 2d',(#10989),#35); -#16700=PROPERTY_DEFINITION('',$,#10992); -#16701=PROPERTY_DEFINITION_REPRESENTATION(#16700,#16702); -#16702=SHAPE_REPRESENTATION('connection point location 2d',(#10991),#35); -#16703=PROPERTY_DEFINITION('',$,#10994); -#16704=PROPERTY_DEFINITION_REPRESENTATION(#16703,#16705); -#16705=SHAPE_REPRESENTATION('connection point location 2d',(#10993),#35); -#16706=PROPERTY_DEFINITION('',$,#10996); -#16707=PROPERTY_DEFINITION_REPRESENTATION(#16706,#16708); -#16708=SHAPE_REPRESENTATION('connection point location 2d',(#10995),#35); -#16709=PROPERTY_DEFINITION('',$,#10998); -#16710=PROPERTY_DEFINITION_REPRESENTATION(#16709,#16711); -#16711=SHAPE_REPRESENTATION('connection point location 2d',(#10997),#35); -#16712=PROPERTY_DEFINITION('',$,#11000); -#16713=PROPERTY_DEFINITION_REPRESENTATION(#16712,#16714); -#16714=SHAPE_REPRESENTATION('connection point location 2d',(#10999),#35); -#16715=PROPERTY_DEFINITION('',$,#11002); -#16716=PROPERTY_DEFINITION_REPRESENTATION(#16715,#16717); -#16717=SHAPE_REPRESENTATION('connection point location 2d',(#11001),#35); -#16718=PROPERTY_DEFINITION('',$,#11004); -#16719=PROPERTY_DEFINITION_REPRESENTATION(#16718,#16720); -#16720=SHAPE_REPRESENTATION('connection point location 2d',(#11003),#35); -#16721=PROPERTY_DEFINITION('',$,#11006); -#16722=PROPERTY_DEFINITION_REPRESENTATION(#16721,#16723); -#16723=SHAPE_REPRESENTATION('connection point location 2d',(#11005),#35); -#16724=PROPERTY_DEFINITION('',$,#11008); -#16725=PROPERTY_DEFINITION_REPRESENTATION(#16724,#16726); -#16726=SHAPE_REPRESENTATION('connection point location 2d',(#11007),#35); -#16727=PROPERTY_DEFINITION('',$,#11010); -#16728=PROPERTY_DEFINITION_REPRESENTATION(#16727,#16729); -#16729=SHAPE_REPRESENTATION('connection point location 2d',(#11009),#35); -#16730=PROPERTY_DEFINITION('',$,#11715); -#16731=PROPERTY_DEFINITION_REPRESENTATION(#16730,#16732); -#16732=SHAPE_REPRESENTATION('connection point location 2d',(#11714),#35); -#16733=PROPERTY_DEFINITION('',$,#11717); -#16734=PROPERTY_DEFINITION_REPRESENTATION(#16733,#16735); -#16735=SHAPE_REPRESENTATION('connection point location 2d',(#11716),#35); -#16736=PROPERTY_DEFINITION('',$,#11719); -#16737=PROPERTY_DEFINITION_REPRESENTATION(#16736,#16738); -#16738=SHAPE_REPRESENTATION('connection point location 2d',(#11718),#35); -#16739=PROPERTY_DEFINITION('',$,#11721); -#16740=PROPERTY_DEFINITION_REPRESENTATION(#16739,#16741); -#16741=SHAPE_REPRESENTATION('connection point location 2d',(#11720),#35); -#16742=PROPERTY_DEFINITION('',$,#11723); -#16743=PROPERTY_DEFINITION_REPRESENTATION(#16742,#16744); -#16744=SHAPE_REPRESENTATION('connection point location 2d',(#11722),#35); -#16745=PROPERTY_DEFINITION('',$,#11725); -#16746=PROPERTY_DEFINITION_REPRESENTATION(#16745,#16747); -#16747=SHAPE_REPRESENTATION('connection point location 2d',(#11724),#35); -#16748=PROPERTY_DEFINITION('',$,#11847); -#16749=PROPERTY_DEFINITION_REPRESENTATION(#16748,#16750); -#16750=SHAPE_REPRESENTATION('connection point location 2d',(#11846),#35); -#16751=PROPERTY_DEFINITION('',$,#11849); -#16752=PROPERTY_DEFINITION_REPRESENTATION(#16751,#16753); -#16753=SHAPE_REPRESENTATION('connection point location 2d',(#11848),#35); -#16754=PROPERTY_DEFINITION('',$,#11851); -#16755=PROPERTY_DEFINITION_REPRESENTATION(#16754,#16756); -#16756=SHAPE_REPRESENTATION('connection point location 2d',(#11850),#35); -#16757=PROPERTY_DEFINITION('',$,#12001); -#16758=PROPERTY_DEFINITION_REPRESENTATION(#16757,#16759); -#16759=SHAPE_REPRESENTATION('connection point location 2d',(#12000),#35); -#16760=PROPERTY_DEFINITION('',$,#12003); -#16761=PROPERTY_DEFINITION_REPRESENTATION(#16760,#16762); -#16762=SHAPE_REPRESENTATION('connection point location 2d',(#12002),#35); -#16763=PROPERTY_DEFINITION('',$,#12005); -#16764=PROPERTY_DEFINITION_REPRESENTATION(#16763,#16765); -#16765=SHAPE_REPRESENTATION('connection point location 2d',(#12004),#35); -#16766=PROPERTY_DEFINITION('',$,#12222); -#16767=PROPERTY_DEFINITION_REPRESENTATION(#16766,#16768); -#16768=SHAPE_REPRESENTATION('connection point location 2d',(#12221),#35); -#16769=PROPERTY_DEFINITION('',$,#12260); -#16770=PROPERTY_DEFINITION_REPRESENTATION(#16769,#16771); -#16771=SHAPE_REPRESENTATION('connection point location 2d',(#12259),#35); -#16772=PROPERTY_DEFINITION('',$,#12290); -#16773=PROPERTY_DEFINITION_REPRESENTATION(#16772,#16774); -#16774=SHAPE_REPRESENTATION('connection point location 2d',(#12289),#35); -#16775=PROPERTY_DEFINITION('',$,#12324); -#16776=PROPERTY_DEFINITION_REPRESENTATION(#16775,#16777); -#16777=SHAPE_REPRESENTATION('connection point location 2d',(#12323),#35); -#16778=PROPERTY_DEFINITION('',$,#12326); -#16779=PROPERTY_DEFINITION_REPRESENTATION(#16778,#16780); -#16780=SHAPE_REPRESENTATION('connection point location 2d',(#12325),#35); -#16781=PROPERTY_DEFINITION('',$,#12328); -#16782=PROPERTY_DEFINITION_REPRESENTATION(#16781,#16783); -#16783=SHAPE_REPRESENTATION('connection point location 2d',(#12327),#35); -#16784=PROPERTY_DEFINITION('',$,#12407); -#16785=PROPERTY_DEFINITION_REPRESENTATION(#16784,#16786); -#16786=SHAPE_REPRESENTATION('connection point location 2d',(#12406),#35); -#16787=PROPERTY_DEFINITION('',$,#12409); -#16788=PROPERTY_DEFINITION_REPRESENTATION(#16787,#16789); -#16789=SHAPE_REPRESENTATION('connection point location 2d',(#12408),#35); -#16790=PROPERTY_DEFINITION('',$,#12411); -#16791=PROPERTY_DEFINITION_REPRESENTATION(#16790,#16792); -#16792=SHAPE_REPRESENTATION('connection point location 2d',(#12410),#35); -#16793=PROPERTY_DEFINITION('',$,#12618); -#16794=PROPERTY_DEFINITION_REPRESENTATION(#16793,#16795); -#16795=SHAPE_REPRESENTATION('connection point location 2d',(#12617),#35); -#16796=PROPERTY_DEFINITION('',$,#12620); -#16797=PROPERTY_DEFINITION_REPRESENTATION(#16796,#16798); -#16798=SHAPE_REPRESENTATION('connection point location 2d',(#12619),#35); -#16799=PROPERTY_DEFINITION('',$,#12622); -#16800=PROPERTY_DEFINITION_REPRESENTATION(#16799,#16801); -#16801=SHAPE_REPRESENTATION('connection point location 2d',(#12621),#35); -#16802=PROPERTY_DEFINITION('',$,#12709); -#16803=PROPERTY_DEFINITION_REPRESENTATION(#16802,#16804); -#16804=SHAPE_REPRESENTATION('connection point location 2d',(#12708),#35); -#16805=PROPERTY_DEFINITION('',$,#12739); -#16806=PROPERTY_DEFINITION_REPRESENTATION(#16805,#16807); -#16807=SHAPE_REPRESENTATION('connection point location 2d',(#12738),#35); -#16808=PROPERTY_DEFINITION('',$,#12741); -#16809=PROPERTY_DEFINITION_REPRESENTATION(#16808,#16810); -#16810=SHAPE_REPRESENTATION('connection point location 2d',(#12740),#35); -#16811=PROPERTY_DEFINITION('',$,#12743); -#16812=PROPERTY_DEFINITION_REPRESENTATION(#16811,#16813); -#16813=SHAPE_REPRESENTATION('connection point location 2d',(#12742),#35); -#16814=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2466,#14339,#13319); -#16815=PROPERTY_DEFINITION('outer boundary style',$,#2466); -#16816=PROPERTY_DEFINITION_REPRESENTATION(#16815,#2463); -#16817=PROPERTY_DEFINITION('inner boundary style',$,#2466); -#16818=PROPERTY_DEFINITION_REPRESENTATION(#16817,#2463); -#16820=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#122,#14339,#13319); -#16821=ID_ATTRIBUTE('1',#122); -#16822=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#122); -#16823=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#95,#122); -#16824=PROPERTY_DEFINITION('location','symmetrical',#122); -#16826=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#147,#14339,#13319); -#16827=ID_ATTRIBUTE('1',#147); -#16828=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#147); -#16829=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#127,#147); -#16830=PROPERTY_DEFINITION('location','symmetrical',#147); -#16832=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#171,#14339,#13319); -#16833=ID_ATTRIBUTE('1',#171); -#16834=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#171); -#16835=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#151,#171); -#16836=PROPERTY_DEFINITION('location','symmetrical',#171); -#16838=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#195,#14339,#13319); -#16839=ID_ATTRIBUTE('1',#195); -#16840=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#195); -#16841=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#175,#195); -#16842=PROPERTY_DEFINITION('location','symmetrical',#195); -#16844=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#219,#14339,#13319); -#16845=ID_ATTRIBUTE('1',#219); -#16846=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#219); -#16847=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#199,#219); -#16848=PROPERTY_DEFINITION('location','symmetrical',#219); -#16850=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#243,#14339,#13319); -#16851=ID_ATTRIBUTE('1',#243); -#16852=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#243); -#16853=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#223,#243); -#16854=PROPERTY_DEFINITION('location','symmetrical',#243); -#16856=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#267,#14339,#13319); -#16857=ID_ATTRIBUTE('1',#267); -#16858=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#267); -#16859=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#247,#267); -#16860=PROPERTY_DEFINITION('location','symmetrical',#267); -#16862=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#300,#14339,#13319); -#16863=ID_ATTRIBUTE('1',#300); -#16864=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#300); -#16865=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#271,#300); -#16866=PROPERTY_DEFINITION('location','symmetrical',#300); -#16868=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#347,#14339,#13319); -#16869=ID_ATTRIBUTE('1',#347); -#16870=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#347); -#16871=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#321,#347); -#16872=PROPERTY_DEFINITION('location','symmetrical',#347); -#16874=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#406,#14339,#13319); -#16875=ID_ATTRIBUTE('1',#406); -#16876=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#406); -#16877=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#381,#406); -#16878=PROPERTY_DEFINITION('location','symmetrical',#406); -#16880=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#452,#14339,#13319); -#16881=ID_ATTRIBUTE('1',#452); -#16882=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#452); -#16883=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#427,#452); -#16884=PROPERTY_DEFINITION('location','symmetrical',#452); -#16886=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#481,#14339,#13319); -#16887=ID_ATTRIBUTE('1',#481); -#16888=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#481); -#16889=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#456,#481); -#16890=PROPERTY_DEFINITION('location','symmetrical',#481); -#16892=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#505,#14339,#13319); -#16893=ID_ATTRIBUTE('1',#505); -#16894=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#505); -#16895=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#485,#505); -#16896=PROPERTY_DEFINITION('location','symmetrical',#505); -#16898=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#529,#14339,#13319); -#16899=ID_ATTRIBUTE('1',#529); -#16900=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#529); -#16901=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#509,#529); -#16902=PROPERTY_DEFINITION('location','symmetrical',#529); -#16904=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#553,#14339,#13319); -#16905=ID_ATTRIBUTE('1',#553); -#16906=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#553); -#16907=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#533,#553); -#16908=PROPERTY_DEFINITION('location','symmetrical',#553); -#16910=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#577,#14339,#13319); -#16911=ID_ATTRIBUTE('1',#577); -#16912=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#577); -#16913=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#557,#577); -#16914=PROPERTY_DEFINITION('location','symmetrical',#577); -#16916=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#601,#14339,#13319); -#16917=ID_ATTRIBUTE('1',#601); -#16918=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#601); -#16919=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#581,#601); -#16920=PROPERTY_DEFINITION('location','symmetrical',#601); -#16922=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#625,#14339,#13319); -#16923=ID_ATTRIBUTE('1',#625); -#16924=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#625); -#16925=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#605,#625); -#16926=PROPERTY_DEFINITION('location','symmetrical',#625); -#16928=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#649,#14339,#13319); -#16929=ID_ATTRIBUTE('1',#649); -#16930=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#649); -#16931=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#629,#649); -#16932=PROPERTY_DEFINITION('location','symmetrical',#649); -#16934=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1767,#14339,#13319); -#16935=ID_ATTRIBUTE('1',#1767); -#16936=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#1767); -#16937=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#1762,#1767); -#16938=PROPERTY_DEFINITION('location','symmetrical',#1767); -#16940=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1815,#14339,#13319); -#16941=ID_ATTRIBUTE('1',#1815); -#16942=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#1815); -#16943=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#1810,#1815); -#16944=PROPERTY_DEFINITION('location','symmetrical',#1815); -#16946=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1962,#14339,#13319); -#16947=ID_ATTRIBUTE('1',#1962); -#16948=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#1962); -#16949=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#1957,#1962); -#16950=PROPERTY_DEFINITION('location','symmetrical',#1962); -#16952=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2105,#14339,#13319); -#16953=ID_ATTRIBUTE('1',#2105); -#16954=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#2105); -#16955=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#2100,#2105); -#16956=PROPERTY_DEFINITION('location','symmetrical',#2105); -#16958=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2164,#14339,#13319); -#16959=ID_ATTRIBUTE('1',#2164); -#16960=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#2164); -#16961=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#2159,#2164); -#16962=PROPERTY_DEFINITION('location','symmetrical',#2164); -#16964=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#123); -#16965=SHAPE_DEFINITION_REPRESENTATION(#122,#123); -#16966=REPRESENTATION_RELATIONSHIP('',$,#123,#14962); -#16967=REPRESENTATION_RELATIONSHIP('reference shape',$,#97,#123); -#16969=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#148); -#16970=SHAPE_DEFINITION_REPRESENTATION(#147,#148); -#16971=REPRESENTATION_RELATIONSHIP('',$,#148,#14962); -#16972=REPRESENTATION_RELATIONSHIP('reference shape',$,#129,#148); -#16974=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#172); -#16975=SHAPE_DEFINITION_REPRESENTATION(#171,#172); -#16976=REPRESENTATION_RELATIONSHIP('',$,#172,#14962); -#16977=REPRESENTATION_RELATIONSHIP('reference shape',$,#153,#172); -#16979=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#196); -#16980=SHAPE_DEFINITION_REPRESENTATION(#195,#196); -#16981=REPRESENTATION_RELATIONSHIP('',$,#196,#14962); -#16982=REPRESENTATION_RELATIONSHIP('reference shape',$,#177,#196); -#16984=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#220); -#16985=SHAPE_DEFINITION_REPRESENTATION(#219,#220); -#16986=REPRESENTATION_RELATIONSHIP('',$,#220,#14962); -#16987=REPRESENTATION_RELATIONSHIP('reference shape',$,#201,#220); -#16989=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#244); -#16990=SHAPE_DEFINITION_REPRESENTATION(#243,#244); -#16991=REPRESENTATION_RELATIONSHIP('',$,#244,#14962); -#16992=REPRESENTATION_RELATIONSHIP('reference shape',$,#225,#244); -#16994=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#268); -#16995=SHAPE_DEFINITION_REPRESENTATION(#267,#268); -#16996=REPRESENTATION_RELATIONSHIP('',$,#268,#14962); -#16997=REPRESENTATION_RELATIONSHIP('reference shape',$,#249,#268); -#16999=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#301); -#17000=SHAPE_DEFINITION_REPRESENTATION(#300,#301); -#17001=REPRESENTATION_RELATIONSHIP('',$,#301,#14962); -#17002=REPRESENTATION_RELATIONSHIP('reference shape',$,#273,#301); -#17004=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#348); -#17005=SHAPE_DEFINITION_REPRESENTATION(#347,#348); -#17006=REPRESENTATION_RELATIONSHIP('',$,#348,#14962); -#17007=REPRESENTATION_RELATIONSHIP('reference shape',$,#323,#348); -#17009=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#407); -#17010=SHAPE_DEFINITION_REPRESENTATION(#406,#407); -#17011=REPRESENTATION_RELATIONSHIP('',$,#407,#14962); -#17012=REPRESENTATION_RELATIONSHIP('reference shape',$,#383,#407); -#17014=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#453); -#17015=SHAPE_DEFINITION_REPRESENTATION(#452,#453); -#17016=REPRESENTATION_RELATIONSHIP('',$,#453,#14962); -#17017=REPRESENTATION_RELATIONSHIP('reference shape',$,#429,#453); -#17019=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#482); -#17020=SHAPE_DEFINITION_REPRESENTATION(#481,#482); -#17021=REPRESENTATION_RELATIONSHIP('',$,#482,#14962); -#17022=REPRESENTATION_RELATIONSHIP('reference shape',$,#458,#482); -#17024=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#506); -#17025=SHAPE_DEFINITION_REPRESENTATION(#505,#506); -#17026=REPRESENTATION_RELATIONSHIP('',$,#506,#14962); -#17027=REPRESENTATION_RELATIONSHIP('reference shape',$,#487,#506); -#17029=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#530); -#17030=SHAPE_DEFINITION_REPRESENTATION(#529,#530); -#17031=REPRESENTATION_RELATIONSHIP('',$,#530,#14962); -#17032=REPRESENTATION_RELATIONSHIP('reference shape',$,#511,#530); -#17034=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#554); -#17035=SHAPE_DEFINITION_REPRESENTATION(#553,#554); -#17036=REPRESENTATION_RELATIONSHIP('',$,#554,#14962); -#17037=REPRESENTATION_RELATIONSHIP('reference shape',$,#535,#554); -#17039=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#578); -#17040=SHAPE_DEFINITION_REPRESENTATION(#577,#578); -#17041=REPRESENTATION_RELATIONSHIP('',$,#578,#14962); -#17042=REPRESENTATION_RELATIONSHIP('reference shape',$,#559,#578); -#17044=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#602); -#17045=SHAPE_DEFINITION_REPRESENTATION(#601,#602); -#17046=REPRESENTATION_RELATIONSHIP('',$,#602,#14962); -#17047=REPRESENTATION_RELATIONSHIP('reference shape',$,#583,#602); -#17049=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#626); -#17050=SHAPE_DEFINITION_REPRESENTATION(#625,#626); -#17051=REPRESENTATION_RELATIONSHIP('',$,#626,#14962); -#17052=REPRESENTATION_RELATIONSHIP('reference shape',$,#607,#626); -#17054=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#650); -#17055=SHAPE_DEFINITION_REPRESENTATION(#649,#650); -#17056=REPRESENTATION_RELATIONSHIP('',$,#650,#14962); -#17057=REPRESENTATION_RELATIONSHIP('reference shape',$,#631,#650); -#17059=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#1768); -#17060=SHAPE_DEFINITION_REPRESENTATION(#1767,#1768); -#17061=REPRESENTATION_RELATIONSHIP('',$,#1768,#14962); -#17063=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#1816); -#17064=SHAPE_DEFINITION_REPRESENTATION(#1815,#1816); -#17065=REPRESENTATION_RELATIONSHIP('',$,#1816,#14962); -#17067=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#1963); -#17068=SHAPE_DEFINITION_REPRESENTATION(#1962,#1963); -#17069=REPRESENTATION_RELATIONSHIP('',$,#1963,#14962); -#17071=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#2106); -#17072=SHAPE_DEFINITION_REPRESENTATION(#2105,#2106); -#17073=REPRESENTATION_RELATIONSHIP('',$,#2106,#14962); -#17075=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#2165); -#17076=SHAPE_DEFINITION_REPRESENTATION(#2164,#2165); -#17077=REPRESENTATION_RELATIONSHIP('',$,#2165,#14962); -#17078=PRODUCT_CONTEXT('functional',#13318,''); -#17079=PRODUCT_DEFINITION_CONTEXT('functional design usage',#13318,''); -#17080=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#42,#17079,#13319); -#17081=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#656,#17079,#13319); -#17082=ID_ATTRIBUTE('1',#656); -#17083=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#663,#17079,#13319); -#17084=ID_ATTRIBUTE('1',#663); -#17085=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#670,#17079,#13319); -#17086=ID_ATTRIBUTE('1',#670); -#17087=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#677,#17079,#13319); -#17088=ID_ATTRIBUTE('1',#677); -#17089=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#684,#17079,#13319); -#17090=ID_ATTRIBUTE('1',#684); -#17091=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#691,#17079,#13319); -#17092=ID_ATTRIBUTE('1',#691); -#17093=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#698,#17079,#13319); -#17094=ID_ATTRIBUTE('1',#698); -#17095=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#705,#17079,#13319); -#17096=ID_ATTRIBUTE('1',#705); -#17097=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#712,#17079,#13319); -#17098=ID_ATTRIBUTE('1',#712); -#17099=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#719,#17079,#13319); -#17100=ID_ATTRIBUTE('1',#719); -#17101=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#726,#17079,#13319); -#17102=ID_ATTRIBUTE('1',#726); -#17103=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#733,#17079,#13319); -#17104=ID_ATTRIBUTE('1',#733); -#17105=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#740,#17079,#13319); -#17106=ID_ATTRIBUTE('1',#740); -#17107=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#747,#17079,#13319); -#17108=ID_ATTRIBUTE('1',#747); -#17109=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#754,#17079,#13319); -#17110=ID_ATTRIBUTE('1',#754); -#17111=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#761,#17079,#13319); -#17112=ID_ATTRIBUTE('1',#761); -#17113=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#768,#17079,#13319); -#17114=ID_ATTRIBUTE('1',#768); -#17115=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#775,#17079,#13319); -#17116=ID_ATTRIBUTE('1',#775); -#17117=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#782,#17079,#13319); -#17118=ID_ATTRIBUTE('1',#782); -#17119=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#789,#17079,#13319); -#17120=ID_ATTRIBUTE('1',#789); -#17121=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#796,#17079,#13319); -#17122=ID_ATTRIBUTE('1',#796); -#17123=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#803,#17079,#13319); -#17124=ID_ATTRIBUTE('1',#803); -#17125=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#810,#17079,#13319); -#17126=ID_ATTRIBUTE('1',#810); -#17127=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#817,#17079,#13319); -#17128=ID_ATTRIBUTE('1',#817); -#17129=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#824,#17079,#13319); -#17130=ID_ATTRIBUTE('1',#824); -#17131=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#831,#17079,#13319); -#17132=ID_ATTRIBUTE('1',#831); -#17133=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#838,#17079,#13319); -#17134=ID_ATTRIBUTE('1',#838); -#17135=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#845,#17079,#13319); -#17136=ID_ATTRIBUTE('1',#845); -#17137=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#852,#17079,#13319); -#17138=ID_ATTRIBUTE('1',#852); -#17139=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#859,#17079,#13319); -#17140=ID_ATTRIBUTE('1',#859); -#17141=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#866,#17079,#13319); -#17142=ID_ATTRIBUTE('1',#866); -#17143=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#873,#17079,#13319); -#17144=ID_ATTRIBUTE('1',#873); -#17145=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#880,#17079,#13319); -#17146=ID_ATTRIBUTE('1',#880); -#17147=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#887,#17079,#13319); -#17148=ID_ATTRIBUTE('1',#887); -#17149=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#894,#17079,#13319); -#17150=ID_ATTRIBUTE('1',#894); -#17151=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#901,#17079,#13319); -#17152=ID_ATTRIBUTE('1',#901); -#17153=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#908,#17079,#13319); -#17154=ID_ATTRIBUTE('1',#908); -#17155=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#915,#17079,#13319); -#17156=ID_ATTRIBUTE('1',#915); -#17157=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#922,#17079,#13319); -#17158=ID_ATTRIBUTE('1',#922); -#17159=DESCRIPTION_ATTRIBUTE('pupsm',#1761); -#17160=SHAPE_DEFINITION_REPRESENTATION(#1759,#1761); -#17161=REPRESENTATION('shape material condition',(#17163),#13704); -#17162=REPRESENTATION_RELATIONSHIP('',$,#1761,#17161); -#17163=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17164=REPRESENTATION('shape environment',(#17166),#13704); -#17165=REPRESENTATION_RELATIONSHIP('',$,#1761,#17164); -#17166=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17167=REPRESENTATION('shape extent',(#17169),#13704); -#17168=REPRESENTATION_RELATIONSHIP('',$,#1761,#17167); -#17169=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17170=REPRESENTATION('shape approximation level',(#17172),#13704); -#17171=REPRESENTATION_RELATIONSHIP('',$,#1761,#17170); -#17172=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17173=REPRESENTATION('mass property quality',(#17175),#13704); -#17174=REPRESENTATION_RELATIONSHIP('',$,#1761,#17173); -#17175=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17176=REPRESENTATION('predefined shape purpose',(#17178),#13704); -#17177=REPRESENTATION_RELATIONSHIP('',$,#1761,#17176); -#17178=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17179=DESCRIPTION_ATTRIBUTE('pupsm',#1812); -#17180=SHAPE_DEFINITION_REPRESENTATION(#1810,#1812); -#17181=REPRESENTATION('shape material condition',(#17183),#13704); -#17182=REPRESENTATION_RELATIONSHIP('',$,#1812,#17181); -#17183=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17184=REPRESENTATION('shape environment',(#17186),#13704); -#17185=REPRESENTATION_RELATIONSHIP('',$,#1812,#17184); -#17186=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17187=REPRESENTATION('shape extent',(#17189),#13704); -#17188=REPRESENTATION_RELATIONSHIP('',$,#1812,#17187); -#17189=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17190=REPRESENTATION('shape approximation level',(#17192),#13704); -#17191=REPRESENTATION_RELATIONSHIP('',$,#1812,#17190); -#17192=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17193=REPRESENTATION('mass property quality',(#17195),#13704); -#17194=REPRESENTATION_RELATIONSHIP('',$,#1812,#17193); -#17195=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17196=REPRESENTATION('predefined shape purpose',(#17198),#13704); -#17197=REPRESENTATION_RELATIONSHIP('',$,#1812,#17196); -#17198=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17199=DESCRIPTION_ATTRIBUTE('pupsm',#1959); -#17200=SHAPE_DEFINITION_REPRESENTATION(#1957,#1959); -#17201=REPRESENTATION('shape material condition',(#17203),#13704); -#17202=REPRESENTATION_RELATIONSHIP('',$,#1959,#17201); -#17203=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17204=REPRESENTATION('shape environment',(#17206),#13704); -#17205=REPRESENTATION_RELATIONSHIP('',$,#1959,#17204); -#17206=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17207=REPRESENTATION('shape extent',(#17209),#13704); -#17208=REPRESENTATION_RELATIONSHIP('',$,#1959,#17207); -#17209=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17210=REPRESENTATION('shape approximation level',(#17212),#13704); -#17211=REPRESENTATION_RELATIONSHIP('',$,#1959,#17210); -#17212=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17213=REPRESENTATION('mass property quality',(#17215),#13704); -#17214=REPRESENTATION_RELATIONSHIP('',$,#1959,#17213); -#17215=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17216=REPRESENTATION('predefined shape purpose',(#17218),#13704); -#17217=REPRESENTATION_RELATIONSHIP('',$,#1959,#17216); -#17218=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17219=DESCRIPTION_ATTRIBUTE('pupsm',#2102); -#17220=SHAPE_DEFINITION_REPRESENTATION(#2100,#2102); -#17221=REPRESENTATION('shape material condition',(#17223),#13704); -#17222=REPRESENTATION_RELATIONSHIP('',$,#2102,#17221); -#17223=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17224=REPRESENTATION('shape environment',(#17226),#13704); -#17225=REPRESENTATION_RELATIONSHIP('',$,#2102,#17224); -#17226=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17227=REPRESENTATION('shape extent',(#17229),#13704); -#17228=REPRESENTATION_RELATIONSHIP('',$,#2102,#17227); -#17229=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17230=REPRESENTATION('shape approximation level',(#17232),#13704); -#17231=REPRESENTATION_RELATIONSHIP('',$,#2102,#17230); -#17232=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17233=REPRESENTATION('mass property quality',(#17235),#13704); -#17234=REPRESENTATION_RELATIONSHIP('',$,#2102,#17233); -#17235=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17236=REPRESENTATION('predefined shape purpose',(#17238),#13704); -#17237=REPRESENTATION_RELATIONSHIP('',$,#2102,#17236); -#17238=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17239=DESCRIPTION_ATTRIBUTE('pupsm',#2161); -#17240=SHAPE_DEFINITION_REPRESENTATION(#2159,#2161); -#17241=REPRESENTATION('shape material condition',(#17243),#13704); -#17242=REPRESENTATION_RELATIONSHIP('',$,#2161,#17241); -#17243=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17244=REPRESENTATION('shape environment',(#17246),#13704); -#17245=REPRESENTATION_RELATIONSHIP('',$,#2161,#17244); -#17246=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17247=REPRESENTATION('shape extent',(#17249),#13704); -#17248=REPRESENTATION_RELATIONSHIP('',$,#2161,#17247); -#17249=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17250=REPRESENTATION('shape approximation level',(#17252),#13704); -#17251=REPRESENTATION_RELATIONSHIP('',$,#2161,#17250); -#17252=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17253=REPRESENTATION('mass property quality',(#17255),#13704); -#17254=REPRESENTATION_RELATIONSHIP('',$,#2161,#17253); -#17255=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17256=REPRESENTATION('predefined shape purpose',(#17258),#13704); -#17257=REPRESENTATION_RELATIONSHIP('',$,#2161,#17256); -#17258=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17259=DESCRIPTION_ATTRIBUTE('pupsm',#4185); -#17260=SHAPE_DEFINITION_REPRESENTATION(#95,#4185); -#17261=REPRESENTATION('shape material condition',(#17263),#13704); -#17262=REPRESENTATION_RELATIONSHIP('',$,#4185,#17261); -#17263=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17264=REPRESENTATION('shape environment',(#17266),#13704); -#17265=REPRESENTATION_RELATIONSHIP('',$,#4185,#17264); -#17266=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17267=REPRESENTATION('shape extent',(#17269),#13704); -#17268=REPRESENTATION_RELATIONSHIP('',$,#4185,#17267); -#17269=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17270=REPRESENTATION('shape approximation level',(#17272),#13704); -#17271=REPRESENTATION_RELATIONSHIP('',$,#4185,#17270); -#17272=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17273=REPRESENTATION('mass property quality',(#17275),#13704); -#17274=REPRESENTATION_RELATIONSHIP('',$,#4185,#17273); -#17275=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17276=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4185,#103); -#17277=REPRESENTATION('shape location',(#17279),#13704); -#17278=REPRESENTATION_RELATIONSHIP('',$,#4185,#17277); -#17279=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17280=REPRESENTATION('predefined shape purpose',(#17282),#13704); -#17281=REPRESENTATION_RELATIONSHIP('',$,#4185,#17280); -#17282=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17283=DESCRIPTION_ATTRIBUTE('pupsm',#4228); -#17284=SHAPE_DEFINITION_REPRESENTATION(#127,#4228); -#17285=REPRESENTATION('shape material condition',(#17287),#13704); -#17286=REPRESENTATION_RELATIONSHIP('',$,#4228,#17285); -#17287=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17288=REPRESENTATION('shape environment',(#17290),#13704); -#17289=REPRESENTATION_RELATIONSHIP('',$,#4228,#17288); -#17290=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17291=REPRESENTATION('shape extent',(#17293),#13704); -#17292=REPRESENTATION_RELATIONSHIP('',$,#4228,#17291); -#17293=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17294=REPRESENTATION('shape approximation level',(#17296),#13704); -#17295=REPRESENTATION_RELATIONSHIP('',$,#4228,#17294); -#17296=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17297=REPRESENTATION('mass property quality',(#17299),#13704); -#17298=REPRESENTATION_RELATIONSHIP('',$,#4228,#17297); -#17299=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17300=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4228,#132); -#17301=REPRESENTATION('shape location',(#17303),#13704); -#17302=REPRESENTATION_RELATIONSHIP('',$,#4228,#17301); -#17303=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17304=REPRESENTATION('predefined shape purpose',(#17306),#13704); -#17305=REPRESENTATION_RELATIONSHIP('',$,#4228,#17304); -#17306=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17307=DESCRIPTION_ATTRIBUTE('pupsm',#4263); -#17308=SHAPE_DEFINITION_REPRESENTATION(#151,#4263); -#17309=REPRESENTATION('shape material condition',(#17311),#13704); -#17310=REPRESENTATION_RELATIONSHIP('',$,#4263,#17309); -#17311=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17312=REPRESENTATION('shape environment',(#17314),#13704); -#17313=REPRESENTATION_RELATIONSHIP('',$,#4263,#17312); -#17314=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17315=REPRESENTATION('shape extent',(#17317),#13704); -#17316=REPRESENTATION_RELATIONSHIP('',$,#4263,#17315); -#17317=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17318=REPRESENTATION('shape approximation level',(#17320),#13704); -#17319=REPRESENTATION_RELATIONSHIP('',$,#4263,#17318); -#17320=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17321=REPRESENTATION('mass property quality',(#17323),#13704); -#17322=REPRESENTATION_RELATIONSHIP('',$,#4263,#17321); -#17323=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17324=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4263,#156); -#17325=REPRESENTATION('shape location',(#17327),#13704); -#17326=REPRESENTATION_RELATIONSHIP('',$,#4263,#17325); -#17327=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17328=REPRESENTATION('predefined shape purpose',(#17330),#13704); -#17329=REPRESENTATION_RELATIONSHIP('',$,#4263,#17328); -#17330=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17331=DESCRIPTION_ATTRIBUTE('pupsm',#4310); -#17332=SHAPE_DEFINITION_REPRESENTATION(#175,#4310); -#17333=REPRESENTATION('shape material condition',(#17335),#13704); -#17334=REPRESENTATION_RELATIONSHIP('',$,#4310,#17333); -#17335=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17336=REPRESENTATION('shape environment',(#17338),#13704); -#17337=REPRESENTATION_RELATIONSHIP('',$,#4310,#17336); -#17338=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17339=REPRESENTATION('shape extent',(#17341),#13704); -#17340=REPRESENTATION_RELATIONSHIP('',$,#4310,#17339); -#17341=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17342=REPRESENTATION('shape approximation level',(#17344),#13704); -#17343=REPRESENTATION_RELATIONSHIP('',$,#4310,#17342); -#17344=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17345=REPRESENTATION('mass property quality',(#17347),#13704); -#17346=REPRESENTATION_RELATIONSHIP('',$,#4310,#17345); -#17347=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17348=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4310,#180); -#17349=REPRESENTATION('shape location',(#17351),#13704); -#17350=REPRESENTATION_RELATIONSHIP('',$,#4310,#17349); -#17351=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17352=REPRESENTATION('predefined shape purpose',(#17354),#13704); -#17353=REPRESENTATION_RELATIONSHIP('',$,#4310,#17352); -#17354=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17355=DESCRIPTION_ATTRIBUTE('pupsm',#4351); -#17356=SHAPE_DEFINITION_REPRESENTATION(#199,#4351); -#17357=REPRESENTATION('shape material condition',(#17359),#13704); -#17358=REPRESENTATION_RELATIONSHIP('',$,#4351,#17357); -#17359=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17360=REPRESENTATION('shape environment',(#17362),#13704); -#17361=REPRESENTATION_RELATIONSHIP('',$,#4351,#17360); -#17362=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17363=REPRESENTATION('shape extent',(#17365),#13704); -#17364=REPRESENTATION_RELATIONSHIP('',$,#4351,#17363); -#17365=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17366=REPRESENTATION('shape approximation level',(#17368),#13704); -#17367=REPRESENTATION_RELATIONSHIP('',$,#4351,#17366); -#17368=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17369=REPRESENTATION('mass property quality',(#17371),#13704); -#17370=REPRESENTATION_RELATIONSHIP('',$,#4351,#17369); -#17371=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17372=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4351,#204); -#17373=REPRESENTATION('shape location',(#17375),#13704); -#17374=REPRESENTATION_RELATIONSHIP('',$,#4351,#17373); -#17375=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17376=REPRESENTATION('predefined shape purpose',(#17378),#13704); -#17377=REPRESENTATION_RELATIONSHIP('',$,#4351,#17376); -#17378=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17379=DESCRIPTION_ATTRIBUTE('pupsm',#4392); -#17380=SHAPE_DEFINITION_REPRESENTATION(#223,#4392); -#17381=REPRESENTATION('shape material condition',(#17383),#13704); -#17382=REPRESENTATION_RELATIONSHIP('',$,#4392,#17381); -#17383=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17384=REPRESENTATION('shape environment',(#17386),#13704); -#17385=REPRESENTATION_RELATIONSHIP('',$,#4392,#17384); -#17386=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17387=REPRESENTATION('shape extent',(#17389),#13704); -#17388=REPRESENTATION_RELATIONSHIP('',$,#4392,#17387); -#17389=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17390=REPRESENTATION('shape approximation level',(#17392),#13704); -#17391=REPRESENTATION_RELATIONSHIP('',$,#4392,#17390); -#17392=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17393=REPRESENTATION('mass property quality',(#17395),#13704); -#17394=REPRESENTATION_RELATIONSHIP('',$,#4392,#17393); -#17395=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17396=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4392,#228); -#17397=REPRESENTATION('shape location',(#17399),#13704); -#17398=REPRESENTATION_RELATIONSHIP('',$,#4392,#17397); -#17399=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17400=REPRESENTATION('predefined shape purpose',(#17402),#13704); -#17401=REPRESENTATION_RELATIONSHIP('',$,#4392,#17400); -#17402=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17403=DESCRIPTION_ATTRIBUTE('pupsm',#4427); -#17404=SHAPE_DEFINITION_REPRESENTATION(#247,#4427); -#17405=REPRESENTATION('shape material condition',(#17407),#13704); -#17406=REPRESENTATION_RELATIONSHIP('',$,#4427,#17405); -#17407=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17408=REPRESENTATION('shape environment',(#17410),#13704); -#17409=REPRESENTATION_RELATIONSHIP('',$,#4427,#17408); -#17410=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17411=REPRESENTATION('shape extent',(#17413),#13704); -#17412=REPRESENTATION_RELATIONSHIP('',$,#4427,#17411); -#17413=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17414=REPRESENTATION('shape approximation level',(#17416),#13704); -#17415=REPRESENTATION_RELATIONSHIP('',$,#4427,#17414); -#17416=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17417=REPRESENTATION('mass property quality',(#17419),#13704); -#17418=REPRESENTATION_RELATIONSHIP('',$,#4427,#17417); -#17419=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17420=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4427,#252); -#17421=REPRESENTATION('shape location',(#17423),#13704); -#17422=REPRESENTATION_RELATIONSHIP('',$,#4427,#17421); -#17423=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17424=REPRESENTATION('predefined shape purpose',(#17426),#13704); -#17425=REPRESENTATION_RELATIONSHIP('',$,#4427,#17424); -#17426=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17427=DESCRIPTION_ATTRIBUTE('pupsm',#4462); -#17428=SHAPE_DEFINITION_REPRESENTATION(#271,#4462); -#17429=REPRESENTATION('shape material condition',(#17431),#13704); -#17430=REPRESENTATION_RELATIONSHIP('',$,#4462,#17429); -#17431=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17432=REPRESENTATION('shape environment',(#17434),#13704); -#17433=REPRESENTATION_RELATIONSHIP('',$,#4462,#17432); -#17434=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17435=REPRESENTATION('shape extent',(#17437),#13704); -#17436=REPRESENTATION_RELATIONSHIP('',$,#4462,#17435); -#17437=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17438=REPRESENTATION('shape approximation level',(#17440),#13704); -#17439=REPRESENTATION_RELATIONSHIP('',$,#4462,#17438); -#17440=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17441=REPRESENTATION('mass property quality',(#17443),#13704); -#17442=REPRESENTATION_RELATIONSHIP('',$,#4462,#17441); -#17443=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17444=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4462,#276); -#17445=REPRESENTATION('shape location',(#17447),#13704); -#17446=REPRESENTATION_RELATIONSHIP('',$,#4462,#17445); -#17447=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17448=REPRESENTATION('predefined shape purpose',(#17450),#13704); -#17449=REPRESENTATION_RELATIONSHIP('',$,#4462,#17448); -#17450=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17451=DESCRIPTION_ATTRIBUTE('pupsm',#4495); -#17452=SHAPE_DEFINITION_REPRESENTATION(#321,#4495); -#17453=REPRESENTATION('shape material condition',(#17455),#13704); -#17454=REPRESENTATION_RELATIONSHIP('',$,#4495,#17453); -#17455=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17456=REPRESENTATION('shape environment',(#17458),#13704); -#17457=REPRESENTATION_RELATIONSHIP('',$,#4495,#17456); -#17458=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17459=REPRESENTATION('shape extent',(#17461),#13704); -#17460=REPRESENTATION_RELATIONSHIP('',$,#4495,#17459); -#17461=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17462=REPRESENTATION('shape approximation level',(#17464),#13704); -#17463=REPRESENTATION_RELATIONSHIP('',$,#4495,#17462); -#17464=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17465=REPRESENTATION('mass property quality',(#17467),#13704); -#17466=REPRESENTATION_RELATIONSHIP('',$,#4495,#17465); -#17467=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17468=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4495,#326); -#17469=REPRESENTATION('shape location',(#17471),#13704); -#17470=REPRESENTATION_RELATIONSHIP('',$,#4495,#17469); -#17471=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17472=REPRESENTATION('predefined shape purpose',(#17474),#13704); -#17473=REPRESENTATION_RELATIONSHIP('',$,#4495,#17472); -#17474=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17475=DESCRIPTION_ATTRIBUTE('pupsm',#5326); -#17476=SHAPE_DEFINITION_REPRESENTATION(#381,#5326); -#17477=REPRESENTATION('shape material condition',(#17479),#13704); -#17478=REPRESENTATION_RELATIONSHIP('',$,#5326,#17477); -#17479=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17480=REPRESENTATION('shape environment',(#17482),#13704); -#17481=REPRESENTATION_RELATIONSHIP('',$,#5326,#17480); -#17482=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17483=REPRESENTATION('shape extent',(#17485),#13704); -#17484=REPRESENTATION_RELATIONSHIP('',$,#5326,#17483); -#17485=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17486=REPRESENTATION('shape approximation level',(#17488),#13704); -#17487=REPRESENTATION_RELATIONSHIP('',$,#5326,#17486); -#17488=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17489=REPRESENTATION('mass property quality',(#17491),#13704); -#17490=REPRESENTATION_RELATIONSHIP('',$,#5326,#17489); -#17491=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17492=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#5326,#386); -#17493=REPRESENTATION('shape location',(#17495),#13704); -#17494=REPRESENTATION_RELATIONSHIP('',$,#5326,#17493); -#17495=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17496=REPRESENTATION('predefined shape purpose',(#17498),#13704); -#17497=REPRESENTATION_RELATIONSHIP('',$,#5326,#17496); -#17498=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17499=DESCRIPTION_ATTRIBUTE('pupsm',#5392); -#17500=SHAPE_DEFINITION_REPRESENTATION(#427,#5392); -#17501=REPRESENTATION('shape material condition',(#17503),#13704); -#17502=REPRESENTATION_RELATIONSHIP('',$,#5392,#17501); -#17503=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17504=REPRESENTATION('shape environment',(#17506),#13704); -#17505=REPRESENTATION_RELATIONSHIP('',$,#5392,#17504); -#17506=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17507=REPRESENTATION('shape extent',(#17509),#13704); -#17508=REPRESENTATION_RELATIONSHIP('',$,#5392,#17507); -#17509=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17510=REPRESENTATION('shape approximation level',(#17512),#13704); -#17511=REPRESENTATION_RELATIONSHIP('',$,#5392,#17510); -#17512=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17513=REPRESENTATION('mass property quality',(#17515),#13704); -#17514=REPRESENTATION_RELATIONSHIP('',$,#5392,#17513); -#17515=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17516=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#5392,#432); -#17517=REPRESENTATION('shape location',(#17519),#13704); -#17518=REPRESENTATION_RELATIONSHIP('',$,#5392,#17517); -#17519=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17520=REPRESENTATION('predefined shape purpose',(#17522),#13704); -#17521=REPRESENTATION_RELATIONSHIP('',$,#5392,#17520); -#17522=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17523=DESCRIPTION_ATTRIBUTE('pupsm',#5431); -#17524=SHAPE_DEFINITION_REPRESENTATION(#456,#5431); -#17525=REPRESENTATION('shape material condition',(#17527),#13704); -#17526=REPRESENTATION_RELATIONSHIP('',$,#5431,#17525); -#17527=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17528=REPRESENTATION('shape environment',(#17530),#13704); -#17529=REPRESENTATION_RELATIONSHIP('',$,#5431,#17528); -#17530=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17531=REPRESENTATION('shape extent',(#17533),#13704); -#17532=REPRESENTATION_RELATIONSHIP('',$,#5431,#17531); -#17533=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17534=REPRESENTATION('shape approximation level',(#17536),#13704); -#17535=REPRESENTATION_RELATIONSHIP('',$,#5431,#17534); -#17536=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17537=REPRESENTATION('mass property quality',(#17539),#13704); -#17538=REPRESENTATION_RELATIONSHIP('',$,#5431,#17537); -#17539=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17540=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#5431,#461); -#17541=REPRESENTATION('shape location',(#17543),#13704); -#17542=REPRESENTATION_RELATIONSHIP('',$,#5431,#17541); -#17543=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17544=REPRESENTATION('predefined shape purpose',(#17546),#13704); -#17545=REPRESENTATION_RELATIONSHIP('',$,#5431,#17544); -#17546=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17547=DESCRIPTION_ATTRIBUTE('pupsm',#5470); -#17548=SHAPE_DEFINITION_REPRESENTATION(#485,#5470); -#17549=REPRESENTATION('shape material condition',(#17551),#13704); -#17550=REPRESENTATION_RELATIONSHIP('',$,#5470,#17549); -#17551=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17552=REPRESENTATION('shape environment',(#17554),#13704); -#17553=REPRESENTATION_RELATIONSHIP('',$,#5470,#17552); -#17554=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17555=REPRESENTATION('shape extent',(#17557),#13704); -#17556=REPRESENTATION_RELATIONSHIP('',$,#5470,#17555); -#17557=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17558=REPRESENTATION('shape approximation level',(#17560),#13704); -#17559=REPRESENTATION_RELATIONSHIP('',$,#5470,#17558); -#17560=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17561=REPRESENTATION('mass property quality',(#17563),#13704); -#17562=REPRESENTATION_RELATIONSHIP('',$,#5470,#17561); -#17563=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17564=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#5470,#490); -#17565=REPRESENTATION('shape location',(#17567),#13704); -#17566=REPRESENTATION_RELATIONSHIP('',$,#5470,#17565); -#17567=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17568=REPRESENTATION('predefined shape purpose',(#17570),#13704); -#17569=REPRESENTATION_RELATIONSHIP('',$,#5470,#17568); -#17570=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17571=DESCRIPTION_ATTRIBUTE('pupsm',#5505); -#17572=SHAPE_DEFINITION_REPRESENTATION(#509,#5505); -#17573=REPRESENTATION('shape material condition',(#17575),#13704); -#17574=REPRESENTATION_RELATIONSHIP('',$,#5505,#17573); -#17575=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17576=REPRESENTATION('shape environment',(#17578),#13704); -#17577=REPRESENTATION_RELATIONSHIP('',$,#5505,#17576); -#17578=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17579=REPRESENTATION('shape extent',(#17581),#13704); -#17580=REPRESENTATION_RELATIONSHIP('',$,#5505,#17579); -#17581=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17582=REPRESENTATION('shape approximation level',(#17584),#13704); -#17583=REPRESENTATION_RELATIONSHIP('',$,#5505,#17582); -#17584=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17585=REPRESENTATION('mass property quality',(#17587),#13704); -#17586=REPRESENTATION_RELATIONSHIP('',$,#5505,#17585); -#17587=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17588=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#5505,#514); -#17589=REPRESENTATION('shape location',(#17591),#13704); -#17590=REPRESENTATION_RELATIONSHIP('',$,#5505,#17589); -#17591=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17592=REPRESENTATION('predefined shape purpose',(#17594),#13704); -#17593=REPRESENTATION_RELATIONSHIP('',$,#5505,#17592); -#17594=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17595=DESCRIPTION_ATTRIBUTE('pupsm',#5540); -#17596=SHAPE_DEFINITION_REPRESENTATION(#533,#5540); -#17597=REPRESENTATION('shape material condition',(#17599),#13704); -#17598=REPRESENTATION_RELATIONSHIP('',$,#5540,#17597); -#17599=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17600=REPRESENTATION('shape environment',(#17602),#13704); -#17601=REPRESENTATION_RELATIONSHIP('',$,#5540,#17600); -#17602=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17603=REPRESENTATION('shape extent',(#17605),#13704); -#17604=REPRESENTATION_RELATIONSHIP('',$,#5540,#17603); -#17605=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17606=REPRESENTATION('shape approximation level',(#17608),#13704); -#17607=REPRESENTATION_RELATIONSHIP('',$,#5540,#17606); -#17608=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17609=REPRESENTATION('mass property quality',(#17611),#13704); -#17610=REPRESENTATION_RELATIONSHIP('',$,#5540,#17609); -#17611=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17612=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#5540,#538); -#17613=REPRESENTATION('shape location',(#17615),#13704); -#17614=REPRESENTATION_RELATIONSHIP('',$,#5540,#17613); -#17615=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17616=REPRESENTATION('predefined shape purpose',(#17618),#13704); -#17617=REPRESENTATION_RELATIONSHIP('',$,#5540,#17616); -#17618=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17619=DESCRIPTION_ATTRIBUTE('pupsm',#5597); -#17620=SHAPE_DEFINITION_REPRESENTATION(#557,#5597); -#17621=REPRESENTATION('shape material condition',(#17623),#13704); -#17622=REPRESENTATION_RELATIONSHIP('',$,#5597,#17621); -#17623=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17624=REPRESENTATION('shape environment',(#17626),#13704); -#17625=REPRESENTATION_RELATIONSHIP('',$,#5597,#17624); -#17626=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17627=REPRESENTATION('shape extent',(#17629),#13704); -#17628=REPRESENTATION_RELATIONSHIP('',$,#5597,#17627); -#17629=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17630=REPRESENTATION('shape approximation level',(#17632),#13704); -#17631=REPRESENTATION_RELATIONSHIP('',$,#5597,#17630); -#17632=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17633=REPRESENTATION('mass property quality',(#17635),#13704); -#17634=REPRESENTATION_RELATIONSHIP('',$,#5597,#17633); -#17635=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17636=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#5597,#562); -#17637=REPRESENTATION('shape location',(#17639),#13704); -#17638=REPRESENTATION_RELATIONSHIP('',$,#5597,#17637); -#17639=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17640=REPRESENTATION('predefined shape purpose',(#17642),#13704); -#17641=REPRESENTATION_RELATIONSHIP('',$,#5597,#17640); -#17642=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17643=DESCRIPTION_ATTRIBUTE('pupsm',#5785); -#17644=SHAPE_DEFINITION_REPRESENTATION(#581,#5785); -#17645=REPRESENTATION('shape material condition',(#17647),#13704); -#17646=REPRESENTATION_RELATIONSHIP('',$,#5785,#17645); -#17647=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17648=REPRESENTATION('shape environment',(#17650),#13704); -#17649=REPRESENTATION_RELATIONSHIP('',$,#5785,#17648); -#17650=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17651=REPRESENTATION('shape extent',(#17653),#13704); -#17652=REPRESENTATION_RELATIONSHIP('',$,#5785,#17651); -#17653=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17654=REPRESENTATION('shape approximation level',(#17656),#13704); -#17655=REPRESENTATION_RELATIONSHIP('',$,#5785,#17654); -#17656=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17657=REPRESENTATION('mass property quality',(#17659),#13704); -#17658=REPRESENTATION_RELATIONSHIP('',$,#5785,#17657); -#17659=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17660=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#5785,#586); -#17661=REPRESENTATION('shape location',(#17663),#13704); -#17662=REPRESENTATION_RELATIONSHIP('',$,#5785,#17661); -#17663=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17664=REPRESENTATION('predefined shape purpose',(#17666),#13704); -#17665=REPRESENTATION_RELATIONSHIP('',$,#5785,#17664); -#17666=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17667=DESCRIPTION_ATTRIBUTE('pupsm',#5826); -#17668=SHAPE_DEFINITION_REPRESENTATION(#605,#5826); -#17669=REPRESENTATION('shape material condition',(#17671),#13704); -#17670=REPRESENTATION_RELATIONSHIP('',$,#5826,#17669); -#17671=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17672=REPRESENTATION('shape environment',(#17674),#13704); -#17673=REPRESENTATION_RELATIONSHIP('',$,#5826,#17672); -#17674=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17675=REPRESENTATION('shape extent',(#17677),#13704); -#17676=REPRESENTATION_RELATIONSHIP('',$,#5826,#17675); -#17677=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17678=REPRESENTATION('shape approximation level',(#17680),#13704); -#17679=REPRESENTATION_RELATIONSHIP('',$,#5826,#17678); -#17680=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17681=REPRESENTATION('mass property quality',(#17683),#13704); -#17682=REPRESENTATION_RELATIONSHIP('',$,#5826,#17681); -#17683=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17684=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#5826,#610); -#17685=REPRESENTATION('shape location',(#17687),#13704); -#17686=REPRESENTATION_RELATIONSHIP('',$,#5826,#17685); -#17687=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17688=REPRESENTATION('predefined shape purpose',(#17690),#13704); -#17689=REPRESENTATION_RELATIONSHIP('',$,#5826,#17688); -#17690=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17691=DESCRIPTION_ATTRIBUTE('pupsm',#5861); -#17692=SHAPE_DEFINITION_REPRESENTATION(#629,#5861); -#17693=REPRESENTATION('shape material condition',(#17695),#13704); -#17694=REPRESENTATION_RELATIONSHIP('',$,#5861,#17693); -#17695=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#17696=REPRESENTATION('shape environment',(#17698),#13704); -#17697=REPRESENTATION_RELATIONSHIP('',$,#5861,#17696); -#17698=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#17699=REPRESENTATION('shape extent',(#17701),#13704); -#17700=REPRESENTATION_RELATIONSHIP('',$,#5861,#17699); -#17701=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#17702=REPRESENTATION('shape approximation level',(#17704),#13704); -#17703=REPRESENTATION_RELATIONSHIP('',$,#5861,#17702); -#17704=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17705=REPRESENTATION('mass property quality',(#17707),#13704); -#17706=REPRESENTATION_RELATIONSHIP('',$,#5861,#17705); -#17707=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#17708=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#5861,#634); -#17709=REPRESENTATION('shape location',(#17711),#13704); -#17710=REPRESENTATION_RELATIONSHIP('',$,#5861,#17709); -#17711=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#17712=REPRESENTATION('predefined shape purpose',(#17714),#13704); -#17713=REPRESENTATION_RELATIONSHIP('',$,#5861,#17712); -#17714=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#17715=REPRESENTATION_MAP(#26,#2408); -#17716=REPRESENTATION_MAP(#26,#4199); -#17717=REPRESENTATION_MAP(#26,#4242); -#17718=REPRESENTATION_MAP(#26,#4289); -#17719=REPRESENTATION_MAP(#26,#4330); -#17720=REPRESENTATION_MAP(#26,#4371); -#17721=REPRESENTATION_MAP(#26,#4406); -#17722=REPRESENTATION_MAP(#26,#4441); -#17723=REPRESENTATION_MAP(#26,#4467); -#17724=REPRESENTATION_MAP(#26,#4535); -#17725=REPRESENTATION_MAP(#26,#5364); -#17726=REPRESENTATION_MAP(#26,#5403); -#17727=REPRESENTATION_MAP(#26,#5442); -#17728=REPRESENTATION_MAP(#26,#5484); -#17729=REPRESENTATION_MAP(#26,#5519); -#17730=REPRESENTATION_MAP(#26,#5548); -#17731=REPRESENTATION_MAP(#26,#5680); -#17732=REPRESENTATION_MAP(#26,#5805); -#17733=REPRESENTATION_MAP(#26,#5840); -#17734=REPRESENTATION_MAP(#26,#5883); -#17735=REPRESENTATION_MAP(#26,#2531); -#17736=REPRESENTATION_MAP(#26,#3313); -#17737=REPRESENTATION_MAP(#26,#2689); -#17738=REPRESENTATION_MAP(#26,#3005); -#17739=REPRESENTATION_MAP(#26,#2847); -#17740=REPRESENTATION_MAP(#26,#3629); -#17741=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#31,#57); -#17742=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#32,#58); -#17743=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#33,#59); -#17744=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6651,#6658); -#17745=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6659,#6666); -#17746=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6682,#6689); -#17747=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6690,#6697); -#17748=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6713,#6720); -#17749=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6721,#6728); -#17750=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6743,#6750); -#17751=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6751,#6758); -#17752=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6773,#6780); -#17753=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6781,#6788); -#17754=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6804,#6811); -#17755=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6812,#6819); -#17756=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6834,#6841); -#17757=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6842,#6849); -#17758=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6872,#6879); -#17759=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6880,#6887); -#17760=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6888,#6895); -#17761=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6910,#6917); -#17762=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6918,#6925); -#17763=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6940,#6947); -#17764=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6948,#6955); -#17765=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6970,#6977); -#17766=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6978,#6985); -#17767=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7000,#7007); -#17768=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7008,#7015); -#17769=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7037,#7044); -#17770=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7045,#7052); -#17771=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7053,#7060); -#17772=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7075,#7082); -#17773=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7083,#7090); -#17774=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7105,#7112); -#17775=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7113,#7120); -#17776=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7135,#7142); -#17777=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7143,#7150); -#17778=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7185,#7192); -#17779=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7193,#7200); -#17780=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7201,#7208); -#17781=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7209,#7216); -#17782=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7217,#7224); -#17783=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7225,#7232); -#17784=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7247,#7254); -#17785=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7255,#7262); -#17786=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7277,#7284); -#17787=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7285,#7292); -#17788=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7307,#7314); -#17789=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7315,#7322); -#17790=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7337,#7344); -#17791=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7345,#7352); -#17792=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7367,#7374); -#17793=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7375,#7382); -#17794=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7403,#7410); -#17795=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7411,#7418); -#17796=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7419,#7426); -#17797=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7441,#7448); -#17798=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7449,#7456); -#17799=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7471,#7478); -#17800=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7479,#7486); -#17801=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7501,#7508); -#17802=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7509,#7516); -#17803=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7531,#7538); -#17804=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7539,#7546); -#17805=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7561,#7568); -#17806=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7569,#7576); -#17807=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7591,#7598); -#17808=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7599,#7606); -#17809=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7621,#7628); -#17810=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7629,#7636); -#17811=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7651,#7658); -#17812=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7659,#7666); -#17813=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7681,#7688); -#17814=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7689,#7696); -#17815=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7711,#7718); -#17816=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7719,#7726); -#17817=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7741,#7748); -#17818=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7749,#7756); -#17819=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7771,#7778); -#17820=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7779,#7786); -#17821=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7801,#7808); -#17822=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7809,#7816); -#17823=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7851,#7858); -#17824=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7859,#7866); -#17825=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7867,#7874); -#17826=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7875,#7882); -#17827=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7883,#7890); -#17828=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7891,#7898); -#17829=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7913,#7920); -#17830=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7921,#7928); -#17831=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7943,#7950); -#17832=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7951,#7958); -#17833=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8033,#8040); -#17834=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8041,#8048); -#17835=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8049,#8056); -#17836=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8057,#8064); -#17837=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8065,#8072); -#17838=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8073,#8080); -#17839=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8081,#8088); -#17840=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8089,#8096); -#17841=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8097,#8104); -#17842=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8105,#8112); -#17843=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8113,#8120); -#17844=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8121,#8128); -#17845=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8129,#8136); -#17846=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8137,#8144); -#17847=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8159,#8166); -#17848=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8167,#8174); -#17849=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8189,#8196); -#17850=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8197,#8204); -#17851=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8219,#8226); -#17852=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8227,#8234); -#17853=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8249,#8256); -#17854=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8257,#8264); -#17855=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8279,#8286); -#17856=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8287,#8294); -#17857=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8309,#8316); -#17858=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8317,#8324); -#17859=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8339,#8346); -#17860=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8347,#8354); -#17861=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8369,#8376); -#17862=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8377,#8384); -#17863=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8399,#8406); -#17864=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8407,#8414); -#17865=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8429,#8436); -#17866=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8437,#8444); -#17867=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8459,#8466); -#17868=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8467,#8474); -#17869=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8489,#8496); -#17870=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8497,#8504); -#17871=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8519,#8526); -#17872=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8527,#8534); -#17873=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8549,#8556); -#17874=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8557,#8564); -#17875=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8579,#8586); -#17876=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8587,#8594); -#17877=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8609,#8616); -#17878=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#8617,#8624); -#17879=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9192,#9199); -#17880=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9200,#9207); -#17881=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9208,#9215); -#17882=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9216,#9223); -#17883=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9224,#9231); -#17884=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9232,#9239); -#17885=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9240,#9247); -#17886=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9248,#9255); -#17887=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9256,#9263); -#17888=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9264,#9271); -#17889=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9272,#9279); -#17890=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9280,#9287); -#17891=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9288,#9295); -#17892=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9296,#9303); -#17893=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9304,#9311); -#17894=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9312,#9319); -#17895=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9320,#9327); -#17896=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9328,#9335); -#17897=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9336,#9343); -#17898=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9344,#9351); -#17899=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9352,#9359); -#17900=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9360,#9367); -#17901=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9368,#9375); -#17902=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9376,#9383); -#17903=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9384,#9391); -#17904=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9392,#9399); -#17905=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9400,#9407); -#17906=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9408,#9415); -#17907=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9416,#9423); -#17908=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9424,#9431); -#17909=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9432,#9439); -#17910=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9440,#9447); -#17911=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9448,#9455); -#17912=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9456,#9463); -#17913=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9464,#9471); -#17914=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9472,#9479); -#17915=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9480,#9487); -#17916=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9488,#9495); -#17917=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9496,#9503); -#17918=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9504,#9511); -#17919=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9512,#9519); -#17920=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9520,#9527); -#17921=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9528,#9535); -#17922=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9536,#9543); -#17923=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9544,#9551); -#17924=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9552,#9559); -#17925=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9560,#9567); -#17926=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9568,#9575); -#17927=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9576,#9583); -#17928=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9584,#9591); -#17929=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9592,#9599); -#17930=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9600,#9607); -#17931=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9608,#9615); -#17932=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9616,#9623); -#17933=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9624,#9631); -#17934=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9632,#9639); -#17935=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9640,#9647); -#17936=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9648,#9655); -#17937=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9656,#9663); -#17938=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9664,#9671); -#17939=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9672,#9679); -#17940=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9680,#9687); -#17941=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9688,#9695); -#17942=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9696,#9703); -#17943=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9704,#9711); -#17944=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9712,#9719); -#17945=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9720,#9727); -#17946=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9728,#9735); -#17947=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9736,#9743); -#17948=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9744,#9751); -#17949=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9752,#9759); -#17950=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9760,#9767); -#17951=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9768,#9775); -#17952=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9776,#9783); -#17953=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9784,#9791); -#17954=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9792,#9799); -#17955=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9800,#9807); -#17956=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9808,#9815); -#17957=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9816,#9823); -#17958=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9824,#9831); -#17959=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9832,#9839); -#17960=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9840,#9847); -#17961=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9848,#9855); -#17962=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9856,#9863); -#17963=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9864,#9871); -#17964=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9872,#9879); -#17965=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9880,#9887); -#17966=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9888,#9895); -#17967=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9896,#9903); -#17968=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9904,#9911); -#17969=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9912,#9919); -#17970=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9920,#9927); -#17971=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9928,#9935); -#17972=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9936,#9943); -#17973=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9944,#9951); -#17974=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9952,#9959); -#17975=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9960,#9967); -#17976=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9968,#9975); -#17977=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9976,#9983); -#17978=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9984,#9991); -#17979=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#9992,#9999); -#17980=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10000,#10007); -#17981=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10008,#10015); -#17982=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10016,#10023); -#17983=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10024,#10031); -#17984=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10032,#10039); -#17985=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10040,#10047); -#17986=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10048,#10055); -#17987=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10056,#10063); -#17988=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10064,#10071); -#17989=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10072,#10079); -#17990=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10080,#10087); -#17991=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10102,#10109); -#17992=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10110,#10117); -#17993=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10132,#10139); -#17994=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10140,#10147); -#17995=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10162,#10169); -#17996=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10170,#10177); -#17997=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10192,#10199); -#17998=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10200,#10207); -#17999=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10222,#10229); -#18000=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10230,#10237); -#18001=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10252,#10259); -#18002=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10260,#10267); -#18003=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10282,#10289); -#18004=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10290,#10297); -#18005=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10312,#10319); -#18006=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10320,#10327); -#18007=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10347,#10354); -#18008=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10355,#10362); -#18009=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10363,#10370); -#18010=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10385,#10392); -#18011=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10393,#10400); -#18012=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10415,#10422); -#18013=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10423,#10430); -#18014=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10450,#10457); -#18015=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10458,#10465); -#18016=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10466,#10473); -#18017=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10488,#10495); -#18018=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10496,#10503); -#18019=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10518,#10525); -#18020=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#10526,#10533); -#18021=PROPERTY_DEFINITION('',$,#32); -#18022=PROPERTY_DEFINITION_REPRESENTATION(#18021,#18023); -#18023=REPRESENTATION('material state change',(#18024),#13704); -#18024=REPRESENTATION_ITEM('material addition'); -#18025=PROPERTY_DEFINITION('',$,#33); -#18026=PROPERTY_DEFINITION_REPRESENTATION(#18025,#18027); -#18027=REPRESENTATION('material state change',(#18028),#13704); -#18028=REPRESENTATION_ITEM('material addition'); -#18029=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#308,#14339,#13319); -#18030=ID_ATTRIBUTE('1',#308); -#18031=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#302,#308); -#18032=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2407,#14339,#13319); -#18033=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2410,#2407); -#18034=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10710,#10641); -#18035=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10710,#10653); -#18036=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10828,#10819); -#18037=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10828,#10806); -#18038=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11557,#11062); -#18039=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11557,#11551); -#18040=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11955,#11946); -#18041=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11955,#11919); -#18042=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12188,#12164); -#18043=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12188,#12182); -#18044=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12849,#12843); -#18045=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12849,#12815); -#18046=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10573,#10552); -#18047=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10573,#10567); -#18048=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10573,#10537); -#18049=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10596,#10591); -#18050=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10596,#10588); -#18051=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10615,#10610); -#18052=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10615,#10607); -#18053=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10646,#10628); -#18054=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10646,#10641); -#18055=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10646,#10618); -#18056=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10709,#10704); -#18057=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10709,#10682); -#18058=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10709,#10668); -#18059=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10709,#10656); -#18060=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10709,#10671); -#18061=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10709,#10653); -#18062=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10728,#10723); -#18063=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10728,#10720); -#18064=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10811,#10771); -#18065=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10811,#10745); -#18066=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10811,#10806); -#18067=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10811,#10755); -#18068=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10811,#10768); -#18069=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10811,#10783); -#18070=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10811,#10735); -#18071=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10811,#10733); -#18072=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10811,#10731); -#18073=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10827,#10819); -#18074=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10827,#10822); -#18075=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10862,#10857); -#18076=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10862,#10841); -#18077=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10862,#10831); -#18078=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10926,#10897); -#18079=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10926,#10921); -#18080=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10926,#10873); -#18081=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10926,#10870); -#18082=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10926,#10883); -#18083=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10926,#10894); -#18084=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10944,#10936); -#18085=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10944,#10939); -#18086=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10961,#10956); -#18087=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10961,#10953); -#18088=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11132); -#18089=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11223); -#18090=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11080); -#18091=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11033); -#18092=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11065); -#18093=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11077); -#18094=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11179); -#18095=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11262); -#18096=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11048); -#18097=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11093); -#18098=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11062); -#18099=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11150); -#18100=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11045); -#18101=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11147); -#18102=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11164); -#18103=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#11251); -#18104=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10968); -#18105=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10970); -#18106=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10964); -#18107=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10984); -#18108=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10982); -#18109=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10978); -#18110=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10966); -#18111=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10976); -#18112=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10980); -#18113=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10972); -#18114=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10988); -#18115=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11272,#10974); -#18116=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11425); -#18117=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11483); -#18118=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11318); -#18119=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11536); -#18120=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11399); -#18121=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11305); -#18122=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11394); -#18123=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11411); -#18124=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11321); -#18125=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11414); -#18126=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11283); -#18127=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11294); -#18128=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11378); -#18129=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11462); -#18130=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11349); -#18131=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11352); -#18132=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#10986); -#18133=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11010); -#18134=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11002); -#18135=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11000); -#18136=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#10990); -#18137=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#10998); -#18138=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11008); -#18139=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#10996); -#18140=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#10994); -#18141=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11004); -#18142=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#11006); -#18143=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11541,#10992); -#18144=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11556,#11548); -#18145=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11556,#11551); -#18146=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11619,#11583); -#18147=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11619,#11594); -#18148=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11619,#11569); -#18149=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11619,#11566); -#18150=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11619,#11605); -#18151=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11619,#11580); -#18152=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11635,#11627); -#18153=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11635,#11630); -#18154=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11654,#11646); -#18155=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11654,#11649); -#18156=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11670,#11665); -#18157=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11670,#11662); -#18158=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11708,#11681); -#18159=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11708,#11702); -#18160=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11708,#11691); -#18161=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11708,#11678); -#18162=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11792,#11758); -#18163=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11792,#11771); -#18164=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11792,#11784); -#18165=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11792,#11745); -#18166=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11792,#11715); -#18167=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11792,#11721); -#18168=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11792,#11717); -#18169=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11792,#11723); -#18170=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11792,#11725); -#18171=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11792,#11719); -#18172=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11809,#11804); -#18173=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11809,#11801); -#18174=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11825,#11820); -#18175=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11825,#11817); -#18176=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11844,#11839); -#18177=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11844,#11836); -#18178=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11895,#11887); -#18179=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11895,#11862); -#18180=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11895,#11877); -#18181=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11895,#11851); -#18182=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11895,#11847); -#18183=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11895,#11849); -#18184=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11937,#11908); -#18185=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11937,#11932); -#18186=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11937,#11919); -#18187=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11937,#11905); -#18188=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11954,#11949); -#18189=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11954,#11946); -#18190=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11998,#11967); -#18191=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11998,#11964); -#18192=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11998,#11992); -#18193=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11998,#11979); -#18194=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12047,#12025); -#18195=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12047,#12012); -#18196=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12047,#12039); -#18197=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12047,#12001); -#18198=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12047,#12003); -#18199=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12047,#12005); -#18200=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12065,#12057); -#18201=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12065,#12060); -#18202=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12104,#12098); -#18203=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12104,#12087); -#18204=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12104,#12074); -#18205=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12104,#12077); -#18206=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12153,#12115); -#18207=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12153,#12125); -#18208=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12153,#12112); -#18209=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12153,#12147); -#18210=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12153,#12136); -#18211=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12169,#12161); -#18212=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12169,#12164); -#18213=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12187,#12179); -#18214=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12187,#12182); -#18215=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12219,#12214); -#18216=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12219,#12200); -#18217=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12219,#12203); -#18218=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12257,#12232); -#18219=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12257,#12252); -#18220=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12257,#12222); -#18221=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12287,#12282); -#18222=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12287,#12267); -#18223=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12287,#12260); -#18224=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12321,#12302); -#18225=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12321,#12315); -#18226=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12321,#12290); -#18227=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12404,#12388); -#18228=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12404,#12361); -#18229=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12404,#12338); -#18230=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12404,#12348); -#18231=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12404,#12351); -#18232=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12404,#12385); -#18233=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12404,#12328); -#18234=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12404,#12326); -#18235=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12404,#12324); -#18236=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12501,#12465); -#18237=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12501,#12437); -#18238=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12501,#12447); -#18239=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12501,#12434); -#18240=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12501,#12423); -#18241=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12501,#12462); -#18242=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12501,#12484); -#18243=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12501,#12409); -#18244=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12501,#12407); -#18245=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12501,#12411); -#18246=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12562,#12525); -#18247=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12562,#12512); -#18248=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12562,#12522); -#18249=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12562,#12537); -#18250=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12562,#12557); -#18251=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12562,#12509); -#18252=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12582,#12577); -#18253=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12582,#12574); -#18254=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12615,#12596); -#18255=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12615,#12610); -#18256=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12615,#12599); -#18257=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12670,#12632); -#18258=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12670,#12648); -#18259=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12670,#12662); -#18260=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12670,#12618); -#18261=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12670,#12620); -#18262=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12670,#12622); -#18263=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12688,#12683); -#18264=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12688,#12680); -#18265=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12705,#12697); -#18266=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12705,#12700); -#18267=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12736,#12720); -#18268=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12736,#12730); -#18269=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12736,#12709); -#18270=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12831,#12793); -#18271=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12831,#12825); -#18272=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12831,#12750); -#18273=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12831,#12804); -#18274=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12831,#12815); -#18275=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12831,#12782); -#18276=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12831,#12767); -#18277=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12831,#12739); -#18278=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12831,#12743); -#18279=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12831,#12741); -#18280=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12848,#12840); -#18281=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#12848,#12843); -#18282=APPLIED_GROUP_ASSIGNMENT(#938,(#935)); -#18283=APPLIED_GROUP_ASSIGNMENT(#957,(#954)); -#18284=APPLIED_GROUP_ASSIGNMENT(#976,(#973)); -#18285=APPLIED_GROUP_ASSIGNMENT(#1004,(#1001)); -#18286=APPLIED_GROUP_ASSIGNMENT(#1041,(#1038)); -#18287=APPLIED_GROUP_ASSIGNMENT(#1168,(#1165)); -#18288=APPLIED_GROUP_ASSIGNMENT(#1196,(#1193)); -#18289=APPLIED_GROUP_ASSIGNMENT(#1269,(#1266)); -#18290=APPLIED_GROUP_ASSIGNMENT(#1297,(#1294)); -#18291=APPLIED_GROUP_ASSIGNMENT(#1316,(#1313)); -#18292=APPLIED_GROUP_ASSIGNMENT(#1335,(#1332)); -#18293=APPLIED_GROUP_ASSIGNMENT(#1354,(#1351)); -#18294=APPLIED_GROUP_ASSIGNMENT(#1373,(#1370)); -#18295=APPLIED_GROUP_ASSIGNMENT(#1437,(#1434)); -#18296=APPLIED_GROUP_ASSIGNMENT(#1636,(#1633)); -#18297=APPLIED_GROUP_ASSIGNMENT(#1664,(#1661)); -#18298=APPLIED_GROUP_ASSIGNMENT(#1683,(#1680)); -#18299=APPLIED_GROUP_ASSIGNMENT(#1729,(#1726)); -#18300=APPLIED_GROUP_ASSIGNMENT(#1751,(#1748)); -#18301=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#46,#13317,#13319); -#18302=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#46,#13321,#13319); -#18303=ID_ATTRIBUTE('1',#46); -#18304=PRODUCT_DEFINITION_RELATIONSHIP('','design usage',$,#39,#46); -#18305=PRODUCT_DEFINITION_CONTEXT('physical design usage',#13318,''); -#18306=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#39,#18305,#13319); -#18307=ID_ATTRIBUTE('4',#39); -#18308=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#42,#39); -#18309=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#34,#13317,#13319); -#18310=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#34,#13321,#13319); -#18311=ID_ATTRIBUTE('1',#34); -#18312=PRODUCT_DEFINITION_RELATIONSHIP('','design usage',$,#15,#34); -#18313=PROPERTY_DEFINITION_RELATIONSHIP('used stack model','',#2306,#34); -#18314=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#15,#18305,#13319); -#18315=ID_ATTRIBUTE('2',#15); -#18316=PROPERTY_DEFINITION('thickness over dielectric requirement',$,#15); -#18317=PROPERTY_DEFINITION_REPRESENTATION(#18316,#2362); -#18318=PROPERTY_DEFINITION('required characteristic',$,#62); -#18319=PROPERTY_DEFINITION_REPRESENTATION(#18318,#75); -#18320=CHARACTERIZED_OBJECT('packaged component category',$); -#18321=PROPERTY_DEFINITION('',$,#18320); -#18322=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#18318,#18321); -#18323=CHARACTERIZED_OBJECT('packaged component category',$); -#18324=PROPERTY_DEFINITION('',$,#18323); -#18325=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#18318,#18324); -#18326=PROPERTY_DEFINITION('of spacing type','centroid',#62); -#18327=PROPERTY_DEFINITION('required characteristic',$,#6538); -#18328=PROPERTY_DEFINITION_REPRESENTATION(#18327,#6542); -#18329=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#18330=PROPERTY_DEFINITION('',$,#18329); -#18331=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#18327,#18330); -#18332=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#18333=PROPERTY_DEFINITION('',$,#18332); -#18334=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#18327,#18333); -#18335=PROPERTY_DEFINITION('of spacing type','centroid',#6538); -#18336=PROPERTY_DEFINITION('required characteristic',$,#6547); -#18337=PROPERTY_DEFINITION_REPRESENTATION(#18336,#6551); -#18338=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#18339=PROPERTY_DEFINITION('',$,#18338); -#18340=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#18336,#18339); -#18341=CHARACTERIZED_OBJECT('via category',$); -#18342=PROPERTY_DEFINITION('',$,#18341); -#18343=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#18336,#18342); -#18344=PROPERTY_DEFINITION('of spacing type','centroid',#6547); -#18345=PROPERTY_DEFINITION('required characteristic',$,#6556); -#18346=PROPERTY_DEFINITION_REPRESENTATION(#18345,#6560); -#18347=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#18348=PROPERTY_DEFINITION('',$,#18347); -#18349=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#18345,#18348); -#18350=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#18351=PROPERTY_DEFINITION('',$,#18350); -#18352=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#18345,#18351); -#18353=PROPERTY_DEFINITION('of spacing type','centroid',#6556); -#18354=PROPERTY_DEFINITION('required characteristic',$,#6565); -#18355=PROPERTY_DEFINITION_REPRESENTATION(#18354,#6569); -#18356=CHARACTERIZED_OBJECT('via category',$); -#18357=PROPERTY_DEFINITION('',$,#18356); -#18358=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#18354,#18357); -#18359=CHARACTERIZED_OBJECT('via category',$); -#18360=PROPERTY_DEFINITION('',$,#18359); -#18361=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#18354,#18360); -#18362=PROPERTY_DEFINITION('of spacing type','centroid',#6565); -#18363=PROPERTY_DEFINITION('required characteristic',$,#6574); -#18364=PROPERTY_DEFINITION_REPRESENTATION(#18363,#6578); -#18365=CHARACTERIZED_OBJECT('via category',$); -#18366=PROPERTY_DEFINITION('',$,#18365); -#18367=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#18363,#18366); -#18368=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#18369=PROPERTY_DEFINITION('',$,#18368); -#18370=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#18363,#18369); -#18371=PROPERTY_DEFINITION('of spacing type','centroid',#6574); -#18372=PROPERTY_DEFINITION('required characteristic',$,#6583); -#18373=PROPERTY_DEFINITION_REPRESENTATION(#18372,#6587); -#18374=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#18375=PROPERTY_DEFINITION('',$,#18374); -#18376=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#18372,#18375); -#18377=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#18378=PROPERTY_DEFINITION('',$,#18377); -#18379=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#18372,#18378); -#18380=PROPERTY_DEFINITION('of spacing type','centroid',#6583); -#18381=DESCRIPTION_ATTRIBUTE('length tolerance',#2362); -#18382=DESCRIPTION_ATTRIBUTE('length tolerance',#103); -#18383=DESCRIPTION_ATTRIBUTE('length tolerance',#113); -#18384=DESCRIPTION_ATTRIBUTE('length tolerance',#132); -#18385=DESCRIPTION_ATTRIBUTE('length tolerance',#142); -#18386=DESCRIPTION_ATTRIBUTE('length tolerance',#156); -#18387=DESCRIPTION_ATTRIBUTE('length tolerance',#166); -#18388=DESCRIPTION_ATTRIBUTE('length tolerance',#180); -#18389=DESCRIPTION_ATTRIBUTE('length tolerance',#190); -#18390=DESCRIPTION_ATTRIBUTE('length tolerance',#204); -#18391=DESCRIPTION_ATTRIBUTE('length tolerance',#214); -#18392=DESCRIPTION_ATTRIBUTE('length tolerance',#228); -#18393=DESCRIPTION_ATTRIBUTE('length tolerance',#238); -#18394=DESCRIPTION_ATTRIBUTE('length tolerance',#252); -#18395=DESCRIPTION_ATTRIBUTE('length tolerance',#262); -#18396=DESCRIPTION_ATTRIBUTE('length tolerance',#276); -#18397=DESCRIPTION_ATTRIBUTE('length tolerance',#295); -#18398=DESCRIPTION_ATTRIBUTE('length tolerance',#304); -#18399=DESCRIPTION_ATTRIBUTE('length tolerance',#326); -#18400=DESCRIPTION_ATTRIBUTE('length tolerance',#336); -#18401=DESCRIPTION_ATTRIBUTE('length tolerance',#351); -#18402=DESCRIPTION_ATTRIBUTE('length tolerance',#386); -#18403=DESCRIPTION_ATTRIBUTE('length tolerance',#401); -#18404=DESCRIPTION_ATTRIBUTE('length tolerance',#410); -#18405=DESCRIPTION_ATTRIBUTE('length tolerance',#432); -#18406=DESCRIPTION_ATTRIBUTE('length tolerance',#447); -#18407=DESCRIPTION_ATTRIBUTE('length tolerance',#461); -#18408=DESCRIPTION_ATTRIBUTE('length tolerance',#476); -#18409=DESCRIPTION_ATTRIBUTE('length tolerance',#490); -#18410=DESCRIPTION_ATTRIBUTE('length tolerance',#500); -#18411=DESCRIPTION_ATTRIBUTE('length tolerance',#514); -#18412=DESCRIPTION_ATTRIBUTE('length tolerance',#524); -#18413=DESCRIPTION_ATTRIBUTE('length tolerance',#538); -#18414=DESCRIPTION_ATTRIBUTE('length tolerance',#548); -#18415=DESCRIPTION_ATTRIBUTE('length tolerance',#562); -#18416=DESCRIPTION_ATTRIBUTE('length tolerance',#572); -#18417=DESCRIPTION_ATTRIBUTE('length tolerance',#586); -#18418=DESCRIPTION_ATTRIBUTE('length tolerance',#596); -#18419=DESCRIPTION_ATTRIBUTE('length tolerance',#610); -#18420=DESCRIPTION_ATTRIBUTE('length tolerance',#620); -#18421=DESCRIPTION_ATTRIBUTE('length tolerance',#634); -#18422=DESCRIPTION_ATTRIBUTE('length tolerance',#644); -#18423=DESCRIPTION_ATTRIBUTE('length tolerance',#1820); -#18424=DESCRIPTION_ATTRIBUTE('length tolerance',#2187); -#18425=DESCRIPTION_ATTRIBUTE('length tolerance',#2218); -#18426=DESCRIPTION_ATTRIBUTE('length tolerance',#2368); -#18427=DESCRIPTION_ATTRIBUTE('length tolerance',#2520); -#18428=DESCRIPTION_ATTRIBUTE('length tolerance',#2682); -#18429=DESCRIPTION_ATTRIBUTE('length tolerance',#2840); -#18430=DESCRIPTION_ATTRIBUTE('length tolerance',#2998); -#18431=DESCRIPTION_ATTRIBUTE('length tolerance',#3464); -#18432=DESCRIPTION_ATTRIBUTE('length tolerance',#3622); -#18433=DESCRIPTION_ATTRIBUTE('length tolerance',#3934); -#18434=DESCRIPTION_ATTRIBUTE('length tolerance',#4095); -#18435=DESCRIPTION_ATTRIBUTE('length tolerance',#4097); -#18436=DESCRIPTION_ATTRIBUTE('length tolerance',#66); -#18437=DESCRIPTION_ATTRIBUTE('length tolerance',#75); -#18438=DESCRIPTION_ATTRIBUTE('length tolerance',#2209); -#18439=DESCRIPTION_ATTRIBUTE('length tolerance',#2522); -#18440=DESCRIPTION_ATTRIBUTE('length tolerance',#6542); -#18441=DESCRIPTION_ATTRIBUTE('length tolerance',#6551); -#18442=DESCRIPTION_ATTRIBUTE('length tolerance',#6560); -#18443=DESCRIPTION_ATTRIBUTE('length tolerance',#6569); -#18444=DESCRIPTION_ATTRIBUTE('length tolerance',#6578); -#18445=DESCRIPTION_ATTRIBUTE('length tolerance',#6587); -#18446=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2185,#14339,#13319); -#18447=ID_ATTRIBUTE('1',#2185); -#18448=ID_ATTRIBUTE('',#119); -#18449=ID_ATTRIBUTE('',#2216); -#18450=ID_ATTRIBUTE('',#4209); -#18451=ID_ATTRIBUTE('',#4213); -#18453=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2542,#14339,#13319); -#18454=ID_ATTRIBUTE('1',#2542); -#18456=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2554,#14339,#13319); -#18457=ID_ATTRIBUTE('1',#2554); -#18459=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2700,#14339,#13319); -#18460=ID_ATTRIBUTE('1',#2700); -#18462=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2712,#14339,#13319); -#18463=ID_ATTRIBUTE('1',#2712); -#18465=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2858,#14339,#13319); -#18466=ID_ATTRIBUTE('1',#2858); -#18468=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2870,#14339,#13319); -#18469=ID_ATTRIBUTE('1',#2870); -#18471=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3016,#14339,#13319); -#18472=ID_ATTRIBUTE('1',#3016); -#18474=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3028,#14339,#13319); -#18475=ID_ATTRIBUTE('1',#3028); -#18477=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3170,#14339,#13319); -#18478=ID_ATTRIBUTE('1',#3170); -#18480=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3182,#14339,#13319); -#18481=ID_ATTRIBUTE('1',#3182); -#18483=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3324,#14339,#13319); -#18484=ID_ATTRIBUTE('1',#3324); -#18486=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3336,#14339,#13319); -#18487=ID_ATTRIBUTE('1',#3336); -#18489=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3482,#14339,#13319); -#18490=ID_ATTRIBUTE('1',#3482); -#18492=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3494,#14339,#13319); -#18493=ID_ATTRIBUTE('1',#3494); -#18495=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3640,#14339,#13319); -#18496=ID_ATTRIBUTE('1',#3640); -#18498=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3652,#14339,#13319); -#18499=ID_ATTRIBUTE('1',#3652); -#18501=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3794,#14339,#13319); -#18502=ID_ATTRIBUTE('1',#3794); -#18504=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3806,#14339,#13319); -#18505=ID_ATTRIBUTE('1',#3806); -#18507=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3952,#14339,#13319); -#18508=ID_ATTRIBUTE('1',#3952); -#18510=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3964,#14339,#13319); -#18511=ID_ATTRIBUTE('1',#3964); -#18513=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4110,#14339,#13319); -#18514=ID_ATTRIBUTE('1',#4110); -#18515=SHAPE_ASPECT_RELATIONSHIP('mounting surface',$,#932,#58); -#18751=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5904,#6111); -#18752=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5903,#6112); -#18753=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5906,#6113); -#18754=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5905,#6114); -#18755=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5908,#6115); -#18756=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5907,#6116); -#18757=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5908,#6117); -#18758=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5907,#6118); -#18759=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5910,#6119); -#18760=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5909,#6120); -#18761=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5908,#6121); -#18762=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5907,#6122); -#18763=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5908,#6123); -#18764=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5907,#6124); -#18765=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5912,#6125); -#18766=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5911,#6126); -#18767=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5912,#6127); -#18768=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5911,#6128); -#18769=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5910,#6129); -#18770=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5909,#6130); -#18771=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5914,#6131); -#18772=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5913,#6132); -#18773=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5916,#6133); -#18774=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5915,#6134); -#18775=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5918,#6135); -#18776=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5917,#6136); -#18777=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5918,#6137); -#18778=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5917,#6138); -#18779=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5908,#6139); -#18780=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5907,#6140); -#18781=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5908,#6141); -#18782=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5907,#6142); -#18783=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5908,#6143); -#18784=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5907,#6144); -#18785=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5908,#6145); -#18786=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5907,#6146); -#18787=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5908,#6147); -#18788=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5907,#6148); -#18789=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5908,#6149); -#18790=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5907,#6150); -#18791=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5920,#6151); -#18792=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5919,#6152); -#18793=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5920,#6153); -#18794=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5919,#6154); -#18795=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5922,#6155); -#18796=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5921,#6156); -#18797=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5922,#6157); -#18798=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5921,#6158); -#18799=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5924,#6159); -#18800=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5923,#6160); -#18801=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5922,#6161); -#18802=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5921,#6162); -#18803=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5922,#6163); -#18804=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5921,#6164); -#18805=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5922,#6165); -#18806=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5921,#6166); -#18807=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5922,#6167); -#18808=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5921,#6168); -#18809=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5927,#6169); -#18810=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5926,#6170); -#18811=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5925,#6171); -#18812=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5927,#6172); -#18813=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5926,#6173); -#18814=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5925,#6174); -#18815=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6039,#6175); -#18816=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6038,#6176); -#18817=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6037,#6177); -#18818=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6036,#6178); -#18819=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6035,#6179); -#18820=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6034,#6180); -#18821=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6033,#6181); -#18822=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6032,#6182); -#18823=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6031,#6183); -#18824=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6030,#6184); -#18825=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6029,#6185); -#18826=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6028,#6186); -#18827=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6027,#6187); -#18828=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6026,#6188); -#18829=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6025,#6189); -#18830=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6024,#6190); -#18831=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6023,#6191); -#18832=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6022,#6192); -#18833=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6021,#6193); -#18834=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6020,#6194); -#18835=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6019,#6195); -#18836=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6018,#6196); -#18837=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6017,#6197); -#18838=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6016,#6198); -#18839=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6015,#6199); -#18840=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6014,#6200); -#18841=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6013,#6201); -#18842=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6012,#6202); -#18843=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6011,#6203); -#18844=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6010,#6204); -#18845=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6009,#6205); -#18846=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6008,#6206); -#18847=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6007,#6207); -#18848=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6006,#6208); -#18849=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6005,#6209); -#18850=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6004,#6210); -#18851=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6003,#6211); -#18852=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6002,#6212); -#18853=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6001,#6213); -#18854=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6000,#6214); -#18855=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5999,#6215); -#18856=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5998,#6216); -#18857=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5997,#6217); -#18858=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5996,#6218); -#18859=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5995,#6219); -#18860=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5994,#6220); -#18861=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5993,#6221); -#18862=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5992,#6222); -#18863=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5991,#6223); -#18864=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5990,#6224); -#18865=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5989,#6225); -#18866=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5988,#6226); -#18867=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5987,#6227); -#18868=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5986,#6228); -#18869=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5985,#6229); -#18870=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5984,#6230); -#18871=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5983,#6231); -#18872=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5982,#6232); -#18873=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5981,#6233); -#18874=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5980,#6234); -#18875=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5979,#6235); -#18876=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5978,#6236); -#18877=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5977,#6237); -#18878=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5976,#6238); -#18879=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5975,#6239); -#18880=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5974,#6240); -#18881=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5973,#6241); -#18882=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5972,#6242); -#18883=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5971,#6243); -#18884=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5970,#6244); -#18885=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5969,#6245); -#18886=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5968,#6246); -#18887=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5967,#6247); -#18888=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5966,#6248); -#18889=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5965,#6249); -#18890=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5964,#6250); -#18891=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5963,#6251); -#18892=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5962,#6252); -#18893=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5961,#6253); -#18894=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5960,#6254); -#18895=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5959,#6255); -#18896=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5958,#6256); -#18897=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5957,#6257); -#18898=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5956,#6258); -#18899=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5955,#6259); -#18900=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5954,#6260); -#18901=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5953,#6261); -#18902=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5952,#6262); -#18903=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5951,#6263); -#18904=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5950,#6264); -#18905=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5949,#6265); -#18906=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5948,#6266); -#18907=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5947,#6267); -#18908=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5946,#6268); -#18909=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5945,#6269); -#18910=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5944,#6270); -#18911=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5943,#6271); -#18912=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5942,#6272); -#18913=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5941,#6273); -#18914=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5940,#6274); -#18915=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5939,#6275); -#18916=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5938,#6276); -#18917=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5937,#6277); -#18918=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5936,#6278); -#18919=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5935,#6279); -#18920=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5934,#6280); -#18921=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5933,#6281); -#18922=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5932,#6282); -#18923=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5931,#6283); -#18924=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5930,#6284); -#18925=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5929,#6285); -#18926=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#5928,#6286); -#18927=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6042,#6287); -#18928=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6041,#6288); -#18929=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6040,#6289); -#18930=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6045,#6290); -#18931=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6044,#6291); -#18932=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6043,#6292); -#18933=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6048,#6293); -#18934=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6047,#6294); -#18935=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6046,#6295); -#18936=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6050,#6296); -#18937=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6049,#6297); -#18938=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6050,#6298); -#18939=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6049,#6299); -#18940=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6052,#6300); -#18941=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6051,#6301); -#18942=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6052,#6302); -#18943=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6051,#6303); -#18944=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6050,#6304); -#18945=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6049,#6305); -#18946=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6054,#6306); -#18947=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6053,#6307); -#18948=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6054,#6308); -#18949=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6053,#6309); -#18950=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6056,#6310); -#18951=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6055,#6311); -#18952=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6058,#6312); -#18953=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6057,#6313); -#18954=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6060,#6314); -#18955=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6059,#6315); -#18956=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6050,#6316); -#18957=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6049,#6317); -#18958=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6062,#6318); -#18959=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6061,#6319); -#18960=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6064,#6320); -#18961=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6063,#6321); -#18962=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6064,#6322); -#18963=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6063,#6323); -#18964=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6066,#6324); -#18965=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6065,#6325); -#18966=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6068,#6326); -#18967=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6067,#6327); -#18968=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6070,#6328); -#18969=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6069,#6329); -#18970=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6072,#6330); -#18971=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6071,#6331); -#18972=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6074,#6332); -#18973=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6073,#6333); -#18974=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6076,#6334); -#18975=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6075,#6335); -#18976=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6078,#6336); -#18977=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6077,#6337); -#18978=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6080,#6338); -#18979=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6079,#6339); -#18980=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6050,#6340); -#18981=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6049,#6341); -#18982=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6082,#6342); -#18983=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6081,#6343); -#18984=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6082,#6344); -#18985=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6081,#6345); -#18986=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6074,#6346); -#18987=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6073,#6347); -#18988=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6084,#6348); -#18989=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6083,#6349); -#18990=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6090,#6350); -#18991=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6089,#6351); -#18992=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6088,#6352); -#18993=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6087,#6353); -#18994=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6086,#6354); -#18995=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6085,#6355); -#18996=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6090,#6356); -#18997=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6089,#6357); -#18998=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6088,#6358); -#18999=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6087,#6359); -#19000=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6086,#6360); -#19001=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6085,#6361); -#19002=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6104,#6362); -#19003=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6103,#6363); -#19004=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6102,#6364); -#19005=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6101,#6365); -#19006=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6100,#6366); -#19007=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6099,#6367); -#19008=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6098,#6368); -#19009=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6097,#6369); -#19010=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6096,#6370); -#19011=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6095,#6371); -#19012=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6094,#6372); -#19013=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6093,#6373); -#19014=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6092,#6374); -#19015=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6091,#6375); -#19016=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6106,#6376); -#19017=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6105,#6377); -#19018=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6106,#6378); -#19019=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6105,#6379); -#19020=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6106,#6380); -#19021=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6105,#6381); -#19022=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6106,#6382); -#19023=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6105,#6383); -#19024=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6108,#6384); -#19025=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6107,#6385); -#19026=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6108,#6386); -#19027=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6107,#6387); -#19028=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6110,#6388); -#19029=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6109,#6389); -#19030=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#653,#18305,#13319); -#19031=ID_ATTRIBUTE('1',#653); -#19032=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#95,#653); -#19033=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#656,#653); -#19034=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#660,#18305,#13319); -#19035=ID_ATTRIBUTE('1',#660); -#19036=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#127,#660); -#19037=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#663,#660); -#19038=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#667,#18305,#13319); -#19039=ID_ATTRIBUTE('1',#667); -#19040=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#151,#667); -#19041=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#670,#667); -#19042=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#674,#18305,#13319); -#19043=ID_ATTRIBUTE('1',#674); -#19044=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#175,#674); -#19045=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#677,#674); -#19046=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#681,#18305,#13319); -#19047=ID_ATTRIBUTE('1',#681); -#19048=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#199,#681); -#19049=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#684,#681); -#19050=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#688,#18305,#13319); -#19051=ID_ATTRIBUTE('1',#688); -#19052=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#95,#688); -#19053=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#691,#688); -#19054=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#695,#18305,#13319); -#19055=ID_ATTRIBUTE('1',#695); -#19056=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#95,#695); -#19057=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#698,#695); -#19058=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#702,#18305,#13319); -#19059=ID_ATTRIBUTE('1',#702); -#19060=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#199,#702); -#19061=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#705,#702); -#19062=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#709,#18305,#13319); -#19063=ID_ATTRIBUTE('1',#709); -#19064=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#223,#709); -#19065=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#712,#709); -#19066=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#716,#18305,#13319); -#19067=ID_ATTRIBUTE('1',#716); -#19068=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#247,#716); -#19069=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#719,#716); -#19070=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#723,#18305,#13319); -#19071=ID_ATTRIBUTE('1',#723); -#19072=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#247,#723); -#19073=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#726,#723); -#19074=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#730,#18305,#13319); -#19075=ID_ATTRIBUTE('1',#730); -#19076=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#271,#730); -#19077=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#733,#730); -#19078=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#737,#18305,#13319); -#19079=ID_ATTRIBUTE('1',#737); -#19080=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#321,#737); -#19081=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#740,#737); -#19082=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#744,#18305,#13319); -#19083=ID_ATTRIBUTE('1',#744); -#19084=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#381,#744); -#19085=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#747,#744); -#19086=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#751,#18305,#13319); -#19087=ID_ATTRIBUTE('1',#751); -#19088=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#427,#751); -#19089=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#754,#751); -#19090=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#758,#18305,#13319); -#19091=ID_ATTRIBUTE('1',#758); -#19092=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#456,#758); -#19093=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#761,#758); -#19094=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#765,#18305,#13319); -#19095=ID_ATTRIBUTE('1',#765); -#19096=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#765); -#19097=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#768,#765); -#19098=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#772,#18305,#13319); -#19099=ID_ATTRIBUTE('1',#772); -#19100=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#772); -#19101=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#775,#772); -#19102=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#779,#18305,#13319); -#19103=ID_ATTRIBUTE('1',#779); -#19104=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#779); -#19105=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#509,#779); -#19106=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#782,#779); -#19107=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#786,#18305,#13319); -#19108=ID_ATTRIBUTE('1',#786); -#19109=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#786); -#19110=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#789,#786); -#19111=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#793,#18305,#13319); -#19112=ID_ATTRIBUTE('1',#793); -#19113=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#793); -#19114=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#796,#793); -#19115=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#800,#18305,#13319); -#19116=ID_ATTRIBUTE('1',#800); -#19117=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#800); -#19118=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#803,#800); -#19119=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#807,#18305,#13319); -#19120=ID_ATTRIBUTE('1',#807); -#19121=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#807); -#19122=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#810,#807); -#19123=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#814,#18305,#13319); -#19124=ID_ATTRIBUTE('1',#814); -#19125=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#814); -#19126=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#817,#814); -#19127=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#821,#18305,#13319); -#19128=ID_ATTRIBUTE('1',#821); -#19129=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#821); -#19130=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#824,#821); -#19131=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#828,#18305,#13319); -#19132=ID_ATTRIBUTE('1',#828); -#19133=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#828); -#19134=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#831,#828); -#19135=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#835,#18305,#13319); -#19136=ID_ATTRIBUTE('1',#835); -#19137=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#835); -#19138=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#838,#835); -#19139=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#842,#18305,#13319); -#19140=ID_ATTRIBUTE('1',#842); -#19141=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#842); -#19142=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#845,#842); -#19143=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#849,#18305,#13319); -#19144=ID_ATTRIBUTE('1',#849); -#19145=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#849); -#19146=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#852,#849); -#19147=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#856,#18305,#13319); -#19148=ID_ATTRIBUTE('1',#856); -#19149=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#856); -#19150=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#859,#856); -#19151=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#863,#18305,#13319); -#19152=ID_ATTRIBUTE('1',#863); -#19153=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#863); -#19154=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#866,#863); -#19155=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#870,#18305,#13319); -#19156=ID_ATTRIBUTE('1',#870); -#19157=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#870); -#19158=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#873,#870); -#19159=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#877,#18305,#13319); -#19160=ID_ATTRIBUTE('1',#877); -#19161=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#877); -#19162=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#880,#877); -#19163=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#884,#18305,#13319); -#19164=ID_ATTRIBUTE('1',#884); -#19165=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#485,#884); -#19166=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#887,#884); -#19167=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#891,#18305,#13319); -#19168=ID_ATTRIBUTE('1',#891); -#19169=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#533,#891); -#19170=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#894,#891); -#19171=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#898,#18305,#13319); -#19172=ID_ATTRIBUTE('1',#898); -#19173=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#557,#898); -#19174=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#901,#898); -#19175=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#905,#18305,#13319); -#19176=ID_ATTRIBUTE('1',#905); -#19177=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#581,#905); -#19178=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#908,#905); -#19179=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#912,#18305,#13319); -#19180=ID_ATTRIBUTE('1',#912); -#19181=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#605,#912); -#19182=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#915,#912); -#19183=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#919,#18305,#13319); -#19184=ID_ATTRIBUTE('1',#919); -#19185=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#629,#919); -#19186=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#922,#919); -#19187=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5903,#4214); -#19188=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5904,#4220); -#19189=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5905,#4249); -#19190=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5906,#4256); -#19191=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5907,#4296); -#19192=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5908,#4302); -#19193=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5909,#4337); -#19194=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5910,#4343); -#19195=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5911,#4378); -#19196=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5912,#4384); -#19197=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5913,#4214); -#19198=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5914,#4220); -#19199=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5915,#4214); -#19200=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5916,#4220); -#19201=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5917,#4378); -#19202=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5918,#4384); -#19203=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5919,#4413); -#19204=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5920,#4419); -#19205=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5921,#4448); -#19206=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5922,#4454); -#19207=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5923,#4448); -#19208=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5924,#4454); -#19209=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5925,#4474); -#19210=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5926,#4480); -#19211=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5927,#4487); -#19212=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5928,#4542); -#19213=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5929,#4548); -#19214=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5930,#4555); -#19215=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5931,#4562); -#19216=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5932,#4569); -#19217=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5933,#4576); -#19218=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5934,#4583); -#19219=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5935,#4590); -#19220=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5936,#4597); -#19221=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5937,#4604); -#19222=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5938,#4611); -#19223=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5939,#4618); -#19224=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5940,#4625); -#19225=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5941,#4632); -#19226=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5942,#4639); -#19227=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5943,#4646); -#19228=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5944,#4653); -#19229=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5945,#4660); -#19230=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5946,#4667); -#19231=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5947,#4674); -#19232=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5948,#4681); -#19233=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5949,#4688); -#19234=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5950,#4695); -#19235=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5951,#4702); -#19236=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5952,#4709); -#19237=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5953,#4716); -#19238=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5954,#4723); -#19239=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5955,#4730); -#19240=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5956,#4737); -#19241=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5957,#4744); -#19242=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5958,#4751); -#19243=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5959,#4758); -#19244=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5960,#4765); -#19245=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5961,#4772); -#19246=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5962,#4779); -#19247=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5963,#4786); -#19248=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5964,#4793); -#19249=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5965,#4800); -#19250=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5966,#4807); -#19251=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5967,#4814); -#19252=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5968,#4821); -#19253=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5969,#4828); -#19254=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5970,#4835); -#19255=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5971,#4842); -#19256=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5972,#4849); -#19257=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5973,#4856); -#19258=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5974,#4863); -#19259=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5975,#4870); -#19260=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5976,#4877); -#19261=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5977,#4884); -#19262=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5978,#4891); -#19263=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5979,#4898); -#19264=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5980,#4905); -#19265=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5981,#4912); -#19266=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5982,#4919); -#19267=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5983,#4926); -#19268=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5984,#4933); -#19269=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5985,#4940); -#19270=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5986,#4947); -#19271=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5987,#4954); -#19272=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5988,#4961); -#19273=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5989,#4968); -#19274=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5990,#4975); -#19275=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5991,#4982); -#19276=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5992,#4989); -#19277=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5993,#4996); -#19278=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5994,#5003); -#19279=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5995,#5010); -#19280=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5996,#5017); -#19281=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5997,#5024); -#19282=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5998,#5031); -#19283=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#5999,#5038); -#19284=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6000,#5045); -#19285=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6001,#5052); -#19286=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6002,#5059); -#19287=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6003,#5066); -#19288=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6004,#5073); -#19289=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6005,#5080); -#19290=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6006,#5087); -#19291=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6007,#5094); -#19292=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6008,#5101); -#19293=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6009,#5108); -#19294=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6010,#5115); -#19295=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6011,#5122); -#19296=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6012,#5129); -#19297=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6013,#5136); -#19298=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6014,#5143); -#19299=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6015,#5150); -#19300=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6016,#5157); -#19301=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6017,#5164); -#19302=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6018,#5171); -#19303=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6019,#5178); -#19304=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6020,#5185); -#19305=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6021,#5192); -#19306=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6022,#5199); -#19307=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6023,#5206); -#19308=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6024,#5213); -#19309=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6025,#5220); -#19310=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6026,#5227); -#19311=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6027,#5234); -#19312=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6028,#5241); -#19313=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6029,#5248); -#19314=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6030,#5255); -#19315=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6031,#5262); -#19316=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6032,#5269); -#19317=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6033,#5276); -#19318=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6034,#5283); -#19319=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6035,#5290); -#19320=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6036,#5297); -#19321=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6037,#5304); -#19322=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6038,#5311); -#19323=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6039,#5318); -#19324=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6040,#5371); -#19325=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6041,#5377); -#19326=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6042,#5384); -#19327=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6043,#5410); -#19328=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6044,#5416); -#19329=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6045,#5423); -#19330=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6046,#5449); -#19331=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6047,#5455); -#19332=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6048,#5462); -#19333=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6049,#5491); -#19334=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6050,#5497); -#19335=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6051,#5491); -#19336=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6052,#5497); -#19337=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6053,#5491); -#19338=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6054,#5497); -#19339=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6055,#5491); -#19340=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6056,#5497); -#19341=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6057,#5491); -#19342=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6058,#5497); -#19343=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6059,#5491); -#19344=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6060,#5497); -#19345=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6061,#5491); -#19346=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6062,#5497); -#19347=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6063,#5491); -#19348=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6064,#5497); -#19349=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6065,#5491); -#19350=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6066,#5497); -#19351=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6067,#5491); -#19352=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6068,#5497); -#19353=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6069,#5491); -#19354=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6070,#5497); -#19355=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6071,#5491); -#19356=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6072,#5497); -#19357=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6073,#5491); -#19358=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6074,#5497); -#19359=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6075,#5491); -#19360=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6076,#5497); -#19361=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6077,#5491); -#19362=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6078,#5497); -#19363=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6079,#5491); -#19364=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6080,#5497); -#19365=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6081,#5491); -#19366=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6082,#5497); -#19367=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6083,#5491); -#19368=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6084,#5497); -#19369=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6085,#5555); -#19370=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6086,#5561); -#19371=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6087,#5568); -#19372=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6088,#5575); -#19373=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6089,#5582); -#19374=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6090,#5589); -#19375=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6091,#5687); -#19376=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6092,#5693); -#19377=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6093,#5700); -#19378=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6094,#5707); -#19379=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6095,#5714); -#19380=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6096,#5721); -#19381=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6097,#5728); -#19382=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6098,#5735); -#19383=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6099,#5742); -#19384=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6100,#5749); -#19385=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6101,#5756); -#19386=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6102,#5763); -#19387=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6103,#5770); -#19388=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6104,#5777); -#19389=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6105,#5812); -#19390=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6106,#5818); -#19391=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6107,#5847); -#19392=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6108,#5853); -#19393=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6109,#5890); -#19394=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#6110,#5896); -#19395=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#95,#18305,#13319); -#19396=ID_ATTRIBUTE('CAP-1',#95); -#19397=PROPERTY_DEFINITION('maximum body height above seating plane',$,#95); -#19398=PROPERTY_DEFINITION_REPRESENTATION(#19397,#19399); -#19399=REPRESENTATION('',(#111),#13704); -#19400=PROPERTY_DEFINITION('body clearance above seating plane',$,#95); -#19401=PROPERTY_DEFINITION_REPRESENTATION(#19400,#113); -#19402=PROPERTY_DEFINITION('mounting technology','through hole',#95); -#19403=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#127,#18305,#13319); -#19404=ID_ATTRIBUTE('CAP-2',#127); -#19405=PROPERTY_DEFINITION('maximum body height above seating plane',$,#127); -#19406=PROPERTY_DEFINITION_REPRESENTATION(#19405,#19407); -#19407=REPRESENTATION('',(#140),#13704); -#19408=PROPERTY_DEFINITION('body clearance above seating plane',$,#127); -#19409=PROPERTY_DEFINITION_REPRESENTATION(#19408,#142); -#19410=PROPERTY_DEFINITION('mounting technology','through hole',#127); -#19411=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#151,#18305,#13319); -#19412=ID_ATTRIBUTE('BIG_CAP',#151); -#19413=PROPERTY_DEFINITION('maximum body height above seating plane',$,#151); -#19414=PROPERTY_DEFINITION_REPRESENTATION(#19413,#19415); -#19415=REPRESENTATION('',(#164),#13704); -#19416=PROPERTY_DEFINITION('body clearance above seating plane',$,#151); -#19417=PROPERTY_DEFINITION_REPRESENTATION(#19416,#166); -#19418=PROPERTY_DEFINITION('mounting technology','through hole',#151); -#19419=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#175,#18305,#13319); -#19420=ID_ATTRIBUTE('PCAP-2',#175); -#19421=PROPERTY_DEFINITION('maximum body height above seating plane',$,#175); -#19422=PROPERTY_DEFINITION_REPRESENTATION(#19421,#19423); -#19423=REPRESENTATION('',(#188),#13704); -#19424=PROPERTY_DEFINITION('body clearance above seating plane',$,#175); -#19425=PROPERTY_DEFINITION_REPRESENTATION(#19424,#190); -#19426=PROPERTY_DEFINITION('mounting technology','through hole',#175); -#19427=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#199,#18305,#13319); -#19428=ID_ATTRIBUTE('PCAP-1',#199); -#19429=PROPERTY_DEFINITION('maximum body height above seating plane',$,#199); -#19430=PROPERTY_DEFINITION_REPRESENTATION(#19429,#19431); -#19431=REPRESENTATION('',(#212),#13704); -#19432=PROPERTY_DEFINITION('body clearance above seating plane',$,#199); -#19433=PROPERTY_DEFINITION_REPRESENTATION(#19432,#214); -#19434=PROPERTY_DEFINITION('mounting technology','through hole',#199); -#19435=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#223,#18305,#13319); -#19436=ID_ATTRIBUTE('CAP-3',#223); -#19437=PROPERTY_DEFINITION('maximum body height above seating plane',$,#223); -#19438=PROPERTY_DEFINITION_REPRESENTATION(#19437,#19439); -#19439=REPRESENTATION('',(#236),#13704); -#19440=PROPERTY_DEFINITION('body clearance above seating plane',$,#223); -#19441=PROPERTY_DEFINITION_REPRESENTATION(#19440,#238); -#19442=PROPERTY_DEFINITION('mounting technology','through hole',#223); -#19443=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#247,#18305,#13319); -#19444=ID_ATTRIBUTE('DIODE-1',#247); -#19445=PROPERTY_DEFINITION('maximum body height above seating plane',$,#247); -#19446=PROPERTY_DEFINITION_REPRESENTATION(#19445,#19447); -#19447=REPRESENTATION('',(#260),#13704); -#19448=PROPERTY_DEFINITION('body clearance above seating plane',$,#247); -#19449=PROPERTY_DEFINITION_REPRESENTATION(#19448,#262); -#19450=PROPERTY_DEFINITION('mounting technology','through hole',#247); -#19451=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#271,#18305,#13319); -#19452=ID_ATTRIBUTE('INDUCTOR',#271); -#19453=PROPERTY_DEFINITION('maximum body height above seating plane',$,#271); -#19454=PROPERTY_DEFINITION_REPRESENTATION(#19453,#19455); -#19455=REPRESENTATION('',(#293),#13704); -#19456=PROPERTY_DEFINITION('body clearance above seating plane',$,#271); -#19457=PROPERTY_DEFINITION_REPRESENTATION(#19456,#295); -#19458=PROPERTY_DEFINITION('mounting technology','through hole',#271); -#19459=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#321,#18305,#13319); -#19460=ID_ATTRIBUTE('CONN112',#321); -#19461=PROPERTY_DEFINITION('maximum body height above seating plane',$,#321); -#19462=PROPERTY_DEFINITION_REPRESENTATION(#19461,#19463); -#19463=REPRESENTATION('',(#334),#13704); -#19464=PROPERTY_DEFINITION('body clearance above seating plane',$,#321); -#19465=PROPERTY_DEFINITION_REPRESENTATION(#19464,#336); -#19466=PROPERTY_DEFINITION('mounting technology','through hole',#321); -#19467=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#381,#18305,#13319); -#19468=ID_ATTRIBUTE('TRANS-1',#381); -#19469=PROPERTY_DEFINITION('maximum body height above seating plane',$,#381); -#19470=PROPERTY_DEFINITION_REPRESENTATION(#19469,#19471); -#19471=REPRESENTATION('',(#399),#13704); -#19472=PROPERTY_DEFINITION('body clearance above seating plane',$,#381); -#19473=PROPERTY_DEFINITION_REPRESENTATION(#19472,#401); -#19474=PROPERTY_DEFINITION('mounting technology','through hole',#381); -#19475=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#427,#18305,#13319); -#19476=ID_ATTRIBUTE('TRANS-2',#427); -#19477=PROPERTY_DEFINITION('maximum body height above seating plane',$,#427); -#19478=PROPERTY_DEFINITION_REPRESENTATION(#19477,#19479); -#19479=REPRESENTATION('',(#445),#13704); -#19480=PROPERTY_DEFINITION('body clearance above seating plane',$,#427); -#19481=PROPERTY_DEFINITION_REPRESENTATION(#19480,#447); -#19482=PROPERTY_DEFINITION('mounting technology','through hole',#427); -#19483=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#456,#18305,#13319); -#19484=ID_ATTRIBUTE('TRANS-3',#456); -#19485=PROPERTY_DEFINITION('maximum body height above seating plane',$,#456); -#19486=PROPERTY_DEFINITION_REPRESENTATION(#19485,#19487); -#19487=REPRESENTATION('',(#474),#13704); -#19488=PROPERTY_DEFINITION('body clearance above seating plane',$,#456); -#19489=PROPERTY_DEFINITION_REPRESENTATION(#19488,#476); -#19490=PROPERTY_DEFINITION('mounting technology','through hole',#456); -#19491=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#485,#18305,#13319); -#19492=ID_ATTRIBUTE('RES-1',#485); -#19493=PROPERTY_DEFINITION('maximum body height above seating plane',$,#485); -#19494=PROPERTY_DEFINITION_REPRESENTATION(#19493,#19495); -#19495=REPRESENTATION('',(#498),#13704); -#19496=PROPERTY_DEFINITION('body clearance above seating plane',$,#485); -#19497=PROPERTY_DEFINITION_REPRESENTATION(#19496,#500); -#19498=PROPERTY_DEFINITION('mounting technology','through hole',#485); -#19499=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#509,#18305,#13319); -#19500=ID_ATTRIBUTE('RES-2',#509); -#19501=PROPERTY_DEFINITION('maximum body height above seating plane',$,#509); -#19502=PROPERTY_DEFINITION_REPRESENTATION(#19501,#19503); -#19503=REPRESENTATION('',(#522),#13704); -#19504=PROPERTY_DEFINITION('body clearance above seating plane',$,#509); -#19505=PROPERTY_DEFINITION_REPRESENTATION(#19504,#524); -#19506=PROPERTY_DEFINITION('mounting technology','through hole',#509); -#19507=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#533,#18305,#13319); -#19508=ID_ATTRIBUTE('XFORMER',#533); -#19509=PROPERTY_DEFINITION('maximum body height above seating plane',$,#533); -#19510=PROPERTY_DEFINITION_REPRESENTATION(#19509,#19511); -#19511=REPRESENTATION('',(#546),#13704); -#19512=PROPERTY_DEFINITION('body clearance above seating plane',$,#533); -#19513=PROPERTY_DEFINITION_REPRESENTATION(#19512,#548); -#19514=PROPERTY_DEFINITION('mounting technology','through hole',#533); -#19515=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#557,#18305,#13319); -#19516=ID_ATTRIBUTE('DIP14',#557); -#19517=PROPERTY_DEFINITION('maximum body height above seating plane',$,#557); -#19518=PROPERTY_DEFINITION_REPRESENTATION(#19517,#19519); -#19519=REPRESENTATION('',(#570),#13704); -#19520=PROPERTY_DEFINITION('body clearance above seating plane',$,#557); -#19521=PROPERTY_DEFINITION_REPRESENTATION(#19520,#572); -#19522=PROPERTY_DEFINITION('mounting technology','through hole',#557); -#19523=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#581,#18305,#13319); -#19524=ID_ATTRIBUTE('DIODE-2',#581); -#19525=PROPERTY_DEFINITION('maximum body height above seating plane',$,#581); -#19526=PROPERTY_DEFINITION_REPRESENTATION(#19525,#19527); -#19527=REPRESENTATION('',(#594),#13704); -#19528=PROPERTY_DEFINITION('body clearance above seating plane',$,#581); -#19529=PROPERTY_DEFINITION_REPRESENTATION(#19528,#596); -#19530=PROPERTY_DEFINITION('mounting technology','through hole',#581); -#19531=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#605,#18305,#13319); -#19532=ID_ATTRIBUTE('DIODE-3',#605); -#19533=PROPERTY_DEFINITION('maximum body height above seating plane',$,#605); -#19534=PROPERTY_DEFINITION_REPRESENTATION(#19533,#19535); -#19535=REPRESENTATION('',(#618),#13704); -#19536=PROPERTY_DEFINITION('body clearance above seating plane',$,#605); -#19537=PROPERTY_DEFINITION_REPRESENTATION(#19536,#620); -#19538=PROPERTY_DEFINITION('mounting technology','through hole',#605); -#19539=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#629,#18305,#13319); -#19540=ID_ATTRIBUTE('JUMPER',#629); -#19541=PROPERTY_DEFINITION('maximum body height above seating plane',$,#629); -#19542=PROPERTY_DEFINITION_REPRESENTATION(#19541,#19543); -#19543=REPRESENTATION('',(#642),#13704); -#19544=PROPERTY_DEFINITION('body clearance above seating plane',$,#629); -#19545=PROPERTY_DEFINITION_REPRESENTATION(#19544,#644); -#19546=PROPERTY_DEFINITION('mounting technology','through hole',#629); -#19547=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4214,#4220); -#19548=PROPERTY_DEFINITION('',$,#4220); -#19549=PROPERTY_DEFINITION('',$,#4203); -#19550=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19549,#19548); -#19551=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4249,#4256); -#19552=PROPERTY_DEFINITION('',$,#4256); -#19553=PROPERTY_DEFINITION('',$,#4246); -#19554=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19553,#19552); -#19555=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4296,#4302); -#19556=PROPERTY_DEFINITION('',$,#4302); -#19557=PROPERTY_DEFINITION('',$,#4293); -#19558=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19557,#19556); -#19559=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4337,#4343); -#19560=PROPERTY_DEFINITION('',$,#4343); -#19561=PROPERTY_DEFINITION('',$,#4334); -#19562=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19561,#19560); -#19563=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4378,#4384); -#19564=PROPERTY_DEFINITION('',$,#4384); -#19565=PROPERTY_DEFINITION('',$,#4375); -#19566=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19565,#19564); -#19567=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4413,#4419); -#19568=PROPERTY_DEFINITION('',$,#4419); -#19569=PROPERTY_DEFINITION('',$,#4410); -#19570=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19569,#19568); -#19571=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4448,#4454); -#19572=PROPERTY_DEFINITION('',$,#4454); -#19573=PROPERTY_DEFINITION('',$,#4445); -#19574=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19573,#19572); -#19575=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4474,#4480); -#19576=PROPERTY_DEFINITION('',$,#4480); -#19577=PROPERTY_DEFINITION('',$,#4471); -#19578=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19577,#19576); -#19579=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4480,#4487); -#19580=PROPERTY_DEFINITION('',$,#4487); -#19581=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19577,#19580); -#19582=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4542,#4548); -#19583=PROPERTY_DEFINITION('',$,#4548); -#19584=PROPERTY_DEFINITION('',$,#4539); -#19585=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19583); -#19586=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4548,#4555); -#19587=PROPERTY_DEFINITION('',$,#4555); -#19588=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19587); -#19589=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4555,#4562); -#19590=PROPERTY_DEFINITION('',$,#4562); -#19591=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19590); -#19592=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4562,#4569); -#19593=PROPERTY_DEFINITION('',$,#4569); -#19594=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19593); -#19595=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4569,#4576); -#19596=PROPERTY_DEFINITION('',$,#4576); -#19597=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19596); -#19598=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4576,#4583); -#19599=PROPERTY_DEFINITION('',$,#4583); -#19600=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19599); -#19601=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4583,#4590); -#19602=PROPERTY_DEFINITION('',$,#4590); -#19603=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19602); -#19604=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4590,#4597); -#19605=PROPERTY_DEFINITION('',$,#4597); -#19606=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19605); -#19607=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4597,#4604); -#19608=PROPERTY_DEFINITION('',$,#4604); -#19609=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19608); -#19610=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4604,#4611); -#19611=PROPERTY_DEFINITION('',$,#4611); -#19612=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19611); -#19613=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4611,#4618); -#19614=PROPERTY_DEFINITION('',$,#4618); -#19615=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19614); -#19616=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4618,#4625); -#19617=PROPERTY_DEFINITION('',$,#4625); -#19618=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19617); -#19619=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4625,#4632); -#19620=PROPERTY_DEFINITION('',$,#4632); -#19621=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19620); -#19622=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4632,#4639); -#19623=PROPERTY_DEFINITION('',$,#4639); -#19624=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19623); -#19625=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4639,#4646); -#19626=PROPERTY_DEFINITION('',$,#4646); -#19627=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19626); -#19628=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4646,#4653); -#19629=PROPERTY_DEFINITION('',$,#4653); -#19630=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19629); -#19631=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4653,#4660); -#19632=PROPERTY_DEFINITION('',$,#4660); -#19633=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19632); -#19634=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4660,#4667); -#19635=PROPERTY_DEFINITION('',$,#4667); -#19636=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19635); -#19637=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4667,#4674); -#19638=PROPERTY_DEFINITION('',$,#4674); -#19639=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19638); -#19640=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4674,#4681); -#19641=PROPERTY_DEFINITION('',$,#4681); -#19642=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19641); -#19643=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4681,#4688); -#19644=PROPERTY_DEFINITION('',$,#4688); -#19645=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19644); -#19646=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4688,#4695); -#19647=PROPERTY_DEFINITION('',$,#4695); -#19648=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19647); -#19649=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4695,#4702); -#19650=PROPERTY_DEFINITION('',$,#4702); -#19651=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19650); -#19652=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4702,#4709); -#19653=PROPERTY_DEFINITION('',$,#4709); -#19654=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19653); -#19655=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4709,#4716); -#19656=PROPERTY_DEFINITION('',$,#4716); -#19657=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19656); -#19658=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4716,#4723); -#19659=PROPERTY_DEFINITION('',$,#4723); -#19660=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19659); -#19661=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4723,#4730); -#19662=PROPERTY_DEFINITION('',$,#4730); -#19663=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19662); -#19664=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4730,#4737); -#19665=PROPERTY_DEFINITION('',$,#4737); -#19666=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19665); -#19667=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4737,#4744); -#19668=PROPERTY_DEFINITION('',$,#4744); -#19669=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19668); -#19670=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4744,#4751); -#19671=PROPERTY_DEFINITION('',$,#4751); -#19672=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19671); -#19673=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4751,#4758); -#19674=PROPERTY_DEFINITION('',$,#4758); -#19675=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19674); -#19676=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4758,#4765); -#19677=PROPERTY_DEFINITION('',$,#4765); -#19678=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19677); -#19679=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4765,#4772); -#19680=PROPERTY_DEFINITION('',$,#4772); -#19681=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19680); -#19682=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4772,#4779); -#19683=PROPERTY_DEFINITION('',$,#4779); -#19684=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19683); -#19685=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4779,#4786); -#19686=PROPERTY_DEFINITION('',$,#4786); -#19687=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19686); -#19688=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4786,#4793); -#19689=PROPERTY_DEFINITION('',$,#4793); -#19690=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19689); -#19691=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4793,#4800); -#19692=PROPERTY_DEFINITION('',$,#4800); -#19693=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19692); -#19694=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4800,#4807); -#19695=PROPERTY_DEFINITION('',$,#4807); -#19696=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19695); -#19697=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4807,#4814); -#19698=PROPERTY_DEFINITION('',$,#4814); -#19699=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19698); -#19700=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4814,#4821); -#19701=PROPERTY_DEFINITION('',$,#4821); -#19702=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19701); -#19703=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4821,#4828); -#19704=PROPERTY_DEFINITION('',$,#4828); -#19705=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19704); -#19706=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4828,#4835); -#19707=PROPERTY_DEFINITION('',$,#4835); -#19708=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19707); -#19709=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4835,#4842); -#19710=PROPERTY_DEFINITION('',$,#4842); -#19711=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19710); -#19712=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4842,#4849); -#19713=PROPERTY_DEFINITION('',$,#4849); -#19714=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19713); -#19715=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4849,#4856); -#19716=PROPERTY_DEFINITION('',$,#4856); -#19717=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19716); -#19718=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4856,#4863); -#19719=PROPERTY_DEFINITION('',$,#4863); -#19720=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19719); -#19721=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4863,#4870); -#19722=PROPERTY_DEFINITION('',$,#4870); -#19723=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19722); -#19724=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4870,#4877); -#19725=PROPERTY_DEFINITION('',$,#4877); -#19726=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19725); -#19727=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4877,#4884); -#19728=PROPERTY_DEFINITION('',$,#4884); -#19729=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19728); -#19730=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4884,#4891); -#19731=PROPERTY_DEFINITION('',$,#4891); -#19732=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19731); -#19733=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4891,#4898); -#19734=PROPERTY_DEFINITION('',$,#4898); -#19735=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19734); -#19736=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4898,#4905); -#19737=PROPERTY_DEFINITION('',$,#4905); -#19738=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19737); -#19739=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4905,#4912); -#19740=PROPERTY_DEFINITION('',$,#4912); -#19741=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19740); -#19742=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4912,#4919); -#19743=PROPERTY_DEFINITION('',$,#4919); -#19744=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19743); -#19745=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4919,#4926); -#19746=PROPERTY_DEFINITION('',$,#4926); -#19747=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19746); -#19748=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4926,#4933); -#19749=PROPERTY_DEFINITION('',$,#4933); -#19750=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19749); -#19751=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4933,#4940); -#19752=PROPERTY_DEFINITION('',$,#4940); -#19753=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19752); -#19754=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4940,#4947); -#19755=PROPERTY_DEFINITION('',$,#4947); -#19756=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19755); -#19757=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4947,#4954); -#19758=PROPERTY_DEFINITION('',$,#4954); -#19759=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19758); -#19760=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4954,#4961); -#19761=PROPERTY_DEFINITION('',$,#4961); -#19762=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19761); -#19763=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4961,#4968); -#19764=PROPERTY_DEFINITION('',$,#4968); -#19765=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19764); -#19766=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4968,#4975); -#19767=PROPERTY_DEFINITION('',$,#4975); -#19768=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19767); -#19769=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4975,#4982); -#19770=PROPERTY_DEFINITION('',$,#4982); -#19771=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19770); -#19772=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4982,#4989); -#19773=PROPERTY_DEFINITION('',$,#4989); -#19774=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19773); -#19775=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4989,#4996); -#19776=PROPERTY_DEFINITION('',$,#4996); -#19777=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19776); -#19778=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4996,#5003); -#19779=PROPERTY_DEFINITION('',$,#5003); -#19780=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19779); -#19781=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5003,#5010); -#19782=PROPERTY_DEFINITION('',$,#5010); -#19783=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19782); -#19784=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5010,#5017); -#19785=PROPERTY_DEFINITION('',$,#5017); -#19786=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19785); -#19787=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5017,#5024); -#19788=PROPERTY_DEFINITION('',$,#5024); -#19789=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19788); -#19790=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5024,#5031); -#19791=PROPERTY_DEFINITION('',$,#5031); -#19792=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19791); -#19793=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5031,#5038); -#19794=PROPERTY_DEFINITION('',$,#5038); -#19795=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19794); -#19796=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5038,#5045); -#19797=PROPERTY_DEFINITION('',$,#5045); -#19798=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19797); -#19799=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5045,#5052); -#19800=PROPERTY_DEFINITION('',$,#5052); -#19801=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19800); -#19802=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5052,#5059); -#19803=PROPERTY_DEFINITION('',$,#5059); -#19804=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19803); -#19805=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5059,#5066); -#19806=PROPERTY_DEFINITION('',$,#5066); -#19807=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19806); -#19808=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5066,#5073); -#19809=PROPERTY_DEFINITION('',$,#5073); -#19810=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19809); -#19811=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5073,#5080); -#19812=PROPERTY_DEFINITION('',$,#5080); -#19813=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19812); -#19814=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5080,#5087); -#19815=PROPERTY_DEFINITION('',$,#5087); -#19816=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19815); -#19817=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5087,#5094); -#19818=PROPERTY_DEFINITION('',$,#5094); -#19819=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19818); -#19820=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5094,#5101); -#19821=PROPERTY_DEFINITION('',$,#5101); -#19822=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19821); -#19823=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5101,#5108); -#19824=PROPERTY_DEFINITION('',$,#5108); -#19825=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19824); -#19826=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5108,#5115); -#19827=PROPERTY_DEFINITION('',$,#5115); -#19828=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19827); -#19829=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5115,#5122); -#19830=PROPERTY_DEFINITION('',$,#5122); -#19831=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19830); -#19832=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5122,#5129); -#19833=PROPERTY_DEFINITION('',$,#5129); -#19834=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19833); -#19835=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5129,#5136); -#19836=PROPERTY_DEFINITION('',$,#5136); -#19837=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19836); -#19838=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5136,#5143); -#19839=PROPERTY_DEFINITION('',$,#5143); -#19840=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19839); -#19841=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5143,#5150); -#19842=PROPERTY_DEFINITION('',$,#5150); -#19843=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19842); -#19844=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5150,#5157); -#19845=PROPERTY_DEFINITION('',$,#5157); -#19846=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19845); -#19847=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5157,#5164); -#19848=PROPERTY_DEFINITION('',$,#5164); -#19849=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19848); -#19850=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5164,#5171); -#19851=PROPERTY_DEFINITION('',$,#5171); -#19852=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19851); -#19853=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5171,#5178); -#19854=PROPERTY_DEFINITION('',$,#5178); -#19855=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19854); -#19856=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5178,#5185); -#19857=PROPERTY_DEFINITION('',$,#5185); -#19858=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19857); -#19859=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5185,#5192); -#19860=PROPERTY_DEFINITION('',$,#5192); -#19861=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19860); -#19862=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5192,#5199); -#19863=PROPERTY_DEFINITION('',$,#5199); -#19864=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19863); -#19865=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5199,#5206); -#19866=PROPERTY_DEFINITION('',$,#5206); -#19867=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19866); -#19868=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5206,#5213); -#19869=PROPERTY_DEFINITION('',$,#5213); -#19870=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19869); -#19871=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5213,#5220); -#19872=PROPERTY_DEFINITION('',$,#5220); -#19873=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19872); -#19874=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5220,#5227); -#19875=PROPERTY_DEFINITION('',$,#5227); -#19876=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19875); -#19877=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5227,#5234); -#19878=PROPERTY_DEFINITION('',$,#5234); -#19879=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19878); -#19880=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5234,#5241); -#19881=PROPERTY_DEFINITION('',$,#5241); -#19882=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19881); -#19883=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5241,#5248); -#19884=PROPERTY_DEFINITION('',$,#5248); -#19885=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19884); -#19886=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5248,#5255); -#19887=PROPERTY_DEFINITION('',$,#5255); -#19888=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19887); -#19889=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5255,#5262); -#19890=PROPERTY_DEFINITION('',$,#5262); -#19891=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19890); -#19892=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5262,#5269); -#19893=PROPERTY_DEFINITION('',$,#5269); -#19894=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19893); -#19895=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5269,#5276); -#19896=PROPERTY_DEFINITION('',$,#5276); -#19897=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19896); -#19898=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5276,#5283); -#19899=PROPERTY_DEFINITION('',$,#5283); -#19900=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19899); -#19901=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5283,#5290); -#19902=PROPERTY_DEFINITION('',$,#5290); -#19903=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19902); -#19904=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5290,#5297); -#19905=PROPERTY_DEFINITION('',$,#5297); -#19906=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19905); -#19907=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5297,#5304); -#19908=PROPERTY_DEFINITION('',$,#5304); -#19909=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19908); -#19910=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5304,#5311); -#19911=PROPERTY_DEFINITION('',$,#5311); -#19912=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19911); -#19913=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5311,#5318); -#19914=PROPERTY_DEFINITION('',$,#5318); -#19915=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19584,#19914); -#19916=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5371,#5377); -#19917=PROPERTY_DEFINITION('',$,#5377); -#19918=PROPERTY_DEFINITION('',$,#5368); -#19919=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19918,#19917); -#19920=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5377,#5384); -#19921=PROPERTY_DEFINITION('',$,#5384); -#19922=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19918,#19921); -#19923=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5410,#5416); -#19924=PROPERTY_DEFINITION('',$,#5416); -#19925=PROPERTY_DEFINITION('',$,#5407); -#19926=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19925,#19924); -#19927=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5416,#5423); -#19928=PROPERTY_DEFINITION('',$,#5423); -#19929=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19925,#19928); -#19930=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5449,#5455); -#19931=PROPERTY_DEFINITION('',$,#5455); -#19932=PROPERTY_DEFINITION('',$,#5446); -#19933=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19932,#19931); -#19934=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5455,#5462); -#19935=PROPERTY_DEFINITION('',$,#5462); -#19936=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19932,#19935); -#19937=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5491,#5497); -#19938=PROPERTY_DEFINITION('',$,#5497); -#19939=PROPERTY_DEFINITION('',$,#5488); -#19940=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19939,#19938); -#19941=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5526,#5532); -#19942=PROPERTY_DEFINITION('',$,#5532); -#19943=PROPERTY_DEFINITION('',$,#5523); -#19944=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19943,#19942); -#19945=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5555,#5561); -#19946=PROPERTY_DEFINITION('',$,#5561); -#19947=PROPERTY_DEFINITION('',$,#5552); -#19948=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19947,#19946); -#19949=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5561,#5568); -#19950=PROPERTY_DEFINITION('',$,#5568); -#19951=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19947,#19950); -#19952=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5568,#5575); -#19953=PROPERTY_DEFINITION('',$,#5575); -#19954=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19947,#19953); -#19955=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5575,#5582); -#19956=PROPERTY_DEFINITION('',$,#5582); -#19957=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19947,#19956); -#19958=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5582,#5589); -#19959=PROPERTY_DEFINITION('',$,#5589); -#19960=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19947,#19959); -#19961=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5687,#5693); -#19962=PROPERTY_DEFINITION('',$,#5693); -#19963=PROPERTY_DEFINITION('',$,#5684); -#19964=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19962); -#19965=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5693,#5700); -#19966=PROPERTY_DEFINITION('',$,#5700); -#19967=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19966); -#19968=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5700,#5707); -#19969=PROPERTY_DEFINITION('',$,#5707); -#19970=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19969); -#19971=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5707,#5714); -#19972=PROPERTY_DEFINITION('',$,#5714); -#19973=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19972); -#19974=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5714,#5721); -#19975=PROPERTY_DEFINITION('',$,#5721); -#19976=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19975); -#19977=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5721,#5728); -#19978=PROPERTY_DEFINITION('',$,#5728); -#19979=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19978); -#19980=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5728,#5735); -#19981=PROPERTY_DEFINITION('',$,#5735); -#19982=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19981); -#19983=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5735,#5742); -#19984=PROPERTY_DEFINITION('',$,#5742); -#19985=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19984); -#19986=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5742,#5749); -#19987=PROPERTY_DEFINITION('',$,#5749); -#19988=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19987); -#19989=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5749,#5756); -#19990=PROPERTY_DEFINITION('',$,#5756); -#19991=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19990); -#19992=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5756,#5763); -#19993=PROPERTY_DEFINITION('',$,#5763); -#19994=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19993); -#19995=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5763,#5770); -#19996=PROPERTY_DEFINITION('',$,#5770); -#19997=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19996); -#19998=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5770,#5777); -#19999=PROPERTY_DEFINITION('',$,#5777); -#20000=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#19963,#19999); -#20001=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5812,#5818); -#20002=PROPERTY_DEFINITION('',$,#5818); -#20003=PROPERTY_DEFINITION('',$,#5809); -#20004=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20003,#20002); -#20005=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5847,#5853); -#20006=PROPERTY_DEFINITION('',$,#5853); -#20007=PROPERTY_DEFINITION('',$,#5844); -#20008=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20007,#20006); -#20009=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#5890,#5896); -#20010=PROPERTY_DEFINITION('',$,#5896); -#20011=PROPERTY_DEFINITION('',$,#5887); -#20012=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20011,#20010); -#20013=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4203); -#20014=PROPERTY_DEFINITION('predefined lead form','undefined',#4203); -#20015=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4246); -#20016=PROPERTY_DEFINITION('predefined lead form','undefined',#4246); -#20017=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4293); -#20018=PROPERTY_DEFINITION('predefined lead form','undefined',#4293); -#20019=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4334); -#20020=PROPERTY_DEFINITION('predefined lead form','undefined',#4334); -#20021=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4375); -#20022=PROPERTY_DEFINITION('predefined lead form','undefined',#4375); -#20023=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4410); -#20024=PROPERTY_DEFINITION('predefined lead form','undefined',#4410); -#20025=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4445); -#20026=PROPERTY_DEFINITION('predefined lead form','undefined',#4445); -#20027=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4471); -#20028=PROPERTY_DEFINITION('predefined lead form','undefined',#4471); -#20029=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4539); -#20030=PROPERTY_DEFINITION('predefined lead form','undefined',#4539); -#20031=PROPERTY_DEFINITION('seating plane intersection','through intersection',#5368); -#20032=PROPERTY_DEFINITION('predefined lead form','undefined',#5368); -#20033=PROPERTY_DEFINITION('seating plane intersection','through intersection',#5407); -#20034=PROPERTY_DEFINITION('predefined lead form','undefined',#5407); -#20035=PROPERTY_DEFINITION('seating plane intersection','through intersection',#5446); -#20036=PROPERTY_DEFINITION('predefined lead form','undefined',#5446); -#20037=PROPERTY_DEFINITION('seating plane intersection','through intersection',#5488); -#20038=PROPERTY_DEFINITION('predefined lead form','undefined',#5488); -#20039=PROPERTY_DEFINITION('seating plane intersection','through intersection',#5523); -#20040=PROPERTY_DEFINITION('predefined lead form','undefined',#5523); -#20041=PROPERTY_DEFINITION('seating plane intersection','through intersection',#5552); -#20042=PROPERTY_DEFINITION('predefined lead form','undefined',#5552); -#20043=PROPERTY_DEFINITION('seating plane intersection','through intersection',#5684); -#20044=PROPERTY_DEFINITION('predefined lead form','undefined',#5684); -#20045=PROPERTY_DEFINITION('seating plane intersection','through intersection',#5809); -#20046=PROPERTY_DEFINITION('predefined lead form','undefined',#5809); -#20047=PROPERTY_DEFINITION('seating plane intersection','through intersection',#5844); -#20048=PROPERTY_DEFINITION('predefined lead form','undefined',#5844); -#20049=PROPERTY_DEFINITION('seating plane intersection','through intersection',#5887); -#20050=PROPERTY_DEFINITION('predefined lead form','undefined',#5887); -#20051=PRODUCT_CONTEXT('part',#13318,''); -#20052=PROPERTY_DEFINITION('',$,#4214); -#20053=PROPERTY_DEFINITION('',$,#4218); -#20054=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20052,#20053); -#20055=PROPERTY_DEFINITION('',$,#4225); -#20056=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19548,#20055); -#20057=PROPERTY_DEFINITION('',$,#4249); -#20058=PROPERTY_DEFINITION('',$,#4254); -#20059=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20057,#20058); -#20060=PROPERTY_DEFINITION('',$,#4260); -#20061=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19552,#20060); -#20062=PROPERTY_DEFINITION('',$,#4296); -#20063=PROPERTY_DEFINITION('',$,#4300); -#20064=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20062,#20063); -#20065=PROPERTY_DEFINITION('',$,#4307); -#20066=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19556,#20065); -#20067=PROPERTY_DEFINITION('',$,#4337); -#20068=PROPERTY_DEFINITION('',$,#4341); -#20069=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20067,#20068); -#20070=PROPERTY_DEFINITION('',$,#4348); -#20071=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19560,#20070); -#20072=PROPERTY_DEFINITION('',$,#4378); -#20073=PROPERTY_DEFINITION('',$,#4382); -#20074=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20072,#20073); -#20075=PROPERTY_DEFINITION('',$,#4389); -#20076=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19564,#20075); -#20077=PROPERTY_DEFINITION('',$,#4413); -#20078=PROPERTY_DEFINITION('',$,#4417); -#20079=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20077,#20078); -#20080=PROPERTY_DEFINITION('',$,#4424); -#20081=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19568,#20080); -#20082=PROPERTY_DEFINITION('',$,#4448); -#20083=PROPERTY_DEFINITION('',$,#4452); -#20084=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20082,#20083); -#20085=PROPERTY_DEFINITION('',$,#4459); -#20086=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19572,#20085); -#20087=PROPERTY_DEFINITION('',$,#4474); -#20088=PROPERTY_DEFINITION('',$,#4478); -#20089=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20087,#20088); -#20090=PROPERTY_DEFINITION('',$,#4485); -#20091=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19576,#20090); -#20092=PROPERTY_DEFINITION('',$,#4492); -#20093=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19580,#20092); -#20094=PROPERTY_DEFINITION('',$,#4542); -#20095=PROPERTY_DEFINITION('',$,#4546); -#20096=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20094,#20095); -#20097=PROPERTY_DEFINITION('',$,#4553); -#20098=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19583,#20097); -#20099=PROPERTY_DEFINITION('',$,#4560); -#20100=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19587,#20099); -#20101=PROPERTY_DEFINITION('',$,#4567); -#20102=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19590,#20101); -#20103=PROPERTY_DEFINITION('',$,#4574); -#20104=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19593,#20103); -#20105=PROPERTY_DEFINITION('',$,#4581); -#20106=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19596,#20105); -#20107=PROPERTY_DEFINITION('',$,#4588); -#20108=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19599,#20107); -#20109=PROPERTY_DEFINITION('',$,#4595); -#20110=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19602,#20109); -#20111=PROPERTY_DEFINITION('',$,#4602); -#20112=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19605,#20111); -#20113=PROPERTY_DEFINITION('',$,#4609); -#20114=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19608,#20113); -#20115=PROPERTY_DEFINITION('',$,#4616); -#20116=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19611,#20115); -#20117=PROPERTY_DEFINITION('',$,#4623); -#20118=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19614,#20117); -#20119=PROPERTY_DEFINITION('',$,#4630); -#20120=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19617,#20119); -#20121=PROPERTY_DEFINITION('',$,#4637); -#20122=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19620,#20121); -#20123=PROPERTY_DEFINITION('',$,#4644); -#20124=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19623,#20123); -#20125=PROPERTY_DEFINITION('',$,#4651); -#20126=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19626,#20125); -#20127=PROPERTY_DEFINITION('',$,#4658); -#20128=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19629,#20127); -#20129=PROPERTY_DEFINITION('',$,#4665); -#20130=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19632,#20129); -#20131=PROPERTY_DEFINITION('',$,#4672); -#20132=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19635,#20131); -#20133=PROPERTY_DEFINITION('',$,#4679); -#20134=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19638,#20133); -#20135=PROPERTY_DEFINITION('',$,#4686); -#20136=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19641,#20135); -#20137=PROPERTY_DEFINITION('',$,#4693); -#20138=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19644,#20137); -#20139=PROPERTY_DEFINITION('',$,#4700); -#20140=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19647,#20139); -#20141=PROPERTY_DEFINITION('',$,#4707); -#20142=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19650,#20141); -#20143=PROPERTY_DEFINITION('',$,#4714); -#20144=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19653,#20143); -#20145=PROPERTY_DEFINITION('',$,#4721); -#20146=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19656,#20145); -#20147=PROPERTY_DEFINITION('',$,#4728); -#20148=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19659,#20147); -#20149=PROPERTY_DEFINITION('',$,#4735); -#20150=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19662,#20149); -#20151=PROPERTY_DEFINITION('',$,#4742); -#20152=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19665,#20151); -#20153=PROPERTY_DEFINITION('',$,#4749); -#20154=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19668,#20153); -#20155=PROPERTY_DEFINITION('',$,#4756); -#20156=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19671,#20155); -#20157=PROPERTY_DEFINITION('',$,#4763); -#20158=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19674,#20157); -#20159=PROPERTY_DEFINITION('',$,#4770); -#20160=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19677,#20159); -#20161=PROPERTY_DEFINITION('',$,#4777); -#20162=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19680,#20161); -#20163=PROPERTY_DEFINITION('',$,#4784); -#20164=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19683,#20163); -#20165=PROPERTY_DEFINITION('',$,#4791); -#20166=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19686,#20165); -#20167=PROPERTY_DEFINITION('',$,#4798); -#20168=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19689,#20167); -#20169=PROPERTY_DEFINITION('',$,#4805); -#20170=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19692,#20169); -#20171=PROPERTY_DEFINITION('',$,#4812); -#20172=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19695,#20171); -#20173=PROPERTY_DEFINITION('',$,#4819); -#20174=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19698,#20173); -#20175=PROPERTY_DEFINITION('',$,#4826); -#20176=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19701,#20175); -#20177=PROPERTY_DEFINITION('',$,#4833); -#20178=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19704,#20177); -#20179=PROPERTY_DEFINITION('',$,#4840); -#20180=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19707,#20179); -#20181=PROPERTY_DEFINITION('',$,#4847); -#20182=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19710,#20181); -#20183=PROPERTY_DEFINITION('',$,#4854); -#20184=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19713,#20183); -#20185=PROPERTY_DEFINITION('',$,#4861); -#20186=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19716,#20185); -#20187=PROPERTY_DEFINITION('',$,#4868); -#20188=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19719,#20187); -#20189=PROPERTY_DEFINITION('',$,#4875); -#20190=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19722,#20189); -#20191=PROPERTY_DEFINITION('',$,#4882); -#20192=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19725,#20191); -#20193=PROPERTY_DEFINITION('',$,#4889); -#20194=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19728,#20193); -#20195=PROPERTY_DEFINITION('',$,#4896); -#20196=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19731,#20195); -#20197=PROPERTY_DEFINITION('',$,#4903); -#20198=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19734,#20197); -#20199=PROPERTY_DEFINITION('',$,#4910); -#20200=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19737,#20199); -#20201=PROPERTY_DEFINITION('',$,#4917); -#20202=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19740,#20201); -#20203=PROPERTY_DEFINITION('',$,#4924); -#20204=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19743,#20203); -#20205=PROPERTY_DEFINITION('',$,#4931); -#20206=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19746,#20205); -#20207=PROPERTY_DEFINITION('',$,#4938); -#20208=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19749,#20207); -#20209=PROPERTY_DEFINITION('',$,#4945); -#20210=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19752,#20209); -#20211=PROPERTY_DEFINITION('',$,#4952); -#20212=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19755,#20211); -#20213=PROPERTY_DEFINITION('',$,#4959); -#20214=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19758,#20213); -#20215=PROPERTY_DEFINITION('',$,#4966); -#20216=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19761,#20215); -#20217=PROPERTY_DEFINITION('',$,#4973); -#20218=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19764,#20217); -#20219=PROPERTY_DEFINITION('',$,#4980); -#20220=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19767,#20219); -#20221=PROPERTY_DEFINITION('',$,#4987); -#20222=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19770,#20221); -#20223=PROPERTY_DEFINITION('',$,#4994); -#20224=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19773,#20223); -#20225=PROPERTY_DEFINITION('',$,#5001); -#20226=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19776,#20225); -#20227=PROPERTY_DEFINITION('',$,#5008); -#20228=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19779,#20227); -#20229=PROPERTY_DEFINITION('',$,#5015); -#20230=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19782,#20229); -#20231=PROPERTY_DEFINITION('',$,#5022); -#20232=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19785,#20231); -#20233=PROPERTY_DEFINITION('',$,#5029); -#20234=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19788,#20233); -#20235=PROPERTY_DEFINITION('',$,#5036); -#20236=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19791,#20235); -#20237=PROPERTY_DEFINITION('',$,#5043); -#20238=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19794,#20237); -#20239=PROPERTY_DEFINITION('',$,#5050); -#20240=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19797,#20239); -#20241=PROPERTY_DEFINITION('',$,#5057); -#20242=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19800,#20241); -#20243=PROPERTY_DEFINITION('',$,#5064); -#20244=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19803,#20243); -#20245=PROPERTY_DEFINITION('',$,#5071); -#20246=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19806,#20245); -#20247=PROPERTY_DEFINITION('',$,#5078); -#20248=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19809,#20247); -#20249=PROPERTY_DEFINITION('',$,#5085); -#20250=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19812,#20249); -#20251=PROPERTY_DEFINITION('',$,#5092); -#20252=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19815,#20251); -#20253=PROPERTY_DEFINITION('',$,#5099); -#20254=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19818,#20253); -#20255=PROPERTY_DEFINITION('',$,#5106); -#20256=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19821,#20255); -#20257=PROPERTY_DEFINITION('',$,#5113); -#20258=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19824,#20257); -#20259=PROPERTY_DEFINITION('',$,#5120); -#20260=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19827,#20259); -#20261=PROPERTY_DEFINITION('',$,#5127); -#20262=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19830,#20261); -#20263=PROPERTY_DEFINITION('',$,#5134); -#20264=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19833,#20263); -#20265=PROPERTY_DEFINITION('',$,#5141); -#20266=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19836,#20265); -#20267=PROPERTY_DEFINITION('',$,#5148); -#20268=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19839,#20267); -#20269=PROPERTY_DEFINITION('',$,#5155); -#20270=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19842,#20269); -#20271=PROPERTY_DEFINITION('',$,#5162); -#20272=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19845,#20271); -#20273=PROPERTY_DEFINITION('',$,#5169); -#20274=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19848,#20273); -#20275=PROPERTY_DEFINITION('',$,#5176); -#20276=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19851,#20275); -#20277=PROPERTY_DEFINITION('',$,#5183); -#20278=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19854,#20277); -#20279=PROPERTY_DEFINITION('',$,#5190); -#20280=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19857,#20279); -#20281=PROPERTY_DEFINITION('',$,#5197); -#20282=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19860,#20281); -#20283=PROPERTY_DEFINITION('',$,#5204); -#20284=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19863,#20283); -#20285=PROPERTY_DEFINITION('',$,#5211); -#20286=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19866,#20285); -#20287=PROPERTY_DEFINITION('',$,#5218); -#20288=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19869,#20287); -#20289=PROPERTY_DEFINITION('',$,#5225); -#20290=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19872,#20289); -#20291=PROPERTY_DEFINITION('',$,#5232); -#20292=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19875,#20291); -#20293=PROPERTY_DEFINITION('',$,#5239); -#20294=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19878,#20293); -#20295=PROPERTY_DEFINITION('',$,#5246); -#20296=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19881,#20295); -#20297=PROPERTY_DEFINITION('',$,#5253); -#20298=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19884,#20297); -#20299=PROPERTY_DEFINITION('',$,#5260); -#20300=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19887,#20299); -#20301=PROPERTY_DEFINITION('',$,#5267); -#20302=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19890,#20301); -#20303=PROPERTY_DEFINITION('',$,#5274); -#20304=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19893,#20303); -#20305=PROPERTY_DEFINITION('',$,#5281); -#20306=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19896,#20305); -#20307=PROPERTY_DEFINITION('',$,#5288); -#20308=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19899,#20307); -#20309=PROPERTY_DEFINITION('',$,#5295); -#20310=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19902,#20309); -#20311=PROPERTY_DEFINITION('',$,#5302); -#20312=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19905,#20311); -#20313=PROPERTY_DEFINITION('',$,#5309); -#20314=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19908,#20313); -#20315=PROPERTY_DEFINITION('',$,#5316); -#20316=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19911,#20315); -#20317=PROPERTY_DEFINITION('',$,#5323); -#20318=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19914,#20317); -#20319=PROPERTY_DEFINITION('',$,#5371); -#20320=PROPERTY_DEFINITION('',$,#5375); -#20321=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20319,#20320); -#20322=PROPERTY_DEFINITION('',$,#5382); -#20323=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19917,#20322); -#20324=PROPERTY_DEFINITION('',$,#5389); -#20325=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19921,#20324); -#20326=PROPERTY_DEFINITION('',$,#5410); -#20327=PROPERTY_DEFINITION('',$,#5414); -#20328=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20326,#20327); -#20329=PROPERTY_DEFINITION('',$,#5421); -#20330=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19924,#20329); -#20331=PROPERTY_DEFINITION('',$,#5428); -#20332=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19928,#20331); -#20333=PROPERTY_DEFINITION('',$,#5449); -#20334=PROPERTY_DEFINITION('',$,#5453); -#20335=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20333,#20334); -#20336=PROPERTY_DEFINITION('',$,#5460); -#20337=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19931,#20336); -#20338=PROPERTY_DEFINITION('',$,#5467); -#20339=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19935,#20338); -#20340=PROPERTY_DEFINITION('',$,#5491); -#20341=PROPERTY_DEFINITION('',$,#5495); -#20342=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20340,#20341); -#20343=PROPERTY_DEFINITION('',$,#5502); -#20344=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19938,#20343); -#20345=PROPERTY_DEFINITION('',$,#5526); -#20346=PROPERTY_DEFINITION('',$,#5530); -#20347=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20345,#20346); -#20348=PROPERTY_DEFINITION('',$,#5537); -#20349=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19942,#20348); -#20350=PROPERTY_DEFINITION('',$,#5555); -#20351=PROPERTY_DEFINITION('',$,#5559); -#20352=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20350,#20351); -#20353=PROPERTY_DEFINITION('',$,#5566); -#20354=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19946,#20353); -#20355=PROPERTY_DEFINITION('',$,#5573); -#20356=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19950,#20355); -#20357=PROPERTY_DEFINITION('',$,#5580); -#20358=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19953,#20357); -#20359=PROPERTY_DEFINITION('',$,#5587); -#20360=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19956,#20359); -#20361=PROPERTY_DEFINITION('',$,#5594); -#20362=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19959,#20361); -#20363=PROPERTY_DEFINITION('',$,#5687); -#20364=PROPERTY_DEFINITION('',$,#5691); -#20365=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20363,#20364); -#20366=PROPERTY_DEFINITION('',$,#5698); -#20367=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19962,#20366); -#20368=PROPERTY_DEFINITION('',$,#5705); -#20369=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19966,#20368); -#20370=PROPERTY_DEFINITION('',$,#5712); -#20371=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19969,#20370); -#20372=PROPERTY_DEFINITION('',$,#5719); -#20373=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19972,#20372); -#20374=PROPERTY_DEFINITION('',$,#5726); -#20375=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19975,#20374); -#20376=PROPERTY_DEFINITION('',$,#5733); -#20377=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19978,#20376); -#20378=PROPERTY_DEFINITION('',$,#5740); -#20379=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19981,#20378); -#20380=PROPERTY_DEFINITION('',$,#5747); -#20381=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19984,#20380); -#20382=PROPERTY_DEFINITION('',$,#5754); -#20383=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19987,#20382); -#20384=PROPERTY_DEFINITION('',$,#5761); -#20385=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19990,#20384); -#20386=PROPERTY_DEFINITION('',$,#5768); -#20387=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19993,#20386); -#20388=PROPERTY_DEFINITION('',$,#5775); -#20389=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19996,#20388); -#20390=PROPERTY_DEFINITION('',$,#5782); -#20391=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#19999,#20390); -#20392=PROPERTY_DEFINITION('',$,#5812); -#20393=PROPERTY_DEFINITION('',$,#5816); -#20394=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20392,#20393); -#20395=PROPERTY_DEFINITION('',$,#5823); -#20396=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20002,#20395); -#20397=PROPERTY_DEFINITION('',$,#5847); -#20398=PROPERTY_DEFINITION('',$,#5851); -#20399=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20397,#20398); -#20400=PROPERTY_DEFINITION('',$,#5858); -#20401=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20006,#20400); -#20402=PROPERTY_DEFINITION('',$,#5890); -#20403=PROPERTY_DEFINITION('',$,#5894); -#20404=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20402,#20403); -#20405=PROPERTY_DEFINITION('',$,#5901); -#20406=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#20010,#20405); -#20407=DESCRIPTION_ATTRIBUTE('ptpsm',#309); -#20408=SHAPE_DEFINITION_REPRESENTATION(#308,#309); -#20409=REPRESENTATION_RELATIONSHIP('',$,#309,#14962); -#20410=DESCRIPTION_ATTRIBUTE('ptpsm',#356); -#20411=SHAPE_DEFINITION_REPRESENTATION(#355,#356); -#20412=REPRESENTATION_RELATIONSHIP('',$,#356,#14962); -#20413=DESCRIPTION_ATTRIBUTE('ptpsm',#369); -#20414=SHAPE_DEFINITION_REPRESENTATION(#368,#369); -#20415=REPRESENTATION_RELATIONSHIP('',$,#369,#14962); -#20416=DESCRIPTION_ATTRIBUTE('ptpsm',#415); -#20417=SHAPE_DEFINITION_REPRESENTATION(#414,#415); -#20418=REPRESENTATION_RELATIONSHIP('',$,#415,#14962); -#20419=DESCRIPTION_ATTRIBUTE('ptpsm',#1825); -#20420=SHAPE_DEFINITION_REPRESENTATION(#1824,#1825); -#20421=REPRESENTATION_RELATIONSHIP('',$,#1825,#14962); -#20422=DESCRIPTION_ATTRIBUTE('ptpsm',#1968); -#20423=SHAPE_DEFINITION_REPRESENTATION(#1967,#1968); -#20424=REPRESENTATION_RELATIONSHIP('',$,#1968,#14962); -#20425=DESCRIPTION_ATTRIBUTE('ptpsm',#2170); -#20426=SHAPE_DEFINITION_REPRESENTATION(#2169,#2170); -#20427=REPRESENTATION_RELATIONSHIP('',$,#2170,#14962); -#20428=DESCRIPTION_ATTRIBUTE('ptpsm',#2373); -#20429=SHAPE_DEFINITION_REPRESENTATION(#2372,#2373); -#20430=REPRESENTATION_RELATIONSHIP('',$,#2373,#14962); -#20431=DESCRIPTION_ATTRIBUTE('ptpsm',#2389); -#20432=SHAPE_DEFINITION_REPRESENTATION(#2388,#2389); -#20433=REPRESENTATION_RELATIONSHIP('',$,#2389,#14962); -#20434=DESCRIPTION_ATTRIBUTE('ptpsm',#2531); -#20435=SHAPE_DEFINITION_REPRESENTATION(#2528,#2531); -#20436=REPRESENTATION_RELATIONSHIP('',$,#2531,#14962); -#20437=DESCRIPTION_ATTRIBUTE('ptpsm',#2543); -#20438=SHAPE_DEFINITION_REPRESENTATION(#2542,#2543); -#20439=REPRESENTATION_RELATIONSHIP('',$,#2543,#14962); -#20440=DESCRIPTION_ATTRIBUTE('ptpsm',#2555); -#20441=SHAPE_DEFINITION_REPRESENTATION(#2554,#2555); -#20442=REPRESENTATION_RELATIONSHIP('',$,#2555,#14962); -#20443=DESCRIPTION_ATTRIBUTE('ptpsm',#2603); -#20444=SHAPE_DEFINITION_REPRESENTATION(#2602,#2603); -#20445=REPRESENTATION_RELATIONSHIP('',$,#2603,#14962); -#20446=DESCRIPTION_ATTRIBUTE('ptpsm',#2616); -#20447=SHAPE_DEFINITION_REPRESENTATION(#2615,#2616); -#20448=REPRESENTATION_RELATIONSHIP('',$,#2616,#14962); -#20449=DESCRIPTION_ATTRIBUTE('ptpsm',#2629); -#20450=SHAPE_DEFINITION_REPRESENTATION(#2628,#2629); -#20451=REPRESENTATION_RELATIONSHIP('',$,#2629,#14962); -#20452=DESCRIPTION_ATTRIBUTE('ptpsm',#2689); -#20453=SHAPE_DEFINITION_REPRESENTATION(#2686,#2689); -#20454=REPRESENTATION_RELATIONSHIP('',$,#2689,#14962); -#20455=DESCRIPTION_ATTRIBUTE('ptpsm',#2701); -#20456=SHAPE_DEFINITION_REPRESENTATION(#2700,#2701); -#20457=REPRESENTATION_RELATIONSHIP('',$,#2701,#14962); -#20458=DESCRIPTION_ATTRIBUTE('ptpsm',#2713); -#20459=SHAPE_DEFINITION_REPRESENTATION(#2712,#2713); -#20460=REPRESENTATION_RELATIONSHIP('',$,#2713,#14962); -#20461=DESCRIPTION_ATTRIBUTE('ptpsm',#2761); -#20462=SHAPE_DEFINITION_REPRESENTATION(#2760,#2761); -#20463=REPRESENTATION_RELATIONSHIP('',$,#2761,#14962); -#20464=DESCRIPTION_ATTRIBUTE('ptpsm',#2774); -#20465=SHAPE_DEFINITION_REPRESENTATION(#2773,#2774); -#20466=REPRESENTATION_RELATIONSHIP('',$,#2774,#14962); -#20467=DESCRIPTION_ATTRIBUTE('ptpsm',#2787); -#20468=SHAPE_DEFINITION_REPRESENTATION(#2786,#2787); -#20469=REPRESENTATION_RELATIONSHIP('',$,#2787,#14962); -#20470=DESCRIPTION_ATTRIBUTE('ptpsm',#2847); -#20471=SHAPE_DEFINITION_REPRESENTATION(#2844,#2847); -#20472=REPRESENTATION_RELATIONSHIP('',$,#2847,#14962); -#20473=DESCRIPTION_ATTRIBUTE('ptpsm',#2859); -#20474=SHAPE_DEFINITION_REPRESENTATION(#2858,#2859); -#20475=REPRESENTATION_RELATIONSHIP('',$,#2859,#14962); -#20476=DESCRIPTION_ATTRIBUTE('ptpsm',#2871); -#20477=SHAPE_DEFINITION_REPRESENTATION(#2870,#2871); -#20478=REPRESENTATION_RELATIONSHIP('',$,#2871,#14962); -#20479=DESCRIPTION_ATTRIBUTE('ptpsm',#2919); -#20480=SHAPE_DEFINITION_REPRESENTATION(#2918,#2919); -#20481=REPRESENTATION_RELATIONSHIP('',$,#2919,#14962); -#20482=DESCRIPTION_ATTRIBUTE('ptpsm',#2932); -#20483=SHAPE_DEFINITION_REPRESENTATION(#2931,#2932); -#20484=REPRESENTATION_RELATIONSHIP('',$,#2932,#14962); -#20485=DESCRIPTION_ATTRIBUTE('ptpsm',#2945); -#20486=SHAPE_DEFINITION_REPRESENTATION(#2944,#2945); -#20487=REPRESENTATION_RELATIONSHIP('',$,#2945,#14962); -#20488=DESCRIPTION_ATTRIBUTE('ptpsm',#3005); -#20489=SHAPE_DEFINITION_REPRESENTATION(#3002,#3005); -#20490=REPRESENTATION_RELATIONSHIP('',$,#3005,#14962); -#20491=DESCRIPTION_ATTRIBUTE('ptpsm',#3017); -#20492=SHAPE_DEFINITION_REPRESENTATION(#3016,#3017); -#20493=REPRESENTATION_RELATIONSHIP('',$,#3017,#14962); -#20494=DESCRIPTION_ATTRIBUTE('ptpsm',#3029); -#20495=SHAPE_DEFINITION_REPRESENTATION(#3028,#3029); -#20496=REPRESENTATION_RELATIONSHIP('',$,#3029,#14962); -#20497=DESCRIPTION_ATTRIBUTE('ptpsm',#3077); -#20498=SHAPE_DEFINITION_REPRESENTATION(#3076,#3077); -#20499=REPRESENTATION_RELATIONSHIP('',$,#3077,#14962); -#20500=DESCRIPTION_ATTRIBUTE('ptpsm',#3090); -#20501=SHAPE_DEFINITION_REPRESENTATION(#3089,#3090); -#20502=REPRESENTATION_RELATIONSHIP('',$,#3090,#14962); -#20503=DESCRIPTION_ATTRIBUTE('ptpsm',#3103); -#20504=SHAPE_DEFINITION_REPRESENTATION(#3102,#3103); -#20505=REPRESENTATION_RELATIONSHIP('',$,#3103,#14962); -#20506=DESCRIPTION_ATTRIBUTE('ptpsm',#3159); -#20507=SHAPE_DEFINITION_REPRESENTATION(#3156,#3159); -#20508=REPRESENTATION_RELATIONSHIP('',$,#3159,#14962); -#20509=DESCRIPTION_ATTRIBUTE('ptpsm',#3171); -#20510=SHAPE_DEFINITION_REPRESENTATION(#3170,#3171); -#20511=REPRESENTATION_RELATIONSHIP('',$,#3171,#14962); -#20512=DESCRIPTION_ATTRIBUTE('ptpsm',#3183); -#20513=SHAPE_DEFINITION_REPRESENTATION(#3182,#3183); -#20514=REPRESENTATION_RELATIONSHIP('',$,#3183,#14962); -#20515=DESCRIPTION_ATTRIBUTE('ptpsm',#3231); -#20516=SHAPE_DEFINITION_REPRESENTATION(#3230,#3231); -#20517=REPRESENTATION_RELATIONSHIP('',$,#3231,#14962); -#20518=DESCRIPTION_ATTRIBUTE('ptpsm',#3244); -#20519=SHAPE_DEFINITION_REPRESENTATION(#3243,#3244); -#20520=REPRESENTATION_RELATIONSHIP('',$,#3244,#14962); -#20521=DESCRIPTION_ATTRIBUTE('ptpsm',#3257); -#20522=SHAPE_DEFINITION_REPRESENTATION(#3256,#3257); -#20523=REPRESENTATION_RELATIONSHIP('',$,#3257,#14962); -#20524=DESCRIPTION_ATTRIBUTE('ptpsm',#3313); -#20525=SHAPE_DEFINITION_REPRESENTATION(#3310,#3313); -#20526=REPRESENTATION_RELATIONSHIP('',$,#3313,#14962); -#20527=DESCRIPTION_ATTRIBUTE('ptpsm',#3325); -#20528=SHAPE_DEFINITION_REPRESENTATION(#3324,#3325); -#20529=REPRESENTATION_RELATIONSHIP('',$,#3325,#14962); -#20530=DESCRIPTION_ATTRIBUTE('ptpsm',#3337); -#20531=SHAPE_DEFINITION_REPRESENTATION(#3336,#3337); -#20532=REPRESENTATION_RELATIONSHIP('',$,#3337,#14962); -#20533=DESCRIPTION_ATTRIBUTE('ptpsm',#3385); -#20534=SHAPE_DEFINITION_REPRESENTATION(#3384,#3385); -#20535=REPRESENTATION_RELATIONSHIP('',$,#3385,#14962); -#20536=DESCRIPTION_ATTRIBUTE('ptpsm',#3398); -#20537=SHAPE_DEFINITION_REPRESENTATION(#3397,#3398); -#20538=REPRESENTATION_RELATIONSHIP('',$,#3398,#14962); -#20539=DESCRIPTION_ATTRIBUTE('ptpsm',#3411); -#20540=SHAPE_DEFINITION_REPRESENTATION(#3410,#3411); -#20541=REPRESENTATION_RELATIONSHIP('',$,#3411,#14962); -#20542=DESCRIPTION_ATTRIBUTE('ptpsm',#3471); -#20543=SHAPE_DEFINITION_REPRESENTATION(#3468,#3471); -#20544=REPRESENTATION_RELATIONSHIP('',$,#3471,#14962); -#20545=DESCRIPTION_ATTRIBUTE('ptpsm',#3483); -#20546=SHAPE_DEFINITION_REPRESENTATION(#3482,#3483); -#20547=REPRESENTATION_RELATIONSHIP('',$,#3483,#14962); -#20548=DESCRIPTION_ATTRIBUTE('ptpsm',#3495); -#20549=SHAPE_DEFINITION_REPRESENTATION(#3494,#3495); -#20550=REPRESENTATION_RELATIONSHIP('',$,#3495,#14962); -#20551=DESCRIPTION_ATTRIBUTE('ptpsm',#3543); -#20552=SHAPE_DEFINITION_REPRESENTATION(#3542,#3543); -#20553=REPRESENTATION_RELATIONSHIP('',$,#3543,#14962); -#20554=DESCRIPTION_ATTRIBUTE('ptpsm',#3556); -#20555=SHAPE_DEFINITION_REPRESENTATION(#3555,#3556); -#20556=REPRESENTATION_RELATIONSHIP('',$,#3556,#14962); -#20557=DESCRIPTION_ATTRIBUTE('ptpsm',#3569); -#20558=SHAPE_DEFINITION_REPRESENTATION(#3568,#3569); -#20559=REPRESENTATION_RELATIONSHIP('',$,#3569,#14962); -#20560=DESCRIPTION_ATTRIBUTE('ptpsm',#3629); -#20561=SHAPE_DEFINITION_REPRESENTATION(#3626,#3629); -#20562=REPRESENTATION_RELATIONSHIP('',$,#3629,#14962); -#20563=DESCRIPTION_ATTRIBUTE('ptpsm',#3641); -#20564=SHAPE_DEFINITION_REPRESENTATION(#3640,#3641); -#20565=REPRESENTATION_RELATIONSHIP('',$,#3641,#14962); -#20566=DESCRIPTION_ATTRIBUTE('ptpsm',#3653); -#20567=SHAPE_DEFINITION_REPRESENTATION(#3652,#3653); -#20568=REPRESENTATION_RELATIONSHIP('',$,#3653,#14962); -#20569=DESCRIPTION_ATTRIBUTE('ptpsm',#3701); -#20570=SHAPE_DEFINITION_REPRESENTATION(#3700,#3701); -#20571=REPRESENTATION_RELATIONSHIP('',$,#3701,#14962); -#20572=DESCRIPTION_ATTRIBUTE('ptpsm',#3714); -#20573=SHAPE_DEFINITION_REPRESENTATION(#3713,#3714); -#20574=REPRESENTATION_RELATIONSHIP('',$,#3714,#14962); -#20575=DESCRIPTION_ATTRIBUTE('ptpsm',#3727); -#20576=SHAPE_DEFINITION_REPRESENTATION(#3726,#3727); -#20577=REPRESENTATION_RELATIONSHIP('',$,#3727,#14962); -#20578=DESCRIPTION_ATTRIBUTE('ptpsm',#3783); -#20579=SHAPE_DEFINITION_REPRESENTATION(#3780,#3783); -#20580=REPRESENTATION_RELATIONSHIP('',$,#3783,#14962); -#20581=DESCRIPTION_ATTRIBUTE('ptpsm',#3795); -#20582=SHAPE_DEFINITION_REPRESENTATION(#3794,#3795); -#20583=REPRESENTATION_RELATIONSHIP('',$,#3795,#14962); -#20584=DESCRIPTION_ATTRIBUTE('ptpsm',#3807); -#20585=SHAPE_DEFINITION_REPRESENTATION(#3806,#3807); -#20586=REPRESENTATION_RELATIONSHIP('',$,#3807,#14962); -#20587=DESCRIPTION_ATTRIBUTE('ptpsm',#3855); -#20588=SHAPE_DEFINITION_REPRESENTATION(#3854,#3855); -#20589=REPRESENTATION_RELATIONSHIP('',$,#3855,#14962); -#20590=DESCRIPTION_ATTRIBUTE('ptpsm',#3868); -#20591=SHAPE_DEFINITION_REPRESENTATION(#3867,#3868); -#20592=REPRESENTATION_RELATIONSHIP('',$,#3868,#14962); -#20593=DESCRIPTION_ATTRIBUTE('ptpsm',#3881); -#20594=SHAPE_DEFINITION_REPRESENTATION(#3880,#3881); -#20595=REPRESENTATION_RELATIONSHIP('',$,#3881,#14962); -#20596=DESCRIPTION_ATTRIBUTE('ptpsm',#3941); -#20597=SHAPE_DEFINITION_REPRESENTATION(#3938,#3941); -#20598=REPRESENTATION_RELATIONSHIP('',$,#3941,#14962); -#20599=DESCRIPTION_ATTRIBUTE('ptpsm',#3953); -#20600=SHAPE_DEFINITION_REPRESENTATION(#3952,#3953); -#20601=REPRESENTATION_RELATIONSHIP('',$,#3953,#14962); -#20602=DESCRIPTION_ATTRIBUTE('ptpsm',#3965); -#20603=SHAPE_DEFINITION_REPRESENTATION(#3964,#3965); -#20604=REPRESENTATION_RELATIONSHIP('',$,#3965,#14962); -#20605=DESCRIPTION_ATTRIBUTE('ptpsm',#4013); -#20606=SHAPE_DEFINITION_REPRESENTATION(#4012,#4013); -#20607=REPRESENTATION_RELATIONSHIP('',$,#4013,#14962); -#20608=DESCRIPTION_ATTRIBUTE('ptpsm',#4026); -#20609=SHAPE_DEFINITION_REPRESENTATION(#4025,#4026); -#20610=REPRESENTATION_RELATIONSHIP('',$,#4026,#14962); -#20611=DESCRIPTION_ATTRIBUTE('ptpsm',#4039); -#20612=SHAPE_DEFINITION_REPRESENTATION(#4038,#4039); -#20613=REPRESENTATION_RELATIONSHIP('',$,#4039,#14962); -#20614=DESCRIPTION_ATTRIBUTE('ptpsm',#4088); -#20615=SHAPE_DEFINITION_REPRESENTATION(#4087,#4088); -#20616=REPRESENTATION_RELATIONSHIP('',$,#4088,#14962); -#20617=DESCRIPTION_ATTRIBUTE('ptpsm',#4111); -#20618=SHAPE_DEFINITION_REPRESENTATION(#4110,#4111); -#20619=REPRESENTATION_RELATIONSHIP('',$,#4111,#14962); -#20620=DESCRIPTION_ATTRIBUTE('ptpsm',#4159); -#20621=SHAPE_DEFINITION_REPRESENTATION(#4158,#4159); -#20622=REPRESENTATION_RELATIONSHIP('',$,#4159,#14962); -#20623=DESCRIPTION_ATTRIBUTE('ptpsm',#4172); -#20624=SHAPE_DEFINITION_REPRESENTATION(#4171,#4172); -#20625=REPRESENTATION_RELATIONSHIP('',$,#4172,#14962); -#20626=DESCRIPTION_ATTRIBUTE('ptpsm',#2408); -#20627=SHAPE_DEFINITION_REPRESENTATION(#2407,#2408); -#20628=REPRESENTATION_RELATIONSHIP('',$,#2408,#14962); -#20629=DESCRIPTION_ATTRIBUTE('ptpsm',#2567); -#20630=SHAPE_DEFINITION_REPRESENTATION(#2566,#2567); -#20631=REPRESENTATION_RELATIONSHIP('',$,#2567,#14962); -#20632=DESCRIPTION_ATTRIBUTE('ptpsm',#2725); -#20633=SHAPE_DEFINITION_REPRESENTATION(#2724,#2725); -#20634=REPRESENTATION_RELATIONSHIP('',$,#2725,#14962); -#20635=DESCRIPTION_ATTRIBUTE('ptpsm',#2883); -#20636=SHAPE_DEFINITION_REPRESENTATION(#2882,#2883); -#20637=REPRESENTATION_RELATIONSHIP('',$,#2883,#14962); -#20638=DESCRIPTION_ATTRIBUTE('ptpsm',#3041); -#20639=SHAPE_DEFINITION_REPRESENTATION(#3040,#3041); -#20640=REPRESENTATION_RELATIONSHIP('',$,#3041,#14962); -#20641=DESCRIPTION_ATTRIBUTE('ptpsm',#3195); -#20642=SHAPE_DEFINITION_REPRESENTATION(#3194,#3195); -#20643=REPRESENTATION_RELATIONSHIP('',$,#3195,#14962); -#20644=DESCRIPTION_ATTRIBUTE('ptpsm',#3349); -#20645=SHAPE_DEFINITION_REPRESENTATION(#3348,#3349); -#20646=REPRESENTATION_RELATIONSHIP('',$,#3349,#14962); -#20647=DESCRIPTION_ATTRIBUTE('ptpsm',#3507); -#20648=SHAPE_DEFINITION_REPRESENTATION(#3506,#3507); -#20649=REPRESENTATION_RELATIONSHIP('',$,#3507,#14962); -#20650=DESCRIPTION_ATTRIBUTE('ptpsm',#3665); -#20651=SHAPE_DEFINITION_REPRESENTATION(#3664,#3665); -#20652=REPRESENTATION_RELATIONSHIP('',$,#3665,#14962); -#20653=DESCRIPTION_ATTRIBUTE('ptpsm',#3819); -#20654=SHAPE_DEFINITION_REPRESENTATION(#3818,#3819); -#20655=REPRESENTATION_RELATIONSHIP('',$,#3819,#14962); -#20656=DESCRIPTION_ATTRIBUTE('ptpsm',#3977); -#20657=SHAPE_DEFINITION_REPRESENTATION(#3976,#3977); -#20658=REPRESENTATION_RELATIONSHIP('',$,#3977,#14962); -#20659=DESCRIPTION_ATTRIBUTE('ptpsm',#4123); -#20660=SHAPE_DEFINITION_REPRESENTATION(#4122,#4123); -#20661=REPRESENTATION_RELATIONSHIP('',$,#4123,#14962); -#20662=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1762,#18305,#13319); -#20663=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1810,#18305,#13319); -#20664=ID_ATTRIBUTE('ejector-l',#1810); -#20665=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1957,#18305,#13319); -#20666=ID_ATTRIBUTE('ejector-r',#1957); -#20667=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2100,#18305,#13319); -#20668=ID_ATTRIBUTE('heatsink',#2100); -#20669=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2159,#18305,#13319); -#20670=ID_ATTRIBUTE('spacer',#2159); -#20672=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2515,#14339,#13319); -#20673=ID_ATTRIBUTE('1',#2515); -#20674=PROPERTY_DEFINITION('location','symmetrical',#2515); -#20675=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#2515); -#20677=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2677,#14339,#13319); -#20678=ID_ATTRIBUTE('1',#2677); -#20679=PROPERTY_DEFINITION('location','symmetrical',#2677); -#20680=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#2677); -#20682=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2835,#14339,#13319); -#20683=ID_ATTRIBUTE('1',#2835); -#20684=PROPERTY_DEFINITION('location','symmetrical',#2835); -#20685=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#2835); -#20687=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2993,#14339,#13319); -#20688=ID_ATTRIBUTE('1',#2993); -#20689=PROPERTY_DEFINITION('location','symmetrical',#2993); -#20690=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#2993); -#20692=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3151,#14339,#13319); -#20693=ID_ATTRIBUTE('1',#3151); -#20694=PROPERTY_DEFINITION('location','symmetrical',#3151); -#20695=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#3151); -#20697=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3305,#14339,#13319); -#20698=ID_ATTRIBUTE('1',#3305); -#20699=PROPERTY_DEFINITION('location','symmetrical',#3305); -#20700=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#3305); -#20702=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3459,#14339,#13319); -#20703=ID_ATTRIBUTE('1',#3459); -#20704=PROPERTY_DEFINITION('location','symmetrical',#3459); -#20705=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#3459); -#20707=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3617,#14339,#13319); -#20708=ID_ATTRIBUTE('1',#3617); -#20709=PROPERTY_DEFINITION('location','symmetrical',#3617); -#20710=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#3617); -#20712=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3775,#14339,#13319); -#20713=ID_ATTRIBUTE('1',#3775); -#20714=PROPERTY_DEFINITION('location','symmetrical',#3775); -#20715=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#3775); -#20717=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3929,#14339,#13319); -#20718=ID_ATTRIBUTE('1',#3929); -#20719=PROPERTY_DEFINITION('location','symmetrical',#3929); -#20720=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#3929); -#20722=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4101,#14339,#13319); -#20723=ID_ATTRIBUTE('1',#4101); -#20724=PROPERTY_DEFINITION('location','symmetrical',#4101); -#20725=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#2185,#4101); -#20726=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6479,#14339,#13319); -#20727=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2312,#6479); -#20728=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2313,#6479); -#20729=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#2306,#6479); -#20730=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#1818,#6479); -#20731=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6642,#14339,#13319); -#20732=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2312,#6642); -#20733=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2313,#6642); -#20734=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#2306,#6642); -#20735=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#2518,#6642); -#20736=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6673,#14339,#13319); -#20737=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2312,#6673); -#20738=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2313,#6673); -#20739=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#2306,#6673); -#20740=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#2996,#6673); -#20741=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6704,#14339,#13319); -#20742=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2312,#6704); -#20743=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2313,#6704); -#20744=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#2306,#6704); -#20745=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#2680,#6704); -#20746=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6795,#14339,#13319); -#20747=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2312,#6795); -#20748=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2313,#6795); -#20749=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#2306,#6795); -#20750=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#2838,#6795); -#20751=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6856,#14339,#13319); -#20752=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2312,#6856); -#20753=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2313,#6856); -#20754=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#2306,#6856); -#20755=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#3620,#6856); -#20756=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6870,#14339,#13319); -#20757=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2312,#6870); -#20758=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2313,#6870); -#20759=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#2306,#6870); -#20760=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#408,#6870); -#20761=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7035,#14339,#13319); -#20762=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2312,#7035); -#20763=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2313,#7035); -#20764=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#2306,#7035); -#20765=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#302,#7035); -#20766=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9189,#14339,#13319); -#20767=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2312,#9189); -#20768=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#2313,#9189); -#20769=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#2306,#9189); -#20770=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#349,#9189); -#20771=PROPERTY_DEFINITION('plated passage','true',#302); -#20772=REPRESENTATION('',(#303),#13704); -#20773=PROPERTY_DEFINITION('as finished passage extent',$,#302); -#20774=PROPERTY_DEFINITION_REPRESENTATION(#20773,#20772); -#20775=PROPERTY_DEFINITION('plated passage','false',#2410); -#20776=REPRESENTATION_MAP(#10539,#10538); -#20777=REPRESENTATION_MAP(#10557,#10556); -#20778=REPRESENTATION_MAP(#11012,#11011); -#20779=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6590,#6237); -#20780=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6590,#6349); -#20781=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6591,#6183); -#20782=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6591,#6173); -#20783=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6592,#6240); -#20784=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6592,#6358); -#20785=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6593,#6241); -#20786=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6593,#6356); -#20787=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6594,#6181); -#20788=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6594,#6382); -#20789=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6594,#6121); -#20790=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6594,#6123); -#20791=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6594,#6141); -#20792=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6594,#6147); -#20793=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6594,#6149); -#20794=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6595,#6272); -#20795=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6595,#6169); -#20796=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6596,#6274); -#20797=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6596,#6159); -#20798=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6596,#6118); -#20799=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6596,#6116); -#20800=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6596,#6140); -#20801=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6596,#6144); -#20802=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6596,#6146); -#20803=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6597,#6217); -#20804=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6597,#6170); -#20805=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6598,#6219); -#20806=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6598,#6117); -#20807=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6598,#6115); -#20808=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6598,#6139); -#20809=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6598,#6143); -#20810=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6598,#6145); -#20811=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6598,#6378); -#20812=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6599,#6297); -#20813=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6599,#6355); -#20814=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6600,#6114); -#20815=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6600,#6303); -#20816=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6285); -#20817=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6271); -#20818=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6267); -#20819=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6250); -#20820=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6232); -#20821=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6229); -#20822=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6211); -#20823=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6194); -#20824=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6185); -#20825=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6176); -#20826=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6340); -#20827=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6317); -#20828=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6359); -#20829=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6138); -#20830=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6135); -#20831=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6299); -#20832=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6126); -#20833=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6154); -#20834=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6151); -#20835=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6337); -#20836=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6338); -#20837=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6328); -#20838=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6325); -#20839=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6321); -#20840=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6307); -#20841=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6386); -#20842=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6380); -#20843=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6376); -#20844=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6168); -#20845=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6165); -#20846=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6157); -#20847=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6156); -#20848=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6295); -#20849=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6601,#6353); -#20850=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6602,#6300); -#20851=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6602,#6111); -#20852=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6602,#6305); -#20853=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6602,#6302); -#20854=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6602,#6384); -#20855=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6602,#6364); -#20856=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6603,#6387); -#20857=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6603,#6385); -#20858=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6604,#6171); -#20859=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6604,#6304); -#20860=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6605,#6383); -#20861=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6605,#6381); -#20862=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6606,#6291); -#20863=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6606,#6120); -#20864=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6606,#6315); -#20865=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6606,#6312); -#20866=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6607,#6289); -#20867=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6607,#6310); -#20868=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6608,#6292); -#20869=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6608,#6288); -#20870=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6609,#6160); -#20871=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6609,#6119); -#20872=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6609,#6311); -#20873=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6609,#6313); -#20874=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6609,#6308); -#20875=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6610,#6309); -#20876=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6610,#6306); -#20877=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6611,#6379); -#20878=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6611,#6377); -#20879=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6612,#6281); -#20880=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6612,#6339); -#20881=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6613,#6361); -#20882=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6613,#6336); -#20883=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6613,#6335); -#20884=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6614,#6331); -#20885=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6614,#6134); -#20886=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6614,#6130); -#20887=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6614,#6334); -#20888=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6614,#6366); -#20889=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6615,#6330); -#20890=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6615,#6133); -#20891=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6615,#6329); -#20892=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6615,#6369); -#20893=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6616,#6129); -#20894=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6616,#6163); -#20895=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6616,#6162); -#20896=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6617,#6131); -#20897=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6617,#6332); -#20898=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6618,#6346); -#20899=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6618,#6348); -#20900=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6618,#6294); -#20901=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6618,#6333); -#20902=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6619,#6128); -#20903=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6619,#6322); -#20904=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6619,#6320); -#20905=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6619,#6347); -#20906=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6619,#6161); -#20907=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6620,#6174); -#20908=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6620,#6316); -#20909=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6620,#6318); -#20910=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6621,#6235); -#20911=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6621,#6179); -#20912=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6621,#6345); -#20913=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6622,#6215); -#20914=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6622,#6352); -#20915=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6623,#6225); -#20916=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6623,#6341); -#20917=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6624,#6216); -#20918=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6624,#6350); -#20919=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6625,#6127); -#20920=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6625,#6125); -#20921=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6625,#6326); -#20922=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6625,#6324); -#20923=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6625,#6323); -#20924=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6625,#6164); -#20925=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6626,#6301); -#20926=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6626,#6113); -#20927=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6626,#6112); -#20928=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6626,#6296); -#20929=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6626,#6158); -#20930=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6626,#6155); -#20931=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6626,#6375); -#20932=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6627,#6132); -#20933=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6627,#6319); -#20934=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6627,#6167); -#20935=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6627,#6166); -#20936=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6627,#6293); -#20937=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6627,#6370); -#20938=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6628,#6298); -#20939=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6628,#6374); -#20940=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6629,#6388); -#20941=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6629,#6287); -#20942=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6630,#6234); -#20943=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6630,#6178); -#20944=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6630,#6343); -#20945=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6631,#6137); -#20946=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6631,#6153); -#20947=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6631,#6344); -#20948=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6631,#6327); -#20949=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6631,#6372); -#20950=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6632,#6270); -#20951=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6632,#6214); -#20952=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6633,#6136); -#20953=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6633,#6152); -#20954=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6633,#6342); -#20955=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6633,#6367); -#20956=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6633,#6363); -#20957=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6634,#6184); -#20958=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6634,#6172); -#20959=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6635,#6238); -#20960=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6635,#6389); -#20961=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6635,#6290); -#20962=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6635,#6314); -#20963=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6635,#6122); -#20964=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6635,#6124); -#20965=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6635,#6142); -#20966=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6635,#6148); -#20967=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6635,#6150); -#20968=DESCRIPTION_ATTRIBUTE('pupsm',#25); -#20969=SHAPE_DEFINITION_REPRESENTATION(#15,#25); -#20970=REPRESENTATION('shape material condition',(#20972),#13704); -#20971=REPRESENTATION_RELATIONSHIP('',$,#25,#20970); -#20972=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#20973=REPRESENTATION('shape environment',(#20975),#13704); -#20974=REPRESENTATION_RELATIONSHIP('',$,#25,#20973); -#20975=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#20976=REPRESENTATION('shape extent',(#20978),#13704); -#20977=REPRESENTATION_RELATIONSHIP('',$,#25,#20976); -#20978=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#20979=REPRESENTATION('shape approximation level',(#20981),#13704); -#20980=REPRESENTATION_RELATIONSHIP('',$,#25,#20979); -#20981=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#20982=REPRESENTATION('mass property quality',(#20984),#13704); -#20983=REPRESENTATION_RELATIONSHIP('',$,#25,#20982); -#20984=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#20985=REPRESENTATION('predefined shape purpose',(#20987),#13704); -#20986=REPRESENTATION_RELATIONSHIP('',$,#25,#20985); -#20987=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#20988=DESCRIPTION_ATTRIBUTE('pupsm',#36); -#20989=SHAPE_DEFINITION_REPRESENTATION(#34,#36); -#20990=REPRESENTATION('shape material condition',(#20992),#13704); -#20991=REPRESENTATION_RELATIONSHIP('',$,#36,#20990); -#20992=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#20993=REPRESENTATION('shape environment',(#20995),#13704); -#20994=REPRESENTATION_RELATIONSHIP('',$,#36,#20993); -#20995=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#20996=REPRESENTATION('shape extent',(#20998),#13704); -#20997=REPRESENTATION_RELATIONSHIP('',$,#36,#20996); -#20998=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#20999=REPRESENTATION('shape approximation level',(#21001),#13704); -#21000=REPRESENTATION_RELATIONSHIP('',$,#36,#20999); -#21001=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#21002=REPRESENTATION('mass property quality',(#21004),#13704); -#21003=REPRESENTATION_RELATIONSHIP('',$,#36,#21002); -#21004=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#21005=REPRESENTATION('predefined shape purpose',(#21007),#13704); -#21006=REPRESENTATION_RELATIONSHIP('',$,#36,#21005); -#21007=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#21008=DESCRIPTION_ATTRIBUTE('pupsm',#41); -#21009=SHAPE_DEFINITION_REPRESENTATION(#39,#41); -#21010=REPRESENTATION('shape material condition',(#21012),#13704); -#21011=REPRESENTATION_RELATIONSHIP('',$,#41,#21010); -#21012=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#21013=REPRESENTATION('shape environment',(#21015),#13704); -#21014=REPRESENTATION_RELATIONSHIP('',$,#41,#21013); -#21015=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#21016=REPRESENTATION('shape extent',(#21018),#13704); -#21017=REPRESENTATION_RELATIONSHIP('',$,#41,#21016); -#21018=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#21019=REPRESENTATION('shape approximation level',(#21021),#13704); -#21020=REPRESENTATION_RELATIONSHIP('',$,#41,#21019); -#21021=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#21022=REPRESENTATION('mass property quality',(#21024),#13704); -#21023=REPRESENTATION_RELATIONSHIP('',$,#41,#21022); -#21024=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#21025=REPRESENTATION('predefined shape purpose',(#21027),#13704); -#21026=REPRESENTATION_RELATIONSHIP('',$,#41,#21025); -#21027=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#21028=DESCRIPTION_ATTRIBUTE('pupsm',#48); -#21029=SHAPE_DEFINITION_REPRESENTATION(#46,#48); -#21030=REPRESENTATION('shape material condition',(#21032),#13704); -#21031=REPRESENTATION_RELATIONSHIP('',$,#48,#21030); -#21032=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#21033=REPRESENTATION('shape environment',(#21035),#13704); -#21034=REPRESENTATION_RELATIONSHIP('',$,#48,#21033); -#21035=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#21036=REPRESENTATION('shape extent',(#21038),#13704); -#21037=REPRESENTATION_RELATIONSHIP('',$,#48,#21036); -#21038=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#21039=REPRESENTATION('shape approximation level',(#21041),#13704); -#21040=REPRESENTATION_RELATIONSHIP('',$,#48,#21039); -#21041=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#21042=REPRESENTATION('mass property quality',(#21044),#13704); -#21043=REPRESENTATION_RELATIONSHIP('',$,#48,#21042); -#21044=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#21045=REPRESENTATION('predefined shape purpose',(#21047),#13704); -#21046=REPRESENTATION_RELATIONSHIP('',$,#48,#21045); -#21047=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#21048=DESCRIPTION_ATTRIBUTE('pupsm',#1764); -#21049=SHAPE_DEFINITION_REPRESENTATION(#1762,#1764); -#21050=REPRESENTATION('shape material condition',(#21052),#13704); -#21051=REPRESENTATION_RELATIONSHIP('',$,#1764,#21050); -#21052=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#21053=REPRESENTATION('shape environment',(#21055),#13704); -#21054=REPRESENTATION_RELATIONSHIP('',$,#1764,#21053); -#21055=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#21056=REPRESENTATION('shape extent',(#21058),#13704); -#21057=REPRESENTATION_RELATIONSHIP('',$,#1764,#21056); -#21058=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#21059=REPRESENTATION('shape approximation level',(#21061),#13704); -#21060=REPRESENTATION_RELATIONSHIP('',$,#1764,#21059); -#21061=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#21062=REPRESENTATION('mass property quality',(#21064),#13704); -#21063=REPRESENTATION_RELATIONSHIP('',$,#1764,#21062); -#21064=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#21065=REPRESENTATION('predefined shape purpose',(#21067),#13704); -#21066=REPRESENTATION_RELATIONSHIP('',$,#1764,#21065); -#21067=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#21068=PROPERTY_DEFINITION('required characteristic',$,#342); -#21069=REPRESENTATION('',(#339),#13704); -#21070=PROPERTY_DEFINITION_REPRESENTATION(#21068,#21069); -#21071=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20014,#20052); -#21072=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20016,#20057); -#21073=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20018,#20062); -#21074=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20020,#20067); -#21075=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20022,#20072); -#21076=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20024,#20077); -#21077=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20026,#20082); -#21078=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20028,#20087); -#21079=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20030,#20094); -#21080=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20032,#20319); -#21081=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20034,#20326); -#21082=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20036,#20333); -#21083=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20038,#20340); -#21084=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20040,#20345); -#21085=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20042,#20350); -#21086=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20044,#20363); -#21087=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20046,#20392); -#21088=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20048,#20397); -#21089=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#20050,#20402); -#21090=PRODUCT_CONTEXT('requirement',#13318,''); -#21091=ASSIGNED_REQUIREMENT(#74,(#62)); -#21092=REQUIREMENT_ASSIGNED_OBJECT(#74,(#46)); -#21093=ID_ATTRIBUTE('Board Placement Clearance',#74); -#21094=ASSIGNED_REQUIREMENT(#344,(#342)); -#21095=REQUIREMENT_ASSIGNED_OBJECT(#344,(#321)); -#21096=ID_ATTRIBUTE('',#344); -#21097=ASSIGNED_REQUIREMENT(#941,(#938)); -#21098=REQUIREMENT_ASSIGNED_OBJECT(#941,(#95)); -#21099=ID_ATTRIBUTE('',#941); -#21100=ASSIGNED_REQUIREMENT(#960,(#957)); -#21101=REQUIREMENT_ASSIGNED_OBJECT(#960,(#127)); -#21102=ID_ATTRIBUTE('',#960); -#21103=ASSIGNED_REQUIREMENT(#979,(#976)); -#21104=REQUIREMENT_ASSIGNED_OBJECT(#979,(#151)); -#21105=ID_ATTRIBUTE('',#979); -#21106=ASSIGNED_REQUIREMENT(#1007,(#1004)); -#21107=REQUIREMENT_ASSIGNED_OBJECT(#1007,(#175)); -#21108=ID_ATTRIBUTE('',#1007); -#21109=ASSIGNED_REQUIREMENT(#1044,(#1041)); -#21110=REQUIREMENT_ASSIGNED_OBJECT(#1044,(#199)); -#21111=ID_ATTRIBUTE('',#1044); -#21112=ASSIGNED_REQUIREMENT(#1171,(#1168)); -#21113=REQUIREMENT_ASSIGNED_OBJECT(#1171,(#223)); -#21114=ID_ATTRIBUTE('',#1171); -#21115=ASSIGNED_REQUIREMENT(#1199,(#1196)); -#21116=REQUIREMENT_ASSIGNED_OBJECT(#1199,(#247)); -#21117=ID_ATTRIBUTE('',#1199); -#21118=ASSIGNED_REQUIREMENT(#1272,(#1269)); -#21119=REQUIREMENT_ASSIGNED_OBJECT(#1272,(#271)); -#21120=ID_ATTRIBUTE('',#1272); -#21121=ASSIGNED_REQUIREMENT(#1300,(#1297)); -#21122=REQUIREMENT_ASSIGNED_OBJECT(#1300,(#321)); -#21123=ID_ATTRIBUTE('',#1300); -#21124=ASSIGNED_REQUIREMENT(#1319,(#1316)); -#21125=REQUIREMENT_ASSIGNED_OBJECT(#1319,(#381)); -#21126=ID_ATTRIBUTE('',#1319); -#21127=ASSIGNED_REQUIREMENT(#1338,(#1335)); -#21128=REQUIREMENT_ASSIGNED_OBJECT(#1338,(#427)); -#21129=ID_ATTRIBUTE('',#1338); -#21130=ASSIGNED_REQUIREMENT(#1357,(#1354)); -#21131=REQUIREMENT_ASSIGNED_OBJECT(#1357,(#456)); -#21132=ID_ATTRIBUTE('',#1357); -#21133=ASSIGNED_REQUIREMENT(#1376,(#1373)); -#21134=REQUIREMENT_ASSIGNED_OBJECT(#1376,(#485)); -#21135=ID_ATTRIBUTE('',#1376); -#21136=ASSIGNED_REQUIREMENT(#1440,(#1437)); -#21137=REQUIREMENT_ASSIGNED_OBJECT(#1440,(#509)); -#21138=ID_ATTRIBUTE('',#1440); -#21139=ASSIGNED_REQUIREMENT(#1639,(#1636)); -#21140=REQUIREMENT_ASSIGNED_OBJECT(#1639,(#533)); -#21141=ID_ATTRIBUTE('',#1639); -#21142=ASSIGNED_REQUIREMENT(#1667,(#1664)); -#21143=REQUIREMENT_ASSIGNED_OBJECT(#1667,(#557)); -#21144=ID_ATTRIBUTE('',#1667); -#21145=ASSIGNED_REQUIREMENT(#1686,(#1683)); -#21146=REQUIREMENT_ASSIGNED_OBJECT(#1686,(#581)); -#21147=ID_ATTRIBUTE('',#1686); -#21148=ASSIGNED_REQUIREMENT(#1732,(#1729)); -#21149=REQUIREMENT_ASSIGNED_OBJECT(#1732,(#605)); -#21150=ID_ATTRIBUTE('',#1732); -#21151=ASSIGNED_REQUIREMENT(#1754,(#1751)); -#21152=REQUIREMENT_ASSIGNED_OBJECT(#1754,(#629)); -#21153=ID_ATTRIBUTE('',#1754); -#21154=ASSIGNED_REQUIREMENT(#2344,(#2343)); -#21155=REQUIREMENT_ASSIGNED_OBJECT(#2344,(#2331)); -#21156=ID_ATTRIBUTE('',#2344); -#21157=ASSIGNED_REQUIREMENT(#2348,(#2347)); -#21158=REQUIREMENT_ASSIGNED_OBJECT(#2348,(#2331)); -#21159=ID_ATTRIBUTE('',#2348); -#21160=ASSIGNED_REQUIREMENT(#2349,(#2343)); -#21161=REQUIREMENT_ASSIGNED_OBJECT(#2349,(#2327)); -#21162=ID_ATTRIBUTE('',#2349); -#21163=ASSIGNED_REQUIREMENT(#2350,(#2347)); -#21164=REQUIREMENT_ASSIGNED_OBJECT(#2350,(#2327)); -#21165=ID_ATTRIBUTE('',#2350); -#21166=ASSIGNED_REQUIREMENT(#2406,(#2404)); -#21167=REQUIREMENT_ASSIGNED_OBJECT(#2406,(#34)); -#21168=ID_ATTRIBUTE('',#2406); -#21169=ASSIGNED_REQUIREMENT(#6534,(#6532)); -#21170=REQUIREMENT_ASSIGNED_OBJECT(#6534,(#34)); -#21171=ID_ATTRIBUTE('',#6534); -#21172=ASSIGNED_REQUIREMENT(#6540,(#6538)); -#21173=REQUIREMENT_ASSIGNED_OBJECT(#6540,(#34)); -#21174=ID_ATTRIBUTE('',#6540); -#21175=ASSIGNED_REQUIREMENT(#6549,(#6547)); -#21176=REQUIREMENT_ASSIGNED_OBJECT(#6549,(#34)); -#21177=ID_ATTRIBUTE('',#6549); -#21178=ASSIGNED_REQUIREMENT(#6558,(#6556)); -#21179=REQUIREMENT_ASSIGNED_OBJECT(#6558,(#34)); -#21180=ID_ATTRIBUTE('',#6558); -#21181=ASSIGNED_REQUIREMENT(#6567,(#6565)); -#21182=REQUIREMENT_ASSIGNED_OBJECT(#6567,(#34)); -#21183=ID_ATTRIBUTE('',#6567); -#21184=ASSIGNED_REQUIREMENT(#6576,(#6574)); -#21185=REQUIREMENT_ASSIGNED_OBJECT(#6576,(#34)); -#21186=ID_ATTRIBUTE('',#6576); -#21187=ASSIGNED_REQUIREMENT(#6585,(#6583)); -#21188=REQUIREMENT_ASSIGNED_OBJECT(#6585,(#34)); -#21189=ID_ATTRIBUTE('',#6585); -#21190=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10574,#7396); -#21191=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10574,#8673); -#21192=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10574,#10573); -#21193=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10597,#8958); -#21194=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10597,#7835); -#21195=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10597,#10596); -#21196=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10616,#8963); -#21197=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10616,#7825); -#21198=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10616,#10615); -#21199=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10711,#7069); -#21200=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10711,#8663); -#21201=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10711,#7765); -#21202=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10711,#10306); -#21203=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10711,#7937); -#21204=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10711,#8453); -#21205=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10711,#8603); -#21206=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10711,#10646); -#21207=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10711,#10709); -#21208=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10711,#10710); -#21209=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10729,#7024); -#21210=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10729,#9118); -#21211=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10729,#10728); -#21212=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10829,#8518); -#21213=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10829,#7134); -#21214=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10829,#10131); -#21215=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10829,#10276); -#21216=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10829,#9128); -#21217=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10829,#8488); -#21218=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10829,#8278); -#21219=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10829,#10811); -#21220=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10829,#10827); -#21221=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10829,#10828); -#21222=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10863,#7029); -#21223=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10863,#8843); -#21224=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10863,#10862); -#21225=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10927,#8273); -#21226=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10927,#6798); -#21227=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10927,#10126); -#21228=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10927,#8853); -#21229=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10927,#8513); -#21230=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10927,#8483); -#21231=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10927,#7129); -#21232=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10927,#10926); -#21233=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#10927,#10928); -#21234=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10945,#10517); -#21235=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10945,#7184); -#21236=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10945,#10944); -#21237=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10962,#7530); -#21238=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10962,#6999); -#21239=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10962,#10961); -#21240=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8813); -#21241=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8158); -#21242=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#6772); -#21243=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8368); -#21244=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#9113); -#21245=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8578); -#21246=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#7740); -#21247=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#9183); -#21248=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#10251); -#21249=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#6909); -#21250=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#10379); -#21251=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#7705); -#21252=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#6964); -#21253=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#6681); -#21254=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#7306); -#21255=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8683); -#21256=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#7840); -#21257=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8333); -#21258=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8918); -#21259=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8903); -#21260=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#6645); -#21261=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8638); -#21262=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#6934); -#21263=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8183); -#21264=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#10449); -#21265=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#7174); -#21266=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#7645); -#21267=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#10409); -#21268=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#9093); -#21269=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#6742); -#21270=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8428); -#21271=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#7435); -#21272=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#9008); -#21273=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11558,#8728); -#21274=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11558,#11272); -#21275=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11558,#11541); -#21276=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11558,#11556); -#21277=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11558,#11557); -#21278=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#11558,#11559); -#21279=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11620,#7977); -#21280=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11620,#6994); -#21281=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11620,#7615); -#21282=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11620,#10096); -#21283=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11620,#7241); -#21284=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11620,#7590); -#21285=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11620,#11619); -#21286=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11636,#7440); -#21287=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11636,#7620); -#21288=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11636,#11635); -#21289=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11655,#7034); -#21290=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11655,#7585); -#21291=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11655,#11654); -#21292=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11671,#7074); -#21293=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11671,#8338); -#21294=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11671,#11670); -#21295=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11709,#7276); -#21296=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11709,#10341); -#21297=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11709,#7560); -#21298=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11709,#8303); -#21299=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11709,#11708); -#21300=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11793,#7465); -#21301=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11793,#7271); -#21302=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11793,#8308); -#21303=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11793,#8548); -#21304=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11793,#10281); -#21305=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11793,#11792); -#21306=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#11793,#11794); -#21307=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11810,#6737); -#21308=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11810,#7470); -#21309=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11810,#11809); -#21310=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11826,#6803); -#21311=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11826,#10414); -#21312=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11826,#11825); -#21313=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11845,#7650); -#21314=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11845,#9163); -#21315=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11845,#11844); -#21316=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11896,#7850); -#21317=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11896,#7800); -#21318=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11896,#7301); -#21319=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11896,#11895); -#21320=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11956,#7987); -#21321=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11956,#8218); -#21322=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11956,#10221); -#21323=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11956,#7795); -#21324=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11956,#10487); -#21325=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11956,#11937); -#21326=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11956,#11954); -#21327=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11956,#11955); -#21328=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11999,#8213); -#21329=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11999,#10216); -#21330=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11999,#8002); -#21331=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11999,#6939); -#21332=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11999,#11998); -#21333=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12048,#10482); -#21334=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12048,#10186); -#21335=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12048,#8248); -#21336=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12048,#12047); -#21337=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12066,#10156); -#21338=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12066,#6707); -#21339=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12066,#12065); -#21340=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12105,#10161); -#21341=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12105,#7495); -#21342=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12105,#6828); -#21343=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12105,#10444); -#21344=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12105,#12104); -#21345=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12154,#8393); -#21346=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12154,#7366); -#21347=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12154,#8243); -#21348=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12154,#6904); -#21349=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12154,#6833); -#21350=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12154,#12153); -#21351=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12189,#7907); -#21352=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12189,#8363); -#21353=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12189,#7401); -#21354=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12189,#12169); -#21355=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12189,#12187); -#21356=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12189,#12188); -#21357=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12220,#8653); -#21358=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12220,#8933); -#21359=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12220,#7336); -#21360=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12220,#12219); -#21361=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12258,#8833); -#21362=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12258,#7169); -#21363=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12258,#12257); -#21364=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12288,#6650); -#21365=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12288,#8883); -#21366=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12288,#12287); -#21367=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12322,#7159); -#21368=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12322,#8838); -#21369=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12322,#12321); -#21370=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12405,#10191); -#21371=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12405,#6767); -#21372=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12405,#7675); -#21373=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12405,#8423); -#21374=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12405,#7361); -#21375=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12405,#8398); -#21376=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12405,#12404); -#21377=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12502,#7246); -#21378=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12502,#10512); -#21379=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12502,#10384); -#21380=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12502,#7525); -#21381=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12502,#8032); -#21382=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12502,#10101); -#21383=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12502,#6676); -#21384=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12502,#12501); -#21385=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12563,#10439); -#21386=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12563,#6969); -#21387=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12563,#8153); -#21388=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12563,#8007); -#21389=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12563,#6712); -#21390=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12563,#7912); -#21391=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12563,#12562); -#21392=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12583,#8027); -#21393=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12583,#7735); -#21394=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12583,#12582); -#21395=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12616,#8928); -#21396=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12616,#8648); -#21397=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12616,#7104); -#21398=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12616,#12615); -#21399=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12671,#8573); -#21400=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12671,#8017); -#21401=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12671,#7680); -#21402=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12671,#10246); -#21403=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12671,#7331); -#21404=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12671,#12670); -#21405=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#12671,#12672); -#21406=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12689,#8828); -#21407=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12689,#9108); -#21408=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12689,#12688); -#21409=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12706,#7710); -#21410=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12706,#7992); -#21411=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12706,#8188); -#21412=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12706,#7972); -#21413=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12706,#7099); -#21414=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12706,#12705); -#21415=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#12706,#12707); -#21416=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12737,#7391); -#21417=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12737,#8678); -#21418=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12737,#12736); -#21419=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12850,#8948); -#21420=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12850,#8608); -#21421=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12850,#7555); -#21422=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12850,#10336); -#21423=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12850,#7770); -#21424=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12850,#8458); -#21425=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12850,#7942); -#21426=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12850,#10311); -#21427=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12850,#12831); -#21428=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12850,#12848); -#21429=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#12850,#12849); -#21430=NAME_ATTRIBUTE('',#4205); -#21431=NAME_ATTRIBUTE('',#4248); -#21432=NAME_ATTRIBUTE('',#4295); -#21433=NAME_ATTRIBUTE('',#4336); -#21434=NAME_ATTRIBUTE('',#4377); -#21435=NAME_ATTRIBUTE('',#4412); -#21436=NAME_ATTRIBUTE('',#4447); -#21437=NAME_ATTRIBUTE('',#4473); -#21438=NAME_ATTRIBUTE('',#4541); -#21439=NAME_ATTRIBUTE('',#5370); -#21440=NAME_ATTRIBUTE('',#5409); -#21441=NAME_ATTRIBUTE('',#5448); -#21442=NAME_ATTRIBUTE('',#5490); -#21443=NAME_ATTRIBUTE('',#5525); -#21444=NAME_ATTRIBUTE('',#5554); -#21445=NAME_ATTRIBUTE('',#5686); -#21446=NAME_ATTRIBUTE('',#5811); -#21447=NAME_ATTRIBUTE('',#5846); -#21448=NAME_ATTRIBUTE('',#5889); -#21449=DOCUMENT_TYPE('configuration controlled document definition'); -#21450=DOCUMENT('UM-PR-149-E-04-1-UM-PR-149-E-04','',$,#21449); -#21451=DOCUMENT_PRODUCT_EQUIVALENCE('equivalence',$,#21450,#1); -#21452=OBJECT_ROLE('requirement specification',$); -#21453=ROLE_ASSOCIATION(#21452,#65); -#21454=OBJECT_ROLE('reference document',$); -#21455=ROLE_ASSOCIATION(#21454,#68); -#21456=ROLE_ASSOCIATION(#21454,#73); -#21457=ROLE_ASSOCIATION(#21454,#76); -#21458=ROLE_ASSOCIATION(#21452,#343); -#21459=ROLE_ASSOCIATION(#21452,#939); -#21460=ROLE_ASSOCIATION(#21452,#940); -#21461=ROLE_ASSOCIATION(#21452,#958); -#21462=ROLE_ASSOCIATION(#21452,#959); -#21463=ROLE_ASSOCIATION(#21452,#977); -#21464=ROLE_ASSOCIATION(#21452,#978); -#21465=ROLE_ASSOCIATION(#21452,#1005); -#21466=ROLE_ASSOCIATION(#21452,#1006); -#21467=ROLE_ASSOCIATION(#21452,#1042); -#21468=ROLE_ASSOCIATION(#21452,#1043); -#21469=ROLE_ASSOCIATION(#21452,#1169); -#21470=ROLE_ASSOCIATION(#21452,#1170); -#21471=ROLE_ASSOCIATION(#21452,#1197); -#21472=ROLE_ASSOCIATION(#21452,#1198); -#21473=ROLE_ASSOCIATION(#21452,#1270); -#21474=ROLE_ASSOCIATION(#21452,#1271); -#21475=ROLE_ASSOCIATION(#21452,#1298); -#21476=ROLE_ASSOCIATION(#21452,#1299); -#21477=ROLE_ASSOCIATION(#21452,#1317); -#21478=ROLE_ASSOCIATION(#21452,#1318); -#21479=ROLE_ASSOCIATION(#21452,#1336); -#21480=ROLE_ASSOCIATION(#21452,#1337); -#21481=ROLE_ASSOCIATION(#21452,#1355); -#21482=ROLE_ASSOCIATION(#21452,#1356); -#21483=ROLE_ASSOCIATION(#21452,#1374); -#21484=ROLE_ASSOCIATION(#21452,#1375); -#21485=ROLE_ASSOCIATION(#21452,#1438); -#21486=ROLE_ASSOCIATION(#21452,#1439); -#21487=ROLE_ASSOCIATION(#21452,#1637); -#21488=ROLE_ASSOCIATION(#21452,#1638); -#21489=ROLE_ASSOCIATION(#21452,#1665); -#21490=ROLE_ASSOCIATION(#21452,#1666); -#21491=ROLE_ASSOCIATION(#21452,#1684); -#21492=ROLE_ASSOCIATION(#21452,#1685); -#21493=ROLE_ASSOCIATION(#21452,#1730); -#21494=ROLE_ASSOCIATION(#21452,#1731); -#21495=ROLE_ASSOCIATION(#21452,#1752); -#21496=ROLE_ASSOCIATION(#21452,#1753); -#21497=DOCUMENT('8.7_1-1-8.7_1','',$,#21449); -#21498=DOCUMENT_PRODUCT_EQUIVALENCE('equivalence',$,#21497,#10); -#21499=ROLE_ASSOCIATION(#21454,#2365); -#21500=ROLE_ASSOCIATION(#21452,#6533); -#21501=ROLE_ASSOCIATION(#21452,#6539); -#21502=ROLE_ASSOCIATION(#21454,#6544); -#21503=ROLE_ASSOCIATION(#21452,#6548); -#21504=ROLE_ASSOCIATION(#21454,#6553); -#21505=ROLE_ASSOCIATION(#21452,#6557); -#21506=ROLE_ASSOCIATION(#21454,#6562); -#21507=ROLE_ASSOCIATION(#21452,#6566); -#21508=ROLE_ASSOCIATION(#21454,#6571); -#21509=ROLE_ASSOCIATION(#21452,#6575); -#21510=ROLE_ASSOCIATION(#21454,#6580); -#21511=ROLE_ASSOCIATION(#21452,#6584); -#21512=ROLE_ASSOCIATION(#21454,#6589); -#21513=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#2223,#2329); -#21514=SHAPE_ASPECT('',$,#2331,.U.); -#21515=SHAPE_ASPECT('',$,#2327,.U.); -#21516=SHAPE_ASPECT('',$,#2413,.U.); -#21517=PROPERTY_DEFINITION('','',#12851); -#21518=REPRESENTATION('',(#14740),#13704); -#21519=PROPERTY_DEFINITION_REPRESENTATION(#21517,#21518); -#21520=PROPERTY_DEFINITION('','',#12852); -#21521=REPRESENTATION('',(#14740),#13704); -#21522=PROPERTY_DEFINITION_REPRESENTATION(#21520,#21521); -#21523=PROPERTY_DEFINITION('','',#12853); -#21524=REPRESENTATION('',(#14740),#13704); -#21525=PROPERTY_DEFINITION_REPRESENTATION(#21523,#21524); -#21526=PROPERTY_DEFINITION('','',#12854); -#21527=REPRESENTATION('',(#14740),#13704); -#21528=PROPERTY_DEFINITION_REPRESENTATION(#21526,#21527); -#21529=PROPERTY_DEFINITION('','',#12855); -#21530=REPRESENTATION('',(#14740),#13704); -#21531=PROPERTY_DEFINITION_REPRESENTATION(#21529,#21530); -#21532=PROPERTY_DEFINITION('','',#12856); -#21533=REPRESENTATION('',(#14740),#13704); -#21534=PROPERTY_DEFINITION_REPRESENTATION(#21532,#21533); -#21535=PROPERTY_DEFINITION('','',#12857); -#21536=REPRESENTATION('',(#14740),#13704); -#21537=PROPERTY_DEFINITION_REPRESENTATION(#21535,#21536); -#21538=PROPERTY_DEFINITION('','',#12858); -#21539=REPRESENTATION('',(#14740),#13704); -#21540=PROPERTY_DEFINITION_REPRESENTATION(#21538,#21539); -#21541=PROPERTY_DEFINITION('','',#12859); -#21542=REPRESENTATION('',(#14740),#13704); -#21543=PROPERTY_DEFINITION_REPRESENTATION(#21541,#21542); -#21544=PROPERTY_DEFINITION('','',#12860); -#21545=REPRESENTATION('',(#14740),#13704); -#21546=PROPERTY_DEFINITION_REPRESENTATION(#21544,#21545); -#21547=PROPERTY_DEFINITION('','',#12861); -#21548=REPRESENTATION('',(#14740),#13704); -#21549=PROPERTY_DEFINITION_REPRESENTATION(#21547,#21548); -#21550=PROPERTY_DEFINITION('','',#12862); -#21551=REPRESENTATION('',(#14740),#13704); -#21552=PROPERTY_DEFINITION_REPRESENTATION(#21550,#21551); -#21553=PROPERTY_DEFINITION('','',#12863); -#21554=REPRESENTATION('',(#14740),#13704); -#21555=PROPERTY_DEFINITION_REPRESENTATION(#21553,#21554); -#21556=PROPERTY_DEFINITION('','',#12864); -#21557=REPRESENTATION('',(#14740),#13704); -#21558=PROPERTY_DEFINITION_REPRESENTATION(#21556,#21557); -#21559=PROPERTY_DEFINITION('','',#12865); -#21560=REPRESENTATION('',(#14740),#13704); -#21561=PROPERTY_DEFINITION_REPRESENTATION(#21559,#21560); -#21562=PROPERTY_DEFINITION('','',#12866); -#21563=REPRESENTATION('',(#14740),#13704); -#21564=PROPERTY_DEFINITION_REPRESENTATION(#21562,#21563); -#21565=PROPERTY_DEFINITION('','',#12867); -#21566=REPRESENTATION('',(#14740),#13704); -#21567=PROPERTY_DEFINITION_REPRESENTATION(#21565,#21566); -#21568=PROPERTY_DEFINITION('','',#12868); -#21569=REPRESENTATION('',(#14740),#13704); -#21570=PROPERTY_DEFINITION_REPRESENTATION(#21568,#21569); -#21571=PROPERTY_DEFINITION('','',#12869); -#21572=REPRESENTATION('',(#14740),#13704); -#21573=PROPERTY_DEFINITION_REPRESENTATION(#21571,#21572); -#21574=PROPERTY_DEFINITION('','',#12870); -#21575=REPRESENTATION('',(#14740),#13704); -#21576=PROPERTY_DEFINITION_REPRESENTATION(#21574,#21575); -#21577=PROPERTY_DEFINITION('','',#12871); -#21578=REPRESENTATION('',(#14740),#13704); -#21579=PROPERTY_DEFINITION_REPRESENTATION(#21577,#21578); -#21580=PROPERTY_DEFINITION('','',#12872); -#21581=REPRESENTATION('',(#14740),#13704); -#21582=PROPERTY_DEFINITION_REPRESENTATION(#21580,#21581); -#21583=PROPERTY_DEFINITION('','',#12873); -#21584=REPRESENTATION('',(#14740),#13704); -#21585=PROPERTY_DEFINITION_REPRESENTATION(#21583,#21584); -#21586=PROPERTY_DEFINITION('','',#12874); -#21587=REPRESENTATION('',(#14740),#13704); -#21588=PROPERTY_DEFINITION_REPRESENTATION(#21586,#21587); -#21589=PROPERTY_DEFINITION('','',#12875); -#21590=REPRESENTATION('',(#14740),#13704); -#21591=PROPERTY_DEFINITION_REPRESENTATION(#21589,#21590); -#21592=PROPERTY_DEFINITION('','',#12876); -#21593=REPRESENTATION('',(#14740),#13704); -#21594=PROPERTY_DEFINITION_REPRESENTATION(#21592,#21593); -#21595=PROPERTY_DEFINITION('','',#12877); -#21596=REPRESENTATION('',(#14740),#13704); -#21597=PROPERTY_DEFINITION_REPRESENTATION(#21595,#21596); -#21598=PROPERTY_DEFINITION('','',#12878); -#21599=REPRESENTATION('',(#14740),#13704); -#21600=PROPERTY_DEFINITION_REPRESENTATION(#21598,#21599); -#21601=PROPERTY_DEFINITION('','',#12879); -#21602=REPRESENTATION('',(#14740),#13704); -#21603=PROPERTY_DEFINITION_REPRESENTATION(#21601,#21602); -#21604=PROPERTY_DEFINITION('','',#12880); -#21605=REPRESENTATION('',(#14740),#13704); -#21606=PROPERTY_DEFINITION_REPRESENTATION(#21604,#21605); -#21607=PROPERTY_DEFINITION('','',#12881); -#21608=REPRESENTATION('',(#14740),#13704); -#21609=PROPERTY_DEFINITION_REPRESENTATION(#21607,#21608); -#21610=PROPERTY_DEFINITION('','',#12882); -#21611=REPRESENTATION('',(#14740),#13704); -#21612=PROPERTY_DEFINITION_REPRESENTATION(#21610,#21611); -#21613=PROPERTY_DEFINITION('','',#12883); -#21614=REPRESENTATION('',(#14740),#13704); -#21615=PROPERTY_DEFINITION_REPRESENTATION(#21613,#21614); -#21616=PROPERTY_DEFINITION('','',#12884); -#21617=REPRESENTATION('',(#14740),#13704); -#21618=PROPERTY_DEFINITION_REPRESENTATION(#21616,#21617); -#21619=PROPERTY_DEFINITION('','',#12885); -#21620=REPRESENTATION('',(#14740),#13704); -#21621=PROPERTY_DEFINITION_REPRESENTATION(#21619,#21620); -#21622=PROPERTY_DEFINITION('','',#12886); -#21623=REPRESENTATION('',(#14740),#13704); -#21624=PROPERTY_DEFINITION_REPRESENTATION(#21622,#21623); -#21625=PROPERTY_DEFINITION('','',#12887); -#21626=REPRESENTATION('',(#14740),#13704); -#21627=PROPERTY_DEFINITION_REPRESENTATION(#21625,#21626); -#21628=PROPERTY_DEFINITION('','',#12888); -#21629=REPRESENTATION('',(#14740),#13704); -#21630=PROPERTY_DEFINITION_REPRESENTATION(#21628,#21629); -#21631=PROPERTY_DEFINITION('','',#12889); -#21632=REPRESENTATION('',(#14740),#13704); -#21633=PROPERTY_DEFINITION_REPRESENTATION(#21631,#21632); -#21634=PROPERTY_DEFINITION('','',#12890); -#21635=REPRESENTATION('',(#14740),#13704); -#21636=PROPERTY_DEFINITION_REPRESENTATION(#21634,#21635); -#21637=PROPERTY_DEFINITION('','',#12891); -#21638=REPRESENTATION('',(#14740),#13704); -#21639=PROPERTY_DEFINITION_REPRESENTATION(#21637,#21638); -#21640=PROPERTY_DEFINITION('','',#12892); -#21641=REPRESENTATION('',(#14740),#13704); -#21642=PROPERTY_DEFINITION_REPRESENTATION(#21640,#21641); -#21643=PROPERTY_DEFINITION('','',#12893); -#21644=REPRESENTATION('',(#14740),#13704); -#21645=PROPERTY_DEFINITION_REPRESENTATION(#21643,#21644); -#21646=PROPERTY_DEFINITION('','',#12894); -#21647=REPRESENTATION('',(#14740),#13704); -#21648=PROPERTY_DEFINITION_REPRESENTATION(#21646,#21647); -#21649=PROPERTY_DEFINITION('','',#12895); -#21650=REPRESENTATION('',(#14740),#13704); -#21651=PROPERTY_DEFINITION_REPRESENTATION(#21649,#21650); -#21652=PROPERTY_DEFINITION('','',#12896); -#21653=REPRESENTATION('',(#14740),#13704); -#21654=PROPERTY_DEFINITION_REPRESENTATION(#21652,#21653); -#21655=PROPERTY_DEFINITION('','',#12897); -#21656=REPRESENTATION('',(#14740),#13704); -#21657=PROPERTY_DEFINITION_REPRESENTATION(#21655,#21656); -#21658=PROPERTY_DEFINITION('','',#12898); -#21659=REPRESENTATION('',(#14740),#13704); -#21660=PROPERTY_DEFINITION_REPRESENTATION(#21658,#21659); -#21661=PROPERTY_DEFINITION('','',#12899); -#21662=REPRESENTATION('',(#14740),#13704); -#21663=PROPERTY_DEFINITION_REPRESENTATION(#21661,#21662); -#21664=PROPERTY_DEFINITION('','',#12900); -#21665=REPRESENTATION('',(#14740),#13704); -#21666=PROPERTY_DEFINITION_REPRESENTATION(#21664,#21665); -#21667=PROPERTY_DEFINITION('','',#12901); -#21668=REPRESENTATION('',(#14740),#13704); -#21669=PROPERTY_DEFINITION_REPRESENTATION(#21667,#21668); -#21670=PROPERTY_DEFINITION('','',#12902); -#21671=REPRESENTATION('',(#14740),#13704); -#21672=PROPERTY_DEFINITION_REPRESENTATION(#21670,#21671); -#21673=PROPERTY_DEFINITION('','',#12903); -#21674=REPRESENTATION('',(#14740),#13704); -#21675=PROPERTY_DEFINITION_REPRESENTATION(#21673,#21674); -#21676=PROPERTY_DEFINITION('','',#12904); -#21677=REPRESENTATION('',(#14740),#13704); -#21678=PROPERTY_DEFINITION_REPRESENTATION(#21676,#21677); -#21679=PROPERTY_DEFINITION('','',#12905); -#21680=REPRESENTATION('',(#14740),#13704); -#21681=PROPERTY_DEFINITION_REPRESENTATION(#21679,#21680); -#21682=PROPERTY_DEFINITION('','',#12906); -#21683=REPRESENTATION('',(#14740),#13704); -#21684=PROPERTY_DEFINITION_REPRESENTATION(#21682,#21683); -#21685=PROPERTY_DEFINITION('','',#12907); -#21686=REPRESENTATION('',(#14740),#13704); -#21687=PROPERTY_DEFINITION_REPRESENTATION(#21685,#21686); -#21688=PROPERTY_DEFINITION('','',#12908); -#21689=REPRESENTATION('',(#14740),#13704); -#21690=PROPERTY_DEFINITION_REPRESENTATION(#21688,#21689); -#21691=PROPERTY_DEFINITION('','',#12909); -#21692=REPRESENTATION('',(#14740),#13704); -#21693=PROPERTY_DEFINITION_REPRESENTATION(#21691,#21692); -#21694=PROPERTY_DEFINITION('','',#12910); -#21695=REPRESENTATION('',(#14740),#13704); -#21696=PROPERTY_DEFINITION_REPRESENTATION(#21694,#21695); -#21697=PROPERTY_DEFINITION('','',#12911); -#21698=REPRESENTATION('',(#14740),#13704); -#21699=PROPERTY_DEFINITION_REPRESENTATION(#21697,#21698); -#21700=PROPERTY_DEFINITION('','',#12912); -#21701=REPRESENTATION('',(#14740),#13704); -#21702=PROPERTY_DEFINITION_REPRESENTATION(#21700,#21701); -#21703=PROPERTY_DEFINITION('','',#12913); -#21704=REPRESENTATION('',(#14740),#13704); -#21705=PROPERTY_DEFINITION_REPRESENTATION(#21703,#21704); -#21706=PROPERTY_DEFINITION('','',#12914); -#21707=REPRESENTATION('',(#14740),#13704); -#21708=PROPERTY_DEFINITION_REPRESENTATION(#21706,#21707); -#21709=PROPERTY_DEFINITION('','',#12915); -#21710=REPRESENTATION('',(#14740),#13704); -#21711=PROPERTY_DEFINITION_REPRESENTATION(#21709,#21710); -#21712=PROPERTY_DEFINITION('','',#12916); -#21713=REPRESENTATION('',(#14740),#13704); -#21714=PROPERTY_DEFINITION_REPRESENTATION(#21712,#21713); -#21715=PROPERTY_DEFINITION('','',#12917); -#21716=REPRESENTATION('',(#14740),#13704); -#21717=PROPERTY_DEFINITION_REPRESENTATION(#21715,#21716); -#21718=PROPERTY_DEFINITION('','',#12918); -#21719=REPRESENTATION('',(#14740),#13704); -#21720=PROPERTY_DEFINITION_REPRESENTATION(#21718,#21719); -#21721=PROPERTY_DEFINITION('','',#12919); -#21722=REPRESENTATION('',(#14740),#13704); -#21723=PROPERTY_DEFINITION_REPRESENTATION(#21721,#21722); -#21724=PROPERTY_DEFINITION('','',#12920); -#21725=REPRESENTATION('',(#14740),#13704); -#21726=PROPERTY_DEFINITION_REPRESENTATION(#21724,#21725); -#21727=PROPERTY_DEFINITION('','',#12921); -#21728=REPRESENTATION('',(#14740),#13704); -#21729=PROPERTY_DEFINITION_REPRESENTATION(#21727,#21728); -#21730=PROPERTY_DEFINITION('','',#12922); -#21731=REPRESENTATION('',(#14740),#13704); -#21732=PROPERTY_DEFINITION_REPRESENTATION(#21730,#21731); -#21733=PROPERTY_DEFINITION('','',#12923); -#21734=REPRESENTATION('',(#14740),#13704); -#21735=PROPERTY_DEFINITION_REPRESENTATION(#21733,#21734); -#21736=PROPERTY_DEFINITION('','',#12924); -#21737=REPRESENTATION('',(#14740),#13704); -#21738=PROPERTY_DEFINITION_REPRESENTATION(#21736,#21737); -#21739=PROPERTY_DEFINITION('','',#12925); -#21740=REPRESENTATION('',(#14740),#13704); -#21741=PROPERTY_DEFINITION_REPRESENTATION(#21739,#21740); -#21742=PROPERTY_DEFINITION('','',#12926); -#21743=REPRESENTATION('',(#14740),#13704); -#21744=PROPERTY_DEFINITION_REPRESENTATION(#21742,#21743); -#21745=PROPERTY_DEFINITION('','',#12927); -#21746=REPRESENTATION('',(#14740),#13704); -#21747=PROPERTY_DEFINITION_REPRESENTATION(#21745,#21746); -#21748=PROPERTY_DEFINITION('','',#12928); -#21749=REPRESENTATION('',(#14740),#13704); -#21750=PROPERTY_DEFINITION_REPRESENTATION(#21748,#21749); -#21751=PROPERTY_DEFINITION('','',#12929); -#21752=REPRESENTATION('',(#14740),#13704); -#21753=PROPERTY_DEFINITION_REPRESENTATION(#21751,#21752); -#21754=PROPERTY_DEFINITION('','',#12930); -#21755=REPRESENTATION('',(#14740),#13704); -#21756=PROPERTY_DEFINITION_REPRESENTATION(#21754,#21755); -#21757=PROPERTY_DEFINITION('','',#12931); -#21758=REPRESENTATION('',(#14740),#13704); -#21759=PROPERTY_DEFINITION_REPRESENTATION(#21757,#21758); -#21760=PROPERTY_DEFINITION('','',#12932); -#21761=REPRESENTATION('',(#14740),#13704); -#21762=PROPERTY_DEFINITION_REPRESENTATION(#21760,#21761); -#21763=PROPERTY_DEFINITION('','',#12933); -#21764=REPRESENTATION('',(#14740),#13704); -#21765=PROPERTY_DEFINITION_REPRESENTATION(#21763,#21764); -#21766=PROPERTY_DEFINITION('','',#12934); -#21767=REPRESENTATION('',(#14740),#13704); -#21768=PROPERTY_DEFINITION_REPRESENTATION(#21766,#21767); -#21769=PROPERTY_DEFINITION('','',#12935); -#21770=REPRESENTATION('',(#14740),#13704); -#21771=PROPERTY_DEFINITION_REPRESENTATION(#21769,#21770); -#21772=PROPERTY_DEFINITION('','',#12936); -#21773=REPRESENTATION('',(#14740),#13704); -#21774=PROPERTY_DEFINITION_REPRESENTATION(#21772,#21773); -#21775=PROPERTY_DEFINITION('','',#12937); -#21776=REPRESENTATION('',(#14740),#13704); -#21777=PROPERTY_DEFINITION_REPRESENTATION(#21775,#21776); -#21778=PROPERTY_DEFINITION('','',#12938); -#21779=REPRESENTATION('',(#14740),#13704); -#21780=PROPERTY_DEFINITION_REPRESENTATION(#21778,#21779); -#21781=PROPERTY_DEFINITION('','',#12939); -#21782=REPRESENTATION('',(#14740),#13704); -#21783=PROPERTY_DEFINITION_REPRESENTATION(#21781,#21782); -#21784=PROPERTY_DEFINITION('','',#12940); -#21785=REPRESENTATION('',(#14740),#13704); -#21786=PROPERTY_DEFINITION_REPRESENTATION(#21784,#21785); -#21787=PROPERTY_DEFINITION('','',#12941); -#21788=REPRESENTATION('',(#14740),#13704); -#21789=PROPERTY_DEFINITION_REPRESENTATION(#21787,#21788); -#21790=PROPERTY_DEFINITION('','',#12942); -#21791=REPRESENTATION('',(#14740),#13704); -#21792=PROPERTY_DEFINITION_REPRESENTATION(#21790,#21791); -#21793=PROPERTY_DEFINITION('','',#12943); -#21794=REPRESENTATION('',(#14740),#13704); -#21795=PROPERTY_DEFINITION_REPRESENTATION(#21793,#21794); -#21796=PROPERTY_DEFINITION('','',#12944); -#21797=REPRESENTATION('',(#14740),#13704); -#21798=PROPERTY_DEFINITION_REPRESENTATION(#21796,#21797); -#21799=PROPERTY_DEFINITION('','',#12945); -#21800=REPRESENTATION('',(#14740),#13704); -#21801=PROPERTY_DEFINITION_REPRESENTATION(#21799,#21800); -#21802=PROPERTY_DEFINITION('','',#12946); -#21803=REPRESENTATION('',(#14740),#13704); -#21804=PROPERTY_DEFINITION_REPRESENTATION(#21802,#21803); -#21805=PROPERTY_DEFINITION('','',#12947); -#21806=REPRESENTATION('',(#14740),#13704); -#21807=PROPERTY_DEFINITION_REPRESENTATION(#21805,#21806); -#21808=PROPERTY_DEFINITION('','',#12948); -#21809=REPRESENTATION('',(#14740),#13704); -#21810=PROPERTY_DEFINITION_REPRESENTATION(#21808,#21809); -#21811=PROPERTY_DEFINITION('','',#12949); -#21812=REPRESENTATION('',(#14740),#13704); -#21813=PROPERTY_DEFINITION_REPRESENTATION(#21811,#21812); -#21814=PROPERTY_DEFINITION('','',#12950); -#21815=REPRESENTATION('',(#14740),#13704); -#21816=PROPERTY_DEFINITION_REPRESENTATION(#21814,#21815); -#21817=PROPERTY_DEFINITION('','',#12951); -#21818=REPRESENTATION('',(#14740),#13704); -#21819=PROPERTY_DEFINITION_REPRESENTATION(#21817,#21818); -#21820=PROPERTY_DEFINITION('','',#12952); -#21821=REPRESENTATION('',(#14740),#13704); -#21822=PROPERTY_DEFINITION_REPRESENTATION(#21820,#21821); -#21823=PROPERTY_DEFINITION('','',#12953); -#21824=REPRESENTATION('',(#14740),#13704); -#21825=PROPERTY_DEFINITION_REPRESENTATION(#21823,#21824); -#21826=PROPERTY_DEFINITION('','',#12954); -#21827=REPRESENTATION('',(#14740),#13704); -#21828=PROPERTY_DEFINITION_REPRESENTATION(#21826,#21827); -#21829=PROPERTY_DEFINITION('','',#12955); -#21830=REPRESENTATION('',(#14740),#13704); -#21831=PROPERTY_DEFINITION_REPRESENTATION(#21829,#21830); -#21832=PROPERTY_DEFINITION('','',#12956); -#21833=REPRESENTATION('',(#14740),#13704); -#21834=PROPERTY_DEFINITION_REPRESENTATION(#21832,#21833); -#21835=PROPERTY_DEFINITION('','',#12957); -#21836=REPRESENTATION('',(#14740),#13704); -#21837=PROPERTY_DEFINITION_REPRESENTATION(#21835,#21836); -#21838=PROPERTY_DEFINITION('','',#12958); -#21839=REPRESENTATION('',(#14740),#13704); -#21840=PROPERTY_DEFINITION_REPRESENTATION(#21838,#21839); -#21841=PROPERTY_DEFINITION('','',#12959); -#21842=REPRESENTATION('',(#14740),#13704); -#21843=PROPERTY_DEFINITION_REPRESENTATION(#21841,#21842); -#21844=PROPERTY_DEFINITION('','',#12960); -#21845=REPRESENTATION('',(#14740),#13704); -#21846=PROPERTY_DEFINITION_REPRESENTATION(#21844,#21845); -#21847=PROPERTY_DEFINITION('','',#12961); -#21848=REPRESENTATION('',(#14740),#13704); -#21849=PROPERTY_DEFINITION_REPRESENTATION(#21847,#21848); -#21850=PROPERTY_DEFINITION('','',#12962); -#21851=REPRESENTATION('',(#14740),#13704); -#21852=PROPERTY_DEFINITION_REPRESENTATION(#21850,#21851); -#21853=PROPERTY_DEFINITION('','',#12963); -#21854=REPRESENTATION('',(#14740),#13704); -#21855=PROPERTY_DEFINITION_REPRESENTATION(#21853,#21854); -#21856=PROPERTY_DEFINITION('','',#12964); -#21857=REPRESENTATION('',(#14740),#13704); -#21858=PROPERTY_DEFINITION_REPRESENTATION(#21856,#21857); -#21859=PROPERTY_DEFINITION('','',#12965); -#21860=REPRESENTATION('',(#14740),#13704); -#21861=PROPERTY_DEFINITION_REPRESENTATION(#21859,#21860); -#21862=PROPERTY_DEFINITION('','',#12966); -#21863=REPRESENTATION('',(#14740),#13704); -#21864=PROPERTY_DEFINITION_REPRESENTATION(#21862,#21863); -#21865=PROPERTY_DEFINITION('','',#12967); -#21866=REPRESENTATION('',(#14740),#13704); -#21867=PROPERTY_DEFINITION_REPRESENTATION(#21865,#21866); -#21868=PROPERTY_DEFINITION('','',#12968); -#21869=REPRESENTATION('',(#14740),#13704); -#21870=PROPERTY_DEFINITION_REPRESENTATION(#21868,#21869); -#21871=PROPERTY_DEFINITION('','',#12969); -#21872=REPRESENTATION('',(#14740),#13704); -#21873=PROPERTY_DEFINITION_REPRESENTATION(#21871,#21872); -#21874=PROPERTY_DEFINITION('','',#12970); -#21875=REPRESENTATION('',(#14740),#13704); -#21876=PROPERTY_DEFINITION_REPRESENTATION(#21874,#21875); -#21877=PROPERTY_DEFINITION('','',#12971); -#21878=REPRESENTATION('',(#14740),#13704); -#21879=PROPERTY_DEFINITION_REPRESENTATION(#21877,#21878); -#21880=PROPERTY_DEFINITION('','',#12972); -#21881=REPRESENTATION('',(#14740),#13704); -#21882=PROPERTY_DEFINITION_REPRESENTATION(#21880,#21881); -#21883=PROPERTY_DEFINITION('','',#12973); -#21884=REPRESENTATION('',(#14740),#13704); -#21885=PROPERTY_DEFINITION_REPRESENTATION(#21883,#21884); -#21886=PROPERTY_DEFINITION('','',#12974); -#21887=REPRESENTATION('',(#14740),#13704); -#21888=PROPERTY_DEFINITION_REPRESENTATION(#21886,#21887); -#21889=PROPERTY_DEFINITION('','',#12975); -#21890=REPRESENTATION('',(#14740),#13704); -#21891=PROPERTY_DEFINITION_REPRESENTATION(#21889,#21890); -#21892=PROPERTY_DEFINITION('','',#12976); -#21893=REPRESENTATION('',(#14740),#13704); -#21894=PROPERTY_DEFINITION_REPRESENTATION(#21892,#21893); -#21895=PROPERTY_DEFINITION('','',#12977); -#21896=REPRESENTATION('',(#14740),#13704); -#21897=PROPERTY_DEFINITION_REPRESENTATION(#21895,#21896); -#21898=PROPERTY_DEFINITION('','',#12978); -#21899=REPRESENTATION('',(#14740),#13704); -#21900=PROPERTY_DEFINITION_REPRESENTATION(#21898,#21899); -#21901=PROPERTY_DEFINITION('','',#12979); -#21902=REPRESENTATION('',(#14740),#13704); -#21903=PROPERTY_DEFINITION_REPRESENTATION(#21901,#21902); -#21904=PROPERTY_DEFINITION('','',#12980); -#21905=REPRESENTATION('',(#14740),#13704); -#21906=PROPERTY_DEFINITION_REPRESENTATION(#21904,#21905); -#21907=PROPERTY_DEFINITION('','',#12981); -#21908=REPRESENTATION('',(#14740),#13704); -#21909=PROPERTY_DEFINITION_REPRESENTATION(#21907,#21908); -#21910=PROPERTY_DEFINITION('','',#12982); -#21911=REPRESENTATION('',(#14740),#13704); -#21912=PROPERTY_DEFINITION_REPRESENTATION(#21910,#21911); -#21913=PROPERTY_DEFINITION('','',#12983); -#21914=REPRESENTATION('',(#14740),#13704); -#21915=PROPERTY_DEFINITION_REPRESENTATION(#21913,#21914); -#21916=PROPERTY_DEFINITION('','',#12984); -#21917=REPRESENTATION('',(#14740),#13704); -#21918=PROPERTY_DEFINITION_REPRESENTATION(#21916,#21917); -#21919=PROPERTY_DEFINITION('','',#12985); -#21920=REPRESENTATION('',(#14740),#13704); -#21921=PROPERTY_DEFINITION_REPRESENTATION(#21919,#21920); -#21922=PROPERTY_DEFINITION('','',#12986); -#21923=REPRESENTATION('',(#14740),#13704); -#21924=PROPERTY_DEFINITION_REPRESENTATION(#21922,#21923); -#21925=PROPERTY_DEFINITION('','',#12987); -#21926=REPRESENTATION('',(#14740),#13704); -#21927=PROPERTY_DEFINITION_REPRESENTATION(#21925,#21926); -#21928=PROPERTY_DEFINITION('','',#12988); -#21929=REPRESENTATION('',(#14740),#13704); -#21930=PROPERTY_DEFINITION_REPRESENTATION(#21928,#21929); -#21931=PROPERTY_DEFINITION('','',#12989); -#21932=REPRESENTATION('',(#14740),#13704); -#21933=PROPERTY_DEFINITION_REPRESENTATION(#21931,#21932); -#21934=PROPERTY_DEFINITION('','',#12990); -#21935=REPRESENTATION('',(#14740),#13704); -#21936=PROPERTY_DEFINITION_REPRESENTATION(#21934,#21935); -#21937=PROPERTY_DEFINITION('','',#12991); -#21938=REPRESENTATION('',(#14740),#13704); -#21939=PROPERTY_DEFINITION_REPRESENTATION(#21937,#21938); -#21940=PROPERTY_DEFINITION('','',#12992); -#21941=REPRESENTATION('',(#14740),#13704); -#21942=PROPERTY_DEFINITION_REPRESENTATION(#21940,#21941); -#21943=PROPERTY_DEFINITION('','',#12993); -#21944=REPRESENTATION('',(#14740),#13704); -#21945=PROPERTY_DEFINITION_REPRESENTATION(#21943,#21944); -#21946=PROPERTY_DEFINITION('','',#12994); -#21947=REPRESENTATION('',(#14740),#13704); -#21948=PROPERTY_DEFINITION_REPRESENTATION(#21946,#21947); -#21949=PROPERTY_DEFINITION('','',#12995); -#21950=REPRESENTATION('',(#14740),#13704); -#21951=PROPERTY_DEFINITION_REPRESENTATION(#21949,#21950); -#21952=PROPERTY_DEFINITION('','',#12996); -#21953=REPRESENTATION('',(#14740),#13704); -#21954=PROPERTY_DEFINITION_REPRESENTATION(#21952,#21953); -#21955=PROPERTY_DEFINITION('','',#12997); -#21956=REPRESENTATION('',(#14740),#13704); -#21957=PROPERTY_DEFINITION_REPRESENTATION(#21955,#21956); -#21958=PROPERTY_DEFINITION('','',#12998); -#21959=REPRESENTATION('',(#14740),#13704); -#21960=PROPERTY_DEFINITION_REPRESENTATION(#21958,#21959); -#21961=PROPERTY_DEFINITION('','',#12999); -#21962=REPRESENTATION('',(#14740),#13704); -#21963=PROPERTY_DEFINITION_REPRESENTATION(#21961,#21962); -#21964=PROPERTY_DEFINITION('','',#13000); -#21965=REPRESENTATION('',(#14740),#13704); -#21966=PROPERTY_DEFINITION_REPRESENTATION(#21964,#21965); -#21967=PROPERTY_DEFINITION('','',#13001); -#21968=REPRESENTATION('',(#14740),#13704); -#21969=PROPERTY_DEFINITION_REPRESENTATION(#21967,#21968); -#21970=PROPERTY_DEFINITION('','',#13002); -#21971=REPRESENTATION('',(#14740),#13704); -#21972=PROPERTY_DEFINITION_REPRESENTATION(#21970,#21971); -#21973=PROPERTY_DEFINITION('','',#13003); -#21974=REPRESENTATION('',(#14740),#13704); -#21975=PROPERTY_DEFINITION_REPRESENTATION(#21973,#21974); -#21976=PROPERTY_DEFINITION('','',#13004); -#21977=REPRESENTATION('',(#14740),#13704); -#21978=PROPERTY_DEFINITION_REPRESENTATION(#21976,#21977); -#21979=PROPERTY_DEFINITION('','',#13005); -#21980=REPRESENTATION('',(#14740),#13704); -#21981=PROPERTY_DEFINITION_REPRESENTATION(#21979,#21980); -#21982=PROPERTY_DEFINITION('','',#13006); -#21983=REPRESENTATION('',(#14740),#13704); -#21984=PROPERTY_DEFINITION_REPRESENTATION(#21982,#21983); -#21985=PROPERTY_DEFINITION('','',#13007); -#21986=REPRESENTATION('',(#14740),#13704); -#21987=PROPERTY_DEFINITION_REPRESENTATION(#21985,#21986); -#21988=PROPERTY_DEFINITION('','',#13008); -#21989=REPRESENTATION('',(#14740),#13704); -#21990=PROPERTY_DEFINITION_REPRESENTATION(#21988,#21989); -#21991=PROPERTY_DEFINITION('','',#13009); -#21992=REPRESENTATION('',(#14740),#13704); -#21993=PROPERTY_DEFINITION_REPRESENTATION(#21991,#21992); -#21994=PROPERTY_DEFINITION('','',#13010); -#21995=REPRESENTATION('',(#14740),#13704); -#21996=PROPERTY_DEFINITION_REPRESENTATION(#21994,#21995); -#21997=PROPERTY_DEFINITION('','',#13011); -#21998=REPRESENTATION('',(#14740),#13704); -#21999=PROPERTY_DEFINITION_REPRESENTATION(#21997,#21998); -#22000=PROPERTY_DEFINITION('','',#13012); -#22001=REPRESENTATION('',(#14740),#13704); -#22002=PROPERTY_DEFINITION_REPRESENTATION(#22000,#22001); -#22003=PROPERTY_DEFINITION('','',#13013); -#22004=REPRESENTATION('',(#14740),#13704); -#22005=PROPERTY_DEFINITION_REPRESENTATION(#22003,#22004); -#22006=PROPERTY_DEFINITION('','',#13014); -#22007=REPRESENTATION('',(#14740),#13704); -#22008=PROPERTY_DEFINITION_REPRESENTATION(#22006,#22007); -#22009=PROPERTY_DEFINITION('','',#13015); -#22010=REPRESENTATION('',(#14740),#13704); -#22011=PROPERTY_DEFINITION_REPRESENTATION(#22009,#22010); -#22012=PROPERTY_DEFINITION('','',#13016); -#22013=REPRESENTATION('',(#14740),#13704); -#22014=PROPERTY_DEFINITION_REPRESENTATION(#22012,#22013); -#22015=PROPERTY_DEFINITION('','',#13017); -#22016=REPRESENTATION('',(#14740),#13704); -#22017=PROPERTY_DEFINITION_REPRESENTATION(#22015,#22016); -#22018=PROPERTY_DEFINITION('','',#13018); -#22019=REPRESENTATION('',(#14740),#13704); -#22020=PROPERTY_DEFINITION_REPRESENTATION(#22018,#22019); -#22021=PROPERTY_DEFINITION('','',#13019); -#22022=REPRESENTATION('',(#14740),#13704); -#22023=PROPERTY_DEFINITION_REPRESENTATION(#22021,#22022); -#22024=PROPERTY_DEFINITION('','',#13020); -#22025=REPRESENTATION('',(#14740),#13704); -#22026=PROPERTY_DEFINITION_REPRESENTATION(#22024,#22025); -#22027=PROPERTY_DEFINITION('','',#13021); -#22028=REPRESENTATION('',(#14740),#13704); -#22029=PROPERTY_DEFINITION_REPRESENTATION(#22027,#22028); -#22030=PROPERTY_DEFINITION('','',#13022); -#22031=REPRESENTATION('',(#14740),#13704); -#22032=PROPERTY_DEFINITION_REPRESENTATION(#22030,#22031); -#22033=PROPERTY_DEFINITION('','',#13023); -#22034=REPRESENTATION('',(#14740),#13704); -#22035=PROPERTY_DEFINITION_REPRESENTATION(#22033,#22034); -#22036=PROPERTY_DEFINITION('','',#13024); -#22037=REPRESENTATION('',(#14740),#13704); -#22038=PROPERTY_DEFINITION_REPRESENTATION(#22036,#22037); -#22039=PROPERTY_DEFINITION('','',#13025); -#22040=REPRESENTATION('',(#14740),#13704); -#22041=PROPERTY_DEFINITION_REPRESENTATION(#22039,#22040); -#22042=PROPERTY_DEFINITION('','',#13026); -#22043=REPRESENTATION('',(#14740),#13704); -#22044=PROPERTY_DEFINITION_REPRESENTATION(#22042,#22043); -#22045=PROPERTY_DEFINITION('','',#13027); -#22046=REPRESENTATION('',(#14740),#13704); -#22047=PROPERTY_DEFINITION_REPRESENTATION(#22045,#22046); -#22048=PROPERTY_DEFINITION('','',#13028); -#22049=REPRESENTATION('',(#14740),#13704); -#22050=PROPERTY_DEFINITION_REPRESENTATION(#22048,#22049); -#22051=PROPERTY_DEFINITION('','',#13029); -#22052=REPRESENTATION('',(#14740),#13704); -#22053=PROPERTY_DEFINITION_REPRESENTATION(#22051,#22052); -#22054=PROPERTY_DEFINITION('','',#13030); -#22055=REPRESENTATION('',(#14740),#13704); -#22056=PROPERTY_DEFINITION_REPRESENTATION(#22054,#22055); -#22057=PROPERTY_DEFINITION('','',#13031); -#22058=REPRESENTATION('',(#14740),#13704); -#22059=PROPERTY_DEFINITION_REPRESENTATION(#22057,#22058); -#22060=PROPERTY_DEFINITION('','',#13032); -#22061=REPRESENTATION('',(#14740),#13704); -#22062=PROPERTY_DEFINITION_REPRESENTATION(#22060,#22061); -#22063=PROPERTY_DEFINITION('','',#13033); -#22064=REPRESENTATION('',(#14740),#13704); -#22065=PROPERTY_DEFINITION_REPRESENTATION(#22063,#22064); -#22066=PROPERTY_DEFINITION('','',#13034); -#22067=REPRESENTATION('',(#14740),#13704); -#22068=PROPERTY_DEFINITION_REPRESENTATION(#22066,#22067); -#22069=PROPERTY_DEFINITION('','',#13035); -#22070=REPRESENTATION('',(#14740),#13704); -#22071=PROPERTY_DEFINITION_REPRESENTATION(#22069,#22070); -#22072=PROPERTY_DEFINITION('','',#13036); -#22073=REPRESENTATION('',(#14740),#13704); -#22074=PROPERTY_DEFINITION_REPRESENTATION(#22072,#22073); -#22075=PROPERTY_DEFINITION('','',#13037); -#22076=REPRESENTATION('',(#14740),#13704); -#22077=PROPERTY_DEFINITION_REPRESENTATION(#22075,#22076); -#22078=PROPERTY_DEFINITION('','',#13038); -#22079=REPRESENTATION('',(#14740),#13704); -#22080=PROPERTY_DEFINITION_REPRESENTATION(#22078,#22079); -#22081=PROPERTY_DEFINITION('','',#13039); -#22082=REPRESENTATION('',(#14740),#13704); -#22083=PROPERTY_DEFINITION_REPRESENTATION(#22081,#22082); -#22084=PROPERTY_DEFINITION('','',#13040); -#22085=REPRESENTATION('',(#14740),#13704); -#22086=PROPERTY_DEFINITION_REPRESENTATION(#22084,#22085); -#22087=PROPERTY_DEFINITION('','',#13041); -#22088=REPRESENTATION('',(#14740),#13704); -#22089=PROPERTY_DEFINITION_REPRESENTATION(#22087,#22088); -#22090=PROPERTY_DEFINITION('','',#13042); -#22091=REPRESENTATION('',(#14740),#13704); -#22092=PROPERTY_DEFINITION_REPRESENTATION(#22090,#22091); -#22093=PROPERTY_DEFINITION('','',#13043); -#22094=REPRESENTATION('',(#14740),#13704); -#22095=PROPERTY_DEFINITION_REPRESENTATION(#22093,#22094); -#22096=PROPERTY_DEFINITION('','',#13044); -#22097=REPRESENTATION('',(#14740),#13704); -#22098=PROPERTY_DEFINITION_REPRESENTATION(#22096,#22097); -#22099=PROPERTY_DEFINITION('','',#13045); -#22100=REPRESENTATION('',(#14740),#13704); -#22101=PROPERTY_DEFINITION_REPRESENTATION(#22099,#22100); -#22102=PROPERTY_DEFINITION('','',#13046); -#22103=REPRESENTATION('',(#14740),#13704); -#22104=PROPERTY_DEFINITION_REPRESENTATION(#22102,#22103); -#22105=PROPERTY_DEFINITION('','',#13047); -#22106=REPRESENTATION('',(#14740),#13704); -#22107=PROPERTY_DEFINITION_REPRESENTATION(#22105,#22106); -#22108=PROPERTY_DEFINITION('','',#13048); -#22109=REPRESENTATION('',(#14740),#13704); -#22110=PROPERTY_DEFINITION_REPRESENTATION(#22108,#22109); -#22111=PROPERTY_DEFINITION('','',#13049); -#22112=REPRESENTATION('',(#14740),#13704); -#22113=PROPERTY_DEFINITION_REPRESENTATION(#22111,#22112); -#22114=PROPERTY_DEFINITION('','',#13050); -#22115=REPRESENTATION('',(#14740),#13704); -#22116=PROPERTY_DEFINITION_REPRESENTATION(#22114,#22115); -#22117=PROPERTY_DEFINITION('','',#13051); -#22118=REPRESENTATION('',(#14740),#13704); -#22119=PROPERTY_DEFINITION_REPRESENTATION(#22117,#22118); -#22120=PROPERTY_DEFINITION('','',#13052); -#22121=REPRESENTATION('',(#14740),#13704); -#22122=PROPERTY_DEFINITION_REPRESENTATION(#22120,#22121); -#22123=PROPERTY_DEFINITION('','',#13053); -#22124=REPRESENTATION('',(#14740),#13704); -#22125=PROPERTY_DEFINITION_REPRESENTATION(#22123,#22124); -#22126=PROPERTY_DEFINITION('','',#13054); -#22127=REPRESENTATION('',(#14740),#13704); -#22128=PROPERTY_DEFINITION_REPRESENTATION(#22126,#22127); -#22129=PROPERTY_DEFINITION('','',#13055); -#22130=REPRESENTATION('',(#14740),#13704); -#22131=PROPERTY_DEFINITION_REPRESENTATION(#22129,#22130); -#22132=PROPERTY_DEFINITION('','',#13056); -#22133=REPRESENTATION('',(#14740),#13704); -#22134=PROPERTY_DEFINITION_REPRESENTATION(#22132,#22133); -#22135=PROPERTY_DEFINITION('','',#13057); -#22136=REPRESENTATION('',(#14740),#13704); -#22137=PROPERTY_DEFINITION_REPRESENTATION(#22135,#22136); -#22138=PROPERTY_DEFINITION('','',#13058); -#22139=REPRESENTATION('',(#14740),#13704); -#22140=PROPERTY_DEFINITION_REPRESENTATION(#22138,#22139); -#22141=PROPERTY_DEFINITION('','',#13059); -#22142=REPRESENTATION('',(#14740),#13704); -#22143=PROPERTY_DEFINITION_REPRESENTATION(#22141,#22142); -#22144=PROPERTY_DEFINITION('','',#13060); -#22145=REPRESENTATION('',(#14740),#13704); -#22146=PROPERTY_DEFINITION_REPRESENTATION(#22144,#22145); -#22147=PROPERTY_DEFINITION('','',#13061); -#22148=REPRESENTATION('',(#14740),#13704); -#22149=PROPERTY_DEFINITION_REPRESENTATION(#22147,#22148); -#22150=PROPERTY_DEFINITION('','',#13062); -#22151=REPRESENTATION('',(#14740),#13704); -#22152=PROPERTY_DEFINITION_REPRESENTATION(#22150,#22151); -#22153=PROPERTY_DEFINITION('','',#13063); -#22154=REPRESENTATION('',(#14740),#13704); -#22155=PROPERTY_DEFINITION_REPRESENTATION(#22153,#22154); -#22156=PROPERTY_DEFINITION('','',#13064); -#22157=REPRESENTATION('',(#14740),#13704); -#22158=PROPERTY_DEFINITION_REPRESENTATION(#22156,#22157); -#22159=PROPERTY_DEFINITION('','',#13065); -#22160=REPRESENTATION('',(#14740),#13704); -#22161=PROPERTY_DEFINITION_REPRESENTATION(#22159,#22160); -#22162=PROPERTY_DEFINITION('','',#13066); -#22163=REPRESENTATION('',(#14740),#13704); -#22164=PROPERTY_DEFINITION_REPRESENTATION(#22162,#22163); -#22165=PROPERTY_DEFINITION('','',#13067); -#22166=REPRESENTATION('',(#14740),#13704); -#22167=PROPERTY_DEFINITION_REPRESENTATION(#22165,#22166); -#22168=PROPERTY_DEFINITION('','',#13068); -#22169=REPRESENTATION('',(#14740),#13704); -#22170=PROPERTY_DEFINITION_REPRESENTATION(#22168,#22169); -#22171=PROPERTY_DEFINITION('','',#13069); -#22172=REPRESENTATION('',(#14740),#13704); -#22173=PROPERTY_DEFINITION_REPRESENTATION(#22171,#22172); -#22174=PROPERTY_DEFINITION('','',#13070); -#22175=REPRESENTATION('',(#14740),#13704); -#22176=PROPERTY_DEFINITION_REPRESENTATION(#22174,#22175); -#22177=PROPERTY_DEFINITION('','',#13071); -#22178=REPRESENTATION('',(#14740),#13704); -#22179=PROPERTY_DEFINITION_REPRESENTATION(#22177,#22178); -#22180=PROPERTY_DEFINITION('','',#13072); -#22181=REPRESENTATION('',(#14740),#13704); -#22182=PROPERTY_DEFINITION_REPRESENTATION(#22180,#22181); -#22183=PROPERTY_DEFINITION('','',#13073); -#22184=REPRESENTATION('',(#14740),#13704); -#22185=PROPERTY_DEFINITION_REPRESENTATION(#22183,#22184); -#22186=PROPERTY_DEFINITION('','',#13074); -#22187=REPRESENTATION('',(#14740),#13704); -#22188=PROPERTY_DEFINITION_REPRESENTATION(#22186,#22187); -#22189=PROPERTY_DEFINITION('','',#13075); -#22190=REPRESENTATION('',(#14740),#13704); -#22191=PROPERTY_DEFINITION_REPRESENTATION(#22189,#22190); -#22192=PROPERTY_DEFINITION('','',#13076); -#22193=REPRESENTATION('',(#14740),#13704); -#22194=PROPERTY_DEFINITION_REPRESENTATION(#22192,#22193); -#22195=PROPERTY_DEFINITION('','',#13077); -#22196=REPRESENTATION('',(#14740),#13704); -#22197=PROPERTY_DEFINITION_REPRESENTATION(#22195,#22196); -#22198=PROPERTY_DEFINITION('','',#13078); -#22199=REPRESENTATION('',(#14740),#13704); -#22200=PROPERTY_DEFINITION_REPRESENTATION(#22198,#22199); -#22201=PROPERTY_DEFINITION('','',#13079); -#22202=REPRESENTATION('',(#14740),#13704); -#22203=PROPERTY_DEFINITION_REPRESENTATION(#22201,#22202); -#22204=PROPERTY_DEFINITION('','',#13080); -#22205=REPRESENTATION('',(#14740),#13704); -#22206=PROPERTY_DEFINITION_REPRESENTATION(#22204,#22205); -#22207=PROPERTY_DEFINITION('','',#13081); -#22208=REPRESENTATION('',(#14740),#13704); -#22209=PROPERTY_DEFINITION_REPRESENTATION(#22207,#22208); -#22210=PROPERTY_DEFINITION('','',#13082); -#22211=REPRESENTATION('',(#14740),#13704); -#22212=PROPERTY_DEFINITION_REPRESENTATION(#22210,#22211); -#22213=PROPERTY_DEFINITION('','',#13083); -#22214=REPRESENTATION('',(#14740),#13704); -#22215=PROPERTY_DEFINITION_REPRESENTATION(#22213,#22214); -#22216=PROPERTY_DEFINITION('','',#13084); -#22217=REPRESENTATION('',(#14740),#13704); -#22218=PROPERTY_DEFINITION_REPRESENTATION(#22216,#22217); -#22219=PROPERTY_DEFINITION('','',#13085); -#22220=REPRESENTATION('',(#14740),#13704); -#22221=PROPERTY_DEFINITION_REPRESENTATION(#22219,#22220); -#22222=PROPERTY_DEFINITION('','',#13086); -#22223=REPRESENTATION('',(#14740),#13704); -#22224=PROPERTY_DEFINITION_REPRESENTATION(#22222,#22223); -#22225=PROPERTY_DEFINITION('','',#13087); -#22226=REPRESENTATION('',(#14740),#13704); -#22227=PROPERTY_DEFINITION_REPRESENTATION(#22225,#22226); -#22228=PROPERTY_DEFINITION('','',#13088); -#22229=REPRESENTATION('',(#14740),#13704); -#22230=PROPERTY_DEFINITION_REPRESENTATION(#22228,#22229); -#22231=PROPERTY_DEFINITION('','',#13089); -#22232=REPRESENTATION('',(#14740),#13704); -#22233=PROPERTY_DEFINITION_REPRESENTATION(#22231,#22232); -#22234=PROPERTY_DEFINITION('','',#13090); -#22235=REPRESENTATION('',(#14740),#13704); -#22236=PROPERTY_DEFINITION_REPRESENTATION(#22234,#22235); -#22237=PROPERTY_DEFINITION('','',#13091); -#22238=REPRESENTATION('',(#14740),#13704); -#22239=PROPERTY_DEFINITION_REPRESENTATION(#22237,#22238); -#22240=PROPERTY_DEFINITION('','',#13092); -#22241=REPRESENTATION('',(#14740),#13704); -#22242=PROPERTY_DEFINITION_REPRESENTATION(#22240,#22241); -#22243=PROPERTY_DEFINITION('','',#13093); -#22244=REPRESENTATION('',(#14740),#13704); -#22245=PROPERTY_DEFINITION_REPRESENTATION(#22243,#22244); -#22246=PROPERTY_DEFINITION('','',#13094); -#22247=REPRESENTATION('',(#14740),#13704); -#22248=PROPERTY_DEFINITION_REPRESENTATION(#22246,#22247); -#22249=PROPERTY_DEFINITION('','',#13095); -#22250=REPRESENTATION('',(#14740),#13704); -#22251=PROPERTY_DEFINITION_REPRESENTATION(#22249,#22250); -#22252=PROPERTY_DEFINITION('','',#13096); -#22253=REPRESENTATION('',(#14740),#13704); -#22254=PROPERTY_DEFINITION_REPRESENTATION(#22252,#22253); -#22255=PROPERTY_DEFINITION('','',#13097); -#22256=REPRESENTATION('',(#14740),#13704); -#22257=PROPERTY_DEFINITION_REPRESENTATION(#22255,#22256); -#22258=PROPERTY_DEFINITION('','',#13098); -#22259=REPRESENTATION('',(#14740),#13704); -#22260=PROPERTY_DEFINITION_REPRESENTATION(#22258,#22259); -#22261=PROPERTY_DEFINITION('','',#13099); -#22262=REPRESENTATION('',(#14740),#13704); -#22263=PROPERTY_DEFINITION_REPRESENTATION(#22261,#22262); -#22264=PROPERTY_DEFINITION('','',#13100); -#22265=REPRESENTATION('',(#14740),#13704); -#22266=PROPERTY_DEFINITION_REPRESENTATION(#22264,#22265); -#22267=PROPERTY_DEFINITION('','',#13101); -#22268=REPRESENTATION('',(#14740),#13704); -#22269=PROPERTY_DEFINITION_REPRESENTATION(#22267,#22268); -#22270=PROPERTY_DEFINITION('','',#13102); -#22271=REPRESENTATION('',(#14740),#13704); -#22272=PROPERTY_DEFINITION_REPRESENTATION(#22270,#22271); -#22273=PROPERTY_DEFINITION('','',#13103); -#22274=REPRESENTATION('',(#14740),#13704); -#22275=PROPERTY_DEFINITION_REPRESENTATION(#22273,#22274); -#22276=PROPERTY_DEFINITION('','',#13104); -#22277=REPRESENTATION('',(#14740),#13704); -#22278=PROPERTY_DEFINITION_REPRESENTATION(#22276,#22277); -#22279=PROPERTY_DEFINITION('','',#13105); -#22280=REPRESENTATION('',(#14740),#13704); -#22281=PROPERTY_DEFINITION_REPRESENTATION(#22279,#22280); -#22282=PROPERTY_DEFINITION('','',#13106); -#22283=REPRESENTATION('',(#14740),#13704); -#22284=PROPERTY_DEFINITION_REPRESENTATION(#22282,#22283); -#22285=PROPERTY_DEFINITION('','',#13107); -#22286=REPRESENTATION('',(#14740),#13704); -#22287=PROPERTY_DEFINITION_REPRESENTATION(#22285,#22286); -#22288=PROPERTY_DEFINITION('','',#13108); -#22289=REPRESENTATION('',(#14740),#13704); -#22290=PROPERTY_DEFINITION_REPRESENTATION(#22288,#22289); -#22291=PROPERTY_DEFINITION('','',#13109); -#22292=REPRESENTATION('',(#14740),#13704); -#22293=PROPERTY_DEFINITION_REPRESENTATION(#22291,#22292); -#22294=PROPERTY_DEFINITION('','',#13110); -#22295=REPRESENTATION('',(#14740),#13704); -#22296=PROPERTY_DEFINITION_REPRESENTATION(#22294,#22295); -#22297=PROPERTY_DEFINITION('','',#13111); -#22298=REPRESENTATION('',(#14740),#13704); -#22299=PROPERTY_DEFINITION_REPRESENTATION(#22297,#22298); -#22300=PROPERTY_DEFINITION('','',#13112); -#22301=REPRESENTATION('',(#14740),#13704); -#22302=PROPERTY_DEFINITION_REPRESENTATION(#22300,#22301); -#22303=PROPERTY_DEFINITION('','',#13113); -#22304=REPRESENTATION('',(#14740),#13704); -#22305=PROPERTY_DEFINITION_REPRESENTATION(#22303,#22304); -#22306=PROPERTY_DEFINITION('','',#13114); -#22307=REPRESENTATION('',(#14740),#13704); -#22308=PROPERTY_DEFINITION_REPRESENTATION(#22306,#22307); -#22309=PROPERTY_DEFINITION('','',#13115); -#22310=REPRESENTATION('',(#14740),#13704); -#22311=PROPERTY_DEFINITION_REPRESENTATION(#22309,#22310); -#22312=PROPERTY_DEFINITION('','',#13116); -#22313=REPRESENTATION('',(#14740),#13704); -#22314=PROPERTY_DEFINITION_REPRESENTATION(#22312,#22313); -#22315=PROPERTY_DEFINITION('','',#13117); -#22316=REPRESENTATION('',(#14740),#13704); -#22317=PROPERTY_DEFINITION_REPRESENTATION(#22315,#22316); -#22318=PROPERTY_DEFINITION('','',#13118); -#22319=REPRESENTATION('',(#14740),#13704); -#22320=PROPERTY_DEFINITION_REPRESENTATION(#22318,#22319); -#22321=PROPERTY_DEFINITION('','',#13119); -#22322=REPRESENTATION('',(#14740),#13704); -#22323=PROPERTY_DEFINITION_REPRESENTATION(#22321,#22322); -#22324=PROPERTY_DEFINITION('','',#13120); -#22325=REPRESENTATION('',(#14740),#13704); -#22326=PROPERTY_DEFINITION_REPRESENTATION(#22324,#22325); -#22327=PROPERTY_DEFINITION('','',#13121); -#22328=REPRESENTATION('',(#14740),#13704); -#22329=PROPERTY_DEFINITION_REPRESENTATION(#22327,#22328); -#22330=PROPERTY_DEFINITION('','',#13122); -#22331=REPRESENTATION('',(#14740),#13704); -#22332=PROPERTY_DEFINITION_REPRESENTATION(#22330,#22331); -#22333=PROPERTY_DEFINITION('','',#13123); -#22334=REPRESENTATION('',(#14740),#13704); -#22335=PROPERTY_DEFINITION_REPRESENTATION(#22333,#22334); -#22336=PROPERTY_DEFINITION('','',#13124); -#22337=REPRESENTATION('',(#14740),#13704); -#22338=PROPERTY_DEFINITION_REPRESENTATION(#22336,#22337); -#22339=PROPERTY_DEFINITION('','',#13125); -#22340=REPRESENTATION('',(#14740),#13704); -#22341=PROPERTY_DEFINITION_REPRESENTATION(#22339,#22340); -#22342=PROPERTY_DEFINITION('','',#13126); -#22343=REPRESENTATION('',(#14740),#13704); -#22344=PROPERTY_DEFINITION_REPRESENTATION(#22342,#22343); -#22345=PROPERTY_DEFINITION('','',#13127); -#22346=REPRESENTATION('',(#14740),#13704); -#22347=PROPERTY_DEFINITION_REPRESENTATION(#22345,#22346); -#22348=PROPERTY_DEFINITION('','',#13128); -#22349=REPRESENTATION('',(#14740),#13704); -#22350=PROPERTY_DEFINITION_REPRESENTATION(#22348,#22349); -#22351=PROPERTY_DEFINITION('','',#13129); -#22352=REPRESENTATION('',(#14740),#13704); -#22353=PROPERTY_DEFINITION_REPRESENTATION(#22351,#22352); -#22354=PROPERTY_DEFINITION('','',#13130); -#22355=REPRESENTATION('',(#14740),#13704); -#22356=PROPERTY_DEFINITION_REPRESENTATION(#22354,#22355); -#22357=PROPERTY_DEFINITION('','',#13131); -#22358=REPRESENTATION('',(#14740),#13704); -#22359=PROPERTY_DEFINITION_REPRESENTATION(#22357,#22358); -#22360=PROPERTY_DEFINITION('','',#13132); -#22361=REPRESENTATION('',(#14740),#13704); -#22362=PROPERTY_DEFINITION_REPRESENTATION(#22360,#22361); -#22363=PROPERTY_DEFINITION('','',#13133); -#22364=REPRESENTATION('',(#14740),#13704); -#22365=PROPERTY_DEFINITION_REPRESENTATION(#22363,#22364); -#22366=PROPERTY_DEFINITION('','',#13134); -#22367=REPRESENTATION('',(#14740),#13704); -#22368=PROPERTY_DEFINITION_REPRESENTATION(#22366,#22367); -#22369=PROPERTY_DEFINITION('','',#13135); -#22370=REPRESENTATION('',(#14740),#13704); -#22371=PROPERTY_DEFINITION_REPRESENTATION(#22369,#22370); -#22372=PROPERTY_DEFINITION('','',#13136); -#22373=REPRESENTATION('',(#14740),#13704); -#22374=PROPERTY_DEFINITION_REPRESENTATION(#22372,#22373); -#22375=PROPERTY_DEFINITION('','',#13137); -#22376=REPRESENTATION('',(#14740),#13704); -#22377=PROPERTY_DEFINITION_REPRESENTATION(#22375,#22376); -#22378=PROPERTY_DEFINITION('','',#13138); -#22379=REPRESENTATION('',(#14740),#13704); -#22380=PROPERTY_DEFINITION_REPRESENTATION(#22378,#22379); -#22381=PROPERTY_DEFINITION('','',#13139); -#22382=REPRESENTATION('',(#14740),#13704); -#22383=PROPERTY_DEFINITION_REPRESENTATION(#22381,#22382); -#22384=PROPERTY_DEFINITION('','',#13140); -#22385=REPRESENTATION('',(#14740),#13704); -#22386=PROPERTY_DEFINITION_REPRESENTATION(#22384,#22385); -#22387=PROPERTY_DEFINITION('','',#13141); -#22388=REPRESENTATION('',(#14740),#13704); -#22389=PROPERTY_DEFINITION_REPRESENTATION(#22387,#22388); -#22390=PROPERTY_DEFINITION('','',#13142); -#22391=REPRESENTATION('',(#14740),#13704); -#22392=PROPERTY_DEFINITION_REPRESENTATION(#22390,#22391); -#22393=PROPERTY_DEFINITION('','',#13143); -#22394=REPRESENTATION('',(#14740),#13704); -#22395=PROPERTY_DEFINITION_REPRESENTATION(#22393,#22394); -#22396=PROPERTY_DEFINITION('','',#13144); -#22397=REPRESENTATION('',(#14740),#13704); -#22398=PROPERTY_DEFINITION_REPRESENTATION(#22396,#22397); -#22399=PROPERTY_DEFINITION('','',#13145); -#22400=REPRESENTATION('',(#14740),#13704); -#22401=PROPERTY_DEFINITION_REPRESENTATION(#22399,#22400); -#22402=PROPERTY_DEFINITION('','',#13146); -#22403=REPRESENTATION('',(#14740),#13704); -#22404=PROPERTY_DEFINITION_REPRESENTATION(#22402,#22403); -#22405=PROPERTY_DEFINITION('','',#13147); -#22406=REPRESENTATION('',(#14740),#13704); -#22407=PROPERTY_DEFINITION_REPRESENTATION(#22405,#22406); -#22408=PROPERTY_DEFINITION('','',#13148); -#22409=REPRESENTATION('',(#14740),#13704); -#22410=PROPERTY_DEFINITION_REPRESENTATION(#22408,#22409); -#22411=PROPERTY_DEFINITION('','',#13149); -#22412=REPRESENTATION('',(#14740),#13704); -#22413=PROPERTY_DEFINITION_REPRESENTATION(#22411,#22412); -#22414=PROPERTY_DEFINITION('','',#13150); -#22415=REPRESENTATION('',(#14740),#13704); -#22416=PROPERTY_DEFINITION_REPRESENTATION(#22414,#22415); -#22417=PROPERTY_DEFINITION('','',#13151); -#22418=REPRESENTATION('',(#14740),#13704); -#22419=PROPERTY_DEFINITION_REPRESENTATION(#22417,#22418); -#22420=PROPERTY_DEFINITION('','',#13152); -#22421=REPRESENTATION('',(#14740),#13704); -#22422=PROPERTY_DEFINITION_REPRESENTATION(#22420,#22421); -#22423=PROPERTY_DEFINITION('','',#13153); -#22424=REPRESENTATION('',(#14740),#13704); -#22425=PROPERTY_DEFINITION_REPRESENTATION(#22423,#22424); -#22426=PROPERTY_DEFINITION('','',#13154); -#22427=REPRESENTATION('',(#14740),#13704); -#22428=PROPERTY_DEFINITION_REPRESENTATION(#22426,#22427); -#22429=PROPERTY_DEFINITION('','',#13155); -#22430=REPRESENTATION('',(#14740),#13704); -#22431=PROPERTY_DEFINITION_REPRESENTATION(#22429,#22430); -#22432=PROPERTY_DEFINITION('','',#13156); -#22433=REPRESENTATION('',(#14740),#13704); -#22434=PROPERTY_DEFINITION_REPRESENTATION(#22432,#22433); -#22435=PROPERTY_DEFINITION('','',#13157); -#22436=REPRESENTATION('',(#14740),#13704); -#22437=PROPERTY_DEFINITION_REPRESENTATION(#22435,#22436); -#22438=PROPERTY_DEFINITION('','',#13158); -#22439=REPRESENTATION('',(#14740),#13704); -#22440=PROPERTY_DEFINITION_REPRESENTATION(#22438,#22439); -#22441=PROPERTY_DEFINITION('','',#13159); -#22442=REPRESENTATION('',(#14740),#13704); -#22443=PROPERTY_DEFINITION_REPRESENTATION(#22441,#22442); -#22444=PROPERTY_DEFINITION('','',#13160); -#22445=REPRESENTATION('',(#14740),#13704); -#22446=PROPERTY_DEFINITION_REPRESENTATION(#22444,#22445); -#22447=PROPERTY_DEFINITION('','',#13161); -#22448=REPRESENTATION('',(#14740),#13704); -#22449=PROPERTY_DEFINITION_REPRESENTATION(#22447,#22448); -#22450=PROPERTY_DEFINITION('','',#13162); -#22451=REPRESENTATION('',(#14740),#13704); -#22452=PROPERTY_DEFINITION_REPRESENTATION(#22450,#22451); -#22453=PROPERTY_DEFINITION('','',#13163); -#22454=REPRESENTATION('',(#14740),#13704); -#22455=PROPERTY_DEFINITION_REPRESENTATION(#22453,#22454); -#22456=PROPERTY_DEFINITION('','',#13164); -#22457=REPRESENTATION('',(#14740),#13704); -#22458=PROPERTY_DEFINITION_REPRESENTATION(#22456,#22457); -#22459=PROPERTY_DEFINITION('','',#13165); -#22460=REPRESENTATION('',(#14740),#13704); -#22461=PROPERTY_DEFINITION_REPRESENTATION(#22459,#22460); -#22462=PROPERTY_DEFINITION('','',#13166); -#22463=REPRESENTATION('',(#14740),#13704); -#22464=PROPERTY_DEFINITION_REPRESENTATION(#22462,#22463); -#22465=PROPERTY_DEFINITION('','',#13167); -#22466=REPRESENTATION('',(#14740),#13704); -#22467=PROPERTY_DEFINITION_REPRESENTATION(#22465,#22466); -#22468=PROPERTY_DEFINITION('','',#13168); -#22469=REPRESENTATION('',(#14740),#13704); -#22470=PROPERTY_DEFINITION_REPRESENTATION(#22468,#22469); -#22471=PROPERTY_DEFINITION('','',#13169); -#22472=REPRESENTATION('',(#14740),#13704); -#22473=PROPERTY_DEFINITION_REPRESENTATION(#22471,#22472); -#22474=PROPERTY_DEFINITION('','',#13170); -#22475=REPRESENTATION('',(#14740),#13704); -#22476=PROPERTY_DEFINITION_REPRESENTATION(#22474,#22475); -#22477=PROPERTY_DEFINITION('','',#13171); -#22478=REPRESENTATION('',(#14740),#13704); -#22479=PROPERTY_DEFINITION_REPRESENTATION(#22477,#22478); -#22480=PROPERTY_DEFINITION('','',#13172); -#22481=REPRESENTATION('',(#14740),#13704); -#22482=PROPERTY_DEFINITION_REPRESENTATION(#22480,#22481); -#22483=PROPERTY_DEFINITION('','',#13173); -#22484=REPRESENTATION('',(#14740),#13704); -#22485=PROPERTY_DEFINITION_REPRESENTATION(#22483,#22484); -#22486=PROPERTY_DEFINITION('','',#13174); -#22487=REPRESENTATION('',(#14740),#13704); -#22488=PROPERTY_DEFINITION_REPRESENTATION(#22486,#22487); -#22489=PROPERTY_DEFINITION('','',#13175); -#22490=REPRESENTATION('',(#14740),#13704); -#22491=PROPERTY_DEFINITION_REPRESENTATION(#22489,#22490); -#22492=PROPERTY_DEFINITION('','',#13176); -#22493=REPRESENTATION('',(#14740),#13704); -#22494=PROPERTY_DEFINITION_REPRESENTATION(#22492,#22493); -#22495=PROPERTY_DEFINITION('','',#13177); -#22496=REPRESENTATION('',(#14740),#13704); -#22497=PROPERTY_DEFINITION_REPRESENTATION(#22495,#22496); -#22498=PROPERTY_DEFINITION('','',#13178); -#22499=REPRESENTATION('',(#14740),#13704); -#22500=PROPERTY_DEFINITION_REPRESENTATION(#22498,#22499); -#22501=PROPERTY_DEFINITION('','',#13179); -#22502=REPRESENTATION('',(#14740),#13704); -#22503=PROPERTY_DEFINITION_REPRESENTATION(#22501,#22502); -#22504=PROPERTY_DEFINITION('','',#13180); -#22505=REPRESENTATION('',(#14740),#13704); -#22506=PROPERTY_DEFINITION_REPRESENTATION(#22504,#22505); -#22507=PROPERTY_DEFINITION('','',#13181); -#22508=REPRESENTATION('',(#14740),#13704); -#22509=PROPERTY_DEFINITION_REPRESENTATION(#22507,#22508); -#22510=PROPERTY_DEFINITION('','',#13182); -#22511=REPRESENTATION('',(#14740),#13704); -#22512=PROPERTY_DEFINITION_REPRESENTATION(#22510,#22511); -#22513=PROPERTY_DEFINITION('','',#13183); -#22514=REPRESENTATION('',(#14740),#13704); -#22515=PROPERTY_DEFINITION_REPRESENTATION(#22513,#22514); -#22516=PROPERTY_DEFINITION('','',#13184); -#22517=REPRESENTATION('',(#14740),#13704); -#22518=PROPERTY_DEFINITION_REPRESENTATION(#22516,#22517); -#22519=PROPERTY_DEFINITION('','',#13185); -#22520=REPRESENTATION('',(#14740),#13704); -#22521=PROPERTY_DEFINITION_REPRESENTATION(#22519,#22520); -#22522=PROPERTY_DEFINITION('','',#13186); -#22523=REPRESENTATION('',(#14740),#13704); -#22524=PROPERTY_DEFINITION_REPRESENTATION(#22522,#22523); -#22525=PROPERTY_DEFINITION('','',#13187); -#22526=REPRESENTATION('',(#14740),#13704); -#22527=PROPERTY_DEFINITION_REPRESENTATION(#22525,#22526); -#22528=PROPERTY_DEFINITION('','',#13188); -#22529=REPRESENTATION('',(#14740),#13704); -#22530=PROPERTY_DEFINITION_REPRESENTATION(#22528,#22529); -#22531=PROPERTY_DEFINITION('','',#13189); -#22532=REPRESENTATION('',(#14740),#13704); -#22533=PROPERTY_DEFINITION_REPRESENTATION(#22531,#22532); -#22534=PROPERTY_DEFINITION('','',#13190); -#22535=REPRESENTATION('',(#14740),#13704); -#22536=PROPERTY_DEFINITION_REPRESENTATION(#22534,#22535); -#22537=PROPERTY_DEFINITION('','',#13191); -#22538=REPRESENTATION('',(#14740),#13704); -#22539=PROPERTY_DEFINITION_REPRESENTATION(#22537,#22538); -#22540=PROPERTY_DEFINITION('','',#13192); -#22541=REPRESENTATION('',(#14740),#13704); -#22542=PROPERTY_DEFINITION_REPRESENTATION(#22540,#22541); -#22543=PROPERTY_DEFINITION('','',#13193); -#22544=REPRESENTATION('',(#14740),#13704); -#22545=PROPERTY_DEFINITION_REPRESENTATION(#22543,#22544); -#22546=PROPERTY_DEFINITION('','',#13194); -#22547=REPRESENTATION('',(#14740),#13704); -#22548=PROPERTY_DEFINITION_REPRESENTATION(#22546,#22547); -#22549=PROPERTY_DEFINITION('','',#13195); -#22550=REPRESENTATION('',(#14740),#13704); -#22551=PROPERTY_DEFINITION_REPRESENTATION(#22549,#22550); -#22552=PROPERTY_DEFINITION('','',#13196); -#22553=REPRESENTATION('',(#14740),#13704); -#22554=PROPERTY_DEFINITION_REPRESENTATION(#22552,#22553); -#22555=PROPERTY_DEFINITION('','',#13197); -#22556=REPRESENTATION('',(#14740),#13704); -#22557=PROPERTY_DEFINITION_REPRESENTATION(#22555,#22556); -#22558=PROPERTY_DEFINITION('','',#13198); -#22559=REPRESENTATION('',(#14740),#13704); -#22560=PROPERTY_DEFINITION_REPRESENTATION(#22558,#22559); -#22561=PROPERTY_DEFINITION('','',#13199); -#22562=REPRESENTATION('',(#14740),#13704); -#22563=PROPERTY_DEFINITION_REPRESENTATION(#22561,#22562); -#22564=PROPERTY_DEFINITION('','',#13200); -#22565=REPRESENTATION('',(#14740),#13704); -#22566=PROPERTY_DEFINITION_REPRESENTATION(#22564,#22565); -#22567=PROPERTY_DEFINITION('','',#13201); -#22568=REPRESENTATION('',(#14740),#13704); -#22569=PROPERTY_DEFINITION_REPRESENTATION(#22567,#22568); -#22570=PROPERTY_DEFINITION('','',#13202); -#22571=REPRESENTATION('',(#14740),#13704); -#22572=PROPERTY_DEFINITION_REPRESENTATION(#22570,#22571); -#22573=PROPERTY_DEFINITION('','',#13203); -#22574=REPRESENTATION('',(#14740),#13704); -#22575=PROPERTY_DEFINITION_REPRESENTATION(#22573,#22574); -#22576=PROPERTY_DEFINITION('','',#13204); -#22577=REPRESENTATION('',(#14740),#13704); -#22578=PROPERTY_DEFINITION_REPRESENTATION(#22576,#22577); -#22579=PROPERTY_DEFINITION('','',#13205); -#22580=REPRESENTATION('',(#14740),#13704); -#22581=PROPERTY_DEFINITION_REPRESENTATION(#22579,#22580); -#22582=PROPERTY_DEFINITION('','',#13206); -#22583=REPRESENTATION('',(#14740),#13704); -#22584=PROPERTY_DEFINITION_REPRESENTATION(#22582,#22583); -#22585=PROPERTY_DEFINITION('','',#13207); -#22586=REPRESENTATION('',(#14740),#13704); -#22587=PROPERTY_DEFINITION_REPRESENTATION(#22585,#22586); -#22588=PROPERTY_DEFINITION('','',#13208); -#22589=REPRESENTATION('',(#14740),#13704); -#22590=PROPERTY_DEFINITION_REPRESENTATION(#22588,#22589); -#22591=PROPERTY_DEFINITION('','',#13209); -#22592=REPRESENTATION('',(#14740),#13704); -#22593=PROPERTY_DEFINITION_REPRESENTATION(#22591,#22592); -#22594=PROPERTY_DEFINITION('','',#13210); -#22595=REPRESENTATION('',(#14740),#13704); -#22596=PROPERTY_DEFINITION_REPRESENTATION(#22594,#22595); -#22597=PROPERTY_DEFINITION('','',#13211); -#22598=REPRESENTATION('',(#14740),#13704); -#22599=PROPERTY_DEFINITION_REPRESENTATION(#22597,#22598); -#22600=PROPERTY_DEFINITION('','',#13212); -#22601=REPRESENTATION('',(#14740),#13704); -#22602=PROPERTY_DEFINITION_REPRESENTATION(#22600,#22601); -#22603=PROPERTY_DEFINITION('','',#13213); -#22604=REPRESENTATION('',(#14740),#13704); -#22605=PROPERTY_DEFINITION_REPRESENTATION(#22603,#22604); -#22606=PROPERTY_DEFINITION('','',#13214); -#22607=REPRESENTATION('',(#14740),#13704); -#22608=PROPERTY_DEFINITION_REPRESENTATION(#22606,#22607); -#22609=PROPERTY_DEFINITION('','',#13215); -#22610=REPRESENTATION('',(#14740),#13704); -#22611=PROPERTY_DEFINITION_REPRESENTATION(#22609,#22610); -#22612=PROPERTY_DEFINITION('','',#13216); -#22613=REPRESENTATION('',(#14740),#13704); -#22614=PROPERTY_DEFINITION_REPRESENTATION(#22612,#22613); -#22615=PROPERTY_DEFINITION('','',#13217); -#22616=REPRESENTATION('',(#14740),#13704); -#22617=PROPERTY_DEFINITION_REPRESENTATION(#22615,#22616); -#22618=PROPERTY_DEFINITION('','',#13218); -#22619=REPRESENTATION('',(#14740),#13704); -#22620=PROPERTY_DEFINITION_REPRESENTATION(#22618,#22619); -#22621=PROPERTY_DEFINITION('','',#13219); -#22622=REPRESENTATION('',(#14740),#13704); -#22623=PROPERTY_DEFINITION_REPRESENTATION(#22621,#22622); -#22624=PROPERTY_DEFINITION('','',#13220); -#22625=REPRESENTATION('',(#14740),#13704); -#22626=PROPERTY_DEFINITION_REPRESENTATION(#22624,#22625); -#22627=PROPERTY_DEFINITION('','',#13221); -#22628=REPRESENTATION('',(#14740),#13704); -#22629=PROPERTY_DEFINITION_REPRESENTATION(#22627,#22628); -#22630=PROPERTY_DEFINITION('','',#13222); -#22631=REPRESENTATION('',(#14740),#13704); -#22632=PROPERTY_DEFINITION_REPRESENTATION(#22630,#22631); -#22633=PROPERTY_DEFINITION('','',#13223); -#22634=REPRESENTATION('',(#14740),#13704); -#22635=PROPERTY_DEFINITION_REPRESENTATION(#22633,#22634); -#22636=PROPERTY_DEFINITION('','',#13224); -#22637=REPRESENTATION('',(#14740),#13704); -#22638=PROPERTY_DEFINITION_REPRESENTATION(#22636,#22637); -#22639=PROPERTY_DEFINITION('','',#13225); -#22640=REPRESENTATION('',(#14740),#13704); -#22641=PROPERTY_DEFINITION_REPRESENTATION(#22639,#22640); -#22642=PROPERTY_DEFINITION('','',#13226); -#22643=REPRESENTATION('',(#14740),#13704); -#22644=PROPERTY_DEFINITION_REPRESENTATION(#22642,#22643); -#22645=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2205,#2545); -#22646=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2206,#2557); -#22647=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2247,#2569); -#22648=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2249,#2573); -#22649=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2251,#2577); -#22650=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2253,#2581); -#22651=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2255,#2585); -#22652=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2257,#2589); -#22653=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2259,#2593); -#22654=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2222,#2606); -#22655=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2224,#2619); -#22656=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2226,#2632); -#22657=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2228,#2636); -#22658=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2230,#2640); -#22659=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2232,#2644); -#22660=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2234,#2648); -#22661=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2236,#2652); -#22662=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2238,#2656); -#22663=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2240,#2660); -#22664=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2242,#2664); -#22665=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2244,#2668); -#22666=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2205,#2703); -#22667=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2206,#2715); -#22668=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2247,#2727); -#22669=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2249,#2731); -#22670=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2251,#2735); -#22671=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2253,#2739); -#22672=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2255,#2743); -#22673=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2257,#2747); -#22674=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2259,#2751); -#22675=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2222,#2764); -#22676=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2224,#2777); -#22677=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2226,#2790); -#22678=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2228,#2794); -#22679=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2230,#2798); -#22680=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2232,#2802); -#22681=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2234,#2806); -#22682=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2236,#2810); -#22683=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2238,#2814); -#22684=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2240,#2818); -#22685=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2242,#2822); -#22686=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2244,#2826); -#22687=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2205,#2861); -#22688=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2206,#2873); -#22689=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2247,#2885); -#22690=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2249,#2889); -#22691=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2251,#2893); -#22692=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2253,#2897); -#22693=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2255,#2901); -#22694=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2257,#2905); -#22695=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2259,#2909); -#22696=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2222,#2922); -#22697=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2224,#2935); -#22698=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2226,#2948); -#22699=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2228,#2952); -#22700=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2230,#2956); -#22701=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2232,#2960); -#22702=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2234,#2964); -#22703=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2236,#2968); -#22704=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2238,#2972); -#22705=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2240,#2976); -#22706=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2242,#2980); -#22707=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2244,#2984); -#22708=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2205,#3019); -#22709=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2206,#3031); -#22710=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2247,#3043); -#22711=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2249,#3047); -#22712=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2251,#3051); -#22713=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2253,#3055); -#22714=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2255,#3059); -#22715=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2257,#3063); -#22716=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2259,#3067); -#22717=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2222,#3080); -#22718=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2224,#3093); -#22719=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2226,#3106); -#22720=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2228,#3110); -#22721=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2230,#3114); -#22722=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2232,#3118); -#22723=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2234,#3122); -#22724=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2236,#3126); -#22725=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2238,#3130); -#22726=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2240,#3134); -#22727=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2242,#3138); -#22728=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2244,#3142); -#22729=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2205,#3173); -#22730=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2206,#3185); -#22731=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2247,#3197); -#22732=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2249,#3201); -#22733=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2251,#3205); -#22734=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2253,#3209); -#22735=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2255,#3213); -#22736=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2257,#3217); -#22737=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2259,#3221); -#22738=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2222,#3234); -#22739=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2224,#3247); -#22740=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2226,#3260); -#22741=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2228,#3264); -#22742=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2230,#3268); -#22743=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2232,#3272); -#22744=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2234,#3276); -#22745=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2236,#3280); -#22746=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2238,#3284); -#22747=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2240,#3288); -#22748=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2242,#3292); -#22749=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2244,#3296); -#22750=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2205,#3327); -#22751=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2206,#3339); -#22752=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2247,#3351); -#22753=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2249,#3355); -#22754=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2251,#3359); -#22755=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2253,#3363); -#22756=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2255,#3367); -#22757=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2257,#3371); -#22758=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2259,#3375); -#22759=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2222,#3388); -#22760=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2224,#3401); -#22761=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2226,#3414); -#22762=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2228,#3418); -#22763=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2230,#3422); -#22764=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2232,#3426); -#22765=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2234,#3430); -#22766=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2236,#3434); -#22767=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2238,#3438); -#22768=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2240,#3442); -#22769=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2242,#3446); -#22770=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2244,#3450); -#22771=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2205,#3485); -#22772=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2206,#3497); -#22773=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2247,#3509); -#22774=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2249,#3513); -#22775=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2251,#3517); -#22776=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2253,#3521); -#22777=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2255,#3525); -#22778=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2257,#3529); -#22779=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2259,#3533); -#22780=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2222,#3546); -#22781=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2224,#3559); -#22782=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2226,#3572); -#22783=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2228,#3576); -#22784=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2230,#3580); -#22785=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2232,#3584); -#22786=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2234,#3588); -#22787=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2236,#3592); -#22788=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2238,#3596); -#22789=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2240,#3600); -#22790=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2242,#3604); -#22791=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2244,#3608); -#22792=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2205,#3643); -#22793=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2206,#3655); -#22794=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2247,#3667); -#22795=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2249,#3671); -#22796=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2251,#3675); -#22797=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2253,#3679); -#22798=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2255,#3683); -#22799=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2257,#3687); -#22800=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2259,#3691); -#22801=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2222,#3704); -#22802=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2224,#3717); -#22803=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2226,#3730); -#22804=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2228,#3734); -#22805=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2230,#3738); -#22806=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2232,#3742); -#22807=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2234,#3746); -#22808=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2236,#3750); -#22809=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2238,#3754); -#22810=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2240,#3758); -#22811=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2242,#3762); -#22812=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2244,#3766); -#22813=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2205,#3797); -#22814=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2206,#3809); -#22815=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2247,#3821); -#22816=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2249,#3825); -#22817=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2251,#3829); -#22818=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2253,#3833); -#22819=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2255,#3837); -#22820=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2257,#3841); -#22821=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2259,#3845); -#22822=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2222,#3858); -#22823=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2224,#3871); -#22824=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2226,#3884); -#22825=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2228,#3888); -#22826=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2230,#3892); -#22827=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2232,#3896); -#22828=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2234,#3900); -#22829=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2236,#3904); -#22830=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2238,#3908); -#22831=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2240,#3912); -#22832=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2242,#3916); -#22833=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2244,#3920); -#22834=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2205,#3955); -#22835=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2206,#3967); -#22836=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2247,#3979); -#22837=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2249,#3983); -#22838=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2251,#3987); -#22839=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2253,#3991); -#22840=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2255,#3995); -#22841=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2257,#3999); -#22842=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2259,#4003); -#22843=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2222,#4016); -#22844=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2224,#4029); -#22845=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2226,#4042); -#22846=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2228,#4046); -#22847=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2230,#4050); -#22848=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2232,#4054); -#22849=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2234,#4058); -#22850=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2236,#4062); -#22851=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2238,#4066); -#22852=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2240,#4070); -#22853=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2242,#4074); -#22854=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2244,#4078); -#22855=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2205,#4113); -#22856=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2247,#4125); -#22857=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2249,#4129); -#22858=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2251,#4133); -#22859=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2253,#4137); -#22860=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2255,#4141); -#22861=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2257,#4145); -#22862=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2259,#4149); -#22863=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2222,#4162); -#22864=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#2224,#4175); -#22865=PROPERTY_DEFINITION('stratum thickness',$,#2208); -#22866=PROPERTY_DEFINITION_REPRESENTATION(#22865,#2209); -#22867=PROPERTY_DEFINITION('layer position','internal',#2208); -#22868=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2516); -#22869=SHAPE_DEFINITION_REPRESENTATION(#2515,#2516); -#22870=REPRESENTATION_RELATIONSHIP('',$,#2516,#14962); -#22871=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2678); -#22872=SHAPE_DEFINITION_REPRESENTATION(#2677,#2678); -#22873=REPRESENTATION_RELATIONSHIP('',$,#2678,#14962); -#22874=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2836); -#22875=SHAPE_DEFINITION_REPRESENTATION(#2835,#2836); -#22876=REPRESENTATION_RELATIONSHIP('',$,#2836,#14962); -#22877=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2994); -#22878=SHAPE_DEFINITION_REPRESENTATION(#2993,#2994); -#22879=REPRESENTATION_RELATIONSHIP('',$,#2994,#14962); -#22880=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#3152); -#22881=SHAPE_DEFINITION_REPRESENTATION(#3151,#3152); -#22882=REPRESENTATION_RELATIONSHIP('',$,#3152,#14962); -#22883=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#3306); -#22884=SHAPE_DEFINITION_REPRESENTATION(#3305,#3306); -#22885=REPRESENTATION_RELATIONSHIP('',$,#3306,#14962); -#22886=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#3460); -#22887=SHAPE_DEFINITION_REPRESENTATION(#3459,#3460); -#22888=REPRESENTATION_RELATIONSHIP('',$,#3460,#14962); -#22889=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#3618); -#22890=SHAPE_DEFINITION_REPRESENTATION(#3617,#3618); -#22891=REPRESENTATION_RELATIONSHIP('',$,#3618,#14962); -#22892=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#3776); -#22893=SHAPE_DEFINITION_REPRESENTATION(#3775,#3776); -#22894=REPRESENTATION_RELATIONSHIP('',$,#3776,#14962); -#22895=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#3930); -#22896=SHAPE_DEFINITION_REPRESENTATION(#3929,#3930); -#22897=REPRESENTATION_RELATIONSHIP('',$,#3930,#14962); -#22898=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#4102); -#22899=SHAPE_DEFINITION_REPRESENTATION(#4101,#4102); -#22900=REPRESENTATION_RELATIONSHIP('',$,#4102,#14962); -#22901=PRODUCT_CONTEXT('template model',#13318,''); -#22902=REPRESENTATION_MAP(#26,#309); -#22903=PRODUCT_DEFINITION_SHAPE('',$,#314); -#22904=SHAPE_DEFINITION_REPRESENTATION(#22903,#22905); -#22905=SHAPE_REPRESENTATION('',(#315),#22906); -#22906=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#22907=REPRESENTATION_MAP(#26,#356); -#22908=PRODUCT_DEFINITION_SHAPE('',$,#361); -#22909=SHAPE_DEFINITION_REPRESENTATION(#22908,#22910); -#22910=SHAPE_REPRESENTATION('',(#362),#22906); -#22911=REPRESENTATION_MAP(#26,#369); -#22912=PRODUCT_DEFINITION_SHAPE('',$,#374); -#22913=SHAPE_DEFINITION_REPRESENTATION(#22912,#22914); -#22914=SHAPE_REPRESENTATION('',(#375),#22906); -#22915=REPRESENTATION_MAP(#26,#415); -#22916=PRODUCT_DEFINITION_SHAPE('',$,#420); -#22917=SHAPE_DEFINITION_REPRESENTATION(#22916,#22918); -#22918=SHAPE_REPRESENTATION('',(#421),#22906); -#22919=REPRESENTATION_MAP(#26,#1825); -#22920=PRODUCT_DEFINITION_SHAPE('',$,#1830); -#22921=SHAPE_DEFINITION_REPRESENTATION(#22920,#22922); -#22922=SHAPE_REPRESENTATION('',(#1831),#22906); -#22923=REPRESENTATION_MAP(#26,#1968); -#22924=PRODUCT_DEFINITION_SHAPE('',$,#1973); -#22925=SHAPE_DEFINITION_REPRESENTATION(#22924,#22926); -#22926=SHAPE_REPRESENTATION('',(#1974),#22906); -#22927=REPRESENTATION_MAP(#26,#2170); -#22928=PRODUCT_DEFINITION_SHAPE('',$,#2175); -#22929=SHAPE_DEFINITION_REPRESENTATION(#22928,#22930); -#22930=SHAPE_REPRESENTATION('',(#2176),#22906); -#22931=PRODUCT_DEFINITION_SHAPE('',$,#2536); -#22932=SHAPE_DEFINITION_REPRESENTATION(#22931,#22933); -#22933=SHAPE_REPRESENTATION('',(#2537),#22906); -#22934=REPRESENTATION_MAP(#26,#2543); -#22935=PRODUCT_DEFINITION_SHAPE('',$,#2545); -#22936=SHAPE_DEFINITION_REPRESENTATION(#22935,#22937); -#22937=SHAPE_REPRESENTATION('',(#2546),#22906); -#22938=REPRESENTATION_MAP(#26,#2555); -#22939=PRODUCT_DEFINITION_SHAPE('',$,#2557); -#22940=SHAPE_DEFINITION_REPRESENTATION(#22939,#22941); -#22941=SHAPE_REPRESENTATION('',(#2558),#22906); -#22942=REPRESENTATION_MAP(#26,#2567); -#22943=PRODUCT_DEFINITION_SHAPE('',$,#2569); -#22944=SHAPE_DEFINITION_REPRESENTATION(#22943,#22945); -#22945=SHAPE_REPRESENTATION('',(#2570),#22906); -#22946=PRODUCT_DEFINITION_SHAPE('',$,#2573); -#22947=SHAPE_DEFINITION_REPRESENTATION(#22946,#22948); -#22948=SHAPE_REPRESENTATION('',(#2574),#22906); -#22949=PRODUCT_DEFINITION_SHAPE('',$,#2577); -#22950=SHAPE_DEFINITION_REPRESENTATION(#22949,#22951); -#22951=SHAPE_REPRESENTATION('',(#2578),#22906); -#22952=PRODUCT_DEFINITION_SHAPE('',$,#2581); -#22953=SHAPE_DEFINITION_REPRESENTATION(#22952,#22954); -#22954=SHAPE_REPRESENTATION('',(#2582),#22906); -#22955=PRODUCT_DEFINITION_SHAPE('',$,#2585); -#22956=SHAPE_DEFINITION_REPRESENTATION(#22955,#22957); -#22957=SHAPE_REPRESENTATION('',(#2586),#22906); -#22958=PRODUCT_DEFINITION_SHAPE('',$,#2589); -#22959=SHAPE_DEFINITION_REPRESENTATION(#22958,#22960); -#22960=SHAPE_REPRESENTATION('',(#2590),#22906); -#22961=PRODUCT_DEFINITION_SHAPE('',$,#2593); -#22962=SHAPE_DEFINITION_REPRESENTATION(#22961,#22963); -#22963=SHAPE_REPRESENTATION('',(#2594),#22906); -#22964=REPRESENTATION_MAP(#26,#2603); -#22965=PRODUCT_DEFINITION_SHAPE('',$,#2606); -#22966=SHAPE_DEFINITION_REPRESENTATION(#22965,#22967); -#22967=SHAPE_REPRESENTATION('',(#2607),#22906); -#22968=REPRESENTATION_MAP(#26,#2616); -#22969=PRODUCT_DEFINITION_SHAPE('',$,#2619); -#22970=SHAPE_DEFINITION_REPRESENTATION(#22969,#22971); -#22971=SHAPE_REPRESENTATION('',(#2620),#22906); -#22972=REPRESENTATION_MAP(#26,#2629); -#22973=PRODUCT_DEFINITION_SHAPE('',$,#2632); -#22974=SHAPE_DEFINITION_REPRESENTATION(#22973,#22975); -#22975=SHAPE_REPRESENTATION('',(#2633),#22906); -#22976=PRODUCT_DEFINITION_SHAPE('',$,#2636); -#22977=SHAPE_DEFINITION_REPRESENTATION(#22976,#22978); -#22978=SHAPE_REPRESENTATION('',(#2637),#22906); -#22979=PRODUCT_DEFINITION_SHAPE('',$,#2640); -#22980=SHAPE_DEFINITION_REPRESENTATION(#22979,#22981); -#22981=SHAPE_REPRESENTATION('',(#2641),#22906); -#22982=PRODUCT_DEFINITION_SHAPE('',$,#2644); -#22983=SHAPE_DEFINITION_REPRESENTATION(#22982,#22984); -#22984=SHAPE_REPRESENTATION('',(#2645),#22906); -#22985=PRODUCT_DEFINITION_SHAPE('',$,#2648); -#22986=SHAPE_DEFINITION_REPRESENTATION(#22985,#22987); -#22987=SHAPE_REPRESENTATION('',(#2649),#22906); -#22988=PRODUCT_DEFINITION_SHAPE('',$,#2652); -#22989=SHAPE_DEFINITION_REPRESENTATION(#22988,#22990); -#22990=SHAPE_REPRESENTATION('',(#2653),#22906); -#22991=PRODUCT_DEFINITION_SHAPE('',$,#2656); -#22992=SHAPE_DEFINITION_REPRESENTATION(#22991,#22993); -#22993=SHAPE_REPRESENTATION('',(#2657),#22906); -#22994=PRODUCT_DEFINITION_SHAPE('',$,#2660); -#22995=SHAPE_DEFINITION_REPRESENTATION(#22994,#22996); -#22996=SHAPE_REPRESENTATION('',(#2661),#22906); -#22997=PRODUCT_DEFINITION_SHAPE('',$,#2664); -#22998=SHAPE_DEFINITION_REPRESENTATION(#22997,#22999); -#22999=SHAPE_REPRESENTATION('',(#2665),#22906); -#23000=PRODUCT_DEFINITION_SHAPE('',$,#2668); -#23001=SHAPE_DEFINITION_REPRESENTATION(#23000,#23002); -#23002=SHAPE_REPRESENTATION('',(#2669),#22906); -#23003=PRODUCT_DEFINITION_SHAPE('',$,#2694); -#23004=SHAPE_DEFINITION_REPRESENTATION(#23003,#23005); -#23005=SHAPE_REPRESENTATION('',(#2695),#22906); -#23006=REPRESENTATION_MAP(#26,#2701); -#23007=PRODUCT_DEFINITION_SHAPE('',$,#2703); -#23008=SHAPE_DEFINITION_REPRESENTATION(#23007,#23009); -#23009=SHAPE_REPRESENTATION('',(#2704),#22906); -#23010=REPRESENTATION_MAP(#26,#2713); -#23011=PRODUCT_DEFINITION_SHAPE('',$,#2715); -#23012=SHAPE_DEFINITION_REPRESENTATION(#23011,#23013); -#23013=SHAPE_REPRESENTATION('',(#2716),#22906); -#23014=REPRESENTATION_MAP(#26,#2725); -#23015=PRODUCT_DEFINITION_SHAPE('',$,#2727); -#23016=SHAPE_DEFINITION_REPRESENTATION(#23015,#23017); -#23017=SHAPE_REPRESENTATION('',(#2728),#22906); -#23018=PRODUCT_DEFINITION_SHAPE('',$,#2731); -#23019=SHAPE_DEFINITION_REPRESENTATION(#23018,#23020); -#23020=SHAPE_REPRESENTATION('',(#2732),#22906); -#23021=PRODUCT_DEFINITION_SHAPE('',$,#2735); -#23022=SHAPE_DEFINITION_REPRESENTATION(#23021,#23023); -#23023=SHAPE_REPRESENTATION('',(#2736),#22906); -#23024=PRODUCT_DEFINITION_SHAPE('',$,#2739); -#23025=SHAPE_DEFINITION_REPRESENTATION(#23024,#23026); -#23026=SHAPE_REPRESENTATION('',(#2740),#22906); -#23027=PRODUCT_DEFINITION_SHAPE('',$,#2743); -#23028=SHAPE_DEFINITION_REPRESENTATION(#23027,#23029); -#23029=SHAPE_REPRESENTATION('',(#2744),#22906); -#23030=PRODUCT_DEFINITION_SHAPE('',$,#2747); -#23031=SHAPE_DEFINITION_REPRESENTATION(#23030,#23032); -#23032=SHAPE_REPRESENTATION('',(#2748),#22906); -#23033=PRODUCT_DEFINITION_SHAPE('',$,#2751); -#23034=SHAPE_DEFINITION_REPRESENTATION(#23033,#23035); -#23035=SHAPE_REPRESENTATION('',(#2752),#22906); -#23036=REPRESENTATION_MAP(#26,#2761); -#23037=PRODUCT_DEFINITION_SHAPE('',$,#2764); -#23038=SHAPE_DEFINITION_REPRESENTATION(#23037,#23039); -#23039=SHAPE_REPRESENTATION('',(#2765),#22906); -#23040=REPRESENTATION_MAP(#26,#2774); -#23041=PRODUCT_DEFINITION_SHAPE('',$,#2777); -#23042=SHAPE_DEFINITION_REPRESENTATION(#23041,#23043); -#23043=SHAPE_REPRESENTATION('',(#2778),#22906); -#23044=REPRESENTATION_MAP(#26,#2787); -#23045=PRODUCT_DEFINITION_SHAPE('',$,#2790); -#23046=SHAPE_DEFINITION_REPRESENTATION(#23045,#23047); -#23047=SHAPE_REPRESENTATION('',(#2791),#22906); -#23048=PRODUCT_DEFINITION_SHAPE('',$,#2794); -#23049=SHAPE_DEFINITION_REPRESENTATION(#23048,#23050); -#23050=SHAPE_REPRESENTATION('',(#2795),#22906); -#23051=PRODUCT_DEFINITION_SHAPE('',$,#2798); -#23052=SHAPE_DEFINITION_REPRESENTATION(#23051,#23053); -#23053=SHAPE_REPRESENTATION('',(#2799),#22906); -#23054=PRODUCT_DEFINITION_SHAPE('',$,#2802); -#23055=SHAPE_DEFINITION_REPRESENTATION(#23054,#23056); -#23056=SHAPE_REPRESENTATION('',(#2803),#22906); -#23057=PRODUCT_DEFINITION_SHAPE('',$,#2806); -#23058=SHAPE_DEFINITION_REPRESENTATION(#23057,#23059); -#23059=SHAPE_REPRESENTATION('',(#2807),#22906); -#23060=PRODUCT_DEFINITION_SHAPE('',$,#2810); -#23061=SHAPE_DEFINITION_REPRESENTATION(#23060,#23062); -#23062=SHAPE_REPRESENTATION('',(#2811),#22906); -#23063=PRODUCT_DEFINITION_SHAPE('',$,#2814); -#23064=SHAPE_DEFINITION_REPRESENTATION(#23063,#23065); -#23065=SHAPE_REPRESENTATION('',(#2815),#22906); -#23066=PRODUCT_DEFINITION_SHAPE('',$,#2818); -#23067=SHAPE_DEFINITION_REPRESENTATION(#23066,#23068); -#23068=SHAPE_REPRESENTATION('',(#2819),#22906); -#23069=PRODUCT_DEFINITION_SHAPE('',$,#2822); -#23070=SHAPE_DEFINITION_REPRESENTATION(#23069,#23071); -#23071=SHAPE_REPRESENTATION('',(#2823),#22906); -#23072=PRODUCT_DEFINITION_SHAPE('',$,#2826); -#23073=SHAPE_DEFINITION_REPRESENTATION(#23072,#23074); -#23074=SHAPE_REPRESENTATION('',(#2827),#22906); -#23075=PRODUCT_DEFINITION_SHAPE('',$,#2852); -#23076=SHAPE_DEFINITION_REPRESENTATION(#23075,#23077); -#23077=SHAPE_REPRESENTATION('',(#2853),#22906); -#23078=REPRESENTATION_MAP(#26,#2859); -#23079=PRODUCT_DEFINITION_SHAPE('',$,#2861); -#23080=SHAPE_DEFINITION_REPRESENTATION(#23079,#23081); -#23081=SHAPE_REPRESENTATION('',(#2862),#22906); -#23082=REPRESENTATION_MAP(#26,#2871); -#23083=PRODUCT_DEFINITION_SHAPE('',$,#2873); -#23084=SHAPE_DEFINITION_REPRESENTATION(#23083,#23085); -#23085=SHAPE_REPRESENTATION('',(#2874),#22906); -#23086=REPRESENTATION_MAP(#26,#2883); -#23087=PRODUCT_DEFINITION_SHAPE('',$,#2885); -#23088=SHAPE_DEFINITION_REPRESENTATION(#23087,#23089); -#23089=SHAPE_REPRESENTATION('',(#2886),#22906); -#23090=PRODUCT_DEFINITION_SHAPE('',$,#2889); -#23091=SHAPE_DEFINITION_REPRESENTATION(#23090,#23092); -#23092=SHAPE_REPRESENTATION('',(#2890),#22906); -#23093=PRODUCT_DEFINITION_SHAPE('',$,#2893); -#23094=SHAPE_DEFINITION_REPRESENTATION(#23093,#23095); -#23095=SHAPE_REPRESENTATION('',(#2894),#22906); -#23096=PRODUCT_DEFINITION_SHAPE('',$,#2897); -#23097=SHAPE_DEFINITION_REPRESENTATION(#23096,#23098); -#23098=SHAPE_REPRESENTATION('',(#2898),#22906); -#23099=PRODUCT_DEFINITION_SHAPE('',$,#2901); -#23100=SHAPE_DEFINITION_REPRESENTATION(#23099,#23101); -#23101=SHAPE_REPRESENTATION('',(#2902),#22906); -#23102=PRODUCT_DEFINITION_SHAPE('',$,#2905); -#23103=SHAPE_DEFINITION_REPRESENTATION(#23102,#23104); -#23104=SHAPE_REPRESENTATION('',(#2906),#22906); -#23105=PRODUCT_DEFINITION_SHAPE('',$,#2909); -#23106=SHAPE_DEFINITION_REPRESENTATION(#23105,#23107); -#23107=SHAPE_REPRESENTATION('',(#2910),#22906); -#23108=REPRESENTATION_MAP(#26,#2919); -#23109=PRODUCT_DEFINITION_SHAPE('',$,#2922); -#23110=SHAPE_DEFINITION_REPRESENTATION(#23109,#23111); -#23111=SHAPE_REPRESENTATION('',(#2923),#22906); -#23112=REPRESENTATION_MAP(#26,#2932); -#23113=PRODUCT_DEFINITION_SHAPE('',$,#2935); -#23114=SHAPE_DEFINITION_REPRESENTATION(#23113,#23115); -#23115=SHAPE_REPRESENTATION('',(#2936),#22906); -#23116=REPRESENTATION_MAP(#26,#2945); -#23117=PRODUCT_DEFINITION_SHAPE('',$,#2948); -#23118=SHAPE_DEFINITION_REPRESENTATION(#23117,#23119); -#23119=SHAPE_REPRESENTATION('',(#2949),#22906); -#23120=PRODUCT_DEFINITION_SHAPE('',$,#2952); -#23121=SHAPE_DEFINITION_REPRESENTATION(#23120,#23122); -#23122=SHAPE_REPRESENTATION('',(#2953),#22906); -#23123=PRODUCT_DEFINITION_SHAPE('',$,#2956); -#23124=SHAPE_DEFINITION_REPRESENTATION(#23123,#23125); -#23125=SHAPE_REPRESENTATION('',(#2957),#22906); -#23126=PRODUCT_DEFINITION_SHAPE('',$,#2960); -#23127=SHAPE_DEFINITION_REPRESENTATION(#23126,#23128); -#23128=SHAPE_REPRESENTATION('',(#2961),#22906); -#23129=PRODUCT_DEFINITION_SHAPE('',$,#2964); -#23130=SHAPE_DEFINITION_REPRESENTATION(#23129,#23131); -#23131=SHAPE_REPRESENTATION('',(#2965),#22906); -#23132=PRODUCT_DEFINITION_SHAPE('',$,#2968); -#23133=SHAPE_DEFINITION_REPRESENTATION(#23132,#23134); -#23134=SHAPE_REPRESENTATION('',(#2969),#22906); -#23135=PRODUCT_DEFINITION_SHAPE('',$,#2972); -#23136=SHAPE_DEFINITION_REPRESENTATION(#23135,#23137); -#23137=SHAPE_REPRESENTATION('',(#2973),#22906); -#23138=PRODUCT_DEFINITION_SHAPE('',$,#2976); -#23139=SHAPE_DEFINITION_REPRESENTATION(#23138,#23140); -#23140=SHAPE_REPRESENTATION('',(#2977),#22906); -#23141=PRODUCT_DEFINITION_SHAPE('',$,#2980); -#23142=SHAPE_DEFINITION_REPRESENTATION(#23141,#23143); -#23143=SHAPE_REPRESENTATION('',(#2981),#22906); -#23144=PRODUCT_DEFINITION_SHAPE('',$,#2984); -#23145=SHAPE_DEFINITION_REPRESENTATION(#23144,#23146); -#23146=SHAPE_REPRESENTATION('',(#2985),#22906); -#23147=PRODUCT_DEFINITION_SHAPE('',$,#3010); -#23148=SHAPE_DEFINITION_REPRESENTATION(#23147,#23149); -#23149=SHAPE_REPRESENTATION('',(#3011),#22906); -#23150=REPRESENTATION_MAP(#26,#3017); -#23151=PRODUCT_DEFINITION_SHAPE('',$,#3019); -#23152=SHAPE_DEFINITION_REPRESENTATION(#23151,#23153); -#23153=SHAPE_REPRESENTATION('',(#3020),#22906); -#23154=REPRESENTATION_MAP(#26,#3029); -#23155=PRODUCT_DEFINITION_SHAPE('',$,#3031); -#23156=SHAPE_DEFINITION_REPRESENTATION(#23155,#23157); -#23157=SHAPE_REPRESENTATION('',(#3032),#22906); -#23158=REPRESENTATION_MAP(#26,#3041); -#23159=PRODUCT_DEFINITION_SHAPE('',$,#3043); -#23160=SHAPE_DEFINITION_REPRESENTATION(#23159,#23161); -#23161=SHAPE_REPRESENTATION('',(#3044),#22906); -#23162=PRODUCT_DEFINITION_SHAPE('',$,#3047); -#23163=SHAPE_DEFINITION_REPRESENTATION(#23162,#23164); -#23164=SHAPE_REPRESENTATION('',(#3048),#22906); -#23165=PRODUCT_DEFINITION_SHAPE('',$,#3051); -#23166=SHAPE_DEFINITION_REPRESENTATION(#23165,#23167); -#23167=SHAPE_REPRESENTATION('',(#3052),#22906); -#23168=PRODUCT_DEFINITION_SHAPE('',$,#3055); -#23169=SHAPE_DEFINITION_REPRESENTATION(#23168,#23170); -#23170=SHAPE_REPRESENTATION('',(#3056),#22906); -#23171=PRODUCT_DEFINITION_SHAPE('',$,#3059); -#23172=SHAPE_DEFINITION_REPRESENTATION(#23171,#23173); -#23173=SHAPE_REPRESENTATION('',(#3060),#22906); -#23174=PRODUCT_DEFINITION_SHAPE('',$,#3063); -#23175=SHAPE_DEFINITION_REPRESENTATION(#23174,#23176); -#23176=SHAPE_REPRESENTATION('',(#3064),#22906); -#23177=PRODUCT_DEFINITION_SHAPE('',$,#3067); -#23178=SHAPE_DEFINITION_REPRESENTATION(#23177,#23179); -#23179=SHAPE_REPRESENTATION('',(#3068),#22906); -#23180=REPRESENTATION_MAP(#26,#3077); -#23181=PRODUCT_DEFINITION_SHAPE('',$,#3080); -#23182=SHAPE_DEFINITION_REPRESENTATION(#23181,#23183); -#23183=SHAPE_REPRESENTATION('',(#3081),#22906); -#23184=REPRESENTATION_MAP(#26,#3090); -#23185=PRODUCT_DEFINITION_SHAPE('',$,#3093); -#23186=SHAPE_DEFINITION_REPRESENTATION(#23185,#23187); -#23187=SHAPE_REPRESENTATION('',(#3094),#22906); -#23188=REPRESENTATION_MAP(#26,#3103); -#23189=PRODUCT_DEFINITION_SHAPE('',$,#3106); -#23190=SHAPE_DEFINITION_REPRESENTATION(#23189,#23191); -#23191=SHAPE_REPRESENTATION('',(#3107),#22906); -#23192=PRODUCT_DEFINITION_SHAPE('',$,#3110); -#23193=SHAPE_DEFINITION_REPRESENTATION(#23192,#23194); -#23194=SHAPE_REPRESENTATION('',(#3111),#22906); -#23195=PRODUCT_DEFINITION_SHAPE('',$,#3114); -#23196=SHAPE_DEFINITION_REPRESENTATION(#23195,#23197); -#23197=SHAPE_REPRESENTATION('',(#3115),#22906); -#23198=PRODUCT_DEFINITION_SHAPE('',$,#3118); -#23199=SHAPE_DEFINITION_REPRESENTATION(#23198,#23200); -#23200=SHAPE_REPRESENTATION('',(#3119),#22906); -#23201=PRODUCT_DEFINITION_SHAPE('',$,#3122); -#23202=SHAPE_DEFINITION_REPRESENTATION(#23201,#23203); -#23203=SHAPE_REPRESENTATION('',(#3123),#22906); -#23204=PRODUCT_DEFINITION_SHAPE('',$,#3126); -#23205=SHAPE_DEFINITION_REPRESENTATION(#23204,#23206); -#23206=SHAPE_REPRESENTATION('',(#3127),#22906); -#23207=PRODUCT_DEFINITION_SHAPE('',$,#3130); -#23208=SHAPE_DEFINITION_REPRESENTATION(#23207,#23209); -#23209=SHAPE_REPRESENTATION('',(#3131),#22906); -#23210=PRODUCT_DEFINITION_SHAPE('',$,#3134); -#23211=SHAPE_DEFINITION_REPRESENTATION(#23210,#23212); -#23212=SHAPE_REPRESENTATION('',(#3135),#22906); -#23213=PRODUCT_DEFINITION_SHAPE('',$,#3138); -#23214=SHAPE_DEFINITION_REPRESENTATION(#23213,#23215); -#23215=SHAPE_REPRESENTATION('',(#3139),#22906); -#23216=PRODUCT_DEFINITION_SHAPE('',$,#3142); -#23217=SHAPE_DEFINITION_REPRESENTATION(#23216,#23218); -#23218=SHAPE_REPRESENTATION('',(#3143),#22906); -#23219=REPRESENTATION_MAP(#26,#3159); -#23220=PRODUCT_DEFINITION_SHAPE('',$,#3164); -#23221=SHAPE_DEFINITION_REPRESENTATION(#23220,#23222); -#23222=SHAPE_REPRESENTATION('',(#3165),#22906); -#23223=REPRESENTATION_MAP(#26,#3171); -#23224=PRODUCT_DEFINITION_SHAPE('',$,#3173); -#23225=SHAPE_DEFINITION_REPRESENTATION(#23224,#23226); -#23226=SHAPE_REPRESENTATION('',(#3174),#22906); -#23227=REPRESENTATION_MAP(#26,#3183); -#23228=PRODUCT_DEFINITION_SHAPE('',$,#3185); -#23229=SHAPE_DEFINITION_REPRESENTATION(#23228,#23230); -#23230=SHAPE_REPRESENTATION('',(#3186),#22906); -#23231=REPRESENTATION_MAP(#26,#3195); -#23232=PRODUCT_DEFINITION_SHAPE('',$,#3197); -#23233=SHAPE_DEFINITION_REPRESENTATION(#23232,#23234); -#23234=SHAPE_REPRESENTATION('',(#3198),#22906); -#23235=PRODUCT_DEFINITION_SHAPE('',$,#3201); -#23236=SHAPE_DEFINITION_REPRESENTATION(#23235,#23237); -#23237=SHAPE_REPRESENTATION('',(#3202),#22906); -#23238=PRODUCT_DEFINITION_SHAPE('',$,#3205); -#23239=SHAPE_DEFINITION_REPRESENTATION(#23238,#23240); -#23240=SHAPE_REPRESENTATION('',(#3206),#22906); -#23241=PRODUCT_DEFINITION_SHAPE('',$,#3209); -#23242=SHAPE_DEFINITION_REPRESENTATION(#23241,#23243); -#23243=SHAPE_REPRESENTATION('',(#3210),#22906); -#23244=PRODUCT_DEFINITION_SHAPE('',$,#3213); -#23245=SHAPE_DEFINITION_REPRESENTATION(#23244,#23246); -#23246=SHAPE_REPRESENTATION('',(#3214),#22906); -#23247=PRODUCT_DEFINITION_SHAPE('',$,#3217); -#23248=SHAPE_DEFINITION_REPRESENTATION(#23247,#23249); -#23249=SHAPE_REPRESENTATION('',(#3218),#22906); -#23250=PRODUCT_DEFINITION_SHAPE('',$,#3221); -#23251=SHAPE_DEFINITION_REPRESENTATION(#23250,#23252); -#23252=SHAPE_REPRESENTATION('',(#3222),#22906); -#23253=REPRESENTATION_MAP(#26,#3231); -#23254=PRODUCT_DEFINITION_SHAPE('',$,#3234); -#23255=SHAPE_DEFINITION_REPRESENTATION(#23254,#23256); -#23256=SHAPE_REPRESENTATION('',(#3235),#22906); -#23257=REPRESENTATION_MAP(#26,#3244); -#23258=PRODUCT_DEFINITION_SHAPE('',$,#3247); -#23259=SHAPE_DEFINITION_REPRESENTATION(#23258,#23260); -#23260=SHAPE_REPRESENTATION('',(#3248),#22906); -#23261=REPRESENTATION_MAP(#26,#3257); -#23262=PRODUCT_DEFINITION_SHAPE('',$,#3260); -#23263=SHAPE_DEFINITION_REPRESENTATION(#23262,#23264); -#23264=SHAPE_REPRESENTATION('',(#3261),#22906); -#23265=PRODUCT_DEFINITION_SHAPE('',$,#3264); -#23266=SHAPE_DEFINITION_REPRESENTATION(#23265,#23267); -#23267=SHAPE_REPRESENTATION('',(#3265),#22906); -#23268=PRODUCT_DEFINITION_SHAPE('',$,#3268); -#23269=SHAPE_DEFINITION_REPRESENTATION(#23268,#23270); -#23270=SHAPE_REPRESENTATION('',(#3269),#22906); -#23271=PRODUCT_DEFINITION_SHAPE('',$,#3272); -#23272=SHAPE_DEFINITION_REPRESENTATION(#23271,#23273); -#23273=SHAPE_REPRESENTATION('',(#3273),#22906); -#23274=PRODUCT_DEFINITION_SHAPE('',$,#3276); -#23275=SHAPE_DEFINITION_REPRESENTATION(#23274,#23276); -#23276=SHAPE_REPRESENTATION('',(#3277),#22906); -#23277=PRODUCT_DEFINITION_SHAPE('',$,#3280); -#23278=SHAPE_DEFINITION_REPRESENTATION(#23277,#23279); -#23279=SHAPE_REPRESENTATION('',(#3281),#22906); -#23280=PRODUCT_DEFINITION_SHAPE('',$,#3284); -#23281=SHAPE_DEFINITION_REPRESENTATION(#23280,#23282); -#23282=SHAPE_REPRESENTATION('',(#3285),#22906); -#23283=PRODUCT_DEFINITION_SHAPE('',$,#3288); -#23284=SHAPE_DEFINITION_REPRESENTATION(#23283,#23285); -#23285=SHAPE_REPRESENTATION('',(#3289),#22906); -#23286=PRODUCT_DEFINITION_SHAPE('',$,#3292); -#23287=SHAPE_DEFINITION_REPRESENTATION(#23286,#23288); -#23288=SHAPE_REPRESENTATION('',(#3293),#22906); -#23289=PRODUCT_DEFINITION_SHAPE('',$,#3296); -#23290=SHAPE_DEFINITION_REPRESENTATION(#23289,#23291); -#23291=SHAPE_REPRESENTATION('',(#3297),#22906); -#23292=PRODUCT_DEFINITION_SHAPE('',$,#3318); -#23293=SHAPE_DEFINITION_REPRESENTATION(#23292,#23294); -#23294=SHAPE_REPRESENTATION('',(#3319),#22906); -#23295=REPRESENTATION_MAP(#26,#3325); -#23296=PRODUCT_DEFINITION_SHAPE('',$,#3327); -#23297=SHAPE_DEFINITION_REPRESENTATION(#23296,#23298); -#23298=SHAPE_REPRESENTATION('',(#3328),#22906); -#23299=REPRESENTATION_MAP(#26,#3337); -#23300=PRODUCT_DEFINITION_SHAPE('',$,#3339); -#23301=SHAPE_DEFINITION_REPRESENTATION(#23300,#23302); -#23302=SHAPE_REPRESENTATION('',(#3340),#22906); -#23303=REPRESENTATION_MAP(#26,#3349); -#23304=PRODUCT_DEFINITION_SHAPE('',$,#3351); -#23305=SHAPE_DEFINITION_REPRESENTATION(#23304,#23306); -#23306=SHAPE_REPRESENTATION('',(#3352),#22906); -#23307=PRODUCT_DEFINITION_SHAPE('',$,#3355); -#23308=SHAPE_DEFINITION_REPRESENTATION(#23307,#23309); -#23309=SHAPE_REPRESENTATION('',(#3356),#22906); -#23310=PRODUCT_DEFINITION_SHAPE('',$,#3359); -#23311=SHAPE_DEFINITION_REPRESENTATION(#23310,#23312); -#23312=SHAPE_REPRESENTATION('',(#3360),#22906); -#23313=PRODUCT_DEFINITION_SHAPE('',$,#3363); -#23314=SHAPE_DEFINITION_REPRESENTATION(#23313,#23315); -#23315=SHAPE_REPRESENTATION('',(#3364),#22906); -#23316=PRODUCT_DEFINITION_SHAPE('',$,#3367); -#23317=SHAPE_DEFINITION_REPRESENTATION(#23316,#23318); -#23318=SHAPE_REPRESENTATION('',(#3368),#22906); -#23319=PRODUCT_DEFINITION_SHAPE('',$,#3371); -#23320=SHAPE_DEFINITION_REPRESENTATION(#23319,#23321); -#23321=SHAPE_REPRESENTATION('',(#3372),#22906); -#23322=PRODUCT_DEFINITION_SHAPE('',$,#3375); -#23323=SHAPE_DEFINITION_REPRESENTATION(#23322,#23324); -#23324=SHAPE_REPRESENTATION('',(#3376),#22906); -#23325=REPRESENTATION_MAP(#26,#3385); -#23326=PRODUCT_DEFINITION_SHAPE('',$,#3388); -#23327=SHAPE_DEFINITION_REPRESENTATION(#23326,#23328); -#23328=SHAPE_REPRESENTATION('',(#3389),#22906); -#23329=REPRESENTATION_MAP(#26,#3398); -#23330=PRODUCT_DEFINITION_SHAPE('',$,#3401); -#23331=SHAPE_DEFINITION_REPRESENTATION(#23330,#23332); -#23332=SHAPE_REPRESENTATION('',(#3402),#22906); -#23333=REPRESENTATION_MAP(#26,#3411); -#23334=PRODUCT_DEFINITION_SHAPE('',$,#3414); -#23335=SHAPE_DEFINITION_REPRESENTATION(#23334,#23336); -#23336=SHAPE_REPRESENTATION('',(#3415),#22906); -#23337=PRODUCT_DEFINITION_SHAPE('',$,#3418); -#23338=SHAPE_DEFINITION_REPRESENTATION(#23337,#23339); -#23339=SHAPE_REPRESENTATION('',(#3419),#22906); -#23340=PRODUCT_DEFINITION_SHAPE('',$,#3422); -#23341=SHAPE_DEFINITION_REPRESENTATION(#23340,#23342); -#23342=SHAPE_REPRESENTATION('',(#3423),#22906); -#23343=PRODUCT_DEFINITION_SHAPE('',$,#3426); -#23344=SHAPE_DEFINITION_REPRESENTATION(#23343,#23345); -#23345=SHAPE_REPRESENTATION('',(#3427),#22906); -#23346=PRODUCT_DEFINITION_SHAPE('',$,#3430); -#23347=SHAPE_DEFINITION_REPRESENTATION(#23346,#23348); -#23348=SHAPE_REPRESENTATION('',(#3431),#22906); -#23349=PRODUCT_DEFINITION_SHAPE('',$,#3434); -#23350=SHAPE_DEFINITION_REPRESENTATION(#23349,#23351); -#23351=SHAPE_REPRESENTATION('',(#3435),#22906); -#23352=PRODUCT_DEFINITION_SHAPE('',$,#3438); -#23353=SHAPE_DEFINITION_REPRESENTATION(#23352,#23354); -#23354=SHAPE_REPRESENTATION('',(#3439),#22906); -#23355=PRODUCT_DEFINITION_SHAPE('',$,#3442); -#23356=SHAPE_DEFINITION_REPRESENTATION(#23355,#23357); -#23357=SHAPE_REPRESENTATION('',(#3443),#22906); -#23358=PRODUCT_DEFINITION_SHAPE('',$,#3446); -#23359=SHAPE_DEFINITION_REPRESENTATION(#23358,#23360); -#23360=SHAPE_REPRESENTATION('',(#3447),#22906); -#23361=PRODUCT_DEFINITION_SHAPE('',$,#3450); -#23362=SHAPE_DEFINITION_REPRESENTATION(#23361,#23363); -#23363=SHAPE_REPRESENTATION('',(#3451),#22906); -#23364=REPRESENTATION_MAP(#26,#3471); -#23365=PRODUCT_DEFINITION_SHAPE('',$,#3476); -#23366=SHAPE_DEFINITION_REPRESENTATION(#23365,#23367); -#23367=SHAPE_REPRESENTATION('',(#3477),#22906); -#23368=REPRESENTATION_MAP(#26,#3483); -#23369=PRODUCT_DEFINITION_SHAPE('',$,#3485); -#23370=SHAPE_DEFINITION_REPRESENTATION(#23369,#23371); -#23371=SHAPE_REPRESENTATION('',(#3486),#22906); -#23372=REPRESENTATION_MAP(#26,#3495); -#23373=PRODUCT_DEFINITION_SHAPE('',$,#3497); -#23374=SHAPE_DEFINITION_REPRESENTATION(#23373,#23375); -#23375=SHAPE_REPRESENTATION('',(#3498),#22906); -#23376=REPRESENTATION_MAP(#26,#3507); -#23377=PRODUCT_DEFINITION_SHAPE('',$,#3509); -#23378=SHAPE_DEFINITION_REPRESENTATION(#23377,#23379); -#23379=SHAPE_REPRESENTATION('',(#3510),#22906); -#23380=PRODUCT_DEFINITION_SHAPE('',$,#3513); -#23381=SHAPE_DEFINITION_REPRESENTATION(#23380,#23382); -#23382=SHAPE_REPRESENTATION('',(#3514),#22906); -#23383=PRODUCT_DEFINITION_SHAPE('',$,#3517); -#23384=SHAPE_DEFINITION_REPRESENTATION(#23383,#23385); -#23385=SHAPE_REPRESENTATION('',(#3518),#22906); -#23386=PRODUCT_DEFINITION_SHAPE('',$,#3521); -#23387=SHAPE_DEFINITION_REPRESENTATION(#23386,#23388); -#23388=SHAPE_REPRESENTATION('',(#3522),#22906); -#23389=PRODUCT_DEFINITION_SHAPE('',$,#3525); -#23390=SHAPE_DEFINITION_REPRESENTATION(#23389,#23391); -#23391=SHAPE_REPRESENTATION('',(#3526),#22906); -#23392=PRODUCT_DEFINITION_SHAPE('',$,#3529); -#23393=SHAPE_DEFINITION_REPRESENTATION(#23392,#23394); -#23394=SHAPE_REPRESENTATION('',(#3530),#22906); -#23395=PRODUCT_DEFINITION_SHAPE('',$,#3533); -#23396=SHAPE_DEFINITION_REPRESENTATION(#23395,#23397); -#23397=SHAPE_REPRESENTATION('',(#3534),#22906); -#23398=REPRESENTATION_MAP(#26,#3543); -#23399=PRODUCT_DEFINITION_SHAPE('',$,#3546); -#23400=SHAPE_DEFINITION_REPRESENTATION(#23399,#23401); -#23401=SHAPE_REPRESENTATION('',(#3547),#22906); -#23402=REPRESENTATION_MAP(#26,#3556); -#23403=PRODUCT_DEFINITION_SHAPE('',$,#3559); -#23404=SHAPE_DEFINITION_REPRESENTATION(#23403,#23405); -#23405=SHAPE_REPRESENTATION('',(#3560),#22906); -#23406=REPRESENTATION_MAP(#26,#3569); -#23407=PRODUCT_DEFINITION_SHAPE('',$,#3572); -#23408=SHAPE_DEFINITION_REPRESENTATION(#23407,#23409); -#23409=SHAPE_REPRESENTATION('',(#3573),#22906); -#23410=PRODUCT_DEFINITION_SHAPE('',$,#3576); -#23411=SHAPE_DEFINITION_REPRESENTATION(#23410,#23412); -#23412=SHAPE_REPRESENTATION('',(#3577),#22906); -#23413=PRODUCT_DEFINITION_SHAPE('',$,#3580); -#23414=SHAPE_DEFINITION_REPRESENTATION(#23413,#23415); -#23415=SHAPE_REPRESENTATION('',(#3581),#22906); -#23416=PRODUCT_DEFINITION_SHAPE('',$,#3584); -#23417=SHAPE_DEFINITION_REPRESENTATION(#23416,#23418); -#23418=SHAPE_REPRESENTATION('',(#3585),#22906); -#23419=PRODUCT_DEFINITION_SHAPE('',$,#3588); -#23420=SHAPE_DEFINITION_REPRESENTATION(#23419,#23421); -#23421=SHAPE_REPRESENTATION('',(#3589),#22906); -#23422=PRODUCT_DEFINITION_SHAPE('',$,#3592); -#23423=SHAPE_DEFINITION_REPRESENTATION(#23422,#23424); -#23424=SHAPE_REPRESENTATION('',(#3593),#22906); -#23425=PRODUCT_DEFINITION_SHAPE('',$,#3596); -#23426=SHAPE_DEFINITION_REPRESENTATION(#23425,#23427); -#23427=SHAPE_REPRESENTATION('',(#3597),#22906); -#23428=PRODUCT_DEFINITION_SHAPE('',$,#3600); -#23429=SHAPE_DEFINITION_REPRESENTATION(#23428,#23430); -#23430=SHAPE_REPRESENTATION('',(#3601),#22906); -#23431=PRODUCT_DEFINITION_SHAPE('',$,#3604); -#23432=SHAPE_DEFINITION_REPRESENTATION(#23431,#23433); -#23433=SHAPE_REPRESENTATION('',(#3605),#22906); -#23434=PRODUCT_DEFINITION_SHAPE('',$,#3608); -#23435=SHAPE_DEFINITION_REPRESENTATION(#23434,#23436); -#23436=SHAPE_REPRESENTATION('',(#3609),#22906); -#23437=PRODUCT_DEFINITION_SHAPE('',$,#3634); -#23438=SHAPE_DEFINITION_REPRESENTATION(#23437,#23439); -#23439=SHAPE_REPRESENTATION('',(#3635),#22906); -#23440=REPRESENTATION_MAP(#26,#3641); -#23441=PRODUCT_DEFINITION_SHAPE('',$,#3643); -#23442=SHAPE_DEFINITION_REPRESENTATION(#23441,#23443); -#23443=SHAPE_REPRESENTATION('',(#3644),#22906); -#23444=REPRESENTATION_MAP(#26,#3653); -#23445=PRODUCT_DEFINITION_SHAPE('',$,#3655); -#23446=SHAPE_DEFINITION_REPRESENTATION(#23445,#23447); -#23447=SHAPE_REPRESENTATION('',(#3656),#22906); -#23448=REPRESENTATION_MAP(#26,#3665); -#23449=PRODUCT_DEFINITION_SHAPE('',$,#3667); -#23450=SHAPE_DEFINITION_REPRESENTATION(#23449,#23451); -#23451=SHAPE_REPRESENTATION('',(#3668),#22906); -#23452=PRODUCT_DEFINITION_SHAPE('',$,#3671); -#23453=SHAPE_DEFINITION_REPRESENTATION(#23452,#23454); -#23454=SHAPE_REPRESENTATION('',(#3672),#22906); -#23455=PRODUCT_DEFINITION_SHAPE('',$,#3675); -#23456=SHAPE_DEFINITION_REPRESENTATION(#23455,#23457); -#23457=SHAPE_REPRESENTATION('',(#3676),#22906); -#23458=PRODUCT_DEFINITION_SHAPE('',$,#3679); -#23459=SHAPE_DEFINITION_REPRESENTATION(#23458,#23460); -#23460=SHAPE_REPRESENTATION('',(#3680),#22906); -#23461=PRODUCT_DEFINITION_SHAPE('',$,#3683); -#23462=SHAPE_DEFINITION_REPRESENTATION(#23461,#23463); -#23463=SHAPE_REPRESENTATION('',(#3684),#22906); -#23464=PRODUCT_DEFINITION_SHAPE('',$,#3687); -#23465=SHAPE_DEFINITION_REPRESENTATION(#23464,#23466); -#23466=SHAPE_REPRESENTATION('',(#3688),#22906); -#23467=PRODUCT_DEFINITION_SHAPE('',$,#3691); -#23468=SHAPE_DEFINITION_REPRESENTATION(#23467,#23469); -#23469=SHAPE_REPRESENTATION('',(#3692),#22906); -#23470=REPRESENTATION_MAP(#26,#3701); -#23471=PRODUCT_DEFINITION_SHAPE('',$,#3704); -#23472=SHAPE_DEFINITION_REPRESENTATION(#23471,#23473); -#23473=SHAPE_REPRESENTATION('',(#3705),#22906); -#23474=REPRESENTATION_MAP(#26,#3714); -#23475=PRODUCT_DEFINITION_SHAPE('',$,#3717); -#23476=SHAPE_DEFINITION_REPRESENTATION(#23475,#23477); -#23477=SHAPE_REPRESENTATION('',(#3718),#22906); -#23478=REPRESENTATION_MAP(#26,#3727); -#23479=PRODUCT_DEFINITION_SHAPE('',$,#3730); -#23480=SHAPE_DEFINITION_REPRESENTATION(#23479,#23481); -#23481=SHAPE_REPRESENTATION('',(#3731),#22906); -#23482=PRODUCT_DEFINITION_SHAPE('',$,#3734); -#23483=SHAPE_DEFINITION_REPRESENTATION(#23482,#23484); -#23484=SHAPE_REPRESENTATION('',(#3735),#22906); -#23485=PRODUCT_DEFINITION_SHAPE('',$,#3738); -#23486=SHAPE_DEFINITION_REPRESENTATION(#23485,#23487); -#23487=SHAPE_REPRESENTATION('',(#3739),#22906); -#23488=PRODUCT_DEFINITION_SHAPE('',$,#3742); -#23489=SHAPE_DEFINITION_REPRESENTATION(#23488,#23490); -#23490=SHAPE_REPRESENTATION('',(#3743),#22906); -#23491=PRODUCT_DEFINITION_SHAPE('',$,#3746); -#23492=SHAPE_DEFINITION_REPRESENTATION(#23491,#23493); -#23493=SHAPE_REPRESENTATION('',(#3747),#22906); -#23494=PRODUCT_DEFINITION_SHAPE('',$,#3750); -#23495=SHAPE_DEFINITION_REPRESENTATION(#23494,#23496); -#23496=SHAPE_REPRESENTATION('',(#3751),#22906); -#23497=PRODUCT_DEFINITION_SHAPE('',$,#3754); -#23498=SHAPE_DEFINITION_REPRESENTATION(#23497,#23499); -#23499=SHAPE_REPRESENTATION('',(#3755),#22906); -#23500=PRODUCT_DEFINITION_SHAPE('',$,#3758); -#23501=SHAPE_DEFINITION_REPRESENTATION(#23500,#23502); -#23502=SHAPE_REPRESENTATION('',(#3759),#22906); -#23503=PRODUCT_DEFINITION_SHAPE('',$,#3762); -#23504=SHAPE_DEFINITION_REPRESENTATION(#23503,#23505); -#23505=SHAPE_REPRESENTATION('',(#3763),#22906); -#23506=PRODUCT_DEFINITION_SHAPE('',$,#3766); -#23507=SHAPE_DEFINITION_REPRESENTATION(#23506,#23508); -#23508=SHAPE_REPRESENTATION('',(#3767),#22906); -#23509=REPRESENTATION_MAP(#26,#3783); -#23510=PRODUCT_DEFINITION_SHAPE('',$,#3788); -#23511=SHAPE_DEFINITION_REPRESENTATION(#23510,#23512); -#23512=SHAPE_REPRESENTATION('',(#3789),#22906); -#23513=REPRESENTATION_MAP(#26,#3795); -#23514=PRODUCT_DEFINITION_SHAPE('',$,#3797); -#23515=SHAPE_DEFINITION_REPRESENTATION(#23514,#23516); -#23516=SHAPE_REPRESENTATION('',(#3798),#22906); -#23517=REPRESENTATION_MAP(#26,#3807); -#23518=PRODUCT_DEFINITION_SHAPE('',$,#3809); -#23519=SHAPE_DEFINITION_REPRESENTATION(#23518,#23520); -#23520=SHAPE_REPRESENTATION('',(#3810),#22906); -#23521=REPRESENTATION_MAP(#26,#3819); -#23522=PRODUCT_DEFINITION_SHAPE('',$,#3821); -#23523=SHAPE_DEFINITION_REPRESENTATION(#23522,#23524); -#23524=SHAPE_REPRESENTATION('',(#3822),#22906); -#23525=PRODUCT_DEFINITION_SHAPE('',$,#3825); -#23526=SHAPE_DEFINITION_REPRESENTATION(#23525,#23527); -#23527=SHAPE_REPRESENTATION('',(#3826),#22906); -#23528=PRODUCT_DEFINITION_SHAPE('',$,#3829); -#23529=SHAPE_DEFINITION_REPRESENTATION(#23528,#23530); -#23530=SHAPE_REPRESENTATION('',(#3830),#22906); -#23531=PRODUCT_DEFINITION_SHAPE('',$,#3833); -#23532=SHAPE_DEFINITION_REPRESENTATION(#23531,#23533); -#23533=SHAPE_REPRESENTATION('',(#3834),#22906); -#23534=PRODUCT_DEFINITION_SHAPE('',$,#3837); -#23535=SHAPE_DEFINITION_REPRESENTATION(#23534,#23536); -#23536=SHAPE_REPRESENTATION('',(#3838),#22906); -#23537=PRODUCT_DEFINITION_SHAPE('',$,#3841); -#23538=SHAPE_DEFINITION_REPRESENTATION(#23537,#23539); -#23539=SHAPE_REPRESENTATION('',(#3842),#22906); -#23540=PRODUCT_DEFINITION_SHAPE('',$,#3845); -#23541=SHAPE_DEFINITION_REPRESENTATION(#23540,#23542); -#23542=SHAPE_REPRESENTATION('',(#3846),#22906); -#23543=REPRESENTATION_MAP(#26,#3855); -#23544=PRODUCT_DEFINITION_SHAPE('',$,#3858); -#23545=SHAPE_DEFINITION_REPRESENTATION(#23544,#23546); -#23546=SHAPE_REPRESENTATION('',(#3859),#22906); -#23547=REPRESENTATION_MAP(#26,#3868); -#23548=PRODUCT_DEFINITION_SHAPE('',$,#3871); -#23549=SHAPE_DEFINITION_REPRESENTATION(#23548,#23550); -#23550=SHAPE_REPRESENTATION('',(#3872),#22906); -#23551=REPRESENTATION_MAP(#26,#3881); -#23552=PRODUCT_DEFINITION_SHAPE('',$,#3884); -#23553=SHAPE_DEFINITION_REPRESENTATION(#23552,#23554); -#23554=SHAPE_REPRESENTATION('',(#3885),#22906); -#23555=PRODUCT_DEFINITION_SHAPE('',$,#3888); -#23556=SHAPE_DEFINITION_REPRESENTATION(#23555,#23557); -#23557=SHAPE_REPRESENTATION('',(#3889),#22906); -#23558=PRODUCT_DEFINITION_SHAPE('',$,#3892); -#23559=SHAPE_DEFINITION_REPRESENTATION(#23558,#23560); -#23560=SHAPE_REPRESENTATION('',(#3893),#22906); -#23561=PRODUCT_DEFINITION_SHAPE('',$,#3896); -#23562=SHAPE_DEFINITION_REPRESENTATION(#23561,#23563); -#23563=SHAPE_REPRESENTATION('',(#3897),#22906); -#23564=PRODUCT_DEFINITION_SHAPE('',$,#3900); -#23565=SHAPE_DEFINITION_REPRESENTATION(#23564,#23566); -#23566=SHAPE_REPRESENTATION('',(#3901),#22906); -#23567=PRODUCT_DEFINITION_SHAPE('',$,#3904); -#23568=SHAPE_DEFINITION_REPRESENTATION(#23567,#23569); -#23569=SHAPE_REPRESENTATION('',(#3905),#22906); -#23570=PRODUCT_DEFINITION_SHAPE('',$,#3908); -#23571=SHAPE_DEFINITION_REPRESENTATION(#23570,#23572); -#23572=SHAPE_REPRESENTATION('',(#3909),#22906); -#23573=PRODUCT_DEFINITION_SHAPE('',$,#3912); -#23574=SHAPE_DEFINITION_REPRESENTATION(#23573,#23575); -#23575=SHAPE_REPRESENTATION('',(#3913),#22906); -#23576=PRODUCT_DEFINITION_SHAPE('',$,#3916); -#23577=SHAPE_DEFINITION_REPRESENTATION(#23576,#23578); -#23578=SHAPE_REPRESENTATION('',(#3917),#22906); -#23579=PRODUCT_DEFINITION_SHAPE('',$,#3920); -#23580=SHAPE_DEFINITION_REPRESENTATION(#23579,#23581); -#23581=SHAPE_REPRESENTATION('',(#3921),#22906); -#23582=REPRESENTATION_MAP(#26,#3941); -#23583=PRODUCT_DEFINITION_SHAPE('',$,#3946); -#23584=SHAPE_DEFINITION_REPRESENTATION(#23583,#23585); -#23585=SHAPE_REPRESENTATION('',(#3947),#22906); -#23586=REPRESENTATION_MAP(#26,#3953); -#23587=PRODUCT_DEFINITION_SHAPE('',$,#3955); -#23588=SHAPE_DEFINITION_REPRESENTATION(#23587,#23589); -#23589=SHAPE_REPRESENTATION('',(#3956),#22906); -#23590=REPRESENTATION_MAP(#26,#3965); -#23591=PRODUCT_DEFINITION_SHAPE('',$,#3967); -#23592=SHAPE_DEFINITION_REPRESENTATION(#23591,#23593); -#23593=SHAPE_REPRESENTATION('',(#3968),#22906); -#23594=REPRESENTATION_MAP(#26,#3977); -#23595=PRODUCT_DEFINITION_SHAPE('',$,#3979); -#23596=SHAPE_DEFINITION_REPRESENTATION(#23595,#23597); -#23597=SHAPE_REPRESENTATION('',(#3980),#22906); -#23598=PRODUCT_DEFINITION_SHAPE('',$,#3983); -#23599=SHAPE_DEFINITION_REPRESENTATION(#23598,#23600); -#23600=SHAPE_REPRESENTATION('',(#3984),#22906); -#23601=PRODUCT_DEFINITION_SHAPE('',$,#3987); -#23602=SHAPE_DEFINITION_REPRESENTATION(#23601,#23603); -#23603=SHAPE_REPRESENTATION('',(#3988),#22906); -#23604=PRODUCT_DEFINITION_SHAPE('',$,#3991); -#23605=SHAPE_DEFINITION_REPRESENTATION(#23604,#23606); -#23606=SHAPE_REPRESENTATION('',(#3992),#22906); -#23607=PRODUCT_DEFINITION_SHAPE('',$,#3995); -#23608=SHAPE_DEFINITION_REPRESENTATION(#23607,#23609); -#23609=SHAPE_REPRESENTATION('',(#3996),#22906); -#23610=PRODUCT_DEFINITION_SHAPE('',$,#3999); -#23611=SHAPE_DEFINITION_REPRESENTATION(#23610,#23612); -#23612=SHAPE_REPRESENTATION('',(#4000),#22906); -#23613=PRODUCT_DEFINITION_SHAPE('',$,#4003); -#23614=SHAPE_DEFINITION_REPRESENTATION(#23613,#23615); -#23615=SHAPE_REPRESENTATION('',(#4004),#22906); -#23616=REPRESENTATION_MAP(#26,#4013); -#23617=PRODUCT_DEFINITION_SHAPE('',$,#4016); -#23618=SHAPE_DEFINITION_REPRESENTATION(#23617,#23619); -#23619=SHAPE_REPRESENTATION('',(#4017),#22906); -#23620=REPRESENTATION_MAP(#26,#4026); -#23621=PRODUCT_DEFINITION_SHAPE('',$,#4029); -#23622=SHAPE_DEFINITION_REPRESENTATION(#23621,#23623); -#23623=SHAPE_REPRESENTATION('',(#4030),#22906); -#23624=REPRESENTATION_MAP(#26,#4039); -#23625=PRODUCT_DEFINITION_SHAPE('',$,#4042); -#23626=SHAPE_DEFINITION_REPRESENTATION(#23625,#23627); -#23627=SHAPE_REPRESENTATION('',(#4043),#22906); -#23628=PRODUCT_DEFINITION_SHAPE('',$,#4046); -#23629=SHAPE_DEFINITION_REPRESENTATION(#23628,#23630); -#23630=SHAPE_REPRESENTATION('',(#4047),#22906); -#23631=PRODUCT_DEFINITION_SHAPE('',$,#4050); -#23632=SHAPE_DEFINITION_REPRESENTATION(#23631,#23633); -#23633=SHAPE_REPRESENTATION('',(#4051),#22906); -#23634=PRODUCT_DEFINITION_SHAPE('',$,#4054); -#23635=SHAPE_DEFINITION_REPRESENTATION(#23634,#23636); -#23636=SHAPE_REPRESENTATION('',(#4055),#22906); -#23637=PRODUCT_DEFINITION_SHAPE('',$,#4058); -#23638=SHAPE_DEFINITION_REPRESENTATION(#23637,#23639); -#23639=SHAPE_REPRESENTATION('',(#4059),#22906); -#23640=PRODUCT_DEFINITION_SHAPE('',$,#4062); -#23641=SHAPE_DEFINITION_REPRESENTATION(#23640,#23642); -#23642=SHAPE_REPRESENTATION('',(#4063),#22906); -#23643=PRODUCT_DEFINITION_SHAPE('',$,#4066); -#23644=SHAPE_DEFINITION_REPRESENTATION(#23643,#23645); -#23645=SHAPE_REPRESENTATION('',(#4067),#22906); -#23646=PRODUCT_DEFINITION_SHAPE('',$,#4070); -#23647=SHAPE_DEFINITION_REPRESENTATION(#23646,#23648); -#23648=SHAPE_REPRESENTATION('',(#4071),#22906); -#23649=PRODUCT_DEFINITION_SHAPE('',$,#4074); -#23650=SHAPE_DEFINITION_REPRESENTATION(#23649,#23651); -#23651=SHAPE_REPRESENTATION('',(#4075),#22906); -#23652=PRODUCT_DEFINITION_SHAPE('',$,#4078); -#23653=SHAPE_DEFINITION_REPRESENTATION(#23652,#23654); -#23654=SHAPE_REPRESENTATION('',(#4079),#22906); -#23655=REPRESENTATION_MAP(#26,#4088); -#23656=PRODUCT_DEFINITION_SHAPE('',$,#4104); -#23657=SHAPE_DEFINITION_REPRESENTATION(#23656,#23658); -#23658=SHAPE_REPRESENTATION('',(#4105),#22906); -#23659=REPRESENTATION_MAP(#26,#4111); -#23660=PRODUCT_DEFINITION_SHAPE('',$,#4113); -#23661=SHAPE_DEFINITION_REPRESENTATION(#23660,#23662); -#23662=SHAPE_REPRESENTATION('',(#4114),#22906); -#23663=REPRESENTATION_MAP(#26,#4123); -#23664=PRODUCT_DEFINITION_SHAPE('',$,#4125); -#23665=SHAPE_DEFINITION_REPRESENTATION(#23664,#23666); -#23666=SHAPE_REPRESENTATION('',(#4126),#22906); -#23667=PRODUCT_DEFINITION_SHAPE('',$,#4129); -#23668=SHAPE_DEFINITION_REPRESENTATION(#23667,#23669); -#23669=SHAPE_REPRESENTATION('',(#4130),#22906); -#23670=PRODUCT_DEFINITION_SHAPE('',$,#4133); -#23671=SHAPE_DEFINITION_REPRESENTATION(#23670,#23672); -#23672=SHAPE_REPRESENTATION('',(#4134),#22906); -#23673=PRODUCT_DEFINITION_SHAPE('',$,#4137); -#23674=SHAPE_DEFINITION_REPRESENTATION(#23673,#23675); -#23675=SHAPE_REPRESENTATION('',(#4138),#22906); -#23676=PRODUCT_DEFINITION_SHAPE('',$,#4141); -#23677=SHAPE_DEFINITION_REPRESENTATION(#23676,#23678); -#23678=SHAPE_REPRESENTATION('',(#4142),#22906); -#23679=PRODUCT_DEFINITION_SHAPE('',$,#4145); -#23680=SHAPE_DEFINITION_REPRESENTATION(#23679,#23681); -#23681=SHAPE_REPRESENTATION('',(#4146),#22906); -#23682=PRODUCT_DEFINITION_SHAPE('',$,#4149); -#23683=SHAPE_DEFINITION_REPRESENTATION(#23682,#23684); -#23684=SHAPE_REPRESENTATION('',(#4150),#22906); -#23685=REPRESENTATION_MAP(#26,#4159); -#23686=PRODUCT_DEFINITION_SHAPE('',$,#4162); -#23687=SHAPE_DEFINITION_REPRESENTATION(#23686,#23688); -#23688=SHAPE_REPRESENTATION('',(#4163),#22906); -#23689=REPRESENTATION_MAP(#26,#4172); -#23690=PRODUCT_DEFINITION_SHAPE('',$,#4175); -#23691=SHAPE_DEFINITION_REPRESENTATION(#23690,#23692); -#23692=SHAPE_REPRESENTATION('',(#4176),#22906); -#23693=REPRESENTATION_MAP(#26,#2678); -#23694=PRODUCT_DEFINITION_SHAPE('',$,#4218); -#23695=SHAPE_DEFINITION_REPRESENTATION(#23694,#23696); -#23696=SHAPE_REPRESENTATION('',(#4219),#22906); -#23697=PRODUCT_DEFINITION_SHAPE('',$,#4225); -#23698=SHAPE_DEFINITION_REPRESENTATION(#23697,#23699); -#23699=SHAPE_REPRESENTATION('',(#4226),#22906); -#23700=PRODUCT_DEFINITION_SHAPE('',$,#4254); -#23701=SHAPE_DEFINITION_REPRESENTATION(#23700,#23702); -#23702=SHAPE_REPRESENTATION('',(#4255),#22906); -#23703=REPRESENTATION_MAP(#26,#2836); -#23704=PRODUCT_DEFINITION_SHAPE('',$,#4260); -#23705=SHAPE_DEFINITION_REPRESENTATION(#23704,#23706); -#23706=SHAPE_REPRESENTATION('',(#4261),#22906); -#23707=REPRESENTATION_MAP(#26,#2516); -#23708=PRODUCT_DEFINITION_SHAPE('',$,#4300); -#23709=SHAPE_DEFINITION_REPRESENTATION(#23708,#23710); -#23710=SHAPE_REPRESENTATION('',(#4301),#22906); -#23711=PRODUCT_DEFINITION_SHAPE('',$,#4307); -#23712=SHAPE_DEFINITION_REPRESENTATION(#23711,#23713); -#23713=SHAPE_REPRESENTATION('',(#4308),#22906); -#23714=PRODUCT_DEFINITION_SHAPE('',$,#4341); -#23715=SHAPE_DEFINITION_REPRESENTATION(#23714,#23716); -#23716=SHAPE_REPRESENTATION('',(#4342),#22906); -#23717=PRODUCT_DEFINITION_SHAPE('',$,#4348); -#23718=SHAPE_DEFINITION_REPRESENTATION(#23717,#23719); -#23719=SHAPE_REPRESENTATION('',(#4349),#22906); -#23720=REPRESENTATION_MAP(#26,#3306); -#23721=PRODUCT_DEFINITION_SHAPE('',$,#4382); -#23722=SHAPE_DEFINITION_REPRESENTATION(#23721,#23723); -#23723=SHAPE_REPRESENTATION('',(#4383),#22906); -#23724=REPRESENTATION_MAP(#26,#2994); -#23725=PRODUCT_DEFINITION_SHAPE('',$,#4389); -#23726=SHAPE_DEFINITION_REPRESENTATION(#23725,#23727); -#23727=SHAPE_REPRESENTATION('',(#4390),#22906); -#23728=PRODUCT_DEFINITION_SHAPE('',$,#4417); -#23729=SHAPE_DEFINITION_REPRESENTATION(#23728,#23730); -#23730=SHAPE_REPRESENTATION('',(#4418),#22906); -#23731=PRODUCT_DEFINITION_SHAPE('',$,#4424); -#23732=SHAPE_DEFINITION_REPRESENTATION(#23731,#23733); -#23733=SHAPE_REPRESENTATION('',(#4425),#22906); -#23734=PRODUCT_DEFINITION_SHAPE('',$,#4452); -#23735=SHAPE_DEFINITION_REPRESENTATION(#23734,#23736); -#23736=SHAPE_REPRESENTATION('',(#4453),#22906); -#23737=PRODUCT_DEFINITION_SHAPE('',$,#4459); -#23738=SHAPE_DEFINITION_REPRESENTATION(#23737,#23739); -#23739=SHAPE_REPRESENTATION('',(#4460),#22906); -#23740=PRODUCT_DEFINITION_SHAPE('',$,#4478); -#23741=SHAPE_DEFINITION_REPRESENTATION(#23740,#23742); -#23742=SHAPE_REPRESENTATION('',(#4479),#22906); -#23743=PRODUCT_DEFINITION_SHAPE('',$,#4485); -#23744=SHAPE_DEFINITION_REPRESENTATION(#23743,#23745); -#23745=SHAPE_REPRESENTATION('',(#4486),#22906); -#23746=PRODUCT_DEFINITION_SHAPE('',$,#4492); -#23747=SHAPE_DEFINITION_REPRESENTATION(#23746,#23748); -#23748=SHAPE_REPRESENTATION('',(#4493),#22906); -#23749=PRODUCT_DEFINITION_SHAPE('',$,#4546); -#23750=SHAPE_DEFINITION_REPRESENTATION(#23749,#23751); -#23751=SHAPE_REPRESENTATION('',(#4547),#22906); -#23752=PRODUCT_DEFINITION_SHAPE('',$,#4553); -#23753=SHAPE_DEFINITION_REPRESENTATION(#23752,#23754); -#23754=SHAPE_REPRESENTATION('',(#4554),#22906); -#23755=PRODUCT_DEFINITION_SHAPE('',$,#4560); -#23756=SHAPE_DEFINITION_REPRESENTATION(#23755,#23757); -#23757=SHAPE_REPRESENTATION('',(#4561),#22906); -#23758=PRODUCT_DEFINITION_SHAPE('',$,#4567); -#23759=SHAPE_DEFINITION_REPRESENTATION(#23758,#23760); -#23760=SHAPE_REPRESENTATION('',(#4568),#22906); -#23761=PRODUCT_DEFINITION_SHAPE('',$,#4574); -#23762=SHAPE_DEFINITION_REPRESENTATION(#23761,#23763); -#23763=SHAPE_REPRESENTATION('',(#4575),#22906); -#23764=PRODUCT_DEFINITION_SHAPE('',$,#4581); -#23765=SHAPE_DEFINITION_REPRESENTATION(#23764,#23766); -#23766=SHAPE_REPRESENTATION('',(#4582),#22906); -#23767=PRODUCT_DEFINITION_SHAPE('',$,#4588); -#23768=SHAPE_DEFINITION_REPRESENTATION(#23767,#23769); -#23769=SHAPE_REPRESENTATION('',(#4589),#22906); -#23770=PRODUCT_DEFINITION_SHAPE('',$,#4595); -#23771=SHAPE_DEFINITION_REPRESENTATION(#23770,#23772); -#23772=SHAPE_REPRESENTATION('',(#4596),#22906); -#23773=PRODUCT_DEFINITION_SHAPE('',$,#4602); -#23774=SHAPE_DEFINITION_REPRESENTATION(#23773,#23775); -#23775=SHAPE_REPRESENTATION('',(#4603),#22906); -#23776=PRODUCT_DEFINITION_SHAPE('',$,#4609); -#23777=SHAPE_DEFINITION_REPRESENTATION(#23776,#23778); -#23778=SHAPE_REPRESENTATION('',(#4610),#22906); -#23779=PRODUCT_DEFINITION_SHAPE('',$,#4616); -#23780=SHAPE_DEFINITION_REPRESENTATION(#23779,#23781); -#23781=SHAPE_REPRESENTATION('',(#4617),#22906); -#23782=PRODUCT_DEFINITION_SHAPE('',$,#4623); -#23783=SHAPE_DEFINITION_REPRESENTATION(#23782,#23784); -#23784=SHAPE_REPRESENTATION('',(#4624),#22906); -#23785=PRODUCT_DEFINITION_SHAPE('',$,#4630); -#23786=SHAPE_DEFINITION_REPRESENTATION(#23785,#23787); -#23787=SHAPE_REPRESENTATION('',(#4631),#22906); -#23788=PRODUCT_DEFINITION_SHAPE('',$,#4637); -#23789=SHAPE_DEFINITION_REPRESENTATION(#23788,#23790); -#23790=SHAPE_REPRESENTATION('',(#4638),#22906); -#23791=PRODUCT_DEFINITION_SHAPE('',$,#4644); -#23792=SHAPE_DEFINITION_REPRESENTATION(#23791,#23793); -#23793=SHAPE_REPRESENTATION('',(#4645),#22906); -#23794=PRODUCT_DEFINITION_SHAPE('',$,#4651); -#23795=SHAPE_DEFINITION_REPRESENTATION(#23794,#23796); -#23796=SHAPE_REPRESENTATION('',(#4652),#22906); -#23797=PRODUCT_DEFINITION_SHAPE('',$,#4658); -#23798=SHAPE_DEFINITION_REPRESENTATION(#23797,#23799); -#23799=SHAPE_REPRESENTATION('',(#4659),#22906); -#23800=PRODUCT_DEFINITION_SHAPE('',$,#4665); -#23801=SHAPE_DEFINITION_REPRESENTATION(#23800,#23802); -#23802=SHAPE_REPRESENTATION('',(#4666),#22906); -#23803=PRODUCT_DEFINITION_SHAPE('',$,#4672); -#23804=SHAPE_DEFINITION_REPRESENTATION(#23803,#23805); -#23805=SHAPE_REPRESENTATION('',(#4673),#22906); -#23806=PRODUCT_DEFINITION_SHAPE('',$,#4679); -#23807=SHAPE_DEFINITION_REPRESENTATION(#23806,#23808); -#23808=SHAPE_REPRESENTATION('',(#4680),#22906); -#23809=PRODUCT_DEFINITION_SHAPE('',$,#4686); -#23810=SHAPE_DEFINITION_REPRESENTATION(#23809,#23811); -#23811=SHAPE_REPRESENTATION('',(#4687),#22906); -#23812=PRODUCT_DEFINITION_SHAPE('',$,#4693); -#23813=SHAPE_DEFINITION_REPRESENTATION(#23812,#23814); -#23814=SHAPE_REPRESENTATION('',(#4694),#22906); -#23815=PRODUCT_DEFINITION_SHAPE('',$,#4700); -#23816=SHAPE_DEFINITION_REPRESENTATION(#23815,#23817); -#23817=SHAPE_REPRESENTATION('',(#4701),#22906); -#23818=PRODUCT_DEFINITION_SHAPE('',$,#4707); -#23819=SHAPE_DEFINITION_REPRESENTATION(#23818,#23820); -#23820=SHAPE_REPRESENTATION('',(#4708),#22906); -#23821=PRODUCT_DEFINITION_SHAPE('',$,#4714); -#23822=SHAPE_DEFINITION_REPRESENTATION(#23821,#23823); -#23823=SHAPE_REPRESENTATION('',(#4715),#22906); -#23824=PRODUCT_DEFINITION_SHAPE('',$,#4721); -#23825=SHAPE_DEFINITION_REPRESENTATION(#23824,#23826); -#23826=SHAPE_REPRESENTATION('',(#4722),#22906); -#23827=PRODUCT_DEFINITION_SHAPE('',$,#4728); -#23828=SHAPE_DEFINITION_REPRESENTATION(#23827,#23829); -#23829=SHAPE_REPRESENTATION('',(#4729),#22906); -#23830=PRODUCT_DEFINITION_SHAPE('',$,#4735); -#23831=SHAPE_DEFINITION_REPRESENTATION(#23830,#23832); -#23832=SHAPE_REPRESENTATION('',(#4736),#22906); -#23833=PRODUCT_DEFINITION_SHAPE('',$,#4742); -#23834=SHAPE_DEFINITION_REPRESENTATION(#23833,#23835); -#23835=SHAPE_REPRESENTATION('',(#4743),#22906); -#23836=PRODUCT_DEFINITION_SHAPE('',$,#4749); -#23837=SHAPE_DEFINITION_REPRESENTATION(#23836,#23838); -#23838=SHAPE_REPRESENTATION('',(#4750),#22906); -#23839=PRODUCT_DEFINITION_SHAPE('',$,#4756); -#23840=SHAPE_DEFINITION_REPRESENTATION(#23839,#23841); -#23841=SHAPE_REPRESENTATION('',(#4757),#22906); -#23842=PRODUCT_DEFINITION_SHAPE('',$,#4763); -#23843=SHAPE_DEFINITION_REPRESENTATION(#23842,#23844); -#23844=SHAPE_REPRESENTATION('',(#4764),#22906); -#23845=PRODUCT_DEFINITION_SHAPE('',$,#4770); -#23846=SHAPE_DEFINITION_REPRESENTATION(#23845,#23847); -#23847=SHAPE_REPRESENTATION('',(#4771),#22906); -#23848=PRODUCT_DEFINITION_SHAPE('',$,#4777); -#23849=SHAPE_DEFINITION_REPRESENTATION(#23848,#23850); -#23850=SHAPE_REPRESENTATION('',(#4778),#22906); -#23851=PRODUCT_DEFINITION_SHAPE('',$,#4784); -#23852=SHAPE_DEFINITION_REPRESENTATION(#23851,#23853); -#23853=SHAPE_REPRESENTATION('',(#4785),#22906); -#23854=PRODUCT_DEFINITION_SHAPE('',$,#4791); -#23855=SHAPE_DEFINITION_REPRESENTATION(#23854,#23856); -#23856=SHAPE_REPRESENTATION('',(#4792),#22906); -#23857=PRODUCT_DEFINITION_SHAPE('',$,#4798); -#23858=SHAPE_DEFINITION_REPRESENTATION(#23857,#23859); -#23859=SHAPE_REPRESENTATION('',(#4799),#22906); -#23860=PRODUCT_DEFINITION_SHAPE('',$,#4805); -#23861=SHAPE_DEFINITION_REPRESENTATION(#23860,#23862); -#23862=SHAPE_REPRESENTATION('',(#4806),#22906); -#23863=PRODUCT_DEFINITION_SHAPE('',$,#4812); -#23864=SHAPE_DEFINITION_REPRESENTATION(#23863,#23865); -#23865=SHAPE_REPRESENTATION('',(#4813),#22906); -#23866=PRODUCT_DEFINITION_SHAPE('',$,#4819); -#23867=SHAPE_DEFINITION_REPRESENTATION(#23866,#23868); -#23868=SHAPE_REPRESENTATION('',(#4820),#22906); -#23869=PRODUCT_DEFINITION_SHAPE('',$,#4826); -#23870=SHAPE_DEFINITION_REPRESENTATION(#23869,#23871); -#23871=SHAPE_REPRESENTATION('',(#4827),#22906); -#23872=PRODUCT_DEFINITION_SHAPE('',$,#4833); -#23873=SHAPE_DEFINITION_REPRESENTATION(#23872,#23874); -#23874=SHAPE_REPRESENTATION('',(#4834),#22906); -#23875=PRODUCT_DEFINITION_SHAPE('',$,#4840); -#23876=SHAPE_DEFINITION_REPRESENTATION(#23875,#23877); -#23877=SHAPE_REPRESENTATION('',(#4841),#22906); -#23878=PRODUCT_DEFINITION_SHAPE('',$,#4847); -#23879=SHAPE_DEFINITION_REPRESENTATION(#23878,#23880); -#23880=SHAPE_REPRESENTATION('',(#4848),#22906); -#23881=PRODUCT_DEFINITION_SHAPE('',$,#4854); -#23882=SHAPE_DEFINITION_REPRESENTATION(#23881,#23883); -#23883=SHAPE_REPRESENTATION('',(#4855),#22906); -#23884=PRODUCT_DEFINITION_SHAPE('',$,#4861); -#23885=SHAPE_DEFINITION_REPRESENTATION(#23884,#23886); -#23886=SHAPE_REPRESENTATION('',(#4862),#22906); -#23887=PRODUCT_DEFINITION_SHAPE('',$,#4868); -#23888=SHAPE_DEFINITION_REPRESENTATION(#23887,#23889); -#23889=SHAPE_REPRESENTATION('',(#4869),#22906); -#23890=PRODUCT_DEFINITION_SHAPE('',$,#4875); -#23891=SHAPE_DEFINITION_REPRESENTATION(#23890,#23892); -#23892=SHAPE_REPRESENTATION('',(#4876),#22906); -#23893=PRODUCT_DEFINITION_SHAPE('',$,#4882); -#23894=SHAPE_DEFINITION_REPRESENTATION(#23893,#23895); -#23895=SHAPE_REPRESENTATION('',(#4883),#22906); -#23896=PRODUCT_DEFINITION_SHAPE('',$,#4889); -#23897=SHAPE_DEFINITION_REPRESENTATION(#23896,#23898); -#23898=SHAPE_REPRESENTATION('',(#4890),#22906); -#23899=PRODUCT_DEFINITION_SHAPE('',$,#4896); -#23900=SHAPE_DEFINITION_REPRESENTATION(#23899,#23901); -#23901=SHAPE_REPRESENTATION('',(#4897),#22906); -#23902=PRODUCT_DEFINITION_SHAPE('',$,#4903); -#23903=SHAPE_DEFINITION_REPRESENTATION(#23902,#23904); -#23904=SHAPE_REPRESENTATION('',(#4904),#22906); -#23905=PRODUCT_DEFINITION_SHAPE('',$,#4910); -#23906=SHAPE_DEFINITION_REPRESENTATION(#23905,#23907); -#23907=SHAPE_REPRESENTATION('',(#4911),#22906); -#23908=PRODUCT_DEFINITION_SHAPE('',$,#4917); -#23909=SHAPE_DEFINITION_REPRESENTATION(#23908,#23910); -#23910=SHAPE_REPRESENTATION('',(#4918),#22906); -#23911=PRODUCT_DEFINITION_SHAPE('',$,#4924); -#23912=SHAPE_DEFINITION_REPRESENTATION(#23911,#23913); -#23913=SHAPE_REPRESENTATION('',(#4925),#22906); -#23914=PRODUCT_DEFINITION_SHAPE('',$,#4931); -#23915=SHAPE_DEFINITION_REPRESENTATION(#23914,#23916); -#23916=SHAPE_REPRESENTATION('',(#4932),#22906); -#23917=PRODUCT_DEFINITION_SHAPE('',$,#4938); -#23918=SHAPE_DEFINITION_REPRESENTATION(#23917,#23919); -#23919=SHAPE_REPRESENTATION('',(#4939),#22906); -#23920=PRODUCT_DEFINITION_SHAPE('',$,#4945); -#23921=SHAPE_DEFINITION_REPRESENTATION(#23920,#23922); -#23922=SHAPE_REPRESENTATION('',(#4946),#22906); -#23923=PRODUCT_DEFINITION_SHAPE('',$,#4952); -#23924=SHAPE_DEFINITION_REPRESENTATION(#23923,#23925); -#23925=SHAPE_REPRESENTATION('',(#4953),#22906); -#23926=PRODUCT_DEFINITION_SHAPE('',$,#4959); -#23927=SHAPE_DEFINITION_REPRESENTATION(#23926,#23928); -#23928=SHAPE_REPRESENTATION('',(#4960),#22906); -#23929=PRODUCT_DEFINITION_SHAPE('',$,#4966); -#23930=SHAPE_DEFINITION_REPRESENTATION(#23929,#23931); -#23931=SHAPE_REPRESENTATION('',(#4967),#22906); -#23932=PRODUCT_DEFINITION_SHAPE('',$,#4973); -#23933=SHAPE_DEFINITION_REPRESENTATION(#23932,#23934); -#23934=SHAPE_REPRESENTATION('',(#4974),#22906); -#23935=PRODUCT_DEFINITION_SHAPE('',$,#4980); -#23936=SHAPE_DEFINITION_REPRESENTATION(#23935,#23937); -#23937=SHAPE_REPRESENTATION('',(#4981),#22906); -#23938=PRODUCT_DEFINITION_SHAPE('',$,#4987); -#23939=SHAPE_DEFINITION_REPRESENTATION(#23938,#23940); -#23940=SHAPE_REPRESENTATION('',(#4988),#22906); -#23941=PRODUCT_DEFINITION_SHAPE('',$,#4994); -#23942=SHAPE_DEFINITION_REPRESENTATION(#23941,#23943); -#23943=SHAPE_REPRESENTATION('',(#4995),#22906); -#23944=PRODUCT_DEFINITION_SHAPE('',$,#5001); -#23945=SHAPE_DEFINITION_REPRESENTATION(#23944,#23946); -#23946=SHAPE_REPRESENTATION('',(#5002),#22906); -#23947=PRODUCT_DEFINITION_SHAPE('',$,#5008); -#23948=SHAPE_DEFINITION_REPRESENTATION(#23947,#23949); -#23949=SHAPE_REPRESENTATION('',(#5009),#22906); -#23950=PRODUCT_DEFINITION_SHAPE('',$,#5015); -#23951=SHAPE_DEFINITION_REPRESENTATION(#23950,#23952); -#23952=SHAPE_REPRESENTATION('',(#5016),#22906); -#23953=PRODUCT_DEFINITION_SHAPE('',$,#5022); -#23954=SHAPE_DEFINITION_REPRESENTATION(#23953,#23955); -#23955=SHAPE_REPRESENTATION('',(#5023),#22906); -#23956=PRODUCT_DEFINITION_SHAPE('',$,#5029); -#23957=SHAPE_DEFINITION_REPRESENTATION(#23956,#23958); -#23958=SHAPE_REPRESENTATION('',(#5030),#22906); -#23959=PRODUCT_DEFINITION_SHAPE('',$,#5036); -#23960=SHAPE_DEFINITION_REPRESENTATION(#23959,#23961); -#23961=SHAPE_REPRESENTATION('',(#5037),#22906); -#23962=PRODUCT_DEFINITION_SHAPE('',$,#5043); -#23963=SHAPE_DEFINITION_REPRESENTATION(#23962,#23964); -#23964=SHAPE_REPRESENTATION('',(#5044),#22906); -#23965=PRODUCT_DEFINITION_SHAPE('',$,#5050); -#23966=SHAPE_DEFINITION_REPRESENTATION(#23965,#23967); -#23967=SHAPE_REPRESENTATION('',(#5051),#22906); -#23968=PRODUCT_DEFINITION_SHAPE('',$,#5057); -#23969=SHAPE_DEFINITION_REPRESENTATION(#23968,#23970); -#23970=SHAPE_REPRESENTATION('',(#5058),#22906); -#23971=PRODUCT_DEFINITION_SHAPE('',$,#5064); -#23972=SHAPE_DEFINITION_REPRESENTATION(#23971,#23973); -#23973=SHAPE_REPRESENTATION('',(#5065),#22906); -#23974=PRODUCT_DEFINITION_SHAPE('',$,#5071); -#23975=SHAPE_DEFINITION_REPRESENTATION(#23974,#23976); -#23976=SHAPE_REPRESENTATION('',(#5072),#22906); -#23977=PRODUCT_DEFINITION_SHAPE('',$,#5078); -#23978=SHAPE_DEFINITION_REPRESENTATION(#23977,#23979); -#23979=SHAPE_REPRESENTATION('',(#5079),#22906); -#23980=PRODUCT_DEFINITION_SHAPE('',$,#5085); -#23981=SHAPE_DEFINITION_REPRESENTATION(#23980,#23982); -#23982=SHAPE_REPRESENTATION('',(#5086),#22906); -#23983=PRODUCT_DEFINITION_SHAPE('',$,#5092); -#23984=SHAPE_DEFINITION_REPRESENTATION(#23983,#23985); -#23985=SHAPE_REPRESENTATION('',(#5093),#22906); -#23986=PRODUCT_DEFINITION_SHAPE('',$,#5099); -#23987=SHAPE_DEFINITION_REPRESENTATION(#23986,#23988); -#23988=SHAPE_REPRESENTATION('',(#5100),#22906); -#23989=PRODUCT_DEFINITION_SHAPE('',$,#5106); -#23990=SHAPE_DEFINITION_REPRESENTATION(#23989,#23991); -#23991=SHAPE_REPRESENTATION('',(#5107),#22906); -#23992=PRODUCT_DEFINITION_SHAPE('',$,#5113); -#23993=SHAPE_DEFINITION_REPRESENTATION(#23992,#23994); -#23994=SHAPE_REPRESENTATION('',(#5114),#22906); -#23995=PRODUCT_DEFINITION_SHAPE('',$,#5120); -#23996=SHAPE_DEFINITION_REPRESENTATION(#23995,#23997); -#23997=SHAPE_REPRESENTATION('',(#5121),#22906); -#23998=PRODUCT_DEFINITION_SHAPE('',$,#5127); -#23999=SHAPE_DEFINITION_REPRESENTATION(#23998,#24000); -#24000=SHAPE_REPRESENTATION('',(#5128),#22906); -#24001=PRODUCT_DEFINITION_SHAPE('',$,#5134); -#24002=SHAPE_DEFINITION_REPRESENTATION(#24001,#24003); -#24003=SHAPE_REPRESENTATION('',(#5135),#22906); -#24004=PRODUCT_DEFINITION_SHAPE('',$,#5141); -#24005=SHAPE_DEFINITION_REPRESENTATION(#24004,#24006); -#24006=SHAPE_REPRESENTATION('',(#5142),#22906); -#24007=PRODUCT_DEFINITION_SHAPE('',$,#5148); -#24008=SHAPE_DEFINITION_REPRESENTATION(#24007,#24009); -#24009=SHAPE_REPRESENTATION('',(#5149),#22906); -#24010=PRODUCT_DEFINITION_SHAPE('',$,#5155); -#24011=SHAPE_DEFINITION_REPRESENTATION(#24010,#24012); -#24012=SHAPE_REPRESENTATION('',(#5156),#22906); -#24013=PRODUCT_DEFINITION_SHAPE('',$,#5162); -#24014=SHAPE_DEFINITION_REPRESENTATION(#24013,#24015); -#24015=SHAPE_REPRESENTATION('',(#5163),#22906); -#24016=PRODUCT_DEFINITION_SHAPE('',$,#5169); -#24017=SHAPE_DEFINITION_REPRESENTATION(#24016,#24018); -#24018=SHAPE_REPRESENTATION('',(#5170),#22906); -#24019=PRODUCT_DEFINITION_SHAPE('',$,#5176); -#24020=SHAPE_DEFINITION_REPRESENTATION(#24019,#24021); -#24021=SHAPE_REPRESENTATION('',(#5177),#22906); -#24022=PRODUCT_DEFINITION_SHAPE('',$,#5183); -#24023=SHAPE_DEFINITION_REPRESENTATION(#24022,#24024); -#24024=SHAPE_REPRESENTATION('',(#5184),#22906); -#24025=PRODUCT_DEFINITION_SHAPE('',$,#5190); -#24026=SHAPE_DEFINITION_REPRESENTATION(#24025,#24027); -#24027=SHAPE_REPRESENTATION('',(#5191),#22906); -#24028=PRODUCT_DEFINITION_SHAPE('',$,#5197); -#24029=SHAPE_DEFINITION_REPRESENTATION(#24028,#24030); -#24030=SHAPE_REPRESENTATION('',(#5198),#22906); -#24031=PRODUCT_DEFINITION_SHAPE('',$,#5204); -#24032=SHAPE_DEFINITION_REPRESENTATION(#24031,#24033); -#24033=SHAPE_REPRESENTATION('',(#5205),#22906); -#24034=PRODUCT_DEFINITION_SHAPE('',$,#5211); -#24035=SHAPE_DEFINITION_REPRESENTATION(#24034,#24036); -#24036=SHAPE_REPRESENTATION('',(#5212),#22906); -#24037=PRODUCT_DEFINITION_SHAPE('',$,#5218); -#24038=SHAPE_DEFINITION_REPRESENTATION(#24037,#24039); -#24039=SHAPE_REPRESENTATION('',(#5219),#22906); -#24040=PRODUCT_DEFINITION_SHAPE('',$,#5225); -#24041=SHAPE_DEFINITION_REPRESENTATION(#24040,#24042); -#24042=SHAPE_REPRESENTATION('',(#5226),#22906); -#24043=PRODUCT_DEFINITION_SHAPE('',$,#5232); -#24044=SHAPE_DEFINITION_REPRESENTATION(#24043,#24045); -#24045=SHAPE_REPRESENTATION('',(#5233),#22906); -#24046=PRODUCT_DEFINITION_SHAPE('',$,#5239); -#24047=SHAPE_DEFINITION_REPRESENTATION(#24046,#24048); -#24048=SHAPE_REPRESENTATION('',(#5240),#22906); -#24049=PRODUCT_DEFINITION_SHAPE('',$,#5246); -#24050=SHAPE_DEFINITION_REPRESENTATION(#24049,#24051); -#24051=SHAPE_REPRESENTATION('',(#5247),#22906); -#24052=PRODUCT_DEFINITION_SHAPE('',$,#5253); -#24053=SHAPE_DEFINITION_REPRESENTATION(#24052,#24054); -#24054=SHAPE_REPRESENTATION('',(#5254),#22906); -#24055=PRODUCT_DEFINITION_SHAPE('',$,#5260); -#24056=SHAPE_DEFINITION_REPRESENTATION(#24055,#24057); -#24057=SHAPE_REPRESENTATION('',(#5261),#22906); -#24058=PRODUCT_DEFINITION_SHAPE('',$,#5267); -#24059=SHAPE_DEFINITION_REPRESENTATION(#24058,#24060); -#24060=SHAPE_REPRESENTATION('',(#5268),#22906); -#24061=PRODUCT_DEFINITION_SHAPE('',$,#5274); -#24062=SHAPE_DEFINITION_REPRESENTATION(#24061,#24063); -#24063=SHAPE_REPRESENTATION('',(#5275),#22906); -#24064=PRODUCT_DEFINITION_SHAPE('',$,#5281); -#24065=SHAPE_DEFINITION_REPRESENTATION(#24064,#24066); -#24066=SHAPE_REPRESENTATION('',(#5282),#22906); -#24067=PRODUCT_DEFINITION_SHAPE('',$,#5288); -#24068=SHAPE_DEFINITION_REPRESENTATION(#24067,#24069); -#24069=SHAPE_REPRESENTATION('',(#5289),#22906); -#24070=PRODUCT_DEFINITION_SHAPE('',$,#5295); -#24071=SHAPE_DEFINITION_REPRESENTATION(#24070,#24072); -#24072=SHAPE_REPRESENTATION('',(#5296),#22906); -#24073=PRODUCT_DEFINITION_SHAPE('',$,#5302); -#24074=SHAPE_DEFINITION_REPRESENTATION(#24073,#24075); -#24075=SHAPE_REPRESENTATION('',(#5303),#22906); -#24076=PRODUCT_DEFINITION_SHAPE('',$,#5309); -#24077=SHAPE_DEFINITION_REPRESENTATION(#24076,#24078); -#24078=SHAPE_REPRESENTATION('',(#5310),#22906); -#24079=PRODUCT_DEFINITION_SHAPE('',$,#5316); -#24080=SHAPE_DEFINITION_REPRESENTATION(#24079,#24081); -#24081=SHAPE_REPRESENTATION('',(#5317),#22906); -#24082=PRODUCT_DEFINITION_SHAPE('',$,#5323); -#24083=SHAPE_DEFINITION_REPRESENTATION(#24082,#24084); -#24084=SHAPE_REPRESENTATION('',(#5324),#22906); -#24085=PRODUCT_DEFINITION_SHAPE('',$,#5375); -#24086=SHAPE_DEFINITION_REPRESENTATION(#24085,#24087); -#24087=SHAPE_REPRESENTATION('',(#5376),#22906); -#24088=PRODUCT_DEFINITION_SHAPE('',$,#5382); -#24089=SHAPE_DEFINITION_REPRESENTATION(#24088,#24090); -#24090=SHAPE_REPRESENTATION('',(#5383),#22906); -#24091=REPRESENTATION_MAP(#26,#3618); -#24092=PRODUCT_DEFINITION_SHAPE('',$,#5389); -#24093=SHAPE_DEFINITION_REPRESENTATION(#24092,#24094); -#24094=SHAPE_REPRESENTATION('',(#5390),#22906); -#24095=PRODUCT_DEFINITION_SHAPE('',$,#5414); -#24096=SHAPE_DEFINITION_REPRESENTATION(#24095,#24097); -#24097=SHAPE_REPRESENTATION('',(#5415),#22906); -#24098=PRODUCT_DEFINITION_SHAPE('',$,#5421); -#24099=SHAPE_DEFINITION_REPRESENTATION(#24098,#24100); -#24100=SHAPE_REPRESENTATION('',(#5422),#22906); -#24101=PRODUCT_DEFINITION_SHAPE('',$,#5428); -#24102=SHAPE_DEFINITION_REPRESENTATION(#24101,#24103); -#24103=SHAPE_REPRESENTATION('',(#5429),#22906); -#24104=PRODUCT_DEFINITION_SHAPE('',$,#5453); -#24105=SHAPE_DEFINITION_REPRESENTATION(#24104,#24106); -#24106=SHAPE_REPRESENTATION('',(#5454),#22906); -#24107=PRODUCT_DEFINITION_SHAPE('',$,#5460); -#24108=SHAPE_DEFINITION_REPRESENTATION(#24107,#24109); -#24109=SHAPE_REPRESENTATION('',(#5461),#22906); -#24110=PRODUCT_DEFINITION_SHAPE('',$,#5467); -#24111=SHAPE_DEFINITION_REPRESENTATION(#24110,#24112); -#24112=SHAPE_REPRESENTATION('',(#5468),#22906); -#24113=PRODUCT_DEFINITION_SHAPE('',$,#5495); -#24114=SHAPE_DEFINITION_REPRESENTATION(#24113,#24115); -#24115=SHAPE_REPRESENTATION('',(#5496),#22906); -#24116=PRODUCT_DEFINITION_SHAPE('',$,#5502); -#24117=SHAPE_DEFINITION_REPRESENTATION(#24116,#24118); -#24118=SHAPE_REPRESENTATION('',(#5503),#22906); -#24119=PRODUCT_DEFINITION_SHAPE('',$,#5530); -#24120=SHAPE_DEFINITION_REPRESENTATION(#24119,#24121); -#24121=SHAPE_REPRESENTATION('',(#5531),#22906); -#24122=PRODUCT_DEFINITION_SHAPE('',$,#5537); -#24123=SHAPE_DEFINITION_REPRESENTATION(#24122,#24124); -#24124=SHAPE_REPRESENTATION('',(#5538),#22906); -#24125=PRODUCT_DEFINITION_SHAPE('',$,#5559); -#24126=SHAPE_DEFINITION_REPRESENTATION(#24125,#24127); -#24127=SHAPE_REPRESENTATION('',(#5560),#22906); -#24128=PRODUCT_DEFINITION_SHAPE('',$,#5566); -#24129=SHAPE_DEFINITION_REPRESENTATION(#24128,#24130); -#24130=SHAPE_REPRESENTATION('',(#5567),#22906); -#24131=PRODUCT_DEFINITION_SHAPE('',$,#5573); -#24132=SHAPE_DEFINITION_REPRESENTATION(#24131,#24133); -#24133=SHAPE_REPRESENTATION('',(#5574),#22906); -#24134=PRODUCT_DEFINITION_SHAPE('',$,#5580); -#24135=SHAPE_DEFINITION_REPRESENTATION(#24134,#24136); -#24136=SHAPE_REPRESENTATION('',(#5581),#22906); -#24137=PRODUCT_DEFINITION_SHAPE('',$,#5587); -#24138=SHAPE_DEFINITION_REPRESENTATION(#24137,#24139); -#24139=SHAPE_REPRESENTATION('',(#5588),#22906); -#24140=PRODUCT_DEFINITION_SHAPE('',$,#5594); -#24141=SHAPE_DEFINITION_REPRESENTATION(#24140,#24142); -#24142=SHAPE_REPRESENTATION('',(#5595),#22906); -#24143=PRODUCT_DEFINITION_SHAPE('',$,#5691); -#24144=SHAPE_DEFINITION_REPRESENTATION(#24143,#24145); -#24145=SHAPE_REPRESENTATION('',(#5692),#22906); -#24146=PRODUCT_DEFINITION_SHAPE('',$,#5698); -#24147=SHAPE_DEFINITION_REPRESENTATION(#24146,#24148); -#24148=SHAPE_REPRESENTATION('',(#5699),#22906); -#24149=PRODUCT_DEFINITION_SHAPE('',$,#5705); -#24150=SHAPE_DEFINITION_REPRESENTATION(#24149,#24151); -#24151=SHAPE_REPRESENTATION('',(#5706),#22906); -#24152=PRODUCT_DEFINITION_SHAPE('',$,#5712); -#24153=SHAPE_DEFINITION_REPRESENTATION(#24152,#24154); -#24154=SHAPE_REPRESENTATION('',(#5713),#22906); -#24155=PRODUCT_DEFINITION_SHAPE('',$,#5719); -#24156=SHAPE_DEFINITION_REPRESENTATION(#24155,#24157); -#24157=SHAPE_REPRESENTATION('',(#5720),#22906); -#24158=PRODUCT_DEFINITION_SHAPE('',$,#5726); -#24159=SHAPE_DEFINITION_REPRESENTATION(#24158,#24160); -#24160=SHAPE_REPRESENTATION('',(#5727),#22906); -#24161=PRODUCT_DEFINITION_SHAPE('',$,#5733); -#24162=SHAPE_DEFINITION_REPRESENTATION(#24161,#24163); -#24163=SHAPE_REPRESENTATION('',(#5734),#22906); -#24164=PRODUCT_DEFINITION_SHAPE('',$,#5740); -#24165=SHAPE_DEFINITION_REPRESENTATION(#24164,#24166); -#24166=SHAPE_REPRESENTATION('',(#5741),#22906); -#24167=PRODUCT_DEFINITION_SHAPE('',$,#5747); -#24168=SHAPE_DEFINITION_REPRESENTATION(#24167,#24169); -#24169=SHAPE_REPRESENTATION('',(#5748),#22906); -#24170=PRODUCT_DEFINITION_SHAPE('',$,#5754); -#24171=SHAPE_DEFINITION_REPRESENTATION(#24170,#24172); -#24172=SHAPE_REPRESENTATION('',(#5755),#22906); -#24173=PRODUCT_DEFINITION_SHAPE('',$,#5761); -#24174=SHAPE_DEFINITION_REPRESENTATION(#24173,#24175); -#24175=SHAPE_REPRESENTATION('',(#5762),#22906); -#24176=PRODUCT_DEFINITION_SHAPE('',$,#5768); -#24177=SHAPE_DEFINITION_REPRESENTATION(#24176,#24178); -#24178=SHAPE_REPRESENTATION('',(#5769),#22906); -#24179=PRODUCT_DEFINITION_SHAPE('',$,#5775); -#24180=SHAPE_DEFINITION_REPRESENTATION(#24179,#24181); -#24181=SHAPE_REPRESENTATION('',(#5776),#22906); -#24182=PRODUCT_DEFINITION_SHAPE('',$,#5782); -#24183=SHAPE_DEFINITION_REPRESENTATION(#24182,#24184); -#24184=SHAPE_REPRESENTATION('',(#5783),#22906); -#24185=PRODUCT_DEFINITION_SHAPE('',$,#5816); -#24186=SHAPE_DEFINITION_REPRESENTATION(#24185,#24187); -#24187=SHAPE_REPRESENTATION('',(#5817),#22906); -#24188=PRODUCT_DEFINITION_SHAPE('',$,#5823); -#24189=SHAPE_DEFINITION_REPRESENTATION(#24188,#24190); -#24190=SHAPE_REPRESENTATION('',(#5824),#22906); -#24191=PRODUCT_DEFINITION_SHAPE('',$,#5851); -#24192=SHAPE_DEFINITION_REPRESENTATION(#24191,#24193); -#24193=SHAPE_REPRESENTATION('',(#5852),#22906); -#24194=PRODUCT_DEFINITION_SHAPE('',$,#5858); -#24195=SHAPE_DEFINITION_REPRESENTATION(#24194,#24196); -#24196=SHAPE_REPRESENTATION('',(#5859),#22906); -#24197=REPRESENTATION_MAP(#26,#3460); -#24198=PRODUCT_DEFINITION_SHAPE('',$,#5894); -#24199=SHAPE_DEFINITION_REPRESENTATION(#24198,#24200); -#24200=SHAPE_REPRESENTATION('',(#5895),#22906); -#24201=PRODUCT_DEFINITION_SHAPE('',$,#5901); -#24202=SHAPE_DEFINITION_REPRESENTATION(#24201,#24203); -#24203=SHAPE_REPRESENTATION('',(#5902),#22906); -#24204=PRODUCT_DEFINITION_SHAPE('',$,#6398); -#24205=SHAPE_DEFINITION_REPRESENTATION(#24204,#24206); -#24206=SHAPE_REPRESENTATION('',(#6399),#22906); -#24207=PRODUCT_DEFINITION_SHAPE('',$,#6410); -#24208=SHAPE_DEFINITION_REPRESENTATION(#24207,#24209); -#24209=SHAPE_REPRESENTATION('',(#6411),#22906); -#24210=PRODUCT_DEFINITION_SHAPE('',$,#6423); -#24211=SHAPE_DEFINITION_REPRESENTATION(#24210,#24212); -#24212=SHAPE_REPRESENTATION('',(#6424),#22906); -#24213=PRODUCT_DEFINITION_SHAPE('',$,#6436); -#24214=SHAPE_DEFINITION_REPRESENTATION(#24213,#24215); -#24215=SHAPE_REPRESENTATION('',(#6437),#22906); -#24216=PRODUCT_DEFINITION_SHAPE('',$,#6449); -#24217=SHAPE_DEFINITION_REPRESENTATION(#24216,#24218); -#24218=SHAPE_REPRESENTATION('',(#6450),#22906); -#24219=PRODUCT_DEFINITION_SHAPE('',$,#6462); -#24220=SHAPE_DEFINITION_REPRESENTATION(#24219,#24221); -#24221=SHAPE_REPRESENTATION('',(#6463),#22906); -#24222=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10543,#14339,#13319); -#24223=PROPERTY_DEFINITION_REPRESENTATION(#10543,#10538); -#24224=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10560,#14339,#13319); -#24225=PROPERTY_DEFINITION_REPRESENTATION(#10560,#10556); -#24226=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#11015,#14339,#13319); -#24227=PROPERTY_DEFINITION_REPRESENTATION(#11015,#11011); -#24228=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#8943,#10535); -#24229=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#7500,#10535); -#24230=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#8853,#10928); -#24231=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#8578,#11559); -#24232=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#6869,#11711); -#24233=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#8543,#11711); -#24234=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#10346,#11713); -#24235=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#6864,#11713); -#24236=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#7465,#11794); -#24237=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#6859,#12585); -#24238=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#8573,#12672); -#24239=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#8017,#12672); -#24240=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#7710,#12707); -#24241=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#7992,#12707); -#24242=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#7099,#12707); -#24243=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10534,#8943); -#24244=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10534,#7500); -#24245=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#10534,#10535); -#24246=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11710,#6869); -#24247=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11710,#8543); -#24248=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#11710,#11711); -#24249=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11712,#10346); -#24250=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11712,#6864); -#24251=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#11712,#11713); -#24252=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#12584,#6859); -#24253=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#12584,#12585); -#24255=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#355,#14339,#13319); -#24256=ID_ATTRIBUTE('1',#355); -#24257=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#349,#355); -#24259=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#368,#14339,#13319); -#24260=ID_ATTRIBUTE('1',#368); -#24261=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#349,#368); -#24263=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#414,#14339,#13319); -#24264=ID_ATTRIBUTE('1',#414); -#24265=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#408,#414); -#24267=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1824,#14339,#13319); -#24268=ID_ATTRIBUTE('1',#1824); -#24269=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1818,#1824); -#24271=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1967,#14339,#13319); -#24272=ID_ATTRIBUTE('1',#1967); -#24273=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1818,#1967); -#24275=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2169,#14339,#13319); -#24276=ID_ATTRIBUTE('1',#2169); -#24277=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1818,#2169); -#24279=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2372,#14339,#13319); -#24280=ID_ATTRIBUTE('1',#2372); -#24281=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2366,#2372); -#24283=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2388,#14339,#13319); -#24284=ID_ATTRIBUTE('1',#2388); -#24285=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2366,#2388); -#24287=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4087,#14339,#13319); -#24288=ID_ATTRIBUTE('1',#4087); -#24289=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#4093,#4087); -#24290=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#95,#935); -#24291=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#127,#954); -#24292=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#151,#973); -#24293=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#175,#1001); -#24294=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#199,#1038); -#24295=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#223,#1165); -#24296=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#247,#1193); -#24297=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#271,#1266); -#24298=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#321,#1294); -#24299=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#381,#1313); -#24300=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#427,#1332); -#24301=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#456,#1351); -#24302=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#485,#1370); -#24303=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#509,#1434); -#24304=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#533,#1633); -#24305=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#557,#1661); -#24306=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#581,#1680); -#24307=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#605,#1726); -#24308=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#629,#1748); -#24309=NAME_ATTRIBUTE('single instance',#2467); -#24310=PROPERTY_DEFINITION('','',#2467); -#24311=REPRESENTATION('',(#14740),#13704); -#24312=PROPERTY_DEFINITION_REPRESENTATION(#24310,#24311); -#24313=PROPERTY_DEFINITION('explicitly created','false',#2467); -#24314=PROPERTY_DEFINITION('is base','true',#2467); -#24315=NAME_ATTRIBUTE('single instance',#2503); -#24316=PROPERTY_DEFINITION('','',#2503); -#24317=REPRESENTATION('',(#14740),#13704); -#24318=PROPERTY_DEFINITION_REPRESENTATION(#24316,#24317); -#24319=PROPERTY_DEFINITION('explicitly created','false',#2503); -#24320=PROPERTY_DEFINITION('is base','true',#2503); -#24321=NAME_ATTRIBUTE('single instance',#2505); -#24322=PROPERTY_DEFINITION('','',#2505); -#24323=REPRESENTATION('',(#14740),#13704); -#24324=PROPERTY_DEFINITION_REPRESENTATION(#24322,#24323); -#24325=PROPERTY_DEFINITION('explicitly created','false',#2505); -#24326=PROPERTY_DEFINITION('is base','true',#2505); -#24327=NAME_ATTRIBUTE('single instance',#2507); -#24328=PROPERTY_DEFINITION('','',#2507); -#24329=REPRESENTATION('',(#14740),#13704); -#24330=PROPERTY_DEFINITION_REPRESENTATION(#24328,#24329); -#24331=PROPERTY_DEFINITION('explicitly created','false',#2507); -#24332=PROPERTY_DEFINITION('is base','true',#2507); -#24333=NAME_ATTRIBUTE('single instance',#2509); -#24334=PROPERTY_DEFINITION('','',#2509); -#24335=REPRESENTATION('',(#14740),#13704); -#24336=PROPERTY_DEFINITION_REPRESENTATION(#24334,#24335); -#24337=PROPERTY_DEFINITION('explicitly created','false',#2509); -#24338=PROPERTY_DEFINITION('is base','true',#2509); -#24339=NAME_ATTRIBUTE('single instance',#2511); -#24340=PROPERTY_DEFINITION('','',#2511); -#24341=REPRESENTATION('',(#14740),#13704); -#24342=PROPERTY_DEFINITION_REPRESENTATION(#24340,#24341); -#24343=PROPERTY_DEFINITION('explicitly created','false',#2511); -#24344=PROPERTY_DEFINITION('is base','true',#2511); -#24345=NAME_ATTRIBUTE('single instance',#6643); -#24346=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6636,#2528,$,'',$,#6643,*); -#24347=PROPERTY_DEFINITION('',$,#24346); -#24348=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24347); -#24349=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24347); -#24350=PROPERTY_DEFINITION('feature of size','true',#6643); -#24351=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6643); -#24352=NAME_ATTRIBUTE('single instance',#6648); -#24353=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6636,#2528,$,'',$,#6648,*); -#24354=PROPERTY_DEFINITION('',$,#24353); -#24355=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24354); -#24356=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24354); -#24357=PROPERTY_DEFINITION('feature of size','true',#6648); -#24358=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6648); -#24359=NAME_ATTRIBUTE('single instance',#6674); -#24360=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6667,#3310,$,'',$,#6674,*); -#24361=PROPERTY_DEFINITION('',$,#24360); -#24362=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#24361); -#24363=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#24361); -#24364=PROPERTY_DEFINITION('feature of size','true',#6674); -#24365=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#6674); -#24366=NAME_ATTRIBUTE('single instance',#6679); -#24367=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6667,#2528,$,'',$,#6679,*); -#24368=PROPERTY_DEFINITION('',$,#24367); -#24369=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#24368); -#24370=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24368); -#24371=PROPERTY_DEFINITION('feature of size','true',#6679); -#24372=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6679); -#24373=NAME_ATTRIBUTE('single instance',#6705); -#24374=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6698,#2686,$,'',$,#6705,*); -#24375=PROPERTY_DEFINITION('',$,#24374); -#24376=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23697,#24375); -#24377=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24375); -#24378=PROPERTY_DEFINITION('feature of size','true',#6705); -#24379=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#6705); -#24380=NAME_ATTRIBUTE('single instance',#6710); -#24381=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6698,#2686,$,'',$,#6710,*); -#24382=PROPERTY_DEFINITION('',$,#24381); -#24383=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23694,#24382); -#24384=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24382); -#24385=PROPERTY_DEFINITION('feature of size','true',#6710); -#24386=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#6710); -#24387=NAME_ATTRIBUTE('single instance',#6735); -#24388=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6729,#2528,$,'',$,#6735,*); -#24389=PROPERTY_DEFINITION('',$,#24388); -#24390=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24389); -#24391=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24389); -#24392=PROPERTY_DEFINITION('feature of size','true',#6735); -#24393=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6735); -#24394=NAME_ATTRIBUTE('single instance',#6740); -#24395=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6729,#2528,$,'',$,#6740,*); -#24396=PROPERTY_DEFINITION('',$,#24395); -#24397=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24396); -#24398=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24396); -#24399=PROPERTY_DEFINITION('feature of size','true',#6740); -#24400=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6740); -#24401=NAME_ATTRIBUTE('single instance',#6765); -#24402=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6759,#3002,$,'',$,#6765,*); -#24403=PROPERTY_DEFINITION('',$,#24402); -#24404=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#24403); -#24405=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#24403); -#24406=PROPERTY_DEFINITION('feature of size','true',#6765); -#24407=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#6765); -#24408=NAME_ATTRIBUTE('single instance',#6770); -#24409=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6759,#3310,$,'',$,#6770,*); -#24410=PROPERTY_DEFINITION('',$,#24409); -#24411=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#24410); -#24412=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#24410); -#24413=PROPERTY_DEFINITION('feature of size','true',#6770); -#24414=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#6770); -#24415=NAME_ATTRIBUTE('single instance',#6796); -#24416=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6789,#2844,$,'',$,#6796,*); -#24417=PROPERTY_DEFINITION('',$,#24416); -#24418=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#24417); -#24419=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#24417); -#24420=PROPERTY_DEFINITION('feature of size','true',#6796); -#24421=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#6796); -#24422=NAME_ATTRIBUTE('single instance',#6801); -#24423=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6789,#2528,$,'',$,#6801,*); -#24424=PROPERTY_DEFINITION('',$,#24423); -#24425=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#24424); -#24426=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24424); -#24427=PROPERTY_DEFINITION('feature of size','true',#6801); -#24428=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6801); -#24429=NAME_ATTRIBUTE('single instance',#6826); -#24430=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6820,#2528,$,'',$,#6826,*); -#24431=PROPERTY_DEFINITION('',$,#24430); -#24432=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24431); -#24433=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24431); -#24434=PROPERTY_DEFINITION('feature of size','true',#6826); -#24435=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6826); -#24436=NAME_ATTRIBUTE('single instance',#6831); -#24437=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6820,#2528,$,'',$,#6831,*); -#24438=PROPERTY_DEFINITION('',$,#24437); -#24439=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24438); -#24440=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24438); -#24441=PROPERTY_DEFINITION('feature of size','true',#6831); -#24442=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6831); -#24443=NAME_ATTRIBUTE('single instance',#6857); -#24444=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6850,#3626,$,'',$,#6857,*); -#24445=PROPERTY_DEFINITION('',$,#24444); -#24446=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24092,#24445); -#24447=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23437,#24445); -#24448=PROPERTY_DEFINITION('feature of size','true',#6857); -#24449=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6856,#6857); -#24450=NAME_ATTRIBUTE('single instance',#6862); -#24451=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6850,#2528,$,'',$,#6862,*); -#24452=PROPERTY_DEFINITION('',$,#24451); -#24453=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24088,#24452); -#24454=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24452); -#24455=PROPERTY_DEFINITION('feature of size','true',#6862); -#24456=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6862); -#24457=NAME_ATTRIBUTE('single instance',#6867); -#24458=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6850,#2844,$,'',$,#6867,*); -#24459=PROPERTY_DEFINITION('',$,#24458); -#24460=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24085,#24459); -#24461=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#24459); -#24462=PROPERTY_DEFINITION('feature of size','true',#6867); -#24463=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#6867); -#24464=NAME_ATTRIBUTE('single instance',#6902); -#24465=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6896,#2528,$,'',$,#6902,*); -#24466=PROPERTY_DEFINITION('',$,#24465); -#24467=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24466); -#24468=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24466); -#24469=PROPERTY_DEFINITION('feature of size','true',#6902); -#24470=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6902); -#24471=NAME_ATTRIBUTE('single instance',#6907); -#24472=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6896,#2528,$,'',$,#6907,*); -#24473=PROPERTY_DEFINITION('',$,#24472); -#24474=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24473); -#24475=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24473); -#24476=PROPERTY_DEFINITION('feature of size','true',#6907); -#24477=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6907); -#24478=NAME_ATTRIBUTE('single instance',#6932); -#24479=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6926,#2528,$,'',$,#6932,*); -#24480=PROPERTY_DEFINITION('',$,#24479); -#24481=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24480); -#24482=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24480); -#24483=PROPERTY_DEFINITION('feature of size','true',#6932); -#24484=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6932); -#24485=NAME_ATTRIBUTE('single instance',#6937); -#24486=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6926,#2528,$,'',$,#6937,*); -#24487=PROPERTY_DEFINITION('',$,#24486); -#24488=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24487); -#24489=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24487); -#24490=PROPERTY_DEFINITION('feature of size','true',#6937); -#24491=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6937); -#24492=NAME_ATTRIBUTE('single instance',#6962); -#24493=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#3310,$,'',$,#6962,*); -#24494=PROPERTY_DEFINITION('',$,#24493); -#24495=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#24494); -#24496=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#24494); -#24497=PROPERTY_DEFINITION('feature of size','true',#6962); -#24498=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#6962); -#24499=NAME_ATTRIBUTE('single instance',#6967); -#24500=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#2528,$,'',$,#6967,*); -#24501=PROPERTY_DEFINITION('',$,#24500); -#24502=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#24501); -#24503=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24501); -#24504=PROPERTY_DEFINITION('feature of size','true',#6967); -#24505=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6967); -#24506=NAME_ATTRIBUTE('single instance',#6992); -#24507=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6986,#2528,$,'',$,#6992,*); -#24508=PROPERTY_DEFINITION('',$,#24507); -#24509=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24508); -#24510=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24508); -#24511=PROPERTY_DEFINITION('feature of size','true',#6992); -#24512=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6992); -#24513=NAME_ATTRIBUTE('single instance',#6997); -#24514=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6986,#2528,$,'',$,#6997,*); -#24515=PROPERTY_DEFINITION('',$,#24514); -#24516=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24515); -#24517=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24515); -#24518=PROPERTY_DEFINITION('feature of size','true',#6997); -#24519=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#6997); -#24520=NAME_ATTRIBUTE('single instance',#7022); -#24521=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7016,#2528,$,'',$,#7022,*); -#24522=PROPERTY_DEFINITION('',$,#24521); -#24523=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23746,#24522); -#24524=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24522); -#24525=PROPERTY_DEFINITION('feature of size','true',#7022); -#24526=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7022); -#24527=NAME_ATTRIBUTE('single instance',#7027); -#24528=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7016,#2528,$,'',$,#7027,*); -#24529=PROPERTY_DEFINITION('',$,#24528); -#24530=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23743,#24529); -#24531=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24529); -#24532=PROPERTY_DEFINITION('feature of size','true',#7027); -#24533=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7027); -#24534=NAME_ATTRIBUTE('single instance',#7032); -#24535=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7016,#2844,$,'',$,#7032,*); -#24536=PROPERTY_DEFINITION('',$,#24535); -#24537=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23740,#24536); -#24538=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#24536); -#24539=PROPERTY_DEFINITION('feature of size','true',#7032); -#24540=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#7032); -#24541=NAME_ATTRIBUTE('single instance',#7067); -#24542=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7061,#2844,$,'',$,#7067,*); -#24543=PROPERTY_DEFINITION('',$,#24542); -#24544=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#24543); -#24545=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#24543); -#24546=PROPERTY_DEFINITION('feature of size','true',#7067); -#24547=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#7067); -#24548=NAME_ATTRIBUTE('single instance',#7072); -#24549=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7061,#2528,$,'',$,#7072,*); -#24550=PROPERTY_DEFINITION('',$,#24549); -#24551=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#24550); -#24552=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24550); -#24553=PROPERTY_DEFINITION('feature of size','true',#7072); -#24554=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7072); -#24555=NAME_ATTRIBUTE('single instance',#7097); -#24556=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7091,#2528,$,'',$,#7097,*); -#24557=PROPERTY_DEFINITION('',$,#24556); -#24558=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24557); -#24559=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24557); -#24560=PROPERTY_DEFINITION('feature of size','true',#7097); -#24561=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7097); -#24562=NAME_ATTRIBUTE('single instance',#7102); -#24563=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7091,#2528,$,'',$,#7102,*); -#24564=PROPERTY_DEFINITION('',$,#24563); -#24565=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24564); -#24566=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24564); -#24567=PROPERTY_DEFINITION('feature of size','true',#7102); -#24568=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7102); -#24569=NAME_ATTRIBUTE('single instance',#7127); -#24570=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7121,#2528,$,'',$,#7127,*); -#24571=PROPERTY_DEFINITION('',$,#24570); -#24572=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#24571); -#24573=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24571); -#24574=PROPERTY_DEFINITION('feature of size','true',#7127); -#24575=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7127); -#24576=NAME_ATTRIBUTE('single instance',#7132); -#24577=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7121,#2528,$,'',$,#7132,*); -#24578=PROPERTY_DEFINITION('',$,#24577); -#24579=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#24578); -#24580=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24578); -#24581=PROPERTY_DEFINITION('feature of size','true',#7132); -#24582=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7132); -#24583=NAME_ATTRIBUTE('single instance',#7157); -#24584=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2528,$,'',$,#7157,*); -#24585=PROPERTY_DEFINITION('',$,#24584); -#24586=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24140,#24585); -#24587=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24585); -#24588=PROPERTY_DEFINITION('feature of size','true',#7157); -#24589=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7157); -#24590=NAME_ATTRIBUTE('single instance',#7162); -#24591=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2528,$,'',$,#7162,*); -#24592=PROPERTY_DEFINITION('',$,#24591); -#24593=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24137,#24592); -#24594=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24592); -#24595=PROPERTY_DEFINITION('feature of size','true',#7162); -#24596=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7162); -#24597=NAME_ATTRIBUTE('single instance',#7167); -#24598=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2528,$,'',$,#7167,*); -#24599=PROPERTY_DEFINITION('',$,#24598); -#24600=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24134,#24599); -#24601=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24599); -#24602=PROPERTY_DEFINITION('feature of size','true',#7167); -#24603=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7167); -#24604=NAME_ATTRIBUTE('single instance',#7172); -#24605=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2528,$,'',$,#7172,*); -#24606=PROPERTY_DEFINITION('',$,#24605); -#24607=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24131,#24606); -#24608=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24606); -#24609=PROPERTY_DEFINITION('feature of size','true',#7172); -#24610=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7172); -#24611=NAME_ATTRIBUTE('single instance',#7177); -#24612=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2528,$,'',$,#7177,*); -#24613=PROPERTY_DEFINITION('',$,#24612); -#24614=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24128,#24613); -#24615=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24613); -#24616=PROPERTY_DEFINITION('feature of size','true',#7177); -#24617=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7177); -#24618=NAME_ATTRIBUTE('single instance',#7182); -#24619=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2844,$,'',$,#7182,*); -#24620=PROPERTY_DEFINITION('',$,#24619); -#24621=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24125,#24620); -#24622=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#24620); -#24623=PROPERTY_DEFINITION('feature of size','true',#7182); -#24624=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#7182); -#24625=NAME_ATTRIBUTE('single instance',#7239); -#24626=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7233,#2528,$,'',$,#7239,*); -#24627=PROPERTY_DEFINITION('',$,#24626); -#24628=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24627); -#24629=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24627); -#24630=PROPERTY_DEFINITION('feature of size','true',#7239); -#24631=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7239); -#24632=NAME_ATTRIBUTE('single instance',#7244); -#24633=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7233,#2528,$,'',$,#7244,*); -#24634=PROPERTY_DEFINITION('',$,#24633); -#24635=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24634); -#24636=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24634); -#24637=PROPERTY_DEFINITION('feature of size','true',#7244); -#24638=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7244); -#24639=NAME_ATTRIBUTE('single instance',#7269); -#24640=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7263,#2686,$,'',$,#7269,*); -#24641=PROPERTY_DEFINITION('',$,#24640); -#24642=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23717,#24641); -#24643=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24641); -#24644=PROPERTY_DEFINITION('feature of size','true',#7269); -#24645=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7269); -#24646=NAME_ATTRIBUTE('single instance',#7274); -#24647=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7263,#2844,$,'',$,#7274,*); -#24648=PROPERTY_DEFINITION('',$,#24647); -#24649=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23714,#24648); -#24650=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#24648); -#24651=PROPERTY_DEFINITION('feature of size','true',#7274); -#24652=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#7274); -#24653=NAME_ATTRIBUTE('single instance',#7299); -#24654=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7293,#2528,$,'',$,#7299,*); -#24655=PROPERTY_DEFINITION('',$,#24654); -#24656=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24655); -#24657=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24655); -#24658=PROPERTY_DEFINITION('feature of size','true',#7299); -#24659=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7299); -#24660=NAME_ATTRIBUTE('single instance',#7304); -#24661=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7293,#2528,$,'',$,#7304,*); -#24662=PROPERTY_DEFINITION('',$,#24661); -#24663=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24662); -#24664=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24662); -#24665=PROPERTY_DEFINITION('feature of size','true',#7304); -#24666=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7304); -#24667=NAME_ATTRIBUTE('single instance',#7329); -#24668=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7323,#2528,$,'',$,#7329,*); -#24669=PROPERTY_DEFINITION('',$,#24668); -#24670=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24669); -#24671=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24669); -#24672=PROPERTY_DEFINITION('feature of size','true',#7329); -#24673=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7329); -#24674=NAME_ATTRIBUTE('single instance',#7334); -#24675=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7323,#2528,$,'',$,#7334,*); -#24676=PROPERTY_DEFINITION('',$,#24675); -#24677=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24676); -#24678=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24676); -#24679=PROPERTY_DEFINITION('feature of size','true',#7334); -#24680=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7334); -#24681=NAME_ATTRIBUTE('single instance',#7359); -#24682=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7353,#3002,$,'',$,#7359,*); -#24683=PROPERTY_DEFINITION('',$,#24682); -#24684=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#24683); -#24685=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#24683); -#24686=PROPERTY_DEFINITION('feature of size','true',#7359); -#24687=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#7359); -#24688=NAME_ATTRIBUTE('single instance',#7364); -#24689=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7353,#3310,$,'',$,#7364,*); -#24690=PROPERTY_DEFINITION('',$,#24689); -#24691=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#24690); -#24692=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#24690); -#24693=PROPERTY_DEFINITION('feature of size','true',#7364); -#24694=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#7364); -#24695=NAME_ATTRIBUTE('single instance',#7389); -#24696=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7383,#2528,$,'',$,#7389,*); -#24697=PROPERTY_DEFINITION('',$,#24696); -#24698=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23746,#24697); -#24699=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24697); -#24700=PROPERTY_DEFINITION('feature of size','true',#7389); -#24701=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7389); -#24702=NAME_ATTRIBUTE('single instance',#7394); -#24703=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7383,#2528,$,'',$,#7394,*); -#24704=PROPERTY_DEFINITION('',$,#24703); -#24705=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23743,#24704); -#24706=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24704); -#24707=PROPERTY_DEFINITION('feature of size','true',#7394); -#24708=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7394); -#24709=NAME_ATTRIBUTE('single instance',#7399); -#24710=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7383,#2844,$,'',$,#7399,*); -#24711=PROPERTY_DEFINITION('',$,#24710); -#24712=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23740,#24711); -#24713=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#24711); -#24714=PROPERTY_DEFINITION('feature of size','true',#7399); -#24715=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#7399); -#24716=NAME_ATTRIBUTE('single instance',#7433); -#24717=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7427,#3310,$,'',$,#7433,*); -#24718=PROPERTY_DEFINITION('',$,#24717); -#24719=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24194,#24718); -#24720=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#24718); -#24721=PROPERTY_DEFINITION('feature of size','true',#7433); -#24722=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#7433); -#24723=NAME_ATTRIBUTE('single instance',#7438); -#24724=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7427,#2686,$,'',$,#7438,*); -#24725=PROPERTY_DEFINITION('',$,#24724); -#24726=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24191,#24725); -#24727=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24725); -#24728=PROPERTY_DEFINITION('feature of size','true',#7438); -#24729=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7438); -#24730=NAME_ATTRIBUTE('single instance',#7463); -#24731=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7457,#2528,$,'',$,#7463,*); -#24732=PROPERTY_DEFINITION('',$,#24731); -#24733=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24122,#24732); -#24734=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24732); -#24735=PROPERTY_DEFINITION('feature of size','true',#7463); -#24736=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7463); -#24737=NAME_ATTRIBUTE('single instance',#7468); -#24738=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7457,#2528,$,'',$,#7468,*); -#24739=PROPERTY_DEFINITION('',$,#24738); -#24740=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24119,#24739); -#24741=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24739); -#24742=PROPERTY_DEFINITION('feature of size','true',#7468); -#24743=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7468); -#24744=NAME_ATTRIBUTE('single instance',#7493); -#24745=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7487,#2528,$,'',$,#7493,*); -#24746=PROPERTY_DEFINITION('',$,#24745); -#24747=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24746); -#24748=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24746); -#24749=PROPERTY_DEFINITION('feature of size','true',#7493); -#24750=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7493); -#24751=NAME_ATTRIBUTE('single instance',#7498); -#24752=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7487,#2528,$,'',$,#7498,*); -#24753=PROPERTY_DEFINITION('',$,#24752); -#24754=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24753); -#24755=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24753); -#24756=PROPERTY_DEFINITION('feature of size','true',#7498); -#24757=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7498); -#24758=NAME_ATTRIBUTE('single instance',#7523); -#24759=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7517,#2844,$,'',$,#7523,*); -#24760=PROPERTY_DEFINITION('',$,#24759); -#24761=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23704,#24760); -#24762=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#24760); -#24763=PROPERTY_DEFINITION('feature of size','true',#7523); -#24764=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#7523); -#24765=NAME_ATTRIBUTE('single instance',#7528); -#24766=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7517,#2686,$,'',$,#7528,*); -#24767=PROPERTY_DEFINITION('',$,#24766); -#24768=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23700,#24767); -#24769=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24767); -#24770=PROPERTY_DEFINITION('feature of size','true',#7528); -#24771=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7528); -#24772=NAME_ATTRIBUTE('single instance',#7553); -#24773=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7547,#2528,$,'',$,#7553,*); -#24774=PROPERTY_DEFINITION('',$,#24773); -#24775=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24774); -#24776=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24774); -#24777=PROPERTY_DEFINITION('feature of size','true',#7553); -#24778=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7553); -#24779=NAME_ATTRIBUTE('single instance',#7558); -#24780=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7547,#2528,$,'',$,#7558,*); -#24781=PROPERTY_DEFINITION('',$,#24780); -#24782=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24781); -#24783=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24781); -#24784=PROPERTY_DEFINITION('feature of size','true',#7558); -#24785=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7558); -#24786=NAME_ATTRIBUTE('single instance',#7583); -#24787=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7577,#2528,$,'',$,#7583,*); -#24788=PROPERTY_DEFINITION('',$,#24787); -#24789=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24788); -#24790=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24788); -#24791=PROPERTY_DEFINITION('feature of size','true',#7583); -#24792=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7583); -#24793=NAME_ATTRIBUTE('single instance',#7588); -#24794=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7577,#2528,$,'',$,#7588,*); -#24795=PROPERTY_DEFINITION('',$,#24794); -#24796=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24795); -#24797=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24795); -#24798=PROPERTY_DEFINITION('feature of size','true',#7588); -#24799=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7588); -#24800=NAME_ATTRIBUTE('single instance',#7613); -#24801=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7607,#3310,$,'',$,#7613,*); -#24802=PROPERTY_DEFINITION('',$,#24801); -#24803=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24194,#24802); -#24804=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#24802); -#24805=PROPERTY_DEFINITION('feature of size','true',#7613); -#24806=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#7613); -#24807=NAME_ATTRIBUTE('single instance',#7618); -#24808=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7607,#2686,$,'',$,#7618,*); -#24809=PROPERTY_DEFINITION('',$,#24808); -#24810=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24191,#24809); -#24811=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24809); -#24812=PROPERTY_DEFINITION('feature of size','true',#7618); -#24813=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7618); -#24814=NAME_ATTRIBUTE('single instance',#7643); -#24815=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7637,#2528,$,'',$,#7643,*); -#24816=PROPERTY_DEFINITION('',$,#24815); -#24817=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24816); -#24818=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24816); -#24819=PROPERTY_DEFINITION('feature of size','true',#7643); -#24820=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7643); -#24821=NAME_ATTRIBUTE('single instance',#7648); -#24822=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7637,#2528,$,'',$,#7648,*); -#24823=PROPERTY_DEFINITION('',$,#24822); -#24824=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24823); -#24825=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24823); -#24826=PROPERTY_DEFINITION('feature of size','true',#7648); -#24827=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7648); -#24828=NAME_ATTRIBUTE('single instance',#7673); -#24829=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7667,#2528,$,'',$,#7673,*); -#24830=PROPERTY_DEFINITION('',$,#24829); -#24831=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24830); -#24832=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24830); -#24833=PROPERTY_DEFINITION('feature of size','true',#7673); -#24834=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7673); -#24835=NAME_ATTRIBUTE('single instance',#7678); -#24836=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7667,#2528,$,'',$,#7678,*); -#24837=PROPERTY_DEFINITION('',$,#24836); -#24838=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24837); -#24839=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24837); -#24840=PROPERTY_DEFINITION('feature of size','true',#7678); -#24841=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7678); -#24842=NAME_ATTRIBUTE('single instance',#7703); -#24843=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7697,#2686,$,'',$,#7703,*); -#24844=PROPERTY_DEFINITION('',$,#24843); -#24845=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23731,#24844); -#24846=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24844); -#24847=PROPERTY_DEFINITION('feature of size','true',#7703); -#24848=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7703); -#24849=NAME_ATTRIBUTE('single instance',#7708); -#24850=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7697,#2686,$,'',$,#7708,*); -#24851=PROPERTY_DEFINITION('',$,#24850); -#24852=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23728,#24851); -#24853=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24851); -#24854=PROPERTY_DEFINITION('feature of size','true',#7708); -#24855=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7708); -#24856=NAME_ATTRIBUTE('single instance',#7733); -#24857=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7727,#2528,$,'',$,#7733,*); -#24858=PROPERTY_DEFINITION('',$,#24857); -#24859=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24858); -#24860=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24858); -#24861=PROPERTY_DEFINITION('feature of size','true',#7733); -#24862=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7733); -#24863=NAME_ATTRIBUTE('single instance',#7738); -#24864=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7727,#2528,$,'',$,#7738,*); -#24865=PROPERTY_DEFINITION('',$,#24864); -#24866=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24865); -#24867=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24865); -#24868=PROPERTY_DEFINITION('feature of size','true',#7738); -#24869=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7738); -#24870=NAME_ATTRIBUTE('single instance',#7763); -#24871=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7757,#2528,$,'',$,#7763,*); -#24872=PROPERTY_DEFINITION('',$,#24871); -#24873=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#24872); -#24874=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24872); -#24875=PROPERTY_DEFINITION('feature of size','true',#7763); -#24876=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7763); -#24877=NAME_ATTRIBUTE('single instance',#7768); -#24878=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7757,#2528,$,'',$,#7768,*); -#24879=PROPERTY_DEFINITION('',$,#24878); -#24880=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#24879); -#24881=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24879); -#24882=PROPERTY_DEFINITION('feature of size','true',#7768); -#24883=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7768); -#24884=NAME_ATTRIBUTE('single instance',#7793); -#24885=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7787,#2528,$,'',$,#7793,*); -#24886=PROPERTY_DEFINITION('',$,#24885); -#24887=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24886); -#24888=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24886); -#24889=PROPERTY_DEFINITION('feature of size','true',#7793); -#24890=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7793); -#24891=NAME_ATTRIBUTE('single instance',#7798); -#24892=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7787,#2528,$,'',$,#7798,*); -#24893=PROPERTY_DEFINITION('',$,#24892); -#24894=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24893); -#24895=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24893); -#24896=PROPERTY_DEFINITION('feature of size','true',#7798); -#24897=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7798); -#24898=NAME_ATTRIBUTE('single instance',#7823); -#24899=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2528,$,'',$,#7823,*); -#24900=PROPERTY_DEFINITION('',$,#24899); -#24901=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24140,#24900); -#24902=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24900); -#24903=PROPERTY_DEFINITION('feature of size','true',#7823); -#24904=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7823); -#24905=NAME_ATTRIBUTE('single instance',#7828); -#24906=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2528,$,'',$,#7828,*); -#24907=PROPERTY_DEFINITION('',$,#24906); -#24908=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24137,#24907); -#24909=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24907); -#24910=PROPERTY_DEFINITION('feature of size','true',#7828); -#24911=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7828); -#24912=NAME_ATTRIBUTE('single instance',#7833); -#24913=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2528,$,'',$,#7833,*); -#24914=PROPERTY_DEFINITION('',$,#24913); -#24915=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24134,#24914); -#24916=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24914); -#24917=PROPERTY_DEFINITION('feature of size','true',#7833); -#24918=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7833); -#24919=NAME_ATTRIBUTE('single instance',#7838); -#24920=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2528,$,'',$,#7838,*); -#24921=PROPERTY_DEFINITION('',$,#24920); -#24922=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24131,#24921); -#24923=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24921); -#24924=PROPERTY_DEFINITION('feature of size','true',#7838); -#24925=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7838); -#24926=NAME_ATTRIBUTE('single instance',#7843); -#24927=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2528,$,'',$,#7843,*); -#24928=PROPERTY_DEFINITION('',$,#24927); -#24929=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24128,#24928); -#24930=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24928); -#24931=PROPERTY_DEFINITION('feature of size','true',#7843); -#24932=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7843); -#24933=NAME_ATTRIBUTE('single instance',#7848); -#24934=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2844,$,'',$,#7848,*); -#24935=PROPERTY_DEFINITION('',$,#24934); -#24936=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24125,#24935); -#24937=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#24935); -#24938=PROPERTY_DEFINITION('feature of size','true',#7848); -#24939=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#7848); -#24940=NAME_ATTRIBUTE('single instance',#7905); -#24941=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7899,#2528,$,'',$,#7905,*); -#24942=PROPERTY_DEFINITION('',$,#24941); -#24943=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#24942); -#24944=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24942); -#24945=PROPERTY_DEFINITION('feature of size','true',#7905); -#24946=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7905); -#24947=NAME_ATTRIBUTE('single instance',#7910); -#24948=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7899,#2528,$,'',$,#7910,*); -#24949=PROPERTY_DEFINITION('',$,#24948); -#24950=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#24949); -#24951=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24949); -#24952=PROPERTY_DEFINITION('feature of size','true',#7910); -#24953=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7910); -#24954=NAME_ATTRIBUTE('single instance',#7935); -#24955=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7929,#2528,$,'',$,#7935,*); -#24956=PROPERTY_DEFINITION('',$,#24955); -#24957=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#24956); -#24958=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24956); -#24959=PROPERTY_DEFINITION('feature of size','true',#7935); -#24960=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7935); -#24961=NAME_ATTRIBUTE('single instance',#7940); -#24962=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7929,#2528,$,'',$,#7940,*); -#24963=PROPERTY_DEFINITION('',$,#24962); -#24964=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#24963); -#24965=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#24963); -#24966=PROPERTY_DEFINITION('feature of size','true',#7940); -#24967=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#7940); -#24968=NAME_ATTRIBUTE('single instance',#7965); -#24969=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#7965,*); -#24970=PROPERTY_DEFINITION('',$,#24969); -#24971=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24182,#24970); -#24972=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24970); -#24973=PROPERTY_DEFINITION('feature of size','true',#7965); -#24974=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7965); -#24975=NAME_ATTRIBUTE('single instance',#7970); -#24976=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#7970,*); -#24977=PROPERTY_DEFINITION('',$,#24976); -#24978=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24179,#24977); -#24979=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24977); -#24980=PROPERTY_DEFINITION('feature of size','true',#7970); -#24981=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7970); -#24982=NAME_ATTRIBUTE('single instance',#7975); -#24983=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#7975,*); -#24984=PROPERTY_DEFINITION('',$,#24983); -#24985=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24176,#24984); -#24986=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24984); -#24987=PROPERTY_DEFINITION('feature of size','true',#7975); -#24988=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7975); -#24989=NAME_ATTRIBUTE('single instance',#7980); -#24990=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#7980,*); -#24991=PROPERTY_DEFINITION('',$,#24990); -#24992=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24173,#24991); -#24993=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24991); -#24994=PROPERTY_DEFINITION('feature of size','true',#7980); -#24995=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7980); -#24996=NAME_ATTRIBUTE('single instance',#7985); -#24997=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#7985,*); -#24998=PROPERTY_DEFINITION('',$,#24997); -#24999=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24170,#24998); -#25000=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#24998); -#25001=PROPERTY_DEFINITION('feature of size','true',#7985); -#25002=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7985); -#25003=NAME_ATTRIBUTE('single instance',#7990); -#25004=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#7990,*); -#25005=PROPERTY_DEFINITION('',$,#25004); -#25006=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24167,#25005); -#25007=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25005); -#25008=PROPERTY_DEFINITION('feature of size','true',#7990); -#25009=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7990); -#25010=NAME_ATTRIBUTE('single instance',#7995); -#25011=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#7995,*); -#25012=PROPERTY_DEFINITION('',$,#25011); -#25013=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24164,#25012); -#25014=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25012); -#25015=PROPERTY_DEFINITION('feature of size','true',#7995); -#25016=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#7995); -#25017=NAME_ATTRIBUTE('single instance',#8000); -#25018=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#8000,*); -#25019=PROPERTY_DEFINITION('',$,#25018); -#25020=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24161,#25019); -#25021=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25019); -#25022=PROPERTY_DEFINITION('feature of size','true',#8000); -#25023=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8000); -#25024=NAME_ATTRIBUTE('single instance',#8005); -#25025=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#8005,*); -#25026=PROPERTY_DEFINITION('',$,#25025); -#25027=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24158,#25026); -#25028=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25026); -#25029=PROPERTY_DEFINITION('feature of size','true',#8005); -#25030=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8005); -#25031=NAME_ATTRIBUTE('single instance',#8010); -#25032=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#8010,*); -#25033=PROPERTY_DEFINITION('',$,#25032); -#25034=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24155,#25033); -#25035=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25033); -#25036=PROPERTY_DEFINITION('feature of size','true',#8010); -#25037=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8010); -#25038=NAME_ATTRIBUTE('single instance',#8015); -#25039=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#8015,*); -#25040=PROPERTY_DEFINITION('',$,#25039); -#25041=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24152,#25040); -#25042=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25040); -#25043=PROPERTY_DEFINITION('feature of size','true',#8015); -#25044=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8015); -#25045=NAME_ATTRIBUTE('single instance',#8020); -#25046=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#8020,*); -#25047=PROPERTY_DEFINITION('',$,#25046); -#25048=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24149,#25047); -#25049=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25047); -#25050=PROPERTY_DEFINITION('feature of size','true',#8020); -#25051=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8020); -#25052=NAME_ATTRIBUTE('single instance',#8025); -#25053=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2686,$,'',$,#8025,*); -#25054=PROPERTY_DEFINITION('',$,#25053); -#25055=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24146,#25054); -#25056=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25054); -#25057=PROPERTY_DEFINITION('feature of size','true',#8025); -#25058=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8025); -#25059=NAME_ATTRIBUTE('single instance',#8030); -#25060=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#3310,$,'',$,#8030,*); -#25061=PROPERTY_DEFINITION('',$,#25060); -#25062=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24143,#25061); -#25063=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#25061); -#25064=PROPERTY_DEFINITION('feature of size','true',#8030); -#25065=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8030); -#25066=NAME_ATTRIBUTE('single instance',#8151); -#25067=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8145,#3310,$,'',$,#8151,*); -#25068=PROPERTY_DEFINITION('',$,#25067); -#25069=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#25068); -#25070=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#25068); -#25071=PROPERTY_DEFINITION('feature of size','true',#8151); -#25072=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8151); -#25073=NAME_ATTRIBUTE('single instance',#8156); -#25074=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8145,#2528,$,'',$,#8156,*); -#25075=PROPERTY_DEFINITION('',$,#25074); -#25076=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#25075); -#25077=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25075); -#25078=PROPERTY_DEFINITION('feature of size','true',#8156); -#25079=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8156); -#25080=NAME_ATTRIBUTE('single instance',#8181); -#25081=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8175,#3002,$,'',$,#8181,*); -#25082=PROPERTY_DEFINITION('',$,#25081); -#25083=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#25082); -#25084=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25082); -#25085=PROPERTY_DEFINITION('feature of size','true',#8181); -#25086=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8181); -#25087=NAME_ATTRIBUTE('single instance',#8186); -#25088=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8175,#3310,$,'',$,#8186,*); -#25089=PROPERTY_DEFINITION('',$,#25088); -#25090=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#25089); -#25091=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#25089); -#25092=PROPERTY_DEFINITION('feature of size','true',#8186); -#25093=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8186); -#25094=NAME_ATTRIBUTE('single instance',#8211); -#25095=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8205,#2528,$,'',$,#8211,*); -#25096=PROPERTY_DEFINITION('',$,#25095); -#25097=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#25096); -#25098=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25096); -#25099=PROPERTY_DEFINITION('feature of size','true',#8211); -#25100=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8211); -#25101=NAME_ATTRIBUTE('single instance',#8216); -#25102=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8205,#2528,$,'',$,#8216,*); -#25103=PROPERTY_DEFINITION('',$,#25102); -#25104=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#25103); -#25105=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25103); -#25106=PROPERTY_DEFINITION('feature of size','true',#8216); -#25107=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8216); -#25108=NAME_ATTRIBUTE('single instance',#8241); -#25109=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8235,#3310,$,'',$,#8241,*); -#25110=PROPERTY_DEFINITION('',$,#25109); -#25111=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#25110); -#25112=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#25110); -#25113=PROPERTY_DEFINITION('feature of size','true',#8241); -#25114=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8241); -#25115=NAME_ATTRIBUTE('single instance',#8246); -#25116=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8235,#2528,$,'',$,#8246,*); -#25117=PROPERTY_DEFINITION('',$,#25116); -#25118=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#25117); -#25119=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25117); -#25120=PROPERTY_DEFINITION('feature of size','true',#8246); -#25121=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8246); -#25122=NAME_ATTRIBUTE('single instance',#8271); -#25123=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8265,#2528,$,'',$,#8271,*); -#25124=PROPERTY_DEFINITION('',$,#25123); -#25125=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#25124); -#25126=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25124); -#25127=PROPERTY_DEFINITION('feature of size','true',#8271); -#25128=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8271); -#25129=NAME_ATTRIBUTE('single instance',#8276); -#25130=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8265,#2528,$,'',$,#8276,*); -#25131=PROPERTY_DEFINITION('',$,#25130); -#25132=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#25131); -#25133=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25131); -#25134=PROPERTY_DEFINITION('feature of size','true',#8276); -#25135=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8276); -#25136=NAME_ATTRIBUTE('single instance',#8301); -#25137=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#2528,$,'',$,#8301,*); -#25138=PROPERTY_DEFINITION('',$,#25137); -#25139=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#25138); -#25140=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25138); -#25141=PROPERTY_DEFINITION('feature of size','true',#8301); -#25142=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8301); -#25143=NAME_ATTRIBUTE('single instance',#8306); -#25144=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#2528,$,'',$,#8306,*); -#25145=PROPERTY_DEFINITION('',$,#25144); -#25146=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#25145); -#25147=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25145); -#25148=PROPERTY_DEFINITION('feature of size','true',#8306); -#25149=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8306); -#25150=NAME_ATTRIBUTE('single instance',#8331); -#25151=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#2844,$,'',$,#8331,*); -#25152=PROPERTY_DEFINITION('',$,#25151); -#25153=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#25152); -#25154=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#25152); -#25155=PROPERTY_DEFINITION('feature of size','true',#8331); -#25156=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#8331); -#25157=NAME_ATTRIBUTE('single instance',#8336); -#25158=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#2528,$,'',$,#8336,*); -#25159=PROPERTY_DEFINITION('',$,#25158); -#25160=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#25159); -#25161=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25159); -#25162=PROPERTY_DEFINITION('feature of size','true',#8336); -#25163=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8336); -#25164=NAME_ATTRIBUTE('single instance',#8361); -#25165=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8355,#2528,$,'',$,#8361,*); -#25166=PROPERTY_DEFINITION('',$,#25165); -#25167=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#25166); -#25168=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25166); -#25169=PROPERTY_DEFINITION('feature of size','true',#8361); -#25170=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8361); -#25171=NAME_ATTRIBUTE('single instance',#8366); -#25172=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8355,#2528,$,'',$,#8366,*); -#25173=PROPERTY_DEFINITION('',$,#25172); -#25174=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#25173); -#25175=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25173); -#25176=PROPERTY_DEFINITION('feature of size','true',#8366); -#25177=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8366); -#25178=NAME_ATTRIBUTE('single instance',#8391); -#25179=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8385,#2528,$,'',$,#8391,*); -#25180=PROPERTY_DEFINITION('',$,#25179); -#25181=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#25180); -#25182=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25180); -#25183=PROPERTY_DEFINITION('feature of size','true',#8391); -#25184=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8391); -#25185=NAME_ATTRIBUTE('single instance',#8396); -#25186=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8385,#2528,$,'',$,#8396,*); -#25187=PROPERTY_DEFINITION('',$,#25186); -#25188=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#25187); -#25189=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25187); -#25190=PROPERTY_DEFINITION('feature of size','true',#8396); -#25191=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8396); -#25192=NAME_ATTRIBUTE('single instance',#8421); -#25193=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8415,#2528,$,'',$,#8421,*); -#25194=PROPERTY_DEFINITION('',$,#25193); -#25195=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#25194); -#25196=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25194); -#25197=PROPERTY_DEFINITION('feature of size','true',#8421); -#25198=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8421); -#25199=NAME_ATTRIBUTE('single instance',#8426); -#25200=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8415,#2528,$,'',$,#8426,*); -#25201=PROPERTY_DEFINITION('',$,#25200); -#25202=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#25201); -#25203=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25201); -#25204=PROPERTY_DEFINITION('feature of size','true',#8426); -#25205=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8426); -#25206=NAME_ATTRIBUTE('single instance',#8451); -#25207=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8445,#2528,$,'',$,#8451,*); -#25208=PROPERTY_DEFINITION('',$,#25207); -#25209=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#25208); -#25210=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25208); -#25211=PROPERTY_DEFINITION('feature of size','true',#8451); -#25212=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8451); -#25213=NAME_ATTRIBUTE('single instance',#8456); -#25214=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8445,#2528,$,'',$,#8456,*); -#25215=PROPERTY_DEFINITION('',$,#25214); -#25216=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#25215); -#25217=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25215); -#25218=PROPERTY_DEFINITION('feature of size','true',#8456); -#25219=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8456); -#25220=NAME_ATTRIBUTE('single instance',#8481); -#25221=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8475,#2528,$,'',$,#8481,*); -#25222=PROPERTY_DEFINITION('',$,#25221); -#25223=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#25222); -#25224=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25222); -#25225=PROPERTY_DEFINITION('feature of size','true',#8481); -#25226=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8481); -#25227=NAME_ATTRIBUTE('single instance',#8486); -#25228=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8475,#2528,$,'',$,#8486,*); -#25229=PROPERTY_DEFINITION('',$,#25228); -#25230=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#25229); -#25231=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25229); -#25232=PROPERTY_DEFINITION('feature of size','true',#8486); -#25233=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8486); -#25234=NAME_ATTRIBUTE('single instance',#8511); -#25235=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#2528,$,'',$,#8511,*); -#25236=PROPERTY_DEFINITION('',$,#25235); -#25237=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#25236); -#25238=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25236); -#25239=PROPERTY_DEFINITION('feature of size','true',#8511); -#25240=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8511); -#25241=NAME_ATTRIBUTE('single instance',#8516); -#25242=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#2528,$,'',$,#8516,*); -#25243=PROPERTY_DEFINITION('',$,#25242); -#25244=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#25243); -#25245=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25243); -#25246=PROPERTY_DEFINITION('feature of size','true',#8516); -#25247=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8516); -#25248=NAME_ATTRIBUTE('single instance',#8541); -#25249=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8535,#2528,$,'',$,#8541,*); -#25250=PROPERTY_DEFINITION('',$,#25249); -#25251=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#25250); -#25252=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25250); -#25253=PROPERTY_DEFINITION('feature of size','true',#8541); -#25254=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8541); -#25255=NAME_ATTRIBUTE('single instance',#8546); -#25256=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8535,#2528,$,'',$,#8546,*); -#25257=PROPERTY_DEFINITION('',$,#25256); -#25258=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#25257); -#25259=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25257); -#25260=PROPERTY_DEFINITION('feature of size','true',#8546); -#25261=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8546); -#25262=NAME_ATTRIBUTE('single instance',#8571); -#25263=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8565,#2686,$,'',$,#8571,*); -#25264=PROPERTY_DEFINITION('',$,#25263); -#25265=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23731,#25264); -#25266=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25264); -#25267=PROPERTY_DEFINITION('feature of size','true',#8571); -#25268=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8571); -#25269=NAME_ATTRIBUTE('single instance',#8576); -#25270=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8565,#2686,$,'',$,#8576,*); -#25271=PROPERTY_DEFINITION('',$,#25270); -#25272=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23728,#25271); -#25273=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25271); -#25274=PROPERTY_DEFINITION('feature of size','true',#8576); -#25275=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8576); -#25276=NAME_ATTRIBUTE('single instance',#8601); -#25277=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8595,#2528,$,'',$,#8601,*); -#25278=PROPERTY_DEFINITION('',$,#25277); -#25279=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#25278); -#25280=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25278); -#25281=PROPERTY_DEFINITION('feature of size','true',#8601); -#25282=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8601); -#25283=NAME_ATTRIBUTE('single instance',#8606); -#25284=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8595,#2528,$,'',$,#8606,*); -#25285=PROPERTY_DEFINITION('',$,#25284); -#25286=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#25285); -#25287=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#25285); -#25288=PROPERTY_DEFINITION('feature of size','true',#8606); -#25289=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#8606); -#25290=NAME_ATTRIBUTE('single instance',#8631); -#25291=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8631,*); -#25292=PROPERTY_DEFINITION('',$,#25291); -#25293=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24082,#25292); -#25294=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25292); -#25295=PROPERTY_DEFINITION('feature of size','true',#8631); -#25296=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8631); -#25297=NAME_ATTRIBUTE('single instance',#8636); -#25298=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8636,*); -#25299=PROPERTY_DEFINITION('',$,#25298); -#25300=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24079,#25299); -#25301=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25299); -#25302=PROPERTY_DEFINITION('feature of size','true',#8636); -#25303=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8636); -#25304=NAME_ATTRIBUTE('single instance',#8641); -#25305=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8641,*); -#25306=PROPERTY_DEFINITION('',$,#25305); -#25307=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24076,#25306); -#25308=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25306); -#25309=PROPERTY_DEFINITION('feature of size','true',#8641); -#25310=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8641); -#25311=NAME_ATTRIBUTE('single instance',#8646); -#25312=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8646,*); -#25313=PROPERTY_DEFINITION('',$,#25312); -#25314=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24073,#25313); -#25315=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25313); -#25316=PROPERTY_DEFINITION('feature of size','true',#8646); -#25317=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8646); -#25318=NAME_ATTRIBUTE('single instance',#8651); -#25319=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8651,*); -#25320=PROPERTY_DEFINITION('',$,#25319); -#25321=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24070,#25320); -#25322=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25320); -#25323=PROPERTY_DEFINITION('feature of size','true',#8651); -#25324=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8651); -#25325=NAME_ATTRIBUTE('single instance',#8656); -#25326=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8656,*); -#25327=PROPERTY_DEFINITION('',$,#25326); -#25328=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24067,#25327); -#25329=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25327); -#25330=PROPERTY_DEFINITION('feature of size','true',#8656); -#25331=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8656); -#25332=NAME_ATTRIBUTE('single instance',#8661); -#25333=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8661,*); -#25334=PROPERTY_DEFINITION('',$,#25333); -#25335=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24064,#25334); -#25336=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25334); -#25337=PROPERTY_DEFINITION('feature of size','true',#8661); -#25338=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8661); -#25339=NAME_ATTRIBUTE('single instance',#8666); -#25340=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8666,*); -#25341=PROPERTY_DEFINITION('',$,#25340); -#25342=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24061,#25341); -#25343=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25341); -#25344=PROPERTY_DEFINITION('feature of size','true',#8666); -#25345=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8666); -#25346=NAME_ATTRIBUTE('single instance',#8671); -#25347=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8671,*); -#25348=PROPERTY_DEFINITION('',$,#25347); -#25349=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24058,#25348); -#25350=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25348); -#25351=PROPERTY_DEFINITION('feature of size','true',#8671); -#25352=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8671); -#25353=NAME_ATTRIBUTE('single instance',#8676); -#25354=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8676,*); -#25355=PROPERTY_DEFINITION('',$,#25354); -#25356=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24055,#25355); -#25357=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25355); -#25358=PROPERTY_DEFINITION('feature of size','true',#8676); -#25359=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8676); -#25360=NAME_ATTRIBUTE('single instance',#8681); -#25361=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8681,*); -#25362=PROPERTY_DEFINITION('',$,#25361); -#25363=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24052,#25362); -#25364=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25362); -#25365=PROPERTY_DEFINITION('feature of size','true',#8681); -#25366=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8681); -#25367=NAME_ATTRIBUTE('single instance',#8686); -#25368=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8686,*); -#25369=PROPERTY_DEFINITION('',$,#25368); -#25370=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24049,#25369); -#25371=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25369); -#25372=PROPERTY_DEFINITION('feature of size','true',#8686); -#25373=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8686); -#25374=NAME_ATTRIBUTE('single instance',#8691); -#25375=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8691,*); -#25376=PROPERTY_DEFINITION('',$,#25375); -#25377=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24046,#25376); -#25378=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25376); -#25379=PROPERTY_DEFINITION('feature of size','true',#8691); -#25380=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8691); -#25381=NAME_ATTRIBUTE('single instance',#8696); -#25382=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8696,*); -#25383=PROPERTY_DEFINITION('',$,#25382); -#25384=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24043,#25383); -#25385=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25383); -#25386=PROPERTY_DEFINITION('feature of size','true',#8696); -#25387=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8696); -#25388=NAME_ATTRIBUTE('single instance',#8701); -#25389=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8701,*); -#25390=PROPERTY_DEFINITION('',$,#25389); -#25391=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24040,#25390); -#25392=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25390); -#25393=PROPERTY_DEFINITION('feature of size','true',#8701); -#25394=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8701); -#25395=NAME_ATTRIBUTE('single instance',#8706); -#25396=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8706,*); -#25397=PROPERTY_DEFINITION('',$,#25396); -#25398=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24037,#25397); -#25399=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25397); -#25400=PROPERTY_DEFINITION('feature of size','true',#8706); -#25401=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8706); -#25402=NAME_ATTRIBUTE('single instance',#8711); -#25403=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8711,*); -#25404=PROPERTY_DEFINITION('',$,#25403); -#25405=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24034,#25404); -#25406=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25404); -#25407=PROPERTY_DEFINITION('feature of size','true',#8711); -#25408=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8711); -#25409=NAME_ATTRIBUTE('single instance',#8716); -#25410=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8716,*); -#25411=PROPERTY_DEFINITION('',$,#25410); -#25412=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24031,#25411); -#25413=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25411); -#25414=PROPERTY_DEFINITION('feature of size','true',#8716); -#25415=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8716); -#25416=NAME_ATTRIBUTE('single instance',#8721); -#25417=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8721,*); -#25418=PROPERTY_DEFINITION('',$,#25417); -#25419=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24028,#25418); -#25420=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25418); -#25421=PROPERTY_DEFINITION('feature of size','true',#8721); -#25422=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8721); -#25423=NAME_ATTRIBUTE('single instance',#8726); -#25424=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8726,*); -#25425=PROPERTY_DEFINITION('',$,#25424); -#25426=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24025,#25425); -#25427=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25425); -#25428=PROPERTY_DEFINITION('feature of size','true',#8726); -#25429=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8726); -#25430=NAME_ATTRIBUTE('single instance',#8731); -#25431=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8731,*); -#25432=PROPERTY_DEFINITION('',$,#25431); -#25433=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24022,#25432); -#25434=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25432); -#25435=PROPERTY_DEFINITION('feature of size','true',#8731); -#25436=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8731); -#25437=NAME_ATTRIBUTE('single instance',#8736); -#25438=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8736,*); -#25439=PROPERTY_DEFINITION('',$,#25438); -#25440=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24019,#25439); -#25441=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25439); -#25442=PROPERTY_DEFINITION('feature of size','true',#8736); -#25443=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8736); -#25444=NAME_ATTRIBUTE('single instance',#8741); -#25445=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8741,*); -#25446=PROPERTY_DEFINITION('',$,#25445); -#25447=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24016,#25446); -#25448=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25446); -#25449=PROPERTY_DEFINITION('feature of size','true',#8741); -#25450=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8741); -#25451=NAME_ATTRIBUTE('single instance',#8746); -#25452=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8746,*); -#25453=PROPERTY_DEFINITION('',$,#25452); -#25454=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24013,#25453); -#25455=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25453); -#25456=PROPERTY_DEFINITION('feature of size','true',#8746); -#25457=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8746); -#25458=NAME_ATTRIBUTE('single instance',#8751); -#25459=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8751,*); -#25460=PROPERTY_DEFINITION('',$,#25459); -#25461=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24010,#25460); -#25462=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25460); -#25463=PROPERTY_DEFINITION('feature of size','true',#8751); -#25464=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8751); -#25465=NAME_ATTRIBUTE('single instance',#8756); -#25466=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8756,*); -#25467=PROPERTY_DEFINITION('',$,#25466); -#25468=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24007,#25467); -#25469=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25467); -#25470=PROPERTY_DEFINITION('feature of size','true',#8756); -#25471=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8756); -#25472=NAME_ATTRIBUTE('single instance',#8761); -#25473=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8761,*); -#25474=PROPERTY_DEFINITION('',$,#25473); -#25475=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24004,#25474); -#25476=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25474); -#25477=PROPERTY_DEFINITION('feature of size','true',#8761); -#25478=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8761); -#25479=NAME_ATTRIBUTE('single instance',#8766); -#25480=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8766,*); -#25481=PROPERTY_DEFINITION('',$,#25480); -#25482=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24001,#25481); -#25483=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25481); -#25484=PROPERTY_DEFINITION('feature of size','true',#8766); -#25485=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8766); -#25486=NAME_ATTRIBUTE('single instance',#8771); -#25487=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8771,*); -#25488=PROPERTY_DEFINITION('',$,#25487); -#25489=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23998,#25488); -#25490=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25488); -#25491=PROPERTY_DEFINITION('feature of size','true',#8771); -#25492=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8771); -#25493=NAME_ATTRIBUTE('single instance',#8776); -#25494=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8776,*); -#25495=PROPERTY_DEFINITION('',$,#25494); -#25496=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23995,#25495); -#25497=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25495); -#25498=PROPERTY_DEFINITION('feature of size','true',#8776); -#25499=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8776); -#25500=NAME_ATTRIBUTE('single instance',#8781); -#25501=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8781,*); -#25502=PROPERTY_DEFINITION('',$,#25501); -#25503=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23992,#25502); -#25504=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25502); -#25505=PROPERTY_DEFINITION('feature of size','true',#8781); -#25506=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8781); -#25507=NAME_ATTRIBUTE('single instance',#8786); -#25508=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8786,*); -#25509=PROPERTY_DEFINITION('',$,#25508); -#25510=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23989,#25509); -#25511=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25509); -#25512=PROPERTY_DEFINITION('feature of size','true',#8786); -#25513=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8786); -#25514=NAME_ATTRIBUTE('single instance',#8791); -#25515=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8791,*); -#25516=PROPERTY_DEFINITION('',$,#25515); -#25517=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23986,#25516); -#25518=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25516); -#25519=PROPERTY_DEFINITION('feature of size','true',#8791); -#25520=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8791); -#25521=NAME_ATTRIBUTE('single instance',#8796); -#25522=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8796,*); -#25523=PROPERTY_DEFINITION('',$,#25522); -#25524=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23983,#25523); -#25525=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25523); -#25526=PROPERTY_DEFINITION('feature of size','true',#8796); -#25527=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8796); -#25528=NAME_ATTRIBUTE('single instance',#8801); -#25529=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8801,*); -#25530=PROPERTY_DEFINITION('',$,#25529); -#25531=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23980,#25530); -#25532=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25530); -#25533=PROPERTY_DEFINITION('feature of size','true',#8801); -#25534=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8801); -#25535=NAME_ATTRIBUTE('single instance',#8806); -#25536=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8806,*); -#25537=PROPERTY_DEFINITION('',$,#25536); -#25538=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23977,#25537); -#25539=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25537); -#25540=PROPERTY_DEFINITION('feature of size','true',#8806); -#25541=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8806); -#25542=NAME_ATTRIBUTE('single instance',#8811); -#25543=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8811,*); -#25544=PROPERTY_DEFINITION('',$,#25543); -#25545=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23974,#25544); -#25546=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25544); -#25547=PROPERTY_DEFINITION('feature of size','true',#8811); -#25548=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8811); -#25549=NAME_ATTRIBUTE('single instance',#8816); -#25550=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8816,*); -#25551=PROPERTY_DEFINITION('',$,#25550); -#25552=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23971,#25551); -#25553=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25551); -#25554=PROPERTY_DEFINITION('feature of size','true',#8816); -#25555=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8816); -#25556=NAME_ATTRIBUTE('single instance',#8821); -#25557=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8821,*); -#25558=PROPERTY_DEFINITION('',$,#25557); -#25559=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23968,#25558); -#25560=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25558); -#25561=PROPERTY_DEFINITION('feature of size','true',#8821); -#25562=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8821); -#25563=NAME_ATTRIBUTE('single instance',#8826); -#25564=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8826,*); -#25565=PROPERTY_DEFINITION('',$,#25564); -#25566=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23965,#25565); -#25567=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25565); -#25568=PROPERTY_DEFINITION('feature of size','true',#8826); -#25569=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8826); -#25570=NAME_ATTRIBUTE('single instance',#8831); -#25571=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8831,*); -#25572=PROPERTY_DEFINITION('',$,#25571); -#25573=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23962,#25572); -#25574=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25572); -#25575=PROPERTY_DEFINITION('feature of size','true',#8831); -#25576=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8831); -#25577=NAME_ATTRIBUTE('single instance',#8836); -#25578=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8836,*); -#25579=PROPERTY_DEFINITION('',$,#25578); -#25580=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23959,#25579); -#25581=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25579); -#25582=PROPERTY_DEFINITION('feature of size','true',#8836); -#25583=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8836); -#25584=NAME_ATTRIBUTE('single instance',#8841); -#25585=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8841,*); -#25586=PROPERTY_DEFINITION('',$,#25585); -#25587=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23956,#25586); -#25588=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25586); -#25589=PROPERTY_DEFINITION('feature of size','true',#8841); -#25590=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8841); -#25591=NAME_ATTRIBUTE('single instance',#8846); -#25592=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8846,*); -#25593=PROPERTY_DEFINITION('',$,#25592); -#25594=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23953,#25593); -#25595=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25593); -#25596=PROPERTY_DEFINITION('feature of size','true',#8846); -#25597=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8846); -#25598=NAME_ATTRIBUTE('single instance',#8851); -#25599=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8851,*); -#25600=PROPERTY_DEFINITION('',$,#25599); -#25601=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23950,#25600); -#25602=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25600); -#25603=PROPERTY_DEFINITION('feature of size','true',#8851); -#25604=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8851); -#25605=NAME_ATTRIBUTE('single instance',#8856); -#25606=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8856,*); -#25607=PROPERTY_DEFINITION('',$,#25606); -#25608=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23947,#25607); -#25609=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25607); -#25610=PROPERTY_DEFINITION('feature of size','true',#8856); -#25611=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8856); -#25612=NAME_ATTRIBUTE('single instance',#8861); -#25613=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8861,*); -#25614=PROPERTY_DEFINITION('',$,#25613); -#25615=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23944,#25614); -#25616=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25614); -#25617=PROPERTY_DEFINITION('feature of size','true',#8861); -#25618=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8861); -#25619=NAME_ATTRIBUTE('single instance',#8866); -#25620=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8866,*); -#25621=PROPERTY_DEFINITION('',$,#25620); -#25622=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23941,#25621); -#25623=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25621); -#25624=PROPERTY_DEFINITION('feature of size','true',#8866); -#25625=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8866); -#25626=NAME_ATTRIBUTE('single instance',#8871); -#25627=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8871,*); -#25628=PROPERTY_DEFINITION('',$,#25627); -#25629=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23938,#25628); -#25630=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25628); -#25631=PROPERTY_DEFINITION('feature of size','true',#8871); -#25632=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8871); -#25633=NAME_ATTRIBUTE('single instance',#8876); -#25634=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8876,*); -#25635=PROPERTY_DEFINITION('',$,#25634); -#25636=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23935,#25635); -#25637=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25635); -#25638=PROPERTY_DEFINITION('feature of size','true',#8876); -#25639=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8876); -#25640=NAME_ATTRIBUTE('single instance',#8881); -#25641=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8881,*); -#25642=PROPERTY_DEFINITION('',$,#25641); -#25643=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23932,#25642); -#25644=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25642); -#25645=PROPERTY_DEFINITION('feature of size','true',#8881); -#25646=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8881); -#25647=NAME_ATTRIBUTE('single instance',#8886); -#25648=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8886,*); -#25649=PROPERTY_DEFINITION('',$,#25648); -#25650=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23929,#25649); -#25651=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25649); -#25652=PROPERTY_DEFINITION('feature of size','true',#8886); -#25653=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8886); -#25654=NAME_ATTRIBUTE('single instance',#8891); -#25655=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8891,*); -#25656=PROPERTY_DEFINITION('',$,#25655); -#25657=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23926,#25656); -#25658=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25656); -#25659=PROPERTY_DEFINITION('feature of size','true',#8891); -#25660=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8891); -#25661=NAME_ATTRIBUTE('single instance',#8896); -#25662=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8896,*); -#25663=PROPERTY_DEFINITION('',$,#25662); -#25664=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23923,#25663); -#25665=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25663); -#25666=PROPERTY_DEFINITION('feature of size','true',#8896); -#25667=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8896); -#25668=NAME_ATTRIBUTE('single instance',#8901); -#25669=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8901,*); -#25670=PROPERTY_DEFINITION('',$,#25669); -#25671=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23920,#25670); -#25672=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25670); -#25673=PROPERTY_DEFINITION('feature of size','true',#8901); -#25674=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8901); -#25675=NAME_ATTRIBUTE('single instance',#8906); -#25676=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3002,$,'',$,#8906,*); -#25677=PROPERTY_DEFINITION('',$,#25676); -#25678=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23917,#25677); -#25679=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#25677); -#25680=PROPERTY_DEFINITION('feature of size','true',#8906); -#25681=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#8906); -#25682=NAME_ATTRIBUTE('single instance',#8911); -#25683=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8911,*); -#25684=PROPERTY_DEFINITION('',$,#25683); -#25685=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23914,#25684); -#25686=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25684); -#25687=PROPERTY_DEFINITION('feature of size','true',#8911); -#25688=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8911); -#25689=NAME_ATTRIBUTE('single instance',#8916); -#25690=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8916,*); -#25691=PROPERTY_DEFINITION('',$,#25690); -#25692=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23911,#25691); -#25693=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25691); -#25694=PROPERTY_DEFINITION('feature of size','true',#8916); -#25695=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8916); -#25696=NAME_ATTRIBUTE('single instance',#8921); -#25697=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8921,*); -#25698=PROPERTY_DEFINITION('',$,#25697); -#25699=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23908,#25698); -#25700=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25698); -#25701=PROPERTY_DEFINITION('feature of size','true',#8921); -#25702=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8921); -#25703=NAME_ATTRIBUTE('single instance',#8926); -#25704=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8926,*); -#25705=PROPERTY_DEFINITION('',$,#25704); -#25706=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23905,#25705); -#25707=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25705); -#25708=PROPERTY_DEFINITION('feature of size','true',#8926); -#25709=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8926); -#25710=NAME_ATTRIBUTE('single instance',#8931); -#25711=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8931,*); -#25712=PROPERTY_DEFINITION('',$,#25711); -#25713=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23902,#25712); -#25714=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25712); -#25715=PROPERTY_DEFINITION('feature of size','true',#8931); -#25716=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8931); -#25717=NAME_ATTRIBUTE('single instance',#8936); -#25718=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8936,*); -#25719=PROPERTY_DEFINITION('',$,#25718); -#25720=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23899,#25719); -#25721=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25719); -#25722=PROPERTY_DEFINITION('feature of size','true',#8936); -#25723=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8936); -#25724=NAME_ATTRIBUTE('single instance',#8941); -#25725=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8941,*); -#25726=PROPERTY_DEFINITION('',$,#25725); -#25727=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23896,#25726); -#25728=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25726); -#25729=PROPERTY_DEFINITION('feature of size','true',#8941); -#25730=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8941); -#25731=NAME_ATTRIBUTE('single instance',#8946); -#25732=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8946,*); -#25733=PROPERTY_DEFINITION('',$,#25732); -#25734=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23893,#25733); -#25735=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25733); -#25736=PROPERTY_DEFINITION('feature of size','true',#8946); -#25737=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8946); -#25738=NAME_ATTRIBUTE('single instance',#8951); -#25739=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8951,*); -#25740=PROPERTY_DEFINITION('',$,#25739); -#25741=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23890,#25740); -#25742=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25740); -#25743=PROPERTY_DEFINITION('feature of size','true',#8951); -#25744=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8951); -#25745=NAME_ATTRIBUTE('single instance',#8956); -#25746=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8956,*); -#25747=PROPERTY_DEFINITION('',$,#25746); -#25748=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23887,#25747); -#25749=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25747); -#25750=PROPERTY_DEFINITION('feature of size','true',#8956); -#25751=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8956); -#25752=NAME_ATTRIBUTE('single instance',#8961); -#25753=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8961,*); -#25754=PROPERTY_DEFINITION('',$,#25753); -#25755=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23884,#25754); -#25756=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25754); -#25757=PROPERTY_DEFINITION('feature of size','true',#8961); -#25758=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8961); -#25759=NAME_ATTRIBUTE('single instance',#8966); -#25760=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8966,*); -#25761=PROPERTY_DEFINITION('',$,#25760); -#25762=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23881,#25761); -#25763=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25761); -#25764=PROPERTY_DEFINITION('feature of size','true',#8966); -#25765=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8966); -#25766=NAME_ATTRIBUTE('single instance',#8971); -#25767=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8971,*); -#25768=PROPERTY_DEFINITION('',$,#25767); -#25769=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23878,#25768); -#25770=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25768); -#25771=PROPERTY_DEFINITION('feature of size','true',#8971); -#25772=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8971); -#25773=NAME_ATTRIBUTE('single instance',#8976); -#25774=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8976,*); -#25775=PROPERTY_DEFINITION('',$,#25774); -#25776=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23875,#25775); -#25777=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25775); -#25778=PROPERTY_DEFINITION('feature of size','true',#8976); -#25779=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8976); -#25780=NAME_ATTRIBUTE('single instance',#8981); -#25781=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8981,*); -#25782=PROPERTY_DEFINITION('',$,#25781); -#25783=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23872,#25782); -#25784=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25782); -#25785=PROPERTY_DEFINITION('feature of size','true',#8981); -#25786=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8981); -#25787=NAME_ATTRIBUTE('single instance',#8986); -#25788=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8986,*); -#25789=PROPERTY_DEFINITION('',$,#25788); -#25790=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23869,#25789); -#25791=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25789); -#25792=PROPERTY_DEFINITION('feature of size','true',#8986); -#25793=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8986); -#25794=NAME_ATTRIBUTE('single instance',#8991); -#25795=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8991,*); -#25796=PROPERTY_DEFINITION('',$,#25795); -#25797=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23866,#25796); -#25798=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25796); -#25799=PROPERTY_DEFINITION('feature of size','true',#8991); -#25800=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8991); -#25801=NAME_ATTRIBUTE('single instance',#8996); -#25802=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#8996,*); -#25803=PROPERTY_DEFINITION('',$,#25802); -#25804=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23863,#25803); -#25805=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25803); -#25806=PROPERTY_DEFINITION('feature of size','true',#8996); -#25807=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#8996); -#25808=NAME_ATTRIBUTE('single instance',#9001); -#25809=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9001,*); -#25810=PROPERTY_DEFINITION('',$,#25809); -#25811=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23860,#25810); -#25812=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25810); -#25813=PROPERTY_DEFINITION('feature of size','true',#9001); -#25814=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9001); -#25815=NAME_ATTRIBUTE('single instance',#9006); -#25816=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9006,*); -#25817=PROPERTY_DEFINITION('',$,#25816); -#25818=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23857,#25817); -#25819=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25817); -#25820=PROPERTY_DEFINITION('feature of size','true',#9006); -#25821=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9006); -#25822=NAME_ATTRIBUTE('single instance',#9011); -#25823=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9011,*); -#25824=PROPERTY_DEFINITION('',$,#25823); -#25825=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23854,#25824); -#25826=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25824); -#25827=PROPERTY_DEFINITION('feature of size','true',#9011); -#25828=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9011); -#25829=NAME_ATTRIBUTE('single instance',#9016); -#25830=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9016,*); -#25831=PROPERTY_DEFINITION('',$,#25830); -#25832=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23851,#25831); -#25833=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25831); -#25834=PROPERTY_DEFINITION('feature of size','true',#9016); -#25835=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9016); -#25836=NAME_ATTRIBUTE('single instance',#9021); -#25837=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9021,*); -#25838=PROPERTY_DEFINITION('',$,#25837); -#25839=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23848,#25838); -#25840=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25838); -#25841=PROPERTY_DEFINITION('feature of size','true',#9021); -#25842=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9021); -#25843=NAME_ATTRIBUTE('single instance',#9026); -#25844=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9026,*); -#25845=PROPERTY_DEFINITION('',$,#25844); -#25846=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23845,#25845); -#25847=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25845); -#25848=PROPERTY_DEFINITION('feature of size','true',#9026); -#25849=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9026); -#25850=NAME_ATTRIBUTE('single instance',#9031); -#25851=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9031,*); -#25852=PROPERTY_DEFINITION('',$,#25851); -#25853=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23842,#25852); -#25854=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25852); -#25855=PROPERTY_DEFINITION('feature of size','true',#9031); -#25856=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9031); -#25857=NAME_ATTRIBUTE('single instance',#9036); -#25858=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9036,*); -#25859=PROPERTY_DEFINITION('',$,#25858); -#25860=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23839,#25859); -#25861=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25859); -#25862=PROPERTY_DEFINITION('feature of size','true',#9036); -#25863=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9036); -#25864=NAME_ATTRIBUTE('single instance',#9041); -#25865=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9041,*); -#25866=PROPERTY_DEFINITION('',$,#25865); -#25867=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23836,#25866); -#25868=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25866); -#25869=PROPERTY_DEFINITION('feature of size','true',#9041); -#25870=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9041); -#25871=NAME_ATTRIBUTE('single instance',#9046); -#25872=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9046,*); -#25873=PROPERTY_DEFINITION('',$,#25872); -#25874=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23833,#25873); -#25875=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25873); -#25876=PROPERTY_DEFINITION('feature of size','true',#9046); -#25877=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9046); -#25878=NAME_ATTRIBUTE('single instance',#9051); -#25879=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9051,*); -#25880=PROPERTY_DEFINITION('',$,#25879); -#25881=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23830,#25880); -#25882=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25880); -#25883=PROPERTY_DEFINITION('feature of size','true',#9051); -#25884=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9051); -#25885=NAME_ATTRIBUTE('single instance',#9056); -#25886=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9056,*); -#25887=PROPERTY_DEFINITION('',$,#25886); -#25888=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23827,#25887); -#25889=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25887); -#25890=PROPERTY_DEFINITION('feature of size','true',#9056); -#25891=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9056); -#25892=NAME_ATTRIBUTE('single instance',#9061); -#25893=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9061,*); -#25894=PROPERTY_DEFINITION('',$,#25893); -#25895=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23824,#25894); -#25896=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25894); -#25897=PROPERTY_DEFINITION('feature of size','true',#9061); -#25898=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9061); -#25899=NAME_ATTRIBUTE('single instance',#9066); -#25900=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9066,*); -#25901=PROPERTY_DEFINITION('',$,#25900); -#25902=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23821,#25901); -#25903=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25901); -#25904=PROPERTY_DEFINITION('feature of size','true',#9066); -#25905=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9066); -#25906=NAME_ATTRIBUTE('single instance',#9071); -#25907=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9071,*); -#25908=PROPERTY_DEFINITION('',$,#25907); -#25909=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23818,#25908); -#25910=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25908); -#25911=PROPERTY_DEFINITION('feature of size','true',#9071); -#25912=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9071); -#25913=NAME_ATTRIBUTE('single instance',#9076); -#25914=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9076,*); -#25915=PROPERTY_DEFINITION('',$,#25914); -#25916=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23815,#25915); -#25917=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25915); -#25918=PROPERTY_DEFINITION('feature of size','true',#9076); -#25919=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9076); -#25920=NAME_ATTRIBUTE('single instance',#9081); -#25921=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9081,*); -#25922=PROPERTY_DEFINITION('',$,#25921); -#25923=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23812,#25922); -#25924=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25922); -#25925=PROPERTY_DEFINITION('feature of size','true',#9081); -#25926=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9081); -#25927=NAME_ATTRIBUTE('single instance',#9086); -#25928=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9086,*); -#25929=PROPERTY_DEFINITION('',$,#25928); -#25930=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23809,#25929); -#25931=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25929); -#25932=PROPERTY_DEFINITION('feature of size','true',#9086); -#25933=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9086); -#25934=NAME_ATTRIBUTE('single instance',#9091); -#25935=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9091,*); -#25936=PROPERTY_DEFINITION('',$,#25935); -#25937=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23806,#25936); -#25938=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25936); -#25939=PROPERTY_DEFINITION('feature of size','true',#9091); -#25940=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9091); -#25941=NAME_ATTRIBUTE('single instance',#9096); -#25942=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9096,*); -#25943=PROPERTY_DEFINITION('',$,#25942); -#25944=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23803,#25943); -#25945=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25943); -#25946=PROPERTY_DEFINITION('feature of size','true',#9096); -#25947=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9096); -#25948=NAME_ATTRIBUTE('single instance',#9101); -#25949=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9101,*); -#25950=PROPERTY_DEFINITION('',$,#25949); -#25951=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23800,#25950); -#25952=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25950); -#25953=PROPERTY_DEFINITION('feature of size','true',#9101); -#25954=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9101); -#25955=NAME_ATTRIBUTE('single instance',#9106); -#25956=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9106,*); -#25957=PROPERTY_DEFINITION('',$,#25956); -#25958=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23797,#25957); -#25959=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25957); -#25960=PROPERTY_DEFINITION('feature of size','true',#9106); -#25961=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9106); -#25962=NAME_ATTRIBUTE('single instance',#9111); -#25963=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9111,*); -#25964=PROPERTY_DEFINITION('',$,#25963); -#25965=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23794,#25964); -#25966=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25964); -#25967=PROPERTY_DEFINITION('feature of size','true',#9111); -#25968=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9111); -#25969=NAME_ATTRIBUTE('single instance',#9116); -#25970=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9116,*); -#25971=PROPERTY_DEFINITION('',$,#25970); -#25972=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23791,#25971); -#25973=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25971); -#25974=PROPERTY_DEFINITION('feature of size','true',#9116); -#25975=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9116); -#25976=NAME_ATTRIBUTE('single instance',#9121); -#25977=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9121,*); -#25978=PROPERTY_DEFINITION('',$,#25977); -#25979=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23788,#25978); -#25980=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25978); -#25981=PROPERTY_DEFINITION('feature of size','true',#9121); -#25982=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9121); -#25983=NAME_ATTRIBUTE('single instance',#9126); -#25984=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9126,*); -#25985=PROPERTY_DEFINITION('',$,#25984); -#25986=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23785,#25985); -#25987=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25985); -#25988=PROPERTY_DEFINITION('feature of size','true',#9126); -#25989=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9126); -#25990=NAME_ATTRIBUTE('single instance',#9131); -#25991=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9131,*); -#25992=PROPERTY_DEFINITION('',$,#25991); -#25993=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23782,#25992); -#25994=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25992); -#25995=PROPERTY_DEFINITION('feature of size','true',#9131); -#25996=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9131); -#25997=NAME_ATTRIBUTE('single instance',#9136); -#25998=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9136,*); -#25999=PROPERTY_DEFINITION('',$,#25998); -#26000=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23779,#25999); -#26001=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#25999); -#26002=PROPERTY_DEFINITION('feature of size','true',#9136); -#26003=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9136); -#26004=NAME_ATTRIBUTE('single instance',#9141); -#26005=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9141,*); -#26006=PROPERTY_DEFINITION('',$,#26005); -#26007=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23776,#26006); -#26008=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26006); -#26009=PROPERTY_DEFINITION('feature of size','true',#9141); -#26010=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9141); -#26011=NAME_ATTRIBUTE('single instance',#9146); -#26012=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9146,*); -#26013=PROPERTY_DEFINITION('',$,#26012); -#26014=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23773,#26013); -#26015=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26013); -#26016=PROPERTY_DEFINITION('feature of size','true',#9146); -#26017=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9146); -#26018=NAME_ATTRIBUTE('single instance',#9151); -#26019=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9151,*); -#26020=PROPERTY_DEFINITION('',$,#26019); -#26021=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23770,#26020); -#26022=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26020); -#26023=PROPERTY_DEFINITION('feature of size','true',#9151); -#26024=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9151); -#26025=NAME_ATTRIBUTE('single instance',#9156); -#26026=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9156,*); -#26027=PROPERTY_DEFINITION('',$,#26026); -#26028=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23767,#26027); -#26029=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26027); -#26030=PROPERTY_DEFINITION('feature of size','true',#9156); -#26031=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9156); -#26032=NAME_ATTRIBUTE('single instance',#9161); -#26033=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9161,*); -#26034=PROPERTY_DEFINITION('',$,#26033); -#26035=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23764,#26034); -#26036=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26034); -#26037=PROPERTY_DEFINITION('feature of size','true',#9161); -#26038=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9161); -#26039=NAME_ATTRIBUTE('single instance',#9166); -#26040=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9166,*); -#26041=PROPERTY_DEFINITION('',$,#26040); -#26042=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23761,#26041); -#26043=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26041); -#26044=PROPERTY_DEFINITION('feature of size','true',#9166); -#26045=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9166); -#26046=NAME_ATTRIBUTE('single instance',#9171); -#26047=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9171,*); -#26048=PROPERTY_DEFINITION('',$,#26047); -#26049=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23758,#26048); -#26050=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26048); -#26051=PROPERTY_DEFINITION('feature of size','true',#9171); -#26052=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9171); -#26053=NAME_ATTRIBUTE('single instance',#9176); -#26054=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9176,*); -#26055=PROPERTY_DEFINITION('',$,#26054); -#26056=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23755,#26055); -#26057=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26055); -#26058=PROPERTY_DEFINITION('feature of size','true',#9176); -#26059=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9176); -#26060=NAME_ATTRIBUTE('single instance',#9181); -#26061=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9181,*); -#26062=PROPERTY_DEFINITION('',$,#26061); -#26063=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23752,#26062); -#26064=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26062); -#26065=PROPERTY_DEFINITION('feature of size','true',#9181); -#26066=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9181); -#26067=NAME_ATTRIBUTE('single instance',#9186); -#26068=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2686,$,'',$,#9186,*); -#26069=PROPERTY_DEFINITION('',$,#26068); -#26070=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23749,#26069); -#26071=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26069); -#26072=PROPERTY_DEFINITION('feature of size','true',#9186); -#26073=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#9186); -#26074=NAME_ATTRIBUTE('single instance',#10094); -#26075=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10088,#2686,$,'',$,#10094,*); -#26076=PROPERTY_DEFINITION('',$,#26075); -#26077=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23697,#26076); -#26078=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26076); -#26079=PROPERTY_DEFINITION('feature of size','true',#10094); -#26080=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#10094); -#26081=NAME_ATTRIBUTE('single instance',#10099); -#26082=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10088,#2686,$,'',$,#10099,*); -#26083=PROPERTY_DEFINITION('',$,#26082); -#26084=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23694,#26083); -#26085=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26083); -#26086=PROPERTY_DEFINITION('feature of size','true',#10099); -#26087=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#10099); -#26088=NAME_ATTRIBUTE('single instance',#10124); -#26089=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10118,#2528,$,'',$,#10124,*); -#26090=PROPERTY_DEFINITION('',$,#26089); -#26091=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#26090); -#26092=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26090); -#26093=PROPERTY_DEFINITION('feature of size','true',#10124); -#26094=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10124); -#26095=NAME_ATTRIBUTE('single instance',#10129); -#26096=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10118,#2528,$,'',$,#10129,*); -#26097=PROPERTY_DEFINITION('',$,#26096); -#26098=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#26097); -#26099=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26097); -#26100=PROPERTY_DEFINITION('feature of size','true',#10129); -#26101=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10129); -#26102=NAME_ATTRIBUTE('single instance',#10154); -#26103=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10148,#2528,$,'',$,#10154,*); -#26104=PROPERTY_DEFINITION('',$,#26103); -#26105=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#26104); -#26106=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26104); -#26107=PROPERTY_DEFINITION('feature of size','true',#10154); -#26108=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10154); -#26109=NAME_ATTRIBUTE('single instance',#10159); -#26110=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10148,#2528,$,'',$,#10159,*); -#26111=PROPERTY_DEFINITION('',$,#26110); -#26112=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#26111); -#26113=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26111); -#26114=PROPERTY_DEFINITION('feature of size','true',#10159); -#26115=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10159); -#26116=NAME_ATTRIBUTE('single instance',#10184); -#26117=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10178,#3310,$,'',$,#10184,*); -#26118=PROPERTY_DEFINITION('',$,#26117); -#26119=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#26118); -#26120=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#26118); -#26121=PROPERTY_DEFINITION('feature of size','true',#10184); -#26122=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#10184); -#26123=NAME_ATTRIBUTE('single instance',#10189); -#26124=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10178,#2528,$,'',$,#10189,*); -#26125=PROPERTY_DEFINITION('',$,#26124); -#26126=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#26125); -#26127=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26125); -#26128=PROPERTY_DEFINITION('feature of size','true',#10189); -#26129=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10189); -#26130=NAME_ATTRIBUTE('single instance',#10214); -#26131=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10208,#2686,$,'',$,#10214,*); -#26132=PROPERTY_DEFINITION('',$,#26131); -#26133=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23697,#26132); -#26134=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26132); -#26135=PROPERTY_DEFINITION('feature of size','true',#10214); -#26136=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#10214); -#26137=NAME_ATTRIBUTE('single instance',#10219); -#26138=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10208,#2686,$,'',$,#10219,*); -#26139=PROPERTY_DEFINITION('',$,#26138); -#26140=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23694,#26139); -#26141=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26139); -#26142=PROPERTY_DEFINITION('feature of size','true',#10219); -#26143=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#10219); -#26144=NAME_ATTRIBUTE('single instance',#10244); -#26145=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10238,#3002,$,'',$,#10244,*); -#26146=PROPERTY_DEFINITION('',$,#26145); -#26147=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#26146); -#26148=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#26146); -#26149=PROPERTY_DEFINITION('feature of size','true',#10244); -#26150=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#10244); -#26151=NAME_ATTRIBUTE('single instance',#10249); -#26152=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10238,#3310,$,'',$,#10249,*); -#26153=PROPERTY_DEFINITION('',$,#26152); -#26154=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#26153); -#26155=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#26153); -#26156=PROPERTY_DEFINITION('feature of size','true',#10249); -#26157=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#10249); -#26158=NAME_ATTRIBUTE('single instance',#10274); -#26159=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10268,#3310,$,'',$,#10274,*); -#26160=PROPERTY_DEFINITION('',$,#26159); -#26161=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#26160); -#26162=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#26160); -#26163=PROPERTY_DEFINITION('feature of size','true',#10274); -#26164=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#10274); -#26165=NAME_ATTRIBUTE('single instance',#10279); -#26166=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10268,#2528,$,'',$,#10279,*); -#26167=PROPERTY_DEFINITION('',$,#26166); -#26168=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#26167); -#26169=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26167); -#26170=PROPERTY_DEFINITION('feature of size','true',#10279); -#26171=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10279); -#26172=NAME_ATTRIBUTE('single instance',#10304); -#26173=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10298,#2528,$,'',$,#10304,*); -#26174=PROPERTY_DEFINITION('',$,#26173); -#26175=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#26174); -#26176=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26174); -#26177=PROPERTY_DEFINITION('feature of size','true',#10304); -#26178=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10304); -#26179=NAME_ATTRIBUTE('single instance',#10309); -#26180=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10298,#2528,$,'',$,#10309,*); -#26181=PROPERTY_DEFINITION('',$,#26180); -#26182=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#26181); -#26183=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26181); -#26184=PROPERTY_DEFINITION('feature of size','true',#10309); -#26185=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10309); -#26186=NAME_ATTRIBUTE('single instance',#10334); -#26187=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10328,#2686,$,'',$,#10334,*); -#26188=PROPERTY_DEFINITION('',$,#26187); -#26189=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24101,#26188); -#26190=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26188); -#26191=PROPERTY_DEFINITION('feature of size','true',#10334); -#26192=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#10334); -#26193=NAME_ATTRIBUTE('single instance',#10339); -#26194=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10328,#2686,$,'',$,#10339,*); -#26195=PROPERTY_DEFINITION('',$,#26194); -#26196=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24098,#26195); -#26197=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26195); -#26198=PROPERTY_DEFINITION('feature of size','true',#10339); -#26199=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#10339); -#26200=NAME_ATTRIBUTE('single instance',#10344); -#26201=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10328,#3310,$,'',$,#10344,*); -#26202=PROPERTY_DEFINITION('',$,#26201); -#26203=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24095,#26202); -#26204=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#26202); -#26205=PROPERTY_DEFINITION('feature of size','true',#10344); -#26206=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#10344); -#26207=NAME_ATTRIBUTE('single instance',#10377); -#26208=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10371,#3310,$,'',$,#10377,*); -#26209=PROPERTY_DEFINITION('',$,#26208); -#26210=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#26209); -#26211=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23292,#26209); -#26212=PROPERTY_DEFINITION('feature of size','true',#10377); -#26213=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#10377); -#26214=NAME_ATTRIBUTE('single instance',#10382); -#26215=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10371,#2528,$,'',$,#10382,*); -#26216=PROPERTY_DEFINITION('',$,#26215); -#26217=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#26216); -#26218=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26216); -#26219=PROPERTY_DEFINITION('feature of size','true',#10382); -#26220=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10382); -#26221=NAME_ATTRIBUTE('single instance',#10407); -#26222=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10401,#2844,$,'',$,#10407,*); -#26223=PROPERTY_DEFINITION('',$,#26222); -#26224=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#26223); -#26225=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#26223); -#26226=PROPERTY_DEFINITION('feature of size','true',#10407); -#26227=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#10407); -#26228=NAME_ATTRIBUTE('single instance',#10412); -#26229=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10401,#2528,$,'',$,#10412,*); -#26230=PROPERTY_DEFINITION('',$,#26229); -#26231=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#26230); -#26232=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26230); -#26233=PROPERTY_DEFINITION('feature of size','true',#10412); -#26234=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10412); -#26235=NAME_ATTRIBUTE('single instance',#10437); -#26236=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10431,#3002,$,'',$,#10437,*); -#26237=PROPERTY_DEFINITION('',$,#26236); -#26238=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24110,#26237); -#26239=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#26237); -#26240=PROPERTY_DEFINITION('feature of size','true',#10437); -#26241=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#10437); -#26242=NAME_ATTRIBUTE('single instance',#10442); -#26243=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10431,#3002,$,'',$,#10442,*); -#26244=PROPERTY_DEFINITION('',$,#26243); -#26245=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24107,#26244); -#26246=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#26244); -#26247=PROPERTY_DEFINITION('feature of size','true',#10442); -#26248=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#10442); -#26249=NAME_ATTRIBUTE('single instance',#10447); -#26250=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10431,#3002,$,'',$,#10447,*); -#26251=PROPERTY_DEFINITION('',$,#26250); -#26252=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24104,#26251); -#26253=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23147,#26251); -#26254=PROPERTY_DEFINITION('feature of size','true',#10447); -#26255=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6673,#10447); -#26256=NAME_ATTRIBUTE('single instance',#10480); -#26257=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10474,#2686,$,'',$,#10480,*); -#26258=PROPERTY_DEFINITION('',$,#26257); -#26259=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23717,#26258); -#26260=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23003,#26258); -#26261=PROPERTY_DEFINITION('feature of size','true',#10480); -#26262=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6704,#10480); -#26263=NAME_ATTRIBUTE('single instance',#10485); -#26264=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10474,#2844,$,'',$,#10485,*); -#26265=PROPERTY_DEFINITION('',$,#26264); -#26266=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23714,#26265); -#26267=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23075,#26265); -#26268=PROPERTY_DEFINITION('feature of size','true',#10485); -#26269=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6795,#10485); -#26270=NAME_ATTRIBUTE('single instance',#10510); -#26271=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10504,#2528,$,'',$,#10510,*); -#26272=PROPERTY_DEFINITION('',$,#26271); -#26273=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#26272); -#26274=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26272); -#26275=PROPERTY_DEFINITION('feature of size','true',#10510); -#26276=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10510); -#26277=NAME_ATTRIBUTE('single instance',#10515); -#26278=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10504,#2528,$,'',$,#10515,*); -#26279=PROPERTY_DEFINITION('',$,#26278); -#26280=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#26279); -#26281=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22931,#26279); -#26282=PROPERTY_DEFINITION('feature of size','true',#10515); -#26283=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6642,#10515); -#26284=NAME_ATTRIBUTE('single instance',#10549); -#26285=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26286=SHAPE_REPRESENTATION('',(#10548),#26285); -#26287=SHAPE_ASPECT('',$,#10549,.U.); -#26288=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10572,#26287); -#26289=NAME_ATTRIBUTE('single instance',#10565); -#26290=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26291=SHAPE_REPRESENTATION('',(#10564),#26290); -#26292=SHAPE_ASPECT('',$,#10565,.U.); -#26293=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10572,#26292); -#26294=NAME_ATTRIBUTE('single instance',#10586); -#26295=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26296=SHAPE_REPRESENTATION('',(#10585),#26295); -#26297=SHAPE_ASPECT('',$,#10586,.U.); -#26298=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10595,#26297); -#26299=NAME_ATTRIBUTE('single instance',#10605); -#26300=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26301=SHAPE_REPRESENTATION('',(#10604),#26300); -#26302=SHAPE_ASPECT('',$,#10605,.U.); -#26303=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10614,#26302); -#26304=NAME_ATTRIBUTE('single instance',#10626); -#26305=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26306=SHAPE_REPRESENTATION('',(#10625),#26305); -#26307=SHAPE_ASPECT('',$,#10626,.U.); -#26308=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10645,#26307); -#26309=NAME_ATTRIBUTE('single instance',#10638); -#26310=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26311=SHAPE_REPRESENTATION('',(#10637),#26310); -#26312=SHAPE_ASPECT('',$,#10638,.U.); -#26313=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10645,#26312); -#26314=NAME_ATTRIBUTE('single instance',#10651); -#26315=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26316=SHAPE_REPRESENTATION('',(#10650),#26315); -#26317=SHAPE_ASPECT('',$,#10651,.U.); -#26318=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10708,#26317); -#26319=NAME_ATTRIBUTE('single instance',#10666); -#26320=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26321=SHAPE_REPRESENTATION('',(#10665),#26320); -#26322=SHAPE_ASPECT('',$,#10666,.U.); -#26323=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10708,#26322); -#26324=NAME_ATTRIBUTE('single instance',#10679); -#26325=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26326=SHAPE_REPRESENTATION('',(#10678),#26325); -#26327=SHAPE_ASPECT('',$,#10679,.U.); -#26328=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10708,#26327); -#26329=NAME_ATTRIBUTE('single instance',#10690); -#26330=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26331=SHAPE_REPRESENTATION('',(#10689),#26330); -#26332=SHAPE_ASPECT('',$,#10690,.U.); -#26333=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10708,#26332); -#26334=NAME_ATTRIBUTE('single instance',#10701); -#26335=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26336=SHAPE_REPRESENTATION('',(#10700),#26335); -#26337=SHAPE_ASPECT('',$,#10701,.U.); -#26338=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10708,#26337); -#26339=NAME_ATTRIBUTE('single instance',#10718); -#26340=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26341=SHAPE_REPRESENTATION('',(#10717),#26340); -#26342=SHAPE_ASPECT('',$,#10718,.U.); -#26343=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10727,#26342); -#26344=NAME_ATTRIBUTE('single instance',#10740); -#26345=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26346=SHAPE_REPRESENTATION('',(#10739),#26345); -#26347=SHAPE_ASPECT('',$,#10740,.U.); -#26348=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#26347); -#26349=NAME_ATTRIBUTE('single instance',#10753); -#26350=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26351=SHAPE_REPRESENTATION('',(#10752),#26350); -#26352=SHAPE_ASPECT('',$,#10753,.U.); -#26353=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#26352); -#26354=NAME_ATTRIBUTE('single instance',#10766); -#26355=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26356=SHAPE_REPRESENTATION('',(#10765),#26355); -#26357=SHAPE_ASPECT('',$,#10766,.U.); -#26358=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#26357); -#26359=NAME_ATTRIBUTE('single instance',#10781); -#26360=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26361=SHAPE_REPRESENTATION('',(#10780),#26360); -#26362=SHAPE_ASPECT('',$,#10781,.U.); -#26363=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#26362); -#26364=NAME_ATTRIBUTE('single instance',#10792); -#26365=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26366=SHAPE_REPRESENTATION('',(#10791),#26365); -#26367=SHAPE_ASPECT('',$,#10792,.U.); -#26368=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#26367); -#26369=NAME_ATTRIBUTE('single instance',#10803); -#26370=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26371=SHAPE_REPRESENTATION('',(#10802),#26370); -#26372=SHAPE_ASPECT('',$,#10803,.U.); -#26373=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#26372); -#26374=NAME_ATTRIBUTE('single instance',#10817); -#26375=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26376=SHAPE_REPRESENTATION('',(#10816),#26375); -#26377=SHAPE_ASPECT('',$,#10817,.U.); -#26378=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10826,#26377); -#26379=NAME_ATTRIBUTE('single instance',#10839); -#26380=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26381=SHAPE_REPRESENTATION('',(#10838),#26380); -#26382=SHAPE_ASPECT('',$,#10839,.U.); -#26383=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10861,#26382); -#26384=NAME_ATTRIBUTE('single instance',#10854); -#26385=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26386=SHAPE_REPRESENTATION('',(#10853),#26385); -#26387=SHAPE_ASPECT('',$,#10854,.U.); -#26388=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10861,#26387); -#26389=NAME_ATTRIBUTE('single instance',#10868); -#26390=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26391=SHAPE_REPRESENTATION('',(#10867),#26390); -#26392=SHAPE_ASPECT('',$,#10868,.U.); -#26393=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10925,#26392); -#26394=NAME_ATTRIBUTE('single instance',#10881); -#26395=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26396=SHAPE_REPRESENTATION('',(#10880),#26395); -#26397=SHAPE_ASPECT('',$,#10881,.U.); -#26398=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10925,#26397); -#26399=NAME_ATTRIBUTE('single instance',#10892); -#26400=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26401=SHAPE_REPRESENTATION('',(#10891),#26400); -#26402=SHAPE_ASPECT('',$,#10892,.U.); -#26403=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10925,#26402); -#26404=NAME_ATTRIBUTE('single instance',#10907); -#26405=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26406=SHAPE_REPRESENTATION('',(#10906),#26405); -#26407=SHAPE_ASPECT('',$,#10907,.U.); -#26408=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10925,#26407); -#26409=NAME_ATTRIBUTE('single instance',#10918); -#26410=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26411=SHAPE_REPRESENTATION('',(#10917),#26410); -#26412=SHAPE_ASPECT('',$,#10918,.U.); -#26413=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10925,#26412); -#26414=NAME_ATTRIBUTE('single instance',#10934); -#26415=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26416=SHAPE_REPRESENTATION('',(#10933),#26415); -#26417=SHAPE_ASPECT('',$,#10934,.U.); -#26418=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10943,#26417); -#26419=NAME_ATTRIBUTE('single instance',#10951); -#26420=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26421=SHAPE_REPRESENTATION('',(#10950),#26420); -#26422=SHAPE_ASPECT('',$,#10951,.U.); -#26423=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10960,#26422); -#26424=NAME_ATTRIBUTE('single instance',#11028); -#26425=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26426=SHAPE_REPRESENTATION('',(#11027),#26425); -#26427=SHAPE_ASPECT('',$,#11028,.U.); -#26428=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26427); -#26429=NAME_ATTRIBUTE('single instance',#11043); -#26430=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26431=SHAPE_REPRESENTATION('',(#11042),#26430); -#26432=SHAPE_ASPECT('',$,#11043,.U.); -#26433=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26432); -#26434=NAME_ATTRIBUTE('single instance',#11060); -#26435=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26436=SHAPE_REPRESENTATION('',(#11059),#26435); -#26437=SHAPE_ASPECT('',$,#11060,.U.); -#26438=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26437); -#26439=NAME_ATTRIBUTE('single instance',#11075); -#26440=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26441=SHAPE_REPRESENTATION('',(#11074),#26440); -#26442=SHAPE_ASPECT('',$,#11075,.U.); -#26443=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26442); -#26444=NAME_ATTRIBUTE('single instance',#11088); -#26445=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26446=SHAPE_REPRESENTATION('',(#11087),#26445); -#26447=SHAPE_ASPECT('',$,#11088,.U.); -#26448=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26447); -#26449=NAME_ATTRIBUTE('single instance',#11102); -#26450=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26451=SHAPE_REPRESENTATION('',(#11101),#26450); -#26452=SHAPE_ASPECT('',$,#11102,.U.); -#26453=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26452); -#26454=NAME_ATTRIBUTE('single instance',#11117); -#26455=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26456=SHAPE_REPRESENTATION('',(#11116),#26455); -#26457=SHAPE_ASPECT('',$,#11117,.U.); -#26458=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26457); -#26459=NAME_ATTRIBUTE('single instance',#11130); -#26460=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26461=SHAPE_REPRESENTATION('',(#11129),#26460); -#26462=SHAPE_ASPECT('',$,#11130,.U.); -#26463=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26462); -#26464=NAME_ATTRIBUTE('single instance',#11145); -#26465=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26466=SHAPE_REPRESENTATION('',(#11144),#26465); -#26467=SHAPE_ASPECT('',$,#11145,.U.); -#26468=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26467); -#26469=NAME_ATTRIBUTE('single instance',#11161); -#26470=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26471=SHAPE_REPRESENTATION('',(#11160),#26470); -#26472=SHAPE_ASPECT('',$,#11161,.U.); -#26473=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26472); -#26474=NAME_ATTRIBUTE('single instance',#11172); -#26475=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26476=SHAPE_REPRESENTATION('',(#11171),#26475); -#26477=SHAPE_ASPECT('',$,#11172,.U.); -#26478=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26477); -#26479=NAME_ATTRIBUTE('single instance',#11195); -#26480=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26481=SHAPE_REPRESENTATION('',(#11194),#26480); -#26482=SHAPE_ASPECT('',$,#11195,.U.); -#26483=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26482); -#26484=NAME_ATTRIBUTE('single instance',#11210); -#26485=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26486=SHAPE_REPRESENTATION('',(#11209),#26485); -#26487=SHAPE_ASPECT('',$,#11210,.U.); -#26488=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26487); -#26489=NAME_ATTRIBUTE('single instance',#11221); -#26490=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26491=SHAPE_REPRESENTATION('',(#11220),#26490); -#26492=SHAPE_ASPECT('',$,#11221,.U.); -#26493=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26492); -#26494=NAME_ATTRIBUTE('single instance',#11236); -#26495=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26496=SHAPE_REPRESENTATION('',(#11235),#26495); -#26497=SHAPE_ASPECT('',$,#11236,.U.); -#26498=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26497); -#26499=NAME_ATTRIBUTE('single instance',#11248); -#26500=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26501=SHAPE_REPRESENTATION('',(#11247),#26500); -#26502=SHAPE_ASPECT('',$,#11248,.U.); -#26503=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26502); -#26504=NAME_ATTRIBUTE('single instance',#11260); -#26505=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26506=SHAPE_REPRESENTATION('',(#11259),#26505); -#26507=SHAPE_ASPECT('',$,#11260,.U.); -#26508=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#26507); -#26509=NAME_ATTRIBUTE('single instance',#11278); -#26510=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26511=SHAPE_REPRESENTATION('',(#11277),#26510); -#26512=SHAPE_ASPECT('',$,#11278,.U.); -#26513=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26512); -#26514=NAME_ATTRIBUTE('single instance',#11291); -#26515=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26516=SHAPE_REPRESENTATION('',(#11290),#26515); -#26517=SHAPE_ASPECT('',$,#11291,.U.); -#26518=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26517); -#26519=NAME_ATTRIBUTE('single instance',#11302); -#26520=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26521=SHAPE_REPRESENTATION('',(#11301),#26520); -#26522=SHAPE_ASPECT('',$,#11302,.U.); -#26523=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26522); -#26524=NAME_ATTRIBUTE('single instance',#11316); -#26525=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26526=SHAPE_REPRESENTATION('',(#11315),#26525); -#26527=SHAPE_ASPECT('',$,#11316,.U.); -#26528=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26527); -#26529=NAME_ATTRIBUTE('single instance',#11330); -#26530=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26531=SHAPE_REPRESENTATION('',(#11329),#26530); -#26532=SHAPE_ASPECT('',$,#11330,.U.); -#26533=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26532); -#26534=NAME_ATTRIBUTE('single instance',#11347); -#26535=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26536=SHAPE_REPRESENTATION('',(#11346),#26535); -#26537=SHAPE_ASPECT('',$,#11347,.U.); -#26538=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26537); -#26539=NAME_ATTRIBUTE('single instance',#11362); -#26540=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26541=SHAPE_REPRESENTATION('',(#11361),#26540); -#26542=SHAPE_ASPECT('',$,#11362,.U.); -#26543=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26542); -#26544=NAME_ATTRIBUTE('single instance',#11375); -#26545=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26546=SHAPE_REPRESENTATION('',(#11374),#26545); -#26547=SHAPE_ASPECT('',$,#11375,.U.); -#26548=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26547); -#26549=NAME_ATTRIBUTE('single instance',#11392); -#26550=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26551=SHAPE_REPRESENTATION('',(#11391),#26550); -#26552=SHAPE_ASPECT('',$,#11392,.U.); -#26553=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26552); -#26554=NAME_ATTRIBUTE('single instance',#11409); -#26555=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26556=SHAPE_REPRESENTATION('',(#11408),#26555); -#26557=SHAPE_ASPECT('',$,#11409,.U.); -#26558=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26557); -#26559=NAME_ATTRIBUTE('single instance',#11422); -#26560=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26561=SHAPE_REPRESENTATION('',(#11421),#26560); -#26562=SHAPE_ASPECT('',$,#11422,.U.); -#26563=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26562); -#26564=NAME_ATTRIBUTE('single instance',#11437); -#26565=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26566=SHAPE_REPRESENTATION('',(#11436),#26565); -#26567=SHAPE_ASPECT('',$,#11437,.U.); -#26568=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26567); -#26569=NAME_ATTRIBUTE('single instance',#11455); -#26570=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26571=SHAPE_REPRESENTATION('',(#11454),#26570); -#26572=SHAPE_ASPECT('',$,#11455,.U.); -#26573=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26572); -#26574=NAME_ATTRIBUTE('single instance',#11472); -#26575=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26576=SHAPE_REPRESENTATION('',(#11471),#26575); -#26577=SHAPE_ASPECT('',$,#11472,.U.); -#26578=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26577); -#26579=NAME_ATTRIBUTE('single instance',#11481); -#26580=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26581=SHAPE_REPRESENTATION('',(#11480),#26580); -#26582=SHAPE_ASPECT('',$,#11481,.U.); -#26583=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26582); -#26584=NAME_ATTRIBUTE('single instance',#11497); -#26585=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26586=SHAPE_REPRESENTATION('',(#11496),#26585); -#26587=SHAPE_ASPECT('',$,#11497,.U.); -#26588=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26587); -#26589=NAME_ATTRIBUTE('single instance',#11507); -#26590=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26591=SHAPE_REPRESENTATION('',(#11506),#26590); -#26592=SHAPE_ASPECT('',$,#11507,.U.); -#26593=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26592); -#26594=NAME_ATTRIBUTE('single instance',#11522); -#26595=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26596=SHAPE_REPRESENTATION('',(#11521),#26595); -#26597=SHAPE_ASPECT('',$,#11522,.U.); -#26598=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26597); -#26599=NAME_ATTRIBUTE('single instance',#11533); -#26600=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26601=SHAPE_REPRESENTATION('',(#11532),#26600); -#26602=SHAPE_ASPECT('',$,#11533,.U.); -#26603=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#26602); -#26604=NAME_ATTRIBUTE('single instance',#11546); -#26605=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26606=SHAPE_REPRESENTATION('',(#11545),#26605); -#26607=SHAPE_ASPECT('',$,#11546,.U.); -#26608=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11555,#26607); -#26609=NAME_ATTRIBUTE('single instance',#11564); -#26610=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26611=SHAPE_REPRESENTATION('',(#11563),#26610); -#26612=SHAPE_ASPECT('',$,#11564,.U.); -#26613=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#26612); -#26614=NAME_ATTRIBUTE('single instance',#11578); -#26615=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26616=SHAPE_REPRESENTATION('',(#11577),#26615); -#26617=SHAPE_ASPECT('',$,#11578,.U.); -#26618=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#26617); -#26619=NAME_ATTRIBUTE('single instance',#11591); -#26620=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26621=SHAPE_REPRESENTATION('',(#11590),#26620); -#26622=SHAPE_ASPECT('',$,#11591,.U.); -#26623=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#26622); -#26624=NAME_ATTRIBUTE('single instance',#11602); -#26625=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26626=SHAPE_REPRESENTATION('',(#11601),#26625); -#26627=SHAPE_ASPECT('',$,#11602,.U.); -#26628=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#26627); -#26629=NAME_ATTRIBUTE('single instance',#11613); -#26630=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26631=SHAPE_REPRESENTATION('',(#11612),#26630); -#26632=SHAPE_ASPECT('',$,#11613,.U.); -#26633=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#26632); -#26634=NAME_ATTRIBUTE('single instance',#11625); -#26635=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26636=SHAPE_REPRESENTATION('',(#11624),#26635); -#26637=SHAPE_ASPECT('',$,#11625,.U.); -#26638=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11634,#26637); -#26639=NAME_ATTRIBUTE('single instance',#11644); -#26640=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26641=SHAPE_REPRESENTATION('',(#11643),#26640); -#26642=SHAPE_ASPECT('',$,#11644,.U.); -#26643=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11653,#26642); -#26644=NAME_ATTRIBUTE('single instance',#11660); -#26645=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26646=SHAPE_REPRESENTATION('',(#11659),#26645); -#26647=SHAPE_ASPECT('',$,#11660,.U.); -#26648=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11669,#26647); -#26649=NAME_ATTRIBUTE('single instance',#11676); -#26650=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26651=SHAPE_REPRESENTATION('',(#11675),#26650); -#26652=SHAPE_ASPECT('',$,#11676,.U.); -#26653=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11707,#26652); -#26654=NAME_ATTRIBUTE('single instance',#11689); -#26655=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26656=SHAPE_REPRESENTATION('',(#11688),#26655); -#26657=SHAPE_ASPECT('',$,#11689,.U.); -#26658=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11707,#26657); -#26659=NAME_ATTRIBUTE('single instance',#11700); -#26660=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26661=SHAPE_REPRESENTATION('',(#11699),#26660); -#26662=SHAPE_ASPECT('',$,#11700,.U.); -#26663=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11707,#26662); -#26664=NAME_ATTRIBUTE('single instance',#11730); -#26665=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26666=SHAPE_REPRESENTATION('',(#11729),#26665); -#26667=SHAPE_ASPECT('',$,#11730,.U.); -#26668=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11791,#26667); -#26669=NAME_ATTRIBUTE('single instance',#11743); -#26670=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26671=SHAPE_REPRESENTATION('',(#11742),#26670); -#26672=SHAPE_ASPECT('',$,#11743,.U.); -#26673=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11791,#26672); -#26674=NAME_ATTRIBUTE('single instance',#11756); -#26675=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26676=SHAPE_REPRESENTATION('',(#11755),#26675); -#26677=SHAPE_ASPECT('',$,#11756,.U.); -#26678=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11791,#26677); -#26679=NAME_ATTRIBUTE('single instance',#11769); -#26680=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26681=SHAPE_REPRESENTATION('',(#11768),#26680); -#26682=SHAPE_ASPECT('',$,#11769,.U.); -#26683=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11791,#26682); -#26684=NAME_ATTRIBUTE('single instance',#11782); -#26685=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26686=SHAPE_REPRESENTATION('',(#11781),#26685); -#26687=SHAPE_ASPECT('',$,#11782,.U.); -#26688=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11791,#26687); -#26689=NAME_ATTRIBUTE('single instance',#11799); -#26690=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26691=SHAPE_REPRESENTATION('',(#11798),#26690); -#26692=SHAPE_ASPECT('',$,#11799,.U.); -#26693=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11808,#26692); -#26694=NAME_ATTRIBUTE('single instance',#11815); -#26695=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26696=SHAPE_REPRESENTATION('',(#11814),#26695); -#26697=SHAPE_ASPECT('',$,#11815,.U.); -#26698=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11824,#26697); -#26699=NAME_ATTRIBUTE('single instance',#11834); -#26700=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26701=SHAPE_REPRESENTATION('',(#11833),#26700); -#26702=SHAPE_ASPECT('',$,#11834,.U.); -#26703=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11843,#26702); -#26704=NAME_ATTRIBUTE('single instance',#11857); -#26705=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26706=SHAPE_REPRESENTATION('',(#11856),#26705); -#26707=SHAPE_ASPECT('',$,#11857,.U.); -#26708=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11894,#26707); -#26709=NAME_ATTRIBUTE('single instance',#11872); -#26710=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26711=SHAPE_REPRESENTATION('',(#11871),#26710); -#26712=SHAPE_ASPECT('',$,#11872,.U.); -#26713=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11894,#26712); -#26714=NAME_ATTRIBUTE('single instance',#11885); -#26715=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26716=SHAPE_REPRESENTATION('',(#11884),#26715); -#26717=SHAPE_ASPECT('',$,#11885,.U.); -#26718=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11894,#26717); -#26719=NAME_ATTRIBUTE('single instance',#11903); -#26720=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26721=SHAPE_REPRESENTATION('',(#11902),#26720); -#26722=SHAPE_ASPECT('',$,#11903,.U.); -#26723=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11936,#26722); -#26724=NAME_ATTRIBUTE('single instance',#11917); -#26725=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26726=SHAPE_REPRESENTATION('',(#11916),#26725); -#26727=SHAPE_ASPECT('',$,#11917,.U.); -#26728=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11936,#26727); -#26729=NAME_ATTRIBUTE('single instance',#11929); -#26730=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26731=SHAPE_REPRESENTATION('',(#11928),#26730); -#26732=SHAPE_ASPECT('',$,#11929,.U.); -#26733=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11936,#26732); -#26734=NAME_ATTRIBUTE('single instance',#11944); -#26735=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26736=SHAPE_REPRESENTATION('',(#11943),#26735); -#26737=SHAPE_ASPECT('',$,#11944,.U.); -#26738=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11953,#26737); -#26739=NAME_ATTRIBUTE('single instance',#11962); -#26740=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26741=SHAPE_REPRESENTATION('',(#11961),#26740); -#26742=SHAPE_ASPECT('',$,#11962,.U.); -#26743=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11997,#26742); -#26744=NAME_ATTRIBUTE('single instance',#11976); -#26745=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26746=SHAPE_REPRESENTATION('',(#11975),#26745); -#26747=SHAPE_ASPECT('',$,#11976,.U.); -#26748=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11997,#26747); -#26749=NAME_ATTRIBUTE('single instance',#11990); -#26750=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26751=SHAPE_REPRESENTATION('',(#11989),#26750); -#26752=SHAPE_ASPECT('',$,#11990,.U.); -#26753=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11997,#26752); -#26754=NAME_ATTRIBUTE('single instance',#12010); -#26755=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26756=SHAPE_REPRESENTATION('',(#12009),#26755); -#26757=SHAPE_ASPECT('',$,#12010,.U.); -#26758=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12046,#26757); -#26759=NAME_ATTRIBUTE('single instance',#12023); -#26760=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26761=SHAPE_REPRESENTATION('',(#12022),#26760); -#26762=SHAPE_ASPECT('',$,#12023,.U.); -#26763=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12046,#26762); -#26764=NAME_ATTRIBUTE('single instance',#12037); -#26765=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26766=SHAPE_REPRESENTATION('',(#12036),#26765); -#26767=SHAPE_ASPECT('',$,#12037,.U.); -#26768=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12046,#26767); -#26769=NAME_ATTRIBUTE('single instance',#12055); -#26770=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26771=SHAPE_REPRESENTATION('',(#12054),#26770); -#26772=SHAPE_ASPECT('',$,#12055,.U.); -#26773=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12064,#26772); -#26774=NAME_ATTRIBUTE('single instance',#12072); -#26775=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26776=SHAPE_REPRESENTATION('',(#12071),#26775); -#26777=SHAPE_ASPECT('',$,#12072,.U.); -#26778=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12103,#26777); -#26779=NAME_ATTRIBUTE('single instance',#12085); -#26780=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26781=SHAPE_REPRESENTATION('',(#12084),#26780); -#26782=SHAPE_ASPECT('',$,#12085,.U.); -#26783=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12103,#26782); -#26784=NAME_ATTRIBUTE('single instance',#12096); -#26785=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26786=SHAPE_REPRESENTATION('',(#12095),#26785); -#26787=SHAPE_ASPECT('',$,#12096,.U.); -#26788=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12103,#26787); -#26789=NAME_ATTRIBUTE('single instance',#12110); -#26790=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26791=SHAPE_REPRESENTATION('',(#12109),#26790); -#26792=SHAPE_ASPECT('',$,#12110,.U.); -#26793=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12152,#26792); -#26794=NAME_ATTRIBUTE('single instance',#12123); -#26795=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26796=SHAPE_REPRESENTATION('',(#12122),#26795); -#26797=SHAPE_ASPECT('',$,#12123,.U.); -#26798=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12152,#26797); -#26799=NAME_ATTRIBUTE('single instance',#12134); -#26800=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26801=SHAPE_REPRESENTATION('',(#12133),#26800); -#26802=SHAPE_ASPECT('',$,#12134,.U.); -#26803=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12152,#26802); -#26804=NAME_ATTRIBUTE('single instance',#12145); -#26805=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26806=SHAPE_REPRESENTATION('',(#12144),#26805); -#26807=SHAPE_ASPECT('',$,#12145,.U.); -#26808=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12152,#26807); -#26809=NAME_ATTRIBUTE('single instance',#12159); -#26810=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26811=SHAPE_REPRESENTATION('',(#12158),#26810); -#26812=SHAPE_ASPECT('',$,#12159,.U.); -#26813=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12168,#26812); -#26814=NAME_ATTRIBUTE('single instance',#12177); -#26815=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26816=SHAPE_REPRESENTATION('',(#12176),#26815); -#26817=SHAPE_ASPECT('',$,#12177,.U.); -#26818=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12186,#26817); -#26819=NAME_ATTRIBUTE('single instance',#12198); -#26820=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26821=SHAPE_REPRESENTATION('',(#12197),#26820); -#26822=SHAPE_ASPECT('',$,#12198,.U.); -#26823=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12218,#26822); -#26824=NAME_ATTRIBUTE('single instance',#12211); -#26825=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26826=SHAPE_REPRESENTATION('',(#12210),#26825); -#26827=SHAPE_ASPECT('',$,#12211,.U.); -#26828=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12218,#26827); -#26829=NAME_ATTRIBUTE('single instance',#12230); -#26830=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26831=SHAPE_REPRESENTATION('',(#12229),#26830); -#26832=SHAPE_ASPECT('',$,#12230,.U.); -#26833=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12256,#26832); -#26834=NAME_ATTRIBUTE('single instance',#12249); -#26835=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26836=SHAPE_REPRESENTATION('',(#12248),#26835); -#26837=SHAPE_ASPECT('',$,#12249,.U.); -#26838=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12256,#26837); -#26839=NAME_ATTRIBUTE('single instance',#12265); -#26840=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26841=SHAPE_REPRESENTATION('',(#12264),#26840); -#26842=SHAPE_ASPECT('',$,#12265,.U.); -#26843=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12286,#26842); -#26844=NAME_ATTRIBUTE('single instance',#12279); -#26845=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26846=SHAPE_REPRESENTATION('',(#12278),#26845); -#26847=SHAPE_ASPECT('',$,#12279,.U.); -#26848=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12286,#26847); -#26849=NAME_ATTRIBUTE('single instance',#12299); -#26850=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26851=SHAPE_REPRESENTATION('',(#12298),#26850); -#26852=SHAPE_ASPECT('',$,#12299,.U.); -#26853=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12320,#26852); -#26854=NAME_ATTRIBUTE('single instance',#12313); -#26855=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26856=SHAPE_REPRESENTATION('',(#12312),#26855); -#26857=SHAPE_ASPECT('',$,#12313,.U.); -#26858=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12320,#26857); -#26859=NAME_ATTRIBUTE('single instance',#12333); -#26860=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26861=SHAPE_REPRESENTATION('',(#12332),#26860); -#26862=SHAPE_ASPECT('',$,#12333,.U.); -#26863=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#26862); -#26864=NAME_ATTRIBUTE('single instance',#12346); -#26865=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26866=SHAPE_REPRESENTATION('',(#12345),#26865); -#26867=SHAPE_ASPECT('',$,#12346,.U.); -#26868=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#26867); -#26869=NAME_ATTRIBUTE('single instance',#12359); -#26870=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26871=SHAPE_REPRESENTATION('',(#12358),#26870); -#26872=SHAPE_ASPECT('',$,#12359,.U.); -#26873=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#26872); -#26874=NAME_ATTRIBUTE('single instance',#12370); -#26875=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26876=SHAPE_REPRESENTATION('',(#12369),#26875); -#26877=SHAPE_ASPECT('',$,#12370,.U.); -#26878=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#26877); -#26879=NAME_ATTRIBUTE('single instance',#12383); -#26880=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26881=SHAPE_REPRESENTATION('',(#12382),#26880); -#26882=SHAPE_ASPECT('',$,#12383,.U.); -#26883=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#26882); -#26884=NAME_ATTRIBUTE('single instance',#12396); -#26885=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26886=SHAPE_REPRESENTATION('',(#12395),#26885); -#26887=SHAPE_ASPECT('',$,#12396,.U.); -#26888=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#26887); -#26889=NAME_ATTRIBUTE('single instance',#12418); -#26890=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26891=SHAPE_REPRESENTATION('',(#12417),#26890); -#26892=SHAPE_ASPECT('',$,#12418,.U.); -#26893=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#26892); -#26894=NAME_ATTRIBUTE('single instance',#12432); -#26895=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26896=SHAPE_REPRESENTATION('',(#12431),#26895); -#26897=SHAPE_ASPECT('',$,#12432,.U.); -#26898=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#26897); -#26899=NAME_ATTRIBUTE('single instance',#12445); -#26900=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26901=SHAPE_REPRESENTATION('',(#12444),#26900); -#26902=SHAPE_ASPECT('',$,#12445,.U.); -#26903=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#26902); -#26904=NAME_ATTRIBUTE('single instance',#12460); -#26905=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26906=SHAPE_REPRESENTATION('',(#12459),#26905); -#26907=SHAPE_ASPECT('',$,#12460,.U.); -#26908=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#26907); -#26909=NAME_ATTRIBUTE('single instance',#12473); -#26910=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26911=SHAPE_REPRESENTATION('',(#12472),#26910); -#26912=SHAPE_ASPECT('',$,#12473,.U.); -#26913=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#26912); -#26914=NAME_ATTRIBUTE('single instance',#12482); -#26915=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26916=SHAPE_REPRESENTATION('',(#12481),#26915); -#26917=SHAPE_ASPECT('',$,#12482,.U.); -#26918=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#26917); -#26919=NAME_ATTRIBUTE('single instance',#12493); -#26920=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26921=SHAPE_REPRESENTATION('',(#12492),#26920); -#26922=SHAPE_ASPECT('',$,#12493,.U.); -#26923=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#26922); -#26924=NAME_ATTRIBUTE('single instance',#12507); -#26925=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26926=SHAPE_REPRESENTATION('',(#12506),#26925); -#26927=SHAPE_ASPECT('',$,#12507,.U.); -#26928=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12561,#26927); -#26929=NAME_ATTRIBUTE('single instance',#12520); -#26930=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26931=SHAPE_REPRESENTATION('',(#12519),#26930); -#26932=SHAPE_ASPECT('',$,#12520,.U.); -#26933=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12561,#26932); -#26934=NAME_ATTRIBUTE('single instance',#12534); -#26935=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26936=SHAPE_REPRESENTATION('',(#12533),#26935); -#26937=SHAPE_ASPECT('',$,#12534,.U.); -#26938=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12561,#26937); -#26939=NAME_ATTRIBUTE('single instance',#12545); -#26940=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26941=SHAPE_REPRESENTATION('',(#12544),#26940); -#26942=SHAPE_ASPECT('',$,#12545,.U.); -#26943=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12561,#26942); -#26944=NAME_ATTRIBUTE('single instance',#12554); -#26945=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26946=SHAPE_REPRESENTATION('',(#12553),#26945); -#26947=SHAPE_ASPECT('',$,#12554,.U.); -#26948=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12561,#26947); -#26949=NAME_ATTRIBUTE('single instance',#12572); -#26950=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26951=SHAPE_REPRESENTATION('',(#12571),#26950); -#26952=SHAPE_ASPECT('',$,#12572,.U.); -#26953=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12581,#26952); -#26954=NAME_ATTRIBUTE('single instance',#12594); -#26955=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26956=SHAPE_REPRESENTATION('',(#12593),#26955); -#26957=SHAPE_ASPECT('',$,#12594,.U.); -#26958=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12614,#26957); -#26959=NAME_ATTRIBUTE('single instance',#12607); -#26960=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26961=SHAPE_REPRESENTATION('',(#12606),#26960); -#26962=SHAPE_ASPECT('',$,#12607,.U.); -#26963=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12614,#26962); -#26964=NAME_ATTRIBUTE('single instance',#12627); -#26965=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26966=SHAPE_REPRESENTATION('',(#12626),#26965); -#26967=SHAPE_ASPECT('',$,#12627,.U.); -#26968=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12669,#26967); -#26969=NAME_ATTRIBUTE('single instance',#12643); -#26970=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26971=SHAPE_REPRESENTATION('',(#12642),#26970); -#26972=SHAPE_ASPECT('',$,#12643,.U.); -#26973=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12669,#26972); -#26974=NAME_ATTRIBUTE('single instance',#12660); -#26975=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26976=SHAPE_REPRESENTATION('',(#12659),#26975); -#26977=SHAPE_ASPECT('',$,#12660,.U.); -#26978=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12669,#26977); -#26979=NAME_ATTRIBUTE('single instance',#12678); -#26980=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26981=SHAPE_REPRESENTATION('',(#12677),#26980); -#26982=SHAPE_ASPECT('',$,#12678,.U.); -#26983=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12687,#26982); -#26984=NAME_ATTRIBUTE('single instance',#12695); -#26985=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26986=SHAPE_REPRESENTATION('',(#12694),#26985); -#26987=SHAPE_ASPECT('',$,#12695,.U.); -#26988=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12704,#26987); -#26989=NAME_ATTRIBUTE('single instance',#12717); -#26990=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26991=SHAPE_REPRESENTATION('',(#12716),#26990); -#26992=SHAPE_ASPECT('',$,#12717,.U.); -#26993=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12735,#26992); -#26994=NAME_ATTRIBUTE('single instance',#12728); -#26995=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#26996=SHAPE_REPRESENTATION('',(#12727),#26995); -#26997=SHAPE_ASPECT('',$,#12728,.U.); -#26998=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12735,#26997); -#26999=NAME_ATTRIBUTE('single instance',#12748); -#27000=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#27001=SHAPE_REPRESENTATION('',(#12747),#27000); -#27002=SHAPE_ASPECT('',$,#12748,.U.); -#27003=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#27002); -#27004=NAME_ATTRIBUTE('single instance',#12762); -#27005=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#27006=SHAPE_REPRESENTATION('',(#12761),#27005); -#27007=SHAPE_ASPECT('',$,#12762,.U.); -#27008=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#27007); -#27009=NAME_ATTRIBUTE('single instance',#12777); -#27010=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#27011=SHAPE_REPRESENTATION('',(#12776),#27010); -#27012=SHAPE_ASPECT('',$,#12777,.U.); -#27013=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#27012); -#27014=NAME_ATTRIBUTE('single instance',#12790); -#27015=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#27016=SHAPE_REPRESENTATION('',(#12789),#27015); -#27017=SHAPE_ASPECT('',$,#12790,.U.); -#27018=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#27017); -#27019=NAME_ATTRIBUTE('single instance',#12801); -#27020=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#27021=SHAPE_REPRESENTATION('',(#12800),#27020); -#27022=SHAPE_ASPECT('',$,#12801,.U.); -#27023=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#27022); -#27024=NAME_ATTRIBUTE('single instance',#12812); -#27025=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#27026=SHAPE_REPRESENTATION('',(#12811),#27025); -#27027=SHAPE_ASPECT('',$,#12812,.U.); -#27028=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#27027); -#27029=NAME_ATTRIBUTE('single instance',#12823); -#27030=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#27031=SHAPE_REPRESENTATION('',(#12822),#27030); -#27032=SHAPE_ASPECT('',$,#12823,.U.); -#27033=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#27032); -#27034=NAME_ATTRIBUTE('single instance',#12838); -#27035=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#27036=SHAPE_REPRESENTATION('',(#12837),#27035); -#27037=SHAPE_ASPECT('',$,#12838,.U.); -#27038=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12847,#27037); -#27039=NAME_ATTRIBUTE('single instance',#6475); -#27040=NAME_ATTRIBUTE('single instance',#6489); -#27041=NAME_ATTRIBUTE('single instance',#6502); -#27042=NAME_ATTRIBUTE('single instance',#6520); -#27043=NAME_ATTRIBUTE('single instance',#6636); -#27044=NAME_ATTRIBUTE('single instance',#6667); -#27045=NAME_ATTRIBUTE('single instance',#6698); -#27046=NAME_ATTRIBUTE('single instance',#6729); -#27047=NAME_ATTRIBUTE('single instance',#6759); -#27048=NAME_ATTRIBUTE('single instance',#6789); -#27049=NAME_ATTRIBUTE('single instance',#6820); -#27050=NAME_ATTRIBUTE('single instance',#6850); -#27051=NAME_ATTRIBUTE('single instance',#6896); -#27052=NAME_ATTRIBUTE('single instance',#6926); -#27053=NAME_ATTRIBUTE('single instance',#6956); -#27054=NAME_ATTRIBUTE('single instance',#6986); -#27055=NAME_ATTRIBUTE('single instance',#7016); -#27056=NAME_ATTRIBUTE('single instance',#7061); -#27057=NAME_ATTRIBUTE('single instance',#7091); -#27058=NAME_ATTRIBUTE('single instance',#7121); -#27059=NAME_ATTRIBUTE('single instance',#7151); -#27060=NAME_ATTRIBUTE('single instance',#7233); -#27061=NAME_ATTRIBUTE('single instance',#7263); -#27062=NAME_ATTRIBUTE('single instance',#7293); -#27063=NAME_ATTRIBUTE('single instance',#7323); -#27064=NAME_ATTRIBUTE('single instance',#7353); -#27065=NAME_ATTRIBUTE('single instance',#7383); -#27066=NAME_ATTRIBUTE('single instance',#7427); -#27067=NAME_ATTRIBUTE('single instance',#7457); -#27068=NAME_ATTRIBUTE('single instance',#7487); -#27069=NAME_ATTRIBUTE('single instance',#7517); -#27070=NAME_ATTRIBUTE('single instance',#7547); -#27071=NAME_ATTRIBUTE('single instance',#7577); -#27072=NAME_ATTRIBUTE('single instance',#7607); -#27073=NAME_ATTRIBUTE('single instance',#7637); -#27074=NAME_ATTRIBUTE('single instance',#7667); -#27075=NAME_ATTRIBUTE('single instance',#7697); -#27076=NAME_ATTRIBUTE('single instance',#7727); -#27077=NAME_ATTRIBUTE('single instance',#7757); -#27078=NAME_ATTRIBUTE('single instance',#7787); -#27079=NAME_ATTRIBUTE('single instance',#7817); -#27080=NAME_ATTRIBUTE('single instance',#7899); -#27081=NAME_ATTRIBUTE('single instance',#7929); -#27082=NAME_ATTRIBUTE('single instance',#7959); -#27083=NAME_ATTRIBUTE('single instance',#8145); -#27084=NAME_ATTRIBUTE('single instance',#8175); -#27085=NAME_ATTRIBUTE('single instance',#8205); -#27086=NAME_ATTRIBUTE('single instance',#8235); -#27087=NAME_ATTRIBUTE('single instance',#8265); -#27088=NAME_ATTRIBUTE('single instance',#8295); -#27089=NAME_ATTRIBUTE('single instance',#8325); -#27090=NAME_ATTRIBUTE('single instance',#8355); -#27091=NAME_ATTRIBUTE('single instance',#8385); -#27092=NAME_ATTRIBUTE('single instance',#8415); -#27093=NAME_ATTRIBUTE('single instance',#8445); -#27094=NAME_ATTRIBUTE('single instance',#8475); -#27095=NAME_ATTRIBUTE('single instance',#8505); -#27096=NAME_ATTRIBUTE('single instance',#8535); -#27097=NAME_ATTRIBUTE('single instance',#8565); -#27098=NAME_ATTRIBUTE('single instance',#8595); -#27099=NAME_ATTRIBUTE('single instance',#8625); -#27100=NAME_ATTRIBUTE('single instance',#10088); -#27101=NAME_ATTRIBUTE('single instance',#10118); -#27102=NAME_ATTRIBUTE('single instance',#10148); -#27103=NAME_ATTRIBUTE('single instance',#10178); -#27104=NAME_ATTRIBUTE('single instance',#10208); -#27105=NAME_ATTRIBUTE('single instance',#10238); -#27106=NAME_ATTRIBUTE('single instance',#10268); -#27107=NAME_ATTRIBUTE('single instance',#10298); -#27108=NAME_ATTRIBUTE('single instance',#10328); -#27109=NAME_ATTRIBUTE('single instance',#10371); -#27110=NAME_ATTRIBUTE('single instance',#10401); -#27111=NAME_ATTRIBUTE('single instance',#10431); -#27112=NAME_ATTRIBUTE('single instance',#10474); -#27113=NAME_ATTRIBUTE('single instance',#10504); -#27114=NAME_ATTRIBUTE('single instance',#49); -#27115=PRODUCT_DEFINITION_CONTEXT('part occurrence',#13318,''); -#27116=NAME_ATTRIBUTE('single instance',#2413); -#27117=PROPERTY_DEFINITION('feature of size','true',#2413); -#27118=NAME_ATTRIBUTE('single instance',#6640); -#27119=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6636,#2628,$,'',$,#6640,*); -#27120=PROPERTY_DEFINITION('',$,#27119); -#27121=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27120); -#27122=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27120); -#27123=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6643,#6640); -#27124=SHAPE_ASPECT('',$,#6640,.U.); -#27125=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12852,#27124); -#27126=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6640); -#27127=NAME_ATTRIBUTE('single instance',#6641); -#27128=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6636,#2602,$,'',$,#6641,*); -#27129=PROPERTY_DEFINITION('',$,#27128); -#27130=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27129); -#27131=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27129); -#27132=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6643,#6641); -#27133=SHAPE_ASPECT('',$,#6641,.U.); -#27134=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#27133); -#27135=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6641); -#27136=NAME_ATTRIBUTE('single instance',#6646); -#27137=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6636,#2628,$,'',$,#6646,*); -#27138=PROPERTY_DEFINITION('',$,#27137); -#27139=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27138); -#27140=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27138); -#27141=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6648,#6646); -#27142=SHAPE_ASPECT('',$,#6646,.U.); -#27143=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12286,#27142); -#27144=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6646); -#27145=NAME_ATTRIBUTE('single instance',#6647); -#27146=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6636,#2602,$,'',$,#6647,*); -#27147=PROPERTY_DEFINITION('',$,#27146); -#27148=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27147); -#27149=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27147); -#27150=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6648,#6647); -#27151=SHAPE_ASPECT('',$,#6647,.U.); -#27152=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12851,#27151); -#27153=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6647); -#27154=NAME_ATTRIBUTE('single instance',#6671); -#27155=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6667,#3410,$,'',$,#6671,*); -#27156=PROPERTY_DEFINITION('',$,#27155); -#27157=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#27156); -#27158=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#27156); -#27159=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6674,#6671); -#27160=SHAPE_ASPECT('',$,#6671,.U.); -#27161=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#27160); -#27162=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#6671); -#27163=NAME_ATTRIBUTE('single instance',#6672); -#27164=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6667,#3384,$,'',$,#6672,*); -#27165=PROPERTY_DEFINITION('',$,#27164); -#27166=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#27165); -#27167=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#27165); -#27168=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6674,#6672); -#27169=SHAPE_ASPECT('',$,#6672,.U.); -#27170=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12853,#27169); -#27171=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#6672); -#27172=NAME_ATTRIBUTE('single instance',#6677); -#27173=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6667,#2628,$,'',$,#6677,*); -#27174=PROPERTY_DEFINITION('',$,#27173); -#27175=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#27174); -#27176=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27174); -#27177=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6679,#6677); -#27178=SHAPE_ASPECT('',$,#6677,.U.); -#27179=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11555,#27178); -#27180=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6677); -#27181=NAME_ATTRIBUTE('single instance',#6678); -#27182=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6667,#2602,$,'',$,#6678,*); -#27183=PROPERTY_DEFINITION('',$,#27182); -#27184=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#27183); -#27185=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27183); -#27186=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6679,#6678); -#27187=SHAPE_ASPECT('',$,#6678,.U.); -#27188=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#27187); -#27189=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6678); -#27190=NAME_ATTRIBUTE('single instance',#6702); -#27191=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6698,#2786,$,'',$,#6702,*); -#27192=PROPERTY_DEFINITION('',$,#27191); -#27193=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23697,#27192); -#27194=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#27192); -#27195=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6705,#6702); -#27196=SHAPE_ASPECT('',$,#6702,.U.); -#27197=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12064,#27196); -#27198=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#6702); -#27199=NAME_ATTRIBUTE('single instance',#6703); -#27200=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6698,#2760,$,'',$,#6703,*); -#27201=PROPERTY_DEFINITION('',$,#27200); -#27202=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23697,#27201); -#27203=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#27201); -#27204=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6705,#6703); -#27205=SHAPE_ASPECT('',$,#6703,.U.); -#27206=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12855,#27205); -#27207=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#6703); -#27208=NAME_ATTRIBUTE('single instance',#6708); -#27209=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6698,#2786,$,'',$,#6708,*); -#27210=PROPERTY_DEFINITION('',$,#27209); -#27211=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23694,#27210); -#27212=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#27210); -#27213=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6710,#6708); -#27214=SHAPE_ASPECT('',$,#6708,.U.); -#27215=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12561,#27214); -#27216=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#6708); -#27217=NAME_ATTRIBUTE('single instance',#6709); -#27218=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6698,#2760,$,'',$,#6709,*); -#27219=PROPERTY_DEFINITION('',$,#27218); -#27220=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23694,#27219); -#27221=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#27219); -#27222=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6710,#6709); -#27223=SHAPE_ASPECT('',$,#6709,.U.); -#27224=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12854,#27223); -#27225=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#6709); -#27226=NAME_ATTRIBUTE('single instance',#6733); -#27227=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6729,#2628,$,'',$,#6733,*); -#27228=PROPERTY_DEFINITION('',$,#27227); -#27229=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27228); -#27230=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27228); -#27231=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6735,#6733); -#27232=SHAPE_ASPECT('',$,#6733,.U.); -#27233=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11808,#27232); -#27234=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6733); -#27235=NAME_ATTRIBUTE('single instance',#6734); -#27236=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6729,#2602,$,'',$,#6734,*); -#27237=PROPERTY_DEFINITION('',$,#27236); -#27238=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27237); -#27239=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27237); -#27240=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6735,#6734); -#27241=SHAPE_ASPECT('',$,#6734,.U.); -#27242=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12857,#27241); -#27243=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6734); -#27244=NAME_ATTRIBUTE('single instance',#6738); -#27245=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6729,#2628,$,'',$,#6738,*); -#27246=PROPERTY_DEFINITION('',$,#27245); -#27247=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27246); -#27248=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27246); -#27249=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6740,#6738); -#27250=SHAPE_ASPECT('',$,#6738,.U.); -#27251=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12856,#27250); -#27252=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6738); -#27253=NAME_ATTRIBUTE('single instance',#6739); -#27254=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6729,#2602,$,'',$,#6739,*); -#27255=PROPERTY_DEFINITION('',$,#27254); -#27256=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27255); -#27257=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27255); -#27258=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6740,#6739); -#27259=SHAPE_ASPECT('',$,#6739,.U.); -#27260=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#27259); -#27261=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6739); -#27262=NAME_ATTRIBUTE('single instance',#6763); -#27263=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6759,#3102,$,'',$,#6763,*); -#27264=PROPERTY_DEFINITION('',$,#27263); -#27265=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#27264); -#27266=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#27264); -#27267=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6765,#6763); -#27268=SHAPE_ASPECT('',$,#6763,.U.); -#27269=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#27268); -#27270=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#6763); -#27271=NAME_ATTRIBUTE('single instance',#6764); -#27272=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6759,#3076,$,'',$,#6764,*); -#27273=PROPERTY_DEFINITION('',$,#27272); -#27274=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#27273); -#27275=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#27273); -#27276=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6765,#6764); -#27277=SHAPE_ASPECT('',$,#6764,.U.); -#27278=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12858,#27277); -#27279=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#6764); -#27280=NAME_ATTRIBUTE('single instance',#6768); -#27281=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6759,#3410,$,'',$,#6768,*); -#27282=PROPERTY_DEFINITION('',$,#27281); -#27283=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#27282); -#27284=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#27282); -#27285=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6770,#6768); -#27286=SHAPE_ASPECT('',$,#6768,.U.); -#27287=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12859,#27286); -#27288=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#6768); -#27289=NAME_ATTRIBUTE('single instance',#6769); -#27290=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6759,#3384,$,'',$,#6769,*); -#27291=PROPERTY_DEFINITION('',$,#27290); -#27292=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#27291); -#27293=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#27291); -#27294=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6770,#6769); -#27295=SHAPE_ASPECT('',$,#6769,.U.); -#27296=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#27295); -#27297=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#6769); -#27298=NAME_ATTRIBUTE('single instance',#6793); -#27299=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6789,#2944,$,'',$,#6793,*); -#27300=PROPERTY_DEFINITION('',$,#27299); -#27301=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#27300); -#27302=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#27300); -#27303=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6796,#6793); -#27304=SHAPE_ASPECT('',$,#6793,.U.); -#27305=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10925,#27304); -#27306=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#6793); -#27307=NAME_ATTRIBUTE('single instance',#6794); -#27308=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6789,#2918,$,'',$,#6794,*); -#27309=PROPERTY_DEFINITION('',$,#27308); -#27310=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#27309); -#27311=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#27309); -#27312=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6796,#6794); -#27313=SHAPE_ASPECT('',$,#6794,.U.); -#27314=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12860,#27313); -#27315=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#6794); -#27316=NAME_ATTRIBUTE('single instance',#6799); -#27317=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6789,#2628,$,'',$,#6799,*); -#27318=PROPERTY_DEFINITION('',$,#27317); -#27319=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#27318); -#27320=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27318); -#27321=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6801,#6799); -#27322=SHAPE_ASPECT('',$,#6799,.U.); -#27323=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11824,#27322); -#27324=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6799); -#27325=NAME_ATTRIBUTE('single instance',#6800); -#27326=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6789,#2602,$,'',$,#6800,*); -#27327=PROPERTY_DEFINITION('',$,#27326); -#27328=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#27327); -#27329=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27327); -#27330=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6801,#6800); -#27331=SHAPE_ASPECT('',$,#6800,.U.); -#27332=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12861,#27331); -#27333=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6800); -#27334=NAME_ATTRIBUTE('single instance',#6824); -#27335=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6820,#2628,$,'',$,#6824,*); -#27336=PROPERTY_DEFINITION('',$,#27335); -#27337=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27336); -#27338=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27336); -#27339=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6826,#6824); -#27340=SHAPE_ASPECT('',$,#6824,.U.); -#27341=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12103,#27340); -#27342=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6824); -#27343=NAME_ATTRIBUTE('single instance',#6825); -#27344=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6820,#2602,$,'',$,#6825,*); -#27345=PROPERTY_DEFINITION('',$,#27344); -#27346=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27345); -#27347=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27345); -#27348=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6826,#6825); -#27349=SHAPE_ASPECT('',$,#6825,.U.); -#27350=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12863,#27349); -#27351=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6825); -#27352=NAME_ATTRIBUTE('single instance',#6829); -#27353=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6820,#2628,$,'',$,#6829,*); -#27354=PROPERTY_DEFINITION('',$,#27353); -#27355=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27354); -#27356=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27354); -#27357=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6831,#6829); -#27358=SHAPE_ASPECT('',$,#6829,.U.); -#27359=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12152,#27358); -#27360=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6829); -#27361=NAME_ATTRIBUTE('single instance',#6830); -#27362=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6820,#2602,$,'',$,#6830,*); -#27363=PROPERTY_DEFINITION('',$,#27362); -#27364=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27363); -#27365=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27363); -#27366=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6831,#6830); -#27367=SHAPE_ASPECT('',$,#6830,.U.); -#27368=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12862,#27367); -#27369=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6830); -#27370=NAME_ATTRIBUTE('single instance',#6854); -#27371=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6850,#3726,$,'',$,#6854,*); -#27372=PROPERTY_DEFINITION('',$,#27371); -#27373=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24092,#27372); -#27374=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23506,#27372); -#27375=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6857,#6854); -#27376=SHAPE_ASPECT('',$,#6854,.U.); -#27377=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12869,#27376); -#27378=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3729,#6854); -#27379=NAME_ATTRIBUTE('single instance',#6855); -#27380=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6850,#3700,$,'',$,#6855,*); -#27381=PROPERTY_DEFINITION('',$,#27380); -#27382=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24092,#27381); -#27383=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23471,#27381); -#27384=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6857,#6855); -#27385=SHAPE_ASPECT('',$,#6855,.U.); -#27386=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12868,#27385); -#27387=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3703,#6855); -#27388=NAME_ATTRIBUTE('single instance',#6860); -#27389=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6850,#2628,$,'',$,#6860,*); -#27390=PROPERTY_DEFINITION('',$,#27389); -#27391=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24088,#27390); -#27392=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27390); -#27393=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6862,#6860); -#27394=SHAPE_ASPECT('',$,#6860,.U.); -#27395=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12865,#27394); -#27396=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6860); -#27397=NAME_ATTRIBUTE('single instance',#6861); -#27398=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6850,#2602,$,'',$,#6861,*); -#27399=PROPERTY_DEFINITION('',$,#27398); -#27400=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24088,#27399); -#27401=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27399); -#27402=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6862,#6861); -#27403=SHAPE_ASPECT('',$,#6861,.U.); -#27404=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12864,#27403); -#27405=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6861); -#27406=NAME_ATTRIBUTE('single instance',#6865); -#27407=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6850,#2944,$,'',$,#6865,*); -#27408=PROPERTY_DEFINITION('',$,#27407); -#27409=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24085,#27408); -#27410=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#27408); -#27411=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6867,#6865); -#27412=SHAPE_ASPECT('',$,#6865,.U.); -#27413=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12867,#27412); -#27414=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#6865); -#27415=NAME_ATTRIBUTE('single instance',#6866); -#27416=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6850,#2918,$,'',$,#6866,*); -#27417=PROPERTY_DEFINITION('',$,#27416); -#27418=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24085,#27417); -#27419=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#27417); -#27420=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6867,#6866); -#27421=SHAPE_ASPECT('',$,#6866,.U.); -#27422=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12866,#27421); -#27423=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#6866); -#27424=NAME_ATTRIBUTE('single instance',#6900); -#27425=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6896,#2628,$,'',$,#6900,*); -#27426=PROPERTY_DEFINITION('',$,#27425); -#27427=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27426); -#27428=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27426); -#27429=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6902,#6900); -#27430=SHAPE_ASPECT('',$,#6900,.U.); -#27431=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12152,#27430); -#27432=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6900); -#27433=NAME_ATTRIBUTE('single instance',#6901); -#27434=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6896,#2602,$,'',$,#6901,*); -#27435=PROPERTY_DEFINITION('',$,#27434); -#27436=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27435); -#27437=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27435); -#27438=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6902,#6901); -#27439=SHAPE_ASPECT('',$,#6901,.U.); -#27440=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12871,#27439); -#27441=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6901); -#27442=NAME_ATTRIBUTE('single instance',#6905); -#27443=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6896,#2628,$,'',$,#6905,*); -#27444=PROPERTY_DEFINITION('',$,#27443); -#27445=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27444); -#27446=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27444); -#27447=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6907,#6905); -#27448=SHAPE_ASPECT('',$,#6905,.U.); -#27449=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12870,#27448); -#27450=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6905); -#27451=NAME_ATTRIBUTE('single instance',#6906); -#27452=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6896,#2602,$,'',$,#6906,*); -#27453=PROPERTY_DEFINITION('',$,#27452); -#27454=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27453); -#27455=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27453); -#27456=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6907,#6906); -#27457=SHAPE_ASPECT('',$,#6906,.U.); -#27458=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#27457); -#27459=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6906); -#27460=NAME_ATTRIBUTE('single instance',#6930); -#27461=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6926,#2628,$,'',$,#6930,*); -#27462=PROPERTY_DEFINITION('',$,#27461); -#27463=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27462); -#27464=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27462); -#27465=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6932,#6930); -#27466=SHAPE_ASPECT('',$,#6930,.U.); -#27467=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12873,#27466); -#27468=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6930); -#27469=NAME_ATTRIBUTE('single instance',#6931); -#27470=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6926,#2602,$,'',$,#6931,*); -#27471=PROPERTY_DEFINITION('',$,#27470); -#27472=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27471); -#27473=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27471); -#27474=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6932,#6931); -#27475=SHAPE_ASPECT('',$,#6931,.U.); -#27476=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#27475); -#27477=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6931); -#27478=NAME_ATTRIBUTE('single instance',#6935); -#27479=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6926,#2628,$,'',$,#6935,*); -#27480=PROPERTY_DEFINITION('',$,#27479); -#27481=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27480); -#27482=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27480); -#27483=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6937,#6935); -#27484=SHAPE_ASPECT('',$,#6935,.U.); -#27485=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11997,#27484); -#27486=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6935); -#27487=NAME_ATTRIBUTE('single instance',#6936); -#27488=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6926,#2602,$,'',$,#6936,*); -#27489=PROPERTY_DEFINITION('',$,#27488); -#27490=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27489); -#27491=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27489); -#27492=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6937,#6936); -#27493=SHAPE_ASPECT('',$,#6936,.U.); -#27494=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12872,#27493); -#27495=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6936); -#27496=NAME_ATTRIBUTE('single instance',#6960); -#27497=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#3410,$,'',$,#6960,*); -#27498=PROPERTY_DEFINITION('',$,#27497); -#27499=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#27498); -#27500=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#27498); -#27501=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6962,#6960); -#27502=SHAPE_ASPECT('',$,#6960,.U.); -#27503=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12875,#27502); -#27504=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#6960); -#27505=NAME_ATTRIBUTE('single instance',#6961); -#27506=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#3384,$,'',$,#6961,*); -#27507=PROPERTY_DEFINITION('',$,#27506); -#27508=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#27507); -#27509=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#27507); -#27510=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6962,#6961); -#27511=SHAPE_ASPECT('',$,#6961,.U.); -#27512=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#27511); -#27513=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#6961); -#27514=NAME_ATTRIBUTE('single instance',#6965); -#27515=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#2628,$,'',$,#6965,*); -#27516=PROPERTY_DEFINITION('',$,#27515); -#27517=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#27516); -#27518=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27516); -#27519=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6967,#6965); -#27520=SHAPE_ASPECT('',$,#6965,.U.); -#27521=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12561,#27520); -#27522=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6965); -#27523=NAME_ATTRIBUTE('single instance',#6966); -#27524=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#2602,$,'',$,#6966,*); -#27525=PROPERTY_DEFINITION('',$,#27524); -#27526=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#27525); -#27527=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27525); -#27528=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6967,#6966); -#27529=SHAPE_ASPECT('',$,#6966,.U.); -#27530=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12874,#27529); -#27531=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6966); -#27532=NAME_ATTRIBUTE('single instance',#6990); -#27533=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6986,#2628,$,'',$,#6990,*); -#27534=PROPERTY_DEFINITION('',$,#27533); -#27535=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27534); -#27536=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27534); -#27537=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6992,#6990); -#27538=SHAPE_ASPECT('',$,#6990,.U.); -#27539=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#27538); -#27540=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6990); -#27541=NAME_ATTRIBUTE('single instance',#6991); -#27542=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6986,#2602,$,'',$,#6991,*); -#27543=PROPERTY_DEFINITION('',$,#27542); -#27544=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27543); -#27545=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27543); -#27546=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6992,#6991); -#27547=SHAPE_ASPECT('',$,#6991,.U.); -#27548=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12877,#27547); -#27549=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6991); -#27550=NAME_ATTRIBUTE('single instance',#6995); -#27551=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6986,#2628,$,'',$,#6995,*); -#27552=PROPERTY_DEFINITION('',$,#27551); -#27553=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27552); -#27554=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27552); -#27555=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6997,#6995); -#27556=SHAPE_ASPECT('',$,#6995,.U.); -#27557=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10960,#27556); -#27558=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#6995); -#27559=NAME_ATTRIBUTE('single instance',#6996); -#27560=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6986,#2602,$,'',$,#6996,*); -#27561=PROPERTY_DEFINITION('',$,#27560); -#27562=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27561); -#27563=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27561); -#27564=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#6997,#6996); -#27565=SHAPE_ASPECT('',$,#6996,.U.); -#27566=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12876,#27565); -#27567=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#6996); -#27568=NAME_ATTRIBUTE('single instance',#7020); -#27569=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7016,#2628,$,'',$,#7020,*); -#27570=PROPERTY_DEFINITION('',$,#27569); -#27571=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23746,#27570); -#27572=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27570); -#27573=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7022,#7020); -#27574=SHAPE_ASPECT('',$,#7020,.U.); -#27575=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10727,#27574); -#27576=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7020); -#27577=NAME_ATTRIBUTE('single instance',#7021); -#27578=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7016,#2602,$,'',$,#7021,*); -#27579=PROPERTY_DEFINITION('',$,#27578); -#27580=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23746,#27579); -#27581=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27579); -#27582=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7022,#7021); -#27583=SHAPE_ASPECT('',$,#7021,.U.); -#27584=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12878,#27583); -#27585=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7021); -#27586=NAME_ATTRIBUTE('single instance',#7025); -#27587=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7016,#2628,$,'',$,#7025,*); -#27588=PROPERTY_DEFINITION('',$,#27587); -#27589=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23743,#27588); -#27590=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27588); -#27591=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7027,#7025); -#27592=SHAPE_ASPECT('',$,#7025,.U.); -#27593=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10861,#27592); -#27594=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7025); -#27595=NAME_ATTRIBUTE('single instance',#7026); -#27596=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7016,#2602,$,'',$,#7026,*); -#27597=PROPERTY_DEFINITION('',$,#27596); -#27598=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23743,#27597); -#27599=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27597); -#27600=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7027,#7026); -#27601=SHAPE_ASPECT('',$,#7026,.U.); -#27602=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12880,#27601); -#27603=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7026); -#27604=NAME_ATTRIBUTE('single instance',#7030); -#27605=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7016,#2944,$,'',$,#7030,*); -#27606=PROPERTY_DEFINITION('',$,#27605); -#27607=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23740,#27606); -#27608=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#27606); -#27609=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7032,#7030); -#27610=SHAPE_ASPECT('',$,#7030,.U.); -#27611=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11653,#27610); -#27612=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#7030); -#27613=NAME_ATTRIBUTE('single instance',#7031); -#27614=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7016,#2918,$,'',$,#7031,*); -#27615=PROPERTY_DEFINITION('',$,#27614); -#27616=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23740,#27615); -#27617=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#27615); -#27618=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7032,#7031); -#27619=SHAPE_ASPECT('',$,#7031,.U.); -#27620=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12879,#27619); -#27621=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#7031); -#27622=NAME_ATTRIBUTE('single instance',#7065); -#27623=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7061,#2944,$,'',$,#7065,*); -#27624=PROPERTY_DEFINITION('',$,#27623); -#27625=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#27624); -#27626=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#27624); -#27627=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7067,#7065); -#27628=SHAPE_ASPECT('',$,#7065,.U.); -#27629=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10708,#27628); -#27630=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#7065); -#27631=NAME_ATTRIBUTE('single instance',#7066); -#27632=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7061,#2918,$,'',$,#7066,*); -#27633=PROPERTY_DEFINITION('',$,#27632); -#27634=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#27633); -#27635=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#27633); -#27636=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7067,#7066); -#27637=SHAPE_ASPECT('',$,#7066,.U.); -#27638=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12881,#27637); -#27639=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#7066); -#27640=NAME_ATTRIBUTE('single instance',#7070); -#27641=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7061,#2628,$,'',$,#7070,*); -#27642=PROPERTY_DEFINITION('',$,#27641); -#27643=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#27642); -#27644=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27642); -#27645=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7072,#7070); -#27646=SHAPE_ASPECT('',$,#7070,.U.); -#27647=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11669,#27646); -#27648=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7070); -#27649=NAME_ATTRIBUTE('single instance',#7071); -#27650=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7061,#2602,$,'',$,#7071,*); -#27651=PROPERTY_DEFINITION('',$,#27650); -#27652=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#27651); -#27653=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27651); -#27654=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7072,#7071); -#27655=SHAPE_ASPECT('',$,#7071,.U.); -#27656=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12882,#27655); -#27657=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7071); -#27658=NAME_ATTRIBUTE('single instance',#7095); -#27659=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7091,#2628,$,'',$,#7095,*); -#27660=PROPERTY_DEFINITION('',$,#27659); -#27661=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27660); -#27662=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27660); -#27663=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7097,#7095); -#27664=SHAPE_ASPECT('',$,#7095,.U.); -#27665=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12885,#27664); -#27666=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7095); -#27667=NAME_ATTRIBUTE('single instance',#7096); -#27668=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7091,#2602,$,'',$,#7096,*); -#27669=PROPERTY_DEFINITION('',$,#27668); -#27670=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27669); -#27671=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27669); -#27672=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7097,#7096); -#27673=SHAPE_ASPECT('',$,#7096,.U.); -#27674=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12884,#27673); -#27675=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7096); -#27676=NAME_ATTRIBUTE('single instance',#7100); -#27677=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7091,#2628,$,'',$,#7100,*); -#27678=PROPERTY_DEFINITION('',$,#27677); -#27679=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27678); -#27680=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27678); -#27681=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7102,#7100); -#27682=SHAPE_ASPECT('',$,#7100,.U.); -#27683=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12614,#27682); -#27684=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7100); -#27685=NAME_ATTRIBUTE('single instance',#7101); -#27686=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7091,#2602,$,'',$,#7101,*); -#27687=PROPERTY_DEFINITION('',$,#27686); -#27688=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27687); -#27689=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27687); -#27690=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7102,#7101); -#27691=SHAPE_ASPECT('',$,#7101,.U.); -#27692=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12883,#27691); -#27693=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7101); -#27694=NAME_ATTRIBUTE('single instance',#7125); -#27695=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7121,#2628,$,'',$,#7125,*); -#27696=PROPERTY_DEFINITION('',$,#27695); -#27697=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#27696); -#27698=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27696); -#27699=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7127,#7125); -#27700=SHAPE_ASPECT('',$,#7125,.U.); -#27701=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10925,#27700); -#27702=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7125); -#27703=NAME_ATTRIBUTE('single instance',#7126); -#27704=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7121,#2602,$,'',$,#7126,*); -#27705=PROPERTY_DEFINITION('',$,#27704); -#27706=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#27705); -#27707=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27705); -#27708=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7127,#7126); -#27709=SHAPE_ASPECT('',$,#7126,.U.); -#27710=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12886,#27709); -#27711=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7126); -#27712=NAME_ATTRIBUTE('single instance',#7130); -#27713=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7121,#2628,$,'',$,#7130,*); -#27714=PROPERTY_DEFINITION('',$,#27713); -#27715=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#27714); -#27716=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27714); -#27717=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7132,#7130); -#27718=SHAPE_ASPECT('',$,#7130,.U.); -#27719=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#27718); -#27720=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7130); -#27721=NAME_ATTRIBUTE('single instance',#7131); -#27722=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7121,#2602,$,'',$,#7131,*); -#27723=PROPERTY_DEFINITION('',$,#27722); -#27724=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#27723); -#27725=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27723); -#27726=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7132,#7131); -#27727=SHAPE_ASPECT('',$,#7131,.U.); -#27728=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12887,#27727); -#27729=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7131); -#27730=NAME_ATTRIBUTE('single instance',#7155); -#27731=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2628,$,'',$,#7155,*); -#27732=PROPERTY_DEFINITION('',$,#27731); -#27733=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24140,#27732); -#27734=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27732); -#27735=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7157,#7155); -#27736=SHAPE_ASPECT('',$,#7155,.U.); -#27737=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12320,#27736); -#27738=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7155); -#27739=NAME_ATTRIBUTE('single instance',#7156); -#27740=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2602,$,'',$,#7156,*); -#27741=PROPERTY_DEFINITION('',$,#27740); -#27742=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24140,#27741); -#27743=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27741); -#27744=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7157,#7156); -#27745=SHAPE_ASPECT('',$,#7156,.U.); -#27746=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12890,#27745); -#27747=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7156); -#27748=NAME_ATTRIBUTE('single instance',#7160); -#27749=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2628,$,'',$,#7160,*); -#27750=PROPERTY_DEFINITION('',$,#27749); -#27751=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24137,#27750); -#27752=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27750); -#27753=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7162,#7160); -#27754=SHAPE_ASPECT('',$,#7160,.U.); -#27755=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12894,#27754); -#27756=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7160); -#27757=NAME_ATTRIBUTE('single instance',#7161); -#27758=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2602,$,'',$,#7161,*); -#27759=PROPERTY_DEFINITION('',$,#27758); -#27760=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24137,#27759); -#27761=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27759); -#27762=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7162,#7161); -#27763=SHAPE_ASPECT('',$,#7161,.U.); -#27764=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12893,#27763); -#27765=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7161); -#27766=NAME_ATTRIBUTE('single instance',#7165); -#27767=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2628,$,'',$,#7165,*); -#27768=PROPERTY_DEFINITION('',$,#27767); -#27769=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24134,#27768); -#27770=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27768); -#27771=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7167,#7165); -#27772=SHAPE_ASPECT('',$,#7165,.U.); -#27773=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12256,#27772); -#27774=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7165); -#27775=NAME_ATTRIBUTE('single instance',#7166); -#27776=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2602,$,'',$,#7166,*); -#27777=PROPERTY_DEFINITION('',$,#27776); -#27778=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24134,#27777); -#27779=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27777); -#27780=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7167,#7166); -#27781=SHAPE_ASPECT('',$,#7166,.U.); -#27782=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12895,#27781); -#27783=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7166); -#27784=NAME_ATTRIBUTE('single instance',#7170); -#27785=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2628,$,'',$,#7170,*); -#27786=PROPERTY_DEFINITION('',$,#27785); -#27787=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24131,#27786); -#27788=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27786); -#27789=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7172,#7170); -#27790=SHAPE_ASPECT('',$,#7170,.U.); -#27791=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12891,#27790); -#27792=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7170); -#27793=NAME_ATTRIBUTE('single instance',#7171); -#27794=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2602,$,'',$,#7171,*); -#27795=PROPERTY_DEFINITION('',$,#27794); -#27796=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24131,#27795); -#27797=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27795); -#27798=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7172,#7171); -#27799=SHAPE_ASPECT('',$,#7171,.U.); -#27800=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#27799); -#27801=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7171); -#27802=NAME_ATTRIBUTE('single instance',#7175); -#27803=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2628,$,'',$,#7175,*); -#27804=PROPERTY_DEFINITION('',$,#27803); -#27805=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24128,#27804); -#27806=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27804); -#27807=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7177,#7175); -#27808=SHAPE_ASPECT('',$,#7175,.U.); -#27809=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12889,#27808); -#27810=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7175); -#27811=NAME_ATTRIBUTE('single instance',#7176); -#27812=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2602,$,'',$,#7176,*); -#27813=PROPERTY_DEFINITION('',$,#27812); -#27814=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24128,#27813); -#27815=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27813); -#27816=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7177,#7176); -#27817=SHAPE_ASPECT('',$,#7176,.U.); -#27818=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12888,#27817); -#27819=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7176); -#27820=NAME_ATTRIBUTE('single instance',#7180); -#27821=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2944,$,'',$,#7180,*); -#27822=PROPERTY_DEFINITION('',$,#27821); -#27823=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24125,#27822); -#27824=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#27822); -#27825=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7182,#7180); -#27826=SHAPE_ASPECT('',$,#7180,.U.); -#27827=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10943,#27826); -#27828=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#7180); -#27829=NAME_ATTRIBUTE('single instance',#7181); -#27830=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7151,#2918,$,'',$,#7181,*); -#27831=PROPERTY_DEFINITION('',$,#27830); -#27832=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24125,#27831); -#27833=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#27831); -#27834=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7182,#7181); -#27835=SHAPE_ASPECT('',$,#7181,.U.); -#27836=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12892,#27835); -#27837=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#7181); -#27838=NAME_ATTRIBUTE('single instance',#7237); -#27839=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7233,#2628,$,'',$,#7237,*); -#27840=PROPERTY_DEFINITION('',$,#27839); -#27841=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27840); -#27842=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27840); -#27843=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7239,#7237); -#27844=SHAPE_ASPECT('',$,#7237,.U.); -#27845=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#27844); -#27846=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7237); -#27847=NAME_ATTRIBUTE('single instance',#7238); -#27848=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7233,#2602,$,'',$,#7238,*); -#27849=PROPERTY_DEFINITION('',$,#27848); -#27850=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27849); -#27851=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27849); -#27852=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7239,#7238); -#27853=SHAPE_ASPECT('',$,#7238,.U.); -#27854=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12897,#27853); -#27855=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7238); -#27856=NAME_ATTRIBUTE('single instance',#7242); -#27857=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7233,#2628,$,'',$,#7242,*); -#27858=PROPERTY_DEFINITION('',$,#27857); -#27859=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27858); -#27860=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27858); -#27861=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7244,#7242); -#27862=SHAPE_ASPECT('',$,#7242,.U.); -#27863=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#27862); -#27864=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7242); -#27865=NAME_ATTRIBUTE('single instance',#7243); -#27866=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7233,#2602,$,'',$,#7243,*); -#27867=PROPERTY_DEFINITION('',$,#27866); -#27868=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27867); -#27869=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27867); -#27870=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7244,#7243); -#27871=SHAPE_ASPECT('',$,#7243,.U.); -#27872=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12896,#27871); -#27873=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7243); -#27874=NAME_ATTRIBUTE('single instance',#7267); -#27875=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7263,#2786,$,'',$,#7267,*); -#27876=PROPERTY_DEFINITION('',$,#27875); -#27877=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23717,#27876); -#27878=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#27876); -#27879=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7269,#7267); -#27880=SHAPE_ASPECT('',$,#7267,.U.); -#27881=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11791,#27880); -#27882=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7267); -#27883=NAME_ATTRIBUTE('single instance',#7268); -#27884=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7263,#2760,$,'',$,#7268,*); -#27885=PROPERTY_DEFINITION('',$,#27884); -#27886=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23717,#27885); -#27887=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#27885); -#27888=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7269,#7268); -#27889=SHAPE_ASPECT('',$,#7268,.U.); -#27890=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12899,#27889); -#27891=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7268); -#27892=NAME_ATTRIBUTE('single instance',#7272); -#27893=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7263,#2944,$,'',$,#7272,*); -#27894=PROPERTY_DEFINITION('',$,#27893); -#27895=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23714,#27894); -#27896=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#27894); -#27897=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7274,#7272); -#27898=SHAPE_ASPECT('',$,#7272,.U.); -#27899=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11707,#27898); -#27900=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#7272); -#27901=NAME_ATTRIBUTE('single instance',#7273); -#27902=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7263,#2918,$,'',$,#7273,*); -#27903=PROPERTY_DEFINITION('',$,#27902); -#27904=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23714,#27903); -#27905=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#27903); -#27906=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7274,#7273); -#27907=SHAPE_ASPECT('',$,#7273,.U.); -#27908=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12898,#27907); -#27909=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#7273); -#27910=NAME_ATTRIBUTE('single instance',#7297); -#27911=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7293,#2628,$,'',$,#7297,*); -#27912=PROPERTY_DEFINITION('',$,#27911); -#27913=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27912); -#27914=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27912); -#27915=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7299,#7297); -#27916=SHAPE_ASPECT('',$,#7297,.U.); -#27917=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11894,#27916); -#27918=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7297); -#27919=NAME_ATTRIBUTE('single instance',#7298); -#27920=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7293,#2602,$,'',$,#7298,*); -#27921=PROPERTY_DEFINITION('',$,#27920); -#27922=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27921); -#27923=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27921); -#27924=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7299,#7298); -#27925=SHAPE_ASPECT('',$,#7298,.U.); -#27926=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12901,#27925); -#27927=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7298); -#27928=NAME_ATTRIBUTE('single instance',#7302); -#27929=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7293,#2628,$,'',$,#7302,*); -#27930=PROPERTY_DEFINITION('',$,#27929); -#27931=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27930); -#27932=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27930); -#27933=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7304,#7302); -#27934=SHAPE_ASPECT('',$,#7302,.U.); -#27935=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12900,#27934); -#27936=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7302); -#27937=NAME_ATTRIBUTE('single instance',#7303); -#27938=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7293,#2602,$,'',$,#7303,*); -#27939=PROPERTY_DEFINITION('',$,#27938); -#27940=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27939); -#27941=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27939); -#27942=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7304,#7303); -#27943=SHAPE_ASPECT('',$,#7303,.U.); -#27944=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#27943); -#27945=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7303); -#27946=NAME_ATTRIBUTE('single instance',#7327); -#27947=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7323,#2628,$,'',$,#7327,*); -#27948=PROPERTY_DEFINITION('',$,#27947); -#27949=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27948); -#27950=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27948); -#27951=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7329,#7327); -#27952=SHAPE_ASPECT('',$,#7327,.U.); -#27953=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12669,#27952); -#27954=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7327); -#27955=NAME_ATTRIBUTE('single instance',#7328); -#27956=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7323,#2602,$,'',$,#7328,*); -#27957=PROPERTY_DEFINITION('',$,#27956); -#27958=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#27957); -#27959=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27957); -#27960=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7329,#7328); -#27961=SHAPE_ASPECT('',$,#7328,.U.); -#27962=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12903,#27961); -#27963=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7328); -#27964=NAME_ATTRIBUTE('single instance',#7332); -#27965=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7323,#2628,$,'',$,#7332,*); -#27966=PROPERTY_DEFINITION('',$,#27965); -#27967=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27966); -#27968=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#27966); -#27969=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7334,#7332); -#27970=SHAPE_ASPECT('',$,#7332,.U.); -#27971=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12218,#27970); -#27972=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7332); -#27973=NAME_ATTRIBUTE('single instance',#7333); -#27974=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7323,#2602,$,'',$,#7333,*); -#27975=PROPERTY_DEFINITION('',$,#27974); -#27976=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#27975); -#27977=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#27975); -#27978=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7334,#7333); -#27979=SHAPE_ASPECT('',$,#7333,.U.); -#27980=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12902,#27979); -#27981=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7333); -#27982=NAME_ATTRIBUTE('single instance',#7357); -#27983=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7353,#3102,$,'',$,#7357,*); -#27984=PROPERTY_DEFINITION('',$,#27983); -#27985=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#27984); -#27986=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#27984); -#27987=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7359,#7357); -#27988=SHAPE_ASPECT('',$,#7357,.U.); -#27989=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#27988); -#27990=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#7357); -#27991=NAME_ATTRIBUTE('single instance',#7358); -#27992=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7353,#3076,$,'',$,#7358,*); -#27993=PROPERTY_DEFINITION('',$,#27992); -#27994=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#27993); -#27995=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#27993); -#27996=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7359,#7358); -#27997=SHAPE_ASPECT('',$,#7358,.U.); -#27998=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12904,#27997); -#27999=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#7358); -#28000=NAME_ATTRIBUTE('single instance',#7362); -#28001=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7353,#3410,$,'',$,#7362,*); -#28002=PROPERTY_DEFINITION('',$,#28001); -#28003=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#28002); -#28004=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#28002); -#28005=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7364,#7362); -#28006=SHAPE_ASPECT('',$,#7362,.U.); -#28007=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12152,#28006); -#28008=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#7362); -#28009=NAME_ATTRIBUTE('single instance',#7363); -#28010=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7353,#3384,$,'',$,#7363,*); -#28011=PROPERTY_DEFINITION('',$,#28010); -#28012=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#28011); -#28013=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#28011); -#28014=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7364,#7363); -#28015=SHAPE_ASPECT('',$,#7363,.U.); -#28016=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12905,#28015); -#28017=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#7363); -#28018=NAME_ATTRIBUTE('single instance',#7387); -#28019=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7383,#2628,$,'',$,#7387,*); -#28020=PROPERTY_DEFINITION('',$,#28019); -#28021=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23746,#28020); -#28022=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28020); -#28023=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7389,#7387); -#28024=SHAPE_ASPECT('',$,#7387,.U.); -#28025=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12735,#28024); -#28026=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7387); -#28027=NAME_ATTRIBUTE('single instance',#7388); -#28028=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7383,#2602,$,'',$,#7388,*); -#28029=PROPERTY_DEFINITION('',$,#28028); -#28030=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23746,#28029); -#28031=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28029); -#28032=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7389,#7388); -#28033=SHAPE_ASPECT('',$,#7388,.U.); -#28034=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12906,#28033); -#28035=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7388); -#28036=NAME_ATTRIBUTE('single instance',#7392); -#28037=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7383,#2628,$,'',$,#7392,*); -#28038=PROPERTY_DEFINITION('',$,#28037); -#28039=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23743,#28038); -#28040=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28038); -#28041=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7394,#7392); -#28042=SHAPE_ASPECT('',$,#7392,.U.); -#28043=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10572,#28042); -#28044=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7392); -#28045=NAME_ATTRIBUTE('single instance',#7393); -#28046=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7383,#2602,$,'',$,#7393,*); -#28047=PROPERTY_DEFINITION('',$,#28046); -#28048=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23743,#28047); -#28049=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28047); -#28050=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7394,#7393); -#28051=SHAPE_ASPECT('',$,#7393,.U.); -#28052=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12908,#28051); -#28053=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7393); -#28054=NAME_ATTRIBUTE('single instance',#7397); -#28055=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7383,#2944,$,'',$,#7397,*); -#28056=PROPERTY_DEFINITION('',$,#28055); -#28057=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23740,#28056); -#28058=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#28056); -#28059=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7399,#7397); -#28060=SHAPE_ASPECT('',$,#7397,.U.); -#28061=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12186,#28060); -#28062=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#7397); -#28063=NAME_ATTRIBUTE('single instance',#7398); -#28064=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7383,#2918,$,'',$,#7398,*); -#28065=PROPERTY_DEFINITION('',$,#28064); -#28066=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23740,#28065); -#28067=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#28065); -#28068=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7399,#7398); -#28069=SHAPE_ASPECT('',$,#7398,.U.); -#28070=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12907,#28069); -#28071=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#7398); -#28072=NAME_ATTRIBUTE('single instance',#7431); -#28073=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7427,#3410,$,'',$,#7431,*); -#28074=PROPERTY_DEFINITION('',$,#28073); -#28075=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24194,#28074); -#28076=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#28074); -#28077=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7433,#7431); -#28078=SHAPE_ASPECT('',$,#7431,.U.); -#28079=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12909,#28078); -#28080=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#7431); -#28081=NAME_ATTRIBUTE('single instance',#7432); -#28082=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7427,#3384,$,'',$,#7432,*); -#28083=PROPERTY_DEFINITION('',$,#28082); -#28084=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24194,#28083); -#28085=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#28083); -#28086=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7433,#7432); -#28087=SHAPE_ASPECT('',$,#7432,.U.); -#28088=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#28087); -#28089=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#7432); -#28090=NAME_ATTRIBUTE('single instance',#7436); -#28091=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7427,#2786,$,'',$,#7436,*); -#28092=PROPERTY_DEFINITION('',$,#28091); -#28093=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24191,#28092); -#28094=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28092); -#28095=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7438,#7436); -#28096=SHAPE_ASPECT('',$,#7436,.U.); -#28097=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11634,#28096); -#28098=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7436); -#28099=NAME_ATTRIBUTE('single instance',#7437); -#28100=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7427,#2760,$,'',$,#7437,*); -#28101=PROPERTY_DEFINITION('',$,#28100); -#28102=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24191,#28101); -#28103=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28101); -#28104=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7438,#7437); -#28105=SHAPE_ASPECT('',$,#7437,.U.); -#28106=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12910,#28105); -#28107=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7437); -#28108=NAME_ATTRIBUTE('single instance',#7461); -#28109=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7457,#2628,$,'',$,#7461,*); -#28110=PROPERTY_DEFINITION('',$,#28109); -#28111=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24122,#28110); -#28112=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28110); -#28113=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7463,#7461); -#28114=SHAPE_ASPECT('',$,#7461,.U.); -#28115=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12912,#28114); -#28116=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7461); -#28117=NAME_ATTRIBUTE('single instance',#7462); -#28118=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7457,#2602,$,'',$,#7462,*); -#28119=PROPERTY_DEFINITION('',$,#28118); -#28120=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24122,#28119); -#28121=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28119); -#28122=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7463,#7462); -#28123=SHAPE_ASPECT('',$,#7462,.U.); -#28124=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12911,#28123); -#28125=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7462); -#28126=NAME_ATTRIBUTE('single instance',#7466); -#28127=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7457,#2628,$,'',$,#7466,*); -#28128=PROPERTY_DEFINITION('',$,#28127); -#28129=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24119,#28128); -#28130=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28128); -#28131=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7468,#7466); -#28132=SHAPE_ASPECT('',$,#7466,.U.); -#28133=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11808,#28132); -#28134=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7466); -#28135=NAME_ATTRIBUTE('single instance',#7467); -#28136=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7457,#2602,$,'',$,#7467,*); -#28137=PROPERTY_DEFINITION('',$,#28136); -#28138=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24119,#28137); -#28139=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28137); -#28140=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7468,#7467); -#28141=SHAPE_ASPECT('',$,#7467,.U.); -#28142=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12913,#28141); -#28143=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7467); -#28144=NAME_ATTRIBUTE('single instance',#7491); -#28145=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7487,#2628,$,'',$,#7491,*); -#28146=PROPERTY_DEFINITION('',$,#28145); -#28147=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28146); -#28148=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28146); -#28149=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7493,#7491); -#28150=SHAPE_ASPECT('',$,#7491,.U.); -#28151=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12103,#28150); -#28152=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7491); -#28153=NAME_ATTRIBUTE('single instance',#7492); -#28154=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7487,#2602,$,'',$,#7492,*); -#28155=PROPERTY_DEFINITION('',$,#28154); -#28156=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28155); -#28157=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28155); -#28158=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7493,#7492); -#28159=SHAPE_ASPECT('',$,#7492,.U.); -#28160=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12916,#28159); -#28161=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7492); -#28162=NAME_ATTRIBUTE('single instance',#7496); -#28163=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7487,#2628,$,'',$,#7496,*); -#28164=PROPERTY_DEFINITION('',$,#28163); -#28165=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28164); -#28166=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28164); -#28167=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7498,#7496); -#28168=SHAPE_ASPECT('',$,#7496,.U.); -#28169=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12915,#28168); -#28170=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7496); -#28171=NAME_ATTRIBUTE('single instance',#7497); -#28172=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7487,#2602,$,'',$,#7497,*); -#28173=PROPERTY_DEFINITION('',$,#28172); -#28174=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28173); -#28175=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28173); -#28176=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7498,#7497); -#28177=SHAPE_ASPECT('',$,#7497,.U.); -#28178=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12914,#28177); -#28179=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7497); -#28180=NAME_ATTRIBUTE('single instance',#7521); -#28181=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7517,#2944,$,'',$,#7521,*); -#28182=PROPERTY_DEFINITION('',$,#28181); -#28183=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23704,#28182); -#28184=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#28182); -#28185=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7523,#7521); -#28186=SHAPE_ASPECT('',$,#7521,.U.); -#28187=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#28186); -#28188=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#7521); -#28189=NAME_ATTRIBUTE('single instance',#7522); -#28190=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7517,#2918,$,'',$,#7522,*); -#28191=PROPERTY_DEFINITION('',$,#28190); -#28192=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23704,#28191); -#28193=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#28191); -#28194=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7523,#7522); -#28195=SHAPE_ASPECT('',$,#7522,.U.); -#28196=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12917,#28195); -#28197=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#7522); -#28198=NAME_ATTRIBUTE('single instance',#7526); -#28199=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7517,#2786,$,'',$,#7526,*); -#28200=PROPERTY_DEFINITION('',$,#28199); -#28201=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23700,#28200); -#28202=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28200); -#28203=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7528,#7526); -#28204=SHAPE_ASPECT('',$,#7526,.U.); -#28205=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10960,#28204); -#28206=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7526); -#28207=NAME_ATTRIBUTE('single instance',#7527); -#28208=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7517,#2760,$,'',$,#7527,*); -#28209=PROPERTY_DEFINITION('',$,#28208); -#28210=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23700,#28209); -#28211=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28209); -#28212=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7528,#7527); -#28213=SHAPE_ASPECT('',$,#7527,.U.); -#28214=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12918,#28213); -#28215=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7527); -#28216=NAME_ATTRIBUTE('single instance',#7551); -#28217=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7547,#2628,$,'',$,#7551,*); -#28218=PROPERTY_DEFINITION('',$,#28217); -#28219=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28218); -#28220=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28218); -#28221=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7553,#7551); -#28222=SHAPE_ASPECT('',$,#7551,.U.); -#28223=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#28222); -#28224=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7551); -#28225=NAME_ATTRIBUTE('single instance',#7552); -#28226=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7547,#2602,$,'',$,#7552,*); -#28227=PROPERTY_DEFINITION('',$,#28226); -#28228=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28227); -#28229=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28227); -#28230=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7553,#7552); -#28231=SHAPE_ASPECT('',$,#7552,.U.); -#28232=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12920,#28231); -#28233=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7552); -#28234=NAME_ATTRIBUTE('single instance',#7556); -#28235=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7547,#2628,$,'',$,#7556,*); -#28236=PROPERTY_DEFINITION('',$,#28235); -#28237=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28236); -#28238=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28236); -#28239=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7558,#7556); -#28240=SHAPE_ASPECT('',$,#7556,.U.); -#28241=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11707,#28240); -#28242=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7556); -#28243=NAME_ATTRIBUTE('single instance',#7557); -#28244=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7547,#2602,$,'',$,#7557,*); -#28245=PROPERTY_DEFINITION('',$,#28244); -#28246=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28245); -#28247=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28245); -#28248=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7558,#7557); -#28249=SHAPE_ASPECT('',$,#7557,.U.); -#28250=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12919,#28249); -#28251=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7557); -#28252=NAME_ATTRIBUTE('single instance',#7581); -#28253=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7577,#2628,$,'',$,#7581,*); -#28254=PROPERTY_DEFINITION('',$,#28253); -#28255=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28254); -#28256=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28254); -#28257=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7583,#7581); -#28258=SHAPE_ASPECT('',$,#7581,.U.); -#28259=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11653,#28258); -#28260=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7581); -#28261=NAME_ATTRIBUTE('single instance',#7582); -#28262=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7577,#2602,$,'',$,#7582,*); -#28263=PROPERTY_DEFINITION('',$,#28262); -#28264=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28263); -#28265=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28263); -#28266=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7583,#7582); -#28267=SHAPE_ASPECT('',$,#7582,.U.); -#28268=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12922,#28267); -#28269=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7582); -#28270=NAME_ATTRIBUTE('single instance',#7586); -#28271=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7577,#2628,$,'',$,#7586,*); -#28272=PROPERTY_DEFINITION('',$,#28271); -#28273=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28272); -#28274=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28272); -#28275=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7588,#7586); -#28276=SHAPE_ASPECT('',$,#7586,.U.); -#28277=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#28276); -#28278=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7586); -#28279=NAME_ATTRIBUTE('single instance',#7587); -#28280=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7577,#2602,$,'',$,#7587,*); -#28281=PROPERTY_DEFINITION('',$,#28280); -#28282=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28281); -#28283=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28281); -#28284=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7588,#7587); -#28285=SHAPE_ASPECT('',$,#7587,.U.); -#28286=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12921,#28285); -#28287=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7587); -#28288=NAME_ATTRIBUTE('single instance',#7611); -#28289=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7607,#3410,$,'',$,#7611,*); -#28290=PROPERTY_DEFINITION('',$,#28289); -#28291=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24194,#28290); -#28292=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#28290); -#28293=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7613,#7611); -#28294=SHAPE_ASPECT('',$,#7611,.U.); -#28295=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#28294); -#28296=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#7611); -#28297=NAME_ATTRIBUTE('single instance',#7612); -#28298=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7607,#3384,$,'',$,#7612,*); -#28299=PROPERTY_DEFINITION('',$,#28298); -#28300=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24194,#28299); -#28301=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#28299); -#28302=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7613,#7612); -#28303=SHAPE_ASPECT('',$,#7612,.U.); -#28304=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12923,#28303); -#28305=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#7612); -#28306=NAME_ATTRIBUTE('single instance',#7616); -#28307=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7607,#2786,$,'',$,#7616,*); -#28308=PROPERTY_DEFINITION('',$,#28307); -#28309=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24191,#28308); -#28310=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28308); -#28311=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7618,#7616); -#28312=SHAPE_ASPECT('',$,#7616,.U.); -#28313=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11634,#28312); -#28314=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7616); -#28315=NAME_ATTRIBUTE('single instance',#7617); -#28316=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7607,#2760,$,'',$,#7617,*); -#28317=PROPERTY_DEFINITION('',$,#28316); -#28318=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24191,#28317); -#28319=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28317); -#28320=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7618,#7617); -#28321=SHAPE_ASPECT('',$,#7617,.U.); -#28322=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12924,#28321); -#28323=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7617); -#28324=NAME_ATTRIBUTE('single instance',#7641); -#28325=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7637,#2628,$,'',$,#7641,*); -#28326=PROPERTY_DEFINITION('',$,#28325); -#28327=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28326); -#28328=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28326); -#28329=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7643,#7641); -#28330=SHAPE_ASPECT('',$,#7641,.U.); -#28331=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12926,#28330); -#28332=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7641); -#28333=NAME_ATTRIBUTE('single instance',#7642); -#28334=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7637,#2602,$,'',$,#7642,*); -#28335=PROPERTY_DEFINITION('',$,#28334); -#28336=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28335); -#28337=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28335); -#28338=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7643,#7642); -#28339=SHAPE_ASPECT('',$,#7642,.U.); -#28340=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#28339); -#28341=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7642); -#28342=NAME_ATTRIBUTE('single instance',#7646); -#28343=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7637,#2628,$,'',$,#7646,*); -#28344=PROPERTY_DEFINITION('',$,#28343); -#28345=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28344); -#28346=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28344); -#28347=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7648,#7646); -#28348=SHAPE_ASPECT('',$,#7646,.U.); -#28349=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11843,#28348); -#28350=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7646); -#28351=NAME_ATTRIBUTE('single instance',#7647); -#28352=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7637,#2602,$,'',$,#7647,*); -#28353=PROPERTY_DEFINITION('',$,#28352); -#28354=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28353); -#28355=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28353); -#28356=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7648,#7647); -#28357=SHAPE_ASPECT('',$,#7647,.U.); -#28358=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12925,#28357); -#28359=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7647); -#28360=NAME_ATTRIBUTE('single instance',#7671); -#28361=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7667,#2628,$,'',$,#7671,*); -#28362=PROPERTY_DEFINITION('',$,#28361); -#28363=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28362); -#28364=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28362); -#28365=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7673,#7671); -#28366=SHAPE_ASPECT('',$,#7671,.U.); -#28367=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#28366); -#28368=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7671); -#28369=NAME_ATTRIBUTE('single instance',#7672); -#28370=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7667,#2602,$,'',$,#7672,*); -#28371=PROPERTY_DEFINITION('',$,#28370); -#28372=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28371); -#28373=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28371); -#28374=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7673,#7672); -#28375=SHAPE_ASPECT('',$,#7672,.U.); -#28376=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12928,#28375); -#28377=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7672); -#28378=NAME_ATTRIBUTE('single instance',#7676); -#28379=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7667,#2628,$,'',$,#7676,*); -#28380=PROPERTY_DEFINITION('',$,#28379); -#28381=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28380); -#28382=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28380); -#28383=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7678,#7676); -#28384=SHAPE_ASPECT('',$,#7676,.U.); -#28385=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12669,#28384); -#28386=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7676); -#28387=NAME_ATTRIBUTE('single instance',#7677); -#28388=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7667,#2602,$,'',$,#7677,*); -#28389=PROPERTY_DEFINITION('',$,#28388); -#28390=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28389); -#28391=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28389); -#28392=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7678,#7677); -#28393=SHAPE_ASPECT('',$,#7677,.U.); -#28394=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12927,#28393); -#28395=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7677); -#28396=NAME_ATTRIBUTE('single instance',#7701); -#28397=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7697,#2786,$,'',$,#7701,*); -#28398=PROPERTY_DEFINITION('',$,#28397); -#28399=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23731,#28398); -#28400=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28398); -#28401=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7703,#7701); -#28402=SHAPE_ASPECT('',$,#7701,.U.); -#28403=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12931,#28402); -#28404=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7701); -#28405=NAME_ATTRIBUTE('single instance',#7702); -#28406=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7697,#2760,$,'',$,#7702,*); -#28407=PROPERTY_DEFINITION('',$,#28406); -#28408=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23731,#28407); -#28409=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28407); -#28410=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7703,#7702); -#28411=SHAPE_ASPECT('',$,#7702,.U.); -#28412=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#28411); -#28413=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7702); -#28414=NAME_ATTRIBUTE('single instance',#7706); -#28415=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7697,#2786,$,'',$,#7706,*); -#28416=PROPERTY_DEFINITION('',$,#28415); -#28417=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23728,#28416); -#28418=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28416); -#28419=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7708,#7706); -#28420=SHAPE_ASPECT('',$,#7706,.U.); -#28421=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12930,#28420); -#28422=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7706); -#28423=NAME_ATTRIBUTE('single instance',#7707); -#28424=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7697,#2760,$,'',$,#7707,*); -#28425=PROPERTY_DEFINITION('',$,#28424); -#28426=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23728,#28425); -#28427=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28425); -#28428=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7708,#7707); -#28429=SHAPE_ASPECT('',$,#7707,.U.); -#28430=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12929,#28429); -#28431=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7707); -#28432=NAME_ATTRIBUTE('single instance',#7731); -#28433=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7727,#2628,$,'',$,#7731,*); -#28434=PROPERTY_DEFINITION('',$,#28433); -#28435=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28434); -#28436=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28434); -#28437=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7733,#7731); -#28438=SHAPE_ASPECT('',$,#7731,.U.); -#28439=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12581,#28438); -#28440=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7731); -#28441=NAME_ATTRIBUTE('single instance',#7732); -#28442=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7727,#2602,$,'',$,#7732,*); -#28443=PROPERTY_DEFINITION('',$,#28442); -#28444=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28443); -#28445=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28443); -#28446=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7733,#7732); -#28447=SHAPE_ASPECT('',$,#7732,.U.); -#28448=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12933,#28447); -#28449=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7732); -#28450=NAME_ATTRIBUTE('single instance',#7736); -#28451=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7727,#2628,$,'',$,#7736,*); -#28452=PROPERTY_DEFINITION('',$,#28451); -#28453=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28452); -#28454=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28452); -#28455=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7738,#7736); -#28456=SHAPE_ASPECT('',$,#7736,.U.); -#28457=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12932,#28456); -#28458=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7736); -#28459=NAME_ATTRIBUTE('single instance',#7737); -#28460=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7727,#2602,$,'',$,#7737,*); -#28461=PROPERTY_DEFINITION('',$,#28460); -#28462=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28461); -#28463=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28461); -#28464=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7738,#7737); -#28465=SHAPE_ASPECT('',$,#7737,.U.); -#28466=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#28465); -#28467=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7737); -#28468=NAME_ATTRIBUTE('single instance',#7761); -#28469=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7757,#2628,$,'',$,#7761,*); -#28470=PROPERTY_DEFINITION('',$,#28469); -#28471=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#28470); -#28472=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28470); -#28473=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7763,#7761); -#28474=SHAPE_ASPECT('',$,#7761,.U.); -#28475=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10708,#28474); -#28476=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7761); -#28477=NAME_ATTRIBUTE('single instance',#7762); -#28478=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7757,#2602,$,'',$,#7762,*); -#28479=PROPERTY_DEFINITION('',$,#28478); -#28480=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#28479); -#28481=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28479); -#28482=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7763,#7762); -#28483=SHAPE_ASPECT('',$,#7762,.U.); -#28484=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12934,#28483); -#28485=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7762); -#28486=NAME_ATTRIBUTE('single instance',#7766); -#28487=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7757,#2628,$,'',$,#7766,*); -#28488=PROPERTY_DEFINITION('',$,#28487); -#28489=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#28488); -#28490=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28488); -#28491=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7768,#7766); -#28492=SHAPE_ASPECT('',$,#7766,.U.); -#28493=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#28492); -#28494=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7766); -#28495=NAME_ATTRIBUTE('single instance',#7767); -#28496=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7757,#2602,$,'',$,#7767,*); -#28497=PROPERTY_DEFINITION('',$,#28496); -#28498=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#28497); -#28499=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28497); -#28500=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7768,#7767); -#28501=SHAPE_ASPECT('',$,#7767,.U.); -#28502=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12935,#28501); -#28503=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7767); -#28504=NAME_ATTRIBUTE('single instance',#7791); -#28505=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7787,#2628,$,'',$,#7791,*); -#28506=PROPERTY_DEFINITION('',$,#28505); -#28507=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28506); -#28508=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28506); -#28509=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7793,#7791); -#28510=SHAPE_ASPECT('',$,#7791,.U.); -#28511=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11936,#28510); -#28512=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7791); -#28513=NAME_ATTRIBUTE('single instance',#7792); -#28514=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7787,#2602,$,'',$,#7792,*); -#28515=PROPERTY_DEFINITION('',$,#28514); -#28516=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28515); -#28517=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28515); -#28518=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7793,#7792); -#28519=SHAPE_ASPECT('',$,#7792,.U.); -#28520=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11953,#28519); -#28521=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7792); -#28522=NAME_ATTRIBUTE('single instance',#7796); -#28523=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7787,#2628,$,'',$,#7796,*); -#28524=PROPERTY_DEFINITION('',$,#28523); -#28525=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28524); -#28526=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28524); -#28527=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7798,#7796); -#28528=SHAPE_ASPECT('',$,#7796,.U.); -#28529=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11894,#28528); -#28530=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7796); -#28531=NAME_ATTRIBUTE('single instance',#7797); -#28532=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7787,#2602,$,'',$,#7797,*); -#28533=PROPERTY_DEFINITION('',$,#28532); -#28534=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28533); -#28535=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28533); -#28536=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7798,#7797); -#28537=SHAPE_ASPECT('',$,#7797,.U.); -#28538=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12936,#28537); -#28539=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7797); -#28540=NAME_ATTRIBUTE('single instance',#7821); -#28541=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2628,$,'',$,#7821,*); -#28542=PROPERTY_DEFINITION('',$,#28541); -#28543=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24140,#28542); -#28544=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28542); -#28545=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7821); -#28546=SHAPE_ASPECT('',$,#7821,.U.); -#28547=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10614,#28546); -#28548=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7821); -#28549=NAME_ATTRIBUTE('single instance',#7822); -#28550=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2602,$,'',$,#7822,*); -#28551=PROPERTY_DEFINITION('',$,#28550); -#28552=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24140,#28551); -#28553=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28551); -#28554=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7822); -#28555=SHAPE_ASPECT('',$,#7822,.U.); -#28556=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12939,#28555); -#28557=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7822); -#28558=NAME_ATTRIBUTE('single instance',#7826); -#28559=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2628,$,'',$,#7826,*); -#28560=PROPERTY_DEFINITION('',$,#28559); -#28561=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24137,#28560); -#28562=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28560); -#28563=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7828,#7826); -#28564=SHAPE_ASPECT('',$,#7826,.U.); -#28565=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12943,#28564); -#28566=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7826); -#28567=NAME_ATTRIBUTE('single instance',#7827); -#28568=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2602,$,'',$,#7827,*); -#28569=PROPERTY_DEFINITION('',$,#28568); -#28570=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24137,#28569); -#28571=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28569); -#28572=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7828,#7827); -#28573=SHAPE_ASPECT('',$,#7827,.U.); -#28574=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12942,#28573); -#28575=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7827); -#28576=NAME_ATTRIBUTE('single instance',#7831); -#28577=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2628,$,'',$,#7831,*); -#28578=PROPERTY_DEFINITION('',$,#28577); -#28579=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24134,#28578); -#28580=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28578); -#28581=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7833,#7831); -#28582=SHAPE_ASPECT('',$,#7831,.U.); -#28583=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10595,#28582); -#28584=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7831); -#28585=NAME_ATTRIBUTE('single instance',#7832); -#28586=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2602,$,'',$,#7832,*); -#28587=PROPERTY_DEFINITION('',$,#28586); -#28588=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24134,#28587); -#28589=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28587); -#28590=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7833,#7832); -#28591=SHAPE_ASPECT('',$,#7832,.U.); -#28592=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12944,#28591); -#28593=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7832); -#28594=NAME_ATTRIBUTE('single instance',#7836); -#28595=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2628,$,'',$,#7836,*); -#28596=PROPERTY_DEFINITION('',$,#28595); -#28597=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24131,#28596); -#28598=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28596); -#28599=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7838,#7836); -#28600=SHAPE_ASPECT('',$,#7836,.U.); -#28601=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12940,#28600); -#28602=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7836); -#28603=NAME_ATTRIBUTE('single instance',#7837); -#28604=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2602,$,'',$,#7837,*); -#28605=PROPERTY_DEFINITION('',$,#28604); -#28606=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24131,#28605); -#28607=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28605); -#28608=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7838,#7837); -#28609=SHAPE_ASPECT('',$,#7837,.U.); -#28610=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#28609); -#28611=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7837); -#28612=NAME_ATTRIBUTE('single instance',#7841); -#28613=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2628,$,'',$,#7841,*); -#28614=PROPERTY_DEFINITION('',$,#28613); -#28615=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24128,#28614); -#28616=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28614); -#28617=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7843,#7841); -#28618=SHAPE_ASPECT('',$,#7841,.U.); -#28619=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12938,#28618); -#28620=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7841); -#28621=NAME_ATTRIBUTE('single instance',#7842); -#28622=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2602,$,'',$,#7842,*); -#28623=PROPERTY_DEFINITION('',$,#28622); -#28624=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24128,#28623); -#28625=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28623); -#28626=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7843,#7842); -#28627=SHAPE_ASPECT('',$,#7842,.U.); -#28628=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12937,#28627); -#28629=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7842); -#28630=NAME_ATTRIBUTE('single instance',#7846); -#28631=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2944,$,'',$,#7846,*); -#28632=PROPERTY_DEFINITION('',$,#28631); -#28633=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24125,#28632); -#28634=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#28632); -#28635=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7848,#7846); -#28636=SHAPE_ASPECT('',$,#7846,.U.); -#28637=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11894,#28636); -#28638=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#7846); -#28639=NAME_ATTRIBUTE('single instance',#7847); -#28640=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7817,#2918,$,'',$,#7847,*); -#28641=PROPERTY_DEFINITION('',$,#28640); -#28642=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24125,#28641); -#28643=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#28641); -#28644=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7848,#7847); -#28645=SHAPE_ASPECT('',$,#7847,.U.); -#28646=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12941,#28645); -#28647=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#7847); -#28648=NAME_ATTRIBUTE('single instance',#7903); -#28649=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7899,#2628,$,'',$,#7903,*); -#28650=PROPERTY_DEFINITION('',$,#28649); -#28651=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28650); -#28652=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28650); -#28653=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7905,#7903); -#28654=SHAPE_ASPECT('',$,#7903,.U.); -#28655=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12946,#28654); -#28656=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7903); -#28657=NAME_ATTRIBUTE('single instance',#7904); -#28658=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7899,#2602,$,'',$,#7904,*); -#28659=PROPERTY_DEFINITION('',$,#28658); -#28660=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#28659); -#28661=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28659); -#28662=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7905,#7904); -#28663=SHAPE_ASPECT('',$,#7904,.U.); -#28664=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12168,#28663); -#28665=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7904); -#28666=NAME_ATTRIBUTE('single instance',#7908); -#28667=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7899,#2628,$,'',$,#7908,*); -#28668=PROPERTY_DEFINITION('',$,#28667); -#28669=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28668); -#28670=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28668); -#28671=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7910,#7908); -#28672=SHAPE_ASPECT('',$,#7908,.U.); -#28673=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12561,#28672); -#28674=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7908); -#28675=NAME_ATTRIBUTE('single instance',#7909); -#28676=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7899,#2602,$,'',$,#7909,*); -#28677=PROPERTY_DEFINITION('',$,#28676); -#28678=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#28677); -#28679=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28677); -#28680=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7910,#7909); -#28681=SHAPE_ASPECT('',$,#7909,.U.); -#28682=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12945,#28681); -#28683=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7909); -#28684=NAME_ATTRIBUTE('single instance',#7933); -#28685=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7929,#2628,$,'',$,#7933,*); -#28686=PROPERTY_DEFINITION('',$,#28685); -#28687=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#28686); -#28688=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28686); -#28689=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7935,#7933); -#28690=SHAPE_ASPECT('',$,#7933,.U.); -#28691=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10708,#28690); -#28692=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7933); -#28693=NAME_ATTRIBUTE('single instance',#7934); -#28694=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7929,#2602,$,'',$,#7934,*); -#28695=PROPERTY_DEFINITION('',$,#28694); -#28696=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#28695); -#28697=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28695); -#28698=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7935,#7934); -#28699=SHAPE_ASPECT('',$,#7934,.U.); -#28700=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12947,#28699); -#28701=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7934); -#28702=NAME_ATTRIBUTE('single instance',#7938); -#28703=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7929,#2628,$,'',$,#7938,*); -#28704=PROPERTY_DEFINITION('',$,#28703); -#28705=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#28704); -#28706=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28704); -#28707=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7940,#7938); -#28708=SHAPE_ASPECT('',$,#7938,.U.); -#28709=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#28708); -#28710=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#7938); -#28711=NAME_ATTRIBUTE('single instance',#7939); -#28712=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7929,#2602,$,'',$,#7939,*); -#28713=PROPERTY_DEFINITION('',$,#28712); -#28714=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#28713); -#28715=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#28713); -#28716=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7940,#7939); -#28717=SHAPE_ASPECT('',$,#7939,.U.); -#28718=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12847,#28717); -#28719=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#7939); -#28720=NAME_ATTRIBUTE('single instance',#7963); -#28721=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#7963,*); -#28722=PROPERTY_DEFINITION('',$,#28721); -#28723=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24182,#28722); -#28724=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28722); -#28725=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7965,#7963); -#28726=SHAPE_ASPECT('',$,#7963,.U.); -#28727=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12956,#28726); -#28728=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7963); -#28729=NAME_ATTRIBUTE('single instance',#7964); -#28730=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#7964,*); -#28731=PROPERTY_DEFINITION('',$,#28730); -#28732=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24182,#28731); -#28733=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28731); -#28734=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7965,#7964); -#28735=SHAPE_ASPECT('',$,#7964,.U.); -#28736=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12955,#28735); -#28737=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7964); -#28738=NAME_ATTRIBUTE('single instance',#7968); -#28739=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#7968,*); -#28740=PROPERTY_DEFINITION('',$,#28739); -#28741=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24179,#28740); -#28742=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28740); -#28743=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7970,#7968); -#28744=SHAPE_ASPECT('',$,#7968,.U.); -#28745=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12704,#28744); -#28746=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7968); -#28747=NAME_ATTRIBUTE('single instance',#7969); -#28748=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#7969,*); -#28749=PROPERTY_DEFINITION('',$,#28748); -#28750=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24179,#28749); -#28751=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28749); -#28752=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7970,#7969); -#28753=SHAPE_ASPECT('',$,#7969,.U.); -#28754=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12960,#28753); -#28755=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7969); -#28756=NAME_ATTRIBUTE('single instance',#7973); -#28757=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#7973,*); -#28758=PROPERTY_DEFINITION('',$,#28757); -#28759=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24176,#28758); -#28760=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28758); -#28761=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7975,#7973); -#28762=SHAPE_ASPECT('',$,#7973,.U.); -#28763=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#28762); -#28764=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7973); -#28765=NAME_ATTRIBUTE('single instance',#7974); -#28766=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#7974,*); -#28767=PROPERTY_DEFINITION('',$,#28766); -#28768=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24176,#28767); -#28769=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28767); -#28770=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7975,#7974); -#28771=SHAPE_ASPECT('',$,#7974,.U.); -#28772=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12961,#28771); -#28773=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7974); -#28774=NAME_ATTRIBUTE('single instance',#7978); -#28775=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#7978,*); -#28776=PROPERTY_DEFINITION('',$,#28775); -#28777=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24173,#28776); -#28778=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28776); -#28779=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7980,#7978); -#28780=SHAPE_ASPECT('',$,#7978,.U.); -#28781=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12965,#28780); -#28782=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7978); -#28783=NAME_ATTRIBUTE('single instance',#7979); -#28784=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#7979,*); -#28785=PROPERTY_DEFINITION('',$,#28784); -#28786=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24173,#28785); -#28787=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28785); -#28788=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7980,#7979); -#28789=SHAPE_ASPECT('',$,#7979,.U.); -#28790=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12964,#28789); -#28791=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7979); -#28792=NAME_ATTRIBUTE('single instance',#7983); -#28793=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#7983,*); -#28794=PROPERTY_DEFINITION('',$,#28793); -#28795=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24170,#28794); -#28796=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28794); -#28797=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7985,#7983); -#28798=SHAPE_ASPECT('',$,#7983,.U.); -#28799=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12957,#28798); -#28800=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7983); -#28801=NAME_ATTRIBUTE('single instance',#7984); -#28802=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#7984,*); -#28803=PROPERTY_DEFINITION('',$,#28802); -#28804=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24170,#28803); -#28805=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28803); -#28806=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7985,#7984); -#28807=SHAPE_ASPECT('',$,#7984,.U.); -#28808=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11953,#28807); -#28809=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7984); -#28810=NAME_ATTRIBUTE('single instance',#7988); -#28811=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#7988,*); -#28812=PROPERTY_DEFINITION('',$,#28811); -#28813=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24167,#28812); -#28814=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28812); -#28815=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7990,#7988); -#28816=SHAPE_ASPECT('',$,#7988,.U.); -#28817=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12963,#28816); -#28818=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7988); -#28819=NAME_ATTRIBUTE('single instance',#7989); -#28820=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#7989,*); -#28821=PROPERTY_DEFINITION('',$,#28820); -#28822=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24167,#28821); -#28823=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28821); -#28824=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7990,#7989); -#28825=SHAPE_ASPECT('',$,#7989,.U.); -#28826=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12962,#28825); -#28827=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7989); -#28828=NAME_ATTRIBUTE('single instance',#7993); -#28829=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#7993,*); -#28830=PROPERTY_DEFINITION('',$,#28829); -#28831=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24164,#28830); -#28832=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28830); -#28833=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7995,#7993); -#28834=SHAPE_ASPECT('',$,#7993,.U.); -#28835=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12949,#28834); -#28836=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7993); -#28837=NAME_ATTRIBUTE('single instance',#7994); -#28838=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#7994,*); -#28839=PROPERTY_DEFINITION('',$,#28838); -#28840=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24164,#28839); -#28841=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28839); -#28842=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7995,#7994); -#28843=SHAPE_ASPECT('',$,#7994,.U.); -#28844=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12948,#28843); -#28845=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7994); -#28846=NAME_ATTRIBUTE('single instance',#7998); -#28847=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#7998,*); -#28848=PROPERTY_DEFINITION('',$,#28847); -#28849=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24161,#28848); -#28850=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28848); -#28851=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8000,#7998); -#28852=SHAPE_ASPECT('',$,#7998,.U.); -#28853=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11997,#28852); -#28854=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#7998); -#28855=NAME_ATTRIBUTE('single instance',#7999); -#28856=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#7999,*); -#28857=PROPERTY_DEFINITION('',$,#28856); -#28858=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24161,#28857); -#28859=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28857); -#28860=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8000,#7999); -#28861=SHAPE_ASPECT('',$,#7999,.U.); -#28862=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12954,#28861); -#28863=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#7999); -#28864=NAME_ATTRIBUTE('single instance',#8003); -#28865=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#8003,*); -#28866=PROPERTY_DEFINITION('',$,#28865); -#28867=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24158,#28866); -#28868=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28866); -#28869=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8005,#8003); -#28870=SHAPE_ASPECT('',$,#8003,.U.); -#28871=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12561,#28870); -#28872=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8003); -#28873=NAME_ATTRIBUTE('single instance',#8004); -#28874=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#8004,*); -#28875=PROPERTY_DEFINITION('',$,#28874); -#28876=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24158,#28875); -#28877=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28875); -#28878=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8005,#8004); -#28879=SHAPE_ASPECT('',$,#8004,.U.); -#28880=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12966,#28879); -#28881=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8004); -#28882=NAME_ATTRIBUTE('single instance',#8008); -#28883=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#8008,*); -#28884=PROPERTY_DEFINITION('',$,#28883); -#28885=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24155,#28884); -#28886=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28884); -#28887=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8010,#8008); -#28888=SHAPE_ASPECT('',$,#8008,.U.); -#28889=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12968,#28888); -#28890=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8008); -#28891=NAME_ATTRIBUTE('single instance',#8009); -#28892=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#8009,*); -#28893=PROPERTY_DEFINITION('',$,#28892); -#28894=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24155,#28893); -#28895=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28893); -#28896=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8010,#8009); -#28897=SHAPE_ASPECT('',$,#8009,.U.); -#28898=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12967,#28897); -#28899=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8009); -#28900=NAME_ATTRIBUTE('single instance',#8013); -#28901=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#8013,*); -#28902=PROPERTY_DEFINITION('',$,#28901); -#28903=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24152,#28902); -#28904=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28902); -#28905=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8015,#8013); -#28906=SHAPE_ASPECT('',$,#8013,.U.); -#28907=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12951,#28906); -#28908=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8013); -#28909=NAME_ATTRIBUTE('single instance',#8014); -#28910=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#8014,*); -#28911=PROPERTY_DEFINITION('',$,#28910); -#28912=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24152,#28911); -#28913=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28911); -#28914=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8015,#8014); -#28915=SHAPE_ASPECT('',$,#8014,.U.); -#28916=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12950,#28915); -#28917=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8014); -#28918=NAME_ATTRIBUTE('single instance',#8018); -#28919=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#8018,*); -#28920=PROPERTY_DEFINITION('',$,#28919); -#28921=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24149,#28920); -#28922=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28920); -#28923=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8020,#8018); -#28924=SHAPE_ASPECT('',$,#8018,.U.); -#28925=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12959,#28924); -#28926=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8018); -#28927=NAME_ATTRIBUTE('single instance',#8019); -#28928=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#8019,*); -#28929=PROPERTY_DEFINITION('',$,#28928); -#28930=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24149,#28929); -#28931=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28929); -#28932=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8020,#8019); -#28933=SHAPE_ASPECT('',$,#8019,.U.); -#28934=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12958,#28933); -#28935=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8019); -#28936=NAME_ATTRIBUTE('single instance',#8023); -#28937=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2786,$,'',$,#8023,*); -#28938=PROPERTY_DEFINITION('',$,#28937); -#28939=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24146,#28938); -#28940=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#28938); -#28941=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8025,#8023); -#28942=SHAPE_ASPECT('',$,#8023,.U.); -#28943=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12581,#28942); -#28944=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8023); -#28945=NAME_ATTRIBUTE('single instance',#8024); -#28946=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#2760,$,'',$,#8024,*); -#28947=PROPERTY_DEFINITION('',$,#28946); -#28948=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24146,#28947); -#28949=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#28947); -#28950=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8025,#8024); -#28951=SHAPE_ASPECT('',$,#8024,.U.); -#28952=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12953,#28951); -#28953=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8024); -#28954=NAME_ATTRIBUTE('single instance',#8028); -#28955=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#3410,$,'',$,#8028,*); -#28956=PROPERTY_DEFINITION('',$,#28955); -#28957=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24143,#28956); -#28958=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#28956); -#28959=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8030,#8028); -#28960=SHAPE_ASPECT('',$,#8028,.U.); -#28961=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#28960); -#28962=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#8028); -#28963=NAME_ATTRIBUTE('single instance',#8029); -#28964=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7959,#3384,$,'',$,#8029,*); -#28965=PROPERTY_DEFINITION('',$,#28964); -#28966=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24143,#28965); -#28967=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#28965); -#28968=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8030,#8029); -#28969=SHAPE_ASPECT('',$,#8029,.U.); -#28970=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12952,#28969); -#28971=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#8029); -#28972=NAME_ATTRIBUTE('single instance',#8149); -#28973=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8145,#3410,$,'',$,#8149,*); -#28974=PROPERTY_DEFINITION('',$,#28973); -#28975=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#28974); -#28976=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#28974); -#28977=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8151,#8149); -#28978=SHAPE_ASPECT('',$,#8149,.U.); -#28979=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12561,#28978); -#28980=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#8149); -#28981=NAME_ATTRIBUTE('single instance',#8150); -#28982=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8145,#3384,$,'',$,#8150,*); -#28983=PROPERTY_DEFINITION('',$,#28982); -#28984=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#28983); -#28985=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#28983); -#28986=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8151,#8150); -#28987=SHAPE_ASPECT('',$,#8150,.U.); -#28988=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12970,#28987); -#28989=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#8150); -#28990=NAME_ATTRIBUTE('single instance',#8154); -#28991=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8145,#2628,$,'',$,#8154,*); -#28992=PROPERTY_DEFINITION('',$,#28991); -#28993=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#28992); -#28994=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#28992); -#28995=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8156,#8154); -#28996=SHAPE_ASPECT('',$,#8154,.U.); -#28997=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12969,#28996); -#28998=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8154); -#28999=NAME_ATTRIBUTE('single instance',#8155); -#29000=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8145,#2602,$,'',$,#8155,*); -#29001=PROPERTY_DEFINITION('',$,#29000); -#29002=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#29001); -#29003=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29001); -#29004=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8156,#8155); -#29005=SHAPE_ASPECT('',$,#8155,.U.); -#29006=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#29005); -#29007=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8155); -#29008=NAME_ATTRIBUTE('single instance',#8179); -#29009=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8175,#3102,$,'',$,#8179,*); -#29010=PROPERTY_DEFINITION('',$,#29009); -#29011=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#29010); -#29012=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29010); -#29013=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8181,#8179); -#29014=SHAPE_ASPECT('',$,#8179,.U.); -#29015=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12971,#29014); -#29016=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8179); -#29017=NAME_ATTRIBUTE('single instance',#8180); -#29018=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8175,#3076,$,'',$,#8180,*); -#29019=PROPERTY_DEFINITION('',$,#29018); -#29020=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#29019); -#29021=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29019); -#29022=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8181,#8180); -#29023=SHAPE_ASPECT('',$,#8180,.U.); -#29024=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#29023); -#29025=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8180); -#29026=NAME_ATTRIBUTE('single instance',#8184); -#29027=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8175,#3410,$,'',$,#8184,*); -#29028=PROPERTY_DEFINITION('',$,#29027); -#29029=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#29028); -#29030=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#29028); -#29031=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8186,#8184); -#29032=SHAPE_ASPECT('',$,#8184,.U.); -#29033=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12704,#29032); -#29034=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#8184); -#29035=NAME_ATTRIBUTE('single instance',#8185); -#29036=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8175,#3384,$,'',$,#8185,*); -#29037=PROPERTY_DEFINITION('',$,#29036); -#29038=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#29037); -#29039=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#29037); -#29040=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8186,#8185); -#29041=SHAPE_ASPECT('',$,#8185,.U.); -#29042=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12972,#29041); -#29043=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#8185); -#29044=NAME_ATTRIBUTE('single instance',#8209); -#29045=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8205,#2628,$,'',$,#8209,*); -#29046=PROPERTY_DEFINITION('',$,#29045); -#29047=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29046); -#29048=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29046); -#29049=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8211,#8209); -#29050=SHAPE_ASPECT('',$,#8209,.U.); -#29051=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11997,#29050); -#29052=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8209); -#29053=NAME_ATTRIBUTE('single instance',#8210); -#29054=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8205,#2602,$,'',$,#8210,*); -#29055=PROPERTY_DEFINITION('',$,#29054); -#29056=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29055); -#29057=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29055); -#29058=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8211,#8210); -#29059=SHAPE_ASPECT('',$,#8210,.U.); -#29060=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12974,#29059); -#29061=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8210); -#29062=NAME_ATTRIBUTE('single instance',#8214); -#29063=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8205,#2628,$,'',$,#8214,*); -#29064=PROPERTY_DEFINITION('',$,#29063); -#29065=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29064); -#29066=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29064); -#29067=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8216,#8214); -#29068=SHAPE_ASPECT('',$,#8214,.U.); -#29069=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11936,#29068); -#29070=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8214); -#29071=NAME_ATTRIBUTE('single instance',#8215); -#29072=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8205,#2602,$,'',$,#8215,*); -#29073=PROPERTY_DEFINITION('',$,#29072); -#29074=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29073); -#29075=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29073); -#29076=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8216,#8215); -#29077=SHAPE_ASPECT('',$,#8215,.U.); -#29078=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12973,#29077); -#29079=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8215); -#29080=NAME_ATTRIBUTE('single instance',#8239); -#29081=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8235,#3410,$,'',$,#8239,*); -#29082=PROPERTY_DEFINITION('',$,#29081); -#29083=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#29082); -#29084=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#29082); -#29085=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8241,#8239); -#29086=SHAPE_ASPECT('',$,#8239,.U.); -#29087=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12152,#29086); -#29088=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#8239); -#29089=NAME_ATTRIBUTE('single instance',#8240); -#29090=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8235,#3384,$,'',$,#8240,*); -#29091=PROPERTY_DEFINITION('',$,#29090); -#29092=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#29091); -#29093=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#29091); -#29094=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8241,#8240); -#29095=SHAPE_ASPECT('',$,#8240,.U.); -#29096=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12976,#29095); -#29097=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#8240); -#29098=NAME_ATTRIBUTE('single instance',#8244); -#29099=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8235,#2628,$,'',$,#8244,*); -#29100=PROPERTY_DEFINITION('',$,#29099); -#29101=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#29100); -#29102=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29100); -#29103=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8246,#8244); -#29104=SHAPE_ASPECT('',$,#8244,.U.); -#29105=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12046,#29104); -#29106=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8244); -#29107=NAME_ATTRIBUTE('single instance',#8245); -#29108=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8235,#2602,$,'',$,#8245,*); -#29109=PROPERTY_DEFINITION('',$,#29108); -#29110=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#29109); -#29111=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29109); -#29112=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8246,#8245); -#29113=SHAPE_ASPECT('',$,#8245,.U.); -#29114=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12975,#29113); -#29115=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8245); -#29116=NAME_ATTRIBUTE('single instance',#8269); -#29117=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8265,#2628,$,'',$,#8269,*); -#29118=PROPERTY_DEFINITION('',$,#29117); -#29119=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#29118); -#29120=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29118); -#29121=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8271,#8269); -#29122=SHAPE_ASPECT('',$,#8269,.U.); -#29123=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10925,#29122); -#29124=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8269); -#29125=NAME_ATTRIBUTE('single instance',#8270); -#29126=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8265,#2602,$,'',$,#8270,*); -#29127=PROPERTY_DEFINITION('',$,#29126); -#29128=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#29127); -#29129=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29127); -#29130=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8271,#8270); -#29131=SHAPE_ASPECT('',$,#8270,.U.); -#29132=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12977,#29131); -#29133=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8270); -#29134=NAME_ATTRIBUTE('single instance',#8274); -#29135=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8265,#2628,$,'',$,#8274,*); -#29136=PROPERTY_DEFINITION('',$,#29135); -#29137=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#29136); -#29138=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29136); -#29139=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8276,#8274); -#29140=SHAPE_ASPECT('',$,#8274,.U.); -#29141=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#29140); -#29142=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8274); -#29143=NAME_ATTRIBUTE('single instance',#8275); -#29144=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8265,#2602,$,'',$,#8275,*); -#29145=PROPERTY_DEFINITION('',$,#29144); -#29146=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#29145); -#29147=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29145); -#29148=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8276,#8275); -#29149=SHAPE_ASPECT('',$,#8275,.U.); -#29150=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12978,#29149); -#29151=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8275); -#29152=NAME_ATTRIBUTE('single instance',#8299); -#29153=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#2628,$,'',$,#8299,*); -#29154=PROPERTY_DEFINITION('',$,#29153); -#29155=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29154); -#29156=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29154); -#29157=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8301,#8299); -#29158=SHAPE_ASPECT('',$,#8299,.U.); -#29159=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11707,#29158); -#29160=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8299); -#29161=NAME_ATTRIBUTE('single instance',#8300); -#29162=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#2602,$,'',$,#8300,*); -#29163=PROPERTY_DEFINITION('',$,#29162); -#29164=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29163); -#29165=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29163); -#29166=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8301,#8300); -#29167=SHAPE_ASPECT('',$,#8300,.U.); -#29168=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12980,#29167); -#29169=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8300); -#29170=NAME_ATTRIBUTE('single instance',#8304); -#29171=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#2628,$,'',$,#8304,*); -#29172=PROPERTY_DEFINITION('',$,#29171); -#29173=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29172); -#29174=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29172); -#29175=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8306,#8304); -#29176=SHAPE_ASPECT('',$,#8304,.U.); -#29177=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11791,#29176); -#29178=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8304); -#29179=NAME_ATTRIBUTE('single instance',#8305); -#29180=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#2602,$,'',$,#8305,*); -#29181=PROPERTY_DEFINITION('',$,#29180); -#29182=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29181); -#29183=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29181); -#29184=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8306,#8305); -#29185=SHAPE_ASPECT('',$,#8305,.U.); -#29186=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12979,#29185); -#29187=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8305); -#29188=NAME_ATTRIBUTE('single instance',#8329); -#29189=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#2944,$,'',$,#8329,*); -#29190=PROPERTY_DEFINITION('',$,#29189); -#29191=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#29190); -#29192=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#29190); -#29193=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8331,#8329); -#29194=SHAPE_ASPECT('',$,#8329,.U.); -#29195=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12981,#29194); -#29196=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#8329); -#29197=NAME_ATTRIBUTE('single instance',#8330); -#29198=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#2918,$,'',$,#8330,*); -#29199=PROPERTY_DEFINITION('',$,#29198); -#29200=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#29199); -#29201=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#29199); -#29202=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8331,#8330); -#29203=SHAPE_ASPECT('',$,#8330,.U.); -#29204=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#29203); -#29205=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#8330); -#29206=NAME_ATTRIBUTE('single instance',#8334); -#29207=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#2628,$,'',$,#8334,*); -#29208=PROPERTY_DEFINITION('',$,#29207); -#29209=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#29208); -#29210=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29208); -#29211=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8336,#8334); -#29212=SHAPE_ASPECT('',$,#8334,.U.); -#29213=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11669,#29212); -#29214=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8334); -#29215=NAME_ATTRIBUTE('single instance',#8335); -#29216=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#2602,$,'',$,#8335,*); -#29217=PROPERTY_DEFINITION('',$,#29216); -#29218=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#29217); -#29219=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29217); -#29220=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8336,#8335); -#29221=SHAPE_ASPECT('',$,#8335,.U.); -#29222=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12982,#29221); -#29223=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8335); -#29224=NAME_ATTRIBUTE('single instance',#8359); -#29225=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8355,#2628,$,'',$,#8359,*); -#29226=PROPERTY_DEFINITION('',$,#29225); -#29227=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29226); -#29228=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29226); -#29229=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8361,#8359); -#29230=SHAPE_ASPECT('',$,#8359,.U.); -#29231=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12186,#29230); -#29232=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8359); -#29233=NAME_ATTRIBUTE('single instance',#8360); -#29234=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8355,#2602,$,'',$,#8360,*); -#29235=PROPERTY_DEFINITION('',$,#29234); -#29236=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29235); -#29237=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29235); -#29238=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8361,#8360); -#29239=SHAPE_ASPECT('',$,#8360,.U.); -#29240=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12168,#29239); -#29241=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8360); -#29242=NAME_ATTRIBUTE('single instance',#8364); -#29243=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8355,#2628,$,'',$,#8364,*); -#29244=PROPERTY_DEFINITION('',$,#29243); -#29245=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29244); -#29246=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29244); -#29247=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8366,#8364); -#29248=SHAPE_ASPECT('',$,#8364,.U.); -#29249=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12983,#29248); -#29250=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8364); -#29251=NAME_ATTRIBUTE('single instance',#8365); -#29252=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8355,#2602,$,'',$,#8365,*); -#29253=PROPERTY_DEFINITION('',$,#29252); -#29254=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29253); -#29255=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29253); -#29256=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8366,#8365); -#29257=SHAPE_ASPECT('',$,#8365,.U.); -#29258=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#29257); -#29259=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8365); -#29260=NAME_ATTRIBUTE('single instance',#8389); -#29261=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8385,#2628,$,'',$,#8389,*); -#29262=PROPERTY_DEFINITION('',$,#29261); -#29263=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29262); -#29264=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29262); -#29265=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8391,#8389); -#29266=SHAPE_ASPECT('',$,#8389,.U.); -#29267=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12152,#29266); -#29268=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8389); -#29269=NAME_ATTRIBUTE('single instance',#8390); -#29270=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8385,#2602,$,'',$,#8390,*); -#29271=PROPERTY_DEFINITION('',$,#29270); -#29272=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29271); -#29273=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29271); -#29274=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8391,#8390); -#29275=SHAPE_ASPECT('',$,#8390,.U.); -#29276=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12985,#29275); -#29277=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8390); -#29278=NAME_ATTRIBUTE('single instance',#8394); -#29279=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8385,#2628,$,'',$,#8394,*); -#29280=PROPERTY_DEFINITION('',$,#29279); -#29281=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29280); -#29282=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29280); -#29283=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8396,#8394); -#29284=SHAPE_ASPECT('',$,#8394,.U.); -#29285=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#29284); -#29286=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8394); -#29287=NAME_ATTRIBUTE('single instance',#8395); -#29288=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8385,#2602,$,'',$,#8395,*); -#29289=PROPERTY_DEFINITION('',$,#29288); -#29290=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29289); -#29291=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29289); -#29292=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8396,#8395); -#29293=SHAPE_ASPECT('',$,#8395,.U.); -#29294=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12984,#29293); -#29295=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8395); -#29296=NAME_ATTRIBUTE('single instance',#8419); -#29297=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8415,#2628,$,'',$,#8419,*); -#29298=PROPERTY_DEFINITION('',$,#29297); -#29299=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29298); -#29300=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29298); -#29301=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8421,#8419); -#29302=SHAPE_ASPECT('',$,#8419,.U.); -#29303=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#29302); -#29304=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8419); -#29305=NAME_ATTRIBUTE('single instance',#8420); -#29306=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8415,#2602,$,'',$,#8420,*); -#29307=PROPERTY_DEFINITION('',$,#29306); -#29308=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29307); -#29309=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29307); -#29310=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8421,#8420); -#29311=SHAPE_ASPECT('',$,#8420,.U.); -#29312=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12987,#29311); -#29313=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8420); -#29314=NAME_ATTRIBUTE('single instance',#8424); -#29315=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8415,#2628,$,'',$,#8424,*); -#29316=PROPERTY_DEFINITION('',$,#29315); -#29317=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29316); -#29318=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29316); -#29319=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8426,#8424); -#29320=SHAPE_ASPECT('',$,#8424,.U.); -#29321=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12986,#29320); -#29322=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8424); -#29323=NAME_ATTRIBUTE('single instance',#8425); -#29324=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8415,#2602,$,'',$,#8425,*); -#29325=PROPERTY_DEFINITION('',$,#29324); -#29326=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29325); -#29327=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29325); -#29328=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8426,#8425); -#29329=SHAPE_ASPECT('',$,#8425,.U.); -#29330=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#29329); -#29331=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8425); -#29332=NAME_ATTRIBUTE('single instance',#8449); -#29333=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8445,#2628,$,'',$,#8449,*); -#29334=PROPERTY_DEFINITION('',$,#29333); -#29335=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#29334); -#29336=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29334); -#29337=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8451,#8449); -#29338=SHAPE_ASPECT('',$,#8449,.U.); -#29339=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10708,#29338); -#29340=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8449); -#29341=NAME_ATTRIBUTE('single instance',#8450); -#29342=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8445,#2602,$,'',$,#8450,*); -#29343=PROPERTY_DEFINITION('',$,#29342); -#29344=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#29343); -#29345=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29343); -#29346=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8451,#8450); -#29347=SHAPE_ASPECT('',$,#8450,.U.); -#29348=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12988,#29347); -#29349=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8450); -#29350=NAME_ATTRIBUTE('single instance',#8454); -#29351=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8445,#2628,$,'',$,#8454,*); -#29352=PROPERTY_DEFINITION('',$,#29351); -#29353=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#29352); -#29354=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29352); -#29355=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8456,#8454); -#29356=SHAPE_ASPECT('',$,#8454,.U.); -#29357=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#29356); -#29358=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8454); -#29359=NAME_ATTRIBUTE('single instance',#8455); -#29360=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8445,#2602,$,'',$,#8455,*); -#29361=PROPERTY_DEFINITION('',$,#29360); -#29362=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#29361); -#29363=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29361); -#29364=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8456,#8455); -#29365=SHAPE_ASPECT('',$,#8455,.U.); -#29366=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12989,#29365); -#29367=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8455); -#29368=NAME_ATTRIBUTE('single instance',#8479); -#29369=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8475,#2628,$,'',$,#8479,*); -#29370=PROPERTY_DEFINITION('',$,#29369); -#29371=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#29370); -#29372=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29370); -#29373=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8481,#8479); -#29374=SHAPE_ASPECT('',$,#8479,.U.); -#29375=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10925,#29374); -#29376=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8479); -#29377=NAME_ATTRIBUTE('single instance',#8480); -#29378=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8475,#2602,$,'',$,#8480,*); -#29379=PROPERTY_DEFINITION('',$,#29378); -#29380=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#29379); -#29381=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29379); -#29382=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8481,#8480); -#29383=SHAPE_ASPECT('',$,#8480,.U.); -#29384=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12990,#29383); -#29385=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8480); -#29386=NAME_ATTRIBUTE('single instance',#8484); -#29387=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8475,#2628,$,'',$,#8484,*); -#29388=PROPERTY_DEFINITION('',$,#29387); -#29389=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#29388); -#29390=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29388); -#29391=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8486,#8484); -#29392=SHAPE_ASPECT('',$,#8484,.U.); -#29393=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#29392); -#29394=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8484); -#29395=NAME_ATTRIBUTE('single instance',#8485); -#29396=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8475,#2602,$,'',$,#8485,*); -#29397=PROPERTY_DEFINITION('',$,#29396); -#29398=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#29397); -#29399=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29397); -#29400=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8486,#8485); -#29401=SHAPE_ASPECT('',$,#8485,.U.); -#29402=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12991,#29401); -#29403=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8485); -#29404=NAME_ATTRIBUTE('single instance',#8509); -#29405=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#2628,$,'',$,#8509,*); -#29406=PROPERTY_DEFINITION('',$,#29405); -#29407=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#29406); -#29408=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29406); -#29409=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8511,#8509); -#29410=SHAPE_ASPECT('',$,#8509,.U.); -#29411=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10925,#29410); -#29412=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8509); -#29413=NAME_ATTRIBUTE('single instance',#8510); -#29414=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#2602,$,'',$,#8510,*); -#29415=PROPERTY_DEFINITION('',$,#29414); -#29416=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#29415); -#29417=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29415); -#29418=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8511,#8510); -#29419=SHAPE_ASPECT('',$,#8510,.U.); -#29420=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12992,#29419); -#29421=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8510); -#29422=NAME_ATTRIBUTE('single instance',#8514); -#29423=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#2628,$,'',$,#8514,*); -#29424=PROPERTY_DEFINITION('',$,#29423); -#29425=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#29424); -#29426=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29424); -#29427=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8516,#8514); -#29428=SHAPE_ASPECT('',$,#8514,.U.); -#29429=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#29428); -#29430=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8514); -#29431=NAME_ATTRIBUTE('single instance',#8515); -#29432=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#2602,$,'',$,#8515,*); -#29433=PROPERTY_DEFINITION('',$,#29432); -#29434=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#29433); -#29435=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29433); -#29436=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8516,#8515); -#29437=SHAPE_ASPECT('',$,#8515,.U.); -#29438=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12993,#29437); -#29439=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8515); -#29440=NAME_ATTRIBUTE('single instance',#8539); -#29441=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8535,#2628,$,'',$,#8539,*); -#29442=PROPERTY_DEFINITION('',$,#29441); -#29443=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29442); -#29444=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29442); -#29445=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8541,#8539); -#29446=SHAPE_ASPECT('',$,#8539,.U.); -#29447=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12996,#29446); -#29448=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8539); -#29449=NAME_ATTRIBUTE('single instance',#8540); -#29450=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8535,#2602,$,'',$,#8540,*); -#29451=PROPERTY_DEFINITION('',$,#29450); -#29452=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#29451); -#29453=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29451); -#29454=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8541,#8540); -#29455=SHAPE_ASPECT('',$,#8540,.U.); -#29456=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12995,#29455); -#29457=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8540); -#29458=NAME_ATTRIBUTE('single instance',#8544); -#29459=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8535,#2628,$,'',$,#8544,*); -#29460=PROPERTY_DEFINITION('',$,#29459); -#29461=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29460); -#29462=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29460); -#29463=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8546,#8544); -#29464=SHAPE_ASPECT('',$,#8544,.U.); -#29465=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11791,#29464); -#29466=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8544); -#29467=NAME_ATTRIBUTE('single instance',#8545); -#29468=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8535,#2602,$,'',$,#8545,*); -#29469=PROPERTY_DEFINITION('',$,#29468); -#29470=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#29469); -#29471=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29469); -#29472=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8546,#8545); -#29473=SHAPE_ASPECT('',$,#8545,.U.); -#29474=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12994,#29473); -#29475=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8545); -#29476=NAME_ATTRIBUTE('single instance',#8569); -#29477=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8565,#2786,$,'',$,#8569,*); -#29478=PROPERTY_DEFINITION('',$,#29477); -#29479=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23731,#29478); -#29480=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#29478); -#29481=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8571,#8569); -#29482=SHAPE_ASPECT('',$,#8569,.U.); -#29483=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13000,#29482); -#29484=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8569); -#29485=NAME_ATTRIBUTE('single instance',#8570); -#29486=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8565,#2760,$,'',$,#8570,*); -#29487=PROPERTY_DEFINITION('',$,#29486); -#29488=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23731,#29487); -#29489=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#29487); -#29490=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8571,#8570); -#29491=SHAPE_ASPECT('',$,#8570,.U.); -#29492=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12999,#29491); -#29493=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8570); -#29494=NAME_ATTRIBUTE('single instance',#8574); -#29495=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8565,#2786,$,'',$,#8574,*); -#29496=PROPERTY_DEFINITION('',$,#29495); -#29497=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23728,#29496); -#29498=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#29496); -#29499=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8576,#8574); -#29500=SHAPE_ASPECT('',$,#8574,.U.); -#29501=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12998,#29500); -#29502=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8574); -#29503=NAME_ATTRIBUTE('single instance',#8575); -#29504=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8565,#2760,$,'',$,#8575,*); -#29505=PROPERTY_DEFINITION('',$,#29504); -#29506=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23728,#29505); -#29507=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#29505); -#29508=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8576,#8575); -#29509=SHAPE_ASPECT('',$,#8575,.U.); -#29510=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12997,#29509); -#29511=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8575); -#29512=NAME_ATTRIBUTE('single instance',#8599); -#29513=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8595,#2628,$,'',$,#8599,*); -#29514=PROPERTY_DEFINITION('',$,#29513); -#29515=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#29514); -#29516=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29514); -#29517=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8601,#8599); -#29518=SHAPE_ASPECT('',$,#8599,.U.); -#29519=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10708,#29518); -#29520=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8599); -#29521=NAME_ATTRIBUTE('single instance',#8600); -#29522=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8595,#2602,$,'',$,#8600,*); -#29523=PROPERTY_DEFINITION('',$,#29522); -#29524=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#29523); -#29525=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29523); -#29526=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8601,#8600); -#29527=SHAPE_ASPECT('',$,#8600,.U.); -#29528=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10645,#29527); -#29529=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8600); -#29530=NAME_ATTRIBUTE('single instance',#8604); -#29531=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8595,#2628,$,'',$,#8604,*); -#29532=PROPERTY_DEFINITION('',$,#29531); -#29533=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#29532); -#29534=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#29532); -#29535=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8606,#8604); -#29536=SHAPE_ASPECT('',$,#8604,.U.); -#29537=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#29536); -#29538=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#8604); -#29539=NAME_ATTRIBUTE('single instance',#8605); -#29540=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8595,#2602,$,'',$,#8605,*); -#29541=PROPERTY_DEFINITION('',$,#29540); -#29542=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#29541); -#29543=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#29541); -#29544=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8606,#8605); -#29545=SHAPE_ASPECT('',$,#8605,.U.); -#29546=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13001,#29545); -#29547=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#8605); -#29548=NAME_ATTRIBUTE('single instance',#8629); -#29549=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8629,*); -#29550=PROPERTY_DEFINITION('',$,#29549); -#29551=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24082,#29550); -#29552=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29550); -#29553=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8631,#8629); -#29554=SHAPE_ASPECT('',$,#8629,.U.); -#29555=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13066,#29554); -#29556=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8629); -#29557=NAME_ATTRIBUTE('single instance',#8630); -#29558=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8630,*); -#29559=PROPERTY_DEFINITION('',$,#29558); -#29560=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24082,#29559); -#29561=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29559); -#29562=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8631,#8630); -#29563=SHAPE_ASPECT('',$,#8630,.U.); -#29564=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13065,#29563); -#29565=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8630); -#29566=NAME_ATTRIBUTE('single instance',#8634); -#29567=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8634,*); -#29568=PROPERTY_DEFINITION('',$,#29567); -#29569=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24079,#29568); -#29570=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29568); -#29571=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8636,#8634); -#29572=SHAPE_ASPECT('',$,#8634,.U.); -#29573=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13017,#29572); -#29574=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8634); -#29575=NAME_ATTRIBUTE('single instance',#8635); -#29576=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8635,*); -#29577=PROPERTY_DEFINITION('',$,#29576); -#29578=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24079,#29577); -#29579=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29577); -#29580=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8636,#8635); -#29581=SHAPE_ASPECT('',$,#8635,.U.); -#29582=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#29581); -#29583=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8635); -#29584=NAME_ATTRIBUTE('single instance',#8639); -#29585=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8639,*); -#29586=PROPERTY_DEFINITION('',$,#29585); -#29587=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24076,#29586); -#29588=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29586); -#29589=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8641,#8639); -#29590=SHAPE_ASPECT('',$,#8639,.U.); -#29591=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13094,#29590); -#29592=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8639); -#29593=NAME_ATTRIBUTE('single instance',#8640); -#29594=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8640,*); -#29595=PROPERTY_DEFINITION('',$,#29594); -#29596=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24076,#29595); -#29597=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29595); -#29598=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8641,#8640); -#29599=SHAPE_ASPECT('',$,#8640,.U.); -#29600=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13093,#29599); -#29601=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8640); -#29602=NAME_ATTRIBUTE('single instance',#8644); -#29603=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8644,*); -#29604=PROPERTY_DEFINITION('',$,#29603); -#29605=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24073,#29604); -#29606=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29604); -#29607=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8646,#8644); -#29608=SHAPE_ASPECT('',$,#8644,.U.); -#29609=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12614,#29608); -#29610=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8644); -#29611=NAME_ATTRIBUTE('single instance',#8645); -#29612=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8645,*); -#29613=PROPERTY_DEFINITION('',$,#29612); -#29614=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24073,#29613); -#29615=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29613); -#29616=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8646,#8645); -#29617=SHAPE_ASPECT('',$,#8645,.U.); -#29618=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13141,#29617); -#29619=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8645); -#29620=NAME_ATTRIBUTE('single instance',#8649); -#29621=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8649,*); -#29622=PROPERTY_DEFINITION('',$,#29621); -#29623=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24070,#29622); -#29624=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29622); -#29625=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8651,#8649); -#29626=SHAPE_ASPECT('',$,#8649,.U.); -#29627=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12218,#29626); -#29628=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8649); -#29629=NAME_ATTRIBUTE('single instance',#8650); -#29630=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8650,*); -#29631=PROPERTY_DEFINITION('',$,#29630); -#29632=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24070,#29631); -#29633=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29631); -#29634=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8651,#8650); -#29635=SHAPE_ASPECT('',$,#8650,.U.); -#29636=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13005,#29635); -#29637=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8650); -#29638=NAME_ATTRIBUTE('single instance',#8654); -#29639=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8654,*); -#29640=PROPERTY_DEFINITION('',$,#29639); -#29641=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24067,#29640); -#29642=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29640); -#29643=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8656,#8654); -#29644=SHAPE_ASPECT('',$,#8654,.U.); -#29645=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13016,#29644); -#29646=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8654); -#29647=NAME_ATTRIBUTE('single instance',#8655); -#29648=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8655,*); -#29649=PROPERTY_DEFINITION('',$,#29648); -#29650=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24067,#29649); -#29651=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29649); -#29652=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8656,#8655); -#29653=SHAPE_ASPECT('',$,#8655,.U.); -#29654=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13015,#29653); -#29655=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8655); -#29656=NAME_ATTRIBUTE('single instance',#8659); -#29657=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8659,*); -#29658=PROPERTY_DEFINITION('',$,#29657); -#29659=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24064,#29658); -#29660=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29658); -#29661=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8661,#8659); -#29662=SHAPE_ASPECT('',$,#8659,.U.); -#29663=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13127,#29662); -#29664=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8659); -#29665=NAME_ATTRIBUTE('single instance',#8660); -#29666=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8660,*); -#29667=PROPERTY_DEFINITION('',$,#29666); -#29668=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24064,#29667); -#29669=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29667); -#29670=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8661,#8660); -#29671=SHAPE_ASPECT('',$,#8660,.U.); -#29672=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10645,#29671); -#29673=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8660); -#29674=NAME_ATTRIBUTE('single instance',#8664); -#29675=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8664,*); -#29676=PROPERTY_DEFINITION('',$,#29675); -#29677=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24061,#29676); -#29678=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29676); -#29679=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8666,#8664); -#29680=SHAPE_ASPECT('',$,#8664,.U.); -#29681=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13072,#29680); -#29682=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8664); -#29683=NAME_ATTRIBUTE('single instance',#8665); -#29684=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8665,*); -#29685=PROPERTY_DEFINITION('',$,#29684); -#29686=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24061,#29685); -#29687=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29685); -#29688=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8666,#8665); -#29689=SHAPE_ASPECT('',$,#8665,.U.); -#29690=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13071,#29689); -#29691=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8665); -#29692=NAME_ATTRIBUTE('single instance',#8669); -#29693=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8669,*); -#29694=PROPERTY_DEFINITION('',$,#29693); -#29695=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24058,#29694); -#29696=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29694); -#29697=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8671,#8669); -#29698=SHAPE_ASPECT('',$,#8669,.U.); -#29699=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10572,#29698); -#29700=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8669); -#29701=NAME_ATTRIBUTE('single instance',#8670); -#29702=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8670,*); -#29703=PROPERTY_DEFINITION('',$,#29702); -#29704=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24058,#29703); -#29705=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29703); -#29706=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8671,#8670); -#29707=SHAPE_ASPECT('',$,#8670,.U.); -#29708=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13040,#29707); -#29709=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8670); -#29710=NAME_ATTRIBUTE('single instance',#8674); -#29711=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8674,*); -#29712=PROPERTY_DEFINITION('',$,#29711); -#29713=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24055,#29712); -#29714=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29712); -#29715=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8676,#8674); -#29716=SHAPE_ASPECT('',$,#8674,.U.); -#29717=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12735,#29716); -#29718=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8674); -#29719=NAME_ATTRIBUTE('single instance',#8675); -#29720=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8675,*); -#29721=PROPERTY_DEFINITION('',$,#29720); -#29722=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24055,#29721); -#29723=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29721); -#29724=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8676,#8675); -#29725=SHAPE_ASPECT('',$,#8675,.U.); -#29726=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13008,#29725); -#29727=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8675); -#29728=NAME_ATTRIBUTE('single instance',#8679); -#29729=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8679,*); -#29730=PROPERTY_DEFINITION('',$,#29729); -#29731=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24052,#29730); -#29732=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29730); -#29733=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8681,#8679); -#29734=SHAPE_ASPECT('',$,#8679,.U.); -#29735=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13055,#29734); -#29736=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8679); -#29737=NAME_ATTRIBUTE('single instance',#8680); -#29738=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8680,*); -#29739=PROPERTY_DEFINITION('',$,#29738); -#29740=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24052,#29739); -#29741=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29739); -#29742=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8681,#8680); -#29743=SHAPE_ASPECT('',$,#8680,.U.); -#29744=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#29743); -#29745=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8680); -#29746=NAME_ATTRIBUTE('single instance',#8684); -#29747=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8684,*); -#29748=PROPERTY_DEFINITION('',$,#29747); -#29749=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24049,#29748); -#29750=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29748); -#29751=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8686,#8684); -#29752=SHAPE_ASPECT('',$,#8684,.U.); -#29753=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13074,#29752); -#29754=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8684); -#29755=NAME_ATTRIBUTE('single instance',#8685); -#29756=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8685,*); -#29757=PROPERTY_DEFINITION('',$,#29756); -#29758=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24049,#29757); -#29759=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29757); -#29760=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8686,#8685); -#29761=SHAPE_ASPECT('',$,#8685,.U.); -#29762=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13073,#29761); -#29763=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8685); -#29764=NAME_ATTRIBUTE('single instance',#8689); -#29765=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8689,*); -#29766=PROPERTY_DEFINITION('',$,#29765); -#29767=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24046,#29766); -#29768=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29766); -#29769=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8691,#8689); -#29770=SHAPE_ASPECT('',$,#8689,.U.); -#29771=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13178,#29770); -#29772=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8689); -#29773=NAME_ATTRIBUTE('single instance',#8690); -#29774=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8690,*); -#29775=PROPERTY_DEFINITION('',$,#29774); -#29776=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24046,#29775); -#29777=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29775); -#29778=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8691,#8690); -#29779=SHAPE_ASPECT('',$,#8690,.U.); -#29780=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13177,#29779); -#29781=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8690); -#29782=NAME_ATTRIBUTE('single instance',#8694); -#29783=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8694,*); -#29784=PROPERTY_DEFINITION('',$,#29783); -#29785=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24043,#29784); -#29786=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29784); -#29787=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8694); -#29788=SHAPE_ASPECT('',$,#8694,.U.); -#29789=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13113,#29788); -#29790=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8694); -#29791=NAME_ATTRIBUTE('single instance',#8695); -#29792=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8695,*); -#29793=PROPERTY_DEFINITION('',$,#29792); -#29794=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24043,#29793); -#29795=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29793); -#29796=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8695); -#29797=SHAPE_ASPECT('',$,#8695,.U.); -#29798=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13112,#29797); -#29799=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8695); -#29800=NAME_ATTRIBUTE('single instance',#8699); -#29801=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8699,*); -#29802=PROPERTY_DEFINITION('',$,#29801); -#29803=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24040,#29802); -#29804=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29802); -#29805=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8701,#8699); -#29806=SHAPE_ASPECT('',$,#8699,.U.); -#29807=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13076,#29806); -#29808=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8699); -#29809=NAME_ATTRIBUTE('single instance',#8700); -#29810=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8700,*); -#29811=PROPERTY_DEFINITION('',$,#29810); -#29812=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24040,#29811); -#29813=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29811); -#29814=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8701,#8700); -#29815=SHAPE_ASPECT('',$,#8700,.U.); -#29816=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13075,#29815); -#29817=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8700); -#29818=NAME_ATTRIBUTE('single instance',#8704); -#29819=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8704,*); -#29820=PROPERTY_DEFINITION('',$,#29819); -#29821=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24037,#29820); -#29822=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29820); -#29823=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8706,#8704); -#29824=SHAPE_ASPECT('',$,#8704,.U.); -#29825=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13012,#29824); -#29826=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8704); -#29827=NAME_ATTRIBUTE('single instance',#8705); -#29828=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8705,*); -#29829=PROPERTY_DEFINITION('',$,#29828); -#29830=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24037,#29829); -#29831=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29829); -#29832=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8706,#8705); -#29833=SHAPE_ASPECT('',$,#8705,.U.); -#29834=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13011,#29833); -#29835=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8705); -#29836=NAME_ATTRIBUTE('single instance',#8709); -#29837=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8709,*); -#29838=PROPERTY_DEFINITION('',$,#29837); -#29839=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24034,#29838); -#29840=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29838); -#29841=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8711,#8709); -#29842=SHAPE_ASPECT('',$,#8709,.U.); -#29843=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13153,#29842); -#29844=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8709); -#29845=NAME_ATTRIBUTE('single instance',#8710); -#29846=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8710,*); -#29847=PROPERTY_DEFINITION('',$,#29846); -#29848=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24034,#29847); -#29849=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29847); -#29850=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8711,#8710); -#29851=SHAPE_ASPECT('',$,#8710,.U.); -#29852=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13152,#29851); -#29853=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8710); -#29854=NAME_ATTRIBUTE('single instance',#8714); -#29855=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8714,*); -#29856=PROPERTY_DEFINITION('',$,#29855); -#29857=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24031,#29856); -#29858=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29856); -#29859=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8716,#8714); -#29860=SHAPE_ASPECT('',$,#8714,.U.); -#29861=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13129,#29860); -#29862=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8714); -#29863=NAME_ATTRIBUTE('single instance',#8715); -#29864=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8715,*); -#29865=PROPERTY_DEFINITION('',$,#29864); -#29866=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24031,#29865); -#29867=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29865); -#29868=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8716,#8715); -#29869=SHAPE_ASPECT('',$,#8715,.U.); -#29870=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13128,#29869); -#29871=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8715); -#29872=NAME_ATTRIBUTE('single instance',#8719); -#29873=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8719,*); -#29874=PROPERTY_DEFINITION('',$,#29873); -#29875=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24028,#29874); -#29876=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29874); -#29877=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8721,#8719); -#29878=SHAPE_ASPECT('',$,#8719,.U.); -#29879=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13034,#29878); -#29880=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8719); -#29881=NAME_ATTRIBUTE('single instance',#8720); -#29882=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8720,*); -#29883=PROPERTY_DEFINITION('',$,#29882); -#29884=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24028,#29883); -#29885=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29883); -#29886=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8721,#8720); -#29887=SHAPE_ASPECT('',$,#8720,.U.); -#29888=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13033,#29887); -#29889=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8720); -#29890=NAME_ATTRIBUTE('single instance',#8724); -#29891=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8724,*); -#29892=PROPERTY_DEFINITION('',$,#29891); -#29893=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24025,#29892); -#29894=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29892); -#29895=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8726,#8724); -#29896=SHAPE_ASPECT('',$,#8724,.U.); -#29897=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13160,#29896); -#29898=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8724); -#29899=NAME_ATTRIBUTE('single instance',#8725); -#29900=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8725,*); -#29901=PROPERTY_DEFINITION('',$,#29900); -#29902=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24025,#29901); -#29903=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29901); -#29904=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8726,#8725); -#29905=SHAPE_ASPECT('',$,#8725,.U.); -#29906=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#29905); -#29907=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8725); -#29908=NAME_ATTRIBUTE('single instance',#8729); -#29909=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8729,*); -#29910=PROPERTY_DEFINITION('',$,#29909); -#29911=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24022,#29910); -#29912=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29910); -#29913=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8731,#8729); -#29914=SHAPE_ASPECT('',$,#8729,.U.); -#29915=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13084,#29914); -#29916=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8729); -#29917=NAME_ATTRIBUTE('single instance',#8730); -#29918=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8730,*); -#29919=PROPERTY_DEFINITION('',$,#29918); -#29920=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24022,#29919); -#29921=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29919); -#29922=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8731,#8730); -#29923=SHAPE_ASPECT('',$,#8730,.U.); -#29924=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13083,#29923); -#29925=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8730); -#29926=NAME_ATTRIBUTE('single instance',#8734); -#29927=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8734,*); -#29928=PROPERTY_DEFINITION('',$,#29927); -#29929=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24019,#29928); -#29930=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29928); -#29931=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8736,#8734); -#29932=SHAPE_ASPECT('',$,#8734,.U.); -#29933=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13169,#29932); -#29934=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8734); -#29935=NAME_ATTRIBUTE('single instance',#8735); -#29936=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8735,*); -#29937=PROPERTY_DEFINITION('',$,#29936); -#29938=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24019,#29937); -#29939=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29937); -#29940=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8736,#8735); -#29941=SHAPE_ASPECT('',$,#8735,.U.); -#29942=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13168,#29941); -#29943=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8735); -#29944=NAME_ATTRIBUTE('single instance',#8739); -#29945=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8739,*); -#29946=PROPERTY_DEFINITION('',$,#29945); -#29947=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24016,#29946); -#29948=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29946); -#29949=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8741,#8739); -#29950=SHAPE_ASPECT('',$,#8739,.U.); -#29951=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13036,#29950); -#29952=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8739); -#29953=NAME_ATTRIBUTE('single instance',#8740); -#29954=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8740,*); -#29955=PROPERTY_DEFINITION('',$,#29954); -#29956=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24016,#29955); -#29957=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29955); -#29958=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8741,#8740); -#29959=SHAPE_ASPECT('',$,#8740,.U.); -#29960=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13035,#29959); -#29961=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8740); -#29962=NAME_ATTRIBUTE('single instance',#8744); -#29963=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8744,*); -#29964=PROPERTY_DEFINITION('',$,#29963); -#29965=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24013,#29964); -#29966=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29964); -#29967=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8746,#8744); -#29968=SHAPE_ASPECT('',$,#8744,.U.); -#29969=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13146,#29968); -#29970=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8744); -#29971=NAME_ATTRIBUTE('single instance',#8745); -#29972=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8745,*); -#29973=PROPERTY_DEFINITION('',$,#29972); -#29974=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24013,#29973); -#29975=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29973); -#29976=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8746,#8745); -#29977=SHAPE_ASPECT('',$,#8745,.U.); -#29978=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13145,#29977); -#29979=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8745); -#29980=NAME_ATTRIBUTE('single instance',#8749); -#29981=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8749,*); -#29982=PROPERTY_DEFINITION('',$,#29981); -#29983=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24010,#29982); -#29984=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#29982); -#29985=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8751,#8749); -#29986=SHAPE_ASPECT('',$,#8749,.U.); -#29987=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13046,#29986); -#29988=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8749); -#29989=NAME_ATTRIBUTE('single instance',#8750); -#29990=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8750,*); -#29991=PROPERTY_DEFINITION('',$,#29990); -#29992=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24010,#29991); -#29993=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#29991); -#29994=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8751,#8750); -#29995=SHAPE_ASPECT('',$,#8750,.U.); -#29996=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13045,#29995); -#29997=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8750); -#29998=NAME_ATTRIBUTE('single instance',#8754); -#29999=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8754,*); -#30000=PROPERTY_DEFINITION('',$,#29999); -#30001=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24007,#30000); -#30002=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30000); -#30003=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8756,#8754); -#30004=SHAPE_ASPECT('',$,#8754,.U.); -#30005=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13044,#30004); -#30006=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8754); -#30007=NAME_ATTRIBUTE('single instance',#8755); -#30008=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8755,*); -#30009=PROPERTY_DEFINITION('',$,#30008); -#30010=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24007,#30009); -#30011=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30009); -#30012=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8756,#8755); -#30013=SHAPE_ASPECT('',$,#8755,.U.); -#30014=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13043,#30013); -#30015=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8755); -#30016=NAME_ATTRIBUTE('single instance',#8759); -#30017=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8759,*); -#30018=PROPERTY_DEFINITION('',$,#30017); -#30019=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24004,#30018); -#30020=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30018); -#30021=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8761,#8759); -#30022=SHAPE_ASPECT('',$,#8759,.U.); -#30023=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13086,#30022); -#30024=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8759); -#30025=NAME_ATTRIBUTE('single instance',#8760); -#30026=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8760,*); -#30027=PROPERTY_DEFINITION('',$,#30026); -#30028=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24004,#30027); -#30029=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30027); -#30030=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8761,#8760); -#30031=SHAPE_ASPECT('',$,#8760,.U.); -#30032=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13085,#30031); -#30033=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8760); -#30034=NAME_ATTRIBUTE('single instance',#8764); -#30035=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8764,*); -#30036=PROPERTY_DEFINITION('',$,#30035); -#30037=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24001,#30036); -#30038=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30036); -#30039=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8764); -#30040=SHAPE_ASPECT('',$,#8764,.U.); -#30041=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13058,#30040); -#30042=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8764); -#30043=NAME_ATTRIBUTE('single instance',#8765); -#30044=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8765,*); -#30045=PROPERTY_DEFINITION('',$,#30044); -#30046=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24001,#30045); -#30047=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30045); -#30048=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8765); -#30049=SHAPE_ASPECT('',$,#8765,.U.); -#30050=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13057,#30049); -#30051=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8765); -#30052=NAME_ATTRIBUTE('single instance',#8769); -#30053=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8769,*); -#30054=PROPERTY_DEFINITION('',$,#30053); -#30055=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23998,#30054); -#30056=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30054); -#30057=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8771,#8769); -#30058=SHAPE_ASPECT('',$,#8769,.U.); -#30059=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13117,#30058); -#30060=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8769); -#30061=NAME_ATTRIBUTE('single instance',#8770); -#30062=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8770,*); -#30063=PROPERTY_DEFINITION('',$,#30062); -#30064=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23998,#30063); -#30065=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30063); -#30066=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8771,#8770); -#30067=SHAPE_ASPECT('',$,#8770,.U.); -#30068=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13116,#30067); -#30069=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8770); -#30070=NAME_ATTRIBUTE('single instance',#8774); -#30071=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8774,*); -#30072=PROPERTY_DEFINITION('',$,#30071); -#30073=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23995,#30072); -#30074=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30072); -#30075=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8776,#8774); -#30076=SHAPE_ASPECT('',$,#8774,.U.); -#30077=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13101,#30076); -#30078=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8774); -#30079=NAME_ATTRIBUTE('single instance',#8775); -#30080=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8775,*); -#30081=PROPERTY_DEFINITION('',$,#30080); -#30082=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23995,#30081); -#30083=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30081); -#30084=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8776,#8775); -#30085=SHAPE_ASPECT('',$,#8775,.U.); -#30086=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13100,#30085); -#30087=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8775); -#30088=NAME_ATTRIBUTE('single instance',#8779); -#30089=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8779,*); -#30090=PROPERTY_DEFINITION('',$,#30089); -#30091=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23992,#30090); -#30092=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30090); -#30093=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8781,#8779); -#30094=SHAPE_ASPECT('',$,#8779,.U.); -#30095=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13054,#30094); -#30096=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8779); -#30097=NAME_ATTRIBUTE('single instance',#8780); -#30098=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8780,*); -#30099=PROPERTY_DEFINITION('',$,#30098); -#30100=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23992,#30099); -#30101=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30099); -#30102=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8781,#8780); -#30103=SHAPE_ASPECT('',$,#8780,.U.); -#30104=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13053,#30103); -#30105=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8780); -#30106=NAME_ATTRIBUTE('single instance',#8784); -#30107=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8784,*); -#30108=PROPERTY_DEFINITION('',$,#30107); -#30109=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23989,#30108); -#30110=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30108); -#30111=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8786,#8784); -#30112=SHAPE_ASPECT('',$,#8784,.U.); -#30113=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13162,#30112); -#30114=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8784); -#30115=NAME_ATTRIBUTE('single instance',#8785); -#30116=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8785,*); -#30117=PROPERTY_DEFINITION('',$,#30116); -#30118=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23989,#30117); -#30119=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30117); -#30120=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8786,#8785); -#30121=SHAPE_ASPECT('',$,#8785,.U.); -#30122=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13161,#30121); -#30123=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8785); -#30124=NAME_ATTRIBUTE('single instance',#8789); -#30125=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8789,*); -#30126=PROPERTY_DEFINITION('',$,#30125); -#30127=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23986,#30126); -#30128=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30126); -#30129=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8791,#8789); -#30130=SHAPE_ASPECT('',$,#8789,.U.); -#30131=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13068,#30130); -#30132=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8789); -#30133=NAME_ATTRIBUTE('single instance',#8790); -#30134=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8790,*); -#30135=PROPERTY_DEFINITION('',$,#30134); -#30136=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23986,#30135); -#30137=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30135); -#30138=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8791,#8790); -#30139=SHAPE_ASPECT('',$,#8790,.U.); -#30140=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13067,#30139); -#30141=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8790); -#30142=NAME_ATTRIBUTE('single instance',#8794); -#30143=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8794,*); -#30144=PROPERTY_DEFINITION('',$,#30143); -#30145=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23983,#30144); -#30146=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30144); -#30147=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8796,#8794); -#30148=SHAPE_ASPECT('',$,#8794,.U.); -#30149=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13062,#30148); -#30150=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8794); -#30151=NAME_ATTRIBUTE('single instance',#8795); -#30152=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8795,*); -#30153=PROPERTY_DEFINITION('',$,#30152); -#30154=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23983,#30153); -#30155=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30153); -#30156=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8796,#8795); -#30157=SHAPE_ASPECT('',$,#8795,.U.); -#30158=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13061,#30157); -#30159=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8795); -#30160=NAME_ATTRIBUTE('single instance',#8799); -#30161=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8799,*); -#30162=PROPERTY_DEFINITION('',$,#30161); -#30163=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23980,#30162); -#30164=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30162); -#30165=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8801,#8799); -#30166=SHAPE_ASPECT('',$,#8799,.U.); -#30167=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13194,#30166); -#30168=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8799); -#30169=NAME_ATTRIBUTE('single instance',#8800); -#30170=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8800,*); -#30171=PROPERTY_DEFINITION('',$,#30170); -#30172=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23980,#30171); -#30173=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30171); -#30174=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8801,#8800); -#30175=SHAPE_ASPECT('',$,#8800,.U.); -#30176=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13193,#30175); -#30177=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8800); -#30178=NAME_ATTRIBUTE('single instance',#8804); -#30179=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8804,*); -#30180=PROPERTY_DEFINITION('',$,#30179); -#30181=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23977,#30180); -#30182=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30180); -#30183=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8806,#8804); -#30184=SHAPE_ASPECT('',$,#8804,.U.); -#30185=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13038,#30184); -#30186=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8804); -#30187=NAME_ATTRIBUTE('single instance',#8805); -#30188=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8805,*); -#30189=PROPERTY_DEFINITION('',$,#30188); -#30190=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23977,#30189); -#30191=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30189); -#30192=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8806,#8805); -#30193=SHAPE_ASPECT('',$,#8805,.U.); -#30194=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13037,#30193); -#30195=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8805); -#30196=NAME_ATTRIBUTE('single instance',#8809); -#30197=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8809,*); -#30198=PROPERTY_DEFINITION('',$,#30197); -#30199=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23974,#30198); -#30200=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30198); -#30201=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8809); -#30202=SHAPE_ASPECT('',$,#8809,.U.); -#30203=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13052,#30202); -#30204=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8809); -#30205=NAME_ATTRIBUTE('single instance',#8810); -#30206=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8810,*); -#30207=PROPERTY_DEFINITION('',$,#30206); -#30208=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23974,#30207); -#30209=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30207); -#30210=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8810); -#30211=SHAPE_ASPECT('',$,#8810,.U.); -#30212=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#30211); -#30213=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8810); -#30214=NAME_ATTRIBUTE('single instance',#8814); -#30215=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8814,*); -#30216=PROPERTY_DEFINITION('',$,#30215); -#30217=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23971,#30216); -#30218=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30216); -#30219=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8816,#8814); -#30220=SHAPE_ASPECT('',$,#8814,.U.); -#30221=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13126,#30220); -#30222=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8814); -#30223=NAME_ATTRIBUTE('single instance',#8815); -#30224=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8815,*); -#30225=PROPERTY_DEFINITION('',$,#30224); -#30226=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23971,#30225); -#30227=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30225); -#30228=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8816,#8815); -#30229=SHAPE_ASPECT('',$,#8815,.U.); -#30230=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13125,#30229); -#30231=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8815); -#30232=NAME_ATTRIBUTE('single instance',#8819); -#30233=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8819,*); -#30234=PROPERTY_DEFINITION('',$,#30233); -#30235=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23968,#30234); -#30236=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30234); -#30237=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8821,#8819); -#30238=SHAPE_ASPECT('',$,#8819,.U.); -#30239=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13155,#30238); -#30240=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8819); -#30241=NAME_ATTRIBUTE('single instance',#8820); -#30242=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8820,*); -#30243=PROPERTY_DEFINITION('',$,#30242); -#30244=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23968,#30243); -#30245=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30243); -#30246=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8821,#8820); -#30247=SHAPE_ASPECT('',$,#8820,.U.); -#30248=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13154,#30247); -#30249=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8820); -#30250=NAME_ATTRIBUTE('single instance',#8824); -#30251=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8824,*); -#30252=PROPERTY_DEFINITION('',$,#30251); -#30253=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23965,#30252); -#30254=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30252); -#30255=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8826,#8824); -#30256=SHAPE_ASPECT('',$,#8824,.U.); -#30257=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13064,#30256); -#30258=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8824); -#30259=NAME_ATTRIBUTE('single instance',#8825); -#30260=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8825,*); -#30261=PROPERTY_DEFINITION('',$,#30260); -#30262=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23965,#30261); -#30263=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30261); -#30264=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8826,#8825); -#30265=SHAPE_ASPECT('',$,#8825,.U.); -#30266=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12687,#30265); -#30267=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8825); -#30268=NAME_ATTRIBUTE('single instance',#8829); -#30269=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8829,*); -#30270=PROPERTY_DEFINITION('',$,#30269); -#30271=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23962,#30270); -#30272=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30270); -#30273=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8831,#8829); -#30274=SHAPE_ASPECT('',$,#8829,.U.); -#30275=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12256,#30274); -#30276=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8829); -#30277=NAME_ATTRIBUTE('single instance',#8830); -#30278=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8830,*); -#30279=PROPERTY_DEFINITION('',$,#30278); -#30280=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23962,#30279); -#30281=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30279); -#30282=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8831,#8830); -#30283=SHAPE_ASPECT('',$,#8830,.U.); -#30284=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13118,#30283); -#30285=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8830); -#30286=NAME_ATTRIBUTE('single instance',#8834); -#30287=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8834,*); -#30288=PROPERTY_DEFINITION('',$,#30287); -#30289=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23959,#30288); -#30290=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30288); -#30291=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8834); -#30292=SHAPE_ASPECT('',$,#8834,.U.); -#30293=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12320,#30292); -#30294=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8834); -#30295=NAME_ATTRIBUTE('single instance',#8835); -#30296=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8835,*); -#30297=PROPERTY_DEFINITION('',$,#30296); -#30298=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23959,#30297); -#30299=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30297); -#30300=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8835); -#30301=SHAPE_ASPECT('',$,#8835,.U.); -#30302=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13167,#30301); -#30303=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8835); -#30304=NAME_ATTRIBUTE('single instance',#8839); -#30305=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8839,*); -#30306=PROPERTY_DEFINITION('',$,#30305); -#30307=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23956,#30306); -#30308=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30306); -#30309=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8841,#8839); -#30310=SHAPE_ASPECT('',$,#8839,.U.); -#30311=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10861,#30310); -#30312=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8839); -#30313=NAME_ATTRIBUTE('single instance',#8840); -#30314=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8840,*); -#30315=PROPERTY_DEFINITION('',$,#30314); -#30316=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23956,#30315); -#30317=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30315); -#30318=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8841,#8840); -#30319=SHAPE_ASPECT('',$,#8840,.U.); -#30320=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13142,#30319); -#30321=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8840); -#30322=NAME_ATTRIBUTE('single instance',#8844); -#30323=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8844,*); -#30324=PROPERTY_DEFINITION('',$,#30323); -#30325=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23953,#30324); -#30326=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30324); -#30327=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8846,#8844); -#30328=SHAPE_ASPECT('',$,#8844,.U.); -#30329=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13051,#30328); -#30330=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8844); -#30331=NAME_ATTRIBUTE('single instance',#8845); -#30332=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8845,*); -#30333=PROPERTY_DEFINITION('',$,#30332); -#30334=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23953,#30333); -#30335=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30333); -#30336=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8846,#8845); -#30337=SHAPE_ASPECT('',$,#8845,.U.); -#30338=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13050,#30337); -#30339=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8845); -#30340=NAME_ATTRIBUTE('single instance',#8849); -#30341=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8849,*); -#30342=PROPERTY_DEFINITION('',$,#30341); -#30343=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23950,#30342); -#30344=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30342); -#30345=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8851,#8849); -#30346=SHAPE_ASPECT('',$,#8849,.U.); -#30347=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13080,#30346); -#30348=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8849); -#30349=NAME_ATTRIBUTE('single instance',#8850); -#30350=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8850,*); -#30351=PROPERTY_DEFINITION('',$,#30350); -#30352=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23950,#30351); -#30353=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30351); -#30354=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8851,#8850); -#30355=SHAPE_ASPECT('',$,#8850,.U.); -#30356=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13079,#30355); -#30357=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8850); -#30358=NAME_ATTRIBUTE('single instance',#8854); -#30359=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8854,*); -#30360=PROPERTY_DEFINITION('',$,#30359); -#30361=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23947,#30360); -#30362=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30360); -#30363=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8856,#8854); -#30364=SHAPE_ASPECT('',$,#8854,.U.); -#30365=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13042,#30364); -#30366=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8854); -#30367=NAME_ATTRIBUTE('single instance',#8855); -#30368=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8855,*); -#30369=PROPERTY_DEFINITION('',$,#30368); -#30370=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23947,#30369); -#30371=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30369); -#30372=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8856,#8855); -#30373=SHAPE_ASPECT('',$,#8855,.U.); -#30374=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13041,#30373); -#30375=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8855); -#30376=NAME_ATTRIBUTE('single instance',#8859); -#30377=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8859,*); -#30378=PROPERTY_DEFINITION('',$,#30377); -#30379=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23944,#30378); -#30380=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30378); -#30381=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8861,#8859); -#30382=SHAPE_ASPECT('',$,#8859,.U.); -#30383=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13082,#30382); -#30384=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8859); -#30385=NAME_ATTRIBUTE('single instance',#8860); -#30386=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8860,*); -#30387=PROPERTY_DEFINITION('',$,#30386); -#30388=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23944,#30387); -#30389=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30387); -#30390=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8861,#8860); -#30391=SHAPE_ASPECT('',$,#8860,.U.); -#30392=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13081,#30391); -#30393=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8860); -#30394=NAME_ATTRIBUTE('single instance',#8864); -#30395=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8864,*); -#30396=PROPERTY_DEFINITION('',$,#30395); -#30397=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23941,#30396); -#30398=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30396); -#30399=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8866,#8864); -#30400=SHAPE_ASPECT('',$,#8864,.U.); -#30401=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13133,#30400); -#30402=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8864); -#30403=NAME_ATTRIBUTE('single instance',#8865); -#30404=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8865,*); -#30405=PROPERTY_DEFINITION('',$,#30404); -#30406=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23941,#30405); -#30407=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30405); -#30408=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8866,#8865); -#30409=SHAPE_ASPECT('',$,#8865,.U.); -#30410=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13132,#30409); -#30411=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8865); -#30412=NAME_ATTRIBUTE('single instance',#8869); -#30413=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8869,*); -#30414=PROPERTY_DEFINITION('',$,#30413); -#30415=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23938,#30414); -#30416=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30414); -#30417=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8871,#8869); -#30418=SHAPE_ASPECT('',$,#8869,.U.); -#30419=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13007,#30418); -#30420=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8869); -#30421=NAME_ATTRIBUTE('single instance',#8870); -#30422=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8870,*); -#30423=PROPERTY_DEFINITION('',$,#30422); -#30424=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23938,#30423); -#30425=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30423); -#30426=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8871,#8870); -#30427=SHAPE_ASPECT('',$,#8870,.U.); -#30428=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13006,#30427); -#30429=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8870); -#30430=NAME_ATTRIBUTE('single instance',#8874); -#30431=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8874,*); -#30432=PROPERTY_DEFINITION('',$,#30431); -#30433=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23935,#30432); -#30434=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30432); -#30435=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8876,#8874); -#30436=SHAPE_ASPECT('',$,#8874,.U.); -#30437=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13004,#30436); -#30438=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8874); -#30439=NAME_ATTRIBUTE('single instance',#8875); -#30440=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8875,*); -#30441=PROPERTY_DEFINITION('',$,#30440); -#30442=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23935,#30441); -#30443=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30441); -#30444=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8876,#8875); -#30445=SHAPE_ASPECT('',$,#8875,.U.); -#30446=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13003,#30445); -#30447=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8875); -#30448=NAME_ATTRIBUTE('single instance',#8879); -#30449=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8879,*); -#30450=PROPERTY_DEFINITION('',$,#30449); -#30451=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23932,#30450); -#30452=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30450); -#30453=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8881,#8879); -#30454=SHAPE_ASPECT('',$,#8879,.U.); -#30455=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12286,#30454); -#30456=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8879); -#30457=NAME_ATTRIBUTE('single instance',#8880); -#30458=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8880,*); -#30459=PROPERTY_DEFINITION('',$,#30458); -#30460=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23932,#30459); -#30461=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30459); -#30462=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8881,#8880); -#30463=SHAPE_ASPECT('',$,#8880,.U.); -#30464=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13063,#30463); -#30465=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8880); -#30466=NAME_ATTRIBUTE('single instance',#8884); -#30467=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8884,*); -#30468=PROPERTY_DEFINITION('',$,#30467); -#30469=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23929,#30468); -#30470=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30468); -#30471=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8886,#8884); -#30472=SHAPE_ASPECT('',$,#8884,.U.); -#30473=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13120,#30472); -#30474=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8884); -#30475=NAME_ATTRIBUTE('single instance',#8885); -#30476=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8885,*); -#30477=PROPERTY_DEFINITION('',$,#30476); -#30478=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23929,#30477); -#30479=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30477); -#30480=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8886,#8885); -#30481=SHAPE_ASPECT('',$,#8885,.U.); -#30482=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13119,#30481); -#30483=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8885); -#30484=NAME_ATTRIBUTE('single instance',#8889); -#30485=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8889,*); -#30486=PROPERTY_DEFINITION('',$,#30485); -#30487=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23926,#30486); -#30488=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30486); -#30489=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8891,#8889); -#30490=SHAPE_ASPECT('',$,#8889,.U.); -#30491=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13019,#30490); -#30492=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8889); -#30493=NAME_ATTRIBUTE('single instance',#8890); -#30494=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8890,*); -#30495=PROPERTY_DEFINITION('',$,#30494); -#30496=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23926,#30495); -#30497=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30495); -#30498=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8891,#8890); -#30499=SHAPE_ASPECT('',$,#8890,.U.); -#30500=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13018,#30499); -#30501=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8890); -#30502=NAME_ATTRIBUTE('single instance',#8894); -#30503=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8894,*); -#30504=PROPERTY_DEFINITION('',$,#30503); -#30505=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23923,#30504); -#30506=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30504); -#30507=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8896,#8894); -#30508=SHAPE_ASPECT('',$,#8894,.U.); -#30509=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13049,#30508); -#30510=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8894); -#30511=NAME_ATTRIBUTE('single instance',#8895); -#30512=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8895,*); -#30513=PROPERTY_DEFINITION('',$,#30512); -#30514=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23923,#30513); -#30515=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30513); -#30516=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8896,#8895); -#30517=SHAPE_ASPECT('',$,#8895,.U.); -#30518=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13048,#30517); -#30519=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8895); -#30520=NAME_ATTRIBUTE('single instance',#8899); -#30521=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8899,*); -#30522=PROPERTY_DEFINITION('',$,#30521); -#30523=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23920,#30522); -#30524=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30522); -#30525=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8901,#8899); -#30526=SHAPE_ASPECT('',$,#8899,.U.); -#30527=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13002,#30526); -#30528=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8899); -#30529=NAME_ATTRIBUTE('single instance',#8900); -#30530=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8900,*); -#30531=PROPERTY_DEFINITION('',$,#30530); -#30532=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23920,#30531); -#30533=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30531); -#30534=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8901,#8900); -#30535=SHAPE_ASPECT('',$,#8900,.U.); -#30536=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#30535); -#30537=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8900); -#30538=NAME_ATTRIBUTE('single instance',#8904); -#30539=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3102,$,'',$,#8904,*); -#30540=PROPERTY_DEFINITION('',$,#30539); -#30541=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23917,#30540); -#30542=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#30540); -#30543=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8906,#8904); -#30544=SHAPE_ASPECT('',$,#8904,.U.); -#30545=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13111,#30544); -#30546=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#8904); -#30547=NAME_ATTRIBUTE('single instance',#8905); -#30548=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#3076,$,'',$,#8905,*); -#30549=PROPERTY_DEFINITION('',$,#30548); -#30550=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23917,#30549); -#30551=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#30549); -#30552=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8906,#8905); -#30553=SHAPE_ASPECT('',$,#8905,.U.); -#30554=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13110,#30553); -#30555=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#8905); -#30556=NAME_ATTRIBUTE('single instance',#8909); -#30557=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8909,*); -#30558=PROPERTY_DEFINITION('',$,#30557); -#30559=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23914,#30558); -#30560=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30558); -#30561=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8911,#8909); -#30562=SHAPE_ASPECT('',$,#8909,.U.); -#30563=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13182,#30562); -#30564=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8909); -#30565=NAME_ATTRIBUTE('single instance',#8910); -#30566=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8910,*); -#30567=PROPERTY_DEFINITION('',$,#30566); -#30568=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23914,#30567); -#30569=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30567); -#30570=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8911,#8910); -#30571=SHAPE_ASPECT('',$,#8910,.U.); -#30572=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13181,#30571); -#30573=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8910); -#30574=NAME_ATTRIBUTE('single instance',#8914); -#30575=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8914,*); -#30576=PROPERTY_DEFINITION('',$,#30575); -#30577=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23911,#30576); -#30578=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30576); -#30579=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8914); -#30580=SHAPE_ASPECT('',$,#8914,.U.); -#30581=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13095,#30580); -#30582=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8914); -#30583=NAME_ATTRIBUTE('single instance',#8915); -#30584=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8915,*); -#30585=PROPERTY_DEFINITION('',$,#30584); -#30586=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23911,#30585); -#30587=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30585); -#30588=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8915); -#30589=SHAPE_ASPECT('',$,#8915,.U.); -#30590=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#30589); -#30591=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8915); -#30592=NAME_ATTRIBUTE('single instance',#8919); -#30593=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8919,*); -#30594=PROPERTY_DEFINITION('',$,#30593); -#30595=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23908,#30594); -#30596=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30594); -#30597=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8921,#8919); -#30598=SHAPE_ASPECT('',$,#8919,.U.); -#30599=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13190,#30598); -#30600=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8919); -#30601=NAME_ATTRIBUTE('single instance',#8920); -#30602=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8920,*); -#30603=PROPERTY_DEFINITION('',$,#30602); -#30604=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23908,#30603); -#30605=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30603); -#30606=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8921,#8920); -#30607=SHAPE_ASPECT('',$,#8920,.U.); -#30608=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13189,#30607); -#30609=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8920); -#30610=NAME_ATTRIBUTE('single instance',#8924); -#30611=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8924,*); -#30612=PROPERTY_DEFINITION('',$,#30611); -#30613=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23905,#30612); -#30614=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30612); -#30615=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8926,#8924); -#30616=SHAPE_ASPECT('',$,#8924,.U.); -#30617=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12614,#30616); -#30618=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8924); -#30619=NAME_ATTRIBUTE('single instance',#8925); -#30620=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8925,*); -#30621=PROPERTY_DEFINITION('',$,#30620); -#30622=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23905,#30621); -#30623=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30621); -#30624=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8926,#8925); -#30625=SHAPE_ASPECT('',$,#8925,.U.); -#30626=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13039,#30625); -#30627=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8925); -#30628=NAME_ATTRIBUTE('single instance',#8929); -#30629=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8929,*); -#30630=PROPERTY_DEFINITION('',$,#30629); -#30631=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23902,#30630); -#30632=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30630); -#30633=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8931,#8929); -#30634=SHAPE_ASPECT('',$,#8929,.U.); -#30635=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12218,#30634); -#30636=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8929); -#30637=NAME_ATTRIBUTE('single instance',#8930); -#30638=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8930,*); -#30639=PROPERTY_DEFINITION('',$,#30638); -#30640=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23902,#30639); -#30641=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30639); -#30642=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8931,#8930); -#30643=SHAPE_ASPECT('',$,#8930,.U.); -#30644=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13137,#30643); -#30645=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8930); -#30646=NAME_ATTRIBUTE('single instance',#8934); -#30647=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8934,*); -#30648=PROPERTY_DEFINITION('',$,#30647); -#30649=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23899,#30648); -#30650=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30648); -#30651=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8936,#8934); -#30652=SHAPE_ASPECT('',$,#8934,.U.); -#30653=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13032,#30652); -#30654=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8934); -#30655=NAME_ATTRIBUTE('single instance',#8935); -#30656=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8935,*); -#30657=PROPERTY_DEFINITION('',$,#30656); -#30658=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23899,#30657); -#30659=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30657); -#30660=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8936,#8935); -#30661=SHAPE_ASPECT('',$,#8935,.U.); -#30662=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13031,#30661); -#30663=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8935); -#30664=NAME_ATTRIBUTE('single instance',#8939); -#30665=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8939,*); -#30666=PROPERTY_DEFINITION('',$,#30665); -#30667=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23896,#30666); -#30668=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30666); -#30669=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8941,#8939); -#30670=SHAPE_ASPECT('',$,#8939,.U.); -#30671=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13171,#30670); -#30672=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8939); -#30673=NAME_ATTRIBUTE('single instance',#8940); -#30674=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8940,*); -#30675=PROPERTY_DEFINITION('',$,#30674); -#30676=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23896,#30675); -#30677=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30675); -#30678=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8941,#8940); -#30679=SHAPE_ASPECT('',$,#8940,.U.); -#30680=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13170,#30679); -#30681=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8940); -#30682=NAME_ATTRIBUTE('single instance',#8944); -#30683=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8944,*); -#30684=PROPERTY_DEFINITION('',$,#30683); -#30685=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23893,#30684); -#30686=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30684); -#30687=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8946,#8944); -#30688=SHAPE_ASPECT('',$,#8944,.U.); -#30689=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13172,#30688); -#30690=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8944); -#30691=NAME_ATTRIBUTE('single instance',#8945); -#30692=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8945,*); -#30693=PROPERTY_DEFINITION('',$,#30692); -#30694=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23893,#30693); -#30695=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30693); -#30696=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8946,#8945); -#30697=SHAPE_ASPECT('',$,#8945,.U.); -#30698=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12847,#30697); -#30699=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8945); -#30700=NAME_ATTRIBUTE('single instance',#8949); -#30701=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8949,*); -#30702=PROPERTY_DEFINITION('',$,#30701); -#30703=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23890,#30702); -#30704=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30702); -#30705=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8951,#8949); -#30706=SHAPE_ASPECT('',$,#8949,.U.); -#30707=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13131,#30706); -#30708=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8949); -#30709=NAME_ATTRIBUTE('single instance',#8950); -#30710=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8950,*); -#30711=PROPERTY_DEFINITION('',$,#30710); -#30712=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23890,#30711); -#30713=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30711); -#30714=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8951,#8950); -#30715=SHAPE_ASPECT('',$,#8950,.U.); -#30716=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13130,#30715); -#30717=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8950); -#30718=NAME_ATTRIBUTE('single instance',#8954); -#30719=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8954,*); -#30720=PROPERTY_DEFINITION('',$,#30719); -#30721=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23887,#30720); -#30722=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30720); -#30723=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8956,#8954); -#30724=SHAPE_ASPECT('',$,#8954,.U.); -#30725=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10595,#30724); -#30726=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8954); -#30727=NAME_ATTRIBUTE('single instance',#8955); -#30728=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8955,*); -#30729=PROPERTY_DEFINITION('',$,#30728); -#30730=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23887,#30729); -#30731=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30729); -#30732=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8956,#8955); -#30733=SHAPE_ASPECT('',$,#8955,.U.); -#30734=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13021,#30733); -#30735=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8955); -#30736=NAME_ATTRIBUTE('single instance',#8959); -#30737=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8959,*); -#30738=PROPERTY_DEFINITION('',$,#30737); -#30739=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23884,#30738); -#30740=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30738); -#30741=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8961,#8959); -#30742=SHAPE_ASPECT('',$,#8959,.U.); -#30743=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10614,#30742); -#30744=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8959); -#30745=NAME_ATTRIBUTE('single instance',#8960); -#30746=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8960,*); -#30747=PROPERTY_DEFINITION('',$,#30746); -#30748=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23884,#30747); -#30749=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30747); -#30750=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8961,#8960); -#30751=SHAPE_ASPECT('',$,#8960,.U.); -#30752=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13047,#30751); -#30753=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8960); -#30754=NAME_ATTRIBUTE('single instance',#8964); -#30755=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8964,*); -#30756=PROPERTY_DEFINITION('',$,#30755); -#30757=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23881,#30756); -#30758=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30756); -#30759=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8966,#8964); -#30760=SHAPE_ASPECT('',$,#8964,.U.); -#30761=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13180,#30760); -#30762=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8964); -#30763=NAME_ATTRIBUTE('single instance',#8965); -#30764=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8965,*); -#30765=PROPERTY_DEFINITION('',$,#30764); -#30766=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23881,#30765); -#30767=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30765); -#30768=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8966,#8965); -#30769=SHAPE_ASPECT('',$,#8965,.U.); -#30770=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13179,#30769); -#30771=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8965); -#30772=NAME_ATTRIBUTE('single instance',#8969); -#30773=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8969,*); -#30774=PROPERTY_DEFINITION('',$,#30773); -#30775=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23878,#30774); -#30776=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30774); -#30777=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8971,#8969); -#30778=SHAPE_ASPECT('',$,#8969,.U.); -#30779=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13105,#30778); -#30780=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8969); -#30781=NAME_ATTRIBUTE('single instance',#8970); -#30782=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8970,*); -#30783=PROPERTY_DEFINITION('',$,#30782); -#30784=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23878,#30783); -#30785=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30783); -#30786=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8971,#8970); -#30787=SHAPE_ASPECT('',$,#8970,.U.); -#30788=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13104,#30787); -#30789=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8970); -#30790=NAME_ATTRIBUTE('single instance',#8974); -#30791=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8974,*); -#30792=PROPERTY_DEFINITION('',$,#30791); -#30793=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23875,#30792); -#30794=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30792); -#30795=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8976,#8974); -#30796=SHAPE_ASPECT('',$,#8974,.U.); -#30797=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13122,#30796); -#30798=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8974); -#30799=NAME_ATTRIBUTE('single instance',#8975); -#30800=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8975,*); -#30801=PROPERTY_DEFINITION('',$,#30800); -#30802=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23875,#30801); -#30803=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30801); -#30804=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8976,#8975); -#30805=SHAPE_ASPECT('',$,#8975,.U.); -#30806=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13121,#30805); -#30807=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8975); -#30808=NAME_ATTRIBUTE('single instance',#8979); -#30809=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8979,*); -#30810=PROPERTY_DEFINITION('',$,#30809); -#30811=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23872,#30810); -#30812=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30810); -#30813=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8981,#8979); -#30814=SHAPE_ASPECT('',$,#8979,.U.); -#30815=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13109,#30814); -#30816=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8979); -#30817=NAME_ATTRIBUTE('single instance',#8980); -#30818=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8980,*); -#30819=PROPERTY_DEFINITION('',$,#30818); -#30820=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23872,#30819); -#30821=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30819); -#30822=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8981,#8980); -#30823=SHAPE_ASPECT('',$,#8980,.U.); -#30824=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13108,#30823); -#30825=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8980); -#30826=NAME_ATTRIBUTE('single instance',#8984); -#30827=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8984,*); -#30828=PROPERTY_DEFINITION('',$,#30827); -#30829=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23869,#30828); -#30830=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30828); -#30831=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8986,#8984); -#30832=SHAPE_ASPECT('',$,#8984,.U.); -#30833=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13099,#30832); -#30834=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8984); -#30835=NAME_ATTRIBUTE('single instance',#8985); -#30836=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8985,*); -#30837=PROPERTY_DEFINITION('',$,#30836); -#30838=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23869,#30837); -#30839=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30837); -#30840=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8986,#8985); -#30841=SHAPE_ASPECT('',$,#8985,.U.); -#30842=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13098,#30841); -#30843=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8985); -#30844=NAME_ATTRIBUTE('single instance',#8989); -#30845=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8989,*); -#30846=PROPERTY_DEFINITION('',$,#30845); -#30847=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23866,#30846); -#30848=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30846); -#30849=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8991,#8989); -#30850=SHAPE_ASPECT('',$,#8989,.U.); -#30851=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13028,#30850); -#30852=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8989); -#30853=NAME_ATTRIBUTE('single instance',#8990); -#30854=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8990,*); -#30855=PROPERTY_DEFINITION('',$,#30854); -#30856=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23866,#30855); -#30857=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30855); -#30858=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8991,#8990); -#30859=SHAPE_ASPECT('',$,#8990,.U.); -#30860=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13027,#30859); -#30861=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8990); -#30862=NAME_ATTRIBUTE('single instance',#8994); -#30863=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8994,*); -#30864=PROPERTY_DEFINITION('',$,#30863); -#30865=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23863,#30864); -#30866=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30864); -#30867=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8996,#8994); -#30868=SHAPE_ASPECT('',$,#8994,.U.); -#30869=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13124,#30868); -#30870=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8994); -#30871=NAME_ATTRIBUTE('single instance',#8995); -#30872=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#8995,*); -#30873=PROPERTY_DEFINITION('',$,#30872); -#30874=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23863,#30873); -#30875=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30873); -#30876=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8996,#8995); -#30877=SHAPE_ASPECT('',$,#8995,.U.); -#30878=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13123,#30877); -#30879=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#8995); -#30880=NAME_ATTRIBUTE('single instance',#8999); -#30881=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#8999,*); -#30882=PROPERTY_DEFINITION('',$,#30881); -#30883=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23860,#30882); -#30884=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30882); -#30885=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9001,#8999); -#30886=SHAPE_ASPECT('',$,#8999,.U.); -#30887=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13014,#30886); -#30888=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#8999); -#30889=NAME_ATTRIBUTE('single instance',#9000); -#30890=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9000,*); -#30891=PROPERTY_DEFINITION('',$,#30890); -#30892=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23860,#30891); -#30893=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30891); -#30894=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9001,#9000); -#30895=SHAPE_ASPECT('',$,#9000,.U.); -#30896=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13013,#30895); -#30897=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9000); -#30898=NAME_ATTRIBUTE('single instance',#9004); -#30899=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9004,*); -#30900=PROPERTY_DEFINITION('',$,#30899); -#30901=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23857,#30900); -#30902=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30900); -#30903=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9006,#9004); -#30904=SHAPE_ASPECT('',$,#9004,.U.); -#30905=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13026,#30904); -#30906=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9004); -#30907=NAME_ATTRIBUTE('single instance',#9005); -#30908=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9005,*); -#30909=PROPERTY_DEFINITION('',$,#30908); -#30910=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23857,#30909); -#30911=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30909); -#30912=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9006,#9005); -#30913=SHAPE_ASPECT('',$,#9005,.U.); -#30914=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#30913); -#30915=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9005); -#30916=NAME_ATTRIBUTE('single instance',#9009); -#30917=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9009,*); -#30918=PROPERTY_DEFINITION('',$,#30917); -#30919=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23854,#30918); -#30920=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30918); -#30921=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9011,#9009); -#30922=SHAPE_ASPECT('',$,#9009,.U.); -#30923=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13174,#30922); -#30924=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9009); -#30925=NAME_ATTRIBUTE('single instance',#9010); -#30926=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9010,*); -#30927=PROPERTY_DEFINITION('',$,#30926); -#30928=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23854,#30927); -#30929=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30927); -#30930=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9011,#9010); -#30931=SHAPE_ASPECT('',$,#9010,.U.); -#30932=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13173,#30931); -#30933=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9010); -#30934=NAME_ATTRIBUTE('single instance',#9014); -#30935=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9014,*); -#30936=PROPERTY_DEFINITION('',$,#30935); -#30937=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23851,#30936); -#30938=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30936); -#30939=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9016,#9014); -#30940=SHAPE_ASPECT('',$,#9014,.U.); -#30941=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13149,#30940); -#30942=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9014); -#30943=NAME_ATTRIBUTE('single instance',#9015); -#30944=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9015,*); -#30945=PROPERTY_DEFINITION('',$,#30944); -#30946=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23851,#30945); -#30947=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30945); -#30948=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9016,#9015); -#30949=SHAPE_ASPECT('',$,#9015,.U.); -#30950=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13148,#30949); -#30951=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9015); -#30952=NAME_ATTRIBUTE('single instance',#9019); -#30953=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9019,*); -#30954=PROPERTY_DEFINITION('',$,#30953); -#30955=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23848,#30954); -#30956=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30954); -#30957=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9021,#9019); -#30958=SHAPE_ASPECT('',$,#9019,.U.); -#30959=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13088,#30958); -#30960=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9019); -#30961=NAME_ATTRIBUTE('single instance',#9020); -#30962=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9020,*); -#30963=PROPERTY_DEFINITION('',$,#30962); -#30964=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23848,#30963); -#30965=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30963); -#30966=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9021,#9020); -#30967=SHAPE_ASPECT('',$,#9020,.U.); -#30968=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13087,#30967); -#30969=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9020); -#30970=NAME_ATTRIBUTE('single instance',#9024); -#30971=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9024,*); -#30972=PROPERTY_DEFINITION('',$,#30971); -#30973=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23845,#30972); -#30974=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30972); -#30975=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9026,#9024); -#30976=SHAPE_ASPECT('',$,#9024,.U.); -#30977=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13078,#30976); -#30978=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9024); -#30979=NAME_ATTRIBUTE('single instance',#9025); -#30980=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9025,*); -#30981=PROPERTY_DEFINITION('',$,#30980); -#30982=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23845,#30981); -#30983=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30981); -#30984=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9026,#9025); -#30985=SHAPE_ASPECT('',$,#9025,.U.); -#30986=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13077,#30985); -#30987=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9025); -#30988=NAME_ATTRIBUTE('single instance',#9029); -#30989=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9029,*); -#30990=PROPERTY_DEFINITION('',$,#30989); -#30991=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23842,#30990); -#30992=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#30990); -#30993=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9031,#9029); -#30994=SHAPE_ASPECT('',$,#9029,.U.); -#30995=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13164,#30994); -#30996=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9029); -#30997=NAME_ATTRIBUTE('single instance',#9030); -#30998=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9030,*); -#30999=PROPERTY_DEFINITION('',$,#30998); -#31000=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23842,#30999); -#31001=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#30999); -#31002=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9031,#9030); -#31003=SHAPE_ASPECT('',$,#9030,.U.); -#31004=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13163,#31003); -#31005=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9030); -#31006=NAME_ATTRIBUTE('single instance',#9034); -#31007=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9034,*); -#31008=PROPERTY_DEFINITION('',$,#31007); -#31009=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23839,#31008); -#31010=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31008); -#31011=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9036,#9034); -#31012=SHAPE_ASPECT('',$,#9034,.U.); -#31013=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13107,#31012); -#31014=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9034); -#31015=NAME_ATTRIBUTE('single instance',#9035); -#31016=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9035,*); -#31017=PROPERTY_DEFINITION('',$,#31016); -#31018=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23839,#31017); -#31019=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31017); -#31020=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9036,#9035); -#31021=SHAPE_ASPECT('',$,#9035,.U.); -#31022=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13106,#31021); -#31023=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9035); -#31024=NAME_ATTRIBUTE('single instance',#9039); -#31025=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9039,*); -#31026=PROPERTY_DEFINITION('',$,#31025); -#31027=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23836,#31026); -#31028=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31026); -#31029=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9041,#9039); -#31030=SHAPE_ASPECT('',$,#9039,.U.); -#31031=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13025,#31030); -#31032=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9039); -#31033=NAME_ATTRIBUTE('single instance',#9040); -#31034=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9040,*); -#31035=PROPERTY_DEFINITION('',$,#31034); -#31036=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23836,#31035); -#31037=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31035); -#31038=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9041,#9040); -#31039=SHAPE_ASPECT('',$,#9040,.U.); -#31040=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13024,#31039); -#31041=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9040); -#31042=NAME_ATTRIBUTE('single instance',#9044); -#31043=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9044,*); -#31044=PROPERTY_DEFINITION('',$,#31043); -#31045=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23833,#31044); -#31046=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31044); -#31047=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9046,#9044); -#31048=SHAPE_ASPECT('',$,#9044,.U.); -#31049=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13157,#31048); -#31050=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9044); -#31051=NAME_ATTRIBUTE('single instance',#9045); -#31052=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9045,*); -#31053=PROPERTY_DEFINITION('',$,#31052); -#31054=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23833,#31053); -#31055=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31053); -#31056=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9046,#9045); -#31057=SHAPE_ASPECT('',$,#9045,.U.); -#31058=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13156,#31057); -#31059=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9045); -#31060=NAME_ATTRIBUTE('single instance',#9049); -#31061=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9049,*); -#31062=PROPERTY_DEFINITION('',$,#31061); -#31063=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23830,#31062); -#31064=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31062); -#31065=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9051,#9049); -#31066=SHAPE_ASPECT('',$,#9049,.U.); -#31067=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13097,#31066); -#31068=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9049); -#31069=NAME_ATTRIBUTE('single instance',#9050); -#31070=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9050,*); -#31071=PROPERTY_DEFINITION('',$,#31070); -#31072=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23830,#31071); -#31073=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31071); -#31074=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9051,#9050); -#31075=SHAPE_ASPECT('',$,#9050,.U.); -#31076=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13096,#31075); -#31077=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9050); -#31078=NAME_ATTRIBUTE('single instance',#9054); -#31079=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9054,*); -#31080=PROPERTY_DEFINITION('',$,#31079); -#31081=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23827,#31080); -#31082=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31080); -#31083=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9056,#9054); -#31084=SHAPE_ASPECT('',$,#9054,.U.); -#31085=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13140,#31084); -#31086=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9054); -#31087=NAME_ATTRIBUTE('single instance',#9055); -#31088=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9055,*); -#31089=PROPERTY_DEFINITION('',$,#31088); -#31090=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23827,#31089); -#31091=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31089); -#31092=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9056,#9055); -#31093=SHAPE_ASPECT('',$,#9055,.U.); -#31094=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13139,#31093); -#31095=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9055); -#31096=NAME_ATTRIBUTE('single instance',#9059); -#31097=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9059,*); -#31098=PROPERTY_DEFINITION('',$,#31097); -#31099=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23824,#31098); -#31100=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31098); -#31101=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9061,#9059); -#31102=SHAPE_ASPECT('',$,#9059,.U.); -#31103=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13144,#31102); -#31104=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9059); -#31105=NAME_ATTRIBUTE('single instance',#9060); -#31106=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9060,*); -#31107=PROPERTY_DEFINITION('',$,#31106); -#31108=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23824,#31107); -#31109=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31107); -#31110=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9061,#9060); -#31111=SHAPE_ASPECT('',$,#9060,.U.); -#31112=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13143,#31111); -#31113=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9060); -#31114=NAME_ATTRIBUTE('single instance',#9064); -#31115=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9064,*); -#31116=PROPERTY_DEFINITION('',$,#31115); -#31117=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23821,#31116); -#31118=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31116); -#31119=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9066,#9064); -#31120=SHAPE_ASPECT('',$,#9064,.U.); -#31121=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13115,#31120); -#31122=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9064); -#31123=NAME_ATTRIBUTE('single instance',#9065); -#31124=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9065,*); -#31125=PROPERTY_DEFINITION('',$,#31124); -#31126=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23821,#31125); -#31127=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31125); -#31128=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9066,#9065); -#31129=SHAPE_ASPECT('',$,#9065,.U.); -#31130=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13114,#31129); -#31131=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9065); -#31132=NAME_ATTRIBUTE('single instance',#9069); -#31133=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9069,*); -#31134=PROPERTY_DEFINITION('',$,#31133); -#31135=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23818,#31134); -#31136=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31134); -#31137=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9071,#9069); -#31138=SHAPE_ASPECT('',$,#9069,.U.); -#31139=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13159,#31138); -#31140=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9069); -#31141=NAME_ATTRIBUTE('single instance',#9070); -#31142=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9070,*); -#31143=PROPERTY_DEFINITION('',$,#31142); -#31144=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23818,#31143); -#31145=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31143); -#31146=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9071,#9070); -#31147=SHAPE_ASPECT('',$,#9070,.U.); -#31148=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13158,#31147); -#31149=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9070); -#31150=NAME_ATTRIBUTE('single instance',#9074); -#31151=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9074,*); -#31152=PROPERTY_DEFINITION('',$,#31151); -#31153=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23815,#31152); -#31154=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31152); -#31155=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9076,#9074); -#31156=SHAPE_ASPECT('',$,#9074,.U.); -#31157=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13060,#31156); -#31158=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9074); -#31159=NAME_ATTRIBUTE('single instance',#9075); -#31160=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9075,*); -#31161=PROPERTY_DEFINITION('',$,#31160); -#31162=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23815,#31161); -#31163=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31161); -#31164=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9076,#9075); -#31165=SHAPE_ASPECT('',$,#9075,.U.); -#31166=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13059,#31165); -#31167=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9075); -#31168=NAME_ATTRIBUTE('single instance',#9079); -#31169=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9079,*); -#31170=PROPERTY_DEFINITION('',$,#31169); -#31171=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23812,#31170); -#31172=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31170); -#31173=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9081,#9079); -#31174=SHAPE_ASPECT('',$,#9079,.U.); -#31175=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13092,#31174); -#31176=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9079); -#31177=NAME_ATTRIBUTE('single instance',#9080); -#31178=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9080,*); -#31179=PROPERTY_DEFINITION('',$,#31178); -#31180=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23812,#31179); -#31181=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31179); -#31182=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9081,#9080); -#31183=SHAPE_ASPECT('',$,#9080,.U.); -#31184=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13091,#31183); -#31185=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9080); -#31186=NAME_ATTRIBUTE('single instance',#9084); -#31187=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9084,*); -#31188=PROPERTY_DEFINITION('',$,#31187); -#31189=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23809,#31188); -#31190=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31188); -#31191=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9086,#9084); -#31192=SHAPE_ASPECT('',$,#9084,.U.); -#31193=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13166,#31192); -#31194=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9084); -#31195=NAME_ATTRIBUTE('single instance',#9085); -#31196=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9085,*); -#31197=PROPERTY_DEFINITION('',$,#31196); -#31198=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23809,#31197); -#31199=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31197); -#31200=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9086,#9085); -#31201=SHAPE_ASPECT('',$,#9085,.U.); -#31202=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13165,#31201); -#31203=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9085); -#31204=NAME_ATTRIBUTE('single instance',#9089); -#31205=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9089,*); -#31206=PROPERTY_DEFINITION('',$,#31205); -#31207=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23806,#31206); -#31208=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31206); -#31209=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9091,#9089); -#31210=SHAPE_ASPECT('',$,#9089,.U.); -#31211=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13056,#31210); -#31212=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9089); -#31213=NAME_ATTRIBUTE('single instance',#9090); -#31214=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9090,*); -#31215=PROPERTY_DEFINITION('',$,#31214); -#31216=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23806,#31215); -#31217=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31215); -#31218=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9091,#9090); -#31219=SHAPE_ASPECT('',$,#9090,.U.); -#31220=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#31219); -#31221=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9090); -#31222=NAME_ATTRIBUTE('single instance',#9094); -#31223=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9094,*); -#31224=PROPERTY_DEFINITION('',$,#31223); -#31225=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23803,#31224); -#31226=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31224); -#31227=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9096,#9094); -#31228=SHAPE_ASPECT('',$,#9094,.U.); -#31229=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13186,#31228); -#31230=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9094); -#31231=NAME_ATTRIBUTE('single instance',#9095); -#31232=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9095,*); -#31233=PROPERTY_DEFINITION('',$,#31232); -#31234=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23803,#31233); -#31235=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31233); -#31236=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9096,#9095); -#31237=SHAPE_ASPECT('',$,#9095,.U.); -#31238=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13185,#31237); -#31239=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9095); -#31240=NAME_ATTRIBUTE('single instance',#9099); -#31241=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9099,*); -#31242=PROPERTY_DEFINITION('',$,#31241); -#31243=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23800,#31242); -#31244=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31242); -#31245=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9101,#9099); -#31246=SHAPE_ASPECT('',$,#9099,.U.); -#31247=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13196,#31246); -#31248=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9099); -#31249=NAME_ATTRIBUTE('single instance',#9100); -#31250=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9100,*); -#31251=PROPERTY_DEFINITION('',$,#31250); -#31252=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23800,#31251); -#31253=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31251); -#31254=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9101,#9100); -#31255=SHAPE_ASPECT('',$,#9100,.U.); -#31256=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13195,#31255); -#31257=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9100); -#31258=NAME_ATTRIBUTE('single instance',#9104); -#31259=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9104,*); -#31260=PROPERTY_DEFINITION('',$,#31259); -#31261=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23797,#31260); -#31262=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31260); -#31263=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9106,#9104); -#31264=SHAPE_ASPECT('',$,#9104,.U.); -#31265=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13010,#31264); -#31266=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9104); -#31267=NAME_ATTRIBUTE('single instance',#9105); -#31268=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9105,*); -#31269=PROPERTY_DEFINITION('',$,#31268); -#31270=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23797,#31269); -#31271=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31269); -#31272=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9106,#9105); -#31273=SHAPE_ASPECT('',$,#9105,.U.); -#31274=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12687,#31273); -#31275=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9105); -#31276=NAME_ATTRIBUTE('single instance',#9109); -#31277=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9109,*); -#31278=PROPERTY_DEFINITION('',$,#31277); -#31279=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23794,#31278); -#31280=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31278); -#31281=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9111,#9109); -#31282=SHAPE_ASPECT('',$,#9109,.U.); -#31283=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13147,#31282); -#31284=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9109); -#31285=NAME_ATTRIBUTE('single instance',#9110); -#31286=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9110,*); -#31287=PROPERTY_DEFINITION('',$,#31286); -#31288=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23794,#31287); -#31289=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31287); -#31290=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9111,#9110); -#31291=SHAPE_ASPECT('',$,#9110,.U.); -#31292=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#31291); -#31293=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9110); -#31294=NAME_ATTRIBUTE('single instance',#9114); -#31295=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9114,*); -#31296=PROPERTY_DEFINITION('',$,#31295); -#31297=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23791,#31296); -#31298=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31296); -#31299=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9116,#9114); -#31300=SHAPE_ASPECT('',$,#9114,.U.); -#31301=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10727,#31300); -#31302=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9114); -#31303=NAME_ATTRIBUTE('single instance',#9115); -#31304=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9115,*); -#31305=PROPERTY_DEFINITION('',$,#31304); -#31306=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23791,#31305); -#31307=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31305); -#31308=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9116,#9115); -#31309=SHAPE_ASPECT('',$,#9115,.U.); -#31310=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13020,#31309); -#31311=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9115); -#31312=NAME_ATTRIBUTE('single instance',#9119); -#31313=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9119,*); -#31314=PROPERTY_DEFINITION('',$,#31313); -#31315=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23788,#31314); -#31316=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31314); -#31317=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9121,#9119); -#31318=SHAPE_ASPECT('',$,#9119,.U.); -#31319=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13090,#31318); -#31320=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9119); -#31321=NAME_ATTRIBUTE('single instance',#9120); -#31322=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9120,*); -#31323=PROPERTY_DEFINITION('',$,#31322); -#31324=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23788,#31323); -#31325=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31323); -#31326=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9121,#9120); -#31327=SHAPE_ASPECT('',$,#9120,.U.); -#31328=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13089,#31327); -#31329=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9120); -#31330=NAME_ATTRIBUTE('single instance',#9124); -#31331=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9124,*); -#31332=PROPERTY_DEFINITION('',$,#31331); -#31333=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23785,#31332); -#31334=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31332); -#31335=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9126,#9124); -#31336=SHAPE_ASPECT('',$,#9124,.U.); -#31337=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13009,#31336); -#31338=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9124); -#31339=NAME_ATTRIBUTE('single instance',#9125); -#31340=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9125,*); -#31341=PROPERTY_DEFINITION('',$,#31340); -#31342=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23785,#31341); -#31343=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31341); -#31344=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9126,#9125); -#31345=SHAPE_ASPECT('',$,#9125,.U.); -#31346=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10826,#31345); -#31347=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9125); -#31348=NAME_ATTRIBUTE('single instance',#9129); -#31349=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9129,*); -#31350=PROPERTY_DEFINITION('',$,#31349); -#31351=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23782,#31350); -#31352=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31350); -#31353=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9131,#9129); -#31354=SHAPE_ASPECT('',$,#9129,.U.); -#31355=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13023,#31354); -#31356=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9129); -#31357=NAME_ATTRIBUTE('single instance',#9130); -#31358=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9130,*); -#31359=PROPERTY_DEFINITION('',$,#31358); -#31360=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23782,#31359); -#31361=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31359); -#31362=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9131,#9130); -#31363=SHAPE_ASPECT('',$,#9130,.U.); -#31364=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13022,#31363); -#31365=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9130); -#31366=NAME_ATTRIBUTE('single instance',#9134); -#31367=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9134,*); -#31368=PROPERTY_DEFINITION('',$,#31367); -#31369=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23779,#31368); -#31370=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31368); -#31371=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9136,#9134); -#31372=SHAPE_ASPECT('',$,#9134,.U.); -#31373=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13103,#31372); -#31374=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9134); -#31375=NAME_ATTRIBUTE('single instance',#9135); -#31376=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9135,*); -#31377=PROPERTY_DEFINITION('',$,#31376); -#31378=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23779,#31377); -#31379=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31377); -#31380=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9136,#9135); -#31381=SHAPE_ASPECT('',$,#9135,.U.); -#31382=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13102,#31381); -#31383=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9135); -#31384=NAME_ATTRIBUTE('single instance',#9139); -#31385=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9139,*); -#31386=PROPERTY_DEFINITION('',$,#31385); -#31387=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23776,#31386); -#31388=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31386); -#31389=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9141,#9139); -#31390=SHAPE_ASPECT('',$,#9139,.U.); -#31391=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13135,#31390); -#31392=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9139); -#31393=NAME_ATTRIBUTE('single instance',#9140); -#31394=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9140,*); -#31395=PROPERTY_DEFINITION('',$,#31394); -#31396=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23776,#31395); -#31397=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31395); -#31398=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9141,#9140); -#31399=SHAPE_ASPECT('',$,#9140,.U.); -#31400=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13134,#31399); -#31401=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9140); -#31402=NAME_ATTRIBUTE('single instance',#9144); -#31403=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9144,*); -#31404=PROPERTY_DEFINITION('',$,#31403); -#31405=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23773,#31404); -#31406=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31404); -#31407=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9146,#9144); -#31408=SHAPE_ASPECT('',$,#9144,.U.); -#31409=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13192,#31408); -#31410=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9144); -#31411=NAME_ATTRIBUTE('single instance',#9145); -#31412=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9145,*); -#31413=PROPERTY_DEFINITION('',$,#31412); -#31414=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23773,#31413); -#31415=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31413); -#31416=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9146,#9145); -#31417=SHAPE_ASPECT('',$,#9145,.U.); -#31418=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13191,#31417); -#31419=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9145); -#31420=NAME_ATTRIBUTE('single instance',#9149); -#31421=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9149,*); -#31422=PROPERTY_DEFINITION('',$,#31421); -#31423=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23770,#31422); -#31424=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31422); -#31425=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9151,#9149); -#31426=SHAPE_ASPECT('',$,#9149,.U.); -#31427=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13184,#31426); -#31428=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9149); -#31429=NAME_ATTRIBUTE('single instance',#9150); -#31430=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9150,*); -#31431=PROPERTY_DEFINITION('',$,#31430); -#31432=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23770,#31431); -#31433=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31431); -#31434=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9151,#9150); -#31435=SHAPE_ASPECT('',$,#9150,.U.); -#31436=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13183,#31435); -#31437=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9150); -#31438=NAME_ATTRIBUTE('single instance',#9154); -#31439=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9154,*); -#31440=PROPERTY_DEFINITION('',$,#31439); -#31441=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23767,#31440); -#31442=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31440); -#31443=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9156,#9154); -#31444=SHAPE_ASPECT('',$,#9154,.U.); -#31445=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13176,#31444); -#31446=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9154); -#31447=NAME_ATTRIBUTE('single instance',#9155); -#31448=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9155,*); -#31449=PROPERTY_DEFINITION('',$,#31448); -#31450=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23767,#31449); -#31451=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31449); -#31452=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9156,#9155); -#31453=SHAPE_ASPECT('',$,#9155,.U.); -#31454=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13175,#31453); -#31455=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9155); -#31456=NAME_ATTRIBUTE('single instance',#9159); -#31457=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9159,*); -#31458=PROPERTY_DEFINITION('',$,#31457); -#31459=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23764,#31458); -#31460=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31458); -#31461=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9161,#9159); -#31462=SHAPE_ASPECT('',$,#9159,.U.); -#31463=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11843,#31462); -#31464=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9159); -#31465=NAME_ATTRIBUTE('single instance',#9160); -#31466=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9160,*); -#31467=PROPERTY_DEFINITION('',$,#31466); -#31468=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23764,#31467); -#31469=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31467); -#31470=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9161,#9160); -#31471=SHAPE_ASPECT('',$,#9160,.U.); -#31472=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13136,#31471); -#31473=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9160); -#31474=NAME_ATTRIBUTE('single instance',#9164); -#31475=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9164,*); -#31476=PROPERTY_DEFINITION('',$,#31475); -#31477=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23761,#31476); -#31478=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31476); -#31479=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9166,#9164); -#31480=SHAPE_ASPECT('',$,#9164,.U.); -#31481=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13030,#31480); -#31482=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9164); -#31483=NAME_ATTRIBUTE('single instance',#9165); -#31484=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9165,*); -#31485=PROPERTY_DEFINITION('',$,#31484); -#31486=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23761,#31485); -#31487=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31485); -#31488=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9166,#9165); -#31489=SHAPE_ASPECT('',$,#9165,.U.); -#31490=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13029,#31489); -#31491=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9165); -#31492=NAME_ATTRIBUTE('single instance',#9169); -#31493=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9169,*); -#31494=PROPERTY_DEFINITION('',$,#31493); -#31495=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23758,#31494); -#31496=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31494); -#31497=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9171,#9169); -#31498=SHAPE_ASPECT('',$,#9169,.U.); -#31499=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13151,#31498); -#31500=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9169); -#31501=NAME_ATTRIBUTE('single instance',#9170); -#31502=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9170,*); -#31503=PROPERTY_DEFINITION('',$,#31502); -#31504=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23758,#31503); -#31505=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31503); -#31506=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9171,#9170); -#31507=SHAPE_ASPECT('',$,#9170,.U.); -#31508=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13150,#31507); -#31509=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9170); -#31510=NAME_ATTRIBUTE('single instance',#9174); -#31511=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9174,*); -#31512=PROPERTY_DEFINITION('',$,#31511); -#31513=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23755,#31512); -#31514=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31512); -#31515=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9176,#9174); -#31516=SHAPE_ASPECT('',$,#9174,.U.); -#31517=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13070,#31516); -#31518=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9174); -#31519=NAME_ATTRIBUTE('single instance',#9175); -#31520=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9175,*); -#31521=PROPERTY_DEFINITION('',$,#31520); -#31522=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23755,#31521); -#31523=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31521); -#31524=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9176,#9175); -#31525=SHAPE_ASPECT('',$,#9175,.U.); -#31526=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13069,#31525); -#31527=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9175); -#31528=NAME_ATTRIBUTE('single instance',#9179); -#31529=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9179,*); -#31530=PROPERTY_DEFINITION('',$,#31529); -#31531=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23752,#31530); -#31532=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31530); -#31533=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9181,#9179); -#31534=SHAPE_ASPECT('',$,#9179,.U.); -#31535=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13138,#31534); -#31536=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9179); -#31537=NAME_ATTRIBUTE('single instance',#9180); -#31538=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9180,*); -#31539=PROPERTY_DEFINITION('',$,#31538); -#31540=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23752,#31539); -#31541=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31539); -#31542=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9181,#9180); -#31543=SHAPE_ASPECT('',$,#9180,.U.); -#31544=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#31543); -#31545=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9180); -#31546=NAME_ATTRIBUTE('single instance',#9184); -#31547=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2786,$,'',$,#9184,*); -#31548=PROPERTY_DEFINITION('',$,#31547); -#31549=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23749,#31548); -#31550=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31548); -#31551=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9186,#9184); -#31552=SHAPE_ASPECT('',$,#9184,.U.); -#31553=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13188,#31552); -#31554=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#9184); -#31555=NAME_ATTRIBUTE('single instance',#9185); -#31556=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#2760,$,'',$,#9185,*); -#31557=PROPERTY_DEFINITION('',$,#31556); -#31558=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23749,#31557); -#31559=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31557); -#31560=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9186,#9185); -#31561=SHAPE_ASPECT('',$,#9185,.U.); -#31562=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13187,#31561); -#31563=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#9185); -#31564=NAME_ATTRIBUTE('single instance',#10092); -#31565=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10088,#2786,$,'',$,#10092,*); -#31566=PROPERTY_DEFINITION('',$,#31565); -#31567=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23697,#31566); -#31568=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31566); -#31569=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10094,#10092); -#31570=SHAPE_ASPECT('',$,#10092,.U.); -#31571=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#31570); -#31572=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#10092); -#31573=NAME_ATTRIBUTE('single instance',#10093); -#31574=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10088,#2760,$,'',$,#10093,*); -#31575=PROPERTY_DEFINITION('',$,#31574); -#31576=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23697,#31575); -#31577=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31575); -#31578=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10094,#10093); -#31579=SHAPE_ASPECT('',$,#10093,.U.); -#31580=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13198,#31579); -#31581=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#10093); -#31582=NAME_ATTRIBUTE('single instance',#10097); -#31583=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10088,#2786,$,'',$,#10097,*); -#31584=PROPERTY_DEFINITION('',$,#31583); -#31585=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23694,#31584); -#31586=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31584); -#31587=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10099,#10097); -#31588=SHAPE_ASPECT('',$,#10097,.U.); -#31589=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#31588); -#31590=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#10097); -#31591=NAME_ATTRIBUTE('single instance',#10098); -#31592=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10088,#2760,$,'',$,#10098,*); -#31593=PROPERTY_DEFINITION('',$,#31592); -#31594=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23694,#31593); -#31595=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31593); -#31596=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10099,#10098); -#31597=SHAPE_ASPECT('',$,#10098,.U.); -#31598=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13197,#31597); -#31599=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#10098); -#31600=NAME_ATTRIBUTE('single instance',#10122); -#31601=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10118,#2628,$,'',$,#10122,*); -#31602=PROPERTY_DEFINITION('',$,#31601); -#31603=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#31602); -#31604=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#31602); -#31605=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10124,#10122); -#31606=SHAPE_ASPECT('',$,#10122,.U.); -#31607=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10925,#31606); -#31608=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10122); -#31609=NAME_ATTRIBUTE('single instance',#10123); -#31610=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10118,#2602,$,'',$,#10123,*); -#31611=PROPERTY_DEFINITION('',$,#31610); -#31612=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#31611); -#31613=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#31611); -#31614=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10124,#10123); -#31615=SHAPE_ASPECT('',$,#10123,.U.); -#31616=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13199,#31615); -#31617=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10123); -#31618=NAME_ATTRIBUTE('single instance',#10127); -#31619=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10118,#2628,$,'',$,#10127,*); -#31620=PROPERTY_DEFINITION('',$,#31619); -#31621=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#31620); -#31622=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#31620); -#31623=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10129,#10127); -#31624=SHAPE_ASPECT('',$,#10127,.U.); -#31625=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#31624); -#31626=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10127); -#31627=NAME_ATTRIBUTE('single instance',#10128); -#31628=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10118,#2602,$,'',$,#10128,*); -#31629=PROPERTY_DEFINITION('',$,#31628); -#31630=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#31629); -#31631=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#31629); -#31632=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10129,#10128); -#31633=SHAPE_ASPECT('',$,#10128,.U.); -#31634=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10826,#31633); -#31635=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10128); -#31636=NAME_ATTRIBUTE('single instance',#10152); -#31637=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10148,#2628,$,'',$,#10152,*); -#31638=PROPERTY_DEFINITION('',$,#31637); -#31639=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#31638); -#31640=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#31638); -#31641=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10154,#10152); -#31642=SHAPE_ASPECT('',$,#10152,.U.); -#31643=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12064,#31642); -#31644=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10152); -#31645=NAME_ATTRIBUTE('single instance',#10153); -#31646=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10148,#2602,$,'',$,#10153,*); -#31647=PROPERTY_DEFINITION('',$,#31646); -#31648=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#31647); -#31649=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#31647); -#31650=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10154,#10153); -#31651=SHAPE_ASPECT('',$,#10153,.U.); -#31652=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13201,#31651); -#31653=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10153); -#31654=NAME_ATTRIBUTE('single instance',#10157); -#31655=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10148,#2628,$,'',$,#10157,*); -#31656=PROPERTY_DEFINITION('',$,#31655); -#31657=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#31656); -#31658=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#31656); -#31659=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10159,#10157); -#31660=SHAPE_ASPECT('',$,#10157,.U.); -#31661=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12103,#31660); -#31662=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10157); -#31663=NAME_ATTRIBUTE('single instance',#10158); -#31664=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10148,#2602,$,'',$,#10158,*); -#31665=PROPERTY_DEFINITION('',$,#31664); -#31666=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#31665); -#31667=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#31665); -#31668=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10159,#10158); -#31669=SHAPE_ASPECT('',$,#10158,.U.); -#31670=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13200,#31669); -#31671=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10158); -#31672=NAME_ATTRIBUTE('single instance',#10182); -#31673=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10178,#3410,$,'',$,#10182,*); -#31674=PROPERTY_DEFINITION('',$,#31673); -#31675=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#31674); -#31676=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#31674); -#31677=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10184,#10182); -#31678=SHAPE_ASPECT('',$,#10182,.U.); -#31679=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12046,#31678); -#31680=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#10182); -#31681=NAME_ATTRIBUTE('single instance',#10183); -#31682=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10178,#3384,$,'',$,#10183,*); -#31683=PROPERTY_DEFINITION('',$,#31682); -#31684=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#31683); -#31685=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#31683); -#31686=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10184,#10183); -#31687=SHAPE_ASPECT('',$,#10183,.U.); -#31688=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13203,#31687); -#31689=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#10183); -#31690=NAME_ATTRIBUTE('single instance',#10187); -#31691=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10178,#2628,$,'',$,#10187,*); -#31692=PROPERTY_DEFINITION('',$,#31691); -#31693=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#31692); -#31694=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#31692); -#31695=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10189,#10187); -#31696=SHAPE_ASPECT('',$,#10187,.U.); -#31697=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12403,#31696); -#31698=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10187); -#31699=NAME_ATTRIBUTE('single instance',#10188); -#31700=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10178,#2602,$,'',$,#10188,*); -#31701=PROPERTY_DEFINITION('',$,#31700); -#31702=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#31701); -#31703=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#31701); -#31704=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10189,#10188); -#31705=SHAPE_ASPECT('',$,#10188,.U.); -#31706=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13202,#31705); -#31707=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10188); -#31708=NAME_ATTRIBUTE('single instance',#10212); -#31709=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10208,#2786,$,'',$,#10212,*); -#31710=PROPERTY_DEFINITION('',$,#31709); -#31711=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23697,#31710); -#31712=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31710); -#31713=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10214,#10212); -#31714=SHAPE_ASPECT('',$,#10212,.U.); -#31715=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11997,#31714); -#31716=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#10212); -#31717=NAME_ATTRIBUTE('single instance',#10213); -#31718=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10208,#2760,$,'',$,#10213,*); -#31719=PROPERTY_DEFINITION('',$,#31718); -#31720=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23697,#31719); -#31721=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31719); -#31722=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10214,#10213); -#31723=SHAPE_ASPECT('',$,#10213,.U.); -#31724=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13205,#31723); -#31725=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#10213); -#31726=NAME_ATTRIBUTE('single instance',#10217); -#31727=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10208,#2786,$,'',$,#10217,*); -#31728=PROPERTY_DEFINITION('',$,#31727); -#31729=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23694,#31728); -#31730=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31728); -#31731=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10219,#10217); -#31732=SHAPE_ASPECT('',$,#10217,.U.); -#31733=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11936,#31732); -#31734=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#10217); -#31735=NAME_ATTRIBUTE('single instance',#10218); -#31736=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10208,#2760,$,'',$,#10218,*); -#31737=PROPERTY_DEFINITION('',$,#31736); -#31738=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23694,#31737); -#31739=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31737); -#31740=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10219,#10218); -#31741=SHAPE_ASPECT('',$,#10218,.U.); -#31742=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13204,#31741); -#31743=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#10218); -#31744=NAME_ATTRIBUTE('single instance',#10242); -#31745=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10238,#3102,$,'',$,#10242,*); -#31746=PROPERTY_DEFINITION('',$,#31745); -#31747=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#31746); -#31748=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#31746); -#31749=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10244,#10242); -#31750=SHAPE_ASPECT('',$,#10242,.U.); -#31751=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12669,#31750); -#31752=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#10242); -#31753=NAME_ATTRIBUTE('single instance',#10243); -#31754=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10238,#3076,$,'',$,#10243,*); -#31755=PROPERTY_DEFINITION('',$,#31754); -#31756=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23725,#31755); -#31757=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#31755); -#31758=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10244,#10243); -#31759=SHAPE_ASPECT('',$,#10243,.U.); -#31760=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13206,#31759); -#31761=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#10243); -#31762=NAME_ATTRIBUTE('single instance',#10247); -#31763=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10238,#3410,$,'',$,#10247,*); -#31764=PROPERTY_DEFINITION('',$,#31763); -#31765=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#31764); -#31766=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#31764); -#31767=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10249,#10247); -#31768=SHAPE_ASPECT('',$,#10247,.U.); -#31769=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13207,#31768); -#31770=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#10247); -#31771=NAME_ATTRIBUTE('single instance',#10248); -#31772=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10238,#3384,$,'',$,#10248,*); -#31773=PROPERTY_DEFINITION('',$,#31772); -#31774=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23721,#31773); -#31775=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#31773); -#31776=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10249,#10248); -#31777=SHAPE_ASPECT('',$,#10248,.U.); -#31778=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#31777); -#31779=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#10248); -#31780=NAME_ATTRIBUTE('single instance',#10272); -#31781=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10268,#3410,$,'',$,#10272,*); -#31782=PROPERTY_DEFINITION('',$,#31781); -#31783=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#31782); -#31784=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#31782); -#31785=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10274,#10272); -#31786=SHAPE_ASPECT('',$,#10272,.U.); -#31787=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#31786); -#31788=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#10272); -#31789=NAME_ATTRIBUTE('single instance',#10273); -#31790=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10268,#3384,$,'',$,#10273,*); -#31791=PROPERTY_DEFINITION('',$,#31790); -#31792=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#31791); -#31793=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#31791); -#31794=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10274,#10273); -#31795=SHAPE_ASPECT('',$,#10273,.U.); -#31796=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13209,#31795); -#31797=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#10273); -#31798=NAME_ATTRIBUTE('single instance',#10277); -#31799=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10268,#2628,$,'',$,#10277,*); -#31800=PROPERTY_DEFINITION('',$,#31799); -#31801=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#31800); -#31802=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#31800); -#31803=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10279,#10277); -#31804=SHAPE_ASPECT('',$,#10277,.U.); -#31805=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11791,#31804); -#31806=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10277); -#31807=NAME_ATTRIBUTE('single instance',#10278); -#31808=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10268,#2602,$,'',$,#10278,*); -#31809=PROPERTY_DEFINITION('',$,#31808); -#31810=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#31809); -#31811=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#31809); -#31812=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10279,#10278); -#31813=SHAPE_ASPECT('',$,#10278,.U.); -#31814=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13208,#31813); -#31815=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10278); -#31816=NAME_ATTRIBUTE('single instance',#10302); -#31817=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10298,#2628,$,'',$,#10302,*); -#31818=PROPERTY_DEFINITION('',$,#31817); -#31819=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#31818); -#31820=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#31818); -#31821=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10304,#10302); -#31822=SHAPE_ASPECT('',$,#10302,.U.); -#31823=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10708,#31822); -#31824=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10302); -#31825=NAME_ATTRIBUTE('single instance',#10303); -#31826=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10298,#2602,$,'',$,#10303,*); -#31827=PROPERTY_DEFINITION('',$,#31826); -#31828=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23711,#31827); -#31829=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#31827); -#31830=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10304,#10303); -#31831=SHAPE_ASPECT('',$,#10303,.U.); -#31832=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13210,#31831); -#31833=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10303); -#31834=NAME_ATTRIBUTE('single instance',#10307); -#31835=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10298,#2628,$,'',$,#10307,*); -#31836=PROPERTY_DEFINITION('',$,#31835); -#31837=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#31836); -#31838=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#31836); -#31839=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10309,#10307); -#31840=SHAPE_ASPECT('',$,#10307,.U.); -#31841=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#31840); -#31842=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10307); -#31843=NAME_ATTRIBUTE('single instance',#10308); -#31844=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10298,#2602,$,'',$,#10308,*); -#31845=PROPERTY_DEFINITION('',$,#31844); -#31846=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23708,#31845); -#31847=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#31845); -#31848=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10309,#10308); -#31849=SHAPE_ASPECT('',$,#10308,.U.); -#31850=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13211,#31849); -#31851=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10308); -#31852=NAME_ATTRIBUTE('single instance',#10332); -#31853=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10328,#2786,$,'',$,#10332,*); -#31854=PROPERTY_DEFINITION('',$,#31853); -#31855=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24101,#31854); -#31856=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31854); -#31857=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10334,#10332); -#31858=SHAPE_ASPECT('',$,#10332,.U.); -#31859=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12830,#31858); -#31860=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#10332); -#31861=NAME_ATTRIBUTE('single instance',#10333); -#31862=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10328,#2760,$,'',$,#10333,*); -#31863=PROPERTY_DEFINITION('',$,#31862); -#31864=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24101,#31863); -#31865=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31863); -#31866=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10334,#10333); -#31867=SHAPE_ASPECT('',$,#10333,.U.); -#31868=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13214,#31867); -#31869=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#10333); -#31870=NAME_ATTRIBUTE('single instance',#10337); -#31871=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10328,#2786,$,'',$,#10337,*); -#31872=PROPERTY_DEFINITION('',$,#31871); -#31873=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24098,#31872); -#31874=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#31872); -#31875=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10339,#10337); -#31876=SHAPE_ASPECT('',$,#10337,.U.); -#31877=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11707,#31876); -#31878=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#10337); -#31879=NAME_ATTRIBUTE('single instance',#10338); -#31880=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10328,#2760,$,'',$,#10338,*); -#31881=PROPERTY_DEFINITION('',$,#31880); -#31882=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24098,#31881); -#31883=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#31881); -#31884=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10339,#10338); -#31885=SHAPE_ASPECT('',$,#10338,.U.); -#31886=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13215,#31885); -#31887=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#10338); -#31888=NAME_ATTRIBUTE('single instance',#10342); -#31889=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10328,#3410,$,'',$,#10342,*); -#31890=PROPERTY_DEFINITION('',$,#31889); -#31891=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24095,#31890); -#31892=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#31890); -#31893=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10344,#10342); -#31894=SHAPE_ASPECT('',$,#10342,.U.); -#31895=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13213,#31894); -#31896=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#10342); -#31897=NAME_ATTRIBUTE('single instance',#10343); -#31898=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10328,#3384,$,'',$,#10343,*); -#31899=PROPERTY_DEFINITION('',$,#31898); -#31900=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24095,#31899); -#31901=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#31899); -#31902=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10344,#10343); -#31903=SHAPE_ASPECT('',$,#10343,.U.); -#31904=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13212,#31903); -#31905=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#10343); -#31906=NAME_ATTRIBUTE('single instance',#10375); -#31907=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10371,#3410,$,'',$,#10375,*); -#31908=PROPERTY_DEFINITION('',$,#31907); -#31909=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#31908); -#31910=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23361,#31908); -#31911=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10377,#10375); -#31912=SHAPE_ASPECT('',$,#10375,.U.); -#31913=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11555,#31912); -#31914=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3413,#10375); -#31915=NAME_ATTRIBUTE('single instance',#10376); -#31916=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10371,#3384,$,'',$,#10376,*); -#31917=PROPERTY_DEFINITION('',$,#31916); -#31918=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23737,#31917); -#31919=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23326,#31917); -#31920=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10377,#10376); -#31921=SHAPE_ASPECT('',$,#10376,.U.); -#31922=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13217,#31921); -#31923=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3387,#10376); -#31924=NAME_ATTRIBUTE('single instance',#10380); -#31925=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10371,#2628,$,'',$,#10380,*); -#31926=PROPERTY_DEFINITION('',$,#31925); -#31927=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#31926); -#31928=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#31926); -#31929=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10382,#10380); -#31930=SHAPE_ASPECT('',$,#10380,.U.); -#31931=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#31930); -#31932=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10380); -#31933=NAME_ATTRIBUTE('single instance',#10381); -#31934=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10371,#2602,$,'',$,#10381,*); -#31935=PROPERTY_DEFINITION('',$,#31934); -#31936=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23734,#31935); -#31937=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#31935); -#31938=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10382,#10381); -#31939=SHAPE_ASPECT('',$,#10381,.U.); -#31940=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13216,#31939); -#31941=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10381); -#31942=NAME_ATTRIBUTE('single instance',#10405); -#31943=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10401,#2944,$,'',$,#10405,*); -#31944=PROPERTY_DEFINITION('',$,#31943); -#31945=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#31944); -#31946=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#31944); -#31947=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10407,#10405); -#31948=SHAPE_ASPECT('',$,#10405,.U.); -#31949=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13218,#31948); -#31950=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#10405); -#31951=NAME_ATTRIBUTE('single instance',#10406); -#31952=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10401,#2918,$,'',$,#10406,*); -#31953=PROPERTY_DEFINITION('',$,#31952); -#31954=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24188,#31953); -#31955=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#31953); -#31956=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10407,#10406); -#31957=SHAPE_ASPECT('',$,#10406,.U.); -#31958=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#31957); -#31959=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#10406); -#31960=NAME_ATTRIBUTE('single instance',#10410); -#31961=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10401,#2628,$,'',$,#10410,*); -#31962=PROPERTY_DEFINITION('',$,#31961); -#31963=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#31962); -#31964=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#31962); -#31965=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10412,#10410); -#31966=SHAPE_ASPECT('',$,#10410,.U.); -#31967=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11824,#31966); -#31968=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10410); -#31969=NAME_ATTRIBUTE('single instance',#10411); -#31970=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10401,#2602,$,'',$,#10411,*); -#31971=PROPERTY_DEFINITION('',$,#31970); -#31972=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24185,#31971); -#31973=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#31971); -#31974=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10412,#10411); -#31975=SHAPE_ASPECT('',$,#10411,.U.); -#31976=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13219,#31975); -#31977=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10411); -#31978=NAME_ATTRIBUTE('single instance',#10435); -#31979=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10431,#3102,$,'',$,#10435,*); -#31980=PROPERTY_DEFINITION('',$,#31979); -#31981=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24110,#31980); -#31982=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#31980); -#31983=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10437,#10435); -#31984=SHAPE_ASPECT('',$,#10435,.U.); -#31985=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12561,#31984); -#31986=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#10435); -#31987=NAME_ATTRIBUTE('single instance',#10436); -#31988=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10431,#3076,$,'',$,#10436,*); -#31989=PROPERTY_DEFINITION('',$,#31988); -#31990=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24110,#31989); -#31991=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#31989); -#31992=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10437,#10436); -#31993=SHAPE_ASPECT('',$,#10436,.U.); -#31994=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13220,#31993); -#31995=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#10436); -#31996=NAME_ATTRIBUTE('single instance',#10440); -#31997=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10431,#3102,$,'',$,#10440,*); -#31998=PROPERTY_DEFINITION('',$,#31997); -#31999=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24107,#31998); -#32000=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#31998); -#32001=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10442,#10440); -#32002=SHAPE_ASPECT('',$,#10440,.U.); -#32003=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12103,#32002); -#32004=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#10440); -#32005=NAME_ATTRIBUTE('single instance',#10441); -#32006=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10431,#3076,$,'',$,#10441,*); -#32007=PROPERTY_DEFINITION('',$,#32006); -#32008=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24107,#32007); -#32009=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#32007); -#32010=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10442,#10441); -#32011=SHAPE_ASPECT('',$,#10441,.U.); -#32012=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13221,#32011); -#32013=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#10441); -#32014=NAME_ATTRIBUTE('single instance',#10445); -#32015=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10431,#3102,$,'',$,#10445,*); -#32016=PROPERTY_DEFINITION('',$,#32015); -#32017=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24104,#32016); -#32018=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23216,#32016); -#32019=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10447,#10445); -#32020=SHAPE_ASPECT('',$,#10445,.U.); -#32021=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13222,#32020); -#32022=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#10445); -#32023=NAME_ATTRIBUTE('single instance',#10446); -#32024=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10431,#3076,$,'',$,#10446,*); -#32025=PROPERTY_DEFINITION('',$,#32024); -#32026=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24104,#32025); -#32027=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23181,#32025); -#32028=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10447,#10446); -#32029=SHAPE_ASPECT('',$,#10446,.U.); -#32030=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11271,#32029); -#32031=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3079,#10446); -#32032=NAME_ATTRIBUTE('single instance',#10478); -#32033=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10474,#2786,$,'',$,#10478,*); -#32034=PROPERTY_DEFINITION('',$,#32033); -#32035=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23717,#32034); -#32036=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23072,#32034); -#32037=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10480,#10478); -#32038=SHAPE_ASPECT('',$,#10478,.U.); -#32039=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12046,#32038); -#32040=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2789,#10478); -#32041=NAME_ATTRIBUTE('single instance',#10479); -#32042=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10474,#2760,$,'',$,#10479,*); -#32043=PROPERTY_DEFINITION('',$,#32042); -#32044=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23717,#32043); -#32045=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23037,#32043); -#32046=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10480,#10479); -#32047=SHAPE_ASPECT('',$,#10479,.U.); -#32048=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13224,#32047); -#32049=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2763,#10479); -#32050=NAME_ATTRIBUTE('single instance',#10483); -#32051=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10474,#2944,$,'',$,#10483,*); -#32052=PROPERTY_DEFINITION('',$,#32051); -#32053=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23714,#32052); -#32054=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23144,#32052); -#32055=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10485,#10483); -#32056=SHAPE_ASPECT('',$,#10483,.U.); -#32057=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11936,#32056); -#32058=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2947,#10483); -#32059=NAME_ATTRIBUTE('single instance',#10484); -#32060=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10474,#2918,$,'',$,#10484,*); -#32061=PROPERTY_DEFINITION('',$,#32060); -#32062=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#23714,#32061); -#32063=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23109,#32061); -#32064=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10485,#10484); -#32065=SHAPE_ASPECT('',$,#10484,.U.); -#32066=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13223,#32065); -#32067=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2921,#10484); -#32068=NAME_ATTRIBUTE('single instance',#10508); -#32069=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10504,#2628,$,'',$,#10508,*); -#32070=PROPERTY_DEFINITION('',$,#32069); -#32071=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#32070); -#32072=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#32070); -#32073=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10510,#10508); -#32074=SHAPE_ASPECT('',$,#10508,.U.); -#32075=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12500,#32074); -#32076=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10508); -#32077=NAME_ATTRIBUTE('single instance',#10509); -#32078=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10504,#2602,$,'',$,#10509,*); -#32079=PROPERTY_DEFINITION('',$,#32078); -#32080=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24116,#32079); -#32081=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#32079); -#32082=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10510,#10509); -#32083=SHAPE_ASPECT('',$,#10509,.U.); -#32084=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13226,#32083); -#32085=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10509); -#32086=NAME_ATTRIBUTE('single instance',#10513); -#32087=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10504,#2628,$,'',$,#10513,*); -#32088=PROPERTY_DEFINITION('',$,#32087); -#32089=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#32088); -#32090=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#23000,#32088); -#32091=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10515,#10513); -#32092=SHAPE_ASPECT('',$,#10513,.U.); -#32093=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10943,#32092); -#32094=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2631,#10513); -#32095=NAME_ATTRIBUTE('single instance',#10514); -#32096=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#10504,#2602,$,'',$,#10514,*); -#32097=PROPERTY_DEFINITION('',$,#32096); -#32098=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24113,#32097); -#32099=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22965,#32097); -#32100=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#10515,#10514); -#32101=SHAPE_ASPECT('',$,#10514,.U.); -#32102=SHAPE_ASPECT_RELATIONSHIP('implementation','',#13225,#32101); -#32103=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2605,#10514); -#32104=NAME_ATTRIBUTE('single instance',#924); -#32105=NAME_ATTRIBUTE('single instance',#944); -#32106=NAME_ATTRIBUTE('single instance',#963); -#32107=NAME_ATTRIBUTE('single instance',#982); -#32108=NAME_ATTRIBUTE('single instance',#991); -#32109=NAME_ATTRIBUTE('single instance',#1010); -#32110=NAME_ATTRIBUTE('single instance',#1019); -#32111=NAME_ATTRIBUTE('single instance',#1028); -#32112=NAME_ATTRIBUTE('single instance',#1047); -#32113=NAME_ATTRIBUTE('single instance',#1056); -#32114=NAME_ATTRIBUTE('single instance',#1065); -#32115=NAME_ATTRIBUTE('single instance',#1074); -#32116=NAME_ATTRIBUTE('single instance',#1083); -#32117=NAME_ATTRIBUTE('single instance',#1092); -#32118=NAME_ATTRIBUTE('single instance',#1101); -#32119=NAME_ATTRIBUTE('single instance',#1110); -#32120=NAME_ATTRIBUTE('single instance',#1119); -#32121=NAME_ATTRIBUTE('single instance',#1128); -#32122=NAME_ATTRIBUTE('single instance',#1137); -#32123=NAME_ATTRIBUTE('single instance',#1146); -#32124=NAME_ATTRIBUTE('single instance',#1155); -#32125=NAME_ATTRIBUTE('single instance',#1174); -#32126=NAME_ATTRIBUTE('single instance',#1183); -#32127=NAME_ATTRIBUTE('single instance',#1202); -#32128=NAME_ATTRIBUTE('single instance',#1211); -#32129=NAME_ATTRIBUTE('single instance',#1220); -#32130=NAME_ATTRIBUTE('single instance',#1229); -#32131=NAME_ATTRIBUTE('single instance',#1238); -#32132=NAME_ATTRIBUTE('single instance',#1247); -#32133=NAME_ATTRIBUTE('single instance',#1256); -#32134=NAME_ATTRIBUTE('single instance',#1275); -#32135=NAME_ATTRIBUTE('single instance',#1284); -#32136=NAME_ATTRIBUTE('single instance',#1303); -#32137=NAME_ATTRIBUTE('single instance',#1322); -#32138=NAME_ATTRIBUTE('single instance',#1341); -#32139=NAME_ATTRIBUTE('single instance',#1360); -#32140=NAME_ATTRIBUTE('single instance',#1379); -#32141=NAME_ATTRIBUTE('single instance',#1388); -#32142=NAME_ATTRIBUTE('single instance',#1397); -#32143=NAME_ATTRIBUTE('single instance',#1406); -#32144=NAME_ATTRIBUTE('single instance',#1415); -#32145=NAME_ATTRIBUTE('single instance',#1424); -#32146=NAME_ATTRIBUTE('single instance',#1443); -#32147=NAME_ATTRIBUTE('single instance',#1452); -#32148=NAME_ATTRIBUTE('single instance',#1461); -#32149=NAME_ATTRIBUTE('single instance',#1470); -#32150=NAME_ATTRIBUTE('single instance',#1479); -#32151=NAME_ATTRIBUTE('single instance',#1488); -#32152=NAME_ATTRIBUTE('single instance',#1497); -#32153=NAME_ATTRIBUTE('single instance',#1506); -#32154=NAME_ATTRIBUTE('single instance',#1515); -#32155=NAME_ATTRIBUTE('single instance',#1524); -#32156=NAME_ATTRIBUTE('single instance',#1533); -#32157=NAME_ATTRIBUTE('single instance',#1542); -#32158=NAME_ATTRIBUTE('single instance',#1551); -#32159=NAME_ATTRIBUTE('single instance',#1560); -#32160=NAME_ATTRIBUTE('single instance',#1569); -#32161=NAME_ATTRIBUTE('single instance',#1578); -#32162=NAME_ATTRIBUTE('single instance',#1587); -#32163=NAME_ATTRIBUTE('single instance',#1596); -#32164=NAME_ATTRIBUTE('single instance',#1605); -#32165=NAME_ATTRIBUTE('single instance',#1614); -#32166=NAME_ATTRIBUTE('single instance',#1623); -#32167=NAME_ATTRIBUTE('single instance',#1642); -#32168=NAME_ATTRIBUTE('single instance',#1651); -#32169=NAME_ATTRIBUTE('single instance',#1670); -#32170=NAME_ATTRIBUTE('single instance',#1689); -#32171=NAME_ATTRIBUTE('single instance',#1698); -#32172=NAME_ATTRIBUTE('single instance',#1707); -#32173=NAME_ATTRIBUTE('single instance',#1716); -#32174=NAME_ATTRIBUTE('single instance',#1735); -#32175=NAME_ATTRIBUTE('single instance',#1744); -#32176=NAME_ATTRIBUTE('single instance',#6390); -#32177=NAME_ATTRIBUTE('single instance',#6402); -#32178=NAME_ATTRIBUTE('single instance',#6415); -#32179=NAME_ATTRIBUTE('single instance',#6428); -#32180=NAME_ATTRIBUTE('single instance',#6441); -#32181=NAME_ATTRIBUTE('single instance',#6454); -#32182=NAME_ATTRIBUTE('single instance',#6467); -#32183=NAME_ATTRIBUTE('single instance',#6481); -#32184=NAME_ATTRIBUTE('single instance',#6494); -#32185=NAME_ATTRIBUTE('single instance',#6512); -#32186=NAME_ATTRIBUTE('single instance',#2378); -#32187=NAME_ATTRIBUTE('single instance',#2394); -#32188=NAME_ATTRIBUTE('single instance',#7036); -#32189=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7016,#308,$,'',$,#7036,*); -#32190=PROPERTY_DEFINITION('',$,#32189); -#32191=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22903,#32190); -#32192=PROPERTY_DEFINITION('feature of size','true',#7036); -#32193=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7035,#7036); -#32194=NAME_ATTRIBUTE('single instance',#7402); -#32195=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7383,#308,$,'',$,#7402,*); -#32196=PROPERTY_DEFINITION('',$,#32195); -#32197=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22903,#32196); -#32198=PROPERTY_DEFINITION('feature of size','true',#7402); -#32199=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7035,#7402); -#32200=NAME_ATTRIBUTE('single instance',#6480); -#32201=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6475,#1824,$,'',$,#6480,*); -#32202=PROPERTY_DEFINITION('',$,#32201); -#32203=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22920,#32202); -#32204=PROPERTY_DEFINITION('feature of size','true',#6480); -#32205=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6480); -#32206=NAME_ATTRIBUTE('single instance',#6493); -#32207=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6489,#1967,$,'',$,#6493,*); -#32208=PROPERTY_DEFINITION('',$,#32207); -#32209=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22924,#32208); -#32210=PROPERTY_DEFINITION('feature of size','true',#6493); -#32211=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6493); -#32212=NAME_ATTRIBUTE('single instance',#6506); -#32213=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6502,#2169,$,'',$,#6506,*); -#32214=PROPERTY_DEFINITION('',$,#32213); -#32215=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24219,#32214); -#32216=PROPERTY_DEFINITION('feature of size','true',#6506); -#32217=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6506); -#32218=NAME_ATTRIBUTE('single instance',#6507); -#32219=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6502,#2169,$,'',$,#6507,*); -#32220=PROPERTY_DEFINITION('',$,#32219); -#32221=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24216,#32220); -#32222=PROPERTY_DEFINITION('feature of size','true',#6507); -#32223=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6507); -#32224=NAME_ATTRIBUTE('single instance',#6508); -#32225=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6502,#2169,$,'',$,#6508,*); -#32226=PROPERTY_DEFINITION('',$,#32225); -#32227=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24213,#32226); -#32228=PROPERTY_DEFINITION('feature of size','true',#6508); -#32229=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6508); -#32230=NAME_ATTRIBUTE('single instance',#6509); -#32231=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6502,#2169,$,'',$,#6509,*); -#32232=PROPERTY_DEFINITION('',$,#32231); -#32233=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24210,#32232); -#32234=PROPERTY_DEFINITION('feature of size','true',#6509); -#32235=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6509); -#32236=NAME_ATTRIBUTE('single instance',#6510); -#32237=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6502,#2169,$,'',$,#6510,*); -#32238=PROPERTY_DEFINITION('',$,#32237); -#32239=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24207,#32238); -#32240=PROPERTY_DEFINITION('feature of size','true',#6510); -#32241=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6510); -#32242=NAME_ATTRIBUTE('single instance',#6511); -#32243=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6502,#2169,$,'',$,#6511,*); -#32244=PROPERTY_DEFINITION('',$,#32243); -#32245=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24204,#32244); -#32246=PROPERTY_DEFINITION('feature of size','true',#6511); -#32247=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6511); -#32248=NAME_ATTRIBUTE('single instance',#6524); -#32249=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6520,#2169,$,'',$,#6524,*); -#32250=PROPERTY_DEFINITION('',$,#32249); -#32251=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24219,#32250); -#32252=PROPERTY_DEFINITION('feature of size','true',#6524); -#32253=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6524); -#32254=NAME_ATTRIBUTE('single instance',#6525); -#32255=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6520,#2169,$,'',$,#6525,*); -#32256=PROPERTY_DEFINITION('',$,#32255); -#32257=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24216,#32256); -#32258=PROPERTY_DEFINITION('feature of size','true',#6525); -#32259=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6525); -#32260=NAME_ATTRIBUTE('single instance',#6526); -#32261=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6520,#2169,$,'',$,#6526,*); -#32262=PROPERTY_DEFINITION('',$,#32261); -#32263=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24213,#32262); -#32264=PROPERTY_DEFINITION('feature of size','true',#6526); -#32265=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6526); -#32266=NAME_ATTRIBUTE('single instance',#6527); -#32267=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6520,#2169,$,'',$,#6527,*); -#32268=PROPERTY_DEFINITION('',$,#32267); -#32269=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24210,#32268); -#32270=PROPERTY_DEFINITION('feature of size','true',#6527); -#32271=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6527); -#32272=NAME_ATTRIBUTE('single instance',#6528); -#32273=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6520,#2169,$,'',$,#6528,*); -#32274=PROPERTY_DEFINITION('',$,#32273); -#32275=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24207,#32274); -#32276=PROPERTY_DEFINITION('feature of size','true',#6528); -#32277=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6528); -#32278=NAME_ATTRIBUTE('single instance',#6529); -#32279=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6520,#2169,$,'',$,#6529,*); -#32280=PROPERTY_DEFINITION('',$,#32279); -#32281=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#24204,#32280); -#32282=PROPERTY_DEFINITION('feature of size','true',#6529); -#32283=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6479,#6529); -#32284=NAME_ATTRIBUTE('single instance',#6871); -#32285=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6850,#414,$,'',$,#6871,*); -#32286=PROPERTY_DEFINITION('',$,#32285); -#32287=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22916,#32286); -#32288=PROPERTY_DEFINITION('feature of size','true',#6871); -#32289=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6870,#6871); -#32290=NAME_ATTRIBUTE('single instance',#9190); -#32291=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#368,$,'',$,#9190,*); -#32292=PROPERTY_DEFINITION('',$,#32291); -#32293=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22912,#32292); -#32294=PROPERTY_DEFINITION('feature of size','true',#9190); -#32295=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#9189,#9190); -#32296=NAME_ATTRIBUTE('single instance',#9191); -#32297=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8625,#355,$,'',$,#9191,*); -#32298=PROPERTY_DEFINITION('',$,#32297); -#32299=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22908,#32298); -#32300=PROPERTY_DEFINITION('feature of size','true',#9191); -#32301=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#9189,#9191); -ENDSEC; -END-ISO-10303-21; diff --git a/data/ap210e2/FlasherThruHole.stp b/data/ap210e2/FlasherThruHole.stp deleted file mode 100644 index 98e98d472..000000000 --- a/data/ap210e2/FlasherThruHole.stp +++ /dev/null @@ -1,9112 +0,0 @@ -ISO-10303-21; -HEADER; -/* Generated by software containing - * JSDAI (TM) from LKSoft (www.lksoft.com, www.jsdai.net) - * JSDAI Runtime Version 4.0.0 (Build 270, 2009-03-18T14:17:04) - * JSDAI XIM Full Library Version 1.127.100 2009-03-05_21-45-33 - */ -FILE_DESCRIPTION( -/* description */ (' Mentor Graphics BoardStation <=> AP210 Converter v3.2',' '), -/* implementation_level */ '2;1'); -FILE_NAME( -/* name */ 'd:\\workspace\\Converters\\jsdaix\\data\\MENTOR\\Flasher_thru_hole\\flasher.stp', -/* time_stamp */ '2009-03-18T19:45:02', -/* author */ (' '), -/* organization */ (' '), -/* preprocessor_version */ ' Mentor Graphics BoardStation <=> AP210 Converter v3.2', -/* originating_system */ 'Mentor Graphics BoardStation', -/* authorization */ 'LKSofWare GmbH'); -FILE_SCHEMA(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM { 1 0 10303 410 1 1 4}')); -ENDSEC; -DATA; -#1=SPECIFICATION_DEFINITION('UM-PR-149-E-04','PCB Products Design Reference Manual', - #4,#2); -#2=PRODUCT_DEFINITION_CONTEXT('generic document definition',#3,''); -#3=APPLICATION_CONTEXT('default application'); -#4=PRODUCT_DEFINITION_FORMATION('1',$,#5); -#5=PRODUCT('UM-PR-149-E-04','product',$,(#4290)); -#6=PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,(#5,#12)); -#7=APPLIED_ORGANIZATION_ASSIGNMENT(#9,#8,(#1,#10)); -#8=ORGANIZATION_ROLE('document source'); -#9=ORGANIZATION('Mentor','Mentor Graphics Corporation',$); -#10=SPECIFICATION_DEFINITION('8.7_1','AutoTherm User''s Manual',#11,#2); -#11=PRODUCT_DEFINITION_FORMATION('1',$,#12); -#12=PRODUCT('8.7_1','product',$,(#4290)); -#13=PRODUCT('board-PCB','pcb',$,(#5111)); -#14=PRODUCT_DEFINITION_FORMATION('1',$,#13); -#15=LAYERED_INTERCONNECT_MODULE_USAGE_VIEW('2',$,#14,#28,'interconnect module',$, - *); -#16=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#17=(CONVERSION_BASED_UNIT('TN',#18)LENGTH_UNIT()NAMED_UNIT(*)); -#18=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.0E-5),#19); -#19=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.)); -#20=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.)); -#21=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.017453292519943295),#20); -#22=DIMENSIONAL_EXPONENTS(0.0,0.0,0.0,0.0,0.0,0.0,0.0); -#23=(CONVERSION_BASED_UNIT('degree',#21)NAMED_UNIT(*)PLANE_ANGLE_UNIT()); -#24=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19,'',$); -#25=SHAPE_REPRESENTATION('ppsm',(#26,#679,#2557,#2565,#2587,#2595,#2617,#2625,#2647, - #2655,#2677,#2685,#2707,#2715,#2737,#2745,#2797,#2805,#2813,#2821,#2829,#2837, - #2845,#2853,#2875,#2883,#2904,#2925,#2946,#2967,#2988,#3009,#3030),#16); -#26=AXIS2_PLACEMENT_2D('origin',#27,$); -#27=CARTESIAN_POINT('',(0.0,0.0)); -#28=PRODUCT_DEFINITION_CONTEXT('part definition',#3,''); -#29=PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#13,#37,#87,#120,#145,#182,#219,#256, - #293,#300,#307,#314,#321,#328)); -#30=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly',$,(#13,#37)); -#31=SHAPE_ASPECT('outline of PCB','interconnect module edge surface',#15,.T.); -#32=SHAPE_ASPECT('TOP side of PCB','interconnect module primary surface',#15,.T.); -#33=SHAPE_ASPECT('BOTTOM side of PCB','interconnect module secondary surface',#15, - .T.); -#34=LAYERED_INTERCONNECT_MODULE_DESIGN_VIEW('1',$,#14,#28,'interconnect module', - $,*); -#35=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#36=SHAPE_REPRESENTATION('ppsm',(#26,#675,#426,#398,#407,#360,#340,#379,#435,#453, - #444,#2892,#2913,#2934,#2955,#2976,#2997,#3018,#3045,#3049,#3052,#3061,#3065, - #3068,#3074,#3076,#3078,#3086,#3093,#3100,#3104,#3114,#3121,#3130,#3134,#3137, - #3150,#3154,#3157,#3167,#3171,#3174,#3183,#3187,#3190,#3199,#3203,#3213,#3217, - #3220,#3229,#3233,#3236,#3245,#3249,#3252,#3262,#3266,#3275,#3280,#3286,#3291, - #3299,#3304,#3313,#3317,#3320,#3327,#3331,#3338,#3342,#3349,#3353,#3360,#3364), - #35); -#37=PRODUCT('board-PCA','pca',$,(#5111)); -#38=PRODUCT_DEFINITION_FORMATION('1',$,#37); -#39=LAYERED_ASSEMBLY_MODULE_USAGE_VIEW('4',$,#38,#28,'assembly module',$,*); -#40=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#41=SHAPE_REPRESENTATION('ppsm',(#26,#683),#40); -#42=FUNCTIONAL_UNIT('5',$,#43,#28,'',$,*); -#43=PRODUCT_DEFINITION_FORMATION('1',$,#44); -#44=PRODUCT('pca function','function',$,(#4398)); -#45=PRODUCT_RELATED_PRODUCT_CATEGORY('functional',$,(#44,#296,#303,#310,#317,#324, - #331)); -#46=(ASSEMBLY_MODULE_DESIGN_VIEW()LAYERED_ASSEMBLY_MODULE_DESIGN_VIEW() - PHYSICAL_UNIT()PHYSICAL_UNIT_NETWORK_DEFINITION()PRODUCT_DEFINITION('4',$,#38, - #28)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('assembly module',$,*)); -#47=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#48=SHAPE_REPRESENTATION('ppsm',(#26,#54,#340,#360,#379,#398,#407,#426,#435,#444, - #453),#47); -#49=INTERCONNECT_MODULE_COMPONENT('board',$,#14,#7056,'board','definition usage', - $,#15,*,'',$,*); -#50=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('board','',$,#46,#15,'board','', - $,#49,*); -#51=DIRECTION('',(1.0,0.0)); -#52=DIRECTION('',(-0.0,1.0)); -#53=CARTESIAN_POINT('',(0.0,0.0)); -#54=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#51,#52,#53,1.0); -#55=COMPONENT_2D_LOCATION(*,#56,'component 2d location',$,#25,#48,#54); -#56=PRODUCT_DEFINITION_SHAPE('',$,#50); -#57=INTERCONNECT_MODULE_COMPONENT_SURFACE_FEATURE('for EDGE surface','interconnect module component surface feature', - #49,.U.); -#58=INTERCONNECT_MODULE_COMPONENT_SURFACE_FEATURE('for PRIMARY surface','interconnect module component surface feature', - #49,.U.); -#59=INTERCONNECT_MODULE_COMPONENT_SURFACE_FEATURE('for SECONDARY surface','interconnect module component surface feature', - #49,.U.); -#60=PRODUCT('Board Placement Clearance','requirement',$,(#5484)); -#61=PRODUCT_DEFINITION_FORMATION('1',$,#60); -#62=LAYOUT_SPACING_REQUIREMENT('1',$,#61,#63); -#63=PRODUCT_DEFINITION_CONTEXT('requirement context',#3,'design'); -#64=PRODUCT_RELATED_PRODUCT_CATEGORY('requirement',$,(#2512,#60,#344,#347,#363,#366, - #382,#385,#410,#413,#456,#459,#634,#638,#659,#2410,#2416,#2425,#2434,#2443, - #2452,#2461,#2470,#2476,#2485,#2494,#2503,#2521)); -#65=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#62)); -#66=REPRESENTATION('minimum tolerance',(#70),#67); -#67=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#68=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#66)); -#69=TYPE_QUALIFIER('minimum'); -#70=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#71)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#71=(CONVERSION_BASED_UNIT('inches',#72)LENGTH_UNIT()NAMED_UNIT(*)); -#72=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(25.4),#19); -#73=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#70)); -#74=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#75=REPRESENTATION('minimum tolerance',(#70),#77); -#76=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#75)); -#77=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#78=SHAPE_ASPECT('Outline where components can be placed in','vlnfse',#39,.F.); -#79=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#81),#80); -#80=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#81=CSG_SOLID_2D('',#82); -#82=POLYGONAL_AREA('',(#83,#84,#85,#86)); -#83=CARTESIAN_POINT('',(0.0,0.0)); -#84=CARTESIAN_POINT('',(1.0,0.0)); -#85=CARTESIAN_POINT('',(1.0,0.6)); -#86=CARTESIAN_POINT('',(0.0,0.6)); -#87=PRODUCT('ckr06','ckr06',$,(#5111)); -#88=PRODUCT_DEFINITION_FORMATION('22',$,#87); -#89=PACKAGE('ckr06',$,#88,#28,'',$,*); -#90=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#91=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#99,#1987,#1993),#90); -#92=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0),#19); -#93=PRODUCT_RELATED_PRODUCT_CATEGORY('package',$,(#219,#87,#120,#145,#182,#256)); -#94=SEATING_PLANE('seating plane',$,#89,.F.); -#95=TYPE_QUALIFIER('maximum'); -#96=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#97=REPRESENTATION('maximum tolerance',(#96),#98); -#98=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#99=CSG_SOLID_2D('',#100); -#100=POLYGONAL_AREA('',(#101,#102,#103,#104,#105)); -#101=CARTESIAN_POINT('',(0.25,0.05)); -#102=CARTESIAN_POINT('',(-0.05,0.05)); -#103=CARTESIAN_POINT('',(-0.05,-0.05)); -#104=CARTESIAN_POINT('',(0.25,-0.05)); -#105=CARTESIAN_POINT('',(0.25,0.05)); -#106=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.3),#71)REPRESENTATION_ITEM('')); -#107=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#108=REPRESENTATION('maximum tolerance',(#107),#109); -#109=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#110=PACKAGE_BODY('','part generic feature',#89,.T.); -#111=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('package body material', - (#110,#140,#177,#214,#251,#288)); -#112=APPLIED_CLASSIFICATION_ASSIGNMENT(#114,#113,(#111,#476,#504,#736)); -#113=CLASSIFICATION_ROLE('conductive',$); -#114=CLASS('conductive','electrical conductivity'); -#115=PRODUCT('ckr06-footprint','ckr06',$,(#5970)); -#116=PRODUCT_DEFINITION_FORMATION('22',$,#115); -#117=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#116,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#118=SHAPE_REPRESENTATION('ppsm',(#26,#1991,#1998),#90); -#119=PRODUCT_RELATED_PRODUCT_CATEGORY('template model',$,(#115,#141,#178,#215,#252, - #289,#467,#597,#669,#697,#724,#737,#751,#787,#803,#860,#869,#883,#919,#935, - #992,#1001,#1015,#1051,#1067,#1124,#1129,#1143,#1158,#1173,#1209,#1266,#1271, - #1285,#1321,#1337,#1394,#1399,#1413,#1428,#1443,#1479,#1536,#1541,#1555,#1570, - #1585,#1621,#1678,#1683,#1697,#1712,#1727,#1763,#1834,#1843,#1855,#1867,#1903, - #1820,#3039)); -#120=PRODUCT('ckr05','ckr05',$,(#5111)); -#121=PRODUCT_DEFINITION_FORMATION('22',$,#120); -#122=PACKAGE('ckr05',$,#121,#28,'',$,*); -#123=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#124=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#129,#2016,#2022),#123); -#125=SEATING_PLANE('seating plane',$,#122,.F.); -#126=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#127=REPRESENTATION('maximum tolerance',(#126),#128); -#128=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#129=CSG_SOLID_2D('',#130); -#130=POLYGONAL_AREA('',(#131,#132,#133,#134,#135)); -#131=CARTESIAN_POINT('',(0.23,0.05)); -#132=CARTESIAN_POINT('',(-0.04,0.05)); -#133=CARTESIAN_POINT('',(-0.04,-0.05)); -#134=CARTESIAN_POINT('',(0.24,-0.05)); -#135=CARTESIAN_POINT('',(0.24,0.05)); -#136=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.2),#71)REPRESENTATION_ITEM('')); -#137=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#138=REPRESENTATION('maximum tolerance',(#137),#139); -#139=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#140=PACKAGE_BODY('','part generic feature',#122,.T.); -#141=PRODUCT('ckr05-footprint','ckr05',$,(#5970)); -#142=PRODUCT_DEFINITION_FORMATION('22',$,#141); -#143=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#142,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#144=SHAPE_REPRESENTATION('ppsm',(#26,#2020,#2027),#123); -#145=PRODUCT('rlr07','rlr07',$,(#5111)); -#146=PRODUCT_DEFINITION_FORMATION('22',$,#145); -#147=PACKAGE('rlr07',$,#146,#28,'',$,*); -#148=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#149=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#154,#2059,#2065),#148); -#150=SEATING_PLANE('seating plane',$,#147,.F.); -#151=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#152=REPRESENTATION('maximum tolerance',(#151),#153); -#153=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#154=CSG_SOLID_2D('',#155); -#155=POLYGONAL_AREA('',(#156,#157,#158,#159,#160,#161,#162,#163,#164,#165,#166,#167, - #168,#169,#170,#171,#172)); -#156=CARTESIAN_POINT('',(-0.035,0.015)); -#157=CARTESIAN_POINT('',(-0.015,0.035)); -#158=CARTESIAN_POINT('',(0.09,0.035)); -#159=CARTESIAN_POINT('',(0.095,0.05)); -#160=CARTESIAN_POINT('',(0.355,0.05)); -#161=CARTESIAN_POINT('',(0.36,0.035)); -#162=CARTESIAN_POINT('',(0.465,0.035)); -#163=CARTESIAN_POINT('',(0.485,0.015)); -#164=CARTESIAN_POINT('',(0.485,-0.015)); -#165=CARTESIAN_POINT('',(0.465,-0.035)); -#166=CARTESIAN_POINT('',(0.36,-0.035)); -#167=CARTESIAN_POINT('',(0.355,-0.05)); -#168=CARTESIAN_POINT('',(0.095,-0.05)); -#169=CARTESIAN_POINT('',(0.09,-0.035)); -#170=CARTESIAN_POINT('',(-0.015,-0.035)); -#171=CARTESIAN_POINT('',(-0.035,-0.015)); -#172=CARTESIAN_POINT('',(-0.035,0.015)); -#173=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.098),#71)REPRESENTATION_ITEM('')); -#174=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#175=REPRESENTATION('maximum tolerance',(#174),#176); -#176=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#177=PACKAGE_BODY('','part generic feature',#147,.T.); -#178=PRODUCT('rlr07-footprint','rlr07',$,(#5970)); -#179=PRODUCT_DEFINITION_FORMATION('22',$,#178); -#180=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#179,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#181=SHAPE_REPRESENTATION('ppsm',(#26,#2063,#2070),#148); -#182=PRODUCT('rlr07_1','rlr07_1',$,(#5111)); -#183=PRODUCT_DEFINITION_FORMATION('22',$,#182); -#184=PACKAGE('rlr07_1',$,#183,#28,'',$,*); -#185=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#186=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#191,#2102,#2109),#185); -#187=SEATING_PLANE('seating plane',$,#184,.F.); -#188=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#189=REPRESENTATION('maximum tolerance',(#188),#190); -#190=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#191=CSG_SOLID_2D('',#192); -#192=POLYGONAL_AREA('',(#193,#194,#195,#196,#197,#198,#199,#200,#201,#202,#203,#204, - #205,#206,#207,#208,#209)); -#193=CARTESIAN_POINT('',(-0.035,0.015)); -#194=CARTESIAN_POINT('',(-0.015,0.035)); -#195=CARTESIAN_POINT('',(0.115,0.035)); -#196=CARTESIAN_POINT('',(0.12,0.05)); -#197=CARTESIAN_POINT('',(0.38,0.05)); -#198=CARTESIAN_POINT('',(0.385,0.035)); -#199=CARTESIAN_POINT('',(0.515,0.035)); -#200=CARTESIAN_POINT('',(0.535,0.015)); -#201=CARTESIAN_POINT('',(0.535,-0.015)); -#202=CARTESIAN_POINT('',(0.515,-0.035)); -#203=CARTESIAN_POINT('',(0.385,-0.035)); -#204=CARTESIAN_POINT('',(0.38,-0.05)); -#205=CARTESIAN_POINT('',(0.12,-0.05)); -#206=CARTESIAN_POINT('',(0.115,-0.035)); -#207=CARTESIAN_POINT('',(-0.015,-0.035)); -#208=CARTESIAN_POINT('',(-0.035,-0.015)); -#209=CARTESIAN_POINT('',(-0.035,0.015)); -#210=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.098),#71)REPRESENTATION_ITEM('')); -#211=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#212=REPRESENTATION('maximum tolerance',(#211),#213); -#213=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#214=PACKAGE_BODY('','part generic feature',#184,.T.); -#215=PRODUCT('rlr07_1-footprint','rlr07_1',$,(#5970)); -#216=PRODUCT_DEFINITION_FORMATION('22',$,#215); -#217=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#216,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#218=SHAPE_REPRESENTATION('ppsm',(#26,#2107,#2113),#185); -#219=PRODUCT('se555cn','se555cn',$,(#5111)); -#220=PRODUCT_DEFINITION_FORMATION('22',$,#219); -#221=PACKAGE('se555cn',$,#220,#28,'',$,*); -#222=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#223=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#228,#2187,#2193,#2200,#2207,#2214, - #2221,#2228,#2235),#222); -#224=SEATING_PLANE('seating plane',$,#221,.F.); -#225=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#226=REPRESENTATION('maximum tolerance',(#225),#227); -#227=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#228=CSG_SOLID_2D('',#229); -#229=POLYGONAL_AREA('',(#230,#231,#232,#233,#234,#235,#236,#237,#238,#239,#240,#241, - #242,#243,#244,#245,#246)); -#230=CARTESIAN_POINT('',(-0.015,0.035)); -#231=CARTESIAN_POINT('',(0.05,0.035)); -#232=CARTESIAN_POINT('',(0.05,0.1)); -#233=CARTESIAN_POINT('',(0.25,0.1)); -#234=CARTESIAN_POINT('',(0.25,0.035)); -#235=CARTESIAN_POINT('',(0.315,0.035)); -#236=CARTESIAN_POINT('',(0.335,0.015)); -#237=CARTESIAN_POINT('',(0.335,-0.31)); -#238=CARTESIAN_POINT('',(0.315,-0.335)); -#239=CARTESIAN_POINT('',(0.25,-0.335)); -#240=CARTESIAN_POINT('',(0.25,-0.4)); -#241=CARTESIAN_POINT('',(0.05,-0.4)); -#242=CARTESIAN_POINT('',(0.05,-0.335)); -#243=CARTESIAN_POINT('',(-0.015,-0.335)); -#244=CARTESIAN_POINT('',(-0.035,-0.31)); -#245=CARTESIAN_POINT('',(-0.035,0.035)); -#246=CARTESIAN_POINT('',(-0.015,0.035)); -#247=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.2),#71)REPRESENTATION_ITEM('')); -#248=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#249=REPRESENTATION('maximum tolerance',(#248),#250); -#250=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#251=PACKAGE_BODY('','part generic feature',#221,.T.); -#252=PRODUCT('se555cn-footprint','se555cn',$,(#5970)); -#253=PRODUCT_DEFINITION_FORMATION('22',$,#252); -#254=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#253,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#255=SHAPE_REPRESENTATION('ppsm',(#26,#2191,#2198,#2205,#2212,#2219,#2226,#2233, - #2240),#222); -#256=PRODUCT('dip8_300_d04','dip8_300_d04',$,(#5111)); -#257=PRODUCT_DEFINITION_FORMATION('22',$,#256); -#258=PACKAGE('dip8_300_d04',$,#257,#28,'',$,*); -#259=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#260=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#265,#2314,#2321,#2328,#2335,#2342, - #2349,#2356,#2363),#259); -#261=SEATING_PLANE('seating plane',$,#258,.F.); -#262=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#263=REPRESENTATION('maximum tolerance',(#262),#264); -#264=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#265=CSG_SOLID_2D('',#266); -#266=POLYGONAL_AREA('',(#267,#268,#269,#270,#271,#272,#273,#274,#275,#276,#277,#278, - #279,#280,#281,#282,#283)); -#267=CARTESIAN_POINT('',(-0.015,0.035)); -#268=CARTESIAN_POINT('',(0.05,0.035)); -#269=CARTESIAN_POINT('',(0.05,0.1)); -#270=CARTESIAN_POINT('',(0.25,0.1)); -#271=CARTESIAN_POINT('',(0.25,0.035)); -#272=CARTESIAN_POINT('',(0.315,0.035)); -#273=CARTESIAN_POINT('',(0.335,0.015)); -#274=CARTESIAN_POINT('',(0.335,-0.31)); -#275=CARTESIAN_POINT('',(0.315,-0.335)); -#276=CARTESIAN_POINT('',(0.25,-0.335)); -#277=CARTESIAN_POINT('',(0.25,-0.4)); -#278=CARTESIAN_POINT('',(0.05,-0.4)); -#279=CARTESIAN_POINT('',(0.05,-0.335)); -#280=CARTESIAN_POINT('',(-0.015,-0.335)); -#281=CARTESIAN_POINT('',(-0.035,-0.31)); -#282=CARTESIAN_POINT('',(-0.035,0.035)); -#283=CARTESIAN_POINT('',(-0.015,0.035)); -#284=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.2),#71)REPRESENTATION_ITEM('')); -#285=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#286=REPRESENTATION('maximum tolerance',(#285),#287); -#287=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#288=PACKAGE_BODY('','part generic feature',#258,.T.); -#289=PRODUCT('dip8_300_d04-footprint','dip8_300_d04',$,(#5970)); -#290=PRODUCT_DEFINITION_FORMATION('22',$,#289); -#291=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#290,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#292=SHAPE_REPRESENTATION('ppsm',(#26,#2319,#2326,#2333,#2340,#2347,#2354,#2361, - #2367),#259); -#293=PRODUCT('M39014/2-1415','VCAP',$,(#5111)); -#294=PRODUCT_DEFINITION_FORMATION('22',$,#293); -#295=PACKAGED_PART('1',$,#294,#28,'',$,*); -#296=PRODUCT('M39014/2-1415','VCAP',$,(#4398)); -#297=PRODUCT_DEFINITION_FORMATION('22',$,#296); -#298=FUNCTIONAL_UNIT('1',$,#297,#28,'',$,*); -#299=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#298,.U.); -#300=PRODUCT('M39014/1-1314','VCAP',$,(#5111)); -#301=PRODUCT_DEFINITION_FORMATION('22',$,#300); -#302=PACKAGED_PART('1',$,#301,#28,'',$,*); -#303=PRODUCT('M39014/1-1314','VCAP',$,(#4398)); -#304=PRODUCT_DEFINITION_FORMATION('22',$,#303); -#305=FUNCTIONAL_UNIT('1',$,#304,#28,'',$,*); -#306=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#305,.U.); -#307=PRODUCT('RLR07C2202KM','VRES',$,(#5111)); -#308=PRODUCT_DEFINITION_FORMATION('22',$,#307); -#309=PACKAGED_PART('1',$,#308,#28,'',$,*); -#310=PRODUCT('RLR07C2202KM','VRES',$,(#4398)); -#311=PRODUCT_DEFINITION_FORMATION('22',$,#310); -#312=FUNCTIONAL_UNIT('1',$,#311,#28,'',$,*); -#313=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#312,.U.); -#314=PRODUCT('RLR07C1004KM','VRES',$,(#5111)); -#315=PRODUCT_DEFINITION_FORMATION('22',$,#314); -#316=PACKAGED_PART('1',$,#315,#28,'',$,*); -#317=PRODUCT('RLR07C1004KM','VRES',$,(#4398)); -#318=PRODUCT_DEFINITION_FORMATION('22',$,#317); -#319=FUNCTIONAL_UNIT('1',$,#318,#28,'',$,*); -#320=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#319,.U.); -#321=PRODUCT('RLR07C2200KM','VRES',$,(#5111)); -#322=PRODUCT_DEFINITION_FORMATION('22',$,#321); -#323=PACKAGED_PART('1',$,#322,#28,'',$,*); -#324=PRODUCT('RLR07C2200KM','VRES',$,(#4398)); -#325=PRODUCT_DEFINITION_FORMATION('22',$,#324); -#326=FUNCTIONAL_UNIT('1',$,#325,#28,'',$,*); -#327=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#326,.U.); -#328=PRODUCT('SE555CN','LM555H',$,(#5111)); -#329=PRODUCT_DEFINITION_FORMATION('22',$,#328); -#330=PACKAGED_PART('1',$,#329,#28,'',$,*); -#331=PRODUCT('SE555CN','LM555H',$,(#4398)); -#332=PRODUCT_DEFINITION_FORMATION('22',$,#331); -#333=FUNCTIONAL_UNIT('1',$,#332,#28,'',$,*); -#334=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#333,.U.); -#335=PACKAGED_COMPONENT('C1',$,#294,#7056,'C1','definition usage',$,#295,*,'',$, - *); -#336=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C1','',$,#46,#295,'C1','',$,#335, - *); -#337=DIRECTION('',(1.0,0.0)); -#338=DIRECTION('',(-0.0,1.0)); -#339=CARTESIAN_POINT('',(1143000.0,1333500.0)); -#340=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#337,#338,#339,1.0); -#341=COMPONENT_2D_LOCATION(*,#342,'component 2d location',$,#91,#48,#340); -#342=PRODUCT_DEFINITION_SHAPE('',$,#336); -#343=MOUNTING_RESTRICTION_AREA('restriction to place component on FRONT (TOP) surface only', - $,#46,.F.); -#344=PRODUCT('ckr06Part can be placed on 1 of PCB only','requirement',$,(#5484)); -#345=PRODUCT_DEFINITION_FORMATION('1',$,#344); -#346=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #345,#63); -#347=PRODUCT('ckr06Component can be placed on 1 of PCB only','requirement',$,(#5484)); -#348=PRODUCT_DEFINITION_FORMATION('1',$,#347); -#349=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1',$, - #348,#63); -#350=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#349)); -#351=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#346)); -#352=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#353=REPRESENTATION('component placement restriction assignment',(#3483),#3475); -#354=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#355=PACKAGED_COMPONENT('C2',$,#301,#7056,'C2','definition usage',$,#302,*,'',$, - *); -#356=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C2','',$,#46,#302,'C2','',$,#355, - *); -#357=DIRECTION('',(1.0,0.0)); -#358=DIRECTION('',(-0.0,1.0)); -#359=CARTESIAN_POINT('',(381000.0,1333500.0)); -#360=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#357,#358,#359,1.0); -#361=COMPONENT_2D_LOCATION(*,#362,'component 2d location',$,#124,#48,#360); -#362=PRODUCT_DEFINITION_SHAPE('',$,#356); -#363=PRODUCT('ckr05Part can be placed on 1 of PCB only','requirement',$,(#5484)); -#364=PRODUCT_DEFINITION_FORMATION('1',$,#363); -#365=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #364,#63); -#366=PRODUCT('ckr05Component can be placed on 1 of PCB only','requirement',$,(#5484)); -#367=PRODUCT_DEFINITION_FORMATION('1',$,#366); -#368=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1',$, - #367,#63); -#369=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#368)); -#370=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#365)); -#371=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#372=REPRESENTATION('component placement restriction assignment',(#3487),#3475); -#373=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#374=PACKAGED_COMPONENT('R1',$,#308,#7056,'R1','definition usage',$,#309,*,'',$, - *); -#375=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R1','',$,#46,#309,'R1','',$,#374, - *); -#376=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#377=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#378=CARTESIAN_POINT('',(2159000.0,1333500.0)); -#379=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#376,#377,#378,1.0); -#380=COMPONENT_2D_LOCATION(*,#381,'component 2d location',$,#149,#48,#379); -#381=PRODUCT_DEFINITION_SHAPE('',$,#375); -#382=PRODUCT('rlr07Part can be placed on 1 of PCB only','requirement',$,(#5484)); -#383=PRODUCT_DEFINITION_FORMATION('1',$,#382); -#384=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #383,#63); -#385=PRODUCT('rlr07Component can be placed on 1 of PCB only','requirement',$,(#5484)); -#386=PRODUCT_DEFINITION_FORMATION('1',$,#385); -#387=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1',$, - #386,#63); -#388=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#387)); -#389=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#384)); -#390=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#391=REPRESENTATION('component placement restriction assignment',(#3491),#3475); -#392=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#393=PACKAGED_COMPONENT('R2',$,#315,#7056,'R2','definition usage',$,#316,*,'',$, - *); -#394=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R2','',$,#46,#316,'R2','',$,#393, - *); -#395=DIRECTION('',(6.123233995736766E-17,1.0)); -#396=DIRECTION('',(-1.0,6.123233995736766E-17)); -#397=CARTESIAN_POINT('',(2413000.0,190500.0)); -#398=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#395,#396,#397,1.0); -#399=COMPONENT_2D_LOCATION(*,#400,'component 2d location',$,#149,#48,#398); -#400=PRODUCT_DEFINITION_SHAPE('',$,#394); -#401=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#402=PACKAGED_COMPONENT('R3',$,#322,#7056,'R3','definition usage',$,#323,*,'',$, - *); -#403=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R3','',$,#46,#323,'R3','',$,#402, - *); -#404=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#405=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#406=CARTESIAN_POINT('',(1905000.0,952500.0)); -#407=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#404,#405,#406,1.0); -#408=COMPONENT_2D_LOCATION(*,#409,'component 2d location',$,#186,#48,#407); -#409=PRODUCT_DEFINITION_SHAPE('',$,#403); -#410=PRODUCT('rlr07_1Part can be placed on 1 of PCB only','requirement',$,(#5484)); -#411=PRODUCT_DEFINITION_FORMATION('1',$,#410); -#412=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #411,#63); -#413=PRODUCT('rlr07_1Component can be placed on 1 of PCB only','requirement',$, - (#5484)); -#414=PRODUCT_DEFINITION_FORMATION('1',$,#413); -#415=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1',$, - #414,#63); -#416=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#415)); -#417=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#412)); -#418=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#419=REPRESENTATION('component placement restriction assignment',(#3495),#3475); -#420=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#421=PACKAGED_COMPONENT('R4',$,#322,#7056,'R4','definition usage',$,#323,*,'',$, - *); -#422=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R4','',$,#46,#323,'R4','',$,#421, - *); -#423=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#424=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#425=CARTESIAN_POINT('',(1905000.0,698500.0)); -#426=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#423,#424,#425,1.0); -#427=COMPONENT_2D_LOCATION(*,#428,'component 2d location',$,#186,#48,#426); -#428=PRODUCT_DEFINITION_SHAPE('',$,#422); -#429=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#430=PACKAGED_COMPONENT('R5',$,#322,#7056,'R5','definition usage',$,#323,*,'',$, - *); -#431=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R5','',$,#46,#323,'R5','',$,#430, - *); -#432=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#433=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#434=CARTESIAN_POINT('',(1905000.0,444500.0)); -#435=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#432,#433,#434,1.0); -#436=COMPONENT_2D_LOCATION(*,#437,'component 2d location',$,#186,#48,#435); -#437=PRODUCT_DEFINITION_SHAPE('',$,#431); -#438=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#439=PACKAGED_COMPONENT('R6',$,#322,#7056,'R6','definition usage',$,#323,*,'',$, - *); -#440=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R6','',$,#46,#323,'R6','',$,#439, - *); -#441=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#442=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#443=CARTESIAN_POINT('',(1905000.0,190500.0)); -#444=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#441,#442,#443,1.0); -#445=COMPONENT_2D_LOCATION(*,#446,'component 2d location',$,#186,#48,#444); -#446=PRODUCT_DEFINITION_SHAPE('',$,#440); -#447=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#448=PACKAGED_COMPONENT('U1',$,#329,#7056,'U1','definition usage',$,#330,*,'',$, - *); -#449=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('U1','',$,#46,#330,'U1','',$,#448, - *); -#450=DIRECTION('',(1.0,0.0)); -#451=DIRECTION('',(-0.0,1.0)); -#452=CARTESIAN_POINT('',(889000.0,952500.0)); -#453=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#450,#451,#452,1.0); -#454=COMPONENT_2D_LOCATION(*,#455,'component 2d location',$,#223,#48,#453); -#455=PRODUCT_DEFINITION_SHAPE('',$,#449); -#456=PRODUCT('se555cnPart can be placed on 1 of PCB only','requirement',$,(#5484)); -#457=PRODUCT_DEFINITION_FORMATION('1',$,#456); -#458=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #457,#63); -#459=PRODUCT('se555cnComponent can be placed on 1 of PCB only','requirement',$, - (#5484)); -#460=PRODUCT_DEFINITION_FORMATION('1',$,#459); -#461=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1',$, - #460,#63); -#462=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#461)); -#463=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#458)); -#464=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#465=REPRESENTATION('component placement restriction assignment',(#3499),#3475); -#466=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#467=PRODUCT('library stack','library stack',$,(#5970)); -#468=PRODUCT_DEFINITION_FORMATION('1',$,#467); -#469=LIBRARY_STACK_MODEL('1',$,#468,#28,'',$,*); -#470=STRATUM_TECHNOLOGY('GLUE_MASK','documentation layer','',$,*); -#471=REPRESENTATION('maximum tolerance',(#474),#472); -#472=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#473)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#473=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19,'',$); -#474=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.3),#19)QUALIFIED_REPRESENTATION_ITEM((#475))REPRESENTATION_ITEM('')); -#475=TYPE_QUALIFIER('maximum'); -#476=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('solder',(#470,#480,#484, - #488)); -#477=STRATUM_TECHNOLOGY_OCCURRENCE('GLUE_MASK_1',$,#470); -#478=STRATUM_TECHNOLOGY_OCCURRENCE('GLUE_MASK_2',$,#470); -#479=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#469,'','',#477,#478); -#480=STRATUM_TECHNOLOGY('PASTE_MASK','documentation layer','',$,*); -#481=STRATUM_TECHNOLOGY_OCCURRENCE('PASTE_MASK_1',$,#480); -#482=STRATUM_TECHNOLOGY_OCCURRENCE('PASTE_MASK_2',$,#480); -#483=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#469,'','',#481,#482); -#484=STRATUM_TECHNOLOGY('SILKSCREEN','documentation layer','',$,*); -#485=STRATUM_TECHNOLOGY_OCCURRENCE('SILKSCREEN_1',$,#484); -#486=STRATUM_TECHNOLOGY_OCCURRENCE('SILKSCREEN_2',$,#484); -#487=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#469,'','',#485,#486); -#488=STRATUM_TECHNOLOGY('SOLDER_MASK','documentation layer','',$,*); -#489=STRATUM_TECHNOLOGY_OCCURRENCE('SOLDER_MASK_1',$,#488); -#490=STRATUM_TECHNOLOGY_OCCURRENCE('SOLDER_MASK_2',$,#488); -#491=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#469,'','',#489,#490); -#492=STRATUM_TECHNOLOGY('substrate technology',$,'',$,*); -#493=REPRESENTATION('minimum tolerance',(#495),#494); -#494=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#495=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.3),#19)QUALIFIED_REPRESENTATION_ITEM((#496))REPRESENTATION_ITEM('')); -#496=TYPE_QUALIFIER('minimum'); -#497=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('dielectric',(#492)); -#498=APPLIED_CLASSIFICATION_ASSIGNMENT(#500,#499,(#497)); -#499=CLASSIFICATION_ROLE('non conductive',$); -#500=CLASS('non conductive','electrical conductivity'); -#501=STRATUM_TECHNOLOGY('SIGNAL-EXTERNAL','design layer','',$,*); -#502=REPRESENTATION('maximum tolerance',(#503),#472); -#503=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.3),#19)QUALIFIED_REPRESENTATION_ITEM((#475))REPRESENTATION_ITEM('')); -#504=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('copper',(#501,#508,#536)); -#505=REPRESENTATION('tolerance',(#506),#507); -#506=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)REPRESENTATION_ITEM('thickness for external copper layers')); -#507=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#508=STRATUM_TECHNOLOGY('SIGNAL-INTERNAL','design layer','',$,*); -#509=REPRESENTATION('tolerance',(#510),#511); -#510=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)REPRESENTATION_ITEM('thickness for internal copper layers')); -#511=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#512=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_1',$,#501); -#513=STRATUM_TECHNOLOGY_OCCURRENCE('substrate',$,#492); -#514=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_2',$,#508); -#515=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_2',$,#492); -#516=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_3',$,#508); -#517=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_3',$,#492); -#518=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_4',$,#508); -#519=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_4',$,#492); -#520=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_5',$,#508); -#521=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_5',$,#492); -#522=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_6',$,#508); -#523=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_6',$,#492); -#524=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_7',$,#508); -#525=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_7',$,#492); -#526=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_8',$,#508); -#527=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_8',$,#492); -#528=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_9',$,#508); -#529=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_9',$,#492); -#530=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_10',$,#508); -#531=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_10',$,#492); -#532=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_11',$,#508); -#533=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_11',$,#492); -#534=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_12',$,#501); -#535=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_12',$,#492); -#536=STRATUM_TECHNOLOGY('POWER-INTERNAL','design layer','',$,*); -#537=REPRESENTATION('tolerance',(#538),#539); -#538=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)REPRESENTATION_ITEM('thickness for internal copper layers')); -#539=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#540=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_1',$,#536); -#541=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_13',$,#492); -#542=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_2',$,#536); -#543=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_14',$,#492); -#544=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_3',$,#536); -#545=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_15',$,#492); -#546=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_4',$,#536); -#547=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_16',$,#492); -#548=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_5',$,#536); -#549=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_17',$,#492); -#550=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_6',$,#536); -#551=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_18',$,#492); -#552=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_7',$,#536); -#553=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#477,#481); -#554=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#481,#485); -#555=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#485,#489); -#556=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#489,#512); -#557=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#512,#513); -#558=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#513,#514); -#559=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#514,#515); -#560=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#515,#516); -#561=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#516,#517); -#562=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#517,#518); -#563=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#518,#519); -#564=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#519,#520); -#565=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#520,#521); -#566=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#521,#522); -#567=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#522,#523); -#568=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#523,#524); -#569=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#524,#525); -#570=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#525,#526); -#571=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#526,#527); -#572=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#527,#528); -#573=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#528,#529); -#574=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#529,#530); -#575=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#530,#531); -#576=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#531,#532); -#577=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#532,#533); -#578=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#533,#534); -#579=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#534,#535); -#580=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#535,#540); -#581=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#540,#541); -#582=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#541,#542); -#583=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#542,#543); -#584=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#543,#544); -#585=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#544,#545); -#586=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#545,#546); -#587=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#546,#547); -#588=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#547,#548); -#589=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#548,#549); -#590=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#549,#550); -#591=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#550,#551); -#592=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#551,#552); -#593=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#552,#490); -#594=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#490,#486); -#595=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#486,#482); -#596=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#469,'','',#482,#478); -#597=PRODUCT('design stack','design stack',$,(#5970)); -#598=PRODUCT_DEFINITION_FORMATION('1',$,#597); -#599=DESIGN_STACK_MODEL('1',$,#598,#28,'',$,*); -#600=LIBRARY_TO_DESIGN_STACK_MODEL_MAPPING('','',$,#469,#599); -#601=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#599,'','',#477,#481); -#602=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#599,'','',#481,#485); -#603=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#599,'','',#485,#489); -#604=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#599,'','',#489,#512); -#605=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#599,'','',#512,#513); -#606=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#599,'','',#513,#534); -#607=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#599,'','',#534,#490); -#608=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#599,'','',#490,#486); -#609=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#599,'','',#486,#482); -#610=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#599,'','',#482,#478); -#611=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#599,'','',#512,#534); -#612=DOCUMENTATION_LAYER_STRATUM('PASTE_MASK_2',$,#14,#28,'',$,*); -#613=ASSEMBLY_COMPONENT_USAGE('PASTE_MASK_2','interconnect module stratum assembly relationship', - $,#34,#612,'PASTE_MASK_2'); -#614=DOCUMENTATION_LAYER_STRATUM('GLUE_MASK_2',$,#14,#28,'',$,*); -#615=ASSEMBLY_COMPONENT_USAGE('GLUE_MASK_2','interconnect module stratum assembly relationship', - $,#34,#614,'GLUE_MASK_2'); -#616=DOCUMENTATION_LAYER_STRATUM('SILKSCREEN_2',$,#14,#28,'',$,*); -#617=ASSEMBLY_COMPONENT_USAGE('SILKSCREEN_2','interconnect module stratum assembly relationship', - $,#34,#616,'SILKSCREEN_2'); -#618=DOCUMENTATION_LAYER_STRATUM('SOLDER_MASK_2',$,#14,#28,'',$,*); -#619=ASSEMBLY_COMPONENT_USAGE('SOLDER_MASK_2','interconnect module stratum assembly relationship', - $,#34,#618,'SOLDER_MASK_2'); -#620=DESIGN_LAYER_STRATUM('LAYER_2','non primary design layer stratum',#14,#28,'', - $,*); -#621=ASSEMBLY_COMPONENT_USAGE('2','interconnect module stratum assembly relationship', - $,#34,#620,'2'); -#622=STRATUM('substrate',$,#14,#28,'',$,*); -#623=ASSEMBLY_COMPONENT_USAGE('substrate','interconnect module stratum assembly relationship', - $,#34,#622,'substrate'); -#624=DESIGN_LAYER_STRATUM('LAYER_1','primary design layer stratum',#14,#28,'',$, - *); -#625=ASSEMBLY_COMPONENT_USAGE('1','interconnect module stratum assembly relationship', - $,#34,#624,'1'); -#626=DOCUMENTATION_LAYER_STRATUM('SOLDER_MASK_1',$,#14,#28,'',$,*); -#627=ASSEMBLY_COMPONENT_USAGE('SOLDER_MASK_1','interconnect module stratum assembly relationship', - $,#34,#626,'SOLDER_MASK_1'); -#628=DOCUMENTATION_LAYER_STRATUM('SILKSCREEN_1',$,#14,#28,'',$,*); -#629=ASSEMBLY_COMPONENT_USAGE('SILKSCREEN_1','interconnect module stratum assembly relationship', - $,#34,#628,'SILKSCREEN_1'); -#630=DOCUMENTATION_LAYER_STRATUM('PASTE_MASK_1',$,#14,#28,'',$,*); -#631=ASSEMBLY_COMPONENT_USAGE('PASTE_MASK_1','interconnect module stratum assembly relationship', - $,#34,#630,'PASTE_MASK_1'); -#632=DOCUMENTATION_LAYER_STRATUM('GLUE_MASK_1',$,#14,#28,'',$,*); -#633=ASSEMBLY_COMPONENT_USAGE('GLUE_MASK_1','interconnect module stratum assembly relationship', - $,#34,#632,'GLUE_MASK_1'); -#634=PRODUCT('Max allowed track length in stratum 0.0mm','requirement',$,(#5484)); -#635=PRODUCT_DEFINITION_FORMATION('1',$,#634); -#636=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#635,#63); -#637=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#638=PRODUCT('Min allowed track length in stratum 0.0mm','requirement',$,(#5484)); -#639=PRODUCT_DEFINITION_FORMATION('1',$,#638); -#640=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#639,#63); -#641=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#642=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#643=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#644=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#32,#5658); -#645=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#33,#5659); -#646=SHAPE_ASPECT('Outline where routing can be performed in','vlnfse',#15,.F.); -#647=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#649),#648); -#648=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#649=CSG_SOLID_2D('',#650); -#650=POLYGONAL_AREA('',(#651,#652,#653,#654)); -#651=CARTESIAN_POINT('',(0.0,0.0)); -#652=CARTESIAN_POINT('',(1.0,0.0)); -#653=CARTESIAN_POINT('',(1.0,0.6)); -#654=CARTESIAN_POINT('',(0.0,0.6)); -#655=REPRESENTATION('tolerance',(#656),#657); -#656=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.062),#71)REPRESENTATION_ITEM('thickness for thermal analysis')); -#657=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#658=APPLIED_DOCUMENT_REFERENCE(#5628,'',(#656)); -#659=PRODUCT('TJUNCTIONS_ALLOWED','requirement',$,(#5484)); -#660=PRODUCT_DEFINITION_FORMATION('1',$,#659); -#661=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#660,#63); -#662=DESCRIPTIVE_REPRESENTATION_ITEM('TJUNCTIONS_ALLOWED','true'); -#663=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#664=INTER_STRATUM_FEATURE_TEMPLATE('id',$,#668,#28,'',$,*); -#665=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#696),#666); -#666=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#667=PASSAGE_TECHNOLOGY('technology for outline',$,'',$,*); -#668=PRODUCT_DEFINITION_FORMATION('1',$,#669); -#669=PRODUCT('Outline of board','template',$,(#5970)); -#670=INTERCONNECT_MODULE_EDGE('Outline of board',$,#668,#28,'Outline of board','definition usage', - $,#664,*,'',$,*); -#671=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('Outline of board','',$,#34,#664, - 'Outline of board','',$,#670,*); -#672=DIRECTION('',(1.0,0.0)); -#673=DIRECTION('',(-0.0,1.0)); -#674=CARTESIAN_POINT('',(0.0,0.0)); -#675=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#672,#673,#674,1.0); -#676=COMPONENT_2D_LOCATION(*,#677,'component 2d location',$,#665,#36,#675); -#677=PRODUCT_DEFINITION_SHAPE('',$,#671); -#678=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#31,#5660); -#679=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4557,#680,'',$,#31,#25,*); -#680=AXIS2_PLACEMENT_2D('',#681,$); -#681=CARTESIAN_POINT('',(0.0,0.0)); -#682=SHAPE_ASPECT('outline','part generic feature',#39,.T.); -#683=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4557,#684,'',$,#682,#41,*); -#684=AXIS2_PLACEMENT_2D('',#685,$); -#685=CARTESIAN_POINT('',(0.0,0.0)); -#686=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - $,#682,#57); -#687=COMPOSITE_CURVE('',(#694),.F.); -#688=POLYLINE('',(#689,#690,#691,#692,#693)); -#689=CARTESIAN_POINT('',(0.0,0.6)); -#690=CARTESIAN_POINT('',(0.0,0.0)); -#691=CARTESIAN_POINT('',(1.0,0.0)); -#692=CARTESIAN_POINT('',(1.0,0.6)); -#693=CARTESIAN_POINT('',(0.0,0.6)); -#694=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#688); -#695=AREA_WITH_OUTER_BOUNDARY('',#687,.T.); -#696=CSG_PRIMITIVE_SOLID_2D('',#695); -#697=PRODUCT('solid fill area template','template',$,(#5970)); -#698=PRODUCT_DEFINITION_FORMATION('1',$,#697); -#699=CLOSED_CURVE_STYLE_PARAMETERS('',(#3446,#3447,#700),#3445); -#700=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 1.0),#17)REPRESENTATION_ITEM('curve width')); -#701=(LENGTH_MEASURE_WITH_UNIT()MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19) - UNCERTAINTY_MEASURE_WITH_UNIT('',$)); -#702=FILL_AREA_TEMPLATE('1',$,#698,#28,'',$,*); -#703=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for PASTE_MASK_1',$,#698,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for PASTE_MASK_1','definition usage', - $,#702,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for PASTE_MASK_1', - $,#630,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#704=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_1','',$,#34, - #702,'base for PASTE_MASK_1','',$,#703,*); -#705=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#706,#708),#35); -#706=AXIS2_PLACEMENT_2D('origin',#707,$); -#707=CARTESIAN_POINT('',(0.0,0.0)); -#708=CSG_PRIMITIVE_SOLID_2D('',#709); -#709=POLYGONAL_AREA('',(#710,#711,#712,#713)); -#710=CARTESIAN_POINT('',(0.0,1523999.9999999998)); -#711=CARTESIAN_POINT('',(0.0,0.0)); -#712=CARTESIAN_POINT('',(2539999.9999999995,0.0)); -#713=CARTESIAN_POINT('',(2539999.9999999995,1523999.9999999998)); -#714=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for PASTE_MASK_2',$,#698,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for PASTE_MASK_2','definition usage', - $,#702,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for PASTE_MASK_2', - $,#612,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#715=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_2','',$,#34, - #702,'base for PASTE_MASK_2','',$,#714,*); -#716=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for SOLDER_MASK_1',$,#698,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for SOLDER_MASK_1','definition usage', - $,#702,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for SOLDER_MASK_1', - $,#626,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#717=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_1','',$,#34, - #702,'base for SOLDER_MASK_1','',$,#716,*); -#718=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for GLUE_MASK_1',$,#698,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for GLUE_MASK_1','definition usage',$, - #702,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for GLUE_MASK_1', - $,#632,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#719=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for GLUE_MASK_1','',$,#34, - #702,'base for GLUE_MASK_1','',$,#718,*); -#720=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for SOLDER_MASK_2',$,#698,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for SOLDER_MASK_2','definition usage', - $,#702,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for SOLDER_MASK_2', - $,#618,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#721=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_2','',$,#34, - #702,'base for SOLDER_MASK_2','',$,#720,*); -#722=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for GLUE_MASK_2',$,#698,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for GLUE_MASK_2','definition usage',$, - #702,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for GLUE_MASK_2', - $,#614,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#723=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for GLUE_MASK_2','',$,#34, - #702,'base for GLUE_MASK_2','',$,#722,*); -#724=PRODUCT('pad080c_047-padstack','template',$,(#5970)); -#725=PRODUCT_DEFINITION_FORMATION('1',$,#724); -#726=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#725,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#727=SHAPE_REPRESENTATION('ppsm',(#26,#748,#757,#761,#765,#769,#773,#777,#781,#793, - #797,#810,#814,#818,#822,#826,#830,#834,#838,#842,#846,#850,#854),#728); -#728=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#729=PASSAGE_TECHNOLOGY('0.047 inches','default component termination passage definition', - '',$,*); -#730=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.047),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#731=REPRESENTATION('maximum tolerance',(#730),#732); -#732=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#733=REPRESENTATION('minimum tolerance',(#734),#494); -#734=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#19)QUALIFIED_REPRESENTATION_ITEM((#735))REPRESENTATION_ITEM('')); -#735=TYPE_QUALIFIER('minimum'); -#736=(MATERIAL_DESIGNATION('copper',(#729,#865,#997,#1828)) - MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION() - PASSAGE_DEPOSITION_MATERIAL_IDENTIFICATION()); -#737=PRODUCT('pad080c_047-drill','template',$,(#5970)); -#738=PRODUCT_DEFINITION_FORMATION('1',$,#737); -#739=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#738,#28,'',$,*); -#740=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #739,.T.); -#741=SHAPE_ASPECT('inside','component termination passage template join terminal', - #739,.T.); -#742=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#744),#743); -#743=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#744=CSG_PRIMITIVE_SOLID_2D('',#746); -#745=CARTESIAN_POINT('',(0.0,0.0)); -#746=CIRCULAR_AREA('',#745,0.0235); -#747=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#726,#739,'drill'); -#748=MAPPED_ITEM('tlistt',#5971,#749); -#749=AXIS2_PLACEMENT_2D('',#750,$); -#750=CARTESIAN_POINT('',(0.0,0.0)); -#751=PRODUCT('pad080c_047-POWER','template',$,(#5970)); -#752=PRODUCT_DEFINITION_FORMATION('1',$,#751); -#753=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#752,#28,'',$,*); -#754=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#784),#755); -#755=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#756=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#726,#753, - 'POWER_1','',$,#756); -#757=MAPPED_ITEM('tlistt',#5976,#758); -#758=AXIS2_PLACEMENT_2D('',#759,$); -#759=CARTESIAN_POINT('',(0.0,0.0)); -#760=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#726,#753, - 'POWER_2','',$,#760); -#761=MAPPED_ITEM('tlistt',#5976,#762); -#762=AXIS2_PLACEMENT_2D('',#763,$); -#763=CARTESIAN_POINT('',(0.0,0.0)); -#764=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#726,#753, - 'POWER_3','',$,#764); -#765=MAPPED_ITEM('tlistt',#5976,#766); -#766=AXIS2_PLACEMENT_2D('',#767,$); -#767=CARTESIAN_POINT('',(0.0,0.0)); -#768=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#726,#753, - 'POWER_4','',$,#768); -#769=MAPPED_ITEM('tlistt',#5976,#770); -#770=AXIS2_PLACEMENT_2D('',#771,$); -#771=CARTESIAN_POINT('',(0.0,0.0)); -#772=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#726,#753, - 'POWER_5','',$,#772); -#773=MAPPED_ITEM('tlistt',#5976,#774); -#774=AXIS2_PLACEMENT_2D('',#775,$); -#775=CARTESIAN_POINT('',(0.0,0.0)); -#776=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#726,#753, - 'POWER_6','',$,#776); -#777=MAPPED_ITEM('tlistt',#5976,#778); -#778=AXIS2_PLACEMENT_2D('',#779,$); -#779=CARTESIAN_POINT('',(0.0,0.0)); -#780=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#726,#753, - 'POWER_7','',$,#780); -#781=MAPPED_ITEM('tlistt',#5976,#782); -#782=AXIS2_PLACEMENT_2D('',#783,$); -#783=CARTESIAN_POINT('',(0.0,0.0)); -#784=CSG_PRIMITIVE_SOLID_2D('',#786); -#785=CARTESIAN_POINT('',(0.0,0.0)); -#786=CIRCULAR_AREA('',#785,0.05); -#787=PRODUCT('pad080c_047-SOLDER_MASK','template',$,(#5970)); -#788=PRODUCT_DEFINITION_FORMATION('1',$,#787); -#789=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#788,#28,'',$,*); -#790=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#800),#791); -#791=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#792=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#726, - #789,'SOLDER_MASK_1','',$,#792); -#793=MAPPED_ITEM('tlistt',#5998,#794); -#794=AXIS2_PLACEMENT_2D('',#795,$); -#795=CARTESIAN_POINT('',(0.0,0.0)); -#796=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#726, - #789,'SOLDER_MASK_2','',$,#796); -#797=MAPPED_ITEM('tlistt',#5998,#798); -#798=AXIS2_PLACEMENT_2D('',#799,$); -#799=CARTESIAN_POINT('',(0.0,0.0)); -#800=CSG_PRIMITIVE_SOLID_2D('',#802); -#801=CARTESIAN_POINT('',(0.0,0.0)); -#802=CIRCULAR_AREA('',#801,0.045); -#803=PRODUCT('pad080c_047-SIGNAL','template',$,(#5970)); -#804=PRODUCT_DEFINITION_FORMATION('1',$,#803); -#805=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #804,#28,'',$,*); -#806=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#857),#807); -#807=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#808=LAND_TEMPLATE_TERMINAL('inside','join terminal',#805,.T.); -#809=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#726,#805, - 'SIGNAL_1','',$,#809); -#810=MAPPED_ITEM('tlistt',#6005,#811); -#811=AXIS2_PLACEMENT_2D('',#812,$); -#812=CARTESIAN_POINT('',(0.0,0.0)); -#813=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#726,#805, - 'SIGNAL_2','',$,#813); -#814=MAPPED_ITEM('tlistt',#6005,#815); -#815=AXIS2_PLACEMENT_2D('',#816,$); -#816=CARTESIAN_POINT('',(0.0,0.0)); -#817=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#726,#805, - 'SIGNAL_3','',$,#817); -#818=MAPPED_ITEM('tlistt',#6005,#819); -#819=AXIS2_PLACEMENT_2D('',#820,$); -#820=CARTESIAN_POINT('',(0.0,0.0)); -#821=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#726,#805, - 'SIGNAL_4','',$,#821); -#822=MAPPED_ITEM('tlistt',#6005,#823); -#823=AXIS2_PLACEMENT_2D('',#824,$); -#824=CARTESIAN_POINT('',(0.0,0.0)); -#825=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#726,#805, - 'SIGNAL_5','',$,#825); -#826=MAPPED_ITEM('tlistt',#6005,#827); -#827=AXIS2_PLACEMENT_2D('',#828,$); -#828=CARTESIAN_POINT('',(0.0,0.0)); -#829=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#726,#805, - 'SIGNAL_6','',$,#829); -#830=MAPPED_ITEM('tlistt',#6005,#831); -#831=AXIS2_PLACEMENT_2D('',#832,$); -#832=CARTESIAN_POINT('',(0.0,0.0)); -#833=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#726,#805, - 'SIGNAL_7','',$,#833); -#834=MAPPED_ITEM('tlistt',#6005,#835); -#835=AXIS2_PLACEMENT_2D('',#836,$); -#836=CARTESIAN_POINT('',(0.0,0.0)); -#837=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#726,#805, - 'SIGNAL_8','',$,#837); -#838=MAPPED_ITEM('tlistt',#6005,#839); -#839=AXIS2_PLACEMENT_2D('',#840,$); -#840=CARTESIAN_POINT('',(0.0,0.0)); -#841=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#726,#805, - 'SIGNAL_9','',$,#841); -#842=MAPPED_ITEM('tlistt',#6005,#843); -#843=AXIS2_PLACEMENT_2D('',#844,$); -#844=CARTESIAN_POINT('',(0.0,0.0)); -#845=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#726,#805, - 'SIGNAL_10','',$,#845); -#846=MAPPED_ITEM('tlistt',#6005,#847); -#847=AXIS2_PLACEMENT_2D('',#848,$); -#848=CARTESIAN_POINT('',(0.0,0.0)); -#849=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#726,#805, - 'SIGNAL_11','',$,#849); -#850=MAPPED_ITEM('tlistt',#6005,#851); -#851=AXIS2_PLACEMENT_2D('',#852,$); -#852=CARTESIAN_POINT('',(0.0,0.0)); -#853=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#726,#805, - 'SIGNAL_12','',$,#853); -#854=MAPPED_ITEM('tlistt',#6005,#855); -#855=AXIS2_PLACEMENT_2D('',#856,$); -#856=CARTESIAN_POINT('',(0.0,0.0)); -#857=CSG_PRIMITIVE_SOLID_2D('',#859); -#858=CARTESIAN_POINT('',(0.0,0.0)); -#859=CIRCULAR_AREA('',#858,0.04); -#860=PRODUCT('pad065c_039-padstack','template',$,(#5970)); -#861=PRODUCT_DEFINITION_FORMATION('1',$,#860); -#862=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#861,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#863=SHAPE_REPRESENTATION('ppsm',(#26,#880,#889,#893,#897,#901,#905,#909,#913,#925, - #929,#942,#946,#950,#954,#958,#962,#966,#970,#974,#978,#982,#986),#864); -#864=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#865=PASSAGE_TECHNOLOGY('0.039 inches','default component termination passage definition', - '',$,*); -#866=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.039),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#867=REPRESENTATION('maximum tolerance',(#866),#868); -#868=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#869=PRODUCT('pad065c_039-drill','template',$,(#5970)); -#870=PRODUCT_DEFINITION_FORMATION('1',$,#869); -#871=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#870,#28,'',$,*); -#872=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #871,.T.); -#873=SHAPE_ASPECT('inside','component termination passage template join terminal', - #871,.T.); -#874=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#876),#875); -#875=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#876=CSG_PRIMITIVE_SOLID_2D('',#878); -#877=CARTESIAN_POINT('',(0.0,0.0)); -#878=CIRCULAR_AREA('',#877,0.0195); -#879=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#862,#871,'drill'); -#880=MAPPED_ITEM('tlistt',#4564,#881); -#881=AXIS2_PLACEMENT_2D('',#882,$); -#882=CARTESIAN_POINT('',(0.0,0.0)); -#883=PRODUCT('pad065c_039-POWER','template',$,(#5970)); -#884=PRODUCT_DEFINITION_FORMATION('1',$,#883); -#885=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#884,#28,'',$,*); -#886=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#916),#887); -#887=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#888=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#862,#885, - 'POWER_1','',$,#888); -#889=MAPPED_ITEM('tlistt',#6045,#890); -#890=AXIS2_PLACEMENT_2D('',#891,$); -#891=CARTESIAN_POINT('',(0.0,0.0)); -#892=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#862,#885, - 'POWER_2','',$,#892); -#893=MAPPED_ITEM('tlistt',#6045,#894); -#894=AXIS2_PLACEMENT_2D('',#895,$); -#895=CARTESIAN_POINT('',(0.0,0.0)); -#896=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#862,#885, - 'POWER_3','',$,#896); -#897=MAPPED_ITEM('tlistt',#6045,#898); -#898=AXIS2_PLACEMENT_2D('',#899,$); -#899=CARTESIAN_POINT('',(0.0,0.0)); -#900=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#862,#885, - 'POWER_4','',$,#900); -#901=MAPPED_ITEM('tlistt',#6045,#902); -#902=AXIS2_PLACEMENT_2D('',#903,$); -#903=CARTESIAN_POINT('',(0.0,0.0)); -#904=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#862,#885, - 'POWER_5','',$,#904); -#905=MAPPED_ITEM('tlistt',#6045,#906); -#906=AXIS2_PLACEMENT_2D('',#907,$); -#907=CARTESIAN_POINT('',(0.0,0.0)); -#908=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#862,#885, - 'POWER_6','',$,#908); -#909=MAPPED_ITEM('tlistt',#6045,#910); -#910=AXIS2_PLACEMENT_2D('',#911,$); -#911=CARTESIAN_POINT('',(0.0,0.0)); -#912=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#862,#885, - 'POWER_7','',$,#912); -#913=MAPPED_ITEM('tlistt',#6045,#914); -#914=AXIS2_PLACEMENT_2D('',#915,$); -#915=CARTESIAN_POINT('',(0.0,0.0)); -#916=CSG_PRIMITIVE_SOLID_2D('',#918); -#917=CARTESIAN_POINT('',(0.0,0.0)); -#918=CIRCULAR_AREA('',#917,0.0425); -#919=PRODUCT('pad065c_039-SOLDER_MASK','template',$,(#5970)); -#920=PRODUCT_DEFINITION_FORMATION('1',$,#919); -#921=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#920,#28,'',$,*); -#922=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#932),#923); -#923=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#924=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#862, - #921,'SOLDER_MASK_1','',$,#924); -#925=MAPPED_ITEM('tlistt',#6067,#926); -#926=AXIS2_PLACEMENT_2D('',#927,$); -#927=CARTESIAN_POINT('',(0.0,0.0)); -#928=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#862, - #921,'SOLDER_MASK_2','',$,#928); -#929=MAPPED_ITEM('tlistt',#6067,#930); -#930=AXIS2_PLACEMENT_2D('',#931,$); -#931=CARTESIAN_POINT('',(0.0,0.0)); -#932=CSG_PRIMITIVE_SOLID_2D('',#934); -#933=CARTESIAN_POINT('',(0.0,0.0)); -#934=CIRCULAR_AREA('',#933,0.0375); -#935=PRODUCT('pad065c_039-SIGNAL','template',$,(#5970)); -#936=PRODUCT_DEFINITION_FORMATION('1',$,#935); -#937=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #936,#28,'',$,*); -#938=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#989),#939); -#939=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#940=LAND_TEMPLATE_TERMINAL('inside','join terminal',#937,.T.); -#941=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#862,#937, - 'SIGNAL_1','',$,#941); -#942=MAPPED_ITEM('tlistt',#6074,#943); -#943=AXIS2_PLACEMENT_2D('',#944,$); -#944=CARTESIAN_POINT('',(0.0,0.0)); -#945=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#862,#937, - 'SIGNAL_2','',$,#945); -#946=MAPPED_ITEM('tlistt',#6074,#947); -#947=AXIS2_PLACEMENT_2D('',#948,$); -#948=CARTESIAN_POINT('',(0.0,0.0)); -#949=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#862,#937, - 'SIGNAL_3','',$,#949); -#950=MAPPED_ITEM('tlistt',#6074,#951); -#951=AXIS2_PLACEMENT_2D('',#952,$); -#952=CARTESIAN_POINT('',(0.0,0.0)); -#953=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#862,#937, - 'SIGNAL_4','',$,#953); -#954=MAPPED_ITEM('tlistt',#6074,#955); -#955=AXIS2_PLACEMENT_2D('',#956,$); -#956=CARTESIAN_POINT('',(0.0,0.0)); -#957=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#862,#937, - 'SIGNAL_5','',$,#957); -#958=MAPPED_ITEM('tlistt',#6074,#959); -#959=AXIS2_PLACEMENT_2D('',#960,$); -#960=CARTESIAN_POINT('',(0.0,0.0)); -#961=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#862,#937, - 'SIGNAL_6','',$,#961); -#962=MAPPED_ITEM('tlistt',#6074,#963); -#963=AXIS2_PLACEMENT_2D('',#964,$); -#964=CARTESIAN_POINT('',(0.0,0.0)); -#965=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#862,#937, - 'SIGNAL_7','',$,#965); -#966=MAPPED_ITEM('tlistt',#6074,#967); -#967=AXIS2_PLACEMENT_2D('',#968,$); -#968=CARTESIAN_POINT('',(0.0,0.0)); -#969=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#862,#937, - 'SIGNAL_8','',$,#969); -#970=MAPPED_ITEM('tlistt',#6074,#971); -#971=AXIS2_PLACEMENT_2D('',#972,$); -#972=CARTESIAN_POINT('',(0.0,0.0)); -#973=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#862,#937, - 'SIGNAL_9','',$,#973); -#974=MAPPED_ITEM('tlistt',#6074,#975); -#975=AXIS2_PLACEMENT_2D('',#976,$); -#976=CARTESIAN_POINT('',(0.0,0.0)); -#977=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#862,#937, - 'SIGNAL_10','',$,#977); -#978=MAPPED_ITEM('tlistt',#6074,#979); -#979=AXIS2_PLACEMENT_2D('',#980,$); -#980=CARTESIAN_POINT('',(0.0,0.0)); -#981=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#862,#937, - 'SIGNAL_11','',$,#981); -#982=MAPPED_ITEM('tlistt',#6074,#983); -#983=AXIS2_PLACEMENT_2D('',#984,$); -#984=CARTESIAN_POINT('',(0.0,0.0)); -#985=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#862,#937, - 'SIGNAL_12','',$,#985); -#986=MAPPED_ITEM('tlistt',#6074,#987); -#987=AXIS2_PLACEMENT_2D('',#988,$); -#988=CARTESIAN_POINT('',(0.0,0.0)); -#989=CSG_PRIMITIVE_SOLID_2D('',#991); -#990=CARTESIAN_POINT('',(0.0,0.0)); -#991=CIRCULAR_AREA('',#990,0.0325); -#992=PRODUCT('pad075c_043-padstack','template',$,(#5970)); -#993=PRODUCT_DEFINITION_FORMATION('1',$,#992); -#994=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#993,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#995=SHAPE_REPRESENTATION('ppsm',(#26,#1012,#1021,#1025,#1029,#1033,#1037,#1041, - #1045,#1057,#1061,#1074,#1078,#1082,#1086,#1090,#1094,#1098,#1102,#1106,#1110, - #1114,#1118),#996); -#996=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#997=PASSAGE_TECHNOLOGY('0.043 inches','default component termination passage definition', - '',$,*); -#998=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.043),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#999=REPRESENTATION('maximum tolerance',(#998),#1000); -#1000=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1001=PRODUCT('pad075c_043-drill','template',$,(#5970)); -#1002=PRODUCT_DEFINITION_FORMATION('1',$,#1001); -#1003=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1002,#28,'',$,*); -#1004=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1003,.T.); -#1005=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1003,.T.); -#1006=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1008),#1007); -#1007=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1008=CSG_PRIMITIVE_SOLID_2D('',#1010); -#1009=CARTESIAN_POINT('',(0.0,0.0)); -#1010=CIRCULAR_AREA('',#1009,0.0215); -#1011=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#994,#1003,'drill'); -#1012=MAPPED_ITEM('tlistt',#6111,#1013); -#1013=AXIS2_PLACEMENT_2D('',#1014,$); -#1014=CARTESIAN_POINT('',(0.0,0.0)); -#1015=PRODUCT('pad075c_043-POWER','template',$,(#5970)); -#1016=PRODUCT_DEFINITION_FORMATION('1',$,#1015); -#1017=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1016,#28,'',$,*); -#1018=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1048),#1019); -#1019=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1020=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#994,#1017, - 'POWER_1','',$,#1020); -#1021=MAPPED_ITEM('tlistt',#6115,#1022); -#1022=AXIS2_PLACEMENT_2D('',#1023,$); -#1023=CARTESIAN_POINT('',(0.0,0.0)); -#1024=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#994,#1017, - 'POWER_2','',$,#1024); -#1025=MAPPED_ITEM('tlistt',#6115,#1026); -#1026=AXIS2_PLACEMENT_2D('',#1027,$); -#1027=CARTESIAN_POINT('',(0.0,0.0)); -#1028=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#994,#1017, - 'POWER_3','',$,#1028); -#1029=MAPPED_ITEM('tlistt',#6115,#1030); -#1030=AXIS2_PLACEMENT_2D('',#1031,$); -#1031=CARTESIAN_POINT('',(0.0,0.0)); -#1032=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#994,#1017, - 'POWER_4','',$,#1032); -#1033=MAPPED_ITEM('tlistt',#6115,#1034); -#1034=AXIS2_PLACEMENT_2D('',#1035,$); -#1035=CARTESIAN_POINT('',(0.0,0.0)); -#1036=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#994,#1017, - 'POWER_5','',$,#1036); -#1037=MAPPED_ITEM('tlistt',#6115,#1038); -#1038=AXIS2_PLACEMENT_2D('',#1039,$); -#1039=CARTESIAN_POINT('',(0.0,0.0)); -#1040=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#994,#1017, - 'POWER_6','',$,#1040); -#1041=MAPPED_ITEM('tlistt',#6115,#1042); -#1042=AXIS2_PLACEMENT_2D('',#1043,$); -#1043=CARTESIAN_POINT('',(0.0,0.0)); -#1044=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#994,#1017, - 'POWER_7','',$,#1044); -#1045=MAPPED_ITEM('tlistt',#6115,#1046); -#1046=AXIS2_PLACEMENT_2D('',#1047,$); -#1047=CARTESIAN_POINT('',(0.0,0.0)); -#1048=CSG_PRIMITIVE_SOLID_2D('',#1050); -#1049=CARTESIAN_POINT('',(0.0,0.0)); -#1050=CIRCULAR_AREA('',#1049,0.0475); -#1051=PRODUCT('pad075c_043-SOLDER_MASK','template',$,(#5970)); -#1052=PRODUCT_DEFINITION_FORMATION('1',$,#1051); -#1053=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1052,#28,'',$,*); -#1054=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1064),#1055); -#1055=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1056=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#994, - #1053,'SOLDER_MASK_1','',$,#1056); -#1057=MAPPED_ITEM('tlistt',#6137,#1058); -#1058=AXIS2_PLACEMENT_2D('',#1059,$); -#1059=CARTESIAN_POINT('',(0.0,0.0)); -#1060=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#994, - #1053,'SOLDER_MASK_2','',$,#1060); -#1061=MAPPED_ITEM('tlistt',#6137,#1062); -#1062=AXIS2_PLACEMENT_2D('',#1063,$); -#1063=CARTESIAN_POINT('',(0.0,0.0)); -#1064=CSG_PRIMITIVE_SOLID_2D('',#1066); -#1065=CARTESIAN_POINT('',(0.0,0.0)); -#1066=CIRCULAR_AREA('',#1065,0.0425); -#1067=PRODUCT('pad075c_043-SIGNAL','template',$,(#5970)); -#1068=PRODUCT_DEFINITION_FORMATION('1',$,#1067); -#1069=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1068,#28,'',$,*); -#1070=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1121),#1071); -#1071=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1072=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1069,.T.); -#1073=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#994,#1069, - 'SIGNAL_1','',$,#1073); -#1074=MAPPED_ITEM('tlistt',#6144,#1075); -#1075=AXIS2_PLACEMENT_2D('',#1076,$); -#1076=CARTESIAN_POINT('',(0.0,0.0)); -#1077=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#994,#1069, - 'SIGNAL_2','',$,#1077); -#1078=MAPPED_ITEM('tlistt',#6144,#1079); -#1079=AXIS2_PLACEMENT_2D('',#1080,$); -#1080=CARTESIAN_POINT('',(0.0,0.0)); -#1081=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#994,#1069, - 'SIGNAL_3','',$,#1081); -#1082=MAPPED_ITEM('tlistt',#6144,#1083); -#1083=AXIS2_PLACEMENT_2D('',#1084,$); -#1084=CARTESIAN_POINT('',(0.0,0.0)); -#1085=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#994,#1069, - 'SIGNAL_4','',$,#1085); -#1086=MAPPED_ITEM('tlistt',#6144,#1087); -#1087=AXIS2_PLACEMENT_2D('',#1088,$); -#1088=CARTESIAN_POINT('',(0.0,0.0)); -#1089=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#994,#1069, - 'SIGNAL_5','',$,#1089); -#1090=MAPPED_ITEM('tlistt',#6144,#1091); -#1091=AXIS2_PLACEMENT_2D('',#1092,$); -#1092=CARTESIAN_POINT('',(0.0,0.0)); -#1093=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#994,#1069, - 'SIGNAL_6','',$,#1093); -#1094=MAPPED_ITEM('tlistt',#6144,#1095); -#1095=AXIS2_PLACEMENT_2D('',#1096,$); -#1096=CARTESIAN_POINT('',(0.0,0.0)); -#1097=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#994,#1069, - 'SIGNAL_7','',$,#1097); -#1098=MAPPED_ITEM('tlistt',#6144,#1099); -#1099=AXIS2_PLACEMENT_2D('',#1100,$); -#1100=CARTESIAN_POINT('',(0.0,0.0)); -#1101=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#994,#1069, - 'SIGNAL_8','',$,#1101); -#1102=MAPPED_ITEM('tlistt',#6144,#1103); -#1103=AXIS2_PLACEMENT_2D('',#1104,$); -#1104=CARTESIAN_POINT('',(0.0,0.0)); -#1105=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#994,#1069, - 'SIGNAL_9','',$,#1105); -#1106=MAPPED_ITEM('tlistt',#6144,#1107); -#1107=AXIS2_PLACEMENT_2D('',#1108,$); -#1108=CARTESIAN_POINT('',(0.0,0.0)); -#1109=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#994,#1069, - 'SIGNAL_10','',$,#1109); -#1110=MAPPED_ITEM('tlistt',#6144,#1111); -#1111=AXIS2_PLACEMENT_2D('',#1112,$); -#1112=CARTESIAN_POINT('',(0.0,0.0)); -#1113=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#994,#1069, - 'SIGNAL_11','',$,#1113); -#1114=MAPPED_ITEM('tlistt',#6144,#1115); -#1115=AXIS2_PLACEMENT_2D('',#1116,$); -#1116=CARTESIAN_POINT('',(0.0,0.0)); -#1117=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#994,#1069, - 'SIGNAL_12','',$,#1117); -#1118=MAPPED_ITEM('tlistt',#6144,#1119); -#1119=AXIS2_PLACEMENT_2D('',#1120,$); -#1120=CARTESIAN_POINT('',(0.0,0.0)); -#1121=CSG_PRIMITIVE_SOLID_2D('',#1123); -#1122=CARTESIAN_POINT('',(0.0,0.0)); -#1123=CIRCULAR_AREA('',#1122,0.0375); -#1124=PRODUCT('pad065s_039-padstack','template',$,(#5970)); -#1125=PRODUCT_DEFINITION_FORMATION('1',$,#1124); -#1126=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1125,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1127=SHAPE_REPRESENTATION('ppsm',(#26,#1140,#1149,#1164,#1179,#1183,#1187,#1191, - #1195,#1199,#1203,#1216,#1220,#1224,#1228,#1232,#1236,#1240,#1244,#1248,#1252, - #1256,#1260),#1128); -#1128=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1129=PRODUCT('pad065s_039-drill','template',$,(#5970)); -#1130=PRODUCT_DEFINITION_FORMATION('1',$,#1129); -#1131=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1130,#28,'',$,*); -#1132=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1131,.T.); -#1133=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1131,.T.); -#1134=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1136),#1135); -#1135=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1136=CSG_PRIMITIVE_SOLID_2D('',#1138); -#1137=CARTESIAN_POINT('',(0.0,0.0)); -#1138=CIRCULAR_AREA('',#1137,0.0195); -#1139=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1126,#1131,'drill'); -#1140=MAPPED_ITEM('tlistt',#4565,#1141); -#1141=AXIS2_PLACEMENT_2D('',#1142,$); -#1142=CARTESIAN_POINT('',(0.0,0.0)); -#1143=PRODUCT('pad065s_039-SOLDER_MASK_1','template',$,(#5970)); -#1144=PRODUCT_DEFINITION_FORMATION('1',$,#1143); -#1145=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1144,#28,'',$,*); -#1146=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1152),#1147); -#1147=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1148=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1126, - #1145,'SOLDER_MASK_1','',$,#1148); -#1149=MAPPED_ITEM('tlistt',#6184,#1150); -#1150=AXIS2_PLACEMENT_2D('',#1151,$); -#1151=CARTESIAN_POINT('',(0.0,0.0)); -#1152=CSG_PRIMITIVE_SOLID_2D('',#1153); -#1153=POLYGONAL_AREA('',(#1154,#1155,#1156,#1157)); -#1154=CARTESIAN_POINT('',(-0.0375,-0.0375)); -#1155=CARTESIAN_POINT('',(0.0375,-0.0375)); -#1156=CARTESIAN_POINT('',(0.0375,0.0375)); -#1157=CARTESIAN_POINT('',(-0.0375,0.0375)); -#1158=PRODUCT('pad065s_039-SOLDER_MASK_2','template',$,(#5970)); -#1159=PRODUCT_DEFINITION_FORMATION('1',$,#1158); -#1160=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1159,#28,'',$,*); -#1161=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1167),#1162); -#1162=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1163=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1126, - #1160,'SOLDER_MASK_2','',$,#1163); -#1164=MAPPED_ITEM('tlistt',#6188,#1165); -#1165=AXIS2_PLACEMENT_2D('',#1166,$); -#1166=CARTESIAN_POINT('',(0.0,0.0)); -#1167=CSG_PRIMITIVE_SOLID_2D('',#1168); -#1168=POLYGONAL_AREA('',(#1169,#1170,#1171,#1172)); -#1169=CARTESIAN_POINT('',(-0.0375,-0.0375)); -#1170=CARTESIAN_POINT('',(0.0375,-0.0375)); -#1171=CARTESIAN_POINT('',(0.0375,0.0375)); -#1172=CARTESIAN_POINT('',(-0.0375,0.0375)); -#1173=PRODUCT('pad065s_039-POWER','template',$,(#5970)); -#1174=PRODUCT_DEFINITION_FORMATION('1',$,#1173); -#1175=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1174,#28,'',$,*); -#1176=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1206),#1177); -#1177=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1178=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1126,#1175, - 'POWER_1','',$,#1178); -#1179=MAPPED_ITEM('tlistt',#6192,#1180); -#1180=AXIS2_PLACEMENT_2D('',#1181,$); -#1181=CARTESIAN_POINT('',(0.0,0.0)); -#1182=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1126,#1175, - 'POWER_2','',$,#1182); -#1183=MAPPED_ITEM('tlistt',#6192,#1184); -#1184=AXIS2_PLACEMENT_2D('',#1185,$); -#1185=CARTESIAN_POINT('',(0.0,0.0)); -#1186=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1126,#1175, - 'POWER_3','',$,#1186); -#1187=MAPPED_ITEM('tlistt',#6192,#1188); -#1188=AXIS2_PLACEMENT_2D('',#1189,$); -#1189=CARTESIAN_POINT('',(0.0,0.0)); -#1190=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1126,#1175, - 'POWER_4','',$,#1190); -#1191=MAPPED_ITEM('tlistt',#6192,#1192); -#1192=AXIS2_PLACEMENT_2D('',#1193,$); -#1193=CARTESIAN_POINT('',(0.0,0.0)); -#1194=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1126,#1175, - 'POWER_5','',$,#1194); -#1195=MAPPED_ITEM('tlistt',#6192,#1196); -#1196=AXIS2_PLACEMENT_2D('',#1197,$); -#1197=CARTESIAN_POINT('',(0.0,0.0)); -#1198=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1126,#1175, - 'POWER_6','',$,#1198); -#1199=MAPPED_ITEM('tlistt',#6192,#1200); -#1200=AXIS2_PLACEMENT_2D('',#1201,$); -#1201=CARTESIAN_POINT('',(0.0,0.0)); -#1202=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1126,#1175, - 'POWER_7','',$,#1202); -#1203=MAPPED_ITEM('tlistt',#6192,#1204); -#1204=AXIS2_PLACEMENT_2D('',#1205,$); -#1205=CARTESIAN_POINT('',(0.0,0.0)); -#1206=CSG_PRIMITIVE_SOLID_2D('',#1208); -#1207=CARTESIAN_POINT('',(0.0,0.0)); -#1208=CIRCULAR_AREA('',#1207,0.0425); -#1209=PRODUCT('pad065s_039-SIGNAL','template',$,(#5970)); -#1210=PRODUCT_DEFINITION_FORMATION('1',$,#1209); -#1211=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1210,#28,'',$,*); -#1212=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1263),#1213); -#1213=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1214=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1211,.T.); -#1215=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1126,#1211, - 'SIGNAL_1','',$,#1215); -#1216=MAPPED_ITEM('tlistt',#6214,#1217); -#1217=AXIS2_PLACEMENT_2D('',#1218,$); -#1218=CARTESIAN_POINT('',(0.0,0.0)); -#1219=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1126,#1211, - 'SIGNAL_2','',$,#1219); -#1220=MAPPED_ITEM('tlistt',#6214,#1221); -#1221=AXIS2_PLACEMENT_2D('',#1222,$); -#1222=CARTESIAN_POINT('',(0.0,0.0)); -#1223=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1126,#1211, - 'SIGNAL_3','',$,#1223); -#1224=MAPPED_ITEM('tlistt',#6214,#1225); -#1225=AXIS2_PLACEMENT_2D('',#1226,$); -#1226=CARTESIAN_POINT('',(0.0,0.0)); -#1227=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1126,#1211, - 'SIGNAL_4','',$,#1227); -#1228=MAPPED_ITEM('tlistt',#6214,#1229); -#1229=AXIS2_PLACEMENT_2D('',#1230,$); -#1230=CARTESIAN_POINT('',(0.0,0.0)); -#1231=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1126,#1211, - 'SIGNAL_5','',$,#1231); -#1232=MAPPED_ITEM('tlistt',#6214,#1233); -#1233=AXIS2_PLACEMENT_2D('',#1234,$); -#1234=CARTESIAN_POINT('',(0.0,0.0)); -#1235=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1126,#1211, - 'SIGNAL_6','',$,#1235); -#1236=MAPPED_ITEM('tlistt',#6214,#1237); -#1237=AXIS2_PLACEMENT_2D('',#1238,$); -#1238=CARTESIAN_POINT('',(0.0,0.0)); -#1239=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1126,#1211, - 'SIGNAL_7','',$,#1239); -#1240=MAPPED_ITEM('tlistt',#6214,#1241); -#1241=AXIS2_PLACEMENT_2D('',#1242,$); -#1242=CARTESIAN_POINT('',(0.0,0.0)); -#1243=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1126,#1211, - 'SIGNAL_8','',$,#1243); -#1244=MAPPED_ITEM('tlistt',#6214,#1245); -#1245=AXIS2_PLACEMENT_2D('',#1246,$); -#1246=CARTESIAN_POINT('',(0.0,0.0)); -#1247=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1126,#1211, - 'SIGNAL_9','',$,#1247); -#1248=MAPPED_ITEM('tlistt',#6214,#1249); -#1249=AXIS2_PLACEMENT_2D('',#1250,$); -#1250=CARTESIAN_POINT('',(0.0,0.0)); -#1251=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1126, - #1211,'SIGNAL_10','',$,#1251); -#1252=MAPPED_ITEM('tlistt',#6214,#1253); -#1253=AXIS2_PLACEMENT_2D('',#1254,$); -#1254=CARTESIAN_POINT('',(0.0,0.0)); -#1255=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1126, - #1211,'SIGNAL_11','',$,#1255); -#1256=MAPPED_ITEM('tlistt',#6214,#1257); -#1257=AXIS2_PLACEMENT_2D('',#1258,$); -#1258=CARTESIAN_POINT('',(0.0,0.0)); -#1259=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1126, - #1211,'SIGNAL_12','',$,#1259); -#1260=MAPPED_ITEM('tlistt',#6214,#1261); -#1261=AXIS2_PLACEMENT_2D('',#1262,$); -#1262=CARTESIAN_POINT('',(0.0,0.0)); -#1263=CSG_PRIMITIVE_SOLID_2D('',#1265); -#1264=CARTESIAN_POINT('',(0.0,0.0)); -#1265=CIRCULAR_AREA('',#1264,0.0325); -#1266=PRODUCT('pad070c_039-padstack','template',$,(#5970)); -#1267=PRODUCT_DEFINITION_FORMATION('1',$,#1266); -#1268=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1267,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1269=SHAPE_REPRESENTATION('ppsm',(#26,#1282,#1291,#1295,#1299,#1303,#1307,#1311, - #1315,#1327,#1331,#1344,#1348,#1352,#1356,#1360,#1364,#1368,#1372,#1376,#1380, - #1384,#1388),#1270); -#1270=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1271=PRODUCT('pad070c_039-drill','template',$,(#5970)); -#1272=PRODUCT_DEFINITION_FORMATION('1',$,#1271); -#1273=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1272,#28,'',$,*); -#1274=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1273,.T.); -#1275=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1273,.T.); -#1276=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1278),#1277); -#1277=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1278=CSG_PRIMITIVE_SOLID_2D('',#1280); -#1279=CARTESIAN_POINT('',(0.0,0.0)); -#1280=CIRCULAR_AREA('',#1279,0.0195); -#1281=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1268,#1273,'drill'); -#1282=MAPPED_ITEM('tlistt',#6251,#1283); -#1283=AXIS2_PLACEMENT_2D('',#1284,$); -#1284=CARTESIAN_POINT('',(0.0,0.0)); -#1285=PRODUCT('pad070c_039-POWER','template',$,(#5970)); -#1286=PRODUCT_DEFINITION_FORMATION('1',$,#1285); -#1287=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1286,#28,'',$,*); -#1288=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1318),#1289); -#1289=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1290=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1268,#1287, - 'POWER_1','',$,#1290); -#1291=MAPPED_ITEM('tlistt',#6255,#1292); -#1292=AXIS2_PLACEMENT_2D('',#1293,$); -#1293=CARTESIAN_POINT('',(0.0,0.0)); -#1294=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1268,#1287, - 'POWER_2','',$,#1294); -#1295=MAPPED_ITEM('tlistt',#6255,#1296); -#1296=AXIS2_PLACEMENT_2D('',#1297,$); -#1297=CARTESIAN_POINT('',(0.0,0.0)); -#1298=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1268,#1287, - 'POWER_3','',$,#1298); -#1299=MAPPED_ITEM('tlistt',#6255,#1300); -#1300=AXIS2_PLACEMENT_2D('',#1301,$); -#1301=CARTESIAN_POINT('',(0.0,0.0)); -#1302=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1268,#1287, - 'POWER_4','',$,#1302); -#1303=MAPPED_ITEM('tlistt',#6255,#1304); -#1304=AXIS2_PLACEMENT_2D('',#1305,$); -#1305=CARTESIAN_POINT('',(0.0,0.0)); -#1306=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1268,#1287, - 'POWER_5','',$,#1306); -#1307=MAPPED_ITEM('tlistt',#6255,#1308); -#1308=AXIS2_PLACEMENT_2D('',#1309,$); -#1309=CARTESIAN_POINT('',(0.0,0.0)); -#1310=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1268,#1287, - 'POWER_6','',$,#1310); -#1311=MAPPED_ITEM('tlistt',#6255,#1312); -#1312=AXIS2_PLACEMENT_2D('',#1313,$); -#1313=CARTESIAN_POINT('',(0.0,0.0)); -#1314=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1268,#1287, - 'POWER_7','',$,#1314); -#1315=MAPPED_ITEM('tlistt',#6255,#1316); -#1316=AXIS2_PLACEMENT_2D('',#1317,$); -#1317=CARTESIAN_POINT('',(0.0,0.0)); -#1318=CSG_PRIMITIVE_SOLID_2D('',#1320); -#1319=CARTESIAN_POINT('',(0.0,0.0)); -#1320=CIRCULAR_AREA('',#1319,0.045); -#1321=PRODUCT('pad070c_039-SOLDER_MASK','template',$,(#5970)); -#1322=PRODUCT_DEFINITION_FORMATION('1',$,#1321); -#1323=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1322,#28,'',$,*); -#1324=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1334),#1325); -#1325=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1326=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1268, - #1323,'SOLDER_MASK_1','',$,#1326); -#1327=MAPPED_ITEM('tlistt',#6277,#1328); -#1328=AXIS2_PLACEMENT_2D('',#1329,$); -#1329=CARTESIAN_POINT('',(0.0,0.0)); -#1330=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1268, - #1323,'SOLDER_MASK_2','',$,#1330); -#1331=MAPPED_ITEM('tlistt',#6277,#1332); -#1332=AXIS2_PLACEMENT_2D('',#1333,$); -#1333=CARTESIAN_POINT('',(0.0,0.0)); -#1334=CSG_PRIMITIVE_SOLID_2D('',#1336); -#1335=CARTESIAN_POINT('',(0.0,0.0)); -#1336=CIRCULAR_AREA('',#1335,0.04); -#1337=PRODUCT('pad070c_039-SIGNAL','template',$,(#5970)); -#1338=PRODUCT_DEFINITION_FORMATION('1',$,#1337); -#1339=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1338,#28,'',$,*); -#1340=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1391),#1341); -#1341=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1342=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1339,.T.); -#1343=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1268,#1339, - 'SIGNAL_1','',$,#1343); -#1344=MAPPED_ITEM('tlistt',#6284,#1345); -#1345=AXIS2_PLACEMENT_2D('',#1346,$); -#1346=CARTESIAN_POINT('',(0.0,0.0)); -#1347=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1268,#1339, - 'SIGNAL_2','',$,#1347); -#1348=MAPPED_ITEM('tlistt',#6284,#1349); -#1349=AXIS2_PLACEMENT_2D('',#1350,$); -#1350=CARTESIAN_POINT('',(0.0,0.0)); -#1351=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1268,#1339, - 'SIGNAL_3','',$,#1351); -#1352=MAPPED_ITEM('tlistt',#6284,#1353); -#1353=AXIS2_PLACEMENT_2D('',#1354,$); -#1354=CARTESIAN_POINT('',(0.0,0.0)); -#1355=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1268,#1339, - 'SIGNAL_4','',$,#1355); -#1356=MAPPED_ITEM('tlistt',#6284,#1357); -#1357=AXIS2_PLACEMENT_2D('',#1358,$); -#1358=CARTESIAN_POINT('',(0.0,0.0)); -#1359=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1268,#1339, - 'SIGNAL_5','',$,#1359); -#1360=MAPPED_ITEM('tlistt',#6284,#1361); -#1361=AXIS2_PLACEMENT_2D('',#1362,$); -#1362=CARTESIAN_POINT('',(0.0,0.0)); -#1363=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1268,#1339, - 'SIGNAL_6','',$,#1363); -#1364=MAPPED_ITEM('tlistt',#6284,#1365); -#1365=AXIS2_PLACEMENT_2D('',#1366,$); -#1366=CARTESIAN_POINT('',(0.0,0.0)); -#1367=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1268,#1339, - 'SIGNAL_7','',$,#1367); -#1368=MAPPED_ITEM('tlistt',#6284,#1369); -#1369=AXIS2_PLACEMENT_2D('',#1370,$); -#1370=CARTESIAN_POINT('',(0.0,0.0)); -#1371=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1268,#1339, - 'SIGNAL_8','',$,#1371); -#1372=MAPPED_ITEM('tlistt',#6284,#1373); -#1373=AXIS2_PLACEMENT_2D('',#1374,$); -#1374=CARTESIAN_POINT('',(0.0,0.0)); -#1375=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1268,#1339, - 'SIGNAL_9','',$,#1375); -#1376=MAPPED_ITEM('tlistt',#6284,#1377); -#1377=AXIS2_PLACEMENT_2D('',#1378,$); -#1378=CARTESIAN_POINT('',(0.0,0.0)); -#1379=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1268, - #1339,'SIGNAL_10','',$,#1379); -#1380=MAPPED_ITEM('tlistt',#6284,#1381); -#1381=AXIS2_PLACEMENT_2D('',#1382,$); -#1382=CARTESIAN_POINT('',(0.0,0.0)); -#1383=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1268, - #1339,'SIGNAL_11','',$,#1383); -#1384=MAPPED_ITEM('tlistt',#6284,#1385); -#1385=AXIS2_PLACEMENT_2D('',#1386,$); -#1386=CARTESIAN_POINT('',(0.0,0.0)); -#1387=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1268, - #1339,'SIGNAL_12','',$,#1387); -#1388=MAPPED_ITEM('tlistt',#6284,#1389); -#1389=AXIS2_PLACEMENT_2D('',#1390,$); -#1390=CARTESIAN_POINT('',(0.0,0.0)); -#1391=CSG_PRIMITIVE_SOLID_2D('',#1393); -#1392=CARTESIAN_POINT('',(0.0,0.0)); -#1393=CIRCULAR_AREA('',#1392,0.035); -#1394=PRODUCT('pad070s_039-padstack','template',$,(#5970)); -#1395=PRODUCT_DEFINITION_FORMATION('1',$,#1394); -#1396=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1395,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1397=SHAPE_REPRESENTATION('ppsm',(#26,#1410,#1419,#1434,#1449,#1453,#1457,#1461, - #1465,#1469,#1473,#1486,#1490,#1494,#1498,#1502,#1506,#1510,#1514,#1518,#1522, - #1526,#1530),#1398); -#1398=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1399=PRODUCT('pad070s_039-drill','template',$,(#5970)); -#1400=PRODUCT_DEFINITION_FORMATION('1',$,#1399); -#1401=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1400,#28,'',$,*); -#1402=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1401,.T.); -#1403=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1401,.T.); -#1404=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1406),#1405); -#1405=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1406=CSG_PRIMITIVE_SOLID_2D('',#1408); -#1407=CARTESIAN_POINT('',(0.0,0.0)); -#1408=CIRCULAR_AREA('',#1407,0.0195); -#1409=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1396,#1401,'drill'); -#1410=MAPPED_ITEM('tlistt',#6321,#1411); -#1411=AXIS2_PLACEMENT_2D('',#1412,$); -#1412=CARTESIAN_POINT('',(0.0,0.0)); -#1413=PRODUCT('pad070s_039-SOLDER_MASK_1','template',$,(#5970)); -#1414=PRODUCT_DEFINITION_FORMATION('1',$,#1413); -#1415=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1414,#28,'',$,*); -#1416=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1422),#1417); -#1417=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1418=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1396, - #1415,'SOLDER_MASK_1','',$,#1418); -#1419=MAPPED_ITEM('tlistt',#6325,#1420); -#1420=AXIS2_PLACEMENT_2D('',#1421,$); -#1421=CARTESIAN_POINT('',(0.0,0.0)); -#1422=CSG_PRIMITIVE_SOLID_2D('',#1423); -#1423=POLYGONAL_AREA('',(#1424,#1425,#1426,#1427)); -#1424=CARTESIAN_POINT('',(-0.04,-0.04)); -#1425=CARTESIAN_POINT('',(0.04,-0.04)); -#1426=CARTESIAN_POINT('',(0.04,0.04)); -#1427=CARTESIAN_POINT('',(-0.04,0.04)); -#1428=PRODUCT('pad070s_039-SOLDER_MASK_2','template',$,(#5970)); -#1429=PRODUCT_DEFINITION_FORMATION('1',$,#1428); -#1430=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1429,#28,'',$,*); -#1431=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1437),#1432); -#1432=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1433=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1396, - #1430,'SOLDER_MASK_2','',$,#1433); -#1434=MAPPED_ITEM('tlistt',#6329,#1435); -#1435=AXIS2_PLACEMENT_2D('',#1436,$); -#1436=CARTESIAN_POINT('',(0.0,0.0)); -#1437=CSG_PRIMITIVE_SOLID_2D('',#1438); -#1438=POLYGONAL_AREA('',(#1439,#1440,#1441,#1442)); -#1439=CARTESIAN_POINT('',(-0.04,-0.04)); -#1440=CARTESIAN_POINT('',(0.04,-0.04)); -#1441=CARTESIAN_POINT('',(0.04,0.04)); -#1442=CARTESIAN_POINT('',(-0.04,0.04)); -#1443=PRODUCT('pad070s_039-POWER','template',$,(#5970)); -#1444=PRODUCT_DEFINITION_FORMATION('1',$,#1443); -#1445=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1444,#28,'',$,*); -#1446=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1476),#1447); -#1447=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1448=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1396,#1445, - 'POWER_1','',$,#1448); -#1449=MAPPED_ITEM('tlistt',#6333,#1450); -#1450=AXIS2_PLACEMENT_2D('',#1451,$); -#1451=CARTESIAN_POINT('',(0.0,0.0)); -#1452=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1396,#1445, - 'POWER_2','',$,#1452); -#1453=MAPPED_ITEM('tlistt',#6333,#1454); -#1454=AXIS2_PLACEMENT_2D('',#1455,$); -#1455=CARTESIAN_POINT('',(0.0,0.0)); -#1456=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1396,#1445, - 'POWER_3','',$,#1456); -#1457=MAPPED_ITEM('tlistt',#6333,#1458); -#1458=AXIS2_PLACEMENT_2D('',#1459,$); -#1459=CARTESIAN_POINT('',(0.0,0.0)); -#1460=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1396,#1445, - 'POWER_4','',$,#1460); -#1461=MAPPED_ITEM('tlistt',#6333,#1462); -#1462=AXIS2_PLACEMENT_2D('',#1463,$); -#1463=CARTESIAN_POINT('',(0.0,0.0)); -#1464=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1396,#1445, - 'POWER_5','',$,#1464); -#1465=MAPPED_ITEM('tlistt',#6333,#1466); -#1466=AXIS2_PLACEMENT_2D('',#1467,$); -#1467=CARTESIAN_POINT('',(0.0,0.0)); -#1468=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1396,#1445, - 'POWER_6','',$,#1468); -#1469=MAPPED_ITEM('tlistt',#6333,#1470); -#1470=AXIS2_PLACEMENT_2D('',#1471,$); -#1471=CARTESIAN_POINT('',(0.0,0.0)); -#1472=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1396,#1445, - 'POWER_7','',$,#1472); -#1473=MAPPED_ITEM('tlistt',#6333,#1474); -#1474=AXIS2_PLACEMENT_2D('',#1475,$); -#1475=CARTESIAN_POINT('',(0.0,0.0)); -#1476=CSG_PRIMITIVE_SOLID_2D('',#1478); -#1477=CARTESIAN_POINT('',(0.0,0.0)); -#1478=CIRCULAR_AREA('',#1477,0.045); -#1479=PRODUCT('pad070s_039-SIGNAL','template',$,(#5970)); -#1480=PRODUCT_DEFINITION_FORMATION('1',$,#1479); -#1481=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1480,#28,'',$,*); -#1482=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1533),#1483); -#1483=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1484=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1481,.T.); -#1485=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1396,#1481, - 'SIGNAL_1','',$,#1485); -#1486=MAPPED_ITEM('tlistt',#6355,#1487); -#1487=AXIS2_PLACEMENT_2D('',#1488,$); -#1488=CARTESIAN_POINT('',(0.0,0.0)); -#1489=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1396,#1481, - 'SIGNAL_2','',$,#1489); -#1490=MAPPED_ITEM('tlistt',#6355,#1491); -#1491=AXIS2_PLACEMENT_2D('',#1492,$); -#1492=CARTESIAN_POINT('',(0.0,0.0)); -#1493=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1396,#1481, - 'SIGNAL_3','',$,#1493); -#1494=MAPPED_ITEM('tlistt',#6355,#1495); -#1495=AXIS2_PLACEMENT_2D('',#1496,$); -#1496=CARTESIAN_POINT('',(0.0,0.0)); -#1497=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1396,#1481, - 'SIGNAL_4','',$,#1497); -#1498=MAPPED_ITEM('tlistt',#6355,#1499); -#1499=AXIS2_PLACEMENT_2D('',#1500,$); -#1500=CARTESIAN_POINT('',(0.0,0.0)); -#1501=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1396,#1481, - 'SIGNAL_5','',$,#1501); -#1502=MAPPED_ITEM('tlistt',#6355,#1503); -#1503=AXIS2_PLACEMENT_2D('',#1504,$); -#1504=CARTESIAN_POINT('',(0.0,0.0)); -#1505=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1396,#1481, - 'SIGNAL_6','',$,#1505); -#1506=MAPPED_ITEM('tlistt',#6355,#1507); -#1507=AXIS2_PLACEMENT_2D('',#1508,$); -#1508=CARTESIAN_POINT('',(0.0,0.0)); -#1509=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1396,#1481, - 'SIGNAL_7','',$,#1509); -#1510=MAPPED_ITEM('tlistt',#6355,#1511); -#1511=AXIS2_PLACEMENT_2D('',#1512,$); -#1512=CARTESIAN_POINT('',(0.0,0.0)); -#1513=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1396,#1481, - 'SIGNAL_8','',$,#1513); -#1514=MAPPED_ITEM('tlistt',#6355,#1515); -#1515=AXIS2_PLACEMENT_2D('',#1516,$); -#1516=CARTESIAN_POINT('',(0.0,0.0)); -#1517=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1396,#1481, - 'SIGNAL_9','',$,#1517); -#1518=MAPPED_ITEM('tlistt',#6355,#1519); -#1519=AXIS2_PLACEMENT_2D('',#1520,$); -#1520=CARTESIAN_POINT('',(0.0,0.0)); -#1521=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1396, - #1481,'SIGNAL_10','',$,#1521); -#1522=MAPPED_ITEM('tlistt',#6355,#1523); -#1523=AXIS2_PLACEMENT_2D('',#1524,$); -#1524=CARTESIAN_POINT('',(0.0,0.0)); -#1525=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1396, - #1481,'SIGNAL_11','',$,#1525); -#1526=MAPPED_ITEM('tlistt',#6355,#1527); -#1527=AXIS2_PLACEMENT_2D('',#1528,$); -#1528=CARTESIAN_POINT('',(0.0,0.0)); -#1529=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1396, - #1481,'SIGNAL_12','',$,#1529); -#1530=MAPPED_ITEM('tlistt',#6355,#1531); -#1531=AXIS2_PLACEMENT_2D('',#1532,$); -#1532=CARTESIAN_POINT('',(0.0,0.0)); -#1533=CSG_PRIMITIVE_SOLID_2D('',#1535); -#1534=CARTESIAN_POINT('',(0.0,0.0)); -#1535=CIRCULAR_AREA('',#1534,0.035); -#1536=PRODUCT('pad075s_043-padstack','template',$,(#5970)); -#1537=PRODUCT_DEFINITION_FORMATION('1',$,#1536); -#1538=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1537,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1539=SHAPE_REPRESENTATION('ppsm',(#26,#1552,#1561,#1576,#1591,#1595,#1599,#1603, - #1607,#1611,#1615,#1628,#1632,#1636,#1640,#1644,#1648,#1652,#1656,#1660,#1664, - #1668,#1672),#1540); -#1540=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1541=PRODUCT('pad075s_043-drill','template',$,(#5970)); -#1542=PRODUCT_DEFINITION_FORMATION('1',$,#1541); -#1543=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1542,#28,'',$,*); -#1544=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1543,.T.); -#1545=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1543,.T.); -#1546=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1548),#1547); -#1547=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1548=CSG_PRIMITIVE_SOLID_2D('',#1550); -#1549=CARTESIAN_POINT('',(0.0,0.0)); -#1550=CIRCULAR_AREA('',#1549,0.0215); -#1551=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1538,#1543,'drill'); -#1552=MAPPED_ITEM('tlistt',#6392,#1553); -#1553=AXIS2_PLACEMENT_2D('',#1554,$); -#1554=CARTESIAN_POINT('',(0.0,0.0)); -#1555=PRODUCT('pad075s_043-SOLDER_MASK_1','template',$,(#5970)); -#1556=PRODUCT_DEFINITION_FORMATION('1',$,#1555); -#1557=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1556,#28,'',$,*); -#1558=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1564),#1559); -#1559=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1560=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1538, - #1557,'SOLDER_MASK_1','',$,#1560); -#1561=MAPPED_ITEM('tlistt',#6396,#1562); -#1562=AXIS2_PLACEMENT_2D('',#1563,$); -#1563=CARTESIAN_POINT('',(0.0,0.0)); -#1564=CSG_PRIMITIVE_SOLID_2D('',#1565); -#1565=POLYGONAL_AREA('',(#1566,#1567,#1568,#1569)); -#1566=CARTESIAN_POINT('',(-0.0425,-0.0425)); -#1567=CARTESIAN_POINT('',(0.0425,-0.0425)); -#1568=CARTESIAN_POINT('',(0.0425,0.0425)); -#1569=CARTESIAN_POINT('',(-0.0425,0.0425)); -#1570=PRODUCT('pad075s_043-SOLDER_MASK_2','template',$,(#5970)); -#1571=PRODUCT_DEFINITION_FORMATION('1',$,#1570); -#1572=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1571,#28,'',$,*); -#1573=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1579),#1574); -#1574=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1575=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1538, - #1572,'SOLDER_MASK_2','',$,#1575); -#1576=MAPPED_ITEM('tlistt',#6400,#1577); -#1577=AXIS2_PLACEMENT_2D('',#1578,$); -#1578=CARTESIAN_POINT('',(0.0,0.0)); -#1579=CSG_PRIMITIVE_SOLID_2D('',#1580); -#1580=POLYGONAL_AREA('',(#1581,#1582,#1583,#1584)); -#1581=CARTESIAN_POINT('',(-0.0425,-0.0425)); -#1582=CARTESIAN_POINT('',(0.0425,-0.0425)); -#1583=CARTESIAN_POINT('',(0.0425,0.0425)); -#1584=CARTESIAN_POINT('',(-0.0425,0.0425)); -#1585=PRODUCT('pad075s_043-POWER','template',$,(#5970)); -#1586=PRODUCT_DEFINITION_FORMATION('1',$,#1585); -#1587=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1586,#28,'',$,*); -#1588=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1618),#1589); -#1589=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1590=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1538,#1587, - 'POWER_1','',$,#1590); -#1591=MAPPED_ITEM('tlistt',#6404,#1592); -#1592=AXIS2_PLACEMENT_2D('',#1593,$); -#1593=CARTESIAN_POINT('',(0.0,0.0)); -#1594=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1538,#1587, - 'POWER_2','',$,#1594); -#1595=MAPPED_ITEM('tlistt',#6404,#1596); -#1596=AXIS2_PLACEMENT_2D('',#1597,$); -#1597=CARTESIAN_POINT('',(0.0,0.0)); -#1598=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1538,#1587, - 'POWER_3','',$,#1598); -#1599=MAPPED_ITEM('tlistt',#6404,#1600); -#1600=AXIS2_PLACEMENT_2D('',#1601,$); -#1601=CARTESIAN_POINT('',(0.0,0.0)); -#1602=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1538,#1587, - 'POWER_4','',$,#1602); -#1603=MAPPED_ITEM('tlistt',#6404,#1604); -#1604=AXIS2_PLACEMENT_2D('',#1605,$); -#1605=CARTESIAN_POINT('',(0.0,0.0)); -#1606=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1538,#1587, - 'POWER_5','',$,#1606); -#1607=MAPPED_ITEM('tlistt',#6404,#1608); -#1608=AXIS2_PLACEMENT_2D('',#1609,$); -#1609=CARTESIAN_POINT('',(0.0,0.0)); -#1610=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1538,#1587, - 'POWER_6','',$,#1610); -#1611=MAPPED_ITEM('tlistt',#6404,#1612); -#1612=AXIS2_PLACEMENT_2D('',#1613,$); -#1613=CARTESIAN_POINT('',(0.0,0.0)); -#1614=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1538,#1587, - 'POWER_7','',$,#1614); -#1615=MAPPED_ITEM('tlistt',#6404,#1616); -#1616=AXIS2_PLACEMENT_2D('',#1617,$); -#1617=CARTESIAN_POINT('',(0.0,0.0)); -#1618=CSG_PRIMITIVE_SOLID_2D('',#1620); -#1619=CARTESIAN_POINT('',(0.0,0.0)); -#1620=CIRCULAR_AREA('',#1619,0.0475); -#1621=PRODUCT('pad075s_043-SIGNAL','template',$,(#5970)); -#1622=PRODUCT_DEFINITION_FORMATION('1',$,#1621); -#1623=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1622,#28,'',$,*); -#1624=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1675),#1625); -#1625=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1626=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1623,.T.); -#1627=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1538,#1623, - 'SIGNAL_1','',$,#1627); -#1628=MAPPED_ITEM('tlistt',#6426,#1629); -#1629=AXIS2_PLACEMENT_2D('',#1630,$); -#1630=CARTESIAN_POINT('',(0.0,0.0)); -#1631=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1538,#1623, - 'SIGNAL_2','',$,#1631); -#1632=MAPPED_ITEM('tlistt',#6426,#1633); -#1633=AXIS2_PLACEMENT_2D('',#1634,$); -#1634=CARTESIAN_POINT('',(0.0,0.0)); -#1635=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1538,#1623, - 'SIGNAL_3','',$,#1635); -#1636=MAPPED_ITEM('tlistt',#6426,#1637); -#1637=AXIS2_PLACEMENT_2D('',#1638,$); -#1638=CARTESIAN_POINT('',(0.0,0.0)); -#1639=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1538,#1623, - 'SIGNAL_4','',$,#1639); -#1640=MAPPED_ITEM('tlistt',#6426,#1641); -#1641=AXIS2_PLACEMENT_2D('',#1642,$); -#1642=CARTESIAN_POINT('',(0.0,0.0)); -#1643=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1538,#1623, - 'SIGNAL_5','',$,#1643); -#1644=MAPPED_ITEM('tlistt',#6426,#1645); -#1645=AXIS2_PLACEMENT_2D('',#1646,$); -#1646=CARTESIAN_POINT('',(0.0,0.0)); -#1647=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1538,#1623, - 'SIGNAL_6','',$,#1647); -#1648=MAPPED_ITEM('tlistt',#6426,#1649); -#1649=AXIS2_PLACEMENT_2D('',#1650,$); -#1650=CARTESIAN_POINT('',(0.0,0.0)); -#1651=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1538,#1623, - 'SIGNAL_7','',$,#1651); -#1652=MAPPED_ITEM('tlistt',#6426,#1653); -#1653=AXIS2_PLACEMENT_2D('',#1654,$); -#1654=CARTESIAN_POINT('',(0.0,0.0)); -#1655=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1538,#1623, - 'SIGNAL_8','',$,#1655); -#1656=MAPPED_ITEM('tlistt',#6426,#1657); -#1657=AXIS2_PLACEMENT_2D('',#1658,$); -#1658=CARTESIAN_POINT('',(0.0,0.0)); -#1659=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1538,#1623, - 'SIGNAL_9','',$,#1659); -#1660=MAPPED_ITEM('tlistt',#6426,#1661); -#1661=AXIS2_PLACEMENT_2D('',#1662,$); -#1662=CARTESIAN_POINT('',(0.0,0.0)); -#1663=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1538, - #1623,'SIGNAL_10','',$,#1663); -#1664=MAPPED_ITEM('tlistt',#6426,#1665); -#1665=AXIS2_PLACEMENT_2D('',#1666,$); -#1666=CARTESIAN_POINT('',(0.0,0.0)); -#1667=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1538, - #1623,'SIGNAL_11','',$,#1667); -#1668=MAPPED_ITEM('tlistt',#6426,#1669); -#1669=AXIS2_PLACEMENT_2D('',#1670,$); -#1670=CARTESIAN_POINT('',(0.0,0.0)); -#1671=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1538, - #1623,'SIGNAL_12','',$,#1671); -#1672=MAPPED_ITEM('tlistt',#6426,#1673); -#1673=AXIS2_PLACEMENT_2D('',#1674,$); -#1674=CARTESIAN_POINT('',(0.0,0.0)); -#1675=CSG_PRIMITIVE_SOLID_2D('',#1677); -#1676=CARTESIAN_POINT('',(0.0,0.0)); -#1677=CIRCULAR_AREA('',#1676,0.0375); -#1678=PRODUCT('pad080s_047-padstack','template',$,(#5970)); -#1679=PRODUCT_DEFINITION_FORMATION('1',$,#1678); -#1680=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1679,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1681=SHAPE_REPRESENTATION('ppsm',(#26,#1694,#1703,#1718,#1733,#1737,#1741,#1745, - #1749,#1753,#1757,#1770,#1774,#1778,#1782,#1786,#1790,#1794,#1798,#1802,#1806, - #1810,#1814),#1682); -#1682=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1683=PRODUCT('pad080s_047-drill','template',$,(#5970)); -#1684=PRODUCT_DEFINITION_FORMATION('1',$,#1683); -#1685=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1684,#28,'',$,*); -#1686=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1685,.T.); -#1687=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1685,.T.); -#1688=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1690),#1689); -#1689=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1690=CSG_PRIMITIVE_SOLID_2D('',#1692); -#1691=CARTESIAN_POINT('',(0.0,0.0)); -#1692=CIRCULAR_AREA('',#1691,0.0235); -#1693=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1680,#1685,'drill'); -#1694=MAPPED_ITEM('tlistt',#6463,#1695); -#1695=AXIS2_PLACEMENT_2D('',#1696,$); -#1696=CARTESIAN_POINT('',(0.0,0.0)); -#1697=PRODUCT('pad080s_047-SOLDER_MASK_1','template',$,(#5970)); -#1698=PRODUCT_DEFINITION_FORMATION('1',$,#1697); -#1699=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1698,#28,'',$,*); -#1700=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1706),#1701); -#1701=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1702=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1680, - #1699,'SOLDER_MASK_1','',$,#1702); -#1703=MAPPED_ITEM('tlistt',#6467,#1704); -#1704=AXIS2_PLACEMENT_2D('',#1705,$); -#1705=CARTESIAN_POINT('',(0.0,0.0)); -#1706=CSG_PRIMITIVE_SOLID_2D('',#1707); -#1707=POLYGONAL_AREA('',(#1708,#1709,#1710,#1711)); -#1708=CARTESIAN_POINT('',(-0.045,-0.045)); -#1709=CARTESIAN_POINT('',(0.045,-0.045)); -#1710=CARTESIAN_POINT('',(0.045,0.045)); -#1711=CARTESIAN_POINT('',(-0.045,0.045)); -#1712=PRODUCT('pad080s_047-SOLDER_MASK_2','template',$,(#5970)); -#1713=PRODUCT_DEFINITION_FORMATION('1',$,#1712); -#1714=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1713,#28,'',$,*); -#1715=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1721),#1716); -#1716=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1717=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1680, - #1714,'SOLDER_MASK_2','',$,#1717); -#1718=MAPPED_ITEM('tlistt',#6471,#1719); -#1719=AXIS2_PLACEMENT_2D('',#1720,$); -#1720=CARTESIAN_POINT('',(0.0,0.0)); -#1721=CSG_PRIMITIVE_SOLID_2D('',#1722); -#1722=POLYGONAL_AREA('',(#1723,#1724,#1725,#1726)); -#1723=CARTESIAN_POINT('',(-0.045,-0.045)); -#1724=CARTESIAN_POINT('',(0.045,-0.045)); -#1725=CARTESIAN_POINT('',(0.045,0.045)); -#1726=CARTESIAN_POINT('',(-0.045,0.045)); -#1727=PRODUCT('pad080s_047-POWER','template',$,(#5970)); -#1728=PRODUCT_DEFINITION_FORMATION('1',$,#1727); -#1729=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1728,#28,'',$,*); -#1730=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1760),#1731); -#1731=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1732=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1680,#1729, - 'POWER_1','',$,#1732); -#1733=MAPPED_ITEM('tlistt',#6475,#1734); -#1734=AXIS2_PLACEMENT_2D('',#1735,$); -#1735=CARTESIAN_POINT('',(0.0,0.0)); -#1736=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1680,#1729, - 'POWER_2','',$,#1736); -#1737=MAPPED_ITEM('tlistt',#6475,#1738); -#1738=AXIS2_PLACEMENT_2D('',#1739,$); -#1739=CARTESIAN_POINT('',(0.0,0.0)); -#1740=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1680,#1729, - 'POWER_3','',$,#1740); -#1741=MAPPED_ITEM('tlistt',#6475,#1742); -#1742=AXIS2_PLACEMENT_2D('',#1743,$); -#1743=CARTESIAN_POINT('',(0.0,0.0)); -#1744=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1680,#1729, - 'POWER_4','',$,#1744); -#1745=MAPPED_ITEM('tlistt',#6475,#1746); -#1746=AXIS2_PLACEMENT_2D('',#1747,$); -#1747=CARTESIAN_POINT('',(0.0,0.0)); -#1748=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1680,#1729, - 'POWER_5','',$,#1748); -#1749=MAPPED_ITEM('tlistt',#6475,#1750); -#1750=AXIS2_PLACEMENT_2D('',#1751,$); -#1751=CARTESIAN_POINT('',(0.0,0.0)); -#1752=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1680,#1729, - 'POWER_6','',$,#1752); -#1753=MAPPED_ITEM('tlistt',#6475,#1754); -#1754=AXIS2_PLACEMENT_2D('',#1755,$); -#1755=CARTESIAN_POINT('',(0.0,0.0)); -#1756=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1680,#1729, - 'POWER_7','',$,#1756); -#1757=MAPPED_ITEM('tlistt',#6475,#1758); -#1758=AXIS2_PLACEMENT_2D('',#1759,$); -#1759=CARTESIAN_POINT('',(0.0,0.0)); -#1760=CSG_PRIMITIVE_SOLID_2D('',#1762); -#1761=CARTESIAN_POINT('',(0.0,0.0)); -#1762=CIRCULAR_AREA('',#1761,0.05); -#1763=PRODUCT('pad080s_047-SIGNAL','template',$,(#5970)); -#1764=PRODUCT_DEFINITION_FORMATION('1',$,#1763); -#1765=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1764,#28,'',$,*); -#1766=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1817),#1767); -#1767=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1768=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1765,.T.); -#1769=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1680,#1765, - 'SIGNAL_1','',$,#1769); -#1770=MAPPED_ITEM('tlistt',#6497,#1771); -#1771=AXIS2_PLACEMENT_2D('',#1772,$); -#1772=CARTESIAN_POINT('',(0.0,0.0)); -#1773=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1680,#1765, - 'SIGNAL_2','',$,#1773); -#1774=MAPPED_ITEM('tlistt',#6497,#1775); -#1775=AXIS2_PLACEMENT_2D('',#1776,$); -#1776=CARTESIAN_POINT('',(0.0,0.0)); -#1777=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1680,#1765, - 'SIGNAL_3','',$,#1777); -#1778=MAPPED_ITEM('tlistt',#6497,#1779); -#1779=AXIS2_PLACEMENT_2D('',#1780,$); -#1780=CARTESIAN_POINT('',(0.0,0.0)); -#1781=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1680,#1765, - 'SIGNAL_4','',$,#1781); -#1782=MAPPED_ITEM('tlistt',#6497,#1783); -#1783=AXIS2_PLACEMENT_2D('',#1784,$); -#1784=CARTESIAN_POINT('',(0.0,0.0)); -#1785=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1680,#1765, - 'SIGNAL_5','',$,#1785); -#1786=MAPPED_ITEM('tlistt',#6497,#1787); -#1787=AXIS2_PLACEMENT_2D('',#1788,$); -#1788=CARTESIAN_POINT('',(0.0,0.0)); -#1789=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1680,#1765, - 'SIGNAL_6','',$,#1789); -#1790=MAPPED_ITEM('tlistt',#6497,#1791); -#1791=AXIS2_PLACEMENT_2D('',#1792,$); -#1792=CARTESIAN_POINT('',(0.0,0.0)); -#1793=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1680,#1765, - 'SIGNAL_7','',$,#1793); -#1794=MAPPED_ITEM('tlistt',#6497,#1795); -#1795=AXIS2_PLACEMENT_2D('',#1796,$); -#1796=CARTESIAN_POINT('',(0.0,0.0)); -#1797=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1680,#1765, - 'SIGNAL_8','',$,#1797); -#1798=MAPPED_ITEM('tlistt',#6497,#1799); -#1799=AXIS2_PLACEMENT_2D('',#1800,$); -#1800=CARTESIAN_POINT('',(0.0,0.0)); -#1801=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1680,#1765, - 'SIGNAL_9','',$,#1801); -#1802=MAPPED_ITEM('tlistt',#6497,#1803); -#1803=AXIS2_PLACEMENT_2D('',#1804,$); -#1804=CARTESIAN_POINT('',(0.0,0.0)); -#1805=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1680, - #1765,'SIGNAL_10','',$,#1805); -#1806=MAPPED_ITEM('tlistt',#6497,#1807); -#1807=AXIS2_PLACEMENT_2D('',#1808,$); -#1808=CARTESIAN_POINT('',(0.0,0.0)); -#1809=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1680, - #1765,'SIGNAL_11','',$,#1809); -#1810=MAPPED_ITEM('tlistt',#6497,#1811); -#1811=AXIS2_PLACEMENT_2D('',#1812,$); -#1812=CARTESIAN_POINT('',(0.0,0.0)); -#1813=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1680, - #1765,'SIGNAL_12','',$,#1813); -#1814=MAPPED_ITEM('tlistt',#6497,#1815); -#1815=AXIS2_PLACEMENT_2D('',#1816,$); -#1816=CARTESIAN_POINT('',(0.0,0.0)); -#1817=CSG_PRIMITIVE_SOLID_2D('',#1819); -#1818=CARTESIAN_POINT('',(0.0,0.0)); -#1819=CIRCULAR_AREA('',#1818,0.04); -#1820=PRODUCT('via060c_031','template',$,(#5970)); -#1821=PRODUCT_DEFINITION_FORMATION('1',$,#1820); -#1822=VIA_TEMPLATE('1',$,#1821,#28,'',$,*); -#1823=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1824),#1827); -#1824=CSG_PRIMITIVE_SOLID_2D('',#1826); -#1825=CARTESIAN_POINT('',(0.0,0.0)); -#1826=CIRCULAR_AREA('',#1825,0.0155); -#1827=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1828=PASSAGE_TECHNOLOGY('0.031 TN DVD type','default via definition','',$,*); -#1829=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.031),#17)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#1830=REPRESENTATION('maximum tolerance',(#1829),#1831); -#1831=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1832=REPRESENTATION('maximum tolerance',(#1833),#1831); -#1833=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.031),#17)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#1834=PRODUCT('via060c_031-padstack','template',$,(#5970)); -#1835=PRODUCT_DEFINITION_FORMATION('1',$,#1834); -#1836=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1835,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1837=SHAPE_REPRESENTATION('ppsm',(#26,#1840,#1849,#1861,#1873,#1877,#1881,#1885, - #1889,#1893,#1897,#1910,#1914,#1918,#1922,#1926,#1930,#1934,#1938,#1942,#1946, - #1950,#1954),#1838); -#1838=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1839=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1836,#1822,'drill'); -#1840=MAPPED_ITEM('tlistt',#6534,#1841); -#1841=AXIS2_PLACEMENT_2D('',#1842,$); -#1842=CARTESIAN_POINT('',(0.0,0.0)); -#1843=PRODUCT('via060c_031-SOLDER_MASK_1','template',$,(#5970)); -#1844=PRODUCT_DEFINITION_FORMATION('1',$,#1843); -#1845=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1844,#28,'',$,*); -#1846=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1852),#1847); -#1847=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1848=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1836, - #1845,'SOLDER_MASK_1','',$,#1848); -#1849=MAPPED_ITEM('tlistt',#6538,#1850); -#1850=AXIS2_PLACEMENT_2D('',#1851,$); -#1851=CARTESIAN_POINT('',(0.0,0.0)); -#1852=CSG_PRIMITIVE_SOLID_2D('',#1854); -#1853=CARTESIAN_POINT('',(0.0,0.0)); -#1854=CIRCULAR_AREA('',#1853,0.035); -#1855=PRODUCT('via060c_031-SOLDER_MASK_2','template',$,(#5970)); -#1856=PRODUCT_DEFINITION_FORMATION('1',$,#1855); -#1857=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1856,#28,'',$,*); -#1858=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1864),#1859); -#1859=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1860=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1836, - #1857,'SOLDER_MASK_2','',$,#1860); -#1861=MAPPED_ITEM('tlistt',#6542,#1862); -#1862=AXIS2_PLACEMENT_2D('',#1863,$); -#1863=CARTESIAN_POINT('',(0.0,0.0)); -#1864=CSG_PRIMITIVE_SOLID_2D('',#1866); -#1865=CARTESIAN_POINT('',(0.0,0.0)); -#1866=CIRCULAR_AREA('',#1865,0.035); -#1867=PRODUCT('via060c_031-POWER','template',$,(#5970)); -#1868=PRODUCT_DEFINITION_FORMATION('1',$,#1867); -#1869=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1868,#28,'',$,*); -#1870=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1900),#1871); -#1871=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1872=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1836,#1869, - 'POWER_1','',$,#1872); -#1873=MAPPED_ITEM('tlistt',#6546,#1874); -#1874=AXIS2_PLACEMENT_2D('',#1875,$); -#1875=CARTESIAN_POINT('',(0.0,0.0)); -#1876=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1836,#1869, - 'POWER_2','',$,#1876); -#1877=MAPPED_ITEM('tlistt',#6546,#1878); -#1878=AXIS2_PLACEMENT_2D('',#1879,$); -#1879=CARTESIAN_POINT('',(0.0,0.0)); -#1880=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1836,#1869, - 'POWER_3','',$,#1880); -#1881=MAPPED_ITEM('tlistt',#6546,#1882); -#1882=AXIS2_PLACEMENT_2D('',#1883,$); -#1883=CARTESIAN_POINT('',(0.0,0.0)); -#1884=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1836,#1869, - 'POWER_4','',$,#1884); -#1885=MAPPED_ITEM('tlistt',#6546,#1886); -#1886=AXIS2_PLACEMENT_2D('',#1887,$); -#1887=CARTESIAN_POINT('',(0.0,0.0)); -#1888=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1836,#1869, - 'POWER_5','',$,#1888); -#1889=MAPPED_ITEM('tlistt',#6546,#1890); -#1890=AXIS2_PLACEMENT_2D('',#1891,$); -#1891=CARTESIAN_POINT('',(0.0,0.0)); -#1892=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1836,#1869, - 'POWER_6','',$,#1892); -#1893=MAPPED_ITEM('tlistt',#6546,#1894); -#1894=AXIS2_PLACEMENT_2D('',#1895,$); -#1895=CARTESIAN_POINT('',(0.0,0.0)); -#1896=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1836,#1869, - 'POWER_7','',$,#1896); -#1897=MAPPED_ITEM('tlistt',#6546,#1898); -#1898=AXIS2_PLACEMENT_2D('',#1899,$); -#1899=CARTESIAN_POINT('',(0.0,0.0)); -#1900=CSG_PRIMITIVE_SOLID_2D('',#1902); -#1901=CARTESIAN_POINT('',(0.0,0.0)); -#1902=CIRCULAR_AREA('',#1901,0.0425); -#1903=PRODUCT('via060c_031-SIGNAL','template',$,(#5970)); -#1904=PRODUCT_DEFINITION_FORMATION('1',$,#1903); -#1905=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1904,#28,'',$,*); -#1906=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1957),#1907); -#1907=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1908=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1905,.T.); -#1909=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1836,#1905, - 'SIGNAL_1','',$,#1909); -#1910=MAPPED_ITEM('tlistt',#6568,#1911); -#1911=AXIS2_PLACEMENT_2D('',#1912,$); -#1912=CARTESIAN_POINT('',(0.0,0.0)); -#1913=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1836,#1905, - 'SIGNAL_2','',$,#1913); -#1914=MAPPED_ITEM('tlistt',#6568,#1915); -#1915=AXIS2_PLACEMENT_2D('',#1916,$); -#1916=CARTESIAN_POINT('',(0.0,0.0)); -#1917=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1836,#1905, - 'SIGNAL_3','',$,#1917); -#1918=MAPPED_ITEM('tlistt',#6568,#1919); -#1919=AXIS2_PLACEMENT_2D('',#1920,$); -#1920=CARTESIAN_POINT('',(0.0,0.0)); -#1921=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1836,#1905, - 'SIGNAL_4','',$,#1921); -#1922=MAPPED_ITEM('tlistt',#6568,#1923); -#1923=AXIS2_PLACEMENT_2D('',#1924,$); -#1924=CARTESIAN_POINT('',(0.0,0.0)); -#1925=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1836,#1905, - 'SIGNAL_5','',$,#1925); -#1926=MAPPED_ITEM('tlistt',#6568,#1927); -#1927=AXIS2_PLACEMENT_2D('',#1928,$); -#1928=CARTESIAN_POINT('',(0.0,0.0)); -#1929=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1836,#1905, - 'SIGNAL_6','',$,#1929); -#1930=MAPPED_ITEM('tlistt',#6568,#1931); -#1931=AXIS2_PLACEMENT_2D('',#1932,$); -#1932=CARTESIAN_POINT('',(0.0,0.0)); -#1933=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1836,#1905, - 'SIGNAL_7','',$,#1933); -#1934=MAPPED_ITEM('tlistt',#6568,#1935); -#1935=AXIS2_PLACEMENT_2D('',#1936,$); -#1936=CARTESIAN_POINT('',(0.0,0.0)); -#1937=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1836,#1905, - 'SIGNAL_8','',$,#1937); -#1938=MAPPED_ITEM('tlistt',#6568,#1939); -#1939=AXIS2_PLACEMENT_2D('',#1940,$); -#1940=CARTESIAN_POINT('',(0.0,0.0)); -#1941=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1836,#1905, - 'SIGNAL_9','',$,#1941); -#1942=MAPPED_ITEM('tlistt',#6568,#1943); -#1943=AXIS2_PLACEMENT_2D('',#1944,$); -#1944=CARTESIAN_POINT('',(0.0,0.0)); -#1945=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1836, - #1905,'SIGNAL_10','',$,#1945); -#1946=MAPPED_ITEM('tlistt',#6568,#1947); -#1947=AXIS2_PLACEMENT_2D('',#1948,$); -#1948=CARTESIAN_POINT('',(0.0,0.0)); -#1949=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1836, - #1905,'SIGNAL_11','',$,#1949); -#1950=MAPPED_ITEM('tlistt',#6568,#1951); -#1951=AXIS2_PLACEMENT_2D('',#1952,$); -#1952=CARTESIAN_POINT('',(0.0,0.0)); -#1953=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1836, - #1905,'SIGNAL_12','',$,#1953); -#1954=MAPPED_ITEM('tlistt',#6568,#1955); -#1955=AXIS2_PLACEMENT_2D('',#1956,$); -#1956=CARTESIAN_POINT('',(0.0,0.0)); -#1957=CSG_PRIMITIVE_SOLID_2D('',#1959); -#1958=CARTESIAN_POINT('',(0.0,0.0)); -#1959=CIRCULAR_AREA('',#1958,0.03); -#1960=SHAPE_ASPECT('TOP','via template terminal',#1822,.T.); -#1961=SHAPE_ASPECT('BOTTOM','via template terminal',#1822,.T.); -#1962=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1963=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#1970),#1962); -#1964=POLYLINE('',(#1965,#1966,#1967,#1968,#1969)); -#1965=CARTESIAN_POINT('',(0.25,0.05)); -#1966=CARTESIAN_POINT('',(0.25,-0.05)); -#1967=CARTESIAN_POINT('',(-0.05,-0.05)); -#1968=CARTESIAN_POINT('',(-0.05,0.05)); -#1969=CARTESIAN_POINT('',(0.25,0.05)); -#1970=GEOMETRIC_CURVE_SET('',(#1964)); -#1971=CSG_2D_SHAPE_REPRESENTATION('',(#26,#1972),#90); -#1972=CSG_SOLID_2D('',#1974); -#1973=CARTESIAN_POINT('',(0.0,0.0)); -#1974=CIRCULAR_AREA('',#1973,0.015); -#1975=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#1976=PRODUCT_DEFINITION_SHAPE('',$,#1975); -#1977=SHAPE_DEFINITION_REPRESENTATION(#1976,#1971); -#1978=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('terminal core material', - (#1975,#2012,#2055,#2098,#2183,#2310)); -#1979=APPLIED_CLASSIFICATION_ASSIGNMENT(#1981,#1980,(#1978)); -#1980=CLASSIFICATION_ROLE('terminal core material',$); -#1981=CLASS('conductive','electrical conductivity'); -#1982=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('terminal surface material', - (#1975,#2012,#2055,#2098,#2183,#2310)); -#1983=APPLIED_CLASSIFICATION_ASSIGNMENT(#1985,#1984,(#1982)); -#1984=CLASSIFICATION_ROLE('terminal surface material',$); -#1985=CLASS('conductive','electrical conductivity'); -#1986=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#89,.T.); -#1987=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4558,#1988,'',$,#1986,#91,*); -#1988=AXIS2_PLACEMENT_2D('',#1989,$); -#1989=CARTESIAN_POINT('',(0.0,0.0)); -#1990=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#117,#862,'1'); -#1991=MAPPED_ITEM('tlistt',#6605,#1988); -#1992=PACKAGE_TERMINAL('2','part generic feature',#89,.T.); -#1993=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4558,#1994,'',$,#1992,#91,*); -#1994=AXIS2_PLACEMENT_2D('',#1996,#1995); -#1995=DIRECTION('',(1.0,0.0)); -#1996=CARTESIAN_POINT('',(0.2,0.0)); -#1997=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#117,#862,'2'); -#1998=MAPPED_ITEM('tlistt',#6605,#1994); -#1999=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2000=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#2007),#1999); -#2001=POLYLINE('',(#2002,#2003,#2004,#2005,#2006)); -#2002=CARTESIAN_POINT('',(0.24,0.05)); -#2003=CARTESIAN_POINT('',(0.24,-0.05)); -#2004=CARTESIAN_POINT('',(-0.04,-0.05)); -#2005=CARTESIAN_POINT('',(-0.04,0.05)); -#2006=CARTESIAN_POINT('',(0.24,0.05)); -#2007=GEOMETRIC_CURVE_SET('',(#2001)); -#2008=CSG_2D_SHAPE_REPRESENTATION('',(#26,#2009),#123); -#2009=CSG_SOLID_2D('',#2011); -#2010=CARTESIAN_POINT('',(0.0,0.0)); -#2011=CIRCULAR_AREA('',#2010,0.015); -#2012=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#2013=PRODUCT_DEFINITION_SHAPE('',$,#2012); -#2014=SHAPE_DEFINITION_REPRESENTATION(#2013,#2008); -#2015=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#122,.T.); -#2016=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4559,#2017,'',$,#2015,#124,*); -#2017=AXIS2_PLACEMENT_2D('',#2018,$); -#2018=CARTESIAN_POINT('',(0.0,0.0)); -#2019=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#143,#862,'1'); -#2020=MAPPED_ITEM('tlistt',#6605,#2017); -#2021=PACKAGE_TERMINAL('2','part generic feature',#122,.T.); -#2022=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4559,#2023,'',$,#2021,#124,*); -#2023=AXIS2_PLACEMENT_2D('',#2025,#2024); -#2024=DIRECTION('',(1.0,0.0)); -#2025=CARTESIAN_POINT('',(0.2,0.0)); -#2026=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#143,#862,'2'); -#2027=MAPPED_ITEM('tlistt',#6605,#2023); -#2028=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2029=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#2033),#2028); -#2030=POLYLINE('',(#2031,#2032)); -#2031=CARTESIAN_POINT('',(0.375,0.0)); -#2032=CARTESIAN_POINT('',(0.45,0.0)); -#2033=GEOMETRIC_CURVE_SET('',(#2030,#2034,#2037,#2040,#2043)); -#2034=POLYLINE('',(#2035,#2036)); -#2035=CARTESIAN_POINT('',(0.355,0.05)); -#2036=CARTESIAN_POINT('',(0.355,-0.05)); -#2037=POLYLINE('',(#2038,#2039)); -#2038=CARTESIAN_POINT('',(0.0,0.0)); -#2039=CARTESIAN_POINT('',(0.075,0.0)); -#2040=POLYLINE('',(#2041,#2042)); -#2041=CARTESIAN_POINT('',(0.095,0.05)); -#2042=CARTESIAN_POINT('',(0.095,-0.05)); -#2043=POLYLINE('',(#2044,#2045,#2046,#2047,#2048,#2049,#2050)); -#2044=CARTESIAN_POINT('',(0.075,0.0)); -#2045=CARTESIAN_POINT('',(0.095,0.05)); -#2046=CARTESIAN_POINT('',(0.355,0.05)); -#2047=CARTESIAN_POINT('',(0.375,0.0)); -#2048=CARTESIAN_POINT('',(0.355,-0.05)); -#2049=CARTESIAN_POINT('',(0.095,-0.05)); -#2050=CARTESIAN_POINT('',(0.075,0.0)); -#2051=CSG_2D_SHAPE_REPRESENTATION('',(#26,#2052),#148); -#2052=CSG_SOLID_2D('',#2054); -#2053=CARTESIAN_POINT('',(0.0,0.0)); -#2054=CIRCULAR_AREA('',#2053,0.015); -#2055=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#2056=PRODUCT_DEFINITION_SHAPE('',$,#2055); -#2057=SHAPE_DEFINITION_REPRESENTATION(#2056,#2051); -#2058=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#147,.T.); -#2059=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4560,#2060,'',$,#2058,#149,*); -#2060=AXIS2_PLACEMENT_2D('',#2061,$); -#2061=CARTESIAN_POINT('',(0.0,0.0)); -#2062=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#180,#862,'1'); -#2063=MAPPED_ITEM('tlistt',#6605,#2060); -#2064=PACKAGE_TERMINAL('2','part generic feature',#147,.T.); -#2065=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4560,#2066,'',$,#2064,#149,*); -#2066=AXIS2_PLACEMENT_2D('',#2068,#2067); -#2067=DIRECTION('',(1.0,0.0)); -#2068=CARTESIAN_POINT('',(0.45,0.0)); -#2069=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#180,#862,'2'); -#2070=MAPPED_ITEM('tlistt',#6605,#2066); -#2071=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2072=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#2081),#2071); -#2073=POLYLINE('',(#2074,#2075,#2076,#2077,#2078,#2079,#2080)); -#2074=CARTESIAN_POINT('',(0.1,0.0)); -#2075=CARTESIAN_POINT('',(0.12,0.05)); -#2076=CARTESIAN_POINT('',(0.38,0.05)); -#2077=CARTESIAN_POINT('',(0.4,0.0)); -#2078=CARTESIAN_POINT('',(0.38,-0.05)); -#2079=CARTESIAN_POINT('',(0.12,-0.05)); -#2080=CARTESIAN_POINT('',(0.1,0.0)); -#2081=GEOMETRIC_CURVE_SET('',(#2073,#2082,#2085,#2088,#2091)); -#2082=POLYLINE('',(#2083,#2084)); -#2083=CARTESIAN_POINT('',(0.12,0.05)); -#2084=CARTESIAN_POINT('',(0.12,-0.05)); -#2085=POLYLINE('',(#2086,#2087)); -#2086=CARTESIAN_POINT('',(0.0,0.0)); -#2087=CARTESIAN_POINT('',(0.1,0.0)); -#2088=POLYLINE('',(#2089,#2090)); -#2089=CARTESIAN_POINT('',(0.38,0.05)); -#2090=CARTESIAN_POINT('',(0.38,-0.05)); -#2091=POLYLINE('',(#2092,#2093)); -#2092=CARTESIAN_POINT('',(0.4,0.0)); -#2093=CARTESIAN_POINT('',(0.5,0.0)); -#2094=CSG_2D_SHAPE_REPRESENTATION('',(#26,#2095),#185); -#2095=CSG_SOLID_2D('',#2097); -#2096=CARTESIAN_POINT('',(0.0,0.0)); -#2097=CIRCULAR_AREA('',#2096,0.015); -#2098=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#2099=PRODUCT_DEFINITION_SHAPE('',$,#2098); -#2100=SHAPE_DEFINITION_REPRESENTATION(#2099,#2094); -#2101=PRIMARY_REFERENCE_TERMINAL('2','part generic feature',#184,.T.); -#2102=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4561,#2103,'',$,#2101,#186,*); -#2103=AXIS2_PLACEMENT_2D('',#2105,#2104); -#2104=DIRECTION('',(1.0,0.0)); -#2105=CARTESIAN_POINT('',(0.5,0.0)); -#2106=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#217,#862,'2'); -#2107=MAPPED_ITEM('tlistt',#6605,#2103); -#2108=PACKAGE_TERMINAL('1','part generic feature',#184,.T.); -#2109=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4561,#2110,'',$,#2108,#186,*); -#2110=AXIS2_PLACEMENT_2D('',#2111,$); -#2111=CARTESIAN_POINT('',(0.0,0.0)); -#2112=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#217,#862,'1'); -#2113=MAPPED_ITEM('tlistt',#6605,#2110); -#2114=PHYSICAL_UNIT_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK('',(#5372),#222,'', - $,#2116,#5370); -#2115=SHAPE_ASPECT('Outline where vias can not be placed in- within layer SIGNAL_2', - 'vlnfse',#221,.F.); -#2116=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#2117),#222); -#2117=CSG_SOLID_2D('',#2118); -#2118=POLYGONAL_AREA('',(#2119,#2120,#2121,#2122,#2123)); -#2119=CARTESIAN_POINT('',(0.05,0.1)); -#2120=CARTESIAN_POINT('',(0.05,-0.4)); -#2121=CARTESIAN_POINT('',(0.25,-0.4)); -#2122=CARTESIAN_POINT('',(0.25,0.1)); -#2123=CARTESIAN_POINT('',(0.05,0.1)); -#2124=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#2125=REPRESENTATION('maximum tolerance',(#2124),#2126); -#2126=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2127=PHYSICAL_UNIT_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK('',(#5381),#222,'', - $,#2129,#5379); -#2128=SHAPE_ASPECT('Outline where vias can not be placed in- within layer SIGNAL_1', - 'vlnfse',#221,.F.); -#2129=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#2130),#222); -#2130=CSG_SOLID_2D('',#2131); -#2131=POLYGONAL_AREA('',(#2132,#2133,#2134,#2135,#2136)); -#2132=CARTESIAN_POINT('',(0.05,0.1)); -#2133=CARTESIAN_POINT('',(0.05,-0.4)); -#2134=CARTESIAN_POINT('',(0.25,-0.4)); -#2135=CARTESIAN_POINT('',(0.25,0.1)); -#2136=CARTESIAN_POINT('',(0.05,0.1)); -#2137=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#2138=REPRESENTATION('maximum tolerance',(#2137),#2139); -#2139=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2140=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2141=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#2148),#2140); -#2142=POLYLINE('',(#2143,#2144,#2145,#2146,#2147)); -#2143=CARTESIAN_POINT('',(0.075,0.075)); -#2144=CARTESIAN_POINT('',(0.075,0.05)); -#2145=CARTESIAN_POINT('',(0.1,0.05)); -#2146=CARTESIAN_POINT('',(0.1,0.075)); -#2147=CARTESIAN_POINT('',(0.075,0.075)); -#2148=GEOMETRIC_CURVE_SET('',(#2142,#2149,#2152,#2155,#2158,#2161,#2164,#2167,#2170, - #2173)); -#2149=POLYLINE('',(#2150,#2151)); -#2150=CARTESIAN_POINT('',(0.25,-0.3)); -#2151=CARTESIAN_POINT('',(0.3,-0.3)); -#2152=POLYLINE('',(#2153,#2154)); -#2153=CARTESIAN_POINT('',(0.25,-0.2)); -#2154=CARTESIAN_POINT('',(0.3,-0.2)); -#2155=POLYLINE('',(#2156,#2157)); -#2156=CARTESIAN_POINT('',(0.25,-0.1)); -#2157=CARTESIAN_POINT('',(0.3,-0.1)); -#2158=POLYLINE('',(#2159,#2160)); -#2159=CARTESIAN_POINT('',(0.25,0.0)); -#2160=CARTESIAN_POINT('',(0.3,0.0)); -#2161=POLYLINE('',(#2162,#2163)); -#2162=CARTESIAN_POINT('',(0.0,-0.3)); -#2163=CARTESIAN_POINT('',(0.05,-0.3)); -#2164=POLYLINE('',(#2165,#2166)); -#2165=CARTESIAN_POINT('',(0.0,-0.2)); -#2166=CARTESIAN_POINT('',(0.05,-0.2)); -#2167=POLYLINE('',(#2168,#2169)); -#2168=CARTESIAN_POINT('',(0.0,-0.1)); -#2169=CARTESIAN_POINT('',(0.05,-0.1)); -#2170=POLYLINE('',(#2171,#2172)); -#2171=CARTESIAN_POINT('',(0.0,0.0)); -#2172=CARTESIAN_POINT('',(0.05,0.0)); -#2173=POLYLINE('',(#2174,#2175,#2176,#2177,#2178)); -#2174=CARTESIAN_POINT('',(0.05,0.1)); -#2175=CARTESIAN_POINT('',(0.05,-0.4)); -#2176=CARTESIAN_POINT('',(0.25,-0.4)); -#2177=CARTESIAN_POINT('',(0.25,0.1)); -#2178=CARTESIAN_POINT('',(0.05,0.1)); -#2179=CSG_2D_SHAPE_REPRESENTATION('',(#26,#2180),#222); -#2180=CSG_SOLID_2D('',#2182); -#2181=CARTESIAN_POINT('',(0.0,0.0)); -#2182=CIRCULAR_AREA('',#2181,0.015); -#2183=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#2184=PRODUCT_DEFINITION_SHAPE('',$,#2183); -#2185=SHAPE_DEFINITION_REPRESENTATION(#2184,#2179); -#2186=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#221,.T.); -#2187=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4562,#2188,'',$,#2186,#223,*); -#2188=AXIS2_PLACEMENT_2D('',#2189,$); -#2189=CARTESIAN_POINT('',(0.0,0.0)); -#2190=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#254,#1126,'1'); -#2191=MAPPED_ITEM('tlistt',#6630,#2188); -#2192=PACKAGE_TERMINAL('2','part generic feature',#221,.T.); -#2193=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4562,#2194,'',$,#2192,#223,*); -#2194=AXIS2_PLACEMENT_2D('',#2196,#2195); -#2195=DIRECTION('',(1.0,0.0)); -#2196=CARTESIAN_POINT('',(0.0,-0.1)); -#2197=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#254,#862,'2'); -#2198=MAPPED_ITEM('tlistt',#6605,#2194); -#2199=PACKAGE_TERMINAL('3','part generic feature',#221,.T.); -#2200=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4562,#2201,'',$,#2199,#223,*); -#2201=AXIS2_PLACEMENT_2D('',#2203,#2202); -#2202=DIRECTION('',(1.0,0.0)); -#2203=CARTESIAN_POINT('',(0.0,-0.2)); -#2204=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#254,#862,'3'); -#2205=MAPPED_ITEM('tlistt',#6605,#2201); -#2206=PACKAGE_TERMINAL('4','part generic feature',#221,.T.); -#2207=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4562,#2208,'',$,#2206,#223,*); -#2208=AXIS2_PLACEMENT_2D('',#2210,#2209); -#2209=DIRECTION('',(1.0,0.0)); -#2210=CARTESIAN_POINT('',(0.0,-0.3)); -#2211=ASSEMBLY_COMPONENT_USAGE('4','tlist','is unknown',#254,#862,'4'); -#2212=MAPPED_ITEM('tlistt',#6605,#2208); -#2213=PACKAGE_TERMINAL('5','part generic feature',#221,.T.); -#2214=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4562,#2215,'',$,#2213,#223,*); -#2215=AXIS2_PLACEMENT_2D('',#2217,#2216); -#2216=DIRECTION('',(1.0,0.0)); -#2217=CARTESIAN_POINT('',(0.3,-0.3)); -#2218=ASSEMBLY_COMPONENT_USAGE('5','tlist','is unknown',#254,#862,'5'); -#2219=MAPPED_ITEM('tlistt',#6605,#2215); -#2220=PACKAGE_TERMINAL('6','part generic feature',#221,.T.); -#2221=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4562,#2222,'',$,#2220,#223,*); -#2222=AXIS2_PLACEMENT_2D('',#2224,#2223); -#2223=DIRECTION('',(1.0,0.0)); -#2224=CARTESIAN_POINT('',(0.3,-0.2)); -#2225=ASSEMBLY_COMPONENT_USAGE('6','tlist','is unknown',#254,#862,'6'); -#2226=MAPPED_ITEM('tlistt',#6605,#2222); -#2227=PACKAGE_TERMINAL('7','part generic feature',#221,.T.); -#2228=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4562,#2229,'',$,#2227,#223,*); -#2229=AXIS2_PLACEMENT_2D('',#2231,#2230); -#2230=DIRECTION('',(1.0,0.0)); -#2231=CARTESIAN_POINT('',(0.3,-0.1)); -#2232=ASSEMBLY_COMPONENT_USAGE('7','tlist','is unknown',#254,#862,'7'); -#2233=MAPPED_ITEM('tlistt',#6605,#2229); -#2234=PACKAGE_TERMINAL('8','part generic feature',#221,.T.); -#2235=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4562,#2236,'',$,#2234,#223,*); -#2236=AXIS2_PLACEMENT_2D('',#2238,#2237); -#2237=DIRECTION('',(1.0,0.0)); -#2238=CARTESIAN_POINT('',(0.3,0.0)); -#2239=ASSEMBLY_COMPONENT_USAGE('8','tlist','is unknown',#254,#862,'8'); -#2240=MAPPED_ITEM('tlistt',#6605,#2236); -#2241=PHYSICAL_UNIT_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK('',(#5390),#259,'', - $,#2243,#5388); -#2242=SHAPE_ASPECT('Outline where vias can not be placed in- within layer SIGNAL_1', - 'vlnfse',#258,.F.); -#2243=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#2244),#259); -#2244=CSG_SOLID_2D('',#2245); -#2245=POLYGONAL_AREA('',(#2246,#2247,#2248,#2249,#2250)); -#2246=CARTESIAN_POINT('',(0.05,0.1)); -#2247=CARTESIAN_POINT('',(0.05,-0.4)); -#2248=CARTESIAN_POINT('',(0.25,-0.4)); -#2249=CARTESIAN_POINT('',(0.25,0.1)); -#2250=CARTESIAN_POINT('',(0.05,0.1)); -#2251=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#2252=REPRESENTATION('maximum tolerance',(#2251),#2253); -#2253=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2254=PHYSICAL_UNIT_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK('',(#5396),#259,'', - $,#2256,#5394); -#2255=SHAPE_ASPECT('Outline where vias can not be placed in- within layer SIGNAL_2', - 'vlnfse',#258,.F.); -#2256=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#2257),#259); -#2257=CSG_SOLID_2D('',#2258); -#2258=POLYGONAL_AREA('',(#2259,#2260,#2261,#2262,#2263)); -#2259=CARTESIAN_POINT('',(0.05,0.1)); -#2260=CARTESIAN_POINT('',(0.05,-0.4)); -#2261=CARTESIAN_POINT('',(0.25,-0.4)); -#2262=CARTESIAN_POINT('',(0.25,0.1)); -#2263=CARTESIAN_POINT('',(0.05,0.1)); -#2264=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#2265=REPRESENTATION('maximum tolerance',(#2264),#2266); -#2266=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2267=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2268=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#2275),#2267); -#2269=POLYLINE('',(#2270,#2271,#2272,#2273,#2274)); -#2270=CARTESIAN_POINT('',(0.05,0.1)); -#2271=CARTESIAN_POINT('',(0.05,-0.4)); -#2272=CARTESIAN_POINT('',(0.25,-0.4)); -#2273=CARTESIAN_POINT('',(0.25,0.1)); -#2274=CARTESIAN_POINT('',(0.05,0.1)); -#2275=GEOMETRIC_CURVE_SET('',(#2269,#2276,#2279,#2282,#2285,#2288,#2291,#2294,#2297, - #2300)); -#2276=POLYLINE('',(#2277,#2278)); -#2277=CARTESIAN_POINT('',(0.0,0.0)); -#2278=CARTESIAN_POINT('',(0.05,0.0)); -#2279=POLYLINE('',(#2280,#2281)); -#2280=CARTESIAN_POINT('',(0.0,-0.1)); -#2281=CARTESIAN_POINT('',(0.05,-0.1)); -#2282=POLYLINE('',(#2283,#2284)); -#2283=CARTESIAN_POINT('',(0.0,-0.2)); -#2284=CARTESIAN_POINT('',(0.05,-0.2)); -#2285=POLYLINE('',(#2286,#2287)); -#2286=CARTESIAN_POINT('',(0.0,-0.3)); -#2287=CARTESIAN_POINT('',(0.05,-0.3)); -#2288=POLYLINE('',(#2289,#2290)); -#2289=CARTESIAN_POINT('',(0.25,0.0)); -#2290=CARTESIAN_POINT('',(0.3,0.0)); -#2291=POLYLINE('',(#2292,#2293)); -#2292=CARTESIAN_POINT('',(0.25,-0.1)); -#2293=CARTESIAN_POINT('',(0.3,-0.1)); -#2294=POLYLINE('',(#2295,#2296)); -#2295=CARTESIAN_POINT('',(0.25,-0.2)); -#2296=CARTESIAN_POINT('',(0.3,-0.2)); -#2297=POLYLINE('',(#2298,#2299)); -#2298=CARTESIAN_POINT('',(0.25,-0.3)); -#2299=CARTESIAN_POINT('',(0.3,-0.3)); -#2300=POLYLINE('',(#2301,#2302,#2303,#2304,#2305)); -#2301=CARTESIAN_POINT('',(0.075,0.075)); -#2302=CARTESIAN_POINT('',(0.075,0.05)); -#2303=CARTESIAN_POINT('',(0.1,0.05)); -#2304=CARTESIAN_POINT('',(0.1,0.075)); -#2305=CARTESIAN_POINT('',(0.075,0.075)); -#2306=CSG_2D_SHAPE_REPRESENTATION('',(#26,#2307),#259); -#2307=CSG_SOLID_2D('',#2309); -#2308=CARTESIAN_POINT('',(0.0,0.0)); -#2309=CIRCULAR_AREA('',#2308,0.015); -#2310=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#2311=PRODUCT_DEFINITION_SHAPE('',$,#2310); -#2312=SHAPE_DEFINITION_REPRESENTATION(#2311,#2306); -#2313=PRIMARY_REFERENCE_TERMINAL('8','part generic feature',#258,.T.); -#2314=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4563,#2315,'',$,#2313,#260,*); -#2315=AXIS2_PLACEMENT_2D('',#2317,#2316); -#2316=DIRECTION('',(1.0,0.0)); -#2317=CARTESIAN_POINT('',(0.3,0.0)); -#2318=ASSEMBLY_COMPONENT_USAGE('8','tlist','is unknown',#291,#862,'8'); -#2319=MAPPED_ITEM('tlistt',#6605,#2315); -#2320=PACKAGE_TERMINAL('7','part generic feature',#258,.T.); -#2321=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4563,#2322,'',$,#2320,#260,*); -#2322=AXIS2_PLACEMENT_2D('',#2324,#2323); -#2323=DIRECTION('',(1.0,0.0)); -#2324=CARTESIAN_POINT('',(0.3,-0.1)); -#2325=ASSEMBLY_COMPONENT_USAGE('7','tlist','is unknown',#291,#862,'7'); -#2326=MAPPED_ITEM('tlistt',#6605,#2322); -#2327=PACKAGE_TERMINAL('6','part generic feature',#258,.T.); -#2328=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4563,#2329,'',$,#2327,#260,*); -#2329=AXIS2_PLACEMENT_2D('',#2331,#2330); -#2330=DIRECTION('',(1.0,0.0)); -#2331=CARTESIAN_POINT('',(0.3,-0.2)); -#2332=ASSEMBLY_COMPONENT_USAGE('6','tlist','is unknown',#291,#862,'6'); -#2333=MAPPED_ITEM('tlistt',#6605,#2329); -#2334=PACKAGE_TERMINAL('5','part generic feature',#258,.T.); -#2335=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4563,#2336,'',$,#2334,#260,*); -#2336=AXIS2_PLACEMENT_2D('',#2338,#2337); -#2337=DIRECTION('',(1.0,0.0)); -#2338=CARTESIAN_POINT('',(0.3,-0.3)); -#2339=ASSEMBLY_COMPONENT_USAGE('5','tlist','is unknown',#291,#862,'5'); -#2340=MAPPED_ITEM('tlistt',#6605,#2336); -#2341=PACKAGE_TERMINAL('4','part generic feature',#258,.T.); -#2342=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4563,#2343,'',$,#2341,#260,*); -#2343=AXIS2_PLACEMENT_2D('',#2345,#2344); -#2344=DIRECTION('',(1.0,0.0)); -#2345=CARTESIAN_POINT('',(0.0,-0.3)); -#2346=ASSEMBLY_COMPONENT_USAGE('4','tlist','is unknown',#291,#862,'4'); -#2347=MAPPED_ITEM('tlistt',#6605,#2343); -#2348=PACKAGE_TERMINAL('3','part generic feature',#258,.T.); -#2349=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4563,#2350,'',$,#2348,#260,*); -#2350=AXIS2_PLACEMENT_2D('',#2352,#2351); -#2351=DIRECTION('',(1.0,0.0)); -#2352=CARTESIAN_POINT('',(0.0,-0.2)); -#2353=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#291,#862,'3'); -#2354=MAPPED_ITEM('tlistt',#6605,#2350); -#2355=PACKAGE_TERMINAL('2','part generic feature',#258,.T.); -#2356=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4563,#2357,'',$,#2355,#260,*); -#2357=AXIS2_PLACEMENT_2D('',#2359,#2358); -#2358=DIRECTION('',(1.0,0.0)); -#2359=CARTESIAN_POINT('',(0.0,-0.1)); -#2360=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#291,#862,'2'); -#2361=MAPPED_ITEM('tlistt',#6605,#2357); -#2362=PACKAGE_TERMINAL('1','part generic feature',#258,.T.); -#2363=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4563,#2364,'',$,#2362,#260,*); -#2364=AXIS2_PLACEMENT_2D('',#2365,$); -#2365=CARTESIAN_POINT('',(0.0,0.0)); -#2366=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#291,#1126,'1'); -#2367=MAPPED_ITEM('tlistt',#6630,#2364); -#2368=PACKAGED_PART_TERMINAL('1','join terminal',#295,.T.); -#2369=PACKAGED_PART_TERMINAL('2','join terminal',#295,.T.); -#2370=PACKAGED_PART_TERMINAL('1','join terminal',#302,.T.); -#2371=PACKAGED_PART_TERMINAL('2','join terminal',#302,.T.); -#2372=PACKAGED_PART_TERMINAL('1','join terminal',#309,.T.); -#2373=PACKAGED_PART_TERMINAL('2','join terminal',#309,.T.); -#2374=PACKAGED_PART_TERMINAL('1','join terminal',#316,.T.); -#2375=PACKAGED_PART_TERMINAL('2','join terminal',#316,.T.); -#2376=PACKAGED_PART_TERMINAL('2','join terminal',#323,.T.); -#2377=PACKAGED_PART_TERMINAL('1','join terminal',#323,.T.); -#2378=PACKAGED_PART_TERMINAL('1','join terminal',#330,.T.); -#2379=PACKAGED_PART_TERMINAL('2','join terminal',#330,.T.); -#2380=PACKAGED_PART_TERMINAL('3','join terminal',#330,.T.); -#2381=PACKAGED_PART_TERMINAL('4','join terminal',#330,.T.); -#2382=PACKAGED_PART_TERMINAL('5','join terminal',#330,.T.); -#2383=PACKAGED_PART_TERMINAL('6','join terminal',#330,.T.); -#2384=PACKAGED_PART_TERMINAL('7','join terminal',#330,.T.); -#2385=PACKAGED_PART_TERMINAL('8','join terminal',#330,.T.); -#2386=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#335,.T.); -#2387=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#335,.T.); -#2388=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#355,.T.); -#2389=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#355,.T.); -#2390=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#374,.T.); -#2391=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#374,.T.); -#2392=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#393,.T.); -#2393=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#393,.T.); -#2394=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#402,.T.); -#2395=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#402,.T.); -#2396=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#421,.T.); -#2397=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#421,.T.); -#2398=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#430,.T.); -#2399=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#430,.T.); -#2400=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#439,.T.); -#2401=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#439,.T.); -#2402=PHYSICAL_COMPONENT_TERMINAL('8','packaged component join terminal',#448,.T.); -#2403=PHYSICAL_COMPONENT_TERMINAL('7','packaged component join terminal',#448,.T.); -#2404=PHYSICAL_COMPONENT_TERMINAL('6','packaged component join terminal',#448,.T.); -#2405=PHYSICAL_COMPONENT_TERMINAL('5','packaged component join terminal',#448,.T.); -#2406=PHYSICAL_COMPONENT_TERMINAL('4','packaged component join terminal',#448,.T.); -#2407=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#448,.T.); -#2408=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#448,.T.); -#2409=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#448,.T.); -#2410=PRODUCT('net_rules track width 0.015mm used in physical_connectivity_definition', - 'requirement',$,(#5484)); -#2411=PRODUCT_DEFINITION_FORMATION('1',$,#2410); -#2412=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#2411,#63); -#2413=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2412)); -#2414=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2415=MEASURE_REPRESENTATION_ITEM('width',LENGTH_MEASURE(0.015),#19); -#2416=PRODUCT('net_rules Requirement for minimum distance between pins - 0.0095', - 'requirement',$,(#5484)); -#2417=PRODUCT_DEFINITION_FORMATION('1',$,#2416); -#2418=LAYOUT_SPACING_REQUIREMENT('1',$,#2417,#63); -#2419=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2418)); -#2420=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2421=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2422=REPRESENTATION('minimum tolerance',(#2421),#2423); -#2423=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2424=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2422)); -#2425=PRODUCT('net_rules Requirement for minimum distance between pin and via - 0.0095', - 'requirement',$,(#5484)); -#2426=PRODUCT_DEFINITION_FORMATION('1',$,#2425); -#2427=LAYOUT_SPACING_REQUIREMENT('1',$,#2426,#63); -#2428=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2427)); -#2429=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2430=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2431=REPRESENTATION('minimum tolerance',(#2430),#2432); -#2432=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2433=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2431)); -#2434=PRODUCT('net_rules Requirement for minimum distance between pin and track - 0.0095', - 'requirement',$,(#5484)); -#2435=PRODUCT_DEFINITION_FORMATION('1',$,#2434); -#2436=LAYOUT_SPACING_REQUIREMENT('1',$,#2435,#63); -#2437=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2436)); -#2438=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2439=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2440=REPRESENTATION('minimum tolerance',(#2439),#2441); -#2441=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2442=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2440)); -#2443=PRODUCT('net_rules Requirement for minimum distance between vias - 0.0095', - 'requirement',$,(#5484)); -#2444=PRODUCT_DEFINITION_FORMATION('1',$,#2443); -#2445=LAYOUT_SPACING_REQUIREMENT('1',$,#2444,#63); -#2446=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2445)); -#2447=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2448=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2449=REPRESENTATION('minimum tolerance',(#2448),#2450); -#2450=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2451=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2449)); -#2452=PRODUCT('net_rules Requirement for minimum distance between via and track - 0.0095', - 'requirement',$,(#5484)); -#2453=PRODUCT_DEFINITION_FORMATION('1',$,#2452); -#2454=LAYOUT_SPACING_REQUIREMENT('1',$,#2453,#63); -#2455=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2454)); -#2456=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2457=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2458=REPRESENTATION('minimum tolerance',(#2457),#2459); -#2459=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2460=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2458)); -#2461=PRODUCT('net_rules Requirement for minimum distance between tracks - 0.0095', - 'requirement',$,(#5484)); -#2462=PRODUCT_DEFINITION_FORMATION('1',$,#2461); -#2463=LAYOUT_SPACING_REQUIREMENT('1',$,#2462,#63); -#2464=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2463)); -#2465=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2466=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2467=REPRESENTATION('minimum tolerance',(#2466),#2468); -#2468=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2469=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2467)); -#2470=PRODUCT('DEFAULT_NET_TYPE track width 0.015mm used in physical_connectivity_definition', - 'requirement',$,(#5484)); -#2471=PRODUCT_DEFINITION_FORMATION('1',$,#2470); -#2472=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#2471,#63); -#2473=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2472)); -#2474=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2475=MEASURE_REPRESENTATION_ITEM('width',LENGTH_MEASURE(0.015),#19); -#2476=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between pins - 0.0095', - 'requirement',$,(#5484)); -#2477=PRODUCT_DEFINITION_FORMATION('1',$,#2476); -#2478=LAYOUT_SPACING_REQUIREMENT('1',$,#2477,#63); -#2479=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2478)); -#2480=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2481=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2482=REPRESENTATION('minimum tolerance',(#2481),#2483); -#2483=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2484=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2482)); -#2485=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between pin and via - 0.0095', - 'requirement',$,(#5484)); -#2486=PRODUCT_DEFINITION_FORMATION('1',$,#2485); -#2487=LAYOUT_SPACING_REQUIREMENT('1',$,#2486,#63); -#2488=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2487)); -#2489=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2490=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2491=REPRESENTATION('minimum tolerance',(#2490),#2492); -#2492=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2493=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2491)); -#2494=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between pin and track - 0.0095', - 'requirement',$,(#5484)); -#2495=PRODUCT_DEFINITION_FORMATION('1',$,#2494); -#2496=LAYOUT_SPACING_REQUIREMENT('1',$,#2495,#63); -#2497=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2496)); -#2498=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2499=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2500=REPRESENTATION('minimum tolerance',(#2499),#2501); -#2501=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2502=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2500)); -#2503=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between vias - 0.0095', - 'requirement',$,(#5484)); -#2504=PRODUCT_DEFINITION_FORMATION('1',$,#2503); -#2505=LAYOUT_SPACING_REQUIREMENT('1',$,#2504,#63); -#2506=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2505)); -#2507=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2508=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2509=REPRESENTATION('minimum tolerance',(#2508),#2510); -#2510=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2511=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2509)); -#2512=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between via and track - 0.0095', - 'requirement',$,(#5484)); -#2513=PRODUCT_DEFINITION_FORMATION('1',$,#2512); -#2514=LAYOUT_SPACING_REQUIREMENT('1',$,#2513,#63); -#2515=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2514)); -#2516=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2517=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2518=REPRESENTATION('minimum tolerance',(#2517),#2519); -#2519=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2520=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2518)); -#2521=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between tracks - 0.0095', - 'requirement',$,(#5484)); -#2522=PRODUCT_DEFINITION_FORMATION('1',$,#2521); -#2523=LAYOUT_SPACING_REQUIREMENT('1',$,#2522,#63); -#2524=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2523)); -#2525=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2526=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#2527=REPRESENTATION('minimum tolerance',(#2526),#2528); -#2528=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2529=APPLIED_DOCUMENT_REFERENCE(#5610,'',(#2527)); -#2530=PHYSICAL_CONNECTIVITY_DEFINITION('0:XSIG10',$,#46,.U.); -#2531=PHYSICAL_CONNECTIVITY_DEFINITION('0:XSIG11',$,#46,.U.); -#2532=PHYSICAL_CONNECTIVITY_DEFINITION('0:XSIG17',$,#46,.U.); -#2533=PHYSICAL_CONNECTIVITY_DEFINITION('0:XSIG20',$,#46,.U.); -#2534=PHYSICAL_CONNECTIVITY_DEFINITION('0:XSIG22',$,#46,.U.); -#2535=PHYSICAL_CONNECTIVITY_DEFINITION('0:XSIG24',$,#46,.U.); -#2536=PHYSICAL_CONNECTIVITY_DEFINITION('0:XSIG8',$,#46,.U.); -#2537=PHYSICAL_CONNECTIVITY_DEFINITION('0:XSIG9',$,#46,.U.); -#2538=PHYSICAL_CONNECTIVITY_DEFINITION('GND',$,#46,.U.); -#2539=PHYSICAL_CONNECTIVITY_DEFINITION('VCC',$,#46,.U.); -#2540=FOOTPRINT_OCCURRENCE('R4-FO',$,#216,#28,'R4-FO','definition usage',$,#217, - *,'',$,*); -#2541=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R4-FO','',$,#34,#217,'R4-FO', - '',$,#2540,*); -#2542=PRODUCT_DEFINITION_SHAPE('',$,#2541); -#2543=COMPONENT_2D_LOCATION(*,#2542,'component 2d location',$,#218,#36,#426); -#2544=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R4-FO 1 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R4-FO 1 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2545=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R4-FO 1 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R4-FO 1 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2546=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#598,#28,'',$,*); -#2547=COMPONENT_TERMINATION_PASSAGE('R4-FO 1 drill','unknown role plated passage', - #870,#28,'R4-FO 1 drill','definition usage',$,#871,*,'',$,*); -#2548=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2547,.U.); -#2549=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2547,.U.); -#2550=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R4-FO 2 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R4-FO 2 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2551=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R4-FO 2 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R4-FO 2 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2552=COMPONENT_TERMINATION_PASSAGE('R4-FO 2 drill','unknown role plated passage', - #870,#28,'R4-FO 2 drill','definition usage',$,#871,*,'',$,*); -#2553=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2552,.U.); -#2554=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2552,.U.); -#2555=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R4-2','part generic feature',#15,.T.); -#2556=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2555, - #2553); -#2557=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2558,'',$,#2555,#25,*); -#2558=AXIS2_PLACEMENT_2D('',#2560,#2559); -#2559=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#2560=CARTESIAN_POINT('',(635000.0000000002,698500.0000000001)); -#2561=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2555); -#2562=PHYSICAL_COMPONENT_TERMINAL('R4-2','interconnect module component terminal', - #49,.U.); -#2563=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R4-1','part generic feature',#15,.T.); -#2564=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2563, - #2548); -#2565=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2566,'',$,#2563,#25,*); -#2566=AXIS2_PLACEMENT_2D('',#2568,#2567); -#2567=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#2568=CARTESIAN_POINT('',(1905000.0,698500.0)); -#2569=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2563); -#2570=PHYSICAL_COMPONENT_TERMINAL('R4-1','interconnect module component terminal', - #49,.U.); -#2571=FOOTPRINT_OCCURRENCE('R2-FO',$,#179,#28,'R2-FO','definition usage',$,#180, - *,'',$,*); -#2572=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R2-FO','',$,#34,#180,'R2-FO', - '',$,#2571,*); -#2573=PRODUCT_DEFINITION_SHAPE('',$,#2572); -#2574=COMPONENT_2D_LOCATION(*,#2573,'component 2d location',$,#181,#36,#398); -#2575=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R2-FO 2 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R2-FO 2 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2576=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R2-FO 2 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R2-FO 2 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2577=COMPONENT_TERMINATION_PASSAGE('R2-FO 2 drill','unknown role plated passage', - #870,#28,'R2-FO 2 drill','definition usage',$,#871,*,'',$,*); -#2578=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2577,.U.); -#2579=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2577,.U.); -#2580=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R2-FO 1 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R2-FO 1 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2581=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R2-FO 1 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R2-FO 1 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2582=COMPONENT_TERMINATION_PASSAGE('R2-FO 1 drill','unknown role plated passage', - #870,#28,'R2-FO 1 drill','definition usage',$,#871,*,'',$,*); -#2583=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2582,.U.); -#2584=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2582,.U.); -#2585=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R2-2','part generic feature',#15,.T.); -#2586=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2585, - #2578); -#2587=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2588,'',$,#2585,#25,*); -#2588=AXIS2_PLACEMENT_2D('',#2590,#2589); -#2589=DIRECTION('',(6.123233995736766E-17,1.0)); -#2590=CARTESIAN_POINT('',(2413000.0,1333499.9999999998)); -#2591=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2585); -#2592=PHYSICAL_COMPONENT_TERMINAL('R2-2','interconnect module component terminal', - #49,.U.); -#2593=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R2-1','part generic feature',#15,.T.); -#2594=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2593, - #2583); -#2595=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2596,'',$,#2593,#25,*); -#2596=AXIS2_PLACEMENT_2D('',#2598,#2597); -#2597=DIRECTION('',(6.123233995736766E-17,1.0)); -#2598=CARTESIAN_POINT('',(2413000.0,190500.0)); -#2599=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2593); -#2600=PHYSICAL_COMPONENT_TERMINAL('R2-1','interconnect module component terminal', - #49,.U.); -#2601=FOOTPRINT_OCCURRENCE('R3-FO',$,#216,#28,'R3-FO','definition usage',$,#217, - *,'',$,*); -#2602=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R3-FO','',$,#34,#217,'R3-FO', - '',$,#2601,*); -#2603=PRODUCT_DEFINITION_SHAPE('',$,#2602); -#2604=COMPONENT_2D_LOCATION(*,#2603,'component 2d location',$,#218,#36,#407); -#2605=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R3-FO 1 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R3-FO 1 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2606=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R3-FO 1 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R3-FO 1 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2607=COMPONENT_TERMINATION_PASSAGE('R3-FO 1 drill','unknown role plated passage', - #870,#28,'R3-FO 1 drill','definition usage',$,#871,*,'',$,*); -#2608=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2607,.U.); -#2609=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2607,.U.); -#2610=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R3-FO 2 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R3-FO 2 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2611=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R3-FO 2 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R3-FO 2 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2612=COMPONENT_TERMINATION_PASSAGE('R3-FO 2 drill','unknown role plated passage', - #870,#28,'R3-FO 2 drill','definition usage',$,#871,*,'',$,*); -#2613=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2612,.U.); -#2614=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2612,.U.); -#2615=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R3-2','part generic feature',#15,.T.); -#2616=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2615, - #2613); -#2617=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2618,'',$,#2615,#25,*); -#2618=AXIS2_PLACEMENT_2D('',#2620,#2619); -#2619=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#2620=CARTESIAN_POINT('',(635000.0000000002,952500.0000000001)); -#2621=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2615); -#2622=PHYSICAL_COMPONENT_TERMINAL('R3-2','interconnect module component terminal', - #49,.U.); -#2623=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R3-1','part generic feature',#15,.T.); -#2624=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2623, - #2608); -#2625=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2626,'',$,#2623,#25,*); -#2626=AXIS2_PLACEMENT_2D('',#2628,#2627); -#2627=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#2628=CARTESIAN_POINT('',(1905000.0,952500.0)); -#2629=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2623); -#2630=PHYSICAL_COMPONENT_TERMINAL('R3-1','interconnect module component terminal', - #49,.U.); -#2631=FOOTPRINT_OCCURRENCE('C2-FO',$,#142,#28,'C2-FO','definition usage',$,#143, - *,'',$,*); -#2632=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C2-FO','',$,#34,#143,'C2-FO', - '',$,#2631,*); -#2633=PRODUCT_DEFINITION_SHAPE('',$,#2632); -#2634=COMPONENT_2D_LOCATION(*,#2633,'component 2d location',$,#144,#36,#360); -#2635=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C2-FO 2 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('C2-FO 2 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2636=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C2-FO 2 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('C2-FO 2 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2637=COMPONENT_TERMINATION_PASSAGE('C2-FO 2 drill','unknown role plated passage', - #870,#28,'C2-FO 2 drill','definition usage',$,#871,*,'',$,*); -#2638=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2637,.U.); -#2639=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2637,.U.); -#2640=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C2-FO 1 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('C2-FO 1 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2641=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C2-FO 1 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('C2-FO 1 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2642=COMPONENT_TERMINATION_PASSAGE('C2-FO 1 drill','unknown role plated passage', - #870,#28,'C2-FO 1 drill','definition usage',$,#871,*,'',$,*); -#2643=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2642,.U.); -#2644=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2642,.U.); -#2645=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C2-1','part generic feature',#15,.T.); -#2646=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2645, - #2643); -#2647=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2648,'',$,#2645,#25,*); -#2648=AXIS2_PLACEMENT_2D('',#2650,#2649); -#2649=DIRECTION('',(1.0,0.0)); -#2650=CARTESIAN_POINT('',(381000.0,1333500.0)); -#2651=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2645); -#2652=PHYSICAL_COMPONENT_TERMINAL('C2-1','interconnect module component terminal', - #49,.U.); -#2653=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C2-2','part generic feature',#15,.T.); -#2654=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2653, - #2638); -#2655=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2656,'',$,#2653,#25,*); -#2656=AXIS2_PLACEMENT_2D('',#2658,#2657); -#2657=DIRECTION('',(1.0,0.0)); -#2658=CARTESIAN_POINT('',(889000.0,1333500.0)); -#2659=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2653); -#2660=PHYSICAL_COMPONENT_TERMINAL('C2-2','interconnect module component terminal', - #49,.U.); -#2661=FOOTPRINT_OCCURRENCE('C1-FO',$,#116,#28,'C1-FO','definition usage',$,#117, - *,'',$,*); -#2662=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C1-FO','',$,#34,#117,'C1-FO', - '',$,#2661,*); -#2663=PRODUCT_DEFINITION_SHAPE('',$,#2662); -#2664=COMPONENT_2D_LOCATION(*,#2663,'component 2d location',$,#118,#36,#340); -#2665=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C1-FO 2 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('C1-FO 2 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2666=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C1-FO 2 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('C1-FO 2 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2667=COMPONENT_TERMINATION_PASSAGE('C1-FO 2 drill','unknown role plated passage', - #870,#28,'C1-FO 2 drill','definition usage',$,#871,*,'',$,*); -#2668=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2667,.U.); -#2669=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2667,.U.); -#2670=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C1-FO 1 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('C1-FO 1 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2671=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('C1-FO 1 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('C1-FO 1 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2672=COMPONENT_TERMINATION_PASSAGE('C1-FO 1 drill','unknown role plated passage', - #870,#28,'C1-FO 1 drill','definition usage',$,#871,*,'',$,*); -#2673=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2672,.U.); -#2674=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2672,.U.); -#2675=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C1-1','part generic feature',#15,.T.); -#2676=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2675, - #2673); -#2677=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2678,'',$,#2675,#25,*); -#2678=AXIS2_PLACEMENT_2D('',#2680,#2679); -#2679=DIRECTION('',(1.0,0.0)); -#2680=CARTESIAN_POINT('',(1143000.0,1333500.0)); -#2681=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2675); -#2682=PHYSICAL_COMPONENT_TERMINAL('C1-1','interconnect module component terminal', - #49,.U.); -#2683=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C1-2','part generic feature',#15,.T.); -#2684=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2683, - #2668); -#2685=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2686,'',$,#2683,#25,*); -#2686=AXIS2_PLACEMENT_2D('',#2688,#2687); -#2687=DIRECTION('',(1.0,0.0)); -#2688=CARTESIAN_POINT('',(1651000.0,1333500.0)); -#2689=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2683); -#2690=PHYSICAL_COMPONENT_TERMINAL('C1-2','interconnect module component terminal', - #49,.U.); -#2691=FOOTPRINT_OCCURRENCE('R1-FO',$,#179,#28,'R1-FO','definition usage',$,#180, - *,'',$,*); -#2692=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R1-FO','',$,#34,#180,'R1-FO', - '',$,#2691,*); -#2693=PRODUCT_DEFINITION_SHAPE('',$,#2692); -#2694=COMPONENT_2D_LOCATION(*,#2693,'component 2d location',$,#181,#36,#379); -#2695=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R1-FO 2 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R1-FO 2 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2696=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R1-FO 2 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R1-FO 2 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2697=COMPONENT_TERMINATION_PASSAGE('R1-FO 2 drill','unknown role plated passage', - #870,#28,'R1-FO 2 drill','definition usage',$,#871,*,'',$,*); -#2698=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2697,.U.); -#2699=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2697,.U.); -#2700=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R1-FO 1 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R1-FO 1 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2701=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R1-FO 1 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R1-FO 1 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2702=COMPONENT_TERMINATION_PASSAGE('R1-FO 1 drill','unknown role plated passage', - #870,#28,'R1-FO 1 drill','definition usage',$,#871,*,'',$,*); -#2703=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2702,.U.); -#2704=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2702,.U.); -#2705=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R1-2','part generic feature',#15,.T.); -#2706=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2705, - #2698); -#2707=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2708,'',$,#2705,#25,*); -#2708=AXIS2_PLACEMENT_2D('',#2710,#2709); -#2709=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#2710=CARTESIAN_POINT('',(2159000.0,190500.00000000023)); -#2711=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2705); -#2712=PHYSICAL_COMPONENT_TERMINAL('R1-2','interconnect module component terminal', - #49,.U.); -#2713=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R1-1','part generic feature',#15,.T.); -#2714=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2713, - #2703); -#2715=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2716,'',$,#2713,#25,*); -#2716=AXIS2_PLACEMENT_2D('',#2718,#2717); -#2717=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#2718=CARTESIAN_POINT('',(2159000.0,1333500.0)); -#2719=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2713); -#2720=PHYSICAL_COMPONENT_TERMINAL('R1-1','interconnect module component terminal', - #49,.U.); -#2721=FOOTPRINT_OCCURRENCE('R5-FO',$,#216,#28,'R5-FO','definition usage',$,#217, - *,'',$,*); -#2722=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R5-FO','',$,#34,#217,'R5-FO', - '',$,#2721,*); -#2723=PRODUCT_DEFINITION_SHAPE('',$,#2722); -#2724=COMPONENT_2D_LOCATION(*,#2723,'component 2d location',$,#218,#36,#435); -#2725=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R5-FO 1 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R5-FO 1 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2726=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R5-FO 1 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R5-FO 1 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2727=COMPONENT_TERMINATION_PASSAGE('R5-FO 1 drill','unknown role plated passage', - #870,#28,'R5-FO 1 drill','definition usage',$,#871,*,'',$,*); -#2728=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2727,.U.); -#2729=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2727,.U.); -#2730=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R5-FO 2 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R5-FO 2 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2731=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R5-FO 2 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R5-FO 2 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2732=COMPONENT_TERMINATION_PASSAGE('R5-FO 2 drill','unknown role plated passage', - #870,#28,'R5-FO 2 drill','definition usage',$,#871,*,'',$,*); -#2733=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2732,.U.); -#2734=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2732,.U.); -#2735=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R5-2','part generic feature',#15,.T.); -#2736=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2735, - #2733); -#2737=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2738,'',$,#2735,#25,*); -#2738=AXIS2_PLACEMENT_2D('',#2740,#2739); -#2739=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#2740=CARTESIAN_POINT('',(635000.0000000002,444500.0000000002)); -#2741=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2735); -#2742=PHYSICAL_COMPONENT_TERMINAL('R5-2','interconnect module component terminal', - #49,.U.); -#2743=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R5-1','part generic feature',#15,.T.); -#2744=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2743, - #2728); -#2745=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2746,'',$,#2743,#25,*); -#2746=AXIS2_PLACEMENT_2D('',#2748,#2747); -#2747=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#2748=CARTESIAN_POINT('',(1905000.0,444500.0)); -#2749=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2743); -#2750=PHYSICAL_COMPONENT_TERMINAL('R5-1','interconnect module component terminal', - #49,.U.); -#2751=FOOTPRINT_OCCURRENCE('U1-FO',$,#253,#28,'U1-FO','definition usage',$,#254, - *,'',$,*); -#2752=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('U1-FO','',$,#34,#254,'U1-FO', - '',$,#2751,*); -#2753=PRODUCT_DEFINITION_SHAPE('',$,#2752); -#2754=COMPONENT_2D_LOCATION(*,#2753,'component 2d location',$,#255,#36,#453); -#2755=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 8 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 8 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2756=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 8 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 8 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2757=COMPONENT_TERMINATION_PASSAGE('U1-FO 8 drill','unknown role plated passage', - #870,#28,'U1-FO 8 drill','definition usage',$,#871,*,'',$,*); -#2758=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2757,.U.); -#2759=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2757,.U.); -#2760=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 7 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 7 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2761=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 7 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 7 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2762=COMPONENT_TERMINATION_PASSAGE('U1-FO 7 drill','unknown role plated passage', - #870,#28,'U1-FO 7 drill','definition usage',$,#871,*,'',$,*); -#2763=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2762,.U.); -#2764=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2762,.U.); -#2765=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 6 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 6 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2766=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 6 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 6 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2767=COMPONENT_TERMINATION_PASSAGE('U1-FO 6 drill','unknown role plated passage', - #870,#28,'U1-FO 6 drill','definition usage',$,#871,*,'',$,*); -#2768=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2767,.U.); -#2769=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2767,.U.); -#2770=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 5 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 5 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2771=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 5 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 5 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2772=COMPONENT_TERMINATION_PASSAGE('U1-FO 5 drill','unknown role plated passage', - #870,#28,'U1-FO 5 drill','definition usage',$,#871,*,'',$,*); -#2773=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2772,.U.); -#2774=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2772,.U.); -#2775=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 4 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 4 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2776=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 4 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 4 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2777=COMPONENT_TERMINATION_PASSAGE('U1-FO 4 drill','unknown role plated passage', - #870,#28,'U1-FO 4 drill','definition usage',$,#871,*,'',$,*); -#2778=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2777,.U.); -#2779=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2777,.U.); -#2780=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 3 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 3 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2781=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 3 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 3 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2782=COMPONENT_TERMINATION_PASSAGE('U1-FO 3 drill','unknown role plated passage', - #870,#28,'U1-FO 3 drill','definition usage',$,#871,*,'',$,*); -#2783=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2782,.U.); -#2784=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2782,.U.); -#2785=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 2 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 2 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2786=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 2 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 2 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2787=COMPONENT_TERMINATION_PASSAGE('U1-FO 2 drill','unknown role plated passage', - #870,#28,'U1-FO 2 drill','definition usage',$,#871,*,'',$,*); -#2788=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2787,.U.); -#2789=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2787,.U.); -#2790=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 1 SIGNAL_12','functional land', - #1210,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 1 SIGNAL_12','definition usage', - $,#1211,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2791=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('U1-FO 1 SIGNAL_1','functional land', - #1210,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 1 SIGNAL_1','definition usage', - $,#1211,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2792=COMPONENT_TERMINATION_PASSAGE('U1-FO 1 drill','unknown role plated passage', - #1130,#28,'U1-FO 1 drill','definition usage',$,#1131,*,'',$,*); -#2793=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2792,.U.); -#2794=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2792,.U.); -#2795=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-2','part generic feature',#15,.T.); -#2796=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2795, - #2788); -#2797=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2798,'',$,#2795,#25,*); -#2798=AXIS2_PLACEMENT_2D('',#2800,#2799); -#2799=DIRECTION('',(1.0,0.0)); -#2800=CARTESIAN_POINT('',(889000.0,698500.0)); -#2801=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2795); -#2802=PHYSICAL_COMPONENT_TERMINAL('U1-2','interconnect module component terminal', - #49,.U.); -#2803=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-6','part generic feature',#15,.T.); -#2804=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2803, - #2768); -#2805=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2806,'',$,#2803,#25,*); -#2806=AXIS2_PLACEMENT_2D('',#2808,#2807); -#2807=DIRECTION('',(1.0,0.0)); -#2808=CARTESIAN_POINT('',(1651000.0,444500.00000000006)); -#2809=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2803); -#2810=PHYSICAL_COMPONENT_TERMINAL('U1-6','interconnect module component terminal', - #49,.U.); -#2811=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-5','part generic feature',#15,.T.); -#2812=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2811, - #2773); -#2813=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2814,'',$,#2811,#25,*); -#2814=AXIS2_PLACEMENT_2D('',#2816,#2815); -#2815=DIRECTION('',(1.0,0.0)); -#2816=CARTESIAN_POINT('',(1651000.0,190500.00000000012)); -#2817=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2811); -#2818=PHYSICAL_COMPONENT_TERMINAL('U1-5','interconnect module component terminal', - #49,.U.); -#2819=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-3','part generic feature',#15,.T.); -#2820=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2819, - #2783); -#2821=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2822,'',$,#2819,#25,*); -#2822=AXIS2_PLACEMENT_2D('',#2824,#2823); -#2823=DIRECTION('',(1.0,0.0)); -#2824=CARTESIAN_POINT('',(889000.0,444500.00000000006)); -#2825=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2819); -#2826=PHYSICAL_COMPONENT_TERMINAL('U1-3','interconnect module component terminal', - #49,.U.); -#2827=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-7','part generic feature',#15,.T.); -#2828=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2827, - #2763); -#2829=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2830,'',$,#2827,#25,*); -#2830=AXIS2_PLACEMENT_2D('',#2832,#2831); -#2831=DIRECTION('',(1.0,0.0)); -#2832=CARTESIAN_POINT('',(1651000.0,698500.0)); -#2833=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2827); -#2834=PHYSICAL_COMPONENT_TERMINAL('U1-7','interconnect module component terminal', - #49,.U.); -#2835=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-1','part generic feature',#15,.T.); -#2836=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2835, - #2793); -#2837=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4565,#2838,'',$,#2835,#25,*); -#2838=AXIS2_PLACEMENT_2D('',#2840,#2839); -#2839=DIRECTION('',(1.0,0.0)); -#2840=CARTESIAN_POINT('',(889000.0,952500.0)); -#2841=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2835); -#2842=PHYSICAL_COMPONENT_TERMINAL('U1-1','interconnect module component terminal', - #49,.U.); -#2843=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-4','part generic feature',#15,.T.); -#2844=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2843, - #2778); -#2845=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2846,'',$,#2843,#25,*); -#2846=AXIS2_PLACEMENT_2D('',#2848,#2847); -#2847=DIRECTION('',(1.0,0.0)); -#2848=CARTESIAN_POINT('',(889000.0,190500.00000000012)); -#2849=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2843); -#2850=PHYSICAL_COMPONENT_TERMINAL('U1-4','interconnect module component terminal', - #49,.U.); -#2851=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-8','part generic feature',#15,.T.); -#2852=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2851, - #2758); -#2853=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2854,'',$,#2851,#25,*); -#2854=AXIS2_PLACEMENT_2D('',#2856,#2855); -#2855=DIRECTION('',(1.0,0.0)); -#2856=CARTESIAN_POINT('',(1651000.0,952500.0)); -#2857=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2851); -#2858=PHYSICAL_COMPONENT_TERMINAL('U1-8','interconnect module component terminal', - #49,.U.); -#2859=FOOTPRINT_OCCURRENCE('R6-FO',$,#216,#28,'R6-FO','definition usage',$,#217, - *,'',$,*); -#2860=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R6-FO','',$,#34,#217,'R6-FO', - '',$,#2859,*); -#2861=PRODUCT_DEFINITION_SHAPE('',$,#2860); -#2862=COMPONENT_2D_LOCATION(*,#2861,'component 2d location',$,#218,#36,#444); -#2863=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R6-FO 1 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R6-FO 1 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2864=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R6-FO 1 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R6-FO 1 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2865=COMPONENT_TERMINATION_PASSAGE('R6-FO 1 drill','unknown role plated passage', - #870,#28,'R6-FO 1 drill','definition usage',$,#871,*,'',$,*); -#2866=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2865,.U.); -#2867=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2865,.U.); -#2868=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R6-FO 2 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R6-FO 2 SIGNAL_12','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2869=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('R6-FO 2 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('R6-FO 2 SIGNAL_1','definition usage', - $,#937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2870=COMPONENT_TERMINATION_PASSAGE('R6-FO 2 drill','unknown role plated passage', - #870,#28,'R6-FO 2 drill','definition usage',$,#871,*,'',$,*); -#2871=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2870,.U.); -#2872=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2870,.U.); -#2873=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R6-2','part generic feature',#15,.T.); -#2874=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2873, - #2871); -#2875=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2876,'',$,#2873,#25,*); -#2876=AXIS2_PLACEMENT_2D('',#2878,#2877); -#2877=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#2878=CARTESIAN_POINT('',(635000.0000000002,190500.00000000015)); -#2879=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2873); -#2880=PHYSICAL_COMPONENT_TERMINAL('R6-2','interconnect module component terminal', - #49,.U.); -#2881=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R6-1','part generic feature',#15,.T.); -#2882=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2881, - #2866); -#2883=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2884,'',$,#2881,#25,*); -#2884=AXIS2_PLACEMENT_2D('',#2886,#2885); -#2885=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#2886=CARTESIAN_POINT('',(1905000.0,190500.0)); -#2887=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2881); -#2888=PHYSICAL_COMPONENT_TERMINAL('R6-1','interconnect module component terminal', - #49,.U.); -#2889=DIRECTION('',(1.0,0.0)); -#2890=DIRECTION('',(-0.0,1.0)); -#2891=CARTESIAN_POINT('',(1905000.0,1333500.0)); -#2892=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#2889,#2890,#2891,1.0); -#2893=PADSTACK_OCCURRENCE('E1',$,#861,#28,'E1','definition usage',$,#862,*,'',$, - *); -#2894=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E1 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E1 SIGNAL_12','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2895=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E1 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E1 SIGNAL_1','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2896=COMPONENT_TERMINATION_PASSAGE('E1 drill','unknown role plated passage',#870, - #28,'E1 drill','definition usage',$,#871,*,'',$,*); -#2897=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2896,.U.); -#2898=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2896,.U.); -#2899=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E1','',$,#34,#862,'E1','',$,#2893, - *); -#2900=PRODUCT_DEFINITION_SHAPE('',$,#2899); -#2901=COMPONENT_2D_LOCATION(*,#2900,'component 2d location',$,#863,#36,#2892); -#2902=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E1-1','part generic feature',#15,.T.); -#2903=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2902, - #2897); -#2904=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2905,'',$,#2902,#25,*); -#2905=AXIS2_PLACEMENT_2D('',#2907,#2906); -#2906=DIRECTION('',(1.0,0.0)); -#2907=CARTESIAN_POINT('',(1905000.0,1333500.0)); -#2908=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2902); -#2909=PHYSICAL_COMPONENT_TERMINAL('E1-1','interconnect module component terminal', - #49,.U.); -#2910=DIRECTION('',(1.0,0.0)); -#2911=DIRECTION('',(-0.0,1.0)); -#2912=CARTESIAN_POINT('',(381000.0,952500.0)); -#2913=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#2910,#2911,#2912,1.0); -#2914=PADSTACK_OCCURRENCE('E2',$,#861,#28,'E2','definition usage',$,#862,*,'',$, - *); -#2915=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E2 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E2 SIGNAL_12','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2916=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E2 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E2 SIGNAL_1','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2917=COMPONENT_TERMINATION_PASSAGE('E2 drill','unknown role plated passage',#870, - #28,'E2 drill','definition usage',$,#871,*,'',$,*); -#2918=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2917,.U.); -#2919=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2917,.U.); -#2920=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E2','',$,#34,#862,'E2','',$,#2914, - *); -#2921=PRODUCT_DEFINITION_SHAPE('',$,#2920); -#2922=COMPONENT_2D_LOCATION(*,#2921,'component 2d location',$,#863,#36,#2913); -#2923=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E2-1','part generic feature',#15,.T.); -#2924=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2923, - #2918); -#2925=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2926,'',$,#2923,#25,*); -#2926=AXIS2_PLACEMENT_2D('',#2928,#2927); -#2927=DIRECTION('',(1.0,0.0)); -#2928=CARTESIAN_POINT('',(381000.0,952500.0)); -#2929=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2923); -#2930=PHYSICAL_COMPONENT_TERMINAL('E2-1','interconnect module component terminal', - #49,.U.); -#2931=DIRECTION('',(1.0,0.0)); -#2932=DIRECTION('',(-0.0,1.0)); -#2933=CARTESIAN_POINT('',(381000.0,698500.0)); -#2934=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#2931,#2932,#2933,1.0); -#2935=PADSTACK_OCCURRENCE('E3',$,#861,#28,'E3','definition usage',$,#862,*,'',$, - *); -#2936=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E3 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E3 SIGNAL_12','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2937=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E3 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E3 SIGNAL_1','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2938=COMPONENT_TERMINATION_PASSAGE('E3 drill','unknown role plated passage',#870, - #28,'E3 drill','definition usage',$,#871,*,'',$,*); -#2939=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2938,.U.); -#2940=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2938,.U.); -#2941=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E3','',$,#34,#862,'E3','',$,#2935, - *); -#2942=PRODUCT_DEFINITION_SHAPE('',$,#2941); -#2943=COMPONENT_2D_LOCATION(*,#2942,'component 2d location',$,#863,#36,#2934); -#2944=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E3-1','part generic feature',#15,.T.); -#2945=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2944, - #2939); -#2946=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2947,'',$,#2944,#25,*); -#2947=AXIS2_PLACEMENT_2D('',#2949,#2948); -#2948=DIRECTION('',(1.0,0.0)); -#2949=CARTESIAN_POINT('',(381000.0,698500.0)); -#2950=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2944); -#2951=PHYSICAL_COMPONENT_TERMINAL('E3-1','interconnect module component terminal', - #49,.U.); -#2952=DIRECTION('',(1.0,0.0)); -#2953=DIRECTION('',(-0.0,1.0)); -#2954=CARTESIAN_POINT('',(127000.0,571500.0)); -#2955=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#2952,#2953,#2954,1.0); -#2956=PADSTACK_OCCURRENCE('E4',$,#861,#28,'E4','definition usage',$,#862,*,'',$, - *); -#2957=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E4 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E4 SIGNAL_12','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2958=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E4 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E4 SIGNAL_1','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2959=COMPONENT_TERMINATION_PASSAGE('E4 drill','unknown role plated passage',#870, - #28,'E4 drill','definition usage',$,#871,*,'',$,*); -#2960=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2959,.U.); -#2961=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2959,.U.); -#2962=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E4','',$,#34,#862,'E4','',$,#2956, - *); -#2963=PRODUCT_DEFINITION_SHAPE('',$,#2962); -#2964=COMPONENT_2D_LOCATION(*,#2963,'component 2d location',$,#863,#36,#2955); -#2965=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E4-1','part generic feature',#15,.T.); -#2966=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2965, - #2960); -#2967=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2968,'',$,#2965,#25,*); -#2968=AXIS2_PLACEMENT_2D('',#2970,#2969); -#2969=DIRECTION('',(1.0,0.0)); -#2970=CARTESIAN_POINT('',(127000.0,571500.0)); -#2971=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2965); -#2972=PHYSICAL_COMPONENT_TERMINAL('E4-1','interconnect module component terminal', - #49,.U.); -#2973=DIRECTION('',(1.0,0.0)); -#2974=DIRECTION('',(-0.0,1.0)); -#2975=CARTESIAN_POINT('',(381000.0,444500.0)); -#2976=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#2973,#2974,#2975,1.0); -#2977=PADSTACK_OCCURRENCE('E5',$,#861,#28,'E5','definition usage',$,#862,*,'',$, - *); -#2978=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E5 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E5 SIGNAL_12','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2979=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E5 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E5 SIGNAL_1','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2980=COMPONENT_TERMINATION_PASSAGE('E5 drill','unknown role plated passage',#870, - #28,'E5 drill','definition usage',$,#871,*,'',$,*); -#2981=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #2980,.U.); -#2982=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #2980,.U.); -#2983=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E5','',$,#34,#862,'E5','',$,#2977, - *); -#2984=PRODUCT_DEFINITION_SHAPE('',$,#2983); -#2985=COMPONENT_2D_LOCATION(*,#2984,'component 2d location',$,#863,#36,#2976); -#2986=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E5-1','part generic feature',#15,.T.); -#2987=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2986, - #2981); -#2988=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#2989,'',$,#2986,#25,*); -#2989=AXIS2_PLACEMENT_2D('',#2991,#2990); -#2990=DIRECTION('',(1.0,0.0)); -#2991=CARTESIAN_POINT('',(381000.0,444500.0)); -#2992=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#2986); -#2993=PHYSICAL_COMPONENT_TERMINAL('E5-1','interconnect module component terminal', - #49,.U.); -#2994=DIRECTION('',(1.0,0.0)); -#2995=DIRECTION('',(-0.0,1.0)); -#2996=CARTESIAN_POINT('',(381000.0,190500.0)); -#2997=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#2994,#2995,#2996,1.0); -#2998=PADSTACK_OCCURRENCE('E6',$,#861,#28,'E6','definition usage',$,#862,*,'',$, - *); -#2999=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E6 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E6 SIGNAL_12','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3000=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E6 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E6 SIGNAL_1','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3001=COMPONENT_TERMINATION_PASSAGE('E6 drill','unknown role plated passage',#870, - #28,'E6 drill','definition usage',$,#871,*,'',$,*); -#3002=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #3001,.U.); -#3003=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #3001,.U.); -#3004=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E6','',$,#34,#862,'E6','',$,#2998, - *); -#3005=PRODUCT_DEFINITION_SHAPE('',$,#3004); -#3006=COMPONENT_2D_LOCATION(*,#3005,'component 2d location',$,#863,#36,#2997); -#3007=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E6-1','part generic feature',#15,.T.); -#3008=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3007, - #3002); -#3009=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#3010,'',$,#3007,#25,*); -#3010=AXIS2_PLACEMENT_2D('',#3012,#3011); -#3011=DIRECTION('',(1.0,0.0)); -#3012=CARTESIAN_POINT('',(381000.0,190500.0)); -#3013=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#3007); -#3014=PHYSICAL_COMPONENT_TERMINAL('E6-1','interconnect module component terminal', - #49,.U.); -#3015=DIRECTION('',(1.0,0.0)); -#3016=DIRECTION('',(-0.0,1.0)); -#3017=CARTESIAN_POINT('',(127000.0,1333500.0)); -#3018=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#3015,#3016,#3017,1.0); -#3019=PADSTACK_OCCURRENCE('E7',$,#861,#28,'E7','definition usage',$,#862,*,'',$, - *); -#3020=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E7 SIGNAL_12','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E7 SIGNAL_12','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3021=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E7 SIGNAL_1','functional land', - #936,#28)PRODUCT_DEFINITION_RELATIONSHIP('E7 SIGNAL_1','definition usage',$, - #937,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3022=COMPONENT_TERMINATION_PASSAGE('E7 drill','unknown role plated passage',#870, - #28,'E7 drill','definition usage',$,#871,*,'',$,*); -#3023=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #3022,.U.); -#3024=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #3022,.U.); -#3025=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E7','',$,#34,#862,'E7','',$,#3019, - *); -#3026=PRODUCT_DEFINITION_SHAPE('',$,#3025); -#3027=COMPONENT_2D_LOCATION(*,#3026,'component 2d location',$,#863,#36,#3018); -#3028=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E7-1','part generic feature',#15,.T.); -#3029=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3028, - #3023); -#3030=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#4564,#3031,'',$,#3028,#25,*); -#3031=AXIS2_PLACEMENT_2D('',#3033,#3032); -#3032=DIRECTION('',(1.0,0.0)); -#3033=CARTESIAN_POINT('',(127000.0,1333500.0)); -#3034=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#3028); -#3035=PHYSICAL_COMPONENT_TERMINAL('E7-1','interconnect module component terminal', - #49,.U.); -#3036=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#4016,#4017,#3037,#4018,#4019),#4015); -#3037=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 38100.0),#17)REPRESENTATION_ITEM('curve width')); -#3038=(LENGTH_MEASURE_WITH_UNIT()MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19) - UNCERTAINTY_MEASURE_WITH_UNIT('',$)); -#3039=PRODUCT('trace template 3','template',$,(#5970)); -#3040=PRODUCT_DEFINITION_FORMATION('1',$,#3039); -#3041=TRACE_TEMPLATE('1',$,#3040,#28,'',$,*); -#3042=POLYLINE('centreline',(#3043,#3044)); -#3043=CARTESIAN_POINT('',(635000.0,698500.0)); -#3044=CARTESIAN_POINT('',(381000.0,698500.0)); -#3045=PATH_AREA_WITH_PARAMETERS('',#5343,#3042); -#3046=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG10-0', - $,#3040,#28,'0:XSIG10-0','definition usage',$,#3041,*,'',$,*,'',$,*,#6938,#3045); -#3047=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG10-0','',$,#34,#3041,'0:XSIG10-0', - '',$,#3046,*); -#3048=LAYER_CONNECTION_POINT('LAYER_1 R4-FO : 2','dependently located',#624,.U.); -#3049=CARTESIAN_POINT('',(635000.0,698500.0000000001)); -#3050=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3046,.U.); -#3051=LAYER_CONNECTION_POINT('LAYER_1 E3','dependently located',#624,.U.); -#3052=CARTESIAN_POINT('',(381000.0,698500.0)); -#3053=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3046,.U.); -#3054=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3046,.U.,'',$,#3050,#3053); -#3055=STRATUM_FEATURE('1','conductor',#624,.U.); -#3056=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#3057=PHYSICAL_NETWORK('0:XSIG10','routed physical network',#34,.U.); -#3058=POLYLINE('centreline',(#3059,#3060)); -#3059=CARTESIAN_POINT('',(635000.0,952500.0)); -#3060=CARTESIAN_POINT('',(381000.0,952500.0)); -#3061=PATH_AREA_WITH_PARAMETERS('',#5343,#3058); -#3062=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG11-0', - $,#3040,#28,'0:XSIG11-0','definition usage',$,#3041,*,'',$,*,'',$,*,#6943,#3061); -#3063=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG11-0','',$,#34,#3041,'0:XSIG11-0', - '',$,#3062,*); -#3064=LAYER_CONNECTION_POINT('LAYER_1 R3-FO : 2','dependently located',#624,.U.); -#3065=CARTESIAN_POINT('',(635000.0,952500.0000000001)); -#3066=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3062,.U.); -#3067=LAYER_CONNECTION_POINT('LAYER_1 E2','dependently located',#624,.U.); -#3068=CARTESIAN_POINT('',(381000.0,952500.0)); -#3069=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3062,.U.); -#3070=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3062,.U.,'',$,#3066,#3069); -#3071=STRATUM_FEATURE('2','conductor',#624,.U.); -#3072=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#3073=PHYSICAL_NETWORK('0:XSIG11','routed physical network',#34,.U.); -#3074=CARTESIAN_POINT('',(2159000.0,1143000.0)); -#3075=LAYER_CONNECTION_POINT('tracktotrack1','explicitly located',#624,.U.); -#3076=CARTESIAN_POINT('',(2159000.0,1143000.0)); -#3077=LAYER_CONNECTION_POINT('tracktotrack2','explicitly located',#624,.U.); -#3078=CARTESIAN_POINT('',(2159000.0,1143000.0)); -#3079=LAYER_CONNECTION_POINT('tracktotrack3','explicitly located',#624,.U.); -#3080=POLYLINE('centreline',(#3081,#3082,#3083,#3084,#3085)); -#3081=CARTESIAN_POINT('',(2159000.0,1143000.0)); -#3082=CARTESIAN_POINT('',(2159000.0,698500.0)); -#3083=CARTESIAN_POINT('',(2032000.0,571500.0)); -#3084=CARTESIAN_POINT('',(1778000.0,571500.0)); -#3085=CARTESIAN_POINT('',(1651000.0,444500.0)); -#3086=PATH_AREA_WITH_PARAMETERS('',#5343,#3080); -#3087=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG17-3', - $,#3040,#28,'0:XSIG17-3','definition usage',$,#3041,*,'',$,*,'',$,*,#6948,#3086); -#3088=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG17-3','',$,#34,#3041,'0:XSIG17-3', - '',$,#3087,*); -#3089=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3087,.U.); -#3090=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3087,.U.); -#3091=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3087,.U.,'',$,#3089,#3090); -#3092=LAYER_CONNECTION_POINT('LAYER_1 U1-FO : 6','dependently located',#624,.U.); -#3093=CARTESIAN_POINT('',(1651000.0,444500.0)); -#3094=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #3087,.U.); -#3095=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3087,.U.,'',$,#3090,#3094); -#3096=POLYLINE('centreline',(#3097,#3098,#3099)); -#3097=CARTESIAN_POINT('',(2413000.0,1333500.0)); -#3098=CARTESIAN_POINT('',(2222500.0,1143000.0)); -#3099=CARTESIAN_POINT('',(2159000.0,1143000.0)); -#3100=PATH_AREA_WITH_PARAMETERS('',#5343,#3096); -#3101=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG17-1', - $,#3040,#28,'0:XSIG17-1','definition usage',$,#3041,*,'',$,*,'',$,*,#6953,#3100); -#3102=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG17-1','',$,#34,#3041,'0:XSIG17-1', - '',$,#3101,*); -#3103=LAYER_CONNECTION_POINT('LAYER_1 R2-FO : 2','dependently located',#624,.U.); -#3104=CARTESIAN_POINT('',(2413000.0,1333500.0)); -#3105=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3101,.U.); -#3106=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3101,.U.); -#3107=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3101,.U.,'',$,#3105,#3106); -#3108=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #3101,.U.); -#3109=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3101,.U.,'',$,#3106,#3108); -#3110=POLYLINE('centreline',(#3111,#3112,#3113)); -#3111=CARTESIAN_POINT('',(2159000.0,1143000.0)); -#3112=CARTESIAN_POINT('',(1333500.0,1143000.0)); -#3113=CARTESIAN_POINT('',(1143000.0,1333500.0)); -#3114=PATH_AREA_WITH_PARAMETERS('',#5343,#3110); -#3115=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG17-0', - $,#3040,#28,'0:XSIG17-0','definition usage',$,#3041,*,'',$,*,'',$,*,#6958,#3114); -#3116=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG17-0','',$,#34,#3041,'0:XSIG17-0', - '',$,#3115,*); -#3117=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3115,.U.); -#3118=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3115,.U.); -#3119=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3115,.U.,'',$,#3117,#3118); -#3120=LAYER_CONNECTION_POINT('LAYER_1 C1-FO : 1','dependently located',#624,.U.); -#3121=CARTESIAN_POINT('',(1143000.0,1333500.0)); -#3122=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #3115,.U.); -#3123=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3115,.U.,'',$,#3118,#3122); -#3124=STRATUM_FEATURE('3','conductor',#624,.U.); -#3125=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#3126=POLYLINE('centreline',(#3127,#3128,#3129)); -#3127=CARTESIAN_POINT('',(889000.0,698500.0)); -#3128=CARTESIAN_POINT('',(1143000.0,952500.0)); -#3129=CARTESIAN_POINT('',(1143000.0,1333500.0)); -#3130=PATH_AREA_WITH_PARAMETERS('',#5343,#3126); -#3131=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG17-2', - $,#3040,#28,'0:XSIG17-2','definition usage',$,#3041,*,'',$,*,'',$,*,#6963,#3130); -#3132=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG17-2','',$,#34,#3041,'0:XSIG17-2', - '',$,#3131,*); -#3133=LAYER_CONNECTION_POINT('LAYER_2 U1-FO : 2','dependently located',#620,.U.); -#3134=CARTESIAN_POINT('',(889000.0,698500.0)); -#3135=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3131,.U.); -#3136=LAYER_CONNECTION_POINT('LAYER_2 C1-FO : 1','dependently located',#620,.U.); -#3137=CARTESIAN_POINT('',(1143000.0,1333500.0)); -#3138=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3131,.U.); -#3139=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3131,.U.,'',$,#3135,#3138); -#3140=STRATUM_FEATURE('4','conductor',#620,.U.); -#3141=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#3142=JOIN_SHAPE_ASPECT('inter stratum join',$,#34,.U.); -#3143=PHYSICAL_NETWORK('0:XSIG17','routed physical network',#34,.U.); -#3144=POLYLINE('centreline',(#3145,#3146,#3147,#3148,#3149)); -#3145=CARTESIAN_POINT('',(1651000.0,190500.0)); -#3146=CARTESIAN_POINT('',(1524000.0,63500.0)); -#3147=CARTESIAN_POINT('',(508000.0,63500.0)); -#3148=CARTESIAN_POINT('',(508000.0,1206500.0)); -#3149=CARTESIAN_POINT('',(381000.0,1333500.0)); -#3150=PATH_AREA_WITH_PARAMETERS('',#5343,#3144); -#3151=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG20-0', - $,#3040,#28,'0:XSIG20-0','definition usage',$,#3041,*,'',$,*,'',$,*,#6968,#3150); -#3152=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG20-0','',$,#34,#3041,'0:XSIG20-0', - '',$,#3151,*); -#3153=LAYER_CONNECTION_POINT('LAYER_2 U1-FO : 5','dependently located',#620,.U.); -#3154=CARTESIAN_POINT('',(1651000.0,190500.0)); -#3155=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3151,.U.); -#3156=LAYER_CONNECTION_POINT('LAYER_2 C2-FO : 1','dependently located',#620,.U.); -#3157=CARTESIAN_POINT('',(381000.0,1333500.0)); -#3158=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3151,.U.); -#3159=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3151,.U.,'',$,#3155,#3158); -#3160=STRATUM_FEATURE('5','conductor',#620,.U.); -#3161=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#3162=PHYSICAL_NETWORK('0:XSIG20','routed physical network',#34,.U.); -#3163=POLYLINE('centreline',(#3164,#3165,#3166)); -#3164=CARTESIAN_POINT('',(889000.0,444500.0)); -#3165=CARTESIAN_POINT('',(762000.0,571500.0)); -#3166=CARTESIAN_POINT('',(127000.0,571500.0)); -#3167=PATH_AREA_WITH_PARAMETERS('',#5343,#3163); -#3168=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG22-0', - $,#3040,#28,'0:XSIG22-0','definition usage',$,#3041,*,'',$,*,'',$,*,#6973,#3167); -#3169=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG22-0','',$,#34,#3041,'0:XSIG22-0', - '',$,#3168,*); -#3170=LAYER_CONNECTION_POINT('LAYER_1 U1-FO : 3','dependently located',#624,.U.); -#3171=CARTESIAN_POINT('',(889000.0,444500.0)); -#3172=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3168,.U.); -#3173=LAYER_CONNECTION_POINT('LAYER_1 E4','dependently located',#624,.U.); -#3174=CARTESIAN_POINT('',(127000.0,571500.0)); -#3175=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3168,.U.); -#3176=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3168,.U.,'',$,#3172,#3175); -#3177=STRATUM_FEATURE('6','conductor',#624,.U.); -#3178=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#3179=PHYSICAL_NETWORK('0:XSIG22','routed physical network',#34,.U.); -#3180=POLYLINE('centreline',(#3181,#3182)); -#3181=CARTESIAN_POINT('',(2413000.0,190500.0)); -#3182=CARTESIAN_POINT('',(2159000.0,190500.0)); -#3183=PATH_AREA_WITH_PARAMETERS('',#5343,#3180); -#3184=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG24-1', - $,#3040,#28,'0:XSIG24-1','definition usage',$,#3041,*,'',$,*,'',$,*,#6978,#3183); -#3185=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG24-1','',$,#34,#3041,'0:XSIG24-1', - '',$,#3184,*); -#3186=LAYER_CONNECTION_POINT('LAYER_2 R2-FO : 1','dependently located',#620,.U.); -#3187=CARTESIAN_POINT('',(2413000.0,190500.0)); -#3188=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3184,.U.); -#3189=LAYER_CONNECTION_POINT('LAYER_2 R1-FO : 2','dependently located',#620,.U.); -#3190=CARTESIAN_POINT('',(2159000.0,190500.0)); -#3191=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3184,.U.); -#3192=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3184,.U.,'',$,#3188,#3191); -#3193=POLYLINE('centreline',(#3194,#3195,#3196,#3197,#3198)); -#3194=CARTESIAN_POINT('',(1651000.0,698500.0)); -#3195=CARTESIAN_POINT('',(1778000.0,571500.0)); -#3196=CARTESIAN_POINT('',(2032000.0,571500.0)); -#3197=CARTESIAN_POINT('',(2159000.0,444500.0)); -#3198=CARTESIAN_POINT('',(2159000.0,190500.0)); -#3199=PATH_AREA_WITH_PARAMETERS('',#5343,#3193); -#3200=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG24-0', - $,#3040,#28,'0:XSIG24-0','definition usage',$,#3041,*,'',$,*,'',$,*,#6983,#3199); -#3201=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG24-0','',$,#34,#3041,'0:XSIG24-0', - '',$,#3200,*); -#3202=LAYER_CONNECTION_POINT('LAYER_2 U1-FO : 7','dependently located',#620,.U.); -#3203=CARTESIAN_POINT('',(1651000.0,698500.0)); -#3204=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3200,.U.); -#3205=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3200,.U.); -#3206=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3200,.U.,'',$,#3204,#3205); -#3207=STRATUM_FEATURE('7','conductor',#620,.U.); -#3208=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#3209=PHYSICAL_NETWORK('0:XSIG24','routed physical network',#34,.U.); -#3210=POLYLINE('centreline',(#3211,#3212)); -#3211=CARTESIAN_POINT('',(635000.0,190500.0)); -#3212=CARTESIAN_POINT('',(381000.0,190500.0)); -#3213=PATH_AREA_WITH_PARAMETERS('',#5343,#3210); -#3214=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG8-0',$, - #3040,#28,'0:XSIG8-0','definition usage',$,#3041,*,'',$,*,'',$,*,#6988,#3213); -#3215=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG8-0','',$,#34,#3041,'0:XSIG8-0', - '',$,#3214,*); -#3216=LAYER_CONNECTION_POINT('LAYER_1 R6-FO : 2','dependently located',#624,.U.); -#3217=CARTESIAN_POINT('',(635000.0,190500.00000000015)); -#3218=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3214,.U.); -#3219=LAYER_CONNECTION_POINT('LAYER_1 E6','dependently located',#624,.U.); -#3220=CARTESIAN_POINT('',(381000.0,190500.0)); -#3221=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3214,.U.); -#3222=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3214,.U.,'',$,#3218,#3221); -#3223=STRATUM_FEATURE('8','conductor',#624,.U.); -#3224=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#3225=PHYSICAL_NETWORK('0:XSIG8','routed physical network',#34,.U.); -#3226=POLYLINE('centreline',(#3227,#3228)); -#3227=CARTESIAN_POINT('',(635000.0,444500.0)); -#3228=CARTESIAN_POINT('',(381000.0,444500.0)); -#3229=PATH_AREA_WITH_PARAMETERS('',#5343,#3226); -#3230=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('0:XSIG9-0',$, - #3040,#28,'0:XSIG9-0','definition usage',$,#3041,*,'',$,*,'',$,*,#6993,#3229); -#3231=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('0:XSIG9-0','',$,#34,#3041,'0:XSIG9-0', - '',$,#3230,*); -#3232=LAYER_CONNECTION_POINT('LAYER_1 R5-FO : 2','dependently located',#624,.U.); -#3233=CARTESIAN_POINT('',(635000.0,444500.0000000002)); -#3234=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3230,.U.); -#3235=LAYER_CONNECTION_POINT('LAYER_1 E5','dependently located',#624,.U.); -#3236=CARTESIAN_POINT('',(381000.0,444500.0)); -#3237=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3230,.U.); -#3238=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3230,.U.,'',$,#3234,#3237); -#3239=STRATUM_FEATURE('9','conductor',#624,.U.); -#3240=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#3241=PHYSICAL_NETWORK('0:XSIG9','routed physical network',#34,.U.); -#3242=POLYLINE('centreline',(#3243,#3244)); -#3243=CARTESIAN_POINT('',(889000.0,1333500.0)); -#3244=CARTESIAN_POINT('',(889000.0,952500.0)); -#3245=PATH_AREA_WITH_PARAMETERS('',#5343,#3242); -#3246=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('GND-1',$,#3040, - #28,'GND-1','definition usage',$,#3041,*,'',$,*,'',$,*,#6998,#3245); -#3247=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('GND-1','',$,#34,#3041,'GND-1', - '',$,#3246,*); -#3248=LAYER_CONNECTION_POINT('LAYER_1 C2-FO : 2','dependently located',#624,.U.); -#3249=CARTESIAN_POINT('',(889000.0,1333500.0)); -#3250=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3246,.U.); -#3251=LAYER_CONNECTION_POINT('LAYER_1 U1-FO : 1','dependently located',#624,.U.); -#3252=CARTESIAN_POINT('',(889000.0,952500.0)); -#3253=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3246,.U.); -#3254=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3246,.U.,'',$,#3250,#3253); -#3255=POLYLINE('centreline',(#3256,#3257,#3258,#3259,#3260,#3261)); -#3256=CARTESIAN_POINT('',(1905000.0,190500.0)); -#3257=CARTESIAN_POINT('',(1778000.0,63500.0)); -#3258=CARTESIAN_POINT('',(1524000.0,63500.0)); -#3259=CARTESIAN_POINT('',(1079500.0,508000.0)); -#3260=CARTESIAN_POINT('',(1079500.0,762000.0)); -#3261=CARTESIAN_POINT('',(889000.0,952500.0)); -#3262=PATH_AREA_WITH_PARAMETERS('',#5343,#3255); -#3263=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('GND-4',$,#3040, - #28,'GND-4','definition usage',$,#3041,*,'',$,*,'',$,*,#7003,#3262); -#3264=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('GND-4','',$,#34,#3041,'GND-4', - '',$,#3263,*); -#3265=LAYER_CONNECTION_POINT('LAYER_1 R6-FO : 1','dependently located',#624,.U.); -#3266=CARTESIAN_POINT('',(1905000.0,190500.0)); -#3267=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3263,.U.); -#3268=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3263,.U.); -#3269=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3263,.U.,'',$,#3267,#3268); -#3270=POLYLINE('centreline',(#3271,#3272,#3273,#3274)); -#3271=CARTESIAN_POINT('',(889000.0,952500.0)); -#3272=CARTESIAN_POINT('',(635000.0,1206500.0)); -#3273=CARTESIAN_POINT('',(254000.0,1206500.0)); -#3274=CARTESIAN_POINT('',(127000.0,1333500.0)); -#3275=PATH_AREA_WITH_PARAMETERS('',#5343,#3270); -#3276=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('GND-2',$,#3040, - #28,'GND-2','definition usage',$,#3041,*,'',$,*,'',$,*,#7008,#3275); -#3277=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('GND-2','',$,#34,#3041,'GND-2', - '',$,#3276,*); -#3278=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3276,.U.); -#3279=LAYER_CONNECTION_POINT('LAYER_1 E7','dependently located',#624,.U.); -#3280=CARTESIAN_POINT('',(127000.0,1333500.0)); -#3281=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3276,.U.); -#3282=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3276,.U.,'',$,#3278,#3281); -#3283=POLYLINE('centreline',(#3284,#3285)); -#3284=CARTESIAN_POINT('',(1905000.0,190500.0)); -#3285=CARTESIAN_POINT('',(1905000.0,444500.0)); -#3286=PATH_AREA_WITH_PARAMETERS('',#5343,#3283); -#3287=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('GND-3',$,#3040, - #28,'GND-3','definition usage',$,#3041,*,'',$,*,'',$,*,#7013,#3286); -#3288=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('GND-3','',$,#34,#3041,'GND-3', - '',$,#3287,*); -#3289=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3287,.U.); -#3290=LAYER_CONNECTION_POINT('LAYER_1 R5-FO : 1','dependently located',#624,.U.); -#3291=CARTESIAN_POINT('',(1905000.0,444500.0)); -#3292=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3287,.U.); -#3293=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3287,.U.,'',$,#3289,#3292); -#3294=POLYLINE('centreline',(#3295,#3296,#3297,#3298)); -#3295=CARTESIAN_POINT('',(889000.0,1333500.0)); -#3296=CARTESIAN_POINT('',(1016000.0,1460500.0)); -#3297=CARTESIAN_POINT('',(1524000.0,1460500.0)); -#3298=CARTESIAN_POINT('',(1651000.0,1333500.0)); -#3299=PATH_AREA_WITH_PARAMETERS('',#5343,#3294); -#3300=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('GND-0',$,#3040, - #28,'GND-0','definition usage',$,#3041,*,'',$,*,'',$,*,#7018,#3299); -#3301=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('GND-0','',$,#34,#3041,'GND-0', - '',$,#3300,*); -#3302=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3300,.U.); -#3303=LAYER_CONNECTION_POINT('LAYER_1 C1-FO : 2','dependently located',#624,.U.); -#3304=CARTESIAN_POINT('',(1651000.0,1333500.0)); -#3305=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3300,.U.); -#3306=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3300,.U.,'',$,#3302,#3305); -#3307=STRATUM_FEATURE('10','conductor',#624,.U.); -#3308=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#3309=PHYSICAL_NETWORK('GND','routed physical network',#34,.U.); -#3310=POLYLINE('centreline',(#3311,#3312)); -#3311=CARTESIAN_POINT('',(2159000.0,1333500.0)); -#3312=CARTESIAN_POINT('',(1905000.0,1333500.0)); -#3313=PATH_AREA_WITH_PARAMETERS('',#5343,#3310); -#3314=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('VCC-4',$,#3040, - #28,'VCC-4','definition usage',$,#3041,*,'',$,*,'',$,*,#7023,#3313); -#3315=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VCC-4','',$,#34,#3041,'VCC-4', - '',$,#3314,*); -#3316=LAYER_CONNECTION_POINT('LAYER_2 R1-FO : 1','dependently located',#620,.U.); -#3317=CARTESIAN_POINT('',(2159000.0,1333500.0)); -#3318=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3314,.U.); -#3319=LAYER_CONNECTION_POINT('LAYER_2 E1','dependently located',#620,.U.); -#3320=CARTESIAN_POINT('',(1905000.0,1333500.0)); -#3321=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3314,.U.); -#3322=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3314,.U.,'',$,#3318,#3321); -#3323=POLYLINE('centreline',(#3324,#3325,#3326)); -#3324=CARTESIAN_POINT('',(1651000.0,952500.0)); -#3325=CARTESIAN_POINT('',(1651000.0,1079500.0)); -#3326=CARTESIAN_POINT('',(1905000.0,1333500.0)); -#3327=PATH_AREA_WITH_PARAMETERS('',#5343,#3323); -#3328=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('VCC-2',$,#3040, - #28,'VCC-2','definition usage',$,#3041,*,'',$,*,'',$,*,#7028,#3327); -#3329=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VCC-2','',$,#34,#3041,'VCC-2', - '',$,#3328,*); -#3330=LAYER_CONNECTION_POINT('LAYER_2 U1-FO : 8','dependently located',#620,.U.); -#3331=CARTESIAN_POINT('',(1651000.0,952500.0)); -#3332=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3328,.U.); -#3333=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3328,.U.); -#3334=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3328,.U.,'',$,#3332,#3333); -#3335=POLYLINE('centreline',(#3336,#3337)); -#3336=CARTESIAN_POINT('',(889000.0,190500.0)); -#3337=CARTESIAN_POINT('',(1651000.0,952500.0)); -#3338=PATH_AREA_WITH_PARAMETERS('',#5343,#3335); -#3339=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('VCC-0',$,#3040, - #28,'VCC-0','definition usage',$,#3041,*,'',$,*,'',$,*,#7033,#3338); -#3340=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VCC-0','',$,#34,#3041,'VCC-0', - '',$,#3339,*); -#3341=LAYER_CONNECTION_POINT('LAYER_2 U1-FO : 4','dependently located',#620,.U.); -#3342=CARTESIAN_POINT('',(889000.0,190500.0)); -#3343=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3339,.U.); -#3344=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3339,.U.); -#3345=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3339,.U.,'',$,#3343,#3344); -#3346=POLYLINE('centreline',(#3347,#3348)); -#3347=CARTESIAN_POINT('',(1905000.0,952500.0)); -#3348=CARTESIAN_POINT('',(1905000.0,1333500.0)); -#3349=PATH_AREA_WITH_PARAMETERS('',#5343,#3346); -#3350=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('VCC-1',$,#3040, - #28,'VCC-1','definition usage',$,#3041,*,'',$,*,'',$,*,#7038,#3349); -#3351=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VCC-1','',$,#34,#3041,'VCC-1', - '',$,#3350,*); -#3352=LAYER_CONNECTION_POINT('LAYER_2 R3-FO : 1','dependently located',#620,.U.); -#3353=CARTESIAN_POINT('',(1905000.0,952500.0)); -#3354=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3350,.U.); -#3355=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3350,.U.); -#3356=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3350,.U.,'',$,#3354,#3355); -#3357=POLYLINE('centreline',(#3358,#3359)); -#3358=CARTESIAN_POINT('',(1905000.0,698500.0)); -#3359=CARTESIAN_POINT('',(1905000.0,952500.0)); -#3360=PATH_AREA_WITH_PARAMETERS('',#5343,#3357); -#3361=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('VCC-3',$,#3040, - #28,'VCC-3','definition usage',$,#3041,*,'',$,*,'',$,*,#7043,#3360); -#3362=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('VCC-3','',$,#34,#3041,'VCC-3', - '',$,#3361,*); -#3363=LAYER_CONNECTION_POINT('LAYER_2 R4-FO : 1','dependently located',#620,.U.); -#3364=CARTESIAN_POINT('',(1905000.0,698500.0)); -#3365=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #3361,.U.); -#3366=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #3361,.U.); -#3367=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#3361,.U.,'',$,#3365,#3366); -#3368=STRATUM_FEATURE('11','conductor',#620,.U.); -#3369=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#3370=PHYSICAL_NETWORK('VCC','routed physical network',#34,.U.); -#3371=STRATUM_FEATURE('E1 SIGNAL_1',$,#624,.U.); -#3372=STRATUM_FEATURE('E2 SIGNAL_12',$,#620,.U.); -#3373=STRATUM_FEATURE('E3 SIGNAL_12',$,#620,.U.); -#3374=STRATUM_FEATURE('E4 SIGNAL_12',$,#620,.U.); -#3375=STRATUM_FEATURE('E5 SIGNAL_12',$,#620,.U.); -#3376=STRATUM_FEATURE('E6 SIGNAL_12',$,#620,.U.); -#3377=STRATUM_FEATURE('E7 SIGNAL_12',$,#620,.U.); -#3378=STRATUM_FEATURE('R4-FO 2 SIGNAL_12',$,#620,.U.); -#3379=STRATUM_FEATURE('R4-FO 1 SIGNAL_1',$,#624,.U.); -#3380=STRATUM_FEATURE('R2-FO 2 SIGNAL_12',$,#620,.U.); -#3381=STRATUM_FEATURE('R2-FO 1 SIGNAL_1',$,#624,.U.); -#3382=STRATUM_FEATURE('R3-FO 2 SIGNAL_12',$,#620,.U.); -#3383=STRATUM_FEATURE('R3-FO 1 SIGNAL_1',$,#624,.U.); -#3384=STRATUM_FEATURE('C2-FO 1 SIGNAL_1',$,#624,.U.); -#3385=STRATUM_FEATURE('C2-FO 2 SIGNAL_12',$,#620,.U.); -#3386=STRATUM_FEATURE('C1-FO 2 SIGNAL_12',$,#620,.U.); -#3387=STRATUM_FEATURE('R1-FO 2 SIGNAL_1',$,#624,.U.); -#3388=STRATUM_FEATURE('R1-FO 1 SIGNAL_1',$,#624,.U.); -#3389=STRATUM_FEATURE('R5-FO 2 SIGNAL_12',$,#620,.U.); -#3390=STRATUM_FEATURE('R5-FO 1 SIGNAL_12',$,#620,.U.); -#3391=STRATUM_FEATURE('U1-FO 1 SIGNAL_12',$,#620,.U.); -#3392=STRATUM_FEATURE('U1-FO 8 SIGNAL_1',$,#624,.U.); -#3393=STRATUM_FEATURE('U1-FO 3 SIGNAL_12',$,#620,.U.); -#3394=STRATUM_FEATURE('U1-FO 6 SIGNAL_12',$,#620,.U.); -#3395=STRATUM_FEATURE('U1-FO 7 SIGNAL_1',$,#624,.U.); -#3396=STRATUM_FEATURE('U1-FO 4 SIGNAL_1',$,#624,.U.); -#3397=STRATUM_FEATURE('U1-FO 2 SIGNAL_1',$,#624,.U.); -#3398=STRATUM_FEATURE('U1-FO 5 SIGNAL_1',$,#624,.U.); -#3399=STRATUM_FEATURE('R6-FO 2 SIGNAL_12',$,#620,.U.); -#3400=STRATUM_FEATURE('R6-FO 1 SIGNAL_12',$,#620,.U.); -#3411=ID_ATTRIBUTE('ac2dsm',#705); -#3412=SHAPE_DEFINITION_REPRESENTATION(#703,#705); -#3413=SHAPE_DEFINITION_REPRESENTATION(#714,#705); -#3414=SHAPE_DEFINITION_REPRESENTATION(#716,#705); -#3415=SHAPE_DEFINITION_REPRESENTATION(#718,#705); -#3416=SHAPE_DEFINITION_REPRESENTATION(#720,#705); -#3417=SHAPE_DEFINITION_REPRESENTATION(#722,#705); -#3418=ASSIGNED_REQUIREMENT(#354,(#349)); -#3419=REQUIREMENT_ASSIGNED_OBJECT(#354,(#335)); -#3420=ID_ATTRIBUTE('',#354); -#3421=ASSIGNED_REQUIREMENT(#373,(#368)); -#3422=REQUIREMENT_ASSIGNED_OBJECT(#373,(#355)); -#3423=ID_ATTRIBUTE('',#373); -#3424=ASSIGNED_REQUIREMENT(#392,(#387)); -#3425=REQUIREMENT_ASSIGNED_OBJECT(#392,(#374)); -#3426=ID_ATTRIBUTE('',#392); -#3427=ASSIGNED_REQUIREMENT(#401,(#387)); -#3428=REQUIREMENT_ASSIGNED_OBJECT(#401,(#393)); -#3429=ID_ATTRIBUTE('',#401); -#3430=ASSIGNED_REQUIREMENT(#420,(#415)); -#3431=REQUIREMENT_ASSIGNED_OBJECT(#420,(#402)); -#3432=ID_ATTRIBUTE('',#420); -#3433=ASSIGNED_REQUIREMENT(#429,(#415)); -#3434=REQUIREMENT_ASSIGNED_OBJECT(#429,(#421)); -#3435=ID_ATTRIBUTE('',#429); -#3436=ASSIGNED_REQUIREMENT(#438,(#415)); -#3437=REQUIREMENT_ASSIGNED_OBJECT(#438,(#430)); -#3438=ID_ATTRIBUTE('',#438); -#3439=ASSIGNED_REQUIREMENT(#447,(#415)); -#3440=REQUIREMENT_ASSIGNED_OBJECT(#447,(#439)); -#3441=ID_ATTRIBUTE('',#447); -#3442=ASSIGNED_REQUIREMENT(#466,(#461)); -#3443=REQUIREMENT_ASSIGNED_OBJECT(#466,(#448)); -#3444=ID_ATTRIBUTE('',#466); -#3445=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#701)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#3446=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','2'); -#3447=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#3448=DESCRIPTION_ATTRIBUTE('placement not fixed',#55); -#3449=DESCRIPTION_ATTRIBUTE('placement not fixed',#341); -#3450=DESCRIPTION_ATTRIBUTE('placement not fixed',#361); -#3451=DESCRIPTION_ATTRIBUTE('placement not fixed',#380); -#3452=DESCRIPTION_ATTRIBUTE('placement not fixed',#399); -#3453=DESCRIPTION_ATTRIBUTE('placement not fixed',#408); -#3454=DESCRIPTION_ATTRIBUTE('placement not fixed',#427); -#3455=DESCRIPTION_ATTRIBUTE('placement not fixed',#436); -#3456=DESCRIPTION_ATTRIBUTE('placement not fixed',#445); -#3457=DESCRIPTION_ATTRIBUTE('placement not fixed',#454); -#3458=DESCRIPTION_ATTRIBUTE('placement not fixed',#676); -#3459=DESCRIPTION_ATTRIBUTE('placement not fixed',#2543); -#3460=DESCRIPTION_ATTRIBUTE('placement not fixed',#2574); -#3461=DESCRIPTION_ATTRIBUTE('placement not fixed',#2604); -#3462=DESCRIPTION_ATTRIBUTE('placement not fixed',#2634); -#3463=DESCRIPTION_ATTRIBUTE('placement not fixed',#2664); -#3464=DESCRIPTION_ATTRIBUTE('placement not fixed',#2694); -#3465=DESCRIPTION_ATTRIBUTE('placement not fixed',#2724); -#3466=DESCRIPTION_ATTRIBUTE('placement not fixed',#2754); -#3467=DESCRIPTION_ATTRIBUTE('placement not fixed',#2862); -#3468=DESCRIPTION_ATTRIBUTE('placement not fixed',#2901); -#3469=DESCRIPTION_ATTRIBUTE('placement not fixed',#2922); -#3470=DESCRIPTION_ATTRIBUTE('placement not fixed',#2943); -#3471=DESCRIPTION_ATTRIBUTE('placement not fixed',#2964); -#3472=DESCRIPTION_ATTRIBUTE('placement not fixed',#2985); -#3473=DESCRIPTION_ATTRIBUTE('placement not fixed',#3006); -#3474=DESCRIPTION_ATTRIBUTE('placement not fixed',#3027); -#3475=REPRESENTATION_CONTEXT('',''); -#3476=PROPERTY_DEFINITION_REPRESENTATION(#3477,#353); -#3477=PROPERTY_DEFINITION('',$,#349); -#3478=PROPERTY_DEFINITION('',$,#343); -#3479=PROPERTY_DEFINITION_REPRESENTATION(#3478,#3480); -#3480=REPRESENTATION('',(#3481),#3475); -#3481=REPRESENTATION_ITEM(''); -#3482=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#353,#3480); -#3483=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#3484=PROPERTY_DEFINITION_REPRESENTATION(#3485,#372); -#3485=PROPERTY_DEFINITION('',$,#368); -#3486=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#372,#3480); -#3487=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#3488=PROPERTY_DEFINITION_REPRESENTATION(#3489,#391); -#3489=PROPERTY_DEFINITION('',$,#387); -#3490=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#391,#3480); -#3491=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#3492=PROPERTY_DEFINITION_REPRESENTATION(#3493,#419); -#3493=PROPERTY_DEFINITION('',$,#415); -#3494=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#419,#3480); -#3495=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#3496=PROPERTY_DEFINITION_REPRESENTATION(#3497,#465); -#3497=PROPERTY_DEFINITION('',$,#461); -#3498=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#465,#3480); -#3499=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#3500=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2548); -#3501=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2553); -#3502=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2578); -#3503=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2583); -#3504=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2608); -#3505=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2613); -#3506=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2638); -#3507=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2643); -#3508=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2668); -#3509=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2673); -#3510=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2698); -#3511=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2703); -#3512=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2728); -#3513=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2733); -#3514=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2758); -#3515=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2763); -#3516=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2768); -#3517=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2773); -#3518=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2778); -#3519=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2783); -#3520=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2788); -#3521=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1132,#2793); -#3522=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2866); -#3523=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2871); -#3524=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2897); -#3525=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2918); -#3526=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2939); -#3527=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2960); -#3528=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#2981); -#3529=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#3002); -#3530=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#872,#3023); -#3531=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2549); -#3532=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2554); -#3533=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2579); -#3534=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2584); -#3535=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2609); -#3536=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2614); -#3537=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2639); -#3538=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2644); -#3539=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2669); -#3540=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2674); -#3541=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2699); -#3542=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2704); -#3543=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2729); -#3544=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2734); -#3545=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2759); -#3546=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2764); -#3547=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2769); -#3548=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2774); -#3549=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2779); -#3550=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2784); -#3551=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2789); -#3552=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1133,#2794); -#3553=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2867); -#3554=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2872); -#3555=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2898); -#3556=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2919); -#3557=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2940); -#3558=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2961); -#3559=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#2982); -#3560=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#3003); -#3561=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#873,#3024); -#3562=PRODUCT_DEFINITION_CONTEXT('template definition',#3563,''); -#3563=APPLICATION_CONTEXT(''); -#3564=PRODUCT_DEFINITION_CONTEXT_ROLE('part definition type',$); -#3566=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#739,#3562,#3564); -#3567=ID_ATTRIBUTE('1',#739); -#3568=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#729,#739); -#3570=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#871,#3562,#3564); -#3571=ID_ATTRIBUTE('1',#871); -#3572=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#865,#871); -#3574=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1003,#3562,#3564); -#3575=ID_ATTRIBUTE('1',#1003); -#3576=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#997,#1003); -#3578=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1131,#3562,#3564); -#3579=ID_ATTRIBUTE('1',#1131); -#3580=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#865,#1131); -#3582=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1273,#3562,#3564); -#3583=ID_ATTRIBUTE('1',#1273); -#3584=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#865,#1273); -#3586=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1401,#3562,#3564); -#3587=ID_ATTRIBUTE('1',#1401); -#3588=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#865,#1401); -#3590=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1543,#3562,#3564); -#3591=ID_ATTRIBUTE('1',#1543); -#3592=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#997,#1543); -#3594=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1685,#3562,#3564); -#3595=ID_ATTRIBUTE('1',#1685); -#3596=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#729,#1685); -#3597=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3048,#3050); -#3598=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3051,#3053); -#3599=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3064,#3066); -#3600=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3067,#3069); -#3601=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3077,#3089); -#3602=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3079,#3090); -#3603=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3092,#3094); -#3604=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3103,#3105); -#3605=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3075,#3106); -#3606=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3079,#3108); -#3607=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3075,#3117); -#3608=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3077,#3118); -#3609=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3120,#3122); -#3610=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3133,#3135); -#3611=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3136,#3138); -#3612=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3153,#3155); -#3613=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3156,#3158); -#3614=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3170,#3172); -#3615=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3173,#3175); -#3616=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3186,#3188); -#3617=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3189,#3191); -#3618=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3202,#3204); -#3619=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3189,#3205); -#3620=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3216,#3218); -#3621=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3219,#3221); -#3622=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3232,#3234); -#3623=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3235,#3237); -#3624=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3248,#3250); -#3625=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3251,#3253); -#3626=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3265,#3267); -#3627=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3251,#3268); -#3628=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3251,#3278); -#3629=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3279,#3281); -#3630=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3265,#3289); -#3631=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3290,#3292); -#3632=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3248,#3302); -#3633=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3303,#3305); -#3634=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3316,#3318); -#3635=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3319,#3321); -#3636=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3330,#3332); -#3637=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3319,#3333); -#3638=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3341,#3343); -#3639=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3330,#3344); -#3640=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3352,#3354); -#3641=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3319,#3355); -#3642=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3363,#3365); -#3643=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#3352,#3366); -#3644=PROPERTY_DEFINITION('','',#3055); -#3645=REPRESENTATION('',(#3647),#3475); -#3646=PROPERTY_DEFINITION_REPRESENTATION(#3644,#3645); -#3647=DESCRIPTIVE_REPRESENTATION_ITEM('feature of size','true'); -#3648=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#3056,#3055); -#3649=PROPERTY_DEFINITION('','',#3071); -#3650=REPRESENTATION('',(#3647),#3475); -#3651=PROPERTY_DEFINITION_REPRESENTATION(#3649,#3650); -#3652=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#3072,#3071); -#3653=PROPERTY_DEFINITION('','',#3124); -#3654=REPRESENTATION('',(#3647),#3475); -#3655=PROPERTY_DEFINITION_REPRESENTATION(#3653,#3654); -#3656=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#3125,#3124); -#3657=PROPERTY_DEFINITION('','',#3140); -#3658=REPRESENTATION('',(#3647),#3475); -#3659=PROPERTY_DEFINITION_REPRESENTATION(#3657,#3658); -#3660=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#3141,#3140); -#3661=PROPERTY_DEFINITION('','',#3160); -#3662=REPRESENTATION('',(#3647),#3475); -#3663=PROPERTY_DEFINITION_REPRESENTATION(#3661,#3662); -#3664=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#3161,#3160); -#3665=PROPERTY_DEFINITION('','',#3177); -#3666=REPRESENTATION('',(#3647),#3475); -#3667=PROPERTY_DEFINITION_REPRESENTATION(#3665,#3666); -#3668=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#3178,#3177); -#3669=PROPERTY_DEFINITION('','',#3207); -#3670=REPRESENTATION('',(#3647),#3475); -#3671=PROPERTY_DEFINITION_REPRESENTATION(#3669,#3670); -#3672=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#3208,#3207); -#3673=PROPERTY_DEFINITION('','',#3223); -#3674=REPRESENTATION('',(#3647),#3475); -#3675=PROPERTY_DEFINITION_REPRESENTATION(#3673,#3674); -#3676=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#3224,#3223); -#3677=PROPERTY_DEFINITION('','',#3239); -#3678=REPRESENTATION('',(#3647),#3475); -#3679=PROPERTY_DEFINITION_REPRESENTATION(#3677,#3678); -#3680=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#3240,#3239); -#3681=PROPERTY_DEFINITION('','',#3307); -#3682=REPRESENTATION('',(#3647),#3475); -#3683=PROPERTY_DEFINITION_REPRESENTATION(#3681,#3682); -#3684=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#3308,#3307); -#3685=PROPERTY_DEFINITION('','',#3368); -#3686=REPRESENTATION('',(#3647),#3475); -#3687=PROPERTY_DEFINITION_REPRESENTATION(#3685,#3686); -#3688=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#3369,#3368); -#3689=DESCRIPTION_ATTRIBUTE('part feature template shape model',#1971); -#3690=DESCRIPTION_ATTRIBUTE('part feature template shape model',#2008); -#3691=DESCRIPTION_ATTRIBUTE('part feature template shape model',#2051); -#3692=DESCRIPTION_ATTRIBUTE('part feature template shape model',#2094); -#3693=DESCRIPTION_ATTRIBUTE('part feature template shape model',#2179); -#3694=DESCRIPTION_ATTRIBUTE('part feature template shape model',#2306); -#3695=ID_ATTRIBUTE('uvlnfsm',#79); -#3696=DESCRIPTION_ATTRIBUTE('pupksm',#79); -#3697=PROPERTY_DEFINITION('',$,#78); -#3698=PROPERTY_DEFINITION_REPRESENTATION(#3697,#79); -#3699=REPRESENTATION_RELATIONSHIP('model shape',$,#41,#79); -#3700=PROPERTY_DEFINITION_REPRESENTATION(#3702,#79); -#3701=KEEPOUT_DESIGN_OBJECT_CATEGORY('','stratum feature category'); -#3702=PROPERTY_DEFINITION('',$,#3701); -#3703=SHAPE_DEFINITION_REPRESENTATION(#39,#79); -#3704=REPRESENTATION('shape material condition',(#3706),#3475); -#3705=REPRESENTATION_RELATIONSHIP('',$,#79,#3704); -#3706=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3707=REPRESENTATION('predefined keepout shape purpose',(#3709),#3475); -#3708=REPRESENTATION_RELATIONSHIP('',$,#79,#3707); -#3709=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#3710=REPRESENTATION('shape environment',(#3712),#3475); -#3711=REPRESENTATION_RELATIONSHIP('',$,#79,#3710); -#3712=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3713=REPRESENTATION('shape extent',(#3715),#3475); -#3714=REPRESENTATION_RELATIONSHIP('',$,#79,#3713); -#3715=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#3716=REPRESENTATION('shape approximation level',(#3718),#3475); -#3717=REPRESENTATION_RELATIONSHIP('',$,#79,#3716); -#3718=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#3719=REPRESENTATION('shape location',(#3721),#3475); -#3720=REPRESENTATION_RELATIONSHIP('',$,#79,#3719); -#3721=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#3722=REPRESENTATION('component application',(#3724),#3475); -#3723=REPRESENTATION_RELATIONSHIP('',$,#79,#3722); -#3724=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#3725=ID_ATTRIBUTE('uvlnfsm',#647); -#3726=DESCRIPTION_ATTRIBUTE('pupksm',#647); -#3727=PROPERTY_DEFINITION('',$,#646); -#3728=PROPERTY_DEFINITION_REPRESENTATION(#3727,#647); -#3729=REPRESENTATION_RELATIONSHIP('model shape',$,#25,#647); -#3730=PROPERTY_DEFINITION_REPRESENTATION(#3702,#647); -#3731=SHAPE_DEFINITION_REPRESENTATION(#15,#647); -#3732=REPRESENTATION('shape material condition',(#3734),#3475); -#3733=REPRESENTATION_RELATIONSHIP('',$,#647,#3732); -#3734=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3735=REPRESENTATION('predefined keepout shape purpose',(#3737),#3475); -#3736=REPRESENTATION_RELATIONSHIP('',$,#647,#3735); -#3737=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#3738=REPRESENTATION('shape environment',(#3740),#3475); -#3739=REPRESENTATION_RELATIONSHIP('',$,#647,#3738); -#3740=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3741=REPRESENTATION('shape extent',(#3743),#3475); -#3742=REPRESENTATION_RELATIONSHIP('',$,#647,#3741); -#3743=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#3744=REPRESENTATION('shape approximation level',(#3746),#3475); -#3745=REPRESENTATION_RELATIONSHIP('',$,#647,#3744); -#3746=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#3747=REPRESENTATION('shape location',(#3749),#3475); -#3748=REPRESENTATION_RELATIONSHIP('',$,#647,#3747); -#3749=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#3750=REPRESENTATION('component application',(#3752),#3475); -#3751=REPRESENTATION_RELATIONSHIP('',$,#647,#3750); -#3752=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#3753=ID_ATTRIBUTE('uvlnfsm',#2116); -#3754=DESCRIPTION_ATTRIBUTE('pupksm',#2116); -#3755=PROPERTY_DEFINITION('',$,#2115); -#3756=PROPERTY_DEFINITION_REPRESENTATION(#3755,#2116); -#3757=REPRESENTATION_RELATIONSHIP('model shape',$,#223,#2116); -#3758=PROPERTY_DEFINITION_REPRESENTATION(#3760,#2116); -#3759=KEEPOUT_DESIGN_OBJECT_CATEGORY('','via category'); -#3760=PROPERTY_DEFINITION('',$,#3759); -#3761=SHAPE_DEFINITION_REPRESENTATION(#221,#2116); -#3762=REPRESENTATION('shape material condition',(#3764),#3475); -#3763=REPRESENTATION_RELATIONSHIP('',$,#2116,#3762); -#3764=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3765=REPRESENTATION('predefined keepout shape purpose',(#3767),#3475); -#3766=REPRESENTATION_RELATIONSHIP('',$,#2116,#3765); -#3767=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#3768=REPRESENTATION('shape environment',(#3770),#3475); -#3769=REPRESENTATION_RELATIONSHIP('',$,#2116,#3768); -#3770=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3771=REPRESENTATION('shape extent',(#3773),#3475); -#3772=REPRESENTATION_RELATIONSHIP('',$,#2116,#3771); -#3773=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#3774=REPRESENTATION('shape approximation level',(#3776),#3475); -#3775=REPRESENTATION_RELATIONSHIP('',$,#2116,#3774); -#3776=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#3777=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#2116,#2125); -#3778=REPRESENTATION('shape location',(#3780),#3475); -#3779=REPRESENTATION_RELATIONSHIP('',$,#2116,#3778); -#3780=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#3781=REPRESENTATION('component application',(#3783),#3475); -#3782=REPRESENTATION_RELATIONSHIP('',$,#2116,#3781); -#3783=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#3784=ID_ATTRIBUTE('uvlnfsm',#2129); -#3785=DESCRIPTION_ATTRIBUTE('pupksm',#2129); -#3786=PROPERTY_DEFINITION('',$,#2128); -#3787=PROPERTY_DEFINITION_REPRESENTATION(#3786,#2129); -#3788=REPRESENTATION_RELATIONSHIP('model shape',$,#223,#2129); -#3789=PROPERTY_DEFINITION_REPRESENTATION(#3760,#2129); -#3790=SHAPE_DEFINITION_REPRESENTATION(#221,#2129); -#3791=REPRESENTATION('shape material condition',(#3793),#3475); -#3792=REPRESENTATION_RELATIONSHIP('',$,#2129,#3791); -#3793=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3794=REPRESENTATION('predefined keepout shape purpose',(#3796),#3475); -#3795=REPRESENTATION_RELATIONSHIP('',$,#2129,#3794); -#3796=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#3797=REPRESENTATION('shape environment',(#3799),#3475); -#3798=REPRESENTATION_RELATIONSHIP('',$,#2129,#3797); -#3799=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3800=REPRESENTATION('shape extent',(#3802),#3475); -#3801=REPRESENTATION_RELATIONSHIP('',$,#2129,#3800); -#3802=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#3803=REPRESENTATION('shape approximation level',(#3805),#3475); -#3804=REPRESENTATION_RELATIONSHIP('',$,#2129,#3803); -#3805=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#3806=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#2129,#2138); -#3807=REPRESENTATION('shape location',(#3809),#3475); -#3808=REPRESENTATION_RELATIONSHIP('',$,#2129,#3807); -#3809=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#3810=REPRESENTATION('component application',(#3812),#3475); -#3811=REPRESENTATION_RELATIONSHIP('',$,#2129,#3810); -#3812=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#3813=ID_ATTRIBUTE('uvlnfsm',#2243); -#3814=DESCRIPTION_ATTRIBUTE('pupksm',#2243); -#3815=PROPERTY_DEFINITION('',$,#2242); -#3816=PROPERTY_DEFINITION_REPRESENTATION(#3815,#2243); -#3817=REPRESENTATION_RELATIONSHIP('model shape',$,#260,#2243); -#3818=PROPERTY_DEFINITION_REPRESENTATION(#3760,#2243); -#3819=SHAPE_DEFINITION_REPRESENTATION(#258,#2243); -#3820=REPRESENTATION('shape material condition',(#3822),#3475); -#3821=REPRESENTATION_RELATIONSHIP('',$,#2243,#3820); -#3822=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3823=REPRESENTATION('predefined keepout shape purpose',(#3825),#3475); -#3824=REPRESENTATION_RELATIONSHIP('',$,#2243,#3823); -#3825=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#3826=REPRESENTATION('shape environment',(#3828),#3475); -#3827=REPRESENTATION_RELATIONSHIP('',$,#2243,#3826); -#3828=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3829=REPRESENTATION('shape extent',(#3831),#3475); -#3830=REPRESENTATION_RELATIONSHIP('',$,#2243,#3829); -#3831=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#3832=REPRESENTATION('shape approximation level',(#3834),#3475); -#3833=REPRESENTATION_RELATIONSHIP('',$,#2243,#3832); -#3834=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#3835=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#2243,#2252); -#3836=REPRESENTATION('shape location',(#3838),#3475); -#3837=REPRESENTATION_RELATIONSHIP('',$,#2243,#3836); -#3838=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#3839=REPRESENTATION('component application',(#3841),#3475); -#3840=REPRESENTATION_RELATIONSHIP('',$,#2243,#3839); -#3841=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#3842=ID_ATTRIBUTE('uvlnfsm',#2256); -#3843=DESCRIPTION_ATTRIBUTE('pupksm',#2256); -#3844=PROPERTY_DEFINITION('',$,#2255); -#3845=PROPERTY_DEFINITION_REPRESENTATION(#3844,#2256); -#3846=REPRESENTATION_RELATIONSHIP('model shape',$,#260,#2256); -#3847=PROPERTY_DEFINITION_REPRESENTATION(#3760,#2256); -#3848=SHAPE_DEFINITION_REPRESENTATION(#258,#2256); -#3849=REPRESENTATION('shape material condition',(#3851),#3475); -#3850=REPRESENTATION_RELATIONSHIP('',$,#2256,#3849); -#3851=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3852=REPRESENTATION('predefined keepout shape purpose',(#3854),#3475); -#3853=REPRESENTATION_RELATIONSHIP('',$,#2256,#3852); -#3854=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#3855=REPRESENTATION('shape environment',(#3857),#3475); -#3856=REPRESENTATION_RELATIONSHIP('',$,#2256,#3855); -#3857=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3858=REPRESENTATION('shape extent',(#3860),#3475); -#3859=REPRESENTATION_RELATIONSHIP('',$,#2256,#3858); -#3860=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#3861=REPRESENTATION('shape approximation level',(#3863),#3475); -#3862=REPRESENTATION_RELATIONSHIP('',$,#2256,#3861); -#3863=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#3864=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#2256,#2265); -#3865=REPRESENTATION('shape location',(#3867),#3475); -#3866=REPRESENTATION_RELATIONSHIP('',$,#2256,#3865); -#3867=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#3868=REPRESENTATION('component application',(#3870),#3475); -#3869=REPRESENTATION_RELATIONSHIP('',$,#2256,#3868); -#3870=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#3871=DESCRIPTION_ATTRIBUTE('pupsm',#91); -#3872=SHAPE_DEFINITION_REPRESENTATION(#89,#91); -#3873=REPRESENTATION('shape material condition',(#3875),#3475); -#3874=REPRESENTATION_RELATIONSHIP('',$,#91,#3873); -#3875=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3876=REPRESENTATION('shape environment',(#3878),#3475); -#3877=REPRESENTATION_RELATIONSHIP('',$,#91,#3876); -#3878=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3879=REPRESENTATION('shape extent',(#3881),#3475); -#3880=REPRESENTATION_RELATIONSHIP('',$,#91,#3879); -#3881=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#3882=REPRESENTATION('shape approximation level',(#3884),#3475); -#3883=REPRESENTATION_RELATIONSHIP('',$,#91,#3882); -#3884=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#3885=REPRESENTATION('mass property quality',(#3887),#3475); -#3886=REPRESENTATION_RELATIONSHIP('',$,#91,#3885); -#3887=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#3888=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#91,#97); -#3889=REPRESENTATION('shape location',(#3891),#3475); -#3890=REPRESENTATION_RELATIONSHIP('',$,#91,#3889); -#3891=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#3892=REPRESENTATION('predefined shape purpose',(#3894),#3475); -#3893=REPRESENTATION_RELATIONSHIP('',$,#91,#3892); -#3894=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#3895=DESCRIPTION_ATTRIBUTE('pupsm',#124); -#3896=SHAPE_DEFINITION_REPRESENTATION(#122,#124); -#3897=REPRESENTATION('shape material condition',(#3899),#3475); -#3898=REPRESENTATION_RELATIONSHIP('',$,#124,#3897); -#3899=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3900=REPRESENTATION('shape environment',(#3902),#3475); -#3901=REPRESENTATION_RELATIONSHIP('',$,#124,#3900); -#3902=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3903=REPRESENTATION('shape extent',(#3905),#3475); -#3904=REPRESENTATION_RELATIONSHIP('',$,#124,#3903); -#3905=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#3906=REPRESENTATION('shape approximation level',(#3908),#3475); -#3907=REPRESENTATION_RELATIONSHIP('',$,#124,#3906); -#3908=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#3909=REPRESENTATION('mass property quality',(#3911),#3475); -#3910=REPRESENTATION_RELATIONSHIP('',$,#124,#3909); -#3911=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#3912=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#124,#127); -#3913=REPRESENTATION('shape location',(#3915),#3475); -#3914=REPRESENTATION_RELATIONSHIP('',$,#124,#3913); -#3915=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#3916=REPRESENTATION('predefined shape purpose',(#3918),#3475); -#3917=REPRESENTATION_RELATIONSHIP('',$,#124,#3916); -#3918=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#3919=DESCRIPTION_ATTRIBUTE('pupsm',#149); -#3920=SHAPE_DEFINITION_REPRESENTATION(#147,#149); -#3921=REPRESENTATION('shape material condition',(#3923),#3475); -#3922=REPRESENTATION_RELATIONSHIP('',$,#149,#3921); -#3923=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3924=REPRESENTATION('shape environment',(#3926),#3475); -#3925=REPRESENTATION_RELATIONSHIP('',$,#149,#3924); -#3926=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3927=REPRESENTATION('shape extent',(#3929),#3475); -#3928=REPRESENTATION_RELATIONSHIP('',$,#149,#3927); -#3929=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#3930=REPRESENTATION('shape approximation level',(#3932),#3475); -#3931=REPRESENTATION_RELATIONSHIP('',$,#149,#3930); -#3932=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#3933=REPRESENTATION('mass property quality',(#3935),#3475); -#3934=REPRESENTATION_RELATIONSHIP('',$,#149,#3933); -#3935=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#3936=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#149,#152); -#3937=REPRESENTATION('shape location',(#3939),#3475); -#3938=REPRESENTATION_RELATIONSHIP('',$,#149,#3937); -#3939=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#3940=REPRESENTATION('predefined shape purpose',(#3942),#3475); -#3941=REPRESENTATION_RELATIONSHIP('',$,#149,#3940); -#3942=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#3943=DESCRIPTION_ATTRIBUTE('pupsm',#186); -#3944=SHAPE_DEFINITION_REPRESENTATION(#184,#186); -#3945=REPRESENTATION('shape material condition',(#3947),#3475); -#3946=REPRESENTATION_RELATIONSHIP('',$,#186,#3945); -#3947=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3948=REPRESENTATION('shape environment',(#3950),#3475); -#3949=REPRESENTATION_RELATIONSHIP('',$,#186,#3948); -#3950=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3951=REPRESENTATION('shape extent',(#3953),#3475); -#3952=REPRESENTATION_RELATIONSHIP('',$,#186,#3951); -#3953=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#3954=REPRESENTATION('shape approximation level',(#3956),#3475); -#3955=REPRESENTATION_RELATIONSHIP('',$,#186,#3954); -#3956=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#3957=REPRESENTATION('mass property quality',(#3959),#3475); -#3958=REPRESENTATION_RELATIONSHIP('',$,#186,#3957); -#3959=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#3960=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#186,#189); -#3961=REPRESENTATION('shape location',(#3963),#3475); -#3962=REPRESENTATION_RELATIONSHIP('',$,#186,#3961); -#3963=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#3964=REPRESENTATION('predefined shape purpose',(#3966),#3475); -#3965=REPRESENTATION_RELATIONSHIP('',$,#186,#3964); -#3966=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#3967=DESCRIPTION_ATTRIBUTE('pupsm',#223); -#3968=SHAPE_DEFINITION_REPRESENTATION(#221,#223); -#3969=REPRESENTATION('shape material condition',(#3971),#3475); -#3970=REPRESENTATION_RELATIONSHIP('',$,#223,#3969); -#3971=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3972=REPRESENTATION('shape environment',(#3974),#3475); -#3973=REPRESENTATION_RELATIONSHIP('',$,#223,#3972); -#3974=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3975=REPRESENTATION('shape extent',(#3977),#3475); -#3976=REPRESENTATION_RELATIONSHIP('',$,#223,#3975); -#3977=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#3978=REPRESENTATION('shape approximation level',(#3980),#3475); -#3979=REPRESENTATION_RELATIONSHIP('',$,#223,#3978); -#3980=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#3981=REPRESENTATION('mass property quality',(#3983),#3475); -#3982=REPRESENTATION_RELATIONSHIP('',$,#223,#3981); -#3983=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#3984=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#223,#226); -#3985=REPRESENTATION('shape location',(#3987),#3475); -#3986=REPRESENTATION_RELATIONSHIP('',$,#223,#3985); -#3987=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#3988=REPRESENTATION('predefined shape purpose',(#3990),#3475); -#3989=REPRESENTATION_RELATIONSHIP('',$,#223,#3988); -#3990=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#3991=DESCRIPTION_ATTRIBUTE('pupsm',#260); -#3992=SHAPE_DEFINITION_REPRESENTATION(#258,#260); -#3993=REPRESENTATION('shape material condition',(#3995),#3475); -#3994=REPRESENTATION_RELATIONSHIP('',$,#260,#3993); -#3995=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#3996=REPRESENTATION('shape environment',(#3998),#3475); -#3997=REPRESENTATION_RELATIONSHIP('',$,#260,#3996); -#3998=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#3999=REPRESENTATION('shape extent',(#4001),#3475); -#4000=REPRESENTATION_RELATIONSHIP('',$,#260,#3999); -#4001=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#4002=REPRESENTATION('shape approximation level',(#4004),#3475); -#4003=REPRESENTATION_RELATIONSHIP('',$,#260,#4002); -#4004=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#4005=REPRESENTATION('mass property quality',(#4007),#3475); -#4006=REPRESENTATION_RELATIONSHIP('',$,#260,#4005); -#4007=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4008=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#260,#263); -#4009=REPRESENTATION('shape location',(#4011),#3475); -#4010=REPRESENTATION_RELATIONSHIP('',$,#260,#4009); -#4011=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#4012=REPRESENTATION('predefined shape purpose',(#4014),#3475); -#4013=REPRESENTATION_RELATIONSHIP('',$,#260,#4012); -#4014=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#4015=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#3038)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#4016=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','3'); -#4017=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#4018=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#4019=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#4020=PROPERTY_DEFINITION('allowed component terminal extent',$,#729); -#4021=PROPERTY_DEFINITION_REPRESENTATION(#4020,#733); -#4022=PROPERTY_DEFINITION('plated passage','true',#729); -#4023=REPRESENTATION('',(#730),#3475); -#4024=PROPERTY_DEFINITION('as finished passage extent',$,#729); -#4025=PROPERTY_DEFINITION_REPRESENTATION(#4024,#4023); -#4026=PROPERTY_DEFINITION('allowed component terminal extent',$,#865); -#4027=PROPERTY_DEFINITION_REPRESENTATION(#4026,#733); -#4028=PROPERTY_DEFINITION('plated passage','true',#865); -#4029=REPRESENTATION('',(#866),#3475); -#4030=PROPERTY_DEFINITION('as finished passage extent',$,#865); -#4031=PROPERTY_DEFINITION_REPRESENTATION(#4030,#4029); -#4032=PROPERTY_DEFINITION('allowed component terminal extent',$,#997); -#4033=PROPERTY_DEFINITION_REPRESENTATION(#4032,#733); -#4034=PROPERTY_DEFINITION('plated passage','true',#997); -#4035=REPRESENTATION('',(#998),#3475); -#4036=PROPERTY_DEFINITION('as finished passage extent',$,#997); -#4037=PROPERTY_DEFINITION_REPRESENTATION(#4036,#4035); -#4039=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#805,#3562,#3564); -#4040=ID_ATTRIBUTE('1',#805); -#4041=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#729,#805); -#4043=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#937,#3562,#3564); -#4044=ID_ATTRIBUTE('1',#937); -#4045=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#865,#937); -#4047=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1069,#3562,#3564); -#4048=ID_ATTRIBUTE('1',#1069); -#4049=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#997,#1069); -#4051=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1211,#3562,#3564); -#4052=ID_ATTRIBUTE('1',#1211); -#4053=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#865,#1211); -#4055=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1339,#3562,#3564); -#4056=ID_ATTRIBUTE('1',#1339); -#4057=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#865,#1339); -#4059=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1481,#3562,#3564); -#4060=ID_ATTRIBUTE('1',#1481); -#4061=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#865,#1481); -#4063=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1623,#3562,#3564); -#4064=ID_ATTRIBUTE('1',#1623); -#4065=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#997,#1623); -#4067=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1765,#3562,#3564); -#4068=ID_ATTRIBUTE('1',#1765); -#4069=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#729,#1765); -#4071=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1905,#3562,#3564); -#4072=ID_ATTRIBUTE('1',#1905); -#4073=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1828,#1905); -#4074=PROPERTY_DEFINITION('plated passage','true',#1828); -#4075=REPRESENTATION('',(#1829),#3475); -#4076=PROPERTY_DEFINITION('as finished passage extent',$,#1828); -#4077=PROPERTY_DEFINITION_REPRESENTATION(#4076,#4075); -#4078=PROPERTY_DEFINITION('as finished deposition thickness',$,#1828); -#4079=PROPERTY_DEFINITION_REPRESENTATION(#4078,#1832); -#4080=PROPERTY_DEFINITION('',$,#3048); -#4081=PROPERTY_DEFINITION_REPRESENTATION(#4080,#4082); -#4082=SHAPE_REPRESENTATION('connection point location 2d',(#3049),#35); -#4083=SHAPE_ASPECT('',$,#2552,.U.); -#4084=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4083,#3048); -#4085=PROPERTY_DEFINITION('',$,#3051); -#4086=PROPERTY_DEFINITION_REPRESENTATION(#4085,#4087); -#4087=SHAPE_REPRESENTATION('connection point location 2d',(#3052),#35); -#4088=SHAPE_ASPECT('',$,#2938,.U.); -#4089=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4088,#3051); -#4090=PROPERTY_DEFINITION('',$,#3064); -#4091=PROPERTY_DEFINITION_REPRESENTATION(#4090,#4092); -#4092=SHAPE_REPRESENTATION('connection point location 2d',(#3065),#35); -#4093=SHAPE_ASPECT('',$,#2612,.U.); -#4094=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4093,#3064); -#4095=PROPERTY_DEFINITION('',$,#3067); -#4096=PROPERTY_DEFINITION_REPRESENTATION(#4095,#4097); -#4097=SHAPE_REPRESENTATION('connection point location 2d',(#3068),#35); -#4098=SHAPE_ASPECT('',$,#2917,.U.); -#4099=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4098,#3067); -#4100=PROPERTY_DEFINITION('',$,#3092); -#4101=PROPERTY_DEFINITION_REPRESENTATION(#4100,#4102); -#4102=SHAPE_REPRESENTATION('connection point location 2d',(#3093),#35); -#4103=SHAPE_ASPECT('',$,#2767,.U.); -#4104=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4103,#3092); -#4105=PROPERTY_DEFINITION('',$,#3103); -#4106=PROPERTY_DEFINITION_REPRESENTATION(#4105,#4107); -#4107=SHAPE_REPRESENTATION('connection point location 2d',(#3104),#35); -#4108=SHAPE_ASPECT('',$,#2577,.U.); -#4109=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4108,#3103); -#4110=PROPERTY_DEFINITION('',$,#3120); -#4111=PROPERTY_DEFINITION_REPRESENTATION(#4110,#4112); -#4112=SHAPE_REPRESENTATION('connection point location 2d',(#3121),#35); -#4113=SHAPE_ASPECT('',$,#2672,.U.); -#4114=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4113,#3120); -#4115=PROPERTY_DEFINITION('',$,#3133); -#4116=PROPERTY_DEFINITION_REPRESENTATION(#4115,#4117); -#4117=SHAPE_REPRESENTATION('connection point location 2d',(#3134),#35); -#4118=SHAPE_ASPECT('',$,#2787,.U.); -#4119=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4118,#3133); -#4120=PROPERTY_DEFINITION('',$,#3136); -#4121=PROPERTY_DEFINITION_REPRESENTATION(#4120,#4122); -#4122=SHAPE_REPRESENTATION('connection point location 2d',(#3137),#35); -#4123=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4113,#3136); -#4124=PROPERTY_DEFINITION('',$,#3153); -#4125=PROPERTY_DEFINITION_REPRESENTATION(#4124,#4126); -#4126=SHAPE_REPRESENTATION('connection point location 2d',(#3154),#35); -#4127=SHAPE_ASPECT('',$,#2772,.U.); -#4128=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4127,#3153); -#4129=PROPERTY_DEFINITION('',$,#3156); -#4130=PROPERTY_DEFINITION_REPRESENTATION(#4129,#4131); -#4131=SHAPE_REPRESENTATION('connection point location 2d',(#3157),#35); -#4132=SHAPE_ASPECT('',$,#2642,.U.); -#4133=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4132,#3156); -#4134=PROPERTY_DEFINITION('',$,#3170); -#4135=PROPERTY_DEFINITION_REPRESENTATION(#4134,#4136); -#4136=SHAPE_REPRESENTATION('connection point location 2d',(#3171),#35); -#4137=SHAPE_ASPECT('',$,#2782,.U.); -#4138=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4137,#3170); -#4139=PROPERTY_DEFINITION('',$,#3173); -#4140=PROPERTY_DEFINITION_REPRESENTATION(#4139,#4141); -#4141=SHAPE_REPRESENTATION('connection point location 2d',(#3174),#35); -#4142=SHAPE_ASPECT('',$,#2959,.U.); -#4143=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4142,#3173); -#4144=PROPERTY_DEFINITION('',$,#3186); -#4145=PROPERTY_DEFINITION_REPRESENTATION(#4144,#4146); -#4146=SHAPE_REPRESENTATION('connection point location 2d',(#3187),#35); -#4147=SHAPE_ASPECT('',$,#2582,.U.); -#4148=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4147,#3186); -#4149=PROPERTY_DEFINITION('',$,#3189); -#4150=PROPERTY_DEFINITION_REPRESENTATION(#4149,#4151); -#4151=SHAPE_REPRESENTATION('connection point location 2d',(#3190),#35); -#4152=SHAPE_ASPECT('',$,#2697,.U.); -#4153=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4152,#3189); -#4154=PROPERTY_DEFINITION('',$,#3202); -#4155=PROPERTY_DEFINITION_REPRESENTATION(#4154,#4156); -#4156=SHAPE_REPRESENTATION('connection point location 2d',(#3203),#35); -#4157=SHAPE_ASPECT('',$,#2762,.U.); -#4158=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4157,#3202); -#4159=PROPERTY_DEFINITION('',$,#3216); -#4160=PROPERTY_DEFINITION_REPRESENTATION(#4159,#4161); -#4161=SHAPE_REPRESENTATION('connection point location 2d',(#3217),#35); -#4162=SHAPE_ASPECT('',$,#2870,.U.); -#4163=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4162,#3216); -#4164=PROPERTY_DEFINITION('',$,#3219); -#4165=PROPERTY_DEFINITION_REPRESENTATION(#4164,#4166); -#4166=SHAPE_REPRESENTATION('connection point location 2d',(#3220),#35); -#4167=SHAPE_ASPECT('',$,#3001,.U.); -#4168=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4167,#3219); -#4169=PROPERTY_DEFINITION('',$,#3232); -#4170=PROPERTY_DEFINITION_REPRESENTATION(#4169,#4171); -#4171=SHAPE_REPRESENTATION('connection point location 2d',(#3233),#35); -#4172=SHAPE_ASPECT('',$,#2732,.U.); -#4173=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4172,#3232); -#4174=PROPERTY_DEFINITION('',$,#3235); -#4175=PROPERTY_DEFINITION_REPRESENTATION(#4174,#4176); -#4176=SHAPE_REPRESENTATION('connection point location 2d',(#3236),#35); -#4177=SHAPE_ASPECT('',$,#2980,.U.); -#4178=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4177,#3235); -#4179=PROPERTY_DEFINITION('',$,#3248); -#4180=PROPERTY_DEFINITION_REPRESENTATION(#4179,#4181); -#4181=SHAPE_REPRESENTATION('connection point location 2d',(#3249),#35); -#4182=SHAPE_ASPECT('',$,#2637,.U.); -#4183=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4182,#3248); -#4184=PROPERTY_DEFINITION('',$,#3251); -#4185=PROPERTY_DEFINITION_REPRESENTATION(#4184,#4186); -#4186=SHAPE_REPRESENTATION('connection point location 2d',(#3252),#35); -#4187=SHAPE_ASPECT('',$,#2792,.U.); -#4188=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4187,#3251); -#4189=PROPERTY_DEFINITION('',$,#3265); -#4190=PROPERTY_DEFINITION_REPRESENTATION(#4189,#4191); -#4191=SHAPE_REPRESENTATION('connection point location 2d',(#3266),#35); -#4192=SHAPE_ASPECT('',$,#2865,.U.); -#4193=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4192,#3265); -#4194=PROPERTY_DEFINITION('',$,#3279); -#4195=PROPERTY_DEFINITION_REPRESENTATION(#4194,#4196); -#4196=SHAPE_REPRESENTATION('connection point location 2d',(#3280),#35); -#4197=SHAPE_ASPECT('',$,#3022,.U.); -#4198=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4197,#3279); -#4199=PROPERTY_DEFINITION('',$,#3290); -#4200=PROPERTY_DEFINITION_REPRESENTATION(#4199,#4201); -#4201=SHAPE_REPRESENTATION('connection point location 2d',(#3291),#35); -#4202=SHAPE_ASPECT('',$,#2727,.U.); -#4203=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4202,#3290); -#4204=PROPERTY_DEFINITION('',$,#3303); -#4205=PROPERTY_DEFINITION_REPRESENTATION(#4204,#4206); -#4206=SHAPE_REPRESENTATION('connection point location 2d',(#3304),#35); -#4207=SHAPE_ASPECT('',$,#2667,.U.); -#4208=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4207,#3303); -#4209=PROPERTY_DEFINITION('',$,#3316); -#4210=PROPERTY_DEFINITION_REPRESENTATION(#4209,#4211); -#4211=SHAPE_REPRESENTATION('connection point location 2d',(#3317),#35); -#4212=SHAPE_ASPECT('',$,#2702,.U.); -#4213=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4212,#3316); -#4214=PROPERTY_DEFINITION('',$,#3319); -#4215=PROPERTY_DEFINITION_REPRESENTATION(#4214,#4216); -#4216=SHAPE_REPRESENTATION('connection point location 2d',(#3320),#35); -#4217=SHAPE_ASPECT('',$,#2896,.U.); -#4218=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4217,#3319); -#4219=PROPERTY_DEFINITION('',$,#3330); -#4220=PROPERTY_DEFINITION_REPRESENTATION(#4219,#4221); -#4221=SHAPE_REPRESENTATION('connection point location 2d',(#3331),#35); -#4222=SHAPE_ASPECT('',$,#2757,.U.); -#4223=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4222,#3330); -#4224=PROPERTY_DEFINITION('',$,#3341); -#4225=PROPERTY_DEFINITION_REPRESENTATION(#4224,#4226); -#4226=SHAPE_REPRESENTATION('connection point location 2d',(#3342),#35); -#4227=SHAPE_ASPECT('',$,#2777,.U.); -#4228=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4227,#3341); -#4229=PROPERTY_DEFINITION('',$,#3352); -#4230=PROPERTY_DEFINITION_REPRESENTATION(#4229,#4231); -#4231=SHAPE_REPRESENTATION('connection point location 2d',(#3353),#35); -#4232=SHAPE_ASPECT('',$,#2607,.U.); -#4233=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4232,#3352); -#4234=PROPERTY_DEFINITION('',$,#3363); -#4235=PROPERTY_DEFINITION_REPRESENTATION(#4234,#4236); -#4236=SHAPE_REPRESENTATION('connection point location 2d',(#3364),#35); -#4237=SHAPE_ASPECT('',$,#2547,.U.); -#4238=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#4237,#3363); -#4239=PROPERTY_DEFINITION('required characteristic',$,#661); -#4240=REPRESENTATION('',(#662),#3475); -#4241=PROPERTY_DEFINITION_REPRESENTATION(#4239,#4240); -#4242=PROPERTY_DEFINITION('required characteristic',$,#2412); -#4243=REPRESENTATION('',(#2415),#3475); -#4244=PROPERTY_DEFINITION_REPRESENTATION(#4242,#4243); -#4245=PROPERTY_DEFINITION('required characteristic',$,#2472); -#4246=REPRESENTATION('',(#2475),#3475); -#4247=PROPERTY_DEFINITION_REPRESENTATION(#4245,#4246); -#4248=ID_ATTRIBUTE('LAYER_2',#620); -#4249=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#534,#620); -#4250=ID_ATTRIBUTE('LAYER_1',#624); -#4251=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#512,#624); -#4252=PROPERTY_DEFINITION('stratum thickness',$,#501); -#4253=PROPERTY_DEFINITION_REPRESENTATION(#4252,#505); -#4254=PROPERTY_DEFINITION('layer position','external',#501); -#4255=PROPERTY_DEFINITION('layer purpose','other signal',#501); -#4256=PROPERTY_DEFINITION('stratum thickness',$,#508); -#4257=PROPERTY_DEFINITION_REPRESENTATION(#4256,#509); -#4258=PROPERTY_DEFINITION('layer position','internal',#508); -#4259=PROPERTY_DEFINITION('layer purpose','other signal',#508); -#4260=PROPERTY_DEFINITION('stratum thickness',$,#536); -#4261=PROPERTY_DEFINITION_REPRESENTATION(#4260,#537); -#4262=PROPERTY_DEFINITION('layer position','internal',#536); -#4263=PROPERTY_DEFINITION('layer purpose','power or ground',#536); -#4264=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#599,#3562,#3564); -#4265=ID_ATTRIBUTE('1',#599); -#4266=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#482,#612); -#4267=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#478,#614); -#4268=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#486,#616); -#4269=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#490,#618); -#4270=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#489,#626); -#4271=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#485,#628); -#4272=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#481,#630); -#4273=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#477,#632); -#4274=PROPERTY_DEFINITION('stratum thickness',$,#470); -#4275=PROPERTY_DEFINITION_REPRESENTATION(#4274,#471); -#4276=PROPERTY_DEFINITION('layer position','external',#470); -#4277=PROPERTY_DEFINITION('layer purpose','gluemask',#470); -#4278=PROPERTY_DEFINITION('stratum thickness',$,#480); -#4279=PROPERTY_DEFINITION_REPRESENTATION(#4278,#471); -#4280=PROPERTY_DEFINITION('layer position','external',#480); -#4281=PROPERTY_DEFINITION('layer purpose','pastemask',#480); -#4282=PROPERTY_DEFINITION('stratum thickness',$,#484); -#4283=PROPERTY_DEFINITION_REPRESENTATION(#4282,#471); -#4284=PROPERTY_DEFINITION('layer position','external',#484); -#4285=PROPERTY_DEFINITION('layer purpose','silkscreen',#484); -#4286=PROPERTY_DEFINITION('stratum thickness',$,#488); -#4287=PROPERTY_DEFINITION_REPRESENTATION(#4286,#471); -#4288=PROPERTY_DEFINITION('layer position','external',#488); -#4289=PROPERTY_DEFINITION('layer purpose','soldermask',#488); -#4290=PRODUCT_CONTEXT('document',#3563,''); -#4292=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#753,#3562,#3564); -#4293=ID_ATTRIBUTE('1',#753); -#4295=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#885,#3562,#3564); -#4296=ID_ATTRIBUTE('1',#885); -#4298=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1017,#3562,#3564); -#4299=ID_ATTRIBUTE('1',#1017); -#4301=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1175,#3562,#3564); -#4302=ID_ATTRIBUTE('1',#1175); -#4304=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1287,#3562,#3564); -#4305=ID_ATTRIBUTE('1',#1287); -#4307=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1445,#3562,#3564); -#4308=ID_ATTRIBUTE('1',#1445); -#4310=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1587,#3562,#3564); -#4311=ID_ATTRIBUTE('1',#1587); -#4313=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1729,#3562,#3564); -#4314=ID_ATTRIBUTE('1',#1729); -#4316=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1869,#3562,#3564); -#4317=ID_ATTRIBUTE('1',#1869); -#4318=PROPERTY_DEFINITION('',$,#3075); -#4319=PROPERTY_DEFINITION_REPRESENTATION(#4318,#4320); -#4320=SHAPE_REPRESENTATION('connection point location 2d',(#3074),#35); -#4321=PROPERTY_DEFINITION('',$,#3077); -#4322=PROPERTY_DEFINITION_REPRESENTATION(#4321,#4323); -#4323=SHAPE_REPRESENTATION('connection point location 2d',(#3076),#35); -#4324=PROPERTY_DEFINITION('',$,#3079); -#4325=PROPERTY_DEFINITION_REPRESENTATION(#4324,#4326); -#4326=SHAPE_REPRESENTATION('connection point location 2d',(#3078),#35); -#4327=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#702,#3562,#3564); -#4328=PROPERTY_DEFINITION('outer boundary style',$,#702); -#4329=PROPERTY_DEFINITION_REPRESENTATION(#4328,#699); -#4330=PROPERTY_DEFINITION('inner boundary style',$,#702); -#4331=PROPERTY_DEFINITION_REPRESENTATION(#4330,#699); -#4333=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#117,#3562,#3564); -#4334=ID_ATTRIBUTE('1',#117); -#4335=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#117); -#4336=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#89,#117); -#4337=PROPERTY_DEFINITION('location','symmetrical',#117); -#4339=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#143,#3562,#3564); -#4340=ID_ATTRIBUTE('1',#143); -#4341=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#143); -#4342=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#122,#143); -#4343=PROPERTY_DEFINITION('location','symmetrical',#143); -#4345=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#180,#3562,#3564); -#4346=ID_ATTRIBUTE('1',#180); -#4347=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#180); -#4348=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#147,#180); -#4349=PROPERTY_DEFINITION('location','symmetrical',#180); -#4351=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#217,#3562,#3564); -#4352=ID_ATTRIBUTE('1',#217); -#4353=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#217); -#4354=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#184,#217); -#4355=PROPERTY_DEFINITION('location','symmetrical',#217); -#4357=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#254,#3562,#3564); -#4358=ID_ATTRIBUTE('1',#254); -#4359=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#254); -#4360=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#221,#254); -#4361=PROPERTY_DEFINITION('location','symmetrical',#254); -#4363=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#291,#3562,#3564); -#4364=ID_ATTRIBUTE('1',#291); -#4365=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#291); -#4366=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#258,#291); -#4367=PROPERTY_DEFINITION('location','symmetrical',#291); -#4369=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#118); -#4370=SHAPE_DEFINITION_REPRESENTATION(#117,#118); -#4371=REPRESENTATION_RELATIONSHIP('',$,#118,#3704); -#4372=REPRESENTATION_RELATIONSHIP('reference shape',$,#91,#118); -#4374=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#144); -#4375=SHAPE_DEFINITION_REPRESENTATION(#143,#144); -#4376=REPRESENTATION_RELATIONSHIP('',$,#144,#3704); -#4377=REPRESENTATION_RELATIONSHIP('reference shape',$,#124,#144); -#4379=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#181); -#4380=SHAPE_DEFINITION_REPRESENTATION(#180,#181); -#4381=REPRESENTATION_RELATIONSHIP('',$,#181,#3704); -#4382=REPRESENTATION_RELATIONSHIP('reference shape',$,#149,#181); -#4384=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#218); -#4385=SHAPE_DEFINITION_REPRESENTATION(#217,#218); -#4386=REPRESENTATION_RELATIONSHIP('',$,#218,#3704); -#4387=REPRESENTATION_RELATIONSHIP('reference shape',$,#186,#218); -#4389=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#255); -#4390=SHAPE_DEFINITION_REPRESENTATION(#254,#255); -#4391=REPRESENTATION_RELATIONSHIP('',$,#255,#3704); -#4392=REPRESENTATION_RELATIONSHIP('reference shape',$,#223,#255); -#4394=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#292); -#4395=SHAPE_DEFINITION_REPRESENTATION(#291,#292); -#4396=REPRESENTATION_RELATIONSHIP('',$,#292,#3704); -#4397=REPRESENTATION_RELATIONSHIP('reference shape',$,#260,#292); -#4398=PRODUCT_CONTEXT('functional',#3563,''); -#4399=PRODUCT_DEFINITION_CONTEXT('functional design usage',#3563,''); -#4400=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#42,#4399,#3564); -#4401=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#298,#4399,#3564); -#4402=ID_ATTRIBUTE('1',#298); -#4403=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#305,#4399,#3564); -#4404=ID_ATTRIBUTE('1',#305); -#4405=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#312,#4399,#3564); -#4406=ID_ATTRIBUTE('1',#312); -#4407=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#319,#4399,#3564); -#4408=ID_ATTRIBUTE('1',#319); -#4409=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#326,#4399,#3564); -#4410=ID_ATTRIBUTE('1',#326); -#4411=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#333,#4399,#3564); -#4412=ID_ATTRIBUTE('1',#333); -#4413=DESCRIPTION_ATTRIBUTE('pupsm',#1963); -#4414=SHAPE_DEFINITION_REPRESENTATION(#89,#1963); -#4415=REPRESENTATION('shape material condition',(#4417),#3475); -#4416=REPRESENTATION_RELATIONSHIP('',$,#1963,#4415); -#4417=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#4418=REPRESENTATION('shape environment',(#4420),#3475); -#4419=REPRESENTATION_RELATIONSHIP('',$,#1963,#4418); -#4420=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#4421=REPRESENTATION('shape extent',(#4423),#3475); -#4422=REPRESENTATION_RELATIONSHIP('',$,#1963,#4421); -#4423=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#4424=REPRESENTATION('shape approximation level',(#4426),#3475); -#4425=REPRESENTATION_RELATIONSHIP('',$,#1963,#4424); -#4426=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4427=REPRESENTATION('mass property quality',(#4429),#3475); -#4428=REPRESENTATION_RELATIONSHIP('',$,#1963,#4427); -#4429=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4430=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#1963,#97); -#4431=REPRESENTATION('shape location',(#4433),#3475); -#4432=REPRESENTATION_RELATIONSHIP('',$,#1963,#4431); -#4433=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#4434=REPRESENTATION('predefined shape purpose',(#4436),#3475); -#4435=REPRESENTATION_RELATIONSHIP('',$,#1963,#4434); -#4436=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#4437=DESCRIPTION_ATTRIBUTE('pupsm',#2000); -#4438=SHAPE_DEFINITION_REPRESENTATION(#122,#2000); -#4439=REPRESENTATION('shape material condition',(#4441),#3475); -#4440=REPRESENTATION_RELATIONSHIP('',$,#2000,#4439); -#4441=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#4442=REPRESENTATION('shape environment',(#4444),#3475); -#4443=REPRESENTATION_RELATIONSHIP('',$,#2000,#4442); -#4444=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#4445=REPRESENTATION('shape extent',(#4447),#3475); -#4446=REPRESENTATION_RELATIONSHIP('',$,#2000,#4445); -#4447=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#4448=REPRESENTATION('shape approximation level',(#4450),#3475); -#4449=REPRESENTATION_RELATIONSHIP('',$,#2000,#4448); -#4450=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4451=REPRESENTATION('mass property quality',(#4453),#3475); -#4452=REPRESENTATION_RELATIONSHIP('',$,#2000,#4451); -#4453=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4454=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#2000,#127); -#4455=REPRESENTATION('shape location',(#4457),#3475); -#4456=REPRESENTATION_RELATIONSHIP('',$,#2000,#4455); -#4457=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#4458=REPRESENTATION('predefined shape purpose',(#4460),#3475); -#4459=REPRESENTATION_RELATIONSHIP('',$,#2000,#4458); -#4460=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#4461=DESCRIPTION_ATTRIBUTE('pupsm',#2029); -#4462=SHAPE_DEFINITION_REPRESENTATION(#147,#2029); -#4463=REPRESENTATION('shape material condition',(#4465),#3475); -#4464=REPRESENTATION_RELATIONSHIP('',$,#2029,#4463); -#4465=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#4466=REPRESENTATION('shape environment',(#4468),#3475); -#4467=REPRESENTATION_RELATIONSHIP('',$,#2029,#4466); -#4468=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#4469=REPRESENTATION('shape extent',(#4471),#3475); -#4470=REPRESENTATION_RELATIONSHIP('',$,#2029,#4469); -#4471=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#4472=REPRESENTATION('shape approximation level',(#4474),#3475); -#4473=REPRESENTATION_RELATIONSHIP('',$,#2029,#4472); -#4474=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4475=REPRESENTATION('mass property quality',(#4477),#3475); -#4476=REPRESENTATION_RELATIONSHIP('',$,#2029,#4475); -#4477=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4478=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#2029,#152); -#4479=REPRESENTATION('shape location',(#4481),#3475); -#4480=REPRESENTATION_RELATIONSHIP('',$,#2029,#4479); -#4481=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#4482=REPRESENTATION('predefined shape purpose',(#4484),#3475); -#4483=REPRESENTATION_RELATIONSHIP('',$,#2029,#4482); -#4484=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#4485=DESCRIPTION_ATTRIBUTE('pupsm',#2072); -#4486=SHAPE_DEFINITION_REPRESENTATION(#184,#2072); -#4487=REPRESENTATION('shape material condition',(#4489),#3475); -#4488=REPRESENTATION_RELATIONSHIP('',$,#2072,#4487); -#4489=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#4490=REPRESENTATION('shape environment',(#4492),#3475); -#4491=REPRESENTATION_RELATIONSHIP('',$,#2072,#4490); -#4492=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#4493=REPRESENTATION('shape extent',(#4495),#3475); -#4494=REPRESENTATION_RELATIONSHIP('',$,#2072,#4493); -#4495=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#4496=REPRESENTATION('shape approximation level',(#4498),#3475); -#4497=REPRESENTATION_RELATIONSHIP('',$,#2072,#4496); -#4498=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4499=REPRESENTATION('mass property quality',(#4501),#3475); -#4500=REPRESENTATION_RELATIONSHIP('',$,#2072,#4499); -#4501=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4502=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#2072,#189); -#4503=REPRESENTATION('shape location',(#4505),#3475); -#4504=REPRESENTATION_RELATIONSHIP('',$,#2072,#4503); -#4505=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#4506=REPRESENTATION('predefined shape purpose',(#4508),#3475); -#4507=REPRESENTATION_RELATIONSHIP('',$,#2072,#4506); -#4508=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#4509=DESCRIPTION_ATTRIBUTE('pupsm',#2141); -#4510=SHAPE_DEFINITION_REPRESENTATION(#221,#2141); -#4511=REPRESENTATION('shape material condition',(#4513),#3475); -#4512=REPRESENTATION_RELATIONSHIP('',$,#2141,#4511); -#4513=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#4514=REPRESENTATION('shape environment',(#4516),#3475); -#4515=REPRESENTATION_RELATIONSHIP('',$,#2141,#4514); -#4516=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#4517=REPRESENTATION('shape extent',(#4519),#3475); -#4518=REPRESENTATION_RELATIONSHIP('',$,#2141,#4517); -#4519=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#4520=REPRESENTATION('shape approximation level',(#4522),#3475); -#4521=REPRESENTATION_RELATIONSHIP('',$,#2141,#4520); -#4522=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4523=REPRESENTATION('mass property quality',(#4525),#3475); -#4524=REPRESENTATION_RELATIONSHIP('',$,#2141,#4523); -#4525=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4526=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#2141,#226); -#4527=REPRESENTATION('shape location',(#4529),#3475); -#4528=REPRESENTATION_RELATIONSHIP('',$,#2141,#4527); -#4529=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#4530=REPRESENTATION('predefined shape purpose',(#4532),#3475); -#4531=REPRESENTATION_RELATIONSHIP('',$,#2141,#4530); -#4532=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#4533=DESCRIPTION_ATTRIBUTE('pupsm',#2268); -#4534=SHAPE_DEFINITION_REPRESENTATION(#258,#2268); -#4535=REPRESENTATION('shape material condition',(#4537),#3475); -#4536=REPRESENTATION_RELATIONSHIP('',$,#2268,#4535); -#4537=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#4538=REPRESENTATION('shape environment',(#4540),#3475); -#4539=REPRESENTATION_RELATIONSHIP('',$,#2268,#4538); -#4540=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#4541=REPRESENTATION('shape extent',(#4543),#3475); -#4542=REPRESENTATION_RELATIONSHIP('',$,#2268,#4541); -#4543=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#4544=REPRESENTATION('shape approximation level',(#4546),#3475); -#4545=REPRESENTATION_RELATIONSHIP('',$,#2268,#4544); -#4546=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4547=REPRESENTATION('mass property quality',(#4549),#3475); -#4548=REPRESENTATION_RELATIONSHIP('',$,#2268,#4547); -#4549=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#4550=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#2268,#263); -#4551=REPRESENTATION('shape location',(#4553),#3475); -#4552=REPRESENTATION_RELATIONSHIP('',$,#2268,#4551); -#4553=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#4554=REPRESENTATION('predefined shape purpose',(#4556),#3475); -#4555=REPRESENTATION_RELATIONSHIP('',$,#2268,#4554); -#4556=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#4557=REPRESENTATION_MAP(#26,#665); -#4558=REPRESENTATION_MAP(#26,#1971); -#4559=REPRESENTATION_MAP(#26,#2008); -#4560=REPRESENTATION_MAP(#26,#2051); -#4561=REPRESENTATION_MAP(#26,#2094); -#4562=REPRESENTATION_MAP(#26,#2179); -#4563=REPRESENTATION_MAP(#26,#2306); -#4564=REPRESENTATION_MAP(#26,#874); -#4565=REPRESENTATION_MAP(#26,#1134); -#4566=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#31,#57); -#4567=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#32,#58); -#4568=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#33,#59); -#4569=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2555,#2562); -#4570=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2563,#2570); -#4571=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2585,#2592); -#4572=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2593,#2600); -#4573=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2615,#2622); -#4574=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2623,#2630); -#4575=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2645,#2652); -#4576=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2653,#2660); -#4577=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2675,#2682); -#4578=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2683,#2690); -#4579=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2705,#2712); -#4580=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2713,#2720); -#4581=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2735,#2742); -#4582=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2743,#2750); -#4583=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2795,#2802); -#4584=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2803,#2810); -#4585=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2811,#2818); -#4586=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2819,#2826); -#4587=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2827,#2834); -#4588=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2835,#2842); -#4589=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2843,#2850); -#4590=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2851,#2858); -#4591=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2873,#2880); -#4592=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2881,#2888); -#4593=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2902,#2909); -#4594=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2923,#2930); -#4595=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2944,#2951); -#4596=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2965,#2972); -#4597=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2986,#2993); -#4598=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3007,#3014); -#4599=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3028,#3035); -#4600=PROPERTY_DEFINITION('',$,#32); -#4601=PROPERTY_DEFINITION_REPRESENTATION(#4600,#4602); -#4602=REPRESENTATION('material state change',(#4603),#3475); -#4603=REPRESENTATION_ITEM('material addition'); -#4604=PROPERTY_DEFINITION('',$,#33); -#4605=PROPERTY_DEFINITION_REPRESENTATION(#4604,#4606); -#4606=REPRESENTATION('material state change',(#4607),#3475); -#4607=REPRESENTATION_ITEM('material addition'); -#4608=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#664,#3562,#3564); -#4609=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#667,#664); -#4610=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3142,#3120); -#4611=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3142,#3136); -#4612=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3056,#3051); -#4613=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3056,#3048); -#4614=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3072,#3064); -#4615=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3072,#3067); -#4616=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3125,#3120); -#4617=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3125,#3092); -#4618=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3125,#3103); -#4619=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3125,#3075); -#4620=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3125,#3079); -#4621=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3125,#3077); -#4622=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3141,#3136); -#4623=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3141,#3133); -#4624=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3161,#3156); -#4625=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3161,#3153); -#4626=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3178,#3170); -#4627=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3178,#3173); -#4628=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3208,#3189); -#4629=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3208,#3186); -#4630=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3208,#3202); -#4631=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3224,#3216); -#4632=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3224,#3219); -#4633=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3240,#3232); -#4634=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3240,#3235); -#4635=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3308,#3290); -#4636=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3308,#3303); -#4637=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3308,#3279); -#4638=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3308,#3251); -#4639=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3308,#3265); -#4640=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3308,#3248); -#4641=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3369,#3341); -#4642=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3369,#3363); -#4643=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3369,#3319); -#4644=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3369,#3352); -#4645=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3369,#3330); -#4646=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#3369,#3316); -#4647=APPLIED_GROUP_ASSIGNMENT(#349,(#346)); -#4648=APPLIED_GROUP_ASSIGNMENT(#368,(#365)); -#4649=APPLIED_GROUP_ASSIGNMENT(#387,(#384)); -#4650=APPLIED_GROUP_ASSIGNMENT(#415,(#412)); -#4651=APPLIED_GROUP_ASSIGNMENT(#461,(#458)); -#4652=PRODUCT_DEFINITION_CONTEXT('assembly definition',#3563,''); -#4653=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#46,#4652,#3564); -#4654=PRODUCT_DEFINITION_CONTEXT('physical design',#3563,''); -#4655=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#46,#4654,#3564); -#4656=ID_ATTRIBUTE('1',#46); -#4657=PRODUCT_DEFINITION_RELATIONSHIP('','design usage',$,#39,#46); -#4658=PRODUCT_DEFINITION_CONTEXT('physical design usage',#3563,''); -#4659=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#39,#4658,#3564); -#4660=ID_ATTRIBUTE('4',#39); -#4661=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#42,#39); -#4662=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#34,#4652,#3564); -#4663=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#34,#4654,#3564); -#4664=ID_ATTRIBUTE('1',#34); -#4665=PRODUCT_DEFINITION_RELATIONSHIP('','design usage',$,#15,#34); -#4666=PROPERTY_DEFINITION_RELATIONSHIP('used stack model','',#599,#34); -#4667=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#15,#4658,#3564); -#4668=ID_ATTRIBUTE('2',#15); -#4669=PROPERTY_DEFINITION('thickness over dielectric requirement',$,#15); -#4670=PROPERTY_DEFINITION_REPRESENTATION(#4669,#655); -#4671=PROPERTY_DEFINITION('required characteristic',$,#62); -#4672=PROPERTY_DEFINITION_REPRESENTATION(#4671,#75); -#4673=CHARACTERIZED_OBJECT('packaged component category',$); -#4674=PROPERTY_DEFINITION('',$,#4673); -#4675=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4671,#4674); -#4676=CHARACTERIZED_OBJECT('packaged component category',$); -#4677=PROPERTY_DEFINITION('',$,#4676); -#4678=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4671,#4677); -#4679=PROPERTY_DEFINITION('of spacing type','centroid',#62); -#4680=PROPERTY_DEFINITION('required characteristic',$,#2418); -#4681=PROPERTY_DEFINITION_REPRESENTATION(#4680,#2422); -#4682=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#4683=PROPERTY_DEFINITION('',$,#4682); -#4684=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4680,#4683); -#4685=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#4686=PROPERTY_DEFINITION('',$,#4685); -#4687=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4680,#4686); -#4688=PROPERTY_DEFINITION('of spacing type','centroid',#2418); -#4689=PROPERTY_DEFINITION('required characteristic',$,#2427); -#4690=PROPERTY_DEFINITION_REPRESENTATION(#4689,#2431); -#4691=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#4692=PROPERTY_DEFINITION('',$,#4691); -#4693=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4689,#4692); -#4694=CHARACTERIZED_OBJECT('via category',$); -#4695=PROPERTY_DEFINITION('',$,#4694); -#4696=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4689,#4695); -#4697=PROPERTY_DEFINITION('of spacing type','centroid',#2427); -#4698=PROPERTY_DEFINITION('required characteristic',$,#2436); -#4699=PROPERTY_DEFINITION_REPRESENTATION(#4698,#2440); -#4700=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#4701=PROPERTY_DEFINITION('',$,#4700); -#4702=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4698,#4701); -#4703=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#4704=PROPERTY_DEFINITION('',$,#4703); -#4705=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4698,#4704); -#4706=PROPERTY_DEFINITION('of spacing type','centroid',#2436); -#4707=PROPERTY_DEFINITION('required characteristic',$,#2445); -#4708=PROPERTY_DEFINITION_REPRESENTATION(#4707,#2449); -#4709=CHARACTERIZED_OBJECT('via category',$); -#4710=PROPERTY_DEFINITION('',$,#4709); -#4711=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4707,#4710); -#4712=CHARACTERIZED_OBJECT('via category',$); -#4713=PROPERTY_DEFINITION('',$,#4712); -#4714=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4707,#4713); -#4715=PROPERTY_DEFINITION('of spacing type','centroid',#2445); -#4716=PROPERTY_DEFINITION('required characteristic',$,#2454); -#4717=PROPERTY_DEFINITION_REPRESENTATION(#4716,#2458); -#4718=CHARACTERIZED_OBJECT('via category',$); -#4719=PROPERTY_DEFINITION('',$,#4718); -#4720=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4716,#4719); -#4721=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#4722=PROPERTY_DEFINITION('',$,#4721); -#4723=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4716,#4722); -#4724=PROPERTY_DEFINITION('of spacing type','centroid',#2454); -#4725=PROPERTY_DEFINITION('required characteristic',$,#2463); -#4726=PROPERTY_DEFINITION_REPRESENTATION(#4725,#2467); -#4727=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#4728=PROPERTY_DEFINITION('',$,#4727); -#4729=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4725,#4728); -#4730=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#4731=PROPERTY_DEFINITION('',$,#4730); -#4732=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4725,#4731); -#4733=PROPERTY_DEFINITION('of spacing type','centroid',#2463); -#4734=PROPERTY_DEFINITION('required characteristic',$,#2478); -#4735=PROPERTY_DEFINITION_REPRESENTATION(#4734,#2482); -#4736=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#4737=PROPERTY_DEFINITION('',$,#4736); -#4738=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4734,#4737); -#4739=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#4740=PROPERTY_DEFINITION('',$,#4739); -#4741=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4734,#4740); -#4742=PROPERTY_DEFINITION('of spacing type','centroid',#2478); -#4743=PROPERTY_DEFINITION('required characteristic',$,#2487); -#4744=PROPERTY_DEFINITION_REPRESENTATION(#4743,#2491); -#4745=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#4746=PROPERTY_DEFINITION('',$,#4745); -#4747=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4743,#4746); -#4748=CHARACTERIZED_OBJECT('via category',$); -#4749=PROPERTY_DEFINITION('',$,#4748); -#4750=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4743,#4749); -#4751=PROPERTY_DEFINITION('of spacing type','centroid',#2487); -#4752=PROPERTY_DEFINITION('required characteristic',$,#2496); -#4753=PROPERTY_DEFINITION_REPRESENTATION(#4752,#2500); -#4754=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#4755=PROPERTY_DEFINITION('',$,#4754); -#4756=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4752,#4755); -#4757=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#4758=PROPERTY_DEFINITION('',$,#4757); -#4759=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4752,#4758); -#4760=PROPERTY_DEFINITION('of spacing type','centroid',#2496); -#4761=PROPERTY_DEFINITION('required characteristic',$,#2505); -#4762=PROPERTY_DEFINITION_REPRESENTATION(#4761,#2509); -#4763=CHARACTERIZED_OBJECT('via category',$); -#4764=PROPERTY_DEFINITION('',$,#4763); -#4765=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4761,#4764); -#4766=CHARACTERIZED_OBJECT('via category',$); -#4767=PROPERTY_DEFINITION('',$,#4766); -#4768=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4761,#4767); -#4769=PROPERTY_DEFINITION('of spacing type','centroid',#2505); -#4770=PROPERTY_DEFINITION('required characteristic',$,#2514); -#4771=PROPERTY_DEFINITION_REPRESENTATION(#4770,#2518); -#4772=CHARACTERIZED_OBJECT('via category',$); -#4773=PROPERTY_DEFINITION('',$,#4772); -#4774=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4770,#4773); -#4775=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#4776=PROPERTY_DEFINITION('',$,#4775); -#4777=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4770,#4776); -#4778=PROPERTY_DEFINITION('of spacing type','centroid',#2514); -#4779=PROPERTY_DEFINITION('required characteristic',$,#2523); -#4780=PROPERTY_DEFINITION_REPRESENTATION(#4779,#2527); -#4781=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#4782=PROPERTY_DEFINITION('',$,#4781); -#4783=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#4779,#4782); -#4784=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#4785=PROPERTY_DEFINITION('',$,#4784); -#4786=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#4779,#4785); -#4787=PROPERTY_DEFINITION('of spacing type','centroid',#2523); -#4788=DESCRIPTION_ATTRIBUTE('length tolerance',#505); -#4789=DESCRIPTION_ATTRIBUTE('length tolerance',#509); -#4790=DESCRIPTION_ATTRIBUTE('length tolerance',#537); -#4791=DESCRIPTION_ATTRIBUTE('length tolerance',#655); -#4792=DESCRIPTION_ATTRIBUTE('length tolerance',#97); -#4793=DESCRIPTION_ATTRIBUTE('length tolerance',#108); -#4794=DESCRIPTION_ATTRIBUTE('length tolerance',#127); -#4795=DESCRIPTION_ATTRIBUTE('length tolerance',#138); -#4796=DESCRIPTION_ATTRIBUTE('length tolerance',#152); -#4797=DESCRIPTION_ATTRIBUTE('length tolerance',#175); -#4798=DESCRIPTION_ATTRIBUTE('length tolerance',#189); -#4799=DESCRIPTION_ATTRIBUTE('length tolerance',#212); -#4800=DESCRIPTION_ATTRIBUTE('length tolerance',#226); -#4801=DESCRIPTION_ATTRIBUTE('length tolerance',#249); -#4802=DESCRIPTION_ATTRIBUTE('length tolerance',#263); -#4803=DESCRIPTION_ATTRIBUTE('length tolerance',#286); -#4804=DESCRIPTION_ATTRIBUTE('length tolerance',#471); -#4805=DESCRIPTION_ATTRIBUTE('length tolerance',#502); -#4806=DESCRIPTION_ATTRIBUTE('length tolerance',#731); -#4807=DESCRIPTION_ATTRIBUTE('length tolerance',#867); -#4808=DESCRIPTION_ATTRIBUTE('length tolerance',#999); -#4809=DESCRIPTION_ATTRIBUTE('length tolerance',#1830); -#4810=DESCRIPTION_ATTRIBUTE('length tolerance',#1832); -#4811=DESCRIPTION_ATTRIBUTE('length tolerance',#2125); -#4812=DESCRIPTION_ATTRIBUTE('length tolerance',#2138); -#4813=DESCRIPTION_ATTRIBUTE('length tolerance',#2252); -#4814=DESCRIPTION_ATTRIBUTE('length tolerance',#2265); -#4815=DESCRIPTION_ATTRIBUTE('length tolerance',#66); -#4816=DESCRIPTION_ATTRIBUTE('length tolerance',#75); -#4817=DESCRIPTION_ATTRIBUTE('length tolerance',#493); -#4818=DESCRIPTION_ATTRIBUTE('length tolerance',#733); -#4819=DESCRIPTION_ATTRIBUTE('length tolerance',#2422); -#4820=DESCRIPTION_ATTRIBUTE('length tolerance',#2431); -#4821=DESCRIPTION_ATTRIBUTE('length tolerance',#2440); -#4822=DESCRIPTION_ATTRIBUTE('length tolerance',#2449); -#4823=DESCRIPTION_ATTRIBUTE('length tolerance',#2458); -#4824=DESCRIPTION_ATTRIBUTE('length tolerance',#2467); -#4825=DESCRIPTION_ATTRIBUTE('length tolerance',#2482); -#4826=DESCRIPTION_ATTRIBUTE('length tolerance',#2491); -#4827=DESCRIPTION_ATTRIBUTE('length tolerance',#2500); -#4828=DESCRIPTION_ATTRIBUTE('length tolerance',#2509); -#4829=DESCRIPTION_ATTRIBUTE('length tolerance',#2518); -#4830=DESCRIPTION_ATTRIBUTE('length tolerance',#2527); -#4831=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#469,#3562,#3564); -#4832=ID_ATTRIBUTE('1',#469); -#4833=ID_ATTRIBUTE('',#114); -#4834=ID_ATTRIBUTE('',#500); -#4835=ID_ATTRIBUTE('',#1981); -#4836=ID_ATTRIBUTE('',#1985); -#4838=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#789,#3562,#3564); -#4839=ID_ATTRIBUTE('1',#789); -#4841=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#921,#3562,#3564); -#4842=ID_ATTRIBUTE('1',#921); -#4844=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1053,#3562,#3564); -#4845=ID_ATTRIBUTE('1',#1053); -#4847=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1145,#3562,#3564); -#4848=ID_ATTRIBUTE('1',#1145); -#4850=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1160,#3562,#3564); -#4851=ID_ATTRIBUTE('1',#1160); -#4853=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1323,#3562,#3564); -#4854=ID_ATTRIBUTE('1',#1323); -#4856=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1415,#3562,#3564); -#4857=ID_ATTRIBUTE('1',#1415); -#4859=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1430,#3562,#3564); -#4860=ID_ATTRIBUTE('1',#1430); -#4862=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1557,#3562,#3564); -#4863=ID_ATTRIBUTE('1',#1557); -#4865=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1572,#3562,#3564); -#4866=ID_ATTRIBUTE('1',#1572); -#4868=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1699,#3562,#3564); -#4869=ID_ATTRIBUTE('1',#1699); -#4871=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1714,#3562,#3564); -#4872=ID_ATTRIBUTE('1',#1714); -#4874=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1845,#3562,#3564); -#4875=ID_ATTRIBUTE('1',#1845); -#4877=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1857,#3562,#3564); -#4878=ID_ATTRIBUTE('1',#1857); -#4879=SHAPE_ASPECT_RELATIONSHIP('mounting surface',$,#343,#58); -#4925=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2369,#2386); -#4926=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2368,#2387); -#4927=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2371,#2388); -#4928=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2370,#2389); -#4929=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2373,#2390); -#4930=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2372,#2391); -#4931=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2375,#2392); -#4932=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2374,#2393); -#4933=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2377,#2394); -#4934=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2376,#2395); -#4935=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2377,#2396); -#4936=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2376,#2397); -#4937=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2377,#2398); -#4938=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2376,#2399); -#4939=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2377,#2400); -#4940=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2376,#2401); -#4941=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2385,#2402); -#4942=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2384,#2403); -#4943=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2383,#2404); -#4944=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2382,#2405); -#4945=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2381,#2406); -#4946=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2380,#2407); -#4947=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2379,#2408); -#4948=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2378,#2409); -#4949=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#295,#4658,#3564); -#4950=ID_ATTRIBUTE('1',#295); -#4951=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#89,#295); -#4952=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#298,#295); -#4953=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#302,#4658,#3564); -#4954=ID_ATTRIBUTE('1',#302); -#4955=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#122,#302); -#4956=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#305,#302); -#4957=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#309,#4658,#3564); -#4958=ID_ATTRIBUTE('1',#309); -#4959=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#147,#309); -#4960=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#312,#309); -#4961=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#316,#4658,#3564); -#4962=ID_ATTRIBUTE('1',#316); -#4963=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#147,#316); -#4964=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#319,#316); -#4965=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#323,#4658,#3564); -#4966=ID_ATTRIBUTE('1',#323); -#4967=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#184,#323); -#4968=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#326,#323); -#4969=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#330,#4658,#3564); -#4970=ID_ATTRIBUTE('1',#330); -#4971=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#221,#330); -#4972=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#333,#330); -#4973=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2368,#1986); -#4974=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2369,#1992); -#4975=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2370,#2015); -#4976=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2371,#2021); -#4977=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2372,#2058); -#4978=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2373,#2064); -#4979=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2374,#2058); -#4980=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2375,#2064); -#4981=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2376,#2101); -#4982=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2377,#2108); -#4983=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2378,#2186); -#4984=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2379,#2192); -#4985=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2380,#2199); -#4986=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2381,#2206); -#4987=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2382,#2213); -#4988=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2383,#2220); -#4989=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2384,#2227); -#4990=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2385,#2234); -#4991=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#89,#4658,#3564); -#4992=ID_ATTRIBUTE('ckr06',#89); -#4993=PROPERTY_DEFINITION('maximum body height above seating plane',$,#89); -#4994=PROPERTY_DEFINITION_REPRESENTATION(#4993,#4995); -#4995=REPRESENTATION('',(#106),#3475); -#4996=PROPERTY_DEFINITION('body clearance above seating plane',$,#89); -#4997=PROPERTY_DEFINITION_REPRESENTATION(#4996,#108); -#4998=PROPERTY_DEFINITION('mounting technology','through hole',#89); -#4999=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#122,#4658,#3564); -#5000=ID_ATTRIBUTE('ckr05',#122); -#5001=PROPERTY_DEFINITION('maximum body height above seating plane',$,#122); -#5002=PROPERTY_DEFINITION_REPRESENTATION(#5001,#5003); -#5003=REPRESENTATION('',(#136),#3475); -#5004=PROPERTY_DEFINITION('body clearance above seating plane',$,#122); -#5005=PROPERTY_DEFINITION_REPRESENTATION(#5004,#138); -#5006=PROPERTY_DEFINITION('mounting technology','through hole',#122); -#5007=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#147,#4658,#3564); -#5008=ID_ATTRIBUTE('rlr07',#147); -#5009=PROPERTY_DEFINITION('maximum body height above seating plane',$,#147); -#5010=PROPERTY_DEFINITION_REPRESENTATION(#5009,#5011); -#5011=REPRESENTATION('',(#173),#3475); -#5012=PROPERTY_DEFINITION('body clearance above seating plane',$,#147); -#5013=PROPERTY_DEFINITION_REPRESENTATION(#5012,#175); -#5014=PROPERTY_DEFINITION('mounting technology','through hole',#147); -#5015=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#184,#4658,#3564); -#5016=ID_ATTRIBUTE('rlr07_1',#184); -#5017=PROPERTY_DEFINITION('maximum body height above seating plane',$,#184); -#5018=PROPERTY_DEFINITION_REPRESENTATION(#5017,#5019); -#5019=REPRESENTATION('',(#210),#3475); -#5020=PROPERTY_DEFINITION('body clearance above seating plane',$,#184); -#5021=PROPERTY_DEFINITION_REPRESENTATION(#5020,#212); -#5022=PROPERTY_DEFINITION('mounting technology','through hole',#184); -#5023=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#221,#4658,#3564); -#5024=ID_ATTRIBUTE('se555cn',#221); -#5025=PROPERTY_DEFINITION('maximum body height above seating plane',$,#221); -#5026=PROPERTY_DEFINITION_REPRESENTATION(#5025,#5027); -#5027=REPRESENTATION('',(#247),#3475); -#5028=PROPERTY_DEFINITION('body clearance above seating plane',$,#221); -#5029=PROPERTY_DEFINITION_REPRESENTATION(#5028,#249); -#5030=PROPERTY_DEFINITION('mounting technology','through hole',#221); -#5031=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#258,#4658,#3564); -#5032=ID_ATTRIBUTE('dip8_300_d04',#258); -#5033=PROPERTY_DEFINITION('maximum body height above seating plane',$,#258); -#5034=PROPERTY_DEFINITION_REPRESENTATION(#5033,#5035); -#5035=REPRESENTATION('',(#284),#3475); -#5036=PROPERTY_DEFINITION('body clearance above seating plane',$,#258); -#5037=PROPERTY_DEFINITION_REPRESENTATION(#5036,#286); -#5038=PROPERTY_DEFINITION('mounting technology','through hole',#258); -#5039=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#1986,#1992); -#5040=PROPERTY_DEFINITION('',$,#1992); -#5041=PROPERTY_DEFINITION('',$,#1975); -#5042=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5041,#5040); -#5043=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2015,#2021); -#5044=PROPERTY_DEFINITION('',$,#2021); -#5045=PROPERTY_DEFINITION('',$,#2012); -#5046=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5045,#5044); -#5047=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2058,#2064); -#5048=PROPERTY_DEFINITION('',$,#2064); -#5049=PROPERTY_DEFINITION('',$,#2055); -#5050=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5049,#5048); -#5051=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2101,#2108); -#5052=PROPERTY_DEFINITION('',$,#2108); -#5053=PROPERTY_DEFINITION('',$,#2098); -#5054=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5053,#5052); -#5055=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2186,#2192); -#5056=PROPERTY_DEFINITION('',$,#2192); -#5057=PROPERTY_DEFINITION('',$,#2183); -#5058=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5057,#5056); -#5059=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2192,#2199); -#5060=PROPERTY_DEFINITION('',$,#2199); -#5061=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5057,#5060); -#5062=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2199,#2206); -#5063=PROPERTY_DEFINITION('',$,#2206); -#5064=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5057,#5063); -#5065=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2206,#2213); -#5066=PROPERTY_DEFINITION('',$,#2213); -#5067=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5057,#5066); -#5068=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2213,#2220); -#5069=PROPERTY_DEFINITION('',$,#2220); -#5070=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5057,#5069); -#5071=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2220,#2227); -#5072=PROPERTY_DEFINITION('',$,#2227); -#5073=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5057,#5072); -#5074=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2227,#2234); -#5075=PROPERTY_DEFINITION('',$,#2234); -#5076=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5057,#5075); -#5077=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2313,#2320); -#5078=PROPERTY_DEFINITION('',$,#2320); -#5079=PROPERTY_DEFINITION('',$,#2310); -#5080=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5079,#5078); -#5081=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2320,#2327); -#5082=PROPERTY_DEFINITION('',$,#2327); -#5083=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5079,#5082); -#5084=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2327,#2334); -#5085=PROPERTY_DEFINITION('',$,#2334); -#5086=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5079,#5085); -#5087=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2334,#2341); -#5088=PROPERTY_DEFINITION('',$,#2341); -#5089=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5079,#5088); -#5090=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2341,#2348); -#5091=PROPERTY_DEFINITION('',$,#2348); -#5092=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5079,#5091); -#5093=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2348,#2355); -#5094=PROPERTY_DEFINITION('',$,#2355); -#5095=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5079,#5094); -#5096=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#2355,#2362); -#5097=PROPERTY_DEFINITION('',$,#2362); -#5098=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5079,#5097); -#5099=PROPERTY_DEFINITION('seating plane intersection','through intersection',#1975); -#5100=PROPERTY_DEFINITION('predefined lead form','undefined',#1975); -#5101=PROPERTY_DEFINITION('seating plane intersection','through intersection',#2012); -#5102=PROPERTY_DEFINITION('predefined lead form','undefined',#2012); -#5103=PROPERTY_DEFINITION('seating plane intersection','through intersection',#2055); -#5104=PROPERTY_DEFINITION('predefined lead form','undefined',#2055); -#5105=PROPERTY_DEFINITION('seating plane intersection','through intersection',#2098); -#5106=PROPERTY_DEFINITION('predefined lead form','undefined',#2098); -#5107=PROPERTY_DEFINITION('seating plane intersection','through intersection',#2183); -#5108=PROPERTY_DEFINITION('predefined lead form','undefined',#2183); -#5109=PROPERTY_DEFINITION('seating plane intersection','through intersection',#2310); -#5110=PROPERTY_DEFINITION('predefined lead form','undefined',#2310); -#5111=PRODUCT_CONTEXT('part',#3563,''); -#5112=PROPERTY_DEFINITION('',$,#1986); -#5113=PROPERTY_DEFINITION('',$,#1990); -#5114=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5112,#5113); -#5115=PROPERTY_DEFINITION('',$,#1997); -#5116=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5040,#5115); -#5117=PROPERTY_DEFINITION('',$,#2015); -#5118=PROPERTY_DEFINITION('',$,#2019); -#5119=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5117,#5118); -#5120=PROPERTY_DEFINITION('',$,#2026); -#5121=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5044,#5120); -#5122=PROPERTY_DEFINITION('',$,#2058); -#5123=PROPERTY_DEFINITION('',$,#2062); -#5124=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5122,#5123); -#5125=PROPERTY_DEFINITION('',$,#2069); -#5126=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5048,#5125); -#5127=PROPERTY_DEFINITION('',$,#2101); -#5128=PROPERTY_DEFINITION('',$,#2106); -#5129=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5127,#5128); -#5130=PROPERTY_DEFINITION('',$,#2112); -#5131=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5052,#5130); -#5132=PROPERTY_DEFINITION('',$,#2186); -#5133=PROPERTY_DEFINITION('',$,#2190); -#5134=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5132,#5133); -#5135=PROPERTY_DEFINITION('',$,#2197); -#5136=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5056,#5135); -#5137=PROPERTY_DEFINITION('',$,#2204); -#5138=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5060,#5137); -#5139=PROPERTY_DEFINITION('',$,#2211); -#5140=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5063,#5139); -#5141=PROPERTY_DEFINITION('',$,#2218); -#5142=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5066,#5141); -#5143=PROPERTY_DEFINITION('',$,#2225); -#5144=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5069,#5143); -#5145=PROPERTY_DEFINITION('',$,#2232); -#5146=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5072,#5145); -#5147=PROPERTY_DEFINITION('',$,#2239); -#5148=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5075,#5147); -#5149=PROPERTY_DEFINITION('',$,#2313); -#5150=PROPERTY_DEFINITION('',$,#2318); -#5151=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5149,#5150); -#5152=PROPERTY_DEFINITION('',$,#2325); -#5153=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5078,#5152); -#5154=PROPERTY_DEFINITION('',$,#2332); -#5155=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5082,#5154); -#5156=PROPERTY_DEFINITION('',$,#2339); -#5157=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5085,#5156); -#5158=PROPERTY_DEFINITION('',$,#2346); -#5159=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5088,#5158); -#5160=PROPERTY_DEFINITION('',$,#2353); -#5161=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5091,#5160); -#5162=PROPERTY_DEFINITION('',$,#2360); -#5163=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5094,#5162); -#5164=PROPERTY_DEFINITION('',$,#2366); -#5165=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#5097,#5164); -#5166=DESCRIPTION_ATTRIBUTE('ptpsm',#742); -#5167=SHAPE_DEFINITION_REPRESENTATION(#739,#742); -#5168=REPRESENTATION_RELATIONSHIP('',$,#742,#3704); -#5169=DESCRIPTION_ATTRIBUTE('ptpsm',#790); -#5170=SHAPE_DEFINITION_REPRESENTATION(#789,#790); -#5171=REPRESENTATION_RELATIONSHIP('',$,#790,#3704); -#5172=DESCRIPTION_ATTRIBUTE('ptpsm',#806); -#5173=SHAPE_DEFINITION_REPRESENTATION(#805,#806); -#5174=REPRESENTATION_RELATIONSHIP('',$,#806,#3704); -#5175=DESCRIPTION_ATTRIBUTE('ptpsm',#874); -#5176=SHAPE_DEFINITION_REPRESENTATION(#871,#874); -#5177=REPRESENTATION_RELATIONSHIP('',$,#874,#3704); -#5178=DESCRIPTION_ATTRIBUTE('ptpsm',#922); -#5179=SHAPE_DEFINITION_REPRESENTATION(#921,#922); -#5180=REPRESENTATION_RELATIONSHIP('',$,#922,#3704); -#5181=DESCRIPTION_ATTRIBUTE('ptpsm',#938); -#5182=SHAPE_DEFINITION_REPRESENTATION(#937,#938); -#5183=REPRESENTATION_RELATIONSHIP('',$,#938,#3704); -#5184=DESCRIPTION_ATTRIBUTE('ptpsm',#1006); -#5185=SHAPE_DEFINITION_REPRESENTATION(#1003,#1006); -#5186=REPRESENTATION_RELATIONSHIP('',$,#1006,#3704); -#5187=DESCRIPTION_ATTRIBUTE('ptpsm',#1054); -#5188=SHAPE_DEFINITION_REPRESENTATION(#1053,#1054); -#5189=REPRESENTATION_RELATIONSHIP('',$,#1054,#3704); -#5190=DESCRIPTION_ATTRIBUTE('ptpsm',#1070); -#5191=SHAPE_DEFINITION_REPRESENTATION(#1069,#1070); -#5192=REPRESENTATION_RELATIONSHIP('',$,#1070,#3704); -#5193=DESCRIPTION_ATTRIBUTE('ptpsm',#1134); -#5194=SHAPE_DEFINITION_REPRESENTATION(#1131,#1134); -#5195=REPRESENTATION_RELATIONSHIP('',$,#1134,#3704); -#5196=DESCRIPTION_ATTRIBUTE('ptpsm',#1146); -#5197=SHAPE_DEFINITION_REPRESENTATION(#1145,#1146); -#5198=REPRESENTATION_RELATIONSHIP('',$,#1146,#3704); -#5199=DESCRIPTION_ATTRIBUTE('ptpsm',#1161); -#5200=SHAPE_DEFINITION_REPRESENTATION(#1160,#1161); -#5201=REPRESENTATION_RELATIONSHIP('',$,#1161,#3704); -#5202=DESCRIPTION_ATTRIBUTE('ptpsm',#1212); -#5203=SHAPE_DEFINITION_REPRESENTATION(#1211,#1212); -#5204=REPRESENTATION_RELATIONSHIP('',$,#1212,#3704); -#5205=DESCRIPTION_ATTRIBUTE('ptpsm',#1276); -#5206=SHAPE_DEFINITION_REPRESENTATION(#1273,#1276); -#5207=REPRESENTATION_RELATIONSHIP('',$,#1276,#3704); -#5208=DESCRIPTION_ATTRIBUTE('ptpsm',#1324); -#5209=SHAPE_DEFINITION_REPRESENTATION(#1323,#1324); -#5210=REPRESENTATION_RELATIONSHIP('',$,#1324,#3704); -#5211=DESCRIPTION_ATTRIBUTE('ptpsm',#1340); -#5212=SHAPE_DEFINITION_REPRESENTATION(#1339,#1340); -#5213=REPRESENTATION_RELATIONSHIP('',$,#1340,#3704); -#5214=DESCRIPTION_ATTRIBUTE('ptpsm',#1404); -#5215=SHAPE_DEFINITION_REPRESENTATION(#1401,#1404); -#5216=REPRESENTATION_RELATIONSHIP('',$,#1404,#3704); -#5217=DESCRIPTION_ATTRIBUTE('ptpsm',#1416); -#5218=SHAPE_DEFINITION_REPRESENTATION(#1415,#1416); -#5219=REPRESENTATION_RELATIONSHIP('',$,#1416,#3704); -#5220=DESCRIPTION_ATTRIBUTE('ptpsm',#1431); -#5221=SHAPE_DEFINITION_REPRESENTATION(#1430,#1431); -#5222=REPRESENTATION_RELATIONSHIP('',$,#1431,#3704); -#5223=DESCRIPTION_ATTRIBUTE('ptpsm',#1482); -#5224=SHAPE_DEFINITION_REPRESENTATION(#1481,#1482); -#5225=REPRESENTATION_RELATIONSHIP('',$,#1482,#3704); -#5226=DESCRIPTION_ATTRIBUTE('ptpsm',#1546); -#5227=SHAPE_DEFINITION_REPRESENTATION(#1543,#1546); -#5228=REPRESENTATION_RELATIONSHIP('',$,#1546,#3704); -#5229=DESCRIPTION_ATTRIBUTE('ptpsm',#1558); -#5230=SHAPE_DEFINITION_REPRESENTATION(#1557,#1558); -#5231=REPRESENTATION_RELATIONSHIP('',$,#1558,#3704); -#5232=DESCRIPTION_ATTRIBUTE('ptpsm',#1573); -#5233=SHAPE_DEFINITION_REPRESENTATION(#1572,#1573); -#5234=REPRESENTATION_RELATIONSHIP('',$,#1573,#3704); -#5235=DESCRIPTION_ATTRIBUTE('ptpsm',#1624); -#5236=SHAPE_DEFINITION_REPRESENTATION(#1623,#1624); -#5237=REPRESENTATION_RELATIONSHIP('',$,#1624,#3704); -#5238=DESCRIPTION_ATTRIBUTE('ptpsm',#1688); -#5239=SHAPE_DEFINITION_REPRESENTATION(#1685,#1688); -#5240=REPRESENTATION_RELATIONSHIP('',$,#1688,#3704); -#5241=DESCRIPTION_ATTRIBUTE('ptpsm',#1700); -#5242=SHAPE_DEFINITION_REPRESENTATION(#1699,#1700); -#5243=REPRESENTATION_RELATIONSHIP('',$,#1700,#3704); -#5244=DESCRIPTION_ATTRIBUTE('ptpsm',#1715); -#5245=SHAPE_DEFINITION_REPRESENTATION(#1714,#1715); -#5246=REPRESENTATION_RELATIONSHIP('',$,#1715,#3704); -#5247=DESCRIPTION_ATTRIBUTE('ptpsm',#1766); -#5248=SHAPE_DEFINITION_REPRESENTATION(#1765,#1766); -#5249=REPRESENTATION_RELATIONSHIP('',$,#1766,#3704); -#5250=DESCRIPTION_ATTRIBUTE('ptpsm',#1823); -#5251=SHAPE_DEFINITION_REPRESENTATION(#1822,#1823); -#5252=REPRESENTATION_RELATIONSHIP('',$,#1823,#3704); -#5253=DESCRIPTION_ATTRIBUTE('ptpsm',#1846); -#5254=SHAPE_DEFINITION_REPRESENTATION(#1845,#1846); -#5255=REPRESENTATION_RELATIONSHIP('',$,#1846,#3704); -#5256=DESCRIPTION_ATTRIBUTE('ptpsm',#1858); -#5257=SHAPE_DEFINITION_REPRESENTATION(#1857,#1858); -#5258=REPRESENTATION_RELATIONSHIP('',$,#1858,#3704); -#5259=DESCRIPTION_ATTRIBUTE('ptpsm',#1906); -#5260=SHAPE_DEFINITION_REPRESENTATION(#1905,#1906); -#5261=REPRESENTATION_RELATIONSHIP('',$,#1906,#3704); -#5262=DESCRIPTION_ATTRIBUTE('ptpsm',#665); -#5263=SHAPE_DEFINITION_REPRESENTATION(#664,#665); -#5264=REPRESENTATION_RELATIONSHIP('',$,#665,#3704); -#5265=DESCRIPTION_ATTRIBUTE('ptpsm',#754); -#5266=SHAPE_DEFINITION_REPRESENTATION(#753,#754); -#5267=REPRESENTATION_RELATIONSHIP('',$,#754,#3704); -#5268=DESCRIPTION_ATTRIBUTE('ptpsm',#886); -#5269=SHAPE_DEFINITION_REPRESENTATION(#885,#886); -#5270=REPRESENTATION_RELATIONSHIP('',$,#886,#3704); -#5271=DESCRIPTION_ATTRIBUTE('ptpsm',#1018); -#5272=SHAPE_DEFINITION_REPRESENTATION(#1017,#1018); -#5273=REPRESENTATION_RELATIONSHIP('',$,#1018,#3704); -#5274=DESCRIPTION_ATTRIBUTE('ptpsm',#1176); -#5275=SHAPE_DEFINITION_REPRESENTATION(#1175,#1176); -#5276=REPRESENTATION_RELATIONSHIP('',$,#1176,#3704); -#5277=DESCRIPTION_ATTRIBUTE('ptpsm',#1288); -#5278=SHAPE_DEFINITION_REPRESENTATION(#1287,#1288); -#5279=REPRESENTATION_RELATIONSHIP('',$,#1288,#3704); -#5280=DESCRIPTION_ATTRIBUTE('ptpsm',#1446); -#5281=SHAPE_DEFINITION_REPRESENTATION(#1445,#1446); -#5282=REPRESENTATION_RELATIONSHIP('',$,#1446,#3704); -#5283=DESCRIPTION_ATTRIBUTE('ptpsm',#1588); -#5284=SHAPE_DEFINITION_REPRESENTATION(#1587,#1588); -#5285=REPRESENTATION_RELATIONSHIP('',$,#1588,#3704); -#5286=DESCRIPTION_ATTRIBUTE('ptpsm',#1730); -#5287=SHAPE_DEFINITION_REPRESENTATION(#1729,#1730); -#5288=REPRESENTATION_RELATIONSHIP('',$,#1730,#3704); -#5289=DESCRIPTION_ATTRIBUTE('ptpsm',#1870); -#5290=SHAPE_DEFINITION_REPRESENTATION(#1869,#1870); -#5291=REPRESENTATION_RELATIONSHIP('',$,#1870,#3704); -#5293=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#726,#3562,#3564); -#5294=ID_ATTRIBUTE('1',#726); -#5295=PROPERTY_DEFINITION('location','symmetrical',#726); -#5296=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#726); -#5298=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#862,#3562,#3564); -#5299=ID_ATTRIBUTE('1',#862); -#5300=PROPERTY_DEFINITION('location','symmetrical',#862); -#5301=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#862); -#5303=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#994,#3562,#3564); -#5304=ID_ATTRIBUTE('1',#994); -#5305=PROPERTY_DEFINITION('location','symmetrical',#994); -#5306=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#994); -#5308=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1126,#3562,#3564); -#5309=ID_ATTRIBUTE('1',#1126); -#5310=PROPERTY_DEFINITION('location','symmetrical',#1126); -#5311=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#1126); -#5313=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1268,#3562,#3564); -#5314=ID_ATTRIBUTE('1',#1268); -#5315=PROPERTY_DEFINITION('location','symmetrical',#1268); -#5316=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#1268); -#5318=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1396,#3562,#3564); -#5319=ID_ATTRIBUTE('1',#1396); -#5320=PROPERTY_DEFINITION('location','symmetrical',#1396); -#5321=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#1396); -#5323=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1538,#3562,#3564); -#5324=ID_ATTRIBUTE('1',#1538); -#5325=PROPERTY_DEFINITION('location','symmetrical',#1538); -#5326=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#1538); -#5328=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1680,#3562,#3564); -#5329=ID_ATTRIBUTE('1',#1680); -#5330=PROPERTY_DEFINITION('location','symmetrical',#1680); -#5331=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#1680); -#5333=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1836,#3562,#3564); -#5334=ID_ATTRIBUTE('1',#1836); -#5335=PROPERTY_DEFINITION('location','symmetrical',#1836); -#5336=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#469,#1836); -#5337=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2546,#3562,#3564); -#5338=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#605,#2546); -#5339=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#606,#2546); -#5340=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#599,#2546); -#5341=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#865,#2546); -#5342=PROPERTY_DEFINITION('plated passage','false',#667); -#5343=REPRESENTATION_MAP(#3037,#3036); -#5344=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2530,#2397); -#5345=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2531,#2395); -#5346=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2532,#2387); -#5347=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2532,#2392); -#5348=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2532,#2408); -#5349=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2532,#2404); -#5350=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2533,#2389); -#5351=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2533,#2405); -#5352=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2534,#2407); -#5353=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2535,#2390); -#5354=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2535,#2393); -#5355=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2535,#2403); -#5356=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2536,#2401); -#5357=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2537,#2399); -#5358=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2538,#2386); -#5359=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2538,#2388); -#5360=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2538,#2398); -#5361=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2538,#2400); -#5362=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2538,#2409); -#5363=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2539,#2391); -#5364=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2539,#2394); -#5365=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2539,#2396); -#5366=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2539,#2406); -#5367=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#2539,#2402); -#5368=PROPERTY_DEFINITION_REPRESENTATION(#469,#5370); -#5369=DESCRIPTION_ATTRIBUTE('stack model',#5368); -#5370=REPRESENTATION('',(#5371),#3475); -#5371=REPRESENTATION_ITEM(''); -#5372=DESCRIPTIVE_REPRESENTATION_ITEM('swappable','FALSE'); -#5373=PROPERTY_DEFINITION_REPRESENTATION(#534,#5374); -#5374=REPRESENTATION('',(#5375),#3475); -#5375=REPRESENTATION_ITEM(''); -#5376=REPRESENTATION_RELATIONSHIP('kept out layers',$,#2114,#5374); -#5377=PROPERTY_DEFINITION_REPRESENTATION(#469,#5379); -#5378=DESCRIPTION_ATTRIBUTE('stack model',#5377); -#5379=REPRESENTATION('',(#5380),#3475); -#5380=REPRESENTATION_ITEM(''); -#5381=DESCRIPTIVE_REPRESENTATION_ITEM('swappable','FALSE'); -#5382=PROPERTY_DEFINITION_REPRESENTATION(#512,#5383); -#5383=REPRESENTATION('',(#5384),#3475); -#5384=REPRESENTATION_ITEM(''); -#5385=REPRESENTATION_RELATIONSHIP('kept out layers',$,#2127,#5383); -#5386=PROPERTY_DEFINITION_REPRESENTATION(#469,#5388); -#5387=DESCRIPTION_ATTRIBUTE('stack model',#5386); -#5388=REPRESENTATION('',(#5389),#3475); -#5389=REPRESENTATION_ITEM(''); -#5390=DESCRIPTIVE_REPRESENTATION_ITEM('swappable','FALSE'); -#5391=REPRESENTATION_RELATIONSHIP('kept out layers',$,#2241,#5383); -#5392=PROPERTY_DEFINITION_REPRESENTATION(#469,#5394); -#5393=DESCRIPTION_ATTRIBUTE('stack model',#5392); -#5394=REPRESENTATION('',(#5395),#3475); -#5395=REPRESENTATION_ITEM(''); -#5396=DESCRIPTIVE_REPRESENTATION_ITEM('swappable','FALSE'); -#5397=REPRESENTATION_RELATIONSHIP('kept out layers',$,#2254,#5374); -#5398=DESCRIPTION_ATTRIBUTE('pupsm',#25); -#5399=SHAPE_DEFINITION_REPRESENTATION(#15,#25); -#5400=REPRESENTATION('shape material condition',(#5402),#3475); -#5401=REPRESENTATION_RELATIONSHIP('',$,#25,#5400); -#5402=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#5403=REPRESENTATION('shape environment',(#5405),#3475); -#5404=REPRESENTATION_RELATIONSHIP('',$,#25,#5403); -#5405=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#5406=REPRESENTATION('shape extent',(#5408),#3475); -#5407=REPRESENTATION_RELATIONSHIP('',$,#25,#5406); -#5408=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#5409=REPRESENTATION('shape approximation level',(#5411),#3475); -#5410=REPRESENTATION_RELATIONSHIP('',$,#25,#5409); -#5411=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#5412=REPRESENTATION('mass property quality',(#5414),#3475); -#5413=REPRESENTATION_RELATIONSHIP('',$,#25,#5412); -#5414=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#5415=REPRESENTATION('predefined shape purpose',(#5417),#3475); -#5416=REPRESENTATION_RELATIONSHIP('',$,#25,#5415); -#5417=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#5418=DESCRIPTION_ATTRIBUTE('pupsm',#36); -#5419=SHAPE_DEFINITION_REPRESENTATION(#34,#36); -#5420=REPRESENTATION('shape material condition',(#5422),#3475); -#5421=REPRESENTATION_RELATIONSHIP('',$,#36,#5420); -#5422=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#5423=REPRESENTATION('shape environment',(#5425),#3475); -#5424=REPRESENTATION_RELATIONSHIP('',$,#36,#5423); -#5425=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#5426=REPRESENTATION('shape extent',(#5428),#3475); -#5427=REPRESENTATION_RELATIONSHIP('',$,#36,#5426); -#5428=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#5429=REPRESENTATION('shape approximation level',(#5431),#3475); -#5430=REPRESENTATION_RELATIONSHIP('',$,#36,#5429); -#5431=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#5432=REPRESENTATION('mass property quality',(#5434),#3475); -#5433=REPRESENTATION_RELATIONSHIP('',$,#36,#5432); -#5434=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#5435=REPRESENTATION('predefined shape purpose',(#5437),#3475); -#5436=REPRESENTATION_RELATIONSHIP('',$,#36,#5435); -#5437=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#5438=DESCRIPTION_ATTRIBUTE('pupsm',#41); -#5439=SHAPE_DEFINITION_REPRESENTATION(#39,#41); -#5440=REPRESENTATION('shape material condition',(#5442),#3475); -#5441=REPRESENTATION_RELATIONSHIP('',$,#41,#5440); -#5442=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#5443=REPRESENTATION('shape environment',(#5445),#3475); -#5444=REPRESENTATION_RELATIONSHIP('',$,#41,#5443); -#5445=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#5446=REPRESENTATION('shape extent',(#5448),#3475); -#5447=REPRESENTATION_RELATIONSHIP('',$,#41,#5446); -#5448=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#5449=REPRESENTATION('shape approximation level',(#5451),#3475); -#5450=REPRESENTATION_RELATIONSHIP('',$,#41,#5449); -#5451=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#5452=REPRESENTATION('mass property quality',(#5454),#3475); -#5453=REPRESENTATION_RELATIONSHIP('',$,#41,#5452); -#5454=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#5455=REPRESENTATION('predefined shape purpose',(#5457),#3475); -#5456=REPRESENTATION_RELATIONSHIP('',$,#41,#5455); -#5457=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#5458=DESCRIPTION_ATTRIBUTE('pupsm',#48); -#5459=SHAPE_DEFINITION_REPRESENTATION(#46,#48); -#5460=REPRESENTATION('shape material condition',(#5462),#3475); -#5461=REPRESENTATION_RELATIONSHIP('',$,#48,#5460); -#5462=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#5463=REPRESENTATION('shape environment',(#5465),#3475); -#5464=REPRESENTATION_RELATIONSHIP('',$,#48,#5463); -#5465=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#5466=REPRESENTATION('shape extent',(#5468),#3475); -#5467=REPRESENTATION_RELATIONSHIP('',$,#48,#5466); -#5468=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#5469=REPRESENTATION('shape approximation level',(#5471),#3475); -#5470=REPRESENTATION_RELATIONSHIP('',$,#48,#5469); -#5471=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#5472=REPRESENTATION('mass property quality',(#5474),#3475); -#5473=REPRESENTATION_RELATIONSHIP('',$,#48,#5472); -#5474=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#5475=REPRESENTATION('predefined shape purpose',(#5477),#3475); -#5476=REPRESENTATION_RELATIONSHIP('',$,#48,#5475); -#5477=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#5478=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5100,#5112); -#5479=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5102,#5117); -#5480=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5104,#5122); -#5481=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5106,#5127); -#5482=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5108,#5132); -#5483=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#5110,#5149); -#5484=PRODUCT_CONTEXT('requirement',#3563,''); -#5485=ASSIGNED_REQUIREMENT(#74,(#62)); -#5486=REQUIREMENT_ASSIGNED_OBJECT(#74,(#46)); -#5487=ID_ATTRIBUTE('Board Placement Clearance',#74); -#5488=ASSIGNED_REQUIREMENT(#352,(#349)); -#5489=REQUIREMENT_ASSIGNED_OBJECT(#352,(#89)); -#5490=ID_ATTRIBUTE('',#352); -#5491=ASSIGNED_REQUIREMENT(#371,(#368)); -#5492=REQUIREMENT_ASSIGNED_OBJECT(#371,(#122)); -#5493=ID_ATTRIBUTE('',#371); -#5494=ASSIGNED_REQUIREMENT(#390,(#387)); -#5495=REQUIREMENT_ASSIGNED_OBJECT(#390,(#147)); -#5496=ID_ATTRIBUTE('',#390); -#5497=ASSIGNED_REQUIREMENT(#418,(#415)); -#5498=REQUIREMENT_ASSIGNED_OBJECT(#418,(#184)); -#5499=ID_ATTRIBUTE('',#418); -#5500=ASSIGNED_REQUIREMENT(#464,(#461)); -#5501=REQUIREMENT_ASSIGNED_OBJECT(#464,(#221)); -#5502=ID_ATTRIBUTE('',#464); -#5503=ASSIGNED_REQUIREMENT(#637,(#636)); -#5504=REQUIREMENT_ASSIGNED_OBJECT(#637,(#624)); -#5505=ID_ATTRIBUTE('',#637); -#5506=ASSIGNED_REQUIREMENT(#641,(#640)); -#5507=REQUIREMENT_ASSIGNED_OBJECT(#641,(#624)); -#5508=ID_ATTRIBUTE('',#641); -#5509=ASSIGNED_REQUIREMENT(#642,(#636)); -#5510=REQUIREMENT_ASSIGNED_OBJECT(#642,(#620)); -#5511=ID_ATTRIBUTE('',#642); -#5512=ASSIGNED_REQUIREMENT(#643,(#640)); -#5513=REQUIREMENT_ASSIGNED_OBJECT(#643,(#620)); -#5514=ID_ATTRIBUTE('',#643); -#5515=ASSIGNED_REQUIREMENT(#663,(#661)); -#5516=REQUIREMENT_ASSIGNED_OBJECT(#663,(#34)); -#5517=ID_ATTRIBUTE('',#663); -#5518=ASSIGNED_REQUIREMENT(#2414,(#2412)); -#5519=REQUIREMENT_ASSIGNED_OBJECT(#2414,(#34)); -#5520=ID_ATTRIBUTE('',#2414); -#5521=ASSIGNED_REQUIREMENT(#2420,(#2418)); -#5522=REQUIREMENT_ASSIGNED_OBJECT(#2420,(#34)); -#5523=ID_ATTRIBUTE('',#2420); -#5524=ASSIGNED_REQUIREMENT(#2429,(#2427)); -#5525=REQUIREMENT_ASSIGNED_OBJECT(#2429,(#34)); -#5526=ID_ATTRIBUTE('',#2429); -#5527=ASSIGNED_REQUIREMENT(#2438,(#2436)); -#5528=REQUIREMENT_ASSIGNED_OBJECT(#2438,(#34)); -#5529=ID_ATTRIBUTE('',#2438); -#5530=ASSIGNED_REQUIREMENT(#2447,(#2445)); -#5531=REQUIREMENT_ASSIGNED_OBJECT(#2447,(#34)); -#5532=ID_ATTRIBUTE('',#2447); -#5533=ASSIGNED_REQUIREMENT(#2456,(#2454)); -#5534=REQUIREMENT_ASSIGNED_OBJECT(#2456,(#34)); -#5535=ID_ATTRIBUTE('',#2456); -#5536=ASSIGNED_REQUIREMENT(#2465,(#2463)); -#5537=REQUIREMENT_ASSIGNED_OBJECT(#2465,(#34)); -#5538=ID_ATTRIBUTE('',#2465); -#5539=ASSIGNED_REQUIREMENT(#2474,(#2472)); -#5540=REQUIREMENT_ASSIGNED_OBJECT(#2474,(#34)); -#5541=ID_ATTRIBUTE('',#2474); -#5542=ASSIGNED_REQUIREMENT(#2480,(#2478)); -#5543=REQUIREMENT_ASSIGNED_OBJECT(#2480,(#34)); -#5544=ID_ATTRIBUTE('',#2480); -#5545=ASSIGNED_REQUIREMENT(#2489,(#2487)); -#5546=REQUIREMENT_ASSIGNED_OBJECT(#2489,(#34)); -#5547=ID_ATTRIBUTE('',#2489); -#5548=ASSIGNED_REQUIREMENT(#2498,(#2496)); -#5549=REQUIREMENT_ASSIGNED_OBJECT(#2498,(#34)); -#5550=ID_ATTRIBUTE('',#2498); -#5551=ASSIGNED_REQUIREMENT(#2507,(#2505)); -#5552=REQUIREMENT_ASSIGNED_OBJECT(#2507,(#34)); -#5553=ID_ATTRIBUTE('',#2507); -#5554=ASSIGNED_REQUIREMENT(#2516,(#2514)); -#5555=REQUIREMENT_ASSIGNED_OBJECT(#2516,(#34)); -#5556=ID_ATTRIBUTE('',#2516); -#5557=ASSIGNED_REQUIREMENT(#2525,(#2523)); -#5558=REQUIREMENT_ASSIGNED_OBJECT(#2525,(#34)); -#5559=ID_ATTRIBUTE('',#2525); -#5560=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3057,#2940); -#5561=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3057,#2554); -#5562=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3057,#3056); -#5563=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3073,#2614); -#5564=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3073,#2919); -#5565=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3073,#3072); -#5566=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3143,#2674); -#5567=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3143,#2789); -#5568=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3143,#2769); -#5569=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3143,#2579); -#5570=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3143,#3125); -#5571=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3143,#3141); -#5572=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3143,#3142); -#5573=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3162,#2644); -#5574=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3162,#2774); -#5575=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3162,#3161); -#5576=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3179,#2784); -#5577=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3179,#2961); -#5578=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3179,#3178); -#5579=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3209,#2699); -#5580=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3209,#2764); -#5581=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3209,#2584); -#5582=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3209,#3208); -#5583=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3225,#3003); -#5584=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3225,#2872); -#5585=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3225,#3224); -#5586=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3241,#2734); -#5587=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3241,#2982); -#5588=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3241,#3240); -#5589=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3309,#2729); -#5590=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3309,#2669); -#5591=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3309,#3024); -#5592=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3309,#2794); -#5593=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3309,#2867); -#5594=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3309,#2639); -#5595=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3309,#3308); -#5596=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3370,#2779); -#5597=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3370,#2549); -#5598=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3370,#2898); -#5599=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3370,#2609); -#5600=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3370,#2759); -#5601=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#3370,#2704); -#5602=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#3370,#3369); -#5603=NAME_ATTRIBUTE('',#1977); -#5604=NAME_ATTRIBUTE('',#2014); -#5605=NAME_ATTRIBUTE('',#2057); -#5606=NAME_ATTRIBUTE('',#2100); -#5607=NAME_ATTRIBUTE('',#2185); -#5608=NAME_ATTRIBUTE('',#2312); -#5609=DOCUMENT_TYPE('configuration controlled document definition'); -#5610=DOCUMENT('UM-PR-149-E-04-1-UM-PR-149-E-04','',$,#5609); -#5611=DOCUMENT_PRODUCT_EQUIVALENCE('equivalence',$,#5610,#1); -#5612=OBJECT_ROLE('requirement specification',$); -#5613=ROLE_ASSOCIATION(#5612,#65); -#5614=OBJECT_ROLE('reference document',$); -#5615=ROLE_ASSOCIATION(#5614,#68); -#5616=ROLE_ASSOCIATION(#5614,#73); -#5617=ROLE_ASSOCIATION(#5614,#76); -#5618=ROLE_ASSOCIATION(#5612,#350); -#5619=ROLE_ASSOCIATION(#5612,#351); -#5620=ROLE_ASSOCIATION(#5612,#369); -#5621=ROLE_ASSOCIATION(#5612,#370); -#5622=ROLE_ASSOCIATION(#5612,#388); -#5623=ROLE_ASSOCIATION(#5612,#389); -#5624=ROLE_ASSOCIATION(#5612,#416); -#5625=ROLE_ASSOCIATION(#5612,#417); -#5626=ROLE_ASSOCIATION(#5612,#462); -#5627=ROLE_ASSOCIATION(#5612,#463); -#5628=DOCUMENT('8.7_1-1-8.7_1','',$,#5609); -#5629=DOCUMENT_PRODUCT_EQUIVALENCE('equivalence',$,#5628,#10); -#5630=ROLE_ASSOCIATION(#5614,#658); -#5631=ROLE_ASSOCIATION(#5612,#2413); -#5632=ROLE_ASSOCIATION(#5612,#2419); -#5633=ROLE_ASSOCIATION(#5614,#2424); -#5634=ROLE_ASSOCIATION(#5612,#2428); -#5635=ROLE_ASSOCIATION(#5614,#2433); -#5636=ROLE_ASSOCIATION(#5612,#2437); -#5637=ROLE_ASSOCIATION(#5614,#2442); -#5638=ROLE_ASSOCIATION(#5612,#2446); -#5639=ROLE_ASSOCIATION(#5614,#2451); -#5640=ROLE_ASSOCIATION(#5612,#2455); -#5641=ROLE_ASSOCIATION(#5614,#2460); -#5642=ROLE_ASSOCIATION(#5612,#2464); -#5643=ROLE_ASSOCIATION(#5614,#2469); -#5644=ROLE_ASSOCIATION(#5612,#2473); -#5645=ROLE_ASSOCIATION(#5612,#2479); -#5646=ROLE_ASSOCIATION(#5614,#2484); -#5647=ROLE_ASSOCIATION(#5612,#2488); -#5648=ROLE_ASSOCIATION(#5614,#2493); -#5649=ROLE_ASSOCIATION(#5612,#2497); -#5650=ROLE_ASSOCIATION(#5614,#2502); -#5651=ROLE_ASSOCIATION(#5612,#2506); -#5652=ROLE_ASSOCIATION(#5614,#2511); -#5653=ROLE_ASSOCIATION(#5612,#2515); -#5654=ROLE_ASSOCIATION(#5614,#2520); -#5655=ROLE_ASSOCIATION(#5612,#2524); -#5656=ROLE_ASSOCIATION(#5614,#2529); -#5657=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#513,#622); -#5658=SHAPE_ASPECT('',$,#624,.U.); -#5659=SHAPE_ASPECT('',$,#620,.U.); -#5660=SHAPE_ASPECT('',$,#670,.U.); -#5661=PROPERTY_DEFINITION('','',#3371); -#5662=REPRESENTATION('',(#3647),#3475); -#5663=PROPERTY_DEFINITION_REPRESENTATION(#5661,#5662); -#5664=PROPERTY_DEFINITION('','',#3372); -#5665=REPRESENTATION('',(#3647),#3475); -#5666=PROPERTY_DEFINITION_REPRESENTATION(#5664,#5665); -#5667=PROPERTY_DEFINITION('','',#3373); -#5668=REPRESENTATION('',(#3647),#3475); -#5669=PROPERTY_DEFINITION_REPRESENTATION(#5667,#5668); -#5670=PROPERTY_DEFINITION('','',#3374); -#5671=REPRESENTATION('',(#3647),#3475); -#5672=PROPERTY_DEFINITION_REPRESENTATION(#5670,#5671); -#5673=PROPERTY_DEFINITION('','',#3375); -#5674=REPRESENTATION('',(#3647),#3475); -#5675=PROPERTY_DEFINITION_REPRESENTATION(#5673,#5674); -#5676=PROPERTY_DEFINITION('','',#3376); -#5677=REPRESENTATION('',(#3647),#3475); -#5678=PROPERTY_DEFINITION_REPRESENTATION(#5676,#5677); -#5679=PROPERTY_DEFINITION('','',#3377); -#5680=REPRESENTATION('',(#3647),#3475); -#5681=PROPERTY_DEFINITION_REPRESENTATION(#5679,#5680); -#5682=PROPERTY_DEFINITION('','',#3378); -#5683=REPRESENTATION('',(#3647),#3475); -#5684=PROPERTY_DEFINITION_REPRESENTATION(#5682,#5683); -#5685=PROPERTY_DEFINITION('','',#3379); -#5686=REPRESENTATION('',(#3647),#3475); -#5687=PROPERTY_DEFINITION_REPRESENTATION(#5685,#5686); -#5688=PROPERTY_DEFINITION('','',#3380); -#5689=REPRESENTATION('',(#3647),#3475); -#5690=PROPERTY_DEFINITION_REPRESENTATION(#5688,#5689); -#5691=PROPERTY_DEFINITION('','',#3381); -#5692=REPRESENTATION('',(#3647),#3475); -#5693=PROPERTY_DEFINITION_REPRESENTATION(#5691,#5692); -#5694=PROPERTY_DEFINITION('','',#3382); -#5695=REPRESENTATION('',(#3647),#3475); -#5696=PROPERTY_DEFINITION_REPRESENTATION(#5694,#5695); -#5697=PROPERTY_DEFINITION('','',#3383); -#5698=REPRESENTATION('',(#3647),#3475); -#5699=PROPERTY_DEFINITION_REPRESENTATION(#5697,#5698); -#5700=PROPERTY_DEFINITION('','',#3384); -#5701=REPRESENTATION('',(#3647),#3475); -#5702=PROPERTY_DEFINITION_REPRESENTATION(#5700,#5701); -#5703=PROPERTY_DEFINITION('','',#3385); -#5704=REPRESENTATION('',(#3647),#3475); -#5705=PROPERTY_DEFINITION_REPRESENTATION(#5703,#5704); -#5706=PROPERTY_DEFINITION('','',#3386); -#5707=REPRESENTATION('',(#3647),#3475); -#5708=PROPERTY_DEFINITION_REPRESENTATION(#5706,#5707); -#5709=PROPERTY_DEFINITION('','',#3387); -#5710=REPRESENTATION('',(#3647),#3475); -#5711=PROPERTY_DEFINITION_REPRESENTATION(#5709,#5710); -#5712=PROPERTY_DEFINITION('','',#3388); -#5713=REPRESENTATION('',(#3647),#3475); -#5714=PROPERTY_DEFINITION_REPRESENTATION(#5712,#5713); -#5715=PROPERTY_DEFINITION('','',#3389); -#5716=REPRESENTATION('',(#3647),#3475); -#5717=PROPERTY_DEFINITION_REPRESENTATION(#5715,#5716); -#5718=PROPERTY_DEFINITION('','',#3390); -#5719=REPRESENTATION('',(#3647),#3475); -#5720=PROPERTY_DEFINITION_REPRESENTATION(#5718,#5719); -#5721=PROPERTY_DEFINITION('','',#3391); -#5722=REPRESENTATION('',(#3647),#3475); -#5723=PROPERTY_DEFINITION_REPRESENTATION(#5721,#5722); -#5724=PROPERTY_DEFINITION('','',#3392); -#5725=REPRESENTATION('',(#3647),#3475); -#5726=PROPERTY_DEFINITION_REPRESENTATION(#5724,#5725); -#5727=PROPERTY_DEFINITION('','',#3393); -#5728=REPRESENTATION('',(#3647),#3475); -#5729=PROPERTY_DEFINITION_REPRESENTATION(#5727,#5728); -#5730=PROPERTY_DEFINITION('','',#3394); -#5731=REPRESENTATION('',(#3647),#3475); -#5732=PROPERTY_DEFINITION_REPRESENTATION(#5730,#5731); -#5733=PROPERTY_DEFINITION('','',#3395); -#5734=REPRESENTATION('',(#3647),#3475); -#5735=PROPERTY_DEFINITION_REPRESENTATION(#5733,#5734); -#5736=PROPERTY_DEFINITION('','',#3396); -#5737=REPRESENTATION('',(#3647),#3475); -#5738=PROPERTY_DEFINITION_REPRESENTATION(#5736,#5737); -#5739=PROPERTY_DEFINITION('','',#3397); -#5740=REPRESENTATION('',(#3647),#3475); -#5741=PROPERTY_DEFINITION_REPRESENTATION(#5739,#5740); -#5742=PROPERTY_DEFINITION('','',#3398); -#5743=REPRESENTATION('',(#3647),#3475); -#5744=PROPERTY_DEFINITION_REPRESENTATION(#5742,#5743); -#5745=PROPERTY_DEFINITION('','',#3399); -#5746=REPRESENTATION('',(#3647),#3475); -#5747=PROPERTY_DEFINITION_REPRESENTATION(#5745,#5746); -#5748=PROPERTY_DEFINITION('','',#3400); -#5749=REPRESENTATION('',(#3647),#3475); -#5750=PROPERTY_DEFINITION_REPRESENTATION(#5748,#5749); -#5751=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#540,#756); -#5752=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#542,#760); -#5753=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#544,#764); -#5754=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#546,#768); -#5755=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#548,#772); -#5756=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#550,#776); -#5757=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#552,#780); -#5758=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#489,#792); -#5759=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#490,#796); -#5760=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#512,#809); -#5761=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#514,#813); -#5762=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#516,#817); -#5763=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#518,#821); -#5764=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#520,#825); -#5765=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#522,#829); -#5766=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#524,#833); -#5767=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#526,#837); -#5768=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#528,#841); -#5769=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#530,#845); -#5770=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#532,#849); -#5771=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#534,#853); -#5772=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#540,#888); -#5773=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#542,#892); -#5774=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#544,#896); -#5775=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#546,#900); -#5776=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#548,#904); -#5777=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#550,#908); -#5778=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#552,#912); -#5779=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#489,#924); -#5780=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#490,#928); -#5781=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#512,#941); -#5782=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#514,#945); -#5783=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#516,#949); -#5784=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#518,#953); -#5785=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#520,#957); -#5786=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#522,#961); -#5787=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#524,#965); -#5788=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#526,#969); -#5789=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#528,#973); -#5790=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#530,#977); -#5791=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#532,#981); -#5792=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#534,#985); -#5793=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#540,#1020); -#5794=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#542,#1024); -#5795=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#544,#1028); -#5796=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#546,#1032); -#5797=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#548,#1036); -#5798=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#550,#1040); -#5799=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#552,#1044); -#5800=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#489,#1056); -#5801=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#490,#1060); -#5802=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#512,#1073); -#5803=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#514,#1077); -#5804=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#516,#1081); -#5805=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#518,#1085); -#5806=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#520,#1089); -#5807=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#522,#1093); -#5808=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#524,#1097); -#5809=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#526,#1101); -#5810=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#528,#1105); -#5811=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#530,#1109); -#5812=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#532,#1113); -#5813=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#534,#1117); -#5814=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#489,#1148); -#5815=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#490,#1163); -#5816=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#540,#1178); -#5817=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#542,#1182); -#5818=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#544,#1186); -#5819=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#546,#1190); -#5820=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#548,#1194); -#5821=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#550,#1198); -#5822=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#552,#1202); -#5823=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#512,#1215); -#5824=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#514,#1219); -#5825=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#516,#1223); -#5826=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#518,#1227); -#5827=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#520,#1231); -#5828=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#522,#1235); -#5829=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#524,#1239); -#5830=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#526,#1243); -#5831=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#528,#1247); -#5832=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#530,#1251); -#5833=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#532,#1255); -#5834=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#534,#1259); -#5835=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#540,#1290); -#5836=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#542,#1294); -#5837=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#544,#1298); -#5838=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#546,#1302); -#5839=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#548,#1306); -#5840=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#550,#1310); -#5841=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#552,#1314); -#5842=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#489,#1326); -#5843=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#490,#1330); -#5844=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#512,#1343); -#5845=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#514,#1347); -#5846=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#516,#1351); -#5847=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#518,#1355); -#5848=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#520,#1359); -#5849=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#522,#1363); -#5850=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#524,#1367); -#5851=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#526,#1371); -#5852=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#528,#1375); -#5853=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#530,#1379); -#5854=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#532,#1383); -#5855=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#534,#1387); -#5856=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#489,#1418); -#5857=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#490,#1433); -#5858=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#540,#1448); -#5859=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#542,#1452); -#5860=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#544,#1456); -#5861=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#546,#1460); -#5862=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#548,#1464); -#5863=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#550,#1468); -#5864=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#552,#1472); -#5865=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#512,#1485); -#5866=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#514,#1489); -#5867=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#516,#1493); -#5868=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#518,#1497); -#5869=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#520,#1501); -#5870=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#522,#1505); -#5871=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#524,#1509); -#5872=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#526,#1513); -#5873=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#528,#1517); -#5874=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#530,#1521); -#5875=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#532,#1525); -#5876=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#534,#1529); -#5877=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#489,#1560); -#5878=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#490,#1575); -#5879=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#540,#1590); -#5880=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#542,#1594); -#5881=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#544,#1598); -#5882=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#546,#1602); -#5883=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#548,#1606); -#5884=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#550,#1610); -#5885=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#552,#1614); -#5886=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#512,#1627); -#5887=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#514,#1631); -#5888=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#516,#1635); -#5889=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#518,#1639); -#5890=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#520,#1643); -#5891=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#522,#1647); -#5892=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#524,#1651); -#5893=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#526,#1655); -#5894=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#528,#1659); -#5895=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#530,#1663); -#5896=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#532,#1667); -#5897=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#534,#1671); -#5898=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#489,#1702); -#5899=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#490,#1717); -#5900=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#540,#1732); -#5901=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#542,#1736); -#5902=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#544,#1740); -#5903=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#546,#1744); -#5904=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#548,#1748); -#5905=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#550,#1752); -#5906=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#552,#1756); -#5907=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#512,#1769); -#5908=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#514,#1773); -#5909=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#516,#1777); -#5910=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#518,#1781); -#5911=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#520,#1785); -#5912=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#522,#1789); -#5913=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#524,#1793); -#5914=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#526,#1797); -#5915=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#528,#1801); -#5916=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#530,#1805); -#5917=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#532,#1809); -#5918=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#534,#1813); -#5919=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#489,#1848); -#5920=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#490,#1860); -#5921=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#540,#1872); -#5922=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#542,#1876); -#5923=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#544,#1880); -#5924=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#546,#1884); -#5925=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#548,#1888); -#5926=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#550,#1892); -#5927=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#552,#1896); -#5928=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#512,#1909); -#5929=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#514,#1913); -#5930=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#516,#1917); -#5931=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#518,#1921); -#5932=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#520,#1925); -#5933=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#522,#1929); -#5934=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#524,#1933); -#5935=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#526,#1937); -#5936=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#528,#1941); -#5937=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#530,#1945); -#5938=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#532,#1949); -#5939=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#534,#1953); -#5940=PROPERTY_DEFINITION('stratum thickness',$,#492); -#5941=PROPERTY_DEFINITION_REPRESENTATION(#5940,#493); -#5942=PROPERTY_DEFINITION('layer position','internal',#492); -#5943=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#727); -#5944=SHAPE_DEFINITION_REPRESENTATION(#726,#727); -#5945=REPRESENTATION_RELATIONSHIP('',$,#727,#3704); -#5946=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#863); -#5947=SHAPE_DEFINITION_REPRESENTATION(#862,#863); -#5948=REPRESENTATION_RELATIONSHIP('',$,#863,#3704); -#5949=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#995); -#5950=SHAPE_DEFINITION_REPRESENTATION(#994,#995); -#5951=REPRESENTATION_RELATIONSHIP('',$,#995,#3704); -#5952=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1127); -#5953=SHAPE_DEFINITION_REPRESENTATION(#1126,#1127); -#5954=REPRESENTATION_RELATIONSHIP('',$,#1127,#3704); -#5955=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1269); -#5956=SHAPE_DEFINITION_REPRESENTATION(#1268,#1269); -#5957=REPRESENTATION_RELATIONSHIP('',$,#1269,#3704); -#5958=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1397); -#5959=SHAPE_DEFINITION_REPRESENTATION(#1396,#1397); -#5960=REPRESENTATION_RELATIONSHIP('',$,#1397,#3704); -#5961=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1539); -#5962=SHAPE_DEFINITION_REPRESENTATION(#1538,#1539); -#5963=REPRESENTATION_RELATIONSHIP('',$,#1539,#3704); -#5964=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1681); -#5965=SHAPE_DEFINITION_REPRESENTATION(#1680,#1681); -#5966=REPRESENTATION_RELATIONSHIP('',$,#1681,#3704); -#5967=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1837); -#5968=SHAPE_DEFINITION_REPRESENTATION(#1836,#1837); -#5969=REPRESENTATION_RELATIONSHIP('',$,#1837,#3704); -#5970=PRODUCT_CONTEXT('template model',#3563,''); -#5971=REPRESENTATION_MAP(#26,#742); -#5972=PRODUCT_DEFINITION_SHAPE('',$,#747); -#5973=SHAPE_DEFINITION_REPRESENTATION(#5972,#5974); -#5974=SHAPE_REPRESENTATION('',(#748),#5975); -#5975=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#5976=REPRESENTATION_MAP(#26,#754); -#5977=PRODUCT_DEFINITION_SHAPE('',$,#756); -#5978=SHAPE_DEFINITION_REPRESENTATION(#5977,#5979); -#5979=SHAPE_REPRESENTATION('',(#757),#5975); -#5980=PRODUCT_DEFINITION_SHAPE('',$,#760); -#5981=SHAPE_DEFINITION_REPRESENTATION(#5980,#5982); -#5982=SHAPE_REPRESENTATION('',(#761),#5975); -#5983=PRODUCT_DEFINITION_SHAPE('',$,#764); -#5984=SHAPE_DEFINITION_REPRESENTATION(#5983,#5985); -#5985=SHAPE_REPRESENTATION('',(#765),#5975); -#5986=PRODUCT_DEFINITION_SHAPE('',$,#768); -#5987=SHAPE_DEFINITION_REPRESENTATION(#5986,#5988); -#5988=SHAPE_REPRESENTATION('',(#769),#5975); -#5989=PRODUCT_DEFINITION_SHAPE('',$,#772); -#5990=SHAPE_DEFINITION_REPRESENTATION(#5989,#5991); -#5991=SHAPE_REPRESENTATION('',(#773),#5975); -#5992=PRODUCT_DEFINITION_SHAPE('',$,#776); -#5993=SHAPE_DEFINITION_REPRESENTATION(#5992,#5994); -#5994=SHAPE_REPRESENTATION('',(#777),#5975); -#5995=PRODUCT_DEFINITION_SHAPE('',$,#780); -#5996=SHAPE_DEFINITION_REPRESENTATION(#5995,#5997); -#5997=SHAPE_REPRESENTATION('',(#781),#5975); -#5998=REPRESENTATION_MAP(#26,#790); -#5999=PRODUCT_DEFINITION_SHAPE('',$,#792); -#6000=SHAPE_DEFINITION_REPRESENTATION(#5999,#6001); -#6001=SHAPE_REPRESENTATION('',(#793),#5975); -#6002=PRODUCT_DEFINITION_SHAPE('',$,#796); -#6003=SHAPE_DEFINITION_REPRESENTATION(#6002,#6004); -#6004=SHAPE_REPRESENTATION('',(#797),#5975); -#6005=REPRESENTATION_MAP(#26,#806); -#6006=PRODUCT_DEFINITION_SHAPE('',$,#809); -#6007=SHAPE_DEFINITION_REPRESENTATION(#6006,#6008); -#6008=SHAPE_REPRESENTATION('',(#810),#5975); -#6009=PRODUCT_DEFINITION_SHAPE('',$,#813); -#6010=SHAPE_DEFINITION_REPRESENTATION(#6009,#6011); -#6011=SHAPE_REPRESENTATION('',(#814),#5975); -#6012=PRODUCT_DEFINITION_SHAPE('',$,#817); -#6013=SHAPE_DEFINITION_REPRESENTATION(#6012,#6014); -#6014=SHAPE_REPRESENTATION('',(#818),#5975); -#6015=PRODUCT_DEFINITION_SHAPE('',$,#821); -#6016=SHAPE_DEFINITION_REPRESENTATION(#6015,#6017); -#6017=SHAPE_REPRESENTATION('',(#822),#5975); -#6018=PRODUCT_DEFINITION_SHAPE('',$,#825); -#6019=SHAPE_DEFINITION_REPRESENTATION(#6018,#6020); -#6020=SHAPE_REPRESENTATION('',(#826),#5975); -#6021=PRODUCT_DEFINITION_SHAPE('',$,#829); -#6022=SHAPE_DEFINITION_REPRESENTATION(#6021,#6023); -#6023=SHAPE_REPRESENTATION('',(#830),#5975); -#6024=PRODUCT_DEFINITION_SHAPE('',$,#833); -#6025=SHAPE_DEFINITION_REPRESENTATION(#6024,#6026); -#6026=SHAPE_REPRESENTATION('',(#834),#5975); -#6027=PRODUCT_DEFINITION_SHAPE('',$,#837); -#6028=SHAPE_DEFINITION_REPRESENTATION(#6027,#6029); -#6029=SHAPE_REPRESENTATION('',(#838),#5975); -#6030=PRODUCT_DEFINITION_SHAPE('',$,#841); -#6031=SHAPE_DEFINITION_REPRESENTATION(#6030,#6032); -#6032=SHAPE_REPRESENTATION('',(#842),#5975); -#6033=PRODUCT_DEFINITION_SHAPE('',$,#845); -#6034=SHAPE_DEFINITION_REPRESENTATION(#6033,#6035); -#6035=SHAPE_REPRESENTATION('',(#846),#5975); -#6036=PRODUCT_DEFINITION_SHAPE('',$,#849); -#6037=SHAPE_DEFINITION_REPRESENTATION(#6036,#6038); -#6038=SHAPE_REPRESENTATION('',(#850),#5975); -#6039=PRODUCT_DEFINITION_SHAPE('',$,#853); -#6040=SHAPE_DEFINITION_REPRESENTATION(#6039,#6041); -#6041=SHAPE_REPRESENTATION('',(#854),#5975); -#6042=PRODUCT_DEFINITION_SHAPE('',$,#879); -#6043=SHAPE_DEFINITION_REPRESENTATION(#6042,#6044); -#6044=SHAPE_REPRESENTATION('',(#880),#5975); -#6045=REPRESENTATION_MAP(#26,#886); -#6046=PRODUCT_DEFINITION_SHAPE('',$,#888); -#6047=SHAPE_DEFINITION_REPRESENTATION(#6046,#6048); -#6048=SHAPE_REPRESENTATION('',(#889),#5975); -#6049=PRODUCT_DEFINITION_SHAPE('',$,#892); -#6050=SHAPE_DEFINITION_REPRESENTATION(#6049,#6051); -#6051=SHAPE_REPRESENTATION('',(#893),#5975); -#6052=PRODUCT_DEFINITION_SHAPE('',$,#896); -#6053=SHAPE_DEFINITION_REPRESENTATION(#6052,#6054); -#6054=SHAPE_REPRESENTATION('',(#897),#5975); -#6055=PRODUCT_DEFINITION_SHAPE('',$,#900); -#6056=SHAPE_DEFINITION_REPRESENTATION(#6055,#6057); -#6057=SHAPE_REPRESENTATION('',(#901),#5975); -#6058=PRODUCT_DEFINITION_SHAPE('',$,#904); -#6059=SHAPE_DEFINITION_REPRESENTATION(#6058,#6060); -#6060=SHAPE_REPRESENTATION('',(#905),#5975); -#6061=PRODUCT_DEFINITION_SHAPE('',$,#908); -#6062=SHAPE_DEFINITION_REPRESENTATION(#6061,#6063); -#6063=SHAPE_REPRESENTATION('',(#909),#5975); -#6064=PRODUCT_DEFINITION_SHAPE('',$,#912); -#6065=SHAPE_DEFINITION_REPRESENTATION(#6064,#6066); -#6066=SHAPE_REPRESENTATION('',(#913),#5975); -#6067=REPRESENTATION_MAP(#26,#922); -#6068=PRODUCT_DEFINITION_SHAPE('',$,#924); -#6069=SHAPE_DEFINITION_REPRESENTATION(#6068,#6070); -#6070=SHAPE_REPRESENTATION('',(#925),#5975); -#6071=PRODUCT_DEFINITION_SHAPE('',$,#928); -#6072=SHAPE_DEFINITION_REPRESENTATION(#6071,#6073); -#6073=SHAPE_REPRESENTATION('',(#929),#5975); -#6074=REPRESENTATION_MAP(#26,#938); -#6075=PRODUCT_DEFINITION_SHAPE('',$,#941); -#6076=SHAPE_DEFINITION_REPRESENTATION(#6075,#6077); -#6077=SHAPE_REPRESENTATION('',(#942),#5975); -#6078=PRODUCT_DEFINITION_SHAPE('',$,#945); -#6079=SHAPE_DEFINITION_REPRESENTATION(#6078,#6080); -#6080=SHAPE_REPRESENTATION('',(#946),#5975); -#6081=PRODUCT_DEFINITION_SHAPE('',$,#949); -#6082=SHAPE_DEFINITION_REPRESENTATION(#6081,#6083); -#6083=SHAPE_REPRESENTATION('',(#950),#5975); -#6084=PRODUCT_DEFINITION_SHAPE('',$,#953); -#6085=SHAPE_DEFINITION_REPRESENTATION(#6084,#6086); -#6086=SHAPE_REPRESENTATION('',(#954),#5975); -#6087=PRODUCT_DEFINITION_SHAPE('',$,#957); -#6088=SHAPE_DEFINITION_REPRESENTATION(#6087,#6089); -#6089=SHAPE_REPRESENTATION('',(#958),#5975); -#6090=PRODUCT_DEFINITION_SHAPE('',$,#961); -#6091=SHAPE_DEFINITION_REPRESENTATION(#6090,#6092); -#6092=SHAPE_REPRESENTATION('',(#962),#5975); -#6093=PRODUCT_DEFINITION_SHAPE('',$,#965); -#6094=SHAPE_DEFINITION_REPRESENTATION(#6093,#6095); -#6095=SHAPE_REPRESENTATION('',(#966),#5975); -#6096=PRODUCT_DEFINITION_SHAPE('',$,#969); -#6097=SHAPE_DEFINITION_REPRESENTATION(#6096,#6098); -#6098=SHAPE_REPRESENTATION('',(#970),#5975); -#6099=PRODUCT_DEFINITION_SHAPE('',$,#973); -#6100=SHAPE_DEFINITION_REPRESENTATION(#6099,#6101); -#6101=SHAPE_REPRESENTATION('',(#974),#5975); -#6102=PRODUCT_DEFINITION_SHAPE('',$,#977); -#6103=SHAPE_DEFINITION_REPRESENTATION(#6102,#6104); -#6104=SHAPE_REPRESENTATION('',(#978),#5975); -#6105=PRODUCT_DEFINITION_SHAPE('',$,#981); -#6106=SHAPE_DEFINITION_REPRESENTATION(#6105,#6107); -#6107=SHAPE_REPRESENTATION('',(#982),#5975); -#6108=PRODUCT_DEFINITION_SHAPE('',$,#985); -#6109=SHAPE_DEFINITION_REPRESENTATION(#6108,#6110); -#6110=SHAPE_REPRESENTATION('',(#986),#5975); -#6111=REPRESENTATION_MAP(#26,#1006); -#6112=PRODUCT_DEFINITION_SHAPE('',$,#1011); -#6113=SHAPE_DEFINITION_REPRESENTATION(#6112,#6114); -#6114=SHAPE_REPRESENTATION('',(#1012),#5975); -#6115=REPRESENTATION_MAP(#26,#1018); -#6116=PRODUCT_DEFINITION_SHAPE('',$,#1020); -#6117=SHAPE_DEFINITION_REPRESENTATION(#6116,#6118); -#6118=SHAPE_REPRESENTATION('',(#1021),#5975); -#6119=PRODUCT_DEFINITION_SHAPE('',$,#1024); -#6120=SHAPE_DEFINITION_REPRESENTATION(#6119,#6121); -#6121=SHAPE_REPRESENTATION('',(#1025),#5975); -#6122=PRODUCT_DEFINITION_SHAPE('',$,#1028); -#6123=SHAPE_DEFINITION_REPRESENTATION(#6122,#6124); -#6124=SHAPE_REPRESENTATION('',(#1029),#5975); -#6125=PRODUCT_DEFINITION_SHAPE('',$,#1032); -#6126=SHAPE_DEFINITION_REPRESENTATION(#6125,#6127); -#6127=SHAPE_REPRESENTATION('',(#1033),#5975); -#6128=PRODUCT_DEFINITION_SHAPE('',$,#1036); -#6129=SHAPE_DEFINITION_REPRESENTATION(#6128,#6130); -#6130=SHAPE_REPRESENTATION('',(#1037),#5975); -#6131=PRODUCT_DEFINITION_SHAPE('',$,#1040); -#6132=SHAPE_DEFINITION_REPRESENTATION(#6131,#6133); -#6133=SHAPE_REPRESENTATION('',(#1041),#5975); -#6134=PRODUCT_DEFINITION_SHAPE('',$,#1044); -#6135=SHAPE_DEFINITION_REPRESENTATION(#6134,#6136); -#6136=SHAPE_REPRESENTATION('',(#1045),#5975); -#6137=REPRESENTATION_MAP(#26,#1054); -#6138=PRODUCT_DEFINITION_SHAPE('',$,#1056); -#6139=SHAPE_DEFINITION_REPRESENTATION(#6138,#6140); -#6140=SHAPE_REPRESENTATION('',(#1057),#5975); -#6141=PRODUCT_DEFINITION_SHAPE('',$,#1060); -#6142=SHAPE_DEFINITION_REPRESENTATION(#6141,#6143); -#6143=SHAPE_REPRESENTATION('',(#1061),#5975); -#6144=REPRESENTATION_MAP(#26,#1070); -#6145=PRODUCT_DEFINITION_SHAPE('',$,#1073); -#6146=SHAPE_DEFINITION_REPRESENTATION(#6145,#6147); -#6147=SHAPE_REPRESENTATION('',(#1074),#5975); -#6148=PRODUCT_DEFINITION_SHAPE('',$,#1077); -#6149=SHAPE_DEFINITION_REPRESENTATION(#6148,#6150); -#6150=SHAPE_REPRESENTATION('',(#1078),#5975); -#6151=PRODUCT_DEFINITION_SHAPE('',$,#1081); -#6152=SHAPE_DEFINITION_REPRESENTATION(#6151,#6153); -#6153=SHAPE_REPRESENTATION('',(#1082),#5975); -#6154=PRODUCT_DEFINITION_SHAPE('',$,#1085); -#6155=SHAPE_DEFINITION_REPRESENTATION(#6154,#6156); -#6156=SHAPE_REPRESENTATION('',(#1086),#5975); -#6157=PRODUCT_DEFINITION_SHAPE('',$,#1089); -#6158=SHAPE_DEFINITION_REPRESENTATION(#6157,#6159); -#6159=SHAPE_REPRESENTATION('',(#1090),#5975); -#6160=PRODUCT_DEFINITION_SHAPE('',$,#1093); -#6161=SHAPE_DEFINITION_REPRESENTATION(#6160,#6162); -#6162=SHAPE_REPRESENTATION('',(#1094),#5975); -#6163=PRODUCT_DEFINITION_SHAPE('',$,#1097); -#6164=SHAPE_DEFINITION_REPRESENTATION(#6163,#6165); -#6165=SHAPE_REPRESENTATION('',(#1098),#5975); -#6166=PRODUCT_DEFINITION_SHAPE('',$,#1101); -#6167=SHAPE_DEFINITION_REPRESENTATION(#6166,#6168); -#6168=SHAPE_REPRESENTATION('',(#1102),#5975); -#6169=PRODUCT_DEFINITION_SHAPE('',$,#1105); -#6170=SHAPE_DEFINITION_REPRESENTATION(#6169,#6171); -#6171=SHAPE_REPRESENTATION('',(#1106),#5975); -#6172=PRODUCT_DEFINITION_SHAPE('',$,#1109); -#6173=SHAPE_DEFINITION_REPRESENTATION(#6172,#6174); -#6174=SHAPE_REPRESENTATION('',(#1110),#5975); -#6175=PRODUCT_DEFINITION_SHAPE('',$,#1113); -#6176=SHAPE_DEFINITION_REPRESENTATION(#6175,#6177); -#6177=SHAPE_REPRESENTATION('',(#1114),#5975); -#6178=PRODUCT_DEFINITION_SHAPE('',$,#1117); -#6179=SHAPE_DEFINITION_REPRESENTATION(#6178,#6180); -#6180=SHAPE_REPRESENTATION('',(#1118),#5975); -#6181=PRODUCT_DEFINITION_SHAPE('',$,#1139); -#6182=SHAPE_DEFINITION_REPRESENTATION(#6181,#6183); -#6183=SHAPE_REPRESENTATION('',(#1140),#5975); -#6184=REPRESENTATION_MAP(#26,#1146); -#6185=PRODUCT_DEFINITION_SHAPE('',$,#1148); -#6186=SHAPE_DEFINITION_REPRESENTATION(#6185,#6187); -#6187=SHAPE_REPRESENTATION('',(#1149),#5975); -#6188=REPRESENTATION_MAP(#26,#1161); -#6189=PRODUCT_DEFINITION_SHAPE('',$,#1163); -#6190=SHAPE_DEFINITION_REPRESENTATION(#6189,#6191); -#6191=SHAPE_REPRESENTATION('',(#1164),#5975); -#6192=REPRESENTATION_MAP(#26,#1176); -#6193=PRODUCT_DEFINITION_SHAPE('',$,#1178); -#6194=SHAPE_DEFINITION_REPRESENTATION(#6193,#6195); -#6195=SHAPE_REPRESENTATION('',(#1179),#5975); -#6196=PRODUCT_DEFINITION_SHAPE('',$,#1182); -#6197=SHAPE_DEFINITION_REPRESENTATION(#6196,#6198); -#6198=SHAPE_REPRESENTATION('',(#1183),#5975); -#6199=PRODUCT_DEFINITION_SHAPE('',$,#1186); -#6200=SHAPE_DEFINITION_REPRESENTATION(#6199,#6201); -#6201=SHAPE_REPRESENTATION('',(#1187),#5975); -#6202=PRODUCT_DEFINITION_SHAPE('',$,#1190); -#6203=SHAPE_DEFINITION_REPRESENTATION(#6202,#6204); -#6204=SHAPE_REPRESENTATION('',(#1191),#5975); -#6205=PRODUCT_DEFINITION_SHAPE('',$,#1194); -#6206=SHAPE_DEFINITION_REPRESENTATION(#6205,#6207); -#6207=SHAPE_REPRESENTATION('',(#1195),#5975); -#6208=PRODUCT_DEFINITION_SHAPE('',$,#1198); -#6209=SHAPE_DEFINITION_REPRESENTATION(#6208,#6210); -#6210=SHAPE_REPRESENTATION('',(#1199),#5975); -#6211=PRODUCT_DEFINITION_SHAPE('',$,#1202); -#6212=SHAPE_DEFINITION_REPRESENTATION(#6211,#6213); -#6213=SHAPE_REPRESENTATION('',(#1203),#5975); -#6214=REPRESENTATION_MAP(#26,#1212); -#6215=PRODUCT_DEFINITION_SHAPE('',$,#1215); -#6216=SHAPE_DEFINITION_REPRESENTATION(#6215,#6217); -#6217=SHAPE_REPRESENTATION('',(#1216),#5975); -#6218=PRODUCT_DEFINITION_SHAPE('',$,#1219); -#6219=SHAPE_DEFINITION_REPRESENTATION(#6218,#6220); -#6220=SHAPE_REPRESENTATION('',(#1220),#5975); -#6221=PRODUCT_DEFINITION_SHAPE('',$,#1223); -#6222=SHAPE_DEFINITION_REPRESENTATION(#6221,#6223); -#6223=SHAPE_REPRESENTATION('',(#1224),#5975); -#6224=PRODUCT_DEFINITION_SHAPE('',$,#1227); -#6225=SHAPE_DEFINITION_REPRESENTATION(#6224,#6226); -#6226=SHAPE_REPRESENTATION('',(#1228),#5975); -#6227=PRODUCT_DEFINITION_SHAPE('',$,#1231); -#6228=SHAPE_DEFINITION_REPRESENTATION(#6227,#6229); -#6229=SHAPE_REPRESENTATION('',(#1232),#5975); -#6230=PRODUCT_DEFINITION_SHAPE('',$,#1235); -#6231=SHAPE_DEFINITION_REPRESENTATION(#6230,#6232); -#6232=SHAPE_REPRESENTATION('',(#1236),#5975); -#6233=PRODUCT_DEFINITION_SHAPE('',$,#1239); -#6234=SHAPE_DEFINITION_REPRESENTATION(#6233,#6235); -#6235=SHAPE_REPRESENTATION('',(#1240),#5975); -#6236=PRODUCT_DEFINITION_SHAPE('',$,#1243); -#6237=SHAPE_DEFINITION_REPRESENTATION(#6236,#6238); -#6238=SHAPE_REPRESENTATION('',(#1244),#5975); -#6239=PRODUCT_DEFINITION_SHAPE('',$,#1247); -#6240=SHAPE_DEFINITION_REPRESENTATION(#6239,#6241); -#6241=SHAPE_REPRESENTATION('',(#1248),#5975); -#6242=PRODUCT_DEFINITION_SHAPE('',$,#1251); -#6243=SHAPE_DEFINITION_REPRESENTATION(#6242,#6244); -#6244=SHAPE_REPRESENTATION('',(#1252),#5975); -#6245=PRODUCT_DEFINITION_SHAPE('',$,#1255); -#6246=SHAPE_DEFINITION_REPRESENTATION(#6245,#6247); -#6247=SHAPE_REPRESENTATION('',(#1256),#5975); -#6248=PRODUCT_DEFINITION_SHAPE('',$,#1259); -#6249=SHAPE_DEFINITION_REPRESENTATION(#6248,#6250); -#6250=SHAPE_REPRESENTATION('',(#1260),#5975); -#6251=REPRESENTATION_MAP(#26,#1276); -#6252=PRODUCT_DEFINITION_SHAPE('',$,#1281); -#6253=SHAPE_DEFINITION_REPRESENTATION(#6252,#6254); -#6254=SHAPE_REPRESENTATION('',(#1282),#5975); -#6255=REPRESENTATION_MAP(#26,#1288); -#6256=PRODUCT_DEFINITION_SHAPE('',$,#1290); -#6257=SHAPE_DEFINITION_REPRESENTATION(#6256,#6258); -#6258=SHAPE_REPRESENTATION('',(#1291),#5975); -#6259=PRODUCT_DEFINITION_SHAPE('',$,#1294); -#6260=SHAPE_DEFINITION_REPRESENTATION(#6259,#6261); -#6261=SHAPE_REPRESENTATION('',(#1295),#5975); -#6262=PRODUCT_DEFINITION_SHAPE('',$,#1298); -#6263=SHAPE_DEFINITION_REPRESENTATION(#6262,#6264); -#6264=SHAPE_REPRESENTATION('',(#1299),#5975); -#6265=PRODUCT_DEFINITION_SHAPE('',$,#1302); -#6266=SHAPE_DEFINITION_REPRESENTATION(#6265,#6267); -#6267=SHAPE_REPRESENTATION('',(#1303),#5975); -#6268=PRODUCT_DEFINITION_SHAPE('',$,#1306); -#6269=SHAPE_DEFINITION_REPRESENTATION(#6268,#6270); -#6270=SHAPE_REPRESENTATION('',(#1307),#5975); -#6271=PRODUCT_DEFINITION_SHAPE('',$,#1310); -#6272=SHAPE_DEFINITION_REPRESENTATION(#6271,#6273); -#6273=SHAPE_REPRESENTATION('',(#1311),#5975); -#6274=PRODUCT_DEFINITION_SHAPE('',$,#1314); -#6275=SHAPE_DEFINITION_REPRESENTATION(#6274,#6276); -#6276=SHAPE_REPRESENTATION('',(#1315),#5975); -#6277=REPRESENTATION_MAP(#26,#1324); -#6278=PRODUCT_DEFINITION_SHAPE('',$,#1326); -#6279=SHAPE_DEFINITION_REPRESENTATION(#6278,#6280); -#6280=SHAPE_REPRESENTATION('',(#1327),#5975); -#6281=PRODUCT_DEFINITION_SHAPE('',$,#1330); -#6282=SHAPE_DEFINITION_REPRESENTATION(#6281,#6283); -#6283=SHAPE_REPRESENTATION('',(#1331),#5975); -#6284=REPRESENTATION_MAP(#26,#1340); -#6285=PRODUCT_DEFINITION_SHAPE('',$,#1343); -#6286=SHAPE_DEFINITION_REPRESENTATION(#6285,#6287); -#6287=SHAPE_REPRESENTATION('',(#1344),#5975); -#6288=PRODUCT_DEFINITION_SHAPE('',$,#1347); -#6289=SHAPE_DEFINITION_REPRESENTATION(#6288,#6290); -#6290=SHAPE_REPRESENTATION('',(#1348),#5975); -#6291=PRODUCT_DEFINITION_SHAPE('',$,#1351); -#6292=SHAPE_DEFINITION_REPRESENTATION(#6291,#6293); -#6293=SHAPE_REPRESENTATION('',(#1352),#5975); -#6294=PRODUCT_DEFINITION_SHAPE('',$,#1355); -#6295=SHAPE_DEFINITION_REPRESENTATION(#6294,#6296); -#6296=SHAPE_REPRESENTATION('',(#1356),#5975); -#6297=PRODUCT_DEFINITION_SHAPE('',$,#1359); -#6298=SHAPE_DEFINITION_REPRESENTATION(#6297,#6299); -#6299=SHAPE_REPRESENTATION('',(#1360),#5975); -#6300=PRODUCT_DEFINITION_SHAPE('',$,#1363); -#6301=SHAPE_DEFINITION_REPRESENTATION(#6300,#6302); -#6302=SHAPE_REPRESENTATION('',(#1364),#5975); -#6303=PRODUCT_DEFINITION_SHAPE('',$,#1367); -#6304=SHAPE_DEFINITION_REPRESENTATION(#6303,#6305); -#6305=SHAPE_REPRESENTATION('',(#1368),#5975); -#6306=PRODUCT_DEFINITION_SHAPE('',$,#1371); -#6307=SHAPE_DEFINITION_REPRESENTATION(#6306,#6308); -#6308=SHAPE_REPRESENTATION('',(#1372),#5975); -#6309=PRODUCT_DEFINITION_SHAPE('',$,#1375); -#6310=SHAPE_DEFINITION_REPRESENTATION(#6309,#6311); -#6311=SHAPE_REPRESENTATION('',(#1376),#5975); -#6312=PRODUCT_DEFINITION_SHAPE('',$,#1379); -#6313=SHAPE_DEFINITION_REPRESENTATION(#6312,#6314); -#6314=SHAPE_REPRESENTATION('',(#1380),#5975); -#6315=PRODUCT_DEFINITION_SHAPE('',$,#1383); -#6316=SHAPE_DEFINITION_REPRESENTATION(#6315,#6317); -#6317=SHAPE_REPRESENTATION('',(#1384),#5975); -#6318=PRODUCT_DEFINITION_SHAPE('',$,#1387); -#6319=SHAPE_DEFINITION_REPRESENTATION(#6318,#6320); -#6320=SHAPE_REPRESENTATION('',(#1388),#5975); -#6321=REPRESENTATION_MAP(#26,#1404); -#6322=PRODUCT_DEFINITION_SHAPE('',$,#1409); -#6323=SHAPE_DEFINITION_REPRESENTATION(#6322,#6324); -#6324=SHAPE_REPRESENTATION('',(#1410),#5975); -#6325=REPRESENTATION_MAP(#26,#1416); -#6326=PRODUCT_DEFINITION_SHAPE('',$,#1418); -#6327=SHAPE_DEFINITION_REPRESENTATION(#6326,#6328); -#6328=SHAPE_REPRESENTATION('',(#1419),#5975); -#6329=REPRESENTATION_MAP(#26,#1431); -#6330=PRODUCT_DEFINITION_SHAPE('',$,#1433); -#6331=SHAPE_DEFINITION_REPRESENTATION(#6330,#6332); -#6332=SHAPE_REPRESENTATION('',(#1434),#5975); -#6333=REPRESENTATION_MAP(#26,#1446); -#6334=PRODUCT_DEFINITION_SHAPE('',$,#1448); -#6335=SHAPE_DEFINITION_REPRESENTATION(#6334,#6336); -#6336=SHAPE_REPRESENTATION('',(#1449),#5975); -#6337=PRODUCT_DEFINITION_SHAPE('',$,#1452); -#6338=SHAPE_DEFINITION_REPRESENTATION(#6337,#6339); -#6339=SHAPE_REPRESENTATION('',(#1453),#5975); -#6340=PRODUCT_DEFINITION_SHAPE('',$,#1456); -#6341=SHAPE_DEFINITION_REPRESENTATION(#6340,#6342); -#6342=SHAPE_REPRESENTATION('',(#1457),#5975); -#6343=PRODUCT_DEFINITION_SHAPE('',$,#1460); -#6344=SHAPE_DEFINITION_REPRESENTATION(#6343,#6345); -#6345=SHAPE_REPRESENTATION('',(#1461),#5975); -#6346=PRODUCT_DEFINITION_SHAPE('',$,#1464); -#6347=SHAPE_DEFINITION_REPRESENTATION(#6346,#6348); -#6348=SHAPE_REPRESENTATION('',(#1465),#5975); -#6349=PRODUCT_DEFINITION_SHAPE('',$,#1468); -#6350=SHAPE_DEFINITION_REPRESENTATION(#6349,#6351); -#6351=SHAPE_REPRESENTATION('',(#1469),#5975); -#6352=PRODUCT_DEFINITION_SHAPE('',$,#1472); -#6353=SHAPE_DEFINITION_REPRESENTATION(#6352,#6354); -#6354=SHAPE_REPRESENTATION('',(#1473),#5975); -#6355=REPRESENTATION_MAP(#26,#1482); -#6356=PRODUCT_DEFINITION_SHAPE('',$,#1485); -#6357=SHAPE_DEFINITION_REPRESENTATION(#6356,#6358); -#6358=SHAPE_REPRESENTATION('',(#1486),#5975); -#6359=PRODUCT_DEFINITION_SHAPE('',$,#1489); -#6360=SHAPE_DEFINITION_REPRESENTATION(#6359,#6361); -#6361=SHAPE_REPRESENTATION('',(#1490),#5975); -#6362=PRODUCT_DEFINITION_SHAPE('',$,#1493); -#6363=SHAPE_DEFINITION_REPRESENTATION(#6362,#6364); -#6364=SHAPE_REPRESENTATION('',(#1494),#5975); -#6365=PRODUCT_DEFINITION_SHAPE('',$,#1497); -#6366=SHAPE_DEFINITION_REPRESENTATION(#6365,#6367); -#6367=SHAPE_REPRESENTATION('',(#1498),#5975); -#6368=PRODUCT_DEFINITION_SHAPE('',$,#1501); -#6369=SHAPE_DEFINITION_REPRESENTATION(#6368,#6370); -#6370=SHAPE_REPRESENTATION('',(#1502),#5975); -#6371=PRODUCT_DEFINITION_SHAPE('',$,#1505); -#6372=SHAPE_DEFINITION_REPRESENTATION(#6371,#6373); -#6373=SHAPE_REPRESENTATION('',(#1506),#5975); -#6374=PRODUCT_DEFINITION_SHAPE('',$,#1509); -#6375=SHAPE_DEFINITION_REPRESENTATION(#6374,#6376); -#6376=SHAPE_REPRESENTATION('',(#1510),#5975); -#6377=PRODUCT_DEFINITION_SHAPE('',$,#1513); -#6378=SHAPE_DEFINITION_REPRESENTATION(#6377,#6379); -#6379=SHAPE_REPRESENTATION('',(#1514),#5975); -#6380=PRODUCT_DEFINITION_SHAPE('',$,#1517); -#6381=SHAPE_DEFINITION_REPRESENTATION(#6380,#6382); -#6382=SHAPE_REPRESENTATION('',(#1518),#5975); -#6383=PRODUCT_DEFINITION_SHAPE('',$,#1521); -#6384=SHAPE_DEFINITION_REPRESENTATION(#6383,#6385); -#6385=SHAPE_REPRESENTATION('',(#1522),#5975); -#6386=PRODUCT_DEFINITION_SHAPE('',$,#1525); -#6387=SHAPE_DEFINITION_REPRESENTATION(#6386,#6388); -#6388=SHAPE_REPRESENTATION('',(#1526),#5975); -#6389=PRODUCT_DEFINITION_SHAPE('',$,#1529); -#6390=SHAPE_DEFINITION_REPRESENTATION(#6389,#6391); -#6391=SHAPE_REPRESENTATION('',(#1530),#5975); -#6392=REPRESENTATION_MAP(#26,#1546); -#6393=PRODUCT_DEFINITION_SHAPE('',$,#1551); -#6394=SHAPE_DEFINITION_REPRESENTATION(#6393,#6395); -#6395=SHAPE_REPRESENTATION('',(#1552),#5975); -#6396=REPRESENTATION_MAP(#26,#1558); -#6397=PRODUCT_DEFINITION_SHAPE('',$,#1560); -#6398=SHAPE_DEFINITION_REPRESENTATION(#6397,#6399); -#6399=SHAPE_REPRESENTATION('',(#1561),#5975); -#6400=REPRESENTATION_MAP(#26,#1573); -#6401=PRODUCT_DEFINITION_SHAPE('',$,#1575); -#6402=SHAPE_DEFINITION_REPRESENTATION(#6401,#6403); -#6403=SHAPE_REPRESENTATION('',(#1576),#5975); -#6404=REPRESENTATION_MAP(#26,#1588); -#6405=PRODUCT_DEFINITION_SHAPE('',$,#1590); -#6406=SHAPE_DEFINITION_REPRESENTATION(#6405,#6407); -#6407=SHAPE_REPRESENTATION('',(#1591),#5975); -#6408=PRODUCT_DEFINITION_SHAPE('',$,#1594); -#6409=SHAPE_DEFINITION_REPRESENTATION(#6408,#6410); -#6410=SHAPE_REPRESENTATION('',(#1595),#5975); -#6411=PRODUCT_DEFINITION_SHAPE('',$,#1598); -#6412=SHAPE_DEFINITION_REPRESENTATION(#6411,#6413); -#6413=SHAPE_REPRESENTATION('',(#1599),#5975); -#6414=PRODUCT_DEFINITION_SHAPE('',$,#1602); -#6415=SHAPE_DEFINITION_REPRESENTATION(#6414,#6416); -#6416=SHAPE_REPRESENTATION('',(#1603),#5975); -#6417=PRODUCT_DEFINITION_SHAPE('',$,#1606); -#6418=SHAPE_DEFINITION_REPRESENTATION(#6417,#6419); -#6419=SHAPE_REPRESENTATION('',(#1607),#5975); -#6420=PRODUCT_DEFINITION_SHAPE('',$,#1610); -#6421=SHAPE_DEFINITION_REPRESENTATION(#6420,#6422); -#6422=SHAPE_REPRESENTATION('',(#1611),#5975); -#6423=PRODUCT_DEFINITION_SHAPE('',$,#1614); -#6424=SHAPE_DEFINITION_REPRESENTATION(#6423,#6425); -#6425=SHAPE_REPRESENTATION('',(#1615),#5975); -#6426=REPRESENTATION_MAP(#26,#1624); -#6427=PRODUCT_DEFINITION_SHAPE('',$,#1627); -#6428=SHAPE_DEFINITION_REPRESENTATION(#6427,#6429); -#6429=SHAPE_REPRESENTATION('',(#1628),#5975); -#6430=PRODUCT_DEFINITION_SHAPE('',$,#1631); -#6431=SHAPE_DEFINITION_REPRESENTATION(#6430,#6432); -#6432=SHAPE_REPRESENTATION('',(#1632),#5975); -#6433=PRODUCT_DEFINITION_SHAPE('',$,#1635); -#6434=SHAPE_DEFINITION_REPRESENTATION(#6433,#6435); -#6435=SHAPE_REPRESENTATION('',(#1636),#5975); -#6436=PRODUCT_DEFINITION_SHAPE('',$,#1639); -#6437=SHAPE_DEFINITION_REPRESENTATION(#6436,#6438); -#6438=SHAPE_REPRESENTATION('',(#1640),#5975); -#6439=PRODUCT_DEFINITION_SHAPE('',$,#1643); -#6440=SHAPE_DEFINITION_REPRESENTATION(#6439,#6441); -#6441=SHAPE_REPRESENTATION('',(#1644),#5975); -#6442=PRODUCT_DEFINITION_SHAPE('',$,#1647); -#6443=SHAPE_DEFINITION_REPRESENTATION(#6442,#6444); -#6444=SHAPE_REPRESENTATION('',(#1648),#5975); -#6445=PRODUCT_DEFINITION_SHAPE('',$,#1651); -#6446=SHAPE_DEFINITION_REPRESENTATION(#6445,#6447); -#6447=SHAPE_REPRESENTATION('',(#1652),#5975); -#6448=PRODUCT_DEFINITION_SHAPE('',$,#1655); -#6449=SHAPE_DEFINITION_REPRESENTATION(#6448,#6450); -#6450=SHAPE_REPRESENTATION('',(#1656),#5975); -#6451=PRODUCT_DEFINITION_SHAPE('',$,#1659); -#6452=SHAPE_DEFINITION_REPRESENTATION(#6451,#6453); -#6453=SHAPE_REPRESENTATION('',(#1660),#5975); -#6454=PRODUCT_DEFINITION_SHAPE('',$,#1663); -#6455=SHAPE_DEFINITION_REPRESENTATION(#6454,#6456); -#6456=SHAPE_REPRESENTATION('',(#1664),#5975); -#6457=PRODUCT_DEFINITION_SHAPE('',$,#1667); -#6458=SHAPE_DEFINITION_REPRESENTATION(#6457,#6459); -#6459=SHAPE_REPRESENTATION('',(#1668),#5975); -#6460=PRODUCT_DEFINITION_SHAPE('',$,#1671); -#6461=SHAPE_DEFINITION_REPRESENTATION(#6460,#6462); -#6462=SHAPE_REPRESENTATION('',(#1672),#5975); -#6463=REPRESENTATION_MAP(#26,#1688); -#6464=PRODUCT_DEFINITION_SHAPE('',$,#1693); -#6465=SHAPE_DEFINITION_REPRESENTATION(#6464,#6466); -#6466=SHAPE_REPRESENTATION('',(#1694),#5975); -#6467=REPRESENTATION_MAP(#26,#1700); -#6468=PRODUCT_DEFINITION_SHAPE('',$,#1702); -#6469=SHAPE_DEFINITION_REPRESENTATION(#6468,#6470); -#6470=SHAPE_REPRESENTATION('',(#1703),#5975); -#6471=REPRESENTATION_MAP(#26,#1715); -#6472=PRODUCT_DEFINITION_SHAPE('',$,#1717); -#6473=SHAPE_DEFINITION_REPRESENTATION(#6472,#6474); -#6474=SHAPE_REPRESENTATION('',(#1718),#5975); -#6475=REPRESENTATION_MAP(#26,#1730); -#6476=PRODUCT_DEFINITION_SHAPE('',$,#1732); -#6477=SHAPE_DEFINITION_REPRESENTATION(#6476,#6478); -#6478=SHAPE_REPRESENTATION('',(#1733),#5975); -#6479=PRODUCT_DEFINITION_SHAPE('',$,#1736); -#6480=SHAPE_DEFINITION_REPRESENTATION(#6479,#6481); -#6481=SHAPE_REPRESENTATION('',(#1737),#5975); -#6482=PRODUCT_DEFINITION_SHAPE('',$,#1740); -#6483=SHAPE_DEFINITION_REPRESENTATION(#6482,#6484); -#6484=SHAPE_REPRESENTATION('',(#1741),#5975); -#6485=PRODUCT_DEFINITION_SHAPE('',$,#1744); -#6486=SHAPE_DEFINITION_REPRESENTATION(#6485,#6487); -#6487=SHAPE_REPRESENTATION('',(#1745),#5975); -#6488=PRODUCT_DEFINITION_SHAPE('',$,#1748); -#6489=SHAPE_DEFINITION_REPRESENTATION(#6488,#6490); -#6490=SHAPE_REPRESENTATION('',(#1749),#5975); -#6491=PRODUCT_DEFINITION_SHAPE('',$,#1752); -#6492=SHAPE_DEFINITION_REPRESENTATION(#6491,#6493); -#6493=SHAPE_REPRESENTATION('',(#1753),#5975); -#6494=PRODUCT_DEFINITION_SHAPE('',$,#1756); -#6495=SHAPE_DEFINITION_REPRESENTATION(#6494,#6496); -#6496=SHAPE_REPRESENTATION('',(#1757),#5975); -#6497=REPRESENTATION_MAP(#26,#1766); -#6498=PRODUCT_DEFINITION_SHAPE('',$,#1769); -#6499=SHAPE_DEFINITION_REPRESENTATION(#6498,#6500); -#6500=SHAPE_REPRESENTATION('',(#1770),#5975); -#6501=PRODUCT_DEFINITION_SHAPE('',$,#1773); -#6502=SHAPE_DEFINITION_REPRESENTATION(#6501,#6503); -#6503=SHAPE_REPRESENTATION('',(#1774),#5975); -#6504=PRODUCT_DEFINITION_SHAPE('',$,#1777); -#6505=SHAPE_DEFINITION_REPRESENTATION(#6504,#6506); -#6506=SHAPE_REPRESENTATION('',(#1778),#5975); -#6507=PRODUCT_DEFINITION_SHAPE('',$,#1781); -#6508=SHAPE_DEFINITION_REPRESENTATION(#6507,#6509); -#6509=SHAPE_REPRESENTATION('',(#1782),#5975); -#6510=PRODUCT_DEFINITION_SHAPE('',$,#1785); -#6511=SHAPE_DEFINITION_REPRESENTATION(#6510,#6512); -#6512=SHAPE_REPRESENTATION('',(#1786),#5975); -#6513=PRODUCT_DEFINITION_SHAPE('',$,#1789); -#6514=SHAPE_DEFINITION_REPRESENTATION(#6513,#6515); -#6515=SHAPE_REPRESENTATION('',(#1790),#5975); -#6516=PRODUCT_DEFINITION_SHAPE('',$,#1793); -#6517=SHAPE_DEFINITION_REPRESENTATION(#6516,#6518); -#6518=SHAPE_REPRESENTATION('',(#1794),#5975); -#6519=PRODUCT_DEFINITION_SHAPE('',$,#1797); -#6520=SHAPE_DEFINITION_REPRESENTATION(#6519,#6521); -#6521=SHAPE_REPRESENTATION('',(#1798),#5975); -#6522=PRODUCT_DEFINITION_SHAPE('',$,#1801); -#6523=SHAPE_DEFINITION_REPRESENTATION(#6522,#6524); -#6524=SHAPE_REPRESENTATION('',(#1802),#5975); -#6525=PRODUCT_DEFINITION_SHAPE('',$,#1805); -#6526=SHAPE_DEFINITION_REPRESENTATION(#6525,#6527); -#6527=SHAPE_REPRESENTATION('',(#1806),#5975); -#6528=PRODUCT_DEFINITION_SHAPE('',$,#1809); -#6529=SHAPE_DEFINITION_REPRESENTATION(#6528,#6530); -#6530=SHAPE_REPRESENTATION('',(#1810),#5975); -#6531=PRODUCT_DEFINITION_SHAPE('',$,#1813); -#6532=SHAPE_DEFINITION_REPRESENTATION(#6531,#6533); -#6533=SHAPE_REPRESENTATION('',(#1814),#5975); -#6534=REPRESENTATION_MAP(#26,#1823); -#6535=PRODUCT_DEFINITION_SHAPE('',$,#1839); -#6536=SHAPE_DEFINITION_REPRESENTATION(#6535,#6537); -#6537=SHAPE_REPRESENTATION('',(#1840),#5975); -#6538=REPRESENTATION_MAP(#26,#1846); -#6539=PRODUCT_DEFINITION_SHAPE('',$,#1848); -#6540=SHAPE_DEFINITION_REPRESENTATION(#6539,#6541); -#6541=SHAPE_REPRESENTATION('',(#1849),#5975); -#6542=REPRESENTATION_MAP(#26,#1858); -#6543=PRODUCT_DEFINITION_SHAPE('',$,#1860); -#6544=SHAPE_DEFINITION_REPRESENTATION(#6543,#6545); -#6545=SHAPE_REPRESENTATION('',(#1861),#5975); -#6546=REPRESENTATION_MAP(#26,#1870); -#6547=PRODUCT_DEFINITION_SHAPE('',$,#1872); -#6548=SHAPE_DEFINITION_REPRESENTATION(#6547,#6549); -#6549=SHAPE_REPRESENTATION('',(#1873),#5975); -#6550=PRODUCT_DEFINITION_SHAPE('',$,#1876); -#6551=SHAPE_DEFINITION_REPRESENTATION(#6550,#6552); -#6552=SHAPE_REPRESENTATION('',(#1877),#5975); -#6553=PRODUCT_DEFINITION_SHAPE('',$,#1880); -#6554=SHAPE_DEFINITION_REPRESENTATION(#6553,#6555); -#6555=SHAPE_REPRESENTATION('',(#1881),#5975); -#6556=PRODUCT_DEFINITION_SHAPE('',$,#1884); -#6557=SHAPE_DEFINITION_REPRESENTATION(#6556,#6558); -#6558=SHAPE_REPRESENTATION('',(#1885),#5975); -#6559=PRODUCT_DEFINITION_SHAPE('',$,#1888); -#6560=SHAPE_DEFINITION_REPRESENTATION(#6559,#6561); -#6561=SHAPE_REPRESENTATION('',(#1889),#5975); -#6562=PRODUCT_DEFINITION_SHAPE('',$,#1892); -#6563=SHAPE_DEFINITION_REPRESENTATION(#6562,#6564); -#6564=SHAPE_REPRESENTATION('',(#1893),#5975); -#6565=PRODUCT_DEFINITION_SHAPE('',$,#1896); -#6566=SHAPE_DEFINITION_REPRESENTATION(#6565,#6567); -#6567=SHAPE_REPRESENTATION('',(#1897),#5975); -#6568=REPRESENTATION_MAP(#26,#1906); -#6569=PRODUCT_DEFINITION_SHAPE('',$,#1909); -#6570=SHAPE_DEFINITION_REPRESENTATION(#6569,#6571); -#6571=SHAPE_REPRESENTATION('',(#1910),#5975); -#6572=PRODUCT_DEFINITION_SHAPE('',$,#1913); -#6573=SHAPE_DEFINITION_REPRESENTATION(#6572,#6574); -#6574=SHAPE_REPRESENTATION('',(#1914),#5975); -#6575=PRODUCT_DEFINITION_SHAPE('',$,#1917); -#6576=SHAPE_DEFINITION_REPRESENTATION(#6575,#6577); -#6577=SHAPE_REPRESENTATION('',(#1918),#5975); -#6578=PRODUCT_DEFINITION_SHAPE('',$,#1921); -#6579=SHAPE_DEFINITION_REPRESENTATION(#6578,#6580); -#6580=SHAPE_REPRESENTATION('',(#1922),#5975); -#6581=PRODUCT_DEFINITION_SHAPE('',$,#1925); -#6582=SHAPE_DEFINITION_REPRESENTATION(#6581,#6583); -#6583=SHAPE_REPRESENTATION('',(#1926),#5975); -#6584=PRODUCT_DEFINITION_SHAPE('',$,#1929); -#6585=SHAPE_DEFINITION_REPRESENTATION(#6584,#6586); -#6586=SHAPE_REPRESENTATION('',(#1930),#5975); -#6587=PRODUCT_DEFINITION_SHAPE('',$,#1933); -#6588=SHAPE_DEFINITION_REPRESENTATION(#6587,#6589); -#6589=SHAPE_REPRESENTATION('',(#1934),#5975); -#6590=PRODUCT_DEFINITION_SHAPE('',$,#1937); -#6591=SHAPE_DEFINITION_REPRESENTATION(#6590,#6592); -#6592=SHAPE_REPRESENTATION('',(#1938),#5975); -#6593=PRODUCT_DEFINITION_SHAPE('',$,#1941); -#6594=SHAPE_DEFINITION_REPRESENTATION(#6593,#6595); -#6595=SHAPE_REPRESENTATION('',(#1942),#5975); -#6596=PRODUCT_DEFINITION_SHAPE('',$,#1945); -#6597=SHAPE_DEFINITION_REPRESENTATION(#6596,#6598); -#6598=SHAPE_REPRESENTATION('',(#1946),#5975); -#6599=PRODUCT_DEFINITION_SHAPE('',$,#1949); -#6600=SHAPE_DEFINITION_REPRESENTATION(#6599,#6601); -#6601=SHAPE_REPRESENTATION('',(#1950),#5975); -#6602=PRODUCT_DEFINITION_SHAPE('',$,#1953); -#6603=SHAPE_DEFINITION_REPRESENTATION(#6602,#6604); -#6604=SHAPE_REPRESENTATION('',(#1954),#5975); -#6605=REPRESENTATION_MAP(#26,#863); -#6606=PRODUCT_DEFINITION_SHAPE('',$,#1990); -#6607=SHAPE_DEFINITION_REPRESENTATION(#6606,#6608); -#6608=SHAPE_REPRESENTATION('',(#1991),#5975); -#6609=PRODUCT_DEFINITION_SHAPE('',$,#1997); -#6610=SHAPE_DEFINITION_REPRESENTATION(#6609,#6611); -#6611=SHAPE_REPRESENTATION('',(#1998),#5975); -#6612=PRODUCT_DEFINITION_SHAPE('',$,#2019); -#6613=SHAPE_DEFINITION_REPRESENTATION(#6612,#6614); -#6614=SHAPE_REPRESENTATION('',(#2020),#5975); -#6615=PRODUCT_DEFINITION_SHAPE('',$,#2026); -#6616=SHAPE_DEFINITION_REPRESENTATION(#6615,#6617); -#6617=SHAPE_REPRESENTATION('',(#2027),#5975); -#6618=PRODUCT_DEFINITION_SHAPE('',$,#2062); -#6619=SHAPE_DEFINITION_REPRESENTATION(#6618,#6620); -#6620=SHAPE_REPRESENTATION('',(#2063),#5975); -#6621=PRODUCT_DEFINITION_SHAPE('',$,#2069); -#6622=SHAPE_DEFINITION_REPRESENTATION(#6621,#6623); -#6623=SHAPE_REPRESENTATION('',(#2070),#5975); -#6624=PRODUCT_DEFINITION_SHAPE('',$,#2106); -#6625=SHAPE_DEFINITION_REPRESENTATION(#6624,#6626); -#6626=SHAPE_REPRESENTATION('',(#2107),#5975); -#6627=PRODUCT_DEFINITION_SHAPE('',$,#2112); -#6628=SHAPE_DEFINITION_REPRESENTATION(#6627,#6629); -#6629=SHAPE_REPRESENTATION('',(#2113),#5975); -#6630=REPRESENTATION_MAP(#26,#1127); -#6631=PRODUCT_DEFINITION_SHAPE('',$,#2190); -#6632=SHAPE_DEFINITION_REPRESENTATION(#6631,#6633); -#6633=SHAPE_REPRESENTATION('',(#2191),#5975); -#6634=PRODUCT_DEFINITION_SHAPE('',$,#2197); -#6635=SHAPE_DEFINITION_REPRESENTATION(#6634,#6636); -#6636=SHAPE_REPRESENTATION('',(#2198),#5975); -#6637=PRODUCT_DEFINITION_SHAPE('',$,#2204); -#6638=SHAPE_DEFINITION_REPRESENTATION(#6637,#6639); -#6639=SHAPE_REPRESENTATION('',(#2205),#5975); -#6640=PRODUCT_DEFINITION_SHAPE('',$,#2211); -#6641=SHAPE_DEFINITION_REPRESENTATION(#6640,#6642); -#6642=SHAPE_REPRESENTATION('',(#2212),#5975); -#6643=PRODUCT_DEFINITION_SHAPE('',$,#2218); -#6644=SHAPE_DEFINITION_REPRESENTATION(#6643,#6645); -#6645=SHAPE_REPRESENTATION('',(#2219),#5975); -#6646=PRODUCT_DEFINITION_SHAPE('',$,#2225); -#6647=SHAPE_DEFINITION_REPRESENTATION(#6646,#6648); -#6648=SHAPE_REPRESENTATION('',(#2226),#5975); -#6649=PRODUCT_DEFINITION_SHAPE('',$,#2232); -#6650=SHAPE_DEFINITION_REPRESENTATION(#6649,#6651); -#6651=SHAPE_REPRESENTATION('',(#2233),#5975); -#6652=PRODUCT_DEFINITION_SHAPE('',$,#2239); -#6653=SHAPE_DEFINITION_REPRESENTATION(#6652,#6654); -#6654=SHAPE_REPRESENTATION('',(#2240),#5975); -#6655=PRODUCT_DEFINITION_SHAPE('',$,#2318); -#6656=SHAPE_DEFINITION_REPRESENTATION(#6655,#6657); -#6657=SHAPE_REPRESENTATION('',(#2319),#5975); -#6658=PRODUCT_DEFINITION_SHAPE('',$,#2325); -#6659=SHAPE_DEFINITION_REPRESENTATION(#6658,#6660); -#6660=SHAPE_REPRESENTATION('',(#2326),#5975); -#6661=PRODUCT_DEFINITION_SHAPE('',$,#2332); -#6662=SHAPE_DEFINITION_REPRESENTATION(#6661,#6663); -#6663=SHAPE_REPRESENTATION('',(#2333),#5975); -#6664=PRODUCT_DEFINITION_SHAPE('',$,#2339); -#6665=SHAPE_DEFINITION_REPRESENTATION(#6664,#6666); -#6666=SHAPE_REPRESENTATION('',(#2340),#5975); -#6667=PRODUCT_DEFINITION_SHAPE('',$,#2346); -#6668=SHAPE_DEFINITION_REPRESENTATION(#6667,#6669); -#6669=SHAPE_REPRESENTATION('',(#2347),#5975); -#6670=PRODUCT_DEFINITION_SHAPE('',$,#2353); -#6671=SHAPE_DEFINITION_REPRESENTATION(#6670,#6672); -#6672=SHAPE_REPRESENTATION('',(#2354),#5975); -#6673=PRODUCT_DEFINITION_SHAPE('',$,#2360); -#6674=SHAPE_DEFINITION_REPRESENTATION(#6673,#6675); -#6675=SHAPE_REPRESENTATION('',(#2361),#5975); -#6676=PRODUCT_DEFINITION_SHAPE('',$,#2366); -#6677=SHAPE_DEFINITION_REPRESENTATION(#6676,#6678); -#6678=SHAPE_REPRESENTATION('',(#2367),#5975); -#6679=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3041,#3562,#3564); -#6680=PROPERTY_DEFINITION_REPRESENTATION(#3041,#3036); -#6682=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1822,#3562,#3564); -#6683=ID_ATTRIBUTE('1',#1822); -#6684=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1828,#1822); -#6685=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#89,#346); -#6686=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#122,#365); -#6687=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#147,#384); -#6688=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#184,#412); -#6689=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#221,#458); -#6690=NAME_ATTRIBUTE('single instance',#703); -#6691=PROPERTY_DEFINITION('','',#703); -#6692=REPRESENTATION('',(#3647),#3475); -#6693=PROPERTY_DEFINITION_REPRESENTATION(#6691,#6692); -#6694=PROPERTY_DEFINITION('explicitly created','false',#703); -#6695=PROPERTY_DEFINITION('is base','true',#703); -#6696=NAME_ATTRIBUTE('single instance',#714); -#6697=PROPERTY_DEFINITION('','',#714); -#6698=REPRESENTATION('',(#3647),#3475); -#6699=PROPERTY_DEFINITION_REPRESENTATION(#6697,#6698); -#6700=PROPERTY_DEFINITION('explicitly created','false',#714); -#6701=PROPERTY_DEFINITION('is base','true',#714); -#6702=NAME_ATTRIBUTE('single instance',#716); -#6703=PROPERTY_DEFINITION('','',#716); -#6704=REPRESENTATION('',(#3647),#3475); -#6705=PROPERTY_DEFINITION_REPRESENTATION(#6703,#6704); -#6706=PROPERTY_DEFINITION('explicitly created','false',#716); -#6707=PROPERTY_DEFINITION('is base','true',#716); -#6708=NAME_ATTRIBUTE('single instance',#718); -#6709=PROPERTY_DEFINITION('','',#718); -#6710=REPRESENTATION('',(#3647),#3475); -#6711=PROPERTY_DEFINITION_REPRESENTATION(#6709,#6710); -#6712=PROPERTY_DEFINITION('explicitly created','false',#718); -#6713=PROPERTY_DEFINITION('is base','true',#718); -#6714=NAME_ATTRIBUTE('single instance',#720); -#6715=PROPERTY_DEFINITION('','',#720); -#6716=REPRESENTATION('',(#3647),#3475); -#6717=PROPERTY_DEFINITION_REPRESENTATION(#6715,#6716); -#6718=PROPERTY_DEFINITION('explicitly created','false',#720); -#6719=PROPERTY_DEFINITION('is base','true',#720); -#6720=NAME_ATTRIBUTE('single instance',#722); -#6721=PROPERTY_DEFINITION('','',#722); -#6722=REPRESENTATION('',(#3647),#3475); -#6723=PROPERTY_DEFINITION_REPRESENTATION(#6721,#6722); -#6724=PROPERTY_DEFINITION('explicitly created','false',#722); -#6725=PROPERTY_DEFINITION('is base','true',#722); -#6726=NAME_ATTRIBUTE('single instance',#2547); -#6727=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2540,#871,$,'',$,#2547,*); -#6728=PROPERTY_DEFINITION('',$,#6727); -#6729=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#6728); -#6730=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6728); -#6731=PROPERTY_DEFINITION('feature of size','true',#2547); -#6732=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2547); -#6733=NAME_ATTRIBUTE('single instance',#2552); -#6734=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2540,#871,$,'',$,#2552,*); -#6735=PROPERTY_DEFINITION('',$,#6734); -#6736=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#6735); -#6737=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6735); -#6738=PROPERTY_DEFINITION('feature of size','true',#2552); -#6739=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2552); -#6740=NAME_ATTRIBUTE('single instance',#2577); -#6741=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2571,#871,$,'',$,#2577,*); -#6742=PROPERTY_DEFINITION('',$,#6741); -#6743=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6621,#6742); -#6744=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6742); -#6745=PROPERTY_DEFINITION('feature of size','true',#2577); -#6746=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2577); -#6747=NAME_ATTRIBUTE('single instance',#2582); -#6748=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2571,#871,$,'',$,#2582,*); -#6749=PROPERTY_DEFINITION('',$,#6748); -#6750=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6618,#6749); -#6751=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6749); -#6752=PROPERTY_DEFINITION('feature of size','true',#2582); -#6753=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2582); -#6754=NAME_ATTRIBUTE('single instance',#2607); -#6755=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2601,#871,$,'',$,#2607,*); -#6756=PROPERTY_DEFINITION('',$,#6755); -#6757=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#6756); -#6758=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6756); -#6759=PROPERTY_DEFINITION('feature of size','true',#2607); -#6760=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2607); -#6761=NAME_ATTRIBUTE('single instance',#2612); -#6762=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2601,#871,$,'',$,#2612,*); -#6763=PROPERTY_DEFINITION('',$,#6762); -#6764=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#6763); -#6765=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6763); -#6766=PROPERTY_DEFINITION('feature of size','true',#2612); -#6767=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2612); -#6768=NAME_ATTRIBUTE('single instance',#2637); -#6769=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2631,#871,$,'',$,#2637,*); -#6770=PROPERTY_DEFINITION('',$,#6769); -#6771=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6615,#6770); -#6772=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6770); -#6773=PROPERTY_DEFINITION('feature of size','true',#2637); -#6774=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2637); -#6775=NAME_ATTRIBUTE('single instance',#2642); -#6776=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2631,#871,$,'',$,#2642,*); -#6777=PROPERTY_DEFINITION('',$,#6776); -#6778=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6612,#6777); -#6779=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6777); -#6780=PROPERTY_DEFINITION('feature of size','true',#2642); -#6781=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2642); -#6782=NAME_ATTRIBUTE('single instance',#2667); -#6783=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2661,#871,$,'',$,#2667,*); -#6784=PROPERTY_DEFINITION('',$,#6783); -#6785=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6609,#6784); -#6786=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6784); -#6787=PROPERTY_DEFINITION('feature of size','true',#2667); -#6788=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2667); -#6789=NAME_ATTRIBUTE('single instance',#2672); -#6790=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2661,#871,$,'',$,#2672,*); -#6791=PROPERTY_DEFINITION('',$,#6790); -#6792=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6606,#6791); -#6793=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6791); -#6794=PROPERTY_DEFINITION('feature of size','true',#2672); -#6795=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2672); -#6796=NAME_ATTRIBUTE('single instance',#2697); -#6797=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2691,#871,$,'',$,#2697,*); -#6798=PROPERTY_DEFINITION('',$,#6797); -#6799=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6621,#6798); -#6800=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6798); -#6801=PROPERTY_DEFINITION('feature of size','true',#2697); -#6802=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2697); -#6803=NAME_ATTRIBUTE('single instance',#2702); -#6804=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2691,#871,$,'',$,#2702,*); -#6805=PROPERTY_DEFINITION('',$,#6804); -#6806=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6618,#6805); -#6807=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6805); -#6808=PROPERTY_DEFINITION('feature of size','true',#2702); -#6809=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2702); -#6810=NAME_ATTRIBUTE('single instance',#2727); -#6811=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2721,#871,$,'',$,#2727,*); -#6812=PROPERTY_DEFINITION('',$,#6811); -#6813=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#6812); -#6814=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6812); -#6815=PROPERTY_DEFINITION('feature of size','true',#2727); -#6816=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2727); -#6817=NAME_ATTRIBUTE('single instance',#2732); -#6818=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2721,#871,$,'',$,#2732,*); -#6819=PROPERTY_DEFINITION('',$,#6818); -#6820=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#6819); -#6821=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6819); -#6822=PROPERTY_DEFINITION('feature of size','true',#2732); -#6823=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2732); -#6824=NAME_ATTRIBUTE('single instance',#2757); -#6825=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#871,$,'',$,#2757,*); -#6826=PROPERTY_DEFINITION('',$,#6825); -#6827=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6652,#6826); -#6828=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6826); -#6829=PROPERTY_DEFINITION('feature of size','true',#2757); -#6830=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2757); -#6831=NAME_ATTRIBUTE('single instance',#2762); -#6832=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#871,$,'',$,#2762,*); -#6833=PROPERTY_DEFINITION('',$,#6832); -#6834=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6649,#6833); -#6835=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6833); -#6836=PROPERTY_DEFINITION('feature of size','true',#2762); -#6837=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2762); -#6838=NAME_ATTRIBUTE('single instance',#2767); -#6839=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#871,$,'',$,#2767,*); -#6840=PROPERTY_DEFINITION('',$,#6839); -#6841=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6646,#6840); -#6842=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6840); -#6843=PROPERTY_DEFINITION('feature of size','true',#2767); -#6844=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2767); -#6845=NAME_ATTRIBUTE('single instance',#2772); -#6846=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#871,$,'',$,#2772,*); -#6847=PROPERTY_DEFINITION('',$,#6846); -#6848=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6643,#6847); -#6849=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6847); -#6850=PROPERTY_DEFINITION('feature of size','true',#2772); -#6851=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2772); -#6852=NAME_ATTRIBUTE('single instance',#2777); -#6853=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#871,$,'',$,#2777,*); -#6854=PROPERTY_DEFINITION('',$,#6853); -#6855=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6640,#6854); -#6856=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6854); -#6857=PROPERTY_DEFINITION('feature of size','true',#2777); -#6858=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2777); -#6859=NAME_ATTRIBUTE('single instance',#2782); -#6860=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#871,$,'',$,#2782,*); -#6861=PROPERTY_DEFINITION('',$,#6860); -#6862=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6637,#6861); -#6863=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6861); -#6864=PROPERTY_DEFINITION('feature of size','true',#2782); -#6865=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2782); -#6866=NAME_ATTRIBUTE('single instance',#2787); -#6867=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#871,$,'',$,#2787,*); -#6868=PROPERTY_DEFINITION('',$,#6867); -#6869=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6634,#6868); -#6870=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6868); -#6871=PROPERTY_DEFINITION('feature of size','true',#2787); -#6872=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2787); -#6873=NAME_ATTRIBUTE('single instance',#2792); -#6874=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#1131,$,'',$,#2792,*); -#6875=PROPERTY_DEFINITION('',$,#6874); -#6876=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6631,#6875); -#6877=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6181,#6875); -#6878=PROPERTY_DEFINITION('feature of size','true',#2792); -#6879=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2792); -#6880=NAME_ATTRIBUTE('single instance',#2865); -#6881=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2859,#871,$,'',$,#2865,*); -#6882=PROPERTY_DEFINITION('',$,#6881); -#6883=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#6882); -#6884=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6882); -#6885=PROPERTY_DEFINITION('feature of size','true',#2865); -#6886=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2865); -#6887=NAME_ATTRIBUTE('single instance',#2870); -#6888=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2859,#871,$,'',$,#2870,*); -#6889=PROPERTY_DEFINITION('',$,#6888); -#6890=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#6889); -#6891=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6042,#6889); -#6892=PROPERTY_DEFINITION('feature of size','true',#2870); -#6893=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2870); -#6894=NAME_ATTRIBUTE('single instance',#2896); -#6895=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2893,#871,$,'',$,#2896,*); -#6896=PROPERTY_DEFINITION('',$,#6895); -#6897=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6042,#6896); -#6898=PROPERTY_DEFINITION('feature of size','true',#2896); -#6899=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2896); -#6900=NAME_ATTRIBUTE('single instance',#2917); -#6901=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2914,#871,$,'',$,#2917,*); -#6902=PROPERTY_DEFINITION('',$,#6901); -#6903=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6042,#6902); -#6904=PROPERTY_DEFINITION('feature of size','true',#2917); -#6905=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2917); -#6906=NAME_ATTRIBUTE('single instance',#2938); -#6907=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2935,#871,$,'',$,#2938,*); -#6908=PROPERTY_DEFINITION('',$,#6907); -#6909=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6042,#6908); -#6910=PROPERTY_DEFINITION('feature of size','true',#2938); -#6911=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2938); -#6912=NAME_ATTRIBUTE('single instance',#2959); -#6913=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2956,#871,$,'',$,#2959,*); -#6914=PROPERTY_DEFINITION('',$,#6913); -#6915=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6042,#6914); -#6916=PROPERTY_DEFINITION('feature of size','true',#2959); -#6917=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2959); -#6918=NAME_ATTRIBUTE('single instance',#2980); -#6919=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2977,#871,$,'',$,#2980,*); -#6920=PROPERTY_DEFINITION('',$,#6919); -#6921=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6042,#6920); -#6922=PROPERTY_DEFINITION('feature of size','true',#2980); -#6923=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#2980); -#6924=NAME_ATTRIBUTE('single instance',#3001); -#6925=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2998,#871,$,'',$,#3001,*); -#6926=PROPERTY_DEFINITION('',$,#6925); -#6927=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6042,#6926); -#6928=PROPERTY_DEFINITION('feature of size','true',#3001); -#6929=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#3001); -#6930=NAME_ATTRIBUTE('single instance',#3022); -#6931=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3019,#871,$,'',$,#3022,*); -#6932=PROPERTY_DEFINITION('',$,#6931); -#6933=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6042,#6932); -#6934=PROPERTY_DEFINITION('feature of size','true',#3022); -#6935=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2546,#3022); -#6936=NAME_ATTRIBUTE('single instance',#3046); -#6937=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6938=SHAPE_REPRESENTATION('',(#3045),#6937); -#6939=SHAPE_ASPECT('',$,#3046,.U.); -#6940=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3055,#6939); -#6941=NAME_ATTRIBUTE('single instance',#3062); -#6942=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6943=SHAPE_REPRESENTATION('',(#3061),#6942); -#6944=SHAPE_ASPECT('',$,#3062,.U.); -#6945=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3071,#6944); -#6946=NAME_ATTRIBUTE('single instance',#3087); -#6947=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6948=SHAPE_REPRESENTATION('',(#3086),#6947); -#6949=SHAPE_ASPECT('',$,#3087,.U.); -#6950=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3124,#6949); -#6951=NAME_ATTRIBUTE('single instance',#3101); -#6952=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6953=SHAPE_REPRESENTATION('',(#3100),#6952); -#6954=SHAPE_ASPECT('',$,#3101,.U.); -#6955=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3124,#6954); -#6956=NAME_ATTRIBUTE('single instance',#3115); -#6957=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6958=SHAPE_REPRESENTATION('',(#3114),#6957); -#6959=SHAPE_ASPECT('',$,#3115,.U.); -#6960=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3124,#6959); -#6961=NAME_ATTRIBUTE('single instance',#3131); -#6962=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6963=SHAPE_REPRESENTATION('',(#3130),#6962); -#6964=SHAPE_ASPECT('',$,#3131,.U.); -#6965=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3140,#6964); -#6966=NAME_ATTRIBUTE('single instance',#3151); -#6967=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6968=SHAPE_REPRESENTATION('',(#3150),#6967); -#6969=SHAPE_ASPECT('',$,#3151,.U.); -#6970=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3160,#6969); -#6971=NAME_ATTRIBUTE('single instance',#3168); -#6972=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6973=SHAPE_REPRESENTATION('',(#3167),#6972); -#6974=SHAPE_ASPECT('',$,#3168,.U.); -#6975=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3177,#6974); -#6976=NAME_ATTRIBUTE('single instance',#3184); -#6977=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6978=SHAPE_REPRESENTATION('',(#3183),#6977); -#6979=SHAPE_ASPECT('',$,#3184,.U.); -#6980=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3207,#6979); -#6981=NAME_ATTRIBUTE('single instance',#3200); -#6982=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6983=SHAPE_REPRESENTATION('',(#3199),#6982); -#6984=SHAPE_ASPECT('',$,#3200,.U.); -#6985=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3207,#6984); -#6986=NAME_ATTRIBUTE('single instance',#3214); -#6987=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6988=SHAPE_REPRESENTATION('',(#3213),#6987); -#6989=SHAPE_ASPECT('',$,#3214,.U.); -#6990=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3223,#6989); -#6991=NAME_ATTRIBUTE('single instance',#3230); -#6992=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6993=SHAPE_REPRESENTATION('',(#3229),#6992); -#6994=SHAPE_ASPECT('',$,#3230,.U.); -#6995=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3239,#6994); -#6996=NAME_ATTRIBUTE('single instance',#3246); -#6997=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#6998=SHAPE_REPRESENTATION('',(#3245),#6997); -#6999=SHAPE_ASPECT('',$,#3246,.U.); -#7000=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3307,#6999); -#7001=NAME_ATTRIBUTE('single instance',#3263); -#7002=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#7003=SHAPE_REPRESENTATION('',(#3262),#7002); -#7004=SHAPE_ASPECT('',$,#3263,.U.); -#7005=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3307,#7004); -#7006=NAME_ATTRIBUTE('single instance',#3276); -#7007=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#7008=SHAPE_REPRESENTATION('',(#3275),#7007); -#7009=SHAPE_ASPECT('',$,#3276,.U.); -#7010=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3307,#7009); -#7011=NAME_ATTRIBUTE('single instance',#3287); -#7012=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#7013=SHAPE_REPRESENTATION('',(#3286),#7012); -#7014=SHAPE_ASPECT('',$,#3287,.U.); -#7015=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3307,#7014); -#7016=NAME_ATTRIBUTE('single instance',#3300); -#7017=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#7018=SHAPE_REPRESENTATION('',(#3299),#7017); -#7019=SHAPE_ASPECT('',$,#3300,.U.); -#7020=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3307,#7019); -#7021=NAME_ATTRIBUTE('single instance',#3314); -#7022=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#7023=SHAPE_REPRESENTATION('',(#3313),#7022); -#7024=SHAPE_ASPECT('',$,#3314,.U.); -#7025=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3368,#7024); -#7026=NAME_ATTRIBUTE('single instance',#3328); -#7027=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#7028=SHAPE_REPRESENTATION('',(#3327),#7027); -#7029=SHAPE_ASPECT('',$,#3328,.U.); -#7030=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3368,#7029); -#7031=NAME_ATTRIBUTE('single instance',#3339); -#7032=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#7033=SHAPE_REPRESENTATION('',(#3338),#7032); -#7034=SHAPE_ASPECT('',$,#3339,.U.); -#7035=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3368,#7034); -#7036=NAME_ATTRIBUTE('single instance',#3350); -#7037=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#7038=SHAPE_REPRESENTATION('',(#3349),#7037); -#7039=SHAPE_ASPECT('',$,#3350,.U.); -#7040=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3368,#7039); -#7041=NAME_ATTRIBUTE('single instance',#3361); -#7042=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#7043=SHAPE_REPRESENTATION('',(#3360),#7042); -#7044=SHAPE_ASPECT('',$,#3361,.U.); -#7045=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3368,#7044); -#7046=NAME_ATTRIBUTE('single instance',#2540); -#7047=NAME_ATTRIBUTE('single instance',#2571); -#7048=NAME_ATTRIBUTE('single instance',#2601); -#7049=NAME_ATTRIBUTE('single instance',#2631); -#7050=NAME_ATTRIBUTE('single instance',#2661); -#7051=NAME_ATTRIBUTE('single instance',#2691); -#7052=NAME_ATTRIBUTE('single instance',#2721); -#7053=NAME_ATTRIBUTE('single instance',#2751); -#7054=NAME_ATTRIBUTE('single instance',#2859); -#7055=NAME_ATTRIBUTE('single instance',#49); -#7056=PRODUCT_DEFINITION_CONTEXT('part occurrence',#3563,''); -#7057=NAME_ATTRIBUTE('single instance',#670); -#7058=PROPERTY_DEFINITION('feature of size','true',#670); -#7059=NAME_ATTRIBUTE('single instance',#2544); -#7060=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2540,#937,$,'',$,#2544,*); -#7061=PROPERTY_DEFINITION('',$,#7060); -#7062=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#7061); -#7063=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7061); -#7064=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2547,#2544); -#7065=SHAPE_ASPECT('',$,#2544,.U.); -#7066=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3368,#7065); -#7067=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2544); -#7068=NAME_ATTRIBUTE('single instance',#2545); -#7069=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2540,#937,$,'',$,#2545,*); -#7070=PROPERTY_DEFINITION('',$,#7069); -#7071=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#7070); -#7072=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7070); -#7073=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2547,#2545); -#7074=SHAPE_ASPECT('',$,#2545,.U.); -#7075=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3379,#7074); -#7076=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2545); -#7077=NAME_ATTRIBUTE('single instance',#2550); -#7078=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2540,#937,$,'',$,#2550,*); -#7079=PROPERTY_DEFINITION('',$,#7078); -#7080=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#7079); -#7081=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7079); -#7082=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2552,#2550); -#7083=SHAPE_ASPECT('',$,#2550,.U.); -#7084=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3378,#7083); -#7085=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2550); -#7086=NAME_ATTRIBUTE('single instance',#2551); -#7087=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2540,#937,$,'',$,#2551,*); -#7088=PROPERTY_DEFINITION('',$,#7087); -#7089=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#7088); -#7090=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7088); -#7091=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2552,#2551); -#7092=SHAPE_ASPECT('',$,#2551,.U.); -#7093=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3055,#7092); -#7094=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2551); -#7095=NAME_ATTRIBUTE('single instance',#2575); -#7096=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2571,#937,$,'',$,#2575,*); -#7097=PROPERTY_DEFINITION('',$,#7096); -#7098=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6621,#7097); -#7099=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7097); -#7100=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2577,#2575); -#7101=SHAPE_ASPECT('',$,#2575,.U.); -#7102=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3380,#7101); -#7103=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2575); -#7104=NAME_ATTRIBUTE('single instance',#2576); -#7105=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2571,#937,$,'',$,#2576,*); -#7106=PROPERTY_DEFINITION('',$,#7105); -#7107=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6621,#7106); -#7108=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7106); -#7109=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2577,#2576); -#7110=SHAPE_ASPECT('',$,#2576,.U.); -#7111=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3124,#7110); -#7112=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2576); -#7113=NAME_ATTRIBUTE('single instance',#2580); -#7114=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2571,#937,$,'',$,#2580,*); -#7115=PROPERTY_DEFINITION('',$,#7114); -#7116=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6618,#7115); -#7117=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7115); -#7118=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2582,#2580); -#7119=SHAPE_ASPECT('',$,#2580,.U.); -#7120=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3207,#7119); -#7121=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2580); -#7122=NAME_ATTRIBUTE('single instance',#2581); -#7123=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2571,#937,$,'',$,#2581,*); -#7124=PROPERTY_DEFINITION('',$,#7123); -#7125=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6618,#7124); -#7126=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7124); -#7127=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2582,#2581); -#7128=SHAPE_ASPECT('',$,#2581,.U.); -#7129=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3381,#7128); -#7130=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2581); -#7131=NAME_ATTRIBUTE('single instance',#2605); -#7132=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2601,#937,$,'',$,#2605,*); -#7133=PROPERTY_DEFINITION('',$,#7132); -#7134=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#7133); -#7135=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7133); -#7136=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2607,#2605); -#7137=SHAPE_ASPECT('',$,#2605,.U.); -#7138=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3368,#7137); -#7139=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2605); -#7140=NAME_ATTRIBUTE('single instance',#2606); -#7141=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2601,#937,$,'',$,#2606,*); -#7142=PROPERTY_DEFINITION('',$,#7141); -#7143=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#7142); -#7144=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7142); -#7145=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2607,#2606); -#7146=SHAPE_ASPECT('',$,#2606,.U.); -#7147=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3383,#7146); -#7148=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2606); -#7149=NAME_ATTRIBUTE('single instance',#2610); -#7150=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2601,#937,$,'',$,#2610,*); -#7151=PROPERTY_DEFINITION('',$,#7150); -#7152=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#7151); -#7153=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7151); -#7154=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2612,#2610); -#7155=SHAPE_ASPECT('',$,#2610,.U.); -#7156=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3382,#7155); -#7157=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2610); -#7158=NAME_ATTRIBUTE('single instance',#2611); -#7159=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2601,#937,$,'',$,#2611,*); -#7160=PROPERTY_DEFINITION('',$,#7159); -#7161=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#7160); -#7162=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7160); -#7163=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2612,#2611); -#7164=SHAPE_ASPECT('',$,#2611,.U.); -#7165=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3071,#7164); -#7166=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2611); -#7167=NAME_ATTRIBUTE('single instance',#2635); -#7168=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2631,#937,$,'',$,#2635,*); -#7169=PROPERTY_DEFINITION('',$,#7168); -#7170=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6615,#7169); -#7171=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7169); -#7172=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2637,#2635); -#7173=SHAPE_ASPECT('',$,#2635,.U.); -#7174=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3385,#7173); -#7175=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2635); -#7176=NAME_ATTRIBUTE('single instance',#2636); -#7177=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2631,#937,$,'',$,#2636,*); -#7178=PROPERTY_DEFINITION('',$,#7177); -#7179=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6615,#7178); -#7180=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7178); -#7181=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2637,#2636); -#7182=SHAPE_ASPECT('',$,#2636,.U.); -#7183=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3307,#7182); -#7184=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2636); -#7185=NAME_ATTRIBUTE('single instance',#2640); -#7186=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2631,#937,$,'',$,#2640,*); -#7187=PROPERTY_DEFINITION('',$,#7186); -#7188=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6612,#7187); -#7189=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7187); -#7190=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2642,#2640); -#7191=SHAPE_ASPECT('',$,#2640,.U.); -#7192=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3160,#7191); -#7193=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2640); -#7194=NAME_ATTRIBUTE('single instance',#2641); -#7195=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2631,#937,$,'',$,#2641,*); -#7196=PROPERTY_DEFINITION('',$,#7195); -#7197=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6612,#7196); -#7198=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7196); -#7199=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2642,#2641); -#7200=SHAPE_ASPECT('',$,#2641,.U.); -#7201=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3384,#7200); -#7202=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2641); -#7203=NAME_ATTRIBUTE('single instance',#2665); -#7204=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2661,#937,$,'',$,#2665,*); -#7205=PROPERTY_DEFINITION('',$,#7204); -#7206=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6609,#7205); -#7207=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7205); -#7208=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2667,#2665); -#7209=SHAPE_ASPECT('',$,#2665,.U.); -#7210=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3386,#7209); -#7211=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2665); -#7212=NAME_ATTRIBUTE('single instance',#2666); -#7213=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2661,#937,$,'',$,#2666,*); -#7214=PROPERTY_DEFINITION('',$,#7213); -#7215=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6609,#7214); -#7216=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7214); -#7217=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2667,#2666); -#7218=SHAPE_ASPECT('',$,#2666,.U.); -#7219=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3307,#7218); -#7220=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2666); -#7221=NAME_ATTRIBUTE('single instance',#2670); -#7222=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2661,#937,$,'',$,#2670,*); -#7223=PROPERTY_DEFINITION('',$,#7222); -#7224=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6606,#7223); -#7225=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7223); -#7226=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2672,#2670); -#7227=SHAPE_ASPECT('',$,#2670,.U.); -#7228=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3140,#7227); -#7229=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2670); -#7230=NAME_ATTRIBUTE('single instance',#2671); -#7231=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2661,#937,$,'',$,#2671,*); -#7232=PROPERTY_DEFINITION('',$,#7231); -#7233=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6606,#7232); -#7234=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7232); -#7235=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2672,#2671); -#7236=SHAPE_ASPECT('',$,#2671,.U.); -#7237=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3124,#7236); -#7238=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2671); -#7239=NAME_ATTRIBUTE('single instance',#2695); -#7240=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2691,#937,$,'',$,#2695,*); -#7241=PROPERTY_DEFINITION('',$,#7240); -#7242=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6621,#7241); -#7243=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7241); -#7244=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2697,#2695); -#7245=SHAPE_ASPECT('',$,#2695,.U.); -#7246=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3207,#7245); -#7247=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2695); -#7248=NAME_ATTRIBUTE('single instance',#2696); -#7249=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2691,#937,$,'',$,#2696,*); -#7250=PROPERTY_DEFINITION('',$,#7249); -#7251=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6621,#7250); -#7252=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7250); -#7253=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2697,#2696); -#7254=SHAPE_ASPECT('',$,#2696,.U.); -#7255=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3387,#7254); -#7256=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2696); -#7257=NAME_ATTRIBUTE('single instance',#2700); -#7258=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2691,#937,$,'',$,#2700,*); -#7259=PROPERTY_DEFINITION('',$,#7258); -#7260=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6618,#7259); -#7261=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7259); -#7262=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2702,#2700); -#7263=SHAPE_ASPECT('',$,#2700,.U.); -#7264=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3368,#7263); -#7265=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2700); -#7266=NAME_ATTRIBUTE('single instance',#2701); -#7267=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2691,#937,$,'',$,#2701,*); -#7268=PROPERTY_DEFINITION('',$,#7267); -#7269=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6618,#7268); -#7270=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7268); -#7271=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2702,#2701); -#7272=SHAPE_ASPECT('',$,#2701,.U.); -#7273=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3388,#7272); -#7274=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2701); -#7275=NAME_ATTRIBUTE('single instance',#2725); -#7276=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2721,#937,$,'',$,#2725,*); -#7277=PROPERTY_DEFINITION('',$,#7276); -#7278=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#7277); -#7279=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7277); -#7280=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2727,#2725); -#7281=SHAPE_ASPECT('',$,#2725,.U.); -#7282=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3390,#7281); -#7283=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2725); -#7284=NAME_ATTRIBUTE('single instance',#2726); -#7285=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2721,#937,$,'',$,#2726,*); -#7286=PROPERTY_DEFINITION('',$,#7285); -#7287=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#7286); -#7288=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7286); -#7289=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2727,#2726); -#7290=SHAPE_ASPECT('',$,#2726,.U.); -#7291=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3307,#7290); -#7292=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2726); -#7293=NAME_ATTRIBUTE('single instance',#2730); -#7294=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2721,#937,$,'',$,#2730,*); -#7295=PROPERTY_DEFINITION('',$,#7294); -#7296=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#7295); -#7297=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7295); -#7298=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2732,#2730); -#7299=SHAPE_ASPECT('',$,#2730,.U.); -#7300=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3389,#7299); -#7301=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2730); -#7302=NAME_ATTRIBUTE('single instance',#2731); -#7303=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2721,#937,$,'',$,#2731,*); -#7304=PROPERTY_DEFINITION('',$,#7303); -#7305=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#7304); -#7306=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7304); -#7307=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2732,#2731); -#7308=SHAPE_ASPECT('',$,#2731,.U.); -#7309=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3239,#7308); -#7310=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2731); -#7311=NAME_ATTRIBUTE('single instance',#2755); -#7312=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2755,*); -#7313=PROPERTY_DEFINITION('',$,#7312); -#7314=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6652,#7313); -#7315=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7313); -#7316=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2757,#2755); -#7317=SHAPE_ASPECT('',$,#2755,.U.); -#7318=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3368,#7317); -#7319=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2755); -#7320=NAME_ATTRIBUTE('single instance',#2756); -#7321=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2756,*); -#7322=PROPERTY_DEFINITION('',$,#7321); -#7323=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6652,#7322); -#7324=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7322); -#7325=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2757,#2756); -#7326=SHAPE_ASPECT('',$,#2756,.U.); -#7327=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3392,#7326); -#7328=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2756); -#7329=NAME_ATTRIBUTE('single instance',#2760); -#7330=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2760,*); -#7331=PROPERTY_DEFINITION('',$,#7330); -#7332=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6649,#7331); -#7333=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7331); -#7334=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2762,#2760); -#7335=SHAPE_ASPECT('',$,#2760,.U.); -#7336=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3207,#7335); -#7337=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2760); -#7338=NAME_ATTRIBUTE('single instance',#2761); -#7339=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2761,*); -#7340=PROPERTY_DEFINITION('',$,#7339); -#7341=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6649,#7340); -#7342=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7340); -#7343=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2762,#2761); -#7344=SHAPE_ASPECT('',$,#2761,.U.); -#7345=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3395,#7344); -#7346=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2761); -#7347=NAME_ATTRIBUTE('single instance',#2765); -#7348=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2765,*); -#7349=PROPERTY_DEFINITION('',$,#7348); -#7350=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6646,#7349); -#7351=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7349); -#7352=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2767,#2765); -#7353=SHAPE_ASPECT('',$,#2765,.U.); -#7354=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3394,#7353); -#7355=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2765); -#7356=NAME_ATTRIBUTE('single instance',#2766); -#7357=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2766,*); -#7358=PROPERTY_DEFINITION('',$,#7357); -#7359=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6646,#7358); -#7360=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7358); -#7361=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2767,#2766); -#7362=SHAPE_ASPECT('',$,#2766,.U.); -#7363=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3124,#7362); -#7364=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2766); -#7365=NAME_ATTRIBUTE('single instance',#2770); -#7366=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2770,*); -#7367=PROPERTY_DEFINITION('',$,#7366); -#7368=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6643,#7367); -#7369=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7367); -#7370=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2772,#2770); -#7371=SHAPE_ASPECT('',$,#2770,.U.); -#7372=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3160,#7371); -#7373=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2770); -#7374=NAME_ATTRIBUTE('single instance',#2771); -#7375=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2771,*); -#7376=PROPERTY_DEFINITION('',$,#7375); -#7377=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6643,#7376); -#7378=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7376); -#7379=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2772,#2771); -#7380=SHAPE_ASPECT('',$,#2771,.U.); -#7381=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3398,#7380); -#7382=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2771); -#7383=NAME_ATTRIBUTE('single instance',#2775); -#7384=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2775,*); -#7385=PROPERTY_DEFINITION('',$,#7384); -#7386=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6640,#7385); -#7387=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7385); -#7388=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2777,#2775); -#7389=SHAPE_ASPECT('',$,#2775,.U.); -#7390=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3368,#7389); -#7391=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2775); -#7392=NAME_ATTRIBUTE('single instance',#2776); -#7393=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2776,*); -#7394=PROPERTY_DEFINITION('',$,#7393); -#7395=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6640,#7394); -#7396=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7394); -#7397=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2777,#2776); -#7398=SHAPE_ASPECT('',$,#2776,.U.); -#7399=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3396,#7398); -#7400=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2776); -#7401=NAME_ATTRIBUTE('single instance',#2780); -#7402=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2780,*); -#7403=PROPERTY_DEFINITION('',$,#7402); -#7404=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6637,#7403); -#7405=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7403); -#7406=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2782,#2780); -#7407=SHAPE_ASPECT('',$,#2780,.U.); -#7408=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3393,#7407); -#7409=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2780); -#7410=NAME_ATTRIBUTE('single instance',#2781); -#7411=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2781,*); -#7412=PROPERTY_DEFINITION('',$,#7411); -#7413=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6637,#7412); -#7414=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7412); -#7415=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2782,#2781); -#7416=SHAPE_ASPECT('',$,#2781,.U.); -#7417=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3177,#7416); -#7418=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2781); -#7419=NAME_ATTRIBUTE('single instance',#2785); -#7420=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2785,*); -#7421=PROPERTY_DEFINITION('',$,#7420); -#7422=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6634,#7421); -#7423=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7421); -#7424=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2787,#2785); -#7425=SHAPE_ASPECT('',$,#2785,.U.); -#7426=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3140,#7425); -#7427=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2785); -#7428=NAME_ATTRIBUTE('single instance',#2786); -#7429=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#937,$,'',$,#2786,*); -#7430=PROPERTY_DEFINITION('',$,#7429); -#7431=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6634,#7430); -#7432=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7430); -#7433=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2787,#2786); -#7434=SHAPE_ASPECT('',$,#2786,.U.); -#7435=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3397,#7434); -#7436=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2786); -#7437=NAME_ATTRIBUTE('single instance',#2790); -#7438=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#1211,$,'',$,#2790,*); -#7439=PROPERTY_DEFINITION('',$,#7438); -#7440=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6631,#7439); -#7441=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6248,#7439); -#7442=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2792,#2790); -#7443=SHAPE_ASPECT('',$,#2790,.U.); -#7444=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3391,#7443); -#7445=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1214,#2790); -#7446=NAME_ATTRIBUTE('single instance',#2791); -#7447=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2751,#1211,$,'',$,#2791,*); -#7448=PROPERTY_DEFINITION('',$,#7447); -#7449=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6631,#7448); -#7450=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6215,#7448); -#7451=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2792,#2791); -#7452=SHAPE_ASPECT('',$,#2791,.U.); -#7453=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3307,#7452); -#7454=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1214,#2791); -#7455=NAME_ATTRIBUTE('single instance',#2863); -#7456=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2859,#937,$,'',$,#2863,*); -#7457=PROPERTY_DEFINITION('',$,#7456); -#7458=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#7457); -#7459=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7457); -#7460=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2865,#2863); -#7461=SHAPE_ASPECT('',$,#2863,.U.); -#7462=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3400,#7461); -#7463=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2863); -#7464=NAME_ATTRIBUTE('single instance',#2864); -#7465=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2859,#937,$,'',$,#2864,*); -#7466=PROPERTY_DEFINITION('',$,#7465); -#7467=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6627,#7466); -#7468=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7466); -#7469=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2865,#2864); -#7470=SHAPE_ASPECT('',$,#2864,.U.); -#7471=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3307,#7470); -#7472=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2864); -#7473=NAME_ATTRIBUTE('single instance',#2868); -#7474=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2859,#937,$,'',$,#2868,*); -#7475=PROPERTY_DEFINITION('',$,#7474); -#7476=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#7475); -#7477=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6108,#7475); -#7478=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2870,#2868); -#7479=SHAPE_ASPECT('',$,#2868,.U.); -#7480=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3399,#7479); -#7481=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2868); -#7482=NAME_ATTRIBUTE('single instance',#2869); -#7483=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2859,#937,$,'',$,#2869,*); -#7484=PROPERTY_DEFINITION('',$,#7483); -#7485=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6624,#7484); -#7486=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#6075,#7484); -#7487=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2870,#2869); -#7488=SHAPE_ASPECT('',$,#2869,.U.); -#7489=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3223,#7488); -#7490=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2869); -#7491=NAME_ATTRIBUTE('single instance',#2894); -#7492=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2893,#937,$,'',$,#2894,*); -#7493=PROPERTY_DEFINITION('',$,#7492); -#7494=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6108,#7493); -#7495=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2896,#2894); -#7496=SHAPE_ASPECT('',$,#2894,.U.); -#7497=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3368,#7496); -#7498=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2894); -#7499=NAME_ATTRIBUTE('single instance',#2895); -#7500=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2893,#937,$,'',$,#2895,*); -#7501=PROPERTY_DEFINITION('',$,#7500); -#7502=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6075,#7501); -#7503=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2896,#2895); -#7504=SHAPE_ASPECT('',$,#2895,.U.); -#7505=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3371,#7504); -#7506=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2895); -#7507=NAME_ATTRIBUTE('single instance',#2915); -#7508=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2914,#937,$,'',$,#2915,*); -#7509=PROPERTY_DEFINITION('',$,#7508); -#7510=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6108,#7509); -#7511=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2917,#2915); -#7512=SHAPE_ASPECT('',$,#2915,.U.); -#7513=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3372,#7512); -#7514=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2915); -#7515=NAME_ATTRIBUTE('single instance',#2916); -#7516=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2914,#937,$,'',$,#2916,*); -#7517=PROPERTY_DEFINITION('',$,#7516); -#7518=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6075,#7517); -#7519=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2917,#2916); -#7520=SHAPE_ASPECT('',$,#2916,.U.); -#7521=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3071,#7520); -#7522=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2916); -#7523=NAME_ATTRIBUTE('single instance',#2936); -#7524=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2935,#937,$,'',$,#2936,*); -#7525=PROPERTY_DEFINITION('',$,#7524); -#7526=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6108,#7525); -#7527=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2938,#2936); -#7528=SHAPE_ASPECT('',$,#2936,.U.); -#7529=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3373,#7528); -#7530=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2936); -#7531=NAME_ATTRIBUTE('single instance',#2937); -#7532=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2935,#937,$,'',$,#2937,*); -#7533=PROPERTY_DEFINITION('',$,#7532); -#7534=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6075,#7533); -#7535=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2938,#2937); -#7536=SHAPE_ASPECT('',$,#2937,.U.); -#7537=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3055,#7536); -#7538=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2937); -#7539=NAME_ATTRIBUTE('single instance',#2957); -#7540=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2956,#937,$,'',$,#2957,*); -#7541=PROPERTY_DEFINITION('',$,#7540); -#7542=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6108,#7541); -#7543=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2959,#2957); -#7544=SHAPE_ASPECT('',$,#2957,.U.); -#7545=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3374,#7544); -#7546=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2957); -#7547=NAME_ATTRIBUTE('single instance',#2958); -#7548=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2956,#937,$,'',$,#2958,*); -#7549=PROPERTY_DEFINITION('',$,#7548); -#7550=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6075,#7549); -#7551=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2959,#2958); -#7552=SHAPE_ASPECT('',$,#2958,.U.); -#7553=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3177,#7552); -#7554=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2958); -#7555=NAME_ATTRIBUTE('single instance',#2978); -#7556=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2977,#937,$,'',$,#2978,*); -#7557=PROPERTY_DEFINITION('',$,#7556); -#7558=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6108,#7557); -#7559=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2980,#2978); -#7560=SHAPE_ASPECT('',$,#2978,.U.); -#7561=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3375,#7560); -#7562=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2978); -#7563=NAME_ATTRIBUTE('single instance',#2979); -#7564=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2977,#937,$,'',$,#2979,*); -#7565=PROPERTY_DEFINITION('',$,#7564); -#7566=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6075,#7565); -#7567=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2980,#2979); -#7568=SHAPE_ASPECT('',$,#2979,.U.); -#7569=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3239,#7568); -#7570=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2979); -#7571=NAME_ATTRIBUTE('single instance',#2999); -#7572=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2998,#937,$,'',$,#2999,*); -#7573=PROPERTY_DEFINITION('',$,#7572); -#7574=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6108,#7573); -#7575=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3001,#2999); -#7576=SHAPE_ASPECT('',$,#2999,.U.); -#7577=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3376,#7576); -#7578=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#2999); -#7579=NAME_ATTRIBUTE('single instance',#3000); -#7580=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2998,#937,$,'',$,#3000,*); -#7581=PROPERTY_DEFINITION('',$,#7580); -#7582=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6075,#7581); -#7583=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3001,#3000); -#7584=SHAPE_ASPECT('',$,#3000,.U.); -#7585=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3223,#7584); -#7586=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#3000); -#7587=NAME_ATTRIBUTE('single instance',#3020); -#7588=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3019,#937,$,'',$,#3020,*); -#7589=PROPERTY_DEFINITION('',$,#7588); -#7590=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6108,#7589); -#7591=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3022,#3020); -#7592=SHAPE_ASPECT('',$,#3020,.U.); -#7593=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3377,#7592); -#7594=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#3020); -#7595=NAME_ATTRIBUTE('single instance',#3021); -#7596=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3019,#937,$,'',$,#3021,*); -#7597=PROPERTY_DEFINITION('',$,#7596); -#7598=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#6075,#7597); -#7599=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3022,#3021); -#7600=SHAPE_ASPECT('',$,#3021,.U.); -#7601=SHAPE_ASPECT_RELATIONSHIP('implementation','',#3307,#7600); -#7602=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#940,#3021); -#7603=NAME_ATTRIBUTE('single instance',#335); -#7604=NAME_ATTRIBUTE('single instance',#355); -#7605=NAME_ATTRIBUTE('single instance',#374); -#7606=NAME_ATTRIBUTE('single instance',#393); -#7607=NAME_ATTRIBUTE('single instance',#402); -#7608=NAME_ATTRIBUTE('single instance',#421); -#7609=NAME_ATTRIBUTE('single instance',#430); -#7610=NAME_ATTRIBUTE('single instance',#439); -#7611=NAME_ATTRIBUTE('single instance',#448); -#7612=NAME_ATTRIBUTE('single instance',#2893); -#7613=NAME_ATTRIBUTE('single instance',#2914); -#7614=NAME_ATTRIBUTE('single instance',#2935); -#7615=NAME_ATTRIBUTE('single instance',#2956); -#7616=NAME_ATTRIBUTE('single instance',#2977); -#7617=NAME_ATTRIBUTE('single instance',#2998); -#7618=NAME_ATTRIBUTE('single instance',#3019); -ENDSEC; -END-ISO-10303-21; diff --git a/data/ap210e2/PDES-181.stp b/data/ap210e2/PDES-181.stp deleted file mode 100644 index f37aa11ae..000000000 --- a/data/ap210e2/PDES-181.stp +++ /dev/null @@ -1,45184 +0,0 @@ -ISO-10303-21; -HEADER; -/* Generated by software containing - * JSDAI (TM) from LKSoft (www.lksoft.com, www.jsdai.net) - * JSDAI Runtime Version 4.0.0 (Build 270, 2009-04-03T09:13:28) - * JSDAI XIM Full Library Version 1.128.0 2009-04-22_23-57-07 - */ -FILE_DESCRIPTION( -/* description */ ('C:\\Proj\\PDES-181-\\design\\bd\\design','Default description from XML-based configuration file.'), -/* implementation_level */ '2;1'); -FILE_NAME( -/* name */ 'PDES-181-.stp', -/* time_stamp */ '2009-10-16T16:42:18', -/* author */ ('John Doe'), -/* organization */ ('','ROCKWELL COLLINS, INC. ', - 'NOTICE: THIS PRODUCT DATA DEFINITION SET EXAMPLE IS PROVIDED BY ROCKWELL COLLINS,INC.', - 'CAUTION: THIS ASSEMBLY CONTAINS ELECTROSTATIC DISCHARGE SENSITIVE DEVICES.'), -/* preprocessor_version */ 'Zuken/Visula (CADIF/DTI) -> AP210 converter v3.4, using JSDAI. Build 270', -/* originating_system */ 'CR5000 Board Designer to CADIF', -/* authorization */ 'Default authorization from XML-based configuration file'); -FILE_SCHEMA(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM { 1 0 10303 410 1 1 4}')); -ENDSEC; -DATA; -#1=FUNCTIONAL_UNIT('5',$,#3,#4,'',$,*); -#2=PRODUCT('pid3 (PCA function)','function',$,(#15566)); -#3=PRODUCT_DEFINITION_FORMATION('1',$,#2); -#4=PRODUCT_DEFINITION_CONTEXT('part definition',#5,''); -#5=APPLICATION_CONTEXT('default application'); -#6=LAYERED_ASSEMBLY_MODULE_USAGE_VIEW('2',$,#8,#4,'assembly module',$,*); -#7=PRODUCT('pid2','pca','STEP TEST - BLIND AND BURIED VIAS',(#17755)); -#8=PRODUCT_DEFINITION_FORMATION('-',$,#7); -#9=PRODUCT_RELATED_PRODUCT_CATEGORY('functional',$,(#2)); -#10=PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7,#28,#501,#510,#2025,#2032)); -#11=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly',$,(#7,#28)); -#12=(ASSEMBLY_MODULE_DESIGN_VIEW()LAYERED_ASSEMBLY_MODULE_DESIGN_VIEW() - PHYSICAL_UNIT()PHYSICAL_UNIT_NETWORK_DEFINITION()PRODUCT_DEFINITION('1',$,#8, - #4)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('assembly module',$,*)); -#13=SHAPE_REPRESENTATION('ppsm',(#23,#73,#1049,#2104,#3014),#14); -#14=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#15=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.NANO.,.METRE.)); -#16=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(10.0),#15); -#17=(CONVERSION_BASED_UNIT('dsu',#16)LENGTH_UNIT()NAMED_UNIT(*)); -#18=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.)); -#19=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.017453292519943295),#18); -#20=(CONVERSION_BASED_UNIT('degree',#19)NAMED_UNIT(*)PLANE_ANGLE_UNIT()); -#21=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#22,'',$); -#22=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.)); -#23=AXIS2_PLACEMENT_2D('origin',#24,$); -#24=CARTESIAN_POINT('',(0.0,0.0)); -#25=SHAPE_REPRESENTATION('ppsm',(#23),#26); -#26=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#27=LAYERED_INTERCONNECT_MODULE_USAGE_VIEW('2',$,#29,#4,'interconnect module',$, - *); -#28=PRODUCT('pid3','pcb',$,(#17755)); -#29=PRODUCT_DEFINITION_FORMATION('-',$,#28); -#30=SHAPE_REPRESENTATION('ppsm',(#23,#41,#51,#58,#64,#71,#381,#1128,#1136,#1144, - #1152,#1160,#1168,#1176,#1184,#1192,#1200,#1208,#1216,#1224,#1232,#1240,#1248, - #1256,#1264,#1272,#1280,#1288,#1296,#1304,#1312,#1320,#1328,#1336,#1344,#1352, - #1360,#1368,#1376,#1384,#1392,#1400,#1408,#1416,#1424,#1432,#1440,#1448,#1456, - #1464,#1472,#1480,#1488,#1496,#1504,#1512,#1520,#1528,#1536,#1544,#1552,#1560, - #1568,#1576,#1584,#1592,#1600,#1608,#1616,#1624,#1632,#2119,#2127,#2151,#2437, - #3028,#3036,#3044,#3052,#3060,#3068,#3076,#3084,#3092,#3100,#3108,#3116,#3124, - #3132,#3140,#3148,#3156,#3164,#3172,#3180,#3188,#3196,#3204,#3212,#3220,#3228, - #3236,#3244,#3252,#3260,#3268,#3276,#3284,#3292,#3300,#3308,#3316,#3324,#3332, - #3340,#3348,#3356,#3364,#3372,#3380,#3388,#3396,#3404,#3412,#3420,#3428,#3436, - #3444,#3452,#3460,#3468,#3476,#3484,#3492,#3500,#3508,#3516,#3524,#3532),#31); -#31=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#32=SHAPE_ASPECT('TOP of PCB','interconnect module primary surface',#27,.T.); -#33=SHAPE_ASPECT('BOTTOM of PCB','interconnect module secondary surface',#27,.T.); -#34=SHAPE_ASPECT('outline of PCB','interconnect module edge surface',#27,.T.); -#35=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#37),#36); -#36=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#37=CSG_PRIMITIVE_SOLID_2D('',#40); -#38=CARTESIAN_POINT('',(-508000.0,-508000.0)); -#39=AXIS2_PLACEMENT_2D('',#38,$); -#40=RECTANGULAR_AREA('',#39,5080000.0,5080000.0); -#41=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15569,#44,'',$,#34,#30,*); -#42=DIRECTION('',(1.0,0.0)); -#43=DIRECTION('',(-0.0,1.0)); -#44=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','design origin',$,#42,#43,#24,1.0); -#45=SHAPE_ASPECT('CUTOUT of PCB 1','interconnect module cutout surface',#27,.T.); -#46=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#48),#47); -#47=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#48=CSG_PRIMITIVE_SOLID_2D('',#49); -#49=CIRCULAR_AREA('',#50,158750.0); -#50=CARTESIAN_POINT('',(4064000.0,4064000.0)); -#51=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15570,#44,'',$,#45,#30,*); -#52=SHAPE_ASPECT('CUTOUT of PCB 2','interconnect module cutout surface',#27,.T.); -#53=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#55),#54); -#54=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#55=CSG_PRIMITIVE_SOLID_2D('',#56); -#56=CIRCULAR_AREA('',#57,158750.0); -#57=CARTESIAN_POINT('',(0.0,4064000.0)); -#58=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15571,#44,'',$,#52,#30,*); -#59=SHAPE_ASPECT('CUTOUT of PCB 3','interconnect module cutout surface',#27,.T.); -#60=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#62),#61); -#61=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#62=CSG_PRIMITIVE_SOLID_2D('',#63); -#63=CIRCULAR_AREA('',#24,158750.0); -#64=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15572,#44,'',$,#59,#30,*); -#65=SHAPE_ASPECT('CUTOUT of PCB 4','interconnect module cutout surface',#27,.T.); -#66=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#68),#67); -#67=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#68=CSG_PRIMITIVE_SOLID_2D('',#69); -#69=CIRCULAR_AREA('',#70,158750.0); -#70=CARTESIAN_POINT('',(4064000.0,0.0)); -#71=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15573,#44,'',$,#65,#30,*); -#72=INTERCONNECT_MODULE_COMPONENT('board',$,#29,#25355,'board','definition usage', - $,#27,*,'',$,*); -#73=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','zero',$,#42,$,#24,$); -#74=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('board','',$,#12,#27,'board','', - $,#72,*); -#75=PRODUCT_DEFINITION_SHAPE('',$,#74); -#76=COMPONENT_2D_LOCATION(*,#75,'component 2d location',$,#30,#13,#73); -#77=(COMPONENT_FEATURE()DATUM_FEATURE() - INTERCONNECT_MODULE_COMPONENT_SURFACE_FEATURE()PHYSICAL_COMPONENT_FEATURE() - SHAPE_ASPECT('primary surface','interconnect module component surface feature', - #72,.U.)); -#78=(COMPONENT_FEATURE()DATUM_FEATURE() - INTERCONNECT_MODULE_COMPONENT_SURFACE_FEATURE()PHYSICAL_COMPONENT_FEATURE() - SHAPE_ASPECT('secondary surface','interconnect module component surface feature', - #72,.U.)); -#79=LIBRARY_STACK_MODEL('',$,#81,#4,'',$,*); -#80=PRODUCT('pid4','library stack',$,(#21759)); -#81=PRODUCT_DEFINITION_FORMATION('1',$,#80); -#82=PRODUCT_RELATED_PRODUCT_CATEGORY('template model',$,(#80,#189,#227,#321,#383, - #398,#410,#422,#434,#444,#452,#456,#881,#885,#894,#910,#2063,#2067,#2076,#2094, - #2153,#2163,#2173,#2183,#2193,#2201,#2209,#2253,#2256,#2264,#2268,#2286,#2325, - #2439,#2449,#2459,#2469,#2479,#2487,#2495,#2532,#2593,#2653,#2878,#7699,#7703, - #7721,#7757,#7830,#7834,#7852,#7887,#7896,#9335,#10195,#10371,#10414,#10570)); -#83=STRATUM_TECHNOLOGY('default design layer technology 16','design layer','',$, - *); -#84=REPRESENTATION('minimum tolerance',(#86),#85); -#85=REPRESENTATION_CONTEXT('tolerance values','tolerance'); -#86=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.1),#22)QUALIFIED_REPRESENTATION_ITEM((#87))REPRESENTATION_ITEM('')); -#87=TYPE_QUALIFIER('minimum'); -#88=(MATERIAL_DESIGNATION('copper',(#83,#2275,#7710,#7841,#12711,#12721,#12728,#12735, - #12742,#12749,#12756,#12763,#12770,#12777,#12784,#12791,#12798,#12805,#12812)) - MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION() - PASSAGE_DEPOSITION_MATERIAL_IDENTIFICATION()); -#89=APPLIED_CLASSIFICATION_ASSIGNMENT(#91,#90,(#88)); -#90=CLASSIFICATION_ROLE('conductive',$); -#91=CLASS('conductive','electrical conductivity'); -#92=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer16',$,#83); -#93=STRATUM_TECHNOLOGY('soldermask layer technology 17','documentation layer','', - $,*); -#94=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('solder mask',(#93,#12708)); -#95=STRATUM_TECHNOLOGY_OCCURRENCE('Resist-B',$,#93); -#96=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#92,#95); -#97=STRATUM_TECHNOLOGY('final finish layer technology','documentation layer','', - $,*); -#98=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('final finish',(#97)); -#99=STRATUM_TECHNOLOGY_OCCURRENCE('Plating-1-Bot',$,#97); -#100=STRATUM_TECHNOLOGY('solderpaste layer technology','documentation layer','', - $,*); -#101=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('solder paste',(#100)); -#102=STRATUM_TECHNOLOGY_OCCURRENCE('MetalMask-B',$,#100); -#103=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#99,#102); -#104=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer13',$,#12798); -#105=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer14',$,#12805); -#106=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 1',$,#12802); -#107=STRATUM_TECHNOLOGY('dielectric 16',$,'',$,*); -#108=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('dielectric',(#12809, - #12725,#12739,#12753,#12767,#12781,#12795)); -#109=APPLIED_CLASSIFICATION_ASSIGNMENT(#111,#110,(#108)); -#110=CLASSIFICATION_ROLE('non conductive',$); -#111=CLASS('non conductive','electrical conductivity'); -#112=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#104,#106); -#113=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#106,#105); -#114=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer9',$,#12770); -#115=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer10',$,#12777); -#116=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 2',$,#12774); -#117=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#114,#116); -#118=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#116,#115); -#119=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#92,#99); -#120=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer8',$,#12763); -#121=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 3',$,#12767); -#122=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#120,#121); -#123=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#121,#114); -#124=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#92,#102); -#125=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer11',$,#12784); -#126=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 4',$,#12781); -#127=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#115,#126); -#128=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#126,#125); -#129=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer12',$,#12791); -#130=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 5',$,#12788); -#131=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#125,#130); -#132=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#130,#129); -#133=STRATUM_TECHNOLOGY('silk screen layer technology','documentation layer','', - $,*); -#134=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('silk screen',(#133)); -#135=STRATUM_TECHNOLOGY_OCCURRENCE('Symbol-A-2',$,#133); -#136=STRATUM_TECHNOLOGY_OCCURRENCE('Resist-A',$,#12708); -#137=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#135,#136); -#138=STRATUM_TECHNOLOGY_OCCURRENCE('Symbol-B-2',$,#133); -#139=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#95,#138); -#140=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer1',$,#12711); -#141=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer2',$,#12721); -#142=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 6',$,#12717); -#143=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#140,#142); -#144=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#142,#141); -#145=STRATUM_TECHNOLOGY_OCCURRENCE('MetalMask-A',$,#100); -#146=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#145,#140); -#147=STRATUM_TECHNOLOGY_OCCURRENCE('Plating-1-Top',$,#97); -#148=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#145,#147); -#149=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer3',$,#12728); -#150=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer4',$,#12735); -#151=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 7',$,#12732); -#152=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#149,#151); -#153=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#151,#150); -#154=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#147,#140); -#155=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#136,#140); -#156=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer15',$,#12812); -#157=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 8',$,#12809); -#158=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#105,#157); -#159=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#157,#156); -#160=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 9',$,#12795); -#161=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#129,#160); -#162=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#160,#104); -#163=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer5',$,#12742); -#164=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer6',$,#12749); -#165=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 10',$,#12746); -#166=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#163,#165); -#167=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#165,#164); -#168=STRATUM_TECHNOLOGY_OCCURRENCE('Wiring Layer7',$,#12756); -#169=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 11',$,#12760); -#170=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#168,#169); -#171=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#169,#120); -#172=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 12',$,#12753); -#173=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#164,#172); -#174=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#172,#168); -#175=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 13',$,#107); -#176=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#156,#175); -#177=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#175,#92); -#178=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 14',$,#12725); -#179=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#141,#178); -#180=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#178,#149); -#181=STRATUM_TECHNOLOGY_OCCURRENCE('dielectric 15',$,#12739); -#182=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#150,#181); -#183=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#79,'','',#181,#163); -#184=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#79,'','',#140,#92); -#185=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#79,'','',#136,#95); -#186=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#79,'','',#145,#102); -#187=DESIGN_STACK_MODEL('',$,#190,#4,'',$,*); -#188=LIBRARY_TO_DESIGN_STACK_MODEL_MAPPING('','',$,#79,#187); -#189=PRODUCT('pid5','design stack',$,(#21759)); -#190=PRODUCT_DEFINITION_FORMATION('1',$,#189); -#191=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#92,#95); -#192=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#141,#178); -#193=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#178,#149); -#194=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#149,#151); -#195=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#151,#150); -#196=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#156,#175); -#197=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#175,#92); -#198=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#140,#142); -#199=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#142,#141); -#200=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#150,#181); -#201=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#181,#163); -#202=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#104,#106); -#203=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#106,#105); -#204=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#136,#140); -#205=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#163,#165); -#206=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#165,#164); -#207=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#120,#121); -#208=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#121,#114); -#209=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#105,#157); -#210=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#157,#156); -#211=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#114,#116); -#212=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#116,#115); -#213=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#168,#169); -#214=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#169,#120); -#215=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#164,#172); -#216=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#172,#168); -#217=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#125,#130); -#218=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#130,#129); -#219=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#115,#126); -#220=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#126,#125); -#221=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#129,#160); -#222=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#187,'','',#160,#104); -#223=LAYERED_INTERCONNECT_MODULE_DESIGN_VIEW('1',$,#29,#4,'interconnect module', - $,*); -#224=SHAPE_REPRESENTATION('ppsm',(#23,#44,#484,#1763,#2134,#2231,#2383,#2517,#2658, - #3663,#3925,#7697,#7828,#7962,#7972,#7983,#7993,#8013,#8034,#8044,#8065,#8075, - #8095,#8116,#8126,#8147,#8168,#1267,#8074,#7982,#8125,#7971,#8033,#1139,#7696, - #8064,#7961,#8167,#8115,#5009,#3167,#8043,#3495,#4710,#7827,#3039,#1227,#7992, - #3127,#1595,#8146,#8210,#8231,#8241,#8251,#1619,#8250,#8230,#8275,#8240,#8209, - #3399,#8285,#8294,#8315,#8324,#8344,#5043,#8314,#1563,#8284,#3463,#5181,#8356, - #8376,#8397,#8407,#1603,#8355,#5112,#8420,#8396,#8406,#3471,#8430,#8439,#8429, - #5048,#5046,#8463,#1379,#8469,#8478,#3924,#5114,#8468,#3143,#8504,#8524,#8549, - #8559,#8568,#8592,#8616,#8636,#8656,#8680,#8700,#8724,#8748,#8773,#8783,#8793, - #8818,#8843,#8852,#8877,#8898,#8923,#8932,#8956,#8981,#9005,#9029,#9049,#1155, - #8548,#5317,#8922,#5279,#5319,#8842,#8772,#8876,#9082,#9084,#8558,#3055,#9090, - #8782,#5321,#3343,#1443,#3351,#1451,#5323,#9107,#9128,#9149,#9159,#1235,#9106, - #9127,#9172,#9148,#9158,#3063,#9182,#9203,#9224,#9234,#1491,#9181,#9202,#9247, - #9223,#9233,#3047,#9257,#9278,#9256,#9277,#9291,#5117,#1219,#9297,#9307,#2382, - #9306,#9296,#3303,#10200,#10208,#10216,#10224,#10232,#10240,#10248,#10256,#10268, - #10276,#10284,#10292,#10300,#10312,#10320,#10328,#10340,#10348,#10356,#10376, - #10386,#10396,#10406,#10418,#10427,#10436,#10445,#10455,#10465,#10475,#10485, - #10495,#10505,#10515,#10525,#10553,#10562,#10576,#10585,#10594,#10604,#10632, - #10641,#10650,#10659,#10669,#10696,#10705,#10719,#10728,#10737,#10747,#10771, - #10780,#10789,#10799,#10820,#10829,#10839,#10854,#10856,#10858,#10860,#10864, - #5337,#5339,#5335,#5327,#8817,#8792,#5245,#5247,#8980,#5333,#5249,#5255,#8897, - #5331,#5243,#5251,#2103,#11002,#11012,#11022,#11031,#11040,#11049,#11058,#11067, - #11076,#11085,#11094,#11103,#11113,#11123,#11133,#11188,#11197,#11209,#11218, - #11227,#11237,#11260,#11269,#11284,#11293,#11302,#11312,#11336,#11345,#11354, - #11364,#11385,#11394,#11407),#225); -#225=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#226=PASSAGE_TECHNOLOGY('board passage technology',$,'',$,*); -#227=PRODUCT('tmpl1','template',$,(#21759)); -#228=PRODUCT_DEFINITION_FORMATION('1',$,#227); -#229=INTER_STRATUM_FEATURE_TEMPLATE('id',$,#228,#4,'',$,*); -#230=CUTOUT('CUTOUT of PCB 2',$,#228,#4,'CUTOUT of PCB 2','definition usage',$,#229, - *,'',$,*); -#231=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#52,#19337); -#232=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CUTOUT of PCB 2','',$,#223,#229, - 'CUTOUT of PCB 2','',$,#230,*); -#233=PRODUCT_DEFINITION_SHAPE('',$,#232); -#234=COMPONENT_2D_LOCATION(*,#233,'component 2d location',$,#53,#224,#44); -#235=CUTOUT('CUTOUT of PCB 4',$,#228,#4,'CUTOUT of PCB 4','definition usage',$,#229, - *,'',$,*); -#236=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#65,#19338); -#237=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CUTOUT of PCB 4','',$,#223,#229, - 'CUTOUT of PCB 4','',$,#235,*); -#238=PRODUCT_DEFINITION_SHAPE('',$,#237); -#239=COMPONENT_2D_LOCATION(*,#238,'component 2d location',$,#66,#224,#44); -#240=CUTOUT('CUTOUT of PCB 1',$,#228,#4,'CUTOUT of PCB 1','definition usage',$,#229, - *,'',$,*); -#241=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#45,#19339); -#242=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CUTOUT of PCB 1','',$,#223,#229, - 'CUTOUT of PCB 1','',$,#240,*); -#243=PRODUCT_DEFINITION_SHAPE('',$,#242); -#244=COMPONENT_2D_LOCATION(*,#243,'component 2d location',$,#46,#224,#44); -#245=CUTOUT('CUTOUT of PCB 3',$,#228,#4,'CUTOUT of PCB 3','definition usage',$,#229, - *,'',$,*); -#246=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#59,#19340); -#247=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CUTOUT of PCB 3','',$,#223,#229, - 'CUTOUT of PCB 3','',$,#245,*); -#248=PRODUCT_DEFINITION_SHAPE('',$,#247); -#249=COMPONENT_2D_LOCATION(*,#248,'component 2d location',$,#60,#224,#44); -#250=INTERCONNECT_MODULE_EDGE('outline of PCB',$,#228,#4,'outline of PCB','definition usage', - $,#229,*,'',$,*); -#251=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#34,#19341); -#252=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('outline of PCB','',$,#223,#229, - 'outline of PCB','',$,#250,*); -#253=PRODUCT_DEFINITION_SHAPE('',$,#252); -#254=COMPONENT_2D_LOCATION(*,#253,'component 2d location',$,#35,#224,#44); -#255=STRATUM('dielectric 9',$,#29,#4,'',$,*); -#256=ASSEMBLY_COMPONENT_USAGE('dielectric 9','interconnect module stratum assembly relationship', - $,#223,#255,'dielectric 9'); -#257=DESIGN_LAYER_STRATUM('Wiring Layer13','non primary design layer stratum',#29, - #4,'',$,*); -#258=ASSEMBLY_COMPONENT_USAGE('Wiring Layer13','interconnect module stratum assembly relationship', - $,#223,#257,'Wiring Layer13'); -#259=DESIGN_LAYER_STRATUM('Wiring Layer12','non primary design layer stratum',#29, - #4,'',$,*); -#260=ASSEMBLY_COMPONENT_USAGE('Wiring Layer12','interconnect module stratum assembly relationship', - $,#223,#259,'Wiring Layer12'); -#261=STRATUM('dielectric 4',$,#29,#4,'',$,*); -#262=ASSEMBLY_COMPONENT_USAGE('dielectric 4','interconnect module stratum assembly relationship', - $,#223,#261,'dielectric 4'); -#263=DESIGN_LAYER_STRATUM('Wiring Layer11','non primary design layer stratum',#29, - #4,'',$,*); -#264=ASSEMBLY_COMPONENT_USAGE('Wiring Layer11','interconnect module stratum assembly relationship', - $,#223,#263,'Wiring Layer11'); -#265=DESIGN_LAYER_STRATUM('Wiring Layer10','non primary design layer stratum',#29, - #4,'',$,*); -#266=ASSEMBLY_COMPONENT_USAGE('Wiring Layer10','interconnect module stratum assembly relationship', - $,#223,#265,'Wiring Layer10'); -#267=STRATUM('dielectric 5',$,#29,#4,'',$,*); -#268=ASSEMBLY_COMPONENT_USAGE('dielectric 5','interconnect module stratum assembly relationship', - $,#223,#267,'dielectric 5'); -#269=STRATUM('dielectric 12',$,#29,#4,'',$,*); -#270=ASSEMBLY_COMPONENT_USAGE('dielectric 12','interconnect module stratum assembly relationship', - $,#223,#269,'dielectric 12'); -#271=DESIGN_LAYER_STRATUM('Wiring Layer7','non primary design layer stratum',#29, - #4,'',$,*); -#272=ASSEMBLY_COMPONENT_USAGE('Wiring Layer7','interconnect module stratum assembly relationship', - $,#223,#271,'Wiring Layer7'); -#273=DESIGN_LAYER_STRATUM('Wiring Layer6','non primary design layer stratum',#29, - #4,'',$,*); -#274=ASSEMBLY_COMPONENT_USAGE('Wiring Layer6','interconnect module stratum assembly relationship', - $,#223,#273,'Wiring Layer6'); -#275=STRATUM('dielectric 11',$,#29,#4,'',$,*); -#276=ASSEMBLY_COMPONENT_USAGE('dielectric 11','interconnect module stratum assembly relationship', - $,#223,#275,'dielectric 11'); -#277=DESIGN_LAYER_STRATUM('Wiring Layer8','non primary design layer stratum',#29, - #4,'',$,*); -#278=ASSEMBLY_COMPONENT_USAGE('Wiring Layer8','interconnect module stratum assembly relationship', - $,#223,#277,'Wiring Layer8'); -#279=STRATUM('dielectric 2',$,#29,#4,'',$,*); -#280=ASSEMBLY_COMPONENT_USAGE('dielectric 2','interconnect module stratum assembly relationship', - $,#223,#279,'dielectric 2'); -#281=DESIGN_LAYER_STRATUM('Wiring Layer9','non primary design layer stratum',#29, - #4,'',$,*); -#282=ASSEMBLY_COMPONENT_USAGE('Wiring Layer9','interconnect module stratum assembly relationship', - $,#223,#281,'Wiring Layer9'); -#283=STRATUM('dielectric 8',$,#29,#4,'',$,*); -#284=ASSEMBLY_COMPONENT_USAGE('dielectric 8','interconnect module stratum assembly relationship', - $,#223,#283,'dielectric 8'); -#285=DESIGN_LAYER_STRATUM('Wiring Layer15','non primary design layer stratum',#29, - #4,'',$,*); -#286=ASSEMBLY_COMPONENT_USAGE('Wiring Layer15','interconnect module stratum assembly relationship', - $,#223,#285,'Wiring Layer15'); -#287=DESIGN_LAYER_STRATUM('Wiring Layer14','non primary design layer stratum',#29, - #4,'',$,*); -#288=ASSEMBLY_COMPONENT_USAGE('Wiring Layer14','interconnect module stratum assembly relationship', - $,#223,#287,'Wiring Layer14'); -#289=STRATUM('dielectric 3',$,#29,#4,'',$,*); -#290=ASSEMBLY_COMPONENT_USAGE('dielectric 3','interconnect module stratum assembly relationship', - $,#223,#289,'dielectric 3'); -#291=STRATUM('dielectric 10',$,#29,#4,'',$,*); -#292=ASSEMBLY_COMPONENT_USAGE('dielectric 10','interconnect module stratum assembly relationship', - $,#223,#291,'dielectric 10'); -#293=DESIGN_LAYER_STRATUM('Wiring Layer5','non primary design layer stratum',#29, - #4,'',$,*); -#294=ASSEMBLY_COMPONENT_USAGE('Wiring Layer5','interconnect module stratum assembly relationship', - $,#223,#293,'Wiring Layer5'); -#295=DOCUMENTATION_LAYER_STRATUM('Resist-A',$,#29,#4,'',$,*); -#296=ASSEMBLY_COMPONENT_USAGE('Resist-A','interconnect module stratum assembly relationship', - $,#223,#295,'Resist-A'); -#297=DESIGN_LAYER_STRATUM('Wiring Layer1','non primary design layer stratum',#29, - #4,'',$,*); -#298=ASSEMBLY_COMPONENT_USAGE('Wiring Layer1','interconnect module stratum assembly relationship', - $,#223,#297,'Wiring Layer1'); -#299=STRATUM('dielectric 1',$,#29,#4,'',$,*); -#300=ASSEMBLY_COMPONENT_USAGE('dielectric 1','interconnect module stratum assembly relationship', - $,#223,#299,'dielectric 1'); -#301=STRATUM('dielectric 15',$,#29,#4,'',$,*); -#302=ASSEMBLY_COMPONENT_USAGE('dielectric 15','interconnect module stratum assembly relationship', - $,#223,#301,'dielectric 15'); -#303=DESIGN_LAYER_STRATUM('Wiring Layer4','non primary design layer stratum',#29, - #4,'',$,*); -#304=ASSEMBLY_COMPONENT_USAGE('Wiring Layer4','interconnect module stratum assembly relationship', - $,#223,#303,'Wiring Layer4'); -#305=STRATUM('dielectric 6',$,#29,#4,'',$,*); -#306=ASSEMBLY_COMPONENT_USAGE('dielectric 6','interconnect module stratum assembly relationship', - $,#223,#305,'dielectric 6'); -#307=DESIGN_LAYER_STRATUM('Wiring Layer2','primary design layer stratum',#29,#4, - '',$,*); -#308=ASSEMBLY_COMPONENT_USAGE('Wiring Layer2','interconnect module stratum assembly relationship', - $,#223,#307,'Wiring Layer2'); -#309=STRATUM('dielectric 13',$,#29,#4,'',$,*); -#310=ASSEMBLY_COMPONENT_USAGE('dielectric 13','interconnect module stratum assembly relationship', - $,#223,#309,'dielectric 13'); -#311=DESIGN_LAYER_STRATUM('Wiring Layer16','non primary design layer stratum',#29, - #4,'',$,*); -#312=ASSEMBLY_COMPONENT_USAGE('Wiring Layer16','interconnect module stratum assembly relationship', - $,#223,#311,'Wiring Layer16'); -#313=STRATUM('dielectric 7',$,#29,#4,'',$,*); -#314=ASSEMBLY_COMPONENT_USAGE('dielectric 7','interconnect module stratum assembly relationship', - $,#223,#313,'dielectric 7'); -#315=DESIGN_LAYER_STRATUM('Wiring Layer3','non primary design layer stratum',#29, - #4,'',$,*); -#316=ASSEMBLY_COMPONENT_USAGE('Wiring Layer3','interconnect module stratum assembly relationship', - $,#223,#315,'Wiring Layer3'); -#317=STRATUM('dielectric 14',$,#29,#4,'',$,*); -#318=ASSEMBLY_COMPONENT_USAGE('dielectric 14','interconnect module stratum assembly relationship', - $,#223,#317,'dielectric 14'); -#319=DOCUMENTATION_LAYER_STRATUM('Resist-B',$,#29,#4,'',$,*); -#320=ASSEMBLY_COMPONENT_USAGE('Resist-B','interconnect module stratum assembly relationship', - $,#223,#319,'Resist-B'); -#321=PRODUCT('tmpl2','template',$,(#21759)); -#322=PRODUCT_DEFINITION_FORMATION('1',$,#321); -#323=CLOSED_CURVE_STYLE_PARAMETERS('',(#13293,#13294,#324),#13292); -#324=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 1.0),#17)REPRESENTATION_ITEM('curve width')); -#325=(LENGTH_MEASURE_WITH_UNIT()MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#22) - UNCERTAINTY_MEASURE_WITH_UNIT('',$)); -#326=FILL_AREA_TEMPLATE('1',$,#322,#4,'',$,*); -#327=AREA_COMPONENT('base for Resist-B',$,#322,#4,'base for Resist-B','definition usage', - $,#326,*,'',$,*); -#328=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-B','',$,#223,#326, - 'base for Resist-B','',$,#327,*); -#329=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#330),#225); -#330=CSG_PRIMITIVE_SOLID_2D('',#331); -#331=RECTANGULAR_AREA('',#39,5080000.0,5080000.0); -#332=AREA_COMPONENT('base for Resist-A',$,#322,#4,'base for Resist-A','definition usage', - $,#326,*,'',$,*); -#333=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-A','',$,#223,#326, - 'base for Resist-A','',$,#332,*); -#334=LAYOUT_SPACING_REQUIREMENT('1',$,#340,#4); -#335=TYPE_QUALIFIER('nominal'); -#336=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 30480.0),#17)QUALIFIED_REPRESENTATION_ITEM((#335))REPRESENTATION_ITEM('')); -#337=REPRESENTATION('nominal tolerance',(#336),#338); -#338=REPRESENTATION_CONTEXT('tolerance values','tolerance'); -#339=PRODUCT('pid6','requirement',$,(#19100)); -#340=PRODUCT_DEFINITION_FORMATION('1',$,#339); -#341=PRODUCT_RELATED_PRODUCT_CATEGORY('requirement',$,(#3020,#339,#343,#348,#353, - #356,#359,#362,#365,#368,#371,#374,#507,#901,#1055,#2029,#2110,#2290,#12833)); -#342=LAYOUT_SPACING_REQUIREMENT('1',$,#344,#4); -#343=PRODUCT('pid7','requirement',$,(#19100)); -#344=PRODUCT_DEFINITION_FORMATION('1',$,#343); -#345=LAYOUT_SPACING_REQUIREMENT('1',$,#349,#4); -#346=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 12700.0),#17)QUALIFIED_REPRESENTATION_ITEM((#335))REPRESENTATION_ITEM('')); -#347=REPRESENTATION('nominal tolerance',(#346),#338); -#348=PRODUCT('pid8','requirement',$,(#19100)); -#349=PRODUCT_DEFINITION_FORMATION('1',$,#348); -#350=LAYOUT_SPACING_REQUIREMENT('1',$,#354,#4); -#351=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 39370.0),#17)QUALIFIED_REPRESENTATION_ITEM((#335))REPRESENTATION_ITEM('')); -#352=REPRESENTATION('nominal tolerance',(#351),#338); -#353=PRODUCT('pid9','requirement',$,(#19100)); -#354=PRODUCT_DEFINITION_FORMATION('1',$,#353); -#355=LAYOUT_SPACING_REQUIREMENT('1',$,#357,#4); -#356=PRODUCT('pid10','requirement',$,(#19100)); -#357=PRODUCT_DEFINITION_FORMATION('1',$,#356); -#358=LAYOUT_SPACING_REQUIREMENT('1',$,#360,#4); -#359=PRODUCT('pid11','requirement',$,(#19100)); -#360=PRODUCT_DEFINITION_FORMATION('1',$,#359); -#361=LAYOUT_SPACING_REQUIREMENT('1',$,#363,#4); -#362=PRODUCT('pid12','requirement',$,(#19100)); -#363=PRODUCT_DEFINITION_FORMATION('1',$,#362); -#364=LAYOUT_SPACING_REQUIREMENT('1',$,#366,#4); -#365=PRODUCT('pid13','requirement',$,(#19100)); -#366=PRODUCT_DEFINITION_FORMATION('1',$,#365); -#367=LAYOUT_SPACING_REQUIREMENT('1',$,#369,#4); -#368=PRODUCT('pid14','requirement',$,(#19100)); -#369=PRODUCT_DEFINITION_FORMATION('1',$,#368); -#370=LAYOUT_SPACING_REQUIREMENT('1',$,#372,#4); -#371=PRODUCT('pid15','requirement',$,(#19100)); -#372=PRODUCT_DEFINITION_FORMATION('1',$,#371); -#373=LAYOUT_SPACING_REQUIREMENT('1',$,#375,#4); -#374=PRODUCT('pid16','requirement',$,(#19100)); -#375=PRODUCT_DEFINITION_FORMATION('1',$,#374); -#376=CARTESIAN_POINT('',(4064000.0,762000.0)); -#377=AXIS2_PLACEMENT_2D('',#376,$); -#378=PART_TOOLING_FEATURE('C15','part generic feature',#27,.T.); -#379=SHAPE_REPRESENTATION('ppsm',(#23),#380); -#380=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#381=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15574,#377,'',$,#378,#30,*); -#382=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('',$,#384,#4)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#383=PRODUCT('tmpl3','template',$,(#21759)); -#384=PRODUCT_DEFINITION_FORMATION('1',$,#383); -#385=SHAPE_REPRESENTATION('ppsm',(#23,#401,#413,#425,#437,#447,#455,#466),#386); -#386=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#387=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#13990,#13991,#388,#13992,#13993),#13989); -#388=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 38100.0),#17)REPRESENTATION_ITEM('curve width')); -#389=(LENGTH_MEASURE_WITH_UNIT()MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#22) - UNCERTAINTY_MEASURE_WITH_UNIT('',$)); -#390=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#392),#391); -#391=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#392=CSG_PRIMITIVE_SOLID_2D('',#396); -#393=POLYLINE('centreline',(#394,#395)); -#394=CARTESIAN_POINT('',(-177800.0,63500.0)); -#395=CARTESIAN_POINT('',(-177800.0,-63500.0)); -#396=PATH_AREA_WITH_PARAMETERS('',#18700,#393); -#397=STRATUM_FEATURE_TEMPLATE('',$,#399,#4,'',$,*); -#398=PRODUCT('tmpl4','template',$,(#21759)); -#399=PRODUCT_DEFINITION_FORMATION('1',$,#398); -#400=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD3','tlist','is unknown',#382,#397,'SD3', - '',$,#400); -#401=MAPPED_ITEM('tlistt',#21760,#23); -#402=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#404),#403); -#403=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#404=CSG_PRIMITIVE_SOLID_2D('',#408); -#405=POLYLINE('centreline',(#406,#407)); -#406=CARTESIAN_POINT('',(177800.0,63500.0)); -#407=CARTESIAN_POINT('',(177800.0,-63500.0)); -#408=PATH_AREA_WITH_PARAMETERS('',#18700,#405); -#409=STRATUM_FEATURE_TEMPLATE('',$,#411,#4,'',$,*); -#410=PRODUCT('tmpl5','template',$,(#21759)); -#411=PRODUCT_DEFINITION_FORMATION('1',$,#410); -#412=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD4','tlist','is unknown',#382,#409,'SD4', - '',$,#412); -#413=MAPPED_ITEM('tlistt',#21765,#23); -#414=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#416),#415); -#415=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#416=CSG_PRIMITIVE_SOLID_2D('',#420); -#417=POLYLINE('centreline',(#418,#419)); -#418=CARTESIAN_POINT('',(63500.0,177800.0)); -#419=CARTESIAN_POINT('',(-63500.0,177800.0)); -#420=PATH_AREA_WITH_PARAMETERS('',#18700,#417); -#421=STRATUM_FEATURE_TEMPLATE('',$,#423,#4,'',$,*); -#422=PRODUCT('tmpl6','template',$,(#21759)); -#423=PRODUCT_DEFINITION_FORMATION('1',$,#422); -#424=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD5','tlist','is unknown',#382,#421,'SD5', - '',$,#424); -#425=MAPPED_ITEM('tlistt',#21769,#23); -#426=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#428),#427); -#427=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#428=CSG_PRIMITIVE_SOLID_2D('',#432); -#429=POLYLINE('centreline',(#430,#431)); -#430=CARTESIAN_POINT('',(63500.0,-177800.0)); -#431=CARTESIAN_POINT('',(-63500.0,-177800.0)); -#432=PATH_AREA_WITH_PARAMETERS('',#18700,#429); -#433=STRATUM_FEATURE_TEMPLATE('',$,#435,#4,'',$,*); -#434=PRODUCT('tmpl7','template',$,(#21759)); -#435=PRODUCT_DEFINITION_FORMATION('1',$,#434); -#436=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD6','tlist','is unknown',#382,#433,'SD6', - '',$,#436); -#437=MAPPED_ITEM('tlistt',#21773,#23); -#438=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#440),#439); -#439=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#440=CSG_PRIMITIVE_SOLID_2D('',#441); -#441=CIRCULAR_AREA('',#442,149860.0); -#442=CARTESIAN_POINT('',(0.0,-2.9103830456733704E-11)); -#443=MATERIAL_REMOVAL_FEATURE_TEMPLATE('',$,#445,#4,'',$,*); -#444=PRODUCT('tmpl8','template',$,(#21759)); -#445=PRODUCT_DEFINITION_FORMATION('1',$,#444); -#446=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD7','tlist','is unknown',#382,#443,'SD7', - '',$,#446); -#447=MAPPED_ITEM('tlistt',#21777,#23); -#448=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#450),#449); -#449=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#450=CSG_PRIMITIVE_SOLID_2D('',#441); -#451=MATERIAL_REMOVAL_FEATURE_TEMPLATE('',$,#453,#4,'',$,*); -#452=PRODUCT('tmpl9','template',$,(#21759)); -#453=PRODUCT_DEFINITION_FORMATION('1',$,#452); -#454=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD8','tlist','is unknown',#382,#451,'SD8', - '',$,#454); -#455=MAPPED_ITEM('tlistt',#21781,#23); -#456=PRODUCT('tmpl10','template',$,(#21759)); -#457=PRODUCT_DEFINITION_FORMATION('1',$,#456); -#458=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#460),#459); -#459=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#460=CSG_PRIMITIVE_SOLID_2D('',#461); -#461=CIRCULAR_AREA('',#24,99060.0); -#462=ASSEMBLY_COMPONENT_USAGE('SD1','tlist','is unknown',#382,#463,'SD1'); -#463=UNSUPPORTED_PASSAGE_TEMPLATE('unsupported',$,#457,#4,'',$,*); -#464=PASSAGE_TECHNOLOGY('tmpl10 unsupported','default unsupported passage definition', - '',$,*); -#465=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 99060.0),#17)REPRESENTATION_ITEM('')); -#466=MAPPED_ITEM('tlistt',#21785,#467); -#467=AXIS2_PLACEMENT_2D('',#24,$); -#468=SHAPE_ASPECT('Keepout PUPKS_no_vias 1',$,#382,.F.); -#469=SHAPE_REPRESENTATION('Keepout PUPKS_no_vias 1',(#23),#470); -#470=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#471=PART_TEMPLATE_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK($,$,$,$,*); -#472=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#474),#473); -#473=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#474=CSG_PRIMITIVE_SOLID_2D('',#441); -#475=(REPRESENTATION_RELATIONSHIP('SD9',$,#472,#469) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15710) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#476=SHAPE_ASPECT('Keepout PUPKS_no_tracks 1',$,#382,.F.); -#477=SHAPE_REPRESENTATION('Keepout PUPKS_no_tracks 1',(#23),#478); -#478=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#479=PART_TEMPLATE_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK($,$,$,$,*); -#480=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#482),#481); -#481=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#482=CSG_PRIMITIVE_SOLID_2D('',#441); -#483=(REPRESENTATION_RELATIONSHIP('SD10',$,#480,#477) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15711) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#484=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#376,1.0); -#485=FOOTPRINT_OCCURRENCE('cam3',$,#384,#4,'cam3','definition usage',$,#382,*,'', - $,*); -#486=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('cam3','',$,#223,#382,'cam3','', - $,#485,*); -#487=PRODUCT_DEFINITION_SHAPE('',$,#486); -#488=COMPONENT_2D_LOCATION(*,#487,'component 2d location',$,#385,#224,#484); -#489=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#190,#4,'',$,*); -#490=UNSUPPORTED_PASSAGE('cam3 SD1',$,#457,#4,'cam3 SD1','definition usage',$,#463, - *,'',$,*); -#491=MATERIAL_REMOVAL_LAMINATE_COMPONENT('cam3 SD8',$,#453,#4,'cam3 SD8','definition usage', - $,#451,*,'',$,*); -#492=MATERIAL_REMOVAL_LAMINATE_COMPONENT('cam3 SD7',$,#445,#4,'cam3 SD7','definition usage', - $,#443,*,'',$,*); -#493=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam3 SD6',$,#435,#4, - 'cam3 SD6','definition usage',$,#433,*,'',$,*,'cam3 SD6',$,#297,.U.,$,$,*,*); -#494=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam3 SD5',$,#423,#4, - 'cam3 SD5','definition usage',$,#421,*,'',$,*,'cam3 SD5',$,#297,.U.,$,$,*,*); -#495=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam3 SD4',$,#411,#4, - 'cam3 SD4','definition usage',$,#409,*,'',$,*,'cam3 SD4',$,#297,.U.,$,$,*,*); -#496=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam3 SD3',$,#399,#4, - 'cam3 SD3','definition usage',$,#397,*,'',$,*,'cam3 SD3',$,#297,.U.,$,$,*,*); -#497=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#378,#19342); -#498=IDENTIFICATION_ROLE('part name',$); -#499=APPLIED_IDENTIFICATION_ASSIGNMENT('bdPart10',#498,(#485)); -#500=PACKAGED_PART('',$,#502,#4,'',$,*); -#501=PRODUCT('part1','IC','MEMORY IC, PRGM ROM, FLASH',(#17755)); -#502=PRODUCT_DEFINITION_FORMATION('1',$,#501); -#503=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.055),#504)REPRESENTATION_ITEM('')); -#504=(CONVERSION_BASED_UNIT('inches',#505)LENGTH_UNIT()NAMED_UNIT(*)); -#505=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(25.4),#22); -#506=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('',$,#508,#4); -#507=PRODUCT('height requirement for part1','requirement',$,(#19100)); -#508=PRODUCT_DEFINITION_FORMATION('1',$,#507); -#509=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#510=PRODUCT('pkg1','package',$,(#17755)); -#511=PRODUCT_DEFINITION_FORMATION('1',$,#510); -#512=PACKAGE('B_BGA.64.C_FLAT',$,#511,#4,'',$,*); -#513=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#22)REPRESENTATION_ITEM('')); -#514=PRODUCT_RELATED_PRODUCT_CATEGORY('package',$,(#2032,#510)); -#515=SHAPE_REPRESENTATION('ppsm',(#23),#516); -#516=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#517=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#519),#518); -#518=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#519=GEOMETRIC_CURVE_SET('',(#520)); -#520=COMPOSITE_CURVE('',(#527,#529),.F.); -#521=CARTESIAN_POINT('',(-412750.0,419100.0)); -#522=CARTESIAN_POINT('',(-425448.0,419100.0)); -#523=CARTESIAN_POINT('',(-419099.0,419100.0)); -#524=AXIS2_PLACEMENT_2D('',#523,$); -#525=CIRCLE('',#524,6349.0); -#526=TRIMMED_CURVE('',#525,(#521),(#522),.F.,.CARTESIAN.); -#527=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#526); -#528=TRIMMED_CURVE('',#525,(#522),(#521),.F.,.CARTESIAN.); -#529=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#528); -#530=(REPRESENTATION_RELATIONSHIP('SD2',$,#517,#515) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15712) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#531=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#533),#532); -#532=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#533=GEOMETRIC_CURVE_SET('',(#534)); -#534=COMPOSITE_CURVE('',(#539,#541),.F.); -#535=CARTESIAN_POINT('',(-387350.0,419100.0)); -#536=CARTESIAN_POINT('',(-450848.0,419100.0)); -#537=CIRCLE('',#524,31749.0); -#538=TRIMMED_CURVE('',#537,(#535),(#536),.F.,.CARTESIAN.); -#539=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#538); -#540=TRIMMED_CURVE('',#537,(#536),(#535),.F.,.CARTESIAN.); -#541=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#540); -#542=(REPRESENTATION_RELATIONSHIP('SD3',$,#531,#515) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15713) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#543=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#545),#544); -#544=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#545=GEOMETRIC_CURVE_SET('',(#546)); -#546=COMPOSITE_CURVE('',(#551,#553),.F.); -#547=CARTESIAN_POINT('',(-400050.0,419100.0)); -#548=CARTESIAN_POINT('',(-438148.0,419100.0)); -#549=CIRCLE('',#524,19049.0); -#550=TRIMMED_CURVE('',#549,(#547),(#548),.F.,.CARTESIAN.); -#551=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#550); -#552=TRIMMED_CURVE('',#549,(#548),(#547),.F.,.CARTESIAN.); -#553=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#552); -#554=(REPRESENTATION_RELATIONSHIP('SD4',$,#543,#515) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15714) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#555=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#557),#556); -#556=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#557=GEOMETRIC_CURVE_SET('',(#558)); -#558=COMPOSITE_CURVE('',(#563,#565),.F.); -#559=CARTESIAN_POINT('',(-406400.0,419100.0)); -#560=CARTESIAN_POINT('',(-431798.0,419100.0)); -#561=CIRCLE('',#524,12699.0); -#562=TRIMMED_CURVE('',#561,(#559),(#560),.F.,.CARTESIAN.); -#563=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#562); -#564=TRIMMED_CURVE('',#561,(#560),(#559),.F.,.CARTESIAN.); -#565=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#564); -#566=(REPRESENTATION_RELATIONSHIP('SD5',$,#555,#515) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15715) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#567=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#569),#568); -#568=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#569=GEOMETRIC_CURVE_SET('',(#570)); -#570=COMPOSITE_CURVE('',(#575,#577),.F.); -#571=CARTESIAN_POINT('',(-393700.0,419100.0)); -#572=CARTESIAN_POINT('',(-444498.0,419100.0)); -#573=CIRCLE('',#524,25399.0); -#574=TRIMMED_CURVE('',#573,(#571),(#572),.F.,.CARTESIAN.); -#575=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#574); -#576=TRIMMED_CURVE('',#573,(#572),(#571),.F.,.CARTESIAN.); -#577=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#576); -#578=(REPRESENTATION_RELATIONSHIP('SD6',$,#567,#515) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15716) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#579=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#581),#580); -#580=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#581=GEOMETRIC_CURVE_SET('',(#582)); -#582=COMPOSITE_CURVE('',(#587,#589),.F.); -#583=CARTESIAN_POINT('',(-381000.0,419100.0)); -#584=CARTESIAN_POINT('',(-457198.0,419100.0)); -#585=CIRCLE('',#524,38099.0); -#586=TRIMMED_CURVE('',#585,(#583),(#584),.F.,.CARTESIAN.); -#587=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#586); -#588=TRIMMED_CURVE('',#585,(#584),(#583),.F.,.CARTESIAN.); -#589=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#588); -#590=(REPRESENTATION_RELATIONSHIP('SD7',$,#579,#515) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15717) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#591=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#593),#592); -#592=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#593=GEOMETRIC_CURVE_SET('',(#594)); -#594=POLYLINE('',(#595,#596,#597,#598,#595)); -#595=CARTESIAN_POINT('',(-550000.0,-650000.0)); -#596=CARTESIAN_POINT('',(550000.0,-650000.0)); -#597=CARTESIAN_POINT('',(550000.0,650000.0)); -#598=CARTESIAN_POINT('',(-550000.0,650000.0)); -#599=(REPRESENTATION_RELATIONSHIP('SD8',$,#591,#515) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15718) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#600=SHAPE_REPRESENTATION('ppsm',(#23,#627,#631,#635,#639,#643,#647,#651,#655,#659, - #663,#667,#671,#675,#679,#683,#687,#691,#695,#699,#703,#707,#711,#715,#719, - #723,#727,#731,#735,#739,#743,#747,#751,#755,#759,#763,#767,#771,#775,#779, - #783,#787,#791,#795,#799,#803,#807,#811,#815,#819,#823,#827,#831,#835,#839, - #843,#847,#851,#855,#859,#863,#867,#871,#875,#879),#601); -#601=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#602=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#604),#603); -#603=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#604=CSG_PRIMITIVE_SOLID_2D('',#606); -#605=AXIS2_PLACEMENT_2D('',#595,$); -#606=RECTANGULAR_AREA('',#605,1100000.0,1300000.0); -#607=(REPRESENTATION_RELATIONSHIP('SD9',$,#602,#600) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15719) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#608=SHAPE_ASPECT('Keepout PUPKS_clearance 2','vlnfse',#512,.F.); -#609=SHAPE_REPRESENTATION('pupksm',(#23),#610); -#610=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#611=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#613),#612); -#612=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#613=CSG_PRIMITIVE_SOLID_2D('',#617); -#614=CARTESIAN_POINT('',(-867500.0,967500.0)); -#615=AXIS2_PLACEMENT_2D('',#614,#616); -#616=DIRECTION('',(6.123233995736766E-17,-1.0)); -#617=RECTANGULAR_AREA('',#615,1935000.0,1735000.0); -#618=(REPRESENTATION_RELATIONSHIP('SD10',$,#611,#609) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15720) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#619=PACKAGE_TERMINAL('B6','part generic feature',#512,.T.); -#620=SHAPE_REPRESENTATION('',(#23),#621); -#621=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#622=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#623=PRODUCT_DEFINITION_SHAPE('',$,#622); -#624=SHAPE_DEFINITION_REPRESENTATION(#623,#620); -#625=CARTESIAN_POINT('',(150000.0,250000.0)); -#626=AXIS2_PLACEMENT_2D('',#625,$); -#627=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#626,'',$,#619,#600,*); -#628=PACKAGE_TERMINAL('D5','part generic feature',#512,.T.); -#629=CARTESIAN_POINT('',(50000.0,50000.0)); -#630=AXIS2_PLACEMENT_2D('',#629,$); -#631=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#630,'',$,#628,#600,*); -#632=PACKAGE_TERMINAL('B1','part generic feature',#512,.T.); -#633=CARTESIAN_POINT('',(-350000.0,250000.0)); -#634=AXIS2_PLACEMENT_2D('',#633,$); -#635=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#634,'',$,#632,#600,*); -#636=PACKAGE_TERMINAL('E4','part generic feature',#512,.T.); -#637=CARTESIAN_POINT('',(-50000.0,-50000.0)); -#638=AXIS2_PLACEMENT_2D('',#637,$); -#639=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#638,'',$,#636,#600,*); -#640=PACKAGE_TERMINAL('H2','part generic feature',#512,.T.); -#641=CARTESIAN_POINT('',(-250000.0,-350000.0)); -#642=AXIS2_PLACEMENT_2D('',#641,$); -#643=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#642,'',$,#640,#600,*); -#644=PACKAGE_TERMINAL('E3','part generic feature',#512,.T.); -#645=CARTESIAN_POINT('',(-150000.0,-50000.0)); -#646=AXIS2_PLACEMENT_2D('',#645,$); -#647=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#646,'',$,#644,#600,*); -#648=PACKAGE_TERMINAL('A1','part generic feature',#512,.T.); -#649=CARTESIAN_POINT('',(-350000.0,350000.0)); -#650=AXIS2_PLACEMENT_2D('',#649,$); -#651=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#650,'',$,#648,#600,*); -#652=PACKAGE_TERMINAL('H5','part generic feature',#512,.T.); -#653=CARTESIAN_POINT('',(50000.0,-350000.0)); -#654=AXIS2_PLACEMENT_2D('',#653,$); -#655=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#654,'',$,#652,#600,*); -#656=PACKAGE_TERMINAL('F5','part generic feature',#512,.T.); -#657=CARTESIAN_POINT('',(50000.0,-150000.0)); -#658=AXIS2_PLACEMENT_2D('',#657,$); -#659=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#658,'',$,#656,#600,*); -#660=PACKAGE_TERMINAL('C4','part generic feature',#512,.T.); -#661=CARTESIAN_POINT('',(-50000.0,150000.0)); -#662=AXIS2_PLACEMENT_2D('',#661,$); -#663=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#662,'',$,#660,#600,*); -#664=PACKAGE_TERMINAL('E2','part generic feature',#512,.T.); -#665=CARTESIAN_POINT('',(-250000.0,-50000.0)); -#666=AXIS2_PLACEMENT_2D('',#665,$); -#667=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#666,'',$,#664,#600,*); -#668=PACKAGE_TERMINAL('H8','part generic feature',#512,.T.); -#669=CARTESIAN_POINT('',(350000.0,-350000.0)); -#670=AXIS2_PLACEMENT_2D('',#669,$); -#671=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#670,'',$,#668,#600,*); -#672=PACKAGE_TERMINAL('A3','part generic feature',#512,.T.); -#673=CARTESIAN_POINT('',(-150000.0,350000.0)); -#674=AXIS2_PLACEMENT_2D('',#673,$); -#675=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#674,'',$,#672,#600,*); -#676=PACKAGE_TERMINAL('D1','part generic feature',#512,.T.); -#677=CARTESIAN_POINT('',(-350000.0,50000.0)); -#678=AXIS2_PLACEMENT_2D('',#677,$); -#679=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#678,'',$,#676,#600,*); -#680=PACKAGE_TERMINAL('C2','part generic feature',#512,.T.); -#681=CARTESIAN_POINT('',(-250000.0,150000.0)); -#682=AXIS2_PLACEMENT_2D('',#681,$); -#683=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#682,'',$,#680,#600,*); -#684=PACKAGE_TERMINAL('E5','part generic feature',#512,.T.); -#685=CARTESIAN_POINT('',(50000.0,-50000.0)); -#686=AXIS2_PLACEMENT_2D('',#685,$); -#687=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#686,'',$,#684,#600,*); -#688=PACKAGE_TERMINAL('D2','part generic feature',#512,.T.); -#689=CARTESIAN_POINT('',(-250000.0,50000.0)); -#690=AXIS2_PLACEMENT_2D('',#689,$); -#691=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#690,'',$,#688,#600,*); -#692=PACKAGE_TERMINAL('D8','part generic feature',#512,.T.); -#693=CARTESIAN_POINT('',(350000.0,50000.0)); -#694=AXIS2_PLACEMENT_2D('',#693,$); -#695=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#694,'',$,#692,#600,*); -#696=PACKAGE_TERMINAL('C1','part generic feature',#512,.T.); -#697=CARTESIAN_POINT('',(-350000.0,150000.0)); -#698=AXIS2_PLACEMENT_2D('',#697,$); -#699=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#698,'',$,#696,#600,*); -#700=PACKAGE_TERMINAL('G3','part generic feature',#512,.T.); -#701=CARTESIAN_POINT('',(-150000.0,-250000.0)); -#702=AXIS2_PLACEMENT_2D('',#701,$); -#703=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#702,'',$,#700,#600,*); -#704=PACKAGE_TERMINAL('F6','part generic feature',#512,.T.); -#705=CARTESIAN_POINT('',(150000.0,-150000.0)); -#706=AXIS2_PLACEMENT_2D('',#705,$); -#707=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#706,'',$,#704,#600,*); -#708=PACKAGE_TERMINAL('B8','part generic feature',#512,.T.); -#709=CARTESIAN_POINT('',(350000.0,250000.0)); -#710=AXIS2_PLACEMENT_2D('',#709,$); -#711=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#710,'',$,#708,#600,*); -#712=PACKAGE_TERMINAL('E6','part generic feature',#512,.T.); -#713=CARTESIAN_POINT('',(150000.0,-50000.0)); -#714=AXIS2_PLACEMENT_2D('',#713,$); -#715=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#714,'',$,#712,#600,*); -#716=PACKAGE_TERMINAL('F1','part generic feature',#512,.T.); -#717=CARTESIAN_POINT('',(-350000.0,-150000.0)); -#718=AXIS2_PLACEMENT_2D('',#717,$); -#719=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#718,'',$,#716,#600,*); -#720=PACKAGE_TERMINAL('C8','part generic feature',#512,.T.); -#721=CARTESIAN_POINT('',(350000.0,150000.0)); -#722=AXIS2_PLACEMENT_2D('',#721,$); -#723=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#722,'',$,#720,#600,*); -#724=PACKAGE_TERMINAL('C3','part generic feature',#512,.T.); -#725=CARTESIAN_POINT('',(-150000.0,150000.0)); -#726=AXIS2_PLACEMENT_2D('',#725,$); -#727=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#726,'',$,#724,#600,*); -#728=PACKAGE_TERMINAL('E7','part generic feature',#512,.T.); -#729=CARTESIAN_POINT('',(250000.0,-50000.0)); -#730=AXIS2_PLACEMENT_2D('',#729,$); -#731=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#730,'',$,#728,#600,*); -#732=PACKAGE_TERMINAL('C5','part generic feature',#512,.T.); -#733=CARTESIAN_POINT('',(50000.0,150000.0)); -#734=AXIS2_PLACEMENT_2D('',#733,$); -#735=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#734,'',$,#732,#600,*); -#736=PACKAGE_TERMINAL('H6','part generic feature',#512,.T.); -#737=CARTESIAN_POINT('',(150000.0,-350000.0)); -#738=AXIS2_PLACEMENT_2D('',#737,$); -#739=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#738,'',$,#736,#600,*); -#740=PACKAGE_TERMINAL('F4','part generic feature',#512,.T.); -#741=CARTESIAN_POINT('',(-50000.0,-150000.0)); -#742=AXIS2_PLACEMENT_2D('',#741,$); -#743=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#742,'',$,#740,#600,*); -#744=PACKAGE_TERMINAL('G7','part generic feature',#512,.T.); -#745=CARTESIAN_POINT('',(250000.0,-250000.0)); -#746=AXIS2_PLACEMENT_2D('',#745,$); -#747=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#746,'',$,#744,#600,*); -#748=PACKAGE_TERMINAL('E1','part generic feature',#512,.T.); -#749=CARTESIAN_POINT('',(-350000.0,-50000.0)); -#750=AXIS2_PLACEMENT_2D('',#749,$); -#751=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#750,'',$,#748,#600,*); -#752=PACKAGE_TERMINAL('C6','part generic feature',#512,.T.); -#753=CARTESIAN_POINT('',(150000.0,150000.0)); -#754=AXIS2_PLACEMENT_2D('',#753,$); -#755=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#754,'',$,#752,#600,*); -#756=PACKAGE_TERMINAL('B3','part generic feature',#512,.T.); -#757=CARTESIAN_POINT('',(-150000.0,250000.0)); -#758=AXIS2_PLACEMENT_2D('',#757,$); -#759=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#758,'',$,#756,#600,*); -#760=PACKAGE_TERMINAL('G2','part generic feature',#512,.T.); -#761=CARTESIAN_POINT('',(-250000.0,-250000.0)); -#762=AXIS2_PLACEMENT_2D('',#761,$); -#763=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#762,'',$,#760,#600,*); -#764=PACKAGE_TERMINAL('F3','part generic feature',#512,.T.); -#765=CARTESIAN_POINT('',(-150000.0,-150000.0)); -#766=AXIS2_PLACEMENT_2D('',#765,$); -#767=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#766,'',$,#764,#600,*); -#768=PACKAGE_TERMINAL('B4','part generic feature',#512,.T.); -#769=CARTESIAN_POINT('',(-50000.0,250000.0)); -#770=AXIS2_PLACEMENT_2D('',#769,$); -#771=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#770,'',$,#768,#600,*); -#772=PACKAGE_TERMINAL('C7','part generic feature',#512,.T.); -#773=CARTESIAN_POINT('',(250000.0,150000.0)); -#774=AXIS2_PLACEMENT_2D('',#773,$); -#775=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#774,'',$,#772,#600,*); -#776=PACKAGE_TERMINAL('D4','part generic feature',#512,.T.); -#777=CARTESIAN_POINT('',(-50000.0,50000.0)); -#778=AXIS2_PLACEMENT_2D('',#777,$); -#779=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#778,'',$,#776,#600,*); -#780=PACKAGE_TERMINAL('F2','part generic feature',#512,.T.); -#781=CARTESIAN_POINT('',(-250000.0,-150000.0)); -#782=AXIS2_PLACEMENT_2D('',#781,$); -#783=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#782,'',$,#780,#600,*); -#784=PACKAGE_TERMINAL('E8','part generic feature',#512,.T.); -#785=CARTESIAN_POINT('',(350000.0,-50000.0)); -#786=AXIS2_PLACEMENT_2D('',#785,$); -#787=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#786,'',$,#784,#600,*); -#788=PACKAGE_TERMINAL('H7','part generic feature',#512,.T.); -#789=CARTESIAN_POINT('',(250000.0,-350000.0)); -#790=AXIS2_PLACEMENT_2D('',#789,$); -#791=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#790,'',$,#788,#600,*); -#792=PACKAGE_TERMINAL('H1','part generic feature',#512,.T.); -#793=CARTESIAN_POINT('',(-350000.0,-350000.0)); -#794=AXIS2_PLACEMENT_2D('',#793,$); -#795=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#794,'',$,#792,#600,*); -#796=PACKAGE_TERMINAL('B5','part generic feature',#512,.T.); -#797=CARTESIAN_POINT('',(50000.0,250000.0)); -#798=AXIS2_PLACEMENT_2D('',#797,$); -#799=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#798,'',$,#796,#600,*); -#800=PACKAGE_TERMINAL('G8','part generic feature',#512,.T.); -#801=CARTESIAN_POINT('',(350000.0,-250000.0)); -#802=AXIS2_PLACEMENT_2D('',#801,$); -#803=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#802,'',$,#800,#600,*); -#804=PACKAGE_TERMINAL('A7','part generic feature',#512,.T.); -#805=CARTESIAN_POINT('',(250000.0,350000.0)); -#806=AXIS2_PLACEMENT_2D('',#805,$); -#807=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#806,'',$,#804,#600,*); -#808=PACKAGE_TERMINAL('B2','part generic feature',#512,.T.); -#809=CARTESIAN_POINT('',(-250000.0,250000.0)); -#810=AXIS2_PLACEMENT_2D('',#809,$); -#811=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#810,'',$,#808,#600,*); -#812=PACKAGE_TERMINAL('H3','part generic feature',#512,.T.); -#813=CARTESIAN_POINT('',(-150000.0,-350000.0)); -#814=AXIS2_PLACEMENT_2D('',#813,$); -#815=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#814,'',$,#812,#600,*); -#816=PACKAGE_TERMINAL('A6','part generic feature',#512,.T.); -#817=CARTESIAN_POINT('',(150000.0,350000.0)); -#818=AXIS2_PLACEMENT_2D('',#817,$); -#819=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#818,'',$,#816,#600,*); -#820=PACKAGE_TERMINAL('F8','part generic feature',#512,.T.); -#821=CARTESIAN_POINT('',(350000.0,-150000.0)); -#822=AXIS2_PLACEMENT_2D('',#821,$); -#823=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#822,'',$,#820,#600,*); -#824=PACKAGE_TERMINAL('A4','part generic feature',#512,.T.); -#825=CARTESIAN_POINT('',(-50000.0,350000.0)); -#826=AXIS2_PLACEMENT_2D('',#825,$); -#827=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#826,'',$,#824,#600,*); -#828=PACKAGE_TERMINAL('B7','part generic feature',#512,.T.); -#829=CARTESIAN_POINT('',(250000.0,250000.0)); -#830=AXIS2_PLACEMENT_2D('',#829,$); -#831=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#830,'',$,#828,#600,*); -#832=PACKAGE_TERMINAL('G6','part generic feature',#512,.T.); -#833=CARTESIAN_POINT('',(150000.0,-250000.0)); -#834=AXIS2_PLACEMENT_2D('',#833,$); -#835=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#834,'',$,#832,#600,*); -#836=PACKAGE_TERMINAL('F7','part generic feature',#512,.T.); -#837=CARTESIAN_POINT('',(250000.0,-150000.0)); -#838=AXIS2_PLACEMENT_2D('',#837,$); -#839=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#838,'',$,#836,#600,*); -#840=PACKAGE_TERMINAL('A5','part generic feature',#512,.T.); -#841=CARTESIAN_POINT('',(50000.0,350000.0)); -#842=AXIS2_PLACEMENT_2D('',#841,$); -#843=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#842,'',$,#840,#600,*); -#844=PACKAGE_TERMINAL('G5','part generic feature',#512,.T.); -#845=CARTESIAN_POINT('',(50000.0,-250000.0)); -#846=AXIS2_PLACEMENT_2D('',#845,$); -#847=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#846,'',$,#844,#600,*); -#848=PACKAGE_TERMINAL('H4','part generic feature',#512,.T.); -#849=CARTESIAN_POINT('',(-50000.0,-350000.0)); -#850=AXIS2_PLACEMENT_2D('',#849,$); -#851=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#850,'',$,#848,#600,*); -#852=PACKAGE_TERMINAL('D7','part generic feature',#512,.T.); -#853=CARTESIAN_POINT('',(250000.0,50000.0)); -#854=AXIS2_PLACEMENT_2D('',#853,$); -#855=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#854,'',$,#852,#600,*); -#856=PACKAGE_TERMINAL('G1','part generic feature',#512,.T.); -#857=CARTESIAN_POINT('',(-350000.0,-250000.0)); -#858=AXIS2_PLACEMENT_2D('',#857,$); -#859=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#858,'',$,#856,#600,*); -#860=PACKAGE_TERMINAL('A8','part generic feature',#512,.T.); -#861=CARTESIAN_POINT('',(350000.0,350000.0)); -#862=AXIS2_PLACEMENT_2D('',#861,$); -#863=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#862,'',$,#860,#600,*); -#864=PACKAGE_TERMINAL('D3','part generic feature',#512,.T.); -#865=CARTESIAN_POINT('',(-150000.0,50000.0)); -#866=AXIS2_PLACEMENT_2D('',#865,$); -#867=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#866,'',$,#864,#600,*); -#868=PACKAGE_TERMINAL('G4','part generic feature',#512,.T.); -#869=CARTESIAN_POINT('',(-50000.0,-250000.0)); -#870=AXIS2_PLACEMENT_2D('',#869,$); -#871=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#870,'',$,#868,#600,*); -#872=PACKAGE_TERMINAL('A2','part generic feature',#512,.T.); -#873=CARTESIAN_POINT('',(-250000.0,350000.0)); -#874=AXIS2_PLACEMENT_2D('',#873,$); -#875=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#874,'',$,#872,#600,*); -#876=PACKAGE_TERMINAL('D6','part generic feature',#512,.T.); -#877=CARTESIAN_POINT('',(150000.0,50000.0)); -#878=AXIS2_PLACEMENT_2D('',#877,$); -#879=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15575,#878,'',$,#876,#600,*); -#880=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('',$,#882,#4)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#881=PRODUCT('tmpl11','template',$,(#21759)); -#882=PRODUCT_DEFINITION_FORMATION('1',$,#881); -#883=SHAPE_REPRESENTATION('ppsm',(#23,#915,#917,#919,#921,#923,#925,#927,#929,#931, - #933,#935,#937,#939,#941,#943,#945,#947,#949,#951,#953,#955,#957,#959,#961, - #963,#965,#967,#969,#971,#973,#975,#977,#979,#981,#983,#985,#987,#989,#991, - #993,#995,#997,#999,#1001,#1003,#1005,#1007,#1009,#1011,#1013,#1015,#1017,#1019, - #1021,#1023,#1025,#1027,#1029,#1031,#1033,#1035,#1037,#1039,#1041),#601); -#884=PADSTACK_DEFINITION('component',$,#886,#4,'',$,*); -#885=PRODUCT('tmpl12','template',$,(#21759)); -#886=PRODUCT_DEFINITION_FORMATION('1',$,#885); -#887=SHAPE_REPRESENTATION('ppsm',(#23,#904,#913),#888); -#888=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#889=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#891),#890); -#890=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#891=CSG_PRIMITIVE_SOLID_2D('',#892); -#892=CIRCULAR_AREA('',#24,19050.0); -#893=DEFAULT_ATTACHMENT_SIZE_BASED_LAND_PHYSICAL_TEMPLATE('normal attachment','default attachment size based', - #895,#4,'',$,*,'',$,*,.T.); -#894=PRODUCT('tmpl13','template',$,(#21759)); -#895=PRODUCT_DEFINITION_FORMATION('1',$,#894); -#896=LAND_TEMPLATE_TERMINAL('interface','interface terminal',#893,.T.); -#897=LAND_TEMPLATE_TERMINAL('join','join terminal',#893,.T.); -#898=LAYOUT_SPACING_REQUIREMENT('1',$,#902,#4); -#899=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#17)QUALIFIED_REPRESENTATION_ITEM((#335))REPRESENTATION_ITEM('')); -#900=REPRESENTATION('nominal tolerance',(#899),#338); -#901=PRODUCT('pid18','requirement',$,(#19100)); -#902=PRODUCT_DEFINITION_FORMATION('1',$,#901); -#903=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer1','tlist','is unknown', - #884,#893,'normal on Wiring Layer1','',$,#903); -#904=MAPPED_ITEM('tlistt',#21789,#23); -#905=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#907),#906); -#906=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#907=CSG_PRIMITIVE_SOLID_2D('',#908); -#908=CIRCULAR_AREA('',#24,24130.0); -#909=MATERIAL_REMOVAL_FEATURE_TEMPLATE('normal removal',$,#911,#4,'',$,*); -#910=PRODUCT('tmpl14','template',$,(#21759)); -#911=PRODUCT_DEFINITION_FORMATION('1',$,#910); -#912=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Resist-A','tlist','is unknown', - #884,#909,'normal on Resist-A','',$,#912); -#913=MAPPED_ITEM('tlistt',#21793,#23); -#914=ASSEMBLY_COMPONENT_USAGE('B6','tlist','is unknown',#880,#884,'B6'); -#915=MAPPED_ITEM('tlistt',#21797,#626); -#916=ASSEMBLY_COMPONENT_USAGE('D5','tlist','is unknown',#880,#884,'D5'); -#917=MAPPED_ITEM('tlistt',#21797,#630); -#918=ASSEMBLY_COMPONENT_USAGE('B1','tlist','is unknown',#880,#884,'B1'); -#919=MAPPED_ITEM('tlistt',#21797,#634); -#920=ASSEMBLY_COMPONENT_USAGE('E4','tlist','is unknown',#880,#884,'E4'); -#921=MAPPED_ITEM('tlistt',#21797,#638); -#922=ASSEMBLY_COMPONENT_USAGE('H2','tlist','is unknown',#880,#884,'H2'); -#923=MAPPED_ITEM('tlistt',#21797,#642); -#924=ASSEMBLY_COMPONENT_USAGE('E3','tlist','is unknown',#880,#884,'E3'); -#925=MAPPED_ITEM('tlistt',#21797,#646); -#926=ASSEMBLY_COMPONENT_USAGE('A1','tlist','is unknown',#880,#884,'A1'); -#927=MAPPED_ITEM('tlistt',#21797,#650); -#928=ASSEMBLY_COMPONENT_USAGE('H5','tlist','is unknown',#880,#884,'H5'); -#929=MAPPED_ITEM('tlistt',#21797,#654); -#930=ASSEMBLY_COMPONENT_USAGE('F5','tlist','is unknown',#880,#884,'F5'); -#931=MAPPED_ITEM('tlistt',#21797,#658); -#932=ASSEMBLY_COMPONENT_USAGE('C4','tlist','is unknown',#880,#884,'C4'); -#933=MAPPED_ITEM('tlistt',#21797,#662); -#934=ASSEMBLY_COMPONENT_USAGE('E2','tlist','is unknown',#880,#884,'E2'); -#935=MAPPED_ITEM('tlistt',#21797,#666); -#936=ASSEMBLY_COMPONENT_USAGE('H8','tlist','is unknown',#880,#884,'H8'); -#937=MAPPED_ITEM('tlistt',#21797,#670); -#938=ASSEMBLY_COMPONENT_USAGE('A3','tlist','is unknown',#880,#884,'A3'); -#939=MAPPED_ITEM('tlistt',#21797,#674); -#940=ASSEMBLY_COMPONENT_USAGE('D1','tlist','is unknown',#880,#884,'D1'); -#941=MAPPED_ITEM('tlistt',#21797,#678); -#942=ASSEMBLY_COMPONENT_USAGE('C2','tlist','is unknown',#880,#884,'C2'); -#943=MAPPED_ITEM('tlistt',#21797,#682); -#944=ASSEMBLY_COMPONENT_USAGE('E5','tlist','is unknown',#880,#884,'E5'); -#945=MAPPED_ITEM('tlistt',#21797,#686); -#946=ASSEMBLY_COMPONENT_USAGE('D2','tlist','is unknown',#880,#884,'D2'); -#947=MAPPED_ITEM('tlistt',#21797,#690); -#948=ASSEMBLY_COMPONENT_USAGE('D8','tlist','is unknown',#880,#884,'D8'); -#949=MAPPED_ITEM('tlistt',#21797,#694); -#950=ASSEMBLY_COMPONENT_USAGE('C1','tlist','is unknown',#880,#884,'C1'); -#951=MAPPED_ITEM('tlistt',#21797,#698); -#952=ASSEMBLY_COMPONENT_USAGE('G3','tlist','is unknown',#880,#884,'G3'); -#953=MAPPED_ITEM('tlistt',#21797,#702); -#954=ASSEMBLY_COMPONENT_USAGE('F6','tlist','is unknown',#880,#884,'F6'); -#955=MAPPED_ITEM('tlistt',#21797,#706); -#956=ASSEMBLY_COMPONENT_USAGE('B8','tlist','is unknown',#880,#884,'B8'); -#957=MAPPED_ITEM('tlistt',#21797,#710); -#958=ASSEMBLY_COMPONENT_USAGE('E6','tlist','is unknown',#880,#884,'E6'); -#959=MAPPED_ITEM('tlistt',#21797,#714); -#960=ASSEMBLY_COMPONENT_USAGE('F1','tlist','is unknown',#880,#884,'F1'); -#961=MAPPED_ITEM('tlistt',#21797,#718); -#962=ASSEMBLY_COMPONENT_USAGE('C8','tlist','is unknown',#880,#884,'C8'); -#963=MAPPED_ITEM('tlistt',#21797,#722); -#964=ASSEMBLY_COMPONENT_USAGE('C3','tlist','is unknown',#880,#884,'C3'); -#965=MAPPED_ITEM('tlistt',#21797,#726); -#966=ASSEMBLY_COMPONENT_USAGE('E7','tlist','is unknown',#880,#884,'E7'); -#967=MAPPED_ITEM('tlistt',#21797,#730); -#968=ASSEMBLY_COMPONENT_USAGE('C5','tlist','is unknown',#880,#884,'C5'); -#969=MAPPED_ITEM('tlistt',#21797,#734); -#970=ASSEMBLY_COMPONENT_USAGE('H6','tlist','is unknown',#880,#884,'H6'); -#971=MAPPED_ITEM('tlistt',#21797,#738); -#972=ASSEMBLY_COMPONENT_USAGE('F4','tlist','is unknown',#880,#884,'F4'); -#973=MAPPED_ITEM('tlistt',#21797,#742); -#974=ASSEMBLY_COMPONENT_USAGE('G7','tlist','is unknown',#880,#884,'G7'); -#975=MAPPED_ITEM('tlistt',#21797,#746); -#976=ASSEMBLY_COMPONENT_USAGE('E1','tlist','is unknown',#880,#884,'E1'); -#977=MAPPED_ITEM('tlistt',#21797,#750); -#978=ASSEMBLY_COMPONENT_USAGE('C6','tlist','is unknown',#880,#884,'C6'); -#979=MAPPED_ITEM('tlistt',#21797,#754); -#980=ASSEMBLY_COMPONENT_USAGE('B3','tlist','is unknown',#880,#884,'B3'); -#981=MAPPED_ITEM('tlistt',#21797,#758); -#982=ASSEMBLY_COMPONENT_USAGE('G2','tlist','is unknown',#880,#884,'G2'); -#983=MAPPED_ITEM('tlistt',#21797,#762); -#984=ASSEMBLY_COMPONENT_USAGE('F3','tlist','is unknown',#880,#884,'F3'); -#985=MAPPED_ITEM('tlistt',#21797,#766); -#986=ASSEMBLY_COMPONENT_USAGE('B4','tlist','is unknown',#880,#884,'B4'); -#987=MAPPED_ITEM('tlistt',#21797,#770); -#988=ASSEMBLY_COMPONENT_USAGE('C7','tlist','is unknown',#880,#884,'C7'); -#989=MAPPED_ITEM('tlistt',#21797,#774); -#990=ASSEMBLY_COMPONENT_USAGE('D4','tlist','is unknown',#880,#884,'D4'); -#991=MAPPED_ITEM('tlistt',#21797,#778); -#992=ASSEMBLY_COMPONENT_USAGE('F2','tlist','is unknown',#880,#884,'F2'); -#993=MAPPED_ITEM('tlistt',#21797,#782); -#994=ASSEMBLY_COMPONENT_USAGE('E8','tlist','is unknown',#880,#884,'E8'); -#995=MAPPED_ITEM('tlistt',#21797,#786); -#996=ASSEMBLY_COMPONENT_USAGE('H7','tlist','is unknown',#880,#884,'H7'); -#997=MAPPED_ITEM('tlistt',#21797,#790); -#998=ASSEMBLY_COMPONENT_USAGE('H1','tlist','is unknown',#880,#884,'H1'); -#999=MAPPED_ITEM('tlistt',#21797,#794); -#1000=ASSEMBLY_COMPONENT_USAGE('B5','tlist','is unknown',#880,#884,'B5'); -#1001=MAPPED_ITEM('tlistt',#21797,#798); -#1002=ASSEMBLY_COMPONENT_USAGE('G8','tlist','is unknown',#880,#884,'G8'); -#1003=MAPPED_ITEM('tlistt',#21797,#802); -#1004=ASSEMBLY_COMPONENT_USAGE('A7','tlist','is unknown',#880,#884,'A7'); -#1005=MAPPED_ITEM('tlistt',#21797,#806); -#1006=ASSEMBLY_COMPONENT_USAGE('B2','tlist','is unknown',#880,#884,'B2'); -#1007=MAPPED_ITEM('tlistt',#21797,#810); -#1008=ASSEMBLY_COMPONENT_USAGE('H3','tlist','is unknown',#880,#884,'H3'); -#1009=MAPPED_ITEM('tlistt',#21797,#814); -#1010=ASSEMBLY_COMPONENT_USAGE('A6','tlist','is unknown',#880,#884,'A6'); -#1011=MAPPED_ITEM('tlistt',#21797,#818); -#1012=ASSEMBLY_COMPONENT_USAGE('F8','tlist','is unknown',#880,#884,'F8'); -#1013=MAPPED_ITEM('tlistt',#21797,#822); -#1014=ASSEMBLY_COMPONENT_USAGE('A4','tlist','is unknown',#880,#884,'A4'); -#1015=MAPPED_ITEM('tlistt',#21797,#826); -#1016=ASSEMBLY_COMPONENT_USAGE('B7','tlist','is unknown',#880,#884,'B7'); -#1017=MAPPED_ITEM('tlistt',#21797,#830); -#1018=ASSEMBLY_COMPONENT_USAGE('G6','tlist','is unknown',#880,#884,'G6'); -#1019=MAPPED_ITEM('tlistt',#21797,#834); -#1020=ASSEMBLY_COMPONENT_USAGE('F7','tlist','is unknown',#880,#884,'F7'); -#1021=MAPPED_ITEM('tlistt',#21797,#838); -#1022=ASSEMBLY_COMPONENT_USAGE('A5','tlist','is unknown',#880,#884,'A5'); -#1023=MAPPED_ITEM('tlistt',#21797,#842); -#1024=ASSEMBLY_COMPONENT_USAGE('G5','tlist','is unknown',#880,#884,'G5'); -#1025=MAPPED_ITEM('tlistt',#21797,#846); -#1026=ASSEMBLY_COMPONENT_USAGE('H4','tlist','is unknown',#880,#884,'H4'); -#1027=MAPPED_ITEM('tlistt',#21797,#850); -#1028=ASSEMBLY_COMPONENT_USAGE('D7','tlist','is unknown',#880,#884,'D7'); -#1029=MAPPED_ITEM('tlistt',#21797,#854); -#1030=ASSEMBLY_COMPONENT_USAGE('G1','tlist','is unknown',#880,#884,'G1'); -#1031=MAPPED_ITEM('tlistt',#21797,#858); -#1032=ASSEMBLY_COMPONENT_USAGE('A8','tlist','is unknown',#880,#884,'A8'); -#1033=MAPPED_ITEM('tlistt',#21797,#862); -#1034=ASSEMBLY_COMPONENT_USAGE('D3','tlist','is unknown',#880,#884,'D3'); -#1035=MAPPED_ITEM('tlistt',#21797,#866); -#1036=ASSEMBLY_COMPONENT_USAGE('G4','tlist','is unknown',#880,#884,'G4'); -#1037=MAPPED_ITEM('tlistt',#21797,#870); -#1038=ASSEMBLY_COMPONENT_USAGE('A2','tlist','is unknown',#880,#884,'A2'); -#1039=MAPPED_ITEM('tlistt',#21797,#874); -#1040=ASSEMBLY_COMPONENT_USAGE('D6','tlist','is unknown',#880,#884,'D6'); -#1041=MAPPED_ITEM('tlistt',#21797,#878); -#1042=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 100000.0),#17)REPRESENTATION_ITEM('')); -#1043=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#17)REPRESENTATION_ITEM('')); -#1044=SEATING_PLANE('seating plane',$,#512,.F.); -#1045=PACKAGED_COMPONENT('U2',$,#502,#25355,'U2','definition usage',$,#500,*,'', - $,*); -#1046=DIRECTION('',(1.0,1.2246467991473532E-16)); -#1047=DIRECTION('',(1.2246467991473532E-16,-1.0)); -#1048=CARTESIAN_POINT('',(3302000.0,2095500.0)); -#1049=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1046,#1047,#1048,1.0); -#1050=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('U2','',$,#12,#500,'U2','',$,#1045, - *); -#1051=PRODUCT_DEFINITION_SHAPE('',$,#1050); -#1052=COMPONENT_2D_LOCATION(*,#1051,'component 2d location',$,#600,#13,#1049); -#1053=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.055),#504)REPRESENTATION_ITEM('')); -#1054=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('',$,#1056,#4); -#1055=PRODUCT('pid19','requirement',$,(#19100)); -#1056=PRODUCT_DEFINITION_FORMATION('1',$,#1055); -#1057=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#1058=PACKAGED_PART_TERMINAL('14','join terminal',#500,.T.); -#1059=PACKAGED_PART_TERMINAL('29','join terminal',#500,.T.); -#1060=PACKAGED_PART_TERMINAL('9','join terminal',#500,.T.); -#1061=PACKAGED_PART_TERMINAL('36','join terminal',#500,.T.); -#1062=PACKAGED_PART_TERMINAL('58','join terminal',#500,.T.); -#1063=PACKAGED_PART_TERMINAL('35','join terminal',#500,.T.); -#1064=PACKAGED_PART_TERMINAL('1','join terminal',#500,.T.); -#1065=PACKAGED_PART_TERMINAL('61','join terminal',#500,.T.); -#1066=PACKAGED_PART_TERMINAL('45','join terminal',#500,.T.); -#1067=PACKAGED_PART_TERMINAL('20','join terminal',#500,.T.); -#1068=PACKAGED_PART_TERMINAL('34','join terminal',#500,.T.); -#1069=PACKAGED_PART_TERMINAL('64','join terminal',#500,.T.); -#1070=PACKAGED_PART_TERMINAL('3','join terminal',#500,.T.); -#1071=PACKAGED_PART_TERMINAL('25','join terminal',#500,.T.); -#1072=PACKAGED_PART_TERMINAL('18','join terminal',#500,.T.); -#1073=PACKAGED_PART_TERMINAL('37','join terminal',#500,.T.); -#1074=PACKAGED_PART_TERMINAL('26','join terminal',#500,.T.); -#1075=PACKAGED_PART_TERMINAL('32','join terminal',#500,.T.); -#1076=PACKAGED_PART_TERMINAL('17','join terminal',#500,.T.); -#1077=PACKAGED_PART_TERMINAL('51','join terminal',#500,.T.); -#1078=PACKAGED_PART_TERMINAL('46','join terminal',#500,.T.); -#1079=PACKAGED_PART_TERMINAL('16','join terminal',#500,.T.); -#1080=PACKAGED_PART_TERMINAL('38','join terminal',#500,.T.); -#1081=PACKAGED_PART_TERMINAL('41','join terminal',#500,.T.); -#1082=PACKAGED_PART_TERMINAL('24','join terminal',#500,.T.); -#1083=PACKAGED_PART_TERMINAL('19','join terminal',#500,.T.); -#1084=PACKAGED_PART_TERMINAL('39','join terminal',#500,.T.); -#1085=PACKAGED_PART_TERMINAL('21','join terminal',#500,.T.); -#1086=PACKAGED_PART_TERMINAL('62','join terminal',#500,.T.); -#1087=PACKAGED_PART_TERMINAL('44','join terminal',#500,.T.); -#1088=PACKAGED_PART_TERMINAL('55','join terminal',#500,.T.); -#1089=PACKAGED_PART_TERMINAL('33','join terminal',#500,.T.); -#1090=PACKAGED_PART_TERMINAL('22','join terminal',#500,.T.); -#1091=PACKAGED_PART_TERMINAL('11','join terminal',#500,.T.); -#1092=PACKAGED_PART_TERMINAL('50','join terminal',#500,.T.); -#1093=PACKAGED_PART_TERMINAL('43','join terminal',#500,.T.); -#1094=PACKAGED_PART_TERMINAL('12','join terminal',#500,.T.); -#1095=PACKAGED_PART_TERMINAL('23','join terminal',#500,.T.); -#1096=PACKAGED_PART_TERMINAL('28','join terminal',#500,.T.); -#1097=PACKAGED_PART_TERMINAL('42','join terminal',#500,.T.); -#1098=PACKAGED_PART_TERMINAL('40','join terminal',#500,.T.); -#1099=PACKAGED_PART_TERMINAL('63','join terminal',#500,.T.); -#1100=PACKAGED_PART_TERMINAL('57','join terminal',#500,.T.); -#1101=PACKAGED_PART_TERMINAL('13','join terminal',#500,.T.); -#1102=PACKAGED_PART_TERMINAL('56','join terminal',#500,.T.); -#1103=PACKAGED_PART_TERMINAL('7','join terminal',#500,.T.); -#1104=PACKAGED_PART_TERMINAL('10','join terminal',#500,.T.); -#1105=PACKAGED_PART_TERMINAL('59','join terminal',#500,.T.); -#1106=PACKAGED_PART_TERMINAL('6','join terminal',#500,.T.); -#1107=PACKAGED_PART_TERMINAL('48','join terminal',#500,.T.); -#1108=PACKAGED_PART_TERMINAL('4','join terminal',#500,.T.); -#1109=PACKAGED_PART_TERMINAL('15','join terminal',#500,.T.); -#1110=PACKAGED_PART_TERMINAL('54','join terminal',#500,.T.); -#1111=PACKAGED_PART_TERMINAL('47','join terminal',#500,.T.); -#1112=PACKAGED_PART_TERMINAL('5','join terminal',#500,.T.); -#1113=PACKAGED_PART_TERMINAL('53','join terminal',#500,.T.); -#1114=PACKAGED_PART_TERMINAL('60','join terminal',#500,.T.); -#1115=PACKAGED_PART_TERMINAL('31','join terminal',#500,.T.); -#1116=PACKAGED_PART_TERMINAL('49','join terminal',#500,.T.); -#1117=PACKAGED_PART_TERMINAL('8','join terminal',#500,.T.); -#1118=PACKAGED_PART_TERMINAL('27','join terminal',#500,.T.); -#1119=PACKAGED_PART_TERMINAL('52','join terminal',#500,.T.); -#1120=PACKAGED_PART_TERMINAL('2','join terminal',#500,.T.); -#1121=PACKAGED_PART_TERMINAL('30','join terminal',#500,.T.); -#1122=CARTESIAN_POINT('',(3452000.0,1845500.0)); -#1123=AXIS2_PLACEMENT_2D('',#1122,#1124); -#1124=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#1125=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 14','part generic feature', - #27,.T.); -#1126=SHAPE_REPRESENTATION('ppsm',(#23),#1127); -#1127=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1128=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15576,#1123,'',$,#1125,#30,*); -#1129=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1125); -#1130=PHYSICAL_COMPONENT_TERMINAL('U2 pin 14','interconnect module component terminal', - #72,.U.); -#1131=CARTESIAN_POINT('',(3352000.0,2045500.0)); -#1132=AXIS2_PLACEMENT_2D('',#1131,#1124); -#1133=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 29','part generic feature', - #27,.T.); -#1134=SHAPE_REPRESENTATION('ppsm',(#23),#1135); -#1135=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1136=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15577,#1132,'',$,#1133,#30,*); -#1137=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1133); -#1138=PHYSICAL_COMPONENT_TERMINAL('U2 pin 29','interconnect module component terminal', - #72,.U.); -#1139=CARTESIAN_POINT('',(2952000.0,1845500.0)); -#1140=AXIS2_PLACEMENT_2D('',#1139,#1124); -#1141=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 9','part generic feature',#27, - .T.); -#1142=SHAPE_REPRESENTATION('ppsm',(#23),#1143); -#1143=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1144=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15578,#1140,'',$,#1141,#30,*); -#1145=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1141); -#1146=PHYSICAL_COMPONENT_TERMINAL('U2 pin 9','interconnect module component terminal', - #72,.U.); -#1147=CARTESIAN_POINT('',(3252000.0,2145500.0)); -#1148=AXIS2_PLACEMENT_2D('',#1147,#1124); -#1149=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 36','part generic feature', - #27,.T.); -#1150=SHAPE_REPRESENTATION('ppsm',(#23),#1151); -#1151=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1152=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15579,#1148,'',$,#1149,#30,*); -#1153=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1149); -#1154=PHYSICAL_COMPONENT_TERMINAL('U2 pin 36','interconnect module component terminal', - #72,.U.); -#1155=CARTESIAN_POINT('',(3052000.0,2445500.0)); -#1156=AXIS2_PLACEMENT_2D('',#1155,#1124); -#1157=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 58','part generic feature', - #27,.T.); -#1158=SHAPE_REPRESENTATION('ppsm',(#23),#1159); -#1159=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1160=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15580,#1156,'',$,#1157,#30,*); -#1161=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1157); -#1162=PHYSICAL_COMPONENT_TERMINAL('U2 pin 58','interconnect module component terminal', - #72,.U.); -#1163=CARTESIAN_POINT('',(3152000.0,2145500.0)); -#1164=AXIS2_PLACEMENT_2D('',#1163,#1124); -#1165=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 35','part generic feature', - #27,.T.); -#1166=SHAPE_REPRESENTATION('ppsm',(#23),#1167); -#1167=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1168=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15581,#1164,'',$,#1165,#30,*); -#1169=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1165); -#1170=PHYSICAL_COMPONENT_TERMINAL('U2 pin 35','interconnect module component terminal', - #72,.U.); -#1171=CARTESIAN_POINT('',(2952000.0,1745500.0)); -#1172=AXIS2_PLACEMENT_2D('',#1171,#1124); -#1173=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 1','part generic feature',#27, - .T.); -#1174=SHAPE_REPRESENTATION('ppsm',(#23),#1175); -#1175=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1176=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15582,#1172,'',$,#1173,#30,*); -#1177=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1173); -#1178=PHYSICAL_COMPONENT_TERMINAL('U2 pin 1','interconnect module component terminal', - #72,.U.); -#1179=CARTESIAN_POINT('',(3352000.0,2445500.0)); -#1180=AXIS2_PLACEMENT_2D('',#1179,#1124); -#1181=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 61','part generic feature', - #27,.T.); -#1182=SHAPE_REPRESENTATION('ppsm',(#23),#1183); -#1183=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1184=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15583,#1180,'',$,#1181,#30,*); -#1185=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1181); -#1186=PHYSICAL_COMPONENT_TERMINAL('U2 pin 61','interconnect module component terminal', - #72,.U.); -#1187=CARTESIAN_POINT('',(3352000.0,2245500.0)); -#1188=AXIS2_PLACEMENT_2D('',#1187,#1124); -#1189=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 45','part generic feature', - #27,.T.); -#1190=SHAPE_REPRESENTATION('ppsm',(#23),#1191); -#1191=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1192=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15584,#1188,'',$,#1189,#30,*); -#1193=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1189); -#1194=PHYSICAL_COMPONENT_TERMINAL('U2 pin 45','interconnect module component terminal', - #72,.U.); -#1195=CARTESIAN_POINT('',(3252000.0,1945500.0)); -#1196=AXIS2_PLACEMENT_2D('',#1195,#1124); -#1197=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 20','part generic feature', - #27,.T.); -#1198=SHAPE_REPRESENTATION('ppsm',(#23),#1199); -#1199=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1200=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15585,#1196,'',$,#1197,#30,*); -#1201=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1197); -#1202=PHYSICAL_COMPONENT_TERMINAL('U2 pin 20','interconnect module component terminal', - #72,.U.); -#1203=CARTESIAN_POINT('',(3052000.0,2145500.0)); -#1204=AXIS2_PLACEMENT_2D('',#1203,#1124); -#1205=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 34','part generic feature', - #27,.T.); -#1206=SHAPE_REPRESENTATION('ppsm',(#23),#1207); -#1207=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1208=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15586,#1204,'',$,#1205,#30,*); -#1209=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1205); -#1210=PHYSICAL_COMPONENT_TERMINAL('U2 pin 34','interconnect module component terminal', - #72,.U.); -#1211=CARTESIAN_POINT('',(3652000.0,2445500.0)); -#1212=AXIS2_PLACEMENT_2D('',#1211,#1124); -#1213=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 64','part generic feature', - #27,.T.); -#1214=SHAPE_REPRESENTATION('ppsm',(#23),#1215); -#1215=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1216=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15587,#1212,'',$,#1213,#30,*); -#1217=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1213); -#1218=PHYSICAL_COMPONENT_TERMINAL('U2 pin 64','interconnect module component terminal', - #72,.U.); -#1219=CARTESIAN_POINT('',(3152000.0,1745500.0)); -#1220=AXIS2_PLACEMENT_2D('',#1219,#1124); -#1221=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 3','part generic feature',#27, - .T.); -#1222=SHAPE_REPRESENTATION('ppsm',(#23),#1223); -#1223=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1224=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15588,#1220,'',$,#1221,#30,*); -#1225=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1221); -#1226=PHYSICAL_COMPONENT_TERMINAL('U2 pin 3','interconnect module component terminal', - #72,.U.); -#1227=CARTESIAN_POINT('',(2952000.0,2045500.0)); -#1228=AXIS2_PLACEMENT_2D('',#1227,#1124); -#1229=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 25','part generic feature', - #27,.T.); -#1230=SHAPE_REPRESENTATION('ppsm',(#23),#1231); -#1231=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1232=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15589,#1228,'',$,#1229,#30,*); -#1233=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1229); -#1234=PHYSICAL_COMPONENT_TERMINAL('U2 pin 25','interconnect module component terminal', - #72,.U.); -#1235=CARTESIAN_POINT('',(3052000.0,1945500.0)); -#1236=AXIS2_PLACEMENT_2D('',#1235,#1124); -#1237=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 18','part generic feature', - #27,.T.); -#1238=SHAPE_REPRESENTATION('ppsm',(#23),#1239); -#1239=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1240=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15590,#1236,'',$,#1237,#30,*); -#1241=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1237); -#1242=PHYSICAL_COMPONENT_TERMINAL('U2 pin 18','interconnect module component terminal', - #72,.U.); -#1243=CARTESIAN_POINT('',(3352000.0,2145500.0)); -#1244=AXIS2_PLACEMENT_2D('',#1243,#1124); -#1245=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 37','part generic feature', - #27,.T.); -#1246=SHAPE_REPRESENTATION('ppsm',(#23),#1247); -#1247=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1248=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15591,#1244,'',$,#1245,#30,*); -#1249=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1245); -#1250=PHYSICAL_COMPONENT_TERMINAL('U2 pin 37','interconnect module component terminal', - #72,.U.); -#1251=CARTESIAN_POINT('',(3052000.0,2045500.0)); -#1252=AXIS2_PLACEMENT_2D('',#1251,#1124); -#1253=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 26','part generic feature', - #27,.T.); -#1254=SHAPE_REPRESENTATION('ppsm',(#23),#1255); -#1255=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1256=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15592,#1252,'',$,#1253,#30,*); -#1257=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1253); -#1258=PHYSICAL_COMPONENT_TERMINAL('U2 pin 26','interconnect module component terminal', - #72,.U.); -#1259=CARTESIAN_POINT('',(3652000.0,2045500.0)); -#1260=AXIS2_PLACEMENT_2D('',#1259,#1124); -#1261=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 32','part generic feature', - #27,.T.); -#1262=SHAPE_REPRESENTATION('ppsm',(#23),#1263); -#1263=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1264=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15593,#1260,'',$,#1261,#30,*); -#1265=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1261); -#1266=PHYSICAL_COMPONENT_TERMINAL('U2 pin 32','interconnect module component terminal', - #72,.U.); -#1267=CARTESIAN_POINT('',(2952000.0,1945500.0)); -#1268=AXIS2_PLACEMENT_2D('',#1267,#1124); -#1269=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 17','part generic feature', - #27,.T.); -#1270=SHAPE_REPRESENTATION('ppsm',(#23),#1271); -#1271=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1272=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15594,#1268,'',$,#1269,#30,*); -#1273=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1269); -#1274=PHYSICAL_COMPONENT_TERMINAL('U2 pin 17','interconnect module component terminal', - #72,.U.); -#1275=CARTESIAN_POINT('',(3152000.0,2345500.0)); -#1276=AXIS2_PLACEMENT_2D('',#1275,#1124); -#1277=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 51','part generic feature', - #27,.T.); -#1278=SHAPE_REPRESENTATION('ppsm',(#23),#1279); -#1279=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1280=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15595,#1276,'',$,#1277,#30,*); -#1281=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1277); -#1282=PHYSICAL_COMPONENT_TERMINAL('U2 pin 51','interconnect module component terminal', - #72,.U.); -#1283=CARTESIAN_POINT('',(3452000.0,2245500.0)); -#1284=AXIS2_PLACEMENT_2D('',#1283,#1124); -#1285=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 46','part generic feature', - #27,.T.); -#1286=SHAPE_REPRESENTATION('ppsm',(#23),#1287); -#1287=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1288=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15596,#1284,'',$,#1285,#30,*); -#1289=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1285); -#1290=PHYSICAL_COMPONENT_TERMINAL('U2 pin 46','interconnect module component terminal', - #72,.U.); -#1291=CARTESIAN_POINT('',(3652000.0,1845500.0)); -#1292=AXIS2_PLACEMENT_2D('',#1291,#1124); -#1293=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 16','part generic feature', - #27,.T.); -#1294=SHAPE_REPRESENTATION('ppsm',(#23),#1295); -#1295=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1296=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15597,#1292,'',$,#1293,#30,*); -#1297=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1293); -#1298=PHYSICAL_COMPONENT_TERMINAL('U2 pin 16','interconnect module component terminal', - #72,.U.); -#1299=CARTESIAN_POINT('',(3452000.0,2145500.0)); -#1300=AXIS2_PLACEMENT_2D('',#1299,#1124); -#1301=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 38','part generic feature', - #27,.T.); -#1302=SHAPE_REPRESENTATION('ppsm',(#23),#1303); -#1303=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1304=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15598,#1300,'',$,#1301,#30,*); -#1305=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1301); -#1306=PHYSICAL_COMPONENT_TERMINAL('U2 pin 38','interconnect module component terminal', - #72,.U.); -#1307=CARTESIAN_POINT('',(2952000.0,2245500.0)); -#1308=AXIS2_PLACEMENT_2D('',#1307,#1124); -#1309=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 41','part generic feature', - #27,.T.); -#1310=SHAPE_REPRESENTATION('ppsm',(#23),#1311); -#1311=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1312=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15599,#1308,'',$,#1309,#30,*); -#1313=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1309); -#1314=PHYSICAL_COMPONENT_TERMINAL('U2 pin 41','interconnect module component terminal', - #72,.U.); -#1315=CARTESIAN_POINT('',(3652000.0,1945500.0)); -#1316=AXIS2_PLACEMENT_2D('',#1315,#1124); -#1317=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 24','part generic feature', - #27,.T.); -#1318=SHAPE_REPRESENTATION('ppsm',(#23),#1319); -#1319=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1320=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15600,#1316,'',$,#1317,#30,*); -#1321=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1317); -#1322=PHYSICAL_COMPONENT_TERMINAL('U2 pin 24','interconnect module component terminal', - #72,.U.); -#1323=CARTESIAN_POINT('',(3152000.0,1945500.0)); -#1324=AXIS2_PLACEMENT_2D('',#1323,#1124); -#1325=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 19','part generic feature', - #27,.T.); -#1326=SHAPE_REPRESENTATION('ppsm',(#23),#1327); -#1327=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1328=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15601,#1324,'',$,#1325,#30,*); -#1329=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1325); -#1330=PHYSICAL_COMPONENT_TERMINAL('U2 pin 19','interconnect module component terminal', - #72,.U.); -#1331=CARTESIAN_POINT('',(3552000.0,2145500.0)); -#1332=AXIS2_PLACEMENT_2D('',#1331,#1124); -#1333=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 39','part generic feature', - #27,.T.); -#1334=SHAPE_REPRESENTATION('ppsm',(#23),#1335); -#1335=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1336=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15602,#1332,'',$,#1333,#30,*); -#1337=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1333); -#1338=PHYSICAL_COMPONENT_TERMINAL('U2 pin 39','interconnect module component terminal', - #72,.U.); -#1339=CARTESIAN_POINT('',(3352000.0,1945500.0)); -#1340=AXIS2_PLACEMENT_2D('',#1339,#1124); -#1341=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 21','part generic feature', - #27,.T.); -#1342=SHAPE_REPRESENTATION('ppsm',(#23),#1343); -#1343=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1344=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15603,#1340,'',$,#1341,#30,*); -#1345=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1341); -#1346=PHYSICAL_COMPONENT_TERMINAL('U2 pin 21','interconnect module component terminal', - #72,.U.); -#1347=CARTESIAN_POINT('',(3452000.0,2445500.0)); -#1348=AXIS2_PLACEMENT_2D('',#1347,#1124); -#1349=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 62','part generic feature', - #27,.T.); -#1350=SHAPE_REPRESENTATION('ppsm',(#23),#1351); -#1351=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1352=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15604,#1348,'',$,#1349,#30,*); -#1353=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1349); -#1354=PHYSICAL_COMPONENT_TERMINAL('U2 pin 62','interconnect module component terminal', - #72,.U.); -#1355=CARTESIAN_POINT('',(3252000.0,2245500.0)); -#1356=AXIS2_PLACEMENT_2D('',#1355,#1124); -#1357=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 44','part generic feature', - #27,.T.); -#1358=SHAPE_REPRESENTATION('ppsm',(#23),#1359); -#1359=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1360=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15605,#1356,'',$,#1357,#30,*); -#1361=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1357); -#1362=PHYSICAL_COMPONENT_TERMINAL('U2 pin 44','interconnect module component terminal', - #72,.U.); -#1363=CARTESIAN_POINT('',(3552000.0,2345500.0)); -#1364=AXIS2_PLACEMENT_2D('',#1363,#1124); -#1365=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 55','part generic feature', - #27,.T.); -#1366=SHAPE_REPRESENTATION('ppsm',(#23),#1367); -#1367=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1368=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15606,#1364,'',$,#1365,#30,*); -#1369=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1365); -#1370=PHYSICAL_COMPONENT_TERMINAL('U2 pin 55','interconnect module component terminal', - #72,.U.); -#1371=CARTESIAN_POINT('',(2952000.0,2145500.0)); -#1372=AXIS2_PLACEMENT_2D('',#1371,#1124); -#1373=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 33','part generic feature', - #27,.T.); -#1374=SHAPE_REPRESENTATION('ppsm',(#23),#1375); -#1375=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1376=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15607,#1372,'',$,#1373,#30,*); -#1377=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1373); -#1378=PHYSICAL_COMPONENT_TERMINAL('U2 pin 33','interconnect module component terminal', - #72,.U.); -#1379=CARTESIAN_POINT('',(3452000.0,1945500.0)); -#1380=AXIS2_PLACEMENT_2D('',#1379,#1124); -#1381=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 22','part generic feature', - #27,.T.); -#1382=SHAPE_REPRESENTATION('ppsm',(#23),#1383); -#1383=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1384=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15608,#1380,'',$,#1381,#30,*); -#1385=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1381); -#1386=PHYSICAL_COMPONENT_TERMINAL('U2 pin 22','interconnect module component terminal', - #72,.U.); -#1387=CARTESIAN_POINT('',(3152000.0,1845500.0)); -#1388=AXIS2_PLACEMENT_2D('',#1387,#1124); -#1389=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 11','part generic feature', - #27,.T.); -#1390=SHAPE_REPRESENTATION('ppsm',(#23),#1391); -#1391=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1392=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15609,#1388,'',$,#1389,#30,*); -#1393=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1389); -#1394=PHYSICAL_COMPONENT_TERMINAL('U2 pin 11','interconnect module component terminal', - #72,.U.); -#1395=CARTESIAN_POINT('',(3052000.0,2345500.0)); -#1396=AXIS2_PLACEMENT_2D('',#1395,#1124); -#1397=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 50','part generic feature', - #27,.T.); -#1398=SHAPE_REPRESENTATION('ppsm',(#23),#1399); -#1399=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1400=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15610,#1396,'',$,#1397,#30,*); -#1401=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1397); -#1402=PHYSICAL_COMPONENT_TERMINAL('U2 pin 50','interconnect module component terminal', - #72,.U.); -#1403=CARTESIAN_POINT('',(3152000.0,2245500.0)); -#1404=AXIS2_PLACEMENT_2D('',#1403,#1124); -#1405=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 43','part generic feature', - #27,.T.); -#1406=SHAPE_REPRESENTATION('ppsm',(#23),#1407); -#1407=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1408=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15611,#1404,'',$,#1405,#30,*); -#1409=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1405); -#1410=PHYSICAL_COMPONENT_TERMINAL('U2 pin 43','interconnect module component terminal', - #72,.U.); -#1411=CARTESIAN_POINT('',(3252000.0,1845500.0)); -#1412=AXIS2_PLACEMENT_2D('',#1411,#1124); -#1413=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 12','part generic feature', - #27,.T.); -#1414=SHAPE_REPRESENTATION('ppsm',(#23),#1415); -#1415=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1416=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15612,#1412,'',$,#1413,#30,*); -#1417=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1413); -#1418=PHYSICAL_COMPONENT_TERMINAL('U2 pin 12','interconnect module component terminal', - #72,.U.); -#1419=CARTESIAN_POINT('',(3552000.0,1945500.0)); -#1420=AXIS2_PLACEMENT_2D('',#1419,#1124); -#1421=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 23','part generic feature', - #27,.T.); -#1422=SHAPE_REPRESENTATION('ppsm',(#23),#1423); -#1423=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1424=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15613,#1420,'',$,#1421,#30,*); -#1425=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1421); -#1426=PHYSICAL_COMPONENT_TERMINAL('U2 pin 23','interconnect module component terminal', - #72,.U.); -#1427=CARTESIAN_POINT('',(3252000.0,2045500.0)); -#1428=AXIS2_PLACEMENT_2D('',#1427,#1124); -#1429=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 28','part generic feature', - #27,.T.); -#1430=SHAPE_REPRESENTATION('ppsm',(#23),#1431); -#1431=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1432=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15614,#1428,'',$,#1429,#30,*); -#1433=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1429); -#1434=PHYSICAL_COMPONENT_TERMINAL('U2 pin 28','interconnect module component terminal', - #72,.U.); -#1435=CARTESIAN_POINT('',(3052000.0,2245500.0)); -#1436=AXIS2_PLACEMENT_2D('',#1435,#1124); -#1437=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 42','part generic feature', - #27,.T.); -#1438=SHAPE_REPRESENTATION('ppsm',(#23),#1439); -#1439=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1440=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15615,#1436,'',$,#1437,#30,*); -#1441=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1437); -#1442=PHYSICAL_COMPONENT_TERMINAL('U2 pin 42','interconnect module component terminal', - #72,.U.); -#1443=CARTESIAN_POINT('',(3652000.0,2145500.0)); -#1444=AXIS2_PLACEMENT_2D('',#1443,#1124); -#1445=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 40','part generic feature', - #27,.T.); -#1446=SHAPE_REPRESENTATION('ppsm',(#23),#1447); -#1447=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1448=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15616,#1444,'',$,#1445,#30,*); -#1449=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1445); -#1450=PHYSICAL_COMPONENT_TERMINAL('U2 pin 40','interconnect module component terminal', - #72,.U.); -#1451=CARTESIAN_POINT('',(3552000.0,2445500.0)); -#1452=AXIS2_PLACEMENT_2D('',#1451,#1124); -#1453=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 63','part generic feature', - #27,.T.); -#1454=SHAPE_REPRESENTATION('ppsm',(#23),#1455); -#1455=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1456=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15617,#1452,'',$,#1453,#30,*); -#1457=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1453); -#1458=PHYSICAL_COMPONENT_TERMINAL('U2 pin 63','interconnect module component terminal', - #72,.U.); -#1459=CARTESIAN_POINT('',(2952000.0,2445500.0)); -#1460=AXIS2_PLACEMENT_2D('',#1459,#1124); -#1461=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 57','part generic feature', - #27,.T.); -#1462=SHAPE_REPRESENTATION('ppsm',(#23),#1463); -#1463=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1464=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15618,#1460,'',$,#1461,#30,*); -#1465=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1461); -#1466=PHYSICAL_COMPONENT_TERMINAL('U2 pin 57','interconnect module component terminal', - #72,.U.); -#1467=CARTESIAN_POINT('',(3352000.0,1845500.0)); -#1468=AXIS2_PLACEMENT_2D('',#1467,#1124); -#1469=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 13','part generic feature', - #27,.T.); -#1470=SHAPE_REPRESENTATION('ppsm',(#23),#1471); -#1471=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1472=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15619,#1468,'',$,#1469,#30,*); -#1473=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1469); -#1474=PHYSICAL_COMPONENT_TERMINAL('U2 pin 13','interconnect module component terminal', - #72,.U.); -#1475=CARTESIAN_POINT('',(3652000.0,2345500.0)); -#1476=AXIS2_PLACEMENT_2D('',#1475,#1124); -#1477=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 56','part generic feature', - #27,.T.); -#1478=SHAPE_REPRESENTATION('ppsm',(#23),#1479); -#1479=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1480=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15620,#1476,'',$,#1477,#30,*); -#1481=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1477); -#1482=PHYSICAL_COMPONENT_TERMINAL('U2 pin 56','interconnect module component terminal', - #72,.U.); -#1483=CARTESIAN_POINT('',(3552000.0,1745500.0)); -#1484=AXIS2_PLACEMENT_2D('',#1483,#1124); -#1485=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 7','part generic feature',#27, - .T.); -#1486=SHAPE_REPRESENTATION('ppsm',(#23),#1487); -#1487=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1488=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15621,#1484,'',$,#1485,#30,*); -#1489=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1485); -#1490=PHYSICAL_COMPONENT_TERMINAL('U2 pin 7','interconnect module component terminal', - #72,.U.); -#1491=CARTESIAN_POINT('',(3052000.0,1845500.0)); -#1492=AXIS2_PLACEMENT_2D('',#1491,#1124); -#1493=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 10','part generic feature', - #27,.T.); -#1494=SHAPE_REPRESENTATION('ppsm',(#23),#1495); -#1495=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1496=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15622,#1492,'',$,#1493,#30,*); -#1497=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1493); -#1498=PHYSICAL_COMPONENT_TERMINAL('U2 pin 10','interconnect module component terminal', - #72,.U.); -#1499=CARTESIAN_POINT('',(3152000.0,2445500.0)); -#1500=AXIS2_PLACEMENT_2D('',#1499,#1124); -#1501=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 59','part generic feature', - #27,.T.); -#1502=SHAPE_REPRESENTATION('ppsm',(#23),#1503); -#1503=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1504=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15623,#1500,'',$,#1501,#30,*); -#1505=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1501); -#1506=PHYSICAL_COMPONENT_TERMINAL('U2 pin 59','interconnect module component terminal', - #72,.U.); -#1507=CARTESIAN_POINT('',(3452000.0,1745500.0)); -#1508=AXIS2_PLACEMENT_2D('',#1507,#1124); -#1509=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 6','part generic feature',#27, - .T.); -#1510=SHAPE_REPRESENTATION('ppsm',(#23),#1511); -#1511=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1512=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15624,#1508,'',$,#1509,#30,*); -#1513=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1509); -#1514=PHYSICAL_COMPONENT_TERMINAL('U2 pin 6','interconnect module component terminal', - #72,.U.); -#1515=CARTESIAN_POINT('',(3652000.0,2245500.0)); -#1516=AXIS2_PLACEMENT_2D('',#1515,#1124); -#1517=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 48','part generic feature', - #27,.T.); -#1518=SHAPE_REPRESENTATION('ppsm',(#23),#1519); -#1519=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1520=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15625,#1516,'',$,#1517,#30,*); -#1521=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1517); -#1522=PHYSICAL_COMPONENT_TERMINAL('U2 pin 48','interconnect module component terminal', - #72,.U.); -#1523=CARTESIAN_POINT('',(3252000.0,1745500.0)); -#1524=AXIS2_PLACEMENT_2D('',#1523,#1124); -#1525=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 4','part generic feature',#27, - .T.); -#1526=SHAPE_REPRESENTATION('ppsm',(#23),#1527); -#1527=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1528=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15626,#1524,'',$,#1525,#30,*); -#1529=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1525); -#1530=PHYSICAL_COMPONENT_TERMINAL('U2 pin 4','interconnect module component terminal', - #72,.U.); -#1531=CARTESIAN_POINT('',(3552000.0,1845500.0)); -#1532=AXIS2_PLACEMENT_2D('',#1531,#1124); -#1533=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 15','part generic feature', - #27,.T.); -#1534=SHAPE_REPRESENTATION('ppsm',(#23),#1535); -#1535=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1536=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15627,#1532,'',$,#1533,#30,*); -#1537=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1533); -#1538=PHYSICAL_COMPONENT_TERMINAL('U2 pin 15','interconnect module component terminal', - #72,.U.); -#1539=CARTESIAN_POINT('',(3452000.0,2345500.0)); -#1540=AXIS2_PLACEMENT_2D('',#1539,#1124); -#1541=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 54','part generic feature', - #27,.T.); -#1542=SHAPE_REPRESENTATION('ppsm',(#23),#1543); -#1543=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1544=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15628,#1540,'',$,#1541,#30,*); -#1545=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1541); -#1546=PHYSICAL_COMPONENT_TERMINAL('U2 pin 54','interconnect module component terminal', - #72,.U.); -#1547=CARTESIAN_POINT('',(3552000.0,2245500.0)); -#1548=AXIS2_PLACEMENT_2D('',#1547,#1124); -#1549=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 47','part generic feature', - #27,.T.); -#1550=SHAPE_REPRESENTATION('ppsm',(#23),#1551); -#1551=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1552=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15629,#1548,'',$,#1549,#30,*); -#1553=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1549); -#1554=PHYSICAL_COMPONENT_TERMINAL('U2 pin 47','interconnect module component terminal', - #72,.U.); -#1555=CARTESIAN_POINT('',(3352000.0,1745500.0)); -#1556=AXIS2_PLACEMENT_2D('',#1555,#1124); -#1557=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 5','part generic feature',#27, - .T.); -#1558=SHAPE_REPRESENTATION('ppsm',(#23),#1559); -#1559=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1560=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15630,#1556,'',$,#1557,#30,*); -#1561=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1557); -#1562=PHYSICAL_COMPONENT_TERMINAL('U2 pin 5','interconnect module component terminal', - #72,.U.); -#1563=CARTESIAN_POINT('',(3352000.0,2345500.0)); -#1564=AXIS2_PLACEMENT_2D('',#1563,#1124); -#1565=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 53','part generic feature', - #27,.T.); -#1566=SHAPE_REPRESENTATION('ppsm',(#23),#1567); -#1567=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1568=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15631,#1564,'',$,#1565,#30,*); -#1569=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1565); -#1570=PHYSICAL_COMPONENT_TERMINAL('U2 pin 53','interconnect module component terminal', - #72,.U.); -#1571=CARTESIAN_POINT('',(3252000.0,2445500.0)); -#1572=AXIS2_PLACEMENT_2D('',#1571,#1124); -#1573=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 60','part generic feature', - #27,.T.); -#1574=SHAPE_REPRESENTATION('ppsm',(#23),#1575); -#1575=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1576=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15632,#1572,'',$,#1573,#30,*); -#1577=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1573); -#1578=PHYSICAL_COMPONENT_TERMINAL('U2 pin 60','interconnect module component terminal', - #72,.U.); -#1579=CARTESIAN_POINT('',(3552000.0,2045500.0)); -#1580=AXIS2_PLACEMENT_2D('',#1579,#1124); -#1581=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 31','part generic feature', - #27,.T.); -#1582=SHAPE_REPRESENTATION('ppsm',(#23),#1583); -#1583=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1584=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15633,#1580,'',$,#1581,#30,*); -#1585=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1581); -#1586=PHYSICAL_COMPONENT_TERMINAL('U2 pin 31','interconnect module component terminal', - #72,.U.); -#1587=CARTESIAN_POINT('',(2952000.0,2345500.0)); -#1588=AXIS2_PLACEMENT_2D('',#1587,#1124); -#1589=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 49','part generic feature', - #27,.T.); -#1590=SHAPE_REPRESENTATION('ppsm',(#23),#1591); -#1591=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1592=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15634,#1588,'',$,#1589,#30,*); -#1593=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1589); -#1594=PHYSICAL_COMPONENT_TERMINAL('U2 pin 49','interconnect module component terminal', - #72,.U.); -#1595=CARTESIAN_POINT('',(3652000.0,1745500.0)); -#1596=AXIS2_PLACEMENT_2D('',#1595,#1124); -#1597=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 8','part generic feature',#27, - .T.); -#1598=SHAPE_REPRESENTATION('ppsm',(#23),#1599); -#1599=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1600=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15635,#1596,'',$,#1597,#30,*); -#1601=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1597); -#1602=PHYSICAL_COMPONENT_TERMINAL('U2 pin 8','interconnect module component terminal', - #72,.U.); -#1603=CARTESIAN_POINT('',(3152000.0,2045500.0)); -#1604=AXIS2_PLACEMENT_2D('',#1603,#1124); -#1605=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 27','part generic feature', - #27,.T.); -#1606=SHAPE_REPRESENTATION('ppsm',(#23),#1607); -#1607=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1608=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15636,#1604,'',$,#1605,#30,*); -#1609=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1605); -#1610=PHYSICAL_COMPONENT_TERMINAL('U2 pin 27','interconnect module component terminal', - #72,.U.); -#1611=CARTESIAN_POINT('',(3252000.0,2345500.0)); -#1612=AXIS2_PLACEMENT_2D('',#1611,#1124); -#1613=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 52','part generic feature', - #27,.T.); -#1614=SHAPE_REPRESENTATION('ppsm',(#23),#1615); -#1615=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1616=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15637,#1612,'',$,#1613,#30,*); -#1617=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1613); -#1618=PHYSICAL_COMPONENT_TERMINAL('U2 pin 52','interconnect module component terminal', - #72,.U.); -#1619=CARTESIAN_POINT('',(3052000.0,1745500.0)); -#1620=AXIS2_PLACEMENT_2D('',#1619,#1124); -#1621=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 2','part generic feature',#27, - .T.); -#1622=SHAPE_REPRESENTATION('ppsm',(#23),#1623); -#1623=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1624=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15638,#1620,'',$,#1621,#30,*); -#1625=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1621); -#1626=PHYSICAL_COMPONENT_TERMINAL('U2 pin 2','interconnect module component terminal', - #72,.U.); -#1627=CARTESIAN_POINT('',(3452000.0,2045500.0)); -#1628=AXIS2_PLACEMENT_2D('',#1627,#1124); -#1629=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U2 pin 30','part generic feature', - #27,.T.); -#1630=SHAPE_REPRESENTATION('ppsm',(#23),#1631); -#1631=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#1632=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15639,#1628,'',$,#1629,#30,*); -#1633=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#1629); -#1634=PHYSICAL_COMPONENT_TERMINAL('U2 pin 30','interconnect module component terminal', - #72,.U.); -#1635=PHYSICAL_COMPONENT_TERMINAL('14','packaged component join terminal',#1045, - .T.); -#1636=ASSEMBLY_JOINT('',$,#1130,#1635,'U2.14',$,#12,.U.); -#1637=PHYSICAL_COMPONENT_TERMINAL('29','packaged component join terminal',#1045, - .T.); -#1638=ASSEMBLY_JOINT('',$,#1138,#1637,'U2.29',$,#12,.U.); -#1639=PHYSICAL_COMPONENT_TERMINAL('9','packaged component join terminal',#1045,.T.); -#1640=ASSEMBLY_JOINT('',$,#1146,#1639,'U2.9',$,#12,.U.); -#1641=PHYSICAL_COMPONENT_TERMINAL('36','packaged component join terminal',#1045, - .T.); -#1642=ASSEMBLY_JOINT('',$,#1154,#1641,'U2.36',$,#12,.U.); -#1643=PHYSICAL_COMPONENT_TERMINAL('58','packaged component join terminal',#1045, - .T.); -#1644=ASSEMBLY_JOINT('',$,#1162,#1643,'U2.58',$,#12,.U.); -#1645=PHYSICAL_COMPONENT_TERMINAL('35','packaged component join terminal',#1045, - .T.); -#1646=ASSEMBLY_JOINT('',$,#1170,#1645,'U2.35',$,#12,.U.); -#1647=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#1045,.T.); -#1648=ASSEMBLY_JOINT('',$,#1178,#1647,'U2.1',$,#12,.U.); -#1649=PHYSICAL_COMPONENT_TERMINAL('61','packaged component join terminal',#1045, - .T.); -#1650=ASSEMBLY_JOINT('',$,#1186,#1649,'U2.61',$,#12,.U.); -#1651=PHYSICAL_COMPONENT_TERMINAL('45','packaged component join terminal',#1045, - .T.); -#1652=ASSEMBLY_JOINT('',$,#1194,#1651,'U2.45',$,#12,.U.); -#1653=PHYSICAL_COMPONENT_TERMINAL('20','packaged component join terminal',#1045, - .T.); -#1654=ASSEMBLY_JOINT('',$,#1202,#1653,'U2.20',$,#12,.U.); -#1655=PHYSICAL_COMPONENT_TERMINAL('34','packaged component join terminal',#1045, - .T.); -#1656=ASSEMBLY_JOINT('',$,#1210,#1655,'U2.34',$,#12,.U.); -#1657=PHYSICAL_COMPONENT_TERMINAL('64','packaged component join terminal',#1045, - .T.); -#1658=ASSEMBLY_JOINT('',$,#1218,#1657,'U2.64',$,#12,.U.); -#1659=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#1045,.T.); -#1660=ASSEMBLY_JOINT('',$,#1226,#1659,'U2.3',$,#12,.U.); -#1661=PHYSICAL_COMPONENT_TERMINAL('25','packaged component join terminal',#1045, - .T.); -#1662=ASSEMBLY_JOINT('',$,#1234,#1661,'U2.25',$,#12,.U.); -#1663=PHYSICAL_COMPONENT_TERMINAL('18','packaged component join terminal',#1045, - .T.); -#1664=ASSEMBLY_JOINT('',$,#1242,#1663,'U2.18',$,#12,.U.); -#1665=PHYSICAL_COMPONENT_TERMINAL('37','packaged component join terminal',#1045, - .T.); -#1666=ASSEMBLY_JOINT('',$,#1250,#1665,'U2.37',$,#12,.U.); -#1667=PHYSICAL_COMPONENT_TERMINAL('26','packaged component join terminal',#1045, - .T.); -#1668=ASSEMBLY_JOINT('',$,#1258,#1667,'U2.26',$,#12,.U.); -#1669=PHYSICAL_COMPONENT_TERMINAL('32','packaged component join terminal',#1045, - .T.); -#1670=ASSEMBLY_JOINT('',$,#1266,#1669,'U2.32',$,#12,.U.); -#1671=PHYSICAL_COMPONENT_TERMINAL('17','packaged component join terminal',#1045, - .T.); -#1672=ASSEMBLY_JOINT('',$,#1274,#1671,'U2.17',$,#12,.U.); -#1673=PHYSICAL_COMPONENT_TERMINAL('51','packaged component join terminal',#1045, - .T.); -#1674=ASSEMBLY_JOINT('',$,#1282,#1673,'U2.51',$,#12,.U.); -#1675=PHYSICAL_COMPONENT_TERMINAL('46','packaged component join terminal',#1045, - .T.); -#1676=ASSEMBLY_JOINT('',$,#1290,#1675,'U2.46',$,#12,.U.); -#1677=PHYSICAL_COMPONENT_TERMINAL('16','packaged component join terminal',#1045, - .T.); -#1678=ASSEMBLY_JOINT('',$,#1298,#1677,'U2.16',$,#12,.U.); -#1679=PHYSICAL_COMPONENT_TERMINAL('38','packaged component join terminal',#1045, - .T.); -#1680=ASSEMBLY_JOINT('',$,#1306,#1679,'U2.38',$,#12,.U.); -#1681=PHYSICAL_COMPONENT_TERMINAL('41','packaged component join terminal',#1045, - .T.); -#1682=ASSEMBLY_JOINT('',$,#1314,#1681,'U2.41',$,#12,.U.); -#1683=PHYSICAL_COMPONENT_TERMINAL('24','packaged component join terminal',#1045, - .T.); -#1684=ASSEMBLY_JOINT('',$,#1322,#1683,'U2.24',$,#12,.U.); -#1685=PHYSICAL_COMPONENT_TERMINAL('19','packaged component join terminal',#1045, - .T.); -#1686=ASSEMBLY_JOINT('',$,#1330,#1685,'U2.19',$,#12,.U.); -#1687=PHYSICAL_COMPONENT_TERMINAL('39','packaged component join terminal',#1045, - .T.); -#1688=ASSEMBLY_JOINT('',$,#1338,#1687,'U2.39',$,#12,.U.); -#1689=PHYSICAL_COMPONENT_TERMINAL('21','packaged component join terminal',#1045, - .T.); -#1690=ASSEMBLY_JOINT('',$,#1346,#1689,'U2.21',$,#12,.U.); -#1691=PHYSICAL_COMPONENT_TERMINAL('62','packaged component join terminal',#1045, - .T.); -#1692=ASSEMBLY_JOINT('',$,#1354,#1691,'U2.62',$,#12,.U.); -#1693=PHYSICAL_COMPONENT_TERMINAL('44','packaged component join terminal',#1045, - .T.); -#1694=ASSEMBLY_JOINT('',$,#1362,#1693,'U2.44',$,#12,.U.); -#1695=PHYSICAL_COMPONENT_TERMINAL('55','packaged component join terminal',#1045, - .T.); -#1696=ASSEMBLY_JOINT('',$,#1370,#1695,'U2.55',$,#12,.U.); -#1697=PHYSICAL_COMPONENT_TERMINAL('33','packaged component join terminal',#1045, - .T.); -#1698=ASSEMBLY_JOINT('',$,#1378,#1697,'U2.33',$,#12,.U.); -#1699=PHYSICAL_COMPONENT_TERMINAL('22','packaged component join terminal',#1045, - .T.); -#1700=ASSEMBLY_JOINT('',$,#1386,#1699,'U2.22',$,#12,.U.); -#1701=PHYSICAL_COMPONENT_TERMINAL('11','packaged component join terminal',#1045, - .T.); -#1702=ASSEMBLY_JOINT('',$,#1394,#1701,'U2.11',$,#12,.U.); -#1703=PHYSICAL_COMPONENT_TERMINAL('50','packaged component join terminal',#1045, - .T.); -#1704=ASSEMBLY_JOINT('',$,#1402,#1703,'U2.50',$,#12,.U.); -#1705=PHYSICAL_COMPONENT_TERMINAL('43','packaged component join terminal',#1045, - .T.); -#1706=ASSEMBLY_JOINT('',$,#1410,#1705,'U2.43',$,#12,.U.); -#1707=PHYSICAL_COMPONENT_TERMINAL('12','packaged component join terminal',#1045, - .T.); -#1708=ASSEMBLY_JOINT('',$,#1418,#1707,'U2.12',$,#12,.U.); -#1709=PHYSICAL_COMPONENT_TERMINAL('23','packaged component join terminal',#1045, - .T.); -#1710=ASSEMBLY_JOINT('',$,#1426,#1709,'U2.23',$,#12,.U.); -#1711=PHYSICAL_COMPONENT_TERMINAL('28','packaged component join terminal',#1045, - .T.); -#1712=ASSEMBLY_JOINT('',$,#1434,#1711,'U2.28',$,#12,.U.); -#1713=PHYSICAL_COMPONENT_TERMINAL('42','packaged component join terminal',#1045, - .T.); -#1714=ASSEMBLY_JOINT('',$,#1442,#1713,'U2.42',$,#12,.U.); -#1715=PHYSICAL_COMPONENT_TERMINAL('40','packaged component join terminal',#1045, - .T.); -#1716=ASSEMBLY_JOINT('',$,#1450,#1715,'U2.40',$,#12,.U.); -#1717=PHYSICAL_COMPONENT_TERMINAL('63','packaged component join terminal',#1045, - .T.); -#1718=ASSEMBLY_JOINT('',$,#1458,#1717,'U2.63',$,#12,.U.); -#1719=PHYSICAL_COMPONENT_TERMINAL('57','packaged component join terminal',#1045, - .T.); -#1720=ASSEMBLY_JOINT('',$,#1466,#1719,'U2.57',$,#12,.U.); -#1721=PHYSICAL_COMPONENT_TERMINAL('13','packaged component join terminal',#1045, - .T.); -#1722=ASSEMBLY_JOINT('',$,#1474,#1721,'U2.13',$,#12,.U.); -#1723=PHYSICAL_COMPONENT_TERMINAL('56','packaged component join terminal',#1045, - .T.); -#1724=ASSEMBLY_JOINT('',$,#1482,#1723,'U2.56',$,#12,.U.); -#1725=PHYSICAL_COMPONENT_TERMINAL('7','packaged component join terminal',#1045,.T.); -#1726=ASSEMBLY_JOINT('',$,#1490,#1725,'U2.7',$,#12,.U.); -#1727=PHYSICAL_COMPONENT_TERMINAL('10','packaged component join terminal',#1045, - .T.); -#1728=ASSEMBLY_JOINT('',$,#1498,#1727,'U2.10',$,#12,.U.); -#1729=PHYSICAL_COMPONENT_TERMINAL('59','packaged component join terminal',#1045, - .T.); -#1730=ASSEMBLY_JOINT('',$,#1506,#1729,'U2.59',$,#12,.U.); -#1731=PHYSICAL_COMPONENT_TERMINAL('6','packaged component join terminal',#1045,.T.); -#1732=ASSEMBLY_JOINT('',$,#1514,#1731,'U2.6',$,#12,.U.); -#1733=PHYSICAL_COMPONENT_TERMINAL('48','packaged component join terminal',#1045, - .T.); -#1734=ASSEMBLY_JOINT('',$,#1522,#1733,'U2.48',$,#12,.U.); -#1735=PHYSICAL_COMPONENT_TERMINAL('4','packaged component join terminal',#1045,.T.); -#1736=ASSEMBLY_JOINT('',$,#1530,#1735,'U2.4',$,#12,.U.); -#1737=PHYSICAL_COMPONENT_TERMINAL('15','packaged component join terminal',#1045, - .T.); -#1738=ASSEMBLY_JOINT('',$,#1538,#1737,'U2.15',$,#12,.U.); -#1739=PHYSICAL_COMPONENT_TERMINAL('54','packaged component join terminal',#1045, - .T.); -#1740=ASSEMBLY_JOINT('',$,#1546,#1739,'U2.54',$,#12,.U.); -#1741=PHYSICAL_COMPONENT_TERMINAL('47','packaged component join terminal',#1045, - .T.); -#1742=ASSEMBLY_JOINT('',$,#1554,#1741,'U2.47',$,#12,.U.); -#1743=PHYSICAL_COMPONENT_TERMINAL('5','packaged component join terminal',#1045,.T.); -#1744=ASSEMBLY_JOINT('',$,#1562,#1743,'U2.5',$,#12,.U.); -#1745=PHYSICAL_COMPONENT_TERMINAL('53','packaged component join terminal',#1045, - .T.); -#1746=ASSEMBLY_JOINT('',$,#1570,#1745,'U2.53',$,#12,.U.); -#1747=PHYSICAL_COMPONENT_TERMINAL('60','packaged component join terminal',#1045, - .T.); -#1748=ASSEMBLY_JOINT('',$,#1578,#1747,'U2.60',$,#12,.U.); -#1749=PHYSICAL_COMPONENT_TERMINAL('31','packaged component join terminal',#1045, - .T.); -#1750=ASSEMBLY_JOINT('',$,#1586,#1749,'U2.31',$,#12,.U.); -#1751=PHYSICAL_COMPONENT_TERMINAL('49','packaged component join terminal',#1045, - .T.); -#1752=ASSEMBLY_JOINT('',$,#1594,#1751,'U2.49',$,#12,.U.); -#1753=PHYSICAL_COMPONENT_TERMINAL('8','packaged component join terminal',#1045,.T.); -#1754=ASSEMBLY_JOINT('',$,#1602,#1753,'U2.8',$,#12,.U.); -#1755=PHYSICAL_COMPONENT_TERMINAL('27','packaged component join terminal',#1045, - .T.); -#1756=ASSEMBLY_JOINT('',$,#1610,#1755,'U2.27',$,#12,.U.); -#1757=PHYSICAL_COMPONENT_TERMINAL('52','packaged component join terminal',#1045, - .T.); -#1758=ASSEMBLY_JOINT('',$,#1618,#1757,'U2.52',$,#12,.U.); -#1759=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#1045,.T.); -#1760=ASSEMBLY_JOINT('',$,#1626,#1759,'U2.2',$,#12,.U.); -#1761=PHYSICAL_COMPONENT_TERMINAL('30','packaged component join terminal',#1045, - .T.); -#1762=ASSEMBLY_JOINT('',$,#1634,#1761,'U2.30',$,#12,.U.); -#1763=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#1046,#1047,#1048,1.0); -#1764=FOOTPRINT_OCCURRENCE('U2',$,#882,#4,'U2','definition usage',$,#880,*,'',$, - *); -#1765=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('U2','',$,#223,#880,'U2','',$, - #1764,*); -#1766=PRODUCT_DEFINITION_SHAPE('',$,#1765); -#1767=COMPONENT_2D_LOCATION(*,#1766,'component 2d location',$,#883,#224,#1763); -#1768=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 D6 normal on Resist-A',$,#911,#4,'U2 D6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1769=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 D6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 D6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1770=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1769,.U.); -#1771=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 A2 normal on Resist-A',$,#911,#4,'U2 A2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1772=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 A2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 A2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1773=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1772,.U.); -#1774=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 G4 normal on Resist-A',$,#911,#4,'U2 G4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1775=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 G4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 G4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1776=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1775,.U.); -#1777=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 D3 normal on Resist-A',$,#911,#4,'U2 D3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1778=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 D3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 D3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1779=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1778,.U.); -#1780=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 A8 normal on Resist-A',$,#911,#4,'U2 A8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1781=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 A8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 A8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1782=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1781,.U.); -#1783=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 G1 normal on Resist-A',$,#911,#4,'U2 G1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1784=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 G1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 G1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1785=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1784,.U.); -#1786=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 D7 normal on Resist-A',$,#911,#4,'U2 D7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1787=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 D7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 D7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1788=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1787,.U.); -#1789=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 H4 normal on Resist-A',$,#911,#4,'U2 H4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1790=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 H4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 H4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1791=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1790,.U.); -#1792=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 G5 normal on Resist-A',$,#911,#4,'U2 G5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1793=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 G5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 G5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1794=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1793,.U.); -#1795=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 A5 normal on Resist-A',$,#911,#4,'U2 A5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1796=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 A5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 A5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1797=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1796,.U.); -#1798=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 F7 normal on Resist-A',$,#911,#4,'U2 F7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1799=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 F7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 F7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1800=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1799,.U.); -#1801=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 G6 normal on Resist-A',$,#911,#4,'U2 G6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1802=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 G6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 G6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1803=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1802,.U.); -#1804=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 B7 normal on Resist-A',$,#911,#4,'U2 B7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1805=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 B7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 B7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1806=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1805,.U.); -#1807=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 A4 normal on Resist-A',$,#911,#4,'U2 A4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1808=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 A4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 A4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1809=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1808,.U.); -#1810=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 F8 normal on Resist-A',$,#911,#4,'U2 F8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1811=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 F8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 F8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1812=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1811,.U.); -#1813=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 A6 normal on Resist-A',$,#911,#4,'U2 A6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1814=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 A6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 A6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1815=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1814,.U.); -#1816=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 H3 normal on Resist-A',$,#911,#4,'U2 H3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1817=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 H3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 H3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1818=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1817,.U.); -#1819=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 B2 normal on Resist-A',$,#911,#4,'U2 B2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1820=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 B2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 B2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1821=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1820,.U.); -#1822=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 A7 normal on Resist-A',$,#911,#4,'U2 A7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1823=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 A7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 A7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1824=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1823,.U.); -#1825=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 G8 normal on Resist-A',$,#911,#4,'U2 G8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1826=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 G8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 G8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1827=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1826,.U.); -#1828=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 B5 normal on Resist-A',$,#911,#4,'U2 B5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1829=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 B5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 B5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1830=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1829,.U.); -#1831=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 H1 normal on Resist-A',$,#911,#4,'U2 H1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1832=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 H1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 H1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1833=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1832,.U.); -#1834=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 H7 normal on Resist-A',$,#911,#4,'U2 H7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1835=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 H7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 H7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1836=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1835,.U.); -#1837=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 E8 normal on Resist-A',$,#911,#4,'U2 E8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1838=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 E8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 E8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1839=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1838,.U.); -#1840=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 F2 normal on Resist-A',$,#911,#4,'U2 F2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1841=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 F2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 F2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1842=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1841,.U.); -#1843=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 D4 normal on Resist-A',$,#911,#4,'U2 D4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1844=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 D4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 D4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1845=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1844,.U.); -#1846=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 C7 normal on Resist-A',$,#911,#4,'U2 C7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1847=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 C7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 C7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1848=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1847,.U.); -#1849=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 B4 normal on Resist-A',$,#911,#4,'U2 B4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1850=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 B4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 B4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1851=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1850,.U.); -#1852=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 F3 normal on Resist-A',$,#911,#4,'U2 F3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1853=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 F3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 F3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1854=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1853,.U.); -#1855=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 G2 normal on Resist-A',$,#911,#4,'U2 G2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1856=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 G2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 G2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1857=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1856,.U.); -#1858=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 B3 normal on Resist-A',$,#911,#4,'U2 B3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1859=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 B3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 B3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1860=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1859,.U.); -#1861=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 C6 normal on Resist-A',$,#911,#4,'U2 C6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1862=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 C6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 C6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1863=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1862,.U.); -#1864=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 E1 normal on Resist-A',$,#911,#4,'U2 E1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1865=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 E1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 E1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1866=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1865,.U.); -#1867=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 G7 normal on Resist-A',$,#911,#4,'U2 G7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1868=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 G7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 G7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1869=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1868,.U.); -#1870=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 F4 normal on Resist-A',$,#911,#4,'U2 F4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1871=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 F4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 F4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1872=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1871,.U.); -#1873=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 H6 normal on Resist-A',$,#911,#4,'U2 H6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1874=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 H6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 H6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1875=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1874,.U.); -#1876=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 C5 normal on Resist-A',$,#911,#4,'U2 C5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1877=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 C5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 C5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1878=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1877,.U.); -#1879=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 E7 normal on Resist-A',$,#911,#4,'U2 E7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1880=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 E7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 E7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1881=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1880,.U.); -#1882=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 C3 normal on Resist-A',$,#911,#4,'U2 C3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1883=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 C3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 C3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1884=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1883,.U.); -#1885=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 C8 normal on Resist-A',$,#911,#4,'U2 C8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1886=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 C8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 C8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1887=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1886,.U.); -#1888=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 F1 normal on Resist-A',$,#911,#4,'U2 F1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1889=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 F1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 F1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1890=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1889,.U.); -#1891=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 E6 normal on Resist-A',$,#911,#4,'U2 E6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1892=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 E6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 E6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1893=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1892,.U.); -#1894=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 B8 normal on Resist-A',$,#911,#4,'U2 B8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1895=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 B8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 B8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1896=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1895,.U.); -#1897=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 F6 normal on Resist-A',$,#911,#4,'U2 F6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1898=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 F6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 F6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1899=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1898,.U.); -#1900=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 G3 normal on Resist-A',$,#911,#4,'U2 G3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1901=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 G3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 G3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1902=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1901,.U.); -#1903=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 C1 normal on Resist-A',$,#911,#4,'U2 C1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1904=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 C1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 C1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1905=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1904,.U.); -#1906=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 D8 normal on Resist-A',$,#911,#4,'U2 D8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1907=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 D8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 D8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1908=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1907,.U.); -#1909=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 D2 normal on Resist-A',$,#911,#4,'U2 D2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1910=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 D2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 D2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1911=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1910,.U.); -#1912=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 E5 normal on Resist-A',$,#911,#4,'U2 E5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1913=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 E5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 E5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1914=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1913,.U.); -#1915=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 C2 normal on Resist-A',$,#911,#4,'U2 C2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1916=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 C2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 C2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1917=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1916,.U.); -#1918=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 D1 normal on Resist-A',$,#911,#4,'U2 D1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1919=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 D1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 D1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1920=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1919,.U.); -#1921=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 A3 normal on Resist-A',$,#911,#4,'U2 A3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1922=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 A3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 A3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1923=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1922,.U.); -#1924=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 H8 normal on Resist-A',$,#911,#4,'U2 H8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1925=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 H8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 H8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1926=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1925,.U.); -#1927=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 E2 normal on Resist-A',$,#911,#4,'U2 E2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1928=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 E2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 E2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1929=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1928,.U.); -#1930=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 C4 normal on Resist-A',$,#911,#4,'U2 C4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1931=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 C4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 C4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1932=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1931,.U.); -#1933=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 F5 normal on Resist-A',$,#911,#4,'U2 F5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1934=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 F5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 F5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1935=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1934,.U.); -#1936=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 H5 normal on Resist-A',$,#911,#4,'U2 H5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1937=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 H5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 H5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1938=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1937,.U.); -#1939=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 A1 normal on Resist-A',$,#911,#4,'U2 A1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1940=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 A1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 A1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1941=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1940,.U.); -#1942=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 E3 normal on Resist-A',$,#911,#4,'U2 E3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1943=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 E3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 E3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1944=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1943,.U.); -#1945=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 H2 normal on Resist-A',$,#911,#4,'U2 H2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1946=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 H2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 H2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1947=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1946,.U.); -#1948=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 E4 normal on Resist-A',$,#911,#4,'U2 E4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1949=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 E4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 E4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1950=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1949,.U.); -#1951=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 B1 normal on Resist-A',$,#911,#4,'U2 B1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1952=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 B1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 B1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1953=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1952,.U.); -#1954=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 D5 normal on Resist-A',$,#911,#4,'U2 D5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1955=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 D5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 D5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1956=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1955,.U.); -#1957=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U2 B6 normal on Resist-A',$,#911,#4,'U2 B6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#1958=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U2 B6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U2 B6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#1959=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #1958,.U.); -#1960=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1125, - #1959); -#1961=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1133, - #1956); -#1962=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1141, - #1953); -#1963=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1149, - #1950); -#1964=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1157, - #1947); -#1965=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1165, - #1944); -#1966=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1173, - #1941); -#1967=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1181, - #1938); -#1968=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1189, - #1935); -#1969=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1197, - #1932); -#1970=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1205, - #1929); -#1971=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1213, - #1926); -#1972=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1221, - #1923); -#1973=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1229, - #1920); -#1974=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1245, - #1914); -#1975=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1237, - #1917); -#1976=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1253, - #1911); -#1977=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1261, - #1908); -#1978=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1269, - #1905); -#1979=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1277, - #1902); -#1980=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1285, - #1899); -#1981=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1293, - #1896); -#1982=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1301, - #1893); -#1983=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1309, - #1890); -#1984=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1317, - #1887); -#1985=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1325, - #1884); -#1986=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1333, - #1881); -#1987=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1341, - #1878); -#1988=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1349, - #1875); -#1989=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1357, - #1872); -#1990=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1365, - #1869); -#1991=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1373, - #1866); -#1992=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1381, - #1863); -#1993=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1389, - #1860); -#1994=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1397, - #1857); -#1995=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1405, - #1854); -#1996=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1413, - #1851); -#1997=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1421, - #1848); -#1998=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1429, - #1845); -#1999=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1437, - #1842); -#2000=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1445, - #1839); -#2001=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1453, - #1836); -#2002=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1461, - #1833); -#2003=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1469, - #1830); -#2004=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1477, - #1827); -#2005=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1485, - #1824); -#2006=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1493, - #1821); -#2007=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1501, - #1818); -#2008=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1509, - #1815); -#2009=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1517, - #1812); -#2010=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1525, - #1809); -#2011=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1533, - #1806); -#2012=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1541, - #1803); -#2013=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1549, - #1800); -#2014=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1557, - #1797); -#2015=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1565, - #1794); -#2016=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1581, - #1788); -#2017=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1573, - #1791); -#2018=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1589, - #1785); -#2019=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1605, - #1779); -#2020=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1597, - #1782); -#2021=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1613, - #1776); -#2022=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1629, - #1770); -#2023=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#1621, - #1773); -#2024=PACKAGED_PART('',$,#2026,#4,'',$,*); -#2025=PRODUCT('pid20','part','pid20',(#17755)); -#2026=PRODUCT_DEFINITION_FORMATION('1',$,#2025); -#2027=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#504)REPRESENTATION_ITEM('')); -#2028=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('',$,#2030,#4); -#2029=PRODUCT('height requirement for pid20','requirement',$,(#19100)); -#2030=PRODUCT_DEFINITION_FORMATION('1',$,#2029); -#2031=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2032=PRODUCT('pkg2','package',$,(#17755)); -#2033=PRODUCT_DEFINITION_FORMATION('1',$,#2032); -#2034=PACKAGE('A_TIEBAR_SM025_SHORTED',$,#2033,#4,'',$,*); -#2035=SHAPE_REPRESENTATION('ppsm',(#23),#2036); -#2036=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2037=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2039),#2038); -#2038=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2039=CSG_PRIMITIVE_SOLID_2D('',#2040); -#2040=CIRCULAR_AREA('',#2041,5080.0); -#2041=CARTESIAN_POINT('',(63500.0,0.0)); -#2042=(REPRESENTATION_RELATIONSHIP('SD3',$,#2037,#2035) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15721) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2043=SHAPE_REPRESENTATION('ppsm',(#23,#2058,#2061),#2044); -#2044=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2045=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2047),#2046); -#2046=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2047=CSG_PRIMITIVE_SOLID_2D('',#2050); -#2048=CARTESIAN_POINT('',(-15240.0,15240.0)); -#2049=AXIS2_PLACEMENT_2D('',#2048,#616); -#2050=RECTANGULAR_AREA('',#2049,30480.0,93980.0); -#2051=(REPRESENTATION_RELATIONSHIP('SD4',$,#2045,#2043) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15722) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2052=PACKAGE_TERMINAL('1','part generic feature',#2034,.T.); -#2053=SHAPE_REPRESENTATION('',(#23),#2054); -#2054=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2055=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#2056=PRODUCT_DEFINITION_SHAPE('',$,#2055); -#2057=SHAPE_DEFINITION_REPRESENTATION(#2056,#2053); -#2058=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15640,#467,'',$,#2052,#2043,*); -#2059=PACKAGE_TERMINAL('2','part generic feature',#2034,.T.); -#2060=AXIS2_PLACEMENT_2D('',#2041,$); -#2061=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15640,#2060,'',$,#2059,#2043,*); -#2062=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('',$,#2064,#4)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2063=PRODUCT('tmpl15','template',$,(#21759)); -#2064=PRODUCT_DEFINITION_FORMATION('1',$,#2063); -#2065=SHAPE_REPRESENTATION('ppsm',(#23,#2083,#2085,#2097),#2044); -#2066=PADSTACK_DEFINITION('component',$,#2068,#4,'',$,*); -#2067=PRODUCT('tmpl16','template',$,(#21759)); -#2068=PRODUCT_DEFINITION_FORMATION('1',$,#2067); -#2069=SHAPE_REPRESENTATION('ppsm',(#23,#2081),#2070); -#2070=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2071=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2073),#2072); -#2072=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2073=CSG_PRIMITIVE_SOLID_2D('',#2074); -#2074=CIRCULAR_AREA('',#24,5080.0); -#2075=DEFAULT_ATTACHMENT_SIZE_BASED_LAND_PHYSICAL_TEMPLATE('normal attachment','default attachment size based', - #2077,#4,'',$,*,'',$,*,.T.); -#2076=PRODUCT('tmpl17','template',$,(#21759)); -#2077=PRODUCT_DEFINITION_FORMATION('1',$,#2076); -#2078=LAND_TEMPLATE_TERMINAL('interface','interface terminal',#2075,.T.); -#2079=LAND_TEMPLATE_TERMINAL('join','join terminal',#2075,.T.); -#2080=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer1','tlist','is unknown', - #2066,#2075,'normal on Wiring Layer1','',$,#2080); -#2081=MAPPED_ITEM('tlistt',#21990,#23); -#2082=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#2062,#2066,'1'); -#2083=MAPPED_ITEM('tlistt',#21994,#467); -#2084=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#2062,#2066,'2'); -#2085=MAPPED_ITEM('tlistt',#21994,#2060); -#2086=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#13995,#13996,#2087,#13997,#13998),#13994); -#2087=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 30480.0),#17)REPRESENTATION_ITEM('curve width')); -#2088=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2090),#2089); -#2089=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2090=CSG_PRIMITIVE_SOLID_2D('',#2092); -#2091=POLYLINE('centreline',(#24,#2041)); -#2092=PATH_AREA_WITH_PARAMETERS('',#18701,#2091); -#2093=STRATUM_FEATURE_TEMPLATE('',$,#2095,#4,'',$,*); -#2094=PRODUCT('tmpl18','template',$,(#21759)); -#2095=PRODUCT_DEFINITION_FORMATION('1',$,#2094); -#2096=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD2','tlist','is unknown',#2062,#2093, - 'SD2','',$,#2096); -#2097=MAPPED_ITEM('tlistt',#22001,#23); -#2098=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#17)REPRESENTATION_ITEM('')); -#2099=SEATING_PLANE('seating plane',$,#2034,.F.); -#2100=PACKAGED_COMPONENT('TB8',$,#2026,#25355,'TB8','definition usage',$,#2024,*, - '',$,*); -#2101=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#2102=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#2103=CARTESIAN_POINT('',(0.0,3556000.0)); -#2104=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#2101,#2102,#2103,1.0); -#2105=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TB8','',$,#12,#2024,'TB8','', - $,#2100,*); -#2106=PRODUCT_DEFINITION_SHAPE('',$,#2105); -#2107=COMPONENT_2D_LOCATION(*,#2106,'component 2d location',$,#2043,#13,#2104); -#2108=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#504)REPRESENTATION_ITEM('')); -#2109=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('',$,#2111,#4); -#2110=PRODUCT('pid22','requirement',$,(#19100)); -#2111=PRODUCT_DEFINITION_FORMATION('1',$,#2110); -#2112=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2113=PACKAGED_PART_TERMINAL('1','join terminal',#2024,.T.); -#2114=PACKAGED_PART_TERMINAL('2','join terminal',#2024,.T.); -#2115=AXIS2_PLACEMENT_2D('',#2103,#2101); -#2116=INTERCONNECT_MODULE_INTERFACE_TERMINAL('TB8 pin 1','part generic feature', - #27,.T.); -#2117=SHAPE_REPRESENTATION('ppsm',(#23),#2118); -#2118=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2119=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15641,#2115,'',$,#2116,#30,*); -#2120=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#2116); -#2121=PHYSICAL_COMPONENT_TERMINAL('TB8 pin 1','interconnect module component terminal', - #72,.U.); -#2122=CARTESIAN_POINT('',(-1.1664760761878538E-11,3492500.0)); -#2123=AXIS2_PLACEMENT_2D('',#2122,#2101); -#2124=INTERCONNECT_MODULE_INTERFACE_TERMINAL('TB8 pin 2','part generic feature', - #27,.T.); -#2125=SHAPE_REPRESENTATION('ppsm',(#23),#2126); -#2126=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2127=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15642,#2123,'',$,#2124,#30,*); -#2128=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#2124); -#2129=PHYSICAL_COMPONENT_TERMINAL('TB8 pin 2','interconnect module component terminal', - #72,.U.); -#2130=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#2100,.T.); -#2131=ASSEMBLY_JOINT('',$,#2121,#2130,'TB8.1',$,#12,.U.); -#2132=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#2100,.T.); -#2133=ASSEMBLY_JOINT('',$,#2129,#2132,'TB8.2',$,#12,.U.); -#2134=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#2101,#2102,#2103,1.0); -#2135=FOOTPRINT_OCCURRENCE('TB8',$,#2064,#4,'TB8','definition usage',$,#2062,*,'', - $,*); -#2136=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TB8','',$,#223,#2062,'TB8','', - $,#2135,*); -#2137=PRODUCT_DEFINITION_SHAPE('',$,#2136); -#2138=COMPONENT_2D_LOCATION(*,#2137,'component 2d location',$,#2065,#224,#2134); -#2139=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('TB8 SD2',$,#2095, - #4,'TB8 SD2','definition usage',$,#2093,*,'',$,*,'TB8 SD2',$,#297,.U.,$,$,*, - *); -#2140=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('TB8 2 normal on Wiring Layer1', - '',#2077,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB8 2 normal on Wiring Layer1', - 'definition usage',$,#2075,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2141=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #2140,.U.); -#2142=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('TB8 1 normal on Wiring Layer1', - '',#2077,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB8 1 normal on Wiring Layer1', - 'definition usage',$,#2075,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2143=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #2142,.U.); -#2144=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2116, - #2143); -#2145=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#2124, - #2141); -#2146=CARTESIAN_POINT('',(762000.0,4064000.0)); -#2147=AXIS2_PLACEMENT_2D('',#2146,$); -#2148=PART_TOOLING_FEATURE('C13','part generic feature',#27,.T.); -#2149=SHAPE_REPRESENTATION('ppsm',(#23),#2150); -#2150=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2151=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15643,#2147,'',$,#2148,#30,*); -#2152=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('',$,#2154,#4)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2153=PRODUCT('tmpl19','template',$,(#21759)); -#2154=PRODUCT_DEFINITION_FORMATION('1',$,#2153); -#2155=SHAPE_REPRESENTATION('ppsm',(#23,#2166,#2176,#2186,#2196,#2204,#2212,#2214), - #2156); -#2156=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2157=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2159),#2158); -#2158=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2159=CSG_PRIMITIVE_SOLID_2D('',#2161); -#2160=POLYLINE('centreline',(#394,#395)); -#2161=PATH_AREA_WITH_PARAMETERS('',#18700,#2160); -#2162=STRATUM_FEATURE_TEMPLATE('',$,#2164,#4,'',$,*); -#2163=PRODUCT('tmpl20','template',$,(#21759)); -#2164=PRODUCT_DEFINITION_FORMATION('1',$,#2163); -#2165=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD3','tlist','is unknown',#2152,#2162, - 'SD3','',$,#2165); -#2166=MAPPED_ITEM('tlistt',#22005,#23); -#2167=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2169),#2168); -#2168=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2169=CSG_PRIMITIVE_SOLID_2D('',#2171); -#2170=POLYLINE('centreline',(#406,#407)); -#2171=PATH_AREA_WITH_PARAMETERS('',#18700,#2170); -#2172=STRATUM_FEATURE_TEMPLATE('',$,#2174,#4,'',$,*); -#2173=PRODUCT('tmpl21','template',$,(#21759)); -#2174=PRODUCT_DEFINITION_FORMATION('1',$,#2173); -#2175=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD4','tlist','is unknown',#2152,#2172, - 'SD4','',$,#2175); -#2176=MAPPED_ITEM('tlistt',#22009,#23); -#2177=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2179),#2178); -#2178=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2179=CSG_PRIMITIVE_SOLID_2D('',#2181); -#2180=POLYLINE('centreline',(#418,#419)); -#2181=PATH_AREA_WITH_PARAMETERS('',#18700,#2180); -#2182=STRATUM_FEATURE_TEMPLATE('',$,#2184,#4,'',$,*); -#2183=PRODUCT('tmpl22','template',$,(#21759)); -#2184=PRODUCT_DEFINITION_FORMATION('1',$,#2183); -#2185=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD5','tlist','is unknown',#2152,#2182, - 'SD5','',$,#2185); -#2186=MAPPED_ITEM('tlistt',#22013,#23); -#2187=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2189),#2188); -#2188=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2189=CSG_PRIMITIVE_SOLID_2D('',#2191); -#2190=POLYLINE('centreline',(#430,#431)); -#2191=PATH_AREA_WITH_PARAMETERS('',#18700,#2190); -#2192=STRATUM_FEATURE_TEMPLATE('',$,#2194,#4,'',$,*); -#2193=PRODUCT('tmpl23','template',$,(#21759)); -#2194=PRODUCT_DEFINITION_FORMATION('1',$,#2193); -#2195=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD6','tlist','is unknown',#2152,#2192, - 'SD6','',$,#2195); -#2196=MAPPED_ITEM('tlistt',#22017,#23); -#2197=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2199),#2198); -#2198=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2199=CSG_PRIMITIVE_SOLID_2D('',#441); -#2200=MATERIAL_REMOVAL_FEATURE_TEMPLATE('',$,#2202,#4,'',$,*); -#2201=PRODUCT('tmpl24','template',$,(#21759)); -#2202=PRODUCT_DEFINITION_FORMATION('1',$,#2201); -#2203=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD7','tlist','is unknown',#2152,#2200, - 'SD7','',$,#2203); -#2204=MAPPED_ITEM('tlistt',#22021,#23); -#2205=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2207),#2206); -#2206=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2207=CSG_PRIMITIVE_SOLID_2D('',#441); -#2208=MATERIAL_REMOVAL_FEATURE_TEMPLATE('',$,#2210,#4,'',$,*); -#2209=PRODUCT('tmpl25','template',$,(#21759)); -#2210=PRODUCT_DEFINITION_FORMATION('1',$,#2209); -#2211=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD8','tlist','is unknown',#2152,#2208, - 'SD8','',$,#2211); -#2212=MAPPED_ITEM('tlistt',#22025,#23); -#2213=ASSEMBLY_COMPONENT_USAGE('SD1','tlist','is unknown',#2152,#463,'SD1'); -#2214=MAPPED_ITEM('tlistt',#21785,#467); -#2215=SHAPE_ASPECT('Keepout PUPKS_no_vias 1',$,#2152,.F.); -#2216=SHAPE_REPRESENTATION('Keepout PUPKS_no_vias 1',(#23),#2217); -#2217=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2218=PART_TEMPLATE_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK($,$,$,$,*); -#2219=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2221),#2220); -#2220=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2221=CSG_PRIMITIVE_SOLID_2D('',#441); -#2222=(REPRESENTATION_RELATIONSHIP('SD9',$,#2219,#2216) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15723) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2223=SHAPE_ASPECT('Keepout PUPKS_no_tracks 1',$,#2152,.F.); -#2224=SHAPE_REPRESENTATION('Keepout PUPKS_no_tracks 1',(#23),#2225); -#2225=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2226=PART_TEMPLATE_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK($,$,$,$,*); -#2227=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2229),#2228); -#2228=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2229=CSG_PRIMITIVE_SOLID_2D('',#441); -#2230=(REPRESENTATION_RELATIONSHIP('SD10',$,#2227,#2224) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15724) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2231=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#2146,1.0); -#2232=FOOTPRINT_OCCURRENCE('cam1',$,#2154,#4,'cam1','definition usage',$,#2152,*, - '',$,*); -#2233=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('cam1','',$,#223,#2152,'cam1', - '',$,#2232,*); -#2234=PRODUCT_DEFINITION_SHAPE('',$,#2233); -#2235=COMPONENT_2D_LOCATION(*,#2234,'component 2d location',$,#2155,#224,#2231); -#2236=UNSUPPORTED_PASSAGE('cam1 SD1',$,#457,#4,'cam1 SD1','definition usage',$,#463, - *,'',$,*); -#2237=MATERIAL_REMOVAL_LAMINATE_COMPONENT('cam1 SD8',$,#2210,#4,'cam1 SD8','definition usage', - $,#2208,*,'',$,*); -#2238=MATERIAL_REMOVAL_LAMINATE_COMPONENT('cam1 SD7',$,#2202,#4,'cam1 SD7','definition usage', - $,#2200,*,'',$,*); -#2239=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam1 SD6',$,#2194, - #4,'cam1 SD6','definition usage',$,#2192,*,'',$,*,'cam1 SD6',$,#297,.U.,$,$, - *,*); -#2240=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam1 SD5',$,#2184, - #4,'cam1 SD5','definition usage',$,#2182,*,'',$,*,'cam1 SD5',$,#297,.U.,$,$, - *,*); -#2241=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam1 SD4',$,#2174, - #4,'cam1 SD4','definition usage',$,#2172,*,'',$,*,'cam1 SD4',$,#297,.U.,$,$, - *,*); -#2242=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam1 SD3',$,#2164, - #4,'cam1 SD3','definition usage',$,#2162,*,'',$,*,'cam1 SD3',$,#297,.U.,$,$, - *,*); -#2243=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#2148,#19343); -#2244=IDENTIFICATION_ROLE('part name',$); -#2245=APPLIED_IDENTIFICATION_ASSIGNMENT('bdPart8',#2244,(#2232)); -#2246=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2248),#2247); -#2247=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2248=CSG_PRIMITIVE_SOLID_2D('',#2251); -#2249=CARTESIAN_POINT('',(-33020.0,33020.0)); -#2250=AXIS2_PLACEMENT_2D('',#2249,#616); -#2251=RECTANGULAR_AREA('',#2250,66040.0,320040.0); -#2252=STRATUM_FEATURE_TEMPLATE('',$,#2254,#4,'',$,*); -#2253=PRODUCT('tmpl26','template',$,(#21759)); -#2254=PRODUCT_DEFINITION_FORMATION('1',$,#2253); -#2255=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_PRINTED_PART_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRINTED_PART_TEMPLATE()PRODUCT_DEFINITION('',$,#2257,#4) - PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*) - STRATUM_STACK_DEPENDENT_TEMPLATE()STRUCTURED_PRINTED_PART_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2256=PRODUCT('tmpl27','template',$,(#21759)); -#2257=PRODUCT_DEFINITION_FORMATION('1',$,#2256); -#2258=SHAPE_REPRESENTATION('ppsm',(#23,#2261,#2376,#2381),#2259); -#2259=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2260=STRATUM_SPECIFIC_TEMPLATE_LOCATION('tiebar shape','tlist','is unknown',#2255, - #2252,'tiebar shape','',$,#2260); -#2261=MAPPED_ITEM('tlistt',#22032,#23); -#2262=STRUCTURED_PRINTED_PART_TEMPLATE_TERMINAL('1','join terminal',#2255,.T.); -#2263=PASSAGE_PADSTACK_DEFINITION('via',$,#2265,#4,'',$,*); -#2264=PRODUCT('tmpl28','template',$,(#21759)); -#2265=PRODUCT_DEFINITION_FORMATION('1',$,#2264); -#2266=SHAPE_REPRESENTATION('ppsm',(#23,#2280,#2301,#2303,#2305,#2307,#2309,#2311, - #2313,#2315,#2317,#2319,#2328,#2330,#2332,#2334,#2336,#2338,#2340,#2342,#2344, - #2346,#2348,#2350,#2352,#2354,#2356,#2358,#2360,#2362,#2364,#2366,#2368,#2370, - #2372,#2374),#2267); -#2267=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2268=PRODUCT('tmpl29','template',$,(#21759)); -#2269=PRODUCT_DEFINITION_FORMATION('1',$,#2268); -#2270=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2272),#2271); -#2271=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2272=CSG_PRIMITIVE_SOLID_2D('',#2273); -#2273=CIRCULAR_AREA('',#24,25400.0); -#2274=VIA_TEMPLATE('via',$,#2269,#4,'',$,*); -#2275=PASSAGE_TECHNOLOGY('tmpl29 via','default via definition','',$,*); -#2276=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 25400.0),#17)REPRESENTATION_ITEM('')); -#2277=SHAPE_ASPECT('1','via template terminal',#2274,.T.); -#2278=SHAPE_ASPECT('2','via template terminal',#2274,.T.); -#2279=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#2263,#2274,'drill'); -#2280=MAPPED_ITEM('tlistt',#22036,#23); -#2281=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2283),#2282); -#2282=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2283=CSG_PRIMITIVE_SOLID_2D('',#2284); -#2284=CIRCULAR_AREA('',#24,43180.0); -#2285=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('normal passage tmpl29 via', - 'default plated passage based',#2287,#4,'',$,*); -#2286=PRODUCT('tmpl30','template',$,(#21759)); -#2287=PRODUCT_DEFINITION_FORMATION('1',$,#2286); -#2288=LAND_TEMPLATE_TERMINAL('join','join terminal',#2285,.T.); -#2289=LAYOUT_SPACING_REQUIREMENT('1',$,#2291,#4); -#2290=PRODUCT('pid23','requirement',$,(#19100)); -#2291=PRODUCT_DEFINITION_FORMATION('1',$,#2290); -#2292=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('isolate 0',$,#2287,#4,'',$,*); -#2293=PRODUCT_DEFINITION('tmpl30',$,#2291,#4); -#2294=REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP($,'derived from operation',$,#2293, - #2289); -#2295=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#2296=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2298),#2297); -#2297=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2298=CSG_PRIMITIVE_SOLID_2D('',#2299); -#2299=CIRCULAR_AREA('',#24,31750.0); -#2300=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer14','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer14','',$,#2300); -#2301=MAPPED_ITEM('tlistt',#22040,#23); -#2302=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer14','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer14','',$,#2302); -#2303=MAPPED_ITEM('tlistt',#22044,#23); -#2304=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer3','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer3','',$,#2304); -#2305=MAPPED_ITEM('tlistt',#22040,#23); -#2306=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer3','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer3','',$,#2306); -#2307=MAPPED_ITEM('tlistt',#22044,#23); -#2308=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer8','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer8','',$,#2308); -#2309=MAPPED_ITEM('tlistt',#22040,#23); -#2310=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer8','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer8','',$,#2310); -#2311=MAPPED_ITEM('tlistt',#22044,#23); -#2312=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer9','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer9','',$,#2312); -#2313=MAPPED_ITEM('tlistt',#22040,#23); -#2314=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer9','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer9','',$,#2314); -#2315=MAPPED_ITEM('tlistt',#22044,#23); -#2316=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer2','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer2','',$,#2316); -#2317=MAPPED_ITEM('tlistt',#22040,#23); -#2318=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer2','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer2','',$,#2318); -#2319=MAPPED_ITEM('tlistt',#22044,#23); -#2320=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2322),#2321); -#2321=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2322=CSG_PRIMITIVE_SOLID_2D('',#2323); -#2323=CIRCULAR_AREA('',#24,48260.0); -#2324=MATERIAL_REMOVAL_FEATURE_TEMPLATE('normal removal',$,#2326,#4,'',$,*); -#2325=PRODUCT('tmpl31','template',$,(#21759)); -#2326=PRODUCT_DEFINITION_FORMATION('1',$,#2325); -#2327=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Resist-B','tlist','is unknown', - #2263,#2324,'normal on Resist-B','',$,#2327); -#2328=MAPPED_ITEM('tlistt',#22072,#23); -#2329=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer16','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer16','',$,#2329); -#2330=MAPPED_ITEM('tlistt',#22040,#23); -#2331=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer16','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer16','',$,#2331); -#2332=MAPPED_ITEM('tlistt',#22044,#23); -#2333=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer13','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer13','',$,#2333); -#2334=MAPPED_ITEM('tlistt',#22040,#23); -#2335=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer13','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer13','',$,#2335); -#2336=MAPPED_ITEM('tlistt',#22044,#23); -#2337=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer5','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer5','',$,#2337); -#2338=MAPPED_ITEM('tlistt',#22040,#23); -#2339=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer5','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer5','',$,#2339); -#2340=MAPPED_ITEM('tlistt',#22044,#23); -#2341=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer6','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer6','',$,#2341); -#2342=MAPPED_ITEM('tlistt',#22040,#23); -#2343=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer6','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer6','',$,#2343); -#2344=MAPPED_ITEM('tlistt',#22044,#23); -#2345=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer10','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer10','',$,#2345); -#2346=MAPPED_ITEM('tlistt',#22040,#23); -#2347=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer10','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer10','',$,#2347); -#2348=MAPPED_ITEM('tlistt',#22044,#23); -#2349=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer1','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer1','',$,#2349); -#2350=MAPPED_ITEM('tlistt',#22040,#23); -#2351=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer1','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer1','',$,#2351); -#2352=MAPPED_ITEM('tlistt',#22044,#23); -#2353=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer7','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer7','',$,#2353); -#2354=MAPPED_ITEM('tlistt',#22040,#23); -#2355=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer7','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer7','',$,#2355); -#2356=MAPPED_ITEM('tlistt',#22044,#23); -#2357=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Resist-A','tlist','is unknown', - #2263,#2324,'normal on Resist-A','',$,#2357); -#2358=MAPPED_ITEM('tlistt',#22072,#23); -#2359=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer11','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer11','',$,#2359); -#2360=MAPPED_ITEM('tlistt',#22040,#23); -#2361=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer11','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer11','',$,#2361); -#2362=MAPPED_ITEM('tlistt',#22044,#23); -#2363=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer12','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer12','',$,#2363); -#2364=MAPPED_ITEM('tlistt',#22040,#23); -#2365=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer12','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer12','',$,#2365); -#2366=MAPPED_ITEM('tlistt',#22044,#23); -#2367=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer15','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer15','',$,#2367); -#2368=MAPPED_ITEM('tlistt',#22040,#23); -#2369=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer15','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer15','',$,#2369); -#2370=MAPPED_ITEM('tlistt',#22044,#23); -#2371=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer4','tlist','is unknown', - #2263,#2285,'normal on Wiring Layer4','',$,#2371); -#2372=MAPPED_ITEM('tlistt',#22040,#23); -#2373=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer4','tlist','is unknown', - #2263,#2292,'isolate 0 on Wiring Layer4','',$,#2373); -#2374=MAPPED_ITEM('tlistt',#22044,#23); -#2375=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#2255,#2263,'1'); -#2376=MAPPED_ITEM('tlistt',#22145,#467); -#2377=STRUCTURED_PRINTED_PART_TEMPLATE_TERMINAL('2','join terminal',#2255,.T.); -#2378=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#2255,#2263,'2'); -#2379=CARTESIAN_POINT('',(254000.0,0.0)); -#2380=AXIS2_PLACEMENT_2D('',#2379,$); -#2381=MAPPED_ITEM('tlistt',#22145,#2380); -#2382=CARTESIAN_POINT('',(1714500.0,1905000.0)); -#2383=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#2382,1.0); -#2384=MULTI_STRATUM_PRINTED_COMPONENT('TB2','printed component',#2257,#4,'TB2','definition usage', - $,#2255,*,'',$,*); -#2385=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TB2','',$,#223,#2255,'TB2','', - $,#2384,*); -#2386=PRODUCT_DEFINITION_SHAPE('',$,#2385); -#2387=COMPONENT_2D_LOCATION(*,#2386,'component 2d location',$,#2258,#224,#2383); -#2388=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2389=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2390=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2391=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2392=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2393=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2394=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2395=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2396=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2397=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2398=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2399=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2400=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2401=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2402=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2403=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 2 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 2 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2404=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#190,#4,'',$,*); -#2405=INTERFACIAL_CONNECTION('TB2 2 drill','component termination passage',#2269, - #4,'TB2 2 drill','definition usage',$,#2274,*,'',$,*); -#2406=MATERIAL_REMOVAL_LAMINATE_COMPONENT('TB2 2 normal on Resist-A',$,#2326,#4, - 'TB2 2 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#2407=MATERIAL_REMOVAL_LAMINATE_COMPONENT('TB2 2 normal on Resist-B',$,#2326,#4, - 'TB2 2 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#2408=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2409=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2410=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2411=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2412=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2413=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2414=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2415=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2416=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2417=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2418=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2419=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2420=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2421=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2422=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2423=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB2 1 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB2 1 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#2424=INTERFACIAL_CONNECTION('TB2 1 drill','component termination passage',#2269, - #4,'TB2 1 drill','definition usage',$,#2274,*,'',$,*); -#2425=MATERIAL_REMOVAL_LAMINATE_COMPONENT('TB2 1 normal on Resist-A',$,#2326,#4, - 'TB2 1 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#2426=MATERIAL_REMOVAL_LAMINATE_COMPONENT('TB2 1 normal on Resist-B',$,#2326,#4, - 'TB2 1 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#2427=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('TB2 tiebar shape', - $,#2254,#4,'TB2 tiebar shape','definition usage',$,#2252,*,'',$,*,'TB2 tiebar shape', - $,#297,.U.,$,$,*,*); -#2428=LAMINATE_COMPONENT_JOIN_TERMINAL('2','printed component join terminal',#2384, - .T.); -#2429=LAMINATE_COMPONENT_JOIN_TERMINAL('1','printed component join terminal',#2384, - .T.); -#2430=IDENTIFICATION_ROLE('part name',$); -#2431=APPLIED_IDENTIFICATION_ASSIGNMENT('TIEBAR',#2430,(#2384,#3926)); -#2432=CARTESIAN_POINT('',(0.0,762000.0)); -#2433=AXIS2_PLACEMENT_2D('',#2432,$); -#2434=PART_TOOLING_FEATURE('C14','part generic feature',#27,.T.); -#2435=SHAPE_REPRESENTATION('ppsm',(#23),#2436); -#2436=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2437=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15644,#2433,'',$,#2434,#30,*); -#2438=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('',$,#2440,#4)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2439=PRODUCT('tmpl32','template',$,(#21759)); -#2440=PRODUCT_DEFINITION_FORMATION('1',$,#2439); -#2441=SHAPE_REPRESENTATION('ppsm',(#23,#2452,#2462,#2472,#2482,#2490,#2498,#2500), - #2442); -#2442=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2443=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2445),#2444); -#2444=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2445=CSG_PRIMITIVE_SOLID_2D('',#2447); -#2446=POLYLINE('centreline',(#394,#395)); -#2447=PATH_AREA_WITH_PARAMETERS('',#18700,#2446); -#2448=STRATUM_FEATURE_TEMPLATE('',$,#2450,#4,'',$,*); -#2449=PRODUCT('tmpl33','template',$,(#21759)); -#2450=PRODUCT_DEFINITION_FORMATION('1',$,#2449); -#2451=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD3','tlist','is unknown',#2438,#2448, - 'SD3','',$,#2451); -#2452=MAPPED_ITEM('tlistt',#22152,#23); -#2453=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2455),#2454); -#2454=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2455=CSG_PRIMITIVE_SOLID_2D('',#2457); -#2456=POLYLINE('centreline',(#406,#407)); -#2457=PATH_AREA_WITH_PARAMETERS('',#18700,#2456); -#2458=STRATUM_FEATURE_TEMPLATE('',$,#2460,#4,'',$,*); -#2459=PRODUCT('tmpl34','template',$,(#21759)); -#2460=PRODUCT_DEFINITION_FORMATION('1',$,#2459); -#2461=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD4','tlist','is unknown',#2438,#2458, - 'SD4','',$,#2461); -#2462=MAPPED_ITEM('tlistt',#22156,#23); -#2463=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2465),#2464); -#2464=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2465=CSG_PRIMITIVE_SOLID_2D('',#2467); -#2466=POLYLINE('centreline',(#418,#419)); -#2467=PATH_AREA_WITH_PARAMETERS('',#18700,#2466); -#2468=STRATUM_FEATURE_TEMPLATE('',$,#2470,#4,'',$,*); -#2469=PRODUCT('tmpl35','template',$,(#21759)); -#2470=PRODUCT_DEFINITION_FORMATION('1',$,#2469); -#2471=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD5','tlist','is unknown',#2438,#2468, - 'SD5','',$,#2471); -#2472=MAPPED_ITEM('tlistt',#22160,#23); -#2473=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2475),#2474); -#2474=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2475=CSG_PRIMITIVE_SOLID_2D('',#2477); -#2476=POLYLINE('centreline',(#430,#431)); -#2477=PATH_AREA_WITH_PARAMETERS('',#18700,#2476); -#2478=STRATUM_FEATURE_TEMPLATE('',$,#2480,#4,'',$,*); -#2479=PRODUCT('tmpl36','template',$,(#21759)); -#2480=PRODUCT_DEFINITION_FORMATION('1',$,#2479); -#2481=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD6','tlist','is unknown',#2438,#2478, - 'SD6','',$,#2481); -#2482=MAPPED_ITEM('tlistt',#22164,#23); -#2483=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2485),#2484); -#2484=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2485=CSG_PRIMITIVE_SOLID_2D('',#441); -#2486=MATERIAL_REMOVAL_FEATURE_TEMPLATE('',$,#2488,#4,'',$,*); -#2487=PRODUCT('tmpl37','template',$,(#21759)); -#2488=PRODUCT_DEFINITION_FORMATION('1',$,#2487); -#2489=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD7','tlist','is unknown',#2438,#2486, - 'SD7','',$,#2489); -#2490=MAPPED_ITEM('tlistt',#22168,#23); -#2491=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2493),#2492); -#2492=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2493=CSG_PRIMITIVE_SOLID_2D('',#441); -#2494=MATERIAL_REMOVAL_FEATURE_TEMPLATE('',$,#2496,#4,'',$,*); -#2495=PRODUCT('tmpl38','template',$,(#21759)); -#2496=PRODUCT_DEFINITION_FORMATION('1',$,#2495); -#2497=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD8','tlist','is unknown',#2438,#2494, - 'SD8','',$,#2497); -#2498=MAPPED_ITEM('tlistt',#22172,#23); -#2499=ASSEMBLY_COMPONENT_USAGE('SD1','tlist','is unknown',#2438,#463,'SD1'); -#2500=MAPPED_ITEM('tlistt',#21785,#467); -#2501=SHAPE_ASPECT('Keepout PUPKS_no_vias 1',$,#2438,.F.); -#2502=SHAPE_REPRESENTATION('Keepout PUPKS_no_vias 1',(#23),#2503); -#2503=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2504=PART_TEMPLATE_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK($,$,$,$,*); -#2505=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2507),#2506); -#2506=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2507=CSG_PRIMITIVE_SOLID_2D('',#441); -#2508=(REPRESENTATION_RELATIONSHIP('SD9',$,#2505,#2502) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15725) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2509=SHAPE_ASPECT('Keepout PUPKS_no_tracks 1',$,#2438,.F.); -#2510=SHAPE_REPRESENTATION('Keepout PUPKS_no_tracks 1',(#23),#2511); -#2511=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2512=PART_TEMPLATE_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK($,$,$,$,*); -#2513=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2515),#2514); -#2514=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2515=CSG_PRIMITIVE_SOLID_2D('',#441); -#2516=(REPRESENTATION_RELATIONSHIP('SD10',$,#2513,#2510) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15726) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2517=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#2432,1.0); -#2518=FOOTPRINT_OCCURRENCE('cam2',$,#2440,#4,'cam2','definition usage',$,#2438,*, - '',$,*); -#2519=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('cam2','',$,#223,#2438,'cam2', - '',$,#2518,*); -#2520=PRODUCT_DEFINITION_SHAPE('',$,#2519); -#2521=COMPONENT_2D_LOCATION(*,#2520,'component 2d location',$,#2441,#224,#2517); -#2522=UNSUPPORTED_PASSAGE('cam2 SD1',$,#457,#4,'cam2 SD1','definition usage',$,#463, - *,'',$,*); -#2523=MATERIAL_REMOVAL_LAMINATE_COMPONENT('cam2 SD8',$,#2496,#4,'cam2 SD8','definition usage', - $,#2494,*,'',$,*); -#2524=MATERIAL_REMOVAL_LAMINATE_COMPONENT('cam2 SD7',$,#2488,#4,'cam2 SD7','definition usage', - $,#2486,*,'',$,*); -#2525=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam2 SD6',$,#2480, - #4,'cam2 SD6','definition usage',$,#2478,*,'',$,*,'cam2 SD6',$,#297,.U.,$,$, - *,*); -#2526=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam2 SD5',$,#2470, - #4,'cam2 SD5','definition usage',$,#2468,*,'',$,*,'cam2 SD5',$,#297,.U.,$,$, - *,*); -#2527=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam2 SD4',$,#2460, - #4,'cam2 SD4','definition usage',$,#2458,*,'',$,*,'cam2 SD4',$,#297,.U.,$,$, - *,*); -#2528=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('cam2 SD3',$,#2450, - #4,'cam2 SD3','definition usage',$,#2448,*,'',$,*,'cam2 SD3',$,#297,.U.,$,$, - *,*); -#2529=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#2434,#19344); -#2530=IDENTIFICATION_ROLE('part name',$); -#2531=APPLIED_IDENTIFICATION_ASSIGNMENT('bdPart9',#2530,(#2518)); -#2532=PRODUCT('tmpl39','template',$,(#21759)); -#2533=PRODUCT_DEFINITION_FORMATION('1',$,#2532); -#2534=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_SPECIAL_SYMBOL_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('',$,#2533,#4)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)SPECIAL_SYMBOL_TEMPLATE() - STRATUM_STACK_DEPENDENT_TEMPLATE()STRUCTURED_TEMPLATE()); -#2535=SHAPE_REPRESENTATION('ppsm',(#23,#2596,#2656),#2536); -#2536=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2537=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2539),#2538); -#2538=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2539=CSG_PRIMITIVE_SOLID_2D('',#2591); -#2540=COMPOSITE_CURVE('',(#2547,#2550,#2556,#2562,#2566,#2572,#2575,#2581,#2585, - #2590),.F.); -#2541=CARTESIAN_POINT('',(-73660.0,127000.0)); -#2542=CARTESIAN_POINT('',(-63500.0,137160.0)); -#2543=CARTESIAN_POINT('',(-63500.289918840936,127000.28991884094)); -#2544=AXIS2_PLACEMENT_2D('',#2543,$); -#2545=CIRCLE('',#2544,10159.710085295643); -#2546=TRIMMED_CURVE('',#2545,(#2541),(#2542),.F.,.CARTESIAN.); -#2547=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2546); -#2548=POLYLINE('',(#2542,#2549)); -#2549=CARTESIAN_POINT('',(63500.0,137160.0)); -#2550=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2548); -#2551=CARTESIAN_POINT('',(73660.0,127000.0)); -#2552=CARTESIAN_POINT('',(63500.289918840936,127000.28991884094)); -#2553=AXIS2_PLACEMENT_2D('',#2552,$); -#2554=CIRCLE('',#2553,10159.710085295643); -#2555=TRIMMED_CURVE('',#2554,(#2549),(#2551),.F.,.CARTESIAN.); -#2556=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2555); -#2557=CARTESIAN_POINT('',(63500.0,116840.0)); -#2558=CARTESIAN_POINT('',(63500.289918840936,126999.71008115906)); -#2559=AXIS2_PLACEMENT_2D('',#2558,$); -#2560=CIRCLE('',#2559,10159.710085295643); -#2561=TRIMMED_CURVE('',#2560,(#2551),(#2557),.F.,.CARTESIAN.); -#2562=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2561); -#2563=POLYLINE('',(#2557,#2564,#2565)); -#2564=CARTESIAN_POINT('',(10160.0,116840.0)); -#2565=CARTESIAN_POINT('',(10160.0,-1.0)); -#2566=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2563); -#2567=CARTESIAN_POINT('',(1.0,-10160.0)); -#2568=CARTESIAN_POINT('',(0.2898318229417782,-0.2898318229417782)); -#2569=AXIS2_PLACEMENT_2D('',#2568,$); -#2570=CIRCLE('',#2569,10159.71019299759); -#2571=TRIMMED_CURVE('',#2570,(#2565),(#2567),.F.,.CARTESIAN.); -#2572=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2571); -#2573=POLYLINE('',(#2567,#2574)); -#2574=CARTESIAN_POINT('',(0.0,-10160.0)); -#2575=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2573); -#2576=CARTESIAN_POINT('',(-10160.0,-1.0)); -#2577=CARTESIAN_POINT('',(-0.28988567588112346,-0.28986499330130755)); -#2578=AXIS2_PLACEMENT_2D('',#2577,$); -#2579=CIRCLE('',#2578,10159.710139142333); -#2580=TRIMMED_CURVE('',#2579,(#2574),(#2576),.F.,.CARTESIAN.); -#2581=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2580); -#2582=POLYLINE('',(#2576,#2583,#2584)); -#2583=CARTESIAN_POINT('',(-10160.0,116840.0)); -#2584=CARTESIAN_POINT('',(-63500.0,116840.0)); -#2585=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2582); -#2586=CARTESIAN_POINT('',(-63500.289918840936,126999.71008115906)); -#2587=AXIS2_PLACEMENT_2D('',#2586,$); -#2588=CIRCLE('',#2587,10159.710085295643); -#2589=TRIMMED_CURVE('',#2588,(#2584),(#2541),.F.,.CARTESIAN.); -#2590=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2589); -#2591=AREA_WITH_OUTER_BOUNDARY('',#2540,.F.); -#2592=STRATUM_FEATURE_TEMPLATE('',$,#2594,#4,'',$,*); -#2593=PRODUCT('tmpl40','template',$,(#21759)); -#2594=PRODUCT_DEFINITION_FORMATION('1',$,#2593); -#2595=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD2','tlist','is unknown',#2534,#2592, - 'SD2','',$,#2595); -#2596=MAPPED_ITEM('tlistt',#22179,#23); -#2597=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2599),#2598); -#2598=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2599=CSG_PRIMITIVE_SOLID_2D('',#2651); -#2600=COMPOSITE_CURVE('',(#2607,#2610,#2616,#2622,#2626,#2632,#2638,#2642,#2648, - #2650),.F.); -#2601=CARTESIAN_POINT('',(-86360.0,127000.0)); -#2602=CARTESIAN_POINT('',(-63500.0,149860.0)); -#2603=CARTESIAN_POINT('',(-63500.65231739211,127000.65231739212)); -#2604=AXIS2_PLACEMENT_2D('',#2603,$); -#2605=CIRCLE('',#2604,22859.347691915198); -#2606=TRIMMED_CURVE('',#2605,(#2601),(#2602),.F.,.CARTESIAN.); -#2607=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2606); -#2608=POLYLINE('',(#2602,#2609)); -#2609=CARTESIAN_POINT('',(63500.0,149860.0)); -#2610=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2608); -#2611=CARTESIAN_POINT('',(86360.0,127000.0)); -#2612=CARTESIAN_POINT('',(63500.65231739211,127000.65231739212)); -#2613=AXIS2_PLACEMENT_2D('',#2612,$); -#2614=CIRCLE('',#2613,22859.347691915198); -#2615=TRIMMED_CURVE('',#2614,(#2609),(#2611),.F.,.CARTESIAN.); -#2616=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2615); -#2617=CARTESIAN_POINT('',(63500.0,104140.0)); -#2618=CARTESIAN_POINT('',(63500.65231739211,126999.34768260788)); -#2619=AXIS2_PLACEMENT_2D('',#2618,$); -#2620=CIRCLE('',#2619,22859.347691915198); -#2621=TRIMMED_CURVE('',#2620,(#2611),(#2617),.F.,.CARTESIAN.); -#2622=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2621); -#2623=POLYLINE('',(#2617,#2624,#2625)); -#2624=CARTESIAN_POINT('',(22860.0,104140.0)); -#2625=CARTESIAN_POINT('',(22860.0,0.0)); -#2626=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2623); -#2627=CARTESIAN_POINT('',(0.0,-22860.0)); -#2628=CARTESIAN_POINT('',(0.6523173921104899,-0.6523173921104899)); -#2629=AXIS2_PLACEMENT_2D('',#2628,$); -#2630=CIRCLE('',#2629,22859.347691915198); -#2631=TRIMMED_CURVE('',#2630,(#2625),(#2627),.F.,.CARTESIAN.); -#2632=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2631); -#2633=CARTESIAN_POINT('',(-22860.0,0.0)); -#2634=CARTESIAN_POINT('',(-0.6523173921104899,-0.6523173921104899)); -#2635=AXIS2_PLACEMENT_2D('',#2634,$); -#2636=CIRCLE('',#2635,22859.347691915198); -#2637=TRIMMED_CURVE('',#2636,(#2627),(#2633),.F.,.CARTESIAN.); -#2638=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2637); -#2639=POLYLINE('',(#2633,#2640,#2641)); -#2640=CARTESIAN_POINT('',(-22860.0,104140.0)); -#2641=CARTESIAN_POINT('',(-63500.0,104140.0)); -#2642=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2639); -#2643=CARTESIAN_POINT('',(-86360.0,126999.0)); -#2644=CARTESIAN_POINT('',(-63500.65160562372,126999.34838774407)); -#2645=AXIS2_PLACEMENT_2D('',#2644,$); -#2646=CIRCLE('',#2645,22859.348397031077); -#2647=TRIMMED_CURVE('',#2646,(#2641),(#2643),.F.,.CARTESIAN.); -#2648=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2647); -#2649=POLYLINE('',(#2643,#2601)); -#2650=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2649); -#2651=AREA_WITH_OUTER_BOUNDARY('',#2600,.F.); -#2652=MATERIAL_REMOVAL_FEATURE_TEMPLATE('',$,#2654,#4,'',$,*); -#2653=PRODUCT('tmpl41','template',$,(#21759)); -#2654=PRODUCT_DEFINITION_FORMATION('1',$,#2653); -#2655=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SD3','tlist','is unknown',#2534,#2652, - 'SD3','',$,#2655); -#2656=MAPPED_ITEM('tlistt',#22183,#23); -#2657=CARTESIAN_POINT('',(495300.0,-342900.0)); -#2658=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#2657,1.0); -#2659=MULTI_STRATUM_SPECIAL_SYMBOL_COMPONENT('cam7',$,#2533,#4,'cam7','definition usage', - $,#2534,*,'',$,*); -#2660=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('cam7','',$,#223,#2534,'cam7', - '',$,#2659,*); -#2661=PRODUCT_DEFINITION_SHAPE('',$,#2660); -#2662=COMPONENT_2D_LOCATION(*,#2661,'component 2d location',$,#2535,#224,#2658); -#2663=MATERIAL_REMOVAL_LAMINATE_COMPONENT('cam7 SD3',$,#2654,#4,'cam7 SD3','definition usage', - $,#2652,*,'',$,*); -#2664=STRATUM_FEATURE_TEMPLATE_COMPONENT('cam7 SD2',$,#2594,#4,'cam7 SD2','definition usage', - $,#2592,*,'',$,*); -#2665=IDENTIFICATION_ROLE('part name',$); -#2666=APPLIED_IDENTIFICATION_ASSIGNMENT('bdPart14',#2665,(#2659)); -#2667=PACKAGE('A_BGA.64.C_FLAT',$,#511,#4,'',$,*); -#2668=SHAPE_REPRESENTATION('ppsm',(#23),#2669); -#2669=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2670=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#2672),#2671); -#2671=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2672=GEOMETRIC_CURVE_SET('',(#2673)); -#2673=COMPOSITE_CURVE('',(#2675,#2677),.F.); -#2674=TRIMMED_CURVE('',#525,(#521),(#522),.T.,.CARTESIAN.); -#2675=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2674); -#2676=TRIMMED_CURVE('',#525,(#522),(#521),.T.,.CARTESIAN.); -#2677=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2676); -#2678=(REPRESENTATION_RELATIONSHIP('SD2',$,#2670,#2668) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15727) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2679=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#2681),#2680); -#2680=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2681=GEOMETRIC_CURVE_SET('',(#2682)); -#2682=COMPOSITE_CURVE('',(#2684,#2686),.F.); -#2683=TRIMMED_CURVE('',#537,(#535),(#536),.T.,.CARTESIAN.); -#2684=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2683); -#2685=TRIMMED_CURVE('',#537,(#536),(#535),.T.,.CARTESIAN.); -#2686=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2685); -#2687=(REPRESENTATION_RELATIONSHIP('SD3',$,#2679,#2668) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15728) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2688=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#2690),#2689); -#2689=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2690=GEOMETRIC_CURVE_SET('',(#2691)); -#2691=COMPOSITE_CURVE('',(#2693,#2695),.F.); -#2692=TRIMMED_CURVE('',#549,(#547),(#548),.T.,.CARTESIAN.); -#2693=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2692); -#2694=TRIMMED_CURVE('',#549,(#548),(#547),.T.,.CARTESIAN.); -#2695=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2694); -#2696=(REPRESENTATION_RELATIONSHIP('SD4',$,#2688,#2668) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15729) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2697=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#2699),#2698); -#2698=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2699=GEOMETRIC_CURVE_SET('',(#2700)); -#2700=COMPOSITE_CURVE('',(#2702,#2704),.F.); -#2701=TRIMMED_CURVE('',#561,(#559),(#560),.T.,.CARTESIAN.); -#2702=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2701); -#2703=TRIMMED_CURVE('',#561,(#560),(#559),.T.,.CARTESIAN.); -#2704=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2703); -#2705=(REPRESENTATION_RELATIONSHIP('SD5',$,#2697,#2668) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15730) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2706=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#2708),#2707); -#2707=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2708=GEOMETRIC_CURVE_SET('',(#2709)); -#2709=COMPOSITE_CURVE('',(#2711,#2713),.F.); -#2710=TRIMMED_CURVE('',#573,(#571),(#572),.T.,.CARTESIAN.); -#2711=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2710); -#2712=TRIMMED_CURVE('',#573,(#572),(#571),.T.,.CARTESIAN.); -#2713=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2712); -#2714=(REPRESENTATION_RELATIONSHIP('SD6',$,#2706,#2668) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15731) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2715=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#2717),#2716); -#2716=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2717=GEOMETRIC_CURVE_SET('',(#2718)); -#2718=COMPOSITE_CURVE('',(#2720,#2722),.F.); -#2719=TRIMMED_CURVE('',#585,(#583),(#584),.T.,.CARTESIAN.); -#2720=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2719); -#2721=TRIMMED_CURVE('',#585,(#584),(#583),.T.,.CARTESIAN.); -#2722=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#2721); -#2723=(REPRESENTATION_RELATIONSHIP('SD7',$,#2715,#2668) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15732) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2724=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#23,#2726),#2725); -#2725=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2726=GEOMETRIC_CURVE_SET('',(#2727)); -#2727=POLYLINE('',(#595,#596,#597,#598,#595)); -#2728=(REPRESENTATION_RELATIONSHIP('SD8',$,#2724,#2668) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15733) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2729=SHAPE_REPRESENTATION('ppsm',(#23,#2750,#2752,#2754,#2756,#2758,#2760,#2762, - #2764,#2766,#2768,#2770,#2772,#2774,#2776,#2778,#2780,#2782,#2784,#2786,#2788, - #2790,#2792,#2794,#2796,#2798,#2800,#2802,#2804,#2806,#2808,#2810,#2812,#2814, - #2816,#2818,#2820,#2822,#2824,#2826,#2828,#2830,#2832,#2834,#2836,#2838,#2840, - #2842,#2844,#2846,#2848,#2850,#2852,#2854,#2856,#2858,#2860,#2862,#2864,#2866, - #2868,#2870,#2872,#2874,#2876),#2730); -#2730=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2731=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2733),#2732); -#2732=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2733=CSG_PRIMITIVE_SOLID_2D('',#2734); -#2734=RECTANGULAR_AREA('',#605,1100000.0,1300000.0); -#2735=(REPRESENTATION_RELATIONSHIP('SD9',$,#2731,#2729) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15734) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2736=SHAPE_ASPECT('Keepout PUPKS_clearance 1','vlnfse',#2667,.F.); -#2737=SHAPE_REPRESENTATION('pupksm',(#23),#2738); -#2738=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2739=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#2741),#2740); -#2740=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2741=CSG_PRIMITIVE_SOLID_2D('',#2742); -#2742=RECTANGULAR_AREA('',#615,1935000.0,1735000.0); -#2743=(REPRESENTATION_RELATIONSHIP('SD10',$,#2739,#2737) - REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#15735) - SHAPE_REPRESENTATION_RELATIONSHIP()); -#2744=PACKAGE_TERMINAL('B6','part generic feature',#2667,.T.); -#2745=SHAPE_REPRESENTATION('',(#23),#2746); -#2746=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#2747=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#2748=PRODUCT_DEFINITION_SHAPE('',$,#2747); -#2749=SHAPE_DEFINITION_REPRESENTATION(#2748,#2745); -#2750=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#626,'',$,#2744,#2729,*); -#2751=PACKAGE_TERMINAL('D5','part generic feature',#2667,.T.); -#2752=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#630,'',$,#2751,#2729,*); -#2753=PACKAGE_TERMINAL('B1','part generic feature',#2667,.T.); -#2754=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#634,'',$,#2753,#2729,*); -#2755=PACKAGE_TERMINAL('E4','part generic feature',#2667,.T.); -#2756=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#638,'',$,#2755,#2729,*); -#2757=PACKAGE_TERMINAL('H2','part generic feature',#2667,.T.); -#2758=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#642,'',$,#2757,#2729,*); -#2759=PACKAGE_TERMINAL('E3','part generic feature',#2667,.T.); -#2760=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#646,'',$,#2759,#2729,*); -#2761=PACKAGE_TERMINAL('A1','part generic feature',#2667,.T.); -#2762=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#650,'',$,#2761,#2729,*); -#2763=PACKAGE_TERMINAL('H5','part generic feature',#2667,.T.); -#2764=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#654,'',$,#2763,#2729,*); -#2765=PACKAGE_TERMINAL('F5','part generic feature',#2667,.T.); -#2766=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#658,'',$,#2765,#2729,*); -#2767=PACKAGE_TERMINAL('C4','part generic feature',#2667,.T.); -#2768=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#662,'',$,#2767,#2729,*); -#2769=PACKAGE_TERMINAL('E2','part generic feature',#2667,.T.); -#2770=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#666,'',$,#2769,#2729,*); -#2771=PACKAGE_TERMINAL('H8','part generic feature',#2667,.T.); -#2772=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#670,'',$,#2771,#2729,*); -#2773=PACKAGE_TERMINAL('A3','part generic feature',#2667,.T.); -#2774=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#674,'',$,#2773,#2729,*); -#2775=PACKAGE_TERMINAL('D1','part generic feature',#2667,.T.); -#2776=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#678,'',$,#2775,#2729,*); -#2777=PACKAGE_TERMINAL('C2','part generic feature',#2667,.T.); -#2778=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#682,'',$,#2777,#2729,*); -#2779=PACKAGE_TERMINAL('E5','part generic feature',#2667,.T.); -#2780=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#686,'',$,#2779,#2729,*); -#2781=PACKAGE_TERMINAL('D2','part generic feature',#2667,.T.); -#2782=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#690,'',$,#2781,#2729,*); -#2783=PACKAGE_TERMINAL('D8','part generic feature',#2667,.T.); -#2784=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#694,'',$,#2783,#2729,*); -#2785=PACKAGE_TERMINAL('C1','part generic feature',#2667,.T.); -#2786=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#698,'',$,#2785,#2729,*); -#2787=PACKAGE_TERMINAL('G3','part generic feature',#2667,.T.); -#2788=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#702,'',$,#2787,#2729,*); -#2789=PACKAGE_TERMINAL('F6','part generic feature',#2667,.T.); -#2790=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#706,'',$,#2789,#2729,*); -#2791=PACKAGE_TERMINAL('B8','part generic feature',#2667,.T.); -#2792=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#710,'',$,#2791,#2729,*); -#2793=PACKAGE_TERMINAL('E6','part generic feature',#2667,.T.); -#2794=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#714,'',$,#2793,#2729,*); -#2795=PACKAGE_TERMINAL('F1','part generic feature',#2667,.T.); -#2796=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#718,'',$,#2795,#2729,*); -#2797=PACKAGE_TERMINAL('C8','part generic feature',#2667,.T.); -#2798=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#722,'',$,#2797,#2729,*); -#2799=PACKAGE_TERMINAL('C3','part generic feature',#2667,.T.); -#2800=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#726,'',$,#2799,#2729,*); -#2801=PACKAGE_TERMINAL('E7','part generic feature',#2667,.T.); -#2802=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#730,'',$,#2801,#2729,*); -#2803=PACKAGE_TERMINAL('C5','part generic feature',#2667,.T.); -#2804=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#734,'',$,#2803,#2729,*); -#2805=PACKAGE_TERMINAL('H6','part generic feature',#2667,.T.); -#2806=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#738,'',$,#2805,#2729,*); -#2807=PACKAGE_TERMINAL('F4','part generic feature',#2667,.T.); -#2808=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#742,'',$,#2807,#2729,*); -#2809=PACKAGE_TERMINAL('G7','part generic feature',#2667,.T.); -#2810=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#746,'',$,#2809,#2729,*); -#2811=PACKAGE_TERMINAL('E1','part generic feature',#2667,.T.); -#2812=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#750,'',$,#2811,#2729,*); -#2813=PACKAGE_TERMINAL('C6','part generic feature',#2667,.T.); -#2814=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#754,'',$,#2813,#2729,*); -#2815=PACKAGE_TERMINAL('B3','part generic feature',#2667,.T.); -#2816=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#758,'',$,#2815,#2729,*); -#2817=PACKAGE_TERMINAL('G2','part generic feature',#2667,.T.); -#2818=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#762,'',$,#2817,#2729,*); -#2819=PACKAGE_TERMINAL('F3','part generic feature',#2667,.T.); -#2820=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#766,'',$,#2819,#2729,*); -#2821=PACKAGE_TERMINAL('B4','part generic feature',#2667,.T.); -#2822=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#770,'',$,#2821,#2729,*); -#2823=PACKAGE_TERMINAL('C7','part generic feature',#2667,.T.); -#2824=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#774,'',$,#2823,#2729,*); -#2825=PACKAGE_TERMINAL('D4','part generic feature',#2667,.T.); -#2826=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#778,'',$,#2825,#2729,*); -#2827=PACKAGE_TERMINAL('F2','part generic feature',#2667,.T.); -#2828=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#782,'',$,#2827,#2729,*); -#2829=PACKAGE_TERMINAL('E8','part generic feature',#2667,.T.); -#2830=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#786,'',$,#2829,#2729,*); -#2831=PACKAGE_TERMINAL('H7','part generic feature',#2667,.T.); -#2832=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#790,'',$,#2831,#2729,*); -#2833=PACKAGE_TERMINAL('H1','part generic feature',#2667,.T.); -#2834=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#794,'',$,#2833,#2729,*); -#2835=PACKAGE_TERMINAL('B5','part generic feature',#2667,.T.); -#2836=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#798,'',$,#2835,#2729,*); -#2837=PACKAGE_TERMINAL('G8','part generic feature',#2667,.T.); -#2838=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#802,'',$,#2837,#2729,*); -#2839=PACKAGE_TERMINAL('A7','part generic feature',#2667,.T.); -#2840=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#806,'',$,#2839,#2729,*); -#2841=PACKAGE_TERMINAL('B2','part generic feature',#2667,.T.); -#2842=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#810,'',$,#2841,#2729,*); -#2843=PACKAGE_TERMINAL('H3','part generic feature',#2667,.T.); -#2844=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#814,'',$,#2843,#2729,*); -#2845=PACKAGE_TERMINAL('A6','part generic feature',#2667,.T.); -#2846=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#818,'',$,#2845,#2729,*); -#2847=PACKAGE_TERMINAL('F8','part generic feature',#2667,.T.); -#2848=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#822,'',$,#2847,#2729,*); -#2849=PACKAGE_TERMINAL('A4','part generic feature',#2667,.T.); -#2850=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#826,'',$,#2849,#2729,*); -#2851=PACKAGE_TERMINAL('B7','part generic feature',#2667,.T.); -#2852=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#830,'',$,#2851,#2729,*); -#2853=PACKAGE_TERMINAL('G6','part generic feature',#2667,.T.); -#2854=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#834,'',$,#2853,#2729,*); -#2855=PACKAGE_TERMINAL('F7','part generic feature',#2667,.T.); -#2856=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#838,'',$,#2855,#2729,*); -#2857=PACKAGE_TERMINAL('A5','part generic feature',#2667,.T.); -#2858=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#842,'',$,#2857,#2729,*); -#2859=PACKAGE_TERMINAL('G5','part generic feature',#2667,.T.); -#2860=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#846,'',$,#2859,#2729,*); -#2861=PACKAGE_TERMINAL('H4','part generic feature',#2667,.T.); -#2862=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#850,'',$,#2861,#2729,*); -#2863=PACKAGE_TERMINAL('D7','part generic feature',#2667,.T.); -#2864=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#854,'',$,#2863,#2729,*); -#2865=PACKAGE_TERMINAL('G1','part generic feature',#2667,.T.); -#2866=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#858,'',$,#2865,#2729,*); -#2867=PACKAGE_TERMINAL('A8','part generic feature',#2667,.T.); -#2868=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#862,'',$,#2867,#2729,*); -#2869=PACKAGE_TERMINAL('D3','part generic feature',#2667,.T.); -#2870=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#866,'',$,#2869,#2729,*); -#2871=PACKAGE_TERMINAL('G4','part generic feature',#2667,.T.); -#2872=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#870,'',$,#2871,#2729,*); -#2873=PACKAGE_TERMINAL('A2','part generic feature',#2667,.T.); -#2874=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#874,'',$,#2873,#2729,*); -#2875=PACKAGE_TERMINAL('D6','part generic feature',#2667,.T.); -#2876=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15645,#878,'',$,#2875,#2729,*); -#2877=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('',$,#2879,#4)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2878=PRODUCT('tmpl42','template',$,(#21759)); -#2879=PRODUCT_DEFINITION_FORMATION('1',$,#2878); -#2880=SHAPE_REPRESENTATION('ppsm',(#23,#2882,#2884,#2886,#2888,#2890,#2892,#2894, - #2896,#2898,#2900,#2902,#2904,#2906,#2908,#2910,#2912,#2914,#2916,#2918,#2920, - #2922,#2924,#2926,#2928,#2930,#2932,#2934,#2936,#2938,#2940,#2942,#2944,#2946, - #2948,#2950,#2952,#2954,#2956,#2958,#2960,#2962,#2964,#2966,#2968,#2970,#2972, - #2974,#2976,#2978,#2980,#2982,#2984,#2986,#2988,#2990,#2992,#2994,#2996,#2998, - #3000,#3002,#3004,#3006,#3008),#2730); -#2881=ASSEMBLY_COMPONENT_USAGE('B6','tlist','is unknown',#2877,#884,'B6'); -#2882=MAPPED_ITEM('tlistt',#21797,#626); -#2883=ASSEMBLY_COMPONENT_USAGE('D5','tlist','is unknown',#2877,#884,'D5'); -#2884=MAPPED_ITEM('tlistt',#21797,#630); -#2885=ASSEMBLY_COMPONENT_USAGE('B1','tlist','is unknown',#2877,#884,'B1'); -#2886=MAPPED_ITEM('tlistt',#21797,#634); -#2887=ASSEMBLY_COMPONENT_USAGE('E4','tlist','is unknown',#2877,#884,'E4'); -#2888=MAPPED_ITEM('tlistt',#21797,#638); -#2889=ASSEMBLY_COMPONENT_USAGE('H2','tlist','is unknown',#2877,#884,'H2'); -#2890=MAPPED_ITEM('tlistt',#21797,#642); -#2891=ASSEMBLY_COMPONENT_USAGE('E3','tlist','is unknown',#2877,#884,'E3'); -#2892=MAPPED_ITEM('tlistt',#21797,#646); -#2893=ASSEMBLY_COMPONENT_USAGE('A1','tlist','is unknown',#2877,#884,'A1'); -#2894=MAPPED_ITEM('tlistt',#21797,#650); -#2895=ASSEMBLY_COMPONENT_USAGE('H5','tlist','is unknown',#2877,#884,'H5'); -#2896=MAPPED_ITEM('tlistt',#21797,#654); -#2897=ASSEMBLY_COMPONENT_USAGE('F5','tlist','is unknown',#2877,#884,'F5'); -#2898=MAPPED_ITEM('tlistt',#21797,#658); -#2899=ASSEMBLY_COMPONENT_USAGE('C4','tlist','is unknown',#2877,#884,'C4'); -#2900=MAPPED_ITEM('tlistt',#21797,#662); -#2901=ASSEMBLY_COMPONENT_USAGE('E2','tlist','is unknown',#2877,#884,'E2'); -#2902=MAPPED_ITEM('tlistt',#21797,#666); -#2903=ASSEMBLY_COMPONENT_USAGE('H8','tlist','is unknown',#2877,#884,'H8'); -#2904=MAPPED_ITEM('tlistt',#21797,#670); -#2905=ASSEMBLY_COMPONENT_USAGE('A3','tlist','is unknown',#2877,#884,'A3'); -#2906=MAPPED_ITEM('tlistt',#21797,#674); -#2907=ASSEMBLY_COMPONENT_USAGE('D1','tlist','is unknown',#2877,#884,'D1'); -#2908=MAPPED_ITEM('tlistt',#21797,#678); -#2909=ASSEMBLY_COMPONENT_USAGE('C2','tlist','is unknown',#2877,#884,'C2'); -#2910=MAPPED_ITEM('tlistt',#21797,#682); -#2911=ASSEMBLY_COMPONENT_USAGE('E5','tlist','is unknown',#2877,#884,'E5'); -#2912=MAPPED_ITEM('tlistt',#21797,#686); -#2913=ASSEMBLY_COMPONENT_USAGE('D2','tlist','is unknown',#2877,#884,'D2'); -#2914=MAPPED_ITEM('tlistt',#21797,#690); -#2915=ASSEMBLY_COMPONENT_USAGE('D8','tlist','is unknown',#2877,#884,'D8'); -#2916=MAPPED_ITEM('tlistt',#21797,#694); -#2917=ASSEMBLY_COMPONENT_USAGE('C1','tlist','is unknown',#2877,#884,'C1'); -#2918=MAPPED_ITEM('tlistt',#21797,#698); -#2919=ASSEMBLY_COMPONENT_USAGE('G3','tlist','is unknown',#2877,#884,'G3'); -#2920=MAPPED_ITEM('tlistt',#21797,#702); -#2921=ASSEMBLY_COMPONENT_USAGE('F6','tlist','is unknown',#2877,#884,'F6'); -#2922=MAPPED_ITEM('tlistt',#21797,#706); -#2923=ASSEMBLY_COMPONENT_USAGE('B8','tlist','is unknown',#2877,#884,'B8'); -#2924=MAPPED_ITEM('tlistt',#21797,#710); -#2925=ASSEMBLY_COMPONENT_USAGE('E6','tlist','is unknown',#2877,#884,'E6'); -#2926=MAPPED_ITEM('tlistt',#21797,#714); -#2927=ASSEMBLY_COMPONENT_USAGE('F1','tlist','is unknown',#2877,#884,'F1'); -#2928=MAPPED_ITEM('tlistt',#21797,#718); -#2929=ASSEMBLY_COMPONENT_USAGE('C8','tlist','is unknown',#2877,#884,'C8'); -#2930=MAPPED_ITEM('tlistt',#21797,#722); -#2931=ASSEMBLY_COMPONENT_USAGE('C3','tlist','is unknown',#2877,#884,'C3'); -#2932=MAPPED_ITEM('tlistt',#21797,#726); -#2933=ASSEMBLY_COMPONENT_USAGE('E7','tlist','is unknown',#2877,#884,'E7'); -#2934=MAPPED_ITEM('tlistt',#21797,#730); -#2935=ASSEMBLY_COMPONENT_USAGE('C5','tlist','is unknown',#2877,#884,'C5'); -#2936=MAPPED_ITEM('tlistt',#21797,#734); -#2937=ASSEMBLY_COMPONENT_USAGE('H6','tlist','is unknown',#2877,#884,'H6'); -#2938=MAPPED_ITEM('tlistt',#21797,#738); -#2939=ASSEMBLY_COMPONENT_USAGE('F4','tlist','is unknown',#2877,#884,'F4'); -#2940=MAPPED_ITEM('tlistt',#21797,#742); -#2941=ASSEMBLY_COMPONENT_USAGE('G7','tlist','is unknown',#2877,#884,'G7'); -#2942=MAPPED_ITEM('tlistt',#21797,#746); -#2943=ASSEMBLY_COMPONENT_USAGE('E1','tlist','is unknown',#2877,#884,'E1'); -#2944=MAPPED_ITEM('tlistt',#21797,#750); -#2945=ASSEMBLY_COMPONENT_USAGE('C6','tlist','is unknown',#2877,#884,'C6'); -#2946=MAPPED_ITEM('tlistt',#21797,#754); -#2947=ASSEMBLY_COMPONENT_USAGE('B3','tlist','is unknown',#2877,#884,'B3'); -#2948=MAPPED_ITEM('tlistt',#21797,#758); -#2949=ASSEMBLY_COMPONENT_USAGE('G2','tlist','is unknown',#2877,#884,'G2'); -#2950=MAPPED_ITEM('tlistt',#21797,#762); -#2951=ASSEMBLY_COMPONENT_USAGE('F3','tlist','is unknown',#2877,#884,'F3'); -#2952=MAPPED_ITEM('tlistt',#21797,#766); -#2953=ASSEMBLY_COMPONENT_USAGE('B4','tlist','is unknown',#2877,#884,'B4'); -#2954=MAPPED_ITEM('tlistt',#21797,#770); -#2955=ASSEMBLY_COMPONENT_USAGE('C7','tlist','is unknown',#2877,#884,'C7'); -#2956=MAPPED_ITEM('tlistt',#21797,#774); -#2957=ASSEMBLY_COMPONENT_USAGE('D4','tlist','is unknown',#2877,#884,'D4'); -#2958=MAPPED_ITEM('tlistt',#21797,#778); -#2959=ASSEMBLY_COMPONENT_USAGE('F2','tlist','is unknown',#2877,#884,'F2'); -#2960=MAPPED_ITEM('tlistt',#21797,#782); -#2961=ASSEMBLY_COMPONENT_USAGE('E8','tlist','is unknown',#2877,#884,'E8'); -#2962=MAPPED_ITEM('tlistt',#21797,#786); -#2963=ASSEMBLY_COMPONENT_USAGE('H7','tlist','is unknown',#2877,#884,'H7'); -#2964=MAPPED_ITEM('tlistt',#21797,#790); -#2965=ASSEMBLY_COMPONENT_USAGE('H1','tlist','is unknown',#2877,#884,'H1'); -#2966=MAPPED_ITEM('tlistt',#21797,#794); -#2967=ASSEMBLY_COMPONENT_USAGE('B5','tlist','is unknown',#2877,#884,'B5'); -#2968=MAPPED_ITEM('tlistt',#21797,#798); -#2969=ASSEMBLY_COMPONENT_USAGE('G8','tlist','is unknown',#2877,#884,'G8'); -#2970=MAPPED_ITEM('tlistt',#21797,#802); -#2971=ASSEMBLY_COMPONENT_USAGE('A7','tlist','is unknown',#2877,#884,'A7'); -#2972=MAPPED_ITEM('tlistt',#21797,#806); -#2973=ASSEMBLY_COMPONENT_USAGE('B2','tlist','is unknown',#2877,#884,'B2'); -#2974=MAPPED_ITEM('tlistt',#21797,#810); -#2975=ASSEMBLY_COMPONENT_USAGE('H3','tlist','is unknown',#2877,#884,'H3'); -#2976=MAPPED_ITEM('tlistt',#21797,#814); -#2977=ASSEMBLY_COMPONENT_USAGE('A6','tlist','is unknown',#2877,#884,'A6'); -#2978=MAPPED_ITEM('tlistt',#21797,#818); -#2979=ASSEMBLY_COMPONENT_USAGE('F8','tlist','is unknown',#2877,#884,'F8'); -#2980=MAPPED_ITEM('tlistt',#21797,#822); -#2981=ASSEMBLY_COMPONENT_USAGE('A4','tlist','is unknown',#2877,#884,'A4'); -#2982=MAPPED_ITEM('tlistt',#21797,#826); -#2983=ASSEMBLY_COMPONENT_USAGE('B7','tlist','is unknown',#2877,#884,'B7'); -#2984=MAPPED_ITEM('tlistt',#21797,#830); -#2985=ASSEMBLY_COMPONENT_USAGE('G6','tlist','is unknown',#2877,#884,'G6'); -#2986=MAPPED_ITEM('tlistt',#21797,#834); -#2987=ASSEMBLY_COMPONENT_USAGE('F7','tlist','is unknown',#2877,#884,'F7'); -#2988=MAPPED_ITEM('tlistt',#21797,#838); -#2989=ASSEMBLY_COMPONENT_USAGE('A5','tlist','is unknown',#2877,#884,'A5'); -#2990=MAPPED_ITEM('tlistt',#21797,#842); -#2991=ASSEMBLY_COMPONENT_USAGE('G5','tlist','is unknown',#2877,#884,'G5'); -#2992=MAPPED_ITEM('tlistt',#21797,#846); -#2993=ASSEMBLY_COMPONENT_USAGE('H4','tlist','is unknown',#2877,#884,'H4'); -#2994=MAPPED_ITEM('tlistt',#21797,#850); -#2995=ASSEMBLY_COMPONENT_USAGE('D7','tlist','is unknown',#2877,#884,'D7'); -#2996=MAPPED_ITEM('tlistt',#21797,#854); -#2997=ASSEMBLY_COMPONENT_USAGE('G1','tlist','is unknown',#2877,#884,'G1'); -#2998=MAPPED_ITEM('tlistt',#21797,#858); -#2999=ASSEMBLY_COMPONENT_USAGE('A8','tlist','is unknown',#2877,#884,'A8'); -#3000=MAPPED_ITEM('tlistt',#21797,#862); -#3001=ASSEMBLY_COMPONENT_USAGE('D3','tlist','is unknown',#2877,#884,'D3'); -#3002=MAPPED_ITEM('tlistt',#21797,#866); -#3003=ASSEMBLY_COMPONENT_USAGE('G4','tlist','is unknown',#2877,#884,'G4'); -#3004=MAPPED_ITEM('tlistt',#21797,#870); -#3005=ASSEMBLY_COMPONENT_USAGE('A2','tlist','is unknown',#2877,#884,'A2'); -#3006=MAPPED_ITEM('tlistt',#21797,#874); -#3007=ASSEMBLY_COMPONENT_USAGE('D6','tlist','is unknown',#2877,#884,'D6'); -#3008=MAPPED_ITEM('tlistt',#21797,#878); -#3009=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 100000.0),#17)REPRESENTATION_ITEM('')); -#3010=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#17)REPRESENTATION_ITEM('')); -#3011=SEATING_PLANE('seating plane',$,#2667,.F.); -#3012=PACKAGED_COMPONENT('U1',$,#502,#25355,'U1','definition usage',$,#500,*,'', - $,*); -#3013=CARTESIAN_POINT('',(698500.0,2095500.0)); -#3014=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#3013,1.0); -#3015=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('U1','',$,#12,#500,'U1','',$,#3012, - *); -#3016=PRODUCT_DEFINITION_SHAPE('',$,#3015); -#3017=COMPONENT_2D_LOCATION(*,#3016,'component 2d location',$,#2729,#13,#3014); -#3018=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.055),#504)REPRESENTATION_ITEM('')); -#3019=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('',$,#3021,#4); -#3020=PRODUCT('pid24','requirement',$,(#19100)); -#3021=PRODUCT_DEFINITION_FORMATION('1',$,#3020); -#3022=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#3023=CARTESIAN_POINT('',(848500.0,2345500.0)); -#3024=AXIS2_PLACEMENT_2D('',#3023,$); -#3025=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 14','part generic feature', - #27,.T.); -#3026=SHAPE_REPRESENTATION('ppsm',(#23),#3027); -#3027=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3028=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15646,#3024,'',$,#3025,#30,*); -#3029=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3025); -#3030=PHYSICAL_COMPONENT_TERMINAL('U1 pin 14','interconnect module component terminal', - #72,.U.); -#3031=CARTESIAN_POINT('',(748500.0,2145500.0)); -#3032=AXIS2_PLACEMENT_2D('',#3031,$); -#3033=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 29','part generic feature', - #27,.T.); -#3034=SHAPE_REPRESENTATION('ppsm',(#23),#3035); -#3035=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3036=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15647,#3032,'',$,#3033,#30,*); -#3037=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3033); -#3038=PHYSICAL_COMPONENT_TERMINAL('U1 pin 29','interconnect module component terminal', - #72,.U.); -#3039=CARTESIAN_POINT('',(348500.0,2345500.0)); -#3040=AXIS2_PLACEMENT_2D('',#3039,$); -#3041=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 9','part generic feature',#27, - .T.); -#3042=SHAPE_REPRESENTATION('ppsm',(#23),#3043); -#3043=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3044=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15648,#3040,'',$,#3041,#30,*); -#3045=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3041); -#3046=PHYSICAL_COMPONENT_TERMINAL('U1 pin 9','interconnect module component terminal', - #72,.U.); -#3047=CARTESIAN_POINT('',(648500.0,2045500.0)); -#3048=AXIS2_PLACEMENT_2D('',#3047,$); -#3049=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 36','part generic feature', - #27,.T.); -#3050=SHAPE_REPRESENTATION('ppsm',(#23),#3051); -#3051=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3052=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15649,#3048,'',$,#3049,#30,*); -#3053=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3049); -#3054=PHYSICAL_COMPONENT_TERMINAL('U1 pin 36','interconnect module component terminal', - #72,.U.); -#3055=CARTESIAN_POINT('',(448500.0,1745500.0)); -#3056=AXIS2_PLACEMENT_2D('',#3055,$); -#3057=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 58','part generic feature', - #27,.T.); -#3058=SHAPE_REPRESENTATION('ppsm',(#23),#3059); -#3059=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3060=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15650,#3056,'',$,#3057,#30,*); -#3061=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3057); -#3062=PHYSICAL_COMPONENT_TERMINAL('U1 pin 58','interconnect module component terminal', - #72,.U.); -#3063=CARTESIAN_POINT('',(548500.0,2045500.0)); -#3064=AXIS2_PLACEMENT_2D('',#3063,$); -#3065=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 35','part generic feature', - #27,.T.); -#3066=SHAPE_REPRESENTATION('ppsm',(#23),#3067); -#3067=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3068=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15651,#3064,'',$,#3065,#30,*); -#3069=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3065); -#3070=PHYSICAL_COMPONENT_TERMINAL('U1 pin 35','interconnect module component terminal', - #72,.U.); -#3071=CARTESIAN_POINT('',(348500.0,2445500.0)); -#3072=AXIS2_PLACEMENT_2D('',#3071,$); -#3073=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 1','part generic feature',#27, - .T.); -#3074=SHAPE_REPRESENTATION('ppsm',(#23),#3075); -#3075=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3076=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15652,#3072,'',$,#3073,#30,*); -#3077=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3073); -#3078=PHYSICAL_COMPONENT_TERMINAL('U1 pin 1','interconnect module component terminal', - #72,.U.); -#3079=CARTESIAN_POINT('',(748500.0,1745500.0)); -#3080=AXIS2_PLACEMENT_2D('',#3079,$); -#3081=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 61','part generic feature', - #27,.T.); -#3082=SHAPE_REPRESENTATION('ppsm',(#23),#3083); -#3083=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3084=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15653,#3080,'',$,#3081,#30,*); -#3085=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3081); -#3086=PHYSICAL_COMPONENT_TERMINAL('U1 pin 61','interconnect module component terminal', - #72,.U.); -#3087=CARTESIAN_POINT('',(748500.0,1945500.0)); -#3088=AXIS2_PLACEMENT_2D('',#3087,$); -#3089=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 45','part generic feature', - #27,.T.); -#3090=SHAPE_REPRESENTATION('ppsm',(#23),#3091); -#3091=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3092=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15654,#3088,'',$,#3089,#30,*); -#3093=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3089); -#3094=PHYSICAL_COMPONENT_TERMINAL('U1 pin 45','interconnect module component terminal', - #72,.U.); -#3095=CARTESIAN_POINT('',(648500.0,2245500.0)); -#3096=AXIS2_PLACEMENT_2D('',#3095,$); -#3097=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 20','part generic feature', - #27,.T.); -#3098=SHAPE_REPRESENTATION('ppsm',(#23),#3099); -#3099=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3100=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15655,#3096,'',$,#3097,#30,*); -#3101=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3097); -#3102=PHYSICAL_COMPONENT_TERMINAL('U1 pin 20','interconnect module component terminal', - #72,.U.); -#3103=CARTESIAN_POINT('',(448500.0,2045500.0)); -#3104=AXIS2_PLACEMENT_2D('',#3103,$); -#3105=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 34','part generic feature', - #27,.T.); -#3106=SHAPE_REPRESENTATION('ppsm',(#23),#3107); -#3107=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3108=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15656,#3104,'',$,#3105,#30,*); -#3109=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3105); -#3110=PHYSICAL_COMPONENT_TERMINAL('U1 pin 34','interconnect module component terminal', - #72,.U.); -#3111=CARTESIAN_POINT('',(1048500.0,1745500.0)); -#3112=AXIS2_PLACEMENT_2D('',#3111,$); -#3113=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 64','part generic feature', - #27,.T.); -#3114=SHAPE_REPRESENTATION('ppsm',(#23),#3115); -#3115=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3116=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15657,#3112,'',$,#3113,#30,*); -#3117=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3113); -#3118=PHYSICAL_COMPONENT_TERMINAL('U1 pin 64','interconnect module component terminal', - #72,.U.); -#3119=CARTESIAN_POINT('',(548500.0,2445500.0)); -#3120=AXIS2_PLACEMENT_2D('',#3119,$); -#3121=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 3','part generic feature',#27, - .T.); -#3122=SHAPE_REPRESENTATION('ppsm',(#23),#3123); -#3123=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3124=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15658,#3120,'',$,#3121,#30,*); -#3125=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3121); -#3126=PHYSICAL_COMPONENT_TERMINAL('U1 pin 3','interconnect module component terminal', - #72,.U.); -#3127=CARTESIAN_POINT('',(348500.0,2145500.0)); -#3128=AXIS2_PLACEMENT_2D('',#3127,$); -#3129=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 25','part generic feature', - #27,.T.); -#3130=SHAPE_REPRESENTATION('ppsm',(#23),#3131); -#3131=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3132=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15659,#3128,'',$,#3129,#30,*); -#3133=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3129); -#3134=PHYSICAL_COMPONENT_TERMINAL('U1 pin 25','interconnect module component terminal', - #72,.U.); -#3135=CARTESIAN_POINT('',(448500.0,2245500.0)); -#3136=AXIS2_PLACEMENT_2D('',#3135,$); -#3137=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 18','part generic feature', - #27,.T.); -#3138=SHAPE_REPRESENTATION('ppsm',(#23),#3139); -#3139=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3140=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15660,#3136,'',$,#3137,#30,*); -#3141=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3137); -#3142=PHYSICAL_COMPONENT_TERMINAL('U1 pin 18','interconnect module component terminal', - #72,.U.); -#3143=CARTESIAN_POINT('',(748500.0,2045500.0)); -#3144=AXIS2_PLACEMENT_2D('',#3143,$); -#3145=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 37','part generic feature', - #27,.T.); -#3146=SHAPE_REPRESENTATION('ppsm',(#23),#3147); -#3147=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3148=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15661,#3144,'',$,#3145,#30,*); -#3149=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3145); -#3150=PHYSICAL_COMPONENT_TERMINAL('U1 pin 37','interconnect module component terminal', - #72,.U.); -#3151=CARTESIAN_POINT('',(448500.0,2145500.0)); -#3152=AXIS2_PLACEMENT_2D('',#3151,$); -#3153=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 26','part generic feature', - #27,.T.); -#3154=SHAPE_REPRESENTATION('ppsm',(#23),#3155); -#3155=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3156=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15662,#3152,'',$,#3153,#30,*); -#3157=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3153); -#3158=PHYSICAL_COMPONENT_TERMINAL('U1 pin 26','interconnect module component terminal', - #72,.U.); -#3159=CARTESIAN_POINT('',(1048500.0,2145500.0)); -#3160=AXIS2_PLACEMENT_2D('',#3159,$); -#3161=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 32','part generic feature', - #27,.T.); -#3162=SHAPE_REPRESENTATION('ppsm',(#23),#3163); -#3163=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3164=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15663,#3160,'',$,#3161,#30,*); -#3165=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3161); -#3166=PHYSICAL_COMPONENT_TERMINAL('U1 pin 32','interconnect module component terminal', - #72,.U.); -#3167=CARTESIAN_POINT('',(348500.0,2245500.0)); -#3168=AXIS2_PLACEMENT_2D('',#3167,$); -#3169=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 17','part generic feature', - #27,.T.); -#3170=SHAPE_REPRESENTATION('ppsm',(#23),#3171); -#3171=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3172=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15664,#3168,'',$,#3169,#30,*); -#3173=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3169); -#3174=PHYSICAL_COMPONENT_TERMINAL('U1 pin 17','interconnect module component terminal', - #72,.U.); -#3175=CARTESIAN_POINT('',(548500.0,1845500.0)); -#3176=AXIS2_PLACEMENT_2D('',#3175,$); -#3177=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 51','part generic feature', - #27,.T.); -#3178=SHAPE_REPRESENTATION('ppsm',(#23),#3179); -#3179=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3180=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15665,#3176,'',$,#3177,#30,*); -#3181=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3177); -#3182=PHYSICAL_COMPONENT_TERMINAL('U1 pin 51','interconnect module component terminal', - #72,.U.); -#3183=CARTESIAN_POINT('',(848500.0,1945500.0)); -#3184=AXIS2_PLACEMENT_2D('',#3183,$); -#3185=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 46','part generic feature', - #27,.T.); -#3186=SHAPE_REPRESENTATION('ppsm',(#23),#3187); -#3187=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3188=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15666,#3184,'',$,#3185,#30,*); -#3189=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3185); -#3190=PHYSICAL_COMPONENT_TERMINAL('U1 pin 46','interconnect module component terminal', - #72,.U.); -#3191=CARTESIAN_POINT('',(1048500.0,2345500.0)); -#3192=AXIS2_PLACEMENT_2D('',#3191,$); -#3193=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 16','part generic feature', - #27,.T.); -#3194=SHAPE_REPRESENTATION('ppsm',(#23),#3195); -#3195=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3196=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15667,#3192,'',$,#3193,#30,*); -#3197=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3193); -#3198=PHYSICAL_COMPONENT_TERMINAL('U1 pin 16','interconnect module component terminal', - #72,.U.); -#3199=CARTESIAN_POINT('',(848500.0,2045500.0)); -#3200=AXIS2_PLACEMENT_2D('',#3199,$); -#3201=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 38','part generic feature', - #27,.T.); -#3202=SHAPE_REPRESENTATION('ppsm',(#23),#3203); -#3203=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3204=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15668,#3200,'',$,#3201,#30,*); -#3205=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3201); -#3206=PHYSICAL_COMPONENT_TERMINAL('U1 pin 38','interconnect module component terminal', - #72,.U.); -#3207=CARTESIAN_POINT('',(348500.0,1945500.0)); -#3208=AXIS2_PLACEMENT_2D('',#3207,$); -#3209=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 41','part generic feature', - #27,.T.); -#3210=SHAPE_REPRESENTATION('ppsm',(#23),#3211); -#3211=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3212=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15669,#3208,'',$,#3209,#30,*); -#3213=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3209); -#3214=PHYSICAL_COMPONENT_TERMINAL('U1 pin 41','interconnect module component terminal', - #72,.U.); -#3215=CARTESIAN_POINT('',(1048500.0,2245500.0)); -#3216=AXIS2_PLACEMENT_2D('',#3215,$); -#3217=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 24','part generic feature', - #27,.T.); -#3218=SHAPE_REPRESENTATION('ppsm',(#23),#3219); -#3219=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3220=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15670,#3216,'',$,#3217,#30,*); -#3221=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3217); -#3222=PHYSICAL_COMPONENT_TERMINAL('U1 pin 24','interconnect module component terminal', - #72,.U.); -#3223=CARTESIAN_POINT('',(548500.0,2245500.0)); -#3224=AXIS2_PLACEMENT_2D('',#3223,$); -#3225=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 19','part generic feature', - #27,.T.); -#3226=SHAPE_REPRESENTATION('ppsm',(#23),#3227); -#3227=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3228=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15671,#3224,'',$,#3225,#30,*); -#3229=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3225); -#3230=PHYSICAL_COMPONENT_TERMINAL('U1 pin 19','interconnect module component terminal', - #72,.U.); -#3231=CARTESIAN_POINT('',(948500.0,2045500.0)); -#3232=AXIS2_PLACEMENT_2D('',#3231,$); -#3233=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 39','part generic feature', - #27,.T.); -#3234=SHAPE_REPRESENTATION('ppsm',(#23),#3235); -#3235=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3236=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15672,#3232,'',$,#3233,#30,*); -#3237=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3233); -#3238=PHYSICAL_COMPONENT_TERMINAL('U1 pin 39','interconnect module component terminal', - #72,.U.); -#3239=CARTESIAN_POINT('',(748500.0,2245500.0)); -#3240=AXIS2_PLACEMENT_2D('',#3239,$); -#3241=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 21','part generic feature', - #27,.T.); -#3242=SHAPE_REPRESENTATION('ppsm',(#23),#3243); -#3243=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3244=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15673,#3240,'',$,#3241,#30,*); -#3245=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3241); -#3246=PHYSICAL_COMPONENT_TERMINAL('U1 pin 21','interconnect module component terminal', - #72,.U.); -#3247=CARTESIAN_POINT('',(848500.0,1745500.0)); -#3248=AXIS2_PLACEMENT_2D('',#3247,$); -#3249=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 62','part generic feature', - #27,.T.); -#3250=SHAPE_REPRESENTATION('ppsm',(#23),#3251); -#3251=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3252=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15674,#3248,'',$,#3249,#30,*); -#3253=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3249); -#3254=PHYSICAL_COMPONENT_TERMINAL('U1 pin 62','interconnect module component terminal', - #72,.U.); -#3255=CARTESIAN_POINT('',(648500.0,1945500.0)); -#3256=AXIS2_PLACEMENT_2D('',#3255,$); -#3257=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 44','part generic feature', - #27,.T.); -#3258=SHAPE_REPRESENTATION('ppsm',(#23),#3259); -#3259=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3260=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15675,#3256,'',$,#3257,#30,*); -#3261=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3257); -#3262=PHYSICAL_COMPONENT_TERMINAL('U1 pin 44','interconnect module component terminal', - #72,.U.); -#3263=CARTESIAN_POINT('',(948500.0,1845500.0)); -#3264=AXIS2_PLACEMENT_2D('',#3263,$); -#3265=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 55','part generic feature', - #27,.T.); -#3266=SHAPE_REPRESENTATION('ppsm',(#23),#3267); -#3267=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3268=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15676,#3264,'',$,#3265,#30,*); -#3269=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3265); -#3270=PHYSICAL_COMPONENT_TERMINAL('U1 pin 55','interconnect module component terminal', - #72,.U.); -#3271=CARTESIAN_POINT('',(348500.0,2045500.0)); -#3272=AXIS2_PLACEMENT_2D('',#3271,$); -#3273=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 33','part generic feature', - #27,.T.); -#3274=SHAPE_REPRESENTATION('ppsm',(#23),#3275); -#3275=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3276=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15677,#3272,'',$,#3273,#30,*); -#3277=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3273); -#3278=PHYSICAL_COMPONENT_TERMINAL('U1 pin 33','interconnect module component terminal', - #72,.U.); -#3279=CARTESIAN_POINT('',(848500.0,2245500.0)); -#3280=AXIS2_PLACEMENT_2D('',#3279,$); -#3281=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 22','part generic feature', - #27,.T.); -#3282=SHAPE_REPRESENTATION('ppsm',(#23),#3283); -#3283=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3284=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15678,#3280,'',$,#3281,#30,*); -#3285=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3281); -#3286=PHYSICAL_COMPONENT_TERMINAL('U1 pin 22','interconnect module component terminal', - #72,.U.); -#3287=CARTESIAN_POINT('',(548500.0,2345500.0)); -#3288=AXIS2_PLACEMENT_2D('',#3287,$); -#3289=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 11','part generic feature', - #27,.T.); -#3290=SHAPE_REPRESENTATION('ppsm',(#23),#3291); -#3291=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3292=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15679,#3288,'',$,#3289,#30,*); -#3293=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3289); -#3294=PHYSICAL_COMPONENT_TERMINAL('U1 pin 11','interconnect module component terminal', - #72,.U.); -#3295=CARTESIAN_POINT('',(448500.0,1845500.0)); -#3296=AXIS2_PLACEMENT_2D('',#3295,$); -#3297=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 50','part generic feature', - #27,.T.); -#3298=SHAPE_REPRESENTATION('ppsm',(#23),#3299); -#3299=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3300=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15680,#3296,'',$,#3297,#30,*); -#3301=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3297); -#3302=PHYSICAL_COMPONENT_TERMINAL('U1 pin 50','interconnect module component terminal', - #72,.U.); -#3303=CARTESIAN_POINT('',(548500.0,1945500.0)); -#3304=AXIS2_PLACEMENT_2D('',#3303,$); -#3305=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 43','part generic feature', - #27,.T.); -#3306=SHAPE_REPRESENTATION('ppsm',(#23),#3307); -#3307=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3308=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15681,#3304,'',$,#3305,#30,*); -#3309=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3305); -#3310=PHYSICAL_COMPONENT_TERMINAL('U1 pin 43','interconnect module component terminal', - #72,.U.); -#3311=CARTESIAN_POINT('',(648500.0,2345500.0)); -#3312=AXIS2_PLACEMENT_2D('',#3311,$); -#3313=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 12','part generic feature', - #27,.T.); -#3314=SHAPE_REPRESENTATION('ppsm',(#23),#3315); -#3315=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3316=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15682,#3312,'',$,#3313,#30,*); -#3317=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3313); -#3318=PHYSICAL_COMPONENT_TERMINAL('U1 pin 12','interconnect module component terminal', - #72,.U.); -#3319=CARTESIAN_POINT('',(948500.0,2245500.0)); -#3320=AXIS2_PLACEMENT_2D('',#3319,$); -#3321=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 23','part generic feature', - #27,.T.); -#3322=SHAPE_REPRESENTATION('ppsm',(#23),#3323); -#3323=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3324=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15683,#3320,'',$,#3321,#30,*); -#3325=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3321); -#3326=PHYSICAL_COMPONENT_TERMINAL('U1 pin 23','interconnect module component terminal', - #72,.U.); -#3327=CARTESIAN_POINT('',(648500.0,2145500.0)); -#3328=AXIS2_PLACEMENT_2D('',#3327,$); -#3329=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 28','part generic feature', - #27,.T.); -#3330=SHAPE_REPRESENTATION('ppsm',(#23),#3331); -#3331=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3332=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15684,#3328,'',$,#3329,#30,*); -#3333=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3329); -#3334=PHYSICAL_COMPONENT_TERMINAL('U1 pin 28','interconnect module component terminal', - #72,.U.); -#3335=CARTESIAN_POINT('',(448500.0,1945500.0)); -#3336=AXIS2_PLACEMENT_2D('',#3335,$); -#3337=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 42','part generic feature', - #27,.T.); -#3338=SHAPE_REPRESENTATION('ppsm',(#23),#3339); -#3339=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3340=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15685,#3336,'',$,#3337,#30,*); -#3341=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3337); -#3342=PHYSICAL_COMPONENT_TERMINAL('U1 pin 42','interconnect module component terminal', - #72,.U.); -#3343=CARTESIAN_POINT('',(1048500.0,2045500.0)); -#3344=AXIS2_PLACEMENT_2D('',#3343,$); -#3345=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 40','part generic feature', - #27,.T.); -#3346=SHAPE_REPRESENTATION('ppsm',(#23),#3347); -#3347=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3348=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15686,#3344,'',$,#3345,#30,*); -#3349=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3345); -#3350=PHYSICAL_COMPONENT_TERMINAL('U1 pin 40','interconnect module component terminal', - #72,.U.); -#3351=CARTESIAN_POINT('',(948500.0,1745500.0)); -#3352=AXIS2_PLACEMENT_2D('',#3351,$); -#3353=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 63','part generic feature', - #27,.T.); -#3354=SHAPE_REPRESENTATION('ppsm',(#23),#3355); -#3355=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3356=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15687,#3352,'',$,#3353,#30,*); -#3357=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3353); -#3358=PHYSICAL_COMPONENT_TERMINAL('U1 pin 63','interconnect module component terminal', - #72,.U.); -#3359=CARTESIAN_POINT('',(348500.0,1745500.0)); -#3360=AXIS2_PLACEMENT_2D('',#3359,$); -#3361=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 57','part generic feature', - #27,.T.); -#3362=SHAPE_REPRESENTATION('ppsm',(#23),#3363); -#3363=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3364=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15688,#3360,'',$,#3361,#30,*); -#3365=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3361); -#3366=PHYSICAL_COMPONENT_TERMINAL('U1 pin 57','interconnect module component terminal', - #72,.U.); -#3367=CARTESIAN_POINT('',(748500.0,2345500.0)); -#3368=AXIS2_PLACEMENT_2D('',#3367,$); -#3369=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 13','part generic feature', - #27,.T.); -#3370=SHAPE_REPRESENTATION('ppsm',(#23),#3371); -#3371=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3372=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15689,#3368,'',$,#3369,#30,*); -#3373=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3369); -#3374=PHYSICAL_COMPONENT_TERMINAL('U1 pin 13','interconnect module component terminal', - #72,.U.); -#3375=CARTESIAN_POINT('',(1048500.0,1845500.0)); -#3376=AXIS2_PLACEMENT_2D('',#3375,$); -#3377=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 56','part generic feature', - #27,.T.); -#3378=SHAPE_REPRESENTATION('ppsm',(#23),#3379); -#3379=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3380=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15690,#3376,'',$,#3377,#30,*); -#3381=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3377); -#3382=PHYSICAL_COMPONENT_TERMINAL('U1 pin 56','interconnect module component terminal', - #72,.U.); -#3383=CARTESIAN_POINT('',(948500.0,2445500.0)); -#3384=AXIS2_PLACEMENT_2D('',#3383,$); -#3385=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 7','part generic feature',#27, - .T.); -#3386=SHAPE_REPRESENTATION('ppsm',(#23),#3387); -#3387=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3388=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15691,#3384,'',$,#3385,#30,*); -#3389=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3385); -#3390=PHYSICAL_COMPONENT_TERMINAL('U1 pin 7','interconnect module component terminal', - #72,.U.); -#3391=CARTESIAN_POINT('',(448500.0,2345500.0)); -#3392=AXIS2_PLACEMENT_2D('',#3391,$); -#3393=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 10','part generic feature', - #27,.T.); -#3394=SHAPE_REPRESENTATION('ppsm',(#23),#3395); -#3395=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3396=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15692,#3392,'',$,#3393,#30,*); -#3397=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3393); -#3398=PHYSICAL_COMPONENT_TERMINAL('U1 pin 10','interconnect module component terminal', - #72,.U.); -#3399=CARTESIAN_POINT('',(548500.0,1745500.0)); -#3400=AXIS2_PLACEMENT_2D('',#3399,$); -#3401=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 59','part generic feature', - #27,.T.); -#3402=SHAPE_REPRESENTATION('ppsm',(#23),#3403); -#3403=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3404=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15693,#3400,'',$,#3401,#30,*); -#3405=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3401); -#3406=PHYSICAL_COMPONENT_TERMINAL('U1 pin 59','interconnect module component terminal', - #72,.U.); -#3407=CARTESIAN_POINT('',(848500.0,2445500.0)); -#3408=AXIS2_PLACEMENT_2D('',#3407,$); -#3409=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 6','part generic feature',#27, - .T.); -#3410=SHAPE_REPRESENTATION('ppsm',(#23),#3411); -#3411=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3412=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15694,#3408,'',$,#3409,#30,*); -#3413=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3409); -#3414=PHYSICAL_COMPONENT_TERMINAL('U1 pin 6','interconnect module component terminal', - #72,.U.); -#3415=CARTESIAN_POINT('',(1048500.0,1945500.0)); -#3416=AXIS2_PLACEMENT_2D('',#3415,$); -#3417=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 48','part generic feature', - #27,.T.); -#3418=SHAPE_REPRESENTATION('ppsm',(#23),#3419); -#3419=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3420=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15695,#3416,'',$,#3417,#30,*); -#3421=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3417); -#3422=PHYSICAL_COMPONENT_TERMINAL('U1 pin 48','interconnect module component terminal', - #72,.U.); -#3423=CARTESIAN_POINT('',(648500.0,2445500.0)); -#3424=AXIS2_PLACEMENT_2D('',#3423,$); -#3425=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 4','part generic feature',#27, - .T.); -#3426=SHAPE_REPRESENTATION('ppsm',(#23),#3427); -#3427=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3428=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15696,#3424,'',$,#3425,#30,*); -#3429=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3425); -#3430=PHYSICAL_COMPONENT_TERMINAL('U1 pin 4','interconnect module component terminal', - #72,.U.); -#3431=CARTESIAN_POINT('',(948500.0,2345500.0)); -#3432=AXIS2_PLACEMENT_2D('',#3431,$); -#3433=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 15','part generic feature', - #27,.T.); -#3434=SHAPE_REPRESENTATION('ppsm',(#23),#3435); -#3435=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3436=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15697,#3432,'',$,#3433,#30,*); -#3437=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3433); -#3438=PHYSICAL_COMPONENT_TERMINAL('U1 pin 15','interconnect module component terminal', - #72,.U.); -#3439=CARTESIAN_POINT('',(848500.0,1845500.0)); -#3440=AXIS2_PLACEMENT_2D('',#3439,$); -#3441=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 54','part generic feature', - #27,.T.); -#3442=SHAPE_REPRESENTATION('ppsm',(#23),#3443); -#3443=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3444=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15698,#3440,'',$,#3441,#30,*); -#3445=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3441); -#3446=PHYSICAL_COMPONENT_TERMINAL('U1 pin 54','interconnect module component terminal', - #72,.U.); -#3447=CARTESIAN_POINT('',(948500.0,1945500.0)); -#3448=AXIS2_PLACEMENT_2D('',#3447,$); -#3449=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 47','part generic feature', - #27,.T.); -#3450=SHAPE_REPRESENTATION('ppsm',(#23),#3451); -#3451=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3452=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15699,#3448,'',$,#3449,#30,*); -#3453=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3449); -#3454=PHYSICAL_COMPONENT_TERMINAL('U1 pin 47','interconnect module component terminal', - #72,.U.); -#3455=CARTESIAN_POINT('',(748500.0,2445500.0)); -#3456=AXIS2_PLACEMENT_2D('',#3455,$); -#3457=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 5','part generic feature',#27, - .T.); -#3458=SHAPE_REPRESENTATION('ppsm',(#23),#3459); -#3459=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3460=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15700,#3456,'',$,#3457,#30,*); -#3461=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3457); -#3462=PHYSICAL_COMPONENT_TERMINAL('U1 pin 5','interconnect module component terminal', - #72,.U.); -#3463=CARTESIAN_POINT('',(748500.0,1845500.0)); -#3464=AXIS2_PLACEMENT_2D('',#3463,$); -#3465=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 53','part generic feature', - #27,.T.); -#3466=SHAPE_REPRESENTATION('ppsm',(#23),#3467); -#3467=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3468=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15701,#3464,'',$,#3465,#30,*); -#3469=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3465); -#3470=PHYSICAL_COMPONENT_TERMINAL('U1 pin 53','interconnect module component terminal', - #72,.U.); -#3471=CARTESIAN_POINT('',(648500.0,1745500.0)); -#3472=AXIS2_PLACEMENT_2D('',#3471,$); -#3473=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 60','part generic feature', - #27,.T.); -#3474=SHAPE_REPRESENTATION('ppsm',(#23),#3475); -#3475=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3476=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15702,#3472,'',$,#3473,#30,*); -#3477=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3473); -#3478=PHYSICAL_COMPONENT_TERMINAL('U1 pin 60','interconnect module component terminal', - #72,.U.); -#3479=CARTESIAN_POINT('',(948500.0,2145500.0)); -#3480=AXIS2_PLACEMENT_2D('',#3479,$); -#3481=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 31','part generic feature', - #27,.T.); -#3482=SHAPE_REPRESENTATION('ppsm',(#23),#3483); -#3483=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3484=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15703,#3480,'',$,#3481,#30,*); -#3485=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3481); -#3486=PHYSICAL_COMPONENT_TERMINAL('U1 pin 31','interconnect module component terminal', - #72,.U.); -#3487=CARTESIAN_POINT('',(348500.0,1845500.0)); -#3488=AXIS2_PLACEMENT_2D('',#3487,$); -#3489=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 49','part generic feature', - #27,.T.); -#3490=SHAPE_REPRESENTATION('ppsm',(#23),#3491); -#3491=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3492=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15704,#3488,'',$,#3489,#30,*); -#3493=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3489); -#3494=PHYSICAL_COMPONENT_TERMINAL('U1 pin 49','interconnect module component terminal', - #72,.U.); -#3495=CARTESIAN_POINT('',(1048500.0,2445500.0)); -#3496=AXIS2_PLACEMENT_2D('',#3495,$); -#3497=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 8','part generic feature',#27, - .T.); -#3498=SHAPE_REPRESENTATION('ppsm',(#23),#3499); -#3499=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3500=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15705,#3496,'',$,#3497,#30,*); -#3501=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3497); -#3502=PHYSICAL_COMPONENT_TERMINAL('U1 pin 8','interconnect module component terminal', - #72,.U.); -#3503=CARTESIAN_POINT('',(548500.0,2145500.0)); -#3504=AXIS2_PLACEMENT_2D('',#3503,$); -#3505=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 27','part generic feature', - #27,.T.); -#3506=SHAPE_REPRESENTATION('ppsm',(#23),#3507); -#3507=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3508=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15706,#3504,'',$,#3505,#30,*); -#3509=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3505); -#3510=PHYSICAL_COMPONENT_TERMINAL('U1 pin 27','interconnect module component terminal', - #72,.U.); -#3511=CARTESIAN_POINT('',(648500.0,1845500.0)); -#3512=AXIS2_PLACEMENT_2D('',#3511,$); -#3513=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 52','part generic feature', - #27,.T.); -#3514=SHAPE_REPRESENTATION('ppsm',(#23),#3515); -#3515=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3516=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15707,#3512,'',$,#3513,#30,*); -#3517=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3513); -#3518=PHYSICAL_COMPONENT_TERMINAL('U1 pin 52','interconnect module component terminal', - #72,.U.); -#3519=CARTESIAN_POINT('',(448500.0,2445500.0)); -#3520=AXIS2_PLACEMENT_2D('',#3519,$); -#3521=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 2','part generic feature',#27, - .T.); -#3522=SHAPE_REPRESENTATION('ppsm',(#23),#3523); -#3523=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3524=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15708,#3520,'',$,#3521,#30,*); -#3525=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3521); -#3526=PHYSICAL_COMPONENT_TERMINAL('U1 pin 2','interconnect module component terminal', - #72,.U.); -#3527=CARTESIAN_POINT('',(848500.0,2145500.0)); -#3528=AXIS2_PLACEMENT_2D('',#3527,$); -#3529=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1 pin 30','part generic feature', - #27,.T.); -#3530=SHAPE_REPRESENTATION('ppsm',(#23),#3531); -#3531=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#3532=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#15709,#3528,'',$,#3529,#30,*); -#3533=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#3529); -#3534=PHYSICAL_COMPONENT_TERMINAL('U1 pin 30','interconnect module component terminal', - #72,.U.); -#3535=PHYSICAL_COMPONENT_TERMINAL('14','packaged component join terminal',#3012, - .T.); -#3536=ASSEMBLY_JOINT('',$,#3030,#3535,'U1.14',$,#12,.U.); -#3537=PHYSICAL_COMPONENT_TERMINAL('29','packaged component join terminal',#3012, - .T.); -#3538=ASSEMBLY_JOINT('',$,#3038,#3537,'U1.29',$,#12,.U.); -#3539=PHYSICAL_COMPONENT_TERMINAL('9','packaged component join terminal',#3012,.T.); -#3540=ASSEMBLY_JOINT('',$,#3046,#3539,'U1.9',$,#12,.U.); -#3541=PHYSICAL_COMPONENT_TERMINAL('36','packaged component join terminal',#3012, - .T.); -#3542=ASSEMBLY_JOINT('',$,#3054,#3541,'U1.36',$,#12,.U.); -#3543=PHYSICAL_COMPONENT_TERMINAL('58','packaged component join terminal',#3012, - .T.); -#3544=ASSEMBLY_JOINT('',$,#3062,#3543,'U1.58',$,#12,.U.); -#3545=PHYSICAL_COMPONENT_TERMINAL('35','packaged component join terminal',#3012, - .T.); -#3546=ASSEMBLY_JOINT('',$,#3070,#3545,'U1.35',$,#12,.U.); -#3547=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#3012,.T.); -#3548=ASSEMBLY_JOINT('',$,#3078,#3547,'U1.1',$,#12,.U.); -#3549=PHYSICAL_COMPONENT_TERMINAL('61','packaged component join terminal',#3012, - .T.); -#3550=ASSEMBLY_JOINT('',$,#3086,#3549,'U1.61',$,#12,.U.); -#3551=PHYSICAL_COMPONENT_TERMINAL('45','packaged component join terminal',#3012, - .T.); -#3552=ASSEMBLY_JOINT('',$,#3094,#3551,'U1.45',$,#12,.U.); -#3553=PHYSICAL_COMPONENT_TERMINAL('20','packaged component join terminal',#3012, - .T.); -#3554=ASSEMBLY_JOINT('',$,#3102,#3553,'U1.20',$,#12,.U.); -#3555=PHYSICAL_COMPONENT_TERMINAL('34','packaged component join terminal',#3012, - .T.); -#3556=ASSEMBLY_JOINT('',$,#3110,#3555,'U1.34',$,#12,.U.); -#3557=PHYSICAL_COMPONENT_TERMINAL('64','packaged component join terminal',#3012, - .T.); -#3558=ASSEMBLY_JOINT('',$,#3118,#3557,'U1.64',$,#12,.U.); -#3559=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#3012,.T.); -#3560=ASSEMBLY_JOINT('',$,#3126,#3559,'U1.3',$,#12,.U.); -#3561=PHYSICAL_COMPONENT_TERMINAL('25','packaged component join terminal',#3012, - .T.); -#3562=ASSEMBLY_JOINT('',$,#3134,#3561,'U1.25',$,#12,.U.); -#3563=PHYSICAL_COMPONENT_TERMINAL('18','packaged component join terminal',#3012, - .T.); -#3564=ASSEMBLY_JOINT('',$,#3142,#3563,'U1.18',$,#12,.U.); -#3565=PHYSICAL_COMPONENT_TERMINAL('37','packaged component join terminal',#3012, - .T.); -#3566=ASSEMBLY_JOINT('',$,#3150,#3565,'U1.37',$,#12,.U.); -#3567=PHYSICAL_COMPONENT_TERMINAL('26','packaged component join terminal',#3012, - .T.); -#3568=ASSEMBLY_JOINT('',$,#3158,#3567,'U1.26',$,#12,.U.); -#3569=PHYSICAL_COMPONENT_TERMINAL('32','packaged component join terminal',#3012, - .T.); -#3570=ASSEMBLY_JOINT('',$,#3166,#3569,'U1.32',$,#12,.U.); -#3571=PHYSICAL_COMPONENT_TERMINAL('17','packaged component join terminal',#3012, - .T.); -#3572=ASSEMBLY_JOINT('',$,#3174,#3571,'U1.17',$,#12,.U.); -#3573=PHYSICAL_COMPONENT_TERMINAL('51','packaged component join terminal',#3012, - .T.); -#3574=ASSEMBLY_JOINT('',$,#3182,#3573,'U1.51',$,#12,.U.); -#3575=PHYSICAL_COMPONENT_TERMINAL('46','packaged component join terminal',#3012, - .T.); -#3576=ASSEMBLY_JOINT('',$,#3190,#3575,'U1.46',$,#12,.U.); -#3577=PHYSICAL_COMPONENT_TERMINAL('16','packaged component join terminal',#3012, - .T.); -#3578=ASSEMBLY_JOINT('',$,#3198,#3577,'U1.16',$,#12,.U.); -#3579=PHYSICAL_COMPONENT_TERMINAL('38','packaged component join terminal',#3012, - .T.); -#3580=ASSEMBLY_JOINT('',$,#3206,#3579,'U1.38',$,#12,.U.); -#3581=PHYSICAL_COMPONENT_TERMINAL('41','packaged component join terminal',#3012, - .T.); -#3582=ASSEMBLY_JOINT('',$,#3214,#3581,'U1.41',$,#12,.U.); -#3583=PHYSICAL_COMPONENT_TERMINAL('24','packaged component join terminal',#3012, - .T.); -#3584=ASSEMBLY_JOINT('',$,#3222,#3583,'U1.24',$,#12,.U.); -#3585=PHYSICAL_COMPONENT_TERMINAL('19','packaged component join terminal',#3012, - .T.); -#3586=ASSEMBLY_JOINT('',$,#3230,#3585,'U1.19',$,#12,.U.); -#3587=PHYSICAL_COMPONENT_TERMINAL('39','packaged component join terminal',#3012, - .T.); -#3588=ASSEMBLY_JOINT('',$,#3238,#3587,'U1.39',$,#12,.U.); -#3589=PHYSICAL_COMPONENT_TERMINAL('21','packaged component join terminal',#3012, - .T.); -#3590=ASSEMBLY_JOINT('',$,#3246,#3589,'U1.21',$,#12,.U.); -#3591=PHYSICAL_COMPONENT_TERMINAL('62','packaged component join terminal',#3012, - .T.); -#3592=ASSEMBLY_JOINT('',$,#3254,#3591,'U1.62',$,#12,.U.); -#3593=PHYSICAL_COMPONENT_TERMINAL('44','packaged component join terminal',#3012, - .T.); -#3594=ASSEMBLY_JOINT('',$,#3262,#3593,'U1.44',$,#12,.U.); -#3595=PHYSICAL_COMPONENT_TERMINAL('55','packaged component join terminal',#3012, - .T.); -#3596=ASSEMBLY_JOINT('',$,#3270,#3595,'U1.55',$,#12,.U.); -#3597=PHYSICAL_COMPONENT_TERMINAL('33','packaged component join terminal',#3012, - .T.); -#3598=ASSEMBLY_JOINT('',$,#3278,#3597,'U1.33',$,#12,.U.); -#3599=PHYSICAL_COMPONENT_TERMINAL('22','packaged component join terminal',#3012, - .T.); -#3600=ASSEMBLY_JOINT('',$,#3286,#3599,'U1.22',$,#12,.U.); -#3601=PHYSICAL_COMPONENT_TERMINAL('11','packaged component join terminal',#3012, - .T.); -#3602=ASSEMBLY_JOINT('',$,#3294,#3601,'U1.11',$,#12,.U.); -#3603=PHYSICAL_COMPONENT_TERMINAL('50','packaged component join terminal',#3012, - .T.); -#3604=ASSEMBLY_JOINT('',$,#3302,#3603,'U1.50',$,#12,.U.); -#3605=PHYSICAL_COMPONENT_TERMINAL('43','packaged component join terminal',#3012, - .T.); -#3606=ASSEMBLY_JOINT('',$,#3310,#3605,'U1.43',$,#12,.U.); -#3607=PHYSICAL_COMPONENT_TERMINAL('12','packaged component join terminal',#3012, - .T.); -#3608=ASSEMBLY_JOINT('',$,#3318,#3607,'U1.12',$,#12,.U.); -#3609=PHYSICAL_COMPONENT_TERMINAL('23','packaged component join terminal',#3012, - .T.); -#3610=ASSEMBLY_JOINT('',$,#3326,#3609,'U1.23',$,#12,.U.); -#3611=PHYSICAL_COMPONENT_TERMINAL('28','packaged component join terminal',#3012, - .T.); -#3612=ASSEMBLY_JOINT('',$,#3334,#3611,'U1.28',$,#12,.U.); -#3613=PHYSICAL_COMPONENT_TERMINAL('42','packaged component join terminal',#3012, - .T.); -#3614=ASSEMBLY_JOINT('',$,#3342,#3613,'U1.42',$,#12,.U.); -#3615=PHYSICAL_COMPONENT_TERMINAL('40','packaged component join terminal',#3012, - .T.); -#3616=ASSEMBLY_JOINT('',$,#3350,#3615,'U1.40',$,#12,.U.); -#3617=PHYSICAL_COMPONENT_TERMINAL('63','packaged component join terminal',#3012, - .T.); -#3618=ASSEMBLY_JOINT('',$,#3358,#3617,'U1.63',$,#12,.U.); -#3619=PHYSICAL_COMPONENT_TERMINAL('57','packaged component join terminal',#3012, - .T.); -#3620=ASSEMBLY_JOINT('',$,#3366,#3619,'U1.57',$,#12,.U.); -#3621=PHYSICAL_COMPONENT_TERMINAL('13','packaged component join terminal',#3012, - .T.); -#3622=ASSEMBLY_JOINT('',$,#3374,#3621,'U1.13',$,#12,.U.); -#3623=PHYSICAL_COMPONENT_TERMINAL('56','packaged component join terminal',#3012, - .T.); -#3624=ASSEMBLY_JOINT('',$,#3382,#3623,'U1.56',$,#12,.U.); -#3625=PHYSICAL_COMPONENT_TERMINAL('7','packaged component join terminal',#3012,.T.); -#3626=ASSEMBLY_JOINT('',$,#3390,#3625,'U1.7',$,#12,.U.); -#3627=PHYSICAL_COMPONENT_TERMINAL('10','packaged component join terminal',#3012, - .T.); -#3628=ASSEMBLY_JOINT('',$,#3398,#3627,'U1.10',$,#12,.U.); -#3629=PHYSICAL_COMPONENT_TERMINAL('59','packaged component join terminal',#3012, - .T.); -#3630=ASSEMBLY_JOINT('',$,#3406,#3629,'U1.59',$,#12,.U.); -#3631=PHYSICAL_COMPONENT_TERMINAL('6','packaged component join terminal',#3012,.T.); -#3632=ASSEMBLY_JOINT('',$,#3414,#3631,'U1.6',$,#12,.U.); -#3633=PHYSICAL_COMPONENT_TERMINAL('48','packaged component join terminal',#3012, - .T.); -#3634=ASSEMBLY_JOINT('',$,#3422,#3633,'U1.48',$,#12,.U.); -#3635=PHYSICAL_COMPONENT_TERMINAL('4','packaged component join terminal',#3012,.T.); -#3636=ASSEMBLY_JOINT('',$,#3430,#3635,'U1.4',$,#12,.U.); -#3637=PHYSICAL_COMPONENT_TERMINAL('15','packaged component join terminal',#3012, - .T.); -#3638=ASSEMBLY_JOINT('',$,#3438,#3637,'U1.15',$,#12,.U.); -#3639=PHYSICAL_COMPONENT_TERMINAL('54','packaged component join terminal',#3012, - .T.); -#3640=ASSEMBLY_JOINT('',$,#3446,#3639,'U1.54',$,#12,.U.); -#3641=PHYSICAL_COMPONENT_TERMINAL('47','packaged component join terminal',#3012, - .T.); -#3642=ASSEMBLY_JOINT('',$,#3454,#3641,'U1.47',$,#12,.U.); -#3643=PHYSICAL_COMPONENT_TERMINAL('5','packaged component join terminal',#3012,.T.); -#3644=ASSEMBLY_JOINT('',$,#3462,#3643,'U1.5',$,#12,.U.); -#3645=PHYSICAL_COMPONENT_TERMINAL('53','packaged component join terminal',#3012, - .T.); -#3646=ASSEMBLY_JOINT('',$,#3470,#3645,'U1.53',$,#12,.U.); -#3647=PHYSICAL_COMPONENT_TERMINAL('60','packaged component join terminal',#3012, - .T.); -#3648=ASSEMBLY_JOINT('',$,#3478,#3647,'U1.60',$,#12,.U.); -#3649=PHYSICAL_COMPONENT_TERMINAL('31','packaged component join terminal',#3012, - .T.); -#3650=ASSEMBLY_JOINT('',$,#3486,#3649,'U1.31',$,#12,.U.); -#3651=PHYSICAL_COMPONENT_TERMINAL('49','packaged component join terminal',#3012, - .T.); -#3652=ASSEMBLY_JOINT('',$,#3494,#3651,'U1.49',$,#12,.U.); -#3653=PHYSICAL_COMPONENT_TERMINAL('8','packaged component join terminal',#3012,.T.); -#3654=ASSEMBLY_JOINT('',$,#3502,#3653,'U1.8',$,#12,.U.); -#3655=PHYSICAL_COMPONENT_TERMINAL('27','packaged component join terminal',#3012, - .T.); -#3656=ASSEMBLY_JOINT('',$,#3510,#3655,'U1.27',$,#12,.U.); -#3657=PHYSICAL_COMPONENT_TERMINAL('52','packaged component join terminal',#3012, - .T.); -#3658=ASSEMBLY_JOINT('',$,#3518,#3657,'U1.52',$,#12,.U.); -#3659=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#3012,.T.); -#3660=ASSEMBLY_JOINT('',$,#3526,#3659,'U1.2',$,#12,.U.); -#3661=PHYSICAL_COMPONENT_TERMINAL('30','packaged component join terminal',#3012, - .T.); -#3662=ASSEMBLY_JOINT('',$,#3534,#3661,'U1.30',$,#12,.U.); -#3663=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#3013,1.0); -#3664=FOOTPRINT_OCCURRENCE('U1',$,#2879,#4,'U1','definition usage',$,#2877,*,'', - $,*); -#3665=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('U1','',$,#223,#2877,'U1','',$, - #3664,*); -#3666=PRODUCT_DEFINITION_SHAPE('',$,#3665); -#3667=COMPONENT_2D_LOCATION(*,#3666,'component 2d location',$,#2880,#224,#3663); -#3668=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 D6 normal on Resist-A',$,#911,#4,'U1 D6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3669=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 D6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 D6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3670=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3669,.U.); -#3671=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 A2 normal on Resist-A',$,#911,#4,'U1 A2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3672=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 A2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 A2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3673=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3672,.U.); -#3674=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 G4 normal on Resist-A',$,#911,#4,'U1 G4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3675=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 G4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 G4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3676=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3675,.U.); -#3677=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 D3 normal on Resist-A',$,#911,#4,'U1 D3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3678=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 D3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 D3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3679=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3678,.U.); -#3680=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 A8 normal on Resist-A',$,#911,#4,'U1 A8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3681=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 A8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 A8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3682=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3681,.U.); -#3683=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 G1 normal on Resist-A',$,#911,#4,'U1 G1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3684=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 G1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 G1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3685=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3684,.U.); -#3686=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 D7 normal on Resist-A',$,#911,#4,'U1 D7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3687=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 D7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 D7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3688=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3687,.U.); -#3689=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 H4 normal on Resist-A',$,#911,#4,'U1 H4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3690=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 H4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 H4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3691=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3690,.U.); -#3692=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 G5 normal on Resist-A',$,#911,#4,'U1 G5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3693=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 G5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 G5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3694=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3693,.U.); -#3695=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 A5 normal on Resist-A',$,#911,#4,'U1 A5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3696=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 A5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 A5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3697=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3696,.U.); -#3698=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 F7 normal on Resist-A',$,#911,#4,'U1 F7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3699=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 F7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 F7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3700=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3699,.U.); -#3701=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 G6 normal on Resist-A',$,#911,#4,'U1 G6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3702=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 G6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 G6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3703=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3702,.U.); -#3704=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 B7 normal on Resist-A',$,#911,#4,'U1 B7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3705=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 B7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 B7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3706=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3705,.U.); -#3707=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 A4 normal on Resist-A',$,#911,#4,'U1 A4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3708=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 A4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 A4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3709=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3708,.U.); -#3710=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 F8 normal on Resist-A',$,#911,#4,'U1 F8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3711=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 F8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 F8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3712=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3711,.U.); -#3713=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 A6 normal on Resist-A',$,#911,#4,'U1 A6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3714=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 A6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 A6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3715=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3714,.U.); -#3716=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 H3 normal on Resist-A',$,#911,#4,'U1 H3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3717=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 H3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 H3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3718=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3717,.U.); -#3719=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 B2 normal on Resist-A',$,#911,#4,'U1 B2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3720=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 B2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 B2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3721=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3720,.U.); -#3722=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 A7 normal on Resist-A',$,#911,#4,'U1 A7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3723=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 A7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 A7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3724=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3723,.U.); -#3725=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 G8 normal on Resist-A',$,#911,#4,'U1 G8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3726=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 G8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 G8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3727=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3726,.U.); -#3728=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 B5 normal on Resist-A',$,#911,#4,'U1 B5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3729=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 B5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 B5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3730=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3729,.U.); -#3731=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 H1 normal on Resist-A',$,#911,#4,'U1 H1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3732=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 H1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 H1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3733=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3732,.U.); -#3734=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 H7 normal on Resist-A',$,#911,#4,'U1 H7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3735=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 H7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 H7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3736=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3735,.U.); -#3737=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 E8 normal on Resist-A',$,#911,#4,'U1 E8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3738=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 E8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 E8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3739=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3738,.U.); -#3740=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 F2 normal on Resist-A',$,#911,#4,'U1 F2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3741=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 F2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 F2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3742=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3741,.U.); -#3743=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 D4 normal on Resist-A',$,#911,#4,'U1 D4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3744=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 D4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 D4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3745=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3744,.U.); -#3746=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 C7 normal on Resist-A',$,#911,#4,'U1 C7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3747=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 C7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 C7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3748=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3747,.U.); -#3749=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 B4 normal on Resist-A',$,#911,#4,'U1 B4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3750=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 B4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 B4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3751=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3750,.U.); -#3752=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 F3 normal on Resist-A',$,#911,#4,'U1 F3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3753=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 F3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 F3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3754=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3753,.U.); -#3755=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 G2 normal on Resist-A',$,#911,#4,'U1 G2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3756=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 G2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 G2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3757=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3756,.U.); -#3758=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 B3 normal on Resist-A',$,#911,#4,'U1 B3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3759=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 B3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 B3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3760=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3759,.U.); -#3761=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 C6 normal on Resist-A',$,#911,#4,'U1 C6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3762=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 C6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 C6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3763=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3762,.U.); -#3764=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 E1 normal on Resist-A',$,#911,#4,'U1 E1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3765=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 E1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 E1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3766=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3765,.U.); -#3767=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 G7 normal on Resist-A',$,#911,#4,'U1 G7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3768=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 G7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 G7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3769=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3768,.U.); -#3770=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 F4 normal on Resist-A',$,#911,#4,'U1 F4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3771=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 F4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 F4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3772=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3771,.U.); -#3773=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 H6 normal on Resist-A',$,#911,#4,'U1 H6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3774=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 H6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 H6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3775=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3774,.U.); -#3776=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 C5 normal on Resist-A',$,#911,#4,'U1 C5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3777=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 C5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 C5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3778=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3777,.U.); -#3779=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 E7 normal on Resist-A',$,#911,#4,'U1 E7 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3780=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 E7 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 E7 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3781=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3780,.U.); -#3782=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 C3 normal on Resist-A',$,#911,#4,'U1 C3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3783=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 C3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 C3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3784=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3783,.U.); -#3785=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 C8 normal on Resist-A',$,#911,#4,'U1 C8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3786=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 C8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 C8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3787=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3786,.U.); -#3788=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 F1 normal on Resist-A',$,#911,#4,'U1 F1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3789=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 F1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 F1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3790=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3789,.U.); -#3791=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 E6 normal on Resist-A',$,#911,#4,'U1 E6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3792=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 E6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 E6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3793=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3792,.U.); -#3794=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 B8 normal on Resist-A',$,#911,#4,'U1 B8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3795=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 B8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 B8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3796=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3795,.U.); -#3797=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 F6 normal on Resist-A',$,#911,#4,'U1 F6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3798=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 F6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 F6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3799=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3798,.U.); -#3800=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 G3 normal on Resist-A',$,#911,#4,'U1 G3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3801=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 G3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 G3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3802=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3801,.U.); -#3803=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 C1 normal on Resist-A',$,#911,#4,'U1 C1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3804=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 C1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 C1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3805=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3804,.U.); -#3806=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 D8 normal on Resist-A',$,#911,#4,'U1 D8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3807=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 D8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 D8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3808=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3807,.U.); -#3809=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 D2 normal on Resist-A',$,#911,#4,'U1 D2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3810=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 D2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 D2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3811=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3810,.U.); -#3812=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 E5 normal on Resist-A',$,#911,#4,'U1 E5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3813=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 E5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 E5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3814=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3813,.U.); -#3815=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 C2 normal on Resist-A',$,#911,#4,'U1 C2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3816=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 C2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 C2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3817=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3816,.U.); -#3818=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 D1 normal on Resist-A',$,#911,#4,'U1 D1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3819=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 D1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 D1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3820=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3819,.U.); -#3821=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 A3 normal on Resist-A',$,#911,#4,'U1 A3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3822=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 A3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 A3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3823=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3822,.U.); -#3824=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 H8 normal on Resist-A',$,#911,#4,'U1 H8 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3825=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 H8 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 H8 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3826=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3825,.U.); -#3827=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 E2 normal on Resist-A',$,#911,#4,'U1 E2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3828=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 E2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 E2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3829=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3828,.U.); -#3830=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 C4 normal on Resist-A',$,#911,#4,'U1 C4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3831=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 C4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 C4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3832=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3831,.U.); -#3833=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 F5 normal on Resist-A',$,#911,#4,'U1 F5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3834=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 F5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 F5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3835=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3834,.U.); -#3836=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 H5 normal on Resist-A',$,#911,#4,'U1 H5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3837=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 H5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 H5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3838=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3837,.U.); -#3839=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 A1 normal on Resist-A',$,#911,#4,'U1 A1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3840=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 A1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 A1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3841=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3840,.U.); -#3842=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 E3 normal on Resist-A',$,#911,#4,'U1 E3 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3843=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 E3 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 E3 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3844=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3843,.U.); -#3845=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 H2 normal on Resist-A',$,#911,#4,'U1 H2 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3846=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 H2 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 H2 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3847=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3846,.U.); -#3848=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 E4 normal on Resist-A',$,#911,#4,'U1 E4 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3849=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 E4 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 E4 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3850=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3849,.U.); -#3851=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 B1 normal on Resist-A',$,#911,#4,'U1 B1 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3852=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 B1 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 B1 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3853=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3852,.U.); -#3854=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 D5 normal on Resist-A',$,#911,#4,'U1 D5 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3855=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 D5 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 D5 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3856=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3855,.U.); -#3857=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1 B6 normal on Resist-A',$,#911,#4,'U1 B6 normal on Resist-A', - 'definition usage',$,#909,*,'',$,*); -#3858=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1 B6 normal on Wiring Layer1', - '',#895,#4)PRODUCT_DEFINITION_RELATIONSHIP('U1 B6 normal on Wiring Layer1','definition usage', - $,#893,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('join', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3859=LAMINATE_COMPONENT_INTERFACE_TERMINAL('interface','land interface terminal', - #3858,.U.); -#3860=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3025, - #3859); -#3861=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3033, - #3856); -#3862=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3041, - #3853); -#3863=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3049, - #3850); -#3864=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3057, - #3847); -#3865=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3065, - #3844); -#3866=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3073, - #3841); -#3867=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3081, - #3838); -#3868=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3089, - #3835); -#3869=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3097, - #3832); -#3870=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3105, - #3829); -#3871=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3113, - #3826); -#3872=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3121, - #3823); -#3873=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3129, - #3820); -#3874=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3145, - #3814); -#3875=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3137, - #3817); -#3876=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3153, - #3811); -#3877=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3161, - #3808); -#3878=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3169, - #3805); -#3879=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3177, - #3802); -#3880=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3185, - #3799); -#3881=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3193, - #3796); -#3882=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3201, - #3793); -#3883=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3209, - #3790); -#3884=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3217, - #3787); -#3885=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3225, - #3784); -#3886=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3233, - #3781); -#3887=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3241, - #3778); -#3888=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3249, - #3775); -#3889=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3257, - #3772); -#3890=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3265, - #3769); -#3891=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3273, - #3766); -#3892=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3281, - #3763); -#3893=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3289, - #3760); -#3894=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3297, - #3757); -#3895=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3305, - #3754); -#3896=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3313, - #3751); -#3897=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3321, - #3748); -#3898=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3329, - #3745); -#3899=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3337, - #3742); -#3900=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3345, - #3739); -#3901=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3353, - #3736); -#3902=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3361, - #3733); -#3903=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3369, - #3730); -#3904=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3377, - #3727); -#3905=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3385, - #3724); -#3906=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3393, - #3721); -#3907=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3401, - #3718); -#3908=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3409, - #3715); -#3909=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3417, - #3712); -#3910=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3425, - #3709); -#3911=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3433, - #3706); -#3912=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3441, - #3703); -#3913=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3449, - #3700); -#3914=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3457, - #3697); -#3915=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3465, - #3694); -#3916=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3481, - #3688); -#3917=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3473, - #3691); -#3918=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3489, - #3685); -#3919=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3505, - #3679); -#3920=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3497, - #3682); -#3921=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3513, - #3676); -#3922=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3529, - #3670); -#3923=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#3521, - #3673); -#3924=CARTESIAN_POINT('',(1714500.0,2159000.0)); -#3925=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#3924,1.0); -#3926=MULTI_STRATUM_PRINTED_COMPONENT('TB1','printed component',#2257,#4,'TB1','definition usage', - $,#2255,*,'',$,*); -#3927=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TB1','',$,#223,#2255,'TB1','', - $,#3926,*); -#3928=PRODUCT_DEFINITION_SHAPE('',$,#3927); -#3929=COMPONENT_2D_LOCATION(*,#3928,'component 2d location',$,#2258,#224,#3925); -#3930=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3931=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3932=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3933=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3934=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3935=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3936=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3937=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3938=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3939=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3940=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3941=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3942=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3943=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3944=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3945=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 2 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 2 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3946=INTERFACIAL_CONNECTION('TB1 2 drill','component termination passage',#2269, - #4,'TB1 2 drill','definition usage',$,#2274,*,'',$,*); -#3947=MATERIAL_REMOVAL_LAMINATE_COMPONENT('TB1 2 normal on Resist-A',$,#2326,#4, - 'TB1 2 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#3948=MATERIAL_REMOVAL_LAMINATE_COMPONENT('TB1 2 normal on Resist-B',$,#2326,#4, - 'TB1 2 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#3949=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3950=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3951=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3952=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3953=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3954=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3955=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3956=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3957=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3958=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3959=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3960=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3961=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3962=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3963=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3964=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('TB1 1 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('TB1 1 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#3965=INTERFACIAL_CONNECTION('TB1 1 drill','component termination passage',#2269, - #4,'TB1 1 drill','definition usage',$,#2274,*,'',$,*); -#3966=MATERIAL_REMOVAL_LAMINATE_COMPONENT('TB1 1 normal on Resist-A',$,#2326,#4, - 'TB1 1 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#3967=MATERIAL_REMOVAL_LAMINATE_COMPONENT('TB1 1 normal on Resist-B',$,#2326,#4, - 'TB1 1 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#3968=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('TB1 tiebar shape', - $,#2254,#4,'TB1 tiebar shape','definition usage',$,#2252,*,'',$,*,'TB1 tiebar shape', - $,#297,.U.,$,$,*,*); -#3969=LAMINATE_COMPONENT_JOIN_TERMINAL('2','printed component join terminal',#3926, - .T.); -#3970=LAMINATE_COMPONENT_JOIN_TERMINAL('1','printed component join terminal',#3926, - .T.); -#3971=PHYSICAL_CONNECTIVITY_DEFINITION('net1',$,#12,.U.); -#3972=PHYSICAL_CONNECTIVITY_DEFINITION('net2',$,#12,.U.); -#3973=PHYSICAL_CONNECTIVITY_DEFINITION('net3',$,#12,.U.); -#3974=PHYSICAL_CONNECTIVITY_DEFINITION('net4',$,#12,.U.); -#3975=PHYSICAL_CONNECTIVITY_DEFINITION('net7',$,#12,.U.); -#3976=PHYSICAL_CONNECTIVITY_DEFINITION('net8',$,#12,.U.); -#3977=PHYSICAL_CONNECTIVITY_DEFINITION('net9',$,#12,.U.); -#3978=PART_CONNECTED_TERMINALS_DEFINITION('net1',$,#27,.U.); -#3979=PART_CONNECTED_TERMINALS_DEFINITION('net2',$,#27,.U.); -#3980=PART_CONNECTED_TERMINALS_DEFINITION('net3',$,#27,.U.); -#3981=PART_CONNECTED_TERMINALS_DEFINITION('net4',$,#27,.U.); -#3982=PART_CONNECTED_TERMINALS_DEFINITION('net7',$,#27,.U.); -#3983=PART_CONNECTED_TERMINALS_DEFINITION('net8',$,#27,.U.); -#3984=PART_CONNECTED_TERMINALS_DEFINITION('net9',$,#27,.U.); -#3985=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#3986),#225); -#3986=CSG_PRIMITIVE_SOLID_2D('',#3989); -#3987=CIRCULAR_AREA('',#3988,393700.0); -#3988=CARTESIAN_POINT('',(-5.820766091346741E-11,0.0)); -#3989=(CIRCULAR_AREA(#3988,393700.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#3990)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#3990=CIRCULAR_AREA('',#3991,176534.0); -#3991=CARTESIAN_POINT('',(-2.9103830456733704E-11,0.0)); -#3992=MATERIAL_REMOVAL_LAMINATE_COMPONENT('AF1',$,#322,#4,'AF1','definition usage', - $,#326,*,'',$,*); -#3993=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('AF1','',$,#223,#326,'AF1','', - $,#3992,*); -#3994=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#3995),#225); -#3995=CSG_PRIMITIVE_SOLID_2D('',#3996); -#3996=(CIRCULAR_AREA(#3988,393700.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#3990)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#3997=MATERIAL_REMOVAL_LAMINATE_COMPONENT('AF6',$,#322,#4,'AF6','definition usage', - $,#326,*,'',$,*); -#3998=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('AF6','',$,#223,#326,'AF6','', - $,#3997,*); -#3999=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4000),#225); -#4000=CSG_PRIMITIVE_SOLID_2D('',#4002); -#4001=CIRCULAR_AREA('',#50,393700.0); -#4002=(CIRCULAR_AREA(#50,393700.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4003)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#4003=CIRCULAR_AREA('',#50,176534.0); -#4004=MATERIAL_REMOVAL_LAMINATE_COMPONENT('AF3',$,#322,#4,'AF3','definition usage', - $,#326,*,'',$,*); -#4005=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('AF3','',$,#223,#326,'AF3','', - $,#4004,*); -#4006=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4007),#225); -#4007=CSG_PRIMITIVE_SOLID_2D('',#4008); -#4008=(CIRCULAR_AREA(#50,393700.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4003)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#4009=MATERIAL_REMOVAL_LAMINATE_COMPONENT('AF8',$,#322,#4,'AF8','definition usage', - $,#326,*,'',$,*); -#4010=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('AF8','',$,#223,#326,'AF8','', - $,#4009,*); -#4011=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4012),#225); -#4012=CSG_PRIMITIVE_SOLID_2D('',#4015); -#4013=CIRCULAR_AREA('',#4014,393700.0); -#4014=CARTESIAN_POINT('',(-5.820766091346741E-11,4064000.0)); -#4015=(CIRCULAR_AREA(#4014,393700.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4016)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#4016=CIRCULAR_AREA('',#4017,176534.0); -#4017=CARTESIAN_POINT('',(-2.9103830456733704E-11,4064000.0)); -#4018=MATERIAL_REMOVAL_LAMINATE_COMPONENT('AF5',$,#322,#4,'AF5','definition usage', - $,#326,*,'',$,*); -#4019=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('AF5','',$,#223,#326,'AF5','', - $,#4018,*); -#4020=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4021),#225); -#4021=CSG_PRIMITIVE_SOLID_2D('',#4023); -#4022=CIRCULAR_AREA('',#70,393700.0); -#4023=(CIRCULAR_AREA(#70,393700.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4024)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#4024=CIRCULAR_AREA('',#70,176534.0); -#4025=MATERIAL_REMOVAL_LAMINATE_COMPONENT('AF7',$,#322,#4,'AF7','definition usage', - $,#326,*,'',$,*); -#4026=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('AF7','',$,#223,#326,'AF7','', - $,#4025,*); -#4027=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4028),#225); -#4028=CSG_PRIMITIVE_SOLID_2D('',#4029); -#4029=(CIRCULAR_AREA(#4014,393700.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4016)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#4030=MATERIAL_REMOVAL_LAMINATE_COMPONENT('AF4',$,#322,#4,'AF4','definition usage', - $,#326,*,'',$,*); -#4031=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('AF4','',$,#223,#326,'AF4','', - $,#4030,*); -#4032=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4033),#225); -#4033=CSG_PRIMITIVE_SOLID_2D('',#4034); -#4034=(CIRCULAR_AREA(#70,393700.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4024)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#4035=MATERIAL_REMOVAL_LAMINATE_COMPONENT('AF2',$,#322,#4,'AF2','definition usage', - $,#326,*,'',$,*); -#4036=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('AF2','',$,#223,#326,'AF2','', - $,#4035,*); -#4037=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4038),#225); -#4038=CSG_PRIMITIVE_SOLID_2D('',#4070); -#4039=COMPOSITE_CURVE('',(#4046,#4052,#4055,#4061,#4064,#4069),.F.); -#4040=CARTESIAN_POINT('',(4351820.0,4195008.0)); -#4041=CARTESIAN_POINT('',(4195008.0,4351820.0)); -#4042=CARTESIAN_POINT('',(4063999.4914432764,4063999.4914432764)); -#4043=AXIS2_PLACEMENT_2D('',#4042,$); -#4044=CIRCLE('',#4043,316233.892016824); -#4045=TRIMMED_CURVE('',#4044,(#4040),(#4041),.T.,.CARTESIAN.); -#4046=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4045); -#4047=CARTESIAN_POINT('',(4198690.0,4368796.0)); -#4048=CARTESIAN_POINT('',(4198689.939921852,4359908.7103680335)); -#4049=AXIS2_PLACEMENT_2D('',#4048,$); -#4050=CIRCLE('',#4049,8887.289632169408); -#4051=TRIMMED_CURVE('',#4050,(#4041),(#4047),.F.,.CARTESIAN.); -#4052=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4051); -#4053=POLYLINE('',(#4047,#4054)); -#4054=CARTESIAN_POINT('',(4359909.0,4368796.0)); -#4055=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4053); -#4056=CARTESIAN_POINT('',(4368796.0,4359909.0)); -#4057=CARTESIAN_POINT('',(4359909.0,4359909.0)); -#4058=AXIS2_PLACEMENT_2D('',#4057,$); -#4059=CIRCLE('',#4058,8887.0); -#4060=TRIMMED_CURVE('',#4059,(#4054),(#4056),.F.,.CARTESIAN.); -#4061=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4060); -#4062=POLYLINE('',(#4056,#4063)); -#4063=CARTESIAN_POINT('',(4368796.0,4198690.0)); -#4064=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4062); -#4065=CARTESIAN_POINT('',(4359908.7103680335,4198689.939921852)); -#4066=AXIS2_PLACEMENT_2D('',#4065,$); -#4067=CIRCLE('',#4066,8887.289632169408); -#4068=TRIMMED_CURVE('',#4067,(#4063),(#4040),.F.,.CARTESIAN.); -#4069=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4068); -#4070=AREA_WITH_OUTER_BOUNDARY('',#4039,.F.); -#4071=CONNECTED_AREA_COMPONENT('CU122',$,#322,#4,'CU122','definition usage',$,#326, - *,'',$,*); -#4072=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU122','',$,#223,#326,'CU122', - '',$,#4071,*); -#4073=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#14000,#14001,#4074,#14002,#14003),#13999); -#4074=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 38100.0),#17)REPRESENTATION_ITEM('curve width')); -#4075=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4076),#225); -#4076=CSG_PRIMITIVE_SOLID_2D('',#4080); -#4077=POLYLINE('centreline',(#4078,#4079)); -#4078=CARTESIAN_POINT('',(1054053.0,2039871.0)); -#4079=CARTESIAN_POINT('',(1075822.0,2000431.0)); -#4080=PATH_AREA_WITH_PARAMETERS('',#18702,#4077); -#4081=CONNECTED_AREA_COMPONENT('CU23',$,#322,#4,'CU23','definition usage',$,#326, - *,'',$,*); -#4082=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU23','',$,#223,#326,'CU23','', - $,#4081,*); -#4083=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4084),#225); -#4084=CSG_PRIMITIVE_SOLID_2D('',#4085); -#4085=POLYGONAL_AREA('',(#4086,#4087,#4088)); -#4086=CARTESIAN_POINT('',(642871.0,1739947.0)); -#4087=CARTESIAN_POINT('',(621102.0,1700507.0)); -#4088=CARTESIAN_POINT('',(603431.0,1718178.0)); -#4089=CONNECTED_AREA_COMPONENT('CU12',$,#322,#4,'CU12','definition usage',$,#326, - *,'',$,*); -#4090=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU12','',$,#223,#326,'CU12','', - $,#4089,*); -#4091=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4092),#225); -#4092=CSG_PRIMITIVE_SOLID_2D('',#4093); -#4093=POLYGONAL_AREA('',(#4094,#4095,#4096)); -#4094=CARTESIAN_POINT('',(542871.0,2039947.0)); -#4095=CARTESIAN_POINT('',(533150.0,1996490.0)); -#4096=CARTESIAN_POINT('',(499414.0,2030226.0)); -#4097=CONNECTED_AREA_COMPONENT('CU60',$,#322,#4,'CU60','definition usage',$,#326, - *,'',$,*); -#4098=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU60','',$,#223,#326,'CU60','', - $,#4097,*); -#4099=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4100),#225); -#4100=CSG_PRIMITIVE_SOLID_2D('',#4102); -#4101=CIRCULAR_AREA('',#4014,381000.0); -#4102=(CIRCULAR_AREA(#4014,381000.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4103)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#4103=CIRCULAR_AREA('',#4017,189234.0); -#4104=CONNECTED_AREA_COMPONENT('CU102',$,#322,#4,'CU102','definition usage',$,#326, - *,'',$,*); -#4105=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU102','',$,#223,#326,'CU102', - '',$,#4104,*); -#4106=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4107),#225); -#4107=CSG_PRIMITIVE_SOLID_2D('',#4214); -#4108=COMPOSITE_CURVE('',(#4115,#4121,#4127,#4133,#4136,#4142,#4148,#4154,#4160, - #4163,#4169,#4175,#4178,#4184,#4187,#4193,#4199,#4205,#4211,#4213),.F.); -#4109=CARTESIAN_POINT('',(173604.0,-304796.0)); -#4110=CARTESIAN_POINT('',(169762.0,-290602.0)); -#4111=CARTESIAN_POINT('',(173604.0049584777,-297179.0266978673)); -#4112=AXIS2_PLACEMENT_2D('',#4111,$); -#4113=CIRCLE('',#4112,7616.973302134293); -#4114=TRIMMED_CURVE('',#4113,(#4109),(#4110),.F.,.CARTESIAN.); -#4115=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4114); -#4116=CARTESIAN_POINT('',(237979.64161985074,237979.6416198507)); -#4117=CARTESIAN_POINT('',(-0.03300688846502453,-0.03300688853050815)); -#4118=AXIS2_PLACEMENT_2D('',#4117,$); -#4119=CIRCLE('',#4118,336554.0834262709); -#4120=TRIMMED_CURVE('',#4119,(#4110),(#4116),.T.,.CARTESIAN.); -#4121=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4120); -#4122=CARTESIAN_POINT('',(-290602.0,169762.0)); -#4123=CARTESIAN_POINT('',(-0.03300688853050815,-0.03300688852323219)); -#4124=AXIS2_PLACEMENT_2D('',#4123,$); -#4125=CIRCLE('',#4124,336554.083426271); -#4126=TRIMMED_CURVE('',#4125,(#4116),(#4122),.T.,.CARTESIAN.); -#4127=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4126); -#4128=CARTESIAN_POINT('',(-304796.0,173604.0)); -#4129=CARTESIAN_POINT('',(-297179.0266978673,173604.0049584777)); -#4130=AXIS2_PLACEMENT_2D('',#4129,$); -#4131=CIRCLE('',#4130,7616.973302134293); -#4132=TRIMMED_CURVE('',#4131,(#4122),(#4128),.F.,.CARTESIAN.); -#4133=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4132); -#4134=POLYLINE('',(#4128,#4135)); -#4135=CARTESIAN_POINT('',(-304796.0,3890396.0)); -#4136=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4134); -#4137=CARTESIAN_POINT('',(-290602.0,3894238.0)); -#4138=CARTESIAN_POINT('',(-297179.0266978673,3890395.995041522)); -#4139=AXIS2_PLACEMENT_2D('',#4138,$); -#4140=CIRCLE('',#4139,7616.973302134293); -#4141=TRIMMED_CURVE('',#4140,(#4135),(#4137),.F.,.CARTESIAN.); -#4142=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4141); -#4143=CARTESIAN_POINT('',(237979.64161985053,3826020.358380149)); -#4144=CARTESIAN_POINT('',(-0.03300688855233602,4064000.0330068883)); -#4145=AXIS2_PLACEMENT_2D('',#4144,$); -#4146=CIRCLE('',#4145,336554.0834262709); -#4147=TRIMMED_CURVE('',#4146,(#4137),(#4143),.T.,.CARTESIAN.); -#4148=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4147); -#4149=CARTESIAN_POINT('',(169762.0,4354602.0)); -#4150=CARTESIAN_POINT('',(-0.033006888697855175,4064000.0330068883)); -#4151=AXIS2_PLACEMENT_2D('',#4150,$); -#4152=CIRCLE('',#4151,336554.0834262711); -#4153=TRIMMED_CURVE('',#4152,(#4143),(#4149),.T.,.CARTESIAN.); -#4154=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4153); -#4155=CARTESIAN_POINT('',(173604.0,4368796.0)); -#4156=CARTESIAN_POINT('',(173604.0049584777,4361179.026697868)); -#4157=AXIS2_PLACEMENT_2D('',#4156,$); -#4158=CIRCLE('',#4157,7616.973302134293); -#4159=TRIMMED_CURVE('',#4158,(#4149),(#4155),.F.,.CARTESIAN.); -#4160=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4159); -#4161=POLYLINE('',(#4155,#4162)); -#4162=CARTESIAN_POINT('',(3890396.0,4368796.0)); -#4163=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4161); -#4164=CARTESIAN_POINT('',(3894238.0,4354602.0)); -#4165=CARTESIAN_POINT('',(3890395.995041522,4361179.026697868)); -#4166=AXIS2_PLACEMENT_2D('',#4165,$); -#4167=CIRCLE('',#4166,7616.973302134293); -#4168=TRIMMED_CURVE('',#4167,(#4162),(#4164),.F.,.CARTESIAN.); -#4169=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4168); -#4170=CARTESIAN_POINT('',(3826020.358380149,3826020.358380149)); -#4171=CARTESIAN_POINT('',(4064000.0330068883,4064000.0330068883)); -#4172=AXIS2_PLACEMENT_2D('',#4171,$); -#4173=CIRCLE('',#4172,336554.0834262711); -#4174=TRIMMED_CURVE('',#4173,(#4164),(#4170),.T.,.CARTESIAN.); -#4175=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4174); -#4176=CARTESIAN_POINT('',(4354602.0,3894238.0)); -#4177=TRIMMED_CURVE('',#4173,(#4170),(#4176),.T.,.CARTESIAN.); -#4178=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4177); -#4179=CARTESIAN_POINT('',(4368796.0,3890396.0)); -#4180=CARTESIAN_POINT('',(4361179.026697868,3890395.995041522)); -#4181=AXIS2_PLACEMENT_2D('',#4180,$); -#4182=CIRCLE('',#4181,7616.973302134293); -#4183=TRIMMED_CURVE('',#4182,(#4176),(#4179),.F.,.CARTESIAN.); -#4184=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4183); -#4185=POLYLINE('',(#4179,#4186)); -#4186=CARTESIAN_POINT('',(4368796.0,173604.0)); -#4187=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4185); -#4188=CARTESIAN_POINT('',(4354602.0,169762.0)); -#4189=CARTESIAN_POINT('',(4361179.026697868,173604.0049584777)); -#4190=AXIS2_PLACEMENT_2D('',#4189,$); -#4191=CIRCLE('',#4190,7616.973302134293); -#4192=TRIMMED_CURVE('',#4191,(#4186),(#4188),.F.,.CARTESIAN.); -#4193=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4192); -#4194=CARTESIAN_POINT('',(3826020.358380149,237979.6416198509)); -#4195=CARTESIAN_POINT('',(4064000.0330068883,-0.03300688852323219)); -#4196=AXIS2_PLACEMENT_2D('',#4195,$); -#4197=CIRCLE('',#4196,336554.0834262711); -#4198=TRIMMED_CURVE('',#4197,(#4188),(#4194),.T.,.CARTESIAN.); -#4199=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4198); -#4200=CARTESIAN_POINT('',(3894238.0,-290602.0)); -#4201=CARTESIAN_POINT('',(4064000.0330068883,-0.0330068883667991)); -#4202=AXIS2_PLACEMENT_2D('',#4201,$); -#4203=CIRCLE('',#4202,336554.0834262711); -#4204=TRIMMED_CURVE('',#4203,(#4194),(#4200),.T.,.CARTESIAN.); -#4205=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4204); -#4206=CARTESIAN_POINT('',(3890396.0,-304796.0)); -#4207=CARTESIAN_POINT('',(3890395.995041522,-297179.0266978673)); -#4208=AXIS2_PLACEMENT_2D('',#4207,$); -#4209=CIRCLE('',#4208,7616.973302134293); -#4210=TRIMMED_CURVE('',#4209,(#4200),(#4206),.F.,.CARTESIAN.); -#4211=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4210); -#4212=POLYLINE('',(#4206,#4109)); -#4213=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4212); -#4214=(AREA_WITH_OUTER_BOUNDARY()COMPLEX_AREA()COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4215,#4217,#4444,#4608,#4658,#4708,#4709,#4711))) - GEOMETRIC_REPRESENTATION_ITEM()HALF_SPACE_2D(#4108,.F.)PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#4215=CIRCULAR_AREA('',#4216,276864.0); -#4216=CARTESIAN_POINT('',(-5.820766091346741E-11,762000.0)); -#4217=CIRCULAR_AREA('',#376,276864.0); -#4218=COMPOSITE_CURVE('',(#4225,#4231,#4237,#4240,#4246,#4252,#4258,#4264,#4270, - #4276,#4282,#4285,#4291,#4297,#4303,#4309,#4315,#4321,#4327,#4333,#4339,#4345, - #4351,#4357,#4360,#4366,#4372,#4378,#4384,#4390,#4396,#4402,#4408,#4414,#4420, - #4426,#4432,#4438,#4443),.F.); -#4219=CARTESIAN_POINT('',(3058890.0,1530240.0)); -#4220=CARTESIAN_POINT('',(3062942.0,1530240.0)); -#4221=CARTESIAN_POINT('',(3060916.0,1522896.9991874807)); -#4222=AXIS2_PLACEMENT_2D('',#4221,$); -#4223=CIRCLE('',#4222,7617.370736196337); -#4224=TRIMMED_CURVE('',#4223,(#4219),(#4220),.F.,.CARTESIAN.); -#4225=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4224); -#4226=CARTESIAN_POINT('',(3274047.0,1627195.0)); -#4227=CARTESIAN_POINT('',(3110916.0222362415,1704086.0168203623)); -#4228=AXIS2_PLACEMENT_2D('',#4227,$); -#4229=CIRCLE('',#4228,180343.9612901665); -#4230=TRIMMED_CURVE('',#4229,(#4220),(#4226),.T.,.CARTESIAN.); -#4231=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4230); -#4232=CARTESIAN_POINT('',(3274258.0,1627610.0)); -#4233=CARTESIAN_POINT('',(3280939.4408317744,1623951.7903240859)); -#4234=AXIS2_PLACEMENT_2D('',#4233,$); -#4235=CIRCLE('',#4234,7617.358441182451); -#4236=TRIMMED_CURVE('',#4235,(#4226),(#4232),.F.,.CARTESIAN.); -#4237=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4236); -#4238=POLYLINE('',(#4232,#4239)); -#4239=CARTESIAN_POINT('',(3278264.0,1634915.0)); -#4240=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4238); -#4241=CARTESIAN_POINT('',(3279157.0,1636206.0)); -#4242=CARTESIAN_POINT('',(3284941.786072444,1631250.2455749863)); -#4243=AXIS2_PLACEMENT_2D('',#4242,$); -#4244=CIRCLE('',#4243,7617.299509996274); -#4245=TRIMMED_CURVE('',#4244,(#4239),(#4241),.F.,.CARTESIAN.); -#4246=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4245); -#4247=CARTESIAN_POINT('',(3252238.0,1879468.0)); -#4248=CARTESIAN_POINT('',(3151809.9516014447,1745234.378483525)); -#4249=AXIS2_PLACEMENT_2D('',#4248,$); -#4250=CIRCLE('',#4249,167643.84286507757); -#4251=TRIMMED_CURVE('',#4250,(#4241),(#4247),.T.,.CARTESIAN.); -#4252=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4251); -#4253=CARTESIAN_POINT('',(3250889.0,1890370.0)); -#4254=CARTESIAN_POINT('',(3256800.9901341726,1885567.080553201)); -#4255=AXIS2_PLACEMENT_2D('',#4254,$); -#4256=CIRCLE('',#4255,7617.0639067157945); -#4257=TRIMMED_CURVE('',#4256,(#4247),(#4253),.F.,.CARTESIAN.); -#4258=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4257); -#4259=CARTESIAN_POINT('',(3272075.0,1923145.0)); -#4260=CARTESIAN_POINT('',(3110914.8316941,2004085.2201442805)); -#4261=AXIS2_PLACEMENT_2D('',#4260,$); -#4262=CIRCLE('',#4261,180343.89117846658); -#4263=TRIMMED_CURVE('',#4262,(#4253),(#4259),.T.,.CARTESIAN.); -#4264=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4263); -#4265=CARTESIAN_POINT('',(3286417.0,1920838.0)); -#4266=CARTESIAN_POINT('',(3278881.5911193932,1919726.0677652082)); -#4267=AXIS2_PLACEMENT_2D('',#4266,$); -#4268=CIRCLE('',#4267,7617.005992691566); -#4269=TRIMMED_CURVE('',#4268,(#4259),(#4265),.F.,.CARTESIAN.); -#4270=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4269); -#4271=CARTESIAN_POINT('',(3324919.0,1836282.0)); -#4272=CARTESIAN_POINT('',(3452264.6526095183,1945311.7895687078)); -#4273=AXIS2_PLACEMENT_2D('',#4272,$); -#4274=CIRCLE('',#4273,167643.7003049646); -#4275=TRIMMED_CURVE('',#4274,(#4265),(#4271),.T.,.CARTESIAN.); -#4276=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4275); -#4277=CARTESIAN_POINT('',(3325812.0,1834991.0)); -#4278=CARTESIAN_POINT('',(3319134.213927556,1831326.2455749863)); -#4279=AXIS2_PLACEMENT_2D('',#4278,$); -#4280=CIRCLE('',#4279,7617.299509996274); -#4281=TRIMMED_CURVE('',#4280,(#4271),(#4277),.F.,.CARTESIAN.); -#4282=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4281); -#4283=POLYLINE('',(#4277,#4284)); -#4284=CARTESIAN_POINT('',(3334517.0,1819118.0)); -#4285=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4283); -#4286=CARTESIAN_POINT('',(3334548.0,1819060.0)); -#4287=CARTESIAN_POINT('',(3327814.4769990607,1815498.3325339807)); -#4288=AXIS2_PLACEMENT_2D('',#4287,$); -#4289=CIRCLE('',#4288,7617.467239356939); -#4290=TRIMMED_CURVE('',#4289,(#4284),(#4286),.F.,.CARTESIAN.); -#4291=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4290); -#4292=CARTESIAN_POINT('',(3479881.0,1724581.0)); -#4293=CARTESIAN_POINT('',(3493413.31310298,1904416.4430634892)); -#4294=AXIS2_PLACEMENT_2D('',#4293,$); -#4295=CIRCLE('',#4294,180343.86621052172); -#4296=TRIMMED_CURVE('',#4295,(#4286),(#4292),.T.,.CARTESIAN.); -#4297=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4296); -#4298=CARTESIAN_POINT('',(3486826.0,1718216.0)); -#4299=CARTESIAN_POINT('',(3479308.7751121675,1716985.2063085628)); -#4300=AXIS2_PLACEMENT_2D('',#4299,$); -#4301=CIRCLE('',#4300,7617.317318133291); -#4302=TRIMMED_CURVE('',#4301,(#4292),(#4298),.F.,.CARTESIAN.); -#4303=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4302); -#4304=CARTESIAN_POINT('',(3527020.0,1633875.0)); -#4305=CARTESIAN_POINT('',(3652265.6288926178,1745310.7639369925)); -#4306=AXIS2_PLACEMENT_2D('',#4305,$); -#4307=CIRCLE('',#4306,167643.66090290592); -#4308=TRIMMED_CURVE('',#4307,(#4298),(#4304),.T.,.CARTESIAN.); -#4309=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4308); -#4310=CARTESIAN_POINT('',(3528303.0,1631876.0)); -#4311=CARTESIAN_POINT('',(3521329.3773097023,1628811.411249799)); -#4312=AXIS2_PLACEMENT_2D('',#4311,$); -#4313=CIRCLE('',#4312,7617.290701718757); -#4314=TRIMMED_CURVE('',#4313,(#4304),(#4310),.F.,.CARTESIAN.); -#4315=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4314); -#4316=CARTESIAN_POINT('',(3821331.756087674,1577289.1571862933)); -#4317=CARTESIAN_POINT('',(3693414.806784885,1704415.8191602326)); -#4318=AXIS2_PLACEMENT_2D('',#4317,$); -#4319=CIRCLE('',#4318,180343.93281607362); -#4320=TRIMMED_CURVE('',#4319,(#4310),(#4316),.T.,.CARTESIAN.); -#4321=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4320); -#4322=CARTESIAN_POINT('',(3764930.0,1869974.0)); -#4323=CARTESIAN_POINT('',(3693414.806784885,1704415.8191602323)); -#4324=AXIS2_PLACEMENT_2D('',#4323,$); -#4325=CIRCLE('',#4324,180343.9328160735); -#4326=TRIMMED_CURVE('',#4325,(#4316),(#4322),.T.,.CARTESIAN.); -#4327=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4326); -#4328=CARTESIAN_POINT('',(3762923.0,1871244.0)); -#4329=CARTESIAN_POINT('',(3767949.655565162,1876966.8529285672)); -#4330=AXIS2_PLACEMENT_2D('',#4329,$); -#4331=CIRCLE('',#4330,7616.9752403948); -#4332=TRIMMED_CURVE('',#4331,(#4322),(#4328),.F.,.CARTESIAN.); -#4333=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4332); -#4334=CARTESIAN_POINT('',(3679624.0,1910706.0)); -#4335=CARTESIAN_POINT('',(3652266.020032058,1745309.4464586284)); -#4336=AXIS2_PLACEMENT_2D('',#4335,$); -#4337=CIRCLE('',#4336,167643.90532104095); -#4338=TRIMMED_CURVE('',#4337,(#4328),(#4334),.T.,.CARTESIAN.); -#4339=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4338); -#4340=CARTESIAN_POINT('',(3673271.0,1917662.0)); -#4341=CARTESIAN_POINT('',(3680867.3067694786,1918220.6636582082)); -#4342=AXIS2_PLACEMENT_2D('',#4341,$); -#4343=CIRCLE('',#4342,7616.822278288152); -#4344=TRIMMED_CURVE('',#4343,(#4334),(#4340),.F.,.CARTESIAN.); -#4345=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4344); -#4346=CARTESIAN_POINT('',(3570305.0,2067547.0)); -#4347=CARTESIAN_POINT('',(3493414.0684575243,1904415.8871621406)); -#4348=AXIS2_PLACEMENT_2D('',#4347,$); -#4349=CIRCLE('',#4348,180344.04711325548); -#4350=TRIMMED_CURVE('',#4349,(#4340),(#4346),.T.,.CARTESIAN.); -#4351=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4350); -#4352=CARTESIAN_POINT('',(3569890.0,2067758.0)); -#4353=CARTESIAN_POINT('',(3573548.209675914,2074439.4408317744)); -#4354=AXIS2_PLACEMENT_2D('',#4353,$); -#4355=CIRCLE('',#4354,7617.358441182451); -#4356=TRIMMED_CURVE('',#4355,(#4346),(#4352),.F.,.CARTESIAN.); -#4357=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4356); -#4358=POLYLINE('',(#4352,#4359)); -#4359=CARTESIAN_POINT('',(3562585.0,2071764.0)); -#4360=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4358); -#4361=CARTESIAN_POINT('',(3561294.0,2072657.0)); -#4362=CARTESIAN_POINT('',(3566249.754425014,2078441.7860724444)); -#4363=AXIS2_PLACEMENT_2D('',#4362,$); -#4364=CIRCLE('',#4363,7617.299509996274); -#4365=TRIMMED_CURVE('',#4364,(#4359),(#4361),.F.,.CARTESIAN.); -#4366=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4365); -#4367=CARTESIAN_POINT('',(3331261.0,2061337.0)); -#4368=CARTESIAN_POINT('',(3452265.7585297604,1945309.9792953774)); -#4369=AXIS2_PLACEMENT_2D('',#4368,$); -#4370=CIRCLE('',#4369,167643.73272042262); -#4371=TRIMMED_CURVE('',#4370,(#4361),(#4367),.T.,.CARTESIAN.); -#4372=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4371); -#4373=CARTESIAN_POINT('',(3318203.0,2065680.0)); -#4374=CARTESIAN_POINT('',(3325763.1852892493,2066608.941516697)); -#4375=AXIS2_PLACEMENT_2D('',#4374,$); -#4376=CIRCLE('',#4375,7617.042336052884); -#4377=TRIMMED_CURVE('',#4376,(#4367),(#4373),.F.,.CARTESIAN.); -#4378=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4377); -#4379=CARTESIAN_POINT('',(3056156.0,2182911.0)); -#4380=CARTESIAN_POINT('',(3151810.0436771866,2045233.9896399055)); -#4381=AXIS2_PLACEMENT_2D('',#4380,$); -#4382=CIRCLE('',#4381,167644.43102438777); -#4383=TRIMMED_CURVE('',#4382,(#4373),(#4379),.T.,.CARTESIAN.); -#4384=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4383); -#4385=CARTESIAN_POINT('',(3047464.0,2182911.0)); -#4386=CARTESIAN_POINT('',(3051810.0,2189165.999656662)); -#4387=AXIS2_PLACEMENT_2D('',#4386,$); -#4388=CIRCLE('',#4387,7616.60926560119); -#4389=TRIMMED_CURVE('',#4388,(#4379),(#4385),.F.,.CARTESIAN.); -#4390=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4389); -#4391=CARTESIAN_POINT('',(2840375.0,2170480.0)); -#4392=CARTESIAN_POINT('',(2951810.7807046506,2045234.0383440296)); -#4393=AXIS2_PLACEMENT_2D('',#4392,$); -#4394=CIRCLE('',#4393,167643.920654415); -#4395=TRIMMED_CURVE('',#4394,(#4385),(#4391),.T.,.CARTESIAN.); -#4396=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4395); -#4397=CARTESIAN_POINT('',(2838376.0,2169197.0)); -#4398=CARTESIAN_POINT('',(2835311.411249799,2176170.6226902977)); -#4399=AXIS2_PLACEMENT_2D('',#4398,$); -#4400=CIRCLE('',#4399,7617.290701718757); -#4401=TRIMMED_CURVE('',#4400,(#4391),(#4397),.F.,.CARTESIAN.); -#4402=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4401); -#4403=CARTESIAN_POINT('',(2737070.0,1956112.0)); -#4404=CARTESIAN_POINT('',(2910916.160664374,2004085.3546623879)); -#4405=AXIS2_PLACEMENT_2D('',#4404,$); -#4406=CIRCLE('',#4405,180343.92236864165); -#4407=TRIMMED_CURVE('',#4406,(#4397),(#4403),.T.,.CARTESIAN.); -#4408=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4407); -#4409=CARTESIAN_POINT('',(2737070.0,1952060.0)); -#4410=CARTESIAN_POINT('',(2729726.9991874807,1954086.0)); -#4411=AXIS2_PLACEMENT_2D('',#4410,$); -#4412=CIRCLE('',#4411,7617.370736196337); -#4413=TRIMMED_CURVE('',#4412,(#4403),(#4409),.F.,.CARTESIAN.); -#4414=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4413); -#4415=CARTESIAN_POINT('',(2737070.0,1856112.0)); -#4416=CARTESIAN_POINT('',(2910915.992673754,1904086.0)); -#4417=AXIS2_PLACEMENT_2D('',#4416,$); -#4418=CIRCLE('',#4417,180343.93209842948); -#4419=TRIMMED_CURVE('',#4418,(#4409),(#4415),.T.,.CARTESIAN.); -#4420=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4419); -#4421=CARTESIAN_POINT('',(2737070.0,1852060.0)); -#4422=CARTESIAN_POINT('',(2729726.9991874807,1854086.0)); -#4423=AXIS2_PLACEMENT_2D('',#4422,$); -#4424=CIRCLE('',#4423,7617.370736196337); -#4425=TRIMMED_CURVE('',#4424,(#4415),(#4421),.F.,.CARTESIAN.); -#4426=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4425); -#4427=CARTESIAN_POINT('',(2840735.0,1637958.0)); -#4428=CARTESIAN_POINT('',(2910915.944954604,1804086.093026777)); -#4429=AXIS2_PLACEMENT_2D('',#4428,$); -#4430=CIRCLE('',#4429,180343.86135223642); -#4431=TRIMMED_CURVE('',#4430,(#4421),(#4427),.T.,.CARTESIAN.); -#4432=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4431); -#4433=CARTESIAN_POINT('',(2844788.0,1633905.0)); -#4434=CARTESIAN_POINT('',(2837770.9997343984,1630940.9997343984)); -#4435=AXIS2_PLACEMENT_2D('',#4434,$); -#4436=CIRCLE('',#4435,7617.321727611197); -#4437=TRIMMED_CURVE('',#4436,(#4427),(#4433),.F.,.CARTESIAN.); -#4438=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4437); -#4439=CARTESIAN_POINT('',(3010916.0930267773,1704085.9449546041)); -#4440=AXIS2_PLACEMENT_2D('',#4439,$); -#4441=CIRCLE('',#4440,180343.86135223642); -#4442=TRIMMED_CURVE('',#4441,(#4433),(#4219),.T.,.CARTESIAN.); -#4443=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4442); -#4444=AREA_WITH_OUTER_BOUNDARY('',#4218,.T.); -#4445=COMPOSITE_CURVE('',(#4452,#4458,#4464,#4470,#4476,#4482,#4488,#4494,#4500, - #4506,#4512,#4518,#4524,#4530,#4536,#4542,#4548,#4554,#4560,#4566,#4572,#4578, - #4584,#4590,#4596,#4602,#4607),.F.); -#4446=CARTESIAN_POINT('',(555822.0,1531078.0)); -#4447=CARTESIAN_POINT('',(559874.0,1531078.0)); -#4448=CARTESIAN_POINT('',(557848.0,1523734.9991874807)); -#4449=AXIS2_PLACEMENT_2D('',#4448,$); -#4450=CIRCLE('',#4449,7617.370736196337); -#4451=TRIMMED_CURVE('',#4450,(#4446),(#4447),.F.,.CARTESIAN.); -#4452=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4451); -#4453=CARTESIAN_POINT('',(767485.0,1621018.0)); -#4454=CARTESIAN_POINT('',(607848.5106703828,1704924.223323451)); -#4455=AXIS2_PLACEMENT_2D('',#4454,$); -#4456=CIRCLE('',#4455,180344.29028358453); -#4457=TRIMMED_CURVE('',#4456,(#4447),(#4453),.T.,.CARTESIAN.); -#4458=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4457); -#4459=CARTESIAN_POINT('',(774829.0,1625067.0)); -#4460=CARTESIAN_POINT('',(774227.0810497827,1617474.0447691765)); -#4461=AXIS2_PLACEMENT_2D('',#4460,$); -#4462=CIRCLE('',#4461,7616.775929480892); -#4463=TRIMMED_CURVE('',#4462,(#4453),(#4459),.F.,.CARTESIAN.); -#4464=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4463); -#4465=CARTESIAN_POINT('',(941778.0,1900796.0)); -#4466=CARTESIAN_POINT('',(789076.9959774604,1804846.9155712998)); -#4467=AXIS2_PLACEMENT_2D('',#4466,$); -#4468=CIRCLE('',#4467,180343.62598161725); -#4469=TRIMMED_CURVE('',#4468,(#4459),(#4465),.T.,.CARTESIAN.); -#4470=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4469); -#4471=CARTESIAN_POINT('',(941778.0,1908900.0)); -#4472=CARTESIAN_POINT('',(948227.9997336476,1904848.0)); -#4473=AXIS2_PLACEMENT_2D('',#4472,$); -#4474=CIRCLE('',#4473,7617.164863914483); -#4475=TRIMMED_CURVE('',#4474,(#4465),(#4471),.F.,.CARTESIAN.); -#4476=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4475); -#4477=CARTESIAN_POINT('',(702200.0,2162888.0)); -#4478=CARTESIAN_POINT('',(789075.8772635501,2004848.2020924091)); -#4479=AXIS2_PLACEMENT_2D('',#4478,$); -#4480=CIRCLE('',#4479,180344.10379323078); -#4481=TRIMMED_CURVE('',#4480,(#4471),(#4477),.T.,.CARTESIAN.); -#4482=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4481); -#4483=CARTESIAN_POINT('',(694856.0,2162891.0)); -#4484=CARTESIAN_POINT('',(698530.7261028835,2169562.9998587156)); -#4485=AXIS2_PLACEMENT_2D('',#4484,$); -#4486=CIRCLE('',#4485,7617.033152475748); -#4487=TRIMMED_CURVE('',#4486,(#4477),(#4483),.F.,.CARTESIAN.); -#4488=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4487); -#4489=CARTESIAN_POINT('',(559874.0,2178770.0)); -#4490=CARTESIAN_POINT('',(607848.1049469468,2004923.9864883665)); -#4491=AXIS2_PLACEMENT_2D('',#4490,$); -#4492=CIRCLE('',#4491,180343.98010287917); -#4493=TRIMMED_CURVE('',#4492,(#4483),(#4489),.T.,.CARTESIAN.); -#4494=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4493); -#4495=CARTESIAN_POINT('',(555822.0,2178770.0)); -#4496=CARTESIAN_POINT('',(557848.0,2186113.0008125193)); -#4497=AXIS2_PLACEMENT_2D('',#4496,$); -#4498=CIRCLE('',#4497,7617.370736196337); -#4499=TRIMMED_CURVE('',#4498,(#4489),(#4495),.F.,.CARTESIAN.); -#4500=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4499); -#4501=CARTESIAN_POINT('',(496267.0,2184896.0)); -#4502=CARTESIAN_POINT('',(507847.13310041383,2004924.0568552308)); -#4503=AXIS2_PLACEMENT_2D('',#4502,$); -#4504=CIRCLE('',#4503,180344.11496338694); -#4505=TRIMMED_CURVE('',#4504,(#4495),(#4501),.T.,.CARTESIAN.); -#4506=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4505); -#4507=CARTESIAN_POINT('',(488165.0,2192240.0)); -#4508=CARTESIAN_POINT('',(495777.67856145796,2192497.2918988196)); -#4509=AXIS2_PLACEMENT_2D('',#4508,$); -#4510=CIRCLE('',#4509,7617.025272459058); -#4511=TRIMMED_CURVE('',#4510,(#4501),(#4507),.F.,.CARTESIAN.); -#4512=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4511); -#4513=CARTESIAN_POINT('',(481770.0,2234126.0)); -#4514=CARTESIAN_POINT('',(307923.9638392335,2186152.6458542687)); -#4515=AXIS2_PLACEMENT_2D('',#4514,$); -#4516=CIRCLE('',#4515,180343.80221344533); -#4517=TRIMMED_CURVE('',#4516,(#4507),(#4513),.T.,.CARTESIAN.); -#4518=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4517); -#4519=CARTESIAN_POINT('',(481770.0,2238178.0)); -#4520=CARTESIAN_POINT('',(489113.0008125194,2236152.0)); -#4521=AXIS2_PLACEMENT_2D('',#4520,$); -#4522=CIRCLE('',#4521,7617.370736196337); -#4523=TRIMMED_CURVE('',#4522,(#4513),(#4519),.F.,.CARTESIAN.); -#4524=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4523); -#4525=CARTESIAN_POINT('',(481770.0,2334126.0)); -#4526=CARTESIAN_POINT('',(307924.007326246,2286152.0)); -#4527=AXIS2_PLACEMENT_2D('',#4526,$); -#4528=CIRCLE('',#4527,180343.93209842948); -#4529=TRIMMED_CURVE('',#4528,(#4519),(#4525),.T.,.CARTESIAN.); -#4530=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4529); -#4531=CARTESIAN_POINT('',(481770.0,2338178.0)); -#4532=CARTESIAN_POINT('',(489113.0008125194,2336152.0)); -#4533=AXIS2_PLACEMENT_2D('',#4532,$); -#4534=CIRCLE('',#4533,7617.370736196337); -#4535=TRIMMED_CURVE('',#4534,(#4525),(#4531),.F.,.CARTESIAN.); -#4536=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4535); -#4537=CARTESIAN_POINT('',(307923.9999999999,2566495.9003817886)); -#4538=CARTESIAN_POINT('',(307924.0,2386151.9693692797)); -#4539=AXIS2_PLACEMENT_2D('',#4538,$); -#4540=CIRCLE('',#4539,180343.93101250893); -#4541=TRIMMED_CURVE('',#4540,(#4531),(#4537),.T.,.CARTESIAN.); -#4542=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4541); -#4543=CARTESIAN_POINT('',(134078.0,2338178.0)); -#4544=CARTESIAN_POINT('',(307923.9999999998,2386151.9693692797)); -#4545=AXIS2_PLACEMENT_2D('',#4544,$); -#4546=CIRCLE('',#4545,180343.9310125088); -#4547=TRIMMED_CURVE('',#4546,(#4537),(#4543),.T.,.CARTESIAN.); -#4548=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4547); -#4549=CARTESIAN_POINT('',(134078.0,2334126.0)); -#4550=CARTESIAN_POINT('',(126734.99918748061,2336152.0)); -#4551=AXIS2_PLACEMENT_2D('',#4550,$); -#4552=CIRCLE('',#4551,7617.370736196337); -#4553=TRIMMED_CURVE('',#4552,(#4543),(#4549),.F.,.CARTESIAN.); -#4554=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4553); -#4555=CARTESIAN_POINT('',(134078.0,2238178.0)); -#4556=CARTESIAN_POINT('',(307923.992673754,2286152.0)); -#4557=AXIS2_PLACEMENT_2D('',#4556,$); -#4558=CIRCLE('',#4557,180343.93209842948); -#4559=TRIMMED_CURVE('',#4558,(#4549),(#4555),.T.,.CARTESIAN.); -#4560=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4559); -#4561=CARTESIAN_POINT('',(134078.0,2234126.0)); -#4562=CARTESIAN_POINT('',(126734.99918748061,2236152.0)); -#4563=AXIS2_PLACEMENT_2D('',#4562,$); -#4564=CIRCLE('',#4563,7617.370736196337); -#4565=TRIMMED_CURVE('',#4564,(#4555),(#4561),.F.,.CARTESIAN.); -#4566=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4565); -#4567=CARTESIAN_POINT('',(319505.0,2006180.0)); -#4568=CARTESIAN_POINT('',(307924.0417733947,2186151.8059602506)); -#4569=AXIS2_PLACEMENT_2D('',#4568,$); -#4570=CIRCLE('',#4569,180344.0310463322); -#4571=TRIMMED_CURVE('',#4570,(#4561),(#4567),.T.,.CARTESIAN.); -#4572=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4571); -#4573=CARTESIAN_POINT('',(327607.0,1998836.0)); -#4574=CARTESIAN_POINT('',(319994.32143854204,1998578.7081011801)); -#4575=AXIS2_PLACEMENT_2D('',#4574,$); -#4576=CIRCLE('',#4575,7617.025272459058); -#4577=TRIMMED_CURVE('',#4576,(#4567),(#4573),.F.,.CARTESIAN.); -#4578=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4577); -#4579=CARTESIAN_POINT('',(334002.0,1956950.0)); -#4580=CARTESIAN_POINT('',(507848.0361607665,2004923.3541457313)); -#4581=AXIS2_PLACEMENT_2D('',#4580,$); -#4582=CIRCLE('',#4581,180343.80221344533); -#4583=TRIMMED_CURVE('',#4582,(#4573),(#4579),.T.,.CARTESIAN.); -#4584=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4583); -#4585=CARTESIAN_POINT('',(334002.0,1952898.0)); -#4586=CARTESIAN_POINT('',(326658.9991874806,1954924.0)); -#4587=AXIS2_PLACEMENT_2D('',#4586,$); -#4588=CIRCLE('',#4587,7617.370736196337); -#4589=TRIMMED_CURVE('',#4588,(#4579),(#4585),.F.,.CARTESIAN.); -#4590=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4589); -#4591=CARTESIAN_POINT('',(355146.0,1808976.0)); -#4592=CARTESIAN_POINT('',(507847.9936547803,1904924.0577245778)); -#4593=AXIS2_PLACEMENT_2D('',#4592,$); -#4594=CIRCLE('',#4593,180343.9176885749); -#4595=TRIMMED_CURVE('',#4594,(#4585),(#4591),.T.,.CARTESIAN.); -#4596=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4595); -#4597=CARTESIAN_POINT('',(355146.0,1800872.0)); -#4598=CARTESIAN_POINT('',(348696.00026635244,1804924.0)); -#4599=AXIS2_PLACEMENT_2D('',#4598,$); -#4600=CIRCLE('',#4599,7617.164863914483); -#4601=TRIMMED_CURVE('',#4600,(#4591),(#4597),.F.,.CARTESIAN.); -#4602=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4601); -#4603=CARTESIAN_POINT('',(507848.0021717075,1704923.9703248017)); -#4604=AXIS2_PLACEMENT_2D('',#4603,$); -#4605=CIRCLE('',#4604,180343.90997702384); -#4606=TRIMMED_CURVE('',#4605,(#4597),(#4446),.T.,.CARTESIAN.); -#4607=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4606); -#4608=AREA_WITH_OUTER_BOUNDARY('',#4445,.T.); -#4609=COMPOSITE_CURVE('',(#4616,#4622,#4628,#4634,#4640,#4646,#4652,#4657),.F.); -#4610=CARTESIAN_POINT('',(1836617.0,1758784.0)); -#4611=CARTESIAN_POINT('',(1846383.0,1758784.0)); -#4612=CARTESIAN_POINT('',(1841500.0,1752937.9996141128)); -#4613=AXIS2_PLACEMENT_2D('',#4612,$); -#4614=CIRCLE('',#4613,7617.047296150574); -#4615=TRIMMED_CURVE('',#4614,(#4610),(#4611),.F.,.CARTESIAN.); -#4616=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4615); -#4617=CARTESIAN_POINT('',(2114716.0,2027117.0)); -#4618=CARTESIAN_POINT('',(1968500.0435689304,1904999.9564310696)); -#4619=AXIS2_PLACEMENT_2D('',#4618,$); -#4620=CIRCLE('',#4619,190503.74863783782); -#4621=TRIMMED_CURVE('',#4620,(#4611),(#4617),.T.,.CARTESIAN.); -#4622=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4621); -#4623=CARTESIAN_POINT('',(2114716.0,2036883.0)); -#4624=CARTESIAN_POINT('',(2120562.0003858875,2032000.0)); -#4625=AXIS2_PLACEMENT_2D('',#4624,$); -#4626=CIRCLE('',#4625,7617.047296150574); -#4627=TRIMMED_CURVE('',#4626,(#4617),(#4623),.F.,.CARTESIAN.); -#4628=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4627); -#4629=CARTESIAN_POINT('',(1846383.0,2305216.0)); -#4630=CARTESIAN_POINT('',(1968500.0435689304,2159000.04356893)); -#4631=AXIS2_PLACEMENT_2D('',#4630,$); -#4632=CIRCLE('',#4631,190503.74863783782); -#4633=TRIMMED_CURVE('',#4632,(#4623),(#4629),.T.,.CARTESIAN.); -#4634=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4633); -#4635=CARTESIAN_POINT('',(1836617.0,2305216.0)); -#4636=CARTESIAN_POINT('',(1841500.0,2311062.0003858875)); -#4637=AXIS2_PLACEMENT_2D('',#4636,$); -#4638=CIRCLE('',#4637,7617.047296150574); -#4639=TRIMMED_CURVE('',#4638,(#4629),(#4635),.F.,.CARTESIAN.); -#4640=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4639); -#4641=CARTESIAN_POINT('',(1568284.0,2036883.0)); -#4642=CARTESIAN_POINT('',(1714499.9564310696,2159000.04356893)); -#4643=AXIS2_PLACEMENT_2D('',#4642,$); -#4644=CIRCLE('',#4643,190503.74863783782); -#4645=TRIMMED_CURVE('',#4644,(#4635),(#4641),.T.,.CARTESIAN.); -#4646=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4645); -#4647=CARTESIAN_POINT('',(1568284.0,2027117.0)); -#4648=CARTESIAN_POINT('',(1562437.9996141128,2032000.0)); -#4649=AXIS2_PLACEMENT_2D('',#4648,$); -#4650=CIRCLE('',#4649,7617.047296150574); -#4651=TRIMMED_CURVE('',#4650,(#4641),(#4647),.F.,.CARTESIAN.); -#4652=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4651); -#4653=CARTESIAN_POINT('',(1714499.9564310696,1904999.9564310696)); -#4654=AXIS2_PLACEMENT_2D('',#4653,$); -#4655=CIRCLE('',#4654,190503.74863783782); -#4656=TRIMMED_CURVE('',#4655,(#4647),(#4610),.T.,.CARTESIAN.); -#4657=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4656); -#4658=AREA_WITH_OUTER_BOUNDARY('',#4609,.T.); -#4659=COMPOSITE_CURVE('',(#4666,#4669,#4675,#4681,#4687,#4693,#4696,#4702,#4707), - .F.); -#4660=CARTESIAN_POINT('',(3461218.0,2218419.0)); -#4661=CARTESIAN_POINT('',(3462509.0,2219312.0)); -#4662=CARTESIAN_POINT('',(3466173.754425014,2212634.213927556)); -#4663=AXIS2_PLACEMENT_2D('',#4662,$); -#4664=CIRCLE('',#4663,7617.299509996274); -#4665=TRIMMED_CURVE('',#4664,(#4660),(#4661),.F.,.CARTESIAN.); -#4666=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4665); -#4667=POLYLINE('',(#4661,#4668)); -#4668=CARTESIAN_POINT('',(3478382.0,2228017.0)); -#4669=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4667); -#4670=CARTESIAN_POINT('',(3478440.0,2228048.0)); -#4671=CARTESIAN_POINT('',(3482001.6674660193,2221314.4769990607)); -#4672=AXIS2_PLACEMENT_2D('',#4671,$); -#4673=CIRCLE('',#4672,7617.467239356939); -#4674=TRIMMED_CURVE('',#4673,(#4668),(#4670),.F.,.CARTESIAN.); -#4675=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4674); -#4676=CARTESIAN_POINT('',(3517211.40975733,2517743.6077883993)); -#4677=CARTESIAN_POINT('',(3393084.1086850404,2386913.894729826)); -#4678=AXIS2_PLACEMENT_2D('',#4677,$); -#4679=CIRCLE('',#4678,180344.11742687767); -#4680=TRIMMED_CURVE('',#4679,(#4670),(#4676),.T.,.CARTESIAN.); -#4681=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4680); -#4682=CARTESIAN_POINT('',(3229953.0,2463805.0)); -#4683=CARTESIAN_POINT('',(3393084.1086850404,2386913.8947298257)); -#4684=AXIS2_PLACEMENT_2D('',#4683,$); -#4685=CIRCLE('',#4684,180344.11742687772); -#4686=TRIMMED_CURVE('',#4685,(#4676),(#4682),.T.,.CARTESIAN.); -#4687=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4686); -#4688=CARTESIAN_POINT('',(3229742.0,2463390.0)); -#4689=CARTESIAN_POINT('',(3223060.5591682256,2467048.209675914)); -#4690=AXIS2_PLACEMENT_2D('',#4689,$); -#4691=CIRCLE('',#4690,7617.358441182451); -#4692=TRIMMED_CURVE('',#4691,(#4682),(#4688),.F.,.CARTESIAN.); -#4693=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4692); -#4694=POLYLINE('',(#4688,#4695)); -#4695=CARTESIAN_POINT('',(3225736.0,2456085.0)); -#4696=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4694); -#4697=CARTESIAN_POINT('',(3224843.0,2454794.0)); -#4698=CARTESIAN_POINT('',(3219058.213927556,2459749.754425014)); -#4699=AXIS2_PLACEMENT_2D('',#4698,$); -#4700=CIRCLE('',#4699,7617.299509996274); -#4701=TRIMMED_CURVE('',#4700,(#4695),(#4697),.F.,.CARTESIAN.); -#4702=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4701); -#4703=CARTESIAN_POINT('',(3352190.0007111817,2345766.0007111817)); -#4704=AXIS2_PLACEMENT_2D('',#4703,$); -#4705=CIRCLE('',#4704,167643.56002858054); -#4706=TRIMMED_CURVE('',#4705,(#4697),(#4660),.T.,.CARTESIAN.); -#4707=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4706); -#4708=AREA_WITH_OUTER_BOUNDARY('',#4659,.T.); -#4709=CIRCULAR_AREA('',#4710,180344.0); -#4710=CARTESIAN_POINT('',(1089152.0,2486076.0)); -#4711=CIRCULAR_AREA('',#2146,276864.0); -#4712=CONNECTED_AREA_COMPONENT('CU117',$,#322,#4,'CU117','definition usage',$,#326, - *,'',$,*); -#4713=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU117','',$,#223,#326,'CU117', - '',$,#4712,*); -#4714=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4715),#225); -#4715=CSG_PRIMITIVE_SOLID_2D('',#4747); -#4716=COMPOSITE_CURVE('',(#4723,#4729,#4735,#4738,#4744,#4746),.F.); -#4717=CARTESIAN_POINT('',(4198690.0,-304796.0)); -#4718=CARTESIAN_POINT('',(4195008.0,-287820.0)); -#4719=CARTESIAN_POINT('',(4198689.939921852,-295908.7103680337)); -#4720=AXIS2_PLACEMENT_2D('',#4719,$); -#4721=CIRCLE('',#4720,8887.289632169408); -#4722=TRIMMED_CURVE('',#4721,(#4717),(#4718),.F.,.CARTESIAN.); -#4723=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4722); -#4724=CARTESIAN_POINT('',(4351820.0,-131008.0)); -#4725=CARTESIAN_POINT('',(4063999.4914432764,0.5085567237983923)); -#4726=AXIS2_PLACEMENT_2D('',#4725,$); -#4727=CIRCLE('',#4726,316233.892016824); -#4728=TRIMMED_CURVE('',#4727,(#4718),(#4724),.T.,.CARTESIAN.); -#4729=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4728); -#4730=CARTESIAN_POINT('',(4368796.0,-134690.0)); -#4731=CARTESIAN_POINT('',(4359908.7103680335,-134689.93992185243)); -#4732=AXIS2_PLACEMENT_2D('',#4731,$); -#4733=CIRCLE('',#4732,8887.289632169408); -#4734=TRIMMED_CURVE('',#4733,(#4724),(#4730),.F.,.CARTESIAN.); -#4735=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4734); -#4736=POLYLINE('',(#4730,#4737)); -#4737=CARTESIAN_POINT('',(4368796.0,-295909.0)); -#4738=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4736); -#4739=CARTESIAN_POINT('',(4359909.0,-304796.0)); -#4740=CARTESIAN_POINT('',(4359909.0,-295909.0)); -#4741=AXIS2_PLACEMENT_2D('',#4740,$); -#4742=CIRCLE('',#4741,8887.0); -#4743=TRIMMED_CURVE('',#4742,(#4737),(#4739),.F.,.CARTESIAN.); -#4744=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4743); -#4745=POLYLINE('',(#4739,#4717)); -#4746=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4745); -#4747=AREA_WITH_OUTER_BOUNDARY('',#4716,.F.); -#4748=CONNECTED_AREA_COMPONENT('CU106',$,#322,#4,'CU106','definition usage',$,#326, - *,'',$,*); -#4749=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU106','',$,#223,#326,'CU106', - '',$,#4748,*); -#4750=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#14005,#14006,#4751,#14007,#14008),#14004); -#4751=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 12700.0),#17)REPRESENTATION_ITEM('curve width')); -#4752=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4753),#225); -#4753=CSG_PRIMITIVE_SOLID_2D('',#4757); -#4754=POLYLINE('centreline',(#4755,#4756)); -#4755=CARTESIAN_POINT('',(557378.0,1904924.0)); -#4756=CARTESIAN_POINT('',(519775.0,1881070.0)); -#4757=PATH_AREA_WITH_PARAMETERS('',#18703,#4754); -#4758=CONNECTED_AREA_COMPONENT('CU46',$,#322,#4,'CU46','definition usage',$,#326, - *,'',$,*); -#4759=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU46','',$,#223,#326,'CU46','', - $,#4758,*); -#4760=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4761),#225); -#4761=CSG_PRIMITIVE_SOLID_2D('',#4762); -#4762=POLYGONAL_AREA('',(#4763,#4764,#4765)); -#4763=CARTESIAN_POINT('',(442871.0,1739947.0)); -#4764=CARTESIAN_POINT('',(421102.0,1700507.0)); -#4765=CARTESIAN_POINT('',(403431.0,1718178.0)); -#4766=CONNECTED_AREA_COMPONENT('CU21',$,#322,#4,'CU21','definition usage',$,#326, - *,'',$,*); -#4767=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU21','',$,#223,#326,'CU21','', - $,#4766,*); -#4768=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4769),#225); -#4769=CSG_PRIMITIVE_SOLID_2D('',#4773); -#4770=POLYLINE('centreline',(#4771,#4772)); -#4771=CARTESIAN_POINT('',(754053.0,2039871.0)); -#4772=CARTESIAN_POINT('',(793493.0,2018102.0)); -#4773=PATH_AREA_WITH_PARAMETERS('',#18702,#4770); -#4774=CONNECTED_AREA_COMPONENT('CU13',$,#322,#4,'CU13','definition usage',$,#326, - *,'',$,*); -#4775=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU13','',$,#223,#326,'CU13','', - $,#4774,*); -#4776=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4777),#225); -#4777=CSG_PRIMITIVE_SOLID_2D('',#4781); -#4778=POLYLINE('centreline',(#4779,#4780)); -#4779=CARTESIAN_POINT('',(3145621.0,1739045.0)); -#4780=CARTESIAN_POINT('',(3123871.0,1699852.0)); -#4781=PATH_AREA_WITH_PARAMETERS('',#18702,#4778); -#4782=CONNECTED_AREA_COMPONENT('CU85',$,#322,#4,'CU85','definition usage',$,#326, - *,'',$,*); -#4783=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU85','',$,#223,#326,'CU85','', - $,#4782,*); -#4784=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4785),#225); -#4785=CSG_PRIMITIVE_SOLID_2D('',#4791); -#4786=COMPOSITE_CURVE('',(#4046,#4052,#4788,#4061,#4790,#4069),.F.); -#4787=POLYLINE('',(#4047,#4054)); -#4788=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4787); -#4789=POLYLINE('',(#4056,#4063)); -#4790=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4789); -#4791=AREA_WITH_OUTER_BOUNDARY('',#4786,.F.); -#4792=CONNECTED_AREA_COMPONENT('CU104',$,#322,#4,'CU104','definition usage',$,#326, - *,'',$,*); -#4793=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU104','',$,#223,#326,'CU104', - '',$,#4792,*); -#4794=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4795),#225); -#4795=CSG_PRIMITIVE_SOLID_2D('',#4799); -#4796=POLYLINE('centreline',(#4797,#4798)); -#4797=CARTESIAN_POINT('',(824099.0,2039871.0)); -#4798=CARTESIAN_POINT('',(780642.0,2030150.0)); -#4799=PATH_AREA_WITH_PARAMETERS('',#18703,#4796); -#4800=CONNECTED_AREA_COMPONENT('CU41',$,#322,#4,'CU41','definition usage',$,#326, - *,'',$,*); -#4801=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU41','',$,#223,#326,'CU41','', - $,#4800,*); -#4802=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4803),#225); -#4803=CSG_PRIMITIVE_SOLID_2D('',#4806); -#4804=POLYLINE('centreline',(#4779,#4805)); -#4805=CARTESIAN_POINT('',(3106428.0,1717295.0)); -#4806=PATH_AREA_WITH_PARAMETERS('',#18702,#4804); -#4807=CONNECTED_AREA_COMPONENT('CU86',$,#322,#4,'CU86','definition usage',$,#326, - *,'',$,*); -#4808=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU86','',$,#223,#326,'CU86','', - $,#4807,*); -#4809=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4810),#225); -#4810=CSG_PRIMITIVE_SOLID_2D('',#4814); -#4811=POLYLINE('centreline',(#4812,#4813)); -#4812=CARTESIAN_POINT('',(3658379.0,2151955.0)); -#4813=CARTESIAN_POINT('',(3680129.0,2191148.0)); -#4814=PATH_AREA_WITH_PARAMETERS('',#18702,#4811); -#4815=CONNECTED_AREA_COMPONENT('CU91',$,#322,#4,'CU91','definition usage',$,#326, - *,'',$,*); -#4816=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU91','',$,#223,#326,'CU91','', - $,#4815,*); -#4817=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#4818),#225); -#4818=CSG_PRIMITIVE_SOLID_2D('',#4856); -#4819=COMPOSITE_CURVE('',(#4826,#4829,#4835,#4838,#4844,#4847,#4853,#4855),.F.); -#4820=CARTESIAN_POINT('',(-425449.0,-431796.0)); -#4821=CARTESIAN_POINT('',(-431796.0,-425449.0)); -#4822=CARTESIAN_POINT('',(-425449.0,-425449.0)); -#4823=AXIS2_PLACEMENT_2D('',#4822,$); -#4824=CIRCLE('',#4823,6347.0); -#4825=TRIMMED_CURVE('',#4824,(#4820),(#4821),.F.,.CARTESIAN.); -#4826=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4825); -#4827=POLYLINE('',(#4821,#4828)); -#4828=CARTESIAN_POINT('',(-431796.0,4489449.0)); -#4829=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4827); -#4830=CARTESIAN_POINT('',(-425449.0,4495796.0)); -#4831=CARTESIAN_POINT('',(-425449.0,4489449.0)); -#4832=AXIS2_PLACEMENT_2D('',#4831,$); -#4833=CIRCLE('',#4832,6347.0); -#4834=TRIMMED_CURVE('',#4833,(#4828),(#4830),.F.,.CARTESIAN.); -#4835=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4834); -#4836=POLYLINE('',(#4830,#4837)); -#4837=CARTESIAN_POINT('',(4489449.0,4495796.0)); -#4838=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4836); -#4839=CARTESIAN_POINT('',(4495796.0,4489449.0)); -#4840=CARTESIAN_POINT('',(4489449.0,4489449.0)); -#4841=AXIS2_PLACEMENT_2D('',#4840,$); -#4842=CIRCLE('',#4841,6347.0); -#4843=TRIMMED_CURVE('',#4842,(#4837),(#4839),.F.,.CARTESIAN.); -#4844=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4843); -#4845=POLYLINE('',(#4839,#4846)); -#4846=CARTESIAN_POINT('',(4495796.0,-425449.0)); -#4847=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4845); -#4848=CARTESIAN_POINT('',(4489449.0,-431796.0)); -#4849=CARTESIAN_POINT('',(4489449.0,-425449.0)); -#4850=AXIS2_PLACEMENT_2D('',#4849,$); -#4851=CIRCLE('',#4850,6347.0); -#4852=TRIMMED_CURVE('',#4851,(#4846),(#4848),.F.,.CARTESIAN.); -#4853=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4852); -#4854=POLYLINE('',(#4848,#4820)); -#4855=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4854); -#4856=(AREA_WITH_OUTER_BOUNDARY()COMPLEX_AREA()COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4857,#4858,#4859,#4861,#5007,#5008,#5041,#5042,#5044,#5045,#5047,#5110,#5111, - #5113,#5115,#5116,#5179,#5180,#5182,#5183,#5184,#5185))) - GEOMETRIC_REPRESENTATION_ITEM()HALF_SPACE_2D(#4819,.F.)PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#4857=CIRCULAR_AREA('',#3991,209554.0); -#4858=CIRCULAR_AREA('',#70,209554.0); -#4859=CIRCULAR_AREA('',#4860,149864.0); -#4860=CARTESIAN_POINT('',(-2.9103830456733704E-11,762000.0)); -#4861=CIRCULAR_AREA('',#376,149864.0); -#4862=COMPOSITE_CURVE('',(#4869,#4875,#4878,#4884,#4890,#4896,#4902,#4908,#4914, - #4920,#4926,#4932,#4938,#4944,#4947,#4953,#4959,#4965,#4971,#4977,#4983,#4989, - #4995,#5001,#5006),.F.); -#4863=CARTESIAN_POINT('',(3055363.0,1679479.0)); -#4864=CARTESIAN_POINT('',(3066469.0,1679479.0)); -#4865=CARTESIAN_POINT('',(3060916.0,1676405.0002124226)); -#4866=AXIS2_PLACEMENT_2D('',#4865,$); -#4867=CIRCLE('',#4866,6347.068905725335); -#4868=TRIMMED_CURVE('',#4867,(#4863),(#4864),.F.,.CARTESIAN.); -#4869=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4868); -#4870=CARTESIAN_POINT('',(3161719.9025705284,1704086.0)); -#4871=CARTESIAN_POINT('',(3110915.980359219,1704086.0)); -#4872=AXIS2_PLACEMENT_2D('',#4871,$); -#4873=CIRCLE('',#4872,50803.92221130953); -#4874=TRIMMED_CURVE('',#4873,(#4864),(#4870),.T.,.CARTESIAN.); -#4875=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4874); -#4876=CARTESIAN_POINT('',(3066469.0,1728693.0)); -#4877=TRIMMED_CURVE('',#4873,(#4870),(#4876),.T.,.CARTESIAN.); -#4878=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4877); -#4879=CARTESIAN_POINT('',(3055363.0,1728693.0)); -#4880=CARTESIAN_POINT('',(3060916.0,1731766.9997875774)); -#4881=AXIS2_PLACEMENT_2D('',#4880,$); -#4882=CIRCLE('',#4881,6347.068905725335); -#4883=TRIMMED_CURVE('',#4882,(#4876),(#4879),.F.,.CARTESIAN.); -#4884=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4883); -#4885=CARTESIAN_POINT('',(3035523.0,1748533.0)); -#4886=CARTESIAN_POINT('',(3010915.9983455464,1704085.9983455467)); -#4887=AXIS2_PLACEMENT_2D('',#4886,$); -#4888=CIRCLE('',#4887,50803.9416432747); -#4889=TRIMMED_CURVE('',#4888,(#4879),(#4885),.T.,.CARTESIAN.); -#4890=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4889); -#4891=CARTESIAN_POINT('',(3035523.0,1759639.0)); -#4892=CARTESIAN_POINT('',(3038596.9997875774,1754086.0)); -#4893=AXIS2_PLACEMENT_2D('',#4892,$); -#4894=CIRCLE('',#4893,6347.068905725335); -#4895=TRIMMED_CURVE('',#4894,(#4885),(#4891),.F.,.CARTESIAN.); -#4896=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4895); -#4897=CARTESIAN_POINT('',(3035523.0,1848533.0)); -#4898=CARTESIAN_POINT('',(3010915.989126355,1804086.0)); -#4899=AXIS2_PLACEMENT_2D('',#4898,$); -#4900=CIRCLE('',#4899,50803.94466117465); -#4901=TRIMMED_CURVE('',#4900,(#4891),(#4897),.T.,.CARTESIAN.); -#4902=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4901); -#4903=CARTESIAN_POINT('',(3035523.0,1859639.0)); -#4904=CARTESIAN_POINT('',(3038596.9997875774,1854086.0)); -#4905=AXIS2_PLACEMENT_2D('',#4904,$); -#4906=CIRCLE('',#4905,6347.068905725335); -#4907=TRIMMED_CURVE('',#4906,(#4897),(#4903),.F.,.CARTESIAN.); -#4908=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4907); -#4909=CARTESIAN_POINT('',(3046839.801125288,1940009.801125288)); -#4910=CARTESIAN_POINT('',(3010915.9930011174,1904085.9930011176)); -#4911=AXIS2_PLACEMENT_2D('',#4910,$); -#4912=CIRCLE('',#4911,50803.93666129074); -#4913=TRIMMED_CURVE('',#4912,(#4903),(#4909),.T.,.CARTESIAN.); -#4914=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4913); -#4915=CARTESIAN_POINT('',(2966469.0,1928693.0)); -#4916=CARTESIAN_POINT('',(3010915.9930011174,1904085.9930011174)); -#4917=AXIS2_PLACEMENT_2D('',#4916,$); -#4918=CIRCLE('',#4917,50803.93666129074); -#4919=TRIMMED_CURVE('',#4918,(#4909),(#4915),.T.,.CARTESIAN.); -#4920=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4919); -#4921=CARTESIAN_POINT('',(2955363.0,1928693.0)); -#4922=CARTESIAN_POINT('',(2960916.0,1931766.9997875774)); -#4923=AXIS2_PLACEMENT_2D('',#4922,$); -#4924=CIRCLE('',#4923,6347.068905725335); -#4925=TRIMMED_CURVE('',#4924,(#4915),(#4921),.F.,.CARTESIAN.); -#4926=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4925); -#4927=CARTESIAN_POINT('',(2935523.0,1948533.0)); -#4928=CARTESIAN_POINT('',(2910915.9983455464,1904085.9983455467)); -#4929=AXIS2_PLACEMENT_2D('',#4928,$); -#4930=CIRCLE('',#4929,50803.9416432747); -#4931=TRIMMED_CURVE('',#4930,(#4921),(#4927),.T.,.CARTESIAN.); -#4932=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4931); -#4933=CARTESIAN_POINT('',(2935523.0,1959639.0)); -#4934=CARTESIAN_POINT('',(2938596.9997875774,1954086.0)); -#4935=AXIS2_PLACEMENT_2D('',#4934,$); -#4936=CIRCLE('',#4935,6347.068905725335); -#4937=TRIMMED_CURVE('',#4936,(#4927),(#4933),.F.,.CARTESIAN.); -#4938=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4937); -#4939=CARTESIAN_POINT('',(2910916.0,2054889.9025705287)); -#4940=CARTESIAN_POINT('',(2910916.0,2004085.9803592192)); -#4941=AXIS2_PLACEMENT_2D('',#4940,$); -#4942=CIRCLE('',#4941,50803.92221130965); -#4943=TRIMMED_CURVE('',#4942,(#4933),(#4939),.T.,.CARTESIAN.); -#4944=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4943); -#4945=CARTESIAN_POINT('',(2886309.0,1959639.0)); -#4946=TRIMMED_CURVE('',#4942,(#4939),(#4945),.T.,.CARTESIAN.); -#4947=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4946); -#4948=CARTESIAN_POINT('',(2886309.0,1948533.0)); -#4949=CARTESIAN_POINT('',(2883235.0002124226,1954086.0)); -#4950=AXIS2_PLACEMENT_2D('',#4949,$); -#4951=CIRCLE('',#4950,6347.068905725335); -#4952=TRIMMED_CURVE('',#4951,(#4945),(#4948),.F.,.CARTESIAN.); -#4953=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4952); -#4954=CARTESIAN_POINT('',(2886309.0,1859639.0)); -#4955=CARTESIAN_POINT('',(2910916.010873645,1904086.0)); -#4956=AXIS2_PLACEMENT_2D('',#4955,$); -#4957=CIRCLE('',#4956,50803.94466117465); -#4958=TRIMMED_CURVE('',#4957,(#4948),(#4954),.T.,.CARTESIAN.); -#4959=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4958); -#4960=CARTESIAN_POINT('',(2886309.0,1848533.0)); -#4961=CARTESIAN_POINT('',(2883235.0002124226,1854086.0)); -#4962=AXIS2_PLACEMENT_2D('',#4961,$); -#4963=CIRCLE('',#4962,6347.068905725335); -#4964=TRIMMED_CURVE('',#4963,(#4954),(#4960),.F.,.CARTESIAN.); -#4965=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4964); -#4966=CARTESIAN_POINT('',(2874992.198874712,1768162.198874712)); -#4967=CARTESIAN_POINT('',(2910916.0069988826,1804086.0069988824)); -#4968=AXIS2_PLACEMENT_2D('',#4967,$); -#4969=CIRCLE('',#4968,50803.93666129074); -#4970=TRIMMED_CURVE('',#4969,(#4960),(#4966),.T.,.CARTESIAN.); -#4971=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4970); -#4972=CARTESIAN_POINT('',(2955363.0,1779479.0)); -#4973=CARTESIAN_POINT('',(2910916.0069988826,1804086.0069988826)); -#4974=AXIS2_PLACEMENT_2D('',#4973,$); -#4975=CIRCLE('',#4974,50803.93666129074); -#4976=TRIMMED_CURVE('',#4975,(#4966),(#4972),.T.,.CARTESIAN.); -#4977=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4976); -#4978=CARTESIAN_POINT('',(2966469.0,1779479.0)); -#4979=CARTESIAN_POINT('',(2960916.0,1776405.0002124226)); -#4980=AXIS2_PLACEMENT_2D('',#4979,$); -#4981=CIRCLE('',#4980,6347.068905725335); -#4982=TRIMMED_CURVE('',#4981,(#4972),(#4978),.F.,.CARTESIAN.); -#4983=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4982); -#4984=CARTESIAN_POINT('',(2986309.0,1759639.0)); -#4985=CARTESIAN_POINT('',(3010916.0016544536,1804086.0016544533)); -#4986=AXIS2_PLACEMENT_2D('',#4985,$); -#4987=CIRCLE('',#4986,50803.9416432747); -#4988=TRIMMED_CURVE('',#4987,(#4978),(#4984),.T.,.CARTESIAN.); -#4989=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4988); -#4990=CARTESIAN_POINT('',(2986309.0,1748533.0)); -#4991=CARTESIAN_POINT('',(2983235.0002124226,1754086.0)); -#4992=AXIS2_PLACEMENT_2D('',#4991,$); -#4993=CIRCLE('',#4992,6347.068905725335); -#4994=TRIMMED_CURVE('',#4993,(#4984),(#4990),.F.,.CARTESIAN.); -#4995=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#4994); -#4996=CARTESIAN_POINT('',(2974992.198874712,1668162.198874712)); -#4997=CARTESIAN_POINT('',(3010916.0069988826,1704086.0069988824)); -#4998=AXIS2_PLACEMENT_2D('',#4997,$); -#4999=CIRCLE('',#4998,50803.93666129074); -#5000=TRIMMED_CURVE('',#4999,(#4990),(#4996),.T.,.CARTESIAN.); -#5001=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5000); -#5002=CARTESIAN_POINT('',(3010916.0069988826,1704086.0069988826)); -#5003=AXIS2_PLACEMENT_2D('',#5002,$); -#5004=CIRCLE('',#5003,50803.93666129074); -#5005=TRIMMED_CURVE('',#5004,(#4996),(#4863),.T.,.CARTESIAN.); -#5006=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5005); -#5007=AREA_WITH_OUTER_BOUNDARY('',#4862,.T.); -#5008=CIRCULAR_AREA('',#5009,50804.0); -#5009=CARTESIAN_POINT('',(3693414.0,1704416.0)); -#5010=COMPOSITE_CURVE('',(#5017,#5023,#5026,#5032,#5038,#5040),.F.); -#5011=CARTESIAN_POINT('',(552295.0,1680317.0)); -#5012=CARTESIAN_POINT('',(563401.0,1680317.0)); -#5013=CARTESIAN_POINT('',(557848.0,1677243.0002124226)); -#5014=AXIS2_PLACEMENT_2D('',#5013,$); -#5015=CIRCLE('',#5014,6347.068905725335); -#5016=TRIMMED_CURVE('',#5015,(#5011),(#5012),.F.,.CARTESIAN.); -#5017=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5016); -#5018=CARTESIAN_POINT('',(658651.9025705287,1704924.0)); -#5019=CARTESIAN_POINT('',(607847.980359219,1704924.0)); -#5020=AXIS2_PLACEMENT_2D('',#5019,$); -#5021=CIRCLE('',#5020,50803.92221130965); -#5022=TRIMMED_CURVE('',#5021,(#5012),(#5018),.T.,.CARTESIAN.); -#5023=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5022); -#5024=CARTESIAN_POINT('',(563401.0,1729531.0)); -#5025=TRIMMED_CURVE('',#5021,(#5018),(#5024),.T.,.CARTESIAN.); -#5026=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5025); -#5027=CARTESIAN_POINT('',(552295.0,1729531.0)); -#5028=CARTESIAN_POINT('',(557848.0,1732604.9997875774)); -#5029=AXIS2_PLACEMENT_2D('',#5028,$); -#5030=CIRCLE('',#5029,6347.068905725335); -#5031=TRIMMED_CURVE('',#5030,(#5024),(#5027),.F.,.CARTESIAN.); -#5032=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5031); -#5033=CARTESIAN_POINT('',(457044.09742947127,1704924.0)); -#5034=CARTESIAN_POINT('',(507848.019640781,1704924.0)); -#5035=AXIS2_PLACEMENT_2D('',#5034,$); -#5036=CIRCLE('',#5035,50803.92221130968); -#5037=TRIMMED_CURVE('',#5036,(#5027),(#5033),.T.,.CARTESIAN.); -#5038=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5037); -#5039=TRIMMED_CURVE('',#5036,(#5033),(#5011),.T.,.CARTESIAN.); -#5040=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5039); -#5041=AREA_WITH_OUTER_BOUNDARY('',#5010,.T.); -#5042=CIRCULAR_AREA('',#5043,50804.0); -#5043=CARTESIAN_POINT('',(789076.0,1804848.0)); -#5044=CIRCULAR_AREA('',#2382,60964.0); -#5045=CIRCULAR_AREA('',#5046,60964.0); -#5046=CARTESIAN_POINT('',(1968500.0,1905000.0)); -#5047=CIRCULAR_AREA('',#5048,50804.0); -#5048=CARTESIAN_POINT('',(3493414.0,1904416.0)); -#5049=COMPOSITE_CURVE('',(#5056,#5062,#5068,#5074,#5077,#5083,#5089,#5095,#5101, - #5107,#5109),.F.); -#5050=CARTESIAN_POINT('',(532455.0,1949371.0)); -#5051=CARTESIAN_POINT('',(532455.0,1960477.0)); -#5052=CARTESIAN_POINT('',(535528.9997875773,1954924.0)); -#5053=AXIS2_PLACEMENT_2D('',#5052,$); -#5054=CIRCLE('',#5053,6347.068905725335); -#5055=TRIMMED_CURVE('',#5054,(#5050),(#5051),.F.,.CARTESIAN.); -#5056=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5055); -#5057=CARTESIAN_POINT('',(552295.0,1980317.0)); -#5058=CARTESIAN_POINT('',(507847.99834554654,2004924.0016544533)); -#5059=AXIS2_PLACEMENT_2D('',#5058,$); -#5060=CIRCLE('',#5059,50803.9416432747); -#5061=TRIMMED_CURVE('',#5060,(#5051),(#5057),.T.,.CARTESIAN.); -#5062=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5061); -#5063=CARTESIAN_POINT('',(563401.0,1980317.0)); -#5064=CARTESIAN_POINT('',(557848.0,1977243.0002124226)); -#5065=AXIS2_PLACEMENT_2D('',#5064,$); -#5066=CIRCLE('',#5065,6347.068905725335); -#5067=TRIMMED_CURVE('',#5066,(#5057),(#5063),.F.,.CARTESIAN.); -#5068=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5067); -#5069=CARTESIAN_POINT('',(658651.9025705287,2004924.0)); -#5070=CARTESIAN_POINT('',(607847.980359219,2004924.0)); -#5071=AXIS2_PLACEMENT_2D('',#5070,$); -#5072=CIRCLE('',#5071,50803.92221130965); -#5073=TRIMMED_CURVE('',#5072,(#5063),(#5069),.T.,.CARTESIAN.); -#5074=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5073); -#5075=CARTESIAN_POINT('',(563401.0,2029531.0)); -#5076=TRIMMED_CURVE('',#5072,(#5069),(#5075),.T.,.CARTESIAN.); -#5077=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5076); -#5078=CARTESIAN_POINT('',(552295.0,2029531.0)); -#5079=CARTESIAN_POINT('',(557848.0,2032604.9997875774)); -#5080=AXIS2_PLACEMENT_2D('',#5079,$); -#5081=CIRCLE('',#5080,6347.068905725335); -#5082=TRIMMED_CURVE('',#5081,(#5075),(#5078),.F.,.CARTESIAN.); -#5083=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5082); -#5084=CARTESIAN_POINT('',(471924.198874712,2040847.8011252878)); -#5085=CARTESIAN_POINT('',(507848.00699888257,2004923.9930011174)); -#5086=AXIS2_PLACEMENT_2D('',#5085,$); -#5087=CIRCLE('',#5086,50803.93666129072); -#5088=TRIMMED_CURVE('',#5087,(#5078),(#5084),.T.,.CARTESIAN.); -#5089=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5088); -#5090=CARTESIAN_POINT('',(483241.0,1960477.0)); -#5091=CARTESIAN_POINT('',(507848.00699888245,2004923.9930011176)); -#5092=AXIS2_PLACEMENT_2D('',#5091,$); -#5093=CIRCLE('',#5092,50803.9366612906); -#5094=TRIMMED_CURVE('',#5093,(#5084),(#5090),.T.,.CARTESIAN.); -#5095=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5094); -#5096=CARTESIAN_POINT('',(483241.0,1949371.0)); -#5097=CARTESIAN_POINT('',(480167.0002124227,1954924.0)); -#5098=AXIS2_PLACEMENT_2D('',#5097,$); -#5099=CIRCLE('',#5098,6347.068905725335); -#5100=TRIMMED_CURVE('',#5099,(#5090),(#5096),.F.,.CARTESIAN.); -#5101=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5100); -#5102=CARTESIAN_POINT('',(507848.0,1854120.0974294713)); -#5103=CARTESIAN_POINT('',(507848.0,1904924.0196407808)); -#5104=AXIS2_PLACEMENT_2D('',#5103,$); -#5105=CIRCLE('',#5104,50803.92221130965); -#5106=TRIMMED_CURVE('',#5105,(#5096),(#5102),.T.,.CARTESIAN.); -#5107=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5106); -#5108=TRIMMED_CURVE('',#5105,(#5102),(#5050),.T.,.CARTESIAN.); -#5109=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5108); -#5110=AREA_WITH_OUTER_BOUNDARY('',#5049,.T.); -#5111=CIRCULAR_AREA('',#5112,50804.0); -#5112=CARTESIAN_POINT('',(3110916.0,2004086.0)); -#5113=CIRCULAR_AREA('',#5114,50804.0); -#5114=CARTESIAN_POINT('',(789076.0,2004848.0)); -#5115=CIRCULAR_AREA('',#3924,60964.0); -#5116=CIRCULAR_AREA('',#5117,60964.0); -#5117=CARTESIAN_POINT('',(1968500.0,2159000.0)); -#5118=COMPOSITE_CURVE('',(#5125,#5131,#5137,#5143,#5149,#5155,#5161,#5167,#5173, - #5178),.F.); -#5119=CARTESIAN_POINT('',(332531.0,2230599.0)); -#5120=CARTESIAN_POINT('',(332531.0,2241705.0)); -#5121=CARTESIAN_POINT('',(335604.9997875773,2236152.0)); -#5122=AXIS2_PLACEMENT_2D('',#5121,$); -#5123=CIRCLE('',#5122,6347.068905725335); -#5124=TRIMMED_CURVE('',#5123,(#5119),(#5120),.F.,.CARTESIAN.); -#5125=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5124); -#5126=CARTESIAN_POINT('',(332531.0,2330599.0)); -#5127=CARTESIAN_POINT('',(307923.98912635475,2286152.0)); -#5128=AXIS2_PLACEMENT_2D('',#5127,$); -#5129=CIRCLE('',#5128,50803.94466117465); -#5130=TRIMMED_CURVE('',#5129,(#5120),(#5126),.T.,.CARTESIAN.); -#5131=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5130); -#5132=CARTESIAN_POINT('',(332531.0,2341705.0)); -#5133=CARTESIAN_POINT('',(335604.9997875773,2336152.0)); -#5134=AXIS2_PLACEMENT_2D('',#5133,$); -#5135=CIRCLE('',#5134,6347.068905725335); -#5136=TRIMMED_CURVE('',#5135,(#5126),(#5132),.F.,.CARTESIAN.); -#5137=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5136); -#5138=CARTESIAN_POINT('',(307924.0,2436955.9025705284)); -#5139=CARTESIAN_POINT('',(307924.00000000006,2386151.980359219)); -#5140=AXIS2_PLACEMENT_2D('',#5139,$); -#5141=CIRCLE('',#5140,50803.92221130953); -#5142=TRIMMED_CURVE('',#5141,(#5132),(#5138),.T.,.CARTESIAN.); -#5143=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5142); -#5144=CARTESIAN_POINT('',(283317.0,2341705.0)); -#5145=CARTESIAN_POINT('',(307923.99999999994,2386151.980359219)); -#5146=AXIS2_PLACEMENT_2D('',#5145,$); -#5147=CIRCLE('',#5146,50803.92221130953); -#5148=TRIMMED_CURVE('',#5147,(#5138),(#5144),.T.,.CARTESIAN.); -#5149=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5148); -#5150=CARTESIAN_POINT('',(283317.0,2330599.0)); -#5151=CARTESIAN_POINT('',(280243.0002124227,2336152.0)); -#5152=AXIS2_PLACEMENT_2D('',#5151,$); -#5153=CIRCLE('',#5152,6347.068905725335); -#5154=TRIMMED_CURVE('',#5153,(#5144),(#5150),.F.,.CARTESIAN.); -#5155=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5154); -#5156=CARTESIAN_POINT('',(283317.0,2241705.0)); -#5157=CARTESIAN_POINT('',(307924.01087364525,2286152.0)); -#5158=AXIS2_PLACEMENT_2D('',#5157,$); -#5159=CIRCLE('',#5158,50803.94466117465); -#5160=TRIMMED_CURVE('',#5159,(#5150),(#5156),.T.,.CARTESIAN.); -#5161=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5160); -#5162=CARTESIAN_POINT('',(283317.0,2230599.0)); -#5163=CARTESIAN_POINT('',(280243.0002124227,2236152.0)); -#5164=AXIS2_PLACEMENT_2D('',#5163,$); -#5165=CIRCLE('',#5164,6347.068905725335); -#5166=TRIMMED_CURVE('',#5165,(#5156),(#5162),.F.,.CARTESIAN.); -#5167=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5166); -#5168=CARTESIAN_POINT('',(307924.0,2135348.0974294716)); -#5169=CARTESIAN_POINT('',(307923.99999999994,2186152.019640781)); -#5170=AXIS2_PLACEMENT_2D('',#5169,$); -#5171=CIRCLE('',#5170,50803.92221130953); -#5172=TRIMMED_CURVE('',#5171,(#5162),(#5168),.T.,.CARTESIAN.); -#5173=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5172); -#5174=CARTESIAN_POINT('',(307924.00000000006,2186152.019640781)); -#5175=AXIS2_PLACEMENT_2D('',#5174,$); -#5176=CIRCLE('',#5175,50803.92221130953); -#5177=TRIMMED_CURVE('',#5176,(#5168),(#5119),.T.,.CARTESIAN.); -#5178=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5177); -#5179=AREA_WITH_OUTER_BOUNDARY('',#5118,.T.); -#5180=CIRCULAR_AREA('',#5181,50804.0); -#5181=CARTESIAN_POINT('',(3393084.0,2386914.0)); -#5182=CIRCULAR_AREA('',#4710,50804.0); -#5183=CIRCULAR_AREA('',#4017,209554.0); -#5184=CIRCULAR_AREA('',#50,209554.0); -#5185=CIRCULAR_AREA('',#2146,149864.0); -#5186=CONNECTED_AREA_COMPONENT('CU111',$,#322,#4,'CU111','definition usage',$,#326, - *,'',$,*); -#5187=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU111','',$,#223,#326,'CU111', - '',$,#5186,*); -#5188=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5189),#225); -#5189=CSG_PRIMITIVE_SOLID_2D('',#5191); -#5190=CIRCULAR_AREA('',#50,381000.0); -#5191=(CIRCULAR_AREA(#50,381000.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#5192)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#5192=CIRCULAR_AREA('',#50,189234.0); -#5193=CONNECTED_AREA_COMPONENT('CU103',$,#322,#4,'CU103','definition usage',$,#326, - *,'',$,*); -#5194=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU103','',$,#223,#326,'CU103', - '',$,#5193,*); -#5195=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5196),#225); -#5196=CSG_PRIMITIVE_SOLID_2D('',#5197); -#5197=POLYGONAL_AREA('',(#4797,#5198,#4798)); -#5198=CARTESIAN_POINT('',(814378.0,1996414.0)); -#5199=CONNECTED_AREA_COMPONENT('CU42',$,#322,#4,'CU42','definition usage',$,#326, - *,'',$,*); -#5200=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU42','',$,#223,#326,'CU42','', - $,#5199,*); -#5201=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5202),#225); -#5202=CSG_PRIMITIVE_SOLID_2D('',#5203); -#5203=POLYGONAL_AREA('',(#5204,#5205,#5206)); -#5204=CARTESIAN_POINT('',(3358379.0,2351955.0)); -#5205=CARTESIAN_POINT('',(3380129.0,2391148.0)); -#5206=CARTESIAN_POINT('',(3397572.0,2373705.0)); -#5207=CONNECTED_AREA_COMPONENT('CU99',$,#322,#4,'CU99','definition usage',$,#326, - *,'',$,*); -#5208=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU99','',$,#223,#326,'CU99','', - $,#5207,*); -#5209=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5210),#225); -#5210=CSG_PRIMITIVE_SOLID_2D('',#5212); -#5211=POLYLINE('centreline',(#4763,#4765)); -#5212=PATH_AREA_WITH_PARAMETERS('',#18702,#5211); -#5213=CONNECTED_AREA_COMPONENT('CU20',$,#322,#4,'CU20','definition usage',$,#326, - *,'',$,*); -#5214=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU20','',$,#223,#326,'CU20','', - $,#5213,*); -#5215=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5216),#225); -#5216=CSG_PRIMITIVE_SOLID_2D('',#5220); -#5217=POLYLINE('centreline',(#5218,#5219)); -#5218=CARTESIAN_POINT('',(754053.0,1839871.0)); -#5219=CARTESIAN_POINT('',(775822.0,1800431.0)); -#5220=PATH_AREA_WITH_PARAMETERS('',#18702,#5217); -#5221=CONNECTED_AREA_COMPONENT('CU29',$,#322,#4,'CU29','definition usage',$,#326, - *,'',$,*); -#5222=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU29','',$,#223,#326,'CU29','', - $,#5221,*); -#5223=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5224),#225); -#5224=CSG_PRIMITIVE_SOLID_2D('',#5225); -#5225=POLYGONAL_AREA('',(#4779,#4780,#4805)); -#5226=CONNECTED_AREA_COMPONENT('CU87',$,#322,#4,'CU87','definition usage',$,#326, - *,'',$,*); -#5227=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU87','',$,#223,#326,'CU87','', - $,#5226,*); -#5228=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5229),#225); -#5229=CSG_PRIMITIVE_SOLID_2D('',#5239); -#5230=COMPOSITE_CURVE('',(#4826,#5232,#4835,#5234,#4844,#5236,#4853,#5238),.F.); -#5231=POLYLINE('',(#4821,#4828)); -#5232=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5231); -#5233=POLYLINE('',(#4830,#4837)); -#5234=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5233); -#5235=POLYLINE('',(#4839,#4846)); -#5236=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5235); -#5237=POLYLINE('',(#4848,#4820)); -#5238=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5237); -#5239=(AREA_WITH_OUTER_BOUNDARY()COMPLEX_AREA()COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#5240,#5242,#4857,#4858,#5244,#5246,#5248,#5250,#5252,#5254,#4859,#4861,#5277, - #5278,#5313,#5042,#5044,#5045,#5047,#5315,#5111,#5113,#5316,#5115,#5116,#5318, - #5180,#5320,#5322,#5324,#5326,#5183,#5184,#5185,#5328,#5330,#5332,#5334,#5336, - #5338,#5340)))GEOMETRIC_REPRESENTATION_ITEM()HALF_SPACE_2D(#5230,.F.) - PRIMITIVE_2D()PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#5240=CIRCULAR_AREA('',#5241,60964.0); -#5241=CARTESIAN_POINT('',(-7.275957614183426E-12,-342900.0)); -#5242=CIRCULAR_AREA('',#5243,60964.0); -#5243=CARTESIAN_POINT('',(4064000.0,-330200.0)); -#5244=CIRCULAR_AREA('',#5245,60964.0); -#5245=CARTESIAN_POINT('',(-342900.0,0.0)); -#5246=CIRCULAR_AREA('',#5247,60964.0); -#5247=CARTESIAN_POINT('',(342900.0,0.0)); -#5248=CIRCULAR_AREA('',#5249,60964.0); -#5249=CARTESIAN_POINT('',(3733800.0,0.0)); -#5250=CIRCULAR_AREA('',#5251,60964.0); -#5251=CARTESIAN_POINT('',(4394200.0,0.0)); -#5252=CIRCULAR_AREA('',#5253,60964.0); -#5253=CARTESIAN_POINT('',(-7.275957614183426E-12,330200.0)); -#5254=CIRCULAR_AREA('',#5255,60964.0); -#5255=CARTESIAN_POINT('',(4064000.0,330200.0)); -#5256=COMPOSITE_CURVE('',(#4869,#4875,#4878,#4884,#4890,#4896,#4902,#4908,#5262, - #5265,#5271,#5276,#4995,#5001,#5006),.F.); -#5257=CARTESIAN_POINT('',(3010916.0,1954889.9025705287)); -#5258=CARTESIAN_POINT('',(3010916.0,1904085.9803592192)); -#5259=AXIS2_PLACEMENT_2D('',#5258,$); -#5260=CIRCLE('',#5259,50803.92221130965); -#5261=TRIMMED_CURVE('',#5260,(#4903),(#5257),.T.,.CARTESIAN.); -#5262=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5261); -#5263=CARTESIAN_POINT('',(2986309.0,1859639.0)); -#5264=TRIMMED_CURVE('',#5260,(#5257),(#5263),.T.,.CARTESIAN.); -#5265=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5264); -#5266=CARTESIAN_POINT('',(2986309.0,1848533.0)); -#5267=CARTESIAN_POINT('',(2983235.0002124226,1854086.0)); -#5268=AXIS2_PLACEMENT_2D('',#5267,$); -#5269=CIRCLE('',#5268,6347.068905725335); -#5270=TRIMMED_CURVE('',#5269,(#5263),(#5266),.F.,.CARTESIAN.); -#5271=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5270); -#5272=CARTESIAN_POINT('',(3010916.010873645,1804086.0)); -#5273=AXIS2_PLACEMENT_2D('',#5272,$); -#5274=CIRCLE('',#5273,50803.94466117465); -#5275=TRIMMED_CURVE('',#5274,(#5266),(#4984),.T.,.CARTESIAN.); -#5276=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5275); -#5277=AREA_WITH_OUTER_BOUNDARY('',#5256,.T.); -#5278=CIRCULAR_AREA('',#5279,50804.0); -#5279=CARTESIAN_POINT('',(989076.0,1704848.0)); -#5280=COMPOSITE_CURVE('',(#5287,#5292,#5017,#5023,#5026,#5032,#5298,#5304,#5310, - #5312),.F.); -#5281=CARTESIAN_POINT('',(452295.0,1680317.0)); -#5282=CARTESIAN_POINT('',(463401.0,1680317.0)); -#5283=CARTESIAN_POINT('',(457848.0,1677243.0002124226)); -#5284=AXIS2_PLACEMENT_2D('',#5283,$); -#5285=CIRCLE('',#5284,6347.068905725335); -#5286=TRIMMED_CURVE('',#5285,(#5281),(#5282),.F.,.CARTESIAN.); -#5287=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5286); -#5288=CARTESIAN_POINT('',(507848.0,1704924.0108736453)); -#5289=AXIS2_PLACEMENT_2D('',#5288,$); -#5290=CIRCLE('',#5289,50803.94466117465); -#5291=TRIMMED_CURVE('',#5290,(#5282),(#5011),.T.,.CARTESIAN.); -#5292=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5291); -#5293=CARTESIAN_POINT('',(463401.0,1729531.0)); -#5294=CARTESIAN_POINT('',(507848.0,1704923.9891263547)); -#5295=AXIS2_PLACEMENT_2D('',#5294,$); -#5296=CIRCLE('',#5295,50803.94466117465); -#5297=TRIMMED_CURVE('',#5296,(#5027),(#5293),.T.,.CARTESIAN.); -#5298=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5297); -#5299=CARTESIAN_POINT('',(452295.0,1729531.0)); -#5300=CARTESIAN_POINT('',(457848.0,1732604.9997875774)); -#5301=AXIS2_PLACEMENT_2D('',#5300,$); -#5302=CIRCLE('',#5301,6347.068905725335); -#5303=TRIMMED_CURVE('',#5302,(#5293),(#5299),.F.,.CARTESIAN.); -#5304=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5303); -#5305=CARTESIAN_POINT('',(357044.09742947127,1704924.0)); -#5306=CARTESIAN_POINT('',(407848.019640781,1704924.0)); -#5307=AXIS2_PLACEMENT_2D('',#5306,$); -#5308=CIRCLE('',#5307,50803.92221130968); -#5309=TRIMMED_CURVE('',#5308,(#5299),(#5305),.T.,.CARTESIAN.); -#5310=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5309); -#5311=TRIMMED_CURVE('',#5308,(#5305),(#5281),.T.,.CARTESIAN.); -#5312=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5311); -#5313=AREA_WITH_OUTER_BOUNDARY('',#5280,.T.); -#5314=COMPOSITE_CURVE('',(#5056,#5062,#5068,#5074,#5077,#5083,#5089,#5095,#5101, - #5107,#5109),.F.); -#5315=AREA_WITH_OUTER_BOUNDARY('',#5314,.T.); -#5316=CIRCULAR_AREA('',#5317,50804.0); -#5317=CARTESIAN_POINT('',(1089076.0,2004848.0)); -#5318=CIRCULAR_AREA('',#5319,50804.0); -#5319=CARTESIAN_POINT('',(3693084.0,2186914.0)); -#5320=CIRCULAR_AREA('',#5321,50804.0); -#5321=CARTESIAN_POINT('',(3010586.0,2486584.0)); -#5322=CIRCULAR_AREA('',#5323,50804.0); -#5323=CARTESIAN_POINT('',(3593084.0,2486914.0)); -#5324=CIRCULAR_AREA('',#5325,60964.0); -#5325=CARTESIAN_POINT('',(-7.275957614183426E-12,3721100.0)); -#5326=CIRCULAR_AREA('',#5327,60964.0); -#5327=CARTESIAN_POINT('',(4064000.0,3733800.0)); -#5328=CIRCULAR_AREA('',#5329,22864.0); -#5329=CARTESIAN_POINT('',(2159000.0,4000500.0)); -#5330=CIRCULAR_AREA('',#5331,60964.0); -#5331=CARTESIAN_POINT('',(-342900.0,4064000.0)); -#5332=CIRCULAR_AREA('',#5333,60964.0); -#5333=CARTESIAN_POINT('',(342900.0,4064000.0)); -#5334=CIRCULAR_AREA('',#5335,60964.0); -#5335=CARTESIAN_POINT('',(3733800.0,4064000.0)); -#5336=CIRCULAR_AREA('',#5337,60964.0); -#5337=CARTESIAN_POINT('',(4394200.0,4064000.0)); -#5338=CIRCULAR_AREA('',#5339,60964.0); -#5339=CARTESIAN_POINT('',(4064000.0,4394200.0)); -#5340=CIRCULAR_AREA('',#5341,60964.0); -#5341=CARTESIAN_POINT('',(-7.275957614183426E-12,4406900.0)); -#5342=CONNECTED_AREA_COMPONENT('CU112',$,#322,#4,'CU112','definition usage',$,#326, - *,'',$,*); -#5343=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU112','',$,#223,#326,'CU112', - '',$,#5342,*); -#5344=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5345),#225); -#5345=CSG_PRIMITIVE_SOLID_2D('',#5347); -#5346=POLYLINE('centreline',(#4086,#4088)); -#5347=PATH_AREA_WITH_PARAMETERS('',#18702,#5346); -#5348=CONNECTED_AREA_COMPONENT('CU11',$,#322,#4,'CU11','definition usage',$,#326, - *,'',$,*); -#5349=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU11','',$,#223,#326,'CU11','', - $,#5348,*); -#5350=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5351),#225); -#5351=CSG_PRIMITIVE_SOLID_2D('',#5352); -#5352=POLYGONAL_AREA('',(#5353,#5354,#5355)); -#5353=CARTESIAN_POINT('',(3558379.0,2451955.0)); -#5354=CARTESIAN_POINT('',(3580129.0,2491148.0)); -#5355=CARTESIAN_POINT('',(3597572.0,2473705.0)); -#5356=CONNECTED_AREA_COMPONENT('CU90',$,#322,#4,'CU90','definition usage',$,#326, - *,'',$,*); -#5357=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU90','',$,#223,#326,'CU90','', - $,#5356,*); -#5358=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5359),#225); -#5359=CSG_PRIMITIVE_SOLID_2D('',#5360); -#5360=(CIRCULAR_AREA(#4014,381000.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4103)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#5361=CONNECTED_AREA_COMPONENT('CU118',$,#322,#4,'CU118','definition usage',$,#326, - *,'',$,*); -#5362=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU118','',$,#223,#326,'CU118', - '',$,#5361,*); -#5363=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5364),#225); -#5364=CSG_PRIMITIVE_SOLID_2D('',#5396); -#5365=COMPOSITE_CURVE('',(#5372,#5375,#5381,#5387,#5393,#5395),.F.); -#5366=CARTESIAN_POINT('',(-304796.0,4359909.0)); -#5367=CARTESIAN_POINT('',(-295909.0,4368796.0)); -#5368=CARTESIAN_POINT('',(-295909.0,4359909.0)); -#5369=AXIS2_PLACEMENT_2D('',#5368,$); -#5370=CIRCLE('',#5369,8887.0); -#5371=TRIMMED_CURVE('',#5370,(#5366),(#5367),.F.,.CARTESIAN.); -#5372=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5371); -#5373=POLYLINE('',(#5367,#5374)); -#5374=CARTESIAN_POINT('',(-134690.0,4368796.0)); -#5375=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5373); -#5376=CARTESIAN_POINT('',(-131008.0,4351820.0)); -#5377=CARTESIAN_POINT('',(-134689.93992185243,4359908.7103680335)); -#5378=AXIS2_PLACEMENT_2D('',#5377,$); -#5379=CIRCLE('',#5378,8887.289632169408); -#5380=TRIMMED_CURVE('',#5379,(#5374),(#5376),.F.,.CARTESIAN.); -#5381=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5380); -#5382=CARTESIAN_POINT('',(-287820.0,4195008.0)); -#5383=CARTESIAN_POINT('',(0.5085567237983923,4063999.4914432764)); -#5384=AXIS2_PLACEMENT_2D('',#5383,$); -#5385=CIRCLE('',#5384,316233.892016824); -#5386=TRIMMED_CURVE('',#5385,(#5376),(#5382),.T.,.CARTESIAN.); -#5387=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5386); -#5388=CARTESIAN_POINT('',(-304796.0,4198690.0)); -#5389=CARTESIAN_POINT('',(-295908.7103680337,4198689.939921852)); -#5390=AXIS2_PLACEMENT_2D('',#5389,$); -#5391=CIRCLE('',#5390,8887.289632169408); -#5392=TRIMMED_CURVE('',#5391,(#5382),(#5388),.F.,.CARTESIAN.); -#5393=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5392); -#5394=POLYLINE('',(#5388,#5366)); -#5395=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5394); -#5396=AREA_WITH_OUTER_BOUNDARY('',#5365,.F.); -#5397=CONNECTED_AREA_COMPONENT('CU123',$,#322,#4,'CU123','definition usage',$,#326, - *,'',$,*); -#5398=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU123','',$,#223,#326,'CU123', - '',$,#5397,*); -#5399=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5400),#225); -#5400=CSG_PRIMITIVE_SOLID_2D('',#5404); -#5401=POLYLINE('centreline',(#5402,#5403)); -#5402=CARTESIAN_POINT('',(3145939.0,1739109.0)); -#5403=CARTESIAN_POINT('',(3136218.0,1695652.0)); -#5404=PATH_AREA_WITH_PARAMETERS('',#18703,#5401); -#5405=CONNECTED_AREA_COMPONENT('CU64',$,#322,#4,'CU64','definition usage',$,#326, - *,'',$,*); -#5406=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU64','',$,#223,#326,'CU64','', - $,#5405,*); -#5407=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5408),#225); -#5408=CSG_PRIMITIVE_SOLID_2D('',#5412); -#5409=POLYLINE('centreline',(#5410,#5411)); -#5410=CARTESIAN_POINT('',(542871.0,1669901.0)); -#5411=CARTESIAN_POINT('',(533150.0,1713358.0)); -#5412=PATH_AREA_WITH_PARAMETERS('',#18703,#5409); -#5413=CONNECTED_AREA_COMPONENT('CU32',$,#322,#4,'CU32','definition usage',$,#326, - *,'',$,*); -#5414=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU32','',$,#223,#326,'CU32','', - $,#5413,*); -#5415=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5416),#225); -#5416=CSG_PRIMITIVE_SOLID_2D('',#5418); -#5417=POLYLINE('centreline',(#4797,#5198)); -#5418=PATH_AREA_WITH_PARAMETERS('',#18703,#5417); -#5419=CONNECTED_AREA_COMPONENT('CU40',$,#322,#4,'CU40','definition usage',$,#326, - *,'',$,*); -#5420=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU40','',$,#223,#326,'CU40','', - $,#5419,*); -#5421=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5422),#225); -#5422=CSG_PRIMITIVE_SOLID_2D('',#5426); -#5423=POLYLINE('centreline',(#5424,#5425)); -#5424=CARTESIAN_POINT('',(642871.0,2039947.0)); -#5425=CARTESIAN_POINT('',(603431.0,2018178.0)); -#5426=PATH_AREA_WITH_PARAMETERS('',#18702,#5423); -#5427=CONNECTED_AREA_COMPONENT('CU8',$,#322,#4,'CU8','definition usage',$,#326,*, - '',$,*); -#5428=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU8','',$,#223,#326,'CU8','', - $,#5427,*); -#5429=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5430),#225); -#5430=CSG_PRIMITIVE_SOLID_2D('',#5440); -#5431=COMPOSITE_CURVE('',(#4826,#5433,#4835,#5435,#4844,#5437,#4853,#5439),.F.); -#5432=POLYLINE('',(#4821,#4828)); -#5433=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5432); -#5434=POLYLINE('',(#4830,#4837)); -#5435=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5434); -#5436=POLYLINE('',(#4839,#4846)); -#5437=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5436); -#5438=POLYLINE('',(#4848,#4820)); -#5439=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5438); -#5440=(AREA_WITH_OUTER_BOUNDARY()COMPLEX_AREA()COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4857,#4858,#4859,#4861,#5442,#5008,#5444,#5042,#5044,#5045,#5047,#5446,#5111, - #5113,#5115,#5116,#5448,#5180,#5182,#5183,#5184,#5185))) - GEOMETRIC_REPRESENTATION_ITEM()HALF_SPACE_2D(#5431,.F.)PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#5441=COMPOSITE_CURVE('',(#4869,#4875,#4878,#4884,#4890,#4896,#4902,#4908,#4914, - #4920,#4926,#4932,#4938,#4944,#4947,#4953,#4959,#4965,#4971,#4977,#4983,#4989, - #4995,#5001,#5006),.F.); -#5442=AREA_WITH_OUTER_BOUNDARY('',#5441,.T.); -#5443=COMPOSITE_CURVE('',(#5017,#5023,#5026,#5032,#5038,#5040),.F.); -#5444=AREA_WITH_OUTER_BOUNDARY('',#5443,.T.); -#5445=COMPOSITE_CURVE('',(#5056,#5062,#5068,#5074,#5077,#5083,#5089,#5095,#5101, - #5107,#5109),.F.); -#5446=AREA_WITH_OUTER_BOUNDARY('',#5445,.T.); -#5447=COMPOSITE_CURVE('',(#5125,#5131,#5137,#5143,#5149,#5155,#5161,#5167,#5173, - #5178),.F.); -#5448=AREA_WITH_OUTER_BOUNDARY('',#5447,.T.); -#5449=CONNECTED_AREA_COMPONENT('CU116',$,#322,#4,'CU116','definition usage',$,#326, - *,'',$,*); -#5450=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU116','',$,#223,#326,'CU116', - '',$,#5449,*); -#5451=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5452),#225); -#5452=CSG_PRIMITIVE_SOLID_2D('',#5462); -#5453=COMPOSITE_CURVE('',(#4115,#4121,#4127,#4133,#5455,#4142,#4148,#4154,#4160, - #5457,#4169,#4175,#4178,#4184,#5459,#4193,#4199,#4205,#4211,#5461),.F.); -#5454=POLYLINE('',(#4128,#4135)); -#5455=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5454); -#5456=POLYLINE('',(#4155,#4162)); -#5457=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5456); -#5458=POLYLINE('',(#4179,#4186)); -#5459=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5458); -#5460=POLYLINE('',(#4206,#4109)); -#5461=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5460); -#5462=(AREA_WITH_OUTER_BOUNDARY()COMPLEX_AREA()COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4215,#4217,#5493,#5525,#5668,#5670,#5671,#5703,#4711))) - GEOMETRIC_REPRESENTATION_ITEM()HALF_SPACE_2D(#5453,.F.)PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#5463=COMPOSITE_CURVE('',(#4225,#5469,#5475,#5481,#5487,#5492,#4414,#4420,#4426, - #4432,#4438,#4443),.F.); -#5464=CARTESIAN_POINT('',(3219593.0,1848007.0)); -#5465=CARTESIAN_POINT('',(3110916.0274360473,1704085.9993426497)); -#5466=AXIS2_PLACEMENT_2D('',#5465,$); -#5467=CIRCLE('',#5466,180343.94582541205); -#5468=TRIMMED_CURVE('',#5467,(#4220),(#5464),.T.,.CARTESIAN.); -#5469=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5468); -#5470=CARTESIAN_POINT('',(3219593.0,1860165.0)); -#5471=CARTESIAN_POINT('',(3224183.0023951004,1854086.0)); -#5472=AXIS2_PLACEMENT_2D('',#5471,$); -#5473=CIRCLE('',#5472,7617.241166395418); -#5474=TRIMMED_CURVE('',#5473,(#5464),(#5470),.F.,.CARTESIAN.); -#5475=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5474); -#5476=CARTESIAN_POINT('',(3014968.0,2156788.0)); -#5477=CARTESIAN_POINT('',(3110916.076487569,2004086.0105193083)); -#5478=AXIS2_PLACEMENT_2D('',#5477,$); -#5479=CIRCLE('',#5478,180343.9241367051); -#5480=TRIMMED_CURVE('',#5479,(#5470),(#5476),.T.,.CARTESIAN.); -#5481=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5480); -#5482=CARTESIAN_POINT('',(3006864.0,2156788.0)); -#5483=CARTESIAN_POINT('',(3010916.0,2163237.9997336473)); -#5484=AXIS2_PLACEMENT_2D('',#5483,$); -#5485=CIRCLE('',#5484,7617.164863914483); -#5486=TRIMMED_CURVE('',#5485,(#5476),(#5482),.F.,.CARTESIAN.); -#5487=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5486); -#5488=CARTESIAN_POINT('',(2910915.9703248017,2004085.9978282924)); -#5489=AXIS2_PLACEMENT_2D('',#5488,$); -#5490=CIRCLE('',#5489,180343.90997702384); -#5491=TRIMMED_CURVE('',#5490,(#5482),(#4403),.T.,.CARTESIAN.); -#5492=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5491); -#5493=AREA_WITH_OUTER_BOUNDARY('',#5463,.T.); -#5494=COMPOSITE_CURVE('',(#5501,#5507,#5510,#5516,#5522,#5524),.F.); -#5495=CARTESIAN_POINT('',(3681467.0,1884364.0)); -#5496=CARTESIAN_POINT('',(3673362.0,1892469.0)); -#5497=CARTESIAN_POINT('',(3680962.000048126,1891964.000048126)); -#5498=AXIS2_PLACEMENT_2D('',#5497,$); -#5499=CIRCLE('',#5498,7616.759526393735); -#5500=TRIMMED_CURVE('',#5499,(#5495),(#5496),.F.,.CARTESIAN.); -#5501=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5500); -#5502=CARTESIAN_POINT('',(3365891.561645275,2031938.438354725)); -#5503=CARTESIAN_POINT('',(3493414.0771302073,1904415.9228697927)); -#5504=AXIS2_PLACEMENT_2D('',#5503,$); -#5505=CIRCLE('',#5504,180344.07090672434); -#5506=TRIMMED_CURVE('',#5505,(#5496),(#5502),.T.,.CARTESIAN.); -#5507=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5506); -#5508=CARTESIAN_POINT('',(3505361.0,1724468.0)); -#5509=TRIMMED_CURVE('',#5505,(#5502),(#5508),.T.,.CARTESIAN.); -#5510=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5509); -#5511=CARTESIAN_POINT('',(3513466.0,1716363.0)); -#5512=CARTESIAN_POINT('',(3505865.999951874,1716867.999951874)); -#5513=AXIS2_PLACEMENT_2D('',#5512,$); -#5514=CIRCLE('',#5513,7616.759526393735); -#5515=TRIMMED_CURVE('',#5514,(#5508),(#5511),.F.,.CARTESIAN.); -#5516=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5515); -#5517=CARTESIAN_POINT('',(3820936.438354725,1576893.561645275)); -#5518=CARTESIAN_POINT('',(3693413.9228697927,1704416.0771302073)); -#5519=AXIS2_PLACEMENT_2D('',#5518,$); -#5520=CIRCLE('',#5519,180344.07090672434); -#5521=TRIMMED_CURVE('',#5520,(#5511),(#5517),.T.,.CARTESIAN.); -#5522=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5521); -#5523=TRIMMED_CURVE('',#5520,(#5517),(#5495),.T.,.CARTESIAN.); -#5524=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5523); -#5525=AREA_WITH_OUTER_BOUNDARY('',#5494,.T.); -#5526=COMPOSITE_CURVE('',(#4452,#5532,#5538,#5541,#5547,#5552,#4476,#5558,#5564, - #5567,#5573,#5579,#5585,#5591,#5597,#5603,#5609,#5615,#5621,#5627,#5633,#5638, - #4554,#4560,#4566,#5644,#5650,#5656,#5662,#5667,#4590,#4596,#4602,#4607),.F.); -#5527=CARTESIAN_POINT('',(766331.0,1618860.0)); -#5528=CARTESIAN_POINT('',(607847.8701575446,1704923.9464968194)); -#5529=AXIS2_PLACEMENT_2D('',#5528,$); -#5530=CIRCLE('',#5529,180343.85304541973); -#5531=TRIMMED_CURVE('',#5530,(#4447),(#5527),.T.,.CARTESIAN.); -#5532=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5531); -#5533=CARTESIAN_POINT('',(766338.0,1618872.0)); -#5534=CARTESIAN_POINT('',(772916.8594250538,1615026.2903353854)); -#5535=AXIS2_PLACEMENT_2D('',#5534,$); -#5536=CIRCLE('',#5535,7620.424801750233); -#5537=TRIMMED_CURVE('',#5536,(#5527),(#5533),.F.,.CARTESIAN.); -#5538=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5537); -#5539=POLYLINE('',(#5533,#5540)); -#5540=CARTESIAN_POINT('',(767564.0,1621120.0)); -#5541=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5539); -#5542=CARTESIAN_POINT('',(774852.0,1625066.0)); -#5543=CARTESIAN_POINT('',(774250.9085391547,1617472.949966204)); -#5544=AXIS2_PLACEMENT_2D('',#5543,$); -#5545=CIRCLE('',#5544,7616.8050887514955); -#5546=TRIMMED_CURVE('',#5545,(#5540),(#5542),.F.,.CARTESIAN.); -#5547=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5546); -#5548=CARTESIAN_POINT('',(789076.042254823,1804848.0284719523)); -#5549=AXIS2_PLACEMENT_2D('',#5548,$); -#5550=CIRCLE('',#5549,180343.8414239778); -#5551=TRIMMED_CURVE('',#5550,(#5542),(#4465),.T.,.CARTESIAN.); -#5552=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5551); -#5553=CARTESIAN_POINT('',(875140.0,2163331.0)); -#5554=CARTESIAN_POINT('',(789076.0172061368,2004847.9138669523)); -#5555=AXIS2_PLACEMENT_2D('',#5554,$); -#5556=CIRCLE('',#5555,180343.8319560649); -#5557=TRIMMED_CURVE('',#5556,(#4471),(#5553),.T.,.CARTESIAN.); -#5558=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5557); -#5559=CARTESIAN_POINT('',(875127.0,2163339.0)); -#5560=CARTESIAN_POINT('',(879131.1319702958,2169831.1519517307)); -#5561=AXIS2_PLACEMENT_2D('',#5560,$); -#5562=CIRCLE('',#5561,7627.654278997369); -#5563=TRIMMED_CURVE('',#5562,(#5553),(#5559),.F.,.CARTESIAN.); -#5564=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5563); -#5565=POLYLINE('',(#5559,#5566)); -#5566=CARTESIAN_POINT('',(857690.0,2172853.0)); -#5567=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5565); -#5568=CARTESIAN_POINT('',(856431.0,2173713.0)); -#5569=CARTESIAN_POINT('',(861335.1784049454,2179540.9303625887)); -#5570=AXIS2_PLACEMENT_2D('',#5569,$); -#5571=CIRCLE('',#5570,7616.806295207684); -#5572=TRIMMED_CURVE('',#5571,(#5566),(#5568),.F.,.CARTESIAN.); -#5573=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5572); -#5574=CARTESIAN_POINT('',(700756.0,2206209.0)); -#5575=CARTESIAN_POINT('',(748435.8431453601,2045488.0423791835)); -#5576=AXIS2_PLACEMENT_2D('',#5575,$); -#5577=CIRCLE('',#5576,167644.24732426245); -#5578=TRIMMED_CURVE('',#5577,(#5568),(#5574),.T.,.CARTESIAN.); -#5579=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5578); -#5580=CARTESIAN_POINT('',(696413.0,2206212.0)); -#5581=CARTESIAN_POINT('',(698589.5429431775,2213511.0007400545)); -#5582=AXIS2_PLACEMENT_2D('',#5581,$); -#5583=CIRCLE('',#5582,7616.610203155554); -#5584=TRIMMED_CURVE('',#5583,(#5574),(#5580),.F.,.CARTESIAN.); -#5585=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5584); -#5586=CARTESIAN_POINT('',(600661.0,2206241.0)); -#5587=CARTESIAN_POINT('',(648488.3408341061,2045564.001631827)); -#5588=AXIS2_PLACEMENT_2D('',#5587,$); -#5589=CIRCLE('',#5588,167644.1240719983); -#5590=TRIMMED_CURVE('',#5589,(#5580),(#5586),.T.,.CARTESIAN.); -#5591=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5590); -#5592=CARTESIAN_POINT('',(596315.0,2206241.0)); -#5593=CARTESIAN_POINT('',(598488.0,2213540.9997288184)); -#5594=AXIS2_PLACEMENT_2D('',#5593,$); -#5595=CIRCLE('',#5594,7616.555982906692); -#5596=TRIMMED_CURVE('',#5595,(#5586),(#5592),.F.,.CARTESIAN.); -#5597=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5596); -#5598=CARTESIAN_POINT('',(522935.0,2211249.0)); -#5599=CARTESIAN_POINT('',(548488.3073055926,2045563.9876366581)); -#5600=AXIS2_PLACEMENT_2D('',#5599,$); -#5601=CIRCLE('',#5600,167643.9525783581); -#5602=TRIMMED_CURVE('',#5601,(#5592),(#5598),.T.,.CARTESIAN.); -#5603=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5602); -#5604=CARTESIAN_POINT('',(514246.0,2219939.0)); -#5605=CARTESIAN_POINT('',(521773.9319316769,2218777.0655988883)); -#5606=AXIS2_PLACEMENT_2D('',#5605,$); -#5607=CIRCLE('',#5606,7617.076258017076); -#5608=TRIMMED_CURVE('',#5607,(#5598),(#5604),.F.,.CARTESIAN.); -#5609=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5608); -#5610=CARTESIAN_POINT('',(509241.0,2293339.0)); -#5611=CARTESIAN_POINT('',(348563.98867005936,2245512.113702911)); -#5612=AXIS2_PLACEMENT_2D('',#5611,$); -#5613=CIRCLE('',#5612,167644.00682039483); -#5614=TRIMMED_CURVE('',#5613,(#5604),(#5610),.T.,.CARTESIAN.); -#5615=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5614); -#5616=CARTESIAN_POINT('',(509241.0,2297685.0)); -#5617=CARTESIAN_POINT('',(516540.9997288186,2295512.0)); -#5618=AXIS2_PLACEMENT_2D('',#5617,$); -#5619=CIRCLE('',#5618,7616.555982906692); -#5620=TRIMMED_CURVE('',#5619,(#5610),(#5616),.F.,.CARTESIAN.); -#5621=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5620); -#5622=CARTESIAN_POINT('',(474562.0,2456097.0)); -#5623=CARTESIAN_POINT('',(348564.00174578343,2345512.057104525)); -#5624=AXIS2_PLACEMENT_2D('',#5623,$); -#5625=CIRCLE('',#5624,167644.04301753468); -#5626=TRIMMED_CURVE('',#5625,(#5616),(#5622),.T.,.CARTESIAN.); -#5627=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5626); -#5628=CARTESIAN_POINT('',(473302.0,2458083.0)); -#5629=CARTESIAN_POINT('',(480286.6067570845,2461121.6236223197)); -#5630=AXIS2_PLACEMENT_2D('',#5629,$); -#5631=CIRCLE('',#5630,7616.952479123698); -#5632=TRIMMED_CURVE('',#5631,(#5622),(#5628),.F.,.CARTESIAN.); -#5633=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5632); -#5634=CARTESIAN_POINT('',(307924.0331772859,2386151.969742449)); -#5635=AXIS2_PLACEMENT_2D('',#5634,$); -#5636=CIRCLE('',#5635,180343.96309366004); -#5637=TRIMMED_CURVE('',#5636,(#5628),(#4543),.T.,.CARTESIAN.); -#5638=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5637); -#5639=CARTESIAN_POINT('',(235993.0,2020774.0)); -#5640=CARTESIAN_POINT('',(307924.0032658827,2186151.9658139716)); -#5641=AXIS2_PLACEMENT_2D('',#5640,$); -#5642=CIRCLE('',#5641,180343.95140287778); -#5643=TRIMMED_CURVE('',#5642,(#4561),(#5639),.T.,.CARTESIAN.); -#5644=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5643); -#5645=CARTESIAN_POINT('',(237979.0,2019514.0)); -#5646=CARTESIAN_POINT('',(232954.3763776805,2013789.3932429154)); -#5647=AXIS2_PLACEMENT_2D('',#5646,$); -#5648=CIRCLE('',#5647,7616.952479123698); -#5649=TRIMMED_CURVE('',#5648,(#5639),(#5645),.F.,.CARTESIAN.); -#5650=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5649); -#5651=CARTESIAN_POINT('',(323886.0,1979694.0)); -#5652=CARTESIAN_POINT('',(348564.359337508,2145511.83877718)); -#5653=AXIS2_PLACEMENT_2D('',#5652,$); -#5654=CIRCLE('',#5653,167644.19786060584); -#5655=TRIMMED_CURVE('',#5654,(#5645),(#5651),.T.,.CARTESIAN.); -#5656=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5655); -#5657=CARTESIAN_POINT('',(330265.0,1973488.0)); -#5658=CARTESIAN_POINT('',(322764.83027274214,1972160.1649709672)); -#5659=AXIS2_PLACEMENT_2D('',#5658,$); -#5660=CIRCLE('',#5659,7616.80325346543); -#5661=TRIMMED_CURVE('',#5660,(#5651),(#5657),.F.,.CARTESIAN.); -#5662=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5661); -#5663=CARTESIAN_POINT('',(507847.94014724955,2004924.2160376268)); -#5664=AXIS2_PLACEMENT_2D('',#5663,$); -#5665=CIRCLE('',#5664,180343.9389336552); -#5666=TRIMMED_CURVE('',#5665,(#5657),(#4579),.T.,.CARTESIAN.); -#5667=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5666); -#5668=AREA_WITH_OUTER_BOUNDARY('',#5526,.T.); -#5669=COMPOSITE_CURVE('',(#4616,#4622,#4628,#4634,#4640,#4646,#4652,#4657),.F.); -#5670=AREA_WITH_OUTER_BOUNDARY('',#5669,.T.); -#5671=CIRCULAR_AREA('',#5181,180344.0); -#5672=COMPOSITE_CURVE('',(#5679,#5685,#5691,#5697,#5702),.F.); -#5673=CARTESIAN_POINT('',(1159097.0,2319438.0)); -#5674=CARTESIAN_POINT('',(1161083.0,2320698.0)); -#5675=CARTESIAN_POINT('',(1164121.6236223194,2313713.3932429156)); -#5676=AXIS2_PLACEMENT_2D('',#5675,$); -#5677=CIRCLE('',#5676,7616.952479123698); -#5678=TRIMMED_CURVE('',#5677,(#5673),(#5674),.F.,.CARTESIAN.); -#5679=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5678); -#5680=CARTESIAN_POINT('',(1216674.4008850476,2613598.4008850474)); -#5681=CARTESIAN_POINT('',(1089151.9624237553,2486075.9624237553)); -#5682=AXIS2_PLACEMENT_2D('',#5681,$); -#5683=CIRCLE('',#5682,180343.96197884786); -#5684=TRIMMED_CURVE('',#5683,(#5674),(#5680),.T.,.CARTESIAN.); -#5685=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5684); -#5686=CARTESIAN_POINT('',(923774.0,2558007.0)); -#5687=CARTESIAN_POINT('',(1089151.962423755,2486075.9624237553)); -#5688=AXIS2_PLACEMENT_2D('',#5687,$); -#5689=CIRCLE('',#5688,180343.96197884795); -#5690=TRIMMED_CURVE('',#5689,(#5680),(#5686),.T.,.CARTESIAN.); -#5691=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5690); -#5692=CARTESIAN_POINT('',(922514.0,2556021.0)); -#5693=CARTESIAN_POINT('',(916789.3932429155,2561045.6236223197)); -#5694=AXIS2_PLACEMENT_2D('',#5693,$); -#5695=CIRCLE('',#5694,7616.952479123698); -#5696=TRIMMED_CURVE('',#5695,(#5686),(#5692),.F.,.CARTESIAN.); -#5697=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5696); -#5698=CARTESIAN_POINT('',(1048511.9795401933,2445435.9795401935)); -#5699=AXIS2_PLACEMENT_2D('',#5698,$); -#5700=CIRCLE('',#5699,167644.08011709462); -#5701=TRIMMED_CURVE('',#5700,(#5692),(#5673),.T.,.CARTESIAN.); -#5702=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5701); -#5703=AREA_WITH_OUTER_BOUNDARY('',#5672,.T.); -#5704=CONNECTED_AREA_COMPONENT('CU110',$,#322,#4,'CU110','definition usage',$,#326, - *,'',$,*); -#5705=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU110','',$,#223,#326,'CU110', - '',$,#5704,*); -#5706=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5707),#225); -#5707=CSG_PRIMITIVE_SOLID_2D('',#5708); -#5708=POLYGONAL_AREA('',(#5709,#5710,#5711)); -#5709=CARTESIAN_POINT('',(3458455.0,1939121.0)); -#5710=CARTESIAN_POINT('',(3497648.0,1917371.0)); -#5711=CARTESIAN_POINT('',(3480205.0,1899928.0)); -#5712=CONNECTED_AREA_COMPONENT('CU84',$,#322,#4,'CU84','definition usage',$,#326, - *,'',$,*); -#5713=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU84','',$,#223,#326,'CU84','', - $,#5712,*); -#5714=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5715),#225); -#5715=CSG_PRIMITIVE_SOLID_2D('',#5719); -#5716=POLYLINE('centreline',(#5717,#5718)); -#5717=CARTESIAN_POINT('',(2975893.0,1669063.0)); -#5718=CARTESIAN_POINT('',(2985614.0,1712520.0)); -#5719=PATH_AREA_WITH_PARAMETERS('',#18703,#5716); -#5720=CONNECTED_AREA_COMPONENT('CU34',$,#322,#4,'CU34','definition usage',$,#326, - *,'',$,*); -#5721=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU34','',$,#223,#326,'CU34','', - $,#5720,*); -#5722=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5723),#225); -#5723=CSG_PRIMITIVE_SOLID_2D('',#5727); -#5724=POLYLINE('centreline',(#5725,#5726)); -#5725=CARTESIAN_POINT('',(642871.0,1969901.0)); -#5726=CARTESIAN_POINT('',(599414.0,1979622.0)); -#5727=PATH_AREA_WITH_PARAMETERS('',#18703,#5724); -#5728=CONNECTED_AREA_COMPONENT('CU37',$,#322,#4,'CU37','definition usage',$,#326, - *,'',$,*); -#5729=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU37','',$,#223,#326,'CU37','', - $,#5728,*); -#5730=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5731),#225); -#5731=CSG_PRIMITIVE_SOLID_2D('',#5733); -#5732=POLYLINE('centreline',(#4094,#4096)); -#5733=PATH_AREA_WITH_PARAMETERS('',#18703,#5732); -#5734=CONNECTED_AREA_COMPONENT('CU59',$,#322,#4,'CU59','definition usage',$,#326, - *,'',$,*); -#5735=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU59','',$,#223,#326,'CU59','', - $,#5734,*); -#5736=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5737),#225); -#5737=CSG_PRIMITIVE_SOLID_2D('',#5739); -#5738=POLYLINE('centreline',(#5709,#5711)); -#5739=PATH_AREA_WITH_PARAMETERS('',#18702,#5738); -#5740=CONNECTED_AREA_COMPONENT('CU83',$,#322,#4,'CU83','definition usage',$,#326, - *,'',$,*); -#5741=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU83','',$,#223,#326,'CU83','', - $,#5740,*); -#5742=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5743),#225); -#5743=CSG_PRIMITIVE_SOLID_2D('',#5745); -#5744=CIRCULAR_AREA('',#70,381000.0); -#5745=(CIRCULAR_AREA(#70,381000.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#5746)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#5746=CIRCULAR_AREA('',#70,189234.0); -#5747=CONNECTED_AREA_COMPONENT('CU100',$,#322,#4,'CU100','definition usage',$,#326, - *,'',$,*); -#5748=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU100','',$,#223,#326,'CU100', - '',$,#5747,*); -#5749=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5750),#225); -#5750=CSG_PRIMITIVE_SOLID_2D('',#5751); -#5751=POLYGONAL_AREA('',(#5752,#5753,#5754)); -#5752=CARTESIAN_POINT('',(1649730.0,2159000.0)); -#5753=CARTESIAN_POINT('',(1698029.0,2191942.0)); -#5754=CARTESIAN_POINT('',(1698029.0,2126058.0)); -#5755=CONNECTED_AREA_COMPONENT('CU45',$,#322,#4,'CU45','definition usage',$,#326, - *,'',$,*); -#5756=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU45','',$,#223,#326,'CU45','', - $,#5755,*); -#5757=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5758),#225); -#5758=CSG_PRIMITIVE_SOLID_2D('',#5759); -#5759=POLYGONAL_AREA('',(#5760,#5761,#5762)); -#5760=CARTESIAN_POINT('',(657378.0,1704924.0)); -#5761=CARTESIAN_POINT('',(619775.0,1681070.0)); -#5762=CARTESIAN_POINT('',(619775.0,1728778.0)); -#5763=CONNECTED_AREA_COMPONENT('CU63',$,#322,#4,'CU63','definition usage',$,#326, - *,'',$,*); -#5764=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU63','',$,#223,#326,'CU63','', - $,#5763,*); -#5765=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5766),#225); -#5766=CSG_PRIMITIVE_SOLID_2D('',#5769); -#5767=POLYLINE('centreline',(#4094,#5768)); -#5768=CARTESIAN_POINT('',(521102.0,2000507.0)); -#5769=PATH_AREA_WITH_PARAMETERS('',#18702,#5767); -#5770=CONNECTED_AREA_COMPONENT('CU1',$,#322,#4,'CU1','definition usage',$,#326,*, - '',$,*); -#5771=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU1','',$,#223,#326,'CU1','', - $,#5770,*); -#5772=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5773),#225); -#5773=CSG_PRIMITIVE_SOLID_2D('',#5776); -#5774=POLYLINE('centreline',(#5424,#5775)); -#5775=CARTESIAN_POINT('',(621102.0,2000507.0)); -#5776=PATH_AREA_WITH_PARAMETERS('',#18702,#5774); -#5777=CONNECTED_AREA_COMPONENT('CU7',$,#322,#4,'CU7','definition usage',$,#326,*, - '',$,*); -#5778=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU7','',$,#223,#326,'CU7','', - $,#5777,*); -#5779=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5780),#225); -#5780=CSG_PRIMITIVE_SOLID_2D('',#5782); -#5781=POLYLINE('centreline',(#5760,#5761)); -#5782=PATH_AREA_WITH_PARAMETERS('',#18703,#5781); -#5783=CONNECTED_AREA_COMPONENT('CU61',$,#322,#4,'CU61','definition usage',$,#326, - *,'',$,*); -#5784=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU61','',$,#223,#326,'CU61','', - $,#5783,*); -#5785=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5786),#225); -#5786=CSG_PRIMITIVE_SOLID_2D('',#5790); -#5787=POLYLINE('centreline',(#5788,#5789)); -#5788=CARTESIAN_POINT('',(2033270.0,1905000.0)); -#5789=CARTESIAN_POINT('',(1984971.0,1937942.0)); -#5790=PATH_AREA_WITH_PARAMETERS('',#18703,#5787); -#5791=CONNECTED_AREA_COMPONENT('CU53',$,#322,#4,'CU53','definition usage',$,#326, - *,'',$,*); -#5792=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU53','',$,#223,#326,'CU53','', - $,#5791,*); -#5793=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5794),#225); -#5794=CSG_PRIMITIVE_SOLID_2D('',#5796); -#5795=POLYLINE('centreline',(#4094,#4095)); -#5796=PATH_AREA_WITH_PARAMETERS('',#18703,#5795); -#5797=CONNECTED_AREA_COMPONENT('CU58',$,#322,#4,'CU58','definition usage',$,#326, - *,'',$,*); -#5798=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU58','',$,#223,#326,'CU58','', - $,#5797,*); -#5799=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5800),#225); -#5800=CSG_PRIMITIVE_SOLID_2D('',#5802); -#5801=POLYLINE('centreline',(#5752,#5754)); -#5802=PATH_AREA_WITH_PARAMETERS('',#18703,#5801); -#5803=CONNECTED_AREA_COMPONENT('CU44',$,#322,#4,'CU44','definition usage',$,#326, - *,'',$,*); -#5804=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU44','',$,#223,#326,'CU44','', - $,#5803,*); -#5805=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5806),#225); -#5806=CSG_PRIMITIVE_SOLID_2D('',#5810); -#5807=POLYLINE('centreline',(#5808,#5809)); -#5808=CARTESIAN_POINT('',(542871.0,1739947.0)); -#5809=CARTESIAN_POINT('',(521102.0,1700507.0)); -#5810=PATH_AREA_WITH_PARAMETERS('',#18702,#5807); -#5811=CONNECTED_AREA_COMPONENT('CU4',$,#322,#4,'CU4','definition usage',$,#326,*, - '',$,*); -#5812=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU4','',$,#223,#326,'CU4','', - $,#5811,*); -#5813=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5814),#225); -#5814=CSG_PRIMITIVE_SOLID_2D('',#5816); -#5815=POLYLINE('centreline',(#5353,#5354)); -#5816=PATH_AREA_WITH_PARAMETERS('',#18702,#5815); -#5817=CONNECTED_AREA_COMPONENT('CU88',$,#322,#4,'CU88','definition usage',$,#326, - *,'',$,*); -#5818=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU88','',$,#223,#326,'CU88','', - $,#5817,*); -#5819=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5820),#225); -#5820=CSG_PRIMITIVE_SOLID_2D('',#5826); -#5821=COMPOSITE_CURVE('',(#5372,#5823,#5381,#5387,#5393,#5825),.F.); -#5822=POLYLINE('',(#5367,#5374)); -#5823=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5822); -#5824=POLYLINE('',(#5388,#5366)); -#5825=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5824); -#5826=AREA_WITH_OUTER_BOUNDARY('',#5821,.F.); -#5827=CONNECTED_AREA_COMPONENT('CU105',$,#322,#4,'CU105','definition usage',$,#326, - *,'',$,*); -#5828=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU105','',$,#223,#326,'CU105', - '',$,#5827,*); -#5829=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5830),#225); -#5830=CSG_PRIMITIVE_SOLID_2D('',#5834); -#5831=POLYLINE('centreline',(#5832,#5833)); -#5832=CARTESIAN_POINT('',(3145621.0,2039045.0)); -#5833=CARTESIAN_POINT('',(3123871.0,1999852.0)); -#5834=PATH_AREA_WITH_PARAMETERS('',#18702,#5831); -#5835=CONNECTED_AREA_COMPONENT('CU79',$,#322,#4,'CU79','definition usage',$,#326, - *,'',$,*); -#5836=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU79','',$,#223,#326,'CU79','', - $,#5835,*); -#5837=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5838),#225); -#5838=CSG_PRIMITIVE_SOLID_2D('',#5841); -#5839=POLYLINE('centreline',(#5808,#5840)); -#5840=CARTESIAN_POINT('',(503431.0,1718178.0)); -#5841=PATH_AREA_WITH_PARAMETERS('',#18702,#5839); -#5842=CONNECTED_AREA_COMPONENT('CU5',$,#322,#4,'CU5','definition usage',$,#326,*, - '',$,*); -#5843=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU5','',$,#223,#326,'CU5','', - $,#5842,*); -#5844=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5845),#225); -#5845=CSG_PRIMITIVE_SOLID_2D('',#5847); -#5846=POLYLINE('centreline',(#5353,#5355)); -#5847=PATH_AREA_WITH_PARAMETERS('',#18702,#5846); -#5848=CONNECTED_AREA_COMPONENT('CU89',$,#322,#4,'CU89','definition usage',$,#326, - *,'',$,*); -#5849=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU89','',$,#223,#326,'CU89','', - $,#5848,*); -#5850=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5851),#225); -#5851=CSG_PRIMITIVE_SOLID_2D('',#5853); -#5852=CIRCULAR_AREA('',#3988,381000.0); -#5853=(CIRCULAR_AREA(#3988,381000.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#5854)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#5854=CIRCULAR_AREA('',#3991,189234.0); -#5855=CONNECTED_AREA_COMPONENT('CU120',$,#322,#4,'CU120','definition usage',$,#326, - *,'',$,*); -#5856=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU120','',$,#223,#326,'CU120', - '',$,#5855,*); -#5857=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5858),#225); -#5858=CSG_PRIMITIVE_SOLID_2D('',#5861); -#5859=POLYLINE('centreline',(#5717,#5860)); -#5860=CARTESIAN_POINT('',(3019350.0,1678784.0)); -#5861=PATH_AREA_WITH_PARAMETERS('',#18703,#5859); -#5862=CONNECTED_AREA_COMPONENT('CU35',$,#322,#4,'CU35','definition usage',$,#326, - *,'',$,*); -#5863=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU35','',$,#223,#326,'CU35','', - $,#5862,*); -#5864=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5865),#225); -#5865=CSG_PRIMITIVE_SOLID_2D('',#5868); -#5866=POLYLINE('centreline',(#5725,#5867)); -#5867=CARTESIAN_POINT('',(633150.0,2013358.0)); -#5868=PATH_AREA_WITH_PARAMETERS('',#18703,#5866); -#5869=CONNECTED_AREA_COMPONENT('CU38',$,#322,#4,'CU38','definition usage',$,#326, - *,'',$,*); -#5870=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU38','',$,#223,#326,'CU38','', - $,#5869,*); -#5871=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5872),#225); -#5872=CSG_PRIMITIVE_SOLID_2D('',#5873); -#5873=(CIRCULAR_AREA(#70,381000.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#5746)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#5874=CONNECTED_AREA_COMPONENT('CU121',$,#322,#4,'CU121','definition usage',$,#326, - *,'',$,*); -#5875=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU121','',$,#223,#326,'CU121', - '',$,#5874,*); -#5876=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5877),#225); -#5877=CSG_PRIMITIVE_SOLID_2D('',#5912); -#5878=COMPOSITE_CURVE('',(#5885,#5891,#5897,#5903,#5909,#5911),.F.); -#5879=CARTESIAN_POINT('',(134690.0,-304796.0)); -#5880=CARTESIAN_POINT('',(131008.0,-287820.0)); -#5881=CARTESIAN_POINT('',(134689.93992185243,-295908.7103680337)); -#5882=AXIS2_PLACEMENT_2D('',#5881,$); -#5883=CIRCLE('',#5882,8887.289632169408); -#5884=TRIMMED_CURVE('',#5883,(#5879),(#5880),.F.,.CARTESIAN.); -#5885=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5884); -#5886=CARTESIAN_POINT('',(257946.0,-182942.0)); -#5887=CARTESIAN_POINT('',(1.0222475781629328,0.983484972268343)); -#5888=AXIS2_PLACEMENT_2D('',#5887,$); -#5889=CIRCLE('',#5888,316233.69009971124); -#5890=TRIMMED_CURVE('',#5889,(#5880),(#5886),.T.,.CARTESIAN.); -#5891=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5890); -#5892=CARTESIAN_POINT('',(273961.0,-189547.0)); -#5893=CARTESIAN_POINT('',(265195.2184379643,-188083.0888290692)); -#5894=AXIS2_PLACEMENT_2D('',#5893,$); -#5895=CIRCLE('',#5894,8887.179660032834); -#5896=TRIMMED_CURVE('',#5895,(#5886),(#5892),.F.,.CARTESIAN.); -#5897=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5896); -#5898=CARTESIAN_POINT('',(290867.0,-291699.0)); -#5899=CARTESIAN_POINT('',(431799.96935999545,-215899.85020361733)); -#5900=AXIS2_PLACEMENT_2D('',#5899,$); -#5901=CIRCLE('',#5900,160023.78873929929); -#5902=TRIMMED_CURVE('',#5901,(#5892),(#5898),.T.,.CARTESIAN.); -#5903=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5902); -#5904=CARTESIAN_POINT('',(283040.0,-304796.0)); -#5905=CARTESIAN_POINT('',(283040.12249067804,-295908.7960398975)); -#5906=AXIS2_PLACEMENT_2D('',#5905,$); -#5907=CIRCLE('',#5906,8887.203960946674); -#5908=TRIMMED_CURVE('',#5907,(#5898),(#5904),.F.,.CARTESIAN.); -#5909=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5908); -#5910=POLYLINE('',(#5904,#5879)); -#5911=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5910); -#5912=AREA_WITH_OUTER_BOUNDARY('',#5878,.F.); -#5913=CONNECTED_AREA_COMPONENT('CU108',$,#322,#4,'CU108','definition usage',$,#326, - *,'',$,*); -#5914=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU108','',$,#223,#326,'CU108', - '',$,#5913,*); -#5915=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5916),#225); -#5916=CSG_PRIMITIVE_SOLID_2D('',#5920); -#5917=POLYLINE('centreline',(#5918,#5919)); -#5918=CARTESIAN_POINT('',(3045621.0,1839045.0)); -#5919=CARTESIAN_POINT('',(3006428.0,1817295.0)); -#5920=PATH_AREA_WITH_PARAMETERS('',#18702,#5917); -#5921=CONNECTED_AREA_COMPONENT('CU77',$,#322,#4,'CU77','definition usage',$,#326, - *,'',$,*); -#5922=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU77','',$,#223,#326,'CU77','', - $,#5921,*); -#5923=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5924),#225); -#5924=CSG_PRIMITIVE_SOLID_2D('',#5925); -#5925=(CIRCULAR_AREA(#50,381000.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#5192)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#5926=CONNECTED_AREA_COMPONENT('CU119',$,#322,#4,'CU119','definition usage',$,#326, - *,'',$,*); -#5927=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU119','',$,#223,#326,'CU119', - '',$,#5926,*); -#5928=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5929),#225); -#5929=CSG_PRIMITIVE_SOLID_2D('',#5930); -#5930=POLYGONAL_AREA('',(#4094,#5768,#5931)); -#5931=CARTESIAN_POINT('',(503431.0,2018178.0)); -#5932=CONNECTED_AREA_COMPONENT('CU3',$,#322,#4,'CU3','definition usage',$,#326,*, - '',$,*); -#5933=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU3','',$,#223,#326,'CU3','', - $,#5932,*); -#5934=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5935),#225); -#5935=CSG_PRIMITIVE_SOLID_2D('',#5967); -#5936=COMPOSITE_CURVE('',(#5943,#5946,#5952,#5958,#5964,#5966),.F.); -#5937=CARTESIAN_POINT('',(-295909.0,-304796.0)); -#5938=CARTESIAN_POINT('',(-304796.0,-295909.0)); -#5939=CARTESIAN_POINT('',(-295909.0,-295909.0)); -#5940=AXIS2_PLACEMENT_2D('',#5939,$); -#5941=CIRCLE('',#5940,8887.0); -#5942=TRIMMED_CURVE('',#5941,(#5937),(#5938),.F.,.CARTESIAN.); -#5943=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5942); -#5944=POLYLINE('',(#5938,#5945)); -#5945=CARTESIAN_POINT('',(-304796.0,-134690.0)); -#5946=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5944); -#5947=CARTESIAN_POINT('',(-287820.0,-131008.0)); -#5948=CARTESIAN_POINT('',(-295908.7103680337,-134689.93992185243)); -#5949=AXIS2_PLACEMENT_2D('',#5948,$); -#5950=CIRCLE('',#5949,8887.289632169408); -#5951=TRIMMED_CURVE('',#5950,(#5945),(#5947),.F.,.CARTESIAN.); -#5952=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5951); -#5953=CARTESIAN_POINT('',(-131008.0,-287820.0)); -#5954=CARTESIAN_POINT('',(0.5085567237983923,0.5085567237983923)); -#5955=AXIS2_PLACEMENT_2D('',#5954,$); -#5956=CIRCLE('',#5955,316233.892016824); -#5957=TRIMMED_CURVE('',#5956,(#5947),(#5953),.T.,.CARTESIAN.); -#5958=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5957); -#5959=CARTESIAN_POINT('',(-134690.0,-304796.0)); -#5960=CARTESIAN_POINT('',(-134689.93992185243,-295908.7103680337)); -#5961=AXIS2_PLACEMENT_2D('',#5960,$); -#5962=CIRCLE('',#5961,8887.289632169408); -#5963=TRIMMED_CURVE('',#5962,(#5953),(#5959),.F.,.CARTESIAN.); -#5964=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5963); -#5965=POLYLINE('',(#5959,#5937)); -#5966=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5965); -#5967=AREA_WITH_OUTER_BOUNDARY('',#5936,.F.); -#5968=CONNECTED_AREA_COMPONENT('CU107',$,#322,#4,'CU107','definition usage',$,#326, - *,'',$,*); -#5969=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU107','',$,#223,#326,'CU107', - '',$,#5968,*); -#5970=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5971),#225); -#5971=CSG_PRIMITIVE_SOLID_2D('',#5972); -#5972=POLYGONAL_AREA('',(#5410,#5973,#5411)); -#5973=CARTESIAN_POINT('',(499414.0,1679622.0)); -#5974=CONNECTED_AREA_COMPONENT('CU33',$,#322,#4,'CU33','definition usage',$,#326, - *,'',$,*); -#5975=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU33','',$,#223,#326,'CU33','', - $,#5974,*); -#5976=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5977),#225); -#5977=CSG_PRIMITIVE_SOLID_2D('',#5978); -#5978=POLYGONAL_AREA('',(#5725,#5726,#5867)); -#5979=CONNECTED_AREA_COMPONENT('CU39',$,#322,#4,'CU39','definition usage',$,#326, - *,'',$,*); -#5980=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU39','',$,#223,#326,'CU39','', - $,#5979,*); -#5981=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5982),#225); -#5982=CSG_PRIMITIVE_SOLID_2D('',#5983); -#5983=POLYGONAL_AREA('',(#5918,#5984,#5919)); -#5984=CARTESIAN_POINT('',(3023871.0,1799852.0)); -#5985=CONNECTED_AREA_COMPONENT('CU78',$,#322,#4,'CU78','definition usage',$,#326, - *,'',$,*); -#5986=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU78','',$,#223,#326,'CU78','', - $,#5985,*); -#5987=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#5988),#225); -#5988=CSG_PRIMITIVE_SOLID_2D('',#6578); -#5989=COMPOSITE_CURVE('',(#5996,#6002,#6008,#6011,#6017,#6023,#6029,#6035,#6038, - #6044,#6050,#6056,#6062,#6065,#6071,#6077,#6083,#6086,#6092,#6098,#6104,#6107, - #6113,#6119,#6125,#6131,#6134,#6140,#6146,#6152,#6158,#6161,#6167,#6173,#6179, - #6185,#6188,#6194,#6200,#6206,#6209,#6215,#6221,#6227,#6230,#6236,#6242,#6248, - #6254,#6257,#6263,#6269,#6272,#6278,#6281,#6287,#6293,#6299,#6305,#6308,#6314, - #6320,#6326,#6329,#6335,#6341,#6347,#6350,#6356,#6362,#6368,#6374,#6377,#6383, - #6389,#6395,#6401,#6404,#6410,#6416,#6419,#6425,#6428,#6434,#6437,#6443,#6449, - #6452,#6458,#6464,#6467,#6473,#6476,#6482,#6485,#6491,#6494,#6500,#6503,#6509, - #6512,#6518,#6521,#6527,#6533,#6539,#6542,#6548,#6554,#6560,#6563,#6569,#6575, - #6577),.F.); -#5990=CARTESIAN_POINT('',(707560.0,-304796.0)); -#5991=CARTESIAN_POINT('',(699733.0,-291699.0)); -#5992=CARTESIAN_POINT('',(707559.877509322,-295908.7960398975)); -#5993=AXIS2_PLACEMENT_2D('',#5992,$); -#5994=CIRCLE('',#5993,8887.203960946674); -#5995=TRIMMED_CURVE('',#5994,(#5990),(#5991),.F.,.CARTESIAN.); -#5996=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#5995); -#5997=CARTESIAN_POINT('',(718824.0,-215900.0)); -#5998=CARTESIAN_POINT('',(558800.1061074601,-215899.48789162815)); -#5999=AXIS2_PLACEMENT_2D('',#5998,$); -#6000=CIRCLE('',#5999,160023.89389335926); -#6001=TRIMMED_CURVE('',#6000,(#5991),(#5997),.T.,.CARTESIAN.); -#6002=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6001); -#6003=CARTESIAN_POINT('',(558800.0,-55876.0)); -#6004=CARTESIAN_POINT('',(558800.0837883266,-215899.91621167347)); -#6005=AXIS2_PLACEMENT_2D('',#6004,$); -#6006=CIRCLE('',#6005,160023.91621169538); -#6007=TRIMMED_CURVE('',#6006,(#5997),(#6003),.T.,.CARTESIAN.); -#6008=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6007); -#6009=POLYLINE('',(#6003,#6010)); -#6010=CARTESIAN_POINT('',(431800.0,-55876.0)); -#6011=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6009); -#6012=CARTESIAN_POINT('',(316013.0,-105441.0)); -#6013=CARTESIAN_POINT('',(431799.4946618973,-215900.22647870678)); -#6014=AXIS2_PLACEMENT_2D('',#6013,$); -#6015=CIRCLE('',#6014,160024.2264795047); -#6016=TRIMMED_CURVE('',#6015,(#6010),(#6012),.T.,.CARTESIAN.); -#6017=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6016); -#6018=CARTESIAN_POINT('',(301121.0,-96592.0)); -#6019=CARTESIAN_POINT('',(309582.85741485,-99306.91150164473)); -#6020=AXIS2_PLACEMENT_2D('',#6019,$); -#6021=CIRCLE('',#6020,8886.719044226293); -#6022=TRIMMED_CURVE('',#6021,(#6012),(#6018),.F.,.CARTESIAN.); -#6023=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6022); -#6024=CARTESIAN_POINT('',(-287820.0,131008.0)); -#6025=CARTESIAN_POINT('',(-0.049067943938098324,-1.0554421088345407)); -#6026=AXIS2_PLACEMENT_2D('',#6025,$); -#6027=CIRCLE('',#6026,316233.6110573396); -#6028=TRIMMED_CURVE('',#6027,(#6018),(#6024),.T.,.CARTESIAN.); -#6029=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6028); -#6030=CARTESIAN_POINT('',(-304796.0,134690.0)); -#6031=CARTESIAN_POINT('',(-295908.7103680337,134689.93992185243)); -#6032=AXIS2_PLACEMENT_2D('',#6031,$); -#6033=CIRCLE('',#6032,8887.289632169408); -#6034=TRIMMED_CURVE('',#6033,(#6024),(#6030),.F.,.CARTESIAN.); -#6035=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6034); -#6036=POLYLINE('',(#6030,#6037)); -#6037=CARTESIAN_POINT('',(-304796.0,565596.0)); -#6038=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6036); -#6039=CARTESIAN_POINT('',(-290006.0,572239.0)); -#6040=CARTESIAN_POINT('',(-295909.1087256578,565595.9476971969)); -#6041=AXIS2_PLACEMENT_2D('',#6040,$); -#6042=CIRCLE('',#6041,8886.891274496114); -#6043=TRIMMED_CURVE('',#6042,(#6037),(#6039),.F.,.CARTESIAN.); -#6044=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6043); -#6045=CARTESIAN_POINT('',(-229893.0,537820.0)); -#6046=CARTESIAN_POINT('',(-177801.7828947247,698501.0046442202)); -#6047=AXIS2_PLACEMENT_2D('',#6046,$); -#6048=CIRCLE('',#6047,168913.82463547753); -#6049=TRIMMED_CURVE('',#6048,(#6039),(#6045),.T.,.CARTESIAN.); -#6050=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6049); -#6051=CARTESIAN_POINT('',(-224180.0,532107.0)); -#6052=CARTESIAN_POINT('',(-232633.99958983963,529366.0004101604)); -#6053=AXIS2_PLACEMENT_2D('',#6052,$); -#6054=CIRCLE('',#6053,8887.248607781254); -#6055=TRIMMED_CURVE('',#6054,(#6045),(#6051),.F.,.CARTESIAN.); -#6056=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6055); -#6057=CARTESIAN_POINT('',(-63500.0,415286.0)); -#6058=CARTESIAN_POINT('',(-63499.599901538255,584199.7099350359)); -#6059=AXIS2_PLACEMENT_2D('',#6058,$); -#6060=CIRCLE('',#6059,168913.70993550977); -#6061=TRIMMED_CURVE('',#6060,(#6051),(#6057),.T.,.CARTESIAN.); -#6062=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6061); -#6063=POLYLINE('',(#6057,#6064)); -#6064=CARTESIAN_POINT('',(63500.0,415286.0)); -#6065=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6063); -#6066=CARTESIAN_POINT('',(224180.0,532107.0)); -#6067=CARTESIAN_POINT('',(63499.599901538255,584199.7099350359)); -#6068=AXIS2_PLACEMENT_2D('',#6067,$); -#6069=CIRCLE('',#6068,168913.70993550977); -#6070=TRIMMED_CURVE('',#6069,(#6064),(#6066),.T.,.CARTESIAN.); -#6071=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6070); -#6072=CARTESIAN_POINT('',(229893.0,537820.0)); -#6073=CARTESIAN_POINT('',(232633.99958983963,529366.0004101604)); -#6074=AXIS2_PLACEMENT_2D('',#6073,$); -#6075=CIRCLE('',#6074,8887.248607781254); -#6076=TRIMMED_CURVE('',#6075,(#6066),(#6072),.F.,.CARTESIAN.); -#6077=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6076); -#6078=CARTESIAN_POINT('',(346714.0,698500.0)); -#6079=CARTESIAN_POINT('',(177800.29006496407,698500.4000984618)); -#6080=AXIS2_PLACEMENT_2D('',#6079,$); -#6081=CIRCLE('',#6080,168913.70993550977); -#6082=TRIMMED_CURVE('',#6081,(#6072),(#6078),.T.,.CARTESIAN.); -#6083=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6082); -#6084=POLYLINE('',(#6078,#6085)); -#6085=CARTESIAN_POINT('',(346714.0,825500.0)); -#6086=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6084); -#6087=CARTESIAN_POINT('',(229893.0,986180.0)); -#6088=CARTESIAN_POINT('',(177800.29006496407,825499.5999015382)); -#6089=AXIS2_PLACEMENT_2D('',#6088,$); -#6090=CIRCLE('',#6089,168913.70993550977); -#6091=TRIMMED_CURVE('',#6090,(#6085),(#6087),.T.,.CARTESIAN.); -#6092=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6091); -#6093=CARTESIAN_POINT('',(224180.0,991893.0)); -#6094=CARTESIAN_POINT('',(232633.99958983963,994633.9995898396)); -#6095=AXIS2_PLACEMENT_2D('',#6094,$); -#6096=CIRCLE('',#6095,8887.248607781254); -#6097=TRIMMED_CURVE('',#6096,(#6087),(#6093),.F.,.CARTESIAN.); -#6098=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6097); -#6099=CARTESIAN_POINT('',(63500.0,1108714.0)); -#6100=CARTESIAN_POINT('',(63499.599901538255,939800.2900649641)); -#6101=AXIS2_PLACEMENT_2D('',#6100,$); -#6102=CIRCLE('',#6101,168913.70993550977); -#6103=TRIMMED_CURVE('',#6102,(#6093),(#6099),.T.,.CARTESIAN.); -#6104=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6103); -#6105=POLYLINE('',(#6099,#6106)); -#6106=CARTESIAN_POINT('',(-63500.0,1108714.0)); -#6107=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6105); -#6108=CARTESIAN_POINT('',(-224180.0,991893.0)); -#6109=CARTESIAN_POINT('',(-63499.599901538255,939800.2900649641)); -#6110=AXIS2_PLACEMENT_2D('',#6109,$); -#6111=CIRCLE('',#6110,168913.70993550977); -#6112=TRIMMED_CURVE('',#6111,(#6106),(#6108),.T.,.CARTESIAN.); -#6113=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6112); -#6114=CARTESIAN_POINT('',(-229893.0,986180.0)); -#6115=CARTESIAN_POINT('',(-232633.99958983963,994633.9995898396)); -#6116=AXIS2_PLACEMENT_2D('',#6115,$); -#6117=CIRCLE('',#6116,8887.248607781254); -#6118=TRIMMED_CURVE('',#6117,(#6108),(#6114),.F.,.CARTESIAN.); -#6119=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6118); -#6120=CARTESIAN_POINT('',(-290006.0,951761.0)); -#6121=CARTESIAN_POINT('',(-177801.7828947247,825498.9953557798)); -#6122=AXIS2_PLACEMENT_2D('',#6121,$); -#6123=CIRCLE('',#6122,168913.82463547753); -#6124=TRIMMED_CURVE('',#6123,(#6114),(#6120),.T.,.CARTESIAN.); -#6125=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6124); -#6126=CARTESIAN_POINT('',(-304796.0,958404.0)); -#6127=CARTESIAN_POINT('',(-295909.1087256578,958404.0523028031)); -#6128=AXIS2_PLACEMENT_2D('',#6127,$); -#6129=CIRCLE('',#6128,8886.891274496114); -#6130=TRIMMED_CURVE('',#6129,(#6120),(#6126),.F.,.CARTESIAN.); -#6131=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6130); -#6132=POLYLINE('',(#6126,#6133)); -#6133=CARTESIAN_POINT('',(-304796.0,3929310.0)); -#6134=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6132); -#6135=CARTESIAN_POINT('',(-287820.0,3932992.0)); -#6136=CARTESIAN_POINT('',(-295908.7103680337,3929310.060078148)); -#6137=AXIS2_PLACEMENT_2D('',#6136,$); -#6138=CIRCLE('',#6137,8887.289632169408); -#6139=TRIMMED_CURVE('',#6138,(#6133),(#6135),.F.,.CARTESIAN.); -#6140=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6139); -#6141=CARTESIAN_POINT('',(223611.85946783403,3840388.1405321658)); -#6142=CARTESIAN_POINT('',(0.89309728792432,4063999.106902712)); -#6143=AXIS2_PLACEMENT_2D('',#6142,$); -#6144=CIRCLE('',#6143,316233.6613365804); -#6145=TRIMMED_CURVE('',#6144,(#6135),(#6141),.T.,.CARTESIAN.); -#6146=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6145); -#6147=CARTESIAN_POINT('',(131008.0,4351820.0)); -#6148=CARTESIAN_POINT('',(0.8930972878297325,4063999.106902712)); -#6149=AXIS2_PLACEMENT_2D('',#6148,$); -#6150=CIRCLE('',#6149,316233.6613365805); -#6151=TRIMMED_CURVE('',#6150,(#6141),(#6147),.T.,.CARTESIAN.); -#6152=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6151); -#6153=CARTESIAN_POINT('',(134690.0,4368796.0)); -#6154=CARTESIAN_POINT('',(134689.93992185243,4359908.7103680335)); -#6155=AXIS2_PLACEMENT_2D('',#6154,$); -#6156=CIRCLE('',#6155,8887.289632169408); -#6157=TRIMMED_CURVE('',#6156,(#6147),(#6153),.F.,.CARTESIAN.); -#6158=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6157); -#6159=POLYLINE('',(#6153,#6160)); -#6160=CARTESIAN_POINT('',(565596.0,4368796.0)); -#6161=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6159); -#6162=CARTESIAN_POINT('',(572239.0,4354006.0)); -#6163=CARTESIAN_POINT('',(565595.9476971969,4359909.108725658)); -#6164=AXIS2_PLACEMENT_2D('',#6163,$); -#6165=CIRCLE('',#6164,8886.891274496114); -#6166=TRIMMED_CURVE('',#6165,(#6160),(#6162),.F.,.CARTESIAN.); -#6167=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6166); -#6168=CARTESIAN_POINT('',(537820.0,4293893.0)); -#6169=CARTESIAN_POINT('',(698501.0046442202,4241801.782894725)); -#6170=AXIS2_PLACEMENT_2D('',#6169,$); -#6171=CIRCLE('',#6170,168913.82463547753); -#6172=TRIMMED_CURVE('',#6171,(#6162),(#6168),.T.,.CARTESIAN.); -#6173=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6172); -#6174=CARTESIAN_POINT('',(532107.0,4288180.0)); -#6175=CARTESIAN_POINT('',(529366.0004101604,4296633.99958984)); -#6176=AXIS2_PLACEMENT_2D('',#6175,$); -#6177=CIRCLE('',#6176,8887.248607781254); -#6178=TRIMMED_CURVE('',#6177,(#6168),(#6174),.F.,.CARTESIAN.); -#6179=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6178); -#6180=CARTESIAN_POINT('',(415286.0,4127500.0)); -#6181=CARTESIAN_POINT('',(584199.7099350359,4127499.5999015383)); -#6182=AXIS2_PLACEMENT_2D('',#6181,$); -#6183=CIRCLE('',#6182,168913.70993550977); -#6184=TRIMMED_CURVE('',#6183,(#6174),(#6180),.T.,.CARTESIAN.); -#6185=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6184); -#6186=POLYLINE('',(#6180,#6187)); -#6187=CARTESIAN_POINT('',(415286.0,4000500.0)); -#6188=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6186); -#6189=CARTESIAN_POINT('',(532107.0,3839820.0)); -#6190=CARTESIAN_POINT('',(584199.7099350359,4000500.4000984617)); -#6191=AXIS2_PLACEMENT_2D('',#6190,$); -#6192=CIRCLE('',#6191,168913.70993550977); -#6193=TRIMMED_CURVE('',#6192,(#6187),(#6189),.T.,.CARTESIAN.); -#6194=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6193); -#6195=CARTESIAN_POINT('',(537820.0,3834107.0)); -#6196=CARTESIAN_POINT('',(529366.0004101604,3831366.0004101605)); -#6197=AXIS2_PLACEMENT_2D('',#6196,$); -#6198=CIRCLE('',#6197,8887.248607781254); -#6199=TRIMMED_CURVE('',#6198,(#6189),(#6195),.F.,.CARTESIAN.); -#6200=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6199); -#6201=CARTESIAN_POINT('',(698500.0,3717286.0)); -#6202=CARTESIAN_POINT('',(698500.4000984618,3886199.709935036)); -#6203=AXIS2_PLACEMENT_2D('',#6202,$); -#6204=CIRCLE('',#6203,168913.70993550977); -#6205=TRIMMED_CURVE('',#6204,(#6195),(#6201),.T.,.CARTESIAN.); -#6206=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6205); -#6207=POLYLINE('',(#6201,#6208)); -#6208=CARTESIAN_POINT('',(825500.0,3717286.0)); -#6209=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6207); -#6210=CARTESIAN_POINT('',(986180.0,3834107.0)); -#6211=CARTESIAN_POINT('',(825499.5999015382,3886199.709935036)); -#6212=AXIS2_PLACEMENT_2D('',#6211,$); -#6213=CIRCLE('',#6212,168913.70993550977); -#6214=TRIMMED_CURVE('',#6213,(#6208),(#6210),.T.,.CARTESIAN.); -#6215=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6214); -#6216=CARTESIAN_POINT('',(991893.0,3839820.0)); -#6217=CARTESIAN_POINT('',(994633.9995898396,3831366.0004101605)); -#6218=AXIS2_PLACEMENT_2D('',#6217,$); -#6219=CIRCLE('',#6218,8887.248607781254); -#6220=TRIMMED_CURVE('',#6219,(#6210),(#6216),.F.,.CARTESIAN.); -#6221=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6220); -#6222=CARTESIAN_POINT('',(1108714.0,4000500.0)); -#6223=CARTESIAN_POINT('',(939800.2900649641,4000500.4000984617)); -#6224=AXIS2_PLACEMENT_2D('',#6223,$); -#6225=CIRCLE('',#6224,168913.70993550977); -#6226=TRIMMED_CURVE('',#6225,(#6216),(#6222),.T.,.CARTESIAN.); -#6227=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6226); -#6228=POLYLINE('',(#6222,#6229)); -#6229=CARTESIAN_POINT('',(1108714.0,4127500.0)); -#6230=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6228); -#6231=CARTESIAN_POINT('',(991893.0,4288180.0)); -#6232=CARTESIAN_POINT('',(939800.2900649641,4127499.5999015383)); -#6233=AXIS2_PLACEMENT_2D('',#6232,$); -#6234=CIRCLE('',#6233,168913.70993550977); -#6235=TRIMMED_CURVE('',#6234,(#6229),(#6231),.T.,.CARTESIAN.); -#6236=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6235); -#6237=CARTESIAN_POINT('',(986180.0,4293893.0)); -#6238=CARTESIAN_POINT('',(994633.9995898396,4296633.99958984)); -#6239=AXIS2_PLACEMENT_2D('',#6238,$); -#6240=CIRCLE('',#6239,8887.248607781254); -#6241=TRIMMED_CURVE('',#6240,(#6231),(#6237),.F.,.CARTESIAN.); -#6242=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6241); -#6243=CARTESIAN_POINT('',(951761.0,4354006.0)); -#6244=CARTESIAN_POINT('',(825498.9953557798,4241801.782894725)); -#6245=AXIS2_PLACEMENT_2D('',#6244,$); -#6246=CIRCLE('',#6245,168913.82463547753); -#6247=TRIMMED_CURVE('',#6246,(#6237),(#6243),.T.,.CARTESIAN.); -#6248=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6247); -#6249=CARTESIAN_POINT('',(958404.0,4368796.0)); -#6250=CARTESIAN_POINT('',(958404.0523028031,4359909.108725658)); -#6251=AXIS2_PLACEMENT_2D('',#6250,$); -#6252=CIRCLE('',#6251,8886.891274496114); -#6253=TRIMMED_CURVE('',#6252,(#6243),(#6249),.F.,.CARTESIAN.); -#6254=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6253); -#6255=POLYLINE('',(#6249,#6256)); -#6256=CARTESIAN_POINT('',(3929310.0,4368796.0)); -#6257=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6255); -#6258=CARTESIAN_POINT('',(3932992.0,4351820.0)); -#6259=CARTESIAN_POINT('',(3929310.060078148,4359908.7103680335)); -#6260=AXIS2_PLACEMENT_2D('',#6259,$); -#6261=CIRCLE('',#6260,8887.289632169408); -#6262=TRIMMED_CURVE('',#6261,(#6256),(#6258),.F.,.CARTESIAN.); -#6263=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6262); -#6264=CARTESIAN_POINT('',(3840387.8591039376,3840387.8591039376)); -#6265=CARTESIAN_POINT('',(4063998.8985361634,4063998.8985361634)); -#6266=AXIS2_PLACEMENT_2D('',#6265,$); -#6267=CIRCLE('',#6266,316233.76466139854); -#6268=TRIMMED_CURVE('',#6267,(#6258),(#6264),.T.,.CARTESIAN.); -#6269=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6268); -#6270=CARTESIAN_POINT('',(4351820.0,3932992.0)); -#6271=TRIMMED_CURVE('',#6267,(#6264),(#6270),.T.,.CARTESIAN.); -#6272=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6271); -#6273=CARTESIAN_POINT('',(4368796.0,3929310.0)); -#6274=CARTESIAN_POINT('',(4359908.7103680335,3929310.060078148)); -#6275=AXIS2_PLACEMENT_2D('',#6274,$); -#6276=CIRCLE('',#6275,8887.289632169408); -#6277=TRIMMED_CURVE('',#6276,(#6270),(#6273),.F.,.CARTESIAN.); -#6278=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6277); -#6279=POLYLINE('',(#6273,#6280)); -#6280=CARTESIAN_POINT('',(4368796.0,958404.0)); -#6281=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6279); -#6282=CARTESIAN_POINT('',(4354006.0,951761.0)); -#6283=CARTESIAN_POINT('',(4359909.108725658,958404.0523028031)); -#6284=AXIS2_PLACEMENT_2D('',#6283,$); -#6285=CIRCLE('',#6284,8886.891274496114); -#6286=TRIMMED_CURVE('',#6285,(#6280),(#6282),.F.,.CARTESIAN.); -#6287=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6286); -#6288=CARTESIAN_POINT('',(4293893.0,986180.0)); -#6289=CARTESIAN_POINT('',(4241801.782894725,825498.9953557798)); -#6290=AXIS2_PLACEMENT_2D('',#6289,$); -#6291=CIRCLE('',#6290,168913.82463547753); -#6292=TRIMMED_CURVE('',#6291,(#6282),(#6288),.T.,.CARTESIAN.); -#6293=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6292); -#6294=CARTESIAN_POINT('',(4288180.0,991893.0)); -#6295=CARTESIAN_POINT('',(4296633.99958984,994633.9995898396)); -#6296=AXIS2_PLACEMENT_2D('',#6295,$); -#6297=CIRCLE('',#6296,8887.248607781254); -#6298=TRIMMED_CURVE('',#6297,(#6288),(#6294),.F.,.CARTESIAN.); -#6299=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6298); -#6300=CARTESIAN_POINT('',(4127500.0,1108714.0)); -#6301=CARTESIAN_POINT('',(4127499.5999015383,939800.2900649641)); -#6302=AXIS2_PLACEMENT_2D('',#6301,$); -#6303=CIRCLE('',#6302,168913.70993550977); -#6304=TRIMMED_CURVE('',#6303,(#6294),(#6300),.T.,.CARTESIAN.); -#6305=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6304); -#6306=POLYLINE('',(#6300,#6307)); -#6307=CARTESIAN_POINT('',(4000500.0,1108714.0)); -#6308=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6306); -#6309=CARTESIAN_POINT('',(3839820.0,991893.0)); -#6310=CARTESIAN_POINT('',(4000500.4000984617,939800.2900649641)); -#6311=AXIS2_PLACEMENT_2D('',#6310,$); -#6312=CIRCLE('',#6311,168913.70993550977); -#6313=TRIMMED_CURVE('',#6312,(#6307),(#6309),.T.,.CARTESIAN.); -#6314=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6313); -#6315=CARTESIAN_POINT('',(3834107.0,986180.0)); -#6316=CARTESIAN_POINT('',(3831366.0004101605,994633.9995898396)); -#6317=AXIS2_PLACEMENT_2D('',#6316,$); -#6318=CIRCLE('',#6317,8887.248607781254); -#6319=TRIMMED_CURVE('',#6318,(#6309),(#6315),.F.,.CARTESIAN.); -#6320=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6319); -#6321=CARTESIAN_POINT('',(3717286.0,825500.0)); -#6322=CARTESIAN_POINT('',(3886199.709935036,825499.5999015382)); -#6323=AXIS2_PLACEMENT_2D('',#6322,$); -#6324=CIRCLE('',#6323,168913.70993550977); -#6325=TRIMMED_CURVE('',#6324,(#6315),(#6321),.T.,.CARTESIAN.); -#6326=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6325); -#6327=POLYLINE('',(#6321,#6328)); -#6328=CARTESIAN_POINT('',(3717286.0,698500.0)); -#6329=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6327); -#6330=CARTESIAN_POINT('',(3834107.0,537820.0)); -#6331=CARTESIAN_POINT('',(3886199.709935036,698500.4000984618)); -#6332=AXIS2_PLACEMENT_2D('',#6331,$); -#6333=CIRCLE('',#6332,168913.70993550977); -#6334=TRIMMED_CURVE('',#6333,(#6328),(#6330),.T.,.CARTESIAN.); -#6335=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6334); -#6336=CARTESIAN_POINT('',(3839820.0,532107.0)); -#6337=CARTESIAN_POINT('',(3831366.0004101605,529366.0004101604)); -#6338=AXIS2_PLACEMENT_2D('',#6337,$); -#6339=CIRCLE('',#6338,8887.248607781254); -#6340=TRIMMED_CURVE('',#6339,(#6330),(#6336),.F.,.CARTESIAN.); -#6341=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6340); -#6342=CARTESIAN_POINT('',(4000500.0,415286.0)); -#6343=CARTESIAN_POINT('',(4000500.4000984617,584199.7099350359)); -#6344=AXIS2_PLACEMENT_2D('',#6343,$); -#6345=CIRCLE('',#6344,168913.70993550977); -#6346=TRIMMED_CURVE('',#6345,(#6336),(#6342),.T.,.CARTESIAN.); -#6347=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6346); -#6348=POLYLINE('',(#6342,#6349)); -#6349=CARTESIAN_POINT('',(4127500.0,415286.0)); -#6350=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6348); -#6351=CARTESIAN_POINT('',(4288180.0,532107.0)); -#6352=CARTESIAN_POINT('',(4127499.5999015383,584199.7099350359)); -#6353=AXIS2_PLACEMENT_2D('',#6352,$); -#6354=CIRCLE('',#6353,168913.70993550977); -#6355=TRIMMED_CURVE('',#6354,(#6349),(#6351),.T.,.CARTESIAN.); -#6356=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6355); -#6357=CARTESIAN_POINT('',(4293893.0,537820.0)); -#6358=CARTESIAN_POINT('',(4296633.99958984,529366.0004101604)); -#6359=AXIS2_PLACEMENT_2D('',#6358,$); -#6360=CIRCLE('',#6359,8887.248607781254); -#6361=TRIMMED_CURVE('',#6360,(#6351),(#6357),.F.,.CARTESIAN.); -#6362=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6361); -#6363=CARTESIAN_POINT('',(4354006.0,572239.0)); -#6364=CARTESIAN_POINT('',(4241801.782894725,698501.0046442202)); -#6365=AXIS2_PLACEMENT_2D('',#6364,$); -#6366=CIRCLE('',#6365,168913.82463547753); -#6367=TRIMMED_CURVE('',#6366,(#6357),(#6363),.T.,.CARTESIAN.); -#6368=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6367); -#6369=CARTESIAN_POINT('',(4368796.0,565596.0)); -#6370=CARTESIAN_POINT('',(4359909.108725658,565595.9476971969)); -#6371=AXIS2_PLACEMENT_2D('',#6370,$); -#6372=CIRCLE('',#6371,8886.891274496114); -#6373=TRIMMED_CURVE('',#6372,(#6363),(#6369),.F.,.CARTESIAN.); -#6374=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6373); -#6375=POLYLINE('',(#6369,#6376)); -#6376=CARTESIAN_POINT('',(4368796.0,134690.0)); -#6377=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6375); -#6378=CARTESIAN_POINT('',(4351820.0,131008.0)); -#6379=CARTESIAN_POINT('',(4359908.7103680335,134689.93992185243)); -#6380=AXIS2_PLACEMENT_2D('',#6379,$); -#6381=CIRCLE('',#6380,8887.289632169408); -#6382=TRIMMED_CURVE('',#6381,(#6376),(#6378),.F.,.CARTESIAN.); -#6383=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6382); -#6384=CARTESIAN_POINT('',(3840387.8591039376,223612.1408960622)); -#6385=CARTESIAN_POINT('',(4063998.8985361634,1.1014638365304563)); -#6386=AXIS2_PLACEMENT_2D('',#6385,$); -#6387=CIRCLE('',#6386,316233.76466139854); -#6388=TRIMMED_CURVE('',#6387,(#6378),(#6384),.T.,.CARTESIAN.); -#6389=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6388); -#6390=CARTESIAN_POINT('',(3932992.0,-287820.0)); -#6391=CARTESIAN_POINT('',(4063998.8985361634,1.1014638366214058)); -#6392=AXIS2_PLACEMENT_2D('',#6391,$); -#6393=CIRCLE('',#6392,316233.7646613984); -#6394=TRIMMED_CURVE('',#6393,(#6384),(#6390),.T.,.CARTESIAN.); -#6395=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6394); -#6396=CARTESIAN_POINT('',(3929310.0,-304796.0)); -#6397=CARTESIAN_POINT('',(3929310.060078148,-295908.7103680337)); -#6398=AXIS2_PLACEMENT_2D('',#6397,$); -#6399=CIRCLE('',#6398,8887.289632169408); -#6400=TRIMMED_CURVE('',#6399,(#6390),(#6396),.F.,.CARTESIAN.); -#6401=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6400); -#6402=POLYLINE('',(#6396,#6403)); -#6403=CARTESIAN_POINT('',(2783964.0,-304796.0)); -#6404=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6402); -#6405=CARTESIAN_POINT('',(2775141.0,-294843.0)); -#6406=CARTESIAN_POINT('',(2783963.9270837107,-295908.9181493441)); -#6407=AXIS2_PLACEMENT_2D('',#6406,$); -#6408=CIRCLE('',#6407,8887.081850955026); -#6409=TRIMMED_CURVE('',#6408,(#6403),(#6405),.F.,.CARTESIAN.); -#6410=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6409); -#6411=CARTESIAN_POINT('',(2776224.0,-276860.0)); -#6412=CARTESIAN_POINT('',(2626360.083971315,-276858.77483962267)); -#6413=AXIS2_PLACEMENT_2D('',#6412,$); -#6414=CIRCLE('',#6413,149863.91603369277); -#6415=TRIMMED_CURVE('',#6414,(#6405),(#6411),.T.,.CARTESIAN.); -#6416=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6415); -#6417=POLYLINE('',(#6411,#6418)); -#6418=CARTESIAN_POINT('',(2776224.0,-149860.0)); -#6419=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6417); -#6420=CARTESIAN_POINT('',(2626360.0,4.0)); -#6421=CARTESIAN_POINT('',(2626360.0,-149860.0)); -#6422=AXIS2_PLACEMENT_2D('',#6421,$); -#6423=CIRCLE('',#6422,149864.0); -#6424=TRIMMED_CURVE('',#6423,(#6418),(#6420),.T.,.CARTESIAN.); -#6425=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6424); -#6426=POLYLINE('',(#6420,#6427)); -#6427=CARTESIAN_POINT('',(2339340.0,4.0)); -#6428=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6426); -#6429=CARTESIAN_POINT('',(2189476.0,-149860.0)); -#6430=CARTESIAN_POINT('',(2339340.0,-149860.0)); -#6431=AXIS2_PLACEMENT_2D('',#6430,$); -#6432=CIRCLE('',#6431,149864.0); -#6433=TRIMMED_CURVE('',#6432,(#6427),(#6429),.T.,.CARTESIAN.); -#6434=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6433); -#6435=POLYLINE('',(#6429,#6436)); -#6436=CARTESIAN_POINT('',(2189476.0,-276860.0)); -#6437=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6435); -#6438=CARTESIAN_POINT('',(2190559.0,-294843.0)); -#6439=CARTESIAN_POINT('',(2339339.916028685,-276858.77483962267)); -#6440=AXIS2_PLACEMENT_2D('',#6439,$); -#6441=CIRCLE('',#6440,149863.91603369277); -#6442=TRIMMED_CURVE('',#6441,(#6436),(#6438),.T.,.CARTESIAN.); -#6443=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6442); -#6444=CARTESIAN_POINT('',(2181736.0,-304796.0)); -#6445=CARTESIAN_POINT('',(2181736.0729162893,-295908.9181493441)); -#6446=AXIS2_PLACEMENT_2D('',#6445,$); -#6447=CIRCLE('',#6446,8887.081850955026); -#6448=TRIMMED_CURVE('',#6447,(#6438),(#6444),.F.,.CARTESIAN.); -#6449=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6448); -#6450=POLYLINE('',(#6444,#6451)); -#6451=CARTESIAN_POINT('',(1361564.0,-304796.0)); -#6452=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6450); -#6453=CARTESIAN_POINT('',(1352741.0,-294843.0)); -#6454=CARTESIAN_POINT('',(1361563.9270837104,-295908.9181493441)); -#6455=AXIS2_PLACEMENT_2D('',#6454,$); -#6456=CIRCLE('',#6455,8887.081850955026); -#6457=TRIMMED_CURVE('',#6456,(#6451),(#6453),.F.,.CARTESIAN.); -#6458=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6457); -#6459=CARTESIAN_POINT('',(1353824.0,-276860.0)); -#6460=CARTESIAN_POINT('',(1203960.083971315,-276858.77483962267)); -#6461=AXIS2_PLACEMENT_2D('',#6460,$); -#6462=CIRCLE('',#6461,149863.91603369277); -#6463=TRIMMED_CURVE('',#6462,(#6453),(#6459),.T.,.CARTESIAN.); -#6464=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6463); -#6465=POLYLINE('',(#6459,#6466)); -#6466=CARTESIAN_POINT('',(1353824.0,-207011.0)); -#6467=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6465); -#6468=CARTESIAN_POINT('',(1362711.0,-198124.0)); -#6469=CARTESIAN_POINT('',(1362711.0,-207011.0)); -#6470=AXIS2_PLACEMENT_2D('',#6469,$); -#6471=CIRCLE('',#6470,8887.0); -#6472=TRIMMED_CURVE('',#6471,(#6466),(#6468),.F.,.CARTESIAN.); -#6473=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6472); -#6474=POLYLINE('',(#6468,#6475)); -#6475=CARTESIAN_POINT('',(1404620.0,-198124.0)); -#6476=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6474); -#6477=CARTESIAN_POINT('',(1554484.0,-48260.0)); -#6478=CARTESIAN_POINT('',(1404620.0,-48259.999999999985)); -#6479=AXIS2_PLACEMENT_2D('',#6478,$); -#6480=CIRCLE('',#6479,149864.0); -#6481=TRIMMED_CURVE('',#6480,(#6475),(#6477),.T.,.CARTESIAN.); -#6482=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6481); -#6483=POLYLINE('',(#6477,#6484)); -#6484=CARTESIAN_POINT('',(1554484.0,34289.0)); -#6485=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6483); -#6486=CARTESIAN_POINT('',(1563371.0,43176.0)); -#6487=CARTESIAN_POINT('',(1563371.0,34289.0)); -#6488=AXIS2_PLACEMENT_2D('',#6487,$); -#6489=CIRCLE('',#6488,8887.0); -#6490=TRIMMED_CURVE('',#6489,(#6484),(#6486),.F.,.CARTESIAN.); -#6491=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6490); -#6492=POLYLINE('',(#6486,#6493)); -#6493=CARTESIAN_POINT('',(2151380.0,43176.0)); -#6494=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6492); -#6495=CARTESIAN_POINT('',(2301244.0,193040.0)); -#6496=CARTESIAN_POINT('',(2151380.0,193040.0)); -#6497=AXIS2_PLACEMENT_2D('',#6496,$); -#6498=CIRCLE('',#6497,149864.0); -#6499=TRIMMED_CURVE('',#6498,(#6493),(#6495),.T.,.CARTESIAN.); -#6500=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6499); -#6501=POLYLINE('',(#6495,#6502)); -#6502=CARTESIAN_POINT('',(2301244.0,320040.0)); -#6503=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6501); -#6504=CARTESIAN_POINT('',(2151380.0,469904.0)); -#6505=CARTESIAN_POINT('',(2151380.0,320040.0)); -#6506=AXIS2_PLACEMENT_2D('',#6505,$); -#6507=CIRCLE('',#6506,149864.0); -#6508=TRIMMED_CURVE('',#6507,(#6502),(#6504),.T.,.CARTESIAN.); -#6509=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6508); -#6510=POLYLINE('',(#6504,#6511)); -#6511=CARTESIAN_POINT('',(904240.0,469904.0)); -#6512=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6510); -#6513=CARTESIAN_POINT('',(754376.0,320040.0)); -#6514=CARTESIAN_POINT('',(904240.0,320040.0)); -#6515=AXIS2_PLACEMENT_2D('',#6514,$); -#6516=CIRCLE('',#6515,149864.0); -#6517=TRIMMED_CURVE('',#6516,(#6511),(#6513),.T.,.CARTESIAN.); -#6518=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6517); -#6519=POLYLINE('',(#6513,#6520)); -#6520=CARTESIAN_POINT('',(754376.0,193040.0)); -#6521=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6519); -#6522=CARTESIAN_POINT('',(764424.0,139089.0)); -#6523=CARTESIAN_POINT('',(904239.9871171196,193039.94420961276)); -#6524=AXIS2_PLACEMENT_2D('',#6523,$); -#6525=CIRCLE('',#6524,149863.98711713); -#6526=TRIMMED_CURVE('',#6525,(#6520),(#6522),.T.,.CARTESIAN.); -#6527=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6526); -#6528=CARTESIAN_POINT('',(764424.0,132691.0)); -#6529=CARTESIAN_POINT('',(756133.0010016143,135890.0)); -#6530=AXIS2_PLACEMENT_2D('',#6529,$); -#6531=CIRCLE('',#6530,8886.746614550952); -#6532=TRIMMED_CURVE('',#6531,(#6522),(#6528),.F.,.CARTESIAN.); -#6533=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6532); -#6534=CARTESIAN_POINT('',(754376.0,78740.0)); -#6535=CARTESIAN_POINT('',(904239.9871171196,78740.05579038724)); -#6536=AXIS2_PLACEMENT_2D('',#6535,$); -#6537=CIRCLE('',#6536,149863.98711713); -#6538=TRIMMED_CURVE('',#6537,(#6528),(#6534),.T.,.CARTESIAN.); -#6539=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6538); -#6540=POLYLINE('',(#6534,#6541)); -#6541=CARTESIAN_POINT('',(754376.0,-48260.0)); -#6542=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6540); -#6543=CARTESIAN_POINT('',(769473.0,-113812.0)); -#6544=CARTESIAN_POINT('',(904239.9616952786,-48259.93633735627)); -#6545=AXIS2_PLACEMENT_2D('',#6544,$); -#6546=CIRCLE('',#6545,149863.9616952922); -#6547=TRIMMED_CURVE('',#6546,(#6541),(#6543),.T.,.CARTESIAN.); -#6548=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6547); -#6549=CARTESIAN_POINT('',(770184.0,-119499.0)); -#6550=CARTESIAN_POINT('',(761481.0152142141,-117699.11907555719)); -#6551=AXIS2_PLACEMENT_2D('',#6550,$); -#6552=CIRCLE('',#6551,8887.154523456507); -#6553=TRIMMED_CURVE('',#6552,(#6543),(#6549),.F.,.CARTESIAN.); -#6554=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6553); -#6555=CARTESIAN_POINT('',(767076.0,-149860.0)); -#6556=CARTESIAN_POINT('',(916939.8791686911,-149861.7108776487)); -#6557=AXIS2_PLACEMENT_2D('',#6556,$); -#6558=CIRCLE('',#6557,149863.879178457); -#6559=TRIMMED_CURVE('',#6558,(#6549),(#6555),.T.,.CARTESIAN.); -#6560=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6559); -#6561=POLYLINE('',(#6555,#6562)); -#6562=CARTESIAN_POINT('',(767076.0,-276860.0)); -#6563=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6561); -#6564=CARTESIAN_POINT('',(768159.0,-294843.0)); -#6565=CARTESIAN_POINT('',(916939.9160286848,-276858.77483962267)); -#6566=AXIS2_PLACEMENT_2D('',#6565,$); -#6567=CIRCLE('',#6566,149863.91603369277); -#6568=TRIMMED_CURVE('',#6567,(#6562),(#6564),.T.,.CARTESIAN.); -#6569=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6568); -#6570=CARTESIAN_POINT('',(759336.0,-304796.0)); -#6571=CARTESIAN_POINT('',(759336.0729162894,-295908.9181493441)); -#6572=AXIS2_PLACEMENT_2D('',#6571,$); -#6573=CIRCLE('',#6572,8887.081850955026); -#6574=TRIMMED_CURVE('',#6573,(#6564),(#6570),.F.,.CARTESIAN.); -#6575=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6574); -#6576=POLYLINE('',(#6570,#5990)); -#6577=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6576); -#6578=(AREA_WITH_OUTER_BOUNDARY()COMPLEX_AREA()COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#6880,#6930)))GEOMETRIC_REPRESENTATION_ITEM()HALF_SPACE_2D(#5989,.F.) - PRIMITIVE_2D()PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#6579=COMPOSITE_CURVE('',(#6586,#6592,#6598,#6604,#6610,#6616,#6622,#6628,#6634, - #6640,#6646,#6652,#6658,#6664,#6670,#6676,#6682,#6688,#6694,#6700,#6706,#6712, - #6718,#6724,#6730,#6736,#6742,#6748,#6754,#6760,#6766,#6772,#6778,#6784,#6790, - #6796,#6802,#6808,#6814,#6820,#6826,#6832,#6838,#6844,#6850,#6856,#6862,#6868, - #6874,#6879),.F.); -#6580=CARTESIAN_POINT('',(443502.0,1605834.0)); -#6581=CARTESIAN_POINT('',(453498.0,1605834.0)); -#6582=CARTESIAN_POINT('',(448500.0,1598486.0005567833)); -#6583=AXIS2_PLACEMENT_2D('',#6582,$); -#6584=CIRCLE('',#6583,8886.681034982308); -#6585=TRIMMED_CURVE('',#6584,(#6580),(#6581),.F.,.CARTESIAN.); -#6586=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6585); -#6587=CARTESIAN_POINT('',(596001.0,1583402.0)); -#6588=CARTESIAN_POINT('',(548500.4628093106,1745499.9299757127)); -#6589=AXIS2_PLACEMENT_2D('',#6588,$); -#6590=CIRCLE('',#6589,168914.29760625688); -#6591=TRIMMED_CURVE('',#6590,(#6581),(#6587),.T.,.CARTESIAN.); -#6592=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6591); -#6593=CARTESIAN_POINT('',(600999.0,1583402.0)); -#6594=CARTESIAN_POINT('',(598500.0,1574873.9994778673)); -#6595=AXIS2_PLACEMENT_2D('',#6594,$); -#6596=CIRCLE('',#6595,8886.607558877367); -#6597=TRIMMED_CURVE('',#6596,(#6587),(#6593),.F.,.CARTESIAN.); -#6598=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6597); -#6599=CARTESIAN_POINT('',(696001.0,1583402.0)); -#6600=CARTESIAN_POINT('',(648500.0,1745500.007232496)); -#6601=AXIS2_PLACEMENT_2D('',#6600,$); -#6602=CIRCLE('',#6601,168914.50189295877); -#6603=TRIMMED_CURVE('',#6602,(#6593),(#6599),.T.,.CARTESIAN.); -#6604=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6603); -#6605=CARTESIAN_POINT('',(700999.0,1583402.0)); -#6606=CARTESIAN_POINT('',(698500.0,1574873.9994778673)); -#6607=AXIS2_PLACEMENT_2D('',#6606,$); -#6608=CIRCLE('',#6607,8886.607558877367); -#6609=TRIMMED_CURVE('',#6608,(#6599),(#6605),.F.,.CARTESIAN.); -#6610=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6609); -#6611=CARTESIAN_POINT('',(796001.0,1583402.0)); -#6612=CARTESIAN_POINT('',(748500.0,1745500.007232496)); -#6613=AXIS2_PLACEMENT_2D('',#6612,$); -#6614=CIRCLE('',#6613,168914.50189295877); -#6615=TRIMMED_CURVE('',#6614,(#6605),(#6611),.T.,.CARTESIAN.); -#6616=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6615); -#6617=CARTESIAN_POINT('',(800999.0,1583402.0)); -#6618=CARTESIAN_POINT('',(798500.0,1574873.9994778673)); -#6619=AXIS2_PLACEMENT_2D('',#6618,$); -#6620=CIRCLE('',#6619,8886.607558877367); -#6621=TRIMMED_CURVE('',#6620,(#6611),(#6617),.F.,.CARTESIAN.); -#6622=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6621); -#6623=CARTESIAN_POINT('',(943502.0,1605834.0)); -#6624=CARTESIAN_POINT('',(848499.5371906894,1745499.9299757127)); -#6625=AXIS2_PLACEMENT_2D('',#6624,$); -#6626=CIRCLE('',#6625,168914.29760625688); -#6627=TRIMMED_CURVE('',#6626,(#6617),(#6623),.T.,.CARTESIAN.); -#6628=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6627); -#6629=CARTESIAN_POINT('',(953498.0,1605834.0)); -#6630=CARTESIAN_POINT('',(948500.0,1598486.0005567833)); -#6631=AXIS2_PLACEMENT_2D('',#6630,$); -#6632=CIRCLE('',#6631,8886.681034982308); -#6633=TRIMMED_CURVE('',#6632,(#6623),(#6629),.F.,.CARTESIAN.); -#6634=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6633); -#6635=CARTESIAN_POINT('',(1210598.0,1793001.0)); -#6636=CARTESIAN_POINT('',(1048500.1709116593,1745500.1259896904)); -#6637=AXIS2_PLACEMENT_2D('',#6636,$); -#6638=CIRCLE('',#6637,168914.2955077995); -#6639=TRIMMED_CURVE('',#6638,(#6629),(#6635),.T.,.CARTESIAN.); -#6640=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6639); -#6641=CARTESIAN_POINT('',(1210598.0,1797999.0)); -#6642=CARTESIAN_POINT('',(1219126.0005221327,1795500.0)); -#6643=AXIS2_PLACEMENT_2D('',#6642,$); -#6644=CIRCLE('',#6643,8886.607558877367); -#6645=TRIMMED_CURVE('',#6644,(#6635),(#6641),.F.,.CARTESIAN.); -#6646=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6645); -#6647=CARTESIAN_POINT('',(1210598.0,1893001.0)); -#6648=CARTESIAN_POINT('',(1048499.9927675038,1845500.0)); -#6649=AXIS2_PLACEMENT_2D('',#6648,$); -#6650=CIRCLE('',#6649,168914.50189295877); -#6651=TRIMMED_CURVE('',#6650,(#6641),(#6647),.T.,.CARTESIAN.); -#6652=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6651); -#6653=CARTESIAN_POINT('',(1210598.0,1897999.0)); -#6654=CARTESIAN_POINT('',(1219126.0005221327,1895500.0)); -#6655=AXIS2_PLACEMENT_2D('',#6654,$); -#6656=CIRCLE('',#6655,8886.607558877367); -#6657=TRIMMED_CURVE('',#6656,(#6647),(#6653),.F.,.CARTESIAN.); -#6658=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6657); -#6659=CARTESIAN_POINT('',(1188166.0,2040502.0)); -#6660=CARTESIAN_POINT('',(1048500.0700242873,1945499.5371906895)); -#6661=AXIS2_PLACEMENT_2D('',#6660,$); -#6662=CIRCLE('',#6661,168914.29760625688); -#6663=TRIMMED_CURVE('',#6662,(#6653),(#6659),.T.,.CARTESIAN.); -#6664=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6663); -#6665=CARTESIAN_POINT('',(1188166.0,2050498.0)); -#6666=CARTESIAN_POINT('',(1195513.9994432167,2045500.0)); -#6667=AXIS2_PLACEMENT_2D('',#6666,$); -#6668=CIRCLE('',#6667,8886.681034982308); -#6669=TRIMMED_CURVE('',#6668,(#6659),(#6665),.F.,.CARTESIAN.); -#6670=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6669); -#6671=CARTESIAN_POINT('',(1210598.0,2193001.0)); -#6672=CARTESIAN_POINT('',(1048500.0700242873,2145500.4628093108)); -#6673=AXIS2_PLACEMENT_2D('',#6672,$); -#6674=CIRCLE('',#6673,168914.29760625688); -#6675=TRIMMED_CURVE('',#6674,(#6665),(#6671),.T.,.CARTESIAN.); -#6676=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6675); -#6677=CARTESIAN_POINT('',(1210598.0,2197999.0)); -#6678=CARTESIAN_POINT('',(1219126.0005221327,2195500.0)); -#6679=AXIS2_PLACEMENT_2D('',#6678,$); -#6680=CIRCLE('',#6679,8886.607558877367); -#6681=TRIMMED_CURVE('',#6680,(#6671),(#6677),.F.,.CARTESIAN.); -#6682=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6681); -#6683=CARTESIAN_POINT('',(1210598.0,2293001.0)); -#6684=CARTESIAN_POINT('',(1048499.9927675038,2245500.0)); -#6685=AXIS2_PLACEMENT_2D('',#6684,$); -#6686=CIRCLE('',#6685,168914.50189295877); -#6687=TRIMMED_CURVE('',#6686,(#6677),(#6683),.T.,.CARTESIAN.); -#6688=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6687); -#6689=CARTESIAN_POINT('',(1210598.0,2297999.0)); -#6690=CARTESIAN_POINT('',(1219126.0005221327,2295500.0)); -#6691=AXIS2_PLACEMENT_2D('',#6690,$); -#6692=CIRCLE('',#6691,8886.607558877367); -#6693=TRIMMED_CURVE('',#6692,(#6683),(#6689),.F.,.CARTESIAN.); -#6694=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6693); -#6695=CARTESIAN_POINT('',(1210598.0,2393001.0)); -#6696=CARTESIAN_POINT('',(1048499.9927675038,2345500.0)); -#6697=AXIS2_PLACEMENT_2D('',#6696,$); -#6698=CIRCLE('',#6697,168914.50189295877); -#6699=TRIMMED_CURVE('',#6698,(#6689),(#6695),.T.,.CARTESIAN.); -#6700=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6699); -#6701=CARTESIAN_POINT('',(1210598.0,2397999.0)); -#6702=CARTESIAN_POINT('',(1219126.0005221327,2395500.0)); -#6703=AXIS2_PLACEMENT_2D('',#6702,$); -#6704=CIRCLE('',#6703,8886.607558877367); -#6705=TRIMMED_CURVE('',#6704,(#6695),(#6701),.F.,.CARTESIAN.); -#6706=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6705); -#6707=CARTESIAN_POINT('',(1000999.0,2607598.0)); -#6708=CARTESIAN_POINT('',(1048500.0458782318,2445500.045878232)); -#6709=AXIS2_PLACEMENT_2D('',#6708,$); -#6710=CIRCLE('',#6709,168914.46382707654); -#6711=TRIMMED_CURVE('',#6710,(#6701),(#6707),.T.,.CARTESIAN.); -#6712=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6711); -#6713=CARTESIAN_POINT('',(996001.0,2607598.0)); -#6714=CARTESIAN_POINT('',(998500.0,2616126.000522133)); -#6715=AXIS2_PLACEMENT_2D('',#6714,$); -#6716=CIRCLE('',#6715,8886.607558877367); -#6717=TRIMMED_CURVE('',#6716,(#6707),(#6713),.F.,.CARTESIAN.); -#6718=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6717); -#6719=CARTESIAN_POINT('',(900999.0,2607598.0)); -#6720=CARTESIAN_POINT('',(948500.0,2445499.992767504)); -#6721=AXIS2_PLACEMENT_2D('',#6720,$); -#6722=CIRCLE('',#6721,168914.50189295877); -#6723=TRIMMED_CURVE('',#6722,(#6713),(#6719),.T.,.CARTESIAN.); -#6724=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6723); -#6725=CARTESIAN_POINT('',(896001.0,2607598.0)); -#6726=CARTESIAN_POINT('',(898500.0,2616126.000522133)); -#6727=AXIS2_PLACEMENT_2D('',#6726,$); -#6728=CIRCLE('',#6727,8886.607558877367); -#6729=TRIMMED_CURVE('',#6728,(#6719),(#6725),.F.,.CARTESIAN.); -#6730=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6729); -#6731=CARTESIAN_POINT('',(800999.0,2607598.0)); -#6732=CARTESIAN_POINT('',(848500.0,2445499.992767504)); -#6733=AXIS2_PLACEMENT_2D('',#6732,$); -#6734=CIRCLE('',#6733,168914.50189295877); -#6735=TRIMMED_CURVE('',#6734,(#6725),(#6731),.T.,.CARTESIAN.); -#6736=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6735); -#6737=CARTESIAN_POINT('',(796001.0,2607598.0)); -#6738=CARTESIAN_POINT('',(798500.0,2616126.000522133)); -#6739=AXIS2_PLACEMENT_2D('',#6738,$); -#6740=CIRCLE('',#6739,8886.607558877367); -#6741=TRIMMED_CURVE('',#6740,(#6731),(#6737),.F.,.CARTESIAN.); -#6742=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6741); -#6743=CARTESIAN_POINT('',(700999.0,2607598.0)); -#6744=CARTESIAN_POINT('',(748500.0,2445499.992767504)); -#6745=AXIS2_PLACEMENT_2D('',#6744,$); -#6746=CIRCLE('',#6745,168914.50189295877); -#6747=TRIMMED_CURVE('',#6746,(#6737),(#6743),.T.,.CARTESIAN.); -#6748=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6747); -#6749=CARTESIAN_POINT('',(696001.0,2607598.0)); -#6750=CARTESIAN_POINT('',(698500.0,2616126.000522133)); -#6751=AXIS2_PLACEMENT_2D('',#6750,$); -#6752=CIRCLE('',#6751,8886.607558877367); -#6753=TRIMMED_CURVE('',#6752,(#6743),(#6749),.F.,.CARTESIAN.); -#6754=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6753); -#6755=CARTESIAN_POINT('',(600999.0,2607598.0)); -#6756=CARTESIAN_POINT('',(648500.0,2445499.992767504)); -#6757=AXIS2_PLACEMENT_2D('',#6756,$); -#6758=CIRCLE('',#6757,168914.50189295877); -#6759=TRIMMED_CURVE('',#6758,(#6749),(#6755),.T.,.CARTESIAN.); -#6760=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6759); -#6761=CARTESIAN_POINT('',(596001.0,2607598.0)); -#6762=CARTESIAN_POINT('',(598500.0,2616126.000522133)); -#6763=AXIS2_PLACEMENT_2D('',#6762,$); -#6764=CIRCLE('',#6763,8886.607558877367); -#6765=TRIMMED_CURVE('',#6764,(#6755),(#6761),.F.,.CARTESIAN.); -#6766=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6765); -#6767=CARTESIAN_POINT('',(500999.0,2607598.0)); -#6768=CARTESIAN_POINT('',(548500.0,2445499.992767504)); -#6769=AXIS2_PLACEMENT_2D('',#6768,$); -#6770=CIRCLE('',#6769,168914.50189295877); -#6771=TRIMMED_CURVE('',#6770,(#6761),(#6767),.T.,.CARTESIAN.); -#6772=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6771); -#6773=CARTESIAN_POINT('',(496001.0,2607598.0)); -#6774=CARTESIAN_POINT('',(498500.0,2616126.000522133)); -#6775=AXIS2_PLACEMENT_2D('',#6774,$); -#6776=CIRCLE('',#6775,8886.607558877367); -#6777=TRIMMED_CURVE('',#6776,(#6767),(#6773),.F.,.CARTESIAN.); -#6778=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6777); -#6779=CARTESIAN_POINT('',(400999.0,2607598.0)); -#6780=CARTESIAN_POINT('',(448500.0,2445499.992767504)); -#6781=AXIS2_PLACEMENT_2D('',#6780,$); -#6782=CIRCLE('',#6781,168914.50189295877); -#6783=TRIMMED_CURVE('',#6782,(#6773),(#6779),.T.,.CARTESIAN.); -#6784=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6783); -#6785=CARTESIAN_POINT('',(396001.0,2607598.0)); -#6786=CARTESIAN_POINT('',(398500.0,2616126.000522133)); -#6787=AXIS2_PLACEMENT_2D('',#6786,$); -#6788=CIRCLE('',#6787,8886.607558877367); -#6789=TRIMMED_CURVE('',#6788,(#6779),(#6785),.F.,.CARTESIAN.); -#6790=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6789); -#6791=CARTESIAN_POINT('',(186402.0,2397999.0)); -#6792=CARTESIAN_POINT('',(348499.9541217682,2445500.045878232)); -#6793=AXIS2_PLACEMENT_2D('',#6792,$); -#6794=CIRCLE('',#6793,168914.46382707654); -#6795=TRIMMED_CURVE('',#6794,(#6785),(#6791),.T.,.CARTESIAN.); -#6796=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6795); -#6797=CARTESIAN_POINT('',(186402.0,2393001.0)); -#6798=CARTESIAN_POINT('',(177873.99947786727,2395500.0)); -#6799=AXIS2_PLACEMENT_2D('',#6798,$); -#6800=CIRCLE('',#6799,8886.607558877367); -#6801=TRIMMED_CURVE('',#6800,(#6791),(#6797),.F.,.CARTESIAN.); -#6802=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6801); -#6803=CARTESIAN_POINT('',(186402.0,2297999.0)); -#6804=CARTESIAN_POINT('',(348500.00723249617,2345500.0)); -#6805=AXIS2_PLACEMENT_2D('',#6804,$); -#6806=CIRCLE('',#6805,168914.50189295877); -#6807=TRIMMED_CURVE('',#6806,(#6797),(#6803),.T.,.CARTESIAN.); -#6808=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6807); -#6809=CARTESIAN_POINT('',(186402.0,2293001.0)); -#6810=CARTESIAN_POINT('',(177873.99947786727,2295500.0)); -#6811=AXIS2_PLACEMENT_2D('',#6810,$); -#6812=CIRCLE('',#6811,8886.607558877367); -#6813=TRIMMED_CURVE('',#6812,(#6803),(#6809),.F.,.CARTESIAN.); -#6814=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6813); -#6815=CARTESIAN_POINT('',(186402.0,2197999.0)); -#6816=CARTESIAN_POINT('',(348500.00723249617,2245500.0)); -#6817=AXIS2_PLACEMENT_2D('',#6816,$); -#6818=CIRCLE('',#6817,168914.50189295877); -#6819=TRIMMED_CURVE('',#6818,(#6809),(#6815),.T.,.CARTESIAN.); -#6820=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6819); -#6821=CARTESIAN_POINT('',(186402.0,2193001.0)); -#6822=CARTESIAN_POINT('',(177873.99947786727,2195500.0)); -#6823=AXIS2_PLACEMENT_2D('',#6822,$); -#6824=CIRCLE('',#6823,8886.607558877367); -#6825=TRIMMED_CURVE('',#6824,(#6815),(#6821),.F.,.CARTESIAN.); -#6826=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6825); -#6827=CARTESIAN_POINT('',(186402.0,2097999.0)); -#6828=CARTESIAN_POINT('',(348500.00723249617,2145500.0)); -#6829=AXIS2_PLACEMENT_2D('',#6828,$); -#6830=CIRCLE('',#6829,168914.50189295877); -#6831=TRIMMED_CURVE('',#6830,(#6821),(#6827),.T.,.CARTESIAN.); -#6832=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6831); -#6833=CARTESIAN_POINT('',(186402.0,2093001.0)); -#6834=CARTESIAN_POINT('',(177873.99947786727,2095500.0)); -#6835=AXIS2_PLACEMENT_2D('',#6834,$); -#6836=CIRCLE('',#6835,8886.607558877367); -#6837=TRIMMED_CURVE('',#6836,(#6827),(#6833),.F.,.CARTESIAN.); -#6838=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6837); -#6839=CARTESIAN_POINT('',(186402.0,1997999.0)); -#6840=CARTESIAN_POINT('',(348500.00723249617,2045500.0)); -#6841=AXIS2_PLACEMENT_2D('',#6840,$); -#6842=CIRCLE('',#6841,168914.50189295877); -#6843=TRIMMED_CURVE('',#6842,(#6833),(#6839),.T.,.CARTESIAN.); -#6844=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6843); -#6845=CARTESIAN_POINT('',(186402.0,1993001.0)); -#6846=CARTESIAN_POINT('',(177873.99947786727,1995500.0)); -#6847=AXIS2_PLACEMENT_2D('',#6846,$); -#6848=CIRCLE('',#6847,8886.607558877367); -#6849=TRIMMED_CURVE('',#6848,(#6839),(#6845),.F.,.CARTESIAN.); -#6850=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6849); -#6851=CARTESIAN_POINT('',(186402.0,1897999.0)); -#6852=CARTESIAN_POINT('',(348500.00723249617,1945500.0)); -#6853=AXIS2_PLACEMENT_2D('',#6852,$); -#6854=CIRCLE('',#6853,168914.50189295877); -#6855=TRIMMED_CURVE('',#6854,(#6845),(#6851),.T.,.CARTESIAN.); -#6856=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6855); -#6857=CARTESIAN_POINT('',(186402.0,1893001.0)); -#6858=CARTESIAN_POINT('',(177873.99947786727,1895500.0)); -#6859=AXIS2_PLACEMENT_2D('',#6858,$); -#6860=CIRCLE('',#6859,8886.607558877367); -#6861=TRIMMED_CURVE('',#6860,(#6851),(#6857),.F.,.CARTESIAN.); -#6862=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6861); -#6863=CARTESIAN_POINT('',(186402.0,1797999.0)); -#6864=CARTESIAN_POINT('',(348500.00723249617,1845500.0)); -#6865=AXIS2_PLACEMENT_2D('',#6864,$); -#6866=CIRCLE('',#6865,168914.50189295877); -#6867=TRIMMED_CURVE('',#6866,(#6857),(#6863),.T.,.CARTESIAN.); -#6868=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6867); -#6869=CARTESIAN_POINT('',(186402.0,1793001.0)); -#6870=CARTESIAN_POINT('',(177873.99947786727,1795500.0)); -#6871=AXIS2_PLACEMENT_2D('',#6870,$); -#6872=CIRCLE('',#6871,8886.607558877367); -#6873=TRIMMED_CURVE('',#6872,(#6863),(#6869),.F.,.CARTESIAN.); -#6874=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6873); -#6875=CARTESIAN_POINT('',(348499.82908834075,1745500.1259896904)); -#6876=AXIS2_PLACEMENT_2D('',#6875,$); -#6877=CIRCLE('',#6876,168914.2955077995); -#6878=TRIMMED_CURVE('',#6877,(#6869),(#6580),.T.,.CARTESIAN.); -#6879=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6878); -#6880=AREA_WITH_OUTER_BOUNDARY('',#6579,.T.); -#6881=COMPOSITE_CURVE('',(#6888,#6894,#6900,#6906,#6912,#6918,#6924,#6929),.F.); -#6882=CARTESIAN_POINT('',(1835911.0,1754915.0)); -#6883=CARTESIAN_POINT('',(1847089.0,1754915.0)); -#6884=CARTESIAN_POINT('',(1841500.0,1748006.00023684)); -#6885=AXIS2_PLACEMENT_2D('',#6884,$); -#6886=CIRCLE('',#6885,8886.574071448766); -#6887=TRIMMED_CURVE('',#6886,(#6882),(#6883),.F.,.CARTESIAN.); -#6888=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6887); -#6889=CARTESIAN_POINT('',(2118585.0,2026411.0)); -#6890=CARTESIAN_POINT('',(1968499.9591033098,1905000.0408966902)); -#6891=AXIS2_PLACEMENT_2D('',#6890,$); -#6892=CIRCLE('',#6891,193044.40031077497); -#6893=TRIMMED_CURVE('',#6892,(#6883),(#6889),.T.,.CARTESIAN.); -#6894=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6893); -#6895=CARTESIAN_POINT('',(2118585.0,2037589.0)); -#6896=CARTESIAN_POINT('',(2125493.99976316,2032000.0)); -#6897=AXIS2_PLACEMENT_2D('',#6896,$); -#6898=CIRCLE('',#6897,8886.574071448766); -#6899=TRIMMED_CURVE('',#6898,(#6889),(#6895),.F.,.CARTESIAN.); -#6900=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6899); -#6901=CARTESIAN_POINT('',(1847089.0,2309085.0)); -#6902=CARTESIAN_POINT('',(1968499.9591033098,2158999.95910331)); -#6903=AXIS2_PLACEMENT_2D('',#6902,$); -#6904=CIRCLE('',#6903,193044.40031077497); -#6905=TRIMMED_CURVE('',#6904,(#6895),(#6901),.T.,.CARTESIAN.); -#6906=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6905); -#6907=CARTESIAN_POINT('',(1835911.0,2309085.0)); -#6908=CARTESIAN_POINT('',(1841500.0,2315993.99976316)); -#6909=AXIS2_PLACEMENT_2D('',#6908,$); -#6910=CIRCLE('',#6909,8886.574071448766); -#6911=TRIMMED_CURVE('',#6910,(#6901),(#6907),.F.,.CARTESIAN.); -#6912=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6911); -#6913=CARTESIAN_POINT('',(1564415.0,2037589.0)); -#6914=CARTESIAN_POINT('',(1714500.0408966902,2158999.95910331)); -#6915=AXIS2_PLACEMENT_2D('',#6914,$); -#6916=CIRCLE('',#6915,193044.40031077497); -#6917=TRIMMED_CURVE('',#6916,(#6907),(#6913),.T.,.CARTESIAN.); -#6918=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6917); -#6919=CARTESIAN_POINT('',(1564415.0,2026411.0)); -#6920=CARTESIAN_POINT('',(1557506.00023684,2032000.0)); -#6921=AXIS2_PLACEMENT_2D('',#6920,$); -#6922=CIRCLE('',#6921,8886.574071448766); -#6923=TRIMMED_CURVE('',#6922,(#6913),(#6919),.F.,.CARTESIAN.); -#6924=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6923); -#6925=CARTESIAN_POINT('',(1714500.0408966902,1905000.0408966902)); -#6926=AXIS2_PLACEMENT_2D('',#6925,$); -#6927=CIRCLE('',#6926,193044.40031077497); -#6928=TRIMMED_CURVE('',#6927,(#6919),(#6882),.T.,.CARTESIAN.); -#6929=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6928); -#6930=AREA_WITH_OUTER_BOUNDARY('',#6881,.T.); -#6931=CONNECTED_AREA_COMPONENT('CU109',$,#322,#4,'CU109','definition usage',$,#326, - *,'',$,*); -#6932=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU109','',$,#223,#326,'CU109', - '',$,#6931,*); -#6933=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#6934),#225); -#6934=CSG_PRIMITIVE_SOLID_2D('',#6937); -#6935=POLYLINE('centreline',(#5788,#6936)); -#6936=CARTESIAN_POINT('',(1984971.0,1872058.0)); -#6937=PATH_AREA_WITH_PARAMETERS('',#18703,#6935); -#6938=CONNECTED_AREA_COMPONENT('CU52',$,#322,#4,'CU52','definition usage',$,#326, - *,'',$,*); -#6939=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU52','',$,#223,#326,'CU52','', - $,#6938,*); -#6940=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#6941),#225); -#6941=CSG_PRIMITIVE_SOLID_2D('',#6943); -#6942=POLYLINE('centreline',(#5760,#5762)); -#6943=PATH_AREA_WITH_PARAMETERS('',#18703,#6942); -#6944=CONNECTED_AREA_COMPONENT('CU62',$,#322,#4,'CU62','definition usage',$,#326, - *,'',$,*); -#6945=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU62','',$,#223,#326,'CU62','', - $,#6944,*); -#6946=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#6947),#225); -#6947=CSG_PRIMITIVE_SOLID_2D('',#6948); -#6948=POLYGONAL_AREA('',(#5218,#6949,#5219)); -#6949=CARTESIAN_POINT('',(793493.0,1818102.0)); -#6950=CONNECTED_AREA_COMPONENT('CU30',$,#322,#4,'CU30','definition usage',$,#326, - *,'',$,*); -#6951=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU30','',$,#223,#326,'CU30','', - $,#6950,*); -#6952=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#6953),#225); -#6953=CSG_PRIMITIVE_SOLID_2D('',#6957); -#6954=POLYLINE('centreline',(#6955,#6956)); -#6955=CARTESIAN_POINT('',(3045545.0,2451879.0)); -#6956=CARTESIAN_POINT('',(3006352.0,2473629.0)); -#6957=PATH_AREA_WITH_PARAMETERS('',#18702,#6954); -#6958=CONNECTED_AREA_COMPONENT('CU94',$,#322,#4,'CU94','definition usage',$,#326, - *,'',$,*); -#6959=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU94','',$,#223,#326,'CU94','', - $,#6958,*); -#6960=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#6961),#225); -#6961=CSG_PRIMITIVE_SOLID_2D('',#6963); -#6962=POLYLINE('centreline',(#5410,#5973)); -#6963=PATH_AREA_WITH_PARAMETERS('',#18703,#6962); -#6964=CONNECTED_AREA_COMPONENT('CU31',$,#322,#4,'CU31','definition usage',$,#326, - *,'',$,*); -#6965=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU31','',$,#223,#326,'CU31','', - $,#6964,*); -#6966=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#6967),#225); -#6967=CSG_PRIMITIVE_SOLID_2D('',#6971); -#6968=POLYLINE('centreline',(#6969,#6970)); -#6969=CARTESIAN_POINT('',(1649730.0,1905000.0)); -#6970=CARTESIAN_POINT('',(1698029.0,1872058.0)); -#6971=PATH_AREA_WITH_PARAMETERS('',#18703,#6968); -#6972=CONNECTED_AREA_COMPONENT('CU50',$,#322,#4,'CU50','definition usage',$,#326, - *,'',$,*); -#6973=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU50','',$,#223,#326,'CU50','', - $,#6972,*); -#6974=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#6975),#225); -#6975=CSG_PRIMITIVE_SOLID_2D('',#6979); -#6976=POLYLINE('centreline',(#6977,#6978)); -#6977=CARTESIAN_POINT('',(954053.0,1739871.0)); -#6978=CARTESIAN_POINT('',(993493.0,1718102.0)); -#6979=PATH_AREA_WITH_PARAMETERS('',#18702,#6976); -#6980=CONNECTED_AREA_COMPONENT('CU25',$,#322,#4,'CU25','definition usage',$,#326, - *,'',$,*); -#6981=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU25','',$,#223,#326,'CU25','', - $,#6980,*); -#6982=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#6983),#225); -#6983=CSG_PRIMITIVE_SOLID_2D('',#6984); -#6984=POLYGONAL_AREA('',(#6985,#6986,#6987)); -#6985=CARTESIAN_POINT('',(3045621.0,1939045.0)); -#6986=CARTESIAN_POINT('',(3023871.0,1899852.0)); -#6987=CARTESIAN_POINT('',(3006428.0,1917295.0)); -#6988=CONNECTED_AREA_COMPONENT('CU72',$,#322,#4,'CU72','definition usage',$,#326, - *,'',$,*); -#6989=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU72','',$,#223,#326,'CU72','', - $,#6988,*); -#6990=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#6991),#225); -#6991=CSG_PRIMITIVE_SOLID_2D('',#6997); -#6992=COMPOSITE_CURVE('',(#4723,#4729,#4735,#6994,#4744,#6996),.F.); -#6993=POLYLINE('',(#4730,#4737)); -#6994=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6993); -#6995=POLYLINE('',(#4739,#4717)); -#6996=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6995); -#6997=AREA_WITH_OUTER_BOUNDARY('',#6992,.F.); -#6998=CONNECTED_AREA_COMPONENT('CU124',$,#322,#4,'CU124','definition usage',$,#326, - *,'',$,*); -#6999=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU124','',$,#223,#326,'CU124', - '',$,#6998,*); -#7000=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7001),#225); -#7001=CSG_PRIMITIVE_SOLID_2D('',#7002); -#7002=POLYGONAL_AREA('',(#7003,#7004,#7005)); -#7003=CARTESIAN_POINT('',(2033270.0,2159000.0)); -#7004=CARTESIAN_POINT('',(1984971.0,2126058.0)); -#7005=CARTESIAN_POINT('',(1984971.0,2191942.0)); -#7006=CONNECTED_AREA_COMPONENT('CU69',$,#322,#4,'CU69','definition usage',$,#326, - *,'',$,*); -#7007=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU69','',$,#223,#326,'CU69','', - $,#7006,*); -#7008=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7009),#225); -#7009=CSG_PRIMITIVE_SOLID_2D('',#7010); -#7010=POLYGONAL_AREA('',(#7011,#7012,#7013)); -#7011=CARTESIAN_POINT('',(3045621.0,1739045.0)); -#7012=CARTESIAN_POINT('',(3023871.0,1699852.0)); -#7013=CARTESIAN_POINT('',(3006428.0,1717295.0)); -#7014=CONNECTED_AREA_COMPONENT('CU75',$,#322,#4,'CU75','definition usage',$,#326, - *,'',$,*); -#7015=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU75','',$,#223,#326,'CU75','', - $,#7014,*); -#7016=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7017),#225); -#7017=CSG_PRIMITIVE_SOLID_2D('',#7018); -#7018=POLYGONAL_AREA('',(#7019,#7020,#7021)); -#7019=CARTESIAN_POINT('',(3458391.0,1939439.0)); -#7020=CARTESIAN_POINT('',(3501848.0,1929718.0)); -#7021=CARTESIAN_POINT('',(3468112.0,1895982.0)); -#7022=CONNECTED_AREA_COMPONENT('CU57',$,#322,#4,'CU57','definition usage',$,#326, - *,'',$,*); -#7023=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU57','',$,#223,#326,'CU57','', - $,#7022,*); -#7024=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7025),#225); -#7025=CSG_PRIMITIVE_SOLID_2D('',#7027); -#7026=POLYLINE('centreline',(#5752,#5753)); -#7027=PATH_AREA_WITH_PARAMETERS('',#18703,#7026); -#7028=CONNECTED_AREA_COMPONENT('CU43',$,#322,#4,'CU43','definition usage',$,#326, - *,'',$,*); -#7029=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU43','',$,#223,#326,'CU43','', - $,#7028,*); -#7030=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7031),#225); -#7031=CSG_PRIMITIVE_SOLID_2D('',#7035); -#7032=POLYLINE('centreline',(#7033,#7034)); -#7033=CARTESIAN_POINT('',(542871.0,1939947.0)); -#7034=CARTESIAN_POINT('',(521102.0,1900507.0)); -#7035=PATH_AREA_WITH_PARAMETERS('',#18702,#7032); -#7036=CONNECTED_AREA_COMPONENT('CU16',$,#322,#4,'CU16','definition usage',$,#326, - *,'',$,*); -#7037=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU16','',$,#223,#326,'CU16','', - $,#7036,*); -#7038=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7039),#225); -#7039=CSG_PRIMITIVE_SOLID_2D('',#7041); -#7040=POLYLINE('centreline',(#7003,#7004)); -#7041=PATH_AREA_WITH_PARAMETERS('',#18703,#7040); -#7042=CONNECTED_AREA_COMPONENT('CU67',$,#322,#4,'CU67','definition usage',$,#326, - *,'',$,*); -#7043=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU67','',$,#223,#326,'CU67','', - $,#7042,*); -#7044=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7045),#225); -#7045=CSG_PRIMITIVE_SOLID_2D('',#7048); -#7046=POLYLINE('centreline',(#5832,#7047)); -#7047=CARTESIAN_POINT('',(3106428.0,2017295.0)); -#7048=PATH_AREA_WITH_PARAMETERS('',#18702,#7046); -#7049=CONNECTED_AREA_COMPONENT('CU80',$,#322,#4,'CU80','definition usage',$,#326, - *,'',$,*); -#7050=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU80','',$,#223,#326,'CU80','', - $,#7049,*); -#7051=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7052),#225); -#7052=CSG_PRIMITIVE_SOLID_2D('',#7054); -#7053=POLYLINE('centreline',(#6985,#6986)); -#7054=PATH_AREA_WITH_PARAMETERS('',#18702,#7053); -#7055=CONNECTED_AREA_COMPONENT('CU70',$,#322,#4,'CU70','definition usage',$,#326, - *,'',$,*); -#7056=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU70','',$,#223,#326,'CU70','', - $,#7055,*); -#7057=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7058),#225); -#7058=CSG_PRIMITIVE_SOLID_2D('',#7060); -#7059=POLYLINE('centreline',(#4094,#5931)); -#7060=PATH_AREA_WITH_PARAMETERS('',#18702,#7059); -#7061=CONNECTED_AREA_COMPONENT('CU2',$,#322,#4,'CU2','definition usage',$,#326,*, - '',$,*); -#7062=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU2','',$,#223,#326,'CU2','', - $,#7061,*); -#7063=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7064),#225); -#7064=CSG_PRIMITIVE_SOLID_2D('',#7066); -#7065=POLYLINE('centreline',(#7019,#7020)); -#7066=PATH_AREA_WITH_PARAMETERS('',#18703,#7065); -#7067=CONNECTED_AREA_COMPONENT('CU55',$,#322,#4,'CU55','definition usage',$,#326, - *,'',$,*); -#7068=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU55','',$,#223,#326,'CU55','', - $,#7067,*); -#7069=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7070),#225); -#7070=CSG_PRIMITIVE_SOLID_2D('',#7073); -#7071=POLYLINE('centreline',(#6977,#7072)); -#7072=CARTESIAN_POINT('',(975822.0,1700431.0)); -#7073=PATH_AREA_WITH_PARAMETERS('',#18702,#7071); -#7074=CONNECTED_AREA_COMPONENT('CU26',$,#322,#4,'CU26','definition usage',$,#326, - *,'',$,*); -#7075=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU26','',$,#223,#326,'CU26','', - $,#7074,*); -#7076=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7077),#225); -#7077=CSG_PRIMITIVE_SOLID_2D('',#7078); -#7078=POLYGONAL_AREA('',(#7033,#7034,#7079)); -#7079=CARTESIAN_POINT('',(503431.0,1918178.0)); -#7080=CONNECTED_AREA_COMPONENT('CU18',$,#322,#4,'CU18','definition usage',$,#326, - *,'',$,*); -#7081=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU18','',$,#223,#326,'CU18','', - $,#7080,*); -#7082=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7083),#225); -#7083=CSG_PRIMITIVE_SOLID_2D('',#7085); -#7084=POLYLINE('centreline',(#6985,#6987)); -#7085=PATH_AREA_WITH_PARAMETERS('',#18702,#7084); -#7086=CONNECTED_AREA_COMPONENT('CU71',$,#322,#4,'CU71','definition usage',$,#326, - *,'',$,*); -#7087=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU71','',$,#223,#326,'CU71','', - $,#7086,*); -#7088=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7089),#225); -#7089=CSG_PRIMITIVE_SOLID_2D('',#7099); -#7090=COMPOSITE_CURVE('',(#4826,#7092,#4835,#7094,#4844,#7096,#4853,#7098),.F.); -#7091=POLYLINE('',(#4821,#4828)); -#7092=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7091); -#7093=POLYLINE('',(#4830,#4837)); -#7094=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7093); -#7095=POLYLINE('',(#4839,#4846)); -#7096=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7095); -#7097=POLYLINE('',(#4848,#4820)); -#7098=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7097); -#7099=(AREA_WITH_OUTER_BOUNDARY()COMPLEX_AREA()COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#5240,#5242,#4857,#4858,#5244,#5246,#5248,#5250,#5252,#5254,#4859,#4861,#7101, - #5008,#5278,#7103,#5044,#5045,#5047,#7105,#5111,#5113,#5316,#5115,#5116,#7107, - #5318,#5182,#5320,#5322,#7108,#5324,#5326,#7110,#5183,#5184,#5185,#7112,#7114, - #5330,#5332,#5334,#5336,#7115,#5338,#5340)))GEOMETRIC_REPRESENTATION_ITEM() - HALF_SPACE_2D(#7090,.F.)PRIMITIVE_2D()PRIMITIVE_2D_WITH_INNER_BOUNDARY() - REPRESENTATION_ITEM('')); -#7100=COMPOSITE_CURVE('',(#4869,#4875,#4878,#4884,#4890,#4896,#4902,#4908,#4914, - #4920,#4926,#4932,#4938,#4944,#4947,#4953,#4959,#4965,#4971,#4977,#4983,#4989, - #4995,#5001,#5006),.F.); -#7101=AREA_WITH_OUTER_BOUNDARY('',#7100,.T.); -#7102=COMPOSITE_CURVE('',(#5287,#5292,#5017,#5023,#5026,#5032,#5298,#5304,#5310, - #5312),.F.); -#7103=AREA_WITH_OUTER_BOUNDARY('',#7102,.T.); -#7104=COMPOSITE_CURVE('',(#5056,#5062,#5068,#5074,#5077,#5083,#5089,#5095,#5101, - #5107,#5109),.F.); -#7105=AREA_WITH_OUTER_BOUNDARY('',#7104,.T.); -#7106=COMPOSITE_CURVE('',(#5125,#5131,#5137,#5143,#5149,#5155,#5161,#5167,#5173, - #5178),.F.); -#7107=AREA_WITH_OUTER_BOUNDARY('',#7106,.T.); -#7108=CIRCULAR_AREA('',#7109,55884.0); -#7109=CARTESIAN_POINT('',(1397000.0,3492500.0)); -#7110=CIRCULAR_AREA('',#7111,55884.0); -#7111=CARTESIAN_POINT('',(1397000.0,3746500.0)); -#7112=CIRCULAR_AREA('',#7113,55884.0); -#7113=CARTESIAN_POINT('',(1381760.0,3995420.0)); -#7114=CIRCULAR_AREA('',#5329,55884.0); -#7115=CIRCULAR_AREA('',#7116,55884.0); -#7116=CARTESIAN_POINT('',(1397000.0,4254500.0)); -#7117=CONNECTED_AREA_COMPONENT('CU114',$,#322,#4,'CU114','definition usage',$,#326, - *,'',$,*); -#7118=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU114','',$,#223,#326,'CU114', - '',$,#7117,*); -#7119=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7120),#225); -#7120=CSG_PRIMITIVE_SOLID_2D('',#7121); -#7121=POLYGONAL_AREA('',(#4812,#4813,#7122)); -#7122=CARTESIAN_POINT('',(3697572.0,2173705.0)); -#7123=CONNECTED_AREA_COMPONENT('CU93',$,#322,#4,'CU93','definition usage',$,#326, - *,'',$,*); -#7124=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU93','',$,#223,#326,'CU93','', - $,#7123,*); -#7125=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7126),#225); -#7126=CSG_PRIMITIVE_SOLID_2D('',#7127); -#7127=(CIRCULAR_AREA(#3988,381000.0)COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#5854)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#7128=CONNECTED_AREA_COMPONENT('CU101',$,#322,#4,'CU101','definition usage',$,#326, - *,'',$,*); -#7129=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU101','',$,#223,#326,'CU101', - '',$,#7128,*); -#7130=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7131),#225); -#7131=CSG_PRIMITIVE_SOLID_2D('',#7132); -#7132=POLYGONAL_AREA('',(#5832,#5833,#7047)); -#7133=CONNECTED_AREA_COMPONENT('CU81',$,#322,#4,'CU81','definition usage',$,#326, - *,'',$,*); -#7134=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU81','',$,#223,#326,'CU81','', - $,#7133,*); -#7135=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7136),#225); -#7136=CSG_PRIMITIVE_SOLID_2D('',#7138); -#7137=POLYLINE('centreline',(#5918,#5984)); -#7138=PATH_AREA_WITH_PARAMETERS('',#18702,#7137); -#7139=CONNECTED_AREA_COMPONENT('CU76',$,#322,#4,'CU76','definition usage',$,#326, - *,'',$,*); -#7140=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU76','',$,#223,#326,'CU76','', - $,#7139,*); -#7141=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7142),#225); -#7142=CSG_PRIMITIVE_SOLID_2D('',#7145); -#7143=POLYLINE('centreline',(#6955,#7144)); -#7144=CARTESIAN_POINT('',(3023795.0,2491072.0)); -#7145=PATH_AREA_WITH_PARAMETERS('',#18702,#7143); -#7146=CONNECTED_AREA_COMPONENT('CU95',$,#322,#4,'CU95','definition usage',$,#326, - *,'',$,*); -#7147=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU95','',$,#223,#326,'CU95','', - $,#7146,*); -#7148=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7149),#225); -#7149=CSG_PRIMITIVE_SOLID_2D('',#7150); -#7150=POLYGONAL_AREA('',(#6969,#7151,#6970)); -#7151=CARTESIAN_POINT('',(1698029.0,1937942.0)); -#7152=CONNECTED_AREA_COMPONENT('CU51',$,#322,#4,'CU51','definition usage',$,#326, - *,'',$,*); -#7153=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU51','',$,#223,#326,'CU51','', - $,#7152,*); -#7154=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7155),#225); -#7155=CSG_PRIMITIVE_SOLID_2D('',#7156); -#7156=POLYGONAL_AREA('',(#4771,#4772,#7157)); -#7157=CARTESIAN_POINT('',(775822.0,2000431.0)); -#7158=CONNECTED_AREA_COMPONENT('CU15',$,#322,#4,'CU15','definition usage',$,#326, - *,'',$,*); -#7159=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU15','',$,#223,#326,'CU15','', - $,#7158,*); -#7160=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7161),#225); -#7161=CSG_PRIMITIVE_SOLID_2D('',#7162); -#7162=POLYGONAL_AREA('',(#5402,#5403,#7163)); -#7163=CARTESIAN_POINT('',(3102482.0,1729388.0)); -#7164=CONNECTED_AREA_COMPONENT('CU66',$,#322,#4,'CU66','definition usage',$,#326, - *,'',$,*); -#7165=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU66','',$,#223,#326,'CU66','', - $,#7164,*); -#7166=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7167),#225); -#7167=CSG_PRIMITIVE_SOLID_2D('',#7170); -#7168=POLYLINE('centreline',(#4078,#7169)); -#7169=CARTESIAN_POINT('',(1093493.0,2018102.0)); -#7170=PATH_AREA_WITH_PARAMETERS('',#18702,#7168); -#7171=CONNECTED_AREA_COMPONENT('CU22',$,#322,#4,'CU22','definition usage',$,#326, - *,'',$,*); -#7172=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU22','',$,#223,#326,'CU22','', - $,#7171,*); -#7173=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7174),#225); -#7174=CSG_PRIMITIVE_SOLID_2D('',#7175); -#7175=POLYGONAL_AREA('',(#5808,#5809,#5840)); -#7176=CONNECTED_AREA_COMPONENT('CU6',$,#322,#4,'CU6','definition usage',$,#326,*, - '',$,*); -#7177=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU6','',$,#223,#326,'CU6','', - $,#7176,*); -#7178=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7179),#225); -#7179=CSG_PRIMITIVE_SOLID_2D('',#7181); -#7180=POLYLINE('centreline',(#4771,#7157)); -#7181=PATH_AREA_WITH_PARAMETERS('',#18702,#7180); -#7182=CONNECTED_AREA_COMPONENT('CU14',$,#322,#4,'CU14','definition usage',$,#326, - *,'',$,*); -#7183=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU14','',$,#223,#326,'CU14','', - $,#7182,*); -#7184=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7185),#225); -#7185=CSG_PRIMITIVE_SOLID_2D('',#7187); -#7186=POLYLINE('centreline',(#5709,#5710)); -#7187=PATH_AREA_WITH_PARAMETERS('',#18702,#7186); -#7188=CONNECTED_AREA_COMPONENT('CU82',$,#322,#4,'CU82','definition usage',$,#326, - *,'',$,*); -#7189=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU82','',$,#223,#326,'CU82','', - $,#7188,*); -#7190=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7191),#225); -#7191=CSG_PRIMITIVE_SOLID_2D('',#7193); -#7192=POLYLINE('centreline',(#5204,#5205)); -#7193=PATH_AREA_WITH_PARAMETERS('',#18702,#7192); -#7194=CONNECTED_AREA_COMPONENT('CU97',$,#322,#4,'CU97','definition usage',$,#326, - *,'',$,*); -#7195=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU97','',$,#223,#326,'CU97','', - $,#7194,*); -#7196=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7197),#225); -#7197=CSG_PRIMITIVE_SOLID_2D('',#7199); -#7198=POLYLINE('centreline',(#7003,#7005)); -#7199=PATH_AREA_WITH_PARAMETERS('',#18703,#7198); -#7200=CONNECTED_AREA_COMPONENT('CU68',$,#322,#4,'CU68','definition usage',$,#326, - *,'',$,*); -#7201=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU68','',$,#223,#326,'CU68','', - $,#7200,*); -#7202=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7203),#225); -#7203=CSG_PRIMITIVE_SOLID_2D('',#7204); -#7204=POLYGONAL_AREA('',(#5717,#5718,#5860)); -#7205=CONNECTED_AREA_COMPONENT('CU36',$,#322,#4,'CU36','definition usage',$,#326, - *,'',$,*); -#7206=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU36','',$,#223,#326,'CU36','', - $,#7205,*); -#7207=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7208),#225); -#7208=CSG_PRIMITIVE_SOLID_2D('',#7209); -#7209=POLYGONAL_AREA('',(#4078,#7169,#4079)); -#7210=CONNECTED_AREA_COMPONENT('CU24',$,#322,#4,'CU24','definition usage',$,#326, - *,'',$,*); -#7211=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU24','',$,#223,#326,'CU24','', - $,#7210,*); -#7212=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7213),#225); -#7213=CSG_PRIMITIVE_SOLID_2D('',#7214); -#7214=POLYGONAL_AREA('',(#5424,#5775,#5425)); -#7215=CONNECTED_AREA_COMPONENT('CU9',$,#322,#4,'CU9','definition usage',$,#326,*, - '',$,*); -#7216=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU9','',$,#223,#326,'CU9','', - $,#7215,*); -#7217=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7218),#225); -#7218=CSG_PRIMITIVE_SOLID_2D('',#7220); -#7219=POLYLINE('centreline',(#4812,#7122)); -#7220=PATH_AREA_WITH_PARAMETERS('',#18702,#7219); -#7221=CONNECTED_AREA_COMPONENT('CU92',$,#322,#4,'CU92','definition usage',$,#326, - *,'',$,*); -#7222=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU92','',$,#223,#326,'CU92','', - $,#7221,*); -#7223=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7224),#225); -#7224=CSG_PRIMITIVE_SOLID_2D('',#7234); -#7225=COMPOSITE_CURVE('',(#4826,#7227,#4835,#7229,#4844,#7231,#4853,#7233),.F.); -#7226=POLYLINE('',(#4821,#4828)); -#7227=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7226); -#7228=POLYLINE('',(#4830,#4837)); -#7229=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7228); -#7230=POLYLINE('',(#4839,#4846)); -#7231=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7230); -#7232=POLYLINE('',(#4848,#4820)); -#7233=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7232); -#7234=(AREA_WITH_OUTER_BOUNDARY()COMPLEX_AREA()COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#4857,#4858,#4859,#4861,#7236,#5008,#7238,#5042,#5044,#5045,#5047,#7240,#5111, - #5113,#5115,#5116,#7242,#5180,#5182,#5183,#5184,#5185))) - GEOMETRIC_REPRESENTATION_ITEM()HALF_SPACE_2D(#7225,.F.)PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()REPRESENTATION_ITEM('')); -#7235=COMPOSITE_CURVE('',(#4869,#4875,#4878,#4884,#4890,#4896,#4902,#4908,#4914, - #4920,#4926,#4932,#4938,#4944,#4947,#4953,#4959,#4965,#4971,#4977,#4983,#4989, - #4995,#5001,#5006),.F.); -#7236=AREA_WITH_OUTER_BOUNDARY('',#7235,.T.); -#7237=COMPOSITE_CURVE('',(#5017,#5023,#5026,#5032,#5038,#5040),.F.); -#7238=AREA_WITH_OUTER_BOUNDARY('',#7237,.T.); -#7239=COMPOSITE_CURVE('',(#5056,#5062,#5068,#5074,#5077,#5083,#5089,#5095,#5101, - #5107,#5109),.F.); -#7240=AREA_WITH_OUTER_BOUNDARY('',#7239,.T.); -#7241=COMPOSITE_CURVE('',(#5125,#5131,#5137,#5143,#5149,#5155,#5161,#5167,#5173, - #5178),.F.); -#7242=AREA_WITH_OUTER_BOUNDARY('',#7241,.T.); -#7243=CONNECTED_AREA_COMPONENT('CU115',$,#322,#4,'CU115','definition usage',$,#326, - *,'',$,*); -#7244=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU115','',$,#223,#326,'CU115', - '',$,#7243,*); -#7245=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7246),#225); -#7246=CSG_PRIMITIVE_SOLID_2D('',#7267); -#7247=COMPOSITE_CURVE('',(#5885,#7253,#7258,#6035,#7260,#6140,#6146,#6152,#6158, - #7262,#6263,#6269,#6272,#6278,#7264,#6383,#6389,#6395,#6401,#7266),.F.); -#7248=CARTESIAN_POINT('',(223612.1408960622,223612.14089606225)); -#7249=CARTESIAN_POINT('',(1.1014638365304563,1.101463836599578)); -#7250=AXIS2_PLACEMENT_2D('',#7249,$); -#7251=CIRCLE('',#7250,316233.7646613985); -#7252=TRIMMED_CURVE('',#7251,(#5880),(#7248),.T.,.CARTESIAN.); -#7253=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7252); -#7254=CARTESIAN_POINT('',(1.101463836592302,1.101463836588664)); -#7255=AXIS2_PLACEMENT_2D('',#7254,$); -#7256=CIRCLE('',#7255,316233.7646613984); -#7257=TRIMMED_CURVE('',#7256,(#7248),(#6024),.T.,.CARTESIAN.); -#7258=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7257); -#7259=POLYLINE('',(#6030,#6133)); -#7260=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7259); -#7261=POLYLINE('',(#6153,#6256)); -#7262=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7261); -#7263=POLYLINE('',(#6273,#6376)); -#7264=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7263); -#7265=POLYLINE('',(#6396,#5879)); -#7266=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7265); -#7267=(AREA_WITH_OUTER_BOUNDARY()COMPLEX_AREA()COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#7268,#7269,#7571,#7573,#7574)))GEOMETRIC_REPRESENTATION_ITEM() - HALF_SPACE_2D(#7247,.F.)PRIMITIVE_2D()PRIMITIVE_2D_WITH_INNER_BOUNDARY() - REPRESENTATION_ITEM('')); -#7268=CIRCULAR_AREA('',#4860,256544.0); -#7269=CIRCULAR_AREA('',#376,256544.0); -#7270=COMPOSITE_CURVE('',(#7277,#7283,#7289,#7295,#7301,#7307,#7313,#7319,#7325, - #7331,#7337,#7343,#7349,#7355,#7361,#7367,#7373,#7379,#7385,#7391,#7397,#7403, - #7409,#7415,#7421,#7427,#7433,#7439,#7445,#7451,#7457,#7463,#7469,#7475,#7481, - #7487,#7493,#7499,#7505,#7511,#7517,#7523,#7529,#7535,#7541,#7547,#7553,#7559, - #7565,#7570),.F.); -#7271=CARTESIAN_POINT('',(2999501.0,1583402.0)); -#7272=CARTESIAN_POINT('',(3004499.0,1583402.0)); -#7273=CARTESIAN_POINT('',(3002000.0,1574873.9994778673)); -#7274=AXIS2_PLACEMENT_2D('',#7273,$); -#7275=CIRCLE('',#7274,8886.607558877367); -#7276=TRIMMED_CURVE('',#7275,(#7271),(#7272),.F.,.CARTESIAN.); -#7277=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7276); -#7278=CARTESIAN_POINT('',(3099501.0,1583402.0)); -#7279=CARTESIAN_POINT('',(3052000.0,1745500.007232496)); -#7280=AXIS2_PLACEMENT_2D('',#7279,$); -#7281=CIRCLE('',#7280,168914.50189295877); -#7282=TRIMMED_CURVE('',#7281,(#7272),(#7278),.T.,.CARTESIAN.); -#7283=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7282); -#7284=CARTESIAN_POINT('',(3104499.0,1583402.0)); -#7285=CARTESIAN_POINT('',(3102000.0,1574873.9994778673)); -#7286=AXIS2_PLACEMENT_2D('',#7285,$); -#7287=CIRCLE('',#7286,8886.607558877367); -#7288=TRIMMED_CURVE('',#7287,(#7278),(#7284),.F.,.CARTESIAN.); -#7289=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7288); -#7290=CARTESIAN_POINT('',(3199501.0,1583402.0)); -#7291=CARTESIAN_POINT('',(3152000.0,1745500.007232496)); -#7292=AXIS2_PLACEMENT_2D('',#7291,$); -#7293=CIRCLE('',#7292,168914.50189295877); -#7294=TRIMMED_CURVE('',#7293,(#7284),(#7290),.T.,.CARTESIAN.); -#7295=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7294); -#7296=CARTESIAN_POINT('',(3204499.0,1583402.0)); -#7297=CARTESIAN_POINT('',(3202000.0,1574873.9994778673)); -#7298=AXIS2_PLACEMENT_2D('',#7297,$); -#7299=CIRCLE('',#7298,8886.607558877367); -#7300=TRIMMED_CURVE('',#7299,(#7290),(#7296),.F.,.CARTESIAN.); -#7301=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7300); -#7302=CARTESIAN_POINT('',(3299501.0,1583402.0)); -#7303=CARTESIAN_POINT('',(3252000.0,1745500.007232496)); -#7304=AXIS2_PLACEMENT_2D('',#7303,$); -#7305=CIRCLE('',#7304,168914.50189295877); -#7306=TRIMMED_CURVE('',#7305,(#7296),(#7302),.T.,.CARTESIAN.); -#7307=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7306); -#7308=CARTESIAN_POINT('',(3304499.0,1583402.0)); -#7309=CARTESIAN_POINT('',(3302000.0,1574873.9994778673)); -#7310=AXIS2_PLACEMENT_2D('',#7309,$); -#7311=CIRCLE('',#7310,8886.607558877367); -#7312=TRIMMED_CURVE('',#7311,(#7302),(#7308),.F.,.CARTESIAN.); -#7313=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7312); -#7314=CARTESIAN_POINT('',(3399501.0,1583402.0)); -#7315=CARTESIAN_POINT('',(3352000.0,1745500.007232496)); -#7316=AXIS2_PLACEMENT_2D('',#7315,$); -#7317=CIRCLE('',#7316,168914.50189295877); -#7318=TRIMMED_CURVE('',#7317,(#7308),(#7314),.T.,.CARTESIAN.); -#7319=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7318); -#7320=CARTESIAN_POINT('',(3404499.0,1583402.0)); -#7321=CARTESIAN_POINT('',(3402000.0,1574873.9994778673)); -#7322=AXIS2_PLACEMENT_2D('',#7321,$); -#7323=CIRCLE('',#7322,8886.607558877367); -#7324=TRIMMED_CURVE('',#7323,(#7314),(#7320),.F.,.CARTESIAN.); -#7325=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7324); -#7326=CARTESIAN_POINT('',(3499501.0,1583402.0)); -#7327=CARTESIAN_POINT('',(3452000.0,1745500.007232496)); -#7328=AXIS2_PLACEMENT_2D('',#7327,$); -#7329=CIRCLE('',#7328,168914.50189295877); -#7330=TRIMMED_CURVE('',#7329,(#7320),(#7326),.T.,.CARTESIAN.); -#7331=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7330); -#7332=CARTESIAN_POINT('',(3504499.0,1583402.0)); -#7333=CARTESIAN_POINT('',(3502000.0,1574873.9994778673)); -#7334=AXIS2_PLACEMENT_2D('',#7333,$); -#7335=CIRCLE('',#7334,8886.607558877367); -#7336=TRIMMED_CURVE('',#7335,(#7326),(#7332),.F.,.CARTESIAN.); -#7337=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7336); -#7338=CARTESIAN_POINT('',(3599501.0,1583402.0)); -#7339=CARTESIAN_POINT('',(3552000.0,1745500.007232496)); -#7340=AXIS2_PLACEMENT_2D('',#7339,$); -#7341=CIRCLE('',#7340,168914.50189295877); -#7342=TRIMMED_CURVE('',#7341,(#7332),(#7338),.T.,.CARTESIAN.); -#7343=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7342); -#7344=CARTESIAN_POINT('',(3604499.0,1583402.0)); -#7345=CARTESIAN_POINT('',(3602000.0,1574873.9994778673)); -#7346=AXIS2_PLACEMENT_2D('',#7345,$); -#7347=CIRCLE('',#7346,8886.607558877367); -#7348=TRIMMED_CURVE('',#7347,(#7338),(#7344),.F.,.CARTESIAN.); -#7349=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7348); -#7350=CARTESIAN_POINT('',(3814098.0,1793001.0)); -#7351=CARTESIAN_POINT('',(3652000.045878232,1745499.9541217682)); -#7352=AXIS2_PLACEMENT_2D('',#7351,$); -#7353=CIRCLE('',#7352,168914.46382707654); -#7354=TRIMMED_CURVE('',#7353,(#7344),(#7350),.T.,.CARTESIAN.); -#7355=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7354); -#7356=CARTESIAN_POINT('',(3814098.0,1797999.0)); -#7357=CARTESIAN_POINT('',(3822626.000522133,1795500.0)); -#7358=AXIS2_PLACEMENT_2D('',#7357,$); -#7359=CIRCLE('',#7358,8886.607558877367); -#7360=TRIMMED_CURVE('',#7359,(#7350),(#7356),.F.,.CARTESIAN.); -#7361=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7360); -#7362=CARTESIAN_POINT('',(3814098.0,1893001.0)); -#7363=CARTESIAN_POINT('',(3651999.992767504,1845500.0)); -#7364=AXIS2_PLACEMENT_2D('',#7363,$); -#7365=CIRCLE('',#7364,168914.50189295877); -#7366=TRIMMED_CURVE('',#7365,(#7356),(#7362),.T.,.CARTESIAN.); -#7367=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7366); -#7368=CARTESIAN_POINT('',(3814098.0,1897999.0)); -#7369=CARTESIAN_POINT('',(3822626.000522133,1895500.0)); -#7370=AXIS2_PLACEMENT_2D('',#7369,$); -#7371=CIRCLE('',#7370,8886.607558877367); -#7372=TRIMMED_CURVE('',#7371,(#7362),(#7368),.F.,.CARTESIAN.); -#7373=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7372); -#7374=CARTESIAN_POINT('',(3814098.0,1993001.0)); -#7375=CARTESIAN_POINT('',(3651999.992767504,1945500.0)); -#7376=AXIS2_PLACEMENT_2D('',#7375,$); -#7377=CIRCLE('',#7376,168914.50189295877); -#7378=TRIMMED_CURVE('',#7377,(#7368),(#7374),.T.,.CARTESIAN.); -#7379=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7378); -#7380=CARTESIAN_POINT('',(3814098.0,1997999.0)); -#7381=CARTESIAN_POINT('',(3822626.000522133,1995500.0)); -#7382=AXIS2_PLACEMENT_2D('',#7381,$); -#7383=CIRCLE('',#7382,8886.607558877367); -#7384=TRIMMED_CURVE('',#7383,(#7374),(#7380),.F.,.CARTESIAN.); -#7385=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7384); -#7386=CARTESIAN_POINT('',(3791666.0,2140502.0)); -#7387=CARTESIAN_POINT('',(3652000.0700242873,2045499.5371906895)); -#7388=AXIS2_PLACEMENT_2D('',#7387,$); -#7389=CIRCLE('',#7388,168914.29760625688); -#7390=TRIMMED_CURVE('',#7389,(#7380),(#7386),.T.,.CARTESIAN.); -#7391=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7390); -#7392=CARTESIAN_POINT('',(3791666.0,2150498.0)); -#7393=CARTESIAN_POINT('',(3799013.9994432167,2145500.0)); -#7394=AXIS2_PLACEMENT_2D('',#7393,$); -#7395=CIRCLE('',#7394,8886.681034982308); -#7396=TRIMMED_CURVE('',#7395,(#7386),(#7392),.F.,.CARTESIAN.); -#7397=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7396); -#7398=CARTESIAN_POINT('',(3814098.0,2293001.0)); -#7399=CARTESIAN_POINT('',(3652000.0700242873,2245500.4628093108)); -#7400=AXIS2_PLACEMENT_2D('',#7399,$); -#7401=CIRCLE('',#7400,168914.29760625688); -#7402=TRIMMED_CURVE('',#7401,(#7392),(#7398),.T.,.CARTESIAN.); -#7403=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7402); -#7404=CARTESIAN_POINT('',(3814098.0,2297999.0)); -#7405=CARTESIAN_POINT('',(3822626.000522133,2295500.0)); -#7406=AXIS2_PLACEMENT_2D('',#7405,$); -#7407=CIRCLE('',#7406,8886.607558877367); -#7408=TRIMMED_CURVE('',#7407,(#7398),(#7404),.F.,.CARTESIAN.); -#7409=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7408); -#7410=CARTESIAN_POINT('',(3814098.0,2393001.0)); -#7411=CARTESIAN_POINT('',(3651999.992767504,2345500.0)); -#7412=AXIS2_PLACEMENT_2D('',#7411,$); -#7413=CIRCLE('',#7412,168914.50189295877); -#7414=TRIMMED_CURVE('',#7413,(#7404),(#7410),.T.,.CARTESIAN.); -#7415=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7414); -#7416=CARTESIAN_POINT('',(3814098.0,2397999.0)); -#7417=CARTESIAN_POINT('',(3822626.000522133,2395500.0)); -#7418=AXIS2_PLACEMENT_2D('',#7417,$); -#7419=CIRCLE('',#7418,8886.607558877367); -#7420=TRIMMED_CURVE('',#7419,(#7410),(#7416),.F.,.CARTESIAN.); -#7421=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7420); -#7422=CARTESIAN_POINT('',(3556998.0,2585166.0)); -#7423=CARTESIAN_POINT('',(3652000.1709116595,2445499.8740103096)); -#7424=AXIS2_PLACEMENT_2D('',#7423,$); -#7425=CIRCLE('',#7424,168914.2955077995); -#7426=TRIMMED_CURVE('',#7425,(#7416),(#7422),.T.,.CARTESIAN.); -#7427=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7426); -#7428=CARTESIAN_POINT('',(3547002.0,2585166.0)); -#7429=CARTESIAN_POINT('',(3552000.0,2592513.9994432167)); -#7430=AXIS2_PLACEMENT_2D('',#7429,$); -#7431=CIRCLE('',#7430,8886.681034982308); -#7432=TRIMMED_CURVE('',#7431,(#7422),(#7428),.F.,.CARTESIAN.); -#7433=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7432); -#7434=CARTESIAN_POINT('',(3404499.0,2607598.0)); -#7435=CARTESIAN_POINT('',(3451999.5371906892,2445500.0700242873)); -#7436=AXIS2_PLACEMENT_2D('',#7435,$); -#7437=CIRCLE('',#7436,168914.29760625688); -#7438=TRIMMED_CURVE('',#7437,(#7428),(#7434),.T.,.CARTESIAN.); -#7439=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7438); -#7440=CARTESIAN_POINT('',(3399501.0,2607598.0)); -#7441=CARTESIAN_POINT('',(3402000.0,2616126.000522133)); -#7442=AXIS2_PLACEMENT_2D('',#7441,$); -#7443=CIRCLE('',#7442,8886.607558877367); -#7444=TRIMMED_CURVE('',#7443,(#7434),(#7440),.F.,.CARTESIAN.); -#7445=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7444); -#7446=CARTESIAN_POINT('',(3304499.0,2607598.0)); -#7447=CARTESIAN_POINT('',(3352000.0,2445499.992767504)); -#7448=AXIS2_PLACEMENT_2D('',#7447,$); -#7449=CIRCLE('',#7448,168914.50189295877); -#7450=TRIMMED_CURVE('',#7449,(#7440),(#7446),.T.,.CARTESIAN.); -#7451=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7450); -#7452=CARTESIAN_POINT('',(3299501.0,2607598.0)); -#7453=CARTESIAN_POINT('',(3302000.0,2616126.000522133)); -#7454=AXIS2_PLACEMENT_2D('',#7453,$); -#7455=CIRCLE('',#7454,8886.607558877367); -#7456=TRIMMED_CURVE('',#7455,(#7446),(#7452),.F.,.CARTESIAN.); -#7457=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7456); -#7458=CARTESIAN_POINT('',(3204499.0,2607598.0)); -#7459=CARTESIAN_POINT('',(3252000.0,2445499.992767504)); -#7460=AXIS2_PLACEMENT_2D('',#7459,$); -#7461=CIRCLE('',#7460,168914.50189295877); -#7462=TRIMMED_CURVE('',#7461,(#7452),(#7458),.T.,.CARTESIAN.); -#7463=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7462); -#7464=CARTESIAN_POINT('',(3199501.0,2607598.0)); -#7465=CARTESIAN_POINT('',(3202000.0,2616126.000522133)); -#7466=AXIS2_PLACEMENT_2D('',#7465,$); -#7467=CIRCLE('',#7466,8886.607558877367); -#7468=TRIMMED_CURVE('',#7467,(#7458),(#7464),.F.,.CARTESIAN.); -#7469=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7468); -#7470=CARTESIAN_POINT('',(3056998.0,2585166.0)); -#7471=CARTESIAN_POINT('',(3152000.4628093108,2445500.0700242873)); -#7472=AXIS2_PLACEMENT_2D('',#7471,$); -#7473=CIRCLE('',#7472,168914.29760625688); -#7474=TRIMMED_CURVE('',#7473,(#7464),(#7470),.T.,.CARTESIAN.); -#7475=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7474); -#7476=CARTESIAN_POINT('',(3047002.0,2585166.0)); -#7477=CARTESIAN_POINT('',(3052000.0,2592513.9994432167)); -#7478=AXIS2_PLACEMENT_2D('',#7477,$); -#7479=CIRCLE('',#7478,8886.681034982308); -#7480=TRIMMED_CURVE('',#7479,(#7470),(#7476),.F.,.CARTESIAN.); -#7481=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7480); -#7482=CARTESIAN_POINT('',(2789902.0,2397999.0)); -#7483=CARTESIAN_POINT('',(2951999.8290883405,2445499.8740103096)); -#7484=AXIS2_PLACEMENT_2D('',#7483,$); -#7485=CIRCLE('',#7484,168914.2955077995); -#7486=TRIMMED_CURVE('',#7485,(#7476),(#7482),.T.,.CARTESIAN.); -#7487=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7486); -#7488=CARTESIAN_POINT('',(2789902.0,2393001.0)); -#7489=CARTESIAN_POINT('',(2781373.999477867,2395500.0)); -#7490=AXIS2_PLACEMENT_2D('',#7489,$); -#7491=CIRCLE('',#7490,8886.607558877367); -#7492=TRIMMED_CURVE('',#7491,(#7482),(#7488),.F.,.CARTESIAN.); -#7493=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7492); -#7494=CARTESIAN_POINT('',(2789902.0,2297999.0)); -#7495=CARTESIAN_POINT('',(2952000.007232496,2345500.0)); -#7496=AXIS2_PLACEMENT_2D('',#7495,$); -#7497=CIRCLE('',#7496,168914.50189295877); -#7498=TRIMMED_CURVE('',#7497,(#7488),(#7494),.T.,.CARTESIAN.); -#7499=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7498); -#7500=CARTESIAN_POINT('',(2789902.0,2293001.0)); -#7501=CARTESIAN_POINT('',(2781373.999477867,2295500.0)); -#7502=AXIS2_PLACEMENT_2D('',#7501,$); -#7503=CIRCLE('',#7502,8886.607558877367); -#7504=TRIMMED_CURVE('',#7503,(#7494),(#7500),.F.,.CARTESIAN.); -#7505=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7504); -#7506=CARTESIAN_POINT('',(2789902.0,2197999.0)); -#7507=CARTESIAN_POINT('',(2952000.007232496,2245500.0)); -#7508=AXIS2_PLACEMENT_2D('',#7507,$); -#7509=CIRCLE('',#7508,168914.50189295877); -#7510=TRIMMED_CURVE('',#7509,(#7500),(#7506),.T.,.CARTESIAN.); -#7511=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7510); -#7512=CARTESIAN_POINT('',(2789902.0,2193001.0)); -#7513=CARTESIAN_POINT('',(2781373.999477867,2195500.0)); -#7514=AXIS2_PLACEMENT_2D('',#7513,$); -#7515=CIRCLE('',#7514,8886.607558877367); -#7516=TRIMMED_CURVE('',#7515,(#7506),(#7512),.F.,.CARTESIAN.); -#7517=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7516); -#7518=CARTESIAN_POINT('',(2789902.0,2097999.0)); -#7519=CARTESIAN_POINT('',(2952000.007232496,2145500.0)); -#7520=AXIS2_PLACEMENT_2D('',#7519,$); -#7521=CIRCLE('',#7520,168914.50189295877); -#7522=TRIMMED_CURVE('',#7521,(#7512),(#7518),.T.,.CARTESIAN.); -#7523=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7522); -#7524=CARTESIAN_POINT('',(2789902.0,2093001.0)); -#7525=CARTESIAN_POINT('',(2781373.999477867,2095500.0)); -#7526=AXIS2_PLACEMENT_2D('',#7525,$); -#7527=CIRCLE('',#7526,8886.607558877367); -#7528=TRIMMED_CURVE('',#7527,(#7518),(#7524),.F.,.CARTESIAN.); -#7529=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7528); -#7530=CARTESIAN_POINT('',(2789902.0,1997999.0)); -#7531=CARTESIAN_POINT('',(2952000.007232496,2045500.0)); -#7532=AXIS2_PLACEMENT_2D('',#7531,$); -#7533=CIRCLE('',#7532,168914.50189295877); -#7534=TRIMMED_CURVE('',#7533,(#7524),(#7530),.T.,.CARTESIAN.); -#7535=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7534); -#7536=CARTESIAN_POINT('',(2789902.0,1993001.0)); -#7537=CARTESIAN_POINT('',(2781373.999477867,1995500.0)); -#7538=AXIS2_PLACEMENT_2D('',#7537,$); -#7539=CIRCLE('',#7538,8886.607558877367); -#7540=TRIMMED_CURVE('',#7539,(#7530),(#7536),.F.,.CARTESIAN.); -#7541=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7540); -#7542=CARTESIAN_POINT('',(2789902.0,1897999.0)); -#7543=CARTESIAN_POINT('',(2952000.007232496,1945500.0)); -#7544=AXIS2_PLACEMENT_2D('',#7543,$); -#7545=CIRCLE('',#7544,168914.50189295877); -#7546=TRIMMED_CURVE('',#7545,(#7536),(#7542),.T.,.CARTESIAN.); -#7547=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7546); -#7548=CARTESIAN_POINT('',(2789902.0,1893001.0)); -#7549=CARTESIAN_POINT('',(2781373.999477867,1895500.0)); -#7550=AXIS2_PLACEMENT_2D('',#7549,$); -#7551=CIRCLE('',#7550,8886.607558877367); -#7552=TRIMMED_CURVE('',#7551,(#7542),(#7548),.F.,.CARTESIAN.); -#7553=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7552); -#7554=CARTESIAN_POINT('',(2789902.0,1797999.0)); -#7555=CARTESIAN_POINT('',(2952000.007232496,1845500.0)); -#7556=AXIS2_PLACEMENT_2D('',#7555,$); -#7557=CIRCLE('',#7556,168914.50189295877); -#7558=TRIMMED_CURVE('',#7557,(#7548),(#7554),.T.,.CARTESIAN.); -#7559=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7558); -#7560=CARTESIAN_POINT('',(2789902.0,1793001.0)); -#7561=CARTESIAN_POINT('',(2781373.999477867,1795500.0)); -#7562=AXIS2_PLACEMENT_2D('',#7561,$); -#7563=CIRCLE('',#7562,8886.607558877367); -#7564=TRIMMED_CURVE('',#7563,(#7554),(#7560),.F.,.CARTESIAN.); -#7565=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7564); -#7566=CARTESIAN_POINT('',(2951999.954121768,1745499.9541217682)); -#7567=AXIS2_PLACEMENT_2D('',#7566,$); -#7568=CIRCLE('',#7567,168914.46382707654); -#7569=TRIMMED_CURVE('',#7568,(#7560),(#7271),.T.,.CARTESIAN.); -#7570=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7569); -#7571=AREA_WITH_OUTER_BOUNDARY('',#7270,.T.); -#7572=COMPOSITE_CURVE('',(#6888,#6894,#6900,#6906,#6912,#6918,#6924,#6929),.F.); -#7573=AREA_WITH_OUTER_BOUNDARY('',#7572,.T.); -#7574=CIRCULAR_AREA('',#2146,256544.0); -#7575=CONNECTED_AREA_COMPONENT('CU126',$,#322,#4,'CU126','definition usage',$,#326, - *,'',$,*); -#7576=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU126','',$,#223,#326,'CU126', - '',$,#7575,*); -#7577=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7578),#225); -#7578=CSG_PRIMITIVE_SOLID_2D('',#7584); -#7579=COMPOSITE_CURVE('',(#5943,#7581,#5952,#5958,#5964,#7583),.F.); -#7580=POLYLINE('',(#5938,#5945)); -#7581=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7580); -#7582=POLYLINE('',(#5959,#5937)); -#7583=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7582); -#7584=AREA_WITH_OUTER_BOUNDARY('',#7579,.F.); -#7585=CONNECTED_AREA_COMPONENT('CU125',$,#322,#4,'CU125','definition usage',$,#326, - *,'',$,*); -#7586=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU125','',$,#223,#326,'CU125', - '',$,#7585,*); -#7587=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7588),#225); -#7588=CSG_PRIMITIVE_SOLID_2D('',#7589); -#7589=POLYGONAL_AREA('',(#4755,#4756,#7590)); -#7590=CARTESIAN_POINT('',(519775.0,1928778.0)); -#7591=CONNECTED_AREA_COMPONENT('CU48',$,#322,#4,'CU48','definition usage',$,#326, - *,'',$,*); -#7592=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU48','',$,#223,#326,'CU48','', - $,#7591,*); -#7593=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7594),#225); -#7594=CSG_PRIMITIVE_SOLID_2D('',#7596); -#7595=POLYLINE('centreline',(#5402,#7163)); -#7596=PATH_AREA_WITH_PARAMETERS('',#18703,#7595); -#7597=CONNECTED_AREA_COMPONENT('CU65',$,#322,#4,'CU65','definition usage',$,#326, - *,'',$,*); -#7598=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU65','',$,#223,#326,'CU65','', - $,#7597,*); -#7599=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7600),#225); -#7600=CSG_PRIMITIVE_SOLID_2D('',#7601); -#7601=POLYGONAL_AREA('',(#5788,#6936,#5789)); -#7602=CONNECTED_AREA_COMPONENT('CU54',$,#322,#4,'CU54','definition usage',$,#326, - *,'',$,*); -#7603=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU54','',$,#223,#326,'CU54','', - $,#7602,*); -#7604=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7605),#225); -#7605=CSG_PRIMITIVE_SOLID_2D('',#7607); -#7606=POLYLINE('centreline',(#4763,#4764)); -#7607=PATH_AREA_WITH_PARAMETERS('',#18702,#7606); -#7608=CONNECTED_AREA_COMPONENT('CU19',$,#322,#4,'CU19','definition usage',$,#326, - *,'',$,*); -#7609=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU19','',$,#223,#326,'CU19','', - $,#7608,*); -#7610=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7611),#225); -#7611=CSG_PRIMITIVE_SOLID_2D('',#7621); -#7612=COMPOSITE_CURVE('',(#4826,#7614,#4835,#7616,#4844,#7618,#4853,#7620),.F.); -#7613=POLYLINE('',(#4821,#4828)); -#7614=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7613); -#7615=POLYLINE('',(#4830,#4837)); -#7616=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7615); -#7617=POLYLINE('',(#4839,#4846)); -#7618=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7617); -#7619=POLYLINE('',(#4848,#4820)); -#7620=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#7619); -#7621=(AREA_WITH_OUTER_BOUNDARY()COMPLEX_AREA()COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM( - (#5240,#5242,#4857,#4858,#5244,#5246,#5248,#5250,#5252,#5254,#4859,#4861,#7623, - #5008,#5278,#7625,#5044,#5045,#5047,#7627,#5111,#5113,#5316,#5115,#5116,#7629, - #5318,#5182,#5320,#5322,#7108,#5324,#5326,#7110,#5183,#5184,#5185,#7112,#7114, - #5330,#5332,#5334,#5336,#7115,#5338,#5340)))GEOMETRIC_REPRESENTATION_ITEM() - HALF_SPACE_2D(#7612,.F.)PRIMITIVE_2D()PRIMITIVE_2D_WITH_INNER_BOUNDARY() - REPRESENTATION_ITEM('')); -#7622=COMPOSITE_CURVE('',(#4869,#4875,#4878,#4884,#4890,#4896,#4902,#4908,#4914, - #4920,#4926,#4932,#4938,#4944,#4947,#4953,#4959,#4965,#4971,#4977,#4983,#4989, - #4995,#5001,#5006),.F.); -#7623=AREA_WITH_OUTER_BOUNDARY('',#7622,.T.); -#7624=COMPOSITE_CURVE('',(#5287,#5292,#5017,#5023,#5026,#5032,#5298,#5304,#5310, - #5312),.F.); -#7625=AREA_WITH_OUTER_BOUNDARY('',#7624,.T.); -#7626=COMPOSITE_CURVE('',(#5056,#5062,#5068,#5074,#5077,#5083,#5089,#5095,#5101, - #5107,#5109),.F.); -#7627=AREA_WITH_OUTER_BOUNDARY('',#7626,.T.); -#7628=COMPOSITE_CURVE('',(#5125,#5131,#5137,#5143,#5149,#5155,#5161,#5167,#5173, - #5178),.F.); -#7629=AREA_WITH_OUTER_BOUNDARY('',#7628,.T.); -#7630=CONNECTED_AREA_COMPONENT('CU113',$,#322,#4,'CU113','definition usage',$,#326, - *,'',$,*); -#7631=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU113','',$,#223,#326,'CU113', - '',$,#7630,*); -#7632=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7633),#225); -#7633=CSG_PRIMITIVE_SOLID_2D('',#7635); -#7634=POLYLINE('centreline',(#4755,#7590)); -#7635=PATH_AREA_WITH_PARAMETERS('',#18703,#7634); -#7636=CONNECTED_AREA_COMPONENT('CU47',$,#322,#4,'CU47','definition usage',$,#326, - *,'',$,*); -#7637=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU47','',$,#223,#326,'CU47','', - $,#7636,*); -#7638=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7639),#225); -#7639=CSG_PRIMITIVE_SOLID_2D('',#7641); -#7640=POLYLINE('centreline',(#4086,#4087)); -#7641=PATH_AREA_WITH_PARAMETERS('',#18702,#7640); -#7642=CONNECTED_AREA_COMPONENT('CU10',$,#322,#4,'CU10','definition usage',$,#326, - *,'',$,*); -#7643=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU10','',$,#223,#326,'CU10','', - $,#7642,*); -#7644=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7645),#225); -#7645=CSG_PRIMITIVE_SOLID_2D('',#7647); -#7646=POLYLINE('centreline',(#5218,#6949)); -#7647=PATH_AREA_WITH_PARAMETERS('',#18702,#7646); -#7648=CONNECTED_AREA_COMPONENT('CU28',$,#322,#4,'CU28','definition usage',$,#326, - *,'',$,*); -#7649=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU28','',$,#223,#326,'CU28','', - $,#7648,*); -#7650=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7651),#225); -#7651=CSG_PRIMITIVE_SOLID_2D('',#7652); -#7652=POLYGONAL_AREA('',(#6955,#6956,#7144)); -#7653=CONNECTED_AREA_COMPONENT('CU96',$,#322,#4,'CU96','definition usage',$,#326, - *,'',$,*); -#7654=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU96','',$,#223,#326,'CU96','', - $,#7653,*); -#7655=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7656),#225); -#7656=CSG_PRIMITIVE_SOLID_2D('',#7658); -#7657=POLYLINE('centreline',(#7011,#7012)); -#7658=PATH_AREA_WITH_PARAMETERS('',#18702,#7657); -#7659=CONNECTED_AREA_COMPONENT('CU73',$,#322,#4,'CU73','definition usage',$,#326, - *,'',$,*); -#7660=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU73','',$,#223,#326,'CU73','', - $,#7659,*); -#7661=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7662),#225); -#7662=CSG_PRIMITIVE_SOLID_2D('',#7664); -#7663=POLYLINE('centreline',(#7033,#7079)); -#7664=PATH_AREA_WITH_PARAMETERS('',#18702,#7663); -#7665=CONNECTED_AREA_COMPONENT('CU17',$,#322,#4,'CU17','definition usage',$,#326, - *,'',$,*); -#7666=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU17','',$,#223,#326,'CU17','', - $,#7665,*); -#7667=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7668),#225); -#7668=CSG_PRIMITIVE_SOLID_2D('',#7670); -#7669=POLYLINE('centreline',(#7011,#7013)); -#7670=PATH_AREA_WITH_PARAMETERS('',#18702,#7669); -#7671=CONNECTED_AREA_COMPONENT('CU74',$,#322,#4,'CU74','definition usage',$,#326, - *,'',$,*); -#7672=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU74','',$,#223,#326,'CU74','', - $,#7671,*); -#7673=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7674),#225); -#7674=CSG_PRIMITIVE_SOLID_2D('',#7676); -#7675=POLYLINE('centreline',(#7019,#7021)); -#7676=PATH_AREA_WITH_PARAMETERS('',#18703,#7675); -#7677=CONNECTED_AREA_COMPONENT('CU56',$,#322,#4,'CU56','definition usage',$,#326, - *,'',$,*); -#7678=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU56','',$,#223,#326,'CU56','', - $,#7677,*); -#7679=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7680),#225); -#7680=CSG_PRIMITIVE_SOLID_2D('',#7681); -#7681=POLYGONAL_AREA('',(#6977,#6978,#7072)); -#7682=CONNECTED_AREA_COMPONENT('CU27',$,#322,#4,'CU27','definition usage',$,#326, - *,'',$,*); -#7683=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU27','',$,#223,#326,'CU27','', - $,#7682,*); -#7684=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7685),#225); -#7685=CSG_PRIMITIVE_SOLID_2D('',#7687); -#7686=POLYLINE('centreline',(#5204,#5206)); -#7687=PATH_AREA_WITH_PARAMETERS('',#18702,#7686); -#7688=CONNECTED_AREA_COMPONENT('CU98',$,#322,#4,'CU98','definition usage',$,#326, - *,'',$,*); -#7689=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU98','',$,#223,#326,'CU98','', - $,#7688,*); -#7690=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7691),#225); -#7691=CSG_PRIMITIVE_SOLID_2D('',#7693); -#7692=POLYLINE('centreline',(#6969,#7151)); -#7693=PATH_AREA_WITH_PARAMETERS('',#18703,#7692); -#7694=CONNECTED_AREA_COMPONENT('CU49',$,#322,#4,'CU49','definition usage',$,#326, - *,'',$,*); -#7695=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('CU49','',$,#223,#326,'CU49','', - $,#7694,*); -#7696=CARTESIAN_POINT('',(2910916.0,1904086.0)); -#7697=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#7696,1.0); -#7698=PASSAGE_PADSTACK_DEFINITION('via',$,#7700,#4,'',$,*); -#7699=PRODUCT('tmpl43','template',$,(#21759)); -#7700=PRODUCT_DEFINITION_FORMATION('1',$,#7699); -#7701=SHAPE_REPRESENTATION('ppsm',(#23,#7715,#7733,#7735,#7737,#7739,#7741,#7743, - #7745,#7747,#7749,#7751,#7760,#7762,#7764,#7766,#7768,#7770,#7772,#7774,#7776, - #7778,#7780,#7782,#7784,#7786,#7788,#7790,#7792,#7794,#7796,#7798,#7800,#7802, - #7804,#7806),#7702); -#7702=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7703=PRODUCT('tmpl44','template',$,(#21759)); -#7704=PRODUCT_DEFINITION_FORMATION('1',$,#7703); -#7705=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7707),#7706); -#7706=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7707=CSG_PRIMITIVE_SOLID_2D('',#7708); -#7708=CIRCULAR_AREA('',#24,15240.0); -#7709=VIA_TEMPLATE('via',$,#7704,#4,'',$,*); -#7710=PASSAGE_TECHNOLOGY('tmpl44 via','default via definition','',$,*); -#7711=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 15240.0),#17)REPRESENTATION_ITEM('')); -#7712=SHAPE_ASPECT('1','via template terminal',#7709,.T.); -#7713=SHAPE_ASPECT('2','via template terminal',#7709,.T.); -#7714=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#7698,#7709,'drill'); -#7715=MAPPED_ITEM('tlistt',#22379,#23); -#7716=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7718),#7717); -#7717=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7718=CSG_PRIMITIVE_SOLID_2D('',#7719); -#7719=CIRCULAR_AREA('',#24,33020.0); -#7720=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('normal passage tmpl44 via', - 'default plated passage based',#7722,#4,'',$,*); -#7721=PRODUCT('tmpl45','template',$,(#21759)); -#7722=PRODUCT_DEFINITION_FORMATION('1',$,#7721); -#7723=LAND_TEMPLATE_TERMINAL('join','join terminal',#7720,.T.); -#7724=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('isolate 0',$,#7722,#4,'',$,*); -#7725=PRODUCT_DEFINITION('tmpl45',$,#2291,#4); -#7726=REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP($,'derived from operation',$,#7725, - #2289); -#7727=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#7728=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7730),#7729); -#7729=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7730=CSG_PRIMITIVE_SOLID_2D('',#7731); -#7731=CIRCULAR_AREA('',#24,26670.0); -#7732=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer14','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer14','',$,#7732); -#7733=MAPPED_ITEM('tlistt',#22383,#23); -#7734=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer14','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer14','',$,#7734); -#7735=MAPPED_ITEM('tlistt',#22387,#23); -#7736=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer3','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer3','',$,#7736); -#7737=MAPPED_ITEM('tlistt',#22383,#23); -#7738=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer3','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer3','',$,#7738); -#7739=MAPPED_ITEM('tlistt',#22387,#23); -#7740=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer8','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer8','',$,#7740); -#7741=MAPPED_ITEM('tlistt',#22383,#23); -#7742=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer8','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer8','',$,#7742); -#7743=MAPPED_ITEM('tlistt',#22387,#23); -#7744=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer9','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer9','',$,#7744); -#7745=MAPPED_ITEM('tlistt',#22383,#23); -#7746=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer9','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer9','',$,#7746); -#7747=MAPPED_ITEM('tlistt',#22387,#23); -#7748=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer2','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer2','',$,#7748); -#7749=MAPPED_ITEM('tlistt',#22383,#23); -#7750=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer2','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer2','',$,#7750); -#7751=MAPPED_ITEM('tlistt',#22387,#23); -#7752=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7754),#7753); -#7753=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7754=CSG_PRIMITIVE_SOLID_2D('',#7755); -#7755=CIRCULAR_AREA('',#24,38100.0); -#7756=MATERIAL_REMOVAL_FEATURE_TEMPLATE('normal removal',$,#7758,#4,'',$,*); -#7757=PRODUCT('tmpl46','template',$,(#21759)); -#7758=PRODUCT_DEFINITION_FORMATION('1',$,#7757); -#7759=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Resist-B','tlist','is unknown', - #7698,#7756,'normal on Resist-B','',$,#7759); -#7760=MAPPED_ITEM('tlistt',#22415,#23); -#7761=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer16','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer16','',$,#7761); -#7762=MAPPED_ITEM('tlistt',#22383,#23); -#7763=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer16','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer16','',$,#7763); -#7764=MAPPED_ITEM('tlistt',#22387,#23); -#7765=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer13','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer13','',$,#7765); -#7766=MAPPED_ITEM('tlistt',#22383,#23); -#7767=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer13','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer13','',$,#7767); -#7768=MAPPED_ITEM('tlistt',#22387,#23); -#7769=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer5','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer5','',$,#7769); -#7770=MAPPED_ITEM('tlistt',#22383,#23); -#7771=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer5','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer5','',$,#7771); -#7772=MAPPED_ITEM('tlistt',#22387,#23); -#7773=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer6','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer6','',$,#7773); -#7774=MAPPED_ITEM('tlistt',#22383,#23); -#7775=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer6','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer6','',$,#7775); -#7776=MAPPED_ITEM('tlistt',#22387,#23); -#7777=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer10','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer10','',$,#7777); -#7778=MAPPED_ITEM('tlistt',#22383,#23); -#7779=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer10','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer10','',$,#7779); -#7780=MAPPED_ITEM('tlistt',#22387,#23); -#7781=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer1','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer1','',$,#7781); -#7782=MAPPED_ITEM('tlistt',#22383,#23); -#7783=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer1','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer1','',$,#7783); -#7784=MAPPED_ITEM('tlistt',#22387,#23); -#7785=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer7','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer7','',$,#7785); -#7786=MAPPED_ITEM('tlistt',#22383,#23); -#7787=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer7','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer7','',$,#7787); -#7788=MAPPED_ITEM('tlistt',#22387,#23); -#7789=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Resist-A','tlist','is unknown', - #7698,#7756,'normal on Resist-A','',$,#7789); -#7790=MAPPED_ITEM('tlistt',#22415,#23); -#7791=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer11','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer11','',$,#7791); -#7792=MAPPED_ITEM('tlistt',#22383,#23); -#7793=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer11','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer11','',$,#7793); -#7794=MAPPED_ITEM('tlistt',#22387,#23); -#7795=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer12','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer12','',$,#7795); -#7796=MAPPED_ITEM('tlistt',#22383,#23); -#7797=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer12','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer12','',$,#7797); -#7798=MAPPED_ITEM('tlistt',#22387,#23); -#7799=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer15','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer15','',$,#7799); -#7800=MAPPED_ITEM('tlistt',#22383,#23); -#7801=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer15','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer15','',$,#7801); -#7802=MAPPED_ITEM('tlistt',#22387,#23); -#7803=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer4','tlist','is unknown', - #7698,#7724,'isolate 0 on Wiring Layer4','',$,#7803); -#7804=MAPPED_ITEM('tlistt',#22383,#23); -#7805=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer4','tlist','is unknown', - #7698,#7720,'normal on Wiring Layer4','',$,#7805); -#7806=MAPPED_ITEM('tlistt',#22387,#23); -#7807=PADSTACK_OCCURRENCE('V5 of net1',$,#7700,#4,'V5 of net1','definition usage', - $,#7698,*,'',$,*); -#7808=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7809=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7810=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7811=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7812=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7813=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7814=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7815=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7816=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7817=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7818=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7819=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7820=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7821=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net1 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net1 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7822=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#190,#4,'',$,*); -#7823=BURIED_VIA('V5 of net1 drill','component termination passage',#7704, - #4,'V5 of net1 drill','definition usage',$,#7709,*,'',$,*); -#7824=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V5 of net1','',$,#223,#7698, - 'V5 of net1','',$,#7807,*); -#7825=PRODUCT_DEFINITION_SHAPE('',$,#7824); -#7826=COMPONENT_2D_LOCATION(*,#7825,'component 2d location',$,#7701,#224,#7697); -#7827=CARTESIAN_POINT('',(348564.0,2145512.0)); -#7828=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#7827,1.0); -#7829=PASSAGE_PADSTACK_DEFINITION('via',$,#7831,#4,'',$,*); -#7830=PRODUCT('tmpl47','template',$,(#21759)); -#7831=PRODUCT_DEFINITION_FORMATION('1',$,#7830); -#7832=SHAPE_REPRESENTATION('ppsm',(#23,#7846,#7863,#7865,#7867,#7869,#7871,#7873, - #7875,#7877,#7879,#7881,#7890,#7907,#7909,#7911,#7913,#7915,#7917,#7919,#7921, - #7923,#7925,#7927,#7929,#7931,#7933,#7935,#7937,#7939,#7941,#7943,#7945,#7947, - #7949,#7951),#7833); -#7833=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7834=PRODUCT('tmpl48','template',$,(#21759)); -#7835=PRODUCT_DEFINITION_FORMATION('1',$,#7834); -#7836=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7838),#7837); -#7837=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7838=CSG_PRIMITIVE_SOLID_2D('',#7839); -#7839=CIRCULAR_AREA('',#24,6350.0); -#7840=VIA_TEMPLATE('via',$,#7835,#4,'',$,*); -#7841=PASSAGE_TECHNOLOGY('tmpl48 via','default via definition','',$,*); -#7842=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 6350.0),#17)REPRESENTATION_ITEM('')); -#7843=SHAPE_ASPECT('1','via template terminal',#7840,.T.); -#7844=SHAPE_ASPECT('2','via template terminal',#7840,.T.); -#7845=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#7829,#7840,'drill'); -#7846=MAPPED_ITEM('tlistt',#22488,#23); -#7847=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7849),#7848); -#7848=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7849=CSG_PRIMITIVE_SOLID_2D('',#7850); -#7850=CIRCULAR_AREA('',#24,20320.0); -#7851=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('normal passage tmpl48 via', - 'default plated passage based',#7853,#4,'',$,*); -#7852=PRODUCT('tmpl49','template',$,(#21759)); -#7853=PRODUCT_DEFINITION_FORMATION('1',$,#7852); -#7854=LAND_TEMPLATE_TERMINAL('join','join terminal',#7851,.T.); -#7855=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('isolate 0',$,#7853,#4,'',$,*); -#7856=PRODUCT_DEFINITION('tmpl49',$,#2291,#4); -#7857=REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP($,'derived from operation',$,#7856, - #2289); -#7858=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#7859=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7861),#7860); -#7860=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7861=CSG_PRIMITIVE_SOLID_2D('',#2284); -#7862=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer14','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer14','',$,#7862); -#7863=MAPPED_ITEM('tlistt',#22492,#23); -#7864=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer14','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer14','',$,#7864); -#7865=MAPPED_ITEM('tlistt',#22496,#23); -#7866=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer3','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer3','',$,#7866); -#7867=MAPPED_ITEM('tlistt',#22492,#23); -#7868=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer3','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer3','',$,#7868); -#7869=MAPPED_ITEM('tlistt',#22496,#23); -#7870=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer8','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer8','',$,#7870); -#7871=MAPPED_ITEM('tlistt',#22492,#23); -#7872=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer8','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer8','',$,#7872); -#7873=MAPPED_ITEM('tlistt',#22496,#23); -#7874=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer9','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer9','',$,#7874); -#7875=MAPPED_ITEM('tlistt',#22492,#23); -#7876=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer9','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer9','',$,#7876); -#7877=MAPPED_ITEM('tlistt',#22496,#23); -#7878=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer2','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer2','',$,#7878); -#7879=MAPPED_ITEM('tlistt',#22492,#23); -#7880=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer2','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer2','',$,#7880); -#7881=MAPPED_ITEM('tlistt',#22496,#23); -#7882=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7884),#7883); -#7883=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7884=CSG_PRIMITIVE_SOLID_2D('',#7885); -#7885=CIRCULAR_AREA('',#24,22860.0); -#7886=MATERIAL_REMOVAL_FEATURE_TEMPLATE('normal removal',$,#7888,#4,'',$,*); -#7887=PRODUCT('tmpl50','template',$,(#21759)); -#7888=PRODUCT_DEFINITION_FORMATION('1',$,#7887); -#7889=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Resist-B','tlist','is unknown', - #7829,#7886,'normal on Resist-B','',$,#7889); -#7890=MAPPED_ITEM('tlistt',#22524,#23); -#7891=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7893),#7892); -#7892=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7893=CSG_PRIMITIVE_SOLID_2D('',#7894); -#7894=CIRCULAR_AREA('',#24,17780.0); -#7895=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('normal passage tmpl48 via', - 'default plated passage based',#7897,#4,'',$,*); -#7896=PRODUCT('tmpl51','template',$,(#21759)); -#7897=PRODUCT_DEFINITION_FORMATION('1',$,#7896); -#7898=LAND_TEMPLATE_TERMINAL('join','join terminal',#7895,.T.); -#7899=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('isolate 0',$,#7897,#4,'',$,*); -#7900=PRODUCT_DEFINITION('tmpl51',$,#2291,#4); -#7901=REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP($,'derived from operation',$,#7900, - #2289); -#7902=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#7903=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#7905),#7904); -#7904=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#7905=CSG_PRIMITIVE_SOLID_2D('',#2284); -#7906=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer16','tlist','is unknown', - #7829,#7895,'normal on Wiring Layer16','',$,#7906); -#7907=MAPPED_ITEM('tlistt',#22528,#23); -#7908=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer16','tlist','is unknown', - #7829,#7899,'isolate 0 on Wiring Layer16','',$,#7908); -#7909=MAPPED_ITEM('tlistt',#22532,#23); -#7910=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer13','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer13','',$,#7910); -#7911=MAPPED_ITEM('tlistt',#22492,#23); -#7912=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer13','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer13','',$,#7912); -#7913=MAPPED_ITEM('tlistt',#22496,#23); -#7914=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer5','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer5','',$,#7914); -#7915=MAPPED_ITEM('tlistt',#22492,#23); -#7916=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer5','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer5','',$,#7916); -#7917=MAPPED_ITEM('tlistt',#22496,#23); -#7918=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer6','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer6','',$,#7918); -#7919=MAPPED_ITEM('tlistt',#22492,#23); -#7920=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer6','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer6','',$,#7920); -#7921=MAPPED_ITEM('tlistt',#22496,#23); -#7922=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer10','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer10','',$,#7922); -#7923=MAPPED_ITEM('tlistt',#22492,#23); -#7924=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer10','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer10','',$,#7924); -#7925=MAPPED_ITEM('tlistt',#22496,#23); -#7926=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer1','tlist','is unknown', - #7829,#7895,'normal on Wiring Layer1','',$,#7926); -#7927=MAPPED_ITEM('tlistt',#22528,#23); -#7928=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer1','tlist','is unknown', - #7829,#7899,'isolate 0 on Wiring Layer1','',$,#7928); -#7929=MAPPED_ITEM('tlistt',#22532,#23); -#7930=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer7','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer7','',$,#7930); -#7931=MAPPED_ITEM('tlistt',#22492,#23); -#7932=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer7','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer7','',$,#7932); -#7933=MAPPED_ITEM('tlistt',#22496,#23); -#7934=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Resist-A','tlist','is unknown', - #7829,#7886,'normal on Resist-A','',$,#7934); -#7935=MAPPED_ITEM('tlistt',#22524,#23); -#7936=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer11','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer11','',$,#7936); -#7937=MAPPED_ITEM('tlistt',#22492,#23); -#7938=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer11','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer11','',$,#7938); -#7939=MAPPED_ITEM('tlistt',#22496,#23); -#7940=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer12','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer12','',$,#7940); -#7941=MAPPED_ITEM('tlistt',#22492,#23); -#7942=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer12','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer12','',$,#7942); -#7943=MAPPED_ITEM('tlistt',#22496,#23); -#7944=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer15','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer15','',$,#7944); -#7945=MAPPED_ITEM('tlistt',#22492,#23); -#7946=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer15','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer15','',$,#7946); -#7947=MAPPED_ITEM('tlistt',#22496,#23); -#7948=STRATUM_SPECIFIC_TEMPLATE_LOCATION('isolate 0 on Wiring Layer4','tlist','is unknown', - #7829,#7855,'isolate 0 on Wiring Layer4','',$,#7948); -#7949=MAPPED_ITEM('tlistt',#22492,#23); -#7950=STRATUM_SPECIFIC_TEMPLATE_LOCATION('normal on Wiring Layer4','tlist','is unknown', - #7829,#7851,'normal on Wiring Layer4','',$,#7950); -#7951=MAPPED_ITEM('tlistt',#22496,#23); -#7952=PADSTACK_OCCURRENCE('V8 of net1',$,#7831,#4,'V8 of net1','definition usage', - $,#7829,*,'',$,*); -#7953=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V8 of net1 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V8 of net1 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7954=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V8 of net1 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V8 of net1 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7955=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#190,#4,'',$,*); -#7956=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V8 of net1 drill','component termination passage', - #7835,#4,'V8 of net1 drill','definition usage',$,#7840,*,'',$,*); -#7957=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V8 of net1 normal on Resist-A', - $,#7888,#4,'V8 of net1 normal on Resist-A','definition usage',$,#7886, - *,'',$,*); -#7958=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V8 of net1','',$,#223,#7829, - 'V8 of net1','',$,#7952,*); -#7959=PRODUCT_DEFINITION_SHAPE('',$,#7958); -#7960=COMPONENT_2D_LOCATION(*,#7959,'component 2d location',$,#7832,#224,#7828); -#7961=CARTESIAN_POINT('',(1048512.0,2445436.0)); -#7962=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#7961,1.0); -#7963=PADSTACK_OCCURRENCE('V1 of net1',$,#7831,#4,'V1 of net1','definition usage', - $,#7829,*,'',$,*); -#7964=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net1 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net1 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7965=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net1 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net1 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7966=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V1 of net1 drill','component termination passage', - #7835,#4,'V1 of net1 drill','definition usage',$,#7840,*,'',$,*); -#7967=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V1 of net1 normal on Resist-A', - $,#7888,#4,'V1 of net1 normal on Resist-A','definition usage',$,#7886, - *,'',$,*); -#7968=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V1 of net1','',$,#223,#7829, - 'V1 of net1','',$,#7963,*); -#7969=PRODUCT_DEFINITION_SHAPE('',$,#7968); -#7970=COMPONENT_2D_LOCATION(*,#7969,'component 2d location',$,#7832,#224,#7962); -#7971=CARTESIAN_POINT('',(2951810.0,2045234.0)); -#7972=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#7971,1.0); -#7973=PADSTACK_OCCURRENCE('V6 of net1',$,#7831,#4,'V6 of net1','definition usage', - $,#7829,*,'',$,*); -#7974=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net1 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net1 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7975=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net1 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net1 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7976=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#190,#4,'',$,*); -#7977=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V6 of net1 drill','component termination passage', - #7835,#4,'V6 of net1 drill','definition usage',$,#7840,*,'',$,*); -#7978=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V6 of net1 normal on Resist-B', - $,#7888,#4,'V6 of net1 normal on Resist-B','definition usage',$,#7886, - *,'',$,*); -#7979=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V6 of net1','',$,#223,#7829, - 'V6 of net1','',$,#7973,*); -#7980=PRODUCT_DEFINITION_SHAPE('',$,#7979); -#7981=COMPONENT_2D_LOCATION(*,#7980,'component 2d location',$,#7832,#224,#7972); -#7982=CARTESIAN_POINT('',(348564.0,2245512.0)); -#7983=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#7982,1.0); -#7984=PADSTACK_OCCURRENCE('V12 of net1',$,#7831,#4,'V12 of net1','definition usage', - $,#7829,*,'',$,*); -#7985=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V12 of net1 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V12 of net1 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7986=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V12 of net1 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V12 of net1 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7987=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V12 of net1 drill','component termination passage', - #7835,#4,'V12 of net1 drill','definition usage',$,#7840,*,'',$,*); -#7988=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V12 of net1 normal on Resist-A', - $,#7888,#4,'V12 of net1 normal on Resist-A','definition usage',$,#7886, - *,'',$,*); -#7989=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V12 of net1','',$,#223, - #7829,'V12 of net1','',$,#7984,*); -#7990=PRODUCT_DEFINITION_SHAPE('',$,#7989); -#7991=COMPONENT_2D_LOCATION(*,#7990,'component 2d location',$,#7832,#224,#7983); -#7992=CARTESIAN_POINT('',(2910916.0,2004086.0)); -#7993=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#7992,1.0); -#7994=PADSTACK_OCCURRENCE('V7 of net1',$,#7700,#4,'V7 of net1','definition usage', - $,#7698,*,'',$,*); -#7995=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7996=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7997=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7998=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7999=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8000=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8001=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8002=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8003=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8004=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8005=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8006=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8007=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8008=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net1 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net1 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8009=BURIED_VIA('V7 of net1 drill','component termination passage',#7704, - #4,'V7 of net1 drill','definition usage',$,#7709,*,'',$,*); -#8010=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V7 of net1','',$,#223,#7698, - 'V7 of net1','',$,#7994,*); -#8011=PRODUCT_DEFINITION_SHAPE('',$,#8010); -#8012=COMPONENT_2D_LOCATION(*,#8011,'component 2d location',$,#7701,#224,#7993); -#8013=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#4710,1.0); -#8014=PADSTACK_OCCURRENCE('V16 of net1',$,#7700,#4,'V16 of net1','definition usage', - $,#7698,*,'',$,*); -#8015=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8016=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8017=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8018=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8019=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8020=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8021=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8022=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8023=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8024=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8025=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8026=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8027=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8028=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net1 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net1 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8029=BURIED_VIA('V16 of net1 drill','component termination passage',#7704, - #4,'V16 of net1 drill','definition usage',$,#7709,*,'',$,*); -#8030=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V16 of net1','',$,#223, - #7698,'V16 of net1','',$,#8014,*); -#8031=PRODUCT_DEFINITION_SHAPE('',$,#8030); -#8032=COMPONENT_2D_LOCATION(*,#8031,'component 2d location',$,#7701,#224,#8013); -#8033=CARTESIAN_POINT('',(2951810.0,1845234.0)); -#8034=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8033,1.0); -#8035=PADSTACK_OCCURRENCE('V2 of net1',$,#7831,#4,'V2 of net1','definition usage', - $,#7829,*,'',$,*); -#8036=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net1 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net1 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8037=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net1 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net1 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8038=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V2 of net1 drill','component termination passage', - #7835,#4,'V2 of net1 drill','definition usage',$,#7840,*,'',$,*); -#8039=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V2 of net1 normal on Resist-B', - $,#7888,#4,'V2 of net1 normal on Resist-B','definition usage',$,#7886, - *,'',$,*); -#8040=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V2 of net1','',$,#223,#7829, - 'V2 of net1','',$,#8035,*); -#8041=PRODUCT_DEFINITION_SHAPE('',$,#8040); -#8042=COMPONENT_2D_LOCATION(*,#8041,'component 2d location',$,#7832,#224,#8034); -#8043=CARTESIAN_POINT('',(2910916.0,1804086.0)); -#8044=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8043,1.0); -#8045=PADSTACK_OCCURRENCE('V3 of net1',$,#7700,#4,'V3 of net1','definition usage', - $,#7698,*,'',$,*); -#8046=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8047=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8048=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8049=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8050=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8051=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8052=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8053=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8054=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8055=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8056=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8057=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8058=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8059=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net1 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net1 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8060=BURIED_VIA('V3 of net1 drill','component termination passage',#7704, - #4,'V3 of net1 drill','definition usage',$,#7709,*,'',$,*); -#8061=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V3 of net1','',$,#223,#7698, - 'V3 of net1','',$,#8045,*); -#8062=PRODUCT_DEFINITION_SHAPE('',$,#8061); -#8063=COMPONENT_2D_LOCATION(*,#8062,'component 2d location',$,#7701,#224,#8044); -#8064=CARTESIAN_POINT('',(348564.0,2345512.0)); -#8065=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8064,1.0); -#8066=PADSTACK_OCCURRENCE('V10 of net1',$,#7831,#4,'V10 of net1','definition usage', - $,#7829,*,'',$,*); -#8067=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net1 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net1 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8068=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net1 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net1 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8069=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V10 of net1 drill','component termination passage', - #7835,#4,'V10 of net1 drill','definition usage',$,#7840,*,'',$,*); -#8070=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V10 of net1 normal on Resist-A', - $,#7888,#4,'V10 of net1 normal on Resist-A','definition usage',$,#7886, - *,'',$,*); -#8071=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V10 of net1','',$,#223, - #7829,'V10 of net1','',$,#8066,*); -#8072=PRODUCT_DEFINITION_SHAPE('',$,#8071); -#8073=COMPONENT_2D_LOCATION(*,#8072,'component 2d location',$,#7832,#224,#8065); -#8074=CARTESIAN_POINT('',(307924.0,2286152.0)); -#8075=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8074,1.0); -#8076=PADSTACK_OCCURRENCE('V13 of net1',$,#7700,#4,'V13 of net1','definition usage', - $,#7698,*,'',$,*); -#8077=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8078=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8079=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8080=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8081=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8082=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8083=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8084=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8085=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8086=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8087=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8088=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8089=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8090=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net1 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net1 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8091=BURIED_VIA('V13 of net1 drill','component termination passage',#7704, - #4,'V13 of net1 drill','definition usage',$,#7709,*,'',$,*); -#8092=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V13 of net1','',$,#223, - #7698,'V13 of net1','',$,#8076,*); -#8093=PRODUCT_DEFINITION_SHAPE('',$,#8092); -#8094=COMPONENT_2D_LOCATION(*,#8093,'component 2d location',$,#7701,#224,#8075); -#8095=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5009,1.0); -#8096=PADSTACK_OCCURRENCE('V15 of net1',$,#7700,#4,'V15 of net1','definition usage', - $,#7698,*,'',$,*); -#8097=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8098=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8099=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8100=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8101=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8102=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8103=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8104=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8105=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8106=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8107=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8108=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8109=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8110=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net1 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net1 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8111=BURIED_VIA('V15 of net1 drill','component termination passage',#7704, - #4,'V15 of net1 drill','definition usage',$,#7709,*,'',$,*); -#8112=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V15 of net1','',$,#223, - #7698,'V15 of net1','',$,#8096,*); -#8113=PRODUCT_DEFINITION_SHAPE('',$,#8112); -#8114=COMPONENT_2D_LOCATION(*,#8113,'component 2d location',$,#7701,#224,#8095); -#8115=CARTESIAN_POINT('',(2951810.0,1945234.0)); -#8116=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8115,1.0); -#8117=PADSTACK_OCCURRENCE('V4 of net1',$,#7831,#4,'V4 of net1','definition usage', - $,#7829,*,'',$,*); -#8118=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net1 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net1 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8119=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net1 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net1 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8120=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V4 of net1 drill','component termination passage', - #7835,#4,'V4 of net1 drill','definition usage',$,#7840,*,'',$,*); -#8121=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V4 of net1 normal on Resist-B', - $,#7888,#4,'V4 of net1 normal on Resist-B','definition usage',$,#7886, - *,'',$,*); -#8122=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V4 of net1','',$,#223,#7829, - 'V4 of net1','',$,#8117,*); -#8123=PRODUCT_DEFINITION_SHAPE('',$,#8122); -#8124=COMPONENT_2D_LOCATION(*,#8123,'component 2d location',$,#7832,#224,#8116); -#8125=CARTESIAN_POINT('',(307924.0,2386152.0)); -#8126=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8125,1.0); -#8127=PADSTACK_OCCURRENCE('V11 of net1',$,#7700,#4,'V11 of net1','definition usage', - $,#7698,*,'',$,*); -#8128=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8129=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8130=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8131=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8132=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8133=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8134=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8135=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8136=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8137=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8138=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8139=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8140=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8141=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net1 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net1 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8142=BURIED_VIA('V11 of net1 drill','component termination passage',#7704, - #4,'V11 of net1 drill','definition usage',$,#7709,*,'',$,*); -#8143=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V11 of net1','',$,#223, - #7698,'V11 of net1','',$,#8127,*); -#8144=PRODUCT_DEFINITION_SHAPE('',$,#8143); -#8145=COMPONENT_2D_LOCATION(*,#8144,'component 2d location',$,#7701,#224,#8126); -#8146=CARTESIAN_POINT('',(307924.0,2186152.0)); -#8147=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8146,1.0); -#8148=PADSTACK_OCCURRENCE('V9 of net1',$,#7700,#4,'V9 of net1','definition usage', - $,#7698,*,'',$,*); -#8149=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8150=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8151=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8152=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8153=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8154=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8155=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8156=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8157=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8158=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8159=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8160=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8161=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8162=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net1 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net1 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8163=BURIED_VIA('V9 of net1 drill','component termination passage',#7704, - #4,'V9 of net1 drill','definition usage',$,#7709,*,'',$,*); -#8164=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V9 of net1','',$,#223,#7698, - 'V9 of net1','',$,#8148,*); -#8165=PRODUCT_DEFINITION_SHAPE('',$,#8164); -#8166=COMPONENT_2D_LOCATION(*,#8165,'component 2d location',$,#7701,#224,#8147); -#8167=CARTESIAN_POINT('',(3652266.0,1745310.0)); -#8168=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8167,1.0); -#8169=PADSTACK_OCCURRENCE('V14 of net1',$,#7831,#4,'V14 of net1','definition usage', - $,#7829,*,'',$,*); -#8170=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net1 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net1 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8171=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net1 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net1 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8172=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V14 of net1 drill','component termination passage', - #7835,#4,'V14 of net1 drill','definition usage',$,#7840,*,'',$,*); -#8173=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V14 of net1 normal on Resist-B', - $,#7888,#4,'V14 of net1 normal on Resist-B','definition usage',$,#7886, - *,'',$,*); -#8174=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V14 of net1','',$,#223, - #7829,'V14 of net1','',$,#8169,*); -#8175=PRODUCT_DEFINITION_SHAPE('',$,#8174); -#8176=COMPONENT_2D_LOCATION(*,#8175,'component 2d location',$,#7832,#224,#8168); -#8177=LAYER_CONNECTION_POINT('juncpt JP30 of net net1','explicitly located', - #311,.U.); -#8178=LAYER_CONNECTION_POINT('juncpt JP9 of net net1','explicitly located', - #307,.U.); -#8179=LAYER_CONNECTION_POINT('juncpt JP10 of net net1','explicitly located', - #307,.U.); -#8180=LAYER_CONNECTION_POINT('juncpt JP1 of net net1','explicitly located', - #297,.U.); -#8181=LAYER_CONNECTION_POINT('juncpt JP11 of net net1','explicitly located', - #307,.U.); -#8182=LAYER_CONNECTION_POINT('juncpt JP20 of net net1','explicitly located', - #285,.U.); -#8183=LAYER_CONNECTION_POINT('juncpt JP31 of net net1','explicitly located', - #311,.U.); -#8184=LAYER_CONNECTION_POINT('juncpt JP32 of net net1','explicitly located', - #311,.U.); -#8185=LAYER_CONNECTION_POINT('juncpt JP21 of net net1','explicitly located', - #285,.U.); -#8186=LAYER_CONNECTION_POINT('juncpt JP12 of net net1','explicitly located', - #307,.U.); -#8187=LAYER_CONNECTION_POINT('juncpt JP7 of net net1','explicitly located', - #297,.U.); -#8188=LAYER_CONNECTION_POINT('juncpt JP18 of net net1','explicitly located', - #285,.U.); -#8189=LAYER_CONNECTION_POINT('juncpt JP22 of net net1','explicitly located', - #285,.U.); -#8190=LAYER_CONNECTION_POINT('juncpt JP17 of net net1','explicitly located', - #285,.U.); -#8191=LAYER_CONNECTION_POINT('juncpt JP2 of net net1','explicitly located', - #297,.U.); -#8192=LAYER_CONNECTION_POINT('juncpt JP23 of net net1','explicitly located', - #285,.U.); -#8193=LAYER_CONNECTION_POINT('juncpt JP8 of net net1','explicitly located', - #297,.U.); -#8194=LAYER_CONNECTION_POINT('juncpt JP15 of net net1','explicitly located', - #307,.U.); -#8195=LAYER_CONNECTION_POINT('juncpt JP16 of net net1','explicitly located', - #307,.U.); -#8196=LAYER_CONNECTION_POINT('juncpt JP29 of net net1','explicitly located', - #311,.U.); -#8197=LAYER_CONNECTION_POINT('juncpt JP14 of net net1','explicitly located', - #307,.U.); -#8198=LAYER_CONNECTION_POINT('juncpt JP24 of net net1','explicitly located', - #285,.U.); -#8199=LAYER_CONNECTION_POINT('juncpt JP4 of net net1','explicitly located', - #297,.U.); -#8200=LAYER_CONNECTION_POINT('juncpt JP28 of net net1','explicitly located', - #311,.U.); -#8201=LAYER_CONNECTION_POINT('juncpt JP19 of net net1','explicitly located', - #285,.U.); -#8202=LAYER_CONNECTION_POINT('juncpt JP5 of net net1','explicitly located', - #297,.U.); -#8203=LAYER_CONNECTION_POINT('juncpt JP27 of net net1','explicitly located', - #311,.U.); -#8204=LAYER_CONNECTION_POINT('juncpt JP6 of net net1','explicitly located', - #297,.U.); -#8205=LAYER_CONNECTION_POINT('juncpt JP3 of net net1','explicitly located', - #297,.U.); -#8206=LAYER_CONNECTION_POINT('juncpt JP26 of net net1','explicitly located', - #311,.U.); -#8207=LAYER_CONNECTION_POINT('juncpt JP25 of net net1','explicitly located', - #311,.U.); -#8208=LAYER_CONNECTION_POINT('juncpt JP13 of net net1','explicitly located', - #307,.U.); -#8209=CARTESIAN_POINT('',(507848.0,1704924.0)); -#8210=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8209,1.0); -#8211=PADSTACK_OCCURRENCE('V3 of net2',$,#7700,#4,'V3 of net2','definition usage', - $,#7698,*,'',$,*); -#8212=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8213=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8214=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8215=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8216=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8217=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8218=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8219=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8220=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8221=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8222=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8223=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8224=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8225=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net2 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net2 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8226=BURIED_VIA('V3 of net2 drill','component termination passage',#7704,#4,'V3 of net2 drill', - 'definition usage',$,#7709,*,'',$,*); -#8227=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V3 of net2','',$,#223,#7698, - 'V3 of net2','',$,#8211,*); -#8228=PRODUCT_DEFINITION_SHAPE('',$,#8227); -#8229=COMPONENT_2D_LOCATION(*,#8228,'component 2d location',$,#7701,#224,#8210); -#8230=CARTESIAN_POINT('',(548488.0,1745564.0)); -#8231=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8230,1.0); -#8232=PADSTACK_OCCURRENCE('V4 of net2',$,#7831,#4,'V4 of net2','definition usage', - $,#7829,*,'',$,*); -#8233=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net2 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net2 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8234=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net2 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net2 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8235=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V4 of net2 drill','component termination passage', - #7835,#4,'V4 of net2 drill','definition usage',$,#7840,*,'',$,*); -#8236=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V4 of net2 normal on Resist-A',$,#7888, - #4,'V4 of net2 normal on Resist-A','definition usage',$,#7886,*,'',$,*); -#8237=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V4 of net2','',$,#223,#7829, - 'V4 of net2','',$,#8232,*); -#8238=PRODUCT_DEFINITION_SHAPE('',$,#8237); -#8239=COMPONENT_2D_LOCATION(*,#8238,'component 2d location',$,#7832,#224,#8231); -#8240=CARTESIAN_POINT('',(3051810.0,1745234.0)); -#8241=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8240,1.0); -#8242=PADSTACK_OCCURRENCE('V1 of net2',$,#7831,#4,'V1 of net2','definition usage', - $,#7829,*,'',$,*); -#8243=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net2 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net2 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8244=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net2 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net2 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8245=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V1 of net2 drill','component termination passage', - #7835,#4,'V1 of net2 drill','definition usage',$,#7840,*,'',$,*); -#8246=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V1 of net2 normal on Resist-B',$,#7888, - #4,'V1 of net2 normal on Resist-B','definition usage',$,#7886,*,'',$,*); -#8247=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V1 of net2','',$,#223,#7829, - 'V1 of net2','',$,#8242,*); -#8248=PRODUCT_DEFINITION_SHAPE('',$,#8247); -#8249=COMPONENT_2D_LOCATION(*,#8248,'component 2d location',$,#7832,#224,#8241); -#8250=CARTESIAN_POINT('',(3010916.0,1704086.0)); -#8251=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8250,1.0); -#8252=PADSTACK_OCCURRENCE('V2 of net2',$,#7700,#4,'V2 of net2','definition usage', - $,#7698,*,'',$,*); -#8253=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8254=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8255=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8256=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8257=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8258=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8259=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8260=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8261=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8262=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8263=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8264=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8265=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8266=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net2 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net2 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8267=BURIED_VIA('V2 of net2 drill','component termination passage',#7704,#4,'V2 of net2 drill', - 'definition usage',$,#7709,*,'',$,*); -#8268=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V2 of net2','',$,#223,#7698, - 'V2 of net2','',$,#8252,*); -#8269=PRODUCT_DEFINITION_SHAPE('',$,#8268); -#8270=COMPONENT_2D_LOCATION(*,#8269,'component 2d location',$,#7701,#224,#8251); -#8271=LAYER_CONNECTION_POINT('juncpt JP12 of net net2','explicitly located',#311, - .U.); -#8272=LAYER_CONNECTION_POINT('juncpt JP6 of net net2','explicitly located',#303, - .U.); -#8273=LAYER_CONNECTION_POINT('juncpt JP3 of net net2','explicitly located',#307, - .U.); -#8274=LAYER_CONNECTION_POINT('juncpt JP7 of net net2','explicitly located',#285, - .U.); -#8275=CARTESIAN_POINT('',(3010789.0,1704213.0)); -#8276=LAYER_CONNECTION_POINT('juncpt JP9 of net net2','explicitly located',#285, - .U.); -#8277=LAYER_CONNECTION_POINT('juncpt JP10 of net net2','explicitly located',#285, - .U.); -#8278=LAYER_CONNECTION_POINT('juncpt JP1 of net net2','explicitly located',#297, - .U.); -#8279=LAYER_CONNECTION_POINT('juncpt JP4 of net net2','explicitly located',#307, - .U.); -#8280=LAYER_CONNECTION_POINT('juncpt JP2 of net net2','explicitly located',#297, - .U.); -#8281=LAYER_CONNECTION_POINT('juncpt JP11 of net net2','explicitly located',#311, - .U.); -#8282=LAYER_CONNECTION_POINT('juncpt JP8 of net net2','explicitly located',#285, - .U.); -#8283=LAYER_CONNECTION_POINT('juncpt JP5 of net net2','explicitly located',#303, - .U.); -#8284=CARTESIAN_POINT('',(748436.0,1845488.0)); -#8285=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8284,1.0); -#8286=PADSTACK_OCCURRENCE('V3 of net3',$,#7831,#4,'V3 of net3','definition usage', - $,#7829,*,'',$,*); -#8287=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net3 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net3 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8288=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net3 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net3 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8289=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V3 of net3 drill','component termination passage', - #7835,#4,'V3 of net3 drill','definition usage',$,#7840,*,'',$,*); -#8290=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V3 of net3 normal on Resist-A',$,#7888, - #4,'V3 of net3 normal on Resist-A','definition usage',$,#7886,*,'',$,*); -#8291=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V3 of net3','',$,#223,#7829, - 'V3 of net3','',$,#8286,*); -#8292=PRODUCT_DEFINITION_SHAPE('',$,#8291); -#8293=COMPONENT_2D_LOCATION(*,#8292,'component 2d location',$,#7832,#224,#8285); -#8294=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5043,1.0); -#8295=PADSTACK_OCCURRENCE('V4 of net3',$,#7700,#4,'V4 of net3','definition usage', - $,#7698,*,'',$,*); -#8296=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8297=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8298=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8299=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8300=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8301=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8302=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8303=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8304=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8305=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8306=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8307=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8308=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8309=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net3 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net3 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8310=BURIED_VIA('V4 of net3 drill','component termination passage',#7704,#4, - 'V4 of net3 drill','definition usage',$,#7709,*,'',$,*); -#8311=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V4 of net3','',$,#223,#7698, - 'V4 of net3','',$,#8295,*); -#8312=PRODUCT_DEFINITION_SHAPE('',$,#8311); -#8313=COMPONENT_2D_LOCATION(*,#8312,'component 2d location',$,#7701,#224,#8294); -#8314=CARTESIAN_POINT('',(3352190.0,2345766.0)); -#8315=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8314,1.0); -#8316=PADSTACK_OCCURRENCE('V1 of net3',$,#7831,#4,'V1 of net3','definition usage', - $,#7829,*,'',$,*); -#8317=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net3 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net3 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8318=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net3 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net3 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8319=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V1 of net3 drill','component termination passage', - #7835,#4,'V1 of net3 drill','definition usage',$,#7840,*,'',$,*); -#8320=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V1 of net3 normal on Resist-B',$,#7888, - #4,'V1 of net3 normal on Resist-B','definition usage',$,#7886,*,'',$,*); -#8321=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V1 of net3','',$,#223,#7829, - 'V1 of net3','',$,#8316,*); -#8322=PRODUCT_DEFINITION_SHAPE('',$,#8321); -#8323=COMPONENT_2D_LOCATION(*,#8322,'component 2d location',$,#7832,#224,#8315); -#8324=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5181,1.0); -#8325=PADSTACK_OCCURRENCE('V2 of net3',$,#7700,#4,'V2 of net3','definition usage', - $,#7698,*,'',$,*); -#8326=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8327=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8328=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8329=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8330=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8331=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8332=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8333=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8334=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8335=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8336=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8337=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8338=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8339=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net3 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net3 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8340=BURIED_VIA('V2 of net3 drill','component termination passage',#7704,#4, - 'V2 of net3 drill','definition usage',$,#7709,*,'',$,*); -#8341=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V2 of net3','',$,#223,#7698, - 'V2 of net3','',$,#8325,*); -#8342=PRODUCT_DEFINITION_SHAPE('',$,#8341); -#8343=COMPONENT_2D_LOCATION(*,#8342,'component 2d location',$,#7701,#224,#8324); -#8344=CARTESIAN_POINT('',(3393211.0,2386787.0)); -#8345=LAYER_CONNECTION_POINT('juncpt JP6 of net net3','explicitly located',#285, - .U.); -#8346=LAYER_CONNECTION_POINT('juncpt JP3 of net net3','explicitly located',#307, - .U.); -#8347=LAYER_CONNECTION_POINT('juncpt JP7 of net net3','explicitly located',#285, - .U.); -#8348=LAYER_CONNECTION_POINT('juncpt JP9 of net net3','explicitly located',#311, - .U.); -#8349=LAYER_CONNECTION_POINT('juncpt JP10 of net net3','explicitly located',#311, - .U.); -#8350=LAYER_CONNECTION_POINT('juncpt JP1 of net net3','explicitly located',#297, - .U.); -#8351=LAYER_CONNECTION_POINT('juncpt JP4 of net net3','explicitly located',#307, - .U.); -#8352=LAYER_CONNECTION_POINT('juncpt JP2 of net net3','explicitly located',#297, - .U.); -#8353=LAYER_CONNECTION_POINT('juncpt JP8 of net net3','explicitly located',#285, - .U.); -#8354=LAYER_CONNECTION_POINT('juncpt JP5 of net net3','explicitly located',#285, - .U.); -#8355=CARTESIAN_POINT('',(607848.0,1704924.0)); -#8356=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8355,1.0); -#8357=PADSTACK_OCCURRENCE('V3 of net4',$,#7700,#4,'V3 of net4','definition usage', - $,#7698,*,'',$,*); -#8358=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8359=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8360=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8361=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8362=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8363=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8364=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8365=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8366=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8367=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8368=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8369=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8370=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8371=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net4 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net4 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8372=BURIED_VIA('V3 of net4 drill','component termination passage',#7704,#4,'V3 of net4 drill', - 'definition usage',$,#7709,*,'',$,*); -#8373=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V3 of net4','',$,#223,#7698, - 'V3 of net4','',$,#8357,*); -#8374=PRODUCT_DEFINITION_SHAPE('',$,#8373); -#8375=COMPONENT_2D_LOCATION(*,#8374,'component 2d location',$,#7701,#224,#8356); -#8376=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5112,1.0); -#8377=PADSTACK_OCCURRENCE('V4 of net4',$,#7700,#4,'V4 of net4','definition usage', - $,#7698,*,'',$,*); -#8378=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8379=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8380=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8381=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8382=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8383=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8384=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8385=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8386=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8387=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8388=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8389=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8390=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8391=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net4 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net4 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8392=BURIED_VIA('V4 of net4 drill','component termination passage',#7704,#4,'V4 of net4 drill', - 'definition usage',$,#7709,*,'',$,*); -#8393=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V4 of net4','',$,#223,#7698, - 'V4 of net4','',$,#8377,*); -#8394=PRODUCT_DEFINITION_SHAPE('',$,#8393); -#8395=COMPONENT_2D_LOCATION(*,#8394,'component 2d location',$,#7701,#224,#8376); -#8396=CARTESIAN_POINT('',(3151810.0,2045234.0)); -#8397=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8396,1.0); -#8398=PADSTACK_OCCURRENCE('V1 of net4',$,#7831,#4,'V1 of net4','definition usage', - $,#7829,*,'',$,*); -#8399=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net4 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net4 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8400=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net4 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net4 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8401=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V1 of net4 drill','component termination passage', - #7835,#4,'V1 of net4 drill','definition usage',$,#7840,*,'',$,*); -#8402=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V1 of net4 normal on Resist-B',$,#7888, - #4,'V1 of net4 normal on Resist-B','definition usage',$,#7886,*,'',$,*); -#8403=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V1 of net4','',$,#223,#7829, - 'V1 of net4','',$,#8398,*); -#8404=PRODUCT_DEFINITION_SHAPE('',$,#8403); -#8405=COMPONENT_2D_LOCATION(*,#8404,'component 2d location',$,#7832,#224,#8397); -#8406=CARTESIAN_POINT('',(648488.0,1745564.0)); -#8407=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8406,1.0); -#8408=PADSTACK_OCCURRENCE('V2 of net4',$,#7831,#4,'V2 of net4','definition usage', - $,#7829,*,'',$,*); -#8409=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net4 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net4 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8410=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net4 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net4 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8411=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V2 of net4 drill','component termination passage', - #7835,#4,'V2 of net4 drill','definition usage',$,#7840,*,'',$,*); -#8412=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V2 of net4 normal on Resist-A',$,#7888, - #4,'V2 of net4 normal on Resist-A','definition usage',$,#7886,*,'',$,*); -#8413=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V2 of net4','',$,#223,#7829, - 'V2 of net4','',$,#8408,*); -#8414=PRODUCT_DEFINITION_SHAPE('',$,#8413); -#8415=COMPONENT_2D_LOCATION(*,#8414,'component 2d location',$,#7832,#224,#8407); -#8416=LAYER_CONNECTION_POINT('juncpt JP12 of net net4','explicitly located',#311, - .U.); -#8417=LAYER_CONNECTION_POINT('juncpt JP6 of net net4','explicitly located',#257, - .U.); -#8418=LAYER_CONNECTION_POINT('juncpt JP3 of net net4','explicitly located',#307, - .U.); -#8419=LAYER_CONNECTION_POINT('juncpt JP7 of net net4','explicitly located',#285, - .U.); -#8420=CARTESIAN_POINT('',(3110789.0,2004213.0)); -#8421=LAYER_CONNECTION_POINT('juncpt JP9 of net net4','explicitly located',#285, - .U.); -#8422=LAYER_CONNECTION_POINT('juncpt JP10 of net net4','explicitly located',#285, - .U.); -#8423=LAYER_CONNECTION_POINT('juncpt JP1 of net net4','explicitly located',#297, - .U.); -#8424=LAYER_CONNECTION_POINT('juncpt JP4 of net net4','explicitly located',#307, - .U.); -#8425=LAYER_CONNECTION_POINT('juncpt JP2 of net net4','explicitly located',#297, - .U.); -#8426=LAYER_CONNECTION_POINT('juncpt JP11 of net net4','explicitly located',#311, - .U.); -#8427=LAYER_CONNECTION_POINT('juncpt JP8 of net net4','explicitly located',#285, - .U.); -#8428=LAYER_CONNECTION_POINT('juncpt JP5 of net net4','explicitly located',#257, - .U.); -#8429=CARTESIAN_POINT('',(3452266.0,1945310.0)); -#8430=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8429,1.0); -#8431=PADSTACK_OCCURRENCE('V1 of net5',$,#7831,#4,'V1 of net5','definition usage', - $,#7829,*,'',$,*); -#8432=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net5 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net5 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8433=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net5 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net5 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8434=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V1 of net5 drill','component termination passage', - #7835,#4,'V1 of net5 drill','definition usage',$,#7840,*,'',$,*); -#8435=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V1 of net5 normal on Resist-B',$,#7888, - #4,'V1 of net5 normal on Resist-B','definition usage',$,#7886,*,'',$,*); -#8436=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V1 of net5','',$,#223,#7829, - 'V1 of net5','',$,#8431,*); -#8437=PRODUCT_DEFINITION_SHAPE('',$,#8436); -#8438=COMPONENT_2D_LOCATION(*,#8437,'component 2d location',$,#7832,#224,#8430); -#8439=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5048,1.0); -#8440=PADSTACK_OCCURRENCE('V2 of net5',$,#7700,#4,'V2 of net5','definition usage', - $,#7698,*,'',$,*); -#8441=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8442=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8443=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8444=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8445=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8446=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8447=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8448=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8449=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8450=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8451=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8452=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8453=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8454=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net5 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net5 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8455=BURIED_VIA('V2 of net5 drill','component termination passage',#7704,#4,'V2 of net5 drill', - 'definition usage',$,#7709,*,'',$,*); -#8456=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V2 of net5','',$,#223,#7698, - 'V2 of net5','',$,#8440,*); -#8457=PRODUCT_DEFINITION_SHAPE('',$,#8456); -#8458=COMPONENT_2D_LOCATION(*,#8457,'component 2d location',$,#7701,#224,#8439); -#8459=LAYER_CONNECTION_POINT('juncpt JP6 of net net5','explicitly located',#285, - .U.); -#8460=LAYER_CONNECTION_POINT('juncpt JP3 of net net5','explicitly located',#285, - .U.); -#8461=LAYER_CONNECTION_POINT('juncpt JP7 of net net5','explicitly located',#311, - .U.); -#8462=LAYER_CONNECTION_POINT('juncpt JP1 of net net5','explicitly located',#273, - .U.); -#8463=CARTESIAN_POINT('',(3493287.0,1904289.0)); -#8464=LAYER_CONNECTION_POINT('juncpt JP4 of net net5','explicitly located',#285, - .U.); -#8465=LAYER_CONNECTION_POINT('juncpt JP2 of net net5','explicitly located',#273, - .U.); -#8466=LAYER_CONNECTION_POINT('juncpt JP8 of net net5','explicitly located',#311, - .U.); -#8467=LAYER_CONNECTION_POINT('juncpt JP5 of net net5','explicitly located',#285, - .U.); -#8468=CARTESIAN_POINT('',(748436.0,2045488.0)); -#8469=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8468,1.0); -#8470=PADSTACK_OCCURRENCE('V1 of net6',$,#7831,#4,'V1 of net6','definition usage', - $,#7829,*,'',$,*); -#8471=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net6 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net6 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8472=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net6 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net6 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8473=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V1 of net6 drill','component termination passage', - #7835,#4,'V1 of net6 drill','definition usage',$,#7840,*,'',$,*); -#8474=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V1 of net6 normal on Resist-A',$,#7888, - #4,'V1 of net6 normal on Resist-A','definition usage',$,#7886,*,'',$,*); -#8475=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V1 of net6','',$,#223,#7829, - 'V1 of net6','',$,#8470,*); -#8476=PRODUCT_DEFINITION_SHAPE('',$,#8475); -#8477=COMPONENT_2D_LOCATION(*,#8476,'component 2d location',$,#7832,#224,#8469); -#8478=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5114,1.0); -#8479=PADSTACK_OCCURRENCE('V2 of net6',$,#7700,#4,'V2 of net6','definition usage', - $,#7698,*,'',$,*); -#8480=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8481=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8482=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8483=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8484=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8485=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8486=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8487=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8488=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8489=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8490=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8491=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8492=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8493=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net6 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net6 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8494=BURIED_VIA('V2 of net6 drill','component termination passage',#7704,#4,'V2 of net6 drill', - 'definition usage',$,#7709,*,'',$,*); -#8495=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V2 of net6','',$,#223,#7698, - 'V2 of net6','',$,#8479,*); -#8496=PRODUCT_DEFINITION_SHAPE('',$,#8495); -#8497=COMPONENT_2D_LOCATION(*,#8496,'component 2d location',$,#7701,#224,#8478); -#8498=LAYER_CONNECTION_POINT('juncpt JP6 of net net6','explicitly located',#303, - .U.); -#8499=LAYER_CONNECTION_POINT('juncpt JP3 of net net6','explicitly located',#307, - .U.); -#8500=LAYER_CONNECTION_POINT('juncpt JP1 of net net6','explicitly located',#297, - .U.); -#8501=LAYER_CONNECTION_POINT('juncpt JP4 of net net6','explicitly located',#307, - .U.); -#8502=LAYER_CONNECTION_POINT('juncpt JP2 of net net6','explicitly located',#297, - .U.); -#8503=LAYER_CONNECTION_POINT('juncpt JP5 of net net6','explicitly located',#303, - .U.); -#8504=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5317,1.0); -#8505=PADSTACK_OCCURRENCE('V23 of net7',$,#7700,#4,'V23 of net7','definition usage', - $,#7698,*,'',$,*); -#8506=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8507=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8508=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8509=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8510=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8511=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8512=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8513=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8514=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8515=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8516=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8517=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8518=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8519=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V23 of net7 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V23 of net7 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8520=BURIED_VIA('V23 of net7 drill','component termination passage',#7704,#4,'V23 of net7 drill', - 'definition usage',$,#7709,*,'',$,*); -#8521=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V23 of net7','',$,#223,#7698,'V23 of net7', - '',$,#8505,*); -#8522=PRODUCT_DEFINITION_SHAPE('',$,#8521); -#8523=COMPONENT_2D_LOCATION(*,#8522,'component 2d location',$,#7701,#224,#8504); -#8524=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5339,1.0); -#8525=PADSTACK_OCCURRENCE('V1 of net7',$,#2265,#4,'V1 of net7','definition usage', - $,#2263,*,'',$,*); -#8526=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8527=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8528=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8529=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8530=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8531=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8532=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8533=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8534=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8535=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8536=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8537=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8538=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8539=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8540=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8541=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8542=INTERFACIAL_CONNECTION('V1 of net7 drill','component termination passage',#2269, - #4,'V1 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8543=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V1 of net7 normal on Resist-A',$,#2326, - #4,'V1 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8544=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V1 of net7 normal on Resist-B',$,#2326, - #4,'V1 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8545=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V1 of net7','',$,#223,#2263,'V1 of net7', - '',$,#8525,*); -#8546=PRODUCT_DEFINITION_SHAPE('',$,#8545); -#8547=COMPONENT_2D_LOCATION(*,#8546,'component 2d location',$,#2266,#224,#8524); -#8548=CARTESIAN_POINT('',(1048436.0,2045488.0)); -#8549=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8548,1.0); -#8550=PADSTACK_OCCURRENCE('V24 of net7',$,#7831,#4,'V24 of net7','definition usage', - $,#7829,*,'',$,*); -#8551=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V24 of net7 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V24 of net7 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8552=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V24 of net7 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V24 of net7 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8553=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V24 of net7 drill','component termination passage', - #7835,#4,'V24 of net7 drill','definition usage',$,#7840,*,'',$,*); -#8554=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V24 of net7 normal on Resist-A',$,#7888, - #4,'V24 of net7 normal on Resist-A','definition usage',$,#7886,*,'',$,*); -#8555=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V24 of net7','',$,#223,#7829,'V24 of net7', - '',$,#8550,*); -#8556=PRODUCT_DEFINITION_SHAPE('',$,#8555); -#8557=COMPONENT_2D_LOCATION(*,#8556,'component 2d location',$,#7832,#224,#8549); -#8558=CARTESIAN_POINT('',(3652190.0,2145766.0)); -#8559=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8558,1.0); -#8560=PADSTACK_OCCURRENCE('V16 of net7',$,#7831,#4,'V16 of net7','definition usage', - $,#7829,*,'',$,*); -#8561=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net7 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net7 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8562=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V16 of net7 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V16 of net7 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8563=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V16 of net7 drill','component termination passage', - #7835,#4,'V16 of net7 drill','definition usage',$,#7840,*,'',$,*); -#8564=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V16 of net7 normal on Resist-B',$,#7888, - #4,'V16 of net7 normal on Resist-B','definition usage',$,#7886,*,'',$,*); -#8565=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V16 of net7','',$,#223,#7829,'V16 of net7', - '',$,#8560,*); -#8566=PRODUCT_DEFINITION_SHAPE('',$,#8565); -#8567=COMPONENT_2D_LOCATION(*,#8566,'component 2d location',$,#7832,#224,#8559); -#8568=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5337,1.0); -#8569=PADSTACK_OCCURRENCE('V2 of net7',$,#2265,#4,'V2 of net7','definition usage', - $,#2263,*,'',$,*); -#8570=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8571=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8572=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8573=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8574=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8575=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8576=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8577=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8578=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8579=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8580=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8581=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8582=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8583=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8584=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8585=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8586=INTERFACIAL_CONNECTION('V2 of net7 drill','component termination passage',#2269, - #4,'V2 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8587=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V2 of net7 normal on Resist-A',$,#2326, - #4,'V2 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8588=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V2 of net7 normal on Resist-B',$,#2326, - #4,'V2 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8589=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V2 of net7','',$,#223,#2263,'V2 of net7', - '',$,#8569,*); -#8590=PRODUCT_DEFINITION_SHAPE('',$,#8589); -#8591=COMPONENT_2D_LOCATION(*,#8590,'component 2d location',$,#2266,#224,#8568); -#8592=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5251,1.0); -#8593=PADSTACK_OCCURRENCE('V3 of net7',$,#2265,#4,'V3 of net7','definition usage', - $,#2263,*,'',$,*); -#8594=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8595=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8596=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8597=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8598=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8599=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8600=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8601=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8602=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8603=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8604=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8605=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8606=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8607=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8608=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8609=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8610=INTERFACIAL_CONNECTION('V3 of net7 drill','component termination passage',#2269, - #4,'V3 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8611=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V3 of net7 normal on Resist-A',$,#2326, - #4,'V3 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8612=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V3 of net7 normal on Resist-B',$,#2326, - #4,'V3 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8613=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V3 of net7','',$,#223,#2263,'V3 of net7', - '',$,#8593,*); -#8614=PRODUCT_DEFINITION_SHAPE('',$,#8613); -#8615=COMPONENT_2D_LOCATION(*,#8614,'component 2d location',$,#2266,#224,#8592); -#8616=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5319,1.0); -#8617=PADSTACK_OCCURRENCE('V15 of net7',$,#7700,#4,'V15 of net7','definition usage', - $,#7698,*,'',$,*); -#8618=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8619=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8620=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8621=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8622=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8623=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8624=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8625=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8626=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8627=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8628=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8629=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8630=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8631=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V15 of net7 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V15 of net7 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8632=BURIED_VIA('V15 of net7 drill','component termination passage',#7704,#4,'V15 of net7 drill', - 'definition usage',$,#7709,*,'',$,*); -#8633=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V15 of net7','',$,#223,#7698,'V15 of net7', - '',$,#8617,*); -#8634=PRODUCT_DEFINITION_SHAPE('',$,#8633); -#8635=COMPONENT_2D_LOCATION(*,#8634,'component 2d location',$,#7701,#224,#8616); -#8636=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5323,1.0); -#8637=PADSTACK_OCCURRENCE('V25 of net7',$,#7700,#4,'V25 of net7','definition usage', - $,#7698,*,'',$,*); -#8638=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8639=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8640=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8641=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8642=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8643=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8644=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8645=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8646=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8647=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8648=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8649=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8650=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8651=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V25 of net7 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V25 of net7 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8652=BURIED_VIA('V25 of net7 drill','component termination passage',#7704,#4,'V25 of net7 drill', - 'definition usage',$,#7709,*,'',$,*); -#8653=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V25 of net7','',$,#223,#7698,'V25 of net7', - '',$,#8637,*); -#8654=PRODUCT_DEFINITION_SHAPE('',$,#8653); -#8655=COMPONENT_2D_LOCATION(*,#8654,'component 2d location',$,#7701,#224,#8636); -#8656=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5249,1.0); -#8657=PADSTACK_OCCURRENCE('V22 of net7',$,#2265,#4,'V22 of net7','definition usage', - $,#2263,*,'',$,*); -#8658=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8659=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8660=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8661=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8662=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8663=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8664=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8665=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8666=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8667=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8668=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8669=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8670=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8671=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8672=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8673=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V22 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V22 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8674=INTERFACIAL_CONNECTION('V22 of net7 drill','component termination passage', - #2269,#4,'V22 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8675=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V22 of net7 normal on Resist-A',$,#2326, - #4,'V22 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8676=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V22 of net7 normal on Resist-B',$,#2326, - #4,'V22 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8677=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V22 of net7','',$,#223,#2263,'V22 of net7', - '',$,#8657,*); -#8678=PRODUCT_DEFINITION_SHAPE('',$,#8677); -#8679=COMPONENT_2D_LOCATION(*,#8678,'component 2d location',$,#2266,#224,#8656); -#8680=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5279,1.0); -#8681=PADSTACK_OCCURRENCE('V9 of net7',$,#7700,#4,'V9 of net7','definition usage', - $,#7698,*,'',$,*); -#8682=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8683=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8684=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8685=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8686=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8687=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8688=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8689=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8690=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8691=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8692=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8693=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8694=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8695=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V9 of net7 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V9 of net7 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8696=BURIED_VIA('V9 of net7 drill','component termination passage',#7704,#4,'V9 of net7 drill', - 'definition usage',$,#7709,*,'',$,*); -#8697=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V9 of net7','',$,#223,#7698,'V9 of net7', - '',$,#8681,*); -#8698=PRODUCT_DEFINITION_SHAPE('',$,#8697); -#8699=COMPONENT_2D_LOCATION(*,#8698,'component 2d location',$,#7701,#224,#8680); -#8700=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5333,1.0); -#8701=PADSTACK_OCCURRENCE('V14 of net7',$,#2265,#4,'V14 of net7','definition usage', - $,#2263,*,'',$,*); -#8702=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8703=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8704=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8705=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8706=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8707=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8708=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8709=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8710=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8711=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8712=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8713=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8714=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8715=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8716=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8717=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V14 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V14 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8718=INTERFACIAL_CONNECTION('V14 of net7 drill','component termination passage', - #2269,#4,'V14 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8719=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V14 of net7 normal on Resist-A',$,#2326, - #4,'V14 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8720=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V14 of net7 normal on Resist-B',$,#2326, - #4,'V14 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8721=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V14 of net7','',$,#223,#2263,'V14 of net7', - '',$,#8701,*); -#8722=PRODUCT_DEFINITION_SHAPE('',$,#8721); -#8723=COMPONENT_2D_LOCATION(*,#8722,'component 2d location',$,#2266,#224,#8700); -#8724=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5331,1.0); -#8725=PADSTACK_OCCURRENCE('V28 of net7',$,#2265,#4,'V28 of net7','definition usage', - $,#2263,*,'',$,*); -#8726=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8727=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8728=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8729=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8730=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8731=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8732=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8733=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8734=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8735=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8736=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8737=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8738=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8739=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8740=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8741=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V28 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V28 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8742=INTERFACIAL_CONNECTION('V28 of net7 drill','component termination passage', - #2269,#4,'V28 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8743=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V28 of net7 normal on Resist-A',$,#2326, - #4,'V28 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8744=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V28 of net7 normal on Resist-B',$,#2326, - #4,'V28 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8745=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V28 of net7','',$,#223,#2263,'V28 of net7', - '',$,#8725,*); -#8746=PRODUCT_DEFINITION_SHAPE('',$,#8745); -#8747=COMPONENT_2D_LOCATION(*,#8746,'component 2d location',$,#2266,#224,#8724); -#8748=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5245,1.0); -#8749=PADSTACK_OCCURRENCE('V5 of net7',$,#2265,#4,'V5 of net7','definition usage', - $,#2263,*,'',$,*); -#8750=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8751=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8752=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8753=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8754=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8755=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8756=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8757=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8758=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8759=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8760=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8761=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8762=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8763=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8764=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8765=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V5 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V5 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8766=INTERFACIAL_CONNECTION('V5 of net7 drill','component termination passage',#2269, - #4,'V5 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8767=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V5 of net7 normal on Resist-A',$,#2326, - #4,'V5 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8768=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V5 of net7 normal on Resist-B',$,#2326, - #4,'V5 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8769=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V5 of net7','',$,#223,#2263,'V5 of net7', - '',$,#8749,*); -#8770=PRODUCT_DEFINITION_SHAPE('',$,#8769); -#8771=COMPONENT_2D_LOCATION(*,#8770,'component 2d location',$,#2266,#224,#8748); -#8772=CARTESIAN_POINT('',(948436.0,1745488.0)); -#8773=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8772,1.0); -#8774=PADSTACK_OCCURRENCE('V8 of net7',$,#7831,#4,'V8 of net7','definition usage', - $,#7829,*,'',$,*); -#8775=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V8 of net7 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V8 of net7 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8776=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V8 of net7 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V8 of net7 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8777=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V8 of net7 drill','component termination passage', - #7835,#4,'V8 of net7 drill','definition usage',$,#7840,*,'',$,*); -#8778=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V8 of net7 normal on Resist-A',$,#7888, - #4,'V8 of net7 normal on Resist-A','definition usage',$,#7886,*,'',$,*); -#8779=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V8 of net7','',$,#223,#7829,'V8 of net7', - '',$,#8774,*); -#8780=PRODUCT_DEFINITION_SHAPE('',$,#8779); -#8781=COMPONENT_2D_LOCATION(*,#8780,'component 2d location',$,#7832,#224,#8773); -#8782=CARTESIAN_POINT('',(3552190.0,2445766.0)); -#8783=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8782,1.0); -#8784=PADSTACK_OCCURRENCE('V17 of net7',$,#7831,#4,'V17 of net7','definition usage', - $,#7829,*,'',$,*); -#8785=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V17 of net7 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V17 of net7 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8786=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V17 of net7 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V17 of net7 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8787=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V17 of net7 drill','component termination passage', - #7835,#4,'V17 of net7 drill','definition usage',$,#7840,*,'',$,*); -#8788=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V17 of net7 normal on Resist-B',$,#7888, - #4,'V17 of net7 normal on Resist-B','definition usage',$,#7886,*,'',$,*); -#8789=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V17 of net7','',$,#223,#7829,'V17 of net7', - '',$,#8784,*); -#8790=PRODUCT_DEFINITION_SHAPE('',$,#8789); -#8791=COMPONENT_2D_LOCATION(*,#8790,'component 2d location',$,#7832,#224,#8783); -#8792=CARTESIAN_POINT('',(0.0,330200.0)); -#8793=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8792,1.0); -#8794=PADSTACK_OCCURRENCE('V20 of net7',$,#2265,#4,'V20 of net7','definition usage', - $,#2263,*,'',$,*); -#8795=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8796=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8797=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8798=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8799=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8800=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8801=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8802=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8803=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8804=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8805=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8806=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8807=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8808=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8809=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8810=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V20 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V20 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8811=INTERFACIAL_CONNECTION('V20 of net7 drill','component termination passage', - #2269,#4,'V20 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8812=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V20 of net7 normal on Resist-A',$,#2326, - #4,'V20 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8813=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V20 of net7 normal on Resist-B',$,#2326, - #4,'V20 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8814=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V20 of net7','',$,#223,#2263,'V20 of net7', - '',$,#8794,*); -#8815=PRODUCT_DEFINITION_SHAPE('',$,#8814); -#8816=COMPONENT_2D_LOCATION(*,#8815,'component 2d location',$,#2266,#224,#8793); -#8817=CARTESIAN_POINT('',(0.0,-342900.0)); -#8818=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8817,1.0); -#8819=PADSTACK_OCCURRENCE('V6 of net7',$,#2265,#4,'V6 of net7','definition usage', - $,#2263,*,'',$,*); -#8820=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8821=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8822=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8823=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8824=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8825=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8826=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8827=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8828=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8829=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8830=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8831=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8832=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8833=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8834=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8835=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V6 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V6 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8836=INTERFACIAL_CONNECTION('V6 of net7 drill','component termination passage',#2269, - #4,'V6 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8837=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V6 of net7 normal on Resist-A',$,#2326, - #4,'V6 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8838=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V6 of net7 normal on Resist-B',$,#2326, - #4,'V6 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8839=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V6 of net7','',$,#223,#2263,'V6 of net7', - '',$,#8819,*); -#8840=PRODUCT_DEFINITION_SHAPE('',$,#8839); -#8841=COMPONENT_2D_LOCATION(*,#8840,'component 2d location',$,#2266,#224,#8818); -#8842=CARTESIAN_POINT('',(3051734.0,2445690.0)); -#8843=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8842,1.0); -#8844=PADSTACK_OCCURRENCE('V12 of net7',$,#7831,#4,'V12 of net7','definition usage', - $,#7829,*,'',$,*); -#8845=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V12 of net7 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V12 of net7 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8846=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V12 of net7 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V12 of net7 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8847=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V12 of net7 drill','component termination passage', - #7835,#4,'V12 of net7 drill','definition usage',$,#7840,*,'',$,*); -#8848=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V12 of net7 normal on Resist-B',$,#7888, - #4,'V12 of net7 normal on Resist-B','definition usage',$,#7886,*,'',$,*); -#8849=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V12 of net7','',$,#223,#7829,'V12 of net7', - '',$,#8844,*); -#8850=PRODUCT_DEFINITION_SHAPE('',$,#8849); -#8851=COMPONENT_2D_LOCATION(*,#8850,'component 2d location',$,#7832,#224,#8843); -#8852=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5327,1.0); -#8853=PADSTACK_OCCURRENCE('V19 of net7',$,#2265,#4,'V19 of net7','definition usage', - $,#2263,*,'',$,*); -#8854=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8855=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8856=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8857=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8858=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8859=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8860=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8861=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8862=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8863=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8864=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8865=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8866=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8867=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8868=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8869=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V19 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V19 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8870=INTERFACIAL_CONNECTION('V19 of net7 drill','component termination passage', - #2269,#4,'V19 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8871=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V19 of net7 normal on Resist-A',$,#2326, - #4,'V19 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8872=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V19 of net7 normal on Resist-B',$,#2326, - #4,'V19 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8873=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V19 of net7','',$,#223,#2263,'V19 of net7', - '',$,#8853,*); -#8874=PRODUCT_DEFINITION_SHAPE('',$,#8873); -#8875=COMPONENT_2D_LOCATION(*,#8874,'component 2d location',$,#2266,#224,#8852); -#8876=CARTESIAN_POINT('',(407848.0,1704924.0)); -#8877=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8876,1.0); -#8878=PADSTACK_OCCURRENCE('V27 of net7',$,#7700,#4,'V27 of net7','definition usage', - $,#7698,*,'',$,*); -#8879=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8880=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8881=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8882=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8883=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8884=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8885=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8886=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8887=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8888=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8889=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8890=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8891=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8892=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V27 of net7 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V27 of net7 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8893=BURIED_VIA('V27 of net7 drill','component termination passage',#7704,#4,'V27 of net7 drill', - 'definition usage',$,#7709,*,'',$,*); -#8894=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V27 of net7','',$,#223,#7698,'V27 of net7', - '',$,#8878,*); -#8895=PRODUCT_DEFINITION_SHAPE('',$,#8894); -#8896=COMPONENT_2D_LOCATION(*,#8895,'component 2d location',$,#7701,#224,#8877); -#8897=CARTESIAN_POINT('',(0.0,4406900.0)); -#8898=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8897,1.0); -#8899=PADSTACK_OCCURRENCE('V7 of net7',$,#2265,#4,'V7 of net7','definition usage', - $,#2263,*,'',$,*); -#8900=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8901=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8902=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8903=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8904=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8905=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8906=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8907=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8908=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8909=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8910=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8911=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8912=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8913=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8914=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8915=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V7 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V7 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8916=INTERFACIAL_CONNECTION('V7 of net7 drill','component termination passage',#2269, - #4,'V7 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8917=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V7 of net7 normal on Resist-A',$,#2326, - #4,'V7 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8918=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V7 of net7 normal on Resist-B',$,#2326, - #4,'V7 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8919=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V7 of net7','',$,#223,#2263,'V7 of net7', - '',$,#8899,*); -#8920=PRODUCT_DEFINITION_SHAPE('',$,#8919); -#8921=COMPONENT_2D_LOCATION(*,#8920,'component 2d location',$,#2266,#224,#8898); -#8922=CARTESIAN_POINT('',(448488.0,1745564.0)); -#8923=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8922,1.0); -#8924=PADSTACK_OCCURRENCE('V26 of net7',$,#7831,#4,'V26 of net7','definition usage', - $,#7829,*,'',$,*); -#8925=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V26 of net7 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V26 of net7 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8926=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V26 of net7 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V26 of net7 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8927=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V26 of net7 drill','component termination passage', - #7835,#4,'V26 of net7 drill','definition usage',$,#7840,*,'',$,*); -#8928=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V26 of net7 normal on Resist-A',$,#7888, - #4,'V26 of net7 normal on Resist-A','definition usage',$,#7886,*,'',$,*); -#8929=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V26 of net7','',$,#223,#7829,'V26 of net7', - '',$,#8924,*); -#8930=PRODUCT_DEFINITION_SHAPE('',$,#8929); -#8931=COMPONENT_2D_LOCATION(*,#8930,'component 2d location',$,#7832,#224,#8923); -#8932=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5247,1.0); -#8933=PADSTACK_OCCURRENCE('V10 of net7',$,#2265,#4,'V10 of net7','definition usage', - $,#2263,*,'',$,*); -#8934=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8935=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8936=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8937=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8938=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8939=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8940=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8941=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8942=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8943=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8944=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8945=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8946=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8947=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8948=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8949=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V10 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V10 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8950=INTERFACIAL_CONNECTION('V10 of net7 drill','component termination passage', - #2269,#4,'V10 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8951=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V10 of net7 normal on Resist-A',$,#2326, - #4,'V10 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8952=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V10 of net7 normal on Resist-B',$,#2326, - #4,'V10 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8953=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V10 of net7','',$,#223,#2263,'V10 of net7', - '',$,#8933,*); -#8954=PRODUCT_DEFINITION_SHAPE('',$,#8953); -#8955=COMPONENT_2D_LOCATION(*,#8954,'component 2d location',$,#2266,#224,#8932); -#8956=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5255,1.0); -#8957=PADSTACK_OCCURRENCE('V21 of net7',$,#2265,#4,'V21 of net7','definition usage', - $,#2263,*,'',$,*); -#8958=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8959=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8960=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8961=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8962=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8963=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8964=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8965=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8966=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8967=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8968=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8969=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8970=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8971=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8972=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8973=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V21 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V21 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8974=INTERFACIAL_CONNECTION('V21 of net7 drill','component termination passage', - #2269,#4,'V21 of net7 drill','definition usage',$,#2274,*,'',$,*); -#8975=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V21 of net7 normal on Resist-A',$,#2326, - #4,'V21 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#8976=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V21 of net7 normal on Resist-B',$,#2326, - #4,'V21 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#8977=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V21 of net7','',$,#223,#2263,'V21 of net7', - '',$,#8957,*); -#8978=PRODUCT_DEFINITION_SHAPE('',$,#8977); -#8979=COMPONENT_2D_LOCATION(*,#8978,'component 2d location',$,#2266,#224,#8956); -#8980=CARTESIAN_POINT('',(0.0,3721100.0)); -#8981=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#8980,1.0); -#8982=PADSTACK_OCCURRENCE('V13 of net7',$,#2265,#4,'V13 of net7','definition usage', - $,#2263,*,'',$,*); -#8983=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8984=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8985=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8986=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8987=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8988=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8989=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8990=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8991=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8992=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8993=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8994=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8995=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8996=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8997=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8998=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V13 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V13 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#8999=INTERFACIAL_CONNECTION('V13 of net7 drill','component termination passage', - #2269,#4,'V13 of net7 drill','definition usage',$,#2274,*,'',$,*); -#9000=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V13 of net7 normal on Resist-A',$,#2326, - #4,'V13 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#9001=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V13 of net7 normal on Resist-B',$,#2326, - #4,'V13 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#9002=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V13 of net7','',$,#223,#2263,'V13 of net7', - '',$,#8982,*); -#9003=PRODUCT_DEFINITION_SHAPE('',$,#9002); -#9004=COMPONENT_2D_LOCATION(*,#9003,'component 2d location',$,#2266,#224,#8981); -#9005=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5335,1.0); -#9006=PADSTACK_OCCURRENCE('V18 of net7',$,#2265,#4,'V18 of net7','definition usage', - $,#2263,*,'',$,*); -#9007=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9008=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9009=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9010=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9011=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9012=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9013=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9014=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9015=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9016=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9017=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9018=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9019=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9020=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9021=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9022=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V18 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V18 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9023=INTERFACIAL_CONNECTION('V18 of net7 drill','component termination passage', - #2269,#4,'V18 of net7 drill','definition usage',$,#2274,*,'',$,*); -#9024=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V18 of net7 normal on Resist-A',$,#2326, - #4,'V18 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#9025=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V18 of net7 normal on Resist-B',$,#2326, - #4,'V18 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#9026=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V18 of net7','',$,#223,#2263,'V18 of net7', - '',$,#9006,*); -#9027=PRODUCT_DEFINITION_SHAPE('',$,#9026); -#9028=COMPONENT_2D_LOCATION(*,#9027,'component 2d location',$,#2266,#224,#9005); -#9029=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5321,1.0); -#9030=PADSTACK_OCCURRENCE('V11 of net7',$,#7700,#4,'V11 of net7','definition usage', - $,#7698,*,'',$,*); -#9031=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9032=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9033=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9034=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9035=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9036=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9037=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9038=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9039=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9040=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9041=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9042=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9043=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9044=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V11 of net7 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V11 of net7 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9045=BURIED_VIA('V11 of net7 drill','component termination passage',#7704,#4,'V11 of net7 drill', - 'definition usage',$,#7709,*,'',$,*); -#9046=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V11 of net7','',$,#223,#7698,'V11 of net7', - '',$,#9030,*); -#9047=PRODUCT_DEFINITION_SHAPE('',$,#9046); -#9048=COMPONENT_2D_LOCATION(*,#9047,'component 2d location',$,#7701,#224,#9029); -#9049=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#5243,1.0); -#9050=PADSTACK_OCCURRENCE('V4 of net7',$,#2265,#4,'V4 of net7','definition usage', - $,#2263,*,'',$,*); -#9051=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer4', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer4', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9052=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer15', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer15', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9053=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer12', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer12', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9054=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer11', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer11', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9055=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer7', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer7', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9056=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer1', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer1', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9057=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer10', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer10', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9058=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer6', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer6', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9059=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer5', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer5', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9060=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer13', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer13', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9061=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer16', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer16', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9062=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer2', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer2', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9063=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer9', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer9', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9064=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer8', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer8', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9065=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer3', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer3', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9066=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net7 normal on Wiring Layer14', - '',#2287,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net7 normal on Wiring Layer14', - 'definition usage',$,#2285,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9067=INTERFACIAL_CONNECTION('V4 of net7 drill','component termination passage',#2269, - #4,'V4 of net7 drill','definition usage',$,#2274,*,'',$,*); -#9068=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V4 of net7 normal on Resist-A',$,#2326, - #4,'V4 of net7 normal on Resist-A','definition usage',$,#2324,*,'',$,*); -#9069=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V4 of net7 normal on Resist-B',$,#2326, - #4,'V4 of net7 normal on Resist-B','definition usage',$,#2324,*,'',$,*); -#9070=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V4 of net7','',$,#223,#2263,'V4 of net7', - '',$,#9050,*); -#9071=PRODUCT_DEFINITION_SHAPE('',$,#9070); -#9072=COMPONENT_2D_LOCATION(*,#9071,'component 2d location',$,#2266,#224,#9049); -#9073=LAYER_CONNECTION_POINT('juncpt JP30 of net net7','explicitly located',#311, - .U.); -#9074=LAYER_CONNECTION_POINT('juncpt JP9 of net net7','explicitly located',#307,.U.); -#9075=LAYER_CONNECTION_POINT('juncpt JP10 of net net7','explicitly located',#307, - .U.); -#9076=LAYER_CONNECTION_POINT('juncpt JP1 of net net7','explicitly located',#297,.U.); -#9077=LAYER_CONNECTION_POINT('juncpt JP11 of net net7','explicitly located',#307, - .U.); -#9078=LAYER_CONNECTION_POINT('juncpt JP20 of net net7','explicitly located',#285, - .U.); -#9079=LAYER_CONNECTION_POINT('juncpt JP21 of net net7','explicitly located',#285, - .U.); -#9080=LAYER_CONNECTION_POINT('juncpt JP12 of net net7','explicitly located',#307, - .U.); -#9081=LAYER_CONNECTION_POINT('juncpt JP7 of net net7','explicitly located',#307,.U.); -#9082=CARTESIAN_POINT('',(3693211.0,2186787.0)); -#9083=LAYER_CONNECTION_POINT('juncpt JP18 of net net7','explicitly located',#285, - .U.); -#9084=CARTESIAN_POINT('',(3010713.0,2486711.0)); -#9085=LAYER_CONNECTION_POINT('juncpt JP22 of net net7','explicitly located',#285, - .U.); -#9086=LAYER_CONNECTION_POINT('juncpt JP17 of net net7','explicitly located',#285, - .U.); -#9087=LAYER_CONNECTION_POINT('juncpt JP2 of net net7','explicitly located',#297,.U.); -#9088=LAYER_CONNECTION_POINT('juncpt JP23 of net net7','explicitly located',#285, - .U.); -#9089=LAYER_CONNECTION_POINT('juncpt JP8 of net net7','explicitly located',#307,.U.); -#9090=CARTESIAN_POINT('',(3593211.0,2486787.0)); -#9091=LAYER_CONNECTION_POINT('juncpt JP15 of net net7','explicitly located',#285, - .U.); -#9092=LAYER_CONNECTION_POINT('juncpt JP16 of net net7','explicitly located',#285, - .U.); -#9093=LAYER_CONNECTION_POINT('juncpt JP29 of net net7','explicitly located',#311, - .U.); -#9094=LAYER_CONNECTION_POINT('juncpt JP14 of net net7','explicitly located',#285, - .U.); -#9095=LAYER_CONNECTION_POINT('juncpt JP24 of net net7','explicitly located',#285, - .U.); -#9096=LAYER_CONNECTION_POINT('juncpt JP4 of net net7','explicitly located',#297,.U.); -#9097=LAYER_CONNECTION_POINT('juncpt JP28 of net net7','explicitly located',#311, - .U.); -#9098=LAYER_CONNECTION_POINT('juncpt JP19 of net net7','explicitly located',#285, - .U.); -#9099=LAYER_CONNECTION_POINT('juncpt JP5 of net net7','explicitly located',#297,.U.); -#9100=LAYER_CONNECTION_POINT('juncpt JP27 of net net7','explicitly located',#311, - .U.); -#9101=LAYER_CONNECTION_POINT('juncpt JP6 of net net7','explicitly located',#297,.U.); -#9102=LAYER_CONNECTION_POINT('juncpt JP3 of net net7','explicitly located',#297,.U.); -#9103=LAYER_CONNECTION_POINT('juncpt JP26 of net net7','explicitly located',#311, - .U.); -#9104=LAYER_CONNECTION_POINT('juncpt JP25 of net net7','explicitly located',#311, - .U.); -#9105=LAYER_CONNECTION_POINT('juncpt JP13 of net net7','explicitly located',#285, - .U.); -#9106=CARTESIAN_POINT('',(507848.0,2004924.0)); -#9107=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9106,1.0); -#9108=PADSTACK_OCCURRENCE('V3 of net8',$,#7700,#4,'V3 of net8','definition usage', - $,#7698,*,'',$,*); -#9109=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9110=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9111=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9112=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9113=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9114=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9115=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9116=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9117=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9118=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9119=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9120=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9121=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9122=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net8 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net8 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9123=BURIED_VIA('V3 of net8 drill','component termination passage',#7704,#4,'V3 of net8 drill', - 'definition usage',$,#7709,*,'',$,*); -#9124=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V3 of net8','',$,#223,#7698, - 'V3 of net8','',$,#9108,*); -#9125=PRODUCT_DEFINITION_SHAPE('',$,#9124); -#9126=COMPONENT_2D_LOCATION(*,#9125,'component 2d location',$,#7701,#224,#9107); -#9127=CARTESIAN_POINT('',(3010916.0,1904086.0)); -#9128=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9127,1.0); -#9129=PADSTACK_OCCURRENCE('V4 of net8',$,#7700,#4,'V4 of net8','definition usage', - $,#7698,*,'',$,*); -#9130=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9131=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9132=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9133=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9134=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9135=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9136=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9137=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9138=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9139=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9140=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9141=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9142=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9143=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net8 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net8 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9144=BURIED_VIA('V4 of net8 drill','component termination passage',#7704,#4,'V4 of net8 drill', - 'definition usage',$,#7709,*,'',$,*); -#9145=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V4 of net8','',$,#223,#7698, - 'V4 of net8','',$,#9129,*); -#9146=PRODUCT_DEFINITION_SHAPE('',$,#9145); -#9147=COMPONENT_2D_LOCATION(*,#9146,'component 2d location',$,#7701,#224,#9128); -#9148=CARTESIAN_POINT('',(3051810.0,1945234.0)); -#9149=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9148,1.0); -#9150=PADSTACK_OCCURRENCE('V1 of net8',$,#7831,#4,'V1 of net8','definition usage', - $,#7829,*,'',$,*); -#9151=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net8 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net8 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9152=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net8 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net8 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9153=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V1 of net8 drill','component termination passage', - #7835,#4,'V1 of net8 drill','definition usage',$,#7840,*,'',$,*); -#9154=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V1 of net8 normal on Resist-B',$,#7888, - #4,'V1 of net8 normal on Resist-B','definition usage',$,#7886,*,'',$,*); -#9155=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V1 of net8','',$,#223,#7829, - 'V1 of net8','',$,#9150,*); -#9156=PRODUCT_DEFINITION_SHAPE('',$,#9155); -#9157=COMPONENT_2D_LOCATION(*,#9156,'component 2d location',$,#7832,#224,#9149); -#9158=CARTESIAN_POINT('',(548488.0,2045564.0)); -#9159=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9158,1.0); -#9160=PADSTACK_OCCURRENCE('V2 of net8',$,#7831,#4,'V2 of net8','definition usage', - $,#7829,*,'',$,*); -#9161=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net8 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net8 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9162=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net8 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net8 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9163=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V2 of net8 drill','component termination passage', - #7835,#4,'V2 of net8 drill','definition usage',$,#7840,*,'',$,*); -#9164=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V2 of net8 normal on Resist-A',$,#7888, - #4,'V2 of net8 normal on Resist-A','definition usage',$,#7886,*,'',$,*); -#9165=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V2 of net8','',$,#223,#7829, - 'V2 of net8','',$,#9160,*); -#9166=PRODUCT_DEFINITION_SHAPE('',$,#9165); -#9167=COMPONENT_2D_LOCATION(*,#9166,'component 2d location',$,#7832,#224,#9159); -#9168=LAYER_CONNECTION_POINT('juncpt JP12 of net net8','explicitly located',#311, - .U.); -#9169=LAYER_CONNECTION_POINT('juncpt JP6 of net net8','explicitly located',#263, - .U.); -#9170=LAYER_CONNECTION_POINT('juncpt JP3 of net net8','explicitly located',#307, - .U.); -#9171=LAYER_CONNECTION_POINT('juncpt JP7 of net net8','explicitly located',#285, - .U.); -#9172=CARTESIAN_POINT('',(3010789.0,1904213.0)); -#9173=LAYER_CONNECTION_POINT('juncpt JP9 of net net8','explicitly located',#285, - .U.); -#9174=LAYER_CONNECTION_POINT('juncpt JP10 of net net8','explicitly located',#285, - .U.); -#9175=LAYER_CONNECTION_POINT('juncpt JP1 of net net8','explicitly located',#297, - .U.); -#9176=LAYER_CONNECTION_POINT('juncpt JP4 of net net8','explicitly located',#307, - .U.); -#9177=LAYER_CONNECTION_POINT('juncpt JP2 of net net8','explicitly located',#297, - .U.); -#9178=LAYER_CONNECTION_POINT('juncpt JP11 of net net8','explicitly located',#311, - .U.); -#9179=LAYER_CONNECTION_POINT('juncpt JP8 of net net8','explicitly located',#285, - .U.); -#9180=LAYER_CONNECTION_POINT('juncpt JP5 of net net8','explicitly located',#263, - .U.); -#9181=CARTESIAN_POINT('',(607848.0,2004924.0)); -#9182=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9181,1.0); -#9183=PADSTACK_OCCURRENCE('V3 of net9',$,#7700,#4,'V3 of net9','definition usage', - $,#7698,*,'',$,*); -#9184=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9185=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9186=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9187=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9188=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9189=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9190=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9191=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9192=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9193=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9194=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9195=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9196=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9197=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V3 of net9 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V3 of net9 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9198=BURIED_VIA('V3 of net9 drill','component termination passage',#7704,#4,'V3 of net9 drill', - 'definition usage',$,#7709,*,'',$,*); -#9199=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V3 of net9','',$,#223,#7698, - 'V3 of net9','',$,#9183,*); -#9200=PRODUCT_DEFINITION_SHAPE('',$,#9199); -#9201=COMPONENT_2D_LOCATION(*,#9200,'component 2d location',$,#7701,#224,#9182); -#9202=CARTESIAN_POINT('',(3010916.0,1804086.0)); -#9203=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9202,1.0); -#9204=PADSTACK_OCCURRENCE('V4 of net9',$,#7700,#4,'V4 of net9','definition usage', - $,#7698,*,'',$,*); -#9205=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9206=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9207=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9208=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9209=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9210=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9211=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9212=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9213=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9214=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9215=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9216=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9217=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9218=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V4 of net9 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V4 of net9 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9219=BURIED_VIA('V4 of net9 drill','component termination passage',#7704,#4,'V4 of net9 drill', - 'definition usage',$,#7709,*,'',$,*); -#9220=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V4 of net9','',$,#223,#7698, - 'V4 of net9','',$,#9204,*); -#9221=PRODUCT_DEFINITION_SHAPE('',$,#9220); -#9222=COMPONENT_2D_LOCATION(*,#9221,'component 2d location',$,#7701,#224,#9203); -#9223=CARTESIAN_POINT('',(3051810.0,1845234.0)); -#9224=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9223,1.0); -#9225=PADSTACK_OCCURRENCE('V1 of net9',$,#7831,#4,'V1 of net9','definition usage', - $,#7829,*,'',$,*); -#9226=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net9 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net9 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9227=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net9 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net9 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9228=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V1 of net9 drill','component termination passage', - #7835,#4,'V1 of net9 drill','definition usage',$,#7840,*,'',$,*); -#9229=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V1 of net9 normal on Resist-B',$,#7888, - #4,'V1 of net9 normal on Resist-B','definition usage',$,#7886,*,'',$,*); -#9230=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V1 of net9','',$,#223,#7829, - 'V1 of net9','',$,#9225,*); -#9231=PRODUCT_DEFINITION_SHAPE('',$,#9230); -#9232=COMPONENT_2D_LOCATION(*,#9231,'component 2d location',$,#7832,#224,#9224); -#9233=CARTESIAN_POINT('',(648488.0,2045564.0)); -#9234=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9233,1.0); -#9235=PADSTACK_OCCURRENCE('V2 of net9',$,#7831,#4,'V2 of net9','definition usage', - $,#7829,*,'',$,*); -#9236=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net9 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net9 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9237=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net9 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net9 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9238=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V2 of net9 drill','component termination passage', - #7835,#4,'V2 of net9 drill','definition usage',$,#7840,*,'',$,*); -#9239=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V2 of net9 normal on Resist-A',$,#7888, - #4,'V2 of net9 normal on Resist-A','definition usage',$,#7886,*,'',$,*); -#9240=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V2 of net9','',$,#223,#7829, - 'V2 of net9','',$,#9235,*); -#9241=PRODUCT_DEFINITION_SHAPE('',$,#9240); -#9242=COMPONENT_2D_LOCATION(*,#9241,'component 2d location',$,#7832,#224,#9234); -#9243=LAYER_CONNECTION_POINT('juncpt JP12 of net net9','explicitly located',#311, - .U.); -#9244=LAYER_CONNECTION_POINT('juncpt JP6 of net net9','explicitly located',#303, - .U.); -#9245=LAYER_CONNECTION_POINT('juncpt JP3 of net net9','explicitly located',#307, - .U.); -#9246=LAYER_CONNECTION_POINT('juncpt JP7 of net net9','explicitly located',#285, - .U.); -#9247=CARTESIAN_POINT('',(3010789.0,1804213.0)); -#9248=LAYER_CONNECTION_POINT('juncpt JP9 of net net9','explicitly located',#285, - .U.); -#9249=LAYER_CONNECTION_POINT('juncpt JP10 of net net9','explicitly located',#285, - .U.); -#9250=LAYER_CONNECTION_POINT('juncpt JP1 of net net9','explicitly located',#297, - .U.); -#9251=LAYER_CONNECTION_POINT('juncpt JP4 of net net9','explicitly located',#307, - .U.); -#9252=LAYER_CONNECTION_POINT('juncpt JP2 of net net9','explicitly located',#297, - .U.); -#9253=LAYER_CONNECTION_POINT('juncpt JP11 of net net9','explicitly located',#311, - .U.); -#9254=LAYER_CONNECTION_POINT('juncpt JP8 of net net9','explicitly located',#285, - .U.); -#9255=LAYER_CONNECTION_POINT('juncpt JP5 of net net9','explicitly located',#303, - .U.); -#9256=CARTESIAN_POINT('',(3110916.0,1704086.0)); -#9257=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9256,1.0); -#9258=PADSTACK_OCCURRENCE('V1 of net10',$,#7700,#4,'V1 of net10','definition usage', - $,#7698,*,'',$,*); -#9259=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9260=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9261=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9262=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9263=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9264=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9265=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9266=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9267=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9268=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9269=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9270=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9271=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9272=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net10 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net10 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9273=BURIED_VIA('V1 of net10 drill','component termination passage',#7704,#4,'V1 of net10 drill', - 'definition usage',$,#7709,*,'',$,*); -#9274=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V1 of net10','',$,#223,#7698, - 'V1 of net10','',$,#9258,*); -#9275=PRODUCT_DEFINITION_SHAPE('',$,#9274); -#9276=COMPONENT_2D_LOCATION(*,#9275,'component 2d location',$,#7701,#224,#9257); -#9277=CARTESIAN_POINT('',(3151810.0,1745234.0)); -#9278=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9277,1.0); -#9279=PADSTACK_OCCURRENCE('V2 of net10',$,#7831,#4,'V2 of net10','definition usage', - $,#7829,*,'',$,*); -#9280=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net10 normal on Wiring Layer15', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net10 normal on Wiring Layer15', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9281=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net10 normal on Wiring Layer16', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net10 normal on Wiring Layer16', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9282=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V2 of net10 drill','component termination passage', - #7835,#4,'V2 of net10 drill','definition usage',$,#7840,*,'',$,*); -#9283=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V2 of net10 normal on Resist-B',$,#7888, - #4,'V2 of net10 normal on Resist-B','definition usage',$,#7886,*,'',$,*); -#9284=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V2 of net10','',$,#223,#7829, - 'V2 of net10','',$,#9279,*); -#9285=PRODUCT_DEFINITION_SHAPE('',$,#9284); -#9286=COMPONENT_2D_LOCATION(*,#9285,'component 2d location',$,#7832,#224,#9278); -#9287=LAYER_CONNECTION_POINT('juncpt JP6 of net net10','explicitly located',#285, - .U.); -#9288=LAYER_CONNECTION_POINT('juncpt JP3 of net net10','explicitly located',#285, - .U.); -#9289=LAYER_CONNECTION_POINT('juncpt JP7 of net net10','explicitly located',#311, - .U.); -#9290=LAYER_CONNECTION_POINT('juncpt JP1 of net net10','explicitly located',#257, - .U.); -#9291=CARTESIAN_POINT('',(3110789.0,1704213.0)); -#9292=LAYER_CONNECTION_POINT('juncpt JP4 of net net10','explicitly located',#285, - .U.); -#9293=LAYER_CONNECTION_POINT('juncpt JP2 of net net10','explicitly located',#257, - .U.); -#9294=LAYER_CONNECTION_POINT('juncpt JP8 of net net10','explicitly located',#311, - .U.); -#9295=LAYER_CONNECTION_POINT('juncpt JP5 of net net10','explicitly located',#285, - .U.); -#9296=CARTESIAN_POINT('',(548488.0,1945564.0)); -#9297=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9296,1.0); -#9298=PADSTACK_OCCURRENCE('V1 of net11',$,#7831,#4,'V1 of net11','definition usage', - $,#7829,*,'',$,*); -#9299=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net11 normal on Wiring Layer1', - '',#7897,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net11 normal on Wiring Layer1', - 'definition usage',$,#7895,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9300=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V1 of net11 normal on Wiring Layer2', - '',#7853,#4)PRODUCT_DEFINITION_RELATIONSHIP('V1 of net11 normal on Wiring Layer2', - 'definition usage',$,#7851,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9301=PLATED_CONDUCTIVE_BASE_BLIND_VIA('V1 of net11 drill','component termination passage', - #7835,#4,'V1 of net11 drill','definition usage',$,#7840,*,'',$,*); -#9302=MATERIAL_REMOVAL_LAMINATE_COMPONENT('V1 of net11 normal on Resist-A',$,#7888, - #4,'V1 of net11 normal on Resist-A','definition usage',$,#7886,*,'',$,*); -#9303=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V1 of net11','',$,#223,#7829, - 'V1 of net11','',$,#9298,*); -#9304=PRODUCT_DEFINITION_SHAPE('',$,#9303); -#9305=COMPONENT_2D_LOCATION(*,#9304,'component 2d location',$,#7832,#224,#9297); -#9306=CARTESIAN_POINT('',(507848.0,1904924.0)); -#9307=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#9306,1.0); -#9308=PADSTACK_OCCURRENCE('V2 of net11',$,#7700,#4,'V2 of net11','definition usage', - $,#7698,*,'',$,*); -#9309=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer4', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer4', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9310=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer15', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer15', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9311=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer12', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer12', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9312=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer11', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer11', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9313=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer7', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer7', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9314=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer10', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer10', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9315=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer6', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer6', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9316=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer5', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer5', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9317=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer13', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer13', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9318=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer2', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer2', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9319=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer9', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer9', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9320=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer8', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer8', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9321=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer3', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer3', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9322=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('V2 of net11 normal on Wiring Layer14', - '',#7722,#4)PRODUCT_DEFINITION_RELATIONSHIP('V2 of net11 normal on Wiring Layer14', - 'definition usage',$,#7720,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('', - $,*)SHAPE_ASPECT('join','land join terminal',*,.U.) - STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#9323=BURIED_VIA('V2 of net11 drill','component termination passage',#7704,#4,'V2 of net11 drill', - 'definition usage',$,#7709,*,'',$,*); -#9324=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('V2 of net11','',$,#223,#7698, - 'V2 of net11','',$,#9308,*); -#9325=PRODUCT_DEFINITION_SHAPE('',$,#9324); -#9326=COMPONENT_2D_LOCATION(*,#9325,'component 2d location',$,#7701,#224,#9307); -#9327=LAYER_CONNECTION_POINT('juncpt JP6 of net net11','explicitly located',#303, - .U.); -#9328=LAYER_CONNECTION_POINT('juncpt JP3 of net net11','explicitly located',#307, - .U.); -#9329=LAYER_CONNECTION_POINT('juncpt JP1 of net net11','explicitly located',#297, - .U.); -#9330=LAYER_CONNECTION_POINT('juncpt JP4 of net net11','explicitly located',#307, - .U.); -#9331=LAYER_CONNECTION_POINT('juncpt JP2 of net net11','explicitly located',#297, - .U.); -#9332=LAYER_CONNECTION_POINT('juncpt JP5 of net net11','explicitly located',#303, - .U.); -#9333=TEXT_FONT('tmpl52','_standard_1',''); -#9334=PLANAR_EXTENT('',106679.35849056604,120298.0); -#9335=PRODUCT('tmpl52','template',$,(#21759)); -#9336=PRODUCT_DEFINITION_FORMATION('1',$,#9335); -#9337=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#21)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#20))REPRESENTATION_CONTEXT('','')); -#9338=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#14010,#14011,#9339,#14012,#14013),#14009); -#9339=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 12029.800000000001),#17)REPRESENTATION_ITEM('curve width')); -#9340=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('25',(#9341),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9341=CSG_SOLID_2D('',#9345); -#9342=POLYLINE('centreline',(#9343,#9344)); -#9343=CARTESIAN_POINT('',(0.0,135051.52830188678)); -#9344=CARTESIAN_POINT('',(106679.35849056604,135051.52830188678)); -#9345=PATH_AREA_WITH_PARAMETERS('',#18704,#9342); -#9346=CHARACTER_GLYPH_FONT_USAGE(#9340,#9333); -#9347=PART_TEXT_TEMPLATE('25',$,#9336,#4,'',$,*); -#9348=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('26',(#9349),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9349=CSG_SOLID_2D('',#9350); -#9350=BOOLEAN_RESULT_2D('',.UNION.,#9354,#9359); -#9351=POLYLINE('centreline',(#9352,#9353)); -#9352=CARTESIAN_POINT('',(12483.754716981131,0.0)); -#9353=CARTESIAN_POINT('',(26102.396226415094,93060.71698113208)); -#9354=PATH_AREA_WITH_PARAMETERS('',#18704,#9351); -#9355=POLYLINE('centreline',(#9356,#9357)); -#9356=CARTESIAN_POINT('',(53339.67924528302,0.0)); -#9357=CARTESIAN_POINT('',(65823.43396226414,93060.71698113208)); -#9358=PATH_AREA_WITH_PARAMETERS('',#18704,#9355); -#9359=BOOLEAN_RESULT_2D('',.UNION.,#9358,#9364); -#9360=POLYLINE('centreline',(#9361,#9362)); -#9361=CARTESIAN_POINT('',(0.0,26102.396226415094)); -#9362=CARTESIAN_POINT('',(79442.07547169812,26102.396226415094)); -#9363=PATH_AREA_WITH_PARAMETERS('',#18704,#9360); -#9364=BOOLEAN_RESULT_2D('',.UNION.,#9363,#9368); -#9365=POLYLINE('centreline',(#9366,#9367)); -#9366=CARTESIAN_POINT('',(0.0,65823.43396226414)); -#9367=CARTESIAN_POINT('',(79442.07547169812,65823.43396226414)); -#9368=PATH_AREA_WITH_PARAMETERS('',#18704,#9365); -#9369=CHARACTER_GLYPH_FONT_USAGE(#9348,#9333); -#9370=PART_TEXT_TEMPLATE('26',$,#9336,#4,'',$,*); -#9371=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('27',(#9372),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9372=CSG_SOLID_2D('',#9382); -#9373=POLYLINE('centreline',(#9374,#9356,#9375,#9376,#9377,#9378,#9379,#9380,#9381)); -#9374=CARTESIAN_POINT('',(65823.43396226414,0.0)); -#9375=CARTESIAN_POINT('',(39721.03773584906,12483.754716981131)); -#9376=CARTESIAN_POINT('',(39721.03773584906,26102.396226415094)); -#9377=CARTESIAN_POINT('',(12483.754716981131,39721.03773584906)); -#9378=CARTESIAN_POINT('',(39721.03773584906,53339.67924528302)); -#9379=CARTESIAN_POINT('',(39721.03773584906,65823.43396226414)); -#9380=CARTESIAN_POINT('',(53339.67924528302,79442.07547169812)); -#9381=CARTESIAN_POINT('',(65823.43396226414,79442.07547169812)); -#9382=PATH_AREA_WITH_PARAMETERS('',#18704,#9373); -#9383=CHARACTER_GLYPH_FONT_USAGE(#9371,#9333); -#9384=PART_TEXT_TEMPLATE('27',$,#9336,#4,'',$,*); -#9385=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('28',(#9386),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9386=CSG_SOLID_2D('',#9392); -#9387=POLYLINE('centreline',(#9352,#9388,#9375,#9376,#9389,#9378,#9379,#9390,#9391)); -#9388=CARTESIAN_POINT('',(26102.396226415094,0.0)); -#9389=CARTESIAN_POINT('',(65823.43396226414,39721.03773584906)); -#9390=CARTESIAN_POINT('',(26102.396226415094,79442.07547169812)); -#9391=CARTESIAN_POINT('',(12483.754716981131,79442.07547169812)); -#9392=PATH_AREA_WITH_PARAMETERS('',#18704,#9387); -#9393=CHARACTER_GLYPH_FONT_USAGE(#9385,#9333); -#9394=PART_TEXT_TEMPLATE('28',$,#9336,#4,'',$,*); -#9395=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('29',(#9396),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9396=CSG_SOLID_2D('',#9397); -#9397=BOOLEAN_RESULT_2D('',.UNION.,#9401,#9404); -#9398=POLYLINE('centreline',(#9399,#9400)); -#9399=CARTESIAN_POINT('',(39721.03773584906,0.0)); -#9400=CARTESIAN_POINT('',(39721.03773584906,39721.03773584906)); -#9401=PATH_AREA_WITH_PARAMETERS('',#18704,#9398); -#9402=POLYLINE('centreline',(#9378,#9403)); -#9403=CARTESIAN_POINT('',(39721.03773584906,93060.71698113208)); -#9404=PATH_AREA_WITH_PARAMETERS('',#18704,#9402); -#9405=CHARACTER_GLYPH_FONT_USAGE(#9395,#9333); -#9406=PART_TEXT_TEMPLATE('29',$,#9336,#4,'',$,*); -#9407=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('30',(#9408),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9408=CSG_SOLID_2D('',#9411); -#9409=POLYLINE('centreline',(#9353,#9410)); -#9410=CARTESIAN_POINT('',(53339.67924528302,53339.67924528302)); -#9411=PATH_AREA_WITH_PARAMETERS('',#18704,#9409); -#9412=CHARACTER_GLYPH_FONT_USAGE(#9407,#9333); -#9413=PART_TEXT_TEMPLATE('30',$,#9336,#4,'',$,*); -#9414=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('31',(#9415),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9415=CSG_SOLID_2D('',#9423); -#9416=POLYLINE('centreline',(#9417,#9418,#9419,#9353,#9420,#9379,#9410,#9421,#9367, - #9422)); -#9417=CARTESIAN_POINT('',(0.0,53339.67924528302)); -#9418=CARTESIAN_POINT('',(0.0,79442.07547169812)); -#9419=CARTESIAN_POINT('',(12483.754716981131,93060.71698113208)); -#9420=CARTESIAN_POINT('',(39721.03773584906,79442.07547169812)); -#9421=CARTESIAN_POINT('',(65823.43396226414,53339.67924528302)); -#9422=CARTESIAN_POINT('',(79442.07547169812,93060.71698113208)); -#9423=PATH_AREA_WITH_PARAMETERS('',#18704,#9416); -#9424=CHARACTER_GLYPH_FONT_USAGE(#9414,#9333); -#9425=PART_TEXT_TEMPLATE('31',$,#9336,#4,'',$,*); -#9426=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('33',(#9427),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9427=CSG_SOLID_2D('',#9433); -#9428=POLYLINE('centreline',(#24,#9388,#9429,#9418,#9419,#9357,#9430,#9431,#9356, - #9432)); -#9429=CARTESIAN_POINT('',(0.0,39721.03773584906)); -#9430=CARTESIAN_POINT('',(79442.07547169812,79442.07547169812)); -#9431=CARTESIAN_POINT('',(79442.07547169812,39721.03773584906)); -#9432=CARTESIAN_POINT('',(79442.07547169812,0.0)); -#9433=PATH_AREA_WITH_PARAMETERS('',#18704,#9428); -#9434=CHARACTER_GLYPH_FONT_USAGE(#9426,#9333); -#9435=PART_TEXT_TEMPLATE('33',$,#9336,#4,'',$,*); -#9436=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('34',(#9437),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9437=CSG_SOLID_2D('',#9438); -#9438=BOOLEAN_RESULT_2D('',.UNION.,#9441,#9444); -#9439=POLYLINE('centreline',(#9440,#9390)); -#9440=CARTESIAN_POINT('',(26102.396226415094,106679.35849056604)); -#9441=PATH_AREA_WITH_PARAMETERS('',#18704,#9439); -#9442=POLYLINE('centreline',(#9443,#9380)); -#9443=CARTESIAN_POINT('',(53339.67924528302,106679.35849056604)); -#9444=PATH_AREA_WITH_PARAMETERS('',#18704,#9442); -#9445=CHARACTER_GLYPH_FONT_USAGE(#9436,#9333); -#9446=PART_TEXT_TEMPLATE('34',$,#9336,#4,'',$,*); -#9447=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('35',(#9448),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9448=CSG_SOLID_2D('',#9449); -#9449=BOOLEAN_RESULT_2D('',.UNION.,#9451,#9456); -#9450=POLYLINE('centreline',(#24,#9432)); -#9451=PATH_AREA_WITH_PARAMETERS('',#18704,#9450); -#9452=POLYLINE('centreline',(#9453,#9454)); -#9453=CARTESIAN_POINT('',(0.0,106679.35849056604)); -#9454=CARTESIAN_POINT('',(79442.07547169812,106679.35849056604)); -#9455=PATH_AREA_WITH_PARAMETERS('',#18704,#9452); -#9456=BOOLEAN_RESULT_2D('',.UNION.,#9455,#9462); -#9457=POLYLINE('centreline',(#9458,#9459,#9389,#9460,#9380,#9390,#9461,#9377,#9458)); -#9458=CARTESIAN_POINT('',(26102.396226415094,26102.396226415094)); -#9459=CARTESIAN_POINT('',(53339.67924528302,26102.396226415094)); -#9460=CARTESIAN_POINT('',(65823.43396226414,65823.43396226414)); -#9461=CARTESIAN_POINT('',(12483.754716981131,65823.43396226414)); -#9462=PATH_AREA_WITH_PARAMETERS('',#18704,#9457); -#9463=CHARACTER_GLYPH_FONT_USAGE(#9447,#9333); -#9464=PART_TEXT_TEMPLATE('35',$,#9336,#4,'',$,*); -#9465=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('36',(#9466),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9466=CSG_SOLID_2D('',#9467); -#9467=BOOLEAN_RESULT_2D('',.UNION.,#9473,#9475); -#9468=POLYLINE('centreline',(#9361,#9469,#9470,#9471,#9389,#9410,#9472,#9366,#9391, - #9380,#9460)); -#9469=CARTESIAN_POINT('',(12483.754716981131,12483.754716981131)); -#9470=CARTESIAN_POINT('',(53339.67924528302,12483.754716981131)); -#9471=CARTESIAN_POINT('',(65823.43396226414,26102.396226415094)); -#9472=CARTESIAN_POINT('',(12483.754716981131,53339.67924528302)); -#9473=PATH_AREA_WITH_PARAMETERS('',#18704,#9468); -#9474=POLYLINE('centreline',(#9399,#9403)); -#9475=PATH_AREA_WITH_PARAMETERS('',#18704,#9474); -#9476=CHARACTER_GLYPH_FONT_USAGE(#9465,#9333); -#9477=PART_TEXT_TEMPLATE('36',$,#9336,#4,'',$,*); -#9478=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('37',(#9479),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9479=CSG_SOLID_2D('',#9480); -#9480=BOOLEAN_RESULT_2D('',.UNION.,#9482,#9485); -#9481=POLYLINE('centreline',(#24,#9454)); -#9482=PATH_AREA_WITH_PARAMETERS('',#18704,#9481); -#9483=POLYLINE('centreline',(#9440,#9453,#9418,#9390,#9440)); -#9484=PATH_AREA_WITH_PARAMETERS('',#18704,#9483); -#9485=BOOLEAN_RESULT_2D('',.UNION.,#9484,#9487); -#9486=POLYLINE('centreline',(#9459,#9362,#9432,#9356,#9459)); -#9487=PATH_AREA_WITH_PARAMETERS('',#18704,#9486); -#9488=CHARACTER_GLYPH_FONT_USAGE(#9478,#9333); -#9489=PART_TEXT_TEMPLATE('37',$,#9336,#4,'',$,*); -#9490=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('38',(#9491),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9491=CSG_SOLID_2D('',#9495); -#9492=POLYLINE('centreline',(#9374,#9418,#9493,#9440,#9380,#9361,#9494,#9352,#9388, - #9389)); -#9493=CARTESIAN_POINT('',(12483.754716981131,106679.35849056604)); -#9494=CARTESIAN_POINT('',(0.0,12483.754716981131)); -#9495=PATH_AREA_WITH_PARAMETERS('',#18704,#9492); -#9496=CHARACTER_GLYPH_FONT_USAGE(#9490,#9333); -#9497=PART_TEXT_TEMPLATE('38',$,#9336,#4,'',$,*); -#9498=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('39',(#9499),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9499=CSG_SOLID_2D('',#9502); -#9500=POLYLINE('centreline',(#9501,#9420)); -#9501=CARTESIAN_POINT('',(39721.03773584906,106679.35849056604)); -#9502=PATH_AREA_WITH_PARAMETERS('',#18704,#9500); -#9503=CHARACTER_GLYPH_FONT_USAGE(#9498,#9333); -#9504=PART_TEXT_TEMPLATE('39',$,#9336,#4,'',$,*); -#9505=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('40',(#9506),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9506=CSG_SOLID_2D('',#9510); -#9507=POLYLINE('centreline',(#9356,#9508,#9509,#9443)); -#9508=CARTESIAN_POINT('',(26102.396226415094,39721.03773584906)); -#9509=CARTESIAN_POINT('',(26102.396226415094,65823.43396226414)); -#9510=PATH_AREA_WITH_PARAMETERS('',#18704,#9507); -#9511=CHARACTER_GLYPH_FONT_USAGE(#9505,#9333); -#9512=PART_TEXT_TEMPLATE('40',$,#9336,#4,'',$,*); -#9513=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('41',(#9514),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9514=CSG_SOLID_2D('',#9518); -#9515=POLYLINE('centreline',(#9388,#9516,#9517,#9440)); -#9516=CARTESIAN_POINT('',(53339.67924528302,39721.03773584906)); -#9517=CARTESIAN_POINT('',(53339.67924528302,65823.43396226414)); -#9518=PATH_AREA_WITH_PARAMETERS('',#18704,#9515); -#9519=CHARACTER_GLYPH_FONT_USAGE(#9513,#9333); -#9520=PART_TEXT_TEMPLATE('41',$,#9336,#4,'',$,*); -#9521=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('42',(#9522),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9522=CSG_SOLID_2D('',#9523); -#9523=BOOLEAN_RESULT_2D('',.UNION.,#9526,#9529); -#9524=POLYLINE('centreline',(#9417,#9525)); -#9525=CARTESIAN_POINT('',(79442.07547169812,53339.67924528302)); -#9526=PATH_AREA_WITH_PARAMETERS('',#18704,#9524); -#9527=POLYLINE('centreline',(#9403,#9375)); -#9528=PATH_AREA_WITH_PARAMETERS('',#18704,#9527); -#9529=BOOLEAN_RESULT_2D('',.UNION.,#9528,#9532); -#9530=POLYLINE('centreline',(#9391,#9471)); -#9531=PATH_AREA_WITH_PARAMETERS('',#18704,#9530); -#9532=BOOLEAN_RESULT_2D('',.UNION.,#9531,#9535); -#9533=POLYLINE('centreline',(#9381,#9534)); -#9534=CARTESIAN_POINT('',(12483.754716981131,26102.396226415094)); -#9535=PATH_AREA_WITH_PARAMETERS('',#18704,#9533); -#9536=CHARACTER_GLYPH_FONT_USAGE(#9521,#9333); -#9537=PART_TEXT_TEMPLATE('42',$,#9336,#4,'',$,*); -#9538=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('43',(#9539),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9539=CSG_SOLID_2D('',#9540); -#9540=BOOLEAN_RESULT_2D('',.UNION.,#9542,#9544); -#9541=POLYLINE('centreline',(#9417,#9525)); -#9542=PATH_AREA_WITH_PARAMETERS('',#18704,#9541); -#9543=POLYLINE('centreline',(#9403,#9375)); -#9544=PATH_AREA_WITH_PARAMETERS('',#18704,#9543); -#9545=CHARACTER_GLYPH_FONT_USAGE(#9538,#9333); -#9546=PART_TEXT_TEMPLATE('43',$,#9336,#4,'',$,*); -#9547=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('44',(#9548),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9548=CSG_SOLID_2D('',#9552); -#9549=POLYLINE('centreline',(#9470,#9399,#9550,#9376,#9470,#9356,#9551)); -#9550=CARTESIAN_POINT('',(26102.396226415094,12483.754716981131)); -#9551=CARTESIAN_POINT('',(39721.03773584906,-26102.396226415094)); -#9552=PATH_AREA_WITH_PARAMETERS('',#18704,#9549); -#9553=CHARACTER_GLYPH_FONT_USAGE(#9547,#9333); -#9554=PART_TEXT_TEMPLATE('44',$,#9336,#4,'',$,*); -#9555=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('45',(#9556),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9556=CSG_SOLID_2D('',#9558); -#9557=POLYLINE('centreline',(#9417,#9525)); -#9558=PATH_AREA_WITH_PARAMETERS('',#18704,#9557); -#9559=CHARACTER_GLYPH_FONT_USAGE(#9555,#9333); -#9560=PART_TEXT_TEMPLATE('45',$,#9336,#4,'',$,*); -#9561=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('46',(#9562),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9562=CSG_SOLID_2D('',#9564); -#9563=POLYLINE('centreline',(#9399,#9550,#9376,#9470,#9399)); -#9564=PATH_AREA_WITH_PARAMETERS('',#18704,#9563); -#9565=CHARACTER_GLYPH_FONT_USAGE(#9561,#9333); -#9566=PART_TEXT_TEMPLATE('46',$,#9336,#4,'',$,*); -#9567=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('47',(#9568),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9568=CSG_SOLID_2D('',#9570); -#9569=POLYLINE('centreline',(#24,#9454)); -#9570=PATH_AREA_WITH_PARAMETERS('',#18704,#9569); -#9571=CHARACTER_GLYPH_FONT_USAGE(#9567,#9333); -#9572=PART_TEXT_TEMPLATE('47',$,#9336,#4,'',$,*); -#9573=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('48',(#9574),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9574=CSG_SOLID_2D('',#9575); -#9575=BOOLEAN_RESULT_2D('',.UNION.,#9580,#9582); -#9576=POLYLINE('centreline',(#9494,#9577,#9493,#9578,#9422,#9579,#9374,#9352,#9494)); -#9577=CARTESIAN_POINT('',(0.0,93060.71698113208)); -#9578=CARTESIAN_POINT('',(65823.43396226414,106679.35849056604)); -#9579=CARTESIAN_POINT('',(79442.07547169812,12483.754716981131)); -#9580=PATH_AREA_WITH_PARAMETERS('',#18704,#9576); -#9581=POLYLINE('centreline',(#24,#9454)); -#9582=PATH_AREA_WITH_PARAMETERS('',#18704,#9581); -#9583=CHARACTER_GLYPH_FONT_USAGE(#9573,#9333); -#9584=PART_TEXT_TEMPLATE('48',$,#9336,#4,'',$,*); -#9585=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('49',(#9586),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9586=CSG_SOLID_2D('',#9587); -#9587=BOOLEAN_RESULT_2D('',.UNION.,#9589,#9591); -#9588=POLYLINE('centreline',(#24,#9432)); -#9589=PATH_AREA_WITH_PARAMETERS('',#18704,#9588); -#9590=POLYLINE('centreline',(#9399,#9501,#9391)); -#9591=PATH_AREA_WITH_PARAMETERS('',#18704,#9590); -#9592=CHARACTER_GLYPH_FONT_USAGE(#9585,#9333); -#9593=PART_TEXT_TEMPLATE('49',$,#9336,#4,'',$,*); -#9594=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('50',(#9595),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9595=CSG_SOLID_2D('',#9597); -#9596=POLYLINE('centreline',(#9577,#9493,#9578,#9422,#9367,#9421,#9494,#24,#9432)); -#9597=PATH_AREA_WITH_PARAMETERS('',#18704,#9596); -#9598=CHARACTER_GLYPH_FONT_USAGE(#9594,#9333); -#9599=PART_TEXT_TEMPLATE('50',$,#9336,#4,'',$,*); -#9600=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('51',(#9601),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9601=CSG_SOLID_2D('',#9602); -#9602=BOOLEAN_RESULT_2D('',.UNION.,#9604,#9607); -#9603=POLYLINE('centreline',(#9577,#9493,#9578,#9422,#9367,#9410,#9431,#9579,#9374, - #9352,#9494)); -#9604=PATH_AREA_WITH_PARAMETERS('',#18704,#9603); -#9605=POLYLINE('centreline',(#9606,#9410)); -#9606=CARTESIAN_POINT('',(26102.396226415094,53339.67924528302)); -#9607=PATH_AREA_WITH_PARAMETERS('',#18704,#9605); -#9608=CHARACTER_GLYPH_FONT_USAGE(#9600,#9333); -#9609=PART_TEXT_TEMPLATE('51',$,#9336,#4,'',$,*); -#9610=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('52',(#9611),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9611=CSG_SOLID_2D('',#9612); -#9612=BOOLEAN_RESULT_2D('',.UNION.,#9614,#9616); -#9613=POLYLINE('centreline',(#9453,#9417,#9525)); -#9614=PATH_AREA_WITH_PARAMETERS('',#18704,#9613); -#9615=POLYLINE('centreline',(#9578,#9374)); -#9616=PATH_AREA_WITH_PARAMETERS('',#18704,#9615); -#9617=CHARACTER_GLYPH_FONT_USAGE(#9610,#9333); -#9618=PART_TEXT_TEMPLATE('52',$,#9336,#4,'',$,*); -#9619=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('53',(#9620),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9620=CSG_SOLID_2D('',#9622); -#9621=POLYLINE('centreline',(#9494,#9352,#9374,#9579,#9525,#9460,#9366,#9453,#9454)); -#9622=PATH_AREA_WITH_PARAMETERS('',#18704,#9621); -#9623=CHARACTER_GLYPH_FONT_USAGE(#9619,#9333); -#9624=PART_TEXT_TEMPLATE('53',$,#9336,#4,'',$,*); -#9625=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('54',(#9626),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9626=CSG_SOLID_2D('',#9628); -#9627=POLYLINE('centreline',(#9422,#9578,#9493,#9577,#9494,#9352,#9374,#9579,#9431, - #9421,#9472,#9429)); -#9628=PATH_AREA_WITH_PARAMETERS('',#18704,#9627); -#9629=CHARACTER_GLYPH_FONT_USAGE(#9625,#9333); -#9630=PART_TEXT_TEMPLATE('54',$,#9336,#4,'',$,*); -#9631=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('55',(#9632),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9632=CSG_SOLID_2D('',#9634); -#9633=POLYLINE('centreline',(#9577,#9453,#9454,#9430,#9388)); -#9634=PATH_AREA_WITH_PARAMETERS('',#18704,#9633); -#9635=CHARACTER_GLYPH_FONT_USAGE(#9631,#9333); -#9636=PART_TEXT_TEMPLATE('55',$,#9336,#4,'',$,*); -#9637=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('56',(#9638),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9638=CSG_SOLID_2D('',#9640); -#9639=POLYLINE('centreline',(#9472,#9429,#9494,#9352,#9374,#9579,#9431,#9421,#9472, - #9366,#9577,#9493,#9578,#9422,#9367,#9421)); -#9640=PATH_AREA_WITH_PARAMETERS('',#18704,#9639); -#9641=CHARACTER_GLYPH_FONT_USAGE(#9637,#9333); -#9642=PART_TEXT_TEMPLATE('56',$,#9336,#4,'',$,*); -#9643=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('57',(#9644),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9644=CSG_SOLID_2D('',#9646); -#9645=POLYLINE('centreline',(#9494,#9352,#9374,#9579,#9422,#9578,#9493,#9577,#9366, - #9472,#9421,#9367)); -#9646=PATH_AREA_WITH_PARAMETERS('',#18704,#9645); -#9647=CHARACTER_GLYPH_FONT_USAGE(#9643,#9333); -#9648=PART_TEXT_TEMPLATE('57',$,#9336,#4,'',$,*); -#9649=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('58',(#9650),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9650=CSG_SOLID_2D('',#9651); -#9651=BOOLEAN_RESULT_2D('',.UNION.,#9653,#9655); -#9652=POLYLINE('centreline',(#9399,#9550,#9376,#9470,#9399)); -#9653=PATH_AREA_WITH_PARAMETERS('',#18704,#9652); -#9654=POLYLINE('centreline',(#9378,#9509,#9420,#9517,#9378)); -#9655=PATH_AREA_WITH_PARAMETERS('',#18704,#9654); -#9656=CHARACTER_GLYPH_FONT_USAGE(#9649,#9333); -#9657=PART_TEXT_TEMPLATE('58',$,#9336,#4,'',$,*); -#9658=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('59',(#9659),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9659=CSG_SOLID_2D('',#9660); -#9660=BOOLEAN_RESULT_2D('',.UNION.,#9662,#9664); -#9661=POLYLINE('centreline',(#9470,#9399,#9550,#9376,#9470,#9356,#9551)); -#9662=PATH_AREA_WITH_PARAMETERS('',#18704,#9661); -#9663=POLYLINE('centreline',(#9378,#9509,#9420,#9517,#9378)); -#9664=PATH_AREA_WITH_PARAMETERS('',#18704,#9663); -#9665=CHARACTER_GLYPH_FONT_USAGE(#9658,#9333); -#9666=PART_TEXT_TEMPLATE('59',$,#9336,#4,'',$,*); -#9667=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('60',(#9668),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9668=CSG_SOLID_2D('',#9670); -#9669=POLYLINE('centreline',(#9374,#9472,#9578)); -#9670=PATH_AREA_WITH_PARAMETERS('',#18704,#9669); -#9671=CHARACTER_GLYPH_FONT_USAGE(#9667,#9333); -#9672=PART_TEXT_TEMPLATE('60',$,#9336,#4,'',$,*); -#9673=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('61',(#9674),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9674=CSG_SOLID_2D('',#9675); -#9675=BOOLEAN_RESULT_2D('',.UNION.,#9677,#9679); -#9676=POLYLINE('centreline',(#9377,#9431)); -#9677=PATH_AREA_WITH_PARAMETERS('',#18704,#9676); -#9678=POLYLINE('centreline',(#9461,#9367)); -#9679=PATH_AREA_WITH_PARAMETERS('',#18704,#9678); -#9680=CHARACTER_GLYPH_FONT_USAGE(#9673,#9333); -#9681=PART_TEXT_TEMPLATE('61',$,#9336,#4,'',$,*); -#9682=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('62',(#9683),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9683=CSG_SOLID_2D('',#9685); -#9684=POLYLINE('centreline',(#9388,#9525,#9440)); -#9685=PATH_AREA_WITH_PARAMETERS('',#18704,#9684); -#9686=CHARACTER_GLYPH_FONT_USAGE(#9682,#9333); -#9687=PART_TEXT_TEMPLATE('62',$,#9336,#4,'',$,*); -#9688=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('63',(#9689),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9689=CSG_SOLID_2D('',#9692); -#9690=POLYLINE('centreline',(#9419,#9440,#9443,#9691,#9381,#9378,#9400)); -#9691=CARTESIAN_POINT('',(65823.43396226414,104409.58490566038)); -#9692=PATH_AREA_WITH_PARAMETERS('',#18704,#9690); -#9693=CHARACTER_GLYPH_FONT_USAGE(#9688,#9333); -#9694=PART_TEXT_TEMPLATE('63',$,#9336,#4,'',$,*); -#9695=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('64',(#9696),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9696=CSG_SOLID_2D('',#9699); -#9697=POLYLINE('centreline',(#9460,#9379,#9400,#9389,#9381,#9698,#9353,#9391,#9534, - #9550,#9470)); -#9698=CARTESIAN_POINT('',(53339.67924528302,93060.71698113208)); -#9699=PATH_AREA_WITH_PARAMETERS('',#18704,#9697); -#9700=CHARACTER_GLYPH_FONT_USAGE(#9695,#9333); -#9701=PART_TEXT_TEMPLATE('64',$,#9336,#4,'',$,*); -#9702=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('65',(#9703),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9703=CSG_SOLID_2D('',#9704); -#9704=BOOLEAN_RESULT_2D('',.UNION.,#9706,#9708); -#9705=POLYLINE('centreline',(#24,#9377,#9501,#9389,#9432)); -#9706=PATH_AREA_WITH_PARAMETERS('',#18704,#9705); -#9707=POLYLINE('centreline',(#9389,#9377)); -#9708=PATH_AREA_WITH_PARAMETERS('',#18704,#9707); -#9709=CHARACTER_GLYPH_FONT_USAGE(#9702,#9333); -#9710=PART_TEXT_TEMPLATE('65',$,#9336,#4,'',$,*); -#9711=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('66',(#9712),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9712=CSG_SOLID_2D('',#9713); -#9713=BOOLEAN_RESULT_2D('',.UNION.,#9715,#9717); -#9714=POLYLINE('centreline',(#24,#9453,#9578,#9422,#9367,#9421,#9431,#9579,#9374, - #24)); -#9715=PATH_AREA_WITH_PARAMETERS('',#18704,#9714); -#9716=POLYLINE('centreline',(#9417,#9421)); -#9717=PATH_AREA_WITH_PARAMETERS('',#18704,#9716); -#9718=CHARACTER_GLYPH_FONT_USAGE(#9711,#9333); -#9719=PART_TEXT_TEMPLATE('66',$,#9336,#4,'',$,*); -#9720=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('67',(#9721),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9721=CSG_SOLID_2D('',#9723); -#9722=POLYLINE('centreline',(#9579,#9374,#9352,#9494,#9577,#9493,#9578,#9422)); -#9723=PATH_AREA_WITH_PARAMETERS('',#18704,#9722); -#9724=CHARACTER_GLYPH_FONT_USAGE(#9720,#9333); -#9725=PART_TEXT_TEMPLATE('67',$,#9336,#4,'',$,*); -#9726=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('68',(#9727),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9727=CSG_SOLID_2D('',#9730); -#9728=POLYLINE('centreline',(#24,#9453,#9443,#9357,#9367,#9431,#9729,#9356,#24)); -#9729=CARTESIAN_POINT('',(65823.43396226414,12483.754716981131)); -#9730=PATH_AREA_WITH_PARAMETERS('',#18704,#9728); -#9731=CHARACTER_GLYPH_FONT_USAGE(#9726,#9333); -#9732=PART_TEXT_TEMPLATE('68',$,#9336,#4,'',$,*); -#9733=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('69',(#9734),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9734=CSG_SOLID_2D('',#9735); -#9735=BOOLEAN_RESULT_2D('',.UNION.,#9737,#9739); -#9736=POLYLINE('centreline',(#9432,#24,#9453,#9454)); -#9737=PATH_AREA_WITH_PARAMETERS('',#18704,#9736); -#9738=POLYLINE('centreline',(#9417,#9410)); -#9739=PATH_AREA_WITH_PARAMETERS('',#18704,#9738); -#9740=CHARACTER_GLYPH_FONT_USAGE(#9733,#9333); -#9741=PART_TEXT_TEMPLATE('69',$,#9336,#4,'',$,*); -#9742=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('70',(#9743),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9743=CSG_SOLID_2D('',#9744); -#9744=BOOLEAN_RESULT_2D('',.UNION.,#9746,#9748); -#9745=POLYLINE('centreline',(#24,#9453,#9454)); -#9746=PATH_AREA_WITH_PARAMETERS('',#18704,#9745); -#9747=POLYLINE('centreline',(#9417,#9410)); -#9748=PATH_AREA_WITH_PARAMETERS('',#18704,#9747); -#9749=CHARACTER_GLYPH_FONT_USAGE(#9742,#9333); -#9750=PART_TEXT_TEMPLATE('70',$,#9336,#4,'',$,*); -#9751=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('71',(#9752),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9752=CSG_SOLID_2D('',#9754); -#9753=POLYLINE('centreline',(#9516,#9431,#9579,#9374,#9352,#9494,#9577,#9493,#9578, - #9422)); -#9754=PATH_AREA_WITH_PARAMETERS('',#18704,#9753); -#9755=CHARACTER_GLYPH_FONT_USAGE(#9751,#9333); -#9756=PART_TEXT_TEMPLATE('71',$,#9336,#4,'',$,*); -#9757=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('72',(#9758),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9758=CSG_SOLID_2D('',#9759); -#9759=BOOLEAN_RESULT_2D('',.UNION.,#9761,#9764); -#9760=POLYLINE('centreline',(#24,#9453)); -#9761=PATH_AREA_WITH_PARAMETERS('',#18704,#9760); -#9762=POLYLINE('centreline',(#9454,#9432)); -#9763=PATH_AREA_WITH_PARAMETERS('',#18704,#9762); -#9764=BOOLEAN_RESULT_2D('',.UNION.,#9763,#9766); -#9765=POLYLINE('centreline',(#9417,#9525)); -#9766=PATH_AREA_WITH_PARAMETERS('',#18704,#9765); -#9767=CHARACTER_GLYPH_FONT_USAGE(#9757,#9333); -#9768=PART_TEXT_TEMPLATE('72',$,#9336,#4,'',$,*); -#9769=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('73',(#9770),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9770=CSG_SOLID_2D('',#9771); -#9771=BOOLEAN_RESULT_2D('',.UNION.,#9773,#9776); -#9772=POLYLINE('centreline',(#24,#9432)); -#9773=PATH_AREA_WITH_PARAMETERS('',#18704,#9772); -#9774=POLYLINE('centreline',(#9453,#9454)); -#9775=PATH_AREA_WITH_PARAMETERS('',#18704,#9774); -#9776=BOOLEAN_RESULT_2D('',.UNION.,#9775,#9778); -#9777=POLYLINE('centreline',(#9501,#9399)); -#9778=PATH_AREA_WITH_PARAMETERS('',#18704,#9777); -#9779=CHARACTER_GLYPH_FONT_USAGE(#9769,#9333); -#9780=PART_TEXT_TEMPLATE('73',$,#9336,#4,'',$,*); -#9781=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('74',(#9782),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9782=CSG_SOLID_2D('',#9784); -#9783=POLYLINE('centreline',(#9454,#9579,#9374,#9352,#9494,#9429)); -#9784=PATH_AREA_WITH_PARAMETERS('',#18704,#9783); -#9785=CHARACTER_GLYPH_FONT_USAGE(#9781,#9333); -#9786=PART_TEXT_TEMPLATE('74',$,#9336,#4,'',$,*); -#9787=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('75',(#9788),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9788=CSG_SOLID_2D('',#9789); -#9789=BOOLEAN_RESULT_2D('',.UNION.,#9791,#9794); -#9790=POLYLINE('centreline',(#24,#9453)); -#9791=PATH_AREA_WITH_PARAMETERS('',#18704,#9790); -#9792=POLYLINE('centreline',(#9454,#9509,#9417)); -#9793=PATH_AREA_WITH_PARAMETERS('',#18704,#9792); -#9794=BOOLEAN_RESULT_2D('',.UNION.,#9793,#9796); -#9795=POLYLINE('centreline',(#9509,#9432)); -#9796=PATH_AREA_WITH_PARAMETERS('',#18704,#9795); -#9797=CHARACTER_GLYPH_FONT_USAGE(#9787,#9333); -#9798=PART_TEXT_TEMPLATE('75',$,#9336,#4,'',$,*); -#9799=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('76',(#9800),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9800=CSG_SOLID_2D('',#9802); -#9801=POLYLINE('centreline',(#9453,#24,#9432)); -#9802=PATH_AREA_WITH_PARAMETERS('',#18704,#9801); -#9803=CHARACTER_GLYPH_FONT_USAGE(#9799,#9333); -#9804=PART_TEXT_TEMPLATE('76',$,#9336,#4,'',$,*); -#9805=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('77',(#9806),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9806=CSG_SOLID_2D('',#9808); -#9807=POLYLINE('centreline',(#24,#9453,#9379,#9454,#9432)); -#9808=PATH_AREA_WITH_PARAMETERS('',#18704,#9807); -#9809=CHARACTER_GLYPH_FONT_USAGE(#9805,#9333); -#9810=PART_TEXT_TEMPLATE('77',$,#9336,#4,'',$,*); -#9811=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('78',(#9812),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9812=CSG_SOLID_2D('',#9814); -#9813=POLYLINE('centreline',(#24,#9453,#9432,#9454)); -#9814=PATH_AREA_WITH_PARAMETERS('',#18704,#9813); -#9815=CHARACTER_GLYPH_FONT_USAGE(#9811,#9333); -#9816=PART_TEXT_TEMPLATE('78',$,#9336,#4,'',$,*); -#9817=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('79',(#9818),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9818=CSG_SOLID_2D('',#9820); -#9819=POLYLINE('centreline',(#9494,#9352,#9374,#9579,#9422,#9578,#9493,#9577,#9494)); -#9820=PATH_AREA_WITH_PARAMETERS('',#18704,#9819); -#9821=CHARACTER_GLYPH_FONT_USAGE(#9817,#9333); -#9822=PART_TEXT_TEMPLATE('79',$,#9336,#4,'',$,*); -#9823=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('80',(#9824),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9824=CSG_SOLID_2D('',#9826); -#9825=POLYLINE('centreline',(#24,#9453,#9578,#9422,#9367,#9421,#9417)); -#9826=PATH_AREA_WITH_PARAMETERS('',#18704,#9825); -#9827=CHARACTER_GLYPH_FONT_USAGE(#9823,#9333); -#9828=PART_TEXT_TEMPLATE('80',$,#9336,#4,'',$,*); -#9829=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('81',(#9830),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9830=CSG_SOLID_2D('',#9831); -#9831=BOOLEAN_RESULT_2D('',.UNION.,#9833,#9835); -#9832=POLYLINE('centreline',(#9494,#9352,#9374,#9579,#9422,#9578,#9493,#9577,#9494)); -#9833=PATH_AREA_WITH_PARAMETERS('',#18704,#9832); -#9834=POLYLINE('centreline',(#9432,#9459)); -#9835=PATH_AREA_WITH_PARAMETERS('',#18704,#9834); -#9836=CHARACTER_GLYPH_FONT_USAGE(#9829,#9333); -#9837=PART_TEXT_TEMPLATE('81',$,#9336,#4,'',$,*); -#9838=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('82',(#9839),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9839=CSG_SOLID_2D('',#9840); -#9840=BOOLEAN_RESULT_2D('',.UNION.,#9842,#9844); -#9841=POLYLINE('centreline',(#24,#9453,#9578,#9422,#9367,#9421,#9417)); -#9842=PATH_AREA_WITH_PARAMETERS('',#18704,#9841); -#9843=POLYLINE('centreline',(#9378,#9432)); -#9844=PATH_AREA_WITH_PARAMETERS('',#18704,#9843); -#9845=CHARACTER_GLYPH_FONT_USAGE(#9838,#9333); -#9846=PART_TEXT_TEMPLATE('82',$,#9336,#4,'',$,*); -#9847=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('83',(#9848),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9848=CSG_SOLID_2D('',#9850); -#9849=POLYLINE('centreline',(#9494,#9352,#9374,#9579,#9431,#9421,#9472,#9366,#9577, - #9493,#9578,#9422)); -#9850=PATH_AREA_WITH_PARAMETERS('',#18704,#9849); -#9851=CHARACTER_GLYPH_FONT_USAGE(#9847,#9333); -#9852=PART_TEXT_TEMPLATE('83',$,#9336,#4,'',$,*); -#9853=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('84',(#9854),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9854=CSG_SOLID_2D('',#9855); -#9855=BOOLEAN_RESULT_2D('',.UNION.,#9857,#9859); -#9856=POLYLINE('centreline',(#9453,#9454)); -#9857=PATH_AREA_WITH_PARAMETERS('',#18704,#9856); -#9858=POLYLINE('centreline',(#9501,#9399)); -#9859=PATH_AREA_WITH_PARAMETERS('',#18704,#9858); -#9860=CHARACTER_GLYPH_FONT_USAGE(#9853,#9333); -#9861=PART_TEXT_TEMPLATE('84',$,#9336,#4,'',$,*); -#9862=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('85',(#9863),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9863=CSG_SOLID_2D('',#9865); -#9864=POLYLINE('centreline',(#9453,#9494,#9352,#9374,#9579,#9454)); -#9865=PATH_AREA_WITH_PARAMETERS('',#18704,#9864); -#9866=CHARACTER_GLYPH_FONT_USAGE(#9862,#9333); -#9867=PART_TEXT_TEMPLATE('85',$,#9336,#4,'',$,*); -#9868=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('86',(#9869),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9869=CSG_SOLID_2D('',#9871); -#9870=POLYLINE('centreline',(#9453,#9472,#9399,#9421,#9454)); -#9871=PATH_AREA_WITH_PARAMETERS('',#18704,#9870); -#9872=CHARACTER_GLYPH_FONT_USAGE(#9868,#9333); -#9873=PART_TEXT_TEMPLATE('86',$,#9336,#4,'',$,*); -#9874=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('87',(#9875),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9875=CSG_SOLID_2D('',#9877); -#9876=POLYLINE('centreline',(#9453,#9352,#9378,#9374,#9454)); -#9877=PATH_AREA_WITH_PARAMETERS('',#18704,#9876); -#9878=CHARACTER_GLYPH_FONT_USAGE(#9874,#9333); -#9879=PART_TEXT_TEMPLATE('87',$,#9336,#4,'',$,*); -#9880=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('88',(#9881),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9881=CSG_SOLID_2D('',#9882); -#9882=BOOLEAN_RESULT_2D('',.UNION.,#9884,#9886); -#9883=POLYLINE('centreline',(#24,#9454)); -#9884=PATH_AREA_WITH_PARAMETERS('',#18704,#9883); -#9885=POLYLINE('centreline',(#9453,#9432)); -#9886=PATH_AREA_WITH_PARAMETERS('',#18704,#9885); -#9887=CHARACTER_GLYPH_FONT_USAGE(#9880,#9333); -#9888=PART_TEXT_TEMPLATE('88',$,#9336,#4,'',$,*); -#9889=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('89',(#9890),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9890=CSG_SOLID_2D('',#9891); -#9891=BOOLEAN_RESULT_2D('',.UNION.,#9893,#9895); -#9892=POLYLINE('centreline',(#9453,#9379,#9454)); -#9893=PATH_AREA_WITH_PARAMETERS('',#18704,#9892); -#9894=POLYLINE('centreline',(#9379,#9399)); -#9895=PATH_AREA_WITH_PARAMETERS('',#18704,#9894); -#9896=CHARACTER_GLYPH_FONT_USAGE(#9889,#9333); -#9897=PART_TEXT_TEMPLATE('89',$,#9336,#4,'',$,*); -#9898=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('90',(#9899),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9899=CSG_SOLID_2D('',#9901); -#9900=POLYLINE('centreline',(#9453,#9454,#24,#9432)); -#9901=PATH_AREA_WITH_PARAMETERS('',#18704,#9900); -#9902=CHARACTER_GLYPH_FONT_USAGE(#9898,#9333); -#9903=PART_TEXT_TEMPLATE('90',$,#9336,#4,'',$,*); -#9904=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('91',(#9905),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9905=CSG_SOLID_2D('',#9907); -#9906=POLYLINE('centreline',(#9432,#9352,#9493,#9454)); -#9907=PATH_AREA_WITH_PARAMETERS('',#18704,#9906); -#9908=CHARACTER_GLYPH_FONT_USAGE(#9904,#9333); -#9909=PART_TEXT_TEMPLATE('91',$,#9336,#4,'',$,*); -#9910=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('92',(#9911),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9911=CSG_SOLID_2D('',#9913); -#9912=POLYLINE('centreline',(#9453,#9432)); -#9913=PATH_AREA_WITH_PARAMETERS('',#18704,#9912); -#9914=CHARACTER_GLYPH_FONT_USAGE(#9910,#9333); -#9915=PART_TEXT_TEMPLATE('92',$,#9336,#4,'',$,*); -#9916=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('93',(#9917),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9917=CSG_SOLID_2D('',#9919); -#9918=POLYLINE('centreline',(#9352,#9432,#9454,#9493)); -#9919=PATH_AREA_WITH_PARAMETERS('',#18704,#9918); -#9920=CHARACTER_GLYPH_FONT_USAGE(#9916,#9333); -#9921=PART_TEXT_TEMPLATE('93',$,#9336,#4,'',$,*); -#9922=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('94',(#9923),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9923=CSG_SOLID_2D('',#9924); -#9924=BOOLEAN_RESULT_2D('',.UNION.,#9926,#9928); -#9925=POLYLINE('centreline',(#9550,#9429,#9366,#9353,#9698,#9367,#9431,#9470,#9550)); -#9926=PATH_AREA_WITH_PARAMETERS('',#18704,#9925); -#9927=POLYLINE('centreline',(#9352,#9578)); -#9928=PATH_AREA_WITH_PARAMETERS('',#18704,#9927); -#9929=CHARACTER_GLYPH_FONT_USAGE(#9922,#9333); -#9930=PART_TEXT_TEMPLATE('94',$,#9336,#4,'',$,*); -#9931=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('95',(#9932),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9932=CSG_SOLID_2D('',#9936); -#9933=POLYLINE('centreline',(#9934,#9935)); -#9934=CARTESIAN_POINT('',(0.0,-12483.754716981131)); -#9935=CARTESIAN_POINT('',(93060.71698113208,-12483.754716981131)); -#9936=PATH_AREA_WITH_PARAMETERS('',#18704,#9933); -#9937=CHARACTER_GLYPH_FONT_USAGE(#9931,#9333); -#9938=PART_TEXT_TEMPLATE('95',$,#9336,#4,'',$,*); -#9939=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('96',(#9940),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9940=CSG_SOLID_2D('',#9942); -#9941=POLYLINE('centreline',(#9440,#9501,#9698,#9380,#9379,#9509,#9391,#9419,#9440)); -#9942=PATH_AREA_WITH_PARAMETERS('',#18704,#9941); -#9943=CHARACTER_GLYPH_FONT_USAGE(#9939,#9333); -#9944=PART_TEXT_TEMPLATE('96',$,#9336,#4,'',$,*); -#9945=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('97',(#9946),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9946=CSG_SOLID_2D('',#9948); -#9947=POLYLINE('centreline',(#9461,#9517,#9421,#9374,#9352,#9494,#9361,#9377,#9389)); -#9948=PATH_AREA_WITH_PARAMETERS('',#18704,#9947); -#9949=CHARACTER_GLYPH_FONT_USAGE(#9945,#9333); -#9950=PART_TEXT_TEMPLATE('97',$,#9336,#4,'',$,*); -#9951=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('98',(#9952),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9952=CSG_SOLID_2D('',#9954); -#9953=POLYLINE('centreline',(#9366,#9517,#9421,#9729,#9356,#24,#9453)); -#9954=PATH_AREA_WITH_PARAMETERS('',#18704,#9953); -#9955=CHARACTER_GLYPH_FONT_USAGE(#9951,#9333); -#9956=PART_TEXT_TEMPLATE('98',$,#9336,#4,'',$,*); -#9957=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('99',(#9958),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9958=CSG_SOLID_2D('',#9960); -#9959=POLYLINE('centreline',(#9729,#9356,#9352,#9494,#9417,#9461,#9517,#9421)); -#9960=PATH_AREA_WITH_PARAMETERS('',#18704,#9959); -#9961=CHARACTER_GLYPH_FONT_USAGE(#9957,#9333); -#9962=PART_TEXT_TEMPLATE('99',$,#9336,#4,'',$,*); -#9963=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('100',(#9964),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9964=CSG_SOLID_2D('',#9966); -#9965=POLYLINE('centreline',(#9460,#9461,#9417,#9494,#9352,#9374,#9578)); -#9966=PATH_AREA_WITH_PARAMETERS('',#18704,#9965); -#9967=CHARACTER_GLYPH_FONT_USAGE(#9963,#9333); -#9968=PART_TEXT_TEMPLATE('100',$,#9336,#4,'',$,*); -#9969=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('101',(#9970),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9970=CSG_SOLID_2D('',#9972); -#9971=POLYLINE('centreline',(#9361,#9459,#9389,#9421,#9517,#9461,#9417,#9494,#9352, - #9374)); -#9972=PATH_AREA_WITH_PARAMETERS('',#18704,#9971); -#9973=CHARACTER_GLYPH_FONT_USAGE(#9969,#9333); -#9974=PART_TEXT_TEMPLATE('101',$,#9336,#4,'',$,*); -#9975=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('102',(#9976),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9976=CSG_SOLID_2D('',#9977); -#9977=BOOLEAN_RESULT_2D('',.UNION.,#9979,#9981); -#9978=POLYLINE('centreline',(#9352,#9419,#9440,#9578)); -#9979=PATH_AREA_WITH_PARAMETERS('',#18704,#9978); -#9980=POLYLINE('centreline',(#9417,#9378)); -#9981=PATH_AREA_WITH_PARAMETERS('',#18704,#9980); -#9982=CHARACTER_GLYPH_FONT_USAGE(#9975,#9333); -#9983=PART_TEXT_TEMPLATE('102',$,#9336,#4,'',$,*); -#9984=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('103',(#9985),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9985=CSG_SOLID_2D('',#9991); -#9986=POLYLINE('centreline',(#9987,#9988,#9989,#9990,#9421,#9517,#9461,#9417,#9494, - #9352,#9374)); -#9987=CARTESIAN_POINT('',(0.0,-26102.396226415094)); -#9988=CARTESIAN_POINT('',(12483.754716981131,-39721.03773584906)); -#9989=CARTESIAN_POINT('',(53339.67924528302,-39721.03773584906)); -#9990=CARTESIAN_POINT('',(65823.43396226414,-26102.396226415094)); -#9991=PATH_AREA_WITH_PARAMETERS('',#18704,#9986); -#9992=CHARACTER_GLYPH_FONT_USAGE(#9984,#9333); -#9993=PART_TEXT_TEMPLATE('103',$,#9336,#4,'',$,*); -#9994=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('104',(#9995),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#9995=CSG_SOLID_2D('',#9996); -#9996=BOOLEAN_RESULT_2D('',.UNION.,#9998,#10000); -#9997=POLYLINE('centreline',(#24,#9453)); -#9998=PATH_AREA_WITH_PARAMETERS('',#18704,#9997); -#9999=POLYLINE('centreline',(#9417,#9461,#9517,#9421,#9374)); -#10000=PATH_AREA_WITH_PARAMETERS('',#18704,#9999); -#10001=CHARACTER_GLYPH_FONT_USAGE(#9994,#9333); -#10002=PART_TEXT_TEMPLATE('104',$,#9336,#4,'',$,*); -#10003=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('105',(#10004),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10004=CSG_SOLID_2D('',#10005); -#10005=BOOLEAN_RESULT_2D('',.UNION.,#10007,#10010); -#10006=POLYLINE('centreline',(#9388,#9356)); -#10007=PATH_AREA_WITH_PARAMETERS('',#18704,#10006); -#10008=POLYLINE('centreline',(#9399,#9379,#9509)); -#10009=PATH_AREA_WITH_PARAMETERS('',#18704,#10008); -#10010=BOOLEAN_RESULT_2D('',.UNION.,#10009,#10012); -#10011=POLYLINE('centreline',(#9390,#9353,#9403,#9420,#9390)); -#10012=PATH_AREA_WITH_PARAMETERS('',#18704,#10011); -#10013=CHARACTER_GLYPH_FONT_USAGE(#10003,#9333); -#10014=PART_TEXT_TEMPLATE('105',$,#9336,#4,'',$,*); -#10015=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('106',(#10016),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10016=CSG_SOLID_2D('',#10017); -#10017=BOOLEAN_RESULT_2D('',.UNION.,#10021,#10023); -#10018=POLYLINE('centreline',(#9987,#9988,#10019,#10020,#9517)); -#10019=CARTESIAN_POINT('',(39721.03773584906,-39721.03773584906)); -#10020=CARTESIAN_POINT('',(53339.67924528302,-26102.396226415094)); -#10021=PATH_AREA_WITH_PARAMETERS('',#18704,#10018); -#10022=POLYLINE('centreline',(#9380,#9698,#9403,#9420,#9380)); -#10023=PATH_AREA_WITH_PARAMETERS('',#18704,#10022); -#10024=CHARACTER_GLYPH_FONT_USAGE(#10015,#9333); -#10025=PART_TEXT_TEMPLATE('106',$,#9336,#4,'',$,*); -#10026=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('107',(#10027),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10027=CSG_SOLID_2D('',#10028); -#10028=BOOLEAN_RESULT_2D('',.UNION.,#10030,#10032); -#10029=POLYLINE('centreline',(#24,#9453)); -#10030=PATH_AREA_WITH_PARAMETERS('',#18704,#10029); -#10031=POLYLINE('centreline',(#9517,#9361,#9374)); -#10032=PATH_AREA_WITH_PARAMETERS('',#18704,#10031); -#10033=CHARACTER_GLYPH_FONT_USAGE(#10026,#9333); -#10034=PART_TEXT_TEMPLATE('107',$,#9336,#4,'',$,*); -#10035=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('108',(#10036),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10036=CSG_SOLID_2D('',#10037); -#10037=BOOLEAN_RESULT_2D('',.UNION.,#10039,#10041); -#10038=POLYLINE('centreline',(#9388,#9356)); -#10039=PATH_AREA_WITH_PARAMETERS('',#18704,#10038); -#10040=POLYLINE('centreline',(#9399,#9501,#9440)); -#10041=PATH_AREA_WITH_PARAMETERS('',#18704,#10040); -#10042=CHARACTER_GLYPH_FONT_USAGE(#10035,#9333); -#10043=PART_TEXT_TEMPLATE('108',$,#9336,#4,'',$,*); -#10044=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('109',(#10045),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10045=CSG_SOLID_2D('',#10046); -#10046=BOOLEAN_RESULT_2D('',.UNION.,#10048,#10051); -#10047=POLYLINE('centreline',(#24,#9366)); -#10048=PATH_AREA_WITH_PARAMETERS('',#18704,#10047); -#10049=POLYLINE('centreline',(#9417,#9461,#9509,#9378,#9399)); -#10050=PATH_AREA_WITH_PARAMETERS('',#18704,#10049); -#10051=BOOLEAN_RESULT_2D('',.UNION.,#10050,#10053); -#10052=POLYLINE('centreline',(#9378,#9517,#9460,#9525,#9432)); -#10053=PATH_AREA_WITH_PARAMETERS('',#18704,#10052); -#10054=CHARACTER_GLYPH_FONT_USAGE(#10044,#9333); -#10055=PART_TEXT_TEMPLATE('109',$,#9336,#4,'',$,*); -#10056=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('110',(#10057),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10057=CSG_SOLID_2D('',#10058); -#10058=BOOLEAN_RESULT_2D('',.UNION.,#10060,#10062); -#10059=POLYLINE('centreline',(#24,#9366)); -#10060=PATH_AREA_WITH_PARAMETERS('',#18704,#10059); -#10061=POLYLINE('centreline',(#9417,#9461,#9517,#9421,#9374)); -#10062=PATH_AREA_WITH_PARAMETERS('',#18704,#10061); -#10063=CHARACTER_GLYPH_FONT_USAGE(#10056,#9333); -#10064=PART_TEXT_TEMPLATE('110',$,#9336,#4,'',$,*); -#10065=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('111',(#10066),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10066=CSG_SOLID_2D('',#10068); -#10067=POLYLINE('centreline',(#9494,#9417,#9461,#9517,#9421,#9729,#9356,#9352,#9494)); -#10068=PATH_AREA_WITH_PARAMETERS('',#18704,#10067); -#10069=CHARACTER_GLYPH_FONT_USAGE(#10065,#9333); -#10070=PART_TEXT_TEMPLATE('111',$,#9336,#4,'',$,*); -#10071=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('112',(#10072),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10072=CSG_SOLID_2D('',#10075); -#10073=POLYLINE('centreline',(#10074,#9366,#9517,#9421,#9729,#9356,#24)); -#10074=CARTESIAN_POINT('',(0.0,-39721.03773584906)); -#10075=PATH_AREA_WITH_PARAMETERS('',#18704,#10073); -#10076=CHARACTER_GLYPH_FONT_USAGE(#10071,#9333); -#10077=PART_TEXT_TEMPLATE('112',$,#9336,#4,'',$,*); -#10078=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('113',(#10079),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10079=CSG_SOLID_2D('',#10080); -#10080=BOOLEAN_RESULT_2D('',.UNION.,#10083,#10085); -#10081=POLYLINE('centreline',(#10082,#9460)); -#10082=CARTESIAN_POINT('',(65823.43396226414,-39721.03773584906)); -#10083=PATH_AREA_WITH_PARAMETERS('',#18704,#10081); -#10084=POLYLINE('centreline',(#9421,#9517,#9461,#9417,#9494,#9352,#9356,#9729)); -#10085=PATH_AREA_WITH_PARAMETERS('',#18704,#10084); -#10086=CHARACTER_GLYPH_FONT_USAGE(#10078,#9333); -#10087=PART_TEXT_TEMPLATE('113',$,#9336,#4,'',$,*); -#10088=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('114',(#10089),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10089=CSG_SOLID_2D('',#10090); -#10090=BOOLEAN_RESULT_2D('',.UNION.,#10092,#10094); -#10091=POLYLINE('centreline',(#24,#9366)); -#10092=PATH_AREA_WITH_PARAMETERS('',#18704,#10091); -#10093=POLYLINE('centreline',(#9417,#9461,#9517,#9421)); -#10094=PATH_AREA_WITH_PARAMETERS('',#18704,#10093); -#10095=CHARACTER_GLYPH_FONT_USAGE(#10088,#9333); -#10096=PART_TEXT_TEMPLATE('114',$,#9336,#4,'',$,*); -#10097=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('115',(#10098),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10098=CSG_SOLID_2D('',#10100); -#10099=POLYLINE('centreline',(#9494,#9352,#9356,#9729,#9471,#9516,#9377,#9417,#9461, - #9517,#9421)); -#10100=PATH_AREA_WITH_PARAMETERS('',#18704,#10099); -#10101=CHARACTER_GLYPH_FONT_USAGE(#10097,#9333); -#10102=PART_TEXT_TEMPLATE('115',$,#9336,#4,'',$,*); -#10103=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('116',(#10104),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10104=CSG_SOLID_2D('',#10105); -#10105=BOOLEAN_RESULT_2D('',.UNION.,#10107,#10109); -#10106=POLYLINE('centreline',(#9729,#9356,#9399,#9550,#9440)); -#10107=PATH_AREA_WITH_PARAMETERS('',#18704,#10106); -#10108=POLYLINE('centreline',(#9366,#9517)); -#10109=PATH_AREA_WITH_PARAMETERS('',#18704,#10108); -#10110=CHARACTER_GLYPH_FONT_USAGE(#10103,#9333); -#10111=PART_TEXT_TEMPLATE('116',$,#9336,#4,'',$,*); -#10112=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('117',(#10113),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10113=CSG_SOLID_2D('',#10114); -#10114=BOOLEAN_RESULT_2D('',.UNION.,#10116,#10118); -#10115=POLYLINE('centreline',(#9366,#9494,#9352,#9356,#9729)); -#10116=PATH_AREA_WITH_PARAMETERS('',#18704,#10115); -#10117=POLYLINE('centreline',(#9374,#9460)); -#10118=PATH_AREA_WITH_PARAMETERS('',#18704,#10117); -#10119=CHARACTER_GLYPH_FONT_USAGE(#10112,#9333); -#10120=PART_TEXT_TEMPLATE('117',$,#9336,#4,'',$,*); -#10121=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('118',(#10122),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10122=CSG_SOLID_2D('',#10124); -#10123=POLYLINE('centreline',(#9366,#9399,#9367)); -#10124=PATH_AREA_WITH_PARAMETERS('',#18704,#10123); -#10125=CHARACTER_GLYPH_FONT_USAGE(#10121,#9333); -#10126=PART_TEXT_TEMPLATE('118',$,#9336,#4,'',$,*); -#10127=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('119',(#10128),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10128=CSG_SOLID_2D('',#10129); -#10129=BOOLEAN_RESULT_2D('',.UNION.,#10131,#10133); -#10130=POLYLINE('centreline',(#9366,#9429,#9388,#9375,#9356,#9431,#9367)); -#10131=PATH_AREA_WITH_PARAMETERS('',#18704,#10130); -#10132=POLYLINE('centreline',(#9375,#9400)); -#10133=PATH_AREA_WITH_PARAMETERS('',#18704,#10132); -#10134=CHARACTER_GLYPH_FONT_USAGE(#10127,#9333); -#10135=PART_TEXT_TEMPLATE('119',$,#9336,#4,'',$,*); -#10136=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('120',(#10137),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10137=CSG_SOLID_2D('',#10138); -#10138=BOOLEAN_RESULT_2D('',.UNION.,#10140,#10142); -#10139=POLYLINE('centreline',(#24,#9460)); -#10140=PATH_AREA_WITH_PARAMETERS('',#18704,#10139); -#10141=POLYLINE('centreline',(#9366,#9374)); -#10142=PATH_AREA_WITH_PARAMETERS('',#18704,#10141); -#10143=CHARACTER_GLYPH_FONT_USAGE(#10136,#9333); -#10144=PART_TEXT_TEMPLATE('120',$,#9336,#4,'',$,*); -#10145=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('121',(#10146),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10146=CSG_SOLID_2D('',#10147); -#10147=BOOLEAN_RESULT_2D('',.UNION.,#10149,#10151); -#10148=POLYLINE('centreline',(#9987,#9988,#9989,#9990,#9460)); -#10149=PATH_AREA_WITH_PARAMETERS('',#18704,#10148); -#10150=POLYLINE('centreline',(#9729,#9356,#9352,#9494,#9366)); -#10151=PATH_AREA_WITH_PARAMETERS('',#18704,#10150); -#10152=CHARACTER_GLYPH_FONT_USAGE(#10145,#9333); -#10153=PART_TEXT_TEMPLATE('121',$,#9336,#4,'',$,*); -#10154=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('122',(#10155),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10155=CSG_SOLID_2D('',#10157); -#10156=POLYLINE('centreline',(#9366,#9460,#24,#9374)); -#10157=PATH_AREA_WITH_PARAMETERS('',#18704,#10156); -#10158=CHARACTER_GLYPH_FONT_USAGE(#10154,#9333); -#10159=PART_TEXT_TEMPLATE('122',$,#9336,#4,'',$,*); -#10160=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('123',(#10161),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10161=CSG_SOLID_2D('',#10163); -#10162=POLYLINE('centreline',(#9374,#9356,#9375,#9400,#9472,#9379,#9403,#9443,#9578)); -#10163=PATH_AREA_WITH_PARAMETERS('',#18704,#10162); -#10164=CHARACTER_GLYPH_FONT_USAGE(#10160,#9333); -#10165=PART_TEXT_TEMPLATE('123',$,#9336,#4,'',$,*); -#10166=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('124',(#10167),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10167=CSG_SOLID_2D('',#10169); -#10168=POLYLINE('centreline',(#9987,#9509,#9550,#9399,#9356,#9729,#9460)); -#10169=PATH_AREA_WITH_PARAMETERS('',#18704,#10168); -#10170=CHARACTER_GLYPH_FONT_USAGE(#10166,#9333); -#10171=PART_TEXT_TEMPLATE('124',$,#9336,#4,'',$,*); -#10172=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('125',(#10173),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10173=CSG_SOLID_2D('',#10175); -#10174=POLYLINE('centreline',(#9352,#9388,#9375,#9400,#9421,#9379,#9403,#9440,#9493)); -#10175=PATH_AREA_WITH_PARAMETERS('',#18704,#10174); -#10176=CHARACTER_GLYPH_FONT_USAGE(#10172,#9333); -#10177=PART_TEXT_TEMPLATE('125',$,#9336,#4,'',$,*); -#10178=(CHARACTER_GLYPH_SYMBOL(#9334,0.0)CSG_2D_SHAPE_REPRESENTATION() - GENERIC_CHARACTER_GLYPH_SYMBOL()REPRESENTATION('125',(#10179),#9337) - SHAPE_REPRESENTATION()SOLID_CHARACTER_GLYPH_2D_SYMBOL() - SYMBOL_REPRESENTATION()); -#10179=CSG_SOLID_2D('',#10180); -#10180=BOOLEAN_RESULT_2D('',.UNION.,#10182,#10185); -#10181=POLYLINE('centreline',(#9494,#9579)); -#10182=PATH_AREA_WITH_PARAMETERS('',#18704,#10181); -#10183=POLYLINE('centreline',(#9525,#9417)); -#10184=PATH_AREA_WITH_PARAMETERS('',#18704,#10183); -#10185=BOOLEAN_RESULT_2D('',.UNION.,#10184,#10187); -#10186=POLYLINE('centreline',(#9403,#9375)); -#10187=PATH_AREA_WITH_PARAMETERS('',#18704,#10186); -#10188=CHARACTER_GLYPH_FONT_USAGE(#10178,#9333); -#10189=PART_TEXT_TEMPLATE('125',$,#9336,#4,'',$,*); -#10190=CARTESIAN_POINT('',(914400.0,203200.0)); -#10191=AXIS2_PLACEMENT_2D('',#10190,$); -#10192=TEXT_LITERAL_WITH_EXTENT('','pid3',#10191,'JUST_START',.RIGHT.,#9333, - $); -#10193=LAMINATE_TEXT_STRING_COMPONENT('',$,#10196,#4,'','definition usage',$,#10194, - *,'',$,*); -#10194=PART_STRING_TEMPLATE('tmpl53',$,#10196,#4,'',$,*); -#10195=PRODUCT('tmpl53','template',$,(#21759)); -#10196=PRODUCT_DEFINITION_FORMATION('1',$,#10195); -#10197=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1','',$,#223,#10194, - 'TEXT STRING 1','',$,#10193,*); -#10198=STRATUM_FEATURE('TEXT STRING 1_0_P',$,#297,.U.); -#10199=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 1_0_P',$,#9336,#4,'TEXT STRING 1_0_P', - 'definition usage',$,#9828,*,'',$,*); -#10200=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10190,1.0); -#10201=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_P','',$,#223, - #9828,'TEXT STRING 1_0_P','',$,#10199,*); -#10202=PRODUCT_DEFINITION_SHAPE('',$,#10201); -#10203=COMPONENT_2D_LOCATION(*,#10202,'component 2d location',$,#9823,#224,#10200); -#10204=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_P','',$,#10193, - #9828,'TEXT STRING 1_0_P','',$,#10199,*); -#10205=STRATUM_FEATURE('TEXT STRING 1_0_D',$,#297,.U.); -#10206=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 1_0_D',$,#9336,#4,'TEXT STRING 1_0_D', - 'definition usage',$,#9732,*,'',$,*); -#10207=CARTESIAN_POINT('',(1021079.358490566,203200.0)); -#10208=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10207,1.0); -#10209=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_D','',$,#223, - #9732,'TEXT STRING 1_0_D','',$,#10206,*); -#10210=PRODUCT_DEFINITION_SHAPE('',$,#10209); -#10211=COMPONENT_2D_LOCATION(*,#10210,'component 2d location',$,#9726,#224,#10208); -#10212=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_D','',$,#10193, - #9732,'TEXT STRING 1_0_D','',$,#10206,*); -#10213=STRATUM_FEATURE('TEXT STRING 1_0_E',$,#297,.U.); -#10214=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 1_0_E',$,#9336,#4,'TEXT STRING 1_0_E', - 'definition usage',$,#9741,*,'',$,*); -#10215=CARTESIAN_POINT('',(1127758.716981132,203200.0)); -#10216=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10215,1.0); -#10217=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_E','',$,#223, - #9741,'TEXT STRING 1_0_E','',$,#10214,*); -#10218=PRODUCT_DEFINITION_SHAPE('',$,#10217); -#10219=COMPONENT_2D_LOCATION(*,#10218,'component 2d location',$,#9733,#224,#10216); -#10220=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_E','',$,#10193, - #9741,'TEXT STRING 1_0_E','',$,#10214,*); -#10221=STRATUM_FEATURE('TEXT STRING 1_0_S',$,#297,.U.); -#10222=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 1_0_S',$,#9336,#4,'TEXT STRING 1_0_S', - 'definition usage',$,#9852,*,'',$,*); -#10223=CARTESIAN_POINT('',(1234438.075471698,203200.0)); -#10224=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10223,1.0); -#10225=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_S','',$,#223, - #9852,'TEXT STRING 1_0_S','',$,#10222,*); -#10226=PRODUCT_DEFINITION_SHAPE('',$,#10225); -#10227=COMPONENT_2D_LOCATION(*,#10226,'component 2d location',$,#9847,#224,#10224); -#10228=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_S','',$,#10193, - #9852,'TEXT STRING 1_0_S','',$,#10222,*); -#10229=STRATUM_FEATURE('TEXT STRING 1_0_-',$,#297,.U.); -#10230=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 1_0_-',$,#9336,#4,'TEXT STRING 1_0_-', - 'definition usage',$,#9560,*,'',$,*); -#10231=CARTESIAN_POINT('',(1341117.433962264,203200.0)); -#10232=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10231,1.0); -#10233=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_-','',$,#223, - #9560,'TEXT STRING 1_0_-','',$,#10230,*); -#10234=PRODUCT_DEFINITION_SHAPE('',$,#10233); -#10235=COMPONENT_2D_LOCATION(*,#10234,'component 2d location',$,#9555,#224,#10232); -#10236=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_-','',$,#10193, - #9560,'TEXT STRING 1_0_-','',$,#10230,*); -#10237=STRATUM_FEATURE('TEXT STRING 1_0_3',$,#297,.U.); -#10238=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 1_0_3',$,#9336,#4,'TEXT STRING 1_0_3', - 'definition usage',$,#9609,*,'',$,*); -#10239=CARTESIAN_POINT('',(1447796.7924528301,203200.0)); -#10240=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10239,1.0); -#10241=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_3','',$,#223, - #9609,'TEXT STRING 1_0_3','',$,#10238,*); -#10242=PRODUCT_DEFINITION_SHAPE('',$,#10241); -#10243=COMPONENT_2D_LOCATION(*,#10242,'component 2d location',$,#9600,#224,#10240); -#10244=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_3','',$,#10193, - #9609,'TEXT STRING 1_0_3','',$,#10238,*); -#10245=STRATUM_FEATURE('TEXT STRING 1_0_8',$,#297,.U.); -#10246=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 1_0_8',$,#9336,#4,'TEXT STRING 1_0_8', - 'definition usage',$,#9642,*,'',$,*); -#10247=CARTESIAN_POINT('',(1554476.1509433961,203200.0)); -#10248=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10247,1.0); -#10249=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_8','',$,#223, - #9642,'TEXT STRING 1_0_8','',$,#10246,*); -#10250=PRODUCT_DEFINITION_SHAPE('',$,#10249); -#10251=COMPONENT_2D_LOCATION(*,#10250,'component 2d location',$,#9637,#224,#10248); -#10252=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_8','',$,#10193, - #9642,'TEXT STRING 1_0_8','',$,#10246,*); -#10253=STRATUM_FEATURE('TEXT STRING 1_0_1',$,#297,.U.); -#10254=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 1_0_1',$,#9336,#4,'TEXT STRING 1_0_1', - 'definition usage',$,#9593,*,'',$,*); -#10255=CARTESIAN_POINT('',(1661155.5094339622,203200.0)); -#10256=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10255,1.0); -#10257=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_1','',$,#223, - #9593,'TEXT STRING 1_0_1','',$,#10254,*); -#10258=PRODUCT_DEFINITION_SHAPE('',$,#10257); -#10259=COMPONENT_2D_LOCATION(*,#10258,'component 2d location',$,#9585,#224,#10256); -#10260=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 1_0_1','',$,#10193, - #9593,'TEXT STRING 1_0_1','',$,#10254,*); -#10261=CARTESIAN_POINT('',(914400.0,-38100.0)); -#10262=AXIS2_PLACEMENT_2D('',#10261,$); -#10263=TEXT_LITERAL_WITH_EXTENT('','13499',#10262,'JUST_START',.RIGHT.,#9333,$); -#10264=LAMINATE_TEXT_STRING_COMPONENT('',$,#10196,#4,'','definition usage',$,#10194, - *,'',$,*); -#10265=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 2','',$,#223,#10194, - 'TEXT STRING 2','',$,#10264,*); -#10266=STRATUM_FEATURE('TEXT STRING 2_0_1',$,#297,.U.); -#10267=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 2_0_1',$,#9336,#4,'TEXT STRING 2_0_1', - 'definition usage',$,#9593,*,'',$,*); -#10268=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10261,1.0); -#10269=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 2_0_1','',$,#223, - #9593,'TEXT STRING 2_0_1','',$,#10267,*); -#10270=PRODUCT_DEFINITION_SHAPE('',$,#10269); -#10271=COMPONENT_2D_LOCATION(*,#10270,'component 2d location',$,#9585,#224,#10268); -#10272=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 2_0_1','',$,#10264, - #9593,'TEXT STRING 2_0_1','',$,#10267,*); -#10273=STRATUM_FEATURE('TEXT STRING 2_0_3',$,#297,.U.); -#10274=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 2_0_3',$,#9336,#4,'TEXT STRING 2_0_3', - 'definition usage',$,#9609,*,'',$,*); -#10275=CARTESIAN_POINT('',(1021079.358490566,-38100.0)); -#10276=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10275,1.0); -#10277=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 2_0_3','',$,#223, - #9609,'TEXT STRING 2_0_3','',$,#10274,*); -#10278=PRODUCT_DEFINITION_SHAPE('',$,#10277); -#10279=COMPONENT_2D_LOCATION(*,#10278,'component 2d location',$,#9600,#224,#10276); -#10280=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 2_0_3','',$,#10264, - #9609,'TEXT STRING 2_0_3','',$,#10274,*); -#10281=STRATUM_FEATURE('TEXT STRING 2_0_4',$,#297,.U.); -#10282=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 2_0_4',$,#9336,#4,'TEXT STRING 2_0_4', - 'definition usage',$,#9618,*,'',$,*); -#10283=CARTESIAN_POINT('',(1127758.716981132,-38100.0)); -#10284=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10283,1.0); -#10285=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 2_0_4','',$,#223, - #9618,'TEXT STRING 2_0_4','',$,#10282,*); -#10286=PRODUCT_DEFINITION_SHAPE('',$,#10285); -#10287=COMPONENT_2D_LOCATION(*,#10286,'component 2d location',$,#9610,#224,#10284); -#10288=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 2_0_4','',$,#10264, - #9618,'TEXT STRING 2_0_4','',$,#10282,*); -#10289=STRATUM_FEATURE('TEXT STRING 2_0_9',$,#297,.U.); -#10290=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 2_0_9',$,#9336,#4,'TEXT STRING 2_0_9', - 'definition usage',$,#9648,*,'',$,*); -#10291=CARTESIAN_POINT('',(1234438.075471698,-38100.0)); -#10292=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10291,1.0); -#10293=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 2_0_9','',$,#223, - #9648,'TEXT STRING 2_0_9','',$,#10290,*); -#10294=PRODUCT_DEFINITION_SHAPE('',$,#10293); -#10295=COMPONENT_2D_LOCATION(*,#10294,'component 2d location',$,#9643,#224,#10292); -#10296=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 2_0_9','',$,#10264, - #9648,'TEXT STRING 2_0_9','',$,#10290,*); -#10297=STRATUM_FEATURE('TEXT STRING 2_0_9',$,#297,.U.); -#10298=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 2_0_9',$,#9336,#4,'TEXT STRING 2_0_9', - 'definition usage',$,#9648,*,'',$,*); -#10299=CARTESIAN_POINT('',(1341117.433962264,-38100.0)); -#10300=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10299,1.0); -#10301=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 2_0_9','',$,#223, - #9648,'TEXT STRING 2_0_9','',$,#10298,*); -#10302=PRODUCT_DEFINITION_SHAPE('',$,#10301); -#10303=COMPONENT_2D_LOCATION(*,#10302,'component 2d location',$,#9643,#224,#10300); -#10304=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 2_0_9','',$,#10264, - #9648,'TEXT STRING 2_0_9','',$,#10298,*); -#10305=CARTESIAN_POINT('',(927100.0,-266700.0)); -#10306=AXIS2_PLACEMENT_2D('',#10305,$); -#10307=TEXT_LITERAL_WITH_EXTENT('','MFR',#10306,'JUST_START',.RIGHT.,#9333,$); -#10308=LAMINATE_TEXT_STRING_COMPONENT('',$,#10196,#4,'','definition usage',$,#10194, - *,'',$,*); -#10309=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 3','',$,#223,#10194, - 'TEXT STRING 3','',$,#10308,*); -#10310=STRATUM_FEATURE('TEXT STRING 3_0_M',$,#297,.U.); -#10311=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 3_0_M',$,#9336,#4,'TEXT STRING 3_0_M', - 'definition usage',$,#9810,*,'',$,*); -#10312=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10305,1.0); -#10313=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 3_0_M','',$,#223, - #9810,'TEXT STRING 3_0_M','',$,#10311,*); -#10314=PRODUCT_DEFINITION_SHAPE('',$,#10313); -#10315=COMPONENT_2D_LOCATION(*,#10314,'component 2d location',$,#9805,#224,#10312); -#10316=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 3_0_M','',$,#10308, - #9810,'TEXT STRING 3_0_M','',$,#10311,*); -#10317=STRATUM_FEATURE('TEXT STRING 3_0_F',$,#297,.U.); -#10318=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 3_0_F',$,#9336,#4,'TEXT STRING 3_0_F', - 'definition usage',$,#9750,*,'',$,*); -#10319=CARTESIAN_POINT('',(1033779.358490566,-266700.0)); -#10320=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10319,1.0); -#10321=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 3_0_F','',$,#223, - #9750,'TEXT STRING 3_0_F','',$,#10318,*); -#10322=PRODUCT_DEFINITION_SHAPE('',$,#10321); -#10323=COMPONENT_2D_LOCATION(*,#10322,'component 2d location',$,#9742,#224,#10320); -#10324=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 3_0_F','',$,#10308, - #9750,'TEXT STRING 3_0_F','',$,#10318,*); -#10325=STRATUM_FEATURE('TEXT STRING 3_0_R',$,#297,.U.); -#10326=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 3_0_R',$,#9336,#4,'TEXT STRING 3_0_R', - 'definition usage',$,#9846,*,'',$,*); -#10327=CARTESIAN_POINT('',(1140458.716981132,-266700.0)); -#10328=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10327,1.0); -#10329=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 3_0_R','',$,#223, - #9846,'TEXT STRING 3_0_R','',$,#10326,*); -#10330=PRODUCT_DEFINITION_SHAPE('',$,#10329); -#10331=COMPONENT_2D_LOCATION(*,#10330,'component 2d location',$,#9838,#224,#10328); -#10332=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 3_0_R','',$,#10308, - #9846,'TEXT STRING 3_0_R','',$,#10326,*); -#10333=CARTESIAN_POINT('',(2349500.0,-266700.0)); -#10334=AXIS2_PLACEMENT_2D('',#10333,$); -#10335=TEXT_LITERAL_WITH_EXTENT('','REV',#10334,'JUST_START',.RIGHT.,#9333,$); -#10336=LAMINATE_TEXT_STRING_COMPONENT('',$,#10196,#4,'','definition usage',$,#10194, - *,'',$,*); -#10337=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 4','',$,#223,#10194, - 'TEXT STRING 4','',$,#10336,*); -#10338=STRATUM_FEATURE('TEXT STRING 4_0_R',$,#297,.U.); -#10339=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 4_0_R',$,#9336,#4,'TEXT STRING 4_0_R', - 'definition usage',$,#9846,*,'',$,*); -#10340=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10333,1.0); -#10341=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 4_0_R','',$,#223, - #9846,'TEXT STRING 4_0_R','',$,#10339,*); -#10342=PRODUCT_DEFINITION_SHAPE('',$,#10341); -#10343=COMPONENT_2D_LOCATION(*,#10342,'component 2d location',$,#9838,#224,#10340); -#10344=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 4_0_R','',$,#10336, - #9846,'TEXT STRING 4_0_R','',$,#10339,*); -#10345=STRATUM_FEATURE('TEXT STRING 4_0_E',$,#297,.U.); -#10346=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 4_0_E',$,#9336,#4,'TEXT STRING 4_0_E', - 'definition usage',$,#9741,*,'',$,*); -#10347=CARTESIAN_POINT('',(2456179.3584905663,-266700.0)); -#10348=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10347,1.0); -#10349=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 4_0_E','',$,#223, - #9741,'TEXT STRING 4_0_E','',$,#10346,*); -#10350=PRODUCT_DEFINITION_SHAPE('',$,#10349); -#10351=COMPONENT_2D_LOCATION(*,#10350,'component 2d location',$,#9733,#224,#10348); -#10352=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 4_0_E','',$,#10336, - #9741,'TEXT STRING 4_0_E','',$,#10346,*); -#10353=STRATUM_FEATURE('TEXT STRING 4_0_V',$,#297,.U.); -#10354=ADDITIVE_LAMINATE_TEXT_COMPONENT('TEXT STRING 4_0_V',$,#9336,#4,'TEXT STRING 4_0_V', - 'definition usage',$,#9873,*,'',$,*); -#10355=CARTESIAN_POINT('',(2562858.7169811325,-266700.0)); -#10356=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#42,#43,#10355,1.0); -#10357=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 4_0_V','',$,#223, - #9873,'TEXT STRING 4_0_V','',$,#10354,*); -#10358=PRODUCT_DEFINITION_SHAPE('',$,#10357); -#10359=COMPONENT_2D_LOCATION(*,#10358,'component 2d location',$,#9868,#224,#10356); -#10360=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('TEXT STRING 4_0_V','',$,#10336, - #9873,'TEXT STRING 4_0_V','',$,#10354,*); -#10361=LAYER_CONNECTION_POINT('Wiring Layer7 V11 of net1','dependently located', - #271,.U.); -#10362=LAYER_CONNECTION_POINT('Wiring Layer7 V15 of net1','dependently located', - #271,.U.); -#10363=LAYER_CONNECTION_POINT('Wiring Layer7 V3 of net1','dependently located', - #271,.U.); -#10364=LAYER_CONNECTION_POINT('Wiring Layer7 V13 of net1','dependently located', - #271,.U.); -#10365=LAYER_CONNECTION_POINT('Wiring Layer7 V7 of net1','dependently located', - #271,.U.); -#10366=LAYER_CONNECTION_POINT('Wiring Layer7 V9 of net1','dependently located', - #271,.U.); -#10367=LAYER_CONNECTION_POINT('Wiring Layer7 V16 of net1','dependently located', - #271,.U.); -#10368=LAYER_CONNECTION_POINT('Wiring Layer7 V5 of net1','dependently located', - #271,.U.); -#10369=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#14015,#14016,#10370,#14017,#14018), - #14014); -#10370=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(17780.0),#17)REPRESENTATION_ITEM('curve width')); -#10371=PRODUCT('tmpl54','template',$,(#21759)); -#10372=PRODUCT_DEFINITION_FORMATION('1',$,#10371); -#10373=TRACE_TEMPLATE('1',$,#10372,#4,'',$,*); -#10374=POLYLINE('centreline',(#7982,#10375,#3167)); -#10375=CARTESIAN_POINT('',(348500.0,2245512.0)); -#10376=PATH_AREA_WITH_PARAMETERS('',#18705,#10374); -#10377=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 1', - $,#10372,#4,'route net1 1','definition usage',$,#10373,*,'',$,*,'',$, - *,#22967,#10376); -#10378=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 1','',$,#223, - #10373,'route net1 1','',$,#10377,*); -#10379=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10377,.U.); -#10380=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10377,.U.); -#10381=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10377,.U.,'',$,#10379, - #10380); -#10382=STRATUM_FEATURE('1','conductor',#297,.U.); -#10383=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10384=POLYLINE('centreline',(#8064,#10385,#3039)); -#10385=CARTESIAN_POINT('',(348500.0,2345512.0)); -#10386=PATH_AREA_WITH_PARAMETERS('',#18705,#10384); -#10387=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 2', - $,#10372,#4,'route net1 2','definition usage',$,#10373,*,'',$,*,'',$, - *,#22972,#10386); -#10388=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 2','',$,#223, - #10373,'route net1 2','',$,#10387,*); -#10389=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10387,.U.); -#10390=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10387,.U.); -#10391=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10387,.U.,'',$,#10389, - #10390); -#10392=STRATUM_FEATURE('2','conductor',#297,.U.); -#10393=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10394=POLYLINE('centreline',(#7827,#10395,#3127)); -#10395=CARTESIAN_POINT('',(348500.0,2145512.0)); -#10396=PATH_AREA_WITH_PARAMETERS('',#18705,#10394); -#10397=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 3', - $,#10372,#4,'route net1 3','definition usage',$,#10373,*,'',$,*,'',$, - *,#22977,#10396); -#10398=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 3','',$,#223, - #10373,'route net1 3','',$,#10397,*); -#10399=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10397,.U.); -#10400=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10397,.U.); -#10401=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10397,.U.,'',$,#10399, - #10400); -#10402=STRATUM_FEATURE('3','conductor',#297,.U.); -#10403=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10404=POLYLINE('centreline',(#7961,#10405,#3495)); -#10405=CARTESIAN_POINT('',(1048512.0,2445500.0)); -#10406=PATH_AREA_WITH_PARAMETERS('',#18705,#10404); -#10407=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 4', - $,#10372,#4,'route net1 4','definition usage',$,#10373,*,'',$,*,'',$, - *,#22982,#10406); -#10408=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 4','',$,#223, - #10373,'route net1 4','',$,#10407,*); -#10409=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10407,.U.); -#10410=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10407,.U.); -#10411=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10407,.U.,'',$,#10409, - #10410); -#10412=STRATUM_FEATURE('4','conductor',#297,.U.); -#10413=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10414=PRODUCT('tmpl55','template',$,(#21759)); -#10415=PRODUCT_DEFINITION_FORMATION('1',$,#10414); -#10416=TRACE_TEMPLATE('1',$,#10415,#4,'',$,*); -#10417=POLYLINE('centreline',(#8074,#7982)); -#10418=PATH_AREA_WITH_PARAMETERS('',#18702,#10417); -#10419=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 5', - $,#10415,#4,'route net1 5','definition usage',$,#10416,*,'',$,*,'',$, - *,#22987,#10418); -#10420=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 5','',$,#223, - #10416,'route net1 5','',$,#10419,*); -#10421=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10419,.U.); -#10422=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10419,.U.); -#10423=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10419,.U.,'',$,#10421, - #10422); -#10424=STRATUM_FEATURE('5','conductor',#307,.U.); -#10425=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10426=POLYLINE('centreline',(#8125,#8064)); -#10427=PATH_AREA_WITH_PARAMETERS('',#18702,#10426); -#10428=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 6', - $,#10415,#4,'route net1 6','definition usage',$,#10416,*,'',$,*,'',$, - *,#22992,#10427); -#10429=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 6','',$,#223, - #10416,'route net1 6','',$,#10428,*); -#10430=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10428,.U.); -#10431=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10428,.U.); -#10432=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10428,.U.,'',$,#10430, - #10431); -#10433=STRATUM_FEATURE('6','conductor',#307,.U.); -#10434=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10435=POLYLINE('centreline',(#8146,#7827)); -#10436=PATH_AREA_WITH_PARAMETERS('',#18702,#10435); -#10437=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 7', - $,#10415,#4,'route net1 7','definition usage',$,#10416,*,'',$,*,'',$, - *,#22997,#10436); -#10438=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 7','',$,#223, - #10416,'route net1 7','',$,#10437,*); -#10439=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10437,.U.); -#10440=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10437,.U.); -#10441=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10437,.U.,'',$,#10439, - #10440); -#10442=STRATUM_FEATURE('7','conductor',#307,.U.); -#10443=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10444=POLYLINE('centreline',(#4710,#7961)); -#10445=PATH_AREA_WITH_PARAMETERS('',#18702,#10444); -#10446=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 8', - $,#10415,#4,'route net1 8','definition usage',$,#10416,*,'',$,*,'',$, - *,#23002,#10445); -#10447=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 8','',$,#223, - #10416,'route net1 8','',$,#10446,*); -#10448=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10446,.U.); -#10449=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10446,.U.); -#10450=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10446,.U.,'',$,#10448, - #10449); -#10451=STRATUM_FEATURE('8','conductor',#307,.U.); -#10452=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10453=POLYLINE('centreline',(#5009,#10454,#8167)); -#10454=CARTESIAN_POINT('',(3693287.0,1704289.0)); -#10455=PATH_AREA_WITH_PARAMETERS('',#18702,#10453); -#10456=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 9', - $,#10415,#4,'route net1 9','definition usage',$,#10416,*,'',$,*,'',$, - *,#23007,#10455); -#10457=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 9','',$,#223, - #10416,'route net1 9','',$,#10456,*); -#10458=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10456,.U.); -#10459=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10456,.U.); -#10460=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10456,.U.,'',$,#10458, - #10459); -#10461=STRATUM_FEATURE('9','conductor',#285,.U.); -#10462=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10463=POLYLINE('centreline',(#7992,#10464,#7971)); -#10464=CARTESIAN_POINT('',(2910789.0,2004213.0)); -#10465=PATH_AREA_WITH_PARAMETERS('',#18702,#10463); -#10466=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 10', - $,#10415,#4,'route net1 10','definition usage',$,#10416,*,'',$,*,'',$, - *,#23012,#10465); -#10467=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 10','',$,#223, - #10416,'route net1 10','',$,#10466,*); -#10468=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10466,.U.); -#10469=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10466,.U.); -#10470=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10466,.U.,'',$,#10468, - #10469); -#10471=STRATUM_FEATURE('10','conductor',#285,.U.); -#10472=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10473=POLYLINE('centreline',(#7696,#10474,#8115)); -#10474=CARTESIAN_POINT('',(2910789.0,1904213.0)); -#10475=PATH_AREA_WITH_PARAMETERS('',#18702,#10473); -#10476=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 11', - $,#10415,#4,'route net1 11','definition usage',$,#10416,*,'',$,*,'',$, - *,#23017,#10475); -#10477=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 11','',$,#223, - #10416,'route net1 11','',$,#10476,*); -#10478=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10476,.U.); -#10479=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10476,.U.); -#10480=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10476,.U.,'',$,#10478, - #10479); -#10481=STRATUM_FEATURE('11','conductor',#285,.U.); -#10482=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10483=POLYLINE('centreline',(#8043,#10484,#8033)); -#10484=CARTESIAN_POINT('',(2910789.0,1804213.0)); -#10485=PATH_AREA_WITH_PARAMETERS('',#18702,#10483); -#10486=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 12', - $,#10415,#4,'route net1 12','definition usage',$,#10416,*,'',$,*,'',$, - *,#23022,#10485); -#10487=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 12','',$,#223, - #10416,'route net1 12','',$,#10486,*); -#10488=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10486,.U.); -#10489=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10486,.U.); -#10490=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10486,.U.,'',$,#10488, - #10489); -#10491=STRATUM_FEATURE('12','conductor',#285,.U.); -#10492=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10493=POLYLINE('centreline',(#8167,#10494,#1595)); -#10494=CARTESIAN_POINT('',(3652266.0,1745500.0)); -#10495=PATH_AREA_WITH_PARAMETERS('',#18705,#10493); -#10496=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 13', - $,#10372,#4,'route net1 13','definition usage',$,#10373,*,'',$,*,'',$, - *,#23027,#10495); -#10497=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 13','',$,#223, - #10373,'route net1 13','',$,#10496,*); -#10498=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10496,.U.); -#10499=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10496,.U.); -#10500=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10496,.U.,'',$,#10498, - #10499); -#10501=STRATUM_FEATURE('13','conductor',#311,.U.); -#10502=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10503=POLYLINE('centreline',(#7971,#10504,#1227)); -#10504=CARTESIAN_POINT('',(2952000.0,2045234.0)); -#10505=PATH_AREA_WITH_PARAMETERS('',#18705,#10503); -#10506=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 14', - $,#10372,#4,'route net1 14','definition usage',$,#10373,*,'',$,*,'',$, - *,#23032,#10505); -#10507=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 14','',$,#223, - #10373,'route net1 14','',$,#10506,*); -#10508=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10506,.U.); -#10509=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10506,.U.); -#10510=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10506,.U.,'',$,#10508, - #10509); -#10511=STRATUM_FEATURE('14','conductor',#311,.U.); -#10512=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10513=POLYLINE('centreline',(#8115,#10514,#1267)); -#10514=CARTESIAN_POINT('',(2952000.0,1945234.0)); -#10515=PATH_AREA_WITH_PARAMETERS('',#18705,#10513); -#10516=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 15', - $,#10372,#4,'route net1 15','definition usage',$,#10373,*,'',$,*,'',$, - *,#23037,#10515); -#10517=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 15','',$,#223, - #10373,'route net1 15','',$,#10516,*); -#10518=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10516,.U.); -#10519=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10516,.U.); -#10520=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10516,.U.,'',$,#10518, - #10519); -#10521=STRATUM_FEATURE('15','conductor',#311,.U.); -#10522=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10523=POLYLINE('centreline',(#8033,#10524,#1139)); -#10524=CARTESIAN_POINT('',(2952000.0,1845234.0)); -#10525=PATH_AREA_WITH_PARAMETERS('',#18705,#10523); -#10526=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net1 16', - $,#10372,#4,'route net1 16','definition usage',$,#10373,*,'',$,*,'',$, - *,#23042,#10525); -#10527=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net1 16','',$,#223, - #10373,'route net1 16','',$,#10526,*); -#10528=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10526,.U.); -#10529=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10526,.U.); -#10530=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10526,.U.,'',$,#10528, - #10529); -#10531=STRATUM_FEATURE('16','conductor',#311,.U.); -#10532=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10533=STRATUM_FEATURE('17','connected filled area',#271,.U.); -#10534=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10535=PHYSICAL_NETWORK('net1','routed physical network',#223,.U.); -#10536=JOIN_SHAPE_ASPECT('unrouted join',$,#223,.U.); -#10537=LAMINATE_COMPONENT_FEATURE('1','via terminal',#7987,.U.); -#10538=LAMINATE_COMPONENT_FEATURE('1','via terminal',#8069,.U.); -#10539=LAMINATE_COMPONENT_FEATURE('1','via terminal',#7977,.U.); -#10540=LAMINATE_COMPONENT_FEATURE('1','via terminal',#7966,.U.); -#10541=LAMINATE_COMPONENT_FEATURE('1','via terminal',#8172,.U.); -#10542=LAMINATE_COMPONENT_FEATURE('1','via terminal',#7956,.U.); -#10543=LAMINATE_COMPONENT_FEATURE('1','via terminal',#8038,.U.); -#10544=LAMINATE_COMPONENT_FEATURE('1','via terminal',#8120,.U.); -#10545=LAYER_CONNECTION_POINT('Wiring Layer15 V1 of net2','dependently located', - #285,.U.); -#10546=LAYER_CONNECTION_POINT('Wiring Layer15 V2 of net2','dependently located', - #285,.U.); -#10547=LAYER_CONNECTION_POINT('Wiring Layer4 V3 of net2','dependently located', - #303,.U.); -#10548=LAYER_CONNECTION_POINT('Wiring Layer4 V2 of net2','dependently located', - #303,.U.); -#10549=LAYER_CONNECTION_POINT('Wiring Layer2 V3 of net2','dependently located', - #307,.U.); -#10550=LAYER_CONNECTION_POINT('Wiring Layer2 V4 of net2','dependently located', - #307,.U.); -#10551=POLYLINE('centreline',(#8230,#10552,#3399)); -#10552=CARTESIAN_POINT('',(548488.0,1745500.0)); -#10553=PATH_AREA_WITH_PARAMETERS('',#18705,#10551); -#10554=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net2 1', - $,#10372,#4,'route net2 1','definition usage',$,#10373,*,'',$,*,'',$,*,#23047, - #10553); -#10555=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net2 1','',$,#223,#10373, - 'route net2 1','',$,#10554,*); -#10556=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10554,.U.); -#10557=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10554,.U.); -#10558=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10554,.U.,'',$,#10556, - #10557); -#10559=STRATUM_FEATURE('18','conductor',#297,.U.); -#10560=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10561=POLYLINE('centreline',(#8230,#8209)); -#10562=PATH_AREA_WITH_PARAMETERS('',#18702,#10561); -#10563=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net2 2', - $,#10415,#4,'route net2 2','definition usage',$,#10416,*,'',$,*,'',$,*,#23052, - #10562); -#10564=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net2 2','',$,#223,#10416, - 'route net2 2','',$,#10563,*); -#10565=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10563,.U.); -#10566=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10563,.U.); -#10567=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10563,.U.,'',$,#10565, - #10566); -#10568=STRATUM_FEATURE('19','conductor',#307,.U.); -#10569=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10570=PRODUCT('tmpl56','template',$,(#21759)); -#10571=PRODUCT_DEFINITION_FORMATION('1',$,#10570); -#10572=TRACE_TEMPLATE('1',$,#10571,#4,'',$,*); -#10573=POLYLINE('centreline',(#8209,#10574,#10575,#8250)); -#10574=CARTESIAN_POINT('',(584124.0,1628648.0)); -#10575=CARTESIAN_POINT('',(2935478.0,1628648.0)); -#10576=PATH_AREA_WITH_PARAMETERS('',#18703,#10573); -#10577=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net2 3', - $,#10571,#4,'route net2 3','definition usage',$,#10572,*,'',$,*,'',$,*,#23057, - #10576); -#10578=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net2 3','',$,#223,#10572, - 'route net2 3','',$,#10577,*); -#10579=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10577,.U.); -#10580=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10577,.U.); -#10581=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10577,.U.,'',$,#10579, - #10580); -#10582=STRATUM_FEATURE('20','conductor',#303,.U.); -#10583=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10584=POLYLINE('centreline',(#8250,#8275)); -#10585=PATH_AREA_WITH_PARAMETERS('',#18702,#10584); -#10586=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net2 4', - $,#10415,#4,'route net2 4','definition usage',$,#10416,*,'',$,*,'',$,*,#23062, - #10585); -#10587=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net2 4','',$,#223,#10416, - 'route net2 4','',$,#10586,*); -#10588=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10586,.U.); -#10589=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10586,.U.); -#10590=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10586,.U.,'',$,#10588, - #10589); -#10591=STRATUM_FEATURE('21','conductor',#285,.U.); -#10592=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10593=POLYLINE('centreline',(#8275,#8240)); -#10594=PATH_AREA_WITH_PARAMETERS('',#18702,#10593); -#10595=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net2 5', - $,#10415,#4,'route net2 5','definition usage',$,#10416,*,'',$,*,'',$,*,#23067, - #10594); -#10596=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net2 5','',$,#223,#10416, - 'route net2 5','',$,#10595,*); -#10597=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10595,.U.); -#10598=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10595,.U.); -#10599=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10595,.U.,'',$,#10597, - #10598); -#10600=STRATUM_FEATURE('22','conductor',#285,.U.); -#10601=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10602=POLYLINE('centreline',(#8240,#10603,#1619)); -#10603=CARTESIAN_POINT('',(3052000.0,1745234.0)); -#10604=PATH_AREA_WITH_PARAMETERS('',#18705,#10602); -#10605=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net2 6', - $,#10372,#4,'route net2 6','definition usage',$,#10373,*,'',$,*,'',$,*,#23072, - #10604); -#10606=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net2 6','',$,#223,#10373, - 'route net2 6','',$,#10605,*); -#10607=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10605,.U.); -#10608=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10605,.U.); -#10609=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10605,.U.,'',$,#10607, - #10608); -#10610=STRATUM_FEATURE('23','conductor',#311,.U.); -#10611=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10612=STRATUM_FEATURE('24','connected filled area',#285,.U.); -#10613=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10614=STRATUM_FEATURE('25','conductive filled area',#303,.U.); -#10615=STRATUM_FEATURE('26','conductive filled area',#303,.U.); -#10616=STRATUM_FEATURE('27','connected filled area',#307,.U.); -#10617=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10618=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#10619=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#10620=PHYSICAL_NETWORK('net2','routed physical network',#223,.U.); -#10621=JOIN_SHAPE_ASPECT('unrouted join',$,#223,.U.); -#10622=LAYER_CONNECTION_POINT('Wiring Layer15 V1 of net3','dependently located', - #285,.U.); -#10623=LAYER_CONNECTION_POINT('Wiring Layer15 V2 of net3','dependently located', - #285,.U.); -#10624=LAYER_CONNECTION_POINT('Wiring Layer2 V3 of net3','dependently located', - #307,.U.); -#10625=LAYER_CONNECTION_POINT('Wiring Layer2 V4 of net3','dependently located', - #307,.U.); -#10626=LAYER_CONNECTION_POINT('Wiring Layer9 V4 of net3','dependently located', - #281,.U.); -#10627=LAYER_CONNECTION_POINT('Wiring Layer9 V2 of net3','dependently located', - #281,.U.); -#10628=LAYER_CONNECTION_POINT('Wiring Layer8 V4 of net3','dependently located', - #277,.U.); -#10629=LAYER_CONNECTION_POINT('Wiring Layer8 V2 of net3','dependently located', - #277,.U.); -#10630=POLYLINE('centreline',(#8284,#10631,#3463)); -#10631=CARTESIAN_POINT('',(748500.0,1845488.0)); -#10632=PATH_AREA_WITH_PARAMETERS('',#18705,#10630); -#10633=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net3 1', - $,#10372,#4,'route net3 1','definition usage',$,#10373,*,'',$,*,'',$,*,#23077, - #10632); -#10634=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net3 1','',$,#223,#10373, - 'route net3 1','',$,#10633,*); -#10635=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10633,.U.); -#10636=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10633,.U.); -#10637=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10633,.U.,'',$,#10635, - #10636); -#10638=STRATUM_FEATURE('28','conductor',#297,.U.); -#10639=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10640=POLYLINE('centreline',(#5043,#8284)); -#10641=PATH_AREA_WITH_PARAMETERS('',#18702,#10640); -#10642=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net3 2', - $,#10415,#4,'route net3 2','definition usage',$,#10416,*,'',$,*,'',$,*,#23082, - #10641); -#10643=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net3 2','',$,#223,#10416, - 'route net3 2','',$,#10642,*); -#10644=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10642,.U.); -#10645=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10642,.U.); -#10646=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10642,.U.,'',$,#10644, - #10645); -#10647=STRATUM_FEATURE('29','conductor',#307,.U.); -#10648=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10649=POLYLINE('centreline',(#5181,#8344)); -#10650=PATH_AREA_WITH_PARAMETERS('',#18702,#10649); -#10651=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net3 3', - $,#10415,#4,'route net3 3','definition usage',$,#10416,*,'',$,*,'',$,*,#23087, - #10650); -#10652=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net3 3','',$,#223,#10416, - 'route net3 3','',$,#10651,*); -#10653=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10651,.U.); -#10654=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10651,.U.); -#10655=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10651,.U.,'',$,#10653, - #10654); -#10656=STRATUM_FEATURE('30','conductor',#285,.U.); -#10657=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10658=POLYLINE('centreline',(#8344,#8314)); -#10659=PATH_AREA_WITH_PARAMETERS('',#18702,#10658); -#10660=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net3 4', - $,#10415,#4,'route net3 4','definition usage',$,#10416,*,'',$,*,'',$,*,#23092, - #10659); -#10661=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net3 4','',$,#223,#10416, - 'route net3 4','',$,#10660,*); -#10662=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10660,.U.); -#10663=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10660,.U.); -#10664=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10660,.U.,'',$,#10662, - #10663); -#10665=STRATUM_FEATURE('31','conductor',#285,.U.); -#10666=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10667=POLYLINE('centreline',(#8314,#10668,#1563)); -#10668=CARTESIAN_POINT('',(3352000.0,2345766.0)); -#10669=PATH_AREA_WITH_PARAMETERS('',#18705,#10667); -#10670=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net3 5', - $,#10372,#4,'route net3 5','definition usage',$,#10373,*,'',$,*,'',$,*,#23097, - #10669); -#10671=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net3 5','',$,#223,#10373, - 'route net3 5','',$,#10670,*); -#10672=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10670,.U.); -#10673=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10670,.U.); -#10674=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10670,.U.,'',$,#10672, - #10673); -#10675=STRATUM_FEATURE('32','conductor',#311,.U.); -#10676=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10677=STRATUM_FEATURE('33','connected filled area',#285,.U.); -#10678=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10679=STRATUM_FEATURE('34','connected filled area',#307,.U.); -#10680=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10681=STRATUM_FEATURE('35','connected filled area',#281,.U.); -#10682=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10683=STRATUM_FEATURE('36','connected filled area',#277,.U.); -#10684=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10685=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#10686=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#10687=PHYSICAL_NETWORK('net3','routed physical network',#223,.U.); -#10688=JOIN_SHAPE_ASPECT('unrouted join',$,#223,.U.); -#10689=LAYER_CONNECTION_POINT('Wiring Layer15 V1 of net4','dependently located', - #285,.U.); -#10690=LAYER_CONNECTION_POINT('Wiring Layer15 V4 of net4','dependently located', - #285,.U.); -#10691=LAYER_CONNECTION_POINT('Wiring Layer2 V2 of net4','dependently located', - #307,.U.); -#10692=LAYER_CONNECTION_POINT('Wiring Layer2 V3 of net4','dependently located', - #307,.U.); -#10693=LAYER_CONNECTION_POINT('Wiring Layer13 V3 of net4','dependently located', - #257,.U.); -#10694=POLYLINE('centreline',(#8406,#10695,#3471)); -#10695=CARTESIAN_POINT('',(648488.0,1745500.0)); -#10696=PATH_AREA_WITH_PARAMETERS('',#18705,#10694); -#10697=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net4 1', - $,#10372,#4,'route net4 1','definition usage',$,#10373,*,'',$,*,'',$,*,#23102, - #10696); -#10698=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net4 1','',$,#223,#10373, - 'route net4 1','',$,#10697,*); -#10699=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10697,.U.); -#10700=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10697,.U.); -#10701=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10697,.U.,'',$,#10699, - #10700); -#10702=STRATUM_FEATURE('37','conductor',#297,.U.); -#10703=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10704=POLYLINE('centreline',(#8355,#8406)); -#10705=PATH_AREA_WITH_PARAMETERS('',#18702,#10704); -#10706=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net4 2', - $,#10415,#4,'route net4 2','definition usage',$,#10416,*,'',$,*,'',$,*,#23107, - #10705); -#10707=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net4 2','',$,#223,#10416, - 'route net4 2','',$,#10706,*); -#10708=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10706,.U.); -#10709=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10706,.U.); -#10710=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10706,.U.,'',$,#10708, - #10709); -#10711=STRATUM_FEATURE('38','conductor',#307,.U.); -#10712=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10713=POLYLINE('centreline',(#5112,#10714,#10715,#10716,#10717,#10718,#8355)); -#10714=CARTESIAN_POINT('',(3046680.0,2068322.0)); -#10715=CARTESIAN_POINT('',(2548382.0,2068322.0)); -#10716=CARTESIAN_POINT('',(2279904.0,1799844.0)); -#10717=CARTESIAN_POINT('',(921512.0,1799844.0)); -#10718=CARTESIAN_POINT('',(826592.0,1704924.0)); -#10719=PATH_AREA_WITH_PARAMETERS('',#18703,#10713); -#10720=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net4 3', - $,#10571,#4,'route net4 3','definition usage',$,#10572,*,'',$,*,'',$,*,#23112, - #10719); -#10721=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net4 3','',$,#223,#10572, - 'route net4 3','',$,#10720,*); -#10722=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10720,.U.); -#10723=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10720,.U.); -#10724=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10720,.U.,'',$,#10722, - #10723); -#10725=STRATUM_FEATURE('39','conductor',#257,.U.); -#10726=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10727=POLYLINE('centreline',(#5112,#8420)); -#10728=PATH_AREA_WITH_PARAMETERS('',#18702,#10727); -#10729=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net4 4', - $,#10415,#4,'route net4 4','definition usage',$,#10416,*,'',$,*,'',$,*,#23117, - #10728); -#10730=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net4 4','',$,#223,#10416, - 'route net4 4','',$,#10729,*); -#10731=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10729,.U.); -#10732=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10729,.U.); -#10733=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10729,.U.,'',$,#10731, - #10732); -#10734=STRATUM_FEATURE('40','conductor',#285,.U.); -#10735=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10736=POLYLINE('centreline',(#8420,#8396)); -#10737=PATH_AREA_WITH_PARAMETERS('',#18702,#10736); -#10738=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net4 5', - $,#10415,#4,'route net4 5','definition usage',$,#10416,*,'',$,*,'',$,*,#23122, - #10737); -#10739=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net4 5','',$,#223,#10416, - 'route net4 5','',$,#10738,*); -#10740=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10738,.U.); -#10741=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10738,.U.); -#10742=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10738,.U.,'',$,#10740, - #10741); -#10743=STRATUM_FEATURE('41','conductor',#285,.U.); -#10744=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10745=POLYLINE('centreline',(#8396,#10746,#1603)); -#10746=CARTESIAN_POINT('',(3152000.0,2045234.0)); -#10747=PATH_AREA_WITH_PARAMETERS('',#18705,#10745); -#10748=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net4 6', - $,#10372,#4,'route net4 6','definition usage',$,#10373,*,'',$,*,'',$,*,#23127, - #10747); -#10749=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net4 6','',$,#223,#10373, - 'route net4 6','',$,#10748,*); -#10750=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10748,.U.); -#10751=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10748,.U.); -#10752=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10748,.U.,'',$,#10750, - #10751); -#10753=STRATUM_FEATURE('42','conductor',#311,.U.); -#10754=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10755=STRATUM_FEATURE('43','connected filled area',#285,.U.); -#10756=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10757=STRATUM_FEATURE('44','connected filled area',#307,.U.); -#10758=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10759=STRATUM_FEATURE('45','conductive filled area',#257,.U.); -#10760=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#10761=PHYSICAL_NETWORK('net4','routed physical network',#223,.U.); -#10762=JOIN_SHAPE_ASPECT('unrouted join',$,#223,.U.); -#10763=LAYER_CONNECTION_POINT('Wiring Layer15 V2 of net5','dependently located', - #285,.U.); -#10764=LAYER_CONNECTION_POINT('Wiring Layer15 V1 of net5','dependently located', - #285,.U.); -#10765=LAYER_CONNECTION_POINT('Wiring Layer6 V2 of net5','dependently located', - #273,.U.); -#10766=LAYER_CONNECTION_POINT('Wiring Layer6 TB2 : 2','dependently located',#273, - .U.); -#10767=POLYLINE('centreline',(#5046,#10768,#10769,#10770,#5048)); -#10768=CARTESIAN_POINT('',(2356866.0,1905000.0)); -#10769=CARTESIAN_POINT('',(2554732.0,2102866.0)); -#10770=CARTESIAN_POINT('',(3294964.0,2102866.0)); -#10771=PATH_AREA_WITH_PARAMETERS('',#18703,#10767); -#10772=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net5 1', - $,#10571,#4,'route net5 1','definition usage',$,#10572,*,'',$,*,'',$,*,#23132, - #10771); -#10773=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net5 1','',$,#223,#10572, - 'route net5 1','',$,#10772,*); -#10774=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10772,.U.); -#10775=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10772,.U.); -#10776=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10772,.U.,'',$,#10774, - #10775); -#10777=STRATUM_FEATURE('46','conductor',#273,.U.); -#10778=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10779=POLYLINE('centreline',(#5048,#8463)); -#10780=PATH_AREA_WITH_PARAMETERS('',#18702,#10779); -#10781=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net5 2', - $,#10415,#4,'route net5 2','definition usage',$,#10416,*,'',$,*,'',$,*,#23137, - #10780); -#10782=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net5 2','',$,#223,#10416, - 'route net5 2','',$,#10781,*); -#10783=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10781,.U.); -#10784=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10781,.U.); -#10785=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10781,.U.,'',$,#10783, - #10784); -#10786=STRATUM_FEATURE('47','conductor',#285,.U.); -#10787=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10788=POLYLINE('centreline',(#8463,#8429)); -#10789=PATH_AREA_WITH_PARAMETERS('',#18702,#10788); -#10790=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net5 3', - $,#10415,#4,'route net5 3','definition usage',$,#10416,*,'',$,*,'',$,*,#23142, - #10789); -#10791=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net5 3','',$,#223,#10416, - 'route net5 3','',$,#10790,*); -#10792=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10790,.U.); -#10793=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10790,.U.); -#10794=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10790,.U.,'',$,#10792, - #10793); -#10795=STRATUM_FEATURE('48','conductor',#285,.U.); -#10796=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10797=POLYLINE('centreline',(#8429,#10798,#1379)); -#10798=CARTESIAN_POINT('',(3452266.0,1945500.0)); -#10799=PATH_AREA_WITH_PARAMETERS('',#18705,#10797); -#10800=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net5 4', - $,#10372,#4,'route net5 4','definition usage',$,#10373,*,'',$,*,'',$,*,#23147, - #10799); -#10801=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net5 4','',$,#223,#10373, - 'route net5 4','',$,#10800,*); -#10802=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10800,.U.); -#10803=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10800,.U.); -#10804=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10800,.U.,'',$,#10802, - #10803); -#10805=STRATUM_FEATURE('49','conductor',#311,.U.); -#10806=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10807=STRATUM_FEATURE('50','connected filled area',#285,.U.); -#10808=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10809=STRATUM_FEATURE('51','conductive filled area',#273,.U.); -#10810=STRATUM_FEATURE('52','conductive filled area',#273,.U.); -#10811=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#10812=PHYSICAL_NETWORK('net5','routed physical network',#223,.U.); -#10813=JOIN_SHAPE_ASPECT('unrouted join',$,#223,.U.); -#10814=LAYER_CONNECTION_POINT('Wiring Layer4 V2 of net6','dependently located', - #303,.U.); -#10815=LAYER_CONNECTION_POINT('Wiring Layer2 V1 of net6','dependently located', - #307,.U.); -#10816=LAYER_CONNECTION_POINT('Wiring Layer2 V2 of net6','dependently located', - #307,.U.); -#10817=LAYER_CONNECTION_POINT('Wiring Layer4 TB1 : 1','dependently located',#303, - .U.); -#10818=POLYLINE('centreline',(#8468,#10819,#3143)); -#10819=CARTESIAN_POINT('',(748500.0,2045488.0)); -#10820=PATH_AREA_WITH_PARAMETERS('',#18705,#10818); -#10821=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net6 1', - $,#10372,#4,'route net6 1','definition usage',$,#10373,*,'',$,*,'',$,*,#23152, - #10820); -#10822=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net6 1','',$,#223,#10373, - 'route net6 1','',$,#10821,*); -#10823=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10821,.U.); -#10824=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10821,.U.); -#10825=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10821,.U.,'',$,#10823, - #10824); -#10826=STRATUM_FEATURE('53','conductor',#297,.U.); -#10827=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10828=POLYLINE('centreline',(#5114,#8468)); -#10829=PATH_AREA_WITH_PARAMETERS('',#18702,#10828); -#10830=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net6 2', - $,#10415,#4,'route net6 2','definition usage',$,#10416,*,'',$,*,'',$,*,#23157, - #10829); -#10831=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net6 2','',$,#223,#10416, - 'route net6 2','',$,#10830,*); -#10832=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10830,.U.); -#10833=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10830,.U.); -#10834=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10830,.U.,'',$,#10832, - #10833); -#10835=STRATUM_FEATURE('54','conductor',#307,.U.); -#10836=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10837=POLYLINE('centreline',(#5114,#10838,#3924)); -#10838=CARTESIAN_POINT('',(943228.0,2159000.0)); -#10839=PATH_AREA_WITH_PARAMETERS('',#18703,#10837); -#10840=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net6 3', - $,#10571,#4,'route net6 3','definition usage',$,#10572,*,'',$,*,'',$,*,#23162, - #10839); -#10841=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net6 3','',$,#223,#10572, - 'route net6 3','',$,#10840,*); -#10842=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #10840,.U.); -#10843=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #10840,.U.); -#10844=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#10840,.U.,'',$,#10842, - #10843); -#10845=STRATUM_FEATURE('55','conductor',#303,.U.); -#10846=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10847=STRATUM_FEATURE('56','conductive filled area',#303,.U.); -#10848=STRATUM_FEATURE('57','connected filled area',#307,.U.); -#10849=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#10850=STRATUM_FEATURE('58','conductive filled area',#303,.U.); -#10851=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#10852=PHYSICAL_NETWORK('net6','routed physical network',#223,.U.); -#10853=JOIN_SHAPE_ASPECT('unrouted join',$,#223,.U.); -#10854=CARTESIAN_POINT('',(4279298.845860366,4279298.845860366)); -#10855=LAYER_CONNECTION_POINT('areatoarea1','explicitly located',#297,.U.); -#10856=CARTESIAN_POINT('',(-215298.88302565698,4279298.845860366)); -#10857=LAYER_CONNECTION_POINT('areatoarea2','explicitly located',#297,.U.); -#10858=CARTESIAN_POINT('',(-215298.88895752703,-215298.88302565698)); -#10859=LAYER_CONNECTION_POINT('areatoarea3','explicitly located',#311,.U.); -#10860=CARTESIAN_POINT('',(4279298.851794729,-215298.88302565698)); -#10861=LAYER_CONNECTION_POINT('areatoarea4','explicitly located',#297,.U.); -#10862=LAYER_CONNECTION_POINT('areatoarea5','explicitly located',#311,.U.); -#10863=LAYER_CONNECTION_POINT('areatoarea6','explicitly located',#311,.U.); -#10864=CARTESIAN_POINT('',(201949.29767370492,-241995.56554660536)); -#10865=LAYER_CONNECTION_POINT('areatoarea7','explicitly located',#297,.U.); -#10866=LAYER_CONNECTION_POINT('areatoarea8','explicitly located',#311,.U.); -#10867=LAYER_CONNECTION_POINT('areatoarea9','explicitly located',#297,.U.); -#10868=LAYER_CONNECTION_POINT('Wiring Layer1 V2 of net7','dependently located',#297, - .U.); -#10869=LAYER_CONNECTION_POINT('Wiring Layer1 V1 of net7','dependently located',#297, - .U.); -#10870=LAYER_CONNECTION_POINT('Wiring Layer1 V18 of net7','dependently located',#297, - .U.); -#10871=LAYER_CONNECTION_POINT('Wiring Layer1 V19 of net7','dependently located',#297, - .U.); -#10872=LAYER_CONNECTION_POINT('Wiring Layer15 V25 of net7','dependently located', - #285,.U.); -#10873=LAYER_CONNECTION_POINT('Wiring Layer15 V17 of net7','dependently located', - #285,.U.); -#10874=LAYER_CONNECTION_POINT('Wiring Layer16 V6 of net7','dependently located',#311, - .U.); -#10875=LAYER_CONNECTION_POINT('Wiring Layer16 V20 of net7','dependently located', - #311,.U.); -#10876=LAYER_CONNECTION_POINT('Wiring Layer16 V5 of net7','dependently located',#311, - .U.); -#10877=LAYER_CONNECTION_POINT('Wiring Layer16 V10 of net7','dependently located', - #311,.U.); -#10878=LAYER_CONNECTION_POINT('Wiring Layer2 V27 of net7','dependently located',#307, - .U.); -#10879=LAYER_CONNECTION_POINT('Wiring Layer2 V26 of net7','dependently located',#307, - .U.); -#10880=LAYER_CONNECTION_POINT('Wiring Layer2 V9 of net7','dependently located',#307, - .U.); -#10881=LAYER_CONNECTION_POINT('Wiring Layer2 V8 of net7','dependently located',#307, - .U.); -#10882=LAYER_CONNECTION_POINT('Wiring Layer2 V13 of net7','dependently located',#307, - .U.); -#10883=LAYER_CONNECTION_POINT('Wiring Layer2 V25 of net7','dependently located',#307, - .U.); -#10884=LAYER_CONNECTION_POINT('Wiring Layer2 V18 of net7','dependently located',#307, - .U.); -#10885=LAYER_CONNECTION_POINT('Wiring Layer2 V15 of net7','dependently located',#307, - .U.); -#10886=LAYER_CONNECTION_POINT('Wiring Layer2 V14 of net7','dependently located',#307, - .U.); -#10887=LAYER_CONNECTION_POINT('Wiring Layer2 V11 of net7','dependently located',#307, - .U.); -#10888=LAYER_CONNECTION_POINT('Wiring Layer2 V22 of net7','dependently located',#307, - .U.); -#10889=LAYER_CONNECTION_POINT('Wiring Layer2 V20 of net7','dependently located',#307, - .U.); -#10890=LAYER_CONNECTION_POINT('Wiring Layer2 V23 of net7','dependently located',#307, - .U.); -#10891=LAYER_CONNECTION_POINT('Wiring Layer2 V24 of net7','dependently located',#307, - .U.); -#10892=LAYER_CONNECTION_POINT('Wiring Layer2 V21 of net7','dependently located',#307, - .U.); -#10893=LAYER_CONNECTION_POINT('Wiring Layer2 V19 of net7','dependently located',#307, - .U.); -#10894=LAYER_CONNECTION_POINT('Wiring Layer2 V10 of net7','dependently located',#307, - .U.); -#10895=LAYER_CONNECTION_POINT('Wiring Layer16 V7 of net7','dependently located',#311, - .U.); -#10896=LAYER_CONNECTION_POINT('Wiring Layer16 V13 of net7','dependently located', - #311,.U.); -#10897=LAYER_CONNECTION_POINT('Wiring Layer16 V28 of net7','dependently located', - #311,.U.); -#10898=LAYER_CONNECTION_POINT('Wiring Layer16 V14 of net7','dependently located', - #311,.U.); -#10899=LAYER_CONNECTION_POINT('Wiring Layer15 V12 of net7','dependently located', - #285,.U.); -#10900=LAYER_CONNECTION_POINT('Wiring Layer15 V11 of net7','dependently located', - #285,.U.); -#10901=LAYER_CONNECTION_POINT('Wiring Layer15 V16 of net7','dependently located', - #285,.U.); -#10902=LAYER_CONNECTION_POINT('Wiring Layer15 V15 of net7','dependently located', - #285,.U.); -#10903=LAYER_CONNECTION_POINT('Wiring Layer16 V2 of net7','dependently located',#311, - .U.); -#10904=LAYER_CONNECTION_POINT('Wiring Layer16 V1 of net7','dependently located',#311, - .U.); -#10905=LAYER_CONNECTION_POINT('Wiring Layer16 V18 of net7','dependently located', - #311,.U.); -#10906=LAYER_CONNECTION_POINT('Wiring Layer16 V19 of net7','dependently located', - #311,.U.); -#10907=LAYER_CONNECTION_POINT('Wiring Layer10 V9 of net7','dependently located',#265, - .U.); -#10908=LAYER_CONNECTION_POINT('Wiring Layer10 V2 of net7','dependently located',#265, - .U.); -#10909=LAYER_CONNECTION_POINT('Wiring Layer10 V13 of net7','dependently located', - #265,.U.); -#10910=LAYER_CONNECTION_POINT('Wiring Layer10 V25 of net7','dependently located', - #265,.U.); -#10911=LAYER_CONNECTION_POINT('Wiring Layer10 V18 of net7','dependently located', - #265,.U.); -#10912=LAYER_CONNECTION_POINT('Wiring Layer10 V28 of net7','dependently located', - #265,.U.); -#10913=LAYER_CONNECTION_POINT('Wiring Layer10 V15 of net7','dependently located', - #265,.U.); -#10914=LAYER_CONNECTION_POINT('Wiring Layer10 V14 of net7','dependently located', - #265,.U.); -#10915=LAYER_CONNECTION_POINT('Wiring Layer10 V5 of net7','dependently located',#265, - .U.); -#10916=LAYER_CONNECTION_POINT('Wiring Layer10 V4 of net7','dependently located',#265, - .U.); -#10917=LAYER_CONNECTION_POINT('Wiring Layer10 V11 of net7','dependently located', - #265,.U.); -#10918=LAYER_CONNECTION_POINT('Wiring Layer10 V22 of net7','dependently located', - #265,.U.); -#10919=LAYER_CONNECTION_POINT('Wiring Layer10 V6 of net7','dependently located',#265, - .U.); -#10920=LAYER_CONNECTION_POINT('Wiring Layer10 V7 of net7','dependently located',#265, - .U.); -#10921=LAYER_CONNECTION_POINT('Wiring Layer10 V20 of net7','dependently located', - #265,.U.); -#10922=LAYER_CONNECTION_POINT('Wiring Layer10 V27 of net7','dependently located', - #265,.U.); -#10923=LAYER_CONNECTION_POINT('Wiring Layer10 V23 of net7','dependently located', - #265,.U.); -#10924=LAYER_CONNECTION_POINT('Wiring Layer10 V1 of net7','dependently located',#265, - .U.); -#10925=LAYER_CONNECTION_POINT('Wiring Layer10 V3 of net7','dependently located',#265, - .U.); -#10926=LAYER_CONNECTION_POINT('Wiring Layer10 V21 of net7','dependently located', - #265,.U.); -#10927=LAYER_CONNECTION_POINT('Wiring Layer10 V19 of net7','dependently located', - #265,.U.); -#10928=LAYER_CONNECTION_POINT('Wiring Layer10 V10 of net7','dependently located', - #265,.U.); -#10929=LAYER_CONNECTION_POINT('Wiring Layer15 V9 of net7','dependently located',#285, - .U.); -#10930=LAYER_CONNECTION_POINT('Wiring Layer15 V13 of net7','dependently located', - #285,.U.); -#10931=LAYER_CONNECTION_POINT('Wiring Layer15 V18 of net7','dependently located', - #285,.U.); -#10932=LAYER_CONNECTION_POINT('Wiring Layer15 V14 of net7','dependently located', - #285,.U.); -#10933=LAYER_CONNECTION_POINT('Wiring Layer15 V22 of net7','dependently located', - #285,.U.); -#10934=LAYER_CONNECTION_POINT('Wiring Layer15 V20 of net7','dependently located', - #285,.U.); -#10935=LAYER_CONNECTION_POINT('Wiring Layer15 V23 of net7','dependently located', - #285,.U.); -#10936=LAYER_CONNECTION_POINT('Wiring Layer15 V21 of net7','dependently located', - #285,.U.); -#10937=LAYER_CONNECTION_POINT('Wiring Layer15 V19 of net7','dependently located', - #285,.U.); -#10938=LAYER_CONNECTION_POINT('Wiring Layer15 V10 of net7','dependently located', - #285,.U.); -#10939=LAYER_CONNECTION_POINT('Wiring Layer1 V20 of net7','dependently located',#297, - .U.); -#10940=LAYER_CONNECTION_POINT('Wiring Layer1 TB8 : 1','dependently located',#297, - .U.); -#10941=LAYER_CONNECTION_POINT('Wiring Layer1 V13 of net7','dependently located',#297, - .U.); -#10942=LAYER_CONNECTION_POINT('Wiring Layer1 V21 of net7','dependently located',#297, - .U.); -#10943=LAYER_CONNECTION_POINT('Wiring Layer1 V14 of net7','dependently located',#297, - .U.); -#10944=LAYER_CONNECTION_POINT('Wiring Layer1 V10 of net7','dependently located',#297, - .U.); -#10945=LAYER_CONNECTION_POINT('Wiring Layer1 V22 of net7','dependently located',#297, - .U.); -#10946=LAYER_CONNECTION_POINT('Wiring Layer16 V3 of net7','dependently located',#311, - .U.); -#10947=LAYER_CONNECTION_POINT('Wiring Layer16 V21 of net7','dependently located', - #311,.U.); -#10948=LAYER_CONNECTION_POINT('Wiring Layer16 V4 of net7','dependently located',#311, - .U.); -#10949=LAYER_CONNECTION_POINT('Wiring Layer16 V22 of net7','dependently located', - #311,.U.); -#10950=LAYER_CONNECTION_POINT('Wiring Layer3 V9 of net7','dependently located',#315, - .U.); -#10951=LAYER_CONNECTION_POINT('Wiring Layer3 V2 of net7','dependently located',#315, - .U.); -#10952=LAYER_CONNECTION_POINT('Wiring Layer3 V13 of net7','dependently located',#315, - .U.); -#10953=LAYER_CONNECTION_POINT('Wiring Layer3 V25 of net7','dependently located',#315, - .U.); -#10954=LAYER_CONNECTION_POINT('Wiring Layer3 V18 of net7','dependently located',#315, - .U.); -#10955=LAYER_CONNECTION_POINT('Wiring Layer3 V28 of net7','dependently located',#315, - .U.); -#10956=LAYER_CONNECTION_POINT('Wiring Layer3 V15 of net7','dependently located',#315, - .U.); -#10957=LAYER_CONNECTION_POINT('Wiring Layer3 V14 of net7','dependently located',#315, - .U.); -#10958=LAYER_CONNECTION_POINT('Wiring Layer3 V5 of net7','dependently located',#315, - .U.); -#10959=LAYER_CONNECTION_POINT('Wiring Layer3 V4 of net7','dependently located',#315, - .U.); -#10960=LAYER_CONNECTION_POINT('Wiring Layer3 V11 of net7','dependently located',#315, - .U.); -#10961=LAYER_CONNECTION_POINT('Wiring Layer3 V22 of net7','dependently located',#315, - .U.); -#10962=LAYER_CONNECTION_POINT('Wiring Layer3 V6 of net7','dependently located',#315, - .U.); -#10963=LAYER_CONNECTION_POINT('Wiring Layer3 V7 of net7','dependently located',#315, - .U.); -#10964=LAYER_CONNECTION_POINT('Wiring Layer3 V20 of net7','dependently located',#315, - .U.); -#10965=LAYER_CONNECTION_POINT('Wiring Layer3 V27 of net7','dependently located',#315, - .U.); -#10966=LAYER_CONNECTION_POINT('Wiring Layer3 V23 of net7','dependently located',#315, - .U.); -#10967=LAYER_CONNECTION_POINT('Wiring Layer3 V1 of net7','dependently located',#315, - .U.); -#10968=LAYER_CONNECTION_POINT('Wiring Layer3 V3 of net7','dependently located',#315, - .U.); -#10969=LAYER_CONNECTION_POINT('Wiring Layer3 V21 of net7','dependently located',#315, - .U.); -#10970=LAYER_CONNECTION_POINT('Wiring Layer3 V19 of net7','dependently located',#315, - .U.); -#10971=LAYER_CONNECTION_POINT('Wiring Layer3 V10 of net7','dependently located',#315, - .U.); -#10972=LAYER_CONNECTION_POINT('Wiring Layer14 V9 of net7','dependently located',#287, - .U.); -#10973=LAYER_CONNECTION_POINT('Wiring Layer14 V2 of net7','dependently located',#287, - .U.); -#10974=LAYER_CONNECTION_POINT('Wiring Layer14 V13 of net7','dependently located', - #287,.U.); -#10975=LAYER_CONNECTION_POINT('Wiring Layer14 V25 of net7','dependently located', - #287,.U.); -#10976=LAYER_CONNECTION_POINT('Wiring Layer14 V18 of net7','dependently located', - #287,.U.); -#10977=LAYER_CONNECTION_POINT('Wiring Layer14 V28 of net7','dependently located', - #287,.U.); -#10978=LAYER_CONNECTION_POINT('Wiring Layer14 V15 of net7','dependently located', - #287,.U.); -#10979=LAYER_CONNECTION_POINT('Wiring Layer14 V14 of net7','dependently located', - #287,.U.); -#10980=LAYER_CONNECTION_POINT('Wiring Layer14 V5 of net7','dependently located',#287, - .U.); -#10981=LAYER_CONNECTION_POINT('Wiring Layer14 V4 of net7','dependently located',#287, - .U.); -#10982=LAYER_CONNECTION_POINT('Wiring Layer14 V11 of net7','dependently located', - #287,.U.); -#10983=LAYER_CONNECTION_POINT('Wiring Layer14 V22 of net7','dependently located', - #287,.U.); -#10984=LAYER_CONNECTION_POINT('Wiring Layer14 V6 of net7','dependently located',#287, - .U.); -#10985=LAYER_CONNECTION_POINT('Wiring Layer14 V7 of net7','dependently located',#287, - .U.); -#10986=LAYER_CONNECTION_POINT('Wiring Layer14 V20 of net7','dependently located', - #287,.U.); -#10987=LAYER_CONNECTION_POINT('Wiring Layer14 V27 of net7','dependently located', - #287,.U.); -#10988=LAYER_CONNECTION_POINT('Wiring Layer14 V23 of net7','dependently located', - #287,.U.); -#10989=LAYER_CONNECTION_POINT('Wiring Layer14 V1 of net7','dependently located',#287, - .U.); -#10990=LAYER_CONNECTION_POINT('Wiring Layer14 V3 of net7','dependently located',#287, - .U.); -#10991=LAYER_CONNECTION_POINT('Wiring Layer14 V21 of net7','dependently located', - #287,.U.); -#10992=LAYER_CONNECTION_POINT('Wiring Layer14 V19 of net7','dependently located', - #287,.U.); -#10993=LAYER_CONNECTION_POINT('Wiring Layer14 V10 of net7','dependently located', - #287,.U.); -#10994=LAYER_CONNECTION_POINT('Wiring Layer1 V7 of net7','dependently located',#297, - .U.); -#10995=LAYER_CONNECTION_POINT('Wiring Layer1 V28 of net7','dependently located',#297, - .U.); -#10996=LAYER_CONNECTION_POINT('Wiring Layer1 V3 of net7','dependently located',#297, - .U.); -#10997=LAYER_CONNECTION_POINT('Wiring Layer1 V4 of net7','dependently located',#297, - .U.); -#10998=LAYER_CONNECTION_POINT('Wiring Layer1 V6 of net7','dependently located',#297, - .U.); -#10999=LAYER_CONNECTION_POINT('Wiring Layer1 V5 of net7','dependently located',#297, - .U.); -#11000=POLYLINE('centreline',(#8922,#11001,#3055)); -#11001=CARTESIAN_POINT('',(448488.0,1745500.0)); -#11002=PATH_AREA_WITH_PARAMETERS('',#18705,#11000); -#11003=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 1', - $,#10372,#4,'route net7 1','definition usage',$,#10373,*,'',$,*,'',$,*,#23167, - #11002); -#11004=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 1','',$,#223,#10373, - 'route net7 1','',$,#11003,*); -#11005=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11003,.U.); -#11006=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11003,.U.); -#11007=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11003,.U.,'',$,#11005, - #11006); -#11008=STRATUM_FEATURE('59','conductor',#297,.U.); -#11009=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11010=POLYLINE('centreline',(#8548,#11011,#3343)); -#11011=CARTESIAN_POINT('',(1048500.0,2045488.0)); -#11012=PATH_AREA_WITH_PARAMETERS('',#18705,#11010); -#11013=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 2', - $,#10372,#4,'route net7 2','definition usage',$,#10373,*,'',$,*,'',$,*,#23172, - #11012); -#11014=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 2','',$,#223,#10373, - 'route net7 2','',$,#11013,*); -#11015=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11013,.U.); -#11016=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11013,.U.); -#11017=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11013,.U.,'',$,#11015, - #11016); -#11018=STRATUM_FEATURE('60','conductor',#297,.U.); -#11019=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11020=POLYLINE('centreline',(#8772,#11021,#3351)); -#11021=CARTESIAN_POINT('',(948500.0,1745488.0)); -#11022=PATH_AREA_WITH_PARAMETERS('',#18705,#11020); -#11023=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 3', - $,#10372,#4,'route net7 3','definition usage',$,#10373,*,'',$,*,'',$,*,#23177, - #11022); -#11024=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 3','',$,#223,#10373, - 'route net7 3','',$,#11023,*); -#11025=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11023,.U.); -#11026=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11023,.U.); -#11027=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11023,.U.,'',$,#11025, - #11026); -#11028=STRATUM_FEATURE('61','conductor',#297,.U.); -#11029=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11030=POLYLINE('centreline',(#8876,#8922)); -#11031=PATH_AREA_WITH_PARAMETERS('',#18702,#11030); -#11032=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 4', - $,#10415,#4,'route net7 4','definition usage',$,#10416,*,'',$,*,'',$,*,#23182, - #11031); -#11033=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 4','',$,#223,#10416, - 'route net7 4','',$,#11032,*); -#11034=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11032,.U.); -#11035=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11032,.U.); -#11036=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11032,.U.,'',$,#11034, - #11035); -#11037=STRATUM_FEATURE('62','conductor',#307,.U.); -#11038=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11039=POLYLINE('centreline',(#8548,#5317)); -#11040=PATH_AREA_WITH_PARAMETERS('',#18702,#11039); -#11041=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 5', - $,#10415,#4,'route net7 5','definition usage',$,#10416,*,'',$,*,'',$,*,#23187, - #11040); -#11042=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 5','',$,#223,#10416, - 'route net7 5','',$,#11041,*); -#11043=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11041,.U.); -#11044=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11041,.U.); -#11045=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11041,.U.,'',$,#11043, - #11044); -#11046=STRATUM_FEATURE('63','conductor',#307,.U.); -#11047=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11048=POLYLINE('centreline',(#5279,#8772)); -#11049=PATH_AREA_WITH_PARAMETERS('',#18702,#11048); -#11050=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 6', - $,#10415,#4,'route net7 6','definition usage',$,#10416,*,'',$,*,'',$,*,#23192, - #11049); -#11051=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 6','',$,#223,#10416, - 'route net7 6','',$,#11050,*); -#11052=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11050,.U.); -#11053=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11050,.U.); -#11054=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11050,.U.,'',$,#11052, - #11053); -#11055=STRATUM_FEATURE('64','conductor',#307,.U.); -#11056=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11057=POLYLINE('centreline',(#5323,#9090)); -#11058=PATH_AREA_WITH_PARAMETERS('',#18702,#11057); -#11059=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 7', - $,#10415,#4,'route net7 7','definition usage',$,#10416,*,'',$,*,'',$,*,#23197, - #11058); -#11060=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 7','',$,#223,#10416, - 'route net7 7','',$,#11059,*); -#11061=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11059,.U.); -#11062=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11059,.U.); -#11063=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11059,.U.,'',$,#11061, - #11062); -#11064=STRATUM_FEATURE('65','conductor',#285,.U.); -#11065=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11066=POLYLINE('centreline',(#9090,#8782)); -#11067=PATH_AREA_WITH_PARAMETERS('',#18702,#11066); -#11068=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 8', - $,#10415,#4,'route net7 8','definition usage',$,#10416,*,'',$,*,'',$,*,#23202, - #11067); -#11069=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 8','',$,#223,#10416, - 'route net7 8','',$,#11068,*); -#11070=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11068,.U.); -#11071=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11068,.U.); -#11072=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11068,.U.,'',$,#11070, - #11071); -#11073=STRATUM_FEATURE('66','conductor',#285,.U.); -#11074=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11075=POLYLINE('centreline',(#8558,#9082)); -#11076=PATH_AREA_WITH_PARAMETERS('',#18702,#11075); -#11077=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 9', - $,#10415,#4,'route net7 9','definition usage',$,#10416,*,'',$,*,'',$,*,#23207, - #11076); -#11078=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 9','',$,#223,#10416, - 'route net7 9','',$,#11077,*); -#11079=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11077,.U.); -#11080=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11077,.U.); -#11081=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11077,.U.,'',$,#11079, - #11080); -#11082=STRATUM_FEATURE('67','conductor',#285,.U.); -#11083=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11084=POLYLINE('centreline',(#9082,#5319)); -#11085=PATH_AREA_WITH_PARAMETERS('',#18702,#11084); -#11086=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 10', - $,#10415,#4,'route net7 10','definition usage',$,#10416,*,'',$,*,'',$,*,#23212, - #11085); -#11087=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 10','',$,#223,#10416, - 'route net7 10','',$,#11086,*); -#11088=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11086,.U.); -#11089=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11086,.U.); -#11090=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11086,.U.,'',$,#11088, - #11089); -#11091=STRATUM_FEATURE('68','conductor',#285,.U.); -#11092=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11093=POLYLINE('centreline',(#8842,#9084)); -#11094=PATH_AREA_WITH_PARAMETERS('',#18702,#11093); -#11095=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 11', - $,#10415,#4,'route net7 11','definition usage',$,#10416,*,'',$,*,'',$,*,#23217, - #11094); -#11096=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 11','',$,#223,#10416, - 'route net7 11','',$,#11095,*); -#11097=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11095,.U.); -#11098=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11095,.U.); -#11099=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11095,.U.,'',$,#11097, - #11098); -#11100=STRATUM_FEATURE('69','conductor',#285,.U.); -#11101=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11102=POLYLINE('centreline',(#9084,#5321)); -#11103=PATH_AREA_WITH_PARAMETERS('',#18702,#11102); -#11104=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 12', - $,#10415,#4,'route net7 12','definition usage',$,#10416,*,'',$,*,'',$,*,#23222, - #11103); -#11105=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 12','',$,#223,#10416, - 'route net7 12','',$,#11104,*); -#11106=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11104,.U.); -#11107=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11104,.U.); -#11108=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11104,.U.,'',$,#11106, - #11107); -#11109=STRATUM_FEATURE('70','conductor',#285,.U.); -#11110=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11111=POLYLINE('centreline',(#8782,#11112,#1451)); -#11112=CARTESIAN_POINT('',(3552000.0,2445766.0)); -#11113=PATH_AREA_WITH_PARAMETERS('',#18705,#11111); -#11114=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 13', - $,#10372,#4,'route net7 13','definition usage',$,#10373,*,'',$,*,'',$,*,#23227, - #11113); -#11115=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 13','',$,#223,#10373, - 'route net7 13','',$,#11114,*); -#11116=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11114,.U.); -#11117=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11114,.U.); -#11118=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11114,.U.,'',$,#11116, - #11117); -#11119=STRATUM_FEATURE('71','conductor',#311,.U.); -#11120=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11121=POLYLINE('centreline',(#8558,#11122,#1443)); -#11122=CARTESIAN_POINT('',(3652000.0,2145766.0)); -#11123=PATH_AREA_WITH_PARAMETERS('',#18705,#11121); -#11124=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 14', - $,#10372,#4,'route net7 14','definition usage',$,#10373,*,'',$,*,'',$,*,#23232, - #11123); -#11125=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 14','',$,#223,#10373, - 'route net7 14','',$,#11124,*); -#11126=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11124,.U.); -#11127=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11124,.U.); -#11128=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11124,.U.,'',$,#11126, - #11127); -#11129=STRATUM_FEATURE('72','conductor',#311,.U.); -#11130=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11131=POLYLINE('centreline',(#8842,#11132,#1155)); -#11132=CARTESIAN_POINT('',(3051734.0,2445500.0)); -#11133=PATH_AREA_WITH_PARAMETERS('',#18705,#11131); -#11134=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net7 15', - $,#10372,#4,'route net7 15','definition usage',$,#10373,*,'',$,*,'',$,*,#23237, - #11133); -#11135=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net7 15','',$,#223,#10373, - 'route net7 15','',$,#11134,*); -#11136=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11134,.U.); -#11137=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11134,.U.); -#11138=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11134,.U.,'',$,#11136, - #11137); -#11139=STRATUM_FEATURE('73','conductor',#311,.U.); -#11140=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11141=STRATUM_FEATURE('74','connected filled area',#297,.U.); -#11142=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11143=STRATUM_FEATURE('75','connected filled area',#285,.U.); -#11144=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11145=STRATUM_FEATURE('76','connected filled area',#311,.U.); -#11146=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11147=STRATUM_FEATURE('77','connected filled area',#307,.U.); -#11148=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11149=STRATUM_FEATURE('78','connected filled area',#307,.U.); -#11150=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11151=STRATUM_FEATURE('79','connected filled area',#265,.U.); -#11152=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11153=STRATUM_FEATURE('80','connected filled area',#315,.U.); -#11154=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11155=STRATUM_FEATURE('81','connected filled area',#287,.U.); -#11156=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11157=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11158=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11159=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11160=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11161=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11162=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11163=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11164=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11165=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11166=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11167=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11168=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11169=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11170=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11171=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11172=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11173=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11174=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11175=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11176=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11177=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11178=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11179=PHYSICAL_NETWORK('net7','routed physical network',#223,.U.); -#11180=JOIN_SHAPE_ASPECT('unrouted join',$,#223,.U.); -#11181=LAYER_CONNECTION_POINT('Wiring Layer15 V1 of net8','dependently located', - #285,.U.); -#11182=LAYER_CONNECTION_POINT('Wiring Layer15 V4 of net8','dependently located', - #285,.U.); -#11183=LAYER_CONNECTION_POINT('Wiring Layer2 V3 of net8','dependently located', - #307,.U.); -#11184=LAYER_CONNECTION_POINT('Wiring Layer2 V2 of net8','dependently located', - #307,.U.); -#11185=LAYER_CONNECTION_POINT('Wiring Layer11 V3 of net8','dependently located', - #263,.U.); -#11186=POLYLINE('centreline',(#9158,#11187,#3063)); -#11187=CARTESIAN_POINT('',(548488.0,2045500.0)); -#11188=PATH_AREA_WITH_PARAMETERS('',#18705,#11186); -#11189=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net8 1', - $,#10372,#4,'route net8 1','definition usage',$,#10373,*,'',$,*,'',$,*,#23242, - #11188); -#11190=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net8 1','',$,#223,#10373, - 'route net8 1','',$,#11189,*); -#11191=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11189,.U.); -#11192=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11189,.U.); -#11193=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11189,.U.,'',$,#11191, - #11192); -#11194=STRATUM_FEATURE('82','conductor',#297,.U.); -#11195=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11196=POLYLINE('centreline',(#9106,#9158)); -#11197=PATH_AREA_WITH_PARAMETERS('',#18702,#11196); -#11198=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net8 2', - $,#10415,#4,'route net8 2','definition usage',$,#10416,*,'',$,*,'',$,*,#23247, - #11197); -#11199=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net8 2','',$,#223,#10416, - 'route net8 2','',$,#11198,*); -#11200=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11198,.U.); -#11201=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11198,.U.); -#11202=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11198,.U.,'',$,#11200, - #11201); -#11203=STRATUM_FEATURE('83','conductor',#307,.U.); -#11204=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11205=POLYLINE('centreline',(#9127,#11206,#11207,#11208,#9106)); -#11206=CARTESIAN_POINT('',(3010916.0,2036572.0)); -#11207=CARTESIAN_POINT('',(2960370.0,2087118.0)); -#11208=CARTESIAN_POINT('',(590042.0,2087118.0)); -#11209=PATH_AREA_WITH_PARAMETERS('',#18703,#11205); -#11210=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net8 3', - $,#10571,#4,'route net8 3','definition usage',$,#10572,*,'',$,*,'',$,*,#23252, - #11209); -#11211=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net8 3','',$,#223,#10572, - 'route net8 3','',$,#11210,*); -#11212=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11210,.U.); -#11213=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11210,.U.); -#11214=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11210,.U.,'',$,#11212, - #11213); -#11215=STRATUM_FEATURE('84','conductor',#263,.U.); -#11216=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11217=POLYLINE('centreline',(#9127,#9172)); -#11218=PATH_AREA_WITH_PARAMETERS('',#18702,#11217); -#11219=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net8 4', - $,#10415,#4,'route net8 4','definition usage',$,#10416,*,'',$,*,'',$,*,#23257, - #11218); -#11220=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net8 4','',$,#223,#10416, - 'route net8 4','',$,#11219,*); -#11221=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11219,.U.); -#11222=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11219,.U.); -#11223=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11219,.U.,'',$,#11221, - #11222); -#11224=STRATUM_FEATURE('85','conductor',#285,.U.); -#11225=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11226=POLYLINE('centreline',(#9172,#9148)); -#11227=PATH_AREA_WITH_PARAMETERS('',#18702,#11226); -#11228=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net8 5', - $,#10415,#4,'route net8 5','definition usage',$,#10416,*,'',$,*,'',$,*,#23262, - #11227); -#11229=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net8 5','',$,#223,#10416, - 'route net8 5','',$,#11228,*); -#11230=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11228,.U.); -#11231=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11228,.U.); -#11232=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11228,.U.,'',$,#11230, - #11231); -#11233=STRATUM_FEATURE('86','conductor',#285,.U.); -#11234=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11235=POLYLINE('centreline',(#9148,#11236,#1235)); -#11236=CARTESIAN_POINT('',(3052000.0,1945234.0)); -#11237=PATH_AREA_WITH_PARAMETERS('',#18705,#11235); -#11238=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net8 6', - $,#10372,#4,'route net8 6','definition usage',$,#10373,*,'',$,*,'',$,*,#23267, - #11237); -#11239=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net8 6','',$,#223,#10373, - 'route net8 6','',$,#11238,*); -#11240=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11238,.U.); -#11241=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11238,.U.); -#11242=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11238,.U.,'',$,#11240, - #11241); -#11243=STRATUM_FEATURE('87','conductor',#311,.U.); -#11244=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11245=STRATUM_FEATURE('88','connected filled area',#285,.U.); -#11246=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11247=STRATUM_FEATURE('89','connected filled area',#307,.U.); -#11248=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11249=STRATUM_FEATURE('90','conductive filled area',#263,.U.); -#11250=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11251=PHYSICAL_NETWORK('net8','routed physical network',#223,.U.); -#11252=JOIN_SHAPE_ASPECT('unrouted join',$,#223,.U.); -#11253=LAYER_CONNECTION_POINT('Wiring Layer4 V3 of net9','dependently located', - #303,.U.); -#11254=LAYER_CONNECTION_POINT('Wiring Layer15 V4 of net9','dependently located', - #285,.U.); -#11255=LAYER_CONNECTION_POINT('Wiring Layer15 V1 of net9','dependently located', - #285,.U.); -#11256=LAYER_CONNECTION_POINT('Wiring Layer2 V3 of net9','dependently located', - #307,.U.); -#11257=LAYER_CONNECTION_POINT('Wiring Layer2 V2 of net9','dependently located', - #307,.U.); -#11258=POLYLINE('centreline',(#9233,#11259,#3047)); -#11259=CARTESIAN_POINT('',(648488.0,2045500.0)); -#11260=PATH_AREA_WITH_PARAMETERS('',#18705,#11258); -#11261=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net9 1', - $,#10372,#4,'route net9 1','definition usage',$,#10373,*,'',$,*,'',$,*,#23272, - #11260); -#11262=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net9 1','',$,#223,#10373, - 'route net9 1','',$,#11261,*); -#11263=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11261,.U.); -#11264=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11261,.U.); -#11265=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11261,.U.,'',$,#11263, - #11264); -#11266=STRATUM_FEATURE('91','conductor',#297,.U.); -#11267=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11268=POLYLINE('centreline',(#9181,#9233)); -#11269=PATH_AREA_WITH_PARAMETERS('',#18702,#11268); -#11270=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net9 2', - $,#10415,#4,'route net9 2','definition usage',$,#10416,*,'',$,*,'',$,*,#23277, - #11269); -#11271=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net9 2','',$,#223,#10416, - 'route net9 2','',$,#11270,*); -#11272=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11270,.U.); -#11273=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11270,.U.); -#11274=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11270,.U.,'',$,#11272, - #11273); -#11275=STRATUM_FEATURE('92','conductor',#307,.U.); -#11276=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11277=POLYLINE('centreline',(#9202,#11278,#11279,#11280,#11281,#11282,#11283,#9181)); -#11278=CARTESIAN_POINT('',(2946984.0,1740154.0)); -#11279=CARTESIAN_POINT('',(2591562.0,1740154.0)); -#11280=CARTESIAN_POINT('',(2337816.0,1993900.0)); -#11281=CARTESIAN_POINT('',(1547876.0,1993900.0)); -#11282=CARTESIAN_POINT('',(1472184.0,1918208.0)); -#11283=CARTESIAN_POINT('',(694564.0,1918208.0)); -#11284=PATH_AREA_WITH_PARAMETERS('',#18703,#11277); -#11285=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net9 3', - $,#10571,#4,'route net9 3','definition usage',$,#10572,*,'',$,*,'',$,*,#23282, - #11284); -#11286=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net9 3','',$,#223,#10572, - 'route net9 3','',$,#11285,*); -#11287=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11285,.U.); -#11288=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11285,.U.); -#11289=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11285,.U.,'',$,#11287, - #11288); -#11290=STRATUM_FEATURE('93','conductor',#303,.U.); -#11291=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11292=POLYLINE('centreline',(#9202,#9247)); -#11293=PATH_AREA_WITH_PARAMETERS('',#18702,#11292); -#11294=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net9 4', - $,#10415,#4,'route net9 4','definition usage',$,#10416,*,'',$,*,'',$,*,#23287, - #11293); -#11295=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net9 4','',$,#223,#10416, - 'route net9 4','',$,#11294,*); -#11296=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11294,.U.); -#11297=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11294,.U.); -#11298=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11294,.U.,'',$,#11296, - #11297); -#11299=STRATUM_FEATURE('94','conductor',#285,.U.); -#11300=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11301=POLYLINE('centreline',(#9247,#9223)); -#11302=PATH_AREA_WITH_PARAMETERS('',#18702,#11301); -#11303=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net9 5', - $,#10415,#4,'route net9 5','definition usage',$,#10416,*,'',$,*,'',$,*,#23292, - #11302); -#11304=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net9 5','',$,#223,#10416, - 'route net9 5','',$,#11303,*); -#11305=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11303,.U.); -#11306=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11303,.U.); -#11307=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11303,.U.,'',$,#11305, - #11306); -#11308=STRATUM_FEATURE('95','conductor',#285,.U.); -#11309=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11310=POLYLINE('centreline',(#9223,#11311,#1491)); -#11311=CARTESIAN_POINT('',(3052000.0,1845234.0)); -#11312=PATH_AREA_WITH_PARAMETERS('',#18705,#11310); -#11313=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net9 6', - $,#10372,#4,'route net9 6','definition usage',$,#10373,*,'',$,*,'',$,*,#23297, - #11312); -#11314=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net9 6','',$,#223,#10373, - 'route net9 6','',$,#11313,*); -#11315=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11313,.U.); -#11316=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11313,.U.); -#11317=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11313,.U.,'',$,#11315, - #11316); -#11318=STRATUM_FEATURE('96','conductor',#311,.U.); -#11319=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11320=STRATUM_FEATURE('97','conductive filled area',#303,.U.); -#11321=STRATUM_FEATURE('98','connected filled area',#285,.U.); -#11322=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11323=STRATUM_FEATURE('99','connected filled area',#307,.U.); -#11324=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11325=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11326=PHYSICAL_NETWORK('net9','routed physical network',#223,.U.); -#11327=JOIN_SHAPE_ASPECT('unrouted join',$,#223,.U.); -#11328=LAYER_CONNECTION_POINT('Wiring Layer15 V1 of net10','dependently located', - #285,.U.); -#11329=LAYER_CONNECTION_POINT('Wiring Layer15 V2 of net10','dependently located', - #285,.U.); -#11330=LAYER_CONNECTION_POINT('Wiring Layer13 TB1 : 2','dependently located',#257, - .U.); -#11331=LAYER_CONNECTION_POINT('Wiring Layer13 V1 of net10','dependently located', - #257,.U.); -#11332=POLYLINE('centreline',(#9256,#11333,#11334,#11335,#5117)); -#11333=CARTESIAN_POINT('',(3200400.0,1793570.0)); -#11334=CARTESIAN_POINT('',(3200400.0,2075434.0)); -#11335=CARTESIAN_POINT('',(3116834.0,2159000.0)); -#11336=PATH_AREA_WITH_PARAMETERS('',#18703,#11332); -#11337=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net10 1', - $,#10571,#4,'route net10 1','definition usage',$,#10572,*,'',$,*,'',$,*,#23302, - #11336); -#11338=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net10 1','',$,#223,#10572, - 'route net10 1','',$,#11337,*); -#11339=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11337,.U.); -#11340=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11337,.U.); -#11341=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11337,.U.,'',$,#11339, - #11340); -#11342=STRATUM_FEATURE('100','conductor',#257,.U.); -#11343=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11344=POLYLINE('centreline',(#9277,#9291)); -#11345=PATH_AREA_WITH_PARAMETERS('',#18702,#11344); -#11346=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net10 2', - $,#10415,#4,'route net10 2','definition usage',$,#10416,*,'',$,*,'',$,*,#23307, - #11345); -#11347=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net10 2','',$,#223,#10416, - 'route net10 2','',$,#11346,*); -#11348=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11346,.U.); -#11349=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11346,.U.); -#11350=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11346,.U.,'',$,#11348, - #11349); -#11351=STRATUM_FEATURE('101','conductor',#285,.U.); -#11352=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11353=POLYLINE('centreline',(#9291,#9256)); -#11354=PATH_AREA_WITH_PARAMETERS('',#18702,#11353); -#11355=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net10 3', - $,#10415,#4,'route net10 3','definition usage',$,#10416,*,'',$,*,'',$,*,#23312, - #11354); -#11356=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net10 3','',$,#223,#10416, - 'route net10 3','',$,#11355,*); -#11357=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11355,.U.); -#11358=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11355,.U.); -#11359=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11355,.U.,'',$,#11357, - #11358); -#11360=STRATUM_FEATURE('102','conductor',#285,.U.); -#11361=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11362=POLYLINE('centreline',(#9277,#11363,#1219)); -#11363=CARTESIAN_POINT('',(3152000.0,1745234.0)); -#11364=PATH_AREA_WITH_PARAMETERS('',#18705,#11362); -#11365=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net10 4', - $,#10372,#4,'route net10 4','definition usage',$,#10373,*,'',$,*,'',$,*,#23317, - #11364); -#11366=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net10 4','',$,#223,#10373, - 'route net10 4','',$,#11365,*); -#11367=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11365,.U.); -#11368=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11365,.U.); -#11369=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11365,.U.,'',$,#11367, - #11368); -#11370=STRATUM_FEATURE('103','conductor',#311,.U.); -#11371=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11372=STRATUM_FEATURE('104','connected filled area',#285,.U.); -#11373=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11374=STRATUM_FEATURE('105','conductive filled area',#257,.U.); -#11375=STRATUM_FEATURE('106','conductive filled area',#257,.U.); -#11376=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11377=PHYSICAL_NETWORK('net10','routed physical network',#223,.U.); -#11378=JOIN_SHAPE_ASPECT('unrouted join',$,#223,.U.); -#11379=LAYER_CONNECTION_POINT('Wiring Layer4 V2 of net11','dependently located', - #303,.U.); -#11380=LAYER_CONNECTION_POINT('Wiring Layer2 V1 of net11','dependently located', - #307,.U.); -#11381=LAYER_CONNECTION_POINT('Wiring Layer2 V2 of net11','dependently located', - #307,.U.); -#11382=LAYER_CONNECTION_POINT('Wiring Layer4 TB2 : 1','dependently located',#303, - .U.); -#11383=POLYLINE('centreline',(#9296,#11384,#3303)); -#11384=CARTESIAN_POINT('',(548488.0,1945500.0)); -#11385=PATH_AREA_WITH_PARAMETERS('',#18705,#11383); -#11386=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net11 1', - $,#10372,#4,'route net11 1','definition usage',$,#10373,*,'',$,*,'',$,*,#23322, - #11385); -#11387=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net11 1','',$,#223,#10373, - 'route net11 1','',$,#11386,*); -#11388=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11386,.U.); -#11389=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11386,.U.); -#11390=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11386,.U.,'',$,#11388, - #11389); -#11391=STRATUM_FEATURE('107','conductor',#297,.U.); -#11392=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11393=POLYLINE('centreline',(#9306,#9296)); -#11394=PATH_AREA_WITH_PARAMETERS('',#18702,#11393); -#11395=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net11 2', - $,#10415,#4,'route net11 2','definition usage',$,#10416,*,'',$,*,'',$,*,#23327, - #11394); -#11396=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net11 2','',$,#223,#10416, - 'route net11 2','',$,#11395,*); -#11397=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11395,.U.); -#11398=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11395,.U.); -#11399=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11395,.U.,'',$,#11397, - #11398); -#11400=STRATUM_FEATURE('108','conductor',#307,.U.); -#11401=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11402=POLYLINE('centreline',(#9306,#11403,#11404,#11405,#11406,#2382)); -#11403=CARTESIAN_POINT('',(603834.0,1904924.0)); -#11404=CARTESIAN_POINT('',(633730.0,1875028.0)); -#11405=CARTESIAN_POINT('',(1529080.0,1875028.0)); -#11406=CARTESIAN_POINT('',(1559052.0,1905000.0)); -#11407=PATH_AREA_WITH_PARAMETERS('',#18703,#11402); -#11408=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('route net11 3', - $,#10571,#4,'route net11 3','definition usage',$,#10572,*,'',$,*,'',$,*,#23332, - #11407); -#11409=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('route net11 3','',$,#223,#10572, - 'route net11 3','',$,#11408,*); -#11410=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #11408,.U.); -#11411=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #11408,.U.); -#11412=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#11408,.U.,'',$,#11410, - #11411); -#11413=STRATUM_FEATURE('109','conductor',#303,.U.); -#11414=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11415=STRATUM_FEATURE('110','conductive filled area',#303,.U.); -#11416=STRATUM_FEATURE('111','connected filled area',#307,.U.); -#11417=JOIN_SHAPE_ASPECT('intra stratum join',$,#223,.U.); -#11418=STRATUM_FEATURE('112','conductive filled area',#303,.U.); -#11419=JOIN_SHAPE_ASPECT('inter stratum join',$,#223,.U.); -#11420=PHYSICAL_NETWORK('net11','routed physical network',#223,.U.); -#11421=JOIN_SHAPE_ASPECT('unrouted join',$,#223,.U.); -#11422=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer13',$,#257,.U.); -#11423=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer5',$,#293,.U.); -#11424=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer8',$,#277,.U.); -#11425=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer3',$,#315,.U.); -#11426=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer11',$,#263,.U.); -#11427=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer12',$,#259,.U.); -#11428=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer15',$,#285,.U.); -#11429=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer14',$,#287,.U.); -#11430=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer4',$,#303,.U.); -#11431=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer6',$,#273,.U.); -#11432=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer2',$,#307,.U.); -#11433=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer10',$,#265,.U.); -#11434=STRATUM_FEATURE('V5 of net1 normal on Wiring Layer9',$,#281,.U.); -#11435=STRATUM_FEATURE('V8 of net1 normal on Wiring Layer1',$,#297,.U.); -#11436=STRATUM_FEATURE('V8 of net1 normal on Wiring Layer2',$,#307,.U.); -#11437=STRATUM_FEATURE('V1 of net1 normal on Wiring Layer1',$,#297,.U.); -#11438=STRATUM_FEATURE('V1 of net1 normal on Wiring Layer2',$,#307,.U.); -#11439=STRATUM_FEATURE('V6 of net1 normal on Wiring Layer15',$,#285,.U.); -#11440=STRATUM_FEATURE('V6 of net1 normal on Wiring Layer16',$,#311,.U.); -#11441=STRATUM_FEATURE('V12 of net1 normal on Wiring Layer1',$,#297,.U.); -#11442=STRATUM_FEATURE('V12 of net1 normal on Wiring Layer2',$,#307,.U.); -#11443=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer13',$,#257,.U.); -#11444=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer5',$,#293,.U.); -#11445=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer8',$,#277,.U.); -#11446=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer3',$,#315,.U.); -#11447=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer11',$,#263,.U.); -#11448=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer12',$,#259,.U.); -#11449=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer15',$,#285,.U.); -#11450=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer14',$,#287,.U.); -#11451=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer4',$,#303,.U.); -#11452=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer6',$,#273,.U.); -#11453=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer2',$,#307,.U.); -#11454=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer10',$,#265,.U.); -#11455=STRATUM_FEATURE('V7 of net1 normal on Wiring Layer9',$,#281,.U.); -#11456=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer13',$,#257,.U.); -#11457=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer5',$,#293,.U.); -#11458=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer8',$,#277,.U.); -#11459=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer3',$,#315,.U.); -#11460=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer11',$,#263,.U.); -#11461=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer12',$,#259,.U.); -#11462=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer15',$,#285,.U.); -#11463=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer14',$,#287,.U.); -#11464=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer4',$,#303,.U.); -#11465=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer6',$,#273,.U.); -#11466=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer2',$,#307,.U.); -#11467=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer10',$,#265,.U.); -#11468=STRATUM_FEATURE('V16 of net1 normal on Wiring Layer9',$,#281,.U.); -#11469=STRATUM_FEATURE('V2 of net1 normal on Wiring Layer15',$,#285,.U.); -#11470=STRATUM_FEATURE('V2 of net1 normal on Wiring Layer16',$,#311,.U.); -#11471=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer13',$,#257,.U.); -#11472=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer5',$,#293,.U.); -#11473=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer8',$,#277,.U.); -#11474=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer3',$,#315,.U.); -#11475=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer11',$,#263,.U.); -#11476=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer12',$,#259,.U.); -#11477=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer15',$,#285,.U.); -#11478=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer14',$,#287,.U.); -#11479=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer4',$,#303,.U.); -#11480=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer6',$,#273,.U.); -#11481=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer2',$,#307,.U.); -#11482=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer10',$,#265,.U.); -#11483=STRATUM_FEATURE('V3 of net1 normal on Wiring Layer9',$,#281,.U.); -#11484=STRATUM_FEATURE('V10 of net1 normal on Wiring Layer1',$,#297,.U.); -#11485=STRATUM_FEATURE('V10 of net1 normal on Wiring Layer2',$,#307,.U.); -#11486=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer13',$,#257,.U.); -#11487=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer5',$,#293,.U.); -#11488=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer8',$,#277,.U.); -#11489=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer3',$,#315,.U.); -#11490=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer11',$,#263,.U.); -#11491=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer12',$,#259,.U.); -#11492=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer15',$,#285,.U.); -#11493=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer14',$,#287,.U.); -#11494=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer4',$,#303,.U.); -#11495=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer6',$,#273,.U.); -#11496=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer2',$,#307,.U.); -#11497=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer10',$,#265,.U.); -#11498=STRATUM_FEATURE('V13 of net1 normal on Wiring Layer9',$,#281,.U.); -#11499=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer13',$,#257,.U.); -#11500=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer5',$,#293,.U.); -#11501=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer8',$,#277,.U.); -#11502=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer3',$,#315,.U.); -#11503=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer11',$,#263,.U.); -#11504=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer12',$,#259,.U.); -#11505=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer15',$,#285,.U.); -#11506=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer14',$,#287,.U.); -#11507=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer4',$,#303,.U.); -#11508=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer6',$,#273,.U.); -#11509=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer2',$,#307,.U.); -#11510=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer10',$,#265,.U.); -#11511=STRATUM_FEATURE('V15 of net1 normal on Wiring Layer9',$,#281,.U.); -#11512=STRATUM_FEATURE('V4 of net1 normal on Wiring Layer15',$,#285,.U.); -#11513=STRATUM_FEATURE('V4 of net1 normal on Wiring Layer16',$,#311,.U.); -#11514=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer13',$,#257,.U.); -#11515=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer5',$,#293,.U.); -#11516=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer8',$,#277,.U.); -#11517=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer3',$,#315,.U.); -#11518=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer11',$,#263,.U.); -#11519=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer12',$,#259,.U.); -#11520=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer15',$,#285,.U.); -#11521=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer14',$,#287,.U.); -#11522=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer4',$,#303,.U.); -#11523=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer6',$,#273,.U.); -#11524=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer2',$,#307,.U.); -#11525=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer10',$,#265,.U.); -#11526=STRATUM_FEATURE('V11 of net1 normal on Wiring Layer9',$,#281,.U.); -#11527=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer13',$,#257,.U.); -#11528=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer5',$,#293,.U.); -#11529=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer8',$,#277,.U.); -#11530=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer3',$,#315,.U.); -#11531=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer11',$,#263,.U.); -#11532=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer12',$,#259,.U.); -#11533=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer15',$,#285,.U.); -#11534=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer14',$,#287,.U.); -#11535=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer4',$,#303,.U.); -#11536=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer6',$,#273,.U.); -#11537=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer2',$,#307,.U.); -#11538=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer10',$,#265,.U.); -#11539=STRATUM_FEATURE('V9 of net1 normal on Wiring Layer9',$,#281,.U.); -#11540=STRATUM_FEATURE('V14 of net1 normal on Wiring Layer15',$,#285,.U.); -#11541=STRATUM_FEATURE('V14 of net1 normal on Wiring Layer16',$,#311,.U.); -#11542=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer13',$,#257,.U.); -#11543=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer5',$,#293,.U.); -#11544=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer8',$,#277,.U.); -#11545=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer3',$,#315,.U.); -#11546=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer11',$,#263,.U.); -#11547=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer12',$,#259,.U.); -#11548=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer15',$,#285,.U.); -#11549=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer14',$,#287,.U.); -#11550=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer6',$,#273,.U.); -#11551=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer10',$,#265,.U.); -#11552=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer9',$,#281,.U.); -#11553=STRATUM_FEATURE('V3 of net2 normal on Wiring Layer7',$,#271,.U.); -#11554=STRATUM_FEATURE('V4 of net2 normal on Wiring Layer1',$,#297,.U.); -#11555=STRATUM_FEATURE('V1 of net2 normal on Wiring Layer16',$,#311,.U.); -#11556=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer13',$,#257,.U.); -#11557=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer5',$,#293,.U.); -#11558=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer8',$,#277,.U.); -#11559=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer3',$,#315,.U.); -#11560=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer11',$,#263,.U.); -#11561=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer12',$,#259,.U.); -#11562=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer14',$,#287,.U.); -#11563=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer6',$,#273,.U.); -#11564=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer2',$,#307,.U.); -#11565=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer10',$,#265,.U.); -#11566=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer9',$,#281,.U.); -#11567=STRATUM_FEATURE('V2 of net2 normal on Wiring Layer7',$,#271,.U.); -#11568=STRATUM_FEATURE('V3 of net3 normal on Wiring Layer1',$,#297,.U.); -#11569=STRATUM_FEATURE('V4 of net3 normal on Wiring Layer13',$,#257,.U.); -#11570=STRATUM_FEATURE('V4 of net3 normal on Wiring Layer5',$,#293,.U.); -#11571=STRATUM_FEATURE('V4 of net3 normal on Wiring Layer3',$,#315,.U.); -#11572=STRATUM_FEATURE('V4 of net3 normal on Wiring Layer11',$,#263,.U.); -#11573=STRATUM_FEATURE('V4 of net3 normal on Wiring Layer12',$,#259,.U.); -#11574=STRATUM_FEATURE('V4 of net3 normal on Wiring Layer15',$,#285,.U.); -#11575=STRATUM_FEATURE('V4 of net3 normal on Wiring Layer14',$,#287,.U.); -#11576=STRATUM_FEATURE('V4 of net3 normal on Wiring Layer4',$,#303,.U.); -#11577=STRATUM_FEATURE('V4 of net3 normal on Wiring Layer6',$,#273,.U.); -#11578=STRATUM_FEATURE('V4 of net3 normal on Wiring Layer10',$,#265,.U.); -#11579=STRATUM_FEATURE('V4 of net3 normal on Wiring Layer7',$,#271,.U.); -#11580=STRATUM_FEATURE('V1 of net3 normal on Wiring Layer16',$,#311,.U.); -#11581=STRATUM_FEATURE('V2 of net3 normal on Wiring Layer13',$,#257,.U.); -#11582=STRATUM_FEATURE('V2 of net3 normal on Wiring Layer5',$,#293,.U.); -#11583=STRATUM_FEATURE('V2 of net3 normal on Wiring Layer3',$,#315,.U.); -#11584=STRATUM_FEATURE('V2 of net3 normal on Wiring Layer11',$,#263,.U.); -#11585=STRATUM_FEATURE('V2 of net3 normal on Wiring Layer12',$,#259,.U.); -#11586=STRATUM_FEATURE('V2 of net3 normal on Wiring Layer14',$,#287,.U.); -#11587=STRATUM_FEATURE('V2 of net3 normal on Wiring Layer4',$,#303,.U.); -#11588=STRATUM_FEATURE('V2 of net3 normal on Wiring Layer6',$,#273,.U.); -#11589=STRATUM_FEATURE('V2 of net3 normal on Wiring Layer2',$,#307,.U.); -#11590=STRATUM_FEATURE('V2 of net3 normal on Wiring Layer10',$,#265,.U.); -#11591=STRATUM_FEATURE('V2 of net3 normal on Wiring Layer7',$,#271,.U.); -#11592=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer5',$,#293,.U.); -#11593=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer8',$,#277,.U.); -#11594=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer3',$,#315,.U.); -#11595=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer11',$,#263,.U.); -#11596=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer12',$,#259,.U.); -#11597=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer15',$,#285,.U.); -#11598=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer14',$,#287,.U.); -#11599=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer4',$,#303,.U.); -#11600=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer6',$,#273,.U.); -#11601=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer10',$,#265,.U.); -#11602=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer9',$,#281,.U.); -#11603=STRATUM_FEATURE('V3 of net4 normal on Wiring Layer7',$,#271,.U.); -#11604=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer13',$,#257,.U.); -#11605=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer5',$,#293,.U.); -#11606=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer8',$,#277,.U.); -#11607=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer3',$,#315,.U.); -#11608=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer11',$,#263,.U.); -#11609=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer12',$,#259,.U.); -#11610=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer14',$,#287,.U.); -#11611=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer4',$,#303,.U.); -#11612=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer6',$,#273,.U.); -#11613=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer2',$,#307,.U.); -#11614=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer10',$,#265,.U.); -#11615=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer9',$,#281,.U.); -#11616=STRATUM_FEATURE('V4 of net4 normal on Wiring Layer7',$,#271,.U.); -#11617=STRATUM_FEATURE('V1 of net4 normal on Wiring Layer16',$,#311,.U.); -#11618=STRATUM_FEATURE('V2 of net4 normal on Wiring Layer1',$,#297,.U.); -#11619=STRATUM_FEATURE('V1 of net5 normal on Wiring Layer16',$,#311,.U.); -#11620=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer13',$,#257,.U.); -#11621=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer5',$,#293,.U.); -#11622=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer8',$,#277,.U.); -#11623=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer3',$,#315,.U.); -#11624=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer11',$,#263,.U.); -#11625=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer12',$,#259,.U.); -#11626=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer14',$,#287,.U.); -#11627=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer4',$,#303,.U.); -#11628=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer2',$,#307,.U.); -#11629=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer10',$,#265,.U.); -#11630=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer9',$,#281,.U.); -#11631=STRATUM_FEATURE('V2 of net5 normal on Wiring Layer7',$,#271,.U.); -#11632=STRATUM_FEATURE('V1 of net6 normal on Wiring Layer1',$,#297,.U.); -#11633=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer13',$,#257,.U.); -#11634=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer5',$,#293,.U.); -#11635=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer8',$,#277,.U.); -#11636=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer3',$,#315,.U.); -#11637=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer11',$,#263,.U.); -#11638=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer12',$,#259,.U.); -#11639=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer15',$,#285,.U.); -#11640=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer14',$,#287,.U.); -#11641=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer6',$,#273,.U.); -#11642=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer10',$,#265,.U.); -#11643=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer9',$,#281,.U.); -#11644=STRATUM_FEATURE('V2 of net6 normal on Wiring Layer7',$,#271,.U.); -#11645=STRATUM_FEATURE('V23 of net7 normal on Wiring Layer13',$,#257,.U.); -#11646=STRATUM_FEATURE('V23 of net7 normal on Wiring Layer5',$,#293,.U.); -#11647=STRATUM_FEATURE('V23 of net7 normal on Wiring Layer8',$,#277,.U.); -#11648=STRATUM_FEATURE('V23 of net7 normal on Wiring Layer11',$,#263,.U.); -#11649=STRATUM_FEATURE('V23 of net7 normal on Wiring Layer12',$,#259,.U.); -#11650=STRATUM_FEATURE('V23 of net7 normal on Wiring Layer4',$,#303,.U.); -#11651=STRATUM_FEATURE('V23 of net7 normal on Wiring Layer6',$,#273,.U.); -#11652=STRATUM_FEATURE('V23 of net7 normal on Wiring Layer9',$,#281,.U.); -#11653=STRATUM_FEATURE('V23 of net7 normal on Wiring Layer7',$,#271,.U.); -#11654=STRATUM_FEATURE('V1 of net7 normal on Wiring Layer13',$,#257,.U.); -#11655=STRATUM_FEATURE('V1 of net7 normal on Wiring Layer5',$,#293,.U.); -#11656=STRATUM_FEATURE('V1 of net7 normal on Wiring Layer8',$,#277,.U.); -#11657=STRATUM_FEATURE('V1 of net7 normal on Wiring Layer11',$,#263,.U.); -#11658=STRATUM_FEATURE('V1 of net7 normal on Wiring Layer12',$,#259,.U.); -#11659=STRATUM_FEATURE('V1 of net7 normal on Wiring Layer15',$,#285,.U.); -#11660=STRATUM_FEATURE('V1 of net7 normal on Wiring Layer4',$,#303,.U.); -#11661=STRATUM_FEATURE('V1 of net7 normal on Wiring Layer6',$,#273,.U.); -#11662=STRATUM_FEATURE('V1 of net7 normal on Wiring Layer2',$,#307,.U.); -#11663=STRATUM_FEATURE('V1 of net7 normal on Wiring Layer9',$,#281,.U.); -#11664=STRATUM_FEATURE('V1 of net7 normal on Wiring Layer7',$,#271,.U.); -#11665=STRATUM_FEATURE('V24 of net7 normal on Wiring Layer1',$,#297,.U.); -#11666=STRATUM_FEATURE('V16 of net7 normal on Wiring Layer16',$,#311,.U.); -#11667=STRATUM_FEATURE('V2 of net7 normal on Wiring Layer13',$,#257,.U.); -#11668=STRATUM_FEATURE('V2 of net7 normal on Wiring Layer5',$,#293,.U.); -#11669=STRATUM_FEATURE('V2 of net7 normal on Wiring Layer8',$,#277,.U.); -#11670=STRATUM_FEATURE('V2 of net7 normal on Wiring Layer11',$,#263,.U.); -#11671=STRATUM_FEATURE('V2 of net7 normal on Wiring Layer12',$,#259,.U.); -#11672=STRATUM_FEATURE('V2 of net7 normal on Wiring Layer15',$,#285,.U.); -#11673=STRATUM_FEATURE('V2 of net7 normal on Wiring Layer4',$,#303,.U.); -#11674=STRATUM_FEATURE('V2 of net7 normal on Wiring Layer6',$,#273,.U.); -#11675=STRATUM_FEATURE('V2 of net7 normal on Wiring Layer2',$,#307,.U.); -#11676=STRATUM_FEATURE('V2 of net7 normal on Wiring Layer9',$,#281,.U.); -#11677=STRATUM_FEATURE('V2 of net7 normal on Wiring Layer7',$,#271,.U.); -#11678=STRATUM_FEATURE('V3 of net7 normal on Wiring Layer13',$,#257,.U.); -#11679=STRATUM_FEATURE('V3 of net7 normal on Wiring Layer5',$,#293,.U.); -#11680=STRATUM_FEATURE('V3 of net7 normal on Wiring Layer8',$,#277,.U.); -#11681=STRATUM_FEATURE('V3 of net7 normal on Wiring Layer11',$,#263,.U.); -#11682=STRATUM_FEATURE('V3 of net7 normal on Wiring Layer12',$,#259,.U.); -#11683=STRATUM_FEATURE('V3 of net7 normal on Wiring Layer15',$,#285,.U.); -#11684=STRATUM_FEATURE('V3 of net7 normal on Wiring Layer4',$,#303,.U.); -#11685=STRATUM_FEATURE('V3 of net7 normal on Wiring Layer6',$,#273,.U.); -#11686=STRATUM_FEATURE('V3 of net7 normal on Wiring Layer2',$,#307,.U.); -#11687=STRATUM_FEATURE('V3 of net7 normal on Wiring Layer9',$,#281,.U.); -#11688=STRATUM_FEATURE('V3 of net7 normal on Wiring Layer7',$,#271,.U.); -#11689=STRATUM_FEATURE('V15 of net7 normal on Wiring Layer13',$,#257,.U.); -#11690=STRATUM_FEATURE('V15 of net7 normal on Wiring Layer5',$,#293,.U.); -#11691=STRATUM_FEATURE('V15 of net7 normal on Wiring Layer8',$,#277,.U.); -#11692=STRATUM_FEATURE('V15 of net7 normal on Wiring Layer11',$,#263,.U.); -#11693=STRATUM_FEATURE('V15 of net7 normal on Wiring Layer12',$,#259,.U.); -#11694=STRATUM_FEATURE('V15 of net7 normal on Wiring Layer4',$,#303,.U.); -#11695=STRATUM_FEATURE('V15 of net7 normal on Wiring Layer6',$,#273,.U.); -#11696=STRATUM_FEATURE('V15 of net7 normal on Wiring Layer9',$,#281,.U.); -#11697=STRATUM_FEATURE('V15 of net7 normal on Wiring Layer7',$,#271,.U.); -#11698=STRATUM_FEATURE('V25 of net7 normal on Wiring Layer13',$,#257,.U.); -#11699=STRATUM_FEATURE('V25 of net7 normal on Wiring Layer5',$,#293,.U.); -#11700=STRATUM_FEATURE('V25 of net7 normal on Wiring Layer8',$,#277,.U.); -#11701=STRATUM_FEATURE('V25 of net7 normal on Wiring Layer11',$,#263,.U.); -#11702=STRATUM_FEATURE('V25 of net7 normal on Wiring Layer12',$,#259,.U.); -#11703=STRATUM_FEATURE('V25 of net7 normal on Wiring Layer4',$,#303,.U.); -#11704=STRATUM_FEATURE('V25 of net7 normal on Wiring Layer6',$,#273,.U.); -#11705=STRATUM_FEATURE('V25 of net7 normal on Wiring Layer9',$,#281,.U.); -#11706=STRATUM_FEATURE('V25 of net7 normal on Wiring Layer7',$,#271,.U.); -#11707=STRATUM_FEATURE('V22 of net7 normal on Wiring Layer13',$,#257,.U.); -#11708=STRATUM_FEATURE('V22 of net7 normal on Wiring Layer5',$,#293,.U.); -#11709=STRATUM_FEATURE('V22 of net7 normal on Wiring Layer8',$,#277,.U.); -#11710=STRATUM_FEATURE('V22 of net7 normal on Wiring Layer11',$,#263,.U.); -#11711=STRATUM_FEATURE('V22 of net7 normal on Wiring Layer12',$,#259,.U.); -#11712=STRATUM_FEATURE('V22 of net7 normal on Wiring Layer4',$,#303,.U.); -#11713=STRATUM_FEATURE('V22 of net7 normal on Wiring Layer6',$,#273,.U.); -#11714=STRATUM_FEATURE('V22 of net7 normal on Wiring Layer9',$,#281,.U.); -#11715=STRATUM_FEATURE('V22 of net7 normal on Wiring Layer7',$,#271,.U.); -#11716=STRATUM_FEATURE('V9 of net7 normal on Wiring Layer13',$,#257,.U.); -#11717=STRATUM_FEATURE('V9 of net7 normal on Wiring Layer5',$,#293,.U.); -#11718=STRATUM_FEATURE('V9 of net7 normal on Wiring Layer8',$,#277,.U.); -#11719=STRATUM_FEATURE('V9 of net7 normal on Wiring Layer11',$,#263,.U.); -#11720=STRATUM_FEATURE('V9 of net7 normal on Wiring Layer12',$,#259,.U.); -#11721=STRATUM_FEATURE('V9 of net7 normal on Wiring Layer4',$,#303,.U.); -#11722=STRATUM_FEATURE('V9 of net7 normal on Wiring Layer6',$,#273,.U.); -#11723=STRATUM_FEATURE('V9 of net7 normal on Wiring Layer9',$,#281,.U.); -#11724=STRATUM_FEATURE('V9 of net7 normal on Wiring Layer7',$,#271,.U.); -#11725=STRATUM_FEATURE('V14 of net7 normal on Wiring Layer13',$,#257,.U.); -#11726=STRATUM_FEATURE('V14 of net7 normal on Wiring Layer5',$,#293,.U.); -#11727=STRATUM_FEATURE('V14 of net7 normal on Wiring Layer8',$,#277,.U.); -#11728=STRATUM_FEATURE('V14 of net7 normal on Wiring Layer11',$,#263,.U.); -#11729=STRATUM_FEATURE('V14 of net7 normal on Wiring Layer12',$,#259,.U.); -#11730=STRATUM_FEATURE('V14 of net7 normal on Wiring Layer4',$,#303,.U.); -#11731=STRATUM_FEATURE('V14 of net7 normal on Wiring Layer6',$,#273,.U.); -#11732=STRATUM_FEATURE('V14 of net7 normal on Wiring Layer9',$,#281,.U.); -#11733=STRATUM_FEATURE('V14 of net7 normal on Wiring Layer7',$,#271,.U.); -#11734=STRATUM_FEATURE('V28 of net7 normal on Wiring Layer13',$,#257,.U.); -#11735=STRATUM_FEATURE('V28 of net7 normal on Wiring Layer5',$,#293,.U.); -#11736=STRATUM_FEATURE('V28 of net7 normal on Wiring Layer8',$,#277,.U.); -#11737=STRATUM_FEATURE('V28 of net7 normal on Wiring Layer11',$,#263,.U.); -#11738=STRATUM_FEATURE('V28 of net7 normal on Wiring Layer12',$,#259,.U.); -#11739=STRATUM_FEATURE('V28 of net7 normal on Wiring Layer15',$,#285,.U.); -#11740=STRATUM_FEATURE('V28 of net7 normal on Wiring Layer4',$,#303,.U.); -#11741=STRATUM_FEATURE('V28 of net7 normal on Wiring Layer6',$,#273,.U.); -#11742=STRATUM_FEATURE('V28 of net7 normal on Wiring Layer2',$,#307,.U.); -#11743=STRATUM_FEATURE('V28 of net7 normal on Wiring Layer9',$,#281,.U.); -#11744=STRATUM_FEATURE('V28 of net7 normal on Wiring Layer7',$,#271,.U.); -#11745=STRATUM_FEATURE('V5 of net7 normal on Wiring Layer13',$,#257,.U.); -#11746=STRATUM_FEATURE('V5 of net7 normal on Wiring Layer5',$,#293,.U.); -#11747=STRATUM_FEATURE('V5 of net7 normal on Wiring Layer8',$,#277,.U.); -#11748=STRATUM_FEATURE('V5 of net7 normal on Wiring Layer11',$,#263,.U.); -#11749=STRATUM_FEATURE('V5 of net7 normal on Wiring Layer12',$,#259,.U.); -#11750=STRATUM_FEATURE('V5 of net7 normal on Wiring Layer15',$,#285,.U.); -#11751=STRATUM_FEATURE('V5 of net7 normal on Wiring Layer4',$,#303,.U.); -#11752=STRATUM_FEATURE('V5 of net7 normal on Wiring Layer6',$,#273,.U.); -#11753=STRATUM_FEATURE('V5 of net7 normal on Wiring Layer2',$,#307,.U.); -#11754=STRATUM_FEATURE('V5 of net7 normal on Wiring Layer9',$,#281,.U.); -#11755=STRATUM_FEATURE('V5 of net7 normal on Wiring Layer7',$,#271,.U.); -#11756=STRATUM_FEATURE('V8 of net7 normal on Wiring Layer1',$,#297,.U.); -#11757=STRATUM_FEATURE('V17 of net7 normal on Wiring Layer16',$,#311,.U.); -#11758=STRATUM_FEATURE('V20 of net7 normal on Wiring Layer13',$,#257,.U.); -#11759=STRATUM_FEATURE('V20 of net7 normal on Wiring Layer5',$,#293,.U.); -#11760=STRATUM_FEATURE('V20 of net7 normal on Wiring Layer8',$,#277,.U.); -#11761=STRATUM_FEATURE('V20 of net7 normal on Wiring Layer11',$,#263,.U.); -#11762=STRATUM_FEATURE('V20 of net7 normal on Wiring Layer12',$,#259,.U.); -#11763=STRATUM_FEATURE('V20 of net7 normal on Wiring Layer4',$,#303,.U.); -#11764=STRATUM_FEATURE('V20 of net7 normal on Wiring Layer6',$,#273,.U.); -#11765=STRATUM_FEATURE('V20 of net7 normal on Wiring Layer9',$,#281,.U.); -#11766=STRATUM_FEATURE('V20 of net7 normal on Wiring Layer7',$,#271,.U.); -#11767=STRATUM_FEATURE('V6 of net7 normal on Wiring Layer13',$,#257,.U.); -#11768=STRATUM_FEATURE('V6 of net7 normal on Wiring Layer5',$,#293,.U.); -#11769=STRATUM_FEATURE('V6 of net7 normal on Wiring Layer8',$,#277,.U.); -#11770=STRATUM_FEATURE('V6 of net7 normal on Wiring Layer11',$,#263,.U.); -#11771=STRATUM_FEATURE('V6 of net7 normal on Wiring Layer12',$,#259,.U.); -#11772=STRATUM_FEATURE('V6 of net7 normal on Wiring Layer15',$,#285,.U.); -#11773=STRATUM_FEATURE('V6 of net7 normal on Wiring Layer4',$,#303,.U.); -#11774=STRATUM_FEATURE('V6 of net7 normal on Wiring Layer6',$,#273,.U.); -#11775=STRATUM_FEATURE('V6 of net7 normal on Wiring Layer2',$,#307,.U.); -#11776=STRATUM_FEATURE('V6 of net7 normal on Wiring Layer9',$,#281,.U.); -#11777=STRATUM_FEATURE('V6 of net7 normal on Wiring Layer7',$,#271,.U.); -#11778=STRATUM_FEATURE('V12 of net7 normal on Wiring Layer16',$,#311,.U.); -#11779=STRATUM_FEATURE('V19 of net7 normal on Wiring Layer13',$,#257,.U.); -#11780=STRATUM_FEATURE('V19 of net7 normal on Wiring Layer5',$,#293,.U.); -#11781=STRATUM_FEATURE('V19 of net7 normal on Wiring Layer8',$,#277,.U.); -#11782=STRATUM_FEATURE('V19 of net7 normal on Wiring Layer11',$,#263,.U.); -#11783=STRATUM_FEATURE('V19 of net7 normal on Wiring Layer12',$,#259,.U.); -#11784=STRATUM_FEATURE('V19 of net7 normal on Wiring Layer4',$,#303,.U.); -#11785=STRATUM_FEATURE('V19 of net7 normal on Wiring Layer6',$,#273,.U.); -#11786=STRATUM_FEATURE('V19 of net7 normal on Wiring Layer9',$,#281,.U.); -#11787=STRATUM_FEATURE('V19 of net7 normal on Wiring Layer7',$,#271,.U.); -#11788=STRATUM_FEATURE('V27 of net7 normal on Wiring Layer13',$,#257,.U.); -#11789=STRATUM_FEATURE('V27 of net7 normal on Wiring Layer5',$,#293,.U.); -#11790=STRATUM_FEATURE('V27 of net7 normal on Wiring Layer8',$,#277,.U.); -#11791=STRATUM_FEATURE('V27 of net7 normal on Wiring Layer11',$,#263,.U.); -#11792=STRATUM_FEATURE('V27 of net7 normal on Wiring Layer12',$,#259,.U.); -#11793=STRATUM_FEATURE('V27 of net7 normal on Wiring Layer15',$,#285,.U.); -#11794=STRATUM_FEATURE('V27 of net7 normal on Wiring Layer4',$,#303,.U.); -#11795=STRATUM_FEATURE('V27 of net7 normal on Wiring Layer6',$,#273,.U.); -#11796=STRATUM_FEATURE('V27 of net7 normal on Wiring Layer9',$,#281,.U.); -#11797=STRATUM_FEATURE('V27 of net7 normal on Wiring Layer7',$,#271,.U.); -#11798=STRATUM_FEATURE('V7 of net7 normal on Wiring Layer13',$,#257,.U.); -#11799=STRATUM_FEATURE('V7 of net7 normal on Wiring Layer5',$,#293,.U.); -#11800=STRATUM_FEATURE('V7 of net7 normal on Wiring Layer8',$,#277,.U.); -#11801=STRATUM_FEATURE('V7 of net7 normal on Wiring Layer11',$,#263,.U.); -#11802=STRATUM_FEATURE('V7 of net7 normal on Wiring Layer12',$,#259,.U.); -#11803=STRATUM_FEATURE('V7 of net7 normal on Wiring Layer15',$,#285,.U.); -#11804=STRATUM_FEATURE('V7 of net7 normal on Wiring Layer4',$,#303,.U.); -#11805=STRATUM_FEATURE('V7 of net7 normal on Wiring Layer6',$,#273,.U.); -#11806=STRATUM_FEATURE('V7 of net7 normal on Wiring Layer2',$,#307,.U.); -#11807=STRATUM_FEATURE('V7 of net7 normal on Wiring Layer9',$,#281,.U.); -#11808=STRATUM_FEATURE('V7 of net7 normal on Wiring Layer7',$,#271,.U.); -#11809=STRATUM_FEATURE('V26 of net7 normal on Wiring Layer1',$,#297,.U.); -#11810=STRATUM_FEATURE('V10 of net7 normal on Wiring Layer13',$,#257,.U.); -#11811=STRATUM_FEATURE('V10 of net7 normal on Wiring Layer5',$,#293,.U.); -#11812=STRATUM_FEATURE('V10 of net7 normal on Wiring Layer8',$,#277,.U.); -#11813=STRATUM_FEATURE('V10 of net7 normal on Wiring Layer11',$,#263,.U.); -#11814=STRATUM_FEATURE('V10 of net7 normal on Wiring Layer12',$,#259,.U.); -#11815=STRATUM_FEATURE('V10 of net7 normal on Wiring Layer4',$,#303,.U.); -#11816=STRATUM_FEATURE('V10 of net7 normal on Wiring Layer6',$,#273,.U.); -#11817=STRATUM_FEATURE('V10 of net7 normal on Wiring Layer9',$,#281,.U.); -#11818=STRATUM_FEATURE('V10 of net7 normal on Wiring Layer7',$,#271,.U.); -#11819=STRATUM_FEATURE('V21 of net7 normal on Wiring Layer13',$,#257,.U.); -#11820=STRATUM_FEATURE('V21 of net7 normal on Wiring Layer5',$,#293,.U.); -#11821=STRATUM_FEATURE('V21 of net7 normal on Wiring Layer8',$,#277,.U.); -#11822=STRATUM_FEATURE('V21 of net7 normal on Wiring Layer11',$,#263,.U.); -#11823=STRATUM_FEATURE('V21 of net7 normal on Wiring Layer12',$,#259,.U.); -#11824=STRATUM_FEATURE('V21 of net7 normal on Wiring Layer4',$,#303,.U.); -#11825=STRATUM_FEATURE('V21 of net7 normal on Wiring Layer6',$,#273,.U.); -#11826=STRATUM_FEATURE('V21 of net7 normal on Wiring Layer9',$,#281,.U.); -#11827=STRATUM_FEATURE('V21 of net7 normal on Wiring Layer7',$,#271,.U.); -#11828=STRATUM_FEATURE('V13 of net7 normal on Wiring Layer13',$,#257,.U.); -#11829=STRATUM_FEATURE('V13 of net7 normal on Wiring Layer5',$,#293,.U.); -#11830=STRATUM_FEATURE('V13 of net7 normal on Wiring Layer8',$,#277,.U.); -#11831=STRATUM_FEATURE('V13 of net7 normal on Wiring Layer11',$,#263,.U.); -#11832=STRATUM_FEATURE('V13 of net7 normal on Wiring Layer12',$,#259,.U.); -#11833=STRATUM_FEATURE('V13 of net7 normal on Wiring Layer4',$,#303,.U.); -#11834=STRATUM_FEATURE('V13 of net7 normal on Wiring Layer6',$,#273,.U.); -#11835=STRATUM_FEATURE('V13 of net7 normal on Wiring Layer9',$,#281,.U.); -#11836=STRATUM_FEATURE('V13 of net7 normal on Wiring Layer7',$,#271,.U.); -#11837=STRATUM_FEATURE('V18 of net7 normal on Wiring Layer13',$,#257,.U.); -#11838=STRATUM_FEATURE('V18 of net7 normal on Wiring Layer5',$,#293,.U.); -#11839=STRATUM_FEATURE('V18 of net7 normal on Wiring Layer8',$,#277,.U.); -#11840=STRATUM_FEATURE('V18 of net7 normal on Wiring Layer11',$,#263,.U.); -#11841=STRATUM_FEATURE('V18 of net7 normal on Wiring Layer12',$,#259,.U.); -#11842=STRATUM_FEATURE('V18 of net7 normal on Wiring Layer4',$,#303,.U.); -#11843=STRATUM_FEATURE('V18 of net7 normal on Wiring Layer6',$,#273,.U.); -#11844=STRATUM_FEATURE('V18 of net7 normal on Wiring Layer9',$,#281,.U.); -#11845=STRATUM_FEATURE('V18 of net7 normal on Wiring Layer7',$,#271,.U.); -#11846=STRATUM_FEATURE('V11 of net7 normal on Wiring Layer13',$,#257,.U.); -#11847=STRATUM_FEATURE('V11 of net7 normal on Wiring Layer5',$,#293,.U.); -#11848=STRATUM_FEATURE('V11 of net7 normal on Wiring Layer8',$,#277,.U.); -#11849=STRATUM_FEATURE('V11 of net7 normal on Wiring Layer11',$,#263,.U.); -#11850=STRATUM_FEATURE('V11 of net7 normal on Wiring Layer12',$,#259,.U.); -#11851=STRATUM_FEATURE('V11 of net7 normal on Wiring Layer4',$,#303,.U.); -#11852=STRATUM_FEATURE('V11 of net7 normal on Wiring Layer6',$,#273,.U.); -#11853=STRATUM_FEATURE('V11 of net7 normal on Wiring Layer9',$,#281,.U.); -#11854=STRATUM_FEATURE('V11 of net7 normal on Wiring Layer7',$,#271,.U.); -#11855=STRATUM_FEATURE('V4 of net7 normal on Wiring Layer13',$,#257,.U.); -#11856=STRATUM_FEATURE('V4 of net7 normal on Wiring Layer5',$,#293,.U.); -#11857=STRATUM_FEATURE('V4 of net7 normal on Wiring Layer8',$,#277,.U.); -#11858=STRATUM_FEATURE('V4 of net7 normal on Wiring Layer11',$,#263,.U.); -#11859=STRATUM_FEATURE('V4 of net7 normal on Wiring Layer12',$,#259,.U.); -#11860=STRATUM_FEATURE('V4 of net7 normal on Wiring Layer15',$,#285,.U.); -#11861=STRATUM_FEATURE('V4 of net7 normal on Wiring Layer4',$,#303,.U.); -#11862=STRATUM_FEATURE('V4 of net7 normal on Wiring Layer6',$,#273,.U.); -#11863=STRATUM_FEATURE('V4 of net7 normal on Wiring Layer2',$,#307,.U.); -#11864=STRATUM_FEATURE('V4 of net7 normal on Wiring Layer9',$,#281,.U.); -#11865=STRATUM_FEATURE('V4 of net7 normal on Wiring Layer7',$,#271,.U.); -#11866=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer13',$,#257,.U.); -#11867=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer5',$,#293,.U.); -#11868=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer8',$,#277,.U.); -#11869=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer3',$,#315,.U.); -#11870=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer12',$,#259,.U.); -#11871=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer15',$,#285,.U.); -#11872=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer14',$,#287,.U.); -#11873=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer4',$,#303,.U.); -#11874=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer6',$,#273,.U.); -#11875=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer10',$,#265,.U.); -#11876=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer9',$,#281,.U.); -#11877=STRATUM_FEATURE('V3 of net8 normal on Wiring Layer7',$,#271,.U.); -#11878=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer13',$,#257,.U.); -#11879=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer5',$,#293,.U.); -#11880=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer8',$,#277,.U.); -#11881=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer3',$,#315,.U.); -#11882=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer11',$,#263,.U.); -#11883=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer12',$,#259,.U.); -#11884=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer14',$,#287,.U.); -#11885=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer4',$,#303,.U.); -#11886=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer6',$,#273,.U.); -#11887=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer2',$,#307,.U.); -#11888=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer10',$,#265,.U.); -#11889=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer9',$,#281,.U.); -#11890=STRATUM_FEATURE('V4 of net8 normal on Wiring Layer7',$,#271,.U.); -#11891=STRATUM_FEATURE('V1 of net8 normal on Wiring Layer16',$,#311,.U.); -#11892=STRATUM_FEATURE('V2 of net8 normal on Wiring Layer1',$,#297,.U.); -#11893=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer13',$,#257,.U.); -#11894=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer5',$,#293,.U.); -#11895=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer8',$,#277,.U.); -#11896=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer3',$,#315,.U.); -#11897=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer11',$,#263,.U.); -#11898=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer12',$,#259,.U.); -#11899=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer15',$,#285,.U.); -#11900=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer14',$,#287,.U.); -#11901=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer6',$,#273,.U.); -#11902=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer10',$,#265,.U.); -#11903=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer9',$,#281,.U.); -#11904=STRATUM_FEATURE('V3 of net9 normal on Wiring Layer7',$,#271,.U.); -#11905=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer13',$,#257,.U.); -#11906=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer5',$,#293,.U.); -#11907=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer8',$,#277,.U.); -#11908=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer3',$,#315,.U.); -#11909=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer11',$,#263,.U.); -#11910=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer12',$,#259,.U.); -#11911=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer14',$,#287,.U.); -#11912=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer4',$,#303,.U.); -#11913=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer6',$,#273,.U.); -#11914=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer2',$,#307,.U.); -#11915=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer10',$,#265,.U.); -#11916=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer9',$,#281,.U.); -#11917=STRATUM_FEATURE('V4 of net9 normal on Wiring Layer7',$,#271,.U.); -#11918=STRATUM_FEATURE('V1 of net9 normal on Wiring Layer16',$,#311,.U.); -#11919=STRATUM_FEATURE('V2 of net9 normal on Wiring Layer1',$,#297,.U.); -#11920=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer5',$,#293,.U.); -#11921=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer8',$,#277,.U.); -#11922=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer3',$,#315,.U.); -#11923=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer11',$,#263,.U.); -#11924=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer12',$,#259,.U.); -#11925=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer14',$,#287,.U.); -#11926=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer4',$,#303,.U.); -#11927=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer6',$,#273,.U.); -#11928=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer2',$,#307,.U.); -#11929=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer10',$,#265,.U.); -#11930=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer9',$,#281,.U.); -#11931=STRATUM_FEATURE('V1 of net10 normal on Wiring Layer7',$,#271,.U.); -#11932=STRATUM_FEATURE('V2 of net10 normal on Wiring Layer16',$,#311,.U.); -#11933=STRATUM_FEATURE('V1 of net11 normal on Wiring Layer1',$,#297,.U.); -#11934=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer13',$,#257,.U.); -#11935=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer5',$,#293,.U.); -#11936=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer8',$,#277,.U.); -#11937=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer3',$,#315,.U.); -#11938=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer11',$,#263,.U.); -#11939=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer12',$,#259,.U.); -#11940=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer15',$,#285,.U.); -#11941=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer14',$,#287,.U.); -#11942=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer6',$,#273,.U.); -#11943=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer10',$,#265,.U.); -#11944=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer9',$,#281,.U.); -#11945=STRATUM_FEATURE('V2 of net11 normal on Wiring Layer7',$,#271,.U.); -#11946=STRATUM_FEATURE('U2 A1 normal on Wiring Layer1',$,#311,.U.); -#11947=STRATUM_FEATURE('U2 G3 normal on Wiring Layer1',$,#311,.U.); -#11948=STRATUM_FEATURE('U2 D5 normal on Wiring Layer1',$,#311,.U.); -#11949=STRATUM_FEATURE('U2 F5 normal on Wiring Layer1',$,#311,.U.); -#11950=STRATUM_FEATURE('U2 D1 normal on Wiring Layer1',$,#311,.U.); -#11951=STRATUM_FEATURE('U2 E1 normal on Wiring Layer1',$,#311,.U.); -#11952=STRATUM_FEATURE('U2 B4 normal on Wiring Layer1',$,#311,.U.); -#11953=STRATUM_FEATURE('U2 D3 normal on Wiring Layer1',$,#311,.U.); -#11954=STRATUM_FEATURE('U2 C4 normal on Wiring Layer1',$,#311,.U.); -#11955=STRATUM_FEATURE('U2 E3 normal on Wiring Layer1',$,#311,.U.); -#11956=STRATUM_FEATURE('U2 E7 normal on Wiring Layer1',$,#311,.U.); -#11957=STRATUM_FEATURE('U2 B3 normal on Wiring Layer1',$,#311,.U.); -#11958=STRATUM_FEATURE('U2 C1 normal on Wiring Layer1',$,#311,.U.); -#11959=STRATUM_FEATURE('U2 A4 normal on Wiring Layer1',$,#311,.U.); -#11960=STRATUM_FEATURE('U2 G2 normal on Wiring Layer1',$,#311,.U.); -#11961=STRATUM_FEATURE('U2 H6 normal on Wiring Layer1',$,#311,.U.); -#11962=STRATUM_FEATURE('U2 F2 normal on Wiring Layer1',$,#311,.U.); -#11963=STRATUM_FEATURE('U2 A2 normal on Wiring Layer1',$,#311,.U.); -#11964=STRATUM_FEATURE('U2 E8 normal on Wiring Layer1',$,#311,.U.); -#11965=STRATUM_FEATURE('U2 A7 normal on Wiring Layer1',$,#311,.U.); -#11966=STRATUM_FEATURE('U2 G1 normal on Wiring Layer1',$,#311,.U.); -#11967=STRATUM_FEATURE('U2 D7 normal on Wiring Layer1',$,#311,.U.); -#11968=STRATUM_FEATURE('U2 C2 normal on Wiring Layer1',$,#311,.U.); -#11969=STRATUM_FEATURE('U2 C5 normal on Wiring Layer1',$,#311,.U.); -#11970=STRATUM_FEATURE('U2 A5 normal on Wiring Layer1',$,#311,.U.); -#11971=STRATUM_FEATURE('U2 H5 normal on Wiring Layer1',$,#311,.U.); -#11972=STRATUM_FEATURE('U2 B5 normal on Wiring Layer1',$,#311,.U.); -#11973=STRATUM_FEATURE('U2 H8 normal on Wiring Layer1',$,#311,.U.); -#11974=STRATUM_FEATURE('U2 C7 normal on Wiring Layer1',$,#311,.U.); -#11975=STRATUM_FEATURE('U2 G8 normal on Wiring Layer1',$,#311,.U.); -#11976=STRATUM_FEATURE('U2 E2 normal on Wiring Layer1',$,#311,.U.); -#11977=STRATUM_FEATURE('U2 G5 normal on Wiring Layer1',$,#311,.U.); -#11978=STRATUM_FEATURE('U2 B2 normal on Wiring Layer1',$,#311,.U.); -#11979=STRATUM_FEATURE('U2 A8 normal on Wiring Layer1',$,#311,.U.); -#11980=STRATUM_FEATURE('U2 C8 normal on Wiring Layer1',$,#311,.U.); -#11981=STRATUM_FEATURE('U2 A3 normal on Wiring Layer1',$,#311,.U.); -#11982=STRATUM_FEATURE('U2 D8 normal on Wiring Layer1',$,#311,.U.); -#11983=STRATUM_FEATURE('U2 E5 normal on Wiring Layer1',$,#311,.U.); -#11984=STRATUM_FEATURE('U2 F6 normal on Wiring Layer1',$,#311,.U.); -#11985=STRATUM_FEATURE('U2 F7 normal on Wiring Layer1',$,#311,.U.); -#11986=STRATUM_FEATURE('U2 C3 normal on Wiring Layer1',$,#311,.U.); -#11987=STRATUM_FEATURE('U2 F4 normal on Wiring Layer1',$,#311,.U.); -#11988=STRATUM_FEATURE('U2 D6 normal on Wiring Layer1',$,#311,.U.); -#11989=STRATUM_FEATURE('U2 C6 normal on Wiring Layer1',$,#311,.U.); -#11990=STRATUM_FEATURE('U2 H7 normal on Wiring Layer1',$,#311,.U.); -#11991=STRATUM_FEATURE('U2 D4 normal on Wiring Layer1',$,#311,.U.); -#11992=STRATUM_FEATURE('U2 F3 normal on Wiring Layer1',$,#311,.U.); -#11993=STRATUM_FEATURE('U2 B6 normal on Wiring Layer1',$,#311,.U.); -#11994=STRATUM_FEATURE('U2 F8 normal on Wiring Layer1',$,#311,.U.); -#11995=STRATUM_FEATURE('U2 E4 normal on Wiring Layer1',$,#311,.U.); -#11996=STRATUM_FEATURE('U2 G6 normal on Wiring Layer1',$,#311,.U.); -#11997=STRATUM_FEATURE('U2 B7 normal on Wiring Layer1',$,#311,.U.); -#11998=STRATUM_FEATURE('U2 F1 normal on Wiring Layer1',$,#311,.U.); -#11999=STRATUM_FEATURE('U2 B8 normal on Wiring Layer1',$,#311,.U.); -#12000=STRATUM_FEATURE('U2 H2 normal on Wiring Layer1',$,#311,.U.); -#12001=STRATUM_FEATURE('U2 H4 normal on Wiring Layer1',$,#311,.U.); -#12002=STRATUM_FEATURE('U2 E6 normal on Wiring Layer1',$,#311,.U.); -#12003=STRATUM_FEATURE('U2 H1 normal on Wiring Layer1',$,#311,.U.); -#12004=STRATUM_FEATURE('U2 H3 normal on Wiring Layer1',$,#311,.U.); -#12005=STRATUM_FEATURE('U2 D2 normal on Wiring Layer1',$,#311,.U.); -#12006=STRATUM_FEATURE('U2 A6 normal on Wiring Layer1',$,#311,.U.); -#12007=STRATUM_FEATURE('U2 G4 normal on Wiring Layer1',$,#311,.U.); -#12008=STRATUM_FEATURE('U2 B1 normal on Wiring Layer1',$,#311,.U.); -#12009=STRATUM_FEATURE('U2 G7 normal on Wiring Layer1',$,#311,.U.); -#12010=STRATUM_FEATURE('TB8 2 normal on Wiring Layer1',$,#297,.U.); -#12011=STRATUM_FEATURE('TB2 1 normal on Wiring Layer13',$,#257,.U.); -#12012=STRATUM_FEATURE('TB2 1 normal on Wiring Layer5',$,#293,.U.); -#12013=STRATUM_FEATURE('TB2 1 normal on Wiring Layer8',$,#277,.U.); -#12014=STRATUM_FEATURE('TB2 1 normal on Wiring Layer3',$,#315,.U.); -#12015=STRATUM_FEATURE('TB2 1 normal on Wiring Layer11',$,#263,.U.); -#12016=STRATUM_FEATURE('TB2 1 normal on Wiring Layer1',$,#297,.U.); -#12017=STRATUM_FEATURE('TB2 1 normal on Wiring Layer12',$,#259,.U.); -#12018=STRATUM_FEATURE('TB2 1 normal on Wiring Layer15',$,#285,.U.); -#12019=STRATUM_FEATURE('TB2 1 normal on Wiring Layer14',$,#287,.U.); -#12020=STRATUM_FEATURE('TB2 1 normal on Wiring Layer16',$,#311,.U.); -#12021=STRATUM_FEATURE('TB2 1 normal on Wiring Layer6',$,#273,.U.); -#12022=STRATUM_FEATURE('TB2 1 normal on Wiring Layer2',$,#307,.U.); -#12023=STRATUM_FEATURE('TB2 1 normal on Wiring Layer10',$,#265,.U.); -#12024=STRATUM_FEATURE('TB2 1 normal on Wiring Layer9',$,#281,.U.); -#12025=STRATUM_FEATURE('TB2 1 normal on Wiring Layer7',$,#271,.U.); -#12026=STRATUM_FEATURE('TB2 2 normal on Wiring Layer13',$,#257,.U.); -#12027=STRATUM_FEATURE('TB2 2 normal on Wiring Layer5',$,#293,.U.); -#12028=STRATUM_FEATURE('TB2 2 normal on Wiring Layer8',$,#277,.U.); -#12029=STRATUM_FEATURE('TB2 2 normal on Wiring Layer3',$,#315,.U.); -#12030=STRATUM_FEATURE('TB2 2 normal on Wiring Layer11',$,#263,.U.); -#12031=STRATUM_FEATURE('TB2 2 normal on Wiring Layer1',$,#297,.U.); -#12032=STRATUM_FEATURE('TB2 2 normal on Wiring Layer12',$,#259,.U.); -#12033=STRATUM_FEATURE('TB2 2 normal on Wiring Layer15',$,#285,.U.); -#12034=STRATUM_FEATURE('TB2 2 normal on Wiring Layer14',$,#287,.U.); -#12035=STRATUM_FEATURE('TB2 2 normal on Wiring Layer16',$,#311,.U.); -#12036=STRATUM_FEATURE('TB2 2 normal on Wiring Layer4',$,#303,.U.); -#12037=STRATUM_FEATURE('TB2 2 normal on Wiring Layer2',$,#307,.U.); -#12038=STRATUM_FEATURE('TB2 2 normal on Wiring Layer10',$,#265,.U.); -#12039=STRATUM_FEATURE('TB2 2 normal on Wiring Layer9',$,#281,.U.); -#12040=STRATUM_FEATURE('TB2 2 normal on Wiring Layer7',$,#271,.U.); -#12041=STRATUM_FEATURE('U1 G6 normal on Wiring Layer1',$,#297,.U.); -#12042=STRATUM_FEATURE('U1 A6 normal on Wiring Layer1',$,#297,.U.); -#12043=STRATUM_FEATURE('U1 E4 normal on Wiring Layer1',$,#297,.U.); -#12044=STRATUM_FEATURE('U1 F4 normal on Wiring Layer1',$,#297,.U.); -#12045=STRATUM_FEATURE('U1 D8 normal on Wiring Layer1',$,#297,.U.); -#12046=STRATUM_FEATURE('U1 B5 normal on Wiring Layer1',$,#297,.U.); -#12047=STRATUM_FEATURE('U1 H3 normal on Wiring Layer1',$,#297,.U.); -#12048=STRATUM_FEATURE('U1 D6 normal on Wiring Layer1',$,#297,.U.); -#12049=STRATUM_FEATURE('U1 C1 normal on Wiring Layer1',$,#297,.U.); -#12050=STRATUM_FEATURE('U1 G1 normal on Wiring Layer1',$,#297,.U.); -#12051=STRATUM_FEATURE('U1 F5 normal on Wiring Layer1',$,#297,.U.); -#12052=STRATUM_FEATURE('U1 B7 normal on Wiring Layer1',$,#297,.U.); -#12053=STRATUM_FEATURE('U1 H6 normal on Wiring Layer1',$,#297,.U.); -#12054=STRATUM_FEATURE('U1 E3 normal on Wiring Layer1',$,#297,.U.); -#12055=STRATUM_FEATURE('U1 G4 normal on Wiring Layer1',$,#297,.U.); -#12056=STRATUM_FEATURE('U1 A3 normal on Wiring Layer1',$,#297,.U.); -#12057=STRATUM_FEATURE('U1 D3 normal on Wiring Layer1',$,#297,.U.); -#12058=STRATUM_FEATURE('U1 H5 normal on Wiring Layer1',$,#297,.U.); -#12059=STRATUM_FEATURE('U1 D1 normal on Wiring Layer1',$,#297,.U.); -#12060=STRATUM_FEATURE('U1 F7 normal on Wiring Layer1',$,#297,.U.); -#12061=STRATUM_FEATURE('U1 F6 normal on Wiring Layer1',$,#297,.U.); -#12062=STRATUM_FEATURE('U1 C8 normal on Wiring Layer1',$,#297,.U.); -#12063=STRATUM_FEATURE('U1 H2 normal on Wiring Layer1',$,#297,.U.); -#12064=STRATUM_FEATURE('U1 C4 normal on Wiring Layer1',$,#297,.U.); -#12065=STRATUM_FEATURE('U1 C7 normal on Wiring Layer1',$,#297,.U.); -#12066=STRATUM_FEATURE('U1 E1 normal on Wiring Layer1',$,#297,.U.); -#12067=STRATUM_FEATURE('U1 C3 normal on Wiring Layer1',$,#297,.U.); -#12068=STRATUM_FEATURE('U1 B1 normal on Wiring Layer1',$,#297,.U.); -#12069=STRATUM_FEATURE('U1 G5 normal on Wiring Layer1',$,#297,.U.); -#12070=STRATUM_FEATURE('U1 F8 normal on Wiring Layer1',$,#297,.U.); -#12071=STRATUM_FEATURE('U1 F3 normal on Wiring Layer1',$,#297,.U.); -#12072=STRATUM_FEATURE('U1 G2 normal on Wiring Layer1',$,#297,.U.); -#12073=STRATUM_FEATURE('U1 H8 normal on Wiring Layer1',$,#297,.U.); -#12074=STRATUM_FEATURE('U1 C6 normal on Wiring Layer1',$,#297,.U.); -#12075=STRATUM_FEATURE('U1 B8 normal on Wiring Layer1',$,#297,.U.); -#12076=STRATUM_FEATURE('U1 A1 normal on Wiring Layer1',$,#297,.U.); -#12077=STRATUM_FEATURE('U1 A7 normal on Wiring Layer1',$,#297,.U.); -#12078=STRATUM_FEATURE('U1 B4 normal on Wiring Layer1',$,#297,.U.); -#12079=STRATUM_FEATURE('U1 G7 normal on Wiring Layer1',$,#297,.U.); -#12080=STRATUM_FEATURE('U1 D5 normal on Wiring Layer1',$,#297,.U.); -#12081=STRATUM_FEATURE('U1 E8 normal on Wiring Layer1',$,#297,.U.); -#12082=STRATUM_FEATURE('U1 E7 normal on Wiring Layer1',$,#297,.U.); -#12083=STRATUM_FEATURE('U1 D2 normal on Wiring Layer1',$,#297,.U.); -#12084=STRATUM_FEATURE('U1 F1 normal on Wiring Layer1',$,#297,.U.); -#12085=STRATUM_FEATURE('U1 H1 normal on Wiring Layer1',$,#297,.U.); -#12086=STRATUM_FEATURE('U1 A8 normal on Wiring Layer1',$,#297,.U.); -#12087=STRATUM_FEATURE('U1 G3 normal on Wiring Layer1',$,#297,.U.); -#12088=STRATUM_FEATURE('U1 C2 normal on Wiring Layer1',$,#297,.U.); -#12089=STRATUM_FEATURE('U1 H7 normal on Wiring Layer1',$,#297,.U.); -#12090=STRATUM_FEATURE('U1 D7 normal on Wiring Layer1',$,#297,.U.); -#12091=STRATUM_FEATURE('U1 D4 normal on Wiring Layer1',$,#297,.U.); -#12092=STRATUM_FEATURE('U1 G8 normal on Wiring Layer1',$,#297,.U.); -#12093=STRATUM_FEATURE('U1 C5 normal on Wiring Layer1',$,#297,.U.); -#12094=STRATUM_FEATURE('U1 A4 normal on Wiring Layer1',$,#297,.U.); -#12095=STRATUM_FEATURE('U1 H4 normal on Wiring Layer1',$,#297,.U.); -#12096=STRATUM_FEATURE('U1 B6 normal on Wiring Layer1',$,#297,.U.); -#12097=STRATUM_FEATURE('U1 E6 normal on Wiring Layer1',$,#297,.U.); -#12098=STRATUM_FEATURE('U1 A2 normal on Wiring Layer1',$,#297,.U.); -#12099=STRATUM_FEATURE('U1 E5 normal on Wiring Layer1',$,#297,.U.); -#12100=STRATUM_FEATURE('U1 F2 normal on Wiring Layer1',$,#297,.U.); -#12101=STRATUM_FEATURE('U1 B2 normal on Wiring Layer1',$,#297,.U.); -#12102=STRATUM_FEATURE('U1 B3 normal on Wiring Layer1',$,#297,.U.); -#12103=STRATUM_FEATURE('U1 A5 normal on Wiring Layer1',$,#297,.U.); -#12104=STRATUM_FEATURE('U1 E2 normal on Wiring Layer1',$,#297,.U.); -#12105=STRATUM_FEATURE('TB1 1 normal on Wiring Layer13',$,#257,.U.); -#12106=STRATUM_FEATURE('TB1 1 normal on Wiring Layer5',$,#293,.U.); -#12107=STRATUM_FEATURE('TB1 1 normal on Wiring Layer8',$,#277,.U.); -#12108=STRATUM_FEATURE('TB1 1 normal on Wiring Layer3',$,#315,.U.); -#12109=STRATUM_FEATURE('TB1 1 normal on Wiring Layer11',$,#263,.U.); -#12110=STRATUM_FEATURE('TB1 1 normal on Wiring Layer1',$,#297,.U.); -#12111=STRATUM_FEATURE('TB1 1 normal on Wiring Layer12',$,#259,.U.); -#12112=STRATUM_FEATURE('TB1 1 normal on Wiring Layer15',$,#285,.U.); -#12113=STRATUM_FEATURE('TB1 1 normal on Wiring Layer14',$,#287,.U.); -#12114=STRATUM_FEATURE('TB1 1 normal on Wiring Layer16',$,#311,.U.); -#12115=STRATUM_FEATURE('TB1 1 normal on Wiring Layer6',$,#273,.U.); -#12116=STRATUM_FEATURE('TB1 1 normal on Wiring Layer2',$,#307,.U.); -#12117=STRATUM_FEATURE('TB1 1 normal on Wiring Layer10',$,#265,.U.); -#12118=STRATUM_FEATURE('TB1 1 normal on Wiring Layer9',$,#281,.U.); -#12119=STRATUM_FEATURE('TB1 1 normal on Wiring Layer7',$,#271,.U.); -#12120=STRATUM_FEATURE('TB1 2 normal on Wiring Layer5',$,#293,.U.); -#12121=STRATUM_FEATURE('TB1 2 normal on Wiring Layer8',$,#277,.U.); -#12122=STRATUM_FEATURE('TB1 2 normal on Wiring Layer3',$,#315,.U.); -#12123=STRATUM_FEATURE('TB1 2 normal on Wiring Layer11',$,#263,.U.); -#12124=STRATUM_FEATURE('TB1 2 normal on Wiring Layer1',$,#297,.U.); -#12125=STRATUM_FEATURE('TB1 2 normal on Wiring Layer12',$,#259,.U.); -#12126=STRATUM_FEATURE('TB1 2 normal on Wiring Layer15',$,#285,.U.); -#12127=STRATUM_FEATURE('TB1 2 normal on Wiring Layer14',$,#287,.U.); -#12128=STRATUM_FEATURE('TB1 2 normal on Wiring Layer16',$,#311,.U.); -#12129=STRATUM_FEATURE('TB1 2 normal on Wiring Layer4',$,#303,.U.); -#12130=STRATUM_FEATURE('TB1 2 normal on Wiring Layer6',$,#273,.U.); -#12131=STRATUM_FEATURE('TB1 2 normal on Wiring Layer2',$,#307,.U.); -#12132=STRATUM_FEATURE('TB1 2 normal on Wiring Layer10',$,#265,.U.); -#12133=STRATUM_FEATURE('TB1 2 normal on Wiring Layer9',$,#281,.U.); -#12134=STRATUM_FEATURE('TB1 2 normal on Wiring Layer7',$,#271,.U.); -#12135=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#12136),#225); -#12136=CSG_PRIMITIVE_SOLID_2D('',#12165); -#12137=COMPOSITE_CURVE('',(#12144,#12150,#12156,#12162,#12164),.F.); -#12138=CARTESIAN_POINT('',(-3.3249392822343182E-12,-176534.0)); -#12139=CARTESIAN_POINT('',(-176534.0,-5.677766590217459E-11)); -#12140=CARTESIAN_POINT('',(-0.0038869165000505745,-0.0038869165000505745)); -#12141=AXIS2_PLACEMENT_2D('',#12140,$); -#12142=CIRCLE('',#12141,176533.99611308356); -#12143=TRIMMED_CURVE('',#12142,(#12138),(#12139),.F.,.CARTESIAN.); -#12144=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12143); -#12145=CARTESIAN_POINT('',(-1.8294241121985522E-11,176534.0)); -#12146=CARTESIAN_POINT('',(-0.003886916529154405,0.003886916529154405)); -#12147=AXIS2_PLACEMENT_2D('',#12146,$); -#12148=CIRCLE('',#12147,176533.9961130835); -#12149=TRIMMED_CURVE('',#12148,(#12139),(#12145),.F.,.CARTESIAN.); -#12150=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12149); -#12151=CARTESIAN_POINT('',(176534.0,0.0)); -#12152=CARTESIAN_POINT('',(0.0038869165146024898,0.0038869165146024898)); -#12153=AXIS2_PLACEMENT_2D('',#12152,$); -#12154=CIRCLE('',#12153,176533.99611308353); -#12155=TRIMMED_CURVE('',#12154,(#12145),(#12151),.F.,.CARTESIAN.); -#12156=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12155); -#12157=CARTESIAN_POINT('',(0.0,-176534.0)); -#12158=CARTESIAN_POINT('',(0.0038869165146024898,-0.0038869165146024898)); -#12159=AXIS2_PLACEMENT_2D('',#12158,$); -#12160=CIRCLE('',#12159,176533.99611308353); -#12161=TRIMMED_CURVE('',#12160,(#12151),(#12157),.F.,.CARTESIAN.); -#12162=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12161); -#12163=POLYLINE('',(#12157,#12138)); -#12164=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12163); -#12165=AREA_WITH_OUTER_BOUNDARY('',#12137,.F.); -#12166=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for Resist-B piece 1',$,#322,#4) - PRODUCT_DEFINITION_RELATIONSHIP('base for Resist-B piece 1','definition usage', - $,#326,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for Resist-B piece 1', - $,#319,.U.)SHAPE_ASPECT_RELATIONSHIP($,$,*,*)STRATUM_FEATURE() - STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#12167=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-B piece 1','', - $,#223,#326,'base for Resist-B piece 1','',$,#12166,*); -#12168=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#12169),#225); -#12169=CSG_PRIMITIVE_SOLID_2D('',#12170); -#12170=CIRCULAR_AREA('',#12171,176534.02111970406); -#12171=CARTESIAN_POINT('',(4064000.0211197026,0.021119702782016248)); -#12172=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for Resist-B piece 2',$,#322,#4) - PRODUCT_DEFINITION_RELATIONSHIP('base for Resist-B piece 2','definition usage', - $,#326,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for Resist-B piece 2', - $,#319,.U.)SHAPE_ASPECT_RELATIONSHIP($,$,*,*)STRATUM_FEATURE() - STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#12173=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-B piece 2','', - $,#223,#326,'base for Resist-B piece 2','',$,#12172,*); -#12174=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#12175),#225); -#12175=CSG_PRIMITIVE_SOLID_2D('',#12204); -#12176=COMPOSITE_CURVE('',(#12183,#12189,#12195,#12201,#12203),.F.); -#12177=CARTESIAN_POINT('',(-3.3249392822343182E-12,3887466.0)); -#12178=CARTESIAN_POINT('',(-176534.0,4064000.0)); -#12179=CARTESIAN_POINT('',(0.021120048011653125,4064000.021120048)); -#12180=AXIS2_PLACEMENT_2D('',#12179,$); -#12181=CIRCLE('',#12180,176534.0211200493); -#12182=TRIMMED_CURVE('',#12181,(#12177),(#12178),.F.,.CARTESIAN.); -#12183=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12182); -#12184=CARTESIAN_POINT('',(-1.8294241121985522E-11,4240534.0)); -#12185=CARTESIAN_POINT('',(0.021119567871210165,4063999.978880432)); -#12186=AXIS2_PLACEMENT_2D('',#12185,$); -#12187=CIRCLE('',#12186,176534.02111956914); -#12188=TRIMMED_CURVE('',#12187,(#12178),(#12184),.F.,.CARTESIAN.); -#12189=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12188); -#12190=CARTESIAN_POINT('',(176534.0,4064000.0)); -#12191=CARTESIAN_POINT('',(-0.02111986934323795,4063999.9788801307)); -#12192=AXIS2_PLACEMENT_2D('',#12191,$); -#12193=CIRCLE('',#12192,176534.0211198706); -#12194=TRIMMED_CURVE('',#12193,(#12184),(#12190),.F.,.CARTESIAN.); -#12195=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12194); -#12196=CARTESIAN_POINT('',(0.0,3887466.0)); -#12197=CARTESIAN_POINT('',(-0.021119084922247566,4064000.021119085)); -#12198=AXIS2_PLACEMENT_2D('',#12197,$); -#12199=CIRCLE('',#12198,176534.0211190862); -#12200=TRIMMED_CURVE('',#12199,(#12190),(#12196),.F.,.CARTESIAN.); -#12201=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12200); -#12202=POLYLINE('',(#12196,#12177)); -#12203=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12202); -#12204=AREA_WITH_OUTER_BOUNDARY('',#12176,.F.); -#12205=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for Resist-B piece 3',$,#322,#4) - PRODUCT_DEFINITION_RELATIONSHIP('base for Resist-B piece 3','definition usage', - $,#326,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for Resist-B piece 3', - $,#319,.U.)SHAPE_ASPECT_RELATIONSHIP($,$,*,*)STRATUM_FEATURE() - STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#12206=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-B piece 3','', - $,#223,#326,'base for Resist-B piece 3','',$,#12205,*); -#12207=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#12208),#225); -#12208=CSG_PRIMITIVE_SOLID_2D('',#12209); -#12209=CIRCULAR_AREA('',#12210,176534.04612770534); -#12210=CARTESIAN_POINT('',(4064000.0461276993,4064000.0461276993)); -#12211=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for Resist-B piece 4',$,#322,#4) - PRODUCT_DEFINITION_RELATIONSHIP('base for Resist-B piece 4','definition usage', - $,#326,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for Resist-B piece 4', - $,#319,.U.)SHAPE_ASPECT_RELATIONSHIP($,$,*,*)STRATUM_FEATURE() - STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#12212=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-B piece 4','', - $,#223,#326,'base for Resist-B piece 4','',$,#12211,*); -#12213=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#12214),#225); -#12214=CSG_PRIMITIVE_SOLID_2D('',#12215); -#12215=(COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM((#12216,#12218,#12220, - #12222,#12224,#12226,#12228,#12230,#12232,#12234,#12236,#12238,#12240,#12242, - #12244,#12246,#12248,#12250,#12252,#12254,#12256,#12258,#12260,#12262,#12264, - #12266,#12268,#12270,#12272,#12274,#12276,#12278,#12280,#12282,#12284,#12286, - #12288,#12290,#12292,#12294,#12296,#12298,#12300,#12302,#12304,#12306,#12308, - #12310,#12312,#12314,#12316,#12318,#12320,#12322,#12324,#12326,#12328,#12330, - #12332,#12334,#12336,#12338,#12340,#12342,#12344,#12346,#12348,#12350,#12352, - #12354,#12356,#12386,#12387,#12417,#12418)))GEOMETRIC_REPRESENTATION_ITEM() - PRIMITIVE_2D()PRIMITIVE_2D_WITH_INNER_BOUNDARY()RECTANGULAR_AREA(#39,5080000.0, - 5080000.0)REPRESENTATION_ITEM('')); -#12216=CIRCULAR_AREA('',#12217,24129.9276950658); -#12217=CARTESIAN_POINT('',(2952000.0723050428,1745499.9276949575)); -#12218=CIRCULAR_AREA('',#12219,24129.92768210649); -#12219=CARTESIAN_POINT('',(3052000.0723180017,1745499.9276819981)); -#12220=CIRCULAR_AREA('',#12221,24129.927660655747); -#12221=CARTESIAN_POINT('',(3152000.072339453,1745499.9276605472)); -#12222=CIRCULAR_AREA('',#12223,24129.927702891917); -#12223=CARTESIAN_POINT('',(3252000.0722972164,1745499.9277027836)); -#12224=CIRCULAR_AREA('',#12225,24129.92767719529); -#12225=CARTESIAN_POINT('',(3352000.072322913,1745499.927677087)); -#12226=CIRCULAR_AREA('',#12227,24129.927668481858); -#12227=CARTESIAN_POINT('',(3452000.0723316264,1745499.9276683733)); -#12228=CIRCULAR_AREA('',#12229,24129.927655522777); -#12229=CARTESIAN_POINT('',(3552000.072344586,1745499.9276554142)); -#12230=CIRCULAR_AREA('',#12231,24129.927659546778); -#12231=CARTESIAN_POINT('',(3652000.0723405615,1745499.9276594385)); -#12232=CIRCULAR_AREA('',#12233,24129.92767405872); -#12233=CARTESIAN_POINT('',(2952000.0723260497,1845499.9276739503)); -#12234=CIRCULAR_AREA('',#12235,24129.927678082488); -#12235=CARTESIAN_POINT('',(3052000.072322026,1845499.927677974)); -#12236=CIRCULAR_AREA('',#12237,24129.927677860833); -#12237=CARTESIAN_POINT('',(3152000.0723222475,1845499.9276777525)); -#12238=CIRCULAR_AREA('',#12239,24129.9276818846); -#12239=CARTESIAN_POINT('',(3252000.072318224,1845499.9276817762)); -#12240=CIRCULAR_AREA('',#12241,24129.927656188327); -#12241=CARTESIAN_POINT('',(3352000.07234392,1845499.9276560799)); -#12242=CIRCULAR_AREA('',#12243,24129.927664457977); -#12243=CARTESIAN_POINT('',(3452000.07233565,1845499.9276643496)); -#12244=CIRCULAR_AREA('',#12245,24129.927706693907); -#12245=CARTESIAN_POINT('',(3552000.0722934143,1845499.9277065855)); -#12246=CIRCULAR_AREA('',#12247,24129.92766826009); -#12247=CARTESIAN_POINT('',(3652000.0723318486,1845499.9276681517)); -#12248=CIRCULAR_AREA('',#12249,24129.927670034718); -#12249=CARTESIAN_POINT('',(2952000.072330074,1945499.9276699263)); -#12250=CIRCULAR_AREA('',#12251,24129.92768679603); -#12251=CARTESIAN_POINT('',(3052000.0723133124,1945499.9276866876)); -#12252=CIRCULAR_AREA('',#12253,24129.92766534529); -#12253=CARTESIAN_POINT('',(3152000.072334763,1945499.9276652369)); -#12254=CIRCULAR_AREA('',#12255,24129.92768210649); -#12255=CARTESIAN_POINT('',(3252000.0723180017,1945499.9276819981)); -#12256=CIRCULAR_AREA('',#12257,24129.927694622143); -#12257=CARTESIAN_POINT('',(3352000.072305486,1945499.927694514)); -#12258=CIRCULAR_AREA('',#12259,24129.927660433976); -#12259=CARTESIAN_POINT('',(3452000.0723396745,1945499.9276603255)); -#12260=CIRCULAR_AREA('',#12261,24129.92768144106); -#12261=CARTESIAN_POINT('',(3552000.0723186675,1945499.9276813327)); -#12262=CIRCULAR_AREA('',#12263,24129.92766423609); -#12263=CARTESIAN_POINT('',(3652000.0723358723,1945499.9276641277)); -#12264=CIRCULAR_AREA('',#12265,24129.927695731112); -#12265=CARTESIAN_POINT('',(2952000.0723043773,2045499.9276956227)); -#12266=CIRCULAR_AREA('',#12267,24129.927657297292); -#12267=CARTESIAN_POINT('',(3052000.072342811,2045499.9276571888)); -#12268=CIRCULAR_AREA('',#12269,24129.927674058606); -#12269=CARTESIAN_POINT('',(3152000.0723260497,2045499.9276739503)); -#12270=CIRCULAR_AREA('',#12271,24129.927661099402); -#12271=CARTESIAN_POINT('',(3252000.072339009,2045499.927660991)); -#12272=CIRCULAR_AREA('',#12273,24129.927652385977); -#12273=CARTESIAN_POINT('',(3352000.0723477225,2045499.9276522775)); -#12274=CIRCULAR_AREA('',#12275,24129.92769037626); -#12275=CARTESIAN_POINT('',(3452000.072309732,2045499.927690268)); -#12276=CIRCULAR_AREA('',#12277,24129.92765618809); -#12277=CARTESIAN_POINT('',(3552000.0723439204,2045499.9276560796)); -#12278=CIRCULAR_AREA('',#12279,24129.927668703633); -#12279=CARTESIAN_POINT('',(3652000.072331405,2045499.9276685952)); -#12280=CIRCULAR_AREA('',#12281,24129.847669694605); -#12281=CARTESIAN_POINT('',(2952000.152330786,2145499.847669214)); -#12282=CIRCULAR_AREA('',#12283,24129.847657529517); -#12283=CARTESIAN_POINT('',(3052000.1523429514,2145499.8476570486)); -#12284=CIRCULAR_AREA('',#12285,24129.84765810181); -#12285=CARTESIAN_POINT('',(3152000.152342379,2145499.847657621)); -#12286=CIRCULAR_AREA('',#12287,24129.84765442823); -#12287=CARTESIAN_POINT('',(3252000.1523460527,2145499.8476539473)); -#12288=CIRCULAR_AREA('',#12289,24129.847642263143); -#12289=CARTESIAN_POINT('',(3352000.1523582176,2145499.8476417824)); -#12290=CIRCULAR_AREA('',#12291,24129.847664064102); -#12291=CARTESIAN_POINT('',(3452000.1523364168,2145499.8476635832)); -#12292=CIRCULAR_AREA('',#12293,24129.847656144648); -#12293=CARTESIAN_POINT('',(3552000.1523443363,2145499.8476556637)); -#12294=CIRCULAR_AREA('',#12295,24129.847665208457); -#12295=CARTESIAN_POINT('',(3652000.152335272,2145499.847664728)); -#12296=CIRCULAR_AREA('',#12297,24129.847652139288); -#12297=CARTESIAN_POINT('',(2952000.1523483414,2245499.8476516586)); -#12298=CIRCULAR_AREA('',#12299,24129.847686677633); -#12299=CARTESIAN_POINT('',(3052000.152313803,2245499.847686197)); -#12300=CIRCULAR_AREA('',#12301,24129.847640546486); -#12301=CARTESIAN_POINT('',(3152000.1523599345,2245499.8476400655)); -#12302=CIRCULAR_AREA('',#12303,24129.847653855937); -#12303=CARTESIAN_POINT('',(3252000.152346625,2245499.847653375)); -#12304=CIRCULAR_AREA('',#12305,24129.847650182357); -#12305=CARTESIAN_POINT('',(3352000.1523502986,2245499.8476497014)); -#12306=CIRCULAR_AREA('',#12307,24129.847638017265); -#12307=CARTESIAN_POINT('',(3452000.152362464,2245499.847637536)); -#12308=CIRCULAR_AREA('',#12309,24129.847621606303); -#12309=CARTESIAN_POINT('',(3552000.152378875,2245499.847621125)); -#12310=CIRCULAR_AREA('',#12311,24129.847647653136); -#12311=CARTESIAN_POINT('',(3652000.1523528276,2245499.8476471724)); -#12312=CIRCULAR_AREA('',#12313,24129.847647321585); -#12313=CARTESIAN_POINT('',(2952000.1523531596,2345499.8476468404)); -#12314=CIRCULAR_AREA('',#12315,24129.847656385162); -#12315=CARTESIAN_POINT('',(3052000.1523440955,2345499.8476559045)); -#12316=CIRCULAR_AREA('',#12317,24129.847631482913); -#12317=CARTESIAN_POINT('',(3152000.152368998,2345499.847631002)); -#12318=CIRCULAR_AREA('',#12319,24129.847653283876); -#12319=CARTESIAN_POINT('',(3252000.152347197,2345499.847652803)); -#12320=CIRCULAR_AREA('',#12321,24129.84766234745); -#12321=CARTESIAN_POINT('',(3352000.152338133,2345499.847661867)); -#12322=CIRCULAR_AREA('',#12323,24129.847662919743); -#12323=CARTESIAN_POINT('',(3452000.1523375614,2345499.8476624386)); -#12324=CIRCULAR_AREA('',#12325,24129.847646508777); -#12325=CARTESIAN_POINT('',(3552000.152353972,2345499.847646028)); -#12326=CIRCULAR_AREA('',#12327,24129.847655572587); -#12327=CARTESIAN_POINT('',(3652000.1523449086,2345499.8476550914)); -#12328=CIRCULAR_AREA('',#12329,24129.84766373232); -#12329=CARTESIAN_POINT('',(2952000.1523367483,2445499.8476632517)); -#12330=CIRCULAR_AREA('',#12331,24129.8476345842); -#12331=CARTESIAN_POINT('',(3052000.152365897,2445499.847634103)); -#12332=CIRCULAR_AREA('',#12333,24129.847677613827); -#12333=CARTESIAN_POINT('',(3152000.152322867,2445499.847677133)); -#12334=CIRCULAR_AREA('',#12335,24129.84765271158); -#12335=CARTESIAN_POINT('',(3252000.152347769,2445499.847652231)); -#12336=CIRCULAR_AREA('',#12337,24129.847636300616); -#12337=CARTESIAN_POINT('',(3352000.1523641804,2445499.8476358196)); -#12338=CIRCULAR_AREA('',#12339,24129.847645364425); -#12339=CARTESIAN_POINT('',(3452000.1523551163,2445499.8476448837)); -#12340=CIRCULAR_AREA('',#12341,24129.84762895346); -#12341=CARTESIAN_POINT('',(3552000.1523715276,2445499.8476284724)); -#12342=CIRCULAR_AREA('',#12343,24129.847671983316); -#12343=CARTESIAN_POINT('',(3652000.1523284977,2445499.8476715023)); -#12344=CIRCULAR_AREA('',#12345,48260.015398753356); -#12345=CARTESIAN_POINT('',(1714499.984601249,1905000.015398751)); -#12346=CIRCULAR_AREA('',#12347,48260.01539808373); -#12347=CARTESIAN_POINT('',(1968499.9846019188,1905000.0153980812)); -#12348=CIRCULAR_AREA('',#12349,48260.01539783077); -#12349=CARTESIAN_POINT('',(1714499.9846021717,2159000.0153978285)); -#12350=CIRCULAR_AREA('',#12351,48260.015396630406); -#12351=CARTESIAN_POINT('',(1968499.984603372,2159000.015396628)); -#12352=CIRCULAR_AREA('',#12353,149860.01254357898); -#12353=CARTESIAN_POINT('',(-0.01254357845755294,762000.0125435784)); -#12354=CIRCULAR_AREA('',#12355,149859.94252565101); -#12355=CARTESIAN_POINT('',(4064000.05747436,761999.94252564)); -#12356=CIRCULAR_AREA('',#12357,149859.94252594552); -#12357=CARTESIAN_POINT('',(762000.0574740656,4063999.9425259344)); -#12358=COMPOSITE_CURVE('',(#12365,#12371,#12377,#12383,#12385),.F.); -#12359=CARTESIAN_POINT('',(-3.410048979302083E-11,-393700.0)); -#12360=CARTESIAN_POINT('',(393700.0,0.0)); -#12361=CARTESIAN_POINT('',(-0.0076927140762563795,0.0076927140762563795)); -#12362=AXIS2_PLACEMENT_2D('',#12361,$); -#12363=CIRCLE('',#12362,393700.00769271416); -#12364=TRIMMED_CURVE('',#12363,(#12359),(#12360),.T.,.CARTESIAN.); -#12365=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12364); -#12366=CARTESIAN_POINT('',(-1.4113855917319285E-11,393700.0)); -#12367=CARTESIAN_POINT('',(-0.00769271413446404,-0.00769271413446404)); -#12368=AXIS2_PLACEMENT_2D('',#12367,$); -#12369=CIRCLE('',#12368,393700.0076927142); -#12370=TRIMMED_CURVE('',#12369,(#12360),(#12366),.T.,.CARTESIAN.); -#12371=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12370); -#12372=CARTESIAN_POINT('',(-393700.0,1.266235727381826E-10)); -#12373=CARTESIAN_POINT('',(0.007692714163567871,-0.007692714163567871)); -#12374=AXIS2_PLACEMENT_2D('',#12373,$); -#12375=CIRCLE('',#12374,393700.0076927142); -#12376=TRIMMED_CURVE('',#12375,(#12366),(#12372),.T.,.CARTESIAN.); -#12377=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12376); -#12378=CARTESIAN_POINT('',(0.0,-393700.0)); -#12379=CARTESIAN_POINT('',(0.007692714163567871,0.007692714163567871)); -#12380=AXIS2_PLACEMENT_2D('',#12379,$); -#12381=CIRCLE('',#12380,393700.0076927142); -#12382=TRIMMED_CURVE('',#12381,(#12372),(#12378),.T.,.CARTESIAN.); -#12383=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12382); -#12384=POLYLINE('',(#12378,#12359)); -#12385=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12384); -#12386=AREA_WITH_OUTER_BOUNDARY('',#12358,.T.); -#12387=CIRCULAR_AREA('',#12388,393700.00769278785); -#12388=CARTESIAN_POINT('',(4063999.992307212,0.007692787796258926)); -#12389=COMPOSITE_CURVE('',(#12396,#12402,#12408,#12414,#12416),.F.); -#12390=CARTESIAN_POINT('',(-3.410048979302083E-11,3670300.0)); -#12391=CARTESIAN_POINT('',(393700.0,4064000.0)); -#12392=CARTESIAN_POINT('',(-0.007692783809034154,4064000.0076927836)); -#12393=AXIS2_PLACEMENT_2D('',#12392,$); -#12394=CIRCLE('',#12393,393700.0076927839); -#12395=TRIMMED_CURVE('',#12394,(#12390),(#12391),.T.,.CARTESIAN.); -#12396=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12395); -#12397=CARTESIAN_POINT('',(-1.4113855917319285E-11,4457700.0)); -#12398=CARTESIAN_POINT('',(-0.007692720071645454,4063999.9923072797)); -#12399=AXIS2_PLACEMENT_2D('',#12398,$); -#12400=CIRCLE('',#12399,393700.00769272016); -#12401=TRIMMED_CURVE('',#12400,(#12391),(#12397),.T.,.CARTESIAN.); -#12402=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12401); -#12403=CARTESIAN_POINT('',(-393700.0,4064000.0)); -#12404=CARTESIAN_POINT('',(0.007692852464970201,4063999.9923071475)); -#12405=AXIS2_PLACEMENT_2D('',#12404,$); -#12406=CIRCLE('',#12405,393700.0076928526); -#12407=TRIMMED_CURVE('',#12406,(#12397),(#12403),.T.,.CARTESIAN.); -#12408=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12407); -#12409=CARTESIAN_POINT('',(0.0,3670300.0)); -#12410=CARTESIAN_POINT('',(0.00769285365822725,4064000.0076928535)); -#12411=AXIS2_PLACEMENT_2D('',#12410,$); -#12412=CIRCLE('',#12411,393700.00769285375); -#12413=TRIMMED_CURVE('',#12412,(#12403),(#12409),.T.,.CARTESIAN.); -#12414=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12413); -#12415=POLYLINE('',(#12409,#12390)); -#12416=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12415); -#12417=AREA_WITH_OUTER_BOUNDARY('',#12389,.T.); -#12418=CIRCULAR_AREA('',#12419,393700.00769297837); -#12419=CARTESIAN_POINT('',(4063999.9923070217,4064000.0076929783)); -#12420=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for Resist-B piece 5',$,#322,#4) - PRODUCT_DEFINITION_RELATIONSHIP('base for Resist-B piece 5','definition usage', - $,#326,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for Resist-B piece 5', - $,#319,.U.)SHAPE_ASPECT_RELATIONSHIP($,$,*,*)STRATUM_FEATURE() - STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#12421=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-B piece 5','', - $,#223,#326,'base for Resist-B piece 5','',$,#12420,*); -#12422=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#12423),#225); -#12423=CSG_PRIMITIVE_SOLID_2D('',#12427); -#12424=COMPOSITE_CURVE('',(#12144,#12150,#12156,#12162,#12426),.F.); -#12425=POLYLINE('',(#12157,#12138)); -#12426=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12425); -#12427=AREA_WITH_OUTER_BOUNDARY('',#12424,.F.); -#12428=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for Resist-A piece 1',$,#322,#4) - PRODUCT_DEFINITION_RELATIONSHIP('base for Resist-A piece 1','definition usage', - $,#326,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for Resist-A piece 1', - $,#295,.U.)SHAPE_ASPECT_RELATIONSHIP($,$,*,*)STRATUM_FEATURE() - STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#12429=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-A piece 1','', - $,#223,#326,'base for Resist-A piece 1','',$,#12428,*); -#12430=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#12431),#225); -#12431=CSG_PRIMITIVE_SOLID_2D('',#12170); -#12432=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for Resist-A piece 2',$,#322,#4) - PRODUCT_DEFINITION_RELATIONSHIP('base for Resist-A piece 2','definition usage', - $,#326,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for Resist-A piece 2', - $,#295,.U.)SHAPE_ASPECT_RELATIONSHIP($,$,*,*)STRATUM_FEATURE() - STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#12433=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-A piece 2','', - $,#223,#326,'base for Resist-A piece 2','',$,#12432,*); -#12434=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#12435),#225); -#12435=CSG_PRIMITIVE_SOLID_2D('',#12439); -#12436=COMPOSITE_CURVE('',(#12183,#12189,#12195,#12201,#12438),.F.); -#12437=POLYLINE('',(#12196,#12177)); -#12438=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12437); -#12439=AREA_WITH_OUTER_BOUNDARY('',#12436,.F.); -#12440=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for Resist-A piece 3',$,#322,#4) - PRODUCT_DEFINITION_RELATIONSHIP('base for Resist-A piece 3','definition usage', - $,#326,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for Resist-A piece 3', - $,#295,.U.)SHAPE_ASPECT_RELATIONSHIP($,$,*,*)STRATUM_FEATURE() - STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#12441=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-A piece 3','', - $,#223,#326,'base for Resist-A piece 3','',$,#12440,*); -#12442=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#12443),#225); -#12443=CSG_PRIMITIVE_SOLID_2D('',#12209); -#12444=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for Resist-A piece 4',$,#322,#4) - PRODUCT_DEFINITION_RELATIONSHIP('base for Resist-A piece 4','definition usage', - $,#326,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for Resist-A piece 4', - $,#295,.U.)SHAPE_ASPECT_RELATIONSHIP($,$,*,*)STRATUM_FEATURE() - STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#12445=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-A piece 4','', - $,#223,#326,'base for Resist-A piece 4','',$,#12444,*); -#12446=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#23,#12447),#225); -#12447=CSG_PRIMITIVE_SOLID_2D('',#12448); -#12448=(COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM((#12449,#12451,#12453, - #12455,#12457,#12459,#12461,#12463,#12465,#12467,#12469,#12471,#12473,#12475, - #12477,#12479,#12481,#12483,#12485,#12487,#12489,#12491,#12493,#12495,#12497, - #12499,#12501,#12503,#12505,#12507,#12509,#12511,#12513,#12515,#12517,#12519, - #12521,#12523,#12525,#12527,#12529,#12531,#12533,#12535,#12537,#12539,#12541, - #12543,#12545,#12547,#12549,#12551,#12553,#12555,#12557,#12559,#12561,#12563, - #12565,#12567,#12569,#12571,#12573,#12575,#12344,#12346,#12348,#12350,#12672, - #12352,#12354,#12356,#12676,#12387,#12680,#12418))) - GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()RECTANGULAR_AREA(#39,5080000.0,5080000.0) - REPRESENTATION_ITEM('')); -#12449=CIRCULAR_AREA('',#12450,24130.007699093436); -#12450=CARTESIAN_POINT('',(348499.9923009078,1745500.0076990922)); -#12451=CIRCULAR_AREA('',#12452,24130.007698741018); -#12452=CARTESIAN_POINT('',(448499.99230126024,1745500.0076987399)); -#12453=CIRCULAR_AREA('',#12454,24130.007699317364); -#12454=CARTESIAN_POINT('',(548499.9923006839,1745500.0076993161)); -#12455=CIRCULAR_AREA('',#12456,24130.00769962825); -#12456=CARTESIAN_POINT('',(648499.992300373,1745500.007699627)); -#12457=CIRCULAR_AREA('',#12458,24130.007702062205); -#12458=CARTESIAN_POINT('',(748499.992297939,1745500.007702061)); -#12459=CIRCULAR_AREA('',#12460,24130.00770051568); -#12460=CARTESIAN_POINT('',(848499.9922994856,1745500.0077005145)); -#12461=CIRCULAR_AREA('',#12462,24130.00770003052); -#12462=CARTESIAN_POINT('',(948499.9922999707,1745500.0077000293)); -#12463=CIRCULAR_AREA('',#12464,24130.007699014684); -#12464=CARTESIAN_POINT('',(1048499.9923009865,1745500.0076990135)); -#12465=CIRCULAR_AREA('',#12466,24130.007698649773); -#12466=CARTESIAN_POINT('',(348499.99230135145,1845500.0076986486)); -#12467=CIRCULAR_AREA('',#12468,24130.007697103203); -#12468=CARTESIAN_POINT('',(448499.992302898,1845500.007697102)); -#12469=CIRCULAR_AREA('',#12470,24130.007696618097); -#12470=CARTESIAN_POINT('',(548499.9923033832,1845500.007696617)); -#12471=CIRCULAR_AREA('',#12472,24130.00769878657); -#12472=CARTESIAN_POINT('',(648499.9923012146,1845500.0076987853)); -#12473=CIRCULAR_AREA('',#12474,24130.00769989368); -#12474=CARTESIAN_POINT('',(748499.9923001076,1845500.0076998924)); -#12475=CIRCULAR_AREA('',#12476,24130.00769675489); -#12476=CARTESIAN_POINT('',(848499.9923032464,1845500.0076967536)); -#12477=CIRCULAR_AREA('',#12478,24130.007696800523); -#12478=CARTESIAN_POINT('',(948499.9923032006,1845500.0076967992)); -#12479=CIRCULAR_AREA('',#12480,24130.007696846158); -#12480=CARTESIAN_POINT('',(1048499.9923031551,1845500.0076968449)); -#12481=CIRCULAR_AREA('',#12482,24130.007697277386); -#12482=CARTESIAN_POINT('',(348499.99230272387,1945500.007697276)); -#12483=CIRCULAR_AREA('',#12484,24130.00769838444); -#12484=CARTESIAN_POINT('',(448499.9923016168,1945500.0076983832)); -#12485=CIRCULAR_AREA('',#12486,24130.007697899306); -#12486=CARTESIAN_POINT('',(548499.9923021019,1945500.007697898)); -#12487=CIRCULAR_AREA('',#12488,24130.00769927167); -#12488=CARTESIAN_POINT('',(648499.9923007296,1945500.0076992705)); -#12489=CIRCULAR_AREA('',#12490,24130.007701440256); -#12490=CARTESIAN_POINT('',(748499.9922985609,1945500.007701439)); -#12491=CIRCULAR_AREA('',#12492,24130.00769989368); -#12492=CARTESIAN_POINT('',(848499.9923001076,1945500.0076998924)); -#12493=CIRCULAR_AREA('',#12494,24130.007696224206); -#12494=CARTESIAN_POINT('',(948499.992303777,1945500.007696223)); -#12495=CIRCULAR_AREA('',#12496,24130.007701046306); -#12496=CARTESIAN_POINT('',(1048499.9922989549,1945500.0077010451)); -#12497=CIRCULAR_AREA('',#12498,24130.007702008275); -#12498=CARTESIAN_POINT('',(348499.9922979929,2045500.007702007)); -#12499=CIRCULAR_AREA('',#12500,24130.007700461727); -#12500=CARTESIAN_POINT('',(448499.9922995395,2045500.0077004605)); -#12501=CIRCULAR_AREA('',#12502,24130.007697588364); -#12502=CARTESIAN_POINT('',(548499.9923024129,2045500.0076975871)); -#12503=CIRCULAR_AREA('',#12504,24130.00769816462); -#12504=CARTESIAN_POINT('',(648499.9923018366,2045500.0076981634)); -#12505=CIRCULAR_AREA('',#12506,24130.007697148892); -#12506=CARTESIAN_POINT('',(748499.9923028523,2045500.0076971476)); -#12507=CIRCULAR_AREA('',#12508,24130.007704093827); -#12508=CARTESIAN_POINT('',(848499.9922959075,2045500.0077040927)); -#12509=CIRCULAR_AREA('',#12510,24130.00769777073); -#12510=CARTESIAN_POINT('',(948499.9923022304,2045500.0076977694)); -#12511=CIRCULAR_AREA('',#12512,24130.00769144768); -#12512=CARTESIAN_POINT('',(1048499.9923085535,2045500.0076914465)); -#12513=CIRCULAR_AREA('',#12514,24129.9276797797); -#12514=CARTESIAN_POINT('',(548500.0723203287,2145499.9276796714)); -#12515=CIRCULAR_AREA('',#12516,24129.92768061934); -#12516=CARTESIAN_POINT('',(648500.0723194891,2145499.927680511)); -#12517=CIRCULAR_AREA('',#12518,24129.927684643288); -#12518=CARTESIAN_POINT('',(748500.0723154651,2145499.927684535)); -#12519=CIRCULAR_AREA('',#12520,24129.927683359987); -#12520=CARTESIAN_POINT('',(848500.0723167483,2145499.9276832514)); -#12521=CIRCULAR_AREA('',#12522,24129.927677830914); -#12522=CARTESIAN_POINT('',(948500.0723222775,2145499.9276777226)); -#12523=CIRCULAR_AREA('',#12524,24129.927678670556); -#12524=CARTESIAN_POINT('',(1048500.0723214378,2145499.9276785622)); -#12525=CIRCULAR_AREA('',#12526,24129.927677348023); -#12526=CARTESIAN_POINT('',(548500.0723227604,2245499.9276772398)); -#12527=CIRCULAR_AREA('',#12528,24129.927682433263); -#12528=CARTESIAN_POINT('',(648500.0723176751,2245499.927682325)); -#12529=CIRCULAR_AREA('',#12530,24129.927671597125); -#12530=CARTESIAN_POINT('',(748500.0723285113,2245499.927671489)); -#12531=CIRCULAR_AREA('',#12532,24129.927681459045); -#12532=CARTESIAN_POINT('',(848500.0723186494,2245499.9276813506)); -#12533=CIRCULAR_AREA('',#12534,24129.9276780528); -#12534=CARTESIAN_POINT('',(948500.0723220556,2245499.9276779443)); -#12535=CIRCULAR_AREA('',#12536,24129.927681015328); -#12536=CARTESIAN_POINT('',(1048500.072319093,2245499.927680907)); -#12537=CIRCULAR_AREA('',#12538,24129.927686061277); -#12538=CARTESIAN_POINT('',(548500.0723140471,2345499.9276859527)); -#12539=CIRCULAR_AREA('',#12540,24129.92767681729); -#12540=CARTESIAN_POINT('',(648500.0723232911,2345499.927676709)); -#12541=CIRCULAR_AREA('',#12542,24129.927685087); -#12542=CARTESIAN_POINT('',(748500.0723150213,2345499.9276849786)); -#12543=CIRCULAR_AREA('',#12544,24129.927677435044); -#12544=CARTESIAN_POINT('',(848500.0723226733,2345499.927677327)); -#12545=CIRCULAR_AREA('',#12546,24129.927682520516); -#12546=CARTESIAN_POINT('',(948500.0723175879,2345499.9276824123)); -#12547=CIRCULAR_AREA('',#12548,24129.927679114273); -#12548=CARTESIAN_POINT('',(1048500.0723209941,2345499.927679006)); -#12549=CIRCULAR_AREA('',#12550,24129.927670361438); -#12550=CARTESIAN_POINT('',(548500.072329747,2445499.927670253)); -#12551=CIRCULAR_AREA('',#12552,24129.927675977473); -#12552=CARTESIAN_POINT('',(648500.0723241309,2445499.9276758693)); -#12553=CIRCULAR_AREA('',#12554,24129.92768212453); -#12554=CARTESIAN_POINT('',(748500.0723179838,2445499.927682016)); -#12555=CIRCULAR_AREA('',#12556,24129.92767447258); -#12556=CARTESIAN_POINT('',(848500.0723256358,2445499.9276743643)); -#12557=CIRCULAR_AREA('',#12558,24129.927675312218); -#12558=CARTESIAN_POINT('',(948500.0723247961,2445499.927675204)); -#12559=CIRCULAR_AREA('',#12560,24129.92767615186); -#12560=CARTESIAN_POINT('',(1048500.0723239565,2445499.9276760435)); -#12561=CIRCULAR_AREA('',#12562,24129.927686591986); -#12562=CARTESIAN_POINT('',(348500.0723135164,2145499.9276864836)); -#12563=CIRCULAR_AREA('',#12564,24129.927679470882); -#12564=CARTESIAN_POINT('',(448500.0723206375,2145499.9276793627)); -#12565=CIRCULAR_AREA('',#12566,24129.92767779148); -#12566=CARTESIAN_POINT('',(348500.07232231693,2245499.927677683)); -#12567=CIRCULAR_AREA('',#12568,24129.927675446736); -#12568=CARTESIAN_POINT('',(448500.07232466165,2245499.9276753385)); -#12569=CIRCULAR_AREA('',#12570,24129.927679605633); -#12570=CARTESIAN_POINT('',(348500.0723205027,2345499.9276794973)); -#12571=CIRCULAR_AREA('',#12572,24129.92767991442); -#12572=CARTESIAN_POINT('',(448500.0723201939,2345499.927679806)); -#12573=CIRCULAR_AREA('',#12574,24129.927677704633); -#12574=CARTESIAN_POINT('',(348500.0723224038,2445499.9276775965)); -#12575=CIRCULAR_AREA('',#12576,24129.927678013424); -#12576=CARTESIAN_POINT('',(448500.07232209493,2445499.927677905)); -#12577=COMPOSITE_CURVE('',(#12584,#12590,#12595,#12601,#12607,#12613,#12619,#12624, - #12630,#12636,#12639,#12645,#12651,#12656,#12662,#12668,#12671),.F.); -#12578=CARTESIAN_POINT('',(495300.70796370925,-365760.0000109472)); -#12579=CARTESIAN_POINT('',(511464.65625,-359064.65625)); -#12580=CARTESIAN_POINT('',(495300.6926032903,-342900.72946575057)); -#12581=AXIS2_PLACEMENT_2D('',#12580,$); -#12582=CIRCLE('',#12581,22859.270545201784); -#12583=TRIMMED_CURVE('',#12582,(#12578),(#12579),.T.,.CARTESIAN.); -#12584=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12583); -#12585=CARTESIAN_POINT('',(518160.0,-342900.0)); -#12586=CARTESIAN_POINT('',(495300.7294707708,-342900.69260602)); -#12587=AXIS2_PLACEMENT_2D('',#12586,$); -#12588=CIRCLE('',#12587,22859.270539721692); -#12589=TRIMMED_CURVE('',#12588,(#12579),(#12585),.T.,.CARTESIAN.); -#12590=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12589); -#12591=POLYLINE('',(#12585,#12592,#12593,#12594)); -#12592=CARTESIAN_POINT('',(518160.0,-238760.0)); -#12593=CARTESIAN_POINT('',(558800.0,-238760.0)); -#12594=CARTESIAN_POINT('',(558800.6489674535,-238760.00000919873)); -#12595=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12591); -#12596=CARTESIAN_POINT('',(574964.625,-232064.65625)); -#12597=CARTESIAN_POINT('',(558800.6595371648,-215900.7250752638)); -#12598=AXIS2_PLACEMENT_2D('',#12597,$); -#12599=CIRCLE('',#12598,22859.274933937377); -#12600=TRIMMED_CURVE('',#12599,(#12594),(#12596),.T.,.CARTESIAN.); -#12601=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12600); -#12602=CARTESIAN_POINT('',(581660.0,-215900.0)); -#12603=CARTESIAN_POINT('',(558800.6994113706,-215900.6489069045)); -#12604=AXIS2_PLACEMENT_2D('',#12603,$); -#12605=CIRCLE('',#12604,22859.30059783969); -#12606=TRIMMED_CURVE('',#12605,(#12596),(#12602),.T.,.CARTESIAN.); -#12607=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12606); -#12608=CARTESIAN_POINT('',(574964.625,-199735.34375)); -#12609=CARTESIAN_POINT('',(558800.6994123916,-215899.35109267256)); -#12610=AXIS2_PLACEMENT_2D('',#12609,$); -#12611=CIRCLE('',#12610,22859.30059681863); -#12612=TRIMMED_CURVE('',#12611,(#12602),(#12608),.T.,.CARTESIAN.); -#12613=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12612); -#12614=CARTESIAN_POINT('',(558800.6489674535,-193039.99999080127)); -#12615=CARTESIAN_POINT('',(558800.6595378596,-215899.27492305878)); -#12616=AXIS2_PLACEMENT_2D('',#12615,$); -#12617=CIRCLE('',#12616,22859.274932259956); -#12618=TRIMMED_CURVE('',#12617,(#12608),(#12614),.T.,.CARTESIAN.); -#12619=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12618); -#12620=POLYLINE('',(#12614,#12621,#12622,#12623)); -#12621=CARTESIAN_POINT('',(558800.0,-193040.0)); -#12622=CARTESIAN_POINT('',(431800.0,-193040.0)); -#12623=CARTESIAN_POINT('',(431799.3510292019,-193039.99999080127)); -#12624=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12620); -#12625=CARTESIAN_POINT('',(415635.34375,-199735.34375)); -#12626=CARTESIAN_POINT('',(431799.3618194747,-215899.4019284146)); -#12627=AXIS2_PLACEMENT_2D('',#12626,$); -#12628=CIRCLE('',#12627,22859.401937615876); -#12629=TRIMMED_CURVE('',#12628,(#12623),(#12625),.T.,.CARTESIAN.); -#12630=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12629); -#12631=CARTESIAN_POINT('',(408940.0,-215900.0)); -#12632=CARTESIAN_POINT('',(431799.2705286727,-215899.3073937495)); -#12633=AXIS2_PLACEMENT_2D('',#12632,$); -#12634=CIRCLE('',#12633,22859.27053916525); -#12635=TRIMMED_CURVE('',#12634,(#12625),(#12631),.T.,.CARTESIAN.); -#12636=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12635); -#12637=POLYLINE('',(#12631,#12638)); -#12638=CARTESIAN_POINT('',(408940.0,-215901.0)); -#12639=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12637); -#12640=CARTESIAN_POINT('',(415635.6875,-232065.0)); -#12641=CARTESIAN_POINT('',(431799.4137294034,-215900.63330756826)); -#12642=AXIS2_PLACEMENT_2D('',#12641,$); -#12643=CIRCLE('',#12642,22859.413732344474); -#12644=TRIMMED_CURVE('',#12643,(#12638),(#12640),.T.,.CARTESIAN.); -#12645=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12644); -#12646=CARTESIAN_POINT('',(431799.35101138044,-238760.00000919926)); -#12647=CARTESIAN_POINT('',(431799.3606875653,-215900.60078463444)); -#12648=AXIS2_PLACEMENT_2D('',#12647,$); -#12649=CIRCLE('',#12648,22859.39922456685); -#12650=TRIMMED_CURVE('',#12649,(#12640),(#12646),.T.,.CARTESIAN.); -#12651=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12650); -#12652=POLYLINE('',(#12646,#12653,#12654,#12655)); -#12653=CARTESIAN_POINT('',(431800.0,-238760.0)); -#12654=CARTESIAN_POINT('',(472440.0,-238760.0)); -#12655=CARTESIAN_POINT('',(472440.0,-342900.0)); -#12656=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12652); -#12657=CARTESIAN_POINT('',(479135.34375,-359064.65625)); -#12658=CARTESIAN_POINT('',(495299.27052901464,-342900.69260610885)); -#12659=AXIS2_PLACEMENT_2D('',#12658,$); -#12660=CIRCLE('',#12659,22859.270539507193); -#12661=TRIMMED_CURVE('',#12660,(#12655),(#12657),.T.,.CARTESIAN.); -#12662=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12661); -#12663=CARTESIAN_POINT('',(495299.29203629075,-365760.0000109472)); -#12664=CARTESIAN_POINT('',(495299.3073961236,-342900.72946716566)); -#12665=AXIS2_PLACEMENT_2D('',#12664,$); -#12666=CIRCLE('',#12665,22859.270543786733); -#12667=TRIMMED_CURVE('',#12666,(#12657),(#12663),.T.,.CARTESIAN.); -#12668=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12667); -#12669=POLYLINE('',(#12663,#12670,#12578)); -#12670=CARTESIAN_POINT('',(495300.0,-365760.0)); -#12671=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12669); -#12672=AREA_WITH_OUTER_BOUNDARY('',#12577,.T.); -#12673=COMPOSITE_CURVE('',(#12365,#12371,#12377,#12383,#12675),.F.); -#12674=POLYLINE('',(#12378,#12359)); -#12675=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12674); -#12676=AREA_WITH_OUTER_BOUNDARY('',#12673,.T.); -#12677=COMPOSITE_CURVE('',(#12396,#12402,#12408,#12414,#12679),.F.); -#12678=POLYLINE('',(#12409,#12390)); -#12679=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#12678); -#12680=AREA_WITH_OUTER_BOUNDARY('',#12677,.T.); -#12681=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for Resist-A piece 5',$,#322,#4) - PRODUCT_DEFINITION_RELATIONSHIP('base for Resist-A piece 5','definition usage', - $,#326,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for Resist-A piece 5', - $,#295,.U.)SHAPE_ASPECT_RELATIONSHIP($,$,*,*)STRATUM_FEATURE() - STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#12682=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for Resist-A piece 5','', - $,#223,#326,'base for Resist-A piece 5','',$,#12681,*); -#12683=ORGANIZATION('13499','Rockwell Collins, Inc.',$); -#12684=PERSON('M.J.B 2006-11-16',$,$,$,$,$); -#12685=PERSON_AND_ORGANIZATION(#12684,#12683); -#12686=PERSON('R.E.M 2006-11-16',$,$,$,$,$); -#12687=PERSON_AND_ORGANIZATION(#12686,#12683); -#12688=APPLIED_PERSON_AND_ORGANIZATION_ASSIGNMENT(#12687,#12981,(#257,#259,#263, - #265,#271,#273,#277,#281,#285,#287,#293,#297,#303,#307,#311,#315,#295,#319, - #12,#6,#223,#27,#500,#2024,#512,#2034,#2667,#255,#261,#267,#269,#275,#279,#283, - #289,#291,#299,#301,#305,#309,#313,#317)); -#12689=CHARACTERIZED_CLASS('',$,'assembly',$); -#12690=APPLIED_CLASSIFICATION_ASSIGNMENT(#12689,#13287,(#7)); -#12691=CHARACTERIZED_CLASS('',$,'interconnect',$); -#12692=APPLIED_CLASSIFICATION_ASSIGNMENT(#12691,#13287,(#28)); -#12693=PRODUCT_DEFINITION('PDES-281,-','schematic',#12694,#12696); -#12694=PRODUCT_DEFINITION_FORMATION('-',$,#12695); -#12695=PRODUCT('pid25','schematic',$,(#14987)); -#12696=PRODUCT_DEFINITION_CONTEXT('generic document definition',#5,''); -#12697=PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,(#12695,#12823,#12826,#12841)); -#12698=APPLIED_DOCUMENT_REFERENCE(#14989,'',(#12)); -#12699=CONTRACT('--------------------','Default contract purpose',#12700); -#12700=CONTRACT_TYPE('Default contract type'); -#12701=APPLIED_CONTRACT_ASSIGNMENT(#12699,(#8)); -#12702=REPRESENTATION('nominal tolerance',(#12703),#85); -#12703=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0874),#504)REPRESENTATION_ITEM('')); -#12704=REPRESENTATION('nominal tolerance',(#12705),#85); -#12705=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0914),#504)REPRESENTATION_ITEM('')); -#12706=CHARACTERIZED_CLASS('',$,'board type','RIGID'); -#12707=APPLIED_CLASSIFICATION_ASSIGNMENT(#12706,#13287,(#28)); -#12708=STRATUM_TECHNOLOGY('soldermask layer technology 1','documentation layer', - '',$,*); -#12709=REPRESENTATION('nominal tolerance',(#12710),#85); -#12710=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0024),#504)REPRESENTATION_ITEM('')); -#12711=STRATUM_TECHNOLOGY('default design layer technology 1','design layer','', - $,*); -#12712=REPRESENTATION('symmetrical tolerance',(#12713,#12714),#85); -#12713=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(5.0E-4),#504)REPRESENTATION_ITEM('')); -#12714=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12715=DIMENSIONAL_EXPONENTS(0.0,0.0,0.0,0.0,0.0,0.0,0.0); -#12716=RATIO_UNIT(#12715); -#12717=STRATUM_TECHNOLOGY('dielectric 2',$,'',$,*); -#12718=REPRESENTATION('nominal tolerance',(#12719),#85); -#12719=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12720=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('PREPREG',(#12717,#12732, - #12746,#12760,#12774,#12788,#12802,#107)); -#12721=STRATUM_TECHNOLOGY('default design layer technology 2','design layer','', - $,*); -#12722=REPRESENTATION('symmetrical tolerance',(#12723,#12724),#85); -#12723=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(5.0E-4),#504)REPRESENTATION_ITEM('')); -#12724=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12725=STRATUM_TECHNOLOGY('dielectric 3',$,'',$,*); -#12726=REPRESENTATION('nominal tolerance',(#12727),#85); -#12727=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12728=STRATUM_TECHNOLOGY('default design layer technology 3','design layer','', - $,*); -#12729=REPRESENTATION('symmetrical tolerance',(#12730,#12731),#85); -#12730=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12731=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12732=STRATUM_TECHNOLOGY('dielectric 4',$,'',$,*); -#12733=REPRESENTATION('nominal tolerance',(#12734),#85); -#12734=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12735=STRATUM_TECHNOLOGY('default design layer technology 4','design layer','', - $,*); -#12736=REPRESENTATION('symmetrical tolerance',(#12737,#12738),#85); -#12737=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12738=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12739=STRATUM_TECHNOLOGY('dielectric 5',$,'',$,*); -#12740=REPRESENTATION('nominal tolerance',(#12741),#85); -#12741=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12742=STRATUM_TECHNOLOGY('default design layer technology 5','design layer','', - $,*); -#12743=REPRESENTATION('symmetrical tolerance',(#12744,#12745),#85); -#12744=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12745=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12746=STRATUM_TECHNOLOGY('dielectric 6',$,'',$,*); -#12747=REPRESENTATION('nominal tolerance',(#12748),#85); -#12748=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12749=STRATUM_TECHNOLOGY('default design layer technology 6','design layer','', - $,*); -#12750=REPRESENTATION('symmetrical tolerance',(#12751,#12752),#85); -#12751=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12752=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12753=STRATUM_TECHNOLOGY('dielectric 7',$,'',$,*); -#12754=REPRESENTATION('nominal tolerance',(#12755),#85); -#12755=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12756=STRATUM_TECHNOLOGY('default design layer technology 7','design layer','', - $,*); -#12757=REPRESENTATION('symmetrical tolerance',(#12758,#12759),#85); -#12758=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12759=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12760=STRATUM_TECHNOLOGY('dielectric 8',$,'',$,*); -#12761=REPRESENTATION('nominal tolerance',(#12762),#85); -#12762=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12763=STRATUM_TECHNOLOGY('default design layer technology 8','design layer','', - $,*); -#12764=REPRESENTATION('symmetrical tolerance',(#12765,#12766),#85); -#12765=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12766=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12767=STRATUM_TECHNOLOGY('dielectric 9',$,'',$,*); -#12768=REPRESENTATION('nominal tolerance',(#12769),#85); -#12769=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12770=STRATUM_TECHNOLOGY('default design layer technology 9','design layer','', - $,*); -#12771=REPRESENTATION('symmetrical tolerance',(#12772,#12773),#85); -#12772=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12773=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12774=STRATUM_TECHNOLOGY('dielectric 10',$,'',$,*); -#12775=REPRESENTATION('nominal tolerance',(#12776),#85); -#12776=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12777=STRATUM_TECHNOLOGY('default design layer technology 10','design layer','', - $,*); -#12778=REPRESENTATION('symmetrical tolerance',(#12779,#12780),#85); -#12779=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12780=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12781=STRATUM_TECHNOLOGY('dielectric 11',$,'',$,*); -#12782=REPRESENTATION('nominal tolerance',(#12783),#85); -#12783=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12784=STRATUM_TECHNOLOGY('default design layer technology 11','design layer','', - $,*); -#12785=REPRESENTATION('symmetrical tolerance',(#12786,#12787),#85); -#12786=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12787=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12788=STRATUM_TECHNOLOGY('dielectric 12',$,'',$,*); -#12789=REPRESENTATION('nominal tolerance',(#12790),#85); -#12790=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12791=STRATUM_TECHNOLOGY('default design layer technology 12','design layer','', - $,*); -#12792=REPRESENTATION('symmetrical tolerance',(#12793,#12794),#85); -#12793=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12794=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12795=STRATUM_TECHNOLOGY('dielectric 13',$,'',$,*); -#12796=REPRESENTATION('nominal tolerance',(#12797),#85); -#12797=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12798=STRATUM_TECHNOLOGY('default design layer technology 13','design layer','', - $,*); -#12799=REPRESENTATION('symmetrical tolerance',(#12800,#12801),#85); -#12800=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12801=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12802=STRATUM_TECHNOLOGY('dielectric 14',$,'',$,*); -#12803=REPRESENTATION('nominal tolerance',(#12804),#85); -#12804=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12805=STRATUM_TECHNOLOGY('default design layer technology 14','design layer','', - $,*); -#12806=REPRESENTATION('symmetrical tolerance',(#12807,#12808),#85); -#12807=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(7.0E-4),#504)REPRESENTATION_ITEM('')); -#12808=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12809=STRATUM_TECHNOLOGY('dielectric 15',$,'',$,*); -#12810=REPRESENTATION('nominal tolerance',(#12811),#85); -#12811=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12812=STRATUM_TECHNOLOGY('default design layer technology 15','design layer','', - $,*); -#12813=REPRESENTATION('symmetrical tolerance',(#12814,#12815),#85); -#12814=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(5.0E-4),#504)REPRESENTATION_ITEM('')); -#12815=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12816=REPRESENTATION('nominal tolerance',(#12817),#85); -#12817=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0050),#504)REPRESENTATION_ITEM('')); -#12818=REPRESENTATION('symmetrical tolerance',(#12819,#12820),#85); -#12819=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(5.0E-4),#504)REPRESENTATION_ITEM('')); -#12820=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(RATIO_MEASURE(0.1),#12716) - RATIO_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('')); -#12821=REPRESENTATION('nominal tolerance',(#12822),#85); -#12822=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0024),#504)REPRESENTATION_ITEM('')); -#12823=PRODUCT('C:\\Program Files\\LKSoft\\input_files\\PDES-181-\\dti_data\\pwb_notes.txt', - 'pwb',$,(#14987)); -#12824=PRODUCT_DEFINITION_FORMATION('1',$,#12823); -#12825=PRODUCT_DEFINITION('',$,#12824,#12696); -#12826=PRODUCT('pid27','document',$,(#14987)); -#12827=PRODUCT_DEFINITION_FORMATION('1',$,#12826); -#12828=SPECIFICATION_DEFINITION('1',$,#12827,#12696); -#12829=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1',$,#12834,#4); -#12830=APPLIED_DOCUMENT_REFERENCE(#19318,'',(#12829)); -#12831=DESCRIPTIVE_REPRESENTATION_ITEM('','3.A'); -#12832=PARTIAL_DOCUMENT_WITH_STRUCTURED_TEXT_REPRESENTATION_ASSIGNMENT(#17758,#17759, - (#12829),$,$); -#12833=PRODUCT('pid28','requirement',$,(#19100)); -#12834=PRODUCT_DEFINITION_FORMATION('1',$,#12833); -#12835=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#12836=APPLICATION_CONTEXT('electronic_assembly_interconnect_and_packaging_design'); -#12837=CALENDAR_DATE(2000,1,1); -#12838=CHARACTERIZED_CLASS('',$,'IC',$); -#12839=DATE_ROLE('creation'); -#12840=DOCUMENT_FILE('',$,$,#14964,'',$); -#12841=PRODUCT('Specification for part1','CPN','component information system specification', - (#14987)); -#12842=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.CENTI.,.METRE.)); -#12843=MODEL_PARAMETER('PID1','mounting classification',$); -#12844=MODEL_PARAMETER('PID2','component maximum processing temperature',$); -#12845=MODEL_PARAMETER('PID3','component maximum processing temperature maximum dwell time', - $); -#12846=MODEL_PARAMETER('PID4','acetone sensitive',$); -#12847=MODEL_PARAMETER('PID5','qualified thermal cycles',$); -#12848=MODEL_PARAMETER('PID6','material',$); -#12849=MODEL_PARAMETER('PID7','package body material',$); -#12850=MODEL_PARAMETER('PID8','lead form',$); -#12851=MODEL_PARAMETER('PID9','lead count',$); -#12852=MODEL_PARAMETER('PID13','lead diameter',$); -#12853=MODEL_PARAMETER('PID14','lead span',$); -#12854=MODEL_PARAMETER('PID15','body diameter',$); -#12855=MODEL_PARAMETER('PID16','nominal ball diameter',$); -#12856=MODEL_PARAMETER('PID20','polarized',$); -#12857=MODEL_PARAMETER('PID21','part layout area',$); -#12858=MODEL_PARAMETER('PID22','conformal coat sensitive',$); -#12859=MODEL_PARAMETER('PID23','ESD sensitive',$); -#12860=MODEL_PARAMETER('PID25','comp type',$); -#12861=MODEL_PARAMETER('PID26','maximum installed height',$); -#12862=MODEL_PARAMETER('PID27','minimum body distance from seating plane',$); -#12863=ORGANIZATION('eBusiness','Rockwell Collins',$); -#12865=REPRESENTATION_CONTEXT('parameter values','parameter'); -#12866=(NAMED_UNIT(*)SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT()); -#12867=(NAMED_UNIT(*)SI_UNIT($,.SECOND.)TIME_UNIT()); -#12868=DESCRIPTIVE_REPRESENTATION_ITEM('text','SMD'); -#12869=DESCRIPTIVE_REPRESENTATION_ITEM('text','PLASTIC'); -#12870=DESCRIPTIVE_REPRESENTATION_ITEM('text','BALL'); -#12871=DESCRIPTIVE_REPRESENTATION_ITEM('text','Memory, Programmable ROM'); -#12872=PRODUCT_DEFINITION_CONTEXT('generic document definition',#12836,'desing'); -#12873=APPLIED_CLASSIFICATION_ASSIGNMENT(#12838,#13287,(#501)); -#12874=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12838)); -#12875=DOCUMENT_REPRESENTATION_TYPE('digital',#12840); -#12876=CONTEXT_DEPENDENT_UNIT(#12715,'count'); -#12877=PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,(#12841)); -#12878=PRODUCT_DEFINITION_FORMATION('-',$,#12841); -#12879=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12846)); -#12880=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12857)); -#12881=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12849)); -#12882=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12845)); -#12883=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12852)); -#12884=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12851)); -#12885=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12856)); -#12886=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12843)); -#12887=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12848)); -#12888=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12844)); -#12889=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12861)); -#12890=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12860)); -#12891=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12862)); -#12892=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12855)); -#12893=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12847)); -#12894=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12853)); -#12895=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12859)); -#12896=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12850)); -#12897=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12858)); -#12898=APPLIED_DOCUMENT_REFERENCE(#14993,'',(#12854)); -#12899=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.54),#12842); -#12900=APPLIED_ORGANIZATION_ASSIGNMENT(#12863,#12979,(#501)); -#12901=PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#501)); -#12902=REPRESENTATION('',(#12868),#12865); -#12903=REPRESENTATION('',(),#12865); -#12904=REPRESENTATION('',(#12869),#12865); -#12905=REPRESENTATION('',(#12870),#12865); -#12906=REPRESENTATION('',(#12871),#12865); -#12907=(CELSIUS_TEMPERATURE_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(CELSIUS_TEMPERATURE_MEASURE(260.0),#12866) - REPRESENTATION_ITEM('')); -#12908=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(TIME_MEASURE(0.0),#12867) - REPRESENTATION_ITEM('')TIME_MEASURE_WITH_UNIT()); -#12909=PRODUCT_DEFINITION('CPN Specification for 351-6742-060,-',$,#12878,#12872); -#12910=MEASURE_REPRESENTATION_ITEM('',COUNT_MEASURE(0.0),#12876); -#12911=MEASURE_REPRESENTATION_ITEM('',COUNT_MEASURE(64.0),#12876); -#12912=(CONVERSION_BASED_UNIT('inch',#12899)LENGTH_UNIT()NAMED_UNIT(*)); -#12913=PARAMETER_ASSIGNMENT(#12843,#12902,'',$,#12865); -#12914=PARAMETER_ASSIGNMENT(#12859,#12903,'',$,#12865); -#12915=PARAMETER_ASSIGNMENT(#12858,#12903,'',$,#12865); -#12916=PARAMETER_ASSIGNMENT(#12856,#12903,'',$,#12865); -#12917=PARAMETER_ASSIGNMENT(#12846,#12903,'',$,#12865); -#12918=PARAMETER_ASSIGNMENT(#12849,#12904,'',$,#12865); -#12919=PARAMETER_ASSIGNMENT(#12848,#12904,'',$,#12865); -#12920=PARAMETER_ASSIGNMENT(#12850,#12905,'',$,#12865); -#12921=PARAMETER_ASSIGNMENT(#12860,#12906,'',$,#12865); -#12922=REPRESENTATION('',(#12907),#12865); -#12923=REPRESENTATION('',(#12908),#12865); -#12924=APPLIED_ORGANIZATION_ASSIGNMENT(#12863,#12980,(#12909)); -#12925=APPLIED_DATE_ASSIGNMENT(#12837,#12978,(#12909)); -#12926=REPRESENTATION('',(#12910),#12865); -#12927=REPRESENTATION('',(#12911),#12865); -#12928=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0),#12912)REPRESENTATION_ITEM('')); -#12929=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0236),#12912)REPRESENTATION_ITEM('')); -#12930=DERIVED_UNIT_ELEMENT(#12912,2.0); -#12931=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.055),#12912)REPRESENTATION_ITEM('')); -#12932=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(0.016),#12912)REPRESENTATION_ITEM('')); -#12933=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12934=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12935=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12936=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12937=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12938=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12939=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12940=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12941=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12942=PARAMETER_ASSIGNMENT(#12844,#12922,'',$,#12865); -#12943=PARAMETER_ASSIGNMENT(#12845,#12923,'',$,#12865); -#12944=PARAMETER_ASSIGNMENT(#12847,#12926,'',$,#12865); -#12945=PARAMETER_ASSIGNMENT(#12851,#12927,'',$,#12865); -#12946=REPRESENTATION('',(#12928),#12865); -#12947=REPRESENTATION('',(#12929),#12865); -#12948=DERIVED_UNIT((#12930)); -#12949=REPRESENTATION('',(#12931),#12865); -#12950=REPRESENTATION('',(#12932),#12865); -#12951=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12952=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12953=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12954=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12955=PARAMETER_ASSIGNMENT(#12852,#12946,'',$,#12865); -#12956=PARAMETER_ASSIGNMENT(#12853,#12946,'',$,#12865); -#12957=PARAMETER_ASSIGNMENT(#12854,#12946,'',$,#12865); -#12958=PARAMETER_ASSIGNMENT(#12855,#12947,'',$,#12865); -#12959=(AREA_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(AREA_MEASURE( - 0.0),#12948)REPRESENTATION_ITEM('')); -#12960=PARAMETER_ASSIGNMENT(#12861,#12949,'',$,#12865); -#12961=PARAMETER_ASSIGNMENT(#12862,#12950,'',$,#12865); -#12962=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12963=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12964=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12965=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12966=REPRESENTATION('',(#12959),#12865); -#12967=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12968=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12969=PARAMETER_ASSIGNMENT(#12857,#12966,'',$,#12865); -#12970=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'',$,(#501)); -#12971=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(-6.938893903907228E-18),#12912) - REPRESENTATION_ITEM('')); -#12972=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(-6.938893903907228E-18),#12912) - REPRESENTATION_ITEM('')); -#12973=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM() - MEASURE_WITH_UNIT(LENGTH_MEASURE(100000.0),#17)REPRESENTATION_ITEM('')); -#12974=REPRESENTATION('nominal tolerance',(#12973),#85); -#12975=MODEL_PARAMETER('lp','lead pitch',$); -#12976=PARAMETER_ASSIGNMENT(#12975,#12974,$,$,$); -#12977=PRODUCT_SPECIFIC_PARAMETER_VALUE_ASSIGNMENT($,$,'lead pitch characteristic', - $,(#501)); -#12978=DATE_ROLE('creation'); -#12979=ORGANIZATION_ROLE('id owner'); -#12980=ORGANIZATION_ROLE('publisher'); -#12981=PERSON_AND_ORGANIZATION_ROLE('creator'); -#12986=ID_ATTRIBUTE('ac2dsm',#3985); -#12987=SHAPE_DEFINITION_REPRESENTATION(#3992,#3985); -#12988=ID_ATTRIBUTE('ac2dsm',#3994); -#12989=SHAPE_DEFINITION_REPRESENTATION(#3997,#3994); -#12990=ID_ATTRIBUTE('ac2dsm',#3999); -#12991=SHAPE_DEFINITION_REPRESENTATION(#4004,#3999); -#12992=ID_ATTRIBUTE('ac2dsm',#4006); -#12993=SHAPE_DEFINITION_REPRESENTATION(#4009,#4006); -#12994=ID_ATTRIBUTE('ac2dsm',#4011); -#12995=SHAPE_DEFINITION_REPRESENTATION(#4018,#4011); -#12996=ID_ATTRIBUTE('ac2dsm',#4020); -#12997=SHAPE_DEFINITION_REPRESENTATION(#4025,#4020); -#12998=ID_ATTRIBUTE('ac2dsm',#4027); -#12999=SHAPE_DEFINITION_REPRESENTATION(#4030,#4027); -#13000=ID_ATTRIBUTE('ac2dsm',#4032); -#13001=SHAPE_DEFINITION_REPRESENTATION(#4035,#4032); -#13002=ID_ATTRIBUTE('ac2dsm',#4037); -#13003=SHAPE_DEFINITION_REPRESENTATION(#4071,#4037); -#13004=ID_ATTRIBUTE('ac2dsm',#4075); -#13005=SHAPE_DEFINITION_REPRESENTATION(#4081,#4075); -#13006=ID_ATTRIBUTE('ac2dsm',#4083); -#13007=SHAPE_DEFINITION_REPRESENTATION(#4089,#4083); -#13008=ID_ATTRIBUTE('ac2dsm',#4091); -#13009=SHAPE_DEFINITION_REPRESENTATION(#4097,#4091); -#13010=ID_ATTRIBUTE('ac2dsm',#4099); -#13011=SHAPE_DEFINITION_REPRESENTATION(#4104,#4099); -#13012=ID_ATTRIBUTE('ac2dsm',#4106); -#13013=SHAPE_DEFINITION_REPRESENTATION(#4712,#4106); -#13014=ID_ATTRIBUTE('ac2dsm',#4714); -#13015=SHAPE_DEFINITION_REPRESENTATION(#4748,#4714); -#13016=ID_ATTRIBUTE('ac2dsm',#4752); -#13017=SHAPE_DEFINITION_REPRESENTATION(#4758,#4752); -#13018=ID_ATTRIBUTE('ac2dsm',#4760); -#13019=SHAPE_DEFINITION_REPRESENTATION(#4766,#4760); -#13020=ID_ATTRIBUTE('ac2dsm',#4768); -#13021=SHAPE_DEFINITION_REPRESENTATION(#4774,#4768); -#13022=ID_ATTRIBUTE('ac2dsm',#4776); -#13023=SHAPE_DEFINITION_REPRESENTATION(#4782,#4776); -#13024=ID_ATTRIBUTE('ac2dsm',#4784); -#13025=SHAPE_DEFINITION_REPRESENTATION(#4792,#4784); -#13026=ID_ATTRIBUTE('ac2dsm',#4794); -#13027=SHAPE_DEFINITION_REPRESENTATION(#4800,#4794); -#13028=ID_ATTRIBUTE('ac2dsm',#4802); -#13029=SHAPE_DEFINITION_REPRESENTATION(#4807,#4802); -#13030=ID_ATTRIBUTE('ac2dsm',#4809); -#13031=SHAPE_DEFINITION_REPRESENTATION(#4815,#4809); -#13032=ID_ATTRIBUTE('ac2dsm',#4817); -#13033=SHAPE_DEFINITION_REPRESENTATION(#5186,#4817); -#13034=ID_ATTRIBUTE('ac2dsm',#5188); -#13035=SHAPE_DEFINITION_REPRESENTATION(#5193,#5188); -#13036=ID_ATTRIBUTE('ac2dsm',#5195); -#13037=SHAPE_DEFINITION_REPRESENTATION(#5199,#5195); -#13038=ID_ATTRIBUTE('ac2dsm',#5201); -#13039=SHAPE_DEFINITION_REPRESENTATION(#5207,#5201); -#13040=ID_ATTRIBUTE('ac2dsm',#5209); -#13041=SHAPE_DEFINITION_REPRESENTATION(#5213,#5209); -#13042=ID_ATTRIBUTE('ac2dsm',#5215); -#13043=SHAPE_DEFINITION_REPRESENTATION(#5221,#5215); -#13044=ID_ATTRIBUTE('ac2dsm',#5223); -#13045=SHAPE_DEFINITION_REPRESENTATION(#5226,#5223); -#13046=ID_ATTRIBUTE('ac2dsm',#5228); -#13047=SHAPE_DEFINITION_REPRESENTATION(#5342,#5228); -#13048=ID_ATTRIBUTE('ac2dsm',#5344); -#13049=SHAPE_DEFINITION_REPRESENTATION(#5348,#5344); -#13050=ID_ATTRIBUTE('ac2dsm',#5350); -#13051=SHAPE_DEFINITION_REPRESENTATION(#5356,#5350); -#13052=ID_ATTRIBUTE('ac2dsm',#5358); -#13053=SHAPE_DEFINITION_REPRESENTATION(#5361,#5358); -#13054=ID_ATTRIBUTE('ac2dsm',#5363); -#13055=SHAPE_DEFINITION_REPRESENTATION(#5397,#5363); -#13056=ID_ATTRIBUTE('ac2dsm',#5399); -#13057=SHAPE_DEFINITION_REPRESENTATION(#5405,#5399); -#13058=ID_ATTRIBUTE('ac2dsm',#5407); -#13059=SHAPE_DEFINITION_REPRESENTATION(#5413,#5407); -#13060=ID_ATTRIBUTE('ac2dsm',#5415); -#13061=SHAPE_DEFINITION_REPRESENTATION(#5419,#5415); -#13062=ID_ATTRIBUTE('ac2dsm',#5421); -#13063=SHAPE_DEFINITION_REPRESENTATION(#5427,#5421); -#13064=ID_ATTRIBUTE('ac2dsm',#5429); -#13065=SHAPE_DEFINITION_REPRESENTATION(#5449,#5429); -#13066=ID_ATTRIBUTE('ac2dsm',#5451); -#13067=SHAPE_DEFINITION_REPRESENTATION(#5704,#5451); -#13068=ID_ATTRIBUTE('ac2dsm',#5706); -#13069=SHAPE_DEFINITION_REPRESENTATION(#5712,#5706); -#13070=ID_ATTRIBUTE('ac2dsm',#5714); -#13071=SHAPE_DEFINITION_REPRESENTATION(#5720,#5714); -#13072=ID_ATTRIBUTE('ac2dsm',#5722); -#13073=SHAPE_DEFINITION_REPRESENTATION(#5728,#5722); -#13074=ID_ATTRIBUTE('ac2dsm',#5730); -#13075=SHAPE_DEFINITION_REPRESENTATION(#5734,#5730); -#13076=ID_ATTRIBUTE('ac2dsm',#5736); -#13077=SHAPE_DEFINITION_REPRESENTATION(#5740,#5736); -#13078=ID_ATTRIBUTE('ac2dsm',#5742); -#13079=SHAPE_DEFINITION_REPRESENTATION(#5747,#5742); -#13080=ID_ATTRIBUTE('ac2dsm',#5749); -#13081=SHAPE_DEFINITION_REPRESENTATION(#5755,#5749); -#13082=ID_ATTRIBUTE('ac2dsm',#5757); -#13083=SHAPE_DEFINITION_REPRESENTATION(#5763,#5757); -#13084=ID_ATTRIBUTE('ac2dsm',#5765); -#13085=SHAPE_DEFINITION_REPRESENTATION(#5770,#5765); -#13086=ID_ATTRIBUTE('ac2dsm',#5772); -#13087=SHAPE_DEFINITION_REPRESENTATION(#5777,#5772); -#13088=ID_ATTRIBUTE('ac2dsm',#5779); -#13089=SHAPE_DEFINITION_REPRESENTATION(#5783,#5779); -#13090=ID_ATTRIBUTE('ac2dsm',#5785); -#13091=SHAPE_DEFINITION_REPRESENTATION(#5791,#5785); -#13092=ID_ATTRIBUTE('ac2dsm',#5793); -#13093=SHAPE_DEFINITION_REPRESENTATION(#5797,#5793); -#13094=ID_ATTRIBUTE('ac2dsm',#5799); -#13095=SHAPE_DEFINITION_REPRESENTATION(#5803,#5799); -#13096=ID_ATTRIBUTE('ac2dsm',#5805); -#13097=SHAPE_DEFINITION_REPRESENTATION(#5811,#5805); -#13098=ID_ATTRIBUTE('ac2dsm',#5813); -#13099=SHAPE_DEFINITION_REPRESENTATION(#5817,#5813); -#13100=ID_ATTRIBUTE('ac2dsm',#5819); -#13101=SHAPE_DEFINITION_REPRESENTATION(#5827,#5819); -#13102=ID_ATTRIBUTE('ac2dsm',#5829); -#13103=SHAPE_DEFINITION_REPRESENTATION(#5835,#5829); -#13104=ID_ATTRIBUTE('ac2dsm',#5837); -#13105=SHAPE_DEFINITION_REPRESENTATION(#5842,#5837); -#13106=ID_ATTRIBUTE('ac2dsm',#5844); -#13107=SHAPE_DEFINITION_REPRESENTATION(#5848,#5844); -#13108=ID_ATTRIBUTE('ac2dsm',#5850); -#13109=SHAPE_DEFINITION_REPRESENTATION(#5855,#5850); -#13110=ID_ATTRIBUTE('ac2dsm',#5857); -#13111=SHAPE_DEFINITION_REPRESENTATION(#5862,#5857); -#13112=ID_ATTRIBUTE('ac2dsm',#5864); -#13113=SHAPE_DEFINITION_REPRESENTATION(#5869,#5864); -#13114=ID_ATTRIBUTE('ac2dsm',#5871); -#13115=SHAPE_DEFINITION_REPRESENTATION(#5874,#5871); -#13116=ID_ATTRIBUTE('ac2dsm',#5876); -#13117=SHAPE_DEFINITION_REPRESENTATION(#5913,#5876); -#13118=ID_ATTRIBUTE('ac2dsm',#5915); -#13119=SHAPE_DEFINITION_REPRESENTATION(#5921,#5915); -#13120=ID_ATTRIBUTE('ac2dsm',#5923); -#13121=SHAPE_DEFINITION_REPRESENTATION(#5926,#5923); -#13122=ID_ATTRIBUTE('ac2dsm',#5928); -#13123=SHAPE_DEFINITION_REPRESENTATION(#5932,#5928); -#13124=ID_ATTRIBUTE('ac2dsm',#5934); -#13125=SHAPE_DEFINITION_REPRESENTATION(#5968,#5934); -#13126=ID_ATTRIBUTE('ac2dsm',#5970); -#13127=SHAPE_DEFINITION_REPRESENTATION(#5974,#5970); -#13128=ID_ATTRIBUTE('ac2dsm',#5976); -#13129=SHAPE_DEFINITION_REPRESENTATION(#5979,#5976); -#13130=ID_ATTRIBUTE('ac2dsm',#5981); -#13131=SHAPE_DEFINITION_REPRESENTATION(#5985,#5981); -#13132=ID_ATTRIBUTE('ac2dsm',#5987); -#13133=SHAPE_DEFINITION_REPRESENTATION(#6931,#5987); -#13134=ID_ATTRIBUTE('ac2dsm',#6933); -#13135=SHAPE_DEFINITION_REPRESENTATION(#6938,#6933); -#13136=ID_ATTRIBUTE('ac2dsm',#6940); -#13137=SHAPE_DEFINITION_REPRESENTATION(#6944,#6940); -#13138=ID_ATTRIBUTE('ac2dsm',#6946); -#13139=SHAPE_DEFINITION_REPRESENTATION(#6950,#6946); -#13140=ID_ATTRIBUTE('ac2dsm',#6952); -#13141=SHAPE_DEFINITION_REPRESENTATION(#6958,#6952); -#13142=ID_ATTRIBUTE('ac2dsm',#6960); -#13143=SHAPE_DEFINITION_REPRESENTATION(#6964,#6960); -#13144=ID_ATTRIBUTE('ac2dsm',#6966); -#13145=SHAPE_DEFINITION_REPRESENTATION(#6972,#6966); -#13146=ID_ATTRIBUTE('ac2dsm',#6974); -#13147=SHAPE_DEFINITION_REPRESENTATION(#6980,#6974); -#13148=ID_ATTRIBUTE('ac2dsm',#6982); -#13149=SHAPE_DEFINITION_REPRESENTATION(#6988,#6982); -#13150=ID_ATTRIBUTE('ac2dsm',#6990); -#13151=SHAPE_DEFINITION_REPRESENTATION(#6998,#6990); -#13152=ID_ATTRIBUTE('ac2dsm',#7000); -#13153=SHAPE_DEFINITION_REPRESENTATION(#7006,#7000); -#13154=ID_ATTRIBUTE('ac2dsm',#7008); -#13155=SHAPE_DEFINITION_REPRESENTATION(#7014,#7008); -#13156=ID_ATTRIBUTE('ac2dsm',#7016); -#13157=SHAPE_DEFINITION_REPRESENTATION(#7022,#7016); -#13158=ID_ATTRIBUTE('ac2dsm',#7024); -#13159=SHAPE_DEFINITION_REPRESENTATION(#7028,#7024); -#13160=ID_ATTRIBUTE('ac2dsm',#7030); -#13161=SHAPE_DEFINITION_REPRESENTATION(#7036,#7030); -#13162=ID_ATTRIBUTE('ac2dsm',#7038); -#13163=SHAPE_DEFINITION_REPRESENTATION(#7042,#7038); -#13164=ID_ATTRIBUTE('ac2dsm',#7044); -#13165=SHAPE_DEFINITION_REPRESENTATION(#7049,#7044); -#13166=ID_ATTRIBUTE('ac2dsm',#7051); -#13167=SHAPE_DEFINITION_REPRESENTATION(#7055,#7051); -#13168=ID_ATTRIBUTE('ac2dsm',#7057); -#13169=SHAPE_DEFINITION_REPRESENTATION(#7061,#7057); -#13170=ID_ATTRIBUTE('ac2dsm',#7063); -#13171=SHAPE_DEFINITION_REPRESENTATION(#7067,#7063); -#13172=ID_ATTRIBUTE('ac2dsm',#7069); -#13173=SHAPE_DEFINITION_REPRESENTATION(#7074,#7069); -#13174=ID_ATTRIBUTE('ac2dsm',#7076); -#13175=SHAPE_DEFINITION_REPRESENTATION(#7080,#7076); -#13176=ID_ATTRIBUTE('ac2dsm',#7082); -#13177=SHAPE_DEFINITION_REPRESENTATION(#7086,#7082); -#13178=ID_ATTRIBUTE('ac2dsm',#7088); -#13179=SHAPE_DEFINITION_REPRESENTATION(#7117,#7088); -#13180=ID_ATTRIBUTE('ac2dsm',#7119); -#13181=SHAPE_DEFINITION_REPRESENTATION(#7123,#7119); -#13182=ID_ATTRIBUTE('ac2dsm',#7125); -#13183=SHAPE_DEFINITION_REPRESENTATION(#7128,#7125); -#13184=ID_ATTRIBUTE('ac2dsm',#7130); -#13185=SHAPE_DEFINITION_REPRESENTATION(#7133,#7130); -#13186=ID_ATTRIBUTE('ac2dsm',#7135); -#13187=SHAPE_DEFINITION_REPRESENTATION(#7139,#7135); -#13188=ID_ATTRIBUTE('ac2dsm',#7141); -#13189=SHAPE_DEFINITION_REPRESENTATION(#7146,#7141); -#13190=ID_ATTRIBUTE('ac2dsm',#7148); -#13191=SHAPE_DEFINITION_REPRESENTATION(#7152,#7148); -#13192=ID_ATTRIBUTE('ac2dsm',#7154); -#13193=SHAPE_DEFINITION_REPRESENTATION(#7158,#7154); -#13194=ID_ATTRIBUTE('ac2dsm',#7160); -#13195=SHAPE_DEFINITION_REPRESENTATION(#7164,#7160); -#13196=ID_ATTRIBUTE('ac2dsm',#7166); -#13197=SHAPE_DEFINITION_REPRESENTATION(#7171,#7166); -#13198=ID_ATTRIBUTE('ac2dsm',#7173); -#13199=SHAPE_DEFINITION_REPRESENTATION(#7176,#7173); -#13200=ID_ATTRIBUTE('ac2dsm',#7178); -#13201=SHAPE_DEFINITION_REPRESENTATION(#7182,#7178); -#13202=ID_ATTRIBUTE('ac2dsm',#7184); -#13203=SHAPE_DEFINITION_REPRESENTATION(#7188,#7184); -#13204=ID_ATTRIBUTE('ac2dsm',#7190); -#13205=SHAPE_DEFINITION_REPRESENTATION(#7194,#7190); -#13206=ID_ATTRIBUTE('ac2dsm',#7196); -#13207=SHAPE_DEFINITION_REPRESENTATION(#7200,#7196); -#13208=ID_ATTRIBUTE('ac2dsm',#7202); -#13209=SHAPE_DEFINITION_REPRESENTATION(#7205,#7202); -#13210=ID_ATTRIBUTE('ac2dsm',#7207); -#13211=SHAPE_DEFINITION_REPRESENTATION(#7210,#7207); -#13212=ID_ATTRIBUTE('ac2dsm',#7212); -#13213=SHAPE_DEFINITION_REPRESENTATION(#7215,#7212); -#13214=ID_ATTRIBUTE('ac2dsm',#7217); -#13215=SHAPE_DEFINITION_REPRESENTATION(#7221,#7217); -#13216=ID_ATTRIBUTE('ac2dsm',#7223); -#13217=SHAPE_DEFINITION_REPRESENTATION(#7243,#7223); -#13218=ID_ATTRIBUTE('ac2dsm',#7245); -#13219=SHAPE_DEFINITION_REPRESENTATION(#7575,#7245); -#13220=ID_ATTRIBUTE('ac2dsm',#7577); -#13221=SHAPE_DEFINITION_REPRESENTATION(#7585,#7577); -#13222=ID_ATTRIBUTE('ac2dsm',#7587); -#13223=SHAPE_DEFINITION_REPRESENTATION(#7591,#7587); -#13224=ID_ATTRIBUTE('ac2dsm',#7593); -#13225=SHAPE_DEFINITION_REPRESENTATION(#7597,#7593); -#13226=ID_ATTRIBUTE('ac2dsm',#7599); -#13227=SHAPE_DEFINITION_REPRESENTATION(#7602,#7599); -#13228=ID_ATTRIBUTE('ac2dsm',#7604); -#13229=SHAPE_DEFINITION_REPRESENTATION(#7608,#7604); -#13230=ID_ATTRIBUTE('ac2dsm',#7610); -#13231=SHAPE_DEFINITION_REPRESENTATION(#7630,#7610); -#13232=ID_ATTRIBUTE('ac2dsm',#7632); -#13233=SHAPE_DEFINITION_REPRESENTATION(#7636,#7632); -#13234=ID_ATTRIBUTE('ac2dsm',#7638); -#13235=SHAPE_DEFINITION_REPRESENTATION(#7642,#7638); -#13236=ID_ATTRIBUTE('ac2dsm',#7644); -#13237=SHAPE_DEFINITION_REPRESENTATION(#7648,#7644); -#13238=ID_ATTRIBUTE('ac2dsm',#7650); -#13239=SHAPE_DEFINITION_REPRESENTATION(#7653,#7650); -#13240=ID_ATTRIBUTE('ac2dsm',#7655); -#13241=SHAPE_DEFINITION_REPRESENTATION(#7659,#7655); -#13242=ID_ATTRIBUTE('ac2dsm',#7661); -#13243=SHAPE_DEFINITION_REPRESENTATION(#7665,#7661); -#13244=ID_ATTRIBUTE('ac2dsm',#7667); -#13245=SHAPE_DEFINITION_REPRESENTATION(#7671,#7667); -#13246=ID_ATTRIBUTE('ac2dsm',#7673); -#13247=SHAPE_DEFINITION_REPRESENTATION(#7677,#7673); -#13248=ID_ATTRIBUTE('ac2dsm',#7679); -#13249=SHAPE_DEFINITION_REPRESENTATION(#7682,#7679); -#13250=ID_ATTRIBUTE('ac2dsm',#7684); -#13251=SHAPE_DEFINITION_REPRESENTATION(#7688,#7684); -#13252=ID_ATTRIBUTE('ac2dsm',#7690); -#13253=SHAPE_DEFINITION_REPRESENTATION(#7694,#7690); -#13254=ID_ATTRIBUTE('ac2dsm',#12135); -#13255=SHAPE_DEFINITION_REPRESENTATION(#12166,#12135); -#13256=ID_ATTRIBUTE('ac2dsm',#12168); -#13257=SHAPE_DEFINITION_REPRESENTATION(#12172,#12168); -#13258=ID_ATTRIBUTE('ac2dsm',#12174); -#13259=SHAPE_DEFINITION_REPRESENTATION(#12205,#12174); -#13260=ID_ATTRIBUTE('ac2dsm',#12207); -#13261=SHAPE_DEFINITION_REPRESENTATION(#12211,#12207); -#13262=ID_ATTRIBUTE('ac2dsm',#12213); -#13263=SHAPE_DEFINITION_REPRESENTATION(#12420,#12213); -#13264=ID_ATTRIBUTE('ac2dsm',#12422); -#13265=SHAPE_DEFINITION_REPRESENTATION(#12428,#12422); -#13266=ID_ATTRIBUTE('ac2dsm',#12430); -#13267=SHAPE_DEFINITION_REPRESENTATION(#12432,#12430); -#13268=ID_ATTRIBUTE('ac2dsm',#12434); -#13269=SHAPE_DEFINITION_REPRESENTATION(#12440,#12434); -#13270=ID_ATTRIBUTE('ac2dsm',#12442); -#13271=SHAPE_DEFINITION_REPRESENTATION(#12444,#12442); -#13272=ID_ATTRIBUTE('ac2dsm',#12446); -#13273=SHAPE_DEFINITION_REPRESENTATION(#12681,#12446); -#13274=ID_ATTRIBUTE('ac2dsm',#35); -#13275=SHAPE_DEFINITION_REPRESENTATION(#250,#35); -#13276=ID_ATTRIBUTE('ac2dsm',#46); -#13277=SHAPE_DEFINITION_REPRESENTATION(#240,#46); -#13278=ID_ATTRIBUTE('ac2dsm',#53); -#13279=SHAPE_DEFINITION_REPRESENTATION(#230,#53); -#13280=ID_ATTRIBUTE('ac2dsm',#60); -#13281=SHAPE_DEFINITION_REPRESENTATION(#245,#60); -#13282=ID_ATTRIBUTE('ac2dsm',#66); -#13283=SHAPE_DEFINITION_REPRESENTATION(#235,#66); -#13284=ID_ATTRIBUTE('ac2dsm',#329); -#13285=SHAPE_DEFINITION_REPRESENTATION(#327,#329); -#13286=SHAPE_DEFINITION_REPRESENTATION(#332,#329); -#13287=CLASSIFICATION_ROLE('',$); -#13288=ID_ATTRIBUTE('assembly',#12689); -#13289=ID_ATTRIBUTE('interconnect',#12691); -#13290=ID_ATTRIBUTE('board type',#12706); -#13291=ID_ATTRIBUTE('IC',#12838); -#13292=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#325)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#13293=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','2'); -#13294=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#13295=DESCRIPTION_ATTRIBUTE('placement not fixed',#76); -#13296=DESCRIPTION_ATTRIBUTE('placement not fixed',#234); -#13297=DESCRIPTION_ATTRIBUTE('placement not fixed',#239); -#13298=DESCRIPTION_ATTRIBUTE('placement not fixed',#244); -#13299=DESCRIPTION_ATTRIBUTE('placement not fixed',#249); -#13300=DESCRIPTION_ATTRIBUTE('placement not fixed',#254); -#13301=DESCRIPTION_ATTRIBUTE('placement not fixed',#488); -#13302=DESCRIPTION_ATTRIBUTE('placement not fixed',#1052); -#13303=DESCRIPTION_ATTRIBUTE('placement not fixed',#1767); -#13304=DESCRIPTION_ATTRIBUTE('placement not fixed',#2107); -#13305=DESCRIPTION_ATTRIBUTE('placement not fixed',#2138); -#13306=DESCRIPTION_ATTRIBUTE('placement not fixed',#2235); -#13307=DESCRIPTION_ATTRIBUTE('placement not fixed',#2387); -#13308=DESCRIPTION_ATTRIBUTE('placement not fixed',#2521); -#13309=DESCRIPTION_ATTRIBUTE('placement not fixed',#2662); -#13310=DESCRIPTION_ATTRIBUTE('placement not fixed',#3017); -#13311=DESCRIPTION_ATTRIBUTE('placement not fixed',#3667); -#13312=DESCRIPTION_ATTRIBUTE('placement not fixed',#3929); -#13313=DESCRIPTION_ATTRIBUTE('placement not fixed',#7826); -#13314=DESCRIPTION_ATTRIBUTE('placement not fixed',#7960); -#13315=DESCRIPTION_ATTRIBUTE('placement not fixed',#7970); -#13316=DESCRIPTION_ATTRIBUTE('placement not fixed',#7981); -#13317=DESCRIPTION_ATTRIBUTE('placement not fixed',#7991); -#13318=DESCRIPTION_ATTRIBUTE('placement not fixed',#8012); -#13319=DESCRIPTION_ATTRIBUTE('placement not fixed',#8032); -#13320=DESCRIPTION_ATTRIBUTE('placement not fixed',#8042); -#13321=DESCRIPTION_ATTRIBUTE('placement not fixed',#8063); -#13322=DESCRIPTION_ATTRIBUTE('placement not fixed',#8073); -#13323=DESCRIPTION_ATTRIBUTE('placement not fixed',#8094); -#13324=DESCRIPTION_ATTRIBUTE('placement not fixed',#8114); -#13325=DESCRIPTION_ATTRIBUTE('placement not fixed',#8124); -#13326=DESCRIPTION_ATTRIBUTE('placement not fixed',#8145); -#13327=DESCRIPTION_ATTRIBUTE('placement not fixed',#8166); -#13328=DESCRIPTION_ATTRIBUTE('placement not fixed',#8176); -#13329=DESCRIPTION_ATTRIBUTE('placement not fixed',#8229); -#13330=DESCRIPTION_ATTRIBUTE('placement not fixed',#8239); -#13331=DESCRIPTION_ATTRIBUTE('placement not fixed',#8249); -#13332=DESCRIPTION_ATTRIBUTE('placement not fixed',#8270); -#13333=DESCRIPTION_ATTRIBUTE('placement not fixed',#8293); -#13334=DESCRIPTION_ATTRIBUTE('placement not fixed',#8313); -#13335=DESCRIPTION_ATTRIBUTE('placement not fixed',#8323); -#13336=DESCRIPTION_ATTRIBUTE('placement not fixed',#8343); -#13337=DESCRIPTION_ATTRIBUTE('placement not fixed',#8375); -#13338=DESCRIPTION_ATTRIBUTE('placement not fixed',#8395); -#13339=DESCRIPTION_ATTRIBUTE('placement not fixed',#8405); -#13340=DESCRIPTION_ATTRIBUTE('placement not fixed',#8415); -#13341=DESCRIPTION_ATTRIBUTE('placement not fixed',#8438); -#13342=DESCRIPTION_ATTRIBUTE('placement not fixed',#8458); -#13343=DESCRIPTION_ATTRIBUTE('placement not fixed',#8477); -#13344=DESCRIPTION_ATTRIBUTE('placement not fixed',#8497); -#13345=DESCRIPTION_ATTRIBUTE('placement not fixed',#8523); -#13346=DESCRIPTION_ATTRIBUTE('placement not fixed',#8547); -#13347=DESCRIPTION_ATTRIBUTE('placement not fixed',#8557); -#13348=DESCRIPTION_ATTRIBUTE('placement not fixed',#8567); -#13349=DESCRIPTION_ATTRIBUTE('placement not fixed',#8591); -#13350=DESCRIPTION_ATTRIBUTE('placement not fixed',#8615); -#13351=DESCRIPTION_ATTRIBUTE('placement not fixed',#8635); -#13352=DESCRIPTION_ATTRIBUTE('placement not fixed',#8655); -#13353=DESCRIPTION_ATTRIBUTE('placement not fixed',#8679); -#13354=DESCRIPTION_ATTRIBUTE('placement not fixed',#8699); -#13355=DESCRIPTION_ATTRIBUTE('placement not fixed',#8723); -#13356=DESCRIPTION_ATTRIBUTE('placement not fixed',#8747); -#13357=DESCRIPTION_ATTRIBUTE('placement not fixed',#8771); -#13358=DESCRIPTION_ATTRIBUTE('placement not fixed',#8781); -#13359=DESCRIPTION_ATTRIBUTE('placement not fixed',#8791); -#13360=DESCRIPTION_ATTRIBUTE('placement not fixed',#8816); -#13361=DESCRIPTION_ATTRIBUTE('placement not fixed',#8841); -#13362=DESCRIPTION_ATTRIBUTE('placement not fixed',#8851); -#13363=DESCRIPTION_ATTRIBUTE('placement not fixed',#8875); -#13364=DESCRIPTION_ATTRIBUTE('placement not fixed',#8896); -#13365=DESCRIPTION_ATTRIBUTE('placement not fixed',#8921); -#13366=DESCRIPTION_ATTRIBUTE('placement not fixed',#8931); -#13367=DESCRIPTION_ATTRIBUTE('placement not fixed',#8955); -#13368=DESCRIPTION_ATTRIBUTE('placement not fixed',#8979); -#13369=DESCRIPTION_ATTRIBUTE('placement not fixed',#9004); -#13370=DESCRIPTION_ATTRIBUTE('placement not fixed',#9028); -#13371=DESCRIPTION_ATTRIBUTE('placement not fixed',#9048); -#13372=DESCRIPTION_ATTRIBUTE('placement not fixed',#9072); -#13373=DESCRIPTION_ATTRIBUTE('placement not fixed',#9126); -#13374=DESCRIPTION_ATTRIBUTE('placement not fixed',#9147); -#13375=DESCRIPTION_ATTRIBUTE('placement not fixed',#9157); -#13376=DESCRIPTION_ATTRIBUTE('placement not fixed',#9167); -#13377=DESCRIPTION_ATTRIBUTE('placement not fixed',#9201); -#13378=DESCRIPTION_ATTRIBUTE('placement not fixed',#9222); -#13379=DESCRIPTION_ATTRIBUTE('placement not fixed',#9232); -#13380=DESCRIPTION_ATTRIBUTE('placement not fixed',#9242); -#13381=DESCRIPTION_ATTRIBUTE('placement not fixed',#9276); -#13382=DESCRIPTION_ATTRIBUTE('placement not fixed',#9286); -#13383=DESCRIPTION_ATTRIBUTE('placement not fixed',#9305); -#13384=DESCRIPTION_ATTRIBUTE('placement not fixed',#9326); -#13385=DESCRIPTION_ATTRIBUTE('placement not fixed',#10203); -#13386=DESCRIPTION_ATTRIBUTE('placement not fixed',#10211); -#13387=DESCRIPTION_ATTRIBUTE('placement not fixed',#10219); -#13388=DESCRIPTION_ATTRIBUTE('placement not fixed',#10227); -#13389=DESCRIPTION_ATTRIBUTE('placement not fixed',#10235); -#13390=DESCRIPTION_ATTRIBUTE('placement not fixed',#10243); -#13391=DESCRIPTION_ATTRIBUTE('placement not fixed',#10251); -#13392=DESCRIPTION_ATTRIBUTE('placement not fixed',#10259); -#13393=DESCRIPTION_ATTRIBUTE('placement not fixed',#10271); -#13394=DESCRIPTION_ATTRIBUTE('placement not fixed',#10279); -#13395=DESCRIPTION_ATTRIBUTE('placement not fixed',#10287); -#13396=DESCRIPTION_ATTRIBUTE('placement not fixed',#10295); -#13397=DESCRIPTION_ATTRIBUTE('placement not fixed',#10303); -#13398=DESCRIPTION_ATTRIBUTE('placement not fixed',#10315); -#13399=DESCRIPTION_ATTRIBUTE('placement not fixed',#10323); -#13400=DESCRIPTION_ATTRIBUTE('placement not fixed',#10331); -#13401=DESCRIPTION_ATTRIBUTE('placement not fixed',#10343); -#13402=DESCRIPTION_ATTRIBUTE('placement not fixed',#10351); -#13403=DESCRIPTION_ATTRIBUTE('placement not fixed',#10359); -#13404=PROPERTY_DEFINITION('','',#10614); -#13405=REPRESENTATION('',(#13408,#12831),#13406); -#13406=REPRESENTATION_CONTEXT('',''); -#13407=PROPERTY_DEFINITION_REPRESENTATION(#13404,#13405); -#13408=DESCRIPTIVE_REPRESENTATION_ITEM('feature of size','true'); -#13409=PROPERTY_DEFINITION('','',#10615); -#13410=REPRESENTATION('',(#13408),#13406); -#13411=PROPERTY_DEFINITION_REPRESENTATION(#13409,#13410); -#13412=PROPERTY_DEFINITION('','',#10759); -#13413=REPRESENTATION('',(#13408),#13406); -#13414=PROPERTY_DEFINITION_REPRESENTATION(#13412,#13413); -#13415=PROPERTY_DEFINITION('','',#10809); -#13416=REPRESENTATION('',(#13408),#13406); -#13417=PROPERTY_DEFINITION_REPRESENTATION(#13415,#13416); -#13418=PROPERTY_DEFINITION('','',#10810); -#13419=REPRESENTATION('',(#13408),#13406); -#13420=PROPERTY_DEFINITION_REPRESENTATION(#13418,#13419); -#13421=PROPERTY_DEFINITION('','',#10847); -#13422=REPRESENTATION('',(#13408),#13406); -#13423=PROPERTY_DEFINITION_REPRESENTATION(#13421,#13422); -#13424=PROPERTY_DEFINITION('','',#10850); -#13425=REPRESENTATION('',(#13408),#13406); -#13426=PROPERTY_DEFINITION_REPRESENTATION(#13424,#13425); -#13427=PROPERTY_DEFINITION('','',#11249); -#13428=REPRESENTATION('',(#13408),#13406); -#13429=PROPERTY_DEFINITION_REPRESENTATION(#13427,#13428); -#13430=PROPERTY_DEFINITION('','',#11320); -#13431=REPRESENTATION('',(#13408),#13406); -#13432=PROPERTY_DEFINITION_REPRESENTATION(#13430,#13431); -#13433=PROPERTY_DEFINITION('','',#11374); -#13434=REPRESENTATION('',(#13408),#13406); -#13435=PROPERTY_DEFINITION_REPRESENTATION(#13433,#13434); -#13436=PROPERTY_DEFINITION('','',#11375); -#13437=REPRESENTATION('',(#13408),#13406); -#13438=PROPERTY_DEFINITION_REPRESENTATION(#13436,#13437); -#13439=PROPERTY_DEFINITION('','',#11415); -#13440=REPRESENTATION('',(#13408),#13406); -#13441=PROPERTY_DEFINITION_REPRESENTATION(#13439,#13440); -#13442=PROPERTY_DEFINITION('','',#11418); -#13443=REPRESENTATION('',(#13408),#13406); -#13444=PROPERTY_DEFINITION_REPRESENTATION(#13442,#13443); -#13445=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8180,#10379); -#13446=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8191,#10380); -#13447=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8205,#10389); -#13448=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8199,#10390); -#13449=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8202,#10399); -#13450=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8204,#10400); -#13451=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8187,#10409); -#13452=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8193,#10410); -#13453=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8178,#10421); -#13454=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8179,#10422); -#13455=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8181,#10430); -#13456=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8186,#10431); -#13457=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8208,#10439); -#13458=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8197,#10440); -#13459=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8194,#10448); -#13460=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8195,#10449); -#13461=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8190,#10458); -#13462=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8188,#10459); -#13463=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8201,#10468); -#13464=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8182,#10469); -#13465=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8185,#10478); -#13466=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8189,#10479); -#13467=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8192,#10488); -#13468=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8198,#10489); -#13469=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8207,#10498); -#13470=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8206,#10499); -#13471=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8203,#10508); -#13472=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8200,#10509); -#13473=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8196,#10518); -#13474=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8177,#10519); -#13475=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8183,#10528); -#13476=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8184,#10529); -#13477=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8278,#10556); -#13478=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8280,#10557); -#13479=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8273,#10565); -#13480=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8279,#10566); -#13481=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8283,#10579); -#13482=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8272,#10580); -#13483=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8274,#10588); -#13484=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8282,#10589); -#13485=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8276,#10597); -#13486=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8277,#10598); -#13487=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8281,#10607); -#13488=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8271,#10608); -#13489=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8350,#10635); -#13490=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8352,#10636); -#13491=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8346,#10644); -#13492=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8351,#10645); -#13493=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8354,#10653); -#13494=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8345,#10654); -#13495=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8347,#10662); -#13496=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8353,#10663); -#13497=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8348,#10672); -#13498=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8349,#10673); -#13499=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8423,#10699); -#13500=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8425,#10700); -#13501=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8418,#10708); -#13502=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8424,#10709); -#13503=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8428,#10722); -#13504=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8417,#10723); -#13505=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8419,#10731); -#13506=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8427,#10732); -#13507=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8421,#10740); -#13508=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8422,#10741); -#13509=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8426,#10750); -#13510=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8416,#10751); -#13511=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8462,#10774); -#13512=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8465,#10775); -#13513=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8460,#10783); -#13514=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8464,#10784); -#13515=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8467,#10792); -#13516=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8459,#10793); -#13517=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8461,#10802); -#13518=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8466,#10803); -#13519=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8500,#10823); -#13520=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8502,#10824); -#13521=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8499,#10832); -#13522=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8501,#10833); -#13523=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8503,#10842); -#13524=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8498,#10843); -#13525=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9076,#11005); -#13526=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9087,#11006); -#13527=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9102,#11015); -#13528=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9096,#11016); -#13529=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9099,#11025); -#13530=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9101,#11026); -#13531=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9081,#11034); -#13532=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9089,#11035); -#13533=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9074,#11043); -#13534=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9075,#11044); -#13535=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9077,#11052); -#13536=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9080,#11053); -#13537=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9105,#11061); -#13538=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9094,#11062); -#13539=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9091,#11070); -#13540=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9092,#11071); -#13541=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9086,#11079); -#13542=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9083,#11080); -#13543=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9098,#11088); -#13544=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9078,#11089); -#13545=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9079,#11097); -#13546=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9085,#11098); -#13547=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9088,#11106); -#13548=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9095,#11107); -#13549=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9104,#11116); -#13550=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9103,#11117); -#13551=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9100,#11126); -#13552=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9097,#11127); -#13553=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9093,#11136); -#13554=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9073,#11137); -#13555=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9175,#11191); -#13556=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9177,#11192); -#13557=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9170,#11200); -#13558=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9176,#11201); -#13559=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9180,#11212); -#13560=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9169,#11213); -#13561=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9171,#11221); -#13562=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9179,#11222); -#13563=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9173,#11230); -#13564=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9174,#11231); -#13565=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9178,#11240); -#13566=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9168,#11241); -#13567=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9250,#11263); -#13568=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9252,#11264); -#13569=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9245,#11272); -#13570=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9251,#11273); -#13571=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9255,#11287); -#13572=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9244,#11288); -#13573=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9246,#11296); -#13574=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9254,#11297); -#13575=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9248,#11305); -#13576=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9249,#11306); -#13577=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9253,#11315); -#13578=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9243,#11316); -#13579=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9290,#11339); -#13580=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9293,#11340); -#13581=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9288,#11348); -#13582=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9292,#11349); -#13583=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9295,#11357); -#13584=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9287,#11358); -#13585=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9289,#11367); -#13586=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9294,#11368); -#13587=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9329,#11388); -#13588=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9331,#11389); -#13589=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9328,#11397); -#13590=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9330,#11398); -#13591=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9332,#11410); -#13592=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#9327,#11411); -#13593=PROPERTY_DEFINITION('','',#10382); -#13594=REPRESENTATION('',(#13408),#13406); -#13595=PROPERTY_DEFINITION_REPRESENTATION(#13593,#13594); -#13596=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10383,#10382); -#13597=PROPERTY_DEFINITION('','',#10392); -#13598=REPRESENTATION('',(#13408),#13406); -#13599=PROPERTY_DEFINITION_REPRESENTATION(#13597,#13598); -#13600=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10393,#10392); -#13601=PROPERTY_DEFINITION('','',#10402); -#13602=REPRESENTATION('',(#13408),#13406); -#13603=PROPERTY_DEFINITION_REPRESENTATION(#13601,#13602); -#13604=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10403,#10402); -#13605=PROPERTY_DEFINITION('','',#10412); -#13606=REPRESENTATION('',(#13408),#13406); -#13607=PROPERTY_DEFINITION_REPRESENTATION(#13605,#13606); -#13608=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10413,#10412); -#13609=PROPERTY_DEFINITION('','',#10424); -#13610=REPRESENTATION('',(#13408),#13406); -#13611=PROPERTY_DEFINITION_REPRESENTATION(#13609,#13610); -#13612=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10425,#10424); -#13613=PROPERTY_DEFINITION('','',#10433); -#13614=REPRESENTATION('',(#13408),#13406); -#13615=PROPERTY_DEFINITION_REPRESENTATION(#13613,#13614); -#13616=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10434,#10433); -#13617=PROPERTY_DEFINITION('','',#10442); -#13618=REPRESENTATION('',(#13408),#13406); -#13619=PROPERTY_DEFINITION_REPRESENTATION(#13617,#13618); -#13620=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10443,#10442); -#13621=PROPERTY_DEFINITION('','',#10451); -#13622=REPRESENTATION('',(#13408),#13406); -#13623=PROPERTY_DEFINITION_REPRESENTATION(#13621,#13622); -#13624=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10452,#10451); -#13625=PROPERTY_DEFINITION('','',#10461); -#13626=REPRESENTATION('',(#13408),#13406); -#13627=PROPERTY_DEFINITION_REPRESENTATION(#13625,#13626); -#13628=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10462,#10461); -#13629=PROPERTY_DEFINITION('','',#10471); -#13630=REPRESENTATION('',(#13408),#13406); -#13631=PROPERTY_DEFINITION_REPRESENTATION(#13629,#13630); -#13632=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10472,#10471); -#13633=PROPERTY_DEFINITION('','',#10481); -#13634=REPRESENTATION('',(#13408),#13406); -#13635=PROPERTY_DEFINITION_REPRESENTATION(#13633,#13634); -#13636=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10482,#10481); -#13637=PROPERTY_DEFINITION('','',#10491); -#13638=REPRESENTATION('',(#13408),#13406); -#13639=PROPERTY_DEFINITION_REPRESENTATION(#13637,#13638); -#13640=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10492,#10491); -#13641=PROPERTY_DEFINITION('','',#10501); -#13642=REPRESENTATION('',(#13408),#13406); -#13643=PROPERTY_DEFINITION_REPRESENTATION(#13641,#13642); -#13644=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10502,#10501); -#13645=PROPERTY_DEFINITION('','',#10511); -#13646=REPRESENTATION('',(#13408),#13406); -#13647=PROPERTY_DEFINITION_REPRESENTATION(#13645,#13646); -#13648=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10512,#10511); -#13649=PROPERTY_DEFINITION('','',#10521); -#13650=REPRESENTATION('',(#13408),#13406); -#13651=PROPERTY_DEFINITION_REPRESENTATION(#13649,#13650); -#13652=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10522,#10521); -#13653=PROPERTY_DEFINITION('','',#10531); -#13654=REPRESENTATION('',(#13408),#13406); -#13655=PROPERTY_DEFINITION_REPRESENTATION(#13653,#13654); -#13656=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10532,#10531); -#13657=PROPERTY_DEFINITION('','',#10559); -#13658=REPRESENTATION('',(#13408),#13406); -#13659=PROPERTY_DEFINITION_REPRESENTATION(#13657,#13658); -#13660=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10560,#10559); -#13661=PROPERTY_DEFINITION('','',#10568); -#13662=REPRESENTATION('',(#13408),#13406); -#13663=PROPERTY_DEFINITION_REPRESENTATION(#13661,#13662); -#13664=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10569,#10568); -#13665=PROPERTY_DEFINITION('','',#10582); -#13666=REPRESENTATION('',(#13408),#13406); -#13667=PROPERTY_DEFINITION_REPRESENTATION(#13665,#13666); -#13668=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10583,#10582); -#13669=PROPERTY_DEFINITION('','',#10591); -#13670=REPRESENTATION('',(#13408),#13406); -#13671=PROPERTY_DEFINITION_REPRESENTATION(#13669,#13670); -#13672=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10592,#10591); -#13673=PROPERTY_DEFINITION('','',#10600); -#13674=REPRESENTATION('',(#13408),#13406); -#13675=PROPERTY_DEFINITION_REPRESENTATION(#13673,#13674); -#13676=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10601,#10600); -#13677=PROPERTY_DEFINITION('','',#10610); -#13678=REPRESENTATION('',(#13408),#13406); -#13679=PROPERTY_DEFINITION_REPRESENTATION(#13677,#13678); -#13680=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10611,#10610); -#13681=PROPERTY_DEFINITION('','',#10638); -#13682=REPRESENTATION('',(#13408),#13406); -#13683=PROPERTY_DEFINITION_REPRESENTATION(#13681,#13682); -#13684=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10639,#10638); -#13685=PROPERTY_DEFINITION('','',#10647); -#13686=REPRESENTATION('',(#13408),#13406); -#13687=PROPERTY_DEFINITION_REPRESENTATION(#13685,#13686); -#13688=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10648,#10647); -#13689=PROPERTY_DEFINITION('','',#10656); -#13690=REPRESENTATION('',(#13408),#13406); -#13691=PROPERTY_DEFINITION_REPRESENTATION(#13689,#13690); -#13692=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10657,#10656); -#13693=PROPERTY_DEFINITION('','',#10665); -#13694=REPRESENTATION('',(#13408),#13406); -#13695=PROPERTY_DEFINITION_REPRESENTATION(#13693,#13694); -#13696=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10666,#10665); -#13697=PROPERTY_DEFINITION('','',#10675); -#13698=REPRESENTATION('',(#13408),#13406); -#13699=PROPERTY_DEFINITION_REPRESENTATION(#13697,#13698); -#13700=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10676,#10675); -#13701=PROPERTY_DEFINITION('','',#10702); -#13702=REPRESENTATION('',(#13408),#13406); -#13703=PROPERTY_DEFINITION_REPRESENTATION(#13701,#13702); -#13704=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10703,#10702); -#13705=PROPERTY_DEFINITION('','',#10711); -#13706=REPRESENTATION('',(#13408),#13406); -#13707=PROPERTY_DEFINITION_REPRESENTATION(#13705,#13706); -#13708=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10712,#10711); -#13709=PROPERTY_DEFINITION('','',#10725); -#13710=REPRESENTATION('',(#13408),#13406); -#13711=PROPERTY_DEFINITION_REPRESENTATION(#13709,#13710); -#13712=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10726,#10725); -#13713=PROPERTY_DEFINITION('','',#10734); -#13714=REPRESENTATION('',(#13408),#13406); -#13715=PROPERTY_DEFINITION_REPRESENTATION(#13713,#13714); -#13716=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10735,#10734); -#13717=PROPERTY_DEFINITION('','',#10743); -#13718=REPRESENTATION('',(#13408),#13406); -#13719=PROPERTY_DEFINITION_REPRESENTATION(#13717,#13718); -#13720=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10744,#10743); -#13721=PROPERTY_DEFINITION('','',#10753); -#13722=REPRESENTATION('',(#13408),#13406); -#13723=PROPERTY_DEFINITION_REPRESENTATION(#13721,#13722); -#13724=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10754,#10753); -#13725=PROPERTY_DEFINITION('','',#10777); -#13726=REPRESENTATION('',(#13408),#13406); -#13727=PROPERTY_DEFINITION_REPRESENTATION(#13725,#13726); -#13728=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10778,#10777); -#13729=PROPERTY_DEFINITION('','',#10786); -#13730=REPRESENTATION('',(#13408),#13406); -#13731=PROPERTY_DEFINITION_REPRESENTATION(#13729,#13730); -#13732=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10787,#10786); -#13733=PROPERTY_DEFINITION('','',#10795); -#13734=REPRESENTATION('',(#13408),#13406); -#13735=PROPERTY_DEFINITION_REPRESENTATION(#13733,#13734); -#13736=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10796,#10795); -#13737=PROPERTY_DEFINITION('','',#10805); -#13738=REPRESENTATION('',(#13408),#13406); -#13739=PROPERTY_DEFINITION_REPRESENTATION(#13737,#13738); -#13740=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10806,#10805); -#13741=PROPERTY_DEFINITION('','',#10826); -#13742=REPRESENTATION('',(#13408),#13406); -#13743=PROPERTY_DEFINITION_REPRESENTATION(#13741,#13742); -#13744=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10827,#10826); -#13745=PROPERTY_DEFINITION('','',#10835); -#13746=REPRESENTATION('',(#13408),#13406); -#13747=PROPERTY_DEFINITION_REPRESENTATION(#13745,#13746); -#13748=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10836,#10835); -#13749=PROPERTY_DEFINITION('','',#10845); -#13750=REPRESENTATION('',(#13408),#13406); -#13751=PROPERTY_DEFINITION_REPRESENTATION(#13749,#13750); -#13752=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10846,#10845); -#13753=PROPERTY_DEFINITION('','',#11008); -#13754=REPRESENTATION('',(#13408),#13406); -#13755=PROPERTY_DEFINITION_REPRESENTATION(#13753,#13754); -#13756=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11009,#11008); -#13757=PROPERTY_DEFINITION('','',#11018); -#13758=REPRESENTATION('',(#13408),#13406); -#13759=PROPERTY_DEFINITION_REPRESENTATION(#13757,#13758); -#13760=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11019,#11018); -#13761=PROPERTY_DEFINITION('','',#11028); -#13762=REPRESENTATION('',(#13408),#13406); -#13763=PROPERTY_DEFINITION_REPRESENTATION(#13761,#13762); -#13764=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11029,#11028); -#13765=PROPERTY_DEFINITION('','',#11037); -#13766=REPRESENTATION('',(#13408),#13406); -#13767=PROPERTY_DEFINITION_REPRESENTATION(#13765,#13766); -#13768=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11038,#11037); -#13769=PROPERTY_DEFINITION('','',#11046); -#13770=REPRESENTATION('',(#13408),#13406); -#13771=PROPERTY_DEFINITION_REPRESENTATION(#13769,#13770); -#13772=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11047,#11046); -#13773=PROPERTY_DEFINITION('','',#11055); -#13774=REPRESENTATION('',(#13408),#13406); -#13775=PROPERTY_DEFINITION_REPRESENTATION(#13773,#13774); -#13776=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11056,#11055); -#13777=PROPERTY_DEFINITION('','',#11064); -#13778=REPRESENTATION('',(#13408),#13406); -#13779=PROPERTY_DEFINITION_REPRESENTATION(#13777,#13778); -#13780=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11065,#11064); -#13781=PROPERTY_DEFINITION('','',#11073); -#13782=REPRESENTATION('',(#13408),#13406); -#13783=PROPERTY_DEFINITION_REPRESENTATION(#13781,#13782); -#13784=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11074,#11073); -#13785=PROPERTY_DEFINITION('','',#11082); -#13786=REPRESENTATION('',(#13408),#13406); -#13787=PROPERTY_DEFINITION_REPRESENTATION(#13785,#13786); -#13788=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11083,#11082); -#13789=PROPERTY_DEFINITION('','',#11091); -#13790=REPRESENTATION('',(#13408),#13406); -#13791=PROPERTY_DEFINITION_REPRESENTATION(#13789,#13790); -#13792=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11092,#11091); -#13793=PROPERTY_DEFINITION('','',#11100); -#13794=REPRESENTATION('',(#13408),#13406); -#13795=PROPERTY_DEFINITION_REPRESENTATION(#13793,#13794); -#13796=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11101,#11100); -#13797=PROPERTY_DEFINITION('','',#11109); -#13798=REPRESENTATION('',(#13408),#13406); -#13799=PROPERTY_DEFINITION_REPRESENTATION(#13797,#13798); -#13800=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11110,#11109); -#13801=PROPERTY_DEFINITION('','',#11119); -#13802=REPRESENTATION('',(#13408),#13406); -#13803=PROPERTY_DEFINITION_REPRESENTATION(#13801,#13802); -#13804=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11120,#11119); -#13805=PROPERTY_DEFINITION('','',#11129); -#13806=REPRESENTATION('',(#13408),#13406); -#13807=PROPERTY_DEFINITION_REPRESENTATION(#13805,#13806); -#13808=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11130,#11129); -#13809=PROPERTY_DEFINITION('','',#11139); -#13810=REPRESENTATION('',(#13408),#13406); -#13811=PROPERTY_DEFINITION_REPRESENTATION(#13809,#13810); -#13812=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11140,#11139); -#13813=PROPERTY_DEFINITION('','',#11194); -#13814=REPRESENTATION('',(#13408),#13406); -#13815=PROPERTY_DEFINITION_REPRESENTATION(#13813,#13814); -#13816=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11195,#11194); -#13817=PROPERTY_DEFINITION('','',#11203); -#13818=REPRESENTATION('',(#13408),#13406); -#13819=PROPERTY_DEFINITION_REPRESENTATION(#13817,#13818); -#13820=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11204,#11203); -#13821=PROPERTY_DEFINITION('','',#11215); -#13822=REPRESENTATION('',(#13408),#13406); -#13823=PROPERTY_DEFINITION_REPRESENTATION(#13821,#13822); -#13824=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11216,#11215); -#13825=PROPERTY_DEFINITION('','',#11224); -#13826=REPRESENTATION('',(#13408),#13406); -#13827=PROPERTY_DEFINITION_REPRESENTATION(#13825,#13826); -#13828=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11225,#11224); -#13829=PROPERTY_DEFINITION('','',#11233); -#13830=REPRESENTATION('',(#13408),#13406); -#13831=PROPERTY_DEFINITION_REPRESENTATION(#13829,#13830); -#13832=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11234,#11233); -#13833=PROPERTY_DEFINITION('','',#11243); -#13834=REPRESENTATION('',(#13408),#13406); -#13835=PROPERTY_DEFINITION_REPRESENTATION(#13833,#13834); -#13836=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11244,#11243); -#13837=PROPERTY_DEFINITION('','',#11266); -#13838=REPRESENTATION('',(#13408),#13406); -#13839=PROPERTY_DEFINITION_REPRESENTATION(#13837,#13838); -#13840=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11267,#11266); -#13841=PROPERTY_DEFINITION('','',#11275); -#13842=REPRESENTATION('',(#13408),#13406); -#13843=PROPERTY_DEFINITION_REPRESENTATION(#13841,#13842); -#13844=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11276,#11275); -#13845=PROPERTY_DEFINITION('','',#11290); -#13846=REPRESENTATION('',(#13408),#13406); -#13847=PROPERTY_DEFINITION_REPRESENTATION(#13845,#13846); -#13848=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11291,#11290); -#13849=PROPERTY_DEFINITION('','',#11299); -#13850=REPRESENTATION('',(#13408),#13406); -#13851=PROPERTY_DEFINITION_REPRESENTATION(#13849,#13850); -#13852=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11300,#11299); -#13853=PROPERTY_DEFINITION('','',#11308); -#13854=REPRESENTATION('',(#13408),#13406); -#13855=PROPERTY_DEFINITION_REPRESENTATION(#13853,#13854); -#13856=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11309,#11308); -#13857=PROPERTY_DEFINITION('','',#11318); -#13858=REPRESENTATION('',(#13408),#13406); -#13859=PROPERTY_DEFINITION_REPRESENTATION(#13857,#13858); -#13860=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11319,#11318); -#13861=PROPERTY_DEFINITION('','',#11342); -#13862=REPRESENTATION('',(#13408),#13406); -#13863=PROPERTY_DEFINITION_REPRESENTATION(#13861,#13862); -#13864=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11343,#11342); -#13865=PROPERTY_DEFINITION('','',#11351); -#13866=REPRESENTATION('',(#13408),#13406); -#13867=PROPERTY_DEFINITION_REPRESENTATION(#13865,#13866); -#13868=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11352,#11351); -#13869=PROPERTY_DEFINITION('','',#11360); -#13870=REPRESENTATION('',(#13408),#13406); -#13871=PROPERTY_DEFINITION_REPRESENTATION(#13869,#13870); -#13872=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11361,#11360); -#13873=PROPERTY_DEFINITION('','',#11370); -#13874=REPRESENTATION('',(#13408),#13406); -#13875=PROPERTY_DEFINITION_REPRESENTATION(#13873,#13874); -#13876=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11371,#11370); -#13877=PROPERTY_DEFINITION('','',#11391); -#13878=REPRESENTATION('',(#13408),#13406); -#13879=PROPERTY_DEFINITION_REPRESENTATION(#13877,#13878); -#13880=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11392,#11391); -#13881=PROPERTY_DEFINITION('','',#11400); -#13882=REPRESENTATION('',(#13408),#13406); -#13883=PROPERTY_DEFINITION_REPRESENTATION(#13881,#13882); -#13884=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11401,#11400); -#13885=PROPERTY_DEFINITION('','',#11413); -#13886=REPRESENTATION('',(#13408),#13406); -#13887=PROPERTY_DEFINITION_REPRESENTATION(#13885,#13886); -#13888=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11414,#11413); -#13889=PROPERTY_DEFINITION('','',#10533); -#13890=REPRESENTATION('',(#13408),#13406); -#13891=PROPERTY_DEFINITION_REPRESENTATION(#13889,#13890); -#13892=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10534,#10533); -#13893=PROPERTY_DEFINITION('','',#10612); -#13894=REPRESENTATION('',(#13408),#13406); -#13895=PROPERTY_DEFINITION_REPRESENTATION(#13893,#13894); -#13896=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10613,#10612); -#13897=PROPERTY_DEFINITION('','',#10616); -#13898=REPRESENTATION('',(#13408),#13406); -#13899=PROPERTY_DEFINITION_REPRESENTATION(#13897,#13898); -#13900=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10617,#10616); -#13901=PROPERTY_DEFINITION('','',#10677); -#13902=REPRESENTATION('',(#13408),#13406); -#13903=PROPERTY_DEFINITION_REPRESENTATION(#13901,#13902); -#13904=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10678,#10677); -#13905=PROPERTY_DEFINITION('','',#10679); -#13906=REPRESENTATION('',(#13408),#13406); -#13907=PROPERTY_DEFINITION_REPRESENTATION(#13905,#13906); -#13908=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10680,#10679); -#13909=PROPERTY_DEFINITION('','',#10681); -#13910=REPRESENTATION('',(#13408),#13406); -#13911=PROPERTY_DEFINITION_REPRESENTATION(#13909,#13910); -#13912=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10682,#10681); -#13913=PROPERTY_DEFINITION('','',#10683); -#13914=REPRESENTATION('',(#13408),#13406); -#13915=PROPERTY_DEFINITION_REPRESENTATION(#13913,#13914); -#13916=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10684,#10683); -#13917=PROPERTY_DEFINITION('','',#10755); -#13918=REPRESENTATION('',(#13408),#13406); -#13919=PROPERTY_DEFINITION_REPRESENTATION(#13917,#13918); -#13920=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10756,#10755); -#13921=PROPERTY_DEFINITION('','',#10757); -#13922=REPRESENTATION('',(#13408),#13406); -#13923=PROPERTY_DEFINITION_REPRESENTATION(#13921,#13922); -#13924=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10758,#10757); -#13925=PROPERTY_DEFINITION('','',#10807); -#13926=REPRESENTATION('',(#13408),#13406); -#13927=PROPERTY_DEFINITION_REPRESENTATION(#13925,#13926); -#13928=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10808,#10807); -#13929=PROPERTY_DEFINITION('','',#10848); -#13930=REPRESENTATION('',(#13408),#13406); -#13931=PROPERTY_DEFINITION_REPRESENTATION(#13929,#13930); -#13932=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#10849,#10848); -#13933=PROPERTY_DEFINITION('','',#11141); -#13934=REPRESENTATION('',(#13408),#13406); -#13935=PROPERTY_DEFINITION_REPRESENTATION(#13933,#13934); -#13936=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11142,#11141); -#13937=PROPERTY_DEFINITION('','',#11143); -#13938=REPRESENTATION('',(#13408),#13406); -#13939=PROPERTY_DEFINITION_REPRESENTATION(#13937,#13938); -#13940=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11144,#11143); -#13941=PROPERTY_DEFINITION('','',#11145); -#13942=REPRESENTATION('',(#13408),#13406); -#13943=PROPERTY_DEFINITION_REPRESENTATION(#13941,#13942); -#13944=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11146,#11145); -#13945=PROPERTY_DEFINITION('','',#11147); -#13946=REPRESENTATION('',(#13408),#13406); -#13947=PROPERTY_DEFINITION_REPRESENTATION(#13945,#13946); -#13948=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11148,#11147); -#13949=PROPERTY_DEFINITION('','',#11149); -#13950=REPRESENTATION('',(#13408),#13406); -#13951=PROPERTY_DEFINITION_REPRESENTATION(#13949,#13950); -#13952=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11150,#11149); -#13953=PROPERTY_DEFINITION('','',#11151); -#13954=REPRESENTATION('',(#13408),#13406); -#13955=PROPERTY_DEFINITION_REPRESENTATION(#13953,#13954); -#13956=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11152,#11151); -#13957=PROPERTY_DEFINITION('','',#11153); -#13958=REPRESENTATION('',(#13408),#13406); -#13959=PROPERTY_DEFINITION_REPRESENTATION(#13957,#13958); -#13960=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11154,#11153); -#13961=PROPERTY_DEFINITION('','',#11155); -#13962=REPRESENTATION('',(#13408),#13406); -#13963=PROPERTY_DEFINITION_REPRESENTATION(#13961,#13962); -#13964=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11156,#11155); -#13965=PROPERTY_DEFINITION('','',#11245); -#13966=REPRESENTATION('',(#13408),#13406); -#13967=PROPERTY_DEFINITION_REPRESENTATION(#13965,#13966); -#13968=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11246,#11245); -#13969=PROPERTY_DEFINITION('','',#11247); -#13970=REPRESENTATION('',(#13408),#13406); -#13971=PROPERTY_DEFINITION_REPRESENTATION(#13969,#13970); -#13972=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11248,#11247); -#13973=PROPERTY_DEFINITION('','',#11321); -#13974=REPRESENTATION('',(#13408),#13406); -#13975=PROPERTY_DEFINITION_REPRESENTATION(#13973,#13974); -#13976=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11322,#11321); -#13977=PROPERTY_DEFINITION('','',#11323); -#13978=REPRESENTATION('',(#13408),#13406); -#13979=PROPERTY_DEFINITION_REPRESENTATION(#13977,#13978); -#13980=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11324,#11323); -#13981=PROPERTY_DEFINITION('','',#11372); -#13982=REPRESENTATION('',(#13408),#13406); -#13983=PROPERTY_DEFINITION_REPRESENTATION(#13981,#13982); -#13984=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11373,#11372); -#13985=PROPERTY_DEFINITION('','',#11416); -#13986=REPRESENTATION('',(#13408),#13406); -#13987=PROPERTY_DEFINITION_REPRESENTATION(#13985,#13986); -#13988=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#11417,#11416); -#13989=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#389)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#13990=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','curve style 38100'); -#13991=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#13992=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#13993=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#13994=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#389)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#13995=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','curve style 30480'); -#13996=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#13997=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#13998=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#13999=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#389)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#14000=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','3'); -#14001=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#14002=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#14003=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#14004=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#389)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#14005=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','4'); -#14006=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#14007=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#14008=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#14009=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#389)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#14010=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','curve style 12029'); -#14011=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#14012=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#14013=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#14014=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#389)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#14015=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','5'); -#14016=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#14017=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#14018=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#14019=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#32,#77); -#14020=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#33,#78); -#14021=PRODUCT_DEFINITION_CONTEXT('template definition',#14022,''); -#14022=APPLICATION_CONTEXT(''); -#14023=PRODUCT_DEFINITION_CONTEXT_ROLE('part definition type',$); -#14025=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#893,#14021,#14023); -#14027=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2075,#14021,#14023); -#14029=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2285,#14021,#14023); -#14030=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2275,#2285); -#14032=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7720,#14021,#14023); -#14033=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#7710,#7720); -#14035=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7851,#14021,#14023); -#14036=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#7841,#7851); -#14038=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7895,#14021,#14023); -#14039=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#7841,#7895); -#14040=PROPERTY_DEFINITION('plated passage','false',#464); -#14041=REPRESENTATION('',(#465),#13406); -#14042=PROPERTY_DEFINITION('as finished passage extent',$,#464); -#14043=PROPERTY_DEFINITION_REPRESENTATION(#14042,#14041); -#14044=PROPERTY_DEFINITION('plated passage','true',#2275); -#14045=REPRESENTATION('',(#2276),#13406); -#14046=PROPERTY_DEFINITION('as finished passage extent',$,#2275); -#14047=PROPERTY_DEFINITION_REPRESENTATION(#14046,#14045); -#14048=PROPERTY_DEFINITION('plated passage','true',#7710); -#14049=REPRESENTATION('',(#7711),#13406); -#14050=PROPERTY_DEFINITION('as finished passage extent',$,#7710); -#14051=PROPERTY_DEFINITION_REPRESENTATION(#14050,#14049); -#14052=PROPERTY_DEFINITION('plated passage','true',#7841); -#14053=REPRESENTATION('',(#7842),#13406); -#14054=PROPERTY_DEFINITION('as finished passage extent',$,#7841); -#14055=PROPERTY_DEFINITION_REPRESENTATION(#14054,#14053); -#14056=PROPERTY_DEFINITION('',$,#10361); -#14057=PROPERTY_DEFINITION_REPRESENTATION(#14056,#14058); -#14058=SHAPE_REPRESENTATION('connection point location 2d',(#8125),#225); -#14059=SHAPE_ASPECT('',$,#8142,.U.); -#14060=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14059,#10361); -#14061=PROPERTY_DEFINITION('',$,#10362); -#14062=PROPERTY_DEFINITION_REPRESENTATION(#14061,#14063); -#14063=SHAPE_REPRESENTATION('connection point location 2d',(#5009),#225); -#14064=SHAPE_ASPECT('',$,#8111,.U.); -#14065=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14064,#10362); -#14066=PROPERTY_DEFINITION('',$,#10363); -#14067=PROPERTY_DEFINITION_REPRESENTATION(#14066,#14068); -#14068=SHAPE_REPRESENTATION('connection point location 2d',(#8043),#225); -#14069=SHAPE_ASPECT('',$,#8060,.U.); -#14070=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14069,#10363); -#14071=PROPERTY_DEFINITION('',$,#10364); -#14072=PROPERTY_DEFINITION_REPRESENTATION(#14071,#14073); -#14073=SHAPE_REPRESENTATION('connection point location 2d',(#8074),#225); -#14074=SHAPE_ASPECT('',$,#8091,.U.); -#14075=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14074,#10364); -#14076=PROPERTY_DEFINITION('',$,#10365); -#14077=PROPERTY_DEFINITION_REPRESENTATION(#14076,#14078); -#14078=SHAPE_REPRESENTATION('connection point location 2d',(#7992),#225); -#14079=SHAPE_ASPECT('',$,#8009,.U.); -#14080=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14079,#10365); -#14081=PROPERTY_DEFINITION('',$,#10366); -#14082=PROPERTY_DEFINITION_REPRESENTATION(#14081,#14083); -#14083=SHAPE_REPRESENTATION('connection point location 2d',(#8146),#225); -#14084=SHAPE_ASPECT('',$,#8163,.U.); -#14085=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14084,#10366); -#14086=PROPERTY_DEFINITION('',$,#10367); -#14087=PROPERTY_DEFINITION_REPRESENTATION(#14086,#14088); -#14088=SHAPE_REPRESENTATION('connection point location 2d',(#4710),#225); -#14089=SHAPE_ASPECT('',$,#8029,.U.); -#14090=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14089,#10367); -#14091=PROPERTY_DEFINITION('',$,#10368); -#14092=PROPERTY_DEFINITION_REPRESENTATION(#14091,#14093); -#14093=SHAPE_REPRESENTATION('connection point location 2d',(#7696),#225); -#14094=SHAPE_ASPECT('',$,#7823,.U.); -#14095=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14094,#10368); -#14096=PROPERTY_DEFINITION('',$,#10545); -#14097=PROPERTY_DEFINITION_REPRESENTATION(#14096,#14098); -#14098=SHAPE_REPRESENTATION('connection point location 2d',(#8240),#225); -#14099=SHAPE_ASPECT('',$,#8245,.U.); -#14100=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14099,#10545); -#14101=PROPERTY_DEFINITION('',$,#10546); -#14102=PROPERTY_DEFINITION_REPRESENTATION(#14101,#14103); -#14103=SHAPE_REPRESENTATION('connection point location 2d',(#8250),#225); -#14104=SHAPE_ASPECT('',$,#8267,.U.); -#14105=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14104,#10546); -#14106=PROPERTY_DEFINITION('',$,#10547); -#14107=PROPERTY_DEFINITION_REPRESENTATION(#14106,#14108); -#14108=SHAPE_REPRESENTATION('connection point location 2d',(#8209),#225); -#14109=SHAPE_ASPECT('',$,#8226,.U.); -#14110=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14109,#10547); -#14111=PROPERTY_DEFINITION('',$,#10548); -#14112=PROPERTY_DEFINITION_REPRESENTATION(#14111,#14113); -#14113=SHAPE_REPRESENTATION('connection point location 2d',(#8250),#225); -#14114=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14104,#10548); -#14115=PROPERTY_DEFINITION('',$,#10549); -#14116=PROPERTY_DEFINITION_REPRESENTATION(#14115,#14117); -#14117=SHAPE_REPRESENTATION('connection point location 2d',(#8209),#225); -#14118=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14109,#10549); -#14119=PROPERTY_DEFINITION('',$,#10550); -#14120=PROPERTY_DEFINITION_REPRESENTATION(#14119,#14121); -#14121=SHAPE_REPRESENTATION('connection point location 2d',(#8230),#225); -#14122=SHAPE_ASPECT('',$,#8235,.U.); -#14123=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14122,#10550); -#14124=PROPERTY_DEFINITION('',$,#10622); -#14125=PROPERTY_DEFINITION_REPRESENTATION(#14124,#14126); -#14126=SHAPE_REPRESENTATION('connection point location 2d',(#8314),#225); -#14127=SHAPE_ASPECT('',$,#8319,.U.); -#14128=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14127,#10622); -#14129=PROPERTY_DEFINITION('',$,#10623); -#14130=PROPERTY_DEFINITION_REPRESENTATION(#14129,#14131); -#14131=SHAPE_REPRESENTATION('connection point location 2d',(#5181),#225); -#14132=SHAPE_ASPECT('',$,#8340,.U.); -#14133=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14132,#10623); -#14134=PROPERTY_DEFINITION('',$,#10624); -#14135=PROPERTY_DEFINITION_REPRESENTATION(#14134,#14136); -#14136=SHAPE_REPRESENTATION('connection point location 2d',(#8284),#225); -#14137=SHAPE_ASPECT('',$,#8289,.U.); -#14138=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14137,#10624); -#14139=PROPERTY_DEFINITION('',$,#10625); -#14140=PROPERTY_DEFINITION_REPRESENTATION(#14139,#14141); -#14141=SHAPE_REPRESENTATION('connection point location 2d',(#5043),#225); -#14142=SHAPE_ASPECT('',$,#8310,.U.); -#14143=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14142,#10625); -#14144=PROPERTY_DEFINITION('',$,#10626); -#14145=PROPERTY_DEFINITION_REPRESENTATION(#14144,#14146); -#14146=SHAPE_REPRESENTATION('connection point location 2d',(#5043),#225); -#14147=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14142,#10626); -#14148=PROPERTY_DEFINITION('',$,#10627); -#14149=PROPERTY_DEFINITION_REPRESENTATION(#14148,#14150); -#14150=SHAPE_REPRESENTATION('connection point location 2d',(#5181),#225); -#14151=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14132,#10627); -#14152=PROPERTY_DEFINITION('',$,#10628); -#14153=PROPERTY_DEFINITION_REPRESENTATION(#14152,#14154); -#14154=SHAPE_REPRESENTATION('connection point location 2d',(#5043),#225); -#14155=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14142,#10628); -#14156=PROPERTY_DEFINITION('',$,#10629); -#14157=PROPERTY_DEFINITION_REPRESENTATION(#14156,#14158); -#14158=SHAPE_REPRESENTATION('connection point location 2d',(#5181),#225); -#14159=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14132,#10629); -#14160=PROPERTY_DEFINITION('',$,#10689); -#14161=PROPERTY_DEFINITION_REPRESENTATION(#14160,#14162); -#14162=SHAPE_REPRESENTATION('connection point location 2d',(#8396),#225); -#14163=SHAPE_ASPECT('',$,#8401,.U.); -#14164=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14163,#10689); -#14165=PROPERTY_DEFINITION('',$,#10690); -#14166=PROPERTY_DEFINITION_REPRESENTATION(#14165,#14167); -#14167=SHAPE_REPRESENTATION('connection point location 2d',(#5112),#225); -#14168=SHAPE_ASPECT('',$,#8392,.U.); -#14169=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14168,#10690); -#14170=PROPERTY_DEFINITION('',$,#10691); -#14171=PROPERTY_DEFINITION_REPRESENTATION(#14170,#14172); -#14172=SHAPE_REPRESENTATION('connection point location 2d',(#8406),#225); -#14173=SHAPE_ASPECT('',$,#8411,.U.); -#14174=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14173,#10691); -#14175=PROPERTY_DEFINITION('',$,#10692); -#14176=PROPERTY_DEFINITION_REPRESENTATION(#14175,#14177); -#14177=SHAPE_REPRESENTATION('connection point location 2d',(#8355),#225); -#14178=SHAPE_ASPECT('',$,#8372,.U.); -#14179=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14178,#10692); -#14180=PROPERTY_DEFINITION('',$,#10693); -#14181=PROPERTY_DEFINITION_REPRESENTATION(#14180,#14182); -#14182=SHAPE_REPRESENTATION('connection point location 2d',(#8355),#225); -#14183=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14178,#10693); -#14184=PROPERTY_DEFINITION('',$,#10763); -#14185=PROPERTY_DEFINITION_REPRESENTATION(#14184,#14186); -#14186=SHAPE_REPRESENTATION('connection point location 2d',(#5048),#225); -#14187=SHAPE_ASPECT('',$,#8455,.U.); -#14188=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14187,#10763); -#14189=PROPERTY_DEFINITION('',$,#10764); -#14190=PROPERTY_DEFINITION_REPRESENTATION(#14189,#14191); -#14191=SHAPE_REPRESENTATION('connection point location 2d',(#8429),#225); -#14192=SHAPE_ASPECT('',$,#8434,.U.); -#14193=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14192,#10764); -#14194=PROPERTY_DEFINITION('',$,#10765); -#14195=PROPERTY_DEFINITION_REPRESENTATION(#14194,#14196); -#14196=SHAPE_REPRESENTATION('connection point location 2d',(#5048),#225); -#14197=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14187,#10765); -#14198=PROPERTY_DEFINITION('',$,#10766); -#14199=PROPERTY_DEFINITION_REPRESENTATION(#14198,#14200); -#14200=SHAPE_REPRESENTATION('connection point location 2d',(#5046),#225); -#14201=SHAPE_ASPECT('',$,#2405,.U.); -#14202=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14201,#10766); -#14203=PROPERTY_DEFINITION('',$,#10814); -#14204=PROPERTY_DEFINITION_REPRESENTATION(#14203,#14205); -#14205=SHAPE_REPRESENTATION('connection point location 2d',(#5114),#225); -#14206=SHAPE_ASPECT('',$,#8494,.U.); -#14207=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14206,#10814); -#14208=PROPERTY_DEFINITION('',$,#10815); -#14209=PROPERTY_DEFINITION_REPRESENTATION(#14208,#14210); -#14210=SHAPE_REPRESENTATION('connection point location 2d',(#8468),#225); -#14211=SHAPE_ASPECT('',$,#8473,.U.); -#14212=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14211,#10815); -#14213=PROPERTY_DEFINITION('',$,#10816); -#14214=PROPERTY_DEFINITION_REPRESENTATION(#14213,#14215); -#14215=SHAPE_REPRESENTATION('connection point location 2d',(#5114),#225); -#14216=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14206,#10816); -#14217=PROPERTY_DEFINITION('',$,#10817); -#14218=PROPERTY_DEFINITION_REPRESENTATION(#14217,#14219); -#14219=SHAPE_REPRESENTATION('connection point location 2d',(#3924),#225); -#14220=SHAPE_ASPECT('',$,#3965,.U.); -#14221=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14220,#10817); -#14222=PROPERTY_DEFINITION('',$,#10868); -#14223=PROPERTY_DEFINITION_REPRESENTATION(#14222,#14224); -#14224=SHAPE_REPRESENTATION('connection point location 2d',(#5337),#225); -#14225=SHAPE_ASPECT('',$,#8586,.U.); -#14226=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14225,#10868); -#14227=PROPERTY_DEFINITION('',$,#10869); -#14228=PROPERTY_DEFINITION_REPRESENTATION(#14227,#14229); -#14229=SHAPE_REPRESENTATION('connection point location 2d',(#5339),#225); -#14230=SHAPE_ASPECT('',$,#8542,.U.); -#14231=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14230,#10869); -#14232=PROPERTY_DEFINITION('',$,#10870); -#14233=PROPERTY_DEFINITION_REPRESENTATION(#14232,#14234); -#14234=SHAPE_REPRESENTATION('connection point location 2d',(#5335),#225); -#14235=SHAPE_ASPECT('',$,#9023,.U.); -#14236=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14235,#10870); -#14237=PROPERTY_DEFINITION('',$,#10871); -#14238=PROPERTY_DEFINITION_REPRESENTATION(#14237,#14239); -#14239=SHAPE_REPRESENTATION('connection point location 2d',(#5327),#225); -#14240=SHAPE_ASPECT('',$,#8870,.U.); -#14241=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14240,#10871); -#14242=PROPERTY_DEFINITION('',$,#10872); -#14243=PROPERTY_DEFINITION_REPRESENTATION(#14242,#14244); -#14244=SHAPE_REPRESENTATION('connection point location 2d',(#5323),#225); -#14245=SHAPE_ASPECT('',$,#8652,.U.); -#14246=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14245,#10872); -#14247=PROPERTY_DEFINITION('',$,#10873); -#14248=PROPERTY_DEFINITION_REPRESENTATION(#14247,#14249); -#14249=SHAPE_REPRESENTATION('connection point location 2d',(#8782),#225); -#14250=SHAPE_ASPECT('',$,#8787,.U.); -#14251=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14250,#10873); -#14252=PROPERTY_DEFINITION('',$,#10874); -#14253=PROPERTY_DEFINITION_REPRESENTATION(#14252,#14254); -#14254=SHAPE_REPRESENTATION('connection point location 2d',(#8817),#225); -#14255=SHAPE_ASPECT('',$,#8836,.U.); -#14256=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14255,#10874); -#14257=PROPERTY_DEFINITION('',$,#10875); -#14258=PROPERTY_DEFINITION_REPRESENTATION(#14257,#14259); -#14259=SHAPE_REPRESENTATION('connection point location 2d',(#8792),#225); -#14260=SHAPE_ASPECT('',$,#8811,.U.); -#14261=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14260,#10875); -#14262=PROPERTY_DEFINITION('',$,#10876); -#14263=PROPERTY_DEFINITION_REPRESENTATION(#14262,#14264); -#14264=SHAPE_REPRESENTATION('connection point location 2d',(#5245),#225); -#14265=SHAPE_ASPECT('',$,#8766,.U.); -#14266=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14265,#10876); -#14267=PROPERTY_DEFINITION('',$,#10877); -#14268=PROPERTY_DEFINITION_REPRESENTATION(#14267,#14269); -#14269=SHAPE_REPRESENTATION('connection point location 2d',(#5247),#225); -#14270=SHAPE_ASPECT('',$,#8950,.U.); -#14271=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14270,#10877); -#14272=PROPERTY_DEFINITION('',$,#10878); -#14273=PROPERTY_DEFINITION_REPRESENTATION(#14272,#14274); -#14274=SHAPE_REPRESENTATION('connection point location 2d',(#8876),#225); -#14275=SHAPE_ASPECT('',$,#8893,.U.); -#14276=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14275,#10878); -#14277=PROPERTY_DEFINITION('',$,#10879); -#14278=PROPERTY_DEFINITION_REPRESENTATION(#14277,#14279); -#14279=SHAPE_REPRESENTATION('connection point location 2d',(#8922),#225); -#14280=SHAPE_ASPECT('',$,#8927,.U.); -#14281=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14280,#10879); -#14282=PROPERTY_DEFINITION('',$,#10880); -#14283=PROPERTY_DEFINITION_REPRESENTATION(#14282,#14284); -#14284=SHAPE_REPRESENTATION('connection point location 2d',(#5279),#225); -#14285=SHAPE_ASPECT('',$,#8696,.U.); -#14286=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14285,#10880); -#14287=PROPERTY_DEFINITION('',$,#10881); -#14288=PROPERTY_DEFINITION_REPRESENTATION(#14287,#14289); -#14289=SHAPE_REPRESENTATION('connection point location 2d',(#8772),#225); -#14290=SHAPE_ASPECT('',$,#8777,.U.); -#14291=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14290,#10881); -#14292=PROPERTY_DEFINITION('',$,#10882); -#14293=PROPERTY_DEFINITION_REPRESENTATION(#14292,#14294); -#14294=SHAPE_REPRESENTATION('connection point location 2d',(#8980),#225); -#14295=SHAPE_ASPECT('',$,#8999,.U.); -#14296=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14295,#10882); -#14297=PROPERTY_DEFINITION('',$,#10883); -#14298=PROPERTY_DEFINITION_REPRESENTATION(#14297,#14299); -#14299=SHAPE_REPRESENTATION('connection point location 2d',(#5323),#225); -#14300=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14245,#10883); -#14301=PROPERTY_DEFINITION('',$,#10884); -#14302=PROPERTY_DEFINITION_REPRESENTATION(#14301,#14303); -#14303=SHAPE_REPRESENTATION('connection point location 2d',(#5335),#225); -#14304=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14235,#10884); -#14305=PROPERTY_DEFINITION('',$,#10885); -#14306=PROPERTY_DEFINITION_REPRESENTATION(#14305,#14307); -#14307=SHAPE_REPRESENTATION('connection point location 2d',(#5319),#225); -#14308=SHAPE_ASPECT('',$,#8632,.U.); -#14309=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14308,#10885); -#14310=PROPERTY_DEFINITION('',$,#10886); -#14311=PROPERTY_DEFINITION_REPRESENTATION(#14310,#14312); -#14312=SHAPE_REPRESENTATION('connection point location 2d',(#5333),#225); -#14313=SHAPE_ASPECT('',$,#8718,.U.); -#14314=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14313,#10886); -#14315=PROPERTY_DEFINITION('',$,#10887); -#14316=PROPERTY_DEFINITION_REPRESENTATION(#14315,#14317); -#14317=SHAPE_REPRESENTATION('connection point location 2d',(#5321),#225); -#14318=SHAPE_ASPECT('',$,#9045,.U.); -#14319=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14318,#10887); -#14320=PROPERTY_DEFINITION('',$,#10888); -#14321=PROPERTY_DEFINITION_REPRESENTATION(#14320,#14322); -#14322=SHAPE_REPRESENTATION('connection point location 2d',(#5249),#225); -#14323=SHAPE_ASPECT('',$,#8674,.U.); -#14324=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14323,#10888); -#14325=PROPERTY_DEFINITION('',$,#10889); -#14326=PROPERTY_DEFINITION_REPRESENTATION(#14325,#14327); -#14327=SHAPE_REPRESENTATION('connection point location 2d',(#8792),#225); -#14328=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14260,#10889); -#14329=PROPERTY_DEFINITION('',$,#10890); -#14330=PROPERTY_DEFINITION_REPRESENTATION(#14329,#14331); -#14331=SHAPE_REPRESENTATION('connection point location 2d',(#5317),#225); -#14332=SHAPE_ASPECT('',$,#8520,.U.); -#14333=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14332,#10890); -#14334=PROPERTY_DEFINITION('',$,#10891); -#14335=PROPERTY_DEFINITION_REPRESENTATION(#14334,#14336); -#14336=SHAPE_REPRESENTATION('connection point location 2d',(#8548),#225); -#14337=SHAPE_ASPECT('',$,#8553,.U.); -#14338=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14337,#10891); -#14339=PROPERTY_DEFINITION('',$,#10892); -#14340=PROPERTY_DEFINITION_REPRESENTATION(#14339,#14341); -#14341=SHAPE_REPRESENTATION('connection point location 2d',(#5255),#225); -#14342=SHAPE_ASPECT('',$,#8974,.U.); -#14343=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14342,#10892); -#14344=PROPERTY_DEFINITION('',$,#10893); -#14345=PROPERTY_DEFINITION_REPRESENTATION(#14344,#14346); -#14346=SHAPE_REPRESENTATION('connection point location 2d',(#5327),#225); -#14347=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14240,#10893); -#14348=PROPERTY_DEFINITION('',$,#10894); -#14349=PROPERTY_DEFINITION_REPRESENTATION(#14348,#14350); -#14350=SHAPE_REPRESENTATION('connection point location 2d',(#5247),#225); -#14351=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14270,#10894); -#14352=PROPERTY_DEFINITION('',$,#10895); -#14353=PROPERTY_DEFINITION_REPRESENTATION(#14352,#14354); -#14354=SHAPE_REPRESENTATION('connection point location 2d',(#8897),#225); -#14355=SHAPE_ASPECT('',$,#8916,.U.); -#14356=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14355,#10895); -#14357=PROPERTY_DEFINITION('',$,#10896); -#14358=PROPERTY_DEFINITION_REPRESENTATION(#14357,#14359); -#14359=SHAPE_REPRESENTATION('connection point location 2d',(#8980),#225); -#14360=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14295,#10896); -#14361=PROPERTY_DEFINITION('',$,#10897); -#14362=PROPERTY_DEFINITION_REPRESENTATION(#14361,#14363); -#14363=SHAPE_REPRESENTATION('connection point location 2d',(#5331),#225); -#14364=SHAPE_ASPECT('',$,#8742,.U.); -#14365=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14364,#10897); -#14366=PROPERTY_DEFINITION('',$,#10898); -#14367=PROPERTY_DEFINITION_REPRESENTATION(#14366,#14368); -#14368=SHAPE_REPRESENTATION('connection point location 2d',(#5333),#225); -#14369=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14313,#10898); -#14370=PROPERTY_DEFINITION('',$,#10899); -#14371=PROPERTY_DEFINITION_REPRESENTATION(#14370,#14372); -#14372=SHAPE_REPRESENTATION('connection point location 2d',(#8842),#225); -#14373=SHAPE_ASPECT('',$,#8847,.U.); -#14374=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14373,#10899); -#14375=PROPERTY_DEFINITION('',$,#10900); -#14376=PROPERTY_DEFINITION_REPRESENTATION(#14375,#14377); -#14377=SHAPE_REPRESENTATION('connection point location 2d',(#5321),#225); -#14378=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14318,#10900); -#14379=PROPERTY_DEFINITION('',$,#10901); -#14380=PROPERTY_DEFINITION_REPRESENTATION(#14379,#14381); -#14381=SHAPE_REPRESENTATION('connection point location 2d',(#8558),#225); -#14382=SHAPE_ASPECT('',$,#8563,.U.); -#14383=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14382,#10901); -#14384=PROPERTY_DEFINITION('',$,#10902); -#14385=PROPERTY_DEFINITION_REPRESENTATION(#14384,#14386); -#14386=SHAPE_REPRESENTATION('connection point location 2d',(#5319),#225); -#14387=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14308,#10902); -#14388=PROPERTY_DEFINITION('',$,#10903); -#14389=PROPERTY_DEFINITION_REPRESENTATION(#14388,#14390); -#14390=SHAPE_REPRESENTATION('connection point location 2d',(#5337),#225); -#14391=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14225,#10903); -#14392=PROPERTY_DEFINITION('',$,#10904); -#14393=PROPERTY_DEFINITION_REPRESENTATION(#14392,#14394); -#14394=SHAPE_REPRESENTATION('connection point location 2d',(#5339),#225); -#14395=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14230,#10904); -#14396=PROPERTY_DEFINITION('',$,#10905); -#14397=PROPERTY_DEFINITION_REPRESENTATION(#14396,#14398); -#14398=SHAPE_REPRESENTATION('connection point location 2d',(#5335),#225); -#14399=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14235,#10905); -#14400=PROPERTY_DEFINITION('',$,#10906); -#14401=PROPERTY_DEFINITION_REPRESENTATION(#14400,#14402); -#14402=SHAPE_REPRESENTATION('connection point location 2d',(#5327),#225); -#14403=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14240,#10906); -#14404=PROPERTY_DEFINITION('',$,#10907); -#14405=PROPERTY_DEFINITION_REPRESENTATION(#14404,#14406); -#14406=SHAPE_REPRESENTATION('connection point location 2d',(#5279),#225); -#14407=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14285,#10907); -#14408=PROPERTY_DEFINITION('',$,#10908); -#14409=PROPERTY_DEFINITION_REPRESENTATION(#14408,#14410); -#14410=SHAPE_REPRESENTATION('connection point location 2d',(#5337),#225); -#14411=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14225,#10908); -#14412=PROPERTY_DEFINITION('',$,#10909); -#14413=PROPERTY_DEFINITION_REPRESENTATION(#14412,#14414); -#14414=SHAPE_REPRESENTATION('connection point location 2d',(#8980),#225); -#14415=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14295,#10909); -#14416=PROPERTY_DEFINITION('',$,#10910); -#14417=PROPERTY_DEFINITION_REPRESENTATION(#14416,#14418); -#14418=SHAPE_REPRESENTATION('connection point location 2d',(#5323),#225); -#14419=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14245,#10910); -#14420=PROPERTY_DEFINITION('',$,#10911); -#14421=PROPERTY_DEFINITION_REPRESENTATION(#14420,#14422); -#14422=SHAPE_REPRESENTATION('connection point location 2d',(#5335),#225); -#14423=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14235,#10911); -#14424=PROPERTY_DEFINITION('',$,#10912); -#14425=PROPERTY_DEFINITION_REPRESENTATION(#14424,#14426); -#14426=SHAPE_REPRESENTATION('connection point location 2d',(#5331),#225); -#14427=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14364,#10912); -#14428=PROPERTY_DEFINITION('',$,#10913); -#14429=PROPERTY_DEFINITION_REPRESENTATION(#14428,#14430); -#14430=SHAPE_REPRESENTATION('connection point location 2d',(#5319),#225); -#14431=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14308,#10913); -#14432=PROPERTY_DEFINITION('',$,#10914); -#14433=PROPERTY_DEFINITION_REPRESENTATION(#14432,#14434); -#14434=SHAPE_REPRESENTATION('connection point location 2d',(#5333),#225); -#14435=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14313,#10914); -#14436=PROPERTY_DEFINITION('',$,#10915); -#14437=PROPERTY_DEFINITION_REPRESENTATION(#14436,#14438); -#14438=SHAPE_REPRESENTATION('connection point location 2d',(#5245),#225); -#14439=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14265,#10915); -#14440=PROPERTY_DEFINITION('',$,#10916); -#14441=PROPERTY_DEFINITION_REPRESENTATION(#14440,#14442); -#14442=SHAPE_REPRESENTATION('connection point location 2d',(#5243),#225); -#14443=SHAPE_ASPECT('',$,#9067,.U.); -#14444=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14443,#10916); -#14445=PROPERTY_DEFINITION('',$,#10917); -#14446=PROPERTY_DEFINITION_REPRESENTATION(#14445,#14447); -#14447=SHAPE_REPRESENTATION('connection point location 2d',(#5321),#225); -#14448=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14318,#10917); -#14449=PROPERTY_DEFINITION('',$,#10918); -#14450=PROPERTY_DEFINITION_REPRESENTATION(#14449,#14451); -#14451=SHAPE_REPRESENTATION('connection point location 2d',(#5249),#225); -#14452=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14323,#10918); -#14453=PROPERTY_DEFINITION('',$,#10919); -#14454=PROPERTY_DEFINITION_REPRESENTATION(#14453,#14455); -#14455=SHAPE_REPRESENTATION('connection point location 2d',(#8817),#225); -#14456=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14255,#10919); -#14457=PROPERTY_DEFINITION('',$,#10920); -#14458=PROPERTY_DEFINITION_REPRESENTATION(#14457,#14459); -#14459=SHAPE_REPRESENTATION('connection point location 2d',(#8897),#225); -#14460=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14355,#10920); -#14461=PROPERTY_DEFINITION('',$,#10921); -#14462=PROPERTY_DEFINITION_REPRESENTATION(#14461,#14463); -#14463=SHAPE_REPRESENTATION('connection point location 2d',(#8792),#225); -#14464=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14260,#10921); -#14465=PROPERTY_DEFINITION('',$,#10922); -#14466=PROPERTY_DEFINITION_REPRESENTATION(#14465,#14467); -#14467=SHAPE_REPRESENTATION('connection point location 2d',(#8876),#225); -#14468=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14275,#10922); -#14469=PROPERTY_DEFINITION('',$,#10923); -#14470=PROPERTY_DEFINITION_REPRESENTATION(#14469,#14471); -#14471=SHAPE_REPRESENTATION('connection point location 2d',(#5317),#225); -#14472=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14332,#10923); -#14473=PROPERTY_DEFINITION('',$,#10924); -#14474=PROPERTY_DEFINITION_REPRESENTATION(#14473,#14475); -#14475=SHAPE_REPRESENTATION('connection point location 2d',(#5339),#225); -#14476=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14230,#10924); -#14477=PROPERTY_DEFINITION('',$,#10925); -#14478=PROPERTY_DEFINITION_REPRESENTATION(#14477,#14479); -#14479=SHAPE_REPRESENTATION('connection point location 2d',(#5251),#225); -#14480=SHAPE_ASPECT('',$,#8610,.U.); -#14481=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14480,#10925); -#14482=PROPERTY_DEFINITION('',$,#10926); -#14483=PROPERTY_DEFINITION_REPRESENTATION(#14482,#14484); -#14484=SHAPE_REPRESENTATION('connection point location 2d',(#5255),#225); -#14485=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14342,#10926); -#14486=PROPERTY_DEFINITION('',$,#10927); -#14487=PROPERTY_DEFINITION_REPRESENTATION(#14486,#14488); -#14488=SHAPE_REPRESENTATION('connection point location 2d',(#5327),#225); -#14489=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14240,#10927); -#14490=PROPERTY_DEFINITION('',$,#10928); -#14491=PROPERTY_DEFINITION_REPRESENTATION(#14490,#14492); -#14492=SHAPE_REPRESENTATION('connection point location 2d',(#5247),#225); -#14493=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14270,#10928); -#14494=PROPERTY_DEFINITION('',$,#10929); -#14495=PROPERTY_DEFINITION_REPRESENTATION(#14494,#14496); -#14496=SHAPE_REPRESENTATION('connection point location 2d',(#5279),#225); -#14497=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14285,#10929); -#14498=PROPERTY_DEFINITION('',$,#10930); -#14499=PROPERTY_DEFINITION_REPRESENTATION(#14498,#14500); -#14500=SHAPE_REPRESENTATION('connection point location 2d',(#8980),#225); -#14501=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14295,#10930); -#14502=PROPERTY_DEFINITION('',$,#10931); -#14503=PROPERTY_DEFINITION_REPRESENTATION(#14502,#14504); -#14504=SHAPE_REPRESENTATION('connection point location 2d',(#5335),#225); -#14505=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14235,#10931); -#14506=PROPERTY_DEFINITION('',$,#10932); -#14507=PROPERTY_DEFINITION_REPRESENTATION(#14506,#14508); -#14508=SHAPE_REPRESENTATION('connection point location 2d',(#5333),#225); -#14509=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14313,#10932); -#14510=PROPERTY_DEFINITION('',$,#10933); -#14511=PROPERTY_DEFINITION_REPRESENTATION(#14510,#14512); -#14512=SHAPE_REPRESENTATION('connection point location 2d',(#5249),#225); -#14513=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14323,#10933); -#14514=PROPERTY_DEFINITION('',$,#10934); -#14515=PROPERTY_DEFINITION_REPRESENTATION(#14514,#14516); -#14516=SHAPE_REPRESENTATION('connection point location 2d',(#8792),#225); -#14517=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14260,#10934); -#14518=PROPERTY_DEFINITION('',$,#10935); -#14519=PROPERTY_DEFINITION_REPRESENTATION(#14518,#14520); -#14520=SHAPE_REPRESENTATION('connection point location 2d',(#5317),#225); -#14521=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14332,#10935); -#14522=PROPERTY_DEFINITION('',$,#10936); -#14523=PROPERTY_DEFINITION_REPRESENTATION(#14522,#14524); -#14524=SHAPE_REPRESENTATION('connection point location 2d',(#5255),#225); -#14525=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14342,#10936); -#14526=PROPERTY_DEFINITION('',$,#10937); -#14527=PROPERTY_DEFINITION_REPRESENTATION(#14526,#14528); -#14528=SHAPE_REPRESENTATION('connection point location 2d',(#5327),#225); -#14529=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14240,#10937); -#14530=PROPERTY_DEFINITION('',$,#10938); -#14531=PROPERTY_DEFINITION_REPRESENTATION(#14530,#14532); -#14532=SHAPE_REPRESENTATION('connection point location 2d',(#5247),#225); -#14533=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14270,#10938); -#14534=PROPERTY_DEFINITION('',$,#10939); -#14535=PROPERTY_DEFINITION_REPRESENTATION(#14534,#14536); -#14536=SHAPE_REPRESENTATION('connection point location 2d',(#8792),#225); -#14537=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14260,#10939); -#14538=PROPERTY_DEFINITION('',$,#10940); -#14539=PROPERTY_DEFINITION_REPRESENTATION(#14538,#14540); -#14540=SHAPE_REPRESENTATION('connection point location 2d',(#2103),#225); -#14541=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#2116,#10940); -#14542=PROPERTY_DEFINITION('',$,#10941); -#14543=PROPERTY_DEFINITION_REPRESENTATION(#14542,#14544); -#14544=SHAPE_REPRESENTATION('connection point location 2d',(#8980),#225); -#14545=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14295,#10941); -#14546=PROPERTY_DEFINITION('',$,#10942); -#14547=PROPERTY_DEFINITION_REPRESENTATION(#14546,#14548); -#14548=SHAPE_REPRESENTATION('connection point location 2d',(#5255),#225); -#14549=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14342,#10942); -#14550=PROPERTY_DEFINITION('',$,#10943); -#14551=PROPERTY_DEFINITION_REPRESENTATION(#14550,#14552); -#14552=SHAPE_REPRESENTATION('connection point location 2d',(#5333),#225); -#14553=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14313,#10943); -#14554=PROPERTY_DEFINITION('',$,#10944); -#14555=PROPERTY_DEFINITION_REPRESENTATION(#14554,#14556); -#14556=SHAPE_REPRESENTATION('connection point location 2d',(#5247),#225); -#14557=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14270,#10944); -#14558=PROPERTY_DEFINITION('',$,#10945); -#14559=PROPERTY_DEFINITION_REPRESENTATION(#14558,#14560); -#14560=SHAPE_REPRESENTATION('connection point location 2d',(#5249),#225); -#14561=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14323,#10945); -#14562=PROPERTY_DEFINITION('',$,#10946); -#14563=PROPERTY_DEFINITION_REPRESENTATION(#14562,#14564); -#14564=SHAPE_REPRESENTATION('connection point location 2d',(#5251),#225); -#14565=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14480,#10946); -#14566=PROPERTY_DEFINITION('',$,#10947); -#14567=PROPERTY_DEFINITION_REPRESENTATION(#14566,#14568); -#14568=SHAPE_REPRESENTATION('connection point location 2d',(#5255),#225); -#14569=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14342,#10947); -#14570=PROPERTY_DEFINITION('',$,#10948); -#14571=PROPERTY_DEFINITION_REPRESENTATION(#14570,#14572); -#14572=SHAPE_REPRESENTATION('connection point location 2d',(#5243),#225); -#14573=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14443,#10948); -#14574=PROPERTY_DEFINITION('',$,#10949); -#14575=PROPERTY_DEFINITION_REPRESENTATION(#14574,#14576); -#14576=SHAPE_REPRESENTATION('connection point location 2d',(#5249),#225); -#14577=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14323,#10949); -#14578=PROPERTY_DEFINITION('',$,#10950); -#14579=PROPERTY_DEFINITION_REPRESENTATION(#14578,#14580); -#14580=SHAPE_REPRESENTATION('connection point location 2d',(#5279),#225); -#14581=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14285,#10950); -#14582=PROPERTY_DEFINITION('',$,#10951); -#14583=PROPERTY_DEFINITION_REPRESENTATION(#14582,#14584); -#14584=SHAPE_REPRESENTATION('connection point location 2d',(#5337),#225); -#14585=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14225,#10951); -#14586=PROPERTY_DEFINITION('',$,#10952); -#14587=PROPERTY_DEFINITION_REPRESENTATION(#14586,#14588); -#14588=SHAPE_REPRESENTATION('connection point location 2d',(#8980),#225); -#14589=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14295,#10952); -#14590=PROPERTY_DEFINITION('',$,#10953); -#14591=PROPERTY_DEFINITION_REPRESENTATION(#14590,#14592); -#14592=SHAPE_REPRESENTATION('connection point location 2d',(#5323),#225); -#14593=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14245,#10953); -#14594=PROPERTY_DEFINITION('',$,#10954); -#14595=PROPERTY_DEFINITION_REPRESENTATION(#14594,#14596); -#14596=SHAPE_REPRESENTATION('connection point location 2d',(#5335),#225); -#14597=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14235,#10954); -#14598=PROPERTY_DEFINITION('',$,#10955); -#14599=PROPERTY_DEFINITION_REPRESENTATION(#14598,#14600); -#14600=SHAPE_REPRESENTATION('connection point location 2d',(#5331),#225); -#14601=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14364,#10955); -#14602=PROPERTY_DEFINITION('',$,#10956); -#14603=PROPERTY_DEFINITION_REPRESENTATION(#14602,#14604); -#14604=SHAPE_REPRESENTATION('connection point location 2d',(#5319),#225); -#14605=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14308,#10956); -#14606=PROPERTY_DEFINITION('',$,#10957); -#14607=PROPERTY_DEFINITION_REPRESENTATION(#14606,#14608); -#14608=SHAPE_REPRESENTATION('connection point location 2d',(#5333),#225); -#14609=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14313,#10957); -#14610=PROPERTY_DEFINITION('',$,#10958); -#14611=PROPERTY_DEFINITION_REPRESENTATION(#14610,#14612); -#14612=SHAPE_REPRESENTATION('connection point location 2d',(#5245),#225); -#14613=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14265,#10958); -#14614=PROPERTY_DEFINITION('',$,#10959); -#14615=PROPERTY_DEFINITION_REPRESENTATION(#14614,#14616); -#14616=SHAPE_REPRESENTATION('connection point location 2d',(#5243),#225); -#14617=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14443,#10959); -#14618=PROPERTY_DEFINITION('',$,#10960); -#14619=PROPERTY_DEFINITION_REPRESENTATION(#14618,#14620); -#14620=SHAPE_REPRESENTATION('connection point location 2d',(#5321),#225); -#14621=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14318,#10960); -#14622=PROPERTY_DEFINITION('',$,#10961); -#14623=PROPERTY_DEFINITION_REPRESENTATION(#14622,#14624); -#14624=SHAPE_REPRESENTATION('connection point location 2d',(#5249),#225); -#14625=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14323,#10961); -#14626=PROPERTY_DEFINITION('',$,#10962); -#14627=PROPERTY_DEFINITION_REPRESENTATION(#14626,#14628); -#14628=SHAPE_REPRESENTATION('connection point location 2d',(#8817),#225); -#14629=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14255,#10962); -#14630=PROPERTY_DEFINITION('',$,#10963); -#14631=PROPERTY_DEFINITION_REPRESENTATION(#14630,#14632); -#14632=SHAPE_REPRESENTATION('connection point location 2d',(#8897),#225); -#14633=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14355,#10963); -#14634=PROPERTY_DEFINITION('',$,#10964); -#14635=PROPERTY_DEFINITION_REPRESENTATION(#14634,#14636); -#14636=SHAPE_REPRESENTATION('connection point location 2d',(#8792),#225); -#14637=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14260,#10964); -#14638=PROPERTY_DEFINITION('',$,#10965); -#14639=PROPERTY_DEFINITION_REPRESENTATION(#14638,#14640); -#14640=SHAPE_REPRESENTATION('connection point location 2d',(#8876),#225); -#14641=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14275,#10965); -#14642=PROPERTY_DEFINITION('',$,#10966); -#14643=PROPERTY_DEFINITION_REPRESENTATION(#14642,#14644); -#14644=SHAPE_REPRESENTATION('connection point location 2d',(#5317),#225); -#14645=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14332,#10966); -#14646=PROPERTY_DEFINITION('',$,#10967); -#14647=PROPERTY_DEFINITION_REPRESENTATION(#14646,#14648); -#14648=SHAPE_REPRESENTATION('connection point location 2d',(#5339),#225); -#14649=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14230,#10967); -#14650=PROPERTY_DEFINITION('',$,#10968); -#14651=PROPERTY_DEFINITION_REPRESENTATION(#14650,#14652); -#14652=SHAPE_REPRESENTATION('connection point location 2d',(#5251),#225); -#14653=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14480,#10968); -#14654=PROPERTY_DEFINITION('',$,#10969); -#14655=PROPERTY_DEFINITION_REPRESENTATION(#14654,#14656); -#14656=SHAPE_REPRESENTATION('connection point location 2d',(#5255),#225); -#14657=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14342,#10969); -#14658=PROPERTY_DEFINITION('',$,#10970); -#14659=PROPERTY_DEFINITION_REPRESENTATION(#14658,#14660); -#14660=SHAPE_REPRESENTATION('connection point location 2d',(#5327),#225); -#14661=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14240,#10970); -#14662=PROPERTY_DEFINITION('',$,#10971); -#14663=PROPERTY_DEFINITION_REPRESENTATION(#14662,#14664); -#14664=SHAPE_REPRESENTATION('connection point location 2d',(#5247),#225); -#14665=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14270,#10971); -#14666=PROPERTY_DEFINITION('',$,#10972); -#14667=PROPERTY_DEFINITION_REPRESENTATION(#14666,#14668); -#14668=SHAPE_REPRESENTATION('connection point location 2d',(#5279),#225); -#14669=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14285,#10972); -#14670=PROPERTY_DEFINITION('',$,#10973); -#14671=PROPERTY_DEFINITION_REPRESENTATION(#14670,#14672); -#14672=SHAPE_REPRESENTATION('connection point location 2d',(#5337),#225); -#14673=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14225,#10973); -#14674=PROPERTY_DEFINITION('',$,#10974); -#14675=PROPERTY_DEFINITION_REPRESENTATION(#14674,#14676); -#14676=SHAPE_REPRESENTATION('connection point location 2d',(#8980),#225); -#14677=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14295,#10974); -#14678=PROPERTY_DEFINITION('',$,#10975); -#14679=PROPERTY_DEFINITION_REPRESENTATION(#14678,#14680); -#14680=SHAPE_REPRESENTATION('connection point location 2d',(#5323),#225); -#14681=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14245,#10975); -#14682=PROPERTY_DEFINITION('',$,#10976); -#14683=PROPERTY_DEFINITION_REPRESENTATION(#14682,#14684); -#14684=SHAPE_REPRESENTATION('connection point location 2d',(#5335),#225); -#14685=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14235,#10976); -#14686=PROPERTY_DEFINITION('',$,#10977); -#14687=PROPERTY_DEFINITION_REPRESENTATION(#14686,#14688); -#14688=SHAPE_REPRESENTATION('connection point location 2d',(#5331),#225); -#14689=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14364,#10977); -#14690=PROPERTY_DEFINITION('',$,#10978); -#14691=PROPERTY_DEFINITION_REPRESENTATION(#14690,#14692); -#14692=SHAPE_REPRESENTATION('connection point location 2d',(#5319),#225); -#14693=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14308,#10978); -#14694=PROPERTY_DEFINITION('',$,#10979); -#14695=PROPERTY_DEFINITION_REPRESENTATION(#14694,#14696); -#14696=SHAPE_REPRESENTATION('connection point location 2d',(#5333),#225); -#14697=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14313,#10979); -#14698=PROPERTY_DEFINITION('',$,#10980); -#14699=PROPERTY_DEFINITION_REPRESENTATION(#14698,#14700); -#14700=SHAPE_REPRESENTATION('connection point location 2d',(#5245),#225); -#14701=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14265,#10980); -#14702=PROPERTY_DEFINITION('',$,#10981); -#14703=PROPERTY_DEFINITION_REPRESENTATION(#14702,#14704); -#14704=SHAPE_REPRESENTATION('connection point location 2d',(#5243),#225); -#14705=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14443,#10981); -#14706=PROPERTY_DEFINITION('',$,#10982); -#14707=PROPERTY_DEFINITION_REPRESENTATION(#14706,#14708); -#14708=SHAPE_REPRESENTATION('connection point location 2d',(#5321),#225); -#14709=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14318,#10982); -#14710=PROPERTY_DEFINITION('',$,#10983); -#14711=PROPERTY_DEFINITION_REPRESENTATION(#14710,#14712); -#14712=SHAPE_REPRESENTATION('connection point location 2d',(#5249),#225); -#14713=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14323,#10983); -#14714=PROPERTY_DEFINITION('',$,#10984); -#14715=PROPERTY_DEFINITION_REPRESENTATION(#14714,#14716); -#14716=SHAPE_REPRESENTATION('connection point location 2d',(#8817),#225); -#14717=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14255,#10984); -#14718=PROPERTY_DEFINITION('',$,#10985); -#14719=PROPERTY_DEFINITION_REPRESENTATION(#14718,#14720); -#14720=SHAPE_REPRESENTATION('connection point location 2d',(#8897),#225); -#14721=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14355,#10985); -#14722=PROPERTY_DEFINITION('',$,#10986); -#14723=PROPERTY_DEFINITION_REPRESENTATION(#14722,#14724); -#14724=SHAPE_REPRESENTATION('connection point location 2d',(#8792),#225); -#14725=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14260,#10986); -#14726=PROPERTY_DEFINITION('',$,#10987); -#14727=PROPERTY_DEFINITION_REPRESENTATION(#14726,#14728); -#14728=SHAPE_REPRESENTATION('connection point location 2d',(#8876),#225); -#14729=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14275,#10987); -#14730=PROPERTY_DEFINITION('',$,#10988); -#14731=PROPERTY_DEFINITION_REPRESENTATION(#14730,#14732); -#14732=SHAPE_REPRESENTATION('connection point location 2d',(#5317),#225); -#14733=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14332,#10988); -#14734=PROPERTY_DEFINITION('',$,#10989); -#14735=PROPERTY_DEFINITION_REPRESENTATION(#14734,#14736); -#14736=SHAPE_REPRESENTATION('connection point location 2d',(#5339),#225); -#14737=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14230,#10989); -#14738=PROPERTY_DEFINITION('',$,#10990); -#14739=PROPERTY_DEFINITION_REPRESENTATION(#14738,#14740); -#14740=SHAPE_REPRESENTATION('connection point location 2d',(#5251),#225); -#14741=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14480,#10990); -#14742=PROPERTY_DEFINITION('',$,#10991); -#14743=PROPERTY_DEFINITION_REPRESENTATION(#14742,#14744); -#14744=SHAPE_REPRESENTATION('connection point location 2d',(#5255),#225); -#14745=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14342,#10991); -#14746=PROPERTY_DEFINITION('',$,#10992); -#14747=PROPERTY_DEFINITION_REPRESENTATION(#14746,#14748); -#14748=SHAPE_REPRESENTATION('connection point location 2d',(#5327),#225); -#14749=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14240,#10992); -#14750=PROPERTY_DEFINITION('',$,#10993); -#14751=PROPERTY_DEFINITION_REPRESENTATION(#14750,#14752); -#14752=SHAPE_REPRESENTATION('connection point location 2d',(#5247),#225); -#14753=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14270,#10993); -#14754=PROPERTY_DEFINITION('',$,#10994); -#14755=PROPERTY_DEFINITION_REPRESENTATION(#14754,#14756); -#14756=SHAPE_REPRESENTATION('connection point location 2d',(#8897),#225); -#14757=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14355,#10994); -#14758=PROPERTY_DEFINITION('',$,#10995); -#14759=PROPERTY_DEFINITION_REPRESENTATION(#14758,#14760); -#14760=SHAPE_REPRESENTATION('connection point location 2d',(#5331),#225); -#14761=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14364,#10995); -#14762=PROPERTY_DEFINITION('',$,#10996); -#14763=PROPERTY_DEFINITION_REPRESENTATION(#14762,#14764); -#14764=SHAPE_REPRESENTATION('connection point location 2d',(#5251),#225); -#14765=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14480,#10996); -#14766=PROPERTY_DEFINITION('',$,#10997); -#14767=PROPERTY_DEFINITION_REPRESENTATION(#14766,#14768); -#14768=SHAPE_REPRESENTATION('connection point location 2d',(#5243),#225); -#14769=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14443,#10997); -#14770=PROPERTY_DEFINITION('',$,#10998); -#14771=PROPERTY_DEFINITION_REPRESENTATION(#14770,#14772); -#14772=SHAPE_REPRESENTATION('connection point location 2d',(#8817),#225); -#14773=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14255,#10998); -#14774=PROPERTY_DEFINITION('',$,#10999); -#14775=PROPERTY_DEFINITION_REPRESENTATION(#14774,#14776); -#14776=SHAPE_REPRESENTATION('connection point location 2d',(#5245),#225); -#14777=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14265,#10999); -#14778=PROPERTY_DEFINITION('',$,#11181); -#14779=PROPERTY_DEFINITION_REPRESENTATION(#14778,#14780); -#14780=SHAPE_REPRESENTATION('connection point location 2d',(#9148),#225); -#14781=SHAPE_ASPECT('',$,#9153,.U.); -#14782=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14781,#11181); -#14783=PROPERTY_DEFINITION('',$,#11182); -#14784=PROPERTY_DEFINITION_REPRESENTATION(#14783,#14785); -#14785=SHAPE_REPRESENTATION('connection point location 2d',(#9127),#225); -#14786=SHAPE_ASPECT('',$,#9144,.U.); -#14787=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14786,#11182); -#14788=PROPERTY_DEFINITION('',$,#11183); -#14789=PROPERTY_DEFINITION_REPRESENTATION(#14788,#14790); -#14790=SHAPE_REPRESENTATION('connection point location 2d',(#9106),#225); -#14791=SHAPE_ASPECT('',$,#9123,.U.); -#14792=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14791,#11183); -#14793=PROPERTY_DEFINITION('',$,#11184); -#14794=PROPERTY_DEFINITION_REPRESENTATION(#14793,#14795); -#14795=SHAPE_REPRESENTATION('connection point location 2d',(#9158),#225); -#14796=SHAPE_ASPECT('',$,#9163,.U.); -#14797=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14796,#11184); -#14798=PROPERTY_DEFINITION('',$,#11185); -#14799=PROPERTY_DEFINITION_REPRESENTATION(#14798,#14800); -#14800=SHAPE_REPRESENTATION('connection point location 2d',(#9106),#225); -#14801=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14791,#11185); -#14802=PROPERTY_DEFINITION('',$,#11253); -#14803=PROPERTY_DEFINITION_REPRESENTATION(#14802,#14804); -#14804=SHAPE_REPRESENTATION('connection point location 2d',(#9181),#225); -#14805=SHAPE_ASPECT('',$,#9198,.U.); -#14806=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14805,#11253); -#14807=PROPERTY_DEFINITION('',$,#11254); -#14808=PROPERTY_DEFINITION_REPRESENTATION(#14807,#14809); -#14809=SHAPE_REPRESENTATION('connection point location 2d',(#9202),#225); -#14810=SHAPE_ASPECT('',$,#9219,.U.); -#14811=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14810,#11254); -#14812=PROPERTY_DEFINITION('',$,#11255); -#14813=PROPERTY_DEFINITION_REPRESENTATION(#14812,#14814); -#14814=SHAPE_REPRESENTATION('connection point location 2d',(#9223),#225); -#14815=SHAPE_ASPECT('',$,#9228,.U.); -#14816=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14815,#11255); -#14817=PROPERTY_DEFINITION('',$,#11256); -#14818=PROPERTY_DEFINITION_REPRESENTATION(#14817,#14819); -#14819=SHAPE_REPRESENTATION('connection point location 2d',(#9181),#225); -#14820=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14805,#11256); -#14821=PROPERTY_DEFINITION('',$,#11257); -#14822=PROPERTY_DEFINITION_REPRESENTATION(#14821,#14823); -#14823=SHAPE_REPRESENTATION('connection point location 2d',(#9233),#225); -#14824=SHAPE_ASPECT('',$,#9238,.U.); -#14825=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14824,#11257); -#14826=PROPERTY_DEFINITION('',$,#11328); -#14827=PROPERTY_DEFINITION_REPRESENTATION(#14826,#14828); -#14828=SHAPE_REPRESENTATION('connection point location 2d',(#9256),#225); -#14829=SHAPE_ASPECT('',$,#9273,.U.); -#14830=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14829,#11328); -#14831=PROPERTY_DEFINITION('',$,#11329); -#14832=PROPERTY_DEFINITION_REPRESENTATION(#14831,#14833); -#14833=SHAPE_REPRESENTATION('connection point location 2d',(#9277),#225); -#14834=SHAPE_ASPECT('',$,#9282,.U.); -#14835=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14834,#11329); -#14836=PROPERTY_DEFINITION('',$,#11330); -#14837=PROPERTY_DEFINITION_REPRESENTATION(#14836,#14838); -#14838=SHAPE_REPRESENTATION('connection point location 2d',(#5117),#225); -#14839=SHAPE_ASPECT('',$,#3946,.U.); -#14840=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14839,#11330); -#14841=PROPERTY_DEFINITION('',$,#11331); -#14842=PROPERTY_DEFINITION_REPRESENTATION(#14841,#14843); -#14843=SHAPE_REPRESENTATION('connection point location 2d',(#9256),#225); -#14844=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14829,#11331); -#14845=PROPERTY_DEFINITION('',$,#11379); -#14846=PROPERTY_DEFINITION_REPRESENTATION(#14845,#14847); -#14847=SHAPE_REPRESENTATION('connection point location 2d',(#9306),#225); -#14848=SHAPE_ASPECT('',$,#9323,.U.); -#14849=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14848,#11379); -#14850=PROPERTY_DEFINITION('',$,#11380); -#14851=PROPERTY_DEFINITION_REPRESENTATION(#14850,#14852); -#14852=SHAPE_REPRESENTATION('connection point location 2d',(#9296),#225); -#14853=SHAPE_ASPECT('',$,#9301,.U.); -#14854=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14853,#11380); -#14855=PROPERTY_DEFINITION('',$,#11381); -#14856=PROPERTY_DEFINITION_REPRESENTATION(#14855,#14857); -#14857=SHAPE_REPRESENTATION('connection point location 2d',(#9306),#225); -#14858=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14848,#11381); -#14859=PROPERTY_DEFINITION('',$,#11382); -#14860=PROPERTY_DEFINITION_REPRESENTATION(#14859,#14861); -#14861=SHAPE_REPRESENTATION('connection point location 2d',(#2382),#225); -#14862=SHAPE_ASPECT('',$,#2424,.U.); -#14863=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#14862,#11382); -#14864=PROPERTY_DEFINITION('',$,#2327); -#14865=PROPERTY_DEFINITION_RELATIONSHIP('reference location',$,#92,#14864); -#14866=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#95,#2327); -#14867=PROPERTY_DEFINITION('',$,#2357); -#14868=PROPERTY_DEFINITION_RELATIONSHIP('reference location',$,#140,#14867); -#14869=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#136,#2357); -#14870=PROPERTY_DEFINITION('',$,#7759); -#14871=PROPERTY_DEFINITION_RELATIONSHIP('reference location',$,#92,#14870); -#14872=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#95,#7759); -#14873=PROPERTY_DEFINITION('',$,#7789); -#14874=PROPERTY_DEFINITION_RELATIONSHIP('reference location',$,#140,#14873); -#14875=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#136,#7789); -#14876=PROPERTY_DEFINITION('',$,#7889); -#14877=PROPERTY_DEFINITION_RELATIONSHIP('reference location',$,#92,#14876); -#14878=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#95,#7889); -#14879=PROPERTY_DEFINITION('',$,#7934); -#14880=PROPERTY_DEFINITION_RELATIONSHIP('reference location',$,#140,#14879); -#14881=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#136,#7934); -#14882=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#104,#257); -#14883=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#129,#259); -#14884=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#125,#263); -#14885=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#115,#265); -#14886=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#168,#271); -#14887=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#164,#273); -#14888=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#120,#277); -#14889=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#114,#281); -#14890=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#156,#285); -#14891=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#105,#287); -#14892=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#163,#293); -#14893=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#140,#297); -#14894=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#150,#303); -#14895=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#141,#307); -#14896=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#92,#311); -#14897=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#149,#315); -#14898=PROPERTY_DEFINITION('stratum thickness',$,#83); -#14899=PROPERTY_DEFINITION_REPRESENTATION(#14898,#12818); -#14900=PROPERTY_DEFINITION('layer position','all',#83); -#14901=PROPERTY_DEFINITION('layer purpose','other signal',#83); -#14902=PROPERTY_DEFINITION('stratum thickness',$,#12711); -#14903=PROPERTY_DEFINITION_REPRESENTATION(#14902,#12712); -#14904=PROPERTY_DEFINITION('layer position','all',#12711); -#14905=PROPERTY_DEFINITION('layer purpose','other signal',#12711); -#14906=PROPERTY_DEFINITION('stratum thickness',$,#12721); -#14907=PROPERTY_DEFINITION_REPRESENTATION(#14906,#12722); -#14908=PROPERTY_DEFINITION('layer position','all',#12721); -#14909=PROPERTY_DEFINITION('layer purpose','other signal',#12721); -#14910=PROPERTY_DEFINITION('stratum thickness',$,#12728); -#14911=PROPERTY_DEFINITION_REPRESENTATION(#14910,#12729); -#14912=PROPERTY_DEFINITION('layer position','all',#12728); -#14913=PROPERTY_DEFINITION('layer purpose','other signal',#12728); -#14914=PROPERTY_DEFINITION('stratum thickness',$,#12735); -#14915=PROPERTY_DEFINITION_REPRESENTATION(#14914,#12736); -#14916=PROPERTY_DEFINITION('layer position','all',#12735); -#14917=PROPERTY_DEFINITION('layer purpose','other signal',#12735); -#14918=PROPERTY_DEFINITION('stratum thickness',$,#12742); -#14919=PROPERTY_DEFINITION_REPRESENTATION(#14918,#12743); -#14920=PROPERTY_DEFINITION('layer position','all',#12742); -#14921=PROPERTY_DEFINITION('layer purpose','other signal',#12742); -#14922=PROPERTY_DEFINITION('stratum thickness',$,#12749); -#14923=PROPERTY_DEFINITION_REPRESENTATION(#14922,#12750); -#14924=PROPERTY_DEFINITION('layer position','all',#12749); -#14925=PROPERTY_DEFINITION('layer purpose','other signal',#12749); -#14926=PROPERTY_DEFINITION('stratum thickness',$,#12756); -#14927=PROPERTY_DEFINITION_REPRESENTATION(#14926,#12757); -#14928=PROPERTY_DEFINITION('layer position','all',#12756); -#14929=PROPERTY_DEFINITION('layer purpose','other signal',#12756); -#14930=PROPERTY_DEFINITION('stratum thickness',$,#12763); -#14931=PROPERTY_DEFINITION_REPRESENTATION(#14930,#12764); -#14932=PROPERTY_DEFINITION('layer position','all',#12763); -#14933=PROPERTY_DEFINITION('layer purpose','other signal',#12763); -#14934=PROPERTY_DEFINITION('stratum thickness',$,#12770); -#14935=PROPERTY_DEFINITION_REPRESENTATION(#14934,#12771); -#14936=PROPERTY_DEFINITION('layer position','all',#12770); -#14937=PROPERTY_DEFINITION('layer purpose','other signal',#12770); -#14938=PROPERTY_DEFINITION('stratum thickness',$,#12777); -#14939=PROPERTY_DEFINITION_REPRESENTATION(#14938,#12778); -#14940=PROPERTY_DEFINITION('layer position','all',#12777); -#14941=PROPERTY_DEFINITION('layer purpose','other signal',#12777); -#14942=PROPERTY_DEFINITION('stratum thickness',$,#12784); -#14943=PROPERTY_DEFINITION_REPRESENTATION(#14942,#12785); -#14944=PROPERTY_DEFINITION('layer position','all',#12784); -#14945=PROPERTY_DEFINITION('layer purpose','other signal',#12784); -#14946=PROPERTY_DEFINITION('stratum thickness',$,#12791); -#14947=PROPERTY_DEFINITION_REPRESENTATION(#14946,#12792); -#14948=PROPERTY_DEFINITION('layer position','all',#12791); -#14949=PROPERTY_DEFINITION('layer purpose','other signal',#12791); -#14950=PROPERTY_DEFINITION('stratum thickness',$,#12798); -#14951=PROPERTY_DEFINITION_REPRESENTATION(#14950,#12799); -#14952=PROPERTY_DEFINITION('layer position','all',#12798); -#14953=PROPERTY_DEFINITION('layer purpose','other signal',#12798); -#14954=PROPERTY_DEFINITION('stratum thickness',$,#12805); -#14955=PROPERTY_DEFINITION_REPRESENTATION(#14954,#12806); -#14956=PROPERTY_DEFINITION('layer position','all',#12805); -#14957=PROPERTY_DEFINITION('layer purpose','other signal',#12805); -#14958=PROPERTY_DEFINITION('stratum thickness',$,#12812); -#14959=PROPERTY_DEFINITION_REPRESENTATION(#14958,#12813); -#14960=PROPERTY_DEFINITION('layer position','all',#12812); -#14961=PROPERTY_DEFINITION('layer purpose','other signal',#12812); -#14962=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#187,#14021,#14023); -#14963=DOCUMENT_REPRESENTATION_TYPE('digital',#12840); -#14964=DOCUMENT_TYPE('configuration controlled document'); -#14965=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#136,#295); -#14966=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#95,#319); -#14967=PROPERTY_DEFINITION('stratum thickness',$,#93); -#14968=PROPERTY_DEFINITION_REPRESENTATION(#14967,#12821); -#14969=PROPERTY_DEFINITION('layer position','all',#93); -#14970=PROPERTY_DEFINITION('layer purpose','soldermask',#93); -#14971=PROPERTY_DEFINITION('stratum thickness',$,#97); -#14972=PROPERTY_DEFINITION_REPRESENTATION(#14971,#84); -#14973=PROPERTY_DEFINITION('layer position','all',#97); -#14974=PROPERTY_DEFINITION('layer purpose','silkscreen',#97); -#14975=PROPERTY_DEFINITION('stratum thickness',$,#100); -#14976=PROPERTY_DEFINITION_REPRESENTATION(#14975,#84); -#14977=PROPERTY_DEFINITION('layer position','all',#100); -#14978=PROPERTY_DEFINITION('layer purpose','solderpaste',#100); -#14979=PROPERTY_DEFINITION('stratum thickness',$,#133); -#14980=PROPERTY_DEFINITION_REPRESENTATION(#14979,#84); -#14981=PROPERTY_DEFINITION('layer position','all',#133); -#14982=PROPERTY_DEFINITION('layer purpose','silkscreen',#133); -#14983=PROPERTY_DEFINITION('stratum thickness',$,#12708); -#14984=PROPERTY_DEFINITION_REPRESENTATION(#14983,#12709); -#14985=PROPERTY_DEFINITION('layer position','all',#12708); -#14986=PROPERTY_DEFINITION('layer purpose','soldermask',#12708); -#14987=PRODUCT_CONTEXT('document',#14022,''); -#14988=DOCUMENT_TYPE('configuration controlled document definition'); -#14989=DOCUMENT('PDES-281---PDES-281,-','',$,#14988); -#14990=DOCUMENT_PRODUCT_EQUIVALENCE('equivalence',$,#14989,#12693); -#14991=OBJECT_ROLE('documentation',$); -#14992=ROLE_ASSOCIATION(#14991,#12698); -#14993=DOCUMENT('Specification for part1','',$,#14964); -#14994=DOCUMENT_PRODUCT_EQUIVALENCE('equivalence',$,#14993,#12841); -#14995=OBJECT_ROLE('reference document',$); -#14996=ROLE_ASSOCIATION(#14995,#12874); -#14997=ROLE_ASSOCIATION(#14995,#12879); -#14998=ROLE_ASSOCIATION(#14995,#12880); -#14999=ROLE_ASSOCIATION(#14995,#12881); -#15000=ROLE_ASSOCIATION(#14995,#12882); -#15001=ROLE_ASSOCIATION(#14995,#12883); -#15002=ROLE_ASSOCIATION(#14995,#12884); -#15003=ROLE_ASSOCIATION(#14995,#12885); -#15004=ROLE_ASSOCIATION(#14995,#12886); -#15005=ROLE_ASSOCIATION(#14995,#12887); -#15006=ROLE_ASSOCIATION(#14995,#12888); -#15007=ROLE_ASSOCIATION(#14995,#12889); -#15008=ROLE_ASSOCIATION(#14995,#12890); -#15009=ROLE_ASSOCIATION(#14995,#12891); -#15010=ROLE_ASSOCIATION(#14995,#12892); -#15011=ROLE_ASSOCIATION(#14995,#12893); -#15012=ROLE_ASSOCIATION(#14995,#12894); -#15013=ROLE_ASSOCIATION(#14995,#12895); -#15014=ROLE_ASSOCIATION(#14995,#12896); -#15015=ROLE_ASSOCIATION(#14995,#12897); -#15016=ROLE_ASSOCIATION(#14995,#12898); -#15018=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2292,#14021,#14023); -#15020=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7724,#14021,#14023); -#15022=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7855,#14021,#14023); -#15024=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7899,#14021,#14023); -#15025=NAME_ATTRIBUTE('electrical isolation requirement',#2293); -#15026=PRODUCT_DEFINITION_CONTEXT('requirement',#14022,''); -#15027=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2293,#15026,#14023); -#15028=NAME_ATTRIBUTE('electrical isolation requirement',#7725); -#15029=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7725,#15026,#14023); -#15030=NAME_ATTRIBUTE('electrical isolation requirement',#7856); -#15031=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7856,#15026,#14023); -#15032=NAME_ATTRIBUTE('electrical isolation requirement',#7900); -#15033=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7900,#15026,#14023); -#15034=PROPERTY_DEFINITION('',$,#8177); -#15035=PROPERTY_DEFINITION_REPRESENTATION(#15034,#15036); -#15036=SHAPE_REPRESENTATION('connection point location 2d',(#1267),#225); -#15037=PROPERTY_DEFINITION('',$,#8178); -#15038=PROPERTY_DEFINITION_REPRESENTATION(#15037,#15039); -#15039=SHAPE_REPRESENTATION('connection point location 2d',(#8074),#225); -#15040=PROPERTY_DEFINITION('',$,#8179); -#15041=PROPERTY_DEFINITION_REPRESENTATION(#15040,#15042); -#15042=SHAPE_REPRESENTATION('connection point location 2d',(#7982),#225); -#15043=PROPERTY_DEFINITION('',$,#8180); -#15044=PROPERTY_DEFINITION_REPRESENTATION(#15043,#15045); -#15045=SHAPE_REPRESENTATION('connection point location 2d',(#7982),#225); -#15046=PROPERTY_DEFINITION('',$,#8181); -#15047=PROPERTY_DEFINITION_REPRESENTATION(#15046,#15048); -#15048=SHAPE_REPRESENTATION('connection point location 2d',(#8125),#225); -#15049=PROPERTY_DEFINITION('',$,#8182); -#15050=PROPERTY_DEFINITION_REPRESENTATION(#15049,#15051); -#15051=SHAPE_REPRESENTATION('connection point location 2d',(#7971),#225); -#15052=PROPERTY_DEFINITION('',$,#8183); -#15053=PROPERTY_DEFINITION_REPRESENTATION(#15052,#15054); -#15054=SHAPE_REPRESENTATION('connection point location 2d',(#8033),#225); -#15055=PROPERTY_DEFINITION('',$,#8184); -#15056=PROPERTY_DEFINITION_REPRESENTATION(#15055,#15057); -#15057=SHAPE_REPRESENTATION('connection point location 2d',(#1139),#225); -#15058=PROPERTY_DEFINITION('',$,#8185); -#15059=PROPERTY_DEFINITION_REPRESENTATION(#15058,#15060); -#15060=SHAPE_REPRESENTATION('connection point location 2d',(#7696),#225); -#15061=PROPERTY_DEFINITION('',$,#8186); -#15062=PROPERTY_DEFINITION_REPRESENTATION(#15061,#15063); -#15063=SHAPE_REPRESENTATION('connection point location 2d',(#8064),#225); -#15064=PROPERTY_DEFINITION('',$,#8187); -#15065=PROPERTY_DEFINITION_REPRESENTATION(#15064,#15066); -#15066=SHAPE_REPRESENTATION('connection point location 2d',(#7961),#225); -#15067=PROPERTY_DEFINITION('',$,#8188); -#15068=PROPERTY_DEFINITION_REPRESENTATION(#15067,#15069); -#15069=SHAPE_REPRESENTATION('connection point location 2d',(#8167),#225); -#15070=PROPERTY_DEFINITION('',$,#8189); -#15071=PROPERTY_DEFINITION_REPRESENTATION(#15070,#15072); -#15072=SHAPE_REPRESENTATION('connection point location 2d',(#8115),#225); -#15073=PROPERTY_DEFINITION('',$,#8190); -#15074=PROPERTY_DEFINITION_REPRESENTATION(#15073,#15075); -#15075=SHAPE_REPRESENTATION('connection point location 2d',(#5009),#225); -#15076=PROPERTY_DEFINITION('',$,#8191); -#15077=PROPERTY_DEFINITION_REPRESENTATION(#15076,#15078); -#15078=SHAPE_REPRESENTATION('connection point location 2d',(#3167),#225); -#15079=PROPERTY_DEFINITION('',$,#8192); -#15080=PROPERTY_DEFINITION_REPRESENTATION(#15079,#15081); -#15081=SHAPE_REPRESENTATION('connection point location 2d',(#8043),#225); -#15082=PROPERTY_DEFINITION('',$,#8193); -#15083=PROPERTY_DEFINITION_REPRESENTATION(#15082,#15084); -#15084=SHAPE_REPRESENTATION('connection point location 2d',(#3495),#225); -#15085=PROPERTY_DEFINITION('',$,#8194); -#15086=PROPERTY_DEFINITION_REPRESENTATION(#15085,#15087); -#15087=SHAPE_REPRESENTATION('connection point location 2d',(#4710),#225); -#15088=PROPERTY_DEFINITION('',$,#8195); -#15089=PROPERTY_DEFINITION_REPRESENTATION(#15088,#15090); -#15090=SHAPE_REPRESENTATION('connection point location 2d',(#7961),#225); -#15091=PROPERTY_DEFINITION('',$,#8196); -#15092=PROPERTY_DEFINITION_REPRESENTATION(#15091,#15093); -#15093=SHAPE_REPRESENTATION('connection point location 2d',(#8115),#225); -#15094=PROPERTY_DEFINITION('',$,#8197); -#15095=PROPERTY_DEFINITION_REPRESENTATION(#15094,#15096); -#15096=SHAPE_REPRESENTATION('connection point location 2d',(#7827),#225); -#15097=PROPERTY_DEFINITION('',$,#8198); -#15098=PROPERTY_DEFINITION_REPRESENTATION(#15097,#15099); -#15099=SHAPE_REPRESENTATION('connection point location 2d',(#8033),#225); -#15100=PROPERTY_DEFINITION('',$,#8199); -#15101=PROPERTY_DEFINITION_REPRESENTATION(#15100,#15102); -#15102=SHAPE_REPRESENTATION('connection point location 2d',(#3039),#225); -#15103=PROPERTY_DEFINITION('',$,#8200); -#15104=PROPERTY_DEFINITION_REPRESENTATION(#15103,#15105); -#15105=SHAPE_REPRESENTATION('connection point location 2d',(#1227),#225); -#15106=PROPERTY_DEFINITION('',$,#8201); -#15107=PROPERTY_DEFINITION_REPRESENTATION(#15106,#15108); -#15108=SHAPE_REPRESENTATION('connection point location 2d',(#7992),#225); -#15109=PROPERTY_DEFINITION('',$,#8202); -#15110=PROPERTY_DEFINITION_REPRESENTATION(#15109,#15111); -#15111=SHAPE_REPRESENTATION('connection point location 2d',(#7827),#225); -#15112=PROPERTY_DEFINITION('',$,#8203); -#15113=PROPERTY_DEFINITION_REPRESENTATION(#15112,#15114); -#15114=SHAPE_REPRESENTATION('connection point location 2d',(#7971),#225); -#15115=PROPERTY_DEFINITION('',$,#8204); -#15116=PROPERTY_DEFINITION_REPRESENTATION(#15115,#15117); -#15117=SHAPE_REPRESENTATION('connection point location 2d',(#3127),#225); -#15118=PROPERTY_DEFINITION('',$,#8205); -#15119=PROPERTY_DEFINITION_REPRESENTATION(#15118,#15120); -#15120=SHAPE_REPRESENTATION('connection point location 2d',(#8064),#225); -#15121=PROPERTY_DEFINITION('',$,#8206); -#15122=PROPERTY_DEFINITION_REPRESENTATION(#15121,#15123); -#15123=SHAPE_REPRESENTATION('connection point location 2d',(#1595),#225); -#15124=PROPERTY_DEFINITION('',$,#8207); -#15125=PROPERTY_DEFINITION_REPRESENTATION(#15124,#15126); -#15126=SHAPE_REPRESENTATION('connection point location 2d',(#8167),#225); -#15127=PROPERTY_DEFINITION('',$,#8208); -#15128=PROPERTY_DEFINITION_REPRESENTATION(#15127,#15129); -#15129=SHAPE_REPRESENTATION('connection point location 2d',(#8146),#225); -#15130=PROPERTY_DEFINITION('',$,#8271); -#15131=PROPERTY_DEFINITION_REPRESENTATION(#15130,#15132); -#15132=SHAPE_REPRESENTATION('connection point location 2d',(#1619),#225); -#15133=PROPERTY_DEFINITION('',$,#8272); -#15134=PROPERTY_DEFINITION_REPRESENTATION(#15133,#15135); -#15135=SHAPE_REPRESENTATION('connection point location 2d',(#8250),#225); -#15136=PROPERTY_DEFINITION('',$,#8273); -#15137=PROPERTY_DEFINITION_REPRESENTATION(#15136,#15138); -#15138=SHAPE_REPRESENTATION('connection point location 2d',(#8230),#225); -#15139=PROPERTY_DEFINITION('',$,#8274); -#15140=PROPERTY_DEFINITION_REPRESENTATION(#15139,#15141); -#15141=SHAPE_REPRESENTATION('connection point location 2d',(#8250),#225); -#15142=PROPERTY_DEFINITION('',$,#8276); -#15143=PROPERTY_DEFINITION_REPRESENTATION(#15142,#15144); -#15144=SHAPE_REPRESENTATION('connection point location 2d',(#8275),#225); -#15145=PROPERTY_DEFINITION('',$,#8277); -#15146=PROPERTY_DEFINITION_REPRESENTATION(#15145,#15147); -#15147=SHAPE_REPRESENTATION('connection point location 2d',(#8240),#225); -#15148=PROPERTY_DEFINITION('',$,#8278); -#15149=PROPERTY_DEFINITION_REPRESENTATION(#15148,#15150); -#15150=SHAPE_REPRESENTATION('connection point location 2d',(#8230),#225); -#15151=PROPERTY_DEFINITION('',$,#8279); -#15152=PROPERTY_DEFINITION_REPRESENTATION(#15151,#15153); -#15153=SHAPE_REPRESENTATION('connection point location 2d',(#8209),#225); -#15154=PROPERTY_DEFINITION('',$,#8280); -#15155=PROPERTY_DEFINITION_REPRESENTATION(#15154,#15156); -#15156=SHAPE_REPRESENTATION('connection point location 2d',(#3399),#225); -#15157=PROPERTY_DEFINITION('',$,#8281); -#15158=PROPERTY_DEFINITION_REPRESENTATION(#15157,#15159); -#15159=SHAPE_REPRESENTATION('connection point location 2d',(#8240),#225); -#15160=PROPERTY_DEFINITION('',$,#8282); -#15161=PROPERTY_DEFINITION_REPRESENTATION(#15160,#15162); -#15162=SHAPE_REPRESENTATION('connection point location 2d',(#8275),#225); -#15163=PROPERTY_DEFINITION('',$,#8283); -#15164=PROPERTY_DEFINITION_REPRESENTATION(#15163,#15165); -#15165=SHAPE_REPRESENTATION('connection point location 2d',(#8209),#225); -#15166=PROPERTY_DEFINITION('',$,#8345); -#15167=PROPERTY_DEFINITION_REPRESENTATION(#15166,#15168); -#15168=SHAPE_REPRESENTATION('connection point location 2d',(#8344),#225); -#15169=PROPERTY_DEFINITION('',$,#8346); -#15170=PROPERTY_DEFINITION_REPRESENTATION(#15169,#15171); -#15171=SHAPE_REPRESENTATION('connection point location 2d',(#5043),#225); -#15172=PROPERTY_DEFINITION('',$,#8347); -#15173=PROPERTY_DEFINITION_REPRESENTATION(#15172,#15174); -#15174=SHAPE_REPRESENTATION('connection point location 2d',(#8344),#225); -#15175=PROPERTY_DEFINITION('',$,#8348); -#15176=PROPERTY_DEFINITION_REPRESENTATION(#15175,#15177); -#15177=SHAPE_REPRESENTATION('connection point location 2d',(#8314),#225); -#15178=PROPERTY_DEFINITION('',$,#8349); -#15179=PROPERTY_DEFINITION_REPRESENTATION(#15178,#15180); -#15180=SHAPE_REPRESENTATION('connection point location 2d',(#1563),#225); -#15181=PROPERTY_DEFINITION('',$,#8350); -#15182=PROPERTY_DEFINITION_REPRESENTATION(#15181,#15183); -#15183=SHAPE_REPRESENTATION('connection point location 2d',(#8284),#225); -#15184=PROPERTY_DEFINITION('',$,#8351); -#15185=PROPERTY_DEFINITION_REPRESENTATION(#15184,#15186); -#15186=SHAPE_REPRESENTATION('connection point location 2d',(#8284),#225); -#15187=PROPERTY_DEFINITION('',$,#8352); -#15188=PROPERTY_DEFINITION_REPRESENTATION(#15187,#15189); -#15189=SHAPE_REPRESENTATION('connection point location 2d',(#3463),#225); -#15190=PROPERTY_DEFINITION('',$,#8353); -#15191=PROPERTY_DEFINITION_REPRESENTATION(#15190,#15192); -#15192=SHAPE_REPRESENTATION('connection point location 2d',(#8314),#225); -#15193=PROPERTY_DEFINITION('',$,#8354); -#15194=PROPERTY_DEFINITION_REPRESENTATION(#15193,#15195); -#15195=SHAPE_REPRESENTATION('connection point location 2d',(#5181),#225); -#15196=PROPERTY_DEFINITION('',$,#8416); -#15197=PROPERTY_DEFINITION_REPRESENTATION(#15196,#15198); -#15198=SHAPE_REPRESENTATION('connection point location 2d',(#1603),#225); -#15199=PROPERTY_DEFINITION('',$,#8417); -#15200=PROPERTY_DEFINITION_REPRESENTATION(#15199,#15201); -#15201=SHAPE_REPRESENTATION('connection point location 2d',(#8355),#225); -#15202=PROPERTY_DEFINITION('',$,#8418); -#15203=PROPERTY_DEFINITION_REPRESENTATION(#15202,#15204); -#15204=SHAPE_REPRESENTATION('connection point location 2d',(#8355),#225); -#15205=PROPERTY_DEFINITION('',$,#8419); -#15206=PROPERTY_DEFINITION_REPRESENTATION(#15205,#15207); -#15207=SHAPE_REPRESENTATION('connection point location 2d',(#5112),#225); -#15208=PROPERTY_DEFINITION('',$,#8421); -#15209=PROPERTY_DEFINITION_REPRESENTATION(#15208,#15210); -#15210=SHAPE_REPRESENTATION('connection point location 2d',(#8420),#225); -#15211=PROPERTY_DEFINITION('',$,#8422); -#15212=PROPERTY_DEFINITION_REPRESENTATION(#15211,#15213); -#15213=SHAPE_REPRESENTATION('connection point location 2d',(#8396),#225); -#15214=PROPERTY_DEFINITION('',$,#8423); -#15215=PROPERTY_DEFINITION_REPRESENTATION(#15214,#15216); -#15216=SHAPE_REPRESENTATION('connection point location 2d',(#8406),#225); -#15217=PROPERTY_DEFINITION('',$,#8424); -#15218=PROPERTY_DEFINITION_REPRESENTATION(#15217,#15219); -#15219=SHAPE_REPRESENTATION('connection point location 2d',(#8406),#225); -#15220=PROPERTY_DEFINITION('',$,#8425); -#15221=PROPERTY_DEFINITION_REPRESENTATION(#15220,#15222); -#15222=SHAPE_REPRESENTATION('connection point location 2d',(#3471),#225); -#15223=PROPERTY_DEFINITION('',$,#8426); -#15224=PROPERTY_DEFINITION_REPRESENTATION(#15223,#15225); -#15225=SHAPE_REPRESENTATION('connection point location 2d',(#8396),#225); -#15226=PROPERTY_DEFINITION('',$,#8427); -#15227=PROPERTY_DEFINITION_REPRESENTATION(#15226,#15228); -#15228=SHAPE_REPRESENTATION('connection point location 2d',(#8420),#225); -#15229=PROPERTY_DEFINITION('',$,#8428); -#15230=PROPERTY_DEFINITION_REPRESENTATION(#15229,#15231); -#15231=SHAPE_REPRESENTATION('connection point location 2d',(#5112),#225); -#15232=PROPERTY_DEFINITION('',$,#8459); -#15233=PROPERTY_DEFINITION_REPRESENTATION(#15232,#15234); -#15234=SHAPE_REPRESENTATION('connection point location 2d',(#8429),#225); -#15235=PROPERTY_DEFINITION('',$,#8460); -#15236=PROPERTY_DEFINITION_REPRESENTATION(#15235,#15237); -#15237=SHAPE_REPRESENTATION('connection point location 2d',(#5048),#225); -#15238=PROPERTY_DEFINITION('',$,#8461); -#15239=PROPERTY_DEFINITION_REPRESENTATION(#15238,#15240); -#15240=SHAPE_REPRESENTATION('connection point location 2d',(#8429),#225); -#15241=PROPERTY_DEFINITION('',$,#8462); -#15242=PROPERTY_DEFINITION_REPRESENTATION(#15241,#15243); -#15243=SHAPE_REPRESENTATION('connection point location 2d',(#5046),#225); -#15244=PROPERTY_DEFINITION('',$,#8464); -#15245=PROPERTY_DEFINITION_REPRESENTATION(#15244,#15246); -#15246=SHAPE_REPRESENTATION('connection point location 2d',(#8463),#225); -#15247=PROPERTY_DEFINITION('',$,#8465); -#15248=PROPERTY_DEFINITION_REPRESENTATION(#15247,#15249); -#15249=SHAPE_REPRESENTATION('connection point location 2d',(#5048),#225); -#15250=PROPERTY_DEFINITION('',$,#8466); -#15251=PROPERTY_DEFINITION_REPRESENTATION(#15250,#15252); -#15252=SHAPE_REPRESENTATION('connection point location 2d',(#1379),#225); -#15253=PROPERTY_DEFINITION('',$,#8467); -#15254=PROPERTY_DEFINITION_REPRESENTATION(#15253,#15255); -#15255=SHAPE_REPRESENTATION('connection point location 2d',(#8463),#225); -#15256=PROPERTY_DEFINITION('',$,#8498); -#15257=PROPERTY_DEFINITION_REPRESENTATION(#15256,#15258); -#15258=SHAPE_REPRESENTATION('connection point location 2d',(#3924),#225); -#15259=PROPERTY_DEFINITION('',$,#8499); -#15260=PROPERTY_DEFINITION_REPRESENTATION(#15259,#15261); -#15261=SHAPE_REPRESENTATION('connection point location 2d',(#5114),#225); -#15262=PROPERTY_DEFINITION('',$,#8500); -#15263=PROPERTY_DEFINITION_REPRESENTATION(#15262,#15264); -#15264=SHAPE_REPRESENTATION('connection point location 2d',(#8468),#225); -#15265=PROPERTY_DEFINITION('',$,#8501); -#15266=PROPERTY_DEFINITION_REPRESENTATION(#15265,#15267); -#15267=SHAPE_REPRESENTATION('connection point location 2d',(#8468),#225); -#15268=PROPERTY_DEFINITION('',$,#8502); -#15269=PROPERTY_DEFINITION_REPRESENTATION(#15268,#15270); -#15270=SHAPE_REPRESENTATION('connection point location 2d',(#3143),#225); -#15271=PROPERTY_DEFINITION('',$,#8503); -#15272=PROPERTY_DEFINITION_REPRESENTATION(#15271,#15273); -#15273=SHAPE_REPRESENTATION('connection point location 2d',(#5114),#225); -#15274=PROPERTY_DEFINITION('',$,#9073); -#15275=PROPERTY_DEFINITION_REPRESENTATION(#15274,#15276); -#15276=SHAPE_REPRESENTATION('connection point location 2d',(#1155),#225); -#15277=PROPERTY_DEFINITION('',$,#9074); -#15278=PROPERTY_DEFINITION_REPRESENTATION(#15277,#15279); -#15279=SHAPE_REPRESENTATION('connection point location 2d',(#8548),#225); -#15280=PROPERTY_DEFINITION('',$,#9075); -#15281=PROPERTY_DEFINITION_REPRESENTATION(#15280,#15282); -#15282=SHAPE_REPRESENTATION('connection point location 2d',(#5317),#225); -#15283=PROPERTY_DEFINITION('',$,#9076); -#15284=PROPERTY_DEFINITION_REPRESENTATION(#15283,#15285); -#15285=SHAPE_REPRESENTATION('connection point location 2d',(#8922),#225); -#15286=PROPERTY_DEFINITION('',$,#9077); -#15287=PROPERTY_DEFINITION_REPRESENTATION(#15286,#15288); -#15288=SHAPE_REPRESENTATION('connection point location 2d',(#5279),#225); -#15289=PROPERTY_DEFINITION('',$,#9078); -#15290=PROPERTY_DEFINITION_REPRESENTATION(#15289,#15291); -#15291=SHAPE_REPRESENTATION('connection point location 2d',(#5319),#225); -#15292=PROPERTY_DEFINITION('',$,#9079); -#15293=PROPERTY_DEFINITION_REPRESENTATION(#15292,#15294); -#15294=SHAPE_REPRESENTATION('connection point location 2d',(#8842),#225); -#15295=PROPERTY_DEFINITION('',$,#9080); -#15296=PROPERTY_DEFINITION_REPRESENTATION(#15295,#15297); -#15297=SHAPE_REPRESENTATION('connection point location 2d',(#8772),#225); -#15298=PROPERTY_DEFINITION('',$,#9081); -#15299=PROPERTY_DEFINITION_REPRESENTATION(#15298,#15300); -#15300=SHAPE_REPRESENTATION('connection point location 2d',(#8876),#225); -#15301=PROPERTY_DEFINITION('',$,#9083); -#15302=PROPERTY_DEFINITION_REPRESENTATION(#15301,#15303); -#15303=SHAPE_REPRESENTATION('connection point location 2d',(#9082),#225); -#15304=PROPERTY_DEFINITION('',$,#9085); -#15305=PROPERTY_DEFINITION_REPRESENTATION(#15304,#15306); -#15306=SHAPE_REPRESENTATION('connection point location 2d',(#9084),#225); -#15307=PROPERTY_DEFINITION('',$,#9086); -#15308=PROPERTY_DEFINITION_REPRESENTATION(#15307,#15309); -#15309=SHAPE_REPRESENTATION('connection point location 2d',(#8558),#225); -#15310=PROPERTY_DEFINITION('',$,#9087); -#15311=PROPERTY_DEFINITION_REPRESENTATION(#15310,#15312); -#15312=SHAPE_REPRESENTATION('connection point location 2d',(#3055),#225); -#15313=PROPERTY_DEFINITION('',$,#9088); -#15314=PROPERTY_DEFINITION_REPRESENTATION(#15313,#15315); -#15315=SHAPE_REPRESENTATION('connection point location 2d',(#9084),#225); -#15316=PROPERTY_DEFINITION('',$,#9089); -#15317=PROPERTY_DEFINITION_REPRESENTATION(#15316,#15318); -#15318=SHAPE_REPRESENTATION('connection point location 2d',(#8922),#225); -#15319=PROPERTY_DEFINITION('',$,#9091); -#15320=PROPERTY_DEFINITION_REPRESENTATION(#15319,#15321); -#15321=SHAPE_REPRESENTATION('connection point location 2d',(#9090),#225); -#15322=PROPERTY_DEFINITION('',$,#9092); -#15323=PROPERTY_DEFINITION_REPRESENTATION(#15322,#15324); -#15324=SHAPE_REPRESENTATION('connection point location 2d',(#8782),#225); -#15325=PROPERTY_DEFINITION('',$,#9093); -#15326=PROPERTY_DEFINITION_REPRESENTATION(#15325,#15327); -#15327=SHAPE_REPRESENTATION('connection point location 2d',(#8842),#225); -#15328=PROPERTY_DEFINITION('',$,#9094); -#15329=PROPERTY_DEFINITION_REPRESENTATION(#15328,#15330); -#15330=SHAPE_REPRESENTATION('connection point location 2d',(#9090),#225); -#15331=PROPERTY_DEFINITION('',$,#9095); -#15332=PROPERTY_DEFINITION_REPRESENTATION(#15331,#15333); -#15333=SHAPE_REPRESENTATION('connection point location 2d',(#5321),#225); -#15334=PROPERTY_DEFINITION('',$,#9096); -#15335=PROPERTY_DEFINITION_REPRESENTATION(#15334,#15336); -#15336=SHAPE_REPRESENTATION('connection point location 2d',(#3343),#225); -#15337=PROPERTY_DEFINITION('',$,#9097); -#15338=PROPERTY_DEFINITION_REPRESENTATION(#15337,#15339); -#15339=SHAPE_REPRESENTATION('connection point location 2d',(#1443),#225); -#15340=PROPERTY_DEFINITION('',$,#9098); -#15341=PROPERTY_DEFINITION_REPRESENTATION(#15340,#15342); -#15342=SHAPE_REPRESENTATION('connection point location 2d',(#9082),#225); -#15343=PROPERTY_DEFINITION('',$,#9099); -#15344=PROPERTY_DEFINITION_REPRESENTATION(#15343,#15345); -#15345=SHAPE_REPRESENTATION('connection point location 2d',(#8772),#225); -#15346=PROPERTY_DEFINITION('',$,#9100); -#15347=PROPERTY_DEFINITION_REPRESENTATION(#15346,#15348); -#15348=SHAPE_REPRESENTATION('connection point location 2d',(#8558),#225); -#15349=PROPERTY_DEFINITION('',$,#9101); -#15350=PROPERTY_DEFINITION_REPRESENTATION(#15349,#15351); -#15351=SHAPE_REPRESENTATION('connection point location 2d',(#3351),#225); -#15352=PROPERTY_DEFINITION('',$,#9102); -#15353=PROPERTY_DEFINITION_REPRESENTATION(#15352,#15354); -#15354=SHAPE_REPRESENTATION('connection point location 2d',(#8548),#225); -#15355=PROPERTY_DEFINITION('',$,#9103); -#15356=PROPERTY_DEFINITION_REPRESENTATION(#15355,#15357); -#15357=SHAPE_REPRESENTATION('connection point location 2d',(#1451),#225); -#15358=PROPERTY_DEFINITION('',$,#9104); -#15359=PROPERTY_DEFINITION_REPRESENTATION(#15358,#15360); -#15360=SHAPE_REPRESENTATION('connection point location 2d',(#8782),#225); -#15361=PROPERTY_DEFINITION('',$,#9105); -#15362=PROPERTY_DEFINITION_REPRESENTATION(#15361,#15363); -#15363=SHAPE_REPRESENTATION('connection point location 2d',(#5323),#225); -#15364=PROPERTY_DEFINITION('',$,#9168); -#15365=PROPERTY_DEFINITION_REPRESENTATION(#15364,#15366); -#15366=SHAPE_REPRESENTATION('connection point location 2d',(#1235),#225); -#15367=PROPERTY_DEFINITION('',$,#9169); -#15368=PROPERTY_DEFINITION_REPRESENTATION(#15367,#15369); -#15369=SHAPE_REPRESENTATION('connection point location 2d',(#9106),#225); -#15370=PROPERTY_DEFINITION('',$,#9170); -#15371=PROPERTY_DEFINITION_REPRESENTATION(#15370,#15372); -#15372=SHAPE_REPRESENTATION('connection point location 2d',(#9106),#225); -#15373=PROPERTY_DEFINITION('',$,#9171); -#15374=PROPERTY_DEFINITION_REPRESENTATION(#15373,#15375); -#15375=SHAPE_REPRESENTATION('connection point location 2d',(#9127),#225); -#15376=PROPERTY_DEFINITION('',$,#9173); -#15377=PROPERTY_DEFINITION_REPRESENTATION(#15376,#15378); -#15378=SHAPE_REPRESENTATION('connection point location 2d',(#9172),#225); -#15379=PROPERTY_DEFINITION('',$,#9174); -#15380=PROPERTY_DEFINITION_REPRESENTATION(#15379,#15381); -#15381=SHAPE_REPRESENTATION('connection point location 2d',(#9148),#225); -#15382=PROPERTY_DEFINITION('',$,#9175); -#15383=PROPERTY_DEFINITION_REPRESENTATION(#15382,#15384); -#15384=SHAPE_REPRESENTATION('connection point location 2d',(#9158),#225); -#15385=PROPERTY_DEFINITION('',$,#9176); -#15386=PROPERTY_DEFINITION_REPRESENTATION(#15385,#15387); -#15387=SHAPE_REPRESENTATION('connection point location 2d',(#9158),#225); -#15388=PROPERTY_DEFINITION('',$,#9177); -#15389=PROPERTY_DEFINITION_REPRESENTATION(#15388,#15390); -#15390=SHAPE_REPRESENTATION('connection point location 2d',(#3063),#225); -#15391=PROPERTY_DEFINITION('',$,#9178); -#15392=PROPERTY_DEFINITION_REPRESENTATION(#15391,#15393); -#15393=SHAPE_REPRESENTATION('connection point location 2d',(#9148),#225); -#15394=PROPERTY_DEFINITION('',$,#9179); -#15395=PROPERTY_DEFINITION_REPRESENTATION(#15394,#15396); -#15396=SHAPE_REPRESENTATION('connection point location 2d',(#9172),#225); -#15397=PROPERTY_DEFINITION('',$,#9180); -#15398=PROPERTY_DEFINITION_REPRESENTATION(#15397,#15399); -#15399=SHAPE_REPRESENTATION('connection point location 2d',(#9127),#225); -#15400=PROPERTY_DEFINITION('',$,#9243); -#15401=PROPERTY_DEFINITION_REPRESENTATION(#15400,#15402); -#15402=SHAPE_REPRESENTATION('connection point location 2d',(#1491),#225); -#15403=PROPERTY_DEFINITION('',$,#9244); -#15404=PROPERTY_DEFINITION_REPRESENTATION(#15403,#15405); -#15405=SHAPE_REPRESENTATION('connection point location 2d',(#9181),#225); -#15406=PROPERTY_DEFINITION('',$,#9245); -#15407=PROPERTY_DEFINITION_REPRESENTATION(#15406,#15408); -#15408=SHAPE_REPRESENTATION('connection point location 2d',(#9181),#225); -#15409=PROPERTY_DEFINITION('',$,#9246); -#15410=PROPERTY_DEFINITION_REPRESENTATION(#15409,#15411); -#15411=SHAPE_REPRESENTATION('connection point location 2d',(#9202),#225); -#15412=PROPERTY_DEFINITION('',$,#9248); -#15413=PROPERTY_DEFINITION_REPRESENTATION(#15412,#15414); -#15414=SHAPE_REPRESENTATION('connection point location 2d',(#9247),#225); -#15415=PROPERTY_DEFINITION('',$,#9249); -#15416=PROPERTY_DEFINITION_REPRESENTATION(#15415,#15417); -#15417=SHAPE_REPRESENTATION('connection point location 2d',(#9223),#225); -#15418=PROPERTY_DEFINITION('',$,#9250); -#15419=PROPERTY_DEFINITION_REPRESENTATION(#15418,#15420); -#15420=SHAPE_REPRESENTATION('connection point location 2d',(#9233),#225); -#15421=PROPERTY_DEFINITION('',$,#9251); -#15422=PROPERTY_DEFINITION_REPRESENTATION(#15421,#15423); -#15423=SHAPE_REPRESENTATION('connection point location 2d',(#9233),#225); -#15424=PROPERTY_DEFINITION('',$,#9252); -#15425=PROPERTY_DEFINITION_REPRESENTATION(#15424,#15426); -#15426=SHAPE_REPRESENTATION('connection point location 2d',(#3047),#225); -#15427=PROPERTY_DEFINITION('',$,#9253); -#15428=PROPERTY_DEFINITION_REPRESENTATION(#15427,#15429); -#15429=SHAPE_REPRESENTATION('connection point location 2d',(#9223),#225); -#15430=PROPERTY_DEFINITION('',$,#9254); -#15431=PROPERTY_DEFINITION_REPRESENTATION(#15430,#15432); -#15432=SHAPE_REPRESENTATION('connection point location 2d',(#9247),#225); -#15433=PROPERTY_DEFINITION('',$,#9255); -#15434=PROPERTY_DEFINITION_REPRESENTATION(#15433,#15435); -#15435=SHAPE_REPRESENTATION('connection point location 2d',(#9202),#225); -#15436=PROPERTY_DEFINITION('',$,#9287); -#15437=PROPERTY_DEFINITION_REPRESENTATION(#15436,#15438); -#15438=SHAPE_REPRESENTATION('connection point location 2d',(#9256),#225); -#15439=PROPERTY_DEFINITION('',$,#9288); -#15440=PROPERTY_DEFINITION_REPRESENTATION(#15439,#15441); -#15441=SHAPE_REPRESENTATION('connection point location 2d',(#9277),#225); -#15442=PROPERTY_DEFINITION('',$,#9289); -#15443=PROPERTY_DEFINITION_REPRESENTATION(#15442,#15444); -#15444=SHAPE_REPRESENTATION('connection point location 2d',(#9277),#225); -#15445=PROPERTY_DEFINITION('',$,#9290); -#15446=PROPERTY_DEFINITION_REPRESENTATION(#15445,#15447); -#15447=SHAPE_REPRESENTATION('connection point location 2d',(#9256),#225); -#15448=PROPERTY_DEFINITION('',$,#9292); -#15449=PROPERTY_DEFINITION_REPRESENTATION(#15448,#15450); -#15450=SHAPE_REPRESENTATION('connection point location 2d',(#9291),#225); -#15451=PROPERTY_DEFINITION('',$,#9293); -#15452=PROPERTY_DEFINITION_REPRESENTATION(#15451,#15453); -#15453=SHAPE_REPRESENTATION('connection point location 2d',(#5117),#225); -#15454=PROPERTY_DEFINITION('',$,#9294); -#15455=PROPERTY_DEFINITION_REPRESENTATION(#15454,#15456); -#15456=SHAPE_REPRESENTATION('connection point location 2d',(#1219),#225); -#15457=PROPERTY_DEFINITION('',$,#9295); -#15458=PROPERTY_DEFINITION_REPRESENTATION(#15457,#15459); -#15459=SHAPE_REPRESENTATION('connection point location 2d',(#9291),#225); -#15460=PROPERTY_DEFINITION('',$,#9327); -#15461=PROPERTY_DEFINITION_REPRESENTATION(#15460,#15462); -#15462=SHAPE_REPRESENTATION('connection point location 2d',(#2382),#225); -#15463=PROPERTY_DEFINITION('',$,#9328); -#15464=PROPERTY_DEFINITION_REPRESENTATION(#15463,#15465); -#15465=SHAPE_REPRESENTATION('connection point location 2d',(#9306),#225); -#15466=PROPERTY_DEFINITION('',$,#9329); -#15467=PROPERTY_DEFINITION_REPRESENTATION(#15466,#15468); -#15468=SHAPE_REPRESENTATION('connection point location 2d',(#9296),#225); -#15469=PROPERTY_DEFINITION('',$,#9330); -#15470=PROPERTY_DEFINITION_REPRESENTATION(#15469,#15471); -#15471=SHAPE_REPRESENTATION('connection point location 2d',(#9296),#225); -#15472=PROPERTY_DEFINITION('',$,#9331); -#15473=PROPERTY_DEFINITION_REPRESENTATION(#15472,#15474); -#15474=SHAPE_REPRESENTATION('connection point location 2d',(#3303),#225); -#15475=PROPERTY_DEFINITION('',$,#9332); -#15476=PROPERTY_DEFINITION_REPRESENTATION(#15475,#15477); -#15477=SHAPE_REPRESENTATION('connection point location 2d',(#9306),#225); -#15478=PROPERTY_DEFINITION('',$,#10855); -#15479=PROPERTY_DEFINITION_REPRESENTATION(#15478,#15480); -#15480=SHAPE_REPRESENTATION('connection point location 2d',(#10854),#225); -#15481=PROPERTY_DEFINITION('',$,#10857); -#15482=PROPERTY_DEFINITION_REPRESENTATION(#15481,#15483); -#15483=SHAPE_REPRESENTATION('connection point location 2d',(#10856),#225); -#15484=PROPERTY_DEFINITION('',$,#10859); -#15485=PROPERTY_DEFINITION_REPRESENTATION(#15484,#15486); -#15486=SHAPE_REPRESENTATION('connection point location 2d',(#10858),#225); -#15487=PROPERTY_DEFINITION('',$,#10861); -#15488=PROPERTY_DEFINITION_REPRESENTATION(#15487,#15489); -#15489=SHAPE_REPRESENTATION('connection point location 2d',(#10860),#225); -#15490=PROPERTY_DEFINITION('',$,#10862); -#15491=PROPERTY_DEFINITION_REPRESENTATION(#15490,#15492); -#15492=SHAPE_REPRESENTATION('connection point location 2d',(#10856),#225); -#15493=PROPERTY_DEFINITION('',$,#10863); -#15494=PROPERTY_DEFINITION_REPRESENTATION(#15493,#15495); -#15495=SHAPE_REPRESENTATION('connection point location 2d',(#10854),#225); -#15496=PROPERTY_DEFINITION('',$,#10865); -#15497=PROPERTY_DEFINITION_REPRESENTATION(#15496,#15498); -#15498=SHAPE_REPRESENTATION('connection point location 2d',(#10864),#225); -#15499=PROPERTY_DEFINITION('',$,#10866); -#15500=PROPERTY_DEFINITION_REPRESENTATION(#15499,#15501); -#15501=SHAPE_REPRESENTATION('connection point location 2d',(#10860),#225); -#15502=PROPERTY_DEFINITION('',$,#10867); -#15503=PROPERTY_DEFINITION_REPRESENTATION(#15502,#15504); -#15504=SHAPE_REPRESENTATION('connection point location 2d',(#10858),#225); -#15505=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#326,#14021,#14023); -#15506=PROPERTY_DEFINITION('outer boundary style',$,#326); -#15507=PROPERTY_DEFINITION_REPRESENTATION(#15506,#323); -#15508=PROPERTY_DEFINITION('inner boundary style',$,#326); -#15509=PROPERTY_DEFINITION_REPRESENTATION(#15508,#323); -#15511=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#382,#14021,#14023); -#15512=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#79,#382); -#15513=PROPERTY_DEFINITION('location','swappable',#382); -#15515=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#880,#14021,#14023); -#15516=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#79,#880); -#15517=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#512,#880); -#15518=PROPERTY_DEFINITION('location','swappable',#880); -#15520=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2062,#14021,#14023); -#15521=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#79,#2062); -#15522=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#2034,#2062); -#15523=PROPERTY_DEFINITION('location','swappable',#2062); -#15525=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2152,#14021,#14023); -#15526=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#79,#2152); -#15527=PROPERTY_DEFINITION('location','swappable',#2152); -#15529=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2438,#14021,#14023); -#15530=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#79,#2438); -#15531=PROPERTY_DEFINITION('location','swappable',#2438); -#15533=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2877,#14021,#14023); -#15534=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#79,#2877); -#15535=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#2667,#2877); -#15536=PROPERTY_DEFINITION('location','swappable',#2877); -#15538=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#385); -#15539=SHAPE_DEFINITION_REPRESENTATION(#382,#385); -#15540=REPRESENTATION('shape material condition',(#15541),#13406); -#15541=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#15542=REPRESENTATION_RELATIONSHIP('',$,#385,#15540); -#15544=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#883); -#15545=SHAPE_DEFINITION_REPRESENTATION(#880,#883); -#15546=REPRESENTATION_RELATIONSHIP('',$,#883,#15540); -#15547=REPRESENTATION_RELATIONSHIP('reference shape',$,#600,#883); -#15549=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#2065); -#15550=SHAPE_DEFINITION_REPRESENTATION(#2062,#2065); -#15551=REPRESENTATION_RELATIONSHIP('',$,#2065,#15540); -#15552=REPRESENTATION_RELATIONSHIP('reference shape',$,#2043,#2065); -#15554=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#2155); -#15555=SHAPE_DEFINITION_REPRESENTATION(#2152,#2155); -#15556=REPRESENTATION_RELATIONSHIP('',$,#2155,#15540); -#15558=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#2441); -#15559=SHAPE_DEFINITION_REPRESENTATION(#2438,#2441); -#15560=REPRESENTATION_RELATIONSHIP('',$,#2441,#15540); -#15562=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#2880); -#15563=SHAPE_DEFINITION_REPRESENTATION(#2877,#2880); -#15564=REPRESENTATION_RELATIONSHIP('',$,#2880,#15540); -#15565=REPRESENTATION_RELATIONSHIP('reference shape',$,#2729,#2880); -#15566=PRODUCT_CONTEXT('functional',#14022,''); -#15567=PRODUCT_DEFINITION_CONTEXT('functional design usage',#14022,''); -#15568=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1,#15567,#14023); -#15569=REPRESENTATION_MAP(#23,#35); -#15570=REPRESENTATION_MAP(#23,#46); -#15571=REPRESENTATION_MAP(#23,#53); -#15572=REPRESENTATION_MAP(#23,#60); -#15573=REPRESENTATION_MAP(#23,#66); -#15574=REPRESENTATION_MAP(#23,#379); -#15575=REPRESENTATION_MAP(#23,#620); -#15576=REPRESENTATION_MAP(#23,#1126); -#15577=REPRESENTATION_MAP(#23,#1134); -#15578=REPRESENTATION_MAP(#23,#1142); -#15579=REPRESENTATION_MAP(#23,#1150); -#15580=REPRESENTATION_MAP(#23,#1158); -#15581=REPRESENTATION_MAP(#23,#1166); -#15582=REPRESENTATION_MAP(#23,#1174); -#15583=REPRESENTATION_MAP(#23,#1182); -#15584=REPRESENTATION_MAP(#23,#1190); -#15585=REPRESENTATION_MAP(#23,#1198); -#15586=REPRESENTATION_MAP(#23,#1206); -#15587=REPRESENTATION_MAP(#23,#1214); -#15588=REPRESENTATION_MAP(#23,#1222); -#15589=REPRESENTATION_MAP(#23,#1230); -#15590=REPRESENTATION_MAP(#23,#1238); -#15591=REPRESENTATION_MAP(#23,#1246); -#15592=REPRESENTATION_MAP(#23,#1254); -#15593=REPRESENTATION_MAP(#23,#1262); -#15594=REPRESENTATION_MAP(#23,#1270); -#15595=REPRESENTATION_MAP(#23,#1278); -#15596=REPRESENTATION_MAP(#23,#1286); -#15597=REPRESENTATION_MAP(#23,#1294); -#15598=REPRESENTATION_MAP(#23,#1302); -#15599=REPRESENTATION_MAP(#23,#1310); -#15600=REPRESENTATION_MAP(#23,#1318); -#15601=REPRESENTATION_MAP(#23,#1326); -#15602=REPRESENTATION_MAP(#23,#1334); -#15603=REPRESENTATION_MAP(#23,#1342); -#15604=REPRESENTATION_MAP(#23,#1350); -#15605=REPRESENTATION_MAP(#23,#1358); -#15606=REPRESENTATION_MAP(#23,#1366); -#15607=REPRESENTATION_MAP(#23,#1374); -#15608=REPRESENTATION_MAP(#23,#1382); -#15609=REPRESENTATION_MAP(#23,#1390); -#15610=REPRESENTATION_MAP(#23,#1398); -#15611=REPRESENTATION_MAP(#23,#1406); -#15612=REPRESENTATION_MAP(#23,#1414); -#15613=REPRESENTATION_MAP(#23,#1422); -#15614=REPRESENTATION_MAP(#23,#1430); -#15615=REPRESENTATION_MAP(#23,#1438); -#15616=REPRESENTATION_MAP(#23,#1446); -#15617=REPRESENTATION_MAP(#23,#1454); -#15618=REPRESENTATION_MAP(#23,#1462); -#15619=REPRESENTATION_MAP(#23,#1470); -#15620=REPRESENTATION_MAP(#23,#1478); -#15621=REPRESENTATION_MAP(#23,#1486); -#15622=REPRESENTATION_MAP(#23,#1494); -#15623=REPRESENTATION_MAP(#23,#1502); -#15624=REPRESENTATION_MAP(#23,#1510); -#15625=REPRESENTATION_MAP(#23,#1518); -#15626=REPRESENTATION_MAP(#23,#1526); -#15627=REPRESENTATION_MAP(#23,#1534); -#15628=REPRESENTATION_MAP(#23,#1542); -#15629=REPRESENTATION_MAP(#23,#1550); -#15630=REPRESENTATION_MAP(#23,#1558); -#15631=REPRESENTATION_MAP(#23,#1566); -#15632=REPRESENTATION_MAP(#23,#1574); -#15633=REPRESENTATION_MAP(#23,#1582); -#15634=REPRESENTATION_MAP(#23,#1590); -#15635=REPRESENTATION_MAP(#23,#1598); -#15636=REPRESENTATION_MAP(#23,#1606); -#15637=REPRESENTATION_MAP(#23,#1614); -#15638=REPRESENTATION_MAP(#23,#1622); -#15639=REPRESENTATION_MAP(#23,#1630); -#15640=REPRESENTATION_MAP(#23,#2053); -#15641=REPRESENTATION_MAP(#23,#2117); -#15642=REPRESENTATION_MAP(#23,#2125); -#15643=REPRESENTATION_MAP(#23,#2149); -#15644=REPRESENTATION_MAP(#23,#2435); -#15645=REPRESENTATION_MAP(#23,#2745); -#15646=REPRESENTATION_MAP(#23,#3026); -#15647=REPRESENTATION_MAP(#23,#3034); -#15648=REPRESENTATION_MAP(#23,#3042); -#15649=REPRESENTATION_MAP(#23,#3050); -#15650=REPRESENTATION_MAP(#23,#3058); -#15651=REPRESENTATION_MAP(#23,#3066); -#15652=REPRESENTATION_MAP(#23,#3074); -#15653=REPRESENTATION_MAP(#23,#3082); -#15654=REPRESENTATION_MAP(#23,#3090); -#15655=REPRESENTATION_MAP(#23,#3098); -#15656=REPRESENTATION_MAP(#23,#3106); -#15657=REPRESENTATION_MAP(#23,#3114); -#15658=REPRESENTATION_MAP(#23,#3122); -#15659=REPRESENTATION_MAP(#23,#3130); -#15660=REPRESENTATION_MAP(#23,#3138); -#15661=REPRESENTATION_MAP(#23,#3146); -#15662=REPRESENTATION_MAP(#23,#3154); -#15663=REPRESENTATION_MAP(#23,#3162); -#15664=REPRESENTATION_MAP(#23,#3170); -#15665=REPRESENTATION_MAP(#23,#3178); -#15666=REPRESENTATION_MAP(#23,#3186); -#15667=REPRESENTATION_MAP(#23,#3194); -#15668=REPRESENTATION_MAP(#23,#3202); -#15669=REPRESENTATION_MAP(#23,#3210); -#15670=REPRESENTATION_MAP(#23,#3218); -#15671=REPRESENTATION_MAP(#23,#3226); -#15672=REPRESENTATION_MAP(#23,#3234); -#15673=REPRESENTATION_MAP(#23,#3242); -#15674=REPRESENTATION_MAP(#23,#3250); -#15675=REPRESENTATION_MAP(#23,#3258); -#15676=REPRESENTATION_MAP(#23,#3266); -#15677=REPRESENTATION_MAP(#23,#3274); -#15678=REPRESENTATION_MAP(#23,#3282); -#15679=REPRESENTATION_MAP(#23,#3290); -#15680=REPRESENTATION_MAP(#23,#3298); -#15681=REPRESENTATION_MAP(#23,#3306); -#15682=REPRESENTATION_MAP(#23,#3314); -#15683=REPRESENTATION_MAP(#23,#3322); -#15684=REPRESENTATION_MAP(#23,#3330); -#15685=REPRESENTATION_MAP(#23,#3338); -#15686=REPRESENTATION_MAP(#23,#3346); -#15687=REPRESENTATION_MAP(#23,#3354); -#15688=REPRESENTATION_MAP(#23,#3362); -#15689=REPRESENTATION_MAP(#23,#3370); -#15690=REPRESENTATION_MAP(#23,#3378); -#15691=REPRESENTATION_MAP(#23,#3386); -#15692=REPRESENTATION_MAP(#23,#3394); -#15693=REPRESENTATION_MAP(#23,#3402); -#15694=REPRESENTATION_MAP(#23,#3410); -#15695=REPRESENTATION_MAP(#23,#3418); -#15696=REPRESENTATION_MAP(#23,#3426); -#15697=REPRESENTATION_MAP(#23,#3434); -#15698=REPRESENTATION_MAP(#23,#3442); -#15699=REPRESENTATION_MAP(#23,#3450); -#15700=REPRESENTATION_MAP(#23,#3458); -#15701=REPRESENTATION_MAP(#23,#3466); -#15702=REPRESENTATION_MAP(#23,#3474); -#15703=REPRESENTATION_MAP(#23,#3482); -#15704=REPRESENTATION_MAP(#23,#3490); -#15705=REPRESENTATION_MAP(#23,#3498); -#15706=REPRESENTATION_MAP(#23,#3506); -#15707=REPRESENTATION_MAP(#23,#3514); -#15708=REPRESENTATION_MAP(#23,#3522); -#15709=REPRESENTATION_MAP(#23,#3530); -#15710=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15711=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15712=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15713=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15714=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15715=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15716=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15717=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15718=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15719=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15720=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15721=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15722=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15723=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15724=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15725=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15726=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15727=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15728=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15729=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15730=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15731=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15732=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15733=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15734=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15735=ITEM_DEFINED_TRANSFORMATION('',$,#23,#23); -#15736=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1125,#1130); -#15737=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1133,#1138); -#15738=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1141,#1146); -#15739=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1149,#1154); -#15740=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1157,#1162); -#15741=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1165,#1170); -#15742=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1173,#1178); -#15743=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1181,#1186); -#15744=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1189,#1194); -#15745=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1197,#1202); -#15746=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1205,#1210); -#15747=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1213,#1218); -#15748=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1221,#1226); -#15749=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1229,#1234); -#15750=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1237,#1242); -#15751=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1245,#1250); -#15752=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1253,#1258); -#15753=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1261,#1266); -#15754=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1269,#1274); -#15755=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1277,#1282); -#15756=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1285,#1290); -#15757=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1293,#1298); -#15758=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1301,#1306); -#15759=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1309,#1314); -#15760=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1317,#1322); -#15761=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1325,#1330); -#15762=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1333,#1338); -#15763=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1341,#1346); -#15764=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1349,#1354); -#15765=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1357,#1362); -#15766=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1365,#1370); -#15767=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1373,#1378); -#15768=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1381,#1386); -#15769=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1389,#1394); -#15770=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1397,#1402); -#15771=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1405,#1410); -#15772=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1413,#1418); -#15773=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1421,#1426); -#15774=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1429,#1434); -#15775=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1437,#1442); -#15776=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1445,#1450); -#15777=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1453,#1458); -#15778=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1461,#1466); -#15779=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1469,#1474); -#15780=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1477,#1482); -#15781=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1485,#1490); -#15782=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1493,#1498); -#15783=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1501,#1506); -#15784=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1509,#1514); -#15785=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1517,#1522); -#15786=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1525,#1530); -#15787=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1533,#1538); -#15788=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1541,#1546); -#15789=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1549,#1554); -#15790=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1557,#1562); -#15791=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1565,#1570); -#15792=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1573,#1578); -#15793=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1581,#1586); -#15794=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1589,#1594); -#15795=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1597,#1602); -#15796=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1605,#1610); -#15797=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1613,#1618); -#15798=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1621,#1626); -#15799=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1629,#1634); -#15800=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2116,#2121); -#15801=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2124,#2129); -#15802=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3025,#3030); -#15803=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3033,#3038); -#15804=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3041,#3046); -#15805=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3049,#3054); -#15806=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3057,#3062); -#15807=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3065,#3070); -#15808=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3073,#3078); -#15809=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3081,#3086); -#15810=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3089,#3094); -#15811=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3097,#3102); -#15812=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3105,#3110); -#15813=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3113,#3118); -#15814=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3121,#3126); -#15815=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3129,#3134); -#15816=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3137,#3142); -#15817=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3145,#3150); -#15818=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3153,#3158); -#15819=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3161,#3166); -#15820=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3169,#3174); -#15821=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3177,#3182); -#15822=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3185,#3190); -#15823=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3193,#3198); -#15824=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3201,#3206); -#15825=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3209,#3214); -#15826=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3217,#3222); -#15827=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3225,#3230); -#15828=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3233,#3238); -#15829=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3241,#3246); -#15830=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3249,#3254); -#15831=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3257,#3262); -#15832=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3265,#3270); -#15833=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3273,#3278); -#15834=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3281,#3286); -#15835=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3289,#3294); -#15836=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3297,#3302); -#15837=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3305,#3310); -#15838=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3313,#3318); -#15839=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3321,#3326); -#15840=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3329,#3334); -#15841=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3337,#3342); -#15842=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3345,#3350); -#15843=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3353,#3358); -#15844=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3361,#3366); -#15845=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3369,#3374); -#15846=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3377,#3382); -#15847=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3385,#3390); -#15848=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3393,#3398); -#15849=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3401,#3406); -#15850=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3409,#3414); -#15851=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3417,#3422); -#15852=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3425,#3430); -#15853=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3433,#3438); -#15854=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3441,#3446); -#15855=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3449,#3454); -#15856=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3457,#3462); -#15857=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3465,#3470); -#15858=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3473,#3478); -#15859=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3481,#3486); -#15860=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3489,#3494); -#15861=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3497,#3502); -#15862=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3505,#3510); -#15863=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3513,#3518); -#15864=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3521,#3526); -#15865=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#3529,#3534); -#15866=PROPERTY_DEFINITION('',$,#45); -#15867=PROPERTY_DEFINITION_REPRESENTATION(#15866,#15868); -#15868=REPRESENTATION('material state change',(#15869),#13406); -#15869=REPRESENTATION_ITEM('material removal'); -#15870=PROPERTY_DEFINITION('',$,#52); -#15871=PROPERTY_DEFINITION_REPRESENTATION(#15870,#15872); -#15872=REPRESENTATION('material state change',(#15873),#13406); -#15873=REPRESENTATION_ITEM('material removal'); -#15874=PROPERTY_DEFINITION('',$,#59); -#15875=PROPERTY_DEFINITION_REPRESENTATION(#15874,#15876); -#15876=REPRESENTATION('material state change',(#15877),#13406); -#15877=REPRESENTATION_ITEM('material removal'); -#15878=PROPERTY_DEFINITION('',$,#65); -#15879=PROPERTY_DEFINITION_REPRESENTATION(#15878,#15880); -#15880=REPRESENTATION('material state change',(#15881),#13406); -#15881=REPRESENTATION_ITEM('material removal'); -#15882=PROPERTY_DEFINITION('',$,#34); -#15883=PROPERTY_DEFINITION_REPRESENTATION(#15882,#15884); -#15884=REPRESENTATION('material state change',(#15885),#13406); -#15885=REPRESENTATION_ITEM('material addition'); -#15886=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#229,#14021,#14023); -#15887=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#226,#229); -#15888=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10618,#10546); -#15889=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10618,#10548); -#15890=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10619,#10547); -#15891=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10619,#10549); -#15892=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10685,#10628); -#15893=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10685,#10625); -#15894=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10685,#10626); -#15895=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10686,#10623); -#15896=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10686,#10629); -#15897=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10686,#10627); -#15898=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10760,#10693); -#15899=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10760,#10692); -#15900=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10811,#10763); -#15901=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10811,#10765); -#15902=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10851,#10814); -#15903=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10851,#10816); -#15904=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11157,#10929); -#15905=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11157,#10972); -#15906=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11157,#10950); -#15907=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11157,#10907); -#15908=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11157,#10880); -#15909=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11158,#10872); -#15910=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11158,#10975); -#15911=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11158,#10953); -#15912=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11158,#10910); -#15913=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11158,#10883); -#15914=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11159,#10931); -#15915=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11159,#10976); -#15916=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11159,#10954); -#15917=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11159,#10905); -#15918=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11159,#10911); -#15919=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11159,#10884); -#15920=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11159,#10870); -#15921=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11160,#10977); -#15922=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11160,#10955); -#15923=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11160,#10897); -#15924=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11160,#10995); -#15925=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11160,#10912); -#15926=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11161,#10902); -#15927=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11161,#10978); -#15928=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11161,#10956); -#15929=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11161,#10913); -#15930=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11161,#10885); -#15931=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11162,#10981); -#15932=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11162,#10959); -#15933=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11162,#10948); -#15934=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11162,#10997); -#15935=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11162,#10916); -#15936=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11163,#10900); -#15937=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11163,#10982); -#15938=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11163,#10960); -#15939=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11163,#10917); -#15940=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11163,#10887); -#15941=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11164,#10933); -#15942=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11164,#10983); -#15943=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11164,#10961); -#15944=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11164,#10949); -#15945=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11164,#10945); -#15946=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11164,#10918); -#15947=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11164,#10888); -#15948=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11165,#10984); -#15949=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11165,#10962); -#15950=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11165,#10874); -#15951=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11165,#10998); -#15952=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11165,#10919); -#15953=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11166,#10935); -#15954=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11166,#10988); -#15955=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11166,#10966); -#15956=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11166,#10923); -#15957=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11166,#10890); -#15958=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11167,#10989); -#15959=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11167,#10967); -#15960=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11167,#10904); -#15961=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11167,#10924); -#15962=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11167,#10869); -#15963=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11168,#10973); -#15964=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11168,#10951); -#15965=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11168,#10903); -#15966=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11168,#10908); -#15967=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11168,#10868); -#15968=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11169,#10930); -#15969=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11169,#10974); -#15970=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11169,#10952); -#15971=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11169,#10896); -#15972=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11169,#10941); -#15973=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11169,#10909); -#15974=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11169,#10882); -#15975=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11170,#10932); -#15976=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11170,#10979); -#15977=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11170,#10957); -#15978=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11170,#10898); -#15979=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11170,#10943); -#15980=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11170,#10914); -#15981=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11170,#10886); -#15982=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11171,#10980); -#15983=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11171,#10958); -#15984=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11171,#10876); -#15985=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11171,#10999); -#15986=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11171,#10915); -#15987=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11172,#10934); -#15988=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11172,#10986); -#15989=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11172,#10964); -#15990=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11172,#10875); -#15991=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11172,#10939); -#15992=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11172,#10921); -#15993=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11172,#10889); -#15994=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11173,#10985); -#15995=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11173,#10963); -#15996=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11173,#10895); -#15997=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11173,#10994); -#15998=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11173,#10920); -#15999=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11174,#10987); -#16000=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11174,#10965); -#16001=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11174,#10922); -#16002=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11174,#10878); -#16003=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11175,#10990); -#16004=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11175,#10968); -#16005=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11175,#10946); -#16006=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11175,#10996); -#16007=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11175,#10925); -#16008=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11176,#10936); -#16009=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11176,#10991); -#16010=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11176,#10969); -#16011=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11176,#10947); -#16012=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11176,#10942); -#16013=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11176,#10926); -#16014=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11176,#10892); -#16015=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11177,#10937); -#16016=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11177,#10992); -#16017=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11177,#10970); -#16018=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11177,#10906); -#16019=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11177,#10927); -#16020=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11177,#10893); -#16021=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11177,#10871); -#16022=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11178,#10938); -#16023=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11178,#10993); -#16024=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11178,#10971); -#16025=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11178,#10877); -#16026=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11178,#10944); -#16027=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11178,#10928); -#16028=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11178,#10894); -#16029=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11250,#11185); -#16030=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11250,#11183); -#16031=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11325,#11253); -#16032=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11325,#11256); -#16033=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11376,#11328); -#16034=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11376,#11331); -#16035=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11419,#11379); -#16036=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11419,#11381); -#16037=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10383,#8180); -#16038=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10383,#8191); -#16039=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10393,#8199); -#16040=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10393,#8205); -#16041=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10403,#8202); -#16042=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10403,#8204); -#16043=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10413,#8193); -#16044=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10413,#8187); -#16045=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10425,#8179); -#16046=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10425,#8178); -#16047=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10434,#8181); -#16048=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10434,#8186); -#16049=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10443,#8197); -#16050=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10443,#8208); -#16051=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10452,#8195); -#16052=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10452,#8194); -#16053=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10462,#8188); -#16054=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10462,#8190); -#16055=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10472,#8182); -#16056=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10472,#8201); -#16057=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10482,#8189); -#16058=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10482,#8185); -#16059=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10492,#8192); -#16060=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10492,#8198); -#16061=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10502,#8206); -#16062=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10502,#8207); -#16063=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10512,#8200); -#16064=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10512,#8203); -#16065=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10522,#8177); -#16066=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10522,#8196); -#16067=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10532,#8183); -#16068=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10532,#8184); -#16069=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10534,#10362); -#16070=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10534,#10361); -#16071=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10534,#10363); -#16072=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10534,#10364); -#16073=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10534,#10365); -#16074=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10534,#10366); -#16075=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10534,#10368); -#16076=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10534,#10367); -#16077=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10560,#8280); -#16078=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10560,#8278); -#16079=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10569,#8273); -#16080=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10569,#8279); -#16081=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10583,#8272); -#16082=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10583,#8283); -#16083=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10592,#8282); -#16084=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10592,#8274); -#16085=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10601,#8276); -#16086=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10601,#8277); -#16087=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10611,#8271); -#16088=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10611,#8281); -#16089=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10613,#10546); -#16090=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10613,#10545); -#16091=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10617,#10549); -#16092=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10617,#10550); -#16093=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10639,#8352); -#16094=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10639,#8350); -#16095=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10648,#8351); -#16096=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10648,#8346); -#16097=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10657,#8345); -#16098=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10657,#8354); -#16099=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10666,#8347); -#16100=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10666,#8353); -#16101=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10676,#8348); -#16102=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10676,#8349); -#16103=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10678,#10622); -#16104=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10678,#10623); -#16105=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10680,#10624); -#16106=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10680,#10625); -#16107=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10682,#10626); -#16108=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10682,#10627); -#16109=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10684,#10628); -#16110=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10684,#10629); -#16111=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10703,#8423); -#16112=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10703,#8425); -#16113=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10712,#8424); -#16114=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10712,#8418); -#16115=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10726,#8428); -#16116=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10726,#8417); -#16117=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10735,#8427); -#16118=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10735,#8419); -#16119=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10744,#8421); -#16120=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10744,#8422); -#16121=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10754,#8426); -#16122=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10754,#8416); -#16123=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10756,#10689); -#16124=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10756,#10690); -#16125=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10758,#10691); -#16126=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10758,#10692); -#16127=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10778,#8465); -#16128=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10778,#8462); -#16129=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10787,#8464); -#16130=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10787,#8460); -#16131=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10796,#8459); -#16132=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10796,#8467); -#16133=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10806,#8461); -#16134=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10806,#8466); -#16135=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10808,#10763); -#16136=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10808,#10764); -#16137=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10827,#8502); -#16138=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10827,#8500); -#16139=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10836,#8501); -#16140=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10836,#8499); -#16141=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10846,#8498); -#16142=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10846,#8503); -#16143=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10849,#10815); -#16144=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#10849,#10816); -#16145=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11009,#9087); -#16146=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11009,#9076); -#16147=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11019,#9102); -#16148=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11019,#9096); -#16149=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11029,#9101); -#16150=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11029,#9099); -#16151=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11038,#9089); -#16152=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11038,#9081); -#16153=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11047,#9074); -#16154=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11047,#9075); -#16155=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11056,#9077); -#16156=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11056,#9080); -#16157=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11065,#9105); -#16158=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11065,#9094); -#16159=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11074,#9091); -#16160=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11074,#9092); -#16161=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11083,#9083); -#16162=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11083,#9086); -#16163=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11092,#9078); -#16164=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11092,#9098); -#16165=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11101,#9085); -#16166=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11101,#9079); -#16167=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11110,#9095); -#16168=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11110,#9088); -#16169=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11120,#9104); -#16170=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11120,#9103); -#16171=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11130,#9100); -#16172=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11130,#9097); -#16173=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11140,#9093); -#16174=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11140,#9073); -#16175=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10868); -#16176=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10941); -#16177=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10870); -#16178=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10995); -#16179=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10943); -#16180=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10999); -#16181=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10997); -#16182=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10945); -#16183=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10998); -#16184=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10939); -#16185=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10940); -#16186=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10994); -#16187=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10869); -#16188=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10996); -#16189=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10942); -#16190=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10871); -#16191=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11142,#10944); -#16192=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10929); -#16193=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10930); -#16194=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10872); -#16195=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10931); -#16196=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10902); -#16197=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10932); -#16198=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10900); -#16199=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10933); -#16200=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10934); -#16201=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10935); -#16202=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10901); -#16203=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10899); -#16204=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10936); -#16205=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10937); -#16206=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10873); -#16207=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11144,#10938); -#16208=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10903); -#16209=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10896); -#16210=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10905); -#16211=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10897); -#16212=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10898); -#16213=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10948); -#16214=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10876); -#16215=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10949); -#16216=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10874); -#16217=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10875); -#16218=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10895); -#16219=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10904); -#16220=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10946); -#16221=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10947); -#16222=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10906); -#16223=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11146,#10877); -#16224=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11148,#10878); -#16225=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11148,#10879); -#16226=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10880); -#16227=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10881); -#16228=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10882); -#16229=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10883); -#16230=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10884); -#16231=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10885); -#16232=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10886); -#16233=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10887); -#16234=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10888); -#16235=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10889); -#16236=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10890); -#16237=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10891); -#16238=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10892); -#16239=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10893); -#16240=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11150,#10894); -#16241=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10907); -#16242=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10908); -#16243=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10909); -#16244=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10910); -#16245=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10911); -#16246=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10912); -#16247=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10913); -#16248=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10914); -#16249=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10915); -#16250=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10916); -#16251=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10917); -#16252=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10918); -#16253=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10919); -#16254=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10921); -#16255=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10920); -#16256=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10922); -#16257=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10923); -#16258=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10924); -#16259=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10925); -#16260=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10926); -#16261=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10927); -#16262=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11152,#10928); -#16263=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10950); -#16264=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10951); -#16265=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10952); -#16266=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10953); -#16267=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10954); -#16268=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10955); -#16269=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10956); -#16270=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10957); -#16271=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10958); -#16272=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10959); -#16273=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10960); -#16274=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10961); -#16275=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10962); -#16276=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10964); -#16277=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10963); -#16278=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10965); -#16279=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10966); -#16280=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10967); -#16281=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10968); -#16282=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10969); -#16283=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10970); -#16284=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11154,#10971); -#16285=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10972); -#16286=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10973); -#16287=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10974); -#16288=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10975); -#16289=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10976); -#16290=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10977); -#16291=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10978); -#16292=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10979); -#16293=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10980); -#16294=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10981); -#16295=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10982); -#16296=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10983); -#16297=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10984); -#16298=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10986); -#16299=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10985); -#16300=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10987); -#16301=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10988); -#16302=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10989); -#16303=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10990); -#16304=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10991); -#16305=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10992); -#16306=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11156,#10993); -#16307=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11195,#9175); -#16308=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11195,#9177); -#16309=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11204,#9176); -#16310=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11204,#9170); -#16311=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11216,#9180); -#16312=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11216,#9169); -#16313=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11225,#9179); -#16314=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11225,#9171); -#16315=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11234,#9174); -#16316=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11234,#9173); -#16317=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11244,#9178); -#16318=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11244,#9168); -#16319=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11246,#11181); -#16320=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11246,#11182); -#16321=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11248,#11183); -#16322=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11248,#11184); -#16323=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11267,#9252); -#16324=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11267,#9250); -#16325=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11276,#9251); -#16326=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11276,#9245); -#16327=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11291,#9244); -#16328=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11291,#9255); -#16329=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11300,#9246); -#16330=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11300,#9254); -#16331=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11309,#9249); -#16332=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11309,#9248); -#16333=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11319,#9243); -#16334=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11319,#9253); -#16335=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11322,#11254); -#16336=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11322,#11255); -#16337=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11324,#11257); -#16338=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11324,#11256); -#16339=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11343,#9290); -#16340=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11343,#9293); -#16341=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11352,#9292); -#16342=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11352,#9288); -#16343=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11361,#9287); -#16344=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11361,#9295); -#16345=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11371,#9294); -#16346=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11371,#9289); -#16347=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11373,#11329); -#16348=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11373,#11328); -#16349=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11392,#9331); -#16350=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11392,#9329); -#16351=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11401,#9328); -#16352=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11401,#9330); -#16353=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11414,#9327); -#16354=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11414,#9332); -#16355=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11417,#11380); -#16356=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#11417,#11381); -#16357=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1770); -#16358=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1773); -#16359=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1776); -#16360=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1779); -#16361=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1782); -#16362=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1785); -#16363=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1788); -#16364=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1791); -#16365=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1794); -#16366=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1797); -#16367=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1800); -#16368=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1803); -#16369=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1806); -#16370=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1809); -#16371=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1812); -#16372=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1815); -#16373=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1818); -#16374=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1821); -#16375=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1824); -#16376=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1827); -#16377=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1830); -#16378=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1833); -#16379=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1836); -#16380=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1839); -#16381=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1842); -#16382=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1845); -#16383=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1848); -#16384=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1851); -#16385=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1854); -#16386=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1857); -#16387=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1860); -#16388=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1863); -#16389=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1866); -#16390=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1869); -#16391=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1872); -#16392=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1875); -#16393=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1878); -#16394=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1881); -#16395=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1884); -#16396=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1887); -#16397=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1890); -#16398=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1893); -#16399=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1896); -#16400=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1899); -#16401=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1902); -#16402=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1905); -#16403=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1908); -#16404=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1911); -#16405=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1914); -#16406=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1917); -#16407=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1920); -#16408=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1923); -#16409=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1926); -#16410=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1929); -#16411=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1932); -#16412=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1935); -#16413=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1938); -#16414=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1941); -#16415=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1944); -#16416=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1947); -#16417=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1950); -#16418=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1953); -#16419=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1956); -#16420=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#1959); -#16421=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2078,#2141); -#16422=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2078,#2143); -#16423=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3670); -#16424=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3673); -#16425=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3676); -#16426=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3679); -#16427=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3682); -#16428=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3685); -#16429=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3688); -#16430=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3691); -#16431=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3694); -#16432=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3697); -#16433=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3700); -#16434=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3703); -#16435=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3706); -#16436=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3709); -#16437=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3712); -#16438=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3715); -#16439=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3718); -#16440=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3721); -#16441=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3724); -#16442=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3727); -#16443=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3730); -#16444=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3733); -#16445=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3736); -#16446=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3739); -#16447=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3742); -#16448=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3745); -#16449=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3748); -#16450=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3751); -#16451=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3754); -#16452=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3757); -#16453=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3760); -#16454=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3763); -#16455=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3766); -#16456=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3769); -#16457=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3772); -#16458=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3775); -#16459=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3778); -#16460=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3781); -#16461=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3784); -#16462=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3787); -#16463=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3790); -#16464=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3793); -#16465=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3796); -#16466=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3799); -#16467=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3802); -#16468=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3805); -#16469=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3808); -#16470=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3811); -#16471=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3814); -#16472=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3817); -#16473=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3820); -#16474=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3823); -#16475=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3826); -#16476=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3829); -#16477=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3832); -#16478=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3835); -#16479=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3838); -#16480=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3841); -#16481=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3844); -#16482=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3847); -#16483=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3850); -#16484=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3853); -#16485=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3856); -#16486=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#896,#3859); -#16487=PRODUCT_DEFINITION_CONTEXT('assembly definition',#14022,''); -#16488=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#12,#16487,#14023); -#16489=PRODUCT_DEFINITION_CONTEXT('physical design',#14022,''); -#16490=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#12,#16489,#14023); -#16491=ID_ATTRIBUTE('1',#12); -#16492=PRODUCT_DEFINITION_RELATIONSHIP('','design usage',$,#6,#12); -#16493=PRODUCT_DEFINITION_CONTEXT('physical design usage',#14022,''); -#16494=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6,#16493,#14023); -#16495=ID_ATTRIBUTE('2',#6); -#16496=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#1,#6); -#16497=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#223,#16487,#14023); -#16498=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#223,#16489,#14023); -#16499=ID_ATTRIBUTE('1',#223); -#16500=PRODUCT_DEFINITION_RELATIONSHIP('','design usage',$,#27,#223); -#16501=PROPERTY_DEFINITION_RELATIONSHIP('used stack model','',#187,#223); -#16502=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#27,#16493,#14023); -#16503=ID_ATTRIBUTE('2',#27); -#16504=PROPERTY_DEFINITION('thickness over metal requirement',$,#27); -#16505=PROPERTY_DEFINITION_REPRESENTATION(#16504,#12704); -#16506=PROPERTY_DEFINITION('thickness over dielectric requirement',$,#27); -#16507=PROPERTY_DEFINITION_REPRESENTATION(#16506,#12702); -#16508=PROPERTY_DEFINITION('required characteristic',$,#334); -#16509=PROPERTY_DEFINITION_REPRESENTATION(#16508,#337); -#16510=CHARACTERIZED_OBJECT('land category',$); -#16511=PROPERTY_DEFINITION('',$,#16510); -#16512=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16508,#16511); -#16513=CHARACTERIZED_OBJECT('stratum feature template component category',$); -#16514=PROPERTY_DEFINITION('',$,#16513); -#16515=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16508,#16514); -#16516=PROPERTY_DEFINITION('of spacing type','nearest boundary',#334); -#16517=PROPERTY_DEFINITION('required characteristic',$,#342); -#16518=PROPERTY_DEFINITION_REPRESENTATION(#16517,#337); -#16519=CHARACTERIZED_OBJECT('via category',$); -#16520=PROPERTY_DEFINITION('',$,#16519); -#16521=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16517,#16520); -#16522=CHARACTERIZED_OBJECT('stratum feature template component category',$); -#16523=PROPERTY_DEFINITION('',$,#16522); -#16524=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16517,#16523); -#16525=PROPERTY_DEFINITION('of spacing type','nearest boundary',#342); -#16526=PROPERTY_DEFINITION('required characteristic',$,#345); -#16527=PROPERTY_DEFINITION_REPRESENTATION(#16526,#347); -#16528=CHARACTERIZED_OBJECT('land category',$); -#16529=PROPERTY_DEFINITION('',$,#16528); -#16530=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16526,#16529); -#16531=CHARACTERIZED_OBJECT('land category',$); -#16532=PROPERTY_DEFINITION('',$,#16531); -#16533=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16526,#16532); -#16534=PROPERTY_DEFINITION('of spacing type','nearest boundary',#345); -#16535=PROPERTY_DEFINITION('required characteristic',$,#350); -#16536=PROPERTY_DEFINITION_REPRESENTATION(#16535,#352); -#16537=CHARACTERIZED_OBJECT('land category',$); -#16538=PROPERTY_DEFINITION('',$,#16537); -#16539=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16535,#16538); -#16540=CHARACTERIZED_OBJECT('interconnect module edge category',$); -#16541=PROPERTY_DEFINITION('',$,#16540); -#16542=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16535,#16541); -#16543=PROPERTY_DEFINITION('of spacing type','nearest boundary',#350); -#16544=PROPERTY_DEFINITION('required characteristic',$,#355); -#16545=PROPERTY_DEFINITION_REPRESENTATION(#16544,#347); -#16546=CHARACTERIZED_OBJECT('land category',$); -#16547=PROPERTY_DEFINITION('',$,#16546); -#16548=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16544,#16547); -#16549=CHARACTERIZED_OBJECT('stratum feature template component category',$); -#16550=PROPERTY_DEFINITION('',$,#16549); -#16551=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16544,#16550); -#16552=PROPERTY_DEFINITION('of spacing type','nearest boundary',#355); -#16553=PROPERTY_DEFINITION('required characteristic',$,#358); -#16554=PROPERTY_DEFINITION_REPRESENTATION(#16553,#347); -#16555=CHARACTERIZED_OBJECT('land category',$); -#16556=PROPERTY_DEFINITION('',$,#16555); -#16557=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16553,#16556); -#16558=CHARACTERIZED_OBJECT('via category',$); -#16559=PROPERTY_DEFINITION('',$,#16558); -#16560=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16553,#16559); -#16561=PROPERTY_DEFINITION('of spacing type','nearest boundary',#358); -#16562=PROPERTY_DEFINITION('required characteristic',$,#361); -#16563=PROPERTY_DEFINITION_REPRESENTATION(#16562,#352); -#16564=CHARACTERIZED_OBJECT('via category',$); -#16565=PROPERTY_DEFINITION('',$,#16564); -#16566=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16562,#16565); -#16567=CHARACTERIZED_OBJECT('interconnect module edge category',$); -#16568=PROPERTY_DEFINITION('',$,#16567); -#16569=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16562,#16568); -#16570=PROPERTY_DEFINITION('of spacing type','nearest boundary',#361); -#16571=PROPERTY_DEFINITION('required characteristic',$,#364); -#16572=PROPERTY_DEFINITION_REPRESENTATION(#16571,#347); -#16573=CHARACTERIZED_OBJECT('via category',$); -#16574=PROPERTY_DEFINITION('',$,#16573); -#16575=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16571,#16574); -#16576=CHARACTERIZED_OBJECT('stratum feature template component category',$); -#16577=PROPERTY_DEFINITION('',$,#16576); -#16578=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16571,#16577); -#16579=PROPERTY_DEFINITION('of spacing type','nearest boundary',#364); -#16580=PROPERTY_DEFINITION('required characteristic',$,#367); -#16581=PROPERTY_DEFINITION_REPRESENTATION(#16580,#347); -#16582=CHARACTERIZED_OBJECT('via category',$); -#16583=PROPERTY_DEFINITION('',$,#16582); -#16584=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16580,#16583); -#16585=CHARACTERIZED_OBJECT('via category',$); -#16586=PROPERTY_DEFINITION('',$,#16585); -#16587=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16580,#16586); -#16588=PROPERTY_DEFINITION('of spacing type','nearest boundary',#367); -#16589=PROPERTY_DEFINITION('required characteristic',$,#370); -#16590=PROPERTY_DEFINITION_REPRESENTATION(#16589,#352); -#16591=CHARACTERIZED_OBJECT('stratum feature template component category',$); -#16592=PROPERTY_DEFINITION('',$,#16591); -#16593=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16589,#16592); -#16594=CHARACTERIZED_OBJECT('interconnect module edge category',$); -#16595=PROPERTY_DEFINITION('',$,#16594); -#16596=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16589,#16595); -#16597=PROPERTY_DEFINITION('of spacing type','nearest boundary',#370); -#16598=PROPERTY_DEFINITION('required characteristic',$,#373); -#16599=PROPERTY_DEFINITION_REPRESENTATION(#16598,#347); -#16600=CHARACTERIZED_OBJECT('stratum feature template component category',$); -#16601=PROPERTY_DEFINITION('',$,#16600); -#16602=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16598,#16601); -#16603=CHARACTERIZED_OBJECT('stratum feature template component category',$); -#16604=PROPERTY_DEFINITION('',$,#16603); -#16605=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16598,#16604); -#16606=PROPERTY_DEFINITION('of spacing type','nearest boundary',#373); -#16607=PROPERTY_DEFINITION('required characteristic',$,#898); -#16608=PROPERTY_DEFINITION_REPRESENTATION(#16607,#900); -#16609=CHARACTERIZED_OBJECT('land category',$); -#16610=PROPERTY_DEFINITION('',$,#16609); -#16611=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16607,#16610); -#16612=CHARACTERIZED_OBJECT('stratum feature template component category',$); -#16613=PROPERTY_DEFINITION('',$,#16612); -#16614=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16607,#16613); -#16615=PROPERTY_DEFINITION('of spacing type','nearest boundary',#898); -#16616=PROPERTY_DEFINITION('required characteristic',$,#2289); -#16617=PROPERTY_DEFINITION_REPRESENTATION(#16616,#900); -#16618=CHARACTERIZED_OBJECT('via category',$); -#16619=PROPERTY_DEFINITION('',$,#16618); -#16620=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#16616,#16619); -#16621=CHARACTERIZED_OBJECT('stratum feature template component category',$); -#16622=PROPERTY_DEFINITION('',$,#16621); -#16623=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#16616,#16622); -#16624=PROPERTY_DEFINITION('of spacing type','nearest boundary',#2289); -#16625=DESCRIPTION_ATTRIBUTE('length tolerance',#84); -#16626=DESCRIPTION_ATTRIBUTE('length tolerance',#337); -#16627=DESCRIPTION_ATTRIBUTE('length tolerance',#347); -#16628=DESCRIPTION_ATTRIBUTE('length tolerance',#352); -#16629=DESCRIPTION_ATTRIBUTE('length tolerance',#900); -#16630=DESCRIPTION_ATTRIBUTE('length tolerance',#12702); -#16631=DESCRIPTION_ATTRIBUTE('length tolerance',#12704); -#16632=DESCRIPTION_ATTRIBUTE('length tolerance',#12709); -#16633=DESCRIPTION_ATTRIBUTE('length tolerance',#12718); -#16634=DESCRIPTION_ATTRIBUTE('length tolerance',#12726); -#16635=DESCRIPTION_ATTRIBUTE('length tolerance',#12733); -#16636=DESCRIPTION_ATTRIBUTE('length tolerance',#12740); -#16637=DESCRIPTION_ATTRIBUTE('length tolerance',#12747); -#16638=DESCRIPTION_ATTRIBUTE('length tolerance',#12754); -#16639=DESCRIPTION_ATTRIBUTE('length tolerance',#12761); -#16640=DESCRIPTION_ATTRIBUTE('length tolerance',#12768); -#16641=DESCRIPTION_ATTRIBUTE('length tolerance',#12775); -#16642=DESCRIPTION_ATTRIBUTE('length tolerance',#12782); -#16643=DESCRIPTION_ATTRIBUTE('length tolerance',#12789); -#16644=DESCRIPTION_ATTRIBUTE('length tolerance',#12796); -#16645=DESCRIPTION_ATTRIBUTE('length tolerance',#12803); -#16646=DESCRIPTION_ATTRIBUTE('length tolerance',#12810); -#16647=DESCRIPTION_ATTRIBUTE('length tolerance',#12816); -#16648=DESCRIPTION_ATTRIBUTE('length tolerance',#12821); -#16649=DESCRIPTION_ATTRIBUTE('length tolerance',#12974); -#16650=DESCRIPTION_ATTRIBUTE('length tolerance',#12712); -#16651=DESCRIPTION_ATTRIBUTE('length tolerance',#12722); -#16652=DESCRIPTION_ATTRIBUTE('length tolerance',#12729); -#16653=DESCRIPTION_ATTRIBUTE('length tolerance',#12736); -#16654=DESCRIPTION_ATTRIBUTE('length tolerance',#12743); -#16655=DESCRIPTION_ATTRIBUTE('length tolerance',#12750); -#16656=DESCRIPTION_ATTRIBUTE('length tolerance',#12757); -#16657=DESCRIPTION_ATTRIBUTE('length tolerance',#12764); -#16658=DESCRIPTION_ATTRIBUTE('length tolerance',#12771); -#16659=DESCRIPTION_ATTRIBUTE('length tolerance',#12778); -#16660=DESCRIPTION_ATTRIBUTE('length tolerance',#12785); -#16661=DESCRIPTION_ATTRIBUTE('length tolerance',#12792); -#16662=DESCRIPTION_ATTRIBUTE('length tolerance',#12799); -#16663=DESCRIPTION_ATTRIBUTE('length tolerance',#12806); -#16664=DESCRIPTION_ATTRIBUTE('length tolerance',#12813); -#16665=DESCRIPTION_ATTRIBUTE('length tolerance',#12818); -#16666=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#79,#14021,#14023); -#16667=ID_ATTRIBUTE('',#91); -#16668=ID_ATTRIBUTE('',#111); -#16670=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#443,#14021,#14023); -#16672=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#451,#14021,#14023); -#16674=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#909,#14021,#14023); -#16676=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2200,#14021,#14023); -#16678=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2208,#14021,#14023); -#16680=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2324,#14021,#14023); -#16682=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2486,#14021,#14023); -#16684=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2494,#14021,#14023); -#16686=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2652,#14021,#14023); -#16688=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7756,#14021,#14023); -#16690=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7886,#14021,#14023); -#16694=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2255,#14021,#14023); -#16696=PROPERTY_DEFINITION('location','top',#2255); -#16697=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#79,#2255); -#16699=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2534,#14021,#14023); -#16700=PROPERTY_DEFINITION('location','swappable',#2534); -#16701=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#79,#2534); -#17050=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1058,#1635); -#17051=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1059,#1637); -#17052=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1060,#1639); -#17053=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1061,#1641); -#17054=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1062,#1643); -#17055=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1063,#1645); -#17056=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1064,#1647); -#17057=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1065,#1649); -#17058=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1066,#1651); -#17059=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1067,#1653); -#17060=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1068,#1655); -#17061=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1069,#1657); -#17062=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1070,#1659); -#17063=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1071,#1661); -#17064=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1072,#1663); -#17065=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1073,#1665); -#17066=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1074,#1667); -#17067=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1075,#1669); -#17068=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1076,#1671); -#17069=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1077,#1673); -#17070=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1078,#1675); -#17071=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1079,#1677); -#17072=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1080,#1679); -#17073=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1081,#1681); -#17074=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1082,#1683); -#17075=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1083,#1685); -#17076=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1084,#1687); -#17077=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1085,#1689); -#17078=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1086,#1691); -#17079=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1087,#1693); -#17080=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1088,#1695); -#17081=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1089,#1697); -#17082=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1090,#1699); -#17083=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1091,#1701); -#17084=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1092,#1703); -#17085=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1093,#1705); -#17086=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1094,#1707); -#17087=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1095,#1709); -#17088=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1096,#1711); -#17089=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1097,#1713); -#17090=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1098,#1715); -#17091=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1099,#1717); -#17092=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1100,#1719); -#17093=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1101,#1721); -#17094=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1102,#1723); -#17095=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1103,#1725); -#17096=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1104,#1727); -#17097=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1105,#1729); -#17098=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1106,#1731); -#17099=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1107,#1733); -#17100=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1108,#1735); -#17101=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1109,#1737); -#17102=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1110,#1739); -#17103=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1111,#1741); -#17104=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1112,#1743); -#17105=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1113,#1745); -#17106=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1114,#1747); -#17107=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1115,#1749); -#17108=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1116,#1751); -#17109=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1117,#1753); -#17110=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1118,#1755); -#17111=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1119,#1757); -#17112=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1120,#1759); -#17113=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1121,#1761); -#17114=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2113,#2130); -#17115=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2114,#2132); -#17116=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1058,#3535); -#17117=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1059,#3537); -#17118=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1060,#3539); -#17119=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1061,#3541); -#17120=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1062,#3543); -#17121=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1063,#3545); -#17122=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1064,#3547); -#17123=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1065,#3549); -#17124=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1066,#3551); -#17125=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1067,#3553); -#17126=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1068,#3555); -#17127=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1069,#3557); -#17128=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1070,#3559); -#17129=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1071,#3561); -#17130=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1072,#3563); -#17131=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1073,#3565); -#17132=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1074,#3567); -#17133=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1075,#3569); -#17134=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1076,#3571); -#17135=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1077,#3573); -#17136=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1078,#3575); -#17137=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1079,#3577); -#17138=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1080,#3579); -#17139=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1081,#3581); -#17140=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1082,#3583); -#17141=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1083,#3585); -#17142=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1084,#3587); -#17143=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1085,#3589); -#17144=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1086,#3591); -#17145=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1087,#3593); -#17146=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1088,#3595); -#17147=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1089,#3597); -#17148=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1090,#3599); -#17149=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1091,#3601); -#17150=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1092,#3603); -#17151=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1093,#3605); -#17152=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1094,#3607); -#17153=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1095,#3609); -#17154=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1096,#3611); -#17155=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1097,#3613); -#17156=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1098,#3615); -#17157=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1099,#3617); -#17158=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1100,#3619); -#17159=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1101,#3621); -#17160=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1102,#3623); -#17161=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1103,#3625); -#17162=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1104,#3627); -#17163=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1105,#3629); -#17164=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1106,#3631); -#17165=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1107,#3633); -#17166=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1108,#3635); -#17167=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1109,#3637); -#17168=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1110,#3639); -#17169=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1111,#3641); -#17170=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1112,#3643); -#17171=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1113,#3645); -#17172=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1114,#3647); -#17173=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1115,#3649); -#17174=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1116,#3651); -#17175=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1117,#3653); -#17176=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1118,#3655); -#17177=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1119,#3657); -#17178=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1120,#3659); -#17179=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1121,#3661); -#17180=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#500,#16493,#14023); -#17181=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#512,#500); -#17182=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#2667,#500); -#17183=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2024,#16493,#14023); -#17184=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#2034,#2024); -#17185=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1058,#619); -#17186=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1058,#2744); -#17187=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1059,#628); -#17188=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1059,#2751); -#17189=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1060,#632); -#17190=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1060,#2753); -#17191=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1061,#636); -#17192=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1061,#2755); -#17193=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1062,#640); -#17194=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1062,#2757); -#17195=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1063,#644); -#17196=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1063,#2759); -#17197=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1064,#648); -#17198=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1064,#2761); -#17199=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1065,#652); -#17200=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1065,#2763); -#17201=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1066,#656); -#17202=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1066,#2765); -#17203=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1067,#660); -#17204=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1067,#2767); -#17205=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1068,#664); -#17206=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1068,#2769); -#17207=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1069,#668); -#17208=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1069,#2771); -#17209=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1070,#672); -#17210=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1070,#2773); -#17211=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1071,#676); -#17212=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1071,#2775); -#17213=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1072,#680); -#17214=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1072,#2777); -#17215=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1073,#684); -#17216=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1073,#2779); -#17217=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1074,#688); -#17218=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1074,#2781); -#17219=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1075,#692); -#17220=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1075,#2783); -#17221=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1076,#696); -#17222=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1076,#2785); -#17223=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1077,#700); -#17224=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1077,#2787); -#17225=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1078,#704); -#17226=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1078,#2789); -#17227=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1079,#708); -#17228=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1079,#2791); -#17229=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1080,#712); -#17230=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1080,#2793); -#17231=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1081,#716); -#17232=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1081,#2795); -#17233=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1082,#720); -#17234=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1082,#2797); -#17235=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1083,#724); -#17236=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1083,#2799); -#17237=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1084,#728); -#17238=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1084,#2801); -#17239=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1085,#732); -#17240=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1085,#2803); -#17241=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1086,#736); -#17242=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1086,#2805); -#17243=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1087,#740); -#17244=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1087,#2807); -#17245=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1088,#744); -#17246=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1088,#2809); -#17247=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1089,#748); -#17248=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1089,#2811); -#17249=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1090,#752); -#17250=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1090,#2813); -#17251=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1091,#756); -#17252=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1091,#2815); -#17253=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1092,#760); -#17254=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1092,#2817); -#17255=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1093,#764); -#17256=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1093,#2819); -#17257=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1094,#768); -#17258=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1094,#2821); -#17259=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1095,#772); -#17260=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1095,#2823); -#17261=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1096,#776); -#17262=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1096,#2825); -#17263=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1097,#780); -#17264=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1097,#2827); -#17265=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1098,#784); -#17266=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1098,#2829); -#17267=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1099,#788); -#17268=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1099,#2831); -#17269=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1100,#792); -#17270=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1100,#2833); -#17271=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1101,#796); -#17272=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1101,#2835); -#17273=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1102,#800); -#17274=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1102,#2837); -#17275=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1103,#804); -#17276=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1103,#2839); -#17277=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1104,#808); -#17278=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1104,#2841); -#17279=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1105,#812); -#17280=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1105,#2843); -#17281=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1106,#816); -#17282=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1106,#2845); -#17283=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1107,#820); -#17284=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1107,#2847); -#17285=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1108,#824); -#17286=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1108,#2849); -#17287=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1109,#828); -#17288=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1109,#2851); -#17289=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1110,#832); -#17290=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1110,#2853); -#17291=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1111,#836); -#17292=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1111,#2855); -#17293=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1112,#840); -#17294=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1112,#2857); -#17295=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1113,#844); -#17296=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1113,#2859); -#17297=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1114,#848); -#17298=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1114,#2861); -#17299=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1115,#852); -#17300=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1115,#2863); -#17301=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1116,#856); -#17302=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1116,#2865); -#17303=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1117,#860); -#17304=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1117,#2867); -#17305=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1118,#864); -#17306=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1118,#2869); -#17307=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1119,#868); -#17308=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1119,#2871); -#17309=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1120,#872); -#17310=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1120,#2873); -#17311=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1121,#876); -#17312=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#1121,#2875); -#17313=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2113,#2052); -#17314=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#2114,#2059); -#17315=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#512,#16493,#14023); -#17316=PROPERTY_DEFINITION('maximum body height above seating plane',$,#512); -#17317=PROPERTY_DEFINITION_REPRESENTATION(#17316,#17318); -#17318=REPRESENTATION('',(#503),#13406); -#17319=PROPERTY_DEFINITION('nominal mounting lead pitch',$,#512); -#17320=PROPERTY_DEFINITION_REPRESENTATION(#17319,#17321); -#17321=REPRESENTATION('',(#1042),#13406); -#17322=PROPERTY_DEFINITION('nominal mounting lead span',$,#512); -#17323=PROPERTY_DEFINITION_REPRESENTATION(#17322,#17324); -#17324=REPRESENTATION('',(#1043),#13406); -#17325=PROPERTY_DEFINITION('maximum seating plane installation offset',$,#512); -#17326=PROPERTY_DEFINITION_REPRESENTATION(#17325,#17327); -#17327=REPRESENTATION('',(#12971),#13406); -#17328=PROPERTY_DEFINITION('mounting technology','surface mount',#512); -#17329=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2034,#16493,#14023); -#17330=PROPERTY_DEFINITION('maximum body height above seating plane',$,#2034); -#17331=PROPERTY_DEFINITION_REPRESENTATION(#17330,#17332); -#17332=REPRESENTATION('',(#513),#13406); -#17333=PROPERTY_DEFINITION('nominal mounting lead span',$,#2034); -#17334=PROPERTY_DEFINITION_REPRESENTATION(#17333,#17335); -#17335=REPRESENTATION('',(#2098),#13406); -#17336=PROPERTY_DEFINITION('mounting technology','surface mount',#2034); -#17337=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2667,#16493,#14023); -#17338=PROPERTY_DEFINITION('maximum body height above seating plane',$,#2667); -#17339=PROPERTY_DEFINITION_REPRESENTATION(#17338,#17318); -#17340=PROPERTY_DEFINITION('nominal mounting lead pitch',$,#2667); -#17341=PROPERTY_DEFINITION_REPRESENTATION(#17340,#17342); -#17342=REPRESENTATION('',(#3009),#13406); -#17343=PROPERTY_DEFINITION('nominal mounting lead span',$,#2667); -#17344=PROPERTY_DEFINITION_REPRESENTATION(#17343,#17345); -#17345=REPRESENTATION('',(#3010),#13406); -#17346=PROPERTY_DEFINITION('maximum seating plane installation offset',$,#2667); -#17347=PROPERTY_DEFINITION_REPRESENTATION(#17346,#17348); -#17348=REPRESENTATION('',(#12972),#13406); -#17349=PROPERTY_DEFINITION('mounting technology','surface mount',#2667); -#17350=ID_ATTRIBUTE('14',#619); -#17351=PROPERTY_DEFINITION('',$,#619); -#17352=PROPERTY_DEFINITION('',$,#622); -#17353=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17351); -#17354=ID_ATTRIBUTE('29',#628); -#17355=PROPERTY_DEFINITION('',$,#628); -#17356=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17355); -#17357=ID_ATTRIBUTE('9',#632); -#17358=PROPERTY_DEFINITION('',$,#632); -#17359=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17358); -#17360=ID_ATTRIBUTE('36',#636); -#17361=PROPERTY_DEFINITION('',$,#636); -#17362=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17361); -#17363=ID_ATTRIBUTE('58',#640); -#17364=PROPERTY_DEFINITION('',$,#640); -#17365=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17364); -#17366=ID_ATTRIBUTE('35',#644); -#17367=PROPERTY_DEFINITION('',$,#644); -#17368=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17367); -#17369=ID_ATTRIBUTE('1',#648); -#17370=PROPERTY_DEFINITION('',$,#648); -#17371=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17370); -#17372=ID_ATTRIBUTE('61',#652); -#17373=PROPERTY_DEFINITION('',$,#652); -#17374=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17373); -#17375=ID_ATTRIBUTE('45',#656); -#17376=PROPERTY_DEFINITION('',$,#656); -#17377=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17376); -#17378=ID_ATTRIBUTE('20',#660); -#17379=PROPERTY_DEFINITION('',$,#660); -#17380=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17379); -#17381=ID_ATTRIBUTE('34',#664); -#17382=PROPERTY_DEFINITION('',$,#664); -#17383=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17382); -#17384=ID_ATTRIBUTE('64',#668); -#17385=PROPERTY_DEFINITION('',$,#668); -#17386=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17385); -#17387=ID_ATTRIBUTE('3',#672); -#17388=PROPERTY_DEFINITION('',$,#672); -#17389=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17388); -#17390=ID_ATTRIBUTE('25',#676); -#17391=PROPERTY_DEFINITION('',$,#676); -#17392=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17391); -#17393=ID_ATTRIBUTE('18',#680); -#17394=PROPERTY_DEFINITION('',$,#680); -#17395=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17394); -#17396=ID_ATTRIBUTE('37',#684); -#17397=PROPERTY_DEFINITION('',$,#684); -#17398=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17397); -#17399=ID_ATTRIBUTE('26',#688); -#17400=PROPERTY_DEFINITION('',$,#688); -#17401=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17400); -#17402=ID_ATTRIBUTE('32',#692); -#17403=PROPERTY_DEFINITION('',$,#692); -#17404=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17403); -#17405=ID_ATTRIBUTE('17',#696); -#17406=PROPERTY_DEFINITION('',$,#696); -#17407=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17406); -#17408=ID_ATTRIBUTE('51',#700); -#17409=PROPERTY_DEFINITION('',$,#700); -#17410=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17409); -#17411=ID_ATTRIBUTE('46',#704); -#17412=PROPERTY_DEFINITION('',$,#704); -#17413=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17412); -#17414=ID_ATTRIBUTE('16',#708); -#17415=PROPERTY_DEFINITION('',$,#708); -#17416=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17415); -#17417=ID_ATTRIBUTE('38',#712); -#17418=PROPERTY_DEFINITION('',$,#712); -#17419=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17418); -#17420=ID_ATTRIBUTE('41',#716); -#17421=PROPERTY_DEFINITION('',$,#716); -#17422=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17421); -#17423=ID_ATTRIBUTE('24',#720); -#17424=PROPERTY_DEFINITION('',$,#720); -#17425=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17424); -#17426=ID_ATTRIBUTE('19',#724); -#17427=PROPERTY_DEFINITION('',$,#724); -#17428=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17427); -#17429=ID_ATTRIBUTE('39',#728); -#17430=PROPERTY_DEFINITION('',$,#728); -#17431=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17430); -#17432=ID_ATTRIBUTE('21',#732); -#17433=PROPERTY_DEFINITION('',$,#732); -#17434=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17433); -#17435=ID_ATTRIBUTE('62',#736); -#17436=PROPERTY_DEFINITION('',$,#736); -#17437=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17436); -#17438=ID_ATTRIBUTE('44',#740); -#17439=PROPERTY_DEFINITION('',$,#740); -#17440=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17439); -#17441=ID_ATTRIBUTE('55',#744); -#17442=PROPERTY_DEFINITION('',$,#744); -#17443=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17442); -#17444=ID_ATTRIBUTE('33',#748); -#17445=PROPERTY_DEFINITION('',$,#748); -#17446=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17445); -#17447=ID_ATTRIBUTE('22',#752); -#17448=PROPERTY_DEFINITION('',$,#752); -#17449=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17448); -#17450=ID_ATTRIBUTE('11',#756); -#17451=PROPERTY_DEFINITION('',$,#756); -#17452=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17451); -#17453=ID_ATTRIBUTE('50',#760); -#17454=PROPERTY_DEFINITION('',$,#760); -#17455=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17454); -#17456=ID_ATTRIBUTE('43',#764); -#17457=PROPERTY_DEFINITION('',$,#764); -#17458=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17457); -#17459=ID_ATTRIBUTE('12',#768); -#17460=PROPERTY_DEFINITION('',$,#768); -#17461=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17460); -#17462=ID_ATTRIBUTE('23',#772); -#17463=PROPERTY_DEFINITION('',$,#772); -#17464=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17463); -#17465=ID_ATTRIBUTE('28',#776); -#17466=PROPERTY_DEFINITION('',$,#776); -#17467=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17466); -#17468=ID_ATTRIBUTE('42',#780); -#17469=PROPERTY_DEFINITION('',$,#780); -#17470=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17469); -#17471=ID_ATTRIBUTE('40',#784); -#17472=PROPERTY_DEFINITION('',$,#784); -#17473=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17472); -#17474=ID_ATTRIBUTE('63',#788); -#17475=PROPERTY_DEFINITION('',$,#788); -#17476=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17475); -#17477=ID_ATTRIBUTE('57',#792); -#17478=PROPERTY_DEFINITION('',$,#792); -#17479=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17478); -#17480=ID_ATTRIBUTE('13',#796); -#17481=PROPERTY_DEFINITION('',$,#796); -#17482=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17481); -#17483=ID_ATTRIBUTE('56',#800); -#17484=PROPERTY_DEFINITION('',$,#800); -#17485=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17484); -#17486=ID_ATTRIBUTE('7',#804); -#17487=PROPERTY_DEFINITION('',$,#804); -#17488=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17487); -#17489=ID_ATTRIBUTE('10',#808); -#17490=PROPERTY_DEFINITION('',$,#808); -#17491=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17490); -#17492=ID_ATTRIBUTE('59',#812); -#17493=PROPERTY_DEFINITION('',$,#812); -#17494=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17493); -#17495=ID_ATTRIBUTE('6',#816); -#17496=PROPERTY_DEFINITION('',$,#816); -#17497=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17496); -#17498=ID_ATTRIBUTE('48',#820); -#17499=PROPERTY_DEFINITION('',$,#820); -#17500=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17499); -#17501=ID_ATTRIBUTE('4',#824); -#17502=PROPERTY_DEFINITION('',$,#824); -#17503=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17502); -#17504=ID_ATTRIBUTE('15',#828); -#17505=PROPERTY_DEFINITION('',$,#828); -#17506=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17505); -#17507=ID_ATTRIBUTE('54',#832); -#17508=PROPERTY_DEFINITION('',$,#832); -#17509=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17508); -#17510=ID_ATTRIBUTE('47',#836); -#17511=PROPERTY_DEFINITION('',$,#836); -#17512=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17511); -#17513=ID_ATTRIBUTE('5',#840); -#17514=PROPERTY_DEFINITION('',$,#840); -#17515=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17514); -#17516=ID_ATTRIBUTE('53',#844); -#17517=PROPERTY_DEFINITION('',$,#844); -#17518=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17517); -#17519=ID_ATTRIBUTE('60',#848); -#17520=PROPERTY_DEFINITION('',$,#848); -#17521=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17520); -#17522=ID_ATTRIBUTE('31',#852); -#17523=PROPERTY_DEFINITION('',$,#852); -#17524=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17523); -#17525=ID_ATTRIBUTE('49',#856); -#17526=PROPERTY_DEFINITION('',$,#856); -#17527=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17526); -#17528=ID_ATTRIBUTE('8',#860); -#17529=PROPERTY_DEFINITION('',$,#860); -#17530=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17529); -#17531=ID_ATTRIBUTE('27',#864); -#17532=PROPERTY_DEFINITION('',$,#864); -#17533=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17532); -#17534=ID_ATTRIBUTE('52',#868); -#17535=PROPERTY_DEFINITION('',$,#868); -#17536=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17535); -#17537=ID_ATTRIBUTE('2',#872); -#17538=PROPERTY_DEFINITION('',$,#872); -#17539=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17538); -#17540=ID_ATTRIBUTE('30',#876); -#17541=PROPERTY_DEFINITION('',$,#876); -#17542=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17352,#17541); -#17543=ID_ATTRIBUTE('1',#2052); -#17544=PROPERTY_DEFINITION('',$,#2052); -#17545=PROPERTY_DEFINITION('',$,#2055); -#17546=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17545,#17544); -#17547=ID_ATTRIBUTE('2',#2059); -#17548=PROPERTY_DEFINITION('',$,#2059); -#17549=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17545,#17548); -#17550=ID_ATTRIBUTE('14',#2744); -#17551=PROPERTY_DEFINITION('',$,#2744); -#17552=PROPERTY_DEFINITION('',$,#2747); -#17553=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17551); -#17554=ID_ATTRIBUTE('29',#2751); -#17555=PROPERTY_DEFINITION('',$,#2751); -#17556=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17555); -#17557=ID_ATTRIBUTE('9',#2753); -#17558=PROPERTY_DEFINITION('',$,#2753); -#17559=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17558); -#17560=ID_ATTRIBUTE('36',#2755); -#17561=PROPERTY_DEFINITION('',$,#2755); -#17562=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17561); -#17563=ID_ATTRIBUTE('58',#2757); -#17564=PROPERTY_DEFINITION('',$,#2757); -#17565=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17564); -#17566=ID_ATTRIBUTE('35',#2759); -#17567=PROPERTY_DEFINITION('',$,#2759); -#17568=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17567); -#17569=ID_ATTRIBUTE('1',#2761); -#17570=PROPERTY_DEFINITION('',$,#2761); -#17571=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17570); -#17572=ID_ATTRIBUTE('61',#2763); -#17573=PROPERTY_DEFINITION('',$,#2763); -#17574=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17573); -#17575=ID_ATTRIBUTE('45',#2765); -#17576=PROPERTY_DEFINITION('',$,#2765); -#17577=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17576); -#17578=ID_ATTRIBUTE('20',#2767); -#17579=PROPERTY_DEFINITION('',$,#2767); -#17580=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17579); -#17581=ID_ATTRIBUTE('34',#2769); -#17582=PROPERTY_DEFINITION('',$,#2769); -#17583=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17582); -#17584=ID_ATTRIBUTE('64',#2771); -#17585=PROPERTY_DEFINITION('',$,#2771); -#17586=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17585); -#17587=ID_ATTRIBUTE('3',#2773); -#17588=PROPERTY_DEFINITION('',$,#2773); -#17589=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17588); -#17590=ID_ATTRIBUTE('25',#2775); -#17591=PROPERTY_DEFINITION('',$,#2775); -#17592=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17591); -#17593=ID_ATTRIBUTE('18',#2777); -#17594=PROPERTY_DEFINITION('',$,#2777); -#17595=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17594); -#17596=ID_ATTRIBUTE('37',#2779); -#17597=PROPERTY_DEFINITION('',$,#2779); -#17598=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17597); -#17599=ID_ATTRIBUTE('26',#2781); -#17600=PROPERTY_DEFINITION('',$,#2781); -#17601=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17600); -#17602=ID_ATTRIBUTE('32',#2783); -#17603=PROPERTY_DEFINITION('',$,#2783); -#17604=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17603); -#17605=ID_ATTRIBUTE('17',#2785); -#17606=PROPERTY_DEFINITION('',$,#2785); -#17607=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17606); -#17608=ID_ATTRIBUTE('51',#2787); -#17609=PROPERTY_DEFINITION('',$,#2787); -#17610=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17609); -#17611=ID_ATTRIBUTE('46',#2789); -#17612=PROPERTY_DEFINITION('',$,#2789); -#17613=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17612); -#17614=ID_ATTRIBUTE('16',#2791); -#17615=PROPERTY_DEFINITION('',$,#2791); -#17616=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17615); -#17617=ID_ATTRIBUTE('38',#2793); -#17618=PROPERTY_DEFINITION('',$,#2793); -#17619=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17618); -#17620=ID_ATTRIBUTE('41',#2795); -#17621=PROPERTY_DEFINITION('',$,#2795); -#17622=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17621); -#17623=ID_ATTRIBUTE('24',#2797); -#17624=PROPERTY_DEFINITION('',$,#2797); -#17625=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17624); -#17626=ID_ATTRIBUTE('19',#2799); -#17627=PROPERTY_DEFINITION('',$,#2799); -#17628=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17627); -#17629=ID_ATTRIBUTE('39',#2801); -#17630=PROPERTY_DEFINITION('',$,#2801); -#17631=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17630); -#17632=ID_ATTRIBUTE('21',#2803); -#17633=PROPERTY_DEFINITION('',$,#2803); -#17634=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17633); -#17635=ID_ATTRIBUTE('62',#2805); -#17636=PROPERTY_DEFINITION('',$,#2805); -#17637=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17636); -#17638=ID_ATTRIBUTE('44',#2807); -#17639=PROPERTY_DEFINITION('',$,#2807); -#17640=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17639); -#17641=ID_ATTRIBUTE('55',#2809); -#17642=PROPERTY_DEFINITION('',$,#2809); -#17643=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17642); -#17644=ID_ATTRIBUTE('33',#2811); -#17645=PROPERTY_DEFINITION('',$,#2811); -#17646=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17645); -#17647=ID_ATTRIBUTE('22',#2813); -#17648=PROPERTY_DEFINITION('',$,#2813); -#17649=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17648); -#17650=ID_ATTRIBUTE('11',#2815); -#17651=PROPERTY_DEFINITION('',$,#2815); -#17652=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17651); -#17653=ID_ATTRIBUTE('50',#2817); -#17654=PROPERTY_DEFINITION('',$,#2817); -#17655=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17654); -#17656=ID_ATTRIBUTE('43',#2819); -#17657=PROPERTY_DEFINITION('',$,#2819); -#17658=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17657); -#17659=ID_ATTRIBUTE('12',#2821); -#17660=PROPERTY_DEFINITION('',$,#2821); -#17661=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17660); -#17662=ID_ATTRIBUTE('23',#2823); -#17663=PROPERTY_DEFINITION('',$,#2823); -#17664=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17663); -#17665=ID_ATTRIBUTE('28',#2825); -#17666=PROPERTY_DEFINITION('',$,#2825); -#17667=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17666); -#17668=ID_ATTRIBUTE('42',#2827); -#17669=PROPERTY_DEFINITION('',$,#2827); -#17670=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17669); -#17671=ID_ATTRIBUTE('40',#2829); -#17672=PROPERTY_DEFINITION('',$,#2829); -#17673=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17672); -#17674=ID_ATTRIBUTE('63',#2831); -#17675=PROPERTY_DEFINITION('',$,#2831); -#17676=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17675); -#17677=ID_ATTRIBUTE('57',#2833); -#17678=PROPERTY_DEFINITION('',$,#2833); -#17679=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17678); -#17680=ID_ATTRIBUTE('13',#2835); -#17681=PROPERTY_DEFINITION('',$,#2835); -#17682=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17681); -#17683=ID_ATTRIBUTE('56',#2837); -#17684=PROPERTY_DEFINITION('',$,#2837); -#17685=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17684); -#17686=ID_ATTRIBUTE('7',#2839); -#17687=PROPERTY_DEFINITION('',$,#2839); -#17688=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17687); -#17689=ID_ATTRIBUTE('10',#2841); -#17690=PROPERTY_DEFINITION('',$,#2841); -#17691=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17690); -#17692=ID_ATTRIBUTE('59',#2843); -#17693=PROPERTY_DEFINITION('',$,#2843); -#17694=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17693); -#17695=ID_ATTRIBUTE('6',#2845); -#17696=PROPERTY_DEFINITION('',$,#2845); -#17697=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17696); -#17698=ID_ATTRIBUTE('48',#2847); -#17699=PROPERTY_DEFINITION('',$,#2847); -#17700=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17699); -#17701=ID_ATTRIBUTE('4',#2849); -#17702=PROPERTY_DEFINITION('',$,#2849); -#17703=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17702); -#17704=ID_ATTRIBUTE('15',#2851); -#17705=PROPERTY_DEFINITION('',$,#2851); -#17706=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17705); -#17707=ID_ATTRIBUTE('54',#2853); -#17708=PROPERTY_DEFINITION('',$,#2853); -#17709=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17708); -#17710=ID_ATTRIBUTE('47',#2855); -#17711=PROPERTY_DEFINITION('',$,#2855); -#17712=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17711); -#17713=ID_ATTRIBUTE('5',#2857); -#17714=PROPERTY_DEFINITION('',$,#2857); -#17715=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17714); -#17716=ID_ATTRIBUTE('53',#2859); -#17717=PROPERTY_DEFINITION('',$,#2859); -#17718=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17717); -#17719=ID_ATTRIBUTE('60',#2861); -#17720=PROPERTY_DEFINITION('',$,#2861); -#17721=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17720); -#17722=ID_ATTRIBUTE('31',#2863); -#17723=PROPERTY_DEFINITION('',$,#2863); -#17724=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17723); -#17725=ID_ATTRIBUTE('49',#2865); -#17726=PROPERTY_DEFINITION('',$,#2865); -#17727=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17726); -#17728=ID_ATTRIBUTE('8',#2867); -#17729=PROPERTY_DEFINITION('',$,#2867); -#17730=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17729); -#17731=ID_ATTRIBUTE('27',#2869); -#17732=PROPERTY_DEFINITION('',$,#2869); -#17733=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17732); -#17734=ID_ATTRIBUTE('52',#2871); -#17735=PROPERTY_DEFINITION('',$,#2871); -#17736=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17735); -#17737=ID_ATTRIBUTE('2',#2873); -#17738=PROPERTY_DEFINITION('',$,#2873); -#17739=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17738); -#17740=ID_ATTRIBUTE('30',#2875); -#17741=PROPERTY_DEFINITION('',$,#2875); -#17742=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#17552,#17741); -#17743=PROPERTY_DEFINITION('seating plane intersection','surface intersection',#622); -#17744=PROPERTY_DEFINITION('seating plane intersection','surface intersection',#2055); -#17745=PROPERTY_DEFINITION('seating plane intersection','surface intersection',#2747); -#17746=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#884,#14021,#14023); -#17747=DESCRIPTIVE_REPRESENTATION_ITEM('padstack location','swappable'); -#17748=REPRESENTATION('padstack parametric data',(#17747),#13406); -#17749=PROPERTY_DEFINITION_REPRESENTATION(#884,#17748); -#17750=PROPERTY_DEFINITION('location','swappable',#884); -#17751=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2066,#14021,#14023); -#17752=REPRESENTATION('padstack parametric data',(#17747),#13406); -#17753=PROPERTY_DEFINITION_REPRESENTATION(#2066,#17752); -#17754=PROPERTY_DEFINITION('location','swappable',#2066); -#17755=PRODUCT_CONTEXT('part',#14022,''); -#17756=DOCUMENT('C:\\Program Files\\LKSoft\\input_files\\PDES-181-\\dti_data\\pwb_notes.txt-1-', - '',$,#14988); -#17757=DOCUMENT_PRODUCT_EQUIVALENCE('equivalence',$,#17756,#12825); -#17758=DOCUMENT_USAGE_CONSTRAINT(#17756,'FABRICATE IN ACCORDANCE WITH IPC-6012, CLASS 3, TYPE 4, AS SUPPLEMENTED BY pid27', - 'FABRICATE IN ACCORDANCE WITH IPC-6012, CLASS 3, TYPE 4, AS SUPPLEMENTED BY pid27'); -#17759=DOCUMENT_USAGE_ROLE('note',$); -#17760=PROPERTY_DEFINITION('',$,#12832); -#17761=ITEM_IDENTIFIED_REPRESENTATION_USAGE('',$,#17760,$,#12831); -#17762=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3978,#1597); -#17763=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3978,#2124); -#17764=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3978,#3169); -#17765=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3978,#3041); -#17766=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3978,#3129); -#17767=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3978,#1269); -#17768=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3978,#1141); -#17769=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3978,#1229); -#17770=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3978,#3497); -#17771=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3979,#1621); -#17772=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3979,#3401); -#17773=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3980,#3465); -#17774=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3980,#1565); -#17775=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3981,#3473); -#17776=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3981,#1605); -#17777=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3982,#2116); -#17778=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3982,#3057); -#17779=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3982,#1445); -#17780=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3982,#3345); -#17781=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3982,#3353); -#17782=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3982,#1453); -#17783=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3982,#1157); -#17784=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3983,#3065); -#17785=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3983,#1237); -#17786=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3984,#3049); -#17787=SHAPE_ASPECT_RELATIONSHIP('member connected terminal','',#3984,#1493); -#17788=PROPERTY_DEFINITION('',$,#914); -#17789=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17351,#17788); -#17790=PROPERTY_DEFINITION('',$,#916); -#17791=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17355,#17790); -#17792=PROPERTY_DEFINITION('',$,#918); -#17793=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17358,#17792); -#17794=PROPERTY_DEFINITION('',$,#920); -#17795=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17361,#17794); -#17796=PROPERTY_DEFINITION('',$,#922); -#17797=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17364,#17796); -#17798=PROPERTY_DEFINITION('',$,#924); -#17799=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17367,#17798); -#17800=PROPERTY_DEFINITION('',$,#926); -#17801=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17370,#17800); -#17802=PROPERTY_DEFINITION('',$,#928); -#17803=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17373,#17802); -#17804=PROPERTY_DEFINITION('',$,#930); -#17805=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17376,#17804); -#17806=PROPERTY_DEFINITION('',$,#932); -#17807=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17379,#17806); -#17808=PROPERTY_DEFINITION('',$,#934); -#17809=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17382,#17808); -#17810=PROPERTY_DEFINITION('',$,#936); -#17811=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17385,#17810); -#17812=PROPERTY_DEFINITION('',$,#938); -#17813=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17388,#17812); -#17814=PROPERTY_DEFINITION('',$,#940); -#17815=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17391,#17814); -#17816=PROPERTY_DEFINITION('',$,#942); -#17817=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17394,#17816); -#17818=PROPERTY_DEFINITION('',$,#944); -#17819=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17397,#17818); -#17820=PROPERTY_DEFINITION('',$,#946); -#17821=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17400,#17820); -#17822=PROPERTY_DEFINITION('',$,#948); -#17823=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17403,#17822); -#17824=PROPERTY_DEFINITION('',$,#950); -#17825=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17406,#17824); -#17826=PROPERTY_DEFINITION('',$,#952); -#17827=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17409,#17826); -#17828=PROPERTY_DEFINITION('',$,#954); -#17829=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17412,#17828); -#17830=PROPERTY_DEFINITION('',$,#956); -#17831=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17415,#17830); -#17832=PROPERTY_DEFINITION('',$,#958); -#17833=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17418,#17832); -#17834=PROPERTY_DEFINITION('',$,#960); -#17835=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17421,#17834); -#17836=PROPERTY_DEFINITION('',$,#962); -#17837=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17424,#17836); -#17838=PROPERTY_DEFINITION('',$,#964); -#17839=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17427,#17838); -#17840=PROPERTY_DEFINITION('',$,#966); -#17841=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17430,#17840); -#17842=PROPERTY_DEFINITION('',$,#968); -#17843=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17433,#17842); -#17844=PROPERTY_DEFINITION('',$,#970); -#17845=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17436,#17844); -#17846=PROPERTY_DEFINITION('',$,#972); -#17847=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17439,#17846); -#17848=PROPERTY_DEFINITION('',$,#974); -#17849=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17442,#17848); -#17850=PROPERTY_DEFINITION('',$,#976); -#17851=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17445,#17850); -#17852=PROPERTY_DEFINITION('',$,#978); -#17853=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17448,#17852); -#17854=PROPERTY_DEFINITION('',$,#980); -#17855=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17451,#17854); -#17856=PROPERTY_DEFINITION('',$,#982); -#17857=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17454,#17856); -#17858=PROPERTY_DEFINITION('',$,#984); -#17859=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17457,#17858); -#17860=PROPERTY_DEFINITION('',$,#986); -#17861=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17460,#17860); -#17862=PROPERTY_DEFINITION('',$,#988); -#17863=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17463,#17862); -#17864=PROPERTY_DEFINITION('',$,#990); -#17865=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17466,#17864); -#17866=PROPERTY_DEFINITION('',$,#992); -#17867=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17469,#17866); -#17868=PROPERTY_DEFINITION('',$,#994); -#17869=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17472,#17868); -#17870=PROPERTY_DEFINITION('',$,#996); -#17871=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17475,#17870); -#17872=PROPERTY_DEFINITION('',$,#998); -#17873=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17478,#17872); -#17874=PROPERTY_DEFINITION('',$,#1000); -#17875=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17481,#17874); -#17876=PROPERTY_DEFINITION('',$,#1002); -#17877=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17484,#17876); -#17878=PROPERTY_DEFINITION('',$,#1004); -#17879=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17487,#17878); -#17880=PROPERTY_DEFINITION('',$,#1006); -#17881=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17490,#17880); -#17882=PROPERTY_DEFINITION('',$,#1008); -#17883=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17493,#17882); -#17884=PROPERTY_DEFINITION('',$,#1010); -#17885=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17496,#17884); -#17886=PROPERTY_DEFINITION('',$,#1012); -#17887=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17499,#17886); -#17888=PROPERTY_DEFINITION('',$,#1014); -#17889=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17502,#17888); -#17890=PROPERTY_DEFINITION('',$,#1016); -#17891=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17505,#17890); -#17892=PROPERTY_DEFINITION('',$,#1018); -#17893=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17508,#17892); -#17894=PROPERTY_DEFINITION('',$,#1020); -#17895=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17511,#17894); -#17896=PROPERTY_DEFINITION('',$,#1022); -#17897=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17514,#17896); -#17898=PROPERTY_DEFINITION('',$,#1024); -#17899=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17517,#17898); -#17900=PROPERTY_DEFINITION('',$,#1026); -#17901=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17520,#17900); -#17902=PROPERTY_DEFINITION('',$,#1028); -#17903=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17523,#17902); -#17904=PROPERTY_DEFINITION('',$,#1030); -#17905=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17526,#17904); -#17906=PROPERTY_DEFINITION('',$,#1032); -#17907=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17529,#17906); -#17908=PROPERTY_DEFINITION('',$,#1034); -#17909=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17532,#17908); -#17910=PROPERTY_DEFINITION('',$,#1036); -#17911=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17535,#17910); -#17912=PROPERTY_DEFINITION('',$,#1038); -#17913=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17538,#17912); -#17914=PROPERTY_DEFINITION('',$,#1040); -#17915=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17541,#17914); -#17916=PROPERTY_DEFINITION('',$,#2082); -#17917=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17544,#17916); -#17918=PROPERTY_DEFINITION('',$,#2084); -#17919=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17548,#17918); -#17920=PROPERTY_DEFINITION('',$,#2881); -#17921=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17551,#17920); -#17922=PROPERTY_DEFINITION('',$,#2883); -#17923=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17555,#17922); -#17924=PROPERTY_DEFINITION('',$,#2885); -#17925=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17558,#17924); -#17926=PROPERTY_DEFINITION('',$,#2887); -#17927=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17561,#17926); -#17928=PROPERTY_DEFINITION('',$,#2889); -#17929=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17564,#17928); -#17930=PROPERTY_DEFINITION('',$,#2891); -#17931=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17567,#17930); -#17932=PROPERTY_DEFINITION('',$,#2893); -#17933=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17570,#17932); -#17934=PROPERTY_DEFINITION('',$,#2895); -#17935=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17573,#17934); -#17936=PROPERTY_DEFINITION('',$,#2897); -#17937=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17576,#17936); -#17938=PROPERTY_DEFINITION('',$,#2899); -#17939=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17579,#17938); -#17940=PROPERTY_DEFINITION('',$,#2901); -#17941=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17582,#17940); -#17942=PROPERTY_DEFINITION('',$,#2903); -#17943=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17585,#17942); -#17944=PROPERTY_DEFINITION('',$,#2905); -#17945=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17588,#17944); -#17946=PROPERTY_DEFINITION('',$,#2907); -#17947=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17591,#17946); -#17948=PROPERTY_DEFINITION('',$,#2909); -#17949=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17594,#17948); -#17950=PROPERTY_DEFINITION('',$,#2911); -#17951=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17597,#17950); -#17952=PROPERTY_DEFINITION('',$,#2913); -#17953=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17600,#17952); -#17954=PROPERTY_DEFINITION('',$,#2915); -#17955=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17603,#17954); -#17956=PROPERTY_DEFINITION('',$,#2917); -#17957=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17606,#17956); -#17958=PROPERTY_DEFINITION('',$,#2919); -#17959=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17609,#17958); -#17960=PROPERTY_DEFINITION('',$,#2921); -#17961=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17612,#17960); -#17962=PROPERTY_DEFINITION('',$,#2923); -#17963=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17615,#17962); -#17964=PROPERTY_DEFINITION('',$,#2925); -#17965=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17618,#17964); -#17966=PROPERTY_DEFINITION('',$,#2927); -#17967=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17621,#17966); -#17968=PROPERTY_DEFINITION('',$,#2929); -#17969=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17624,#17968); -#17970=PROPERTY_DEFINITION('',$,#2931); -#17971=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17627,#17970); -#17972=PROPERTY_DEFINITION('',$,#2933); -#17973=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17630,#17972); -#17974=PROPERTY_DEFINITION('',$,#2935); -#17975=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17633,#17974); -#17976=PROPERTY_DEFINITION('',$,#2937); -#17977=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17636,#17976); -#17978=PROPERTY_DEFINITION('',$,#2939); -#17979=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17639,#17978); -#17980=PROPERTY_DEFINITION('',$,#2941); -#17981=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17642,#17980); -#17982=PROPERTY_DEFINITION('',$,#2943); -#17983=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17645,#17982); -#17984=PROPERTY_DEFINITION('',$,#2945); -#17985=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17648,#17984); -#17986=PROPERTY_DEFINITION('',$,#2947); -#17987=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17651,#17986); -#17988=PROPERTY_DEFINITION('',$,#2949); -#17989=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17654,#17988); -#17990=PROPERTY_DEFINITION('',$,#2951); -#17991=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17657,#17990); -#17992=PROPERTY_DEFINITION('',$,#2953); -#17993=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17660,#17992); -#17994=PROPERTY_DEFINITION('',$,#2955); -#17995=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17663,#17994); -#17996=PROPERTY_DEFINITION('',$,#2957); -#17997=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17666,#17996); -#17998=PROPERTY_DEFINITION('',$,#2959); -#17999=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17669,#17998); -#18000=PROPERTY_DEFINITION('',$,#2961); -#18001=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17672,#18000); -#18002=PROPERTY_DEFINITION('',$,#2963); -#18003=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17675,#18002); -#18004=PROPERTY_DEFINITION('',$,#2965); -#18005=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17678,#18004); -#18006=PROPERTY_DEFINITION('',$,#2967); -#18007=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17681,#18006); -#18008=PROPERTY_DEFINITION('',$,#2969); -#18009=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17684,#18008); -#18010=PROPERTY_DEFINITION('',$,#2971); -#18011=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17687,#18010); -#18012=PROPERTY_DEFINITION('',$,#2973); -#18013=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17690,#18012); -#18014=PROPERTY_DEFINITION('',$,#2975); -#18015=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17693,#18014); -#18016=PROPERTY_DEFINITION('',$,#2977); -#18017=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17696,#18016); -#18018=PROPERTY_DEFINITION('',$,#2979); -#18019=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17699,#18018); -#18020=PROPERTY_DEFINITION('',$,#2981); -#18021=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17702,#18020); -#18022=PROPERTY_DEFINITION('',$,#2983); -#18023=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17705,#18022); -#18024=PROPERTY_DEFINITION('',$,#2985); -#18025=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17708,#18024); -#18026=PROPERTY_DEFINITION('',$,#2987); -#18027=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17711,#18026); -#18028=PROPERTY_DEFINITION('',$,#2989); -#18029=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17714,#18028); -#18030=PROPERTY_DEFINITION('',$,#2991); -#18031=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17717,#18030); -#18032=PROPERTY_DEFINITION('',$,#2993); -#18033=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17720,#18032); -#18034=PROPERTY_DEFINITION('',$,#2995); -#18035=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17723,#18034); -#18036=PROPERTY_DEFINITION('',$,#2997); -#18037=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17726,#18036); -#18038=PROPERTY_DEFINITION('',$,#2999); -#18039=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17729,#18038); -#18040=PROPERTY_DEFINITION('',$,#3001); -#18041=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17732,#18040); -#18042=PROPERTY_DEFINITION('',$,#3003); -#18043=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17735,#18042); -#18044=PROPERTY_DEFINITION('',$,#3005); -#18045=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17738,#18044); -#18046=PROPERTY_DEFINITION('',$,#3007); -#18047=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#17741,#18046); -#18048=DESCRIPTION_ATTRIBUTE('part feature template shape model',#620); -#18049=DESCRIPTION_ATTRIBUTE('part feature template shape model',#2053); -#18050=DESCRIPTION_ATTRIBUTE('part feature template shape model',#2745); -#18051=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10194,#14021,#14023); -#18052=PROPERTY_DEFINITION('string alignment','top left',#10194); -#18053=PROPERTY_DEFINITION_RELATIONSHIP('kept out layers',$,#140,#471); -#18054=PROPERTY_DEFINITION_REPRESENTATION(#471,#469); -#18055=PROPERTY_DEFINITION_RELATIONSHIP('kept out layers',$,#140,#479); -#18056=PROPERTY_DEFINITION_REPRESENTATION(#479,#477); -#18057=PROPERTY_DEFINITION_RELATIONSHIP('kept out layers',$,#140,#2218); -#18058=PROPERTY_DEFINITION_REPRESENTATION(#2218,#2216); -#18059=PROPERTY_DEFINITION_RELATIONSHIP('kept out layers',$,#140,#2226); -#18060=PROPERTY_DEFINITION_REPRESENTATION(#2226,#2224); -#18061=PROPERTY_DEFINITION_RELATIONSHIP('kept out layers',$,#140,#2504); -#18062=PROPERTY_DEFINITION_REPRESENTATION(#2504,#2502); -#18063=PROPERTY_DEFINITION_RELATIONSHIP('kept out layers',$,#140,#2512); -#18064=PROPERTY_DEFINITION_REPRESENTATION(#2512,#2510); -#18065=ID_ATTRIBUTE('nfsm',#469); -#18066=DESCRIPTION_ATTRIBUTE('ptpksm',#469); -#18067=SHAPE_DEFINITION_REPRESENTATION(#382,#469); -#18068=REPRESENTATION('shape material condition',(#18070),#13406); -#18069=REPRESENTATION_RELATIONSHIP('',$,#469,#18068); -#18070=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18071=REPRESENTATION('shape environment',(#18073),#13406); -#18072=REPRESENTATION_RELATIONSHIP('',$,#469,#18071); -#18073=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18074=REPRESENTATION('predefined keepout shape purpose',(#18076),#13406); -#18075=REPRESENTATION_RELATIONSHIP('',$,#469,#18074); -#18076=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#18077=PROPERTY_DEFINITION_REPRESENTATION(#18079,#469); -#18078=KEEPOUT_DESIGN_OBJECT_CATEGORY('','via category'); -#18079=PROPERTY_DEFINITION('',$,#18078); -#18080=PROPERTY_DEFINITION('',$,#468); -#18081=PROPERTY_DEFINITION_REPRESENTATION(#18080,#469); -#18082=ID_ATTRIBUTE('nfsm',#477); -#18083=DESCRIPTION_ATTRIBUTE('ptpksm',#477); -#18084=SHAPE_DEFINITION_REPRESENTATION(#382,#477); -#18085=REPRESENTATION('shape material condition',(#18087),#13406); -#18086=REPRESENTATION_RELATIONSHIP('',$,#477,#18085); -#18087=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18088=REPRESENTATION('shape environment',(#18090),#13406); -#18089=REPRESENTATION_RELATIONSHIP('',$,#477,#18088); -#18090=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18091=REPRESENTATION('predefined keepout shape purpose',(#18093),#13406); -#18092=REPRESENTATION_RELATIONSHIP('',$,#477,#18091); -#18093=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#18094=PROPERTY_DEFINITION_REPRESENTATION(#18096,#477); -#18095=KEEPOUT_DESIGN_OBJECT_CATEGORY('','stratum feature category'); -#18096=PROPERTY_DEFINITION('',$,#18095); -#18097=PROPERTY_DEFINITION('',$,#476); -#18098=PROPERTY_DEFINITION_REPRESENTATION(#18097,#477); -#18099=ID_ATTRIBUTE('nfsm',#2216); -#18100=DESCRIPTION_ATTRIBUTE('ptpksm',#2216); -#18101=SHAPE_DEFINITION_REPRESENTATION(#2152,#2216); -#18102=REPRESENTATION('shape material condition',(#18104),#13406); -#18103=REPRESENTATION_RELATIONSHIP('',$,#2216,#18102); -#18104=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18105=REPRESENTATION('shape environment',(#18107),#13406); -#18106=REPRESENTATION_RELATIONSHIP('',$,#2216,#18105); -#18107=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18108=REPRESENTATION('predefined keepout shape purpose',(#18110),#13406); -#18109=REPRESENTATION_RELATIONSHIP('',$,#2216,#18108); -#18110=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#18111=PROPERTY_DEFINITION_REPRESENTATION(#18079,#2216); -#18112=PROPERTY_DEFINITION('',$,#2215); -#18113=PROPERTY_DEFINITION_REPRESENTATION(#18112,#2216); -#18114=ID_ATTRIBUTE('nfsm',#2224); -#18115=DESCRIPTION_ATTRIBUTE('ptpksm',#2224); -#18116=SHAPE_DEFINITION_REPRESENTATION(#2152,#2224); -#18117=REPRESENTATION('shape material condition',(#18119),#13406); -#18118=REPRESENTATION_RELATIONSHIP('',$,#2224,#18117); -#18119=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18120=REPRESENTATION('shape environment',(#18122),#13406); -#18121=REPRESENTATION_RELATIONSHIP('',$,#2224,#18120); -#18122=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18123=REPRESENTATION('predefined keepout shape purpose',(#18125),#13406); -#18124=REPRESENTATION_RELATIONSHIP('',$,#2224,#18123); -#18125=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#18126=PROPERTY_DEFINITION_REPRESENTATION(#18096,#2224); -#18127=PROPERTY_DEFINITION('',$,#2223); -#18128=PROPERTY_DEFINITION_REPRESENTATION(#18127,#2224); -#18129=ID_ATTRIBUTE('nfsm',#2502); -#18130=DESCRIPTION_ATTRIBUTE('ptpksm',#2502); -#18131=SHAPE_DEFINITION_REPRESENTATION(#2438,#2502); -#18132=REPRESENTATION('shape material condition',(#18134),#13406); -#18133=REPRESENTATION_RELATIONSHIP('',$,#2502,#18132); -#18134=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18135=REPRESENTATION('shape environment',(#18137),#13406); -#18136=REPRESENTATION_RELATIONSHIP('',$,#2502,#18135); -#18137=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18138=REPRESENTATION('predefined keepout shape purpose',(#18140),#13406); -#18139=REPRESENTATION_RELATIONSHIP('',$,#2502,#18138); -#18140=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#18141=PROPERTY_DEFINITION_REPRESENTATION(#18079,#2502); -#18142=PROPERTY_DEFINITION('',$,#2501); -#18143=PROPERTY_DEFINITION_REPRESENTATION(#18142,#2502); -#18144=ID_ATTRIBUTE('nfsm',#2510); -#18145=DESCRIPTION_ATTRIBUTE('ptpksm',#2510); -#18146=SHAPE_DEFINITION_REPRESENTATION(#2438,#2510); -#18147=REPRESENTATION('shape material condition',(#18149),#13406); -#18148=REPRESENTATION_RELATIONSHIP('',$,#2510,#18147); -#18149=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18150=REPRESENTATION('shape environment',(#18152),#13406); -#18151=REPRESENTATION_RELATIONSHIP('',$,#2510,#18150); -#18152=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18153=REPRESENTATION('predefined keepout shape purpose',(#18155),#13406); -#18154=REPRESENTATION_RELATIONSHIP('',$,#2510,#18153); -#18155=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#18156=PROPERTY_DEFINITION_REPRESENTATION(#18096,#2510); -#18157=PROPERTY_DEFINITION('',$,#2509); -#18158=PROPERTY_DEFINITION_REPRESENTATION(#18157,#2510); -#18159=DESCRIPTION_ATTRIBUTE('ptpsm',#390); -#18160=SHAPE_DEFINITION_REPRESENTATION(#397,#390); -#18161=REPRESENTATION_RELATIONSHIP('',$,#390,#15540); -#18162=DESCRIPTION_ATTRIBUTE('ptpsm',#402); -#18163=SHAPE_DEFINITION_REPRESENTATION(#409,#402); -#18164=REPRESENTATION_RELATIONSHIP('',$,#402,#15540); -#18165=DESCRIPTION_ATTRIBUTE('ptpsm',#414); -#18166=SHAPE_DEFINITION_REPRESENTATION(#421,#414); -#18167=REPRESENTATION_RELATIONSHIP('',$,#414,#15540); -#18168=DESCRIPTION_ATTRIBUTE('ptpsm',#426); -#18169=SHAPE_DEFINITION_REPRESENTATION(#433,#426); -#18170=REPRESENTATION_RELATIONSHIP('',$,#426,#15540); -#18171=DESCRIPTION_ATTRIBUTE('ptpsm',#2088); -#18172=SHAPE_DEFINITION_REPRESENTATION(#2093,#2088); -#18173=REPRESENTATION_RELATIONSHIP('',$,#2088,#15540); -#18174=DESCRIPTION_ATTRIBUTE('ptpsm',#2157); -#18175=SHAPE_DEFINITION_REPRESENTATION(#2162,#2157); -#18176=REPRESENTATION_RELATIONSHIP('',$,#2157,#15540); -#18177=DESCRIPTION_ATTRIBUTE('ptpsm',#2167); -#18178=SHAPE_DEFINITION_REPRESENTATION(#2172,#2167); -#18179=REPRESENTATION_RELATIONSHIP('',$,#2167,#15540); -#18180=DESCRIPTION_ATTRIBUTE('ptpsm',#2177); -#18181=SHAPE_DEFINITION_REPRESENTATION(#2182,#2177); -#18182=REPRESENTATION_RELATIONSHIP('',$,#2177,#15540); -#18183=DESCRIPTION_ATTRIBUTE('ptpsm',#2187); -#18184=SHAPE_DEFINITION_REPRESENTATION(#2192,#2187); -#18185=REPRESENTATION_RELATIONSHIP('',$,#2187,#15540); -#18186=DESCRIPTION_ATTRIBUTE('ptpsm',#2443); -#18187=SHAPE_DEFINITION_REPRESENTATION(#2448,#2443); -#18188=REPRESENTATION_RELATIONSHIP('',$,#2443,#15540); -#18189=DESCRIPTION_ATTRIBUTE('ptpsm',#2453); -#18190=SHAPE_DEFINITION_REPRESENTATION(#2458,#2453); -#18191=REPRESENTATION_RELATIONSHIP('',$,#2453,#15540); -#18192=DESCRIPTION_ATTRIBUTE('ptpsm',#2463); -#18193=SHAPE_DEFINITION_REPRESENTATION(#2468,#2463); -#18194=REPRESENTATION_RELATIONSHIP('',$,#2463,#15540); -#18195=DESCRIPTION_ATTRIBUTE('ptpsm',#2473); -#18196=SHAPE_DEFINITION_REPRESENTATION(#2478,#2473); -#18197=REPRESENTATION_RELATIONSHIP('',$,#2473,#15540); -#18198=DESCRIPTION_ATTRIBUTE('ptpsm',#438); -#18199=SHAPE_DEFINITION_REPRESENTATION(#443,#438); -#18200=REPRESENTATION_RELATIONSHIP('',$,#438,#15540); -#18201=DESCRIPTION_ATTRIBUTE('ptpsm',#448); -#18202=SHAPE_DEFINITION_REPRESENTATION(#451,#448); -#18203=REPRESENTATION_RELATIONSHIP('',$,#448,#15540); -#18204=DESCRIPTION_ATTRIBUTE('ptpsm',#458); -#18205=SHAPE_DEFINITION_REPRESENTATION(#463,#458); -#18206=REPRESENTATION_RELATIONSHIP('',$,#458,#15540); -#18207=DESCRIPTION_ATTRIBUTE('ptpsm',#889); -#18208=SHAPE_DEFINITION_REPRESENTATION(#893,#889); -#18209=REPRESENTATION_RELATIONSHIP('',$,#889,#15540); -#18210=DESCRIPTION_ATTRIBUTE('ptpsm',#905); -#18211=SHAPE_DEFINITION_REPRESENTATION(#909,#905); -#18212=REPRESENTATION_RELATIONSHIP('',$,#905,#15540); -#18213=DESCRIPTION_ATTRIBUTE('ptpsm',#2071); -#18214=SHAPE_DEFINITION_REPRESENTATION(#2075,#2071); -#18215=REPRESENTATION_RELATIONSHIP('',$,#2071,#15540); -#18216=DESCRIPTION_ATTRIBUTE('ptpsm',#2197); -#18217=SHAPE_DEFINITION_REPRESENTATION(#2200,#2197); -#18218=REPRESENTATION_RELATIONSHIP('',$,#2197,#15540); -#18219=DESCRIPTION_ATTRIBUTE('ptpsm',#2205); -#18220=SHAPE_DEFINITION_REPRESENTATION(#2208,#2205); -#18221=REPRESENTATION_RELATIONSHIP('',$,#2205,#15540); -#18222=DESCRIPTION_ATTRIBUTE('ptpsm',#2246); -#18223=SHAPE_DEFINITION_REPRESENTATION(#2252,#2246); -#18224=REPRESENTATION_RELATIONSHIP('',$,#2246,#15540); -#18225=DESCRIPTION_ATTRIBUTE('ptpsm',#2270); -#18226=SHAPE_DEFINITION_REPRESENTATION(#2274,#2270); -#18227=REPRESENTATION_RELATIONSHIP('',$,#2270,#15540); -#18228=DESCRIPTION_ATTRIBUTE('ptpsm',#2281); -#18229=SHAPE_DEFINITION_REPRESENTATION(#2285,#2281); -#18230=REPRESENTATION_RELATIONSHIP('',$,#2281,#15540); -#18231=DESCRIPTION_ATTRIBUTE('ptpsm',#2296); -#18232=SHAPE_DEFINITION_REPRESENTATION(#2292,#2296); -#18233=REPRESENTATION_RELATIONSHIP('',$,#2296,#15540); -#18234=DESCRIPTION_ATTRIBUTE('ptpsm',#2320); -#18235=SHAPE_DEFINITION_REPRESENTATION(#2324,#2320); -#18236=REPRESENTATION_RELATIONSHIP('',$,#2320,#15540); -#18237=DESCRIPTION_ATTRIBUTE('ptpsm',#2483); -#18238=SHAPE_DEFINITION_REPRESENTATION(#2486,#2483); -#18239=REPRESENTATION_RELATIONSHIP('',$,#2483,#15540); -#18240=DESCRIPTION_ATTRIBUTE('ptpsm',#2491); -#18241=SHAPE_DEFINITION_REPRESENTATION(#2494,#2491); -#18242=REPRESENTATION_RELATIONSHIP('',$,#2491,#15540); -#18243=DESCRIPTION_ATTRIBUTE('ptpsm',#2537); -#18244=SHAPE_DEFINITION_REPRESENTATION(#2592,#2537); -#18245=REPRESENTATION_RELATIONSHIP('',$,#2537,#15540); -#18246=DESCRIPTION_ATTRIBUTE('ptpsm',#2597); -#18247=SHAPE_DEFINITION_REPRESENTATION(#2652,#2597); -#18248=REPRESENTATION_RELATIONSHIP('',$,#2597,#15540); -#18249=DESCRIPTION_ATTRIBUTE('ptpsm',#7705); -#18250=SHAPE_DEFINITION_REPRESENTATION(#7709,#7705); -#18251=REPRESENTATION_RELATIONSHIP('',$,#7705,#15540); -#18252=DESCRIPTION_ATTRIBUTE('ptpsm',#7716); -#18253=SHAPE_DEFINITION_REPRESENTATION(#7720,#7716); -#18254=REPRESENTATION_RELATIONSHIP('',$,#7716,#15540); -#18255=DESCRIPTION_ATTRIBUTE('ptpsm',#7728); -#18256=SHAPE_DEFINITION_REPRESENTATION(#7724,#7728); -#18257=REPRESENTATION_RELATIONSHIP('',$,#7728,#15540); -#18258=DESCRIPTION_ATTRIBUTE('ptpsm',#7752); -#18259=SHAPE_DEFINITION_REPRESENTATION(#7756,#7752); -#18260=REPRESENTATION_RELATIONSHIP('',$,#7752,#15540); -#18261=DESCRIPTION_ATTRIBUTE('ptpsm',#7836); -#18262=SHAPE_DEFINITION_REPRESENTATION(#7840,#7836); -#18263=REPRESENTATION_RELATIONSHIP('',$,#7836,#15540); -#18264=DESCRIPTION_ATTRIBUTE('ptpsm',#7847); -#18265=SHAPE_DEFINITION_REPRESENTATION(#7851,#7847); -#18266=REPRESENTATION_RELATIONSHIP('',$,#7847,#15540); -#18267=DESCRIPTION_ATTRIBUTE('ptpsm',#7859); -#18268=SHAPE_DEFINITION_REPRESENTATION(#7855,#7859); -#18269=REPRESENTATION_RELATIONSHIP('',$,#7859,#15540); -#18270=DESCRIPTION_ATTRIBUTE('ptpsm',#7882); -#18271=SHAPE_DEFINITION_REPRESENTATION(#7886,#7882); -#18272=REPRESENTATION_RELATIONSHIP('',$,#7882,#15540); -#18273=DESCRIPTION_ATTRIBUTE('ptpsm',#7891); -#18274=SHAPE_DEFINITION_REPRESENTATION(#7895,#7891); -#18275=REPRESENTATION_RELATIONSHIP('',$,#7891,#15540); -#18276=DESCRIPTION_ATTRIBUTE('ptpsm',#7903); -#18277=SHAPE_DEFINITION_REPRESENTATION(#7899,#7903); -#18278=REPRESENTATION_RELATIONSHIP('',$,#7903,#15540); -#18279=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9347,#14021,#14023); -#18280=PROPERTY_DEFINITION($,'of character',#9347); -#18281=PROPERTY_DEFINITION_REPRESENTATION(#18280,#9340); -#18282=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9370,#14021,#14023); -#18283=PROPERTY_DEFINITION($,'of character',#9370); -#18284=PROPERTY_DEFINITION_REPRESENTATION(#18283,#9348); -#18285=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9384,#14021,#14023); -#18286=PROPERTY_DEFINITION($,'of character',#9384); -#18287=PROPERTY_DEFINITION_REPRESENTATION(#18286,#9371); -#18288=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9394,#14021,#14023); -#18289=PROPERTY_DEFINITION($,'of character',#9394); -#18290=PROPERTY_DEFINITION_REPRESENTATION(#18289,#9385); -#18291=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9406,#14021,#14023); -#18292=PROPERTY_DEFINITION($,'of character',#9406); -#18293=PROPERTY_DEFINITION_REPRESENTATION(#18292,#9395); -#18294=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9413,#14021,#14023); -#18295=PROPERTY_DEFINITION($,'of character',#9413); -#18296=PROPERTY_DEFINITION_REPRESENTATION(#18295,#9407); -#18297=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9425,#14021,#14023); -#18298=PROPERTY_DEFINITION($,'of character',#9425); -#18299=PROPERTY_DEFINITION_REPRESENTATION(#18298,#9414); -#18300=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9435,#14021,#14023); -#18301=PROPERTY_DEFINITION($,'of character',#9435); -#18302=PROPERTY_DEFINITION_REPRESENTATION(#18301,#9426); -#18303=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9446,#14021,#14023); -#18304=PROPERTY_DEFINITION($,'of character',#9446); -#18305=PROPERTY_DEFINITION_REPRESENTATION(#18304,#9436); -#18306=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9464,#14021,#14023); -#18307=PROPERTY_DEFINITION($,'of character',#9464); -#18308=PROPERTY_DEFINITION_REPRESENTATION(#18307,#9447); -#18309=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9477,#14021,#14023); -#18310=PROPERTY_DEFINITION($,'of character',#9477); -#18311=PROPERTY_DEFINITION_REPRESENTATION(#18310,#9465); -#18312=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9489,#14021,#14023); -#18313=PROPERTY_DEFINITION($,'of character',#9489); -#18314=PROPERTY_DEFINITION_REPRESENTATION(#18313,#9478); -#18315=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9497,#14021,#14023); -#18316=PROPERTY_DEFINITION($,'of character',#9497); -#18317=PROPERTY_DEFINITION_REPRESENTATION(#18316,#9490); -#18318=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9504,#14021,#14023); -#18319=PROPERTY_DEFINITION($,'of character',#9504); -#18320=PROPERTY_DEFINITION_REPRESENTATION(#18319,#9498); -#18321=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9512,#14021,#14023); -#18322=PROPERTY_DEFINITION($,'of character',#9512); -#18323=PROPERTY_DEFINITION_REPRESENTATION(#18322,#9505); -#18324=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9520,#14021,#14023); -#18325=PROPERTY_DEFINITION($,'of character',#9520); -#18326=PROPERTY_DEFINITION_REPRESENTATION(#18325,#9513); -#18327=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9537,#14021,#14023); -#18328=PROPERTY_DEFINITION($,'of character',#9537); -#18329=PROPERTY_DEFINITION_REPRESENTATION(#18328,#9521); -#18330=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9546,#14021,#14023); -#18331=PROPERTY_DEFINITION($,'of character',#9546); -#18332=PROPERTY_DEFINITION_REPRESENTATION(#18331,#9538); -#18333=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9554,#14021,#14023); -#18334=PROPERTY_DEFINITION($,'of character',#9554); -#18335=PROPERTY_DEFINITION_REPRESENTATION(#18334,#9547); -#18336=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9560,#14021,#14023); -#18337=PROPERTY_DEFINITION($,'of character',#9560); -#18338=PROPERTY_DEFINITION_REPRESENTATION(#18337,#9555); -#18339=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9566,#14021,#14023); -#18340=PROPERTY_DEFINITION($,'of character',#9566); -#18341=PROPERTY_DEFINITION_REPRESENTATION(#18340,#9561); -#18342=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9572,#14021,#14023); -#18343=PROPERTY_DEFINITION($,'of character',#9572); -#18344=PROPERTY_DEFINITION_REPRESENTATION(#18343,#9567); -#18345=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9584,#14021,#14023); -#18346=PROPERTY_DEFINITION($,'of character',#9584); -#18347=PROPERTY_DEFINITION_REPRESENTATION(#18346,#9573); -#18348=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9593,#14021,#14023); -#18349=PROPERTY_DEFINITION($,'of character',#9593); -#18350=PROPERTY_DEFINITION_REPRESENTATION(#18349,#9585); -#18351=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9599,#14021,#14023); -#18352=PROPERTY_DEFINITION($,'of character',#9599); -#18353=PROPERTY_DEFINITION_REPRESENTATION(#18352,#9594); -#18354=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9609,#14021,#14023); -#18355=PROPERTY_DEFINITION($,'of character',#9609); -#18356=PROPERTY_DEFINITION_REPRESENTATION(#18355,#9600); -#18357=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9618,#14021,#14023); -#18358=PROPERTY_DEFINITION($,'of character',#9618); -#18359=PROPERTY_DEFINITION_REPRESENTATION(#18358,#9610); -#18360=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9624,#14021,#14023); -#18361=PROPERTY_DEFINITION($,'of character',#9624); -#18362=PROPERTY_DEFINITION_REPRESENTATION(#18361,#9619); -#18363=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9630,#14021,#14023); -#18364=PROPERTY_DEFINITION($,'of character',#9630); -#18365=PROPERTY_DEFINITION_REPRESENTATION(#18364,#9625); -#18366=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9636,#14021,#14023); -#18367=PROPERTY_DEFINITION($,'of character',#9636); -#18368=PROPERTY_DEFINITION_REPRESENTATION(#18367,#9631); -#18369=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9642,#14021,#14023); -#18370=PROPERTY_DEFINITION($,'of character',#9642); -#18371=PROPERTY_DEFINITION_REPRESENTATION(#18370,#9637); -#18372=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9648,#14021,#14023); -#18373=PROPERTY_DEFINITION($,'of character',#9648); -#18374=PROPERTY_DEFINITION_REPRESENTATION(#18373,#9643); -#18375=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9657,#14021,#14023); -#18376=PROPERTY_DEFINITION($,'of character',#9657); -#18377=PROPERTY_DEFINITION_REPRESENTATION(#18376,#9649); -#18378=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9666,#14021,#14023); -#18379=PROPERTY_DEFINITION($,'of character',#9666); -#18380=PROPERTY_DEFINITION_REPRESENTATION(#18379,#9658); -#18381=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9672,#14021,#14023); -#18382=PROPERTY_DEFINITION($,'of character',#9672); -#18383=PROPERTY_DEFINITION_REPRESENTATION(#18382,#9667); -#18384=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9681,#14021,#14023); -#18385=PROPERTY_DEFINITION($,'of character',#9681); -#18386=PROPERTY_DEFINITION_REPRESENTATION(#18385,#9673); -#18387=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9687,#14021,#14023); -#18388=PROPERTY_DEFINITION($,'of character',#9687); -#18389=PROPERTY_DEFINITION_REPRESENTATION(#18388,#9682); -#18390=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9694,#14021,#14023); -#18391=PROPERTY_DEFINITION($,'of character',#9694); -#18392=PROPERTY_DEFINITION_REPRESENTATION(#18391,#9688); -#18393=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9701,#14021,#14023); -#18394=PROPERTY_DEFINITION($,'of character',#9701); -#18395=PROPERTY_DEFINITION_REPRESENTATION(#18394,#9695); -#18396=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9710,#14021,#14023); -#18397=PROPERTY_DEFINITION($,'of character',#9710); -#18398=PROPERTY_DEFINITION_REPRESENTATION(#18397,#9702); -#18399=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9719,#14021,#14023); -#18400=PROPERTY_DEFINITION($,'of character',#9719); -#18401=PROPERTY_DEFINITION_REPRESENTATION(#18400,#9711); -#18402=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9725,#14021,#14023); -#18403=PROPERTY_DEFINITION($,'of character',#9725); -#18404=PROPERTY_DEFINITION_REPRESENTATION(#18403,#9720); -#18405=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9732,#14021,#14023); -#18406=PROPERTY_DEFINITION($,'of character',#9732); -#18407=PROPERTY_DEFINITION_REPRESENTATION(#18406,#9726); -#18408=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9741,#14021,#14023); -#18409=PROPERTY_DEFINITION($,'of character',#9741); -#18410=PROPERTY_DEFINITION_REPRESENTATION(#18409,#9733); -#18411=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9750,#14021,#14023); -#18412=PROPERTY_DEFINITION($,'of character',#9750); -#18413=PROPERTY_DEFINITION_REPRESENTATION(#18412,#9742); -#18414=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9756,#14021,#14023); -#18415=PROPERTY_DEFINITION($,'of character',#9756); -#18416=PROPERTY_DEFINITION_REPRESENTATION(#18415,#9751); -#18417=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9768,#14021,#14023); -#18418=PROPERTY_DEFINITION($,'of character',#9768); -#18419=PROPERTY_DEFINITION_REPRESENTATION(#18418,#9757); -#18420=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9780,#14021,#14023); -#18421=PROPERTY_DEFINITION($,'of character',#9780); -#18422=PROPERTY_DEFINITION_REPRESENTATION(#18421,#9769); -#18423=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9786,#14021,#14023); -#18424=PROPERTY_DEFINITION($,'of character',#9786); -#18425=PROPERTY_DEFINITION_REPRESENTATION(#18424,#9781); -#18426=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9798,#14021,#14023); -#18427=PROPERTY_DEFINITION($,'of character',#9798); -#18428=PROPERTY_DEFINITION_REPRESENTATION(#18427,#9787); -#18429=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9804,#14021,#14023); -#18430=PROPERTY_DEFINITION($,'of character',#9804); -#18431=PROPERTY_DEFINITION_REPRESENTATION(#18430,#9799); -#18432=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9810,#14021,#14023); -#18433=PROPERTY_DEFINITION($,'of character',#9810); -#18434=PROPERTY_DEFINITION_REPRESENTATION(#18433,#9805); -#18435=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9816,#14021,#14023); -#18436=PROPERTY_DEFINITION($,'of character',#9816); -#18437=PROPERTY_DEFINITION_REPRESENTATION(#18436,#9811); -#18438=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9822,#14021,#14023); -#18439=PROPERTY_DEFINITION($,'of character',#9822); -#18440=PROPERTY_DEFINITION_REPRESENTATION(#18439,#9817); -#18441=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9828,#14021,#14023); -#18442=PROPERTY_DEFINITION($,'of character',#9828); -#18443=PROPERTY_DEFINITION_REPRESENTATION(#18442,#9823); -#18444=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9837,#14021,#14023); -#18445=PROPERTY_DEFINITION($,'of character',#9837); -#18446=PROPERTY_DEFINITION_REPRESENTATION(#18445,#9829); -#18447=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9846,#14021,#14023); -#18448=PROPERTY_DEFINITION($,'of character',#9846); -#18449=PROPERTY_DEFINITION_REPRESENTATION(#18448,#9838); -#18450=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9852,#14021,#14023); -#18451=PROPERTY_DEFINITION($,'of character',#9852); -#18452=PROPERTY_DEFINITION_REPRESENTATION(#18451,#9847); -#18453=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9861,#14021,#14023); -#18454=PROPERTY_DEFINITION($,'of character',#9861); -#18455=PROPERTY_DEFINITION_REPRESENTATION(#18454,#9853); -#18456=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9867,#14021,#14023); -#18457=PROPERTY_DEFINITION($,'of character',#9867); -#18458=PROPERTY_DEFINITION_REPRESENTATION(#18457,#9862); -#18459=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9873,#14021,#14023); -#18460=PROPERTY_DEFINITION($,'of character',#9873); -#18461=PROPERTY_DEFINITION_REPRESENTATION(#18460,#9868); -#18462=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9879,#14021,#14023); -#18463=PROPERTY_DEFINITION($,'of character',#9879); -#18464=PROPERTY_DEFINITION_REPRESENTATION(#18463,#9874); -#18465=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9888,#14021,#14023); -#18466=PROPERTY_DEFINITION($,'of character',#9888); -#18467=PROPERTY_DEFINITION_REPRESENTATION(#18466,#9880); -#18468=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9897,#14021,#14023); -#18469=PROPERTY_DEFINITION($,'of character',#9897); -#18470=PROPERTY_DEFINITION_REPRESENTATION(#18469,#9889); -#18471=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9903,#14021,#14023); -#18472=PROPERTY_DEFINITION($,'of character',#9903); -#18473=PROPERTY_DEFINITION_REPRESENTATION(#18472,#9898); -#18474=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9909,#14021,#14023); -#18475=PROPERTY_DEFINITION($,'of character',#9909); -#18476=PROPERTY_DEFINITION_REPRESENTATION(#18475,#9904); -#18477=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9915,#14021,#14023); -#18478=PROPERTY_DEFINITION($,'of character',#9915); -#18479=PROPERTY_DEFINITION_REPRESENTATION(#18478,#9910); -#18480=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9921,#14021,#14023); -#18481=PROPERTY_DEFINITION($,'of character',#9921); -#18482=PROPERTY_DEFINITION_REPRESENTATION(#18481,#9916); -#18483=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9930,#14021,#14023); -#18484=PROPERTY_DEFINITION($,'of character',#9930); -#18485=PROPERTY_DEFINITION_REPRESENTATION(#18484,#9922); -#18486=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9938,#14021,#14023); -#18487=PROPERTY_DEFINITION($,'of character',#9938); -#18488=PROPERTY_DEFINITION_REPRESENTATION(#18487,#9931); -#18489=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9944,#14021,#14023); -#18490=PROPERTY_DEFINITION($,'of character',#9944); -#18491=PROPERTY_DEFINITION_REPRESENTATION(#18490,#9939); -#18492=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9950,#14021,#14023); -#18493=PROPERTY_DEFINITION($,'of character',#9950); -#18494=PROPERTY_DEFINITION_REPRESENTATION(#18493,#9945); -#18495=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9956,#14021,#14023); -#18496=PROPERTY_DEFINITION($,'of character',#9956); -#18497=PROPERTY_DEFINITION_REPRESENTATION(#18496,#9951); -#18498=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9962,#14021,#14023); -#18499=PROPERTY_DEFINITION($,'of character',#9962); -#18500=PROPERTY_DEFINITION_REPRESENTATION(#18499,#9957); -#18501=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9968,#14021,#14023); -#18502=PROPERTY_DEFINITION($,'of character',#9968); -#18503=PROPERTY_DEFINITION_REPRESENTATION(#18502,#9963); -#18504=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9974,#14021,#14023); -#18505=PROPERTY_DEFINITION($,'of character',#9974); -#18506=PROPERTY_DEFINITION_REPRESENTATION(#18505,#9969); -#18507=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9983,#14021,#14023); -#18508=PROPERTY_DEFINITION($,'of character',#9983); -#18509=PROPERTY_DEFINITION_REPRESENTATION(#18508,#9975); -#18510=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#9993,#14021,#14023); -#18511=PROPERTY_DEFINITION($,'of character',#9993); -#18512=PROPERTY_DEFINITION_REPRESENTATION(#18511,#9984); -#18513=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10002,#14021,#14023); -#18514=PROPERTY_DEFINITION($,'of character',#10002); -#18515=PROPERTY_DEFINITION_REPRESENTATION(#18514,#9994); -#18516=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10014,#14021,#14023); -#18517=PROPERTY_DEFINITION($,'of character',#10014); -#18518=PROPERTY_DEFINITION_REPRESENTATION(#18517,#10003); -#18519=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10025,#14021,#14023); -#18520=PROPERTY_DEFINITION($,'of character',#10025); -#18521=PROPERTY_DEFINITION_REPRESENTATION(#18520,#10015); -#18522=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10034,#14021,#14023); -#18523=PROPERTY_DEFINITION($,'of character',#10034); -#18524=PROPERTY_DEFINITION_REPRESENTATION(#18523,#10026); -#18525=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10043,#14021,#14023); -#18526=PROPERTY_DEFINITION($,'of character',#10043); -#18527=PROPERTY_DEFINITION_REPRESENTATION(#18526,#10035); -#18528=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10055,#14021,#14023); -#18529=PROPERTY_DEFINITION($,'of character',#10055); -#18530=PROPERTY_DEFINITION_REPRESENTATION(#18529,#10044); -#18531=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10064,#14021,#14023); -#18532=PROPERTY_DEFINITION($,'of character',#10064); -#18533=PROPERTY_DEFINITION_REPRESENTATION(#18532,#10056); -#18534=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10070,#14021,#14023); -#18535=PROPERTY_DEFINITION($,'of character',#10070); -#18536=PROPERTY_DEFINITION_REPRESENTATION(#18535,#10065); -#18537=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10077,#14021,#14023); -#18538=PROPERTY_DEFINITION($,'of character',#10077); -#18539=PROPERTY_DEFINITION_REPRESENTATION(#18538,#10071); -#18540=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10087,#14021,#14023); -#18541=PROPERTY_DEFINITION($,'of character',#10087); -#18542=PROPERTY_DEFINITION_REPRESENTATION(#18541,#10078); -#18543=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10096,#14021,#14023); -#18544=PROPERTY_DEFINITION($,'of character',#10096); -#18545=PROPERTY_DEFINITION_REPRESENTATION(#18544,#10088); -#18546=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10102,#14021,#14023); -#18547=PROPERTY_DEFINITION($,'of character',#10102); -#18548=PROPERTY_DEFINITION_REPRESENTATION(#18547,#10097); -#18549=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10111,#14021,#14023); -#18550=PROPERTY_DEFINITION($,'of character',#10111); -#18551=PROPERTY_DEFINITION_REPRESENTATION(#18550,#10103); -#18552=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10120,#14021,#14023); -#18553=PROPERTY_DEFINITION($,'of character',#10120); -#18554=PROPERTY_DEFINITION_REPRESENTATION(#18553,#10112); -#18555=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10126,#14021,#14023); -#18556=PROPERTY_DEFINITION($,'of character',#10126); -#18557=PROPERTY_DEFINITION_REPRESENTATION(#18556,#10121); -#18558=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10135,#14021,#14023); -#18559=PROPERTY_DEFINITION($,'of character',#10135); -#18560=PROPERTY_DEFINITION_REPRESENTATION(#18559,#10127); -#18561=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10144,#14021,#14023); -#18562=PROPERTY_DEFINITION($,'of character',#10144); -#18563=PROPERTY_DEFINITION_REPRESENTATION(#18562,#10136); -#18564=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10153,#14021,#14023); -#18565=PROPERTY_DEFINITION($,'of character',#10153); -#18566=PROPERTY_DEFINITION_REPRESENTATION(#18565,#10145); -#18567=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10159,#14021,#14023); -#18568=PROPERTY_DEFINITION($,'of character',#10159); -#18569=PROPERTY_DEFINITION_REPRESENTATION(#18568,#10154); -#18570=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10165,#14021,#14023); -#18571=PROPERTY_DEFINITION($,'of character',#10165); -#18572=PROPERTY_DEFINITION_REPRESENTATION(#18571,#10160); -#18573=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10171,#14021,#14023); -#18574=PROPERTY_DEFINITION($,'of character',#10171); -#18575=PROPERTY_DEFINITION_REPRESENTATION(#18574,#10166); -#18576=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10177,#14021,#14023); -#18577=PROPERTY_DEFINITION($,'of character',#10177); -#18578=PROPERTY_DEFINITION_REPRESENTATION(#18577,#10172); -#18579=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10189,#14021,#14023); -#18580=PROPERTY_DEFINITION($,'of character',#10189); -#18581=PROPERTY_DEFINITION_REPRESENTATION(#18580,#10178); -#18582=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2263,#14021,#14023); -#18583=REPRESENTATION('padstack parametric data',(#17747),#13406); -#18584=PROPERTY_DEFINITION_REPRESENTATION(#2263,#18583); -#18585=PROPERTY_DEFINITION('location','swappable',#2263); -#18586=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7698,#14021,#14023); -#18587=REPRESENTATION('padstack parametric data',(#17747),#13406); -#18588=PROPERTY_DEFINITION_REPRESENTATION(#7698,#18587); -#18589=PROPERTY_DEFINITION('location','swappable',#7698); -#18590=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7829,#14021,#14023); -#18591=REPRESENTATION('padstack parametric data',(#17747),#13406); -#18592=PROPERTY_DEFINITION_REPRESENTATION(#7829,#18591); -#18593=PROPERTY_DEFINITION('location','swappable',#7829); -#18594=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#489,#14021,#14023); -#18595=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#198,#489); -#18596=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#199,#489); -#18597=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#192,#489); -#18598=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#193,#489); -#18599=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#194,#489); -#18600=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#195,#489); -#18601=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#200,#489); -#18602=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#201,#489); -#18603=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#205,#489); -#18604=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#206,#489); -#18605=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#215,#489); -#18606=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#216,#489); -#18607=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#213,#489); -#18608=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#214,#489); -#18609=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#207,#489); -#18610=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#208,#489); -#18611=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#211,#489); -#18612=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#212,#489); -#18613=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#219,#489); -#18614=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#220,#489); -#18615=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#217,#489); -#18616=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#218,#489); -#18617=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#221,#489); -#18618=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#222,#489); -#18619=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#202,#489); -#18620=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#203,#489); -#18621=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#209,#489); -#18622=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#210,#489); -#18623=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#196,#489); -#18624=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#197,#489); -#18625=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#187,#489); -#18626=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#464,#489); -#18627=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2404,#14021,#14023); -#18628=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#198,#2404); -#18629=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#199,#2404); -#18630=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#192,#2404); -#18631=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#193,#2404); -#18632=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#194,#2404); -#18633=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#195,#2404); -#18634=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#200,#2404); -#18635=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#201,#2404); -#18636=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#205,#2404); -#18637=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#206,#2404); -#18638=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#215,#2404); -#18639=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#216,#2404); -#18640=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#213,#2404); -#18641=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#214,#2404); -#18642=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#207,#2404); -#18643=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#208,#2404); -#18644=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#211,#2404); -#18645=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#212,#2404); -#18646=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#219,#2404); -#18647=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#220,#2404); -#18648=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#217,#2404); -#18649=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#218,#2404); -#18650=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#221,#2404); -#18651=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#222,#2404); -#18652=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#202,#2404); -#18653=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#203,#2404); -#18654=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#209,#2404); -#18655=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#210,#2404); -#18656=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#196,#2404); -#18657=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#197,#2404); -#18658=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#187,#2404); -#18659=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#2275,#2404); -#18660=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7822,#14021,#14023); -#18661=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#192,#7822); -#18662=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#193,#7822); -#18663=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#194,#7822); -#18664=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#195,#7822); -#18665=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#200,#7822); -#18666=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#201,#7822); -#18667=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#205,#7822); -#18668=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#206,#7822); -#18669=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#215,#7822); -#18670=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#216,#7822); -#18671=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#213,#7822); -#18672=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#214,#7822); -#18673=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#207,#7822); -#18674=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#208,#7822); -#18675=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#211,#7822); -#18676=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#212,#7822); -#18677=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#219,#7822); -#18678=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#220,#7822); -#18679=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#217,#7822); -#18680=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#218,#7822); -#18681=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#221,#7822); -#18682=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#222,#7822); -#18683=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#202,#7822); -#18684=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#203,#7822); -#18685=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#209,#7822); -#18686=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#210,#7822); -#18687=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#187,#7822); -#18688=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#7710,#7822); -#18689=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7955,#14021,#14023); -#18690=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#198,#7955); -#18691=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#199,#7955); -#18692=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#187,#7955); -#18693=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#7841,#7955); -#18694=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7976,#14021,#14023); -#18695=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#196,#7976); -#18696=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#197,#7976); -#18697=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#187,#7976); -#18698=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#7841,#7976); -#18699=PROPERTY_DEFINITION('plated passage','false',#226); -#18700=REPRESENTATION_MAP(#388,#387); -#18701=REPRESENTATION_MAP(#2087,#2086); -#18702=REPRESENTATION_MAP(#4074,#4073); -#18703=REPRESENTATION_MAP(#4751,#4750); -#18704=REPRESENTATION_MAP(#9339,#9338); -#18705=REPRESENTATION_MAP(#10370,#10369); -#18706=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3971,#1671); -#18707=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3971,#3561); -#18708=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3971,#3653); -#18709=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3971,#2132); -#18710=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3971,#1639); -#18711=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3971,#3539); -#18712=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3971,#1753); -#18713=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3971,#3571); -#18714=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3971,#1661); -#18715=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3972,#3629); -#18716=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3972,#1759); -#18717=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3973,#1745); -#18718=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3973,#3645); -#18719=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3974,#3647); -#18720=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3974,#1755); -#18721=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3975,#1715); -#18722=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3975,#1643); -#18723=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3975,#3543); -#18724=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3975,#3617); -#18725=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3975,#3615); -#18726=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3975,#2130); -#18727=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3975,#1717); -#18728=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3976,#3545); -#18729=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3976,#1663); -#18730=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3977,#3541); -#18731=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#3977,#1727); -#18732=ID_ATTRIBUTE('uvlnfsm',#609); -#18733=DESCRIPTION_ATTRIBUTE('pupksm',#609); -#18734=SHAPE_DEFINITION_REPRESENTATION(#512,#609); -#18735=REPRESENTATION('shape material condition',(#18737),#13406); -#18736=REPRESENTATION_RELATIONSHIP('',$,#609,#18735); -#18737=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18738=REPRESENTATION('shape environment',(#18740),#13406); -#18739=REPRESENTATION_RELATIONSHIP('',$,#609,#18738); -#18740=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18741=REPRESENTATION('shape extent',(#18743),#13406); -#18742=REPRESENTATION_RELATIONSHIP('',$,#609,#18741); -#18743=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#18744=REPRESENTATION('shape approximation level',(#18746),#13406); -#18745=REPRESENTATION_RELATIONSHIP('',$,#609,#18744); -#18746=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18747=REPRESENTATION('predefined keepout shape purpose',(#18749),#13406); -#18748=REPRESENTATION_RELATIONSHIP('',$,#609,#18747); -#18749=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#18750=PROPERTY_DEFINITION_REPRESENTATION(#18752,#609); -#18751=KEEPOUT_DESIGN_OBJECT_CATEGORY('','assembly module assembly component category'); -#18752=PROPERTY_DEFINITION('',$,#18751); -#18753=PROPERTY_DEFINITION('',$,#608); -#18754=PROPERTY_DEFINITION_REPRESENTATION(#18753,#609); -#18755=REPRESENTATION_RELATIONSHIP('model shape',$,#600,#609); -#18756=REPRESENTATION('side',(#18758),#13406); -#18757=REPRESENTATION_RELATIONSHIP('',$,#609,#18756); -#18758=DESCRIPTIVE_REPRESENTATION_ITEM('opposite side',''); -#18759=REPRESENTATION('shape location',(#18761),#13406); -#18760=REPRESENTATION_RELATIONSHIP('',$,#609,#18759); -#18761=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#18762=REPRESENTATION('component application',(#18764),#13406); -#18763=REPRESENTATION_RELATIONSHIP('',$,#609,#18762); -#18764=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#18765=ID_ATTRIBUTE('uvlnfsm',#2737); -#18766=DESCRIPTION_ATTRIBUTE('pupksm',#2737); -#18767=SHAPE_DEFINITION_REPRESENTATION(#2667,#2737); -#18768=REPRESENTATION('shape material condition',(#18770),#13406); -#18769=REPRESENTATION_RELATIONSHIP('',$,#2737,#18768); -#18770=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18771=REPRESENTATION('shape environment',(#18773),#13406); -#18772=REPRESENTATION_RELATIONSHIP('',$,#2737,#18771); -#18773=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18774=REPRESENTATION('shape extent',(#18776),#13406); -#18775=REPRESENTATION_RELATIONSHIP('',$,#2737,#18774); -#18776=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#18777=REPRESENTATION('shape approximation level',(#18779),#13406); -#18778=REPRESENTATION_RELATIONSHIP('',$,#2737,#18777); -#18779=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18780=REPRESENTATION('predefined keepout shape purpose',(#18782),#13406); -#18781=REPRESENTATION_RELATIONSHIP('',$,#2737,#18780); -#18782=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#18783=PROPERTY_DEFINITION_REPRESENTATION(#18752,#2737); -#18784=PROPERTY_DEFINITION('',$,#2736); -#18785=PROPERTY_DEFINITION_REPRESENTATION(#18784,#2737); -#18786=REPRESENTATION_RELATIONSHIP('model shape',$,#2729,#2737); -#18787=REPRESENTATION('side',(#18789),#13406); -#18788=REPRESENTATION_RELATIONSHIP('',$,#2737,#18787); -#18789=DESCRIPTIVE_REPRESENTATION_ITEM('same side',''); -#18790=REPRESENTATION('shape location',(#18792),#13406); -#18791=REPRESENTATION_RELATIONSHIP('',$,#2737,#18790); -#18792=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#18793=REPRESENTATION('component application',(#18795),#13406); -#18794=REPRESENTATION_RELATIONSHIP('',$,#2737,#18793); -#18795=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#18796=DESCRIPTION_ATTRIBUTE('pupsm',#13); -#18797=SHAPE_DEFINITION_REPRESENTATION(#12,#13); -#18798=REPRESENTATION('shape material condition',(#18800),#13406); -#18799=REPRESENTATION_RELATIONSHIP('',$,#13,#18798); -#18800=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18801=REPRESENTATION('shape environment',(#18803),#13406); -#18802=REPRESENTATION_RELATIONSHIP('',$,#13,#18801); -#18803=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#18804=REPRESENTATION('shape extent',(#18806),#13406); -#18805=REPRESENTATION_RELATIONSHIP('',$,#13,#18804); -#18806=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#18807=REPRESENTATION('shape approximation level',(#18809),#13406); -#18808=REPRESENTATION_RELATIONSHIP('',$,#13,#18807); -#18809=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18810=REPRESENTATION('mass property quality',(#18812),#13406); -#18811=REPRESENTATION_RELATIONSHIP('',$,#13,#18810); -#18812=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18813=REPRESENTATION('shape location',(#18815),#13406); -#18814=REPRESENTATION_RELATIONSHIP('',$,#13,#18813); -#18815=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#18816=REPRESENTATION('predefined shape purpose',(#18818),#13406); -#18817=REPRESENTATION_RELATIONSHIP('',$,#13,#18816); -#18818=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#18819=DESCRIPTION_ATTRIBUTE('pupsm',#25); -#18820=SHAPE_DEFINITION_REPRESENTATION(#6,#25); -#18821=REPRESENTATION('shape material condition',(#18823),#13406); -#18822=REPRESENTATION_RELATIONSHIP('',$,#25,#18821); -#18823=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18824=REPRESENTATION('shape environment',(#18826),#13406); -#18825=REPRESENTATION_RELATIONSHIP('',$,#25,#18824); -#18826=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#18827=REPRESENTATION('shape extent',(#18829),#13406); -#18828=REPRESENTATION_RELATIONSHIP('',$,#25,#18827); -#18829=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#18830=REPRESENTATION('shape approximation level',(#18832),#13406); -#18831=REPRESENTATION_RELATIONSHIP('',$,#25,#18830); -#18832=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18833=REPRESENTATION('mass property quality',(#18835),#13406); -#18834=REPRESENTATION_RELATIONSHIP('',$,#25,#18833); -#18835=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18836=REPRESENTATION('shape location',(#18838),#13406); -#18837=REPRESENTATION_RELATIONSHIP('',$,#25,#18836); -#18838=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#18839=REPRESENTATION('predefined shape purpose',(#18841),#13406); -#18840=REPRESENTATION_RELATIONSHIP('',$,#25,#18839); -#18841=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#18842=DESCRIPTION_ATTRIBUTE('pupsm',#30); -#18843=SHAPE_DEFINITION_REPRESENTATION(#27,#30); -#18844=REPRESENTATION('shape material condition',(#18846),#13406); -#18845=REPRESENTATION_RELATIONSHIP('',$,#30,#18844); -#18846=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18847=REPRESENTATION('shape environment',(#18849),#13406); -#18848=REPRESENTATION_RELATIONSHIP('',$,#30,#18847); -#18849=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#18850=REPRESENTATION('shape extent',(#18852),#13406); -#18851=REPRESENTATION_RELATIONSHIP('',$,#30,#18850); -#18852=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#18853=REPRESENTATION('shape approximation level',(#18855),#13406); -#18854=REPRESENTATION_RELATIONSHIP('',$,#30,#18853); -#18855=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18856=REPRESENTATION('mass property quality',(#18858),#13406); -#18857=REPRESENTATION_RELATIONSHIP('',$,#30,#18856); -#18858=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18859=REPRESENTATION('shape location',(#18861),#13406); -#18860=REPRESENTATION_RELATIONSHIP('',$,#30,#18859); -#18861=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#18862=REPRESENTATION('predefined shape purpose',(#18864),#13406); -#18863=REPRESENTATION_RELATIONSHIP('',$,#30,#18862); -#18864=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#18865=DESCRIPTION_ATTRIBUTE('pupsm',#224); -#18866=SHAPE_DEFINITION_REPRESENTATION(#223,#224); -#18867=REPRESENTATION('shape material condition',(#18869),#13406); -#18868=REPRESENTATION_RELATIONSHIP('',$,#224,#18867); -#18869=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18870=REPRESENTATION('shape environment',(#18872),#13406); -#18871=REPRESENTATION_RELATIONSHIP('',$,#224,#18870); -#18872=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#18873=REPRESENTATION('shape extent',(#18875),#13406); -#18874=REPRESENTATION_RELATIONSHIP('',$,#224,#18873); -#18875=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#18876=REPRESENTATION('shape approximation level',(#18878),#13406); -#18877=REPRESENTATION_RELATIONSHIP('',$,#224,#18876); -#18878=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18879=REPRESENTATION('mass property quality',(#18881),#13406); -#18880=REPRESENTATION_RELATIONSHIP('',$,#224,#18879); -#18881=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18882=REPRESENTATION('shape location',(#18884),#13406); -#18883=REPRESENTATION_RELATIONSHIP('',$,#224,#18882); -#18884=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#18885=REPRESENTATION('predefined shape purpose',(#18887),#13406); -#18886=REPRESENTATION_RELATIONSHIP('',$,#224,#18885); -#18887=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#18888=DESCRIPTION_ATTRIBUTE('pupsm',#515); -#18889=SHAPE_DEFINITION_REPRESENTATION(#512,#515); -#18890=REPRESENTATION('shape material condition',(#18892),#13406); -#18891=REPRESENTATION_RELATIONSHIP('',$,#515,#18890); -#18892=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18893=REPRESENTATION('shape environment',(#18895),#13406); -#18894=REPRESENTATION_RELATIONSHIP('',$,#515,#18893); -#18895=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18896=REPRESENTATION('shape extent',(#18898),#13406); -#18897=REPRESENTATION_RELATIONSHIP('',$,#515,#18896); -#18898=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#18899=REPRESENTATION('shape approximation level',(#18901),#13406); -#18900=REPRESENTATION_RELATIONSHIP('',$,#515,#18899); -#18901=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18902=REPRESENTATION('mass property quality',(#18904),#13406); -#18903=REPRESENTATION_RELATIONSHIP('',$,#515,#18902); -#18904=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18905=REPRESENTATION('shape location',(#18907),#13406); -#18906=REPRESENTATION_RELATIONSHIP('',$,#515,#18905); -#18907=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#18908=REPRESENTATION('predefined shape purpose',(#18910),#13406); -#18909=REPRESENTATION_RELATIONSHIP('',$,#515,#18908); -#18910=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#18911=DESCRIPTION_ATTRIBUTE('pupsm',#600); -#18912=SHAPE_DEFINITION_REPRESENTATION(#512,#600); -#18913=REPRESENTATION('shape material condition',(#18915),#13406); -#18914=REPRESENTATION_RELATIONSHIP('',$,#600,#18913); -#18915=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18916=REPRESENTATION('shape environment',(#18918),#13406); -#18917=REPRESENTATION_RELATIONSHIP('',$,#600,#18916); -#18918=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18919=REPRESENTATION('shape extent',(#18921),#13406); -#18920=REPRESENTATION_RELATIONSHIP('',$,#600,#18919); -#18921=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#18922=REPRESENTATION('shape approximation level',(#18924),#13406); -#18923=REPRESENTATION_RELATIONSHIP('',$,#600,#18922); -#18924=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18925=REPRESENTATION('mass property quality',(#18927),#13406); -#18926=REPRESENTATION_RELATIONSHIP('',$,#600,#18925); -#18927=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18928=REPRESENTATION('shape location',(#18930),#13406); -#18929=REPRESENTATION_RELATIONSHIP('',$,#600,#18928); -#18930=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#18931=REPRESENTATION('predefined shape purpose',(#18933),#13406); -#18932=REPRESENTATION_RELATIONSHIP('',$,#600,#18931); -#18933=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#18934=DESCRIPTION_ATTRIBUTE('pupsm',#2035); -#18935=SHAPE_DEFINITION_REPRESENTATION(#2034,#2035); -#18936=REPRESENTATION('shape material condition',(#18938),#13406); -#18937=REPRESENTATION_RELATIONSHIP('',$,#2035,#18936); -#18938=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18939=REPRESENTATION('shape environment',(#18941),#13406); -#18940=REPRESENTATION_RELATIONSHIP('',$,#2035,#18939); -#18941=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18942=REPRESENTATION('shape extent',(#18944),#13406); -#18943=REPRESENTATION_RELATIONSHIP('',$,#2035,#18942); -#18944=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#18945=REPRESENTATION('shape approximation level',(#18947),#13406); -#18946=REPRESENTATION_RELATIONSHIP('',$,#2035,#18945); -#18947=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18948=REPRESENTATION('mass property quality',(#18950),#13406); -#18949=REPRESENTATION_RELATIONSHIP('',$,#2035,#18948); -#18950=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18951=REPRESENTATION('shape location',(#18953),#13406); -#18952=REPRESENTATION_RELATIONSHIP('',$,#2035,#18951); -#18953=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#18954=REPRESENTATION('predefined shape purpose',(#18956),#13406); -#18955=REPRESENTATION_RELATIONSHIP('',$,#2035,#18954); -#18956=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#18957=DESCRIPTION_ATTRIBUTE('pupsm',#2043); -#18958=SHAPE_DEFINITION_REPRESENTATION(#2034,#2043); -#18959=REPRESENTATION('shape material condition',(#18961),#13406); -#18960=REPRESENTATION_RELATIONSHIP('',$,#2043,#18959); -#18961=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18962=REPRESENTATION('shape environment',(#18964),#13406); -#18963=REPRESENTATION_RELATIONSHIP('',$,#2043,#18962); -#18964=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18965=REPRESENTATION('shape extent',(#18967),#13406); -#18966=REPRESENTATION_RELATIONSHIP('',$,#2043,#18965); -#18967=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#18968=REPRESENTATION('shape approximation level',(#18970),#13406); -#18969=REPRESENTATION_RELATIONSHIP('',$,#2043,#18968); -#18970=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18971=REPRESENTATION('mass property quality',(#18973),#13406); -#18972=REPRESENTATION_RELATIONSHIP('',$,#2043,#18971); -#18973=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18974=REPRESENTATION('shape location',(#18976),#13406); -#18975=REPRESENTATION_RELATIONSHIP('',$,#2043,#18974); -#18976=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#18977=REPRESENTATION('predefined shape purpose',(#18979),#13406); -#18978=REPRESENTATION_RELATIONSHIP('',$,#2043,#18977); -#18979=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#18980=DESCRIPTION_ATTRIBUTE('pupsm',#2668); -#18981=SHAPE_DEFINITION_REPRESENTATION(#2667,#2668); -#18982=REPRESENTATION('shape material condition',(#18984),#13406); -#18983=REPRESENTATION_RELATIONSHIP('',$,#2668,#18982); -#18984=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#18985=REPRESENTATION('shape environment',(#18987),#13406); -#18986=REPRESENTATION_RELATIONSHIP('',$,#2668,#18985); -#18987=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#18988=REPRESENTATION('shape extent',(#18990),#13406); -#18989=REPRESENTATION_RELATIONSHIP('',$,#2668,#18988); -#18990=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#18991=REPRESENTATION('shape approximation level',(#18993),#13406); -#18992=REPRESENTATION_RELATIONSHIP('',$,#2668,#18991); -#18993=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18994=REPRESENTATION('mass property quality',(#18996),#13406); -#18995=REPRESENTATION_RELATIONSHIP('',$,#2668,#18994); -#18996=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#18997=REPRESENTATION('shape location',(#18999),#13406); -#18998=REPRESENTATION_RELATIONSHIP('',$,#2668,#18997); -#18999=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#19000=REPRESENTATION('predefined shape purpose',(#19002),#13406); -#19001=REPRESENTATION_RELATIONSHIP('',$,#2668,#19000); -#19002=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#19003=DESCRIPTION_ATTRIBUTE('pupsm',#2729); -#19004=SHAPE_DEFINITION_REPRESENTATION(#2667,#2729); -#19005=REPRESENTATION('shape material condition',(#19007),#13406); -#19006=REPRESENTATION_RELATIONSHIP('',$,#2729,#19005); -#19007=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#19008=REPRESENTATION('shape environment',(#19010),#13406); -#19009=REPRESENTATION_RELATIONSHIP('',$,#2729,#19008); -#19010=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#19011=REPRESENTATION('shape extent',(#19013),#13406); -#19012=REPRESENTATION_RELATIONSHIP('',$,#2729,#19011); -#19013=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#19014=REPRESENTATION('shape approximation level',(#19016),#13406); -#19015=REPRESENTATION_RELATIONSHIP('',$,#2729,#19014); -#19016=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#19017=REPRESENTATION('mass property quality',(#19019),#13406); -#19018=REPRESENTATION_RELATIONSHIP('',$,#2729,#19017); -#19019=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#19020=REPRESENTATION('shape location',(#19022),#13406); -#19021=REPRESENTATION_RELATIONSHIP('',$,#2729,#19020); -#19022=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#19023=REPRESENTATION('predefined shape purpose',(#19025),#13406); -#19024=REPRESENTATION_RELATIONSHIP('',$,#2729,#19023); -#19025=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#19026=PROPERTY_DEFINITION('required characteristic',$,#506); -#19027=REPRESENTATION('',(#503),#13406); -#19028=PROPERTY_DEFINITION_REPRESENTATION(#19026,#19027); -#19029=PROPERTY_DEFINITION('required characteristic',$,#1054); -#19030=REPRESENTATION('',(#1053),#13406); -#19031=PROPERTY_DEFINITION_REPRESENTATION(#19029,#19030); -#19032=PROPERTY_DEFINITION('required characteristic',$,#2028); -#19033=REPRESENTATION('',(#2027),#13406); -#19034=PROPERTY_DEFINITION_REPRESENTATION(#19032,#19033); -#19035=PROPERTY_DEFINITION('required characteristic',$,#2109); -#19036=REPRESENTATION('',(#2108),#13406); -#19037=PROPERTY_DEFINITION_REPRESENTATION(#19035,#19036); -#19038=PROPERTY_DEFINITION('required characteristic',$,#3019); -#19039=REPRESENTATION('',(#3018),#13406); -#19040=PROPERTY_DEFINITION_REPRESENTATION(#19038,#19039); -#19041=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2377,#2428); -#19042=SHAPE_ASPECT('',$,#2427,.U.); -#19043=SHAPE_ASPECT_RELATIONSHIP('implementation',$,#19042,#2428); -#19044=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2262,#2429); -#19045=SHAPE_ASPECT_RELATIONSHIP('implementation',$,#19042,#2429); -#19046=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2377,#3969); -#19047=SHAPE_ASPECT('',$,#3968,.U.); -#19048=SHAPE_ASPECT_RELATIONSHIP('implementation',$,#19047,#3969); -#19049=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2262,#3970); -#19050=SHAPE_ASPECT_RELATIONSHIP('implementation',$,#19047,#3970); -#19051=PRINTED_PART_TEMPLATE_TERMINAL_CONNECTION_ZONE_CATEGORY('area edge segment', - $); -#19052=APPLIED_GROUP_ASSIGNMENT(#19051,(#2262,#2377)); -#19053=PROPERTY_DEFINITION('',$,#2260); -#19054=PROPERTY_DEFINITION('',$,#2262); -#19055=PROPERTY_DEFINITION_RELATIONSHIP('associated composition relationship','', - #19053,#19054); -#19056=PROPERTY_DEFINITION('',$,#2377); -#19057=PROPERTY_DEFINITION_RELATIONSHIP('associated composition relationship','', - #19053,#19056); -#19058=PROPERTY_DEFINITION('','assigned parameter',#12933); -#19059=PROPERTY_DEFINITION_REPRESENTATION(#19058,#12913); -#19060=PROPERTY_DEFINITION('','assigned parameter',#12934); -#19061=PROPERTY_DEFINITION_REPRESENTATION(#19060,#12914); -#19062=PROPERTY_DEFINITION('','assigned parameter',#12935); -#19063=PROPERTY_DEFINITION_REPRESENTATION(#19062,#12915); -#19064=PROPERTY_DEFINITION('','assigned parameter',#12936); -#19065=PROPERTY_DEFINITION_REPRESENTATION(#19064,#12916); -#19066=PROPERTY_DEFINITION('','assigned parameter',#12937); -#19067=PROPERTY_DEFINITION_REPRESENTATION(#19066,#12917); -#19068=PROPERTY_DEFINITION('','assigned parameter',#12938); -#19069=PROPERTY_DEFINITION_REPRESENTATION(#19068,#12918); -#19070=PROPERTY_DEFINITION('','assigned parameter',#12939); -#19071=PROPERTY_DEFINITION_REPRESENTATION(#19070,#12919); -#19072=PROPERTY_DEFINITION('','assigned parameter',#12940); -#19073=PROPERTY_DEFINITION_REPRESENTATION(#19072,#12920); -#19074=PROPERTY_DEFINITION('','assigned parameter',#12941); -#19075=PROPERTY_DEFINITION_REPRESENTATION(#19074,#12921); -#19076=PROPERTY_DEFINITION('','assigned parameter',#12951); -#19077=PROPERTY_DEFINITION_REPRESENTATION(#19076,#12942); -#19078=PROPERTY_DEFINITION('','assigned parameter',#12952); -#19079=PROPERTY_DEFINITION_REPRESENTATION(#19078,#12943); -#19080=PROPERTY_DEFINITION('','assigned parameter',#12953); -#19081=PROPERTY_DEFINITION_REPRESENTATION(#19080,#12944); -#19082=PROPERTY_DEFINITION('','assigned parameter',#12954); -#19083=PROPERTY_DEFINITION_REPRESENTATION(#19082,#12945); -#19084=PROPERTY_DEFINITION('','assigned parameter',#12962); -#19085=PROPERTY_DEFINITION_REPRESENTATION(#19084,#12955); -#19086=PROPERTY_DEFINITION('','assigned parameter',#12963); -#19087=PROPERTY_DEFINITION_REPRESENTATION(#19086,#12956); -#19088=PROPERTY_DEFINITION('','assigned parameter',#12964); -#19089=PROPERTY_DEFINITION_REPRESENTATION(#19088,#12957); -#19090=PROPERTY_DEFINITION('','assigned parameter',#12965); -#19091=PROPERTY_DEFINITION_REPRESENTATION(#19090,#12958); -#19092=PROPERTY_DEFINITION('','assigned parameter',#12967); -#19093=PROPERTY_DEFINITION_REPRESENTATION(#19092,#12960); -#19094=PROPERTY_DEFINITION('','assigned parameter',#12968); -#19095=PROPERTY_DEFINITION_REPRESENTATION(#19094,#12961); -#19096=PROPERTY_DEFINITION('','assigned parameter',#12970); -#19097=PROPERTY_DEFINITION_REPRESENTATION(#19096,#12969); -#19098=PROPERTY_DEFINITION('','assigned parameter',#12977); -#19099=PROPERTY_DEFINITION_REPRESENTATION(#19098,#12976); -#19100=PRODUCT_CONTEXT('requirement',#14022,''); -#19101=ASSIGNED_REQUIREMENT(#509,(#506)); -#19102=REQUIREMENT_ASSIGNED_OBJECT(#509,(#500)); -#19103=ID_ATTRIBUTE('height',#509); -#19104=ASSIGNED_REQUIREMENT(#1057,(#1054)); -#19105=REQUIREMENT_ASSIGNED_OBJECT(#1057,(#1045)); -#19106=ID_ATTRIBUTE('height',#1057); -#19107=ASSIGNED_REQUIREMENT(#2031,(#2028)); -#19108=REQUIREMENT_ASSIGNED_OBJECT(#2031,(#2024)); -#19109=ID_ATTRIBUTE('height',#2031); -#19110=ASSIGNED_REQUIREMENT(#2112,(#2109)); -#19111=REQUIREMENT_ASSIGNED_OBJECT(#2112,(#2100)); -#19112=ID_ATTRIBUTE('height',#2112); -#19113=ASSIGNED_REQUIREMENT(#2295,(#2293)); -#19114=REQUIREMENT_ASSIGNED_OBJECT(#2295,(#2292)); -#19115=ID_ATTRIBUTE('electrical requirement',#2295); -#19116=ASSIGNED_REQUIREMENT(#3022,(#3019)); -#19117=REQUIREMENT_ASSIGNED_OBJECT(#3022,(#3012)); -#19118=ID_ATTRIBUTE('height',#3022); -#19119=ASSIGNED_REQUIREMENT(#7727,(#7725)); -#19120=REQUIREMENT_ASSIGNED_OBJECT(#7727,(#7724)); -#19121=ID_ATTRIBUTE('electrical requirement',#7727); -#19122=ASSIGNED_REQUIREMENT(#7858,(#7856)); -#19123=REQUIREMENT_ASSIGNED_OBJECT(#7858,(#7855)); -#19124=ID_ATTRIBUTE('electrical requirement',#7858); -#19125=ASSIGNED_REQUIREMENT(#7902,(#7900)); -#19126=REQUIREMENT_ASSIGNED_OBJECT(#7902,(#7899)); -#19127=ID_ATTRIBUTE('electrical requirement',#7902); -#19128=ASSIGNED_REQUIREMENT(#12835,(#12829)); -#19129=REQUIREMENT_ASSIGNED_OBJECT(#12835,(#29)); -#19130=ID_ATTRIBUTE('pid28',#12835); -#19131=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10535,#1781); -#19132=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10535,#3681); -#19133=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10535,#1952); -#19134=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10535,#3819); -#19135=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10535,#2140); -#19136=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10535,#3804); -#19137=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10535,#1904); -#19138=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10535,#3852); -#19139=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10535,#1919); -#19140=SHAPE_ASPECT_RELATIONSHIP('reference connected terminals',$,#3978,#10535); -#19141=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10383); -#19142=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10393); -#19143=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10403); -#19144=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10413); -#19145=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10425); -#19146=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10434); -#19147=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10443); -#19148=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10452); -#19149=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10462); -#19150=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10472); -#19151=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10482); -#19152=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10492); -#19153=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10502); -#19154=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10512); -#19155=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10522); -#19156=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10532); -#19157=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10535,#10534); -#19158=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#10535,#10536); -#19159=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10620,#3717); -#19160=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10620,#1772); -#19161=SHAPE_ASPECT_RELATIONSHIP('reference connected terminals',$,#3979,#10620); -#19162=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10620,#10560); -#19163=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10620,#10569); -#19164=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10620,#10583); -#19165=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10620,#10592); -#19166=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10620,#10601); -#19167=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10620,#10611); -#19168=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10620,#10613); -#19169=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10620,#10617); -#19170=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10620,#10618); -#19171=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10620,#10619); -#19172=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#10620,#10621); -#19173=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10687,#1793); -#19174=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10687,#3693); -#19175=SHAPE_ASPECT_RELATIONSHIP('reference connected terminals',$,#3980,#10687); -#19176=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10687,#10639); -#19177=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10687,#10648); -#19178=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10687,#10657); -#19179=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10687,#10666); -#19180=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10687,#10676); -#19181=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10687,#10678); -#19182=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10687,#10680); -#19183=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10687,#10682); -#19184=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10687,#10684); -#19185=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10687,#10685); -#19186=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10687,#10686); -#19187=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#10687,#10688); -#19188=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10761,#3690); -#19189=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10761,#1778); -#19190=SHAPE_ASPECT_RELATIONSHIP('reference connected terminals',$,#3981,#10761); -#19191=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10761,#10703); -#19192=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10761,#10712); -#19193=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10761,#10726); -#19194=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10761,#10735); -#19195=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10761,#10744); -#19196=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10761,#10754); -#19197=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10761,#10756); -#19198=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10761,#10758); -#19199=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10761,#10760); -#19200=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#10761,#10762); -#19201=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10812,#1862); -#19202=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10812,#2428); -#19203=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10812,#10778); -#19204=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10812,#10787); -#19205=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10812,#10796); -#19206=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10812,#10806); -#19207=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10812,#10808); -#19208=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10812,#10811); -#19209=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#10812,#10813); -#19210=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10852,#3813); -#19211=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#10852,#3970); -#19212=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10852,#10827); -#19213=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10852,#10836); -#19214=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10852,#10846); -#19215=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10852,#10849); -#19216=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#10852,#10851); -#19217=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#10852,#10853); -#19218=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11179,#3738); -#19219=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11179,#1946); -#19220=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11179,#1835); -#19221=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11179,#3846); -#19222=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11179,#2142); -#19223=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11179,#3735); -#19224=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11179,#1838); -#19225=SHAPE_ASPECT_RELATIONSHIP('reference connected terminals',$,#3982,#11179); -#19226=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11009); -#19227=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11019); -#19228=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11029); -#19229=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11038); -#19230=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11047); -#19231=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11056); -#19232=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11065); -#19233=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11074); -#19234=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11083); -#19235=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11092); -#19236=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11101); -#19237=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11110); -#19238=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11120); -#19239=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11130); -#19240=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11140); -#19241=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11142); -#19242=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11144); -#19243=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11146); -#19244=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11148); -#19245=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11150); -#19246=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11152); -#19247=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11154); -#19248=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11156); -#19249=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11157); -#19250=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11158); -#19251=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11159); -#19252=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11160); -#19253=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11161); -#19254=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11162); -#19255=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11163); -#19256=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11164); -#19257=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11165); -#19258=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11166); -#19259=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11167); -#19260=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11168); -#19261=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11169); -#19262=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11170); -#19263=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11171); -#19264=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11172); -#19265=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11173); -#19266=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11174); -#19267=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11175); -#19268=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11176); -#19269=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11177); -#19270=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11179,#11178); -#19271=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#11179,#11180); -#19272=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11251,#1916); -#19273=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11251,#3843); -#19274=SHAPE_ASPECT_RELATIONSHIP('reference connected terminals',$,#3983,#11251); -#19275=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11251,#11195); -#19276=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11251,#11204); -#19277=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11251,#11216); -#19278=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11251,#11225); -#19279=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11251,#11234); -#19280=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11251,#11244); -#19281=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11251,#11246); -#19282=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11251,#11248); -#19283=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11251,#11250); -#19284=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#11251,#11252); -#19285=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11326,#1820); -#19286=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11326,#3849); -#19287=SHAPE_ASPECT_RELATIONSHIP('reference connected terminals',$,#3984,#11326); -#19288=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11326,#11267); -#19289=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11326,#11276); -#19290=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11326,#11291); -#19291=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11326,#11300); -#19292=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11326,#11309); -#19293=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11326,#11319); -#19294=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11326,#11322); -#19295=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11326,#11324); -#19296=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11326,#11325); -#19297=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#11326,#11327); -#19298=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11377,#1922); -#19299=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11377,#3969); -#19300=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11377,#11343); -#19301=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11377,#11352); -#19302=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11377,#11361); -#19303=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11377,#11371); -#19304=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11377,#11373); -#19305=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11377,#11376); -#19306=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#11377,#11378); -#19307=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11420,#3753); -#19308=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#11420,#2429); -#19309=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11420,#11392); -#19310=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11420,#11401); -#19311=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11420,#11414); -#19312=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11420,#11417); -#19313=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#11420,#11419); -#19314=SHAPE_ASPECT_RELATIONSHIP('unrouted connectivity requirement',$,#11420,#11421); -#19315=NAME_ATTRIBUTE('',#624); -#19316=NAME_ATTRIBUTE('',#2057); -#19317=NAME_ATTRIBUTE('',#2749); -#19318=DOCUMENT('IPC-6016/C-1-1','',$,#14988); -#19319=DOCUMENT_PRODUCT_EQUIVALENCE('equivalence',$,#19318,#12828); -#19320=OBJECT_ROLE('requirement specification',$); -#19321=ROLE_ASSOCIATION(#19320,#12830); -#19322=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#160,#255); -#19323=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#126,#261); -#19324=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#130,#267); -#19325=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#172,#269); -#19326=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#169,#275); -#19327=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#116,#279); -#19328=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#157,#283); -#19329=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#121,#289); -#19330=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#165,#291); -#19331=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#106,#299); -#19332=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#181,#301); -#19333=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#142,#305); -#19334=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#175,#309); -#19335=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#151,#313); -#19336=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#178,#317); -#19337=SHAPE_ASPECT('',$,#230,.U.); -#19338=SHAPE_ASPECT('',$,#235,.U.); -#19339=SHAPE_ASPECT('',$,#240,.U.); -#19340=SHAPE_ASPECT('',$,#245,.U.); -#19341=SHAPE_ASPECT('',$,#250,.U.); -#19342=SHAPE_ASPECT('',$,#490,.U.); -#19343=SHAPE_ASPECT('',$,#2236,.U.); -#19344=SHAPE_ASPECT('',$,#2522,.U.); -#19345=PROPERTY_DEFINITION('','',#10198); -#19346=REPRESENTATION('',(#19348),#13406); -#19347=PROPERTY_DEFINITION_REPRESENTATION(#19345,#19346); -#19348=DESCRIPTIVE_REPRESENTATION_ITEM('feature of size','false'); -#19349=PROPERTY_DEFINITION('','',#10205); -#19350=REPRESENTATION('',(#19348),#13406); -#19351=PROPERTY_DEFINITION_REPRESENTATION(#19349,#19350); -#19352=PROPERTY_DEFINITION('','',#10213); -#19353=REPRESENTATION('',(#19348),#13406); -#19354=PROPERTY_DEFINITION_REPRESENTATION(#19352,#19353); -#19355=PROPERTY_DEFINITION('','',#10221); -#19356=REPRESENTATION('',(#19348),#13406); -#19357=PROPERTY_DEFINITION_REPRESENTATION(#19355,#19356); -#19358=PROPERTY_DEFINITION('','',#10229); -#19359=REPRESENTATION('',(#19348),#13406); -#19360=PROPERTY_DEFINITION_REPRESENTATION(#19358,#19359); -#19361=PROPERTY_DEFINITION('','',#10237); -#19362=REPRESENTATION('',(#19348),#13406); -#19363=PROPERTY_DEFINITION_REPRESENTATION(#19361,#19362); -#19364=PROPERTY_DEFINITION('','',#10245); -#19365=REPRESENTATION('',(#19348),#13406); -#19366=PROPERTY_DEFINITION_REPRESENTATION(#19364,#19365); -#19367=PROPERTY_DEFINITION('','',#10253); -#19368=REPRESENTATION('',(#19348),#13406); -#19369=PROPERTY_DEFINITION_REPRESENTATION(#19367,#19368); -#19370=PROPERTY_DEFINITION('','',#10266); -#19371=REPRESENTATION('',(#19348),#13406); -#19372=PROPERTY_DEFINITION_REPRESENTATION(#19370,#19371); -#19373=PROPERTY_DEFINITION('','',#10273); -#19374=REPRESENTATION('',(#19348),#13406); -#19375=PROPERTY_DEFINITION_REPRESENTATION(#19373,#19374); -#19376=PROPERTY_DEFINITION('','',#10281); -#19377=REPRESENTATION('',(#19348),#13406); -#19378=PROPERTY_DEFINITION_REPRESENTATION(#19376,#19377); -#19379=PROPERTY_DEFINITION('','',#10289); -#19380=REPRESENTATION('',(#19348),#13406); -#19381=PROPERTY_DEFINITION_REPRESENTATION(#19379,#19380); -#19382=PROPERTY_DEFINITION('','',#10297); -#19383=REPRESENTATION('',(#19348),#13406); -#19384=PROPERTY_DEFINITION_REPRESENTATION(#19382,#19383); -#19385=PROPERTY_DEFINITION('','',#10310); -#19386=REPRESENTATION('',(#19348),#13406); -#19387=PROPERTY_DEFINITION_REPRESENTATION(#19385,#19386); -#19388=PROPERTY_DEFINITION('','',#10317); -#19389=REPRESENTATION('',(#19348),#13406); -#19390=PROPERTY_DEFINITION_REPRESENTATION(#19388,#19389); -#19391=PROPERTY_DEFINITION('','',#10325); -#19392=REPRESENTATION('',(#19348),#13406); -#19393=PROPERTY_DEFINITION_REPRESENTATION(#19391,#19392); -#19394=PROPERTY_DEFINITION('','',#10338); -#19395=REPRESENTATION('',(#19348),#13406); -#19396=PROPERTY_DEFINITION_REPRESENTATION(#19394,#19395); -#19397=PROPERTY_DEFINITION('','',#10345); -#19398=REPRESENTATION('',(#19348),#13406); -#19399=PROPERTY_DEFINITION_REPRESENTATION(#19397,#19398); -#19400=PROPERTY_DEFINITION('','',#10353); -#19401=REPRESENTATION('',(#19348),#13406); -#19402=PROPERTY_DEFINITION_REPRESENTATION(#19400,#19401); -#19403=PROPERTY_DEFINITION('','',#11422); -#19404=REPRESENTATION('',(#13408),#13406); -#19405=PROPERTY_DEFINITION_REPRESENTATION(#19403,#19404); -#19406=PROPERTY_DEFINITION('','',#11423); -#19407=REPRESENTATION('',(#13408),#13406); -#19408=PROPERTY_DEFINITION_REPRESENTATION(#19406,#19407); -#19409=PROPERTY_DEFINITION('','',#11424); -#19410=REPRESENTATION('',(#13408),#13406); -#19411=PROPERTY_DEFINITION_REPRESENTATION(#19409,#19410); -#19412=PROPERTY_DEFINITION('','',#11425); -#19413=REPRESENTATION('',(#13408),#13406); -#19414=PROPERTY_DEFINITION_REPRESENTATION(#19412,#19413); -#19415=PROPERTY_DEFINITION('','',#11426); -#19416=REPRESENTATION('',(#13408),#13406); -#19417=PROPERTY_DEFINITION_REPRESENTATION(#19415,#19416); -#19418=PROPERTY_DEFINITION('','',#11427); -#19419=REPRESENTATION('',(#13408),#13406); -#19420=PROPERTY_DEFINITION_REPRESENTATION(#19418,#19419); -#19421=PROPERTY_DEFINITION('','',#11428); -#19422=REPRESENTATION('',(#13408),#13406); -#19423=PROPERTY_DEFINITION_REPRESENTATION(#19421,#19422); -#19424=PROPERTY_DEFINITION('','',#11429); -#19425=REPRESENTATION('',(#13408),#13406); -#19426=PROPERTY_DEFINITION_REPRESENTATION(#19424,#19425); -#19427=PROPERTY_DEFINITION('','',#11430); -#19428=REPRESENTATION('',(#13408),#13406); -#19429=PROPERTY_DEFINITION_REPRESENTATION(#19427,#19428); -#19430=PROPERTY_DEFINITION('','',#11431); -#19431=REPRESENTATION('',(#13408),#13406); -#19432=PROPERTY_DEFINITION_REPRESENTATION(#19430,#19431); -#19433=PROPERTY_DEFINITION('','',#11432); -#19434=REPRESENTATION('',(#13408),#13406); -#19435=PROPERTY_DEFINITION_REPRESENTATION(#19433,#19434); -#19436=PROPERTY_DEFINITION('','',#11433); -#19437=REPRESENTATION('',(#13408),#13406); -#19438=PROPERTY_DEFINITION_REPRESENTATION(#19436,#19437); -#19439=PROPERTY_DEFINITION('','',#11434); -#19440=REPRESENTATION('',(#13408),#13406); -#19441=PROPERTY_DEFINITION_REPRESENTATION(#19439,#19440); -#19442=PROPERTY_DEFINITION('','',#11435); -#19443=REPRESENTATION('',(#13408),#13406); -#19444=PROPERTY_DEFINITION_REPRESENTATION(#19442,#19443); -#19445=PROPERTY_DEFINITION('','',#11436); -#19446=REPRESENTATION('',(#13408),#13406); -#19447=PROPERTY_DEFINITION_REPRESENTATION(#19445,#19446); -#19448=PROPERTY_DEFINITION('','',#11437); -#19449=REPRESENTATION('',(#13408),#13406); -#19450=PROPERTY_DEFINITION_REPRESENTATION(#19448,#19449); -#19451=PROPERTY_DEFINITION('','',#11438); -#19452=REPRESENTATION('',(#13408),#13406); -#19453=PROPERTY_DEFINITION_REPRESENTATION(#19451,#19452); -#19454=PROPERTY_DEFINITION('','',#11439); -#19455=REPRESENTATION('',(#13408),#13406); -#19456=PROPERTY_DEFINITION_REPRESENTATION(#19454,#19455); -#19457=PROPERTY_DEFINITION('','',#11440); -#19458=REPRESENTATION('',(#13408),#13406); -#19459=PROPERTY_DEFINITION_REPRESENTATION(#19457,#19458); -#19460=PROPERTY_DEFINITION('','',#11441); -#19461=REPRESENTATION('',(#13408),#13406); -#19462=PROPERTY_DEFINITION_REPRESENTATION(#19460,#19461); -#19463=PROPERTY_DEFINITION('','',#11442); -#19464=REPRESENTATION('',(#13408),#13406); -#19465=PROPERTY_DEFINITION_REPRESENTATION(#19463,#19464); -#19466=PROPERTY_DEFINITION('','',#11443); -#19467=REPRESENTATION('',(#13408),#13406); -#19468=PROPERTY_DEFINITION_REPRESENTATION(#19466,#19467); -#19469=PROPERTY_DEFINITION('','',#11444); -#19470=REPRESENTATION('',(#13408),#13406); -#19471=PROPERTY_DEFINITION_REPRESENTATION(#19469,#19470); -#19472=PROPERTY_DEFINITION('','',#11445); -#19473=REPRESENTATION('',(#13408),#13406); -#19474=PROPERTY_DEFINITION_REPRESENTATION(#19472,#19473); -#19475=PROPERTY_DEFINITION('','',#11446); -#19476=REPRESENTATION('',(#13408),#13406); -#19477=PROPERTY_DEFINITION_REPRESENTATION(#19475,#19476); -#19478=PROPERTY_DEFINITION('','',#11447); -#19479=REPRESENTATION('',(#13408),#13406); -#19480=PROPERTY_DEFINITION_REPRESENTATION(#19478,#19479); -#19481=PROPERTY_DEFINITION('','',#11448); -#19482=REPRESENTATION('',(#13408),#13406); -#19483=PROPERTY_DEFINITION_REPRESENTATION(#19481,#19482); -#19484=PROPERTY_DEFINITION('','',#11449); -#19485=REPRESENTATION('',(#13408),#13406); -#19486=PROPERTY_DEFINITION_REPRESENTATION(#19484,#19485); -#19487=PROPERTY_DEFINITION('','',#11450); -#19488=REPRESENTATION('',(#13408),#13406); -#19489=PROPERTY_DEFINITION_REPRESENTATION(#19487,#19488); -#19490=PROPERTY_DEFINITION('','',#11451); -#19491=REPRESENTATION('',(#13408),#13406); -#19492=PROPERTY_DEFINITION_REPRESENTATION(#19490,#19491); -#19493=PROPERTY_DEFINITION('','',#11452); -#19494=REPRESENTATION('',(#13408),#13406); -#19495=PROPERTY_DEFINITION_REPRESENTATION(#19493,#19494); -#19496=PROPERTY_DEFINITION('','',#11453); -#19497=REPRESENTATION('',(#13408),#13406); -#19498=PROPERTY_DEFINITION_REPRESENTATION(#19496,#19497); -#19499=PROPERTY_DEFINITION('','',#11454); -#19500=REPRESENTATION('',(#13408),#13406); -#19501=PROPERTY_DEFINITION_REPRESENTATION(#19499,#19500); -#19502=PROPERTY_DEFINITION('','',#11455); -#19503=REPRESENTATION('',(#13408),#13406); -#19504=PROPERTY_DEFINITION_REPRESENTATION(#19502,#19503); -#19505=PROPERTY_DEFINITION('','',#11456); -#19506=REPRESENTATION('',(#13408),#13406); -#19507=PROPERTY_DEFINITION_REPRESENTATION(#19505,#19506); -#19508=PROPERTY_DEFINITION('','',#11457); -#19509=REPRESENTATION('',(#13408),#13406); -#19510=PROPERTY_DEFINITION_REPRESENTATION(#19508,#19509); -#19511=PROPERTY_DEFINITION('','',#11458); -#19512=REPRESENTATION('',(#13408),#13406); -#19513=PROPERTY_DEFINITION_REPRESENTATION(#19511,#19512); -#19514=PROPERTY_DEFINITION('','',#11459); -#19515=REPRESENTATION('',(#13408),#13406); -#19516=PROPERTY_DEFINITION_REPRESENTATION(#19514,#19515); -#19517=PROPERTY_DEFINITION('','',#11460); -#19518=REPRESENTATION('',(#13408),#13406); -#19519=PROPERTY_DEFINITION_REPRESENTATION(#19517,#19518); -#19520=PROPERTY_DEFINITION('','',#11461); -#19521=REPRESENTATION('',(#13408),#13406); -#19522=PROPERTY_DEFINITION_REPRESENTATION(#19520,#19521); -#19523=PROPERTY_DEFINITION('','',#11462); -#19524=REPRESENTATION('',(#13408),#13406); -#19525=PROPERTY_DEFINITION_REPRESENTATION(#19523,#19524); -#19526=PROPERTY_DEFINITION('','',#11463); -#19527=REPRESENTATION('',(#13408),#13406); -#19528=PROPERTY_DEFINITION_REPRESENTATION(#19526,#19527); -#19529=PROPERTY_DEFINITION('','',#11464); -#19530=REPRESENTATION('',(#13408),#13406); -#19531=PROPERTY_DEFINITION_REPRESENTATION(#19529,#19530); -#19532=PROPERTY_DEFINITION('','',#11465); -#19533=REPRESENTATION('',(#13408),#13406); -#19534=PROPERTY_DEFINITION_REPRESENTATION(#19532,#19533); -#19535=PROPERTY_DEFINITION('','',#11466); -#19536=REPRESENTATION('',(#13408),#13406); -#19537=PROPERTY_DEFINITION_REPRESENTATION(#19535,#19536); -#19538=PROPERTY_DEFINITION('','',#11467); -#19539=REPRESENTATION('',(#13408),#13406); -#19540=PROPERTY_DEFINITION_REPRESENTATION(#19538,#19539); -#19541=PROPERTY_DEFINITION('','',#11468); -#19542=REPRESENTATION('',(#13408),#13406); -#19543=PROPERTY_DEFINITION_REPRESENTATION(#19541,#19542); -#19544=PROPERTY_DEFINITION('','',#11469); -#19545=REPRESENTATION('',(#13408),#13406); -#19546=PROPERTY_DEFINITION_REPRESENTATION(#19544,#19545); -#19547=PROPERTY_DEFINITION('','',#11470); -#19548=REPRESENTATION('',(#13408),#13406); -#19549=PROPERTY_DEFINITION_REPRESENTATION(#19547,#19548); -#19550=PROPERTY_DEFINITION('','',#11471); -#19551=REPRESENTATION('',(#13408),#13406); -#19552=PROPERTY_DEFINITION_REPRESENTATION(#19550,#19551); -#19553=PROPERTY_DEFINITION('','',#11472); -#19554=REPRESENTATION('',(#13408),#13406); -#19555=PROPERTY_DEFINITION_REPRESENTATION(#19553,#19554); -#19556=PROPERTY_DEFINITION('','',#11473); -#19557=REPRESENTATION('',(#13408),#13406); -#19558=PROPERTY_DEFINITION_REPRESENTATION(#19556,#19557); -#19559=PROPERTY_DEFINITION('','',#11474); -#19560=REPRESENTATION('',(#13408),#13406); -#19561=PROPERTY_DEFINITION_REPRESENTATION(#19559,#19560); -#19562=PROPERTY_DEFINITION('','',#11475); -#19563=REPRESENTATION('',(#13408),#13406); -#19564=PROPERTY_DEFINITION_REPRESENTATION(#19562,#19563); -#19565=PROPERTY_DEFINITION('','',#11476); -#19566=REPRESENTATION('',(#13408),#13406); -#19567=PROPERTY_DEFINITION_REPRESENTATION(#19565,#19566); -#19568=PROPERTY_DEFINITION('','',#11477); -#19569=REPRESENTATION('',(#13408),#13406); -#19570=PROPERTY_DEFINITION_REPRESENTATION(#19568,#19569); -#19571=PROPERTY_DEFINITION('','',#11478); -#19572=REPRESENTATION('',(#13408),#13406); -#19573=PROPERTY_DEFINITION_REPRESENTATION(#19571,#19572); -#19574=PROPERTY_DEFINITION('','',#11479); -#19575=REPRESENTATION('',(#13408),#13406); -#19576=PROPERTY_DEFINITION_REPRESENTATION(#19574,#19575); -#19577=PROPERTY_DEFINITION('','',#11480); -#19578=REPRESENTATION('',(#13408),#13406); -#19579=PROPERTY_DEFINITION_REPRESENTATION(#19577,#19578); -#19580=PROPERTY_DEFINITION('','',#11481); -#19581=REPRESENTATION('',(#13408),#13406); -#19582=PROPERTY_DEFINITION_REPRESENTATION(#19580,#19581); -#19583=PROPERTY_DEFINITION('','',#11482); -#19584=REPRESENTATION('',(#13408),#13406); -#19585=PROPERTY_DEFINITION_REPRESENTATION(#19583,#19584); -#19586=PROPERTY_DEFINITION('','',#11483); -#19587=REPRESENTATION('',(#13408),#13406); -#19588=PROPERTY_DEFINITION_REPRESENTATION(#19586,#19587); -#19589=PROPERTY_DEFINITION('','',#11484); -#19590=REPRESENTATION('',(#13408),#13406); -#19591=PROPERTY_DEFINITION_REPRESENTATION(#19589,#19590); -#19592=PROPERTY_DEFINITION('','',#11485); -#19593=REPRESENTATION('',(#13408),#13406); -#19594=PROPERTY_DEFINITION_REPRESENTATION(#19592,#19593); -#19595=PROPERTY_DEFINITION('','',#11486); -#19596=REPRESENTATION('',(#13408),#13406); -#19597=PROPERTY_DEFINITION_REPRESENTATION(#19595,#19596); -#19598=PROPERTY_DEFINITION('','',#11487); -#19599=REPRESENTATION('',(#13408),#13406); -#19600=PROPERTY_DEFINITION_REPRESENTATION(#19598,#19599); -#19601=PROPERTY_DEFINITION('','',#11488); -#19602=REPRESENTATION('',(#13408),#13406); -#19603=PROPERTY_DEFINITION_REPRESENTATION(#19601,#19602); -#19604=PROPERTY_DEFINITION('','',#11489); -#19605=REPRESENTATION('',(#13408),#13406); -#19606=PROPERTY_DEFINITION_REPRESENTATION(#19604,#19605); -#19607=PROPERTY_DEFINITION('','',#11490); -#19608=REPRESENTATION('',(#13408),#13406); -#19609=PROPERTY_DEFINITION_REPRESENTATION(#19607,#19608); -#19610=PROPERTY_DEFINITION('','',#11491); -#19611=REPRESENTATION('',(#13408),#13406); -#19612=PROPERTY_DEFINITION_REPRESENTATION(#19610,#19611); -#19613=PROPERTY_DEFINITION('','',#11492); -#19614=REPRESENTATION('',(#13408),#13406); -#19615=PROPERTY_DEFINITION_REPRESENTATION(#19613,#19614); -#19616=PROPERTY_DEFINITION('','',#11493); -#19617=REPRESENTATION('',(#13408),#13406); -#19618=PROPERTY_DEFINITION_REPRESENTATION(#19616,#19617); -#19619=PROPERTY_DEFINITION('','',#11494); -#19620=REPRESENTATION('',(#13408),#13406); -#19621=PROPERTY_DEFINITION_REPRESENTATION(#19619,#19620); -#19622=PROPERTY_DEFINITION('','',#11495); -#19623=REPRESENTATION('',(#13408),#13406); -#19624=PROPERTY_DEFINITION_REPRESENTATION(#19622,#19623); -#19625=PROPERTY_DEFINITION('','',#11496); -#19626=REPRESENTATION('',(#13408),#13406); -#19627=PROPERTY_DEFINITION_REPRESENTATION(#19625,#19626); -#19628=PROPERTY_DEFINITION('','',#11497); -#19629=REPRESENTATION('',(#13408),#13406); -#19630=PROPERTY_DEFINITION_REPRESENTATION(#19628,#19629); -#19631=PROPERTY_DEFINITION('','',#11498); -#19632=REPRESENTATION('',(#13408),#13406); -#19633=PROPERTY_DEFINITION_REPRESENTATION(#19631,#19632); -#19634=PROPERTY_DEFINITION('','',#11499); -#19635=REPRESENTATION('',(#13408),#13406); -#19636=PROPERTY_DEFINITION_REPRESENTATION(#19634,#19635); -#19637=PROPERTY_DEFINITION('','',#11500); -#19638=REPRESENTATION('',(#13408),#13406); -#19639=PROPERTY_DEFINITION_REPRESENTATION(#19637,#19638); -#19640=PROPERTY_DEFINITION('','',#11501); -#19641=REPRESENTATION('',(#13408),#13406); -#19642=PROPERTY_DEFINITION_REPRESENTATION(#19640,#19641); -#19643=PROPERTY_DEFINITION('','',#11502); -#19644=REPRESENTATION('',(#13408),#13406); -#19645=PROPERTY_DEFINITION_REPRESENTATION(#19643,#19644); -#19646=PROPERTY_DEFINITION('','',#11503); -#19647=REPRESENTATION('',(#13408),#13406); -#19648=PROPERTY_DEFINITION_REPRESENTATION(#19646,#19647); -#19649=PROPERTY_DEFINITION('','',#11504); -#19650=REPRESENTATION('',(#13408),#13406); -#19651=PROPERTY_DEFINITION_REPRESENTATION(#19649,#19650); -#19652=PROPERTY_DEFINITION('','',#11505); -#19653=REPRESENTATION('',(#13408),#13406); -#19654=PROPERTY_DEFINITION_REPRESENTATION(#19652,#19653); -#19655=PROPERTY_DEFINITION('','',#11506); -#19656=REPRESENTATION('',(#13408),#13406); -#19657=PROPERTY_DEFINITION_REPRESENTATION(#19655,#19656); -#19658=PROPERTY_DEFINITION('','',#11507); -#19659=REPRESENTATION('',(#13408),#13406); -#19660=PROPERTY_DEFINITION_REPRESENTATION(#19658,#19659); -#19661=PROPERTY_DEFINITION('','',#11508); -#19662=REPRESENTATION('',(#13408),#13406); -#19663=PROPERTY_DEFINITION_REPRESENTATION(#19661,#19662); -#19664=PROPERTY_DEFINITION('','',#11509); -#19665=REPRESENTATION('',(#13408),#13406); -#19666=PROPERTY_DEFINITION_REPRESENTATION(#19664,#19665); -#19667=PROPERTY_DEFINITION('','',#11510); -#19668=REPRESENTATION('',(#13408),#13406); -#19669=PROPERTY_DEFINITION_REPRESENTATION(#19667,#19668); -#19670=PROPERTY_DEFINITION('','',#11511); -#19671=REPRESENTATION('',(#13408),#13406); -#19672=PROPERTY_DEFINITION_REPRESENTATION(#19670,#19671); -#19673=PROPERTY_DEFINITION('','',#11512); -#19674=REPRESENTATION('',(#13408),#13406); -#19675=PROPERTY_DEFINITION_REPRESENTATION(#19673,#19674); -#19676=PROPERTY_DEFINITION('','',#11513); -#19677=REPRESENTATION('',(#13408),#13406); -#19678=PROPERTY_DEFINITION_REPRESENTATION(#19676,#19677); -#19679=PROPERTY_DEFINITION('','',#11514); -#19680=REPRESENTATION('',(#13408),#13406); -#19681=PROPERTY_DEFINITION_REPRESENTATION(#19679,#19680); -#19682=PROPERTY_DEFINITION('','',#11515); -#19683=REPRESENTATION('',(#13408),#13406); -#19684=PROPERTY_DEFINITION_REPRESENTATION(#19682,#19683); -#19685=PROPERTY_DEFINITION('','',#11516); -#19686=REPRESENTATION('',(#13408),#13406); -#19687=PROPERTY_DEFINITION_REPRESENTATION(#19685,#19686); -#19688=PROPERTY_DEFINITION('','',#11517); -#19689=REPRESENTATION('',(#13408),#13406); -#19690=PROPERTY_DEFINITION_REPRESENTATION(#19688,#19689); -#19691=PROPERTY_DEFINITION('','',#11518); -#19692=REPRESENTATION('',(#13408),#13406); -#19693=PROPERTY_DEFINITION_REPRESENTATION(#19691,#19692); -#19694=PROPERTY_DEFINITION('','',#11519); -#19695=REPRESENTATION('',(#13408),#13406); -#19696=PROPERTY_DEFINITION_REPRESENTATION(#19694,#19695); -#19697=PROPERTY_DEFINITION('','',#11520); -#19698=REPRESENTATION('',(#13408),#13406); -#19699=PROPERTY_DEFINITION_REPRESENTATION(#19697,#19698); -#19700=PROPERTY_DEFINITION('','',#11521); -#19701=REPRESENTATION('',(#13408),#13406); -#19702=PROPERTY_DEFINITION_REPRESENTATION(#19700,#19701); -#19703=PROPERTY_DEFINITION('','',#11522); -#19704=REPRESENTATION('',(#13408),#13406); -#19705=PROPERTY_DEFINITION_REPRESENTATION(#19703,#19704); -#19706=PROPERTY_DEFINITION('','',#11523); -#19707=REPRESENTATION('',(#13408),#13406); -#19708=PROPERTY_DEFINITION_REPRESENTATION(#19706,#19707); -#19709=PROPERTY_DEFINITION('','',#11524); -#19710=REPRESENTATION('',(#13408),#13406); -#19711=PROPERTY_DEFINITION_REPRESENTATION(#19709,#19710); -#19712=PROPERTY_DEFINITION('','',#11525); -#19713=REPRESENTATION('',(#13408),#13406); -#19714=PROPERTY_DEFINITION_REPRESENTATION(#19712,#19713); -#19715=PROPERTY_DEFINITION('','',#11526); -#19716=REPRESENTATION('',(#13408),#13406); -#19717=PROPERTY_DEFINITION_REPRESENTATION(#19715,#19716); -#19718=PROPERTY_DEFINITION('','',#11527); -#19719=REPRESENTATION('',(#13408),#13406); -#19720=PROPERTY_DEFINITION_REPRESENTATION(#19718,#19719); -#19721=PROPERTY_DEFINITION('','',#11528); -#19722=REPRESENTATION('',(#13408),#13406); -#19723=PROPERTY_DEFINITION_REPRESENTATION(#19721,#19722); -#19724=PROPERTY_DEFINITION('','',#11529); -#19725=REPRESENTATION('',(#13408),#13406); -#19726=PROPERTY_DEFINITION_REPRESENTATION(#19724,#19725); -#19727=PROPERTY_DEFINITION('','',#11530); -#19728=REPRESENTATION('',(#13408),#13406); -#19729=PROPERTY_DEFINITION_REPRESENTATION(#19727,#19728); -#19730=PROPERTY_DEFINITION('','',#11531); -#19731=REPRESENTATION('',(#13408),#13406); -#19732=PROPERTY_DEFINITION_REPRESENTATION(#19730,#19731); -#19733=PROPERTY_DEFINITION('','',#11532); -#19734=REPRESENTATION('',(#13408),#13406); -#19735=PROPERTY_DEFINITION_REPRESENTATION(#19733,#19734); -#19736=PROPERTY_DEFINITION('','',#11533); -#19737=REPRESENTATION('',(#13408),#13406); -#19738=PROPERTY_DEFINITION_REPRESENTATION(#19736,#19737); -#19739=PROPERTY_DEFINITION('','',#11534); -#19740=REPRESENTATION('',(#13408),#13406); -#19741=PROPERTY_DEFINITION_REPRESENTATION(#19739,#19740); -#19742=PROPERTY_DEFINITION('','',#11535); -#19743=REPRESENTATION('',(#13408),#13406); -#19744=PROPERTY_DEFINITION_REPRESENTATION(#19742,#19743); -#19745=PROPERTY_DEFINITION('','',#11536); -#19746=REPRESENTATION('',(#13408),#13406); -#19747=PROPERTY_DEFINITION_REPRESENTATION(#19745,#19746); -#19748=PROPERTY_DEFINITION('','',#11537); -#19749=REPRESENTATION('',(#13408),#13406); -#19750=PROPERTY_DEFINITION_REPRESENTATION(#19748,#19749); -#19751=PROPERTY_DEFINITION('','',#11538); -#19752=REPRESENTATION('',(#13408),#13406); -#19753=PROPERTY_DEFINITION_REPRESENTATION(#19751,#19752); -#19754=PROPERTY_DEFINITION('','',#11539); -#19755=REPRESENTATION('',(#13408),#13406); -#19756=PROPERTY_DEFINITION_REPRESENTATION(#19754,#19755); -#19757=PROPERTY_DEFINITION('','',#11540); -#19758=REPRESENTATION('',(#13408),#13406); -#19759=PROPERTY_DEFINITION_REPRESENTATION(#19757,#19758); -#19760=PROPERTY_DEFINITION('','',#11541); -#19761=REPRESENTATION('',(#13408),#13406); -#19762=PROPERTY_DEFINITION_REPRESENTATION(#19760,#19761); -#19763=PROPERTY_DEFINITION('','',#11542); -#19764=REPRESENTATION('',(#13408),#13406); -#19765=PROPERTY_DEFINITION_REPRESENTATION(#19763,#19764); -#19766=PROPERTY_DEFINITION('','',#11543); -#19767=REPRESENTATION('',(#13408),#13406); -#19768=PROPERTY_DEFINITION_REPRESENTATION(#19766,#19767); -#19769=PROPERTY_DEFINITION('','',#11544); -#19770=REPRESENTATION('',(#13408),#13406); -#19771=PROPERTY_DEFINITION_REPRESENTATION(#19769,#19770); -#19772=PROPERTY_DEFINITION('','',#11545); -#19773=REPRESENTATION('',(#13408),#13406); -#19774=PROPERTY_DEFINITION_REPRESENTATION(#19772,#19773); -#19775=PROPERTY_DEFINITION('','',#11546); -#19776=REPRESENTATION('',(#13408),#13406); -#19777=PROPERTY_DEFINITION_REPRESENTATION(#19775,#19776); -#19778=PROPERTY_DEFINITION('','',#11547); -#19779=REPRESENTATION('',(#13408),#13406); -#19780=PROPERTY_DEFINITION_REPRESENTATION(#19778,#19779); -#19781=PROPERTY_DEFINITION('','',#11548); -#19782=REPRESENTATION('',(#13408),#13406); -#19783=PROPERTY_DEFINITION_REPRESENTATION(#19781,#19782); -#19784=PROPERTY_DEFINITION('','',#11549); -#19785=REPRESENTATION('',(#13408),#13406); -#19786=PROPERTY_DEFINITION_REPRESENTATION(#19784,#19785); -#19787=PROPERTY_DEFINITION('','',#11550); -#19788=REPRESENTATION('',(#13408),#13406); -#19789=PROPERTY_DEFINITION_REPRESENTATION(#19787,#19788); -#19790=PROPERTY_DEFINITION('','',#11551); -#19791=REPRESENTATION('',(#13408),#13406); -#19792=PROPERTY_DEFINITION_REPRESENTATION(#19790,#19791); -#19793=PROPERTY_DEFINITION('','',#11552); -#19794=REPRESENTATION('',(#13408),#13406); -#19795=PROPERTY_DEFINITION_REPRESENTATION(#19793,#19794); -#19796=PROPERTY_DEFINITION('','',#11553); -#19797=REPRESENTATION('',(#13408),#13406); -#19798=PROPERTY_DEFINITION_REPRESENTATION(#19796,#19797); -#19799=PROPERTY_DEFINITION('','',#11554); -#19800=REPRESENTATION('',(#13408),#13406); -#19801=PROPERTY_DEFINITION_REPRESENTATION(#19799,#19800); -#19802=PROPERTY_DEFINITION('','',#11555); -#19803=REPRESENTATION('',(#13408),#13406); -#19804=PROPERTY_DEFINITION_REPRESENTATION(#19802,#19803); -#19805=PROPERTY_DEFINITION('','',#11556); -#19806=REPRESENTATION('',(#13408),#13406); -#19807=PROPERTY_DEFINITION_REPRESENTATION(#19805,#19806); -#19808=PROPERTY_DEFINITION('','',#11557); -#19809=REPRESENTATION('',(#13408),#13406); -#19810=PROPERTY_DEFINITION_REPRESENTATION(#19808,#19809); -#19811=PROPERTY_DEFINITION('','',#11558); -#19812=REPRESENTATION('',(#13408),#13406); -#19813=PROPERTY_DEFINITION_REPRESENTATION(#19811,#19812); -#19814=PROPERTY_DEFINITION('','',#11559); -#19815=REPRESENTATION('',(#13408),#13406); -#19816=PROPERTY_DEFINITION_REPRESENTATION(#19814,#19815); -#19817=PROPERTY_DEFINITION('','',#11560); -#19818=REPRESENTATION('',(#13408),#13406); -#19819=PROPERTY_DEFINITION_REPRESENTATION(#19817,#19818); -#19820=PROPERTY_DEFINITION('','',#11561); -#19821=REPRESENTATION('',(#13408),#13406); -#19822=PROPERTY_DEFINITION_REPRESENTATION(#19820,#19821); -#19823=PROPERTY_DEFINITION('','',#11562); -#19824=REPRESENTATION('',(#13408),#13406); -#19825=PROPERTY_DEFINITION_REPRESENTATION(#19823,#19824); -#19826=PROPERTY_DEFINITION('','',#11563); -#19827=REPRESENTATION('',(#13408),#13406); -#19828=PROPERTY_DEFINITION_REPRESENTATION(#19826,#19827); -#19829=PROPERTY_DEFINITION('','',#11564); -#19830=REPRESENTATION('',(#13408),#13406); -#19831=PROPERTY_DEFINITION_REPRESENTATION(#19829,#19830); -#19832=PROPERTY_DEFINITION('','',#11565); -#19833=REPRESENTATION('',(#13408),#13406); -#19834=PROPERTY_DEFINITION_REPRESENTATION(#19832,#19833); -#19835=PROPERTY_DEFINITION('','',#11566); -#19836=REPRESENTATION('',(#13408),#13406); -#19837=PROPERTY_DEFINITION_REPRESENTATION(#19835,#19836); -#19838=PROPERTY_DEFINITION('','',#11567); -#19839=REPRESENTATION('',(#13408),#13406); -#19840=PROPERTY_DEFINITION_REPRESENTATION(#19838,#19839); -#19841=PROPERTY_DEFINITION('','',#11568); -#19842=REPRESENTATION('',(#13408),#13406); -#19843=PROPERTY_DEFINITION_REPRESENTATION(#19841,#19842); -#19844=PROPERTY_DEFINITION('','',#11569); -#19845=REPRESENTATION('',(#13408),#13406); -#19846=PROPERTY_DEFINITION_REPRESENTATION(#19844,#19845); -#19847=PROPERTY_DEFINITION('','',#11570); -#19848=REPRESENTATION('',(#13408),#13406); -#19849=PROPERTY_DEFINITION_REPRESENTATION(#19847,#19848); -#19850=PROPERTY_DEFINITION('','',#11571); -#19851=REPRESENTATION('',(#13408),#13406); -#19852=PROPERTY_DEFINITION_REPRESENTATION(#19850,#19851); -#19853=PROPERTY_DEFINITION('','',#11572); -#19854=REPRESENTATION('',(#13408),#13406); -#19855=PROPERTY_DEFINITION_REPRESENTATION(#19853,#19854); -#19856=PROPERTY_DEFINITION('','',#11573); -#19857=REPRESENTATION('',(#13408),#13406); -#19858=PROPERTY_DEFINITION_REPRESENTATION(#19856,#19857); -#19859=PROPERTY_DEFINITION('','',#11574); -#19860=REPRESENTATION('',(#13408),#13406); -#19861=PROPERTY_DEFINITION_REPRESENTATION(#19859,#19860); -#19862=PROPERTY_DEFINITION('','',#11575); -#19863=REPRESENTATION('',(#13408),#13406); -#19864=PROPERTY_DEFINITION_REPRESENTATION(#19862,#19863); -#19865=PROPERTY_DEFINITION('','',#11576); -#19866=REPRESENTATION('',(#13408),#13406); -#19867=PROPERTY_DEFINITION_REPRESENTATION(#19865,#19866); -#19868=PROPERTY_DEFINITION('','',#11577); -#19869=REPRESENTATION('',(#13408),#13406); -#19870=PROPERTY_DEFINITION_REPRESENTATION(#19868,#19869); -#19871=PROPERTY_DEFINITION('','',#11578); -#19872=REPRESENTATION('',(#13408),#13406); -#19873=PROPERTY_DEFINITION_REPRESENTATION(#19871,#19872); -#19874=PROPERTY_DEFINITION('','',#11579); -#19875=REPRESENTATION('',(#13408),#13406); -#19876=PROPERTY_DEFINITION_REPRESENTATION(#19874,#19875); -#19877=PROPERTY_DEFINITION('','',#11580); -#19878=REPRESENTATION('',(#13408),#13406); -#19879=PROPERTY_DEFINITION_REPRESENTATION(#19877,#19878); -#19880=PROPERTY_DEFINITION('','',#11581); -#19881=REPRESENTATION('',(#13408),#13406); -#19882=PROPERTY_DEFINITION_REPRESENTATION(#19880,#19881); -#19883=PROPERTY_DEFINITION('','',#11582); -#19884=REPRESENTATION('',(#13408),#13406); -#19885=PROPERTY_DEFINITION_REPRESENTATION(#19883,#19884); -#19886=PROPERTY_DEFINITION('','',#11583); -#19887=REPRESENTATION('',(#13408),#13406); -#19888=PROPERTY_DEFINITION_REPRESENTATION(#19886,#19887); -#19889=PROPERTY_DEFINITION('','',#11584); -#19890=REPRESENTATION('',(#13408),#13406); -#19891=PROPERTY_DEFINITION_REPRESENTATION(#19889,#19890); -#19892=PROPERTY_DEFINITION('','',#11585); -#19893=REPRESENTATION('',(#13408),#13406); -#19894=PROPERTY_DEFINITION_REPRESENTATION(#19892,#19893); -#19895=PROPERTY_DEFINITION('','',#11586); -#19896=REPRESENTATION('',(#13408),#13406); -#19897=PROPERTY_DEFINITION_REPRESENTATION(#19895,#19896); -#19898=PROPERTY_DEFINITION('','',#11587); -#19899=REPRESENTATION('',(#13408),#13406); -#19900=PROPERTY_DEFINITION_REPRESENTATION(#19898,#19899); -#19901=PROPERTY_DEFINITION('','',#11588); -#19902=REPRESENTATION('',(#13408),#13406); -#19903=PROPERTY_DEFINITION_REPRESENTATION(#19901,#19902); -#19904=PROPERTY_DEFINITION('','',#11589); -#19905=REPRESENTATION('',(#13408),#13406); -#19906=PROPERTY_DEFINITION_REPRESENTATION(#19904,#19905); -#19907=PROPERTY_DEFINITION('','',#11590); -#19908=REPRESENTATION('',(#13408),#13406); -#19909=PROPERTY_DEFINITION_REPRESENTATION(#19907,#19908); -#19910=PROPERTY_DEFINITION('','',#11591); -#19911=REPRESENTATION('',(#13408),#13406); -#19912=PROPERTY_DEFINITION_REPRESENTATION(#19910,#19911); -#19913=PROPERTY_DEFINITION('','',#11592); -#19914=REPRESENTATION('',(#13408),#13406); -#19915=PROPERTY_DEFINITION_REPRESENTATION(#19913,#19914); -#19916=PROPERTY_DEFINITION('','',#11593); -#19917=REPRESENTATION('',(#13408),#13406); -#19918=PROPERTY_DEFINITION_REPRESENTATION(#19916,#19917); -#19919=PROPERTY_DEFINITION('','',#11594); -#19920=REPRESENTATION('',(#13408),#13406); -#19921=PROPERTY_DEFINITION_REPRESENTATION(#19919,#19920); -#19922=PROPERTY_DEFINITION('','',#11595); -#19923=REPRESENTATION('',(#13408),#13406); -#19924=PROPERTY_DEFINITION_REPRESENTATION(#19922,#19923); -#19925=PROPERTY_DEFINITION('','',#11596); -#19926=REPRESENTATION('',(#13408),#13406); -#19927=PROPERTY_DEFINITION_REPRESENTATION(#19925,#19926); -#19928=PROPERTY_DEFINITION('','',#11597); -#19929=REPRESENTATION('',(#13408),#13406); -#19930=PROPERTY_DEFINITION_REPRESENTATION(#19928,#19929); -#19931=PROPERTY_DEFINITION('','',#11598); -#19932=REPRESENTATION('',(#13408),#13406); -#19933=PROPERTY_DEFINITION_REPRESENTATION(#19931,#19932); -#19934=PROPERTY_DEFINITION('','',#11599); -#19935=REPRESENTATION('',(#13408),#13406); -#19936=PROPERTY_DEFINITION_REPRESENTATION(#19934,#19935); -#19937=PROPERTY_DEFINITION('','',#11600); -#19938=REPRESENTATION('',(#13408),#13406); -#19939=PROPERTY_DEFINITION_REPRESENTATION(#19937,#19938); -#19940=PROPERTY_DEFINITION('','',#11601); -#19941=REPRESENTATION('',(#13408),#13406); -#19942=PROPERTY_DEFINITION_REPRESENTATION(#19940,#19941); -#19943=PROPERTY_DEFINITION('','',#11602); -#19944=REPRESENTATION('',(#13408),#13406); -#19945=PROPERTY_DEFINITION_REPRESENTATION(#19943,#19944); -#19946=PROPERTY_DEFINITION('','',#11603); -#19947=REPRESENTATION('',(#13408),#13406); -#19948=PROPERTY_DEFINITION_REPRESENTATION(#19946,#19947); -#19949=PROPERTY_DEFINITION('','',#11604); -#19950=REPRESENTATION('',(#13408),#13406); -#19951=PROPERTY_DEFINITION_REPRESENTATION(#19949,#19950); -#19952=PROPERTY_DEFINITION('','',#11605); -#19953=REPRESENTATION('',(#13408),#13406); -#19954=PROPERTY_DEFINITION_REPRESENTATION(#19952,#19953); -#19955=PROPERTY_DEFINITION('','',#11606); -#19956=REPRESENTATION('',(#13408),#13406); -#19957=PROPERTY_DEFINITION_REPRESENTATION(#19955,#19956); -#19958=PROPERTY_DEFINITION('','',#11607); -#19959=REPRESENTATION('',(#13408),#13406); -#19960=PROPERTY_DEFINITION_REPRESENTATION(#19958,#19959); -#19961=PROPERTY_DEFINITION('','',#11608); -#19962=REPRESENTATION('',(#13408),#13406); -#19963=PROPERTY_DEFINITION_REPRESENTATION(#19961,#19962); -#19964=PROPERTY_DEFINITION('','',#11609); -#19965=REPRESENTATION('',(#13408),#13406); -#19966=PROPERTY_DEFINITION_REPRESENTATION(#19964,#19965); -#19967=PROPERTY_DEFINITION('','',#11610); -#19968=REPRESENTATION('',(#13408),#13406); -#19969=PROPERTY_DEFINITION_REPRESENTATION(#19967,#19968); -#19970=PROPERTY_DEFINITION('','',#11611); -#19971=REPRESENTATION('',(#13408),#13406); -#19972=PROPERTY_DEFINITION_REPRESENTATION(#19970,#19971); -#19973=PROPERTY_DEFINITION('','',#11612); -#19974=REPRESENTATION('',(#13408),#13406); -#19975=PROPERTY_DEFINITION_REPRESENTATION(#19973,#19974); -#19976=PROPERTY_DEFINITION('','',#11613); -#19977=REPRESENTATION('',(#13408),#13406); -#19978=PROPERTY_DEFINITION_REPRESENTATION(#19976,#19977); -#19979=PROPERTY_DEFINITION('','',#11614); -#19980=REPRESENTATION('',(#13408),#13406); -#19981=PROPERTY_DEFINITION_REPRESENTATION(#19979,#19980); -#19982=PROPERTY_DEFINITION('','',#11615); -#19983=REPRESENTATION('',(#13408),#13406); -#19984=PROPERTY_DEFINITION_REPRESENTATION(#19982,#19983); -#19985=PROPERTY_DEFINITION('','',#11616); -#19986=REPRESENTATION('',(#13408),#13406); -#19987=PROPERTY_DEFINITION_REPRESENTATION(#19985,#19986); -#19988=PROPERTY_DEFINITION('','',#11617); -#19989=REPRESENTATION('',(#13408),#13406); -#19990=PROPERTY_DEFINITION_REPRESENTATION(#19988,#19989); -#19991=PROPERTY_DEFINITION('','',#11618); -#19992=REPRESENTATION('',(#13408),#13406); -#19993=PROPERTY_DEFINITION_REPRESENTATION(#19991,#19992); -#19994=PROPERTY_DEFINITION('','',#11619); -#19995=REPRESENTATION('',(#13408),#13406); -#19996=PROPERTY_DEFINITION_REPRESENTATION(#19994,#19995); -#19997=PROPERTY_DEFINITION('','',#11620); -#19998=REPRESENTATION('',(#13408),#13406); -#19999=PROPERTY_DEFINITION_REPRESENTATION(#19997,#19998); -#20000=PROPERTY_DEFINITION('','',#11621); -#20001=REPRESENTATION('',(#13408),#13406); -#20002=PROPERTY_DEFINITION_REPRESENTATION(#20000,#20001); -#20003=PROPERTY_DEFINITION('','',#11622); -#20004=REPRESENTATION('',(#13408),#13406); -#20005=PROPERTY_DEFINITION_REPRESENTATION(#20003,#20004); -#20006=PROPERTY_DEFINITION('','',#11623); -#20007=REPRESENTATION('',(#13408),#13406); -#20008=PROPERTY_DEFINITION_REPRESENTATION(#20006,#20007); -#20009=PROPERTY_DEFINITION('','',#11624); -#20010=REPRESENTATION('',(#13408),#13406); -#20011=PROPERTY_DEFINITION_REPRESENTATION(#20009,#20010); -#20012=PROPERTY_DEFINITION('','',#11625); -#20013=REPRESENTATION('',(#13408),#13406); -#20014=PROPERTY_DEFINITION_REPRESENTATION(#20012,#20013); -#20015=PROPERTY_DEFINITION('','',#11626); -#20016=REPRESENTATION('',(#13408),#13406); -#20017=PROPERTY_DEFINITION_REPRESENTATION(#20015,#20016); -#20018=PROPERTY_DEFINITION('','',#11627); -#20019=REPRESENTATION('',(#13408),#13406); -#20020=PROPERTY_DEFINITION_REPRESENTATION(#20018,#20019); -#20021=PROPERTY_DEFINITION('','',#11628); -#20022=REPRESENTATION('',(#13408),#13406); -#20023=PROPERTY_DEFINITION_REPRESENTATION(#20021,#20022); -#20024=PROPERTY_DEFINITION('','',#11629); -#20025=REPRESENTATION('',(#13408),#13406); -#20026=PROPERTY_DEFINITION_REPRESENTATION(#20024,#20025); -#20027=PROPERTY_DEFINITION('','',#11630); -#20028=REPRESENTATION('',(#13408),#13406); -#20029=PROPERTY_DEFINITION_REPRESENTATION(#20027,#20028); -#20030=PROPERTY_DEFINITION('','',#11631); -#20031=REPRESENTATION('',(#13408),#13406); -#20032=PROPERTY_DEFINITION_REPRESENTATION(#20030,#20031); -#20033=PROPERTY_DEFINITION('','',#11632); -#20034=REPRESENTATION('',(#13408),#13406); -#20035=PROPERTY_DEFINITION_REPRESENTATION(#20033,#20034); -#20036=PROPERTY_DEFINITION('','',#11633); -#20037=REPRESENTATION('',(#13408),#13406); -#20038=PROPERTY_DEFINITION_REPRESENTATION(#20036,#20037); -#20039=PROPERTY_DEFINITION('','',#11634); -#20040=REPRESENTATION('',(#13408),#13406); -#20041=PROPERTY_DEFINITION_REPRESENTATION(#20039,#20040); -#20042=PROPERTY_DEFINITION('','',#11635); -#20043=REPRESENTATION('',(#13408),#13406); -#20044=PROPERTY_DEFINITION_REPRESENTATION(#20042,#20043); -#20045=PROPERTY_DEFINITION('','',#11636); -#20046=REPRESENTATION('',(#13408),#13406); -#20047=PROPERTY_DEFINITION_REPRESENTATION(#20045,#20046); -#20048=PROPERTY_DEFINITION('','',#11637); -#20049=REPRESENTATION('',(#13408),#13406); -#20050=PROPERTY_DEFINITION_REPRESENTATION(#20048,#20049); -#20051=PROPERTY_DEFINITION('','',#11638); -#20052=REPRESENTATION('',(#13408),#13406); -#20053=PROPERTY_DEFINITION_REPRESENTATION(#20051,#20052); -#20054=PROPERTY_DEFINITION('','',#11639); -#20055=REPRESENTATION('',(#13408),#13406); -#20056=PROPERTY_DEFINITION_REPRESENTATION(#20054,#20055); -#20057=PROPERTY_DEFINITION('','',#11640); -#20058=REPRESENTATION('',(#13408),#13406); -#20059=PROPERTY_DEFINITION_REPRESENTATION(#20057,#20058); -#20060=PROPERTY_DEFINITION('','',#11641); -#20061=REPRESENTATION('',(#13408),#13406); -#20062=PROPERTY_DEFINITION_REPRESENTATION(#20060,#20061); -#20063=PROPERTY_DEFINITION('','',#11642); -#20064=REPRESENTATION('',(#13408),#13406); -#20065=PROPERTY_DEFINITION_REPRESENTATION(#20063,#20064); -#20066=PROPERTY_DEFINITION('','',#11643); -#20067=REPRESENTATION('',(#13408),#13406); -#20068=PROPERTY_DEFINITION_REPRESENTATION(#20066,#20067); -#20069=PROPERTY_DEFINITION('','',#11644); -#20070=REPRESENTATION('',(#13408),#13406); -#20071=PROPERTY_DEFINITION_REPRESENTATION(#20069,#20070); -#20072=PROPERTY_DEFINITION('','',#11645); -#20073=REPRESENTATION('',(#13408),#13406); -#20074=PROPERTY_DEFINITION_REPRESENTATION(#20072,#20073); -#20075=PROPERTY_DEFINITION('','',#11646); -#20076=REPRESENTATION('',(#13408),#13406); -#20077=PROPERTY_DEFINITION_REPRESENTATION(#20075,#20076); -#20078=PROPERTY_DEFINITION('','',#11647); -#20079=REPRESENTATION('',(#13408),#13406); -#20080=PROPERTY_DEFINITION_REPRESENTATION(#20078,#20079); -#20081=PROPERTY_DEFINITION('','',#11648); -#20082=REPRESENTATION('',(#13408),#13406); -#20083=PROPERTY_DEFINITION_REPRESENTATION(#20081,#20082); -#20084=PROPERTY_DEFINITION('','',#11649); -#20085=REPRESENTATION('',(#13408),#13406); -#20086=PROPERTY_DEFINITION_REPRESENTATION(#20084,#20085); -#20087=PROPERTY_DEFINITION('','',#11650); -#20088=REPRESENTATION('',(#13408),#13406); -#20089=PROPERTY_DEFINITION_REPRESENTATION(#20087,#20088); -#20090=PROPERTY_DEFINITION('','',#11651); -#20091=REPRESENTATION('',(#13408),#13406); -#20092=PROPERTY_DEFINITION_REPRESENTATION(#20090,#20091); -#20093=PROPERTY_DEFINITION('','',#11652); -#20094=REPRESENTATION('',(#13408),#13406); -#20095=PROPERTY_DEFINITION_REPRESENTATION(#20093,#20094); -#20096=PROPERTY_DEFINITION('','',#11653); -#20097=REPRESENTATION('',(#13408),#13406); -#20098=PROPERTY_DEFINITION_REPRESENTATION(#20096,#20097); -#20099=PROPERTY_DEFINITION('','',#11654); -#20100=REPRESENTATION('',(#13408),#13406); -#20101=PROPERTY_DEFINITION_REPRESENTATION(#20099,#20100); -#20102=PROPERTY_DEFINITION('','',#11655); -#20103=REPRESENTATION('',(#13408),#13406); -#20104=PROPERTY_DEFINITION_REPRESENTATION(#20102,#20103); -#20105=PROPERTY_DEFINITION('','',#11656); -#20106=REPRESENTATION('',(#13408),#13406); -#20107=PROPERTY_DEFINITION_REPRESENTATION(#20105,#20106); -#20108=PROPERTY_DEFINITION('','',#11657); -#20109=REPRESENTATION('',(#13408),#13406); -#20110=PROPERTY_DEFINITION_REPRESENTATION(#20108,#20109); -#20111=PROPERTY_DEFINITION('','',#11658); -#20112=REPRESENTATION('',(#13408),#13406); -#20113=PROPERTY_DEFINITION_REPRESENTATION(#20111,#20112); -#20114=PROPERTY_DEFINITION('','',#11659); -#20115=REPRESENTATION('',(#13408),#13406); -#20116=PROPERTY_DEFINITION_REPRESENTATION(#20114,#20115); -#20117=PROPERTY_DEFINITION('','',#11660); -#20118=REPRESENTATION('',(#13408),#13406); -#20119=PROPERTY_DEFINITION_REPRESENTATION(#20117,#20118); -#20120=PROPERTY_DEFINITION('','',#11661); -#20121=REPRESENTATION('',(#13408),#13406); -#20122=PROPERTY_DEFINITION_REPRESENTATION(#20120,#20121); -#20123=PROPERTY_DEFINITION('','',#11662); -#20124=REPRESENTATION('',(#13408),#13406); -#20125=PROPERTY_DEFINITION_REPRESENTATION(#20123,#20124); -#20126=PROPERTY_DEFINITION('','',#11663); -#20127=REPRESENTATION('',(#13408),#13406); -#20128=PROPERTY_DEFINITION_REPRESENTATION(#20126,#20127); -#20129=PROPERTY_DEFINITION('','',#11664); -#20130=REPRESENTATION('',(#13408),#13406); -#20131=PROPERTY_DEFINITION_REPRESENTATION(#20129,#20130); -#20132=PROPERTY_DEFINITION('','',#11665); -#20133=REPRESENTATION('',(#13408),#13406); -#20134=PROPERTY_DEFINITION_REPRESENTATION(#20132,#20133); -#20135=PROPERTY_DEFINITION('','',#11666); -#20136=REPRESENTATION('',(#13408),#13406); -#20137=PROPERTY_DEFINITION_REPRESENTATION(#20135,#20136); -#20138=PROPERTY_DEFINITION('','',#11667); -#20139=REPRESENTATION('',(#13408),#13406); -#20140=PROPERTY_DEFINITION_REPRESENTATION(#20138,#20139); -#20141=PROPERTY_DEFINITION('','',#11668); -#20142=REPRESENTATION('',(#13408),#13406); -#20143=PROPERTY_DEFINITION_REPRESENTATION(#20141,#20142); -#20144=PROPERTY_DEFINITION('','',#11669); -#20145=REPRESENTATION('',(#13408),#13406); -#20146=PROPERTY_DEFINITION_REPRESENTATION(#20144,#20145); -#20147=PROPERTY_DEFINITION('','',#11670); -#20148=REPRESENTATION('',(#13408),#13406); -#20149=PROPERTY_DEFINITION_REPRESENTATION(#20147,#20148); -#20150=PROPERTY_DEFINITION('','',#11671); -#20151=REPRESENTATION('',(#13408),#13406); -#20152=PROPERTY_DEFINITION_REPRESENTATION(#20150,#20151); -#20153=PROPERTY_DEFINITION('','',#11672); -#20154=REPRESENTATION('',(#13408),#13406); -#20155=PROPERTY_DEFINITION_REPRESENTATION(#20153,#20154); -#20156=PROPERTY_DEFINITION('','',#11673); -#20157=REPRESENTATION('',(#13408),#13406); -#20158=PROPERTY_DEFINITION_REPRESENTATION(#20156,#20157); -#20159=PROPERTY_DEFINITION('','',#11674); -#20160=REPRESENTATION('',(#13408),#13406); -#20161=PROPERTY_DEFINITION_REPRESENTATION(#20159,#20160); -#20162=PROPERTY_DEFINITION('','',#11675); -#20163=REPRESENTATION('',(#13408),#13406); -#20164=PROPERTY_DEFINITION_REPRESENTATION(#20162,#20163); -#20165=PROPERTY_DEFINITION('','',#11676); -#20166=REPRESENTATION('',(#13408),#13406); -#20167=PROPERTY_DEFINITION_REPRESENTATION(#20165,#20166); -#20168=PROPERTY_DEFINITION('','',#11677); -#20169=REPRESENTATION('',(#13408),#13406); -#20170=PROPERTY_DEFINITION_REPRESENTATION(#20168,#20169); -#20171=PROPERTY_DEFINITION('','',#11678); -#20172=REPRESENTATION('',(#13408),#13406); -#20173=PROPERTY_DEFINITION_REPRESENTATION(#20171,#20172); -#20174=PROPERTY_DEFINITION('','',#11679); -#20175=REPRESENTATION('',(#13408),#13406); -#20176=PROPERTY_DEFINITION_REPRESENTATION(#20174,#20175); -#20177=PROPERTY_DEFINITION('','',#11680); -#20178=REPRESENTATION('',(#13408),#13406); -#20179=PROPERTY_DEFINITION_REPRESENTATION(#20177,#20178); -#20180=PROPERTY_DEFINITION('','',#11681); -#20181=REPRESENTATION('',(#13408),#13406); -#20182=PROPERTY_DEFINITION_REPRESENTATION(#20180,#20181); -#20183=PROPERTY_DEFINITION('','',#11682); -#20184=REPRESENTATION('',(#13408),#13406); -#20185=PROPERTY_DEFINITION_REPRESENTATION(#20183,#20184); -#20186=PROPERTY_DEFINITION('','',#11683); -#20187=REPRESENTATION('',(#13408),#13406); -#20188=PROPERTY_DEFINITION_REPRESENTATION(#20186,#20187); -#20189=PROPERTY_DEFINITION('','',#11684); -#20190=REPRESENTATION('',(#13408),#13406); -#20191=PROPERTY_DEFINITION_REPRESENTATION(#20189,#20190); -#20192=PROPERTY_DEFINITION('','',#11685); -#20193=REPRESENTATION('',(#13408),#13406); -#20194=PROPERTY_DEFINITION_REPRESENTATION(#20192,#20193); -#20195=PROPERTY_DEFINITION('','',#11686); -#20196=REPRESENTATION('',(#13408),#13406); -#20197=PROPERTY_DEFINITION_REPRESENTATION(#20195,#20196); -#20198=PROPERTY_DEFINITION('','',#11687); -#20199=REPRESENTATION('',(#13408),#13406); -#20200=PROPERTY_DEFINITION_REPRESENTATION(#20198,#20199); -#20201=PROPERTY_DEFINITION('','',#11688); -#20202=REPRESENTATION('',(#13408),#13406); -#20203=PROPERTY_DEFINITION_REPRESENTATION(#20201,#20202); -#20204=PROPERTY_DEFINITION('','',#11689); -#20205=REPRESENTATION('',(#13408),#13406); -#20206=PROPERTY_DEFINITION_REPRESENTATION(#20204,#20205); -#20207=PROPERTY_DEFINITION('','',#11690); -#20208=REPRESENTATION('',(#13408),#13406); -#20209=PROPERTY_DEFINITION_REPRESENTATION(#20207,#20208); -#20210=PROPERTY_DEFINITION('','',#11691); -#20211=REPRESENTATION('',(#13408),#13406); -#20212=PROPERTY_DEFINITION_REPRESENTATION(#20210,#20211); -#20213=PROPERTY_DEFINITION('','',#11692); -#20214=REPRESENTATION('',(#13408),#13406); -#20215=PROPERTY_DEFINITION_REPRESENTATION(#20213,#20214); -#20216=PROPERTY_DEFINITION('','',#11693); -#20217=REPRESENTATION('',(#13408),#13406); -#20218=PROPERTY_DEFINITION_REPRESENTATION(#20216,#20217); -#20219=PROPERTY_DEFINITION('','',#11694); -#20220=REPRESENTATION('',(#13408),#13406); -#20221=PROPERTY_DEFINITION_REPRESENTATION(#20219,#20220); -#20222=PROPERTY_DEFINITION('','',#11695); -#20223=REPRESENTATION('',(#13408),#13406); -#20224=PROPERTY_DEFINITION_REPRESENTATION(#20222,#20223); -#20225=PROPERTY_DEFINITION('','',#11696); -#20226=REPRESENTATION('',(#13408),#13406); -#20227=PROPERTY_DEFINITION_REPRESENTATION(#20225,#20226); -#20228=PROPERTY_DEFINITION('','',#11697); -#20229=REPRESENTATION('',(#13408),#13406); -#20230=PROPERTY_DEFINITION_REPRESENTATION(#20228,#20229); -#20231=PROPERTY_DEFINITION('','',#11698); -#20232=REPRESENTATION('',(#13408),#13406); -#20233=PROPERTY_DEFINITION_REPRESENTATION(#20231,#20232); -#20234=PROPERTY_DEFINITION('','',#11699); -#20235=REPRESENTATION('',(#13408),#13406); -#20236=PROPERTY_DEFINITION_REPRESENTATION(#20234,#20235); -#20237=PROPERTY_DEFINITION('','',#11700); -#20238=REPRESENTATION('',(#13408),#13406); -#20239=PROPERTY_DEFINITION_REPRESENTATION(#20237,#20238); -#20240=PROPERTY_DEFINITION('','',#11701); -#20241=REPRESENTATION('',(#13408),#13406); -#20242=PROPERTY_DEFINITION_REPRESENTATION(#20240,#20241); -#20243=PROPERTY_DEFINITION('','',#11702); -#20244=REPRESENTATION('',(#13408),#13406); -#20245=PROPERTY_DEFINITION_REPRESENTATION(#20243,#20244); -#20246=PROPERTY_DEFINITION('','',#11703); -#20247=REPRESENTATION('',(#13408),#13406); -#20248=PROPERTY_DEFINITION_REPRESENTATION(#20246,#20247); -#20249=PROPERTY_DEFINITION('','',#11704); -#20250=REPRESENTATION('',(#13408),#13406); -#20251=PROPERTY_DEFINITION_REPRESENTATION(#20249,#20250); -#20252=PROPERTY_DEFINITION('','',#11705); -#20253=REPRESENTATION('',(#13408),#13406); -#20254=PROPERTY_DEFINITION_REPRESENTATION(#20252,#20253); -#20255=PROPERTY_DEFINITION('','',#11706); -#20256=REPRESENTATION('',(#13408),#13406); -#20257=PROPERTY_DEFINITION_REPRESENTATION(#20255,#20256); -#20258=PROPERTY_DEFINITION('','',#11707); -#20259=REPRESENTATION('',(#13408),#13406); -#20260=PROPERTY_DEFINITION_REPRESENTATION(#20258,#20259); -#20261=PROPERTY_DEFINITION('','',#11708); -#20262=REPRESENTATION('',(#13408),#13406); -#20263=PROPERTY_DEFINITION_REPRESENTATION(#20261,#20262); -#20264=PROPERTY_DEFINITION('','',#11709); -#20265=REPRESENTATION('',(#13408),#13406); -#20266=PROPERTY_DEFINITION_REPRESENTATION(#20264,#20265); -#20267=PROPERTY_DEFINITION('','',#11710); -#20268=REPRESENTATION('',(#13408),#13406); -#20269=PROPERTY_DEFINITION_REPRESENTATION(#20267,#20268); -#20270=PROPERTY_DEFINITION('','',#11711); -#20271=REPRESENTATION('',(#13408),#13406); -#20272=PROPERTY_DEFINITION_REPRESENTATION(#20270,#20271); -#20273=PROPERTY_DEFINITION('','',#11712); -#20274=REPRESENTATION('',(#13408),#13406); -#20275=PROPERTY_DEFINITION_REPRESENTATION(#20273,#20274); -#20276=PROPERTY_DEFINITION('','',#11713); -#20277=REPRESENTATION('',(#13408),#13406); -#20278=PROPERTY_DEFINITION_REPRESENTATION(#20276,#20277); -#20279=PROPERTY_DEFINITION('','',#11714); -#20280=REPRESENTATION('',(#13408),#13406); -#20281=PROPERTY_DEFINITION_REPRESENTATION(#20279,#20280); -#20282=PROPERTY_DEFINITION('','',#11715); -#20283=REPRESENTATION('',(#13408),#13406); -#20284=PROPERTY_DEFINITION_REPRESENTATION(#20282,#20283); -#20285=PROPERTY_DEFINITION('','',#11716); -#20286=REPRESENTATION('',(#13408),#13406); -#20287=PROPERTY_DEFINITION_REPRESENTATION(#20285,#20286); -#20288=PROPERTY_DEFINITION('','',#11717); -#20289=REPRESENTATION('',(#13408),#13406); -#20290=PROPERTY_DEFINITION_REPRESENTATION(#20288,#20289); -#20291=PROPERTY_DEFINITION('','',#11718); -#20292=REPRESENTATION('',(#13408),#13406); -#20293=PROPERTY_DEFINITION_REPRESENTATION(#20291,#20292); -#20294=PROPERTY_DEFINITION('','',#11719); -#20295=REPRESENTATION('',(#13408),#13406); -#20296=PROPERTY_DEFINITION_REPRESENTATION(#20294,#20295); -#20297=PROPERTY_DEFINITION('','',#11720); -#20298=REPRESENTATION('',(#13408),#13406); -#20299=PROPERTY_DEFINITION_REPRESENTATION(#20297,#20298); -#20300=PROPERTY_DEFINITION('','',#11721); -#20301=REPRESENTATION('',(#13408),#13406); -#20302=PROPERTY_DEFINITION_REPRESENTATION(#20300,#20301); -#20303=PROPERTY_DEFINITION('','',#11722); -#20304=REPRESENTATION('',(#13408),#13406); -#20305=PROPERTY_DEFINITION_REPRESENTATION(#20303,#20304); -#20306=PROPERTY_DEFINITION('','',#11723); -#20307=REPRESENTATION('',(#13408),#13406); -#20308=PROPERTY_DEFINITION_REPRESENTATION(#20306,#20307); -#20309=PROPERTY_DEFINITION('','',#11724); -#20310=REPRESENTATION('',(#13408),#13406); -#20311=PROPERTY_DEFINITION_REPRESENTATION(#20309,#20310); -#20312=PROPERTY_DEFINITION('','',#11725); -#20313=REPRESENTATION('',(#13408),#13406); -#20314=PROPERTY_DEFINITION_REPRESENTATION(#20312,#20313); -#20315=PROPERTY_DEFINITION('','',#11726); -#20316=REPRESENTATION('',(#13408),#13406); -#20317=PROPERTY_DEFINITION_REPRESENTATION(#20315,#20316); -#20318=PROPERTY_DEFINITION('','',#11727); -#20319=REPRESENTATION('',(#13408),#13406); -#20320=PROPERTY_DEFINITION_REPRESENTATION(#20318,#20319); -#20321=PROPERTY_DEFINITION('','',#11728); -#20322=REPRESENTATION('',(#13408),#13406); -#20323=PROPERTY_DEFINITION_REPRESENTATION(#20321,#20322); -#20324=PROPERTY_DEFINITION('','',#11729); -#20325=REPRESENTATION('',(#13408),#13406); -#20326=PROPERTY_DEFINITION_REPRESENTATION(#20324,#20325); -#20327=PROPERTY_DEFINITION('','',#11730); -#20328=REPRESENTATION('',(#13408),#13406); -#20329=PROPERTY_DEFINITION_REPRESENTATION(#20327,#20328); -#20330=PROPERTY_DEFINITION('','',#11731); -#20331=REPRESENTATION('',(#13408),#13406); -#20332=PROPERTY_DEFINITION_REPRESENTATION(#20330,#20331); -#20333=PROPERTY_DEFINITION('','',#11732); -#20334=REPRESENTATION('',(#13408),#13406); -#20335=PROPERTY_DEFINITION_REPRESENTATION(#20333,#20334); -#20336=PROPERTY_DEFINITION('','',#11733); -#20337=REPRESENTATION('',(#13408),#13406); -#20338=PROPERTY_DEFINITION_REPRESENTATION(#20336,#20337); -#20339=PROPERTY_DEFINITION('','',#11734); -#20340=REPRESENTATION('',(#13408),#13406); -#20341=PROPERTY_DEFINITION_REPRESENTATION(#20339,#20340); -#20342=PROPERTY_DEFINITION('','',#11735); -#20343=REPRESENTATION('',(#13408),#13406); -#20344=PROPERTY_DEFINITION_REPRESENTATION(#20342,#20343); -#20345=PROPERTY_DEFINITION('','',#11736); -#20346=REPRESENTATION('',(#13408),#13406); -#20347=PROPERTY_DEFINITION_REPRESENTATION(#20345,#20346); -#20348=PROPERTY_DEFINITION('','',#11737); -#20349=REPRESENTATION('',(#13408),#13406); -#20350=PROPERTY_DEFINITION_REPRESENTATION(#20348,#20349); -#20351=PROPERTY_DEFINITION('','',#11738); -#20352=REPRESENTATION('',(#13408),#13406); -#20353=PROPERTY_DEFINITION_REPRESENTATION(#20351,#20352); -#20354=PROPERTY_DEFINITION('','',#11739); -#20355=REPRESENTATION('',(#13408),#13406); -#20356=PROPERTY_DEFINITION_REPRESENTATION(#20354,#20355); -#20357=PROPERTY_DEFINITION('','',#11740); -#20358=REPRESENTATION('',(#13408),#13406); -#20359=PROPERTY_DEFINITION_REPRESENTATION(#20357,#20358); -#20360=PROPERTY_DEFINITION('','',#11741); -#20361=REPRESENTATION('',(#13408),#13406); -#20362=PROPERTY_DEFINITION_REPRESENTATION(#20360,#20361); -#20363=PROPERTY_DEFINITION('','',#11742); -#20364=REPRESENTATION('',(#13408),#13406); -#20365=PROPERTY_DEFINITION_REPRESENTATION(#20363,#20364); -#20366=PROPERTY_DEFINITION('','',#11743); -#20367=REPRESENTATION('',(#13408),#13406); -#20368=PROPERTY_DEFINITION_REPRESENTATION(#20366,#20367); -#20369=PROPERTY_DEFINITION('','',#11744); -#20370=REPRESENTATION('',(#13408),#13406); -#20371=PROPERTY_DEFINITION_REPRESENTATION(#20369,#20370); -#20372=PROPERTY_DEFINITION('','',#11745); -#20373=REPRESENTATION('',(#13408),#13406); -#20374=PROPERTY_DEFINITION_REPRESENTATION(#20372,#20373); -#20375=PROPERTY_DEFINITION('','',#11746); -#20376=REPRESENTATION('',(#13408),#13406); -#20377=PROPERTY_DEFINITION_REPRESENTATION(#20375,#20376); -#20378=PROPERTY_DEFINITION('','',#11747); -#20379=REPRESENTATION('',(#13408),#13406); -#20380=PROPERTY_DEFINITION_REPRESENTATION(#20378,#20379); -#20381=PROPERTY_DEFINITION('','',#11748); -#20382=REPRESENTATION('',(#13408),#13406); -#20383=PROPERTY_DEFINITION_REPRESENTATION(#20381,#20382); -#20384=PROPERTY_DEFINITION('','',#11749); -#20385=REPRESENTATION('',(#13408),#13406); -#20386=PROPERTY_DEFINITION_REPRESENTATION(#20384,#20385); -#20387=PROPERTY_DEFINITION('','',#11750); -#20388=REPRESENTATION('',(#13408),#13406); -#20389=PROPERTY_DEFINITION_REPRESENTATION(#20387,#20388); -#20390=PROPERTY_DEFINITION('','',#11751); -#20391=REPRESENTATION('',(#13408),#13406); -#20392=PROPERTY_DEFINITION_REPRESENTATION(#20390,#20391); -#20393=PROPERTY_DEFINITION('','',#11752); -#20394=REPRESENTATION('',(#13408),#13406); -#20395=PROPERTY_DEFINITION_REPRESENTATION(#20393,#20394); -#20396=PROPERTY_DEFINITION('','',#11753); -#20397=REPRESENTATION('',(#13408),#13406); -#20398=PROPERTY_DEFINITION_REPRESENTATION(#20396,#20397); -#20399=PROPERTY_DEFINITION('','',#11754); -#20400=REPRESENTATION('',(#13408),#13406); -#20401=PROPERTY_DEFINITION_REPRESENTATION(#20399,#20400); -#20402=PROPERTY_DEFINITION('','',#11755); -#20403=REPRESENTATION('',(#13408),#13406); -#20404=PROPERTY_DEFINITION_REPRESENTATION(#20402,#20403); -#20405=PROPERTY_DEFINITION('','',#11756); -#20406=REPRESENTATION('',(#13408),#13406); -#20407=PROPERTY_DEFINITION_REPRESENTATION(#20405,#20406); -#20408=PROPERTY_DEFINITION('','',#11757); -#20409=REPRESENTATION('',(#13408),#13406); -#20410=PROPERTY_DEFINITION_REPRESENTATION(#20408,#20409); -#20411=PROPERTY_DEFINITION('','',#11758); -#20412=REPRESENTATION('',(#13408),#13406); -#20413=PROPERTY_DEFINITION_REPRESENTATION(#20411,#20412); -#20414=PROPERTY_DEFINITION('','',#11759); -#20415=REPRESENTATION('',(#13408),#13406); -#20416=PROPERTY_DEFINITION_REPRESENTATION(#20414,#20415); -#20417=PROPERTY_DEFINITION('','',#11760); -#20418=REPRESENTATION('',(#13408),#13406); -#20419=PROPERTY_DEFINITION_REPRESENTATION(#20417,#20418); -#20420=PROPERTY_DEFINITION('','',#11761); -#20421=REPRESENTATION('',(#13408),#13406); -#20422=PROPERTY_DEFINITION_REPRESENTATION(#20420,#20421); -#20423=PROPERTY_DEFINITION('','',#11762); -#20424=REPRESENTATION('',(#13408),#13406); -#20425=PROPERTY_DEFINITION_REPRESENTATION(#20423,#20424); -#20426=PROPERTY_DEFINITION('','',#11763); -#20427=REPRESENTATION('',(#13408),#13406); -#20428=PROPERTY_DEFINITION_REPRESENTATION(#20426,#20427); -#20429=PROPERTY_DEFINITION('','',#11764); -#20430=REPRESENTATION('',(#13408),#13406); -#20431=PROPERTY_DEFINITION_REPRESENTATION(#20429,#20430); -#20432=PROPERTY_DEFINITION('','',#11765); -#20433=REPRESENTATION('',(#13408),#13406); -#20434=PROPERTY_DEFINITION_REPRESENTATION(#20432,#20433); -#20435=PROPERTY_DEFINITION('','',#11766); -#20436=REPRESENTATION('',(#13408),#13406); -#20437=PROPERTY_DEFINITION_REPRESENTATION(#20435,#20436); -#20438=PROPERTY_DEFINITION('','',#11767); -#20439=REPRESENTATION('',(#13408),#13406); -#20440=PROPERTY_DEFINITION_REPRESENTATION(#20438,#20439); -#20441=PROPERTY_DEFINITION('','',#11768); -#20442=REPRESENTATION('',(#13408),#13406); -#20443=PROPERTY_DEFINITION_REPRESENTATION(#20441,#20442); -#20444=PROPERTY_DEFINITION('','',#11769); -#20445=REPRESENTATION('',(#13408),#13406); -#20446=PROPERTY_DEFINITION_REPRESENTATION(#20444,#20445); -#20447=PROPERTY_DEFINITION('','',#11770); -#20448=REPRESENTATION('',(#13408),#13406); -#20449=PROPERTY_DEFINITION_REPRESENTATION(#20447,#20448); -#20450=PROPERTY_DEFINITION('','',#11771); -#20451=REPRESENTATION('',(#13408),#13406); -#20452=PROPERTY_DEFINITION_REPRESENTATION(#20450,#20451); -#20453=PROPERTY_DEFINITION('','',#11772); -#20454=REPRESENTATION('',(#13408),#13406); -#20455=PROPERTY_DEFINITION_REPRESENTATION(#20453,#20454); -#20456=PROPERTY_DEFINITION('','',#11773); -#20457=REPRESENTATION('',(#13408),#13406); -#20458=PROPERTY_DEFINITION_REPRESENTATION(#20456,#20457); -#20459=PROPERTY_DEFINITION('','',#11774); -#20460=REPRESENTATION('',(#13408),#13406); -#20461=PROPERTY_DEFINITION_REPRESENTATION(#20459,#20460); -#20462=PROPERTY_DEFINITION('','',#11775); -#20463=REPRESENTATION('',(#13408),#13406); -#20464=PROPERTY_DEFINITION_REPRESENTATION(#20462,#20463); -#20465=PROPERTY_DEFINITION('','',#11776); -#20466=REPRESENTATION('',(#13408),#13406); -#20467=PROPERTY_DEFINITION_REPRESENTATION(#20465,#20466); -#20468=PROPERTY_DEFINITION('','',#11777); -#20469=REPRESENTATION('',(#13408),#13406); -#20470=PROPERTY_DEFINITION_REPRESENTATION(#20468,#20469); -#20471=PROPERTY_DEFINITION('','',#11778); -#20472=REPRESENTATION('',(#13408),#13406); -#20473=PROPERTY_DEFINITION_REPRESENTATION(#20471,#20472); -#20474=PROPERTY_DEFINITION('','',#11779); -#20475=REPRESENTATION('',(#13408),#13406); -#20476=PROPERTY_DEFINITION_REPRESENTATION(#20474,#20475); -#20477=PROPERTY_DEFINITION('','',#11780); -#20478=REPRESENTATION('',(#13408),#13406); -#20479=PROPERTY_DEFINITION_REPRESENTATION(#20477,#20478); -#20480=PROPERTY_DEFINITION('','',#11781); -#20481=REPRESENTATION('',(#13408),#13406); -#20482=PROPERTY_DEFINITION_REPRESENTATION(#20480,#20481); -#20483=PROPERTY_DEFINITION('','',#11782); -#20484=REPRESENTATION('',(#13408),#13406); -#20485=PROPERTY_DEFINITION_REPRESENTATION(#20483,#20484); -#20486=PROPERTY_DEFINITION('','',#11783); -#20487=REPRESENTATION('',(#13408),#13406); -#20488=PROPERTY_DEFINITION_REPRESENTATION(#20486,#20487); -#20489=PROPERTY_DEFINITION('','',#11784); -#20490=REPRESENTATION('',(#13408),#13406); -#20491=PROPERTY_DEFINITION_REPRESENTATION(#20489,#20490); -#20492=PROPERTY_DEFINITION('','',#11785); -#20493=REPRESENTATION('',(#13408),#13406); -#20494=PROPERTY_DEFINITION_REPRESENTATION(#20492,#20493); -#20495=PROPERTY_DEFINITION('','',#11786); -#20496=REPRESENTATION('',(#13408),#13406); -#20497=PROPERTY_DEFINITION_REPRESENTATION(#20495,#20496); -#20498=PROPERTY_DEFINITION('','',#11787); -#20499=REPRESENTATION('',(#13408),#13406); -#20500=PROPERTY_DEFINITION_REPRESENTATION(#20498,#20499); -#20501=PROPERTY_DEFINITION('','',#11788); -#20502=REPRESENTATION('',(#13408),#13406); -#20503=PROPERTY_DEFINITION_REPRESENTATION(#20501,#20502); -#20504=PROPERTY_DEFINITION('','',#11789); -#20505=REPRESENTATION('',(#13408),#13406); -#20506=PROPERTY_DEFINITION_REPRESENTATION(#20504,#20505); -#20507=PROPERTY_DEFINITION('','',#11790); -#20508=REPRESENTATION('',(#13408),#13406); -#20509=PROPERTY_DEFINITION_REPRESENTATION(#20507,#20508); -#20510=PROPERTY_DEFINITION('','',#11791); -#20511=REPRESENTATION('',(#13408),#13406); -#20512=PROPERTY_DEFINITION_REPRESENTATION(#20510,#20511); -#20513=PROPERTY_DEFINITION('','',#11792); -#20514=REPRESENTATION('',(#13408),#13406); -#20515=PROPERTY_DEFINITION_REPRESENTATION(#20513,#20514); -#20516=PROPERTY_DEFINITION('','',#11793); -#20517=REPRESENTATION('',(#13408),#13406); -#20518=PROPERTY_DEFINITION_REPRESENTATION(#20516,#20517); -#20519=PROPERTY_DEFINITION('','',#11794); -#20520=REPRESENTATION('',(#13408),#13406); -#20521=PROPERTY_DEFINITION_REPRESENTATION(#20519,#20520); -#20522=PROPERTY_DEFINITION('','',#11795); -#20523=REPRESENTATION('',(#13408),#13406); -#20524=PROPERTY_DEFINITION_REPRESENTATION(#20522,#20523); -#20525=PROPERTY_DEFINITION('','',#11796); -#20526=REPRESENTATION('',(#13408),#13406); -#20527=PROPERTY_DEFINITION_REPRESENTATION(#20525,#20526); -#20528=PROPERTY_DEFINITION('','',#11797); -#20529=REPRESENTATION('',(#13408),#13406); -#20530=PROPERTY_DEFINITION_REPRESENTATION(#20528,#20529); -#20531=PROPERTY_DEFINITION('','',#11798); -#20532=REPRESENTATION('',(#13408),#13406); -#20533=PROPERTY_DEFINITION_REPRESENTATION(#20531,#20532); -#20534=PROPERTY_DEFINITION('','',#11799); -#20535=REPRESENTATION('',(#13408),#13406); -#20536=PROPERTY_DEFINITION_REPRESENTATION(#20534,#20535); -#20537=PROPERTY_DEFINITION('','',#11800); -#20538=REPRESENTATION('',(#13408),#13406); -#20539=PROPERTY_DEFINITION_REPRESENTATION(#20537,#20538); -#20540=PROPERTY_DEFINITION('','',#11801); -#20541=REPRESENTATION('',(#13408),#13406); -#20542=PROPERTY_DEFINITION_REPRESENTATION(#20540,#20541); -#20543=PROPERTY_DEFINITION('','',#11802); -#20544=REPRESENTATION('',(#13408),#13406); -#20545=PROPERTY_DEFINITION_REPRESENTATION(#20543,#20544); -#20546=PROPERTY_DEFINITION('','',#11803); -#20547=REPRESENTATION('',(#13408),#13406); -#20548=PROPERTY_DEFINITION_REPRESENTATION(#20546,#20547); -#20549=PROPERTY_DEFINITION('','',#11804); -#20550=REPRESENTATION('',(#13408),#13406); -#20551=PROPERTY_DEFINITION_REPRESENTATION(#20549,#20550); -#20552=PROPERTY_DEFINITION('','',#11805); -#20553=REPRESENTATION('',(#13408),#13406); -#20554=PROPERTY_DEFINITION_REPRESENTATION(#20552,#20553); -#20555=PROPERTY_DEFINITION('','',#11806); -#20556=REPRESENTATION('',(#13408),#13406); -#20557=PROPERTY_DEFINITION_REPRESENTATION(#20555,#20556); -#20558=PROPERTY_DEFINITION('','',#11807); -#20559=REPRESENTATION('',(#13408),#13406); -#20560=PROPERTY_DEFINITION_REPRESENTATION(#20558,#20559); -#20561=PROPERTY_DEFINITION('','',#11808); -#20562=REPRESENTATION('',(#13408),#13406); -#20563=PROPERTY_DEFINITION_REPRESENTATION(#20561,#20562); -#20564=PROPERTY_DEFINITION('','',#11809); -#20565=REPRESENTATION('',(#13408),#13406); -#20566=PROPERTY_DEFINITION_REPRESENTATION(#20564,#20565); -#20567=PROPERTY_DEFINITION('','',#11810); -#20568=REPRESENTATION('',(#13408),#13406); -#20569=PROPERTY_DEFINITION_REPRESENTATION(#20567,#20568); -#20570=PROPERTY_DEFINITION('','',#11811); -#20571=REPRESENTATION('',(#13408),#13406); -#20572=PROPERTY_DEFINITION_REPRESENTATION(#20570,#20571); -#20573=PROPERTY_DEFINITION('','',#11812); -#20574=REPRESENTATION('',(#13408),#13406); -#20575=PROPERTY_DEFINITION_REPRESENTATION(#20573,#20574); -#20576=PROPERTY_DEFINITION('','',#11813); -#20577=REPRESENTATION('',(#13408),#13406); -#20578=PROPERTY_DEFINITION_REPRESENTATION(#20576,#20577); -#20579=PROPERTY_DEFINITION('','',#11814); -#20580=REPRESENTATION('',(#13408),#13406); -#20581=PROPERTY_DEFINITION_REPRESENTATION(#20579,#20580); -#20582=PROPERTY_DEFINITION('','',#11815); -#20583=REPRESENTATION('',(#13408),#13406); -#20584=PROPERTY_DEFINITION_REPRESENTATION(#20582,#20583); -#20585=PROPERTY_DEFINITION('','',#11816); -#20586=REPRESENTATION('',(#13408),#13406); -#20587=PROPERTY_DEFINITION_REPRESENTATION(#20585,#20586); -#20588=PROPERTY_DEFINITION('','',#11817); -#20589=REPRESENTATION('',(#13408),#13406); -#20590=PROPERTY_DEFINITION_REPRESENTATION(#20588,#20589); -#20591=PROPERTY_DEFINITION('','',#11818); -#20592=REPRESENTATION('',(#13408),#13406); -#20593=PROPERTY_DEFINITION_REPRESENTATION(#20591,#20592); -#20594=PROPERTY_DEFINITION('','',#11819); -#20595=REPRESENTATION('',(#13408),#13406); -#20596=PROPERTY_DEFINITION_REPRESENTATION(#20594,#20595); -#20597=PROPERTY_DEFINITION('','',#11820); -#20598=REPRESENTATION('',(#13408),#13406); -#20599=PROPERTY_DEFINITION_REPRESENTATION(#20597,#20598); -#20600=PROPERTY_DEFINITION('','',#11821); -#20601=REPRESENTATION('',(#13408),#13406); -#20602=PROPERTY_DEFINITION_REPRESENTATION(#20600,#20601); -#20603=PROPERTY_DEFINITION('','',#11822); -#20604=REPRESENTATION('',(#13408),#13406); -#20605=PROPERTY_DEFINITION_REPRESENTATION(#20603,#20604); -#20606=PROPERTY_DEFINITION('','',#11823); -#20607=REPRESENTATION('',(#13408),#13406); -#20608=PROPERTY_DEFINITION_REPRESENTATION(#20606,#20607); -#20609=PROPERTY_DEFINITION('','',#11824); -#20610=REPRESENTATION('',(#13408),#13406); -#20611=PROPERTY_DEFINITION_REPRESENTATION(#20609,#20610); -#20612=PROPERTY_DEFINITION('','',#11825); -#20613=REPRESENTATION('',(#13408),#13406); -#20614=PROPERTY_DEFINITION_REPRESENTATION(#20612,#20613); -#20615=PROPERTY_DEFINITION('','',#11826); -#20616=REPRESENTATION('',(#13408),#13406); -#20617=PROPERTY_DEFINITION_REPRESENTATION(#20615,#20616); -#20618=PROPERTY_DEFINITION('','',#11827); -#20619=REPRESENTATION('',(#13408),#13406); -#20620=PROPERTY_DEFINITION_REPRESENTATION(#20618,#20619); -#20621=PROPERTY_DEFINITION('','',#11828); -#20622=REPRESENTATION('',(#13408),#13406); -#20623=PROPERTY_DEFINITION_REPRESENTATION(#20621,#20622); -#20624=PROPERTY_DEFINITION('','',#11829); -#20625=REPRESENTATION('',(#13408),#13406); -#20626=PROPERTY_DEFINITION_REPRESENTATION(#20624,#20625); -#20627=PROPERTY_DEFINITION('','',#11830); -#20628=REPRESENTATION('',(#13408),#13406); -#20629=PROPERTY_DEFINITION_REPRESENTATION(#20627,#20628); -#20630=PROPERTY_DEFINITION('','',#11831); -#20631=REPRESENTATION('',(#13408),#13406); -#20632=PROPERTY_DEFINITION_REPRESENTATION(#20630,#20631); -#20633=PROPERTY_DEFINITION('','',#11832); -#20634=REPRESENTATION('',(#13408),#13406); -#20635=PROPERTY_DEFINITION_REPRESENTATION(#20633,#20634); -#20636=PROPERTY_DEFINITION('','',#11833); -#20637=REPRESENTATION('',(#13408),#13406); -#20638=PROPERTY_DEFINITION_REPRESENTATION(#20636,#20637); -#20639=PROPERTY_DEFINITION('','',#11834); -#20640=REPRESENTATION('',(#13408),#13406); -#20641=PROPERTY_DEFINITION_REPRESENTATION(#20639,#20640); -#20642=PROPERTY_DEFINITION('','',#11835); -#20643=REPRESENTATION('',(#13408),#13406); -#20644=PROPERTY_DEFINITION_REPRESENTATION(#20642,#20643); -#20645=PROPERTY_DEFINITION('','',#11836); -#20646=REPRESENTATION('',(#13408),#13406); -#20647=PROPERTY_DEFINITION_REPRESENTATION(#20645,#20646); -#20648=PROPERTY_DEFINITION('','',#11837); -#20649=REPRESENTATION('',(#13408),#13406); -#20650=PROPERTY_DEFINITION_REPRESENTATION(#20648,#20649); -#20651=PROPERTY_DEFINITION('','',#11838); -#20652=REPRESENTATION('',(#13408),#13406); -#20653=PROPERTY_DEFINITION_REPRESENTATION(#20651,#20652); -#20654=PROPERTY_DEFINITION('','',#11839); -#20655=REPRESENTATION('',(#13408),#13406); -#20656=PROPERTY_DEFINITION_REPRESENTATION(#20654,#20655); -#20657=PROPERTY_DEFINITION('','',#11840); -#20658=REPRESENTATION('',(#13408),#13406); -#20659=PROPERTY_DEFINITION_REPRESENTATION(#20657,#20658); -#20660=PROPERTY_DEFINITION('','',#11841); -#20661=REPRESENTATION('',(#13408),#13406); -#20662=PROPERTY_DEFINITION_REPRESENTATION(#20660,#20661); -#20663=PROPERTY_DEFINITION('','',#11842); -#20664=REPRESENTATION('',(#13408),#13406); -#20665=PROPERTY_DEFINITION_REPRESENTATION(#20663,#20664); -#20666=PROPERTY_DEFINITION('','',#11843); -#20667=REPRESENTATION('',(#13408),#13406); -#20668=PROPERTY_DEFINITION_REPRESENTATION(#20666,#20667); -#20669=PROPERTY_DEFINITION('','',#11844); -#20670=REPRESENTATION('',(#13408),#13406); -#20671=PROPERTY_DEFINITION_REPRESENTATION(#20669,#20670); -#20672=PROPERTY_DEFINITION('','',#11845); -#20673=REPRESENTATION('',(#13408),#13406); -#20674=PROPERTY_DEFINITION_REPRESENTATION(#20672,#20673); -#20675=PROPERTY_DEFINITION('','',#11846); -#20676=REPRESENTATION('',(#13408),#13406); -#20677=PROPERTY_DEFINITION_REPRESENTATION(#20675,#20676); -#20678=PROPERTY_DEFINITION('','',#11847); -#20679=REPRESENTATION('',(#13408),#13406); -#20680=PROPERTY_DEFINITION_REPRESENTATION(#20678,#20679); -#20681=PROPERTY_DEFINITION('','',#11848); -#20682=REPRESENTATION('',(#13408),#13406); -#20683=PROPERTY_DEFINITION_REPRESENTATION(#20681,#20682); -#20684=PROPERTY_DEFINITION('','',#11849); -#20685=REPRESENTATION('',(#13408),#13406); -#20686=PROPERTY_DEFINITION_REPRESENTATION(#20684,#20685); -#20687=PROPERTY_DEFINITION('','',#11850); -#20688=REPRESENTATION('',(#13408),#13406); -#20689=PROPERTY_DEFINITION_REPRESENTATION(#20687,#20688); -#20690=PROPERTY_DEFINITION('','',#11851); -#20691=REPRESENTATION('',(#13408),#13406); -#20692=PROPERTY_DEFINITION_REPRESENTATION(#20690,#20691); -#20693=PROPERTY_DEFINITION('','',#11852); -#20694=REPRESENTATION('',(#13408),#13406); -#20695=PROPERTY_DEFINITION_REPRESENTATION(#20693,#20694); -#20696=PROPERTY_DEFINITION('','',#11853); -#20697=REPRESENTATION('',(#13408),#13406); -#20698=PROPERTY_DEFINITION_REPRESENTATION(#20696,#20697); -#20699=PROPERTY_DEFINITION('','',#11854); -#20700=REPRESENTATION('',(#13408),#13406); -#20701=PROPERTY_DEFINITION_REPRESENTATION(#20699,#20700); -#20702=PROPERTY_DEFINITION('','',#11855); -#20703=REPRESENTATION('',(#13408),#13406); -#20704=PROPERTY_DEFINITION_REPRESENTATION(#20702,#20703); -#20705=PROPERTY_DEFINITION('','',#11856); -#20706=REPRESENTATION('',(#13408),#13406); -#20707=PROPERTY_DEFINITION_REPRESENTATION(#20705,#20706); -#20708=PROPERTY_DEFINITION('','',#11857); -#20709=REPRESENTATION('',(#13408),#13406); -#20710=PROPERTY_DEFINITION_REPRESENTATION(#20708,#20709); -#20711=PROPERTY_DEFINITION('','',#11858); -#20712=REPRESENTATION('',(#13408),#13406); -#20713=PROPERTY_DEFINITION_REPRESENTATION(#20711,#20712); -#20714=PROPERTY_DEFINITION('','',#11859); -#20715=REPRESENTATION('',(#13408),#13406); -#20716=PROPERTY_DEFINITION_REPRESENTATION(#20714,#20715); -#20717=PROPERTY_DEFINITION('','',#11860); -#20718=REPRESENTATION('',(#13408),#13406); -#20719=PROPERTY_DEFINITION_REPRESENTATION(#20717,#20718); -#20720=PROPERTY_DEFINITION('','',#11861); -#20721=REPRESENTATION('',(#13408),#13406); -#20722=PROPERTY_DEFINITION_REPRESENTATION(#20720,#20721); -#20723=PROPERTY_DEFINITION('','',#11862); -#20724=REPRESENTATION('',(#13408),#13406); -#20725=PROPERTY_DEFINITION_REPRESENTATION(#20723,#20724); -#20726=PROPERTY_DEFINITION('','',#11863); -#20727=REPRESENTATION('',(#13408),#13406); -#20728=PROPERTY_DEFINITION_REPRESENTATION(#20726,#20727); -#20729=PROPERTY_DEFINITION('','',#11864); -#20730=REPRESENTATION('',(#13408),#13406); -#20731=PROPERTY_DEFINITION_REPRESENTATION(#20729,#20730); -#20732=PROPERTY_DEFINITION('','',#11865); -#20733=REPRESENTATION('',(#13408),#13406); -#20734=PROPERTY_DEFINITION_REPRESENTATION(#20732,#20733); -#20735=PROPERTY_DEFINITION('','',#11866); -#20736=REPRESENTATION('',(#13408),#13406); -#20737=PROPERTY_DEFINITION_REPRESENTATION(#20735,#20736); -#20738=PROPERTY_DEFINITION('','',#11867); -#20739=REPRESENTATION('',(#13408),#13406); -#20740=PROPERTY_DEFINITION_REPRESENTATION(#20738,#20739); -#20741=PROPERTY_DEFINITION('','',#11868); -#20742=REPRESENTATION('',(#13408),#13406); -#20743=PROPERTY_DEFINITION_REPRESENTATION(#20741,#20742); -#20744=PROPERTY_DEFINITION('','',#11869); -#20745=REPRESENTATION('',(#13408),#13406); -#20746=PROPERTY_DEFINITION_REPRESENTATION(#20744,#20745); -#20747=PROPERTY_DEFINITION('','',#11870); -#20748=REPRESENTATION('',(#13408),#13406); -#20749=PROPERTY_DEFINITION_REPRESENTATION(#20747,#20748); -#20750=PROPERTY_DEFINITION('','',#11871); -#20751=REPRESENTATION('',(#13408),#13406); -#20752=PROPERTY_DEFINITION_REPRESENTATION(#20750,#20751); -#20753=PROPERTY_DEFINITION('','',#11872); -#20754=REPRESENTATION('',(#13408),#13406); -#20755=PROPERTY_DEFINITION_REPRESENTATION(#20753,#20754); -#20756=PROPERTY_DEFINITION('','',#11873); -#20757=REPRESENTATION('',(#13408),#13406); -#20758=PROPERTY_DEFINITION_REPRESENTATION(#20756,#20757); -#20759=PROPERTY_DEFINITION('','',#11874); -#20760=REPRESENTATION('',(#13408),#13406); -#20761=PROPERTY_DEFINITION_REPRESENTATION(#20759,#20760); -#20762=PROPERTY_DEFINITION('','',#11875); -#20763=REPRESENTATION('',(#13408),#13406); -#20764=PROPERTY_DEFINITION_REPRESENTATION(#20762,#20763); -#20765=PROPERTY_DEFINITION('','',#11876); -#20766=REPRESENTATION('',(#13408),#13406); -#20767=PROPERTY_DEFINITION_REPRESENTATION(#20765,#20766); -#20768=PROPERTY_DEFINITION('','',#11877); -#20769=REPRESENTATION('',(#13408),#13406); -#20770=PROPERTY_DEFINITION_REPRESENTATION(#20768,#20769); -#20771=PROPERTY_DEFINITION('','',#11878); -#20772=REPRESENTATION('',(#13408),#13406); -#20773=PROPERTY_DEFINITION_REPRESENTATION(#20771,#20772); -#20774=PROPERTY_DEFINITION('','',#11879); -#20775=REPRESENTATION('',(#13408),#13406); -#20776=PROPERTY_DEFINITION_REPRESENTATION(#20774,#20775); -#20777=PROPERTY_DEFINITION('','',#11880); -#20778=REPRESENTATION('',(#13408),#13406); -#20779=PROPERTY_DEFINITION_REPRESENTATION(#20777,#20778); -#20780=PROPERTY_DEFINITION('','',#11881); -#20781=REPRESENTATION('',(#13408),#13406); -#20782=PROPERTY_DEFINITION_REPRESENTATION(#20780,#20781); -#20783=PROPERTY_DEFINITION('','',#11882); -#20784=REPRESENTATION('',(#13408),#13406); -#20785=PROPERTY_DEFINITION_REPRESENTATION(#20783,#20784); -#20786=PROPERTY_DEFINITION('','',#11883); -#20787=REPRESENTATION('',(#13408),#13406); -#20788=PROPERTY_DEFINITION_REPRESENTATION(#20786,#20787); -#20789=PROPERTY_DEFINITION('','',#11884); -#20790=REPRESENTATION('',(#13408),#13406); -#20791=PROPERTY_DEFINITION_REPRESENTATION(#20789,#20790); -#20792=PROPERTY_DEFINITION('','',#11885); -#20793=REPRESENTATION('',(#13408),#13406); -#20794=PROPERTY_DEFINITION_REPRESENTATION(#20792,#20793); -#20795=PROPERTY_DEFINITION('','',#11886); -#20796=REPRESENTATION('',(#13408),#13406); -#20797=PROPERTY_DEFINITION_REPRESENTATION(#20795,#20796); -#20798=PROPERTY_DEFINITION('','',#11887); -#20799=REPRESENTATION('',(#13408),#13406); -#20800=PROPERTY_DEFINITION_REPRESENTATION(#20798,#20799); -#20801=PROPERTY_DEFINITION('','',#11888); -#20802=REPRESENTATION('',(#13408),#13406); -#20803=PROPERTY_DEFINITION_REPRESENTATION(#20801,#20802); -#20804=PROPERTY_DEFINITION('','',#11889); -#20805=REPRESENTATION('',(#13408),#13406); -#20806=PROPERTY_DEFINITION_REPRESENTATION(#20804,#20805); -#20807=PROPERTY_DEFINITION('','',#11890); -#20808=REPRESENTATION('',(#13408),#13406); -#20809=PROPERTY_DEFINITION_REPRESENTATION(#20807,#20808); -#20810=PROPERTY_DEFINITION('','',#11891); -#20811=REPRESENTATION('',(#13408),#13406); -#20812=PROPERTY_DEFINITION_REPRESENTATION(#20810,#20811); -#20813=PROPERTY_DEFINITION('','',#11892); -#20814=REPRESENTATION('',(#13408),#13406); -#20815=PROPERTY_DEFINITION_REPRESENTATION(#20813,#20814); -#20816=PROPERTY_DEFINITION('','',#11893); -#20817=REPRESENTATION('',(#13408),#13406); -#20818=PROPERTY_DEFINITION_REPRESENTATION(#20816,#20817); -#20819=PROPERTY_DEFINITION('','',#11894); -#20820=REPRESENTATION('',(#13408),#13406); -#20821=PROPERTY_DEFINITION_REPRESENTATION(#20819,#20820); -#20822=PROPERTY_DEFINITION('','',#11895); -#20823=REPRESENTATION('',(#13408),#13406); -#20824=PROPERTY_DEFINITION_REPRESENTATION(#20822,#20823); -#20825=PROPERTY_DEFINITION('','',#11896); -#20826=REPRESENTATION('',(#13408),#13406); -#20827=PROPERTY_DEFINITION_REPRESENTATION(#20825,#20826); -#20828=PROPERTY_DEFINITION('','',#11897); -#20829=REPRESENTATION('',(#13408),#13406); -#20830=PROPERTY_DEFINITION_REPRESENTATION(#20828,#20829); -#20831=PROPERTY_DEFINITION('','',#11898); -#20832=REPRESENTATION('',(#13408),#13406); -#20833=PROPERTY_DEFINITION_REPRESENTATION(#20831,#20832); -#20834=PROPERTY_DEFINITION('','',#11899); -#20835=REPRESENTATION('',(#13408),#13406); -#20836=PROPERTY_DEFINITION_REPRESENTATION(#20834,#20835); -#20837=PROPERTY_DEFINITION('','',#11900); -#20838=REPRESENTATION('',(#13408),#13406); -#20839=PROPERTY_DEFINITION_REPRESENTATION(#20837,#20838); -#20840=PROPERTY_DEFINITION('','',#11901); -#20841=REPRESENTATION('',(#13408),#13406); -#20842=PROPERTY_DEFINITION_REPRESENTATION(#20840,#20841); -#20843=PROPERTY_DEFINITION('','',#11902); -#20844=REPRESENTATION('',(#13408),#13406); -#20845=PROPERTY_DEFINITION_REPRESENTATION(#20843,#20844); -#20846=PROPERTY_DEFINITION('','',#11903); -#20847=REPRESENTATION('',(#13408),#13406); -#20848=PROPERTY_DEFINITION_REPRESENTATION(#20846,#20847); -#20849=PROPERTY_DEFINITION('','',#11904); -#20850=REPRESENTATION('',(#13408),#13406); -#20851=PROPERTY_DEFINITION_REPRESENTATION(#20849,#20850); -#20852=PROPERTY_DEFINITION('','',#11905); -#20853=REPRESENTATION('',(#13408),#13406); -#20854=PROPERTY_DEFINITION_REPRESENTATION(#20852,#20853); -#20855=PROPERTY_DEFINITION('','',#11906); -#20856=REPRESENTATION('',(#13408),#13406); -#20857=PROPERTY_DEFINITION_REPRESENTATION(#20855,#20856); -#20858=PROPERTY_DEFINITION('','',#11907); -#20859=REPRESENTATION('',(#13408),#13406); -#20860=PROPERTY_DEFINITION_REPRESENTATION(#20858,#20859); -#20861=PROPERTY_DEFINITION('','',#11908); -#20862=REPRESENTATION('',(#13408),#13406); -#20863=PROPERTY_DEFINITION_REPRESENTATION(#20861,#20862); -#20864=PROPERTY_DEFINITION('','',#11909); -#20865=REPRESENTATION('',(#13408),#13406); -#20866=PROPERTY_DEFINITION_REPRESENTATION(#20864,#20865); -#20867=PROPERTY_DEFINITION('','',#11910); -#20868=REPRESENTATION('',(#13408),#13406); -#20869=PROPERTY_DEFINITION_REPRESENTATION(#20867,#20868); -#20870=PROPERTY_DEFINITION('','',#11911); -#20871=REPRESENTATION('',(#13408),#13406); -#20872=PROPERTY_DEFINITION_REPRESENTATION(#20870,#20871); -#20873=PROPERTY_DEFINITION('','',#11912); -#20874=REPRESENTATION('',(#13408),#13406); -#20875=PROPERTY_DEFINITION_REPRESENTATION(#20873,#20874); -#20876=PROPERTY_DEFINITION('','',#11913); -#20877=REPRESENTATION('',(#13408),#13406); -#20878=PROPERTY_DEFINITION_REPRESENTATION(#20876,#20877); -#20879=PROPERTY_DEFINITION('','',#11914); -#20880=REPRESENTATION('',(#13408),#13406); -#20881=PROPERTY_DEFINITION_REPRESENTATION(#20879,#20880); -#20882=PROPERTY_DEFINITION('','',#11915); -#20883=REPRESENTATION('',(#13408),#13406); -#20884=PROPERTY_DEFINITION_REPRESENTATION(#20882,#20883); -#20885=PROPERTY_DEFINITION('','',#11916); -#20886=REPRESENTATION('',(#13408),#13406); -#20887=PROPERTY_DEFINITION_REPRESENTATION(#20885,#20886); -#20888=PROPERTY_DEFINITION('','',#11917); -#20889=REPRESENTATION('',(#13408),#13406); -#20890=PROPERTY_DEFINITION_REPRESENTATION(#20888,#20889); -#20891=PROPERTY_DEFINITION('','',#11918); -#20892=REPRESENTATION('',(#13408),#13406); -#20893=PROPERTY_DEFINITION_REPRESENTATION(#20891,#20892); -#20894=PROPERTY_DEFINITION('','',#11919); -#20895=REPRESENTATION('',(#13408),#13406); -#20896=PROPERTY_DEFINITION_REPRESENTATION(#20894,#20895); -#20897=PROPERTY_DEFINITION('','',#11920); -#20898=REPRESENTATION('',(#13408),#13406); -#20899=PROPERTY_DEFINITION_REPRESENTATION(#20897,#20898); -#20900=PROPERTY_DEFINITION('','',#11921); -#20901=REPRESENTATION('',(#13408),#13406); -#20902=PROPERTY_DEFINITION_REPRESENTATION(#20900,#20901); -#20903=PROPERTY_DEFINITION('','',#11922); -#20904=REPRESENTATION('',(#13408),#13406); -#20905=PROPERTY_DEFINITION_REPRESENTATION(#20903,#20904); -#20906=PROPERTY_DEFINITION('','',#11923); -#20907=REPRESENTATION('',(#13408),#13406); -#20908=PROPERTY_DEFINITION_REPRESENTATION(#20906,#20907); -#20909=PROPERTY_DEFINITION('','',#11924); -#20910=REPRESENTATION('',(#13408),#13406); -#20911=PROPERTY_DEFINITION_REPRESENTATION(#20909,#20910); -#20912=PROPERTY_DEFINITION('','',#11925); -#20913=REPRESENTATION('',(#13408),#13406); -#20914=PROPERTY_DEFINITION_REPRESENTATION(#20912,#20913); -#20915=PROPERTY_DEFINITION('','',#11926); -#20916=REPRESENTATION('',(#13408),#13406); -#20917=PROPERTY_DEFINITION_REPRESENTATION(#20915,#20916); -#20918=PROPERTY_DEFINITION('','',#11927); -#20919=REPRESENTATION('',(#13408),#13406); -#20920=PROPERTY_DEFINITION_REPRESENTATION(#20918,#20919); -#20921=PROPERTY_DEFINITION('','',#11928); -#20922=REPRESENTATION('',(#13408),#13406); -#20923=PROPERTY_DEFINITION_REPRESENTATION(#20921,#20922); -#20924=PROPERTY_DEFINITION('','',#11929); -#20925=REPRESENTATION('',(#13408),#13406); -#20926=PROPERTY_DEFINITION_REPRESENTATION(#20924,#20925); -#20927=PROPERTY_DEFINITION('','',#11930); -#20928=REPRESENTATION('',(#13408),#13406); -#20929=PROPERTY_DEFINITION_REPRESENTATION(#20927,#20928); -#20930=PROPERTY_DEFINITION('','',#11931); -#20931=REPRESENTATION('',(#13408),#13406); -#20932=PROPERTY_DEFINITION_REPRESENTATION(#20930,#20931); -#20933=PROPERTY_DEFINITION('','',#11932); -#20934=REPRESENTATION('',(#13408),#13406); -#20935=PROPERTY_DEFINITION_REPRESENTATION(#20933,#20934); -#20936=PROPERTY_DEFINITION('','',#11933); -#20937=REPRESENTATION('',(#13408),#13406); -#20938=PROPERTY_DEFINITION_REPRESENTATION(#20936,#20937); -#20939=PROPERTY_DEFINITION('','',#11934); -#20940=REPRESENTATION('',(#13408),#13406); -#20941=PROPERTY_DEFINITION_REPRESENTATION(#20939,#20940); -#20942=PROPERTY_DEFINITION('','',#11935); -#20943=REPRESENTATION('',(#13408),#13406); -#20944=PROPERTY_DEFINITION_REPRESENTATION(#20942,#20943); -#20945=PROPERTY_DEFINITION('','',#11936); -#20946=REPRESENTATION('',(#13408),#13406); -#20947=PROPERTY_DEFINITION_REPRESENTATION(#20945,#20946); -#20948=PROPERTY_DEFINITION('','',#11937); -#20949=REPRESENTATION('',(#13408),#13406); -#20950=PROPERTY_DEFINITION_REPRESENTATION(#20948,#20949); -#20951=PROPERTY_DEFINITION('','',#11938); -#20952=REPRESENTATION('',(#13408),#13406); -#20953=PROPERTY_DEFINITION_REPRESENTATION(#20951,#20952); -#20954=PROPERTY_DEFINITION('','',#11939); -#20955=REPRESENTATION('',(#13408),#13406); -#20956=PROPERTY_DEFINITION_REPRESENTATION(#20954,#20955); -#20957=PROPERTY_DEFINITION('','',#11940); -#20958=REPRESENTATION('',(#13408),#13406); -#20959=PROPERTY_DEFINITION_REPRESENTATION(#20957,#20958); -#20960=PROPERTY_DEFINITION('','',#11941); -#20961=REPRESENTATION('',(#13408),#13406); -#20962=PROPERTY_DEFINITION_REPRESENTATION(#20960,#20961); -#20963=PROPERTY_DEFINITION('','',#11942); -#20964=REPRESENTATION('',(#13408),#13406); -#20965=PROPERTY_DEFINITION_REPRESENTATION(#20963,#20964); -#20966=PROPERTY_DEFINITION('','',#11943); -#20967=REPRESENTATION('',(#13408),#13406); -#20968=PROPERTY_DEFINITION_REPRESENTATION(#20966,#20967); -#20969=PROPERTY_DEFINITION('','',#11944); -#20970=REPRESENTATION('',(#13408),#13406); -#20971=PROPERTY_DEFINITION_REPRESENTATION(#20969,#20970); -#20972=PROPERTY_DEFINITION('','',#11945); -#20973=REPRESENTATION('',(#13408),#13406); -#20974=PROPERTY_DEFINITION_REPRESENTATION(#20972,#20973); -#20975=PROPERTY_DEFINITION('','',#11946); -#20976=REPRESENTATION('',(#13408),#13406); -#20977=PROPERTY_DEFINITION_REPRESENTATION(#20975,#20976); -#20978=PROPERTY_DEFINITION('','',#11947); -#20979=REPRESENTATION('',(#13408),#13406); -#20980=PROPERTY_DEFINITION_REPRESENTATION(#20978,#20979); -#20981=PROPERTY_DEFINITION('','',#11948); -#20982=REPRESENTATION('',(#13408),#13406); -#20983=PROPERTY_DEFINITION_REPRESENTATION(#20981,#20982); -#20984=PROPERTY_DEFINITION('','',#11949); -#20985=REPRESENTATION('',(#13408),#13406); -#20986=PROPERTY_DEFINITION_REPRESENTATION(#20984,#20985); -#20987=PROPERTY_DEFINITION('','',#11950); -#20988=REPRESENTATION('',(#13408),#13406); -#20989=PROPERTY_DEFINITION_REPRESENTATION(#20987,#20988); -#20990=PROPERTY_DEFINITION('','',#11951); -#20991=REPRESENTATION('',(#13408),#13406); -#20992=PROPERTY_DEFINITION_REPRESENTATION(#20990,#20991); -#20993=PROPERTY_DEFINITION('','',#11952); -#20994=REPRESENTATION('',(#13408),#13406); -#20995=PROPERTY_DEFINITION_REPRESENTATION(#20993,#20994); -#20996=PROPERTY_DEFINITION('','',#11953); -#20997=REPRESENTATION('',(#13408),#13406); -#20998=PROPERTY_DEFINITION_REPRESENTATION(#20996,#20997); -#20999=PROPERTY_DEFINITION('','',#11954); -#21000=REPRESENTATION('',(#13408),#13406); -#21001=PROPERTY_DEFINITION_REPRESENTATION(#20999,#21000); -#21002=PROPERTY_DEFINITION('','',#11955); -#21003=REPRESENTATION('',(#13408),#13406); -#21004=PROPERTY_DEFINITION_REPRESENTATION(#21002,#21003); -#21005=PROPERTY_DEFINITION('','',#11956); -#21006=REPRESENTATION('',(#13408),#13406); -#21007=PROPERTY_DEFINITION_REPRESENTATION(#21005,#21006); -#21008=PROPERTY_DEFINITION('','',#11957); -#21009=REPRESENTATION('',(#13408),#13406); -#21010=PROPERTY_DEFINITION_REPRESENTATION(#21008,#21009); -#21011=PROPERTY_DEFINITION('','',#11958); -#21012=REPRESENTATION('',(#13408),#13406); -#21013=PROPERTY_DEFINITION_REPRESENTATION(#21011,#21012); -#21014=PROPERTY_DEFINITION('','',#11959); -#21015=REPRESENTATION('',(#13408),#13406); -#21016=PROPERTY_DEFINITION_REPRESENTATION(#21014,#21015); -#21017=PROPERTY_DEFINITION('','',#11960); -#21018=REPRESENTATION('',(#13408),#13406); -#21019=PROPERTY_DEFINITION_REPRESENTATION(#21017,#21018); -#21020=PROPERTY_DEFINITION('','',#11961); -#21021=REPRESENTATION('',(#13408),#13406); -#21022=PROPERTY_DEFINITION_REPRESENTATION(#21020,#21021); -#21023=PROPERTY_DEFINITION('','',#11962); -#21024=REPRESENTATION('',(#13408),#13406); -#21025=PROPERTY_DEFINITION_REPRESENTATION(#21023,#21024); -#21026=PROPERTY_DEFINITION('','',#11963); -#21027=REPRESENTATION('',(#13408),#13406); -#21028=PROPERTY_DEFINITION_REPRESENTATION(#21026,#21027); -#21029=PROPERTY_DEFINITION('','',#11964); -#21030=REPRESENTATION('',(#13408),#13406); -#21031=PROPERTY_DEFINITION_REPRESENTATION(#21029,#21030); -#21032=PROPERTY_DEFINITION('','',#11965); -#21033=REPRESENTATION('',(#13408),#13406); -#21034=PROPERTY_DEFINITION_REPRESENTATION(#21032,#21033); -#21035=PROPERTY_DEFINITION('','',#11966); -#21036=REPRESENTATION('',(#13408),#13406); -#21037=PROPERTY_DEFINITION_REPRESENTATION(#21035,#21036); -#21038=PROPERTY_DEFINITION('','',#11967); -#21039=REPRESENTATION('',(#13408),#13406); -#21040=PROPERTY_DEFINITION_REPRESENTATION(#21038,#21039); -#21041=PROPERTY_DEFINITION('','',#11968); -#21042=REPRESENTATION('',(#13408),#13406); -#21043=PROPERTY_DEFINITION_REPRESENTATION(#21041,#21042); -#21044=PROPERTY_DEFINITION('','',#11969); -#21045=REPRESENTATION('',(#13408),#13406); -#21046=PROPERTY_DEFINITION_REPRESENTATION(#21044,#21045); -#21047=PROPERTY_DEFINITION('','',#11970); -#21048=REPRESENTATION('',(#13408),#13406); -#21049=PROPERTY_DEFINITION_REPRESENTATION(#21047,#21048); -#21050=PROPERTY_DEFINITION('','',#11971); -#21051=REPRESENTATION('',(#13408),#13406); -#21052=PROPERTY_DEFINITION_REPRESENTATION(#21050,#21051); -#21053=PROPERTY_DEFINITION('','',#11972); -#21054=REPRESENTATION('',(#13408),#13406); -#21055=PROPERTY_DEFINITION_REPRESENTATION(#21053,#21054); -#21056=PROPERTY_DEFINITION('','',#11973); -#21057=REPRESENTATION('',(#13408),#13406); -#21058=PROPERTY_DEFINITION_REPRESENTATION(#21056,#21057); -#21059=PROPERTY_DEFINITION('','',#11974); -#21060=REPRESENTATION('',(#13408),#13406); -#21061=PROPERTY_DEFINITION_REPRESENTATION(#21059,#21060); -#21062=PROPERTY_DEFINITION('','',#11975); -#21063=REPRESENTATION('',(#13408),#13406); -#21064=PROPERTY_DEFINITION_REPRESENTATION(#21062,#21063); -#21065=PROPERTY_DEFINITION('','',#11976); -#21066=REPRESENTATION('',(#13408),#13406); -#21067=PROPERTY_DEFINITION_REPRESENTATION(#21065,#21066); -#21068=PROPERTY_DEFINITION('','',#11977); -#21069=REPRESENTATION('',(#13408),#13406); -#21070=PROPERTY_DEFINITION_REPRESENTATION(#21068,#21069); -#21071=PROPERTY_DEFINITION('','',#11978); -#21072=REPRESENTATION('',(#13408),#13406); -#21073=PROPERTY_DEFINITION_REPRESENTATION(#21071,#21072); -#21074=PROPERTY_DEFINITION('','',#11979); -#21075=REPRESENTATION('',(#13408),#13406); -#21076=PROPERTY_DEFINITION_REPRESENTATION(#21074,#21075); -#21077=PROPERTY_DEFINITION('','',#11980); -#21078=REPRESENTATION('',(#13408),#13406); -#21079=PROPERTY_DEFINITION_REPRESENTATION(#21077,#21078); -#21080=PROPERTY_DEFINITION('','',#11981); -#21081=REPRESENTATION('',(#13408),#13406); -#21082=PROPERTY_DEFINITION_REPRESENTATION(#21080,#21081); -#21083=PROPERTY_DEFINITION('','',#11982); -#21084=REPRESENTATION('',(#13408),#13406); -#21085=PROPERTY_DEFINITION_REPRESENTATION(#21083,#21084); -#21086=PROPERTY_DEFINITION('','',#11983); -#21087=REPRESENTATION('',(#13408),#13406); -#21088=PROPERTY_DEFINITION_REPRESENTATION(#21086,#21087); -#21089=PROPERTY_DEFINITION('','',#11984); -#21090=REPRESENTATION('',(#13408),#13406); -#21091=PROPERTY_DEFINITION_REPRESENTATION(#21089,#21090); -#21092=PROPERTY_DEFINITION('','',#11985); -#21093=REPRESENTATION('',(#13408),#13406); -#21094=PROPERTY_DEFINITION_REPRESENTATION(#21092,#21093); -#21095=PROPERTY_DEFINITION('','',#11986); -#21096=REPRESENTATION('',(#13408),#13406); -#21097=PROPERTY_DEFINITION_REPRESENTATION(#21095,#21096); -#21098=PROPERTY_DEFINITION('','',#11987); -#21099=REPRESENTATION('',(#13408),#13406); -#21100=PROPERTY_DEFINITION_REPRESENTATION(#21098,#21099); -#21101=PROPERTY_DEFINITION('','',#11988); -#21102=REPRESENTATION('',(#13408),#13406); -#21103=PROPERTY_DEFINITION_REPRESENTATION(#21101,#21102); -#21104=PROPERTY_DEFINITION('','',#11989); -#21105=REPRESENTATION('',(#13408),#13406); -#21106=PROPERTY_DEFINITION_REPRESENTATION(#21104,#21105); -#21107=PROPERTY_DEFINITION('','',#11990); -#21108=REPRESENTATION('',(#13408),#13406); -#21109=PROPERTY_DEFINITION_REPRESENTATION(#21107,#21108); -#21110=PROPERTY_DEFINITION('','',#11991); -#21111=REPRESENTATION('',(#13408),#13406); -#21112=PROPERTY_DEFINITION_REPRESENTATION(#21110,#21111); -#21113=PROPERTY_DEFINITION('','',#11992); -#21114=REPRESENTATION('',(#13408),#13406); -#21115=PROPERTY_DEFINITION_REPRESENTATION(#21113,#21114); -#21116=PROPERTY_DEFINITION('','',#11993); -#21117=REPRESENTATION('',(#13408),#13406); -#21118=PROPERTY_DEFINITION_REPRESENTATION(#21116,#21117); -#21119=PROPERTY_DEFINITION('','',#11994); -#21120=REPRESENTATION('',(#13408),#13406); -#21121=PROPERTY_DEFINITION_REPRESENTATION(#21119,#21120); -#21122=PROPERTY_DEFINITION('','',#11995); -#21123=REPRESENTATION('',(#13408),#13406); -#21124=PROPERTY_DEFINITION_REPRESENTATION(#21122,#21123); -#21125=PROPERTY_DEFINITION('','',#11996); -#21126=REPRESENTATION('',(#13408),#13406); -#21127=PROPERTY_DEFINITION_REPRESENTATION(#21125,#21126); -#21128=PROPERTY_DEFINITION('','',#11997); -#21129=REPRESENTATION('',(#13408),#13406); -#21130=PROPERTY_DEFINITION_REPRESENTATION(#21128,#21129); -#21131=PROPERTY_DEFINITION('','',#11998); -#21132=REPRESENTATION('',(#13408),#13406); -#21133=PROPERTY_DEFINITION_REPRESENTATION(#21131,#21132); -#21134=PROPERTY_DEFINITION('','',#11999); -#21135=REPRESENTATION('',(#13408),#13406); -#21136=PROPERTY_DEFINITION_REPRESENTATION(#21134,#21135); -#21137=PROPERTY_DEFINITION('','',#12000); -#21138=REPRESENTATION('',(#13408),#13406); -#21139=PROPERTY_DEFINITION_REPRESENTATION(#21137,#21138); -#21140=PROPERTY_DEFINITION('','',#12001); -#21141=REPRESENTATION('',(#13408),#13406); -#21142=PROPERTY_DEFINITION_REPRESENTATION(#21140,#21141); -#21143=PROPERTY_DEFINITION('','',#12002); -#21144=REPRESENTATION('',(#13408),#13406); -#21145=PROPERTY_DEFINITION_REPRESENTATION(#21143,#21144); -#21146=PROPERTY_DEFINITION('','',#12003); -#21147=REPRESENTATION('',(#13408),#13406); -#21148=PROPERTY_DEFINITION_REPRESENTATION(#21146,#21147); -#21149=PROPERTY_DEFINITION('','',#12004); -#21150=REPRESENTATION('',(#13408),#13406); -#21151=PROPERTY_DEFINITION_REPRESENTATION(#21149,#21150); -#21152=PROPERTY_DEFINITION('','',#12005); -#21153=REPRESENTATION('',(#13408),#13406); -#21154=PROPERTY_DEFINITION_REPRESENTATION(#21152,#21153); -#21155=PROPERTY_DEFINITION('','',#12006); -#21156=REPRESENTATION('',(#13408),#13406); -#21157=PROPERTY_DEFINITION_REPRESENTATION(#21155,#21156); -#21158=PROPERTY_DEFINITION('','',#12007); -#21159=REPRESENTATION('',(#13408),#13406); -#21160=PROPERTY_DEFINITION_REPRESENTATION(#21158,#21159); -#21161=PROPERTY_DEFINITION('','',#12008); -#21162=REPRESENTATION('',(#13408),#13406); -#21163=PROPERTY_DEFINITION_REPRESENTATION(#21161,#21162); -#21164=PROPERTY_DEFINITION('','',#12009); -#21165=REPRESENTATION('',(#13408),#13406); -#21166=PROPERTY_DEFINITION_REPRESENTATION(#21164,#21165); -#21167=PROPERTY_DEFINITION('','',#12010); -#21168=REPRESENTATION('',(#13408),#13406); -#21169=PROPERTY_DEFINITION_REPRESENTATION(#21167,#21168); -#21170=PROPERTY_DEFINITION('','',#12011); -#21171=REPRESENTATION('',(#13408),#13406); -#21172=PROPERTY_DEFINITION_REPRESENTATION(#21170,#21171); -#21173=PROPERTY_DEFINITION('','',#12012); -#21174=REPRESENTATION('',(#13408),#13406); -#21175=PROPERTY_DEFINITION_REPRESENTATION(#21173,#21174); -#21176=PROPERTY_DEFINITION('','',#12013); -#21177=REPRESENTATION('',(#13408),#13406); -#21178=PROPERTY_DEFINITION_REPRESENTATION(#21176,#21177); -#21179=PROPERTY_DEFINITION('','',#12014); -#21180=REPRESENTATION('',(#13408),#13406); -#21181=PROPERTY_DEFINITION_REPRESENTATION(#21179,#21180); -#21182=PROPERTY_DEFINITION('','',#12015); -#21183=REPRESENTATION('',(#13408),#13406); -#21184=PROPERTY_DEFINITION_REPRESENTATION(#21182,#21183); -#21185=PROPERTY_DEFINITION('','',#12016); -#21186=REPRESENTATION('',(#13408),#13406); -#21187=PROPERTY_DEFINITION_REPRESENTATION(#21185,#21186); -#21188=PROPERTY_DEFINITION('','',#12017); -#21189=REPRESENTATION('',(#13408),#13406); -#21190=PROPERTY_DEFINITION_REPRESENTATION(#21188,#21189); -#21191=PROPERTY_DEFINITION('','',#12018); -#21192=REPRESENTATION('',(#13408),#13406); -#21193=PROPERTY_DEFINITION_REPRESENTATION(#21191,#21192); -#21194=PROPERTY_DEFINITION('','',#12019); -#21195=REPRESENTATION('',(#13408),#13406); -#21196=PROPERTY_DEFINITION_REPRESENTATION(#21194,#21195); -#21197=PROPERTY_DEFINITION('','',#12020); -#21198=REPRESENTATION('',(#13408),#13406); -#21199=PROPERTY_DEFINITION_REPRESENTATION(#21197,#21198); -#21200=PROPERTY_DEFINITION('','',#12021); -#21201=REPRESENTATION('',(#13408),#13406); -#21202=PROPERTY_DEFINITION_REPRESENTATION(#21200,#21201); -#21203=PROPERTY_DEFINITION('','',#12022); -#21204=REPRESENTATION('',(#13408),#13406); -#21205=PROPERTY_DEFINITION_REPRESENTATION(#21203,#21204); -#21206=PROPERTY_DEFINITION('','',#12023); -#21207=REPRESENTATION('',(#13408),#13406); -#21208=PROPERTY_DEFINITION_REPRESENTATION(#21206,#21207); -#21209=PROPERTY_DEFINITION('','',#12024); -#21210=REPRESENTATION('',(#13408),#13406); -#21211=PROPERTY_DEFINITION_REPRESENTATION(#21209,#21210); -#21212=PROPERTY_DEFINITION('','',#12025); -#21213=REPRESENTATION('',(#13408),#13406); -#21214=PROPERTY_DEFINITION_REPRESENTATION(#21212,#21213); -#21215=PROPERTY_DEFINITION('','',#12026); -#21216=REPRESENTATION('',(#13408),#13406); -#21217=PROPERTY_DEFINITION_REPRESENTATION(#21215,#21216); -#21218=PROPERTY_DEFINITION('','',#12027); -#21219=REPRESENTATION('',(#13408),#13406); -#21220=PROPERTY_DEFINITION_REPRESENTATION(#21218,#21219); -#21221=PROPERTY_DEFINITION('','',#12028); -#21222=REPRESENTATION('',(#13408),#13406); -#21223=PROPERTY_DEFINITION_REPRESENTATION(#21221,#21222); -#21224=PROPERTY_DEFINITION('','',#12029); -#21225=REPRESENTATION('',(#13408),#13406); -#21226=PROPERTY_DEFINITION_REPRESENTATION(#21224,#21225); -#21227=PROPERTY_DEFINITION('','',#12030); -#21228=REPRESENTATION('',(#13408),#13406); -#21229=PROPERTY_DEFINITION_REPRESENTATION(#21227,#21228); -#21230=PROPERTY_DEFINITION('','',#12031); -#21231=REPRESENTATION('',(#13408),#13406); -#21232=PROPERTY_DEFINITION_REPRESENTATION(#21230,#21231); -#21233=PROPERTY_DEFINITION('','',#12032); -#21234=REPRESENTATION('',(#13408),#13406); -#21235=PROPERTY_DEFINITION_REPRESENTATION(#21233,#21234); -#21236=PROPERTY_DEFINITION('','',#12033); -#21237=REPRESENTATION('',(#13408),#13406); -#21238=PROPERTY_DEFINITION_REPRESENTATION(#21236,#21237); -#21239=PROPERTY_DEFINITION('','',#12034); -#21240=REPRESENTATION('',(#13408),#13406); -#21241=PROPERTY_DEFINITION_REPRESENTATION(#21239,#21240); -#21242=PROPERTY_DEFINITION('','',#12035); -#21243=REPRESENTATION('',(#13408),#13406); -#21244=PROPERTY_DEFINITION_REPRESENTATION(#21242,#21243); -#21245=PROPERTY_DEFINITION('','',#12036); -#21246=REPRESENTATION('',(#13408),#13406); -#21247=PROPERTY_DEFINITION_REPRESENTATION(#21245,#21246); -#21248=PROPERTY_DEFINITION('','',#12037); -#21249=REPRESENTATION('',(#13408),#13406); -#21250=PROPERTY_DEFINITION_REPRESENTATION(#21248,#21249); -#21251=PROPERTY_DEFINITION('','',#12038); -#21252=REPRESENTATION('',(#13408),#13406); -#21253=PROPERTY_DEFINITION_REPRESENTATION(#21251,#21252); -#21254=PROPERTY_DEFINITION('','',#12039); -#21255=REPRESENTATION('',(#13408),#13406); -#21256=PROPERTY_DEFINITION_REPRESENTATION(#21254,#21255); -#21257=PROPERTY_DEFINITION('','',#12040); -#21258=REPRESENTATION('',(#13408),#13406); -#21259=PROPERTY_DEFINITION_REPRESENTATION(#21257,#21258); -#21260=PROPERTY_DEFINITION('','',#12041); -#21261=REPRESENTATION('',(#13408),#13406); -#21262=PROPERTY_DEFINITION_REPRESENTATION(#21260,#21261); -#21263=PROPERTY_DEFINITION('','',#12042); -#21264=REPRESENTATION('',(#13408),#13406); -#21265=PROPERTY_DEFINITION_REPRESENTATION(#21263,#21264); -#21266=PROPERTY_DEFINITION('','',#12043); -#21267=REPRESENTATION('',(#13408),#13406); -#21268=PROPERTY_DEFINITION_REPRESENTATION(#21266,#21267); -#21269=PROPERTY_DEFINITION('','',#12044); -#21270=REPRESENTATION('',(#13408),#13406); -#21271=PROPERTY_DEFINITION_REPRESENTATION(#21269,#21270); -#21272=PROPERTY_DEFINITION('','',#12045); -#21273=REPRESENTATION('',(#13408),#13406); -#21274=PROPERTY_DEFINITION_REPRESENTATION(#21272,#21273); -#21275=PROPERTY_DEFINITION('','',#12046); -#21276=REPRESENTATION('',(#13408),#13406); -#21277=PROPERTY_DEFINITION_REPRESENTATION(#21275,#21276); -#21278=PROPERTY_DEFINITION('','',#12047); -#21279=REPRESENTATION('',(#13408),#13406); -#21280=PROPERTY_DEFINITION_REPRESENTATION(#21278,#21279); -#21281=PROPERTY_DEFINITION('','',#12048); -#21282=REPRESENTATION('',(#13408),#13406); -#21283=PROPERTY_DEFINITION_REPRESENTATION(#21281,#21282); -#21284=PROPERTY_DEFINITION('','',#12049); -#21285=REPRESENTATION('',(#13408),#13406); -#21286=PROPERTY_DEFINITION_REPRESENTATION(#21284,#21285); -#21287=PROPERTY_DEFINITION('','',#12050); -#21288=REPRESENTATION('',(#13408),#13406); -#21289=PROPERTY_DEFINITION_REPRESENTATION(#21287,#21288); -#21290=PROPERTY_DEFINITION('','',#12051); -#21291=REPRESENTATION('',(#13408),#13406); -#21292=PROPERTY_DEFINITION_REPRESENTATION(#21290,#21291); -#21293=PROPERTY_DEFINITION('','',#12052); -#21294=REPRESENTATION('',(#13408),#13406); -#21295=PROPERTY_DEFINITION_REPRESENTATION(#21293,#21294); -#21296=PROPERTY_DEFINITION('','',#12053); -#21297=REPRESENTATION('',(#13408),#13406); -#21298=PROPERTY_DEFINITION_REPRESENTATION(#21296,#21297); -#21299=PROPERTY_DEFINITION('','',#12054); -#21300=REPRESENTATION('',(#13408),#13406); -#21301=PROPERTY_DEFINITION_REPRESENTATION(#21299,#21300); -#21302=PROPERTY_DEFINITION('','',#12055); -#21303=REPRESENTATION('',(#13408),#13406); -#21304=PROPERTY_DEFINITION_REPRESENTATION(#21302,#21303); -#21305=PROPERTY_DEFINITION('','',#12056); -#21306=REPRESENTATION('',(#13408),#13406); -#21307=PROPERTY_DEFINITION_REPRESENTATION(#21305,#21306); -#21308=PROPERTY_DEFINITION('','',#12057); -#21309=REPRESENTATION('',(#13408),#13406); -#21310=PROPERTY_DEFINITION_REPRESENTATION(#21308,#21309); -#21311=PROPERTY_DEFINITION('','',#12058); -#21312=REPRESENTATION('',(#13408),#13406); -#21313=PROPERTY_DEFINITION_REPRESENTATION(#21311,#21312); -#21314=PROPERTY_DEFINITION('','',#12059); -#21315=REPRESENTATION('',(#13408),#13406); -#21316=PROPERTY_DEFINITION_REPRESENTATION(#21314,#21315); -#21317=PROPERTY_DEFINITION('','',#12060); -#21318=REPRESENTATION('',(#13408),#13406); -#21319=PROPERTY_DEFINITION_REPRESENTATION(#21317,#21318); -#21320=PROPERTY_DEFINITION('','',#12061); -#21321=REPRESENTATION('',(#13408),#13406); -#21322=PROPERTY_DEFINITION_REPRESENTATION(#21320,#21321); -#21323=PROPERTY_DEFINITION('','',#12062); -#21324=REPRESENTATION('',(#13408),#13406); -#21325=PROPERTY_DEFINITION_REPRESENTATION(#21323,#21324); -#21326=PROPERTY_DEFINITION('','',#12063); -#21327=REPRESENTATION('',(#13408),#13406); -#21328=PROPERTY_DEFINITION_REPRESENTATION(#21326,#21327); -#21329=PROPERTY_DEFINITION('','',#12064); -#21330=REPRESENTATION('',(#13408),#13406); -#21331=PROPERTY_DEFINITION_REPRESENTATION(#21329,#21330); -#21332=PROPERTY_DEFINITION('','',#12065); -#21333=REPRESENTATION('',(#13408),#13406); -#21334=PROPERTY_DEFINITION_REPRESENTATION(#21332,#21333); -#21335=PROPERTY_DEFINITION('','',#12066); -#21336=REPRESENTATION('',(#13408),#13406); -#21337=PROPERTY_DEFINITION_REPRESENTATION(#21335,#21336); -#21338=PROPERTY_DEFINITION('','',#12067); -#21339=REPRESENTATION('',(#13408),#13406); -#21340=PROPERTY_DEFINITION_REPRESENTATION(#21338,#21339); -#21341=PROPERTY_DEFINITION('','',#12068); -#21342=REPRESENTATION('',(#13408),#13406); -#21343=PROPERTY_DEFINITION_REPRESENTATION(#21341,#21342); -#21344=PROPERTY_DEFINITION('','',#12069); -#21345=REPRESENTATION('',(#13408),#13406); -#21346=PROPERTY_DEFINITION_REPRESENTATION(#21344,#21345); -#21347=PROPERTY_DEFINITION('','',#12070); -#21348=REPRESENTATION('',(#13408),#13406); -#21349=PROPERTY_DEFINITION_REPRESENTATION(#21347,#21348); -#21350=PROPERTY_DEFINITION('','',#12071); -#21351=REPRESENTATION('',(#13408),#13406); -#21352=PROPERTY_DEFINITION_REPRESENTATION(#21350,#21351); -#21353=PROPERTY_DEFINITION('','',#12072); -#21354=REPRESENTATION('',(#13408),#13406); -#21355=PROPERTY_DEFINITION_REPRESENTATION(#21353,#21354); -#21356=PROPERTY_DEFINITION('','',#12073); -#21357=REPRESENTATION('',(#13408),#13406); -#21358=PROPERTY_DEFINITION_REPRESENTATION(#21356,#21357); -#21359=PROPERTY_DEFINITION('','',#12074); -#21360=REPRESENTATION('',(#13408),#13406); -#21361=PROPERTY_DEFINITION_REPRESENTATION(#21359,#21360); -#21362=PROPERTY_DEFINITION('','',#12075); -#21363=REPRESENTATION('',(#13408),#13406); -#21364=PROPERTY_DEFINITION_REPRESENTATION(#21362,#21363); -#21365=PROPERTY_DEFINITION('','',#12076); -#21366=REPRESENTATION('',(#13408),#13406); -#21367=PROPERTY_DEFINITION_REPRESENTATION(#21365,#21366); -#21368=PROPERTY_DEFINITION('','',#12077); -#21369=REPRESENTATION('',(#13408),#13406); -#21370=PROPERTY_DEFINITION_REPRESENTATION(#21368,#21369); -#21371=PROPERTY_DEFINITION('','',#12078); -#21372=REPRESENTATION('',(#13408),#13406); -#21373=PROPERTY_DEFINITION_REPRESENTATION(#21371,#21372); -#21374=PROPERTY_DEFINITION('','',#12079); -#21375=REPRESENTATION('',(#13408),#13406); -#21376=PROPERTY_DEFINITION_REPRESENTATION(#21374,#21375); -#21377=PROPERTY_DEFINITION('','',#12080); -#21378=REPRESENTATION('',(#13408),#13406); -#21379=PROPERTY_DEFINITION_REPRESENTATION(#21377,#21378); -#21380=PROPERTY_DEFINITION('','',#12081); -#21381=REPRESENTATION('',(#13408),#13406); -#21382=PROPERTY_DEFINITION_REPRESENTATION(#21380,#21381); -#21383=PROPERTY_DEFINITION('','',#12082); -#21384=REPRESENTATION('',(#13408),#13406); -#21385=PROPERTY_DEFINITION_REPRESENTATION(#21383,#21384); -#21386=PROPERTY_DEFINITION('','',#12083); -#21387=REPRESENTATION('',(#13408),#13406); -#21388=PROPERTY_DEFINITION_REPRESENTATION(#21386,#21387); -#21389=PROPERTY_DEFINITION('','',#12084); -#21390=REPRESENTATION('',(#13408),#13406); -#21391=PROPERTY_DEFINITION_REPRESENTATION(#21389,#21390); -#21392=PROPERTY_DEFINITION('','',#12085); -#21393=REPRESENTATION('',(#13408),#13406); -#21394=PROPERTY_DEFINITION_REPRESENTATION(#21392,#21393); -#21395=PROPERTY_DEFINITION('','',#12086); -#21396=REPRESENTATION('',(#13408),#13406); -#21397=PROPERTY_DEFINITION_REPRESENTATION(#21395,#21396); -#21398=PROPERTY_DEFINITION('','',#12087); -#21399=REPRESENTATION('',(#13408),#13406); -#21400=PROPERTY_DEFINITION_REPRESENTATION(#21398,#21399); -#21401=PROPERTY_DEFINITION('','',#12088); -#21402=REPRESENTATION('',(#13408),#13406); -#21403=PROPERTY_DEFINITION_REPRESENTATION(#21401,#21402); -#21404=PROPERTY_DEFINITION('','',#12089); -#21405=REPRESENTATION('',(#13408),#13406); -#21406=PROPERTY_DEFINITION_REPRESENTATION(#21404,#21405); -#21407=PROPERTY_DEFINITION('','',#12090); -#21408=REPRESENTATION('',(#13408),#13406); -#21409=PROPERTY_DEFINITION_REPRESENTATION(#21407,#21408); -#21410=PROPERTY_DEFINITION('','',#12091); -#21411=REPRESENTATION('',(#13408),#13406); -#21412=PROPERTY_DEFINITION_REPRESENTATION(#21410,#21411); -#21413=PROPERTY_DEFINITION('','',#12092); -#21414=REPRESENTATION('',(#13408),#13406); -#21415=PROPERTY_DEFINITION_REPRESENTATION(#21413,#21414); -#21416=PROPERTY_DEFINITION('','',#12093); -#21417=REPRESENTATION('',(#13408),#13406); -#21418=PROPERTY_DEFINITION_REPRESENTATION(#21416,#21417); -#21419=PROPERTY_DEFINITION('','',#12094); -#21420=REPRESENTATION('',(#13408),#13406); -#21421=PROPERTY_DEFINITION_REPRESENTATION(#21419,#21420); -#21422=PROPERTY_DEFINITION('','',#12095); -#21423=REPRESENTATION('',(#13408),#13406); -#21424=PROPERTY_DEFINITION_REPRESENTATION(#21422,#21423); -#21425=PROPERTY_DEFINITION('','',#12096); -#21426=REPRESENTATION('',(#13408),#13406); -#21427=PROPERTY_DEFINITION_REPRESENTATION(#21425,#21426); -#21428=PROPERTY_DEFINITION('','',#12097); -#21429=REPRESENTATION('',(#13408),#13406); -#21430=PROPERTY_DEFINITION_REPRESENTATION(#21428,#21429); -#21431=PROPERTY_DEFINITION('','',#12098); -#21432=REPRESENTATION('',(#13408),#13406); -#21433=PROPERTY_DEFINITION_REPRESENTATION(#21431,#21432); -#21434=PROPERTY_DEFINITION('','',#12099); -#21435=REPRESENTATION('',(#13408),#13406); -#21436=PROPERTY_DEFINITION_REPRESENTATION(#21434,#21435); -#21437=PROPERTY_DEFINITION('','',#12100); -#21438=REPRESENTATION('',(#13408),#13406); -#21439=PROPERTY_DEFINITION_REPRESENTATION(#21437,#21438); -#21440=PROPERTY_DEFINITION('','',#12101); -#21441=REPRESENTATION('',(#13408),#13406); -#21442=PROPERTY_DEFINITION_REPRESENTATION(#21440,#21441); -#21443=PROPERTY_DEFINITION('','',#12102); -#21444=REPRESENTATION('',(#13408),#13406); -#21445=PROPERTY_DEFINITION_REPRESENTATION(#21443,#21444); -#21446=PROPERTY_DEFINITION('','',#12103); -#21447=REPRESENTATION('',(#13408),#13406); -#21448=PROPERTY_DEFINITION_REPRESENTATION(#21446,#21447); -#21449=PROPERTY_DEFINITION('','',#12104); -#21450=REPRESENTATION('',(#13408),#13406); -#21451=PROPERTY_DEFINITION_REPRESENTATION(#21449,#21450); -#21452=PROPERTY_DEFINITION('','',#12105); -#21453=REPRESENTATION('',(#13408),#13406); -#21454=PROPERTY_DEFINITION_REPRESENTATION(#21452,#21453); -#21455=PROPERTY_DEFINITION('','',#12106); -#21456=REPRESENTATION('',(#13408),#13406); -#21457=PROPERTY_DEFINITION_REPRESENTATION(#21455,#21456); -#21458=PROPERTY_DEFINITION('','',#12107); -#21459=REPRESENTATION('',(#13408),#13406); -#21460=PROPERTY_DEFINITION_REPRESENTATION(#21458,#21459); -#21461=PROPERTY_DEFINITION('','',#12108); -#21462=REPRESENTATION('',(#13408),#13406); -#21463=PROPERTY_DEFINITION_REPRESENTATION(#21461,#21462); -#21464=PROPERTY_DEFINITION('','',#12109); -#21465=REPRESENTATION('',(#13408),#13406); -#21466=PROPERTY_DEFINITION_REPRESENTATION(#21464,#21465); -#21467=PROPERTY_DEFINITION('','',#12110); -#21468=REPRESENTATION('',(#13408),#13406); -#21469=PROPERTY_DEFINITION_REPRESENTATION(#21467,#21468); -#21470=PROPERTY_DEFINITION('','',#12111); -#21471=REPRESENTATION('',(#13408),#13406); -#21472=PROPERTY_DEFINITION_REPRESENTATION(#21470,#21471); -#21473=PROPERTY_DEFINITION('','',#12112); -#21474=REPRESENTATION('',(#13408),#13406); -#21475=PROPERTY_DEFINITION_REPRESENTATION(#21473,#21474); -#21476=PROPERTY_DEFINITION('','',#12113); -#21477=REPRESENTATION('',(#13408),#13406); -#21478=PROPERTY_DEFINITION_REPRESENTATION(#21476,#21477); -#21479=PROPERTY_DEFINITION('','',#12114); -#21480=REPRESENTATION('',(#13408),#13406); -#21481=PROPERTY_DEFINITION_REPRESENTATION(#21479,#21480); -#21482=PROPERTY_DEFINITION('','',#12115); -#21483=REPRESENTATION('',(#13408),#13406); -#21484=PROPERTY_DEFINITION_REPRESENTATION(#21482,#21483); -#21485=PROPERTY_DEFINITION('','',#12116); -#21486=REPRESENTATION('',(#13408),#13406); -#21487=PROPERTY_DEFINITION_REPRESENTATION(#21485,#21486); -#21488=PROPERTY_DEFINITION('','',#12117); -#21489=REPRESENTATION('',(#13408),#13406); -#21490=PROPERTY_DEFINITION_REPRESENTATION(#21488,#21489); -#21491=PROPERTY_DEFINITION('','',#12118); -#21492=REPRESENTATION('',(#13408),#13406); -#21493=PROPERTY_DEFINITION_REPRESENTATION(#21491,#21492); -#21494=PROPERTY_DEFINITION('','',#12119); -#21495=REPRESENTATION('',(#13408),#13406); -#21496=PROPERTY_DEFINITION_REPRESENTATION(#21494,#21495); -#21497=PROPERTY_DEFINITION('','',#12120); -#21498=REPRESENTATION('',(#13408),#13406); -#21499=PROPERTY_DEFINITION_REPRESENTATION(#21497,#21498); -#21500=PROPERTY_DEFINITION('','',#12121); -#21501=REPRESENTATION('',(#13408),#13406); -#21502=PROPERTY_DEFINITION_REPRESENTATION(#21500,#21501); -#21503=PROPERTY_DEFINITION('','',#12122); -#21504=REPRESENTATION('',(#13408),#13406); -#21505=PROPERTY_DEFINITION_REPRESENTATION(#21503,#21504); -#21506=PROPERTY_DEFINITION('','',#12123); -#21507=REPRESENTATION('',(#13408),#13406); -#21508=PROPERTY_DEFINITION_REPRESENTATION(#21506,#21507); -#21509=PROPERTY_DEFINITION('','',#12124); -#21510=REPRESENTATION('',(#13408),#13406); -#21511=PROPERTY_DEFINITION_REPRESENTATION(#21509,#21510); -#21512=PROPERTY_DEFINITION('','',#12125); -#21513=REPRESENTATION('',(#13408),#13406); -#21514=PROPERTY_DEFINITION_REPRESENTATION(#21512,#21513); -#21515=PROPERTY_DEFINITION('','',#12126); -#21516=REPRESENTATION('',(#13408),#13406); -#21517=PROPERTY_DEFINITION_REPRESENTATION(#21515,#21516); -#21518=PROPERTY_DEFINITION('','',#12127); -#21519=REPRESENTATION('',(#13408),#13406); -#21520=PROPERTY_DEFINITION_REPRESENTATION(#21518,#21519); -#21521=PROPERTY_DEFINITION('','',#12128); -#21522=REPRESENTATION('',(#13408),#13406); -#21523=PROPERTY_DEFINITION_REPRESENTATION(#21521,#21522); -#21524=PROPERTY_DEFINITION('','',#12129); -#21525=REPRESENTATION('',(#13408),#13406); -#21526=PROPERTY_DEFINITION_REPRESENTATION(#21524,#21525); -#21527=PROPERTY_DEFINITION('','',#12130); -#21528=REPRESENTATION('',(#13408),#13406); -#21529=PROPERTY_DEFINITION_REPRESENTATION(#21527,#21528); -#21530=PROPERTY_DEFINITION('','',#12131); -#21531=REPRESENTATION('',(#13408),#13406); -#21532=PROPERTY_DEFINITION_REPRESENTATION(#21530,#21531); -#21533=PROPERTY_DEFINITION('','',#12132); -#21534=REPRESENTATION('',(#13408),#13406); -#21535=PROPERTY_DEFINITION_REPRESENTATION(#21533,#21534); -#21536=PROPERTY_DEFINITION('','',#12133); -#21537=REPRESENTATION('',(#13408),#13406); -#21538=PROPERTY_DEFINITION_REPRESENTATION(#21536,#21537); -#21539=PROPERTY_DEFINITION('','',#12134); -#21540=REPRESENTATION('',(#13408),#13406); -#21541=PROPERTY_DEFINITION_REPRESENTATION(#21539,#21540); -#21543=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#397,#14021,#14023); -#21545=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#409,#14021,#14023); -#21547=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#421,#14021,#14023); -#21549=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#433,#14021,#14023); -#21551=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2093,#14021,#14023); -#21553=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2162,#14021,#14023); -#21555=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2172,#14021,#14023); -#21557=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2182,#14021,#14023); -#21559=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2192,#14021,#14023); -#21561=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2252,#14021,#14023); -#21563=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2448,#14021,#14023); -#21565=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2458,#14021,#14023); -#21567=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2468,#14021,#14023); -#21569=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2478,#14021,#14023); -#21571=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2592,#14021,#14023); -#21572=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#400); -#21573=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#412); -#21574=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#424); -#21575=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#436); -#21576=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#136,#446); -#21577=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#95,#454); -#21578=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#903); -#21579=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#136,#912); -#21580=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2080); -#21581=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2096); -#21582=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2165); -#21583=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2175); -#21584=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2185); -#21585=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2195); -#21586=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#136,#2203); -#21587=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#95,#2211); -#21588=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2260); -#21589=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#105,#2300); -#21590=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#105,#2302); -#21591=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#149,#2304); -#21592=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#149,#2306); -#21593=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#120,#2308); -#21594=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#120,#2310); -#21595=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#114,#2312); -#21596=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#114,#2314); -#21597=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#141,#2316); -#21598=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#141,#2318); -#21599=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#92,#2329); -#21600=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#92,#2331); -#21601=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#104,#2333); -#21602=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#104,#2335); -#21603=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#163,#2337); -#21604=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#163,#2339); -#21605=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#164,#2341); -#21606=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#164,#2343); -#21607=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#115,#2345); -#21608=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#115,#2347); -#21609=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2349); -#21610=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2351); -#21611=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#168,#2353); -#21612=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#168,#2355); -#21613=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#125,#2359); -#21614=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#125,#2361); -#21615=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#129,#2363); -#21616=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#129,#2365); -#21617=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#156,#2367); -#21618=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#156,#2369); -#21619=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#150,#2371); -#21620=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#150,#2373); -#21621=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2451); -#21622=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2461); -#21623=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2471); -#21624=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2481); -#21625=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#136,#2489); -#21626=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#95,#2497); -#21627=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#2595); -#21628=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#136,#2655); -#21629=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#105,#7732); -#21630=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#105,#7734); -#21631=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#149,#7736); -#21632=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#149,#7738); -#21633=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#120,#7740); -#21634=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#120,#7742); -#21635=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#114,#7744); -#21636=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#114,#7746); -#21637=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#141,#7748); -#21638=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#141,#7750); -#21639=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#92,#7761); -#21640=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#92,#7763); -#21641=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#104,#7765); -#21642=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#104,#7767); -#21643=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#163,#7769); -#21644=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#163,#7771); -#21645=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#164,#7773); -#21646=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#164,#7775); -#21647=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#115,#7777); -#21648=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#115,#7779); -#21649=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#7781); -#21650=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#7783); -#21651=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#168,#7785); -#21652=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#168,#7787); -#21653=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#125,#7791); -#21654=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#125,#7793); -#21655=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#129,#7795); -#21656=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#129,#7797); -#21657=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#156,#7799); -#21658=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#156,#7801); -#21659=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#150,#7803); -#21660=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#150,#7805); -#21661=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#105,#7862); -#21662=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#105,#7864); -#21663=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#149,#7866); -#21664=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#149,#7868); -#21665=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#120,#7870); -#21666=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#120,#7872); -#21667=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#114,#7874); -#21668=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#114,#7876); -#21669=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#141,#7878); -#21670=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#141,#7880); -#21671=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#92,#7906); -#21672=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#92,#7908); -#21673=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#104,#7910); -#21674=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#104,#7912); -#21675=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#163,#7914); -#21676=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#163,#7916); -#21677=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#164,#7918); -#21678=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#164,#7920); -#21679=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#115,#7922); -#21680=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#115,#7924); -#21681=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#7926); -#21682=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#140,#7928); -#21683=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#168,#7930); -#21684=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#168,#7932); -#21685=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#125,#7936); -#21686=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#125,#7938); -#21687=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#129,#7940); -#21688=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#129,#7942); -#21689=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#156,#7944); -#21690=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#156,#7946); -#21691=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#150,#7948); -#21692=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#150,#7950); -#21693=PROPERTY_DEFINITION('stratum thickness',$,#107); -#21694=PROPERTY_DEFINITION_REPRESENTATION(#21693,#12816); -#21695=PROPERTY_DEFINITION('layer position','internal',#107); -#21696=PROPERTY_DEFINITION('stratum thickness',$,#12717); -#21697=PROPERTY_DEFINITION_REPRESENTATION(#21696,#12718); -#21698=PROPERTY_DEFINITION('layer position','internal',#12717); -#21699=PROPERTY_DEFINITION('stratum thickness',$,#12725); -#21700=PROPERTY_DEFINITION_REPRESENTATION(#21699,#12726); -#21701=PROPERTY_DEFINITION('layer position','internal',#12725); -#21702=PROPERTY_DEFINITION('stratum thickness',$,#12732); -#21703=PROPERTY_DEFINITION_REPRESENTATION(#21702,#12733); -#21704=PROPERTY_DEFINITION('layer position','internal',#12732); -#21705=PROPERTY_DEFINITION('stratum thickness',$,#12739); -#21706=PROPERTY_DEFINITION_REPRESENTATION(#21705,#12740); -#21707=PROPERTY_DEFINITION('layer position','internal',#12739); -#21708=PROPERTY_DEFINITION('stratum thickness',$,#12746); -#21709=PROPERTY_DEFINITION_REPRESENTATION(#21708,#12747); -#21710=PROPERTY_DEFINITION('layer position','internal',#12746); -#21711=PROPERTY_DEFINITION('stratum thickness',$,#12753); -#21712=PROPERTY_DEFINITION_REPRESENTATION(#21711,#12754); -#21713=PROPERTY_DEFINITION('layer position','internal',#12753); -#21714=PROPERTY_DEFINITION('stratum thickness',$,#12760); -#21715=PROPERTY_DEFINITION_REPRESENTATION(#21714,#12761); -#21716=PROPERTY_DEFINITION('layer position','internal',#12760); -#21717=PROPERTY_DEFINITION('stratum thickness',$,#12767); -#21718=PROPERTY_DEFINITION_REPRESENTATION(#21717,#12768); -#21719=PROPERTY_DEFINITION('layer position','internal',#12767); -#21720=PROPERTY_DEFINITION('stratum thickness',$,#12774); -#21721=PROPERTY_DEFINITION_REPRESENTATION(#21720,#12775); -#21722=PROPERTY_DEFINITION('layer position','internal',#12774); -#21723=PROPERTY_DEFINITION('stratum thickness',$,#12781); -#21724=PROPERTY_DEFINITION_REPRESENTATION(#21723,#12782); -#21725=PROPERTY_DEFINITION('layer position','internal',#12781); -#21726=PROPERTY_DEFINITION('stratum thickness',$,#12788); -#21727=PROPERTY_DEFINITION_REPRESENTATION(#21726,#12789); -#21728=PROPERTY_DEFINITION('layer position','internal',#12788); -#21729=PROPERTY_DEFINITION('stratum thickness',$,#12795); -#21730=PROPERTY_DEFINITION_REPRESENTATION(#21729,#12796); -#21731=PROPERTY_DEFINITION('layer position','internal',#12795); -#21732=PROPERTY_DEFINITION('stratum thickness',$,#12802); -#21733=PROPERTY_DEFINITION_REPRESENTATION(#21732,#12803); -#21734=PROPERTY_DEFINITION('layer position','internal',#12802); -#21735=PROPERTY_DEFINITION('stratum thickness',$,#12809); -#21736=PROPERTY_DEFINITION_REPRESENTATION(#21735,#12810); -#21737=PROPERTY_DEFINITION('layer position','internal',#12809); -#21738=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#887); -#21739=SHAPE_DEFINITION_REPRESENTATION(#884,#887); -#21740=REPRESENTATION_RELATIONSHIP('',$,#887,#15540); -#21741=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2069); -#21742=SHAPE_DEFINITION_REPRESENTATION(#2066,#2069); -#21743=REPRESENTATION_RELATIONSHIP('',$,#2069,#15540); -#21744=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2258); -#21745=SHAPE_DEFINITION_REPRESENTATION(#2255,#2258); -#21746=REPRESENTATION_RELATIONSHIP('',$,#2258,#15540); -#21747=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2266); -#21748=SHAPE_DEFINITION_REPRESENTATION(#2263,#2266); -#21749=REPRESENTATION_RELATIONSHIP('',$,#2266,#15540); -#21750=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2535); -#21751=SHAPE_DEFINITION_REPRESENTATION(#2534,#2535); -#21752=REPRESENTATION_RELATIONSHIP('',$,#2535,#15540); -#21753=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#7701); -#21754=SHAPE_DEFINITION_REPRESENTATION(#7698,#7701); -#21755=REPRESENTATION_RELATIONSHIP('',$,#7701,#15540); -#21756=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#7832); -#21757=SHAPE_DEFINITION_REPRESENTATION(#7829,#7832); -#21758=REPRESENTATION_RELATIONSHIP('',$,#7832,#15540); -#21759=PRODUCT_CONTEXT('template model',#14022,''); -#21760=REPRESENTATION_MAP(#23,#390); -#21761=PRODUCT_DEFINITION_SHAPE('',$,#400); -#21762=SHAPE_DEFINITION_REPRESENTATION(#21761,#21763); -#21763=SHAPE_REPRESENTATION('',(#401),#21764); -#21764=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#21765=REPRESENTATION_MAP(#23,#402); -#21766=PRODUCT_DEFINITION_SHAPE('',$,#412); -#21767=SHAPE_DEFINITION_REPRESENTATION(#21766,#21768); -#21768=SHAPE_REPRESENTATION('',(#413),#21764); -#21769=REPRESENTATION_MAP(#23,#414); -#21770=PRODUCT_DEFINITION_SHAPE('',$,#424); -#21771=SHAPE_DEFINITION_REPRESENTATION(#21770,#21772); -#21772=SHAPE_REPRESENTATION('',(#425),#21764); -#21773=REPRESENTATION_MAP(#23,#426); -#21774=PRODUCT_DEFINITION_SHAPE('',$,#436); -#21775=SHAPE_DEFINITION_REPRESENTATION(#21774,#21776); -#21776=SHAPE_REPRESENTATION('',(#437),#21764); -#21777=REPRESENTATION_MAP(#23,#438); -#21778=PRODUCT_DEFINITION_SHAPE('',$,#446); -#21779=SHAPE_DEFINITION_REPRESENTATION(#21778,#21780); -#21780=SHAPE_REPRESENTATION('',(#447),#21764); -#21781=REPRESENTATION_MAP(#23,#448); -#21782=PRODUCT_DEFINITION_SHAPE('',$,#454); -#21783=SHAPE_DEFINITION_REPRESENTATION(#21782,#21784); -#21784=SHAPE_REPRESENTATION('',(#455),#21764); -#21785=REPRESENTATION_MAP(#23,#458); -#21786=PRODUCT_DEFINITION_SHAPE('',$,#462); -#21787=SHAPE_DEFINITION_REPRESENTATION(#21786,#21788); -#21788=SHAPE_REPRESENTATION('',(#466),#21764); -#21789=REPRESENTATION_MAP(#23,#889); -#21790=PRODUCT_DEFINITION_SHAPE('',$,#903); -#21791=SHAPE_DEFINITION_REPRESENTATION(#21790,#21792); -#21792=SHAPE_REPRESENTATION('',(#904),#21764); -#21793=REPRESENTATION_MAP(#23,#905); -#21794=PRODUCT_DEFINITION_SHAPE('',$,#912); -#21795=SHAPE_DEFINITION_REPRESENTATION(#21794,#21796); -#21796=SHAPE_REPRESENTATION('',(#913),#21764); -#21797=REPRESENTATION_MAP(#23,#887); -#21798=PRODUCT_DEFINITION_SHAPE('',$,#914); -#21799=SHAPE_DEFINITION_REPRESENTATION(#21798,#21800); -#21800=SHAPE_REPRESENTATION('',(#915),#21764); -#21801=PRODUCT_DEFINITION_SHAPE('',$,#916); -#21802=SHAPE_DEFINITION_REPRESENTATION(#21801,#21803); -#21803=SHAPE_REPRESENTATION('',(#917),#21764); -#21804=PRODUCT_DEFINITION_SHAPE('',$,#918); -#21805=SHAPE_DEFINITION_REPRESENTATION(#21804,#21806); -#21806=SHAPE_REPRESENTATION('',(#919),#21764); -#21807=PRODUCT_DEFINITION_SHAPE('',$,#920); -#21808=SHAPE_DEFINITION_REPRESENTATION(#21807,#21809); -#21809=SHAPE_REPRESENTATION('',(#921),#21764); -#21810=PRODUCT_DEFINITION_SHAPE('',$,#922); -#21811=SHAPE_DEFINITION_REPRESENTATION(#21810,#21812); -#21812=SHAPE_REPRESENTATION('',(#923),#21764); -#21813=PRODUCT_DEFINITION_SHAPE('',$,#924); -#21814=SHAPE_DEFINITION_REPRESENTATION(#21813,#21815); -#21815=SHAPE_REPRESENTATION('',(#925),#21764); -#21816=PRODUCT_DEFINITION_SHAPE('',$,#926); -#21817=SHAPE_DEFINITION_REPRESENTATION(#21816,#21818); -#21818=SHAPE_REPRESENTATION('',(#927),#21764); -#21819=PRODUCT_DEFINITION_SHAPE('',$,#928); -#21820=SHAPE_DEFINITION_REPRESENTATION(#21819,#21821); -#21821=SHAPE_REPRESENTATION('',(#929),#21764); -#21822=PRODUCT_DEFINITION_SHAPE('',$,#930); -#21823=SHAPE_DEFINITION_REPRESENTATION(#21822,#21824); -#21824=SHAPE_REPRESENTATION('',(#931),#21764); -#21825=PRODUCT_DEFINITION_SHAPE('',$,#932); -#21826=SHAPE_DEFINITION_REPRESENTATION(#21825,#21827); -#21827=SHAPE_REPRESENTATION('',(#933),#21764); -#21828=PRODUCT_DEFINITION_SHAPE('',$,#934); -#21829=SHAPE_DEFINITION_REPRESENTATION(#21828,#21830); -#21830=SHAPE_REPRESENTATION('',(#935),#21764); -#21831=PRODUCT_DEFINITION_SHAPE('',$,#936); -#21832=SHAPE_DEFINITION_REPRESENTATION(#21831,#21833); -#21833=SHAPE_REPRESENTATION('',(#937),#21764); -#21834=PRODUCT_DEFINITION_SHAPE('',$,#938); -#21835=SHAPE_DEFINITION_REPRESENTATION(#21834,#21836); -#21836=SHAPE_REPRESENTATION('',(#939),#21764); -#21837=PRODUCT_DEFINITION_SHAPE('',$,#940); -#21838=SHAPE_DEFINITION_REPRESENTATION(#21837,#21839); -#21839=SHAPE_REPRESENTATION('',(#941),#21764); -#21840=PRODUCT_DEFINITION_SHAPE('',$,#942); -#21841=SHAPE_DEFINITION_REPRESENTATION(#21840,#21842); -#21842=SHAPE_REPRESENTATION('',(#943),#21764); -#21843=PRODUCT_DEFINITION_SHAPE('',$,#944); -#21844=SHAPE_DEFINITION_REPRESENTATION(#21843,#21845); -#21845=SHAPE_REPRESENTATION('',(#945),#21764); -#21846=PRODUCT_DEFINITION_SHAPE('',$,#946); -#21847=SHAPE_DEFINITION_REPRESENTATION(#21846,#21848); -#21848=SHAPE_REPRESENTATION('',(#947),#21764); -#21849=PRODUCT_DEFINITION_SHAPE('',$,#948); -#21850=SHAPE_DEFINITION_REPRESENTATION(#21849,#21851); -#21851=SHAPE_REPRESENTATION('',(#949),#21764); -#21852=PRODUCT_DEFINITION_SHAPE('',$,#950); -#21853=SHAPE_DEFINITION_REPRESENTATION(#21852,#21854); -#21854=SHAPE_REPRESENTATION('',(#951),#21764); -#21855=PRODUCT_DEFINITION_SHAPE('',$,#952); -#21856=SHAPE_DEFINITION_REPRESENTATION(#21855,#21857); -#21857=SHAPE_REPRESENTATION('',(#953),#21764); -#21858=PRODUCT_DEFINITION_SHAPE('',$,#954); -#21859=SHAPE_DEFINITION_REPRESENTATION(#21858,#21860); -#21860=SHAPE_REPRESENTATION('',(#955),#21764); -#21861=PRODUCT_DEFINITION_SHAPE('',$,#956); -#21862=SHAPE_DEFINITION_REPRESENTATION(#21861,#21863); -#21863=SHAPE_REPRESENTATION('',(#957),#21764); -#21864=PRODUCT_DEFINITION_SHAPE('',$,#958); -#21865=SHAPE_DEFINITION_REPRESENTATION(#21864,#21866); -#21866=SHAPE_REPRESENTATION('',(#959),#21764); -#21867=PRODUCT_DEFINITION_SHAPE('',$,#960); -#21868=SHAPE_DEFINITION_REPRESENTATION(#21867,#21869); -#21869=SHAPE_REPRESENTATION('',(#961),#21764); -#21870=PRODUCT_DEFINITION_SHAPE('',$,#962); -#21871=SHAPE_DEFINITION_REPRESENTATION(#21870,#21872); -#21872=SHAPE_REPRESENTATION('',(#963),#21764); -#21873=PRODUCT_DEFINITION_SHAPE('',$,#964); -#21874=SHAPE_DEFINITION_REPRESENTATION(#21873,#21875); -#21875=SHAPE_REPRESENTATION('',(#965),#21764); -#21876=PRODUCT_DEFINITION_SHAPE('',$,#966); -#21877=SHAPE_DEFINITION_REPRESENTATION(#21876,#21878); -#21878=SHAPE_REPRESENTATION('',(#967),#21764); -#21879=PRODUCT_DEFINITION_SHAPE('',$,#968); -#21880=SHAPE_DEFINITION_REPRESENTATION(#21879,#21881); -#21881=SHAPE_REPRESENTATION('',(#969),#21764); -#21882=PRODUCT_DEFINITION_SHAPE('',$,#970); -#21883=SHAPE_DEFINITION_REPRESENTATION(#21882,#21884); -#21884=SHAPE_REPRESENTATION('',(#971),#21764); -#21885=PRODUCT_DEFINITION_SHAPE('',$,#972); -#21886=SHAPE_DEFINITION_REPRESENTATION(#21885,#21887); -#21887=SHAPE_REPRESENTATION('',(#973),#21764); -#21888=PRODUCT_DEFINITION_SHAPE('',$,#974); -#21889=SHAPE_DEFINITION_REPRESENTATION(#21888,#21890); -#21890=SHAPE_REPRESENTATION('',(#975),#21764); -#21891=PRODUCT_DEFINITION_SHAPE('',$,#976); -#21892=SHAPE_DEFINITION_REPRESENTATION(#21891,#21893); -#21893=SHAPE_REPRESENTATION('',(#977),#21764); -#21894=PRODUCT_DEFINITION_SHAPE('',$,#978); -#21895=SHAPE_DEFINITION_REPRESENTATION(#21894,#21896); -#21896=SHAPE_REPRESENTATION('',(#979),#21764); -#21897=PRODUCT_DEFINITION_SHAPE('',$,#980); -#21898=SHAPE_DEFINITION_REPRESENTATION(#21897,#21899); -#21899=SHAPE_REPRESENTATION('',(#981),#21764); -#21900=PRODUCT_DEFINITION_SHAPE('',$,#982); -#21901=SHAPE_DEFINITION_REPRESENTATION(#21900,#21902); -#21902=SHAPE_REPRESENTATION('',(#983),#21764); -#21903=PRODUCT_DEFINITION_SHAPE('',$,#984); -#21904=SHAPE_DEFINITION_REPRESENTATION(#21903,#21905); -#21905=SHAPE_REPRESENTATION('',(#985),#21764); -#21906=PRODUCT_DEFINITION_SHAPE('',$,#986); -#21907=SHAPE_DEFINITION_REPRESENTATION(#21906,#21908); -#21908=SHAPE_REPRESENTATION('',(#987),#21764); -#21909=PRODUCT_DEFINITION_SHAPE('',$,#988); -#21910=SHAPE_DEFINITION_REPRESENTATION(#21909,#21911); -#21911=SHAPE_REPRESENTATION('',(#989),#21764); -#21912=PRODUCT_DEFINITION_SHAPE('',$,#990); -#21913=SHAPE_DEFINITION_REPRESENTATION(#21912,#21914); -#21914=SHAPE_REPRESENTATION('',(#991),#21764); -#21915=PRODUCT_DEFINITION_SHAPE('',$,#992); -#21916=SHAPE_DEFINITION_REPRESENTATION(#21915,#21917); -#21917=SHAPE_REPRESENTATION('',(#993),#21764); -#21918=PRODUCT_DEFINITION_SHAPE('',$,#994); -#21919=SHAPE_DEFINITION_REPRESENTATION(#21918,#21920); -#21920=SHAPE_REPRESENTATION('',(#995),#21764); -#21921=PRODUCT_DEFINITION_SHAPE('',$,#996); -#21922=SHAPE_DEFINITION_REPRESENTATION(#21921,#21923); -#21923=SHAPE_REPRESENTATION('',(#997),#21764); -#21924=PRODUCT_DEFINITION_SHAPE('',$,#998); -#21925=SHAPE_DEFINITION_REPRESENTATION(#21924,#21926); -#21926=SHAPE_REPRESENTATION('',(#999),#21764); -#21927=PRODUCT_DEFINITION_SHAPE('',$,#1000); -#21928=SHAPE_DEFINITION_REPRESENTATION(#21927,#21929); -#21929=SHAPE_REPRESENTATION('',(#1001),#21764); -#21930=PRODUCT_DEFINITION_SHAPE('',$,#1002); -#21931=SHAPE_DEFINITION_REPRESENTATION(#21930,#21932); -#21932=SHAPE_REPRESENTATION('',(#1003),#21764); -#21933=PRODUCT_DEFINITION_SHAPE('',$,#1004); -#21934=SHAPE_DEFINITION_REPRESENTATION(#21933,#21935); -#21935=SHAPE_REPRESENTATION('',(#1005),#21764); -#21936=PRODUCT_DEFINITION_SHAPE('',$,#1006); -#21937=SHAPE_DEFINITION_REPRESENTATION(#21936,#21938); -#21938=SHAPE_REPRESENTATION('',(#1007),#21764); -#21939=PRODUCT_DEFINITION_SHAPE('',$,#1008); -#21940=SHAPE_DEFINITION_REPRESENTATION(#21939,#21941); -#21941=SHAPE_REPRESENTATION('',(#1009),#21764); -#21942=PRODUCT_DEFINITION_SHAPE('',$,#1010); -#21943=SHAPE_DEFINITION_REPRESENTATION(#21942,#21944); -#21944=SHAPE_REPRESENTATION('',(#1011),#21764); -#21945=PRODUCT_DEFINITION_SHAPE('',$,#1012); -#21946=SHAPE_DEFINITION_REPRESENTATION(#21945,#21947); -#21947=SHAPE_REPRESENTATION('',(#1013),#21764); -#21948=PRODUCT_DEFINITION_SHAPE('',$,#1014); -#21949=SHAPE_DEFINITION_REPRESENTATION(#21948,#21950); -#21950=SHAPE_REPRESENTATION('',(#1015),#21764); -#21951=PRODUCT_DEFINITION_SHAPE('',$,#1016); -#21952=SHAPE_DEFINITION_REPRESENTATION(#21951,#21953); -#21953=SHAPE_REPRESENTATION('',(#1017),#21764); -#21954=PRODUCT_DEFINITION_SHAPE('',$,#1018); -#21955=SHAPE_DEFINITION_REPRESENTATION(#21954,#21956); -#21956=SHAPE_REPRESENTATION('',(#1019),#21764); -#21957=PRODUCT_DEFINITION_SHAPE('',$,#1020); -#21958=SHAPE_DEFINITION_REPRESENTATION(#21957,#21959); -#21959=SHAPE_REPRESENTATION('',(#1021),#21764); -#21960=PRODUCT_DEFINITION_SHAPE('',$,#1022); -#21961=SHAPE_DEFINITION_REPRESENTATION(#21960,#21962); -#21962=SHAPE_REPRESENTATION('',(#1023),#21764); -#21963=PRODUCT_DEFINITION_SHAPE('',$,#1024); -#21964=SHAPE_DEFINITION_REPRESENTATION(#21963,#21965); -#21965=SHAPE_REPRESENTATION('',(#1025),#21764); -#21966=PRODUCT_DEFINITION_SHAPE('',$,#1026); -#21967=SHAPE_DEFINITION_REPRESENTATION(#21966,#21968); -#21968=SHAPE_REPRESENTATION('',(#1027),#21764); -#21969=PRODUCT_DEFINITION_SHAPE('',$,#1028); -#21970=SHAPE_DEFINITION_REPRESENTATION(#21969,#21971); -#21971=SHAPE_REPRESENTATION('',(#1029),#21764); -#21972=PRODUCT_DEFINITION_SHAPE('',$,#1030); -#21973=SHAPE_DEFINITION_REPRESENTATION(#21972,#21974); -#21974=SHAPE_REPRESENTATION('',(#1031),#21764); -#21975=PRODUCT_DEFINITION_SHAPE('',$,#1032); -#21976=SHAPE_DEFINITION_REPRESENTATION(#21975,#21977); -#21977=SHAPE_REPRESENTATION('',(#1033),#21764); -#21978=PRODUCT_DEFINITION_SHAPE('',$,#1034); -#21979=SHAPE_DEFINITION_REPRESENTATION(#21978,#21980); -#21980=SHAPE_REPRESENTATION('',(#1035),#21764); -#21981=PRODUCT_DEFINITION_SHAPE('',$,#1036); -#21982=SHAPE_DEFINITION_REPRESENTATION(#21981,#21983); -#21983=SHAPE_REPRESENTATION('',(#1037),#21764); -#21984=PRODUCT_DEFINITION_SHAPE('',$,#1038); -#21985=SHAPE_DEFINITION_REPRESENTATION(#21984,#21986); -#21986=SHAPE_REPRESENTATION('',(#1039),#21764); -#21987=PRODUCT_DEFINITION_SHAPE('',$,#1040); -#21988=SHAPE_DEFINITION_REPRESENTATION(#21987,#21989); -#21989=SHAPE_REPRESENTATION('',(#1041),#21764); -#21990=REPRESENTATION_MAP(#23,#2071); -#21991=PRODUCT_DEFINITION_SHAPE('',$,#2080); -#21992=SHAPE_DEFINITION_REPRESENTATION(#21991,#21993); -#21993=SHAPE_REPRESENTATION('',(#2081),#21764); -#21994=REPRESENTATION_MAP(#23,#2069); -#21995=PRODUCT_DEFINITION_SHAPE('',$,#2082); -#21996=SHAPE_DEFINITION_REPRESENTATION(#21995,#21997); -#21997=SHAPE_REPRESENTATION('',(#2083),#21764); -#21998=PRODUCT_DEFINITION_SHAPE('',$,#2084); -#21999=SHAPE_DEFINITION_REPRESENTATION(#21998,#22000); -#22000=SHAPE_REPRESENTATION('',(#2085),#21764); -#22001=REPRESENTATION_MAP(#23,#2088); -#22002=PRODUCT_DEFINITION_SHAPE('',$,#2096); -#22003=SHAPE_DEFINITION_REPRESENTATION(#22002,#22004); -#22004=SHAPE_REPRESENTATION('',(#2097),#21764); -#22005=REPRESENTATION_MAP(#23,#2157); -#22006=PRODUCT_DEFINITION_SHAPE('',$,#2165); -#22007=SHAPE_DEFINITION_REPRESENTATION(#22006,#22008); -#22008=SHAPE_REPRESENTATION('',(#2166),#21764); -#22009=REPRESENTATION_MAP(#23,#2167); -#22010=PRODUCT_DEFINITION_SHAPE('',$,#2175); -#22011=SHAPE_DEFINITION_REPRESENTATION(#22010,#22012); -#22012=SHAPE_REPRESENTATION('',(#2176),#21764); -#22013=REPRESENTATION_MAP(#23,#2177); -#22014=PRODUCT_DEFINITION_SHAPE('',$,#2185); -#22015=SHAPE_DEFINITION_REPRESENTATION(#22014,#22016); -#22016=SHAPE_REPRESENTATION('',(#2186),#21764); -#22017=REPRESENTATION_MAP(#23,#2187); -#22018=PRODUCT_DEFINITION_SHAPE('',$,#2195); -#22019=SHAPE_DEFINITION_REPRESENTATION(#22018,#22020); -#22020=SHAPE_REPRESENTATION('',(#2196),#21764); -#22021=REPRESENTATION_MAP(#23,#2197); -#22022=PRODUCT_DEFINITION_SHAPE('',$,#2203); -#22023=SHAPE_DEFINITION_REPRESENTATION(#22022,#22024); -#22024=SHAPE_REPRESENTATION('',(#2204),#21764); -#22025=REPRESENTATION_MAP(#23,#2205); -#22026=PRODUCT_DEFINITION_SHAPE('',$,#2211); -#22027=SHAPE_DEFINITION_REPRESENTATION(#22026,#22028); -#22028=SHAPE_REPRESENTATION('',(#2212),#21764); -#22029=PRODUCT_DEFINITION_SHAPE('',$,#2213); -#22030=SHAPE_DEFINITION_REPRESENTATION(#22029,#22031); -#22031=SHAPE_REPRESENTATION('',(#2214),#21764); -#22032=REPRESENTATION_MAP(#23,#2246); -#22033=PRODUCT_DEFINITION_SHAPE('',$,#2260); -#22034=SHAPE_DEFINITION_REPRESENTATION(#22033,#22035); -#22035=SHAPE_REPRESENTATION('',(#2261),#21764); -#22036=REPRESENTATION_MAP(#23,#2270); -#22037=PRODUCT_DEFINITION_SHAPE('',$,#2279); -#22038=SHAPE_DEFINITION_REPRESENTATION(#22037,#22039); -#22039=SHAPE_REPRESENTATION('',(#2280),#21764); -#22040=REPRESENTATION_MAP(#23,#2281); -#22041=PRODUCT_DEFINITION_SHAPE('',$,#2300); -#22042=SHAPE_DEFINITION_REPRESENTATION(#22041,#22043); -#22043=SHAPE_REPRESENTATION('',(#2301),#21764); -#22044=REPRESENTATION_MAP(#23,#2296); -#22045=PRODUCT_DEFINITION_SHAPE('',$,#2302); -#22046=SHAPE_DEFINITION_REPRESENTATION(#22045,#22047); -#22047=SHAPE_REPRESENTATION('',(#2303),#21764); -#22048=PRODUCT_DEFINITION_SHAPE('',$,#2304); -#22049=SHAPE_DEFINITION_REPRESENTATION(#22048,#22050); -#22050=SHAPE_REPRESENTATION('',(#2305),#21764); -#22051=PRODUCT_DEFINITION_SHAPE('',$,#2306); -#22052=SHAPE_DEFINITION_REPRESENTATION(#22051,#22053); -#22053=SHAPE_REPRESENTATION('',(#2307),#21764); -#22054=PRODUCT_DEFINITION_SHAPE('',$,#2308); -#22055=SHAPE_DEFINITION_REPRESENTATION(#22054,#22056); -#22056=SHAPE_REPRESENTATION('',(#2309),#21764); -#22057=PRODUCT_DEFINITION_SHAPE('',$,#2310); -#22058=SHAPE_DEFINITION_REPRESENTATION(#22057,#22059); -#22059=SHAPE_REPRESENTATION('',(#2311),#21764); -#22060=PRODUCT_DEFINITION_SHAPE('',$,#2312); -#22061=SHAPE_DEFINITION_REPRESENTATION(#22060,#22062); -#22062=SHAPE_REPRESENTATION('',(#2313),#21764); -#22063=PRODUCT_DEFINITION_SHAPE('',$,#2314); -#22064=SHAPE_DEFINITION_REPRESENTATION(#22063,#22065); -#22065=SHAPE_REPRESENTATION('',(#2315),#21764); -#22066=PRODUCT_DEFINITION_SHAPE('',$,#2316); -#22067=SHAPE_DEFINITION_REPRESENTATION(#22066,#22068); -#22068=SHAPE_REPRESENTATION('',(#2317),#21764); -#22069=PRODUCT_DEFINITION_SHAPE('',$,#2318); -#22070=SHAPE_DEFINITION_REPRESENTATION(#22069,#22071); -#22071=SHAPE_REPRESENTATION('',(#2319),#21764); -#22072=REPRESENTATION_MAP(#23,#2320); -#22073=PRODUCT_DEFINITION_SHAPE('',$,#2327); -#22074=SHAPE_DEFINITION_REPRESENTATION(#22073,#22075); -#22075=SHAPE_REPRESENTATION('',(#2328),#21764); -#22076=PRODUCT_DEFINITION_SHAPE('',$,#2329); -#22077=SHAPE_DEFINITION_REPRESENTATION(#22076,#22078); -#22078=SHAPE_REPRESENTATION('',(#2330),#21764); -#22079=PRODUCT_DEFINITION_SHAPE('',$,#2331); -#22080=SHAPE_DEFINITION_REPRESENTATION(#22079,#22081); -#22081=SHAPE_REPRESENTATION('',(#2332),#21764); -#22082=PRODUCT_DEFINITION_SHAPE('',$,#2333); -#22083=SHAPE_DEFINITION_REPRESENTATION(#22082,#22084); -#22084=SHAPE_REPRESENTATION('',(#2334),#21764); -#22085=PRODUCT_DEFINITION_SHAPE('',$,#2335); -#22086=SHAPE_DEFINITION_REPRESENTATION(#22085,#22087); -#22087=SHAPE_REPRESENTATION('',(#2336),#21764); -#22088=PRODUCT_DEFINITION_SHAPE('',$,#2337); -#22089=SHAPE_DEFINITION_REPRESENTATION(#22088,#22090); -#22090=SHAPE_REPRESENTATION('',(#2338),#21764); -#22091=PRODUCT_DEFINITION_SHAPE('',$,#2339); -#22092=SHAPE_DEFINITION_REPRESENTATION(#22091,#22093); -#22093=SHAPE_REPRESENTATION('',(#2340),#21764); -#22094=PRODUCT_DEFINITION_SHAPE('',$,#2341); -#22095=SHAPE_DEFINITION_REPRESENTATION(#22094,#22096); -#22096=SHAPE_REPRESENTATION('',(#2342),#21764); -#22097=PRODUCT_DEFINITION_SHAPE('',$,#2343); -#22098=SHAPE_DEFINITION_REPRESENTATION(#22097,#22099); -#22099=SHAPE_REPRESENTATION('',(#2344),#21764); -#22100=PRODUCT_DEFINITION_SHAPE('',$,#2345); -#22101=SHAPE_DEFINITION_REPRESENTATION(#22100,#22102); -#22102=SHAPE_REPRESENTATION('',(#2346),#21764); -#22103=PRODUCT_DEFINITION_SHAPE('',$,#2347); -#22104=SHAPE_DEFINITION_REPRESENTATION(#22103,#22105); -#22105=SHAPE_REPRESENTATION('',(#2348),#21764); -#22106=PRODUCT_DEFINITION_SHAPE('',$,#2349); -#22107=SHAPE_DEFINITION_REPRESENTATION(#22106,#22108); -#22108=SHAPE_REPRESENTATION('',(#2350),#21764); -#22109=PRODUCT_DEFINITION_SHAPE('',$,#2351); -#22110=SHAPE_DEFINITION_REPRESENTATION(#22109,#22111); -#22111=SHAPE_REPRESENTATION('',(#2352),#21764); -#22112=PRODUCT_DEFINITION_SHAPE('',$,#2353); -#22113=SHAPE_DEFINITION_REPRESENTATION(#22112,#22114); -#22114=SHAPE_REPRESENTATION('',(#2354),#21764); -#22115=PRODUCT_DEFINITION_SHAPE('',$,#2355); -#22116=SHAPE_DEFINITION_REPRESENTATION(#22115,#22117); -#22117=SHAPE_REPRESENTATION('',(#2356),#21764); -#22118=PRODUCT_DEFINITION_SHAPE('',$,#2357); -#22119=SHAPE_DEFINITION_REPRESENTATION(#22118,#22120); -#22120=SHAPE_REPRESENTATION('',(#2358),#21764); -#22121=PRODUCT_DEFINITION_SHAPE('',$,#2359); -#22122=SHAPE_DEFINITION_REPRESENTATION(#22121,#22123); -#22123=SHAPE_REPRESENTATION('',(#2360),#21764); -#22124=PRODUCT_DEFINITION_SHAPE('',$,#2361); -#22125=SHAPE_DEFINITION_REPRESENTATION(#22124,#22126); -#22126=SHAPE_REPRESENTATION('',(#2362),#21764); -#22127=PRODUCT_DEFINITION_SHAPE('',$,#2363); -#22128=SHAPE_DEFINITION_REPRESENTATION(#22127,#22129); -#22129=SHAPE_REPRESENTATION('',(#2364),#21764); -#22130=PRODUCT_DEFINITION_SHAPE('',$,#2365); -#22131=SHAPE_DEFINITION_REPRESENTATION(#22130,#22132); -#22132=SHAPE_REPRESENTATION('',(#2366),#21764); -#22133=PRODUCT_DEFINITION_SHAPE('',$,#2367); -#22134=SHAPE_DEFINITION_REPRESENTATION(#22133,#22135); -#22135=SHAPE_REPRESENTATION('',(#2368),#21764); -#22136=PRODUCT_DEFINITION_SHAPE('',$,#2369); -#22137=SHAPE_DEFINITION_REPRESENTATION(#22136,#22138); -#22138=SHAPE_REPRESENTATION('',(#2370),#21764); -#22139=PRODUCT_DEFINITION_SHAPE('',$,#2371); -#22140=SHAPE_DEFINITION_REPRESENTATION(#22139,#22141); -#22141=SHAPE_REPRESENTATION('',(#2372),#21764); -#22142=PRODUCT_DEFINITION_SHAPE('',$,#2373); -#22143=SHAPE_DEFINITION_REPRESENTATION(#22142,#22144); -#22144=SHAPE_REPRESENTATION('',(#2374),#21764); -#22145=REPRESENTATION_MAP(#23,#2266); -#22146=PRODUCT_DEFINITION_SHAPE('',$,#2375); -#22147=SHAPE_DEFINITION_REPRESENTATION(#22146,#22148); -#22148=SHAPE_REPRESENTATION('',(#2376),#21764); -#22149=PRODUCT_DEFINITION_SHAPE('',$,#2378); -#22150=SHAPE_DEFINITION_REPRESENTATION(#22149,#22151); -#22151=SHAPE_REPRESENTATION('',(#2381),#21764); -#22152=REPRESENTATION_MAP(#23,#2443); -#22153=PRODUCT_DEFINITION_SHAPE('',$,#2451); -#22154=SHAPE_DEFINITION_REPRESENTATION(#22153,#22155); -#22155=SHAPE_REPRESENTATION('',(#2452),#21764); -#22156=REPRESENTATION_MAP(#23,#2453); -#22157=PRODUCT_DEFINITION_SHAPE('',$,#2461); -#22158=SHAPE_DEFINITION_REPRESENTATION(#22157,#22159); -#22159=SHAPE_REPRESENTATION('',(#2462),#21764); -#22160=REPRESENTATION_MAP(#23,#2463); -#22161=PRODUCT_DEFINITION_SHAPE('',$,#2471); -#22162=SHAPE_DEFINITION_REPRESENTATION(#22161,#22163); -#22163=SHAPE_REPRESENTATION('',(#2472),#21764); -#22164=REPRESENTATION_MAP(#23,#2473); -#22165=PRODUCT_DEFINITION_SHAPE('',$,#2481); -#22166=SHAPE_DEFINITION_REPRESENTATION(#22165,#22167); -#22167=SHAPE_REPRESENTATION('',(#2482),#21764); -#22168=REPRESENTATION_MAP(#23,#2483); -#22169=PRODUCT_DEFINITION_SHAPE('',$,#2489); -#22170=SHAPE_DEFINITION_REPRESENTATION(#22169,#22171); -#22171=SHAPE_REPRESENTATION('',(#2490),#21764); -#22172=REPRESENTATION_MAP(#23,#2491); -#22173=PRODUCT_DEFINITION_SHAPE('',$,#2497); -#22174=SHAPE_DEFINITION_REPRESENTATION(#22173,#22175); -#22175=SHAPE_REPRESENTATION('',(#2498),#21764); -#22176=PRODUCT_DEFINITION_SHAPE('',$,#2499); -#22177=SHAPE_DEFINITION_REPRESENTATION(#22176,#22178); -#22178=SHAPE_REPRESENTATION('',(#2500),#21764); -#22179=REPRESENTATION_MAP(#23,#2537); -#22180=PRODUCT_DEFINITION_SHAPE('',$,#2595); -#22181=SHAPE_DEFINITION_REPRESENTATION(#22180,#22182); -#22182=SHAPE_REPRESENTATION('',(#2596),#21764); -#22183=REPRESENTATION_MAP(#23,#2597); -#22184=PRODUCT_DEFINITION_SHAPE('',$,#2655); -#22185=SHAPE_DEFINITION_REPRESENTATION(#22184,#22186); -#22186=SHAPE_REPRESENTATION('',(#2656),#21764); -#22187=PRODUCT_DEFINITION_SHAPE('',$,#2881); -#22188=SHAPE_DEFINITION_REPRESENTATION(#22187,#22189); -#22189=SHAPE_REPRESENTATION('',(#2882),#21764); -#22190=PRODUCT_DEFINITION_SHAPE('',$,#2883); -#22191=SHAPE_DEFINITION_REPRESENTATION(#22190,#22192); -#22192=SHAPE_REPRESENTATION('',(#2884),#21764); -#22193=PRODUCT_DEFINITION_SHAPE('',$,#2885); -#22194=SHAPE_DEFINITION_REPRESENTATION(#22193,#22195); -#22195=SHAPE_REPRESENTATION('',(#2886),#21764); -#22196=PRODUCT_DEFINITION_SHAPE('',$,#2887); -#22197=SHAPE_DEFINITION_REPRESENTATION(#22196,#22198); -#22198=SHAPE_REPRESENTATION('',(#2888),#21764); -#22199=PRODUCT_DEFINITION_SHAPE('',$,#2889); -#22200=SHAPE_DEFINITION_REPRESENTATION(#22199,#22201); -#22201=SHAPE_REPRESENTATION('',(#2890),#21764); -#22202=PRODUCT_DEFINITION_SHAPE('',$,#2891); -#22203=SHAPE_DEFINITION_REPRESENTATION(#22202,#22204); -#22204=SHAPE_REPRESENTATION('',(#2892),#21764); -#22205=PRODUCT_DEFINITION_SHAPE('',$,#2893); -#22206=SHAPE_DEFINITION_REPRESENTATION(#22205,#22207); -#22207=SHAPE_REPRESENTATION('',(#2894),#21764); -#22208=PRODUCT_DEFINITION_SHAPE('',$,#2895); -#22209=SHAPE_DEFINITION_REPRESENTATION(#22208,#22210); -#22210=SHAPE_REPRESENTATION('',(#2896),#21764); -#22211=PRODUCT_DEFINITION_SHAPE('',$,#2897); -#22212=SHAPE_DEFINITION_REPRESENTATION(#22211,#22213); -#22213=SHAPE_REPRESENTATION('',(#2898),#21764); -#22214=PRODUCT_DEFINITION_SHAPE('',$,#2899); -#22215=SHAPE_DEFINITION_REPRESENTATION(#22214,#22216); -#22216=SHAPE_REPRESENTATION('',(#2900),#21764); -#22217=PRODUCT_DEFINITION_SHAPE('',$,#2901); -#22218=SHAPE_DEFINITION_REPRESENTATION(#22217,#22219); -#22219=SHAPE_REPRESENTATION('',(#2902),#21764); -#22220=PRODUCT_DEFINITION_SHAPE('',$,#2903); -#22221=SHAPE_DEFINITION_REPRESENTATION(#22220,#22222); -#22222=SHAPE_REPRESENTATION('',(#2904),#21764); -#22223=PRODUCT_DEFINITION_SHAPE('',$,#2905); -#22224=SHAPE_DEFINITION_REPRESENTATION(#22223,#22225); -#22225=SHAPE_REPRESENTATION('',(#2906),#21764); -#22226=PRODUCT_DEFINITION_SHAPE('',$,#2907); -#22227=SHAPE_DEFINITION_REPRESENTATION(#22226,#22228); -#22228=SHAPE_REPRESENTATION('',(#2908),#21764); -#22229=PRODUCT_DEFINITION_SHAPE('',$,#2909); -#22230=SHAPE_DEFINITION_REPRESENTATION(#22229,#22231); -#22231=SHAPE_REPRESENTATION('',(#2910),#21764); -#22232=PRODUCT_DEFINITION_SHAPE('',$,#2911); -#22233=SHAPE_DEFINITION_REPRESENTATION(#22232,#22234); -#22234=SHAPE_REPRESENTATION('',(#2912),#21764); -#22235=PRODUCT_DEFINITION_SHAPE('',$,#2913); -#22236=SHAPE_DEFINITION_REPRESENTATION(#22235,#22237); -#22237=SHAPE_REPRESENTATION('',(#2914),#21764); -#22238=PRODUCT_DEFINITION_SHAPE('',$,#2915); -#22239=SHAPE_DEFINITION_REPRESENTATION(#22238,#22240); -#22240=SHAPE_REPRESENTATION('',(#2916),#21764); -#22241=PRODUCT_DEFINITION_SHAPE('',$,#2917); -#22242=SHAPE_DEFINITION_REPRESENTATION(#22241,#22243); -#22243=SHAPE_REPRESENTATION('',(#2918),#21764); -#22244=PRODUCT_DEFINITION_SHAPE('',$,#2919); -#22245=SHAPE_DEFINITION_REPRESENTATION(#22244,#22246); -#22246=SHAPE_REPRESENTATION('',(#2920),#21764); -#22247=PRODUCT_DEFINITION_SHAPE('',$,#2921); -#22248=SHAPE_DEFINITION_REPRESENTATION(#22247,#22249); -#22249=SHAPE_REPRESENTATION('',(#2922),#21764); -#22250=PRODUCT_DEFINITION_SHAPE('',$,#2923); -#22251=SHAPE_DEFINITION_REPRESENTATION(#22250,#22252); -#22252=SHAPE_REPRESENTATION('',(#2924),#21764); -#22253=PRODUCT_DEFINITION_SHAPE('',$,#2925); -#22254=SHAPE_DEFINITION_REPRESENTATION(#22253,#22255); -#22255=SHAPE_REPRESENTATION('',(#2926),#21764); -#22256=PRODUCT_DEFINITION_SHAPE('',$,#2927); -#22257=SHAPE_DEFINITION_REPRESENTATION(#22256,#22258); -#22258=SHAPE_REPRESENTATION('',(#2928),#21764); -#22259=PRODUCT_DEFINITION_SHAPE('',$,#2929); -#22260=SHAPE_DEFINITION_REPRESENTATION(#22259,#22261); -#22261=SHAPE_REPRESENTATION('',(#2930),#21764); -#22262=PRODUCT_DEFINITION_SHAPE('',$,#2931); -#22263=SHAPE_DEFINITION_REPRESENTATION(#22262,#22264); -#22264=SHAPE_REPRESENTATION('',(#2932),#21764); -#22265=PRODUCT_DEFINITION_SHAPE('',$,#2933); -#22266=SHAPE_DEFINITION_REPRESENTATION(#22265,#22267); -#22267=SHAPE_REPRESENTATION('',(#2934),#21764); -#22268=PRODUCT_DEFINITION_SHAPE('',$,#2935); -#22269=SHAPE_DEFINITION_REPRESENTATION(#22268,#22270); -#22270=SHAPE_REPRESENTATION('',(#2936),#21764); -#22271=PRODUCT_DEFINITION_SHAPE('',$,#2937); -#22272=SHAPE_DEFINITION_REPRESENTATION(#22271,#22273); -#22273=SHAPE_REPRESENTATION('',(#2938),#21764); -#22274=PRODUCT_DEFINITION_SHAPE('',$,#2939); -#22275=SHAPE_DEFINITION_REPRESENTATION(#22274,#22276); -#22276=SHAPE_REPRESENTATION('',(#2940),#21764); -#22277=PRODUCT_DEFINITION_SHAPE('',$,#2941); -#22278=SHAPE_DEFINITION_REPRESENTATION(#22277,#22279); -#22279=SHAPE_REPRESENTATION('',(#2942),#21764); -#22280=PRODUCT_DEFINITION_SHAPE('',$,#2943); -#22281=SHAPE_DEFINITION_REPRESENTATION(#22280,#22282); -#22282=SHAPE_REPRESENTATION('',(#2944),#21764); -#22283=PRODUCT_DEFINITION_SHAPE('',$,#2945); -#22284=SHAPE_DEFINITION_REPRESENTATION(#22283,#22285); -#22285=SHAPE_REPRESENTATION('',(#2946),#21764); -#22286=PRODUCT_DEFINITION_SHAPE('',$,#2947); -#22287=SHAPE_DEFINITION_REPRESENTATION(#22286,#22288); -#22288=SHAPE_REPRESENTATION('',(#2948),#21764); -#22289=PRODUCT_DEFINITION_SHAPE('',$,#2949); -#22290=SHAPE_DEFINITION_REPRESENTATION(#22289,#22291); -#22291=SHAPE_REPRESENTATION('',(#2950),#21764); -#22292=PRODUCT_DEFINITION_SHAPE('',$,#2951); -#22293=SHAPE_DEFINITION_REPRESENTATION(#22292,#22294); -#22294=SHAPE_REPRESENTATION('',(#2952),#21764); -#22295=PRODUCT_DEFINITION_SHAPE('',$,#2953); -#22296=SHAPE_DEFINITION_REPRESENTATION(#22295,#22297); -#22297=SHAPE_REPRESENTATION('',(#2954),#21764); -#22298=PRODUCT_DEFINITION_SHAPE('',$,#2955); -#22299=SHAPE_DEFINITION_REPRESENTATION(#22298,#22300); -#22300=SHAPE_REPRESENTATION('',(#2956),#21764); -#22301=PRODUCT_DEFINITION_SHAPE('',$,#2957); -#22302=SHAPE_DEFINITION_REPRESENTATION(#22301,#22303); -#22303=SHAPE_REPRESENTATION('',(#2958),#21764); -#22304=PRODUCT_DEFINITION_SHAPE('',$,#2959); -#22305=SHAPE_DEFINITION_REPRESENTATION(#22304,#22306); -#22306=SHAPE_REPRESENTATION('',(#2960),#21764); -#22307=PRODUCT_DEFINITION_SHAPE('',$,#2961); -#22308=SHAPE_DEFINITION_REPRESENTATION(#22307,#22309); -#22309=SHAPE_REPRESENTATION('',(#2962),#21764); -#22310=PRODUCT_DEFINITION_SHAPE('',$,#2963); -#22311=SHAPE_DEFINITION_REPRESENTATION(#22310,#22312); -#22312=SHAPE_REPRESENTATION('',(#2964),#21764); -#22313=PRODUCT_DEFINITION_SHAPE('',$,#2965); -#22314=SHAPE_DEFINITION_REPRESENTATION(#22313,#22315); -#22315=SHAPE_REPRESENTATION('',(#2966),#21764); -#22316=PRODUCT_DEFINITION_SHAPE('',$,#2967); -#22317=SHAPE_DEFINITION_REPRESENTATION(#22316,#22318); -#22318=SHAPE_REPRESENTATION('',(#2968),#21764); -#22319=PRODUCT_DEFINITION_SHAPE('',$,#2969); -#22320=SHAPE_DEFINITION_REPRESENTATION(#22319,#22321); -#22321=SHAPE_REPRESENTATION('',(#2970),#21764); -#22322=PRODUCT_DEFINITION_SHAPE('',$,#2971); -#22323=SHAPE_DEFINITION_REPRESENTATION(#22322,#22324); -#22324=SHAPE_REPRESENTATION('',(#2972),#21764); -#22325=PRODUCT_DEFINITION_SHAPE('',$,#2973); -#22326=SHAPE_DEFINITION_REPRESENTATION(#22325,#22327); -#22327=SHAPE_REPRESENTATION('',(#2974),#21764); -#22328=PRODUCT_DEFINITION_SHAPE('',$,#2975); -#22329=SHAPE_DEFINITION_REPRESENTATION(#22328,#22330); -#22330=SHAPE_REPRESENTATION('',(#2976),#21764); -#22331=PRODUCT_DEFINITION_SHAPE('',$,#2977); -#22332=SHAPE_DEFINITION_REPRESENTATION(#22331,#22333); -#22333=SHAPE_REPRESENTATION('',(#2978),#21764); -#22334=PRODUCT_DEFINITION_SHAPE('',$,#2979); -#22335=SHAPE_DEFINITION_REPRESENTATION(#22334,#22336); -#22336=SHAPE_REPRESENTATION('',(#2980),#21764); -#22337=PRODUCT_DEFINITION_SHAPE('',$,#2981); -#22338=SHAPE_DEFINITION_REPRESENTATION(#22337,#22339); -#22339=SHAPE_REPRESENTATION('',(#2982),#21764); -#22340=PRODUCT_DEFINITION_SHAPE('',$,#2983); -#22341=SHAPE_DEFINITION_REPRESENTATION(#22340,#22342); -#22342=SHAPE_REPRESENTATION('',(#2984),#21764); -#22343=PRODUCT_DEFINITION_SHAPE('',$,#2985); -#22344=SHAPE_DEFINITION_REPRESENTATION(#22343,#22345); -#22345=SHAPE_REPRESENTATION('',(#2986),#21764); -#22346=PRODUCT_DEFINITION_SHAPE('',$,#2987); -#22347=SHAPE_DEFINITION_REPRESENTATION(#22346,#22348); -#22348=SHAPE_REPRESENTATION('',(#2988),#21764); -#22349=PRODUCT_DEFINITION_SHAPE('',$,#2989); -#22350=SHAPE_DEFINITION_REPRESENTATION(#22349,#22351); -#22351=SHAPE_REPRESENTATION('',(#2990),#21764); -#22352=PRODUCT_DEFINITION_SHAPE('',$,#2991); -#22353=SHAPE_DEFINITION_REPRESENTATION(#22352,#22354); -#22354=SHAPE_REPRESENTATION('',(#2992),#21764); -#22355=PRODUCT_DEFINITION_SHAPE('',$,#2993); -#22356=SHAPE_DEFINITION_REPRESENTATION(#22355,#22357); -#22357=SHAPE_REPRESENTATION('',(#2994),#21764); -#22358=PRODUCT_DEFINITION_SHAPE('',$,#2995); -#22359=SHAPE_DEFINITION_REPRESENTATION(#22358,#22360); -#22360=SHAPE_REPRESENTATION('',(#2996),#21764); -#22361=PRODUCT_DEFINITION_SHAPE('',$,#2997); -#22362=SHAPE_DEFINITION_REPRESENTATION(#22361,#22363); -#22363=SHAPE_REPRESENTATION('',(#2998),#21764); -#22364=PRODUCT_DEFINITION_SHAPE('',$,#2999); -#22365=SHAPE_DEFINITION_REPRESENTATION(#22364,#22366); -#22366=SHAPE_REPRESENTATION('',(#3000),#21764); -#22367=PRODUCT_DEFINITION_SHAPE('',$,#3001); -#22368=SHAPE_DEFINITION_REPRESENTATION(#22367,#22369); -#22369=SHAPE_REPRESENTATION('',(#3002),#21764); -#22370=PRODUCT_DEFINITION_SHAPE('',$,#3003); -#22371=SHAPE_DEFINITION_REPRESENTATION(#22370,#22372); -#22372=SHAPE_REPRESENTATION('',(#3004),#21764); -#22373=PRODUCT_DEFINITION_SHAPE('',$,#3005); -#22374=SHAPE_DEFINITION_REPRESENTATION(#22373,#22375); -#22375=SHAPE_REPRESENTATION('',(#3006),#21764); -#22376=PRODUCT_DEFINITION_SHAPE('',$,#3007); -#22377=SHAPE_DEFINITION_REPRESENTATION(#22376,#22378); -#22378=SHAPE_REPRESENTATION('',(#3008),#21764); -#22379=REPRESENTATION_MAP(#23,#7705); -#22380=PRODUCT_DEFINITION_SHAPE('',$,#7714); -#22381=SHAPE_DEFINITION_REPRESENTATION(#22380,#22382); -#22382=SHAPE_REPRESENTATION('',(#7715),#21764); -#22383=REPRESENTATION_MAP(#23,#7728); -#22384=PRODUCT_DEFINITION_SHAPE('',$,#7732); -#22385=SHAPE_DEFINITION_REPRESENTATION(#22384,#22386); -#22386=SHAPE_REPRESENTATION('',(#7733),#21764); -#22387=REPRESENTATION_MAP(#23,#7716); -#22388=PRODUCT_DEFINITION_SHAPE('',$,#7734); -#22389=SHAPE_DEFINITION_REPRESENTATION(#22388,#22390); -#22390=SHAPE_REPRESENTATION('',(#7735),#21764); -#22391=PRODUCT_DEFINITION_SHAPE('',$,#7736); -#22392=SHAPE_DEFINITION_REPRESENTATION(#22391,#22393); -#22393=SHAPE_REPRESENTATION('',(#7737),#21764); -#22394=PRODUCT_DEFINITION_SHAPE('',$,#7738); -#22395=SHAPE_DEFINITION_REPRESENTATION(#22394,#22396); -#22396=SHAPE_REPRESENTATION('',(#7739),#21764); -#22397=PRODUCT_DEFINITION_SHAPE('',$,#7740); -#22398=SHAPE_DEFINITION_REPRESENTATION(#22397,#22399); -#22399=SHAPE_REPRESENTATION('',(#7741),#21764); -#22400=PRODUCT_DEFINITION_SHAPE('',$,#7742); -#22401=SHAPE_DEFINITION_REPRESENTATION(#22400,#22402); -#22402=SHAPE_REPRESENTATION('',(#7743),#21764); -#22403=PRODUCT_DEFINITION_SHAPE('',$,#7744); -#22404=SHAPE_DEFINITION_REPRESENTATION(#22403,#22405); -#22405=SHAPE_REPRESENTATION('',(#7745),#21764); -#22406=PRODUCT_DEFINITION_SHAPE('',$,#7746); -#22407=SHAPE_DEFINITION_REPRESENTATION(#22406,#22408); -#22408=SHAPE_REPRESENTATION('',(#7747),#21764); -#22409=PRODUCT_DEFINITION_SHAPE('',$,#7748); -#22410=SHAPE_DEFINITION_REPRESENTATION(#22409,#22411); -#22411=SHAPE_REPRESENTATION('',(#7749),#21764); -#22412=PRODUCT_DEFINITION_SHAPE('',$,#7750); -#22413=SHAPE_DEFINITION_REPRESENTATION(#22412,#22414); -#22414=SHAPE_REPRESENTATION('',(#7751),#21764); -#22415=REPRESENTATION_MAP(#23,#7752); -#22416=PRODUCT_DEFINITION_SHAPE('',$,#7759); -#22417=SHAPE_DEFINITION_REPRESENTATION(#22416,#22418); -#22418=SHAPE_REPRESENTATION('',(#7760),#21764); -#22419=PRODUCT_DEFINITION_SHAPE('',$,#7761); -#22420=SHAPE_DEFINITION_REPRESENTATION(#22419,#22421); -#22421=SHAPE_REPRESENTATION('',(#7762),#21764); -#22422=PRODUCT_DEFINITION_SHAPE('',$,#7763); -#22423=SHAPE_DEFINITION_REPRESENTATION(#22422,#22424); -#22424=SHAPE_REPRESENTATION('',(#7764),#21764); -#22425=PRODUCT_DEFINITION_SHAPE('',$,#7765); -#22426=SHAPE_DEFINITION_REPRESENTATION(#22425,#22427); -#22427=SHAPE_REPRESENTATION('',(#7766),#21764); -#22428=PRODUCT_DEFINITION_SHAPE('',$,#7767); -#22429=SHAPE_DEFINITION_REPRESENTATION(#22428,#22430); -#22430=SHAPE_REPRESENTATION('',(#7768),#21764); -#22431=PRODUCT_DEFINITION_SHAPE('',$,#7769); -#22432=SHAPE_DEFINITION_REPRESENTATION(#22431,#22433); -#22433=SHAPE_REPRESENTATION('',(#7770),#21764); -#22434=PRODUCT_DEFINITION_SHAPE('',$,#7771); -#22435=SHAPE_DEFINITION_REPRESENTATION(#22434,#22436); -#22436=SHAPE_REPRESENTATION('',(#7772),#21764); -#22437=PRODUCT_DEFINITION_SHAPE('',$,#7773); -#22438=SHAPE_DEFINITION_REPRESENTATION(#22437,#22439); -#22439=SHAPE_REPRESENTATION('',(#7774),#21764); -#22440=PRODUCT_DEFINITION_SHAPE('',$,#7775); -#22441=SHAPE_DEFINITION_REPRESENTATION(#22440,#22442); -#22442=SHAPE_REPRESENTATION('',(#7776),#21764); -#22443=PRODUCT_DEFINITION_SHAPE('',$,#7777); -#22444=SHAPE_DEFINITION_REPRESENTATION(#22443,#22445); -#22445=SHAPE_REPRESENTATION('',(#7778),#21764); -#22446=PRODUCT_DEFINITION_SHAPE('',$,#7779); -#22447=SHAPE_DEFINITION_REPRESENTATION(#22446,#22448); -#22448=SHAPE_REPRESENTATION('',(#7780),#21764); -#22449=PRODUCT_DEFINITION_SHAPE('',$,#7781); -#22450=SHAPE_DEFINITION_REPRESENTATION(#22449,#22451); -#22451=SHAPE_REPRESENTATION('',(#7782),#21764); -#22452=PRODUCT_DEFINITION_SHAPE('',$,#7783); -#22453=SHAPE_DEFINITION_REPRESENTATION(#22452,#22454); -#22454=SHAPE_REPRESENTATION('',(#7784),#21764); -#22455=PRODUCT_DEFINITION_SHAPE('',$,#7785); -#22456=SHAPE_DEFINITION_REPRESENTATION(#22455,#22457); -#22457=SHAPE_REPRESENTATION('',(#7786),#21764); -#22458=PRODUCT_DEFINITION_SHAPE('',$,#7787); -#22459=SHAPE_DEFINITION_REPRESENTATION(#22458,#22460); -#22460=SHAPE_REPRESENTATION('',(#7788),#21764); -#22461=PRODUCT_DEFINITION_SHAPE('',$,#7789); -#22462=SHAPE_DEFINITION_REPRESENTATION(#22461,#22463); -#22463=SHAPE_REPRESENTATION('',(#7790),#21764); -#22464=PRODUCT_DEFINITION_SHAPE('',$,#7791); -#22465=SHAPE_DEFINITION_REPRESENTATION(#22464,#22466); -#22466=SHAPE_REPRESENTATION('',(#7792),#21764); -#22467=PRODUCT_DEFINITION_SHAPE('',$,#7793); -#22468=SHAPE_DEFINITION_REPRESENTATION(#22467,#22469); -#22469=SHAPE_REPRESENTATION('',(#7794),#21764); -#22470=PRODUCT_DEFINITION_SHAPE('',$,#7795); -#22471=SHAPE_DEFINITION_REPRESENTATION(#22470,#22472); -#22472=SHAPE_REPRESENTATION('',(#7796),#21764); -#22473=PRODUCT_DEFINITION_SHAPE('',$,#7797); -#22474=SHAPE_DEFINITION_REPRESENTATION(#22473,#22475); -#22475=SHAPE_REPRESENTATION('',(#7798),#21764); -#22476=PRODUCT_DEFINITION_SHAPE('',$,#7799); -#22477=SHAPE_DEFINITION_REPRESENTATION(#22476,#22478); -#22478=SHAPE_REPRESENTATION('',(#7800),#21764); -#22479=PRODUCT_DEFINITION_SHAPE('',$,#7801); -#22480=SHAPE_DEFINITION_REPRESENTATION(#22479,#22481); -#22481=SHAPE_REPRESENTATION('',(#7802),#21764); -#22482=PRODUCT_DEFINITION_SHAPE('',$,#7803); -#22483=SHAPE_DEFINITION_REPRESENTATION(#22482,#22484); -#22484=SHAPE_REPRESENTATION('',(#7804),#21764); -#22485=PRODUCT_DEFINITION_SHAPE('',$,#7805); -#22486=SHAPE_DEFINITION_REPRESENTATION(#22485,#22487); -#22487=SHAPE_REPRESENTATION('',(#7806),#21764); -#22488=REPRESENTATION_MAP(#23,#7836); -#22489=PRODUCT_DEFINITION_SHAPE('',$,#7845); -#22490=SHAPE_DEFINITION_REPRESENTATION(#22489,#22491); -#22491=SHAPE_REPRESENTATION('',(#7846),#21764); -#22492=REPRESENTATION_MAP(#23,#7859); -#22493=PRODUCT_DEFINITION_SHAPE('',$,#7862); -#22494=SHAPE_DEFINITION_REPRESENTATION(#22493,#22495); -#22495=SHAPE_REPRESENTATION('',(#7863),#21764); -#22496=REPRESENTATION_MAP(#23,#7847); -#22497=PRODUCT_DEFINITION_SHAPE('',$,#7864); -#22498=SHAPE_DEFINITION_REPRESENTATION(#22497,#22499); -#22499=SHAPE_REPRESENTATION('',(#7865),#21764); -#22500=PRODUCT_DEFINITION_SHAPE('',$,#7866); -#22501=SHAPE_DEFINITION_REPRESENTATION(#22500,#22502); -#22502=SHAPE_REPRESENTATION('',(#7867),#21764); -#22503=PRODUCT_DEFINITION_SHAPE('',$,#7868); -#22504=SHAPE_DEFINITION_REPRESENTATION(#22503,#22505); -#22505=SHAPE_REPRESENTATION('',(#7869),#21764); -#22506=PRODUCT_DEFINITION_SHAPE('',$,#7870); -#22507=SHAPE_DEFINITION_REPRESENTATION(#22506,#22508); -#22508=SHAPE_REPRESENTATION('',(#7871),#21764); -#22509=PRODUCT_DEFINITION_SHAPE('',$,#7872); -#22510=SHAPE_DEFINITION_REPRESENTATION(#22509,#22511); -#22511=SHAPE_REPRESENTATION('',(#7873),#21764); -#22512=PRODUCT_DEFINITION_SHAPE('',$,#7874); -#22513=SHAPE_DEFINITION_REPRESENTATION(#22512,#22514); -#22514=SHAPE_REPRESENTATION('',(#7875),#21764); -#22515=PRODUCT_DEFINITION_SHAPE('',$,#7876); -#22516=SHAPE_DEFINITION_REPRESENTATION(#22515,#22517); -#22517=SHAPE_REPRESENTATION('',(#7877),#21764); -#22518=PRODUCT_DEFINITION_SHAPE('',$,#7878); -#22519=SHAPE_DEFINITION_REPRESENTATION(#22518,#22520); -#22520=SHAPE_REPRESENTATION('',(#7879),#21764); -#22521=PRODUCT_DEFINITION_SHAPE('',$,#7880); -#22522=SHAPE_DEFINITION_REPRESENTATION(#22521,#22523); -#22523=SHAPE_REPRESENTATION('',(#7881),#21764); -#22524=REPRESENTATION_MAP(#23,#7882); -#22525=PRODUCT_DEFINITION_SHAPE('',$,#7889); -#22526=SHAPE_DEFINITION_REPRESENTATION(#22525,#22527); -#22527=SHAPE_REPRESENTATION('',(#7890),#21764); -#22528=REPRESENTATION_MAP(#23,#7891); -#22529=PRODUCT_DEFINITION_SHAPE('',$,#7906); -#22530=SHAPE_DEFINITION_REPRESENTATION(#22529,#22531); -#22531=SHAPE_REPRESENTATION('',(#7907),#21764); -#22532=REPRESENTATION_MAP(#23,#7903); -#22533=PRODUCT_DEFINITION_SHAPE('',$,#7908); -#22534=SHAPE_DEFINITION_REPRESENTATION(#22533,#22535); -#22535=SHAPE_REPRESENTATION('',(#7909),#21764); -#22536=PRODUCT_DEFINITION_SHAPE('',$,#7910); -#22537=SHAPE_DEFINITION_REPRESENTATION(#22536,#22538); -#22538=SHAPE_REPRESENTATION('',(#7911),#21764); -#22539=PRODUCT_DEFINITION_SHAPE('',$,#7912); -#22540=SHAPE_DEFINITION_REPRESENTATION(#22539,#22541); -#22541=SHAPE_REPRESENTATION('',(#7913),#21764); -#22542=PRODUCT_DEFINITION_SHAPE('',$,#7914); -#22543=SHAPE_DEFINITION_REPRESENTATION(#22542,#22544); -#22544=SHAPE_REPRESENTATION('',(#7915),#21764); -#22545=PRODUCT_DEFINITION_SHAPE('',$,#7916); -#22546=SHAPE_DEFINITION_REPRESENTATION(#22545,#22547); -#22547=SHAPE_REPRESENTATION('',(#7917),#21764); -#22548=PRODUCT_DEFINITION_SHAPE('',$,#7918); -#22549=SHAPE_DEFINITION_REPRESENTATION(#22548,#22550); -#22550=SHAPE_REPRESENTATION('',(#7919),#21764); -#22551=PRODUCT_DEFINITION_SHAPE('',$,#7920); -#22552=SHAPE_DEFINITION_REPRESENTATION(#22551,#22553); -#22553=SHAPE_REPRESENTATION('',(#7921),#21764); -#22554=PRODUCT_DEFINITION_SHAPE('',$,#7922); -#22555=SHAPE_DEFINITION_REPRESENTATION(#22554,#22556); -#22556=SHAPE_REPRESENTATION('',(#7923),#21764); -#22557=PRODUCT_DEFINITION_SHAPE('',$,#7924); -#22558=SHAPE_DEFINITION_REPRESENTATION(#22557,#22559); -#22559=SHAPE_REPRESENTATION('',(#7925),#21764); -#22560=PRODUCT_DEFINITION_SHAPE('',$,#7926); -#22561=SHAPE_DEFINITION_REPRESENTATION(#22560,#22562); -#22562=SHAPE_REPRESENTATION('',(#7927),#21764); -#22563=PRODUCT_DEFINITION_SHAPE('',$,#7928); -#22564=SHAPE_DEFINITION_REPRESENTATION(#22563,#22565); -#22565=SHAPE_REPRESENTATION('',(#7929),#21764); -#22566=PRODUCT_DEFINITION_SHAPE('',$,#7930); -#22567=SHAPE_DEFINITION_REPRESENTATION(#22566,#22568); -#22568=SHAPE_REPRESENTATION('',(#7931),#21764); -#22569=PRODUCT_DEFINITION_SHAPE('',$,#7932); -#22570=SHAPE_DEFINITION_REPRESENTATION(#22569,#22571); -#22571=SHAPE_REPRESENTATION('',(#7933),#21764); -#22572=PRODUCT_DEFINITION_SHAPE('',$,#7934); -#22573=SHAPE_DEFINITION_REPRESENTATION(#22572,#22574); -#22574=SHAPE_REPRESENTATION('',(#7935),#21764); -#22575=PRODUCT_DEFINITION_SHAPE('',$,#7936); -#22576=SHAPE_DEFINITION_REPRESENTATION(#22575,#22577); -#22577=SHAPE_REPRESENTATION('',(#7937),#21764); -#22578=PRODUCT_DEFINITION_SHAPE('',$,#7938); -#22579=SHAPE_DEFINITION_REPRESENTATION(#22578,#22580); -#22580=SHAPE_REPRESENTATION('',(#7939),#21764); -#22581=PRODUCT_DEFINITION_SHAPE('',$,#7940); -#22582=SHAPE_DEFINITION_REPRESENTATION(#22581,#22583); -#22583=SHAPE_REPRESENTATION('',(#7941),#21764); -#22584=PRODUCT_DEFINITION_SHAPE('',$,#7942); -#22585=SHAPE_DEFINITION_REPRESENTATION(#22584,#22586); -#22586=SHAPE_REPRESENTATION('',(#7943),#21764); -#22587=PRODUCT_DEFINITION_SHAPE('',$,#7944); -#22588=SHAPE_DEFINITION_REPRESENTATION(#22587,#22589); -#22589=SHAPE_REPRESENTATION('',(#7945),#21764); -#22590=PRODUCT_DEFINITION_SHAPE('',$,#7946); -#22591=SHAPE_DEFINITION_REPRESENTATION(#22590,#22592); -#22592=SHAPE_REPRESENTATION('',(#7947),#21764); -#22593=PRODUCT_DEFINITION_SHAPE('',$,#7948); -#22594=SHAPE_DEFINITION_REPRESENTATION(#22593,#22595); -#22595=SHAPE_REPRESENTATION('',(#7949),#21764); -#22596=PRODUCT_DEFINITION_SHAPE('',$,#7950); -#22597=SHAPE_DEFINITION_REPRESENTATION(#22596,#22598); -#22598=SHAPE_REPRESENTATION('',(#7951),#21764); -#22599=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10373,#14021,#14023); -#22600=PROPERTY_DEFINITION_REPRESENTATION(#10373,#10369); -#22601=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10416,#14021,#14023); -#22602=PROPERTY_DEFINITION_REPRESENTATION(#10416,#4073); -#22603=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#10572,#14021,#14023); -#22604=PROPERTY_DEFINITION_REPRESENTATION(#10572,#4750); -#22605=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1781,#10536); -#22606=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3681,#10536); -#22607=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1952,#10536); -#22608=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3819,#10536); -#22609=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#2140,#10536); -#22610=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3804,#10536); -#22611=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1904,#10536); -#22612=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3852,#10536); -#22613=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1919,#10536); -#22614=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#10537,#10536); -#22615=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#10538,#10536); -#22616=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#10539,#10536); -#22617=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#10540,#10536); -#22618=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#10541,#10536); -#22619=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#10542,#10536); -#22620=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#10543,#10536); -#22621=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#10544,#10536); -#22622=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3717,#10621); -#22623=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1772,#10621); -#22624=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1793,#10688); -#22625=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3693,#10688); -#22626=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3690,#10762); -#22627=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1778,#10762); -#22628=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1862,#10813); -#22629=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3813,#10853); -#22630=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3738,#11180); -#22631=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1946,#11180); -#22632=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1835,#11180); -#22633=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3846,#11180); -#22634=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3735,#11180); -#22635=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1838,#11180); -#22636=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1916,#11252); -#22637=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3843,#11252); -#22638=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1820,#11327); -#22639=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3849,#11327); -#22640=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#1922,#11378); -#22641=SHAPE_ASPECT_RELATIONSHIP('unrouted terminals',$,#3753,#11421); -#22643=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#463,#14021,#14023); -#22644=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#464,#463); -#22646=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2274,#14021,#14023); -#22647=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2275,#2274); -#22649=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7709,#14021,#14023); -#22650=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#7710,#7709); -#22652=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7840,#14021,#14023); -#22653=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#7841,#7840); -#22654=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7844,#10537); -#22655=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7844,#10538); -#22656=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7844,#10539); -#22657=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7844,#10540); -#22658=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7844,#10541); -#22659=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7844,#10542); -#22660=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7844,#10543); -#22661=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7844,#10544); -#22662=NAME_ATTRIBUTE('single instance',#10199); -#22663=SHAPE_ASPECT('',$,#10199,.U.); -#22664=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10198,#22663); -#22665=NAME_ATTRIBUTE('single instance',#10206); -#22666=SHAPE_ASPECT('',$,#10206,.U.); -#22667=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10205,#22666); -#22668=NAME_ATTRIBUTE('single instance',#10214); -#22669=SHAPE_ASPECT('',$,#10214,.U.); -#22670=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10213,#22669); -#22671=NAME_ATTRIBUTE('single instance',#10222); -#22672=SHAPE_ASPECT('',$,#10222,.U.); -#22673=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10221,#22672); -#22674=NAME_ATTRIBUTE('single instance',#10230); -#22675=SHAPE_ASPECT('',$,#10230,.U.); -#22676=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10229,#22675); -#22677=NAME_ATTRIBUTE('single instance',#10238); -#22678=SHAPE_ASPECT('',$,#10238,.U.); -#22679=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10237,#22678); -#22680=NAME_ATTRIBUTE('single instance',#10246); -#22681=SHAPE_ASPECT('',$,#10246,.U.); -#22682=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10245,#22681); -#22683=NAME_ATTRIBUTE('single instance',#10254); -#22684=SHAPE_ASPECT('',$,#10254,.U.); -#22685=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10253,#22684); -#22686=NAME_ATTRIBUTE('single instance',#10267); -#22687=SHAPE_ASPECT('',$,#10267,.U.); -#22688=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10266,#22687); -#22689=NAME_ATTRIBUTE('single instance',#10274); -#22690=SHAPE_ASPECT('',$,#10274,.U.); -#22691=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10273,#22690); -#22692=NAME_ATTRIBUTE('single instance',#10282); -#22693=SHAPE_ASPECT('',$,#10282,.U.); -#22694=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10281,#22693); -#22695=NAME_ATTRIBUTE('single instance',#10290); -#22696=SHAPE_ASPECT('',$,#10290,.U.); -#22697=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10289,#22696); -#22698=NAME_ATTRIBUTE('single instance',#10298); -#22699=SHAPE_ASPECT('',$,#10298,.U.); -#22700=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10297,#22699); -#22701=NAME_ATTRIBUTE('single instance',#10311); -#22702=SHAPE_ASPECT('',$,#10311,.U.); -#22703=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10310,#22702); -#22704=NAME_ATTRIBUTE('single instance',#10318); -#22705=SHAPE_ASPECT('',$,#10318,.U.); -#22706=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10317,#22705); -#22707=NAME_ATTRIBUTE('single instance',#10326); -#22708=SHAPE_ASPECT('',$,#10326,.U.); -#22709=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10325,#22708); -#22710=NAME_ATTRIBUTE('single instance',#10339); -#22711=SHAPE_ASPECT('',$,#10339,.U.); -#22712=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10338,#22711); -#22713=NAME_ATTRIBUTE('single instance',#10346); -#22714=SHAPE_ASPECT('',$,#10346,.U.); -#22715=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10345,#22714); -#22716=NAME_ATTRIBUTE('single instance',#10354); -#22717=SHAPE_ASPECT('',$,#10354,.U.); -#22718=SHAPE_ASPECT_RELATIONSHIP('stratum feature implementation',$,#10353,#22717); -#22719=NAME_ATTRIBUTE('single instance',#327); -#22720=PRODUCT_DEFINITION_RELATIONSHIP('','resident stratum',$,#319,#327); -#22721=PROPERTY_DEFINITION('explicitly created','false',#327); -#22722=PROPERTY_DEFINITION('is base','true',#327); -#22723=NAME_ATTRIBUTE('single instance',#332); -#22724=PRODUCT_DEFINITION_RELATIONSHIP('','resident stratum',$,#295,#332); -#22725=PROPERTY_DEFINITION('explicitly created','false',#332); -#22726=PROPERTY_DEFINITION('is base','true',#332); -#22727=NAME_ATTRIBUTE('single instance',#12166); -#22728=PROPERTY_DEFINITION('','',#12166); -#22729=REPRESENTATION('',(#13408),#13406); -#22730=PROPERTY_DEFINITION_REPRESENTATION(#22728,#22729); -#22731=PROPERTY_DEFINITION('explicitly created','true',#12166); -#22732=PROPERTY_DEFINITION('is base','false',#12166); -#22733=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#327,#12166); -#22734=NAME_ATTRIBUTE('single instance',#12172); -#22735=PROPERTY_DEFINITION('','',#12172); -#22736=REPRESENTATION('',(#13408),#13406); -#22737=PROPERTY_DEFINITION_REPRESENTATION(#22735,#22736); -#22738=PROPERTY_DEFINITION('explicitly created','true',#12172); -#22739=PROPERTY_DEFINITION('is base','false',#12172); -#22740=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#327,#12172); -#22741=NAME_ATTRIBUTE('single instance',#12205); -#22742=PROPERTY_DEFINITION('','',#12205); -#22743=REPRESENTATION('',(#13408),#13406); -#22744=PROPERTY_DEFINITION_REPRESENTATION(#22742,#22743); -#22745=PROPERTY_DEFINITION('explicitly created','true',#12205); -#22746=PROPERTY_DEFINITION('is base','false',#12205); -#22747=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#327,#12205); -#22748=NAME_ATTRIBUTE('single instance',#12211); -#22749=PROPERTY_DEFINITION('','',#12211); -#22750=REPRESENTATION('',(#13408),#13406); -#22751=PROPERTY_DEFINITION_REPRESENTATION(#22749,#22750); -#22752=PROPERTY_DEFINITION('explicitly created','true',#12211); -#22753=PROPERTY_DEFINITION('is base','false',#12211); -#22754=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#327,#12211); -#22755=NAME_ATTRIBUTE('single instance',#12420); -#22756=PROPERTY_DEFINITION('','',#12420); -#22757=REPRESENTATION('',(#13408),#13406); -#22758=PROPERTY_DEFINITION_REPRESENTATION(#22756,#22757); -#22759=PROPERTY_DEFINITION('explicitly created','true',#12420); -#22760=PROPERTY_DEFINITION('is base','false',#12420); -#22761=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#327,#12420); -#22762=NAME_ATTRIBUTE('single instance',#12428); -#22763=PROPERTY_DEFINITION('','',#12428); -#22764=REPRESENTATION('',(#13408),#13406); -#22765=PROPERTY_DEFINITION_REPRESENTATION(#22763,#22764); -#22766=PROPERTY_DEFINITION('explicitly created','true',#12428); -#22767=PROPERTY_DEFINITION('is base','false',#12428); -#22768=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#332,#12428); -#22769=NAME_ATTRIBUTE('single instance',#12432); -#22770=PROPERTY_DEFINITION('','',#12432); -#22771=REPRESENTATION('',(#13408),#13406); -#22772=PROPERTY_DEFINITION_REPRESENTATION(#22770,#22771); -#22773=PROPERTY_DEFINITION('explicitly created','true',#12432); -#22774=PROPERTY_DEFINITION('is base','false',#12432); -#22775=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#332,#12432); -#22776=NAME_ATTRIBUTE('single instance',#12440); -#22777=PROPERTY_DEFINITION('','',#12440); -#22778=REPRESENTATION('',(#13408),#13406); -#22779=PROPERTY_DEFINITION_REPRESENTATION(#22777,#22778); -#22780=PROPERTY_DEFINITION('explicitly created','true',#12440); -#22781=PROPERTY_DEFINITION('is base','false',#12440); -#22782=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#332,#12440); -#22783=NAME_ATTRIBUTE('single instance',#12444); -#22784=PROPERTY_DEFINITION('','',#12444); -#22785=REPRESENTATION('',(#13408),#13406); -#22786=PROPERTY_DEFINITION_REPRESENTATION(#22784,#22785); -#22787=PROPERTY_DEFINITION('explicitly created','true',#12444); -#22788=PROPERTY_DEFINITION('is base','false',#12444); -#22789=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#332,#12444); -#22790=NAME_ATTRIBUTE('single instance',#12681); -#22791=PROPERTY_DEFINITION('','',#12681); -#22792=REPRESENTATION('',(#13408),#13406); -#22793=PROPERTY_DEFINITION_REPRESENTATION(#22791,#22792); -#22794=PROPERTY_DEFINITION('explicitly created','true',#12681); -#22795=PROPERTY_DEFINITION('is base','false',#12681); -#22796=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#332,#12681); -#22797=NAME_ATTRIBUTE('single instance',#7823); -#22798=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7709,$,'',$,#7823,*); -#22799=PROPERTY_DEFINITION('',$,#22798); -#22800=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22799); -#22801=PROPERTY_DEFINITION('feature of size','true',#7823); -#22802=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#7823); -#22803=NAME_ATTRIBUTE('single instance',#8009); -#22804=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7709,$,'',$,#8009,*); -#22805=PROPERTY_DEFINITION('',$,#22804); -#22806=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22805); -#22807=PROPERTY_DEFINITION('feature of size','true',#8009); -#22808=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8009); -#22809=NAME_ATTRIBUTE('single instance',#8029); -#22810=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7709,$,'',$,#8029,*); -#22811=PROPERTY_DEFINITION('',$,#22810); -#22812=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22811); -#22813=PROPERTY_DEFINITION('feature of size','true',#8029); -#22814=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8029); -#22815=NAME_ATTRIBUTE('single instance',#8060); -#22816=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7709,$,'',$,#8060,*); -#22817=PROPERTY_DEFINITION('',$,#22816); -#22818=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22817); -#22819=PROPERTY_DEFINITION('feature of size','true',#8060); -#22820=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8060); -#22821=NAME_ATTRIBUTE('single instance',#8091); -#22822=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7709,$,'',$,#8091,*); -#22823=PROPERTY_DEFINITION('',$,#22822); -#22824=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22823); -#22825=PROPERTY_DEFINITION('feature of size','true',#8091); -#22826=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8091); -#22827=NAME_ATTRIBUTE('single instance',#8111); -#22828=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7709,$,'',$,#8111,*); -#22829=PROPERTY_DEFINITION('',$,#22828); -#22830=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22829); -#22831=PROPERTY_DEFINITION('feature of size','true',#8111); -#22832=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8111); -#22833=NAME_ATTRIBUTE('single instance',#8142); -#22834=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7709,$,'',$,#8142,*); -#22835=PROPERTY_DEFINITION('',$,#22834); -#22836=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22835); -#22837=PROPERTY_DEFINITION('feature of size','true',#8142); -#22838=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8142); -#22839=NAME_ATTRIBUTE('single instance',#8163); -#22840=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7709,$,'',$,#8163,*); -#22841=PROPERTY_DEFINITION('',$,#22840); -#22842=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22841); -#22843=PROPERTY_DEFINITION('feature of size','true',#8163); -#22844=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8163); -#22845=NAME_ATTRIBUTE('single instance',#8226); -#22846=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7709,$,'',$,#8226,*); -#22847=PROPERTY_DEFINITION('',$,#22846); -#22848=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22847); -#22849=PROPERTY_DEFINITION('feature of size','true',#8226); -#22850=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8226); -#22851=NAME_ATTRIBUTE('single instance',#8267); -#22852=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7709,$,'',$,#8267,*); -#22853=PROPERTY_DEFINITION('',$,#22852); -#22854=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22853); -#22855=PROPERTY_DEFINITION('feature of size','true',#8267); -#22856=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8267); -#22857=NAME_ATTRIBUTE('single instance',#8310); -#22858=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7709,$,'',$,#8310,*); -#22859=PROPERTY_DEFINITION('',$,#22858); -#22860=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22859); -#22861=PROPERTY_DEFINITION('feature of size','true',#8310); -#22862=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8310); -#22863=NAME_ATTRIBUTE('single instance',#8340); -#22864=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7709,$,'',$,#8340,*); -#22865=PROPERTY_DEFINITION('',$,#22864); -#22866=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22865); -#22867=PROPERTY_DEFINITION('feature of size','true',#8340); -#22868=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8340); -#22869=NAME_ATTRIBUTE('single instance',#8372); -#22870=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7709,$,'',$,#8372,*); -#22871=PROPERTY_DEFINITION('',$,#22870); -#22872=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22871); -#22873=PROPERTY_DEFINITION('feature of size','true',#8372); -#22874=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8372); -#22875=NAME_ATTRIBUTE('single instance',#8392); -#22876=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7709,$,'',$,#8392,*); -#22877=PROPERTY_DEFINITION('',$,#22876); -#22878=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22877); -#22879=PROPERTY_DEFINITION('feature of size','true',#8392); -#22880=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8392); -#22881=NAME_ATTRIBUTE('single instance',#8455); -#22882=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7709,$,'',$,#8455,*); -#22883=PROPERTY_DEFINITION('',$,#22882); -#22884=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22883); -#22885=PROPERTY_DEFINITION('feature of size','true',#8455); -#22886=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8455); -#22887=NAME_ATTRIBUTE('single instance',#8494); -#22888=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7709,$,'',$,#8494,*); -#22889=PROPERTY_DEFINITION('',$,#22888); -#22890=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22889); -#22891=PROPERTY_DEFINITION('feature of size','true',#8494); -#22892=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8494); -#22893=NAME_ATTRIBUTE('single instance',#8520); -#22894=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7709,$,'',$,#8520,*); -#22895=PROPERTY_DEFINITION('',$,#22894); -#22896=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22895); -#22897=PROPERTY_DEFINITION('feature of size','true',#8520); -#22898=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8520); -#22899=NAME_ATTRIBUTE('single instance',#8632); -#22900=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7709,$,'',$,#8632,*); -#22901=PROPERTY_DEFINITION('',$,#22900); -#22902=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22901); -#22903=PROPERTY_DEFINITION('feature of size','true',#8632); -#22904=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8632); -#22905=NAME_ATTRIBUTE('single instance',#8652); -#22906=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7709,$,'',$,#8652,*); -#22907=PROPERTY_DEFINITION('',$,#22906); -#22908=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22907); -#22909=PROPERTY_DEFINITION('feature of size','true',#8652); -#22910=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8652); -#22911=NAME_ATTRIBUTE('single instance',#8696); -#22912=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7709,$,'',$,#8696,*); -#22913=PROPERTY_DEFINITION('',$,#22912); -#22914=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22913); -#22915=PROPERTY_DEFINITION('feature of size','true',#8696); -#22916=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8696); -#22917=NAME_ATTRIBUTE('single instance',#8893); -#22918=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7709,$,'',$,#8893,*); -#22919=PROPERTY_DEFINITION('',$,#22918); -#22920=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22919); -#22921=PROPERTY_DEFINITION('feature of size','true',#8893); -#22922=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#8893); -#22923=NAME_ATTRIBUTE('single instance',#9045); -#22924=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7709,$,'',$,#9045,*); -#22925=PROPERTY_DEFINITION('',$,#22924); -#22926=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22925); -#22927=PROPERTY_DEFINITION('feature of size','true',#9045); -#22928=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#9045); -#22929=NAME_ATTRIBUTE('single instance',#9123); -#22930=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7709,$,'',$,#9123,*); -#22931=PROPERTY_DEFINITION('',$,#22930); -#22932=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22931); -#22933=PROPERTY_DEFINITION('feature of size','true',#9123); -#22934=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#9123); -#22935=NAME_ATTRIBUTE('single instance',#9144); -#22936=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7709,$,'',$,#9144,*); -#22937=PROPERTY_DEFINITION('',$,#22936); -#22938=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22937); -#22939=PROPERTY_DEFINITION('feature of size','true',#9144); -#22940=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#9144); -#22941=NAME_ATTRIBUTE('single instance',#9198); -#22942=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7709,$,'',$,#9198,*); -#22943=PROPERTY_DEFINITION('',$,#22942); -#22944=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22943); -#22945=PROPERTY_DEFINITION('feature of size','true',#9198); -#22946=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#9198); -#22947=NAME_ATTRIBUTE('single instance',#9219); -#22948=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7709,$,'',$,#9219,*); -#22949=PROPERTY_DEFINITION('',$,#22948); -#22950=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22949); -#22951=PROPERTY_DEFINITION('feature of size','true',#9219); -#22952=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#9219); -#22953=NAME_ATTRIBUTE('single instance',#9273); -#22954=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7709,$,'',$,#9273,*); -#22955=PROPERTY_DEFINITION('',$,#22954); -#22956=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22955); -#22957=PROPERTY_DEFINITION('feature of size','true',#9273); -#22958=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#9273); -#22959=NAME_ATTRIBUTE('single instance',#9323); -#22960=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7709,$,'',$,#9323,*); -#22961=PROPERTY_DEFINITION('',$,#22960); -#22962=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22380,#22961); -#22963=PROPERTY_DEFINITION('feature of size','true',#9323); -#22964=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7822,#9323); -#22965=NAME_ATTRIBUTE('single instance',#10377); -#22966=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#22967=SHAPE_REPRESENTATION('',(#10376),#22966); -#22968=SHAPE_ASPECT('',$,#10377,.U.); -#22969=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10382,#22968); -#22970=NAME_ATTRIBUTE('single instance',#10387); -#22971=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#22972=SHAPE_REPRESENTATION('',(#10386),#22971); -#22973=SHAPE_ASPECT('',$,#10387,.U.); -#22974=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10392,#22973); -#22975=NAME_ATTRIBUTE('single instance',#10397); -#22976=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#22977=SHAPE_REPRESENTATION('',(#10396),#22976); -#22978=SHAPE_ASPECT('',$,#10397,.U.); -#22979=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10402,#22978); -#22980=NAME_ATTRIBUTE('single instance',#10407); -#22981=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#22982=SHAPE_REPRESENTATION('',(#10406),#22981); -#22983=SHAPE_ASPECT('',$,#10407,.U.); -#22984=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10412,#22983); -#22985=NAME_ATTRIBUTE('single instance',#10419); -#22986=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#22987=SHAPE_REPRESENTATION('',(#10418),#22986); -#22988=SHAPE_ASPECT('',$,#10419,.U.); -#22989=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10424,#22988); -#22990=NAME_ATTRIBUTE('single instance',#10428); -#22991=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#22992=SHAPE_REPRESENTATION('',(#10427),#22991); -#22993=SHAPE_ASPECT('',$,#10428,.U.); -#22994=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10433,#22993); -#22995=NAME_ATTRIBUTE('single instance',#10437); -#22996=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#22997=SHAPE_REPRESENTATION('',(#10436),#22996); -#22998=SHAPE_ASPECT('',$,#10437,.U.); -#22999=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10442,#22998); -#23000=NAME_ATTRIBUTE('single instance',#10446); -#23001=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23002=SHAPE_REPRESENTATION('',(#10445),#23001); -#23003=SHAPE_ASPECT('',$,#10446,.U.); -#23004=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10451,#23003); -#23005=NAME_ATTRIBUTE('single instance',#10456); -#23006=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23007=SHAPE_REPRESENTATION('',(#10455),#23006); -#23008=SHAPE_ASPECT('',$,#10456,.U.); -#23009=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10461,#23008); -#23010=NAME_ATTRIBUTE('single instance',#10466); -#23011=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23012=SHAPE_REPRESENTATION('',(#10465),#23011); -#23013=SHAPE_ASPECT('',$,#10466,.U.); -#23014=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10471,#23013); -#23015=NAME_ATTRIBUTE('single instance',#10476); -#23016=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23017=SHAPE_REPRESENTATION('',(#10475),#23016); -#23018=SHAPE_ASPECT('',$,#10476,.U.); -#23019=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10481,#23018); -#23020=NAME_ATTRIBUTE('single instance',#10486); -#23021=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23022=SHAPE_REPRESENTATION('',(#10485),#23021); -#23023=SHAPE_ASPECT('',$,#10486,.U.); -#23024=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10491,#23023); -#23025=NAME_ATTRIBUTE('single instance',#10496); -#23026=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23027=SHAPE_REPRESENTATION('',(#10495),#23026); -#23028=SHAPE_ASPECT('',$,#10496,.U.); -#23029=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10501,#23028); -#23030=NAME_ATTRIBUTE('single instance',#10506); -#23031=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23032=SHAPE_REPRESENTATION('',(#10505),#23031); -#23033=SHAPE_ASPECT('',$,#10506,.U.); -#23034=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10511,#23033); -#23035=NAME_ATTRIBUTE('single instance',#10516); -#23036=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23037=SHAPE_REPRESENTATION('',(#10515),#23036); -#23038=SHAPE_ASPECT('',$,#10516,.U.); -#23039=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10521,#23038); -#23040=NAME_ATTRIBUTE('single instance',#10526); -#23041=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23042=SHAPE_REPRESENTATION('',(#10525),#23041); -#23043=SHAPE_ASPECT('',$,#10526,.U.); -#23044=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10531,#23043); -#23045=NAME_ATTRIBUTE('single instance',#10554); -#23046=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23047=SHAPE_REPRESENTATION('',(#10553),#23046); -#23048=SHAPE_ASPECT('',$,#10554,.U.); -#23049=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10559,#23048); -#23050=NAME_ATTRIBUTE('single instance',#10563); -#23051=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23052=SHAPE_REPRESENTATION('',(#10562),#23051); -#23053=SHAPE_ASPECT('',$,#10563,.U.); -#23054=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10568,#23053); -#23055=NAME_ATTRIBUTE('single instance',#10577); -#23056=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23057=SHAPE_REPRESENTATION('',(#10576),#23056); -#23058=SHAPE_ASPECT('',$,#10577,.U.); -#23059=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10582,#23058); -#23060=NAME_ATTRIBUTE('single instance',#10586); -#23061=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23062=SHAPE_REPRESENTATION('',(#10585),#23061); -#23063=SHAPE_ASPECT('',$,#10586,.U.); -#23064=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10591,#23063); -#23065=NAME_ATTRIBUTE('single instance',#10595); -#23066=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23067=SHAPE_REPRESENTATION('',(#10594),#23066); -#23068=SHAPE_ASPECT('',$,#10595,.U.); -#23069=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10600,#23068); -#23070=NAME_ATTRIBUTE('single instance',#10605); -#23071=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23072=SHAPE_REPRESENTATION('',(#10604),#23071); -#23073=SHAPE_ASPECT('',$,#10605,.U.); -#23074=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10610,#23073); -#23075=NAME_ATTRIBUTE('single instance',#10633); -#23076=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23077=SHAPE_REPRESENTATION('',(#10632),#23076); -#23078=SHAPE_ASPECT('',$,#10633,.U.); -#23079=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10638,#23078); -#23080=NAME_ATTRIBUTE('single instance',#10642); -#23081=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23082=SHAPE_REPRESENTATION('',(#10641),#23081); -#23083=SHAPE_ASPECT('',$,#10642,.U.); -#23084=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10647,#23083); -#23085=NAME_ATTRIBUTE('single instance',#10651); -#23086=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23087=SHAPE_REPRESENTATION('',(#10650),#23086); -#23088=SHAPE_ASPECT('',$,#10651,.U.); -#23089=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10656,#23088); -#23090=NAME_ATTRIBUTE('single instance',#10660); -#23091=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23092=SHAPE_REPRESENTATION('',(#10659),#23091); -#23093=SHAPE_ASPECT('',$,#10660,.U.); -#23094=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10665,#23093); -#23095=NAME_ATTRIBUTE('single instance',#10670); -#23096=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23097=SHAPE_REPRESENTATION('',(#10669),#23096); -#23098=SHAPE_ASPECT('',$,#10670,.U.); -#23099=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10675,#23098); -#23100=NAME_ATTRIBUTE('single instance',#10697); -#23101=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23102=SHAPE_REPRESENTATION('',(#10696),#23101); -#23103=SHAPE_ASPECT('',$,#10697,.U.); -#23104=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10702,#23103); -#23105=NAME_ATTRIBUTE('single instance',#10706); -#23106=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23107=SHAPE_REPRESENTATION('',(#10705),#23106); -#23108=SHAPE_ASPECT('',$,#10706,.U.); -#23109=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10711,#23108); -#23110=NAME_ATTRIBUTE('single instance',#10720); -#23111=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23112=SHAPE_REPRESENTATION('',(#10719),#23111); -#23113=SHAPE_ASPECT('',$,#10720,.U.); -#23114=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10725,#23113); -#23115=NAME_ATTRIBUTE('single instance',#10729); -#23116=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23117=SHAPE_REPRESENTATION('',(#10728),#23116); -#23118=SHAPE_ASPECT('',$,#10729,.U.); -#23119=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10734,#23118); -#23120=NAME_ATTRIBUTE('single instance',#10738); -#23121=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23122=SHAPE_REPRESENTATION('',(#10737),#23121); -#23123=SHAPE_ASPECT('',$,#10738,.U.); -#23124=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10743,#23123); -#23125=NAME_ATTRIBUTE('single instance',#10748); -#23126=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23127=SHAPE_REPRESENTATION('',(#10747),#23126); -#23128=SHAPE_ASPECT('',$,#10748,.U.); -#23129=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10753,#23128); -#23130=NAME_ATTRIBUTE('single instance',#10772); -#23131=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23132=SHAPE_REPRESENTATION('',(#10771),#23131); -#23133=SHAPE_ASPECT('',$,#10772,.U.); -#23134=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10777,#23133); -#23135=NAME_ATTRIBUTE('single instance',#10781); -#23136=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23137=SHAPE_REPRESENTATION('',(#10780),#23136); -#23138=SHAPE_ASPECT('',$,#10781,.U.); -#23139=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10786,#23138); -#23140=NAME_ATTRIBUTE('single instance',#10790); -#23141=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23142=SHAPE_REPRESENTATION('',(#10789),#23141); -#23143=SHAPE_ASPECT('',$,#10790,.U.); -#23144=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10795,#23143); -#23145=NAME_ATTRIBUTE('single instance',#10800); -#23146=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23147=SHAPE_REPRESENTATION('',(#10799),#23146); -#23148=SHAPE_ASPECT('',$,#10800,.U.); -#23149=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10805,#23148); -#23150=NAME_ATTRIBUTE('single instance',#10821); -#23151=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23152=SHAPE_REPRESENTATION('',(#10820),#23151); -#23153=SHAPE_ASPECT('',$,#10821,.U.); -#23154=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10826,#23153); -#23155=NAME_ATTRIBUTE('single instance',#10830); -#23156=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23157=SHAPE_REPRESENTATION('',(#10829),#23156); -#23158=SHAPE_ASPECT('',$,#10830,.U.); -#23159=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10835,#23158); -#23160=NAME_ATTRIBUTE('single instance',#10840); -#23161=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23162=SHAPE_REPRESENTATION('',(#10839),#23161); -#23163=SHAPE_ASPECT('',$,#10840,.U.); -#23164=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10845,#23163); -#23165=NAME_ATTRIBUTE('single instance',#11003); -#23166=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23167=SHAPE_REPRESENTATION('',(#11002),#23166); -#23168=SHAPE_ASPECT('',$,#11003,.U.); -#23169=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11008,#23168); -#23170=NAME_ATTRIBUTE('single instance',#11013); -#23171=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23172=SHAPE_REPRESENTATION('',(#11012),#23171); -#23173=SHAPE_ASPECT('',$,#11013,.U.); -#23174=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11018,#23173); -#23175=NAME_ATTRIBUTE('single instance',#11023); -#23176=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23177=SHAPE_REPRESENTATION('',(#11022),#23176); -#23178=SHAPE_ASPECT('',$,#11023,.U.); -#23179=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11028,#23178); -#23180=NAME_ATTRIBUTE('single instance',#11032); -#23181=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23182=SHAPE_REPRESENTATION('',(#11031),#23181); -#23183=SHAPE_ASPECT('',$,#11032,.U.); -#23184=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11037,#23183); -#23185=NAME_ATTRIBUTE('single instance',#11041); -#23186=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23187=SHAPE_REPRESENTATION('',(#11040),#23186); -#23188=SHAPE_ASPECT('',$,#11041,.U.); -#23189=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11046,#23188); -#23190=NAME_ATTRIBUTE('single instance',#11050); -#23191=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23192=SHAPE_REPRESENTATION('',(#11049),#23191); -#23193=SHAPE_ASPECT('',$,#11050,.U.); -#23194=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11055,#23193); -#23195=NAME_ATTRIBUTE('single instance',#11059); -#23196=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23197=SHAPE_REPRESENTATION('',(#11058),#23196); -#23198=SHAPE_ASPECT('',$,#11059,.U.); -#23199=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11064,#23198); -#23200=NAME_ATTRIBUTE('single instance',#11068); -#23201=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23202=SHAPE_REPRESENTATION('',(#11067),#23201); -#23203=SHAPE_ASPECT('',$,#11068,.U.); -#23204=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11073,#23203); -#23205=NAME_ATTRIBUTE('single instance',#11077); -#23206=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23207=SHAPE_REPRESENTATION('',(#11076),#23206); -#23208=SHAPE_ASPECT('',$,#11077,.U.); -#23209=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11082,#23208); -#23210=NAME_ATTRIBUTE('single instance',#11086); -#23211=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23212=SHAPE_REPRESENTATION('',(#11085),#23211); -#23213=SHAPE_ASPECT('',$,#11086,.U.); -#23214=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11091,#23213); -#23215=NAME_ATTRIBUTE('single instance',#11095); -#23216=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23217=SHAPE_REPRESENTATION('',(#11094),#23216); -#23218=SHAPE_ASPECT('',$,#11095,.U.); -#23219=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11100,#23218); -#23220=NAME_ATTRIBUTE('single instance',#11104); -#23221=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23222=SHAPE_REPRESENTATION('',(#11103),#23221); -#23223=SHAPE_ASPECT('',$,#11104,.U.); -#23224=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11109,#23223); -#23225=NAME_ATTRIBUTE('single instance',#11114); -#23226=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23227=SHAPE_REPRESENTATION('',(#11113),#23226); -#23228=SHAPE_ASPECT('',$,#11114,.U.); -#23229=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11119,#23228); -#23230=NAME_ATTRIBUTE('single instance',#11124); -#23231=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23232=SHAPE_REPRESENTATION('',(#11123),#23231); -#23233=SHAPE_ASPECT('',$,#11124,.U.); -#23234=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11129,#23233); -#23235=NAME_ATTRIBUTE('single instance',#11134); -#23236=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23237=SHAPE_REPRESENTATION('',(#11133),#23236); -#23238=SHAPE_ASPECT('',$,#11134,.U.); -#23239=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11139,#23238); -#23240=NAME_ATTRIBUTE('single instance',#11189); -#23241=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23242=SHAPE_REPRESENTATION('',(#11188),#23241); -#23243=SHAPE_ASPECT('',$,#11189,.U.); -#23244=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11194,#23243); -#23245=NAME_ATTRIBUTE('single instance',#11198); -#23246=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23247=SHAPE_REPRESENTATION('',(#11197),#23246); -#23248=SHAPE_ASPECT('',$,#11198,.U.); -#23249=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11203,#23248); -#23250=NAME_ATTRIBUTE('single instance',#11210); -#23251=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23252=SHAPE_REPRESENTATION('',(#11209),#23251); -#23253=SHAPE_ASPECT('',$,#11210,.U.); -#23254=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11215,#23253); -#23255=NAME_ATTRIBUTE('single instance',#11219); -#23256=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23257=SHAPE_REPRESENTATION('',(#11218),#23256); -#23258=SHAPE_ASPECT('',$,#11219,.U.); -#23259=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11224,#23258); -#23260=NAME_ATTRIBUTE('single instance',#11228); -#23261=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23262=SHAPE_REPRESENTATION('',(#11227),#23261); -#23263=SHAPE_ASPECT('',$,#11228,.U.); -#23264=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11233,#23263); -#23265=NAME_ATTRIBUTE('single instance',#11238); -#23266=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23267=SHAPE_REPRESENTATION('',(#11237),#23266); -#23268=SHAPE_ASPECT('',$,#11238,.U.); -#23269=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11243,#23268); -#23270=NAME_ATTRIBUTE('single instance',#11261); -#23271=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23272=SHAPE_REPRESENTATION('',(#11260),#23271); -#23273=SHAPE_ASPECT('',$,#11261,.U.); -#23274=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11266,#23273); -#23275=NAME_ATTRIBUTE('single instance',#11270); -#23276=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23277=SHAPE_REPRESENTATION('',(#11269),#23276); -#23278=SHAPE_ASPECT('',$,#11270,.U.); -#23279=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11275,#23278); -#23280=NAME_ATTRIBUTE('single instance',#11285); -#23281=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23282=SHAPE_REPRESENTATION('',(#11284),#23281); -#23283=SHAPE_ASPECT('',$,#11285,.U.); -#23284=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11290,#23283); -#23285=NAME_ATTRIBUTE('single instance',#11294); -#23286=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23287=SHAPE_REPRESENTATION('',(#11293),#23286); -#23288=SHAPE_ASPECT('',$,#11294,.U.); -#23289=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11299,#23288); -#23290=NAME_ATTRIBUTE('single instance',#11303); -#23291=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23292=SHAPE_REPRESENTATION('',(#11302),#23291); -#23293=SHAPE_ASPECT('',$,#11303,.U.); -#23294=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11308,#23293); -#23295=NAME_ATTRIBUTE('single instance',#11313); -#23296=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23297=SHAPE_REPRESENTATION('',(#11312),#23296); -#23298=SHAPE_ASPECT('',$,#11313,.U.); -#23299=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11318,#23298); -#23300=NAME_ATTRIBUTE('single instance',#11337); -#23301=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23302=SHAPE_REPRESENTATION('',(#11336),#23301); -#23303=SHAPE_ASPECT('',$,#11337,.U.); -#23304=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11342,#23303); -#23305=NAME_ATTRIBUTE('single instance',#11346); -#23306=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23307=SHAPE_REPRESENTATION('',(#11345),#23306); -#23308=SHAPE_ASPECT('',$,#11346,.U.); -#23309=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11351,#23308); -#23310=NAME_ATTRIBUTE('single instance',#11355); -#23311=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23312=SHAPE_REPRESENTATION('',(#11354),#23311); -#23313=SHAPE_ASPECT('',$,#11355,.U.); -#23314=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11360,#23313); -#23315=NAME_ATTRIBUTE('single instance',#11365); -#23316=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23317=SHAPE_REPRESENTATION('',(#11364),#23316); -#23318=SHAPE_ASPECT('',$,#11365,.U.); -#23319=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11370,#23318); -#23320=NAME_ATTRIBUTE('single instance',#11386); -#23321=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23322=SHAPE_REPRESENTATION('',(#11385),#23321); -#23323=SHAPE_ASPECT('',$,#11386,.U.); -#23324=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11391,#23323); -#23325=NAME_ATTRIBUTE('single instance',#11395); -#23326=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23327=SHAPE_REPRESENTATION('',(#11394),#23326); -#23328=SHAPE_ASPECT('',$,#11395,.U.); -#23329=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11400,#23328); -#23330=NAME_ATTRIBUTE('single instance',#11408); -#23331=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#23332=SHAPE_REPRESENTATION('',(#11407),#23331); -#23333=SHAPE_ASPECT('',$,#11408,.U.); -#23334=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11413,#23333); -#23335=NAME_ATTRIBUTE('single instance',#4071); -#23336=SHAPE_ASPECT('',$,#4071,.U.); -#23337=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#23336); -#23338=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23336,#10863); -#23339=PROPERTY_DEFINITION('explicitly created','true',#4071); -#23340=PROPERTY_DEFINITION('is base','false',#4071); -#23341=NAME_ATTRIBUTE('single instance',#4081); -#23342=SHAPE_ASPECT('',$,#4081,.U.); -#23343=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#23342); -#23344=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23342,#10890); -#23345=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23342,#10891); -#23346=PROPERTY_DEFINITION('explicitly created','true',#4081); -#23347=PROPERTY_DEFINITION('is base','false',#4081); -#23348=NAME_ATTRIBUTE('single instance',#4089); -#23349=SHAPE_ASPECT('',$,#4089,.U.); -#23350=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10757,#23349); -#23351=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23349,#10691); -#23352=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23349,#10692); -#23353=PROPERTY_DEFINITION('explicitly created','true',#4089); -#23354=PROPERTY_DEFINITION('is base','false',#4089); -#23355=NAME_ATTRIBUTE('single instance',#4097); -#23356=SHAPE_ASPECT('',$,#4097,.U.); -#23357=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11249,#23356); -#23358=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23356,#11185); -#23359=PROPERTY_DEFINITION('explicitly created','true',#4097); -#23360=PROPERTY_DEFINITION('is base','false',#4097); -#23361=NAME_ATTRIBUTE('single instance',#4104); -#23362=SHAPE_ASPECT('',$,#4104,.U.); -#23363=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#23362); -#23364=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23362,#10994); -#23365=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23362,#10941); -#23366=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23362,#10995); -#23367=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23362,#10943); -#23368=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23362,#10857); -#23369=PROPERTY_DEFINITION('explicitly created','true',#4104); -#23370=PROPERTY_DEFINITION('is base','false',#4104); -#23371=NAME_ATTRIBUTE('single instance',#4712); -#23372=SHAPE_ASPECT('',$,#4712,.U.); -#23373=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#23372); -#23374=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10929); -#23375=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10930); -#23376=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10872); -#23377=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10931); -#23378=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10902); -#23379=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10932); -#23380=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10900); -#23381=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10933); -#23382=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10934); -#23383=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10935); -#23384=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10901); -#23385=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10936); -#23386=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10899); -#23387=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10937); -#23388=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10873); -#23389=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23372,#10938); -#23390=PROPERTY_DEFINITION('explicitly created','true',#4712); -#23391=PROPERTY_DEFINITION('is base','false',#4712); -#23392=NAME_ATTRIBUTE('single instance',#4748); -#23393=SHAPE_ASPECT('',$,#4748,.U.); -#23394=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#23393); -#23395=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23393,#10861); -#23396=PROPERTY_DEFINITION('explicitly created','true',#4748); -#23397=PROPERTY_DEFINITION('is base','false',#4748); -#23398=NAME_ATTRIBUTE('single instance',#4758); -#23399=SHAPE_ASPECT('',$,#4758,.U.); -#23400=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11415,#23399); -#23401=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23399,#11379); -#23402=PROPERTY_DEFINITION('explicitly created','true',#4758); -#23403=PROPERTY_DEFINITION('is base','false',#4758); -#23404=NAME_ATTRIBUTE('single instance',#4766); -#23405=SHAPE_ASPECT('',$,#4766,.U.); -#23406=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11147,#23405); -#23407=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23405,#10878); -#23408=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23405,#10879); -#23409=PROPERTY_DEFINITION('explicitly created','true',#4766); -#23410=PROPERTY_DEFINITION('is base','false',#4766); -#23411=NAME_ATTRIBUTE('single instance',#4774); -#23412=SHAPE_ASPECT('',$,#4774,.U.); -#23413=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10848,#23412); -#23414=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23412,#10815); -#23415=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23412,#10816); -#23416=PROPERTY_DEFINITION('explicitly created','true',#4774); -#23417=PROPERTY_DEFINITION('is base','false',#4774); -#23418=NAME_ATTRIBUTE('single instance',#4782); -#23419=SHAPE_ASPECT('',$,#4782,.U.); -#23420=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11372,#23419); -#23421=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23419,#11328); -#23422=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23419,#11329); -#23423=PROPERTY_DEFINITION('explicitly created','true',#4782); -#23424=PROPERTY_DEFINITION('is base','false',#4782); -#23425=NAME_ATTRIBUTE('single instance',#4792); -#23426=SHAPE_ASPECT('',$,#4792,.U.); -#23427=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#23426); -#23428=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23426,#10855); -#23429=PROPERTY_DEFINITION('explicitly created','true',#4792); -#23430=PROPERTY_DEFINITION('is base','false',#4792); -#23431=NAME_ATTRIBUTE('single instance',#4800); -#23432=SHAPE_ASPECT('',$,#4800,.U.); -#23433=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10847,#23432); -#23434=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23432,#10814); -#23435=PROPERTY_DEFINITION('explicitly created','true',#4800); -#23436=PROPERTY_DEFINITION('is base','false',#4800); -#23437=NAME_ATTRIBUTE('single instance',#4807); -#23438=SHAPE_ASPECT('',$,#4807,.U.); -#23439=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11372,#23438); -#23440=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23438,#11328); -#23441=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23438,#11329); -#23442=PROPERTY_DEFINITION('explicitly created','true',#4807); -#23443=PROPERTY_DEFINITION('is base','false',#4807); -#23444=NAME_ATTRIBUTE('single instance',#4815); -#23445=SHAPE_ASPECT('',$,#4815,.U.); -#23446=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#23445); -#23447=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23445,#10901); -#23448=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23445,#10902); -#23449=PROPERTY_DEFINITION('explicitly created','true',#4815); -#23450=PROPERTY_DEFINITION('is base','false',#4815); -#23451=NAME_ATTRIBUTE('single instance',#5186); -#23452=SHAPE_ASPECT('',$,#5186,.U.); -#23453=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#23452); -#23454=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10950); -#23455=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10951); -#23456=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10952); -#23457=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10953); -#23458=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10954); -#23459=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10955); -#23460=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10956); -#23461=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10957); -#23462=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10958); -#23463=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10959); -#23464=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10960); -#23465=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10961); -#23466=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10962); -#23467=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10963); -#23468=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10964); -#23469=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10965); -#23470=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10966); -#23471=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10967); -#23472=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10968); -#23473=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10969); -#23474=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10970); -#23475=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23452,#10971); -#23476=PROPERTY_DEFINITION('explicitly created','true',#5186); -#23477=PROPERTY_DEFINITION('is base','false',#5186); -#23478=NAME_ATTRIBUTE('single instance',#5193); -#23479=SHAPE_ASPECT('',$,#5193,.U.); -#23480=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#23479); -#23481=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23479,#10868); -#23482=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23479,#10869); -#23483=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23479,#10870); -#23484=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23479,#10871); -#23485=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23479,#10855); -#23486=PROPERTY_DEFINITION('explicitly created','true',#5193); -#23487=PROPERTY_DEFINITION('is base','false',#5193); -#23488=NAME_ATTRIBUTE('single instance',#5199); -#23489=SHAPE_ASPECT('',$,#5199,.U.); -#23490=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10847,#23489); -#23491=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23489,#10814); -#23492=PROPERTY_DEFINITION('explicitly created','true',#5199); -#23493=PROPERTY_DEFINITION('is base','false',#5199); -#23494=NAME_ATTRIBUTE('single instance',#5207); -#23495=SHAPE_ASPECT('',$,#5207,.U.); -#23496=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10677,#23495); -#23497=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23495,#10622); -#23498=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23495,#10623); -#23499=PROPERTY_DEFINITION('explicitly created','true',#5207); -#23500=PROPERTY_DEFINITION('is base','false',#5207); -#23501=NAME_ATTRIBUTE('single instance',#5213); -#23502=SHAPE_ASPECT('',$,#5213,.U.); -#23503=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11147,#23502); -#23504=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23502,#10878); -#23505=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23502,#10879); -#23506=PROPERTY_DEFINITION('explicitly created','true',#5213); -#23507=PROPERTY_DEFINITION('is base','false',#5213); -#23508=NAME_ATTRIBUTE('single instance',#5221); -#23509=SHAPE_ASPECT('',$,#5221,.U.); -#23510=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10679,#23509); -#23511=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23509,#10624); -#23512=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23509,#10625); -#23513=PROPERTY_DEFINITION('explicitly created','true',#5221); -#23514=PROPERTY_DEFINITION('is base','false',#5221); -#23515=NAME_ATTRIBUTE('single instance',#5226); -#23516=SHAPE_ASPECT('',$,#5226,.U.); -#23517=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11372,#23516); -#23518=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23516,#11328); -#23519=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23516,#11329); -#23520=PROPERTY_DEFINITION('explicitly created','true',#5226); -#23521=PROPERTY_DEFINITION('is base','false',#5226); -#23522=NAME_ATTRIBUTE('single instance',#5342); -#23523=SHAPE_ASPECT('',$,#5342,.U.); -#23524=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10533,#23523); -#23525=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23523,#10361); -#23526=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23523,#10362); -#23527=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23523,#10363); -#23528=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23523,#10364); -#23529=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23523,#10365); -#23530=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23523,#10366); -#23531=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23523,#10367); -#23532=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23523,#10368); -#23533=PROPERTY_DEFINITION('explicitly created','true',#5342); -#23534=PROPERTY_DEFINITION('is base','false',#5342); -#23535=NAME_ATTRIBUTE('single instance',#5348); -#23536=SHAPE_ASPECT('',$,#5348,.U.); -#23537=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10757,#23536); -#23538=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23536,#10691); -#23539=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23536,#10692); -#23540=PROPERTY_DEFINITION('explicitly created','true',#5348); -#23541=PROPERTY_DEFINITION('is base','false',#5348); -#23542=NAME_ATTRIBUTE('single instance',#5356); -#23543=SHAPE_ASPECT('',$,#5356,.U.); -#23544=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#23543); -#23545=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23543,#10872); -#23546=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23543,#10873); -#23547=PROPERTY_DEFINITION('explicitly created','true',#5356); -#23548=PROPERTY_DEFINITION('is base','false',#5356); -#23549=NAME_ATTRIBUTE('single instance',#5361); -#23550=SHAPE_ASPECT('',$,#5361,.U.); -#23551=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#23550); -#23552=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23550,#10895); -#23553=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23550,#10896); -#23554=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23550,#10897); -#23555=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23550,#10898); -#23556=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23550,#10862); -#23557=PROPERTY_DEFINITION('explicitly created','true',#5361); -#23558=PROPERTY_DEFINITION('is base','false',#5361); -#23559=NAME_ATTRIBUTE('single instance',#5397); -#23560=SHAPE_ASPECT('',$,#5397,.U.); -#23561=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#23560); -#23562=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23560,#10862); -#23563=PROPERTY_DEFINITION('explicitly created','true',#5397); -#23564=PROPERTY_DEFINITION('is base','false',#5397); -#23565=NAME_ATTRIBUTE('single instance',#5405); -#23566=SHAPE_ASPECT('',$,#5405,.U.); -#23567=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11375,#23566); -#23568=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23566,#11331); -#23569=PROPERTY_DEFINITION('explicitly created','true',#5405); -#23570=PROPERTY_DEFINITION('is base','false',#5405); -#23571=NAME_ATTRIBUTE('single instance',#5413); -#23572=SHAPE_ASPECT('',$,#5413,.U.); -#23573=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10614,#23572); -#23574=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23572,#10547); -#23575=PROPERTY_DEFINITION('explicitly created','true',#5413); -#23576=PROPERTY_DEFINITION('is base','false',#5413); -#23577=NAME_ATTRIBUTE('single instance',#5419); -#23578=SHAPE_ASPECT('',$,#5419,.U.); -#23579=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10847,#23578); -#23580=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23578,#10814); -#23581=PROPERTY_DEFINITION('explicitly created','true',#5419); -#23582=PROPERTY_DEFINITION('is base','false',#5419); -#23583=NAME_ATTRIBUTE('single instance',#5427); -#23584=SHAPE_ASPECT('',$,#5427,.U.); -#23585=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11323,#23584); -#23586=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23584,#11256); -#23587=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23584,#11257); -#23588=PROPERTY_DEFINITION('explicitly created','true',#5427); -#23589=PROPERTY_DEFINITION('is base','false',#5427); -#23590=NAME_ATTRIBUTE('single instance',#5449); -#23591=SHAPE_ASPECT('',$,#5449,.U.); -#23592=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#23591); -#23593=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10972); -#23594=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10973); -#23595=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10974); -#23596=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10975); -#23597=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10976); -#23598=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10977); -#23599=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10978); -#23600=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10979); -#23601=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10980); -#23602=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10981); -#23603=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10982); -#23604=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10983); -#23605=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10984); -#23606=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10985); -#23607=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10986); -#23608=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10987); -#23609=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10988); -#23610=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10989); -#23611=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10990); -#23612=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10991); -#23613=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10992); -#23614=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23591,#10993); -#23615=PROPERTY_DEFINITION('explicitly created','true',#5449); -#23616=PROPERTY_DEFINITION('is base','false',#5449); -#23617=NAME_ATTRIBUTE('single instance',#5704); -#23618=SHAPE_ASPECT('',$,#5704,.U.); -#23619=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#23618); -#23620=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10880); -#23621=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10881); -#23622=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10882); -#23623=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10883); -#23624=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10884); -#23625=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10885); -#23626=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10886); -#23627=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10887); -#23628=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10888); -#23629=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10889); -#23630=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10890); -#23631=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10891); -#23632=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10892); -#23633=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10893); -#23634=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23618,#10894); -#23635=PROPERTY_DEFINITION('explicitly created','true',#5704); -#23636=PROPERTY_DEFINITION('is base','false',#5704); -#23637=NAME_ATTRIBUTE('single instance',#5712); -#23638=SHAPE_ASPECT('',$,#5712,.U.); -#23639=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10807,#23638); -#23640=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23638,#10763); -#23641=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23638,#10764); -#23642=PROPERTY_DEFINITION('explicitly created','true',#5712); -#23643=PROPERTY_DEFINITION('is base','false',#5712); -#23644=NAME_ATTRIBUTE('single instance',#5720); -#23645=SHAPE_ASPECT('',$,#5720,.U.); -#23646=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10615,#23645); -#23647=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23645,#10548); -#23648=PROPERTY_DEFINITION('explicitly created','true',#5720); -#23649=PROPERTY_DEFINITION('is base','false',#5720); -#23650=NAME_ATTRIBUTE('single instance',#5728); -#23651=SHAPE_ASPECT('',$,#5728,.U.); -#23652=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11320,#23651); -#23653=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23651,#11253); -#23654=PROPERTY_DEFINITION('explicitly created','true',#5728); -#23655=PROPERTY_DEFINITION('is base','false',#5728); -#23656=NAME_ATTRIBUTE('single instance',#5734); -#23657=SHAPE_ASPECT('',$,#5734,.U.); -#23658=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11249,#23657); -#23659=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23657,#11185); -#23660=PROPERTY_DEFINITION('explicitly created','true',#5734); -#23661=PROPERTY_DEFINITION('is base','false',#5734); -#23662=NAME_ATTRIBUTE('single instance',#5740); -#23663=SHAPE_ASPECT('',$,#5740,.U.); -#23664=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10807,#23663); -#23665=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23663,#10763); -#23666=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23663,#10764); -#23667=PROPERTY_DEFINITION('explicitly created','true',#5740); -#23668=PROPERTY_DEFINITION('is base','false',#5740); -#23669=NAME_ATTRIBUTE('single instance',#5747); -#23670=SHAPE_ASPECT('',$,#5747,.U.); -#23671=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#23670); -#23672=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23670,#10996); -#23673=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23670,#10942); -#23674=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23670,#10997); -#23675=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23670,#10945); -#23676=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23670,#10861); -#23677=PROPERTY_DEFINITION('explicitly created','true',#5747); -#23678=PROPERTY_DEFINITION('is base','false',#5747); -#23679=NAME_ATTRIBUTE('single instance',#5755); -#23680=SHAPE_ASPECT('',$,#5755,.U.); -#23681=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10850,#23680); -#23682=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23680,#10817); -#23683=PROPERTY_DEFINITION('explicitly created','true',#5755); -#23684=PROPERTY_DEFINITION('is base','false',#5755); -#23685=NAME_ATTRIBUTE('single instance',#5763); -#23686=SHAPE_ASPECT('',$,#5763,.U.); -#23687=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10759,#23686); -#23688=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23686,#10693); -#23689=PROPERTY_DEFINITION('explicitly created','true',#5763); -#23690=PROPERTY_DEFINITION('is base','false',#5763); -#23691=NAME_ATTRIBUTE('single instance',#5770); -#23692=SHAPE_ASPECT('',$,#5770,.U.); -#23693=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11247,#23692); -#23694=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23692,#11183); -#23695=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23692,#11184); -#23696=PROPERTY_DEFINITION('explicitly created','true',#5770); -#23697=PROPERTY_DEFINITION('is base','false',#5770); -#23698=NAME_ATTRIBUTE('single instance',#5777); -#23699=SHAPE_ASPECT('',$,#5777,.U.); -#23700=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11323,#23699); -#23701=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23699,#11256); -#23702=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23699,#11257); -#23703=PROPERTY_DEFINITION('explicitly created','true',#5777); -#23704=PROPERTY_DEFINITION('is base','false',#5777); -#23705=NAME_ATTRIBUTE('single instance',#5783); -#23706=SHAPE_ASPECT('',$,#5783,.U.); -#23707=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10759,#23706); -#23708=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23706,#10693); -#23709=PROPERTY_DEFINITION('explicitly created','true',#5783); -#23710=PROPERTY_DEFINITION('is base','false',#5783); -#23711=NAME_ATTRIBUTE('single instance',#5791); -#23712=SHAPE_ASPECT('',$,#5791,.U.); -#23713=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#23712); -#23714=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23712,#10766); -#23715=PROPERTY_DEFINITION('explicitly created','true',#5791); -#23716=PROPERTY_DEFINITION('is base','false',#5791); -#23717=NAME_ATTRIBUTE('single instance',#5797); -#23718=SHAPE_ASPECT('',$,#5797,.U.); -#23719=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11249,#23718); -#23720=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23718,#11185); -#23721=PROPERTY_DEFINITION('explicitly created','true',#5797); -#23722=PROPERTY_DEFINITION('is base','false',#5797); -#23723=NAME_ATTRIBUTE('single instance',#5803); -#23724=SHAPE_ASPECT('',$,#5803,.U.); -#23725=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10850,#23724); -#23726=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23724,#10817); -#23727=PROPERTY_DEFINITION('explicitly created','true',#5803); -#23728=PROPERTY_DEFINITION('is base','false',#5803); -#23729=NAME_ATTRIBUTE('single instance',#5811); -#23730=SHAPE_ASPECT('',$,#5811,.U.); -#23731=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10616,#23730); -#23732=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23730,#10549); -#23733=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23730,#10550); -#23734=PROPERTY_DEFINITION('explicitly created','true',#5811); -#23735=PROPERTY_DEFINITION('is base','false',#5811); -#23736=NAME_ATTRIBUTE('single instance',#5817); -#23737=SHAPE_ASPECT('',$,#5817,.U.); -#23738=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#23737); -#23739=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23737,#10872); -#23740=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23737,#10873); -#23741=PROPERTY_DEFINITION('explicitly created','true',#5817); -#23742=PROPERTY_DEFINITION('is base','false',#5817); -#23743=NAME_ATTRIBUTE('single instance',#5827); -#23744=SHAPE_ASPECT('',$,#5827,.U.); -#23745=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#23744); -#23746=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23744,#10857); -#23747=PROPERTY_DEFINITION('explicitly created','true',#5827); -#23748=PROPERTY_DEFINITION('is base','false',#5827); -#23749=NAME_ATTRIBUTE('single instance',#5835); -#23750=SHAPE_ASPECT('',$,#5835,.U.); -#23751=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10755,#23750); -#23752=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23750,#10689); -#23753=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23750,#10690); -#23754=PROPERTY_DEFINITION('explicitly created','true',#5835); -#23755=PROPERTY_DEFINITION('is base','false',#5835); -#23756=NAME_ATTRIBUTE('single instance',#5842); -#23757=SHAPE_ASPECT('',$,#5842,.U.); -#23758=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10616,#23757); -#23759=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23757,#10549); -#23760=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23757,#10550); -#23761=PROPERTY_DEFINITION('explicitly created','true',#5842); -#23762=PROPERTY_DEFINITION('is base','false',#5842); -#23763=NAME_ATTRIBUTE('single instance',#5848); -#23764=SHAPE_ASPECT('',$,#5848,.U.); -#23765=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#23764); -#23766=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23764,#10872); -#23767=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23764,#10873); -#23768=PROPERTY_DEFINITION('explicitly created','true',#5848); -#23769=PROPERTY_DEFINITION('is base','false',#5848); -#23770=NAME_ATTRIBUTE('single instance',#5855); -#23771=SHAPE_ASPECT('',$,#5855,.U.); -#23772=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#23771); -#23773=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23771,#10874); -#23774=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23771,#10875); -#23775=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23771,#10876); -#23776=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23771,#10877); -#23777=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23771,#10859); -#23778=PROPERTY_DEFINITION('explicitly created','true',#5855); -#23779=PROPERTY_DEFINITION('is base','false',#5855); -#23780=NAME_ATTRIBUTE('single instance',#5862); -#23781=SHAPE_ASPECT('',$,#5862,.U.); -#23782=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10615,#23781); -#23783=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23781,#10548); -#23784=PROPERTY_DEFINITION('explicitly created','true',#5862); -#23785=PROPERTY_DEFINITION('is base','false',#5862); -#23786=NAME_ATTRIBUTE('single instance',#5869); -#23787=SHAPE_ASPECT('',$,#5869,.U.); -#23788=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11320,#23787); -#23789=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23787,#11253); -#23790=PROPERTY_DEFINITION('explicitly created','true',#5869); -#23791=PROPERTY_DEFINITION('is base','false',#5869); -#23792=NAME_ATTRIBUTE('single instance',#5874); -#23793=SHAPE_ASPECT('',$,#5874,.U.); -#23794=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#23793); -#23795=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23793,#10946); -#23796=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23793,#10947); -#23797=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23793,#10948); -#23798=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23793,#10949); -#23799=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23793,#10866); -#23800=PROPERTY_DEFINITION('explicitly created','true',#5874); -#23801=PROPERTY_DEFINITION('is base','false',#5874); -#23802=NAME_ATTRIBUTE('single instance',#5913); -#23803=SHAPE_ASPECT('',$,#5913,.U.); -#23804=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#23803); -#23805=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23803,#10865); -#23806=PROPERTY_DEFINITION('explicitly created','true',#5913); -#23807=PROPERTY_DEFINITION('is base','false',#5913); -#23808=NAME_ATTRIBUTE('single instance',#5921); -#23809=SHAPE_ASPECT('',$,#5921,.U.); -#23810=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11321,#23809); -#23811=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23809,#11254); -#23812=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23809,#11255); -#23813=PROPERTY_DEFINITION('explicitly created','true',#5921); -#23814=PROPERTY_DEFINITION('is base','false',#5921); -#23815=NAME_ATTRIBUTE('single instance',#5926); -#23816=SHAPE_ASPECT('',$,#5926,.U.); -#23817=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#23816); -#23818=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23816,#10903); -#23819=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23816,#10904); -#23820=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23816,#10905); -#23821=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23816,#10906); -#23822=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23816,#10863); -#23823=PROPERTY_DEFINITION('explicitly created','true',#5926); -#23824=PROPERTY_DEFINITION('is base','false',#5926); -#23825=NAME_ATTRIBUTE('single instance',#5932); -#23826=SHAPE_ASPECT('',$,#5932,.U.); -#23827=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11247,#23826); -#23828=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23826,#11183); -#23829=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23826,#11184); -#23830=PROPERTY_DEFINITION('explicitly created','true',#5932); -#23831=PROPERTY_DEFINITION('is base','false',#5932); -#23832=NAME_ATTRIBUTE('single instance',#5968); -#23833=SHAPE_ASPECT('',$,#5968,.U.); -#23834=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#23833); -#23835=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23833,#10867); -#23836=PROPERTY_DEFINITION('explicitly created','true',#5968); -#23837=PROPERTY_DEFINITION('is base','false',#5968); -#23838=NAME_ATTRIBUTE('single instance',#5974); -#23839=SHAPE_ASPECT('',$,#5974,.U.); -#23840=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10614,#23839); -#23841=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23839,#10547); -#23842=PROPERTY_DEFINITION('explicitly created','true',#5974); -#23843=PROPERTY_DEFINITION('is base','false',#5974); -#23844=NAME_ATTRIBUTE('single instance',#5979); -#23845=SHAPE_ASPECT('',$,#5979,.U.); -#23846=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11320,#23845); -#23847=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23845,#11253); -#23848=PROPERTY_DEFINITION('explicitly created','true',#5979); -#23849=PROPERTY_DEFINITION('is base','false',#5979); -#23850=NAME_ATTRIBUTE('single instance',#5985); -#23851=SHAPE_ASPECT('',$,#5985,.U.); -#23852=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11321,#23851); -#23853=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23851,#11254); -#23854=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23851,#11255); -#23855=PROPERTY_DEFINITION('explicitly created','true',#5985); -#23856=PROPERTY_DEFINITION('is base','false',#5985); -#23857=NAME_ATTRIBUTE('single instance',#6931); -#23858=SHAPE_ASPECT('',$,#6931,.U.); -#23859=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#23858); -#23860=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23858,#10939); -#23861=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23858,#10940); -#23862=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23858,#10941); -#23863=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23858,#10870); -#23864=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23858,#10942); -#23865=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23858,#10943); -#23866=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23858,#10871); -#23867=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23858,#10944); -#23868=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23858,#10945); -#23869=PROPERTY_DEFINITION('explicitly created','true',#6931); -#23870=PROPERTY_DEFINITION('is base','false',#6931); -#23871=NAME_ATTRIBUTE('single instance',#6938); -#23872=SHAPE_ASPECT('',$,#6938,.U.); -#23873=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#23872); -#23874=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23872,#10766); -#23875=PROPERTY_DEFINITION('explicitly created','true',#6938); -#23876=PROPERTY_DEFINITION('is base','false',#6938); -#23877=NAME_ATTRIBUTE('single instance',#6944); -#23878=SHAPE_ASPECT('',$,#6944,.U.); -#23879=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10759,#23878); -#23880=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23878,#10693); -#23881=PROPERTY_DEFINITION('explicitly created','true',#6944); -#23882=PROPERTY_DEFINITION('is base','false',#6944); -#23883=NAME_ATTRIBUTE('single instance',#6950); -#23884=SHAPE_ASPECT('',$,#6950,.U.); -#23885=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10679,#23884); -#23886=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23884,#10624); -#23887=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23884,#10625); -#23888=PROPERTY_DEFINITION('explicitly created','true',#6950); -#23889=PROPERTY_DEFINITION('is base','false',#6950); -#23890=NAME_ATTRIBUTE('single instance',#6958); -#23891=SHAPE_ASPECT('',$,#6958,.U.); -#23892=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#23891); -#23893=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23891,#10899); -#23894=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23891,#10900); -#23895=PROPERTY_DEFINITION('explicitly created','true',#6958); -#23896=PROPERTY_DEFINITION('is base','false',#6958); -#23897=NAME_ATTRIBUTE('single instance',#6964); -#23898=SHAPE_ASPECT('',$,#6964,.U.); -#23899=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10614,#23898); -#23900=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23898,#10547); -#23901=PROPERTY_DEFINITION('explicitly created','true',#6964); -#23902=PROPERTY_DEFINITION('is base','false',#6964); -#23903=NAME_ATTRIBUTE('single instance',#6972); -#23904=SHAPE_ASPECT('',$,#6972,.U.); -#23905=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11418,#23904); -#23906=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23904,#11382); -#23907=PROPERTY_DEFINITION('explicitly created','true',#6972); -#23908=PROPERTY_DEFINITION('is base','false',#6972); -#23909=NAME_ATTRIBUTE('single instance',#6980); -#23910=SHAPE_ASPECT('',$,#6980,.U.); -#23911=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#23910); -#23912=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23910,#10880); -#23913=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23910,#10881); -#23914=PROPERTY_DEFINITION('explicitly created','true',#6980); -#23915=PROPERTY_DEFINITION('is base','false',#6980); -#23916=NAME_ATTRIBUTE('single instance',#6988); -#23917=SHAPE_ASPECT('',$,#6988,.U.); -#23918=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11245,#23917); -#23919=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23917,#11181); -#23920=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23917,#11182); -#23921=PROPERTY_DEFINITION('explicitly created','true',#6988); -#23922=PROPERTY_DEFINITION('is base','false',#6988); -#23923=NAME_ATTRIBUTE('single instance',#6998); -#23924=SHAPE_ASPECT('',$,#6998,.U.); -#23925=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#23924); -#23926=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23924,#10866); -#23927=PROPERTY_DEFINITION('explicitly created','true',#6998); -#23928=PROPERTY_DEFINITION('is base','false',#6998); -#23929=NAME_ATTRIBUTE('single instance',#7006); -#23930=SHAPE_ASPECT('',$,#7006,.U.); -#23931=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11374,#23930); -#23932=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23930,#11330); -#23933=PROPERTY_DEFINITION('explicitly created','true',#7006); -#23934=PROPERTY_DEFINITION('is base','false',#7006); -#23935=NAME_ATTRIBUTE('single instance',#7014); -#23936=SHAPE_ASPECT('',$,#7014,.U.); -#23937=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10612,#23936); -#23938=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23936,#10545); -#23939=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23936,#10546); -#23940=PROPERTY_DEFINITION('explicitly created','true',#7014); -#23941=PROPERTY_DEFINITION('is base','false',#7014); -#23942=NAME_ATTRIBUTE('single instance',#7022); -#23943=SHAPE_ASPECT('',$,#7022,.U.); -#23944=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10809,#23943); -#23945=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23943,#10765); -#23946=PROPERTY_DEFINITION('explicitly created','true',#7022); -#23947=PROPERTY_DEFINITION('is base','false',#7022); -#23948=NAME_ATTRIBUTE('single instance',#7028); -#23949=SHAPE_ASPECT('',$,#7028,.U.); -#23950=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10850,#23949); -#23951=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23949,#10817); -#23952=PROPERTY_DEFINITION('explicitly created','true',#7028); -#23953=PROPERTY_DEFINITION('is base','false',#7028); -#23954=NAME_ATTRIBUTE('single instance',#7036); -#23955=SHAPE_ASPECT('',$,#7036,.U.); -#23956=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11416,#23955); -#23957=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23955,#11380); -#23958=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23955,#11381); -#23959=PROPERTY_DEFINITION('explicitly created','true',#7036); -#23960=PROPERTY_DEFINITION('is base','false',#7036); -#23961=NAME_ATTRIBUTE('single instance',#7042); -#23962=SHAPE_ASPECT('',$,#7042,.U.); -#23963=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11374,#23962); -#23964=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23962,#11330); -#23965=PROPERTY_DEFINITION('explicitly created','true',#7042); -#23966=PROPERTY_DEFINITION('is base','false',#7042); -#23967=NAME_ATTRIBUTE('single instance',#7049); -#23968=SHAPE_ASPECT('',$,#7049,.U.); -#23969=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10755,#23968); -#23970=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23968,#10689); -#23971=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23968,#10690); -#23972=PROPERTY_DEFINITION('explicitly created','true',#7049); -#23973=PROPERTY_DEFINITION('is base','false',#7049); -#23974=NAME_ATTRIBUTE('single instance',#7055); -#23975=SHAPE_ASPECT('',$,#7055,.U.); -#23976=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11245,#23975); -#23977=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23975,#11181); -#23978=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23975,#11182); -#23979=PROPERTY_DEFINITION('explicitly created','true',#7055); -#23980=PROPERTY_DEFINITION('is base','false',#7055); -#23981=NAME_ATTRIBUTE('single instance',#7061); -#23982=SHAPE_ASPECT('',$,#7061,.U.); -#23983=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11247,#23982); -#23984=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23982,#11183); -#23985=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23982,#11184); -#23986=PROPERTY_DEFINITION('explicitly created','true',#7061); -#23987=PROPERTY_DEFINITION('is base','false',#7061); -#23988=NAME_ATTRIBUTE('single instance',#7067); -#23989=SHAPE_ASPECT('',$,#7067,.U.); -#23990=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10809,#23989); -#23991=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23989,#10765); -#23992=PROPERTY_DEFINITION('explicitly created','true',#7067); -#23993=PROPERTY_DEFINITION('is base','false',#7067); -#23994=NAME_ATTRIBUTE('single instance',#7074); -#23995=SHAPE_ASPECT('',$,#7074,.U.); -#23996=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#23995); -#23997=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23995,#10880); -#23998=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#23995,#10881); -#23999=PROPERTY_DEFINITION('explicitly created','true',#7074); -#24000=PROPERTY_DEFINITION('is base','false',#7074); -#24001=NAME_ATTRIBUTE('single instance',#7080); -#24002=SHAPE_ASPECT('',$,#7080,.U.); -#24003=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11416,#24002); -#24004=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24002,#11380); -#24005=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24002,#11381); -#24006=PROPERTY_DEFINITION('explicitly created','true',#7080); -#24007=PROPERTY_DEFINITION('is base','false',#7080); -#24008=NAME_ATTRIBUTE('single instance',#7086); -#24009=SHAPE_ASPECT('',$,#7086,.U.); -#24010=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11245,#24009); -#24011=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24009,#11181); -#24012=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24009,#11182); -#24013=PROPERTY_DEFINITION('explicitly created','true',#7086); -#24014=PROPERTY_DEFINITION('is base','false',#7086); -#24015=NAME_ATTRIBUTE('single instance',#7117); -#24016=SHAPE_ASPECT('',$,#7117,.U.); -#24017=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10681,#24016); -#24018=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24016,#10626); -#24019=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24016,#10627); -#24020=PROPERTY_DEFINITION('explicitly created','true',#7117); -#24021=PROPERTY_DEFINITION('is base','false',#7117); -#24022=NAME_ATTRIBUTE('single instance',#7123); -#24023=SHAPE_ASPECT('',$,#7123,.U.); -#24024=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#24023); -#24025=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24023,#10901); -#24026=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24023,#10902); -#24027=PROPERTY_DEFINITION('explicitly created','true',#7123); -#24028=PROPERTY_DEFINITION('is base','false',#7123); -#24029=NAME_ATTRIBUTE('single instance',#7128); -#24030=SHAPE_ASPECT('',$,#7128,.U.); -#24031=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#24030); -#24032=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24030,#10998); -#24033=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24030,#10939); -#24034=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24030,#10999); -#24035=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24030,#10944); -#24036=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24030,#10865); -#24037=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24030,#10867); -#24038=PROPERTY_DEFINITION('explicitly created','true',#7128); -#24039=PROPERTY_DEFINITION('is base','false',#7128); -#24040=NAME_ATTRIBUTE('single instance',#7133); -#24041=SHAPE_ASPECT('',$,#7133,.U.); -#24042=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10755,#24041); -#24043=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24041,#10689); -#24044=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24041,#10690); -#24045=PROPERTY_DEFINITION('explicitly created','true',#7133); -#24046=PROPERTY_DEFINITION('is base','false',#7133); -#24047=NAME_ATTRIBUTE('single instance',#7139); -#24048=SHAPE_ASPECT('',$,#7139,.U.); -#24049=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11321,#24048); -#24050=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24048,#11254); -#24051=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24048,#11255); -#24052=PROPERTY_DEFINITION('explicitly created','true',#7139); -#24053=PROPERTY_DEFINITION('is base','false',#7139); -#24054=NAME_ATTRIBUTE('single instance',#7146); -#24055=SHAPE_ASPECT('',$,#7146,.U.); -#24056=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#24055); -#24057=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24055,#10899); -#24058=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24055,#10900); -#24059=PROPERTY_DEFINITION('explicitly created','true',#7146); -#24060=PROPERTY_DEFINITION('is base','false',#7146); -#24061=NAME_ATTRIBUTE('single instance',#7152); -#24062=SHAPE_ASPECT('',$,#7152,.U.); -#24063=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11418,#24062); -#24064=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24062,#11382); -#24065=PROPERTY_DEFINITION('explicitly created','true',#7152); -#24066=PROPERTY_DEFINITION('is base','false',#7152); -#24067=NAME_ATTRIBUTE('single instance',#7158); -#24068=SHAPE_ASPECT('',$,#7158,.U.); -#24069=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10848,#24068); -#24070=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24068,#10815); -#24071=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24068,#10816); -#24072=PROPERTY_DEFINITION('explicitly created','true',#7158); -#24073=PROPERTY_DEFINITION('is base','false',#7158); -#24074=NAME_ATTRIBUTE('single instance',#7164); -#24075=SHAPE_ASPECT('',$,#7164,.U.); -#24076=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11375,#24075); -#24077=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24075,#11331); -#24078=PROPERTY_DEFINITION('explicitly created','true',#7164); -#24079=PROPERTY_DEFINITION('is base','false',#7164); -#24080=NAME_ATTRIBUTE('single instance',#7171); -#24081=SHAPE_ASPECT('',$,#7171,.U.); -#24082=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#24081); -#24083=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24081,#10890); -#24084=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24081,#10891); -#24085=PROPERTY_DEFINITION('explicitly created','true',#7171); -#24086=PROPERTY_DEFINITION('is base','false',#7171); -#24087=NAME_ATTRIBUTE('single instance',#7176); -#24088=SHAPE_ASPECT('',$,#7176,.U.); -#24089=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10616,#24088); -#24090=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24088,#10549); -#24091=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24088,#10550); -#24092=PROPERTY_DEFINITION('explicitly created','true',#7176); -#24093=PROPERTY_DEFINITION('is base','false',#7176); -#24094=NAME_ATTRIBUTE('single instance',#7182); -#24095=SHAPE_ASPECT('',$,#7182,.U.); -#24096=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10848,#24095); -#24097=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24095,#10815); -#24098=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24095,#10816); -#24099=PROPERTY_DEFINITION('explicitly created','true',#7182); -#24100=PROPERTY_DEFINITION('is base','false',#7182); -#24101=NAME_ATTRIBUTE('single instance',#7188); -#24102=SHAPE_ASPECT('',$,#7188,.U.); -#24103=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10807,#24102); -#24104=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24102,#10763); -#24105=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24102,#10764); -#24106=PROPERTY_DEFINITION('explicitly created','true',#7188); -#24107=PROPERTY_DEFINITION('is base','false',#7188); -#24108=NAME_ATTRIBUTE('single instance',#7194); -#24109=SHAPE_ASPECT('',$,#7194,.U.); -#24110=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10677,#24109); -#24111=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24109,#10622); -#24112=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24109,#10623); -#24113=PROPERTY_DEFINITION('explicitly created','true',#7194); -#24114=PROPERTY_DEFINITION('is base','false',#7194); -#24115=NAME_ATTRIBUTE('single instance',#7200); -#24116=SHAPE_ASPECT('',$,#7200,.U.); -#24117=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11374,#24116); -#24118=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24116,#11330); -#24119=PROPERTY_DEFINITION('explicitly created','true',#7200); -#24120=PROPERTY_DEFINITION('is base','false',#7200); -#24121=NAME_ATTRIBUTE('single instance',#7205); -#24122=SHAPE_ASPECT('',$,#7205,.U.); -#24123=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10615,#24122); -#24124=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24122,#10548); -#24125=PROPERTY_DEFINITION('explicitly created','true',#7205); -#24126=PROPERTY_DEFINITION('is base','false',#7205); -#24127=NAME_ATTRIBUTE('single instance',#7210); -#24128=SHAPE_ASPECT('',$,#7210,.U.); -#24129=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#24128); -#24130=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24128,#10890); -#24131=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24128,#10891); -#24132=PROPERTY_DEFINITION('explicitly created','true',#7210); -#24133=PROPERTY_DEFINITION('is base','false',#7210); -#24134=NAME_ATTRIBUTE('single instance',#7215); -#24135=SHAPE_ASPECT('',$,#7215,.U.); -#24136=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11323,#24135); -#24137=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24135,#11256); -#24138=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24135,#11257); -#24139=PROPERTY_DEFINITION('explicitly created','true',#7215); -#24140=PROPERTY_DEFINITION('is base','false',#7215); -#24141=NAME_ATTRIBUTE('single instance',#7221); -#24142=SHAPE_ASPECT('',$,#7221,.U.); -#24143=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#24142); -#24144=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24142,#10901); -#24145=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24142,#10902); -#24146=PROPERTY_DEFINITION('explicitly created','true',#7221); -#24147=PROPERTY_DEFINITION('is base','false',#7221); -#24148=NAME_ATTRIBUTE('single instance',#7243); -#24149=SHAPE_ASPECT('',$,#7243,.U.); -#24150=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#24149); -#24151=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10907); -#24152=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10908); -#24153=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10909); -#24154=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10910); -#24155=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10911); -#24156=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10912); -#24157=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10913); -#24158=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10914); -#24159=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10915); -#24160=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10916); -#24161=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10917); -#24162=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10918); -#24163=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10919); -#24164=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10920); -#24165=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10921); -#24166=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10922); -#24167=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10923); -#24168=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10924); -#24169=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10925); -#24170=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10926); -#24171=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10927); -#24172=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24149,#10928); -#24173=PROPERTY_DEFINITION('explicitly created','true',#7243); -#24174=PROPERTY_DEFINITION('is base','false',#7243); -#24175=NAME_ATTRIBUTE('single instance',#7575); -#24176=SHAPE_ASPECT('',$,#7575,.U.); -#24177=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#24176); -#24178=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24176,#10875); -#24179=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24176,#10896); -#24180=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24176,#10905); -#24181=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24176,#10947); -#24182=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24176,#10898); -#24183=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24176,#10906); -#24184=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24176,#10877); -#24185=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24176,#10949); -#24186=PROPERTY_DEFINITION('explicitly created','true',#7575); -#24187=PROPERTY_DEFINITION('is base','false',#7575); -#24188=NAME_ATTRIBUTE('single instance',#7585); -#24189=SHAPE_ASPECT('',$,#7585,.U.); -#24190=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#24189); -#24191=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24189,#10859); -#24192=PROPERTY_DEFINITION('explicitly created','true',#7585); -#24193=PROPERTY_DEFINITION('is base','false',#7585); -#24194=NAME_ATTRIBUTE('single instance',#7591); -#24195=SHAPE_ASPECT('',$,#7591,.U.); -#24196=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11415,#24195); -#24197=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24195,#11379); -#24198=PROPERTY_DEFINITION('explicitly created','true',#7591); -#24199=PROPERTY_DEFINITION('is base','false',#7591); -#24200=NAME_ATTRIBUTE('single instance',#7597); -#24201=SHAPE_ASPECT('',$,#7597,.U.); -#24202=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11375,#24201); -#24203=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24201,#11331); -#24204=PROPERTY_DEFINITION('explicitly created','true',#7597); -#24205=PROPERTY_DEFINITION('is base','false',#7597); -#24206=NAME_ATTRIBUTE('single instance',#7602); -#24207=SHAPE_ASPECT('',$,#7602,.U.); -#24208=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#24207); -#24209=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24207,#10766); -#24210=PROPERTY_DEFINITION('explicitly created','true',#7602); -#24211=PROPERTY_DEFINITION('is base','false',#7602); -#24212=NAME_ATTRIBUTE('single instance',#7608); -#24213=SHAPE_ASPECT('',$,#7608,.U.); -#24214=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11147,#24213); -#24215=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24213,#10878); -#24216=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24213,#10879); -#24217=PROPERTY_DEFINITION('explicitly created','true',#7608); -#24218=PROPERTY_DEFINITION('is base','false',#7608); -#24219=NAME_ATTRIBUTE('single instance',#7630); -#24220=SHAPE_ASPECT('',$,#7630,.U.); -#24221=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10683,#24220); -#24222=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24220,#10628); -#24223=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24220,#10629); -#24224=PROPERTY_DEFINITION('explicitly created','true',#7630); -#24225=PROPERTY_DEFINITION('is base','false',#7630); -#24226=NAME_ATTRIBUTE('single instance',#7636); -#24227=SHAPE_ASPECT('',$,#7636,.U.); -#24228=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11415,#24227); -#24229=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24227,#11379); -#24230=PROPERTY_DEFINITION('explicitly created','true',#7636); -#24231=PROPERTY_DEFINITION('is base','false',#7636); -#24232=NAME_ATTRIBUTE('single instance',#7642); -#24233=SHAPE_ASPECT('',$,#7642,.U.); -#24234=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10757,#24233); -#24235=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24233,#10691); -#24236=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24233,#10692); -#24237=PROPERTY_DEFINITION('explicitly created','true',#7642); -#24238=PROPERTY_DEFINITION('is base','false',#7642); -#24239=NAME_ATTRIBUTE('single instance',#7648); -#24240=SHAPE_ASPECT('',$,#7648,.U.); -#24241=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10679,#24240); -#24242=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24240,#10624); -#24243=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24240,#10625); -#24244=PROPERTY_DEFINITION('explicitly created','true',#7648); -#24245=PROPERTY_DEFINITION('is base','false',#7648); -#24246=NAME_ATTRIBUTE('single instance',#7653); -#24247=SHAPE_ASPECT('',$,#7653,.U.); -#24248=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#24247); -#24249=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24247,#10899); -#24250=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24247,#10900); -#24251=PROPERTY_DEFINITION('explicitly created','true',#7653); -#24252=PROPERTY_DEFINITION('is base','false',#7653); -#24253=NAME_ATTRIBUTE('single instance',#7659); -#24254=SHAPE_ASPECT('',$,#7659,.U.); -#24255=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10612,#24254); -#24256=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24254,#10545); -#24257=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24254,#10546); -#24258=PROPERTY_DEFINITION('explicitly created','true',#7659); -#24259=PROPERTY_DEFINITION('is base','false',#7659); -#24260=NAME_ATTRIBUTE('single instance',#7665); -#24261=SHAPE_ASPECT('',$,#7665,.U.); -#24262=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11416,#24261); -#24263=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24261,#11380); -#24264=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24261,#11381); -#24265=PROPERTY_DEFINITION('explicitly created','true',#7665); -#24266=PROPERTY_DEFINITION('is base','false',#7665); -#24267=NAME_ATTRIBUTE('single instance',#7671); -#24268=SHAPE_ASPECT('',$,#7671,.U.); -#24269=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10612,#24268); -#24270=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24268,#10545); -#24271=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24268,#10546); -#24272=PROPERTY_DEFINITION('explicitly created','true',#7671); -#24273=PROPERTY_DEFINITION('is base','false',#7671); -#24274=NAME_ATTRIBUTE('single instance',#7677); -#24275=SHAPE_ASPECT('',$,#7677,.U.); -#24276=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10809,#24275); -#24277=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24275,#10765); -#24278=PROPERTY_DEFINITION('explicitly created','true',#7677); -#24279=PROPERTY_DEFINITION('is base','false',#7677); -#24280=NAME_ATTRIBUTE('single instance',#7682); -#24281=SHAPE_ASPECT('',$,#7682,.U.); -#24282=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#24281); -#24283=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24281,#10880); -#24284=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24281,#10881); -#24285=PROPERTY_DEFINITION('explicitly created','true',#7682); -#24286=PROPERTY_DEFINITION('is base','false',#7682); -#24287=NAME_ATTRIBUTE('single instance',#7688); -#24288=SHAPE_ASPECT('',$,#7688,.U.); -#24289=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10677,#24288); -#24290=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24288,#10622); -#24291=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24288,#10623); -#24292=PROPERTY_DEFINITION('explicitly created','true',#7688); -#24293=PROPERTY_DEFINITION('is base','false',#7688); -#24294=NAME_ATTRIBUTE('single instance',#7694); -#24295=SHAPE_ASPECT('',$,#7694,.U.); -#24296=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11418,#24295); -#24297=SHAPE_ASPECT_RELATIONSHIP('associated layer connection point',$,#24295,#11382); -#24298=PROPERTY_DEFINITION('explicitly created','true',#7694); -#24299=PROPERTY_DEFINITION('is base','false',#7694); -#24300=NAME_ATTRIBUTE('single instance',#1769); -#24301=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1769,*); -#24302=PROPERTY_DEFINITION('',$,#24301); -#24303=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21987,#24302); -#24304=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24302); -#24305=SHAPE_ASPECT('',$,#1769,.U.); -#24306=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11988,#24305); -#24307=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1769); -#24308=NAME_ATTRIBUTE('single instance',#1772); -#24309=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1772,*); -#24310=PROPERTY_DEFINITION('',$,#24309); -#24311=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21984,#24310); -#24312=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24310); -#24313=SHAPE_ASPECT('',$,#1772,.U.); -#24314=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11963,#24313); -#24315=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1772); -#24316=NAME_ATTRIBUTE('single instance',#1775); -#24317=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1775,*); -#24318=PROPERTY_DEFINITION('',$,#24317); -#24319=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21981,#24318); -#24320=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24318); -#24321=SHAPE_ASPECT('',$,#1775,.U.); -#24322=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12007,#24321); -#24323=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1775); -#24324=NAME_ATTRIBUTE('single instance',#1778); -#24325=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1778,*); -#24326=PROPERTY_DEFINITION('',$,#24325); -#24327=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21978,#24326); -#24328=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24326); -#24329=SHAPE_ASPECT('',$,#1778,.U.); -#24330=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11953,#24329); -#24331=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1778); -#24332=NAME_ATTRIBUTE('single instance',#1781); -#24333=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1781,*); -#24334=PROPERTY_DEFINITION('',$,#24333); -#24335=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21975,#24334); -#24336=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24334); -#24337=SHAPE_ASPECT('',$,#1781,.U.); -#24338=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11979,#24337); -#24339=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1781); -#24340=NAME_ATTRIBUTE('single instance',#1784); -#24341=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1784,*); -#24342=PROPERTY_DEFINITION('',$,#24341); -#24343=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21972,#24342); -#24344=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24342); -#24345=SHAPE_ASPECT('',$,#1784,.U.); -#24346=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11966,#24345); -#24347=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1784); -#24348=NAME_ATTRIBUTE('single instance',#1787); -#24349=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1787,*); -#24350=PROPERTY_DEFINITION('',$,#24349); -#24351=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21969,#24350); -#24352=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24350); -#24353=SHAPE_ASPECT('',$,#1787,.U.); -#24354=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11967,#24353); -#24355=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1787); -#24356=NAME_ATTRIBUTE('single instance',#1790); -#24357=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1790,*); -#24358=PROPERTY_DEFINITION('',$,#24357); -#24359=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21966,#24358); -#24360=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24358); -#24361=SHAPE_ASPECT('',$,#1790,.U.); -#24362=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12001,#24361); -#24363=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1790); -#24364=NAME_ATTRIBUTE('single instance',#1793); -#24365=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1793,*); -#24366=PROPERTY_DEFINITION('',$,#24365); -#24367=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21963,#24366); -#24368=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24366); -#24369=SHAPE_ASPECT('',$,#1793,.U.); -#24370=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11977,#24369); -#24371=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1793); -#24372=NAME_ATTRIBUTE('single instance',#1796); -#24373=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1796,*); -#24374=PROPERTY_DEFINITION('',$,#24373); -#24375=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21960,#24374); -#24376=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24374); -#24377=SHAPE_ASPECT('',$,#1796,.U.); -#24378=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11970,#24377); -#24379=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1796); -#24380=NAME_ATTRIBUTE('single instance',#1799); -#24381=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1799,*); -#24382=PROPERTY_DEFINITION('',$,#24381); -#24383=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21957,#24382); -#24384=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24382); -#24385=SHAPE_ASPECT('',$,#1799,.U.); -#24386=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11985,#24385); -#24387=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1799); -#24388=NAME_ATTRIBUTE('single instance',#1802); -#24389=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1802,*); -#24390=PROPERTY_DEFINITION('',$,#24389); -#24391=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21954,#24390); -#24392=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24390); -#24393=SHAPE_ASPECT('',$,#1802,.U.); -#24394=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11996,#24393); -#24395=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1802); -#24396=NAME_ATTRIBUTE('single instance',#1805); -#24397=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1805,*); -#24398=PROPERTY_DEFINITION('',$,#24397); -#24399=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21951,#24398); -#24400=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24398); -#24401=SHAPE_ASPECT('',$,#1805,.U.); -#24402=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11997,#24401); -#24403=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1805); -#24404=NAME_ATTRIBUTE('single instance',#1808); -#24405=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1808,*); -#24406=PROPERTY_DEFINITION('',$,#24405); -#24407=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21948,#24406); -#24408=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24406); -#24409=SHAPE_ASPECT('',$,#1808,.U.); -#24410=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11959,#24409); -#24411=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1808); -#24412=NAME_ATTRIBUTE('single instance',#1811); -#24413=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1811,*); -#24414=PROPERTY_DEFINITION('',$,#24413); -#24415=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21945,#24414); -#24416=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24414); -#24417=SHAPE_ASPECT('',$,#1811,.U.); -#24418=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11994,#24417); -#24419=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1811); -#24420=NAME_ATTRIBUTE('single instance',#1814); -#24421=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1814,*); -#24422=PROPERTY_DEFINITION('',$,#24421); -#24423=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21942,#24422); -#24424=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24422); -#24425=SHAPE_ASPECT('',$,#1814,.U.); -#24426=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12006,#24425); -#24427=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1814); -#24428=NAME_ATTRIBUTE('single instance',#1817); -#24429=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1817,*); -#24430=PROPERTY_DEFINITION('',$,#24429); -#24431=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21939,#24430); -#24432=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24430); -#24433=SHAPE_ASPECT('',$,#1817,.U.); -#24434=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12004,#24433); -#24435=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1817); -#24436=NAME_ATTRIBUTE('single instance',#1820); -#24437=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1820,*); -#24438=PROPERTY_DEFINITION('',$,#24437); -#24439=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21936,#24438); -#24440=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24438); -#24441=SHAPE_ASPECT('',$,#1820,.U.); -#24442=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11978,#24441); -#24443=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1820); -#24444=NAME_ATTRIBUTE('single instance',#1823); -#24445=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1823,*); -#24446=PROPERTY_DEFINITION('',$,#24445); -#24447=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21933,#24446); -#24448=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24446); -#24449=SHAPE_ASPECT('',$,#1823,.U.); -#24450=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11965,#24449); -#24451=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1823); -#24452=NAME_ATTRIBUTE('single instance',#1826); -#24453=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1826,*); -#24454=PROPERTY_DEFINITION('',$,#24453); -#24455=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21930,#24454); -#24456=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24454); -#24457=SHAPE_ASPECT('',$,#1826,.U.); -#24458=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11975,#24457); -#24459=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1826); -#24460=NAME_ATTRIBUTE('single instance',#1829); -#24461=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1829,*); -#24462=PROPERTY_DEFINITION('',$,#24461); -#24463=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21927,#24462); -#24464=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24462); -#24465=SHAPE_ASPECT('',$,#1829,.U.); -#24466=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11972,#24465); -#24467=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1829); -#24468=NAME_ATTRIBUTE('single instance',#1832); -#24469=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1832,*); -#24470=PROPERTY_DEFINITION('',$,#24469); -#24471=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21924,#24470); -#24472=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24470); -#24473=SHAPE_ASPECT('',$,#1832,.U.); -#24474=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12003,#24473); -#24475=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1832); -#24476=NAME_ATTRIBUTE('single instance',#1835); -#24477=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1835,*); -#24478=PROPERTY_DEFINITION('',$,#24477); -#24479=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21921,#24478); -#24480=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24478); -#24481=SHAPE_ASPECT('',$,#1835,.U.); -#24482=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11990,#24481); -#24483=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1835); -#24484=NAME_ATTRIBUTE('single instance',#1838); -#24485=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1838,*); -#24486=PROPERTY_DEFINITION('',$,#24485); -#24487=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21918,#24486); -#24488=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24486); -#24489=SHAPE_ASPECT('',$,#1838,.U.); -#24490=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11964,#24489); -#24491=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1838); -#24492=NAME_ATTRIBUTE('single instance',#1841); -#24493=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1841,*); -#24494=PROPERTY_DEFINITION('',$,#24493); -#24495=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21915,#24494); -#24496=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24494); -#24497=SHAPE_ASPECT('',$,#1841,.U.); -#24498=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11962,#24497); -#24499=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1841); -#24500=NAME_ATTRIBUTE('single instance',#1844); -#24501=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1844,*); -#24502=PROPERTY_DEFINITION('',$,#24501); -#24503=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21912,#24502); -#24504=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24502); -#24505=SHAPE_ASPECT('',$,#1844,.U.); -#24506=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11991,#24505); -#24507=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1844); -#24508=NAME_ATTRIBUTE('single instance',#1847); -#24509=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1847,*); -#24510=PROPERTY_DEFINITION('',$,#24509); -#24511=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21909,#24510); -#24512=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24510); -#24513=SHAPE_ASPECT('',$,#1847,.U.); -#24514=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11974,#24513); -#24515=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1847); -#24516=NAME_ATTRIBUTE('single instance',#1850); -#24517=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1850,*); -#24518=PROPERTY_DEFINITION('',$,#24517); -#24519=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21906,#24518); -#24520=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24518); -#24521=SHAPE_ASPECT('',$,#1850,.U.); -#24522=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11952,#24521); -#24523=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1850); -#24524=NAME_ATTRIBUTE('single instance',#1853); -#24525=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1853,*); -#24526=PROPERTY_DEFINITION('',$,#24525); -#24527=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21903,#24526); -#24528=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24526); -#24529=SHAPE_ASPECT('',$,#1853,.U.); -#24530=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11992,#24529); -#24531=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1853); -#24532=NAME_ATTRIBUTE('single instance',#1856); -#24533=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1856,*); -#24534=PROPERTY_DEFINITION('',$,#24533); -#24535=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21900,#24534); -#24536=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24534); -#24537=SHAPE_ASPECT('',$,#1856,.U.); -#24538=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11960,#24537); -#24539=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1856); -#24540=NAME_ATTRIBUTE('single instance',#1859); -#24541=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1859,*); -#24542=PROPERTY_DEFINITION('',$,#24541); -#24543=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21897,#24542); -#24544=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24542); -#24545=SHAPE_ASPECT('',$,#1859,.U.); -#24546=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11957,#24545); -#24547=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1859); -#24548=NAME_ATTRIBUTE('single instance',#1862); -#24549=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1862,*); -#24550=PROPERTY_DEFINITION('',$,#24549); -#24551=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21894,#24550); -#24552=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24550); -#24553=SHAPE_ASPECT('',$,#1862,.U.); -#24554=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11989,#24553); -#24555=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1862); -#24556=NAME_ATTRIBUTE('single instance',#1865); -#24557=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1865,*); -#24558=PROPERTY_DEFINITION('',$,#24557); -#24559=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21891,#24558); -#24560=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24558); -#24561=SHAPE_ASPECT('',$,#1865,.U.); -#24562=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11951,#24561); -#24563=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1865); -#24564=NAME_ATTRIBUTE('single instance',#1868); -#24565=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1868,*); -#24566=PROPERTY_DEFINITION('',$,#24565); -#24567=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21888,#24566); -#24568=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24566); -#24569=SHAPE_ASPECT('',$,#1868,.U.); -#24570=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12009,#24569); -#24571=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1868); -#24572=NAME_ATTRIBUTE('single instance',#1871); -#24573=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1871,*); -#24574=PROPERTY_DEFINITION('',$,#24573); -#24575=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21885,#24574); -#24576=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24574); -#24577=SHAPE_ASPECT('',$,#1871,.U.); -#24578=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11987,#24577); -#24579=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1871); -#24580=NAME_ATTRIBUTE('single instance',#1874); -#24581=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1874,*); -#24582=PROPERTY_DEFINITION('',$,#24581); -#24583=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21882,#24582); -#24584=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24582); -#24585=SHAPE_ASPECT('',$,#1874,.U.); -#24586=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11961,#24585); -#24587=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1874); -#24588=NAME_ATTRIBUTE('single instance',#1877); -#24589=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1877,*); -#24590=PROPERTY_DEFINITION('',$,#24589); -#24591=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21879,#24590); -#24592=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24590); -#24593=SHAPE_ASPECT('',$,#1877,.U.); -#24594=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11969,#24593); -#24595=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1877); -#24596=NAME_ATTRIBUTE('single instance',#1880); -#24597=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1880,*); -#24598=PROPERTY_DEFINITION('',$,#24597); -#24599=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21876,#24598); -#24600=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24598); -#24601=SHAPE_ASPECT('',$,#1880,.U.); -#24602=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11956,#24601); -#24603=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1880); -#24604=NAME_ATTRIBUTE('single instance',#1883); -#24605=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1883,*); -#24606=PROPERTY_DEFINITION('',$,#24605); -#24607=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21873,#24606); -#24608=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24606); -#24609=SHAPE_ASPECT('',$,#1883,.U.); -#24610=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11986,#24609); -#24611=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1883); -#24612=NAME_ATTRIBUTE('single instance',#1886); -#24613=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1886,*); -#24614=PROPERTY_DEFINITION('',$,#24613); -#24615=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21870,#24614); -#24616=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24614); -#24617=SHAPE_ASPECT('',$,#1886,.U.); -#24618=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11980,#24617); -#24619=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1886); -#24620=NAME_ATTRIBUTE('single instance',#1889); -#24621=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1889,*); -#24622=PROPERTY_DEFINITION('',$,#24621); -#24623=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21867,#24622); -#24624=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24622); -#24625=SHAPE_ASPECT('',$,#1889,.U.); -#24626=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11998,#24625); -#24627=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1889); -#24628=NAME_ATTRIBUTE('single instance',#1892); -#24629=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1892,*); -#24630=PROPERTY_DEFINITION('',$,#24629); -#24631=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21864,#24630); -#24632=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24630); -#24633=SHAPE_ASPECT('',$,#1892,.U.); -#24634=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12002,#24633); -#24635=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1892); -#24636=NAME_ATTRIBUTE('single instance',#1895); -#24637=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1895,*); -#24638=PROPERTY_DEFINITION('',$,#24637); -#24639=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21861,#24638); -#24640=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24638); -#24641=SHAPE_ASPECT('',$,#1895,.U.); -#24642=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11999,#24641); -#24643=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1895); -#24644=NAME_ATTRIBUTE('single instance',#1898); -#24645=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1898,*); -#24646=PROPERTY_DEFINITION('',$,#24645); -#24647=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21858,#24646); -#24648=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24646); -#24649=SHAPE_ASPECT('',$,#1898,.U.); -#24650=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11984,#24649); -#24651=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1898); -#24652=NAME_ATTRIBUTE('single instance',#1901); -#24653=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1901,*); -#24654=PROPERTY_DEFINITION('',$,#24653); -#24655=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21855,#24654); -#24656=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24654); -#24657=SHAPE_ASPECT('',$,#1901,.U.); -#24658=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11947,#24657); -#24659=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1901); -#24660=NAME_ATTRIBUTE('single instance',#1904); -#24661=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1904,*); -#24662=PROPERTY_DEFINITION('',$,#24661); -#24663=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21852,#24662); -#24664=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24662); -#24665=SHAPE_ASPECT('',$,#1904,.U.); -#24666=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11958,#24665); -#24667=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1904); -#24668=NAME_ATTRIBUTE('single instance',#1907); -#24669=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1907,*); -#24670=PROPERTY_DEFINITION('',$,#24669); -#24671=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21849,#24670); -#24672=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24670); -#24673=SHAPE_ASPECT('',$,#1907,.U.); -#24674=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11982,#24673); -#24675=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1907); -#24676=NAME_ATTRIBUTE('single instance',#1910); -#24677=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1910,*); -#24678=PROPERTY_DEFINITION('',$,#24677); -#24679=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21846,#24678); -#24680=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24678); -#24681=SHAPE_ASPECT('',$,#1910,.U.); -#24682=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12005,#24681); -#24683=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1910); -#24684=NAME_ATTRIBUTE('single instance',#1913); -#24685=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1913,*); -#24686=PROPERTY_DEFINITION('',$,#24685); -#24687=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21843,#24686); -#24688=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24686); -#24689=SHAPE_ASPECT('',$,#1913,.U.); -#24690=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11983,#24689); -#24691=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1913); -#24692=NAME_ATTRIBUTE('single instance',#1916); -#24693=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1916,*); -#24694=PROPERTY_DEFINITION('',$,#24693); -#24695=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21840,#24694); -#24696=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24694); -#24697=SHAPE_ASPECT('',$,#1916,.U.); -#24698=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11968,#24697); -#24699=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1916); -#24700=NAME_ATTRIBUTE('single instance',#1919); -#24701=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1919,*); -#24702=PROPERTY_DEFINITION('',$,#24701); -#24703=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21837,#24702); -#24704=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24702); -#24705=SHAPE_ASPECT('',$,#1919,.U.); -#24706=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11950,#24705); -#24707=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1919); -#24708=NAME_ATTRIBUTE('single instance',#1922); -#24709=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1922,*); -#24710=PROPERTY_DEFINITION('',$,#24709); -#24711=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21834,#24710); -#24712=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24710); -#24713=SHAPE_ASPECT('',$,#1922,.U.); -#24714=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11981,#24713); -#24715=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1922); -#24716=NAME_ATTRIBUTE('single instance',#1925); -#24717=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1925,*); -#24718=PROPERTY_DEFINITION('',$,#24717); -#24719=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21831,#24718); -#24720=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24718); -#24721=SHAPE_ASPECT('',$,#1925,.U.); -#24722=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11973,#24721); -#24723=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1925); -#24724=NAME_ATTRIBUTE('single instance',#1928); -#24725=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1928,*); -#24726=PROPERTY_DEFINITION('',$,#24725); -#24727=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21828,#24726); -#24728=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24726); -#24729=SHAPE_ASPECT('',$,#1928,.U.); -#24730=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11976,#24729); -#24731=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1928); -#24732=NAME_ATTRIBUTE('single instance',#1931); -#24733=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1931,*); -#24734=PROPERTY_DEFINITION('',$,#24733); -#24735=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21825,#24734); -#24736=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24734); -#24737=SHAPE_ASPECT('',$,#1931,.U.); -#24738=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11954,#24737); -#24739=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1931); -#24740=NAME_ATTRIBUTE('single instance',#1934); -#24741=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1934,*); -#24742=PROPERTY_DEFINITION('',$,#24741); -#24743=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21822,#24742); -#24744=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24742); -#24745=SHAPE_ASPECT('',$,#1934,.U.); -#24746=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11949,#24745); -#24747=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1934); -#24748=NAME_ATTRIBUTE('single instance',#1937); -#24749=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1937,*); -#24750=PROPERTY_DEFINITION('',$,#24749); -#24751=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21819,#24750); -#24752=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24750); -#24753=SHAPE_ASPECT('',$,#1937,.U.); -#24754=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11971,#24753); -#24755=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1937); -#24756=NAME_ATTRIBUTE('single instance',#1940); -#24757=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1940,*); -#24758=PROPERTY_DEFINITION('',$,#24757); -#24759=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21816,#24758); -#24760=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24758); -#24761=SHAPE_ASPECT('',$,#1940,.U.); -#24762=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11946,#24761); -#24763=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1940); -#24764=NAME_ATTRIBUTE('single instance',#1943); -#24765=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1943,*); -#24766=PROPERTY_DEFINITION('',$,#24765); -#24767=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21813,#24766); -#24768=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24766); -#24769=SHAPE_ASPECT('',$,#1943,.U.); -#24770=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11955,#24769); -#24771=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1943); -#24772=NAME_ATTRIBUTE('single instance',#1946); -#24773=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1946,*); -#24774=PROPERTY_DEFINITION('',$,#24773); -#24775=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21810,#24774); -#24776=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24774); -#24777=SHAPE_ASPECT('',$,#1946,.U.); -#24778=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12000,#24777); -#24779=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1946); -#24780=NAME_ATTRIBUTE('single instance',#1949); -#24781=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1949,*); -#24782=PROPERTY_DEFINITION('',$,#24781); -#24783=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21807,#24782); -#24784=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24782); -#24785=SHAPE_ASPECT('',$,#1949,.U.); -#24786=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11995,#24785); -#24787=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1949); -#24788=NAME_ATTRIBUTE('single instance',#1952); -#24789=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1952,*); -#24790=PROPERTY_DEFINITION('',$,#24789); -#24791=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21804,#24790); -#24792=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24790); -#24793=SHAPE_ASPECT('',$,#1952,.U.); -#24794=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12008,#24793); -#24795=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1952); -#24796=NAME_ATTRIBUTE('single instance',#1955); -#24797=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1955,*); -#24798=PROPERTY_DEFINITION('',$,#24797); -#24799=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21801,#24798); -#24800=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24798); -#24801=SHAPE_ASPECT('',$,#1955,.U.); -#24802=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11948,#24801); -#24803=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1955); -#24804=NAME_ATTRIBUTE('single instance',#1958); -#24805=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#893,$,'',$,#1958,*); -#24806=PROPERTY_DEFINITION('',$,#24805); -#24807=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21798,#24806); -#24808=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24806); -#24809=SHAPE_ASPECT('',$,#1958,.U.); -#24810=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11993,#24809); -#24811=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#1958); -#24812=NAME_ATTRIBUTE('single instance',#2140); -#24813=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2135,#2075,$,'',$,#2140,*); -#24814=PROPERTY_DEFINITION('',$,#24813); -#24815=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21998,#24814); -#24816=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21991,#24814); -#24817=SHAPE_ASPECT('',$,#2140,.U.); -#24818=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12010,#24817); -#24819=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2079,#2140); -#24820=NAME_ATTRIBUTE('single instance',#2142); -#24821=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2135,#2075,$,'',$,#2142,*); -#24822=PROPERTY_DEFINITION('',$,#24821); -#24823=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21995,#24822); -#24824=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21991,#24822); -#24825=SHAPE_ASPECT('',$,#2142,.U.); -#24826=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#24825); -#24827=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2079,#2142); -#24828=NAME_ATTRIBUTE('single instance',#3669); -#24829=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3669,*); -#24830=PROPERTY_DEFINITION('',$,#24829); -#24831=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22376,#24830); -#24832=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24830); -#24833=SHAPE_ASPECT('',$,#3669,.U.); -#24834=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12048,#24833); -#24835=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3669); -#24836=NAME_ATTRIBUTE('single instance',#3672); -#24837=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3672,*); -#24838=PROPERTY_DEFINITION('',$,#24837); -#24839=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22373,#24838); -#24840=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24838); -#24841=SHAPE_ASPECT('',$,#3672,.U.); -#24842=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12098,#24841); -#24843=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3672); -#24844=NAME_ATTRIBUTE('single instance',#3675); -#24845=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3675,*); -#24846=PROPERTY_DEFINITION('',$,#24845); -#24847=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22370,#24846); -#24848=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24846); -#24849=SHAPE_ASPECT('',$,#3675,.U.); -#24850=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12055,#24849); -#24851=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3675); -#24852=NAME_ATTRIBUTE('single instance',#3678); -#24853=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3678,*); -#24854=PROPERTY_DEFINITION('',$,#24853); -#24855=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22367,#24854); -#24856=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24854); -#24857=SHAPE_ASPECT('',$,#3678,.U.); -#24858=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12057,#24857); -#24859=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3678); -#24860=NAME_ATTRIBUTE('single instance',#3681); -#24861=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3681,*); -#24862=PROPERTY_DEFINITION('',$,#24861); -#24863=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22364,#24862); -#24864=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24862); -#24865=SHAPE_ASPECT('',$,#3681,.U.); -#24866=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12086,#24865); -#24867=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3681); -#24868=NAME_ATTRIBUTE('single instance',#3684); -#24869=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3684,*); -#24870=PROPERTY_DEFINITION('',$,#24869); -#24871=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22361,#24870); -#24872=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24870); -#24873=SHAPE_ASPECT('',$,#3684,.U.); -#24874=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12050,#24873); -#24875=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3684); -#24876=NAME_ATTRIBUTE('single instance',#3687); -#24877=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3687,*); -#24878=PROPERTY_DEFINITION('',$,#24877); -#24879=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22358,#24878); -#24880=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24878); -#24881=SHAPE_ASPECT('',$,#3687,.U.); -#24882=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12090,#24881); -#24883=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3687); -#24884=NAME_ATTRIBUTE('single instance',#3690); -#24885=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3690,*); -#24886=PROPERTY_DEFINITION('',$,#24885); -#24887=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22355,#24886); -#24888=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24886); -#24889=SHAPE_ASPECT('',$,#3690,.U.); -#24890=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12095,#24889); -#24891=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3690); -#24892=NAME_ATTRIBUTE('single instance',#3693); -#24893=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3693,*); -#24894=PROPERTY_DEFINITION('',$,#24893); -#24895=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22352,#24894); -#24896=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24894); -#24897=SHAPE_ASPECT('',$,#3693,.U.); -#24898=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12069,#24897); -#24899=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3693); -#24900=NAME_ATTRIBUTE('single instance',#3696); -#24901=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3696,*); -#24902=PROPERTY_DEFINITION('',$,#24901); -#24903=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22349,#24902); -#24904=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24902); -#24905=SHAPE_ASPECT('',$,#3696,.U.); -#24906=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12103,#24905); -#24907=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3696); -#24908=NAME_ATTRIBUTE('single instance',#3699); -#24909=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3699,*); -#24910=PROPERTY_DEFINITION('',$,#24909); -#24911=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22346,#24910); -#24912=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24910); -#24913=SHAPE_ASPECT('',$,#3699,.U.); -#24914=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12060,#24913); -#24915=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3699); -#24916=NAME_ATTRIBUTE('single instance',#3702); -#24917=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3702,*); -#24918=PROPERTY_DEFINITION('',$,#24917); -#24919=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22343,#24918); -#24920=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24918); -#24921=SHAPE_ASPECT('',$,#3702,.U.); -#24922=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12041,#24921); -#24923=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3702); -#24924=NAME_ATTRIBUTE('single instance',#3705); -#24925=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3705,*); -#24926=PROPERTY_DEFINITION('',$,#24925); -#24927=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22340,#24926); -#24928=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24926); -#24929=SHAPE_ASPECT('',$,#3705,.U.); -#24930=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12052,#24929); -#24931=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3705); -#24932=NAME_ATTRIBUTE('single instance',#3708); -#24933=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3708,*); -#24934=PROPERTY_DEFINITION('',$,#24933); -#24935=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22337,#24934); -#24936=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24934); -#24937=SHAPE_ASPECT('',$,#3708,.U.); -#24938=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12094,#24937); -#24939=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3708); -#24940=NAME_ATTRIBUTE('single instance',#3711); -#24941=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3711,*); -#24942=PROPERTY_DEFINITION('',$,#24941); -#24943=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22334,#24942); -#24944=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24942); -#24945=SHAPE_ASPECT('',$,#3711,.U.); -#24946=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12070,#24945); -#24947=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3711); -#24948=NAME_ATTRIBUTE('single instance',#3714); -#24949=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3714,*); -#24950=PROPERTY_DEFINITION('',$,#24949); -#24951=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22331,#24950); -#24952=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24950); -#24953=SHAPE_ASPECT('',$,#3714,.U.); -#24954=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12042,#24953); -#24955=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3714); -#24956=NAME_ATTRIBUTE('single instance',#3717); -#24957=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3717,*); -#24958=PROPERTY_DEFINITION('',$,#24957); -#24959=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22328,#24958); -#24960=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24958); -#24961=SHAPE_ASPECT('',$,#3717,.U.); -#24962=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12047,#24961); -#24963=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3717); -#24964=NAME_ATTRIBUTE('single instance',#3720); -#24965=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3720,*); -#24966=PROPERTY_DEFINITION('',$,#24965); -#24967=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22325,#24966); -#24968=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24966); -#24969=SHAPE_ASPECT('',$,#3720,.U.); -#24970=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12101,#24969); -#24971=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3720); -#24972=NAME_ATTRIBUTE('single instance',#3723); -#24973=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3723,*); -#24974=PROPERTY_DEFINITION('',$,#24973); -#24975=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22322,#24974); -#24976=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24974); -#24977=SHAPE_ASPECT('',$,#3723,.U.); -#24978=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12077,#24977); -#24979=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3723); -#24980=NAME_ATTRIBUTE('single instance',#3726); -#24981=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3726,*); -#24982=PROPERTY_DEFINITION('',$,#24981); -#24983=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22319,#24982); -#24984=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24982); -#24985=SHAPE_ASPECT('',$,#3726,.U.); -#24986=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12092,#24985); -#24987=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3726); -#24988=NAME_ATTRIBUTE('single instance',#3729); -#24989=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3729,*); -#24990=PROPERTY_DEFINITION('',$,#24989); -#24991=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22316,#24990); -#24992=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24990); -#24993=SHAPE_ASPECT('',$,#3729,.U.); -#24994=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12046,#24993); -#24995=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3729); -#24996=NAME_ATTRIBUTE('single instance',#3732); -#24997=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3732,*); -#24998=PROPERTY_DEFINITION('',$,#24997); -#24999=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22313,#24998); -#25000=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#24998); -#25001=SHAPE_ASPECT('',$,#3732,.U.); -#25002=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12085,#25001); -#25003=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3732); -#25004=NAME_ATTRIBUTE('single instance',#3735); -#25005=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3735,*); -#25006=PROPERTY_DEFINITION('',$,#25005); -#25007=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22310,#25006); -#25008=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25006); -#25009=SHAPE_ASPECT('',$,#3735,.U.); -#25010=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12089,#25009); -#25011=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3735); -#25012=NAME_ATTRIBUTE('single instance',#3738); -#25013=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3738,*); -#25014=PROPERTY_DEFINITION('',$,#25013); -#25015=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22307,#25014); -#25016=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25014); -#25017=SHAPE_ASPECT('',$,#3738,.U.); -#25018=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12081,#25017); -#25019=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3738); -#25020=NAME_ATTRIBUTE('single instance',#3741); -#25021=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3741,*); -#25022=PROPERTY_DEFINITION('',$,#25021); -#25023=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22304,#25022); -#25024=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25022); -#25025=SHAPE_ASPECT('',$,#3741,.U.); -#25026=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12100,#25025); -#25027=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3741); -#25028=NAME_ATTRIBUTE('single instance',#3744); -#25029=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3744,*); -#25030=PROPERTY_DEFINITION('',$,#25029); -#25031=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22301,#25030); -#25032=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25030); -#25033=SHAPE_ASPECT('',$,#3744,.U.); -#25034=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12091,#25033); -#25035=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3744); -#25036=NAME_ATTRIBUTE('single instance',#3747); -#25037=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3747,*); -#25038=PROPERTY_DEFINITION('',$,#25037); -#25039=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22298,#25038); -#25040=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25038); -#25041=SHAPE_ASPECT('',$,#3747,.U.); -#25042=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12065,#25041); -#25043=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3747); -#25044=NAME_ATTRIBUTE('single instance',#3750); -#25045=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3750,*); -#25046=PROPERTY_DEFINITION('',$,#25045); -#25047=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22295,#25046); -#25048=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25046); -#25049=SHAPE_ASPECT('',$,#3750,.U.); -#25050=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12078,#25049); -#25051=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3750); -#25052=NAME_ATTRIBUTE('single instance',#3753); -#25053=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3753,*); -#25054=PROPERTY_DEFINITION('',$,#25053); -#25055=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22292,#25054); -#25056=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25054); -#25057=SHAPE_ASPECT('',$,#3753,.U.); -#25058=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12071,#25057); -#25059=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3753); -#25060=NAME_ATTRIBUTE('single instance',#3756); -#25061=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3756,*); -#25062=PROPERTY_DEFINITION('',$,#25061); -#25063=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22289,#25062); -#25064=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25062); -#25065=SHAPE_ASPECT('',$,#3756,.U.); -#25066=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12072,#25065); -#25067=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3756); -#25068=NAME_ATTRIBUTE('single instance',#3759); -#25069=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3759,*); -#25070=PROPERTY_DEFINITION('',$,#25069); -#25071=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22286,#25070); -#25072=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25070); -#25073=SHAPE_ASPECT('',$,#3759,.U.); -#25074=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12102,#25073); -#25075=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3759); -#25076=NAME_ATTRIBUTE('single instance',#3762); -#25077=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3762,*); -#25078=PROPERTY_DEFINITION('',$,#25077); -#25079=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22283,#25078); -#25080=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25078); -#25081=SHAPE_ASPECT('',$,#3762,.U.); -#25082=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12074,#25081); -#25083=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3762); -#25084=NAME_ATTRIBUTE('single instance',#3765); -#25085=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3765,*); -#25086=PROPERTY_DEFINITION('',$,#25085); -#25087=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22280,#25086); -#25088=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25086); -#25089=SHAPE_ASPECT('',$,#3765,.U.); -#25090=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12066,#25089); -#25091=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3765); -#25092=NAME_ATTRIBUTE('single instance',#3768); -#25093=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3768,*); -#25094=PROPERTY_DEFINITION('',$,#25093); -#25095=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22277,#25094); -#25096=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25094); -#25097=SHAPE_ASPECT('',$,#3768,.U.); -#25098=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12079,#25097); -#25099=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3768); -#25100=NAME_ATTRIBUTE('single instance',#3771); -#25101=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3771,*); -#25102=PROPERTY_DEFINITION('',$,#25101); -#25103=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22274,#25102); -#25104=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25102); -#25105=SHAPE_ASPECT('',$,#3771,.U.); -#25106=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12044,#25105); -#25107=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3771); -#25108=NAME_ATTRIBUTE('single instance',#3774); -#25109=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3774,*); -#25110=PROPERTY_DEFINITION('',$,#25109); -#25111=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22271,#25110); -#25112=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25110); -#25113=SHAPE_ASPECT('',$,#3774,.U.); -#25114=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12053,#25113); -#25115=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3774); -#25116=NAME_ATTRIBUTE('single instance',#3777); -#25117=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3777,*); -#25118=PROPERTY_DEFINITION('',$,#25117); -#25119=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22268,#25118); -#25120=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25118); -#25121=SHAPE_ASPECT('',$,#3777,.U.); -#25122=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12093,#25121); -#25123=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3777); -#25124=NAME_ATTRIBUTE('single instance',#3780); -#25125=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3780,*); -#25126=PROPERTY_DEFINITION('',$,#25125); -#25127=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22265,#25126); -#25128=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25126); -#25129=SHAPE_ASPECT('',$,#3780,.U.); -#25130=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12082,#25129); -#25131=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3780); -#25132=NAME_ATTRIBUTE('single instance',#3783); -#25133=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3783,*); -#25134=PROPERTY_DEFINITION('',$,#25133); -#25135=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22262,#25134); -#25136=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25134); -#25137=SHAPE_ASPECT('',$,#3783,.U.); -#25138=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12067,#25137); -#25139=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3783); -#25140=NAME_ATTRIBUTE('single instance',#3786); -#25141=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3786,*); -#25142=PROPERTY_DEFINITION('',$,#25141); -#25143=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22259,#25142); -#25144=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25142); -#25145=SHAPE_ASPECT('',$,#3786,.U.); -#25146=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12062,#25145); -#25147=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3786); -#25148=NAME_ATTRIBUTE('single instance',#3789); -#25149=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3789,*); -#25150=PROPERTY_DEFINITION('',$,#25149); -#25151=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22256,#25150); -#25152=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25150); -#25153=SHAPE_ASPECT('',$,#3789,.U.); -#25154=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12084,#25153); -#25155=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3789); -#25156=NAME_ATTRIBUTE('single instance',#3792); -#25157=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3792,*); -#25158=PROPERTY_DEFINITION('',$,#25157); -#25159=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22253,#25158); -#25160=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25158); -#25161=SHAPE_ASPECT('',$,#3792,.U.); -#25162=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12097,#25161); -#25163=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3792); -#25164=NAME_ATTRIBUTE('single instance',#3795); -#25165=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3795,*); -#25166=PROPERTY_DEFINITION('',$,#25165); -#25167=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22250,#25166); -#25168=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25166); -#25169=SHAPE_ASPECT('',$,#3795,.U.); -#25170=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12075,#25169); -#25171=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3795); -#25172=NAME_ATTRIBUTE('single instance',#3798); -#25173=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3798,*); -#25174=PROPERTY_DEFINITION('',$,#25173); -#25175=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22247,#25174); -#25176=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25174); -#25177=SHAPE_ASPECT('',$,#3798,.U.); -#25178=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12061,#25177); -#25179=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3798); -#25180=NAME_ATTRIBUTE('single instance',#3801); -#25181=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3801,*); -#25182=PROPERTY_DEFINITION('',$,#25181); -#25183=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22244,#25182); -#25184=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25182); -#25185=SHAPE_ASPECT('',$,#3801,.U.); -#25186=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12087,#25185); -#25187=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3801); -#25188=NAME_ATTRIBUTE('single instance',#3804); -#25189=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3804,*); -#25190=PROPERTY_DEFINITION('',$,#25189); -#25191=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22241,#25190); -#25192=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25190); -#25193=SHAPE_ASPECT('',$,#3804,.U.); -#25194=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12049,#25193); -#25195=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3804); -#25196=NAME_ATTRIBUTE('single instance',#3807); -#25197=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3807,*); -#25198=PROPERTY_DEFINITION('',$,#25197); -#25199=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22238,#25198); -#25200=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25198); -#25201=SHAPE_ASPECT('',$,#3807,.U.); -#25202=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12045,#25201); -#25203=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3807); -#25204=NAME_ATTRIBUTE('single instance',#3810); -#25205=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3810,*); -#25206=PROPERTY_DEFINITION('',$,#25205); -#25207=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22235,#25206); -#25208=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25206); -#25209=SHAPE_ASPECT('',$,#3810,.U.); -#25210=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12083,#25209); -#25211=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3810); -#25212=NAME_ATTRIBUTE('single instance',#3813); -#25213=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3813,*); -#25214=PROPERTY_DEFINITION('',$,#25213); -#25215=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22232,#25214); -#25216=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25214); -#25217=SHAPE_ASPECT('',$,#3813,.U.); -#25218=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12099,#25217); -#25219=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3813); -#25220=NAME_ATTRIBUTE('single instance',#3816); -#25221=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3816,*); -#25222=PROPERTY_DEFINITION('',$,#25221); -#25223=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22229,#25222); -#25224=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25222); -#25225=SHAPE_ASPECT('',$,#3816,.U.); -#25226=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12088,#25225); -#25227=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3816); -#25228=NAME_ATTRIBUTE('single instance',#3819); -#25229=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3819,*); -#25230=PROPERTY_DEFINITION('',$,#25229); -#25231=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22226,#25230); -#25232=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25230); -#25233=SHAPE_ASPECT('',$,#3819,.U.); -#25234=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12059,#25233); -#25235=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3819); -#25236=NAME_ATTRIBUTE('single instance',#3822); -#25237=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3822,*); -#25238=PROPERTY_DEFINITION('',$,#25237); -#25239=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22223,#25238); -#25240=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25238); -#25241=SHAPE_ASPECT('',$,#3822,.U.); -#25242=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12056,#25241); -#25243=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3822); -#25244=NAME_ATTRIBUTE('single instance',#3825); -#25245=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3825,*); -#25246=PROPERTY_DEFINITION('',$,#25245); -#25247=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22220,#25246); -#25248=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25246); -#25249=SHAPE_ASPECT('',$,#3825,.U.); -#25250=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12073,#25249); -#25251=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3825); -#25252=NAME_ATTRIBUTE('single instance',#3828); -#25253=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3828,*); -#25254=PROPERTY_DEFINITION('',$,#25253); -#25255=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22217,#25254); -#25256=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25254); -#25257=SHAPE_ASPECT('',$,#3828,.U.); -#25258=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12104,#25257); -#25259=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3828); -#25260=NAME_ATTRIBUTE('single instance',#3831); -#25261=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3831,*); -#25262=PROPERTY_DEFINITION('',$,#25261); -#25263=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22214,#25262); -#25264=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25262); -#25265=SHAPE_ASPECT('',$,#3831,.U.); -#25266=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12064,#25265); -#25267=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3831); -#25268=NAME_ATTRIBUTE('single instance',#3834); -#25269=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3834,*); -#25270=PROPERTY_DEFINITION('',$,#25269); -#25271=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22211,#25270); -#25272=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25270); -#25273=SHAPE_ASPECT('',$,#3834,.U.); -#25274=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12051,#25273); -#25275=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3834); -#25276=NAME_ATTRIBUTE('single instance',#3837); -#25277=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3837,*); -#25278=PROPERTY_DEFINITION('',$,#25277); -#25279=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22208,#25278); -#25280=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25278); -#25281=SHAPE_ASPECT('',$,#3837,.U.); -#25282=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12058,#25281); -#25283=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3837); -#25284=NAME_ATTRIBUTE('single instance',#3840); -#25285=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3840,*); -#25286=PROPERTY_DEFINITION('',$,#25285); -#25287=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22205,#25286); -#25288=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25286); -#25289=SHAPE_ASPECT('',$,#3840,.U.); -#25290=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12076,#25289); -#25291=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3840); -#25292=NAME_ATTRIBUTE('single instance',#3843); -#25293=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3843,*); -#25294=PROPERTY_DEFINITION('',$,#25293); -#25295=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22202,#25294); -#25296=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25294); -#25297=SHAPE_ASPECT('',$,#3843,.U.); -#25298=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12054,#25297); -#25299=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3843); -#25300=NAME_ATTRIBUTE('single instance',#3846); -#25301=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3846,*); -#25302=PROPERTY_DEFINITION('',$,#25301); -#25303=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22199,#25302); -#25304=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25302); -#25305=SHAPE_ASPECT('',$,#3846,.U.); -#25306=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12063,#25305); -#25307=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3846); -#25308=NAME_ATTRIBUTE('single instance',#3849); -#25309=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3849,*); -#25310=PROPERTY_DEFINITION('',$,#25309); -#25311=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22196,#25310); -#25312=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25310); -#25313=SHAPE_ASPECT('',$,#3849,.U.); -#25314=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12043,#25313); -#25315=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3849); -#25316=NAME_ATTRIBUTE('single instance',#3852); -#25317=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3852,*); -#25318=PROPERTY_DEFINITION('',$,#25317); -#25319=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22193,#25318); -#25320=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25318); -#25321=SHAPE_ASPECT('',$,#3852,.U.); -#25322=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12068,#25321); -#25323=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3852); -#25324=NAME_ATTRIBUTE('single instance',#3855); -#25325=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3855,*); -#25326=PROPERTY_DEFINITION('',$,#25325); -#25327=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22190,#25326); -#25328=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25326); -#25329=SHAPE_ASPECT('',$,#3855,.U.); -#25330=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12080,#25329); -#25331=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3855); -#25332=NAME_ATTRIBUTE('single instance',#3858); -#25333=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#893,$,'',$,#3858,*); -#25334=PROPERTY_DEFINITION('',$,#25333); -#25335=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22187,#25334); -#25336=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21790,#25334); -#25337=SHAPE_ASPECT('',$,#3858,.U.); -#25338=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12096,#25337); -#25339=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#897,#3858); -#25340=NAME_ATTRIBUTE('single instance',#230); -#25341=PROPERTY_DEFINITION('feature of size','true',#230); -#25342=NAME_ATTRIBUTE('single instance',#235); -#25343=PROPERTY_DEFINITION('feature of size','true',#235); -#25344=NAME_ATTRIBUTE('single instance',#240); -#25345=PROPERTY_DEFINITION('feature of size','true',#240); -#25346=NAME_ATTRIBUTE('single instance',#245); -#25347=PROPERTY_DEFINITION('feature of size','true',#245); -#25348=NAME_ATTRIBUTE('single instance',#485); -#25349=NAME_ATTRIBUTE('single instance',#1764); -#25350=NAME_ATTRIBUTE('single instance',#2135); -#25351=NAME_ATTRIBUTE('single instance',#2232); -#25352=NAME_ATTRIBUTE('single instance',#2518); -#25353=NAME_ATTRIBUTE('single instance',#3664); -#25354=NAME_ATTRIBUTE('single instance',#72); -#25355=PRODUCT_DEFINITION_CONTEXT('part occurrence',#14022,''); -#25356=NAME_ATTRIBUTE('single instance',#250); -#25357=PROPERTY_DEFINITION('feature of size','true',#250); -#25358=NAME_ATTRIBUTE('single instance',#2405); -#25359=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2274,$,'',$,#2405,*); -#25360=PROPERTY_DEFINITION('',$,#25359); -#25361=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25360); -#25362=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22037,#25360); -#25363=PROPERTY_DEFINITION('feature of size','true',#2405); -#25364=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#2405); -#25365=NAME_ATTRIBUTE('single instance',#2424); -#25366=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2274,$,'',$,#2424,*); -#25367=PROPERTY_DEFINITION('',$,#25366); -#25368=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25367); -#25369=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22037,#25367); -#25370=PROPERTY_DEFINITION('feature of size','true',#2424); -#25371=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#2424); -#25372=NAME_ATTRIBUTE('single instance',#3946); -#25373=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2274,$,'',$,#3946,*); -#25374=PROPERTY_DEFINITION('',$,#25373); -#25375=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25374); -#25376=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22037,#25374); -#25377=PROPERTY_DEFINITION('feature of size','true',#3946); -#25378=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#3946); -#25379=NAME_ATTRIBUTE('single instance',#3965); -#25380=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2274,$,'',$,#3965,*); -#25381=PROPERTY_DEFINITION('',$,#25380); -#25382=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25381); -#25383=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22037,#25381); -#25384=PROPERTY_DEFINITION('feature of size','true',#3965); -#25385=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#3965); -#25386=NAME_ATTRIBUTE('single instance',#8542); -#25387=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2274,$,'',$,#8542,*); -#25388=PROPERTY_DEFINITION('',$,#25387); -#25389=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25388); -#25390=PROPERTY_DEFINITION('feature of size','true',#8542); -#25391=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8542); -#25392=NAME_ATTRIBUTE('single instance',#8586); -#25393=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2274,$,'',$,#8586,*); -#25394=PROPERTY_DEFINITION('',$,#25393); -#25395=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25394); -#25396=PROPERTY_DEFINITION('feature of size','true',#8586); -#25397=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8586); -#25398=NAME_ATTRIBUTE('single instance',#8610); -#25399=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2274,$,'',$,#8610,*); -#25400=PROPERTY_DEFINITION('',$,#25399); -#25401=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25400); -#25402=PROPERTY_DEFINITION('feature of size','true',#8610); -#25403=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8610); -#25404=NAME_ATTRIBUTE('single instance',#8674); -#25405=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2274,$,'',$,#8674,*); -#25406=PROPERTY_DEFINITION('',$,#25405); -#25407=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25406); -#25408=PROPERTY_DEFINITION('feature of size','true',#8674); -#25409=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8674); -#25410=NAME_ATTRIBUTE('single instance',#8718); -#25411=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2274,$,'',$,#8718,*); -#25412=PROPERTY_DEFINITION('',$,#25411); -#25413=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25412); -#25414=PROPERTY_DEFINITION('feature of size','true',#8718); -#25415=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8718); -#25416=NAME_ATTRIBUTE('single instance',#8742); -#25417=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2274,$,'',$,#8742,*); -#25418=PROPERTY_DEFINITION('',$,#25417); -#25419=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25418); -#25420=PROPERTY_DEFINITION('feature of size','true',#8742); -#25421=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8742); -#25422=NAME_ATTRIBUTE('single instance',#8766); -#25423=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2274,$,'',$,#8766,*); -#25424=PROPERTY_DEFINITION('',$,#25423); -#25425=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25424); -#25426=PROPERTY_DEFINITION('feature of size','true',#8766); -#25427=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8766); -#25428=NAME_ATTRIBUTE('single instance',#8811); -#25429=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2274,$,'',$,#8811,*); -#25430=PROPERTY_DEFINITION('',$,#25429); -#25431=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25430); -#25432=PROPERTY_DEFINITION('feature of size','true',#8811); -#25433=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8811); -#25434=NAME_ATTRIBUTE('single instance',#8836); -#25435=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2274,$,'',$,#8836,*); -#25436=PROPERTY_DEFINITION('',$,#25435); -#25437=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25436); -#25438=PROPERTY_DEFINITION('feature of size','true',#8836); -#25439=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8836); -#25440=NAME_ATTRIBUTE('single instance',#8870); -#25441=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2274,$,'',$,#8870,*); -#25442=PROPERTY_DEFINITION('',$,#25441); -#25443=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25442); -#25444=PROPERTY_DEFINITION('feature of size','true',#8870); -#25445=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8870); -#25446=NAME_ATTRIBUTE('single instance',#8916); -#25447=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2274,$,'',$,#8916,*); -#25448=PROPERTY_DEFINITION('',$,#25447); -#25449=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25448); -#25450=PROPERTY_DEFINITION('feature of size','true',#8916); -#25451=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8916); -#25452=NAME_ATTRIBUTE('single instance',#8950); -#25453=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2274,$,'',$,#8950,*); -#25454=PROPERTY_DEFINITION('',$,#25453); -#25455=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25454); -#25456=PROPERTY_DEFINITION('feature of size','true',#8950); -#25457=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8950); -#25458=NAME_ATTRIBUTE('single instance',#8974); -#25459=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2274,$,'',$,#8974,*); -#25460=PROPERTY_DEFINITION('',$,#25459); -#25461=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25460); -#25462=PROPERTY_DEFINITION('feature of size','true',#8974); -#25463=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8974); -#25464=NAME_ATTRIBUTE('single instance',#8999); -#25465=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2274,$,'',$,#8999,*); -#25466=PROPERTY_DEFINITION('',$,#25465); -#25467=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25466); -#25468=PROPERTY_DEFINITION('feature of size','true',#8999); -#25469=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#8999); -#25470=NAME_ATTRIBUTE('single instance',#9023); -#25471=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2274,$,'',$,#9023,*); -#25472=PROPERTY_DEFINITION('',$,#25471); -#25473=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25472); -#25474=PROPERTY_DEFINITION('feature of size','true',#9023); -#25475=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#9023); -#25476=NAME_ATTRIBUTE('single instance',#9067); -#25477=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2274,$,'',$,#9067,*); -#25478=PROPERTY_DEFINITION('',$,#25477); -#25479=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22037,#25478); -#25480=PROPERTY_DEFINITION('feature of size','true',#9067); -#25481=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#2404,#9067); -#25482=NAME_ATTRIBUTE('single instance',#10193); -#25483=REPRESENTATION('',(#10192),#13406); -#25484=PROPERTY_DEFINITION($,'message contents',#10193); -#25485=PROPERTY_DEFINITION_REPRESENTATION(#25484,#25483); -#25486=NAME_ATTRIBUTE('single instance',#10264); -#25487=REPRESENTATION('',(#10263),#13406); -#25488=PROPERTY_DEFINITION($,'message contents',#10264); -#25489=PROPERTY_DEFINITION_REPRESENTATION(#25488,#25487); -#25490=NAME_ATTRIBUTE('single instance',#10308); -#25491=REPRESENTATION('',(#10307),#13406); -#25492=PROPERTY_DEFINITION($,'message contents',#10308); -#25493=PROPERTY_DEFINITION_REPRESENTATION(#25492,#25491); -#25494=NAME_ATTRIBUTE('single instance',#10336); -#25495=REPRESENTATION('',(#10335),#13406); -#25496=PROPERTY_DEFINITION($,'message contents',#10336); -#25497=PROPERTY_DEFINITION_REPRESENTATION(#25496,#25495); -#25498=NAME_ATTRIBUTE('single instance',#2388); -#25499=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2388,*); -#25500=PROPERTY_DEFINITION('',$,#25499); -#25501=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25500); -#25502=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22139,#25500); -#25503=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2388); -#25504=SHAPE_ASPECT('',$,#2388,.U.); -#25505=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12036,#25504); -#25506=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2388); -#25507=NAME_ATTRIBUTE('single instance',#2389); -#25508=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2389,*); -#25509=PROPERTY_DEFINITION('',$,#25508); -#25510=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25509); -#25511=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22133,#25509); -#25512=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2389); -#25513=SHAPE_ASPECT('',$,#2389,.U.); -#25514=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12033,#25513); -#25515=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2389); -#25516=NAME_ATTRIBUTE('single instance',#2390); -#25517=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2390,*); -#25518=PROPERTY_DEFINITION('',$,#25517); -#25519=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25518); -#25520=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22127,#25518); -#25521=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2390); -#25522=SHAPE_ASPECT('',$,#2390,.U.); -#25523=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12032,#25522); -#25524=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2390); -#25525=NAME_ATTRIBUTE('single instance',#2391); -#25526=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2391,*); -#25527=PROPERTY_DEFINITION('',$,#25526); -#25528=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25527); -#25529=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22121,#25527); -#25530=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2391); -#25531=SHAPE_ASPECT('',$,#2391,.U.); -#25532=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12030,#25531); -#25533=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2391); -#25534=NAME_ATTRIBUTE('single instance',#2392); -#25535=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2392,*); -#25536=PROPERTY_DEFINITION('',$,#25535); -#25537=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25536); -#25538=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22112,#25536); -#25539=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2392); -#25540=SHAPE_ASPECT('',$,#2392,.U.); -#25541=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12040,#25540); -#25542=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2392); -#25543=NAME_ATTRIBUTE('single instance',#2393); -#25544=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2393,*); -#25545=PROPERTY_DEFINITION('',$,#25544); -#25546=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25545); -#25547=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22106,#25545); -#25548=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2393); -#25549=SHAPE_ASPECT('',$,#2393,.U.); -#25550=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12031,#25549); -#25551=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2393); -#25552=NAME_ATTRIBUTE('single instance',#2394); -#25553=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2394,*); -#25554=PROPERTY_DEFINITION('',$,#25553); -#25555=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25554); -#25556=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22100,#25554); -#25557=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2394); -#25558=SHAPE_ASPECT('',$,#2394,.U.); -#25559=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12038,#25558); -#25560=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2394); -#25561=NAME_ATTRIBUTE('single instance',#2395); -#25562=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2395,*); -#25563=PROPERTY_DEFINITION('',$,#25562); -#25564=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25563); -#25565=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22094,#25563); -#25566=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2395); -#25567=SHAPE_ASPECT('',$,#2395,.U.); -#25568=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10810,#25567); -#25569=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2395); -#25570=NAME_ATTRIBUTE('single instance',#2396); -#25571=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2396,*); -#25572=PROPERTY_DEFINITION('',$,#25571); -#25573=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25572); -#25574=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22088,#25572); -#25575=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2396); -#25576=SHAPE_ASPECT('',$,#2396,.U.); -#25577=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12027,#25576); -#25578=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2396); -#25579=NAME_ATTRIBUTE('single instance',#2397); -#25580=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2397,*); -#25581=PROPERTY_DEFINITION('',$,#25580); -#25582=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25581); -#25583=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22082,#25581); -#25584=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2397); -#25585=SHAPE_ASPECT('',$,#2397,.U.); -#25586=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12026,#25585); -#25587=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2397); -#25588=NAME_ATTRIBUTE('single instance',#2398); -#25589=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2398,*); -#25590=PROPERTY_DEFINITION('',$,#25589); -#25591=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25590); -#25592=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22076,#25590); -#25593=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2398); -#25594=SHAPE_ASPECT('',$,#2398,.U.); -#25595=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12035,#25594); -#25596=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2398); -#25597=NAME_ATTRIBUTE('single instance',#2399); -#25598=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2399,*); -#25599=PROPERTY_DEFINITION('',$,#25598); -#25600=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25599); -#25601=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22066,#25599); -#25602=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2399); -#25603=SHAPE_ASPECT('',$,#2399,.U.); -#25604=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12037,#25603); -#25605=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2399); -#25606=NAME_ATTRIBUTE('single instance',#2400); -#25607=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2400,*); -#25608=PROPERTY_DEFINITION('',$,#25607); -#25609=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25608); -#25610=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22060,#25608); -#25611=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2400); -#25612=SHAPE_ASPECT('',$,#2400,.U.); -#25613=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12039,#25612); -#25614=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2400); -#25615=NAME_ATTRIBUTE('single instance',#2401); -#25616=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2401,*); -#25617=PROPERTY_DEFINITION('',$,#25616); -#25618=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25617); -#25619=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22054,#25617); -#25620=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2401); -#25621=SHAPE_ASPECT('',$,#2401,.U.); -#25622=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12028,#25621); -#25623=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2401); -#25624=NAME_ATTRIBUTE('single instance',#2402); -#25625=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2402,*); -#25626=PROPERTY_DEFINITION('',$,#25625); -#25627=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25626); -#25628=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22048,#25626); -#25629=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2402); -#25630=SHAPE_ASPECT('',$,#2402,.U.); -#25631=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12029,#25630); -#25632=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2402); -#25633=NAME_ATTRIBUTE('single instance',#2403); -#25634=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2403,*); -#25635=PROPERTY_DEFINITION('',$,#25634); -#25636=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25635); -#25637=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22041,#25635); -#25638=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2405,#2403); -#25639=SHAPE_ASPECT('',$,#2403,.U.); -#25640=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12034,#25639); -#25641=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2403); -#25642=NAME_ATTRIBUTE('single instance',#2408); -#25643=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2408,*); -#25644=PROPERTY_DEFINITION('',$,#25643); -#25645=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25644); -#25646=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22139,#25644); -#25647=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2408); -#25648=SHAPE_ASPECT('',$,#2408,.U.); -#25649=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11418,#25648); -#25650=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2408); -#25651=NAME_ATTRIBUTE('single instance',#2409); -#25652=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2409,*); -#25653=PROPERTY_DEFINITION('',$,#25652); -#25654=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25653); -#25655=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22133,#25653); -#25656=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2409); -#25657=SHAPE_ASPECT('',$,#2409,.U.); -#25658=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12018,#25657); -#25659=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2409); -#25660=NAME_ATTRIBUTE('single instance',#2410); -#25661=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2410,*); -#25662=PROPERTY_DEFINITION('',$,#25661); -#25663=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25662); -#25664=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22127,#25662); -#25665=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2410); -#25666=SHAPE_ASPECT('',$,#2410,.U.); -#25667=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12017,#25666); -#25668=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2410); -#25669=NAME_ATTRIBUTE('single instance',#2411); -#25670=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2411,*); -#25671=PROPERTY_DEFINITION('',$,#25670); -#25672=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25671); -#25673=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22121,#25671); -#25674=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2411); -#25675=SHAPE_ASPECT('',$,#2411,.U.); -#25676=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12015,#25675); -#25677=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2411); -#25678=NAME_ATTRIBUTE('single instance',#2412); -#25679=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2412,*); -#25680=PROPERTY_DEFINITION('',$,#25679); -#25681=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25680); -#25682=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22112,#25680); -#25683=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2412); -#25684=SHAPE_ASPECT('',$,#2412,.U.); -#25685=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12025,#25684); -#25686=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2412); -#25687=NAME_ATTRIBUTE('single instance',#2413); -#25688=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2413,*); -#25689=PROPERTY_DEFINITION('',$,#25688); -#25690=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25689); -#25691=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22106,#25689); -#25692=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2413); -#25693=SHAPE_ASPECT('',$,#2413,.U.); -#25694=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12016,#25693); -#25695=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2413); -#25696=NAME_ATTRIBUTE('single instance',#2414); -#25697=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2414,*); -#25698=PROPERTY_DEFINITION('',$,#25697); -#25699=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25698); -#25700=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22100,#25698); -#25701=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2414); -#25702=SHAPE_ASPECT('',$,#2414,.U.); -#25703=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12023,#25702); -#25704=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2414); -#25705=NAME_ATTRIBUTE('single instance',#2415); -#25706=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2415,*); -#25707=PROPERTY_DEFINITION('',$,#25706); -#25708=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25707); -#25709=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22094,#25707); -#25710=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2415); -#25711=SHAPE_ASPECT('',$,#2415,.U.); -#25712=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12021,#25711); -#25713=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2415); -#25714=NAME_ATTRIBUTE('single instance',#2416); -#25715=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2416,*); -#25716=PROPERTY_DEFINITION('',$,#25715); -#25717=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25716); -#25718=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22088,#25716); -#25719=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2416); -#25720=SHAPE_ASPECT('',$,#2416,.U.); -#25721=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12012,#25720); -#25722=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2416); -#25723=NAME_ATTRIBUTE('single instance',#2417); -#25724=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2417,*); -#25725=PROPERTY_DEFINITION('',$,#25724); -#25726=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25725); -#25727=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22082,#25725); -#25728=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2417); -#25729=SHAPE_ASPECT('',$,#2417,.U.); -#25730=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12011,#25729); -#25731=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2417); -#25732=NAME_ATTRIBUTE('single instance',#2418); -#25733=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2418,*); -#25734=PROPERTY_DEFINITION('',$,#25733); -#25735=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25734); -#25736=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22076,#25734); -#25737=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2418); -#25738=SHAPE_ASPECT('',$,#2418,.U.); -#25739=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12020,#25738); -#25740=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2418); -#25741=NAME_ATTRIBUTE('single instance',#2419); -#25742=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2419,*); -#25743=PROPERTY_DEFINITION('',$,#25742); -#25744=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25743); -#25745=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22066,#25743); -#25746=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2419); -#25747=SHAPE_ASPECT('',$,#2419,.U.); -#25748=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12022,#25747); -#25749=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2419); -#25750=NAME_ATTRIBUTE('single instance',#2420); -#25751=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2420,*); -#25752=PROPERTY_DEFINITION('',$,#25751); -#25753=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25752); -#25754=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22060,#25752); -#25755=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2420); -#25756=SHAPE_ASPECT('',$,#2420,.U.); -#25757=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12024,#25756); -#25758=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2420); -#25759=NAME_ATTRIBUTE('single instance',#2421); -#25760=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2421,*); -#25761=PROPERTY_DEFINITION('',$,#25760); -#25762=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25761); -#25763=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22054,#25761); -#25764=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2421); -#25765=SHAPE_ASPECT('',$,#2421,.U.); -#25766=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12013,#25765); -#25767=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2421); -#25768=NAME_ATTRIBUTE('single instance',#2422); -#25769=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2422,*); -#25770=PROPERTY_DEFINITION('',$,#25769); -#25771=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25770); -#25772=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22048,#25770); -#25773=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2422); -#25774=SHAPE_ASPECT('',$,#2422,.U.); -#25775=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12014,#25774); -#25776=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2422); -#25777=NAME_ATTRIBUTE('single instance',#2423); -#25778=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2285,$,'',$,#2423,*); -#25779=PROPERTY_DEFINITION('',$,#25778); -#25780=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25779); -#25781=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22041,#25779); -#25782=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#2424,#2423); -#25783=SHAPE_ASPECT('',$,#2423,.U.); -#25784=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12019,#25783); -#25785=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#2423); -#25786=NAME_ATTRIBUTE('single instance',#3930); -#25787=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3930,*); -#25788=PROPERTY_DEFINITION('',$,#25787); -#25789=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25788); -#25790=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22139,#25788); -#25791=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3930); -#25792=SHAPE_ASPECT('',$,#3930,.U.); -#25793=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12129,#25792); -#25794=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3930); -#25795=NAME_ATTRIBUTE('single instance',#3931); -#25796=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3931,*); -#25797=PROPERTY_DEFINITION('',$,#25796); -#25798=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25797); -#25799=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22133,#25797); -#25800=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3931); -#25801=SHAPE_ASPECT('',$,#3931,.U.); -#25802=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12126,#25801); -#25803=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3931); -#25804=NAME_ATTRIBUTE('single instance',#3932); -#25805=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3932,*); -#25806=PROPERTY_DEFINITION('',$,#25805); -#25807=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25806); -#25808=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22127,#25806); -#25809=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3932); -#25810=SHAPE_ASPECT('',$,#3932,.U.); -#25811=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12125,#25810); -#25812=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3932); -#25813=NAME_ATTRIBUTE('single instance',#3933); -#25814=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3933,*); -#25815=PROPERTY_DEFINITION('',$,#25814); -#25816=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25815); -#25817=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22121,#25815); -#25818=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3933); -#25819=SHAPE_ASPECT('',$,#3933,.U.); -#25820=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12123,#25819); -#25821=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3933); -#25822=NAME_ATTRIBUTE('single instance',#3934); -#25823=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3934,*); -#25824=PROPERTY_DEFINITION('',$,#25823); -#25825=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25824); -#25826=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22112,#25824); -#25827=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3934); -#25828=SHAPE_ASPECT('',$,#3934,.U.); -#25829=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12134,#25828); -#25830=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3934); -#25831=NAME_ATTRIBUTE('single instance',#3935); -#25832=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3935,*); -#25833=PROPERTY_DEFINITION('',$,#25832); -#25834=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25833); -#25835=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22106,#25833); -#25836=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3935); -#25837=SHAPE_ASPECT('',$,#3935,.U.); -#25838=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12124,#25837); -#25839=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3935); -#25840=NAME_ATTRIBUTE('single instance',#3936); -#25841=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3936,*); -#25842=PROPERTY_DEFINITION('',$,#25841); -#25843=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25842); -#25844=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22100,#25842); -#25845=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3936); -#25846=SHAPE_ASPECT('',$,#3936,.U.); -#25847=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12132,#25846); -#25848=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3936); -#25849=NAME_ATTRIBUTE('single instance',#3937); -#25850=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3937,*); -#25851=PROPERTY_DEFINITION('',$,#25850); -#25852=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25851); -#25853=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22094,#25851); -#25854=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3937); -#25855=SHAPE_ASPECT('',$,#3937,.U.); -#25856=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12130,#25855); -#25857=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3937); -#25858=NAME_ATTRIBUTE('single instance',#3938); -#25859=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3938,*); -#25860=PROPERTY_DEFINITION('',$,#25859); -#25861=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25860); -#25862=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22088,#25860); -#25863=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3938); -#25864=SHAPE_ASPECT('',$,#3938,.U.); -#25865=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12120,#25864); -#25866=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3938); -#25867=NAME_ATTRIBUTE('single instance',#3939); -#25868=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3939,*); -#25869=PROPERTY_DEFINITION('',$,#25868); -#25870=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25869); -#25871=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22082,#25869); -#25872=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3939); -#25873=SHAPE_ASPECT('',$,#3939,.U.); -#25874=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11374,#25873); -#25875=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3939); -#25876=NAME_ATTRIBUTE('single instance',#3940); -#25877=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3940,*); -#25878=PROPERTY_DEFINITION('',$,#25877); -#25879=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25878); -#25880=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22076,#25878); -#25881=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3940); -#25882=SHAPE_ASPECT('',$,#3940,.U.); -#25883=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12128,#25882); -#25884=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3940); -#25885=NAME_ATTRIBUTE('single instance',#3941); -#25886=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3941,*); -#25887=PROPERTY_DEFINITION('',$,#25886); -#25888=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25887); -#25889=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22066,#25887); -#25890=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3941); -#25891=SHAPE_ASPECT('',$,#3941,.U.); -#25892=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12131,#25891); -#25893=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3941); -#25894=NAME_ATTRIBUTE('single instance',#3942); -#25895=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3942,*); -#25896=PROPERTY_DEFINITION('',$,#25895); -#25897=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25896); -#25898=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22060,#25896); -#25899=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3942); -#25900=SHAPE_ASPECT('',$,#3942,.U.); -#25901=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12133,#25900); -#25902=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3942); -#25903=NAME_ATTRIBUTE('single instance',#3943); -#25904=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3943,*); -#25905=PROPERTY_DEFINITION('',$,#25904); -#25906=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25905); -#25907=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22054,#25905); -#25908=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3943); -#25909=SHAPE_ASPECT('',$,#3943,.U.); -#25910=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12121,#25909); -#25911=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3943); -#25912=NAME_ATTRIBUTE('single instance',#3944); -#25913=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3944,*); -#25914=PROPERTY_DEFINITION('',$,#25913); -#25915=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25914); -#25916=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22048,#25914); -#25917=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3944); -#25918=SHAPE_ASPECT('',$,#3944,.U.); -#25919=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12122,#25918); -#25920=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3944); -#25921=NAME_ATTRIBUTE('single instance',#3945); -#25922=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3945,*); -#25923=PROPERTY_DEFINITION('',$,#25922); -#25924=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#25923); -#25925=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22041,#25923); -#25926=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3946,#3945); -#25927=SHAPE_ASPECT('',$,#3945,.U.); -#25928=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12127,#25927); -#25929=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3945); -#25930=NAME_ATTRIBUTE('single instance',#3949); -#25931=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3949,*); -#25932=PROPERTY_DEFINITION('',$,#25931); -#25933=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25932); -#25934=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22139,#25932); -#25935=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3949); -#25936=SHAPE_ASPECT('',$,#3949,.U.); -#25937=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10850,#25936); -#25938=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3949); -#25939=NAME_ATTRIBUTE('single instance',#3950); -#25940=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3950,*); -#25941=PROPERTY_DEFINITION('',$,#25940); -#25942=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25941); -#25943=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22133,#25941); -#25944=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3950); -#25945=SHAPE_ASPECT('',$,#3950,.U.); -#25946=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12112,#25945); -#25947=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3950); -#25948=NAME_ATTRIBUTE('single instance',#3951); -#25949=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3951,*); -#25950=PROPERTY_DEFINITION('',$,#25949); -#25951=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25950); -#25952=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22127,#25950); -#25953=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3951); -#25954=SHAPE_ASPECT('',$,#3951,.U.); -#25955=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12111,#25954); -#25956=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3951); -#25957=NAME_ATTRIBUTE('single instance',#3952); -#25958=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3952,*); -#25959=PROPERTY_DEFINITION('',$,#25958); -#25960=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25959); -#25961=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22121,#25959); -#25962=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3952); -#25963=SHAPE_ASPECT('',$,#3952,.U.); -#25964=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12109,#25963); -#25965=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3952); -#25966=NAME_ATTRIBUTE('single instance',#3953); -#25967=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3953,*); -#25968=PROPERTY_DEFINITION('',$,#25967); -#25969=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25968); -#25970=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22112,#25968); -#25971=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3953); -#25972=SHAPE_ASPECT('',$,#3953,.U.); -#25973=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12119,#25972); -#25974=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3953); -#25975=NAME_ATTRIBUTE('single instance',#3954); -#25976=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3954,*); -#25977=PROPERTY_DEFINITION('',$,#25976); -#25978=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25977); -#25979=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22106,#25977); -#25980=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3954); -#25981=SHAPE_ASPECT('',$,#3954,.U.); -#25982=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12110,#25981); -#25983=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3954); -#25984=NAME_ATTRIBUTE('single instance',#3955); -#25985=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3955,*); -#25986=PROPERTY_DEFINITION('',$,#25985); -#25987=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25986); -#25988=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22100,#25986); -#25989=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3955); -#25990=SHAPE_ASPECT('',$,#3955,.U.); -#25991=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12117,#25990); -#25992=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3955); -#25993=NAME_ATTRIBUTE('single instance',#3956); -#25994=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3956,*); -#25995=PROPERTY_DEFINITION('',$,#25994); -#25996=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#25995); -#25997=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22094,#25995); -#25998=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3956); -#25999=SHAPE_ASPECT('',$,#3956,.U.); -#26000=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12115,#25999); -#26001=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3956); -#26002=NAME_ATTRIBUTE('single instance',#3957); -#26003=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3957,*); -#26004=PROPERTY_DEFINITION('',$,#26003); -#26005=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#26004); -#26006=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22088,#26004); -#26007=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3957); -#26008=SHAPE_ASPECT('',$,#3957,.U.); -#26009=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12106,#26008); -#26010=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3957); -#26011=NAME_ATTRIBUTE('single instance',#3958); -#26012=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3958,*); -#26013=PROPERTY_DEFINITION('',$,#26012); -#26014=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#26013); -#26015=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22082,#26013); -#26016=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3958); -#26017=SHAPE_ASPECT('',$,#3958,.U.); -#26018=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12105,#26017); -#26019=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3958); -#26020=NAME_ATTRIBUTE('single instance',#3959); -#26021=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3959,*); -#26022=PROPERTY_DEFINITION('',$,#26021); -#26023=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#26022); -#26024=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22076,#26022); -#26025=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3959); -#26026=SHAPE_ASPECT('',$,#3959,.U.); -#26027=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12114,#26026); -#26028=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3959); -#26029=NAME_ATTRIBUTE('single instance',#3960); -#26030=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3960,*); -#26031=PROPERTY_DEFINITION('',$,#26030); -#26032=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#26031); -#26033=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22066,#26031); -#26034=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3960); -#26035=SHAPE_ASPECT('',$,#3960,.U.); -#26036=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12116,#26035); -#26037=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3960); -#26038=NAME_ATTRIBUTE('single instance',#3961); -#26039=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3961,*); -#26040=PROPERTY_DEFINITION('',$,#26039); -#26041=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#26040); -#26042=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22060,#26040); -#26043=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3961); -#26044=SHAPE_ASPECT('',$,#3961,.U.); -#26045=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12118,#26044); -#26046=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3961); -#26047=NAME_ATTRIBUTE('single instance',#3962); -#26048=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3962,*); -#26049=PROPERTY_DEFINITION('',$,#26048); -#26050=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#26049); -#26051=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22054,#26049); -#26052=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3962); -#26053=SHAPE_ASPECT('',$,#3962,.U.); -#26054=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12107,#26053); -#26055=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3962); -#26056=NAME_ATTRIBUTE('single instance',#3963); -#26057=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3963,*); -#26058=PROPERTY_DEFINITION('',$,#26057); -#26059=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#26058); -#26060=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22048,#26058); -#26061=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3963); -#26062=SHAPE_ASPECT('',$,#3963,.U.); -#26063=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12108,#26062); -#26064=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3963); -#26065=NAME_ATTRIBUTE('single instance',#3964); -#26066=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2285,$,'',$,#3964,*); -#26067=PROPERTY_DEFINITION('',$,#26066); -#26068=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#26067); -#26069=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22041,#26067); -#26070=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#3965,#3964); -#26071=SHAPE_ASPECT('',$,#3964,.U.); -#26072=SHAPE_ASPECT_RELATIONSHIP('implementation','',#12113,#26071); -#26073=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#3964); -#26074=NAME_ATTRIBUTE('single instance',#7808); -#26075=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7808,*); -#26076=PROPERTY_DEFINITION('',$,#26075); -#26077=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#26076); -#26078=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7808); -#26079=SHAPE_ASPECT('',$,#7808,.U.); -#26080=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11430,#26079); -#26081=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7808); -#26082=NAME_ATTRIBUTE('single instance',#7809); -#26083=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7809,*); -#26084=PROPERTY_DEFINITION('',$,#26083); -#26085=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#26084); -#26086=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7809); -#26087=SHAPE_ASPECT('',$,#7809,.U.); -#26088=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11428,#26087); -#26089=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7809); -#26090=NAME_ATTRIBUTE('single instance',#7810); -#26091=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7810,*); -#26092=PROPERTY_DEFINITION('',$,#26091); -#26093=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#26092); -#26094=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7810); -#26095=SHAPE_ASPECT('',$,#7810,.U.); -#26096=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11427,#26095); -#26097=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7810); -#26098=NAME_ATTRIBUTE('single instance',#7811); -#26099=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7811,*); -#26100=PROPERTY_DEFINITION('',$,#26099); -#26101=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#26100); -#26102=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7811); -#26103=SHAPE_ASPECT('',$,#7811,.U.); -#26104=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11426,#26103); -#26105=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7811); -#26106=NAME_ATTRIBUTE('single instance',#7812); -#26107=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7812,*); -#26108=PROPERTY_DEFINITION('',$,#26107); -#26109=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#26108); -#26110=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7812); -#26111=SHAPE_ASPECT('',$,#7812,.U.); -#26112=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10533,#26111); -#26113=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7812); -#26114=NAME_ATTRIBUTE('single instance',#7813); -#26115=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7813,*); -#26116=PROPERTY_DEFINITION('',$,#26115); -#26117=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#26116); -#26118=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7813); -#26119=SHAPE_ASPECT('',$,#7813,.U.); -#26120=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11433,#26119); -#26121=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7813); -#26122=NAME_ATTRIBUTE('single instance',#7814); -#26123=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7814,*); -#26124=PROPERTY_DEFINITION('',$,#26123); -#26125=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#26124); -#26126=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7814); -#26127=SHAPE_ASPECT('',$,#7814,.U.); -#26128=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11431,#26127); -#26129=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7814); -#26130=NAME_ATTRIBUTE('single instance',#7815); -#26131=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7815,*); -#26132=PROPERTY_DEFINITION('',$,#26131); -#26133=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#26132); -#26134=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7815); -#26135=SHAPE_ASPECT('',$,#7815,.U.); -#26136=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11423,#26135); -#26137=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7815); -#26138=NAME_ATTRIBUTE('single instance',#7816); -#26139=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7816,*); -#26140=PROPERTY_DEFINITION('',$,#26139); -#26141=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#26140); -#26142=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7816); -#26143=SHAPE_ASPECT('',$,#7816,.U.); -#26144=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11422,#26143); -#26145=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7816); -#26146=NAME_ATTRIBUTE('single instance',#7817); -#26147=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7817,*); -#26148=PROPERTY_DEFINITION('',$,#26147); -#26149=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#26148); -#26150=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7817); -#26151=SHAPE_ASPECT('',$,#7817,.U.); -#26152=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11432,#26151); -#26153=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7817); -#26154=NAME_ATTRIBUTE('single instance',#7818); -#26155=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7818,*); -#26156=PROPERTY_DEFINITION('',$,#26155); -#26157=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#26156); -#26158=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7818); -#26159=SHAPE_ASPECT('',$,#7818,.U.); -#26160=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11434,#26159); -#26161=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7818); -#26162=NAME_ATTRIBUTE('single instance',#7819); -#26163=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7819,*); -#26164=PROPERTY_DEFINITION('',$,#26163); -#26165=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#26164); -#26166=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7819); -#26167=SHAPE_ASPECT('',$,#7819,.U.); -#26168=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11424,#26167); -#26169=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7819); -#26170=NAME_ATTRIBUTE('single instance',#7820); -#26171=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7820,*); -#26172=PROPERTY_DEFINITION('',$,#26171); -#26173=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#26172); -#26174=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7820); -#26175=SHAPE_ASPECT('',$,#7820,.U.); -#26176=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11425,#26175); -#26177=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7820); -#26178=NAME_ATTRIBUTE('single instance',#7821); -#26179=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7807,#7720,$,'',$,#7821,*); -#26180=PROPERTY_DEFINITION('',$,#26179); -#26181=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#26180); -#26182=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7823,#7821); -#26183=SHAPE_ASPECT('',$,#7821,.U.); -#26184=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11429,#26183); -#26185=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7821); -#26186=NAME_ATTRIBUTE('single instance',#7953); -#26187=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7952,#7895,$,'',$,#7953,*); -#26188=PROPERTY_DEFINITION('',$,#26187); -#26189=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#26188); -#26190=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7956,#7953); -#26191=SHAPE_ASPECT('',$,#7953,.U.); -#26192=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11435,#26191); -#26193=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#7953); -#26194=NAME_ATTRIBUTE('single instance',#7954); -#26195=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7952,#7851,$,'',$,#7954,*); -#26196=PROPERTY_DEFINITION('',$,#26195); -#26197=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#26196); -#26198=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7956,#7954); -#26199=SHAPE_ASPECT('',$,#7954,.U.); -#26200=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11436,#26199); -#26201=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#7954); -#26202=NAME_ATTRIBUTE('single instance',#7964); -#26203=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7963,#7895,$,'',$,#7964,*); -#26204=PROPERTY_DEFINITION('',$,#26203); -#26205=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#26204); -#26206=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7966,#7964); -#26207=SHAPE_ASPECT('',$,#7964,.U.); -#26208=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11437,#26207); -#26209=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#7964); -#26210=NAME_ATTRIBUTE('single instance',#7965); -#26211=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7963,#7851,$,'',$,#7965,*); -#26212=PROPERTY_DEFINITION('',$,#26211); -#26213=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#26212); -#26214=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7966,#7965); -#26215=SHAPE_ASPECT('',$,#7965,.U.); -#26216=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11438,#26215); -#26217=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#7965); -#26218=NAME_ATTRIBUTE('single instance',#7974); -#26219=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7973,#7851,$,'',$,#7974,*); -#26220=PROPERTY_DEFINITION('',$,#26219); -#26221=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#26220); -#26222=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7977,#7974); -#26223=SHAPE_ASPECT('',$,#7974,.U.); -#26224=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11439,#26223); -#26225=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#7974); -#26226=NAME_ATTRIBUTE('single instance',#7975); -#26227=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7973,#7895,$,'',$,#7975,*); -#26228=PROPERTY_DEFINITION('',$,#26227); -#26229=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#26228); -#26230=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7977,#7975); -#26231=SHAPE_ASPECT('',$,#7975,.U.); -#26232=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11440,#26231); -#26233=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#7975); -#26234=NAME_ATTRIBUTE('single instance',#7985); -#26235=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7984,#7895,$,'',$,#7985,*); -#26236=PROPERTY_DEFINITION('',$,#26235); -#26237=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#26236); -#26238=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7987,#7985); -#26239=SHAPE_ASPECT('',$,#7985,.U.); -#26240=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11441,#26239); -#26241=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#7985); -#26242=NAME_ATTRIBUTE('single instance',#7986); -#26243=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7984,#7851,$,'',$,#7986,*); -#26244=PROPERTY_DEFINITION('',$,#26243); -#26245=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#26244); -#26246=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7987,#7986); -#26247=SHAPE_ASPECT('',$,#7986,.U.); -#26248=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11442,#26247); -#26249=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#7986); -#26250=NAME_ATTRIBUTE('single instance',#7995); -#26251=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#7995,*); -#26252=PROPERTY_DEFINITION('',$,#26251); -#26253=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#26252); -#26254=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#7995); -#26255=SHAPE_ASPECT('',$,#7995,.U.); -#26256=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11451,#26255); -#26257=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7995); -#26258=NAME_ATTRIBUTE('single instance',#7996); -#26259=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#7996,*); -#26260=PROPERTY_DEFINITION('',$,#26259); -#26261=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#26260); -#26262=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#7996); -#26263=SHAPE_ASPECT('',$,#7996,.U.); -#26264=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11449,#26263); -#26265=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7996); -#26266=NAME_ATTRIBUTE('single instance',#7997); -#26267=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#7997,*); -#26268=PROPERTY_DEFINITION('',$,#26267); -#26269=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#26268); -#26270=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#7997); -#26271=SHAPE_ASPECT('',$,#7997,.U.); -#26272=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11448,#26271); -#26273=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7997); -#26274=NAME_ATTRIBUTE('single instance',#7998); -#26275=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#7998,*); -#26276=PROPERTY_DEFINITION('',$,#26275); -#26277=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#26276); -#26278=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#7998); -#26279=SHAPE_ASPECT('',$,#7998,.U.); -#26280=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11447,#26279); -#26281=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7998); -#26282=NAME_ATTRIBUTE('single instance',#7999); -#26283=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#7999,*); -#26284=PROPERTY_DEFINITION('',$,#26283); -#26285=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#26284); -#26286=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#7999); -#26287=SHAPE_ASPECT('',$,#7999,.U.); -#26288=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10533,#26287); -#26289=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#7999); -#26290=NAME_ATTRIBUTE('single instance',#8000); -#26291=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#8000,*); -#26292=PROPERTY_DEFINITION('',$,#26291); -#26293=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#26292); -#26294=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#8000); -#26295=SHAPE_ASPECT('',$,#8000,.U.); -#26296=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11454,#26295); -#26297=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8000); -#26298=NAME_ATTRIBUTE('single instance',#8001); -#26299=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#8001,*); -#26300=PROPERTY_DEFINITION('',$,#26299); -#26301=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#26300); -#26302=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#8001); -#26303=SHAPE_ASPECT('',$,#8001,.U.); -#26304=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11452,#26303); -#26305=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8001); -#26306=NAME_ATTRIBUTE('single instance',#8002); -#26307=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#8002,*); -#26308=PROPERTY_DEFINITION('',$,#26307); -#26309=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#26308); -#26310=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#8002); -#26311=SHAPE_ASPECT('',$,#8002,.U.); -#26312=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11444,#26311); -#26313=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8002); -#26314=NAME_ATTRIBUTE('single instance',#8003); -#26315=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#8003,*); -#26316=PROPERTY_DEFINITION('',$,#26315); -#26317=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#26316); -#26318=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#8003); -#26319=SHAPE_ASPECT('',$,#8003,.U.); -#26320=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11443,#26319); -#26321=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8003); -#26322=NAME_ATTRIBUTE('single instance',#8004); -#26323=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#8004,*); -#26324=PROPERTY_DEFINITION('',$,#26323); -#26325=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#26324); -#26326=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#8004); -#26327=SHAPE_ASPECT('',$,#8004,.U.); -#26328=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11453,#26327); -#26329=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8004); -#26330=NAME_ATTRIBUTE('single instance',#8005); -#26331=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#8005,*); -#26332=PROPERTY_DEFINITION('',$,#26331); -#26333=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#26332); -#26334=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#8005); -#26335=SHAPE_ASPECT('',$,#8005,.U.); -#26336=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11455,#26335); -#26337=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8005); -#26338=NAME_ATTRIBUTE('single instance',#8006); -#26339=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#8006,*); -#26340=PROPERTY_DEFINITION('',$,#26339); -#26341=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#26340); -#26342=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#8006); -#26343=SHAPE_ASPECT('',$,#8006,.U.); -#26344=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11445,#26343); -#26345=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8006); -#26346=NAME_ATTRIBUTE('single instance',#8007); -#26347=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#8007,*); -#26348=PROPERTY_DEFINITION('',$,#26347); -#26349=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#26348); -#26350=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#8007); -#26351=SHAPE_ASPECT('',$,#8007,.U.); -#26352=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11446,#26351); -#26353=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8007); -#26354=NAME_ATTRIBUTE('single instance',#8008); -#26355=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7994,#7720,$,'',$,#8008,*); -#26356=PROPERTY_DEFINITION('',$,#26355); -#26357=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#26356); -#26358=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8009,#8008); -#26359=SHAPE_ASPECT('',$,#8008,.U.); -#26360=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11450,#26359); -#26361=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8008); -#26362=NAME_ATTRIBUTE('single instance',#8015); -#26363=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8015,*); -#26364=PROPERTY_DEFINITION('',$,#26363); -#26365=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#26364); -#26366=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8015); -#26367=SHAPE_ASPECT('',$,#8015,.U.); -#26368=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11464,#26367); -#26369=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8015); -#26370=NAME_ATTRIBUTE('single instance',#8016); -#26371=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8016,*); -#26372=PROPERTY_DEFINITION('',$,#26371); -#26373=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#26372); -#26374=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8016); -#26375=SHAPE_ASPECT('',$,#8016,.U.); -#26376=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11462,#26375); -#26377=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8016); -#26378=NAME_ATTRIBUTE('single instance',#8017); -#26379=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8017,*); -#26380=PROPERTY_DEFINITION('',$,#26379); -#26381=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#26380); -#26382=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8017); -#26383=SHAPE_ASPECT('',$,#8017,.U.); -#26384=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11461,#26383); -#26385=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8017); -#26386=NAME_ATTRIBUTE('single instance',#8018); -#26387=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8018,*); -#26388=PROPERTY_DEFINITION('',$,#26387); -#26389=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#26388); -#26390=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8018); -#26391=SHAPE_ASPECT('',$,#8018,.U.); -#26392=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11460,#26391); -#26393=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8018); -#26394=NAME_ATTRIBUTE('single instance',#8019); -#26395=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8019,*); -#26396=PROPERTY_DEFINITION('',$,#26395); -#26397=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#26396); -#26398=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8019); -#26399=SHAPE_ASPECT('',$,#8019,.U.); -#26400=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10533,#26399); -#26401=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8019); -#26402=NAME_ATTRIBUTE('single instance',#8020); -#26403=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8020,*); -#26404=PROPERTY_DEFINITION('',$,#26403); -#26405=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#26404); -#26406=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8020); -#26407=SHAPE_ASPECT('',$,#8020,.U.); -#26408=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11467,#26407); -#26409=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8020); -#26410=NAME_ATTRIBUTE('single instance',#8021); -#26411=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8021,*); -#26412=PROPERTY_DEFINITION('',$,#26411); -#26413=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#26412); -#26414=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8021); -#26415=SHAPE_ASPECT('',$,#8021,.U.); -#26416=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11465,#26415); -#26417=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8021); -#26418=NAME_ATTRIBUTE('single instance',#8022); -#26419=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8022,*); -#26420=PROPERTY_DEFINITION('',$,#26419); -#26421=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#26420); -#26422=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8022); -#26423=SHAPE_ASPECT('',$,#8022,.U.); -#26424=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11457,#26423); -#26425=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8022); -#26426=NAME_ATTRIBUTE('single instance',#8023); -#26427=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8023,*); -#26428=PROPERTY_DEFINITION('',$,#26427); -#26429=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#26428); -#26430=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8023); -#26431=SHAPE_ASPECT('',$,#8023,.U.); -#26432=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11456,#26431); -#26433=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8023); -#26434=NAME_ATTRIBUTE('single instance',#8024); -#26435=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8024,*); -#26436=PROPERTY_DEFINITION('',$,#26435); -#26437=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#26436); -#26438=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8024); -#26439=SHAPE_ASPECT('',$,#8024,.U.); -#26440=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11466,#26439); -#26441=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8024); -#26442=NAME_ATTRIBUTE('single instance',#8025); -#26443=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8025,*); -#26444=PROPERTY_DEFINITION('',$,#26443); -#26445=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#26444); -#26446=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8025); -#26447=SHAPE_ASPECT('',$,#8025,.U.); -#26448=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11468,#26447); -#26449=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8025); -#26450=NAME_ATTRIBUTE('single instance',#8026); -#26451=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8026,*); -#26452=PROPERTY_DEFINITION('',$,#26451); -#26453=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#26452); -#26454=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8026); -#26455=SHAPE_ASPECT('',$,#8026,.U.); -#26456=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11458,#26455); -#26457=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8026); -#26458=NAME_ATTRIBUTE('single instance',#8027); -#26459=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8027,*); -#26460=PROPERTY_DEFINITION('',$,#26459); -#26461=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#26460); -#26462=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8027); -#26463=SHAPE_ASPECT('',$,#8027,.U.); -#26464=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11459,#26463); -#26465=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8027); -#26466=NAME_ATTRIBUTE('single instance',#8028); -#26467=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8014,#7720,$,'',$,#8028,*); -#26468=PROPERTY_DEFINITION('',$,#26467); -#26469=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#26468); -#26470=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8029,#8028); -#26471=SHAPE_ASPECT('',$,#8028,.U.); -#26472=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11463,#26471); -#26473=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8028); -#26474=NAME_ATTRIBUTE('single instance',#8036); -#26475=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8035,#7851,$,'',$,#8036,*); -#26476=PROPERTY_DEFINITION('',$,#26475); -#26477=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#26476); -#26478=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8038,#8036); -#26479=SHAPE_ASPECT('',$,#8036,.U.); -#26480=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11469,#26479); -#26481=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8036); -#26482=NAME_ATTRIBUTE('single instance',#8037); -#26483=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8035,#7895,$,'',$,#8037,*); -#26484=PROPERTY_DEFINITION('',$,#26483); -#26485=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#26484); -#26486=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8038,#8037); -#26487=SHAPE_ASPECT('',$,#8037,.U.); -#26488=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11470,#26487); -#26489=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8037); -#26490=NAME_ATTRIBUTE('single instance',#8046); -#26491=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8046,*); -#26492=PROPERTY_DEFINITION('',$,#26491); -#26493=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#26492); -#26494=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8046); -#26495=SHAPE_ASPECT('',$,#8046,.U.); -#26496=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11479,#26495); -#26497=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8046); -#26498=NAME_ATTRIBUTE('single instance',#8047); -#26499=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8047,*); -#26500=PROPERTY_DEFINITION('',$,#26499); -#26501=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#26500); -#26502=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8047); -#26503=SHAPE_ASPECT('',$,#8047,.U.); -#26504=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11477,#26503); -#26505=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8047); -#26506=NAME_ATTRIBUTE('single instance',#8048); -#26507=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8048,*); -#26508=PROPERTY_DEFINITION('',$,#26507); -#26509=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#26508); -#26510=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8048); -#26511=SHAPE_ASPECT('',$,#8048,.U.); -#26512=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11476,#26511); -#26513=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8048); -#26514=NAME_ATTRIBUTE('single instance',#8049); -#26515=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8049,*); -#26516=PROPERTY_DEFINITION('',$,#26515); -#26517=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#26516); -#26518=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8049); -#26519=SHAPE_ASPECT('',$,#8049,.U.); -#26520=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11475,#26519); -#26521=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8049); -#26522=NAME_ATTRIBUTE('single instance',#8050); -#26523=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8050,*); -#26524=PROPERTY_DEFINITION('',$,#26523); -#26525=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#26524); -#26526=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8050); -#26527=SHAPE_ASPECT('',$,#8050,.U.); -#26528=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10533,#26527); -#26529=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8050); -#26530=NAME_ATTRIBUTE('single instance',#8051); -#26531=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8051,*); -#26532=PROPERTY_DEFINITION('',$,#26531); -#26533=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#26532); -#26534=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8051); -#26535=SHAPE_ASPECT('',$,#8051,.U.); -#26536=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11482,#26535); -#26537=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8051); -#26538=NAME_ATTRIBUTE('single instance',#8052); -#26539=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8052,*); -#26540=PROPERTY_DEFINITION('',$,#26539); -#26541=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#26540); -#26542=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8052); -#26543=SHAPE_ASPECT('',$,#8052,.U.); -#26544=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11480,#26543); -#26545=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8052); -#26546=NAME_ATTRIBUTE('single instance',#8053); -#26547=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8053,*); -#26548=PROPERTY_DEFINITION('',$,#26547); -#26549=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#26548); -#26550=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8053); -#26551=SHAPE_ASPECT('',$,#8053,.U.); -#26552=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11472,#26551); -#26553=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8053); -#26554=NAME_ATTRIBUTE('single instance',#8054); -#26555=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8054,*); -#26556=PROPERTY_DEFINITION('',$,#26555); -#26557=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#26556); -#26558=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8054); -#26559=SHAPE_ASPECT('',$,#8054,.U.); -#26560=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11471,#26559); -#26561=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8054); -#26562=NAME_ATTRIBUTE('single instance',#8055); -#26563=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8055,*); -#26564=PROPERTY_DEFINITION('',$,#26563); -#26565=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#26564); -#26566=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8055); -#26567=SHAPE_ASPECT('',$,#8055,.U.); -#26568=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11481,#26567); -#26569=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8055); -#26570=NAME_ATTRIBUTE('single instance',#8056); -#26571=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8056,*); -#26572=PROPERTY_DEFINITION('',$,#26571); -#26573=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#26572); -#26574=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8056); -#26575=SHAPE_ASPECT('',$,#8056,.U.); -#26576=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11483,#26575); -#26577=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8056); -#26578=NAME_ATTRIBUTE('single instance',#8057); -#26579=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8057,*); -#26580=PROPERTY_DEFINITION('',$,#26579); -#26581=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#26580); -#26582=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8057); -#26583=SHAPE_ASPECT('',$,#8057,.U.); -#26584=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11473,#26583); -#26585=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8057); -#26586=NAME_ATTRIBUTE('single instance',#8058); -#26587=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8058,*); -#26588=PROPERTY_DEFINITION('',$,#26587); -#26589=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#26588); -#26590=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8058); -#26591=SHAPE_ASPECT('',$,#8058,.U.); -#26592=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11474,#26591); -#26593=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8058); -#26594=NAME_ATTRIBUTE('single instance',#8059); -#26595=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8045,#7720,$,'',$,#8059,*); -#26596=PROPERTY_DEFINITION('',$,#26595); -#26597=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#26596); -#26598=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8060,#8059); -#26599=SHAPE_ASPECT('',$,#8059,.U.); -#26600=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11478,#26599); -#26601=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8059); -#26602=NAME_ATTRIBUTE('single instance',#8067); -#26603=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8066,#7895,$,'',$,#8067,*); -#26604=PROPERTY_DEFINITION('',$,#26603); -#26605=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#26604); -#26606=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8069,#8067); -#26607=SHAPE_ASPECT('',$,#8067,.U.); -#26608=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11484,#26607); -#26609=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8067); -#26610=NAME_ATTRIBUTE('single instance',#8068); -#26611=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8066,#7851,$,'',$,#8068,*); -#26612=PROPERTY_DEFINITION('',$,#26611); -#26613=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#26612); -#26614=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8069,#8068); -#26615=SHAPE_ASPECT('',$,#8068,.U.); -#26616=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11485,#26615); -#26617=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8068); -#26618=NAME_ATTRIBUTE('single instance',#8077); -#26619=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8077,*); -#26620=PROPERTY_DEFINITION('',$,#26619); -#26621=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#26620); -#26622=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8077); -#26623=SHAPE_ASPECT('',$,#8077,.U.); -#26624=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11494,#26623); -#26625=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8077); -#26626=NAME_ATTRIBUTE('single instance',#8078); -#26627=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8078,*); -#26628=PROPERTY_DEFINITION('',$,#26627); -#26629=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#26628); -#26630=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8078); -#26631=SHAPE_ASPECT('',$,#8078,.U.); -#26632=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11492,#26631); -#26633=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8078); -#26634=NAME_ATTRIBUTE('single instance',#8079); -#26635=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8079,*); -#26636=PROPERTY_DEFINITION('',$,#26635); -#26637=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#26636); -#26638=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8079); -#26639=SHAPE_ASPECT('',$,#8079,.U.); -#26640=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11491,#26639); -#26641=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8079); -#26642=NAME_ATTRIBUTE('single instance',#8080); -#26643=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8080,*); -#26644=PROPERTY_DEFINITION('',$,#26643); -#26645=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#26644); -#26646=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8080); -#26647=SHAPE_ASPECT('',$,#8080,.U.); -#26648=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11490,#26647); -#26649=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8080); -#26650=NAME_ATTRIBUTE('single instance',#8081); -#26651=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8081,*); -#26652=PROPERTY_DEFINITION('',$,#26651); -#26653=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#26652); -#26654=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8081); -#26655=SHAPE_ASPECT('',$,#8081,.U.); -#26656=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10533,#26655); -#26657=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8081); -#26658=NAME_ATTRIBUTE('single instance',#8082); -#26659=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8082,*); -#26660=PROPERTY_DEFINITION('',$,#26659); -#26661=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#26660); -#26662=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8082); -#26663=SHAPE_ASPECT('',$,#8082,.U.); -#26664=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11497,#26663); -#26665=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8082); -#26666=NAME_ATTRIBUTE('single instance',#8083); -#26667=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8083,*); -#26668=PROPERTY_DEFINITION('',$,#26667); -#26669=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#26668); -#26670=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8083); -#26671=SHAPE_ASPECT('',$,#8083,.U.); -#26672=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11495,#26671); -#26673=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8083); -#26674=NAME_ATTRIBUTE('single instance',#8084); -#26675=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8084,*); -#26676=PROPERTY_DEFINITION('',$,#26675); -#26677=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#26676); -#26678=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8084); -#26679=SHAPE_ASPECT('',$,#8084,.U.); -#26680=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11487,#26679); -#26681=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8084); -#26682=NAME_ATTRIBUTE('single instance',#8085); -#26683=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8085,*); -#26684=PROPERTY_DEFINITION('',$,#26683); -#26685=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#26684); -#26686=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8085); -#26687=SHAPE_ASPECT('',$,#8085,.U.); -#26688=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11486,#26687); -#26689=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8085); -#26690=NAME_ATTRIBUTE('single instance',#8086); -#26691=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8086,*); -#26692=PROPERTY_DEFINITION('',$,#26691); -#26693=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#26692); -#26694=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8086); -#26695=SHAPE_ASPECT('',$,#8086,.U.); -#26696=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11496,#26695); -#26697=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8086); -#26698=NAME_ATTRIBUTE('single instance',#8087); -#26699=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8087,*); -#26700=PROPERTY_DEFINITION('',$,#26699); -#26701=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#26700); -#26702=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8087); -#26703=SHAPE_ASPECT('',$,#8087,.U.); -#26704=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11498,#26703); -#26705=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8087); -#26706=NAME_ATTRIBUTE('single instance',#8088); -#26707=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8088,*); -#26708=PROPERTY_DEFINITION('',$,#26707); -#26709=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#26708); -#26710=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8088); -#26711=SHAPE_ASPECT('',$,#8088,.U.); -#26712=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11488,#26711); -#26713=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8088); -#26714=NAME_ATTRIBUTE('single instance',#8089); -#26715=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8089,*); -#26716=PROPERTY_DEFINITION('',$,#26715); -#26717=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#26716); -#26718=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8089); -#26719=SHAPE_ASPECT('',$,#8089,.U.); -#26720=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11489,#26719); -#26721=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8089); -#26722=NAME_ATTRIBUTE('single instance',#8090); -#26723=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8076,#7720,$,'',$,#8090,*); -#26724=PROPERTY_DEFINITION('',$,#26723); -#26725=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#26724); -#26726=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8091,#8090); -#26727=SHAPE_ASPECT('',$,#8090,.U.); -#26728=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11493,#26727); -#26729=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8090); -#26730=NAME_ATTRIBUTE('single instance',#8097); -#26731=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8097,*); -#26732=PROPERTY_DEFINITION('',$,#26731); -#26733=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#26732); -#26734=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8097); -#26735=SHAPE_ASPECT('',$,#8097,.U.); -#26736=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11507,#26735); -#26737=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8097); -#26738=NAME_ATTRIBUTE('single instance',#8098); -#26739=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8098,*); -#26740=PROPERTY_DEFINITION('',$,#26739); -#26741=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#26740); -#26742=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8098); -#26743=SHAPE_ASPECT('',$,#8098,.U.); -#26744=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11505,#26743); -#26745=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8098); -#26746=NAME_ATTRIBUTE('single instance',#8099); -#26747=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8099,*); -#26748=PROPERTY_DEFINITION('',$,#26747); -#26749=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#26748); -#26750=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8099); -#26751=SHAPE_ASPECT('',$,#8099,.U.); -#26752=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11504,#26751); -#26753=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8099); -#26754=NAME_ATTRIBUTE('single instance',#8100); -#26755=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8100,*); -#26756=PROPERTY_DEFINITION('',$,#26755); -#26757=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#26756); -#26758=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8100); -#26759=SHAPE_ASPECT('',$,#8100,.U.); -#26760=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11503,#26759); -#26761=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8100); -#26762=NAME_ATTRIBUTE('single instance',#8101); -#26763=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8101,*); -#26764=PROPERTY_DEFINITION('',$,#26763); -#26765=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#26764); -#26766=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8101); -#26767=SHAPE_ASPECT('',$,#8101,.U.); -#26768=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10533,#26767); -#26769=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8101); -#26770=NAME_ATTRIBUTE('single instance',#8102); -#26771=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8102,*); -#26772=PROPERTY_DEFINITION('',$,#26771); -#26773=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#26772); -#26774=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8102); -#26775=SHAPE_ASPECT('',$,#8102,.U.); -#26776=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11510,#26775); -#26777=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8102); -#26778=NAME_ATTRIBUTE('single instance',#8103); -#26779=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8103,*); -#26780=PROPERTY_DEFINITION('',$,#26779); -#26781=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#26780); -#26782=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8103); -#26783=SHAPE_ASPECT('',$,#8103,.U.); -#26784=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11508,#26783); -#26785=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8103); -#26786=NAME_ATTRIBUTE('single instance',#8104); -#26787=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8104,*); -#26788=PROPERTY_DEFINITION('',$,#26787); -#26789=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#26788); -#26790=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8104); -#26791=SHAPE_ASPECT('',$,#8104,.U.); -#26792=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11500,#26791); -#26793=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8104); -#26794=NAME_ATTRIBUTE('single instance',#8105); -#26795=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8105,*); -#26796=PROPERTY_DEFINITION('',$,#26795); -#26797=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#26796); -#26798=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8105); -#26799=SHAPE_ASPECT('',$,#8105,.U.); -#26800=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11499,#26799); -#26801=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8105); -#26802=NAME_ATTRIBUTE('single instance',#8106); -#26803=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8106,*); -#26804=PROPERTY_DEFINITION('',$,#26803); -#26805=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#26804); -#26806=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8106); -#26807=SHAPE_ASPECT('',$,#8106,.U.); -#26808=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11509,#26807); -#26809=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8106); -#26810=NAME_ATTRIBUTE('single instance',#8107); -#26811=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8107,*); -#26812=PROPERTY_DEFINITION('',$,#26811); -#26813=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#26812); -#26814=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8107); -#26815=SHAPE_ASPECT('',$,#8107,.U.); -#26816=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11511,#26815); -#26817=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8107); -#26818=NAME_ATTRIBUTE('single instance',#8108); -#26819=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8108,*); -#26820=PROPERTY_DEFINITION('',$,#26819); -#26821=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#26820); -#26822=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8108); -#26823=SHAPE_ASPECT('',$,#8108,.U.); -#26824=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11501,#26823); -#26825=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8108); -#26826=NAME_ATTRIBUTE('single instance',#8109); -#26827=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8109,*); -#26828=PROPERTY_DEFINITION('',$,#26827); -#26829=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#26828); -#26830=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8109); -#26831=SHAPE_ASPECT('',$,#8109,.U.); -#26832=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11502,#26831); -#26833=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8109); -#26834=NAME_ATTRIBUTE('single instance',#8110); -#26835=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8096,#7720,$,'',$,#8110,*); -#26836=PROPERTY_DEFINITION('',$,#26835); -#26837=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#26836); -#26838=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8111,#8110); -#26839=SHAPE_ASPECT('',$,#8110,.U.); -#26840=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11506,#26839); -#26841=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8110); -#26842=NAME_ATTRIBUTE('single instance',#8118); -#26843=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8117,#7851,$,'',$,#8118,*); -#26844=PROPERTY_DEFINITION('',$,#26843); -#26845=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#26844); -#26846=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8120,#8118); -#26847=SHAPE_ASPECT('',$,#8118,.U.); -#26848=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11512,#26847); -#26849=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8118); -#26850=NAME_ATTRIBUTE('single instance',#8119); -#26851=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8117,#7895,$,'',$,#8119,*); -#26852=PROPERTY_DEFINITION('',$,#26851); -#26853=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#26852); -#26854=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8120,#8119); -#26855=SHAPE_ASPECT('',$,#8119,.U.); -#26856=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11513,#26855); -#26857=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8119); -#26858=NAME_ATTRIBUTE('single instance',#8128); -#26859=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8128,*); -#26860=PROPERTY_DEFINITION('',$,#26859); -#26861=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#26860); -#26862=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8128); -#26863=SHAPE_ASPECT('',$,#8128,.U.); -#26864=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11522,#26863); -#26865=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8128); -#26866=NAME_ATTRIBUTE('single instance',#8129); -#26867=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8129,*); -#26868=PROPERTY_DEFINITION('',$,#26867); -#26869=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#26868); -#26870=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8129); -#26871=SHAPE_ASPECT('',$,#8129,.U.); -#26872=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11520,#26871); -#26873=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8129); -#26874=NAME_ATTRIBUTE('single instance',#8130); -#26875=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8130,*); -#26876=PROPERTY_DEFINITION('',$,#26875); -#26877=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#26876); -#26878=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8130); -#26879=SHAPE_ASPECT('',$,#8130,.U.); -#26880=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11519,#26879); -#26881=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8130); -#26882=NAME_ATTRIBUTE('single instance',#8131); -#26883=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8131,*); -#26884=PROPERTY_DEFINITION('',$,#26883); -#26885=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#26884); -#26886=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8131); -#26887=SHAPE_ASPECT('',$,#8131,.U.); -#26888=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11518,#26887); -#26889=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8131); -#26890=NAME_ATTRIBUTE('single instance',#8132); -#26891=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8132,*); -#26892=PROPERTY_DEFINITION('',$,#26891); -#26893=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#26892); -#26894=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8132); -#26895=SHAPE_ASPECT('',$,#8132,.U.); -#26896=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10533,#26895); -#26897=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8132); -#26898=NAME_ATTRIBUTE('single instance',#8133); -#26899=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8133,*); -#26900=PROPERTY_DEFINITION('',$,#26899); -#26901=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#26900); -#26902=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8133); -#26903=SHAPE_ASPECT('',$,#8133,.U.); -#26904=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11525,#26903); -#26905=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8133); -#26906=NAME_ATTRIBUTE('single instance',#8134); -#26907=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8134,*); -#26908=PROPERTY_DEFINITION('',$,#26907); -#26909=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#26908); -#26910=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8134); -#26911=SHAPE_ASPECT('',$,#8134,.U.); -#26912=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11523,#26911); -#26913=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8134); -#26914=NAME_ATTRIBUTE('single instance',#8135); -#26915=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8135,*); -#26916=PROPERTY_DEFINITION('',$,#26915); -#26917=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#26916); -#26918=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8135); -#26919=SHAPE_ASPECT('',$,#8135,.U.); -#26920=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11515,#26919); -#26921=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8135); -#26922=NAME_ATTRIBUTE('single instance',#8136); -#26923=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8136,*); -#26924=PROPERTY_DEFINITION('',$,#26923); -#26925=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#26924); -#26926=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8136); -#26927=SHAPE_ASPECT('',$,#8136,.U.); -#26928=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11514,#26927); -#26929=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8136); -#26930=NAME_ATTRIBUTE('single instance',#8137); -#26931=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8137,*); -#26932=PROPERTY_DEFINITION('',$,#26931); -#26933=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#26932); -#26934=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8137); -#26935=SHAPE_ASPECT('',$,#8137,.U.); -#26936=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11524,#26935); -#26937=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8137); -#26938=NAME_ATTRIBUTE('single instance',#8138); -#26939=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8138,*); -#26940=PROPERTY_DEFINITION('',$,#26939); -#26941=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#26940); -#26942=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8138); -#26943=SHAPE_ASPECT('',$,#8138,.U.); -#26944=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11526,#26943); -#26945=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8138); -#26946=NAME_ATTRIBUTE('single instance',#8139); -#26947=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8139,*); -#26948=PROPERTY_DEFINITION('',$,#26947); -#26949=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#26948); -#26950=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8139); -#26951=SHAPE_ASPECT('',$,#8139,.U.); -#26952=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11516,#26951); -#26953=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8139); -#26954=NAME_ATTRIBUTE('single instance',#8140); -#26955=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8140,*); -#26956=PROPERTY_DEFINITION('',$,#26955); -#26957=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#26956); -#26958=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8140); -#26959=SHAPE_ASPECT('',$,#8140,.U.); -#26960=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11517,#26959); -#26961=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8140); -#26962=NAME_ATTRIBUTE('single instance',#8141); -#26963=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8127,#7720,$,'',$,#8141,*); -#26964=PROPERTY_DEFINITION('',$,#26963); -#26965=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#26964); -#26966=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8142,#8141); -#26967=SHAPE_ASPECT('',$,#8141,.U.); -#26968=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11521,#26967); -#26969=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8141); -#26970=NAME_ATTRIBUTE('single instance',#8149); -#26971=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8149,*); -#26972=PROPERTY_DEFINITION('',$,#26971); -#26973=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#26972); -#26974=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8149); -#26975=SHAPE_ASPECT('',$,#8149,.U.); -#26976=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11535,#26975); -#26977=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8149); -#26978=NAME_ATTRIBUTE('single instance',#8150); -#26979=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8150,*); -#26980=PROPERTY_DEFINITION('',$,#26979); -#26981=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#26980); -#26982=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8150); -#26983=SHAPE_ASPECT('',$,#8150,.U.); -#26984=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11533,#26983); -#26985=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8150); -#26986=NAME_ATTRIBUTE('single instance',#8151); -#26987=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8151,*); -#26988=PROPERTY_DEFINITION('',$,#26987); -#26989=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#26988); -#26990=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8151); -#26991=SHAPE_ASPECT('',$,#8151,.U.); -#26992=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11532,#26991); -#26993=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8151); -#26994=NAME_ATTRIBUTE('single instance',#8152); -#26995=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8152,*); -#26996=PROPERTY_DEFINITION('',$,#26995); -#26997=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#26996); -#26998=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8152); -#26999=SHAPE_ASPECT('',$,#8152,.U.); -#27000=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11531,#26999); -#27001=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8152); -#27002=NAME_ATTRIBUTE('single instance',#8153); -#27003=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8153,*); -#27004=PROPERTY_DEFINITION('',$,#27003); -#27005=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#27004); -#27006=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8153); -#27007=SHAPE_ASPECT('',$,#8153,.U.); -#27008=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10533,#27007); -#27009=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8153); -#27010=NAME_ATTRIBUTE('single instance',#8154); -#27011=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8154,*); -#27012=PROPERTY_DEFINITION('',$,#27011); -#27013=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#27012); -#27014=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8154); -#27015=SHAPE_ASPECT('',$,#8154,.U.); -#27016=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11538,#27015); -#27017=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8154); -#27018=NAME_ATTRIBUTE('single instance',#8155); -#27019=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8155,*); -#27020=PROPERTY_DEFINITION('',$,#27019); -#27021=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#27020); -#27022=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8155); -#27023=SHAPE_ASPECT('',$,#8155,.U.); -#27024=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11536,#27023); -#27025=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8155); -#27026=NAME_ATTRIBUTE('single instance',#8156); -#27027=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8156,*); -#27028=PROPERTY_DEFINITION('',$,#27027); -#27029=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#27028); -#27030=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8156); -#27031=SHAPE_ASPECT('',$,#8156,.U.); -#27032=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11528,#27031); -#27033=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8156); -#27034=NAME_ATTRIBUTE('single instance',#8157); -#27035=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8157,*); -#27036=PROPERTY_DEFINITION('',$,#27035); -#27037=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#27036); -#27038=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8157); -#27039=SHAPE_ASPECT('',$,#8157,.U.); -#27040=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11527,#27039); -#27041=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8157); -#27042=NAME_ATTRIBUTE('single instance',#8158); -#27043=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8158,*); -#27044=PROPERTY_DEFINITION('',$,#27043); -#27045=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#27044); -#27046=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8158); -#27047=SHAPE_ASPECT('',$,#8158,.U.); -#27048=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11537,#27047); -#27049=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8158); -#27050=NAME_ATTRIBUTE('single instance',#8159); -#27051=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8159,*); -#27052=PROPERTY_DEFINITION('',$,#27051); -#27053=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#27052); -#27054=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8159); -#27055=SHAPE_ASPECT('',$,#8159,.U.); -#27056=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11539,#27055); -#27057=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8159); -#27058=NAME_ATTRIBUTE('single instance',#8160); -#27059=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8160,*); -#27060=PROPERTY_DEFINITION('',$,#27059); -#27061=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#27060); -#27062=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8160); -#27063=SHAPE_ASPECT('',$,#8160,.U.); -#27064=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11529,#27063); -#27065=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8160); -#27066=NAME_ATTRIBUTE('single instance',#8161); -#27067=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8161,*); -#27068=PROPERTY_DEFINITION('',$,#27067); -#27069=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#27068); -#27070=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8161); -#27071=SHAPE_ASPECT('',$,#8161,.U.); -#27072=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11530,#27071); -#27073=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8161); -#27074=NAME_ATTRIBUTE('single instance',#8162); -#27075=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8148,#7720,$,'',$,#8162,*); -#27076=PROPERTY_DEFINITION('',$,#27075); -#27077=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#27076); -#27078=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8163,#8162); -#27079=SHAPE_ASPECT('',$,#8162,.U.); -#27080=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11534,#27079); -#27081=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8162); -#27082=NAME_ATTRIBUTE('single instance',#8170); -#27083=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8169,#7851,$,'',$,#8170,*); -#27084=PROPERTY_DEFINITION('',$,#27083); -#27085=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#27084); -#27086=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8172,#8170); -#27087=SHAPE_ASPECT('',$,#8170,.U.); -#27088=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11540,#27087); -#27089=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8170); -#27090=NAME_ATTRIBUTE('single instance',#8171); -#27091=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8169,#7895,$,'',$,#8171,*); -#27092=PROPERTY_DEFINITION('',$,#27091); -#27093=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#27092); -#27094=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8172,#8171); -#27095=SHAPE_ASPECT('',$,#8171,.U.); -#27096=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11541,#27095); -#27097=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8171); -#27098=NAME_ATTRIBUTE('single instance',#8212); -#27099=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8212,*); -#27100=PROPERTY_DEFINITION('',$,#27099); -#27101=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#27100); -#27102=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8212); -#27103=SHAPE_ASPECT('',$,#8212,.U.); -#27104=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10614,#27103); -#27105=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8212); -#27106=NAME_ATTRIBUTE('single instance',#8213); -#27107=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8213,*); -#27108=PROPERTY_DEFINITION('',$,#27107); -#27109=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#27108); -#27110=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8213); -#27111=SHAPE_ASPECT('',$,#8213,.U.); -#27112=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11548,#27111); -#27113=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8213); -#27114=NAME_ATTRIBUTE('single instance',#8214); -#27115=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8214,*); -#27116=PROPERTY_DEFINITION('',$,#27115); -#27117=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#27116); -#27118=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8214); -#27119=SHAPE_ASPECT('',$,#8214,.U.); -#27120=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11547,#27119); -#27121=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8214); -#27122=NAME_ATTRIBUTE('single instance',#8215); -#27123=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8215,*); -#27124=PROPERTY_DEFINITION('',$,#27123); -#27125=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#27124); -#27126=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8215); -#27127=SHAPE_ASPECT('',$,#8215,.U.); -#27128=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11546,#27127); -#27129=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8215); -#27130=NAME_ATTRIBUTE('single instance',#8216); -#27131=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8216,*); -#27132=PROPERTY_DEFINITION('',$,#27131); -#27133=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#27132); -#27134=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8216); -#27135=SHAPE_ASPECT('',$,#8216,.U.); -#27136=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11553,#27135); -#27137=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8216); -#27138=NAME_ATTRIBUTE('single instance',#8217); -#27139=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8217,*); -#27140=PROPERTY_DEFINITION('',$,#27139); -#27141=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#27140); -#27142=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8217); -#27143=SHAPE_ASPECT('',$,#8217,.U.); -#27144=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11551,#27143); -#27145=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8217); -#27146=NAME_ATTRIBUTE('single instance',#8218); -#27147=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8218,*); -#27148=PROPERTY_DEFINITION('',$,#27147); -#27149=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#27148); -#27150=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8218); -#27151=SHAPE_ASPECT('',$,#8218,.U.); -#27152=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11550,#27151); -#27153=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8218); -#27154=NAME_ATTRIBUTE('single instance',#8219); -#27155=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8219,*); -#27156=PROPERTY_DEFINITION('',$,#27155); -#27157=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#27156); -#27158=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8219); -#27159=SHAPE_ASPECT('',$,#8219,.U.); -#27160=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11543,#27159); -#27161=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8219); -#27162=NAME_ATTRIBUTE('single instance',#8220); -#27163=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8220,*); -#27164=PROPERTY_DEFINITION('',$,#27163); -#27165=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#27164); -#27166=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8220); -#27167=SHAPE_ASPECT('',$,#8220,.U.); -#27168=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11542,#27167); -#27169=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8220); -#27170=NAME_ATTRIBUTE('single instance',#8221); -#27171=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8221,*); -#27172=PROPERTY_DEFINITION('',$,#27171); -#27173=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#27172); -#27174=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8221); -#27175=SHAPE_ASPECT('',$,#8221,.U.); -#27176=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10616,#27175); -#27177=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8221); -#27178=NAME_ATTRIBUTE('single instance',#8222); -#27179=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8222,*); -#27180=PROPERTY_DEFINITION('',$,#27179); -#27181=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#27180); -#27182=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8222); -#27183=SHAPE_ASPECT('',$,#8222,.U.); -#27184=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11552,#27183); -#27185=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8222); -#27186=NAME_ATTRIBUTE('single instance',#8223); -#27187=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8223,*); -#27188=PROPERTY_DEFINITION('',$,#27187); -#27189=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#27188); -#27190=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8223); -#27191=SHAPE_ASPECT('',$,#8223,.U.); -#27192=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11544,#27191); -#27193=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8223); -#27194=NAME_ATTRIBUTE('single instance',#8224); -#27195=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8224,*); -#27196=PROPERTY_DEFINITION('',$,#27195); -#27197=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#27196); -#27198=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8224); -#27199=SHAPE_ASPECT('',$,#8224,.U.); -#27200=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11545,#27199); -#27201=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8224); -#27202=NAME_ATTRIBUTE('single instance',#8225); -#27203=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8211,#7720,$,'',$,#8225,*); -#27204=PROPERTY_DEFINITION('',$,#27203); -#27205=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#27204); -#27206=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8226,#8225); -#27207=SHAPE_ASPECT('',$,#8225,.U.); -#27208=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11549,#27207); -#27209=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8225); -#27210=NAME_ATTRIBUTE('single instance',#8233); -#27211=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8232,#7895,$,'',$,#8233,*); -#27212=PROPERTY_DEFINITION('',$,#27211); -#27213=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#27212); -#27214=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8235,#8233); -#27215=SHAPE_ASPECT('',$,#8233,.U.); -#27216=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11554,#27215); -#27217=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8233); -#27218=NAME_ATTRIBUTE('single instance',#8234); -#27219=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8232,#7851,$,'',$,#8234,*); -#27220=PROPERTY_DEFINITION('',$,#27219); -#27221=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#27220); -#27222=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8235,#8234); -#27223=SHAPE_ASPECT('',$,#8234,.U.); -#27224=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10616,#27223); -#27225=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8234); -#27226=NAME_ATTRIBUTE('single instance',#8243); -#27227=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8242,#7851,$,'',$,#8243,*); -#27228=PROPERTY_DEFINITION('',$,#27227); -#27229=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#27228); -#27230=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8245,#8243); -#27231=SHAPE_ASPECT('',$,#8243,.U.); -#27232=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10612,#27231); -#27233=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8243); -#27234=NAME_ATTRIBUTE('single instance',#8244); -#27235=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8242,#7895,$,'',$,#8244,*); -#27236=PROPERTY_DEFINITION('',$,#27235); -#27237=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#27236); -#27238=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8245,#8244); -#27239=SHAPE_ASPECT('',$,#8244,.U.); -#27240=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11555,#27239); -#27241=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8244); -#27242=NAME_ATTRIBUTE('single instance',#8253); -#27243=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8253,*); -#27244=PROPERTY_DEFINITION('',$,#27243); -#27245=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#27244); -#27246=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8253); -#27247=SHAPE_ASPECT('',$,#8253,.U.); -#27248=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10615,#27247); -#27249=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8253); -#27250=NAME_ATTRIBUTE('single instance',#8254); -#27251=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8254,*); -#27252=PROPERTY_DEFINITION('',$,#27251); -#27253=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#27252); -#27254=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8254); -#27255=SHAPE_ASPECT('',$,#8254,.U.); -#27256=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10612,#27255); -#27257=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8254); -#27258=NAME_ATTRIBUTE('single instance',#8255); -#27259=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8255,*); -#27260=PROPERTY_DEFINITION('',$,#27259); -#27261=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#27260); -#27262=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8255); -#27263=SHAPE_ASPECT('',$,#8255,.U.); -#27264=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11561,#27263); -#27265=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8255); -#27266=NAME_ATTRIBUTE('single instance',#8256); -#27267=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8256,*); -#27268=PROPERTY_DEFINITION('',$,#27267); -#27269=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#27268); -#27270=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8256); -#27271=SHAPE_ASPECT('',$,#8256,.U.); -#27272=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11560,#27271); -#27273=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8256); -#27274=NAME_ATTRIBUTE('single instance',#8257); -#27275=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8257,*); -#27276=PROPERTY_DEFINITION('',$,#27275); -#27277=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#27276); -#27278=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8257); -#27279=SHAPE_ASPECT('',$,#8257,.U.); -#27280=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11567,#27279); -#27281=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8257); -#27282=NAME_ATTRIBUTE('single instance',#8258); -#27283=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8258,*); -#27284=PROPERTY_DEFINITION('',$,#27283); -#27285=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#27284); -#27286=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8258); -#27287=SHAPE_ASPECT('',$,#8258,.U.); -#27288=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11565,#27287); -#27289=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8258); -#27290=NAME_ATTRIBUTE('single instance',#8259); -#27291=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8259,*); -#27292=PROPERTY_DEFINITION('',$,#27291); -#27293=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#27292); -#27294=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8259); -#27295=SHAPE_ASPECT('',$,#8259,.U.); -#27296=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11563,#27295); -#27297=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8259); -#27298=NAME_ATTRIBUTE('single instance',#8260); -#27299=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8260,*); -#27300=PROPERTY_DEFINITION('',$,#27299); -#27301=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#27300); -#27302=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8260); -#27303=SHAPE_ASPECT('',$,#8260,.U.); -#27304=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11557,#27303); -#27305=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8260); -#27306=NAME_ATTRIBUTE('single instance',#8261); -#27307=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8261,*); -#27308=PROPERTY_DEFINITION('',$,#27307); -#27309=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#27308); -#27310=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8261); -#27311=SHAPE_ASPECT('',$,#8261,.U.); -#27312=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11556,#27311); -#27313=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8261); -#27314=NAME_ATTRIBUTE('single instance',#8262); -#27315=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8262,*); -#27316=PROPERTY_DEFINITION('',$,#27315); -#27317=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#27316); -#27318=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8262); -#27319=SHAPE_ASPECT('',$,#8262,.U.); -#27320=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11564,#27319); -#27321=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8262); -#27322=NAME_ATTRIBUTE('single instance',#8263); -#27323=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8263,*); -#27324=PROPERTY_DEFINITION('',$,#27323); -#27325=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#27324); -#27326=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8263); -#27327=SHAPE_ASPECT('',$,#8263,.U.); -#27328=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11566,#27327); -#27329=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8263); -#27330=NAME_ATTRIBUTE('single instance',#8264); -#27331=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8264,*); -#27332=PROPERTY_DEFINITION('',$,#27331); -#27333=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#27332); -#27334=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8264); -#27335=SHAPE_ASPECT('',$,#8264,.U.); -#27336=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11558,#27335); -#27337=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8264); -#27338=NAME_ATTRIBUTE('single instance',#8265); -#27339=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8265,*); -#27340=PROPERTY_DEFINITION('',$,#27339); -#27341=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#27340); -#27342=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8265); -#27343=SHAPE_ASPECT('',$,#8265,.U.); -#27344=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11559,#27343); -#27345=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8265); -#27346=NAME_ATTRIBUTE('single instance',#8266); -#27347=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8252,#7720,$,'',$,#8266,*); -#27348=PROPERTY_DEFINITION('',$,#27347); -#27349=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#27348); -#27350=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8267,#8266); -#27351=SHAPE_ASPECT('',$,#8266,.U.); -#27352=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11562,#27351); -#27353=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8266); -#27354=NAME_ATTRIBUTE('single instance',#8287); -#27355=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8286,#7895,$,'',$,#8287,*); -#27356=PROPERTY_DEFINITION('',$,#27355); -#27357=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#27356); -#27358=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8289,#8287); -#27359=SHAPE_ASPECT('',$,#8287,.U.); -#27360=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11568,#27359); -#27361=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8287); -#27362=NAME_ATTRIBUTE('single instance',#8288); -#27363=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8286,#7851,$,'',$,#8288,*); -#27364=PROPERTY_DEFINITION('',$,#27363); -#27365=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#27364); -#27366=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8289,#8288); -#27367=SHAPE_ASPECT('',$,#8288,.U.); -#27368=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10679,#27367); -#27369=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8288); -#27370=NAME_ATTRIBUTE('single instance',#8296); -#27371=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8296,*); -#27372=PROPERTY_DEFINITION('',$,#27371); -#27373=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#27372); -#27374=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8296); -#27375=SHAPE_ASPECT('',$,#8296,.U.); -#27376=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11576,#27375); -#27377=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8296); -#27378=NAME_ATTRIBUTE('single instance',#8297); -#27379=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8297,*); -#27380=PROPERTY_DEFINITION('',$,#27379); -#27381=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#27380); -#27382=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8297); -#27383=SHAPE_ASPECT('',$,#8297,.U.); -#27384=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11574,#27383); -#27385=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8297); -#27386=NAME_ATTRIBUTE('single instance',#8298); -#27387=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8298,*); -#27388=PROPERTY_DEFINITION('',$,#27387); -#27389=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#27388); -#27390=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8298); -#27391=SHAPE_ASPECT('',$,#8298,.U.); -#27392=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11573,#27391); -#27393=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8298); -#27394=NAME_ATTRIBUTE('single instance',#8299); -#27395=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8299,*); -#27396=PROPERTY_DEFINITION('',$,#27395); -#27397=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#27396); -#27398=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8299); -#27399=SHAPE_ASPECT('',$,#8299,.U.); -#27400=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11572,#27399); -#27401=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8299); -#27402=NAME_ATTRIBUTE('single instance',#8300); -#27403=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8300,*); -#27404=PROPERTY_DEFINITION('',$,#27403); -#27405=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#27404); -#27406=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8300); -#27407=SHAPE_ASPECT('',$,#8300,.U.); -#27408=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11579,#27407); -#27409=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8300); -#27410=NAME_ATTRIBUTE('single instance',#8301); -#27411=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8301,*); -#27412=PROPERTY_DEFINITION('',$,#27411); -#27413=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#27412); -#27414=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8301); -#27415=SHAPE_ASPECT('',$,#8301,.U.); -#27416=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11578,#27415); -#27417=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8301); -#27418=NAME_ATTRIBUTE('single instance',#8302); -#27419=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8302,*); -#27420=PROPERTY_DEFINITION('',$,#27419); -#27421=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#27420); -#27422=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8302); -#27423=SHAPE_ASPECT('',$,#8302,.U.); -#27424=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11577,#27423); -#27425=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8302); -#27426=NAME_ATTRIBUTE('single instance',#8303); -#27427=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8303,*); -#27428=PROPERTY_DEFINITION('',$,#27427); -#27429=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#27428); -#27430=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8303); -#27431=SHAPE_ASPECT('',$,#8303,.U.); -#27432=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11570,#27431); -#27433=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8303); -#27434=NAME_ATTRIBUTE('single instance',#8304); -#27435=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8304,*); -#27436=PROPERTY_DEFINITION('',$,#27435); -#27437=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#27436); -#27438=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8304); -#27439=SHAPE_ASPECT('',$,#8304,.U.); -#27440=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11569,#27439); -#27441=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8304); -#27442=NAME_ATTRIBUTE('single instance',#8305); -#27443=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8305,*); -#27444=PROPERTY_DEFINITION('',$,#27443); -#27445=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#27444); -#27446=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8305); -#27447=SHAPE_ASPECT('',$,#8305,.U.); -#27448=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10679,#27447); -#27449=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8305); -#27450=NAME_ATTRIBUTE('single instance',#8306); -#27451=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8306,*); -#27452=PROPERTY_DEFINITION('',$,#27451); -#27453=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#27452); -#27454=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8306); -#27455=SHAPE_ASPECT('',$,#8306,.U.); -#27456=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10681,#27455); -#27457=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8306); -#27458=NAME_ATTRIBUTE('single instance',#8307); -#27459=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8307,*); -#27460=PROPERTY_DEFINITION('',$,#27459); -#27461=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#27460); -#27462=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8307); -#27463=SHAPE_ASPECT('',$,#8307,.U.); -#27464=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10683,#27463); -#27465=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8307); -#27466=NAME_ATTRIBUTE('single instance',#8308); -#27467=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8308,*); -#27468=PROPERTY_DEFINITION('',$,#27467); -#27469=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#27468); -#27470=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8308); -#27471=SHAPE_ASPECT('',$,#8308,.U.); -#27472=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11571,#27471); -#27473=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8308); -#27474=NAME_ATTRIBUTE('single instance',#8309); -#27475=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8295,#7720,$,'',$,#8309,*); -#27476=PROPERTY_DEFINITION('',$,#27475); -#27477=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#27476); -#27478=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8310,#8309); -#27479=SHAPE_ASPECT('',$,#8309,.U.); -#27480=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11575,#27479); -#27481=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8309); -#27482=NAME_ATTRIBUTE('single instance',#8317); -#27483=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8316,#7851,$,'',$,#8317,*); -#27484=PROPERTY_DEFINITION('',$,#27483); -#27485=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#27484); -#27486=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8319,#8317); -#27487=SHAPE_ASPECT('',$,#8317,.U.); -#27488=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10677,#27487); -#27489=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8317); -#27490=NAME_ATTRIBUTE('single instance',#8318); -#27491=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8316,#7895,$,'',$,#8318,*); -#27492=PROPERTY_DEFINITION('',$,#27491); -#27493=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#27492); -#27494=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8319,#8318); -#27495=SHAPE_ASPECT('',$,#8318,.U.); -#27496=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11580,#27495); -#27497=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8318); -#27498=NAME_ATTRIBUTE('single instance',#8326); -#27499=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8326,*); -#27500=PROPERTY_DEFINITION('',$,#27499); -#27501=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#27500); -#27502=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8326); -#27503=SHAPE_ASPECT('',$,#8326,.U.); -#27504=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11587,#27503); -#27505=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8326); -#27506=NAME_ATTRIBUTE('single instance',#8327); -#27507=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8327,*); -#27508=PROPERTY_DEFINITION('',$,#27507); -#27509=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#27508); -#27510=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8327); -#27511=SHAPE_ASPECT('',$,#8327,.U.); -#27512=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10677,#27511); -#27513=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8327); -#27514=NAME_ATTRIBUTE('single instance',#8328); -#27515=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8328,*); -#27516=PROPERTY_DEFINITION('',$,#27515); -#27517=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#27516); -#27518=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8328); -#27519=SHAPE_ASPECT('',$,#8328,.U.); -#27520=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11585,#27519); -#27521=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8328); -#27522=NAME_ATTRIBUTE('single instance',#8329); -#27523=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8329,*); -#27524=PROPERTY_DEFINITION('',$,#27523); -#27525=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#27524); -#27526=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8329); -#27527=SHAPE_ASPECT('',$,#8329,.U.); -#27528=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11584,#27527); -#27529=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8329); -#27530=NAME_ATTRIBUTE('single instance',#8330); -#27531=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8330,*); -#27532=PROPERTY_DEFINITION('',$,#27531); -#27533=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#27532); -#27534=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8330); -#27535=SHAPE_ASPECT('',$,#8330,.U.); -#27536=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11591,#27535); -#27537=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8330); -#27538=NAME_ATTRIBUTE('single instance',#8331); -#27539=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8331,*); -#27540=PROPERTY_DEFINITION('',$,#27539); -#27541=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#27540); -#27542=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8331); -#27543=SHAPE_ASPECT('',$,#8331,.U.); -#27544=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11590,#27543); -#27545=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8331); -#27546=NAME_ATTRIBUTE('single instance',#8332); -#27547=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8332,*); -#27548=PROPERTY_DEFINITION('',$,#27547); -#27549=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#27548); -#27550=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8332); -#27551=SHAPE_ASPECT('',$,#8332,.U.); -#27552=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11588,#27551); -#27553=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8332); -#27554=NAME_ATTRIBUTE('single instance',#8333); -#27555=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8333,*); -#27556=PROPERTY_DEFINITION('',$,#27555); -#27557=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#27556); -#27558=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8333); -#27559=SHAPE_ASPECT('',$,#8333,.U.); -#27560=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11582,#27559); -#27561=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8333); -#27562=NAME_ATTRIBUTE('single instance',#8334); -#27563=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8334,*); -#27564=PROPERTY_DEFINITION('',$,#27563); -#27565=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#27564); -#27566=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8334); -#27567=SHAPE_ASPECT('',$,#8334,.U.); -#27568=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11581,#27567); -#27569=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8334); -#27570=NAME_ATTRIBUTE('single instance',#8335); -#27571=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8335,*); -#27572=PROPERTY_DEFINITION('',$,#27571); -#27573=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#27572); -#27574=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8335); -#27575=SHAPE_ASPECT('',$,#8335,.U.); -#27576=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11589,#27575); -#27577=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8335); -#27578=NAME_ATTRIBUTE('single instance',#8336); -#27579=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8336,*); -#27580=PROPERTY_DEFINITION('',$,#27579); -#27581=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#27580); -#27582=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8336); -#27583=SHAPE_ASPECT('',$,#8336,.U.); -#27584=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10681,#27583); -#27585=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8336); -#27586=NAME_ATTRIBUTE('single instance',#8337); -#27587=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8337,*); -#27588=PROPERTY_DEFINITION('',$,#27587); -#27589=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#27588); -#27590=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8337); -#27591=SHAPE_ASPECT('',$,#8337,.U.); -#27592=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10683,#27591); -#27593=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8337); -#27594=NAME_ATTRIBUTE('single instance',#8338); -#27595=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8338,*); -#27596=PROPERTY_DEFINITION('',$,#27595); -#27597=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#27596); -#27598=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8338); -#27599=SHAPE_ASPECT('',$,#8338,.U.); -#27600=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11583,#27599); -#27601=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8338); -#27602=NAME_ATTRIBUTE('single instance',#8339); -#27603=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8325,#7720,$,'',$,#8339,*); -#27604=PROPERTY_DEFINITION('',$,#27603); -#27605=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#27604); -#27606=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8340,#8339); -#27607=SHAPE_ASPECT('',$,#8339,.U.); -#27608=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11586,#27607); -#27609=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8339); -#27610=NAME_ATTRIBUTE('single instance',#8358); -#27611=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8358,*); -#27612=PROPERTY_DEFINITION('',$,#27611); -#27613=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#27612); -#27614=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8358); -#27615=SHAPE_ASPECT('',$,#8358,.U.); -#27616=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11599,#27615); -#27617=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8358); -#27618=NAME_ATTRIBUTE('single instance',#8359); -#27619=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8359,*); -#27620=PROPERTY_DEFINITION('',$,#27619); -#27621=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#27620); -#27622=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8359); -#27623=SHAPE_ASPECT('',$,#8359,.U.); -#27624=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11597,#27623); -#27625=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8359); -#27626=NAME_ATTRIBUTE('single instance',#8360); -#27627=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8360,*); -#27628=PROPERTY_DEFINITION('',$,#27627); -#27629=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#27628); -#27630=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8360); -#27631=SHAPE_ASPECT('',$,#8360,.U.); -#27632=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11596,#27631); -#27633=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8360); -#27634=NAME_ATTRIBUTE('single instance',#8361); -#27635=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8361,*); -#27636=PROPERTY_DEFINITION('',$,#27635); -#27637=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#27636); -#27638=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8361); -#27639=SHAPE_ASPECT('',$,#8361,.U.); -#27640=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11595,#27639); -#27641=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8361); -#27642=NAME_ATTRIBUTE('single instance',#8362); -#27643=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8362,*); -#27644=PROPERTY_DEFINITION('',$,#27643); -#27645=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#27644); -#27646=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8362); -#27647=SHAPE_ASPECT('',$,#8362,.U.); -#27648=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11603,#27647); -#27649=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8362); -#27650=NAME_ATTRIBUTE('single instance',#8363); -#27651=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8363,*); -#27652=PROPERTY_DEFINITION('',$,#27651); -#27653=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#27652); -#27654=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8363); -#27655=SHAPE_ASPECT('',$,#8363,.U.); -#27656=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11601,#27655); -#27657=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8363); -#27658=NAME_ATTRIBUTE('single instance',#8364); -#27659=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8364,*); -#27660=PROPERTY_DEFINITION('',$,#27659); -#27661=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#27660); -#27662=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8364); -#27663=SHAPE_ASPECT('',$,#8364,.U.); -#27664=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11600,#27663); -#27665=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8364); -#27666=NAME_ATTRIBUTE('single instance',#8365); -#27667=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8365,*); -#27668=PROPERTY_DEFINITION('',$,#27667); -#27669=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#27668); -#27670=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8365); -#27671=SHAPE_ASPECT('',$,#8365,.U.); -#27672=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11592,#27671); -#27673=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8365); -#27674=NAME_ATTRIBUTE('single instance',#8366); -#27675=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8366,*); -#27676=PROPERTY_DEFINITION('',$,#27675); -#27677=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#27676); -#27678=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8366); -#27679=SHAPE_ASPECT('',$,#8366,.U.); -#27680=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10759,#27679); -#27681=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8366); -#27682=NAME_ATTRIBUTE('single instance',#8367); -#27683=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8367,*); -#27684=PROPERTY_DEFINITION('',$,#27683); -#27685=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#27684); -#27686=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8367); -#27687=SHAPE_ASPECT('',$,#8367,.U.); -#27688=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10757,#27687); -#27689=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8367); -#27690=NAME_ATTRIBUTE('single instance',#8368); -#27691=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8368,*); -#27692=PROPERTY_DEFINITION('',$,#27691); -#27693=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#27692); -#27694=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8368); -#27695=SHAPE_ASPECT('',$,#8368,.U.); -#27696=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11602,#27695); -#27697=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8368); -#27698=NAME_ATTRIBUTE('single instance',#8369); -#27699=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8369,*); -#27700=PROPERTY_DEFINITION('',$,#27699); -#27701=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#27700); -#27702=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8369); -#27703=SHAPE_ASPECT('',$,#8369,.U.); -#27704=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11593,#27703); -#27705=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8369); -#27706=NAME_ATTRIBUTE('single instance',#8370); -#27707=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8370,*); -#27708=PROPERTY_DEFINITION('',$,#27707); -#27709=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#27708); -#27710=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8370); -#27711=SHAPE_ASPECT('',$,#8370,.U.); -#27712=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11594,#27711); -#27713=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8370); -#27714=NAME_ATTRIBUTE('single instance',#8371); -#27715=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8357,#7720,$,'',$,#8371,*); -#27716=PROPERTY_DEFINITION('',$,#27715); -#27717=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#27716); -#27718=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8372,#8371); -#27719=SHAPE_ASPECT('',$,#8371,.U.); -#27720=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11598,#27719); -#27721=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8371); -#27722=NAME_ATTRIBUTE('single instance',#8378); -#27723=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8378,*); -#27724=PROPERTY_DEFINITION('',$,#27723); -#27725=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#27724); -#27726=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8378); -#27727=SHAPE_ASPECT('',$,#8378,.U.); -#27728=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11611,#27727); -#27729=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8378); -#27730=NAME_ATTRIBUTE('single instance',#8379); -#27731=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8379,*); -#27732=PROPERTY_DEFINITION('',$,#27731); -#27733=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#27732); -#27734=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8379); -#27735=SHAPE_ASPECT('',$,#8379,.U.); -#27736=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10755,#27735); -#27737=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8379); -#27738=NAME_ATTRIBUTE('single instance',#8380); -#27739=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8380,*); -#27740=PROPERTY_DEFINITION('',$,#27739); -#27741=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#27740); -#27742=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8380); -#27743=SHAPE_ASPECT('',$,#8380,.U.); -#27744=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11609,#27743); -#27745=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8380); -#27746=NAME_ATTRIBUTE('single instance',#8381); -#27747=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8381,*); -#27748=PROPERTY_DEFINITION('',$,#27747); -#27749=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#27748); -#27750=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8381); -#27751=SHAPE_ASPECT('',$,#8381,.U.); -#27752=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11608,#27751); -#27753=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8381); -#27754=NAME_ATTRIBUTE('single instance',#8382); -#27755=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8382,*); -#27756=PROPERTY_DEFINITION('',$,#27755); -#27757=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#27756); -#27758=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8382); -#27759=SHAPE_ASPECT('',$,#8382,.U.); -#27760=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11616,#27759); -#27761=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8382); -#27762=NAME_ATTRIBUTE('single instance',#8383); -#27763=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8383,*); -#27764=PROPERTY_DEFINITION('',$,#27763); -#27765=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#27764); -#27766=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8383); -#27767=SHAPE_ASPECT('',$,#8383,.U.); -#27768=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11614,#27767); -#27769=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8383); -#27770=NAME_ATTRIBUTE('single instance',#8384); -#27771=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8384,*); -#27772=PROPERTY_DEFINITION('',$,#27771); -#27773=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#27772); -#27774=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8384); -#27775=SHAPE_ASPECT('',$,#8384,.U.); -#27776=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11612,#27775); -#27777=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8384); -#27778=NAME_ATTRIBUTE('single instance',#8385); -#27779=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8385,*); -#27780=PROPERTY_DEFINITION('',$,#27779); -#27781=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#27780); -#27782=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8385); -#27783=SHAPE_ASPECT('',$,#8385,.U.); -#27784=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11605,#27783); -#27785=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8385); -#27786=NAME_ATTRIBUTE('single instance',#8386); -#27787=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8386,*); -#27788=PROPERTY_DEFINITION('',$,#27787); -#27789=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#27788); -#27790=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8386); -#27791=SHAPE_ASPECT('',$,#8386,.U.); -#27792=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11604,#27791); -#27793=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8386); -#27794=NAME_ATTRIBUTE('single instance',#8387); -#27795=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8387,*); -#27796=PROPERTY_DEFINITION('',$,#27795); -#27797=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#27796); -#27798=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8387); -#27799=SHAPE_ASPECT('',$,#8387,.U.); -#27800=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11613,#27799); -#27801=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8387); -#27802=NAME_ATTRIBUTE('single instance',#8388); -#27803=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8388,*); -#27804=PROPERTY_DEFINITION('',$,#27803); -#27805=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#27804); -#27806=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8388); -#27807=SHAPE_ASPECT('',$,#8388,.U.); -#27808=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11615,#27807); -#27809=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8388); -#27810=NAME_ATTRIBUTE('single instance',#8389); -#27811=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8389,*); -#27812=PROPERTY_DEFINITION('',$,#27811); -#27813=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#27812); -#27814=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8389); -#27815=SHAPE_ASPECT('',$,#8389,.U.); -#27816=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11606,#27815); -#27817=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8389); -#27818=NAME_ATTRIBUTE('single instance',#8390); -#27819=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8390,*); -#27820=PROPERTY_DEFINITION('',$,#27819); -#27821=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#27820); -#27822=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8390); -#27823=SHAPE_ASPECT('',$,#8390,.U.); -#27824=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11607,#27823); -#27825=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8390); -#27826=NAME_ATTRIBUTE('single instance',#8391); -#27827=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8377,#7720,$,'',$,#8391,*); -#27828=PROPERTY_DEFINITION('',$,#27827); -#27829=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#27828); -#27830=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8392,#8391); -#27831=SHAPE_ASPECT('',$,#8391,.U.); -#27832=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11610,#27831); -#27833=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8391); -#27834=NAME_ATTRIBUTE('single instance',#8399); -#27835=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8398,#7851,$,'',$,#8399,*); -#27836=PROPERTY_DEFINITION('',$,#27835); -#27837=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#27836); -#27838=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8401,#8399); -#27839=SHAPE_ASPECT('',$,#8399,.U.); -#27840=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10755,#27839); -#27841=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8399); -#27842=NAME_ATTRIBUTE('single instance',#8400); -#27843=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8398,#7895,$,'',$,#8400,*); -#27844=PROPERTY_DEFINITION('',$,#27843); -#27845=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#27844); -#27846=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8401,#8400); -#27847=SHAPE_ASPECT('',$,#8400,.U.); -#27848=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11617,#27847); -#27849=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8400); -#27850=NAME_ATTRIBUTE('single instance',#8409); -#27851=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8408,#7895,$,'',$,#8409,*); -#27852=PROPERTY_DEFINITION('',$,#27851); -#27853=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#27852); -#27854=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8411,#8409); -#27855=SHAPE_ASPECT('',$,#8409,.U.); -#27856=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11618,#27855); -#27857=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8409); -#27858=NAME_ATTRIBUTE('single instance',#8410); -#27859=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8408,#7851,$,'',$,#8410,*); -#27860=PROPERTY_DEFINITION('',$,#27859); -#27861=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#27860); -#27862=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8411,#8410); -#27863=SHAPE_ASPECT('',$,#8410,.U.); -#27864=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10757,#27863); -#27865=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8410); -#27866=NAME_ATTRIBUTE('single instance',#8432); -#27867=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8431,#7851,$,'',$,#8432,*); -#27868=PROPERTY_DEFINITION('',$,#27867); -#27869=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#27868); -#27870=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8434,#8432); -#27871=SHAPE_ASPECT('',$,#8432,.U.); -#27872=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10807,#27871); -#27873=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8432); -#27874=NAME_ATTRIBUTE('single instance',#8433); -#27875=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8431,#7895,$,'',$,#8433,*); -#27876=PROPERTY_DEFINITION('',$,#27875); -#27877=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#27876); -#27878=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8434,#8433); -#27879=SHAPE_ASPECT('',$,#8433,.U.); -#27880=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11619,#27879); -#27881=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8433); -#27882=NAME_ATTRIBUTE('single instance',#8441); -#27883=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8441,*); -#27884=PROPERTY_DEFINITION('',$,#27883); -#27885=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#27884); -#27886=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8441); -#27887=SHAPE_ASPECT('',$,#8441,.U.); -#27888=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11627,#27887); -#27889=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8441); -#27890=NAME_ATTRIBUTE('single instance',#8442); -#27891=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8442,*); -#27892=PROPERTY_DEFINITION('',$,#27891); -#27893=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#27892); -#27894=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8442); -#27895=SHAPE_ASPECT('',$,#8442,.U.); -#27896=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10807,#27895); -#27897=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8442); -#27898=NAME_ATTRIBUTE('single instance',#8443); -#27899=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8443,*); -#27900=PROPERTY_DEFINITION('',$,#27899); -#27901=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#27900); -#27902=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8443); -#27903=SHAPE_ASPECT('',$,#8443,.U.); -#27904=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11625,#27903); -#27905=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8443); -#27906=NAME_ATTRIBUTE('single instance',#8444); -#27907=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8444,*); -#27908=PROPERTY_DEFINITION('',$,#27907); -#27909=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#27908); -#27910=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8444); -#27911=SHAPE_ASPECT('',$,#8444,.U.); -#27912=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11624,#27911); -#27913=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8444); -#27914=NAME_ATTRIBUTE('single instance',#8445); -#27915=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8445,*); -#27916=PROPERTY_DEFINITION('',$,#27915); -#27917=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#27916); -#27918=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8445); -#27919=SHAPE_ASPECT('',$,#8445,.U.); -#27920=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11631,#27919); -#27921=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8445); -#27922=NAME_ATTRIBUTE('single instance',#8446); -#27923=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8446,*); -#27924=PROPERTY_DEFINITION('',$,#27923); -#27925=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#27924); -#27926=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8446); -#27927=SHAPE_ASPECT('',$,#8446,.U.); -#27928=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11629,#27927); -#27929=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8446); -#27930=NAME_ATTRIBUTE('single instance',#8447); -#27931=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8447,*); -#27932=PROPERTY_DEFINITION('',$,#27931); -#27933=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#27932); -#27934=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8447); -#27935=SHAPE_ASPECT('',$,#8447,.U.); -#27936=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10809,#27935); -#27937=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8447); -#27938=NAME_ATTRIBUTE('single instance',#8448); -#27939=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8448,*); -#27940=PROPERTY_DEFINITION('',$,#27939); -#27941=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#27940); -#27942=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8448); -#27943=SHAPE_ASPECT('',$,#8448,.U.); -#27944=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11621,#27943); -#27945=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8448); -#27946=NAME_ATTRIBUTE('single instance',#8449); -#27947=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8449,*); -#27948=PROPERTY_DEFINITION('',$,#27947); -#27949=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#27948); -#27950=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8449); -#27951=SHAPE_ASPECT('',$,#8449,.U.); -#27952=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11620,#27951); -#27953=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8449); -#27954=NAME_ATTRIBUTE('single instance',#8450); -#27955=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8450,*); -#27956=PROPERTY_DEFINITION('',$,#27955); -#27957=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#27956); -#27958=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8450); -#27959=SHAPE_ASPECT('',$,#8450,.U.); -#27960=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11628,#27959); -#27961=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8450); -#27962=NAME_ATTRIBUTE('single instance',#8451); -#27963=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8451,*); -#27964=PROPERTY_DEFINITION('',$,#27963); -#27965=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#27964); -#27966=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8451); -#27967=SHAPE_ASPECT('',$,#8451,.U.); -#27968=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11630,#27967); -#27969=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8451); -#27970=NAME_ATTRIBUTE('single instance',#8452); -#27971=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8452,*); -#27972=PROPERTY_DEFINITION('',$,#27971); -#27973=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#27972); -#27974=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8452); -#27975=SHAPE_ASPECT('',$,#8452,.U.); -#27976=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11622,#27975); -#27977=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8452); -#27978=NAME_ATTRIBUTE('single instance',#8453); -#27979=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8453,*); -#27980=PROPERTY_DEFINITION('',$,#27979); -#27981=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#27980); -#27982=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8453); -#27983=SHAPE_ASPECT('',$,#8453,.U.); -#27984=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11623,#27983); -#27985=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8453); -#27986=NAME_ATTRIBUTE('single instance',#8454); -#27987=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8440,#7720,$,'',$,#8454,*); -#27988=PROPERTY_DEFINITION('',$,#27987); -#27989=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#27988); -#27990=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8455,#8454); -#27991=SHAPE_ASPECT('',$,#8454,.U.); -#27992=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11626,#27991); -#27993=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8454); -#27994=NAME_ATTRIBUTE('single instance',#8471); -#27995=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8470,#7895,$,'',$,#8471,*); -#27996=PROPERTY_DEFINITION('',$,#27995); -#27997=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#27996); -#27998=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8473,#8471); -#27999=SHAPE_ASPECT('',$,#8471,.U.); -#28000=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11632,#27999); -#28001=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8471); -#28002=NAME_ATTRIBUTE('single instance',#8472); -#28003=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8470,#7851,$,'',$,#8472,*); -#28004=PROPERTY_DEFINITION('',$,#28003); -#28005=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#28004); -#28006=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8473,#8472); -#28007=SHAPE_ASPECT('',$,#8472,.U.); -#28008=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10848,#28007); -#28009=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8472); -#28010=NAME_ATTRIBUTE('single instance',#8480); -#28011=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8480,*); -#28012=PROPERTY_DEFINITION('',$,#28011); -#28013=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#28012); -#28014=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8480); -#28015=SHAPE_ASPECT('',$,#8480,.U.); -#28016=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10847,#28015); -#28017=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8480); -#28018=NAME_ATTRIBUTE('single instance',#8481); -#28019=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8481,*); -#28020=PROPERTY_DEFINITION('',$,#28019); -#28021=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#28020); -#28022=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8481); -#28023=SHAPE_ASPECT('',$,#8481,.U.); -#28024=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11639,#28023); -#28025=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8481); -#28026=NAME_ATTRIBUTE('single instance',#8482); -#28027=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8482,*); -#28028=PROPERTY_DEFINITION('',$,#28027); -#28029=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#28028); -#28030=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8482); -#28031=SHAPE_ASPECT('',$,#8482,.U.); -#28032=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11638,#28031); -#28033=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8482); -#28034=NAME_ATTRIBUTE('single instance',#8483); -#28035=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8483,*); -#28036=PROPERTY_DEFINITION('',$,#28035); -#28037=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#28036); -#28038=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8483); -#28039=SHAPE_ASPECT('',$,#8483,.U.); -#28040=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11637,#28039); -#28041=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8483); -#28042=NAME_ATTRIBUTE('single instance',#8484); -#28043=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8484,*); -#28044=PROPERTY_DEFINITION('',$,#28043); -#28045=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#28044); -#28046=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8484); -#28047=SHAPE_ASPECT('',$,#8484,.U.); -#28048=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11644,#28047); -#28049=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8484); -#28050=NAME_ATTRIBUTE('single instance',#8485); -#28051=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8485,*); -#28052=PROPERTY_DEFINITION('',$,#28051); -#28053=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#28052); -#28054=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8485); -#28055=SHAPE_ASPECT('',$,#8485,.U.); -#28056=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11642,#28055); -#28057=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8485); -#28058=NAME_ATTRIBUTE('single instance',#8486); -#28059=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8486,*); -#28060=PROPERTY_DEFINITION('',$,#28059); -#28061=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#28060); -#28062=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8486); -#28063=SHAPE_ASPECT('',$,#8486,.U.); -#28064=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11641,#28063); -#28065=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8486); -#28066=NAME_ATTRIBUTE('single instance',#8487); -#28067=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8487,*); -#28068=PROPERTY_DEFINITION('',$,#28067); -#28069=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#28068); -#28070=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8487); -#28071=SHAPE_ASPECT('',$,#8487,.U.); -#28072=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11634,#28071); -#28073=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8487); -#28074=NAME_ATTRIBUTE('single instance',#8488); -#28075=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8488,*); -#28076=PROPERTY_DEFINITION('',$,#28075); -#28077=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#28076); -#28078=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8488); -#28079=SHAPE_ASPECT('',$,#8488,.U.); -#28080=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11633,#28079); -#28081=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8488); -#28082=NAME_ATTRIBUTE('single instance',#8489); -#28083=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8489,*); -#28084=PROPERTY_DEFINITION('',$,#28083); -#28085=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#28084); -#28086=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8489); -#28087=SHAPE_ASPECT('',$,#8489,.U.); -#28088=SHAPE_ASPECT_RELATIONSHIP('implementation','',#10848,#28087); -#28089=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8489); -#28090=NAME_ATTRIBUTE('single instance',#8490); -#28091=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8490,*); -#28092=PROPERTY_DEFINITION('',$,#28091); -#28093=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#28092); -#28094=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8490); -#28095=SHAPE_ASPECT('',$,#8490,.U.); -#28096=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11643,#28095); -#28097=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8490); -#28098=NAME_ATTRIBUTE('single instance',#8491); -#28099=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8491,*); -#28100=PROPERTY_DEFINITION('',$,#28099); -#28101=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#28100); -#28102=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8491); -#28103=SHAPE_ASPECT('',$,#8491,.U.); -#28104=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11635,#28103); -#28105=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8491); -#28106=NAME_ATTRIBUTE('single instance',#8492); -#28107=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8492,*); -#28108=PROPERTY_DEFINITION('',$,#28107); -#28109=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#28108); -#28110=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8492); -#28111=SHAPE_ASPECT('',$,#8492,.U.); -#28112=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11636,#28111); -#28113=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8492); -#28114=NAME_ATTRIBUTE('single instance',#8493); -#28115=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8479,#7720,$,'',$,#8493,*); -#28116=PROPERTY_DEFINITION('',$,#28115); -#28117=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#28116); -#28118=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8494,#8493); -#28119=SHAPE_ASPECT('',$,#8493,.U.); -#28120=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11640,#28119); -#28121=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8493); -#28122=NAME_ATTRIBUTE('single instance',#8506); -#28123=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8506,*); -#28124=PROPERTY_DEFINITION('',$,#28123); -#28125=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#28124); -#28126=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8506); -#28127=SHAPE_ASPECT('',$,#8506,.U.); -#28128=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11650,#28127); -#28129=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8506); -#28130=NAME_ATTRIBUTE('single instance',#8507); -#28131=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8507,*); -#28132=PROPERTY_DEFINITION('',$,#28131); -#28133=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#28132); -#28134=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8507); -#28135=SHAPE_ASPECT('',$,#8507,.U.); -#28136=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#28135); -#28137=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8507); -#28138=NAME_ATTRIBUTE('single instance',#8508); -#28139=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8508,*); -#28140=PROPERTY_DEFINITION('',$,#28139); -#28141=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#28140); -#28142=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8508); -#28143=SHAPE_ASPECT('',$,#8508,.U.); -#28144=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11649,#28143); -#28145=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8508); -#28146=NAME_ATTRIBUTE('single instance',#8509); -#28147=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8509,*); -#28148=PROPERTY_DEFINITION('',$,#28147); -#28149=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#28148); -#28150=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8509); -#28151=SHAPE_ASPECT('',$,#8509,.U.); -#28152=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11648,#28151); -#28153=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8509); -#28154=NAME_ATTRIBUTE('single instance',#8510); -#28155=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8510,*); -#28156=PROPERTY_DEFINITION('',$,#28155); -#28157=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#28156); -#28158=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8510); -#28159=SHAPE_ASPECT('',$,#8510,.U.); -#28160=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11653,#28159); -#28161=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8510); -#28162=NAME_ATTRIBUTE('single instance',#8511); -#28163=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8511,*); -#28164=PROPERTY_DEFINITION('',$,#28163); -#28165=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#28164); -#28166=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8511); -#28167=SHAPE_ASPECT('',$,#8511,.U.); -#28168=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#28167); -#28169=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8511); -#28170=NAME_ATTRIBUTE('single instance',#8512); -#28171=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8512,*); -#28172=PROPERTY_DEFINITION('',$,#28171); -#28173=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#28172); -#28174=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8512); -#28175=SHAPE_ASPECT('',$,#8512,.U.); -#28176=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11651,#28175); -#28177=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8512); -#28178=NAME_ATTRIBUTE('single instance',#8513); -#28179=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8513,*); -#28180=PROPERTY_DEFINITION('',$,#28179); -#28181=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#28180); -#28182=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8513); -#28183=SHAPE_ASPECT('',$,#8513,.U.); -#28184=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11646,#28183); -#28185=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8513); -#28186=NAME_ATTRIBUTE('single instance',#8514); -#28187=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8514,*); -#28188=PROPERTY_DEFINITION('',$,#28187); -#28189=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#28188); -#28190=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8514); -#28191=SHAPE_ASPECT('',$,#8514,.U.); -#28192=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11645,#28191); -#28193=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8514); -#28194=NAME_ATTRIBUTE('single instance',#8515); -#28195=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8515,*); -#28196=PROPERTY_DEFINITION('',$,#28195); -#28197=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#28196); -#28198=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8515); -#28199=SHAPE_ASPECT('',$,#8515,.U.); -#28200=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#28199); -#28201=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8515); -#28202=NAME_ATTRIBUTE('single instance',#8516); -#28203=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8516,*); -#28204=PROPERTY_DEFINITION('',$,#28203); -#28205=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#28204); -#28206=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8516); -#28207=SHAPE_ASPECT('',$,#8516,.U.); -#28208=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11652,#28207); -#28209=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8516); -#28210=NAME_ATTRIBUTE('single instance',#8517); -#28211=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8517,*); -#28212=PROPERTY_DEFINITION('',$,#28211); -#28213=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#28212); -#28214=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8517); -#28215=SHAPE_ASPECT('',$,#8517,.U.); -#28216=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11647,#28215); -#28217=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8517); -#28218=NAME_ATTRIBUTE('single instance',#8518); -#28219=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8518,*); -#28220=PROPERTY_DEFINITION('',$,#28219); -#28221=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#28220); -#28222=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8518); -#28223=SHAPE_ASPECT('',$,#8518,.U.); -#28224=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#28223); -#28225=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8518); -#28226=NAME_ATTRIBUTE('single instance',#8519); -#28227=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8505,#7720,$,'',$,#8519,*); -#28228=PROPERTY_DEFINITION('',$,#28227); -#28229=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#28228); -#28230=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8520,#8519); -#28231=SHAPE_ASPECT('',$,#8519,.U.); -#28232=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#28231); -#28233=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8519); -#28234=NAME_ATTRIBUTE('single instance',#8526); -#28235=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8526,*); -#28236=PROPERTY_DEFINITION('',$,#28235); -#28237=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#28236); -#28238=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8526); -#28239=SHAPE_ASPECT('',$,#8526,.U.); -#28240=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11660,#28239); -#28241=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8526); -#28242=NAME_ATTRIBUTE('single instance',#8527); -#28243=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8527,*); -#28244=PROPERTY_DEFINITION('',$,#28243); -#28245=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#28244); -#28246=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8527); -#28247=SHAPE_ASPECT('',$,#8527,.U.); -#28248=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11659,#28247); -#28249=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8527); -#28250=NAME_ATTRIBUTE('single instance',#8528); -#28251=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8528,*); -#28252=PROPERTY_DEFINITION('',$,#28251); -#28253=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#28252); -#28254=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8528); -#28255=SHAPE_ASPECT('',$,#8528,.U.); -#28256=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11658,#28255); -#28257=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8528); -#28258=NAME_ATTRIBUTE('single instance',#8529); -#28259=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8529,*); -#28260=PROPERTY_DEFINITION('',$,#28259); -#28261=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#28260); -#28262=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8529); -#28263=SHAPE_ASPECT('',$,#8529,.U.); -#28264=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11657,#28263); -#28265=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8529); -#28266=NAME_ATTRIBUTE('single instance',#8530); -#28267=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8530,*); -#28268=PROPERTY_DEFINITION('',$,#28267); -#28269=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#28268); -#28270=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8530); -#28271=SHAPE_ASPECT('',$,#8530,.U.); -#28272=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11664,#28271); -#28273=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8530); -#28274=NAME_ATTRIBUTE('single instance',#8531); -#28275=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8531,*); -#28276=PROPERTY_DEFINITION('',$,#28275); -#28277=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#28276); -#28278=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8531); -#28279=SHAPE_ASPECT('',$,#8531,.U.); -#28280=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#28279); -#28281=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8531); -#28282=NAME_ATTRIBUTE('single instance',#8532); -#28283=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8532,*); -#28284=PROPERTY_DEFINITION('',$,#28283); -#28285=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#28284); -#28286=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8532); -#28287=SHAPE_ASPECT('',$,#8532,.U.); -#28288=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#28287); -#28289=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8532); -#28290=NAME_ATTRIBUTE('single instance',#8533); -#28291=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8533,*); -#28292=PROPERTY_DEFINITION('',$,#28291); -#28293=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#28292); -#28294=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8533); -#28295=SHAPE_ASPECT('',$,#8533,.U.); -#28296=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11661,#28295); -#28297=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8533); -#28298=NAME_ATTRIBUTE('single instance',#8534); -#28299=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8534,*); -#28300=PROPERTY_DEFINITION('',$,#28299); -#28301=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#28300); -#28302=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8534); -#28303=SHAPE_ASPECT('',$,#8534,.U.); -#28304=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11655,#28303); -#28305=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8534); -#28306=NAME_ATTRIBUTE('single instance',#8535); -#28307=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8535,*); -#28308=PROPERTY_DEFINITION('',$,#28307); -#28309=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#28308); -#28310=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8535); -#28311=SHAPE_ASPECT('',$,#8535,.U.); -#28312=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11654,#28311); -#28313=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8535); -#28314=NAME_ATTRIBUTE('single instance',#8536); -#28315=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8536,*); -#28316=PROPERTY_DEFINITION('',$,#28315); -#28317=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#28316); -#28318=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8536); -#28319=SHAPE_ASPECT('',$,#8536,.U.); -#28320=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#28319); -#28321=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8536); -#28322=NAME_ATTRIBUTE('single instance',#8537); -#28323=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8537,*); -#28324=PROPERTY_DEFINITION('',$,#28323); -#28325=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#28324); -#28326=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8537); -#28327=SHAPE_ASPECT('',$,#8537,.U.); -#28328=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11662,#28327); -#28329=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8537); -#28330=NAME_ATTRIBUTE('single instance',#8538); -#28331=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8538,*); -#28332=PROPERTY_DEFINITION('',$,#28331); -#28333=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#28332); -#28334=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8538); -#28335=SHAPE_ASPECT('',$,#8538,.U.); -#28336=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11663,#28335); -#28337=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8538); -#28338=NAME_ATTRIBUTE('single instance',#8539); -#28339=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8539,*); -#28340=PROPERTY_DEFINITION('',$,#28339); -#28341=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#28340); -#28342=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8539); -#28343=SHAPE_ASPECT('',$,#8539,.U.); -#28344=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11656,#28343); -#28345=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8539); -#28346=NAME_ATTRIBUTE('single instance',#8540); -#28347=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8540,*); -#28348=PROPERTY_DEFINITION('',$,#28347); -#28349=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#28348); -#28350=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8540); -#28351=SHAPE_ASPECT('',$,#8540,.U.); -#28352=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#28351); -#28353=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8540); -#28354=NAME_ATTRIBUTE('single instance',#8541); -#28355=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2285,$,'',$,#8541,*); -#28356=PROPERTY_DEFINITION('',$,#28355); -#28357=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#28356); -#28358=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8542,#8541); -#28359=SHAPE_ASPECT('',$,#8541,.U.); -#28360=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#28359); -#28361=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8541); -#28362=NAME_ATTRIBUTE('single instance',#8551); -#28363=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8550,#7895,$,'',$,#8551,*); -#28364=PROPERTY_DEFINITION('',$,#28363); -#28365=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#28364); -#28366=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8553,#8551); -#28367=SHAPE_ASPECT('',$,#8551,.U.); -#28368=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11665,#28367); -#28369=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8551); -#28370=NAME_ATTRIBUTE('single instance',#8552); -#28371=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8550,#7851,$,'',$,#8552,*); -#28372=PROPERTY_DEFINITION('',$,#28371); -#28373=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#28372); -#28374=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8553,#8552); -#28375=SHAPE_ASPECT('',$,#8552,.U.); -#28376=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#28375); -#28377=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8552); -#28378=NAME_ATTRIBUTE('single instance',#8561); -#28379=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8560,#7851,$,'',$,#8561,*); -#28380=PROPERTY_DEFINITION('',$,#28379); -#28381=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#28380); -#28382=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8563,#8561); -#28383=SHAPE_ASPECT('',$,#8561,.U.); -#28384=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#28383); -#28385=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8561); -#28386=NAME_ATTRIBUTE('single instance',#8562); -#28387=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8560,#7895,$,'',$,#8562,*); -#28388=PROPERTY_DEFINITION('',$,#28387); -#28389=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#28388); -#28390=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8563,#8562); -#28391=SHAPE_ASPECT('',$,#8562,.U.); -#28392=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11666,#28391); -#28393=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8562); -#28394=NAME_ATTRIBUTE('single instance',#8570); -#28395=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8570,*); -#28396=PROPERTY_DEFINITION('',$,#28395); -#28397=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#28396); -#28398=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8570); -#28399=SHAPE_ASPECT('',$,#8570,.U.); -#28400=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11673,#28399); -#28401=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8570); -#28402=NAME_ATTRIBUTE('single instance',#8571); -#28403=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8571,*); -#28404=PROPERTY_DEFINITION('',$,#28403); -#28405=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#28404); -#28406=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8571); -#28407=SHAPE_ASPECT('',$,#8571,.U.); -#28408=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11672,#28407); -#28409=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8571); -#28410=NAME_ATTRIBUTE('single instance',#8572); -#28411=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8572,*); -#28412=PROPERTY_DEFINITION('',$,#28411); -#28413=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#28412); -#28414=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8572); -#28415=SHAPE_ASPECT('',$,#8572,.U.); -#28416=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11671,#28415); -#28417=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8572); -#28418=NAME_ATTRIBUTE('single instance',#8573); -#28419=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8573,*); -#28420=PROPERTY_DEFINITION('',$,#28419); -#28421=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#28420); -#28422=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8573); -#28423=SHAPE_ASPECT('',$,#8573,.U.); -#28424=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11670,#28423); -#28425=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8573); -#28426=NAME_ATTRIBUTE('single instance',#8574); -#28427=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8574,*); -#28428=PROPERTY_DEFINITION('',$,#28427); -#28429=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#28428); -#28430=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8574); -#28431=SHAPE_ASPECT('',$,#8574,.U.); -#28432=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11677,#28431); -#28433=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8574); -#28434=NAME_ATTRIBUTE('single instance',#8575); -#28435=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8575,*); -#28436=PROPERTY_DEFINITION('',$,#28435); -#28437=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#28436); -#28438=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8575); -#28439=SHAPE_ASPECT('',$,#8575,.U.); -#28440=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#28439); -#28441=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8575); -#28442=NAME_ATTRIBUTE('single instance',#8576); -#28443=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8576,*); -#28444=PROPERTY_DEFINITION('',$,#28443); -#28445=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#28444); -#28446=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8576); -#28447=SHAPE_ASPECT('',$,#8576,.U.); -#28448=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#28447); -#28449=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8576); -#28450=NAME_ATTRIBUTE('single instance',#8577); -#28451=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8577,*); -#28452=PROPERTY_DEFINITION('',$,#28451); -#28453=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#28452); -#28454=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8577); -#28455=SHAPE_ASPECT('',$,#8577,.U.); -#28456=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11674,#28455); -#28457=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8577); -#28458=NAME_ATTRIBUTE('single instance',#8578); -#28459=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8578,*); -#28460=PROPERTY_DEFINITION('',$,#28459); -#28461=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#28460); -#28462=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8578); -#28463=SHAPE_ASPECT('',$,#8578,.U.); -#28464=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11668,#28463); -#28465=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8578); -#28466=NAME_ATTRIBUTE('single instance',#8579); -#28467=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8579,*); -#28468=PROPERTY_DEFINITION('',$,#28467); -#28469=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#28468); -#28470=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8579); -#28471=SHAPE_ASPECT('',$,#8579,.U.); -#28472=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11667,#28471); -#28473=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8579); -#28474=NAME_ATTRIBUTE('single instance',#8580); -#28475=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8580,*); -#28476=PROPERTY_DEFINITION('',$,#28475); -#28477=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#28476); -#28478=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8580); -#28479=SHAPE_ASPECT('',$,#8580,.U.); -#28480=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#28479); -#28481=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8580); -#28482=NAME_ATTRIBUTE('single instance',#8581); -#28483=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8581,*); -#28484=PROPERTY_DEFINITION('',$,#28483); -#28485=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#28484); -#28486=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8581); -#28487=SHAPE_ASPECT('',$,#8581,.U.); -#28488=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11675,#28487); -#28489=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8581); -#28490=NAME_ATTRIBUTE('single instance',#8582); -#28491=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8582,*); -#28492=PROPERTY_DEFINITION('',$,#28491); -#28493=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#28492); -#28494=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8582); -#28495=SHAPE_ASPECT('',$,#8582,.U.); -#28496=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11676,#28495); -#28497=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8582); -#28498=NAME_ATTRIBUTE('single instance',#8583); -#28499=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8583,*); -#28500=PROPERTY_DEFINITION('',$,#28499); -#28501=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#28500); -#28502=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8583); -#28503=SHAPE_ASPECT('',$,#8583,.U.); -#28504=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11669,#28503); -#28505=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8583); -#28506=NAME_ATTRIBUTE('single instance',#8584); -#28507=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8584,*); -#28508=PROPERTY_DEFINITION('',$,#28507); -#28509=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#28508); -#28510=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8584); -#28511=SHAPE_ASPECT('',$,#8584,.U.); -#28512=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#28511); -#28513=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8584); -#28514=NAME_ATTRIBUTE('single instance',#8585); -#28515=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2285,$,'',$,#8585,*); -#28516=PROPERTY_DEFINITION('',$,#28515); -#28517=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#28516); -#28518=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8586,#8585); -#28519=SHAPE_ASPECT('',$,#8585,.U.); -#28520=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#28519); -#28521=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8585); -#28522=NAME_ATTRIBUTE('single instance',#8594); -#28523=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8594,*); -#28524=PROPERTY_DEFINITION('',$,#28523); -#28525=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#28524); -#28526=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8594); -#28527=SHAPE_ASPECT('',$,#8594,.U.); -#28528=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11684,#28527); -#28529=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8594); -#28530=NAME_ATTRIBUTE('single instance',#8595); -#28531=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8595,*); -#28532=PROPERTY_DEFINITION('',$,#28531); -#28533=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#28532); -#28534=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8595); -#28535=SHAPE_ASPECT('',$,#8595,.U.); -#28536=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11683,#28535); -#28537=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8595); -#28538=NAME_ATTRIBUTE('single instance',#8596); -#28539=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8596,*); -#28540=PROPERTY_DEFINITION('',$,#28539); -#28541=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#28540); -#28542=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8596); -#28543=SHAPE_ASPECT('',$,#8596,.U.); -#28544=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11682,#28543); -#28545=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8596); -#28546=NAME_ATTRIBUTE('single instance',#8597); -#28547=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8597,*); -#28548=PROPERTY_DEFINITION('',$,#28547); -#28549=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#28548); -#28550=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8597); -#28551=SHAPE_ASPECT('',$,#8597,.U.); -#28552=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11681,#28551); -#28553=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8597); -#28554=NAME_ATTRIBUTE('single instance',#8598); -#28555=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8598,*); -#28556=PROPERTY_DEFINITION('',$,#28555); -#28557=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#28556); -#28558=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8598); -#28559=SHAPE_ASPECT('',$,#8598,.U.); -#28560=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11688,#28559); -#28561=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8598); -#28562=NAME_ATTRIBUTE('single instance',#8599); -#28563=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8599,*); -#28564=PROPERTY_DEFINITION('',$,#28563); -#28565=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#28564); -#28566=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8599); -#28567=SHAPE_ASPECT('',$,#8599,.U.); -#28568=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#28567); -#28569=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8599); -#28570=NAME_ATTRIBUTE('single instance',#8600); -#28571=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8600,*); -#28572=PROPERTY_DEFINITION('',$,#28571); -#28573=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#28572); -#28574=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8600); -#28575=SHAPE_ASPECT('',$,#8600,.U.); -#28576=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#28575); -#28577=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8600); -#28578=NAME_ATTRIBUTE('single instance',#8601); -#28579=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8601,*); -#28580=PROPERTY_DEFINITION('',$,#28579); -#28581=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#28580); -#28582=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8601); -#28583=SHAPE_ASPECT('',$,#8601,.U.); -#28584=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11685,#28583); -#28585=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8601); -#28586=NAME_ATTRIBUTE('single instance',#8602); -#28587=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8602,*); -#28588=PROPERTY_DEFINITION('',$,#28587); -#28589=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#28588); -#28590=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8602); -#28591=SHAPE_ASPECT('',$,#8602,.U.); -#28592=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11679,#28591); -#28593=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8602); -#28594=NAME_ATTRIBUTE('single instance',#8603); -#28595=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8603,*); -#28596=PROPERTY_DEFINITION('',$,#28595); -#28597=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#28596); -#28598=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8603); -#28599=SHAPE_ASPECT('',$,#8603,.U.); -#28600=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11678,#28599); -#28601=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8603); -#28602=NAME_ATTRIBUTE('single instance',#8604); -#28603=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8604,*); -#28604=PROPERTY_DEFINITION('',$,#28603); -#28605=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#28604); -#28606=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8604); -#28607=SHAPE_ASPECT('',$,#8604,.U.); -#28608=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#28607); -#28609=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8604); -#28610=NAME_ATTRIBUTE('single instance',#8605); -#28611=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8605,*); -#28612=PROPERTY_DEFINITION('',$,#28611); -#28613=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#28612); -#28614=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8605); -#28615=SHAPE_ASPECT('',$,#8605,.U.); -#28616=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11686,#28615); -#28617=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8605); -#28618=NAME_ATTRIBUTE('single instance',#8606); -#28619=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8606,*); -#28620=PROPERTY_DEFINITION('',$,#28619); -#28621=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#28620); -#28622=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8606); -#28623=SHAPE_ASPECT('',$,#8606,.U.); -#28624=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11687,#28623); -#28625=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8606); -#28626=NAME_ATTRIBUTE('single instance',#8607); -#28627=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8607,*); -#28628=PROPERTY_DEFINITION('',$,#28627); -#28629=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#28628); -#28630=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8607); -#28631=SHAPE_ASPECT('',$,#8607,.U.); -#28632=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11680,#28631); -#28633=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8607); -#28634=NAME_ATTRIBUTE('single instance',#8608); -#28635=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8608,*); -#28636=PROPERTY_DEFINITION('',$,#28635); -#28637=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#28636); -#28638=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8608); -#28639=SHAPE_ASPECT('',$,#8608,.U.); -#28640=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#28639); -#28641=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8608); -#28642=NAME_ATTRIBUTE('single instance',#8609); -#28643=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2285,$,'',$,#8609,*); -#28644=PROPERTY_DEFINITION('',$,#28643); -#28645=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#28644); -#28646=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8610,#8609); -#28647=SHAPE_ASPECT('',$,#8609,.U.); -#28648=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#28647); -#28649=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8609); -#28650=NAME_ATTRIBUTE('single instance',#8618); -#28651=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8618,*); -#28652=PROPERTY_DEFINITION('',$,#28651); -#28653=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#28652); -#28654=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8618); -#28655=SHAPE_ASPECT('',$,#8618,.U.); -#28656=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11694,#28655); -#28657=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8618); -#28658=NAME_ATTRIBUTE('single instance',#8619); -#28659=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8619,*); -#28660=PROPERTY_DEFINITION('',$,#28659); -#28661=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#28660); -#28662=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8619); -#28663=SHAPE_ASPECT('',$,#8619,.U.); -#28664=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#28663); -#28665=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8619); -#28666=NAME_ATTRIBUTE('single instance',#8620); -#28667=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8620,*); -#28668=PROPERTY_DEFINITION('',$,#28667); -#28669=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#28668); -#28670=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8620); -#28671=SHAPE_ASPECT('',$,#8620,.U.); -#28672=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11693,#28671); -#28673=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8620); -#28674=NAME_ATTRIBUTE('single instance',#8621); -#28675=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8621,*); -#28676=PROPERTY_DEFINITION('',$,#28675); -#28677=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#28676); -#28678=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8621); -#28679=SHAPE_ASPECT('',$,#8621,.U.); -#28680=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11692,#28679); -#28681=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8621); -#28682=NAME_ATTRIBUTE('single instance',#8622); -#28683=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8622,*); -#28684=PROPERTY_DEFINITION('',$,#28683); -#28685=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#28684); -#28686=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8622); -#28687=SHAPE_ASPECT('',$,#8622,.U.); -#28688=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11697,#28687); -#28689=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8622); -#28690=NAME_ATTRIBUTE('single instance',#8623); -#28691=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8623,*); -#28692=PROPERTY_DEFINITION('',$,#28691); -#28693=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#28692); -#28694=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8623); -#28695=SHAPE_ASPECT('',$,#8623,.U.); -#28696=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#28695); -#28697=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8623); -#28698=NAME_ATTRIBUTE('single instance',#8624); -#28699=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8624,*); -#28700=PROPERTY_DEFINITION('',$,#28699); -#28701=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#28700); -#28702=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8624); -#28703=SHAPE_ASPECT('',$,#8624,.U.); -#28704=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11695,#28703); -#28705=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8624); -#28706=NAME_ATTRIBUTE('single instance',#8625); -#28707=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8625,*); -#28708=PROPERTY_DEFINITION('',$,#28707); -#28709=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#28708); -#28710=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8625); -#28711=SHAPE_ASPECT('',$,#8625,.U.); -#28712=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11690,#28711); -#28713=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8625); -#28714=NAME_ATTRIBUTE('single instance',#8626); -#28715=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8626,*); -#28716=PROPERTY_DEFINITION('',$,#28715); -#28717=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#28716); -#28718=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8626); -#28719=SHAPE_ASPECT('',$,#8626,.U.); -#28720=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11689,#28719); -#28721=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8626); -#28722=NAME_ATTRIBUTE('single instance',#8627); -#28723=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8627,*); -#28724=PROPERTY_DEFINITION('',$,#28723); -#28725=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#28724); -#28726=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8627); -#28727=SHAPE_ASPECT('',$,#8627,.U.); -#28728=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#28727); -#28729=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8627); -#28730=NAME_ATTRIBUTE('single instance',#8628); -#28731=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8628,*); -#28732=PROPERTY_DEFINITION('',$,#28731); -#28733=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#28732); -#28734=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8628); -#28735=SHAPE_ASPECT('',$,#8628,.U.); -#28736=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11696,#28735); -#28737=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8628); -#28738=NAME_ATTRIBUTE('single instance',#8629); -#28739=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8629,*); -#28740=PROPERTY_DEFINITION('',$,#28739); -#28741=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#28740); -#28742=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8629); -#28743=SHAPE_ASPECT('',$,#8629,.U.); -#28744=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11691,#28743); -#28745=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8629); -#28746=NAME_ATTRIBUTE('single instance',#8630); -#28747=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8630,*); -#28748=PROPERTY_DEFINITION('',$,#28747); -#28749=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#28748); -#28750=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8630); -#28751=SHAPE_ASPECT('',$,#8630,.U.); -#28752=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#28751); -#28753=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8630); -#28754=NAME_ATTRIBUTE('single instance',#8631); -#28755=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8617,#7720,$,'',$,#8631,*); -#28756=PROPERTY_DEFINITION('',$,#28755); -#28757=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#28756); -#28758=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8632,#8631); -#28759=SHAPE_ASPECT('',$,#8631,.U.); -#28760=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#28759); -#28761=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8631); -#28762=NAME_ATTRIBUTE('single instance',#8638); -#28763=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8638,*); -#28764=PROPERTY_DEFINITION('',$,#28763); -#28765=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#28764); -#28766=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8638); -#28767=SHAPE_ASPECT('',$,#8638,.U.); -#28768=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11703,#28767); -#28769=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8638); -#28770=NAME_ATTRIBUTE('single instance',#8639); -#28771=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8639,*); -#28772=PROPERTY_DEFINITION('',$,#28771); -#28773=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#28772); -#28774=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8639); -#28775=SHAPE_ASPECT('',$,#8639,.U.); -#28776=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#28775); -#28777=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8639); -#28778=NAME_ATTRIBUTE('single instance',#8640); -#28779=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8640,*); -#28780=PROPERTY_DEFINITION('',$,#28779); -#28781=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#28780); -#28782=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8640); -#28783=SHAPE_ASPECT('',$,#8640,.U.); -#28784=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11702,#28783); -#28785=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8640); -#28786=NAME_ATTRIBUTE('single instance',#8641); -#28787=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8641,*); -#28788=PROPERTY_DEFINITION('',$,#28787); -#28789=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#28788); -#28790=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8641); -#28791=SHAPE_ASPECT('',$,#8641,.U.); -#28792=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11701,#28791); -#28793=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8641); -#28794=NAME_ATTRIBUTE('single instance',#8642); -#28795=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8642,*); -#28796=PROPERTY_DEFINITION('',$,#28795); -#28797=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#28796); -#28798=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8642); -#28799=SHAPE_ASPECT('',$,#8642,.U.); -#28800=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11706,#28799); -#28801=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8642); -#28802=NAME_ATTRIBUTE('single instance',#8643); -#28803=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8643,*); -#28804=PROPERTY_DEFINITION('',$,#28803); -#28805=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#28804); -#28806=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8643); -#28807=SHAPE_ASPECT('',$,#8643,.U.); -#28808=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#28807); -#28809=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8643); -#28810=NAME_ATTRIBUTE('single instance',#8644); -#28811=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8644,*); -#28812=PROPERTY_DEFINITION('',$,#28811); -#28813=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#28812); -#28814=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8644); -#28815=SHAPE_ASPECT('',$,#8644,.U.); -#28816=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11704,#28815); -#28817=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8644); -#28818=NAME_ATTRIBUTE('single instance',#8645); -#28819=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8645,*); -#28820=PROPERTY_DEFINITION('',$,#28819); -#28821=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#28820); -#28822=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8645); -#28823=SHAPE_ASPECT('',$,#8645,.U.); -#28824=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11699,#28823); -#28825=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8645); -#28826=NAME_ATTRIBUTE('single instance',#8646); -#28827=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8646,*); -#28828=PROPERTY_DEFINITION('',$,#28827); -#28829=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#28828); -#28830=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8646); -#28831=SHAPE_ASPECT('',$,#8646,.U.); -#28832=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11698,#28831); -#28833=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8646); -#28834=NAME_ATTRIBUTE('single instance',#8647); -#28835=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8647,*); -#28836=PROPERTY_DEFINITION('',$,#28835); -#28837=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#28836); -#28838=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8647); -#28839=SHAPE_ASPECT('',$,#8647,.U.); -#28840=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#28839); -#28841=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8647); -#28842=NAME_ATTRIBUTE('single instance',#8648); -#28843=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8648,*); -#28844=PROPERTY_DEFINITION('',$,#28843); -#28845=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#28844); -#28846=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8648); -#28847=SHAPE_ASPECT('',$,#8648,.U.); -#28848=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11705,#28847); -#28849=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8648); -#28850=NAME_ATTRIBUTE('single instance',#8649); -#28851=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8649,*); -#28852=PROPERTY_DEFINITION('',$,#28851); -#28853=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#28852); -#28854=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8649); -#28855=SHAPE_ASPECT('',$,#8649,.U.); -#28856=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11700,#28855); -#28857=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8649); -#28858=NAME_ATTRIBUTE('single instance',#8650); -#28859=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8650,*); -#28860=PROPERTY_DEFINITION('',$,#28859); -#28861=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#28860); -#28862=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8650); -#28863=SHAPE_ASPECT('',$,#8650,.U.); -#28864=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#28863); -#28865=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8650); -#28866=NAME_ATTRIBUTE('single instance',#8651); -#28867=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8637,#7720,$,'',$,#8651,*); -#28868=PROPERTY_DEFINITION('',$,#28867); -#28869=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#28868); -#28870=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8652,#8651); -#28871=SHAPE_ASPECT('',$,#8651,.U.); -#28872=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#28871); -#28873=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8651); -#28874=NAME_ATTRIBUTE('single instance',#8658); -#28875=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8658,*); -#28876=PROPERTY_DEFINITION('',$,#28875); -#28877=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#28876); -#28878=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8658); -#28879=SHAPE_ASPECT('',$,#8658,.U.); -#28880=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11712,#28879); -#28881=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8658); -#28882=NAME_ATTRIBUTE('single instance',#8659); -#28883=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8659,*); -#28884=PROPERTY_DEFINITION('',$,#28883); -#28885=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#28884); -#28886=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8659); -#28887=SHAPE_ASPECT('',$,#8659,.U.); -#28888=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#28887); -#28889=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8659); -#28890=NAME_ATTRIBUTE('single instance',#8660); -#28891=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8660,*); -#28892=PROPERTY_DEFINITION('',$,#28891); -#28893=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#28892); -#28894=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8660); -#28895=SHAPE_ASPECT('',$,#8660,.U.); -#28896=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11711,#28895); -#28897=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8660); -#28898=NAME_ATTRIBUTE('single instance',#8661); -#28899=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8661,*); -#28900=PROPERTY_DEFINITION('',$,#28899); -#28901=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#28900); -#28902=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8661); -#28903=SHAPE_ASPECT('',$,#8661,.U.); -#28904=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11710,#28903); -#28905=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8661); -#28906=NAME_ATTRIBUTE('single instance',#8662); -#28907=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8662,*); -#28908=PROPERTY_DEFINITION('',$,#28907); -#28909=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#28908); -#28910=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8662); -#28911=SHAPE_ASPECT('',$,#8662,.U.); -#28912=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11715,#28911); -#28913=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8662); -#28914=NAME_ATTRIBUTE('single instance',#8663); -#28915=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8663,*); -#28916=PROPERTY_DEFINITION('',$,#28915); -#28917=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#28916); -#28918=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8663); -#28919=SHAPE_ASPECT('',$,#8663,.U.); -#28920=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#28919); -#28921=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8663); -#28922=NAME_ATTRIBUTE('single instance',#8664); -#28923=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8664,*); -#28924=PROPERTY_DEFINITION('',$,#28923); -#28925=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#28924); -#28926=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8664); -#28927=SHAPE_ASPECT('',$,#8664,.U.); -#28928=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#28927); -#28929=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8664); -#28930=NAME_ATTRIBUTE('single instance',#8665); -#28931=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8665,*); -#28932=PROPERTY_DEFINITION('',$,#28931); -#28933=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#28932); -#28934=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8665); -#28935=SHAPE_ASPECT('',$,#8665,.U.); -#28936=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11713,#28935); -#28937=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8665); -#28938=NAME_ATTRIBUTE('single instance',#8666); -#28939=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8666,*); -#28940=PROPERTY_DEFINITION('',$,#28939); -#28941=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#28940); -#28942=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8666); -#28943=SHAPE_ASPECT('',$,#8666,.U.); -#28944=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11708,#28943); -#28945=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8666); -#28946=NAME_ATTRIBUTE('single instance',#8667); -#28947=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8667,*); -#28948=PROPERTY_DEFINITION('',$,#28947); -#28949=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#28948); -#28950=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8667); -#28951=SHAPE_ASPECT('',$,#8667,.U.); -#28952=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11707,#28951); -#28953=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8667); -#28954=NAME_ATTRIBUTE('single instance',#8668); -#28955=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8668,*); -#28956=PROPERTY_DEFINITION('',$,#28955); -#28957=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#28956); -#28958=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8668); -#28959=SHAPE_ASPECT('',$,#8668,.U.); -#28960=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#28959); -#28961=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8668); -#28962=NAME_ATTRIBUTE('single instance',#8669); -#28963=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8669,*); -#28964=PROPERTY_DEFINITION('',$,#28963); -#28965=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#28964); -#28966=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8669); -#28967=SHAPE_ASPECT('',$,#8669,.U.); -#28968=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#28967); -#28969=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8669); -#28970=NAME_ATTRIBUTE('single instance',#8670); -#28971=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8670,*); -#28972=PROPERTY_DEFINITION('',$,#28971); -#28973=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#28972); -#28974=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8670); -#28975=SHAPE_ASPECT('',$,#8670,.U.); -#28976=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11714,#28975); -#28977=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8670); -#28978=NAME_ATTRIBUTE('single instance',#8671); -#28979=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8671,*); -#28980=PROPERTY_DEFINITION('',$,#28979); -#28981=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#28980); -#28982=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8671); -#28983=SHAPE_ASPECT('',$,#8671,.U.); -#28984=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11709,#28983); -#28985=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8671); -#28986=NAME_ATTRIBUTE('single instance',#8672); -#28987=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8672,*); -#28988=PROPERTY_DEFINITION('',$,#28987); -#28989=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#28988); -#28990=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8672); -#28991=SHAPE_ASPECT('',$,#8672,.U.); -#28992=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#28991); -#28993=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8672); -#28994=NAME_ATTRIBUTE('single instance',#8673); -#28995=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2285,$,'',$,#8673,*); -#28996=PROPERTY_DEFINITION('',$,#28995); -#28997=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#28996); -#28998=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8674,#8673); -#28999=SHAPE_ASPECT('',$,#8673,.U.); -#29000=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#28999); -#29001=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8673); -#29002=NAME_ATTRIBUTE('single instance',#8682); -#29003=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8682,*); -#29004=PROPERTY_DEFINITION('',$,#29003); -#29005=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#29004); -#29006=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8682); -#29007=SHAPE_ASPECT('',$,#8682,.U.); -#29008=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11721,#29007); -#29009=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8682); -#29010=NAME_ATTRIBUTE('single instance',#8683); -#29011=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8683,*); -#29012=PROPERTY_DEFINITION('',$,#29011); -#29013=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#29012); -#29014=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8683); -#29015=SHAPE_ASPECT('',$,#8683,.U.); -#29016=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#29015); -#29017=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8683); -#29018=NAME_ATTRIBUTE('single instance',#8684); -#29019=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8684,*); -#29020=PROPERTY_DEFINITION('',$,#29019); -#29021=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#29020); -#29022=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8684); -#29023=SHAPE_ASPECT('',$,#8684,.U.); -#29024=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11720,#29023); -#29025=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8684); -#29026=NAME_ATTRIBUTE('single instance',#8685); -#29027=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8685,*); -#29028=PROPERTY_DEFINITION('',$,#29027); -#29029=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#29028); -#29030=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8685); -#29031=SHAPE_ASPECT('',$,#8685,.U.); -#29032=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11719,#29031); -#29033=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8685); -#29034=NAME_ATTRIBUTE('single instance',#8686); -#29035=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8686,*); -#29036=PROPERTY_DEFINITION('',$,#29035); -#29037=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#29036); -#29038=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8686); -#29039=SHAPE_ASPECT('',$,#8686,.U.); -#29040=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11724,#29039); -#29041=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8686); -#29042=NAME_ATTRIBUTE('single instance',#8687); -#29043=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8687,*); -#29044=PROPERTY_DEFINITION('',$,#29043); -#29045=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#29044); -#29046=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8687); -#29047=SHAPE_ASPECT('',$,#8687,.U.); -#29048=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#29047); -#29049=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8687); -#29050=NAME_ATTRIBUTE('single instance',#8688); -#29051=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8688,*); -#29052=PROPERTY_DEFINITION('',$,#29051); -#29053=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#29052); -#29054=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8688); -#29055=SHAPE_ASPECT('',$,#8688,.U.); -#29056=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11722,#29055); -#29057=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8688); -#29058=NAME_ATTRIBUTE('single instance',#8689); -#29059=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8689,*); -#29060=PROPERTY_DEFINITION('',$,#29059); -#29061=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#29060); -#29062=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8689); -#29063=SHAPE_ASPECT('',$,#8689,.U.); -#29064=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11717,#29063); -#29065=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8689); -#29066=NAME_ATTRIBUTE('single instance',#8690); -#29067=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8690,*); -#29068=PROPERTY_DEFINITION('',$,#29067); -#29069=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#29068); -#29070=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8690); -#29071=SHAPE_ASPECT('',$,#8690,.U.); -#29072=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11716,#29071); -#29073=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8690); -#29074=NAME_ATTRIBUTE('single instance',#8691); -#29075=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8691,*); -#29076=PROPERTY_DEFINITION('',$,#29075); -#29077=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#29076); -#29078=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8691); -#29079=SHAPE_ASPECT('',$,#8691,.U.); -#29080=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#29079); -#29081=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8691); -#29082=NAME_ATTRIBUTE('single instance',#8692); -#29083=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8692,*); -#29084=PROPERTY_DEFINITION('',$,#29083); -#29085=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#29084); -#29086=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8692); -#29087=SHAPE_ASPECT('',$,#8692,.U.); -#29088=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11723,#29087); -#29089=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8692); -#29090=NAME_ATTRIBUTE('single instance',#8693); -#29091=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8693,*); -#29092=PROPERTY_DEFINITION('',$,#29091); -#29093=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#29092); -#29094=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8693); -#29095=SHAPE_ASPECT('',$,#8693,.U.); -#29096=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11718,#29095); -#29097=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8693); -#29098=NAME_ATTRIBUTE('single instance',#8694); -#29099=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8694,*); -#29100=PROPERTY_DEFINITION('',$,#29099); -#29101=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#29100); -#29102=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8694); -#29103=SHAPE_ASPECT('',$,#8694,.U.); -#29104=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#29103); -#29105=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8694); -#29106=NAME_ATTRIBUTE('single instance',#8695); -#29107=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8681,#7720,$,'',$,#8695,*); -#29108=PROPERTY_DEFINITION('',$,#29107); -#29109=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#29108); -#29110=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8696,#8695); -#29111=SHAPE_ASPECT('',$,#8695,.U.); -#29112=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#29111); -#29113=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8695); -#29114=NAME_ATTRIBUTE('single instance',#8702); -#29115=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8702,*); -#29116=PROPERTY_DEFINITION('',$,#29115); -#29117=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#29116); -#29118=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8702); -#29119=SHAPE_ASPECT('',$,#8702,.U.); -#29120=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11730,#29119); -#29121=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8702); -#29122=NAME_ATTRIBUTE('single instance',#8703); -#29123=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8703,*); -#29124=PROPERTY_DEFINITION('',$,#29123); -#29125=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#29124); -#29126=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8703); -#29127=SHAPE_ASPECT('',$,#8703,.U.); -#29128=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#29127); -#29129=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8703); -#29130=NAME_ATTRIBUTE('single instance',#8704); -#29131=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8704,*); -#29132=PROPERTY_DEFINITION('',$,#29131); -#29133=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#29132); -#29134=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8704); -#29135=SHAPE_ASPECT('',$,#8704,.U.); -#29136=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11729,#29135); -#29137=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8704); -#29138=NAME_ATTRIBUTE('single instance',#8705); -#29139=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8705,*); -#29140=PROPERTY_DEFINITION('',$,#29139); -#29141=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#29140); -#29142=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8705); -#29143=SHAPE_ASPECT('',$,#8705,.U.); -#29144=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11728,#29143); -#29145=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8705); -#29146=NAME_ATTRIBUTE('single instance',#8706); -#29147=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8706,*); -#29148=PROPERTY_DEFINITION('',$,#29147); -#29149=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#29148); -#29150=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8706); -#29151=SHAPE_ASPECT('',$,#8706,.U.); -#29152=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11733,#29151); -#29153=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8706); -#29154=NAME_ATTRIBUTE('single instance',#8707); -#29155=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8707,*); -#29156=PROPERTY_DEFINITION('',$,#29155); -#29157=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#29156); -#29158=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8707); -#29159=SHAPE_ASPECT('',$,#8707,.U.); -#29160=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#29159); -#29161=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8707); -#29162=NAME_ATTRIBUTE('single instance',#8708); -#29163=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8708,*); -#29164=PROPERTY_DEFINITION('',$,#29163); -#29165=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#29164); -#29166=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8708); -#29167=SHAPE_ASPECT('',$,#8708,.U.); -#29168=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#29167); -#29169=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8708); -#29170=NAME_ATTRIBUTE('single instance',#8709); -#29171=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8709,*); -#29172=PROPERTY_DEFINITION('',$,#29171); -#29173=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#29172); -#29174=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8709); -#29175=SHAPE_ASPECT('',$,#8709,.U.); -#29176=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11731,#29175); -#29177=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8709); -#29178=NAME_ATTRIBUTE('single instance',#8710); -#29179=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8710,*); -#29180=PROPERTY_DEFINITION('',$,#29179); -#29181=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#29180); -#29182=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8710); -#29183=SHAPE_ASPECT('',$,#8710,.U.); -#29184=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11726,#29183); -#29185=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8710); -#29186=NAME_ATTRIBUTE('single instance',#8711); -#29187=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8711,*); -#29188=PROPERTY_DEFINITION('',$,#29187); -#29189=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#29188); -#29190=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8711); -#29191=SHAPE_ASPECT('',$,#8711,.U.); -#29192=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11725,#29191); -#29193=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8711); -#29194=NAME_ATTRIBUTE('single instance',#8712); -#29195=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8712,*); -#29196=PROPERTY_DEFINITION('',$,#29195); -#29197=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#29196); -#29198=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8712); -#29199=SHAPE_ASPECT('',$,#8712,.U.); -#29200=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#29199); -#29201=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8712); -#29202=NAME_ATTRIBUTE('single instance',#8713); -#29203=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8713,*); -#29204=PROPERTY_DEFINITION('',$,#29203); -#29205=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#29204); -#29206=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8713); -#29207=SHAPE_ASPECT('',$,#8713,.U.); -#29208=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#29207); -#29209=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8713); -#29210=NAME_ATTRIBUTE('single instance',#8714); -#29211=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8714,*); -#29212=PROPERTY_DEFINITION('',$,#29211); -#29213=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#29212); -#29214=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8714); -#29215=SHAPE_ASPECT('',$,#8714,.U.); -#29216=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11732,#29215); -#29217=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8714); -#29218=NAME_ATTRIBUTE('single instance',#8715); -#29219=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8715,*); -#29220=PROPERTY_DEFINITION('',$,#29219); -#29221=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#29220); -#29222=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8715); -#29223=SHAPE_ASPECT('',$,#8715,.U.); -#29224=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11727,#29223); -#29225=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8715); -#29226=NAME_ATTRIBUTE('single instance',#8716); -#29227=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8716,*); -#29228=PROPERTY_DEFINITION('',$,#29227); -#29229=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#29228); -#29230=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8716); -#29231=SHAPE_ASPECT('',$,#8716,.U.); -#29232=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#29231); -#29233=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8716); -#29234=NAME_ATTRIBUTE('single instance',#8717); -#29235=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2285,$,'',$,#8717,*); -#29236=PROPERTY_DEFINITION('',$,#29235); -#29237=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#29236); -#29238=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8718,#8717); -#29239=SHAPE_ASPECT('',$,#8717,.U.); -#29240=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#29239); -#29241=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8717); -#29242=NAME_ATTRIBUTE('single instance',#8726); -#29243=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8726,*); -#29244=PROPERTY_DEFINITION('',$,#29243); -#29245=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#29244); -#29246=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8726); -#29247=SHAPE_ASPECT('',$,#8726,.U.); -#29248=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11740,#29247); -#29249=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8726); -#29250=NAME_ATTRIBUTE('single instance',#8727); -#29251=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8727,*); -#29252=PROPERTY_DEFINITION('',$,#29251); -#29253=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#29252); -#29254=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8727); -#29255=SHAPE_ASPECT('',$,#8727,.U.); -#29256=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11739,#29255); -#29257=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8727); -#29258=NAME_ATTRIBUTE('single instance',#8728); -#29259=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8728,*); -#29260=PROPERTY_DEFINITION('',$,#29259); -#29261=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#29260); -#29262=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8728); -#29263=SHAPE_ASPECT('',$,#8728,.U.); -#29264=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11738,#29263); -#29265=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8728); -#29266=NAME_ATTRIBUTE('single instance',#8729); -#29267=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8729,*); -#29268=PROPERTY_DEFINITION('',$,#29267); -#29269=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#29268); -#29270=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8729); -#29271=SHAPE_ASPECT('',$,#8729,.U.); -#29272=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11737,#29271); -#29273=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8729); -#29274=NAME_ATTRIBUTE('single instance',#8730); -#29275=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8730,*); -#29276=PROPERTY_DEFINITION('',$,#29275); -#29277=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#29276); -#29278=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8730); -#29279=SHAPE_ASPECT('',$,#8730,.U.); -#29280=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11744,#29279); -#29281=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8730); -#29282=NAME_ATTRIBUTE('single instance',#8731); -#29283=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8731,*); -#29284=PROPERTY_DEFINITION('',$,#29283); -#29285=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#29284); -#29286=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8731); -#29287=SHAPE_ASPECT('',$,#8731,.U.); -#29288=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#29287); -#29289=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8731); -#29290=NAME_ATTRIBUTE('single instance',#8732); -#29291=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8732,*); -#29292=PROPERTY_DEFINITION('',$,#29291); -#29293=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#29292); -#29294=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8732); -#29295=SHAPE_ASPECT('',$,#8732,.U.); -#29296=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#29295); -#29297=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8732); -#29298=NAME_ATTRIBUTE('single instance',#8733); -#29299=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8733,*); -#29300=PROPERTY_DEFINITION('',$,#29299); -#29301=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#29300); -#29302=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8733); -#29303=SHAPE_ASPECT('',$,#8733,.U.); -#29304=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11741,#29303); -#29305=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8733); -#29306=NAME_ATTRIBUTE('single instance',#8734); -#29307=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8734,*); -#29308=PROPERTY_DEFINITION('',$,#29307); -#29309=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#29308); -#29310=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8734); -#29311=SHAPE_ASPECT('',$,#8734,.U.); -#29312=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11735,#29311); -#29313=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8734); -#29314=NAME_ATTRIBUTE('single instance',#8735); -#29315=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8735,*); -#29316=PROPERTY_DEFINITION('',$,#29315); -#29317=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#29316); -#29318=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8735); -#29319=SHAPE_ASPECT('',$,#8735,.U.); -#29320=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11734,#29319); -#29321=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8735); -#29322=NAME_ATTRIBUTE('single instance',#8736); -#29323=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8736,*); -#29324=PROPERTY_DEFINITION('',$,#29323); -#29325=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#29324); -#29326=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8736); -#29327=SHAPE_ASPECT('',$,#8736,.U.); -#29328=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#29327); -#29329=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8736); -#29330=NAME_ATTRIBUTE('single instance',#8737); -#29331=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8737,*); -#29332=PROPERTY_DEFINITION('',$,#29331); -#29333=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#29332); -#29334=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8737); -#29335=SHAPE_ASPECT('',$,#8737,.U.); -#29336=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11742,#29335); -#29337=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8737); -#29338=NAME_ATTRIBUTE('single instance',#8738); -#29339=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8738,*); -#29340=PROPERTY_DEFINITION('',$,#29339); -#29341=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#29340); -#29342=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8738); -#29343=SHAPE_ASPECT('',$,#8738,.U.); -#29344=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11743,#29343); -#29345=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8738); -#29346=NAME_ATTRIBUTE('single instance',#8739); -#29347=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8739,*); -#29348=PROPERTY_DEFINITION('',$,#29347); -#29349=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#29348); -#29350=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8739); -#29351=SHAPE_ASPECT('',$,#8739,.U.); -#29352=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11736,#29351); -#29353=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8739); -#29354=NAME_ATTRIBUTE('single instance',#8740); -#29355=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8740,*); -#29356=PROPERTY_DEFINITION('',$,#29355); -#29357=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#29356); -#29358=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8740); -#29359=SHAPE_ASPECT('',$,#8740,.U.); -#29360=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#29359); -#29361=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8740); -#29362=NAME_ATTRIBUTE('single instance',#8741); -#29363=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2285,$,'',$,#8741,*); -#29364=PROPERTY_DEFINITION('',$,#29363); -#29365=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#29364); -#29366=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8742,#8741); -#29367=SHAPE_ASPECT('',$,#8741,.U.); -#29368=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#29367); -#29369=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8741); -#29370=NAME_ATTRIBUTE('single instance',#8750); -#29371=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8750,*); -#29372=PROPERTY_DEFINITION('',$,#29371); -#29373=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#29372); -#29374=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8750); -#29375=SHAPE_ASPECT('',$,#8750,.U.); -#29376=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11751,#29375); -#29377=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8750); -#29378=NAME_ATTRIBUTE('single instance',#8751); -#29379=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8751,*); -#29380=PROPERTY_DEFINITION('',$,#29379); -#29381=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#29380); -#29382=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8751); -#29383=SHAPE_ASPECT('',$,#8751,.U.); -#29384=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11750,#29383); -#29385=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8751); -#29386=NAME_ATTRIBUTE('single instance',#8752); -#29387=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8752,*); -#29388=PROPERTY_DEFINITION('',$,#29387); -#29389=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#29388); -#29390=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8752); -#29391=SHAPE_ASPECT('',$,#8752,.U.); -#29392=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11749,#29391); -#29393=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8752); -#29394=NAME_ATTRIBUTE('single instance',#8753); -#29395=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8753,*); -#29396=PROPERTY_DEFINITION('',$,#29395); -#29397=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#29396); -#29398=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8753); -#29399=SHAPE_ASPECT('',$,#8753,.U.); -#29400=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11748,#29399); -#29401=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8753); -#29402=NAME_ATTRIBUTE('single instance',#8754); -#29403=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8754,*); -#29404=PROPERTY_DEFINITION('',$,#29403); -#29405=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#29404); -#29406=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8754); -#29407=SHAPE_ASPECT('',$,#8754,.U.); -#29408=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11755,#29407); -#29409=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8754); -#29410=NAME_ATTRIBUTE('single instance',#8755); -#29411=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8755,*); -#29412=PROPERTY_DEFINITION('',$,#29411); -#29413=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#29412); -#29414=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8755); -#29415=SHAPE_ASPECT('',$,#8755,.U.); -#29416=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#29415); -#29417=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8755); -#29418=NAME_ATTRIBUTE('single instance',#8756); -#29419=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8756,*); -#29420=PROPERTY_DEFINITION('',$,#29419); -#29421=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#29420); -#29422=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8756); -#29423=SHAPE_ASPECT('',$,#8756,.U.); -#29424=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#29423); -#29425=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8756); -#29426=NAME_ATTRIBUTE('single instance',#8757); -#29427=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8757,*); -#29428=PROPERTY_DEFINITION('',$,#29427); -#29429=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#29428); -#29430=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8757); -#29431=SHAPE_ASPECT('',$,#8757,.U.); -#29432=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11752,#29431); -#29433=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8757); -#29434=NAME_ATTRIBUTE('single instance',#8758); -#29435=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8758,*); -#29436=PROPERTY_DEFINITION('',$,#29435); -#29437=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#29436); -#29438=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8758); -#29439=SHAPE_ASPECT('',$,#8758,.U.); -#29440=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11746,#29439); -#29441=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8758); -#29442=NAME_ATTRIBUTE('single instance',#8759); -#29443=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8759,*); -#29444=PROPERTY_DEFINITION('',$,#29443); -#29445=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#29444); -#29446=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8759); -#29447=SHAPE_ASPECT('',$,#8759,.U.); -#29448=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11745,#29447); -#29449=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8759); -#29450=NAME_ATTRIBUTE('single instance',#8760); -#29451=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8760,*); -#29452=PROPERTY_DEFINITION('',$,#29451); -#29453=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#29452); -#29454=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8760); -#29455=SHAPE_ASPECT('',$,#8760,.U.); -#29456=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#29455); -#29457=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8760); -#29458=NAME_ATTRIBUTE('single instance',#8761); -#29459=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8761,*); -#29460=PROPERTY_DEFINITION('',$,#29459); -#29461=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#29460); -#29462=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8761); -#29463=SHAPE_ASPECT('',$,#8761,.U.); -#29464=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11753,#29463); -#29465=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8761); -#29466=NAME_ATTRIBUTE('single instance',#8762); -#29467=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8762,*); -#29468=PROPERTY_DEFINITION('',$,#29467); -#29469=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#29468); -#29470=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8762); -#29471=SHAPE_ASPECT('',$,#8762,.U.); -#29472=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11754,#29471); -#29473=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8762); -#29474=NAME_ATTRIBUTE('single instance',#8763); -#29475=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8763,*); -#29476=PROPERTY_DEFINITION('',$,#29475); -#29477=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#29476); -#29478=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8763); -#29479=SHAPE_ASPECT('',$,#8763,.U.); -#29480=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11747,#29479); -#29481=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8763); -#29482=NAME_ATTRIBUTE('single instance',#8764); -#29483=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8764,*); -#29484=PROPERTY_DEFINITION('',$,#29483); -#29485=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#29484); -#29486=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8764); -#29487=SHAPE_ASPECT('',$,#8764,.U.); -#29488=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#29487); -#29489=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8764); -#29490=NAME_ATTRIBUTE('single instance',#8765); -#29491=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2285,$,'',$,#8765,*); -#29492=PROPERTY_DEFINITION('',$,#29491); -#29493=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#29492); -#29494=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8766,#8765); -#29495=SHAPE_ASPECT('',$,#8765,.U.); -#29496=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#29495); -#29497=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8765); -#29498=NAME_ATTRIBUTE('single instance',#8775); -#29499=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8774,#7895,$,'',$,#8775,*); -#29500=PROPERTY_DEFINITION('',$,#29499); -#29501=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#29500); -#29502=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8777,#8775); -#29503=SHAPE_ASPECT('',$,#8775,.U.); -#29504=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11756,#29503); -#29505=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8775); -#29506=NAME_ATTRIBUTE('single instance',#8776); -#29507=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8774,#7851,$,'',$,#8776,*); -#29508=PROPERTY_DEFINITION('',$,#29507); -#29509=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#29508); -#29510=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8777,#8776); -#29511=SHAPE_ASPECT('',$,#8776,.U.); -#29512=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#29511); -#29513=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8776); -#29514=NAME_ATTRIBUTE('single instance',#8785); -#29515=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8784,#7851,$,'',$,#8785,*); -#29516=PROPERTY_DEFINITION('',$,#29515); -#29517=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#29516); -#29518=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8787,#8785); -#29519=SHAPE_ASPECT('',$,#8785,.U.); -#29520=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#29519); -#29521=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8785); -#29522=NAME_ATTRIBUTE('single instance',#8786); -#29523=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8784,#7895,$,'',$,#8786,*); -#29524=PROPERTY_DEFINITION('',$,#29523); -#29525=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#29524); -#29526=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8787,#8786); -#29527=SHAPE_ASPECT('',$,#8786,.U.); -#29528=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11757,#29527); -#29529=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8786); -#29530=NAME_ATTRIBUTE('single instance',#8795); -#29531=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8795,*); -#29532=PROPERTY_DEFINITION('',$,#29531); -#29533=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#29532); -#29534=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8795); -#29535=SHAPE_ASPECT('',$,#8795,.U.); -#29536=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11763,#29535); -#29537=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8795); -#29538=NAME_ATTRIBUTE('single instance',#8796); -#29539=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8796,*); -#29540=PROPERTY_DEFINITION('',$,#29539); -#29541=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#29540); -#29542=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8796); -#29543=SHAPE_ASPECT('',$,#8796,.U.); -#29544=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#29543); -#29545=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8796); -#29546=NAME_ATTRIBUTE('single instance',#8797); -#29547=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8797,*); -#29548=PROPERTY_DEFINITION('',$,#29547); -#29549=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#29548); -#29550=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8797); -#29551=SHAPE_ASPECT('',$,#8797,.U.); -#29552=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11762,#29551); -#29553=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8797); -#29554=NAME_ATTRIBUTE('single instance',#8798); -#29555=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8798,*); -#29556=PROPERTY_DEFINITION('',$,#29555); -#29557=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#29556); -#29558=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8798); -#29559=SHAPE_ASPECT('',$,#8798,.U.); -#29560=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11761,#29559); -#29561=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8798); -#29562=NAME_ATTRIBUTE('single instance',#8799); -#29563=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8799,*); -#29564=PROPERTY_DEFINITION('',$,#29563); -#29565=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#29564); -#29566=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8799); -#29567=SHAPE_ASPECT('',$,#8799,.U.); -#29568=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11766,#29567); -#29569=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8799); -#29570=NAME_ATTRIBUTE('single instance',#8800); -#29571=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8800,*); -#29572=PROPERTY_DEFINITION('',$,#29571); -#29573=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#29572); -#29574=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8800); -#29575=SHAPE_ASPECT('',$,#8800,.U.); -#29576=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#29575); -#29577=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8800); -#29578=NAME_ATTRIBUTE('single instance',#8801); -#29579=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8801,*); -#29580=PROPERTY_DEFINITION('',$,#29579); -#29581=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#29580); -#29582=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8801); -#29583=SHAPE_ASPECT('',$,#8801,.U.); -#29584=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#29583); -#29585=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8801); -#29586=NAME_ATTRIBUTE('single instance',#8802); -#29587=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8802,*); -#29588=PROPERTY_DEFINITION('',$,#29587); -#29589=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#29588); -#29590=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8802); -#29591=SHAPE_ASPECT('',$,#8802,.U.); -#29592=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11764,#29591); -#29593=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8802); -#29594=NAME_ATTRIBUTE('single instance',#8803); -#29595=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8803,*); -#29596=PROPERTY_DEFINITION('',$,#29595); -#29597=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#29596); -#29598=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8803); -#29599=SHAPE_ASPECT('',$,#8803,.U.); -#29600=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11759,#29599); -#29601=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8803); -#29602=NAME_ATTRIBUTE('single instance',#8804); -#29603=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8804,*); -#29604=PROPERTY_DEFINITION('',$,#29603); -#29605=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#29604); -#29606=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8804); -#29607=SHAPE_ASPECT('',$,#8804,.U.); -#29608=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11758,#29607); -#29609=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8804); -#29610=NAME_ATTRIBUTE('single instance',#8805); -#29611=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8805,*); -#29612=PROPERTY_DEFINITION('',$,#29611); -#29613=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#29612); -#29614=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8805); -#29615=SHAPE_ASPECT('',$,#8805,.U.); -#29616=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#29615); -#29617=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8805); -#29618=NAME_ATTRIBUTE('single instance',#8806); -#29619=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8806,*); -#29620=PROPERTY_DEFINITION('',$,#29619); -#29621=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#29620); -#29622=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8806); -#29623=SHAPE_ASPECT('',$,#8806,.U.); -#29624=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#29623); -#29625=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8806); -#29626=NAME_ATTRIBUTE('single instance',#8807); -#29627=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8807,*); -#29628=PROPERTY_DEFINITION('',$,#29627); -#29629=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#29628); -#29630=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8807); -#29631=SHAPE_ASPECT('',$,#8807,.U.); -#29632=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11765,#29631); -#29633=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8807); -#29634=NAME_ATTRIBUTE('single instance',#8808); -#29635=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8808,*); -#29636=PROPERTY_DEFINITION('',$,#29635); -#29637=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#29636); -#29638=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8808); -#29639=SHAPE_ASPECT('',$,#8808,.U.); -#29640=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11760,#29639); -#29641=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8808); -#29642=NAME_ATTRIBUTE('single instance',#8809); -#29643=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8809,*); -#29644=PROPERTY_DEFINITION('',$,#29643); -#29645=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#29644); -#29646=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8809); -#29647=SHAPE_ASPECT('',$,#8809,.U.); -#29648=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#29647); -#29649=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8809); -#29650=NAME_ATTRIBUTE('single instance',#8810); -#29651=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2285,$,'',$,#8810,*); -#29652=PROPERTY_DEFINITION('',$,#29651); -#29653=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#29652); -#29654=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8811,#8810); -#29655=SHAPE_ASPECT('',$,#8810,.U.); -#29656=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#29655); -#29657=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8810); -#29658=NAME_ATTRIBUTE('single instance',#8820); -#29659=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8820,*); -#29660=PROPERTY_DEFINITION('',$,#29659); -#29661=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#29660); -#29662=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8820); -#29663=SHAPE_ASPECT('',$,#8820,.U.); -#29664=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11773,#29663); -#29665=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8820); -#29666=NAME_ATTRIBUTE('single instance',#8821); -#29667=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8821,*); -#29668=PROPERTY_DEFINITION('',$,#29667); -#29669=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#29668); -#29670=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8821); -#29671=SHAPE_ASPECT('',$,#8821,.U.); -#29672=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11772,#29671); -#29673=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8821); -#29674=NAME_ATTRIBUTE('single instance',#8822); -#29675=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8822,*); -#29676=PROPERTY_DEFINITION('',$,#29675); -#29677=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#29676); -#29678=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8822); -#29679=SHAPE_ASPECT('',$,#8822,.U.); -#29680=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11771,#29679); -#29681=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8822); -#29682=NAME_ATTRIBUTE('single instance',#8823); -#29683=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8823,*); -#29684=PROPERTY_DEFINITION('',$,#29683); -#29685=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#29684); -#29686=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8823); -#29687=SHAPE_ASPECT('',$,#8823,.U.); -#29688=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11770,#29687); -#29689=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8823); -#29690=NAME_ATTRIBUTE('single instance',#8824); -#29691=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8824,*); -#29692=PROPERTY_DEFINITION('',$,#29691); -#29693=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#29692); -#29694=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8824); -#29695=SHAPE_ASPECT('',$,#8824,.U.); -#29696=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11777,#29695); -#29697=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8824); -#29698=NAME_ATTRIBUTE('single instance',#8825); -#29699=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8825,*); -#29700=PROPERTY_DEFINITION('',$,#29699); -#29701=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#29700); -#29702=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8825); -#29703=SHAPE_ASPECT('',$,#8825,.U.); -#29704=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#29703); -#29705=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8825); -#29706=NAME_ATTRIBUTE('single instance',#8826); -#29707=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8826,*); -#29708=PROPERTY_DEFINITION('',$,#29707); -#29709=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#29708); -#29710=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8826); -#29711=SHAPE_ASPECT('',$,#8826,.U.); -#29712=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#29711); -#29713=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8826); -#29714=NAME_ATTRIBUTE('single instance',#8827); -#29715=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8827,*); -#29716=PROPERTY_DEFINITION('',$,#29715); -#29717=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#29716); -#29718=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8827); -#29719=SHAPE_ASPECT('',$,#8827,.U.); -#29720=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11774,#29719); -#29721=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8827); -#29722=NAME_ATTRIBUTE('single instance',#8828); -#29723=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8828,*); -#29724=PROPERTY_DEFINITION('',$,#29723); -#29725=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#29724); -#29726=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8828); -#29727=SHAPE_ASPECT('',$,#8828,.U.); -#29728=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11768,#29727); -#29729=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8828); -#29730=NAME_ATTRIBUTE('single instance',#8829); -#29731=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8829,*); -#29732=PROPERTY_DEFINITION('',$,#29731); -#29733=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#29732); -#29734=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8829); -#29735=SHAPE_ASPECT('',$,#8829,.U.); -#29736=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11767,#29735); -#29737=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8829); -#29738=NAME_ATTRIBUTE('single instance',#8830); -#29739=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8830,*); -#29740=PROPERTY_DEFINITION('',$,#29739); -#29741=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#29740); -#29742=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8830); -#29743=SHAPE_ASPECT('',$,#8830,.U.); -#29744=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#29743); -#29745=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8830); -#29746=NAME_ATTRIBUTE('single instance',#8831); -#29747=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8831,*); -#29748=PROPERTY_DEFINITION('',$,#29747); -#29749=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#29748); -#29750=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8831); -#29751=SHAPE_ASPECT('',$,#8831,.U.); -#29752=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11775,#29751); -#29753=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8831); -#29754=NAME_ATTRIBUTE('single instance',#8832); -#29755=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8832,*); -#29756=PROPERTY_DEFINITION('',$,#29755); -#29757=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#29756); -#29758=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8832); -#29759=SHAPE_ASPECT('',$,#8832,.U.); -#29760=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11776,#29759); -#29761=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8832); -#29762=NAME_ATTRIBUTE('single instance',#8833); -#29763=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8833,*); -#29764=PROPERTY_DEFINITION('',$,#29763); -#29765=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#29764); -#29766=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8833); -#29767=SHAPE_ASPECT('',$,#8833,.U.); -#29768=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11769,#29767); -#29769=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8833); -#29770=NAME_ATTRIBUTE('single instance',#8834); -#29771=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8834,*); -#29772=PROPERTY_DEFINITION('',$,#29771); -#29773=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#29772); -#29774=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8834); -#29775=SHAPE_ASPECT('',$,#8834,.U.); -#29776=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#29775); -#29777=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8834); -#29778=NAME_ATTRIBUTE('single instance',#8835); -#29779=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2285,$,'',$,#8835,*); -#29780=PROPERTY_DEFINITION('',$,#29779); -#29781=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#29780); -#29782=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8836,#8835); -#29783=SHAPE_ASPECT('',$,#8835,.U.); -#29784=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#29783); -#29785=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8835); -#29786=NAME_ATTRIBUTE('single instance',#8845); -#29787=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8844,#7851,$,'',$,#8845,*); -#29788=PROPERTY_DEFINITION('',$,#29787); -#29789=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#29788); -#29790=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8847,#8845); -#29791=SHAPE_ASPECT('',$,#8845,.U.); -#29792=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#29791); -#29793=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8845); -#29794=NAME_ATTRIBUTE('single instance',#8846); -#29795=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8844,#7895,$,'',$,#8846,*); -#29796=PROPERTY_DEFINITION('',$,#29795); -#29797=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#29796); -#29798=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8847,#8846); -#29799=SHAPE_ASPECT('',$,#8846,.U.); -#29800=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11778,#29799); -#29801=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8846); -#29802=NAME_ATTRIBUTE('single instance',#8854); -#29803=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8854,*); -#29804=PROPERTY_DEFINITION('',$,#29803); -#29805=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#29804); -#29806=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8854); -#29807=SHAPE_ASPECT('',$,#8854,.U.); -#29808=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11784,#29807); -#29809=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8854); -#29810=NAME_ATTRIBUTE('single instance',#8855); -#29811=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8855,*); -#29812=PROPERTY_DEFINITION('',$,#29811); -#29813=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#29812); -#29814=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8855); -#29815=SHAPE_ASPECT('',$,#8855,.U.); -#29816=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#29815); -#29817=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8855); -#29818=NAME_ATTRIBUTE('single instance',#8856); -#29819=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8856,*); -#29820=PROPERTY_DEFINITION('',$,#29819); -#29821=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#29820); -#29822=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8856); -#29823=SHAPE_ASPECT('',$,#8856,.U.); -#29824=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11783,#29823); -#29825=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8856); -#29826=NAME_ATTRIBUTE('single instance',#8857); -#29827=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8857,*); -#29828=PROPERTY_DEFINITION('',$,#29827); -#29829=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#29828); -#29830=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8857); -#29831=SHAPE_ASPECT('',$,#8857,.U.); -#29832=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11782,#29831); -#29833=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8857); -#29834=NAME_ATTRIBUTE('single instance',#8858); -#29835=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8858,*); -#29836=PROPERTY_DEFINITION('',$,#29835); -#29837=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#29836); -#29838=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8858); -#29839=SHAPE_ASPECT('',$,#8858,.U.); -#29840=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11787,#29839); -#29841=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8858); -#29842=NAME_ATTRIBUTE('single instance',#8859); -#29843=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8859,*); -#29844=PROPERTY_DEFINITION('',$,#29843); -#29845=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#29844); -#29846=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8859); -#29847=SHAPE_ASPECT('',$,#8859,.U.); -#29848=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#29847); -#29849=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8859); -#29850=NAME_ATTRIBUTE('single instance',#8860); -#29851=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8860,*); -#29852=PROPERTY_DEFINITION('',$,#29851); -#29853=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#29852); -#29854=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8860); -#29855=SHAPE_ASPECT('',$,#8860,.U.); -#29856=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#29855); -#29857=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8860); -#29858=NAME_ATTRIBUTE('single instance',#8861); -#29859=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8861,*); -#29860=PROPERTY_DEFINITION('',$,#29859); -#29861=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#29860); -#29862=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8861); -#29863=SHAPE_ASPECT('',$,#8861,.U.); -#29864=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11785,#29863); -#29865=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8861); -#29866=NAME_ATTRIBUTE('single instance',#8862); -#29867=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8862,*); -#29868=PROPERTY_DEFINITION('',$,#29867); -#29869=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#29868); -#29870=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8862); -#29871=SHAPE_ASPECT('',$,#8862,.U.); -#29872=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11780,#29871); -#29873=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8862); -#29874=NAME_ATTRIBUTE('single instance',#8863); -#29875=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8863,*); -#29876=PROPERTY_DEFINITION('',$,#29875); -#29877=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#29876); -#29878=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8863); -#29879=SHAPE_ASPECT('',$,#8863,.U.); -#29880=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11779,#29879); -#29881=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8863); -#29882=NAME_ATTRIBUTE('single instance',#8864); -#29883=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8864,*); -#29884=PROPERTY_DEFINITION('',$,#29883); -#29885=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#29884); -#29886=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8864); -#29887=SHAPE_ASPECT('',$,#8864,.U.); -#29888=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#29887); -#29889=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8864); -#29890=NAME_ATTRIBUTE('single instance',#8865); -#29891=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8865,*); -#29892=PROPERTY_DEFINITION('',$,#29891); -#29893=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#29892); -#29894=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8865); -#29895=SHAPE_ASPECT('',$,#8865,.U.); -#29896=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#29895); -#29897=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8865); -#29898=NAME_ATTRIBUTE('single instance',#8866); -#29899=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8866,*); -#29900=PROPERTY_DEFINITION('',$,#29899); -#29901=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#29900); -#29902=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8866); -#29903=SHAPE_ASPECT('',$,#8866,.U.); -#29904=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11786,#29903); -#29905=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8866); -#29906=NAME_ATTRIBUTE('single instance',#8867); -#29907=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8867,*); -#29908=PROPERTY_DEFINITION('',$,#29907); -#29909=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#29908); -#29910=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8867); -#29911=SHAPE_ASPECT('',$,#8867,.U.); -#29912=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11781,#29911); -#29913=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8867); -#29914=NAME_ATTRIBUTE('single instance',#8868); -#29915=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8868,*); -#29916=PROPERTY_DEFINITION('',$,#29915); -#29917=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#29916); -#29918=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8868); -#29919=SHAPE_ASPECT('',$,#8868,.U.); -#29920=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#29919); -#29921=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8868); -#29922=NAME_ATTRIBUTE('single instance',#8869); -#29923=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2285,$,'',$,#8869,*); -#29924=PROPERTY_DEFINITION('',$,#29923); -#29925=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#29924); -#29926=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8870,#8869); -#29927=SHAPE_ASPECT('',$,#8869,.U.); -#29928=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#29927); -#29929=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8869); -#29930=NAME_ATTRIBUTE('single instance',#8879); -#29931=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8879,*); -#29932=PROPERTY_DEFINITION('',$,#29931); -#29933=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#29932); -#29934=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8879); -#29935=SHAPE_ASPECT('',$,#8879,.U.); -#29936=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11794,#29935); -#29937=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8879); -#29938=NAME_ATTRIBUTE('single instance',#8880); -#29939=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8880,*); -#29940=PROPERTY_DEFINITION('',$,#29939); -#29941=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#29940); -#29942=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8880); -#29943=SHAPE_ASPECT('',$,#8880,.U.); -#29944=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11793,#29943); -#29945=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8880); -#29946=NAME_ATTRIBUTE('single instance',#8881); -#29947=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8881,*); -#29948=PROPERTY_DEFINITION('',$,#29947); -#29949=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#29948); -#29950=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8881); -#29951=SHAPE_ASPECT('',$,#8881,.U.); -#29952=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11792,#29951); -#29953=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8881); -#29954=NAME_ATTRIBUTE('single instance',#8882); -#29955=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8882,*); -#29956=PROPERTY_DEFINITION('',$,#29955); -#29957=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#29956); -#29958=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8882); -#29959=SHAPE_ASPECT('',$,#8882,.U.); -#29960=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11791,#29959); -#29961=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8882); -#29962=NAME_ATTRIBUTE('single instance',#8883); -#29963=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8883,*); -#29964=PROPERTY_DEFINITION('',$,#29963); -#29965=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#29964); -#29966=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8883); -#29967=SHAPE_ASPECT('',$,#8883,.U.); -#29968=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11797,#29967); -#29969=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8883); -#29970=NAME_ATTRIBUTE('single instance',#8884); -#29971=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8884,*); -#29972=PROPERTY_DEFINITION('',$,#29971); -#29973=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#29972); -#29974=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8884); -#29975=SHAPE_ASPECT('',$,#8884,.U.); -#29976=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#29975); -#29977=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8884); -#29978=NAME_ATTRIBUTE('single instance',#8885); -#29979=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8885,*); -#29980=PROPERTY_DEFINITION('',$,#29979); -#29981=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#29980); -#29982=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8885); -#29983=SHAPE_ASPECT('',$,#8885,.U.); -#29984=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11795,#29983); -#29985=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8885); -#29986=NAME_ATTRIBUTE('single instance',#8886); -#29987=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8886,*); -#29988=PROPERTY_DEFINITION('',$,#29987); -#29989=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#29988); -#29990=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8886); -#29991=SHAPE_ASPECT('',$,#8886,.U.); -#29992=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11789,#29991); -#29993=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8886); -#29994=NAME_ATTRIBUTE('single instance',#8887); -#29995=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8887,*); -#29996=PROPERTY_DEFINITION('',$,#29995); -#29997=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#29996); -#29998=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8887); -#29999=SHAPE_ASPECT('',$,#8887,.U.); -#30000=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11788,#29999); -#30001=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8887); -#30002=NAME_ATTRIBUTE('single instance',#8888); -#30003=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8888,*); -#30004=PROPERTY_DEFINITION('',$,#30003); -#30005=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#30004); -#30006=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8888); -#30007=SHAPE_ASPECT('',$,#8888,.U.); -#30008=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11147,#30007); -#30009=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8888); -#30010=NAME_ATTRIBUTE('single instance',#8889); -#30011=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8889,*); -#30012=PROPERTY_DEFINITION('',$,#30011); -#30013=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#30012); -#30014=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8889); -#30015=SHAPE_ASPECT('',$,#8889,.U.); -#30016=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11796,#30015); -#30017=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8889); -#30018=NAME_ATTRIBUTE('single instance',#8890); -#30019=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8890,*); -#30020=PROPERTY_DEFINITION('',$,#30019); -#30021=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#30020); -#30022=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8890); -#30023=SHAPE_ASPECT('',$,#8890,.U.); -#30024=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11790,#30023); -#30025=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8890); -#30026=NAME_ATTRIBUTE('single instance',#8891); -#30027=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8891,*); -#30028=PROPERTY_DEFINITION('',$,#30027); -#30029=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#30028); -#30030=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8891); -#30031=SHAPE_ASPECT('',$,#8891,.U.); -#30032=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#30031); -#30033=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8891); -#30034=NAME_ATTRIBUTE('single instance',#8892); -#30035=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8878,#7720,$,'',$,#8892,*); -#30036=PROPERTY_DEFINITION('',$,#30035); -#30037=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#30036); -#30038=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8893,#8892); -#30039=SHAPE_ASPECT('',$,#8892,.U.); -#30040=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#30039); -#30041=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#8892); -#30042=NAME_ATTRIBUTE('single instance',#8900); -#30043=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8900,*); -#30044=PROPERTY_DEFINITION('',$,#30043); -#30045=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#30044); -#30046=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8900); -#30047=SHAPE_ASPECT('',$,#8900,.U.); -#30048=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11804,#30047); -#30049=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8900); -#30050=NAME_ATTRIBUTE('single instance',#8901); -#30051=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8901,*); -#30052=PROPERTY_DEFINITION('',$,#30051); -#30053=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#30052); -#30054=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8901); -#30055=SHAPE_ASPECT('',$,#8901,.U.); -#30056=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11803,#30055); -#30057=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8901); -#30058=NAME_ATTRIBUTE('single instance',#8902); -#30059=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8902,*); -#30060=PROPERTY_DEFINITION('',$,#30059); -#30061=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#30060); -#30062=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8902); -#30063=SHAPE_ASPECT('',$,#8902,.U.); -#30064=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11802,#30063); -#30065=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8902); -#30066=NAME_ATTRIBUTE('single instance',#8903); -#30067=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8903,*); -#30068=PROPERTY_DEFINITION('',$,#30067); -#30069=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#30068); -#30070=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8903); -#30071=SHAPE_ASPECT('',$,#8903,.U.); -#30072=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11801,#30071); -#30073=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8903); -#30074=NAME_ATTRIBUTE('single instance',#8904); -#30075=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8904,*); -#30076=PROPERTY_DEFINITION('',$,#30075); -#30077=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#30076); -#30078=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8904); -#30079=SHAPE_ASPECT('',$,#8904,.U.); -#30080=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11808,#30079); -#30081=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8904); -#30082=NAME_ATTRIBUTE('single instance',#8905); -#30083=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8905,*); -#30084=PROPERTY_DEFINITION('',$,#30083); -#30085=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#30084); -#30086=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8905); -#30087=SHAPE_ASPECT('',$,#8905,.U.); -#30088=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#30087); -#30089=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8905); -#30090=NAME_ATTRIBUTE('single instance',#8906); -#30091=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8906,*); -#30092=PROPERTY_DEFINITION('',$,#30091); -#30093=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#30092); -#30094=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8906); -#30095=SHAPE_ASPECT('',$,#8906,.U.); -#30096=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#30095); -#30097=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8906); -#30098=NAME_ATTRIBUTE('single instance',#8907); -#30099=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8907,*); -#30100=PROPERTY_DEFINITION('',$,#30099); -#30101=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#30100); -#30102=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8907); -#30103=SHAPE_ASPECT('',$,#8907,.U.); -#30104=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11805,#30103); -#30105=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8907); -#30106=NAME_ATTRIBUTE('single instance',#8908); -#30107=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8908,*); -#30108=PROPERTY_DEFINITION('',$,#30107); -#30109=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#30108); -#30110=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8908); -#30111=SHAPE_ASPECT('',$,#8908,.U.); -#30112=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11799,#30111); -#30113=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8908); -#30114=NAME_ATTRIBUTE('single instance',#8909); -#30115=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8909,*); -#30116=PROPERTY_DEFINITION('',$,#30115); -#30117=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#30116); -#30118=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8909); -#30119=SHAPE_ASPECT('',$,#8909,.U.); -#30120=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11798,#30119); -#30121=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8909); -#30122=NAME_ATTRIBUTE('single instance',#8910); -#30123=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8910,*); -#30124=PROPERTY_DEFINITION('',$,#30123); -#30125=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#30124); -#30126=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8910); -#30127=SHAPE_ASPECT('',$,#8910,.U.); -#30128=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#30127); -#30129=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8910); -#30130=NAME_ATTRIBUTE('single instance',#8911); -#30131=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8911,*); -#30132=PROPERTY_DEFINITION('',$,#30131); -#30133=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#30132); -#30134=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8911); -#30135=SHAPE_ASPECT('',$,#8911,.U.); -#30136=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11806,#30135); -#30137=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8911); -#30138=NAME_ATTRIBUTE('single instance',#8912); -#30139=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8912,*); -#30140=PROPERTY_DEFINITION('',$,#30139); -#30141=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#30140); -#30142=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8912); -#30143=SHAPE_ASPECT('',$,#8912,.U.); -#30144=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11807,#30143); -#30145=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8912); -#30146=NAME_ATTRIBUTE('single instance',#8913); -#30147=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8913,*); -#30148=PROPERTY_DEFINITION('',$,#30147); -#30149=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#30148); -#30150=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8913); -#30151=SHAPE_ASPECT('',$,#8913,.U.); -#30152=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11800,#30151); -#30153=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8913); -#30154=NAME_ATTRIBUTE('single instance',#8914); -#30155=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8914,*); -#30156=PROPERTY_DEFINITION('',$,#30155); -#30157=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#30156); -#30158=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8914); -#30159=SHAPE_ASPECT('',$,#8914,.U.); -#30160=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#30159); -#30161=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8914); -#30162=NAME_ATTRIBUTE('single instance',#8915); -#30163=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2285,$,'',$,#8915,*); -#30164=PROPERTY_DEFINITION('',$,#30163); -#30165=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#30164); -#30166=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8916,#8915); -#30167=SHAPE_ASPECT('',$,#8915,.U.); -#30168=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#30167); -#30169=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8915); -#30170=NAME_ATTRIBUTE('single instance',#8925); -#30171=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8924,#7895,$,'',$,#8925,*); -#30172=PROPERTY_DEFINITION('',$,#30171); -#30173=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#30172); -#30174=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8927,#8925); -#30175=SHAPE_ASPECT('',$,#8925,.U.); -#30176=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11809,#30175); -#30177=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#8925); -#30178=NAME_ATTRIBUTE('single instance',#8926); -#30179=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8924,#7851,$,'',$,#8926,*); -#30180=PROPERTY_DEFINITION('',$,#30179); -#30181=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#30180); -#30182=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8927,#8926); -#30183=SHAPE_ASPECT('',$,#8926,.U.); -#30184=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11147,#30183); -#30185=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#8926); -#30186=NAME_ATTRIBUTE('single instance',#8934); -#30187=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8934,*); -#30188=PROPERTY_DEFINITION('',$,#30187); -#30189=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#30188); -#30190=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8934); -#30191=SHAPE_ASPECT('',$,#8934,.U.); -#30192=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11815,#30191); -#30193=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8934); -#30194=NAME_ATTRIBUTE('single instance',#8935); -#30195=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8935,*); -#30196=PROPERTY_DEFINITION('',$,#30195); -#30197=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#30196); -#30198=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8935); -#30199=SHAPE_ASPECT('',$,#8935,.U.); -#30200=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#30199); -#30201=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8935); -#30202=NAME_ATTRIBUTE('single instance',#8936); -#30203=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8936,*); -#30204=PROPERTY_DEFINITION('',$,#30203); -#30205=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#30204); -#30206=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8936); -#30207=SHAPE_ASPECT('',$,#8936,.U.); -#30208=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11814,#30207); -#30209=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8936); -#30210=NAME_ATTRIBUTE('single instance',#8937); -#30211=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8937,*); -#30212=PROPERTY_DEFINITION('',$,#30211); -#30213=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#30212); -#30214=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8937); -#30215=SHAPE_ASPECT('',$,#8937,.U.); -#30216=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11813,#30215); -#30217=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8937); -#30218=NAME_ATTRIBUTE('single instance',#8938); -#30219=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8938,*); -#30220=PROPERTY_DEFINITION('',$,#30219); -#30221=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#30220); -#30222=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8938); -#30223=SHAPE_ASPECT('',$,#8938,.U.); -#30224=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11818,#30223); -#30225=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8938); -#30226=NAME_ATTRIBUTE('single instance',#8939); -#30227=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8939,*); -#30228=PROPERTY_DEFINITION('',$,#30227); -#30229=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#30228); -#30230=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8939); -#30231=SHAPE_ASPECT('',$,#8939,.U.); -#30232=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#30231); -#30233=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8939); -#30234=NAME_ATTRIBUTE('single instance',#8940); -#30235=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8940,*); -#30236=PROPERTY_DEFINITION('',$,#30235); -#30237=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#30236); -#30238=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8940); -#30239=SHAPE_ASPECT('',$,#8940,.U.); -#30240=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#30239); -#30241=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8940); -#30242=NAME_ATTRIBUTE('single instance',#8941); -#30243=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8941,*); -#30244=PROPERTY_DEFINITION('',$,#30243); -#30245=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#30244); -#30246=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8941); -#30247=SHAPE_ASPECT('',$,#8941,.U.); -#30248=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11816,#30247); -#30249=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8941); -#30250=NAME_ATTRIBUTE('single instance',#8942); -#30251=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8942,*); -#30252=PROPERTY_DEFINITION('',$,#30251); -#30253=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#30252); -#30254=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8942); -#30255=SHAPE_ASPECT('',$,#8942,.U.); -#30256=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11811,#30255); -#30257=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8942); -#30258=NAME_ATTRIBUTE('single instance',#8943); -#30259=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8943,*); -#30260=PROPERTY_DEFINITION('',$,#30259); -#30261=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#30260); -#30262=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8943); -#30263=SHAPE_ASPECT('',$,#8943,.U.); -#30264=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11810,#30263); -#30265=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8943); -#30266=NAME_ATTRIBUTE('single instance',#8944); -#30267=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8944,*); -#30268=PROPERTY_DEFINITION('',$,#30267); -#30269=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#30268); -#30270=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8944); -#30271=SHAPE_ASPECT('',$,#8944,.U.); -#30272=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#30271); -#30273=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8944); -#30274=NAME_ATTRIBUTE('single instance',#8945); -#30275=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8945,*); -#30276=PROPERTY_DEFINITION('',$,#30275); -#30277=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#30276); -#30278=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8945); -#30279=SHAPE_ASPECT('',$,#8945,.U.); -#30280=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#30279); -#30281=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8945); -#30282=NAME_ATTRIBUTE('single instance',#8946); -#30283=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8946,*); -#30284=PROPERTY_DEFINITION('',$,#30283); -#30285=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#30284); -#30286=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8946); -#30287=SHAPE_ASPECT('',$,#8946,.U.); -#30288=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11817,#30287); -#30289=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8946); -#30290=NAME_ATTRIBUTE('single instance',#8947); -#30291=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8947,*); -#30292=PROPERTY_DEFINITION('',$,#30291); -#30293=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#30292); -#30294=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8947); -#30295=SHAPE_ASPECT('',$,#8947,.U.); -#30296=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11812,#30295); -#30297=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8947); -#30298=NAME_ATTRIBUTE('single instance',#8948); -#30299=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8948,*); -#30300=PROPERTY_DEFINITION('',$,#30299); -#30301=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#30300); -#30302=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8948); -#30303=SHAPE_ASPECT('',$,#8948,.U.); -#30304=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#30303); -#30305=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8948); -#30306=NAME_ATTRIBUTE('single instance',#8949); -#30307=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2285,$,'',$,#8949,*); -#30308=PROPERTY_DEFINITION('',$,#30307); -#30309=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#30308); -#30310=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8950,#8949); -#30311=SHAPE_ASPECT('',$,#8949,.U.); -#30312=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#30311); -#30313=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8949); -#30314=NAME_ATTRIBUTE('single instance',#8958); -#30315=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8958,*); -#30316=PROPERTY_DEFINITION('',$,#30315); -#30317=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#30316); -#30318=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8958); -#30319=SHAPE_ASPECT('',$,#8958,.U.); -#30320=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11824,#30319); -#30321=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8958); -#30322=NAME_ATTRIBUTE('single instance',#8959); -#30323=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8959,*); -#30324=PROPERTY_DEFINITION('',$,#30323); -#30325=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#30324); -#30326=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8959); -#30327=SHAPE_ASPECT('',$,#8959,.U.); -#30328=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#30327); -#30329=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8959); -#30330=NAME_ATTRIBUTE('single instance',#8960); -#30331=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8960,*); -#30332=PROPERTY_DEFINITION('',$,#30331); -#30333=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#30332); -#30334=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8960); -#30335=SHAPE_ASPECT('',$,#8960,.U.); -#30336=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11823,#30335); -#30337=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8960); -#30338=NAME_ATTRIBUTE('single instance',#8961); -#30339=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8961,*); -#30340=PROPERTY_DEFINITION('',$,#30339); -#30341=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#30340); -#30342=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8961); -#30343=SHAPE_ASPECT('',$,#8961,.U.); -#30344=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11822,#30343); -#30345=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8961); -#30346=NAME_ATTRIBUTE('single instance',#8962); -#30347=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8962,*); -#30348=PROPERTY_DEFINITION('',$,#30347); -#30349=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#30348); -#30350=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8962); -#30351=SHAPE_ASPECT('',$,#8962,.U.); -#30352=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11827,#30351); -#30353=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8962); -#30354=NAME_ATTRIBUTE('single instance',#8963); -#30355=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8963,*); -#30356=PROPERTY_DEFINITION('',$,#30355); -#30357=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#30356); -#30358=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8963); -#30359=SHAPE_ASPECT('',$,#8963,.U.); -#30360=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#30359); -#30361=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8963); -#30362=NAME_ATTRIBUTE('single instance',#8964); -#30363=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8964,*); -#30364=PROPERTY_DEFINITION('',$,#30363); -#30365=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#30364); -#30366=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8964); -#30367=SHAPE_ASPECT('',$,#8964,.U.); -#30368=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#30367); -#30369=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8964); -#30370=NAME_ATTRIBUTE('single instance',#8965); -#30371=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8965,*); -#30372=PROPERTY_DEFINITION('',$,#30371); -#30373=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#30372); -#30374=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8965); -#30375=SHAPE_ASPECT('',$,#8965,.U.); -#30376=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11825,#30375); -#30377=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8965); -#30378=NAME_ATTRIBUTE('single instance',#8966); -#30379=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8966,*); -#30380=PROPERTY_DEFINITION('',$,#30379); -#30381=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#30380); -#30382=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8966); -#30383=SHAPE_ASPECT('',$,#8966,.U.); -#30384=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11820,#30383); -#30385=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8966); -#30386=NAME_ATTRIBUTE('single instance',#8967); -#30387=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8967,*); -#30388=PROPERTY_DEFINITION('',$,#30387); -#30389=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#30388); -#30390=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8967); -#30391=SHAPE_ASPECT('',$,#8967,.U.); -#30392=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11819,#30391); -#30393=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8967); -#30394=NAME_ATTRIBUTE('single instance',#8968); -#30395=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8968,*); -#30396=PROPERTY_DEFINITION('',$,#30395); -#30397=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#30396); -#30398=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8968); -#30399=SHAPE_ASPECT('',$,#8968,.U.); -#30400=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#30399); -#30401=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8968); -#30402=NAME_ATTRIBUTE('single instance',#8969); -#30403=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8969,*); -#30404=PROPERTY_DEFINITION('',$,#30403); -#30405=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#30404); -#30406=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8969); -#30407=SHAPE_ASPECT('',$,#8969,.U.); -#30408=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#30407); -#30409=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8969); -#30410=NAME_ATTRIBUTE('single instance',#8970); -#30411=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8970,*); -#30412=PROPERTY_DEFINITION('',$,#30411); -#30413=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#30412); -#30414=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8970); -#30415=SHAPE_ASPECT('',$,#8970,.U.); -#30416=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11826,#30415); -#30417=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8970); -#30418=NAME_ATTRIBUTE('single instance',#8971); -#30419=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8971,*); -#30420=PROPERTY_DEFINITION('',$,#30419); -#30421=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#30420); -#30422=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8971); -#30423=SHAPE_ASPECT('',$,#8971,.U.); -#30424=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11821,#30423); -#30425=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8971); -#30426=NAME_ATTRIBUTE('single instance',#8972); -#30427=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8972,*); -#30428=PROPERTY_DEFINITION('',$,#30427); -#30429=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#30428); -#30430=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8972); -#30431=SHAPE_ASPECT('',$,#8972,.U.); -#30432=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#30431); -#30433=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8972); -#30434=NAME_ATTRIBUTE('single instance',#8973); -#30435=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2285,$,'',$,#8973,*); -#30436=PROPERTY_DEFINITION('',$,#30435); -#30437=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#30436); -#30438=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8974,#8973); -#30439=SHAPE_ASPECT('',$,#8973,.U.); -#30440=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#30439); -#30441=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8973); -#30442=NAME_ATTRIBUTE('single instance',#8983); -#30443=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8983,*); -#30444=PROPERTY_DEFINITION('',$,#30443); -#30445=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#30444); -#30446=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8983); -#30447=SHAPE_ASPECT('',$,#8983,.U.); -#30448=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11833,#30447); -#30449=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8983); -#30450=NAME_ATTRIBUTE('single instance',#8984); -#30451=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8984,*); -#30452=PROPERTY_DEFINITION('',$,#30451); -#30453=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#30452); -#30454=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8984); -#30455=SHAPE_ASPECT('',$,#8984,.U.); -#30456=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#30455); -#30457=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8984); -#30458=NAME_ATTRIBUTE('single instance',#8985); -#30459=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8985,*); -#30460=PROPERTY_DEFINITION('',$,#30459); -#30461=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#30460); -#30462=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8985); -#30463=SHAPE_ASPECT('',$,#8985,.U.); -#30464=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11832,#30463); -#30465=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8985); -#30466=NAME_ATTRIBUTE('single instance',#8986); -#30467=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8986,*); -#30468=PROPERTY_DEFINITION('',$,#30467); -#30469=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#30468); -#30470=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8986); -#30471=SHAPE_ASPECT('',$,#8986,.U.); -#30472=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11831,#30471); -#30473=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8986); -#30474=NAME_ATTRIBUTE('single instance',#8987); -#30475=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8987,*); -#30476=PROPERTY_DEFINITION('',$,#30475); -#30477=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#30476); -#30478=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8987); -#30479=SHAPE_ASPECT('',$,#8987,.U.); -#30480=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11836,#30479); -#30481=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8987); -#30482=NAME_ATTRIBUTE('single instance',#8988); -#30483=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8988,*); -#30484=PROPERTY_DEFINITION('',$,#30483); -#30485=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#30484); -#30486=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8988); -#30487=SHAPE_ASPECT('',$,#8988,.U.); -#30488=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#30487); -#30489=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8988); -#30490=NAME_ATTRIBUTE('single instance',#8989); -#30491=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8989,*); -#30492=PROPERTY_DEFINITION('',$,#30491); -#30493=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#30492); -#30494=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8989); -#30495=SHAPE_ASPECT('',$,#8989,.U.); -#30496=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#30495); -#30497=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8989); -#30498=NAME_ATTRIBUTE('single instance',#8990); -#30499=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8990,*); -#30500=PROPERTY_DEFINITION('',$,#30499); -#30501=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#30500); -#30502=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8990); -#30503=SHAPE_ASPECT('',$,#8990,.U.); -#30504=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11834,#30503); -#30505=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8990); -#30506=NAME_ATTRIBUTE('single instance',#8991); -#30507=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8991,*); -#30508=PROPERTY_DEFINITION('',$,#30507); -#30509=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#30508); -#30510=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8991); -#30511=SHAPE_ASPECT('',$,#8991,.U.); -#30512=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11829,#30511); -#30513=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8991); -#30514=NAME_ATTRIBUTE('single instance',#8992); -#30515=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8992,*); -#30516=PROPERTY_DEFINITION('',$,#30515); -#30517=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#30516); -#30518=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8992); -#30519=SHAPE_ASPECT('',$,#8992,.U.); -#30520=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11828,#30519); -#30521=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8992); -#30522=NAME_ATTRIBUTE('single instance',#8993); -#30523=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8993,*); -#30524=PROPERTY_DEFINITION('',$,#30523); -#30525=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#30524); -#30526=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8993); -#30527=SHAPE_ASPECT('',$,#8993,.U.); -#30528=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#30527); -#30529=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8993); -#30530=NAME_ATTRIBUTE('single instance',#8994); -#30531=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8994,*); -#30532=PROPERTY_DEFINITION('',$,#30531); -#30533=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#30532); -#30534=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8994); -#30535=SHAPE_ASPECT('',$,#8994,.U.); -#30536=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#30535); -#30537=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8994); -#30538=NAME_ATTRIBUTE('single instance',#8995); -#30539=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8995,*); -#30540=PROPERTY_DEFINITION('',$,#30539); -#30541=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#30540); -#30542=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8995); -#30543=SHAPE_ASPECT('',$,#8995,.U.); -#30544=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11835,#30543); -#30545=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8995); -#30546=NAME_ATTRIBUTE('single instance',#8996); -#30547=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8996,*); -#30548=PROPERTY_DEFINITION('',$,#30547); -#30549=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#30548); -#30550=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8996); -#30551=SHAPE_ASPECT('',$,#8996,.U.); -#30552=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11830,#30551); -#30553=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8996); -#30554=NAME_ATTRIBUTE('single instance',#8997); -#30555=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8997,*); -#30556=PROPERTY_DEFINITION('',$,#30555); -#30557=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#30556); -#30558=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8997); -#30559=SHAPE_ASPECT('',$,#8997,.U.); -#30560=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#30559); -#30561=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8997); -#30562=NAME_ATTRIBUTE('single instance',#8998); -#30563=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2285,$,'',$,#8998,*); -#30564=PROPERTY_DEFINITION('',$,#30563); -#30565=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#30564); -#30566=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#8999,#8998); -#30567=SHAPE_ASPECT('',$,#8998,.U.); -#30568=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#30567); -#30569=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#8998); -#30570=NAME_ATTRIBUTE('single instance',#9007); -#30571=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9007,*); -#30572=PROPERTY_DEFINITION('',$,#30571); -#30573=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#30572); -#30574=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9007); -#30575=SHAPE_ASPECT('',$,#9007,.U.); -#30576=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11842,#30575); -#30577=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9007); -#30578=NAME_ATTRIBUTE('single instance',#9008); -#30579=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9008,*); -#30580=PROPERTY_DEFINITION('',$,#30579); -#30581=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#30580); -#30582=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9008); -#30583=SHAPE_ASPECT('',$,#9008,.U.); -#30584=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#30583); -#30585=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9008); -#30586=NAME_ATTRIBUTE('single instance',#9009); -#30587=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9009,*); -#30588=PROPERTY_DEFINITION('',$,#30587); -#30589=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#30588); -#30590=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9009); -#30591=SHAPE_ASPECT('',$,#9009,.U.); -#30592=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11841,#30591); -#30593=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9009); -#30594=NAME_ATTRIBUTE('single instance',#9010); -#30595=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9010,*); -#30596=PROPERTY_DEFINITION('',$,#30595); -#30597=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#30596); -#30598=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9010); -#30599=SHAPE_ASPECT('',$,#9010,.U.); -#30600=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11840,#30599); -#30601=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9010); -#30602=NAME_ATTRIBUTE('single instance',#9011); -#30603=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9011,*); -#30604=PROPERTY_DEFINITION('',$,#30603); -#30605=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#30604); -#30606=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9011); -#30607=SHAPE_ASPECT('',$,#9011,.U.); -#30608=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11845,#30607); -#30609=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9011); -#30610=NAME_ATTRIBUTE('single instance',#9012); -#30611=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9012,*); -#30612=PROPERTY_DEFINITION('',$,#30611); -#30613=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#30612); -#30614=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9012); -#30615=SHAPE_ASPECT('',$,#9012,.U.); -#30616=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#30615); -#30617=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9012); -#30618=NAME_ATTRIBUTE('single instance',#9013); -#30619=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9013,*); -#30620=PROPERTY_DEFINITION('',$,#30619); -#30621=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#30620); -#30622=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9013); -#30623=SHAPE_ASPECT('',$,#9013,.U.); -#30624=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#30623); -#30625=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9013); -#30626=NAME_ATTRIBUTE('single instance',#9014); -#30627=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9014,*); -#30628=PROPERTY_DEFINITION('',$,#30627); -#30629=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#30628); -#30630=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9014); -#30631=SHAPE_ASPECT('',$,#9014,.U.); -#30632=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11843,#30631); -#30633=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9014); -#30634=NAME_ATTRIBUTE('single instance',#9015); -#30635=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9015,*); -#30636=PROPERTY_DEFINITION('',$,#30635); -#30637=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#30636); -#30638=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9015); -#30639=SHAPE_ASPECT('',$,#9015,.U.); -#30640=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11838,#30639); -#30641=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9015); -#30642=NAME_ATTRIBUTE('single instance',#9016); -#30643=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9016,*); -#30644=PROPERTY_DEFINITION('',$,#30643); -#30645=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#30644); -#30646=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9016); -#30647=SHAPE_ASPECT('',$,#9016,.U.); -#30648=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11837,#30647); -#30649=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9016); -#30650=NAME_ATTRIBUTE('single instance',#9017); -#30651=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9017,*); -#30652=PROPERTY_DEFINITION('',$,#30651); -#30653=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#30652); -#30654=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9017); -#30655=SHAPE_ASPECT('',$,#9017,.U.); -#30656=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#30655); -#30657=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9017); -#30658=NAME_ATTRIBUTE('single instance',#9018); -#30659=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9018,*); -#30660=PROPERTY_DEFINITION('',$,#30659); -#30661=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#30660); -#30662=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9018); -#30663=SHAPE_ASPECT('',$,#9018,.U.); -#30664=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#30663); -#30665=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9018); -#30666=NAME_ATTRIBUTE('single instance',#9019); -#30667=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9019,*); -#30668=PROPERTY_DEFINITION('',$,#30667); -#30669=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#30668); -#30670=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9019); -#30671=SHAPE_ASPECT('',$,#9019,.U.); -#30672=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11844,#30671); -#30673=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9019); -#30674=NAME_ATTRIBUTE('single instance',#9020); -#30675=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9020,*); -#30676=PROPERTY_DEFINITION('',$,#30675); -#30677=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#30676); -#30678=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9020); -#30679=SHAPE_ASPECT('',$,#9020,.U.); -#30680=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11839,#30679); -#30681=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9020); -#30682=NAME_ATTRIBUTE('single instance',#9021); -#30683=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9021,*); -#30684=PROPERTY_DEFINITION('',$,#30683); -#30685=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#30684); -#30686=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9021); -#30687=SHAPE_ASPECT('',$,#9021,.U.); -#30688=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#30687); -#30689=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9021); -#30690=NAME_ATTRIBUTE('single instance',#9022); -#30691=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2285,$,'',$,#9022,*); -#30692=PROPERTY_DEFINITION('',$,#30691); -#30693=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#30692); -#30694=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9023,#9022); -#30695=SHAPE_ASPECT('',$,#9022,.U.); -#30696=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#30695); -#30697=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9022); -#30698=NAME_ATTRIBUTE('single instance',#9031); -#30699=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9031,*); -#30700=PROPERTY_DEFINITION('',$,#30699); -#30701=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#30700); -#30702=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9031); -#30703=SHAPE_ASPECT('',$,#9031,.U.); -#30704=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11851,#30703); -#30705=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9031); -#30706=NAME_ATTRIBUTE('single instance',#9032); -#30707=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9032,*); -#30708=PROPERTY_DEFINITION('',$,#30707); -#30709=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#30708); -#30710=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9032); -#30711=SHAPE_ASPECT('',$,#9032,.U.); -#30712=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11143,#30711); -#30713=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9032); -#30714=NAME_ATTRIBUTE('single instance',#9033); -#30715=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9033,*); -#30716=PROPERTY_DEFINITION('',$,#30715); -#30717=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#30716); -#30718=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9033); -#30719=SHAPE_ASPECT('',$,#9033,.U.); -#30720=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11850,#30719); -#30721=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9033); -#30722=NAME_ATTRIBUTE('single instance',#9034); -#30723=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9034,*); -#30724=PROPERTY_DEFINITION('',$,#30723); -#30725=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#30724); -#30726=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9034); -#30727=SHAPE_ASPECT('',$,#9034,.U.); -#30728=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11849,#30727); -#30729=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9034); -#30730=NAME_ATTRIBUTE('single instance',#9035); -#30731=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9035,*); -#30732=PROPERTY_DEFINITION('',$,#30731); -#30733=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#30732); -#30734=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9035); -#30735=SHAPE_ASPECT('',$,#9035,.U.); -#30736=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11854,#30735); -#30737=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9035); -#30738=NAME_ATTRIBUTE('single instance',#9036); -#30739=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9036,*); -#30740=PROPERTY_DEFINITION('',$,#30739); -#30741=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#30740); -#30742=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9036); -#30743=SHAPE_ASPECT('',$,#9036,.U.); -#30744=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#30743); -#30745=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9036); -#30746=NAME_ATTRIBUTE('single instance',#9037); -#30747=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9037,*); -#30748=PROPERTY_DEFINITION('',$,#30747); -#30749=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#30748); -#30750=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9037); -#30751=SHAPE_ASPECT('',$,#9037,.U.); -#30752=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11852,#30751); -#30753=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9037); -#30754=NAME_ATTRIBUTE('single instance',#9038); -#30755=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9038,*); -#30756=PROPERTY_DEFINITION('',$,#30755); -#30757=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#30756); -#30758=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9038); -#30759=SHAPE_ASPECT('',$,#9038,.U.); -#30760=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11847,#30759); -#30761=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9038); -#30762=NAME_ATTRIBUTE('single instance',#9039); -#30763=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9039,*); -#30764=PROPERTY_DEFINITION('',$,#30763); -#30765=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#30764); -#30766=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9039); -#30767=SHAPE_ASPECT('',$,#9039,.U.); -#30768=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11846,#30767); -#30769=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9039); -#30770=NAME_ATTRIBUTE('single instance',#9040); -#30771=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9040,*); -#30772=PROPERTY_DEFINITION('',$,#30771); -#30773=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#30772); -#30774=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9040); -#30775=SHAPE_ASPECT('',$,#9040,.U.); -#30776=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11149,#30775); -#30777=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9040); -#30778=NAME_ATTRIBUTE('single instance',#9041); -#30779=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9041,*); -#30780=PROPERTY_DEFINITION('',$,#30779); -#30781=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#30780); -#30782=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9041); -#30783=SHAPE_ASPECT('',$,#9041,.U.); -#30784=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11853,#30783); -#30785=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9041); -#30786=NAME_ATTRIBUTE('single instance',#9042); -#30787=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9042,*); -#30788=PROPERTY_DEFINITION('',$,#30787); -#30789=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#30788); -#30790=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9042); -#30791=SHAPE_ASPECT('',$,#9042,.U.); -#30792=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11848,#30791); -#30793=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9042); -#30794=NAME_ATTRIBUTE('single instance',#9043); -#30795=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9043,*); -#30796=PROPERTY_DEFINITION('',$,#30795); -#30797=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#30796); -#30798=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9043); -#30799=SHAPE_ASPECT('',$,#9043,.U.); -#30800=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#30799); -#30801=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9043); -#30802=NAME_ATTRIBUTE('single instance',#9044); -#30803=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9030,#7720,$,'',$,#9044,*); -#30804=PROPERTY_DEFINITION('',$,#30803); -#30805=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#30804); -#30806=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9045,#9044); -#30807=SHAPE_ASPECT('',$,#9044,.U.); -#30808=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#30807); -#30809=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9044); -#30810=NAME_ATTRIBUTE('single instance',#9051); -#30811=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9051,*); -#30812=PROPERTY_DEFINITION('',$,#30811); -#30813=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22139,#30812); -#30814=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9051); -#30815=SHAPE_ASPECT('',$,#9051,.U.); -#30816=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11861,#30815); -#30817=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9051); -#30818=NAME_ATTRIBUTE('single instance',#9052); -#30819=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9052,*); -#30820=PROPERTY_DEFINITION('',$,#30819); -#30821=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22133,#30820); -#30822=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9052); -#30823=SHAPE_ASPECT('',$,#9052,.U.); -#30824=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11860,#30823); -#30825=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9052); -#30826=NAME_ATTRIBUTE('single instance',#9053); -#30827=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9053,*); -#30828=PROPERTY_DEFINITION('',$,#30827); -#30829=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22127,#30828); -#30830=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9053); -#30831=SHAPE_ASPECT('',$,#9053,.U.); -#30832=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11859,#30831); -#30833=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9053); -#30834=NAME_ATTRIBUTE('single instance',#9054); -#30835=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9054,*); -#30836=PROPERTY_DEFINITION('',$,#30835); -#30837=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22121,#30836); -#30838=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9054); -#30839=SHAPE_ASPECT('',$,#9054,.U.); -#30840=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11858,#30839); -#30841=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9054); -#30842=NAME_ATTRIBUTE('single instance',#9055); -#30843=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9055,*); -#30844=PROPERTY_DEFINITION('',$,#30843); -#30845=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22112,#30844); -#30846=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9055); -#30847=SHAPE_ASPECT('',$,#9055,.U.); -#30848=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11865,#30847); -#30849=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9055); -#30850=NAME_ATTRIBUTE('single instance',#9056); -#30851=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9056,*); -#30852=PROPERTY_DEFINITION('',$,#30851); -#30853=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22106,#30852); -#30854=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9056); -#30855=SHAPE_ASPECT('',$,#9056,.U.); -#30856=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11141,#30855); -#30857=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9056); -#30858=NAME_ATTRIBUTE('single instance',#9057); -#30859=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9057,*); -#30860=PROPERTY_DEFINITION('',$,#30859); -#30861=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22100,#30860); -#30862=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9057); -#30863=SHAPE_ASPECT('',$,#9057,.U.); -#30864=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11151,#30863); -#30865=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9057); -#30866=NAME_ATTRIBUTE('single instance',#9058); -#30867=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9058,*); -#30868=PROPERTY_DEFINITION('',$,#30867); -#30869=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22094,#30868); -#30870=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9058); -#30871=SHAPE_ASPECT('',$,#9058,.U.); -#30872=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11862,#30871); -#30873=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9058); -#30874=NAME_ATTRIBUTE('single instance',#9059); -#30875=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9059,*); -#30876=PROPERTY_DEFINITION('',$,#30875); -#30877=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22088,#30876); -#30878=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9059); -#30879=SHAPE_ASPECT('',$,#9059,.U.); -#30880=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11856,#30879); -#30881=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9059); -#30882=NAME_ATTRIBUTE('single instance',#9060); -#30883=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9060,*); -#30884=PROPERTY_DEFINITION('',$,#30883); -#30885=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22082,#30884); -#30886=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9060); -#30887=SHAPE_ASPECT('',$,#9060,.U.); -#30888=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11855,#30887); -#30889=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9060); -#30890=NAME_ATTRIBUTE('single instance',#9061); -#30891=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9061,*); -#30892=PROPERTY_DEFINITION('',$,#30891); -#30893=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22076,#30892); -#30894=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9061); -#30895=SHAPE_ASPECT('',$,#9061,.U.); -#30896=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11145,#30895); -#30897=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9061); -#30898=NAME_ATTRIBUTE('single instance',#9062); -#30899=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9062,*); -#30900=PROPERTY_DEFINITION('',$,#30899); -#30901=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22066,#30900); -#30902=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9062); -#30903=SHAPE_ASPECT('',$,#9062,.U.); -#30904=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11863,#30903); -#30905=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9062); -#30906=NAME_ATTRIBUTE('single instance',#9063); -#30907=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9063,*); -#30908=PROPERTY_DEFINITION('',$,#30907); -#30909=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22060,#30908); -#30910=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9063); -#30911=SHAPE_ASPECT('',$,#9063,.U.); -#30912=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11864,#30911); -#30913=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9063); -#30914=NAME_ATTRIBUTE('single instance',#9064); -#30915=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9064,*); -#30916=PROPERTY_DEFINITION('',$,#30915); -#30917=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22054,#30916); -#30918=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9064); -#30919=SHAPE_ASPECT('',$,#9064,.U.); -#30920=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11857,#30919); -#30921=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9064); -#30922=NAME_ATTRIBUTE('single instance',#9065); -#30923=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9065,*); -#30924=PROPERTY_DEFINITION('',$,#30923); -#30925=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22048,#30924); -#30926=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9065); -#30927=SHAPE_ASPECT('',$,#9065,.U.); -#30928=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11153,#30927); -#30929=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9065); -#30930=NAME_ATTRIBUTE('single instance',#9066); -#30931=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2285,$,'',$,#9066,*); -#30932=PROPERTY_DEFINITION('',$,#30931); -#30933=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22041,#30932); -#30934=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9067,#9066); -#30935=SHAPE_ASPECT('',$,#9066,.U.); -#30936=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11155,#30935); -#30937=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2288,#9066); -#30938=NAME_ATTRIBUTE('single instance',#9109); -#30939=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9109,*); -#30940=PROPERTY_DEFINITION('',$,#30939); -#30941=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#30940); -#30942=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9109); -#30943=SHAPE_ASPECT('',$,#9109,.U.); -#30944=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11873,#30943); -#30945=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9109); -#30946=NAME_ATTRIBUTE('single instance',#9110); -#30947=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9110,*); -#30948=PROPERTY_DEFINITION('',$,#30947); -#30949=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#30948); -#30950=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9110); -#30951=SHAPE_ASPECT('',$,#9110,.U.); -#30952=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11871,#30951); -#30953=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9110); -#30954=NAME_ATTRIBUTE('single instance',#9111); -#30955=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9111,*); -#30956=PROPERTY_DEFINITION('',$,#30955); -#30957=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#30956); -#30958=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9111); -#30959=SHAPE_ASPECT('',$,#9111,.U.); -#30960=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11870,#30959); -#30961=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9111); -#30962=NAME_ATTRIBUTE('single instance',#9112); -#30963=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9112,*); -#30964=PROPERTY_DEFINITION('',$,#30963); -#30965=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#30964); -#30966=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9112); -#30967=SHAPE_ASPECT('',$,#9112,.U.); -#30968=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11249,#30967); -#30969=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9112); -#30970=NAME_ATTRIBUTE('single instance',#9113); -#30971=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9113,*); -#30972=PROPERTY_DEFINITION('',$,#30971); -#30973=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#30972); -#30974=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9113); -#30975=SHAPE_ASPECT('',$,#9113,.U.); -#30976=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11877,#30975); -#30977=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9113); -#30978=NAME_ATTRIBUTE('single instance',#9114); -#30979=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9114,*); -#30980=PROPERTY_DEFINITION('',$,#30979); -#30981=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#30980); -#30982=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9114); -#30983=SHAPE_ASPECT('',$,#9114,.U.); -#30984=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11875,#30983); -#30985=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9114); -#30986=NAME_ATTRIBUTE('single instance',#9115); -#30987=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9115,*); -#30988=PROPERTY_DEFINITION('',$,#30987); -#30989=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#30988); -#30990=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9115); -#30991=SHAPE_ASPECT('',$,#9115,.U.); -#30992=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11874,#30991); -#30993=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9115); -#30994=NAME_ATTRIBUTE('single instance',#9116); -#30995=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9116,*); -#30996=PROPERTY_DEFINITION('',$,#30995); -#30997=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#30996); -#30998=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9116); -#30999=SHAPE_ASPECT('',$,#9116,.U.); -#31000=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11867,#30999); -#31001=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9116); -#31002=NAME_ATTRIBUTE('single instance',#9117); -#31003=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9117,*); -#31004=PROPERTY_DEFINITION('',$,#31003); -#31005=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#31004); -#31006=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9117); -#31007=SHAPE_ASPECT('',$,#9117,.U.); -#31008=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11866,#31007); -#31009=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9117); -#31010=NAME_ATTRIBUTE('single instance',#9118); -#31011=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9118,*); -#31012=PROPERTY_DEFINITION('',$,#31011); -#31013=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#31012); -#31014=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9118); -#31015=SHAPE_ASPECT('',$,#9118,.U.); -#31016=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11247,#31015); -#31017=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9118); -#31018=NAME_ATTRIBUTE('single instance',#9119); -#31019=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9119,*); -#31020=PROPERTY_DEFINITION('',$,#31019); -#31021=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#31020); -#31022=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9119); -#31023=SHAPE_ASPECT('',$,#9119,.U.); -#31024=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11876,#31023); -#31025=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9119); -#31026=NAME_ATTRIBUTE('single instance',#9120); -#31027=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9120,*); -#31028=PROPERTY_DEFINITION('',$,#31027); -#31029=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#31028); -#31030=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9120); -#31031=SHAPE_ASPECT('',$,#9120,.U.); -#31032=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11868,#31031); -#31033=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9120); -#31034=NAME_ATTRIBUTE('single instance',#9121); -#31035=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9121,*); -#31036=PROPERTY_DEFINITION('',$,#31035); -#31037=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#31036); -#31038=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9121); -#31039=SHAPE_ASPECT('',$,#9121,.U.); -#31040=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11869,#31039); -#31041=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9121); -#31042=NAME_ATTRIBUTE('single instance',#9122); -#31043=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9108,#7720,$,'',$,#9122,*); -#31044=PROPERTY_DEFINITION('',$,#31043); -#31045=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#31044); -#31046=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9123,#9122); -#31047=SHAPE_ASPECT('',$,#9122,.U.); -#31048=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11872,#31047); -#31049=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9122); -#31050=NAME_ATTRIBUTE('single instance',#9130); -#31051=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9130,*); -#31052=PROPERTY_DEFINITION('',$,#31051); -#31053=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#31052); -#31054=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9130); -#31055=SHAPE_ASPECT('',$,#9130,.U.); -#31056=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11885,#31055); -#31057=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9130); -#31058=NAME_ATTRIBUTE('single instance',#9131); -#31059=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9131,*); -#31060=PROPERTY_DEFINITION('',$,#31059); -#31061=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#31060); -#31062=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9131); -#31063=SHAPE_ASPECT('',$,#9131,.U.); -#31064=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11245,#31063); -#31065=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9131); -#31066=NAME_ATTRIBUTE('single instance',#9132); -#31067=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9132,*); -#31068=PROPERTY_DEFINITION('',$,#31067); -#31069=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#31068); -#31070=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9132); -#31071=SHAPE_ASPECT('',$,#9132,.U.); -#31072=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11883,#31071); -#31073=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9132); -#31074=NAME_ATTRIBUTE('single instance',#9133); -#31075=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9133,*); -#31076=PROPERTY_DEFINITION('',$,#31075); -#31077=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#31076); -#31078=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9133); -#31079=SHAPE_ASPECT('',$,#9133,.U.); -#31080=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11882,#31079); -#31081=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9133); -#31082=NAME_ATTRIBUTE('single instance',#9134); -#31083=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9134,*); -#31084=PROPERTY_DEFINITION('',$,#31083); -#31085=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#31084); -#31086=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9134); -#31087=SHAPE_ASPECT('',$,#9134,.U.); -#31088=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11890,#31087); -#31089=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9134); -#31090=NAME_ATTRIBUTE('single instance',#9135); -#31091=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9135,*); -#31092=PROPERTY_DEFINITION('',$,#31091); -#31093=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#31092); -#31094=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9135); -#31095=SHAPE_ASPECT('',$,#9135,.U.); -#31096=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11888,#31095); -#31097=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9135); -#31098=NAME_ATTRIBUTE('single instance',#9136); -#31099=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9136,*); -#31100=PROPERTY_DEFINITION('',$,#31099); -#31101=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#31100); -#31102=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9136); -#31103=SHAPE_ASPECT('',$,#9136,.U.); -#31104=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11886,#31103); -#31105=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9136); -#31106=NAME_ATTRIBUTE('single instance',#9137); -#31107=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9137,*); -#31108=PROPERTY_DEFINITION('',$,#31107); -#31109=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#31108); -#31110=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9137); -#31111=SHAPE_ASPECT('',$,#9137,.U.); -#31112=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11879,#31111); -#31113=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9137); -#31114=NAME_ATTRIBUTE('single instance',#9138); -#31115=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9138,*); -#31116=PROPERTY_DEFINITION('',$,#31115); -#31117=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#31116); -#31118=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9138); -#31119=SHAPE_ASPECT('',$,#9138,.U.); -#31120=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11878,#31119); -#31121=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9138); -#31122=NAME_ATTRIBUTE('single instance',#9139); -#31123=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9139,*); -#31124=PROPERTY_DEFINITION('',$,#31123); -#31125=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#31124); -#31126=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9139); -#31127=SHAPE_ASPECT('',$,#9139,.U.); -#31128=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11887,#31127); -#31129=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9139); -#31130=NAME_ATTRIBUTE('single instance',#9140); -#31131=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9140,*); -#31132=PROPERTY_DEFINITION('',$,#31131); -#31133=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#31132); -#31134=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9140); -#31135=SHAPE_ASPECT('',$,#9140,.U.); -#31136=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11889,#31135); -#31137=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9140); -#31138=NAME_ATTRIBUTE('single instance',#9141); -#31139=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9141,*); -#31140=PROPERTY_DEFINITION('',$,#31139); -#31141=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#31140); -#31142=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9141); -#31143=SHAPE_ASPECT('',$,#9141,.U.); -#31144=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11880,#31143); -#31145=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9141); -#31146=NAME_ATTRIBUTE('single instance',#9142); -#31147=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9142,*); -#31148=PROPERTY_DEFINITION('',$,#31147); -#31149=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#31148); -#31150=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9142); -#31151=SHAPE_ASPECT('',$,#9142,.U.); -#31152=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11881,#31151); -#31153=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9142); -#31154=NAME_ATTRIBUTE('single instance',#9143); -#31155=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9129,#7720,$,'',$,#9143,*); -#31156=PROPERTY_DEFINITION('',$,#31155); -#31157=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#31156); -#31158=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9144,#9143); -#31159=SHAPE_ASPECT('',$,#9143,.U.); -#31160=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11884,#31159); -#31161=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9143); -#31162=NAME_ATTRIBUTE('single instance',#9151); -#31163=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9150,#7851,$,'',$,#9151,*); -#31164=PROPERTY_DEFINITION('',$,#31163); -#31165=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#31164); -#31166=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9153,#9151); -#31167=SHAPE_ASPECT('',$,#9151,.U.); -#31168=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11245,#31167); -#31169=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#9151); -#31170=NAME_ATTRIBUTE('single instance',#9152); -#31171=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9150,#7895,$,'',$,#9152,*); -#31172=PROPERTY_DEFINITION('',$,#31171); -#31173=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#31172); -#31174=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9153,#9152); -#31175=SHAPE_ASPECT('',$,#9152,.U.); -#31176=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11891,#31175); -#31177=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#9152); -#31178=NAME_ATTRIBUTE('single instance',#9161); -#31179=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9160,#7895,$,'',$,#9161,*); -#31180=PROPERTY_DEFINITION('',$,#31179); -#31181=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#31180); -#31182=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9163,#9161); -#31183=SHAPE_ASPECT('',$,#9161,.U.); -#31184=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11892,#31183); -#31185=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#9161); -#31186=NAME_ATTRIBUTE('single instance',#9162); -#31187=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9160,#7851,$,'',$,#9162,*); -#31188=PROPERTY_DEFINITION('',$,#31187); -#31189=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#31188); -#31190=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9163,#9162); -#31191=SHAPE_ASPECT('',$,#9162,.U.); -#31192=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11247,#31191); -#31193=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#9162); -#31194=NAME_ATTRIBUTE('single instance',#9184); -#31195=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9184,*); -#31196=PROPERTY_DEFINITION('',$,#31195); -#31197=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#31196); -#31198=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9184); -#31199=SHAPE_ASPECT('',$,#9184,.U.); -#31200=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11320,#31199); -#31201=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9184); -#31202=NAME_ATTRIBUTE('single instance',#9185); -#31203=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9185,*); -#31204=PROPERTY_DEFINITION('',$,#31203); -#31205=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#31204); -#31206=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9185); -#31207=SHAPE_ASPECT('',$,#9185,.U.); -#31208=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11899,#31207); -#31209=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9185); -#31210=NAME_ATTRIBUTE('single instance',#9186); -#31211=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9186,*); -#31212=PROPERTY_DEFINITION('',$,#31211); -#31213=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#31212); -#31214=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9186); -#31215=SHAPE_ASPECT('',$,#9186,.U.); -#31216=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11898,#31215); -#31217=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9186); -#31218=NAME_ATTRIBUTE('single instance',#9187); -#31219=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9187,*); -#31220=PROPERTY_DEFINITION('',$,#31219); -#31221=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#31220); -#31222=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9187); -#31223=SHAPE_ASPECT('',$,#9187,.U.); -#31224=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11897,#31223); -#31225=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9187); -#31226=NAME_ATTRIBUTE('single instance',#9188); -#31227=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9188,*); -#31228=PROPERTY_DEFINITION('',$,#31227); -#31229=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#31228); -#31230=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9188); -#31231=SHAPE_ASPECT('',$,#9188,.U.); -#31232=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11904,#31231); -#31233=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9188); -#31234=NAME_ATTRIBUTE('single instance',#9189); -#31235=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9189,*); -#31236=PROPERTY_DEFINITION('',$,#31235); -#31237=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#31236); -#31238=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9189); -#31239=SHAPE_ASPECT('',$,#9189,.U.); -#31240=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11902,#31239); -#31241=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9189); -#31242=NAME_ATTRIBUTE('single instance',#9190); -#31243=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9190,*); -#31244=PROPERTY_DEFINITION('',$,#31243); -#31245=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#31244); -#31246=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9190); -#31247=SHAPE_ASPECT('',$,#9190,.U.); -#31248=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11901,#31247); -#31249=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9190); -#31250=NAME_ATTRIBUTE('single instance',#9191); -#31251=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9191,*); -#31252=PROPERTY_DEFINITION('',$,#31251); -#31253=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#31252); -#31254=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9191); -#31255=SHAPE_ASPECT('',$,#9191,.U.); -#31256=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11894,#31255); -#31257=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9191); -#31258=NAME_ATTRIBUTE('single instance',#9192); -#31259=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9192,*); -#31260=PROPERTY_DEFINITION('',$,#31259); -#31261=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#31260); -#31262=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9192); -#31263=SHAPE_ASPECT('',$,#9192,.U.); -#31264=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11893,#31263); -#31265=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9192); -#31266=NAME_ATTRIBUTE('single instance',#9193); -#31267=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9193,*); -#31268=PROPERTY_DEFINITION('',$,#31267); -#31269=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#31268); -#31270=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9193); -#31271=SHAPE_ASPECT('',$,#9193,.U.); -#31272=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11323,#31271); -#31273=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9193); -#31274=NAME_ATTRIBUTE('single instance',#9194); -#31275=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9194,*); -#31276=PROPERTY_DEFINITION('',$,#31275); -#31277=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#31276); -#31278=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9194); -#31279=SHAPE_ASPECT('',$,#9194,.U.); -#31280=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11903,#31279); -#31281=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9194); -#31282=NAME_ATTRIBUTE('single instance',#9195); -#31283=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9195,*); -#31284=PROPERTY_DEFINITION('',$,#31283); -#31285=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#31284); -#31286=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9195); -#31287=SHAPE_ASPECT('',$,#9195,.U.); -#31288=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11895,#31287); -#31289=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9195); -#31290=NAME_ATTRIBUTE('single instance',#9196); -#31291=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9196,*); -#31292=PROPERTY_DEFINITION('',$,#31291); -#31293=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#31292); -#31294=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9196); -#31295=SHAPE_ASPECT('',$,#9196,.U.); -#31296=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11896,#31295); -#31297=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9196); -#31298=NAME_ATTRIBUTE('single instance',#9197); -#31299=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9183,#7720,$,'',$,#9197,*); -#31300=PROPERTY_DEFINITION('',$,#31299); -#31301=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#31300); -#31302=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9198,#9197); -#31303=SHAPE_ASPECT('',$,#9197,.U.); -#31304=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11900,#31303); -#31305=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9197); -#31306=NAME_ATTRIBUTE('single instance',#9205); -#31307=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9205,*); -#31308=PROPERTY_DEFINITION('',$,#31307); -#31309=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#31308); -#31310=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9205); -#31311=SHAPE_ASPECT('',$,#9205,.U.); -#31312=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11912,#31311); -#31313=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9205); -#31314=NAME_ATTRIBUTE('single instance',#9206); -#31315=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9206,*); -#31316=PROPERTY_DEFINITION('',$,#31315); -#31317=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#31316); -#31318=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9206); -#31319=SHAPE_ASPECT('',$,#9206,.U.); -#31320=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11321,#31319); -#31321=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9206); -#31322=NAME_ATTRIBUTE('single instance',#9207); -#31323=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9207,*); -#31324=PROPERTY_DEFINITION('',$,#31323); -#31325=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#31324); -#31326=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9207); -#31327=SHAPE_ASPECT('',$,#9207,.U.); -#31328=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11910,#31327); -#31329=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9207); -#31330=NAME_ATTRIBUTE('single instance',#9208); -#31331=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9208,*); -#31332=PROPERTY_DEFINITION('',$,#31331); -#31333=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#31332); -#31334=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9208); -#31335=SHAPE_ASPECT('',$,#9208,.U.); -#31336=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11909,#31335); -#31337=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9208); -#31338=NAME_ATTRIBUTE('single instance',#9209); -#31339=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9209,*); -#31340=PROPERTY_DEFINITION('',$,#31339); -#31341=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#31340); -#31342=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9209); -#31343=SHAPE_ASPECT('',$,#9209,.U.); -#31344=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11917,#31343); -#31345=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9209); -#31346=NAME_ATTRIBUTE('single instance',#9210); -#31347=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9210,*); -#31348=PROPERTY_DEFINITION('',$,#31347); -#31349=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#31348); -#31350=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9210); -#31351=SHAPE_ASPECT('',$,#9210,.U.); -#31352=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11915,#31351); -#31353=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9210); -#31354=NAME_ATTRIBUTE('single instance',#9211); -#31355=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9211,*); -#31356=PROPERTY_DEFINITION('',$,#31355); -#31357=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#31356); -#31358=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9211); -#31359=SHAPE_ASPECT('',$,#9211,.U.); -#31360=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11913,#31359); -#31361=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9211); -#31362=NAME_ATTRIBUTE('single instance',#9212); -#31363=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9212,*); -#31364=PROPERTY_DEFINITION('',$,#31363); -#31365=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#31364); -#31366=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9212); -#31367=SHAPE_ASPECT('',$,#9212,.U.); -#31368=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11906,#31367); -#31369=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9212); -#31370=NAME_ATTRIBUTE('single instance',#9213); -#31371=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9213,*); -#31372=PROPERTY_DEFINITION('',$,#31371); -#31373=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#31372); -#31374=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9213); -#31375=SHAPE_ASPECT('',$,#9213,.U.); -#31376=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11905,#31375); -#31377=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9213); -#31378=NAME_ATTRIBUTE('single instance',#9214); -#31379=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9214,*); -#31380=PROPERTY_DEFINITION('',$,#31379); -#31381=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#31380); -#31382=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9214); -#31383=SHAPE_ASPECT('',$,#9214,.U.); -#31384=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11914,#31383); -#31385=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9214); -#31386=NAME_ATTRIBUTE('single instance',#9215); -#31387=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9215,*); -#31388=PROPERTY_DEFINITION('',$,#31387); -#31389=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#31388); -#31390=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9215); -#31391=SHAPE_ASPECT('',$,#9215,.U.); -#31392=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11916,#31391); -#31393=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9215); -#31394=NAME_ATTRIBUTE('single instance',#9216); -#31395=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9216,*); -#31396=PROPERTY_DEFINITION('',$,#31395); -#31397=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#31396); -#31398=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9216); -#31399=SHAPE_ASPECT('',$,#9216,.U.); -#31400=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11907,#31399); -#31401=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9216); -#31402=NAME_ATTRIBUTE('single instance',#9217); -#31403=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9217,*); -#31404=PROPERTY_DEFINITION('',$,#31403); -#31405=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#31404); -#31406=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9217); -#31407=SHAPE_ASPECT('',$,#9217,.U.); -#31408=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11908,#31407); -#31409=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9217); -#31410=NAME_ATTRIBUTE('single instance',#9218); -#31411=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9204,#7720,$,'',$,#9218,*); -#31412=PROPERTY_DEFINITION('',$,#31411); -#31413=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#31412); -#31414=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9219,#9218); -#31415=SHAPE_ASPECT('',$,#9218,.U.); -#31416=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11911,#31415); -#31417=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9218); -#31418=NAME_ATTRIBUTE('single instance',#9226); -#31419=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9225,#7851,$,'',$,#9226,*); -#31420=PROPERTY_DEFINITION('',$,#31419); -#31421=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#31420); -#31422=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9228,#9226); -#31423=SHAPE_ASPECT('',$,#9226,.U.); -#31424=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11321,#31423); -#31425=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#9226); -#31426=NAME_ATTRIBUTE('single instance',#9227); -#31427=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9225,#7895,$,'',$,#9227,*); -#31428=PROPERTY_DEFINITION('',$,#31427); -#31429=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#31428); -#31430=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9228,#9227); -#31431=SHAPE_ASPECT('',$,#9227,.U.); -#31432=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11918,#31431); -#31433=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#9227); -#31434=NAME_ATTRIBUTE('single instance',#9236); -#31435=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9235,#7895,$,'',$,#9236,*); -#31436=PROPERTY_DEFINITION('',$,#31435); -#31437=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#31436); -#31438=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9238,#9236); -#31439=SHAPE_ASPECT('',$,#9236,.U.); -#31440=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11919,#31439); -#31441=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#9236); -#31442=NAME_ATTRIBUTE('single instance',#9237); -#31443=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9235,#7851,$,'',$,#9237,*); -#31444=PROPERTY_DEFINITION('',$,#31443); -#31445=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#31444); -#31446=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9238,#9237); -#31447=SHAPE_ASPECT('',$,#9237,.U.); -#31448=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11323,#31447); -#31449=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#9237); -#31450=NAME_ATTRIBUTE('single instance',#9259); -#31451=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9259,*); -#31452=PROPERTY_DEFINITION('',$,#31451); -#31453=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#31452); -#31454=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9259); -#31455=SHAPE_ASPECT('',$,#9259,.U.); -#31456=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11926,#31455); -#31457=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9259); -#31458=NAME_ATTRIBUTE('single instance',#9260); -#31459=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9260,*); -#31460=PROPERTY_DEFINITION('',$,#31459); -#31461=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#31460); -#31462=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9260); -#31463=SHAPE_ASPECT('',$,#9260,.U.); -#31464=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11372,#31463); -#31465=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9260); -#31466=NAME_ATTRIBUTE('single instance',#9261); -#31467=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9261,*); -#31468=PROPERTY_DEFINITION('',$,#31467); -#31469=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#31468); -#31470=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9261); -#31471=SHAPE_ASPECT('',$,#9261,.U.); -#31472=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11924,#31471); -#31473=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9261); -#31474=NAME_ATTRIBUTE('single instance',#9262); -#31475=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9262,*); -#31476=PROPERTY_DEFINITION('',$,#31475); -#31477=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#31476); -#31478=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9262); -#31479=SHAPE_ASPECT('',$,#9262,.U.); -#31480=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11923,#31479); -#31481=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9262); -#31482=NAME_ATTRIBUTE('single instance',#9263); -#31483=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9263,*); -#31484=PROPERTY_DEFINITION('',$,#31483); -#31485=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#31484); -#31486=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9263); -#31487=SHAPE_ASPECT('',$,#9263,.U.); -#31488=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11931,#31487); -#31489=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9263); -#31490=NAME_ATTRIBUTE('single instance',#9264); -#31491=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9264,*); -#31492=PROPERTY_DEFINITION('',$,#31491); -#31493=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#31492); -#31494=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9264); -#31495=SHAPE_ASPECT('',$,#9264,.U.); -#31496=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11929,#31495); -#31497=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9264); -#31498=NAME_ATTRIBUTE('single instance',#9265); -#31499=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9265,*); -#31500=PROPERTY_DEFINITION('',$,#31499); -#31501=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#31500); -#31502=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9265); -#31503=SHAPE_ASPECT('',$,#9265,.U.); -#31504=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11927,#31503); -#31505=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9265); -#31506=NAME_ATTRIBUTE('single instance',#9266); -#31507=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9266,*); -#31508=PROPERTY_DEFINITION('',$,#31507); -#31509=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#31508); -#31510=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9266); -#31511=SHAPE_ASPECT('',$,#9266,.U.); -#31512=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11920,#31511); -#31513=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9266); -#31514=NAME_ATTRIBUTE('single instance',#9267); -#31515=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9267,*); -#31516=PROPERTY_DEFINITION('',$,#31515); -#31517=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#31516); -#31518=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9267); -#31519=SHAPE_ASPECT('',$,#9267,.U.); -#31520=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11375,#31519); -#31521=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9267); -#31522=NAME_ATTRIBUTE('single instance',#9268); -#31523=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9268,*); -#31524=PROPERTY_DEFINITION('',$,#31523); -#31525=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#31524); -#31526=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9268); -#31527=SHAPE_ASPECT('',$,#9268,.U.); -#31528=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11928,#31527); -#31529=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9268); -#31530=NAME_ATTRIBUTE('single instance',#9269); -#31531=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9269,*); -#31532=PROPERTY_DEFINITION('',$,#31531); -#31533=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#31532); -#31534=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9269); -#31535=SHAPE_ASPECT('',$,#9269,.U.); -#31536=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11930,#31535); -#31537=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9269); -#31538=NAME_ATTRIBUTE('single instance',#9270); -#31539=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9270,*); -#31540=PROPERTY_DEFINITION('',$,#31539); -#31541=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#31540); -#31542=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9270); -#31543=SHAPE_ASPECT('',$,#9270,.U.); -#31544=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11921,#31543); -#31545=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9270); -#31546=NAME_ATTRIBUTE('single instance',#9271); -#31547=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9271,*); -#31548=PROPERTY_DEFINITION('',$,#31547); -#31549=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#31548); -#31550=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9271); -#31551=SHAPE_ASPECT('',$,#9271,.U.); -#31552=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11922,#31551); -#31553=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9271); -#31554=NAME_ATTRIBUTE('single instance',#9272); -#31555=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9258,#7720,$,'',$,#9272,*); -#31556=PROPERTY_DEFINITION('',$,#31555); -#31557=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#31556); -#31558=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9273,#9272); -#31559=SHAPE_ASPECT('',$,#9272,.U.); -#31560=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11925,#31559); -#31561=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9272); -#31562=NAME_ATTRIBUTE('single instance',#9280); -#31563=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9279,#7851,$,'',$,#9280,*); -#31564=PROPERTY_DEFINITION('',$,#31563); -#31565=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22590,#31564); -#31566=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9282,#9280); -#31567=SHAPE_ASPECT('',$,#9280,.U.); -#31568=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11372,#31567); -#31569=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#9280); -#31570=NAME_ATTRIBUTE('single instance',#9281); -#31571=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9279,#7895,$,'',$,#9281,*); -#31572=PROPERTY_DEFINITION('',$,#31571); -#31573=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22529,#31572); -#31574=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9282,#9281); -#31575=SHAPE_ASPECT('',$,#9281,.U.); -#31576=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11932,#31575); -#31577=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#9281); -#31578=NAME_ATTRIBUTE('single instance',#9299); -#31579=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9298,#7895,$,'',$,#9299,*); -#31580=PROPERTY_DEFINITION('',$,#31579); -#31581=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22560,#31580); -#31582=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9301,#9299); -#31583=SHAPE_ASPECT('',$,#9299,.U.); -#31584=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11933,#31583); -#31585=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7898,#9299); -#31586=NAME_ATTRIBUTE('single instance',#9300); -#31587=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9298,#7851,$,'',$,#9300,*); -#31588=PROPERTY_DEFINITION('',$,#31587); -#31589=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22521,#31588); -#31590=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9301,#9300); -#31591=SHAPE_ASPECT('',$,#9300,.U.); -#31592=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11416,#31591); -#31593=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7854,#9300); -#31594=NAME_ATTRIBUTE('single instance',#9309); -#31595=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9309,*); -#31596=PROPERTY_DEFINITION('',$,#31595); -#31597=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22485,#31596); -#31598=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9309); -#31599=SHAPE_ASPECT('',$,#9309,.U.); -#31600=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11415,#31599); -#31601=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9309); -#31602=NAME_ATTRIBUTE('single instance',#9310); -#31603=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9310,*); -#31604=PROPERTY_DEFINITION('',$,#31603); -#31605=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22479,#31604); -#31606=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9310); -#31607=SHAPE_ASPECT('',$,#9310,.U.); -#31608=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11940,#31607); -#31609=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9310); -#31610=NAME_ATTRIBUTE('single instance',#9311); -#31611=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9311,*); -#31612=PROPERTY_DEFINITION('',$,#31611); -#31613=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22473,#31612); -#31614=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9311); -#31615=SHAPE_ASPECT('',$,#9311,.U.); -#31616=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11939,#31615); -#31617=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9311); -#31618=NAME_ATTRIBUTE('single instance',#9312); -#31619=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9312,*); -#31620=PROPERTY_DEFINITION('',$,#31619); -#31621=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22467,#31620); -#31622=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9312); -#31623=SHAPE_ASPECT('',$,#9312,.U.); -#31624=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11938,#31623); -#31625=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9312); -#31626=NAME_ATTRIBUTE('single instance',#9313); -#31627=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9313,*); -#31628=PROPERTY_DEFINITION('',$,#31627); -#31629=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22458,#31628); -#31630=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9313); -#31631=SHAPE_ASPECT('',$,#9313,.U.); -#31632=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11945,#31631); -#31633=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9313); -#31634=NAME_ATTRIBUTE('single instance',#9314); -#31635=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9314,*); -#31636=PROPERTY_DEFINITION('',$,#31635); -#31637=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22446,#31636); -#31638=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9314); -#31639=SHAPE_ASPECT('',$,#9314,.U.); -#31640=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11943,#31639); -#31641=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9314); -#31642=NAME_ATTRIBUTE('single instance',#9315); -#31643=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9315,*); -#31644=PROPERTY_DEFINITION('',$,#31643); -#31645=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22440,#31644); -#31646=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9315); -#31647=SHAPE_ASPECT('',$,#9315,.U.); -#31648=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11942,#31647); -#31649=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9315); -#31650=NAME_ATTRIBUTE('single instance',#9316); -#31651=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9316,*); -#31652=PROPERTY_DEFINITION('',$,#31651); -#31653=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22434,#31652); -#31654=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9316); -#31655=SHAPE_ASPECT('',$,#9316,.U.); -#31656=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11935,#31655); -#31657=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9316); -#31658=NAME_ATTRIBUTE('single instance',#9317); -#31659=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9317,*); -#31660=PROPERTY_DEFINITION('',$,#31659); -#31661=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22428,#31660); -#31662=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9317); -#31663=SHAPE_ASPECT('',$,#9317,.U.); -#31664=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11934,#31663); -#31665=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9317); -#31666=NAME_ATTRIBUTE('single instance',#9318); -#31667=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9318,*); -#31668=PROPERTY_DEFINITION('',$,#31667); -#31669=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22412,#31668); -#31670=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9318); -#31671=SHAPE_ASPECT('',$,#9318,.U.); -#31672=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11416,#31671); -#31673=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9318); -#31674=NAME_ATTRIBUTE('single instance',#9319); -#31675=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9319,*); -#31676=PROPERTY_DEFINITION('',$,#31675); -#31677=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22406,#31676); -#31678=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9319); -#31679=SHAPE_ASPECT('',$,#9319,.U.); -#31680=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11944,#31679); -#31681=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9319); -#31682=NAME_ATTRIBUTE('single instance',#9320); -#31683=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9320,*); -#31684=PROPERTY_DEFINITION('',$,#31683); -#31685=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22400,#31684); -#31686=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9320); -#31687=SHAPE_ASPECT('',$,#9320,.U.); -#31688=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11936,#31687); -#31689=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9320); -#31690=NAME_ATTRIBUTE('single instance',#9321); -#31691=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9321,*); -#31692=PROPERTY_DEFINITION('',$,#31691); -#31693=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22394,#31692); -#31694=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9321); -#31695=SHAPE_ASPECT('',$,#9321,.U.); -#31696=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11937,#31695); -#31697=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9321); -#31698=NAME_ATTRIBUTE('single instance',#9322); -#31699=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9308,#7720,$,'',$,#9322,*); -#31700=PROPERTY_DEFINITION('',$,#31699); -#31701=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22388,#31700); -#31702=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#9323,#9322); -#31703=SHAPE_ASPECT('',$,#9322,.U.); -#31704=SHAPE_ASPECT_RELATIONSHIP('implementation','',#11941,#31703); -#31705=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7723,#9322); -#31706=NAME_ATTRIBUTE('single instance',#3992); -#31707=SHAPE_ASPECT('',$,#3992,.U.); -#31708=SHAPE_ASPECT('',$,#332,.U.); -#31709=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#31707); -#31710=PROPERTY_DEFINITION('explicitly created','true',#3992); -#31711=NAME_ATTRIBUTE('single instance',#3997); -#31712=SHAPE_ASPECT('',$,#3997,.U.); -#31713=SHAPE_ASPECT('',$,#327,.U.); -#31714=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31712); -#31715=PROPERTY_DEFINITION('explicitly created','true',#3997); -#31716=NAME_ATTRIBUTE('single instance',#4004); -#31717=SHAPE_ASPECT('',$,#4004,.U.); -#31718=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#31717); -#31719=PROPERTY_DEFINITION('explicitly created','true',#4004); -#31720=NAME_ATTRIBUTE('single instance',#4009); -#31721=SHAPE_ASPECT('',$,#4009,.U.); -#31722=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31721); -#31723=PROPERTY_DEFINITION('explicitly created','true',#4009); -#31724=NAME_ATTRIBUTE('single instance',#4018); -#31725=SHAPE_ASPECT('',$,#4018,.U.); -#31726=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31725); -#31727=PROPERTY_DEFINITION('explicitly created','true',#4018); -#31728=NAME_ATTRIBUTE('single instance',#4025); -#31729=SHAPE_ASPECT('',$,#4025,.U.); -#31730=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31729); -#31731=PROPERTY_DEFINITION('explicitly created','true',#4025); -#31732=NAME_ATTRIBUTE('single instance',#4030); -#31733=SHAPE_ASPECT('',$,#4030,.U.); -#31734=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#31733); -#31735=PROPERTY_DEFINITION('explicitly created','true',#4030); -#31736=NAME_ATTRIBUTE('single instance',#4035); -#31737=SHAPE_ASPECT('',$,#4035,.U.); -#31738=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#31737); -#31739=PROPERTY_DEFINITION('explicitly created','true',#4035); -#31740=NAME_ATTRIBUTE('single instance',#491); -#31741=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#485,#451,$,'',$,#491,*); -#31742=PROPERTY_DEFINITION('',$,#31741); -#31743=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21782,#31742); -#31744=SHAPE_ASPECT('',$,#491,.U.); -#31745=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31744); -#31746=PROPERTY_DEFINITION('explicitly created','false',#491); -#31747=NAME_ATTRIBUTE('single instance',#492); -#31748=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#485,#443,$,'',$,#492,*); -#31749=PROPERTY_DEFINITION('',$,#31748); -#31750=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21778,#31749); -#31751=SHAPE_ASPECT('',$,#492,.U.); -#31752=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#31751); -#31753=PROPERTY_DEFINITION('explicitly created','false',#492); -#31754=NAME_ATTRIBUTE('single instance',#1768); -#31755=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1768,*); -#31756=PROPERTY_DEFINITION('',$,#31755); -#31757=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21987,#31756); -#31758=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31756); -#31759=SHAPE_ASPECT('',$,#1768,.U.); -#31760=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31759); -#31761=PROPERTY_DEFINITION('explicitly created','false',#1768); -#31762=NAME_ATTRIBUTE('single instance',#1771); -#31763=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1771,*); -#31764=PROPERTY_DEFINITION('',$,#31763); -#31765=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21984,#31764); -#31766=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31764); -#31767=SHAPE_ASPECT('',$,#1771,.U.); -#31768=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31767); -#31769=PROPERTY_DEFINITION('explicitly created','false',#1771); -#31770=NAME_ATTRIBUTE('single instance',#1774); -#31771=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1774,*); -#31772=PROPERTY_DEFINITION('',$,#31771); -#31773=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21981,#31772); -#31774=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31772); -#31775=SHAPE_ASPECT('',$,#1774,.U.); -#31776=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31775); -#31777=PROPERTY_DEFINITION('explicitly created','false',#1774); -#31778=NAME_ATTRIBUTE('single instance',#1777); -#31779=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1777,*); -#31780=PROPERTY_DEFINITION('',$,#31779); -#31781=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21978,#31780); -#31782=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31780); -#31783=SHAPE_ASPECT('',$,#1777,.U.); -#31784=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31783); -#31785=PROPERTY_DEFINITION('explicitly created','false',#1777); -#31786=NAME_ATTRIBUTE('single instance',#1780); -#31787=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1780,*); -#31788=PROPERTY_DEFINITION('',$,#31787); -#31789=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21975,#31788); -#31790=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31788); -#31791=SHAPE_ASPECT('',$,#1780,.U.); -#31792=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31791); -#31793=PROPERTY_DEFINITION('explicitly created','false',#1780); -#31794=NAME_ATTRIBUTE('single instance',#1783); -#31795=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1783,*); -#31796=PROPERTY_DEFINITION('',$,#31795); -#31797=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21972,#31796); -#31798=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31796); -#31799=SHAPE_ASPECT('',$,#1783,.U.); -#31800=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31799); -#31801=PROPERTY_DEFINITION('explicitly created','false',#1783); -#31802=NAME_ATTRIBUTE('single instance',#1786); -#31803=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1786,*); -#31804=PROPERTY_DEFINITION('',$,#31803); -#31805=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21969,#31804); -#31806=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31804); -#31807=SHAPE_ASPECT('',$,#1786,.U.); -#31808=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31807); -#31809=PROPERTY_DEFINITION('explicitly created','false',#1786); -#31810=NAME_ATTRIBUTE('single instance',#1789); -#31811=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1789,*); -#31812=PROPERTY_DEFINITION('',$,#31811); -#31813=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21966,#31812); -#31814=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31812); -#31815=SHAPE_ASPECT('',$,#1789,.U.); -#31816=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31815); -#31817=PROPERTY_DEFINITION('explicitly created','false',#1789); -#31818=NAME_ATTRIBUTE('single instance',#1792); -#31819=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1792,*); -#31820=PROPERTY_DEFINITION('',$,#31819); -#31821=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21963,#31820); -#31822=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31820); -#31823=SHAPE_ASPECT('',$,#1792,.U.); -#31824=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31823); -#31825=PROPERTY_DEFINITION('explicitly created','false',#1792); -#31826=NAME_ATTRIBUTE('single instance',#1795); -#31827=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1795,*); -#31828=PROPERTY_DEFINITION('',$,#31827); -#31829=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21960,#31828); -#31830=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31828); -#31831=SHAPE_ASPECT('',$,#1795,.U.); -#31832=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31831); -#31833=PROPERTY_DEFINITION('explicitly created','false',#1795); -#31834=NAME_ATTRIBUTE('single instance',#1798); -#31835=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1798,*); -#31836=PROPERTY_DEFINITION('',$,#31835); -#31837=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21957,#31836); -#31838=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31836); -#31839=SHAPE_ASPECT('',$,#1798,.U.); -#31840=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31839); -#31841=PROPERTY_DEFINITION('explicitly created','false',#1798); -#31842=NAME_ATTRIBUTE('single instance',#1801); -#31843=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1801,*); -#31844=PROPERTY_DEFINITION('',$,#31843); -#31845=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21954,#31844); -#31846=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31844); -#31847=SHAPE_ASPECT('',$,#1801,.U.); -#31848=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31847); -#31849=PROPERTY_DEFINITION('explicitly created','false',#1801); -#31850=NAME_ATTRIBUTE('single instance',#1804); -#31851=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1804,*); -#31852=PROPERTY_DEFINITION('',$,#31851); -#31853=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21951,#31852); -#31854=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31852); -#31855=SHAPE_ASPECT('',$,#1804,.U.); -#31856=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31855); -#31857=PROPERTY_DEFINITION('explicitly created','false',#1804); -#31858=NAME_ATTRIBUTE('single instance',#1807); -#31859=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1807,*); -#31860=PROPERTY_DEFINITION('',$,#31859); -#31861=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21948,#31860); -#31862=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31860); -#31863=SHAPE_ASPECT('',$,#1807,.U.); -#31864=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31863); -#31865=PROPERTY_DEFINITION('explicitly created','false',#1807); -#31866=NAME_ATTRIBUTE('single instance',#1810); -#31867=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1810,*); -#31868=PROPERTY_DEFINITION('',$,#31867); -#31869=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21945,#31868); -#31870=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31868); -#31871=SHAPE_ASPECT('',$,#1810,.U.); -#31872=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31871); -#31873=PROPERTY_DEFINITION('explicitly created','false',#1810); -#31874=NAME_ATTRIBUTE('single instance',#1813); -#31875=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1813,*); -#31876=PROPERTY_DEFINITION('',$,#31875); -#31877=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21942,#31876); -#31878=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31876); -#31879=SHAPE_ASPECT('',$,#1813,.U.); -#31880=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31879); -#31881=PROPERTY_DEFINITION('explicitly created','false',#1813); -#31882=NAME_ATTRIBUTE('single instance',#1816); -#31883=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1816,*); -#31884=PROPERTY_DEFINITION('',$,#31883); -#31885=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21939,#31884); -#31886=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31884); -#31887=SHAPE_ASPECT('',$,#1816,.U.); -#31888=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31887); -#31889=PROPERTY_DEFINITION('explicitly created','false',#1816); -#31890=NAME_ATTRIBUTE('single instance',#1819); -#31891=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1819,*); -#31892=PROPERTY_DEFINITION('',$,#31891); -#31893=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21936,#31892); -#31894=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31892); -#31895=SHAPE_ASPECT('',$,#1819,.U.); -#31896=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31895); -#31897=PROPERTY_DEFINITION('explicitly created','false',#1819); -#31898=NAME_ATTRIBUTE('single instance',#1822); -#31899=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1822,*); -#31900=PROPERTY_DEFINITION('',$,#31899); -#31901=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21933,#31900); -#31902=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31900); -#31903=SHAPE_ASPECT('',$,#1822,.U.); -#31904=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31903); -#31905=PROPERTY_DEFINITION('explicitly created','false',#1822); -#31906=NAME_ATTRIBUTE('single instance',#1825); -#31907=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1825,*); -#31908=PROPERTY_DEFINITION('',$,#31907); -#31909=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21930,#31908); -#31910=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31908); -#31911=SHAPE_ASPECT('',$,#1825,.U.); -#31912=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31911); -#31913=PROPERTY_DEFINITION('explicitly created','false',#1825); -#31914=NAME_ATTRIBUTE('single instance',#1828); -#31915=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1828,*); -#31916=PROPERTY_DEFINITION('',$,#31915); -#31917=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21927,#31916); -#31918=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31916); -#31919=SHAPE_ASPECT('',$,#1828,.U.); -#31920=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31919); -#31921=PROPERTY_DEFINITION('explicitly created','false',#1828); -#31922=NAME_ATTRIBUTE('single instance',#1831); -#31923=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1831,*); -#31924=PROPERTY_DEFINITION('',$,#31923); -#31925=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21924,#31924); -#31926=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31924); -#31927=SHAPE_ASPECT('',$,#1831,.U.); -#31928=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31927); -#31929=PROPERTY_DEFINITION('explicitly created','false',#1831); -#31930=NAME_ATTRIBUTE('single instance',#1834); -#31931=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1834,*); -#31932=PROPERTY_DEFINITION('',$,#31931); -#31933=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21921,#31932); -#31934=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31932); -#31935=SHAPE_ASPECT('',$,#1834,.U.); -#31936=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31935); -#31937=PROPERTY_DEFINITION('explicitly created','false',#1834); -#31938=NAME_ATTRIBUTE('single instance',#1837); -#31939=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1837,*); -#31940=PROPERTY_DEFINITION('',$,#31939); -#31941=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21918,#31940); -#31942=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31940); -#31943=SHAPE_ASPECT('',$,#1837,.U.); -#31944=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31943); -#31945=PROPERTY_DEFINITION('explicitly created','false',#1837); -#31946=NAME_ATTRIBUTE('single instance',#1840); -#31947=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1840,*); -#31948=PROPERTY_DEFINITION('',$,#31947); -#31949=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21915,#31948); -#31950=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31948); -#31951=SHAPE_ASPECT('',$,#1840,.U.); -#31952=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31951); -#31953=PROPERTY_DEFINITION('explicitly created','false',#1840); -#31954=NAME_ATTRIBUTE('single instance',#1843); -#31955=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1843,*); -#31956=PROPERTY_DEFINITION('',$,#31955); -#31957=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21912,#31956); -#31958=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31956); -#31959=SHAPE_ASPECT('',$,#1843,.U.); -#31960=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31959); -#31961=PROPERTY_DEFINITION('explicitly created','false',#1843); -#31962=NAME_ATTRIBUTE('single instance',#1846); -#31963=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1846,*); -#31964=PROPERTY_DEFINITION('',$,#31963); -#31965=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21909,#31964); -#31966=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31964); -#31967=SHAPE_ASPECT('',$,#1846,.U.); -#31968=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31967); -#31969=PROPERTY_DEFINITION('explicitly created','false',#1846); -#31970=NAME_ATTRIBUTE('single instance',#1849); -#31971=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1849,*); -#31972=PROPERTY_DEFINITION('',$,#31971); -#31973=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21906,#31972); -#31974=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31972); -#31975=SHAPE_ASPECT('',$,#1849,.U.); -#31976=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31975); -#31977=PROPERTY_DEFINITION('explicitly created','false',#1849); -#31978=NAME_ATTRIBUTE('single instance',#1852); -#31979=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1852,*); -#31980=PROPERTY_DEFINITION('',$,#31979); -#31981=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21903,#31980); -#31982=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31980); -#31983=SHAPE_ASPECT('',$,#1852,.U.); -#31984=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31983); -#31985=PROPERTY_DEFINITION('explicitly created','false',#1852); -#31986=NAME_ATTRIBUTE('single instance',#1855); -#31987=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1855,*); -#31988=PROPERTY_DEFINITION('',$,#31987); -#31989=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21900,#31988); -#31990=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31988); -#31991=SHAPE_ASPECT('',$,#1855,.U.); -#31992=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31991); -#31993=PROPERTY_DEFINITION('explicitly created','false',#1855); -#31994=NAME_ATTRIBUTE('single instance',#1858); -#31995=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1858,*); -#31996=PROPERTY_DEFINITION('',$,#31995); -#31997=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21897,#31996); -#31998=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#31996); -#31999=SHAPE_ASPECT('',$,#1858,.U.); -#32000=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#31999); -#32001=PROPERTY_DEFINITION('explicitly created','false',#1858); -#32002=NAME_ATTRIBUTE('single instance',#1861); -#32003=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1861,*); -#32004=PROPERTY_DEFINITION('',$,#32003); -#32005=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21894,#32004); -#32006=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32004); -#32007=SHAPE_ASPECT('',$,#1861,.U.); -#32008=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32007); -#32009=PROPERTY_DEFINITION('explicitly created','false',#1861); -#32010=NAME_ATTRIBUTE('single instance',#1864); -#32011=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1864,*); -#32012=PROPERTY_DEFINITION('',$,#32011); -#32013=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21891,#32012); -#32014=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32012); -#32015=SHAPE_ASPECT('',$,#1864,.U.); -#32016=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32015); -#32017=PROPERTY_DEFINITION('explicitly created','false',#1864); -#32018=NAME_ATTRIBUTE('single instance',#1867); -#32019=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1867,*); -#32020=PROPERTY_DEFINITION('',$,#32019); -#32021=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21888,#32020); -#32022=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32020); -#32023=SHAPE_ASPECT('',$,#1867,.U.); -#32024=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32023); -#32025=PROPERTY_DEFINITION('explicitly created','false',#1867); -#32026=NAME_ATTRIBUTE('single instance',#1870); -#32027=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1870,*); -#32028=PROPERTY_DEFINITION('',$,#32027); -#32029=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21885,#32028); -#32030=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32028); -#32031=SHAPE_ASPECT('',$,#1870,.U.); -#32032=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32031); -#32033=PROPERTY_DEFINITION('explicitly created','false',#1870); -#32034=NAME_ATTRIBUTE('single instance',#1873); -#32035=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1873,*); -#32036=PROPERTY_DEFINITION('',$,#32035); -#32037=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21882,#32036); -#32038=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32036); -#32039=SHAPE_ASPECT('',$,#1873,.U.); -#32040=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32039); -#32041=PROPERTY_DEFINITION('explicitly created','false',#1873); -#32042=NAME_ATTRIBUTE('single instance',#1876); -#32043=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1876,*); -#32044=PROPERTY_DEFINITION('',$,#32043); -#32045=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21879,#32044); -#32046=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32044); -#32047=SHAPE_ASPECT('',$,#1876,.U.); -#32048=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32047); -#32049=PROPERTY_DEFINITION('explicitly created','false',#1876); -#32050=NAME_ATTRIBUTE('single instance',#1879); -#32051=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1879,*); -#32052=PROPERTY_DEFINITION('',$,#32051); -#32053=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21876,#32052); -#32054=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32052); -#32055=SHAPE_ASPECT('',$,#1879,.U.); -#32056=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32055); -#32057=PROPERTY_DEFINITION('explicitly created','false',#1879); -#32058=NAME_ATTRIBUTE('single instance',#1882); -#32059=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1882,*); -#32060=PROPERTY_DEFINITION('',$,#32059); -#32061=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21873,#32060); -#32062=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32060); -#32063=SHAPE_ASPECT('',$,#1882,.U.); -#32064=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32063); -#32065=PROPERTY_DEFINITION('explicitly created','false',#1882); -#32066=NAME_ATTRIBUTE('single instance',#1885); -#32067=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1885,*); -#32068=PROPERTY_DEFINITION('',$,#32067); -#32069=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21870,#32068); -#32070=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32068); -#32071=SHAPE_ASPECT('',$,#1885,.U.); -#32072=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32071); -#32073=PROPERTY_DEFINITION('explicitly created','false',#1885); -#32074=NAME_ATTRIBUTE('single instance',#1888); -#32075=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1888,*); -#32076=PROPERTY_DEFINITION('',$,#32075); -#32077=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21867,#32076); -#32078=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32076); -#32079=SHAPE_ASPECT('',$,#1888,.U.); -#32080=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32079); -#32081=PROPERTY_DEFINITION('explicitly created','false',#1888); -#32082=NAME_ATTRIBUTE('single instance',#1891); -#32083=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1891,*); -#32084=PROPERTY_DEFINITION('',$,#32083); -#32085=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21864,#32084); -#32086=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32084); -#32087=SHAPE_ASPECT('',$,#1891,.U.); -#32088=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32087); -#32089=PROPERTY_DEFINITION('explicitly created','false',#1891); -#32090=NAME_ATTRIBUTE('single instance',#1894); -#32091=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1894,*); -#32092=PROPERTY_DEFINITION('',$,#32091); -#32093=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21861,#32092); -#32094=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32092); -#32095=SHAPE_ASPECT('',$,#1894,.U.); -#32096=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32095); -#32097=PROPERTY_DEFINITION('explicitly created','false',#1894); -#32098=NAME_ATTRIBUTE('single instance',#1897); -#32099=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1897,*); -#32100=PROPERTY_DEFINITION('',$,#32099); -#32101=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21858,#32100); -#32102=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32100); -#32103=SHAPE_ASPECT('',$,#1897,.U.); -#32104=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32103); -#32105=PROPERTY_DEFINITION('explicitly created','false',#1897); -#32106=NAME_ATTRIBUTE('single instance',#1900); -#32107=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1900,*); -#32108=PROPERTY_DEFINITION('',$,#32107); -#32109=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21855,#32108); -#32110=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32108); -#32111=SHAPE_ASPECT('',$,#1900,.U.); -#32112=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32111); -#32113=PROPERTY_DEFINITION('explicitly created','false',#1900); -#32114=NAME_ATTRIBUTE('single instance',#1903); -#32115=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1903,*); -#32116=PROPERTY_DEFINITION('',$,#32115); -#32117=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21852,#32116); -#32118=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32116); -#32119=SHAPE_ASPECT('',$,#1903,.U.); -#32120=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32119); -#32121=PROPERTY_DEFINITION('explicitly created','false',#1903); -#32122=NAME_ATTRIBUTE('single instance',#1906); -#32123=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1906,*); -#32124=PROPERTY_DEFINITION('',$,#32123); -#32125=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21849,#32124); -#32126=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32124); -#32127=SHAPE_ASPECT('',$,#1906,.U.); -#32128=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32127); -#32129=PROPERTY_DEFINITION('explicitly created','false',#1906); -#32130=NAME_ATTRIBUTE('single instance',#1909); -#32131=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1909,*); -#32132=PROPERTY_DEFINITION('',$,#32131); -#32133=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21846,#32132); -#32134=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32132); -#32135=SHAPE_ASPECT('',$,#1909,.U.); -#32136=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32135); -#32137=PROPERTY_DEFINITION('explicitly created','false',#1909); -#32138=NAME_ATTRIBUTE('single instance',#1912); -#32139=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1912,*); -#32140=PROPERTY_DEFINITION('',$,#32139); -#32141=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21843,#32140); -#32142=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32140); -#32143=SHAPE_ASPECT('',$,#1912,.U.); -#32144=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32143); -#32145=PROPERTY_DEFINITION('explicitly created','false',#1912); -#32146=NAME_ATTRIBUTE('single instance',#1915); -#32147=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1915,*); -#32148=PROPERTY_DEFINITION('',$,#32147); -#32149=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21840,#32148); -#32150=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32148); -#32151=SHAPE_ASPECT('',$,#1915,.U.); -#32152=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32151); -#32153=PROPERTY_DEFINITION('explicitly created','false',#1915); -#32154=NAME_ATTRIBUTE('single instance',#1918); -#32155=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1918,*); -#32156=PROPERTY_DEFINITION('',$,#32155); -#32157=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21837,#32156); -#32158=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32156); -#32159=SHAPE_ASPECT('',$,#1918,.U.); -#32160=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32159); -#32161=PROPERTY_DEFINITION('explicitly created','false',#1918); -#32162=NAME_ATTRIBUTE('single instance',#1921); -#32163=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1921,*); -#32164=PROPERTY_DEFINITION('',$,#32163); -#32165=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21834,#32164); -#32166=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32164); -#32167=SHAPE_ASPECT('',$,#1921,.U.); -#32168=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32167); -#32169=PROPERTY_DEFINITION('explicitly created','false',#1921); -#32170=NAME_ATTRIBUTE('single instance',#1924); -#32171=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1924,*); -#32172=PROPERTY_DEFINITION('',$,#32171); -#32173=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21831,#32172); -#32174=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32172); -#32175=SHAPE_ASPECT('',$,#1924,.U.); -#32176=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32175); -#32177=PROPERTY_DEFINITION('explicitly created','false',#1924); -#32178=NAME_ATTRIBUTE('single instance',#1927); -#32179=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1927,*); -#32180=PROPERTY_DEFINITION('',$,#32179); -#32181=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21828,#32180); -#32182=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32180); -#32183=SHAPE_ASPECT('',$,#1927,.U.); -#32184=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32183); -#32185=PROPERTY_DEFINITION('explicitly created','false',#1927); -#32186=NAME_ATTRIBUTE('single instance',#1930); -#32187=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1930,*); -#32188=PROPERTY_DEFINITION('',$,#32187); -#32189=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21825,#32188); -#32190=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32188); -#32191=SHAPE_ASPECT('',$,#1930,.U.); -#32192=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32191); -#32193=PROPERTY_DEFINITION('explicitly created','false',#1930); -#32194=NAME_ATTRIBUTE('single instance',#1933); -#32195=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1933,*); -#32196=PROPERTY_DEFINITION('',$,#32195); -#32197=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21822,#32196); -#32198=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32196); -#32199=SHAPE_ASPECT('',$,#1933,.U.); -#32200=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32199); -#32201=PROPERTY_DEFINITION('explicitly created','false',#1933); -#32202=NAME_ATTRIBUTE('single instance',#1936); -#32203=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1936,*); -#32204=PROPERTY_DEFINITION('',$,#32203); -#32205=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21819,#32204); -#32206=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32204); -#32207=SHAPE_ASPECT('',$,#1936,.U.); -#32208=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32207); -#32209=PROPERTY_DEFINITION('explicitly created','false',#1936); -#32210=NAME_ATTRIBUTE('single instance',#1939); -#32211=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1939,*); -#32212=PROPERTY_DEFINITION('',$,#32211); -#32213=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21816,#32212); -#32214=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32212); -#32215=SHAPE_ASPECT('',$,#1939,.U.); -#32216=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32215); -#32217=PROPERTY_DEFINITION('explicitly created','false',#1939); -#32218=NAME_ATTRIBUTE('single instance',#1942); -#32219=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1942,*); -#32220=PROPERTY_DEFINITION('',$,#32219); -#32221=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21813,#32220); -#32222=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32220); -#32223=SHAPE_ASPECT('',$,#1942,.U.); -#32224=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32223); -#32225=PROPERTY_DEFINITION('explicitly created','false',#1942); -#32226=NAME_ATTRIBUTE('single instance',#1945); -#32227=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1945,*); -#32228=PROPERTY_DEFINITION('',$,#32227); -#32229=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21810,#32228); -#32230=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32228); -#32231=SHAPE_ASPECT('',$,#1945,.U.); -#32232=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32231); -#32233=PROPERTY_DEFINITION('explicitly created','false',#1945); -#32234=NAME_ATTRIBUTE('single instance',#1948); -#32235=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1948,*); -#32236=PROPERTY_DEFINITION('',$,#32235); -#32237=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21807,#32236); -#32238=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32236); -#32239=SHAPE_ASPECT('',$,#1948,.U.); -#32240=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32239); -#32241=PROPERTY_DEFINITION('explicitly created','false',#1948); -#32242=NAME_ATTRIBUTE('single instance',#1951); -#32243=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1951,*); -#32244=PROPERTY_DEFINITION('',$,#32243); -#32245=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21804,#32244); -#32246=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32244); -#32247=SHAPE_ASPECT('',$,#1951,.U.); -#32248=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32247); -#32249=PROPERTY_DEFINITION('explicitly created','false',#1951); -#32250=NAME_ATTRIBUTE('single instance',#1954); -#32251=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1954,*); -#32252=PROPERTY_DEFINITION('',$,#32251); -#32253=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21801,#32252); -#32254=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32252); -#32255=SHAPE_ASPECT('',$,#1954,.U.); -#32256=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32255); -#32257=PROPERTY_DEFINITION('explicitly created','false',#1954); -#32258=NAME_ATTRIBUTE('single instance',#1957); -#32259=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#1764,#909,$,'',$,#1957,*); -#32260=PROPERTY_DEFINITION('',$,#32259); -#32261=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21798,#32260); -#32262=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32260); -#32263=SHAPE_ASPECT('',$,#1957,.U.); -#32264=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32263); -#32265=PROPERTY_DEFINITION('explicitly created','false',#1957); -#32266=NAME_ATTRIBUTE('single instance',#2237); -#32267=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2232,#2208,$,'',$,#2237,*); -#32268=PROPERTY_DEFINITION('',$,#32267); -#32269=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22026,#32268); -#32270=SHAPE_ASPECT('',$,#2237,.U.); -#32271=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32270); -#32272=PROPERTY_DEFINITION('explicitly created','false',#2237); -#32273=NAME_ATTRIBUTE('single instance',#2238); -#32274=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2232,#2200,$,'',$,#2238,*); -#32275=PROPERTY_DEFINITION('',$,#32274); -#32276=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22022,#32275); -#32277=SHAPE_ASPECT('',$,#2238,.U.); -#32278=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32277); -#32279=PROPERTY_DEFINITION('explicitly created','false',#2238); -#32280=NAME_ATTRIBUTE('single instance',#2406); -#32281=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2324,$,'',$,#2406,*); -#32282=PROPERTY_DEFINITION('',$,#32281); -#32283=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#32282); -#32284=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22118,#32282); -#32285=SHAPE_ASPECT('',$,#2406,.U.); -#32286=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32285); -#32287=PROPERTY_DEFINITION('explicitly created','false',#2406); -#32288=NAME_ATTRIBUTE('single instance',#2407); -#32289=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2324,$,'',$,#2407,*); -#32290=PROPERTY_DEFINITION('',$,#32289); -#32291=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#32290); -#32292=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22073,#32290); -#32293=SHAPE_ASPECT('',$,#2407,.U.); -#32294=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32293); -#32295=PROPERTY_DEFINITION('explicitly created','false',#2407); -#32296=NAME_ATTRIBUTE('single instance',#2425); -#32297=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2324,$,'',$,#2425,*); -#32298=PROPERTY_DEFINITION('',$,#32297); -#32299=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#32298); -#32300=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22118,#32298); -#32301=SHAPE_ASPECT('',$,#2425,.U.); -#32302=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32301); -#32303=PROPERTY_DEFINITION('explicitly created','false',#2425); -#32304=NAME_ATTRIBUTE('single instance',#2426); -#32305=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2324,$,'',$,#2426,*); -#32306=PROPERTY_DEFINITION('',$,#32305); -#32307=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#32306); -#32308=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22073,#32306); -#32309=SHAPE_ASPECT('',$,#2426,.U.); -#32310=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32309); -#32311=PROPERTY_DEFINITION('explicitly created','false',#2426); -#32312=NAME_ATTRIBUTE('single instance',#2523); -#32313=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2518,#2494,$,'',$,#2523,*); -#32314=PROPERTY_DEFINITION('',$,#32313); -#32315=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22173,#32314); -#32316=SHAPE_ASPECT('',$,#2523,.U.); -#32317=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32316); -#32318=PROPERTY_DEFINITION('explicitly created','false',#2523); -#32319=NAME_ATTRIBUTE('single instance',#2524); -#32320=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2518,#2486,$,'',$,#2524,*); -#32321=PROPERTY_DEFINITION('',$,#32320); -#32322=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22169,#32321); -#32323=SHAPE_ASPECT('',$,#2524,.U.); -#32324=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32323); -#32325=PROPERTY_DEFINITION('explicitly created','false',#2524); -#32326=NAME_ATTRIBUTE('single instance',#2663); -#32327=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2659,#2652,$,'',$,#2663,*); -#32328=PROPERTY_DEFINITION('',$,#32327); -#32329=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22184,#32328); -#32330=SHAPE_ASPECT('',$,#2663,.U.); -#32331=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32330); -#32332=PROPERTY_DEFINITION('explicitly created','false',#2663); -#32333=NAME_ATTRIBUTE('single instance',#3668); -#32334=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3668,*); -#32335=PROPERTY_DEFINITION('',$,#32334); -#32336=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22376,#32335); -#32337=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32335); -#32338=SHAPE_ASPECT('',$,#3668,.U.); -#32339=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32338); -#32340=PROPERTY_DEFINITION('explicitly created','false',#3668); -#32341=NAME_ATTRIBUTE('single instance',#3671); -#32342=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3671,*); -#32343=PROPERTY_DEFINITION('',$,#32342); -#32344=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22373,#32343); -#32345=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32343); -#32346=SHAPE_ASPECT('',$,#3671,.U.); -#32347=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32346); -#32348=PROPERTY_DEFINITION('explicitly created','false',#3671); -#32349=NAME_ATTRIBUTE('single instance',#3674); -#32350=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3674,*); -#32351=PROPERTY_DEFINITION('',$,#32350); -#32352=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22370,#32351); -#32353=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32351); -#32354=SHAPE_ASPECT('',$,#3674,.U.); -#32355=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32354); -#32356=PROPERTY_DEFINITION('explicitly created','false',#3674); -#32357=NAME_ATTRIBUTE('single instance',#3677); -#32358=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3677,*); -#32359=PROPERTY_DEFINITION('',$,#32358); -#32360=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22367,#32359); -#32361=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32359); -#32362=SHAPE_ASPECT('',$,#3677,.U.); -#32363=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32362); -#32364=PROPERTY_DEFINITION('explicitly created','false',#3677); -#32365=NAME_ATTRIBUTE('single instance',#3680); -#32366=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3680,*); -#32367=PROPERTY_DEFINITION('',$,#32366); -#32368=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22364,#32367); -#32369=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32367); -#32370=SHAPE_ASPECT('',$,#3680,.U.); -#32371=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32370); -#32372=PROPERTY_DEFINITION('explicitly created','false',#3680); -#32373=NAME_ATTRIBUTE('single instance',#3683); -#32374=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3683,*); -#32375=PROPERTY_DEFINITION('',$,#32374); -#32376=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22361,#32375); -#32377=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32375); -#32378=SHAPE_ASPECT('',$,#3683,.U.); -#32379=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32378); -#32380=PROPERTY_DEFINITION('explicitly created','false',#3683); -#32381=NAME_ATTRIBUTE('single instance',#3686); -#32382=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3686,*); -#32383=PROPERTY_DEFINITION('',$,#32382); -#32384=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22358,#32383); -#32385=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32383); -#32386=SHAPE_ASPECT('',$,#3686,.U.); -#32387=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32386); -#32388=PROPERTY_DEFINITION('explicitly created','false',#3686); -#32389=NAME_ATTRIBUTE('single instance',#3689); -#32390=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3689,*); -#32391=PROPERTY_DEFINITION('',$,#32390); -#32392=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22355,#32391); -#32393=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32391); -#32394=SHAPE_ASPECT('',$,#3689,.U.); -#32395=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32394); -#32396=PROPERTY_DEFINITION('explicitly created','false',#3689); -#32397=NAME_ATTRIBUTE('single instance',#3692); -#32398=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3692,*); -#32399=PROPERTY_DEFINITION('',$,#32398); -#32400=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22352,#32399); -#32401=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32399); -#32402=SHAPE_ASPECT('',$,#3692,.U.); -#32403=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32402); -#32404=PROPERTY_DEFINITION('explicitly created','false',#3692); -#32405=NAME_ATTRIBUTE('single instance',#3695); -#32406=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3695,*); -#32407=PROPERTY_DEFINITION('',$,#32406); -#32408=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22349,#32407); -#32409=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32407); -#32410=SHAPE_ASPECT('',$,#3695,.U.); -#32411=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32410); -#32412=PROPERTY_DEFINITION('explicitly created','false',#3695); -#32413=NAME_ATTRIBUTE('single instance',#3698); -#32414=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3698,*); -#32415=PROPERTY_DEFINITION('',$,#32414); -#32416=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22346,#32415); -#32417=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32415); -#32418=SHAPE_ASPECT('',$,#3698,.U.); -#32419=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32418); -#32420=PROPERTY_DEFINITION('explicitly created','false',#3698); -#32421=NAME_ATTRIBUTE('single instance',#3701); -#32422=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3701,*); -#32423=PROPERTY_DEFINITION('',$,#32422); -#32424=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22343,#32423); -#32425=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32423); -#32426=SHAPE_ASPECT('',$,#3701,.U.); -#32427=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32426); -#32428=PROPERTY_DEFINITION('explicitly created','false',#3701); -#32429=NAME_ATTRIBUTE('single instance',#3704); -#32430=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3704,*); -#32431=PROPERTY_DEFINITION('',$,#32430); -#32432=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22340,#32431); -#32433=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32431); -#32434=SHAPE_ASPECT('',$,#3704,.U.); -#32435=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32434); -#32436=PROPERTY_DEFINITION('explicitly created','false',#3704); -#32437=NAME_ATTRIBUTE('single instance',#3707); -#32438=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3707,*); -#32439=PROPERTY_DEFINITION('',$,#32438); -#32440=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22337,#32439); -#32441=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32439); -#32442=SHAPE_ASPECT('',$,#3707,.U.); -#32443=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32442); -#32444=PROPERTY_DEFINITION('explicitly created','false',#3707); -#32445=NAME_ATTRIBUTE('single instance',#3710); -#32446=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3710,*); -#32447=PROPERTY_DEFINITION('',$,#32446); -#32448=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22334,#32447); -#32449=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32447); -#32450=SHAPE_ASPECT('',$,#3710,.U.); -#32451=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32450); -#32452=PROPERTY_DEFINITION('explicitly created','false',#3710); -#32453=NAME_ATTRIBUTE('single instance',#3713); -#32454=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3713,*); -#32455=PROPERTY_DEFINITION('',$,#32454); -#32456=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22331,#32455); -#32457=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32455); -#32458=SHAPE_ASPECT('',$,#3713,.U.); -#32459=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32458); -#32460=PROPERTY_DEFINITION('explicitly created','false',#3713); -#32461=NAME_ATTRIBUTE('single instance',#3716); -#32462=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3716,*); -#32463=PROPERTY_DEFINITION('',$,#32462); -#32464=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22328,#32463); -#32465=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32463); -#32466=SHAPE_ASPECT('',$,#3716,.U.); -#32467=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32466); -#32468=PROPERTY_DEFINITION('explicitly created','false',#3716); -#32469=NAME_ATTRIBUTE('single instance',#3719); -#32470=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3719,*); -#32471=PROPERTY_DEFINITION('',$,#32470); -#32472=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22325,#32471); -#32473=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32471); -#32474=SHAPE_ASPECT('',$,#3719,.U.); -#32475=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32474); -#32476=PROPERTY_DEFINITION('explicitly created','false',#3719); -#32477=NAME_ATTRIBUTE('single instance',#3722); -#32478=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3722,*); -#32479=PROPERTY_DEFINITION('',$,#32478); -#32480=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22322,#32479); -#32481=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32479); -#32482=SHAPE_ASPECT('',$,#3722,.U.); -#32483=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32482); -#32484=PROPERTY_DEFINITION('explicitly created','false',#3722); -#32485=NAME_ATTRIBUTE('single instance',#3725); -#32486=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3725,*); -#32487=PROPERTY_DEFINITION('',$,#32486); -#32488=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22319,#32487); -#32489=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32487); -#32490=SHAPE_ASPECT('',$,#3725,.U.); -#32491=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32490); -#32492=PROPERTY_DEFINITION('explicitly created','false',#3725); -#32493=NAME_ATTRIBUTE('single instance',#3728); -#32494=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3728,*); -#32495=PROPERTY_DEFINITION('',$,#32494); -#32496=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22316,#32495); -#32497=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32495); -#32498=SHAPE_ASPECT('',$,#3728,.U.); -#32499=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32498); -#32500=PROPERTY_DEFINITION('explicitly created','false',#3728); -#32501=NAME_ATTRIBUTE('single instance',#3731); -#32502=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3731,*); -#32503=PROPERTY_DEFINITION('',$,#32502); -#32504=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22313,#32503); -#32505=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32503); -#32506=SHAPE_ASPECT('',$,#3731,.U.); -#32507=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32506); -#32508=PROPERTY_DEFINITION('explicitly created','false',#3731); -#32509=NAME_ATTRIBUTE('single instance',#3734); -#32510=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3734,*); -#32511=PROPERTY_DEFINITION('',$,#32510); -#32512=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22310,#32511); -#32513=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32511); -#32514=SHAPE_ASPECT('',$,#3734,.U.); -#32515=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32514); -#32516=PROPERTY_DEFINITION('explicitly created','false',#3734); -#32517=NAME_ATTRIBUTE('single instance',#3737); -#32518=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3737,*); -#32519=PROPERTY_DEFINITION('',$,#32518); -#32520=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22307,#32519); -#32521=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32519); -#32522=SHAPE_ASPECT('',$,#3737,.U.); -#32523=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32522); -#32524=PROPERTY_DEFINITION('explicitly created','false',#3737); -#32525=NAME_ATTRIBUTE('single instance',#3740); -#32526=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3740,*); -#32527=PROPERTY_DEFINITION('',$,#32526); -#32528=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22304,#32527); -#32529=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32527); -#32530=SHAPE_ASPECT('',$,#3740,.U.); -#32531=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32530); -#32532=PROPERTY_DEFINITION('explicitly created','false',#3740); -#32533=NAME_ATTRIBUTE('single instance',#3743); -#32534=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3743,*); -#32535=PROPERTY_DEFINITION('',$,#32534); -#32536=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22301,#32535); -#32537=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32535); -#32538=SHAPE_ASPECT('',$,#3743,.U.); -#32539=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32538); -#32540=PROPERTY_DEFINITION('explicitly created','false',#3743); -#32541=NAME_ATTRIBUTE('single instance',#3746); -#32542=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3746,*); -#32543=PROPERTY_DEFINITION('',$,#32542); -#32544=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22298,#32543); -#32545=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32543); -#32546=SHAPE_ASPECT('',$,#3746,.U.); -#32547=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32546); -#32548=PROPERTY_DEFINITION('explicitly created','false',#3746); -#32549=NAME_ATTRIBUTE('single instance',#3749); -#32550=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3749,*); -#32551=PROPERTY_DEFINITION('',$,#32550); -#32552=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22295,#32551); -#32553=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32551); -#32554=SHAPE_ASPECT('',$,#3749,.U.); -#32555=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32554); -#32556=PROPERTY_DEFINITION('explicitly created','false',#3749); -#32557=NAME_ATTRIBUTE('single instance',#3752); -#32558=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3752,*); -#32559=PROPERTY_DEFINITION('',$,#32558); -#32560=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22292,#32559); -#32561=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32559); -#32562=SHAPE_ASPECT('',$,#3752,.U.); -#32563=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32562); -#32564=PROPERTY_DEFINITION('explicitly created','false',#3752); -#32565=NAME_ATTRIBUTE('single instance',#3755); -#32566=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3755,*); -#32567=PROPERTY_DEFINITION('',$,#32566); -#32568=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22289,#32567); -#32569=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32567); -#32570=SHAPE_ASPECT('',$,#3755,.U.); -#32571=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32570); -#32572=PROPERTY_DEFINITION('explicitly created','false',#3755); -#32573=NAME_ATTRIBUTE('single instance',#3758); -#32574=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3758,*); -#32575=PROPERTY_DEFINITION('',$,#32574); -#32576=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22286,#32575); -#32577=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32575); -#32578=SHAPE_ASPECT('',$,#3758,.U.); -#32579=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32578); -#32580=PROPERTY_DEFINITION('explicitly created','false',#3758); -#32581=NAME_ATTRIBUTE('single instance',#3761); -#32582=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3761,*); -#32583=PROPERTY_DEFINITION('',$,#32582); -#32584=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22283,#32583); -#32585=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32583); -#32586=SHAPE_ASPECT('',$,#3761,.U.); -#32587=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32586); -#32588=PROPERTY_DEFINITION('explicitly created','false',#3761); -#32589=NAME_ATTRIBUTE('single instance',#3764); -#32590=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3764,*); -#32591=PROPERTY_DEFINITION('',$,#32590); -#32592=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22280,#32591); -#32593=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32591); -#32594=SHAPE_ASPECT('',$,#3764,.U.); -#32595=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32594); -#32596=PROPERTY_DEFINITION('explicitly created','false',#3764); -#32597=NAME_ATTRIBUTE('single instance',#3767); -#32598=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3767,*); -#32599=PROPERTY_DEFINITION('',$,#32598); -#32600=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22277,#32599); -#32601=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32599); -#32602=SHAPE_ASPECT('',$,#3767,.U.); -#32603=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32602); -#32604=PROPERTY_DEFINITION('explicitly created','false',#3767); -#32605=NAME_ATTRIBUTE('single instance',#3770); -#32606=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3770,*); -#32607=PROPERTY_DEFINITION('',$,#32606); -#32608=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22274,#32607); -#32609=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32607); -#32610=SHAPE_ASPECT('',$,#3770,.U.); -#32611=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32610); -#32612=PROPERTY_DEFINITION('explicitly created','false',#3770); -#32613=NAME_ATTRIBUTE('single instance',#3773); -#32614=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3773,*); -#32615=PROPERTY_DEFINITION('',$,#32614); -#32616=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22271,#32615); -#32617=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32615); -#32618=SHAPE_ASPECT('',$,#3773,.U.); -#32619=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32618); -#32620=PROPERTY_DEFINITION('explicitly created','false',#3773); -#32621=NAME_ATTRIBUTE('single instance',#3776); -#32622=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3776,*); -#32623=PROPERTY_DEFINITION('',$,#32622); -#32624=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22268,#32623); -#32625=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32623); -#32626=SHAPE_ASPECT('',$,#3776,.U.); -#32627=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32626); -#32628=PROPERTY_DEFINITION('explicitly created','false',#3776); -#32629=NAME_ATTRIBUTE('single instance',#3779); -#32630=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3779,*); -#32631=PROPERTY_DEFINITION('',$,#32630); -#32632=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22265,#32631); -#32633=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32631); -#32634=SHAPE_ASPECT('',$,#3779,.U.); -#32635=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32634); -#32636=PROPERTY_DEFINITION('explicitly created','false',#3779); -#32637=NAME_ATTRIBUTE('single instance',#3782); -#32638=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3782,*); -#32639=PROPERTY_DEFINITION('',$,#32638); -#32640=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22262,#32639); -#32641=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32639); -#32642=SHAPE_ASPECT('',$,#3782,.U.); -#32643=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32642); -#32644=PROPERTY_DEFINITION('explicitly created','false',#3782); -#32645=NAME_ATTRIBUTE('single instance',#3785); -#32646=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3785,*); -#32647=PROPERTY_DEFINITION('',$,#32646); -#32648=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22259,#32647); -#32649=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32647); -#32650=SHAPE_ASPECT('',$,#3785,.U.); -#32651=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32650); -#32652=PROPERTY_DEFINITION('explicitly created','false',#3785); -#32653=NAME_ATTRIBUTE('single instance',#3788); -#32654=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3788,*); -#32655=PROPERTY_DEFINITION('',$,#32654); -#32656=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22256,#32655); -#32657=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32655); -#32658=SHAPE_ASPECT('',$,#3788,.U.); -#32659=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32658); -#32660=PROPERTY_DEFINITION('explicitly created','false',#3788); -#32661=NAME_ATTRIBUTE('single instance',#3791); -#32662=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3791,*); -#32663=PROPERTY_DEFINITION('',$,#32662); -#32664=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22253,#32663); -#32665=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32663); -#32666=SHAPE_ASPECT('',$,#3791,.U.); -#32667=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32666); -#32668=PROPERTY_DEFINITION('explicitly created','false',#3791); -#32669=NAME_ATTRIBUTE('single instance',#3794); -#32670=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3794,*); -#32671=PROPERTY_DEFINITION('',$,#32670); -#32672=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22250,#32671); -#32673=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32671); -#32674=SHAPE_ASPECT('',$,#3794,.U.); -#32675=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32674); -#32676=PROPERTY_DEFINITION('explicitly created','false',#3794); -#32677=NAME_ATTRIBUTE('single instance',#3797); -#32678=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3797,*); -#32679=PROPERTY_DEFINITION('',$,#32678); -#32680=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22247,#32679); -#32681=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32679); -#32682=SHAPE_ASPECT('',$,#3797,.U.); -#32683=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32682); -#32684=PROPERTY_DEFINITION('explicitly created','false',#3797); -#32685=NAME_ATTRIBUTE('single instance',#3800); -#32686=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3800,*); -#32687=PROPERTY_DEFINITION('',$,#32686); -#32688=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22244,#32687); -#32689=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32687); -#32690=SHAPE_ASPECT('',$,#3800,.U.); -#32691=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32690); -#32692=PROPERTY_DEFINITION('explicitly created','false',#3800); -#32693=NAME_ATTRIBUTE('single instance',#3803); -#32694=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3803,*); -#32695=PROPERTY_DEFINITION('',$,#32694); -#32696=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22241,#32695); -#32697=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32695); -#32698=SHAPE_ASPECT('',$,#3803,.U.); -#32699=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32698); -#32700=PROPERTY_DEFINITION('explicitly created','false',#3803); -#32701=NAME_ATTRIBUTE('single instance',#3806); -#32702=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3806,*); -#32703=PROPERTY_DEFINITION('',$,#32702); -#32704=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22238,#32703); -#32705=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32703); -#32706=SHAPE_ASPECT('',$,#3806,.U.); -#32707=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32706); -#32708=PROPERTY_DEFINITION('explicitly created','false',#3806); -#32709=NAME_ATTRIBUTE('single instance',#3809); -#32710=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3809,*); -#32711=PROPERTY_DEFINITION('',$,#32710); -#32712=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22235,#32711); -#32713=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32711); -#32714=SHAPE_ASPECT('',$,#3809,.U.); -#32715=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32714); -#32716=PROPERTY_DEFINITION('explicitly created','false',#3809); -#32717=NAME_ATTRIBUTE('single instance',#3812); -#32718=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3812,*); -#32719=PROPERTY_DEFINITION('',$,#32718); -#32720=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22232,#32719); -#32721=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32719); -#32722=SHAPE_ASPECT('',$,#3812,.U.); -#32723=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32722); -#32724=PROPERTY_DEFINITION('explicitly created','false',#3812); -#32725=NAME_ATTRIBUTE('single instance',#3815); -#32726=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3815,*); -#32727=PROPERTY_DEFINITION('',$,#32726); -#32728=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22229,#32727); -#32729=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32727); -#32730=SHAPE_ASPECT('',$,#3815,.U.); -#32731=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32730); -#32732=PROPERTY_DEFINITION('explicitly created','false',#3815); -#32733=NAME_ATTRIBUTE('single instance',#3818); -#32734=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3818,*); -#32735=PROPERTY_DEFINITION('',$,#32734); -#32736=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22226,#32735); -#32737=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32735); -#32738=SHAPE_ASPECT('',$,#3818,.U.); -#32739=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32738); -#32740=PROPERTY_DEFINITION('explicitly created','false',#3818); -#32741=NAME_ATTRIBUTE('single instance',#3821); -#32742=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3821,*); -#32743=PROPERTY_DEFINITION('',$,#32742); -#32744=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22223,#32743); -#32745=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32743); -#32746=SHAPE_ASPECT('',$,#3821,.U.); -#32747=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32746); -#32748=PROPERTY_DEFINITION('explicitly created','false',#3821); -#32749=NAME_ATTRIBUTE('single instance',#3824); -#32750=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3824,*); -#32751=PROPERTY_DEFINITION('',$,#32750); -#32752=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22220,#32751); -#32753=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32751); -#32754=SHAPE_ASPECT('',$,#3824,.U.); -#32755=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32754); -#32756=PROPERTY_DEFINITION('explicitly created','false',#3824); -#32757=NAME_ATTRIBUTE('single instance',#3827); -#32758=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3827,*); -#32759=PROPERTY_DEFINITION('',$,#32758); -#32760=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22217,#32759); -#32761=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32759); -#32762=SHAPE_ASPECT('',$,#3827,.U.); -#32763=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32762); -#32764=PROPERTY_DEFINITION('explicitly created','false',#3827); -#32765=NAME_ATTRIBUTE('single instance',#3830); -#32766=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3830,*); -#32767=PROPERTY_DEFINITION('',$,#32766); -#32768=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22214,#32767); -#32769=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32767); -#32770=SHAPE_ASPECT('',$,#3830,.U.); -#32771=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32770); -#32772=PROPERTY_DEFINITION('explicitly created','false',#3830); -#32773=NAME_ATTRIBUTE('single instance',#3833); -#32774=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3833,*); -#32775=PROPERTY_DEFINITION('',$,#32774); -#32776=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22211,#32775); -#32777=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32775); -#32778=SHAPE_ASPECT('',$,#3833,.U.); -#32779=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32778); -#32780=PROPERTY_DEFINITION('explicitly created','false',#3833); -#32781=NAME_ATTRIBUTE('single instance',#3836); -#32782=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3836,*); -#32783=PROPERTY_DEFINITION('',$,#32782); -#32784=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22208,#32783); -#32785=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32783); -#32786=SHAPE_ASPECT('',$,#3836,.U.); -#32787=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32786); -#32788=PROPERTY_DEFINITION('explicitly created','false',#3836); -#32789=NAME_ATTRIBUTE('single instance',#3839); -#32790=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3839,*); -#32791=PROPERTY_DEFINITION('',$,#32790); -#32792=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22205,#32791); -#32793=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32791); -#32794=SHAPE_ASPECT('',$,#3839,.U.); -#32795=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32794); -#32796=PROPERTY_DEFINITION('explicitly created','false',#3839); -#32797=NAME_ATTRIBUTE('single instance',#3842); -#32798=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3842,*); -#32799=PROPERTY_DEFINITION('',$,#32798); -#32800=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22202,#32799); -#32801=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32799); -#32802=SHAPE_ASPECT('',$,#3842,.U.); -#32803=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32802); -#32804=PROPERTY_DEFINITION('explicitly created','false',#3842); -#32805=NAME_ATTRIBUTE('single instance',#3845); -#32806=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3845,*); -#32807=PROPERTY_DEFINITION('',$,#32806); -#32808=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22199,#32807); -#32809=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32807); -#32810=SHAPE_ASPECT('',$,#3845,.U.); -#32811=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32810); -#32812=PROPERTY_DEFINITION('explicitly created','false',#3845); -#32813=NAME_ATTRIBUTE('single instance',#3848); -#32814=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3848,*); -#32815=PROPERTY_DEFINITION('',$,#32814); -#32816=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22196,#32815); -#32817=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32815); -#32818=SHAPE_ASPECT('',$,#3848,.U.); -#32819=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32818); -#32820=PROPERTY_DEFINITION('explicitly created','false',#3848); -#32821=NAME_ATTRIBUTE('single instance',#3851); -#32822=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3851,*); -#32823=PROPERTY_DEFINITION('',$,#32822); -#32824=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22193,#32823); -#32825=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32823); -#32826=SHAPE_ASPECT('',$,#3851,.U.); -#32827=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32826); -#32828=PROPERTY_DEFINITION('explicitly created','false',#3851); -#32829=NAME_ATTRIBUTE('single instance',#3854); -#32830=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3854,*); -#32831=PROPERTY_DEFINITION('',$,#32830); -#32832=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22190,#32831); -#32833=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32831); -#32834=SHAPE_ASPECT('',$,#3854,.U.); -#32835=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32834); -#32836=PROPERTY_DEFINITION('explicitly created','false',#3854); -#32837=NAME_ATTRIBUTE('single instance',#3857); -#32838=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3664,#909,$,'',$,#3857,*); -#32839=PROPERTY_DEFINITION('',$,#32838); -#32840=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22187,#32839); -#32841=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#21794,#32839); -#32842=SHAPE_ASPECT('',$,#3857,.U.); -#32843=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32842); -#32844=PROPERTY_DEFINITION('explicitly created','false',#3857); -#32845=NAME_ATTRIBUTE('single instance',#3947); -#32846=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2324,$,'',$,#3947,*); -#32847=PROPERTY_DEFINITION('',$,#32846); -#32848=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#32847); -#32849=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22118,#32847); -#32850=SHAPE_ASPECT('',$,#3947,.U.); -#32851=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32850); -#32852=PROPERTY_DEFINITION('explicitly created','false',#3947); -#32853=NAME_ATTRIBUTE('single instance',#3948); -#32854=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2324,$,'',$,#3948,*); -#32855=PROPERTY_DEFINITION('',$,#32854); -#32856=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22149,#32855); -#32857=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22073,#32855); -#32858=SHAPE_ASPECT('',$,#3948,.U.); -#32859=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32858); -#32860=PROPERTY_DEFINITION('explicitly created','false',#3948); -#32861=NAME_ATTRIBUTE('single instance',#3966); -#32862=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2324,$,'',$,#3966,*); -#32863=PROPERTY_DEFINITION('',$,#32862); -#32864=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#32863); -#32865=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22118,#32863); -#32866=SHAPE_ASPECT('',$,#3966,.U.); -#32867=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32866); -#32868=PROPERTY_DEFINITION('explicitly created','false',#3966); -#32869=NAME_ATTRIBUTE('single instance',#3967); -#32870=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2324,$,'',$,#3967,*); -#32871=PROPERTY_DEFINITION('',$,#32870); -#32872=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22146,#32871); -#32873=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#22073,#32871); -#32874=SHAPE_ASPECT('',$,#3967,.U.); -#32875=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32874); -#32876=PROPERTY_DEFINITION('explicitly created','false',#3967); -#32877=NAME_ATTRIBUTE('single instance',#7957); -#32878=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7952,#7886,$,'',$,#7957,*); -#32879=PROPERTY_DEFINITION('',$,#32878); -#32880=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#32879); -#32881=SHAPE_ASPECT('',$,#7957,.U.); -#32882=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32881); -#32883=PROPERTY_DEFINITION('explicitly created','false',#7957); -#32884=NAME_ATTRIBUTE('single instance',#7967); -#32885=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7963,#7886,$,'',$,#7967,*); -#32886=PROPERTY_DEFINITION('',$,#32885); -#32887=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#32886); -#32888=SHAPE_ASPECT('',$,#7967,.U.); -#32889=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32888); -#32890=PROPERTY_DEFINITION('explicitly created','false',#7967); -#32891=NAME_ATTRIBUTE('single instance',#7978); -#32892=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7973,#7886,$,'',$,#7978,*); -#32893=PROPERTY_DEFINITION('',$,#32892); -#32894=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#32893); -#32895=SHAPE_ASPECT('',$,#7978,.U.); -#32896=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32895); -#32897=PROPERTY_DEFINITION('explicitly created','false',#7978); -#32898=NAME_ATTRIBUTE('single instance',#7988); -#32899=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7984,#7886,$,'',$,#7988,*); -#32900=PROPERTY_DEFINITION('',$,#32899); -#32901=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#32900); -#32902=SHAPE_ASPECT('',$,#7988,.U.); -#32903=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32902); -#32904=PROPERTY_DEFINITION('explicitly created','false',#7988); -#32905=NAME_ATTRIBUTE('single instance',#8039); -#32906=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8035,#7886,$,'',$,#8039,*); -#32907=PROPERTY_DEFINITION('',$,#32906); -#32908=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#32907); -#32909=SHAPE_ASPECT('',$,#8039,.U.); -#32910=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32909); -#32911=PROPERTY_DEFINITION('explicitly created','false',#8039); -#32912=NAME_ATTRIBUTE('single instance',#8070); -#32913=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8066,#7886,$,'',$,#8070,*); -#32914=PROPERTY_DEFINITION('',$,#32913); -#32915=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#32914); -#32916=SHAPE_ASPECT('',$,#8070,.U.); -#32917=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32916); -#32918=PROPERTY_DEFINITION('explicitly created','false',#8070); -#32919=NAME_ATTRIBUTE('single instance',#8121); -#32920=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8117,#7886,$,'',$,#8121,*); -#32921=PROPERTY_DEFINITION('',$,#32920); -#32922=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#32921); -#32923=SHAPE_ASPECT('',$,#8121,.U.); -#32924=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32923); -#32925=PROPERTY_DEFINITION('explicitly created','false',#8121); -#32926=NAME_ATTRIBUTE('single instance',#8173); -#32927=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8169,#7886,$,'',$,#8173,*); -#32928=PROPERTY_DEFINITION('',$,#32927); -#32929=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#32928); -#32930=SHAPE_ASPECT('',$,#8173,.U.); -#32931=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32930); -#32932=PROPERTY_DEFINITION('explicitly created','false',#8173); -#32933=NAME_ATTRIBUTE('single instance',#8236); -#32934=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8232,#7886,$,'',$,#8236,*); -#32935=PROPERTY_DEFINITION('',$,#32934); -#32936=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#32935); -#32937=SHAPE_ASPECT('',$,#8236,.U.); -#32938=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32937); -#32939=PROPERTY_DEFINITION('explicitly created','false',#8236); -#32940=NAME_ATTRIBUTE('single instance',#8246); -#32941=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8242,#7886,$,'',$,#8246,*); -#32942=PROPERTY_DEFINITION('',$,#32941); -#32943=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#32942); -#32944=SHAPE_ASPECT('',$,#8246,.U.); -#32945=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32944); -#32946=PROPERTY_DEFINITION('explicitly created','false',#8246); -#32947=NAME_ATTRIBUTE('single instance',#8290); -#32948=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8286,#7886,$,'',$,#8290,*); -#32949=PROPERTY_DEFINITION('',$,#32948); -#32950=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#32949); -#32951=SHAPE_ASPECT('',$,#8290,.U.); -#32952=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32951); -#32953=PROPERTY_DEFINITION('explicitly created','false',#8290); -#32954=NAME_ATTRIBUTE('single instance',#8320); -#32955=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8316,#7886,$,'',$,#8320,*); -#32956=PROPERTY_DEFINITION('',$,#32955); -#32957=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#32956); -#32958=SHAPE_ASPECT('',$,#8320,.U.); -#32959=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32958); -#32960=PROPERTY_DEFINITION('explicitly created','false',#8320); -#32961=NAME_ATTRIBUTE('single instance',#8402); -#32962=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8398,#7886,$,'',$,#8402,*); -#32963=PROPERTY_DEFINITION('',$,#32962); -#32964=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#32963); -#32965=SHAPE_ASPECT('',$,#8402,.U.); -#32966=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32965); -#32967=PROPERTY_DEFINITION('explicitly created','false',#8402); -#32968=NAME_ATTRIBUTE('single instance',#8412); -#32969=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8408,#7886,$,'',$,#8412,*); -#32970=PROPERTY_DEFINITION('',$,#32969); -#32971=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#32970); -#32972=SHAPE_ASPECT('',$,#8412,.U.); -#32973=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32972); -#32974=PROPERTY_DEFINITION('explicitly created','false',#8412); -#32975=NAME_ATTRIBUTE('single instance',#8435); -#32976=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8431,#7886,$,'',$,#8435,*); -#32977=PROPERTY_DEFINITION('',$,#32976); -#32978=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#32977); -#32979=SHAPE_ASPECT('',$,#8435,.U.); -#32980=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#32979); -#32981=PROPERTY_DEFINITION('explicitly created','false',#8435); -#32982=NAME_ATTRIBUTE('single instance',#8474); -#32983=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8470,#7886,$,'',$,#8474,*); -#32984=PROPERTY_DEFINITION('',$,#32983); -#32985=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#32984); -#32986=SHAPE_ASPECT('',$,#8474,.U.); -#32987=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32986); -#32988=PROPERTY_DEFINITION('explicitly created','false',#8474); -#32989=NAME_ATTRIBUTE('single instance',#8543); -#32990=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2324,$,'',$,#8543,*); -#32991=PROPERTY_DEFINITION('',$,#32990); -#32992=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#32991); -#32993=SHAPE_ASPECT('',$,#8543,.U.); -#32994=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#32993); -#32995=PROPERTY_DEFINITION('explicitly created','false',#8543); -#32996=NAME_ATTRIBUTE('single instance',#8544); -#32997=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8525,#2324,$,'',$,#8544,*); -#32998=PROPERTY_DEFINITION('',$,#32997); -#32999=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#32998); -#33000=SHAPE_ASPECT('',$,#8544,.U.); -#33001=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33000); -#33002=PROPERTY_DEFINITION('explicitly created','false',#8544); -#33003=NAME_ATTRIBUTE('single instance',#8554); -#33004=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8550,#7886,$,'',$,#8554,*); -#33005=PROPERTY_DEFINITION('',$,#33004); -#33006=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#33005); -#33007=SHAPE_ASPECT('',$,#8554,.U.); -#33008=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33007); -#33009=PROPERTY_DEFINITION('explicitly created','false',#8554); -#33010=NAME_ATTRIBUTE('single instance',#8564); -#33011=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8560,#7886,$,'',$,#8564,*); -#33012=PROPERTY_DEFINITION('',$,#33011); -#33013=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#33012); -#33014=SHAPE_ASPECT('',$,#8564,.U.); -#33015=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33014); -#33016=PROPERTY_DEFINITION('explicitly created','false',#8564); -#33017=NAME_ATTRIBUTE('single instance',#8587); -#33018=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2324,$,'',$,#8587,*); -#33019=PROPERTY_DEFINITION('',$,#33018); -#33020=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33019); -#33021=SHAPE_ASPECT('',$,#8587,.U.); -#33022=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33021); -#33023=PROPERTY_DEFINITION('explicitly created','false',#8587); -#33024=NAME_ATTRIBUTE('single instance',#8588); -#33025=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8569,#2324,$,'',$,#8588,*); -#33026=PROPERTY_DEFINITION('',$,#33025); -#33027=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33026); -#33028=SHAPE_ASPECT('',$,#8588,.U.); -#33029=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33028); -#33030=PROPERTY_DEFINITION('explicitly created','false',#8588); -#33031=NAME_ATTRIBUTE('single instance',#8611); -#33032=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2324,$,'',$,#8611,*); -#33033=PROPERTY_DEFINITION('',$,#33032); -#33034=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33033); -#33035=SHAPE_ASPECT('',$,#8611,.U.); -#33036=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33035); -#33037=PROPERTY_DEFINITION('explicitly created','false',#8611); -#33038=NAME_ATTRIBUTE('single instance',#8612); -#33039=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8593,#2324,$,'',$,#8612,*); -#33040=PROPERTY_DEFINITION('',$,#33039); -#33041=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33040); -#33042=SHAPE_ASPECT('',$,#8612,.U.); -#33043=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33042); -#33044=PROPERTY_DEFINITION('explicitly created','false',#8612); -#33045=NAME_ATTRIBUTE('single instance',#8675); -#33046=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2324,$,'',$,#8675,*); -#33047=PROPERTY_DEFINITION('',$,#33046); -#33048=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33047); -#33049=SHAPE_ASPECT('',$,#8675,.U.); -#33050=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33049); -#33051=PROPERTY_DEFINITION('explicitly created','false',#8675); -#33052=NAME_ATTRIBUTE('single instance',#8676); -#33053=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8657,#2324,$,'',$,#8676,*); -#33054=PROPERTY_DEFINITION('',$,#33053); -#33055=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33054); -#33056=SHAPE_ASPECT('',$,#8676,.U.); -#33057=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33056); -#33058=PROPERTY_DEFINITION('explicitly created','false',#8676); -#33059=NAME_ATTRIBUTE('single instance',#8719); -#33060=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2324,$,'',$,#8719,*); -#33061=PROPERTY_DEFINITION('',$,#33060); -#33062=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33061); -#33063=SHAPE_ASPECT('',$,#8719,.U.); -#33064=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33063); -#33065=PROPERTY_DEFINITION('explicitly created','false',#8719); -#33066=NAME_ATTRIBUTE('single instance',#8720); -#33067=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8701,#2324,$,'',$,#8720,*); -#33068=PROPERTY_DEFINITION('',$,#33067); -#33069=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33068); -#33070=SHAPE_ASPECT('',$,#8720,.U.); -#33071=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33070); -#33072=PROPERTY_DEFINITION('explicitly created','false',#8720); -#33073=NAME_ATTRIBUTE('single instance',#8743); -#33074=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2324,$,'',$,#8743,*); -#33075=PROPERTY_DEFINITION('',$,#33074); -#33076=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33075); -#33077=SHAPE_ASPECT('',$,#8743,.U.); -#33078=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33077); -#33079=PROPERTY_DEFINITION('explicitly created','false',#8743); -#33080=NAME_ATTRIBUTE('single instance',#8744); -#33081=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8725,#2324,$,'',$,#8744,*); -#33082=PROPERTY_DEFINITION('',$,#33081); -#33083=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33082); -#33084=SHAPE_ASPECT('',$,#8744,.U.); -#33085=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33084); -#33086=PROPERTY_DEFINITION('explicitly created','false',#8744); -#33087=NAME_ATTRIBUTE('single instance',#8767); -#33088=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2324,$,'',$,#8767,*); -#33089=PROPERTY_DEFINITION('',$,#33088); -#33090=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33089); -#33091=SHAPE_ASPECT('',$,#8767,.U.); -#33092=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33091); -#33093=PROPERTY_DEFINITION('explicitly created','false',#8767); -#33094=NAME_ATTRIBUTE('single instance',#8768); -#33095=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8749,#2324,$,'',$,#8768,*); -#33096=PROPERTY_DEFINITION('',$,#33095); -#33097=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33096); -#33098=SHAPE_ASPECT('',$,#8768,.U.); -#33099=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33098); -#33100=PROPERTY_DEFINITION('explicitly created','false',#8768); -#33101=NAME_ATTRIBUTE('single instance',#8778); -#33102=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8774,#7886,$,'',$,#8778,*); -#33103=PROPERTY_DEFINITION('',$,#33102); -#33104=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#33103); -#33105=SHAPE_ASPECT('',$,#8778,.U.); -#33106=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33105); -#33107=PROPERTY_DEFINITION('explicitly created','false',#8778); -#33108=NAME_ATTRIBUTE('single instance',#8788); -#33109=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8784,#7886,$,'',$,#8788,*); -#33110=PROPERTY_DEFINITION('',$,#33109); -#33111=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#33110); -#33112=SHAPE_ASPECT('',$,#8788,.U.); -#33113=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33112); -#33114=PROPERTY_DEFINITION('explicitly created','false',#8788); -#33115=NAME_ATTRIBUTE('single instance',#8812); -#33116=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2324,$,'',$,#8812,*); -#33117=PROPERTY_DEFINITION('',$,#33116); -#33118=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33117); -#33119=SHAPE_ASPECT('',$,#8812,.U.); -#33120=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33119); -#33121=PROPERTY_DEFINITION('explicitly created','false',#8812); -#33122=NAME_ATTRIBUTE('single instance',#8813); -#33123=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8794,#2324,$,'',$,#8813,*); -#33124=PROPERTY_DEFINITION('',$,#33123); -#33125=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33124); -#33126=SHAPE_ASPECT('',$,#8813,.U.); -#33127=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33126); -#33128=PROPERTY_DEFINITION('explicitly created','false',#8813); -#33129=NAME_ATTRIBUTE('single instance',#8837); -#33130=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2324,$,'',$,#8837,*); -#33131=PROPERTY_DEFINITION('',$,#33130); -#33132=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33131); -#33133=SHAPE_ASPECT('',$,#8837,.U.); -#33134=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33133); -#33135=PROPERTY_DEFINITION('explicitly created','false',#8837); -#33136=NAME_ATTRIBUTE('single instance',#8838); -#33137=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8819,#2324,$,'',$,#8838,*); -#33138=PROPERTY_DEFINITION('',$,#33137); -#33139=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33138); -#33140=SHAPE_ASPECT('',$,#8838,.U.); -#33141=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33140); -#33142=PROPERTY_DEFINITION('explicitly created','false',#8838); -#33143=NAME_ATTRIBUTE('single instance',#8848); -#33144=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8844,#7886,$,'',$,#8848,*); -#33145=PROPERTY_DEFINITION('',$,#33144); -#33146=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#33145); -#33147=SHAPE_ASPECT('',$,#8848,.U.); -#33148=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33147); -#33149=PROPERTY_DEFINITION('explicitly created','false',#8848); -#33150=NAME_ATTRIBUTE('single instance',#8871); -#33151=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2324,$,'',$,#8871,*); -#33152=PROPERTY_DEFINITION('',$,#33151); -#33153=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33152); -#33154=SHAPE_ASPECT('',$,#8871,.U.); -#33155=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33154); -#33156=PROPERTY_DEFINITION('explicitly created','false',#8871); -#33157=NAME_ATTRIBUTE('single instance',#8872); -#33158=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8853,#2324,$,'',$,#8872,*); -#33159=PROPERTY_DEFINITION('',$,#33158); -#33160=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33159); -#33161=SHAPE_ASPECT('',$,#8872,.U.); -#33162=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33161); -#33163=PROPERTY_DEFINITION('explicitly created','false',#8872); -#33164=NAME_ATTRIBUTE('single instance',#8917); -#33165=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2324,$,'',$,#8917,*); -#33166=PROPERTY_DEFINITION('',$,#33165); -#33167=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33166); -#33168=SHAPE_ASPECT('',$,#8917,.U.); -#33169=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33168); -#33170=PROPERTY_DEFINITION('explicitly created','false',#8917); -#33171=NAME_ATTRIBUTE('single instance',#8918); -#33172=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8899,#2324,$,'',$,#8918,*); -#33173=PROPERTY_DEFINITION('',$,#33172); -#33174=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33173); -#33175=SHAPE_ASPECT('',$,#8918,.U.); -#33176=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33175); -#33177=PROPERTY_DEFINITION('explicitly created','false',#8918); -#33178=NAME_ATTRIBUTE('single instance',#8928); -#33179=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8924,#7886,$,'',$,#8928,*); -#33180=PROPERTY_DEFINITION('',$,#33179); -#33181=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#33180); -#33182=SHAPE_ASPECT('',$,#8928,.U.); -#33183=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33182); -#33184=PROPERTY_DEFINITION('explicitly created','false',#8928); -#33185=NAME_ATTRIBUTE('single instance',#8951); -#33186=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2324,$,'',$,#8951,*); -#33187=PROPERTY_DEFINITION('',$,#33186); -#33188=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33187); -#33189=SHAPE_ASPECT('',$,#8951,.U.); -#33190=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33189); -#33191=PROPERTY_DEFINITION('explicitly created','false',#8951); -#33192=NAME_ATTRIBUTE('single instance',#8952); -#33193=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8933,#2324,$,'',$,#8952,*); -#33194=PROPERTY_DEFINITION('',$,#33193); -#33195=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33194); -#33196=SHAPE_ASPECT('',$,#8952,.U.); -#33197=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33196); -#33198=PROPERTY_DEFINITION('explicitly created','false',#8952); -#33199=NAME_ATTRIBUTE('single instance',#8975); -#33200=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2324,$,'',$,#8975,*); -#33201=PROPERTY_DEFINITION('',$,#33200); -#33202=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33201); -#33203=SHAPE_ASPECT('',$,#8975,.U.); -#33204=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33203); -#33205=PROPERTY_DEFINITION('explicitly created','false',#8975); -#33206=NAME_ATTRIBUTE('single instance',#8976); -#33207=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8957,#2324,$,'',$,#8976,*); -#33208=PROPERTY_DEFINITION('',$,#33207); -#33209=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33208); -#33210=SHAPE_ASPECT('',$,#8976,.U.); -#33211=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33210); -#33212=PROPERTY_DEFINITION('explicitly created','false',#8976); -#33213=NAME_ATTRIBUTE('single instance',#9000); -#33214=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2324,$,'',$,#9000,*); -#33215=PROPERTY_DEFINITION('',$,#33214); -#33216=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33215); -#33217=SHAPE_ASPECT('',$,#9000,.U.); -#33218=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33217); -#33219=PROPERTY_DEFINITION('explicitly created','false',#9000); -#33220=NAME_ATTRIBUTE('single instance',#9001); -#33221=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8982,#2324,$,'',$,#9001,*); -#33222=PROPERTY_DEFINITION('',$,#33221); -#33223=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33222); -#33224=SHAPE_ASPECT('',$,#9001,.U.); -#33225=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33224); -#33226=PROPERTY_DEFINITION('explicitly created','false',#9001); -#33227=NAME_ATTRIBUTE('single instance',#9024); -#33228=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2324,$,'',$,#9024,*); -#33229=PROPERTY_DEFINITION('',$,#33228); -#33230=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33229); -#33231=SHAPE_ASPECT('',$,#9024,.U.); -#33232=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33231); -#33233=PROPERTY_DEFINITION('explicitly created','false',#9024); -#33234=NAME_ATTRIBUTE('single instance',#9025); -#33235=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9006,#2324,$,'',$,#9025,*); -#33236=PROPERTY_DEFINITION('',$,#33235); -#33237=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33236); -#33238=SHAPE_ASPECT('',$,#9025,.U.); -#33239=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33238); -#33240=PROPERTY_DEFINITION('explicitly created','false',#9025); -#33241=NAME_ATTRIBUTE('single instance',#9068); -#33242=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2324,$,'',$,#9068,*); -#33243=PROPERTY_DEFINITION('',$,#33242); -#33244=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22118,#33243); -#33245=SHAPE_ASPECT('',$,#9068,.U.); -#33246=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33245); -#33247=PROPERTY_DEFINITION('explicitly created','false',#9068); -#33248=NAME_ATTRIBUTE('single instance',#9069); -#33249=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9050,#2324,$,'',$,#9069,*); -#33250=PROPERTY_DEFINITION('',$,#33249); -#33251=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22073,#33250); -#33252=SHAPE_ASPECT('',$,#9069,.U.); -#33253=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33252); -#33254=PROPERTY_DEFINITION('explicitly created','false',#9069); -#33255=NAME_ATTRIBUTE('single instance',#9154); -#33256=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9150,#7886,$,'',$,#9154,*); -#33257=PROPERTY_DEFINITION('',$,#33256); -#33258=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#33257); -#33259=SHAPE_ASPECT('',$,#9154,.U.); -#33260=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33259); -#33261=PROPERTY_DEFINITION('explicitly created','false',#9154); -#33262=NAME_ATTRIBUTE('single instance',#9164); -#33263=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9160,#7886,$,'',$,#9164,*); -#33264=PROPERTY_DEFINITION('',$,#33263); -#33265=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#33264); -#33266=SHAPE_ASPECT('',$,#9164,.U.); -#33267=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33266); -#33268=PROPERTY_DEFINITION('explicitly created','false',#9164); -#33269=NAME_ATTRIBUTE('single instance',#9229); -#33270=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9225,#7886,$,'',$,#9229,*); -#33271=PROPERTY_DEFINITION('',$,#33270); -#33272=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#33271); -#33273=SHAPE_ASPECT('',$,#9229,.U.); -#33274=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33273); -#33275=PROPERTY_DEFINITION('explicitly created','false',#9229); -#33276=NAME_ATTRIBUTE('single instance',#9239); -#33277=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9235,#7886,$,'',$,#9239,*); -#33278=PROPERTY_DEFINITION('',$,#33277); -#33279=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#33278); -#33280=SHAPE_ASPECT('',$,#9239,.U.); -#33281=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33280); -#33282=PROPERTY_DEFINITION('explicitly created','false',#9239); -#33283=NAME_ATTRIBUTE('single instance',#9283); -#33284=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9279,#7886,$,'',$,#9283,*); -#33285=PROPERTY_DEFINITION('',$,#33284); -#33286=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22525,#33285); -#33287=SHAPE_ASPECT('',$,#9283,.U.); -#33288=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31713,#33287); -#33289=PROPERTY_DEFINITION('explicitly created','false',#9283); -#33290=NAME_ATTRIBUTE('single instance',#9302); -#33291=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9298,#7886,$,'',$,#9302,*); -#33292=PROPERTY_DEFINITION('',$,#33291); -#33293=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22572,#33292); -#33294=SHAPE_ASPECT('',$,#9302,.U.); -#33295=SHAPE_ASPECT_RELATIONSHIP('design intent','',#31708,#33294); -#33296=PROPERTY_DEFINITION('explicitly created','false',#9302); -#33297=NAME_ATTRIBUTE('single instance',#2384); -#33298=NAME_ATTRIBUTE('single instance',#3926); -#33299=NAME_ATTRIBUTE('single instance',#2659); -#33300=NAME_ATTRIBUTE('single instance',#1045); -#33301=NAME_ATTRIBUTE('single instance',#2100); -#33302=NAME_ATTRIBUTE('single instance',#3012); -#33303=NAME_ATTRIBUTE('single instance',#7807); -#33304=NAME_ATTRIBUTE('single instance',#7952); -#33305=NAME_ATTRIBUTE('single instance',#7963); -#33306=NAME_ATTRIBUTE('single instance',#7973); -#33307=NAME_ATTRIBUTE('single instance',#7984); -#33308=NAME_ATTRIBUTE('single instance',#7994); -#33309=NAME_ATTRIBUTE('single instance',#8014); -#33310=NAME_ATTRIBUTE('single instance',#8035); -#33311=NAME_ATTRIBUTE('single instance',#8045); -#33312=NAME_ATTRIBUTE('single instance',#8066); -#33313=NAME_ATTRIBUTE('single instance',#8076); -#33314=NAME_ATTRIBUTE('single instance',#8096); -#33315=NAME_ATTRIBUTE('single instance',#8117); -#33316=NAME_ATTRIBUTE('single instance',#8127); -#33317=NAME_ATTRIBUTE('single instance',#8148); -#33318=NAME_ATTRIBUTE('single instance',#8169); -#33319=NAME_ATTRIBUTE('single instance',#8211); -#33320=NAME_ATTRIBUTE('single instance',#8232); -#33321=NAME_ATTRIBUTE('single instance',#8242); -#33322=NAME_ATTRIBUTE('single instance',#8252); -#33323=NAME_ATTRIBUTE('single instance',#8286); -#33324=NAME_ATTRIBUTE('single instance',#8295); -#33325=NAME_ATTRIBUTE('single instance',#8316); -#33326=NAME_ATTRIBUTE('single instance',#8325); -#33327=NAME_ATTRIBUTE('single instance',#8357); -#33328=NAME_ATTRIBUTE('single instance',#8377); -#33329=NAME_ATTRIBUTE('single instance',#8398); -#33330=NAME_ATTRIBUTE('single instance',#8408); -#33331=NAME_ATTRIBUTE('single instance',#8431); -#33332=NAME_ATTRIBUTE('single instance',#8440); -#33333=NAME_ATTRIBUTE('single instance',#8470); -#33334=NAME_ATTRIBUTE('single instance',#8479); -#33335=NAME_ATTRIBUTE('single instance',#8505); -#33336=NAME_ATTRIBUTE('single instance',#8525); -#33337=NAME_ATTRIBUTE('single instance',#8550); -#33338=NAME_ATTRIBUTE('single instance',#8560); -#33339=NAME_ATTRIBUTE('single instance',#8569); -#33340=NAME_ATTRIBUTE('single instance',#8593); -#33341=NAME_ATTRIBUTE('single instance',#8617); -#33342=NAME_ATTRIBUTE('single instance',#8637); -#33343=NAME_ATTRIBUTE('single instance',#8657); -#33344=NAME_ATTRIBUTE('single instance',#8681); -#33345=NAME_ATTRIBUTE('single instance',#8701); -#33346=NAME_ATTRIBUTE('single instance',#8725); -#33347=NAME_ATTRIBUTE('single instance',#8749); -#33348=NAME_ATTRIBUTE('single instance',#8774); -#33349=NAME_ATTRIBUTE('single instance',#8784); -#33350=NAME_ATTRIBUTE('single instance',#8794); -#33351=NAME_ATTRIBUTE('single instance',#8819); -#33352=NAME_ATTRIBUTE('single instance',#8844); -#33353=NAME_ATTRIBUTE('single instance',#8853); -#33354=NAME_ATTRIBUTE('single instance',#8878); -#33355=NAME_ATTRIBUTE('single instance',#8899); -#33356=NAME_ATTRIBUTE('single instance',#8924); -#33357=NAME_ATTRIBUTE('single instance',#8933); -#33358=NAME_ATTRIBUTE('single instance',#8957); -#33359=NAME_ATTRIBUTE('single instance',#8982); -#33360=NAME_ATTRIBUTE('single instance',#9006); -#33361=NAME_ATTRIBUTE('single instance',#9030); -#33362=NAME_ATTRIBUTE('single instance',#9050); -#33363=NAME_ATTRIBUTE('single instance',#9108); -#33364=NAME_ATTRIBUTE('single instance',#9129); -#33365=NAME_ATTRIBUTE('single instance',#9150); -#33366=NAME_ATTRIBUTE('single instance',#9160); -#33367=NAME_ATTRIBUTE('single instance',#9183); -#33368=NAME_ATTRIBUTE('single instance',#9204); -#33369=NAME_ATTRIBUTE('single instance',#9225); -#33370=NAME_ATTRIBUTE('single instance',#9235); -#33371=NAME_ATTRIBUTE('single instance',#9258); -#33372=NAME_ATTRIBUTE('single instance',#9279); -#33373=NAME_ATTRIBUTE('single instance',#9298); -#33374=NAME_ATTRIBUTE('single instance',#9308); -#33375=NAME_ATTRIBUTE('single instance',#7956); -#33376=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7952,#7840,$,'',$,#7956,*); -#33377=PROPERTY_DEFINITION('',$,#33376); -#33378=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33377); -#33379=PROPERTY_DEFINITION('feature of size','true',#7956); -#33380=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#7956); -#33381=NAME_ATTRIBUTE('single instance',#7966); -#33382=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7963,#7840,$,'',$,#7966,*); -#33383=PROPERTY_DEFINITION('',$,#33382); -#33384=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33383); -#33385=PROPERTY_DEFINITION('feature of size','true',#7966); -#33386=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#7966); -#33387=NAME_ATTRIBUTE('single instance',#7977); -#33388=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7973,#7840,$,'',$,#7977,*); -#33389=PROPERTY_DEFINITION('',$,#33388); -#33390=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33389); -#33391=PROPERTY_DEFINITION('feature of size','true',#7977); -#33392=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#7977); -#33393=NAME_ATTRIBUTE('single instance',#7987); -#33394=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7984,#7840,$,'',$,#7987,*); -#33395=PROPERTY_DEFINITION('',$,#33394); -#33396=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33395); -#33397=PROPERTY_DEFINITION('feature of size','true',#7987); -#33398=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#7987); -#33399=NAME_ATTRIBUTE('single instance',#8038); -#33400=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8035,#7840,$,'',$,#8038,*); -#33401=PROPERTY_DEFINITION('',$,#33400); -#33402=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33401); -#33403=PROPERTY_DEFINITION('feature of size','true',#8038); -#33404=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#8038); -#33405=NAME_ATTRIBUTE('single instance',#8069); -#33406=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8066,#7840,$,'',$,#8069,*); -#33407=PROPERTY_DEFINITION('',$,#33406); -#33408=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33407); -#33409=PROPERTY_DEFINITION('feature of size','true',#8069); -#33410=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#8069); -#33411=NAME_ATTRIBUTE('single instance',#8120); -#33412=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8117,#7840,$,'',$,#8120,*); -#33413=PROPERTY_DEFINITION('',$,#33412); -#33414=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33413); -#33415=PROPERTY_DEFINITION('feature of size','true',#8120); -#33416=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#8120); -#33417=NAME_ATTRIBUTE('single instance',#8172); -#33418=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8169,#7840,$,'',$,#8172,*); -#33419=PROPERTY_DEFINITION('',$,#33418); -#33420=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33419); -#33421=PROPERTY_DEFINITION('feature of size','true',#8172); -#33422=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#8172); -#33423=NAME_ATTRIBUTE('single instance',#8235); -#33424=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8232,#7840,$,'',$,#8235,*); -#33425=PROPERTY_DEFINITION('',$,#33424); -#33426=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33425); -#33427=PROPERTY_DEFINITION('feature of size','true',#8235); -#33428=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#8235); -#33429=NAME_ATTRIBUTE('single instance',#8245); -#33430=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8242,#7840,$,'',$,#8245,*); -#33431=PROPERTY_DEFINITION('',$,#33430); -#33432=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33431); -#33433=PROPERTY_DEFINITION('feature of size','true',#8245); -#33434=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#8245); -#33435=NAME_ATTRIBUTE('single instance',#8289); -#33436=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8286,#7840,$,'',$,#8289,*); -#33437=PROPERTY_DEFINITION('',$,#33436); -#33438=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33437); -#33439=PROPERTY_DEFINITION('feature of size','true',#8289); -#33440=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#8289); -#33441=NAME_ATTRIBUTE('single instance',#8319); -#33442=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8316,#7840,$,'',$,#8319,*); -#33443=PROPERTY_DEFINITION('',$,#33442); -#33444=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33443); -#33445=PROPERTY_DEFINITION('feature of size','true',#8319); -#33446=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#8319); -#33447=NAME_ATTRIBUTE('single instance',#8401); -#33448=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8398,#7840,$,'',$,#8401,*); -#33449=PROPERTY_DEFINITION('',$,#33448); -#33450=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33449); -#33451=PROPERTY_DEFINITION('feature of size','true',#8401); -#33452=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#8401); -#33453=NAME_ATTRIBUTE('single instance',#8411); -#33454=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8408,#7840,$,'',$,#8411,*); -#33455=PROPERTY_DEFINITION('',$,#33454); -#33456=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33455); -#33457=PROPERTY_DEFINITION('feature of size','true',#8411); -#33458=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#8411); -#33459=NAME_ATTRIBUTE('single instance',#8434); -#33460=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8431,#7840,$,'',$,#8434,*); -#33461=PROPERTY_DEFINITION('',$,#33460); -#33462=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33461); -#33463=PROPERTY_DEFINITION('feature of size','true',#8434); -#33464=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#8434); -#33465=NAME_ATTRIBUTE('single instance',#8473); -#33466=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8470,#7840,$,'',$,#8473,*); -#33467=PROPERTY_DEFINITION('',$,#33466); -#33468=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33467); -#33469=PROPERTY_DEFINITION('feature of size','true',#8473); -#33470=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#8473); -#33471=NAME_ATTRIBUTE('single instance',#8553); -#33472=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8550,#7840,$,'',$,#8553,*); -#33473=PROPERTY_DEFINITION('',$,#33472); -#33474=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33473); -#33475=PROPERTY_DEFINITION('feature of size','true',#8553); -#33476=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#8553); -#33477=NAME_ATTRIBUTE('single instance',#8563); -#33478=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8560,#7840,$,'',$,#8563,*); -#33479=PROPERTY_DEFINITION('',$,#33478); -#33480=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33479); -#33481=PROPERTY_DEFINITION('feature of size','true',#8563); -#33482=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#8563); -#33483=NAME_ATTRIBUTE('single instance',#8777); -#33484=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8774,#7840,$,'',$,#8777,*); -#33485=PROPERTY_DEFINITION('',$,#33484); -#33486=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33485); -#33487=PROPERTY_DEFINITION('feature of size','true',#8777); -#33488=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#8777); -#33489=NAME_ATTRIBUTE('single instance',#8787); -#33490=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8784,#7840,$,'',$,#8787,*); -#33491=PROPERTY_DEFINITION('',$,#33490); -#33492=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33491); -#33493=PROPERTY_DEFINITION('feature of size','true',#8787); -#33494=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#8787); -#33495=NAME_ATTRIBUTE('single instance',#8847); -#33496=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8844,#7840,$,'',$,#8847,*); -#33497=PROPERTY_DEFINITION('',$,#33496); -#33498=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33497); -#33499=PROPERTY_DEFINITION('feature of size','true',#8847); -#33500=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#8847); -#33501=NAME_ATTRIBUTE('single instance',#8927); -#33502=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#8924,#7840,$,'',$,#8927,*); -#33503=PROPERTY_DEFINITION('',$,#33502); -#33504=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33503); -#33505=PROPERTY_DEFINITION('feature of size','true',#8927); -#33506=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#8927); -#33507=NAME_ATTRIBUTE('single instance',#9153); -#33508=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9150,#7840,$,'',$,#9153,*); -#33509=PROPERTY_DEFINITION('',$,#33508); -#33510=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33509); -#33511=PROPERTY_DEFINITION('feature of size','true',#9153); -#33512=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#9153); -#33513=NAME_ATTRIBUTE('single instance',#9163); -#33514=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9160,#7840,$,'',$,#9163,*); -#33515=PROPERTY_DEFINITION('',$,#33514); -#33516=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33515); -#33517=PROPERTY_DEFINITION('feature of size','true',#9163); -#33518=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#9163); -#33519=NAME_ATTRIBUTE('single instance',#9228); -#33520=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9225,#7840,$,'',$,#9228,*); -#33521=PROPERTY_DEFINITION('',$,#33520); -#33522=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33521); -#33523=PROPERTY_DEFINITION('feature of size','true',#9228); -#33524=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#9228); -#33525=NAME_ATTRIBUTE('single instance',#9238); -#33526=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9235,#7840,$,'',$,#9238,*); -#33527=PROPERTY_DEFINITION('',$,#33526); -#33528=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33527); -#33529=PROPERTY_DEFINITION('feature of size','true',#9238); -#33530=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#9238); -#33531=NAME_ATTRIBUTE('single instance',#9282); -#33532=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9279,#7840,$,'',$,#9282,*); -#33533=PROPERTY_DEFINITION('',$,#33532); -#33534=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33533); -#33535=PROPERTY_DEFINITION('feature of size','true',#9282); -#33536=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7976,#9282); -#33537=NAME_ATTRIBUTE('single instance',#9301); -#33538=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#9298,#7840,$,'',$,#9301,*); -#33539=PROPERTY_DEFINITION('',$,#33538); -#33540=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22489,#33539); -#33541=PROPERTY_DEFINITION('feature of size','true',#9301); -#33542=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7955,#9301); -#33543=NAME_ATTRIBUTE('single instance',#2664); -#33544=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2659,#2592,$,'',$,#2664,*); -#33545=PROPERTY_DEFINITION('',$,#33544); -#33546=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22180,#33545); -#33547=PRODUCT_DEFINITION_RELATIONSHIP('','resident stratum',$,#297,#2664); -#33548=NAME_ATTRIBUTE('single instance',#493); -#33549=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#485,#433,$,'',$,#493,*); -#33550=PROPERTY_DEFINITION('',$,#33549); -#33551=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21774,#33550); -#33552=PROPERTY_DEFINITION('','',#493); -#33553=REPRESENTATION('',(#13408),#13406); -#33554=PROPERTY_DEFINITION_REPRESENTATION(#33552,#33553); -#33555=NAME_ATTRIBUTE('single instance',#494); -#33556=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#485,#421,$,'',$,#494,*); -#33557=PROPERTY_DEFINITION('',$,#33556); -#33558=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21770,#33557); -#33559=PROPERTY_DEFINITION('','',#494); -#33560=REPRESENTATION('',(#13408),#13406); -#33561=PROPERTY_DEFINITION_REPRESENTATION(#33559,#33560); -#33562=NAME_ATTRIBUTE('single instance',#495); -#33563=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#485,#409,$,'',$,#495,*); -#33564=PROPERTY_DEFINITION('',$,#33563); -#33565=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21766,#33564); -#33566=PROPERTY_DEFINITION('','',#495); -#33567=REPRESENTATION('',(#13408),#13406); -#33568=PROPERTY_DEFINITION_REPRESENTATION(#33566,#33567); -#33569=NAME_ATTRIBUTE('single instance',#496); -#33570=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#485,#397,$,'',$,#496,*); -#33571=PROPERTY_DEFINITION('',$,#33570); -#33572=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21761,#33571); -#33573=PROPERTY_DEFINITION('','',#496); -#33574=REPRESENTATION('',(#13408),#13406); -#33575=PROPERTY_DEFINITION_REPRESENTATION(#33573,#33574); -#33576=NAME_ATTRIBUTE('single instance',#2139); -#33577=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2135,#2093,$,'',$,#2139,*); -#33578=PROPERTY_DEFINITION('',$,#33577); -#33579=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22002,#33578); -#33580=PROPERTY_DEFINITION('','',#2139); -#33581=REPRESENTATION('',(#13408),#13406); -#33582=PROPERTY_DEFINITION_REPRESENTATION(#33580,#33581); -#33583=NAME_ATTRIBUTE('single instance',#2239); -#33584=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2232,#2192,$,'',$,#2239,*); -#33585=PROPERTY_DEFINITION('',$,#33584); -#33586=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22018,#33585); -#33587=PROPERTY_DEFINITION('','',#2239); -#33588=REPRESENTATION('',(#13408),#13406); -#33589=PROPERTY_DEFINITION_REPRESENTATION(#33587,#33588); -#33590=NAME_ATTRIBUTE('single instance',#2240); -#33591=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2232,#2182,$,'',$,#2240,*); -#33592=PROPERTY_DEFINITION('',$,#33591); -#33593=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22014,#33592); -#33594=PROPERTY_DEFINITION('','',#2240); -#33595=REPRESENTATION('',(#13408),#13406); -#33596=PROPERTY_DEFINITION_REPRESENTATION(#33594,#33595); -#33597=NAME_ATTRIBUTE('single instance',#2241); -#33598=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2232,#2172,$,'',$,#2241,*); -#33599=PROPERTY_DEFINITION('',$,#33598); -#33600=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22010,#33599); -#33601=PROPERTY_DEFINITION('','',#2241); -#33602=REPRESENTATION('',(#13408),#13406); -#33603=PROPERTY_DEFINITION_REPRESENTATION(#33601,#33602); -#33604=NAME_ATTRIBUTE('single instance',#2242); -#33605=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2232,#2162,$,'',$,#2242,*); -#33606=PROPERTY_DEFINITION('',$,#33605); -#33607=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22006,#33606); -#33608=PROPERTY_DEFINITION('','',#2242); -#33609=REPRESENTATION('',(#13408),#13406); -#33610=PROPERTY_DEFINITION_REPRESENTATION(#33608,#33609); -#33611=NAME_ATTRIBUTE('single instance',#2427); -#33612=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2384,#2252,$,'',$,#2427,*); -#33613=PROPERTY_DEFINITION('',$,#33612); -#33614=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22033,#33613); -#33615=PROPERTY_DEFINITION('','',#2427); -#33616=REPRESENTATION('',(#13408),#13406); -#33617=PROPERTY_DEFINITION_REPRESENTATION(#33615,#33616); -#33618=NAME_ATTRIBUTE('single instance',#2525); -#33619=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2518,#2478,$,'',$,#2525,*); -#33620=PROPERTY_DEFINITION('',$,#33619); -#33621=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22165,#33620); -#33622=PROPERTY_DEFINITION('','',#2525); -#33623=REPRESENTATION('',(#13408),#13406); -#33624=PROPERTY_DEFINITION_REPRESENTATION(#33622,#33623); -#33625=NAME_ATTRIBUTE('single instance',#2526); -#33626=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2518,#2468,$,'',$,#2526,*); -#33627=PROPERTY_DEFINITION('',$,#33626); -#33628=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22161,#33627); -#33629=PROPERTY_DEFINITION('','',#2526); -#33630=REPRESENTATION('',(#13408),#13406); -#33631=PROPERTY_DEFINITION_REPRESENTATION(#33629,#33630); -#33632=NAME_ATTRIBUTE('single instance',#2527); -#33633=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2518,#2458,$,'',$,#2527,*); -#33634=PROPERTY_DEFINITION('',$,#33633); -#33635=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22157,#33634); -#33636=PROPERTY_DEFINITION('','',#2527); -#33637=REPRESENTATION('',(#13408),#13406); -#33638=PROPERTY_DEFINITION_REPRESENTATION(#33636,#33637); -#33639=NAME_ATTRIBUTE('single instance',#2528); -#33640=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2518,#2448,$,'',$,#2528,*); -#33641=PROPERTY_DEFINITION('',$,#33640); -#33642=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22153,#33641); -#33643=PROPERTY_DEFINITION('','',#2528); -#33644=REPRESENTATION('',(#13408),#13406); -#33645=PROPERTY_DEFINITION_REPRESENTATION(#33643,#33644); -#33646=NAME_ATTRIBUTE('single instance',#3968); -#33647=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#3926,#2252,$,'',$,#3968,*); -#33648=PROPERTY_DEFINITION('',$,#33647); -#33649=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22033,#33648); -#33650=PROPERTY_DEFINITION('','',#3968); -#33651=REPRESENTATION('',(#13408),#13406); -#33652=PROPERTY_DEFINITION_REPRESENTATION(#33650,#33651); -#33653=NAME_ATTRIBUTE('single instance',#490); -#33654=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#485,#463,$,'',$,#490,*); -#33655=PROPERTY_DEFINITION('',$,#33654); -#33656=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#21786,#33655); -#33657=PROPERTY_DEFINITION('feature of size','true',#490); -#33658=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#489,#490); -#33659=NAME_ATTRIBUTE('single instance',#2236); -#33660=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2232,#463,$,'',$,#2236,*); -#33661=PROPERTY_DEFINITION('',$,#33660); -#33662=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22029,#33661); -#33663=PROPERTY_DEFINITION('feature of size','true',#2236); -#33664=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#489,#2236); -#33665=NAME_ATTRIBUTE('single instance',#2522); -#33666=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#2518,#463,$,'',$,#2522,*); -#33667=PROPERTY_DEFINITION('',$,#33666); -#33668=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#22176,#33667); -#33669=PROPERTY_DEFINITION('feature of size','true',#2522); -#33670=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#489,#2522); -ENDSEC; -END-ISO-10303-21; diff --git a/data/ap210e2/SurfaceMountFlasher.stp b/data/ap210e2/SurfaceMountFlasher.stp deleted file mode 100644 index 07f297c5f..000000000 --- a/data/ap210e2/SurfaceMountFlasher.stp +++ /dev/null @@ -1,23481 +0,0 @@ -ISO-10303-21; -HEADER; -/* Generated by software containing - * JSDAI (TM) from LKSoft (www.lksoft.com, www.jsdai.net) - * JSDAI Runtime Version 4.0.0 (Build 270, 2009-03-18T14:17:04) - * JSDAI XIM Full Library Version 1.127.100 2009-03-05_21-45-33 - */ -FILE_DESCRIPTION( -/* description */ (' Mentor Graphics BoardStation <=> AP210 Converter v3.2',' '), -/* implementation_level */ '2;1'); -FILE_NAME( -/* name */ 'd:\\workspace\\Converters\\jsdaix\\data\\MENTOR\\Surface_Mount_Flasher\\surfaceMountFlasher.stp', -/* time_stamp */ '2009-03-18T19:46:28', -/* author */ (' '), -/* organization */ (' '), -/* preprocessor_version */ ' Mentor Graphics BoardStation <=> AP210 Converter v3.2', -/* originating_system */ 'Mentor Graphics BoardStation', -/* authorization */ 'LKSofWare GmbH'); -FILE_SCHEMA(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM { 1 0 10303 410 1 1 4}')); -ENDSEC; -DATA; -#1=SPECIFICATION_DEFINITION('UM-PR-149-E-04','PCB Products Design Reference Manual', - #4,#2); -#2=PRODUCT_DEFINITION_CONTEXT('generic document definition',#3,''); -#3=APPLICATION_CONTEXT('default application'); -#4=PRODUCT_DEFINITION_FORMATION('1',$,#5); -#5=PRODUCT('Electronic interconnect, assembly and packaging design','product',$, - (#9804)); -#6=PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,(#5,#12)); -#7=APPLIED_ORGANIZATION_ASSIGNMENT(#9,#8,(#1,#10,#6189)); -#8=ORGANIZATION_ROLE('document source'); -#9=ORGANIZATION('Mentor','Mentor Graphics Corporation',$); -#10=SPECIFICATION_DEFINITION('8.7_1','AutoTherm User''s Manual',#11,#2); -#11=PRODUCT_DEFINITION_FORMATION('1',$,#12); -#12=PRODUCT('8.7_1','product',$,(#9804)); -#13=PRODUCT('board-PCB','pcb',$,(#11516)); -#14=PRODUCT_DEFINITION_FORMATION('1',$,#13); -#15=LAYERED_INTERCONNECT_MODULE_USAGE_VIEW('2',$,#14,#28,'interconnect module',$, - *); -#16=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#17=(CONVERSION_BASED_UNIT('TN',#18)LENGTH_UNIT()NAMED_UNIT(*)); -#18=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.0E-5),#19); -#19=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.)); -#20=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.)); -#21=PLANE_ANGLE_MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.017453292519943295),#20); -#22=DIMENSIONAL_EXPONENTS(0.0,0.0,0.0,0.0,0.0,0.0,0.0); -#23=(CONVERSION_BASED_UNIT('degree',#21)NAMED_UNIT(*)PLANE_ANGLE_UNIT()); -#24=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19,'',$); -#25=SHAPE_REPRESENTATION('ppsm',(#26,#969,#6914,#6922,#6942,#6950,#6970,#6978,#7024, - #7032,#7040,#7048,#7056,#7064,#7072,#7080,#7100,#7108,#7128,#7136,#7156,#7164, - #7184,#7192,#7212,#7220,#7240,#7248,#7270,#7291,#7312,#7333,#7354,#7375,#7396), - #16); -#26=AXIS2_PLACEMENT_2D('origin',#27,$); -#27=CARTESIAN_POINT('',(0.0,0.0)); -#28=PRODUCT_DEFINITION_CONTEXT('part definition',#3,''); -#29=PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#13,#37,#87,#130,#164,#202,#240,#274, - #299,#324,#361,#398,#435,#471,#508,#515,#522,#529,#536,#543,#550,#716,#726, - #736,#6179)); -#30=PRODUCT_RELATED_PRODUCT_CATEGORY('assembly',$,(#13,#37,#716)); -#31=SHAPE_ASPECT('outline of PCB','interconnect module edge surface',#15,.T.); -#32=SHAPE_ASPECT('TOP side of PCB','interconnect module primary surface',#15,.T.); -#33=SHAPE_ASPECT('BOTTOM side of PCB','interconnect module secondary surface',#15, - .T.); -#34=LAYERED_INTERCONNECT_MODULE_DESIGN_VIEW('1',$,#14,#28,'interconnect module', - $,*); -#35=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#36=SHAPE_REPRESENTATION('ppsm',(#26,#965,#6137,#6149,#6160,#6171,#603,#663,#613, - #681,#672,#654,#562,#634,#644,#593,#7257,#7279,#7300,#7321,#7342,#7363,#7384, - #7403,#7415,#7426,#7437,#7448,#7458,#7471,#7476,#7488,#7492,#7504,#7508,#7511, - #7519,#7523,#7532,#7537,#7549,#7553,#7556,#7563,#7567,#7574,#7581,#7586,#7593, - #7597,#7611,#7615,#7618,#7631,#7635,#7638,#7650,#7654,#7657,#7668,#7671,#7674, - #7683,#7686,#7690,#7696,#7698,#7700,#7702,#7704,#7706,#7708,#7710,#7712,#7714, - #7716,#7724,#7733,#7740,#7746,#7762,#7766,#7776,#7780,#7789,#7803,#7808,#7814, - #7826,#7830,#7837,#7853,#7856,#7859,#7869,#7872,#7875,#7882,#7884,#7886,#7888, - #7890,#7896,#7900,#7907,#7918,#7922,#7930,#7940,#7944,#7956,#7959,#7963,#7973, - #7978,#7984,#7988,#8000,#8004,#8007),#35); -#37=PRODUCT('board-PCA','pca',$,(#11516)); -#38=PRODUCT_DEFINITION_FORMATION('1',$,#37); -#39=LAYERED_ASSEMBLY_MODULE_USAGE_VIEW('4',$,#38,#28,'assembly module',$,*); -#40=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#41=SHAPE_REPRESENTATION('ppsm',(#26,#973),#40); -#42=FUNCTIONAL_UNIT('5',$,#43,#28,'',$,*); -#43=PRODUCT_DEFINITION_FORMATION('1',$,#44); -#44=PRODUCT('pca function','function',$,(#10200)); -#45=PRODUCT_RELATED_PRODUCT_CATEGORY('functional',$,(#44,#511,#518,#525,#532,#539, - #546,#553)); -#46=(ASSEMBLY_MODULE_DESIGN_VIEW()LAYERED_ASSEMBLY_MODULE_DESIGN_VIEW() - PHYSICAL_UNIT()PHYSICAL_UNIT_NETWORK_DEFINITION()PRODUCT_DEFINITION('4',$,#38, - #28)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('assembly module',$,*)); -#47=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#48=SHAPE_REPRESENTATION('ppsm',(#26,#54,#562,#593,#603,#613,#634,#644,#654,#663, - #672,#681),#47); -#49=INTERCONNECT_MODULE_COMPONENT('board',$,#14,#17992,'board','definition usage', - $,#15,*,'',$,*); -#50=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('board','',$,#46,#15,'board','', - $,#49,*); -#51=DIRECTION('',(1.0,0.0)); -#52=DIRECTION('',(-0.0,1.0)); -#53=CARTESIAN_POINT('',(0.0,0.0)); -#54=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#51,#52,#53,1.0); -#55=COMPONENT_2D_LOCATION(*,#56,'component 2d location',$,#25,#48,#54); -#56=PRODUCT_DEFINITION_SHAPE('',$,#50); -#57=INTERCONNECT_MODULE_COMPONENT_SURFACE_FEATURE('for EDGE surface','interconnect module component surface feature', - #49,.U.); -#58=INTERCONNECT_MODULE_COMPONENT_SURFACE_FEATURE('for PRIMARY surface','interconnect module component surface feature', - #49,.U.); -#59=INTERCONNECT_MODULE_COMPONENT_SURFACE_FEATURE('for SECONDARY surface','interconnect module component surface feature', - #49,.U.); -#60=PRODUCT('Board Placement Clearance','requirement',$,(#13468)); -#61=PRODUCT_DEFINITION_FORMATION('1',$,#60); -#62=LAYOUT_SPACING_REQUIREMENT('1',$,#61,#63); -#63=PRODUCT_DEFINITION_CONTEXT('requirement context',#3,'design'); -#64=PRODUCT_RELATED_PRODUCT_CATEGORY('requirement',$,(#6872,#60,#570,#577,#580,#618, - #621,#924,#928,#949,#6195,#6698,#6704,#6713,#6722,#6731,#6740,#6749,#6758,#6767, - #6776,#6785,#6794,#6800,#6809,#6818,#6827,#6836,#6845,#6854,#6863,#6881)); -#65=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#62)); -#66=REPRESENTATION('minimum tolerance',(#70),#67); -#67=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#68=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#66)); -#69=TYPE_QUALIFIER('minimum'); -#70=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#71)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#71=(CONVERSION_BASED_UNIT('inches',#72)LENGTH_UNIT()NAMED_UNIT(*)); -#72=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(25.4),#19); -#73=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#70)); -#74=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#75=REPRESENTATION('minimum tolerance',(#70),#77); -#76=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#75)); -#77=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#78=SHAPE_ASPECT('Outline where components can be placed in','vlnfse',#39,.F.); -#79=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#81),#80); -#80=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#81=CSG_SOLID_2D('',#82); -#82=POLYGONAL_AREA('',(#83,#84,#85,#86)); -#83=CARTESIAN_POINT('',(-0.1,-0.1)); -#84=CARTESIAN_POINT('',(0.6,-0.1)); -#85=CARTESIAN_POINT('',(0.6,1.85)); -#86=CARTESIAN_POINT('',(-0.1,1.85)); -#87=PRODUCT('c0805_vapor_nr','c0805_vapor_nr',$,(#11516)); -#88=PRODUCT_DEFINITION_FORMATION('26',$,#87); -#89=PACKAGE('c0805_vapor_nr',$,#88,#28,'',$,*); -#90=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#91=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#99,#3204,#3211),#90); -#92=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0),#19); -#93=PRODUCT_RELATED_PRODUCT_CATEGORY('package',$,(#435,#87,#130,#164,#202,#240,#274, - #299,#324,#361,#398,#471)); -#94=SEATING_PLANE('seating plane',$,#89,.F.); -#95=TYPE_QUALIFIER('maximum'); -#96=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#97=REPRESENTATION('maximum tolerance',(#96),#98); -#98=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#99=CSG_SOLID_2D('',#100); -#100=POLYGONAL_AREA('',(#101,#102,#103,#104)); -#101=CARTESIAN_POINT('',(-0.057,-0.029)); -#102=CARTESIAN_POINT('',(0.057,-0.029)); -#103=CARTESIAN_POINT('',(0.057,0.029)); -#104=CARTESIAN_POINT('',(-0.057,0.029)); -#105=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.051),#71)REPRESENTATION_ITEM('')); -#106=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#107=REPRESENTATION('maximum tolerance',(#106),#108); -#108=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#109=PACKAGE_BODY('','part generic feature',#89,.T.); -#110=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('package body material', - (#109,#149,#183,#221,#259,#294,#319,#356,#393,#430,#454,#503)); -#111=APPLIED_CLASSIFICATION_ASSIGNMENT(#113,#112,(#110,#766,#794,#1026)); -#112=CLASSIFICATION_ROLE('conductive',$); -#113=CLASS('conductive','electrical conductivity'); -#114=GROUP('0805_vp',$); -#115=APPLIED_CLASSIFICATION_ASSIGNMENT(#114,#116,(#87)); -#116=CLASSIFICATION_ROLE('component type',$); -#117=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#118=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#119),#117); -#119=CSG_SOLID_2D('',#120); -#120=POLYGONAL_AREA('',(#121,#122,#123,#124)); -#121=CARTESIAN_POINT('',(-0.0355,-0.0205)); -#122=CARTESIAN_POINT('',(0.0355,-0.0205)); -#123=CARTESIAN_POINT('',(0.0355,0.0205)); -#124=CARTESIAN_POINT('',(-0.0355,0.0205)); -#125=PRODUCT('c0805_vapor_nr-footprint','c0805_vapor_nr',$,(#14731)); -#126=PRODUCT_DEFINITION_FORMATION('26',$,#125); -#127=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#126,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#128=SHAPE_REPRESENTATION('ppsm',(#26,#3209,#3216),#90); -#129=PRODUCT_RELATED_PRODUCT_CATEGORY('template model',$,(#125,#160,#194,#198,#232, - #236,#270,#295,#320,#357,#394,#431,#463,#467,#504,#686,#691,#696,#701,#706, - #711,#721,#731,#741,#752,#757,#887,#959,#987,#1014,#1027,#1041,#1077,#1093, - #1150,#1159,#1173,#1209,#1225,#1282,#1287,#1302,#1317,#1334,#1339,#1354,#1369, - #1386,#1395,#1409,#1445,#1461,#1518,#1523,#1537,#1552,#1567,#1603,#1660,#1669, - #1683,#1695,#1707,#1743,#1800,#1809,#1823,#1835,#1847,#1883,#1940,#1945,#1959, - #1995,#2011,#2068,#2073,#2087,#2102,#2117,#2153,#2210,#2215,#2229,#2244,#2259, - #2295,#2352,#2357,#2371,#2386,#2401,#2437,#2494,#2499,#2516,#2531,#2546,#2551, - #2592,#2597,#2614,#2629,#2644,#2649,#2690,#2695,#2710,#2725,#2756,#2765,#2777, - #2789,#2825,#2742,#2898,#2907,#2919,#2931,#2967,#2884,#3040,#3049,#3061,#3073, - #3109,#3026,#3360,#3458,#3468,#3495,#3520,#3545,#3570,#3595,#3620,#3645,#3665, - #3675,#3698,#3721,#3744,#3767,#3790,#3813,#3835,#4342,#4354,#4370,#4382,#4392, - #4402,#4414,#4451,#4486,#4647,#4778,#4881,#5012,#5177,#6500,#7463,#7481)); -#130=PRODUCT('c1210','c1210',$,(#11516)); -#131=PRODUCT_DEFINITION_FORMATION('26',$,#130); -#132=PACKAGE('c1210',$,#131,#28,'',$,*); -#133=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#134=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#139,#3245,#3252),#133); -#135=SEATING_PLANE('seating plane',$,#132,.F.); -#136=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#137=REPRESENTATION('maximum tolerance',(#136),#138); -#138=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#139=CSG_SOLID_2D('',#140); -#140=POLYGONAL_AREA('',(#141,#142,#143,#144)); -#141=CARTESIAN_POINT('',(-0.095,0.053)); -#142=CARTESIAN_POINT('',(-0.095,-0.053)); -#143=CARTESIAN_POINT('',(0.095,-0.053)); -#144=CARTESIAN_POINT('',(0.095,0.053)); -#145=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.053),#71)REPRESENTATION_ITEM('')); -#146=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#147=REPRESENTATION('maximum tolerance',(#146),#148); -#148=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#149=PACKAGE_BODY('','part generic feature',#132,.T.); -#150=GROUP('c1210',$); -#151=APPLIED_CLASSIFICATION_ASSIGNMENT(#150,#116,(#130)); -#152=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#153=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#154),#152); -#154=CSG_SOLID_2D('',#155); -#155=POLYGONAL_AREA('',(#156,#157,#158,#159)); -#156=CARTESIAN_POINT('',(-0.059,0.0455)); -#157=CARTESIAN_POINT('',(-0.059,-0.0455)); -#158=CARTESIAN_POINT('',(0.059,-0.0455)); -#159=CARTESIAN_POINT('',(0.059,0.0455)); -#160=PRODUCT('c1210-footprint','c1210',$,(#14731)); -#161=PRODUCT_DEFINITION_FORMATION('26',$,#160); -#162=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#161,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#163=SHAPE_REPRESENTATION('ppsm',(#26,#3250,#3257),#133); -#164=PRODUCT('r0603_vapor_nr','r0603_vapor_nr',$,(#11516)); -#165=PRODUCT_DEFINITION_FORMATION('26',$,#164); -#166=PACKAGE('r0603_vapor_nr',$,#165,#28,'',$,*); -#167=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#168=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#173,#3298,#3307),#167); -#169=SEATING_PLANE('seating plane',$,#166,.F.); -#170=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#171=REPRESENTATION('maximum tolerance',(#170),#172); -#172=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#173=CSG_SOLID_2D('',#174); -#174=POLYGONAL_AREA('',(#175,#176,#177,#178)); -#175=CARTESIAN_POINT('',(-0.045,-0.0185)); -#176=CARTESIAN_POINT('',(0.045,-0.0185)); -#177=CARTESIAN_POINT('',(0.045,0.0185)); -#178=CARTESIAN_POINT('',(-0.045,0.0185)); -#179=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.024),#71)REPRESENTATION_ITEM('')); -#180=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#181=REPRESENTATION('maximum tolerance',(#180),#182); -#182=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#183=PACKAGE_BODY('','part generic feature',#166,.T.); -#184=GROUP('0603_vp',$); -#185=APPLIED_CLASSIFICATION_ASSIGNMENT(#184,#116,(#164)); -#186=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#187=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#188),#186); -#188=CSG_SOLID_2D('',#189); -#189=POLYGONAL_AREA('',(#190,#191,#192,#193)); -#190=CARTESIAN_POINT('',(-0.0275,-0.0135)); -#191=CARTESIAN_POINT('',(0.0275,-0.0135)); -#192=CARTESIAN_POINT('',(0.0275,0.0135)); -#193=CARTESIAN_POINT('',(-0.0275,0.0135)); -#194=PRODUCT('r0603_vapor_nr-footprint-TOP','r0603_vapor_nr',$,(#14731)); -#195=PRODUCT_DEFINITION_FORMATION('26',$,#194); -#196=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#195,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#197=SHAPE_REPRESENTATION('ppsm',(#26,#3303,#3312),#167); -#198=PRODUCT('r0603_vapor_nr-footprint-BOTTOM','r0603_vapor_nr',$,(#14731)); -#199=PRODUCT_DEFINITION_FORMATION('26',$,#198); -#200=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#199,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#201=SHAPE_REPRESENTATION('ppsm',(#26,#3305,#3314),#167); -#202=PRODUCT('rm1812_b','rm1812_b',$,(#11516)); -#203=PRODUCT_DEFINITION_FORMATION('26',$,#202); -#204=PACKAGE('rm1812_b',$,#203,#28,'',$,*); -#205=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#206=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#211,#3343,#3352),#205); -#207=SEATING_PLANE('seating plane',$,#204,.F.); -#208=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#209=REPRESENTATION('maximum tolerance',(#208),#210); -#210=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#211=CSG_SOLID_2D('',#212); -#212=POLYGONAL_AREA('',(#213,#214,#215,#216)); -#213=CARTESIAN_POINT('',(-0.1415,0.065)); -#214=CARTESIAN_POINT('',(-0.1415,-0.065)); -#215=CARTESIAN_POINT('',(0.1415,-0.065)); -#216=CARTESIAN_POINT('',(0.1415,0.065)); -#217=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.033),#71)REPRESENTATION_ITEM('')); -#218=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#219=REPRESENTATION('maximum tolerance',(#218),#220); -#220=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#221=PACKAGE_BODY('','part generic feature',#204,.T.); -#222=GROUP('rm2512',$); -#223=APPLIED_CLASSIFICATION_ASSIGNMENT(#222,#116,(#202,#435)); -#224=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#225=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#226),#224); -#226=CSG_SOLID_2D('',#227); -#227=POLYGONAL_AREA('',(#228,#229,#230,#231)); -#228=CARTESIAN_POINT('',(-0.1265,0.0595)); -#229=CARTESIAN_POINT('',(-0.1265,-0.0595)); -#230=CARTESIAN_POINT('',(0.1265,-0.0595)); -#231=CARTESIAN_POINT('',(0.1265,0.0595)); -#232=PRODUCT('rm1812_b-footprint-TOP','rm1812_b',$,(#14731)); -#233=PRODUCT_DEFINITION_FORMATION('26',$,#232); -#234=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#233,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#235=SHAPE_REPRESENTATION('ppsm',(#26,#3348,#3357),#205); -#236=PRODUCT('rm1812_b-footprint-BOTTOM','rm1812_b',$,(#14731)); -#237=PRODUCT_DEFINITION_FORMATION('26',$,#236); -#238=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#237,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#239=SHAPE_REPRESENTATION('ppsm',(#26,#3350,#3359),#205); -#240=PRODUCT('so_8_micromax','so_8_micromax',$,(#11516)); -#241=PRODUCT_DEFINITION_FORMATION('26',$,#240); -#242=PACKAGE('so_8_micromax',$,#241,#28,'',$,*); -#243=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#244=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#249,#3403,#3410,#3417,#3424,#3431, - #3438,#3445,#3452),#243); -#245=SEATING_PLANE('seating plane',$,#242,.F.); -#246=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#247=REPRESENTATION('maximum tolerance',(#246),#248); -#248=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#249=CSG_SOLID_2D('',#250); -#250=POLYGONAL_AREA('',(#251,#252,#253,#254)); -#251=CARTESIAN_POINT('',(-0.0975,0.06)); -#252=CARTESIAN_POINT('',(0.0975,0.06)); -#253=CARTESIAN_POINT('',(0.0975,-0.06)); -#254=CARTESIAN_POINT('',(-0.0975,-0.06)); -#255=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.044),#71)REPRESENTATION_ITEM('')); -#256=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#257=REPRESENTATION('maximum tolerance',(#256),#258); -#258=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#259=PACKAGE_BODY('','part generic feature',#242,.T.); -#260=GROUP('soic',$); -#261=APPLIED_CLASSIFICATION_ASSIGNMENT(#260,#116,(#240)); -#262=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#263=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#264),#262); -#264=CSG_SOLID_2D('',#265); -#265=POLYGONAL_AREA('',(#266,#267,#268,#269)); -#266=CARTESIAN_POINT('',(-0.06,0.06)); -#267=CARTESIAN_POINT('',(0.06,0.06)); -#268=CARTESIAN_POINT('',(0.06,-0.06)); -#269=CARTESIAN_POINT('',(-0.06,-0.06)); -#270=PRODUCT('so_8_micromax-footprint','so_8_micromax',$,(#14731)); -#271=PRODUCT_DEFINITION_FORMATION('26',$,#270); -#272=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#271,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#273=SHAPE_REPRESENTATION('ppsm',(#26,#3366,#3388,#3408,#3415,#3422,#3429,#3436, - #3443,#3450,#3457),#243); -#274=PRODUCT('ckr05','ckr05',$,(#11516)); -#275=PRODUCT_DEFINITION_FORMATION('26',$,#274); -#276=PACKAGE('ckr05',$,#275,#28,'',$,*); -#277=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#278=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#283,#3869,#3875),#277); -#279=SEATING_PLANE('seating plane',$,#276,.F.); -#280=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#281=REPRESENTATION('maximum tolerance',(#280),#282); -#282=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#283=CSG_SOLID_2D('',#284); -#284=POLYGONAL_AREA('',(#285,#286,#287,#288,#289)); -#285=CARTESIAN_POINT('',(0.23,0.05)); -#286=CARTESIAN_POINT('',(-0.04,0.05)); -#287=CARTESIAN_POINT('',(-0.04,-0.05)); -#288=CARTESIAN_POINT('',(0.24,-0.05)); -#289=CARTESIAN_POINT('',(0.24,0.05)); -#290=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.2),#71)REPRESENTATION_ITEM('')); -#291=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#292=REPRESENTATION('maximum tolerance',(#291),#293); -#293=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#294=PACKAGE_BODY('','part generic feature',#276,.T.); -#295=PRODUCT('ckr05-footprint','ckr05',$,(#14731)); -#296=PRODUCT_DEFINITION_FORMATION('26',$,#295); -#297=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#296,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#298=SHAPE_REPRESENTATION('ppsm',(#26,#3873,#3880),#277); -#299=PRODUCT('ckr06','ckr06',$,(#11516)); -#300=PRODUCT_DEFINITION_FORMATION('26',$,#299); -#301=PACKAGE('ckr06',$,#300,#28,'',$,*); -#302=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#303=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#308,#3898,#3904),#302); -#304=SEATING_PLANE('seating plane',$,#301,.F.); -#305=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#306=REPRESENTATION('maximum tolerance',(#305),#307); -#307=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#308=CSG_SOLID_2D('',#309); -#309=POLYGONAL_AREA('',(#310,#311,#312,#313,#314)); -#310=CARTESIAN_POINT('',(0.25,0.05)); -#311=CARTESIAN_POINT('',(-0.05,0.05)); -#312=CARTESIAN_POINT('',(-0.05,-0.05)); -#313=CARTESIAN_POINT('',(0.25,-0.05)); -#314=CARTESIAN_POINT('',(0.25,0.05)); -#315=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.3),#71)REPRESENTATION_ITEM('')); -#316=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#317=REPRESENTATION('maximum tolerance',(#316),#318); -#318=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#319=PACKAGE_BODY('','part generic feature',#301,.T.); -#320=PRODUCT('ckr06-footprint','ckr06',$,(#14731)); -#321=PRODUCT_DEFINITION_FORMATION('26',$,#320); -#322=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#321,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#323=SHAPE_REPRESENTATION('ppsm',(#26,#3902,#3909),#302); -#324=PRODUCT('dip8_300_d04','dip8_300_d04',$,(#11516)); -#325=PRODUCT_DEFINITION_FORMATION('26',$,#324); -#326=PACKAGE('dip8_300_d04',$,#325,#28,'',$,*); -#327=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#328=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#333,#3983,#3990,#3997,#4004,#4011, - #4018,#4025,#4032),#327); -#329=SEATING_PLANE('seating plane',$,#326,.F.); -#330=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#331=REPRESENTATION('maximum tolerance',(#330),#332); -#332=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#333=CSG_SOLID_2D('',#334); -#334=POLYGONAL_AREA('',(#335,#336,#337,#338,#339,#340,#341,#342,#343,#344,#345,#346, - #347,#348,#349,#350,#351)); -#335=CARTESIAN_POINT('',(-0.015,0.035)); -#336=CARTESIAN_POINT('',(0.05,0.035)); -#337=CARTESIAN_POINT('',(0.05,0.1)); -#338=CARTESIAN_POINT('',(0.25,0.1)); -#339=CARTESIAN_POINT('',(0.25,0.035)); -#340=CARTESIAN_POINT('',(0.315,0.035)); -#341=CARTESIAN_POINT('',(0.335,0.015)); -#342=CARTESIAN_POINT('',(0.335,-0.31)); -#343=CARTESIAN_POINT('',(0.315,-0.335)); -#344=CARTESIAN_POINT('',(0.25,-0.335)); -#345=CARTESIAN_POINT('',(0.25,-0.4)); -#346=CARTESIAN_POINT('',(0.05,-0.4)); -#347=CARTESIAN_POINT('',(0.05,-0.335)); -#348=CARTESIAN_POINT('',(-0.015,-0.335)); -#349=CARTESIAN_POINT('',(-0.035,-0.31)); -#350=CARTESIAN_POINT('',(-0.035,0.035)); -#351=CARTESIAN_POINT('',(-0.015,0.035)); -#352=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.2),#71)REPRESENTATION_ITEM('')); -#353=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#354=REPRESENTATION('maximum tolerance',(#353),#355); -#355=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#356=PACKAGE_BODY('','part generic feature',#326,.T.); -#357=PRODUCT('dip8_300_d04-footprint','dip8_300_d04',$,(#14731)); -#358=PRODUCT_DEFINITION_FORMATION('26',$,#357); -#359=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#358,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#360=SHAPE_REPRESENTATION('ppsm',(#26,#3988,#3995,#4002,#4009,#4016,#4023,#4030, - #4036),#327); -#361=PRODUCT('rlr07','rlr07',$,(#11516)); -#362=PRODUCT_DEFINITION_FORMATION('26',$,#361); -#363=PACKAGE('rlr07',$,#362,#28,'',$,*); -#364=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#365=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#370,#4068,#4074),#364); -#366=SEATING_PLANE('seating plane',$,#363,.F.); -#367=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#368=REPRESENTATION('maximum tolerance',(#367),#369); -#369=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#370=CSG_SOLID_2D('',#371); -#371=POLYGONAL_AREA('',(#372,#373,#374,#375,#376,#377,#378,#379,#380,#381,#382,#383, - #384,#385,#386,#387,#388)); -#372=CARTESIAN_POINT('',(-0.035,0.015)); -#373=CARTESIAN_POINT('',(-0.015,0.035)); -#374=CARTESIAN_POINT('',(0.09,0.035)); -#375=CARTESIAN_POINT('',(0.095,0.05)); -#376=CARTESIAN_POINT('',(0.355,0.05)); -#377=CARTESIAN_POINT('',(0.36,0.035)); -#378=CARTESIAN_POINT('',(0.465,0.035)); -#379=CARTESIAN_POINT('',(0.485,0.015)); -#380=CARTESIAN_POINT('',(0.485,-0.015)); -#381=CARTESIAN_POINT('',(0.465,-0.035)); -#382=CARTESIAN_POINT('',(0.36,-0.035)); -#383=CARTESIAN_POINT('',(0.355,-0.05)); -#384=CARTESIAN_POINT('',(0.095,-0.05)); -#385=CARTESIAN_POINT('',(0.09,-0.035)); -#386=CARTESIAN_POINT('',(-0.015,-0.035)); -#387=CARTESIAN_POINT('',(-0.035,-0.015)); -#388=CARTESIAN_POINT('',(-0.035,0.015)); -#389=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.098),#71)REPRESENTATION_ITEM('')); -#390=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#391=REPRESENTATION('maximum tolerance',(#390),#392); -#392=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#393=PACKAGE_BODY('','part generic feature',#363,.T.); -#394=PRODUCT('rlr07-footprint','rlr07',$,(#14731)); -#395=PRODUCT_DEFINITION_FORMATION('26',$,#394); -#396=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#395,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#397=SHAPE_REPRESENTATION('ppsm',(#26,#4072,#4079),#364); -#398=PRODUCT('rlr07_1','rlr07_1',$,(#11516)); -#399=PRODUCT_DEFINITION_FORMATION('26',$,#398); -#400=PACKAGE('rlr07_1',$,#399,#28,'',$,*); -#401=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#402=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#407,#4111,#4118),#401); -#403=SEATING_PLANE('seating plane',$,#400,.F.); -#404=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#405=REPRESENTATION('maximum tolerance',(#404),#406); -#406=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#407=CSG_SOLID_2D('',#408); -#408=POLYGONAL_AREA('',(#409,#410,#411,#412,#413,#414,#415,#416,#417,#418,#419,#420, - #421,#422,#423,#424,#425)); -#409=CARTESIAN_POINT('',(-0.035,0.015)); -#410=CARTESIAN_POINT('',(-0.015,0.035)); -#411=CARTESIAN_POINT('',(0.115,0.035)); -#412=CARTESIAN_POINT('',(0.12,0.05)); -#413=CARTESIAN_POINT('',(0.38,0.05)); -#414=CARTESIAN_POINT('',(0.385,0.035)); -#415=CARTESIAN_POINT('',(0.515,0.035)); -#416=CARTESIAN_POINT('',(0.535,0.015)); -#417=CARTESIAN_POINT('',(0.535,-0.015)); -#418=CARTESIAN_POINT('',(0.515,-0.035)); -#419=CARTESIAN_POINT('',(0.385,-0.035)); -#420=CARTESIAN_POINT('',(0.38,-0.05)); -#421=CARTESIAN_POINT('',(0.12,-0.05)); -#422=CARTESIAN_POINT('',(0.115,-0.035)); -#423=CARTESIAN_POINT('',(-0.015,-0.035)); -#424=CARTESIAN_POINT('',(-0.035,-0.015)); -#425=CARTESIAN_POINT('',(-0.035,0.015)); -#426=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.098),#71)REPRESENTATION_ITEM('')); -#427=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#428=REPRESENTATION('maximum tolerance',(#427),#429); -#429=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#430=PACKAGE_BODY('','part generic feature',#400,.T.); -#431=PRODUCT('rlr07_1-footprint','rlr07_1',$,(#14731)); -#432=PRODUCT_DEFINITION_FORMATION('26',$,#431); -#433=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#432,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#434=SHAPE_REPRESENTATION('ppsm',(#26,#4116,#4122),#401); -#435=PRODUCT('rm2512_b','rm2512_b',$,(#11516)); -#436=PRODUCT_DEFINITION_FORMATION('26',$,#435); -#437=PACKAGE('rm2512_b',$,#436,#28,'',$,*); -#438=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#439=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#444,#4151,#4160),#438); -#440=SEATING_PLANE('seating plane',$,#437,.F.); -#441=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#442=REPRESENTATION('maximum tolerance',(#441),#443); -#443=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#444=CSG_SOLID_2D('',#445); -#445=POLYGONAL_AREA('',(#446,#447,#448,#449)); -#446=CARTESIAN_POINT('',(-0.1415,0.065)); -#447=CARTESIAN_POINT('',(-0.1415,-0.065)); -#448=CARTESIAN_POINT('',(0.1415,-0.065)); -#449=CARTESIAN_POINT('',(0.1415,0.065)); -#450=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.033),#71)REPRESENTATION_ITEM('')); -#451=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#452=REPRESENTATION('maximum tolerance',(#451),#453); -#453=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#454=PACKAGE_BODY('','part generic feature',#437,.T.); -#455=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#456=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#457),#455); -#457=CSG_SOLID_2D('',#458); -#458=POLYGONAL_AREA('',(#459,#460,#461,#462)); -#459=CARTESIAN_POINT('',(-0.1265,0.0595)); -#460=CARTESIAN_POINT('',(-0.1265,-0.0595)); -#461=CARTESIAN_POINT('',(0.1265,-0.0595)); -#462=CARTESIAN_POINT('',(0.1265,0.0595)); -#463=PRODUCT('rm2512_b-footprint-TOP','rm2512_b',$,(#14731)); -#464=PRODUCT_DEFINITION_FORMATION('26',$,#463); -#465=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#464,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#466=SHAPE_REPRESENTATION('ppsm',(#26,#4156,#4165),#438); -#467=PRODUCT('rm2512_b-footprint-BOTTOM','rm2512_b',$,(#14731)); -#468=PRODUCT_DEFINITION_FORMATION('26',$,#467); -#469=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#468,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#470=SHAPE_REPRESENTATION('ppsm',(#26,#4158,#4167),#438); -#471=PRODUCT('se555cn','se555cn',$,(#11516)); -#472=PRODUCT_DEFINITION_FORMATION('26',$,#471); -#473=PACKAGE('se555cn',$,#472,#28,'',$,*); -#474=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#23,#71))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#475=CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#480,#4242,#4248,#4255,#4262,#4269, - #4276,#4283,#4290),#474); -#476=SEATING_PLANE('seating plane',$,#473,.F.); -#477=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#478=REPRESENTATION('maximum tolerance',(#477),#479); -#479=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#480=CSG_SOLID_2D('',#481); -#481=POLYGONAL_AREA('',(#482,#483,#484,#485,#486,#487,#488,#489,#490,#491,#492,#493, - #494,#495,#496,#497,#498)); -#482=CARTESIAN_POINT('',(-0.015,0.035)); -#483=CARTESIAN_POINT('',(0.05,0.035)); -#484=CARTESIAN_POINT('',(0.05,0.1)); -#485=CARTESIAN_POINT('',(0.25,0.1)); -#486=CARTESIAN_POINT('',(0.25,0.035)); -#487=CARTESIAN_POINT('',(0.315,0.035)); -#488=CARTESIAN_POINT('',(0.335,0.015)); -#489=CARTESIAN_POINT('',(0.335,-0.31)); -#490=CARTESIAN_POINT('',(0.315,-0.335)); -#491=CARTESIAN_POINT('',(0.25,-0.335)); -#492=CARTESIAN_POINT('',(0.25,-0.4)); -#493=CARTESIAN_POINT('',(0.05,-0.4)); -#494=CARTESIAN_POINT('',(0.05,-0.335)); -#495=CARTESIAN_POINT('',(-0.015,-0.335)); -#496=CARTESIAN_POINT('',(-0.035,-0.31)); -#497=CARTESIAN_POINT('',(-0.035,0.035)); -#498=CARTESIAN_POINT('',(-0.015,0.035)); -#499=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.2),#71)REPRESENTATION_ITEM('')); -#500=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#501=REPRESENTATION('maximum tolerance',(#500),#502); -#502=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#503=PACKAGE_BODY('','part generic feature',#473,.T.); -#504=PRODUCT('se555cn-footprint','se555cn',$,(#14731)); -#505=PRODUCT_DEFINITION_FORMATION('26',$,#504); -#506=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#505,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#507=SHAPE_REPRESENTATION('ppsm',(#26,#4246,#4253,#4260,#4267,#4274,#4281,#4288, - #4295),#474); -#508=PRODUCT('ECPU1C724MA5','VCAP',$,(#11516)); -#509=PRODUCT_DEFINITION_FORMATION('26',$,#508); -#510=PACKAGED_PART('1',$,#509,#28,'',$,*); -#511=PRODUCT('ECPU1C724MA5','VCAP',$,(#10200)); -#512=PRODUCT_DEFINITION_FORMATION('26',$,#511); -#513=FUNCTIONAL_UNIT('1',$,#512,#28,'',$,*); -#514=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#513,.U.); -#515=PRODUCT('ECHU1C103JB5','VCAP',$,(#11516)); -#516=PRODUCT_DEFINITION_FORMATION('26',$,#515); -#517=PACKAGED_PART('1',$,#516,#28,'',$,*); -#518=PRODUCT('ECHU1C103JB5','VCAP',$,(#10200)); -#519=PRODUCT_DEFINITION_FORMATION('26',$,#518); -#520=FUNCTIONAL_UNIT('1',$,#519,#28,'',$,*); -#521=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#520,.U.); -#522=PRODUCT('ECPU1C105MA5','VCAP',$,(#11516)); -#523=PRODUCT_DEFINITION_FORMATION('26',$,#522); -#524=PACKAGED_PART('1',$,#523,#28,'',$,*); -#525=PRODUCT('ECPU1C105MA5','VCAP',$,(#10200)); -#526=PRODUCT_DEFINITION_FORMATION('26',$,#525); -#527=FUNCTIONAL_UNIT('1',$,#526,#28,'',$,*); -#528=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#527,.U.); -#529=PRODUCT('ERJ3GEY105','VRES',$,(#11516)); -#530=PRODUCT_DEFINITION_FORMATION('26',$,#529); -#531=PACKAGED_PART('1',$,#530,#28,'',$,*); -#532=PRODUCT('ERJ3GEY105','VRES',$,(#10200)); -#533=PRODUCT_DEFINITION_FORMATION('26',$,#532); -#534=FUNCTIONAL_UNIT('1',$,#533,#28,'',$,*); -#535=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#534,.U.); -#536=PRODUCT('ERJ3GEY102','VRES',$,(#11516)); -#537=PRODUCT_DEFINITION_FORMATION('26',$,#536); -#538=PACKAGED_PART('1',$,#537,#28,'',$,*); -#539=PRODUCT('ERJ3GEY102','VRES',$,(#10200)); -#540=PRODUCT_DEFINITION_FORMATION('26',$,#539); -#541=FUNCTIONAL_UNIT('1',$,#540,#28,'',$,*); -#542=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#541,.U.); -#543=PRODUCT('ERJ12Y1221','VRES',$,(#11516)); -#544=PRODUCT_DEFINITION_FORMATION('26',$,#543); -#545=PACKAGED_PART('1',$,#544,#28,'',$,*); -#546=PRODUCT('ERJ12Y1221','VRES',$,(#10200)); -#547=PRODUCT_DEFINITION_FORMATION('26',$,#546); -#548=FUNCTIONAL_UNIT('1',$,#547,#28,'',$,*); -#549=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#548,.U.); -#550=PRODUCT('LM555CMM','LM555H',$,(#11516)); -#551=PRODUCT_DEFINITION_FORMATION('26',$,#550); -#552=PACKAGED_PART('1',$,#551,#28,'',$,*); -#553=PRODUCT('LM555CMM','LM555H',$,(#10200)); -#554=PRODUCT_DEFINITION_FORMATION('26',$,#553); -#555=FUNCTIONAL_UNIT('1',$,#554,#28,'',$,*); -#556=FUNCTIONAL_UNIT_TERMINAL_DEFINITION('',$,#555,.U.); -#557=PACKAGED_COMPONENT('C1',$,#509,#17992,'C1','definition usage',$,#510,*,'',$, - *); -#558=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C1','',$,#46,#510,'C1','',$,#557, - *); -#559=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#560=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#561=CARTESIAN_POINT('',(609600.0,1917700.0)); -#562=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#559,#560,#561,1.0); -#563=COMPONENT_2D_LOCATION(*,#564,'component 2d location',$,#91,#48,#562); -#564=PRODUCT_DEFINITION_SHAPE('',$,#558); -#565=COMPOUND_REPRESENTATION_ITEM('set of orthogonal angles',SET_REPRESENTATION_ITEM( - (#566,#567,#568,#569))); -#566=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(0.0),#23) - PLANE_ANGLE_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('0 degrees')); -#567=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(90.0),#23) - PLANE_ANGLE_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('90 degrees')); -#568=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(180.0),#23) - PLANE_ANGLE_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('180 degrees')); -#569=(MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(PLANE_ANGLE_MEASURE(270.0),#23) - PLANE_ANGLE_MEASURE_WITH_UNIT()REPRESENTATION_ITEM('270 degrees')); -#570=PRODUCT('placement restriction to orthogonal angles only','requirement',$, - (#13468)); -#571=PRODUCT_DEFINITION_FORMATION('1',$,#570); -#572=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1',$,#571,#63); -#573=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#572)); -#574=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#575=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#576=MOUNTING_RESTRICTION_AREA('restriction to place component on FRONT (TOP) surface only', - $,#46,.F.); -#577=PRODUCT('c0805_vapor_nrPart can be placed on 1 of PCB only','requirement',$, - (#13468)); -#578=PRODUCT_DEFINITION_FORMATION('1',$,#577); -#579=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #578,#63); -#580=PRODUCT('c0805_vapor_nrComponent can be placed on 1 of PCB only','requirement', - $,(#13468)); -#581=PRODUCT_DEFINITION_FORMATION('1',$,#580); -#582=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1',$, - #581,#63); -#583=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#582)); -#584=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#579)); -#585=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#586=REPRESENTATION('component placement restriction assignment',(#8486),#8399); -#587=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#588=PACKAGED_COMPONENT('C2',$,#516,#17992,'C2','definition usage',$,#517,*,'',$, - *); -#589=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C2','',$,#46,#517,'C2','',$,#588, - *); -#590=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#591=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#592=CARTESIAN_POINT('',(368300.0,2400300.0)); -#593=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#590,#591,#592,1.0); -#594=COMPONENT_2D_LOCATION(*,#595,'component 2d location',$,#91,#48,#593); -#595=PRODUCT_DEFINITION_SHAPE('',$,#589); -#596=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#597=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#598=PACKAGED_COMPONENT('C3',$,#523,#17992,'C3','definition usage',$,#524,*,'',$, - *); -#599=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C3','',$,#46,#524,'C3','',$,#598, - *); -#600=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#601=DIRECTION('',(1.0,-1.8369701987210297E-16)); -#602=CARTESIAN_POINT('',(609600.0,1041401.0)); -#603=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#600,#601,#602,1.0); -#604=COMPONENT_2D_LOCATION(*,#605,'component 2d location',$,#134,#48,#603); -#605=PRODUCT_DEFINITION_SHAPE('',$,#599); -#606=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#607=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#608=PACKAGED_COMPONENT('R1',$,#530,#17992,'R1','definition usage',$,#531,*,'',$, - *); -#609=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R1','',$,#46,#531,'R1','',$,#608, - *); -#610=DIRECTION('',(6.123233995736766E-17,1.0)); -#611=DIRECTION('',(-1.0,6.123233995736766E-17)); -#612=CARTESIAN_POINT('',(1143000.0,2540000.0)); -#613=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#610,#611,#612,1.0); -#614=COMPONENT_2D_LOCATION(*,#615,'component 2d location',$,#168,#48,#613); -#615=PRODUCT_DEFINITION_SHAPE('',$,#609); -#616=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#617=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#618=PRODUCT('r0603_vapor_nrPart can be placed on 1 of PCB only','requirement',$, - (#13468)); -#619=PRODUCT_DEFINITION_FORMATION('1',$,#618); -#620=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('constraint','product definition based constraint', - #619,#63); -#621=PRODUCT('r0603_vapor_nrComponent can be placed on 1 of PCB only','requirement', - $,(#13468)); -#622=PRODUCT_DEFINITION_FORMATION('1',$,#621); -#623=ITEM_RESTRICTED_REQUIREMENT('item restricted requirements property',$,'1',$, - #622,#63); -#624=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#623)); -#625=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#620)); -#626=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#627=REPRESENTATION('component placement restriction assignment',(#8490),#8399); -#628=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#629=PACKAGED_COMPONENT('R2',$,#537,#17992,'R2','definition usage',$,#538,*,'',$, - *); -#630=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R2','',$,#46,#538,'R2','',$,#629, - *); -#631=DIRECTION('',(6.123233995736766E-17,1.0)); -#632=DIRECTION('',(-1.0,6.123233995736766E-17)); -#633=CARTESIAN_POINT('',(825500.0,2286000.0)); -#634=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#631,#632,#633,1.0); -#635=COMPONENT_2D_LOCATION(*,#636,'component 2d location',$,#168,#48,#634); -#636=PRODUCT_DEFINITION_SHAPE('',$,#630); -#637=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#638=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#639=PACKAGED_COMPONENT('R3',$,#544,#17992,'R3','definition usage',$,#545,*,'',$, - *); -#640=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R3','',$,#46,#545,'R3','',$,#639, - *); -#641=DIRECTION('',(1.0,1.2246467991473532E-16)); -#642=DIRECTION('mirror',(1.2246467991473532E-16,-1.0)); -#643=CARTESIAN_POINT('',(520700.0,3746501.0)); -#644=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#641,#642,#643,1.0); -#645=COMPONENT_2D_LOCATION(*,#646,'component 2d location',$,#206,#48,#644); -#646=PRODUCT_DEFINITION_SHAPE('',$,#640); -#647=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#648=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#649=PACKAGED_COMPONENT('R4',$,#544,#17992,'R4','definition usage',$,#545,*,'',$, - *); -#650=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R4','',$,#46,#545,'R4','',$,#649, - *); -#651=DIRECTION('',(1.0,1.2246467991473532E-16)); -#652=DIRECTION('mirror',(1.2246467991473532E-16,-1.0)); -#653=CARTESIAN_POINT('',(520700.0,3238501.0)); -#654=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#651,#652,#653,1.0); -#655=COMPONENT_2D_LOCATION(*,#656,'component 2d location',$,#206,#48,#654); -#656=PRODUCT_DEFINITION_SHAPE('',$,#650); -#657=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#658=PACKAGED_COMPONENT('R5',$,#544,#17992,'R5','definition usage',$,#545,*,'',$, - *); -#659=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R5','',$,#46,#545,'R5','',$,#658, - *); -#660=DIRECTION('',(1.0,1.2246467991473532E-16)); -#661=DIRECTION('mirror',(1.2246467991473532E-16,-1.0)); -#662=CARTESIAN_POINT('',(520700.0,2349500.0)); -#663=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#660,#661,#662,1.0); -#664=COMPONENT_2D_LOCATION(*,#665,'component 2d location',$,#206,#48,#663); -#665=PRODUCT_DEFINITION_SHAPE('',$,#659); -#666=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#667=PACKAGED_COMPONENT('R6',$,#544,#17992,'R6','definition usage',$,#545,*,'',$, - *); -#668=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R6','',$,#46,#545,'R6','',$,#667, - *); -#669=DIRECTION('',(1.0,1.2246467991473532E-16)); -#670=DIRECTION('mirror',(1.2246467991473532E-16,-1.0)); -#671=CARTESIAN_POINT('',(520700.0,1587500.0)); -#672=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#669,#670,#671,1.0); -#673=COMPONENT_2D_LOCATION(*,#674,'component 2d location',$,#206,#48,#672); -#674=PRODUCT_DEFINITION_SHAPE('',$,#668); -#675=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#676=PACKAGED_COMPONENT('U1',$,#551,#17992,'U1','definition usage',$,#552,*,'',$, - *); -#677=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('U1','',$,#46,#552,'U1','',$,#676, - *); -#678=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#679=DIRECTION('',(-1.2246467991473532E-16,-1.0)); -#680=CARTESIAN_POINT('',(647700.0,2743200.0)); -#681=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#678,#679,#680,1.0); -#682=COMPONENT_2D_LOCATION(*,#683,'component 2d location',$,#244,#48,#681); -#683=PRODUCT_DEFINITION_SHAPE('',$,#677); -#684=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#685=REQUIREMENT_ASSIGNMENT('assembly requirement allocation',$,'',$); -#686=PRODUCT('c145','template',$,(#14731)); -#687=PRODUCT_DEFINITION_FORMATION('1',$,#686); -#688=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#687,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#689=SHAPE_REPRESENTATION('ppsm',(#26,#4348,#4350),#690); -#690=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#691=PRODUCT('c95','template',$,(#14731)); -#692=PRODUCT_DEFINITION_FORMATION('1',$,#691); -#693=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#692,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#694=SHAPE_REPRESENTATION('ppsm',(#26,#4360,#4362),#695); -#695=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#696=PRODUCT('n125','template',$,(#14731)); -#697=PRODUCT_DEFINITION_FORMATION('1',$,#696); -#698=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#697,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#699=SHAPE_REPRESENTATION('ppsm',(#26,#4379,#4388,#4398,#4408,#4410),#700); -#700=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#701=PRODUCT('t145o125i15g2t45d','template',$,(#14731)); -#702=PRODUCT_DEFINITION_FORMATION('1',$,#701); -#703=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#702,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#704=SHAPE_REPRESENTATION('ppsm',(#26,#4420,#4422,#4438,#4440),#705); -#705=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#706=PRODUCT('t95o75i15g2t45d','template',$,(#14731)); -#707=PRODUCT_DEFINITION_FORMATION('1',$,#706); -#708=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#707,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#709=SHAPE_REPRESENTATION('ppsm',(#26,#4457,#4459,#4473,#4475),#710); -#710=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#711=PRODUCT('target_15x8.5_bsize','template',$,(#14731)); -#712=PRODUCT_DEFINITION_FORMATION('1',$,#711); -#713=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#712,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#714=SHAPE_REPRESENTATION('ppsm',(#26,#4492,#4503,#4512,#4521,#4530,#4539,#4548, - #4557,#4566,#4575,#4584,#4593,#4602,#4611,#4621,#4631,#4641,#4653,#4660,#4670, - #4680,#4690,#4697,#4704,#4711,#4718,#4725,#4732,#4739,#4746,#4753,#4760,#4767, - #4774,#4784,#4791,#4798,#4805,#4812,#4819,#4826,#4833,#4840,#4847,#4857,#4867, - #4877,#4887,#4894,#4904,#4914,#4924,#4931,#4938,#4945,#4952,#4959,#4966,#4973, - #4980,#4987,#4994,#5001,#5008,#5018,#5020,#5027,#5029,#5036,#5038,#5045,#5047, - #5054,#5056,#5063,#5065,#5072,#5074,#5081,#5083,#5090,#5092,#5099,#5101,#5108, - #5110,#5117,#5119,#5126,#5128,#5135,#5137,#5147,#5149,#5159,#5161,#5171,#5173, - #5183,#5185,#5187,#5189,#5191,#5193,#5195,#5197,#5199,#5201,#5203,#5205,#5212, - #5214,#5216,#5218,#5220,#5222,#5224,#5226,#5228,#5230,#5232,#5234,#5244,#5246, - #5248,#5250,#5252,#5254,#5256,#5258,#5260,#5262,#5264,#5266,#5276,#5278,#5280, - #5282,#5284,#5286,#5288,#5290,#5292,#5294,#5296,#5298,#5308,#5310,#5312,#5314, - #5316,#5318,#5320,#5322,#5324,#5326,#5328,#5330,#5337,#5339,#5341,#5343,#5345, - #5347,#5349,#5351,#5353,#5355,#5357,#5359,#5366,#5368,#5370,#5372,#5374,#5376, - #5378,#5380,#5382,#5384,#5386,#5388,#5395,#5397,#5399,#5401,#5403,#5405,#5407, - #5409,#5411,#5413,#5415,#5417,#5424,#5426,#5428,#5430,#5432,#5434,#5436,#5438, - #5440,#5442,#5444,#5446,#5453,#5455,#5457,#5459,#5461,#5463,#5465,#5467,#5469, - #5471,#5473,#5475,#5482,#5484,#5486,#5488,#5490,#5492,#5494,#5496,#5498,#5500, - #5502,#5504,#5511,#5513,#5515,#5517,#5519,#5521,#5523,#5525,#5527,#5529,#5531, - #5533,#5540,#5542,#5544,#5546,#5548,#5550,#5552,#5554,#5556,#5558,#5560,#5562, - #5569,#5571,#5573,#5575,#5577,#5579,#5581,#5583,#5585,#5587,#5589,#5591,#5598, - #5600,#5602,#5604,#5606,#5608,#5610,#5612,#5614,#5616,#5618,#5620,#5627,#5629, - #5631,#5633,#5635,#5637,#5639,#5641,#5643,#5645,#5647,#5649,#5656,#5658,#5660, - #5662,#5664,#5666,#5668,#5670,#5672,#5674,#5676,#5678,#5685,#5694,#5703,#5712, - #5721,#5731,#5741,#5748,#5755,#5762,#5769,#5776,#5783,#5790,#5797,#5807,#5817, - #5824,#5831,#5838,#5845,#5847,#5854,#5856,#5863,#5865,#5872,#5874,#5881,#5883, - #5893,#5895,#5897,#5899,#5901,#5903,#5905,#5907,#5909,#5911,#5913,#5915,#5925, - #5927,#5929,#5931,#5933,#5935,#5937,#5939,#5941,#5943,#5945,#5947,#5954,#5956, - #5958,#5960,#5962,#5964,#5966,#5968,#5970,#5972,#5974,#5976,#5983,#5985,#5987, - #5989,#5991,#5993,#5995,#5997,#5999,#6001,#6003,#6005,#6012,#6014,#6016,#6018, - #6020,#6022,#6024,#6026,#6028,#6030,#6032,#6034),#715); -#715=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#716=PRODUCT('DESC1B','physical',$,(#11516)); -#717=PRODUCT_DEFINITION_FORMATION('1',$,#716); -#718=PHYSICAL_UNIT('PART1',$,#717,#28,'',$,*); -#719=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#720=SHAPE_REPRESENTATION('ppsm',(#26),#719); -#721=PRODUCT('PART1','template',$,(#14731)); -#722=PRODUCT_DEFINITION_FORMATION('1',$,#721); -#723=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#722,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#724=SHAPE_REPRESENTATION('ppsm',(#26),#725); -#725=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#726=PRODUCT('DESC3','physical',$,(#11516)); -#727=PRODUCT_DEFINITION_FORMATION('1',$,#726); -#728=PHYSICAL_UNIT('PART3',$,#727,#28,'',$,*); -#729=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#730=SHAPE_REPRESENTATION('ppsm',(#26),#729); -#731=PRODUCT('PART3','template',$,(#14731)); -#732=PRODUCT_DEFINITION_FORMATION('1',$,#731); -#733=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#732,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#734=SHAPE_REPRESENTATION('ppsm',(#26),#735); -#735=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#736=PRODUCT('DESC1','physical',$,(#11516)); -#737=PRODUCT_DEFINITION_FORMATION('1',$,#736); -#738=PHYSICAL_UNIT('PART2',$,#737,#28,'',$,*); -#739=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#740=SHAPE_REPRESENTATION('ppsm',(#26),#739); -#741=PRODUCT('PART2','template',$,(#14731)); -#742=PRODUCT_DEFINITION_FORMATION('1',$,#741); -#743=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#742,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#744=SHAPE_REPRESENTATION('ppsm',(#26),#745); -#745=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#746=PHYSICAL_UNIT('FORM',$,#717,#28,'',$,*); -#747=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#748=SHAPE_REPRESENTATION('ppsm',(#26,#6043,#6051,#6059,#6067,#6075,#6083,#6091, - #6099,#6107,#6115,#6123,#6131),#747); -#749=PHYSICAL_UNIT('FORM-UV',$,#717,#28,'',$,*); -#750=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#751=SHAPE_REPRESENTATION('ppsm',(#26),#750); -#752=PRODUCT('FORM','template',$,(#14731)); -#753=PRODUCT_DEFINITION_FORMATION('1',$,#752); -#754=(FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION()GEOMETRIC_TEMPLATE() - MULTI_STRATUM_STRUCTURED_TEMPLATE()PART_TEMPLATE_DEFINITION() - PRODUCT_DEFINITION('1',$,#753,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#755=SHAPE_REPRESENTATION('ppsm',(#26),#756); -#756=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#757=PRODUCT('library stack','library stack',$,(#14731)); -#758=PRODUCT_DEFINITION_FORMATION('1',$,#757); -#759=LIBRARY_STACK_MODEL('1',$,#758,#28,'',$,*); -#760=STRATUM_TECHNOLOGY('GLUE_MASK','documentation layer','',$,*); -#761=REPRESENTATION('maximum tolerance',(#764),#762); -#762=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#763)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#763=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19,'',$); -#764=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.3),#19)QUALIFIED_REPRESENTATION_ITEM((#765))REPRESENTATION_ITEM('')); -#765=TYPE_QUALIFIER('maximum'); -#766=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('solder',(#760,#770,#774, - #778)); -#767=STRATUM_TECHNOLOGY_OCCURRENCE('GLUE_MASK_1',$,#760); -#768=STRATUM_TECHNOLOGY_OCCURRENCE('GLUE_MASK_2',$,#760); -#769=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#759,'','',#767,#768); -#770=STRATUM_TECHNOLOGY('PASTE_MASK','documentation layer','',$,*); -#771=STRATUM_TECHNOLOGY_OCCURRENCE('PASTE_MASK_1',$,#770); -#772=STRATUM_TECHNOLOGY_OCCURRENCE('PASTE_MASK_2',$,#770); -#773=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#759,'','',#771,#772); -#774=STRATUM_TECHNOLOGY('SILKSCREEN','documentation layer','',$,*); -#775=STRATUM_TECHNOLOGY_OCCURRENCE('SILKSCREEN_1',$,#774); -#776=STRATUM_TECHNOLOGY_OCCURRENCE('SILKSCREEN_2',$,#774); -#777=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#759,'','',#775,#776); -#778=STRATUM_TECHNOLOGY('SOLDER_MASK','documentation layer','',$,*); -#779=STRATUM_TECHNOLOGY_OCCURRENCE('SOLDER_MASK_1',$,#778); -#780=STRATUM_TECHNOLOGY_OCCURRENCE('SOLDER_MASK_2',$,#778); -#781=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#759,'','',#779,#780); -#782=STRATUM_TECHNOLOGY('substrate technology',$,'',$,*); -#783=REPRESENTATION('minimum tolerance',(#785),#784); -#784=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#785=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.3),#19)QUALIFIED_REPRESENTATION_ITEM((#786))REPRESENTATION_ITEM('')); -#786=TYPE_QUALIFIER('minimum'); -#787=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('dielectric',(#782)); -#788=APPLIED_CLASSIFICATION_ASSIGNMENT(#790,#789,(#787)); -#789=CLASSIFICATION_ROLE('non conductive',$); -#790=CLASS('non conductive','electrical conductivity'); -#791=STRATUM_TECHNOLOGY('SIGNAL-EXTERNAL','design layer','',$,*); -#792=REPRESENTATION('maximum tolerance',(#793),#762); -#793=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.3),#19)QUALIFIED_REPRESENTATION_ITEM((#765))REPRESENTATION_ITEM('')); -#794=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('copper',(#791,#798,#826)); -#795=REPRESENTATION('tolerance',(#796),#797); -#796=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)REPRESENTATION_ITEM('thickness for external copper layers')); -#797=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#798=STRATUM_TECHNOLOGY('SIGNAL-INTERNAL','design layer','',$,*); -#799=REPRESENTATION('tolerance',(#800),#801); -#800=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)REPRESENTATION_ITEM('thickness for internal copper layers')); -#801=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#802=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_1',$,#791); -#803=STRATUM_TECHNOLOGY_OCCURRENCE('substrate',$,#782); -#804=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_2',$,#798); -#805=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_2',$,#782); -#806=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_3',$,#798); -#807=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_3',$,#782); -#808=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_4',$,#798); -#809=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_4',$,#782); -#810=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_5',$,#798); -#811=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_5',$,#782); -#812=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_6',$,#798); -#813=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_6',$,#782); -#814=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_7',$,#798); -#815=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_7',$,#782); -#816=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_8',$,#798); -#817=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_8',$,#782); -#818=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_9',$,#798); -#819=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_9',$,#782); -#820=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_10',$,#798); -#821=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_10',$,#782); -#822=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_11',$,#798); -#823=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_11',$,#782); -#824=STRATUM_TECHNOLOGY_OCCURRENCE('SIGNAL_12',$,#791); -#825=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_12',$,#782); -#826=STRATUM_TECHNOLOGY('POWER-INTERNAL','design layer','',$,*); -#827=REPRESENTATION('tolerance',(#828),#829); -#828=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)REPRESENTATION_ITEM('thickness for internal copper layers')); -#829=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#830=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_1',$,#826); -#831=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_13',$,#782); -#832=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_2',$,#826); -#833=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_14',$,#782); -#834=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_3',$,#826); -#835=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_15',$,#782); -#836=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_4',$,#826); -#837=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_16',$,#782); -#838=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_5',$,#826); -#839=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_17',$,#782); -#840=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_6',$,#826); -#841=STRATUM_TECHNOLOGY_OCCURRENCE('DIELECTRIC_18',$,#782); -#842=STRATUM_TECHNOLOGY_OCCURRENCE('POWER_7',$,#826); -#843=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#767,#771); -#844=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#771,#775); -#845=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#775,#779); -#846=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#779,#802); -#847=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#802,#803); -#848=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#803,#804); -#849=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#804,#805); -#850=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#805,#806); -#851=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#806,#807); -#852=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#807,#808); -#853=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#808,#809); -#854=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#809,#810); -#855=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#810,#811); -#856=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#811,#812); -#857=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#812,#813); -#858=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#813,#814); -#859=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#814,#815); -#860=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#815,#816); -#861=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#816,#817); -#862=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#817,#818); -#863=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#818,#819); -#864=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#819,#820); -#865=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#820,#821); -#866=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#821,#822); -#867=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#822,#823); -#868=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#823,#824); -#869=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#824,#825); -#870=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#825,#830); -#871=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#830,#831); -#872=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#831,#832); -#873=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#832,#833); -#874=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#833,#834); -#875=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#834,#835); -#876=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#835,#836); -#877=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#836,#837); -#878=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#837,#838); -#879=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#838,#839); -#880=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#839,#840); -#881=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#840,#841); -#882=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#841,#842); -#883=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#842,#780); -#884=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#780,#776); -#885=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#776,#772); -#886=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#759,'','',#772,#768); -#887=PRODUCT('design stack','design stack',$,(#14731)); -#888=PRODUCT_DEFINITION_FORMATION('1',$,#887); -#889=DESIGN_STACK_MODEL('1',$,#888,#28,'',$,*); -#890=LIBRARY_TO_DESIGN_STACK_MODEL_MAPPING('','',$,#759,#889); -#891=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#889,'','',#767,#771); -#892=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#889,'','',#771,#775); -#893=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#889,'','',#775,#779); -#894=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#889,'','',#779,#802); -#895=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#889,'','',#802,#803); -#896=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#889,'','',#803,#824); -#897=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#889,'','',#824,#780); -#898=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#889,'','',#780,#776); -#899=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#889,'','',#776,#772); -#900=STRATUM_TECHNOLOGY_OCCURRENCE_LINK('',$,#889,'','',#772,#768); -#901=STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP('',$,#889,'','',#802,#824); -#902=DOCUMENTATION_LAYER_STRATUM('PASTE_MASK_2',$,#14,#28,'',$,*); -#903=ASSEMBLY_COMPONENT_USAGE('PASTE_MASK_2','interconnect module stratum assembly relationship', - $,#34,#902,'PASTE_MASK_2'); -#904=DOCUMENTATION_LAYER_STRATUM('GLUE_MASK_2',$,#14,#28,'',$,*); -#905=ASSEMBLY_COMPONENT_USAGE('GLUE_MASK_2','interconnect module stratum assembly relationship', - $,#34,#904,'GLUE_MASK_2'); -#906=DOCUMENTATION_LAYER_STRATUM('SILKSCREEN_2',$,#14,#28,'',$,*); -#907=ASSEMBLY_COMPONENT_USAGE('SILKSCREEN_2','interconnect module stratum assembly relationship', - $,#34,#906,'SILKSCREEN_2'); -#908=DOCUMENTATION_LAYER_STRATUM('SOLDER_MASK_2',$,#14,#28,'',$,*); -#909=ASSEMBLY_COMPONENT_USAGE('SOLDER_MASK_2','interconnect module stratum assembly relationship', - $,#34,#908,'SOLDER_MASK_2'); -#910=DESIGN_LAYER_STRATUM('LAYER_2','non primary design layer stratum',#14,#28,'', - $,*); -#911=ASSEMBLY_COMPONENT_USAGE('2','interconnect module stratum assembly relationship', - $,#34,#910,'2'); -#912=STRATUM('substrate',$,#14,#28,'',$,*); -#913=ASSEMBLY_COMPONENT_USAGE('substrate','interconnect module stratum assembly relationship', - $,#34,#912,'substrate'); -#914=DESIGN_LAYER_STRATUM('LAYER_1','primary design layer stratum',#14,#28,'',$, - *); -#915=ASSEMBLY_COMPONENT_USAGE('1','interconnect module stratum assembly relationship', - $,#34,#914,'1'); -#916=DOCUMENTATION_LAYER_STRATUM('SOLDER_MASK_1',$,#14,#28,'',$,*); -#917=ASSEMBLY_COMPONENT_USAGE('SOLDER_MASK_1','interconnect module stratum assembly relationship', - $,#34,#916,'SOLDER_MASK_1'); -#918=DOCUMENTATION_LAYER_STRATUM('SILKSCREEN_1',$,#14,#28,'',$,*); -#919=ASSEMBLY_COMPONENT_USAGE('SILKSCREEN_1','interconnect module stratum assembly relationship', - $,#34,#918,'SILKSCREEN_1'); -#920=DOCUMENTATION_LAYER_STRATUM('PASTE_MASK_1',$,#14,#28,'',$,*); -#921=ASSEMBLY_COMPONENT_USAGE('PASTE_MASK_1','interconnect module stratum assembly relationship', - $,#34,#920,'PASTE_MASK_1'); -#922=DOCUMENTATION_LAYER_STRATUM('GLUE_MASK_1',$,#14,#28,'',$,*); -#923=ASSEMBLY_COMPONENT_USAGE('GLUE_MASK_1','interconnect module stratum assembly relationship', - $,#34,#922,'GLUE_MASK_1'); -#924=PRODUCT('Max allowed track length in stratum 0.0mm','requirement',$,(#13468)); -#925=PRODUCT_DEFINITION_FORMATION('1',$,#924); -#926=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#925,#63); -#927=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#928=PRODUCT('Min allowed track length in stratum 0.0mm','requirement',$,(#13468)); -#929=PRODUCT_DEFINITION_FORMATION('1',$,#928); -#930=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#929,#63); -#931=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#932=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#933=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#934=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#32,#13717); -#935=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#33,#13718); -#936=SHAPE_ASPECT('Outline where routing can be performed in','vlnfse',#15,.F.); -#937=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#939),#938); -#938=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#939=CSG_SOLID_2D('',#940); -#940=POLYGONAL_AREA('',(#941,#942,#943,#944)); -#941=CARTESIAN_POINT('',(-0.1,-0.1)); -#942=CARTESIAN_POINT('',(0.6,-0.1)); -#943=CARTESIAN_POINT('',(0.6,1.85)); -#944=CARTESIAN_POINT('',(-0.1,1.85)); -#945=REPRESENTATION('tolerance',(#946),#947); -#946=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.06),#71)REPRESENTATION_ITEM('thickness for thermal analysis')); -#947=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#948=APPLIED_DOCUMENT_REFERENCE(#13668,'',(#946)); -#949=PRODUCT('TJUNCTIONS_ALLOWED','requirement',$,(#13468)); -#950=PRODUCT_DEFINITION_FORMATION('1',$,#949); -#951=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#950,#63); -#952=DESCRIPTIVE_REPRESENTATION_ITEM('TJUNCTIONS_ALLOWED','true'); -#953=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#954=INTER_STRATUM_FEATURE_TEMPLATE('id',$,#958,#28,'',$,*); -#955=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#986),#956); -#956=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#957=PASSAGE_TECHNOLOGY('technology for outline',$,'',$,*); -#958=PRODUCT_DEFINITION_FORMATION('1',$,#959); -#959=PRODUCT('Outline of board','template',$,(#14731)); -#960=INTERCONNECT_MODULE_EDGE('Outline of board',$,#958,#28,'Outline of board','definition usage', - $,#954,*,'',$,*); -#961=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('Outline of board','',$,#34,#954, - 'Outline of board','',$,#960,*); -#962=DIRECTION('',(1.0,0.0)); -#963=DIRECTION('',(-0.0,1.0)); -#964=CARTESIAN_POINT('',(0.0,0.0)); -#965=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#962,#963,#964,1.0); -#966=COMPONENT_2D_LOCATION(*,#967,'component 2d location',$,#955,#36,#965); -#967=PRODUCT_DEFINITION_SHAPE('',$,#961); -#968=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#31,#13719); -#969=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10525,#970,'',$,#31,#25,*); -#970=AXIS2_PLACEMENT_2D('',#971,$); -#971=CARTESIAN_POINT('',(0.0,0.0)); -#972=SHAPE_ASPECT('outline','part generic feature',#39,.T.); -#973=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10525,#974,'',$,#972,#41,*); -#974=AXIS2_PLACEMENT_2D('',#975,$); -#975=CARTESIAN_POINT('',(0.0,0.0)); -#976=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - $,#972,#57); -#977=COMPOSITE_CURVE('',(#984),.F.); -#978=POLYLINE('',(#979,#980,#981,#982,#983)); -#979=CARTESIAN_POINT('',(0.625,1.875)); -#980=CARTESIAN_POINT('',(-0.125,1.875)); -#981=CARTESIAN_POINT('',(-0.125,-0.125)); -#982=CARTESIAN_POINT('',(0.625,-0.125)); -#983=CARTESIAN_POINT('',(0.625,1.875)); -#984=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#978); -#985=AREA_WITH_OUTER_BOUNDARY('',#977,.T.); -#986=CSG_PRIMITIVE_SOLID_2D('',#985); -#987=PRODUCT('solid fill area template','template',$,(#14731)); -#988=PRODUCT_DEFINITION_FORMATION('1',$,#987); -#989=CLOSED_CURVE_STYLE_PARAMETERS('',(#8412,#8413,#990),#8411); -#990=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 1.0),#17)REPRESENTATION_ITEM('curve width')); -#991=(LENGTH_MEASURE_WITH_UNIT()MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19) - UNCERTAINTY_MEASURE_WITH_UNIT('',$)); -#992=FILL_AREA_TEMPLATE('1',$,#988,#28,'',$,*); -#993=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for GLUE_MASK_2',$,#988,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for GLUE_MASK_2','definition usage',$, - #992,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for GLUE_MASK_2', - $,#904,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#994=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for GLUE_MASK_2','',$,#34, - #992,'base for GLUE_MASK_2','',$,#993,*); -#995=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#996,#998),#35); -#996=AXIS2_PLACEMENT_2D('origin',#997,$); -#997=CARTESIAN_POINT('',(0.0,0.0)); -#998=CSG_PRIMITIVE_SOLID_2D('',#999); -#999=POLYGONAL_AREA('',(#1000,#1001,#1002,#1003)); -#1000=CARTESIAN_POINT('',(1587499.9999999998,4762499.999999999)); -#1001=CARTESIAN_POINT('',(-317499.99999999994,4762499.999999999)); -#1002=CARTESIAN_POINT('',(-317499.99999999994,-317499.99999999994)); -#1003=CARTESIAN_POINT('',(1587499.9999999998,-317499.99999999994)); -#1004=AREA_COMPONENT('base for SOLDER_MASK_2',$,#988,#28,'base for SOLDER_MASK_2', - 'definition usage',$,#992,*,'',$,*); -#1005=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_2','',$, - #34,#992,'base for SOLDER_MASK_2','',$,#1004,*); -#1006=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for GLUE_MASK_1',$,#988,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for GLUE_MASK_1','definition usage',$, - #992,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for GLUE_MASK_1', - $,#922,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#1007=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for GLUE_MASK_1','',$,#34, - #992,'base for GLUE_MASK_1','',$,#1006,*); -#1008=AREA_COMPONENT('base for PASTE_MASK_1',$,#988,#28,'base for PASTE_MASK_1', - 'definition usage',$,#992,*,'',$,*); -#1009=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_1','',$,#34, - #992,'base for PASTE_MASK_1','',$,#1008,*); -#1010=AREA_COMPONENT('base for SOLDER_MASK_1',$,#988,#28,'base for SOLDER_MASK_1', - 'definition usage',$,#992,*,'',$,*); -#1011=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_1','',$, - #34,#992,'base for SOLDER_MASK_1','',$,#1010,*); -#1012=AREA_COMPONENT('base for PASTE_MASK_2',$,#988,#28,'base for PASTE_MASK_2', - 'definition usage',$,#992,*,'',$,*); -#1013=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_2','',$,#34, - #992,'base for PASTE_MASK_2','',$,#1012,*); -#1014=PRODUCT('pad080c_047-padstack','template',$,(#14731)); -#1015=PRODUCT_DEFINITION_FORMATION('1',$,#1014); -#1016=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1015,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1017=SHAPE_REPRESENTATION('ppsm',(#26,#1038,#1047,#1051,#1055,#1059,#1063,#1067, - #1071,#1083,#1087,#1100,#1104,#1108,#1112,#1116,#1120,#1124,#1128,#1132,#1136, - #1140,#1144),#1018); -#1018=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1019=PASSAGE_TECHNOLOGY('0.047 inches','default component termination passage definition', - '',$,*); -#1020=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.047),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#1021=REPRESENTATION('maximum tolerance',(#1020),#1022); -#1022=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1023=REPRESENTATION('minimum tolerance',(#1024),#784); -#1024=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#19)QUALIFIED_REPRESENTATION_ITEM((#1025))REPRESENTATION_ITEM('')); -#1025=TYPE_QUALIFIER('minimum'); -#1026=(MATERIAL_DESIGNATION('copper',(#1019,#1155,#1391,#1665,#1805,#2750,#2892, - #3034))MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION() - PASSAGE_DEPOSITION_MATERIAL_IDENTIFICATION()); -#1027=PRODUCT('pad080c_047-drill','template',$,(#14731)); -#1028=PRODUCT_DEFINITION_FORMATION('1',$,#1027); -#1029=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1028,#28,'',$,*); -#1030=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1029,.T.); -#1031=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1029,.T.); -#1032=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1034),#1033); -#1033=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1034=CSG_PRIMITIVE_SOLID_2D('',#1036); -#1035=CARTESIAN_POINT('',(0.0,0.0)); -#1036=CIRCULAR_AREA('',#1035,0.0235); -#1037=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1016,#1029,'drill'); -#1038=MAPPED_ITEM('tlistt',#14732,#1039); -#1039=AXIS2_PLACEMENT_2D('',#1040,$); -#1040=CARTESIAN_POINT('',(0.0,0.0)); -#1041=PRODUCT('pad080c_047-POWER','template',$,(#14731)); -#1042=PRODUCT_DEFINITION_FORMATION('1',$,#1041); -#1043=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1042,#28,'',$,*); -#1044=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1074),#1045); -#1045=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1046=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1016,#1043, - 'POWER_1','',$,#1046); -#1047=MAPPED_ITEM('tlistt',#14737,#1048); -#1048=AXIS2_PLACEMENT_2D('',#1049,$); -#1049=CARTESIAN_POINT('',(0.0,0.0)); -#1050=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1016,#1043, - 'POWER_2','',$,#1050); -#1051=MAPPED_ITEM('tlistt',#14737,#1052); -#1052=AXIS2_PLACEMENT_2D('',#1053,$); -#1053=CARTESIAN_POINT('',(0.0,0.0)); -#1054=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1016,#1043, - 'POWER_3','',$,#1054); -#1055=MAPPED_ITEM('tlistt',#14737,#1056); -#1056=AXIS2_PLACEMENT_2D('',#1057,$); -#1057=CARTESIAN_POINT('',(0.0,0.0)); -#1058=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1016,#1043, - 'POWER_4','',$,#1058); -#1059=MAPPED_ITEM('tlistt',#14737,#1060); -#1060=AXIS2_PLACEMENT_2D('',#1061,$); -#1061=CARTESIAN_POINT('',(0.0,0.0)); -#1062=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1016,#1043, - 'POWER_5','',$,#1062); -#1063=MAPPED_ITEM('tlistt',#14737,#1064); -#1064=AXIS2_PLACEMENT_2D('',#1065,$); -#1065=CARTESIAN_POINT('',(0.0,0.0)); -#1066=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1016,#1043, - 'POWER_6','',$,#1066); -#1067=MAPPED_ITEM('tlistt',#14737,#1068); -#1068=AXIS2_PLACEMENT_2D('',#1069,$); -#1069=CARTESIAN_POINT('',(0.0,0.0)); -#1070=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1016,#1043, - 'POWER_7','',$,#1070); -#1071=MAPPED_ITEM('tlistt',#14737,#1072); -#1072=AXIS2_PLACEMENT_2D('',#1073,$); -#1073=CARTESIAN_POINT('',(0.0,0.0)); -#1074=CSG_PRIMITIVE_SOLID_2D('',#1076); -#1075=CARTESIAN_POINT('',(0.0,0.0)); -#1076=CIRCULAR_AREA('',#1075,0.05); -#1077=PRODUCT('pad080c_047-SOLDER_MASK','template',$,(#14731)); -#1078=PRODUCT_DEFINITION_FORMATION('1',$,#1077); -#1079=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1078,#28,'',$,*); -#1080=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1090),#1081); -#1081=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1082=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1016, - #1079,'SOLDER_MASK_1','',$,#1082); -#1083=MAPPED_ITEM('tlistt',#14759,#1084); -#1084=AXIS2_PLACEMENT_2D('',#1085,$); -#1085=CARTESIAN_POINT('',(0.0,0.0)); -#1086=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1016, - #1079,'SOLDER_MASK_2','',$,#1086); -#1087=MAPPED_ITEM('tlistt',#14759,#1088); -#1088=AXIS2_PLACEMENT_2D('',#1089,$); -#1089=CARTESIAN_POINT('',(0.0,0.0)); -#1090=CSG_PRIMITIVE_SOLID_2D('',#1092); -#1091=CARTESIAN_POINT('',(0.0,0.0)); -#1092=CIRCULAR_AREA('',#1091,0.045); -#1093=PRODUCT('pad080c_047-SIGNAL','template',$,(#14731)); -#1094=PRODUCT_DEFINITION_FORMATION('1',$,#1093); -#1095=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1094,#28,'',$,*); -#1096=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1147),#1097); -#1097=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1098=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1095,.T.); -#1099=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1016,#1095, - 'SIGNAL_1','',$,#1099); -#1100=MAPPED_ITEM('tlistt',#14766,#1101); -#1101=AXIS2_PLACEMENT_2D('',#1102,$); -#1102=CARTESIAN_POINT('',(0.0,0.0)); -#1103=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1016,#1095, - 'SIGNAL_2','',$,#1103); -#1104=MAPPED_ITEM('tlistt',#14766,#1105); -#1105=AXIS2_PLACEMENT_2D('',#1106,$); -#1106=CARTESIAN_POINT('',(0.0,0.0)); -#1107=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1016,#1095, - 'SIGNAL_3','',$,#1107); -#1108=MAPPED_ITEM('tlistt',#14766,#1109); -#1109=AXIS2_PLACEMENT_2D('',#1110,$); -#1110=CARTESIAN_POINT('',(0.0,0.0)); -#1111=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1016,#1095, - 'SIGNAL_4','',$,#1111); -#1112=MAPPED_ITEM('tlistt',#14766,#1113); -#1113=AXIS2_PLACEMENT_2D('',#1114,$); -#1114=CARTESIAN_POINT('',(0.0,0.0)); -#1115=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1016,#1095, - 'SIGNAL_5','',$,#1115); -#1116=MAPPED_ITEM('tlistt',#14766,#1117); -#1117=AXIS2_PLACEMENT_2D('',#1118,$); -#1118=CARTESIAN_POINT('',(0.0,0.0)); -#1119=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1016,#1095, - 'SIGNAL_6','',$,#1119); -#1120=MAPPED_ITEM('tlistt',#14766,#1121); -#1121=AXIS2_PLACEMENT_2D('',#1122,$); -#1122=CARTESIAN_POINT('',(0.0,0.0)); -#1123=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1016,#1095, - 'SIGNAL_7','',$,#1123); -#1124=MAPPED_ITEM('tlistt',#14766,#1125); -#1125=AXIS2_PLACEMENT_2D('',#1126,$); -#1126=CARTESIAN_POINT('',(0.0,0.0)); -#1127=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1016,#1095, - 'SIGNAL_8','',$,#1127); -#1128=MAPPED_ITEM('tlistt',#14766,#1129); -#1129=AXIS2_PLACEMENT_2D('',#1130,$); -#1130=CARTESIAN_POINT('',(0.0,0.0)); -#1131=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1016,#1095, - 'SIGNAL_9','',$,#1131); -#1132=MAPPED_ITEM('tlistt',#14766,#1133); -#1133=AXIS2_PLACEMENT_2D('',#1134,$); -#1134=CARTESIAN_POINT('',(0.0,0.0)); -#1135=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1016, - #1095,'SIGNAL_10','',$,#1135); -#1136=MAPPED_ITEM('tlistt',#14766,#1137); -#1137=AXIS2_PLACEMENT_2D('',#1138,$); -#1138=CARTESIAN_POINT('',(0.0,0.0)); -#1139=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1016, - #1095,'SIGNAL_11','',$,#1139); -#1140=MAPPED_ITEM('tlistt',#14766,#1141); -#1141=AXIS2_PLACEMENT_2D('',#1142,$); -#1142=CARTESIAN_POINT('',(0.0,0.0)); -#1143=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1016, - #1095,'SIGNAL_12','',$,#1143); -#1144=MAPPED_ITEM('tlistt',#14766,#1145); -#1145=AXIS2_PLACEMENT_2D('',#1146,$); -#1146=CARTESIAN_POINT('',(0.0,0.0)); -#1147=CSG_PRIMITIVE_SOLID_2D('',#1149); -#1148=CARTESIAN_POINT('',(0.0,0.0)); -#1149=CIRCULAR_AREA('',#1148,0.04); -#1150=PRODUCT('pad065c_039-padstack','template',$,(#14731)); -#1151=PRODUCT_DEFINITION_FORMATION('1',$,#1150); -#1152=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1151,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1153=SHAPE_REPRESENTATION('ppsm',(#26,#1170,#1179,#1183,#1187,#1191,#1195,#1199, - #1203,#1215,#1219,#1232,#1236,#1240,#1244,#1248,#1252,#1256,#1260,#1264,#1268, - #1272,#1276),#1154); -#1154=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1155=PASSAGE_TECHNOLOGY('0.039 inches','default component termination passage definition', - '',$,*); -#1156=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.039),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#1157=REPRESENTATION('maximum tolerance',(#1156),#1158); -#1158=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1159=PRODUCT('pad065c_039-drill','template',$,(#14731)); -#1160=PRODUCT_DEFINITION_FORMATION('1',$,#1159); -#1161=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1160,#28,'',$,*); -#1162=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1161,.T.); -#1163=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1161,.T.); -#1164=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1166),#1165); -#1165=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1166=CSG_PRIMITIVE_SOLID_2D('',#1168); -#1167=CARTESIAN_POINT('',(0.0,0.0)); -#1168=CIRCULAR_AREA('',#1167,0.0195); -#1169=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1152,#1161,'drill'); -#1170=MAPPED_ITEM('tlistt',#14803,#1171); -#1171=AXIS2_PLACEMENT_2D('',#1172,$); -#1172=CARTESIAN_POINT('',(0.0,0.0)); -#1173=PRODUCT('pad065c_039-POWER','template',$,(#14731)); -#1174=PRODUCT_DEFINITION_FORMATION('1',$,#1173); -#1175=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1174,#28,'',$,*); -#1176=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1206),#1177); -#1177=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1178=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1152,#1175, - 'POWER_1','',$,#1178); -#1179=MAPPED_ITEM('tlistt',#14807,#1180); -#1180=AXIS2_PLACEMENT_2D('',#1181,$); -#1181=CARTESIAN_POINT('',(0.0,0.0)); -#1182=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1152,#1175, - 'POWER_2','',$,#1182); -#1183=MAPPED_ITEM('tlistt',#14807,#1184); -#1184=AXIS2_PLACEMENT_2D('',#1185,$); -#1185=CARTESIAN_POINT('',(0.0,0.0)); -#1186=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1152,#1175, - 'POWER_3','',$,#1186); -#1187=MAPPED_ITEM('tlistt',#14807,#1188); -#1188=AXIS2_PLACEMENT_2D('',#1189,$); -#1189=CARTESIAN_POINT('',(0.0,0.0)); -#1190=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1152,#1175, - 'POWER_4','',$,#1190); -#1191=MAPPED_ITEM('tlistt',#14807,#1192); -#1192=AXIS2_PLACEMENT_2D('',#1193,$); -#1193=CARTESIAN_POINT('',(0.0,0.0)); -#1194=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1152,#1175, - 'POWER_5','',$,#1194); -#1195=MAPPED_ITEM('tlistt',#14807,#1196); -#1196=AXIS2_PLACEMENT_2D('',#1197,$); -#1197=CARTESIAN_POINT('',(0.0,0.0)); -#1198=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1152,#1175, - 'POWER_6','',$,#1198); -#1199=MAPPED_ITEM('tlistt',#14807,#1200); -#1200=AXIS2_PLACEMENT_2D('',#1201,$); -#1201=CARTESIAN_POINT('',(0.0,0.0)); -#1202=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1152,#1175, - 'POWER_7','',$,#1202); -#1203=MAPPED_ITEM('tlistt',#14807,#1204); -#1204=AXIS2_PLACEMENT_2D('',#1205,$); -#1205=CARTESIAN_POINT('',(0.0,0.0)); -#1206=CSG_PRIMITIVE_SOLID_2D('',#1208); -#1207=CARTESIAN_POINT('',(0.0,0.0)); -#1208=CIRCULAR_AREA('',#1207,0.0425); -#1209=PRODUCT('pad065c_039-SOLDER_MASK','template',$,(#14731)); -#1210=PRODUCT_DEFINITION_FORMATION('1',$,#1209); -#1211=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1210,#28,'',$,*); -#1212=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1222),#1213); -#1213=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1214=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1152, - #1211,'SOLDER_MASK_1','',$,#1214); -#1215=MAPPED_ITEM('tlistt',#14829,#1216); -#1216=AXIS2_PLACEMENT_2D('',#1217,$); -#1217=CARTESIAN_POINT('',(0.0,0.0)); -#1218=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1152, - #1211,'SOLDER_MASK_2','',$,#1218); -#1219=MAPPED_ITEM('tlistt',#14829,#1220); -#1220=AXIS2_PLACEMENT_2D('',#1221,$); -#1221=CARTESIAN_POINT('',(0.0,0.0)); -#1222=CSG_PRIMITIVE_SOLID_2D('',#1224); -#1223=CARTESIAN_POINT('',(0.0,0.0)); -#1224=CIRCULAR_AREA('',#1223,0.0375); -#1225=PRODUCT('pad065c_039-SIGNAL','template',$,(#14731)); -#1226=PRODUCT_DEFINITION_FORMATION('1',$,#1225); -#1227=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1226,#28,'',$,*); -#1228=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1279),#1229); -#1229=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1230=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1227,.T.); -#1231=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1152,#1227, - 'SIGNAL_1','',$,#1231); -#1232=MAPPED_ITEM('tlistt',#14836,#1233); -#1233=AXIS2_PLACEMENT_2D('',#1234,$); -#1234=CARTESIAN_POINT('',(0.0,0.0)); -#1235=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1152,#1227, - 'SIGNAL_2','',$,#1235); -#1236=MAPPED_ITEM('tlistt',#14836,#1237); -#1237=AXIS2_PLACEMENT_2D('',#1238,$); -#1238=CARTESIAN_POINT('',(0.0,0.0)); -#1239=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1152,#1227, - 'SIGNAL_3','',$,#1239); -#1240=MAPPED_ITEM('tlistt',#14836,#1241); -#1241=AXIS2_PLACEMENT_2D('',#1242,$); -#1242=CARTESIAN_POINT('',(0.0,0.0)); -#1243=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1152,#1227, - 'SIGNAL_4','',$,#1243); -#1244=MAPPED_ITEM('tlistt',#14836,#1245); -#1245=AXIS2_PLACEMENT_2D('',#1246,$); -#1246=CARTESIAN_POINT('',(0.0,0.0)); -#1247=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1152,#1227, - 'SIGNAL_5','',$,#1247); -#1248=MAPPED_ITEM('tlistt',#14836,#1249); -#1249=AXIS2_PLACEMENT_2D('',#1250,$); -#1250=CARTESIAN_POINT('',(0.0,0.0)); -#1251=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1152,#1227, - 'SIGNAL_6','',$,#1251); -#1252=MAPPED_ITEM('tlistt',#14836,#1253); -#1253=AXIS2_PLACEMENT_2D('',#1254,$); -#1254=CARTESIAN_POINT('',(0.0,0.0)); -#1255=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1152,#1227, - 'SIGNAL_7','',$,#1255); -#1256=MAPPED_ITEM('tlistt',#14836,#1257); -#1257=AXIS2_PLACEMENT_2D('',#1258,$); -#1258=CARTESIAN_POINT('',(0.0,0.0)); -#1259=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1152,#1227, - 'SIGNAL_8','',$,#1259); -#1260=MAPPED_ITEM('tlistt',#14836,#1261); -#1261=AXIS2_PLACEMENT_2D('',#1262,$); -#1262=CARTESIAN_POINT('',(0.0,0.0)); -#1263=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1152,#1227, - 'SIGNAL_9','',$,#1263); -#1264=MAPPED_ITEM('tlistt',#14836,#1265); -#1265=AXIS2_PLACEMENT_2D('',#1266,$); -#1266=CARTESIAN_POINT('',(0.0,0.0)); -#1267=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1152, - #1227,'SIGNAL_10','',$,#1267); -#1268=MAPPED_ITEM('tlistt',#14836,#1269); -#1269=AXIS2_PLACEMENT_2D('',#1270,$); -#1270=CARTESIAN_POINT('',(0.0,0.0)); -#1271=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1152, - #1227,'SIGNAL_11','',$,#1271); -#1272=MAPPED_ITEM('tlistt',#14836,#1273); -#1273=AXIS2_PLACEMENT_2D('',#1274,$); -#1274=CARTESIAN_POINT('',(0.0,0.0)); -#1275=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1152, - #1227,'SIGNAL_12','',$,#1275); -#1276=MAPPED_ITEM('tlistt',#14836,#1277); -#1277=AXIS2_PLACEMENT_2D('',#1278,$); -#1278=CARTESIAN_POINT('',(0.0,0.0)); -#1279=CSG_PRIMITIVE_SOLID_2D('',#1281); -#1280=CARTESIAN_POINT('',(0.0,0.0)); -#1281=CIRCULAR_AREA('',#1280,0.0325); -#1282=PRODUCT('srx044y058-padstack','template',$,(#14731)); -#1283=PRODUCT_DEFINITION_FORMATION('1',$,#1282); -#1284=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PRODUCT_DEFINITION('1',$,#1283, - #28)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*) - STRATUM_STACK_DEPENDENT_TEMPLATE()STRUCTURED_TEMPLATE()); -#1285=SHAPE_REPRESENTATION('ppsm',(#26,#1293,#1308,#1325),#1286); -#1286=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1287=PRODUCT('srx044y058-SOLDER_MASK','template',$,(#14731)); -#1288=PRODUCT_DEFINITION_FORMATION('1',$,#1287); -#1289=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1288,#28,'',$,*); -#1290=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1296),#1291); -#1291=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1292=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK','tlist','is unknown',#1284, - #1289,'SOLDER_MASK','',$,#1292); -#1293=MAPPED_ITEM('tlistt',#14873,#1294); -#1294=AXIS2_PLACEMENT_2D('',#1295,$); -#1295=CARTESIAN_POINT('',(0.0,0.0)); -#1296=CSG_PRIMITIVE_SOLID_2D('',#1297); -#1297=POLYGONAL_AREA('',(#1298,#1299,#1300,#1301)); -#1298=CARTESIAN_POINT('',(-0.025,-0.032)); -#1299=CARTESIAN_POINT('',(0.025,-0.032)); -#1300=CARTESIAN_POINT('',(0.025,0.032)); -#1301=CARTESIAN_POINT('',(-0.025,0.032)); -#1302=PRODUCT('srx044y058-PASTE_MASK','template',$,(#14731)); -#1303=PRODUCT_DEFINITION_FORMATION('1',$,#1302); -#1304=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1303,#28,'',$,*); -#1305=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1311),#1306); -#1306=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1307=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK','tlist','is unknown',#1284, - #1304,'PASTE_MASK','',$,#1307); -#1308=MAPPED_ITEM('tlistt',#14877,#1309); -#1309=AXIS2_PLACEMENT_2D('',#1310,$); -#1310=CARTESIAN_POINT('',(0.0,0.0)); -#1311=CSG_PRIMITIVE_SOLID_2D('',#1312); -#1312=POLYGONAL_AREA('',(#1313,#1314,#1315,#1316)); -#1313=CARTESIAN_POINT('',(-0.022,-0.029)); -#1314=CARTESIAN_POINT('',(0.022,-0.029)); -#1315=CARTESIAN_POINT('',(0.022,0.029)); -#1316=CARTESIAN_POINT('',(-0.022,0.029)); -#1317=PRODUCT('srx044y058-PAD','template',$,(#14731)); -#1318=PRODUCT_DEFINITION_FORMATION('1',$,#1317); -#1319=DEFAULT_ATTACHMENT_SIZE_BASED_LAND_PHYSICAL_TEMPLATE('1','default attachment size based', - #1318,#28,'',$,*,'',$,*,.T.); -#1320=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1328),#1321); -#1321=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1322=LAND_TEMPLATE_TERMINAL('outside','interface terminal',#1319,.T.); -#1323=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1319,.T.); -#1324=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD','tlist','is unknown',#1284,#1319, - 'PAD','',$,#1324); -#1325=MAPPED_ITEM('tlistt',#10544,#1326); -#1326=AXIS2_PLACEMENT_2D('',#1327,$); -#1327=CARTESIAN_POINT('',(0.0,0.0)); -#1328=CSG_PRIMITIVE_SOLID_2D('',#1329); -#1329=POLYGONAL_AREA('',(#1330,#1331,#1332,#1333)); -#1330=CARTESIAN_POINT('',(-0.022,-0.029)); -#1331=CARTESIAN_POINT('',(0.022,-0.029)); -#1332=CARTESIAN_POINT('',(0.022,0.029)); -#1333=CARTESIAN_POINT('',(-0.022,0.029)); -#1334=PRODUCT('srx066y106-padstack','template',$,(#14731)); -#1335=PRODUCT_DEFINITION_FORMATION('1',$,#1334); -#1336=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PRODUCT_DEFINITION('1',$,#1335, - #28)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*) - STRATUM_STACK_DEPENDENT_TEMPLATE()STRUCTURED_TEMPLATE()); -#1337=SHAPE_REPRESENTATION('ppsm',(#26,#1345,#1360,#1377),#1338); -#1338=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1339=PRODUCT('srx066y106-SOLDER_MASK','template',$,(#14731)); -#1340=PRODUCT_DEFINITION_FORMATION('1',$,#1339); -#1341=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1340,#28,'',$,*); -#1342=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1348),#1343); -#1343=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1344=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK','tlist','is unknown',#1336, - #1341,'SOLDER_MASK','',$,#1344); -#1345=MAPPED_ITEM('tlistt',#14884,#1346); -#1346=AXIS2_PLACEMENT_2D('',#1347,$); -#1347=CARTESIAN_POINT('',(0.0,0.0)); -#1348=CSG_PRIMITIVE_SOLID_2D('',#1349); -#1349=POLYGONAL_AREA('',(#1350,#1351,#1352,#1353)); -#1350=CARTESIAN_POINT('',(-0.036,-0.056)); -#1351=CARTESIAN_POINT('',(0.036,-0.056)); -#1352=CARTESIAN_POINT('',(0.036,0.056)); -#1353=CARTESIAN_POINT('',(-0.036,0.056)); -#1354=PRODUCT('srx066y106-PASTE_MASK','template',$,(#14731)); -#1355=PRODUCT_DEFINITION_FORMATION('1',$,#1354); -#1356=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1355,#28,'',$,*); -#1357=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1363),#1358); -#1358=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1359=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK','tlist','is unknown',#1336, - #1356,'PASTE_MASK','',$,#1359); -#1360=MAPPED_ITEM('tlistt',#14888,#1361); -#1361=AXIS2_PLACEMENT_2D('',#1362,$); -#1362=CARTESIAN_POINT('',(0.0,0.0)); -#1363=CSG_PRIMITIVE_SOLID_2D('',#1364); -#1364=POLYGONAL_AREA('',(#1365,#1366,#1367,#1368)); -#1365=CARTESIAN_POINT('',(-0.033,-0.053)); -#1366=CARTESIAN_POINT('',(0.033,-0.053)); -#1367=CARTESIAN_POINT('',(0.033,0.053)); -#1368=CARTESIAN_POINT('',(-0.033,0.053)); -#1369=PRODUCT('srx066y106-PAD','template',$,(#14731)); -#1370=PRODUCT_DEFINITION_FORMATION('1',$,#1369); -#1371=DEFAULT_ATTACHMENT_SIZE_BASED_LAND_PHYSICAL_TEMPLATE('1','default attachment size based', - #1370,#28,'',$,*,'',$,*,.T.); -#1372=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1380),#1373); -#1373=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1374=LAND_TEMPLATE_TERMINAL('outside','interface terminal',#1371,.T.); -#1375=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1371,.T.); -#1376=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD','tlist','is unknown',#1336,#1371, - 'PAD','',$,#1376); -#1377=MAPPED_ITEM('tlistt',#10540,#1378); -#1378=AXIS2_PLACEMENT_2D('',#1379,$); -#1379=CARTESIAN_POINT('',(0.0,0.0)); -#1380=CSG_PRIMITIVE_SOLID_2D('',#1381); -#1381=POLYGONAL_AREA('',(#1382,#1383,#1384,#1385)); -#1382=CARTESIAN_POINT('',(-0.033,-0.053)); -#1383=CARTESIAN_POINT('',(0.033,-0.053)); -#1384=CARTESIAN_POINT('',(0.033,0.053)); -#1385=CARTESIAN_POINT('',(-0.033,0.053)); -#1386=PRODUCT('pad075c_043-padstack','template',$,(#14731)); -#1387=PRODUCT_DEFINITION_FORMATION('1',$,#1386); -#1388=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1387,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1389=SHAPE_REPRESENTATION('ppsm',(#26,#1406,#1415,#1419,#1423,#1427,#1431,#1435, - #1439,#1451,#1455,#1468,#1472,#1476,#1480,#1484,#1488,#1492,#1496,#1500,#1504, - #1508,#1512),#1390); -#1390=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1391=PASSAGE_TECHNOLOGY('0.043 inches','default component termination passage definition', - '',$,*); -#1392=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.043),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#1393=REPRESENTATION('maximum tolerance',(#1392),#1394); -#1394=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1395=PRODUCT('pad075c_043-drill','template',$,(#14731)); -#1396=PRODUCT_DEFINITION_FORMATION('1',$,#1395); -#1397=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1396,#28,'',$,*); -#1398=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1397,.T.); -#1399=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1397,.T.); -#1400=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1402),#1401); -#1401=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1402=CSG_PRIMITIVE_SOLID_2D('',#1404); -#1403=CARTESIAN_POINT('',(0.0,0.0)); -#1404=CIRCULAR_AREA('',#1403,0.0215); -#1405=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1388,#1397,'drill'); -#1406=MAPPED_ITEM('tlistt',#14895,#1407); -#1407=AXIS2_PLACEMENT_2D('',#1408,$); -#1408=CARTESIAN_POINT('',(0.0,0.0)); -#1409=PRODUCT('pad075c_043-POWER','template',$,(#14731)); -#1410=PRODUCT_DEFINITION_FORMATION('1',$,#1409); -#1411=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1410,#28,'',$,*); -#1412=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1442),#1413); -#1413=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1414=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1388,#1411, - 'POWER_1','',$,#1414); -#1415=MAPPED_ITEM('tlistt',#14899,#1416); -#1416=AXIS2_PLACEMENT_2D('',#1417,$); -#1417=CARTESIAN_POINT('',(0.0,0.0)); -#1418=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1388,#1411, - 'POWER_2','',$,#1418); -#1419=MAPPED_ITEM('tlistt',#14899,#1420); -#1420=AXIS2_PLACEMENT_2D('',#1421,$); -#1421=CARTESIAN_POINT('',(0.0,0.0)); -#1422=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1388,#1411, - 'POWER_3','',$,#1422); -#1423=MAPPED_ITEM('tlistt',#14899,#1424); -#1424=AXIS2_PLACEMENT_2D('',#1425,$); -#1425=CARTESIAN_POINT('',(0.0,0.0)); -#1426=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1388,#1411, - 'POWER_4','',$,#1426); -#1427=MAPPED_ITEM('tlistt',#14899,#1428); -#1428=AXIS2_PLACEMENT_2D('',#1429,$); -#1429=CARTESIAN_POINT('',(0.0,0.0)); -#1430=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1388,#1411, - 'POWER_5','',$,#1430); -#1431=MAPPED_ITEM('tlistt',#14899,#1432); -#1432=AXIS2_PLACEMENT_2D('',#1433,$); -#1433=CARTESIAN_POINT('',(0.0,0.0)); -#1434=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1388,#1411, - 'POWER_6','',$,#1434); -#1435=MAPPED_ITEM('tlistt',#14899,#1436); -#1436=AXIS2_PLACEMENT_2D('',#1437,$); -#1437=CARTESIAN_POINT('',(0.0,0.0)); -#1438=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1388,#1411, - 'POWER_7','',$,#1438); -#1439=MAPPED_ITEM('tlistt',#14899,#1440); -#1440=AXIS2_PLACEMENT_2D('',#1441,$); -#1441=CARTESIAN_POINT('',(0.0,0.0)); -#1442=CSG_PRIMITIVE_SOLID_2D('',#1444); -#1443=CARTESIAN_POINT('',(0.0,0.0)); -#1444=CIRCULAR_AREA('',#1443,0.0475); -#1445=PRODUCT('pad075c_043-SOLDER_MASK','template',$,(#14731)); -#1446=PRODUCT_DEFINITION_FORMATION('1',$,#1445); -#1447=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1446,#28,'',$,*); -#1448=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1458),#1449); -#1449=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1450=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1388, - #1447,'SOLDER_MASK_1','',$,#1450); -#1451=MAPPED_ITEM('tlistt',#14921,#1452); -#1452=AXIS2_PLACEMENT_2D('',#1453,$); -#1453=CARTESIAN_POINT('',(0.0,0.0)); -#1454=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1388, - #1447,'SOLDER_MASK_2','',$,#1454); -#1455=MAPPED_ITEM('tlistt',#14921,#1456); -#1456=AXIS2_PLACEMENT_2D('',#1457,$); -#1457=CARTESIAN_POINT('',(0.0,0.0)); -#1458=CSG_PRIMITIVE_SOLID_2D('',#1460); -#1459=CARTESIAN_POINT('',(0.0,0.0)); -#1460=CIRCULAR_AREA('',#1459,0.0425); -#1461=PRODUCT('pad075c_043-SIGNAL','template',$,(#14731)); -#1462=PRODUCT_DEFINITION_FORMATION('1',$,#1461); -#1463=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1462,#28,'',$,*); -#1464=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1515),#1465); -#1465=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1466=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1463,.T.); -#1467=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1388,#1463, - 'SIGNAL_1','',$,#1467); -#1468=MAPPED_ITEM('tlistt',#14928,#1469); -#1469=AXIS2_PLACEMENT_2D('',#1470,$); -#1470=CARTESIAN_POINT('',(0.0,0.0)); -#1471=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1388,#1463, - 'SIGNAL_2','',$,#1471); -#1472=MAPPED_ITEM('tlistt',#14928,#1473); -#1473=AXIS2_PLACEMENT_2D('',#1474,$); -#1474=CARTESIAN_POINT('',(0.0,0.0)); -#1475=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1388,#1463, - 'SIGNAL_3','',$,#1475); -#1476=MAPPED_ITEM('tlistt',#14928,#1477); -#1477=AXIS2_PLACEMENT_2D('',#1478,$); -#1478=CARTESIAN_POINT('',(0.0,0.0)); -#1479=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1388,#1463, - 'SIGNAL_4','',$,#1479); -#1480=MAPPED_ITEM('tlistt',#14928,#1481); -#1481=AXIS2_PLACEMENT_2D('',#1482,$); -#1482=CARTESIAN_POINT('',(0.0,0.0)); -#1483=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1388,#1463, - 'SIGNAL_5','',$,#1483); -#1484=MAPPED_ITEM('tlistt',#14928,#1485); -#1485=AXIS2_PLACEMENT_2D('',#1486,$); -#1486=CARTESIAN_POINT('',(0.0,0.0)); -#1487=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1388,#1463, - 'SIGNAL_6','',$,#1487); -#1488=MAPPED_ITEM('tlistt',#14928,#1489); -#1489=AXIS2_PLACEMENT_2D('',#1490,$); -#1490=CARTESIAN_POINT('',(0.0,0.0)); -#1491=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1388,#1463, - 'SIGNAL_7','',$,#1491); -#1492=MAPPED_ITEM('tlistt',#14928,#1493); -#1493=AXIS2_PLACEMENT_2D('',#1494,$); -#1494=CARTESIAN_POINT('',(0.0,0.0)); -#1495=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1388,#1463, - 'SIGNAL_8','',$,#1495); -#1496=MAPPED_ITEM('tlistt',#14928,#1497); -#1497=AXIS2_PLACEMENT_2D('',#1498,$); -#1498=CARTESIAN_POINT('',(0.0,0.0)); -#1499=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1388,#1463, - 'SIGNAL_9','',$,#1499); -#1500=MAPPED_ITEM('tlistt',#14928,#1501); -#1501=AXIS2_PLACEMENT_2D('',#1502,$); -#1502=CARTESIAN_POINT('',(0.0,0.0)); -#1503=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1388, - #1463,'SIGNAL_10','',$,#1503); -#1504=MAPPED_ITEM('tlistt',#14928,#1505); -#1505=AXIS2_PLACEMENT_2D('',#1506,$); -#1506=CARTESIAN_POINT('',(0.0,0.0)); -#1507=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1388, - #1463,'SIGNAL_11','',$,#1507); -#1508=MAPPED_ITEM('tlistt',#14928,#1509); -#1509=AXIS2_PLACEMENT_2D('',#1510,$); -#1510=CARTESIAN_POINT('',(0.0,0.0)); -#1511=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1388, - #1463,'SIGNAL_12','',$,#1511); -#1512=MAPPED_ITEM('tlistt',#14928,#1513); -#1513=AXIS2_PLACEMENT_2D('',#1514,$); -#1514=CARTESIAN_POINT('',(0.0,0.0)); -#1515=CSG_PRIMITIVE_SOLID_2D('',#1517); -#1516=CARTESIAN_POINT('',(0.0,0.0)); -#1517=CIRCULAR_AREA('',#1516,0.0375); -#1518=PRODUCT('pad065s_039-padstack','template',$,(#14731)); -#1519=PRODUCT_DEFINITION_FORMATION('1',$,#1518); -#1520=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1519,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1521=SHAPE_REPRESENTATION('ppsm',(#26,#1534,#1543,#1558,#1573,#1577,#1581,#1585, - #1589,#1593,#1597,#1610,#1614,#1618,#1622,#1626,#1630,#1634,#1638,#1642,#1646, - #1650,#1654),#1522); -#1522=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1523=PRODUCT('pad065s_039-drill','template',$,(#14731)); -#1524=PRODUCT_DEFINITION_FORMATION('1',$,#1523); -#1525=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1524,#28,'',$,*); -#1526=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1525,.T.); -#1527=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1525,.T.); -#1528=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1530),#1529); -#1529=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1530=CSG_PRIMITIVE_SOLID_2D('',#1532); -#1531=CARTESIAN_POINT('',(0.0,0.0)); -#1532=CIRCULAR_AREA('',#1531,0.0195); -#1533=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1520,#1525,'drill'); -#1534=MAPPED_ITEM('tlistt',#14965,#1535); -#1535=AXIS2_PLACEMENT_2D('',#1536,$); -#1536=CARTESIAN_POINT('',(0.0,0.0)); -#1537=PRODUCT('pad065s_039-SOLDER_MASK_1','template',$,(#14731)); -#1538=PRODUCT_DEFINITION_FORMATION('1',$,#1537); -#1539=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1538,#28,'',$,*); -#1540=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1546),#1541); -#1541=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1542=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1520, - #1539,'SOLDER_MASK_1','',$,#1542); -#1543=MAPPED_ITEM('tlistt',#14969,#1544); -#1544=AXIS2_PLACEMENT_2D('',#1545,$); -#1545=CARTESIAN_POINT('',(0.0,0.0)); -#1546=CSG_PRIMITIVE_SOLID_2D('',#1547); -#1547=POLYGONAL_AREA('',(#1548,#1549,#1550,#1551)); -#1548=CARTESIAN_POINT('',(-0.0375,-0.0375)); -#1549=CARTESIAN_POINT('',(0.0375,-0.0375)); -#1550=CARTESIAN_POINT('',(0.0375,0.0375)); -#1551=CARTESIAN_POINT('',(-0.0375,0.0375)); -#1552=PRODUCT('pad065s_039-SOLDER_MASK_2','template',$,(#14731)); -#1553=PRODUCT_DEFINITION_FORMATION('1',$,#1552); -#1554=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1553,#28,'',$,*); -#1555=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1561),#1556); -#1556=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1557=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1520, - #1554,'SOLDER_MASK_2','',$,#1557); -#1558=MAPPED_ITEM('tlistt',#14973,#1559); -#1559=AXIS2_PLACEMENT_2D('',#1560,$); -#1560=CARTESIAN_POINT('',(0.0,0.0)); -#1561=CSG_PRIMITIVE_SOLID_2D('',#1562); -#1562=POLYGONAL_AREA('',(#1563,#1564,#1565,#1566)); -#1563=CARTESIAN_POINT('',(-0.0375,-0.0375)); -#1564=CARTESIAN_POINT('',(0.0375,-0.0375)); -#1565=CARTESIAN_POINT('',(0.0375,0.0375)); -#1566=CARTESIAN_POINT('',(-0.0375,0.0375)); -#1567=PRODUCT('pad065s_039-POWER','template',$,(#14731)); -#1568=PRODUCT_DEFINITION_FORMATION('1',$,#1567); -#1569=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1568,#28,'',$,*); -#1570=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1600),#1571); -#1571=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1572=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1520,#1569, - 'POWER_1','',$,#1572); -#1573=MAPPED_ITEM('tlistt',#14977,#1574); -#1574=AXIS2_PLACEMENT_2D('',#1575,$); -#1575=CARTESIAN_POINT('',(0.0,0.0)); -#1576=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1520,#1569, - 'POWER_2','',$,#1576); -#1577=MAPPED_ITEM('tlistt',#14977,#1578); -#1578=AXIS2_PLACEMENT_2D('',#1579,$); -#1579=CARTESIAN_POINT('',(0.0,0.0)); -#1580=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1520,#1569, - 'POWER_3','',$,#1580); -#1581=MAPPED_ITEM('tlistt',#14977,#1582); -#1582=AXIS2_PLACEMENT_2D('',#1583,$); -#1583=CARTESIAN_POINT('',(0.0,0.0)); -#1584=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1520,#1569, - 'POWER_4','',$,#1584); -#1585=MAPPED_ITEM('tlistt',#14977,#1586); -#1586=AXIS2_PLACEMENT_2D('',#1587,$); -#1587=CARTESIAN_POINT('',(0.0,0.0)); -#1588=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1520,#1569, - 'POWER_5','',$,#1588); -#1589=MAPPED_ITEM('tlistt',#14977,#1590); -#1590=AXIS2_PLACEMENT_2D('',#1591,$); -#1591=CARTESIAN_POINT('',(0.0,0.0)); -#1592=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1520,#1569, - 'POWER_6','',$,#1592); -#1593=MAPPED_ITEM('tlistt',#14977,#1594); -#1594=AXIS2_PLACEMENT_2D('',#1595,$); -#1595=CARTESIAN_POINT('',(0.0,0.0)); -#1596=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1520,#1569, - 'POWER_7','',$,#1596); -#1597=MAPPED_ITEM('tlistt',#14977,#1598); -#1598=AXIS2_PLACEMENT_2D('',#1599,$); -#1599=CARTESIAN_POINT('',(0.0,0.0)); -#1600=CSG_PRIMITIVE_SOLID_2D('',#1602); -#1601=CARTESIAN_POINT('',(0.0,0.0)); -#1602=CIRCULAR_AREA('',#1601,0.0425); -#1603=PRODUCT('pad065s_039-SIGNAL','template',$,(#14731)); -#1604=PRODUCT_DEFINITION_FORMATION('1',$,#1603); -#1605=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1604,#28,'',$,*); -#1606=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1657),#1607); -#1607=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1608=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1605,.T.); -#1609=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1520,#1605, - 'SIGNAL_1','',$,#1609); -#1610=MAPPED_ITEM('tlistt',#14999,#1611); -#1611=AXIS2_PLACEMENT_2D('',#1612,$); -#1612=CARTESIAN_POINT('',(0.0,0.0)); -#1613=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1520,#1605, - 'SIGNAL_2','',$,#1613); -#1614=MAPPED_ITEM('tlistt',#14999,#1615); -#1615=AXIS2_PLACEMENT_2D('',#1616,$); -#1616=CARTESIAN_POINT('',(0.0,0.0)); -#1617=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1520,#1605, - 'SIGNAL_3','',$,#1617); -#1618=MAPPED_ITEM('tlistt',#14999,#1619); -#1619=AXIS2_PLACEMENT_2D('',#1620,$); -#1620=CARTESIAN_POINT('',(0.0,0.0)); -#1621=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1520,#1605, - 'SIGNAL_4','',$,#1621); -#1622=MAPPED_ITEM('tlistt',#14999,#1623); -#1623=AXIS2_PLACEMENT_2D('',#1624,$); -#1624=CARTESIAN_POINT('',(0.0,0.0)); -#1625=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1520,#1605, - 'SIGNAL_5','',$,#1625); -#1626=MAPPED_ITEM('tlistt',#14999,#1627); -#1627=AXIS2_PLACEMENT_2D('',#1628,$); -#1628=CARTESIAN_POINT('',(0.0,0.0)); -#1629=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1520,#1605, - 'SIGNAL_6','',$,#1629); -#1630=MAPPED_ITEM('tlistt',#14999,#1631); -#1631=AXIS2_PLACEMENT_2D('',#1632,$); -#1632=CARTESIAN_POINT('',(0.0,0.0)); -#1633=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1520,#1605, - 'SIGNAL_7','',$,#1633); -#1634=MAPPED_ITEM('tlistt',#14999,#1635); -#1635=AXIS2_PLACEMENT_2D('',#1636,$); -#1636=CARTESIAN_POINT('',(0.0,0.0)); -#1637=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1520,#1605, - 'SIGNAL_8','',$,#1637); -#1638=MAPPED_ITEM('tlistt',#14999,#1639); -#1639=AXIS2_PLACEMENT_2D('',#1640,$); -#1640=CARTESIAN_POINT('',(0.0,0.0)); -#1641=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1520,#1605, - 'SIGNAL_9','',$,#1641); -#1642=MAPPED_ITEM('tlistt',#14999,#1643); -#1643=AXIS2_PLACEMENT_2D('',#1644,$); -#1644=CARTESIAN_POINT('',(0.0,0.0)); -#1645=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1520, - #1605,'SIGNAL_10','',$,#1645); -#1646=MAPPED_ITEM('tlistt',#14999,#1647); -#1647=AXIS2_PLACEMENT_2D('',#1648,$); -#1648=CARTESIAN_POINT('',(0.0,0.0)); -#1649=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1520, - #1605,'SIGNAL_11','',$,#1649); -#1650=MAPPED_ITEM('tlistt',#14999,#1651); -#1651=AXIS2_PLACEMENT_2D('',#1652,$); -#1652=CARTESIAN_POINT('',(0.0,0.0)); -#1653=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1520, - #1605,'SIGNAL_12','',$,#1653); -#1654=MAPPED_ITEM('tlistt',#14999,#1655); -#1655=AXIS2_PLACEMENT_2D('',#1656,$); -#1656=CARTESIAN_POINT('',(0.0,0.0)); -#1657=CSG_PRIMITIVE_SOLID_2D('',#1659); -#1658=CARTESIAN_POINT('',(0.0,0.0)); -#1659=CIRCULAR_AREA('',#1658,0.0325); -#1660=PRODUCT('p055-padstack','template',$,(#14731)); -#1661=PRODUCT_DEFINITION_FORMATION('1',$,#1660); -#1662=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1661,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1663=SHAPE_REPRESENTATION('ppsm',(#26,#1680,#1689,#1701,#1713,#1717,#1721,#1725, - #1729,#1733,#1737,#1750,#1754,#1758,#1762,#1766,#1770,#1774,#1778,#1782,#1786, - #1790,#1794),#1664); -#1664=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1665=PASSAGE_TECHNOLOGY('0.055 inches','default component termination passage definition', - '',$,*); -#1666=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.055),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#1667=REPRESENTATION('maximum tolerance',(#1666),#1668); -#1668=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1669=PRODUCT('p055-drill','template',$,(#14731)); -#1670=PRODUCT_DEFINITION_FORMATION('1',$,#1669); -#1671=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1670,#28,'',$,*); -#1672=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1671,.T.); -#1673=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1671,.T.); -#1674=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1676),#1675); -#1675=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1676=CSG_PRIMITIVE_SOLID_2D('',#1678); -#1677=CARTESIAN_POINT('',(0.0,0.0)); -#1678=CIRCULAR_AREA('',#1677,0.0275); -#1679=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1662,#1671,'drill'); -#1680=MAPPED_ITEM('tlistt',#10545,#1681); -#1681=AXIS2_PLACEMENT_2D('',#1682,$); -#1682=CARTESIAN_POINT('',(0.0,0.0)); -#1683=PRODUCT('p055-SOLDER_MASK_1','template',$,(#14731)); -#1684=PRODUCT_DEFINITION_FORMATION('1',$,#1683); -#1685=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1684,#28,'',$,*); -#1686=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1692),#1687); -#1687=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1688=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1662, - #1685,'SOLDER_MASK_1','',$,#1688); -#1689=MAPPED_ITEM('tlistt',#15039,#1690); -#1690=AXIS2_PLACEMENT_2D('',#1691,$); -#1691=CARTESIAN_POINT('',(0.0,0.0)); -#1692=CSG_PRIMITIVE_SOLID_2D('',#1694); -#1693=CARTESIAN_POINT('',(0.0,0.0)); -#1694=CIRCULAR_AREA('',#1693,0.0405); -#1695=PRODUCT('p055-SOLDER_MASK_2','template',$,(#14731)); -#1696=PRODUCT_DEFINITION_FORMATION('1',$,#1695); -#1697=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1696,#28,'',$,*); -#1698=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1704),#1699); -#1699=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1700=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1662, - #1697,'SOLDER_MASK_2','',$,#1700); -#1701=MAPPED_ITEM('tlistt',#15043,#1702); -#1702=AXIS2_PLACEMENT_2D('',#1703,$); -#1703=CARTESIAN_POINT('',(0.0,0.0)); -#1704=CSG_PRIMITIVE_SOLID_2D('',#1706); -#1705=CARTESIAN_POINT('',(0.0,0.0)); -#1706=CIRCULAR_AREA('',#1705,0.0405); -#1707=PRODUCT('p055-POWER','template',$,(#14731)); -#1708=PRODUCT_DEFINITION_FORMATION('1',$,#1707); -#1709=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1708,#28,'',$,*); -#1710=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1740),#1711); -#1711=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1712=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1662,#1709, - 'POWER_1','',$,#1712); -#1713=MAPPED_ITEM('tlistt',#15047,#1714); -#1714=AXIS2_PLACEMENT_2D('',#1715,$); -#1715=CARTESIAN_POINT('',(0.0,0.0)); -#1716=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1662,#1709, - 'POWER_2','',$,#1716); -#1717=MAPPED_ITEM('tlistt',#15047,#1718); -#1718=AXIS2_PLACEMENT_2D('',#1719,$); -#1719=CARTESIAN_POINT('',(0.0,0.0)); -#1720=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1662,#1709, - 'POWER_3','',$,#1720); -#1721=MAPPED_ITEM('tlistt',#15047,#1722); -#1722=AXIS2_PLACEMENT_2D('',#1723,$); -#1723=CARTESIAN_POINT('',(0.0,0.0)); -#1724=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1662,#1709, - 'POWER_4','',$,#1724); -#1725=MAPPED_ITEM('tlistt',#15047,#1726); -#1726=AXIS2_PLACEMENT_2D('',#1727,$); -#1727=CARTESIAN_POINT('',(0.0,0.0)); -#1728=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1662,#1709, - 'POWER_5','',$,#1728); -#1729=MAPPED_ITEM('tlistt',#15047,#1730); -#1730=AXIS2_PLACEMENT_2D('',#1731,$); -#1731=CARTESIAN_POINT('',(0.0,0.0)); -#1732=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1662,#1709, - 'POWER_6','',$,#1732); -#1733=MAPPED_ITEM('tlistt',#15047,#1734); -#1734=AXIS2_PLACEMENT_2D('',#1735,$); -#1735=CARTESIAN_POINT('',(0.0,0.0)); -#1736=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1662,#1709, - 'POWER_7','',$,#1736); -#1737=MAPPED_ITEM('tlistt',#15047,#1738); -#1738=AXIS2_PLACEMENT_2D('',#1739,$); -#1739=CARTESIAN_POINT('',(0.0,0.0)); -#1740=CSG_PRIMITIVE_SOLID_2D('',#1742); -#1741=CARTESIAN_POINT('',(0.0,0.0)); -#1742=CIRCULAR_AREA('',#1741,0.0475); -#1743=PRODUCT('p055-SIGNAL','template',$,(#14731)); -#1744=PRODUCT_DEFINITION_FORMATION('1',$,#1743); -#1745=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1744,#28,'',$,*); -#1746=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1797),#1747); -#1747=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1748=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1745,.T.); -#1749=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1662,#1745, - 'SIGNAL_1','',$,#1749); -#1750=MAPPED_ITEM('tlistt',#15069,#1751); -#1751=AXIS2_PLACEMENT_2D('',#1752,$); -#1752=CARTESIAN_POINT('',(0.0,0.0)); -#1753=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1662,#1745, - 'SIGNAL_2','',$,#1753); -#1754=MAPPED_ITEM('tlistt',#15069,#1755); -#1755=AXIS2_PLACEMENT_2D('',#1756,$); -#1756=CARTESIAN_POINT('',(0.0,0.0)); -#1757=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1662,#1745, - 'SIGNAL_3','',$,#1757); -#1758=MAPPED_ITEM('tlistt',#15069,#1759); -#1759=AXIS2_PLACEMENT_2D('',#1760,$); -#1760=CARTESIAN_POINT('',(0.0,0.0)); -#1761=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1662,#1745, - 'SIGNAL_4','',$,#1761); -#1762=MAPPED_ITEM('tlistt',#15069,#1763); -#1763=AXIS2_PLACEMENT_2D('',#1764,$); -#1764=CARTESIAN_POINT('',(0.0,0.0)); -#1765=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1662,#1745, - 'SIGNAL_5','',$,#1765); -#1766=MAPPED_ITEM('tlistt',#15069,#1767); -#1767=AXIS2_PLACEMENT_2D('',#1768,$); -#1768=CARTESIAN_POINT('',(0.0,0.0)); -#1769=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1662,#1745, - 'SIGNAL_6','',$,#1769); -#1770=MAPPED_ITEM('tlistt',#15069,#1771); -#1771=AXIS2_PLACEMENT_2D('',#1772,$); -#1772=CARTESIAN_POINT('',(0.0,0.0)); -#1773=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1662,#1745, - 'SIGNAL_7','',$,#1773); -#1774=MAPPED_ITEM('tlistt',#15069,#1775); -#1775=AXIS2_PLACEMENT_2D('',#1776,$); -#1776=CARTESIAN_POINT('',(0.0,0.0)); -#1777=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1662,#1745, - 'SIGNAL_8','',$,#1777); -#1778=MAPPED_ITEM('tlistt',#15069,#1779); -#1779=AXIS2_PLACEMENT_2D('',#1780,$); -#1780=CARTESIAN_POINT('',(0.0,0.0)); -#1781=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1662,#1745, - 'SIGNAL_9','',$,#1781); -#1782=MAPPED_ITEM('tlistt',#15069,#1783); -#1783=AXIS2_PLACEMENT_2D('',#1784,$); -#1784=CARTESIAN_POINT('',(0.0,0.0)); -#1785=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1662, - #1745,'SIGNAL_10','',$,#1785); -#1786=MAPPED_ITEM('tlistt',#15069,#1787); -#1787=AXIS2_PLACEMENT_2D('',#1788,$); -#1788=CARTESIAN_POINT('',(0.0,0.0)); -#1789=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1662, - #1745,'SIGNAL_11','',$,#1789); -#1790=MAPPED_ITEM('tlistt',#15069,#1791); -#1791=AXIS2_PLACEMENT_2D('',#1792,$); -#1792=CARTESIAN_POINT('',(0.0,0.0)); -#1793=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1662, - #1745,'SIGNAL_12','',$,#1793); -#1794=MAPPED_ITEM('tlistt',#15069,#1795); -#1795=AXIS2_PLACEMENT_2D('',#1796,$); -#1796=CARTESIAN_POINT('',(0.0,0.0)); -#1797=CSG_PRIMITIVE_SOLID_2D('',#1799); -#1798=CARTESIAN_POINT('',(0.0,0.0)); -#1799=CIRCULAR_AREA('',#1798,0.0375); -#1800=PRODUCT('p086-padstack','template',$,(#14731)); -#1801=PRODUCT_DEFINITION_FORMATION('1',$,#1800); -#1802=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1801,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1803=SHAPE_REPRESENTATION('ppsm',(#26,#1820,#1829,#1841,#1853,#1857,#1861,#1865, - #1869,#1873,#1877,#1890,#1894,#1898,#1902,#1906,#1910,#1914,#1918,#1922,#1926, - #1930,#1934),#1804); -#1804=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1805=PASSAGE_TECHNOLOGY('0.086 inches','default component termination passage definition', - '',$,*); -#1806=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.086),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#1807=REPRESENTATION('maximum tolerance',(#1806),#1808); -#1808=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1809=PRODUCT('p086-drill','template',$,(#14731)); -#1810=PRODUCT_DEFINITION_FORMATION('1',$,#1809); -#1811=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1810,#28,'',$,*); -#1812=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1811,.T.); -#1813=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1811,.T.); -#1814=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1816),#1815); -#1815=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1816=CSG_PRIMITIVE_SOLID_2D('',#1818); -#1817=CARTESIAN_POINT('',(0.0,0.0)); -#1818=CIRCULAR_AREA('',#1817,0.043); -#1819=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1802,#1811,'drill'); -#1820=MAPPED_ITEM('tlistt',#15106,#1821); -#1821=AXIS2_PLACEMENT_2D('',#1822,$); -#1822=CARTESIAN_POINT('',(0.0,0.0)); -#1823=PRODUCT('p086-SOLDER_MASK_1','template',$,(#14731)); -#1824=PRODUCT_DEFINITION_FORMATION('1',$,#1823); -#1825=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1824,#28,'',$,*); -#1826=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1832),#1827); -#1827=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1828=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1802, - #1825,'SOLDER_MASK_1','',$,#1828); -#1829=MAPPED_ITEM('tlistt',#15110,#1830); -#1830=AXIS2_PLACEMENT_2D('',#1831,$); -#1831=CARTESIAN_POINT('',(0.0,0.0)); -#1832=CSG_PRIMITIVE_SOLID_2D('',#1834); -#1833=CARTESIAN_POINT('',(0.0,0.0)); -#1834=CIRCULAR_AREA('',#1833,0.0655); -#1835=PRODUCT('p086-SOLDER_MASK_2','template',$,(#14731)); -#1836=PRODUCT_DEFINITION_FORMATION('1',$,#1835); -#1837=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1836,#28,'',$,*); -#1838=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1844),#1839); -#1839=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1840=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1802, - #1837,'SOLDER_MASK_2','',$,#1840); -#1841=MAPPED_ITEM('tlistt',#15114,#1842); -#1842=AXIS2_PLACEMENT_2D('',#1843,$); -#1843=CARTESIAN_POINT('',(0.0,0.0)); -#1844=CSG_PRIMITIVE_SOLID_2D('',#1846); -#1845=CARTESIAN_POINT('',(0.0,0.0)); -#1846=CIRCULAR_AREA('',#1845,0.0655); -#1847=PRODUCT('p086-POWER','template',$,(#14731)); -#1848=PRODUCT_DEFINITION_FORMATION('1',$,#1847); -#1849=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1848,#28,'',$,*); -#1850=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1880),#1851); -#1851=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1852=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1802,#1849, - 'POWER_1','',$,#1852); -#1853=MAPPED_ITEM('tlistt',#15118,#1854); -#1854=AXIS2_PLACEMENT_2D('',#1855,$); -#1855=CARTESIAN_POINT('',(0.0,0.0)); -#1856=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1802,#1849, - 'POWER_2','',$,#1856); -#1857=MAPPED_ITEM('tlistt',#15118,#1858); -#1858=AXIS2_PLACEMENT_2D('',#1859,$); -#1859=CARTESIAN_POINT('',(0.0,0.0)); -#1860=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1802,#1849, - 'POWER_3','',$,#1860); -#1861=MAPPED_ITEM('tlistt',#15118,#1862); -#1862=AXIS2_PLACEMENT_2D('',#1863,$); -#1863=CARTESIAN_POINT('',(0.0,0.0)); -#1864=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1802,#1849, - 'POWER_4','',$,#1864); -#1865=MAPPED_ITEM('tlistt',#15118,#1866); -#1866=AXIS2_PLACEMENT_2D('',#1867,$); -#1867=CARTESIAN_POINT('',(0.0,0.0)); -#1868=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1802,#1849, - 'POWER_5','',$,#1868); -#1869=MAPPED_ITEM('tlistt',#15118,#1870); -#1870=AXIS2_PLACEMENT_2D('',#1871,$); -#1871=CARTESIAN_POINT('',(0.0,0.0)); -#1872=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1802,#1849, - 'POWER_6','',$,#1872); -#1873=MAPPED_ITEM('tlistt',#15118,#1874); -#1874=AXIS2_PLACEMENT_2D('',#1875,$); -#1875=CARTESIAN_POINT('',(0.0,0.0)); -#1876=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1802,#1849, - 'POWER_7','',$,#1876); -#1877=MAPPED_ITEM('tlistt',#15118,#1878); -#1878=AXIS2_PLACEMENT_2D('',#1879,$); -#1879=CARTESIAN_POINT('',(0.0,0.0)); -#1880=CSG_PRIMITIVE_SOLID_2D('',#1882); -#1881=CARTESIAN_POINT('',(0.0,0.0)); -#1882=CIRCULAR_AREA('',#1881,0.0725); -#1883=PRODUCT('p086-SIGNAL','template',$,(#14731)); -#1884=PRODUCT_DEFINITION_FORMATION('1',$,#1883); -#1885=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #1884,#28,'',$,*); -#1886=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1937),#1887); -#1887=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1888=LAND_TEMPLATE_TERMINAL('inside','join terminal',#1885,.T.); -#1889=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1802,#1885, - 'SIGNAL_1','',$,#1889); -#1890=MAPPED_ITEM('tlistt',#15140,#1891); -#1891=AXIS2_PLACEMENT_2D('',#1892,$); -#1892=CARTESIAN_POINT('',(0.0,0.0)); -#1893=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1802,#1885, - 'SIGNAL_2','',$,#1893); -#1894=MAPPED_ITEM('tlistt',#15140,#1895); -#1895=AXIS2_PLACEMENT_2D('',#1896,$); -#1896=CARTESIAN_POINT('',(0.0,0.0)); -#1897=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1802,#1885, - 'SIGNAL_3','',$,#1897); -#1898=MAPPED_ITEM('tlistt',#15140,#1899); -#1899=AXIS2_PLACEMENT_2D('',#1900,$); -#1900=CARTESIAN_POINT('',(0.0,0.0)); -#1901=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1802,#1885, - 'SIGNAL_4','',$,#1901); -#1902=MAPPED_ITEM('tlistt',#15140,#1903); -#1903=AXIS2_PLACEMENT_2D('',#1904,$); -#1904=CARTESIAN_POINT('',(0.0,0.0)); -#1905=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1802,#1885, - 'SIGNAL_5','',$,#1905); -#1906=MAPPED_ITEM('tlistt',#15140,#1907); -#1907=AXIS2_PLACEMENT_2D('',#1908,$); -#1908=CARTESIAN_POINT('',(0.0,0.0)); -#1909=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1802,#1885, - 'SIGNAL_6','',$,#1909); -#1910=MAPPED_ITEM('tlistt',#15140,#1911); -#1911=AXIS2_PLACEMENT_2D('',#1912,$); -#1912=CARTESIAN_POINT('',(0.0,0.0)); -#1913=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1802,#1885, - 'SIGNAL_7','',$,#1913); -#1914=MAPPED_ITEM('tlistt',#15140,#1915); -#1915=AXIS2_PLACEMENT_2D('',#1916,$); -#1916=CARTESIAN_POINT('',(0.0,0.0)); -#1917=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1802,#1885, - 'SIGNAL_8','',$,#1917); -#1918=MAPPED_ITEM('tlistt',#15140,#1919); -#1919=AXIS2_PLACEMENT_2D('',#1920,$); -#1920=CARTESIAN_POINT('',(0.0,0.0)); -#1921=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1802,#1885, - 'SIGNAL_9','',$,#1921); -#1922=MAPPED_ITEM('tlistt',#15140,#1923); -#1923=AXIS2_PLACEMENT_2D('',#1924,$); -#1924=CARTESIAN_POINT('',(0.0,0.0)); -#1925=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1802, - #1885,'SIGNAL_10','',$,#1925); -#1926=MAPPED_ITEM('tlistt',#15140,#1927); -#1927=AXIS2_PLACEMENT_2D('',#1928,$); -#1928=CARTESIAN_POINT('',(0.0,0.0)); -#1929=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1802, - #1885,'SIGNAL_11','',$,#1929); -#1930=MAPPED_ITEM('tlistt',#15140,#1931); -#1931=AXIS2_PLACEMENT_2D('',#1932,$); -#1932=CARTESIAN_POINT('',(0.0,0.0)); -#1933=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1802, - #1885,'SIGNAL_12','',$,#1933); -#1934=MAPPED_ITEM('tlistt',#15140,#1935); -#1935=AXIS2_PLACEMENT_2D('',#1936,$); -#1936=CARTESIAN_POINT('',(0.0,0.0)); -#1937=CSG_PRIMITIVE_SOLID_2D('',#1939); -#1938=CARTESIAN_POINT('',(0.0,0.0)); -#1939=CIRCULAR_AREA('',#1938,0.0625); -#1940=PRODUCT('pad070c_039-padstack','template',$,(#14731)); -#1941=PRODUCT_DEFINITION_FORMATION('1',$,#1940); -#1942=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#1941,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#1943=SHAPE_REPRESENTATION('ppsm',(#26,#1956,#1965,#1969,#1973,#1977,#1981,#1985, - #1989,#2001,#2005,#2018,#2022,#2026,#2030,#2034,#2038,#2042,#2046,#2050,#2054, - #2058,#2062),#1944); -#1944=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1945=PRODUCT('pad070c_039-drill','template',$,(#14731)); -#1946=PRODUCT_DEFINITION_FORMATION('1',$,#1945); -#1947=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#1946,#28,'',$,*); -#1948=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #1947,.T.); -#1949=SHAPE_ASPECT('inside','component termination passage template join terminal', - #1947,.T.); -#1950=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1952),#1951); -#1951=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1952=CSG_PRIMITIVE_SOLID_2D('',#1954); -#1953=CARTESIAN_POINT('',(0.0,0.0)); -#1954=CIRCULAR_AREA('',#1953,0.0195); -#1955=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#1942,#1947,'drill'); -#1956=MAPPED_ITEM('tlistt',#15177,#1957); -#1957=AXIS2_PLACEMENT_2D('',#1958,$); -#1958=CARTESIAN_POINT('',(0.0,0.0)); -#1959=PRODUCT('pad070c_039-POWER','template',$,(#14731)); -#1960=PRODUCT_DEFINITION_FORMATION('1',$,#1959); -#1961=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#1960,#28,'',$,*); -#1962=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#1992),#1963); -#1963=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#1964=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#1942,#1961, - 'POWER_1','',$,#1964); -#1965=MAPPED_ITEM('tlistt',#15181,#1966); -#1966=AXIS2_PLACEMENT_2D('',#1967,$); -#1967=CARTESIAN_POINT('',(0.0,0.0)); -#1968=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#1942,#1961, - 'POWER_2','',$,#1968); -#1969=MAPPED_ITEM('tlistt',#15181,#1970); -#1970=AXIS2_PLACEMENT_2D('',#1971,$); -#1971=CARTESIAN_POINT('',(0.0,0.0)); -#1972=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#1942,#1961, - 'POWER_3','',$,#1972); -#1973=MAPPED_ITEM('tlistt',#15181,#1974); -#1974=AXIS2_PLACEMENT_2D('',#1975,$); -#1975=CARTESIAN_POINT('',(0.0,0.0)); -#1976=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#1942,#1961, - 'POWER_4','',$,#1976); -#1977=MAPPED_ITEM('tlistt',#15181,#1978); -#1978=AXIS2_PLACEMENT_2D('',#1979,$); -#1979=CARTESIAN_POINT('',(0.0,0.0)); -#1980=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#1942,#1961, - 'POWER_5','',$,#1980); -#1981=MAPPED_ITEM('tlistt',#15181,#1982); -#1982=AXIS2_PLACEMENT_2D('',#1983,$); -#1983=CARTESIAN_POINT('',(0.0,0.0)); -#1984=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#1942,#1961, - 'POWER_6','',$,#1984); -#1985=MAPPED_ITEM('tlistt',#15181,#1986); -#1986=AXIS2_PLACEMENT_2D('',#1987,$); -#1987=CARTESIAN_POINT('',(0.0,0.0)); -#1988=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#1942,#1961, - 'POWER_7','',$,#1988); -#1989=MAPPED_ITEM('tlistt',#15181,#1990); -#1990=AXIS2_PLACEMENT_2D('',#1991,$); -#1991=CARTESIAN_POINT('',(0.0,0.0)); -#1992=CSG_PRIMITIVE_SOLID_2D('',#1994); -#1993=CARTESIAN_POINT('',(0.0,0.0)); -#1994=CIRCULAR_AREA('',#1993,0.045); -#1995=PRODUCT('pad070c_039-SOLDER_MASK','template',$,(#14731)); -#1996=PRODUCT_DEFINITION_FORMATION('1',$,#1995); -#1997=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#1996,#28,'',$,*); -#1998=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2008),#1999); -#1999=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2000=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#1942, - #1997,'SOLDER_MASK_1','',$,#2000); -#2001=MAPPED_ITEM('tlistt',#15203,#2002); -#2002=AXIS2_PLACEMENT_2D('',#2003,$); -#2003=CARTESIAN_POINT('',(0.0,0.0)); -#2004=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#1942, - #1997,'SOLDER_MASK_2','',$,#2004); -#2005=MAPPED_ITEM('tlistt',#15203,#2006); -#2006=AXIS2_PLACEMENT_2D('',#2007,$); -#2007=CARTESIAN_POINT('',(0.0,0.0)); -#2008=CSG_PRIMITIVE_SOLID_2D('',#2010); -#2009=CARTESIAN_POINT('',(0.0,0.0)); -#2010=CIRCULAR_AREA('',#2009,0.04); -#2011=PRODUCT('pad070c_039-SIGNAL','template',$,(#14731)); -#2012=PRODUCT_DEFINITION_FORMATION('1',$,#2011); -#2013=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2012,#28,'',$,*); -#2014=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2065),#2015); -#2015=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2016=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2013,.T.); -#2017=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#1942,#2013, - 'SIGNAL_1','',$,#2017); -#2018=MAPPED_ITEM('tlistt',#15210,#2019); -#2019=AXIS2_PLACEMENT_2D('',#2020,$); -#2020=CARTESIAN_POINT('',(0.0,0.0)); -#2021=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#1942,#2013, - 'SIGNAL_2','',$,#2021); -#2022=MAPPED_ITEM('tlistt',#15210,#2023); -#2023=AXIS2_PLACEMENT_2D('',#2024,$); -#2024=CARTESIAN_POINT('',(0.0,0.0)); -#2025=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#1942,#2013, - 'SIGNAL_3','',$,#2025); -#2026=MAPPED_ITEM('tlistt',#15210,#2027); -#2027=AXIS2_PLACEMENT_2D('',#2028,$); -#2028=CARTESIAN_POINT('',(0.0,0.0)); -#2029=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#1942,#2013, - 'SIGNAL_4','',$,#2029); -#2030=MAPPED_ITEM('tlistt',#15210,#2031); -#2031=AXIS2_PLACEMENT_2D('',#2032,$); -#2032=CARTESIAN_POINT('',(0.0,0.0)); -#2033=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#1942,#2013, - 'SIGNAL_5','',$,#2033); -#2034=MAPPED_ITEM('tlistt',#15210,#2035); -#2035=AXIS2_PLACEMENT_2D('',#2036,$); -#2036=CARTESIAN_POINT('',(0.0,0.0)); -#2037=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#1942,#2013, - 'SIGNAL_6','',$,#2037); -#2038=MAPPED_ITEM('tlistt',#15210,#2039); -#2039=AXIS2_PLACEMENT_2D('',#2040,$); -#2040=CARTESIAN_POINT('',(0.0,0.0)); -#2041=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#1942,#2013, - 'SIGNAL_7','',$,#2041); -#2042=MAPPED_ITEM('tlistt',#15210,#2043); -#2043=AXIS2_PLACEMENT_2D('',#2044,$); -#2044=CARTESIAN_POINT('',(0.0,0.0)); -#2045=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#1942,#2013, - 'SIGNAL_8','',$,#2045); -#2046=MAPPED_ITEM('tlistt',#15210,#2047); -#2047=AXIS2_PLACEMENT_2D('',#2048,$); -#2048=CARTESIAN_POINT('',(0.0,0.0)); -#2049=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#1942,#2013, - 'SIGNAL_9','',$,#2049); -#2050=MAPPED_ITEM('tlistt',#15210,#2051); -#2051=AXIS2_PLACEMENT_2D('',#2052,$); -#2052=CARTESIAN_POINT('',(0.0,0.0)); -#2053=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#1942, - #2013,'SIGNAL_10','',$,#2053); -#2054=MAPPED_ITEM('tlistt',#15210,#2055); -#2055=AXIS2_PLACEMENT_2D('',#2056,$); -#2056=CARTESIAN_POINT('',(0.0,0.0)); -#2057=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#1942, - #2013,'SIGNAL_11','',$,#2057); -#2058=MAPPED_ITEM('tlistt',#15210,#2059); -#2059=AXIS2_PLACEMENT_2D('',#2060,$); -#2060=CARTESIAN_POINT('',(0.0,0.0)); -#2061=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#1942, - #2013,'SIGNAL_12','',$,#2061); -#2062=MAPPED_ITEM('tlistt',#15210,#2063); -#2063=AXIS2_PLACEMENT_2D('',#2064,$); -#2064=CARTESIAN_POINT('',(0.0,0.0)); -#2065=CSG_PRIMITIVE_SOLID_2D('',#2067); -#2066=CARTESIAN_POINT('',(0.0,0.0)); -#2067=CIRCULAR_AREA('',#2066,0.035); -#2068=PRODUCT('pad070s_039-padstack','template',$,(#14731)); -#2069=PRODUCT_DEFINITION_FORMATION('1',$,#2068); -#2070=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#2069,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2071=SHAPE_REPRESENTATION('ppsm',(#26,#2084,#2093,#2108,#2123,#2127,#2131,#2135, - #2139,#2143,#2147,#2160,#2164,#2168,#2172,#2176,#2180,#2184,#2188,#2192,#2196, - #2200,#2204),#2072); -#2072=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2073=PRODUCT('pad070s_039-drill','template',$,(#14731)); -#2074=PRODUCT_DEFINITION_FORMATION('1',$,#2073); -#2075=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#2074,#28,'',$,*); -#2076=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #2075,.T.); -#2077=SHAPE_ASPECT('inside','component termination passage template join terminal', - #2075,.T.); -#2078=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2080),#2079); -#2079=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2080=CSG_PRIMITIVE_SOLID_2D('',#2082); -#2081=CARTESIAN_POINT('',(0.0,0.0)); -#2082=CIRCULAR_AREA('',#2081,0.0195); -#2083=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#2070,#2075,'drill'); -#2084=MAPPED_ITEM('tlistt',#15247,#2085); -#2085=AXIS2_PLACEMENT_2D('',#2086,$); -#2086=CARTESIAN_POINT('',(0.0,0.0)); -#2087=PRODUCT('pad070s_039-SOLDER_MASK_1','template',$,(#14731)); -#2088=PRODUCT_DEFINITION_FORMATION('1',$,#2087); -#2089=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2088,#28,'',$,*); -#2090=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2096),#2091); -#2091=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2092=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#2070, - #2089,'SOLDER_MASK_1','',$,#2092); -#2093=MAPPED_ITEM('tlistt',#15251,#2094); -#2094=AXIS2_PLACEMENT_2D('',#2095,$); -#2095=CARTESIAN_POINT('',(0.0,0.0)); -#2096=CSG_PRIMITIVE_SOLID_2D('',#2097); -#2097=POLYGONAL_AREA('',(#2098,#2099,#2100,#2101)); -#2098=CARTESIAN_POINT('',(-0.04,-0.04)); -#2099=CARTESIAN_POINT('',(0.04,-0.04)); -#2100=CARTESIAN_POINT('',(0.04,0.04)); -#2101=CARTESIAN_POINT('',(-0.04,0.04)); -#2102=PRODUCT('pad070s_039-SOLDER_MASK_2','template',$,(#14731)); -#2103=PRODUCT_DEFINITION_FORMATION('1',$,#2102); -#2104=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2103,#28,'',$,*); -#2105=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2111),#2106); -#2106=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2107=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#2070, - #2104,'SOLDER_MASK_2','',$,#2107); -#2108=MAPPED_ITEM('tlistt',#15255,#2109); -#2109=AXIS2_PLACEMENT_2D('',#2110,$); -#2110=CARTESIAN_POINT('',(0.0,0.0)); -#2111=CSG_PRIMITIVE_SOLID_2D('',#2112); -#2112=POLYGONAL_AREA('',(#2113,#2114,#2115,#2116)); -#2113=CARTESIAN_POINT('',(-0.04,-0.04)); -#2114=CARTESIAN_POINT('',(0.04,-0.04)); -#2115=CARTESIAN_POINT('',(0.04,0.04)); -#2116=CARTESIAN_POINT('',(-0.04,0.04)); -#2117=PRODUCT('pad070s_039-POWER','template',$,(#14731)); -#2118=PRODUCT_DEFINITION_FORMATION('1',$,#2117); -#2119=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#2118,#28,'',$,*); -#2120=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2150),#2121); -#2121=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2122=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#2070,#2119, - 'POWER_1','',$,#2122); -#2123=MAPPED_ITEM('tlistt',#15259,#2124); -#2124=AXIS2_PLACEMENT_2D('',#2125,$); -#2125=CARTESIAN_POINT('',(0.0,0.0)); -#2126=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#2070,#2119, - 'POWER_2','',$,#2126); -#2127=MAPPED_ITEM('tlistt',#15259,#2128); -#2128=AXIS2_PLACEMENT_2D('',#2129,$); -#2129=CARTESIAN_POINT('',(0.0,0.0)); -#2130=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#2070,#2119, - 'POWER_3','',$,#2130); -#2131=MAPPED_ITEM('tlistt',#15259,#2132); -#2132=AXIS2_PLACEMENT_2D('',#2133,$); -#2133=CARTESIAN_POINT('',(0.0,0.0)); -#2134=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#2070,#2119, - 'POWER_4','',$,#2134); -#2135=MAPPED_ITEM('tlistt',#15259,#2136); -#2136=AXIS2_PLACEMENT_2D('',#2137,$); -#2137=CARTESIAN_POINT('',(0.0,0.0)); -#2138=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#2070,#2119, - 'POWER_5','',$,#2138); -#2139=MAPPED_ITEM('tlistt',#15259,#2140); -#2140=AXIS2_PLACEMENT_2D('',#2141,$); -#2141=CARTESIAN_POINT('',(0.0,0.0)); -#2142=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#2070,#2119, - 'POWER_6','',$,#2142); -#2143=MAPPED_ITEM('tlistt',#15259,#2144); -#2144=AXIS2_PLACEMENT_2D('',#2145,$); -#2145=CARTESIAN_POINT('',(0.0,0.0)); -#2146=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#2070,#2119, - 'POWER_7','',$,#2146); -#2147=MAPPED_ITEM('tlistt',#15259,#2148); -#2148=AXIS2_PLACEMENT_2D('',#2149,$); -#2149=CARTESIAN_POINT('',(0.0,0.0)); -#2150=CSG_PRIMITIVE_SOLID_2D('',#2152); -#2151=CARTESIAN_POINT('',(0.0,0.0)); -#2152=CIRCULAR_AREA('',#2151,0.045); -#2153=PRODUCT('pad070s_039-SIGNAL','template',$,(#14731)); -#2154=PRODUCT_DEFINITION_FORMATION('1',$,#2153); -#2155=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2154,#28,'',$,*); -#2156=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2207),#2157); -#2157=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2158=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2155,.T.); -#2159=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#2070,#2155, - 'SIGNAL_1','',$,#2159); -#2160=MAPPED_ITEM('tlistt',#15281,#2161); -#2161=AXIS2_PLACEMENT_2D('',#2162,$); -#2162=CARTESIAN_POINT('',(0.0,0.0)); -#2163=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#2070,#2155, - 'SIGNAL_2','',$,#2163); -#2164=MAPPED_ITEM('tlistt',#15281,#2165); -#2165=AXIS2_PLACEMENT_2D('',#2166,$); -#2166=CARTESIAN_POINT('',(0.0,0.0)); -#2167=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#2070,#2155, - 'SIGNAL_3','',$,#2167); -#2168=MAPPED_ITEM('tlistt',#15281,#2169); -#2169=AXIS2_PLACEMENT_2D('',#2170,$); -#2170=CARTESIAN_POINT('',(0.0,0.0)); -#2171=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#2070,#2155, - 'SIGNAL_4','',$,#2171); -#2172=MAPPED_ITEM('tlistt',#15281,#2173); -#2173=AXIS2_PLACEMENT_2D('',#2174,$); -#2174=CARTESIAN_POINT('',(0.0,0.0)); -#2175=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#2070,#2155, - 'SIGNAL_5','',$,#2175); -#2176=MAPPED_ITEM('tlistt',#15281,#2177); -#2177=AXIS2_PLACEMENT_2D('',#2178,$); -#2178=CARTESIAN_POINT('',(0.0,0.0)); -#2179=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#2070,#2155, - 'SIGNAL_6','',$,#2179); -#2180=MAPPED_ITEM('tlistt',#15281,#2181); -#2181=AXIS2_PLACEMENT_2D('',#2182,$); -#2182=CARTESIAN_POINT('',(0.0,0.0)); -#2183=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#2070,#2155, - 'SIGNAL_7','',$,#2183); -#2184=MAPPED_ITEM('tlistt',#15281,#2185); -#2185=AXIS2_PLACEMENT_2D('',#2186,$); -#2186=CARTESIAN_POINT('',(0.0,0.0)); -#2187=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#2070,#2155, - 'SIGNAL_8','',$,#2187); -#2188=MAPPED_ITEM('tlistt',#15281,#2189); -#2189=AXIS2_PLACEMENT_2D('',#2190,$); -#2190=CARTESIAN_POINT('',(0.0,0.0)); -#2191=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#2070,#2155, - 'SIGNAL_9','',$,#2191); -#2192=MAPPED_ITEM('tlistt',#15281,#2193); -#2193=AXIS2_PLACEMENT_2D('',#2194,$); -#2194=CARTESIAN_POINT('',(0.0,0.0)); -#2195=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#2070, - #2155,'SIGNAL_10','',$,#2195); -#2196=MAPPED_ITEM('tlistt',#15281,#2197); -#2197=AXIS2_PLACEMENT_2D('',#2198,$); -#2198=CARTESIAN_POINT('',(0.0,0.0)); -#2199=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#2070, - #2155,'SIGNAL_11','',$,#2199); -#2200=MAPPED_ITEM('tlistt',#15281,#2201); -#2201=AXIS2_PLACEMENT_2D('',#2202,$); -#2202=CARTESIAN_POINT('',(0.0,0.0)); -#2203=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#2070, - #2155,'SIGNAL_12','',$,#2203); -#2204=MAPPED_ITEM('tlistt',#15281,#2205); -#2205=AXIS2_PLACEMENT_2D('',#2206,$); -#2206=CARTESIAN_POINT('',(0.0,0.0)); -#2207=CSG_PRIMITIVE_SOLID_2D('',#2209); -#2208=CARTESIAN_POINT('',(0.0,0.0)); -#2209=CIRCULAR_AREA('',#2208,0.035); -#2210=PRODUCT('pad075s_043-padstack','template',$,(#14731)); -#2211=PRODUCT_DEFINITION_FORMATION('1',$,#2210); -#2212=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#2211,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2213=SHAPE_REPRESENTATION('ppsm',(#26,#2226,#2235,#2250,#2265,#2269,#2273,#2277, - #2281,#2285,#2289,#2302,#2306,#2310,#2314,#2318,#2322,#2326,#2330,#2334,#2338, - #2342,#2346),#2214); -#2214=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2215=PRODUCT('pad075s_043-drill','template',$,(#14731)); -#2216=PRODUCT_DEFINITION_FORMATION('1',$,#2215); -#2217=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#2216,#28,'',$,*); -#2218=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #2217,.T.); -#2219=SHAPE_ASPECT('inside','component termination passage template join terminal', - #2217,.T.); -#2220=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2222),#2221); -#2221=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2222=CSG_PRIMITIVE_SOLID_2D('',#2224); -#2223=CARTESIAN_POINT('',(0.0,0.0)); -#2224=CIRCULAR_AREA('',#2223,0.0215); -#2225=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#2212,#2217,'drill'); -#2226=MAPPED_ITEM('tlistt',#15318,#2227); -#2227=AXIS2_PLACEMENT_2D('',#2228,$); -#2228=CARTESIAN_POINT('',(0.0,0.0)); -#2229=PRODUCT('pad075s_043-SOLDER_MASK_1','template',$,(#14731)); -#2230=PRODUCT_DEFINITION_FORMATION('1',$,#2229); -#2231=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2230,#28,'',$,*); -#2232=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2238),#2233); -#2233=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2234=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#2212, - #2231,'SOLDER_MASK_1','',$,#2234); -#2235=MAPPED_ITEM('tlistt',#15322,#2236); -#2236=AXIS2_PLACEMENT_2D('',#2237,$); -#2237=CARTESIAN_POINT('',(0.0,0.0)); -#2238=CSG_PRIMITIVE_SOLID_2D('',#2239); -#2239=POLYGONAL_AREA('',(#2240,#2241,#2242,#2243)); -#2240=CARTESIAN_POINT('',(-0.0425,-0.0425)); -#2241=CARTESIAN_POINT('',(0.0425,-0.0425)); -#2242=CARTESIAN_POINT('',(0.0425,0.0425)); -#2243=CARTESIAN_POINT('',(-0.0425,0.0425)); -#2244=PRODUCT('pad075s_043-SOLDER_MASK_2','template',$,(#14731)); -#2245=PRODUCT_DEFINITION_FORMATION('1',$,#2244); -#2246=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2245,#28,'',$,*); -#2247=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2253),#2248); -#2248=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2249=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#2212, - #2246,'SOLDER_MASK_2','',$,#2249); -#2250=MAPPED_ITEM('tlistt',#15326,#2251); -#2251=AXIS2_PLACEMENT_2D('',#2252,$); -#2252=CARTESIAN_POINT('',(0.0,0.0)); -#2253=CSG_PRIMITIVE_SOLID_2D('',#2254); -#2254=POLYGONAL_AREA('',(#2255,#2256,#2257,#2258)); -#2255=CARTESIAN_POINT('',(-0.0425,-0.0425)); -#2256=CARTESIAN_POINT('',(0.0425,-0.0425)); -#2257=CARTESIAN_POINT('',(0.0425,0.0425)); -#2258=CARTESIAN_POINT('',(-0.0425,0.0425)); -#2259=PRODUCT('pad075s_043-POWER','template',$,(#14731)); -#2260=PRODUCT_DEFINITION_FORMATION('1',$,#2259); -#2261=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#2260,#28,'',$,*); -#2262=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2292),#2263); -#2263=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2264=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#2212,#2261, - 'POWER_1','',$,#2264); -#2265=MAPPED_ITEM('tlistt',#15330,#2266); -#2266=AXIS2_PLACEMENT_2D('',#2267,$); -#2267=CARTESIAN_POINT('',(0.0,0.0)); -#2268=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#2212,#2261, - 'POWER_2','',$,#2268); -#2269=MAPPED_ITEM('tlistt',#15330,#2270); -#2270=AXIS2_PLACEMENT_2D('',#2271,$); -#2271=CARTESIAN_POINT('',(0.0,0.0)); -#2272=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#2212,#2261, - 'POWER_3','',$,#2272); -#2273=MAPPED_ITEM('tlistt',#15330,#2274); -#2274=AXIS2_PLACEMENT_2D('',#2275,$); -#2275=CARTESIAN_POINT('',(0.0,0.0)); -#2276=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#2212,#2261, - 'POWER_4','',$,#2276); -#2277=MAPPED_ITEM('tlistt',#15330,#2278); -#2278=AXIS2_PLACEMENT_2D('',#2279,$); -#2279=CARTESIAN_POINT('',(0.0,0.0)); -#2280=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#2212,#2261, - 'POWER_5','',$,#2280); -#2281=MAPPED_ITEM('tlistt',#15330,#2282); -#2282=AXIS2_PLACEMENT_2D('',#2283,$); -#2283=CARTESIAN_POINT('',(0.0,0.0)); -#2284=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#2212,#2261, - 'POWER_6','',$,#2284); -#2285=MAPPED_ITEM('tlistt',#15330,#2286); -#2286=AXIS2_PLACEMENT_2D('',#2287,$); -#2287=CARTESIAN_POINT('',(0.0,0.0)); -#2288=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#2212,#2261, - 'POWER_7','',$,#2288); -#2289=MAPPED_ITEM('tlistt',#15330,#2290); -#2290=AXIS2_PLACEMENT_2D('',#2291,$); -#2291=CARTESIAN_POINT('',(0.0,0.0)); -#2292=CSG_PRIMITIVE_SOLID_2D('',#2294); -#2293=CARTESIAN_POINT('',(0.0,0.0)); -#2294=CIRCULAR_AREA('',#2293,0.0475); -#2295=PRODUCT('pad075s_043-SIGNAL','template',$,(#14731)); -#2296=PRODUCT_DEFINITION_FORMATION('1',$,#2295); -#2297=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2296,#28,'',$,*); -#2298=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2349),#2299); -#2299=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2300=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2297,.T.); -#2301=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#2212,#2297, - 'SIGNAL_1','',$,#2301); -#2302=MAPPED_ITEM('tlistt',#15352,#2303); -#2303=AXIS2_PLACEMENT_2D('',#2304,$); -#2304=CARTESIAN_POINT('',(0.0,0.0)); -#2305=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#2212,#2297, - 'SIGNAL_2','',$,#2305); -#2306=MAPPED_ITEM('tlistt',#15352,#2307); -#2307=AXIS2_PLACEMENT_2D('',#2308,$); -#2308=CARTESIAN_POINT('',(0.0,0.0)); -#2309=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#2212,#2297, - 'SIGNAL_3','',$,#2309); -#2310=MAPPED_ITEM('tlistt',#15352,#2311); -#2311=AXIS2_PLACEMENT_2D('',#2312,$); -#2312=CARTESIAN_POINT('',(0.0,0.0)); -#2313=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#2212,#2297, - 'SIGNAL_4','',$,#2313); -#2314=MAPPED_ITEM('tlistt',#15352,#2315); -#2315=AXIS2_PLACEMENT_2D('',#2316,$); -#2316=CARTESIAN_POINT('',(0.0,0.0)); -#2317=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#2212,#2297, - 'SIGNAL_5','',$,#2317); -#2318=MAPPED_ITEM('tlistt',#15352,#2319); -#2319=AXIS2_PLACEMENT_2D('',#2320,$); -#2320=CARTESIAN_POINT('',(0.0,0.0)); -#2321=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#2212,#2297, - 'SIGNAL_6','',$,#2321); -#2322=MAPPED_ITEM('tlistt',#15352,#2323); -#2323=AXIS2_PLACEMENT_2D('',#2324,$); -#2324=CARTESIAN_POINT('',(0.0,0.0)); -#2325=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#2212,#2297, - 'SIGNAL_7','',$,#2325); -#2326=MAPPED_ITEM('tlistt',#15352,#2327); -#2327=AXIS2_PLACEMENT_2D('',#2328,$); -#2328=CARTESIAN_POINT('',(0.0,0.0)); -#2329=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#2212,#2297, - 'SIGNAL_8','',$,#2329); -#2330=MAPPED_ITEM('tlistt',#15352,#2331); -#2331=AXIS2_PLACEMENT_2D('',#2332,$); -#2332=CARTESIAN_POINT('',(0.0,0.0)); -#2333=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#2212,#2297, - 'SIGNAL_9','',$,#2333); -#2334=MAPPED_ITEM('tlistt',#15352,#2335); -#2335=AXIS2_PLACEMENT_2D('',#2336,$); -#2336=CARTESIAN_POINT('',(0.0,0.0)); -#2337=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#2212, - #2297,'SIGNAL_10','',$,#2337); -#2338=MAPPED_ITEM('tlistt',#15352,#2339); -#2339=AXIS2_PLACEMENT_2D('',#2340,$); -#2340=CARTESIAN_POINT('',(0.0,0.0)); -#2341=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#2212, - #2297,'SIGNAL_11','',$,#2341); -#2342=MAPPED_ITEM('tlistt',#15352,#2343); -#2343=AXIS2_PLACEMENT_2D('',#2344,$); -#2344=CARTESIAN_POINT('',(0.0,0.0)); -#2345=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#2212, - #2297,'SIGNAL_12','',$,#2345); -#2346=MAPPED_ITEM('tlistt',#15352,#2347); -#2347=AXIS2_PLACEMENT_2D('',#2348,$); -#2348=CARTESIAN_POINT('',(0.0,0.0)); -#2349=CSG_PRIMITIVE_SOLID_2D('',#2351); -#2350=CARTESIAN_POINT('',(0.0,0.0)); -#2351=CIRCULAR_AREA('',#2350,0.0375); -#2352=PRODUCT('pad080s_047-padstack','template',$,(#14731)); -#2353=PRODUCT_DEFINITION_FORMATION('1',$,#2352); -#2354=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#2353,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2355=SHAPE_REPRESENTATION('ppsm',(#26,#2368,#2377,#2392,#2407,#2411,#2415,#2419, - #2423,#2427,#2431,#2444,#2448,#2452,#2456,#2460,#2464,#2468,#2472,#2476,#2480, - #2484,#2488),#2356); -#2356=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2357=PRODUCT('pad080s_047-drill','template',$,(#14731)); -#2358=PRODUCT_DEFINITION_FORMATION('1',$,#2357); -#2359=COMPONENT_TERMINATION_PASSAGE_TEMPLATE('1',$,#2358,#28,'',$,*); -#2360=SHAPE_ASPECT('outside','component termination passage template interface terminal', - #2359,.T.); -#2361=SHAPE_ASPECT('inside','component termination passage template join terminal', - #2359,.T.); -#2362=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2364),#2363); -#2363=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2364=CSG_PRIMITIVE_SOLID_2D('',#2366); -#2365=CARTESIAN_POINT('',(0.0,0.0)); -#2366=CIRCULAR_AREA('',#2365,0.0235); -#2367=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#2354,#2359,'drill'); -#2368=MAPPED_ITEM('tlistt',#15389,#2369); -#2369=AXIS2_PLACEMENT_2D('',#2370,$); -#2370=CARTESIAN_POINT('',(0.0,0.0)); -#2371=PRODUCT('pad080s_047-SOLDER_MASK_1','template',$,(#14731)); -#2372=PRODUCT_DEFINITION_FORMATION('1',$,#2371); -#2373=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2372,#28,'',$,*); -#2374=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2380),#2375); -#2375=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2376=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#2354, - #2373,'SOLDER_MASK_1','',$,#2376); -#2377=MAPPED_ITEM('tlistt',#15393,#2378); -#2378=AXIS2_PLACEMENT_2D('',#2379,$); -#2379=CARTESIAN_POINT('',(0.0,0.0)); -#2380=CSG_PRIMITIVE_SOLID_2D('',#2381); -#2381=POLYGONAL_AREA('',(#2382,#2383,#2384,#2385)); -#2382=CARTESIAN_POINT('',(-0.045,-0.045)); -#2383=CARTESIAN_POINT('',(0.045,-0.045)); -#2384=CARTESIAN_POINT('',(0.045,0.045)); -#2385=CARTESIAN_POINT('',(-0.045,0.045)); -#2386=PRODUCT('pad080s_047-SOLDER_MASK_2','template',$,(#14731)); -#2387=PRODUCT_DEFINITION_FORMATION('1',$,#2386); -#2388=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2387,#28,'',$,*); -#2389=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2395),#2390); -#2390=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2391=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#2354, - #2388,'SOLDER_MASK_2','',$,#2391); -#2392=MAPPED_ITEM('tlistt',#15397,#2393); -#2393=AXIS2_PLACEMENT_2D('',#2394,$); -#2394=CARTESIAN_POINT('',(0.0,0.0)); -#2395=CSG_PRIMITIVE_SOLID_2D('',#2396); -#2396=POLYGONAL_AREA('',(#2397,#2398,#2399,#2400)); -#2397=CARTESIAN_POINT('',(-0.045,-0.045)); -#2398=CARTESIAN_POINT('',(0.045,-0.045)); -#2399=CARTESIAN_POINT('',(0.045,0.045)); -#2400=CARTESIAN_POINT('',(-0.045,0.045)); -#2401=PRODUCT('pad080s_047-POWER','template',$,(#14731)); -#2402=PRODUCT_DEFINITION_FORMATION('1',$,#2401); -#2403=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#2402,#28,'',$,*); -#2404=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2434),#2405); -#2405=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2406=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#2354,#2403, - 'POWER_1','',$,#2406); -#2407=MAPPED_ITEM('tlistt',#15401,#2408); -#2408=AXIS2_PLACEMENT_2D('',#2409,$); -#2409=CARTESIAN_POINT('',(0.0,0.0)); -#2410=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#2354,#2403, - 'POWER_2','',$,#2410); -#2411=MAPPED_ITEM('tlistt',#15401,#2412); -#2412=AXIS2_PLACEMENT_2D('',#2413,$); -#2413=CARTESIAN_POINT('',(0.0,0.0)); -#2414=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#2354,#2403, - 'POWER_3','',$,#2414); -#2415=MAPPED_ITEM('tlistt',#15401,#2416); -#2416=AXIS2_PLACEMENT_2D('',#2417,$); -#2417=CARTESIAN_POINT('',(0.0,0.0)); -#2418=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#2354,#2403, - 'POWER_4','',$,#2418); -#2419=MAPPED_ITEM('tlistt',#15401,#2420); -#2420=AXIS2_PLACEMENT_2D('',#2421,$); -#2421=CARTESIAN_POINT('',(0.0,0.0)); -#2422=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#2354,#2403, - 'POWER_5','',$,#2422); -#2423=MAPPED_ITEM('tlistt',#15401,#2424); -#2424=AXIS2_PLACEMENT_2D('',#2425,$); -#2425=CARTESIAN_POINT('',(0.0,0.0)); -#2426=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#2354,#2403, - 'POWER_6','',$,#2426); -#2427=MAPPED_ITEM('tlistt',#15401,#2428); -#2428=AXIS2_PLACEMENT_2D('',#2429,$); -#2429=CARTESIAN_POINT('',(0.0,0.0)); -#2430=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#2354,#2403, - 'POWER_7','',$,#2430); -#2431=MAPPED_ITEM('tlistt',#15401,#2432); -#2432=AXIS2_PLACEMENT_2D('',#2433,$); -#2433=CARTESIAN_POINT('',(0.0,0.0)); -#2434=CSG_PRIMITIVE_SOLID_2D('',#2436); -#2435=CARTESIAN_POINT('',(0.0,0.0)); -#2436=CIRCULAR_AREA('',#2435,0.05); -#2437=PRODUCT('pad080s_047-SIGNAL','template',$,(#14731)); -#2438=PRODUCT_DEFINITION_FORMATION('1',$,#2437); -#2439=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2438,#28,'',$,*); -#2440=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2491),#2441); -#2441=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2442=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2439,.T.); -#2443=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#2354,#2439, - 'SIGNAL_1','',$,#2443); -#2444=MAPPED_ITEM('tlistt',#15423,#2445); -#2445=AXIS2_PLACEMENT_2D('',#2446,$); -#2446=CARTESIAN_POINT('',(0.0,0.0)); -#2447=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#2354,#2439, - 'SIGNAL_2','',$,#2447); -#2448=MAPPED_ITEM('tlistt',#15423,#2449); -#2449=AXIS2_PLACEMENT_2D('',#2450,$); -#2450=CARTESIAN_POINT('',(0.0,0.0)); -#2451=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#2354,#2439, - 'SIGNAL_3','',$,#2451); -#2452=MAPPED_ITEM('tlistt',#15423,#2453); -#2453=AXIS2_PLACEMENT_2D('',#2454,$); -#2454=CARTESIAN_POINT('',(0.0,0.0)); -#2455=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#2354,#2439, - 'SIGNAL_4','',$,#2455); -#2456=MAPPED_ITEM('tlistt',#15423,#2457); -#2457=AXIS2_PLACEMENT_2D('',#2458,$); -#2458=CARTESIAN_POINT('',(0.0,0.0)); -#2459=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#2354,#2439, - 'SIGNAL_5','',$,#2459); -#2460=MAPPED_ITEM('tlistt',#15423,#2461); -#2461=AXIS2_PLACEMENT_2D('',#2462,$); -#2462=CARTESIAN_POINT('',(0.0,0.0)); -#2463=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#2354,#2439, - 'SIGNAL_6','',$,#2463); -#2464=MAPPED_ITEM('tlistt',#15423,#2465); -#2465=AXIS2_PLACEMENT_2D('',#2466,$); -#2466=CARTESIAN_POINT('',(0.0,0.0)); -#2467=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#2354,#2439, - 'SIGNAL_7','',$,#2467); -#2468=MAPPED_ITEM('tlistt',#15423,#2469); -#2469=AXIS2_PLACEMENT_2D('',#2470,$); -#2470=CARTESIAN_POINT('',(0.0,0.0)); -#2471=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#2354,#2439, - 'SIGNAL_8','',$,#2471); -#2472=MAPPED_ITEM('tlistt',#15423,#2473); -#2473=AXIS2_PLACEMENT_2D('',#2474,$); -#2474=CARTESIAN_POINT('',(0.0,0.0)); -#2475=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#2354,#2439, - 'SIGNAL_9','',$,#2475); -#2476=MAPPED_ITEM('tlistt',#15423,#2477); -#2477=AXIS2_PLACEMENT_2D('',#2478,$); -#2478=CARTESIAN_POINT('',(0.0,0.0)); -#2479=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#2354, - #2439,'SIGNAL_10','',$,#2479); -#2480=MAPPED_ITEM('tlistt',#15423,#2481); -#2481=AXIS2_PLACEMENT_2D('',#2482,$); -#2482=CARTESIAN_POINT('',(0.0,0.0)); -#2483=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#2354, - #2439,'SIGNAL_11','',$,#2483); -#2484=MAPPED_ITEM('tlistt',#15423,#2485); -#2485=AXIS2_PLACEMENT_2D('',#2486,$); -#2486=CARTESIAN_POINT('',(0.0,0.0)); -#2487=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#2354, - #2439,'SIGNAL_12','',$,#2487); -#2488=MAPPED_ITEM('tlistt',#15423,#2489); -#2489=AXIS2_PLACEMENT_2D('',#2490,$); -#2490=CARTESIAN_POINT('',(0.0,0.0)); -#2491=CSG_PRIMITIVE_SOLID_2D('',#2493); -#2492=CARTESIAN_POINT('',(0.0,0.0)); -#2493=CIRCULAR_AREA('',#2492,0.04); -#2494=PRODUCT('srx032y036-padstack-TOP','template',$,(#14731)); -#2495=PRODUCT_DEFINITION_FORMATION('1',$,#2494); -#2496=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PRODUCT_DEFINITION('1',$,#2495, - #28)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*) - STRATUM_STACK_DEPENDENT_TEMPLATE()STRUCTURED_TEMPLATE()); -#2497=SHAPE_REPRESENTATION('ppsm',(#26,#2507,#2522,#2537),#2498); -#2498=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2499=PRODUCT('srx032y036-PAD_1','template',$,(#14731)); -#2500=PRODUCT_DEFINITION_FORMATION('1',$,#2499); -#2501=DEFAULT_ATTACHMENT_SIZE_BASED_LAND_PHYSICAL_TEMPLATE('1','default attachment size based', - #2500,#28,'',$,*,'',$,*,.T.); -#2502=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2510),#2503); -#2503=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2504=LAND_TEMPLATE_TERMINAL('outside','interface terminal',#2501,.T.); -#2505=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2501,.T.); -#2506=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#2496,#2501, - 'PAD_1','',$,#2506); -#2507=MAPPED_ITEM('tlistt',#10542,#2508); -#2508=AXIS2_PLACEMENT_2D('',#2509,$); -#2509=CARTESIAN_POINT('',(0.0,0.0)); -#2510=CSG_PRIMITIVE_SOLID_2D('',#2511); -#2511=POLYGONAL_AREA('',(#2512,#2513,#2514,#2515)); -#2512=CARTESIAN_POINT('',(-0.016,-0.018)); -#2513=CARTESIAN_POINT('',(0.016,-0.018)); -#2514=CARTESIAN_POINT('',(0.016,0.018)); -#2515=CARTESIAN_POINT('',(-0.016,0.018)); -#2516=PRODUCT('srx032y036-SOLDER_MASK','template',$,(#14731)); -#2517=PRODUCT_DEFINITION_FORMATION('1',$,#2516); -#2518=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2517,#28,'',$,*); -#2519=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2525),#2520); -#2520=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2521=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#2496, - #2518,'SOLDER_MASK_1','',$,#2521); -#2522=MAPPED_ITEM('tlistt',#15463,#2523); -#2523=AXIS2_PLACEMENT_2D('',#2524,$); -#2524=CARTESIAN_POINT('',(0.0,0.0)); -#2525=CSG_PRIMITIVE_SOLID_2D('',#2526); -#2526=POLYGONAL_AREA('',(#2527,#2528,#2529,#2530)); -#2527=CARTESIAN_POINT('',(-0.019,-0.021)); -#2528=CARTESIAN_POINT('',(0.019,-0.021)); -#2529=CARTESIAN_POINT('',(0.019,0.021)); -#2530=CARTESIAN_POINT('',(-0.019,0.021)); -#2531=PRODUCT('srx032y036-PASTE_MASK','template',$,(#14731)); -#2532=PRODUCT_DEFINITION_FORMATION('1',$,#2531); -#2533=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2532,#28,'',$,*); -#2534=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2540),#2535); -#2535=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2536=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1','tlist','is unknown',#2496, - #2533,'PASTE_MASK_1','',$,#2536); -#2537=MAPPED_ITEM('tlistt',#15467,#2538); -#2538=AXIS2_PLACEMENT_2D('',#2539,$); -#2539=CARTESIAN_POINT('',(0.0,0.0)); -#2540=CSG_PRIMITIVE_SOLID_2D('',#2541); -#2541=POLYGONAL_AREA('',(#2542,#2543,#2544,#2545)); -#2542=CARTESIAN_POINT('',(-0.016,-0.018)); -#2543=CARTESIAN_POINT('',(0.016,-0.018)); -#2544=CARTESIAN_POINT('',(0.016,0.018)); -#2545=CARTESIAN_POINT('',(-0.016,0.018)); -#2546=PRODUCT('srx032y036-padstack-BOTTOM','template',$,(#14731)); -#2547=PRODUCT_DEFINITION_FORMATION('1',$,#2546); -#2548=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PRODUCT_DEFINITION('1',$,#2547, - #28)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*) - STRATUM_STACK_DEPENDENT_TEMPLATE()STRUCTURED_TEMPLATE()); -#2549=SHAPE_REPRESENTATION('ppsm',(#26,#2559,#2571,#2583),#2550); -#2550=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2551=PRODUCT('srx032y036-PAD_2','template',$,(#14731)); -#2552=PRODUCT_DEFINITION_FORMATION('1',$,#2551); -#2553=DEFAULT_ATTACHMENT_SIZE_BASED_LAND_PHYSICAL_TEMPLATE('1','default attachment size based', - #2552,#28,'',$,*,'',$,*,.T.); -#2554=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2562),#2555); -#2555=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2556=LAND_TEMPLATE_TERMINAL('outside','interface terminal',#2553,.T.); -#2557=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2553,.T.); -#2558=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#2548,#2553, - 'PAD_2','',$,#2558); -#2559=MAPPED_ITEM('tlistt',#15471,#2560); -#2560=AXIS2_PLACEMENT_2D('',#2561,$); -#2561=CARTESIAN_POINT('',(0.0,0.0)); -#2562=CSG_PRIMITIVE_SOLID_2D('',#2563); -#2563=POLYGONAL_AREA('',(#2564,#2565,#2566,#2567)); -#2564=CARTESIAN_POINT('',(-0.016,-0.018)); -#2565=CARTESIAN_POINT('',(0.016,-0.018)); -#2566=CARTESIAN_POINT('',(0.016,0.018)); -#2567=CARTESIAN_POINT('',(-0.016,0.018)); -#2568=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2574),#2569); -#2569=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2570=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#2548, - #2518,'SOLDER_MASK_2','',$,#2570); -#2571=MAPPED_ITEM('tlistt',#15475,#2572); -#2572=AXIS2_PLACEMENT_2D('',#2573,$); -#2573=CARTESIAN_POINT('',(0.0,0.0)); -#2574=CSG_PRIMITIVE_SOLID_2D('',#2575); -#2575=POLYGONAL_AREA('',(#2576,#2577,#2578,#2579)); -#2576=CARTESIAN_POINT('',(-0.019,-0.021)); -#2577=CARTESIAN_POINT('',(0.019,-0.021)); -#2578=CARTESIAN_POINT('',(0.019,0.021)); -#2579=CARTESIAN_POINT('',(-0.019,0.021)); -#2580=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2586),#2581); -#2581=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2582=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2','tlist','is unknown',#2548, - #2533,'PASTE_MASK_2','',$,#2582); -#2583=MAPPED_ITEM('tlistt',#15479,#2584); -#2584=AXIS2_PLACEMENT_2D('',#2585,$); -#2585=CARTESIAN_POINT('',(0.0,0.0)); -#2586=CSG_PRIMITIVE_SOLID_2D('',#2587); -#2587=POLYGONAL_AREA('',(#2588,#2589,#2590,#2591)); -#2588=CARTESIAN_POINT('',(-0.016,-0.018)); -#2589=CARTESIAN_POINT('',(0.016,-0.018)); -#2590=CARTESIAN_POINT('',(0.016,0.018)); -#2591=CARTESIAN_POINT('',(-0.016,0.018)); -#2592=PRODUCT('srx040y130-padstack-TOP','template',$,(#14731)); -#2593=PRODUCT_DEFINITION_FORMATION('1',$,#2592); -#2594=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PRODUCT_DEFINITION('1',$,#2593, - #28)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*) - STRATUM_STACK_DEPENDENT_TEMPLATE()STRUCTURED_TEMPLATE()); -#2595=SHAPE_REPRESENTATION('ppsm',(#26,#2605,#2620,#2635),#2596); -#2596=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2597=PRODUCT('srx040y130-PAD_1','template',$,(#14731)); -#2598=PRODUCT_DEFINITION_FORMATION('1',$,#2597); -#2599=DEFAULT_ATTACHMENT_SIZE_BASED_LAND_PHYSICAL_TEMPLATE('1','default attachment size based', - #2598,#28,'',$,*,'',$,*,.T.); -#2600=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2608),#2601); -#2601=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2602=LAND_TEMPLATE_TERMINAL('outside','interface terminal',#2599,.T.); -#2603=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2599,.T.); -#2604=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#2594,#2599, - 'PAD_1','',$,#2604); -#2605=MAPPED_ITEM('tlistt',#15483,#2606); -#2606=AXIS2_PLACEMENT_2D('',#2607,$); -#2607=CARTESIAN_POINT('',(0.0,0.0)); -#2608=CSG_PRIMITIVE_SOLID_2D('',#2609); -#2609=POLYGONAL_AREA('',(#2610,#2611,#2612,#2613)); -#2610=CARTESIAN_POINT('',(-0.02,-0.065)); -#2611=CARTESIAN_POINT('',(0.02,-0.065)); -#2612=CARTESIAN_POINT('',(0.02,0.065)); -#2613=CARTESIAN_POINT('',(-0.02,0.065)); -#2614=PRODUCT('srx040y130-SOLDER_MASK','template',$,(#14731)); -#2615=PRODUCT_DEFINITION_FORMATION('1',$,#2614); -#2616=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2615,#28,'',$,*); -#2617=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2623),#2618); -#2618=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2619=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#2594, - #2616,'SOLDER_MASK_1','',$,#2619); -#2620=MAPPED_ITEM('tlistt',#15487,#2621); -#2621=AXIS2_PLACEMENT_2D('',#2622,$); -#2622=CARTESIAN_POINT('',(0.0,0.0)); -#2623=CSG_PRIMITIVE_SOLID_2D('',#2624); -#2624=POLYGONAL_AREA('',(#2625,#2626,#2627,#2628)); -#2625=CARTESIAN_POINT('',(-0.023,-0.068)); -#2626=CARTESIAN_POINT('',(0.023,-0.068)); -#2627=CARTESIAN_POINT('',(0.023,0.068)); -#2628=CARTESIAN_POINT('',(-0.023,0.068)); -#2629=PRODUCT('srx040y130-PASTE_MASK','template',$,(#14731)); -#2630=PRODUCT_DEFINITION_FORMATION('1',$,#2629); -#2631=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2630,#28,'',$,*); -#2632=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2638),#2633); -#2633=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2634=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1','tlist','is unknown',#2594, - #2631,'PASTE_MASK_1','',$,#2634); -#2635=MAPPED_ITEM('tlistt',#15491,#2636); -#2636=AXIS2_PLACEMENT_2D('',#2637,$); -#2637=CARTESIAN_POINT('',(0.0,0.0)); -#2638=CSG_PRIMITIVE_SOLID_2D('',#2639); -#2639=POLYGONAL_AREA('',(#2640,#2641,#2642,#2643)); -#2640=CARTESIAN_POINT('',(-0.02,-0.065)); -#2641=CARTESIAN_POINT('',(0.02,-0.065)); -#2642=CARTESIAN_POINT('',(0.02,0.065)); -#2643=CARTESIAN_POINT('',(-0.02,0.065)); -#2644=PRODUCT('srx040y130-padstack-BOTTOM','template',$,(#14731)); -#2645=PRODUCT_DEFINITION_FORMATION('1',$,#2644); -#2646=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PRODUCT_DEFINITION('1',$,#2645, - #28)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*) - STRATUM_STACK_DEPENDENT_TEMPLATE()STRUCTURED_TEMPLATE()); -#2647=SHAPE_REPRESENTATION('ppsm',(#26,#2657,#2669,#2681),#2648); -#2648=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2649=PRODUCT('srx040y130-PAD_2','template',$,(#14731)); -#2650=PRODUCT_DEFINITION_FORMATION('1',$,#2649); -#2651=DEFAULT_ATTACHMENT_SIZE_BASED_LAND_PHYSICAL_TEMPLATE('1','default attachment size based', - #2650,#28,'',$,*,'',$,*,.T.); -#2652=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2660),#2653); -#2653=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2654=LAND_TEMPLATE_TERMINAL('outside','interface terminal',#2651,.T.); -#2655=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2651,.T.); -#2656=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#2646,#2651, - 'PAD_2','',$,#2656); -#2657=MAPPED_ITEM('tlistt',#10541,#2658); -#2658=AXIS2_PLACEMENT_2D('',#2659,$); -#2659=CARTESIAN_POINT('',(0.0,0.0)); -#2660=CSG_PRIMITIVE_SOLID_2D('',#2661); -#2661=POLYGONAL_AREA('',(#2662,#2663,#2664,#2665)); -#2662=CARTESIAN_POINT('',(-0.02,-0.065)); -#2663=CARTESIAN_POINT('',(0.02,-0.065)); -#2664=CARTESIAN_POINT('',(0.02,0.065)); -#2665=CARTESIAN_POINT('',(-0.02,0.065)); -#2666=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2672),#2667); -#2667=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2668=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#2646, - #2616,'SOLDER_MASK_2','',$,#2668); -#2669=MAPPED_ITEM('tlistt',#15498,#2670); -#2670=AXIS2_PLACEMENT_2D('',#2671,$); -#2671=CARTESIAN_POINT('',(0.0,0.0)); -#2672=CSG_PRIMITIVE_SOLID_2D('',#2673); -#2673=POLYGONAL_AREA('',(#2674,#2675,#2676,#2677)); -#2674=CARTESIAN_POINT('',(-0.023,-0.068)); -#2675=CARTESIAN_POINT('',(0.023,-0.068)); -#2676=CARTESIAN_POINT('',(0.023,0.068)); -#2677=CARTESIAN_POINT('',(-0.023,0.068)); -#2678=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2684),#2679); -#2679=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2680=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2','tlist','is unknown',#2646, - #2631,'PASTE_MASK_2','',$,#2680); -#2681=MAPPED_ITEM('tlistt',#15502,#2682); -#2682=AXIS2_PLACEMENT_2D('',#2683,$); -#2683=CARTESIAN_POINT('',(0.0,0.0)); -#2684=CSG_PRIMITIVE_SOLID_2D('',#2685); -#2685=POLYGONAL_AREA('',(#2686,#2687,#2688,#2689)); -#2686=CARTESIAN_POINT('',(-0.02,-0.065)); -#2687=CARTESIAN_POINT('',(0.02,-0.065)); -#2688=CARTESIAN_POINT('',(0.02,0.065)); -#2689=CARTESIAN_POINT('',(-0.02,0.065)); -#2690=PRODUCT('srx055y020-padstack','template',$,(#14731)); -#2691=PRODUCT_DEFINITION_FORMATION('1',$,#2690); -#2692=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PRODUCT_DEFINITION('1',$,#2691, - #28)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*) - STRATUM_STACK_DEPENDENT_TEMPLATE()STRUCTURED_TEMPLATE()); -#2693=SHAPE_REPRESENTATION('ppsm',(#26,#2701,#2716,#2733),#2694); -#2694=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2695=PRODUCT('srx055y020-SOLDER_MASK','template',$,(#14731)); -#2696=PRODUCT_DEFINITION_FORMATION('1',$,#2695); -#2697=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2696,#28,'',$,*); -#2698=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2704),#2699); -#2699=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2700=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK','tlist','is unknown',#2692, - #2697,'SOLDER_MASK','',$,#2700); -#2701=MAPPED_ITEM('tlistt',#15506,#2702); -#2702=AXIS2_PLACEMENT_2D('',#2703,$); -#2703=CARTESIAN_POINT('',(0.0,0.0)); -#2704=CSG_PRIMITIVE_SOLID_2D('',#2705); -#2705=POLYGONAL_AREA('',(#2706,#2707,#2708,#2709)); -#2706=CARTESIAN_POINT('',(-0.0305,-0.013)); -#2707=CARTESIAN_POINT('',(0.0305,-0.013)); -#2708=CARTESIAN_POINT('',(0.0305,0.013)); -#2709=CARTESIAN_POINT('',(-0.0305,0.013)); -#2710=PRODUCT('srx055y020-PASTE_MASK','template',$,(#14731)); -#2711=PRODUCT_DEFINITION_FORMATION('1',$,#2710); -#2712=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2711,#28,'',$,*); -#2713=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2719),#2714); -#2714=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2715=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK','tlist','is unknown',#2692, - #2712,'PASTE_MASK','',$,#2715); -#2716=MAPPED_ITEM('tlistt',#15510,#2717); -#2717=AXIS2_PLACEMENT_2D('',#2718,$); -#2718=CARTESIAN_POINT('',(0.0,0.0)); -#2719=CSG_PRIMITIVE_SOLID_2D('',#2720); -#2720=POLYGONAL_AREA('',(#2721,#2722,#2723,#2724)); -#2721=CARTESIAN_POINT('',(-0.0275,-0.01)); -#2722=CARTESIAN_POINT('',(0.0275,-0.01)); -#2723=CARTESIAN_POINT('',(0.0275,0.01)); -#2724=CARTESIAN_POINT('',(-0.0275,0.01)); -#2725=PRODUCT('srx055y020-PAD','template',$,(#14731)); -#2726=PRODUCT_DEFINITION_FORMATION('1',$,#2725); -#2727=DEFAULT_ATTACHMENT_SIZE_BASED_LAND_PHYSICAL_TEMPLATE('1','default attachment size based', - #2726,#28,'',$,*,'',$,*,.T.); -#2728=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2736),#2729); -#2729=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2730=LAND_TEMPLATE_TERMINAL('outside','interface terminal',#2727,.T.); -#2731=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2727,.T.); -#2732=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD','tlist','is unknown',#2692,#2727, - 'PAD','',$,#2732); -#2733=MAPPED_ITEM('tlistt',#10543,#2734); -#2734=AXIS2_PLACEMENT_2D('',#2735,$); -#2735=CARTESIAN_POINT('',(0.0,0.0)); -#2736=CSG_PRIMITIVE_SOLID_2D('',#2737); -#2737=POLYGONAL_AREA('',(#2738,#2739,#2740,#2741)); -#2738=CARTESIAN_POINT('',(-0.0275,-0.01)); -#2739=CARTESIAN_POINT('',(0.0275,-0.01)); -#2740=CARTESIAN_POINT('',(0.0275,0.01)); -#2741=CARTESIAN_POINT('',(-0.0275,0.01)); -#2742=PRODUCT('v016c036','template',$,(#14731)); -#2743=PRODUCT_DEFINITION_FORMATION('1',$,#2742); -#2744=VIA_TEMPLATE('1',$,#2743,#28,'',$,*); -#2745=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2746),#2749); -#2746=CSG_PRIMITIVE_SOLID_2D('',#2748); -#2747=CARTESIAN_POINT('',(0.0,0.0)); -#2748=CIRCULAR_AREA('',#2747,0.0080); -#2749=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2750=PASSAGE_TECHNOLOGY('0.016 TN DVD type','default via definition','',$,*); -#2751=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.016),#17)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#2752=REPRESENTATION('maximum tolerance',(#2751),#2753); -#2753=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2754=REPRESENTATION('maximum tolerance',(#2755),#2753); -#2755=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.016),#17)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#2756=PRODUCT('v016c036-padstack','template',$,(#14731)); -#2757=PRODUCT_DEFINITION_FORMATION('1',$,#2756); -#2758=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#2757,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2759=SHAPE_REPRESENTATION('ppsm',(#26,#2762,#2771,#2783,#2795,#2799,#2803,#2807, - #2811,#2815,#2819,#2832,#2836,#2840,#2844,#2848,#2852,#2856,#2860,#2864,#2868, - #2872,#2876),#2760); -#2760=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2761=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#2758,#2744,'drill'); -#2762=MAPPED_ITEM('tlistt',#15517,#2763); -#2763=AXIS2_PLACEMENT_2D('',#2764,$); -#2764=CARTESIAN_POINT('',(0.0,0.0)); -#2765=PRODUCT('v016c036-SOLDER_MASK_1','template',$,(#14731)); -#2766=PRODUCT_DEFINITION_FORMATION('1',$,#2765); -#2767=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2766,#28,'',$,*); -#2768=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2774),#2769); -#2769=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2770=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#2758, - #2767,'SOLDER_MASK_1','',$,#2770); -#2771=MAPPED_ITEM('tlistt',#15521,#2772); -#2772=AXIS2_PLACEMENT_2D('',#2773,$); -#2773=CARTESIAN_POINT('',(0.0,0.0)); -#2774=CSG_PRIMITIVE_SOLID_2D('',#2776); -#2775=CARTESIAN_POINT('',(0.0,0.0)); -#2776=CIRCULAR_AREA('',#2775,0.021); -#2777=PRODUCT('v016c036-SOLDER_MASK_2','template',$,(#14731)); -#2778=PRODUCT_DEFINITION_FORMATION('1',$,#2777); -#2779=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2778,#28,'',$,*); -#2780=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2786),#2781); -#2781=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2782=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#2758, - #2779,'SOLDER_MASK_2','',$,#2782); -#2783=MAPPED_ITEM('tlistt',#15525,#2784); -#2784=AXIS2_PLACEMENT_2D('',#2785,$); -#2785=CARTESIAN_POINT('',(0.0,0.0)); -#2786=CSG_PRIMITIVE_SOLID_2D('',#2788); -#2787=CARTESIAN_POINT('',(0.0,0.0)); -#2788=CIRCULAR_AREA('',#2787,0.021); -#2789=PRODUCT('v016c036-POWER','template',$,(#14731)); -#2790=PRODUCT_DEFINITION_FORMATION('1',$,#2789); -#2791=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#2790,#28,'',$,*); -#2792=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2822),#2793); -#2793=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2794=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#2758,#2791, - 'POWER_1','',$,#2794); -#2795=MAPPED_ITEM('tlistt',#15529,#2796); -#2796=AXIS2_PLACEMENT_2D('',#2797,$); -#2797=CARTESIAN_POINT('',(0.0,0.0)); -#2798=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#2758,#2791, - 'POWER_2','',$,#2798); -#2799=MAPPED_ITEM('tlistt',#15529,#2800); -#2800=AXIS2_PLACEMENT_2D('',#2801,$); -#2801=CARTESIAN_POINT('',(0.0,0.0)); -#2802=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#2758,#2791, - 'POWER_3','',$,#2802); -#2803=MAPPED_ITEM('tlistt',#15529,#2804); -#2804=AXIS2_PLACEMENT_2D('',#2805,$); -#2805=CARTESIAN_POINT('',(0.0,0.0)); -#2806=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#2758,#2791, - 'POWER_4','',$,#2806); -#2807=MAPPED_ITEM('tlistt',#15529,#2808); -#2808=AXIS2_PLACEMENT_2D('',#2809,$); -#2809=CARTESIAN_POINT('',(0.0,0.0)); -#2810=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#2758,#2791, - 'POWER_5','',$,#2810); -#2811=MAPPED_ITEM('tlistt',#15529,#2812); -#2812=AXIS2_PLACEMENT_2D('',#2813,$); -#2813=CARTESIAN_POINT('',(0.0,0.0)); -#2814=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#2758,#2791, - 'POWER_6','',$,#2814); -#2815=MAPPED_ITEM('tlistt',#15529,#2816); -#2816=AXIS2_PLACEMENT_2D('',#2817,$); -#2817=CARTESIAN_POINT('',(0.0,0.0)); -#2818=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#2758,#2791, - 'POWER_7','',$,#2818); -#2819=MAPPED_ITEM('tlistt',#15529,#2820); -#2820=AXIS2_PLACEMENT_2D('',#2821,$); -#2821=CARTESIAN_POINT('',(0.0,0.0)); -#2822=CSG_PRIMITIVE_SOLID_2D('',#2824); -#2823=CARTESIAN_POINT('',(0.0,0.0)); -#2824=CIRCULAR_AREA('',#2823,0.01805); -#2825=PRODUCT('v016c036-SIGNAL','template',$,(#14731)); -#2826=PRODUCT_DEFINITION_FORMATION('1',$,#2825); -#2827=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2826,#28,'',$,*); -#2828=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2879),#2829); -#2829=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2830=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2827,.T.); -#2831=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#2758,#2827, - 'SIGNAL_1','',$,#2831); -#2832=MAPPED_ITEM('tlistt',#15551,#2833); -#2833=AXIS2_PLACEMENT_2D('',#2834,$); -#2834=CARTESIAN_POINT('',(0.0,0.0)); -#2835=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#2758,#2827, - 'SIGNAL_2','',$,#2835); -#2836=MAPPED_ITEM('tlistt',#15551,#2837); -#2837=AXIS2_PLACEMENT_2D('',#2838,$); -#2838=CARTESIAN_POINT('',(0.0,0.0)); -#2839=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#2758,#2827, - 'SIGNAL_3','',$,#2839); -#2840=MAPPED_ITEM('tlistt',#15551,#2841); -#2841=AXIS2_PLACEMENT_2D('',#2842,$); -#2842=CARTESIAN_POINT('',(0.0,0.0)); -#2843=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#2758,#2827, - 'SIGNAL_4','',$,#2843); -#2844=MAPPED_ITEM('tlistt',#15551,#2845); -#2845=AXIS2_PLACEMENT_2D('',#2846,$); -#2846=CARTESIAN_POINT('',(0.0,0.0)); -#2847=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#2758,#2827, - 'SIGNAL_5','',$,#2847); -#2848=MAPPED_ITEM('tlistt',#15551,#2849); -#2849=AXIS2_PLACEMENT_2D('',#2850,$); -#2850=CARTESIAN_POINT('',(0.0,0.0)); -#2851=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#2758,#2827, - 'SIGNAL_6','',$,#2851); -#2852=MAPPED_ITEM('tlistt',#15551,#2853); -#2853=AXIS2_PLACEMENT_2D('',#2854,$); -#2854=CARTESIAN_POINT('',(0.0,0.0)); -#2855=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#2758,#2827, - 'SIGNAL_7','',$,#2855); -#2856=MAPPED_ITEM('tlistt',#15551,#2857); -#2857=AXIS2_PLACEMENT_2D('',#2858,$); -#2858=CARTESIAN_POINT('',(0.0,0.0)); -#2859=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#2758,#2827, - 'SIGNAL_8','',$,#2859); -#2860=MAPPED_ITEM('tlistt',#15551,#2861); -#2861=AXIS2_PLACEMENT_2D('',#2862,$); -#2862=CARTESIAN_POINT('',(0.0,0.0)); -#2863=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#2758,#2827, - 'SIGNAL_9','',$,#2863); -#2864=MAPPED_ITEM('tlistt',#15551,#2865); -#2865=AXIS2_PLACEMENT_2D('',#2866,$); -#2866=CARTESIAN_POINT('',(0.0,0.0)); -#2867=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#2758, - #2827,'SIGNAL_10','',$,#2867); -#2868=MAPPED_ITEM('tlistt',#15551,#2869); -#2869=AXIS2_PLACEMENT_2D('',#2870,$); -#2870=CARTESIAN_POINT('',(0.0,0.0)); -#2871=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#2758, - #2827,'SIGNAL_11','',$,#2871); -#2872=MAPPED_ITEM('tlistt',#15551,#2873); -#2873=AXIS2_PLACEMENT_2D('',#2874,$); -#2874=CARTESIAN_POINT('',(0.0,0.0)); -#2875=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#2758, - #2827,'SIGNAL_12','',$,#2875); -#2876=MAPPED_ITEM('tlistt',#15551,#2877); -#2877=AXIS2_PLACEMENT_2D('',#2878,$); -#2878=CARTESIAN_POINT('',(0.0,0.0)); -#2879=CSG_PRIMITIVE_SOLID_2D('',#2881); -#2880=CARTESIAN_POINT('',(0.0,0.0)); -#2881=CIRCULAR_AREA('',#2880,0.018); -#2882=SHAPE_ASPECT('TOP','via template terminal',#2744,.T.); -#2883=SHAPE_ASPECT('BOTTOM','via template terminal',#2744,.T.); -#2884=PRODUCT('v023c043','template',$,(#14731)); -#2885=PRODUCT_DEFINITION_FORMATION('1',$,#2884); -#2886=VIA_TEMPLATE('1',$,#2885,#28,'',$,*); -#2887=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2888),#2891); -#2888=CSG_PRIMITIVE_SOLID_2D('',#2890); -#2889=CARTESIAN_POINT('',(0.0,0.0)); -#2890=CIRCULAR_AREA('',#2889,0.0115); -#2891=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2892=PASSAGE_TECHNOLOGY('0.023 TN DVD type','default via definition','',$,*); -#2893=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.023),#17)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#2894=REPRESENTATION('maximum tolerance',(#2893),#2895); -#2895=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2896=REPRESENTATION('maximum tolerance',(#2897),#2895); -#2897=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.023),#17)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#2898=PRODUCT('v023c043-padstack','template',$,(#14731)); -#2899=PRODUCT_DEFINITION_FORMATION('1',$,#2898); -#2900=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#2899,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#2901=SHAPE_REPRESENTATION('ppsm',(#26,#2904,#2913,#2925,#2937,#2941,#2945,#2949, - #2953,#2957,#2961,#2974,#2978,#2982,#2986,#2990,#2994,#2998,#3002,#3006,#3010, - #3014,#3018),#2902); -#2902=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2903=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#2900,#2886,'drill'); -#2904=MAPPED_ITEM('tlistt',#15588,#2905); -#2905=AXIS2_PLACEMENT_2D('',#2906,$); -#2906=CARTESIAN_POINT('',(0.0,0.0)); -#2907=PRODUCT('v023c043-SOLDER_MASK_1','template',$,(#14731)); -#2908=PRODUCT_DEFINITION_FORMATION('1',$,#2907); -#2909=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2908,#28,'',$,*); -#2910=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2916),#2911); -#2911=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2912=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#2900, - #2909,'SOLDER_MASK_1','',$,#2912); -#2913=MAPPED_ITEM('tlistt',#15592,#2914); -#2914=AXIS2_PLACEMENT_2D('',#2915,$); -#2915=CARTESIAN_POINT('',(0.0,0.0)); -#2916=CSG_PRIMITIVE_SOLID_2D('',#2918); -#2917=CARTESIAN_POINT('',(0.0,0.0)); -#2918=CIRCULAR_AREA('',#2917,0.0245); -#2919=PRODUCT('v023c043-SOLDER_MASK_2','template',$,(#14731)); -#2920=PRODUCT_DEFINITION_FORMATION('1',$,#2919); -#2921=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#2920,#28,'',$,*); -#2922=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2928),#2923); -#2923=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2924=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#2900, - #2921,'SOLDER_MASK_2','',$,#2924); -#2925=MAPPED_ITEM('tlistt',#15596,#2926); -#2926=AXIS2_PLACEMENT_2D('',#2927,$); -#2927=CARTESIAN_POINT('',(0.0,0.0)); -#2928=CSG_PRIMITIVE_SOLID_2D('',#2930); -#2929=CARTESIAN_POINT('',(0.0,0.0)); -#2930=CIRCULAR_AREA('',#2929,0.0245); -#2931=PRODUCT('v023c043-POWER','template',$,(#14731)); -#2932=PRODUCT_DEFINITION_FORMATION('1',$,#2931); -#2933=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#2932,#28,'',$,*); -#2934=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#2964),#2935); -#2935=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2936=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#2900,#2933, - 'POWER_1','',$,#2936); -#2937=MAPPED_ITEM('tlistt',#15600,#2938); -#2938=AXIS2_PLACEMENT_2D('',#2939,$); -#2939=CARTESIAN_POINT('',(0.0,0.0)); -#2940=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#2900,#2933, - 'POWER_2','',$,#2940); -#2941=MAPPED_ITEM('tlistt',#15600,#2942); -#2942=AXIS2_PLACEMENT_2D('',#2943,$); -#2943=CARTESIAN_POINT('',(0.0,0.0)); -#2944=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#2900,#2933, - 'POWER_3','',$,#2944); -#2945=MAPPED_ITEM('tlistt',#15600,#2946); -#2946=AXIS2_PLACEMENT_2D('',#2947,$); -#2947=CARTESIAN_POINT('',(0.0,0.0)); -#2948=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#2900,#2933, - 'POWER_4','',$,#2948); -#2949=MAPPED_ITEM('tlistt',#15600,#2950); -#2950=AXIS2_PLACEMENT_2D('',#2951,$); -#2951=CARTESIAN_POINT('',(0.0,0.0)); -#2952=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#2900,#2933, - 'POWER_5','',$,#2952); -#2953=MAPPED_ITEM('tlistt',#15600,#2954); -#2954=AXIS2_PLACEMENT_2D('',#2955,$); -#2955=CARTESIAN_POINT('',(0.0,0.0)); -#2956=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#2900,#2933, - 'POWER_6','',$,#2956); -#2957=MAPPED_ITEM('tlistt',#15600,#2958); -#2958=AXIS2_PLACEMENT_2D('',#2959,$); -#2959=CARTESIAN_POINT('',(0.0,0.0)); -#2960=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#2900,#2933, - 'POWER_7','',$,#2960); -#2961=MAPPED_ITEM('tlistt',#15600,#2962); -#2962=AXIS2_PLACEMENT_2D('',#2963,$); -#2963=CARTESIAN_POINT('',(0.0,0.0)); -#2964=CSG_PRIMITIVE_SOLID_2D('',#2966); -#2965=CARTESIAN_POINT('',(0.0,0.0)); -#2966=CIRCULAR_AREA('',#2965,0.02155); -#2967=PRODUCT('v023c043-SIGNAL','template',$,(#14731)); -#2968=PRODUCT_DEFINITION_FORMATION('1',$,#2967); -#2969=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #2968,#28,'',$,*); -#2970=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3021),#2971); -#2971=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#2972=LAND_TEMPLATE_TERMINAL('inside','join terminal',#2969,.T.); -#2973=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#2900,#2969, - 'SIGNAL_1','',$,#2973); -#2974=MAPPED_ITEM('tlistt',#15622,#2975); -#2975=AXIS2_PLACEMENT_2D('',#2976,$); -#2976=CARTESIAN_POINT('',(0.0,0.0)); -#2977=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#2900,#2969, - 'SIGNAL_2','',$,#2977); -#2978=MAPPED_ITEM('tlistt',#15622,#2979); -#2979=AXIS2_PLACEMENT_2D('',#2980,$); -#2980=CARTESIAN_POINT('',(0.0,0.0)); -#2981=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#2900,#2969, - 'SIGNAL_3','',$,#2981); -#2982=MAPPED_ITEM('tlistt',#15622,#2983); -#2983=AXIS2_PLACEMENT_2D('',#2984,$); -#2984=CARTESIAN_POINT('',(0.0,0.0)); -#2985=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#2900,#2969, - 'SIGNAL_4','',$,#2985); -#2986=MAPPED_ITEM('tlistt',#15622,#2987); -#2987=AXIS2_PLACEMENT_2D('',#2988,$); -#2988=CARTESIAN_POINT('',(0.0,0.0)); -#2989=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#2900,#2969, - 'SIGNAL_5','',$,#2989); -#2990=MAPPED_ITEM('tlistt',#15622,#2991); -#2991=AXIS2_PLACEMENT_2D('',#2992,$); -#2992=CARTESIAN_POINT('',(0.0,0.0)); -#2993=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#2900,#2969, - 'SIGNAL_6','',$,#2993); -#2994=MAPPED_ITEM('tlistt',#15622,#2995); -#2995=AXIS2_PLACEMENT_2D('',#2996,$); -#2996=CARTESIAN_POINT('',(0.0,0.0)); -#2997=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#2900,#2969, - 'SIGNAL_7','',$,#2997); -#2998=MAPPED_ITEM('tlistt',#15622,#2999); -#2999=AXIS2_PLACEMENT_2D('',#3000,$); -#3000=CARTESIAN_POINT('',(0.0,0.0)); -#3001=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#2900,#2969, - 'SIGNAL_8','',$,#3001); -#3002=MAPPED_ITEM('tlistt',#15622,#3003); -#3003=AXIS2_PLACEMENT_2D('',#3004,$); -#3004=CARTESIAN_POINT('',(0.0,0.0)); -#3005=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#2900,#2969, - 'SIGNAL_9','',$,#3005); -#3006=MAPPED_ITEM('tlistt',#15622,#3007); -#3007=AXIS2_PLACEMENT_2D('',#3008,$); -#3008=CARTESIAN_POINT('',(0.0,0.0)); -#3009=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#2900, - #2969,'SIGNAL_10','',$,#3009); -#3010=MAPPED_ITEM('tlistt',#15622,#3011); -#3011=AXIS2_PLACEMENT_2D('',#3012,$); -#3012=CARTESIAN_POINT('',(0.0,0.0)); -#3013=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#2900, - #2969,'SIGNAL_11','',$,#3013); -#3014=MAPPED_ITEM('tlistt',#15622,#3015); -#3015=AXIS2_PLACEMENT_2D('',#3016,$); -#3016=CARTESIAN_POINT('',(0.0,0.0)); -#3017=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#2900, - #2969,'SIGNAL_12','',$,#3017); -#3018=MAPPED_ITEM('tlistt',#15622,#3019); -#3019=AXIS2_PLACEMENT_2D('',#3020,$); -#3020=CARTESIAN_POINT('',(0.0,0.0)); -#3021=CSG_PRIMITIVE_SOLID_2D('',#3023); -#3022=CARTESIAN_POINT('',(0.0,0.0)); -#3023=CIRCULAR_AREA('',#3022,0.0215); -#3024=SHAPE_ASPECT('TOP','via template terminal',#2886,.T.); -#3025=SHAPE_ASPECT('BOTTOM','via template terminal',#2886,.T.); -#3026=PRODUCT('via060c_031','template',$,(#14731)); -#3027=PRODUCT_DEFINITION_FORMATION('1',$,#3026); -#3028=VIA_TEMPLATE('1',$,#3027,#28,'',$,*); -#3029=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3030),#3033); -#3030=CSG_PRIMITIVE_SOLID_2D('',#3032); -#3031=CARTESIAN_POINT('',(0.0,0.0)); -#3032=CIRCULAR_AREA('',#3031,0.0155); -#3033=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3034=PASSAGE_TECHNOLOGY('0.031 TN DVD type','default via definition','',$,*); -#3035=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.031),#17)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#3036=REPRESENTATION('maximum tolerance',(#3035),#3037); -#3037=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3038=REPRESENTATION('maximum tolerance',(#3039),#3037); -#3039=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.031),#17)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#3040=PRODUCT('via060c_031-padstack','template',$,(#14731)); -#3041=PRODUCT_DEFINITION_FORMATION('1',$,#3040); -#3042=(GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PADSTACK_DEFINITION()PART_TEMPLATE_DEFINITION()PASSAGE_PADSTACK_DEFINITION() - PRODUCT_DEFINITION('1',$,#3041,#28)PRODUCT_DEFINITION_SHAPE() - PROPERTY_DEFINITION('',$,*)STRATUM_STACK_DEPENDENT_TEMPLATE() - STRUCTURED_TEMPLATE()); -#3043=SHAPE_REPRESENTATION('ppsm',(#26,#3046,#3055,#3067,#3079,#3083,#3087,#3091, - #3095,#3099,#3103,#3116,#3120,#3124,#3128,#3132,#3136,#3140,#3144,#3148,#3152, - #3156,#3160),#3044); -#3044=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#17,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3045=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3042,#3028,'drill'); -#3046=MAPPED_ITEM('tlistt',#15659,#3047); -#3047=AXIS2_PLACEMENT_2D('',#3048,$); -#3048=CARTESIAN_POINT('',(0.0,0.0)); -#3049=PRODUCT('via060c_031-SOLDER_MASK_1','template',$,(#14731)); -#3050=PRODUCT_DEFINITION_FORMATION('1',$,#3049); -#3051=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3050,#28,'',$,*); -#3052=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3058),#3053); -#3053=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3054=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1','tlist','is unknown',#3042, - #3051,'SOLDER_MASK_1','',$,#3054); -#3055=MAPPED_ITEM('tlistt',#15663,#3056); -#3056=AXIS2_PLACEMENT_2D('',#3057,$); -#3057=CARTESIAN_POINT('',(0.0,0.0)); -#3058=CSG_PRIMITIVE_SOLID_2D('',#3060); -#3059=CARTESIAN_POINT('',(0.0,0.0)); -#3060=CIRCULAR_AREA('',#3059,0.035); -#3061=PRODUCT('via060c_031-SOLDER_MASK_2','template',$,(#14731)); -#3062=PRODUCT_DEFINITION_FORMATION('1',$,#3061); -#3063=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3062,#28,'',$,*); -#3064=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3070),#3065); -#3065=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3066=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2','tlist','is unknown',#3042, - #3063,'SOLDER_MASK_2','',$,#3066); -#3067=MAPPED_ITEM('tlistt',#15667,#3068); -#3068=AXIS2_PLACEMENT_2D('',#3069,$); -#3069=CARTESIAN_POINT('',(0.0,0.0)); -#3070=CSG_PRIMITIVE_SOLID_2D('',#3072); -#3071=CARTESIAN_POINT('',(0.0,0.0)); -#3072=CIRCULAR_AREA('',#3071,0.035); -#3073=PRODUCT('via060c_031-POWER','template',$,(#14731)); -#3074=PRODUCT_DEFINITION_FORMATION('1',$,#3073); -#3075=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#3074,#28,'',$,*); -#3076=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3106),#3077); -#3077=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3078=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_1','tlist','is unknown',#3042,#3075, - 'POWER_1','',$,#3078); -#3079=MAPPED_ITEM('tlistt',#15671,#3080); -#3080=AXIS2_PLACEMENT_2D('',#3081,$); -#3081=CARTESIAN_POINT('',(0.0,0.0)); -#3082=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_2','tlist','is unknown',#3042,#3075, - 'POWER_2','',$,#3082); -#3083=MAPPED_ITEM('tlistt',#15671,#3084); -#3084=AXIS2_PLACEMENT_2D('',#3085,$); -#3085=CARTESIAN_POINT('',(0.0,0.0)); -#3086=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_3','tlist','is unknown',#3042,#3075, - 'POWER_3','',$,#3086); -#3087=MAPPED_ITEM('tlistt',#15671,#3088); -#3088=AXIS2_PLACEMENT_2D('',#3089,$); -#3089=CARTESIAN_POINT('',(0.0,0.0)); -#3090=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_4','tlist','is unknown',#3042,#3075, - 'POWER_4','',$,#3090); -#3091=MAPPED_ITEM('tlistt',#15671,#3092); -#3092=AXIS2_PLACEMENT_2D('',#3093,$); -#3093=CARTESIAN_POINT('',(0.0,0.0)); -#3094=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_5','tlist','is unknown',#3042,#3075, - 'POWER_5','',$,#3094); -#3095=MAPPED_ITEM('tlistt',#15671,#3096); -#3096=AXIS2_PLACEMENT_2D('',#3097,$); -#3097=CARTESIAN_POINT('',(0.0,0.0)); -#3098=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_6','tlist','is unknown',#3042,#3075, - 'POWER_6','',$,#3098); -#3099=MAPPED_ITEM('tlistt',#15671,#3100); -#3100=AXIS2_PLACEMENT_2D('',#3101,$); -#3101=CARTESIAN_POINT('',(0.0,0.0)); -#3102=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER_7','tlist','is unknown',#3042,#3075, - 'POWER_7','',$,#3102); -#3103=MAPPED_ITEM('tlistt',#15671,#3104); -#3104=AXIS2_PLACEMENT_2D('',#3105,$); -#3105=CARTESIAN_POINT('',(0.0,0.0)); -#3106=CSG_PRIMITIVE_SOLID_2D('',#3108); -#3107=CARTESIAN_POINT('',(0.0,0.0)); -#3108=CIRCULAR_AREA('',#3107,0.0425); -#3109=PRODUCT('via060c_031-SIGNAL','template',$,(#14731)); -#3110=PRODUCT_DEFINITION_FORMATION('1',$,#3109); -#3111=DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE('1','default plated passage based', - #3110,#28,'',$,*); -#3112=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3163),#3113); -#3113=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3114=LAND_TEMPLATE_TERMINAL('inside','join terminal',#3111,.T.); -#3115=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_1','tlist','is unknown',#3042,#3111, - 'SIGNAL_1','',$,#3115); -#3116=MAPPED_ITEM('tlistt',#15693,#3117); -#3117=AXIS2_PLACEMENT_2D('',#3118,$); -#3118=CARTESIAN_POINT('',(0.0,0.0)); -#3119=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_2','tlist','is unknown',#3042,#3111, - 'SIGNAL_2','',$,#3119); -#3120=MAPPED_ITEM('tlistt',#15693,#3121); -#3121=AXIS2_PLACEMENT_2D('',#3122,$); -#3122=CARTESIAN_POINT('',(0.0,0.0)); -#3123=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_3','tlist','is unknown',#3042,#3111, - 'SIGNAL_3','',$,#3123); -#3124=MAPPED_ITEM('tlistt',#15693,#3125); -#3125=AXIS2_PLACEMENT_2D('',#3126,$); -#3126=CARTESIAN_POINT('',(0.0,0.0)); -#3127=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_4','tlist','is unknown',#3042,#3111, - 'SIGNAL_4','',$,#3127); -#3128=MAPPED_ITEM('tlistt',#15693,#3129); -#3129=AXIS2_PLACEMENT_2D('',#3130,$); -#3130=CARTESIAN_POINT('',(0.0,0.0)); -#3131=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_5','tlist','is unknown',#3042,#3111, - 'SIGNAL_5','',$,#3131); -#3132=MAPPED_ITEM('tlistt',#15693,#3133); -#3133=AXIS2_PLACEMENT_2D('',#3134,$); -#3134=CARTESIAN_POINT('',(0.0,0.0)); -#3135=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_6','tlist','is unknown',#3042,#3111, - 'SIGNAL_6','',$,#3135); -#3136=MAPPED_ITEM('tlistt',#15693,#3137); -#3137=AXIS2_PLACEMENT_2D('',#3138,$); -#3138=CARTESIAN_POINT('',(0.0,0.0)); -#3139=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_7','tlist','is unknown',#3042,#3111, - 'SIGNAL_7','',$,#3139); -#3140=MAPPED_ITEM('tlistt',#15693,#3141); -#3141=AXIS2_PLACEMENT_2D('',#3142,$); -#3142=CARTESIAN_POINT('',(0.0,0.0)); -#3143=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_8','tlist','is unknown',#3042,#3111, - 'SIGNAL_8','',$,#3143); -#3144=MAPPED_ITEM('tlistt',#15693,#3145); -#3145=AXIS2_PLACEMENT_2D('',#3146,$); -#3146=CARTESIAN_POINT('',(0.0,0.0)); -#3147=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_9','tlist','is unknown',#3042,#3111, - 'SIGNAL_9','',$,#3147); -#3148=MAPPED_ITEM('tlistt',#15693,#3149); -#3149=AXIS2_PLACEMENT_2D('',#3150,$); -#3150=CARTESIAN_POINT('',(0.0,0.0)); -#3151=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_10','tlist','is unknown',#3042, - #3111,'SIGNAL_10','',$,#3151); -#3152=MAPPED_ITEM('tlistt',#15693,#3153); -#3153=AXIS2_PLACEMENT_2D('',#3154,$); -#3154=CARTESIAN_POINT('',(0.0,0.0)); -#3155=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_11','tlist','is unknown',#3042, - #3111,'SIGNAL_11','',$,#3155); -#3156=MAPPED_ITEM('tlistt',#15693,#3157); -#3157=AXIS2_PLACEMENT_2D('',#3158,$); -#3158=CARTESIAN_POINT('',(0.0,0.0)); -#3159=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL_12','tlist','is unknown',#3042, - #3111,'SIGNAL_12','',$,#3159); -#3160=MAPPED_ITEM('tlistt',#15693,#3161); -#3161=AXIS2_PLACEMENT_2D('',#3162,$); -#3162=CARTESIAN_POINT('',(0.0,0.0)); -#3163=CSG_PRIMITIVE_SOLID_2D('',#3165); -#3164=CARTESIAN_POINT('',(0.0,0.0)); -#3165=CIRCULAR_AREA('',#3164,0.03); -#3166=SHAPE_ASPECT('TOP','via template terminal',#3028,.T.); -#3167=SHAPE_ASPECT('BOTTOM','via template terminal',#3028,.T.); -#3168=SHAPE_ASPECT('Outline where vias can not be placed in','vlnfse',#89,.F.); -#3169=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#3170),#90); -#3170=CSG_SOLID_2D('',#3171); -#3171=POLYGONAL_AREA('',(#3172,#3173,#3174,#3175)); -#3172=CARTESIAN_POINT('',(-0.0435,0.0285)); -#3173=CARTESIAN_POINT('',(-0.0435,-0.0285)); -#3174=CARTESIAN_POINT('',(0.0435,-0.0285)); -#3175=CARTESIAN_POINT('',(0.0435,0.0285)); -#3176=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#3177=REPRESENTATION('maximum tolerance',(#3176),#3178); -#3178=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3179=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3180=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#3187),#3179); -#3181=POLYLINE('',(#3182,#3183,#3184,#3185,#3186)); -#3182=CARTESIAN_POINT('',(-0.0435,-0.0285)); -#3183=CARTESIAN_POINT('',(0.0435,-0.0285)); -#3184=CARTESIAN_POINT('',(0.0435,0.0285)); -#3185=CARTESIAN_POINT('',(-0.0435,0.0285)); -#3186=CARTESIAN_POINT('',(-0.0435,-0.0285)); -#3187=GEOMETRIC_CURVE_SET('',(#3181)); -#3188=CSG_2D_SHAPE_REPRESENTATION('',(#26,#3189),#90); -#3189=CSG_SOLID_2D('',#3191); -#3190=CARTESIAN_POINT('',(0.0,0.0)); -#3191=CIRCULAR_AREA('',#3190,0.015); -#3192=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#3193=PRODUCT_DEFINITION_SHAPE('',$,#3192); -#3194=SHAPE_DEFINITION_REPRESENTATION(#3193,#3188); -#3195=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('terminal core material', - (#3192,#3241,#3294,#3339,#3399,#3865,#3894,#3979,#4064,#4107,#4147,#4238)); -#3196=APPLIED_CLASSIFICATION_ASSIGNMENT(#3198,#3197,(#3195)); -#3197=CLASSIFICATION_ROLE('terminal core material',$); -#3198=CLASS('conductive','electrical conductivity'); -#3199=MATERIAL_DESIGNATION_WITH_CONDUCTIVITY_CLASSIFICATION('terminal surface material', - (#3192,#3241,#3294,#3339,#3399,#3865,#3894,#3979,#4064,#4107,#4147,#4238)); -#3200=APPLIED_CLASSIFICATION_ASSIGNMENT(#3202,#3201,(#3199)); -#3201=CLASSIFICATION_ROLE('terminal surface material',$); -#3202=CLASS('conductive','electrical conductivity'); -#3203=PRIMARY_REFERENCE_TERMINAL('2','part generic feature',#89,.T.); -#3204=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10526,#3205,'',$,#3203,#91,*); -#3205=AXIS2_PLACEMENT_2D('',#3207,#3206); -#3206=DIRECTION('',(1.0,0.0)); -#3207=CARTESIAN_POINT('',(0.035,0.0)); -#3208=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#127,#1284,'2'); -#3209=MAPPED_ITEM('tlistt',#15730,#3205); -#3210=PACKAGE_TERMINAL('1','part generic feature',#89,.T.); -#3211=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10526,#3212,'',$,#3210,#91,*); -#3212=AXIS2_PLACEMENT_2D('',#3214,#3213); -#3213=DIRECTION('',(1.0,0.0)); -#3214=CARTESIAN_POINT('',(-0.035,0.0)); -#3215=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#127,#1284,'1'); -#3216=MAPPED_ITEM('tlistt',#15730,#3212); -#3217=SHAPE_ASPECT('Outline where vias can not be placed in','vlnfse',#132,.F.); -#3218=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#3219),#133); -#3219=CSG_SOLID_2D('',#3220); -#3220=POLYGONAL_AREA('',(#3221,#3222,#3223,#3224)); -#3221=CARTESIAN_POINT('',(-0.029,-0.053)); -#3222=CARTESIAN_POINT('',(-0.029,0.053)); -#3223=CARTESIAN_POINT('',(0.029,0.053)); -#3224=CARTESIAN_POINT('',(0.029,-0.053)); -#3225=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#3226=REPRESENTATION('maximum tolerance',(#3225),#3227); -#3227=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3228=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3229=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#3236),#3228); -#3230=POLYLINE('',(#3231,#3232,#3233,#3234,#3235)); -#3231=CARTESIAN_POINT('',(-0.067,0.053)); -#3232=CARTESIAN_POINT('',(0.067,0.053)); -#3233=CARTESIAN_POINT('',(0.067,-0.053)); -#3234=CARTESIAN_POINT('',(-0.067,-0.053)); -#3235=CARTESIAN_POINT('',(-0.067,0.053)); -#3236=GEOMETRIC_CURVE_SET('',(#3230)); -#3237=CSG_2D_SHAPE_REPRESENTATION('',(#26,#3238),#133); -#3238=CSG_SOLID_2D('',#3240); -#3239=CARTESIAN_POINT('',(0.0,0.0)); -#3240=CIRCULAR_AREA('',#3239,0.015); -#3241=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#3242=PRODUCT_DEFINITION_SHAPE('',$,#3241); -#3243=SHAPE_DEFINITION_REPRESENTATION(#3242,#3237); -#3244=PRIMARY_REFERENCE_TERMINAL('2','part generic feature',#132,.T.); -#3245=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10527,#3246,'',$,#3244,#134,*); -#3246=AXIS2_PLACEMENT_2D('',#3248,#3247); -#3247=DIRECTION('',(1.0,0.0)); -#3248=CARTESIAN_POINT('',(0.062,0.0)); -#3249=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#162,#1336,'2'); -#3250=MAPPED_ITEM('tlistt',#15737,#3246); -#3251=PACKAGE_TERMINAL('1','part generic feature',#132,.T.); -#3252=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10527,#3253,'',$,#3251,#134,*); -#3253=AXIS2_PLACEMENT_2D('',#3255,#3254); -#3254=DIRECTION('',(1.0,0.0)); -#3255=CARTESIAN_POINT('',(-0.062,0.0)); -#3256=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#162,#1336,'1'); -#3257=MAPPED_ITEM('tlistt',#15737,#3253); -#3258=SHAPE_ASPECT('Outline where vias can not be placed in','vlnfse',#166,.F.); -#3259=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#3260),#167); -#3260=CSG_SOLID_2D('',#3261); -#3261=POLYGONAL_AREA('',(#3262,#3263,#3264,#3265)); -#3262=CARTESIAN_POINT('',(-0.0355,0.0185)); -#3263=CARTESIAN_POINT('',(-0.0355,-0.0185)); -#3264=CARTESIAN_POINT('',(0.0355,-0.0185)); -#3265=CARTESIAN_POINT('',(0.0355,0.0185)); -#3266=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#3267=REPRESENTATION('maximum tolerance',(#3266),#3268); -#3268=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3269=SHAPE_ASPECT('PROBE_AREA_1-1',$,#166,.F.); -#3270=CSG_2D_SHAPE_REPRESENTATION('',(#26,#3272),#3271); -#3271=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3272=CSG_SOLID_2D('',#3274); -#3273=CARTESIAN_POINT('',(0.0,0.0)); -#3274=CIRCULAR_AREA('',#3273,0.0635); -#3275=SHAPE_ASPECT('PROBE_AREA_2-2',$,#166,.F.); -#3276=CSG_2D_SHAPE_REPRESENTATION('',(#26,#3278),#3277); -#3277=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3278=CSG_SOLID_2D('',#3280); -#3279=CARTESIAN_POINT('',(0.0,0.0)); -#3280=CIRCULAR_AREA('',#3279,0.25); -#3281=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3282=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#3289),#3281); -#3283=POLYLINE('',(#3284,#3285,#3286,#3287,#3288)); -#3284=CARTESIAN_POINT('',(-0.0355,-0.0185)); -#3285=CARTESIAN_POINT('',(0.0355,-0.0185)); -#3286=CARTESIAN_POINT('',(0.0355,0.0185)); -#3287=CARTESIAN_POINT('',(-0.0355,0.0185)); -#3288=CARTESIAN_POINT('',(-0.0355,-0.0185)); -#3289=GEOMETRIC_CURVE_SET('',(#3283)); -#3290=CSG_2D_SHAPE_REPRESENTATION('',(#26,#3291),#167); -#3291=CSG_SOLID_2D('',#3293); -#3292=CARTESIAN_POINT('',(0.0,0.0)); -#3293=CIRCULAR_AREA('',#3292,0.015); -#3294=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#3295=PRODUCT_DEFINITION_SHAPE('',$,#3294); -#3296=SHAPE_DEFINITION_REPRESENTATION(#3295,#3290); -#3297=PRIMARY_REFERENCE_TERMINAL('2','part generic feature',#166,.T.); -#3298=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10528,#3299,'',$,#3297,#168,*); -#3299=AXIS2_PLACEMENT_2D('',#3301,#3300); -#3300=DIRECTION('',(1.0,0.0)); -#3301=CARTESIAN_POINT('',(0.029,0.0)); -#3302=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#196,#2496,'2'); -#3303=MAPPED_ITEM('tlistt',#15744,#3299); -#3304=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#200,#2548,'2'); -#3305=MAPPED_ITEM('tlistt',#15748,#3299); -#3306=PACKAGE_TERMINAL('1','part generic feature',#166,.T.); -#3307=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10528,#3308,'',$,#3306,#168,*); -#3308=AXIS2_PLACEMENT_2D('',#3310,#3309); -#3309=DIRECTION('',(1.0,0.0)); -#3310=CARTESIAN_POINT('',(-0.029,0.0)); -#3311=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#196,#2496,'1'); -#3312=MAPPED_ITEM('tlistt',#15744,#3308); -#3313=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#200,#2548,'1'); -#3314=MAPPED_ITEM('tlistt',#15748,#3308); -#3315=SHAPE_ASPECT('Outline where vias can not be placed in','vlnfse',#204,.F.); -#3316=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#3317),#205); -#3317=CSG_SOLID_2D('',#3318); -#3318=POLYGONAL_AREA('',(#3319,#3320,#3321,#3322)); -#3319=CARTESIAN_POINT('',(-0.1325,0.0645)); -#3320=CARTESIAN_POINT('',(-0.1325,-0.0645)); -#3321=CARTESIAN_POINT('',(0.1325,-0.0645)); -#3322=CARTESIAN_POINT('',(0.1325,0.0645)); -#3323=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#3324=REPRESENTATION('maximum tolerance',(#3323),#3325); -#3325=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3326=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3327=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#3334),#3326); -#3328=POLYLINE('',(#3329,#3330,#3331,#3332,#3333)); -#3329=CARTESIAN_POINT('',(-0.1325,0.0645)); -#3330=CARTESIAN_POINT('',(-0.1325,-0.0645)); -#3331=CARTESIAN_POINT('',(0.1325,-0.0645)); -#3332=CARTESIAN_POINT('',(0.1325,0.0645)); -#3333=CARTESIAN_POINT('',(-0.1325,0.0645)); -#3334=GEOMETRIC_CURVE_SET('',(#3328)); -#3335=CSG_2D_SHAPE_REPRESENTATION('',(#26,#3336),#205); -#3336=CSG_SOLID_2D('',#3338); -#3337=CARTESIAN_POINT('',(0.0,0.0)); -#3338=CIRCULAR_AREA('',#3337,0.015); -#3339=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#3340=PRODUCT_DEFINITION_SHAPE('',$,#3339); -#3341=SHAPE_DEFINITION_REPRESENTATION(#3340,#3335); -#3342=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#204,.T.); -#3343=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10529,#3344,'',$,#3342,#206,*); -#3344=AXIS2_PLACEMENT_2D('',#3346,#3345); -#3345=DIRECTION('',(1.0,0.0)); -#3346=CARTESIAN_POINT('',(-0.1215,0.0)); -#3347=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#234,#2594,'1'); -#3348=MAPPED_ITEM('tlistt',#15758,#3344); -#3349=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#238,#2646,'1'); -#3350=MAPPED_ITEM('tlistt',#15762,#3344); -#3351=PACKAGE_TERMINAL('2','part generic feature',#204,.T.); -#3352=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10529,#3353,'',$,#3351,#206,*); -#3353=AXIS2_PLACEMENT_2D('',#3355,#3354); -#3354=DIRECTION('',(1.0,0.0)); -#3355=CARTESIAN_POINT('',(0.1215,0.0)); -#3356=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#234,#2594,'2'); -#3357=MAPPED_ITEM('tlistt',#15758,#3353); -#3358=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#238,#2646,'2'); -#3359=MAPPED_ITEM('tlistt',#15762,#3353); -#3360=PRODUCT('so_8_micromax-SOLDER_MASK-SOLDER_MASK','template',$,(#14731)); -#3361=PRODUCT_DEFINITION_FORMATION('1',$,#3360); -#3362=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#3361,#28,'',$,*); -#3363=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3367),#3364); -#3364=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3365=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK','tlist','is unknown',#272, - #3362,'SOLDER_MASK','',$,#3365); -#3366=MAPPED_ITEM('tlistt',#15772,#26); -#3367=CSG_PRIMITIVE_SOLID_2D('',#3368); -#3368=POLYGONAL_AREA('',(#3369,#3370,#3371,#3372)); -#3369=CARTESIAN_POINT('',(-0.1005,0.0514)); -#3370=CARTESIAN_POINT('',(-0.0395,0.0514)); -#3371=CARTESIAN_POINT('',(-0.0395,-0.0514)); -#3372=CARTESIAN_POINT('',(-0.1005,-0.0514)); -#3373=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3374=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#3381),#3373); -#3375=POLYLINE('',(#3376,#3377,#3378,#3379,#3380)); -#3376=CARTESIAN_POINT('',(-0.06,0.06)); -#3377=CARTESIAN_POINT('',(0.06,0.06)); -#3378=CARTESIAN_POINT('',(0.06,-0.06)); -#3379=CARTESIAN_POINT('',(-0.06,-0.06)); -#3380=CARTESIAN_POINT('',(-0.06,0.06)); -#3381=GEOMETRIC_CURVE_SET('',(#3375,#3384)); -#3382=CARTESIAN_POINT('',(0.0375,-0.0375)); -#3383=AXIS2_PLACEMENT_2D('',#3382,$); -#3384=CIRCLE('',#3383,0.015); -#3385=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3389),#3386); -#3386=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3387=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK','tlist','is unknown',#272, - #3362,'SOLDER_MASK','',$,#3387); -#3388=MAPPED_ITEM('tlistt',#15776,#26); -#3389=CSG_PRIMITIVE_SOLID_2D('',#3390); -#3390=POLYGONAL_AREA('',(#3391,#3392,#3393,#3394)); -#3391=CARTESIAN_POINT('',(0.0395,0.0514)); -#3392=CARTESIAN_POINT('',(0.1005,0.0514)); -#3393=CARTESIAN_POINT('',(0.1005,-0.0514)); -#3394=CARTESIAN_POINT('',(0.0395,-0.0514)); -#3395=CSG_2D_SHAPE_REPRESENTATION('',(#26,#3396),#243); -#3396=CSG_SOLID_2D('',#3398); -#3397=CARTESIAN_POINT('',(0.0,0.0)); -#3398=CIRCULAR_AREA('',#3397,0.015); -#3399=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#3400=PRODUCT_DEFINITION_SHAPE('',$,#3399); -#3401=SHAPE_DEFINITION_REPRESENTATION(#3400,#3395); -#3402=PRIMARY_REFERENCE_TERMINAL('8','part generic feature',#242,.T.); -#3403=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10530,#3404,'',$,#3402,#244,*); -#3404=AXIS2_PLACEMENT_2D('',#3406,#3405); -#3405=DIRECTION('',(1.0,0.0)); -#3406=CARTESIAN_POINT('',(-0.07,-0.0384)); -#3407=ASSEMBLY_COMPONENT_USAGE('8','tlist','is unknown',#272,#2692,'8'); -#3408=MAPPED_ITEM('tlistt',#15780,#3404); -#3409=PACKAGE_TERMINAL('7','part generic feature',#242,.T.); -#3410=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10530,#3411,'',$,#3409,#244,*); -#3411=AXIS2_PLACEMENT_2D('',#3413,#3412); -#3412=DIRECTION('',(1.0,0.0)); -#3413=CARTESIAN_POINT('',(-0.07,-0.0128)); -#3414=ASSEMBLY_COMPONENT_USAGE('7','tlist','is unknown',#272,#2692,'7'); -#3415=MAPPED_ITEM('tlistt',#15780,#3411); -#3416=PACKAGE_TERMINAL('6','part generic feature',#242,.T.); -#3417=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10530,#3418,'',$,#3416,#244,*); -#3418=AXIS2_PLACEMENT_2D('',#3420,#3419); -#3419=DIRECTION('',(1.0,0.0)); -#3420=CARTESIAN_POINT('',(-0.07,0.0128)); -#3421=ASSEMBLY_COMPONENT_USAGE('6','tlist','is unknown',#272,#2692,'6'); -#3422=MAPPED_ITEM('tlistt',#15780,#3418); -#3423=PACKAGE_TERMINAL('5','part generic feature',#242,.T.); -#3424=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10530,#3425,'',$,#3423,#244,*); -#3425=AXIS2_PLACEMENT_2D('',#3427,#3426); -#3426=DIRECTION('',(1.0,0.0)); -#3427=CARTESIAN_POINT('',(-0.07,0.0384)); -#3428=ASSEMBLY_COMPONENT_USAGE('5','tlist','is unknown',#272,#2692,'5'); -#3429=MAPPED_ITEM('tlistt',#15780,#3425); -#3430=PACKAGE_TERMINAL('4','part generic feature',#242,.T.); -#3431=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10530,#3432,'',$,#3430,#244,*); -#3432=AXIS2_PLACEMENT_2D('',#3434,#3433); -#3433=DIRECTION('',(1.0,0.0)); -#3434=CARTESIAN_POINT('',(0.07,0.0384)); -#3435=ASSEMBLY_COMPONENT_USAGE('4','tlist','is unknown',#272,#2692,'4'); -#3436=MAPPED_ITEM('tlistt',#15780,#3432); -#3437=PACKAGE_TERMINAL('3','part generic feature',#242,.T.); -#3438=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10530,#3439,'',$,#3437,#244,*); -#3439=AXIS2_PLACEMENT_2D('',#3441,#3440); -#3440=DIRECTION('',(1.0,0.0)); -#3441=CARTESIAN_POINT('',(0.07,0.0128)); -#3442=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#272,#2692,'3'); -#3443=MAPPED_ITEM('tlistt',#15780,#3439); -#3444=PACKAGE_TERMINAL('2','part generic feature',#242,.T.); -#3445=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10530,#3446,'',$,#3444,#244,*); -#3446=AXIS2_PLACEMENT_2D('',#3448,#3447); -#3447=DIRECTION('',(1.0,0.0)); -#3448=CARTESIAN_POINT('',(0.07,-0.0128)); -#3449=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#272,#2692,'2'); -#3450=MAPPED_ITEM('tlistt',#15780,#3446); -#3451=PACKAGE_TERMINAL('1','part generic feature',#242,.T.); -#3452=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10530,#3453,'',$,#3451,#244,*); -#3453=AXIS2_PLACEMENT_2D('',#3455,#3454); -#3454=DIRECTION('',(1.0,0.0)); -#3455=CARTESIAN_POINT('',(0.07,-0.0384)); -#3456=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#272,#2692,'1'); -#3457=MAPPED_ITEM('tlistt',#15780,#3453); -#3458=PRODUCT('so_8_micromax.v036t008-for so_8_micromax-footprint','breakout footprint', - $,(#14731)); -#3459=PRODUCT_DEFINITION_FORMATION('26',$,#3458); -#3460=(BREAKOUT_FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION() - GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PART_TEMPLATE_DEFINITION()PRODUCT_DEFINITION('1',$,#3459,#28) - PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*) - STRATUM_STACK_DEPENDENT_TEMPLATE()STRUCTURED_TEMPLATE()); -#3461=SHAPE_REPRESENTATION('ppsm',(#26,#3464,#3474,#3478,#3491,#3501,#3505,#3516, - #3526,#3530,#3541,#3551,#3555,#3566,#3576,#3580,#3591,#3601,#3605,#3616,#3626, - #3630,#3641,#3651,#3655),#3462); -#3462=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3463=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3460,#2758,'drill'); -#3464=MAPPED_ITEM('tlistt',#15805,#3465); -#3465=AXIS2_PLACEMENT_2D('',#3467,#3466); -#3466=DIRECTION('',(1.0,0.0)); -#3467=CARTESIAN_POINT('',(0.15,-0.1)); -#3468=PRODUCT('PAD in so_8_micromax.v036t008-0-PAD','template',$,(#14731)); -#3469=PRODUCT_DEFINITION_FORMATION('1',$,#3468); -#3470=STRATUM_FEATURE_TEMPLATE('1',$,#3469,#28,'',$,*); -#3471=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3489),#3472); -#3472=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3473=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3460,#3470, - 'PAD_1','',$,#3473); -#3474=MAPPED_ITEM('tlistt',#15809,#3475); -#3475=AXIS2_PLACEMENT_2D('',#3476,$); -#3476=CARTESIAN_POINT('',(0.0,0.0)); -#3477=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3460,#3470, - 'PAD_2','',$,#3477); -#3478=MAPPED_ITEM('tlistt',#15809,#3479); -#3479=AXIS2_PLACEMENT_2D('',#3480,$); -#3480=CARTESIAN_POINT('',(0.0,0.0)); -#3481=CLOSED_CURVE_STYLE_PARAMETERS('',(#8415,#8416,#3482),#8414); -#3482=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0080),#71)REPRESENTATION_ITEM('curve width')); -#3483=POLYLINE('centreline',(#3484,#3485,#3486,#3487)); -#3484=CARTESIAN_POINT('',(0.07,-0.0384)); -#3485=CARTESIAN_POINT('',(0.1175,-0.0384)); -#3486=CARTESIAN_POINT('',(0.15,-0.07)); -#3487=CARTESIAN_POINT('',(0.15,-0.1)); -#3488=PATH_AREA_WITH_PARAMETERS('',#12442,#3483); -#3489=CSG_PRIMITIVE_SOLID_2D('',#3488); -#3490=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3460,#2758,'drill'); -#3491=MAPPED_ITEM('tlistt',#15805,#3492); -#3492=AXIS2_PLACEMENT_2D('',#3494,#3493); -#3493=DIRECTION('',(1.0,0.0)); -#3494=CARTESIAN_POINT('',(0.15,0.0)); -#3495=PRODUCT('PAD in so_8_micromax.v036t008-1-PAD','template',$,(#14731)); -#3496=PRODUCT_DEFINITION_FORMATION('1',$,#3495); -#3497=STRATUM_FEATURE_TEMPLATE('1',$,#3496,#28,'',$,*); -#3498=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3514),#3499); -#3499=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3500=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3460,#3497, - 'PAD_1','',$,#3500); -#3501=MAPPED_ITEM('tlistt',#15819,#3502); -#3502=AXIS2_PLACEMENT_2D('',#3503,$); -#3503=CARTESIAN_POINT('',(0.0,0.0)); -#3504=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3460,#3497, - 'PAD_2','',$,#3504); -#3505=MAPPED_ITEM('tlistt',#15819,#3506); -#3506=AXIS2_PLACEMENT_2D('',#3507,$); -#3507=CARTESIAN_POINT('',(0.0,0.0)); -#3508=POLYLINE('centreline',(#3509,#3510,#3511,#3512)); -#3509=CARTESIAN_POINT('',(0.07,0.0128)); -#3510=CARTESIAN_POINT('',(0.11,0.0128)); -#3511=CARTESIAN_POINT('',(0.1225,0.0)); -#3512=CARTESIAN_POINT('',(0.15,0.0)); -#3513=PATH_AREA_WITH_PARAMETERS('',#12442,#3508); -#3514=CSG_PRIMITIVE_SOLID_2D('',#3513); -#3515=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3460,#2758,'drill'); -#3516=MAPPED_ITEM('tlistt',#15805,#3517); -#3517=AXIS2_PLACEMENT_2D('',#3519,#3518); -#3518=DIRECTION('',(1.0,0.0)); -#3519=CARTESIAN_POINT('',(0.15,0.1)); -#3520=PRODUCT('PAD in so_8_micromax.v036t008-2-PAD','template',$,(#14731)); -#3521=PRODUCT_DEFINITION_FORMATION('1',$,#3520); -#3522=STRATUM_FEATURE_TEMPLATE('1',$,#3521,#28,'',$,*); -#3523=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3539),#3524); -#3524=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3525=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3460,#3522, - 'PAD_1','',$,#3525); -#3526=MAPPED_ITEM('tlistt',#15829,#3527); -#3527=AXIS2_PLACEMENT_2D('',#3528,$); -#3528=CARTESIAN_POINT('',(0.0,0.0)); -#3529=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3460,#3522, - 'PAD_2','',$,#3529); -#3530=MAPPED_ITEM('tlistt',#15829,#3531); -#3531=AXIS2_PLACEMENT_2D('',#3532,$); -#3532=CARTESIAN_POINT('',(0.0,0.0)); -#3533=POLYLINE('centreline',(#3534,#3535,#3536,#3537)); -#3534=CARTESIAN_POINT('',(0.07,0.0384)); -#3535=CARTESIAN_POINT('',(0.1175,0.0384)); -#3536=CARTESIAN_POINT('',(0.15,0.07)); -#3537=CARTESIAN_POINT('',(0.15,0.1)); -#3538=PATH_AREA_WITH_PARAMETERS('',#12442,#3533); -#3539=CSG_PRIMITIVE_SOLID_2D('',#3538); -#3540=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3460,#2758,'drill'); -#3541=MAPPED_ITEM('tlistt',#15805,#3542); -#3542=AXIS2_PLACEMENT_2D('',#3544,#3543); -#3543=DIRECTION('',(1.0,0.0)); -#3544=CARTESIAN_POINT('',(0.0,0.1)); -#3545=PRODUCT('PAD in so_8_micromax.v036t008-3-PAD','template',$,(#14731)); -#3546=PRODUCT_DEFINITION_FORMATION('1',$,#3545); -#3547=STRATUM_FEATURE_TEMPLATE('1',$,#3546,#28,'',$,*); -#3548=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3564),#3549); -#3549=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3550=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3460,#3547, - 'PAD_1','',$,#3550); -#3551=MAPPED_ITEM('tlistt',#15839,#3552); -#3552=AXIS2_PLACEMENT_2D('',#3553,$); -#3553=CARTESIAN_POINT('',(0.0,0.0)); -#3554=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3460,#3547, - 'PAD_2','',$,#3554); -#3555=MAPPED_ITEM('tlistt',#15839,#3556); -#3556=AXIS2_PLACEMENT_2D('',#3557,$); -#3557=CARTESIAN_POINT('',(0.0,0.0)); -#3558=POLYLINE('centreline',(#3559,#3560,#3561,#3562)); -#3559=CARTESIAN_POINT('',(-0.07,0.0128)); -#3560=CARTESIAN_POINT('',(-0.0275,0.0128)); -#3561=CARTESIAN_POINT('',(0.0,0.04)); -#3562=CARTESIAN_POINT('',(0.0,0.1)); -#3563=PATH_AREA_WITH_PARAMETERS('',#12442,#3558); -#3564=CSG_PRIMITIVE_SOLID_2D('',#3563); -#3565=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3460,#2758,'drill'); -#3566=MAPPED_ITEM('tlistt',#15805,#3567); -#3567=AXIS2_PLACEMENT_2D('',#3569,#3568); -#3568=DIRECTION('',(1.0,0.0)); -#3569=CARTESIAN_POINT('',(-0.15,0.0)); -#3570=PRODUCT('PAD in so_8_micromax.v036t008-4-PAD','template',$,(#14731)); -#3571=PRODUCT_DEFINITION_FORMATION('1',$,#3570); -#3572=STRATUM_FEATURE_TEMPLATE('1',$,#3571,#28,'',$,*); -#3573=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3589),#3574); -#3574=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3575=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3460,#3572, - 'PAD_1','',$,#3575); -#3576=MAPPED_ITEM('tlistt',#15849,#3577); -#3577=AXIS2_PLACEMENT_2D('',#3578,$); -#3578=CARTESIAN_POINT('',(0.0,0.0)); -#3579=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3460,#3572, - 'PAD_2','',$,#3579); -#3580=MAPPED_ITEM('tlistt',#15849,#3581); -#3581=AXIS2_PLACEMENT_2D('',#3582,$); -#3582=CARTESIAN_POINT('',(0.0,0.0)); -#3583=POLYLINE('centreline',(#3584,#3585,#3586,#3587)); -#3584=CARTESIAN_POINT('',(-0.07,-0.0128)); -#3585=CARTESIAN_POINT('',(-0.11,-0.0128)); -#3586=CARTESIAN_POINT('',(-0.1225,0.0)); -#3587=CARTESIAN_POINT('',(-0.15,0.0)); -#3588=PATH_AREA_WITH_PARAMETERS('',#12442,#3583); -#3589=CSG_PRIMITIVE_SOLID_2D('',#3588); -#3590=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3460,#2758,'drill'); -#3591=MAPPED_ITEM('tlistt',#15805,#3592); -#3592=AXIS2_PLACEMENT_2D('',#3594,#3593); -#3593=DIRECTION('',(1.0,0.0)); -#3594=CARTESIAN_POINT('',(-0.15,0.1)); -#3595=PRODUCT('PAD in so_8_micromax.v036t008-5-PAD','template',$,(#14731)); -#3596=PRODUCT_DEFINITION_FORMATION('1',$,#3595); -#3597=STRATUM_FEATURE_TEMPLATE('1',$,#3596,#28,'',$,*); -#3598=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3614),#3599); -#3599=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3600=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3460,#3597, - 'PAD_1','',$,#3600); -#3601=MAPPED_ITEM('tlistt',#15859,#3602); -#3602=AXIS2_PLACEMENT_2D('',#3603,$); -#3603=CARTESIAN_POINT('',(0.0,0.0)); -#3604=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3460,#3597, - 'PAD_2','',$,#3604); -#3605=MAPPED_ITEM('tlistt',#15859,#3606); -#3606=AXIS2_PLACEMENT_2D('',#3607,$); -#3607=CARTESIAN_POINT('',(0.0,0.0)); -#3608=POLYLINE('centreline',(#3609,#3610,#3611,#3612)); -#3609=CARTESIAN_POINT('',(-0.07,0.0384)); -#3610=CARTESIAN_POINT('',(-0.1175,0.0384)); -#3611=CARTESIAN_POINT('',(-0.15,0.07)); -#3612=CARTESIAN_POINT('',(-0.15,0.1)); -#3613=PATH_AREA_WITH_PARAMETERS('',#12442,#3608); -#3614=CSG_PRIMITIVE_SOLID_2D('',#3613); -#3615=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3460,#2758,'drill'); -#3616=MAPPED_ITEM('tlistt',#15805,#3617); -#3617=AXIS2_PLACEMENT_2D('',#3619,#3618); -#3618=DIRECTION('',(1.0,0.0)); -#3619=CARTESIAN_POINT('',(-0.15,-0.1)); -#3620=PRODUCT('PAD in so_8_micromax.v036t008-6-PAD','template',$,(#14731)); -#3621=PRODUCT_DEFINITION_FORMATION('1',$,#3620); -#3622=STRATUM_FEATURE_TEMPLATE('1',$,#3621,#28,'',$,*); -#3623=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3639),#3624); -#3624=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3625=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3460,#3622, - 'PAD_1','',$,#3625); -#3626=MAPPED_ITEM('tlistt',#15869,#3627); -#3627=AXIS2_PLACEMENT_2D('',#3628,$); -#3628=CARTESIAN_POINT('',(0.0,0.0)); -#3629=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3460,#3622, - 'PAD_2','',$,#3629); -#3630=MAPPED_ITEM('tlistt',#15869,#3631); -#3631=AXIS2_PLACEMENT_2D('',#3632,$); -#3632=CARTESIAN_POINT('',(0.0,0.0)); -#3633=POLYLINE('centreline',(#3634,#3635,#3636,#3637)); -#3634=CARTESIAN_POINT('',(-0.07,-0.0384)); -#3635=CARTESIAN_POINT('',(-0.1175,-0.0384)); -#3636=CARTESIAN_POINT('',(-0.15,-0.07)); -#3637=CARTESIAN_POINT('',(-0.15,-0.1)); -#3638=PATH_AREA_WITH_PARAMETERS('',#12442,#3633); -#3639=CSG_PRIMITIVE_SOLID_2D('',#3638); -#3640=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3460,#2758,'drill'); -#3641=MAPPED_ITEM('tlistt',#15805,#3642); -#3642=AXIS2_PLACEMENT_2D('',#3644,#3643); -#3643=DIRECTION('',(1.0,0.0)); -#3644=CARTESIAN_POINT('',(0.0,-0.1)); -#3645=PRODUCT('PAD in so_8_micromax.v036t008-7-PAD','template',$,(#14731)); -#3646=PRODUCT_DEFINITION_FORMATION('1',$,#3645); -#3647=STRATUM_FEATURE_TEMPLATE('1',$,#3646,#28,'',$,*); -#3648=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3664),#3649); -#3649=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3650=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3460,#3647, - 'PAD_1','',$,#3650); -#3651=MAPPED_ITEM('tlistt',#15879,#3652); -#3652=AXIS2_PLACEMENT_2D('',#3653,$); -#3653=CARTESIAN_POINT('',(0.0,0.0)); -#3654=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3460,#3647, - 'PAD_2','',$,#3654); -#3655=MAPPED_ITEM('tlistt',#15879,#3656); -#3656=AXIS2_PLACEMENT_2D('',#3657,$); -#3657=CARTESIAN_POINT('',(0.0,0.0)); -#3658=POLYLINE('centreline',(#3659,#3660,#3661,#3662)); -#3659=CARTESIAN_POINT('',(0.07,-0.0128)); -#3660=CARTESIAN_POINT('',(0.0275,-0.0128)); -#3661=CARTESIAN_POINT('',(0.0,-0.04)); -#3662=CARTESIAN_POINT('',(0.0,-0.1)); -#3663=PATH_AREA_WITH_PARAMETERS('',#12442,#3658); -#3664=CSG_PRIMITIVE_SOLID_2D('',#3663); -#3665=PRODUCT('so_8_micromax.v036t008g075-for so_8_micromax-footprint','breakout footprint', - $,(#14731)); -#3666=PRODUCT_DEFINITION_FORMATION('26',$,#3665); -#3667=(BREAKOUT_FOOTPRINT_DEFINITION()GENERIC_FOOTPRINT_DEFINITION() - GEOMETRIC_TEMPLATE()MULTI_STRATUM_STRUCTURED_TEMPLATE() - PART_TEMPLATE_DEFINITION()PRODUCT_DEFINITION('1',$,#3666,#28) - PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*) - STRATUM_STACK_DEPENDENT_TEMPLATE()STRUCTURED_TEMPLATE()); -#3668=SHAPE_REPRESENTATION('ppsm',(#26,#3671,#3681,#3685,#3694,#3704,#3708,#3717, - #3727,#3731,#3740,#3750,#3754,#3763,#3773,#3777,#3786,#3796,#3800,#3809,#3819, - #3823,#3831,#3841,#3845),#3669); -#3669=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3670=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3667,#2758,'drill'); -#3671=MAPPED_ITEM('tlistt',#15805,#3672); -#3672=AXIS2_PLACEMENT_2D('',#3674,#3673); -#3673=DIRECTION('',(1.0,0.0)); -#3674=CARTESIAN_POINT('',(0.15,0.075)); -#3675=PRODUCT('PAD in so_8_micromax.v036t008g075-0-PAD','template',$,(#14731)); -#3676=PRODUCT_DEFINITION_FORMATION('1',$,#3675); -#3677=STRATUM_FEATURE_TEMPLATE('1',$,#3676,#28,'',$,*); -#3678=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3692),#3679); -#3679=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3680=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3667,#3677, - 'PAD_1','',$,#3680); -#3681=MAPPED_ITEM('tlistt',#15889,#3682); -#3682=AXIS2_PLACEMENT_2D('',#3683,$); -#3683=CARTESIAN_POINT('',(0.0,0.0)); -#3684=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3667,#3677, - 'PAD_2','',$,#3684); -#3685=MAPPED_ITEM('tlistt',#15889,#3686); -#3686=AXIS2_PLACEMENT_2D('',#3687,$); -#3687=CARTESIAN_POINT('',(0.0,0.0)); -#3688=POLYLINE('centreline',(#3534,#3689,#3690)); -#3689=CARTESIAN_POINT('',(0.1125,0.0384)); -#3690=CARTESIAN_POINT('',(0.15,0.075)); -#3691=PATH_AREA_WITH_PARAMETERS('',#12442,#3688); -#3692=CSG_PRIMITIVE_SOLID_2D('',#3691); -#3693=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3667,#2758,'drill'); -#3694=MAPPED_ITEM('tlistt',#15805,#3695); -#3695=AXIS2_PLACEMENT_2D('',#3697,#3696); -#3696=DIRECTION('',(1.0,0.0)); -#3697=CARTESIAN_POINT('',(0.15,0.0)); -#3698=PRODUCT('PAD in so_8_micromax.v036t008g075-1-PAD','template',$,(#14731)); -#3699=PRODUCT_DEFINITION_FORMATION('1',$,#3698); -#3700=STRATUM_FEATURE_TEMPLATE('1',$,#3699,#28,'',$,*); -#3701=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3715),#3702); -#3702=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3703=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3667,#3700, - 'PAD_1','',$,#3703); -#3704=MAPPED_ITEM('tlistt',#15899,#3705); -#3705=AXIS2_PLACEMENT_2D('',#3706,$); -#3706=CARTESIAN_POINT('',(0.0,0.0)); -#3707=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3667,#3700, - 'PAD_2','',$,#3707); -#3708=MAPPED_ITEM('tlistt',#15899,#3709); -#3709=AXIS2_PLACEMENT_2D('',#3710,$); -#3710=CARTESIAN_POINT('',(0.0,0.0)); -#3711=POLYLINE('centreline',(#3509,#3712,#3713,#3512)); -#3712=CARTESIAN_POINT('',(0.1075,0.0128)); -#3713=CARTESIAN_POINT('',(0.12,0.0)); -#3714=PATH_AREA_WITH_PARAMETERS('',#12442,#3711); -#3715=CSG_PRIMITIVE_SOLID_2D('',#3714); -#3716=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3667,#2758,'drill'); -#3717=MAPPED_ITEM('tlistt',#15805,#3718); -#3718=AXIS2_PLACEMENT_2D('',#3720,#3719); -#3719=DIRECTION('',(1.0,0.0)); -#3720=CARTESIAN_POINT('',(0.15,-0.075)); -#3721=PRODUCT('PAD in so_8_micromax.v036t008g075-2-PAD','template',$,(#14731)); -#3722=PRODUCT_DEFINITION_FORMATION('1',$,#3721); -#3723=STRATUM_FEATURE_TEMPLATE('1',$,#3722,#28,'',$,*); -#3724=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3738),#3725); -#3725=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3726=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3667,#3723, - 'PAD_1','',$,#3726); -#3727=MAPPED_ITEM('tlistt',#15909,#3728); -#3728=AXIS2_PLACEMENT_2D('',#3729,$); -#3729=CARTESIAN_POINT('',(0.0,0.0)); -#3730=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3667,#3723, - 'PAD_2','',$,#3730); -#3731=MAPPED_ITEM('tlistt',#15909,#3732); -#3732=AXIS2_PLACEMENT_2D('',#3733,$); -#3733=CARTESIAN_POINT('',(0.0,0.0)); -#3734=POLYLINE('centreline',(#3484,#3735,#3736)); -#3735=CARTESIAN_POINT('',(0.1125,-0.0384)); -#3736=CARTESIAN_POINT('',(0.15,-0.075)); -#3737=PATH_AREA_WITH_PARAMETERS('',#12442,#3734); -#3738=CSG_PRIMITIVE_SOLID_2D('',#3737); -#3739=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3667,#2758,'drill'); -#3740=MAPPED_ITEM('tlistt',#15805,#3741); -#3741=AXIS2_PLACEMENT_2D('',#3743,#3742); -#3742=DIRECTION('',(1.0,0.0)); -#3743=CARTESIAN_POINT('',(-0.15,0.075)); -#3744=PRODUCT('PAD in so_8_micromax.v036t008g075-3-PAD','template',$,(#14731)); -#3745=PRODUCT_DEFINITION_FORMATION('1',$,#3744); -#3746=STRATUM_FEATURE_TEMPLATE('1',$,#3745,#28,'',$,*); -#3747=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3761),#3748); -#3748=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3749=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3667,#3746, - 'PAD_1','',$,#3749); -#3750=MAPPED_ITEM('tlistt',#15919,#3751); -#3751=AXIS2_PLACEMENT_2D('',#3752,$); -#3752=CARTESIAN_POINT('',(0.0,0.0)); -#3753=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3667,#3746, - 'PAD_2','',$,#3753); -#3754=MAPPED_ITEM('tlistt',#15919,#3755); -#3755=AXIS2_PLACEMENT_2D('',#3756,$); -#3756=CARTESIAN_POINT('',(0.0,0.0)); -#3757=POLYLINE('centreline',(#3609,#3758,#3759)); -#3758=CARTESIAN_POINT('',(-0.1125,0.0384)); -#3759=CARTESIAN_POINT('',(-0.15,0.075)); -#3760=PATH_AREA_WITH_PARAMETERS('',#12442,#3757); -#3761=CSG_PRIMITIVE_SOLID_2D('',#3760); -#3762=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3667,#2758,'drill'); -#3763=MAPPED_ITEM('tlistt',#15805,#3764); -#3764=AXIS2_PLACEMENT_2D('',#3766,#3765); -#3765=DIRECTION('',(1.0,0.0)); -#3766=CARTESIAN_POINT('',(-0.15,0.0)); -#3767=PRODUCT('PAD in so_8_micromax.v036t008g075-4-PAD','template',$,(#14731)); -#3768=PRODUCT_DEFINITION_FORMATION('1',$,#3767); -#3769=STRATUM_FEATURE_TEMPLATE('1',$,#3768,#28,'',$,*); -#3770=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3784),#3771); -#3771=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3772=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3667,#3769, - 'PAD_1','',$,#3772); -#3773=MAPPED_ITEM('tlistt',#15929,#3774); -#3774=AXIS2_PLACEMENT_2D('',#3775,$); -#3775=CARTESIAN_POINT('',(0.0,0.0)); -#3776=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3667,#3769, - 'PAD_2','',$,#3776); -#3777=MAPPED_ITEM('tlistt',#15929,#3778); -#3778=AXIS2_PLACEMENT_2D('',#3779,$); -#3779=CARTESIAN_POINT('',(0.0,0.0)); -#3780=POLYLINE('centreline',(#3584,#3781,#3782,#3587)); -#3781=CARTESIAN_POINT('',(-0.1075,-0.0128)); -#3782=CARTESIAN_POINT('',(-0.12,0.0)); -#3783=PATH_AREA_WITH_PARAMETERS('',#12442,#3780); -#3784=CSG_PRIMITIVE_SOLID_2D('',#3783); -#3785=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3667,#2758,'drill'); -#3786=MAPPED_ITEM('tlistt',#15805,#3787); -#3787=AXIS2_PLACEMENT_2D('',#3789,#3788); -#3788=DIRECTION('',(1.0,0.0)); -#3789=CARTESIAN_POINT('',(-0.15,-0.075)); -#3790=PRODUCT('PAD in so_8_micromax.v036t008g075-5-PAD','template',$,(#14731)); -#3791=PRODUCT_DEFINITION_FORMATION('1',$,#3790); -#3792=STRATUM_FEATURE_TEMPLATE('1',$,#3791,#28,'',$,*); -#3793=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3807),#3794); -#3794=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3795=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3667,#3792, - 'PAD_1','',$,#3795); -#3796=MAPPED_ITEM('tlistt',#15939,#3797); -#3797=AXIS2_PLACEMENT_2D('',#3798,$); -#3798=CARTESIAN_POINT('',(0.0,0.0)); -#3799=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3667,#3792, - 'PAD_2','',$,#3799); -#3800=MAPPED_ITEM('tlistt',#15939,#3801); -#3801=AXIS2_PLACEMENT_2D('',#3802,$); -#3802=CARTESIAN_POINT('',(0.0,0.0)); -#3803=POLYLINE('centreline',(#3634,#3804,#3805)); -#3804=CARTESIAN_POINT('',(-0.1125,-0.0384)); -#3805=CARTESIAN_POINT('',(-0.15,-0.075)); -#3806=PATH_AREA_WITH_PARAMETERS('',#12442,#3803); -#3807=CSG_PRIMITIVE_SOLID_2D('',#3806); -#3808=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3667,#2758,'drill'); -#3809=MAPPED_ITEM('tlistt',#15805,#3810); -#3810=AXIS2_PLACEMENT_2D('',#3812,#3811); -#3811=DIRECTION('',(1.0,0.0)); -#3812=CARTESIAN_POINT('',(0.0,0.075)); -#3813=PRODUCT('PAD in so_8_micromax.v036t008g075-6-PAD','template',$,(#14731)); -#3814=PRODUCT_DEFINITION_FORMATION('1',$,#3813); -#3815=STRATUM_FEATURE_TEMPLATE('1',$,#3814,#28,'',$,*); -#3816=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3829),#3817); -#3817=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3818=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3667,#3815, - 'PAD_1','',$,#3818); -#3819=MAPPED_ITEM('tlistt',#15949,#3820); -#3820=AXIS2_PLACEMENT_2D('',#3821,$); -#3821=CARTESIAN_POINT('',(0.0,0.0)); -#3822=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3667,#3815, - 'PAD_2','',$,#3822); -#3823=MAPPED_ITEM('tlistt',#15949,#3824); -#3824=AXIS2_PLACEMENT_2D('',#3825,$); -#3825=CARTESIAN_POINT('',(0.0,0.0)); -#3826=POLYLINE('centreline',(#3559,#3560,#3561,#3827)); -#3827=CARTESIAN_POINT('',(0.0,0.075)); -#3828=PATH_AREA_WITH_PARAMETERS('',#12442,#3826); -#3829=CSG_PRIMITIVE_SOLID_2D('',#3828); -#3830=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#3667,#2758,'drill'); -#3831=MAPPED_ITEM('tlistt',#15805,#3832); -#3832=AXIS2_PLACEMENT_2D('',#3834,#3833); -#3833=DIRECTION('',(1.0,0.0)); -#3834=CARTESIAN_POINT('',(0.0,-0.075)); -#3835=PRODUCT('PAD in so_8_micromax.v036t008g075-7-PAD','template',$,(#14731)); -#3836=PRODUCT_DEFINITION_FORMATION('1',$,#3835); -#3837=STRATUM_FEATURE_TEMPLATE('1',$,#3836,#28,'',$,*); -#3838=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#3851),#3839); -#3839=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3840=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_1','tlist','is unknown',#3667,#3837, - 'PAD_1','',$,#3840); -#3841=MAPPED_ITEM('tlistt',#15959,#3842); -#3842=AXIS2_PLACEMENT_2D('',#3843,$); -#3843=CARTESIAN_POINT('',(0.0,0.0)); -#3844=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PAD_2','tlist','is unknown',#3667,#3837, - 'PAD_2','',$,#3844); -#3845=MAPPED_ITEM('tlistt',#15959,#3846); -#3846=AXIS2_PLACEMENT_2D('',#3847,$); -#3847=CARTESIAN_POINT('',(0.0,0.0)); -#3848=POLYLINE('centreline',(#3659,#3660,#3661,#3849)); -#3849=CARTESIAN_POINT('',(0.0,-0.075)); -#3850=PATH_AREA_WITH_PARAMETERS('',#12442,#3848); -#3851=CSG_PRIMITIVE_SOLID_2D('',#3850); -#3852=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3853=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#3860),#3852); -#3854=POLYLINE('',(#3855,#3856,#3857,#3858,#3859)); -#3855=CARTESIAN_POINT('',(0.24,0.05)); -#3856=CARTESIAN_POINT('',(0.24,-0.05)); -#3857=CARTESIAN_POINT('',(-0.04,-0.05)); -#3858=CARTESIAN_POINT('',(-0.04,0.05)); -#3859=CARTESIAN_POINT('',(0.24,0.05)); -#3860=GEOMETRIC_CURVE_SET('',(#3854)); -#3861=CSG_2D_SHAPE_REPRESENTATION('',(#26,#3862),#277); -#3862=CSG_SOLID_2D('',#3864); -#3863=CARTESIAN_POINT('',(0.0,0.0)); -#3864=CIRCULAR_AREA('',#3863,0.015); -#3865=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#3866=PRODUCT_DEFINITION_SHAPE('',$,#3865); -#3867=SHAPE_DEFINITION_REPRESENTATION(#3866,#3861); -#3868=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#276,.T.); -#3869=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10531,#3870,'',$,#3868,#278,*); -#3870=AXIS2_PLACEMENT_2D('',#3871,$); -#3871=CARTESIAN_POINT('',(0.0,0.0)); -#3872=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#297,#1152,'1'); -#3873=MAPPED_ITEM('tlistt',#15966,#3870); -#3874=PACKAGE_TERMINAL('2','part generic feature',#276,.T.); -#3875=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10531,#3876,'',$,#3874,#278,*); -#3876=AXIS2_PLACEMENT_2D('',#3878,#3877); -#3877=DIRECTION('',(1.0,0.0)); -#3878=CARTESIAN_POINT('',(0.2,0.0)); -#3879=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#297,#1152,'2'); -#3880=MAPPED_ITEM('tlistt',#15966,#3876); -#3881=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3882=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#3889),#3881); -#3883=POLYLINE('',(#3884,#3885,#3886,#3887,#3888)); -#3884=CARTESIAN_POINT('',(0.25,0.05)); -#3885=CARTESIAN_POINT('',(0.25,-0.05)); -#3886=CARTESIAN_POINT('',(-0.05,-0.05)); -#3887=CARTESIAN_POINT('',(-0.05,0.05)); -#3888=CARTESIAN_POINT('',(0.25,0.05)); -#3889=GEOMETRIC_CURVE_SET('',(#3883)); -#3890=CSG_2D_SHAPE_REPRESENTATION('',(#26,#3891),#302); -#3891=CSG_SOLID_2D('',#3893); -#3892=CARTESIAN_POINT('',(0.0,0.0)); -#3893=CIRCULAR_AREA('',#3892,0.015); -#3894=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#3895=PRODUCT_DEFINITION_SHAPE('',$,#3894); -#3896=SHAPE_DEFINITION_REPRESENTATION(#3895,#3890); -#3897=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#301,.T.); -#3898=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10532,#3899,'',$,#3897,#303,*); -#3899=AXIS2_PLACEMENT_2D('',#3900,$); -#3900=CARTESIAN_POINT('',(0.0,0.0)); -#3901=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#322,#1152,'1'); -#3902=MAPPED_ITEM('tlistt',#15966,#3899); -#3903=PACKAGE_TERMINAL('2','part generic feature',#301,.T.); -#3904=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10532,#3905,'',$,#3903,#303,*); -#3905=AXIS2_PLACEMENT_2D('',#3907,#3906); -#3906=DIRECTION('',(1.0,0.0)); -#3907=CARTESIAN_POINT('',(0.2,0.0)); -#3908=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#322,#1152,'2'); -#3909=MAPPED_ITEM('tlistt',#15966,#3905); -#3910=PHYSICAL_UNIT_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK('',(#12477),#327,'', - $,#3912,#12475); -#3911=SHAPE_ASPECT('Outline where vias can not be placed in- within layer SIGNAL_1', - 'vlnfse',#326,.F.); -#3912=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#3913),#327); -#3913=CSG_SOLID_2D('',#3914); -#3914=POLYGONAL_AREA('',(#3915,#3916,#3917,#3918,#3919)); -#3915=CARTESIAN_POINT('',(0.05,0.1)); -#3916=CARTESIAN_POINT('',(0.05,-0.4)); -#3917=CARTESIAN_POINT('',(0.25,-0.4)); -#3918=CARTESIAN_POINT('',(0.25,0.1)); -#3919=CARTESIAN_POINT('',(0.05,0.1)); -#3920=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#3921=REPRESENTATION('maximum tolerance',(#3920),#3922); -#3922=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3923=PHYSICAL_UNIT_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK('',(#12486),#327,'', - $,#3925,#12484); -#3924=SHAPE_ASPECT('Outline where vias can not be placed in- within layer SIGNAL_2', - 'vlnfse',#326,.F.); -#3925=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#3926),#327); -#3926=CSG_SOLID_2D('',#3927); -#3927=POLYGONAL_AREA('',(#3928,#3929,#3930,#3931,#3932)); -#3928=CARTESIAN_POINT('',(0.05,0.1)); -#3929=CARTESIAN_POINT('',(0.05,-0.4)); -#3930=CARTESIAN_POINT('',(0.25,-0.4)); -#3931=CARTESIAN_POINT('',(0.25,0.1)); -#3932=CARTESIAN_POINT('',(0.05,0.1)); -#3933=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#3934=REPRESENTATION('maximum tolerance',(#3933),#3935); -#3935=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3936=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#3937=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#3944),#3936); -#3938=POLYLINE('',(#3939,#3940,#3941,#3942,#3943)); -#3939=CARTESIAN_POINT('',(0.05,0.1)); -#3940=CARTESIAN_POINT('',(0.05,-0.4)); -#3941=CARTESIAN_POINT('',(0.25,-0.4)); -#3942=CARTESIAN_POINT('',(0.25,0.1)); -#3943=CARTESIAN_POINT('',(0.05,0.1)); -#3944=GEOMETRIC_CURVE_SET('',(#3938,#3945,#3948,#3951,#3954,#3957,#3960,#3963,#3966, - #3969)); -#3945=POLYLINE('',(#3946,#3947)); -#3946=CARTESIAN_POINT('',(0.0,0.0)); -#3947=CARTESIAN_POINT('',(0.05,0.0)); -#3948=POLYLINE('',(#3949,#3950)); -#3949=CARTESIAN_POINT('',(0.0,-0.1)); -#3950=CARTESIAN_POINT('',(0.05,-0.1)); -#3951=POLYLINE('',(#3952,#3953)); -#3952=CARTESIAN_POINT('',(0.0,-0.2)); -#3953=CARTESIAN_POINT('',(0.05,-0.2)); -#3954=POLYLINE('',(#3955,#3956)); -#3955=CARTESIAN_POINT('',(0.0,-0.3)); -#3956=CARTESIAN_POINT('',(0.05,-0.3)); -#3957=POLYLINE('',(#3958,#3959)); -#3958=CARTESIAN_POINT('',(0.25,0.0)); -#3959=CARTESIAN_POINT('',(0.3,0.0)); -#3960=POLYLINE('',(#3961,#3962)); -#3961=CARTESIAN_POINT('',(0.25,-0.1)); -#3962=CARTESIAN_POINT('',(0.3,-0.1)); -#3963=POLYLINE('',(#3964,#3965)); -#3964=CARTESIAN_POINT('',(0.25,-0.2)); -#3965=CARTESIAN_POINT('',(0.3,-0.2)); -#3966=POLYLINE('',(#3967,#3968)); -#3967=CARTESIAN_POINT('',(0.25,-0.3)); -#3968=CARTESIAN_POINT('',(0.3,-0.3)); -#3969=POLYLINE('',(#3970,#3971,#3972,#3973,#3974)); -#3970=CARTESIAN_POINT('',(0.075,0.075)); -#3971=CARTESIAN_POINT('',(0.075,0.05)); -#3972=CARTESIAN_POINT('',(0.1,0.05)); -#3973=CARTESIAN_POINT('',(0.1,0.075)); -#3974=CARTESIAN_POINT('',(0.075,0.075)); -#3975=CSG_2D_SHAPE_REPRESENTATION('',(#26,#3976),#327); -#3976=CSG_SOLID_2D('',#3978); -#3977=CARTESIAN_POINT('',(0.0,0.0)); -#3978=CIRCULAR_AREA('',#3977,0.015); -#3979=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#3980=PRODUCT_DEFINITION_SHAPE('',$,#3979); -#3981=SHAPE_DEFINITION_REPRESENTATION(#3980,#3975); -#3982=PRIMARY_REFERENCE_TERMINAL('8','part generic feature',#326,.T.); -#3983=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10533,#3984,'',$,#3982,#328,*); -#3984=AXIS2_PLACEMENT_2D('',#3986,#3985); -#3985=DIRECTION('',(1.0,0.0)); -#3986=CARTESIAN_POINT('',(0.3,0.0)); -#3987=ASSEMBLY_COMPONENT_USAGE('8','tlist','is unknown',#359,#1152,'8'); -#3988=MAPPED_ITEM('tlistt',#15966,#3984); -#3989=PACKAGE_TERMINAL('7','part generic feature',#326,.T.); -#3990=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10533,#3991,'',$,#3989,#328,*); -#3991=AXIS2_PLACEMENT_2D('',#3993,#3992); -#3992=DIRECTION('',(1.0,0.0)); -#3993=CARTESIAN_POINT('',(0.3,-0.1)); -#3994=ASSEMBLY_COMPONENT_USAGE('7','tlist','is unknown',#359,#1152,'7'); -#3995=MAPPED_ITEM('tlistt',#15966,#3991); -#3996=PACKAGE_TERMINAL('6','part generic feature',#326,.T.); -#3997=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10533,#3998,'',$,#3996,#328,*); -#3998=AXIS2_PLACEMENT_2D('',#4000,#3999); -#3999=DIRECTION('',(1.0,0.0)); -#4000=CARTESIAN_POINT('',(0.3,-0.2)); -#4001=ASSEMBLY_COMPONENT_USAGE('6','tlist','is unknown',#359,#1152,'6'); -#4002=MAPPED_ITEM('tlistt',#15966,#3998); -#4003=PACKAGE_TERMINAL('5','part generic feature',#326,.T.); -#4004=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10533,#4005,'',$,#4003,#328,*); -#4005=AXIS2_PLACEMENT_2D('',#4007,#4006); -#4006=DIRECTION('',(1.0,0.0)); -#4007=CARTESIAN_POINT('',(0.3,-0.3)); -#4008=ASSEMBLY_COMPONENT_USAGE('5','tlist','is unknown',#359,#1152,'5'); -#4009=MAPPED_ITEM('tlistt',#15966,#4005); -#4010=PACKAGE_TERMINAL('4','part generic feature',#326,.T.); -#4011=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10533,#4012,'',$,#4010,#328,*); -#4012=AXIS2_PLACEMENT_2D('',#4014,#4013); -#4013=DIRECTION('',(1.0,0.0)); -#4014=CARTESIAN_POINT('',(0.0,-0.3)); -#4015=ASSEMBLY_COMPONENT_USAGE('4','tlist','is unknown',#359,#1152,'4'); -#4016=MAPPED_ITEM('tlistt',#15966,#4012); -#4017=PACKAGE_TERMINAL('3','part generic feature',#326,.T.); -#4018=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10533,#4019,'',$,#4017,#328,*); -#4019=AXIS2_PLACEMENT_2D('',#4021,#4020); -#4020=DIRECTION('',(1.0,0.0)); -#4021=CARTESIAN_POINT('',(0.0,-0.2)); -#4022=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#359,#1152,'3'); -#4023=MAPPED_ITEM('tlistt',#15966,#4019); -#4024=PACKAGE_TERMINAL('2','part generic feature',#326,.T.); -#4025=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10533,#4026,'',$,#4024,#328,*); -#4026=AXIS2_PLACEMENT_2D('',#4028,#4027); -#4027=DIRECTION('',(1.0,0.0)); -#4028=CARTESIAN_POINT('',(0.0,-0.1)); -#4029=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#359,#1152,'2'); -#4030=MAPPED_ITEM('tlistt',#15966,#4026); -#4031=PACKAGE_TERMINAL('1','part generic feature',#326,.T.); -#4032=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10533,#4033,'',$,#4031,#328,*); -#4033=AXIS2_PLACEMENT_2D('',#4034,$); -#4034=CARTESIAN_POINT('',(0.0,0.0)); -#4035=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#359,#1520,'1'); -#4036=MAPPED_ITEM('tlistt',#16000,#4033); -#4037=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4038=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4042),#4037); -#4039=POLYLINE('',(#4040,#4041)); -#4040=CARTESIAN_POINT('',(0.375,0.0)); -#4041=CARTESIAN_POINT('',(0.45,0.0)); -#4042=GEOMETRIC_CURVE_SET('',(#4039,#4043,#4046,#4049,#4052)); -#4043=POLYLINE('',(#4044,#4045)); -#4044=CARTESIAN_POINT('',(0.355,0.05)); -#4045=CARTESIAN_POINT('',(0.355,-0.05)); -#4046=POLYLINE('',(#4047,#4048)); -#4047=CARTESIAN_POINT('',(0.0,0.0)); -#4048=CARTESIAN_POINT('',(0.075,0.0)); -#4049=POLYLINE('',(#4050,#4051)); -#4050=CARTESIAN_POINT('',(0.095,0.05)); -#4051=CARTESIAN_POINT('',(0.095,-0.05)); -#4052=POLYLINE('',(#4053,#4054,#4055,#4056,#4057,#4058,#4059)); -#4053=CARTESIAN_POINT('',(0.075,0.0)); -#4054=CARTESIAN_POINT('',(0.095,0.05)); -#4055=CARTESIAN_POINT('',(0.355,0.05)); -#4056=CARTESIAN_POINT('',(0.375,0.0)); -#4057=CARTESIAN_POINT('',(0.355,-0.05)); -#4058=CARTESIAN_POINT('',(0.095,-0.05)); -#4059=CARTESIAN_POINT('',(0.075,0.0)); -#4060=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4061),#364); -#4061=CSG_SOLID_2D('',#4063); -#4062=CARTESIAN_POINT('',(0.0,0.0)); -#4063=CIRCULAR_AREA('',#4062,0.015); -#4064=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4065=PRODUCT_DEFINITION_SHAPE('',$,#4064); -#4066=SHAPE_DEFINITION_REPRESENTATION(#4065,#4060); -#4067=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#363,.T.); -#4068=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10534,#4069,'',$,#4067,#365,*); -#4069=AXIS2_PLACEMENT_2D('',#4070,$); -#4070=CARTESIAN_POINT('',(0.0,0.0)); -#4071=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#396,#1152,'1'); -#4072=MAPPED_ITEM('tlistt',#15966,#4069); -#4073=PACKAGE_TERMINAL('2','part generic feature',#363,.T.); -#4074=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10534,#4075,'',$,#4073,#365,*); -#4075=AXIS2_PLACEMENT_2D('',#4077,#4076); -#4076=DIRECTION('',(1.0,0.0)); -#4077=CARTESIAN_POINT('',(0.45,0.0)); -#4078=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#396,#1152,'2'); -#4079=MAPPED_ITEM('tlistt',#15966,#4075); -#4080=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4081=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4090),#4080); -#4082=POLYLINE('',(#4083,#4084,#4085,#4086,#4087,#4088,#4089)); -#4083=CARTESIAN_POINT('',(0.1,0.0)); -#4084=CARTESIAN_POINT('',(0.12,0.05)); -#4085=CARTESIAN_POINT('',(0.38,0.05)); -#4086=CARTESIAN_POINT('',(0.4,0.0)); -#4087=CARTESIAN_POINT('',(0.38,-0.05)); -#4088=CARTESIAN_POINT('',(0.12,-0.05)); -#4089=CARTESIAN_POINT('',(0.1,0.0)); -#4090=GEOMETRIC_CURVE_SET('',(#4082,#4091,#4094,#4097,#4100)); -#4091=POLYLINE('',(#4092,#4093)); -#4092=CARTESIAN_POINT('',(0.12,0.05)); -#4093=CARTESIAN_POINT('',(0.12,-0.05)); -#4094=POLYLINE('',(#4095,#4096)); -#4095=CARTESIAN_POINT('',(0.0,0.0)); -#4096=CARTESIAN_POINT('',(0.1,0.0)); -#4097=POLYLINE('',(#4098,#4099)); -#4098=CARTESIAN_POINT('',(0.38,0.05)); -#4099=CARTESIAN_POINT('',(0.38,-0.05)); -#4100=POLYLINE('',(#4101,#4102)); -#4101=CARTESIAN_POINT('',(0.4,0.0)); -#4102=CARTESIAN_POINT('',(0.5,0.0)); -#4103=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4104),#401); -#4104=CSG_SOLID_2D('',#4106); -#4105=CARTESIAN_POINT('',(0.0,0.0)); -#4106=CIRCULAR_AREA('',#4105,0.015); -#4107=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4108=PRODUCT_DEFINITION_SHAPE('',$,#4107); -#4109=SHAPE_DEFINITION_REPRESENTATION(#4108,#4103); -#4110=PRIMARY_REFERENCE_TERMINAL('2','part generic feature',#400,.T.); -#4111=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10535,#4112,'',$,#4110,#402,*); -#4112=AXIS2_PLACEMENT_2D('',#4114,#4113); -#4113=DIRECTION('',(1.0,0.0)); -#4114=CARTESIAN_POINT('',(0.5,0.0)); -#4115=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#433,#1152,'2'); -#4116=MAPPED_ITEM('tlistt',#15966,#4112); -#4117=PACKAGE_TERMINAL('1','part generic feature',#400,.T.); -#4118=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10535,#4119,'',$,#4117,#402,*); -#4119=AXIS2_PLACEMENT_2D('',#4120,$); -#4120=CARTESIAN_POINT('',(0.0,0.0)); -#4121=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#433,#1152,'1'); -#4122=MAPPED_ITEM('tlistt',#15966,#4119); -#4123=SHAPE_ASPECT('Outline where vias can not be placed in','vlnfse',#437,.F.); -#4124=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#4125),#438); -#4125=CSG_SOLID_2D('',#4126); -#4126=POLYGONAL_AREA('',(#4127,#4128,#4129,#4130)); -#4127=CARTESIAN_POINT('',(-0.1325,0.0645)); -#4128=CARTESIAN_POINT('',(-0.1325,-0.0645)); -#4129=CARTESIAN_POINT('',(0.1325,-0.0645)); -#4130=CARTESIAN_POINT('',(0.1325,0.0645)); -#4131=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#4132=REPRESENTATION('maximum tolerance',(#4131),#4133); -#4133=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4134=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4135=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4142),#4134); -#4136=POLYLINE('',(#4137,#4138,#4139,#4140,#4141)); -#4137=CARTESIAN_POINT('',(-0.1325,0.0645)); -#4138=CARTESIAN_POINT('',(-0.1325,-0.0645)); -#4139=CARTESIAN_POINT('',(0.1325,-0.0645)); -#4140=CARTESIAN_POINT('',(0.1325,0.0645)); -#4141=CARTESIAN_POINT('',(-0.1325,0.0645)); -#4142=GEOMETRIC_CURVE_SET('',(#4136)); -#4143=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4144),#438); -#4144=CSG_SOLID_2D('',#4146); -#4145=CARTESIAN_POINT('',(0.0,0.0)); -#4146=CIRCULAR_AREA('',#4145,0.015); -#4147=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4148=PRODUCT_DEFINITION_SHAPE('',$,#4147); -#4149=SHAPE_DEFINITION_REPRESENTATION(#4148,#4143); -#4150=PRIMARY_REFERENCE_TERMINAL('2','part generic feature',#437,.T.); -#4151=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10536,#4152,'',$,#4150,#439,*); -#4152=AXIS2_PLACEMENT_2D('',#4154,#4153); -#4153=DIRECTION('',(1.0,0.0)); -#4154=CARTESIAN_POINT('',(0.1215,0.0)); -#4155=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#465,#2594,'2'); -#4156=MAPPED_ITEM('tlistt',#15758,#4152); -#4157=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#469,#2646,'2'); -#4158=MAPPED_ITEM('tlistt',#15762,#4152); -#4159=PACKAGE_TERMINAL('1','part generic feature',#437,.T.); -#4160=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10536,#4161,'',$,#4159,#439,*); -#4161=AXIS2_PLACEMENT_2D('',#4163,#4162); -#4162=DIRECTION('',(1.0,0.0)); -#4163=CARTESIAN_POINT('',(-0.1215,0.0)); -#4164=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#465,#2594,'1'); -#4165=MAPPED_ITEM('tlistt',#15758,#4161); -#4166=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#469,#2646,'1'); -#4167=MAPPED_ITEM('tlistt',#15762,#4161); -#4168=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#4169=PHYSICAL_UNIT_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK('',(#12495),#474,'', - $,#4171,#12493); -#4170=SHAPE_ASPECT('Outline where vias can not be placed in- within layer SIGNAL_2', - 'vlnfse',#473,.F.); -#4171=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#4172),#474); -#4172=CSG_SOLID_2D('',#4173); -#4173=POLYGONAL_AREA('',(#4174,#4175,#4176,#4177,#4178)); -#4174=CARTESIAN_POINT('',(0.05,0.1)); -#4175=CARTESIAN_POINT('',(0.05,-0.4)); -#4176=CARTESIAN_POINT('',(0.25,-0.4)); -#4177=CARTESIAN_POINT('',(0.25,0.1)); -#4178=CARTESIAN_POINT('',(0.05,0.1)); -#4179=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#4180=REPRESENTATION('maximum tolerance',(#4179),#4181); -#4181=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4182=PHYSICAL_UNIT_KEEPOUT_SHAPE_ALLOCATION_TO_STRATUM_STACK('',(#12501),#474,'', - $,#4184,#12499); -#4183=SHAPE_ASPECT('Outline where vias can not be placed in- within layer SIGNAL_1', - 'vlnfse',#473,.F.); -#4184=CSG_2D_SHAPE_REPRESENTATION('pupksm',(#26,#4185),#474); -#4185=CSG_SOLID_2D('',#4186); -#4186=POLYGONAL_AREA('',(#4187,#4188,#4189,#4190,#4191)); -#4187=CARTESIAN_POINT('',(0.05,0.1)); -#4188=CARTESIAN_POINT('',(0.05,-0.4)); -#4189=CARTESIAN_POINT('',(0.25,-0.4)); -#4190=CARTESIAN_POINT('',(0.25,0.1)); -#4191=CARTESIAN_POINT('',(0.05,0.1)); -#4192=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#4193=REPRESENTATION('maximum tolerance',(#4192),#4194); -#4194=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4195=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4196=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26,#4203),#4195); -#4197=POLYLINE('',(#4198,#4199,#4200,#4201,#4202)); -#4198=CARTESIAN_POINT('',(0.075,0.075)); -#4199=CARTESIAN_POINT('',(0.075,0.05)); -#4200=CARTESIAN_POINT('',(0.1,0.05)); -#4201=CARTESIAN_POINT('',(0.1,0.075)); -#4202=CARTESIAN_POINT('',(0.075,0.075)); -#4203=GEOMETRIC_CURVE_SET('',(#4197,#4204,#4207,#4210,#4213,#4216,#4219,#4222,#4225, - #4228)); -#4204=POLYLINE('',(#4205,#4206)); -#4205=CARTESIAN_POINT('',(0.25,-0.3)); -#4206=CARTESIAN_POINT('',(0.3,-0.3)); -#4207=POLYLINE('',(#4208,#4209)); -#4208=CARTESIAN_POINT('',(0.25,-0.2)); -#4209=CARTESIAN_POINT('',(0.3,-0.2)); -#4210=POLYLINE('',(#4211,#4212)); -#4211=CARTESIAN_POINT('',(0.25,-0.1)); -#4212=CARTESIAN_POINT('',(0.3,-0.1)); -#4213=POLYLINE('',(#4214,#4215)); -#4214=CARTESIAN_POINT('',(0.25,0.0)); -#4215=CARTESIAN_POINT('',(0.3,0.0)); -#4216=POLYLINE('',(#4217,#4218)); -#4217=CARTESIAN_POINT('',(0.0,-0.3)); -#4218=CARTESIAN_POINT('',(0.05,-0.3)); -#4219=POLYLINE('',(#4220,#4221)); -#4220=CARTESIAN_POINT('',(0.0,-0.2)); -#4221=CARTESIAN_POINT('',(0.05,-0.2)); -#4222=POLYLINE('',(#4223,#4224)); -#4223=CARTESIAN_POINT('',(0.0,-0.1)); -#4224=CARTESIAN_POINT('',(0.05,-0.1)); -#4225=POLYLINE('',(#4226,#4227)); -#4226=CARTESIAN_POINT('',(0.0,0.0)); -#4227=CARTESIAN_POINT('',(0.05,0.0)); -#4228=POLYLINE('',(#4229,#4230,#4231,#4232,#4233)); -#4229=CARTESIAN_POINT('',(0.05,0.1)); -#4230=CARTESIAN_POINT('',(0.05,-0.4)); -#4231=CARTESIAN_POINT('',(0.25,-0.4)); -#4232=CARTESIAN_POINT('',(0.25,0.1)); -#4233=CARTESIAN_POINT('',(0.05,0.1)); -#4234=CSG_2D_SHAPE_REPRESENTATION('',(#26,#4235),#474); -#4235=CSG_SOLID_2D('',#4237); -#4236=CARTESIAN_POINT('',(0.0,0.0)); -#4237=CIRCULAR_AREA('',#4236,0.015); -#4238=PACKAGE_TERMINAL_TEMPLATE_DEFINITION('',$,'',$); -#4239=PRODUCT_DEFINITION_SHAPE('',$,#4238); -#4240=SHAPE_DEFINITION_REPRESENTATION(#4239,#4234); -#4241=PRIMARY_REFERENCE_TERMINAL('1','part generic feature',#473,.T.); -#4242=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10537,#4243,'',$,#4241,#475,*); -#4243=AXIS2_PLACEMENT_2D('',#4244,$); -#4244=CARTESIAN_POINT('',(0.0,0.0)); -#4245=ASSEMBLY_COMPONENT_USAGE('1','tlist','is unknown',#506,#1520,'1'); -#4246=MAPPED_ITEM('tlistt',#16000,#4243); -#4247=PACKAGE_TERMINAL('2','part generic feature',#473,.T.); -#4248=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10537,#4249,'',$,#4247,#475,*); -#4249=AXIS2_PLACEMENT_2D('',#4251,#4250); -#4250=DIRECTION('',(1.0,0.0)); -#4251=CARTESIAN_POINT('',(0.0,-0.1)); -#4252=ASSEMBLY_COMPONENT_USAGE('2','tlist','is unknown',#506,#1152,'2'); -#4253=MAPPED_ITEM('tlistt',#15966,#4249); -#4254=PACKAGE_TERMINAL('3','part generic feature',#473,.T.); -#4255=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10537,#4256,'',$,#4254,#475,*); -#4256=AXIS2_PLACEMENT_2D('',#4258,#4257); -#4257=DIRECTION('',(1.0,0.0)); -#4258=CARTESIAN_POINT('',(0.0,-0.2)); -#4259=ASSEMBLY_COMPONENT_USAGE('3','tlist','is unknown',#506,#1152,'3'); -#4260=MAPPED_ITEM('tlistt',#15966,#4256); -#4261=PACKAGE_TERMINAL('4','part generic feature',#473,.T.); -#4262=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10537,#4263,'',$,#4261,#475,*); -#4263=AXIS2_PLACEMENT_2D('',#4265,#4264); -#4264=DIRECTION('',(1.0,0.0)); -#4265=CARTESIAN_POINT('',(0.0,-0.3)); -#4266=ASSEMBLY_COMPONENT_USAGE('4','tlist','is unknown',#506,#1152,'4'); -#4267=MAPPED_ITEM('tlistt',#15966,#4263); -#4268=PACKAGE_TERMINAL('5','part generic feature',#473,.T.); -#4269=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10537,#4270,'',$,#4268,#475,*); -#4270=AXIS2_PLACEMENT_2D('',#4272,#4271); -#4271=DIRECTION('',(1.0,0.0)); -#4272=CARTESIAN_POINT('',(0.3,-0.3)); -#4273=ASSEMBLY_COMPONENT_USAGE('5','tlist','is unknown',#506,#1152,'5'); -#4274=MAPPED_ITEM('tlistt',#15966,#4270); -#4275=PACKAGE_TERMINAL('6','part generic feature',#473,.T.); -#4276=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10537,#4277,'',$,#4275,#475,*); -#4277=AXIS2_PLACEMENT_2D('',#4279,#4278); -#4278=DIRECTION('',(1.0,0.0)); -#4279=CARTESIAN_POINT('',(0.3,-0.2)); -#4280=ASSEMBLY_COMPONENT_USAGE('6','tlist','is unknown',#506,#1152,'6'); -#4281=MAPPED_ITEM('tlistt',#15966,#4277); -#4282=PACKAGE_TERMINAL('7','part generic feature',#473,.T.); -#4283=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10537,#4284,'',$,#4282,#475,*); -#4284=AXIS2_PLACEMENT_2D('',#4286,#4285); -#4285=DIRECTION('',(1.0,0.0)); -#4286=CARTESIAN_POINT('',(0.3,-0.1)); -#4287=ASSEMBLY_COMPONENT_USAGE('7','tlist','is unknown',#506,#1152,'7'); -#4288=MAPPED_ITEM('tlistt',#15966,#4284); -#4289=PACKAGE_TERMINAL('8','part generic feature',#473,.T.); -#4290=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10537,#4291,'',$,#4289,#475,*); -#4291=AXIS2_PLACEMENT_2D('',#4293,#4292); -#4292=DIRECTION('',(1.0,0.0)); -#4293=CARTESIAN_POINT('',(0.3,0.0)); -#4294=ASSEMBLY_COMPONENT_USAGE('8','tlist','is unknown',#506,#1152,'8'); -#4295=MAPPED_ITEM('tlistt',#15966,#4291); -#4296=PACKAGED_PART_TERMINAL('2','join terminal',#510,.T.); -#4297=PACKAGED_PART_TERMINAL('1','join terminal',#510,.T.); -#4298=PACKAGED_PART_TERMINAL('2','join terminal',#517,.T.); -#4299=PACKAGED_PART_TERMINAL('1','join terminal',#517,.T.); -#4300=PACKAGED_PART_TERMINAL('2','join terminal',#524,.T.); -#4301=PACKAGED_PART_TERMINAL('1','join terminal',#524,.T.); -#4302=PACKAGED_PART_TERMINAL('2','join terminal',#531,.T.); -#4303=PACKAGED_PART_TERMINAL('1','join terminal',#531,.T.); -#4304=PACKAGED_PART_TERMINAL('2','join terminal',#538,.T.); -#4305=PACKAGED_PART_TERMINAL('1','join terminal',#538,.T.); -#4306=PACKAGED_PART_TERMINAL('1','join terminal',#545,.T.); -#4307=PACKAGED_PART_TERMINAL('2','join terminal',#545,.T.); -#4308=PACKAGED_PART_TERMINAL('8','join terminal',#552,.T.); -#4309=PACKAGED_PART_TERMINAL('7','join terminal',#552,.T.); -#4310=PACKAGED_PART_TERMINAL('6','join terminal',#552,.T.); -#4311=PACKAGED_PART_TERMINAL('5','join terminal',#552,.T.); -#4312=PACKAGED_PART_TERMINAL('4','join terminal',#552,.T.); -#4313=PACKAGED_PART_TERMINAL('3','join terminal',#552,.T.); -#4314=PACKAGED_PART_TERMINAL('2','join terminal',#552,.T.); -#4315=PACKAGED_PART_TERMINAL('1','join terminal',#552,.T.); -#4316=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#557,.T.); -#4317=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#557,.T.); -#4318=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#588,.T.); -#4319=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#588,.T.); -#4320=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#598,.T.); -#4321=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#598,.T.); -#4322=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#608,.T.); -#4323=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#608,.T.); -#4324=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#629,.T.); -#4325=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#629,.T.); -#4326=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#639,.T.); -#4327=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#639,.T.); -#4328=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#649,.T.); -#4329=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#649,.T.); -#4330=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#658,.T.); -#4331=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#658,.T.); -#4332=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#667,.T.); -#4333=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#667,.T.); -#4334=PHYSICAL_COMPONENT_TERMINAL('1','packaged component join terminal',#676,.T.); -#4335=PHYSICAL_COMPONENT_TERMINAL('2','packaged component join terminal',#676,.T.); -#4336=PHYSICAL_COMPONENT_TERMINAL('3','packaged component join terminal',#676,.T.); -#4337=PHYSICAL_COMPONENT_TERMINAL('4','packaged component join terminal',#676,.T.); -#4338=PHYSICAL_COMPONENT_TERMINAL('5','packaged component join terminal',#676,.T.); -#4339=PHYSICAL_COMPONENT_TERMINAL('6','packaged component join terminal',#676,.T.); -#4340=PHYSICAL_COMPONENT_TERMINAL('7','packaged component join terminal',#676,.T.); -#4341=PHYSICAL_COMPONENT_TERMINAL('8','packaged component join terminal',#676,.T.); -#4342=PRODUCT('POWER for Part c145-POWER','template',$,(#14731)); -#4343=PRODUCT_DEFINITION_FORMATION('1',$,#4342); -#4344=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#4343,#28,'',$,*); -#4345=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4351),#4346); -#4346=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4347=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part c145_1','tlist','is unknown', - #688,#4344,'POWER for Part c145_1','',$,#4347); -#4348=MAPPED_ITEM('tlistt',#16052,#26); -#4349=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part c145_2','tlist','is unknown', - #688,#4344,'POWER for Part c145_2','',$,#4349); -#4350=MAPPED_ITEM('tlistt',#16052,#26); -#4351=CSG_PRIMITIVE_SOLID_2D('',#4353); -#4352=CARTESIAN_POINT('',(0.0,0.0)); -#4353=CIRCULAR_AREA('',#4352,0.0725); -#4354=PRODUCT('POWER for Part c95-POWER','template',$,(#14731)); -#4355=PRODUCT_DEFINITION_FORMATION('1',$,#4354); -#4356=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#4355,#28,'',$,*); -#4357=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4363),#4358); -#4358=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4359=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part c95_1','tlist','is unknown', - #693,#4356,'POWER for Part c95_1','',$,#4359); -#4360=MAPPED_ITEM('tlistt',#16059,#26); -#4361=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part c95_2','tlist','is unknown', - #693,#4356,'POWER for Part c95_2','',$,#4361); -#4362=MAPPED_ITEM('tlistt',#16059,#26); -#4363=CSG_PRIMITIVE_SOLID_2D('',#4365); -#4364=CARTESIAN_POINT('',(0.0,0.0)); -#4365=CIRCULAR_AREA('',#4364,0.0475); -#4366=PASSAGE_TECHNOLOGY('0.125 inches','default unsupported passage definition', - '',$,*); -#4367=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.125),#71)QUALIFIED_REPRESENTATION_ITEM((#95))REPRESENTATION_ITEM('')); -#4368=REPRESENTATION('maximum tolerance',(#4367),#4369); -#4369=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4370=PRODUCT('n125-drill-0','template',$,(#14731)); -#4371=PRODUCT_DEFINITION_FORMATION('1',$,#4370); -#4372=UNSUPPORTED_PASSAGE_TEMPLATE('1',$,#4371,#28,'',$,*); -#4373=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4375),#4374); -#4374=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4375=CSG_PRIMITIVE_SOLID_2D('',#4377); -#4376=CARTESIAN_POINT('',(0.0,0.0)); -#4377=CIRCULAR_AREA('',#4376,0.0625); -#4378=ASSEMBLY_COMPONENT_USAGE('drill','tlist','is unknown',#698,#4372,'drill'); -#4379=MAPPED_ITEM('tlistt',#16066,#4380); -#4380=AXIS2_PLACEMENT_2D('',#4381,$); -#4381=CARTESIAN_POINT('',(0.0,0.0)); -#4382=PRODUCT('SOLDER_MASK_2 for Part n125-SOLDER_MASK_2','template',$,(#14731)); -#4383=PRODUCT_DEFINITION_FORMATION('1',$,#4382); -#4384=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#4383,#28,'',$,*); -#4385=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4389),#4386); -#4386=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4387=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part n125','tlist','is unknown', - #698,#4384,'SOLDER_MASK_2 for Part n125','',$,#4387); -#4388=MAPPED_ITEM('tlistt',#16070,#26); -#4389=CSG_PRIMITIVE_SOLID_2D('',#4391); -#4390=CARTESIAN_POINT('',(0.0,0.0)); -#4391=CIRCULAR_AREA('',#4390,0.1); -#4392=PRODUCT('SOLDER_MASK_1 for Part n125-SOLDER_MASK_1','template',$,(#14731)); -#4393=PRODUCT_DEFINITION_FORMATION('1',$,#4392); -#4394=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#4393,#28,'',$,*); -#4395=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4399),#4396); -#4396=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4397=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part n125','tlist','is unknown', - #698,#4394,'SOLDER_MASK_1 for Part n125','',$,#4397); -#4398=MAPPED_ITEM('tlistt',#16074,#26); -#4399=CSG_PRIMITIVE_SOLID_2D('',#4401); -#4400=CARTESIAN_POINT('',(0.0,0.0)); -#4401=CIRCULAR_AREA('',#4400,0.1); -#4402=PRODUCT('POWER for Part n125-POWER','template',$,(#14731)); -#4403=PRODUCT_DEFINITION_FORMATION('1',$,#4402); -#4404=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#4403,#28,'',$,*); -#4405=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4411),#4406); -#4406=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4407=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part n125_1','tlist','is unknown', - #698,#4404,'POWER for Part n125_1','',$,#4407); -#4408=MAPPED_ITEM('tlistt',#16078,#26); -#4409=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part n125_2','tlist','is unknown', - #698,#4404,'POWER for Part n125_2','',$,#4409); -#4410=MAPPED_ITEM('tlistt',#16078,#26); -#4411=CSG_PRIMITIVE_SOLID_2D('',#4413); -#4412=CARTESIAN_POINT('',(0.0,0.0)); -#4413=CIRCULAR_AREA('',#4412,0.1); -#4414=PRODUCT('POWER for Part t145o125i15g2t45d-POWER','template',$,(#14731)); -#4415=PRODUCT_DEFINITION_FORMATION('1',$,#4414); -#4416=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#4415,#28,'',$,*); -#4417=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4434),#4418); -#4418=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4419=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part t145o125i15g2t45d_1','tlist', - 'is unknown',#703,#4416,'POWER for Part t145o125i15g2t45d_1','',$,#4419); -#4420=MAPPED_ITEM('tlistt',#16085,#26); -#4421=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part t145o125i15g2t45d_2','tlist', - 'is unknown',#703,#4416,'POWER for Part t145o125i15g2t45d_2','',$,#4421); -#4422=MAPPED_ITEM('tlistt',#16085,#26); -#4423=CLOSED_CURVE_STYLE_PARAMETERS('',(#8418,#8419,#4424),#8417); -#4424=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.01),#71)REPRESENTATION_ITEM('curve width')); -#4425=COMPOSITE_CURVE('centreline',(#4432),.F.); -#4426=CARTESIAN_POINT('',(0.0381,0.05575)); -#4427=CARTESIAN_POINT('',(-0.05575,-0.0381)); -#4428=CARTESIAN_POINT('',(-2.9062299293504534E-6,2.9062299293504534E-6)); -#4429=AXIS2_PLACEMENT_2D('',#4428,$); -#4430=CIRCLE('',#4429,0.06752458757353383); -#4431=TRIMMED_CURVE('',#4430,(#4426),(#4427),.T.,.CARTESIAN.); -#4432=COMPOSITE_CURVE_SEGMENT(.DISCONTINUOUS.,.T.,#4431); -#4433=PATH_AREA_WITH_PARAMETERS('',#12443,#4425); -#4434=CSG_PRIMITIVE_SOLID_2D('',#4433); -#4435=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4450),#4436); -#4436=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4437=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part t145o125i15g2t45d_1','tlist', - 'is unknown',#703,#4416,'POWER for Part t145o125i15g2t45d_1','',$,#4437); -#4438=MAPPED_ITEM('tlistt',#16092,#26); -#4439=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part t145o125i15g2t45d_2','tlist', - 'is unknown',#703,#4416,'POWER for Part t145o125i15g2t45d_2','',$,#4439); -#4440=MAPPED_ITEM('tlistt',#16092,#26); -#4441=COMPOSITE_CURVE('centreline',(#4448),.F.); -#4442=CARTESIAN_POINT('',(-0.0381,-0.05575)); -#4443=CARTESIAN_POINT('',(0.05575,0.0381)); -#4444=CARTESIAN_POINT('',(2.9062299293504534E-6,-2.9062299293504534E-6)); -#4445=AXIS2_PLACEMENT_2D('',#4444,$); -#4446=CIRCLE('',#4445,0.06752458757353383); -#4447=TRIMMED_CURVE('',#4446,(#4442),(#4443),.T.,.CARTESIAN.); -#4448=COMPOSITE_CURVE_SEGMENT(.DISCONTINUOUS.,.T.,#4447); -#4449=PATH_AREA_WITH_PARAMETERS('',#12443,#4441); -#4450=CSG_PRIMITIVE_SOLID_2D('',#4449); -#4451=PRODUCT('POWER for Part t95o75i15g2t45d-POWER','template',$,(#14731)); -#4452=PRODUCT_DEFINITION_FORMATION('1',$,#4451); -#4453=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#4452,#28,'',$,*); -#4454=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4469),#4455); -#4455=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4456=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part t95o75i15g2t45d_1','tlist', - 'is unknown',#708,#4453,'POWER for Part t95o75i15g2t45d_1','',$,#4456); -#4457=MAPPED_ITEM('tlistt',#16099,#26); -#4458=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part t95o75i15g2t45d_2','tlist', - 'is unknown',#708,#4453,'POWER for Part t95o75i15g2t45d_2','',$,#4458); -#4459=MAPPED_ITEM('tlistt',#16099,#26); -#4460=COMPOSITE_CURVE('centreline',(#4467),.F.); -#4461=CARTESIAN_POINT('',(0.01985,0.03755)); -#4462=CARTESIAN_POINT('',(-0.03755,-0.01985)); -#4463=CARTESIAN_POINT('',(-2.3349056603773717E-5,2.3349056603773717E-5)); -#4464=AXIS2_PLACEMENT_2D('',#4463,$); -#4465=CIRCLE('',#4464,0.04246409699679383); -#4466=TRIMMED_CURVE('',#4465,(#4461),(#4462),.T.,.CARTESIAN.); -#4467=COMPOSITE_CURVE_SEGMENT(.DISCONTINUOUS.,.T.,#4466); -#4468=PATH_AREA_WITH_PARAMETERS('',#12443,#4460); -#4469=CSG_PRIMITIVE_SOLID_2D('',#4468); -#4470=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4485),#4471); -#4471=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4472=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part t95o75i15g2t45d_1','tlist', - 'is unknown',#708,#4453,'POWER for Part t95o75i15g2t45d_1','',$,#4472); -#4473=MAPPED_ITEM('tlistt',#16106,#26); -#4474=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part t95o75i15g2t45d_2','tlist', - 'is unknown',#708,#4453,'POWER for Part t95o75i15g2t45d_2','',$,#4474); -#4475=MAPPED_ITEM('tlistt',#16106,#26); -#4476=COMPOSITE_CURVE('centreline',(#4483),.F.); -#4477=CARTESIAN_POINT('',(-0.01985,-0.03755)); -#4478=CARTESIAN_POINT('',(0.03755,0.01985)); -#4479=CARTESIAN_POINT('',(2.3349056603773717E-5,-2.3349056603773717E-5)); -#4480=AXIS2_PLACEMENT_2D('',#4479,$); -#4481=CIRCLE('',#4480,0.04246409699679383); -#4482=TRIMMED_CURVE('',#4481,(#4477),(#4478),.T.,.CARTESIAN.); -#4483=COMPOSITE_CURVE_SEGMENT(.DISCONTINUOUS.,.T.,#4482); -#4484=PATH_AREA_WITH_PARAMETERS('',#12443,#4476); -#4485=CSG_PRIMITIVE_SOLID_2D('',#4484); -#4486=PRODUCT('SOLDER_MASK_2 for Part target_15x8.5_bsize-SOLDER_MASK_2','template', - $,(#14731)); -#4487=PRODUCT_DEFINITION_FORMATION('1',$,#4486); -#4488=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#4487,#28,'',$,*); -#4489=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4499),#4490); -#4490=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4491=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4491); -#4492=MAPPED_ITEM('tlistt',#16113,#26); -#4493=CLOSED_CURVE_STYLE_PARAMETERS('',(#8421,#8422,#4494),#8420); -#4494=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0050),#71)REPRESENTATION_ITEM('curve width')); -#4495=POLYLINE('centreline',(#4496,#4497)); -#4496=CARTESIAN_POINT('',(-0.12,8.5)); -#4497=CARTESIAN_POINT('',(-0.12,4.6)); -#4498=PATH_AREA_WITH_PARAMETERS('',#12444,#4495); -#4499=CSG_PRIMITIVE_SOLID_2D('',#4498); -#4500=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4508),#4501); -#4501=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4502=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4502); -#4503=MAPPED_ITEM('tlistt',#16117,#26); -#4504=POLYLINE('centreline',(#4505,#4506)); -#4505=CARTESIAN_POINT('',(15.0,8.62)); -#4506=CARTESIAN_POINT('',(7.925,8.62)); -#4507=PATH_AREA_WITH_PARAMETERS('',#12444,#4504); -#4508=CSG_PRIMITIVE_SOLID_2D('',#4507); -#4509=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4517),#4510); -#4510=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4511=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4511); -#4512=MAPPED_ITEM('tlistt',#16121,#26); -#4513=POLYLINE('centreline',(#4514,#4515)); -#4514=CARTESIAN_POINT('',(0.0,8.62)); -#4515=CARTESIAN_POINT('',(7.1,8.62)); -#4516=PATH_AREA_WITH_PARAMETERS('',#12444,#4513); -#4517=CSG_PRIMITIVE_SOLID_2D('',#4516); -#4518=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4526),#4519); -#4519=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4520=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4520); -#4521=MAPPED_ITEM('tlistt',#16125,#26); -#4522=POLYLINE('centreline',(#4523,#4524)); -#4523=CARTESIAN_POINT('',(15.0,8.57)); -#4524=CARTESIAN_POINT('',(15.0,8.67)); -#4525=PATH_AREA_WITH_PARAMETERS('',#12444,#4522); -#4526=CSG_PRIMITIVE_SOLID_2D('',#4525); -#4527=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4535),#4528); -#4528=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4529=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4529); -#4530=MAPPED_ITEM('tlistt',#16129,#26); -#4531=POLYLINE('centreline',(#4532,#4533)); -#4532=CARTESIAN_POINT('',(0.0,8.57)); -#4533=CARTESIAN_POINT('',(0.0,8.67)); -#4534=PATH_AREA_WITH_PARAMETERS('',#12444,#4531); -#4535=CSG_PRIMITIVE_SOLID_2D('',#4534); -#4536=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4544),#4537); -#4537=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4538=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4538); -#4539=MAPPED_ITEM('tlistt',#16133,#26); -#4540=POLYLINE('centreline',(#4541,#4542)); -#4541=CARTESIAN_POINT('',(14.95,8.5)); -#4542=CARTESIAN_POINT('',(15.05,8.5)); -#4543=PATH_AREA_WITH_PARAMETERS('',#12444,#4540); -#4544=CSG_PRIMITIVE_SOLID_2D('',#4543); -#4545=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4553),#4546); -#4546=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4547=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4547); -#4548=MAPPED_ITEM('tlistt',#16137,#26); -#4549=POLYLINE('centreline',(#4550,#4551)); -#4550=CARTESIAN_POINT('',(15.0,8.55)); -#4551=CARTESIAN_POINT('',(15.0,8.45)); -#4552=PATH_AREA_WITH_PARAMETERS('',#12444,#4549); -#4553=CSG_PRIMITIVE_SOLID_2D('',#4552); -#4554=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4562),#4555); -#4555=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4556=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4556); -#4557=MAPPED_ITEM('tlistt',#16141,#26); -#4558=POLYLINE('centreline',(#4559,#4560)); -#4559=CARTESIAN_POINT('',(-0.05,8.5)); -#4560=CARTESIAN_POINT('',(0.05,8.5)); -#4561=PATH_AREA_WITH_PARAMETERS('',#12444,#4558); -#4562=CSG_PRIMITIVE_SOLID_2D('',#4561); -#4563=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4571),#4564); -#4564=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4565=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4565); -#4566=MAPPED_ITEM('tlistt',#16145,#26); -#4567=POLYLINE('centreline',(#4568,#4569)); -#4568=CARTESIAN_POINT('',(0.0,8.55)); -#4569=CARTESIAN_POINT('',(0.0,8.45)); -#4570=PATH_AREA_WITH_PARAMETERS('',#12444,#4567); -#4571=CSG_PRIMITIVE_SOLID_2D('',#4570); -#4572=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4580),#4573); -#4573=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4574=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4574); -#4575=MAPPED_ITEM('tlistt',#16149,#26); -#4576=POLYLINE('centreline',(#4577,#4578)); -#4577=CARTESIAN_POINT('',(-0.15,8.55)); -#4578=CARTESIAN_POINT('',(-0.05,8.55)); -#4579=PATH_AREA_WITH_PARAMETERS('',#12443,#4576); -#4580=CSG_PRIMITIVE_SOLID_2D('',#4579); -#4581=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4589),#4582); -#4582=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4583=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4583); -#4584=MAPPED_ITEM('tlistt',#16153,#26); -#4585=POLYLINE('centreline',(#4586,#4587)); -#4586=CARTESIAN_POINT('',(-0.15,8.57)); -#4587=CARTESIAN_POINT('',(-0.05,8.57)); -#4588=PATH_AREA_WITH_PARAMETERS('',#12443,#4585); -#4589=CSG_PRIMITIVE_SOLID_2D('',#4588); -#4590=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4598),#4591); -#4591=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4592=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4592); -#4593=MAPPED_ITEM('tlistt',#16157,#26); -#4594=POLYLINE('centreline',(#4595,#4596)); -#4595=CARTESIAN_POINT('',(-0.15,8.59)); -#4596=CARTESIAN_POINT('',(-0.05,8.59)); -#4597=PATH_AREA_WITH_PARAMETERS('',#12443,#4594); -#4598=CSG_PRIMITIVE_SOLID_2D('',#4597); -#4599=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4607),#4600); -#4600=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4601=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4601); -#4602=MAPPED_ITEM('tlistt',#16161,#26); -#4603=POLYLINE('centreline',(#4604,#4605)); -#4604=CARTESIAN_POINT('',(-0.15,8.61)); -#4605=CARTESIAN_POINT('',(-0.05,8.61)); -#4606=PATH_AREA_WITH_PARAMETERS('',#12443,#4603); -#4607=CSG_PRIMITIVE_SOLID_2D('',#4606); -#4608=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4612),#4609); -#4609=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4610=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4610); -#4611=MAPPED_ITEM('tlistt',#16165,#26); -#4612=CSG_PRIMITIVE_SOLID_2D('',#4613); -#4613=POLYGONAL_AREA('',(#4614,#4615,#4616,#4617)); -#4614=CARTESIAN_POINT('',(0.3075,8.565)); -#4615=CARTESIAN_POINT('',(0.3075,8.675)); -#4616=CARTESIAN_POINT('',(0.0025,8.625)); -#4617=CARTESIAN_POINT('',(0.0025,8.615)); -#4618=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4622),#4619); -#4619=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4620=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4620); -#4621=MAPPED_ITEM('tlistt',#16169,#26); -#4622=CSG_PRIMITIVE_SOLID_2D('',#4623); -#4623=POLYGONAL_AREA('',(#4624,#4625,#4626,#4627)); -#4624=CARTESIAN_POINT('',(-0.175,8.1925)); -#4625=CARTESIAN_POINT('',(-0.065,8.1925)); -#4626=CARTESIAN_POINT('',(-0.115,8.4975)); -#4627=CARTESIAN_POINT('',(-0.125,8.4975)); -#4628=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4632),#4629); -#4629=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4630=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4630); -#4631=MAPPED_ITEM('tlistt',#16173,#26); -#4632=CSG_PRIMITIVE_SOLID_2D('',#4633); -#4633=POLYGONAL_AREA('',(#4634,#4635,#4636,#4637)); -#4634=CARTESIAN_POINT('',(14.6925,8.675)); -#4635=CARTESIAN_POINT('',(14.6925,8.565)); -#4636=CARTESIAN_POINT('',(14.9975,8.615)); -#4637=CARTESIAN_POINT('',(14.9975,8.625)); -#4638=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4646),#4639); -#4639=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4640=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#4640); -#4641=MAPPED_ITEM('tlistt',#16177,#26); -#4642=POLYLINE('centreline',(#4643,#4644)); -#4643=CARTESIAN_POINT('',(-0.17,8.5)); -#4644=CARTESIAN_POINT('',(-0.07,8.5)); -#4645=PATH_AREA_WITH_PARAMETERS('',#12444,#4642); -#4646=CSG_PRIMITIVE_SOLID_2D('',#4645); -#4647=PRODUCT('SOLDER_MASK_1 for Part target_15x8.5_bsize-SOLDER_MASK_1','template', - $,(#14731)); -#4648=PRODUCT_DEFINITION_FORMATION('1',$,#4647); -#4649=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#4648,#28,'',$,*); -#4650=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4656),#4651); -#4651=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4652=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4652); -#4653=MAPPED_ITEM('tlistt',#16181,#26); -#4654=POLYLINE('centreline',(#4643,#4644)); -#4655=PATH_AREA_WITH_PARAMETERS('',#12444,#4654); -#4656=CSG_PRIMITIVE_SOLID_2D('',#4655); -#4657=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4661),#4658); -#4658=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4659=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4659); -#4660=MAPPED_ITEM('tlistt',#16185,#26); -#4661=CSG_PRIMITIVE_SOLID_2D('',#4662); -#4662=POLYGONAL_AREA('',(#4663,#4664,#4665,#4666)); -#4663=CARTESIAN_POINT('',(14.6925,8.675)); -#4664=CARTESIAN_POINT('',(14.6925,8.565)); -#4665=CARTESIAN_POINT('',(14.9975,8.615)); -#4666=CARTESIAN_POINT('',(14.9975,8.625)); -#4667=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4671),#4668); -#4668=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4669=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4669); -#4670=MAPPED_ITEM('tlistt',#16189,#26); -#4671=CSG_PRIMITIVE_SOLID_2D('',#4672); -#4672=POLYGONAL_AREA('',(#4673,#4674,#4675,#4676)); -#4673=CARTESIAN_POINT('',(-0.175,8.1925)); -#4674=CARTESIAN_POINT('',(-0.065,8.1925)); -#4675=CARTESIAN_POINT('',(-0.115,8.4975)); -#4676=CARTESIAN_POINT('',(-0.125,8.4975)); -#4677=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4681),#4678); -#4678=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4679=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4679); -#4680=MAPPED_ITEM('tlistt',#16193,#26); -#4681=CSG_PRIMITIVE_SOLID_2D('',#4682); -#4682=POLYGONAL_AREA('',(#4683,#4684,#4685,#4686)); -#4683=CARTESIAN_POINT('',(0.3075,8.565)); -#4684=CARTESIAN_POINT('',(0.3075,8.675)); -#4685=CARTESIAN_POINT('',(0.0025,8.625)); -#4686=CARTESIAN_POINT('',(0.0025,8.615)); -#4687=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4693),#4688); -#4688=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4689=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4689); -#4690=MAPPED_ITEM('tlistt',#16197,#26); -#4691=POLYLINE('centreline',(#4577,#4578)); -#4692=PATH_AREA_WITH_PARAMETERS('',#12443,#4691); -#4693=CSG_PRIMITIVE_SOLID_2D('',#4692); -#4694=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4700),#4695); -#4695=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4696=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4696); -#4697=MAPPED_ITEM('tlistt',#16201,#26); -#4698=POLYLINE('centreline',(#4586,#4587)); -#4699=PATH_AREA_WITH_PARAMETERS('',#12443,#4698); -#4700=CSG_PRIMITIVE_SOLID_2D('',#4699); -#4701=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4707),#4702); -#4702=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4703=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4703); -#4704=MAPPED_ITEM('tlistt',#16205,#26); -#4705=POLYLINE('centreline',(#4595,#4596)); -#4706=PATH_AREA_WITH_PARAMETERS('',#12443,#4705); -#4707=CSG_PRIMITIVE_SOLID_2D('',#4706); -#4708=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4714),#4709); -#4709=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4710=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4710); -#4711=MAPPED_ITEM('tlistt',#16209,#26); -#4712=POLYLINE('centreline',(#4541,#4542)); -#4713=PATH_AREA_WITH_PARAMETERS('',#12444,#4712); -#4714=CSG_PRIMITIVE_SOLID_2D('',#4713); -#4715=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4721),#4716); -#4716=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4717=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4717); -#4718=MAPPED_ITEM('tlistt',#16213,#26); -#4719=POLYLINE('centreline',(#4550,#4551)); -#4720=PATH_AREA_WITH_PARAMETERS('',#12444,#4719); -#4721=CSG_PRIMITIVE_SOLID_2D('',#4720); -#4722=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4728),#4723); -#4723=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4724=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4724); -#4725=MAPPED_ITEM('tlistt',#16217,#26); -#4726=POLYLINE('centreline',(#4559,#4560)); -#4727=PATH_AREA_WITH_PARAMETERS('',#12444,#4726); -#4728=CSG_PRIMITIVE_SOLID_2D('',#4727); -#4729=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4735),#4730); -#4730=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4731=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4731); -#4732=MAPPED_ITEM('tlistt',#16221,#26); -#4733=POLYLINE('centreline',(#4568,#4569)); -#4734=PATH_AREA_WITH_PARAMETERS('',#12444,#4733); -#4735=CSG_PRIMITIVE_SOLID_2D('',#4734); -#4736=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4742),#4737); -#4737=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4738=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4738); -#4739=MAPPED_ITEM('tlistt',#16225,#26); -#4740=POLYLINE('centreline',(#4604,#4605)); -#4741=PATH_AREA_WITH_PARAMETERS('',#12443,#4740); -#4742=CSG_PRIMITIVE_SOLID_2D('',#4741); -#4743=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4749),#4744); -#4744=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4745=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4745); -#4746=MAPPED_ITEM('tlistt',#16229,#26); -#4747=POLYLINE('centreline',(#4532,#4533)); -#4748=PATH_AREA_WITH_PARAMETERS('',#12444,#4747); -#4749=CSG_PRIMITIVE_SOLID_2D('',#4748); -#4750=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4756),#4751); -#4751=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4752=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4752); -#4753=MAPPED_ITEM('tlistt',#16233,#26); -#4754=POLYLINE('centreline',(#4523,#4524)); -#4755=PATH_AREA_WITH_PARAMETERS('',#12444,#4754); -#4756=CSG_PRIMITIVE_SOLID_2D('',#4755); -#4757=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4763),#4758); -#4758=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4759=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4759); -#4760=MAPPED_ITEM('tlistt',#16237,#26); -#4761=POLYLINE('centreline',(#4514,#4515)); -#4762=PATH_AREA_WITH_PARAMETERS('',#12444,#4761); -#4763=CSG_PRIMITIVE_SOLID_2D('',#4762); -#4764=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4770),#4765); -#4765=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4766=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4766); -#4767=MAPPED_ITEM('tlistt',#16241,#26); -#4768=POLYLINE('centreline',(#4505,#4506)); -#4769=PATH_AREA_WITH_PARAMETERS('',#12444,#4768); -#4770=CSG_PRIMITIVE_SOLID_2D('',#4769); -#4771=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4777),#4772); -#4772=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4773=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#4773); -#4774=MAPPED_ITEM('tlistt',#16245,#26); -#4775=POLYLINE('centreline',(#4496,#4497)); -#4776=PATH_AREA_WITH_PARAMETERS('',#12444,#4775); -#4777=CSG_PRIMITIVE_SOLID_2D('',#4776); -#4778=PRODUCT('PASTE_MASK_2 for Part target_15x8.5_bsize-PASTE_MASK_2','template', - $,(#14731)); -#4779=PRODUCT_DEFINITION_FORMATION('1',$,#4778); -#4780=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#4779,#28,'',$,*); -#4781=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4787),#4782); -#4782=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4783=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4783); -#4784=MAPPED_ITEM('tlistt',#16249,#26); -#4785=POLYLINE('centreline',(#4496,#4497)); -#4786=PATH_AREA_WITH_PARAMETERS('',#12444,#4785); -#4787=CSG_PRIMITIVE_SOLID_2D('',#4786); -#4788=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4794),#4789); -#4789=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4790=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4790); -#4791=MAPPED_ITEM('tlistt',#16253,#26); -#4792=POLYLINE('centreline',(#4505,#4506)); -#4793=PATH_AREA_WITH_PARAMETERS('',#12444,#4792); -#4794=CSG_PRIMITIVE_SOLID_2D('',#4793); -#4795=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4801),#4796); -#4796=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4797=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4797); -#4798=MAPPED_ITEM('tlistt',#16257,#26); -#4799=POLYLINE('centreline',(#4514,#4515)); -#4800=PATH_AREA_WITH_PARAMETERS('',#12444,#4799); -#4801=CSG_PRIMITIVE_SOLID_2D('',#4800); -#4802=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4808),#4803); -#4803=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4804=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4804); -#4805=MAPPED_ITEM('tlistt',#16261,#26); -#4806=POLYLINE('centreline',(#4523,#4524)); -#4807=PATH_AREA_WITH_PARAMETERS('',#12444,#4806); -#4808=CSG_PRIMITIVE_SOLID_2D('',#4807); -#4809=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4815),#4810); -#4810=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4811=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4811); -#4812=MAPPED_ITEM('tlistt',#16265,#26); -#4813=POLYLINE('centreline',(#4532,#4533)); -#4814=PATH_AREA_WITH_PARAMETERS('',#12444,#4813); -#4815=CSG_PRIMITIVE_SOLID_2D('',#4814); -#4816=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4822),#4817); -#4817=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4818=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4818); -#4819=MAPPED_ITEM('tlistt',#16269,#26); -#4820=POLYLINE('centreline',(#4541,#4542)); -#4821=PATH_AREA_WITH_PARAMETERS('',#12444,#4820); -#4822=CSG_PRIMITIVE_SOLID_2D('',#4821); -#4823=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4829),#4824); -#4824=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4825=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4825); -#4826=MAPPED_ITEM('tlistt',#16273,#26); -#4827=POLYLINE('centreline',(#4550,#4551)); -#4828=PATH_AREA_WITH_PARAMETERS('',#12444,#4827); -#4829=CSG_PRIMITIVE_SOLID_2D('',#4828); -#4830=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4836),#4831); -#4831=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4832=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4832); -#4833=MAPPED_ITEM('tlistt',#16277,#26); -#4834=POLYLINE('centreline',(#4559,#4560)); -#4835=PATH_AREA_WITH_PARAMETERS('',#12444,#4834); -#4836=CSG_PRIMITIVE_SOLID_2D('',#4835); -#4837=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4843),#4838); -#4838=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4839=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4839); -#4840=MAPPED_ITEM('tlistt',#16281,#26); -#4841=POLYLINE('centreline',(#4568,#4569)); -#4842=PATH_AREA_WITH_PARAMETERS('',#12444,#4841); -#4843=CSG_PRIMITIVE_SOLID_2D('',#4842); -#4844=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4848),#4845); -#4845=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4846=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4846); -#4847=MAPPED_ITEM('tlistt',#16285,#26); -#4848=CSG_PRIMITIVE_SOLID_2D('',#4849); -#4849=POLYGONAL_AREA('',(#4850,#4851,#4852,#4853)); -#4850=CARTESIAN_POINT('',(0.3075,8.565)); -#4851=CARTESIAN_POINT('',(0.3075,8.675)); -#4852=CARTESIAN_POINT('',(0.0025,8.625)); -#4853=CARTESIAN_POINT('',(0.0025,8.615)); -#4854=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4858),#4855); -#4855=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4856=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4856); -#4857=MAPPED_ITEM('tlistt',#16289,#26); -#4858=CSG_PRIMITIVE_SOLID_2D('',#4859); -#4859=POLYGONAL_AREA('',(#4860,#4861,#4862,#4863)); -#4860=CARTESIAN_POINT('',(-0.175,8.1925)); -#4861=CARTESIAN_POINT('',(-0.065,8.1925)); -#4862=CARTESIAN_POINT('',(-0.115,8.4975)); -#4863=CARTESIAN_POINT('',(-0.125,8.4975)); -#4864=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4868),#4865); -#4865=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4866=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4866); -#4867=MAPPED_ITEM('tlistt',#16293,#26); -#4868=CSG_PRIMITIVE_SOLID_2D('',#4869); -#4869=POLYGONAL_AREA('',(#4870,#4871,#4872,#4873)); -#4870=CARTESIAN_POINT('',(14.6925,8.675)); -#4871=CARTESIAN_POINT('',(14.6925,8.565)); -#4872=CARTESIAN_POINT('',(14.9975,8.615)); -#4873=CARTESIAN_POINT('',(14.9975,8.625)); -#4874=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4880),#4875); -#4875=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4876=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#4876); -#4877=MAPPED_ITEM('tlistt',#16297,#26); -#4878=POLYLINE('centreline',(#4643,#4644)); -#4879=PATH_AREA_WITH_PARAMETERS('',#12444,#4878); -#4880=CSG_PRIMITIVE_SOLID_2D('',#4879); -#4881=PRODUCT('PASTE_MASK_1 for Part target_15x8.5_bsize-PASTE_MASK_1','template', - $,(#14731)); -#4882=PRODUCT_DEFINITION_FORMATION('1',$,#4881); -#4883=MATERIAL_REMOVAL_FEATURE_TEMPLATE('1',$,#4882,#28,'',$,*); -#4884=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4890),#4885); -#4885=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4886=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4886); -#4887=MAPPED_ITEM('tlistt',#16301,#26); -#4888=POLYLINE('centreline',(#4643,#4644)); -#4889=PATH_AREA_WITH_PARAMETERS('',#12444,#4888); -#4890=CSG_PRIMITIVE_SOLID_2D('',#4889); -#4891=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4895),#4892); -#4892=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4893=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4893); -#4894=MAPPED_ITEM('tlistt',#16305,#26); -#4895=CSG_PRIMITIVE_SOLID_2D('',#4896); -#4896=POLYGONAL_AREA('',(#4897,#4898,#4899,#4900)); -#4897=CARTESIAN_POINT('',(14.6925,8.675)); -#4898=CARTESIAN_POINT('',(14.6925,8.565)); -#4899=CARTESIAN_POINT('',(14.9975,8.615)); -#4900=CARTESIAN_POINT('',(14.9975,8.625)); -#4901=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4905),#4902); -#4902=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4903=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4903); -#4904=MAPPED_ITEM('tlistt',#16309,#26); -#4905=CSG_PRIMITIVE_SOLID_2D('',#4906); -#4906=POLYGONAL_AREA('',(#4907,#4908,#4909,#4910)); -#4907=CARTESIAN_POINT('',(-0.175,8.1925)); -#4908=CARTESIAN_POINT('',(-0.065,8.1925)); -#4909=CARTESIAN_POINT('',(-0.115,8.4975)); -#4910=CARTESIAN_POINT('',(-0.125,8.4975)); -#4911=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4915),#4912); -#4912=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4913=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4913); -#4914=MAPPED_ITEM('tlistt',#16313,#26); -#4915=CSG_PRIMITIVE_SOLID_2D('',#4916); -#4916=POLYGONAL_AREA('',(#4917,#4918,#4919,#4920)); -#4917=CARTESIAN_POINT('',(0.3075,8.565)); -#4918=CARTESIAN_POINT('',(0.3075,8.675)); -#4919=CARTESIAN_POINT('',(0.0025,8.625)); -#4920=CARTESIAN_POINT('',(0.0025,8.615)); -#4921=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4927),#4922); -#4922=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4923=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4923); -#4924=MAPPED_ITEM('tlistt',#16317,#26); -#4925=POLYLINE('centreline',(#4577,#4578)); -#4926=PATH_AREA_WITH_PARAMETERS('',#12443,#4925); -#4927=CSG_PRIMITIVE_SOLID_2D('',#4926); -#4928=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4934),#4929); -#4929=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4930=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4930); -#4931=MAPPED_ITEM('tlistt',#16321,#26); -#4932=POLYLINE('centreline',(#4586,#4587)); -#4933=PATH_AREA_WITH_PARAMETERS('',#12443,#4932); -#4934=CSG_PRIMITIVE_SOLID_2D('',#4933); -#4935=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4941),#4936); -#4936=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4937=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4937); -#4938=MAPPED_ITEM('tlistt',#16325,#26); -#4939=POLYLINE('centreline',(#4595,#4596)); -#4940=PATH_AREA_WITH_PARAMETERS('',#12443,#4939); -#4941=CSG_PRIMITIVE_SOLID_2D('',#4940); -#4942=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4948),#4943); -#4943=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4944=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4944); -#4945=MAPPED_ITEM('tlistt',#16329,#26); -#4946=POLYLINE('centreline',(#4541,#4542)); -#4947=PATH_AREA_WITH_PARAMETERS('',#12444,#4946); -#4948=CSG_PRIMITIVE_SOLID_2D('',#4947); -#4949=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4955),#4950); -#4950=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4951=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4951); -#4952=MAPPED_ITEM('tlistt',#16333,#26); -#4953=POLYLINE('centreline',(#4550,#4551)); -#4954=PATH_AREA_WITH_PARAMETERS('',#12444,#4953); -#4955=CSG_PRIMITIVE_SOLID_2D('',#4954); -#4956=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4962),#4957); -#4957=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4958=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4958); -#4959=MAPPED_ITEM('tlistt',#16337,#26); -#4960=POLYLINE('centreline',(#4559,#4560)); -#4961=PATH_AREA_WITH_PARAMETERS('',#12444,#4960); -#4962=CSG_PRIMITIVE_SOLID_2D('',#4961); -#4963=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4969),#4964); -#4964=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4965=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4965); -#4966=MAPPED_ITEM('tlistt',#16341,#26); -#4967=POLYLINE('centreline',(#4568,#4569)); -#4968=PATH_AREA_WITH_PARAMETERS('',#12444,#4967); -#4969=CSG_PRIMITIVE_SOLID_2D('',#4968); -#4970=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4976),#4971); -#4971=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4972=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4972); -#4973=MAPPED_ITEM('tlistt',#16345,#26); -#4974=POLYLINE('centreline',(#4604,#4605)); -#4975=PATH_AREA_WITH_PARAMETERS('',#12443,#4974); -#4976=CSG_PRIMITIVE_SOLID_2D('',#4975); -#4977=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4983),#4978); -#4978=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4979=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4979); -#4980=MAPPED_ITEM('tlistt',#16349,#26); -#4981=POLYLINE('centreline',(#4532,#4533)); -#4982=PATH_AREA_WITH_PARAMETERS('',#12444,#4981); -#4983=CSG_PRIMITIVE_SOLID_2D('',#4982); -#4984=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4990),#4985); -#4985=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4986=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4986); -#4987=MAPPED_ITEM('tlistt',#16353,#26); -#4988=POLYLINE('centreline',(#4523,#4524)); -#4989=PATH_AREA_WITH_PARAMETERS('',#12444,#4988); -#4990=CSG_PRIMITIVE_SOLID_2D('',#4989); -#4991=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#4997),#4992); -#4992=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#4993=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#4993); -#4994=MAPPED_ITEM('tlistt',#16357,#26); -#4995=POLYLINE('centreline',(#4514,#4515)); -#4996=PATH_AREA_WITH_PARAMETERS('',#12444,#4995); -#4997=CSG_PRIMITIVE_SOLID_2D('',#4996); -#4998=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5004),#4999); -#4999=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5000=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#5000); -#5001=MAPPED_ITEM('tlistt',#16361,#26); -#5002=POLYLINE('centreline',(#4505,#4506)); -#5003=PATH_AREA_WITH_PARAMETERS('',#12444,#5002); -#5004=CSG_PRIMITIVE_SOLID_2D('',#5003); -#5005=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5011),#5006); -#5006=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5007=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#5007); -#5008=MAPPED_ITEM('tlistt',#16365,#26); -#5009=POLYLINE('centreline',(#4496,#4497)); -#5010=PATH_AREA_WITH_PARAMETERS('',#12444,#5009); -#5011=CSG_PRIMITIVE_SOLID_2D('',#5010); -#5012=PRODUCT('POWER for Part target_15x8.5_bsize-POWER','template',$,(#14731)); -#5013=PRODUCT_DEFINITION_FORMATION('1',$,#5012); -#5014=ELECTRICAL_ISOLATION_REMOVAL_TEMPLATE('1',$,#5013,#28,'',$,*); -#5015=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5023),#5016); -#5016=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5017=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5017); -#5018=MAPPED_ITEM('tlistt',#16369,#26); -#5019=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5019); -#5020=MAPPED_ITEM('tlistt',#16369,#26); -#5021=POLYLINE('centreline',(#4496,#4497)); -#5022=PATH_AREA_WITH_PARAMETERS('',#12444,#5021); -#5023=CSG_PRIMITIVE_SOLID_2D('',#5022); -#5024=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5032),#5025); -#5025=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5026=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5026); -#5027=MAPPED_ITEM('tlistt',#16376,#26); -#5028=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5028); -#5029=MAPPED_ITEM('tlistt',#16376,#26); -#5030=POLYLINE('centreline',(#4505,#4506)); -#5031=PATH_AREA_WITH_PARAMETERS('',#12444,#5030); -#5032=CSG_PRIMITIVE_SOLID_2D('',#5031); -#5033=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5041),#5034); -#5034=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5035=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5035); -#5036=MAPPED_ITEM('tlistt',#16383,#26); -#5037=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5037); -#5038=MAPPED_ITEM('tlistt',#16383,#26); -#5039=POLYLINE('centreline',(#4514,#4515)); -#5040=PATH_AREA_WITH_PARAMETERS('',#12444,#5039); -#5041=CSG_PRIMITIVE_SOLID_2D('',#5040); -#5042=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5050),#5043); -#5043=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5044=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5044); -#5045=MAPPED_ITEM('tlistt',#16390,#26); -#5046=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5046); -#5047=MAPPED_ITEM('tlistt',#16390,#26); -#5048=POLYLINE('centreline',(#4523,#4524)); -#5049=PATH_AREA_WITH_PARAMETERS('',#12444,#5048); -#5050=CSG_PRIMITIVE_SOLID_2D('',#5049); -#5051=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5059),#5052); -#5052=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5053=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5053); -#5054=MAPPED_ITEM('tlistt',#16397,#26); -#5055=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5055); -#5056=MAPPED_ITEM('tlistt',#16397,#26); -#5057=POLYLINE('centreline',(#4532,#4533)); -#5058=PATH_AREA_WITH_PARAMETERS('',#12444,#5057); -#5059=CSG_PRIMITIVE_SOLID_2D('',#5058); -#5060=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5068),#5061); -#5061=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5062=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5062); -#5063=MAPPED_ITEM('tlistt',#16404,#26); -#5064=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5064); -#5065=MAPPED_ITEM('tlistt',#16404,#26); -#5066=POLYLINE('centreline',(#4541,#4542)); -#5067=PATH_AREA_WITH_PARAMETERS('',#12444,#5066); -#5068=CSG_PRIMITIVE_SOLID_2D('',#5067); -#5069=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5077),#5070); -#5070=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5071=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5071); -#5072=MAPPED_ITEM('tlistt',#16411,#26); -#5073=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5073); -#5074=MAPPED_ITEM('tlistt',#16411,#26); -#5075=POLYLINE('centreline',(#4550,#4551)); -#5076=PATH_AREA_WITH_PARAMETERS('',#12444,#5075); -#5077=CSG_PRIMITIVE_SOLID_2D('',#5076); -#5078=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5086),#5079); -#5079=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5080=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5080); -#5081=MAPPED_ITEM('tlistt',#16418,#26); -#5082=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5082); -#5083=MAPPED_ITEM('tlistt',#16418,#26); -#5084=POLYLINE('centreline',(#4559,#4560)); -#5085=PATH_AREA_WITH_PARAMETERS('',#12444,#5084); -#5086=CSG_PRIMITIVE_SOLID_2D('',#5085); -#5087=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5095),#5088); -#5088=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5089=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5089); -#5090=MAPPED_ITEM('tlistt',#16425,#26); -#5091=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5091); -#5092=MAPPED_ITEM('tlistt',#16425,#26); -#5093=POLYLINE('centreline',(#4568,#4569)); -#5094=PATH_AREA_WITH_PARAMETERS('',#12444,#5093); -#5095=CSG_PRIMITIVE_SOLID_2D('',#5094); -#5096=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5104),#5097); -#5097=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5098=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5098); -#5099=MAPPED_ITEM('tlistt',#16432,#26); -#5100=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5100); -#5101=MAPPED_ITEM('tlistt',#16432,#26); -#5102=POLYLINE('centreline',(#4577,#4578)); -#5103=PATH_AREA_WITH_PARAMETERS('',#12443,#5102); -#5104=CSG_PRIMITIVE_SOLID_2D('',#5103); -#5105=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5113),#5106); -#5106=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5107=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5107); -#5108=MAPPED_ITEM('tlistt',#16439,#26); -#5109=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5109); -#5110=MAPPED_ITEM('tlistt',#16439,#26); -#5111=POLYLINE('centreline',(#4586,#4587)); -#5112=PATH_AREA_WITH_PARAMETERS('',#12443,#5111); -#5113=CSG_PRIMITIVE_SOLID_2D('',#5112); -#5114=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5122),#5115); -#5115=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5116=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5116); -#5117=MAPPED_ITEM('tlistt',#16446,#26); -#5118=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5118); -#5119=MAPPED_ITEM('tlistt',#16446,#26); -#5120=POLYLINE('centreline',(#4595,#4596)); -#5121=PATH_AREA_WITH_PARAMETERS('',#12443,#5120); -#5122=CSG_PRIMITIVE_SOLID_2D('',#5121); -#5123=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5131),#5124); -#5124=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5125=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5125); -#5126=MAPPED_ITEM('tlistt',#16453,#26); -#5127=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5127); -#5128=MAPPED_ITEM('tlistt',#16453,#26); -#5129=POLYLINE('centreline',(#4604,#4605)); -#5130=PATH_AREA_WITH_PARAMETERS('',#12443,#5129); -#5131=CSG_PRIMITIVE_SOLID_2D('',#5130); -#5132=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5138),#5133); -#5133=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5134=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5134); -#5135=MAPPED_ITEM('tlistt',#16460,#26); -#5136=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5136); -#5137=MAPPED_ITEM('tlistt',#16460,#26); -#5138=CSG_PRIMITIVE_SOLID_2D('',#5139); -#5139=POLYGONAL_AREA('',(#5140,#5141,#5142,#5143)); -#5140=CARTESIAN_POINT('',(0.3075,8.565)); -#5141=CARTESIAN_POINT('',(0.3075,8.675)); -#5142=CARTESIAN_POINT('',(0.0025,8.625)); -#5143=CARTESIAN_POINT('',(0.0025,8.615)); -#5144=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5150),#5145); -#5145=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5146=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5146); -#5147=MAPPED_ITEM('tlistt',#16467,#26); -#5148=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5148); -#5149=MAPPED_ITEM('tlistt',#16467,#26); -#5150=CSG_PRIMITIVE_SOLID_2D('',#5151); -#5151=POLYGONAL_AREA('',(#5152,#5153,#5154,#5155)); -#5152=CARTESIAN_POINT('',(-0.175,8.1925)); -#5153=CARTESIAN_POINT('',(-0.065,8.1925)); -#5154=CARTESIAN_POINT('',(-0.115,8.4975)); -#5155=CARTESIAN_POINT('',(-0.125,8.4975)); -#5156=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5162),#5157); -#5157=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5158=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5158); -#5159=MAPPED_ITEM('tlistt',#16474,#26); -#5160=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5160); -#5161=MAPPED_ITEM('tlistt',#16474,#26); -#5162=CSG_PRIMITIVE_SOLID_2D('',#5163); -#5163=POLYGONAL_AREA('',(#5164,#5165,#5166,#5167)); -#5164=CARTESIAN_POINT('',(14.6925,8.675)); -#5165=CARTESIAN_POINT('',(14.6925,8.565)); -#5166=CARTESIAN_POINT('',(14.9975,8.615)); -#5167=CARTESIAN_POINT('',(14.9975,8.625)); -#5168=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5176),#5169); -#5169=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5170=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5170); -#5171=MAPPED_ITEM('tlistt',#16481,#26); -#5172=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5172); -#5173=MAPPED_ITEM('tlistt',#16481,#26); -#5174=POLYLINE('centreline',(#4643,#4644)); -#5175=PATH_AREA_WITH_PARAMETERS('',#12444,#5174); -#5176=CSG_PRIMITIVE_SOLID_2D('',#5175); -#5177=PRODUCT('SIGNAL for Part target_15x8.5_bsize-SIGNAL','template',$,(#14731)); -#5178=PRODUCT_DEFINITION_FORMATION('1',$,#5177); -#5179=STRATUM_FEATURE_TEMPLATE('1',$,#5178,#28,'',$,*); -#5180=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5208),#5181); -#5181=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5182=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5182); -#5183=MAPPED_ITEM('tlistt',#16488,#26); -#5184=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5184); -#5185=MAPPED_ITEM('tlistt',#16488,#26); -#5186=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5186); -#5187=MAPPED_ITEM('tlistt',#16488,#26); -#5188=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5188); -#5189=MAPPED_ITEM('tlistt',#16488,#26); -#5190=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5190); -#5191=MAPPED_ITEM('tlistt',#16488,#26); -#5192=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5192); -#5193=MAPPED_ITEM('tlistt',#16488,#26); -#5194=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5194); -#5195=MAPPED_ITEM('tlistt',#16488,#26); -#5196=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5196); -#5197=MAPPED_ITEM('tlistt',#16488,#26); -#5198=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5198); -#5199=MAPPED_ITEM('tlistt',#16488,#26); -#5200=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5200); -#5201=MAPPED_ITEM('tlistt',#16488,#26); -#5202=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5202); -#5203=MAPPED_ITEM('tlistt',#16488,#26); -#5204=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5204); -#5205=MAPPED_ITEM('tlistt',#16488,#26); -#5206=POLYLINE('centreline',(#4643,#4644)); -#5207=PATH_AREA_WITH_PARAMETERS('',#12444,#5206); -#5208=CSG_PRIMITIVE_SOLID_2D('',#5207); -#5209=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5235),#5210); -#5210=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5211=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5211); -#5212=MAPPED_ITEM('tlistt',#16525,#26); -#5213=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5213); -#5214=MAPPED_ITEM('tlistt',#16525,#26); -#5215=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5215); -#5216=MAPPED_ITEM('tlistt',#16525,#26); -#5217=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5217); -#5218=MAPPED_ITEM('tlistt',#16525,#26); -#5219=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5219); -#5220=MAPPED_ITEM('tlistt',#16525,#26); -#5221=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5221); -#5222=MAPPED_ITEM('tlistt',#16525,#26); -#5223=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5223); -#5224=MAPPED_ITEM('tlistt',#16525,#26); -#5225=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5225); -#5226=MAPPED_ITEM('tlistt',#16525,#26); -#5227=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5227); -#5228=MAPPED_ITEM('tlistt',#16525,#26); -#5229=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5229); -#5230=MAPPED_ITEM('tlistt',#16525,#26); -#5231=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5231); -#5232=MAPPED_ITEM('tlistt',#16525,#26); -#5233=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5233); -#5234=MAPPED_ITEM('tlistt',#16525,#26); -#5235=CSG_PRIMITIVE_SOLID_2D('',#5236); -#5236=POLYGONAL_AREA('',(#5237,#5238,#5239,#5240)); -#5237=CARTESIAN_POINT('',(14.6925,8.675)); -#5238=CARTESIAN_POINT('',(14.6925,8.565)); -#5239=CARTESIAN_POINT('',(14.9975,8.615)); -#5240=CARTESIAN_POINT('',(14.9975,8.625)); -#5241=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5267),#5242); -#5242=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5243=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5243); -#5244=MAPPED_ITEM('tlistt',#16562,#26); -#5245=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5245); -#5246=MAPPED_ITEM('tlistt',#16562,#26); -#5247=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5247); -#5248=MAPPED_ITEM('tlistt',#16562,#26); -#5249=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5249); -#5250=MAPPED_ITEM('tlistt',#16562,#26); -#5251=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5251); -#5252=MAPPED_ITEM('tlistt',#16562,#26); -#5253=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5253); -#5254=MAPPED_ITEM('tlistt',#16562,#26); -#5255=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5255); -#5256=MAPPED_ITEM('tlistt',#16562,#26); -#5257=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5257); -#5258=MAPPED_ITEM('tlistt',#16562,#26); -#5259=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5259); -#5260=MAPPED_ITEM('tlistt',#16562,#26); -#5261=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5261); -#5262=MAPPED_ITEM('tlistt',#16562,#26); -#5263=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5263); -#5264=MAPPED_ITEM('tlistt',#16562,#26); -#5265=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5265); -#5266=MAPPED_ITEM('tlistt',#16562,#26); -#5267=CSG_PRIMITIVE_SOLID_2D('',#5268); -#5268=POLYGONAL_AREA('',(#5269,#5270,#5271,#5272)); -#5269=CARTESIAN_POINT('',(-0.175,8.1925)); -#5270=CARTESIAN_POINT('',(-0.065,8.1925)); -#5271=CARTESIAN_POINT('',(-0.115,8.4975)); -#5272=CARTESIAN_POINT('',(-0.125,8.4975)); -#5273=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5299),#5274); -#5274=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5275=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5275); -#5276=MAPPED_ITEM('tlistt',#16599,#26); -#5277=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5277); -#5278=MAPPED_ITEM('tlistt',#16599,#26); -#5279=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5279); -#5280=MAPPED_ITEM('tlistt',#16599,#26); -#5281=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5281); -#5282=MAPPED_ITEM('tlistt',#16599,#26); -#5283=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5283); -#5284=MAPPED_ITEM('tlistt',#16599,#26); -#5285=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5285); -#5286=MAPPED_ITEM('tlistt',#16599,#26); -#5287=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5287); -#5288=MAPPED_ITEM('tlistt',#16599,#26); -#5289=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5289); -#5290=MAPPED_ITEM('tlistt',#16599,#26); -#5291=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5291); -#5292=MAPPED_ITEM('tlistt',#16599,#26); -#5293=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5293); -#5294=MAPPED_ITEM('tlistt',#16599,#26); -#5295=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5295); -#5296=MAPPED_ITEM('tlistt',#16599,#26); -#5297=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5297); -#5298=MAPPED_ITEM('tlistt',#16599,#26); -#5299=CSG_PRIMITIVE_SOLID_2D('',#5300); -#5300=POLYGONAL_AREA('',(#5301,#5302,#5303,#5304)); -#5301=CARTESIAN_POINT('',(0.3075,8.565)); -#5302=CARTESIAN_POINT('',(0.3075,8.675)); -#5303=CARTESIAN_POINT('',(0.0025,8.625)); -#5304=CARTESIAN_POINT('',(0.0025,8.615)); -#5305=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5333),#5306); -#5306=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5307=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5307); -#5308=MAPPED_ITEM('tlistt',#16636,#26); -#5309=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5309); -#5310=MAPPED_ITEM('tlistt',#16636,#26); -#5311=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5311); -#5312=MAPPED_ITEM('tlistt',#16636,#26); -#5313=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5313); -#5314=MAPPED_ITEM('tlistt',#16636,#26); -#5315=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5315); -#5316=MAPPED_ITEM('tlistt',#16636,#26); -#5317=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5317); -#5318=MAPPED_ITEM('tlistt',#16636,#26); -#5319=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5319); -#5320=MAPPED_ITEM('tlistt',#16636,#26); -#5321=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5321); -#5322=MAPPED_ITEM('tlistt',#16636,#26); -#5323=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5323); -#5324=MAPPED_ITEM('tlistt',#16636,#26); -#5325=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5325); -#5326=MAPPED_ITEM('tlistt',#16636,#26); -#5327=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5327); -#5328=MAPPED_ITEM('tlistt',#16636,#26); -#5329=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5329); -#5330=MAPPED_ITEM('tlistt',#16636,#26); -#5331=POLYLINE('centreline',(#4604,#4605)); -#5332=PATH_AREA_WITH_PARAMETERS('',#12443,#5331); -#5333=CSG_PRIMITIVE_SOLID_2D('',#5332); -#5334=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5362),#5335); -#5335=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5336=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5336); -#5337=MAPPED_ITEM('tlistt',#16673,#26); -#5338=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5338); -#5339=MAPPED_ITEM('tlistt',#16673,#26); -#5340=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5340); -#5341=MAPPED_ITEM('tlistt',#16673,#26); -#5342=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5342); -#5343=MAPPED_ITEM('tlistt',#16673,#26); -#5344=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5344); -#5345=MAPPED_ITEM('tlistt',#16673,#26); -#5346=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5346); -#5347=MAPPED_ITEM('tlistt',#16673,#26); -#5348=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5348); -#5349=MAPPED_ITEM('tlistt',#16673,#26); -#5350=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5350); -#5351=MAPPED_ITEM('tlistt',#16673,#26); -#5352=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5352); -#5353=MAPPED_ITEM('tlistt',#16673,#26); -#5354=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5354); -#5355=MAPPED_ITEM('tlistt',#16673,#26); -#5356=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5356); -#5357=MAPPED_ITEM('tlistt',#16673,#26); -#5358=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5358); -#5359=MAPPED_ITEM('tlistt',#16673,#26); -#5360=POLYLINE('centreline',(#4595,#4596)); -#5361=PATH_AREA_WITH_PARAMETERS('',#12443,#5360); -#5362=CSG_PRIMITIVE_SOLID_2D('',#5361); -#5363=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5391),#5364); -#5364=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5365=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5365); -#5366=MAPPED_ITEM('tlistt',#16710,#26); -#5367=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5367); -#5368=MAPPED_ITEM('tlistt',#16710,#26); -#5369=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5369); -#5370=MAPPED_ITEM('tlistt',#16710,#26); -#5371=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5371); -#5372=MAPPED_ITEM('tlistt',#16710,#26); -#5373=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5373); -#5374=MAPPED_ITEM('tlistt',#16710,#26); -#5375=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5375); -#5376=MAPPED_ITEM('tlistt',#16710,#26); -#5377=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5377); -#5378=MAPPED_ITEM('tlistt',#16710,#26); -#5379=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5379); -#5380=MAPPED_ITEM('tlistt',#16710,#26); -#5381=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5381); -#5382=MAPPED_ITEM('tlistt',#16710,#26); -#5383=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5383); -#5384=MAPPED_ITEM('tlistt',#16710,#26); -#5385=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5385); -#5386=MAPPED_ITEM('tlistt',#16710,#26); -#5387=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5387); -#5388=MAPPED_ITEM('tlistt',#16710,#26); -#5389=POLYLINE('centreline',(#4586,#4587)); -#5390=PATH_AREA_WITH_PARAMETERS('',#12443,#5389); -#5391=CSG_PRIMITIVE_SOLID_2D('',#5390); -#5392=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5420),#5393); -#5393=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5394=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5394); -#5395=MAPPED_ITEM('tlistt',#16747,#26); -#5396=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5396); -#5397=MAPPED_ITEM('tlistt',#16747,#26); -#5398=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5398); -#5399=MAPPED_ITEM('tlistt',#16747,#26); -#5400=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5400); -#5401=MAPPED_ITEM('tlistt',#16747,#26); -#5402=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5402); -#5403=MAPPED_ITEM('tlistt',#16747,#26); -#5404=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5404); -#5405=MAPPED_ITEM('tlistt',#16747,#26); -#5406=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5406); -#5407=MAPPED_ITEM('tlistt',#16747,#26); -#5408=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5408); -#5409=MAPPED_ITEM('tlistt',#16747,#26); -#5410=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5410); -#5411=MAPPED_ITEM('tlistt',#16747,#26); -#5412=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5412); -#5413=MAPPED_ITEM('tlistt',#16747,#26); -#5414=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5414); -#5415=MAPPED_ITEM('tlistt',#16747,#26); -#5416=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5416); -#5417=MAPPED_ITEM('tlistt',#16747,#26); -#5418=POLYLINE('centreline',(#4577,#4578)); -#5419=PATH_AREA_WITH_PARAMETERS('',#12443,#5418); -#5420=CSG_PRIMITIVE_SOLID_2D('',#5419); -#5421=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5449),#5422); -#5422=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5423=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5423); -#5424=MAPPED_ITEM('tlistt',#16784,#26); -#5425=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5425); -#5426=MAPPED_ITEM('tlistt',#16784,#26); -#5427=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5427); -#5428=MAPPED_ITEM('tlistt',#16784,#26); -#5429=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5429); -#5430=MAPPED_ITEM('tlistt',#16784,#26); -#5431=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5431); -#5432=MAPPED_ITEM('tlistt',#16784,#26); -#5433=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5433); -#5434=MAPPED_ITEM('tlistt',#16784,#26); -#5435=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5435); -#5436=MAPPED_ITEM('tlistt',#16784,#26); -#5437=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5437); -#5438=MAPPED_ITEM('tlistt',#16784,#26); -#5439=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5439); -#5440=MAPPED_ITEM('tlistt',#16784,#26); -#5441=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5441); -#5442=MAPPED_ITEM('tlistt',#16784,#26); -#5443=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5443); -#5444=MAPPED_ITEM('tlistt',#16784,#26); -#5445=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5445); -#5446=MAPPED_ITEM('tlistt',#16784,#26); -#5447=POLYLINE('centreline',(#4541,#4542)); -#5448=PATH_AREA_WITH_PARAMETERS('',#12444,#5447); -#5449=CSG_PRIMITIVE_SOLID_2D('',#5448); -#5450=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5478),#5451); -#5451=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5452=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5452); -#5453=MAPPED_ITEM('tlistt',#16821,#26); -#5454=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5454); -#5455=MAPPED_ITEM('tlistt',#16821,#26); -#5456=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5456); -#5457=MAPPED_ITEM('tlistt',#16821,#26); -#5458=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5458); -#5459=MAPPED_ITEM('tlistt',#16821,#26); -#5460=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5460); -#5461=MAPPED_ITEM('tlistt',#16821,#26); -#5462=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5462); -#5463=MAPPED_ITEM('tlistt',#16821,#26); -#5464=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5464); -#5465=MAPPED_ITEM('tlistt',#16821,#26); -#5466=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5466); -#5467=MAPPED_ITEM('tlistt',#16821,#26); -#5468=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5468); -#5469=MAPPED_ITEM('tlistt',#16821,#26); -#5470=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5470); -#5471=MAPPED_ITEM('tlistt',#16821,#26); -#5472=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5472); -#5473=MAPPED_ITEM('tlistt',#16821,#26); -#5474=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5474); -#5475=MAPPED_ITEM('tlistt',#16821,#26); -#5476=POLYLINE('centreline',(#4550,#4551)); -#5477=PATH_AREA_WITH_PARAMETERS('',#12444,#5476); -#5478=CSG_PRIMITIVE_SOLID_2D('',#5477); -#5479=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5507),#5480); -#5480=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5481=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5481); -#5482=MAPPED_ITEM('tlistt',#16858,#26); -#5483=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5483); -#5484=MAPPED_ITEM('tlistt',#16858,#26); -#5485=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5485); -#5486=MAPPED_ITEM('tlistt',#16858,#26); -#5487=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5487); -#5488=MAPPED_ITEM('tlistt',#16858,#26); -#5489=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5489); -#5490=MAPPED_ITEM('tlistt',#16858,#26); -#5491=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5491); -#5492=MAPPED_ITEM('tlistt',#16858,#26); -#5493=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5493); -#5494=MAPPED_ITEM('tlistt',#16858,#26); -#5495=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5495); -#5496=MAPPED_ITEM('tlistt',#16858,#26); -#5497=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5497); -#5498=MAPPED_ITEM('tlistt',#16858,#26); -#5499=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5499); -#5500=MAPPED_ITEM('tlistt',#16858,#26); -#5501=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5501); -#5502=MAPPED_ITEM('tlistt',#16858,#26); -#5503=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5503); -#5504=MAPPED_ITEM('tlistt',#16858,#26); -#5505=POLYLINE('centreline',(#4559,#4560)); -#5506=PATH_AREA_WITH_PARAMETERS('',#12444,#5505); -#5507=CSG_PRIMITIVE_SOLID_2D('',#5506); -#5508=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5536),#5509); -#5509=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5510=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5510); -#5511=MAPPED_ITEM('tlistt',#16895,#26); -#5512=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5512); -#5513=MAPPED_ITEM('tlistt',#16895,#26); -#5514=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5514); -#5515=MAPPED_ITEM('tlistt',#16895,#26); -#5516=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5516); -#5517=MAPPED_ITEM('tlistt',#16895,#26); -#5518=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5518); -#5519=MAPPED_ITEM('tlistt',#16895,#26); -#5520=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5520); -#5521=MAPPED_ITEM('tlistt',#16895,#26); -#5522=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5522); -#5523=MAPPED_ITEM('tlistt',#16895,#26); -#5524=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5524); -#5525=MAPPED_ITEM('tlistt',#16895,#26); -#5526=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5526); -#5527=MAPPED_ITEM('tlistt',#16895,#26); -#5528=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5528); -#5529=MAPPED_ITEM('tlistt',#16895,#26); -#5530=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5530); -#5531=MAPPED_ITEM('tlistt',#16895,#26); -#5532=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5532); -#5533=MAPPED_ITEM('tlistt',#16895,#26); -#5534=POLYLINE('centreline',(#4568,#4569)); -#5535=PATH_AREA_WITH_PARAMETERS('',#12444,#5534); -#5536=CSG_PRIMITIVE_SOLID_2D('',#5535); -#5537=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5565),#5538); -#5538=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5539=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5539); -#5540=MAPPED_ITEM('tlistt',#16932,#26); -#5541=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5541); -#5542=MAPPED_ITEM('tlistt',#16932,#26); -#5543=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5543); -#5544=MAPPED_ITEM('tlistt',#16932,#26); -#5545=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5545); -#5546=MAPPED_ITEM('tlistt',#16932,#26); -#5547=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5547); -#5548=MAPPED_ITEM('tlistt',#16932,#26); -#5549=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5549); -#5550=MAPPED_ITEM('tlistt',#16932,#26); -#5551=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5551); -#5552=MAPPED_ITEM('tlistt',#16932,#26); -#5553=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5553); -#5554=MAPPED_ITEM('tlistt',#16932,#26); -#5555=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5555); -#5556=MAPPED_ITEM('tlistt',#16932,#26); -#5557=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5557); -#5558=MAPPED_ITEM('tlistt',#16932,#26); -#5559=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5559); -#5560=MAPPED_ITEM('tlistt',#16932,#26); -#5561=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5561); -#5562=MAPPED_ITEM('tlistt',#16932,#26); -#5563=POLYLINE('centreline',(#4532,#4533)); -#5564=PATH_AREA_WITH_PARAMETERS('',#12444,#5563); -#5565=CSG_PRIMITIVE_SOLID_2D('',#5564); -#5566=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5594),#5567); -#5567=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5568=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5568); -#5569=MAPPED_ITEM('tlistt',#16969,#26); -#5570=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5570); -#5571=MAPPED_ITEM('tlistt',#16969,#26); -#5572=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5572); -#5573=MAPPED_ITEM('tlistt',#16969,#26); -#5574=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5574); -#5575=MAPPED_ITEM('tlistt',#16969,#26); -#5576=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5576); -#5577=MAPPED_ITEM('tlistt',#16969,#26); -#5578=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5578); -#5579=MAPPED_ITEM('tlistt',#16969,#26); -#5580=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5580); -#5581=MAPPED_ITEM('tlistt',#16969,#26); -#5582=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5582); -#5583=MAPPED_ITEM('tlistt',#16969,#26); -#5584=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5584); -#5585=MAPPED_ITEM('tlistt',#16969,#26); -#5586=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5586); -#5587=MAPPED_ITEM('tlistt',#16969,#26); -#5588=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5588); -#5589=MAPPED_ITEM('tlistt',#16969,#26); -#5590=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5590); -#5591=MAPPED_ITEM('tlistt',#16969,#26); -#5592=POLYLINE('centreline',(#4523,#4524)); -#5593=PATH_AREA_WITH_PARAMETERS('',#12444,#5592); -#5594=CSG_PRIMITIVE_SOLID_2D('',#5593); -#5595=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5623),#5596); -#5596=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5597=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5597); -#5598=MAPPED_ITEM('tlistt',#17006,#26); -#5599=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5599); -#5600=MAPPED_ITEM('tlistt',#17006,#26); -#5601=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5601); -#5602=MAPPED_ITEM('tlistt',#17006,#26); -#5603=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5603); -#5604=MAPPED_ITEM('tlistt',#17006,#26); -#5605=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5605); -#5606=MAPPED_ITEM('tlistt',#17006,#26); -#5607=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5607); -#5608=MAPPED_ITEM('tlistt',#17006,#26); -#5609=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5609); -#5610=MAPPED_ITEM('tlistt',#17006,#26); -#5611=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5611); -#5612=MAPPED_ITEM('tlistt',#17006,#26); -#5613=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5613); -#5614=MAPPED_ITEM('tlistt',#17006,#26); -#5615=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5615); -#5616=MAPPED_ITEM('tlistt',#17006,#26); -#5617=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5617); -#5618=MAPPED_ITEM('tlistt',#17006,#26); -#5619=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5619); -#5620=MAPPED_ITEM('tlistt',#17006,#26); -#5621=POLYLINE('centreline',(#4514,#4515)); -#5622=PATH_AREA_WITH_PARAMETERS('',#12444,#5621); -#5623=CSG_PRIMITIVE_SOLID_2D('',#5622); -#5624=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5652),#5625); -#5625=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5626=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5626); -#5627=MAPPED_ITEM('tlistt',#17043,#26); -#5628=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5628); -#5629=MAPPED_ITEM('tlistt',#17043,#26); -#5630=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5630); -#5631=MAPPED_ITEM('tlistt',#17043,#26); -#5632=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5632); -#5633=MAPPED_ITEM('tlistt',#17043,#26); -#5634=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5634); -#5635=MAPPED_ITEM('tlistt',#17043,#26); -#5636=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5636); -#5637=MAPPED_ITEM('tlistt',#17043,#26); -#5638=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5638); -#5639=MAPPED_ITEM('tlistt',#17043,#26); -#5640=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5640); -#5641=MAPPED_ITEM('tlistt',#17043,#26); -#5642=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5642); -#5643=MAPPED_ITEM('tlistt',#17043,#26); -#5644=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5644); -#5645=MAPPED_ITEM('tlistt',#17043,#26); -#5646=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5646); -#5647=MAPPED_ITEM('tlistt',#17043,#26); -#5648=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5648); -#5649=MAPPED_ITEM('tlistt',#17043,#26); -#5650=POLYLINE('centreline',(#4505,#4506)); -#5651=PATH_AREA_WITH_PARAMETERS('',#12444,#5650); -#5652=CSG_PRIMITIVE_SOLID_2D('',#5651); -#5653=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5681),#5654); -#5654=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5655=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5655); -#5656=MAPPED_ITEM('tlistt',#17080,#26); -#5657=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5657); -#5658=MAPPED_ITEM('tlistt',#17080,#26); -#5659=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5659); -#5660=MAPPED_ITEM('tlistt',#17080,#26); -#5661=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5661); -#5662=MAPPED_ITEM('tlistt',#17080,#26); -#5663=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5663); -#5664=MAPPED_ITEM('tlistt',#17080,#26); -#5665=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5665); -#5666=MAPPED_ITEM('tlistt',#17080,#26); -#5667=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5667); -#5668=MAPPED_ITEM('tlistt',#17080,#26); -#5669=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5669); -#5670=MAPPED_ITEM('tlistt',#17080,#26); -#5671=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5671); -#5672=MAPPED_ITEM('tlistt',#17080,#26); -#5673=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5673); -#5674=MAPPED_ITEM('tlistt',#17080,#26); -#5675=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5675); -#5676=MAPPED_ITEM('tlistt',#17080,#26); -#5677=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5677); -#5678=MAPPED_ITEM('tlistt',#17080,#26); -#5679=POLYLINE('centreline',(#4496,#4497)); -#5680=PATH_AREA_WITH_PARAMETERS('',#12444,#5679); -#5681=CSG_PRIMITIVE_SOLID_2D('',#5680); -#5682=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5690),#5683); -#5683=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5684=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#5684); -#5685=MAPPED_ITEM('tlistt',#17117,#26); -#5686=POLYLINE('centreline',(#5687,#5688)); -#5687=CARTESIAN_POINT('',(-0.12,0.0025)); -#5688=CARTESIAN_POINT('',(-0.12,3.875)); -#5689=PATH_AREA_WITH_PARAMETERS('',#12444,#5686); -#5690=CSG_PRIMITIVE_SOLID_2D('',#5689); -#5691=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5699),#5692); -#5692=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5693=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#5693); -#5694=MAPPED_ITEM('tlistt',#17121,#26); -#5695=POLYLINE('centreline',(#5696,#5697)); -#5696=CARTESIAN_POINT('',(-0.07,0.0)); -#5697=CARTESIAN_POINT('',(-0.17,0.0)); -#5698=PATH_AREA_WITH_PARAMETERS('',#12444,#5695); -#5699=CSG_PRIMITIVE_SOLID_2D('',#5698); -#5700=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5708),#5701); -#5701=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5702=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#5702); -#5703=MAPPED_ITEM('tlistt',#17125,#26); -#5704=POLYLINE('centreline',(#5705,#5706)); -#5705=CARTESIAN_POINT('',(-0.05,0.0)); -#5706=CARTESIAN_POINT('',(0.05,0.0)); -#5707=PATH_AREA_WITH_PARAMETERS('',#12444,#5704); -#5708=CSG_PRIMITIVE_SOLID_2D('',#5707); -#5709=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5717),#5710); -#5710=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5711=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#5711); -#5712=MAPPED_ITEM('tlistt',#17129,#26); -#5713=POLYLINE('centreline',(#5714,#5715)); -#5714=CARTESIAN_POINT('',(0.0,0.05)); -#5715=CARTESIAN_POINT('',(0.0,-0.05)); -#5716=PATH_AREA_WITH_PARAMETERS('',#12444,#5713); -#5717=CSG_PRIMITIVE_SOLID_2D('',#5716); -#5718=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5722),#5719); -#5719=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5720=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4488,'SOLDER_MASK_2 for Part target_15x8.5_bsize', - '',$,#5720); -#5721=MAPPED_ITEM('tlistt',#17133,#26); -#5722=CSG_PRIMITIVE_SOLID_2D('',#5723); -#5723=POLYGONAL_AREA('',(#5724,#5725,#5726,#5727)); -#5724=CARTESIAN_POINT('',(-0.065,0.3075)); -#5725=CARTESIAN_POINT('',(-0.175,0.3075)); -#5726=CARTESIAN_POINT('',(-0.125,0.0025)); -#5727=CARTESIAN_POINT('',(-0.115,0.0025)); -#5728=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5732),#5729); -#5729=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5730=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#5730); -#5731=MAPPED_ITEM('tlistt',#17137,#26); -#5732=CSG_PRIMITIVE_SOLID_2D('',#5733); -#5733=POLYGONAL_AREA('',(#5734,#5735,#5736,#5737)); -#5734=CARTESIAN_POINT('',(-0.065,0.3075)); -#5735=CARTESIAN_POINT('',(-0.175,0.3075)); -#5736=CARTESIAN_POINT('',(-0.125,0.0025)); -#5737=CARTESIAN_POINT('',(-0.115,0.0025)); -#5738=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5744),#5739); -#5739=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5740=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#5740); -#5741=MAPPED_ITEM('tlistt',#17141,#26); -#5742=POLYLINE('centreline',(#5705,#5706)); -#5743=PATH_AREA_WITH_PARAMETERS('',#12444,#5742); -#5744=CSG_PRIMITIVE_SOLID_2D('',#5743); -#5745=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5751),#5746); -#5746=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5747=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#5747); -#5748=MAPPED_ITEM('tlistt',#17145,#26); -#5749=POLYLINE('centreline',(#5714,#5715)); -#5750=PATH_AREA_WITH_PARAMETERS('',#12444,#5749); -#5751=CSG_PRIMITIVE_SOLID_2D('',#5750); -#5752=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5758),#5753); -#5753=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5754=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#5754); -#5755=MAPPED_ITEM('tlistt',#17149,#26); -#5756=POLYLINE('centreline',(#5696,#5697)); -#5757=PATH_AREA_WITH_PARAMETERS('',#12444,#5756); -#5758=CSG_PRIMITIVE_SOLID_2D('',#5757); -#5759=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5765),#5760); -#5760=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5761=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4649,'SOLDER_MASK_1 for Part target_15x8.5_bsize', - '',$,#5761); -#5762=MAPPED_ITEM('tlistt',#17153,#26); -#5763=POLYLINE('centreline',(#5687,#5688)); -#5764=PATH_AREA_WITH_PARAMETERS('',#12444,#5763); -#5765=CSG_PRIMITIVE_SOLID_2D('',#5764); -#5766=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5772),#5767); -#5767=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5768=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#5768); -#5769=MAPPED_ITEM('tlistt',#17157,#26); -#5770=POLYLINE('centreline',(#5687,#5688)); -#5771=PATH_AREA_WITH_PARAMETERS('',#12444,#5770); -#5772=CSG_PRIMITIVE_SOLID_2D('',#5771); -#5773=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5779),#5774); -#5774=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5775=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#5775); -#5776=MAPPED_ITEM('tlistt',#17161,#26); -#5777=POLYLINE('centreline',(#5696,#5697)); -#5778=PATH_AREA_WITH_PARAMETERS('',#12444,#5777); -#5779=CSG_PRIMITIVE_SOLID_2D('',#5778); -#5780=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5786),#5781); -#5781=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5782=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#5782); -#5783=MAPPED_ITEM('tlistt',#17165,#26); -#5784=POLYLINE('centreline',(#5705,#5706)); -#5785=PATH_AREA_WITH_PARAMETERS('',#12444,#5784); -#5786=CSG_PRIMITIVE_SOLID_2D('',#5785); -#5787=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5793),#5788); -#5788=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5789=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#5789); -#5790=MAPPED_ITEM('tlistt',#17169,#26); -#5791=POLYLINE('centreline',(#5714,#5715)); -#5792=PATH_AREA_WITH_PARAMETERS('',#12444,#5791); -#5793=CSG_PRIMITIVE_SOLID_2D('',#5792); -#5794=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5798),#5795); -#5795=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5796=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_2 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4780,'PASTE_MASK_2 for Part target_15x8.5_bsize', - '',$,#5796); -#5797=MAPPED_ITEM('tlistt',#17173,#26); -#5798=CSG_PRIMITIVE_SOLID_2D('',#5799); -#5799=POLYGONAL_AREA('',(#5800,#5801,#5802,#5803)); -#5800=CARTESIAN_POINT('',(-0.065,0.3075)); -#5801=CARTESIAN_POINT('',(-0.175,0.3075)); -#5802=CARTESIAN_POINT('',(-0.125,0.0025)); -#5803=CARTESIAN_POINT('',(-0.115,0.0025)); -#5804=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5808),#5805); -#5805=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5806=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#5806); -#5807=MAPPED_ITEM('tlistt',#17177,#26); -#5808=CSG_PRIMITIVE_SOLID_2D('',#5809); -#5809=POLYGONAL_AREA('',(#5810,#5811,#5812,#5813)); -#5810=CARTESIAN_POINT('',(-0.065,0.3075)); -#5811=CARTESIAN_POINT('',(-0.175,0.3075)); -#5812=CARTESIAN_POINT('',(-0.125,0.0025)); -#5813=CARTESIAN_POINT('',(-0.115,0.0025)); -#5814=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5820),#5815); -#5815=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5816=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#5816); -#5817=MAPPED_ITEM('tlistt',#17181,#26); -#5818=POLYLINE('centreline',(#5705,#5706)); -#5819=PATH_AREA_WITH_PARAMETERS('',#12444,#5818); -#5820=CSG_PRIMITIVE_SOLID_2D('',#5819); -#5821=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5827),#5822); -#5822=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5823=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#5823); -#5824=MAPPED_ITEM('tlistt',#17185,#26); -#5825=POLYLINE('centreline',(#5714,#5715)); -#5826=PATH_AREA_WITH_PARAMETERS('',#12444,#5825); -#5827=CSG_PRIMITIVE_SOLID_2D('',#5826); -#5828=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5834),#5829); -#5829=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5830=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#5830); -#5831=MAPPED_ITEM('tlistt',#17189,#26); -#5832=POLYLINE('centreline',(#5696,#5697)); -#5833=PATH_AREA_WITH_PARAMETERS('',#12444,#5832); -#5834=CSG_PRIMITIVE_SOLID_2D('',#5833); -#5835=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5841),#5836); -#5836=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5837=STRATUM_SPECIFIC_TEMPLATE_LOCATION('PASTE_MASK_1 for Part target_15x8.5_bsize', - 'tlist','is unknown',#713,#4883,'PASTE_MASK_1 for Part target_15x8.5_bsize', - '',$,#5837); -#5838=MAPPED_ITEM('tlistt',#17193,#26); -#5839=POLYLINE('centreline',(#5687,#5688)); -#5840=PATH_AREA_WITH_PARAMETERS('',#12444,#5839); -#5841=CSG_PRIMITIVE_SOLID_2D('',#5840); -#5842=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5850),#5843); -#5843=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5844=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5844); -#5845=MAPPED_ITEM('tlistt',#17197,#26); -#5846=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5846); -#5847=MAPPED_ITEM('tlistt',#17197,#26); -#5848=POLYLINE('centreline',(#5687,#5688)); -#5849=PATH_AREA_WITH_PARAMETERS('',#12444,#5848); -#5850=CSG_PRIMITIVE_SOLID_2D('',#5849); -#5851=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5859),#5852); -#5852=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5853=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5853); -#5854=MAPPED_ITEM('tlistt',#17204,#26); -#5855=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5855); -#5856=MAPPED_ITEM('tlistt',#17204,#26); -#5857=POLYLINE('centreline',(#5696,#5697)); -#5858=PATH_AREA_WITH_PARAMETERS('',#12444,#5857); -#5859=CSG_PRIMITIVE_SOLID_2D('',#5858); -#5860=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5868),#5861); -#5861=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5862=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5862); -#5863=MAPPED_ITEM('tlistt',#17211,#26); -#5864=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5864); -#5865=MAPPED_ITEM('tlistt',#17211,#26); -#5866=POLYLINE('centreline',(#5705,#5706)); -#5867=PATH_AREA_WITH_PARAMETERS('',#12444,#5866); -#5868=CSG_PRIMITIVE_SOLID_2D('',#5867); -#5869=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5877),#5870); -#5870=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5871=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5871); -#5872=MAPPED_ITEM('tlistt',#17218,#26); -#5873=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5873); -#5874=MAPPED_ITEM('tlistt',#17218,#26); -#5875=POLYLINE('centreline',(#5714,#5715)); -#5876=PATH_AREA_WITH_PARAMETERS('',#12444,#5875); -#5877=CSG_PRIMITIVE_SOLID_2D('',#5876); -#5878=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5884),#5879); -#5879=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5880=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_1','',$, - #5880); -#5881=MAPPED_ITEM('tlistt',#17225,#26); -#5882=STRATUM_SPECIFIC_TEMPLATE_LOCATION('POWER for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5014,'POWER for Part target_15x8.5_bsize_2','',$, - #5882); -#5883=MAPPED_ITEM('tlistt',#17225,#26); -#5884=CSG_PRIMITIVE_SOLID_2D('',#5885); -#5885=POLYGONAL_AREA('',(#5886,#5887,#5888,#5889)); -#5886=CARTESIAN_POINT('',(-0.065,0.3075)); -#5887=CARTESIAN_POINT('',(-0.175,0.3075)); -#5888=CARTESIAN_POINT('',(-0.125,0.0025)); -#5889=CARTESIAN_POINT('',(-0.115,0.0025)); -#5890=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5916),#5891); -#5891=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5892=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5892); -#5893=MAPPED_ITEM('tlistt',#17232,#26); -#5894=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5894); -#5895=MAPPED_ITEM('tlistt',#17232,#26); -#5896=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5896); -#5897=MAPPED_ITEM('tlistt',#17232,#26); -#5898=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5898); -#5899=MAPPED_ITEM('tlistt',#17232,#26); -#5900=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5900); -#5901=MAPPED_ITEM('tlistt',#17232,#26); -#5902=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5902); -#5903=MAPPED_ITEM('tlistt',#17232,#26); -#5904=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5904); -#5905=MAPPED_ITEM('tlistt',#17232,#26); -#5906=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5906); -#5907=MAPPED_ITEM('tlistt',#17232,#26); -#5908=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5908); -#5909=MAPPED_ITEM('tlistt',#17232,#26); -#5910=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5910); -#5911=MAPPED_ITEM('tlistt',#17232,#26); -#5912=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5912); -#5913=MAPPED_ITEM('tlistt',#17232,#26); -#5914=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5914); -#5915=MAPPED_ITEM('tlistt',#17232,#26); -#5916=CSG_PRIMITIVE_SOLID_2D('',#5917); -#5917=POLYGONAL_AREA('',(#5918,#5919,#5920,#5921)); -#5918=CARTESIAN_POINT('',(-0.065,0.3075)); -#5919=CARTESIAN_POINT('',(-0.175,0.3075)); -#5920=CARTESIAN_POINT('',(-0.125,0.0025)); -#5921=CARTESIAN_POINT('',(-0.115,0.0025)); -#5922=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5950),#5923); -#5923=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5924=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5924); -#5925=MAPPED_ITEM('tlistt',#17269,#26); -#5926=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5926); -#5927=MAPPED_ITEM('tlistt',#17269,#26); -#5928=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5928); -#5929=MAPPED_ITEM('tlistt',#17269,#26); -#5930=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5930); -#5931=MAPPED_ITEM('tlistt',#17269,#26); -#5932=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5932); -#5933=MAPPED_ITEM('tlistt',#17269,#26); -#5934=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5934); -#5935=MAPPED_ITEM('tlistt',#17269,#26); -#5936=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5936); -#5937=MAPPED_ITEM('tlistt',#17269,#26); -#5938=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5938); -#5939=MAPPED_ITEM('tlistt',#17269,#26); -#5940=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5940); -#5941=MAPPED_ITEM('tlistt',#17269,#26); -#5942=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5942); -#5943=MAPPED_ITEM('tlistt',#17269,#26); -#5944=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5944); -#5945=MAPPED_ITEM('tlistt',#17269,#26); -#5946=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5946); -#5947=MAPPED_ITEM('tlistt',#17269,#26); -#5948=POLYLINE('centreline',(#5705,#5706)); -#5949=PATH_AREA_WITH_PARAMETERS('',#12444,#5948); -#5950=CSG_PRIMITIVE_SOLID_2D('',#5949); -#5951=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#5979),#5952); -#5952=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5953=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5953); -#5954=MAPPED_ITEM('tlistt',#17306,#26); -#5955=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5955); -#5956=MAPPED_ITEM('tlistt',#17306,#26); -#5957=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5957); -#5958=MAPPED_ITEM('tlistt',#17306,#26); -#5959=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5959); -#5960=MAPPED_ITEM('tlistt',#17306,#26); -#5961=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5961); -#5962=MAPPED_ITEM('tlistt',#17306,#26); -#5963=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5963); -#5964=MAPPED_ITEM('tlistt',#17306,#26); -#5965=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5965); -#5966=MAPPED_ITEM('tlistt',#17306,#26); -#5967=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5967); -#5968=MAPPED_ITEM('tlistt',#17306,#26); -#5969=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5969); -#5970=MAPPED_ITEM('tlistt',#17306,#26); -#5971=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#5971); -#5972=MAPPED_ITEM('tlistt',#17306,#26); -#5973=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#5973); -#5974=MAPPED_ITEM('tlistt',#17306,#26); -#5975=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#5975); -#5976=MAPPED_ITEM('tlistt',#17306,#26); -#5977=POLYLINE('centreline',(#5714,#5715)); -#5978=PATH_AREA_WITH_PARAMETERS('',#12444,#5977); -#5979=CSG_PRIMITIVE_SOLID_2D('',#5978); -#5980=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#6008),#5981); -#5981=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#5982=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#5982); -#5983=MAPPED_ITEM('tlistt',#17343,#26); -#5984=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#5984); -#5985=MAPPED_ITEM('tlistt',#17343,#26); -#5986=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#5986); -#5987=MAPPED_ITEM('tlistt',#17343,#26); -#5988=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#5988); -#5989=MAPPED_ITEM('tlistt',#17343,#26); -#5990=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#5990); -#5991=MAPPED_ITEM('tlistt',#17343,#26); -#5992=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#5992); -#5993=MAPPED_ITEM('tlistt',#17343,#26); -#5994=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#5994); -#5995=MAPPED_ITEM('tlistt',#17343,#26); -#5996=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#5996); -#5997=MAPPED_ITEM('tlistt',#17343,#26); -#5998=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#5998); -#5999=MAPPED_ITEM('tlistt',#17343,#26); -#6000=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#6000); -#6001=MAPPED_ITEM('tlistt',#17343,#26); -#6002=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#6002); -#6003=MAPPED_ITEM('tlistt',#17343,#26); -#6004=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#6004); -#6005=MAPPED_ITEM('tlistt',#17343,#26); -#6006=POLYLINE('centreline',(#5696,#5697)); -#6007=PATH_AREA_WITH_PARAMETERS('',#12444,#6006); -#6008=CSG_PRIMITIVE_SOLID_2D('',#6007); -#6009=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#6037),#6010); -#6010=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6011=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_1', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_1','', - $,#6011); -#6012=MAPPED_ITEM('tlistt',#17380,#26); -#6013=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_2', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_2','', - $,#6013); -#6014=MAPPED_ITEM('tlistt',#17380,#26); -#6015=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_3', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_3','', - $,#6015); -#6016=MAPPED_ITEM('tlistt',#17380,#26); -#6017=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_4', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_4','', - $,#6017); -#6018=MAPPED_ITEM('tlistt',#17380,#26); -#6019=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_5', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_5','', - $,#6019); -#6020=MAPPED_ITEM('tlistt',#17380,#26); -#6021=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_6', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_6','', - $,#6021); -#6022=MAPPED_ITEM('tlistt',#17380,#26); -#6023=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_7', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_7','', - $,#6023); -#6024=MAPPED_ITEM('tlistt',#17380,#26); -#6025=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_8', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_8','', - $,#6025); -#6026=MAPPED_ITEM('tlistt',#17380,#26); -#6027=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_9', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_9','', - $,#6027); -#6028=MAPPED_ITEM('tlistt',#17380,#26); -#6029=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_10', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_10','', - $,#6029); -#6030=MAPPED_ITEM('tlistt',#17380,#26); -#6031=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_11', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_11','', - $,#6031); -#6032=MAPPED_ITEM('tlistt',#17380,#26); -#6033=STRATUM_SPECIFIC_TEMPLATE_LOCATION('SIGNAL for Part target_15x8.5_bsize_12', - 'tlist','is unknown',#713,#5179,'SIGNAL for Part target_15x8.5_bsize_12','', - $,#6033); -#6034=MAPPED_ITEM('tlistt',#17380,#26); -#6035=POLYLINE('centreline',(#5687,#5688)); -#6036=PATH_AREA_WITH_PARAMETERS('',#12444,#6035); -#6037=CSG_PRIMITIVE_SOLID_2D('',#6036); -#6038=PHYSICAL_COMPONENT('PART2',$,#737,#17992,'PART2','definition usage',$,#738, - *,'',$,*); -#6039=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART2','',$,#746,#738,'PART2', - '',$,#6038,*); -#6040=DIRECTION('',(1.0,0.0)); -#6041=DIRECTION('',(-0.0,1.0)); -#6042=CARTESIAN_POINT('',(7.25,7.78)); -#6043=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6040,#6041,#6042,1.0); -#6044=COMPONENT_2D_LOCATION(*,#6045,'component 2d location',$,#740,#748,#6043); -#6045=PRODUCT_DEFINITION_SHAPE('',$,#6039); -#6046=PHYSICAL_COMPONENT('PART2',$,#737,#17992,'PART2','definition usage',$,#738, - *,'',$,*); -#6047=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART2','',$,#746,#738,'PART2', - '',$,#6046,*); -#6048=DIRECTION('',(1.0,0.0)); -#6049=DIRECTION('',(-0.0,1.0)); -#6050=CARTESIAN_POINT('',(7.25,-0.35)); -#6051=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6048,#6049,#6050,1.0); -#6052=COMPONENT_2D_LOCATION(*,#6053,'component 2d location',$,#740,#748,#6051); -#6053=PRODUCT_DEFINITION_SHAPE('',$,#6047); -#6054=PHYSICAL_COMPONENT('PART1',$,#717,#17992,'PART1','definition usage',$,#718, - *,'',$,*); -#6055=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART1','',$,#746,#718,'PART1', - '',$,#6054,*); -#6056=DIRECTION('',(1.0,0.0)); -#6057=DIRECTION('',(-0.0,1.0)); -#6058=CARTESIAN_POINT('',(-0.386,-0.038)); -#6059=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6056,#6057,#6058,1.0); -#6060=COMPONENT_2D_LOCATION(*,#6061,'component 2d location',$,#720,#748,#6059); -#6061=PRODUCT_DEFINITION_SHAPE('',$,#6055); -#6062=PHYSICAL_COMPONENT('PART1',$,#717,#17992,'PART1','definition usage',$,#718, - *,'',$,*); -#6063=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART1','',$,#746,#718,'PART1', - '',$,#6062,*); -#6064=DIRECTION('',(1.0,0.0)); -#6065=DIRECTION('',(-0.0,1.0)); -#6066=CARTESIAN_POINT('',(-0.386,1.814)); -#6067=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6064,#6065,#6066,1.0); -#6068=COMPONENT_2D_LOCATION(*,#6069,'component 2d location',$,#720,#748,#6067); -#6069=PRODUCT_DEFINITION_SHAPE('',$,#6063); -#6070=PHYSICAL_COMPONENT('PART1',$,#717,#17992,'PART1','definition usage',$,#718, - *,'',$,*); -#6071=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART1','',$,#746,#718,'PART1', - '',$,#6070,*); -#6072=DIRECTION('',(1.0,0.0)); -#6073=DIRECTION('',(-0.0,1.0)); -#6074=CARTESIAN_POINT('',(-0.386,2.723)); -#6075=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6072,#6073,#6074,1.0); -#6076=COMPONENT_2D_LOCATION(*,#6077,'component 2d location',$,#720,#748,#6075); -#6077=PRODUCT_DEFINITION_SHAPE('',$,#6071); -#6078=PHYSICAL_COMPONENT('PART1',$,#717,#17992,'PART1','definition usage',$,#718, - *,'',$,*); -#6079=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART1','',$,#746,#718,'PART1', - '',$,#6078,*); -#6080=DIRECTION('',(1.0,0.0)); -#6081=DIRECTION('',(-0.0,1.0)); -#6082=CARTESIAN_POINT('',(-0.386,3.707)); -#6083=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6080,#6081,#6082,1.0); -#6084=COMPONENT_2D_LOCATION(*,#6085,'component 2d location',$,#720,#748,#6083); -#6085=PRODUCT_DEFINITION_SHAPE('',$,#6079); -#6086=PHYSICAL_COMPONENT('PART1',$,#717,#17992,'PART1','definition usage',$,#718, - *,'',$,*); -#6087=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART1','',$,#746,#718,'PART1', - '',$,#6086,*); -#6088=DIRECTION('',(1.0,0.0)); -#6089=DIRECTION('',(-0.0,1.0)); -#6090=CARTESIAN_POINT('',(-0.198,5.218)); -#6091=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6088,#6089,#6090,1.0); -#6092=COMPONENT_2D_LOCATION(*,#6093,'component 2d location',$,#720,#748,#6091); -#6093=PRODUCT_DEFINITION_SHAPE('',$,#6087); -#6094=PHYSICAL_COMPONENT('PART1',$,#717,#17992,'PART1','definition usage',$,#718, - *,'',$,*); -#6095=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART1','',$,#746,#718,'PART1', - '',$,#6094,*); -#6096=DIRECTION('',(1.0,0.0)); -#6097=DIRECTION('',(-0.0,1.0)); -#6098=CARTESIAN_POINT('',(-0.198,7.07)); -#6099=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6096,#6097,#6098,1.0); -#6100=COMPONENT_2D_LOCATION(*,#6101,'component 2d location',$,#720,#748,#6099); -#6101=PRODUCT_DEFINITION_SHAPE('',$,#6095); -#6102=PHYSICAL_COMPONENT('PART1',$,#717,#17992,'PART1','definition usage',$,#718, - *,'',$,*); -#6103=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART1','',$,#746,#718,'PART1', - '',$,#6102,*); -#6104=DIRECTION('',(1.0,0.0)); -#6105=DIRECTION('',(-0.0,1.0)); -#6106=CARTESIAN_POINT('',(11.886,7.47)); -#6107=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6104,#6105,#6106,1.0); -#6108=COMPONENT_2D_LOCATION(*,#6109,'component 2d location',$,#720,#748,#6107); -#6109=PRODUCT_DEFINITION_SHAPE('',$,#6103); -#6110=PHYSICAL_COMPONENT('PART1',$,#717,#17992,'PART1','definition usage',$,#718, - *,'',$,*); -#6111=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART1','',$,#746,#718,'PART1', - '',$,#6110,*); -#6112=DIRECTION('',(1.0,0.0)); -#6113=DIRECTION('',(-0.0,1.0)); -#6114=CARTESIAN_POINT('',(11.886,6.158)); -#6115=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6112,#6113,#6114,1.0); -#6116=COMPONENT_2D_LOCATION(*,#6117,'component 2d location',$,#720,#748,#6115); -#6117=PRODUCT_DEFINITION_SHAPE('',$,#6111); -#6118=PHYSICAL_COMPONENT('PART1',$,#717,#17992,'PART1','definition usage',$,#718, - *,'',$,*); -#6119=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART1','',$,#746,#718,'PART1', - '',$,#6118,*); -#6120=DIRECTION('',(1.0,0.0)); -#6121=DIRECTION('',(-0.0,1.0)); -#6122=CARTESIAN_POINT('',(11.886,1.272)); -#6123=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6120,#6121,#6122,1.0); -#6124=COMPONENT_2D_LOCATION(*,#6125,'component 2d location',$,#720,#748,#6123); -#6125=PRODUCT_DEFINITION_SHAPE('',$,#6119); -#6126=PHYSICAL_COMPONENT('PART1',$,#717,#17992,'PART1','definition usage',$,#718, - *,'',$,*); -#6127=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('PART1','',$,#746,#718,'PART1', - '',$,#6126,*); -#6128=DIRECTION('',(1.0,0.0)); -#6129=DIRECTION('',(-0.0,1.0)); -#6130=CARTESIAN_POINT('',(11.886,-0.04)); -#6131=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6128,#6129,#6130,1.0); -#6132=COMPONENT_2D_LOCATION(*,#6133,'component 2d location',$,#720,#748,#6131); -#6133=PRODUCT_DEFINITION_SHAPE('',$,#6127); -#6134=DIRECTION('',(1.0,0.0)); -#6135=DIRECTION('',(-0.0,1.0)); -#6136=CARTESIAN_POINT('',(0.0,0.0)); -#6137=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6134,#6135,#6136,1.0); -#6138=FOOTPRINT_OCCURRENCE('n125',$,#697,#28,'n125','definition usage',$,#698,*, - '',$,*); -#6139=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('n125','',$,#34,#698,'n125','', - $,#6138,*); -#6140=PRODUCT_DEFINITION_SHAPE('',$,#6139); -#6141=COMPONENT_2D_LOCATION(*,#6140,'component 2d location',$,#699,#36,#6137); -#6142=MATERIAL_REMOVAL_LAMINATE_COMPONENT('n125 SOLDER_MASK_1 for Part n125',$,#4393, - #28,'n125 SOLDER_MASK_1 for Part n125','definition usage',$,#4394,*,'',$,*); -#6143=MATERIAL_REMOVAL_LAMINATE_COMPONENT('n125 SOLDER_MASK_2 for Part n125',$,#4383, - #28,'n125 SOLDER_MASK_2 for Part n125','definition usage',$,#4384,*,'',$,*); -#6144=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#888,#28,'',$,*); -#6145=UNSUPPORTED_PASSAGE('n125 drill',$,#4371,#28,'n125 drill','definition usage', - $,#4372,*,'',$,*); -#6146=DIRECTION('',(1.0,0.0)); -#6147=DIRECTION('',(-0.0,1.0)); -#6148=CARTESIAN_POINT('',(0.0,4444999.999999999)); -#6149=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6146,#6147,#6148,1.0); -#6150=FOOTPRINT_OCCURRENCE('n125',$,#697,#28,'n125','definition usage',$,#698,*, - '',$,*); -#6151=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('n125','',$,#34,#698,'n125','', - $,#6150,*); -#6152=PRODUCT_DEFINITION_SHAPE('',$,#6151); -#6153=COMPONENT_2D_LOCATION(*,#6152,'component 2d location',$,#699,#36,#6149); -#6154=MATERIAL_REMOVAL_LAMINATE_COMPONENT('n125 SOLDER_MASK_1 for Part n125',$,#4393, - #28,'n125 SOLDER_MASK_1 for Part n125','definition usage',$,#4394,*,'',$,*); -#6155=MATERIAL_REMOVAL_LAMINATE_COMPONENT('n125 SOLDER_MASK_2 for Part n125',$,#4383, - #28,'n125 SOLDER_MASK_2 for Part n125','definition usage',$,#4384,*,'',$,*); -#6156=UNSUPPORTED_PASSAGE('n125 drill',$,#4371,#28,'n125 drill','definition usage', - $,#4372,*,'',$,*); -#6157=DIRECTION('',(1.0,0.0)); -#6158=DIRECTION('',(-0.0,1.0)); -#6159=CARTESIAN_POINT('',(1269999.9999999998,4444999.999999999)); -#6160=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6157,#6158,#6159,1.0); -#6161=FOOTPRINT_OCCURRENCE('n125',$,#697,#28,'n125','definition usage',$,#698,*, - '',$,*); -#6162=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('n125','',$,#34,#698,'n125','', - $,#6161,*); -#6163=PRODUCT_DEFINITION_SHAPE('',$,#6162); -#6164=COMPONENT_2D_LOCATION(*,#6163,'component 2d location',$,#699,#36,#6160); -#6165=MATERIAL_REMOVAL_LAMINATE_COMPONENT('n125 SOLDER_MASK_1 for Part n125',$,#4393, - #28,'n125 SOLDER_MASK_1 for Part n125','definition usage',$,#4394,*,'',$,*); -#6166=MATERIAL_REMOVAL_LAMINATE_COMPONENT('n125 SOLDER_MASK_2 for Part n125',$,#4383, - #28,'n125 SOLDER_MASK_2 for Part n125','definition usage',$,#4384,*,'',$,*); -#6167=UNSUPPORTED_PASSAGE('n125 drill',$,#4371,#28,'n125 drill','definition usage', - $,#4372,*,'',$,*); -#6168=DIRECTION('',(1.0,0.0)); -#6169=DIRECTION('',(-0.0,1.0)); -#6170=CARTESIAN_POINT('',(1269999.9999999998,0.0)); -#6171=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6168,#6169,#6170,1.0); -#6172=FOOTPRINT_OCCURRENCE('n125',$,#697,#28,'n125','definition usage',$,#698,*, - '',$,*); -#6173=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('n125','',$,#34,#698,'n125','', - $,#6172,*); -#6174=PRODUCT_DEFINITION_SHAPE('',$,#6173); -#6175=COMPONENT_2D_LOCATION(*,#6174,'component 2d location',$,#699,#36,#6171); -#6176=MATERIAL_REMOVAL_LAMINATE_COMPONENT('n125 SOLDER_MASK_1 for Part n125',$,#4393, - #28,'n125 SOLDER_MASK_1 for Part n125','definition usage',$,#4394,*,'',$,*); -#6177=MATERIAL_REMOVAL_LAMINATE_COMPONENT('n125 SOLDER_MASK_2 for Part n125',$,#4383, - #28,'n125 SOLDER_MASK_2 for Part n125','definition usage',$,#4384,*,'',$,*); -#6178=UNSUPPORTED_PASSAGE('n125 drill',$,#4371,#28,'n125 drill','definition usage', - $,#4372,*,'',$,*); -#6179=PRODUCT('mfg_panel','manufacturing panel',$,(#11516)); -#6180=PRODUCT_DEFINITION_FORMATION('1',$,#6179); -#6181=LAYERED_INTERCONNECT_PANEL_DESIGN_VIEW('1',$,#6180,#28,'interconnect module', - $,*); -#6182=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#6183=SHAPE_REPRESENTATION('ppsm',(#26,#6457,#6531,#6537),#6182); -#6184=LAYERED_INTERCONNECT_MODULE_USAGE_VIEW('2',$,#6180,#28,'interconnect module', - $,*); -#6185=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('contextID','Context 2D')); -#6186=SHAPE_REPRESENTATION('ppsm',(#26,#6461),#6185); -#6187=CHARACTERIZED_CLASS('',$,'tool',$); -#6188=APPLIED_DOCUMENT_REFERENCE(#13671,'',(#6187)); -#6189=SPECIFICATION_DEFINITION('Electronic interconnect, assembly and packaging design', - 'PCB Products Design Reference Manual',#4,#2); -#6190=APPLIED_CLASSIFICATION_ASSIGNMENT(#6187,#8408,(#6181)); -#6191=CHARACTERIZED_CLASS('',$,'panel',$); -#6192=APPLIED_CLASSIFICATION_ASSIGNMENT(#6191,#8408,(#6181)); -#6193=GROUP_RELATIONSHIP('class hierarchy',$,#6187,#6191); -#6194=PRODUCT_DEFINITION_RELATIONSHIP('','tool part relationship',$,#34,#6181); -#6195=PRODUCT('step and repeat panel','requirement',$,(#13468)); -#6196=PRODUCT_DEFINITION_FORMATION('1',$,#6195); -#6197=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1',$,#6196,#63); -#6198=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6199=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6200=GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION('ppsm',(#26),#6199); -#6201=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6202=SHAPE_REPRESENTATION('pupksm',(#26,#6204,#6207),#6203); -#6203=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6204=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6205,'',$,#6201,#6202,*); -#6205=AXIS2_PLACEMENT_2D('',#6206,$); -#6206=CARTESIAN_POINT('',(0.0,0.0)); -#6207=POLYLINE('',(#6208,#6209)); -#6208=CARTESIAN_POINT('',(-0.125,1.875)); -#6209=CARTESIAN_POINT('',(-0.125,-0.125)); -#6210=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6211=SHAPE_REPRESENTATION('pupksm',(#26,#6213,#6216),#6212); -#6212=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6213=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6214,'',$,#6210,#6211,*); -#6214=AXIS2_PLACEMENT_2D('',#6215,$); -#6215=CARTESIAN_POINT('',(0.0,0.0)); -#6216=POLYLINE('',(#6217,#6218)); -#6217=CARTESIAN_POINT('',(-0.125,-0.125)); -#6218=CARTESIAN_POINT('',(0.625,-0.125)); -#6219=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6220=SHAPE_REPRESENTATION('pupksm',(#26,#6222,#6225),#6221); -#6221=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6222=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6223,'',$,#6219,#6220,*); -#6223=AXIS2_PLACEMENT_2D('',#6224,$); -#6224=CARTESIAN_POINT('',(0.0,0.0)); -#6225=POLYLINE('',(#6226,#6227)); -#6226=CARTESIAN_POINT('',(0.625,-0.125)); -#6227=CARTESIAN_POINT('',(0.625,1.875)); -#6228=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6229=SHAPE_REPRESENTATION('pupksm',(#26,#6231,#6234),#6230); -#6230=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6231=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6232,'',$,#6228,#6229,*); -#6232=AXIS2_PLACEMENT_2D('',#6233,$); -#6233=CARTESIAN_POINT('',(0.0,0.0)); -#6234=POLYLINE('',(#6235,#6236)); -#6235=CARTESIAN_POINT('',(0.625,1.875)); -#6236=CARTESIAN_POINT('',(-0.125,1.875)); -#6237=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6238=SHAPE_REPRESENTATION('pupksm',(#26,#6240,#6244),#6239); -#6239=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6240=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6241,'',$,#6237,#6238,*); -#6241=AXIS2_PLACEMENT_2D('',#6243,#6242); -#6242=DIRECTION('',(1.0,0.0)); -#6243=CARTESIAN_POINT('',(-7.33,-2.86)); -#6244=POLYLINE('',(#6245,#6246)); -#6245=CARTESIAN_POINT('',(-0.12,0.0025)); -#6246=CARTESIAN_POINT('',(-0.12,3.875)); -#6247=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6248=SHAPE_REPRESENTATION('pupksm',(#26,#6250,#6254),#6249); -#6249=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6250=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6251,'',$,#6247,#6248,*); -#6251=AXIS2_PLACEMENT_2D('',#6253,#6252); -#6252=DIRECTION('',(1.0,0.0)); -#6253=CARTESIAN_POINT('',(-7.33,-2.86)); -#6254=POLYLINE('',(#6255,#6256)); -#6255=CARTESIAN_POINT('',(-0.07,0.0)); -#6256=CARTESIAN_POINT('',(-0.17,0.0)); -#6257=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6258=SHAPE_REPRESENTATION('pupksm',(#26,#6260,#6264),#6259); -#6259=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6260=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6261,'',$,#6257,#6258,*); -#6261=AXIS2_PLACEMENT_2D('',#6263,#6262); -#6262=DIRECTION('',(1.0,0.0)); -#6263=CARTESIAN_POINT('',(-7.33,-2.86)); -#6264=POLYLINE('',(#6265,#6266)); -#6265=CARTESIAN_POINT('',(-0.05,0.0)); -#6266=CARTESIAN_POINT('',(0.05,0.0)); -#6267=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6268=SHAPE_REPRESENTATION('pupksm',(#26,#6270,#6274),#6269); -#6269=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6270=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6271,'',$,#6267,#6268,*); -#6271=AXIS2_PLACEMENT_2D('',#6273,#6272); -#6272=DIRECTION('',(1.0,0.0)); -#6273=CARTESIAN_POINT('',(-7.33,-2.86)); -#6274=POLYLINE('',(#6275,#6276)); -#6275=CARTESIAN_POINT('',(0.0,0.05)); -#6276=CARTESIAN_POINT('',(0.0,-0.05)); -#6277=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6278=SHAPE_REPRESENTATION('pupksm',(#26,#6280),#6279); -#6279=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6280=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6281,'',$,#6277,#6278,*); -#6281=AXIS2_PLACEMENT_2D('',#6283,#6282); -#6282=DIRECTION('',(1.0,0.0)); -#6283=CARTESIAN_POINT('',(-7.33,-2.86)); -#6284=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6285=SHAPE_REPRESENTATION('pupksm',(#26,#6287,#6291),#6286); -#6286=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6287=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6288,'',$,#6284,#6285,*); -#6288=AXIS2_PLACEMENT_2D('',#6290,#6289); -#6289=DIRECTION('',(1.0,0.0)); -#6290=CARTESIAN_POINT('',(-7.33,-2.86)); -#6291=POLYLINE('',(#6292,#6293)); -#6292=CARTESIAN_POINT('',(-0.12,8.5)); -#6293=CARTESIAN_POINT('',(-0.12,4.6)); -#6294=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6295=SHAPE_REPRESENTATION('pupksm',(#26,#6297,#6301),#6296); -#6296=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6297=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6298,'',$,#6294,#6295,*); -#6298=AXIS2_PLACEMENT_2D('',#6300,#6299); -#6299=DIRECTION('',(1.0,0.0)); -#6300=CARTESIAN_POINT('',(-7.33,-2.86)); -#6301=POLYLINE('',(#6302,#6303)); -#6302=CARTESIAN_POINT('',(15.0,8.62)); -#6303=CARTESIAN_POINT('',(7.925,8.62)); -#6304=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6305=SHAPE_REPRESENTATION('pupksm',(#26,#6307,#6311),#6306); -#6306=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6307=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6308,'',$,#6304,#6305,*); -#6308=AXIS2_PLACEMENT_2D('',#6310,#6309); -#6309=DIRECTION('',(1.0,0.0)); -#6310=CARTESIAN_POINT('',(-7.33,-2.86)); -#6311=POLYLINE('',(#6312,#6313)); -#6312=CARTESIAN_POINT('',(0.0,8.62)); -#6313=CARTESIAN_POINT('',(7.1,8.62)); -#6314=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6315=SHAPE_REPRESENTATION('pupksm',(#26,#6317,#6321),#6316); -#6316=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6317=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6318,'',$,#6314,#6315,*); -#6318=AXIS2_PLACEMENT_2D('',#6320,#6319); -#6319=DIRECTION('',(1.0,0.0)); -#6320=CARTESIAN_POINT('',(-7.33,-2.86)); -#6321=POLYLINE('',(#6322,#6323)); -#6322=CARTESIAN_POINT('',(15.0,8.57)); -#6323=CARTESIAN_POINT('',(15.0,8.67)); -#6324=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6325=SHAPE_REPRESENTATION('pupksm',(#26,#6327,#6331),#6326); -#6326=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6327=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6328,'',$,#6324,#6325,*); -#6328=AXIS2_PLACEMENT_2D('',#6330,#6329); -#6329=DIRECTION('',(1.0,0.0)); -#6330=CARTESIAN_POINT('',(-7.33,-2.86)); -#6331=POLYLINE('',(#6332,#6333)); -#6332=CARTESIAN_POINT('',(0.0,8.57)); -#6333=CARTESIAN_POINT('',(0.0,8.67)); -#6334=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6335=SHAPE_REPRESENTATION('pupksm',(#26,#6337,#6341),#6336); -#6336=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6337=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6338,'',$,#6334,#6335,*); -#6338=AXIS2_PLACEMENT_2D('',#6340,#6339); -#6339=DIRECTION('',(1.0,0.0)); -#6340=CARTESIAN_POINT('',(-7.33,-2.86)); -#6341=POLYLINE('',(#6342,#6343)); -#6342=CARTESIAN_POINT('',(14.95,8.5)); -#6343=CARTESIAN_POINT('',(15.05,8.5)); -#6344=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6345=SHAPE_REPRESENTATION('pupksm',(#26,#6347,#6351),#6346); -#6346=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6347=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6348,'',$,#6344,#6345,*); -#6348=AXIS2_PLACEMENT_2D('',#6350,#6349); -#6349=DIRECTION('',(1.0,0.0)); -#6350=CARTESIAN_POINT('',(-7.33,-2.86)); -#6351=POLYLINE('',(#6352,#6353)); -#6352=CARTESIAN_POINT('',(15.0,8.55)); -#6353=CARTESIAN_POINT('',(15.0,8.45)); -#6354=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6355=SHAPE_REPRESENTATION('pupksm',(#26,#6357,#6361),#6356); -#6356=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6357=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6358,'',$,#6354,#6355,*); -#6358=AXIS2_PLACEMENT_2D('',#6360,#6359); -#6359=DIRECTION('',(1.0,0.0)); -#6360=CARTESIAN_POINT('',(-7.33,-2.86)); -#6361=POLYLINE('',(#6362,#6363)); -#6362=CARTESIAN_POINT('',(-0.05,8.5)); -#6363=CARTESIAN_POINT('',(0.05,8.5)); -#6364=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6365=SHAPE_REPRESENTATION('pupksm',(#26,#6367,#6371),#6366); -#6366=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6367=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6368,'',$,#6364,#6365,*); -#6368=AXIS2_PLACEMENT_2D('',#6370,#6369); -#6369=DIRECTION('',(1.0,0.0)); -#6370=CARTESIAN_POINT('',(-7.33,-2.86)); -#6371=POLYLINE('',(#6372,#6373)); -#6372=CARTESIAN_POINT('',(0.0,8.55)); -#6373=CARTESIAN_POINT('',(0.0,8.45)); -#6374=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6375=SHAPE_REPRESENTATION('pupksm',(#26,#6377,#6381),#6376); -#6376=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6377=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6378,'',$,#6374,#6375,*); -#6378=AXIS2_PLACEMENT_2D('',#6380,#6379); -#6379=DIRECTION('',(1.0,0.0)); -#6380=CARTESIAN_POINT('',(-7.33,-2.86)); -#6381=POLYLINE('',(#6382,#6383)); -#6382=CARTESIAN_POINT('',(-0.15,8.55)); -#6383=CARTESIAN_POINT('',(-0.05,8.55)); -#6384=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6385=SHAPE_REPRESENTATION('pupksm',(#26,#6387,#6391),#6386); -#6386=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6387=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6388,'',$,#6384,#6385,*); -#6388=AXIS2_PLACEMENT_2D('',#6390,#6389); -#6389=DIRECTION('',(1.0,0.0)); -#6390=CARTESIAN_POINT('',(-7.33,-2.86)); -#6391=POLYLINE('',(#6392,#6393)); -#6392=CARTESIAN_POINT('',(-0.15,8.57)); -#6393=CARTESIAN_POINT('',(-0.05,8.57)); -#6394=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6395=SHAPE_REPRESENTATION('pupksm',(#26,#6397,#6401),#6396); -#6396=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6397=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6398,'',$,#6394,#6395,*); -#6398=AXIS2_PLACEMENT_2D('',#6400,#6399); -#6399=DIRECTION('',(1.0,0.0)); -#6400=CARTESIAN_POINT('',(-7.33,-2.86)); -#6401=POLYLINE('',(#6402,#6403)); -#6402=CARTESIAN_POINT('',(-0.15,8.59)); -#6403=CARTESIAN_POINT('',(-0.05,8.59)); -#6404=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6405=SHAPE_REPRESENTATION('pupksm',(#26,#6407,#6411),#6406); -#6406=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6407=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6408,'',$,#6404,#6405,*); -#6408=AXIS2_PLACEMENT_2D('',#6410,#6409); -#6409=DIRECTION('',(1.0,0.0)); -#6410=CARTESIAN_POINT('',(-7.33,-2.86)); -#6411=POLYLINE('',(#6412,#6413)); -#6412=CARTESIAN_POINT('',(-0.15,8.61)); -#6413=CARTESIAN_POINT('',(-0.05,8.61)); -#6414=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6415=SHAPE_REPRESENTATION('pupksm',(#26,#6417),#6416); -#6416=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6417=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6418,'',$,#6414,#6415,*); -#6418=AXIS2_PLACEMENT_2D('',#6420,#6419); -#6419=DIRECTION('',(1.0,0.0)); -#6420=CARTESIAN_POINT('',(-7.33,-2.86)); -#6421=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6422=SHAPE_REPRESENTATION('pupksm',(#26,#6424),#6423); -#6423=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6424=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6425,'',$,#6421,#6422,*); -#6425=AXIS2_PLACEMENT_2D('',#6427,#6426); -#6426=DIRECTION('',(1.0,0.0)); -#6427=CARTESIAN_POINT('',(-7.33,-2.86)); -#6428=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6429=SHAPE_REPRESENTATION('pupksm',(#26,#6431),#6430); -#6430=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6431=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6432,'',$,#6428,#6429,*); -#6432=AXIS2_PLACEMENT_2D('',#6434,#6433); -#6433=DIRECTION('',(1.0,0.0)); -#6434=CARTESIAN_POINT('',(-7.33,-2.86)); -#6435=SHAPE_ASPECT('','vlnfse',#6181,.F.); -#6436=SHAPE_REPRESENTATION('pupksm',(#26,#6438,#6442),#6437); -#6437=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6438=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10538,#6439,'',$,#6435,#6436,*); -#6439=AXIS2_PLACEMENT_2D('',#6441,#6440); -#6440=DIRECTION('',(1.0,0.0)); -#6441=CARTESIAN_POINT('',(-7.33,-2.86)); -#6442=POLYLINE('',(#6443,#6444)); -#6443=CARTESIAN_POINT('',(-0.17,8.5)); -#6444=CARTESIAN_POINT('',(-0.07,8.5)); -#6445=SHAPE_ASPECT('outline of panel','interconnect module edge surface',#6184,.T.); -#6446=SHAPE_ASPECT('TOP side of Panel','interconnect module primary surface',#6184, - .T.); -#6447=SHAPE_ASPECT('BOTTOM side of Panel','interconnect module secondary surface', - #6184,.T.); -#6448=INTER_STRATUM_FEATURE_TEMPLATE('id',$,#958,#28,'',$,*); -#6449=SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#26,#6473),#6450); -#6450=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#71,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6451=PASSAGE_TECHNOLOGY('technology for outline',$,'',$,*); -#6452=INTERCONNECT_MODULE_EDGE('Outline of board',$,#958,#28,'Outline of board', - 'definition usage',$,#6448,*,'',$,*); -#6453=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('Outline of board','',$,#6181, - #6448,'Outline of board','',$,#6452,*); -#6454=DIRECTION('',(1.0,0.0)); -#6455=DIRECTION('',(-0.0,1.0)); -#6456=CARTESIAN_POINT('',(0.0,0.0)); -#6457=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6454,#6455,#6456,1.0); -#6458=COMPONENT_2D_LOCATION(*,#6459,'component 2d location',$,#6449,#6183,#6457); -#6459=PRODUCT_DEFINITION_SHAPE('',$,#6453); -#6460=SHAPE_ASPECT_RELATIONSHIP('stratum concept to physical usage view assignment', - $,#6445,#13720); -#6461=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10539,#6462,'',$,#6445,#6186,*); -#6462=AXIS2_PLACEMENT_2D('',#6463,$); -#6463=CARTESIAN_POINT('',(0.0,0.0)); -#6464=COMPOSITE_CURVE('',(#6471),.F.); -#6465=POLYLINE('',(#6466,#6467,#6468,#6469,#6470)); -#6466=CARTESIAN_POINT('',(0.625,1.875)); -#6467=CARTESIAN_POINT('',(-0.125,1.875)); -#6468=CARTESIAN_POINT('',(-0.125,-0.125)); -#6469=CARTESIAN_POINT('',(0.625,-0.125)); -#6470=CARTESIAN_POINT('',(0.625,1.875)); -#6471=COMPOSITE_CURVE_SEGMENT(.CONTINUOUS.,.T.,#6465); -#6472=AREA_WITH_OUTER_BOUNDARY('',#6464,.T.); -#6473=CSG_PRIMITIVE_SOLID_2D('',#6472); -#6474=DOCUMENTATION_LAYER_STRATUM('PASTE_MASK_2',$,#6180,#28,'',$,*); -#6475=ASSEMBLY_COMPONENT_USAGE('PASTE_MASK_2','interconnect module stratum assembly relationship', - $,#6181,#6474,'PASTE_MASK_2'); -#6476=DOCUMENTATION_LAYER_STRATUM('GLUE_MASK_2',$,#6180,#28,'',$,*); -#6477=ASSEMBLY_COMPONENT_USAGE('GLUE_MASK_2','interconnect module stratum assembly relationship', - $,#6181,#6476,'GLUE_MASK_2'); -#6478=DOCUMENTATION_LAYER_STRATUM('SILKSCREEN_2',$,#6180,#28,'',$,*); -#6479=ASSEMBLY_COMPONENT_USAGE('SILKSCREEN_2','interconnect module stratum assembly relationship', - $,#6181,#6478,'SILKSCREEN_2'); -#6480=DOCUMENTATION_LAYER_STRATUM('SOLDER_MASK_2',$,#6180,#28,'',$,*); -#6481=ASSEMBLY_COMPONENT_USAGE('SOLDER_MASK_2','interconnect module stratum assembly relationship', - $,#6181,#6480,'SOLDER_MASK_2'); -#6482=DESIGN_LAYER_STRATUM('LAYER_2','non primary design layer stratum',#6180,#28, - '',$,*); -#6483=ASSEMBLY_COMPONENT_USAGE('2','interconnect module stratum assembly relationship', - $,#6181,#6482,'2'); -#6484=STRATUM('substrate',$,#6180,#28,'',$,*); -#6485=ASSEMBLY_COMPONENT_USAGE('substrate','interconnect module stratum assembly relationship', - $,#6181,#6484,'substrate'); -#6486=DESIGN_LAYER_STRATUM('LAYER_1','primary design layer stratum',#6180,#28,'', - $,*); -#6487=ASSEMBLY_COMPONENT_USAGE('1','interconnect module stratum assembly relationship', - $,#6181,#6486,'1'); -#6488=DOCUMENTATION_LAYER_STRATUM('SOLDER_MASK_1',$,#6180,#28,'',$,*); -#6489=ASSEMBLY_COMPONENT_USAGE('SOLDER_MASK_1','interconnect module stratum assembly relationship', - $,#6181,#6488,'SOLDER_MASK_1'); -#6490=DOCUMENTATION_LAYER_STRATUM('SILKSCREEN_1',$,#6180,#28,'',$,*); -#6491=ASSEMBLY_COMPONENT_USAGE('SILKSCREEN_1','interconnect module stratum assembly relationship', - $,#6181,#6490,'SILKSCREEN_1'); -#6492=DOCUMENTATION_LAYER_STRATUM('PASTE_MASK_1',$,#6180,#28,'',$,*); -#6493=ASSEMBLY_COMPONENT_USAGE('PASTE_MASK_1','interconnect module stratum assembly relationship', - $,#6181,#6492,'PASTE_MASK_1'); -#6494=DOCUMENTATION_LAYER_STRATUM('GLUE_MASK_1',$,#6180,#28,'',$,*); -#6495=ASSEMBLY_COMPONENT_USAGE('GLUE_MASK_1','interconnect module stratum assembly relationship', - $,#6181,#6494,'GLUE_MASK_1'); -#6496=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6497=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6498=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6499=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6500=PRODUCT('solid fill area template','template',$,(#14731)); -#6501=PRODUCT_DEFINITION_FORMATION('1',$,#6500); -#6502=CLOSED_CURVE_STYLE_PARAMETERS('',(#8424,#8425,#6503),#8423); -#6503=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 1.0),#71)REPRESENTATION_ITEM('curve width')); -#6504=FILL_AREA_TEMPLATE('1',$,#6501,#28,'',$,*); -#6505=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for GLUE_MASK_2',$,#6501,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for GLUE_MASK_2','definition usage',$, - #6504,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for GLUE_MASK_2', - $,#6476,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#6506=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for GLUE_MASK_2','',$,#6181, - #6504,'base for GLUE_MASK_2','',$,#6505,*); -#6507=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#6508,#6510),#6182); -#6508=AXIS2_PLACEMENT_2D('origin',#6509,$); -#6509=CARTESIAN_POINT('',(0.0,0.0)); -#6510=CSG_PRIMITIVE_SOLID_2D('',#6511); -#6511=POLYGONAL_AREA('',(#6512,#6513,#6514,#6515)); -#6512=CARTESIAN_POINT('',(0.625,1.875)); -#6513=CARTESIAN_POINT('',(-0.125,1.875)); -#6514=CARTESIAN_POINT('',(-0.125,-0.125)); -#6515=CARTESIAN_POINT('',(0.625,-0.125)); -#6516=AREA_COMPONENT('base for SOLDER_MASK_2',$,#6501,#28,'base for SOLDER_MASK_2', - 'definition usage',$,#6504,*,'',$,*); -#6517=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_2','',$, - #6181,#6504,'base for SOLDER_MASK_2','',$,#6516,*); -#6518=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for GLUE_MASK_1',$,#6501,#28) - PRODUCT_DEFINITION_RELATIONSHIP('base for GLUE_MASK_1','definition usage',$, - #6504,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for GLUE_MASK_1', - $,#6494,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#6519=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for GLUE_MASK_1','',$,#6181, - #6504,'base for GLUE_MASK_1','',$,#6518,*); -#6520=AREA_COMPONENT('base for PASTE_MASK_1',$,#6501,#28,'base for PASTE_MASK_1', - 'definition usage',$,#6504,*,'',$,*); -#6521=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_1','',$,#6181, - #6504,'base for PASTE_MASK_1','',$,#6520,*); -#6522=AREA_COMPONENT('base for SOLDER_MASK_1',$,#6501,#28,'base for SOLDER_MASK_1', - 'definition usage',$,#6504,*,'',$,*); -#6523=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_1','',$, - #6181,#6504,'base for SOLDER_MASK_1','',$,#6522,*); -#6524=AREA_COMPONENT('base for PASTE_MASK_2',$,#6501,#28,'base for PASTE_MASK_2', - 'definition usage',$,#6504,*,'',$,*); -#6525=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_2','',$,#6181, - #6504,'base for PASTE_MASK_2','',$,#6524,*); -#6526=INTERCONNECT_MODULE_COMPONENT('board',$,#14,#17992,'board','definition usage', - $,#15,*,'',$,*); -#6527=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('board','',$,#6181,#15,'board', - '',$,#6526,*); -#6528=DIRECTION('',(1.0,0.0)); -#6529=DIRECTION('',(-0.0,1.0)); -#6530=CARTESIAN_POINT('',(0.0,0.0)); -#6531=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6528,#6529,#6530,1.0); -#6532=COMPONENT_2D_LOCATION(*,#6533,'component 2d location',$,#25,#6183,#6531); -#6533=PRODUCT_DEFINITION_SHAPE('',$,#6527); -#6534=DIRECTION('',(1.0,0.0)); -#6535=DIRECTION('',(-0.0,1.0)); -#6536=CARTESIAN_POINT('',(-7.33,-2.86)); -#6537=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#6534,#6535,#6536,1.0); -#6538=FOOTPRINT_OCCURRENCE('target_15x8.5_bsize',$,#712,#28,'target_15x8.5_bsize', - 'definition usage',$,#713,*,'',$,*); -#6539=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('target_15x8.5_bsize','',$,#6181, - #713,'target_15x8.5_bsize','',$,#6538,*); -#6540=PRODUCT_DEFINITION_SHAPE('',$,#6539); -#6541=COMPONENT_2D_LOCATION(*,#6540,'component 2d location',$,#714,#6183,#6537); -#6542=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6543=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6544=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6545=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6546=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6547=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6548=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6549=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6550=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6551=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6552=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6553=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6554=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6555=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6556=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6557=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6558=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6559=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6560=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6561=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6562=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6563=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6564=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6565=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6566=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6567=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6568=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6569=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6570=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6571=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6572=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6573=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6574=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6575=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6576=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6577=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6578=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6579=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6580=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6581=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6582=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6583=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6584=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6585=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6586=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6587=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6588=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6589=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6590=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6591=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6592=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6593=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6594=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6595=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6596=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6597=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6598=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6599=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6600=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6601=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6602=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6603=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6604=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_12', - $,#6482,.U.); -#6605=STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE('target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#5178,#28,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1','definition usage', - $,#5179,*,'',$,*,'target_15x8.5_bsize SIGNAL for Part target_15x8.5_bsize_1', - $,#6486,.U.); -#6606=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6607=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6608=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6609=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6610=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6611=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6612=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6613=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6614=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6615=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6616=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6617=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6618=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6619=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6620=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6621=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6622=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - $,#4882,#28,'target_15x8.5_bsize PASTE_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4883,*,'',$,*); -#6623=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6624=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6625=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6626=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6627=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6628=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6629=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6630=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6631=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6632=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6633=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6634=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6635=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - $,#4779,#28,'target_15x8.5_bsize PASTE_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4780,*,'',$,*); -#6636=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6637=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6638=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6639=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6640=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6641=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6642=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6643=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6644=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6645=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6646=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6647=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6648=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6649=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6650=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6651=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6652=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - $,#4648,#28,'target_15x8.5_bsize SOLDER_MASK_1 for Part target_15x8.5_bsize', - 'definition usage',$,#4649,*,'',$,*); -#6653=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6654=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6655=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6656=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6657=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6658=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6659=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6660=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6661=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6662=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6663=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6664=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6665=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6666=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6667=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6668=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6669=MATERIAL_REMOVAL_LAMINATE_COMPONENT('target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - $,#4487,#28,'target_15x8.5_bsize SOLDER_MASK_2 for Part target_15x8.5_bsize', - 'definition usage',$,#4488,*,'',$,*); -#6670=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#6508,#6671),#6182); -#6671=CSG_PRIMITIVE_SOLID_2D('',#6674); -#6672=CARTESIAN_POINT('',(-0.125,-0.125)); -#6673=AXIS2_PLACEMENT_2D('',#6672,$); -#6674=RECTANGULAR_AREA('',#6673,0.75,2.0); -#6675=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for SOLDER_MASK_2 piece 1',$,#6501, - #28)PRODUCT_DEFINITION_RELATIONSHIP('base for SOLDER_MASK_2 piece 1','definition usage', - $,#6504,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for SOLDER_MASK_2 piece 1', - $,#6480,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#6676=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_2 piece 1', - '',$,#6181,#6504,'base for SOLDER_MASK_2 piece 1','',$,#6675,*); -#6677=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#6508,#6678),#6182); -#6678=CSG_PRIMITIVE_SOLID_2D('',#6681); -#6679=CARTESIAN_POINT('',(-0.125,-0.125)); -#6680=AXIS2_PLACEMENT_2D('',#6679,$); -#6681=RECTANGULAR_AREA('',#6680,0.75,2.0); -#6682=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for PASTE_MASK_1 piece 1',$,#6501, - #28)PRODUCT_DEFINITION_RELATIONSHIP('base for PASTE_MASK_1 piece 1','definition usage', - $,#6504,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for PASTE_MASK_1 piece 1', - $,#6492,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#6683=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_1 piece 1', - '',$,#6181,#6504,'base for PASTE_MASK_1 piece 1','',$,#6682,*); -#6684=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#6508,#6685),#6182); -#6685=CSG_PRIMITIVE_SOLID_2D('',#6688); -#6686=CARTESIAN_POINT('',(-0.125,-0.125)); -#6687=AXIS2_PLACEMENT_2D('',#6686,$); -#6688=RECTANGULAR_AREA('',#6687,0.75,2.0); -#6689=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for SOLDER_MASK_1 piece 1',$,#6501, - #28)PRODUCT_DEFINITION_RELATIONSHIP('base for SOLDER_MASK_1 piece 1','definition usage', - $,#6504,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for SOLDER_MASK_1 piece 1', - $,#6488,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#6690=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_1 piece 1', - '',$,#6181,#6504,'base for SOLDER_MASK_1 piece 1','',$,#6689,*); -#6691=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#6508,#6692),#6182); -#6692=CSG_PRIMITIVE_SOLID_2D('',#6695); -#6693=CARTESIAN_POINT('',(-0.125,-0.125)); -#6694=AXIS2_PLACEMENT_2D('',#6693,$); -#6695=RECTANGULAR_AREA('',#6694,0.75,2.0); -#6696=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for PASTE_MASK_2 piece 1',$,#6501, - #28)PRODUCT_DEFINITION_RELATIONSHIP('base for PASTE_MASK_2 piece 1','definition usage', - $,#6504,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for PASTE_MASK_2 piece 1', - $,#6474,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#6697=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_2 piece 1', - '',$,#6181,#6504,'base for PASTE_MASK_2 piece 1','',$,#6696,*); -#6698=PRODUCT('net_rules track width 0.025mm used in physical_connectivity_definition', - 'requirement',$,(#13468)); -#6699=PRODUCT_DEFINITION_FORMATION('1',$,#6698); -#6700=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#6699,#63); -#6701=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6700)); -#6702=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6703=MEASURE_REPRESENTATION_ITEM('width',LENGTH_MEASURE(0.025),#19); -#6704=PRODUCT('net_rules Requirement for minimum distance between pins - 0.0095', - 'requirement',$,(#13468)); -#6705=PRODUCT_DEFINITION_FORMATION('1',$,#6704); -#6706=LAYOUT_SPACING_REQUIREMENT('1',$,#6705,#63); -#6707=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6706)); -#6708=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6709=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6710=REPRESENTATION('minimum tolerance',(#6709),#6711); -#6711=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6712=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6710)); -#6713=PRODUCT('net_rules Requirement for minimum distance between pin and via - 0.0095', - 'requirement',$,(#13468)); -#6714=PRODUCT_DEFINITION_FORMATION('1',$,#6713); -#6715=LAYOUT_SPACING_REQUIREMENT('1',$,#6714,#63); -#6716=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6715)); -#6717=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6718=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6719=REPRESENTATION('minimum tolerance',(#6718),#6720); -#6720=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6721=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6719)); -#6722=PRODUCT('net_rules Requirement for minimum distance between pin and track - 0.0095', - 'requirement',$,(#13468)); -#6723=PRODUCT_DEFINITION_FORMATION('1',$,#6722); -#6724=LAYOUT_SPACING_REQUIREMENT('1',$,#6723,#63); -#6725=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6724)); -#6726=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6727=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6728=REPRESENTATION('minimum tolerance',(#6727),#6729); -#6729=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6730=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6728)); -#6731=PRODUCT('net_rules Requirement for minimum distance between vias - 0.0095', - 'requirement',$,(#13468)); -#6732=PRODUCT_DEFINITION_FORMATION('1',$,#6731); -#6733=LAYOUT_SPACING_REQUIREMENT('1',$,#6732,#63); -#6734=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6733)); -#6735=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6736=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6737=REPRESENTATION('minimum tolerance',(#6736),#6738); -#6738=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6739=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6737)); -#6740=PRODUCT('net_rules Requirement for minimum distance between via and track - 0.0095', - 'requirement',$,(#13468)); -#6741=PRODUCT_DEFINITION_FORMATION('1',$,#6740); -#6742=LAYOUT_SPACING_REQUIREMENT('1',$,#6741,#63); -#6743=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6742)); -#6744=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6745=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6746=REPRESENTATION('minimum tolerance',(#6745),#6747); -#6747=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6748=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6746)); -#6749=PRODUCT('net_rules Requirement for minimum distance between tracks - 0.0095', - 'requirement',$,(#13468)); -#6750=PRODUCT_DEFINITION_FORMATION('1',$,#6749); -#6751=LAYOUT_SPACING_REQUIREMENT('1',$,#6750,#63); -#6752=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6751)); -#6753=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6754=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6755=REPRESENTATION('minimum tolerance',(#6754),#6756); -#6756=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6757=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6755)); -#6758=PRODUCT('net_rules Requirement for minimum distance between conductive filled areas - 0.0095', - 'requirement',$,(#13468)); -#6759=PRODUCT_DEFINITION_FORMATION('1',$,#6758); -#6760=LAYOUT_SPACING_REQUIREMENT('1',$,#6759,#63); -#6761=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6760)); -#6762=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6763=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6764=REPRESENTATION('minimum tolerance',(#6763),#6765); -#6765=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6766=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6764)); -#6767=PRODUCT('net_rules Requirement for minimum distance between conductive filled area and via - 0.0095', - 'requirement',$,(#13468)); -#6768=PRODUCT_DEFINITION_FORMATION('1',$,#6767); -#6769=LAYOUT_SPACING_REQUIREMENT('1',$,#6768,#63); -#6770=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6769)); -#6771=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6772=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6773=REPRESENTATION('minimum tolerance',(#6772),#6774); -#6774=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6775=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6773)); -#6776=PRODUCT('net_rules Requirement for minimum distance between conductive filled area and track - 0.0095', - 'requirement',$,(#13468)); -#6777=PRODUCT_DEFINITION_FORMATION('1',$,#6776); -#6778=LAYOUT_SPACING_REQUIREMENT('1',$,#6777,#63); -#6779=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6778)); -#6780=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6781=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6782=REPRESENTATION('minimum tolerance',(#6781),#6783); -#6783=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6784=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6782)); -#6785=PRODUCT('net_rules Requirement for minimum distance between conductive filled area and pin - 0.0095', - 'requirement',$,(#13468)); -#6786=PRODUCT_DEFINITION_FORMATION('1',$,#6785); -#6787=LAYOUT_SPACING_REQUIREMENT('1',$,#6786,#63); -#6788=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6787)); -#6789=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6790=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6791=REPRESENTATION('minimum tolerance',(#6790),#6792); -#6792=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6793=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6791)); -#6794=PRODUCT('DEFAULT_NET_TYPE track width 0.025mm used in physical_connectivity_definition', - 'requirement',$,(#13468)); -#6795=PRODUCT_DEFINITION_FORMATION('1',$,#6794); -#6796=PREDEFINED_REQUIREMENT_VIEW_DEFINITION('1','design characteristic',#6795,#63); -#6797=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6796)); -#6798=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6799=MEASURE_REPRESENTATION_ITEM('width',LENGTH_MEASURE(0.025),#19); -#6800=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between pins - 0.0095', - 'requirement',$,(#13468)); -#6801=PRODUCT_DEFINITION_FORMATION('1',$,#6800); -#6802=LAYOUT_SPACING_REQUIREMENT('1',$,#6801,#63); -#6803=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6802)); -#6804=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6805=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6806=REPRESENTATION('minimum tolerance',(#6805),#6807); -#6807=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6808=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6806)); -#6809=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between pin and via - 0.0095', - 'requirement',$,(#13468)); -#6810=PRODUCT_DEFINITION_FORMATION('1',$,#6809); -#6811=LAYOUT_SPACING_REQUIREMENT('1',$,#6810,#63); -#6812=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6811)); -#6813=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6814=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6815=REPRESENTATION('minimum tolerance',(#6814),#6816); -#6816=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6817=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6815)); -#6818=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between pin and track - 0.0095', - 'requirement',$,(#13468)); -#6819=PRODUCT_DEFINITION_FORMATION('1',$,#6818); -#6820=LAYOUT_SPACING_REQUIREMENT('1',$,#6819,#63); -#6821=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6820)); -#6822=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6823=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6824=REPRESENTATION('minimum tolerance',(#6823),#6825); -#6825=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6826=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6824)); -#6827=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between vias - 0.0095', - 'requirement',$,(#13468)); -#6828=PRODUCT_DEFINITION_FORMATION('1',$,#6827); -#6829=LAYOUT_SPACING_REQUIREMENT('1',$,#6828,#63); -#6830=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6829)); -#6831=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6832=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6833=REPRESENTATION('minimum tolerance',(#6832),#6834); -#6834=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6835=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6833)); -#6836=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between via and track - 0.0095', - 'requirement',$,(#13468)); -#6837=PRODUCT_DEFINITION_FORMATION('1',$,#6836); -#6838=LAYOUT_SPACING_REQUIREMENT('1',$,#6837,#63); -#6839=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6838)); -#6840=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6841=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6842=REPRESENTATION('minimum tolerance',(#6841),#6843); -#6843=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6844=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6842)); -#6845=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between tracks - 0.0095', - 'requirement',$,(#13468)); -#6846=PRODUCT_DEFINITION_FORMATION('1',$,#6845); -#6847=LAYOUT_SPACING_REQUIREMENT('1',$,#6846,#63); -#6848=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6847)); -#6849=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6850=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6851=REPRESENTATION('minimum tolerance',(#6850),#6852); -#6852=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6853=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6851)); -#6854=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between conductive filled areas - 0.0095', - 'requirement',$,(#13468)); -#6855=PRODUCT_DEFINITION_FORMATION('1',$,#6854); -#6856=LAYOUT_SPACING_REQUIREMENT('1',$,#6855,#63); -#6857=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6856)); -#6858=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6859=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6860=REPRESENTATION('minimum tolerance',(#6859),#6861); -#6861=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6862=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6860)); -#6863=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between conductive filled area and via - 0.0095', - 'requirement',$,(#13468)); -#6864=PRODUCT_DEFINITION_FORMATION('1',$,#6863); -#6865=LAYOUT_SPACING_REQUIREMENT('1',$,#6864,#63); -#6866=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6865)); -#6867=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6868=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6869=REPRESENTATION('minimum tolerance',(#6868),#6870); -#6870=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6871=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6869)); -#6872=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between conductive filled area and track - 0.0095', - 'requirement',$,(#13468)); -#6873=PRODUCT_DEFINITION_FORMATION('1',$,#6872); -#6874=LAYOUT_SPACING_REQUIREMENT('1',$,#6873,#63); -#6875=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6874)); -#6876=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6877=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6878=REPRESENTATION('minimum tolerance',(#6877),#6879); -#6879=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6880=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6878)); -#6881=PRODUCT('DEFAULT_NET_TYPE Requirement for minimum distance between conductive filled area and pin - 0.0095', - 'requirement',$,(#13468)); -#6882=PRODUCT_DEFINITION_FORMATION('1',$,#6881); -#6883=LAYOUT_SPACING_REQUIREMENT('1',$,#6882,#63); -#6884=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6883)); -#6885=REQUIREMENT_ASSIGNMENT('RA',$,'',$); -#6886=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 0.0095),#19)QUALIFIED_REPRESENTATION_ITEM((#69))REPRESENTATION_ITEM('minimum allowed distance')); -#6887=REPRESENTATION('minimum tolerance',(#6886),#6888); -#6888=(GEOMETRIC_REPRESENTATION_CONTEXT(2)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#24)) - GLOBAL_UNIT_ASSIGNED_CONTEXT((#19,#23))REPRESENTATION_CONTEXT('tolerance values', - 'context type')); -#6889=APPLIED_DOCUMENT_REFERENCE(#13655,'',(#6887)); -#6890=PHYSICAL_CONNECTIVITY_DEFINITION('net0',$,#46,.U.); -#6891=PHYSICAL_CONNECTIVITY_DEFINITION('net1',$,#46,.U.); -#6892=PHYSICAL_CONNECTIVITY_DEFINITION('net3',$,#46,.U.); -#6893=PHYSICAL_CONNECTIVITY_DEFINITION('net6',$,#46,.U.); -#6894=PHYSICAL_CONNECTIVITY_DEFINITION('net9',$,#46,.U.); -#6895=PHYSICAL_CONNECTIVITY_DEFINITION('net10',$,#46,.U.); -#6896=PHYSICAL_CONNECTIVITY_DEFINITION('net12',$,#46,.U.); -#6897=PHYSICAL_CONNECTIVITY_DEFINITION('net13',$,#46,.U.); -#6898=PHYSICAL_CONNECTIVITY_DEFINITION('analog_gnd',$,#46,.U.); -#6899=PHYSICAL_CONNECTIVITY_DEFINITION('9V',$,#46,.U.); -#6900=FOOTPRINT_OCCURRENCE('C3-FO',$,#161,#28,'C3-FO','definition usage',$,#162, - *,'',$,*); -#6901=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C3-FO','',$,#34,#162,'C3-FO', - '',$,#6900,*); -#6902=PRODUCT_DEFINITION_SHAPE('',$,#6901); -#6903=COMPONENT_2D_LOCATION(*,#6902,'component 2d location',$,#163,#36,#603); -#6904=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('C3-FO 1 PAD','functional land', - #1370,#28)PRODUCT_DEFINITION_RELATIONSHIP('C3-FO 1 PAD','definition usage',$, - #1371,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6905=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #6904,.U.); -#6906=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C3-FO 1 PASTE_MASK',$,#1355,#28,'C3-FO 1 PASTE_MASK', - 'definition usage',$,#1356,*,'',$,*); -#6907=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C3-FO 1 SOLDER_MASK',$,#1340,#28,'C3-FO 1 SOLDER_MASK', - 'definition usage',$,#1341,*,'',$,*); -#6908=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('C3-FO 2 PAD','functional land', - #1370,#28)PRODUCT_DEFINITION_RELATIONSHIP('C3-FO 2 PAD','definition usage',$, - #1371,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6909=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #6908,.U.); -#6910=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C3-FO 2 PASTE_MASK',$,#1355,#28,'C3-FO 2 PASTE_MASK', - 'definition usage',$,#1356,*,'',$,*); -#6911=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C3-FO 2 SOLDER_MASK',$,#1340,#28,'C3-FO 2 SOLDER_MASK', - 'definition usage',$,#1341,*,'',$,*); -#6912=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C3-2','part generic feature',#15,.T.); -#6913=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6912, - #6909); -#6914=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10540,#6915,'',$,#6912,#25,*); -#6915=AXIS2_PLACEMENT_2D('',#6917,#6916); -#6916=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6917=CARTESIAN_POINT('',(609600.0,883921.0)); -#6918=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#6912); -#6919=PHYSICAL_COMPONENT_TERMINAL('C3-2','interconnect module component terminal', - #49,.U.); -#6920=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C3-1','part generic feature',#15,.T.); -#6921=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6920, - #6905); -#6922=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10540,#6923,'',$,#6920,#25,*); -#6923=AXIS2_PLACEMENT_2D('',#6925,#6924); -#6924=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#6925=CARTESIAN_POINT('',(609600.0,1198881.0)); -#6926=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#6920); -#6927=PHYSICAL_COMPONENT_TERMINAL('C3-1','interconnect module component terminal', - #49,.U.); -#6928=FOOTPRINT_OCCURRENCE('R5-FO',$,#237,#28,'R5-FO','definition usage',$,#238, - *,'',$,*); -#6929=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R5-FO','',$,#34,#238,'R5-FO', - '',$,#6928,*); -#6930=PRODUCT_DEFINITION_SHAPE('',$,#6929); -#6931=COMPONENT_2D_LOCATION(*,#6930,'component 2d location',$,#239,#36,#663); -#6932=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R5-FO 2 PASTE_MASK_2',$,#2630,#28,'R5-FO 2 PASTE_MASK_2', - 'definition usage',$,#2631,*,'',$,*); -#6933=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R5-FO 2 SOLDER_MASK_2',$,#2615,#28,'R5-FO 2 SOLDER_MASK_2', - 'definition usage',$,#2616,*,'',$,*); -#6934=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R5-FO 2 PAD_2','functional land', - #2650,#28)PRODUCT_DEFINITION_RELATIONSHIP('R5-FO 2 PAD_2','definition usage', - $,#2651,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6935=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #6934,.U.); -#6936=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R5-FO 1 PASTE_MASK_2',$,#2630,#28,'R5-FO 1 PASTE_MASK_2', - 'definition usage',$,#2631,*,'',$,*); -#6937=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R5-FO 1 SOLDER_MASK_2',$,#2615,#28,'R5-FO 1 SOLDER_MASK_2', - 'definition usage',$,#2616,*,'',$,*); -#6938=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R5-FO 1 PAD_2','functional land', - #2650,#28)PRODUCT_DEFINITION_RELATIONSHIP('R5-FO 1 PAD_2','definition usage', - $,#2651,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6939=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #6938,.U.); -#6940=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R5-2','part generic feature',#15,.T.); -#6941=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6940, - #6935); -#6942=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10541,#6943,'',$,#6940,#25,*); -#6943=AXIS2_PLACEMENT_2D('',#6945,#6944); -#6944=DIRECTION('',(1.0,0.0)); -#6945=CARTESIAN_POINT('',(829310.0,2349500.0)); -#6946=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#6940); -#6947=PHYSICAL_COMPONENT_TERMINAL('R5-2','interconnect module component terminal', - #49,.U.); -#6948=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R5-1','part generic feature',#15,.T.); -#6949=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6948, - #6939); -#6950=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10541,#6951,'',$,#6948,#25,*); -#6951=AXIS2_PLACEMENT_2D('',#6953,#6952); -#6952=DIRECTION('',(1.0,0.0)); -#6953=CARTESIAN_POINT('',(212090.00000000006,2349500.0)); -#6954=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#6948); -#6955=PHYSICAL_COMPONENT_TERMINAL('R5-1','interconnect module component terminal', - #49,.U.); -#6956=FOOTPRINT_OCCURRENCE('R1-FO',$,#195,#28,'R1-FO','definition usage',$,#196, - *,'',$,*); -#6957=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R1-FO','',$,#34,#196,'R1-FO', - '',$,#6956,*); -#6958=PRODUCT_DEFINITION_SHAPE('',$,#6957); -#6959=COMPONENT_2D_LOCATION(*,#6958,'component 2d location',$,#197,#36,#613); -#6960=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R1-FO 1 PASTE_MASK_1',$,#2532,#28,'R1-FO 1 PASTE_MASK_1', - 'definition usage',$,#2533,*,'',$,*); -#6961=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R1-FO 1 SOLDER_MASK_1',$,#2517,#28,'R1-FO 1 SOLDER_MASK_1', - 'definition usage',$,#2518,*,'',$,*); -#6962=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R1-FO 1 PAD_1','functional land', - #2500,#28)PRODUCT_DEFINITION_RELATIONSHIP('R1-FO 1 PAD_1','definition usage', - $,#2501,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6963=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #6962,.U.); -#6964=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R1-FO 2 PASTE_MASK_1',$,#2532,#28,'R1-FO 2 PASTE_MASK_1', - 'definition usage',$,#2533,*,'',$,*); -#6965=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R1-FO 2 SOLDER_MASK_1',$,#2517,#28,'R1-FO 2 SOLDER_MASK_1', - 'definition usage',$,#2518,*,'',$,*); -#6966=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R1-FO 2 PAD_1','functional land', - #2500,#28)PRODUCT_DEFINITION_RELATIONSHIP('R1-FO 2 PAD_1','definition usage', - $,#2501,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6967=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #6966,.U.); -#6968=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R1-1','part generic feature',#15,.T.); -#6969=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6968, - #6963); -#6970=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10542,#6971,'',$,#6968,#25,*); -#6971=AXIS2_PLACEMENT_2D('',#6973,#6972); -#6972=DIRECTION('',(6.123233995736766E-17,1.0)); -#6973=CARTESIAN_POINT('',(1143000.0,2466340.0)); -#6974=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#6968); -#6975=PHYSICAL_COMPONENT_TERMINAL('R1-1','interconnect module component terminal', - #49,.U.); -#6976=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R1-2','part generic feature',#15,.T.); -#6977=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#6976, - #6967); -#6978=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10542,#6979,'',$,#6976,#25,*); -#6979=AXIS2_PLACEMENT_2D('',#6981,#6980); -#6980=DIRECTION('',(6.123233995736766E-17,1.0)); -#6981=CARTESIAN_POINT('',(1143000.0,2613660.0)); -#6982=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#6976); -#6983=PHYSICAL_COMPONENT_TERMINAL('R1-2','interconnect module component terminal', - #49,.U.); -#6984=FOOTPRINT_OCCURRENCE('U1-FO',$,#271,#28,'U1-FO','definition usage',$,#272, - *,'',$,*); -#6985=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('U1-FO','',$,#34,#272,'U1-FO', - '',$,#6984,*); -#6986=PRODUCT_DEFINITION_SHAPE('',$,#6985); -#6987=COMPONENT_2D_LOCATION(*,#6986,'component 2d location',$,#273,#36,#681); -#6988=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1-FO 1 PAD','functional land', - #2726,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 1 PAD','definition usage',$, - #2727,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6989=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #6988,.U.); -#6990=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 1 PASTE_MASK',$,#2711,#28,'U1-FO 1 PASTE_MASK', - 'definition usage',$,#2712,*,'',$,*); -#6991=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 1 SOLDER_MASK',$,#2696,#28,'U1-FO 1 SOLDER_MASK', - 'definition usage',$,#2697,*,'',$,*); -#6992=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1-FO 2 PAD','functional land', - #2726,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 2 PAD','definition usage',$, - #2727,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6993=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #6992,.U.); -#6994=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 2 PASTE_MASK',$,#2711,#28,'U1-FO 2 PASTE_MASK', - 'definition usage',$,#2712,*,'',$,*); -#6995=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 2 SOLDER_MASK',$,#2696,#28,'U1-FO 2 SOLDER_MASK', - 'definition usage',$,#2697,*,'',$,*); -#6996=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1-FO 3 PAD','functional land', - #2726,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 3 PAD','definition usage',$, - #2727,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#6997=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #6996,.U.); -#6998=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 3 PASTE_MASK',$,#2711,#28,'U1-FO 3 PASTE_MASK', - 'definition usage',$,#2712,*,'',$,*); -#6999=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 3 SOLDER_MASK',$,#2696,#28,'U1-FO 3 SOLDER_MASK', - 'definition usage',$,#2697,*,'',$,*); -#7000=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1-FO 4 PAD','functional land', - #2726,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 4 PAD','definition usage',$, - #2727,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7001=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7000,.U.); -#7002=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 4 PASTE_MASK',$,#2711,#28,'U1-FO 4 PASTE_MASK', - 'definition usage',$,#2712,*,'',$,*); -#7003=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 4 SOLDER_MASK',$,#2696,#28,'U1-FO 4 SOLDER_MASK', - 'definition usage',$,#2697,*,'',$,*); -#7004=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1-FO 5 PAD','functional land', - #2726,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 5 PAD','definition usage',$, - #2727,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7005=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7004,.U.); -#7006=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 5 PASTE_MASK',$,#2711,#28,'U1-FO 5 PASTE_MASK', - 'definition usage',$,#2712,*,'',$,*); -#7007=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 5 SOLDER_MASK',$,#2696,#28,'U1-FO 5 SOLDER_MASK', - 'definition usage',$,#2697,*,'',$,*); -#7008=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1-FO 6 PAD','functional land', - #2726,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 6 PAD','definition usage',$, - #2727,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7009=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7008,.U.); -#7010=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 6 PASTE_MASK',$,#2711,#28,'U1-FO 6 PASTE_MASK', - 'definition usage',$,#2712,*,'',$,*); -#7011=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 6 SOLDER_MASK',$,#2696,#28,'U1-FO 6 SOLDER_MASK', - 'definition usage',$,#2697,*,'',$,*); -#7012=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1-FO 7 PAD','functional land', - #2726,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 7 PAD','definition usage',$, - #2727,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7013=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7012,.U.); -#7014=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 7 PASTE_MASK',$,#2711,#28,'U1-FO 7 PASTE_MASK', - 'definition usage',$,#2712,*,'',$,*); -#7015=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 7 SOLDER_MASK',$,#2696,#28,'U1-FO 7 SOLDER_MASK', - 'definition usage',$,#2697,*,'',$,*); -#7016=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('U1-FO 8 PAD','functional land', - #2726,#28)PRODUCT_DEFINITION_RELATIONSHIP('U1-FO 8 PAD','definition usage',$, - #2727,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7017=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7016,.U.); -#7018=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 8 PASTE_MASK',$,#2711,#28,'U1-FO 8 PASTE_MASK', - 'definition usage',$,#2712,*,'',$,*); -#7019=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO 8 SOLDER_MASK',$,#2696,#28,'U1-FO 8 SOLDER_MASK', - 'definition usage',$,#2697,*,'',$,*); -#7020=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO SOLDER_MASK',$,#3361,#28,'U1-FO SOLDER_MASK', - 'definition usage',$,#3362,*,'',$,*); -#7021=MATERIAL_REMOVAL_LAMINATE_COMPONENT('U1-FO SOLDER_MASK',$,#3361,#28,'U1-FO SOLDER_MASK', - 'definition usage',$,#3362,*,'',$,*); -#7022=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-3','part generic feature',#15,.T.); -#7023=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7022, - #6997); -#7024=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10543,#7025,'',$,#7022,#25,*); -#7025=AXIS2_PLACEMENT_2D('',#7027,#7026); -#7026=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7027=CARTESIAN_POINT('',(469900.0,2710688.0)); -#7028=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7022); -#7029=PHYSICAL_COMPONENT_TERMINAL('U1-3','interconnect module component terminal', - #49,.U.); -#7030=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-2','part generic feature',#15,.T.); -#7031=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7030, - #6993); -#7032=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10543,#7033,'',$,#7030,#25,*); -#7033=AXIS2_PLACEMENT_2D('',#7035,#7034); -#7034=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7035=CARTESIAN_POINT('',(469900.0,2775712.0)); -#7036=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7030); -#7037=PHYSICAL_COMPONENT_TERMINAL('U1-2','interconnect module component terminal', - #49,.U.); -#7038=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-6','part generic feature',#15,.T.); -#7039=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7038, - #7009); -#7040=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10543,#7041,'',$,#7038,#25,*); -#7041=AXIS2_PLACEMENT_2D('',#7043,#7042); -#7042=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7043=CARTESIAN_POINT('',(825500.0,2710688.0)); -#7044=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7038); -#7045=PHYSICAL_COMPONENT_TERMINAL('U1-6','interconnect module component terminal', - #49,.U.); -#7046=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-7','part generic feature',#15,.T.); -#7047=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7046, - #7013); -#7048=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10543,#7049,'',$,#7046,#25,*); -#7049=AXIS2_PLACEMENT_2D('',#7051,#7050); -#7050=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7051=CARTESIAN_POINT('',(825500.0,2775712.0)); -#7052=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7046); -#7053=PHYSICAL_COMPONENT_TERMINAL('U1-7','interconnect module component terminal', - #49,.U.); -#7054=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-5','part generic feature',#15,.T.); -#7055=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7054, - #7005); -#7056=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10543,#7057,'',$,#7054,#25,*); -#7057=AXIS2_PLACEMENT_2D('',#7059,#7058); -#7058=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7059=CARTESIAN_POINT('',(825500.0,2645664.0)); -#7060=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7054); -#7061=PHYSICAL_COMPONENT_TERMINAL('U1-5','interconnect module component terminal', - #49,.U.); -#7062=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-1','part generic feature',#15,.T.); -#7063=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7062, - #6989); -#7064=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10543,#7065,'',$,#7062,#25,*); -#7065=AXIS2_PLACEMENT_2D('',#7067,#7066); -#7066=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7067=CARTESIAN_POINT('',(469900.0,2840736.0)); -#7068=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7062); -#7069=PHYSICAL_COMPONENT_TERMINAL('U1-1','interconnect module component terminal', - #49,.U.); -#7070=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-4','part generic feature',#15,.T.); -#7071=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7070, - #7001); -#7072=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10543,#7073,'',$,#7070,#25,*); -#7073=AXIS2_PLACEMENT_2D('',#7075,#7074); -#7074=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7075=CARTESIAN_POINT('',(469900.0,2645664.0)); -#7076=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7070); -#7077=PHYSICAL_COMPONENT_TERMINAL('U1-4','interconnect module component terminal', - #49,.U.); -#7078=INTERCONNECT_MODULE_INTERFACE_TERMINAL('U1-8','part generic feature',#15,.T.); -#7079=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7078, - #7017); -#7080=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10543,#7081,'',$,#7078,#25,*); -#7081=AXIS2_PLACEMENT_2D('',#7083,#7082); -#7082=DIRECTION('',(-1.0,1.2246467991473532E-16)); -#7083=CARTESIAN_POINT('',(825500.0,2840736.0)); -#7084=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7078); -#7085=PHYSICAL_COMPONENT_TERMINAL('U1-8','interconnect module component terminal', - #49,.U.); -#7086=FOOTPRINT_OCCURRENCE('R6-FO',$,#237,#28,'R6-FO','definition usage',$,#238, - *,'',$,*); -#7087=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R6-FO','',$,#34,#238,'R6-FO', - '',$,#7086,*); -#7088=PRODUCT_DEFINITION_SHAPE('',$,#7087); -#7089=COMPONENT_2D_LOCATION(*,#7088,'component 2d location',$,#239,#36,#672); -#7090=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R6-FO 2 PASTE_MASK_2',$,#2630,#28,'R6-FO 2 PASTE_MASK_2', - 'definition usage',$,#2631,*,'',$,*); -#7091=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R6-FO 2 SOLDER_MASK_2',$,#2615,#28,'R6-FO 2 SOLDER_MASK_2', - 'definition usage',$,#2616,*,'',$,*); -#7092=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R6-FO 2 PAD_2','functional land', - #2650,#28)PRODUCT_DEFINITION_RELATIONSHIP('R6-FO 2 PAD_2','definition usage', - $,#2651,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7093=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7092,.U.); -#7094=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R6-FO 1 PASTE_MASK_2',$,#2630,#28,'R6-FO 1 PASTE_MASK_2', - 'definition usage',$,#2631,*,'',$,*); -#7095=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R6-FO 1 SOLDER_MASK_2',$,#2615,#28,'R6-FO 1 SOLDER_MASK_2', - 'definition usage',$,#2616,*,'',$,*); -#7096=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R6-FO 1 PAD_2','functional land', - #2650,#28)PRODUCT_DEFINITION_RELATIONSHIP('R6-FO 1 PAD_2','definition usage', - $,#2651,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7097=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7096,.U.); -#7098=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R6-2','part generic feature',#15,.T.); -#7099=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7098, - #7093); -#7100=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10541,#7101,'',$,#7098,#25,*); -#7101=AXIS2_PLACEMENT_2D('',#7103,#7102); -#7102=DIRECTION('',(1.0,0.0)); -#7103=CARTESIAN_POINT('',(829310.0,1587500.0)); -#7104=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#7098); -#7105=PHYSICAL_COMPONENT_TERMINAL('R6-2','interconnect module component terminal', - #49,.U.); -#7106=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R6-1','part generic feature',#15,.T.); -#7107=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7106, - #7097); -#7108=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10541,#7109,'',$,#7106,#25,*); -#7109=AXIS2_PLACEMENT_2D('',#7111,#7110); -#7110=DIRECTION('',(1.0,0.0)); -#7111=CARTESIAN_POINT('',(212090.00000000006,1587500.0)); -#7112=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#7106); -#7113=PHYSICAL_COMPONENT_TERMINAL('R6-1','interconnect module component terminal', - #49,.U.); -#7114=FOOTPRINT_OCCURRENCE('R4-FO',$,#237,#28,'R4-FO','definition usage',$,#238, - *,'',$,*); -#7115=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R4-FO','',$,#34,#238,'R4-FO', - '',$,#7114,*); -#7116=PRODUCT_DEFINITION_SHAPE('',$,#7115); -#7117=COMPONENT_2D_LOCATION(*,#7116,'component 2d location',$,#239,#36,#654); -#7118=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R4-FO 2 PASTE_MASK_2',$,#2630,#28,'R4-FO 2 PASTE_MASK_2', - 'definition usage',$,#2631,*,'',$,*); -#7119=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R4-FO 2 SOLDER_MASK_2',$,#2615,#28,'R4-FO 2 SOLDER_MASK_2', - 'definition usage',$,#2616,*,'',$,*); -#7120=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R4-FO 2 PAD_2','functional land', - #2650,#28)PRODUCT_DEFINITION_RELATIONSHIP('R4-FO 2 PAD_2','definition usage', - $,#2651,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7121=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7120,.U.); -#7122=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R4-FO 1 PASTE_MASK_2',$,#2630,#28,'R4-FO 1 PASTE_MASK_2', - 'definition usage',$,#2631,*,'',$,*); -#7123=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R4-FO 1 SOLDER_MASK_2',$,#2615,#28,'R4-FO 1 SOLDER_MASK_2', - 'definition usage',$,#2616,*,'',$,*); -#7124=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R4-FO 1 PAD_2','functional land', - #2650,#28)PRODUCT_DEFINITION_RELATIONSHIP('R4-FO 1 PAD_2','definition usage', - $,#2651,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7125=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7124,.U.); -#7126=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R4-2','part generic feature',#15,.T.); -#7127=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7126, - #7121); -#7128=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10541,#7129,'',$,#7126,#25,*); -#7129=AXIS2_PLACEMENT_2D('',#7131,#7130); -#7130=DIRECTION('',(1.0,0.0)); -#7131=CARTESIAN_POINT('',(829310.0,3238501.0)); -#7132=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#7126); -#7133=PHYSICAL_COMPONENT_TERMINAL('R4-2','interconnect module component terminal', - #49,.U.); -#7134=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R4-1','part generic feature',#15,.T.); -#7135=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7134, - #7125); -#7136=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10541,#7137,'',$,#7134,#25,*); -#7137=AXIS2_PLACEMENT_2D('',#7139,#7138); -#7138=DIRECTION('',(1.0,0.0)); -#7139=CARTESIAN_POINT('',(212090.00000000006,3238501.0)); -#7140=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#7134); -#7141=PHYSICAL_COMPONENT_TERMINAL('R4-1','interconnect module component terminal', - #49,.U.); -#7142=FOOTPRINT_OCCURRENCE('C1-FO',$,#126,#28,'C1-FO','definition usage',$,#127, - *,'',$,*); -#7143=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C1-FO','',$,#34,#127,'C1-FO', - '',$,#7142,*); -#7144=PRODUCT_DEFINITION_SHAPE('',$,#7143); -#7145=COMPONENT_2D_LOCATION(*,#7144,'component 2d location',$,#128,#36,#562); -#7146=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('C1-FO 1 PAD','functional land', - #1318,#28)PRODUCT_DEFINITION_RELATIONSHIP('C1-FO 1 PAD','definition usage',$, - #1319,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7147=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7146,.U.); -#7148=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C1-FO 1 PASTE_MASK',$,#1303,#28,'C1-FO 1 PASTE_MASK', - 'definition usage',$,#1304,*,'',$,*); -#7149=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C1-FO 1 SOLDER_MASK',$,#1288,#28,'C1-FO 1 SOLDER_MASK', - 'definition usage',$,#1289,*,'',$,*); -#7150=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('C1-FO 2 PAD','functional land', - #1318,#28)PRODUCT_DEFINITION_RELATIONSHIP('C1-FO 2 PAD','definition usage',$, - #1319,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7151=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7150,.U.); -#7152=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C1-FO 2 PASTE_MASK',$,#1303,#28,'C1-FO 2 PASTE_MASK', - 'definition usage',$,#1304,*,'',$,*); -#7153=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C1-FO 2 SOLDER_MASK',$,#1288,#28,'C1-FO 2 SOLDER_MASK', - 'definition usage',$,#1289,*,'',$,*); -#7154=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C1-1','part generic feature',#15,.T.); -#7155=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7154, - #7147); -#7156=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10544,#7157,'',$,#7154,#25,*); -#7157=AXIS2_PLACEMENT_2D('',#7159,#7158); -#7158=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7159=CARTESIAN_POINT('',(609600.0,2006600.0)); -#7160=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7154); -#7161=PHYSICAL_COMPONENT_TERMINAL('C1-1','interconnect module component terminal', - #49,.U.); -#7162=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C1-2','part generic feature',#15,.T.); -#7163=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7162, - #7151); -#7164=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10544,#7165,'',$,#7162,#25,*); -#7165=AXIS2_PLACEMENT_2D('',#7167,#7166); -#7166=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7167=CARTESIAN_POINT('',(609600.0,1828800.0)); -#7168=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7162); -#7169=PHYSICAL_COMPONENT_TERMINAL('C1-2','interconnect module component terminal', - #49,.U.); -#7170=FOOTPRINT_OCCURRENCE('R2-FO',$,#195,#28,'R2-FO','definition usage',$,#196, - *,'',$,*); -#7171=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R2-FO','',$,#34,#196,'R2-FO', - '',$,#7170,*); -#7172=PRODUCT_DEFINITION_SHAPE('',$,#7171); -#7173=COMPONENT_2D_LOCATION(*,#7172,'component 2d location',$,#197,#36,#634); -#7174=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R2-FO 1 PASTE_MASK_1',$,#2532,#28,'R2-FO 1 PASTE_MASK_1', - 'definition usage',$,#2533,*,'',$,*); -#7175=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R2-FO 1 SOLDER_MASK_1',$,#2517,#28,'R2-FO 1 SOLDER_MASK_1', - 'definition usage',$,#2518,*,'',$,*); -#7176=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R2-FO 1 PAD_1','functional land', - #2500,#28)PRODUCT_DEFINITION_RELATIONSHIP('R2-FO 1 PAD_1','definition usage', - $,#2501,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7177=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7176,.U.); -#7178=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R2-FO 2 PASTE_MASK_1',$,#2532,#28,'R2-FO 2 PASTE_MASK_1', - 'definition usage',$,#2533,*,'',$,*); -#7179=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R2-FO 2 SOLDER_MASK_1',$,#2517,#28,'R2-FO 2 SOLDER_MASK_1', - 'definition usage',$,#2518,*,'',$,*); -#7180=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R2-FO 2 PAD_1','functional land', - #2500,#28)PRODUCT_DEFINITION_RELATIONSHIP('R2-FO 2 PAD_1','definition usage', - $,#2501,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7181=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7180,.U.); -#7182=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R2-2','part generic feature',#15,.T.); -#7183=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7182, - #7181); -#7184=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10542,#7185,'',$,#7182,#25,*); -#7185=AXIS2_PLACEMENT_2D('',#7187,#7186); -#7186=DIRECTION('',(6.123233995736766E-17,1.0)); -#7187=CARTESIAN_POINT('',(825500.0,2359660.0)); -#7188=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7182); -#7189=PHYSICAL_COMPONENT_TERMINAL('R2-2','interconnect module component terminal', - #49,.U.); -#7190=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R2-1','part generic feature',#15,.T.); -#7191=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7190, - #7177); -#7192=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10542,#7193,'',$,#7190,#25,*); -#7193=AXIS2_PLACEMENT_2D('',#7195,#7194); -#7194=DIRECTION('',(6.123233995736766E-17,1.0)); -#7195=CARTESIAN_POINT('',(825500.0,2212340.0)); -#7196=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7190); -#7197=PHYSICAL_COMPONENT_TERMINAL('R2-1','interconnect module component terminal', - #49,.U.); -#7198=FOOTPRINT_OCCURRENCE('R3-FO',$,#237,#28,'R3-FO','definition usage',$,#238, - *,'',$,*); -#7199=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('R3-FO','',$,#34,#238,'R3-FO', - '',$,#7198,*); -#7200=PRODUCT_DEFINITION_SHAPE('',$,#7199); -#7201=COMPONENT_2D_LOCATION(*,#7200,'component 2d location',$,#239,#36,#644); -#7202=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R3-FO 2 PASTE_MASK_2',$,#2630,#28,'R3-FO 2 PASTE_MASK_2', - 'definition usage',$,#2631,*,'',$,*); -#7203=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R3-FO 2 SOLDER_MASK_2',$,#2615,#28,'R3-FO 2 SOLDER_MASK_2', - 'definition usage',$,#2616,*,'',$,*); -#7204=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R3-FO 2 PAD_2','functional land', - #2650,#28)PRODUCT_DEFINITION_RELATIONSHIP('R3-FO 2 PAD_2','definition usage', - $,#2651,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7205=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7204,.U.); -#7206=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R3-FO 1 PASTE_MASK_2',$,#2630,#28,'R3-FO 1 PASTE_MASK_2', - 'definition usage',$,#2631,*,'',$,*); -#7207=MATERIAL_REMOVAL_LAMINATE_COMPONENT('R3-FO 1 SOLDER_MASK_2',$,#2615,#28,'R3-FO 1 SOLDER_MASK_2', - 'definition usage',$,#2616,*,'',$,*); -#7208=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('R3-FO 1 PAD_2','functional land', - #2650,#28)PRODUCT_DEFINITION_RELATIONSHIP('R3-FO 1 PAD_2','definition usage', - $,#2651,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7209=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7208,.U.); -#7210=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R3-2','part generic feature',#15,.T.); -#7211=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7210, - #7205); -#7212=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10541,#7213,'',$,#7210,#25,*); -#7213=AXIS2_PLACEMENT_2D('',#7215,#7214); -#7214=DIRECTION('',(1.0,0.0)); -#7215=CARTESIAN_POINT('',(829310.0,3746501.0)); -#7216=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#7210); -#7217=PHYSICAL_COMPONENT_TERMINAL('R3-2','interconnect module component terminal', - #49,.U.); -#7218=INTERCONNECT_MODULE_INTERFACE_TERMINAL('R3-1','part generic feature',#15,.T.); -#7219=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7218, - #7209); -#7220=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10541,#7221,'',$,#7218,#25,*); -#7221=AXIS2_PLACEMENT_2D('',#7223,#7222); -#7222=DIRECTION('',(1.0,0.0)); -#7223=CARTESIAN_POINT('',(212090.00000000006,3746501.0)); -#7224=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#33,#7218); -#7225=PHYSICAL_COMPONENT_TERMINAL('R3-1','interconnect module component terminal', - #49,.U.); -#7226=FOOTPRINT_OCCURRENCE('C2-FO',$,#126,#28,'C2-FO','definition usage',$,#127, - *,'',$,*); -#7227=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('C2-FO','',$,#34,#127,'C2-FO', - '',$,#7226,*); -#7228=PRODUCT_DEFINITION_SHAPE('',$,#7227); -#7229=COMPONENT_2D_LOCATION(*,#7228,'component 2d location',$,#128,#36,#593); -#7230=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('C2-FO 1 PAD','functional land', - #1318,#28)PRODUCT_DEFINITION_RELATIONSHIP('C2-FO 1 PAD','definition usage',$, - #1319,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7231=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7230,.U.); -#7232=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C2-FO 1 PASTE_MASK',$,#1303,#28,'C2-FO 1 PASTE_MASK', - 'definition usage',$,#1304,*,'',$,*); -#7233=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C2-FO 1 SOLDER_MASK',$,#1288,#28,'C2-FO 1 SOLDER_MASK', - 'definition usage',$,#1289,*,'',$,*); -#7234=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()CONTACT_SIZE_DEPENDENT_LAND()LAMINATE_COMPONENT() - LAMINATE_COMPONENT_FEATURE()LAMINATE_COMPONENT_JOIN_TERMINAL()LAND() - LAND_WITH_JOIN_TERMINAL()PRODUCT_DEFINITION('C2-FO 2 PAD','functional land', - #1318,#28)PRODUCT_DEFINITION_RELATIONSHIP('C2-FO 2 PAD','definition usage',$, - #1319,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7235=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','land interface terminal', - #7234,.U.); -#7236=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C2-FO 2 PASTE_MASK',$,#1303,#28,'C2-FO 2 PASTE_MASK', - 'definition usage',$,#1304,*,'',$,*); -#7237=MATERIAL_REMOVAL_LAMINATE_COMPONENT('C2-FO 2 SOLDER_MASK',$,#1288,#28,'C2-FO 2 SOLDER_MASK', - 'definition usage',$,#1289,*,'',$,*); -#7238=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C2-1','part generic feature',#15,.T.); -#7239=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7238, - #7231); -#7240=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10544,#7241,'',$,#7238,#25,*); -#7241=AXIS2_PLACEMENT_2D('',#7243,#7242); -#7242=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7243=CARTESIAN_POINT('',(368300.0,2489200.0)); -#7244=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7238); -#7245=PHYSICAL_COMPONENT_TERMINAL('C2-1','interconnect module component terminal', - #49,.U.); -#7246=INTERCONNECT_MODULE_INTERFACE_TERMINAL('C2-2','part generic feature',#15,.T.); -#7247=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7246, - #7235); -#7248=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10544,#7249,'',$,#7246,#25,*); -#7249=AXIS2_PLACEMENT_2D('',#7251,#7250); -#7250=DIRECTION('',(-1.8369701987210297E-16,-1.0)); -#7251=CARTESIAN_POINT('',(368300.0,2311400.0)); -#7252=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#32,#7246); -#7253=PHYSICAL_COMPONENT_TERMINAL('C2-2','interconnect module component terminal', - #49,.U.); -#7254=DIRECTION('',(1.0,0.0)); -#7255=DIRECTION('',(-0.0,1.0)); -#7256=CARTESIAN_POINT('',(0.0,3810000.0)); -#7257=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#7254,#7255,#7256,1.0); -#7258=PADSTACK_OCCURRENCE('E1',$,#1661,#28,'E1','definition usage',$,#1662,*,'', - $,*); -#7259=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E1 SIGNAL_12','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E1 SIGNAL_12','definition usage', - $,#1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7260=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E1 SIGNAL_1','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E1 SIGNAL_1','definition usage',$, - #1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7261=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#888,#28,'',$,*); -#7262=COMPONENT_TERMINATION_PASSAGE('E1 drill','unknown role plated passage',#1670, - #28,'E1 drill','definition usage',$,#1671,*,'',$,*); -#7263=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7262,.U.); -#7264=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7262,.U.); -#7265=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E1','',$,#34,#1662,'E1','',$, - #7258,*); -#7266=PRODUCT_DEFINITION_SHAPE('',$,#7265); -#7267=COMPONENT_2D_LOCATION(*,#7266,'component 2d location',$,#1663,#36,#7257); -#7268=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E1-1','part generic feature',#15,.T.); -#7269=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7268, - #7263); -#7270=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10545,#7271,'',$,#7268,#25,*); -#7271=AXIS2_PLACEMENT_2D('',#7273,#7272); -#7272=DIRECTION('',(1.0,0.0)); -#7273=CARTESIAN_POINT('',(0.0,3810000.0)); -#7274=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7268); -#7275=PHYSICAL_COMPONENT_TERMINAL('E1-1','interconnect module component terminal', - #49,.U.); -#7276=DIRECTION('',(1.0,0.0)); -#7277=DIRECTION('',(-0.0,1.0)); -#7278=CARTESIAN_POINT('',(0.0,3302000.0)); -#7279=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#7276,#7277,#7278,1.0); -#7280=PADSTACK_OCCURRENCE('E2',$,#1661,#28,'E2','definition usage',$,#1662,*,'', - $,*); -#7281=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E2 SIGNAL_12','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E2 SIGNAL_12','definition usage', - $,#1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7282=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E2 SIGNAL_1','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E2 SIGNAL_1','definition usage',$, - #1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7283=COMPONENT_TERMINATION_PASSAGE('E2 drill','unknown role plated passage',#1670, - #28,'E2 drill','definition usage',$,#1671,*,'',$,*); -#7284=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7283,.U.); -#7285=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7283,.U.); -#7286=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E2','',$,#34,#1662,'E2','',$, - #7280,*); -#7287=PRODUCT_DEFINITION_SHAPE('',$,#7286); -#7288=COMPONENT_2D_LOCATION(*,#7287,'component 2d location',$,#1663,#36,#7279); -#7289=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E2-1','part generic feature',#15,.T.); -#7290=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7289, - #7284); -#7291=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10545,#7292,'',$,#7289,#25,*); -#7292=AXIS2_PLACEMENT_2D('',#7294,#7293); -#7293=DIRECTION('',(1.0,0.0)); -#7294=CARTESIAN_POINT('',(0.0,3302000.0)); -#7295=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7289); -#7296=PHYSICAL_COMPONENT_TERMINAL('E2-1','interconnect module component terminal', - #49,.U.); -#7297=DIRECTION('',(1.0,0.0)); -#7298=DIRECTION('',(-0.0,1.0)); -#7299=CARTESIAN_POINT('',(0.0,2730500.0)); -#7300=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#7297,#7298,#7299,1.0); -#7301=PADSTACK_OCCURRENCE('E3',$,#1661,#28,'E3','definition usage',$,#1662,*,'', - $,*); -#7302=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E3 SIGNAL_12','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E3 SIGNAL_12','definition usage', - $,#1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7303=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E3 SIGNAL_1','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E3 SIGNAL_1','definition usage',$, - #1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7304=COMPONENT_TERMINATION_PASSAGE('E3 drill','unknown role plated passage',#1670, - #28,'E3 drill','definition usage',$,#1671,*,'',$,*); -#7305=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7304,.U.); -#7306=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7304,.U.); -#7307=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E3','',$,#34,#1662,'E3','',$, - #7301,*); -#7308=PRODUCT_DEFINITION_SHAPE('',$,#7307); -#7309=COMPONENT_2D_LOCATION(*,#7308,'component 2d location',$,#1663,#36,#7300); -#7310=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E3-1','part generic feature',#15,.T.); -#7311=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7310, - #7305); -#7312=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10545,#7313,'',$,#7310,#25,*); -#7313=AXIS2_PLACEMENT_2D('',#7315,#7314); -#7314=DIRECTION('',(1.0,0.0)); -#7315=CARTESIAN_POINT('',(0.0,2730500.0)); -#7316=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7310); -#7317=PHYSICAL_COMPONENT_TERMINAL('E3-1','interconnect module component terminal', - #49,.U.); -#7318=DIRECTION('',(1.0,0.0)); -#7319=DIRECTION('',(-0.0,1.0)); -#7320=CARTESIAN_POINT('',(0.0,2222500.0)); -#7321=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#7318,#7319,#7320,1.0); -#7322=PADSTACK_OCCURRENCE('E4',$,#1661,#28,'E4','definition usage',$,#1662,*,'', - $,*); -#7323=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E4 SIGNAL_12','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E4 SIGNAL_12','definition usage', - $,#1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7324=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E4 SIGNAL_1','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E4 SIGNAL_1','definition usage',$, - #1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7325=COMPONENT_TERMINATION_PASSAGE('E4 drill','unknown role plated passage',#1670, - #28,'E4 drill','definition usage',$,#1671,*,'',$,*); -#7326=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7325,.U.); -#7327=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7325,.U.); -#7328=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E4','',$,#34,#1662,'E4','',$, - #7322,*); -#7329=PRODUCT_DEFINITION_SHAPE('',$,#7328); -#7330=COMPONENT_2D_LOCATION(*,#7329,'component 2d location',$,#1663,#36,#7321); -#7331=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E4-1','part generic feature',#15,.T.); -#7332=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7331, - #7326); -#7333=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10545,#7334,'',$,#7331,#25,*); -#7334=AXIS2_PLACEMENT_2D('',#7336,#7335); -#7335=DIRECTION('',(1.0,0.0)); -#7336=CARTESIAN_POINT('',(0.0,2222500.0)); -#7337=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7331); -#7338=PHYSICAL_COMPONENT_TERMINAL('E4-1','interconnect module component terminal', - #49,.U.); -#7339=DIRECTION('',(1.0,0.0)); -#7340=DIRECTION('',(-0.0,1.0)); -#7341=CARTESIAN_POINT('',(0.0,1778000.0)); -#7342=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#7339,#7340,#7341,1.0); -#7343=PADSTACK_OCCURRENCE('E5',$,#1661,#28,'E5','definition usage',$,#1662,*,'', - $,*); -#7344=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E5 SIGNAL_12','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E5 SIGNAL_12','definition usage', - $,#1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7345=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E5 SIGNAL_1','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E5 SIGNAL_1','definition usage',$, - #1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7346=COMPONENT_TERMINATION_PASSAGE('E5 drill','unknown role plated passage',#1670, - #28,'E5 drill','definition usage',$,#1671,*,'',$,*); -#7347=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7346,.U.); -#7348=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7346,.U.); -#7349=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E5','',$,#34,#1662,'E5','',$, - #7343,*); -#7350=PRODUCT_DEFINITION_SHAPE('',$,#7349); -#7351=COMPONENT_2D_LOCATION(*,#7350,'component 2d location',$,#1663,#36,#7342); -#7352=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E5-1','part generic feature',#15,.T.); -#7353=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7352, - #7347); -#7354=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10545,#7355,'',$,#7352,#25,*); -#7355=AXIS2_PLACEMENT_2D('',#7357,#7356); -#7356=DIRECTION('',(1.0,0.0)); -#7357=CARTESIAN_POINT('',(0.0,1778000.0)); -#7358=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7352); -#7359=PHYSICAL_COMPONENT_TERMINAL('E5-1','interconnect module component terminal', - #49,.U.); -#7360=DIRECTION('',(1.0,0.0)); -#7361=DIRECTION('',(-0.0,1.0)); -#7362=CARTESIAN_POINT('',(0.0,1270000.0)); -#7363=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#7360,#7361,#7362,1.0); -#7364=PADSTACK_OCCURRENCE('E6',$,#1661,#28,'E6','definition usage',$,#1662,*,'', - $,*); -#7365=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E6 SIGNAL_12','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E6 SIGNAL_12','definition usage', - $,#1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7366=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E6 SIGNAL_1','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E6 SIGNAL_1','definition usage',$, - #1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7367=COMPONENT_TERMINATION_PASSAGE('E6 drill','unknown role plated passage',#1670, - #28,'E6 drill','definition usage',$,#1671,*,'',$,*); -#7368=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7367,.U.); -#7369=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7367,.U.); -#7370=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E6','',$,#34,#1662,'E6','',$, - #7364,*); -#7371=PRODUCT_DEFINITION_SHAPE('',$,#7370); -#7372=COMPONENT_2D_LOCATION(*,#7371,'component 2d location',$,#1663,#36,#7363); -#7373=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E6-1','part generic feature',#15,.T.); -#7374=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7373, - #7368); -#7375=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10545,#7376,'',$,#7373,#25,*); -#7376=AXIS2_PLACEMENT_2D('',#7378,#7377); -#7377=DIRECTION('',(1.0,0.0)); -#7378=CARTESIAN_POINT('',(0.0,1270000.0)); -#7379=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7373); -#7380=PHYSICAL_COMPONENT_TERMINAL('E6-1','interconnect module component terminal', - #49,.U.); -#7381=DIRECTION('',(1.0,0.0)); -#7382=DIRECTION('',(-0.0,1.0)); -#7383=CARTESIAN_POINT('',(0.0,762000.0)); -#7384=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,#7381,#7382,#7383,1.0); -#7385=PADSTACK_OCCURRENCE('E7',$,#1661,#28,'E7','definition usage',$,#1662,*,'', - $,*); -#7386=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E7 SIGNAL_12','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E7 SIGNAL_12','definition usage', - $,#1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7387=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('E7 SIGNAL_1','functional land', - #1744,#28)PRODUCT_DEFINITION_RELATIONSHIP('E7 SIGNAL_1','definition usage',$, - #1745,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7388=COMPONENT_TERMINATION_PASSAGE('E7 drill','unknown role plated passage',#1670, - #28,'E7 drill','definition usage',$,#1671,*,'',$,*); -#7389=LAMINATE_COMPONENT_INTERFACE_TERMINAL('outside','component termination passage interface terminal', - #7388,.U.); -#7390=LAMINATE_COMPONENT_JOIN_TERMINAL('inside','component termination passage join terminal', - #7388,.U.); -#7391=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('E7','',$,#34,#1662,'E7','',$, - #7385,*); -#7392=PRODUCT_DEFINITION_SHAPE('',$,#7391); -#7393=COMPONENT_2D_LOCATION(*,#7392,'component 2d location',$,#1663,#36,#7384); -#7394=INTERCONNECT_MODULE_INTERFACE_TERMINAL('E7-1','part generic feature',#15,.T.); -#7395=SHAPE_ASPECT_RELATIONSHIP('component feature to physical usage assignment', - 'component terminal to interconnect module interface terminal assignment',#7394, - #7389); -#7396=USAGE_CONCEPT_USAGE_RELATIONSHIP('',#10545,#7397,'',$,#7394,#25,*); -#7397=AXIS2_PLACEMENT_2D('',#7399,#7398); -#7398=DIRECTION('',(1.0,0.0)); -#7399=CARTESIAN_POINT('',(0.0,762000.0)); -#7400=SHAPE_ASPECT_RELATIONSHIP('interconnect module terminal surface constituent relationship', - $,#31,#7394); -#7401=PHYSICAL_COMPONENT_TERMINAL('E7-1','interconnect module component terminal', - #49,.U.); -#7402=CARTESIAN_POINT('',(1143000.0,2840736.0)); -#7403=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,$,$,#7402,1.0); -#7404=PADSTACK_OCCURRENCE('v023c043-1',$,#2899,#28,'v023c043-1','definition usage', - $,#2900,*,'',$,*); -#7405=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('v023c043-1 SIGNAL_12','functional land', - #2968,#28)PRODUCT_DEFINITION_RELATIONSHIP('v023c043-1 SIGNAL_12','definition usage', - $,#2969,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7406=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('v023c043-1 SIGNAL_1','functional land', - #2968,#28)PRODUCT_DEFINITION_RELATIONSHIP('v023c043-1 SIGNAL_1','definition usage', - $,#2969,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7407=MATERIAL_REMOVAL_LAMINATE_COMPONENT('v023c043-1 SOLDER_MASK_2',$,#2920,#28, - 'v023c043-1 SOLDER_MASK_2','definition usage',$,#2921,*,'',$,*); -#7408=MATERIAL_REMOVAL_LAMINATE_COMPONENT('v023c043-1 SOLDER_MASK_1',$,#2908,#28, - 'v023c043-1 SOLDER_MASK_1','definition usage',$,#2909,*,'',$,*); -#7409=PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL('',$,#888,#28,'',$,*); -#7410=INTERFACIAL_CONNECTION('v023c043-1 drill','component termination passage', - #2885,#28,'v023c043-1 drill','definition usage',$,#2886,*,'',$,*); -#7411=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('v023c043-1','',$,#34,#2900,'v023c043-1', - '',$,#7404,*); -#7412=PRODUCT_DEFINITION_SHAPE('',$,#7411); -#7413=COMPONENT_2D_LOCATION(*,#7412,'component 2d location',$,#2901,#36,#7403); -#7414=CARTESIAN_POINT('',(254000.0,2806700.0)); -#7415=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,$,$,#7414,1.0); -#7416=PADSTACK_OCCURRENCE('v023c043-2',$,#2899,#28,'v023c043-2','definition usage', - $,#2900,*,'',$,*); -#7417=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('v023c043-2 SIGNAL_12','functional land', - #2968,#28)PRODUCT_DEFINITION_RELATIONSHIP('v023c043-2 SIGNAL_12','definition usage', - $,#2969,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7418=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('v023c043-2 SIGNAL_1','functional land', - #2968,#28)PRODUCT_DEFINITION_RELATIONSHIP('v023c043-2 SIGNAL_1','definition usage', - $,#2969,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7419=MATERIAL_REMOVAL_LAMINATE_COMPONENT('v023c043-2 SOLDER_MASK_2',$,#2920,#28, - 'v023c043-2 SOLDER_MASK_2','definition usage',$,#2921,*,'',$,*); -#7420=MATERIAL_REMOVAL_LAMINATE_COMPONENT('v023c043-2 SOLDER_MASK_1',$,#2908,#28, - 'v023c043-2 SOLDER_MASK_1','definition usage',$,#2909,*,'',$,*); -#7421=INTERFACIAL_CONNECTION('v023c043-2 drill','component termination passage', - #2885,#28,'v023c043-2 drill','definition usage',$,#2886,*,'',$,*); -#7422=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('v023c043-2','',$,#34,#2900,'v023c043-2', - '',$,#7416,*); -#7423=PRODUCT_DEFINITION_SHAPE('',$,#7422); -#7424=COMPONENT_2D_LOCATION(*,#7423,'component 2d location',$,#2901,#36,#7415); -#7425=CARTESIAN_POINT('',(254000.0,2032000.0)); -#7426=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,$,$,#7425,1.0); -#7427=PADSTACK_OCCURRENCE('v023c043-3',$,#2899,#28,'v023c043-3','definition usage', - $,#2900,*,'',$,*); -#7428=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('v023c043-3 SIGNAL_12','functional land', - #2968,#28)PRODUCT_DEFINITION_RELATIONSHIP('v023c043-3 SIGNAL_12','definition usage', - $,#2969,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7429=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('v023c043-3 SIGNAL_1','functional land', - #2968,#28)PRODUCT_DEFINITION_RELATIONSHIP('v023c043-3 SIGNAL_1','definition usage', - $,#2969,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7430=MATERIAL_REMOVAL_LAMINATE_COMPONENT('v023c043-3 SOLDER_MASK_2',$,#2920,#28, - 'v023c043-3 SOLDER_MASK_2','definition usage',$,#2921,*,'',$,*); -#7431=MATERIAL_REMOVAL_LAMINATE_COMPONENT('v023c043-3 SOLDER_MASK_1',$,#2908,#28, - 'v023c043-3 SOLDER_MASK_1','definition usage',$,#2909,*,'',$,*); -#7432=INTERFACIAL_CONNECTION('v023c043-3 drill','component termination passage', - #2885,#28,'v023c043-3 drill','definition usage',$,#2886,*,'',$,*); -#7433=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('v023c043-3','',$,#34,#2900,'v023c043-3', - '',$,#7427,*); -#7434=PRODUCT_DEFINITION_SHAPE('',$,#7433); -#7435=COMPONENT_2D_LOCATION(*,#7434,'component 2d location',$,#2901,#36,#7426); -#7436=CARTESIAN_POINT('',(0.0,1524000.0)); -#7437=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,$,$,#7436,1.0); -#7438=PADSTACK_OCCURRENCE('v023c043-4',$,#2899,#28,'v023c043-4','definition usage', - $,#2900,*,'',$,*); -#7439=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('v023c043-4 SIGNAL_12','functional land', - #2968,#28)PRODUCT_DEFINITION_RELATIONSHIP('v023c043-4 SIGNAL_12','definition usage', - $,#2969,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7440=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('v023c043-4 SIGNAL_1','functional land', - #2968,#28)PRODUCT_DEFINITION_RELATIONSHIP('v023c043-4 SIGNAL_1','definition usage', - $,#2969,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7441=MATERIAL_REMOVAL_LAMINATE_COMPONENT('v023c043-4 SOLDER_MASK_2',$,#2920,#28, - 'v023c043-4 SOLDER_MASK_2','definition usage',$,#2921,*,'',$,*); -#7442=MATERIAL_REMOVAL_LAMINATE_COMPONENT('v023c043-4 SOLDER_MASK_1',$,#2908,#28, - 'v023c043-4 SOLDER_MASK_1','definition usage',$,#2909,*,'',$,*); -#7443=INTERFACIAL_CONNECTION('v023c043-4 drill','component termination passage', - #2885,#28,'v023c043-4 drill','definition usage',$,#2886,*,'',$,*); -#7444=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('v023c043-4','',$,#34,#2900,'v023c043-4', - '',$,#7438,*); -#7445=PRODUCT_DEFINITION_SHAPE('',$,#7444); -#7446=COMPONENT_2D_LOCATION(*,#7445,'component 2d location',$,#2901,#36,#7437); -#7447=CARTESIAN_POINT('',(1016000.0,3302000.0)); -#7448=CARTESIAN_TRANSFORMATION_OPERATOR_2D('','',$,$,$,#7447,1.0); -#7449=PADSTACK_OCCURRENCE('v023c043-5',$,#2899,#28,'v023c043-5','definition usage', - $,#2900,*,'',$,*); -#7450=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('v023c043-5 SIGNAL_12','functional land', - #2968,#28)PRODUCT_DEFINITION_RELATIONSHIP('v023c043-5 SIGNAL_12','definition usage', - $,#2969,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7451=(ASSEMBLY_COMPONENT()COMPONENT_DEFINITION()COMPONENT_FEATURE() - COMPONENT_TERMINAL()INTER_STRATUM_FEATURE_DEPENDENT_LAND() - LAMINATE_COMPONENT()LAMINATE_COMPONENT_FEATURE() - LAMINATE_COMPONENT_JOIN_TERMINAL()LAND()LAND_WITH_JOIN_TERMINAL() - PLATED_PASSAGE_DEPENDENT_LAND()PRODUCT_DEFINITION('v023c043-5 SIGNAL_1','functional land', - #2968,#28)PRODUCT_DEFINITION_RELATIONSHIP('v023c043-5 SIGNAL_1','definition usage', - $,#2969,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('inside', - 'land join terminal',*,.U.)STRATUM_FEATURE_TEMPLATE_COMPONENT()); -#7452=MATERIAL_REMOVAL_LAMINATE_COMPONENT('v023c043-5 SOLDER_MASK_2',$,#2920,#28, - 'v023c043-5 SOLDER_MASK_2','definition usage',$,#2921,*,'',$,*); -#7453=MATERIAL_REMOVAL_LAMINATE_COMPONENT('v023c043-5 SOLDER_MASK_1',$,#2908,#28, - 'v023c043-5 SOLDER_MASK_1','definition usage',$,#2909,*,'',$,*); -#7454=INTERFACIAL_CONNECTION('v023c043-5 drill','component termination passage', - #2885,#28,'v023c043-5 drill','definition usage',$,#2886,*,'',$,*); -#7455=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('v023c043-5','',$,#34,#2900,'v023c043-5', - '',$,#7449,*); -#7456=PRODUCT_DEFINITION_SHAPE('',$,#7455); -#7457=COMPONENT_2D_LOCATION(*,#7456,'component 2d location',$,#2901,#36,#7448); -#7458=CARTESIAN_POINT('',(339725.0000879999,2912799.5321547715)); -#7459=LAYER_CONNECTION_POINT('tracktotrack1','explicitly located',#914,.U.); -#7460=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#9464,#9465,#7461,#9466,#9467),#9463); -#7461=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 25400.0),#17)REPRESENTATION_ITEM('curve width')); -#7462=(LENGTH_MEASURE_WITH_UNIT()MEASURE_WITH_UNIT(LENGTH_MEASURE(0.0010),#19) - UNCERTAINTY_MEASURE_WITH_UNIT('',$)); -#7463=PRODUCT('trace template 3','template',$,(#14731)); -#7464=PRODUCT_DEFINITION_FORMATION('1',$,#7463); -#7465=TRACE_TEMPLATE('1',$,#7464,#28,'',$,*); -#7466=POLYLINE('centreline',(#7467,#7468,#7469,#7470)); -#7467=CARTESIAN_POINT('',(330200.0,2921000.0)); -#7468=CARTESIAN_POINT('',(355600.0,2921000.0)); -#7469=CARTESIAN_POINT('',(355600.0,2710688.0)); -#7470=CARTESIAN_POINT('',(469900.0,2710688.0)); -#7471=PATH_AREA_WITH_PARAMETERS('',#12445,#7466); -#7472=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET0-1',$,#7464, - #28,'NET0-1','definition usage',$,#7465,*,'',$,*,'',$,*,#17595,#7471); -#7473=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET0-1','',$,#34,#7465,'NET0-1', - '',$,#7472,*); -#7474=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7472,.U.); -#7475=LAYER_CONNECTION_POINT('LAYER_1 U1-FO : 3','dependently located',#914,.U.); -#7476=CARTESIAN_POINT('',(469900.0,2710688.0)); -#7477=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7472,.U.); -#7478=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7472,.U.,'',$,#7474,#7477); -#7479=CURVE_STYLE_PARAMETERS_WITH_ENDS('',(#9469,#9470,#7480,#9471,#9472),#9468); -#7480=(LENGTH_MEASURE_WITH_UNIT()MEASURE_REPRESENTATION_ITEM()MEASURE_WITH_UNIT(LENGTH_MEASURE( - 63500.0),#17)REPRESENTATION_ITEM('curve width')); -#7481=PRODUCT('trace template 4','template',$,(#14731)); -#7482=PRODUCT_DEFINITION_FORMATION('1',$,#7481); -#7483=TRACE_TEMPLATE('1',$,#7482,#28,'',$,*); -#7484=POLYLINE('centreline',(#7485,#7486,#7487)); -#7485=CARTESIAN_POINT('',(0.0,2730500.0)); -#7486=CARTESIAN_POINT('',(0.0,2921000.0)); -#7487=CARTESIAN_POINT('',(330200.0,2921000.0)); -#7488=PATH_AREA_WITH_PARAMETERS('',#12446,#7484); -#7489=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET0-0',$,#7482, - #28,'NET0-0','definition usage',$,#7483,*,'',$,*,'',$,*,#17600,#7488); -#7490=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET0-0','',$,#34,#7483,'NET0-0', - '',$,#7489,*); -#7491=LAYER_CONNECTION_POINT('LAYER_1 E3','dependently located',#914,.U.); -#7492=CARTESIAN_POINT('',(0.0,2730500.0)); -#7493=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7489,.U.); -#7494=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7489,.U.); -#7495=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7489,.U.,'',$,#7493,#7494); -#7496=STRATUM_FEATURE('1','conductor',#914,.U.); -#7497=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7498=PHYSICAL_NETWORK('net0','routed physical network',#34,.U.); -#7499=POLYLINE('centreline',(#7500,#7501,#7502,#7503)); -#7500=CARTESIAN_POINT('',(825500.0,2359660.0)); -#7501=CARTESIAN_POINT('',(990600.0,2359660.0)); -#7502=CARTESIAN_POINT('',(990600.0,2710688.0)); -#7503=CARTESIAN_POINT('',(825500.0,2710688.0)); -#7504=PATH_AREA_WITH_PARAMETERS('',#12445,#7499); -#7505=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET1-1',$,#7464, - #28,'NET1-1','definition usage',$,#7465,*,'',$,*,'',$,*,#17605,#7504); -#7506=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET1-1','',$,#34,#7465,'NET1-1', - '',$,#7505,*); -#7507=LAYER_CONNECTION_POINT('LAYER_1 R2-FO : 2','dependently located',#914,.U.); -#7508=CARTESIAN_POINT('',(825500.0,2359660.0)); -#7509=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7505,.U.); -#7510=LAYER_CONNECTION_POINT('LAYER_1 U1-FO : 6','dependently located',#914,.U.); -#7511=CARTESIAN_POINT('',(825500.0,2710688.0)); -#7512=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7505,.U.); -#7513=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7505,.U.,'',$,#7509,#7512); -#7514=POLYLINE('centreline',(#7515,#7516,#7517,#7518)); -#7515=CARTESIAN_POINT('',(609600.0,2006600.0)); -#7516=CARTESIAN_POINT('',(609600.0,2349500.0)); -#7517=CARTESIAN_POINT('',(825500.0,2349500.0)); -#7518=CARTESIAN_POINT('',(825500.0,2359660.0)); -#7519=PATH_AREA_WITH_PARAMETERS('',#12446,#7514); -#7520=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET1-0',$,#7482, - #28,'NET1-0','definition usage',$,#7483,*,'',$,*,'',$,*,#17610,#7519); -#7521=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET1-0','',$,#34,#7483,'NET1-0', - '',$,#7520,*); -#7522=LAYER_CONNECTION_POINT('LAYER_1 C1-FO : 1','dependently located',#914,.U.); -#7523=CARTESIAN_POINT('',(609600.0,2006600.0)); -#7524=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7520,.U.); -#7525=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7520,.U.); -#7526=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7520,.U.,'',$,#7524,#7525); -#7527=POLYLINE('centreline',(#7528,#7529,#7530,#7531)); -#7528=CARTESIAN_POINT('',(825500.0,2710688.0)); -#7529=CARTESIAN_POINT('',(635000.0,2710688.0)); -#7530=CARTESIAN_POINT('',(635000.0,2775712.0)); -#7531=CARTESIAN_POINT('',(469900.0,2775712.0)); -#7532=PATH_AREA_WITH_PARAMETERS('',#12445,#7527); -#7533=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET1-2',$,#7464, - #28,'NET1-2','definition usage',$,#7465,*,'',$,*,'',$,*,#17615,#7532); -#7534=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET1-2','',$,#34,#7465,'NET1-2', - '',$,#7533,*); -#7535=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7533,.U.); -#7536=LAYER_CONNECTION_POINT('LAYER_1 U1-FO : 2','dependently located',#914,.U.); -#7537=CARTESIAN_POINT('',(469900.0,2775712.0)); -#7538=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7533,.U.); -#7539=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7533,.U.,'',$,#7535,#7538); -#7540=STRATUM_FEATURE('2','conductor',#914,.U.); -#7541=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7542=PHYSICAL_NETWORK('net1','routed physical network',#34,.U.); -#7543=POLYLINE('centreline',(#7544,#7545,#7546,#7547,#7548)); -#7544=CARTESIAN_POINT('',(1143000.0,2466340.0)); -#7545=CARTESIAN_POINT('',(1143000.0,2463800.0)); -#7546=CARTESIAN_POINT('',(1041400.0,2463800.0)); -#7547=CARTESIAN_POINT('',(1041400.0,2775712.0)); -#7548=CARTESIAN_POINT('',(825500.0,2775712.0)); -#7549=PATH_AREA_WITH_PARAMETERS('',#12445,#7543); -#7550=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET3-1',$,#7464, - #28,'NET3-1','definition usage',$,#7465,*,'',$,*,'',$,*,#17620,#7549); -#7551=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET3-1','',$,#34,#7465,'NET3-1', - '',$,#7550,*); -#7552=LAYER_CONNECTION_POINT('LAYER_1 R1-FO : 1','dependently located',#914,.U.); -#7553=CARTESIAN_POINT('',(1143000.0,2466340.0)); -#7554=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7550,.U.); -#7555=LAYER_CONNECTION_POINT('LAYER_1 U1-FO : 7','dependently located',#914,.U.); -#7556=CARTESIAN_POINT('',(825500.0,2775712.0)); -#7557=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7550,.U.); -#7558=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7550,.U.,'',$,#7554,#7557); -#7559=POLYLINE('centreline',(#7560,#7561,#7562)); -#7560=CARTESIAN_POINT('',(825500.0,2212340.0)); -#7561=CARTESIAN_POINT('',(1143000.0,2212340.0)); -#7562=CARTESIAN_POINT('',(1143000.0,2466340.0)); -#7563=PATH_AREA_WITH_PARAMETERS('',#12446,#7559); -#7564=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET3-0',$,#7482, - #28,'NET3-0','definition usage',$,#7483,*,'',$,*,'',$,*,#17625,#7563); -#7565=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET3-0','',$,#34,#7483,'NET3-0', - '',$,#7564,*); -#7566=LAYER_CONNECTION_POINT('LAYER_1 R2-FO : 1','dependently located',#914,.U.); -#7567=CARTESIAN_POINT('',(825500.0,2212340.0)); -#7568=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7564,.U.); -#7569=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7564,.U.); -#7570=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7564,.U.,'',$,#7568,#7569); -#7571=STRATUM_FEATURE('3','conductor',#914,.U.); -#7572=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7573=PHYSICAL_NETWORK('net3','routed physical network',#34,.U.); -#7574=CARTESIAN_POINT('',(706755.0000880014,2643631.994931558)); -#7575=LAYER_CONNECTION_POINT('tracktotrack2','explicitly located',#914,.U.); -#7576=POLYLINE('centreline',(#7577,#7578,#7579,#7580)); -#7577=CARTESIAN_POINT('',(697230.0,2641600.0)); -#7578=CARTESIAN_POINT('',(697230.0,2502535.0)); -#7579=CARTESIAN_POINT('',(368300.0,2502535.0)); -#7580=CARTESIAN_POINT('',(368300.0,2489200.0)); -#7581=PATH_AREA_WITH_PARAMETERS('',#12446,#7576); -#7582=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET6-1',$,#7482, - #28,'NET6-1','definition usage',$,#7483,*,'',$,*,'',$,*,#17630,#7581); -#7583=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET6-1','',$,#34,#7483,'NET6-1', - '',$,#7582,*); -#7584=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7582,.U.); -#7585=LAYER_CONNECTION_POINT('LAYER_1 C2-FO : 1','dependently located',#914,.U.); -#7586=CARTESIAN_POINT('',(368300.0,2489200.0)); -#7587=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7582,.U.); -#7588=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7582,.U.,'',$,#7584,#7587); -#7589=POLYLINE('centreline',(#7590,#7591,#7592)); -#7590=CARTESIAN_POINT('',(825500.0,2645664.0)); -#7591=CARTESIAN_POINT('',(697230.0,2645664.0)); -#7592=CARTESIAN_POINT('',(697230.0,2641600.0)); -#7593=PATH_AREA_WITH_PARAMETERS('',#12445,#7589); -#7594=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET6-0',$,#7464, - #28,'NET6-0','definition usage',$,#7465,*,'',$,*,'',$,*,#17635,#7593); -#7595=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET6-0','',$,#34,#7465,'NET6-0', - '',$,#7594,*); -#7596=LAYER_CONNECTION_POINT('LAYER_1 U1-FO : 5','dependently located',#914,.U.); -#7597=CARTESIAN_POINT('',(825500.0,2645664.0)); -#7598=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7594,.U.); -#7599=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7594,.U.); -#7600=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7594,.U.,'',$,#7598,#7599); -#7601=STRATUM_FEATURE('4','conductor',#914,.U.); -#7602=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7603=PHYSICAL_NETWORK('net6','routed physical network',#34,.U.); -#7604=POLYLINE('centreline',(#7605,#7606,#7607,#7608,#7609,#7610)); -#7605=CARTESIAN_POINT('',(829310.0,1587500.0)); -#7606=CARTESIAN_POINT('',(829310.0,1841500.0)); -#7607=CARTESIAN_POINT('',(254000.0,1841500.0)); -#7608=CARTESIAN_POINT('',(139700.0,1955800.0)); -#7609=CARTESIAN_POINT('',(0.0,1955800.0)); -#7610=CARTESIAN_POINT('',(0.0,1778000.0)); -#7611=PATH_AREA_WITH_PARAMETERS('',#12446,#7604); -#7612=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET9-0',$,#7482, - #28,'NET9-0','definition usage',$,#7483,*,'',$,*,'',$,*,#17640,#7611); -#7613=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET9-0','',$,#34,#7483,'NET9-0', - '',$,#7612,*); -#7614=LAYER_CONNECTION_POINT('LAYER_2 R6-FO : 2','dependently located',#910,.U.); -#7615=CARTESIAN_POINT('',(829310.0,1587500.0)); -#7616=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7612,.U.); -#7617=LAYER_CONNECTION_POINT('LAYER_2 E5','dependently located',#910,.U.); -#7618=CARTESIAN_POINT('',(0.0,1778000.0)); -#7619=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7612,.U.); -#7620=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7612,.U.,'',$,#7616,#7619); -#7621=STRATUM_FEATURE('5','conductor',#910,.U.); -#7622=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7623=PHYSICAL_NETWORK('net9','routed physical network',#34,.U.); -#7624=POLYLINE('centreline',(#7625,#7626,#7627,#7628,#7629,#7630)); -#7625=CARTESIAN_POINT('',(829310.0,2349500.0)); -#7626=CARTESIAN_POINT('',(825500.0,2349500.0)); -#7627=CARTESIAN_POINT('',(825500.0,2616200.0)); -#7628=CARTESIAN_POINT('',(114935.0,2616200.0)); -#7629=CARTESIAN_POINT('',(0.0,2501265.0)); -#7630=CARTESIAN_POINT('',(0.0,2222500.0)); -#7631=PATH_AREA_WITH_PARAMETERS('',#12446,#7624); -#7632=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET10-0',$,#7482, - #28,'NET10-0','definition usage',$,#7483,*,'',$,*,'',$,*,#17645,#7631); -#7633=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET10-0','',$,#34,#7483,'NET10-0', - '',$,#7632,*); -#7634=LAYER_CONNECTION_POINT('LAYER_2 R5-FO : 2','dependently located',#910,.U.); -#7635=CARTESIAN_POINT('',(829310.0,2349500.0)); -#7636=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7632,.U.); -#7637=LAYER_CONNECTION_POINT('LAYER_2 E4','dependently located',#910,.U.); -#7638=CARTESIAN_POINT('',(0.0,2222500.0)); -#7639=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7632,.U.); -#7640=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7632,.U.,'',$,#7636,#7639); -#7641=STRATUM_FEATURE('6','conductor',#910,.U.); -#7642=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7643=PHYSICAL_NETWORK('net10','routed physical network',#34,.U.); -#7644=POLYLINE('centreline',(#7645,#7646,#7647,#7648,#7649)); -#7645=CARTESIAN_POINT('',(829310.0,3746501.0)); -#7646=CARTESIAN_POINT('',(829310.0,4064000.0)); -#7647=CARTESIAN_POINT('',(-12700.0,4064000.0)); -#7648=CARTESIAN_POINT('',(-12700.0,3810000.0)); -#7649=CARTESIAN_POINT('',(0.0,3810000.0)); -#7650=PATH_AREA_WITH_PARAMETERS('',#12446,#7644); -#7651=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET12-0',$,#7482, - #28,'NET12-0','definition usage',$,#7483,*,'',$,*,'',$,*,#17650,#7650); -#7652=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET12-0','',$,#34,#7483,'NET12-0', - '',$,#7651,*); -#7653=LAYER_CONNECTION_POINT('LAYER_2 R3-FO : 2','dependently located',#910,.U.); -#7654=CARTESIAN_POINT('',(829310.0,3746501.0)); -#7655=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7651,.U.); -#7656=LAYER_CONNECTION_POINT('LAYER_2 E1','dependently located',#910,.U.); -#7657=CARTESIAN_POINT('',(0.0,3810000.0)); -#7658=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7651,.U.); -#7659=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7651,.U.,'',$,#7655,#7658); -#7660=STRATUM_FEATURE('7','conductor',#910,.U.); -#7661=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7662=PHYSICAL_NETWORK('net12','routed physical network',#34,.U.); -#7663=POLYLINE('centreline',(#7664,#7665,#7666,#7667)); -#7664=CARTESIAN_POINT('',(829310.0,3238501.0)); -#7665=CARTESIAN_POINT('',(829310.0,3162300.0)); -#7666=CARTESIAN_POINT('',(1016000.0,3162300.0)); -#7667=CARTESIAN_POINT('',(1016000.0,3302000.0)); -#7668=PATH_AREA_WITH_PARAMETERS('',#12446,#7663); -#7669=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET13-0',$,#7482, - #28,'NET13-0','definition usage',$,#7483,*,'',$,*,'',$,*,#17655,#7668); -#7670=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET13-0','',$,#34,#7483,'NET13-0', - '',$,#7669,*); -#7671=CARTESIAN_POINT('',(1016000.0,3302000.0)); -#7672=LAYER_CONNECTION_POINT('NET13-0 end','explicitly located',#910,.U.); -#7673=LAYER_CONNECTION_POINT('LAYER_2 R4-FO : 2','dependently located',#910,.U.); -#7674=CARTESIAN_POINT('',(829310.0,3238501.0)); -#7675=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7669,.U.); -#7676=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7669,.U.); -#7677=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7669,.U.,'',$,#7675,#7676); -#7678=STRATUM_FEATURE('8','conductor',#910,.U.); -#7679=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7680=POLYLINE('centreline',(#7681,#7682)); -#7681=CARTESIAN_POINT('',(1016000.0,3302000.0)); -#7682=CARTESIAN_POINT('',(0.0,3302000.0)); -#7683=PATH_AREA_WITH_PARAMETERS('',#12446,#7680); -#7684=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('NET13-1',$,#7482, - #28,'NET13-1','definition usage',$,#7483,*,'',$,*,'',$,*,#17660,#7683); -#7685=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('NET13-1','',$,#34,#7483,'NET13-1', - '',$,#7684,*); -#7686=CARTESIAN_POINT('',(1016000.0,3302000.0)); -#7687=LAYER_CONNECTION_POINT('NET13-1 start','explicitly located',#914,.U.); -#7688=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7684,.U.); -#7689=LAYER_CONNECTION_POINT('LAYER_1 E2','dependently located',#914,.U.); -#7690=CARTESIAN_POINT('',(0.0,3302000.0)); -#7691=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7684,.U.); -#7692=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7684,.U.,'',$,#7688,#7691); -#7693=STRATUM_FEATURE('9','conductor',#914,.U.); -#7694=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7695=PHYSICAL_NETWORK('net13','routed physical network',#34,.U.); -#7696=CARTESIAN_POINT('',(386079.9999862317,1828800.0)); -#7697=LAYER_CONNECTION_POINT('tracktotrack3','explicitly located',#914,.U.); -#7698=CARTESIAN_POINT('',(386080.0,1524000.0)); -#7699=LAYER_CONNECTION_POINT('tracktotrack4','explicitly located',#914,.U.); -#7700=CARTESIAN_POINT('',(386079.9999862317,1524000.0)); -#7701=LAYER_CONNECTION_POINT('tracktotrack5','explicitly located',#914,.U.); -#7702=CARTESIAN_POINT('',(386080.0,1828800.0)); -#7703=LAYER_CONNECTION_POINT('tracktotrack6','explicitly located',#914,.U.); -#7704=CARTESIAN_POINT('',(386080.0,2032000.0)); -#7705=LAYER_CONNECTION_POINT('tracktotrack7','explicitly located',#914,.U.); -#7706=CARTESIAN_POINT('',(386080.0,2032000.0)); -#7707=LAYER_CONNECTION_POINT('tracktotrack8','explicitly located',#914,.U.); -#7708=CARTESIAN_POINT('',(386079.9999862317,2032000.0)); -#7709=LAYER_CONNECTION_POINT('tracktotrack9','explicitly located',#914,.U.); -#7710=CARTESIAN_POINT('',(386080.0,1828800.0)); -#7711=LAYER_CONNECTION_POINT('tracktotrack10','explicitly located',#914,.U.); -#7712=CARTESIAN_POINT('',(386080.0,1524000.0)); -#7713=LAYER_CONNECTION_POINT('tracktotrack11','explicitly located',#914,.U.); -#7714=CARTESIAN_POINT('',(0.0,1524000.0)); -#7715=LAYER_CONNECTION_POINT('tracktotrack12','explicitly located',#914,.U.); -#7716=CARTESIAN_POINT('',(463550.00006883696,2949574.999894924)); -#7717=LAYER_CONNECTION_POINT('tracktotrack13','explicitly located',#914,.U.); -#7718=POLYLINE('centreline',(#7719,#7720,#7721,#7722,#7723)); -#7719=CARTESIAN_POINT('',(0.0,1524000.0)); -#7720=CARTESIAN_POINT('',(-190500.0,1524000.0)); -#7721=CARTESIAN_POINT('',(-190500.0,3048000.0)); -#7722=CARTESIAN_POINT('',(457200.0,3048000.0)); -#7723=CARTESIAN_POINT('',(457200.0,2959100.0)); -#7724=PATH_AREA_WITH_PARAMETERS('',#12446,#7718); -#7725=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-8', - $,#7482,#28,'ANALOG_GND-8','definition usage',$,#7483,*,'',$,*,'',$,*,#17665, - #7724); -#7726=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-8','',$,#34,#7483, - 'ANALOG_GND-8','',$,#7725,*); -#7727=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7725,.U.); -#7728=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7725,.U.); -#7729=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7725,.U.,'',$,#7727,#7728); -#7730=POLYLINE('centreline',(#7731,#7732)); -#7731=CARTESIAN_POINT('',(386080.0,1828800.0)); -#7732=CARTESIAN_POINT('',(609600.0,1828800.0)); -#7733=PATH_AREA_WITH_PARAMETERS('',#12446,#7730); -#7734=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-7', - $,#7482,#28,'ANALOG_GND-7','definition usage',$,#7483,*,'',$,*,'',$,*,#17670, - #7733); -#7735=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-7','',$,#34,#7483, - 'ANALOG_GND-7','',$,#7734,*); -#7736=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7734,.U.); -#7737=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7734,.U.); -#7738=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7734,.U.,'',$,#7736,#7737); -#7739=LAYER_CONNECTION_POINT('LAYER_1 C1-FO : 2','dependently located',#914,.U.); -#7740=CARTESIAN_POINT('',(609600.0,1828800.0)); -#7741=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #7734,.U.); -#7742=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7734,.U.,'',$,#7737,#7741); -#7743=POLYLINE('centreline',(#7744,#7745)); -#7744=CARTESIAN_POINT('',(386080.0,1828800.0)); -#7745=CARTESIAN_POINT('',(386080.0,2032000.0)); -#7746=PATH_AREA_WITH_PARAMETERS('',#12446,#7743); -#7747=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-3', - $,#7482,#28,'ANALOG_GND-3','definition usage',$,#7483,*,'',$,*,'',$,*,#17675, - #7746); -#7748=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-3','',$,#34,#7483, - 'ANALOG_GND-3','',$,#7747,*); -#7749=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7747,.U.); -#7750=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7747,.U.); -#7751=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7747,.U.,'',$,#7749,#7750); -#7752=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #7747,.U.); -#7753=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7747,.U.,'',$,#7750,#7752); -#7754=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #7747,.U.); -#7755=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7747,.U.,'',$,#7752,#7754); -#7756=POLYLINE('centreline',(#7757,#7758,#7759,#7760,#7761)); -#7757=CARTESIAN_POINT('',(609600.0,883921.0)); -#7758=CARTESIAN_POINT('',(850900.0,883921.0)); -#7759=CARTESIAN_POINT('',(850900.0,1460500.0)); -#7760=CARTESIAN_POINT('',(386080.0,1460500.0)); -#7761=CARTESIAN_POINT('',(386080.0,1524000.0)); -#7762=PATH_AREA_WITH_PARAMETERS('',#12446,#7756); -#7763=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-6', - $,#7482,#28,'ANALOG_GND-6','definition usage',$,#7483,*,'',$,*,'',$,*,#17680, - #7762); -#7764=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-6','',$,#34,#7483, - 'ANALOG_GND-6','',$,#7763,*); -#7765=LAYER_CONNECTION_POINT('LAYER_1 C3-FO : 2','dependently located',#914,.U.); -#7766=CARTESIAN_POINT('',(609600.0,883921.0)); -#7767=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7763,.U.); -#7768=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7763,.U.); -#7769=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7763,.U.,'',$,#7767,#7768); -#7770=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #7763,.U.); -#7771=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7763,.U.,'',$,#7768,#7770); -#7772=POLYLINE('centreline',(#7773,#7774,#7775)); -#7773=CARTESIAN_POINT('',(368300.0,2311400.0)); -#7774=CARTESIAN_POINT('',(386080.0,2311400.0)); -#7775=CARTESIAN_POINT('',(386080.0,2032000.0)); -#7776=PATH_AREA_WITH_PARAMETERS('',#12446,#7772); -#7777=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-5', - $,#7482,#28,'ANALOG_GND-5','definition usage',$,#7483,*,'',$,*,'',$,*,#17685, - #7776); -#7778=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-5','',$,#34,#7483, - 'ANALOG_GND-5','',$,#7777,*); -#7779=LAYER_CONNECTION_POINT('LAYER_1 C2-FO : 2','dependently located',#914,.U.); -#7780=CARTESIAN_POINT('',(368300.0,2311400.0)); -#7781=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7777,.U.); -#7782=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7777,.U.); -#7783=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7777,.U.,'',$,#7781,#7782); -#7784=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #7777,.U.); -#7785=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7777,.U.,'',$,#7782,#7784); -#7786=POLYLINE('centreline',(#7787,#7788)); -#7787=CARTESIAN_POINT('',(386080.0,1524000.0)); -#7788=CARTESIAN_POINT('',(386080.0,1828800.0)); -#7789=PATH_AREA_WITH_PARAMETERS('',#12446,#7786); -#7790=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-0', - $,#7482,#28,'ANALOG_GND-0','definition usage',$,#7483,*,'',$,*,'',$,*,#17690, - #7789); -#7791=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-0','',$,#34,#7483, - 'ANALOG_GND-0','',$,#7790,*); -#7792=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7790,.U.); -#7793=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7790,.U.); -#7794=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7790,.U.,'',$,#7792,#7793); -#7795=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #7790,.U.); -#7796=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7790,.U.,'',$,#7793,#7795); -#7797=LAMINATE_COMPONENT_FEATURE('4','conductive interconnect element terminal', - #7790,.U.); -#7798=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7790,.U.,'',$,#7795,#7797); -#7799=POLYLINE('centreline',(#7800,#7801,#7802)); -#7800=CARTESIAN_POINT('',(457200.0,2959100.0)); -#7801=CARTESIAN_POINT('',(469900.0,2959100.0)); -#7802=CARTESIAN_POINT('',(469900.0,2840736.0)); -#7803=PATH_AREA_WITH_PARAMETERS('',#12445,#7799); -#7804=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-9', - $,#7464,#28,'ANALOG_GND-9','definition usage',$,#7465,*,'',$,*,'',$,*,#17695, - #7803); -#7805=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-9','',$,#34,#7465, - 'ANALOG_GND-9','',$,#7804,*); -#7806=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7804,.U.); -#7807=LAYER_CONNECTION_POINT('LAYER_1 U1-FO : 1','dependently located',#914,.U.); -#7808=CARTESIAN_POINT('',(469900.0,2840736.0)); -#7809=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7804,.U.); -#7810=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7804,.U.,'',$,#7806,#7809); -#7811=POLYLINE('centreline',(#7812,#7813)); -#7812=CARTESIAN_POINT('',(254000.0,2032000.0)); -#7813=CARTESIAN_POINT('',(386080.0,2032000.0)); -#7814=PATH_AREA_WITH_PARAMETERS('',#12446,#7811); -#7815=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-2', - $,#7482,#28,'ANALOG_GND-2','definition usage',$,#7483,*,'',$,*,'',$,*,#17700, - #7814); -#7816=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-2','',$,#34,#7483, - 'ANALOG_GND-2','',$,#7815,*); -#7817=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7815,.U.); -#7818=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7815,.U.); -#7819=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7815,.U.,'',$,#7817,#7818); -#7820=POLYLINE('centreline',(#7821,#7822,#7823,#7824,#7825)); -#7821=CARTESIAN_POINT('',(0.0,762000.0)); -#7822=CARTESIAN_POINT('',(177800.0,762000.0)); -#7823=CARTESIAN_POINT('',(177800.0,889000.0)); -#7824=CARTESIAN_POINT('',(609600.0,889000.0)); -#7825=CARTESIAN_POINT('',(609600.0,883921.0)); -#7826=PATH_AREA_WITH_PARAMETERS('',#12446,#7820); -#7827=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-12', - $,#7482,#28,'ANALOG_GND-12','definition usage',$,#7483,*,'',$,*,'',$,*,#17705, - #7826); -#7828=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-12','',$,#34,#7483, - 'ANALOG_GND-12','',$,#7827,*); -#7829=LAYER_CONNECTION_POINT('LAYER_1 E7','dependently located',#914,.U.); -#7830=CARTESIAN_POINT('',(0.0,762000.0)); -#7831=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7827,.U.); -#7832=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7827,.U.); -#7833=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7827,.U.,'',$,#7831,#7832); -#7834=POLYLINE('centreline',(#7835,#7836)); -#7835=CARTESIAN_POINT('',(386080.0,1524000.0)); -#7836=CARTESIAN_POINT('',(0.0,1524000.0)); -#7837=PATH_AREA_WITH_PARAMETERS('',#12446,#7834); -#7838=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-4', - $,#7482,#28,'ANALOG_GND-4','definition usage',$,#7483,*,'',$,*,'',$,*,#17710, - #7837); -#7839=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-4','',$,#34,#7483, - 'ANALOG_GND-4','',$,#7838,*); -#7840=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7838,.U.); -#7841=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7838,.U.); -#7842=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7838,.U.,'',$,#7840,#7841); -#7843=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #7838,.U.); -#7844=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7838,.U.,'',$,#7841,#7843); -#7845=STRATUM_FEATURE('10','conductor',#914,.U.); -#7846=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7847=POLYLINE('centreline',(#7848,#7849,#7850,#7851,#7852)); -#7848=CARTESIAN_POINT('',(212090.0,2349500.0)); -#7849=CARTESIAN_POINT('',(203200.0,2349500.0)); -#7850=CARTESIAN_POINT('',(203200.0,2129155.0)); -#7851=CARTESIAN_POINT('',(254000.0,2129155.0)); -#7852=CARTESIAN_POINT('',(254000.0,2032000.0)); -#7853=PATH_AREA_WITH_PARAMETERS('',#12446,#7847); -#7854=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-1', - $,#7482,#28,'ANALOG_GND-1','definition usage',$,#7483,*,'',$,*,'',$,*,#17715, - #7853); -#7855=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-1','',$,#34,#7483, - 'ANALOG_GND-1','',$,#7854,*); -#7856=CARTESIAN_POINT('',(254000.0,2032000.0)); -#7857=LAYER_CONNECTION_POINT('ANALOG_GND-1 end','explicitly located',#910,.U.); -#7858=LAYER_CONNECTION_POINT('LAYER_2 R5-FO : 1','dependently located',#910,.U.); -#7859=CARTESIAN_POINT('',(212090.0,2349500.0)); -#7860=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7854,.U.); -#7861=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7854,.U.); -#7862=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7854,.U.,'',$,#7860,#7861); -#7863=STRATUM_FEATURE('11','conductor',#910,.U.); -#7864=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7865=POLYLINE('centreline',(#7866,#7867,#7868)); -#7866=CARTESIAN_POINT('',(212090.0,1587500.0)); -#7867=CARTESIAN_POINT('',(148590.0,1524000.0)); -#7868=CARTESIAN_POINT('',(0.0,1524000.0)); -#7869=PATH_AREA_WITH_PARAMETERS('',#12446,#7865); -#7870=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('ANALOG_GND-10', - $,#7482,#28,'ANALOG_GND-10','definition usage',$,#7483,*,'',$,*,'',$,*,#17720, - #7869); -#7871=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('ANALOG_GND-10','',$,#34,#7483, - 'ANALOG_GND-10','',$,#7870,*); -#7872=CARTESIAN_POINT('',(0.0,1524000.0)); -#7873=LAYER_CONNECTION_POINT('ANALOG_GND-10 end','explicitly located',#910,.U.); -#7874=LAYER_CONNECTION_POINT('LAYER_2 R6-FO : 1','dependently located',#910,.U.); -#7875=CARTESIAN_POINT('',(212090.0,1587500.0)); -#7876=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7870,.U.); -#7877=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7870,.U.); -#7878=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7870,.U.,'',$,#7876,#7877); -#7879=STRATUM_FEATURE('12','conductor',#910,.U.); -#7880=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7881=PHYSICAL_NETWORK('analog_gnd','routed physical network',#34,.U.); -#7882=CARTESIAN_POINT('',(254000.0000041304,2806700.0)); -#7883=LAYER_CONNECTION_POINT('tracktotrack14','explicitly located',#910,.U.); -#7884=CARTESIAN_POINT('',(1016000.0,2806700.0)); -#7885=LAYER_CONNECTION_POINT('tracktotrack15','explicitly located',#910,.U.); -#7886=CARTESIAN_POINT('',(1015999.9999862312,2806700.0)); -#7887=LAYER_CONNECTION_POINT('tracktotrack16','explicitly located',#910,.U.); -#7888=CARTESIAN_POINT('',(1016000.0,2806700.0)); -#7889=LAYER_CONNECTION_POINT('tracktotrack17','explicitly located',#910,.U.); -#7890=CARTESIAN_POINT('',(1133474.9999281925,2842767.994931558)); -#7891=LAYER_CONNECTION_POINT('tracktotrack18','explicitly located',#914,.U.); -#7892=POLYLINE('centreline',(#7893,#7894,#7895)); -#7893=CARTESIAN_POINT('',(212090.0,3238501.0)); -#7894=CARTESIAN_POINT('',(254000.0,3238501.0)); -#7895=CARTESIAN_POINT('',(254000.0,2806700.0)); -#7896=PATH_AREA_WITH_PARAMETERS('',#12446,#7892); -#7897=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('9V-0',$,#7482, - #28,'9V-0','definition usage',$,#7483,*,'',$,*,'',$,*,#17725,#7896); -#7898=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('9V-0','',$,#34,#7483,'9V-0','', - $,#7897,*); -#7899=LAYER_CONNECTION_POINT('LAYER_2 R4-FO : 1','dependently located',#910,.U.); -#7900=CARTESIAN_POINT('',(212090.0,3238501.0)); -#7901=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7897,.U.); -#7902=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7897,.U.); -#7903=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7897,.U.,'',$,#7901,#7902); -#7904=POLYLINE('centreline',(#7905,#7906)); -#7905=CARTESIAN_POINT('',(254000.0,2806700.0)); -#7906=CARTESIAN_POINT('',(1016000.0,2806700.0)); -#7907=PATH_AREA_WITH_PARAMETERS('',#12446,#7904); -#7908=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('9V-4',$,#7482, - #28,'9V-4','definition usage',$,#7483,*,'',$,*,'',$,*,#17730,#7907); -#7909=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('9V-4','',$,#34,#7483,'9V-4','', - $,#7908,*); -#7910=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7908,.U.); -#7911=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7908,.U.); -#7912=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7908,.U.,'',$,#7910,#7911); -#7913=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #7908,.U.); -#7914=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7908,.U.,'',$,#7911,#7913); -#7915=POLYLINE('centreline',(#7916,#7917)); -#7916=CARTESIAN_POINT('',(212090.0,3746501.0)); -#7917=CARTESIAN_POINT('',(212090.0,3238501.0)); -#7918=PATH_AREA_WITH_PARAMETERS('',#12446,#7915); -#7919=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('9V-1',$,#7482, - #28,'9V-1','definition usage',$,#7483,*,'',$,*,'',$,*,#17735,#7918); -#7920=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('9V-1','',$,#34,#7483,'9V-1','', - $,#7919,*); -#7921=LAYER_CONNECTION_POINT('LAYER_2 R3-FO : 1','dependently located',#910,.U.); -#7922=CARTESIAN_POINT('',(212090.0,3746501.0)); -#7923=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7919,.U.); -#7924=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7919,.U.); -#7925=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7919,.U.,'',$,#7923,#7924); -#7926=POLYLINE('centreline',(#7927,#7928,#7929)); -#7927=CARTESIAN_POINT('',(1143000.0,2840736.0)); -#7928=CARTESIAN_POINT('',(1016000.0,2840736.0)); -#7929=CARTESIAN_POINT('',(1016000.0,2806700.0)); -#7930=PATH_AREA_WITH_PARAMETERS('',#12446,#7926); -#7931=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('9V-3',$,#7482, - #28,'9V-3','definition usage',$,#7483,*,'',$,*,'',$,*,#17740,#7930); -#7932=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('9V-3','',$,#34,#7483,'9V-3','', - $,#7931,*); -#7933=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7931,.U.); -#7934=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7931,.U.); -#7935=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7931,.U.,'',$,#7933,#7934); -#7936=POLYLINE('centreline',(#7937,#7938,#7939)); -#7937=CARTESIAN_POINT('',(0.0,1270000.0)); -#7938=CARTESIAN_POINT('',(1016000.0,1270000.0)); -#7939=CARTESIAN_POINT('',(1016000.0,2806700.0)); -#7940=PATH_AREA_WITH_PARAMETERS('',#12446,#7936); -#7941=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('9V-9',$,#7482, - #28,'9V-9','definition usage',$,#7483,*,'',$,*,'',$,*,#17745,#7940); -#7942=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('9V-9','',$,#34,#7483,'9V-9','', - $,#7941,*); -#7943=LAYER_CONNECTION_POINT('LAYER_2 E6','dependently located',#910,.U.); -#7944=CARTESIAN_POINT('',(0.0,1270000.0)); -#7945=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7941,.U.); -#7946=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7941,.U.); -#7947=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7941,.U.,'',$,#7945,#7946); -#7948=LAMINATE_COMPONENT_FEATURE('3','conductive interconnect element terminal', - #7941,.U.); -#7949=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7941,.U.,'',$,#7946,#7948); -#7950=STRATUM_FEATURE('13','conductor',#910,.U.); -#7951=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7952=POLYLINE('centreline',(#7953,#7954,#7955)); -#7953=CARTESIAN_POINT('',(254000.0,2806700.0)); -#7954=CARTESIAN_POINT('',(254000.0,2645664.0)); -#7955=CARTESIAN_POINT('',(469900.0,2645664.0)); -#7956=PATH_AREA_WITH_PARAMETERS('',#12445,#7952); -#7957=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('9V-6',$,#7464, - #28,'9V-6','definition usage',$,#7465,*,'',$,*,'',$,*,#17750,#7956); -#7958=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('9V-6','',$,#34,#7465,'9V-6','', - $,#7957,*); -#7959=CARTESIAN_POINT('',(254000.0,2806700.0)); -#7960=LAYER_CONNECTION_POINT('9V-6 start','explicitly located',#914,.U.); -#7961=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7957,.U.); -#7962=LAYER_CONNECTION_POINT('LAYER_1 U1-FO : 4','dependently located',#914,.U.); -#7963=CARTESIAN_POINT('',(469900.0,2645664.0)); -#7964=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7957,.U.); -#7965=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7957,.U.,'',$,#7961,#7964); -#7966=STRATUM_FEATURE('14','conductor',#914,.U.); -#7967=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7968=POLYLINE('centreline',(#7969,#7970,#7971,#7972)); -#7969=CARTESIAN_POINT('',(1143000.0,2840736.0)); -#7970=CARTESIAN_POINT('',(1143000.0,2844800.0)); -#7971=CARTESIAN_POINT('',(825500.0,2844800.0)); -#7972=CARTESIAN_POINT('',(825500.0,2840736.0)); -#7973=PATH_AREA_WITH_PARAMETERS('',#12445,#7968); -#7974=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('9V-7',$,#7464, - #28,'9V-7','definition usage',$,#7465,*,'',$,*,'',$,*,#17755,#7973); -#7975=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('9V-7','',$,#34,#7465,'9V-7','', - $,#7974,*); -#7976=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7974,.U.); -#7977=LAYER_CONNECTION_POINT('LAYER_1 U1-FO : 8','dependently located',#914,.U.); -#7978=CARTESIAN_POINT('',(825500.0,2840736.0)); -#7979=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7974,.U.); -#7980=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7974,.U.,'',$,#7976,#7979); -#7981=POLYLINE('centreline',(#7982,#7983)); -#7982=CARTESIAN_POINT('',(1143000.0,2613660.0)); -#7983=CARTESIAN_POINT('',(1143000.0,2840736.0)); -#7984=PATH_AREA_WITH_PARAMETERS('',#12446,#7981); -#7985=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('9V-8',$,#7482, - #28,'9V-8','definition usage',$,#7483,*,'',$,*,'',$,*,#17760,#7984); -#7986=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('9V-8','',$,#34,#7483,'9V-8','', - $,#7985,*); -#7987=LAYER_CONNECTION_POINT('LAYER_1 R1-FO : 2','dependently located',#914,.U.); -#7988=CARTESIAN_POINT('',(1143000.0,2613660.0)); -#7989=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #7985,.U.); -#7990=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #7985,.U.); -#7991=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#7985,.U.,'',$,#7989,#7990); -#7992=STRATUM_FEATURE('15','conductor',#914,.U.); -#7993=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#7994=POLYLINE('centreline',(#7995,#7996,#7997,#7998,#7999)); -#7995=CARTESIAN_POINT('',(609600.0,1198881.0)); -#7996=CARTESIAN_POINT('',(609600.0,1195705.0)); -#7997=CARTESIAN_POINT('',(266700.0,1195705.0)); -#7998=CARTESIAN_POINT('',(266700.0,1270000.0)); -#7999=CARTESIAN_POINT('',(0.0,1270000.0)); -#8000=PATH_AREA_WITH_PARAMETERS('',#12446,#7994); -#8001=CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS('9V-10',$,#7482, - #28,'9V-10','definition usage',$,#7483,*,'',$,*,'',$,*,#17765,#8000); -#8002=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('9V-10','',$,#34,#7483,'9V-10', - '',$,#8001,*); -#8003=LAYER_CONNECTION_POINT('LAYER_1 C3-FO : 1','dependently located',#914,.U.); -#8004=CARTESIAN_POINT('',(609600.0,1198881.0)); -#8005=LAMINATE_COMPONENT_FEATURE('1','conductive interconnect element terminal', - #8001,.U.); -#8006=LAYER_CONNECTION_POINT('LAYER_1 E6','dependently located',#914,.U.); -#8007=CARTESIAN_POINT('',(0.0,1270000.0)); -#8008=LAMINATE_COMPONENT_FEATURE('2','conductive interconnect element terminal', - #8001,.U.); -#8009=CONDUCTIVE_INTERCONNECT_ELEMENT_TERMINAL_LINK('',$,#8001,.U.,'',$,#8005,#8008); -#8010=STRATUM_FEATURE('16','conductor',#914,.U.); -#8011=JOIN_SHAPE_ASPECT('intra stratum join',$,#34,.U.); -#8012=JOIN_SHAPE_ASPECT('inter stratum join',$,#34,.U.); -#8013=PHYSICAL_NETWORK('9V','routed physical network',#34,.U.); -#8014=STRATUM_FEATURE('E1 SIGNAL_1',$,#914,.U.); -#8015=STRATUM_FEATURE('E2 SIGNAL_12',$,#910,.U.); -#8016=STRATUM_FEATURE('E3 SIGNAL_12',$,#910,.U.); -#8017=STRATUM_FEATURE('E4 SIGNAL_1',$,#914,.U.); -#8018=STRATUM_FEATURE('E5 SIGNAL_1',$,#914,.U.); -#8019=STRATUM_FEATURE('E7 SIGNAL_12',$,#910,.U.); -#8020=STRATUM_FEATURE('v023c043-1 SIGNAL_1',$,#914,.U.); -#8021=STRATUM_FEATURE('v023c043-1 SIGNAL_12',$,#910,.U.); -#8022=STRATUM_FEATURE('v023c043-2 SIGNAL_1',$,#914,.U.); -#8023=STRATUM_FEATURE('v023c043-2 SIGNAL_12',$,#910,.U.); -#8024=STRATUM_FEATURE('v023c043-3 SIGNAL_1',$,#914,.U.); -#8025=STRATUM_FEATURE('v023c043-3 SIGNAL_12',$,#910,.U.); -#8026=STRATUM_FEATURE('v023c043-4 SIGNAL_1',$,#914,.U.); -#8027=STRATUM_FEATURE('v023c043-4 SIGNAL_12',$,#910,.U.); -#8028=STRATUM_FEATURE('v023c043-5 SIGNAL_1',$,#914,.U.); -#8029=STRATUM_FEATURE('v023c043-5 SIGNAL_12',$,#910,.U.); -#8030=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#996,#8031),#35); -#8031=CSG_PRIMITIVE_SOLID_2D('',#8034); -#8032=CARTESIAN_POINT('',(-317500.0,-317500.0)); -#8033=AXIS2_PLACEMENT_2D('',#8032,$); -#8034=(COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM((#8035,#8037,#8039,#8044, - #8048,#8049,#8054,#8058,#8059,#8061,#8063,#8068,#8072,#8076,#8080,#8081,#8083))) - GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()RECTANGULAR_AREA(#8033,1905000.0,5080000.0) - REPRESENTATION_ITEM('')); -#8035=CIRCULAR_AREA('',#8036,253999.997864437); -#8036=CARTESIAN_POINT('',(0.0021355630306061357,-0.0021355630306061357)); -#8037=CIRCULAR_AREA('',#8038,253999.9678567232); -#8038=CARTESIAN_POINT('',(1270000.0321432787,-0.03214327883324586)); -#8039=CIRCULAR_AREA('',#8040,62230.0353862631); -#8040=CARTESIAN_POINT('',(-0.03538625303917797,1524000.0353862531)); -#8041=CARTESIAN_POINT('',(270510.0,1414780.0)); -#8042=AXIS2_PLACEMENT_2D('',#8041,#8043); -#8043=DIRECTION('',(6.123233995736766E-17,1.0)); -#8044=RECTANGULAR_AREA('',#8042,345440.0,116840.0); -#8045=CARTESIAN_POINT('',(887730.0,1414780.0)); -#8046=AXIS2_PLACEMENT_2D('',#8045,#8047); -#8047=DIRECTION('',(6.123233995736766E-17,1.0)); -#8048=RECTANGULAR_AREA('',#8046,345440.0,116840.0); -#8049=CIRCULAR_AREA('',#8050,62230.03038474826); -#8050=CARTESIAN_POINT('',(253999.96961525915,2032000.0303847408)); -#8051=CARTESIAN_POINT('',(270510.0,2176780.0)); -#8052=AXIS2_PLACEMENT_2D('',#8051,#8053); -#8053=DIRECTION('',(6.123233995736766E-17,1.0)); -#8054=RECTANGULAR_AREA('',#8052,345440.0,116840.0); -#8055=CARTESIAN_POINT('',(887730.0,2176780.0)); -#8056=AXIS2_PLACEMENT_2D('',#8055,#8057); -#8057=DIRECTION('',(6.123233995736766E-17,1.0)); -#8058=RECTANGULAR_AREA('',#8056,345440.0,116840.0); -#8059=CIRCULAR_AREA('',#8060,62229.95036427731); -#8060=CARTESIAN_POINT('',(254000.04963574247,2806699.9503642577)); -#8061=CIRCULAR_AREA('',#8062,62229.99037540721); -#8062=CARTESIAN_POINT('',(1143000.0096245934,2840735.9903754066)); -#8063=CIRCULAR_AREA('',#8064,62229.990374709); -#8064=CARTESIAN_POINT('',(1016000.0096252917,3301999.990374708)); -#8065=CARTESIAN_POINT('',(270510.0,3065781.0)); -#8066=AXIS2_PLACEMENT_2D('',#8065,#8067); -#8067=DIRECTION('',(6.123233995736766E-17,1.0)); -#8068=RECTANGULAR_AREA('',#8066,345440.0,116840.0); -#8069=CARTESIAN_POINT('',(887730.0,3065781.0)); -#8070=AXIS2_PLACEMENT_2D('',#8069,#8071); -#8071=DIRECTION('',(6.123233995736766E-17,1.0)); -#8072=RECTANGULAR_AREA('',#8070,345440.0,116840.0); -#8073=CARTESIAN_POINT('',(270510.0,3573781.0)); -#8074=AXIS2_PLACEMENT_2D('',#8073,#8075); -#8075=DIRECTION('',(6.123233995736766E-17,1.0)); -#8076=RECTANGULAR_AREA('',#8074,345440.0,116840.0); -#8077=CARTESIAN_POINT('',(887730.0,3573781.0)); -#8078=AXIS2_PLACEMENT_2D('',#8077,#8079); -#8079=DIRECTION('',(6.123233995736766E-17,1.0)); -#8080=RECTANGULAR_AREA('',#8078,345440.0,116840.0); -#8081=CIRCULAR_AREA('',#8082,253999.88783612745); -#8082=CARTESIAN_POINT('',(0.11216389731271192,4444999.887836102)); -#8083=CIRCULAR_AREA('',#8084,253999.85782821916); -#8084=CARTESIAN_POINT('',(1270000.1421718206,4444999.857828179)); -#8085=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for SOLDER_MASK_2 piece 1',$,#988, - #28)PRODUCT_DEFINITION_RELATIONSHIP('base for SOLDER_MASK_2 piece 1','definition usage', - $,#992,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for SOLDER_MASK_2 piece 1', - $,#908,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#8086=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_2 piece 1', - '',$,#34,#992,'base for SOLDER_MASK_2 piece 1','',$,#8085,*); -#8087=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#996,#8088),#35); -#8088=CSG_PRIMITIVE_SOLID_2D('',#8091); -#8089=CARTESIAN_POINT('',(-317500.0,-317500.0)); -#8090=AXIS2_PLACEMENT_2D('',#8089,$); -#8091=(COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM((#8095,#8099,#8103,#8107, - #8111,#8115,#8119,#8123,#8127,#8131,#8135,#8139,#8143,#8147,#8151,#8155,#8159, - #8163)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()RECTANGULAR_AREA(#8090,1905000.0,5080000.0) - REPRESENTATION_ITEM('')); -#8092=CARTESIAN_POINT('',(744220.0,800101.0)); -#8093=AXIS2_PLACEMENT_2D('',#8092,#8094); -#8094=DIRECTION('',(6.123233995736766E-17,1.0)); -#8095=RECTANGULAR_AREA('',#8093,167640.0,269240.0); -#8096=CARTESIAN_POINT('',(744220.0,1115061.0)); -#8097=AXIS2_PLACEMENT_2D('',#8096,#8098); -#8098=DIRECTION('',(6.123233995736766E-17,1.0)); -#8099=RECTANGULAR_AREA('',#8097,167640.0,269240.0); -#8100=CARTESIAN_POINT('',(683260.0,1772920.0)); -#8101=AXIS2_PLACEMENT_2D('',#8100,#8102); -#8102=DIRECTION('',(6.123233995736766E-17,1.0)); -#8103=RECTANGULAR_AREA('',#8101,111760.0,147320.0); -#8104=CARTESIAN_POINT('',(683260.0,1950720.0)); -#8105=AXIS2_PLACEMENT_2D('',#8104,#8106); -#8106=DIRECTION('',(6.123233995736766E-17,1.0)); -#8107=RECTANGULAR_AREA('',#8105,111760.0,147320.0); -#8108=CARTESIAN_POINT('',(871220.0,2171700.0)); -#8109=AXIS2_PLACEMENT_2D('',#8108,#8110); -#8110=DIRECTION('',(6.123233995736766E-17,1.0)); -#8111=RECTANGULAR_AREA('',#8109,81280.0,91440.0); -#8112=CARTESIAN_POINT('',(441960.0,2255520.0)); -#8113=AXIS2_PLACEMENT_2D('',#8112,#8114); -#8114=DIRECTION('',(6.123233995736766E-17,1.0)); -#8115=RECTANGULAR_AREA('',#8113,111760.0,147320.0); -#8116=CARTESIAN_POINT('',(871220.0,2319020.0)); -#8117=AXIS2_PLACEMENT_2D('',#8116,#8118); -#8118=DIRECTION('',(6.123233995736766E-17,1.0)); -#8119=RECTANGULAR_AREA('',#8117,81280.0,91440.0); -#8120=CARTESIAN_POINT('',(1188720.0,2425700.0)); -#8121=AXIS2_PLACEMENT_2D('',#8120,#8122); -#8122=DIRECTION('',(6.123233995736766E-17,1.0)); -#8123=RECTANGULAR_AREA('',#8121,81280.0,91440.0); -#8124=CARTESIAN_POINT('',(441960.0,2433320.0)); -#8125=AXIS2_PLACEMENT_2D('',#8124,#8126); -#8126=DIRECTION('',(6.123233995736766E-17,1.0)); -#8127=RECTANGULAR_AREA('',#8125,111760.0,147320.0); -#8128=CARTESIAN_POINT('',(1188720.0,2573020.0)); -#8129=AXIS2_PLACEMENT_2D('',#8128,#8130); -#8130=DIRECTION('',(6.123233995736766E-17,1.0)); -#8131=RECTANGULAR_AREA('',#8129,81280.0,91440.0); -#8132=CARTESIAN_POINT('',(539750.0,2620264.0)); -#8133=AXIS2_PLACEMENT_2D('',#8132,#8134); -#8134=DIRECTION('',(6.123233995736766E-17,1.0)); -#8135=RECTANGULAR_AREA('',#8133,50800.0,139700.0); -#8136=CARTESIAN_POINT('',(895350.0,2620264.0)); -#8137=AXIS2_PLACEMENT_2D('',#8136,#8138); -#8138=DIRECTION('',(6.123233995736766E-17,1.0)); -#8139=RECTANGULAR_AREA('',#8137,50800.0,139700.0); -#8140=CARTESIAN_POINT('',(539750.0,2685288.0)); -#8141=AXIS2_PLACEMENT_2D('',#8140,#8142); -#8142=DIRECTION('',(6.123233995736766E-17,1.0)); -#8143=RECTANGULAR_AREA('',#8141,50800.0,139700.0); -#8144=CARTESIAN_POINT('',(895350.0,2685288.0)); -#8145=AXIS2_PLACEMENT_2D('',#8144,#8146); -#8146=DIRECTION('',(6.123233995736766E-17,1.0)); -#8147=RECTANGULAR_AREA('',#8145,50800.0,139700.0); -#8148=CARTESIAN_POINT('',(539750.0,2750312.0)); -#8149=AXIS2_PLACEMENT_2D('',#8148,#8150); -#8150=DIRECTION('',(6.123233995736766E-17,1.0)); -#8151=RECTANGULAR_AREA('',#8149,50800.0,139700.0); -#8152=CARTESIAN_POINT('',(895350.0,2750312.0)); -#8153=AXIS2_PLACEMENT_2D('',#8152,#8154); -#8154=DIRECTION('',(6.123233995736766E-17,1.0)); -#8155=RECTANGULAR_AREA('',#8153,50800.0,139700.0); -#8156=CARTESIAN_POINT('',(539750.0,2815336.0)); -#8157=AXIS2_PLACEMENT_2D('',#8156,#8158); -#8158=DIRECTION('',(6.123233995736766E-17,1.0)); -#8159=RECTANGULAR_AREA('',#8157,50800.0,139700.0); -#8160=CARTESIAN_POINT('',(895350.0,2815336.0)); -#8161=AXIS2_PLACEMENT_2D('',#8160,#8162); -#8162=DIRECTION('',(6.123233995736766E-17,1.0)); -#8163=RECTANGULAR_AREA('',#8161,50800.0,139700.0); -#8164=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for PASTE_MASK_1 piece 1',$,#988, - #28)PRODUCT_DEFINITION_RELATIONSHIP('base for PASTE_MASK_1 piece 1','definition usage', - $,#992,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for PASTE_MASK_1 piece 1', - $,#920,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#8165=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_1 piece 1', - '',$,#34,#992,'base for PASTE_MASK_1 piece 1','',$,#8164,*); -#8166=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#996,#8167),#35); -#8167=CSG_PRIMITIVE_SOLID_2D('',#8170); -#8168=CARTESIAN_POINT('',(-317500.0,-317500.0)); -#8169=AXIS2_PLACEMENT_2D('',#8168,$); -#8170=(COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM((#8171,#8173,#8178,#8182, - #8183,#8188,#8192,#8193,#8198,#8202,#8206,#8210,#8214,#8218,#8219,#8224,#8228, - #8229,#8231,#8233,#8235)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()RECTANGULAR_AREA(#8169,1905000.0,5080000.0) - REPRESENTATION_ITEM('')); -#8171=CIRCULAR_AREA('',#8172,253999.997864437); -#8172=CARTESIAN_POINT('',(0.0021355630306061357,-0.0021355630306061357)); -#8173=CIRCULAR_AREA('',#8174,253999.9678567232); -#8174=CARTESIAN_POINT('',(1270000.0321432787,-0.03214327883324586)); -#8175=CARTESIAN_POINT('',(751840.0,792481.0)); -#8176=AXIS2_PLACEMENT_2D('',#8175,#8177); -#8177=DIRECTION('',(6.123233995736766E-17,1.0)); -#8178=RECTANGULAR_AREA('',#8176,182880.0,284480.0); -#8179=CARTESIAN_POINT('',(751840.0,1107441.0)); -#8180=AXIS2_PLACEMENT_2D('',#8179,#8181); -#8181=DIRECTION('',(6.123233995736766E-17,1.0)); -#8182=RECTANGULAR_AREA('',#8180,182880.0,284480.0); -#8183=CIRCULAR_AREA('',#8184,62230.0353862631); -#8184=CARTESIAN_POINT('',(-0.03538625303917797,1524000.0353862531)); -#8185=CARTESIAN_POINT('',(690880.0,1765300.0)); -#8186=AXIS2_PLACEMENT_2D('',#8185,#8187); -#8187=DIRECTION('',(6.123233995736766E-17,1.0)); -#8188=RECTANGULAR_AREA('',#8186,127000.0,162560.0); -#8189=CARTESIAN_POINT('',(690880.0,1943100.0)); -#8190=AXIS2_PLACEMENT_2D('',#8189,#8191); -#8191=DIRECTION('',(6.123233995736766E-17,1.0)); -#8192=RECTANGULAR_AREA('',#8190,127000.0,162560.0); -#8193=CIRCULAR_AREA('',#8194,62230.03038474826); -#8194=CARTESIAN_POINT('',(253999.96961525915,2032000.0303847408)); -#8195=CARTESIAN_POINT('',(878840.0,2164080.0)); -#8196=AXIS2_PLACEMENT_2D('',#8195,#8197); -#8197=DIRECTION('',(6.123233995736766E-17,1.0)); -#8198=RECTANGULAR_AREA('',#8196,96520.0,106680.0); -#8199=CARTESIAN_POINT('',(449580.0,2247900.0)); -#8200=AXIS2_PLACEMENT_2D('',#8199,#8201); -#8201=DIRECTION('',(6.123233995736766E-17,1.0)); -#8202=RECTANGULAR_AREA('',#8200,127000.0,162560.0); -#8203=CARTESIAN_POINT('',(878840.0,2311400.0)); -#8204=AXIS2_PLACEMENT_2D('',#8203,#8205); -#8205=DIRECTION('',(6.123233995736766E-17,1.0)); -#8206=RECTANGULAR_AREA('',#8204,96520.0,106680.0); -#8207=CARTESIAN_POINT('',(1196340.0,2418080.0)); -#8208=AXIS2_PLACEMENT_2D('',#8207,#8209); -#8209=DIRECTION('',(6.123233995736766E-17,1.0)); -#8210=RECTANGULAR_AREA('',#8208,96520.0,106680.0); -#8211=CARTESIAN_POINT('',(449580.0,2425700.0)); -#8212=AXIS2_PLACEMENT_2D('',#8211,#8213); -#8213=DIRECTION('',(6.123233995736766E-17,1.0)); -#8214=RECTANGULAR_AREA('',#8212,127000.0,162560.0); -#8215=CARTESIAN_POINT('',(1196340.0,2565400.0)); -#8216=AXIS2_PLACEMENT_2D('',#8215,#8217); -#8217=DIRECTION('',(6.123233995736766E-17,1.0)); -#8218=RECTANGULAR_AREA('',#8216,96520.0,106680.0); -#8219=CIRCULAR_AREA('',#8220,62229.95036427731); -#8220=CARTESIAN_POINT('',(254000.04963574247,2806699.9503642577)); -#8221=CARTESIAN_POINT('',(547370.0,2612644.0)); -#8222=AXIS2_PLACEMENT_2D('',#8221,#8223); -#8223=DIRECTION('',(6.123233995736766E-17,1.0)); -#8224=RECTANGULAR_AREA('',#8222,261112.0,154940.0); -#8225=CARTESIAN_POINT('',(902970.0,2612644.0)); -#8226=AXIS2_PLACEMENT_2D('',#8225,#8227); -#8227=DIRECTION('',(6.123233995736766E-17,1.0)); -#8228=RECTANGULAR_AREA('',#8226,261112.0,154940.0); -#8229=CIRCULAR_AREA('',#8230,62229.99037540721); -#8230=CARTESIAN_POINT('',(1143000.0096245934,2840735.9903754066)); -#8231=CIRCULAR_AREA('',#8232,62229.990374709); -#8232=CARTESIAN_POINT('',(1016000.0096252917,3301999.990374708)); -#8233=CIRCULAR_AREA('',#8234,253999.88783612745); -#8234=CARTESIAN_POINT('',(0.11216389731271192,4444999.887836102)); -#8235=CIRCULAR_AREA('',#8236,253999.85782821916); -#8236=CARTESIAN_POINT('',(1270000.1421718206,4444999.857828179)); -#8237=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for SOLDER_MASK_1 piece 1',$,#988, - #28)PRODUCT_DEFINITION_RELATIONSHIP('base for SOLDER_MASK_1 piece 1','definition usage', - $,#992,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for SOLDER_MASK_1 piece 1', - $,#916,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#8238=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for SOLDER_MASK_1 piece 1', - '',$,#34,#992,'base for SOLDER_MASK_1 piece 1','',$,#8237,*); -#8239=SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION('ppsm',(#996,#8240),#35); -#8240=CSG_PRIMITIVE_SOLID_2D('',#8243); -#8241=CARTESIAN_POINT('',(-317500.0,-317500.0)); -#8242=AXIS2_PLACEMENT_2D('',#8241,$); -#8243=(COMPOUND_REPRESENTATION_ITEM(SET_REPRESENTATION_ITEM((#8247,#8251,#8255,#8259, - #8263,#8267,#8271,#8275)))GEOMETRIC_REPRESENTATION_ITEM()PRIMITIVE_2D() - PRIMITIVE_2D_WITH_INNER_BOUNDARY()RECTANGULAR_AREA(#8242,1905000.0,5080000.0) - REPRESENTATION_ITEM('')); -#8244=CARTESIAN_POINT('',(262890.0,1422400.0)); -#8245=AXIS2_PLACEMENT_2D('',#8244,#8246); -#8246=DIRECTION('',(6.123233995736766E-17,1.0)); -#8247=RECTANGULAR_AREA('',#8245,330200.0,101600.0); -#8248=CARTESIAN_POINT('',(880110.0,1422400.0)); -#8249=AXIS2_PLACEMENT_2D('',#8248,#8250); -#8250=DIRECTION('',(6.123233995736766E-17,1.0)); -#8251=RECTANGULAR_AREA('',#8249,330200.0,101600.0); -#8252=CARTESIAN_POINT('',(262890.0,2184400.0)); -#8253=AXIS2_PLACEMENT_2D('',#8252,#8254); -#8254=DIRECTION('',(6.123233995736766E-17,1.0)); -#8255=RECTANGULAR_AREA('',#8253,330200.0,101600.0); -#8256=CARTESIAN_POINT('',(880110.0,2184400.0)); -#8257=AXIS2_PLACEMENT_2D('',#8256,#8258); -#8258=DIRECTION('',(6.123233995736766E-17,1.0)); -#8259=RECTANGULAR_AREA('',#8257,330200.0,101600.0); -#8260=CARTESIAN_POINT('',(262890.0,3073401.0)); -#8261=AXIS2_PLACEMENT_2D('',#8260,#8262); -#8262=DIRECTION('',(6.123233995736766E-17,1.0)); -#8263=RECTANGULAR_AREA('',#8261,330200.0,101600.0); -#8264=CARTESIAN_POINT('',(880110.0,3073401.0)); -#8265=AXIS2_PLACEMENT_2D('',#8264,#8266); -#8266=DIRECTION('',(6.123233995736766E-17,1.0)); -#8267=RECTANGULAR_AREA('',#8265,330200.0,101600.0); -#8268=CARTESIAN_POINT('',(262890.0,3581401.0)); -#8269=AXIS2_PLACEMENT_2D('',#8268,#8270); -#8270=DIRECTION('',(6.123233995736766E-17,1.0)); -#8271=RECTANGULAR_AREA('',#8269,330200.0,101600.0); -#8272=CARTESIAN_POINT('',(880110.0,3581401.0)); -#8273=AXIS2_PLACEMENT_2D('',#8272,#8274); -#8274=DIRECTION('',(6.123233995736766E-17,1.0)); -#8275=RECTANGULAR_AREA('',#8273,330200.0,101600.0); -#8276=(AREA_COMPONENT()ASSEMBLY_COMPONENT()COMPONENT_DEFINITION() - LAMINATE_COMPONENT()PRODUCT_DEFINITION('base for PASTE_MASK_2 piece 1',$,#988, - #28)PRODUCT_DEFINITION_RELATIONSHIP('base for PASTE_MASK_2 piece 1','definition usage', - $,#992,*)PRODUCT_DEFINITION_SHAPE()PROPERTY_DEFINITION('',$,*)SHAPE_ASPECT('base for PASTE_MASK_2 piece 1', - $,#902,.U.)STRATUM_FEATURE()STRATUM_FEATURE_TEMPLATE_COMPONENT() - STRATUM_FEATURE_TEMPLATE_COMPONENT_WITH_STRATUM_FEATURE()); -#8277=NEXT_ASSEMBLY_USAGE_OCCURRENCE_RELATIONSHIP('base for PASTE_MASK_2 piece 1', - '',$,#34,#992,'base for PASTE_MASK_2 piece 1','',$,#8276,*); -#8302=ID_ATTRIBUTE('ac2dsm',#995); -#8303=SHAPE_DEFINITION_REPRESENTATION(#993,#995); -#8304=SHAPE_DEFINITION_REPRESENTATION(#1004,#995); -#8305=SHAPE_DEFINITION_REPRESENTATION(#1006,#995); -#8306=SHAPE_DEFINITION_REPRESENTATION(#1008,#995); -#8307=SHAPE_DEFINITION_REPRESENTATION(#1010,#995); -#8308=SHAPE_DEFINITION_REPRESENTATION(#1012,#995); -#8309=ID_ATTRIBUTE('ac2dsm',#6507); -#8310=SHAPE_DEFINITION_REPRESENTATION(#6505,#6507); -#8311=SHAPE_DEFINITION_REPRESENTATION(#6516,#6507); -#8312=SHAPE_DEFINITION_REPRESENTATION(#6518,#6507); -#8313=SHAPE_DEFINITION_REPRESENTATION(#6520,#6507); -#8314=SHAPE_DEFINITION_REPRESENTATION(#6522,#6507); -#8315=SHAPE_DEFINITION_REPRESENTATION(#6524,#6507); -#8316=ID_ATTRIBUTE('ac2dsm',#6670); -#8317=SHAPE_DEFINITION_REPRESENTATION(#6675,#6670); -#8318=ID_ATTRIBUTE('ac2dsm',#6677); -#8319=SHAPE_DEFINITION_REPRESENTATION(#6682,#6677); -#8320=ID_ATTRIBUTE('ac2dsm',#6684); -#8321=SHAPE_DEFINITION_REPRESENTATION(#6689,#6684); -#8322=ID_ATTRIBUTE('ac2dsm',#6691); -#8323=SHAPE_DEFINITION_REPRESENTATION(#6696,#6691); -#8324=ID_ATTRIBUTE('ac2dsm',#8030); -#8325=SHAPE_DEFINITION_REPRESENTATION(#8085,#8030); -#8326=ID_ATTRIBUTE('ac2dsm',#8087); -#8327=SHAPE_DEFINITION_REPRESENTATION(#8164,#8087); -#8328=ID_ATTRIBUTE('ac2dsm',#8166); -#8329=SHAPE_DEFINITION_REPRESENTATION(#8237,#8166); -#8330=ID_ATTRIBUTE('ac2dsm',#8239); -#8331=SHAPE_DEFINITION_REPRESENTATION(#8276,#8239); -#8332=PRODUCT_DEFINITION_CONTEXT('assembly definition',#8333,''); -#8333=APPLICATION_CONTEXT(''); -#8334=PRODUCT_DEFINITION_CONTEXT_ROLE('part definition type',$); -#8335=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#746,#8332,#8334); -#8336=PRODUCT_DEFINITION_CONTEXT('physical design',#8333,''); -#8337=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#746,#8336,#8334); -#8338=ID_ATTRIBUTE('1',#746); -#8339=PRODUCT_DEFINITION_RELATIONSHIP('','design usage',$,#749,#746); -#8340=ASSIGNED_REQUIREMENT(#575,(#572)); -#8341=REQUIREMENT_ASSIGNED_OBJECT(#575,(#557)); -#8342=ID_ATTRIBUTE('',#575); -#8343=ASSIGNED_REQUIREMENT(#587,(#582)); -#8344=REQUIREMENT_ASSIGNED_OBJECT(#587,(#557)); -#8345=ID_ATTRIBUTE('',#587); -#8346=ASSIGNED_REQUIREMENT(#596,(#572)); -#8347=REQUIREMENT_ASSIGNED_OBJECT(#596,(#588)); -#8348=ID_ATTRIBUTE('',#596); -#8349=ASSIGNED_REQUIREMENT(#597,(#582)); -#8350=REQUIREMENT_ASSIGNED_OBJECT(#597,(#588)); -#8351=ID_ATTRIBUTE('',#597); -#8352=ASSIGNED_REQUIREMENT(#607,(#572)); -#8353=REQUIREMENT_ASSIGNED_OBJECT(#607,(#598)); -#8354=ID_ATTRIBUTE('',#607); -#8355=ASSIGNED_REQUIREMENT(#617,(#572)); -#8356=REQUIREMENT_ASSIGNED_OBJECT(#617,(#608)); -#8357=ID_ATTRIBUTE('',#617); -#8358=ASSIGNED_REQUIREMENT(#628,(#623)); -#8359=REQUIREMENT_ASSIGNED_OBJECT(#628,(#608)); -#8360=ID_ATTRIBUTE('',#628); -#8361=ASSIGNED_REQUIREMENT(#637,(#572)); -#8362=REQUIREMENT_ASSIGNED_OBJECT(#637,(#629)); -#8363=ID_ATTRIBUTE('',#637); -#8364=ASSIGNED_REQUIREMENT(#638,(#623)); -#8365=REQUIREMENT_ASSIGNED_OBJECT(#638,(#629)); -#8366=ID_ATTRIBUTE('',#638); -#8367=ASSIGNED_REQUIREMENT(#648,(#572)); -#8368=REQUIREMENT_ASSIGNED_OBJECT(#648,(#639)); -#8369=ID_ATTRIBUTE('',#648); -#8370=ASSIGNED_REQUIREMENT(#657,(#572)); -#8371=REQUIREMENT_ASSIGNED_OBJECT(#657,(#649)); -#8372=ID_ATTRIBUTE('',#657); -#8373=ASSIGNED_REQUIREMENT(#666,(#572)); -#8374=REQUIREMENT_ASSIGNED_OBJECT(#666,(#658)); -#8375=ID_ATTRIBUTE('',#666); -#8376=ASSIGNED_REQUIREMENT(#675,(#572)); -#8377=REQUIREMENT_ASSIGNED_OBJECT(#675,(#667)); -#8378=ID_ATTRIBUTE('',#675); -#8379=ASSIGNED_REQUIREMENT(#685,(#572)); -#8380=REQUIREMENT_ASSIGNED_OBJECT(#685,(#676)); -#8381=ID_ATTRIBUTE('',#685); -#8382=PRODUCT_DEFINITION_CONTEXT('template definition',#8333,''); -#8384=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3460,#8382,#8334); -#8385=ID_ATTRIBUTE('1',#3460); -#8386=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#3460); -#8387=PRODUCT_DEFINITION_RELATIONSHIP('','reference footprint',$,#272,#3460); -#8388=PROPERTY_DEFINITION('location','swappable',#3460); -#8390=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3667,#8382,#8334); -#8391=ID_ATTRIBUTE('1',#3667); -#8392=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#3667); -#8393=PRODUCT_DEFINITION_RELATIONSHIP('','reference footprint',$,#272,#3667); -#8394=PROPERTY_DEFINITION('location','swappable',#3667); -#8396=DESCRIPTION_ATTRIBUTE('breakout footprint definition shape model',#3461); -#8397=SHAPE_DEFINITION_REPRESENTATION(#3460,#3461); -#8398=REPRESENTATION('shape material condition',(#8400),#8399); -#8399=REPRESENTATION_CONTEXT('',''); -#8400=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#8401=REPRESENTATION_RELATIONSHIP('',$,#3461,#8398); -#8402=REPRESENTATION_RELATIONSHIP('reference shape',$,#273,#3461); -#8404=DESCRIPTION_ATTRIBUTE('breakout footprint definition shape model',#3668); -#8405=SHAPE_DEFINITION_REPRESENTATION(#3667,#3668); -#8406=REPRESENTATION_RELATIONSHIP('',$,#3668,#8398); -#8407=REPRESENTATION_RELATIONSHIP('reference shape',$,#273,#3668); -#8408=CLASSIFICATION_ROLE('definitional',$); -#8409=ID_ATTRIBUTE('tool',#6187); -#8410=ID_ATTRIBUTE('panel',#6191); -#8411=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#991)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#8412=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','2'); -#8413=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#8414=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#991)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#8415=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','2'); -#8416=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#8417=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#991)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#8418=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','3'); -#8419=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#8420=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#991)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#8421=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','4'); -#8422=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#8423=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#991)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#8424=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','2'); -#8425=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#8426=DESCRIPTION_ATTRIBUTE('placement not fixed',#55); -#8427=DESCRIPTION_ATTRIBUTE('placement not fixed',#563); -#8428=DESCRIPTION_ATTRIBUTE('placement not fixed',#594); -#8429=DESCRIPTION_ATTRIBUTE('placement not fixed',#604); -#8430=DESCRIPTION_ATTRIBUTE('placement not fixed',#614); -#8431=DESCRIPTION_ATTRIBUTE('placement not fixed',#635); -#8432=DESCRIPTION_ATTRIBUTE('placement not fixed',#645); -#8433=DESCRIPTION_ATTRIBUTE('placement not fixed',#655); -#8434=DESCRIPTION_ATTRIBUTE('placement not fixed',#664); -#8435=DESCRIPTION_ATTRIBUTE('placement not fixed',#673); -#8436=DESCRIPTION_ATTRIBUTE('placement not fixed',#682); -#8437=DESCRIPTION_ATTRIBUTE('placement not fixed',#966); -#8438=DESCRIPTION_ATTRIBUTE('placement not fixed',#6044); -#8439=DESCRIPTION_ATTRIBUTE('placement not fixed',#6052); -#8440=DESCRIPTION_ATTRIBUTE('placement not fixed',#6060); -#8441=DESCRIPTION_ATTRIBUTE('placement not fixed',#6068); -#8442=DESCRIPTION_ATTRIBUTE('placement not fixed',#6076); -#8443=DESCRIPTION_ATTRIBUTE('placement not fixed',#6084); -#8444=DESCRIPTION_ATTRIBUTE('placement not fixed',#6092); -#8445=DESCRIPTION_ATTRIBUTE('placement not fixed',#6100); -#8446=DESCRIPTION_ATTRIBUTE('placement not fixed',#6108); -#8447=DESCRIPTION_ATTRIBUTE('placement not fixed',#6116); -#8448=DESCRIPTION_ATTRIBUTE('placement not fixed',#6124); -#8449=DESCRIPTION_ATTRIBUTE('placement not fixed',#6132); -#8450=DESCRIPTION_ATTRIBUTE('placement not fixed',#6141); -#8451=DESCRIPTION_ATTRIBUTE('placement not fixed',#6153); -#8452=DESCRIPTION_ATTRIBUTE('placement not fixed',#6164); -#8453=DESCRIPTION_ATTRIBUTE('placement not fixed',#6175); -#8454=DESCRIPTION_ATTRIBUTE('placement not fixed',#6458); -#8455=DESCRIPTION_ATTRIBUTE('placement not fixed',#6532); -#8456=DESCRIPTION_ATTRIBUTE('placement not fixed',#6541); -#8457=DESCRIPTION_ATTRIBUTE('placement not fixed',#6903); -#8458=DESCRIPTION_ATTRIBUTE('placement not fixed',#6931); -#8459=DESCRIPTION_ATTRIBUTE('placement not fixed',#6959); -#8460=DESCRIPTION_ATTRIBUTE('placement not fixed',#6987); -#8461=DESCRIPTION_ATTRIBUTE('placement not fixed',#7089); -#8462=DESCRIPTION_ATTRIBUTE('placement not fixed',#7117); -#8463=DESCRIPTION_ATTRIBUTE('placement not fixed',#7145); -#8464=DESCRIPTION_ATTRIBUTE('placement not fixed',#7173); -#8465=DESCRIPTION_ATTRIBUTE('placement not fixed',#7201); -#8466=DESCRIPTION_ATTRIBUTE('placement not fixed',#7229); -#8467=DESCRIPTION_ATTRIBUTE('placement not fixed',#7267); -#8468=DESCRIPTION_ATTRIBUTE('placement not fixed',#7288); -#8469=DESCRIPTION_ATTRIBUTE('placement not fixed',#7309); -#8470=DESCRIPTION_ATTRIBUTE('placement not fixed',#7330); -#8471=DESCRIPTION_ATTRIBUTE('placement not fixed',#7351); -#8472=DESCRIPTION_ATTRIBUTE('placement not fixed',#7372); -#8473=DESCRIPTION_ATTRIBUTE('placement not fixed',#7393); -#8474=DESCRIPTION_ATTRIBUTE('placement not fixed',#7413); -#8475=DESCRIPTION_ATTRIBUTE('placement not fixed',#7424); -#8476=DESCRIPTION_ATTRIBUTE('placement not fixed',#7435); -#8477=DESCRIPTION_ATTRIBUTE('placement not fixed',#7446); -#8478=DESCRIPTION_ATTRIBUTE('placement not fixed',#7457); -#8479=PROPERTY_DEFINITION_REPRESENTATION(#8480,#586); -#8480=PROPERTY_DEFINITION('',$,#582); -#8481=PROPERTY_DEFINITION('',$,#576); -#8482=PROPERTY_DEFINITION_REPRESENTATION(#8481,#8483); -#8483=REPRESENTATION('',(#8484),#8399); -#8484=REPRESENTATION_ITEM(''); -#8485=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#586,#8483); -#8486=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#8487=PROPERTY_DEFINITION_REPRESENTATION(#8488,#627); -#8488=PROPERTY_DEFINITION('',$,#623); -#8489=REPRESENTATION_RELATIONSHIP('component placement restriction assignment area', - $,#627,#8483); -#8490=DESCRIPTIVE_REPRESENTATION_ITEM('components permitted','true'); -#8491=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1672,#7263); -#8492=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1672,#7284); -#8493=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1672,#7305); -#8494=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1672,#7326); -#8495=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1672,#7347); -#8496=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1672,#7368); -#8497=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1672,#7389); -#8498=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1673,#7264); -#8499=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1673,#7285); -#8500=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1673,#7306); -#8501=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1673,#7327); -#8502=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1673,#7348); -#8503=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1673,#7369); -#8504=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1673,#7390); -#8506=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1029,#8382,#8334); -#8507=ID_ATTRIBUTE('1',#1029); -#8508=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1019,#1029); -#8510=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1161,#8382,#8334); -#8511=ID_ATTRIBUTE('1',#1161); -#8512=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1155,#1161); -#8514=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1397,#8382,#8334); -#8515=ID_ATTRIBUTE('1',#1397); -#8516=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1391,#1397); -#8518=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1525,#8382,#8334); -#8519=ID_ATTRIBUTE('1',#1525); -#8520=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1155,#1525); -#8522=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1671,#8382,#8334); -#8523=ID_ATTRIBUTE('1',#1671); -#8524=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1665,#1671); -#8526=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1811,#8382,#8334); -#8527=ID_ATTRIBUTE('1',#1811); -#8528=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1805,#1811); -#8530=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1947,#8382,#8334); -#8531=ID_ATTRIBUTE('1',#1947); -#8532=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1155,#1947); -#8534=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2075,#8382,#8334); -#8535=ID_ATTRIBUTE('1',#2075); -#8536=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1155,#2075); -#8538=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2217,#8382,#8334); -#8539=ID_ATTRIBUTE('1',#2217); -#8540=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1391,#2217); -#8542=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2359,#8382,#8334); -#8543=ID_ATTRIBUTE('1',#2359); -#8544=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1019,#2359); -#8545=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7459,#7474); -#8546=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7475,#7477); -#8547=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7491,#7493); -#8548=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7459,#7494); -#8549=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7507,#7509); -#8550=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7510,#7512); -#8551=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7522,#7524); -#8552=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7507,#7525); -#8553=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7510,#7535); -#8554=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7536,#7538); -#8555=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7552,#7554); -#8556=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7555,#7557); -#8557=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7566,#7568); -#8558=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7552,#7569); -#8559=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7575,#7584); -#8560=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7585,#7587); -#8561=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7596,#7598); -#8562=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7575,#7599); -#8563=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7614,#7616); -#8564=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7617,#7619); -#8565=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7634,#7636); -#8566=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7637,#7639); -#8567=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7653,#7655); -#8568=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7656,#7658); -#8569=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7673,#7675); -#8570=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7672,#7676); -#8571=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7687,#7688); -#8572=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7689,#7691); -#8573=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7715,#7727); -#8574=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7717,#7728); -#8575=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7703,#7736); -#8576=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7711,#7737); -#8577=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7739,#7741); -#8578=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7711,#7749); -#8579=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7697,#7750); -#8580=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7709,#7752); -#8581=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7705,#7754); -#8582=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7765,#7767); -#8583=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7713,#7768); -#8584=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7701,#7770); -#8585=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7779,#7781); -#8586=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7709,#7782); -#8587=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7707,#7784); -#8588=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7699,#7792); -#8589=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7701,#7793); -#8590=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7703,#7795); -#8591=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7697,#7797); -#8592=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7717,#7806); -#8593=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7807,#7809); -#8594=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7705,#7817); -#8595=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7707,#7818); -#8596=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7829,#7831); -#8597=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7765,#7832); -#8598=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7699,#7840); -#8599=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7713,#7841); -#8600=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7715,#7843); -#8601=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7858,#7860); -#8602=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7857,#7861); -#8603=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7874,#7876); -#8604=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7873,#7877); -#8605=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7899,#7901); -#8606=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7883,#7902); -#8607=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7883,#7910); -#8608=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7885,#7911); -#8609=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7889,#7913); -#8610=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7921,#7923); -#8611=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7899,#7924); -#8612=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7887,#7933); -#8613=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7885,#7934); -#8614=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7943,#7945); -#8615=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7889,#7946); -#8616=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7887,#7948); -#8617=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7960,#7961); -#8618=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7962,#7964); -#8619=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7891,#7976); -#8620=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7977,#7979); -#8621=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7987,#7989); -#8622=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#7891,#7990); -#8623=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8003,#8005); -#8624=SHAPE_ASPECT_RELATIONSHIP('terminal location',$,#8006,#8008); -#8625=PROPERTY_DEFINITION('','',#7496); -#8626=REPRESENTATION('',(#8628),#8399); -#8627=PROPERTY_DEFINITION_REPRESENTATION(#8625,#8626); -#8628=DESCRIPTIVE_REPRESENTATION_ITEM('feature of size','true'); -#8629=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7497,#7496); -#8630=PROPERTY_DEFINITION('','',#7540); -#8631=REPRESENTATION('',(#8628),#8399); -#8632=PROPERTY_DEFINITION_REPRESENTATION(#8630,#8631); -#8633=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7541,#7540); -#8634=PROPERTY_DEFINITION('','',#7571); -#8635=REPRESENTATION('',(#8628),#8399); -#8636=PROPERTY_DEFINITION_REPRESENTATION(#8634,#8635); -#8637=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7572,#7571); -#8638=PROPERTY_DEFINITION('','',#7601); -#8639=REPRESENTATION('',(#8628),#8399); -#8640=PROPERTY_DEFINITION_REPRESENTATION(#8638,#8639); -#8641=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7602,#7601); -#8642=PROPERTY_DEFINITION('','',#7621); -#8643=REPRESENTATION('',(#8628),#8399); -#8644=PROPERTY_DEFINITION_REPRESENTATION(#8642,#8643); -#8645=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7622,#7621); -#8646=PROPERTY_DEFINITION('','',#7641); -#8647=REPRESENTATION('',(#8628),#8399); -#8648=PROPERTY_DEFINITION_REPRESENTATION(#8646,#8647); -#8649=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7642,#7641); -#8650=PROPERTY_DEFINITION('','',#7660); -#8651=REPRESENTATION('',(#8628),#8399); -#8652=PROPERTY_DEFINITION_REPRESENTATION(#8650,#8651); -#8653=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7661,#7660); -#8654=PROPERTY_DEFINITION('','',#7678); -#8655=REPRESENTATION('',(#8628),#8399); -#8656=PROPERTY_DEFINITION_REPRESENTATION(#8654,#8655); -#8657=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7679,#7678); -#8658=PROPERTY_DEFINITION('','',#7693); -#8659=REPRESENTATION('',(#8628),#8399); -#8660=PROPERTY_DEFINITION_REPRESENTATION(#8658,#8659); -#8661=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7694,#7693); -#8662=PROPERTY_DEFINITION('','',#7845); -#8663=REPRESENTATION('',(#8628),#8399); -#8664=PROPERTY_DEFINITION_REPRESENTATION(#8662,#8663); -#8665=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7846,#7845); -#8666=PROPERTY_DEFINITION('','',#7863); -#8667=REPRESENTATION('',(#8628),#8399); -#8668=PROPERTY_DEFINITION_REPRESENTATION(#8666,#8667); -#8669=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7864,#7863); -#8670=PROPERTY_DEFINITION('','',#7879); -#8671=REPRESENTATION('',(#8628),#8399); -#8672=PROPERTY_DEFINITION_REPRESENTATION(#8670,#8671); -#8673=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7880,#7879); -#8674=PROPERTY_DEFINITION('','',#7950); -#8675=REPRESENTATION('',(#8628),#8399); -#8676=PROPERTY_DEFINITION_REPRESENTATION(#8674,#8675); -#8677=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7951,#7950); -#8678=PROPERTY_DEFINITION('','',#7966); -#8679=REPRESENTATION('',(#8628),#8399); -#8680=PROPERTY_DEFINITION_REPRESENTATION(#8678,#8679); -#8681=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7967,#7966); -#8682=PROPERTY_DEFINITION('','',#7992); -#8683=REPRESENTATION('',(#8628),#8399); -#8684=PROPERTY_DEFINITION_REPRESENTATION(#8682,#8683); -#8685=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#7993,#7992); -#8686=PROPERTY_DEFINITION('','',#8010); -#8687=REPRESENTATION('',(#8628),#8399); -#8688=PROPERTY_DEFINITION_REPRESENTATION(#8686,#8687); -#8689=SHAPE_ASPECT_RELATIONSHIP('join implementation',$,#8011,#8010); -#8690=ID_ATTRIBUTE('nfsm',#3270); -#8691=PROPERTY_DEFINITION('',$,#3269); -#8692=PROPERTY_DEFINITION_REPRESENTATION(#8691,#3270); -#8693=REPRESENTATION_RELATIONSHIP('model shape',$,#168,#3270); -#8694=ID_ATTRIBUTE('nfsm',#3276); -#8695=PROPERTY_DEFINITION('',$,#3275); -#8696=PROPERTY_DEFINITION_REPRESENTATION(#8695,#3276); -#8697=REPRESENTATION_RELATIONSHIP('model shape',$,#168,#3276); -#8698=DESCRIPTION_ATTRIBUTE('part feature template shape model',#3188); -#8699=DESCRIPTION_ATTRIBUTE('part feature template shape model',#3237); -#8700=DESCRIPTION_ATTRIBUTE('part feature template shape model',#3290); -#8701=DESCRIPTION_ATTRIBUTE('part feature template shape model',#3335); -#8702=DESCRIPTION_ATTRIBUTE('part feature template shape model',#3395); -#8703=DESCRIPTION_ATTRIBUTE('part feature template shape model',#3861); -#8704=DESCRIPTION_ATTRIBUTE('part feature template shape model',#3890); -#8705=DESCRIPTION_ATTRIBUTE('part feature template shape model',#3975); -#8706=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4060); -#8707=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4103); -#8708=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4143); -#8709=DESCRIPTION_ATTRIBUTE('part feature template shape model',#4234); -#8710=ID_ATTRIBUTE('uvlnfsm',#79); -#8711=DESCRIPTION_ATTRIBUTE('pupksm',#79); -#8712=PROPERTY_DEFINITION('',$,#78); -#8713=PROPERTY_DEFINITION_REPRESENTATION(#8712,#79); -#8714=REPRESENTATION_RELATIONSHIP('model shape',$,#41,#79); -#8715=PROPERTY_DEFINITION_REPRESENTATION(#8717,#79); -#8716=KEEPOUT_DESIGN_OBJECT_CATEGORY('','stratum feature category'); -#8717=PROPERTY_DEFINITION('',$,#8716); -#8718=SHAPE_DEFINITION_REPRESENTATION(#39,#79); -#8719=REPRESENTATION('shape material condition',(#8721),#8399); -#8720=REPRESENTATION_RELATIONSHIP('',$,#79,#8719); -#8721=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#8722=REPRESENTATION('predefined keepout shape purpose',(#8724),#8399); -#8723=REPRESENTATION_RELATIONSHIP('',$,#79,#8722); -#8724=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#8725=REPRESENTATION('shape environment',(#8727),#8399); -#8726=REPRESENTATION_RELATIONSHIP('',$,#79,#8725); -#8727=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#8728=REPRESENTATION('shape extent',(#8730),#8399); -#8729=REPRESENTATION_RELATIONSHIP('',$,#79,#8728); -#8730=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#8731=REPRESENTATION('shape approximation level',(#8733),#8399); -#8732=REPRESENTATION_RELATIONSHIP('',$,#79,#8731); -#8733=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#8734=REPRESENTATION('shape location',(#8736),#8399); -#8735=REPRESENTATION_RELATIONSHIP('',$,#79,#8734); -#8736=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#8737=REPRESENTATION('component application',(#8739),#8399); -#8738=REPRESENTATION_RELATIONSHIP('',$,#79,#8737); -#8739=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#8740=ID_ATTRIBUTE('uvlnfsm',#937); -#8741=DESCRIPTION_ATTRIBUTE('pupksm',#937); -#8742=PROPERTY_DEFINITION('',$,#936); -#8743=PROPERTY_DEFINITION_REPRESENTATION(#8742,#937); -#8744=REPRESENTATION_RELATIONSHIP('model shape',$,#25,#937); -#8745=PROPERTY_DEFINITION_REPRESENTATION(#8717,#937); -#8746=SHAPE_DEFINITION_REPRESENTATION(#15,#937); -#8747=REPRESENTATION('shape material condition',(#8749),#8399); -#8748=REPRESENTATION_RELATIONSHIP('',$,#937,#8747); -#8749=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#8750=REPRESENTATION('predefined keepout shape purpose',(#8752),#8399); -#8751=REPRESENTATION_RELATIONSHIP('',$,#937,#8750); -#8752=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#8753=REPRESENTATION('shape environment',(#8755),#8399); -#8754=REPRESENTATION_RELATIONSHIP('',$,#937,#8753); -#8755=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#8756=REPRESENTATION('shape extent',(#8758),#8399); -#8757=REPRESENTATION_RELATIONSHIP('',$,#937,#8756); -#8758=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#8759=REPRESENTATION('shape approximation level',(#8761),#8399); -#8760=REPRESENTATION_RELATIONSHIP('',$,#937,#8759); -#8761=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#8762=REPRESENTATION('shape location',(#8764),#8399); -#8763=REPRESENTATION_RELATIONSHIP('',$,#937,#8762); -#8764=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#8765=REPRESENTATION('component application',(#8767),#8399); -#8766=REPRESENTATION_RELATIONSHIP('',$,#937,#8765); -#8767=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#8768=ID_ATTRIBUTE('uvlnfsm',#3169); -#8769=DESCRIPTION_ATTRIBUTE('pupksm',#3169); -#8770=PROPERTY_DEFINITION('',$,#3168); -#8771=PROPERTY_DEFINITION_REPRESENTATION(#8770,#3169); -#8772=REPRESENTATION_RELATIONSHIP('model shape',$,#91,#3169); -#8773=PROPERTY_DEFINITION_REPRESENTATION(#8775,#3169); -#8774=KEEPOUT_DESIGN_OBJECT_CATEGORY('','via category'); -#8775=PROPERTY_DEFINITION('',$,#8774); -#8776=SHAPE_DEFINITION_REPRESENTATION(#89,#3169); -#8777=REPRESENTATION('shape material condition',(#8779),#8399); -#8778=REPRESENTATION_RELATIONSHIP('',$,#3169,#8777); -#8779=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#8780=REPRESENTATION('predefined keepout shape purpose',(#8782),#8399); -#8781=REPRESENTATION_RELATIONSHIP('',$,#3169,#8780); -#8782=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#8783=REPRESENTATION('shape environment',(#8785),#8399); -#8784=REPRESENTATION_RELATIONSHIP('',$,#3169,#8783); -#8785=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#8786=REPRESENTATION('shape extent',(#8788),#8399); -#8787=REPRESENTATION_RELATIONSHIP('',$,#3169,#8786); -#8788=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#8789=REPRESENTATION('shape approximation level',(#8791),#8399); -#8790=REPRESENTATION_RELATIONSHIP('',$,#3169,#8789); -#8791=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#8792=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3169,#3177); -#8793=REPRESENTATION('shape location',(#8795),#8399); -#8794=REPRESENTATION_RELATIONSHIP('',$,#3169,#8793); -#8795=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#8796=REPRESENTATION('component application',(#8798),#8399); -#8797=REPRESENTATION_RELATIONSHIP('',$,#3169,#8796); -#8798=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#8799=ID_ATTRIBUTE('uvlnfsm',#3218); -#8800=DESCRIPTION_ATTRIBUTE('pupksm',#3218); -#8801=PROPERTY_DEFINITION('',$,#3217); -#8802=PROPERTY_DEFINITION_REPRESENTATION(#8801,#3218); -#8803=REPRESENTATION_RELATIONSHIP('model shape',$,#134,#3218); -#8804=PROPERTY_DEFINITION_REPRESENTATION(#8775,#3218); -#8805=SHAPE_DEFINITION_REPRESENTATION(#132,#3218); -#8806=REPRESENTATION('shape material condition',(#8808),#8399); -#8807=REPRESENTATION_RELATIONSHIP('',$,#3218,#8806); -#8808=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#8809=REPRESENTATION('predefined keepout shape purpose',(#8811),#8399); -#8810=REPRESENTATION_RELATIONSHIP('',$,#3218,#8809); -#8811=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#8812=REPRESENTATION('shape environment',(#8814),#8399); -#8813=REPRESENTATION_RELATIONSHIP('',$,#3218,#8812); -#8814=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#8815=REPRESENTATION('shape extent',(#8817),#8399); -#8816=REPRESENTATION_RELATIONSHIP('',$,#3218,#8815); -#8817=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#8818=REPRESENTATION('shape approximation level',(#8820),#8399); -#8819=REPRESENTATION_RELATIONSHIP('',$,#3218,#8818); -#8820=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#8821=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3218,#3226); -#8822=REPRESENTATION('shape location',(#8824),#8399); -#8823=REPRESENTATION_RELATIONSHIP('',$,#3218,#8822); -#8824=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#8825=REPRESENTATION('component application',(#8827),#8399); -#8826=REPRESENTATION_RELATIONSHIP('',$,#3218,#8825); -#8827=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#8828=ID_ATTRIBUTE('uvlnfsm',#3259); -#8829=DESCRIPTION_ATTRIBUTE('pupksm',#3259); -#8830=PROPERTY_DEFINITION('',$,#3258); -#8831=PROPERTY_DEFINITION_REPRESENTATION(#8830,#3259); -#8832=REPRESENTATION_RELATIONSHIP('model shape',$,#168,#3259); -#8833=PROPERTY_DEFINITION_REPRESENTATION(#8775,#3259); -#8834=SHAPE_DEFINITION_REPRESENTATION(#166,#3259); -#8835=REPRESENTATION('shape material condition',(#8837),#8399); -#8836=REPRESENTATION_RELATIONSHIP('',$,#3259,#8835); -#8837=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#8838=REPRESENTATION('predefined keepout shape purpose',(#8840),#8399); -#8839=REPRESENTATION_RELATIONSHIP('',$,#3259,#8838); -#8840=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#8841=REPRESENTATION('shape environment',(#8843),#8399); -#8842=REPRESENTATION_RELATIONSHIP('',$,#3259,#8841); -#8843=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#8844=REPRESENTATION('shape extent',(#8846),#8399); -#8845=REPRESENTATION_RELATIONSHIP('',$,#3259,#8844); -#8846=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#8847=REPRESENTATION('shape approximation level',(#8849),#8399); -#8848=REPRESENTATION_RELATIONSHIP('',$,#3259,#8847); -#8849=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#8850=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3259,#3267); -#8851=REPRESENTATION('shape location',(#8853),#8399); -#8852=REPRESENTATION_RELATIONSHIP('',$,#3259,#8851); -#8853=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#8854=REPRESENTATION('component application',(#8856),#8399); -#8855=REPRESENTATION_RELATIONSHIP('',$,#3259,#8854); -#8856=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#8857=ID_ATTRIBUTE('uvlnfsm',#3316); -#8858=DESCRIPTION_ATTRIBUTE('pupksm',#3316); -#8859=PROPERTY_DEFINITION('',$,#3315); -#8860=PROPERTY_DEFINITION_REPRESENTATION(#8859,#3316); -#8861=REPRESENTATION_RELATIONSHIP('model shape',$,#206,#3316); -#8862=PROPERTY_DEFINITION_REPRESENTATION(#8775,#3316); -#8863=SHAPE_DEFINITION_REPRESENTATION(#204,#3316); -#8864=REPRESENTATION('shape material condition',(#8866),#8399); -#8865=REPRESENTATION_RELATIONSHIP('',$,#3316,#8864); -#8866=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#8867=REPRESENTATION('predefined keepout shape purpose',(#8869),#8399); -#8868=REPRESENTATION_RELATIONSHIP('',$,#3316,#8867); -#8869=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#8870=REPRESENTATION('shape environment',(#8872),#8399); -#8871=REPRESENTATION_RELATIONSHIP('',$,#3316,#8870); -#8872=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#8873=REPRESENTATION('shape extent',(#8875),#8399); -#8874=REPRESENTATION_RELATIONSHIP('',$,#3316,#8873); -#8875=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#8876=REPRESENTATION('shape approximation level',(#8878),#8399); -#8877=REPRESENTATION_RELATIONSHIP('',$,#3316,#8876); -#8878=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#8879=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3316,#3324); -#8880=REPRESENTATION('shape location',(#8882),#8399); -#8881=REPRESENTATION_RELATIONSHIP('',$,#3316,#8880); -#8882=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#8883=REPRESENTATION('component application',(#8885),#8399); -#8884=REPRESENTATION_RELATIONSHIP('',$,#3316,#8883); -#8885=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#8886=ID_ATTRIBUTE('uvlnfsm',#3912); -#8887=DESCRIPTION_ATTRIBUTE('pupksm',#3912); -#8888=PROPERTY_DEFINITION('',$,#3911); -#8889=PROPERTY_DEFINITION_REPRESENTATION(#8888,#3912); -#8890=REPRESENTATION_RELATIONSHIP('model shape',$,#328,#3912); -#8891=PROPERTY_DEFINITION_REPRESENTATION(#8775,#3912); -#8892=SHAPE_DEFINITION_REPRESENTATION(#326,#3912); -#8893=REPRESENTATION('shape material condition',(#8895),#8399); -#8894=REPRESENTATION_RELATIONSHIP('',$,#3912,#8893); -#8895=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#8896=REPRESENTATION('predefined keepout shape purpose',(#8898),#8399); -#8897=REPRESENTATION_RELATIONSHIP('',$,#3912,#8896); -#8898=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#8899=REPRESENTATION('shape environment',(#8901),#8399); -#8900=REPRESENTATION_RELATIONSHIP('',$,#3912,#8899); -#8901=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#8902=REPRESENTATION('shape extent',(#8904),#8399); -#8903=REPRESENTATION_RELATIONSHIP('',$,#3912,#8902); -#8904=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#8905=REPRESENTATION('shape approximation level',(#8907),#8399); -#8906=REPRESENTATION_RELATIONSHIP('',$,#3912,#8905); -#8907=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#8908=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3912,#3921); -#8909=REPRESENTATION('shape location',(#8911),#8399); -#8910=REPRESENTATION_RELATIONSHIP('',$,#3912,#8909); -#8911=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#8912=REPRESENTATION('component application',(#8914),#8399); -#8913=REPRESENTATION_RELATIONSHIP('',$,#3912,#8912); -#8914=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#8915=ID_ATTRIBUTE('uvlnfsm',#3925); -#8916=DESCRIPTION_ATTRIBUTE('pupksm',#3925); -#8917=PROPERTY_DEFINITION('',$,#3924); -#8918=PROPERTY_DEFINITION_REPRESENTATION(#8917,#3925); -#8919=REPRESENTATION_RELATIONSHIP('model shape',$,#328,#3925); -#8920=PROPERTY_DEFINITION_REPRESENTATION(#8775,#3925); -#8921=SHAPE_DEFINITION_REPRESENTATION(#326,#3925); -#8922=REPRESENTATION('shape material condition',(#8924),#8399); -#8923=REPRESENTATION_RELATIONSHIP('',$,#3925,#8922); -#8924=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#8925=REPRESENTATION('predefined keepout shape purpose',(#8927),#8399); -#8926=REPRESENTATION_RELATIONSHIP('',$,#3925,#8925); -#8927=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#8928=REPRESENTATION('shape environment',(#8930),#8399); -#8929=REPRESENTATION_RELATIONSHIP('',$,#3925,#8928); -#8930=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#8931=REPRESENTATION('shape extent',(#8933),#8399); -#8932=REPRESENTATION_RELATIONSHIP('',$,#3925,#8931); -#8933=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#8934=REPRESENTATION('shape approximation level',(#8936),#8399); -#8935=REPRESENTATION_RELATIONSHIP('',$,#3925,#8934); -#8936=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#8937=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3925,#3934); -#8938=REPRESENTATION('shape location',(#8940),#8399); -#8939=REPRESENTATION_RELATIONSHIP('',$,#3925,#8938); -#8940=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#8941=REPRESENTATION('component application',(#8943),#8399); -#8942=REPRESENTATION_RELATIONSHIP('',$,#3925,#8941); -#8943=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#8944=ID_ATTRIBUTE('uvlnfsm',#4124); -#8945=DESCRIPTION_ATTRIBUTE('pupksm',#4124); -#8946=PROPERTY_DEFINITION('',$,#4123); -#8947=PROPERTY_DEFINITION_REPRESENTATION(#8946,#4124); -#8948=REPRESENTATION_RELATIONSHIP('model shape',$,#439,#4124); -#8949=PROPERTY_DEFINITION_REPRESENTATION(#8775,#4124); -#8950=SHAPE_DEFINITION_REPRESENTATION(#437,#4124); -#8951=REPRESENTATION('shape material condition',(#8953),#8399); -#8952=REPRESENTATION_RELATIONSHIP('',$,#4124,#8951); -#8953=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#8954=REPRESENTATION('predefined keepout shape purpose',(#8956),#8399); -#8955=REPRESENTATION_RELATIONSHIP('',$,#4124,#8954); -#8956=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#8957=REPRESENTATION('shape environment',(#8959),#8399); -#8958=REPRESENTATION_RELATIONSHIP('',$,#4124,#8957); -#8959=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#8960=REPRESENTATION('shape extent',(#8962),#8399); -#8961=REPRESENTATION_RELATIONSHIP('',$,#4124,#8960); -#8962=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#8963=REPRESENTATION('shape approximation level',(#8965),#8399); -#8964=REPRESENTATION_RELATIONSHIP('',$,#4124,#8963); -#8965=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#8966=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4124,#4132); -#8967=REPRESENTATION('shape location',(#8969),#8399); -#8968=REPRESENTATION_RELATIONSHIP('',$,#4124,#8967); -#8969=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#8970=REPRESENTATION('component application',(#8972),#8399); -#8971=REPRESENTATION_RELATIONSHIP('',$,#4124,#8970); -#8972=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#8973=ID_ATTRIBUTE('uvlnfsm',#4171); -#8974=DESCRIPTION_ATTRIBUTE('pupksm',#4171); -#8975=PROPERTY_DEFINITION('',$,#4170); -#8976=PROPERTY_DEFINITION_REPRESENTATION(#8975,#4171); -#8977=REPRESENTATION_RELATIONSHIP('model shape',$,#475,#4171); -#8978=PROPERTY_DEFINITION_REPRESENTATION(#8775,#4171); -#8979=SHAPE_DEFINITION_REPRESENTATION(#473,#4171); -#8980=REPRESENTATION('shape material condition',(#8982),#8399); -#8981=REPRESENTATION_RELATIONSHIP('',$,#4171,#8980); -#8982=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#8983=REPRESENTATION('predefined keepout shape purpose',(#8985),#8399); -#8984=REPRESENTATION_RELATIONSHIP('',$,#4171,#8983); -#8985=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#8986=REPRESENTATION('shape environment',(#8988),#8399); -#8987=REPRESENTATION_RELATIONSHIP('',$,#4171,#8986); -#8988=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#8989=REPRESENTATION('shape extent',(#8991),#8399); -#8990=REPRESENTATION_RELATIONSHIP('',$,#4171,#8989); -#8991=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#8992=REPRESENTATION('shape approximation level',(#8994),#8399); -#8993=REPRESENTATION_RELATIONSHIP('',$,#4171,#8992); -#8994=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#8995=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4171,#4180); -#8996=REPRESENTATION('shape location',(#8998),#8399); -#8997=REPRESENTATION_RELATIONSHIP('',$,#4171,#8996); -#8998=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#8999=REPRESENTATION('component application',(#9001),#8399); -#9000=REPRESENTATION_RELATIONSHIP('',$,#4171,#8999); -#9001=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#9002=ID_ATTRIBUTE('uvlnfsm',#4184); -#9003=DESCRIPTION_ATTRIBUTE('pupksm',#4184); -#9004=PROPERTY_DEFINITION('',$,#4183); -#9005=PROPERTY_DEFINITION_REPRESENTATION(#9004,#4184); -#9006=REPRESENTATION_RELATIONSHIP('model shape',$,#475,#4184); -#9007=PROPERTY_DEFINITION_REPRESENTATION(#8775,#4184); -#9008=SHAPE_DEFINITION_REPRESENTATION(#473,#4184); -#9009=REPRESENTATION('shape material condition',(#9011),#8399); -#9010=REPRESENTATION_RELATIONSHIP('',$,#4184,#9009); -#9011=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9012=REPRESENTATION('predefined keepout shape purpose',(#9014),#8399); -#9013=REPRESENTATION_RELATIONSHIP('',$,#4184,#9012); -#9014=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#9015=REPRESENTATION('shape environment',(#9017),#8399); -#9016=REPRESENTATION_RELATIONSHIP('',$,#4184,#9015); -#9017=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9018=REPRESENTATION('shape extent',(#9020),#8399); -#9019=REPRESENTATION_RELATIONSHIP('',$,#4184,#9018); -#9020=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#9021=REPRESENTATION('shape approximation level',(#9023),#8399); -#9022=REPRESENTATION_RELATIONSHIP('',$,#4184,#9021); -#9023=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9024=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4184,#4193); -#9025=REPRESENTATION('shape location',(#9027),#8399); -#9026=REPRESENTATION_RELATIONSHIP('',$,#4184,#9025); -#9027=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9028=REPRESENTATION('component application',(#9030),#8399); -#9029=REPRESENTATION_RELATIONSHIP('',$,#4184,#9028); -#9030=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#9031=DESCRIPTION_ATTRIBUTE('pupsm',#91); -#9032=SHAPE_DEFINITION_REPRESENTATION(#89,#91); -#9033=REPRESENTATION('shape material condition',(#9035),#8399); -#9034=REPRESENTATION_RELATIONSHIP('',$,#91,#9033); -#9035=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9036=REPRESENTATION('shape environment',(#9038),#8399); -#9037=REPRESENTATION_RELATIONSHIP('',$,#91,#9036); -#9038=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9039=REPRESENTATION('shape extent',(#9041),#8399); -#9040=REPRESENTATION_RELATIONSHIP('',$,#91,#9039); -#9041=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9042=REPRESENTATION('shape approximation level',(#9044),#8399); -#9043=REPRESENTATION_RELATIONSHIP('',$,#91,#9042); -#9044=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9045=REPRESENTATION('mass property quality',(#9047),#8399); -#9046=REPRESENTATION_RELATIONSHIP('',$,#91,#9045); -#9047=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9048=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#91,#97); -#9049=REPRESENTATION('shape location',(#9051),#8399); -#9050=REPRESENTATION_RELATIONSHIP('',$,#91,#9049); -#9051=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9052=REPRESENTATION('predefined shape purpose',(#9054),#8399); -#9053=REPRESENTATION_RELATIONSHIP('',$,#91,#9052); -#9054=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9055=DESCRIPTION_ATTRIBUTE('pupsm',#118); -#9056=SHAPE_DEFINITION_REPRESENTATION(#89,#118); -#9057=REPRESENTATION('shape material condition',(#9059),#8399); -#9058=REPRESENTATION_RELATIONSHIP('',$,#118,#9057); -#9059=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9060=REPRESENTATION('shape environment',(#9062),#8399); -#9061=REPRESENTATION_RELATIONSHIP('',$,#118,#9060); -#9062=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9063=REPRESENTATION('shape extent',(#9065),#8399); -#9064=REPRESENTATION_RELATIONSHIP('',$,#118,#9063); -#9065=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#9066=REPRESENTATION('shape approximation level',(#9068),#8399); -#9067=REPRESENTATION_RELATIONSHIP('',$,#118,#9066); -#9068=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9069=REPRESENTATION('mass property quality',(#9071),#8399); -#9070=REPRESENTATION_RELATIONSHIP('',$,#118,#9069); -#9071=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9072=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#118,#97); -#9073=REPRESENTATION('shape location',(#9075),#8399); -#9074=REPRESENTATION_RELATIONSHIP('',$,#118,#9073); -#9075=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9076=REPRESENTATION('predefined shape purpose',(#9078),#8399); -#9077=REPRESENTATION_RELATIONSHIP('',$,#118,#9076); -#9078=DESCRIPTIVE_REPRESENTATION_ITEM('thermal analysis input',''); -#9079=DESCRIPTION_ATTRIBUTE('pupsm',#134); -#9080=SHAPE_DEFINITION_REPRESENTATION(#132,#134); -#9081=REPRESENTATION('shape material condition',(#9083),#8399); -#9082=REPRESENTATION_RELATIONSHIP('',$,#134,#9081); -#9083=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9084=REPRESENTATION('shape environment',(#9086),#8399); -#9085=REPRESENTATION_RELATIONSHIP('',$,#134,#9084); -#9086=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9087=REPRESENTATION('shape extent',(#9089),#8399); -#9088=REPRESENTATION_RELATIONSHIP('',$,#134,#9087); -#9089=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9090=REPRESENTATION('shape approximation level',(#9092),#8399); -#9091=REPRESENTATION_RELATIONSHIP('',$,#134,#9090); -#9092=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9093=REPRESENTATION('mass property quality',(#9095),#8399); -#9094=REPRESENTATION_RELATIONSHIP('',$,#134,#9093); -#9095=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9096=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#134,#137); -#9097=REPRESENTATION('shape location',(#9099),#8399); -#9098=REPRESENTATION_RELATIONSHIP('',$,#134,#9097); -#9099=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9100=REPRESENTATION('predefined shape purpose',(#9102),#8399); -#9101=REPRESENTATION_RELATIONSHIP('',$,#134,#9100); -#9102=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9103=DESCRIPTION_ATTRIBUTE('pupsm',#153); -#9104=SHAPE_DEFINITION_REPRESENTATION(#132,#153); -#9105=REPRESENTATION('shape material condition',(#9107),#8399); -#9106=REPRESENTATION_RELATIONSHIP('',$,#153,#9105); -#9107=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9108=REPRESENTATION('shape environment',(#9110),#8399); -#9109=REPRESENTATION_RELATIONSHIP('',$,#153,#9108); -#9110=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9111=REPRESENTATION('shape extent',(#9113),#8399); -#9112=REPRESENTATION_RELATIONSHIP('',$,#153,#9111); -#9113=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#9114=REPRESENTATION('shape approximation level',(#9116),#8399); -#9115=REPRESENTATION_RELATIONSHIP('',$,#153,#9114); -#9116=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9117=REPRESENTATION('mass property quality',(#9119),#8399); -#9118=REPRESENTATION_RELATIONSHIP('',$,#153,#9117); -#9119=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9120=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#153,#137); -#9121=REPRESENTATION('shape location',(#9123),#8399); -#9122=REPRESENTATION_RELATIONSHIP('',$,#153,#9121); -#9123=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9124=REPRESENTATION('predefined shape purpose',(#9126),#8399); -#9125=REPRESENTATION_RELATIONSHIP('',$,#153,#9124); -#9126=DESCRIPTIVE_REPRESENTATION_ITEM('thermal analysis input',''); -#9127=DESCRIPTION_ATTRIBUTE('pupsm',#168); -#9128=SHAPE_DEFINITION_REPRESENTATION(#166,#168); -#9129=REPRESENTATION('shape material condition',(#9131),#8399); -#9130=REPRESENTATION_RELATIONSHIP('',$,#168,#9129); -#9131=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9132=REPRESENTATION('shape environment',(#9134),#8399); -#9133=REPRESENTATION_RELATIONSHIP('',$,#168,#9132); -#9134=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9135=REPRESENTATION('shape extent',(#9137),#8399); -#9136=REPRESENTATION_RELATIONSHIP('',$,#168,#9135); -#9137=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9138=REPRESENTATION('shape approximation level',(#9140),#8399); -#9139=REPRESENTATION_RELATIONSHIP('',$,#168,#9138); -#9140=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9141=REPRESENTATION('mass property quality',(#9143),#8399); -#9142=REPRESENTATION_RELATIONSHIP('',$,#168,#9141); -#9143=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9144=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#168,#171); -#9145=REPRESENTATION('shape location',(#9147),#8399); -#9146=REPRESENTATION_RELATIONSHIP('',$,#168,#9145); -#9147=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9148=REPRESENTATION('predefined shape purpose',(#9150),#8399); -#9149=REPRESENTATION_RELATIONSHIP('',$,#168,#9148); -#9150=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9151=DESCRIPTION_ATTRIBUTE('pupsm',#187); -#9152=SHAPE_DEFINITION_REPRESENTATION(#166,#187); -#9153=REPRESENTATION('shape material condition',(#9155),#8399); -#9154=REPRESENTATION_RELATIONSHIP('',$,#187,#9153); -#9155=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9156=REPRESENTATION('shape environment',(#9158),#8399); -#9157=REPRESENTATION_RELATIONSHIP('',$,#187,#9156); -#9158=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9159=REPRESENTATION('shape extent',(#9161),#8399); -#9160=REPRESENTATION_RELATIONSHIP('',$,#187,#9159); -#9161=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#9162=REPRESENTATION('shape approximation level',(#9164),#8399); -#9163=REPRESENTATION_RELATIONSHIP('',$,#187,#9162); -#9164=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9165=REPRESENTATION('mass property quality',(#9167),#8399); -#9166=REPRESENTATION_RELATIONSHIP('',$,#187,#9165); -#9167=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9168=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#187,#171); -#9169=REPRESENTATION('shape location',(#9171),#8399); -#9170=REPRESENTATION_RELATIONSHIP('',$,#187,#9169); -#9171=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9172=REPRESENTATION('predefined shape purpose',(#9174),#8399); -#9173=REPRESENTATION_RELATIONSHIP('',$,#187,#9172); -#9174=DESCRIPTIVE_REPRESENTATION_ITEM('thermal analysis input',''); -#9175=DESCRIPTION_ATTRIBUTE('pupsm',#206); -#9176=SHAPE_DEFINITION_REPRESENTATION(#204,#206); -#9177=REPRESENTATION('shape material condition',(#9179),#8399); -#9178=REPRESENTATION_RELATIONSHIP('',$,#206,#9177); -#9179=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9180=REPRESENTATION('shape environment',(#9182),#8399); -#9181=REPRESENTATION_RELATIONSHIP('',$,#206,#9180); -#9182=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9183=REPRESENTATION('shape extent',(#9185),#8399); -#9184=REPRESENTATION_RELATIONSHIP('',$,#206,#9183); -#9185=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9186=REPRESENTATION('shape approximation level',(#9188),#8399); -#9187=REPRESENTATION_RELATIONSHIP('',$,#206,#9186); -#9188=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9189=REPRESENTATION('mass property quality',(#9191),#8399); -#9190=REPRESENTATION_RELATIONSHIP('',$,#206,#9189); -#9191=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9192=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#206,#209); -#9193=REPRESENTATION('shape location',(#9195),#8399); -#9194=REPRESENTATION_RELATIONSHIP('',$,#206,#9193); -#9195=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9196=REPRESENTATION('predefined shape purpose',(#9198),#8399); -#9197=REPRESENTATION_RELATIONSHIP('',$,#206,#9196); -#9198=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9199=DESCRIPTION_ATTRIBUTE('pupsm',#225); -#9200=SHAPE_DEFINITION_REPRESENTATION(#204,#225); -#9201=REPRESENTATION('shape material condition',(#9203),#8399); -#9202=REPRESENTATION_RELATIONSHIP('',$,#225,#9201); -#9203=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9204=REPRESENTATION('shape environment',(#9206),#8399); -#9205=REPRESENTATION_RELATIONSHIP('',$,#225,#9204); -#9206=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9207=REPRESENTATION('shape extent',(#9209),#8399); -#9208=REPRESENTATION_RELATIONSHIP('',$,#225,#9207); -#9209=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#9210=REPRESENTATION('shape approximation level',(#9212),#8399); -#9211=REPRESENTATION_RELATIONSHIP('',$,#225,#9210); -#9212=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9213=REPRESENTATION('mass property quality',(#9215),#8399); -#9214=REPRESENTATION_RELATIONSHIP('',$,#225,#9213); -#9215=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9216=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#225,#209); -#9217=REPRESENTATION('shape location',(#9219),#8399); -#9218=REPRESENTATION_RELATIONSHIP('',$,#225,#9217); -#9219=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9220=REPRESENTATION('predefined shape purpose',(#9222),#8399); -#9221=REPRESENTATION_RELATIONSHIP('',$,#225,#9220); -#9222=DESCRIPTIVE_REPRESENTATION_ITEM('thermal analysis input',''); -#9223=DESCRIPTION_ATTRIBUTE('pupsm',#244); -#9224=SHAPE_DEFINITION_REPRESENTATION(#242,#244); -#9225=REPRESENTATION('shape material condition',(#9227),#8399); -#9226=REPRESENTATION_RELATIONSHIP('',$,#244,#9225); -#9227=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9228=REPRESENTATION('shape environment',(#9230),#8399); -#9229=REPRESENTATION_RELATIONSHIP('',$,#244,#9228); -#9230=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9231=REPRESENTATION('shape extent',(#9233),#8399); -#9232=REPRESENTATION_RELATIONSHIP('',$,#244,#9231); -#9233=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9234=REPRESENTATION('shape approximation level',(#9236),#8399); -#9235=REPRESENTATION_RELATIONSHIP('',$,#244,#9234); -#9236=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9237=REPRESENTATION('mass property quality',(#9239),#8399); -#9238=REPRESENTATION_RELATIONSHIP('',$,#244,#9237); -#9239=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9240=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#244,#247); -#9241=REPRESENTATION('shape location',(#9243),#8399); -#9242=REPRESENTATION_RELATIONSHIP('',$,#244,#9241); -#9243=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9244=REPRESENTATION('predefined shape purpose',(#9246),#8399); -#9245=REPRESENTATION_RELATIONSHIP('',$,#244,#9244); -#9246=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9247=DESCRIPTION_ATTRIBUTE('pupsm',#263); -#9248=SHAPE_DEFINITION_REPRESENTATION(#242,#263); -#9249=REPRESENTATION('shape material condition',(#9251),#8399); -#9250=REPRESENTATION_RELATIONSHIP('',$,#263,#9249); -#9251=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9252=REPRESENTATION('shape environment',(#9254),#8399); -#9253=REPRESENTATION_RELATIONSHIP('',$,#263,#9252); -#9254=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9255=REPRESENTATION('shape extent',(#9257),#8399); -#9256=REPRESENTATION_RELATIONSHIP('',$,#263,#9255); -#9257=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#9258=REPRESENTATION('shape approximation level',(#9260),#8399); -#9259=REPRESENTATION_RELATIONSHIP('',$,#263,#9258); -#9260=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9261=REPRESENTATION('mass property quality',(#9263),#8399); -#9262=REPRESENTATION_RELATIONSHIP('',$,#263,#9261); -#9263=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9264=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#263,#247); -#9265=REPRESENTATION('shape location',(#9267),#8399); -#9266=REPRESENTATION_RELATIONSHIP('',$,#263,#9265); -#9267=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9268=REPRESENTATION('predefined shape purpose',(#9270),#8399); -#9269=REPRESENTATION_RELATIONSHIP('',$,#263,#9268); -#9270=DESCRIPTIVE_REPRESENTATION_ITEM('thermal analysis input',''); -#9271=DESCRIPTION_ATTRIBUTE('pupsm',#278); -#9272=SHAPE_DEFINITION_REPRESENTATION(#276,#278); -#9273=REPRESENTATION('shape material condition',(#9275),#8399); -#9274=REPRESENTATION_RELATIONSHIP('',$,#278,#9273); -#9275=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9276=REPRESENTATION('shape environment',(#9278),#8399); -#9277=REPRESENTATION_RELATIONSHIP('',$,#278,#9276); -#9278=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9279=REPRESENTATION('shape extent',(#9281),#8399); -#9280=REPRESENTATION_RELATIONSHIP('',$,#278,#9279); -#9281=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9282=REPRESENTATION('shape approximation level',(#9284),#8399); -#9283=REPRESENTATION_RELATIONSHIP('',$,#278,#9282); -#9284=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9285=REPRESENTATION('mass property quality',(#9287),#8399); -#9286=REPRESENTATION_RELATIONSHIP('',$,#278,#9285); -#9287=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9288=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#278,#281); -#9289=REPRESENTATION('shape location',(#9291),#8399); -#9290=REPRESENTATION_RELATIONSHIP('',$,#278,#9289); -#9291=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9292=REPRESENTATION('predefined shape purpose',(#9294),#8399); -#9293=REPRESENTATION_RELATIONSHIP('',$,#278,#9292); -#9294=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9295=DESCRIPTION_ATTRIBUTE('pupsm',#303); -#9296=SHAPE_DEFINITION_REPRESENTATION(#301,#303); -#9297=REPRESENTATION('shape material condition',(#9299),#8399); -#9298=REPRESENTATION_RELATIONSHIP('',$,#303,#9297); -#9299=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9300=REPRESENTATION('shape environment',(#9302),#8399); -#9301=REPRESENTATION_RELATIONSHIP('',$,#303,#9300); -#9302=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9303=REPRESENTATION('shape extent',(#9305),#8399); -#9304=REPRESENTATION_RELATIONSHIP('',$,#303,#9303); -#9305=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9306=REPRESENTATION('shape approximation level',(#9308),#8399); -#9307=REPRESENTATION_RELATIONSHIP('',$,#303,#9306); -#9308=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9309=REPRESENTATION('mass property quality',(#9311),#8399); -#9310=REPRESENTATION_RELATIONSHIP('',$,#303,#9309); -#9311=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9312=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#303,#306); -#9313=REPRESENTATION('shape location',(#9315),#8399); -#9314=REPRESENTATION_RELATIONSHIP('',$,#303,#9313); -#9315=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9316=REPRESENTATION('predefined shape purpose',(#9318),#8399); -#9317=REPRESENTATION_RELATIONSHIP('',$,#303,#9316); -#9318=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9319=DESCRIPTION_ATTRIBUTE('pupsm',#328); -#9320=SHAPE_DEFINITION_REPRESENTATION(#326,#328); -#9321=REPRESENTATION('shape material condition',(#9323),#8399); -#9322=REPRESENTATION_RELATIONSHIP('',$,#328,#9321); -#9323=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9324=REPRESENTATION('shape environment',(#9326),#8399); -#9325=REPRESENTATION_RELATIONSHIP('',$,#328,#9324); -#9326=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9327=REPRESENTATION('shape extent',(#9329),#8399); -#9328=REPRESENTATION_RELATIONSHIP('',$,#328,#9327); -#9329=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9330=REPRESENTATION('shape approximation level',(#9332),#8399); -#9331=REPRESENTATION_RELATIONSHIP('',$,#328,#9330); -#9332=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9333=REPRESENTATION('mass property quality',(#9335),#8399); -#9334=REPRESENTATION_RELATIONSHIP('',$,#328,#9333); -#9335=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9336=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#328,#331); -#9337=REPRESENTATION('shape location',(#9339),#8399); -#9338=REPRESENTATION_RELATIONSHIP('',$,#328,#9337); -#9339=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9340=REPRESENTATION('predefined shape purpose',(#9342),#8399); -#9341=REPRESENTATION_RELATIONSHIP('',$,#328,#9340); -#9342=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9343=DESCRIPTION_ATTRIBUTE('pupsm',#365); -#9344=SHAPE_DEFINITION_REPRESENTATION(#363,#365); -#9345=REPRESENTATION('shape material condition',(#9347),#8399); -#9346=REPRESENTATION_RELATIONSHIP('',$,#365,#9345); -#9347=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9348=REPRESENTATION('shape environment',(#9350),#8399); -#9349=REPRESENTATION_RELATIONSHIP('',$,#365,#9348); -#9350=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9351=REPRESENTATION('shape extent',(#9353),#8399); -#9352=REPRESENTATION_RELATIONSHIP('',$,#365,#9351); -#9353=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9354=REPRESENTATION('shape approximation level',(#9356),#8399); -#9355=REPRESENTATION_RELATIONSHIP('',$,#365,#9354); -#9356=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9357=REPRESENTATION('mass property quality',(#9359),#8399); -#9358=REPRESENTATION_RELATIONSHIP('',$,#365,#9357); -#9359=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9360=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#365,#368); -#9361=REPRESENTATION('shape location',(#9363),#8399); -#9362=REPRESENTATION_RELATIONSHIP('',$,#365,#9361); -#9363=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9364=REPRESENTATION('predefined shape purpose',(#9366),#8399); -#9365=REPRESENTATION_RELATIONSHIP('',$,#365,#9364); -#9366=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9367=DESCRIPTION_ATTRIBUTE('pupsm',#402); -#9368=SHAPE_DEFINITION_REPRESENTATION(#400,#402); -#9369=REPRESENTATION('shape material condition',(#9371),#8399); -#9370=REPRESENTATION_RELATIONSHIP('',$,#402,#9369); -#9371=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9372=REPRESENTATION('shape environment',(#9374),#8399); -#9373=REPRESENTATION_RELATIONSHIP('',$,#402,#9372); -#9374=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9375=REPRESENTATION('shape extent',(#9377),#8399); -#9376=REPRESENTATION_RELATIONSHIP('',$,#402,#9375); -#9377=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9378=REPRESENTATION('shape approximation level',(#9380),#8399); -#9379=REPRESENTATION_RELATIONSHIP('',$,#402,#9378); -#9380=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9381=REPRESENTATION('mass property quality',(#9383),#8399); -#9382=REPRESENTATION_RELATIONSHIP('',$,#402,#9381); -#9383=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9384=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#402,#405); -#9385=REPRESENTATION('shape location',(#9387),#8399); -#9386=REPRESENTATION_RELATIONSHIP('',$,#402,#9385); -#9387=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9388=REPRESENTATION('predefined shape purpose',(#9390),#8399); -#9389=REPRESENTATION_RELATIONSHIP('',$,#402,#9388); -#9390=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9391=DESCRIPTION_ATTRIBUTE('pupsm',#439); -#9392=SHAPE_DEFINITION_REPRESENTATION(#437,#439); -#9393=REPRESENTATION('shape material condition',(#9395),#8399); -#9394=REPRESENTATION_RELATIONSHIP('',$,#439,#9393); -#9395=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9396=REPRESENTATION('shape environment',(#9398),#8399); -#9397=REPRESENTATION_RELATIONSHIP('',$,#439,#9396); -#9398=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9399=REPRESENTATION('shape extent',(#9401),#8399); -#9400=REPRESENTATION_RELATIONSHIP('',$,#439,#9399); -#9401=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9402=REPRESENTATION('shape approximation level',(#9404),#8399); -#9403=REPRESENTATION_RELATIONSHIP('',$,#439,#9402); -#9404=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9405=REPRESENTATION('mass property quality',(#9407),#8399); -#9406=REPRESENTATION_RELATIONSHIP('',$,#439,#9405); -#9407=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9408=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#439,#442); -#9409=REPRESENTATION('shape location',(#9411),#8399); -#9410=REPRESENTATION_RELATIONSHIP('',$,#439,#9409); -#9411=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9412=REPRESENTATION('predefined shape purpose',(#9414),#8399); -#9413=REPRESENTATION_RELATIONSHIP('',$,#439,#9412); -#9414=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9415=DESCRIPTION_ATTRIBUTE('pupsm',#456); -#9416=SHAPE_DEFINITION_REPRESENTATION(#437,#456); -#9417=REPRESENTATION('shape material condition',(#9419),#8399); -#9418=REPRESENTATION_RELATIONSHIP('',$,#456,#9417); -#9419=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9420=REPRESENTATION('shape environment',(#9422),#8399); -#9421=REPRESENTATION_RELATIONSHIP('',$,#456,#9420); -#9422=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9423=REPRESENTATION('shape extent',(#9425),#8399); -#9424=REPRESENTATION_RELATIONSHIP('',$,#456,#9423); -#9425=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#9426=REPRESENTATION('shape approximation level',(#9428),#8399); -#9427=REPRESENTATION_RELATIONSHIP('',$,#456,#9426); -#9428=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9429=REPRESENTATION('mass property quality',(#9431),#8399); -#9430=REPRESENTATION_RELATIONSHIP('',$,#456,#9429); -#9431=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9432=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#456,#442); -#9433=REPRESENTATION('shape location',(#9435),#8399); -#9434=REPRESENTATION_RELATIONSHIP('',$,#456,#9433); -#9435=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9436=REPRESENTATION('predefined shape purpose',(#9438),#8399); -#9437=REPRESENTATION_RELATIONSHIP('',$,#456,#9436); -#9438=DESCRIPTIVE_REPRESENTATION_ITEM('thermal analysis input',''); -#9439=DESCRIPTION_ATTRIBUTE('pupsm',#475); -#9440=SHAPE_DEFINITION_REPRESENTATION(#473,#475); -#9441=REPRESENTATION('shape material condition',(#9443),#8399); -#9442=REPRESENTATION_RELATIONSHIP('',$,#475,#9441); -#9443=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#9444=REPRESENTATION('shape environment',(#9446),#8399); -#9445=REPRESENTATION_RELATIONSHIP('',$,#475,#9444); -#9446=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#9447=REPRESENTATION('shape extent',(#9449),#8399); -#9448=REPRESENTATION_RELATIONSHIP('',$,#475,#9447); -#9449=DESCRIPTIVE_REPRESENTATION_ITEM('envelope',''); -#9450=REPRESENTATION('shape approximation level',(#9452),#8399); -#9451=REPRESENTATION_RELATIONSHIP('',$,#475,#9450); -#9452=DESCRIPTIVE_REPRESENTATION_ITEM('coarse',''); -#9453=REPRESENTATION('mass property quality',(#9455),#8399); -#9454=REPRESENTATION_RELATIONSHIP('',$,#475,#9453); -#9455=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#9456=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#475,#478); -#9457=REPRESENTATION('shape location',(#9459),#8399); -#9458=REPRESENTATION_RELATIONSHIP('',$,#475,#9457); -#9459=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#9460=REPRESENTATION('predefined shape purpose',(#9462),#8399); -#9461=REPRESENTATION_RELATIONSHIP('',$,#475,#9460); -#9462=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#9463=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#7462)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#9464=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','3'); -#9465=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#9466=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#9467=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#9468=(GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#7462)) - PARAMETRIC_REPRESENTATION_CONTEXT()REPRESENTATION_CONTEXT('','curve style parametric context')); -#9469=DESCRIPTIVE_REPRESENTATION_ITEM('curve style name','4'); -#9470=DESCRIPTIVE_REPRESENTATION_ITEM('corner style','round'); -#9471=DESCRIPTIVE_REPRESENTATION_ITEM('end extension','extend'); -#9472=DESCRIPTIVE_REPRESENTATION_ITEM('end style','round'); -#9474=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1319,#8382,#8334); -#9475=ID_ATTRIBUTE('1',#1319); -#9477=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1371,#8382,#8334); -#9478=ID_ATTRIBUTE('1',#1371); -#9480=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2501,#8382,#8334); -#9481=ID_ATTRIBUTE('1',#2501); -#9483=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2553,#8382,#8334); -#9484=ID_ATTRIBUTE('1',#2553); -#9486=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2599,#8382,#8334); -#9487=ID_ATTRIBUTE('1',#2599); -#9489=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2651,#8382,#8334); -#9490=ID_ATTRIBUTE('1',#2651); -#9492=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2727,#8382,#8334); -#9493=ID_ATTRIBUTE('1',#2727); -#9494=PROPERTY_DEFINITION('allowed component terminal extent',$,#1019); -#9495=PROPERTY_DEFINITION_REPRESENTATION(#9494,#1023); -#9496=PROPERTY_DEFINITION('plated passage','true',#1019); -#9497=REPRESENTATION('',(#1020),#8399); -#9498=PROPERTY_DEFINITION('as finished passage extent',$,#1019); -#9499=PROPERTY_DEFINITION_REPRESENTATION(#9498,#9497); -#9500=PROPERTY_DEFINITION('allowed component terminal extent',$,#1155); -#9501=PROPERTY_DEFINITION_REPRESENTATION(#9500,#1023); -#9502=PROPERTY_DEFINITION('plated passage','true',#1155); -#9503=REPRESENTATION('',(#1156),#8399); -#9504=PROPERTY_DEFINITION('as finished passage extent',$,#1155); -#9505=PROPERTY_DEFINITION_REPRESENTATION(#9504,#9503); -#9506=PROPERTY_DEFINITION('allowed component terminal extent',$,#1391); -#9507=PROPERTY_DEFINITION_REPRESENTATION(#9506,#1023); -#9508=PROPERTY_DEFINITION('plated passage','true',#1391); -#9509=REPRESENTATION('',(#1392),#8399); -#9510=PROPERTY_DEFINITION('as finished passage extent',$,#1391); -#9511=PROPERTY_DEFINITION_REPRESENTATION(#9510,#9509); -#9512=PROPERTY_DEFINITION('allowed component terminal extent',$,#1665); -#9513=PROPERTY_DEFINITION_REPRESENTATION(#9512,#1023); -#9514=PROPERTY_DEFINITION('plated passage','true',#1665); -#9515=REPRESENTATION('',(#1666),#8399); -#9516=PROPERTY_DEFINITION('as finished passage extent',$,#1665); -#9517=PROPERTY_DEFINITION_REPRESENTATION(#9516,#9515); -#9518=PROPERTY_DEFINITION('allowed component terminal extent',$,#1805); -#9519=PROPERTY_DEFINITION_REPRESENTATION(#9518,#1023); -#9520=PROPERTY_DEFINITION('plated passage','true',#1805); -#9521=REPRESENTATION('',(#1806),#8399); -#9522=PROPERTY_DEFINITION('as finished passage extent',$,#1805); -#9523=PROPERTY_DEFINITION_REPRESENTATION(#9522,#9521); -#9525=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1095,#8382,#8334); -#9526=ID_ATTRIBUTE('1',#1095); -#9527=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1019,#1095); -#9529=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1227,#8382,#8334); -#9530=ID_ATTRIBUTE('1',#1227); -#9531=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1155,#1227); -#9533=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1463,#8382,#8334); -#9534=ID_ATTRIBUTE('1',#1463); -#9535=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1391,#1463); -#9537=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1605,#8382,#8334); -#9538=ID_ATTRIBUTE('1',#1605); -#9539=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1155,#1605); -#9541=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1745,#8382,#8334); -#9542=ID_ATTRIBUTE('1',#1745); -#9543=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1665,#1745); -#9545=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1885,#8382,#8334); -#9546=ID_ATTRIBUTE('1',#1885); -#9547=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1805,#1885); -#9549=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2013,#8382,#8334); -#9550=ID_ATTRIBUTE('1',#2013); -#9551=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1155,#2013); -#9553=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2155,#8382,#8334); -#9554=ID_ATTRIBUTE('1',#2155); -#9555=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1155,#2155); -#9557=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2297,#8382,#8334); -#9558=ID_ATTRIBUTE('1',#2297); -#9559=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1391,#2297); -#9561=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2439,#8382,#8334); -#9562=ID_ATTRIBUTE('1',#2439); -#9563=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#1019,#2439); -#9565=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2827,#8382,#8334); -#9566=ID_ATTRIBUTE('1',#2827); -#9567=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2750,#2827); -#9569=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2969,#8382,#8334); -#9570=ID_ATTRIBUTE('1',#2969); -#9571=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2892,#2969); -#9573=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3111,#8382,#8334); -#9574=ID_ATTRIBUTE('1',#3111); -#9575=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3034,#3111); -#9576=PROPERTY_DEFINITION('plated passage','false',#4366); -#9577=REPRESENTATION('',(#4367),#8399); -#9578=PROPERTY_DEFINITION('as finished passage extent',$,#4366); -#9579=PROPERTY_DEFINITION_REPRESENTATION(#9578,#9577); -#9580=PROPERTY_DEFINITION('plated passage','true',#2750); -#9581=REPRESENTATION('',(#2751),#8399); -#9582=PROPERTY_DEFINITION('as finished passage extent',$,#2750); -#9583=PROPERTY_DEFINITION_REPRESENTATION(#9582,#9581); -#9584=PROPERTY_DEFINITION('as finished deposition thickness',$,#2750); -#9585=PROPERTY_DEFINITION_REPRESENTATION(#9584,#2754); -#9586=PROPERTY_DEFINITION('plated passage','true',#2892); -#9587=REPRESENTATION('',(#2893),#8399); -#9588=PROPERTY_DEFINITION('as finished passage extent',$,#2892); -#9589=PROPERTY_DEFINITION_REPRESENTATION(#9588,#9587); -#9590=PROPERTY_DEFINITION('as finished deposition thickness',$,#2892); -#9591=PROPERTY_DEFINITION_REPRESENTATION(#9590,#2896); -#9592=PROPERTY_DEFINITION('plated passage','true',#3034); -#9593=REPRESENTATION('',(#3035),#8399); -#9594=PROPERTY_DEFINITION('as finished passage extent',$,#3034); -#9595=PROPERTY_DEFINITION_REPRESENTATION(#9594,#9593); -#9596=PROPERTY_DEFINITION('as finished deposition thickness',$,#3034); -#9597=PROPERTY_DEFINITION_REPRESENTATION(#9596,#3038); -#9598=PROPERTY_DEFINITION('',$,#7475); -#9599=PROPERTY_DEFINITION_REPRESENTATION(#9598,#9600); -#9600=SHAPE_REPRESENTATION('connection point location 2d',(#7476),#35); -#9601=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7022,#7475); -#9602=PROPERTY_DEFINITION('',$,#7491); -#9603=PROPERTY_DEFINITION_REPRESENTATION(#9602,#9604); -#9604=SHAPE_REPRESENTATION('connection point location 2d',(#7492),#35); -#9605=SHAPE_ASPECT('',$,#7304,.U.); -#9606=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#9605,#7491); -#9607=PROPERTY_DEFINITION('',$,#7507); -#9608=PROPERTY_DEFINITION_REPRESENTATION(#9607,#9609); -#9609=SHAPE_REPRESENTATION('connection point location 2d',(#7508),#35); -#9610=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7182,#7507); -#9611=PROPERTY_DEFINITION('',$,#7510); -#9612=PROPERTY_DEFINITION_REPRESENTATION(#9611,#9613); -#9613=SHAPE_REPRESENTATION('connection point location 2d',(#7511),#35); -#9614=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7038,#7510); -#9615=PROPERTY_DEFINITION('',$,#7522); -#9616=PROPERTY_DEFINITION_REPRESENTATION(#9615,#9617); -#9617=SHAPE_REPRESENTATION('connection point location 2d',(#7523),#35); -#9618=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7154,#7522); -#9619=PROPERTY_DEFINITION('',$,#7536); -#9620=PROPERTY_DEFINITION_REPRESENTATION(#9619,#9621); -#9621=SHAPE_REPRESENTATION('connection point location 2d',(#7537),#35); -#9622=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7030,#7536); -#9623=PROPERTY_DEFINITION('',$,#7552); -#9624=PROPERTY_DEFINITION_REPRESENTATION(#9623,#9625); -#9625=SHAPE_REPRESENTATION('connection point location 2d',(#7553),#35); -#9626=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#6968,#7552); -#9627=PROPERTY_DEFINITION('',$,#7555); -#9628=PROPERTY_DEFINITION_REPRESENTATION(#9627,#9629); -#9629=SHAPE_REPRESENTATION('connection point location 2d',(#7556),#35); -#9630=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7046,#7555); -#9631=PROPERTY_DEFINITION('',$,#7566); -#9632=PROPERTY_DEFINITION_REPRESENTATION(#9631,#9633); -#9633=SHAPE_REPRESENTATION('connection point location 2d',(#7567),#35); -#9634=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7190,#7566); -#9635=PROPERTY_DEFINITION('',$,#7585); -#9636=PROPERTY_DEFINITION_REPRESENTATION(#9635,#9637); -#9637=SHAPE_REPRESENTATION('connection point location 2d',(#7586),#35); -#9638=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7238,#7585); -#9639=PROPERTY_DEFINITION('',$,#7596); -#9640=PROPERTY_DEFINITION_REPRESENTATION(#9639,#9641); -#9641=SHAPE_REPRESENTATION('connection point location 2d',(#7597),#35); -#9642=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7054,#7596); -#9643=PROPERTY_DEFINITION('',$,#7614); -#9644=PROPERTY_DEFINITION_REPRESENTATION(#9643,#9645); -#9645=SHAPE_REPRESENTATION('connection point location 2d',(#7615),#35); -#9646=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7098,#7614); -#9647=PROPERTY_DEFINITION('',$,#7617); -#9648=PROPERTY_DEFINITION_REPRESENTATION(#9647,#9649); -#9649=SHAPE_REPRESENTATION('connection point location 2d',(#7618),#35); -#9650=SHAPE_ASPECT('',$,#7346,.U.); -#9651=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#9650,#7617); -#9652=PROPERTY_DEFINITION('',$,#7634); -#9653=PROPERTY_DEFINITION_REPRESENTATION(#9652,#9654); -#9654=SHAPE_REPRESENTATION('connection point location 2d',(#7635),#35); -#9655=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#6940,#7634); -#9656=PROPERTY_DEFINITION('',$,#7637); -#9657=PROPERTY_DEFINITION_REPRESENTATION(#9656,#9658); -#9658=SHAPE_REPRESENTATION('connection point location 2d',(#7638),#35); -#9659=SHAPE_ASPECT('',$,#7325,.U.); -#9660=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#9659,#7637); -#9661=PROPERTY_DEFINITION('',$,#7653); -#9662=PROPERTY_DEFINITION_REPRESENTATION(#9661,#9663); -#9663=SHAPE_REPRESENTATION('connection point location 2d',(#7654),#35); -#9664=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7210,#7653); -#9665=PROPERTY_DEFINITION('',$,#7656); -#9666=PROPERTY_DEFINITION_REPRESENTATION(#9665,#9667); -#9667=SHAPE_REPRESENTATION('connection point location 2d',(#7657),#35); -#9668=SHAPE_ASPECT('',$,#7262,.U.); -#9669=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#9668,#7656); -#9670=PROPERTY_DEFINITION('',$,#7673); -#9671=PROPERTY_DEFINITION_REPRESENTATION(#9670,#9672); -#9672=SHAPE_REPRESENTATION('connection point location 2d',(#7674),#35); -#9673=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7126,#7673); -#9674=PROPERTY_DEFINITION('',$,#7689); -#9675=PROPERTY_DEFINITION_REPRESENTATION(#9674,#9676); -#9676=SHAPE_REPRESENTATION('connection point location 2d',(#7690),#35); -#9677=SHAPE_ASPECT('',$,#7283,.U.); -#9678=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#9677,#7689); -#9679=PROPERTY_DEFINITION('',$,#7739); -#9680=PROPERTY_DEFINITION_REPRESENTATION(#9679,#9681); -#9681=SHAPE_REPRESENTATION('connection point location 2d',(#7740),#35); -#9682=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7162,#7739); -#9683=PROPERTY_DEFINITION('',$,#7765); -#9684=PROPERTY_DEFINITION_REPRESENTATION(#9683,#9685); -#9685=SHAPE_REPRESENTATION('connection point location 2d',(#7766),#35); -#9686=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#6912,#7765); -#9687=PROPERTY_DEFINITION('',$,#7779); -#9688=PROPERTY_DEFINITION_REPRESENTATION(#9687,#9689); -#9689=SHAPE_REPRESENTATION('connection point location 2d',(#7780),#35); -#9690=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7246,#7779); -#9691=PROPERTY_DEFINITION('',$,#7807); -#9692=PROPERTY_DEFINITION_REPRESENTATION(#9691,#9693); -#9693=SHAPE_REPRESENTATION('connection point location 2d',(#7808),#35); -#9694=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7062,#7807); -#9695=PROPERTY_DEFINITION('',$,#7829); -#9696=PROPERTY_DEFINITION_REPRESENTATION(#9695,#9697); -#9697=SHAPE_REPRESENTATION('connection point location 2d',(#7830),#35); -#9698=SHAPE_ASPECT('',$,#7388,.U.); -#9699=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#9698,#7829); -#9700=PROPERTY_DEFINITION('',$,#7858); -#9701=PROPERTY_DEFINITION_REPRESENTATION(#9700,#9702); -#9702=SHAPE_REPRESENTATION('connection point location 2d',(#7859),#35); -#9703=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#6948,#7858); -#9704=PROPERTY_DEFINITION('',$,#7874); -#9705=PROPERTY_DEFINITION_REPRESENTATION(#9704,#9706); -#9706=SHAPE_REPRESENTATION('connection point location 2d',(#7875),#35); -#9707=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7106,#7874); -#9708=PROPERTY_DEFINITION('',$,#7899); -#9709=PROPERTY_DEFINITION_REPRESENTATION(#9708,#9710); -#9710=SHAPE_REPRESENTATION('connection point location 2d',(#7900),#35); -#9711=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7134,#7899); -#9712=PROPERTY_DEFINITION('',$,#7921); -#9713=PROPERTY_DEFINITION_REPRESENTATION(#9712,#9714); -#9714=SHAPE_REPRESENTATION('connection point location 2d',(#7922),#35); -#9715=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7218,#7921); -#9716=PROPERTY_DEFINITION('',$,#7943); -#9717=PROPERTY_DEFINITION_REPRESENTATION(#9716,#9718); -#9718=SHAPE_REPRESENTATION('connection point location 2d',(#7944),#35); -#9719=SHAPE_ASPECT('',$,#7367,.U.); -#9720=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#9719,#7943); -#9721=PROPERTY_DEFINITION('',$,#7962); -#9722=PROPERTY_DEFINITION_REPRESENTATION(#9721,#9723); -#9723=SHAPE_REPRESENTATION('connection point location 2d',(#7963),#35); -#9724=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7070,#7962); -#9725=PROPERTY_DEFINITION('',$,#7977); -#9726=PROPERTY_DEFINITION_REPRESENTATION(#9725,#9727); -#9727=SHAPE_REPRESENTATION('connection point location 2d',(#7978),#35); -#9728=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#7078,#7977); -#9729=PROPERTY_DEFINITION('',$,#7987); -#9730=PROPERTY_DEFINITION_REPRESENTATION(#9729,#9731); -#9731=SHAPE_REPRESENTATION('connection point location 2d',(#7988),#35); -#9732=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#6976,#7987); -#9733=PROPERTY_DEFINITION('',$,#8003); -#9734=PROPERTY_DEFINITION_REPRESENTATION(#9733,#9735); -#9735=SHAPE_REPRESENTATION('connection point location 2d',(#8004),#35); -#9736=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#6920,#8003); -#9737=PROPERTY_DEFINITION('',$,#8006); -#9738=PROPERTY_DEFINITION_REPRESENTATION(#9737,#9739); -#9739=SHAPE_REPRESENTATION('connection point location 2d',(#8007),#35); -#9740=SHAPE_ASPECT_RELATIONSHIP('associated design object',$,#9719,#8006); -#9741=PROPERTY_DEFINITION('required characteristic',$,#951); -#9742=REPRESENTATION('',(#952),#8399); -#9743=PROPERTY_DEFINITION_REPRESENTATION(#9741,#9742); -#9744=PROPERTY_DEFINITION('required characteristic',$,#6700); -#9745=REPRESENTATION('',(#6703),#8399); -#9746=PROPERTY_DEFINITION_REPRESENTATION(#9744,#9745); -#9747=PROPERTY_DEFINITION('required characteristic',$,#6796); -#9748=REPRESENTATION('',(#6799),#8399); -#9749=PROPERTY_DEFINITION_REPRESENTATION(#9747,#9748); -#9750=ID_ATTRIBUTE('LAYER_2',#910); -#9751=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#824,#910); -#9752=ID_ATTRIBUTE('LAYER_1',#914); -#9753=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#802,#914); -#9754=ID_ATTRIBUTE('LAYER_2',#6482); -#9755=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#824,#6482); -#9756=ID_ATTRIBUTE('LAYER_1',#6486); -#9757=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#802,#6486); -#9758=PROPERTY_DEFINITION('stratum thickness',$,#791); -#9759=PROPERTY_DEFINITION_REPRESENTATION(#9758,#795); -#9760=PROPERTY_DEFINITION('layer position','external',#791); -#9761=PROPERTY_DEFINITION('layer purpose','other signal',#791); -#9762=PROPERTY_DEFINITION('stratum thickness',$,#798); -#9763=PROPERTY_DEFINITION_REPRESENTATION(#9762,#799); -#9764=PROPERTY_DEFINITION('layer position','internal',#798); -#9765=PROPERTY_DEFINITION('layer purpose','other signal',#798); -#9766=PROPERTY_DEFINITION('stratum thickness',$,#826); -#9767=PROPERTY_DEFINITION_REPRESENTATION(#9766,#827); -#9768=PROPERTY_DEFINITION('layer position','internal',#826); -#9769=PROPERTY_DEFINITION('layer purpose','power or ground',#826); -#9770=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#889,#8382,#8334); -#9771=ID_ATTRIBUTE('1',#889); -#9772=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#772,#902); -#9773=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#768,#904); -#9774=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#776,#906); -#9775=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#780,#908); -#9776=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#779,#916); -#9777=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#775,#918); -#9778=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#771,#920); -#9779=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#767,#922); -#9780=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#772,#6474); -#9781=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#768,#6476); -#9782=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#776,#6478); -#9783=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#780,#6480); -#9784=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#779,#6488); -#9785=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#775,#6490); -#9786=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#771,#6492); -#9787=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#767,#6494); -#9788=PROPERTY_DEFINITION('stratum thickness',$,#760); -#9789=PROPERTY_DEFINITION_REPRESENTATION(#9788,#761); -#9790=PROPERTY_DEFINITION('layer position','external',#760); -#9791=PROPERTY_DEFINITION('layer purpose','gluemask',#760); -#9792=PROPERTY_DEFINITION('stratum thickness',$,#770); -#9793=PROPERTY_DEFINITION_REPRESENTATION(#9792,#761); -#9794=PROPERTY_DEFINITION('layer position','external',#770); -#9795=PROPERTY_DEFINITION('layer purpose','pastemask',#770); -#9796=PROPERTY_DEFINITION('stratum thickness',$,#774); -#9797=PROPERTY_DEFINITION_REPRESENTATION(#9796,#761); -#9798=PROPERTY_DEFINITION('layer position','external',#774); -#9799=PROPERTY_DEFINITION('layer purpose','silkscreen',#774); -#9800=PROPERTY_DEFINITION('stratum thickness',$,#778); -#9801=PROPERTY_DEFINITION_REPRESENTATION(#9800,#761); -#9802=PROPERTY_DEFINITION('layer position','external',#778); -#9803=PROPERTY_DEFINITION('layer purpose','soldermask',#778); -#9804=PRODUCT_CONTEXT('document',#8333,''); -#9806=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1043,#8382,#8334); -#9807=ID_ATTRIBUTE('1',#1043); -#9809=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1175,#8382,#8334); -#9810=ID_ATTRIBUTE('1',#1175); -#9812=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1411,#8382,#8334); -#9813=ID_ATTRIBUTE('1',#1411); -#9815=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1569,#8382,#8334); -#9816=ID_ATTRIBUTE('1',#1569); -#9818=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1709,#8382,#8334); -#9819=ID_ATTRIBUTE('1',#1709); -#9821=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1849,#8382,#8334); -#9822=ID_ATTRIBUTE('1',#1849); -#9824=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1961,#8382,#8334); -#9825=ID_ATTRIBUTE('1',#1961); -#9827=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2119,#8382,#8334); -#9828=ID_ATTRIBUTE('1',#2119); -#9830=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2261,#8382,#8334); -#9831=ID_ATTRIBUTE('1',#2261); -#9833=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2403,#8382,#8334); -#9834=ID_ATTRIBUTE('1',#2403); -#9836=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2791,#8382,#8334); -#9837=ID_ATTRIBUTE('1',#2791); -#9839=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2933,#8382,#8334); -#9840=ID_ATTRIBUTE('1',#2933); -#9842=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3075,#8382,#8334); -#9843=ID_ATTRIBUTE('1',#3075); -#9845=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4344,#8382,#8334); -#9846=ID_ATTRIBUTE('1',#4344); -#9848=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4356,#8382,#8334); -#9849=ID_ATTRIBUTE('1',#4356); -#9851=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4404,#8382,#8334); -#9852=ID_ATTRIBUTE('1',#4404); -#9854=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4416,#8382,#8334); -#9855=ID_ATTRIBUTE('1',#4416); -#9857=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4453,#8382,#8334); -#9858=ID_ATTRIBUTE('1',#4453); -#9860=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#5014,#8382,#8334); -#9861=ID_ATTRIBUTE('1',#5014); -#9862=PROPERTY_DEFINITION('',$,#7459); -#9863=PROPERTY_DEFINITION_REPRESENTATION(#9862,#9864); -#9864=SHAPE_REPRESENTATION('connection point location 2d',(#7458),#35); -#9865=PROPERTY_DEFINITION('',$,#7575); -#9866=PROPERTY_DEFINITION_REPRESENTATION(#9865,#9867); -#9867=SHAPE_REPRESENTATION('connection point location 2d',(#7574),#35); -#9868=PROPERTY_DEFINITION('',$,#7672); -#9869=PROPERTY_DEFINITION_REPRESENTATION(#9868,#9870); -#9870=SHAPE_REPRESENTATION('connection point location 2d',(#7671),#35); -#9871=PROPERTY_DEFINITION('',$,#7687); -#9872=PROPERTY_DEFINITION_REPRESENTATION(#9871,#9873); -#9873=SHAPE_REPRESENTATION('connection point location 2d',(#7686),#35); -#9874=PROPERTY_DEFINITION('',$,#7697); -#9875=PROPERTY_DEFINITION_REPRESENTATION(#9874,#9876); -#9876=SHAPE_REPRESENTATION('connection point location 2d',(#7696),#35); -#9877=PROPERTY_DEFINITION('',$,#7699); -#9878=PROPERTY_DEFINITION_REPRESENTATION(#9877,#9879); -#9879=SHAPE_REPRESENTATION('connection point location 2d',(#7698),#35); -#9880=PROPERTY_DEFINITION('',$,#7701); -#9881=PROPERTY_DEFINITION_REPRESENTATION(#9880,#9882); -#9882=SHAPE_REPRESENTATION('connection point location 2d',(#7700),#35); -#9883=PROPERTY_DEFINITION('',$,#7703); -#9884=PROPERTY_DEFINITION_REPRESENTATION(#9883,#9885); -#9885=SHAPE_REPRESENTATION('connection point location 2d',(#7702),#35); -#9886=PROPERTY_DEFINITION('',$,#7705); -#9887=PROPERTY_DEFINITION_REPRESENTATION(#9886,#9888); -#9888=SHAPE_REPRESENTATION('connection point location 2d',(#7704),#35); -#9889=PROPERTY_DEFINITION('',$,#7707); -#9890=PROPERTY_DEFINITION_REPRESENTATION(#9889,#9891); -#9891=SHAPE_REPRESENTATION('connection point location 2d',(#7706),#35); -#9892=PROPERTY_DEFINITION('',$,#7709); -#9893=PROPERTY_DEFINITION_REPRESENTATION(#9892,#9894); -#9894=SHAPE_REPRESENTATION('connection point location 2d',(#7708),#35); -#9895=PROPERTY_DEFINITION('',$,#7711); -#9896=PROPERTY_DEFINITION_REPRESENTATION(#9895,#9897); -#9897=SHAPE_REPRESENTATION('connection point location 2d',(#7710),#35); -#9898=PROPERTY_DEFINITION('',$,#7713); -#9899=PROPERTY_DEFINITION_REPRESENTATION(#9898,#9900); -#9900=SHAPE_REPRESENTATION('connection point location 2d',(#7712),#35); -#9901=PROPERTY_DEFINITION('',$,#7715); -#9902=PROPERTY_DEFINITION_REPRESENTATION(#9901,#9903); -#9903=SHAPE_REPRESENTATION('connection point location 2d',(#7714),#35); -#9904=PROPERTY_DEFINITION('',$,#7717); -#9905=PROPERTY_DEFINITION_REPRESENTATION(#9904,#9906); -#9906=SHAPE_REPRESENTATION('connection point location 2d',(#7716),#35); -#9907=PROPERTY_DEFINITION('',$,#7857); -#9908=PROPERTY_DEFINITION_REPRESENTATION(#9907,#9909); -#9909=SHAPE_REPRESENTATION('connection point location 2d',(#7856),#35); -#9910=PROPERTY_DEFINITION('',$,#7873); -#9911=PROPERTY_DEFINITION_REPRESENTATION(#9910,#9912); -#9912=SHAPE_REPRESENTATION('connection point location 2d',(#7872),#35); -#9913=PROPERTY_DEFINITION('',$,#7883); -#9914=PROPERTY_DEFINITION_REPRESENTATION(#9913,#9915); -#9915=SHAPE_REPRESENTATION('connection point location 2d',(#7882),#35); -#9916=PROPERTY_DEFINITION('',$,#7885); -#9917=PROPERTY_DEFINITION_REPRESENTATION(#9916,#9918); -#9918=SHAPE_REPRESENTATION('connection point location 2d',(#7884),#35); -#9919=PROPERTY_DEFINITION('',$,#7887); -#9920=PROPERTY_DEFINITION_REPRESENTATION(#9919,#9921); -#9921=SHAPE_REPRESENTATION('connection point location 2d',(#7886),#35); -#9922=PROPERTY_DEFINITION('',$,#7889); -#9923=PROPERTY_DEFINITION_REPRESENTATION(#9922,#9924); -#9924=SHAPE_REPRESENTATION('connection point location 2d',(#7888),#35); -#9925=PROPERTY_DEFINITION('',$,#7891); -#9926=PROPERTY_DEFINITION_REPRESENTATION(#9925,#9927); -#9927=SHAPE_REPRESENTATION('connection point location 2d',(#7890),#35); -#9928=PROPERTY_DEFINITION('',$,#7960); -#9929=PROPERTY_DEFINITION_REPRESENTATION(#9928,#9930); -#9930=SHAPE_REPRESENTATION('connection point location 2d',(#7959),#35); -#9931=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#992,#8382,#8334); -#9932=PROPERTY_DEFINITION('outer boundary style',$,#992); -#9933=PROPERTY_DEFINITION_REPRESENTATION(#9932,#989); -#9934=PROPERTY_DEFINITION('inner boundary style',$,#992); -#9935=PROPERTY_DEFINITION_REPRESENTATION(#9934,#989); -#9936=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6504,#8382,#8334); -#9937=PROPERTY_DEFINITION('outer boundary style',$,#6504); -#9938=PROPERTY_DEFINITION_REPRESENTATION(#9937,#6502); -#9939=PROPERTY_DEFINITION('inner boundary style',$,#6504); -#9940=PROPERTY_DEFINITION_REPRESENTATION(#9939,#6502); -#9942=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#127,#8382,#8334); -#9943=ID_ATTRIBUTE('1',#127); -#9944=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#127); -#9945=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#89,#127); -#9946=PROPERTY_DEFINITION('location','swappable',#127); -#9948=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#162,#8382,#8334); -#9949=ID_ATTRIBUTE('1',#162); -#9950=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#162); -#9951=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#132,#162); -#9952=PROPERTY_DEFINITION('location','swappable',#162); -#9954=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#196,#8382,#8334); -#9955=ID_ATTRIBUTE('1',#196); -#9956=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#196); -#9957=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#166,#196); -#9958=PROPERTY_DEFINITION('location','top',#196); -#9960=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#200,#8382,#8334); -#9961=ID_ATTRIBUTE('1',#200); -#9962=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#200); -#9963=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#166,#200); -#9964=PROPERTY_DEFINITION('location','bottom',#200); -#9966=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#234,#8382,#8334); -#9967=ID_ATTRIBUTE('1',#234); -#9968=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#234); -#9969=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#204,#234); -#9970=PROPERTY_DEFINITION('location','top',#234); -#9972=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#238,#8382,#8334); -#9973=ID_ATTRIBUTE('1',#238); -#9974=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#238); -#9975=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#204,#238); -#9976=PROPERTY_DEFINITION('location','bottom',#238); -#9978=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#272,#8382,#8334); -#9979=ID_ATTRIBUTE('1',#272); -#9980=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#272); -#9981=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#242,#272); -#9982=PROPERTY_DEFINITION('location','swappable',#272); -#9984=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#297,#8382,#8334); -#9985=ID_ATTRIBUTE('1',#297); -#9986=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#297); -#9987=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#276,#297); -#9988=PROPERTY_DEFINITION('location','symmetrical',#297); -#9990=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#322,#8382,#8334); -#9991=ID_ATTRIBUTE('1',#322); -#9992=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#322); -#9993=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#301,#322); -#9994=PROPERTY_DEFINITION('location','symmetrical',#322); -#9996=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#359,#8382,#8334); -#9997=ID_ATTRIBUTE('1',#359); -#9998=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#359); -#9999=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#326,#359); -#10000=PROPERTY_DEFINITION('location','symmetrical',#359); -#10002=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#396,#8382,#8334); -#10003=ID_ATTRIBUTE('1',#396); -#10004=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#396); -#10005=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#363,#396); -#10006=PROPERTY_DEFINITION('location','symmetrical',#396); -#10008=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#433,#8382,#8334); -#10009=ID_ATTRIBUTE('1',#433); -#10010=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#433); -#10011=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#400,#433); -#10012=PROPERTY_DEFINITION('location','symmetrical',#433); -#10014=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#465,#8382,#8334); -#10015=ID_ATTRIBUTE('1',#465); -#10016=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#465); -#10017=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#437,#465); -#10018=PROPERTY_DEFINITION('location','top',#465); -#10020=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#469,#8382,#8334); -#10021=ID_ATTRIBUTE('1',#469); -#10022=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#469); -#10023=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#437,#469); -#10024=PROPERTY_DEFINITION('location','bottom',#469); -#10026=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#506,#8382,#8334); -#10027=ID_ATTRIBUTE('1',#506); -#10028=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#506); -#10029=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#473,#506); -#10030=PROPERTY_DEFINITION('location','symmetrical',#506); -#10032=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#688,#8382,#8334); -#10033=ID_ATTRIBUTE('1',#688); -#10034=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#688); -#10035=PROPERTY_DEFINITION('location','symmetrical',#688); -#10037=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#693,#8382,#8334); -#10038=ID_ATTRIBUTE('1',#693); -#10039=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#693); -#10040=PROPERTY_DEFINITION('location','symmetrical',#693); -#10042=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#698,#8382,#8334); -#10043=ID_ATTRIBUTE('1',#698); -#10044=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#698); -#10045=PROPERTY_DEFINITION('location','symmetrical',#698); -#10047=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#703,#8382,#8334); -#10048=ID_ATTRIBUTE('1',#703); -#10049=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#703); -#10050=PROPERTY_DEFINITION('location','symmetrical',#703); -#10052=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#708,#8382,#8334); -#10053=ID_ATTRIBUTE('1',#708); -#10054=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#708); -#10055=PROPERTY_DEFINITION('location','symmetrical',#708); -#10057=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#713,#8382,#8334); -#10058=ID_ATTRIBUTE('1',#713); -#10059=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#713); -#10060=PROPERTY_DEFINITION('location','symmetrical',#713); -#10062=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#723,#8382,#8334); -#10063=ID_ATTRIBUTE('1',#723); -#10064=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#723); -#10065=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#718,#723); -#10066=PROPERTY_DEFINITION('location','symmetrical',#723); -#10068=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#733,#8382,#8334); -#10069=ID_ATTRIBUTE('1',#733); -#10070=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#733); -#10071=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#728,#733); -#10072=PROPERTY_DEFINITION('location','symmetrical',#733); -#10074=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#743,#8382,#8334); -#10075=ID_ATTRIBUTE('1',#743); -#10076=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#743); -#10077=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#738,#743); -#10078=PROPERTY_DEFINITION('location','symmetrical',#743); -#10080=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#754,#8382,#8334); -#10081=ID_ATTRIBUTE('1',#754); -#10082=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#754); -#10083=PROPERTY_DEFINITION_RELATIONSHIP('reference package','',#749,#754); -#10084=PROPERTY_DEFINITION('location','symmetrical',#754); -#10086=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#128); -#10087=SHAPE_DEFINITION_REPRESENTATION(#127,#128); -#10088=REPRESENTATION_RELATIONSHIP('',$,#128,#8398); -#10089=REPRESENTATION_RELATIONSHIP('reference shape',$,#91,#128); -#10091=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#163); -#10092=SHAPE_DEFINITION_REPRESENTATION(#162,#163); -#10093=REPRESENTATION_RELATIONSHIP('',$,#163,#8398); -#10094=REPRESENTATION_RELATIONSHIP('reference shape',$,#134,#163); -#10096=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#197); -#10097=SHAPE_DEFINITION_REPRESENTATION(#196,#197); -#10098=REPRESENTATION_RELATIONSHIP('',$,#197,#8398); -#10099=REPRESENTATION_RELATIONSHIP('reference shape',$,#168,#197); -#10101=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#201); -#10102=SHAPE_DEFINITION_REPRESENTATION(#200,#201); -#10103=REPRESENTATION_RELATIONSHIP('',$,#201,#8398); -#10104=REPRESENTATION_RELATIONSHIP('reference shape',$,#168,#201); -#10106=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#235); -#10107=SHAPE_DEFINITION_REPRESENTATION(#234,#235); -#10108=REPRESENTATION_RELATIONSHIP('',$,#235,#8398); -#10109=REPRESENTATION_RELATIONSHIP('reference shape',$,#206,#235); -#10111=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#239); -#10112=SHAPE_DEFINITION_REPRESENTATION(#238,#239); -#10113=REPRESENTATION_RELATIONSHIP('',$,#239,#8398); -#10114=REPRESENTATION_RELATIONSHIP('reference shape',$,#206,#239); -#10116=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#273); -#10117=SHAPE_DEFINITION_REPRESENTATION(#272,#273); -#10118=REPRESENTATION_RELATIONSHIP('',$,#273,#8398); -#10119=REPRESENTATION_RELATIONSHIP('reference shape',$,#244,#273); -#10121=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#298); -#10122=SHAPE_DEFINITION_REPRESENTATION(#297,#298); -#10123=REPRESENTATION_RELATIONSHIP('',$,#298,#8398); -#10124=REPRESENTATION_RELATIONSHIP('reference shape',$,#278,#298); -#10126=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#323); -#10127=SHAPE_DEFINITION_REPRESENTATION(#322,#323); -#10128=REPRESENTATION_RELATIONSHIP('',$,#323,#8398); -#10129=REPRESENTATION_RELATIONSHIP('reference shape',$,#303,#323); -#10131=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#360); -#10132=SHAPE_DEFINITION_REPRESENTATION(#359,#360); -#10133=REPRESENTATION_RELATIONSHIP('',$,#360,#8398); -#10134=REPRESENTATION_RELATIONSHIP('reference shape',$,#328,#360); -#10136=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#397); -#10137=SHAPE_DEFINITION_REPRESENTATION(#396,#397); -#10138=REPRESENTATION_RELATIONSHIP('',$,#397,#8398); -#10139=REPRESENTATION_RELATIONSHIP('reference shape',$,#365,#397); -#10141=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#434); -#10142=SHAPE_DEFINITION_REPRESENTATION(#433,#434); -#10143=REPRESENTATION_RELATIONSHIP('',$,#434,#8398); -#10144=REPRESENTATION_RELATIONSHIP('reference shape',$,#402,#434); -#10146=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#466); -#10147=SHAPE_DEFINITION_REPRESENTATION(#465,#466); -#10148=REPRESENTATION_RELATIONSHIP('',$,#466,#8398); -#10149=REPRESENTATION_RELATIONSHIP('reference shape',$,#439,#466); -#10151=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#470); -#10152=SHAPE_DEFINITION_REPRESENTATION(#469,#470); -#10153=REPRESENTATION_RELATIONSHIP('',$,#470,#8398); -#10154=REPRESENTATION_RELATIONSHIP('reference shape',$,#439,#470); -#10156=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#507); -#10157=SHAPE_DEFINITION_REPRESENTATION(#506,#507); -#10158=REPRESENTATION_RELATIONSHIP('',$,#507,#8398); -#10159=REPRESENTATION_RELATIONSHIP('reference shape',$,#475,#507); -#10161=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#689); -#10162=SHAPE_DEFINITION_REPRESENTATION(#688,#689); -#10163=REPRESENTATION_RELATIONSHIP('',$,#689,#8398); -#10165=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#694); -#10166=SHAPE_DEFINITION_REPRESENTATION(#693,#694); -#10167=REPRESENTATION_RELATIONSHIP('',$,#694,#8398); -#10169=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#699); -#10170=SHAPE_DEFINITION_REPRESENTATION(#698,#699); -#10171=REPRESENTATION_RELATIONSHIP('',$,#699,#8398); -#10173=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#704); -#10174=SHAPE_DEFINITION_REPRESENTATION(#703,#704); -#10175=REPRESENTATION_RELATIONSHIP('',$,#704,#8398); -#10177=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#709); -#10178=SHAPE_DEFINITION_REPRESENTATION(#708,#709); -#10179=REPRESENTATION_RELATIONSHIP('',$,#709,#8398); -#10181=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#714); -#10182=SHAPE_DEFINITION_REPRESENTATION(#713,#714); -#10183=REPRESENTATION_RELATIONSHIP('',$,#714,#8398); -#10185=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#724); -#10186=SHAPE_DEFINITION_REPRESENTATION(#723,#724); -#10187=REPRESENTATION_RELATIONSHIP('',$,#724,#8398); -#10189=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#734); -#10190=SHAPE_DEFINITION_REPRESENTATION(#733,#734); -#10191=REPRESENTATION_RELATIONSHIP('',$,#734,#8398); -#10193=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#744); -#10194=SHAPE_DEFINITION_REPRESENTATION(#743,#744); -#10195=REPRESENTATION_RELATIONSHIP('',$,#744,#8398); -#10197=DESCRIPTION_ATTRIBUTE('footprint definition shape model',#755); -#10198=SHAPE_DEFINITION_REPRESENTATION(#754,#755); -#10199=REPRESENTATION_RELATIONSHIP('',$,#755,#8398); -#10200=PRODUCT_CONTEXT('functional',#8333,''); -#10201=PRODUCT_DEFINITION_CONTEXT('functional design usage',#8333,''); -#10202=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#42,#10201,#8334); -#10203=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#513,#10201,#8334); -#10204=ID_ATTRIBUTE('1',#513); -#10205=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#520,#10201,#8334); -#10206=ID_ATTRIBUTE('1',#520); -#10207=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#527,#10201,#8334); -#10208=ID_ATTRIBUTE('1',#527); -#10209=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#534,#10201,#8334); -#10210=ID_ATTRIBUTE('1',#534); -#10211=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#541,#10201,#8334); -#10212=ID_ATTRIBUTE('1',#541); -#10213=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#548,#10201,#8334); -#10214=ID_ATTRIBUTE('1',#548); -#10215=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#555,#10201,#8334); -#10216=ID_ATTRIBUTE('1',#555); -#10217=DESCRIPTION_ATTRIBUTE('pupsm',#3180); -#10218=SHAPE_DEFINITION_REPRESENTATION(#89,#3180); -#10219=REPRESENTATION('shape material condition',(#10221),#8399); -#10220=REPRESENTATION_RELATIONSHIP('',$,#3180,#10219); -#10221=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10222=REPRESENTATION('shape environment',(#10224),#8399); -#10223=REPRESENTATION_RELATIONSHIP('',$,#3180,#10222); -#10224=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10225=REPRESENTATION('shape extent',(#10227),#8399); -#10226=REPRESENTATION_RELATIONSHIP('',$,#3180,#10225); -#10227=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10228=REPRESENTATION('shape approximation level',(#10230),#8399); -#10229=REPRESENTATION_RELATIONSHIP('',$,#3180,#10228); -#10230=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10231=REPRESENTATION('mass property quality',(#10233),#8399); -#10232=REPRESENTATION_RELATIONSHIP('',$,#3180,#10231); -#10233=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10234=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3180,#97); -#10235=REPRESENTATION('shape location',(#10237),#8399); -#10236=REPRESENTATION_RELATIONSHIP('',$,#3180,#10235); -#10237=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10238=REPRESENTATION('predefined shape purpose',(#10240),#8399); -#10239=REPRESENTATION_RELATIONSHIP('',$,#3180,#10238); -#10240=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10241=DESCRIPTION_ATTRIBUTE('pupsm',#3229); -#10242=SHAPE_DEFINITION_REPRESENTATION(#132,#3229); -#10243=REPRESENTATION('shape material condition',(#10245),#8399); -#10244=REPRESENTATION_RELATIONSHIP('',$,#3229,#10243); -#10245=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10246=REPRESENTATION('shape environment',(#10248),#8399); -#10247=REPRESENTATION_RELATIONSHIP('',$,#3229,#10246); -#10248=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10249=REPRESENTATION('shape extent',(#10251),#8399); -#10250=REPRESENTATION_RELATIONSHIP('',$,#3229,#10249); -#10251=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10252=REPRESENTATION('shape approximation level',(#10254),#8399); -#10253=REPRESENTATION_RELATIONSHIP('',$,#3229,#10252); -#10254=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10255=REPRESENTATION('mass property quality',(#10257),#8399); -#10256=REPRESENTATION_RELATIONSHIP('',$,#3229,#10255); -#10257=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10258=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3229,#137); -#10259=REPRESENTATION('shape location',(#10261),#8399); -#10260=REPRESENTATION_RELATIONSHIP('',$,#3229,#10259); -#10261=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10262=REPRESENTATION('predefined shape purpose',(#10264),#8399); -#10263=REPRESENTATION_RELATIONSHIP('',$,#3229,#10262); -#10264=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10265=DESCRIPTION_ATTRIBUTE('pupsm',#3282); -#10266=SHAPE_DEFINITION_REPRESENTATION(#166,#3282); -#10267=REPRESENTATION('shape material condition',(#10269),#8399); -#10268=REPRESENTATION_RELATIONSHIP('',$,#3282,#10267); -#10269=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10270=REPRESENTATION('shape environment',(#10272),#8399); -#10271=REPRESENTATION_RELATIONSHIP('',$,#3282,#10270); -#10272=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10273=REPRESENTATION('shape extent',(#10275),#8399); -#10274=REPRESENTATION_RELATIONSHIP('',$,#3282,#10273); -#10275=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10276=REPRESENTATION('shape approximation level',(#10278),#8399); -#10277=REPRESENTATION_RELATIONSHIP('',$,#3282,#10276); -#10278=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10279=REPRESENTATION('mass property quality',(#10281),#8399); -#10280=REPRESENTATION_RELATIONSHIP('',$,#3282,#10279); -#10281=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10282=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3282,#171); -#10283=REPRESENTATION('shape location',(#10285),#8399); -#10284=REPRESENTATION_RELATIONSHIP('',$,#3282,#10283); -#10285=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10286=REPRESENTATION('predefined shape purpose',(#10288),#8399); -#10287=REPRESENTATION_RELATIONSHIP('',$,#3282,#10286); -#10288=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10289=DESCRIPTION_ATTRIBUTE('pupsm',#3327); -#10290=SHAPE_DEFINITION_REPRESENTATION(#204,#3327); -#10291=REPRESENTATION('shape material condition',(#10293),#8399); -#10292=REPRESENTATION_RELATIONSHIP('',$,#3327,#10291); -#10293=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10294=REPRESENTATION('shape environment',(#10296),#8399); -#10295=REPRESENTATION_RELATIONSHIP('',$,#3327,#10294); -#10296=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10297=REPRESENTATION('shape extent',(#10299),#8399); -#10298=REPRESENTATION_RELATIONSHIP('',$,#3327,#10297); -#10299=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10300=REPRESENTATION('shape approximation level',(#10302),#8399); -#10301=REPRESENTATION_RELATIONSHIP('',$,#3327,#10300); -#10302=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10303=REPRESENTATION('mass property quality',(#10305),#8399); -#10304=REPRESENTATION_RELATIONSHIP('',$,#3327,#10303); -#10305=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10306=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3327,#209); -#10307=REPRESENTATION('shape location',(#10309),#8399); -#10308=REPRESENTATION_RELATIONSHIP('',$,#3327,#10307); -#10309=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10310=REPRESENTATION('predefined shape purpose',(#10312),#8399); -#10311=REPRESENTATION_RELATIONSHIP('',$,#3327,#10310); -#10312=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10313=DESCRIPTION_ATTRIBUTE('pupsm',#3374); -#10314=SHAPE_DEFINITION_REPRESENTATION(#242,#3374); -#10315=REPRESENTATION('shape material condition',(#10317),#8399); -#10316=REPRESENTATION_RELATIONSHIP('',$,#3374,#10315); -#10317=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10318=REPRESENTATION('shape environment',(#10320),#8399); -#10319=REPRESENTATION_RELATIONSHIP('',$,#3374,#10318); -#10320=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10321=REPRESENTATION('shape extent',(#10323),#8399); -#10322=REPRESENTATION_RELATIONSHIP('',$,#3374,#10321); -#10323=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10324=REPRESENTATION('shape approximation level',(#10326),#8399); -#10325=REPRESENTATION_RELATIONSHIP('',$,#3374,#10324); -#10326=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10327=REPRESENTATION('mass property quality',(#10329),#8399); -#10328=REPRESENTATION_RELATIONSHIP('',$,#3374,#10327); -#10329=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10330=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3374,#247); -#10331=REPRESENTATION('shape location',(#10333),#8399); -#10332=REPRESENTATION_RELATIONSHIP('',$,#3374,#10331); -#10333=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10334=REPRESENTATION('predefined shape purpose',(#10336),#8399); -#10335=REPRESENTATION_RELATIONSHIP('',$,#3374,#10334); -#10336=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10337=DESCRIPTION_ATTRIBUTE('pupsm',#3853); -#10338=SHAPE_DEFINITION_REPRESENTATION(#276,#3853); -#10339=REPRESENTATION('shape material condition',(#10341),#8399); -#10340=REPRESENTATION_RELATIONSHIP('',$,#3853,#10339); -#10341=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10342=REPRESENTATION('shape environment',(#10344),#8399); -#10343=REPRESENTATION_RELATIONSHIP('',$,#3853,#10342); -#10344=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10345=REPRESENTATION('shape extent',(#10347),#8399); -#10346=REPRESENTATION_RELATIONSHIP('',$,#3853,#10345); -#10347=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10348=REPRESENTATION('shape approximation level',(#10350),#8399); -#10349=REPRESENTATION_RELATIONSHIP('',$,#3853,#10348); -#10350=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10351=REPRESENTATION('mass property quality',(#10353),#8399); -#10352=REPRESENTATION_RELATIONSHIP('',$,#3853,#10351); -#10353=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10354=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3853,#281); -#10355=REPRESENTATION('shape location',(#10357),#8399); -#10356=REPRESENTATION_RELATIONSHIP('',$,#3853,#10355); -#10357=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10358=REPRESENTATION('predefined shape purpose',(#10360),#8399); -#10359=REPRESENTATION_RELATIONSHIP('',$,#3853,#10358); -#10360=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10361=DESCRIPTION_ATTRIBUTE('pupsm',#3882); -#10362=SHAPE_DEFINITION_REPRESENTATION(#301,#3882); -#10363=REPRESENTATION('shape material condition',(#10365),#8399); -#10364=REPRESENTATION_RELATIONSHIP('',$,#3882,#10363); -#10365=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10366=REPRESENTATION('shape environment',(#10368),#8399); -#10367=REPRESENTATION_RELATIONSHIP('',$,#3882,#10366); -#10368=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10369=REPRESENTATION('shape extent',(#10371),#8399); -#10370=REPRESENTATION_RELATIONSHIP('',$,#3882,#10369); -#10371=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10372=REPRESENTATION('shape approximation level',(#10374),#8399); -#10373=REPRESENTATION_RELATIONSHIP('',$,#3882,#10372); -#10374=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10375=REPRESENTATION('mass property quality',(#10377),#8399); -#10376=REPRESENTATION_RELATIONSHIP('',$,#3882,#10375); -#10377=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10378=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3882,#306); -#10379=REPRESENTATION('shape location',(#10381),#8399); -#10380=REPRESENTATION_RELATIONSHIP('',$,#3882,#10379); -#10381=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10382=REPRESENTATION('predefined shape purpose',(#10384),#8399); -#10383=REPRESENTATION_RELATIONSHIP('',$,#3882,#10382); -#10384=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10385=DESCRIPTION_ATTRIBUTE('pupsm',#3937); -#10386=SHAPE_DEFINITION_REPRESENTATION(#326,#3937); -#10387=REPRESENTATION('shape material condition',(#10389),#8399); -#10388=REPRESENTATION_RELATIONSHIP('',$,#3937,#10387); -#10389=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10390=REPRESENTATION('shape environment',(#10392),#8399); -#10391=REPRESENTATION_RELATIONSHIP('',$,#3937,#10390); -#10392=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10393=REPRESENTATION('shape extent',(#10395),#8399); -#10394=REPRESENTATION_RELATIONSHIP('',$,#3937,#10393); -#10395=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10396=REPRESENTATION('shape approximation level',(#10398),#8399); -#10397=REPRESENTATION_RELATIONSHIP('',$,#3937,#10396); -#10398=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10399=REPRESENTATION('mass property quality',(#10401),#8399); -#10400=REPRESENTATION_RELATIONSHIP('',$,#3937,#10399); -#10401=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10402=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#3937,#331); -#10403=REPRESENTATION('shape location',(#10405),#8399); -#10404=REPRESENTATION_RELATIONSHIP('',$,#3937,#10403); -#10405=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10406=REPRESENTATION('predefined shape purpose',(#10408),#8399); -#10407=REPRESENTATION_RELATIONSHIP('',$,#3937,#10406); -#10408=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10409=DESCRIPTION_ATTRIBUTE('pupsm',#4038); -#10410=SHAPE_DEFINITION_REPRESENTATION(#363,#4038); -#10411=REPRESENTATION('shape material condition',(#10413),#8399); -#10412=REPRESENTATION_RELATIONSHIP('',$,#4038,#10411); -#10413=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10414=REPRESENTATION('shape environment',(#10416),#8399); -#10415=REPRESENTATION_RELATIONSHIP('',$,#4038,#10414); -#10416=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10417=REPRESENTATION('shape extent',(#10419),#8399); -#10418=REPRESENTATION_RELATIONSHIP('',$,#4038,#10417); -#10419=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10420=REPRESENTATION('shape approximation level',(#10422),#8399); -#10421=REPRESENTATION_RELATIONSHIP('',$,#4038,#10420); -#10422=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10423=REPRESENTATION('mass property quality',(#10425),#8399); -#10424=REPRESENTATION_RELATIONSHIP('',$,#4038,#10423); -#10425=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10426=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4038,#368); -#10427=REPRESENTATION('shape location',(#10429),#8399); -#10428=REPRESENTATION_RELATIONSHIP('',$,#4038,#10427); -#10429=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10430=REPRESENTATION('predefined shape purpose',(#10432),#8399); -#10431=REPRESENTATION_RELATIONSHIP('',$,#4038,#10430); -#10432=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10433=DESCRIPTION_ATTRIBUTE('pupsm',#4081); -#10434=SHAPE_DEFINITION_REPRESENTATION(#400,#4081); -#10435=REPRESENTATION('shape material condition',(#10437),#8399); -#10436=REPRESENTATION_RELATIONSHIP('',$,#4081,#10435); -#10437=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10438=REPRESENTATION('shape environment',(#10440),#8399); -#10439=REPRESENTATION_RELATIONSHIP('',$,#4081,#10438); -#10440=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10441=REPRESENTATION('shape extent',(#10443),#8399); -#10442=REPRESENTATION_RELATIONSHIP('',$,#4081,#10441); -#10443=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10444=REPRESENTATION('shape approximation level',(#10446),#8399); -#10445=REPRESENTATION_RELATIONSHIP('',$,#4081,#10444); -#10446=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10447=REPRESENTATION('mass property quality',(#10449),#8399); -#10448=REPRESENTATION_RELATIONSHIP('',$,#4081,#10447); -#10449=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10450=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4081,#405); -#10451=REPRESENTATION('shape location',(#10453),#8399); -#10452=REPRESENTATION_RELATIONSHIP('',$,#4081,#10451); -#10453=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10454=REPRESENTATION('predefined shape purpose',(#10456),#8399); -#10455=REPRESENTATION_RELATIONSHIP('',$,#4081,#10454); -#10456=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10457=DESCRIPTION_ATTRIBUTE('pupsm',#4135); -#10458=SHAPE_DEFINITION_REPRESENTATION(#437,#4135); -#10459=REPRESENTATION('shape material condition',(#10461),#8399); -#10460=REPRESENTATION_RELATIONSHIP('',$,#4135,#10459); -#10461=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10462=REPRESENTATION('shape environment',(#10464),#8399); -#10463=REPRESENTATION_RELATIONSHIP('',$,#4135,#10462); -#10464=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10465=REPRESENTATION('shape extent',(#10467),#8399); -#10466=REPRESENTATION_RELATIONSHIP('',$,#4135,#10465); -#10467=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10468=REPRESENTATION('shape approximation level',(#10470),#8399); -#10469=REPRESENTATION_RELATIONSHIP('',$,#4135,#10468); -#10470=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10471=REPRESENTATION('mass property quality',(#10473),#8399); -#10472=REPRESENTATION_RELATIONSHIP('',$,#4135,#10471); -#10473=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10474=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4135,#442); -#10475=REPRESENTATION('shape location',(#10477),#8399); -#10476=REPRESENTATION_RELATIONSHIP('',$,#4135,#10475); -#10477=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10478=REPRESENTATION('predefined shape purpose',(#10480),#8399); -#10479=REPRESENTATION_RELATIONSHIP('',$,#4135,#10478); -#10480=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10481=DESCRIPTION_ATTRIBUTE('pupsm',#4196); -#10482=SHAPE_DEFINITION_REPRESENTATION(#473,#4196); -#10483=REPRESENTATION('shape material condition',(#10485),#8399); -#10484=REPRESENTATION_RELATIONSHIP('',$,#4196,#10483); -#10485=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10486=REPRESENTATION('shape environment',(#10488),#8399); -#10487=REPRESENTATION_RELATIONSHIP('',$,#4196,#10486); -#10488=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10489=REPRESENTATION('shape extent',(#10491),#8399); -#10490=REPRESENTATION_RELATIONSHIP('',$,#4196,#10489); -#10491=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10492=REPRESENTATION('shape approximation level',(#10494),#8399); -#10493=REPRESENTATION_RELATIONSHIP('',$,#4196,#10492); -#10494=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10495=REPRESENTATION('mass property quality',(#10497),#8399); -#10496=REPRESENTATION_RELATIONSHIP('',$,#4196,#10495); -#10497=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10498=REPRESENTATION_RELATIONSHIP('shape distance from seating plane',$,#4196,#478); -#10499=REPRESENTATION('shape location',(#10501),#8399); -#10500=REPRESENTATION_RELATIONSHIP('',$,#4196,#10499); -#10501=DESCRIPTIVE_REPRESENTATION_ITEM('above',''); -#10502=REPRESENTATION('predefined shape purpose',(#10504),#8399); -#10503=REPRESENTATION_RELATIONSHIP('',$,#4196,#10502); -#10504=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10505=DESCRIPTION_ATTRIBUTE('pupsm',#6200); -#10506=SHAPE_DEFINITION_REPRESENTATION(#6181,#6200); -#10507=REPRESENTATION('shape material condition',(#10509),#8399); -#10508=REPRESENTATION_RELATIONSHIP('',$,#6200,#10507); -#10509=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#10510=REPRESENTATION('shape environment',(#10512),#8399); -#10511=REPRESENTATION_RELATIONSHIP('',$,#6200,#10510); -#10512=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#10513=REPRESENTATION('shape extent',(#10515),#8399); -#10514=REPRESENTATION_RELATIONSHIP('',$,#6200,#10513); -#10515=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#10516=REPRESENTATION('shape approximation level',(#10518),#8399); -#10517=REPRESENTATION_RELATIONSHIP('',$,#6200,#10516); -#10518=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10519=REPRESENTATION('mass property quality',(#10521),#8399); -#10520=REPRESENTATION_RELATIONSHIP('',$,#6200,#10519); -#10521=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#10522=REPRESENTATION('predefined shape purpose',(#10524),#8399); -#10523=REPRESENTATION_RELATIONSHIP('',$,#6200,#10522); -#10524=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#10525=REPRESENTATION_MAP(#26,#955); -#10526=REPRESENTATION_MAP(#26,#3188); -#10527=REPRESENTATION_MAP(#26,#3237); -#10528=REPRESENTATION_MAP(#26,#3290); -#10529=REPRESENTATION_MAP(#26,#3335); -#10530=REPRESENTATION_MAP(#26,#3395); -#10531=REPRESENTATION_MAP(#26,#3861); -#10532=REPRESENTATION_MAP(#26,#3890); -#10533=REPRESENTATION_MAP(#26,#3975); -#10534=REPRESENTATION_MAP(#26,#4060); -#10535=REPRESENTATION_MAP(#26,#4103); -#10536=REPRESENTATION_MAP(#26,#4143); -#10537=REPRESENTATION_MAP(#26,#4234); -#10538=REPRESENTATION_MAP(#26,#6200); -#10539=REPRESENTATION_MAP(#26,#6449); -#10540=REPRESENTATION_MAP(#26,#1372); -#10541=REPRESENTATION_MAP(#26,#2652); -#10542=REPRESENTATION_MAP(#26,#2502); -#10543=REPRESENTATION_MAP(#26,#2728); -#10544=REPRESENTATION_MAP(#26,#1320); -#10545=REPRESENTATION_MAP(#26,#1674); -#10546=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#31,#57); -#10547=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#32,#58); -#10548=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#33,#59); -#10549=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6912,#6919); -#10550=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6920,#6927); -#10551=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6940,#6947); -#10552=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6948,#6955); -#10553=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6968,#6975); -#10554=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#6976,#6983); -#10555=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7022,#7029); -#10556=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7030,#7037); -#10557=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7038,#7045); -#10558=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7046,#7053); -#10559=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7054,#7061); -#10560=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7062,#7069); -#10561=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7070,#7077); -#10562=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7078,#7085); -#10563=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7098,#7105); -#10564=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7106,#7113); -#10565=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7126,#7133); -#10566=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7134,#7141); -#10567=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7154,#7161); -#10568=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7162,#7169); -#10569=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7182,#7189); -#10570=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7190,#7197); -#10571=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7210,#7217); -#10572=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7218,#7225); -#10573=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7238,#7245); -#10574=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7246,#7253); -#10575=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7268,#7275); -#10576=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7289,#7296); -#10577=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7310,#7317); -#10578=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7331,#7338); -#10579=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7352,#7359); -#10580=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7373,#7380); -#10581=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#7394,#7401); -#10582=PROPERTY_DEFINITION('',$,#32); -#10583=PROPERTY_DEFINITION_REPRESENTATION(#10582,#10584); -#10584=REPRESENTATION('material state change',(#10585),#8399); -#10585=REPRESENTATION_ITEM('material addition'); -#10586=PROPERTY_DEFINITION('',$,#6446); -#10587=PROPERTY_DEFINITION_REPRESENTATION(#10586,#10588); -#10588=REPRESENTATION('material state change',(#10589),#8399); -#10589=REPRESENTATION_ITEM('material addition'); -#10590=PROPERTY_DEFINITION('',$,#33); -#10591=PROPERTY_DEFINITION_REPRESENTATION(#10590,#10592); -#10592=REPRESENTATION('material state change',(#10593),#8399); -#10593=REPRESENTATION_ITEM('material addition'); -#10594=PROPERTY_DEFINITION('',$,#6447); -#10595=PROPERTY_DEFINITION_REPRESENTATION(#10594,#10596); -#10596=REPRESENTATION('material state change',(#10597),#8399); -#10597=REPRESENTATION_ITEM('material addition'); -#10598=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#954,#8382,#8334); -#10599=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#957,#954); -#10600=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6448,#8382,#8334); -#10601=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#6451,#6448); -#10602=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#8012,#8006); -#10603=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#8012,#7943); -#10604=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7497,#7491); -#10605=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7497,#7475); -#10606=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7497,#7459); -#10607=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7541,#7522); -#10608=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7541,#7507); -#10609=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7541,#7510); -#10610=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7541,#7536); -#10611=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7572,#7552); -#10612=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7572,#7555); -#10613=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7572,#7566); -#10614=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7602,#7585); -#10615=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7602,#7596); -#10616=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7602,#7575); -#10617=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7622,#7617); -#10618=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7622,#7614); -#10619=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7642,#7634); -#10620=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7642,#7637); -#10621=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7661,#7653); -#10622=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7661,#7656); -#10623=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7679,#7673); -#10624=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7679,#7672); -#10625=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7694,#7689); -#10626=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7694,#7687); -#10627=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7829); -#10628=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7765); -#10629=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7807); -#10630=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7739); -#10631=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7779); -#10632=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7707); -#10633=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7701); -#10634=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7717); -#10635=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7711); -#10636=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7709); -#10637=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7703); -#10638=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7705); -#10639=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7697); -#10640=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7699); -#10641=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7715); -#10642=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7846,#7713); -#10643=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7864,#7858); -#10644=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7864,#7857); -#10645=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7880,#7874); -#10646=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7880,#7873); -#10647=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7951,#7921); -#10648=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7951,#7899); -#10649=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7951,#7943); -#10650=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7951,#7889); -#10651=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7951,#7883); -#10652=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7951,#7887); -#10653=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7951,#7885); -#10654=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7967,#7962); -#10655=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7967,#7960); -#10656=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7993,#7977); -#10657=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7993,#7987); -#10658=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#7993,#7891); -#10659=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#8011,#8003); -#10660=SHAPE_ASPECT_RELATIONSHIP('connected point',$,#8011,#8006); -#10661=APPLIED_GROUP_ASSIGNMENT(#582,(#579)); -#10662=APPLIED_GROUP_ASSIGNMENT(#623,(#620)); -#10663=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1374,#6905); -#10664=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1374,#6909); -#10665=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2654,#6935); -#10666=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2654,#6939); -#10667=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2504,#6963); -#10668=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2504,#6967); -#10669=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2730,#6989); -#10670=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2730,#6993); -#10671=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2730,#6997); -#10672=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2730,#7001); -#10673=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2730,#7005); -#10674=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2730,#7009); -#10675=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2730,#7013); -#10676=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2730,#7017); -#10677=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2654,#7093); -#10678=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2654,#7097); -#10679=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2654,#7121); -#10680=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2654,#7125); -#10681=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1322,#7147); -#10682=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1322,#7151); -#10683=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2504,#7177); -#10684=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2504,#7181); -#10685=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2654,#7205); -#10686=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2654,#7209); -#10687=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1322,#7231); -#10688=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1322,#7235); -#10689=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#46,#8332,#8334); -#10690=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#46,#8336,#8334); -#10691=ID_ATTRIBUTE('1',#46); -#10692=PRODUCT_DEFINITION_RELATIONSHIP('','design usage',$,#39,#46); -#10693=PRODUCT_DEFINITION_CONTEXT('physical design usage',#8333,''); -#10694=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#39,#10693,#8334); -#10695=ID_ATTRIBUTE('4',#39); -#10696=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#42,#39); -#10697=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#34,#8332,#8334); -#10698=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#34,#8336,#8334); -#10699=ID_ATTRIBUTE('1',#34); -#10700=PRODUCT_DEFINITION_RELATIONSHIP('','design usage',$,#15,#34); -#10701=PROPERTY_DEFINITION_RELATIONSHIP('used stack model','',#889,#34); -#10702=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#15,#10693,#8334); -#10703=ID_ATTRIBUTE('2',#15); -#10704=PROPERTY_DEFINITION('thickness over dielectric requirement',$,#15); -#10705=PROPERTY_DEFINITION_REPRESENTATION(#10704,#945); -#10706=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6184,#10693,#8334); -#10707=ID_ATTRIBUTE('2',#6184); -#10708=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6181,#8332,#8334); -#10709=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6181,#8336,#8334); -#10710=ID_ATTRIBUTE('1',#6181); -#10711=PRODUCT_DEFINITION_RELATIONSHIP('','design usage',$,#6184,#6181); -#10712=PROPERTY_DEFINITION_RELATIONSHIP('used stack model','',#889,#6181); -#10713=PROPERTY_DEFINITION('required characteristic',$,#62); -#10714=PROPERTY_DEFINITION_REPRESENTATION(#10713,#75); -#10715=CHARACTERIZED_OBJECT('packaged component category',$); -#10716=PROPERTY_DEFINITION('',$,#10715); -#10717=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10713,#10716); -#10718=CHARACTERIZED_OBJECT('packaged component category',$); -#10719=PROPERTY_DEFINITION('',$,#10718); -#10720=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10713,#10719); -#10721=PROPERTY_DEFINITION('of spacing type','centroid',#62); -#10722=PROPERTY_DEFINITION('required characteristic',$,#6706); -#10723=PROPERTY_DEFINITION_REPRESENTATION(#10722,#6710); -#10724=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#10725=PROPERTY_DEFINITION('',$,#10724); -#10726=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10722,#10725); -#10727=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#10728=PROPERTY_DEFINITION('',$,#10727); -#10729=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10722,#10728); -#10730=PROPERTY_DEFINITION('of spacing type','centroid',#6706); -#10731=PROPERTY_DEFINITION('required characteristic',$,#6715); -#10732=PROPERTY_DEFINITION_REPRESENTATION(#10731,#6719); -#10733=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#10734=PROPERTY_DEFINITION('',$,#10733); -#10735=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10731,#10734); -#10736=CHARACTERIZED_OBJECT('via category',$); -#10737=PROPERTY_DEFINITION('',$,#10736); -#10738=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10731,#10737); -#10739=PROPERTY_DEFINITION('of spacing type','centroid',#6715); -#10740=PROPERTY_DEFINITION('required characteristic',$,#6724); -#10741=PROPERTY_DEFINITION_REPRESENTATION(#10740,#6728); -#10742=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#10743=PROPERTY_DEFINITION('',$,#10742); -#10744=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10740,#10743); -#10745=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#10746=PROPERTY_DEFINITION('',$,#10745); -#10747=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10740,#10746); -#10748=PROPERTY_DEFINITION('of spacing type','centroid',#6724); -#10749=PROPERTY_DEFINITION('required characteristic',$,#6733); -#10750=PROPERTY_DEFINITION_REPRESENTATION(#10749,#6737); -#10751=CHARACTERIZED_OBJECT('via category',$); -#10752=PROPERTY_DEFINITION('',$,#10751); -#10753=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10749,#10752); -#10754=CHARACTERIZED_OBJECT('via category',$); -#10755=PROPERTY_DEFINITION('',$,#10754); -#10756=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10749,#10755); -#10757=PROPERTY_DEFINITION('of spacing type','centroid',#6733); -#10758=PROPERTY_DEFINITION('required characteristic',$,#6742); -#10759=PROPERTY_DEFINITION_REPRESENTATION(#10758,#6746); -#10760=CHARACTERIZED_OBJECT('via category',$); -#10761=PROPERTY_DEFINITION('',$,#10760); -#10762=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10758,#10761); -#10763=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#10764=PROPERTY_DEFINITION('',$,#10763); -#10765=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10758,#10764); -#10766=PROPERTY_DEFINITION('of spacing type','centroid',#6742); -#10767=PROPERTY_DEFINITION('required characteristic',$,#6751); -#10768=PROPERTY_DEFINITION_REPRESENTATION(#10767,#6755); -#10769=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#10770=PROPERTY_DEFINITION('',$,#10769); -#10771=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10767,#10770); -#10772=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#10773=PROPERTY_DEFINITION('',$,#10772); -#10774=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10767,#10773); -#10775=PROPERTY_DEFINITION('of spacing type','centroid',#6751); -#10776=PROPERTY_DEFINITION('required characteristic',$,#6760); -#10777=PROPERTY_DEFINITION_REPRESENTATION(#10776,#6764); -#10778=CHARACTERIZED_OBJECT('fill area category',$); -#10779=PROPERTY_DEFINITION('',$,#10778); -#10780=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10776,#10779); -#10781=CHARACTERIZED_OBJECT('fill area category',$); -#10782=PROPERTY_DEFINITION('',$,#10781); -#10783=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10776,#10782); -#10784=PROPERTY_DEFINITION('of spacing type','centroid',#6760); -#10785=PROPERTY_DEFINITION('required characteristic',$,#6769); -#10786=PROPERTY_DEFINITION_REPRESENTATION(#10785,#6773); -#10787=CHARACTERIZED_OBJECT('fill area category',$); -#10788=PROPERTY_DEFINITION('',$,#10787); -#10789=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10785,#10788); -#10790=CHARACTERIZED_OBJECT('via category',$); -#10791=PROPERTY_DEFINITION('',$,#10790); -#10792=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10785,#10791); -#10793=PROPERTY_DEFINITION('of spacing type','centroid',#6769); -#10794=PROPERTY_DEFINITION('required characteristic',$,#6778); -#10795=PROPERTY_DEFINITION_REPRESENTATION(#10794,#6782); -#10796=CHARACTERIZED_OBJECT('fill area category',$); -#10797=PROPERTY_DEFINITION('',$,#10796); -#10798=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10794,#10797); -#10799=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#10800=PROPERTY_DEFINITION('',$,#10799); -#10801=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10794,#10800); -#10802=PROPERTY_DEFINITION('of spacing type','centroid',#6778); -#10803=PROPERTY_DEFINITION('required characteristic',$,#6787); -#10804=PROPERTY_DEFINITION_REPRESENTATION(#10803,#6791); -#10805=CHARACTERIZED_OBJECT('fill area category',$); -#10806=PROPERTY_DEFINITION('',$,#10805); -#10807=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10803,#10806); -#10808=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#10809=PROPERTY_DEFINITION('',$,#10808); -#10810=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10803,#10809); -#10811=PROPERTY_DEFINITION('of spacing type','centroid',#6787); -#10812=PROPERTY_DEFINITION('required characteristic',$,#6802); -#10813=PROPERTY_DEFINITION_REPRESENTATION(#10812,#6806); -#10814=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#10815=PROPERTY_DEFINITION('',$,#10814); -#10816=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10812,#10815); -#10817=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#10818=PROPERTY_DEFINITION('',$,#10817); -#10819=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10812,#10818); -#10820=PROPERTY_DEFINITION('of spacing type','centroid',#6802); -#10821=PROPERTY_DEFINITION('required characteristic',$,#6811); -#10822=PROPERTY_DEFINITION_REPRESENTATION(#10821,#6815); -#10823=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#10824=PROPERTY_DEFINITION('',$,#10823); -#10825=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10821,#10824); -#10826=CHARACTERIZED_OBJECT('via category',$); -#10827=PROPERTY_DEFINITION('',$,#10826); -#10828=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10821,#10827); -#10829=PROPERTY_DEFINITION('of spacing type','centroid',#6811); -#10830=PROPERTY_DEFINITION('required characteristic',$,#6820); -#10831=PROPERTY_DEFINITION_REPRESENTATION(#10830,#6824); -#10832=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#10833=PROPERTY_DEFINITION('',$,#10832); -#10834=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10830,#10833); -#10835=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#10836=PROPERTY_DEFINITION('',$,#10835); -#10837=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10830,#10836); -#10838=PROPERTY_DEFINITION('of spacing type','centroid',#6820); -#10839=PROPERTY_DEFINITION('required characteristic',$,#6829); -#10840=PROPERTY_DEFINITION_REPRESENTATION(#10839,#6833); -#10841=CHARACTERIZED_OBJECT('via category',$); -#10842=PROPERTY_DEFINITION('',$,#10841); -#10843=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10839,#10842); -#10844=CHARACTERIZED_OBJECT('via category',$); -#10845=PROPERTY_DEFINITION('',$,#10844); -#10846=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10839,#10845); -#10847=PROPERTY_DEFINITION('of spacing type','centroid',#6829); -#10848=PROPERTY_DEFINITION('required characteristic',$,#6838); -#10849=PROPERTY_DEFINITION_REPRESENTATION(#10848,#6842); -#10850=CHARACTERIZED_OBJECT('via category',$); -#10851=PROPERTY_DEFINITION('',$,#10850); -#10852=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10848,#10851); -#10853=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#10854=PROPERTY_DEFINITION('',$,#10853); -#10855=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10848,#10854); -#10856=PROPERTY_DEFINITION('of spacing type','centroid',#6838); -#10857=PROPERTY_DEFINITION('required characteristic',$,#6847); -#10858=PROPERTY_DEFINITION_REPRESENTATION(#10857,#6851); -#10859=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#10860=PROPERTY_DEFINITION('',$,#10859); -#10861=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10857,#10860); -#10862=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#10863=PROPERTY_DEFINITION('',$,#10862); -#10864=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10857,#10863); -#10865=PROPERTY_DEFINITION('of spacing type','centroid',#6847); -#10866=PROPERTY_DEFINITION('required characteristic',$,#6856); -#10867=PROPERTY_DEFINITION_REPRESENTATION(#10866,#6860); -#10868=CHARACTERIZED_OBJECT('fill area category',$); -#10869=PROPERTY_DEFINITION('',$,#10868); -#10870=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10866,#10869); -#10871=CHARACTERIZED_OBJECT('fill area category',$); -#10872=PROPERTY_DEFINITION('',$,#10871); -#10873=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10866,#10872); -#10874=PROPERTY_DEFINITION('of spacing type','centroid',#6856); -#10875=PROPERTY_DEFINITION('required characteristic',$,#6865); -#10876=PROPERTY_DEFINITION_REPRESENTATION(#10875,#6869); -#10877=CHARACTERIZED_OBJECT('fill area category',$); -#10878=PROPERTY_DEFINITION('',$,#10877); -#10879=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10875,#10878); -#10880=CHARACTERIZED_OBJECT('via category',$); -#10881=PROPERTY_DEFINITION('',$,#10880); -#10882=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10875,#10881); -#10883=PROPERTY_DEFINITION('of spacing type','centroid',#6865); -#10884=PROPERTY_DEFINITION('required characteristic',$,#6874); -#10885=PROPERTY_DEFINITION_REPRESENTATION(#10884,#6878); -#10886=CHARACTERIZED_OBJECT('fill area category',$); -#10887=PROPERTY_DEFINITION('',$,#10886); -#10888=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10884,#10887); -#10889=CHARACTERIZED_OBJECT('conductive interconnect element with pre defined transitions category', - $); -#10890=PROPERTY_DEFINITION('',$,#10889); -#10891=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10884,#10890); -#10892=PROPERTY_DEFINITION('of spacing type','centroid',#6874); -#10893=PROPERTY_DEFINITION('required characteristic',$,#6883); -#10894=PROPERTY_DEFINITION_REPRESENTATION(#10893,#6887); -#10895=CHARACTERIZED_OBJECT('fill area category',$); -#10896=PROPERTY_DEFINITION('',$,#10895); -#10897=PROPERTY_DEFINITION_RELATIONSHIP('design object category 1','',#10893,#10896); -#10898=CHARACTERIZED_OBJECT('packaged component join terminal category',$); -#10899=PROPERTY_DEFINITION('',$,#10898); -#10900=PROPERTY_DEFINITION_RELATIONSHIP('design object category 2','',#10893,#10899); -#10901=PROPERTY_DEFINITION('of spacing type','centroid',#6883); -#10902=DESCRIPTION_ATTRIBUTE('length tolerance',#795); -#10903=DESCRIPTION_ATTRIBUTE('length tolerance',#799); -#10904=DESCRIPTION_ATTRIBUTE('length tolerance',#827); -#10905=DESCRIPTION_ATTRIBUTE('length tolerance',#945); -#10906=DESCRIPTION_ATTRIBUTE('length tolerance',#97); -#10907=DESCRIPTION_ATTRIBUTE('length tolerance',#107); -#10908=DESCRIPTION_ATTRIBUTE('length tolerance',#137); -#10909=DESCRIPTION_ATTRIBUTE('length tolerance',#147); -#10910=DESCRIPTION_ATTRIBUTE('length tolerance',#171); -#10911=DESCRIPTION_ATTRIBUTE('length tolerance',#181); -#10912=DESCRIPTION_ATTRIBUTE('length tolerance',#209); -#10913=DESCRIPTION_ATTRIBUTE('length tolerance',#219); -#10914=DESCRIPTION_ATTRIBUTE('length tolerance',#247); -#10915=DESCRIPTION_ATTRIBUTE('length tolerance',#257); -#10916=DESCRIPTION_ATTRIBUTE('length tolerance',#281); -#10917=DESCRIPTION_ATTRIBUTE('length tolerance',#292); -#10918=DESCRIPTION_ATTRIBUTE('length tolerance',#306); -#10919=DESCRIPTION_ATTRIBUTE('length tolerance',#317); -#10920=DESCRIPTION_ATTRIBUTE('length tolerance',#331); -#10921=DESCRIPTION_ATTRIBUTE('length tolerance',#354); -#10922=DESCRIPTION_ATTRIBUTE('length tolerance',#368); -#10923=DESCRIPTION_ATTRIBUTE('length tolerance',#391); -#10924=DESCRIPTION_ATTRIBUTE('length tolerance',#405); -#10925=DESCRIPTION_ATTRIBUTE('length tolerance',#428); -#10926=DESCRIPTION_ATTRIBUTE('length tolerance',#442); -#10927=DESCRIPTION_ATTRIBUTE('length tolerance',#452); -#10928=DESCRIPTION_ATTRIBUTE('length tolerance',#478); -#10929=DESCRIPTION_ATTRIBUTE('length tolerance',#501); -#10930=DESCRIPTION_ATTRIBUTE('length tolerance',#761); -#10931=DESCRIPTION_ATTRIBUTE('length tolerance',#792); -#10932=DESCRIPTION_ATTRIBUTE('length tolerance',#1021); -#10933=DESCRIPTION_ATTRIBUTE('length tolerance',#1157); -#10934=DESCRIPTION_ATTRIBUTE('length tolerance',#1393); -#10935=DESCRIPTION_ATTRIBUTE('length tolerance',#1667); -#10936=DESCRIPTION_ATTRIBUTE('length tolerance',#1807); -#10937=DESCRIPTION_ATTRIBUTE('length tolerance',#2752); -#10938=DESCRIPTION_ATTRIBUTE('length tolerance',#2754); -#10939=DESCRIPTION_ATTRIBUTE('length tolerance',#2894); -#10940=DESCRIPTION_ATTRIBUTE('length tolerance',#2896); -#10941=DESCRIPTION_ATTRIBUTE('length tolerance',#3036); -#10942=DESCRIPTION_ATTRIBUTE('length tolerance',#3038); -#10943=DESCRIPTION_ATTRIBUTE('length tolerance',#3177); -#10944=DESCRIPTION_ATTRIBUTE('length tolerance',#3226); -#10945=DESCRIPTION_ATTRIBUTE('length tolerance',#3267); -#10946=DESCRIPTION_ATTRIBUTE('length tolerance',#3324); -#10947=DESCRIPTION_ATTRIBUTE('length tolerance',#3921); -#10948=DESCRIPTION_ATTRIBUTE('length tolerance',#3934); -#10949=DESCRIPTION_ATTRIBUTE('length tolerance',#4132); -#10950=DESCRIPTION_ATTRIBUTE('length tolerance',#4180); -#10951=DESCRIPTION_ATTRIBUTE('length tolerance',#4193); -#10952=DESCRIPTION_ATTRIBUTE('length tolerance',#4368); -#10953=DESCRIPTION_ATTRIBUTE('length tolerance',#66); -#10954=DESCRIPTION_ATTRIBUTE('length tolerance',#75); -#10955=DESCRIPTION_ATTRIBUTE('length tolerance',#783); -#10956=DESCRIPTION_ATTRIBUTE('length tolerance',#1023); -#10957=DESCRIPTION_ATTRIBUTE('length tolerance',#6710); -#10958=DESCRIPTION_ATTRIBUTE('length tolerance',#6719); -#10959=DESCRIPTION_ATTRIBUTE('length tolerance',#6728); -#10960=DESCRIPTION_ATTRIBUTE('length tolerance',#6737); -#10961=DESCRIPTION_ATTRIBUTE('length tolerance',#6746); -#10962=DESCRIPTION_ATTRIBUTE('length tolerance',#6755); -#10963=DESCRIPTION_ATTRIBUTE('length tolerance',#6764); -#10964=DESCRIPTION_ATTRIBUTE('length tolerance',#6773); -#10965=DESCRIPTION_ATTRIBUTE('length tolerance',#6782); -#10966=DESCRIPTION_ATTRIBUTE('length tolerance',#6791); -#10967=DESCRIPTION_ATTRIBUTE('length tolerance',#6806); -#10968=DESCRIPTION_ATTRIBUTE('length tolerance',#6815); -#10969=DESCRIPTION_ATTRIBUTE('length tolerance',#6824); -#10970=DESCRIPTION_ATTRIBUTE('length tolerance',#6833); -#10971=DESCRIPTION_ATTRIBUTE('length tolerance',#6842); -#10972=DESCRIPTION_ATTRIBUTE('length tolerance',#6851); -#10973=DESCRIPTION_ATTRIBUTE('length tolerance',#6860); -#10974=DESCRIPTION_ATTRIBUTE('length tolerance',#6869); -#10975=DESCRIPTION_ATTRIBUTE('length tolerance',#6878); -#10976=DESCRIPTION_ATTRIBUTE('length tolerance',#6887); -#10977=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#759,#8382,#8334); -#10978=ID_ATTRIBUTE('1',#759); -#10979=ID_ATTRIBUTE('',#113); -#10980=ID_ATTRIBUTE('',#790); -#10981=ID_ATTRIBUTE('',#3198); -#10982=ID_ATTRIBUTE('',#3202); -#10984=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1079,#8382,#8334); -#10985=ID_ATTRIBUTE('1',#1079); -#10987=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1211,#8382,#8334); -#10988=ID_ATTRIBUTE('1',#1211); -#10990=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1289,#8382,#8334); -#10991=ID_ATTRIBUTE('1',#1289); -#10993=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1304,#8382,#8334); -#10994=ID_ATTRIBUTE('1',#1304); -#10996=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1341,#8382,#8334); -#10997=ID_ATTRIBUTE('1',#1341); -#10999=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1356,#8382,#8334); -#11000=ID_ATTRIBUTE('1',#1356); -#11002=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1447,#8382,#8334); -#11003=ID_ATTRIBUTE('1',#1447); -#11005=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1539,#8382,#8334); -#11006=ID_ATTRIBUTE('1',#1539); -#11008=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1554,#8382,#8334); -#11009=ID_ATTRIBUTE('1',#1554); -#11011=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1685,#8382,#8334); -#11012=ID_ATTRIBUTE('1',#1685); -#11014=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1697,#8382,#8334); -#11015=ID_ATTRIBUTE('1',#1697); -#11017=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1825,#8382,#8334); -#11018=ID_ATTRIBUTE('1',#1825); -#11020=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1837,#8382,#8334); -#11021=ID_ATTRIBUTE('1',#1837); -#11023=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1997,#8382,#8334); -#11024=ID_ATTRIBUTE('1',#1997); -#11026=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2089,#8382,#8334); -#11027=ID_ATTRIBUTE('1',#2089); -#11029=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2104,#8382,#8334); -#11030=ID_ATTRIBUTE('1',#2104); -#11032=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2231,#8382,#8334); -#11033=ID_ATTRIBUTE('1',#2231); -#11035=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2246,#8382,#8334); -#11036=ID_ATTRIBUTE('1',#2246); -#11038=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2373,#8382,#8334); -#11039=ID_ATTRIBUTE('1',#2373); -#11041=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2388,#8382,#8334); -#11042=ID_ATTRIBUTE('1',#2388); -#11044=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2518,#8382,#8334); -#11045=ID_ATTRIBUTE('1',#2518); -#11047=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2533,#8382,#8334); -#11048=ID_ATTRIBUTE('1',#2533); -#11050=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2616,#8382,#8334); -#11051=ID_ATTRIBUTE('1',#2616); -#11053=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2631,#8382,#8334); -#11054=ID_ATTRIBUTE('1',#2631); -#11056=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2697,#8382,#8334); -#11057=ID_ATTRIBUTE('1',#2697); -#11059=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2712,#8382,#8334); -#11060=ID_ATTRIBUTE('1',#2712); -#11062=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2767,#8382,#8334); -#11063=ID_ATTRIBUTE('1',#2767); -#11065=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2779,#8382,#8334); -#11066=ID_ATTRIBUTE('1',#2779); -#11068=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2909,#8382,#8334); -#11069=ID_ATTRIBUTE('1',#2909); -#11071=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2921,#8382,#8334); -#11072=ID_ATTRIBUTE('1',#2921); -#11074=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3051,#8382,#8334); -#11075=ID_ATTRIBUTE('1',#3051); -#11077=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3063,#8382,#8334); -#11078=ID_ATTRIBUTE('1',#3063); -#11080=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3362,#8382,#8334); -#11081=ID_ATTRIBUTE('1',#3362); -#11083=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4384,#8382,#8334); -#11084=ID_ATTRIBUTE('1',#4384); -#11086=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4394,#8382,#8334); -#11087=ID_ATTRIBUTE('1',#4394); -#11089=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4488,#8382,#8334); -#11090=ID_ATTRIBUTE('1',#4488); -#11092=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4649,#8382,#8334); -#11093=ID_ATTRIBUTE('1',#4649); -#11095=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4780,#8382,#8334); -#11096=ID_ATTRIBUTE('1',#4780); -#11098=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4883,#8382,#8334); -#11099=ID_ATTRIBUTE('1',#4883); -#11100=SHAPE_ASPECT_RELATIONSHIP('mounting surface',$,#576,#58); -#11185=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4297,#4316); -#11186=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4296,#4317); -#11187=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4299,#4318); -#11188=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4298,#4319); -#11189=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4301,#4320); -#11190=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4300,#4321); -#11191=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4303,#4322); -#11192=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4302,#4323); -#11193=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4305,#4324); -#11194=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4304,#4325); -#11195=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4307,#4326); -#11196=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4306,#4327); -#11197=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4307,#4328); -#11198=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4306,#4329); -#11199=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4307,#4330); -#11200=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4306,#4331); -#11201=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4307,#4332); -#11202=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4306,#4333); -#11203=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4315,#4334); -#11204=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4314,#4335); -#11205=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4313,#4336); -#11206=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4312,#4337); -#11207=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4311,#4338); -#11208=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4310,#4339); -#11209=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4309,#4340); -#11210=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#4308,#4341); -#11211=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#510,#10693,#8334); -#11212=ID_ATTRIBUTE('1',#510); -#11213=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#89,#510); -#11214=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#513,#510); -#11215=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#517,#10693,#8334); -#11216=ID_ATTRIBUTE('1',#517); -#11217=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#89,#517); -#11218=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#520,#517); -#11219=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#524,#10693,#8334); -#11220=ID_ATTRIBUTE('1',#524); -#11221=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#132,#524); -#11222=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#527,#524); -#11223=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#531,#10693,#8334); -#11224=ID_ATTRIBUTE('1',#531); -#11225=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#166,#531); -#11226=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#534,#531); -#11227=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#538,#10693,#8334); -#11228=ID_ATTRIBUTE('1',#538); -#11229=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#166,#538); -#11230=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#541,#538); -#11231=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#545,#10693,#8334); -#11232=ID_ATTRIBUTE('1',#545); -#11233=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#204,#545); -#11234=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#548,#545); -#11235=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#552,#10693,#8334); -#11236=ID_ATTRIBUTE('1',#552); -#11237=PRODUCT_DEFINITION_RELATIONSHIP('','used package',$,#242,#552); -#11238=PRODUCT_DEFINITION_RELATIONSHIP('','implemented function',$,#555,#552); -#11239=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4296,#3203); -#11240=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4297,#3210); -#11241=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4298,#3203); -#11242=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4299,#3210); -#11243=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4300,#3244); -#11244=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4301,#3251); -#11245=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4302,#3297); -#11246=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4303,#3306); -#11247=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4304,#3297); -#11248=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4305,#3306); -#11249=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4306,#3342); -#11250=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4307,#3351); -#11251=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4308,#3402); -#11252=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4309,#3409); -#11253=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4310,#3416); -#11254=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4311,#3423); -#11255=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4312,#3430); -#11256=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4313,#3437); -#11257=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4314,#3444); -#11258=SHAPE_ASPECT_RELATIONSHIP('terminal of package',$,#4315,#3451); -#11259=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#89,#10693,#8334); -#11260=ID_ATTRIBUTE('c0805_vapor_nr',#89); -#11261=PROPERTY_DEFINITION('maximum body height above seating plane',$,#89); -#11262=PROPERTY_DEFINITION_REPRESENTATION(#11261,#11263); -#11263=REPRESENTATION('',(#105),#8399); -#11264=PROPERTY_DEFINITION('body clearance above seating plane',$,#89); -#11265=PROPERTY_DEFINITION_REPRESENTATION(#11264,#107); -#11266=PROPERTY_DEFINITION('mounting technology','surface mount',#89); -#11267=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#132,#10693,#8334); -#11268=ID_ATTRIBUTE('c1210',#132); -#11269=PROPERTY_DEFINITION('maximum body height above seating plane',$,#132); -#11270=PROPERTY_DEFINITION_REPRESENTATION(#11269,#11271); -#11271=REPRESENTATION('',(#145),#8399); -#11272=PROPERTY_DEFINITION('body clearance above seating plane',$,#132); -#11273=PROPERTY_DEFINITION_REPRESENTATION(#11272,#147); -#11274=PROPERTY_DEFINITION('mounting technology','surface mount',#132); -#11275=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#166,#10693,#8334); -#11276=ID_ATTRIBUTE('r0603_vapor_nr',#166); -#11277=PROPERTY_DEFINITION('maximum body height above seating plane',$,#166); -#11278=PROPERTY_DEFINITION_REPRESENTATION(#11277,#11279); -#11279=REPRESENTATION('',(#179),#8399); -#11280=PROPERTY_DEFINITION('body clearance above seating plane',$,#166); -#11281=PROPERTY_DEFINITION_REPRESENTATION(#11280,#181); -#11282=PROPERTY_DEFINITION('mounting technology','surface mount',#166); -#11283=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#204,#10693,#8334); -#11284=ID_ATTRIBUTE('rm1812_b',#204); -#11285=PROPERTY_DEFINITION('maximum body height above seating plane',$,#204); -#11286=PROPERTY_DEFINITION_REPRESENTATION(#11285,#11287); -#11287=REPRESENTATION('',(#217),#8399); -#11288=PROPERTY_DEFINITION('body clearance above seating plane',$,#204); -#11289=PROPERTY_DEFINITION_REPRESENTATION(#11288,#219); -#11290=PROPERTY_DEFINITION('mounting technology','surface mount',#204); -#11291=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#242,#10693,#8334); -#11292=ID_ATTRIBUTE('so_8_micromax',#242); -#11293=PROPERTY_DEFINITION('maximum body height above seating plane',$,#242); -#11294=PROPERTY_DEFINITION_REPRESENTATION(#11293,#11295); -#11295=REPRESENTATION('',(#255),#8399); -#11296=PROPERTY_DEFINITION('body clearance above seating plane',$,#242); -#11297=PROPERTY_DEFINITION_REPRESENTATION(#11296,#257); -#11298=PROPERTY_DEFINITION('mounting technology','surface mount',#242); -#11299=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#276,#10693,#8334); -#11300=ID_ATTRIBUTE('ckr05',#276); -#11301=PROPERTY_DEFINITION('maximum body height above seating plane',$,#276); -#11302=PROPERTY_DEFINITION_REPRESENTATION(#11301,#11303); -#11303=REPRESENTATION('',(#290),#8399); -#11304=PROPERTY_DEFINITION('body clearance above seating plane',$,#276); -#11305=PROPERTY_DEFINITION_REPRESENTATION(#11304,#292); -#11306=PROPERTY_DEFINITION('mounting technology','through hole',#276); -#11307=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#301,#10693,#8334); -#11308=ID_ATTRIBUTE('ckr06',#301); -#11309=PROPERTY_DEFINITION('maximum body height above seating plane',$,#301); -#11310=PROPERTY_DEFINITION_REPRESENTATION(#11309,#11311); -#11311=REPRESENTATION('',(#315),#8399); -#11312=PROPERTY_DEFINITION('body clearance above seating plane',$,#301); -#11313=PROPERTY_DEFINITION_REPRESENTATION(#11312,#317); -#11314=PROPERTY_DEFINITION('mounting technology','through hole',#301); -#11315=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#326,#10693,#8334); -#11316=ID_ATTRIBUTE('dip8_300_d04',#326); -#11317=PROPERTY_DEFINITION('maximum body height above seating plane',$,#326); -#11318=PROPERTY_DEFINITION_REPRESENTATION(#11317,#11319); -#11319=REPRESENTATION('',(#352),#8399); -#11320=PROPERTY_DEFINITION('body clearance above seating plane',$,#326); -#11321=PROPERTY_DEFINITION_REPRESENTATION(#11320,#354); -#11322=PROPERTY_DEFINITION('mounting technology','through hole',#326); -#11323=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#363,#10693,#8334); -#11324=ID_ATTRIBUTE('rlr07',#363); -#11325=PROPERTY_DEFINITION('maximum body height above seating plane',$,#363); -#11326=PROPERTY_DEFINITION_REPRESENTATION(#11325,#11327); -#11327=REPRESENTATION('',(#389),#8399); -#11328=PROPERTY_DEFINITION('body clearance above seating plane',$,#363); -#11329=PROPERTY_DEFINITION_REPRESENTATION(#11328,#391); -#11330=PROPERTY_DEFINITION('mounting technology','through hole',#363); -#11331=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#400,#10693,#8334); -#11332=ID_ATTRIBUTE('rlr07_1',#400); -#11333=PROPERTY_DEFINITION('maximum body height above seating plane',$,#400); -#11334=PROPERTY_DEFINITION_REPRESENTATION(#11333,#11335); -#11335=REPRESENTATION('',(#426),#8399); -#11336=PROPERTY_DEFINITION('body clearance above seating plane',$,#400); -#11337=PROPERTY_DEFINITION_REPRESENTATION(#11336,#428); -#11338=PROPERTY_DEFINITION('mounting technology','through hole',#400); -#11339=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#437,#10693,#8334); -#11340=ID_ATTRIBUTE('rm2512_b',#437); -#11341=PROPERTY_DEFINITION('maximum body height above seating plane',$,#437); -#11342=PROPERTY_DEFINITION_REPRESENTATION(#11341,#11343); -#11343=REPRESENTATION('',(#450),#8399); -#11344=PROPERTY_DEFINITION('body clearance above seating plane',$,#437); -#11345=PROPERTY_DEFINITION_REPRESENTATION(#11344,#452); -#11346=PROPERTY_DEFINITION('mounting technology','surface mount',#437); -#11347=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#473,#10693,#8334); -#11348=ID_ATTRIBUTE('se555cn',#473); -#11349=PROPERTY_DEFINITION('maximum body height above seating plane',$,#473); -#11350=PROPERTY_DEFINITION_REPRESENTATION(#11349,#11351); -#11351=REPRESENTATION('',(#499),#8399); -#11352=PROPERTY_DEFINITION('body clearance above seating plane',$,#473); -#11353=PROPERTY_DEFINITION_REPRESENTATION(#11352,#501); -#11354=PROPERTY_DEFINITION('mounting technology','through hole',#473); -#11355=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3203,#3210); -#11356=PROPERTY_DEFINITION('',$,#3210); -#11357=PROPERTY_DEFINITION('',$,#3192); -#11358=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11357,#11356); -#11359=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3244,#3251); -#11360=PROPERTY_DEFINITION('',$,#3251); -#11361=PROPERTY_DEFINITION('',$,#3241); -#11362=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11361,#11360); -#11363=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3297,#3306); -#11364=PROPERTY_DEFINITION('',$,#3306); -#11365=PROPERTY_DEFINITION('',$,#3294); -#11366=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11365,#11364); -#11367=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3342,#3351); -#11368=PROPERTY_DEFINITION('',$,#3351); -#11369=PROPERTY_DEFINITION('',$,#3339); -#11370=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11369,#11368); -#11371=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3402,#3409); -#11372=PROPERTY_DEFINITION('',$,#3409); -#11373=PROPERTY_DEFINITION('',$,#3399); -#11374=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11373,#11372); -#11375=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3409,#3416); -#11376=PROPERTY_DEFINITION('',$,#3416); -#11377=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11373,#11376); -#11378=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3416,#3423); -#11379=PROPERTY_DEFINITION('',$,#3423); -#11380=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11373,#11379); -#11381=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3423,#3430); -#11382=PROPERTY_DEFINITION('',$,#3430); -#11383=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11373,#11382); -#11384=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3430,#3437); -#11385=PROPERTY_DEFINITION('',$,#3437); -#11386=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11373,#11385); -#11387=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3437,#3444); -#11388=PROPERTY_DEFINITION('',$,#3444); -#11389=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11373,#11388); -#11390=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3444,#3451); -#11391=PROPERTY_DEFINITION('',$,#3451); -#11392=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11373,#11391); -#11393=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3868,#3874); -#11394=PROPERTY_DEFINITION('',$,#3874); -#11395=PROPERTY_DEFINITION('',$,#3865); -#11396=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11395,#11394); -#11397=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3897,#3903); -#11398=PROPERTY_DEFINITION('',$,#3903); -#11399=PROPERTY_DEFINITION('',$,#3894); -#11400=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11399,#11398); -#11401=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3982,#3989); -#11402=PROPERTY_DEFINITION('',$,#3989); -#11403=PROPERTY_DEFINITION('',$,#3979); -#11404=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11403,#11402); -#11405=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3989,#3996); -#11406=PROPERTY_DEFINITION('',$,#3996); -#11407=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11403,#11406); -#11408=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#3996,#4003); -#11409=PROPERTY_DEFINITION('',$,#4003); -#11410=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11403,#11409); -#11411=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4003,#4010); -#11412=PROPERTY_DEFINITION('',$,#4010); -#11413=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11403,#11412); -#11414=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4010,#4017); -#11415=PROPERTY_DEFINITION('',$,#4017); -#11416=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11403,#11415); -#11417=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4017,#4024); -#11418=PROPERTY_DEFINITION('',$,#4024); -#11419=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11403,#11418); -#11420=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4024,#4031); -#11421=PROPERTY_DEFINITION('',$,#4031); -#11422=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11403,#11421); -#11423=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4067,#4073); -#11424=PROPERTY_DEFINITION('',$,#4073); -#11425=PROPERTY_DEFINITION('',$,#4064); -#11426=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11425,#11424); -#11427=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4110,#4117); -#11428=PROPERTY_DEFINITION('',$,#4117); -#11429=PROPERTY_DEFINITION('',$,#4107); -#11430=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11429,#11428); -#11431=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4150,#4159); -#11432=PROPERTY_DEFINITION('',$,#4159); -#11433=PROPERTY_DEFINITION('',$,#4147); -#11434=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11433,#11432); -#11435=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4241,#4247); -#11436=PROPERTY_DEFINITION('',$,#4247); -#11437=PROPERTY_DEFINITION('',$,#4238); -#11438=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11437,#11436); -#11439=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4247,#4254); -#11440=PROPERTY_DEFINITION('',$,#4254); -#11441=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11437,#11440); -#11442=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4254,#4261); -#11443=PROPERTY_DEFINITION('',$,#4261); -#11444=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11437,#11443); -#11445=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4261,#4268); -#11446=PROPERTY_DEFINITION('',$,#4268); -#11447=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11437,#11446); -#11448=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4268,#4275); -#11449=PROPERTY_DEFINITION('',$,#4275); -#11450=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11437,#11449); -#11451=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4275,#4282); -#11452=PROPERTY_DEFINITION('',$,#4282); -#11453=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11437,#11452); -#11454=SHAPE_ASPECT_RELATIONSHIP('precedent feature',$,#4282,#4289); -#11455=PROPERTY_DEFINITION('',$,#4289); -#11456=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11437,#11455); -#11457=PROPERTY_DEFINITION('seating plane intersection','surface intersection',#3192); -#11458=PROPERTY_DEFINITION('predefined lead form','undefined',#3192); -#11459=PROPERTY_DEFINITION('seating plane intersection','surface intersection',#3241); -#11460=PROPERTY_DEFINITION('predefined lead form','undefined',#3241); -#11461=PROPERTY_DEFINITION('seating plane intersection','surface intersection',#3294); -#11462=PROPERTY_DEFINITION('predefined lead form','undefined',#3294); -#11463=PROPERTY_DEFINITION('seating plane intersection','surface intersection',#3339); -#11464=PROPERTY_DEFINITION('predefined lead form','undefined',#3339); -#11465=PROPERTY_DEFINITION('seating plane intersection','surface intersection',#3399); -#11466=PROPERTY_DEFINITION('predefined lead form','undefined',#3399); -#11467=PROPERTY_DEFINITION('seating plane intersection','through intersection',#3865); -#11468=PROPERTY_DEFINITION('predefined lead form','undefined',#3865); -#11469=PROPERTY_DEFINITION('seating plane intersection','through intersection',#3894); -#11470=PROPERTY_DEFINITION('predefined lead form','undefined',#3894); -#11471=PROPERTY_DEFINITION('seating plane intersection','through intersection',#3979); -#11472=PROPERTY_DEFINITION('predefined lead form','undefined',#3979); -#11473=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4064); -#11474=PROPERTY_DEFINITION('predefined lead form','undefined',#4064); -#11475=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4107); -#11476=PROPERTY_DEFINITION('predefined lead form','undefined',#4107); -#11477=PROPERTY_DEFINITION('seating plane intersection','surface intersection',#4147); -#11478=PROPERTY_DEFINITION('predefined lead form','undefined',#4147); -#11479=PROPERTY_DEFINITION('seating plane intersection','through intersection',#4238); -#11480=PROPERTY_DEFINITION('predefined lead form','undefined',#4238); -#11482=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1284,#8382,#8334); -#11483=ID_ATTRIBUTE('1',#1284); -#11484=PROPERTY_DEFINITION('location','swappable',#1284); -#11485=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#1284); -#11487=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1336,#8382,#8334); -#11488=ID_ATTRIBUTE('1',#1336); -#11489=PROPERTY_DEFINITION('location','swappable',#1336); -#11490=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#1336); -#11492=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2496,#8382,#8334); -#11493=ID_ATTRIBUTE('1',#2496); -#11494=PROPERTY_DEFINITION('location','top',#2496); -#11495=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#2496); -#11497=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2548,#8382,#8334); -#11498=ID_ATTRIBUTE('1',#2548); -#11499=PROPERTY_DEFINITION('location','bottom',#2548); -#11500=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#2548); -#11502=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2594,#8382,#8334); -#11503=ID_ATTRIBUTE('1',#2594); -#11504=PROPERTY_DEFINITION('location','top',#2594); -#11505=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#2594); -#11507=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2646,#8382,#8334); -#11508=ID_ATTRIBUTE('1',#2646); -#11509=PROPERTY_DEFINITION('location','bottom',#2646); -#11510=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#2646); -#11512=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2692,#8382,#8334); -#11513=ID_ATTRIBUTE('1',#2692); -#11514=PROPERTY_DEFINITION('location','swappable',#2692); -#11515=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#2692); -#11516=PRODUCT_CONTEXT('part',#8333,''); -#11517=PROPERTY_DEFINITION('',$,#3203); -#11518=PROPERTY_DEFINITION('',$,#3208); -#11519=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11517,#11518); -#11520=PROPERTY_DEFINITION('',$,#3215); -#11521=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11356,#11520); -#11522=PROPERTY_DEFINITION('',$,#3244); -#11523=PROPERTY_DEFINITION('',$,#3249); -#11524=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11522,#11523); -#11525=PROPERTY_DEFINITION('',$,#3256); -#11526=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11360,#11525); -#11527=PROPERTY_DEFINITION('',$,#3297); -#11528=PROPERTY_DEFINITION('',$,#3302); -#11529=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11527,#11528); -#11530=PROPERTY_DEFINITION('',$,#3304); -#11531=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11527,#11530); -#11532=PROPERTY_DEFINITION('',$,#3311); -#11533=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11364,#11532); -#11534=PROPERTY_DEFINITION('',$,#3313); -#11535=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11364,#11534); -#11536=PROPERTY_DEFINITION('',$,#3342); -#11537=PROPERTY_DEFINITION('',$,#3347); -#11538=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11536,#11537); -#11539=PROPERTY_DEFINITION('',$,#3349); -#11540=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11536,#11539); -#11541=PROPERTY_DEFINITION('',$,#3356); -#11542=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11368,#11541); -#11543=PROPERTY_DEFINITION('',$,#3358); -#11544=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11368,#11543); -#11545=PROPERTY_DEFINITION('',$,#3402); -#11546=PROPERTY_DEFINITION('',$,#3407); -#11547=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11545,#11546); -#11548=PROPERTY_DEFINITION('',$,#3414); -#11549=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11372,#11548); -#11550=PROPERTY_DEFINITION('',$,#3421); -#11551=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11376,#11550); -#11552=PROPERTY_DEFINITION('',$,#3428); -#11553=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11379,#11552); -#11554=PROPERTY_DEFINITION('',$,#3435); -#11555=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11382,#11554); -#11556=PROPERTY_DEFINITION('',$,#3442); -#11557=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11385,#11556); -#11558=PROPERTY_DEFINITION('',$,#3449); -#11559=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11388,#11558); -#11560=PROPERTY_DEFINITION('',$,#3456); -#11561=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11391,#11560); -#11562=PROPERTY_DEFINITION('',$,#3868); -#11563=PROPERTY_DEFINITION('',$,#3872); -#11564=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11562,#11563); -#11565=PROPERTY_DEFINITION('',$,#3879); -#11566=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11394,#11565); -#11567=PROPERTY_DEFINITION('',$,#3897); -#11568=PROPERTY_DEFINITION('',$,#3901); -#11569=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11567,#11568); -#11570=PROPERTY_DEFINITION('',$,#3908); -#11571=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11398,#11570); -#11572=PROPERTY_DEFINITION('',$,#3982); -#11573=PROPERTY_DEFINITION('',$,#3987); -#11574=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11572,#11573); -#11575=PROPERTY_DEFINITION('',$,#3994); -#11576=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11402,#11575); -#11577=PROPERTY_DEFINITION('',$,#4001); -#11578=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11406,#11577); -#11579=PROPERTY_DEFINITION('',$,#4008); -#11580=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11409,#11579); -#11581=PROPERTY_DEFINITION('',$,#4015); -#11582=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11412,#11581); -#11583=PROPERTY_DEFINITION('',$,#4022); -#11584=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11415,#11583); -#11585=PROPERTY_DEFINITION('',$,#4029); -#11586=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11418,#11585); -#11587=PROPERTY_DEFINITION('',$,#4035); -#11588=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11421,#11587); -#11589=PROPERTY_DEFINITION('',$,#4067); -#11590=PROPERTY_DEFINITION('',$,#4071); -#11591=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11589,#11590); -#11592=PROPERTY_DEFINITION('',$,#4078); -#11593=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11424,#11592); -#11594=PROPERTY_DEFINITION('',$,#4110); -#11595=PROPERTY_DEFINITION('',$,#4115); -#11596=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11594,#11595); -#11597=PROPERTY_DEFINITION('',$,#4121); -#11598=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11428,#11597); -#11599=PROPERTY_DEFINITION('',$,#4150); -#11600=PROPERTY_DEFINITION('',$,#4155); -#11601=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11599,#11600); -#11602=PROPERTY_DEFINITION('',$,#4157); -#11603=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11599,#11602); -#11604=PROPERTY_DEFINITION('',$,#4164); -#11605=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11432,#11604); -#11606=PROPERTY_DEFINITION('',$,#4166); -#11607=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11432,#11606); -#11608=PROPERTY_DEFINITION('',$,#4241); -#11609=PROPERTY_DEFINITION('',$,#4245); -#11610=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11608,#11609); -#11611=PROPERTY_DEFINITION('',$,#4252); -#11612=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11436,#11611); -#11613=PROPERTY_DEFINITION('',$,#4259); -#11614=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11440,#11613); -#11615=PROPERTY_DEFINITION('',$,#4266); -#11616=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11443,#11615); -#11617=PROPERTY_DEFINITION('',$,#4273); -#11618=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11446,#11617); -#11619=PROPERTY_DEFINITION('',$,#4280); -#11620=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11449,#11619); -#11621=PROPERTY_DEFINITION('',$,#4287); -#11622=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11452,#11621); -#11623=PROPERTY_DEFINITION('',$,#4294); -#11624=PROPERTY_DEFINITION_RELATIONSHIP('reference feature','',#11455,#11623); -#11625=DESCRIPTION_ATTRIBUTE('ptpsm',#1032); -#11626=SHAPE_DEFINITION_REPRESENTATION(#1029,#1032); -#11627=REPRESENTATION_RELATIONSHIP('',$,#1032,#8398); -#11628=DESCRIPTION_ATTRIBUTE('ptpsm',#1080); -#11629=SHAPE_DEFINITION_REPRESENTATION(#1079,#1080); -#11630=REPRESENTATION_RELATIONSHIP('',$,#1080,#8398); -#11631=DESCRIPTION_ATTRIBUTE('ptpsm',#1096); -#11632=SHAPE_DEFINITION_REPRESENTATION(#1095,#1096); -#11633=REPRESENTATION_RELATIONSHIP('',$,#1096,#8398); -#11634=DESCRIPTION_ATTRIBUTE('ptpsm',#1164); -#11635=SHAPE_DEFINITION_REPRESENTATION(#1161,#1164); -#11636=REPRESENTATION_RELATIONSHIP('',$,#1164,#8398); -#11637=DESCRIPTION_ATTRIBUTE('ptpsm',#1212); -#11638=SHAPE_DEFINITION_REPRESENTATION(#1211,#1212); -#11639=REPRESENTATION_RELATIONSHIP('',$,#1212,#8398); -#11640=DESCRIPTION_ATTRIBUTE('ptpsm',#1228); -#11641=SHAPE_DEFINITION_REPRESENTATION(#1227,#1228); -#11642=REPRESENTATION_RELATIONSHIP('',$,#1228,#8398); -#11643=DESCRIPTION_ATTRIBUTE('ptpsm',#1290); -#11644=SHAPE_DEFINITION_REPRESENTATION(#1289,#1290); -#11645=REPRESENTATION_RELATIONSHIP('',$,#1290,#8398); -#11646=DESCRIPTION_ATTRIBUTE('ptpsm',#1305); -#11647=SHAPE_DEFINITION_REPRESENTATION(#1304,#1305); -#11648=REPRESENTATION_RELATIONSHIP('',$,#1305,#8398); -#11649=DESCRIPTION_ATTRIBUTE('ptpsm',#1320); -#11650=SHAPE_DEFINITION_REPRESENTATION(#1319,#1320); -#11651=REPRESENTATION_RELATIONSHIP('',$,#1320,#8398); -#11652=DESCRIPTION_ATTRIBUTE('ptpsm',#1342); -#11653=SHAPE_DEFINITION_REPRESENTATION(#1341,#1342); -#11654=REPRESENTATION_RELATIONSHIP('',$,#1342,#8398); -#11655=DESCRIPTION_ATTRIBUTE('ptpsm',#1357); -#11656=SHAPE_DEFINITION_REPRESENTATION(#1356,#1357); -#11657=REPRESENTATION_RELATIONSHIP('',$,#1357,#8398); -#11658=DESCRIPTION_ATTRIBUTE('ptpsm',#1372); -#11659=SHAPE_DEFINITION_REPRESENTATION(#1371,#1372); -#11660=REPRESENTATION_RELATIONSHIP('',$,#1372,#8398); -#11661=DESCRIPTION_ATTRIBUTE('ptpsm',#1400); -#11662=SHAPE_DEFINITION_REPRESENTATION(#1397,#1400); -#11663=REPRESENTATION_RELATIONSHIP('',$,#1400,#8398); -#11664=DESCRIPTION_ATTRIBUTE('ptpsm',#1448); -#11665=SHAPE_DEFINITION_REPRESENTATION(#1447,#1448); -#11666=REPRESENTATION_RELATIONSHIP('',$,#1448,#8398); -#11667=DESCRIPTION_ATTRIBUTE('ptpsm',#1464); -#11668=SHAPE_DEFINITION_REPRESENTATION(#1463,#1464); -#11669=REPRESENTATION_RELATIONSHIP('',$,#1464,#8398); -#11670=DESCRIPTION_ATTRIBUTE('ptpsm',#1528); -#11671=SHAPE_DEFINITION_REPRESENTATION(#1525,#1528); -#11672=REPRESENTATION_RELATIONSHIP('',$,#1528,#8398); -#11673=DESCRIPTION_ATTRIBUTE('ptpsm',#1540); -#11674=SHAPE_DEFINITION_REPRESENTATION(#1539,#1540); -#11675=REPRESENTATION_RELATIONSHIP('',$,#1540,#8398); -#11676=DESCRIPTION_ATTRIBUTE('ptpsm',#1555); -#11677=SHAPE_DEFINITION_REPRESENTATION(#1554,#1555); -#11678=REPRESENTATION_RELATIONSHIP('',$,#1555,#8398); -#11679=DESCRIPTION_ATTRIBUTE('ptpsm',#1606); -#11680=SHAPE_DEFINITION_REPRESENTATION(#1605,#1606); -#11681=REPRESENTATION_RELATIONSHIP('',$,#1606,#8398); -#11682=DESCRIPTION_ATTRIBUTE('ptpsm',#1674); -#11683=SHAPE_DEFINITION_REPRESENTATION(#1671,#1674); -#11684=REPRESENTATION_RELATIONSHIP('',$,#1674,#8398); -#11685=DESCRIPTION_ATTRIBUTE('ptpsm',#1686); -#11686=SHAPE_DEFINITION_REPRESENTATION(#1685,#1686); -#11687=REPRESENTATION_RELATIONSHIP('',$,#1686,#8398); -#11688=DESCRIPTION_ATTRIBUTE('ptpsm',#1698); -#11689=SHAPE_DEFINITION_REPRESENTATION(#1697,#1698); -#11690=REPRESENTATION_RELATIONSHIP('',$,#1698,#8398); -#11691=DESCRIPTION_ATTRIBUTE('ptpsm',#1746); -#11692=SHAPE_DEFINITION_REPRESENTATION(#1745,#1746); -#11693=REPRESENTATION_RELATIONSHIP('',$,#1746,#8398); -#11694=DESCRIPTION_ATTRIBUTE('ptpsm',#1814); -#11695=SHAPE_DEFINITION_REPRESENTATION(#1811,#1814); -#11696=REPRESENTATION_RELATIONSHIP('',$,#1814,#8398); -#11697=DESCRIPTION_ATTRIBUTE('ptpsm',#1826); -#11698=SHAPE_DEFINITION_REPRESENTATION(#1825,#1826); -#11699=REPRESENTATION_RELATIONSHIP('',$,#1826,#8398); -#11700=DESCRIPTION_ATTRIBUTE('ptpsm',#1838); -#11701=SHAPE_DEFINITION_REPRESENTATION(#1837,#1838); -#11702=REPRESENTATION_RELATIONSHIP('',$,#1838,#8398); -#11703=DESCRIPTION_ATTRIBUTE('ptpsm',#1886); -#11704=SHAPE_DEFINITION_REPRESENTATION(#1885,#1886); -#11705=REPRESENTATION_RELATIONSHIP('',$,#1886,#8398); -#11706=DESCRIPTION_ATTRIBUTE('ptpsm',#1950); -#11707=SHAPE_DEFINITION_REPRESENTATION(#1947,#1950); -#11708=REPRESENTATION_RELATIONSHIP('',$,#1950,#8398); -#11709=DESCRIPTION_ATTRIBUTE('ptpsm',#1998); -#11710=SHAPE_DEFINITION_REPRESENTATION(#1997,#1998); -#11711=REPRESENTATION_RELATIONSHIP('',$,#1998,#8398); -#11712=DESCRIPTION_ATTRIBUTE('ptpsm',#2014); -#11713=SHAPE_DEFINITION_REPRESENTATION(#2013,#2014); -#11714=REPRESENTATION_RELATIONSHIP('',$,#2014,#8398); -#11715=DESCRIPTION_ATTRIBUTE('ptpsm',#2078); -#11716=SHAPE_DEFINITION_REPRESENTATION(#2075,#2078); -#11717=REPRESENTATION_RELATIONSHIP('',$,#2078,#8398); -#11718=DESCRIPTION_ATTRIBUTE('ptpsm',#2090); -#11719=SHAPE_DEFINITION_REPRESENTATION(#2089,#2090); -#11720=REPRESENTATION_RELATIONSHIP('',$,#2090,#8398); -#11721=DESCRIPTION_ATTRIBUTE('ptpsm',#2105); -#11722=SHAPE_DEFINITION_REPRESENTATION(#2104,#2105); -#11723=REPRESENTATION_RELATIONSHIP('',$,#2105,#8398); -#11724=DESCRIPTION_ATTRIBUTE('ptpsm',#2156); -#11725=SHAPE_DEFINITION_REPRESENTATION(#2155,#2156); -#11726=REPRESENTATION_RELATIONSHIP('',$,#2156,#8398); -#11727=DESCRIPTION_ATTRIBUTE('ptpsm',#2220); -#11728=SHAPE_DEFINITION_REPRESENTATION(#2217,#2220); -#11729=REPRESENTATION_RELATIONSHIP('',$,#2220,#8398); -#11730=DESCRIPTION_ATTRIBUTE('ptpsm',#2232); -#11731=SHAPE_DEFINITION_REPRESENTATION(#2231,#2232); -#11732=REPRESENTATION_RELATIONSHIP('',$,#2232,#8398); -#11733=DESCRIPTION_ATTRIBUTE('ptpsm',#2247); -#11734=SHAPE_DEFINITION_REPRESENTATION(#2246,#2247); -#11735=REPRESENTATION_RELATIONSHIP('',$,#2247,#8398); -#11736=DESCRIPTION_ATTRIBUTE('ptpsm',#2298); -#11737=SHAPE_DEFINITION_REPRESENTATION(#2297,#2298); -#11738=REPRESENTATION_RELATIONSHIP('',$,#2298,#8398); -#11739=DESCRIPTION_ATTRIBUTE('ptpsm',#2362); -#11740=SHAPE_DEFINITION_REPRESENTATION(#2359,#2362); -#11741=REPRESENTATION_RELATIONSHIP('',$,#2362,#8398); -#11742=DESCRIPTION_ATTRIBUTE('ptpsm',#2374); -#11743=SHAPE_DEFINITION_REPRESENTATION(#2373,#2374); -#11744=REPRESENTATION_RELATIONSHIP('',$,#2374,#8398); -#11745=DESCRIPTION_ATTRIBUTE('ptpsm',#2389); -#11746=SHAPE_DEFINITION_REPRESENTATION(#2388,#2389); -#11747=REPRESENTATION_RELATIONSHIP('',$,#2389,#8398); -#11748=DESCRIPTION_ATTRIBUTE('ptpsm',#2440); -#11749=SHAPE_DEFINITION_REPRESENTATION(#2439,#2440); -#11750=REPRESENTATION_RELATIONSHIP('',$,#2440,#8398); -#11751=DESCRIPTION_ATTRIBUTE('ptpsm',#2502); -#11752=SHAPE_DEFINITION_REPRESENTATION(#2501,#2502); -#11753=REPRESENTATION_RELATIONSHIP('',$,#2502,#8398); -#11754=DESCRIPTION_ATTRIBUTE('ptpsm',#2519); -#11755=SHAPE_DEFINITION_REPRESENTATION(#2518,#2519); -#11756=REPRESENTATION_RELATIONSHIP('',$,#2519,#8398); -#11757=DESCRIPTION_ATTRIBUTE('ptpsm',#2534); -#11758=SHAPE_DEFINITION_REPRESENTATION(#2533,#2534); -#11759=REPRESENTATION_RELATIONSHIP('',$,#2534,#8398); -#11760=DESCRIPTION_ATTRIBUTE('ptpsm',#2554); -#11761=SHAPE_DEFINITION_REPRESENTATION(#2553,#2554); -#11762=REPRESENTATION_RELATIONSHIP('',$,#2554,#8398); -#11763=DESCRIPTION_ATTRIBUTE('ptpsm',#2568); -#11764=SHAPE_DEFINITION_REPRESENTATION(#2518,#2568); -#11765=REPRESENTATION_RELATIONSHIP('',$,#2568,#8398); -#11766=DESCRIPTION_ATTRIBUTE('ptpsm',#2580); -#11767=SHAPE_DEFINITION_REPRESENTATION(#2533,#2580); -#11768=REPRESENTATION_RELATIONSHIP('',$,#2580,#8398); -#11769=DESCRIPTION_ATTRIBUTE('ptpsm',#2600); -#11770=SHAPE_DEFINITION_REPRESENTATION(#2599,#2600); -#11771=REPRESENTATION_RELATIONSHIP('',$,#2600,#8398); -#11772=DESCRIPTION_ATTRIBUTE('ptpsm',#2617); -#11773=SHAPE_DEFINITION_REPRESENTATION(#2616,#2617); -#11774=REPRESENTATION_RELATIONSHIP('',$,#2617,#8398); -#11775=DESCRIPTION_ATTRIBUTE('ptpsm',#2632); -#11776=SHAPE_DEFINITION_REPRESENTATION(#2631,#2632); -#11777=REPRESENTATION_RELATIONSHIP('',$,#2632,#8398); -#11778=DESCRIPTION_ATTRIBUTE('ptpsm',#2652); -#11779=SHAPE_DEFINITION_REPRESENTATION(#2651,#2652); -#11780=REPRESENTATION_RELATIONSHIP('',$,#2652,#8398); -#11781=DESCRIPTION_ATTRIBUTE('ptpsm',#2666); -#11782=SHAPE_DEFINITION_REPRESENTATION(#2616,#2666); -#11783=REPRESENTATION_RELATIONSHIP('',$,#2666,#8398); -#11784=DESCRIPTION_ATTRIBUTE('ptpsm',#2678); -#11785=SHAPE_DEFINITION_REPRESENTATION(#2631,#2678); -#11786=REPRESENTATION_RELATIONSHIP('',$,#2678,#8398); -#11787=DESCRIPTION_ATTRIBUTE('ptpsm',#2698); -#11788=SHAPE_DEFINITION_REPRESENTATION(#2697,#2698); -#11789=REPRESENTATION_RELATIONSHIP('',$,#2698,#8398); -#11790=DESCRIPTION_ATTRIBUTE('ptpsm',#2713); -#11791=SHAPE_DEFINITION_REPRESENTATION(#2712,#2713); -#11792=REPRESENTATION_RELATIONSHIP('',$,#2713,#8398); -#11793=DESCRIPTION_ATTRIBUTE('ptpsm',#2728); -#11794=SHAPE_DEFINITION_REPRESENTATION(#2727,#2728); -#11795=REPRESENTATION_RELATIONSHIP('',$,#2728,#8398); -#11796=DESCRIPTION_ATTRIBUTE('ptpsm',#2745); -#11797=SHAPE_DEFINITION_REPRESENTATION(#2744,#2745); -#11798=REPRESENTATION_RELATIONSHIP('',$,#2745,#8398); -#11799=DESCRIPTION_ATTRIBUTE('ptpsm',#2768); -#11800=SHAPE_DEFINITION_REPRESENTATION(#2767,#2768); -#11801=REPRESENTATION_RELATIONSHIP('',$,#2768,#8398); -#11802=DESCRIPTION_ATTRIBUTE('ptpsm',#2780); -#11803=SHAPE_DEFINITION_REPRESENTATION(#2779,#2780); -#11804=REPRESENTATION_RELATIONSHIP('',$,#2780,#8398); -#11805=DESCRIPTION_ATTRIBUTE('ptpsm',#2828); -#11806=SHAPE_DEFINITION_REPRESENTATION(#2827,#2828); -#11807=REPRESENTATION_RELATIONSHIP('',$,#2828,#8398); -#11808=DESCRIPTION_ATTRIBUTE('ptpsm',#2887); -#11809=SHAPE_DEFINITION_REPRESENTATION(#2886,#2887); -#11810=REPRESENTATION_RELATIONSHIP('',$,#2887,#8398); -#11811=DESCRIPTION_ATTRIBUTE('ptpsm',#2910); -#11812=SHAPE_DEFINITION_REPRESENTATION(#2909,#2910); -#11813=REPRESENTATION_RELATIONSHIP('',$,#2910,#8398); -#11814=DESCRIPTION_ATTRIBUTE('ptpsm',#2922); -#11815=SHAPE_DEFINITION_REPRESENTATION(#2921,#2922); -#11816=REPRESENTATION_RELATIONSHIP('',$,#2922,#8398); -#11817=DESCRIPTION_ATTRIBUTE('ptpsm',#2970); -#11818=SHAPE_DEFINITION_REPRESENTATION(#2969,#2970); -#11819=REPRESENTATION_RELATIONSHIP('',$,#2970,#8398); -#11820=DESCRIPTION_ATTRIBUTE('ptpsm',#3029); -#11821=SHAPE_DEFINITION_REPRESENTATION(#3028,#3029); -#11822=REPRESENTATION_RELATIONSHIP('',$,#3029,#8398); -#11823=DESCRIPTION_ATTRIBUTE('ptpsm',#3052); -#11824=SHAPE_DEFINITION_REPRESENTATION(#3051,#3052); -#11825=REPRESENTATION_RELATIONSHIP('',$,#3052,#8398); -#11826=DESCRIPTION_ATTRIBUTE('ptpsm',#3064); -#11827=SHAPE_DEFINITION_REPRESENTATION(#3063,#3064); -#11828=REPRESENTATION_RELATIONSHIP('',$,#3064,#8398); -#11829=DESCRIPTION_ATTRIBUTE('ptpsm',#3112); -#11830=SHAPE_DEFINITION_REPRESENTATION(#3111,#3112); -#11831=REPRESENTATION_RELATIONSHIP('',$,#3112,#8398); -#11832=DESCRIPTION_ATTRIBUTE('ptpsm',#3363); -#11833=SHAPE_DEFINITION_REPRESENTATION(#3362,#3363); -#11834=REPRESENTATION_RELATIONSHIP('',$,#3363,#8398); -#11835=DESCRIPTION_ATTRIBUTE('ptpsm',#3385); -#11836=SHAPE_DEFINITION_REPRESENTATION(#3362,#3385); -#11837=REPRESENTATION_RELATIONSHIP('',$,#3385,#8398); -#11838=DESCRIPTION_ATTRIBUTE('ptpsm',#3471); -#11839=SHAPE_DEFINITION_REPRESENTATION(#3470,#3471); -#11840=REPRESENTATION_RELATIONSHIP('',$,#3471,#8398); -#11841=DESCRIPTION_ATTRIBUTE('ptpsm',#3498); -#11842=SHAPE_DEFINITION_REPRESENTATION(#3497,#3498); -#11843=REPRESENTATION_RELATIONSHIP('',$,#3498,#8398); -#11844=DESCRIPTION_ATTRIBUTE('ptpsm',#3523); -#11845=SHAPE_DEFINITION_REPRESENTATION(#3522,#3523); -#11846=REPRESENTATION_RELATIONSHIP('',$,#3523,#8398); -#11847=DESCRIPTION_ATTRIBUTE('ptpsm',#3548); -#11848=SHAPE_DEFINITION_REPRESENTATION(#3547,#3548); -#11849=REPRESENTATION_RELATIONSHIP('',$,#3548,#8398); -#11850=DESCRIPTION_ATTRIBUTE('ptpsm',#3573); -#11851=SHAPE_DEFINITION_REPRESENTATION(#3572,#3573); -#11852=REPRESENTATION_RELATIONSHIP('',$,#3573,#8398); -#11853=DESCRIPTION_ATTRIBUTE('ptpsm',#3598); -#11854=SHAPE_DEFINITION_REPRESENTATION(#3597,#3598); -#11855=REPRESENTATION_RELATIONSHIP('',$,#3598,#8398); -#11856=DESCRIPTION_ATTRIBUTE('ptpsm',#3623); -#11857=SHAPE_DEFINITION_REPRESENTATION(#3622,#3623); -#11858=REPRESENTATION_RELATIONSHIP('',$,#3623,#8398); -#11859=DESCRIPTION_ATTRIBUTE('ptpsm',#3648); -#11860=SHAPE_DEFINITION_REPRESENTATION(#3647,#3648); -#11861=REPRESENTATION_RELATIONSHIP('',$,#3648,#8398); -#11862=DESCRIPTION_ATTRIBUTE('ptpsm',#3678); -#11863=SHAPE_DEFINITION_REPRESENTATION(#3677,#3678); -#11864=REPRESENTATION_RELATIONSHIP('',$,#3678,#8398); -#11865=DESCRIPTION_ATTRIBUTE('ptpsm',#3701); -#11866=SHAPE_DEFINITION_REPRESENTATION(#3700,#3701); -#11867=REPRESENTATION_RELATIONSHIP('',$,#3701,#8398); -#11868=DESCRIPTION_ATTRIBUTE('ptpsm',#3724); -#11869=SHAPE_DEFINITION_REPRESENTATION(#3723,#3724); -#11870=REPRESENTATION_RELATIONSHIP('',$,#3724,#8398); -#11871=DESCRIPTION_ATTRIBUTE('ptpsm',#3747); -#11872=SHAPE_DEFINITION_REPRESENTATION(#3746,#3747); -#11873=REPRESENTATION_RELATIONSHIP('',$,#3747,#8398); -#11874=DESCRIPTION_ATTRIBUTE('ptpsm',#3770); -#11875=SHAPE_DEFINITION_REPRESENTATION(#3769,#3770); -#11876=REPRESENTATION_RELATIONSHIP('',$,#3770,#8398); -#11877=DESCRIPTION_ATTRIBUTE('ptpsm',#3793); -#11878=SHAPE_DEFINITION_REPRESENTATION(#3792,#3793); -#11879=REPRESENTATION_RELATIONSHIP('',$,#3793,#8398); -#11880=DESCRIPTION_ATTRIBUTE('ptpsm',#3816); -#11881=SHAPE_DEFINITION_REPRESENTATION(#3815,#3816); -#11882=REPRESENTATION_RELATIONSHIP('',$,#3816,#8398); -#11883=DESCRIPTION_ATTRIBUTE('ptpsm',#3838); -#11884=SHAPE_DEFINITION_REPRESENTATION(#3837,#3838); -#11885=REPRESENTATION_RELATIONSHIP('',$,#3838,#8398); -#11886=DESCRIPTION_ATTRIBUTE('ptpsm',#4373); -#11887=SHAPE_DEFINITION_REPRESENTATION(#4372,#4373); -#11888=REPRESENTATION_RELATIONSHIP('',$,#4373,#8398); -#11889=DESCRIPTION_ATTRIBUTE('ptpsm',#4385); -#11890=SHAPE_DEFINITION_REPRESENTATION(#4384,#4385); -#11891=REPRESENTATION_RELATIONSHIP('',$,#4385,#8398); -#11892=DESCRIPTION_ATTRIBUTE('ptpsm',#4395); -#11893=SHAPE_DEFINITION_REPRESENTATION(#4394,#4395); -#11894=REPRESENTATION_RELATIONSHIP('',$,#4395,#8398); -#11895=DESCRIPTION_ATTRIBUTE('ptpsm',#4489); -#11896=SHAPE_DEFINITION_REPRESENTATION(#4488,#4489); -#11897=REPRESENTATION_RELATIONSHIP('',$,#4489,#8398); -#11898=DESCRIPTION_ATTRIBUTE('ptpsm',#4500); -#11899=SHAPE_DEFINITION_REPRESENTATION(#4488,#4500); -#11900=REPRESENTATION_RELATIONSHIP('',$,#4500,#8398); -#11901=DESCRIPTION_ATTRIBUTE('ptpsm',#4509); -#11902=SHAPE_DEFINITION_REPRESENTATION(#4488,#4509); -#11903=REPRESENTATION_RELATIONSHIP('',$,#4509,#8398); -#11904=DESCRIPTION_ATTRIBUTE('ptpsm',#4518); -#11905=SHAPE_DEFINITION_REPRESENTATION(#4488,#4518); -#11906=REPRESENTATION_RELATIONSHIP('',$,#4518,#8398); -#11907=DESCRIPTION_ATTRIBUTE('ptpsm',#4527); -#11908=SHAPE_DEFINITION_REPRESENTATION(#4488,#4527); -#11909=REPRESENTATION_RELATIONSHIP('',$,#4527,#8398); -#11910=DESCRIPTION_ATTRIBUTE('ptpsm',#4536); -#11911=SHAPE_DEFINITION_REPRESENTATION(#4488,#4536); -#11912=REPRESENTATION_RELATIONSHIP('',$,#4536,#8398); -#11913=DESCRIPTION_ATTRIBUTE('ptpsm',#4545); -#11914=SHAPE_DEFINITION_REPRESENTATION(#4488,#4545); -#11915=REPRESENTATION_RELATIONSHIP('',$,#4545,#8398); -#11916=DESCRIPTION_ATTRIBUTE('ptpsm',#4554); -#11917=SHAPE_DEFINITION_REPRESENTATION(#4488,#4554); -#11918=REPRESENTATION_RELATIONSHIP('',$,#4554,#8398); -#11919=DESCRIPTION_ATTRIBUTE('ptpsm',#4563); -#11920=SHAPE_DEFINITION_REPRESENTATION(#4488,#4563); -#11921=REPRESENTATION_RELATIONSHIP('',$,#4563,#8398); -#11922=DESCRIPTION_ATTRIBUTE('ptpsm',#4572); -#11923=SHAPE_DEFINITION_REPRESENTATION(#4488,#4572); -#11924=REPRESENTATION_RELATIONSHIP('',$,#4572,#8398); -#11925=DESCRIPTION_ATTRIBUTE('ptpsm',#4581); -#11926=SHAPE_DEFINITION_REPRESENTATION(#4488,#4581); -#11927=REPRESENTATION_RELATIONSHIP('',$,#4581,#8398); -#11928=DESCRIPTION_ATTRIBUTE('ptpsm',#4590); -#11929=SHAPE_DEFINITION_REPRESENTATION(#4488,#4590); -#11930=REPRESENTATION_RELATIONSHIP('',$,#4590,#8398); -#11931=DESCRIPTION_ATTRIBUTE('ptpsm',#4599); -#11932=SHAPE_DEFINITION_REPRESENTATION(#4488,#4599); -#11933=REPRESENTATION_RELATIONSHIP('',$,#4599,#8398); -#11934=DESCRIPTION_ATTRIBUTE('ptpsm',#4608); -#11935=SHAPE_DEFINITION_REPRESENTATION(#4488,#4608); -#11936=REPRESENTATION_RELATIONSHIP('',$,#4608,#8398); -#11937=DESCRIPTION_ATTRIBUTE('ptpsm',#4618); -#11938=SHAPE_DEFINITION_REPRESENTATION(#4488,#4618); -#11939=REPRESENTATION_RELATIONSHIP('',$,#4618,#8398); -#11940=DESCRIPTION_ATTRIBUTE('ptpsm',#4628); -#11941=SHAPE_DEFINITION_REPRESENTATION(#4488,#4628); -#11942=REPRESENTATION_RELATIONSHIP('',$,#4628,#8398); -#11943=DESCRIPTION_ATTRIBUTE('ptpsm',#4638); -#11944=SHAPE_DEFINITION_REPRESENTATION(#4488,#4638); -#11945=REPRESENTATION_RELATIONSHIP('',$,#4638,#8398); -#11946=DESCRIPTION_ATTRIBUTE('ptpsm',#4650); -#11947=SHAPE_DEFINITION_REPRESENTATION(#4649,#4650); -#11948=REPRESENTATION_RELATIONSHIP('',$,#4650,#8398); -#11949=DESCRIPTION_ATTRIBUTE('ptpsm',#4657); -#11950=SHAPE_DEFINITION_REPRESENTATION(#4649,#4657); -#11951=REPRESENTATION_RELATIONSHIP('',$,#4657,#8398); -#11952=DESCRIPTION_ATTRIBUTE('ptpsm',#4667); -#11953=SHAPE_DEFINITION_REPRESENTATION(#4649,#4667); -#11954=REPRESENTATION_RELATIONSHIP('',$,#4667,#8398); -#11955=DESCRIPTION_ATTRIBUTE('ptpsm',#4677); -#11956=SHAPE_DEFINITION_REPRESENTATION(#4649,#4677); -#11957=REPRESENTATION_RELATIONSHIP('',$,#4677,#8398); -#11958=DESCRIPTION_ATTRIBUTE('ptpsm',#4687); -#11959=SHAPE_DEFINITION_REPRESENTATION(#4649,#4687); -#11960=REPRESENTATION_RELATIONSHIP('',$,#4687,#8398); -#11961=DESCRIPTION_ATTRIBUTE('ptpsm',#4694); -#11962=SHAPE_DEFINITION_REPRESENTATION(#4649,#4694); -#11963=REPRESENTATION_RELATIONSHIP('',$,#4694,#8398); -#11964=DESCRIPTION_ATTRIBUTE('ptpsm',#4701); -#11965=SHAPE_DEFINITION_REPRESENTATION(#4649,#4701); -#11966=REPRESENTATION_RELATIONSHIP('',$,#4701,#8398); -#11967=DESCRIPTION_ATTRIBUTE('ptpsm',#4708); -#11968=SHAPE_DEFINITION_REPRESENTATION(#4649,#4708); -#11969=REPRESENTATION_RELATIONSHIP('',$,#4708,#8398); -#11970=DESCRIPTION_ATTRIBUTE('ptpsm',#4715); -#11971=SHAPE_DEFINITION_REPRESENTATION(#4649,#4715); -#11972=REPRESENTATION_RELATIONSHIP('',$,#4715,#8398); -#11973=DESCRIPTION_ATTRIBUTE('ptpsm',#4722); -#11974=SHAPE_DEFINITION_REPRESENTATION(#4649,#4722); -#11975=REPRESENTATION_RELATIONSHIP('',$,#4722,#8398); -#11976=DESCRIPTION_ATTRIBUTE('ptpsm',#4729); -#11977=SHAPE_DEFINITION_REPRESENTATION(#4649,#4729); -#11978=REPRESENTATION_RELATIONSHIP('',$,#4729,#8398); -#11979=DESCRIPTION_ATTRIBUTE('ptpsm',#4736); -#11980=SHAPE_DEFINITION_REPRESENTATION(#4649,#4736); -#11981=REPRESENTATION_RELATIONSHIP('',$,#4736,#8398); -#11982=DESCRIPTION_ATTRIBUTE('ptpsm',#4743); -#11983=SHAPE_DEFINITION_REPRESENTATION(#4649,#4743); -#11984=REPRESENTATION_RELATIONSHIP('',$,#4743,#8398); -#11985=DESCRIPTION_ATTRIBUTE('ptpsm',#4750); -#11986=SHAPE_DEFINITION_REPRESENTATION(#4649,#4750); -#11987=REPRESENTATION_RELATIONSHIP('',$,#4750,#8398); -#11988=DESCRIPTION_ATTRIBUTE('ptpsm',#4757); -#11989=SHAPE_DEFINITION_REPRESENTATION(#4649,#4757); -#11990=REPRESENTATION_RELATIONSHIP('',$,#4757,#8398); -#11991=DESCRIPTION_ATTRIBUTE('ptpsm',#4764); -#11992=SHAPE_DEFINITION_REPRESENTATION(#4649,#4764); -#11993=REPRESENTATION_RELATIONSHIP('',$,#4764,#8398); -#11994=DESCRIPTION_ATTRIBUTE('ptpsm',#4771); -#11995=SHAPE_DEFINITION_REPRESENTATION(#4649,#4771); -#11996=REPRESENTATION_RELATIONSHIP('',$,#4771,#8398); -#11997=DESCRIPTION_ATTRIBUTE('ptpsm',#4781); -#11998=SHAPE_DEFINITION_REPRESENTATION(#4780,#4781); -#11999=REPRESENTATION_RELATIONSHIP('',$,#4781,#8398); -#12000=DESCRIPTION_ATTRIBUTE('ptpsm',#4788); -#12001=SHAPE_DEFINITION_REPRESENTATION(#4780,#4788); -#12002=REPRESENTATION_RELATIONSHIP('',$,#4788,#8398); -#12003=DESCRIPTION_ATTRIBUTE('ptpsm',#4795); -#12004=SHAPE_DEFINITION_REPRESENTATION(#4780,#4795); -#12005=REPRESENTATION_RELATIONSHIP('',$,#4795,#8398); -#12006=DESCRIPTION_ATTRIBUTE('ptpsm',#4802); -#12007=SHAPE_DEFINITION_REPRESENTATION(#4780,#4802); -#12008=REPRESENTATION_RELATIONSHIP('',$,#4802,#8398); -#12009=DESCRIPTION_ATTRIBUTE('ptpsm',#4809); -#12010=SHAPE_DEFINITION_REPRESENTATION(#4780,#4809); -#12011=REPRESENTATION_RELATIONSHIP('',$,#4809,#8398); -#12012=DESCRIPTION_ATTRIBUTE('ptpsm',#4816); -#12013=SHAPE_DEFINITION_REPRESENTATION(#4780,#4816); -#12014=REPRESENTATION_RELATIONSHIP('',$,#4816,#8398); -#12015=DESCRIPTION_ATTRIBUTE('ptpsm',#4823); -#12016=SHAPE_DEFINITION_REPRESENTATION(#4780,#4823); -#12017=REPRESENTATION_RELATIONSHIP('',$,#4823,#8398); -#12018=DESCRIPTION_ATTRIBUTE('ptpsm',#4830); -#12019=SHAPE_DEFINITION_REPRESENTATION(#4780,#4830); -#12020=REPRESENTATION_RELATIONSHIP('',$,#4830,#8398); -#12021=DESCRIPTION_ATTRIBUTE('ptpsm',#4837); -#12022=SHAPE_DEFINITION_REPRESENTATION(#4780,#4837); -#12023=REPRESENTATION_RELATIONSHIP('',$,#4837,#8398); -#12024=DESCRIPTION_ATTRIBUTE('ptpsm',#4844); -#12025=SHAPE_DEFINITION_REPRESENTATION(#4780,#4844); -#12026=REPRESENTATION_RELATIONSHIP('',$,#4844,#8398); -#12027=DESCRIPTION_ATTRIBUTE('ptpsm',#4854); -#12028=SHAPE_DEFINITION_REPRESENTATION(#4780,#4854); -#12029=REPRESENTATION_RELATIONSHIP('',$,#4854,#8398); -#12030=DESCRIPTION_ATTRIBUTE('ptpsm',#4864); -#12031=SHAPE_DEFINITION_REPRESENTATION(#4780,#4864); -#12032=REPRESENTATION_RELATIONSHIP('',$,#4864,#8398); -#12033=DESCRIPTION_ATTRIBUTE('ptpsm',#4874); -#12034=SHAPE_DEFINITION_REPRESENTATION(#4780,#4874); -#12035=REPRESENTATION_RELATIONSHIP('',$,#4874,#8398); -#12036=DESCRIPTION_ATTRIBUTE('ptpsm',#4884); -#12037=SHAPE_DEFINITION_REPRESENTATION(#4883,#4884); -#12038=REPRESENTATION_RELATIONSHIP('',$,#4884,#8398); -#12039=DESCRIPTION_ATTRIBUTE('ptpsm',#4891); -#12040=SHAPE_DEFINITION_REPRESENTATION(#4883,#4891); -#12041=REPRESENTATION_RELATIONSHIP('',$,#4891,#8398); -#12042=DESCRIPTION_ATTRIBUTE('ptpsm',#4901); -#12043=SHAPE_DEFINITION_REPRESENTATION(#4883,#4901); -#12044=REPRESENTATION_RELATIONSHIP('',$,#4901,#8398); -#12045=DESCRIPTION_ATTRIBUTE('ptpsm',#4911); -#12046=SHAPE_DEFINITION_REPRESENTATION(#4883,#4911); -#12047=REPRESENTATION_RELATIONSHIP('',$,#4911,#8398); -#12048=DESCRIPTION_ATTRIBUTE('ptpsm',#4921); -#12049=SHAPE_DEFINITION_REPRESENTATION(#4883,#4921); -#12050=REPRESENTATION_RELATIONSHIP('',$,#4921,#8398); -#12051=DESCRIPTION_ATTRIBUTE('ptpsm',#4928); -#12052=SHAPE_DEFINITION_REPRESENTATION(#4883,#4928); -#12053=REPRESENTATION_RELATIONSHIP('',$,#4928,#8398); -#12054=DESCRIPTION_ATTRIBUTE('ptpsm',#4935); -#12055=SHAPE_DEFINITION_REPRESENTATION(#4883,#4935); -#12056=REPRESENTATION_RELATIONSHIP('',$,#4935,#8398); -#12057=DESCRIPTION_ATTRIBUTE('ptpsm',#4942); -#12058=SHAPE_DEFINITION_REPRESENTATION(#4883,#4942); -#12059=REPRESENTATION_RELATIONSHIP('',$,#4942,#8398); -#12060=DESCRIPTION_ATTRIBUTE('ptpsm',#4949); -#12061=SHAPE_DEFINITION_REPRESENTATION(#4883,#4949); -#12062=REPRESENTATION_RELATIONSHIP('',$,#4949,#8398); -#12063=DESCRIPTION_ATTRIBUTE('ptpsm',#4956); -#12064=SHAPE_DEFINITION_REPRESENTATION(#4883,#4956); -#12065=REPRESENTATION_RELATIONSHIP('',$,#4956,#8398); -#12066=DESCRIPTION_ATTRIBUTE('ptpsm',#4963); -#12067=SHAPE_DEFINITION_REPRESENTATION(#4883,#4963); -#12068=REPRESENTATION_RELATIONSHIP('',$,#4963,#8398); -#12069=DESCRIPTION_ATTRIBUTE('ptpsm',#4970); -#12070=SHAPE_DEFINITION_REPRESENTATION(#4883,#4970); -#12071=REPRESENTATION_RELATIONSHIP('',$,#4970,#8398); -#12072=DESCRIPTION_ATTRIBUTE('ptpsm',#4977); -#12073=SHAPE_DEFINITION_REPRESENTATION(#4883,#4977); -#12074=REPRESENTATION_RELATIONSHIP('',$,#4977,#8398); -#12075=DESCRIPTION_ATTRIBUTE('ptpsm',#4984); -#12076=SHAPE_DEFINITION_REPRESENTATION(#4883,#4984); -#12077=REPRESENTATION_RELATIONSHIP('',$,#4984,#8398); -#12078=DESCRIPTION_ATTRIBUTE('ptpsm',#4991); -#12079=SHAPE_DEFINITION_REPRESENTATION(#4883,#4991); -#12080=REPRESENTATION_RELATIONSHIP('',$,#4991,#8398); -#12081=DESCRIPTION_ATTRIBUTE('ptpsm',#4998); -#12082=SHAPE_DEFINITION_REPRESENTATION(#4883,#4998); -#12083=REPRESENTATION_RELATIONSHIP('',$,#4998,#8398); -#12084=DESCRIPTION_ATTRIBUTE('ptpsm',#5005); -#12085=SHAPE_DEFINITION_REPRESENTATION(#4883,#5005); -#12086=REPRESENTATION_RELATIONSHIP('',$,#5005,#8398); -#12087=DESCRIPTION_ATTRIBUTE('ptpsm',#5180); -#12088=SHAPE_DEFINITION_REPRESENTATION(#5179,#5180); -#12089=REPRESENTATION_RELATIONSHIP('',$,#5180,#8398); -#12090=DESCRIPTION_ATTRIBUTE('ptpsm',#5209); -#12091=SHAPE_DEFINITION_REPRESENTATION(#5179,#5209); -#12092=REPRESENTATION_RELATIONSHIP('',$,#5209,#8398); -#12093=DESCRIPTION_ATTRIBUTE('ptpsm',#5241); -#12094=SHAPE_DEFINITION_REPRESENTATION(#5179,#5241); -#12095=REPRESENTATION_RELATIONSHIP('',$,#5241,#8398); -#12096=DESCRIPTION_ATTRIBUTE('ptpsm',#5273); -#12097=SHAPE_DEFINITION_REPRESENTATION(#5179,#5273); -#12098=REPRESENTATION_RELATIONSHIP('',$,#5273,#8398); -#12099=DESCRIPTION_ATTRIBUTE('ptpsm',#5305); -#12100=SHAPE_DEFINITION_REPRESENTATION(#5179,#5305); -#12101=REPRESENTATION_RELATIONSHIP('',$,#5305,#8398); -#12102=DESCRIPTION_ATTRIBUTE('ptpsm',#5334); -#12103=SHAPE_DEFINITION_REPRESENTATION(#5179,#5334); -#12104=REPRESENTATION_RELATIONSHIP('',$,#5334,#8398); -#12105=DESCRIPTION_ATTRIBUTE('ptpsm',#5363); -#12106=SHAPE_DEFINITION_REPRESENTATION(#5179,#5363); -#12107=REPRESENTATION_RELATIONSHIP('',$,#5363,#8398); -#12108=DESCRIPTION_ATTRIBUTE('ptpsm',#5392); -#12109=SHAPE_DEFINITION_REPRESENTATION(#5179,#5392); -#12110=REPRESENTATION_RELATIONSHIP('',$,#5392,#8398); -#12111=DESCRIPTION_ATTRIBUTE('ptpsm',#5421); -#12112=SHAPE_DEFINITION_REPRESENTATION(#5179,#5421); -#12113=REPRESENTATION_RELATIONSHIP('',$,#5421,#8398); -#12114=DESCRIPTION_ATTRIBUTE('ptpsm',#5450); -#12115=SHAPE_DEFINITION_REPRESENTATION(#5179,#5450); -#12116=REPRESENTATION_RELATIONSHIP('',$,#5450,#8398); -#12117=DESCRIPTION_ATTRIBUTE('ptpsm',#5479); -#12118=SHAPE_DEFINITION_REPRESENTATION(#5179,#5479); -#12119=REPRESENTATION_RELATIONSHIP('',$,#5479,#8398); -#12120=DESCRIPTION_ATTRIBUTE('ptpsm',#5508); -#12121=SHAPE_DEFINITION_REPRESENTATION(#5179,#5508); -#12122=REPRESENTATION_RELATIONSHIP('',$,#5508,#8398); -#12123=DESCRIPTION_ATTRIBUTE('ptpsm',#5537); -#12124=SHAPE_DEFINITION_REPRESENTATION(#5179,#5537); -#12125=REPRESENTATION_RELATIONSHIP('',$,#5537,#8398); -#12126=DESCRIPTION_ATTRIBUTE('ptpsm',#5566); -#12127=SHAPE_DEFINITION_REPRESENTATION(#5179,#5566); -#12128=REPRESENTATION_RELATIONSHIP('',$,#5566,#8398); -#12129=DESCRIPTION_ATTRIBUTE('ptpsm',#5595); -#12130=SHAPE_DEFINITION_REPRESENTATION(#5179,#5595); -#12131=REPRESENTATION_RELATIONSHIP('',$,#5595,#8398); -#12132=DESCRIPTION_ATTRIBUTE('ptpsm',#5624); -#12133=SHAPE_DEFINITION_REPRESENTATION(#5179,#5624); -#12134=REPRESENTATION_RELATIONSHIP('',$,#5624,#8398); -#12135=DESCRIPTION_ATTRIBUTE('ptpsm',#5653); -#12136=SHAPE_DEFINITION_REPRESENTATION(#5179,#5653); -#12137=REPRESENTATION_RELATIONSHIP('',$,#5653,#8398); -#12138=DESCRIPTION_ATTRIBUTE('ptpsm',#5682); -#12139=SHAPE_DEFINITION_REPRESENTATION(#4488,#5682); -#12140=REPRESENTATION_RELATIONSHIP('',$,#5682,#8398); -#12141=DESCRIPTION_ATTRIBUTE('ptpsm',#5691); -#12142=SHAPE_DEFINITION_REPRESENTATION(#4488,#5691); -#12143=REPRESENTATION_RELATIONSHIP('',$,#5691,#8398); -#12144=DESCRIPTION_ATTRIBUTE('ptpsm',#5700); -#12145=SHAPE_DEFINITION_REPRESENTATION(#4488,#5700); -#12146=REPRESENTATION_RELATIONSHIP('',$,#5700,#8398); -#12147=DESCRIPTION_ATTRIBUTE('ptpsm',#5709); -#12148=SHAPE_DEFINITION_REPRESENTATION(#4488,#5709); -#12149=REPRESENTATION_RELATIONSHIP('',$,#5709,#8398); -#12150=DESCRIPTION_ATTRIBUTE('ptpsm',#5718); -#12151=SHAPE_DEFINITION_REPRESENTATION(#4488,#5718); -#12152=REPRESENTATION_RELATIONSHIP('',$,#5718,#8398); -#12153=DESCRIPTION_ATTRIBUTE('ptpsm',#5728); -#12154=SHAPE_DEFINITION_REPRESENTATION(#4649,#5728); -#12155=REPRESENTATION_RELATIONSHIP('',$,#5728,#8398); -#12156=DESCRIPTION_ATTRIBUTE('ptpsm',#5738); -#12157=SHAPE_DEFINITION_REPRESENTATION(#4649,#5738); -#12158=REPRESENTATION_RELATIONSHIP('',$,#5738,#8398); -#12159=DESCRIPTION_ATTRIBUTE('ptpsm',#5745); -#12160=SHAPE_DEFINITION_REPRESENTATION(#4649,#5745); -#12161=REPRESENTATION_RELATIONSHIP('',$,#5745,#8398); -#12162=DESCRIPTION_ATTRIBUTE('ptpsm',#5752); -#12163=SHAPE_DEFINITION_REPRESENTATION(#4649,#5752); -#12164=REPRESENTATION_RELATIONSHIP('',$,#5752,#8398); -#12165=DESCRIPTION_ATTRIBUTE('ptpsm',#5759); -#12166=SHAPE_DEFINITION_REPRESENTATION(#4649,#5759); -#12167=REPRESENTATION_RELATIONSHIP('',$,#5759,#8398); -#12168=DESCRIPTION_ATTRIBUTE('ptpsm',#5766); -#12169=SHAPE_DEFINITION_REPRESENTATION(#4780,#5766); -#12170=REPRESENTATION_RELATIONSHIP('',$,#5766,#8398); -#12171=DESCRIPTION_ATTRIBUTE('ptpsm',#5773); -#12172=SHAPE_DEFINITION_REPRESENTATION(#4780,#5773); -#12173=REPRESENTATION_RELATIONSHIP('',$,#5773,#8398); -#12174=DESCRIPTION_ATTRIBUTE('ptpsm',#5780); -#12175=SHAPE_DEFINITION_REPRESENTATION(#4780,#5780); -#12176=REPRESENTATION_RELATIONSHIP('',$,#5780,#8398); -#12177=DESCRIPTION_ATTRIBUTE('ptpsm',#5787); -#12178=SHAPE_DEFINITION_REPRESENTATION(#4780,#5787); -#12179=REPRESENTATION_RELATIONSHIP('',$,#5787,#8398); -#12180=DESCRIPTION_ATTRIBUTE('ptpsm',#5794); -#12181=SHAPE_DEFINITION_REPRESENTATION(#4780,#5794); -#12182=REPRESENTATION_RELATIONSHIP('',$,#5794,#8398); -#12183=DESCRIPTION_ATTRIBUTE('ptpsm',#5804); -#12184=SHAPE_DEFINITION_REPRESENTATION(#4883,#5804); -#12185=REPRESENTATION_RELATIONSHIP('',$,#5804,#8398); -#12186=DESCRIPTION_ATTRIBUTE('ptpsm',#5814); -#12187=SHAPE_DEFINITION_REPRESENTATION(#4883,#5814); -#12188=REPRESENTATION_RELATIONSHIP('',$,#5814,#8398); -#12189=DESCRIPTION_ATTRIBUTE('ptpsm',#5821); -#12190=SHAPE_DEFINITION_REPRESENTATION(#4883,#5821); -#12191=REPRESENTATION_RELATIONSHIP('',$,#5821,#8398); -#12192=DESCRIPTION_ATTRIBUTE('ptpsm',#5828); -#12193=SHAPE_DEFINITION_REPRESENTATION(#4883,#5828); -#12194=REPRESENTATION_RELATIONSHIP('',$,#5828,#8398); -#12195=DESCRIPTION_ATTRIBUTE('ptpsm',#5835); -#12196=SHAPE_DEFINITION_REPRESENTATION(#4883,#5835); -#12197=REPRESENTATION_RELATIONSHIP('',$,#5835,#8398); -#12198=DESCRIPTION_ATTRIBUTE('ptpsm',#5890); -#12199=SHAPE_DEFINITION_REPRESENTATION(#5179,#5890); -#12200=REPRESENTATION_RELATIONSHIP('',$,#5890,#8398); -#12201=DESCRIPTION_ATTRIBUTE('ptpsm',#5922); -#12202=SHAPE_DEFINITION_REPRESENTATION(#5179,#5922); -#12203=REPRESENTATION_RELATIONSHIP('',$,#5922,#8398); -#12204=DESCRIPTION_ATTRIBUTE('ptpsm',#5951); -#12205=SHAPE_DEFINITION_REPRESENTATION(#5179,#5951); -#12206=REPRESENTATION_RELATIONSHIP('',$,#5951,#8398); -#12207=DESCRIPTION_ATTRIBUTE('ptpsm',#5980); -#12208=SHAPE_DEFINITION_REPRESENTATION(#5179,#5980); -#12209=REPRESENTATION_RELATIONSHIP('',$,#5980,#8398); -#12210=DESCRIPTION_ATTRIBUTE('ptpsm',#6009); -#12211=SHAPE_DEFINITION_REPRESENTATION(#5179,#6009); -#12212=REPRESENTATION_RELATIONSHIP('',$,#6009,#8398); -#12213=DESCRIPTION_ATTRIBUTE('ptpsm',#955); -#12214=SHAPE_DEFINITION_REPRESENTATION(#954,#955); -#12215=REPRESENTATION_RELATIONSHIP('',$,#955,#8398); -#12216=DESCRIPTION_ATTRIBUTE('ptpsm',#1044); -#12217=SHAPE_DEFINITION_REPRESENTATION(#1043,#1044); -#12218=REPRESENTATION_RELATIONSHIP('',$,#1044,#8398); -#12219=DESCRIPTION_ATTRIBUTE('ptpsm',#1176); -#12220=SHAPE_DEFINITION_REPRESENTATION(#1175,#1176); -#12221=REPRESENTATION_RELATIONSHIP('',$,#1176,#8398); -#12222=DESCRIPTION_ATTRIBUTE('ptpsm',#1412); -#12223=SHAPE_DEFINITION_REPRESENTATION(#1411,#1412); -#12224=REPRESENTATION_RELATIONSHIP('',$,#1412,#8398); -#12225=DESCRIPTION_ATTRIBUTE('ptpsm',#1570); -#12226=SHAPE_DEFINITION_REPRESENTATION(#1569,#1570); -#12227=REPRESENTATION_RELATIONSHIP('',$,#1570,#8398); -#12228=DESCRIPTION_ATTRIBUTE('ptpsm',#1710); -#12229=SHAPE_DEFINITION_REPRESENTATION(#1709,#1710); -#12230=REPRESENTATION_RELATIONSHIP('',$,#1710,#8398); -#12231=DESCRIPTION_ATTRIBUTE('ptpsm',#1850); -#12232=SHAPE_DEFINITION_REPRESENTATION(#1849,#1850); -#12233=REPRESENTATION_RELATIONSHIP('',$,#1850,#8398); -#12234=DESCRIPTION_ATTRIBUTE('ptpsm',#1962); -#12235=SHAPE_DEFINITION_REPRESENTATION(#1961,#1962); -#12236=REPRESENTATION_RELATIONSHIP('',$,#1962,#8398); -#12237=DESCRIPTION_ATTRIBUTE('ptpsm',#2120); -#12238=SHAPE_DEFINITION_REPRESENTATION(#2119,#2120); -#12239=REPRESENTATION_RELATIONSHIP('',$,#2120,#8398); -#12240=DESCRIPTION_ATTRIBUTE('ptpsm',#2262); -#12241=SHAPE_DEFINITION_REPRESENTATION(#2261,#2262); -#12242=REPRESENTATION_RELATIONSHIP('',$,#2262,#8398); -#12243=DESCRIPTION_ATTRIBUTE('ptpsm',#2404); -#12244=SHAPE_DEFINITION_REPRESENTATION(#2403,#2404); -#12245=REPRESENTATION_RELATIONSHIP('',$,#2404,#8398); -#12246=DESCRIPTION_ATTRIBUTE('ptpsm',#2792); -#12247=SHAPE_DEFINITION_REPRESENTATION(#2791,#2792); -#12248=REPRESENTATION_RELATIONSHIP('',$,#2792,#8398); -#12249=DESCRIPTION_ATTRIBUTE('ptpsm',#2934); -#12250=SHAPE_DEFINITION_REPRESENTATION(#2933,#2934); -#12251=REPRESENTATION_RELATIONSHIP('',$,#2934,#8398); -#12252=DESCRIPTION_ATTRIBUTE('ptpsm',#3076); -#12253=SHAPE_DEFINITION_REPRESENTATION(#3075,#3076); -#12254=REPRESENTATION_RELATIONSHIP('',$,#3076,#8398); -#12255=DESCRIPTION_ATTRIBUTE('ptpsm',#4345); -#12256=SHAPE_DEFINITION_REPRESENTATION(#4344,#4345); -#12257=REPRESENTATION_RELATIONSHIP('',$,#4345,#8398); -#12258=DESCRIPTION_ATTRIBUTE('ptpsm',#4357); -#12259=SHAPE_DEFINITION_REPRESENTATION(#4356,#4357); -#12260=REPRESENTATION_RELATIONSHIP('',$,#4357,#8398); -#12261=DESCRIPTION_ATTRIBUTE('ptpsm',#4405); -#12262=SHAPE_DEFINITION_REPRESENTATION(#4404,#4405); -#12263=REPRESENTATION_RELATIONSHIP('',$,#4405,#8398); -#12264=DESCRIPTION_ATTRIBUTE('ptpsm',#4417); -#12265=SHAPE_DEFINITION_REPRESENTATION(#4416,#4417); -#12266=REPRESENTATION_RELATIONSHIP('',$,#4417,#8398); -#12267=DESCRIPTION_ATTRIBUTE('ptpsm',#4435); -#12268=SHAPE_DEFINITION_REPRESENTATION(#4416,#4435); -#12269=REPRESENTATION_RELATIONSHIP('',$,#4435,#8398); -#12270=DESCRIPTION_ATTRIBUTE('ptpsm',#4454); -#12271=SHAPE_DEFINITION_REPRESENTATION(#4453,#4454); -#12272=REPRESENTATION_RELATIONSHIP('',$,#4454,#8398); -#12273=DESCRIPTION_ATTRIBUTE('ptpsm',#4470); -#12274=SHAPE_DEFINITION_REPRESENTATION(#4453,#4470); -#12275=REPRESENTATION_RELATIONSHIP('',$,#4470,#8398); -#12276=DESCRIPTION_ATTRIBUTE('ptpsm',#5015); -#12277=SHAPE_DEFINITION_REPRESENTATION(#5014,#5015); -#12278=REPRESENTATION_RELATIONSHIP('',$,#5015,#8398); -#12279=DESCRIPTION_ATTRIBUTE('ptpsm',#5024); -#12280=SHAPE_DEFINITION_REPRESENTATION(#5014,#5024); -#12281=REPRESENTATION_RELATIONSHIP('',$,#5024,#8398); -#12282=DESCRIPTION_ATTRIBUTE('ptpsm',#5033); -#12283=SHAPE_DEFINITION_REPRESENTATION(#5014,#5033); -#12284=REPRESENTATION_RELATIONSHIP('',$,#5033,#8398); -#12285=DESCRIPTION_ATTRIBUTE('ptpsm',#5042); -#12286=SHAPE_DEFINITION_REPRESENTATION(#5014,#5042); -#12287=REPRESENTATION_RELATIONSHIP('',$,#5042,#8398); -#12288=DESCRIPTION_ATTRIBUTE('ptpsm',#5051); -#12289=SHAPE_DEFINITION_REPRESENTATION(#5014,#5051); -#12290=REPRESENTATION_RELATIONSHIP('',$,#5051,#8398); -#12291=DESCRIPTION_ATTRIBUTE('ptpsm',#5060); -#12292=SHAPE_DEFINITION_REPRESENTATION(#5014,#5060); -#12293=REPRESENTATION_RELATIONSHIP('',$,#5060,#8398); -#12294=DESCRIPTION_ATTRIBUTE('ptpsm',#5069); -#12295=SHAPE_DEFINITION_REPRESENTATION(#5014,#5069); -#12296=REPRESENTATION_RELATIONSHIP('',$,#5069,#8398); -#12297=DESCRIPTION_ATTRIBUTE('ptpsm',#5078); -#12298=SHAPE_DEFINITION_REPRESENTATION(#5014,#5078); -#12299=REPRESENTATION_RELATIONSHIP('',$,#5078,#8398); -#12300=DESCRIPTION_ATTRIBUTE('ptpsm',#5087); -#12301=SHAPE_DEFINITION_REPRESENTATION(#5014,#5087); -#12302=REPRESENTATION_RELATIONSHIP('',$,#5087,#8398); -#12303=DESCRIPTION_ATTRIBUTE('ptpsm',#5096); -#12304=SHAPE_DEFINITION_REPRESENTATION(#5014,#5096); -#12305=REPRESENTATION_RELATIONSHIP('',$,#5096,#8398); -#12306=DESCRIPTION_ATTRIBUTE('ptpsm',#5105); -#12307=SHAPE_DEFINITION_REPRESENTATION(#5014,#5105); -#12308=REPRESENTATION_RELATIONSHIP('',$,#5105,#8398); -#12309=DESCRIPTION_ATTRIBUTE('ptpsm',#5114); -#12310=SHAPE_DEFINITION_REPRESENTATION(#5014,#5114); -#12311=REPRESENTATION_RELATIONSHIP('',$,#5114,#8398); -#12312=DESCRIPTION_ATTRIBUTE('ptpsm',#5123); -#12313=SHAPE_DEFINITION_REPRESENTATION(#5014,#5123); -#12314=REPRESENTATION_RELATIONSHIP('',$,#5123,#8398); -#12315=DESCRIPTION_ATTRIBUTE('ptpsm',#5132); -#12316=SHAPE_DEFINITION_REPRESENTATION(#5014,#5132); -#12317=REPRESENTATION_RELATIONSHIP('',$,#5132,#8398); -#12318=DESCRIPTION_ATTRIBUTE('ptpsm',#5144); -#12319=SHAPE_DEFINITION_REPRESENTATION(#5014,#5144); -#12320=REPRESENTATION_RELATIONSHIP('',$,#5144,#8398); -#12321=DESCRIPTION_ATTRIBUTE('ptpsm',#5156); -#12322=SHAPE_DEFINITION_REPRESENTATION(#5014,#5156); -#12323=REPRESENTATION_RELATIONSHIP('',$,#5156,#8398); -#12324=DESCRIPTION_ATTRIBUTE('ptpsm',#5168); -#12325=SHAPE_DEFINITION_REPRESENTATION(#5014,#5168); -#12326=REPRESENTATION_RELATIONSHIP('',$,#5168,#8398); -#12327=DESCRIPTION_ATTRIBUTE('ptpsm',#5842); -#12328=SHAPE_DEFINITION_REPRESENTATION(#5014,#5842); -#12329=REPRESENTATION_RELATIONSHIP('',$,#5842,#8398); -#12330=DESCRIPTION_ATTRIBUTE('ptpsm',#5851); -#12331=SHAPE_DEFINITION_REPRESENTATION(#5014,#5851); -#12332=REPRESENTATION_RELATIONSHIP('',$,#5851,#8398); -#12333=DESCRIPTION_ATTRIBUTE('ptpsm',#5860); -#12334=SHAPE_DEFINITION_REPRESENTATION(#5014,#5860); -#12335=REPRESENTATION_RELATIONSHIP('',$,#5860,#8398); -#12336=DESCRIPTION_ATTRIBUTE('ptpsm',#5869); -#12337=SHAPE_DEFINITION_REPRESENTATION(#5014,#5869); -#12338=REPRESENTATION_RELATIONSHIP('',$,#5869,#8398); -#12339=DESCRIPTION_ATTRIBUTE('ptpsm',#5878); -#12340=SHAPE_DEFINITION_REPRESENTATION(#5014,#5878); -#12341=REPRESENTATION_RELATIONSHIP('',$,#5878,#8398); -#12342=DESCRIPTION_ATTRIBUTE('ptpsm',#6449); -#12343=SHAPE_DEFINITION_REPRESENTATION(#6448,#6449); -#12344=REPRESENTATION_RELATIONSHIP('',$,#6449,#8398); -#12345=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#718,#10693,#8334); -#12346=ID_ATTRIBUTE('PART1',#718); -#12347=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#728,#10693,#8334); -#12348=ID_ATTRIBUTE('PART3',#728); -#12349=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#738,#10693,#8334); -#12350=ID_ATTRIBUTE('PART2',#738); -#12351=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#749,#10693,#8334); -#12353=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1016,#8382,#8334); -#12354=ID_ATTRIBUTE('1',#1016); -#12355=PROPERTY_DEFINITION('location','symmetrical',#1016); -#12356=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#1016); -#12358=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1152,#8382,#8334); -#12359=ID_ATTRIBUTE('1',#1152); -#12360=PROPERTY_DEFINITION('location','symmetrical',#1152); -#12361=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#1152); -#12363=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1388,#8382,#8334); -#12364=ID_ATTRIBUTE('1',#1388); -#12365=PROPERTY_DEFINITION('location','symmetrical',#1388); -#12366=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#1388); -#12368=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1520,#8382,#8334); -#12369=ID_ATTRIBUTE('1',#1520); -#12370=PROPERTY_DEFINITION('location','symmetrical',#1520); -#12371=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#1520); -#12373=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1662,#8382,#8334); -#12374=ID_ATTRIBUTE('1',#1662); -#12375=PROPERTY_DEFINITION('location','symmetrical',#1662); -#12376=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#1662); -#12378=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1802,#8382,#8334); -#12379=ID_ATTRIBUTE('1',#1802); -#12380=PROPERTY_DEFINITION('location','symmetrical',#1802); -#12381=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#1802); -#12383=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#1942,#8382,#8334); -#12384=ID_ATTRIBUTE('1',#1942); -#12385=PROPERTY_DEFINITION('location','symmetrical',#1942); -#12386=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#1942); -#12388=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2070,#8382,#8334); -#12389=ID_ATTRIBUTE('1',#2070); -#12390=PROPERTY_DEFINITION('location','symmetrical',#2070); -#12391=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#2070); -#12393=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2212,#8382,#8334); -#12394=ID_ATTRIBUTE('1',#2212); -#12395=PROPERTY_DEFINITION('location','symmetrical',#2212); -#12396=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#2212); -#12398=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2354,#8382,#8334); -#12399=ID_ATTRIBUTE('1',#2354); -#12400=PROPERTY_DEFINITION('location','symmetrical',#2354); -#12401=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#2354); -#12403=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2758,#8382,#8334); -#12404=ID_ATTRIBUTE('1',#2758); -#12405=PROPERTY_DEFINITION('location','symmetrical',#2758); -#12406=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#2758); -#12408=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2900,#8382,#8334); -#12409=ID_ATTRIBUTE('1',#2900); -#12410=PROPERTY_DEFINITION('location','symmetrical',#2900); -#12411=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#2900); -#12413=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3042,#8382,#8334); -#12414=ID_ATTRIBUTE('1',#3042); -#12415=PROPERTY_DEFINITION('location','symmetrical',#3042); -#12416=PROPERTY_DEFINITION_RELATIONSHIP('stack','',#759,#3042); -#12417=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#6144,#8382,#8334); -#12418=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#895,#6144); -#12419=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#896,#6144); -#12420=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#889,#6144); -#12421=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#4366,#6144); -#12422=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7261,#8382,#8334); -#12423=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#895,#7261); -#12424=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#896,#7261); -#12425=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#889,#7261); -#12426=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#1665,#7261); -#12427=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7409,#8382,#8334); -#12428=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#891,#7409); -#12429=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#892,#7409); -#12430=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#893,#7409); -#12431=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#894,#7409); -#12432=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#895,#7409); -#12433=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#896,#7409); -#12434=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#897,#7409); -#12435=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#898,#7409); -#12436=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#899,#7409); -#12437=PROPERTY_DEFINITION_RELATIONSHIP('stratum technology sequence','',#900,#7409); -#12438=PROPERTY_DEFINITION_RELATIONSHIP('associated stackup','',#889,#7409); -#12439=PROPERTY_DEFINITION_RELATIONSHIP('allocated technology','',#2892,#7409); -#12440=PROPERTY_DEFINITION('plated passage','false',#957); -#12441=PROPERTY_DEFINITION('plated passage','false',#6451); -#12442=REPRESENTATION_MAP(#3482,#3481); -#12443=REPRESENTATION_MAP(#4424,#4423); -#12444=REPRESENTATION_MAP(#4494,#4493); -#12445=REPRESENTATION_MAP(#7461,#7460); -#12446=REPRESENTATION_MAP(#7480,#7479); -#12447=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6890,#4336); -#12448=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6891,#4316); -#12449=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6891,#4325); -#12450=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6891,#4335); -#12451=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6891,#4339); -#12452=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6892,#4322); -#12453=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6892,#4324); -#12454=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6892,#4340); -#12455=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6893,#4318); -#12456=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6893,#4338); -#12457=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6894,#4332); -#12458=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6895,#4330); -#12459=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6896,#4326); -#12460=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6897,#4328); -#12461=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6898,#4317); -#12462=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6898,#4319); -#12463=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6898,#4331); -#12464=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6898,#4333); -#12465=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6898,#4334); -#12466=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6898,#4321); -#12467=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6899,#4323); -#12468=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6899,#4327); -#12469=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6899,#4329); -#12470=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6899,#4337); -#12471=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6899,#4341); -#12472=SHAPE_ASPECT_RELATIONSHIP('associated terminals',$,#6899,#4320); -#12473=PROPERTY_DEFINITION_REPRESENTATION(#759,#12475); -#12474=DESCRIPTION_ATTRIBUTE('stack model',#12473); -#12475=REPRESENTATION('',(#12476),#8399); -#12476=REPRESENTATION_ITEM(''); -#12477=DESCRIPTIVE_REPRESENTATION_ITEM('swappable','FALSE'); -#12478=PROPERTY_DEFINITION_REPRESENTATION(#802,#12479); -#12479=REPRESENTATION('',(#12480),#8399); -#12480=REPRESENTATION_ITEM(''); -#12481=REPRESENTATION_RELATIONSHIP('kept out layers',$,#3910,#12479); -#12482=PROPERTY_DEFINITION_REPRESENTATION(#759,#12484); -#12483=DESCRIPTION_ATTRIBUTE('stack model',#12482); -#12484=REPRESENTATION('',(#12485),#8399); -#12485=REPRESENTATION_ITEM(''); -#12486=DESCRIPTIVE_REPRESENTATION_ITEM('swappable','FALSE'); -#12487=PROPERTY_DEFINITION_REPRESENTATION(#824,#12488); -#12488=REPRESENTATION('',(#12489),#8399); -#12489=REPRESENTATION_ITEM(''); -#12490=REPRESENTATION_RELATIONSHIP('kept out layers',$,#3923,#12488); -#12491=PROPERTY_DEFINITION_REPRESENTATION(#759,#12493); -#12492=DESCRIPTION_ATTRIBUTE('stack model',#12491); -#12493=REPRESENTATION('',(#12494),#8399); -#12494=REPRESENTATION_ITEM(''); -#12495=DESCRIPTIVE_REPRESENTATION_ITEM('swappable','FALSE'); -#12496=REPRESENTATION_RELATIONSHIP('kept out layers',$,#4169,#12488); -#12497=PROPERTY_DEFINITION_REPRESENTATION(#759,#12499); -#12498=DESCRIPTION_ATTRIBUTE('stack model',#12497); -#12499=REPRESENTATION('',(#12500),#8399); -#12500=REPRESENTATION_ITEM(''); -#12501=DESCRIPTIVE_REPRESENTATION_ITEM('swappable','FALSE'); -#12502=REPRESENTATION_RELATIONSHIP('kept out layers',$,#4182,#12479); -#12503=ID_ATTRIBUTE('uvlnfsm',#6202); -#12504=DESCRIPTION_ATTRIBUTE('pupksm',#6202); -#12505=SHAPE_DEFINITION_REPRESENTATION(#6184,#6202); -#12506=REPRESENTATION('shape material condition',(#12508),#8399); -#12507=REPRESENTATION_RELATIONSHIP('',$,#6202,#12506); -#12508=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12509=REPRESENTATION('shape environment',(#12511),#8399); -#12510=REPRESENTATION_RELATIONSHIP('',$,#6202,#12509); -#12511=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12512=REPRESENTATION('shape extent',(#12514),#8399); -#12513=REPRESENTATION_RELATIONSHIP('',$,#6202,#12512); -#12514=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12515=REPRESENTATION('shape approximation level',(#12517),#8399); -#12516=REPRESENTATION_RELATIONSHIP('',$,#6202,#12515); -#12517=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12518=REPRESENTATION('predefined keepout shape purpose',(#12520),#8399); -#12519=REPRESENTATION_RELATIONSHIP('',$,#6202,#12518); -#12520=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12521=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6202); -#12522=KEEPOUT_DESIGN_OBJECT_CATEGORY('','assembly module assembly component category'); -#12523=PROPERTY_DEFINITION('',$,#12522); -#12524=PROPERTY_DEFINITION('',$,#6201); -#12525=PROPERTY_DEFINITION_REPRESENTATION(#12524,#6202); -#12526=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6202); -#12527=REPRESENTATION('shape location',(#12529),#8399); -#12528=REPRESENTATION_RELATIONSHIP('',$,#6202,#12527); -#12529=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12530=REPRESENTATION('component application',(#12532),#8399); -#12531=REPRESENTATION_RELATIONSHIP('',$,#6202,#12530); -#12532=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12533=ID_ATTRIBUTE('uvlnfsm',#6211); -#12534=DESCRIPTION_ATTRIBUTE('pupksm',#6211); -#12535=SHAPE_DEFINITION_REPRESENTATION(#6184,#6211); -#12536=REPRESENTATION('shape material condition',(#12538),#8399); -#12537=REPRESENTATION_RELATIONSHIP('',$,#6211,#12536); -#12538=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12539=REPRESENTATION('shape environment',(#12541),#8399); -#12540=REPRESENTATION_RELATIONSHIP('',$,#6211,#12539); -#12541=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12542=REPRESENTATION('shape extent',(#12544),#8399); -#12543=REPRESENTATION_RELATIONSHIP('',$,#6211,#12542); -#12544=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12545=REPRESENTATION('shape approximation level',(#12547),#8399); -#12546=REPRESENTATION_RELATIONSHIP('',$,#6211,#12545); -#12547=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12548=REPRESENTATION('predefined keepout shape purpose',(#12550),#8399); -#12549=REPRESENTATION_RELATIONSHIP('',$,#6211,#12548); -#12550=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12551=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6211); -#12552=PROPERTY_DEFINITION('',$,#6210); -#12553=PROPERTY_DEFINITION_REPRESENTATION(#12552,#6211); -#12554=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6211); -#12555=REPRESENTATION('shape location',(#12557),#8399); -#12556=REPRESENTATION_RELATIONSHIP('',$,#6211,#12555); -#12557=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12558=REPRESENTATION('component application',(#12560),#8399); -#12559=REPRESENTATION_RELATIONSHIP('',$,#6211,#12558); -#12560=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12561=ID_ATTRIBUTE('uvlnfsm',#6220); -#12562=DESCRIPTION_ATTRIBUTE('pupksm',#6220); -#12563=SHAPE_DEFINITION_REPRESENTATION(#6184,#6220); -#12564=REPRESENTATION('shape material condition',(#12566),#8399); -#12565=REPRESENTATION_RELATIONSHIP('',$,#6220,#12564); -#12566=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12567=REPRESENTATION('shape environment',(#12569),#8399); -#12568=REPRESENTATION_RELATIONSHIP('',$,#6220,#12567); -#12569=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12570=REPRESENTATION('shape extent',(#12572),#8399); -#12571=REPRESENTATION_RELATIONSHIP('',$,#6220,#12570); -#12572=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12573=REPRESENTATION('shape approximation level',(#12575),#8399); -#12574=REPRESENTATION_RELATIONSHIP('',$,#6220,#12573); -#12575=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12576=REPRESENTATION('predefined keepout shape purpose',(#12578),#8399); -#12577=REPRESENTATION_RELATIONSHIP('',$,#6220,#12576); -#12578=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12579=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6220); -#12580=PROPERTY_DEFINITION('',$,#6219); -#12581=PROPERTY_DEFINITION_REPRESENTATION(#12580,#6220); -#12582=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6220); -#12583=REPRESENTATION('shape location',(#12585),#8399); -#12584=REPRESENTATION_RELATIONSHIP('',$,#6220,#12583); -#12585=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12586=REPRESENTATION('component application',(#12588),#8399); -#12587=REPRESENTATION_RELATIONSHIP('',$,#6220,#12586); -#12588=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12589=ID_ATTRIBUTE('uvlnfsm',#6229); -#12590=DESCRIPTION_ATTRIBUTE('pupksm',#6229); -#12591=SHAPE_DEFINITION_REPRESENTATION(#6184,#6229); -#12592=REPRESENTATION('shape material condition',(#12594),#8399); -#12593=REPRESENTATION_RELATIONSHIP('',$,#6229,#12592); -#12594=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12595=REPRESENTATION('shape environment',(#12597),#8399); -#12596=REPRESENTATION_RELATIONSHIP('',$,#6229,#12595); -#12597=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12598=REPRESENTATION('shape extent',(#12600),#8399); -#12599=REPRESENTATION_RELATIONSHIP('',$,#6229,#12598); -#12600=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12601=REPRESENTATION('shape approximation level',(#12603),#8399); -#12602=REPRESENTATION_RELATIONSHIP('',$,#6229,#12601); -#12603=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12604=REPRESENTATION('predefined keepout shape purpose',(#12606),#8399); -#12605=REPRESENTATION_RELATIONSHIP('',$,#6229,#12604); -#12606=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12607=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6229); -#12608=PROPERTY_DEFINITION('',$,#6228); -#12609=PROPERTY_DEFINITION_REPRESENTATION(#12608,#6229); -#12610=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6229); -#12611=REPRESENTATION('shape location',(#12613),#8399); -#12612=REPRESENTATION_RELATIONSHIP('',$,#6229,#12611); -#12613=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12614=REPRESENTATION('component application',(#12616),#8399); -#12615=REPRESENTATION_RELATIONSHIP('',$,#6229,#12614); -#12616=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12617=ID_ATTRIBUTE('uvlnfsm',#6238); -#12618=DESCRIPTION_ATTRIBUTE('pupksm',#6238); -#12619=SHAPE_DEFINITION_REPRESENTATION(#6184,#6238); -#12620=REPRESENTATION('shape material condition',(#12622),#8399); -#12621=REPRESENTATION_RELATIONSHIP('',$,#6238,#12620); -#12622=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12623=REPRESENTATION('shape environment',(#12625),#8399); -#12624=REPRESENTATION_RELATIONSHIP('',$,#6238,#12623); -#12625=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12626=REPRESENTATION('shape extent',(#12628),#8399); -#12627=REPRESENTATION_RELATIONSHIP('',$,#6238,#12626); -#12628=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12629=REPRESENTATION('shape approximation level',(#12631),#8399); -#12630=REPRESENTATION_RELATIONSHIP('',$,#6238,#12629); -#12631=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12632=REPRESENTATION('predefined keepout shape purpose',(#12634),#8399); -#12633=REPRESENTATION_RELATIONSHIP('',$,#6238,#12632); -#12634=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12635=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6238); -#12636=PROPERTY_DEFINITION('',$,#6237); -#12637=PROPERTY_DEFINITION_REPRESENTATION(#12636,#6238); -#12638=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6238); -#12639=REPRESENTATION('shape location',(#12641),#8399); -#12640=REPRESENTATION_RELATIONSHIP('',$,#6238,#12639); -#12641=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12642=REPRESENTATION('component application',(#12644),#8399); -#12643=REPRESENTATION_RELATIONSHIP('',$,#6238,#12642); -#12644=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12645=ID_ATTRIBUTE('uvlnfsm',#6248); -#12646=DESCRIPTION_ATTRIBUTE('pupksm',#6248); -#12647=SHAPE_DEFINITION_REPRESENTATION(#6184,#6248); -#12648=REPRESENTATION('shape material condition',(#12650),#8399); -#12649=REPRESENTATION_RELATIONSHIP('',$,#6248,#12648); -#12650=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12651=REPRESENTATION('shape environment',(#12653),#8399); -#12652=REPRESENTATION_RELATIONSHIP('',$,#6248,#12651); -#12653=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12654=REPRESENTATION('shape extent',(#12656),#8399); -#12655=REPRESENTATION_RELATIONSHIP('',$,#6248,#12654); -#12656=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12657=REPRESENTATION('shape approximation level',(#12659),#8399); -#12658=REPRESENTATION_RELATIONSHIP('',$,#6248,#12657); -#12659=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12660=REPRESENTATION('predefined keepout shape purpose',(#12662),#8399); -#12661=REPRESENTATION_RELATIONSHIP('',$,#6248,#12660); -#12662=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12663=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6248); -#12664=PROPERTY_DEFINITION('',$,#6247); -#12665=PROPERTY_DEFINITION_REPRESENTATION(#12664,#6248); -#12666=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6248); -#12667=REPRESENTATION('shape location',(#12669),#8399); -#12668=REPRESENTATION_RELATIONSHIP('',$,#6248,#12667); -#12669=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12670=REPRESENTATION('component application',(#12672),#8399); -#12671=REPRESENTATION_RELATIONSHIP('',$,#6248,#12670); -#12672=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12673=ID_ATTRIBUTE('uvlnfsm',#6258); -#12674=DESCRIPTION_ATTRIBUTE('pupksm',#6258); -#12675=SHAPE_DEFINITION_REPRESENTATION(#6184,#6258); -#12676=REPRESENTATION('shape material condition',(#12678),#8399); -#12677=REPRESENTATION_RELATIONSHIP('',$,#6258,#12676); -#12678=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12679=REPRESENTATION('shape environment',(#12681),#8399); -#12680=REPRESENTATION_RELATIONSHIP('',$,#6258,#12679); -#12681=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12682=REPRESENTATION('shape extent',(#12684),#8399); -#12683=REPRESENTATION_RELATIONSHIP('',$,#6258,#12682); -#12684=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12685=REPRESENTATION('shape approximation level',(#12687),#8399); -#12686=REPRESENTATION_RELATIONSHIP('',$,#6258,#12685); -#12687=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12688=REPRESENTATION('predefined keepout shape purpose',(#12690),#8399); -#12689=REPRESENTATION_RELATIONSHIP('',$,#6258,#12688); -#12690=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12691=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6258); -#12692=PROPERTY_DEFINITION('',$,#6257); -#12693=PROPERTY_DEFINITION_REPRESENTATION(#12692,#6258); -#12694=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6258); -#12695=REPRESENTATION('shape location',(#12697),#8399); -#12696=REPRESENTATION_RELATIONSHIP('',$,#6258,#12695); -#12697=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12698=REPRESENTATION('component application',(#12700),#8399); -#12699=REPRESENTATION_RELATIONSHIP('',$,#6258,#12698); -#12700=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12701=ID_ATTRIBUTE('uvlnfsm',#6268); -#12702=DESCRIPTION_ATTRIBUTE('pupksm',#6268); -#12703=SHAPE_DEFINITION_REPRESENTATION(#6184,#6268); -#12704=REPRESENTATION('shape material condition',(#12706),#8399); -#12705=REPRESENTATION_RELATIONSHIP('',$,#6268,#12704); -#12706=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12707=REPRESENTATION('shape environment',(#12709),#8399); -#12708=REPRESENTATION_RELATIONSHIP('',$,#6268,#12707); -#12709=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12710=REPRESENTATION('shape extent',(#12712),#8399); -#12711=REPRESENTATION_RELATIONSHIP('',$,#6268,#12710); -#12712=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12713=REPRESENTATION('shape approximation level',(#12715),#8399); -#12714=REPRESENTATION_RELATIONSHIP('',$,#6268,#12713); -#12715=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12716=REPRESENTATION('predefined keepout shape purpose',(#12718),#8399); -#12717=REPRESENTATION_RELATIONSHIP('',$,#6268,#12716); -#12718=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12719=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6268); -#12720=PROPERTY_DEFINITION('',$,#6267); -#12721=PROPERTY_DEFINITION_REPRESENTATION(#12720,#6268); -#12722=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6268); -#12723=REPRESENTATION('shape location',(#12725),#8399); -#12724=REPRESENTATION_RELATIONSHIP('',$,#6268,#12723); -#12725=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12726=REPRESENTATION('component application',(#12728),#8399); -#12727=REPRESENTATION_RELATIONSHIP('',$,#6268,#12726); -#12728=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12729=ID_ATTRIBUTE('uvlnfsm',#6278); -#12730=DESCRIPTION_ATTRIBUTE('pupksm',#6278); -#12731=SHAPE_DEFINITION_REPRESENTATION(#6184,#6278); -#12732=REPRESENTATION('shape material condition',(#12734),#8399); -#12733=REPRESENTATION_RELATIONSHIP('',$,#6278,#12732); -#12734=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12735=REPRESENTATION('shape environment',(#12737),#8399); -#12736=REPRESENTATION_RELATIONSHIP('',$,#6278,#12735); -#12737=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12738=REPRESENTATION('shape extent',(#12740),#8399); -#12739=REPRESENTATION_RELATIONSHIP('',$,#6278,#12738); -#12740=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12741=REPRESENTATION('shape approximation level',(#12743),#8399); -#12742=REPRESENTATION_RELATIONSHIP('',$,#6278,#12741); -#12743=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12744=REPRESENTATION('predefined keepout shape purpose',(#12746),#8399); -#12745=REPRESENTATION_RELATIONSHIP('',$,#6278,#12744); -#12746=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12747=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6278); -#12748=PROPERTY_DEFINITION('',$,#6277); -#12749=PROPERTY_DEFINITION_REPRESENTATION(#12748,#6278); -#12750=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6278); -#12751=REPRESENTATION('shape location',(#12753),#8399); -#12752=REPRESENTATION_RELATIONSHIP('',$,#6278,#12751); -#12753=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12754=REPRESENTATION('component application',(#12756),#8399); -#12755=REPRESENTATION_RELATIONSHIP('',$,#6278,#12754); -#12756=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12757=ID_ATTRIBUTE('uvlnfsm',#6285); -#12758=DESCRIPTION_ATTRIBUTE('pupksm',#6285); -#12759=SHAPE_DEFINITION_REPRESENTATION(#6184,#6285); -#12760=REPRESENTATION('shape material condition',(#12762),#8399); -#12761=REPRESENTATION_RELATIONSHIP('',$,#6285,#12760); -#12762=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12763=REPRESENTATION('shape environment',(#12765),#8399); -#12764=REPRESENTATION_RELATIONSHIP('',$,#6285,#12763); -#12765=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12766=REPRESENTATION('shape extent',(#12768),#8399); -#12767=REPRESENTATION_RELATIONSHIP('',$,#6285,#12766); -#12768=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12769=REPRESENTATION('shape approximation level',(#12771),#8399); -#12770=REPRESENTATION_RELATIONSHIP('',$,#6285,#12769); -#12771=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12772=REPRESENTATION('predefined keepout shape purpose',(#12774),#8399); -#12773=REPRESENTATION_RELATIONSHIP('',$,#6285,#12772); -#12774=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12775=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6285); -#12776=PROPERTY_DEFINITION('',$,#6284); -#12777=PROPERTY_DEFINITION_REPRESENTATION(#12776,#6285); -#12778=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6285); -#12779=REPRESENTATION('shape location',(#12781),#8399); -#12780=REPRESENTATION_RELATIONSHIP('',$,#6285,#12779); -#12781=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12782=REPRESENTATION('component application',(#12784),#8399); -#12783=REPRESENTATION_RELATIONSHIP('',$,#6285,#12782); -#12784=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12785=ID_ATTRIBUTE('uvlnfsm',#6295); -#12786=DESCRIPTION_ATTRIBUTE('pupksm',#6295); -#12787=SHAPE_DEFINITION_REPRESENTATION(#6184,#6295); -#12788=REPRESENTATION('shape material condition',(#12790),#8399); -#12789=REPRESENTATION_RELATIONSHIP('',$,#6295,#12788); -#12790=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12791=REPRESENTATION('shape environment',(#12793),#8399); -#12792=REPRESENTATION_RELATIONSHIP('',$,#6295,#12791); -#12793=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12794=REPRESENTATION('shape extent',(#12796),#8399); -#12795=REPRESENTATION_RELATIONSHIP('',$,#6295,#12794); -#12796=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12797=REPRESENTATION('shape approximation level',(#12799),#8399); -#12798=REPRESENTATION_RELATIONSHIP('',$,#6295,#12797); -#12799=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12800=REPRESENTATION('predefined keepout shape purpose',(#12802),#8399); -#12801=REPRESENTATION_RELATIONSHIP('',$,#6295,#12800); -#12802=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12803=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6295); -#12804=PROPERTY_DEFINITION('',$,#6294); -#12805=PROPERTY_DEFINITION_REPRESENTATION(#12804,#6295); -#12806=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6295); -#12807=REPRESENTATION('shape location',(#12809),#8399); -#12808=REPRESENTATION_RELATIONSHIP('',$,#6295,#12807); -#12809=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12810=REPRESENTATION('component application',(#12812),#8399); -#12811=REPRESENTATION_RELATIONSHIP('',$,#6295,#12810); -#12812=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12813=ID_ATTRIBUTE('uvlnfsm',#6305); -#12814=DESCRIPTION_ATTRIBUTE('pupksm',#6305); -#12815=SHAPE_DEFINITION_REPRESENTATION(#6184,#6305); -#12816=REPRESENTATION('shape material condition',(#12818),#8399); -#12817=REPRESENTATION_RELATIONSHIP('',$,#6305,#12816); -#12818=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12819=REPRESENTATION('shape environment',(#12821),#8399); -#12820=REPRESENTATION_RELATIONSHIP('',$,#6305,#12819); -#12821=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12822=REPRESENTATION('shape extent',(#12824),#8399); -#12823=REPRESENTATION_RELATIONSHIP('',$,#6305,#12822); -#12824=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12825=REPRESENTATION('shape approximation level',(#12827),#8399); -#12826=REPRESENTATION_RELATIONSHIP('',$,#6305,#12825); -#12827=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12828=REPRESENTATION('predefined keepout shape purpose',(#12830),#8399); -#12829=REPRESENTATION_RELATIONSHIP('',$,#6305,#12828); -#12830=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12831=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6305); -#12832=PROPERTY_DEFINITION('',$,#6304); -#12833=PROPERTY_DEFINITION_REPRESENTATION(#12832,#6305); -#12834=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6305); -#12835=REPRESENTATION('shape location',(#12837),#8399); -#12836=REPRESENTATION_RELATIONSHIP('',$,#6305,#12835); -#12837=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12838=REPRESENTATION('component application',(#12840),#8399); -#12839=REPRESENTATION_RELATIONSHIP('',$,#6305,#12838); -#12840=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12841=ID_ATTRIBUTE('uvlnfsm',#6315); -#12842=DESCRIPTION_ATTRIBUTE('pupksm',#6315); -#12843=SHAPE_DEFINITION_REPRESENTATION(#6184,#6315); -#12844=REPRESENTATION('shape material condition',(#12846),#8399); -#12845=REPRESENTATION_RELATIONSHIP('',$,#6315,#12844); -#12846=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12847=REPRESENTATION('shape environment',(#12849),#8399); -#12848=REPRESENTATION_RELATIONSHIP('',$,#6315,#12847); -#12849=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12850=REPRESENTATION('shape extent',(#12852),#8399); -#12851=REPRESENTATION_RELATIONSHIP('',$,#6315,#12850); -#12852=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12853=REPRESENTATION('shape approximation level',(#12855),#8399); -#12854=REPRESENTATION_RELATIONSHIP('',$,#6315,#12853); -#12855=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12856=REPRESENTATION('predefined keepout shape purpose',(#12858),#8399); -#12857=REPRESENTATION_RELATIONSHIP('',$,#6315,#12856); -#12858=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12859=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6315); -#12860=PROPERTY_DEFINITION('',$,#6314); -#12861=PROPERTY_DEFINITION_REPRESENTATION(#12860,#6315); -#12862=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6315); -#12863=REPRESENTATION('shape location',(#12865),#8399); -#12864=REPRESENTATION_RELATIONSHIP('',$,#6315,#12863); -#12865=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12866=REPRESENTATION('component application',(#12868),#8399); -#12867=REPRESENTATION_RELATIONSHIP('',$,#6315,#12866); -#12868=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12869=ID_ATTRIBUTE('uvlnfsm',#6325); -#12870=DESCRIPTION_ATTRIBUTE('pupksm',#6325); -#12871=SHAPE_DEFINITION_REPRESENTATION(#6184,#6325); -#12872=REPRESENTATION('shape material condition',(#12874),#8399); -#12873=REPRESENTATION_RELATIONSHIP('',$,#6325,#12872); -#12874=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12875=REPRESENTATION('shape environment',(#12877),#8399); -#12876=REPRESENTATION_RELATIONSHIP('',$,#6325,#12875); -#12877=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12878=REPRESENTATION('shape extent',(#12880),#8399); -#12879=REPRESENTATION_RELATIONSHIP('',$,#6325,#12878); -#12880=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12881=REPRESENTATION('shape approximation level',(#12883),#8399); -#12882=REPRESENTATION_RELATIONSHIP('',$,#6325,#12881); -#12883=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12884=REPRESENTATION('predefined keepout shape purpose',(#12886),#8399); -#12885=REPRESENTATION_RELATIONSHIP('',$,#6325,#12884); -#12886=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12887=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6325); -#12888=PROPERTY_DEFINITION('',$,#6324); -#12889=PROPERTY_DEFINITION_REPRESENTATION(#12888,#6325); -#12890=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6325); -#12891=REPRESENTATION('shape location',(#12893),#8399); -#12892=REPRESENTATION_RELATIONSHIP('',$,#6325,#12891); -#12893=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12894=REPRESENTATION('component application',(#12896),#8399); -#12895=REPRESENTATION_RELATIONSHIP('',$,#6325,#12894); -#12896=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12897=ID_ATTRIBUTE('uvlnfsm',#6335); -#12898=DESCRIPTION_ATTRIBUTE('pupksm',#6335); -#12899=SHAPE_DEFINITION_REPRESENTATION(#6184,#6335); -#12900=REPRESENTATION('shape material condition',(#12902),#8399); -#12901=REPRESENTATION_RELATIONSHIP('',$,#6335,#12900); -#12902=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12903=REPRESENTATION('shape environment',(#12905),#8399); -#12904=REPRESENTATION_RELATIONSHIP('',$,#6335,#12903); -#12905=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12906=REPRESENTATION('shape extent',(#12908),#8399); -#12907=REPRESENTATION_RELATIONSHIP('',$,#6335,#12906); -#12908=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12909=REPRESENTATION('shape approximation level',(#12911),#8399); -#12910=REPRESENTATION_RELATIONSHIP('',$,#6335,#12909); -#12911=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12912=REPRESENTATION('predefined keepout shape purpose',(#12914),#8399); -#12913=REPRESENTATION_RELATIONSHIP('',$,#6335,#12912); -#12914=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12915=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6335); -#12916=PROPERTY_DEFINITION('',$,#6334); -#12917=PROPERTY_DEFINITION_REPRESENTATION(#12916,#6335); -#12918=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6335); -#12919=REPRESENTATION('shape location',(#12921),#8399); -#12920=REPRESENTATION_RELATIONSHIP('',$,#6335,#12919); -#12921=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12922=REPRESENTATION('component application',(#12924),#8399); -#12923=REPRESENTATION_RELATIONSHIP('',$,#6335,#12922); -#12924=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12925=ID_ATTRIBUTE('uvlnfsm',#6345); -#12926=DESCRIPTION_ATTRIBUTE('pupksm',#6345); -#12927=SHAPE_DEFINITION_REPRESENTATION(#6184,#6345); -#12928=REPRESENTATION('shape material condition',(#12930),#8399); -#12929=REPRESENTATION_RELATIONSHIP('',$,#6345,#12928); -#12930=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12931=REPRESENTATION('shape environment',(#12933),#8399); -#12932=REPRESENTATION_RELATIONSHIP('',$,#6345,#12931); -#12933=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12934=REPRESENTATION('shape extent',(#12936),#8399); -#12935=REPRESENTATION_RELATIONSHIP('',$,#6345,#12934); -#12936=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12937=REPRESENTATION('shape approximation level',(#12939),#8399); -#12938=REPRESENTATION_RELATIONSHIP('',$,#6345,#12937); -#12939=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12940=REPRESENTATION('predefined keepout shape purpose',(#12942),#8399); -#12941=REPRESENTATION_RELATIONSHIP('',$,#6345,#12940); -#12942=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12943=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6345); -#12944=PROPERTY_DEFINITION('',$,#6344); -#12945=PROPERTY_DEFINITION_REPRESENTATION(#12944,#6345); -#12946=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6345); -#12947=REPRESENTATION('shape location',(#12949),#8399); -#12948=REPRESENTATION_RELATIONSHIP('',$,#6345,#12947); -#12949=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12950=REPRESENTATION('component application',(#12952),#8399); -#12951=REPRESENTATION_RELATIONSHIP('',$,#6345,#12950); -#12952=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12953=ID_ATTRIBUTE('uvlnfsm',#6355); -#12954=DESCRIPTION_ATTRIBUTE('pupksm',#6355); -#12955=SHAPE_DEFINITION_REPRESENTATION(#6184,#6355); -#12956=REPRESENTATION('shape material condition',(#12958),#8399); -#12957=REPRESENTATION_RELATIONSHIP('',$,#6355,#12956); -#12958=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12959=REPRESENTATION('shape environment',(#12961),#8399); -#12960=REPRESENTATION_RELATIONSHIP('',$,#6355,#12959); -#12961=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12962=REPRESENTATION('shape extent',(#12964),#8399); -#12963=REPRESENTATION_RELATIONSHIP('',$,#6355,#12962); -#12964=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12965=REPRESENTATION('shape approximation level',(#12967),#8399); -#12966=REPRESENTATION_RELATIONSHIP('',$,#6355,#12965); -#12967=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12968=REPRESENTATION('predefined keepout shape purpose',(#12970),#8399); -#12969=REPRESENTATION_RELATIONSHIP('',$,#6355,#12968); -#12970=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12971=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6355); -#12972=PROPERTY_DEFINITION('',$,#6354); -#12973=PROPERTY_DEFINITION_REPRESENTATION(#12972,#6355); -#12974=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6355); -#12975=REPRESENTATION('shape location',(#12977),#8399); -#12976=REPRESENTATION_RELATIONSHIP('',$,#6355,#12975); -#12977=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#12978=REPRESENTATION('component application',(#12980),#8399); -#12979=REPRESENTATION_RELATIONSHIP('',$,#6355,#12978); -#12980=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#12981=ID_ATTRIBUTE('uvlnfsm',#6365); -#12982=DESCRIPTION_ATTRIBUTE('pupksm',#6365); -#12983=SHAPE_DEFINITION_REPRESENTATION(#6184,#6365); -#12984=REPRESENTATION('shape material condition',(#12986),#8399); -#12985=REPRESENTATION_RELATIONSHIP('',$,#6365,#12984); -#12986=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#12987=REPRESENTATION('shape environment',(#12989),#8399); -#12988=REPRESENTATION_RELATIONSHIP('',$,#6365,#12987); -#12989=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#12990=REPRESENTATION('shape extent',(#12992),#8399); -#12991=REPRESENTATION_RELATIONSHIP('',$,#6365,#12990); -#12992=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#12993=REPRESENTATION('shape approximation level',(#12995),#8399); -#12994=REPRESENTATION_RELATIONSHIP('',$,#6365,#12993); -#12995=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#12996=REPRESENTATION('predefined keepout shape purpose',(#12998),#8399); -#12997=REPRESENTATION_RELATIONSHIP('',$,#6365,#12996); -#12998=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#12999=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6365); -#13000=PROPERTY_DEFINITION('',$,#6364); -#13001=PROPERTY_DEFINITION_REPRESENTATION(#13000,#6365); -#13002=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6365); -#13003=REPRESENTATION('shape location',(#13005),#8399); -#13004=REPRESENTATION_RELATIONSHIP('',$,#6365,#13003); -#13005=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#13006=REPRESENTATION('component application',(#13008),#8399); -#13007=REPRESENTATION_RELATIONSHIP('',$,#6365,#13006); -#13008=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#13009=ID_ATTRIBUTE('uvlnfsm',#6375); -#13010=DESCRIPTION_ATTRIBUTE('pupksm',#6375); -#13011=SHAPE_DEFINITION_REPRESENTATION(#6184,#6375); -#13012=REPRESENTATION('shape material condition',(#13014),#8399); -#13013=REPRESENTATION_RELATIONSHIP('',$,#6375,#13012); -#13014=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13015=REPRESENTATION('shape environment',(#13017),#8399); -#13016=REPRESENTATION_RELATIONSHIP('',$,#6375,#13015); -#13017=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#13018=REPRESENTATION('shape extent',(#13020),#8399); -#13019=REPRESENTATION_RELATIONSHIP('',$,#6375,#13018); -#13020=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#13021=REPRESENTATION('shape approximation level',(#13023),#8399); -#13022=REPRESENTATION_RELATIONSHIP('',$,#6375,#13021); -#13023=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13024=REPRESENTATION('predefined keepout shape purpose',(#13026),#8399); -#13025=REPRESENTATION_RELATIONSHIP('',$,#6375,#13024); -#13026=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#13027=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6375); -#13028=PROPERTY_DEFINITION('',$,#6374); -#13029=PROPERTY_DEFINITION_REPRESENTATION(#13028,#6375); -#13030=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6375); -#13031=REPRESENTATION('shape location',(#13033),#8399); -#13032=REPRESENTATION_RELATIONSHIP('',$,#6375,#13031); -#13033=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#13034=REPRESENTATION('component application',(#13036),#8399); -#13035=REPRESENTATION_RELATIONSHIP('',$,#6375,#13034); -#13036=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#13037=ID_ATTRIBUTE('uvlnfsm',#6385); -#13038=DESCRIPTION_ATTRIBUTE('pupksm',#6385); -#13039=SHAPE_DEFINITION_REPRESENTATION(#6184,#6385); -#13040=REPRESENTATION('shape material condition',(#13042),#8399); -#13041=REPRESENTATION_RELATIONSHIP('',$,#6385,#13040); -#13042=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13043=REPRESENTATION('shape environment',(#13045),#8399); -#13044=REPRESENTATION_RELATIONSHIP('',$,#6385,#13043); -#13045=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#13046=REPRESENTATION('shape extent',(#13048),#8399); -#13047=REPRESENTATION_RELATIONSHIP('',$,#6385,#13046); -#13048=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#13049=REPRESENTATION('shape approximation level',(#13051),#8399); -#13050=REPRESENTATION_RELATIONSHIP('',$,#6385,#13049); -#13051=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13052=REPRESENTATION('predefined keepout shape purpose',(#13054),#8399); -#13053=REPRESENTATION_RELATIONSHIP('',$,#6385,#13052); -#13054=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#13055=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6385); -#13056=PROPERTY_DEFINITION('',$,#6384); -#13057=PROPERTY_DEFINITION_REPRESENTATION(#13056,#6385); -#13058=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6385); -#13059=REPRESENTATION('shape location',(#13061),#8399); -#13060=REPRESENTATION_RELATIONSHIP('',$,#6385,#13059); -#13061=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#13062=REPRESENTATION('component application',(#13064),#8399); -#13063=REPRESENTATION_RELATIONSHIP('',$,#6385,#13062); -#13064=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#13065=ID_ATTRIBUTE('uvlnfsm',#6395); -#13066=DESCRIPTION_ATTRIBUTE('pupksm',#6395); -#13067=SHAPE_DEFINITION_REPRESENTATION(#6184,#6395); -#13068=REPRESENTATION('shape material condition',(#13070),#8399); -#13069=REPRESENTATION_RELATIONSHIP('',$,#6395,#13068); -#13070=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13071=REPRESENTATION('shape environment',(#13073),#8399); -#13072=REPRESENTATION_RELATIONSHIP('',$,#6395,#13071); -#13073=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#13074=REPRESENTATION('shape extent',(#13076),#8399); -#13075=REPRESENTATION_RELATIONSHIP('',$,#6395,#13074); -#13076=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#13077=REPRESENTATION('shape approximation level',(#13079),#8399); -#13078=REPRESENTATION_RELATIONSHIP('',$,#6395,#13077); -#13079=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13080=REPRESENTATION('predefined keepout shape purpose',(#13082),#8399); -#13081=REPRESENTATION_RELATIONSHIP('',$,#6395,#13080); -#13082=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#13083=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6395); -#13084=PROPERTY_DEFINITION('',$,#6394); -#13085=PROPERTY_DEFINITION_REPRESENTATION(#13084,#6395); -#13086=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6395); -#13087=REPRESENTATION('shape location',(#13089),#8399); -#13088=REPRESENTATION_RELATIONSHIP('',$,#6395,#13087); -#13089=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#13090=REPRESENTATION('component application',(#13092),#8399); -#13091=REPRESENTATION_RELATIONSHIP('',$,#6395,#13090); -#13092=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#13093=ID_ATTRIBUTE('uvlnfsm',#6405); -#13094=DESCRIPTION_ATTRIBUTE('pupksm',#6405); -#13095=SHAPE_DEFINITION_REPRESENTATION(#6184,#6405); -#13096=REPRESENTATION('shape material condition',(#13098),#8399); -#13097=REPRESENTATION_RELATIONSHIP('',$,#6405,#13096); -#13098=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13099=REPRESENTATION('shape environment',(#13101),#8399); -#13100=REPRESENTATION_RELATIONSHIP('',$,#6405,#13099); -#13101=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#13102=REPRESENTATION('shape extent',(#13104),#8399); -#13103=REPRESENTATION_RELATIONSHIP('',$,#6405,#13102); -#13104=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#13105=REPRESENTATION('shape approximation level',(#13107),#8399); -#13106=REPRESENTATION_RELATIONSHIP('',$,#6405,#13105); -#13107=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13108=REPRESENTATION('predefined keepout shape purpose',(#13110),#8399); -#13109=REPRESENTATION_RELATIONSHIP('',$,#6405,#13108); -#13110=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#13111=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6405); -#13112=PROPERTY_DEFINITION('',$,#6404); -#13113=PROPERTY_DEFINITION_REPRESENTATION(#13112,#6405); -#13114=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6405); -#13115=REPRESENTATION('shape location',(#13117),#8399); -#13116=REPRESENTATION_RELATIONSHIP('',$,#6405,#13115); -#13117=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#13118=REPRESENTATION('component application',(#13120),#8399); -#13119=REPRESENTATION_RELATIONSHIP('',$,#6405,#13118); -#13120=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#13121=ID_ATTRIBUTE('uvlnfsm',#6415); -#13122=DESCRIPTION_ATTRIBUTE('pupksm',#6415); -#13123=SHAPE_DEFINITION_REPRESENTATION(#6184,#6415); -#13124=REPRESENTATION('shape material condition',(#13126),#8399); -#13125=REPRESENTATION_RELATIONSHIP('',$,#6415,#13124); -#13126=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13127=REPRESENTATION('shape environment',(#13129),#8399); -#13128=REPRESENTATION_RELATIONSHIP('',$,#6415,#13127); -#13129=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#13130=REPRESENTATION('shape extent',(#13132),#8399); -#13131=REPRESENTATION_RELATIONSHIP('',$,#6415,#13130); -#13132=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#13133=REPRESENTATION('shape approximation level',(#13135),#8399); -#13134=REPRESENTATION_RELATIONSHIP('',$,#6415,#13133); -#13135=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13136=REPRESENTATION('predefined keepout shape purpose',(#13138),#8399); -#13137=REPRESENTATION_RELATIONSHIP('',$,#6415,#13136); -#13138=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#13139=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6415); -#13140=PROPERTY_DEFINITION('',$,#6414); -#13141=PROPERTY_DEFINITION_REPRESENTATION(#13140,#6415); -#13142=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6415); -#13143=REPRESENTATION('shape location',(#13145),#8399); -#13144=REPRESENTATION_RELATIONSHIP('',$,#6415,#13143); -#13145=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#13146=REPRESENTATION('component application',(#13148),#8399); -#13147=REPRESENTATION_RELATIONSHIP('',$,#6415,#13146); -#13148=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#13149=ID_ATTRIBUTE('uvlnfsm',#6422); -#13150=DESCRIPTION_ATTRIBUTE('pupksm',#6422); -#13151=SHAPE_DEFINITION_REPRESENTATION(#6184,#6422); -#13152=REPRESENTATION('shape material condition',(#13154),#8399); -#13153=REPRESENTATION_RELATIONSHIP('',$,#6422,#13152); -#13154=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13155=REPRESENTATION('shape environment',(#13157),#8399); -#13156=REPRESENTATION_RELATIONSHIP('',$,#6422,#13155); -#13157=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#13158=REPRESENTATION('shape extent',(#13160),#8399); -#13159=REPRESENTATION_RELATIONSHIP('',$,#6422,#13158); -#13160=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#13161=REPRESENTATION('shape approximation level',(#13163),#8399); -#13162=REPRESENTATION_RELATIONSHIP('',$,#6422,#13161); -#13163=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13164=REPRESENTATION('predefined keepout shape purpose',(#13166),#8399); -#13165=REPRESENTATION_RELATIONSHIP('',$,#6422,#13164); -#13166=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#13167=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6422); -#13168=PROPERTY_DEFINITION('',$,#6421); -#13169=PROPERTY_DEFINITION_REPRESENTATION(#13168,#6422); -#13170=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6422); -#13171=REPRESENTATION('shape location',(#13173),#8399); -#13172=REPRESENTATION_RELATIONSHIP('',$,#6422,#13171); -#13173=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#13174=REPRESENTATION('component application',(#13176),#8399); -#13175=REPRESENTATION_RELATIONSHIP('',$,#6422,#13174); -#13176=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#13177=ID_ATTRIBUTE('uvlnfsm',#6429); -#13178=DESCRIPTION_ATTRIBUTE('pupksm',#6429); -#13179=SHAPE_DEFINITION_REPRESENTATION(#6184,#6429); -#13180=REPRESENTATION('shape material condition',(#13182),#8399); -#13181=REPRESENTATION_RELATIONSHIP('',$,#6429,#13180); -#13182=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13183=REPRESENTATION('shape environment',(#13185),#8399); -#13184=REPRESENTATION_RELATIONSHIP('',$,#6429,#13183); -#13185=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#13186=REPRESENTATION('shape extent',(#13188),#8399); -#13187=REPRESENTATION_RELATIONSHIP('',$,#6429,#13186); -#13188=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#13189=REPRESENTATION('shape approximation level',(#13191),#8399); -#13190=REPRESENTATION_RELATIONSHIP('',$,#6429,#13189); -#13191=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13192=REPRESENTATION('predefined keepout shape purpose',(#13194),#8399); -#13193=REPRESENTATION_RELATIONSHIP('',$,#6429,#13192); -#13194=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#13195=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6429); -#13196=PROPERTY_DEFINITION('',$,#6428); -#13197=PROPERTY_DEFINITION_REPRESENTATION(#13196,#6429); -#13198=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6429); -#13199=REPRESENTATION('shape location',(#13201),#8399); -#13200=REPRESENTATION_RELATIONSHIP('',$,#6429,#13199); -#13201=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#13202=REPRESENTATION('component application',(#13204),#8399); -#13203=REPRESENTATION_RELATIONSHIP('',$,#6429,#13202); -#13204=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#13205=ID_ATTRIBUTE('uvlnfsm',#6436); -#13206=DESCRIPTION_ATTRIBUTE('pupksm',#6436); -#13207=SHAPE_DEFINITION_REPRESENTATION(#6184,#6436); -#13208=REPRESENTATION('shape material condition',(#13210),#8399); -#13209=REPRESENTATION_RELATIONSHIP('',$,#6436,#13208); -#13210=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13211=REPRESENTATION('shape environment',(#13213),#8399); -#13212=REPRESENTATION_RELATIONSHIP('',$,#6436,#13211); -#13213=DESCRIPTIVE_REPRESENTATION_ITEM('end user application',''); -#13214=REPRESENTATION('shape extent',(#13216),#8399); -#13215=REPRESENTATION_RELATIONSHIP('',$,#6436,#13214); -#13216=DESCRIPTIVE_REPRESENTATION_ITEM('over body',''); -#13217=REPRESENTATION('shape approximation level',(#13219),#8399); -#13218=REPRESENTATION_RELATIONSHIP('',$,#6436,#13217); -#13219=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13220=REPRESENTATION('predefined keepout shape purpose',(#13222),#8399); -#13221=REPRESENTATION_RELATIONSHIP('',$,#6436,#13220); -#13222=DESCRIPTIVE_REPRESENTATION_ITEM('generic clearance',''); -#13223=PROPERTY_DEFINITION_REPRESENTATION(#12523,#6436); -#13224=PROPERTY_DEFINITION('',$,#6435); -#13225=PROPERTY_DEFINITION_REPRESENTATION(#13224,#6436); -#13226=REPRESENTATION_RELATIONSHIP('model shape',$,#6200,#6436); -#13227=REPRESENTATION('shape location',(#13229),#8399); -#13228=REPRESENTATION_RELATIONSHIP('',$,#6436,#13227); -#13229=DESCRIPTIVE_REPRESENTATION_ITEM('congruent',''); -#13230=REPRESENTATION('component application',(#13232),#8399); -#13231=REPRESENTATION_RELATIONSHIP('',$,#6436,#13230); -#13232=DESCRIPTIVE_REPRESENTATION_ITEM('no components permitted',''); -#13233=DESCRIPTION_ATTRIBUTE('pupsm',#25); -#13234=SHAPE_DEFINITION_REPRESENTATION(#15,#25); -#13235=REPRESENTATION('shape material condition',(#13237),#8399); -#13236=REPRESENTATION_RELATIONSHIP('',$,#25,#13235); -#13237=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13238=REPRESENTATION('shape environment',(#13240),#8399); -#13239=REPRESENTATION_RELATIONSHIP('',$,#25,#13238); -#13240=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#13241=REPRESENTATION('shape extent',(#13243),#8399); -#13242=REPRESENTATION_RELATIONSHIP('',$,#25,#13241); -#13243=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#13244=REPRESENTATION('shape approximation level',(#13246),#8399); -#13245=REPRESENTATION_RELATIONSHIP('',$,#25,#13244); -#13246=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13247=REPRESENTATION('mass property quality',(#13249),#8399); -#13248=REPRESENTATION_RELATIONSHIP('',$,#25,#13247); -#13249=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13250=REPRESENTATION('predefined shape purpose',(#13252),#8399); -#13251=REPRESENTATION_RELATIONSHIP('',$,#25,#13250); -#13252=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#13253=DESCRIPTION_ATTRIBUTE('pupsm',#36); -#13254=SHAPE_DEFINITION_REPRESENTATION(#34,#36); -#13255=REPRESENTATION('shape material condition',(#13257),#8399); -#13256=REPRESENTATION_RELATIONSHIP('',$,#36,#13255); -#13257=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13258=REPRESENTATION('shape environment',(#13260),#8399); -#13259=REPRESENTATION_RELATIONSHIP('',$,#36,#13258); -#13260=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#13261=REPRESENTATION('shape extent',(#13263),#8399); -#13262=REPRESENTATION_RELATIONSHIP('',$,#36,#13261); -#13263=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#13264=REPRESENTATION('shape approximation level',(#13266),#8399); -#13265=REPRESENTATION_RELATIONSHIP('',$,#36,#13264); -#13266=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13267=REPRESENTATION('mass property quality',(#13269),#8399); -#13268=REPRESENTATION_RELATIONSHIP('',$,#36,#13267); -#13269=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13270=REPRESENTATION('predefined shape purpose',(#13272),#8399); -#13271=REPRESENTATION_RELATIONSHIP('',$,#36,#13270); -#13272=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#13273=DESCRIPTION_ATTRIBUTE('pupsm',#41); -#13274=SHAPE_DEFINITION_REPRESENTATION(#39,#41); -#13275=REPRESENTATION('shape material condition',(#13277),#8399); -#13276=REPRESENTATION_RELATIONSHIP('',$,#41,#13275); -#13277=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13278=REPRESENTATION('shape environment',(#13280),#8399); -#13279=REPRESENTATION_RELATIONSHIP('',$,#41,#13278); -#13280=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#13281=REPRESENTATION('shape extent',(#13283),#8399); -#13282=REPRESENTATION_RELATIONSHIP('',$,#41,#13281); -#13283=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#13284=REPRESENTATION('shape approximation level',(#13286),#8399); -#13285=REPRESENTATION_RELATIONSHIP('',$,#41,#13284); -#13286=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13287=REPRESENTATION('mass property quality',(#13289),#8399); -#13288=REPRESENTATION_RELATIONSHIP('',$,#41,#13287); -#13289=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13290=REPRESENTATION('predefined shape purpose',(#13292),#8399); -#13291=REPRESENTATION_RELATIONSHIP('',$,#41,#13290); -#13292=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#13293=DESCRIPTION_ATTRIBUTE('pupsm',#48); -#13294=SHAPE_DEFINITION_REPRESENTATION(#46,#48); -#13295=REPRESENTATION('shape material condition',(#13297),#8399); -#13296=REPRESENTATION_RELATIONSHIP('',$,#48,#13295); -#13297=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13298=REPRESENTATION('shape environment',(#13300),#8399); -#13299=REPRESENTATION_RELATIONSHIP('',$,#48,#13298); -#13300=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#13301=REPRESENTATION('shape extent',(#13303),#8399); -#13302=REPRESENTATION_RELATIONSHIP('',$,#48,#13301); -#13303=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#13304=REPRESENTATION('shape approximation level',(#13306),#8399); -#13305=REPRESENTATION_RELATIONSHIP('',$,#48,#13304); -#13306=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13307=REPRESENTATION('mass property quality',(#13309),#8399); -#13308=REPRESENTATION_RELATIONSHIP('',$,#48,#13307); -#13309=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13310=REPRESENTATION('predefined shape purpose',(#13312),#8399); -#13311=REPRESENTATION_RELATIONSHIP('',$,#48,#13310); -#13312=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#13313=DESCRIPTION_ATTRIBUTE('pupsm',#720); -#13314=SHAPE_DEFINITION_REPRESENTATION(#718,#720); -#13315=REPRESENTATION('shape material condition',(#13317),#8399); -#13316=REPRESENTATION_RELATIONSHIP('',$,#720,#13315); -#13317=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13318=REPRESENTATION('shape environment',(#13320),#8399); -#13319=REPRESENTATION_RELATIONSHIP('',$,#720,#13318); -#13320=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#13321=REPRESENTATION('shape extent',(#13323),#8399); -#13322=REPRESENTATION_RELATIONSHIP('',$,#720,#13321); -#13323=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#13324=REPRESENTATION('shape approximation level',(#13326),#8399); -#13325=REPRESENTATION_RELATIONSHIP('',$,#720,#13324); -#13326=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13327=REPRESENTATION('mass property quality',(#13329),#8399); -#13328=REPRESENTATION_RELATIONSHIP('',$,#720,#13327); -#13329=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13330=REPRESENTATION('predefined shape purpose',(#13332),#8399); -#13331=REPRESENTATION_RELATIONSHIP('',$,#720,#13330); -#13332=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#13333=DESCRIPTION_ATTRIBUTE('pupsm',#730); -#13334=SHAPE_DEFINITION_REPRESENTATION(#728,#730); -#13335=REPRESENTATION('shape material condition',(#13337),#8399); -#13336=REPRESENTATION_RELATIONSHIP('',$,#730,#13335); -#13337=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13338=REPRESENTATION('shape environment',(#13340),#8399); -#13339=REPRESENTATION_RELATIONSHIP('',$,#730,#13338); -#13340=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#13341=REPRESENTATION('shape extent',(#13343),#8399); -#13342=REPRESENTATION_RELATIONSHIP('',$,#730,#13341); -#13343=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#13344=REPRESENTATION('shape approximation level',(#13346),#8399); -#13345=REPRESENTATION_RELATIONSHIP('',$,#730,#13344); -#13346=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13347=REPRESENTATION('mass property quality',(#13349),#8399); -#13348=REPRESENTATION_RELATIONSHIP('',$,#730,#13347); -#13349=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13350=REPRESENTATION('predefined shape purpose',(#13352),#8399); -#13351=REPRESENTATION_RELATIONSHIP('',$,#730,#13350); -#13352=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#13353=DESCRIPTION_ATTRIBUTE('pupsm',#740); -#13354=SHAPE_DEFINITION_REPRESENTATION(#738,#740); -#13355=REPRESENTATION('shape material condition',(#13357),#8399); -#13356=REPRESENTATION_RELATIONSHIP('',$,#740,#13355); -#13357=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13358=REPRESENTATION('shape environment',(#13360),#8399); -#13359=REPRESENTATION_RELATIONSHIP('',$,#740,#13358); -#13360=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#13361=REPRESENTATION('shape extent',(#13363),#8399); -#13362=REPRESENTATION_RELATIONSHIP('',$,#740,#13361); -#13363=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#13364=REPRESENTATION('shape approximation level',(#13366),#8399); -#13365=REPRESENTATION_RELATIONSHIP('',$,#740,#13364); -#13366=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13367=REPRESENTATION('mass property quality',(#13369),#8399); -#13368=REPRESENTATION_RELATIONSHIP('',$,#740,#13367); -#13369=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13370=REPRESENTATION('predefined shape purpose',(#13372),#8399); -#13371=REPRESENTATION_RELATIONSHIP('',$,#740,#13370); -#13372=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#13373=DESCRIPTION_ATTRIBUTE('pupsm',#748); -#13374=SHAPE_DEFINITION_REPRESENTATION(#746,#748); -#13375=REPRESENTATION('shape material condition',(#13377),#8399); -#13376=REPRESENTATION_RELATIONSHIP('',$,#748,#13375); -#13377=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13378=REPRESENTATION('shape environment',(#13380),#8399); -#13379=REPRESENTATION_RELATIONSHIP('',$,#748,#13378); -#13380=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#13381=REPRESENTATION('shape extent',(#13383),#8399); -#13382=REPRESENTATION_RELATIONSHIP('',$,#748,#13381); -#13383=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#13384=REPRESENTATION('shape approximation level',(#13386),#8399); -#13385=REPRESENTATION_RELATIONSHIP('',$,#748,#13384); -#13386=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13387=REPRESENTATION('mass property quality',(#13389),#8399); -#13388=REPRESENTATION_RELATIONSHIP('',$,#748,#13387); -#13389=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13390=REPRESENTATION('predefined shape purpose',(#13392),#8399); -#13391=REPRESENTATION_RELATIONSHIP('',$,#748,#13390); -#13392=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#13393=DESCRIPTION_ATTRIBUTE('pupsm',#751); -#13394=SHAPE_DEFINITION_REPRESENTATION(#749,#751); -#13395=REPRESENTATION('shape material condition',(#13397),#8399); -#13396=REPRESENTATION_RELATIONSHIP('',$,#751,#13395); -#13397=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13398=REPRESENTATION('shape environment',(#13400),#8399); -#13399=REPRESENTATION_RELATIONSHIP('',$,#751,#13398); -#13400=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#13401=REPRESENTATION('shape extent',(#13403),#8399); -#13402=REPRESENTATION_RELATIONSHIP('',$,#751,#13401); -#13403=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#13404=REPRESENTATION('shape approximation level',(#13406),#8399); -#13405=REPRESENTATION_RELATIONSHIP('',$,#751,#13404); -#13406=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13407=REPRESENTATION('mass property quality',(#13409),#8399); -#13408=REPRESENTATION_RELATIONSHIP('',$,#751,#13407); -#13409=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13410=REPRESENTATION('predefined shape purpose',(#13412),#8399); -#13411=REPRESENTATION_RELATIONSHIP('',$,#751,#13410); -#13412=DESCRIPTIVE_REPRESENTATION_ITEM('assembly symbol',''); -#13413=DESCRIPTION_ATTRIBUTE('pupsm',#6183); -#13414=SHAPE_DEFINITION_REPRESENTATION(#6181,#6183); -#13415=REPRESENTATION('shape material condition',(#13417),#8399); -#13416=REPRESENTATION_RELATIONSHIP('',$,#6183,#13415); -#13417=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13418=REPRESENTATION('shape environment',(#13420),#8399); -#13419=REPRESENTATION_RELATIONSHIP('',$,#6183,#13418); -#13420=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#13421=REPRESENTATION('shape extent',(#13423),#8399); -#13422=REPRESENTATION_RELATIONSHIP('',$,#6183,#13421); -#13423=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#13424=REPRESENTATION('shape approximation level',(#13426),#8399); -#13425=REPRESENTATION_RELATIONSHIP('',$,#6183,#13424); -#13426=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13427=REPRESENTATION('mass property quality',(#13429),#8399); -#13428=REPRESENTATION_RELATIONSHIP('',$,#6183,#13427); -#13429=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13430=REPRESENTATION('predefined shape purpose',(#13432),#8399); -#13431=REPRESENTATION_RELATIONSHIP('',$,#6183,#13430); -#13432=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#13433=DESCRIPTION_ATTRIBUTE('pupsm',#6186); -#13434=SHAPE_DEFINITION_REPRESENTATION(#6184,#6186); -#13435=REPRESENTATION('shape material condition',(#13437),#8399); -#13436=REPRESENTATION_RELATIONSHIP('',$,#6186,#13435); -#13437=DESCRIPTIVE_REPRESENTATION_ITEM('nominal material condition',''); -#13438=REPRESENTATION('shape environment',(#13440),#8399); -#13439=REPRESENTATION_RELATIONSHIP('',$,#6186,#13438); -#13440=DESCRIPTIVE_REPRESENTATION_ITEM('manufacturing',''); -#13441=REPRESENTATION('shape extent',(#13443),#8399); -#13442=REPRESENTATION_RELATIONSHIP('',$,#6186,#13441); -#13443=DESCRIPTIVE_REPRESENTATION_ITEM('over lands',''); -#13444=REPRESENTATION('shape approximation level',(#13446),#8399); -#13445=REPRESENTATION_RELATIONSHIP('',$,#6186,#13444); -#13446=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13447=REPRESENTATION('mass property quality',(#13449),#8399); -#13448=REPRESENTATION_RELATIONSHIP('',$,#6186,#13447); -#13449=DESCRIPTIVE_REPRESENTATION_ITEM('is unknown',''); -#13450=REPRESENTATION('predefined shape purpose',(#13452),#8399); -#13451=REPRESENTATION_RELATIONSHIP('',$,#6186,#13450); -#13452=DESCRIPTIVE_REPRESENTATION_ITEM('design',''); -#13453=PROPERTY_DEFINITION('required characteristic',$,#572); -#13454=REPRESENTATION('',(#565),#8399); -#13455=PROPERTY_DEFINITION_REPRESENTATION(#13453,#13454); -#13456=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11458,#11517); -#13457=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11460,#11522); -#13458=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11462,#11527); -#13459=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11464,#11536); -#13460=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11466,#11545); -#13461=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11468,#11562); -#13462=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11470,#11567); -#13463=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11472,#11572); -#13464=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11474,#11589); -#13465=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11476,#11594); -#13466=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11478,#11599); -#13467=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#11480,#11608); -#13468=PRODUCT_CONTEXT('requirement',#8333,''); -#13469=ASSIGNED_REQUIREMENT(#74,(#62)); -#13470=REQUIREMENT_ASSIGNED_OBJECT(#74,(#46)); -#13471=ID_ATTRIBUTE('Board Placement Clearance',#74); -#13472=ASSIGNED_REQUIREMENT(#574,(#572)); -#13473=REQUIREMENT_ASSIGNED_OBJECT(#574,(#89)); -#13474=ID_ATTRIBUTE('',#574); -#13475=ASSIGNED_REQUIREMENT(#585,(#582)); -#13476=REQUIREMENT_ASSIGNED_OBJECT(#585,(#89)); -#13477=ID_ATTRIBUTE('',#585); -#13478=ASSIGNED_REQUIREMENT(#606,(#572)); -#13479=REQUIREMENT_ASSIGNED_OBJECT(#606,(#132)); -#13480=ID_ATTRIBUTE('',#606); -#13481=ASSIGNED_REQUIREMENT(#616,(#572)); -#13482=REQUIREMENT_ASSIGNED_OBJECT(#616,(#166)); -#13483=ID_ATTRIBUTE('',#616); -#13484=ASSIGNED_REQUIREMENT(#626,(#623)); -#13485=REQUIREMENT_ASSIGNED_OBJECT(#626,(#166)); -#13486=ID_ATTRIBUTE('',#626); -#13487=ASSIGNED_REQUIREMENT(#647,(#572)); -#13488=REQUIREMENT_ASSIGNED_OBJECT(#647,(#204)); -#13489=ID_ATTRIBUTE('',#647); -#13490=ASSIGNED_REQUIREMENT(#684,(#572)); -#13491=REQUIREMENT_ASSIGNED_OBJECT(#684,(#242)); -#13492=ID_ATTRIBUTE('',#684); -#13493=ASSIGNED_REQUIREMENT(#927,(#926)); -#13494=REQUIREMENT_ASSIGNED_OBJECT(#927,(#914)); -#13495=ID_ATTRIBUTE('',#927); -#13496=ASSIGNED_REQUIREMENT(#931,(#930)); -#13497=REQUIREMENT_ASSIGNED_OBJECT(#931,(#914)); -#13498=ID_ATTRIBUTE('',#931); -#13499=ASSIGNED_REQUIREMENT(#932,(#926)); -#13500=REQUIREMENT_ASSIGNED_OBJECT(#932,(#910)); -#13501=ID_ATTRIBUTE('',#932); -#13502=ASSIGNED_REQUIREMENT(#933,(#930)); -#13503=REQUIREMENT_ASSIGNED_OBJECT(#933,(#910)); -#13504=ID_ATTRIBUTE('',#933); -#13505=ASSIGNED_REQUIREMENT(#953,(#951)); -#13506=REQUIREMENT_ASSIGNED_OBJECT(#953,(#34)); -#13507=ID_ATTRIBUTE('',#953); -#13508=ASSIGNED_REQUIREMENT(#4168,(#572)); -#13509=REQUIREMENT_ASSIGNED_OBJECT(#4168,(#437)); -#13510=ID_ATTRIBUTE('',#4168); -#13511=ASSIGNED_REQUIREMENT(#6198,(#6197)); -#13512=REQUIREMENT_ASSIGNED_OBJECT(#6198,(#6181)); -#13513=ID_ATTRIBUTE('',#6198); -#13514=ASSIGNED_REQUIREMENT(#6496,(#926)); -#13515=REQUIREMENT_ASSIGNED_OBJECT(#6496,(#6486)); -#13516=ID_ATTRIBUTE('',#6496); -#13517=ASSIGNED_REQUIREMENT(#6497,(#930)); -#13518=REQUIREMENT_ASSIGNED_OBJECT(#6497,(#6486)); -#13519=ID_ATTRIBUTE('',#6497); -#13520=ASSIGNED_REQUIREMENT(#6498,(#926)); -#13521=REQUIREMENT_ASSIGNED_OBJECT(#6498,(#6482)); -#13522=ID_ATTRIBUTE('',#6498); -#13523=ASSIGNED_REQUIREMENT(#6499,(#930)); -#13524=REQUIREMENT_ASSIGNED_OBJECT(#6499,(#6482)); -#13525=ID_ATTRIBUTE('',#6499); -#13526=ASSIGNED_REQUIREMENT(#6702,(#6700)); -#13527=REQUIREMENT_ASSIGNED_OBJECT(#6702,(#34)); -#13528=ID_ATTRIBUTE('',#6702); -#13529=ASSIGNED_REQUIREMENT(#6708,(#6706)); -#13530=REQUIREMENT_ASSIGNED_OBJECT(#6708,(#34)); -#13531=ID_ATTRIBUTE('',#6708); -#13532=ASSIGNED_REQUIREMENT(#6717,(#6715)); -#13533=REQUIREMENT_ASSIGNED_OBJECT(#6717,(#34)); -#13534=ID_ATTRIBUTE('',#6717); -#13535=ASSIGNED_REQUIREMENT(#6726,(#6724)); -#13536=REQUIREMENT_ASSIGNED_OBJECT(#6726,(#34)); -#13537=ID_ATTRIBUTE('',#6726); -#13538=ASSIGNED_REQUIREMENT(#6735,(#6733)); -#13539=REQUIREMENT_ASSIGNED_OBJECT(#6735,(#34)); -#13540=ID_ATTRIBUTE('',#6735); -#13541=ASSIGNED_REQUIREMENT(#6744,(#6742)); -#13542=REQUIREMENT_ASSIGNED_OBJECT(#6744,(#34)); -#13543=ID_ATTRIBUTE('',#6744); -#13544=ASSIGNED_REQUIREMENT(#6753,(#6751)); -#13545=REQUIREMENT_ASSIGNED_OBJECT(#6753,(#34)); -#13546=ID_ATTRIBUTE('',#6753); -#13547=ASSIGNED_REQUIREMENT(#6762,(#6760)); -#13548=REQUIREMENT_ASSIGNED_OBJECT(#6762,(#34)); -#13549=ID_ATTRIBUTE('',#6762); -#13550=ASSIGNED_REQUIREMENT(#6771,(#6769)); -#13551=REQUIREMENT_ASSIGNED_OBJECT(#6771,(#34)); -#13552=ID_ATTRIBUTE('',#6771); -#13553=ASSIGNED_REQUIREMENT(#6780,(#6778)); -#13554=REQUIREMENT_ASSIGNED_OBJECT(#6780,(#34)); -#13555=ID_ATTRIBUTE('',#6780); -#13556=ASSIGNED_REQUIREMENT(#6789,(#6787)); -#13557=REQUIREMENT_ASSIGNED_OBJECT(#6789,(#34)); -#13558=ID_ATTRIBUTE('',#6789); -#13559=ASSIGNED_REQUIREMENT(#6798,(#6796)); -#13560=REQUIREMENT_ASSIGNED_OBJECT(#6798,(#34)); -#13561=ID_ATTRIBUTE('',#6798); -#13562=ASSIGNED_REQUIREMENT(#6804,(#6802)); -#13563=REQUIREMENT_ASSIGNED_OBJECT(#6804,(#34)); -#13564=ID_ATTRIBUTE('',#6804); -#13565=ASSIGNED_REQUIREMENT(#6813,(#6811)); -#13566=REQUIREMENT_ASSIGNED_OBJECT(#6813,(#34)); -#13567=ID_ATTRIBUTE('',#6813); -#13568=ASSIGNED_REQUIREMENT(#6822,(#6820)); -#13569=REQUIREMENT_ASSIGNED_OBJECT(#6822,(#34)); -#13570=ID_ATTRIBUTE('',#6822); -#13571=ASSIGNED_REQUIREMENT(#6831,(#6829)); -#13572=REQUIREMENT_ASSIGNED_OBJECT(#6831,(#34)); -#13573=ID_ATTRIBUTE('',#6831); -#13574=ASSIGNED_REQUIREMENT(#6840,(#6838)); -#13575=REQUIREMENT_ASSIGNED_OBJECT(#6840,(#34)); -#13576=ID_ATTRIBUTE('',#6840); -#13577=ASSIGNED_REQUIREMENT(#6849,(#6847)); -#13578=REQUIREMENT_ASSIGNED_OBJECT(#6849,(#34)); -#13579=ID_ATTRIBUTE('',#6849); -#13580=ASSIGNED_REQUIREMENT(#6858,(#6856)); -#13581=REQUIREMENT_ASSIGNED_OBJECT(#6858,(#34)); -#13582=ID_ATTRIBUTE('',#6858); -#13583=ASSIGNED_REQUIREMENT(#6867,(#6865)); -#13584=REQUIREMENT_ASSIGNED_OBJECT(#6867,(#34)); -#13585=ID_ATTRIBUTE('',#6867); -#13586=ASSIGNED_REQUIREMENT(#6876,(#6874)); -#13587=REQUIREMENT_ASSIGNED_OBJECT(#6876,(#34)); -#13588=ID_ATTRIBUTE('',#6876); -#13589=ASSIGNED_REQUIREMENT(#6885,(#6883)); -#13590=REQUIREMENT_ASSIGNED_OBJECT(#6885,(#34)); -#13591=ID_ATTRIBUTE('',#6885); -#13592=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7498,#7306); -#13593=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7498,#6996); -#13594=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7498,#7497); -#13595=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7542,#7146); -#13596=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7542,#7180); -#13597=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7542,#7008); -#13598=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7542,#6992); -#13599=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7542,#7541); -#13600=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7573,#6962); -#13601=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7573,#7012); -#13602=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7573,#7176); -#13603=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7573,#7572); -#13604=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7603,#7230); -#13605=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7603,#7004); -#13606=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7603,#7602); -#13607=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7623,#7348); -#13608=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7623,#7092); -#13609=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7623,#7622); -#13610=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7643,#6934); -#13611=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7643,#7327); -#13612=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7643,#7642); -#13613=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7662,#7204); -#13614=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7662,#7264); -#13615=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7662,#7661); -#13616=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7695,#7120); -#13617=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7695,#7285); -#13618=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7695,#7679); -#13619=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7695,#7694); -#13620=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7881,#7390); -#13621=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7881,#7096); -#13622=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7881,#6938); -#13623=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7881,#6908); -#13624=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7881,#6988); -#13625=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7881,#7150); -#13626=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#7881,#7234); -#13627=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7881,#7846); -#13628=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7881,#7864); -#13629=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#7881,#7880); -#13630=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#8013,#7208); -#13631=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#8013,#6904); -#13632=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#8013,#7016); -#13633=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#8013,#7124); -#13634=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#8013,#7369); -#13635=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#8013,#7000); -#13636=SHAPE_ASPECT_RELATIONSHIP('connectivity requirement',$,#8013,#6966); -#13637=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#8013,#7951); -#13638=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#8013,#7967); -#13639=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#8013,#7993); -#13640=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#8013,#8011); -#13641=SHAPE_ASPECT_RELATIONSHIP('network topology',$,#8013,#8012); -#13642=NAME_ATTRIBUTE('',#3194); -#13643=NAME_ATTRIBUTE('',#3243); -#13644=NAME_ATTRIBUTE('',#3296); -#13645=NAME_ATTRIBUTE('',#3341); -#13646=NAME_ATTRIBUTE('',#3401); -#13647=NAME_ATTRIBUTE('',#3867); -#13648=NAME_ATTRIBUTE('',#3896); -#13649=NAME_ATTRIBUTE('',#3981); -#13650=NAME_ATTRIBUTE('',#4066); -#13651=NAME_ATTRIBUTE('',#4109); -#13652=NAME_ATTRIBUTE('',#4149); -#13653=NAME_ATTRIBUTE('',#4240); -#13654=DOCUMENT_TYPE('configuration controlled document definition'); -#13655=DOCUMENT('Electronic interconnect, assembly and packaging design-1-UM-PR-149-E-04', - '',$,#13654); -#13656=DOCUMENT_PRODUCT_EQUIVALENCE('equivalence',$,#13655,#1); -#13657=OBJECT_ROLE('requirement specification',$); -#13658=ROLE_ASSOCIATION(#13657,#65); -#13659=OBJECT_ROLE('reference document',$); -#13660=ROLE_ASSOCIATION(#13659,#68); -#13661=ROLE_ASSOCIATION(#13659,#73); -#13662=ROLE_ASSOCIATION(#13659,#76); -#13663=ROLE_ASSOCIATION(#13657,#573); -#13664=ROLE_ASSOCIATION(#13657,#583); -#13665=ROLE_ASSOCIATION(#13657,#584); -#13666=ROLE_ASSOCIATION(#13657,#624); -#13667=ROLE_ASSOCIATION(#13657,#625); -#13668=DOCUMENT('8.7_1-1-8.7_1','',$,#13654); -#13669=DOCUMENT_PRODUCT_EQUIVALENCE('equivalence',$,#13668,#10); -#13670=ROLE_ASSOCIATION(#13659,#948); -#13671=DOCUMENT('Electronic interconnect, assembly and packaging design-1-Electronic interconnect, assembly and packaging design', - '',$,#13654); -#13672=DOCUMENT_PRODUCT_EQUIVALENCE('equivalence',$,#13671,#6189); -#13673=ROLE_ASSOCIATION(#13657,#6701); -#13674=ROLE_ASSOCIATION(#13657,#6707); -#13675=ROLE_ASSOCIATION(#13659,#6712); -#13676=ROLE_ASSOCIATION(#13657,#6716); -#13677=ROLE_ASSOCIATION(#13659,#6721); -#13678=ROLE_ASSOCIATION(#13657,#6725); -#13679=ROLE_ASSOCIATION(#13659,#6730); -#13680=ROLE_ASSOCIATION(#13657,#6734); -#13681=ROLE_ASSOCIATION(#13659,#6739); -#13682=ROLE_ASSOCIATION(#13657,#6743); -#13683=ROLE_ASSOCIATION(#13659,#6748); -#13684=ROLE_ASSOCIATION(#13657,#6752); -#13685=ROLE_ASSOCIATION(#13659,#6757); -#13686=ROLE_ASSOCIATION(#13657,#6761); -#13687=ROLE_ASSOCIATION(#13659,#6766); -#13688=ROLE_ASSOCIATION(#13657,#6770); -#13689=ROLE_ASSOCIATION(#13659,#6775); -#13690=ROLE_ASSOCIATION(#13657,#6779); -#13691=ROLE_ASSOCIATION(#13659,#6784); -#13692=ROLE_ASSOCIATION(#13657,#6788); -#13693=ROLE_ASSOCIATION(#13659,#6793); -#13694=ROLE_ASSOCIATION(#13657,#6797); -#13695=ROLE_ASSOCIATION(#13657,#6803); -#13696=ROLE_ASSOCIATION(#13659,#6808); -#13697=ROLE_ASSOCIATION(#13657,#6812); -#13698=ROLE_ASSOCIATION(#13659,#6817); -#13699=ROLE_ASSOCIATION(#13657,#6821); -#13700=ROLE_ASSOCIATION(#13659,#6826); -#13701=ROLE_ASSOCIATION(#13657,#6830); -#13702=ROLE_ASSOCIATION(#13659,#6835); -#13703=ROLE_ASSOCIATION(#13657,#6839); -#13704=ROLE_ASSOCIATION(#13659,#6844); -#13705=ROLE_ASSOCIATION(#13657,#6848); -#13706=ROLE_ASSOCIATION(#13659,#6853); -#13707=ROLE_ASSOCIATION(#13657,#6857); -#13708=ROLE_ASSOCIATION(#13659,#6862); -#13709=ROLE_ASSOCIATION(#13657,#6866); -#13710=ROLE_ASSOCIATION(#13659,#6871); -#13711=ROLE_ASSOCIATION(#13657,#6875); -#13712=ROLE_ASSOCIATION(#13659,#6880); -#13713=ROLE_ASSOCIATION(#13657,#6884); -#13714=ROLE_ASSOCIATION(#13659,#6889); -#13715=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#803,#912); -#13716=PROPERTY_DEFINITION_RELATIONSHIP('definition','',#803,#6484); -#13717=SHAPE_ASPECT('',$,#914,.U.); -#13718=SHAPE_ASPECT('',$,#910,.U.); -#13719=SHAPE_ASPECT('',$,#960,.U.); -#13720=SHAPE_ASPECT('',$,#6452,.U.); -#13721=PROPERTY_DEFINITION('','',#8014); -#13722=REPRESENTATION('',(#8628),#8399); -#13723=PROPERTY_DEFINITION_REPRESENTATION(#13721,#13722); -#13724=PROPERTY_DEFINITION('','',#8015); -#13725=REPRESENTATION('',(#8628),#8399); -#13726=PROPERTY_DEFINITION_REPRESENTATION(#13724,#13725); -#13727=PROPERTY_DEFINITION('','',#8016); -#13728=REPRESENTATION('',(#8628),#8399); -#13729=PROPERTY_DEFINITION_REPRESENTATION(#13727,#13728); -#13730=PROPERTY_DEFINITION('','',#8017); -#13731=REPRESENTATION('',(#8628),#8399); -#13732=PROPERTY_DEFINITION_REPRESENTATION(#13730,#13731); -#13733=PROPERTY_DEFINITION('','',#8018); -#13734=REPRESENTATION('',(#8628),#8399); -#13735=PROPERTY_DEFINITION_REPRESENTATION(#13733,#13734); -#13736=PROPERTY_DEFINITION('','',#8019); -#13737=REPRESENTATION('',(#8628),#8399); -#13738=PROPERTY_DEFINITION_REPRESENTATION(#13736,#13737); -#13739=PROPERTY_DEFINITION('','',#8020); -#13740=REPRESENTATION('',(#8628),#8399); -#13741=PROPERTY_DEFINITION_REPRESENTATION(#13739,#13740); -#13742=PROPERTY_DEFINITION('','',#8021); -#13743=REPRESENTATION('',(#8628),#8399); -#13744=PROPERTY_DEFINITION_REPRESENTATION(#13742,#13743); -#13745=PROPERTY_DEFINITION('','',#8022); -#13746=REPRESENTATION('',(#8628),#8399); -#13747=PROPERTY_DEFINITION_REPRESENTATION(#13745,#13746); -#13748=PROPERTY_DEFINITION('','',#8023); -#13749=REPRESENTATION('',(#8628),#8399); -#13750=PROPERTY_DEFINITION_REPRESENTATION(#13748,#13749); -#13751=PROPERTY_DEFINITION('','',#8024); -#13752=REPRESENTATION('',(#8628),#8399); -#13753=PROPERTY_DEFINITION_REPRESENTATION(#13751,#13752); -#13754=PROPERTY_DEFINITION('','',#8025); -#13755=REPRESENTATION('',(#8628),#8399); -#13756=PROPERTY_DEFINITION_REPRESENTATION(#13754,#13755); -#13757=PROPERTY_DEFINITION('','',#8026); -#13758=REPRESENTATION('',(#8628),#8399); -#13759=PROPERTY_DEFINITION_REPRESENTATION(#13757,#13758); -#13760=PROPERTY_DEFINITION('','',#8027); -#13761=REPRESENTATION('',(#8628),#8399); -#13762=PROPERTY_DEFINITION_REPRESENTATION(#13760,#13761); -#13763=PROPERTY_DEFINITION('','',#8028); -#13764=REPRESENTATION('',(#8628),#8399); -#13765=PROPERTY_DEFINITION_REPRESENTATION(#13763,#13764); -#13766=PROPERTY_DEFINITION('','',#8029); -#13767=REPRESENTATION('',(#8628),#8399); -#13768=PROPERTY_DEFINITION_REPRESENTATION(#13766,#13767); -#13770=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3470,#8382,#8334); -#13771=ID_ATTRIBUTE('1',#3470); -#13773=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3497,#8382,#8334); -#13774=ID_ATTRIBUTE('1',#3497); -#13776=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3522,#8382,#8334); -#13777=ID_ATTRIBUTE('1',#3522); -#13779=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3547,#8382,#8334); -#13780=ID_ATTRIBUTE('1',#3547); -#13782=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3572,#8382,#8334); -#13783=ID_ATTRIBUTE('1',#3572); -#13785=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3597,#8382,#8334); -#13786=ID_ATTRIBUTE('1',#3597); -#13788=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3622,#8382,#8334); -#13789=ID_ATTRIBUTE('1',#3622); -#13791=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3647,#8382,#8334); -#13792=ID_ATTRIBUTE('1',#3647); -#13794=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3677,#8382,#8334); -#13795=ID_ATTRIBUTE('1',#3677); -#13797=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3700,#8382,#8334); -#13798=ID_ATTRIBUTE('1',#3700); -#13800=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3723,#8382,#8334); -#13801=ID_ATTRIBUTE('1',#3723); -#13803=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3746,#8382,#8334); -#13804=ID_ATTRIBUTE('1',#3746); -#13806=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3769,#8382,#8334); -#13807=ID_ATTRIBUTE('1',#3769); -#13809=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3792,#8382,#8334); -#13810=ID_ATTRIBUTE('1',#3792); -#13812=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3815,#8382,#8334); -#13813=ID_ATTRIBUTE('1',#3815); -#13815=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3837,#8382,#8334); -#13816=ID_ATTRIBUTE('1',#3837); -#13818=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#5179,#8382,#8334); -#13819=ID_ATTRIBUTE('1',#5179); -#13820=PROPERTY_DEFINITION('',$,#3473); -#13821=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11560,#13820); -#13822=PROPERTY_DEFINITION('',$,#3463); -#13823=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13822,#13820); -#13824=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3473); -#13825=PROPERTY_DEFINITION('',$,#3477); -#13826=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11560,#13825); -#13827=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13822,#13825); -#13828=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3477); -#13829=PROPERTY_DEFINITION('',$,#3500); -#13830=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11556,#13829); -#13831=PROPERTY_DEFINITION('',$,#3490); -#13832=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13831,#13829); -#13833=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3500); -#13834=PROPERTY_DEFINITION('',$,#3504); -#13835=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11556,#13834); -#13836=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13831,#13834); -#13837=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3504); -#13838=PROPERTY_DEFINITION('',$,#3525); -#13839=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11554,#13838); -#13840=PROPERTY_DEFINITION('',$,#3515); -#13841=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13840,#13838); -#13842=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3525); -#13843=PROPERTY_DEFINITION('',$,#3529); -#13844=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11554,#13843); -#13845=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13840,#13843); -#13846=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3529); -#13847=PROPERTY_DEFINITION('',$,#3550); -#13848=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11550,#13847); -#13849=PROPERTY_DEFINITION('',$,#3540); -#13850=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13849,#13847); -#13851=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3550); -#13852=PROPERTY_DEFINITION('',$,#3554); -#13853=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11550,#13852); -#13854=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13849,#13852); -#13855=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3554); -#13856=PROPERTY_DEFINITION('',$,#3575); -#13857=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11548,#13856); -#13858=PROPERTY_DEFINITION('',$,#3565); -#13859=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13858,#13856); -#13860=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3575); -#13861=PROPERTY_DEFINITION('',$,#3579); -#13862=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11548,#13861); -#13863=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13858,#13861); -#13864=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3579); -#13865=PROPERTY_DEFINITION('',$,#3600); -#13866=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11552,#13865); -#13867=PROPERTY_DEFINITION('',$,#3590); -#13868=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13867,#13865); -#13869=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3600); -#13870=PROPERTY_DEFINITION('',$,#3604); -#13871=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11552,#13870); -#13872=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13867,#13870); -#13873=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3604); -#13874=PROPERTY_DEFINITION('',$,#3625); -#13875=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11546,#13874); -#13876=PROPERTY_DEFINITION('',$,#3615); -#13877=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13876,#13874); -#13878=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3625); -#13879=PROPERTY_DEFINITION('',$,#3629); -#13880=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11546,#13879); -#13881=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13876,#13879); -#13882=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3629); -#13883=PROPERTY_DEFINITION('',$,#3650); -#13884=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11558,#13883); -#13885=PROPERTY_DEFINITION('',$,#3640); -#13886=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13885,#13883); -#13887=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3650); -#13888=PROPERTY_DEFINITION('',$,#3654); -#13889=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11558,#13888); -#13890=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13885,#13888); -#13891=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3654); -#13892=PROPERTY_DEFINITION('',$,#3680); -#13893=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11554,#13892); -#13894=PROPERTY_DEFINITION('',$,#3670); -#13895=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13894,#13892); -#13896=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3680); -#13897=PROPERTY_DEFINITION('',$,#3684); -#13898=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11554,#13897); -#13899=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13894,#13897); -#13900=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3684); -#13901=PROPERTY_DEFINITION('',$,#3703); -#13902=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11556,#13901); -#13903=PROPERTY_DEFINITION('',$,#3693); -#13904=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13903,#13901); -#13905=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3703); -#13906=PROPERTY_DEFINITION('',$,#3707); -#13907=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11556,#13906); -#13908=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13903,#13906); -#13909=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3707); -#13910=PROPERTY_DEFINITION('',$,#3726); -#13911=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11560,#13910); -#13912=PROPERTY_DEFINITION('',$,#3716); -#13913=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13912,#13910); -#13914=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3726); -#13915=PROPERTY_DEFINITION('',$,#3730); -#13916=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11560,#13915); -#13917=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13912,#13915); -#13918=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3730); -#13919=PROPERTY_DEFINITION('',$,#3749); -#13920=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11552,#13919); -#13921=PROPERTY_DEFINITION('',$,#3739); -#13922=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13921,#13919); -#13923=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3749); -#13924=PROPERTY_DEFINITION('',$,#3753); -#13925=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11552,#13924); -#13926=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13921,#13924); -#13927=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3753); -#13928=PROPERTY_DEFINITION('',$,#3772); -#13929=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11548,#13928); -#13930=PROPERTY_DEFINITION('',$,#3762); -#13931=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13930,#13928); -#13932=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3772); -#13933=PROPERTY_DEFINITION('',$,#3776); -#13934=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11548,#13933); -#13935=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13930,#13933); -#13936=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3776); -#13937=PROPERTY_DEFINITION('',$,#3795); -#13938=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11546,#13937); -#13939=PROPERTY_DEFINITION('',$,#3785); -#13940=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13939,#13937); -#13941=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3795); -#13942=PROPERTY_DEFINITION('',$,#3799); -#13943=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11546,#13942); -#13944=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13939,#13942); -#13945=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3799); -#13946=PROPERTY_DEFINITION('',$,#3818); -#13947=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11550,#13946); -#13948=PROPERTY_DEFINITION('',$,#3808); -#13949=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13948,#13946); -#13950=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3818); -#13951=PROPERTY_DEFINITION('',$,#3822); -#13952=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11550,#13951); -#13953=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13948,#13951); -#13954=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3822); -#13955=PROPERTY_DEFINITION('',$,#3840); -#13956=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11558,#13955); -#13957=PROPERTY_DEFINITION('',$,#3830); -#13958=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13957,#13955); -#13959=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3840); -#13960=PROPERTY_DEFINITION('',$,#3844); -#13961=PROPERTY_DEFINITION_RELATIONSHIP('original padstack','',#11558,#13960); -#13962=PROPERTY_DEFINITION_RELATIONSHIP('breakout padstack','',#13957,#13960); -#13963=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3844); -#13964=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#1046); -#13965=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#1050); -#13966=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#1054); -#13967=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#1058); -#13968=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#1062); -#13969=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#1066); -#13970=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#1070); -#13971=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#1082); -#13972=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#1086); -#13973=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#1099); -#13974=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#1103); -#13975=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#1107); -#13976=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#1111); -#13977=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#1115); -#13978=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#1119); -#13979=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#1123); -#13980=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#1127); -#13981=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#1131); -#13982=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#1135); -#13983=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#1139); -#13984=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#1143); -#13985=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#1178); -#13986=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#1182); -#13987=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#1186); -#13988=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#1190); -#13989=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#1194); -#13990=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#1198); -#13991=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#1202); -#13992=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#1214); -#13993=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#1218); -#13994=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#1231); -#13995=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#1235); -#13996=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#1239); -#13997=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#1243); -#13998=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#1247); -#13999=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#1251); -#14000=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#1255); -#14001=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#1259); -#14002=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#1263); -#14003=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#1267); -#14004=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#1271); -#14005=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#1275); -#14006=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#1292); -#14007=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#1307); -#14008=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#1324); -#14009=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#1344); -#14010=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#1359); -#14011=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#1376); -#14012=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#1414); -#14013=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#1418); -#14014=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#1422); -#14015=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#1426); -#14016=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#1430); -#14017=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#1434); -#14018=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#1438); -#14019=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#1450); -#14020=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#1454); -#14021=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#1467); -#14022=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#1471); -#14023=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#1475); -#14024=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#1479); -#14025=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#1483); -#14026=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#1487); -#14027=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#1491); -#14028=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#1495); -#14029=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#1499); -#14030=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#1503); -#14031=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#1507); -#14032=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#1511); -#14033=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#1542); -#14034=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#1557); -#14035=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#1572); -#14036=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#1576); -#14037=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#1580); -#14038=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#1584); -#14039=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#1588); -#14040=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#1592); -#14041=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#1596); -#14042=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#1609); -#14043=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#1613); -#14044=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#1617); -#14045=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#1621); -#14046=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#1625); -#14047=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#1629); -#14048=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#1633); -#14049=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#1637); -#14050=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#1641); -#14051=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#1645); -#14052=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#1649); -#14053=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#1653); -#14054=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#1688); -#14055=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#1700); -#14056=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#1712); -#14057=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#1716); -#14058=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#1720); -#14059=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#1724); -#14060=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#1728); -#14061=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#1732); -#14062=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#1736); -#14063=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#1749); -#14064=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#1753); -#14065=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#1757); -#14066=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#1761); -#14067=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#1765); -#14068=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#1769); -#14069=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#1773); -#14070=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#1777); -#14071=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#1781); -#14072=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#1785); -#14073=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#1789); -#14074=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#1793); -#14075=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#1828); -#14076=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#1840); -#14077=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#1852); -#14078=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#1856); -#14079=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#1860); -#14080=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#1864); -#14081=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#1868); -#14082=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#1872); -#14083=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#1876); -#14084=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#1889); -#14085=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#1893); -#14086=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#1897); -#14087=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#1901); -#14088=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#1905); -#14089=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#1909); -#14090=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#1913); -#14091=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#1917); -#14092=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#1921); -#14093=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#1925); -#14094=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#1929); -#14095=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#1933); -#14096=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#1964); -#14097=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#1968); -#14098=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#1972); -#14099=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#1976); -#14100=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#1980); -#14101=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#1984); -#14102=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#1988); -#14103=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#2000); -#14104=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#2004); -#14105=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#2017); -#14106=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#2021); -#14107=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#2025); -#14108=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#2029); -#14109=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#2033); -#14110=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#2037); -#14111=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#2041); -#14112=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#2045); -#14113=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#2049); -#14114=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#2053); -#14115=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#2057); -#14116=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#2061); -#14117=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#2092); -#14118=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#2107); -#14119=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#2122); -#14120=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#2126); -#14121=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#2130); -#14122=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#2134); -#14123=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#2138); -#14124=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#2142); -#14125=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#2146); -#14126=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#2159); -#14127=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#2163); -#14128=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#2167); -#14129=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#2171); -#14130=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#2175); -#14131=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#2179); -#14132=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#2183); -#14133=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#2187); -#14134=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#2191); -#14135=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#2195); -#14136=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#2199); -#14137=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#2203); -#14138=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#2234); -#14139=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#2249); -#14140=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#2264); -#14141=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#2268); -#14142=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#2272); -#14143=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#2276); -#14144=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#2280); -#14145=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#2284); -#14146=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#2288); -#14147=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#2301); -#14148=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#2305); -#14149=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#2309); -#14150=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#2313); -#14151=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#2317); -#14152=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#2321); -#14153=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#2325); -#14154=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#2329); -#14155=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#2333); -#14156=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#2337); -#14157=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#2341); -#14158=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#2345); -#14159=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#2376); -#14160=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#2391); -#14161=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#2406); -#14162=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#2410); -#14163=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#2414); -#14164=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#2418); -#14165=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#2422); -#14166=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#2426); -#14167=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#2430); -#14168=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#2443); -#14169=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#2447); -#14170=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#2451); -#14171=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#2455); -#14172=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#2459); -#14173=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#2463); -#14174=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#2467); -#14175=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#2471); -#14176=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#2475); -#14177=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#2479); -#14178=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#2483); -#14179=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#2487); -#14180=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#2506); -#14181=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#2521); -#14182=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#2536); -#14183=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#2558); -#14184=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#2570); -#14185=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#2582); -#14186=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#2604); -#14187=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#2619); -#14188=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#2634); -#14189=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#2656); -#14190=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#2668); -#14191=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#2680); -#14192=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#2700); -#14193=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#2715); -#14194=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#2732); -#14195=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#2770); -#14196=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#2782); -#14197=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#2794); -#14198=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#2798); -#14199=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#2802); -#14200=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#2806); -#14201=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#2810); -#14202=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#2814); -#14203=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#2818); -#14204=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#2831); -#14205=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#2835); -#14206=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#2839); -#14207=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#2843); -#14208=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#2847); -#14209=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#2851); -#14210=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#2855); -#14211=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#2859); -#14212=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#2863); -#14213=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#2867); -#14214=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#2871); -#14215=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#2875); -#14216=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#2912); -#14217=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#2924); -#14218=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#2936); -#14219=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#2940); -#14220=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#2944); -#14221=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#2948); -#14222=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#2952); -#14223=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#2956); -#14224=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#2960); -#14225=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#2973); -#14226=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#2977); -#14227=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#2981); -#14228=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#2985); -#14229=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#2989); -#14230=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#2993); -#14231=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#2997); -#14232=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#3001); -#14233=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#3005); -#14234=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#3009); -#14235=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#3013); -#14236=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3017); -#14237=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#3054); -#14238=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#3066); -#14239=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#3078); -#14240=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#3082); -#14241=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#834,#3086); -#14242=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#836,#3090); -#14243=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#838,#3094); -#14244=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#840,#3098); -#14245=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#842,#3102); -#14246=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#3115); -#14247=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#3119); -#14248=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#3123); -#14249=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#3127); -#14250=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#3131); -#14251=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#3135); -#14252=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#3139); -#14253=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#3143); -#14254=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#3147); -#14255=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#3151); -#14256=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#3155); -#14257=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#3159); -#14258=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#3365); -#14259=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#3387); -#14260=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#4347); -#14261=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#4349); -#14262=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#4359); -#14263=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#4361); -#14264=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4387); -#14265=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4397); -#14266=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#4407); -#14267=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#4409); -#14268=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#4419); -#14269=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#4421); -#14270=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#4437); -#14271=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#4439); -#14272=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#4456); -#14273=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#4458); -#14274=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#4472); -#14275=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#4474); -#14276=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4491); -#14277=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4502); -#14278=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4511); -#14279=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4520); -#14280=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4529); -#14281=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4538); -#14282=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4547); -#14283=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4556); -#14284=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4565); -#14285=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4574); -#14286=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4583); -#14287=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4592); -#14288=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4601); -#14289=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4610); -#14290=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4620); -#14291=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4630); -#14292=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#4640); -#14293=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4652); -#14294=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4659); -#14295=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4669); -#14296=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4679); -#14297=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4689); -#14298=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4696); -#14299=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4703); -#14300=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4710); -#14301=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4717); -#14302=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4724); -#14303=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4731); -#14304=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4738); -#14305=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4745); -#14306=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4752); -#14307=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4759); -#14308=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4766); -#14309=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#4773); -#14310=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4783); -#14311=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4790); -#14312=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4797); -#14313=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4804); -#14314=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4811); -#14315=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4818); -#14316=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4825); -#14317=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4832); -#14318=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4839); -#14319=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4846); -#14320=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4856); -#14321=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4866); -#14322=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#4876); -#14323=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4886); -#14324=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4893); -#14325=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4903); -#14326=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4913); -#14327=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4923); -#14328=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4930); -#14329=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4937); -#14330=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4944); -#14331=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4951); -#14332=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4958); -#14333=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4965); -#14334=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4972); -#14335=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4979); -#14336=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4986); -#14337=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#4993); -#14338=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#5000); -#14339=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#5007); -#14340=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5017); -#14341=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5019); -#14342=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5026); -#14343=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5028); -#14344=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5035); -#14345=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5037); -#14346=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5044); -#14347=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5046); -#14348=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5053); -#14349=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5055); -#14350=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5062); -#14351=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5064); -#14352=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5071); -#14353=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5073); -#14354=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5080); -#14355=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5082); -#14356=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5089); -#14357=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5091); -#14358=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5098); -#14359=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5100); -#14360=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5107); -#14361=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5109); -#14362=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5116); -#14363=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5118); -#14364=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5125); -#14365=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5127); -#14366=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5134); -#14367=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5136); -#14368=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5146); -#14369=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5148); -#14370=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5158); -#14371=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5160); -#14372=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5170); -#14373=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5172); -#14374=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5182); -#14375=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5184); -#14376=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5186); -#14377=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5188); -#14378=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5190); -#14379=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5192); -#14380=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5194); -#14381=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5196); -#14382=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5198); -#14383=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5200); -#14384=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5202); -#14385=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5204); -#14386=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5211); -#14387=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5213); -#14388=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5215); -#14389=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5217); -#14390=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5219); -#14391=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5221); -#14392=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5223); -#14393=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5225); -#14394=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5227); -#14395=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5229); -#14396=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5231); -#14397=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5233); -#14398=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5243); -#14399=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5245); -#14400=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5247); -#14401=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5249); -#14402=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5251); -#14403=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5253); -#14404=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5255); -#14405=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5257); -#14406=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5259); -#14407=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5261); -#14408=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5263); -#14409=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5265); -#14410=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5275); -#14411=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5277); -#14412=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5279); -#14413=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5281); -#14414=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5283); -#14415=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5285); -#14416=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5287); -#14417=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5289); -#14418=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5291); -#14419=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5293); -#14420=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5295); -#14421=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5297); -#14422=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5307); -#14423=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5309); -#14424=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5311); -#14425=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5313); -#14426=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5315); -#14427=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5317); -#14428=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5319); -#14429=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5321); -#14430=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5323); -#14431=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5325); -#14432=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5327); -#14433=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5329); -#14434=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5336); -#14435=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5338); -#14436=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5340); -#14437=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5342); -#14438=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5344); -#14439=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5346); -#14440=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5348); -#14441=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5350); -#14442=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5352); -#14443=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5354); -#14444=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5356); -#14445=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5358); -#14446=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5365); -#14447=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5367); -#14448=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5369); -#14449=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5371); -#14450=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5373); -#14451=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5375); -#14452=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5377); -#14453=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5379); -#14454=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5381); -#14455=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5383); -#14456=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5385); -#14457=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5387); -#14458=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5394); -#14459=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5396); -#14460=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5398); -#14461=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5400); -#14462=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5402); -#14463=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5404); -#14464=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5406); -#14465=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5408); -#14466=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5410); -#14467=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5412); -#14468=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5414); -#14469=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5416); -#14470=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5423); -#14471=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5425); -#14472=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5427); -#14473=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5429); -#14474=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5431); -#14475=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5433); -#14476=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5435); -#14477=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5437); -#14478=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5439); -#14479=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5441); -#14480=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5443); -#14481=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5445); -#14482=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5452); -#14483=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5454); -#14484=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5456); -#14485=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5458); -#14486=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5460); -#14487=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5462); -#14488=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5464); -#14489=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5466); -#14490=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5468); -#14491=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5470); -#14492=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5472); -#14493=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5474); -#14494=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5481); -#14495=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5483); -#14496=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5485); -#14497=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5487); -#14498=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5489); -#14499=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5491); -#14500=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5493); -#14501=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5495); -#14502=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5497); -#14503=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5499); -#14504=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5501); -#14505=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5503); -#14506=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5510); -#14507=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5512); -#14508=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5514); -#14509=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5516); -#14510=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5518); -#14511=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5520); -#14512=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5522); -#14513=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5524); -#14514=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5526); -#14515=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5528); -#14516=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5530); -#14517=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5532); -#14518=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5539); -#14519=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5541); -#14520=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5543); -#14521=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5545); -#14522=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5547); -#14523=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5549); -#14524=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5551); -#14525=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5553); -#14526=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5555); -#14527=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5557); -#14528=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5559); -#14529=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5561); -#14530=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5568); -#14531=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5570); -#14532=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5572); -#14533=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5574); -#14534=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5576); -#14535=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5578); -#14536=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5580); -#14537=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5582); -#14538=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5584); -#14539=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5586); -#14540=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5588); -#14541=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5590); -#14542=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5597); -#14543=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5599); -#14544=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5601); -#14545=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5603); -#14546=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5605); -#14547=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5607); -#14548=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5609); -#14549=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5611); -#14550=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5613); -#14551=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5615); -#14552=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5617); -#14553=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5619); -#14554=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5626); -#14555=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5628); -#14556=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5630); -#14557=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5632); -#14558=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5634); -#14559=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5636); -#14560=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5638); -#14561=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5640); -#14562=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5642); -#14563=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5644); -#14564=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5646); -#14565=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5648); -#14566=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5655); -#14567=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5657); -#14568=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5659); -#14569=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5661); -#14570=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5663); -#14571=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5665); -#14572=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5667); -#14573=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5669); -#14574=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5671); -#14575=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5673); -#14576=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5675); -#14577=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5677); -#14578=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#5684); -#14579=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#5693); -#14580=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#5702); -#14581=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#5711); -#14582=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#780,#5720); -#14583=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#5730); -#14584=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#5740); -#14585=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#5747); -#14586=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#5754); -#14587=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#779,#5761); -#14588=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#5768); -#14589=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#5775); -#14590=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#5782); -#14591=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#5789); -#14592=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#772,#5796); -#14593=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#5806); -#14594=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#5816); -#14595=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#5823); -#14596=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#5830); -#14597=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#771,#5837); -#14598=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5844); -#14599=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5846); -#14600=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5853); -#14601=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5855); -#14602=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5862); -#14603=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5864); -#14604=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5871); -#14605=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5873); -#14606=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#830,#5880); -#14607=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#832,#5882); -#14608=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5892); -#14609=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5894); -#14610=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5896); -#14611=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5898); -#14612=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5900); -#14613=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5902); -#14614=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5904); -#14615=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5906); -#14616=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5908); -#14617=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5910); -#14618=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5912); -#14619=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5914); -#14620=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5924); -#14621=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5926); -#14622=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5928); -#14623=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5930); -#14624=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5932); -#14625=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5934); -#14626=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5936); -#14627=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5938); -#14628=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5940); -#14629=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5942); -#14630=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5944); -#14631=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5946); -#14632=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5953); -#14633=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5955); -#14634=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5957); -#14635=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5959); -#14636=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5961); -#14637=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5963); -#14638=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5965); -#14639=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5967); -#14640=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5969); -#14641=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#5971); -#14642=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#5973); -#14643=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#5975); -#14644=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#5982); -#14645=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#5984); -#14646=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#5986); -#14647=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#5988); -#14648=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#5990); -#14649=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#5992); -#14650=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#5994); -#14651=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#5996); -#14652=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#5998); -#14653=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#6000); -#14654=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#6002); -#14655=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#6004); -#14656=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#802,#6011); -#14657=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#804,#6013); -#14658=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#806,#6015); -#14659=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#808,#6017); -#14660=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#810,#6019); -#14661=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#812,#6021); -#14662=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#814,#6023); -#14663=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#816,#6025); -#14664=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#818,#6027); -#14665=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#820,#6029); -#14666=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#822,#6031); -#14667=PROPERTY_DEFINITION_RELATIONSHIP('bound stratum','',#824,#6033); -#14668=PROPERTY_DEFINITION('stratum thickness',$,#782); -#14669=PROPERTY_DEFINITION_REPRESENTATION(#14668,#783); -#14670=PROPERTY_DEFINITION('layer position','internal',#782); -#14671=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1017); -#14672=SHAPE_DEFINITION_REPRESENTATION(#1016,#1017); -#14673=REPRESENTATION_RELATIONSHIP('',$,#1017,#8398); -#14674=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1153); -#14675=SHAPE_DEFINITION_REPRESENTATION(#1152,#1153); -#14676=REPRESENTATION_RELATIONSHIP('',$,#1153,#8398); -#14677=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1285); -#14678=SHAPE_DEFINITION_REPRESENTATION(#1284,#1285); -#14679=REPRESENTATION_RELATIONSHIP('',$,#1285,#8398); -#14680=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1337); -#14681=SHAPE_DEFINITION_REPRESENTATION(#1336,#1337); -#14682=REPRESENTATION_RELATIONSHIP('',$,#1337,#8398); -#14683=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1389); -#14684=SHAPE_DEFINITION_REPRESENTATION(#1388,#1389); -#14685=REPRESENTATION_RELATIONSHIP('',$,#1389,#8398); -#14686=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1521); -#14687=SHAPE_DEFINITION_REPRESENTATION(#1520,#1521); -#14688=REPRESENTATION_RELATIONSHIP('',$,#1521,#8398); -#14689=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1663); -#14690=SHAPE_DEFINITION_REPRESENTATION(#1662,#1663); -#14691=REPRESENTATION_RELATIONSHIP('',$,#1663,#8398); -#14692=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1803); -#14693=SHAPE_DEFINITION_REPRESENTATION(#1802,#1803); -#14694=REPRESENTATION_RELATIONSHIP('',$,#1803,#8398); -#14695=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#1943); -#14696=SHAPE_DEFINITION_REPRESENTATION(#1942,#1943); -#14697=REPRESENTATION_RELATIONSHIP('',$,#1943,#8398); -#14698=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2071); -#14699=SHAPE_DEFINITION_REPRESENTATION(#2070,#2071); -#14700=REPRESENTATION_RELATIONSHIP('',$,#2071,#8398); -#14701=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2213); -#14702=SHAPE_DEFINITION_REPRESENTATION(#2212,#2213); -#14703=REPRESENTATION_RELATIONSHIP('',$,#2213,#8398); -#14704=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2355); -#14705=SHAPE_DEFINITION_REPRESENTATION(#2354,#2355); -#14706=REPRESENTATION_RELATIONSHIP('',$,#2355,#8398); -#14707=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2497); -#14708=SHAPE_DEFINITION_REPRESENTATION(#2496,#2497); -#14709=REPRESENTATION_RELATIONSHIP('',$,#2497,#8398); -#14710=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2549); -#14711=SHAPE_DEFINITION_REPRESENTATION(#2548,#2549); -#14712=REPRESENTATION_RELATIONSHIP('',$,#2549,#8398); -#14713=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2595); -#14714=SHAPE_DEFINITION_REPRESENTATION(#2594,#2595); -#14715=REPRESENTATION_RELATIONSHIP('',$,#2595,#8398); -#14716=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2647); -#14717=SHAPE_DEFINITION_REPRESENTATION(#2646,#2647); -#14718=REPRESENTATION_RELATIONSHIP('',$,#2647,#8398); -#14719=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2693); -#14720=SHAPE_DEFINITION_REPRESENTATION(#2692,#2693); -#14721=REPRESENTATION_RELATIONSHIP('',$,#2693,#8398); -#14722=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2759); -#14723=SHAPE_DEFINITION_REPRESENTATION(#2758,#2759); -#14724=REPRESENTATION_RELATIONSHIP('',$,#2759,#8398); -#14725=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#2901); -#14726=SHAPE_DEFINITION_REPRESENTATION(#2900,#2901); -#14727=REPRESENTATION_RELATIONSHIP('',$,#2901,#8398); -#14728=DESCRIPTION_ATTRIBUTE('structured template planar shape model',#3043); -#14729=SHAPE_DEFINITION_REPRESENTATION(#3042,#3043); -#14730=REPRESENTATION_RELATIONSHIP('',$,#3043,#8398); -#14731=PRODUCT_CONTEXT('template model',#8333,''); -#14732=REPRESENTATION_MAP(#26,#1032); -#14733=PRODUCT_DEFINITION_SHAPE('',$,#1037); -#14734=SHAPE_DEFINITION_REPRESENTATION(#14733,#14735); -#14735=SHAPE_REPRESENTATION('',(#1038),#14736); -#14736=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#14737=REPRESENTATION_MAP(#26,#1044); -#14738=PRODUCT_DEFINITION_SHAPE('',$,#1046); -#14739=SHAPE_DEFINITION_REPRESENTATION(#14738,#14740); -#14740=SHAPE_REPRESENTATION('',(#1047),#14736); -#14741=PRODUCT_DEFINITION_SHAPE('',$,#1050); -#14742=SHAPE_DEFINITION_REPRESENTATION(#14741,#14743); -#14743=SHAPE_REPRESENTATION('',(#1051),#14736); -#14744=PRODUCT_DEFINITION_SHAPE('',$,#1054); -#14745=SHAPE_DEFINITION_REPRESENTATION(#14744,#14746); -#14746=SHAPE_REPRESENTATION('',(#1055),#14736); -#14747=PRODUCT_DEFINITION_SHAPE('',$,#1058); -#14748=SHAPE_DEFINITION_REPRESENTATION(#14747,#14749); -#14749=SHAPE_REPRESENTATION('',(#1059),#14736); -#14750=PRODUCT_DEFINITION_SHAPE('',$,#1062); -#14751=SHAPE_DEFINITION_REPRESENTATION(#14750,#14752); -#14752=SHAPE_REPRESENTATION('',(#1063),#14736); -#14753=PRODUCT_DEFINITION_SHAPE('',$,#1066); -#14754=SHAPE_DEFINITION_REPRESENTATION(#14753,#14755); -#14755=SHAPE_REPRESENTATION('',(#1067),#14736); -#14756=PRODUCT_DEFINITION_SHAPE('',$,#1070); -#14757=SHAPE_DEFINITION_REPRESENTATION(#14756,#14758); -#14758=SHAPE_REPRESENTATION('',(#1071),#14736); -#14759=REPRESENTATION_MAP(#26,#1080); -#14760=PRODUCT_DEFINITION_SHAPE('',$,#1082); -#14761=SHAPE_DEFINITION_REPRESENTATION(#14760,#14762); -#14762=SHAPE_REPRESENTATION('',(#1083),#14736); -#14763=PRODUCT_DEFINITION_SHAPE('',$,#1086); -#14764=SHAPE_DEFINITION_REPRESENTATION(#14763,#14765); -#14765=SHAPE_REPRESENTATION('',(#1087),#14736); -#14766=REPRESENTATION_MAP(#26,#1096); -#14767=PRODUCT_DEFINITION_SHAPE('',$,#1099); -#14768=SHAPE_DEFINITION_REPRESENTATION(#14767,#14769); -#14769=SHAPE_REPRESENTATION('',(#1100),#14736); -#14770=PRODUCT_DEFINITION_SHAPE('',$,#1103); -#14771=SHAPE_DEFINITION_REPRESENTATION(#14770,#14772); -#14772=SHAPE_REPRESENTATION('',(#1104),#14736); -#14773=PRODUCT_DEFINITION_SHAPE('',$,#1107); -#14774=SHAPE_DEFINITION_REPRESENTATION(#14773,#14775); -#14775=SHAPE_REPRESENTATION('',(#1108),#14736); -#14776=PRODUCT_DEFINITION_SHAPE('',$,#1111); -#14777=SHAPE_DEFINITION_REPRESENTATION(#14776,#14778); -#14778=SHAPE_REPRESENTATION('',(#1112),#14736); -#14779=PRODUCT_DEFINITION_SHAPE('',$,#1115); -#14780=SHAPE_DEFINITION_REPRESENTATION(#14779,#14781); -#14781=SHAPE_REPRESENTATION('',(#1116),#14736); -#14782=PRODUCT_DEFINITION_SHAPE('',$,#1119); -#14783=SHAPE_DEFINITION_REPRESENTATION(#14782,#14784); -#14784=SHAPE_REPRESENTATION('',(#1120),#14736); -#14785=PRODUCT_DEFINITION_SHAPE('',$,#1123); -#14786=SHAPE_DEFINITION_REPRESENTATION(#14785,#14787); -#14787=SHAPE_REPRESENTATION('',(#1124),#14736); -#14788=PRODUCT_DEFINITION_SHAPE('',$,#1127); -#14789=SHAPE_DEFINITION_REPRESENTATION(#14788,#14790); -#14790=SHAPE_REPRESENTATION('',(#1128),#14736); -#14791=PRODUCT_DEFINITION_SHAPE('',$,#1131); -#14792=SHAPE_DEFINITION_REPRESENTATION(#14791,#14793); -#14793=SHAPE_REPRESENTATION('',(#1132),#14736); -#14794=PRODUCT_DEFINITION_SHAPE('',$,#1135); -#14795=SHAPE_DEFINITION_REPRESENTATION(#14794,#14796); -#14796=SHAPE_REPRESENTATION('',(#1136),#14736); -#14797=PRODUCT_DEFINITION_SHAPE('',$,#1139); -#14798=SHAPE_DEFINITION_REPRESENTATION(#14797,#14799); -#14799=SHAPE_REPRESENTATION('',(#1140),#14736); -#14800=PRODUCT_DEFINITION_SHAPE('',$,#1143); -#14801=SHAPE_DEFINITION_REPRESENTATION(#14800,#14802); -#14802=SHAPE_REPRESENTATION('',(#1144),#14736); -#14803=REPRESENTATION_MAP(#26,#1164); -#14804=PRODUCT_DEFINITION_SHAPE('',$,#1169); -#14805=SHAPE_DEFINITION_REPRESENTATION(#14804,#14806); -#14806=SHAPE_REPRESENTATION('',(#1170),#14736); -#14807=REPRESENTATION_MAP(#26,#1176); -#14808=PRODUCT_DEFINITION_SHAPE('',$,#1178); -#14809=SHAPE_DEFINITION_REPRESENTATION(#14808,#14810); -#14810=SHAPE_REPRESENTATION('',(#1179),#14736); -#14811=PRODUCT_DEFINITION_SHAPE('',$,#1182); -#14812=SHAPE_DEFINITION_REPRESENTATION(#14811,#14813); -#14813=SHAPE_REPRESENTATION('',(#1183),#14736); -#14814=PRODUCT_DEFINITION_SHAPE('',$,#1186); -#14815=SHAPE_DEFINITION_REPRESENTATION(#14814,#14816); -#14816=SHAPE_REPRESENTATION('',(#1187),#14736); -#14817=PRODUCT_DEFINITION_SHAPE('',$,#1190); -#14818=SHAPE_DEFINITION_REPRESENTATION(#14817,#14819); -#14819=SHAPE_REPRESENTATION('',(#1191),#14736); -#14820=PRODUCT_DEFINITION_SHAPE('',$,#1194); -#14821=SHAPE_DEFINITION_REPRESENTATION(#14820,#14822); -#14822=SHAPE_REPRESENTATION('',(#1195),#14736); -#14823=PRODUCT_DEFINITION_SHAPE('',$,#1198); -#14824=SHAPE_DEFINITION_REPRESENTATION(#14823,#14825); -#14825=SHAPE_REPRESENTATION('',(#1199),#14736); -#14826=PRODUCT_DEFINITION_SHAPE('',$,#1202); -#14827=SHAPE_DEFINITION_REPRESENTATION(#14826,#14828); -#14828=SHAPE_REPRESENTATION('',(#1203),#14736); -#14829=REPRESENTATION_MAP(#26,#1212); -#14830=PRODUCT_DEFINITION_SHAPE('',$,#1214); -#14831=SHAPE_DEFINITION_REPRESENTATION(#14830,#14832); -#14832=SHAPE_REPRESENTATION('',(#1215),#14736); -#14833=PRODUCT_DEFINITION_SHAPE('',$,#1218); -#14834=SHAPE_DEFINITION_REPRESENTATION(#14833,#14835); -#14835=SHAPE_REPRESENTATION('',(#1219),#14736); -#14836=REPRESENTATION_MAP(#26,#1228); -#14837=PRODUCT_DEFINITION_SHAPE('',$,#1231); -#14838=SHAPE_DEFINITION_REPRESENTATION(#14837,#14839); -#14839=SHAPE_REPRESENTATION('',(#1232),#14736); -#14840=PRODUCT_DEFINITION_SHAPE('',$,#1235); -#14841=SHAPE_DEFINITION_REPRESENTATION(#14840,#14842); -#14842=SHAPE_REPRESENTATION('',(#1236),#14736); -#14843=PRODUCT_DEFINITION_SHAPE('',$,#1239); -#14844=SHAPE_DEFINITION_REPRESENTATION(#14843,#14845); -#14845=SHAPE_REPRESENTATION('',(#1240),#14736); -#14846=PRODUCT_DEFINITION_SHAPE('',$,#1243); -#14847=SHAPE_DEFINITION_REPRESENTATION(#14846,#14848); -#14848=SHAPE_REPRESENTATION('',(#1244),#14736); -#14849=PRODUCT_DEFINITION_SHAPE('',$,#1247); -#14850=SHAPE_DEFINITION_REPRESENTATION(#14849,#14851); -#14851=SHAPE_REPRESENTATION('',(#1248),#14736); -#14852=PRODUCT_DEFINITION_SHAPE('',$,#1251); -#14853=SHAPE_DEFINITION_REPRESENTATION(#14852,#14854); -#14854=SHAPE_REPRESENTATION('',(#1252),#14736); -#14855=PRODUCT_DEFINITION_SHAPE('',$,#1255); -#14856=SHAPE_DEFINITION_REPRESENTATION(#14855,#14857); -#14857=SHAPE_REPRESENTATION('',(#1256),#14736); -#14858=PRODUCT_DEFINITION_SHAPE('',$,#1259); -#14859=SHAPE_DEFINITION_REPRESENTATION(#14858,#14860); -#14860=SHAPE_REPRESENTATION('',(#1260),#14736); -#14861=PRODUCT_DEFINITION_SHAPE('',$,#1263); -#14862=SHAPE_DEFINITION_REPRESENTATION(#14861,#14863); -#14863=SHAPE_REPRESENTATION('',(#1264),#14736); -#14864=PRODUCT_DEFINITION_SHAPE('',$,#1267); -#14865=SHAPE_DEFINITION_REPRESENTATION(#14864,#14866); -#14866=SHAPE_REPRESENTATION('',(#1268),#14736); -#14867=PRODUCT_DEFINITION_SHAPE('',$,#1271); -#14868=SHAPE_DEFINITION_REPRESENTATION(#14867,#14869); -#14869=SHAPE_REPRESENTATION('',(#1272),#14736); -#14870=PRODUCT_DEFINITION_SHAPE('',$,#1275); -#14871=SHAPE_DEFINITION_REPRESENTATION(#14870,#14872); -#14872=SHAPE_REPRESENTATION('',(#1276),#14736); -#14873=REPRESENTATION_MAP(#26,#1290); -#14874=PRODUCT_DEFINITION_SHAPE('',$,#1292); -#14875=SHAPE_DEFINITION_REPRESENTATION(#14874,#14876); -#14876=SHAPE_REPRESENTATION('',(#1293),#14736); -#14877=REPRESENTATION_MAP(#26,#1305); -#14878=PRODUCT_DEFINITION_SHAPE('',$,#1307); -#14879=SHAPE_DEFINITION_REPRESENTATION(#14878,#14880); -#14880=SHAPE_REPRESENTATION('',(#1308),#14736); -#14881=PRODUCT_DEFINITION_SHAPE('',$,#1324); -#14882=SHAPE_DEFINITION_REPRESENTATION(#14881,#14883); -#14883=SHAPE_REPRESENTATION('',(#1325),#14736); -#14884=REPRESENTATION_MAP(#26,#1342); -#14885=PRODUCT_DEFINITION_SHAPE('',$,#1344); -#14886=SHAPE_DEFINITION_REPRESENTATION(#14885,#14887); -#14887=SHAPE_REPRESENTATION('',(#1345),#14736); -#14888=REPRESENTATION_MAP(#26,#1357); -#14889=PRODUCT_DEFINITION_SHAPE('',$,#1359); -#14890=SHAPE_DEFINITION_REPRESENTATION(#14889,#14891); -#14891=SHAPE_REPRESENTATION('',(#1360),#14736); -#14892=PRODUCT_DEFINITION_SHAPE('',$,#1376); -#14893=SHAPE_DEFINITION_REPRESENTATION(#14892,#14894); -#14894=SHAPE_REPRESENTATION('',(#1377),#14736); -#14895=REPRESENTATION_MAP(#26,#1400); -#14896=PRODUCT_DEFINITION_SHAPE('',$,#1405); -#14897=SHAPE_DEFINITION_REPRESENTATION(#14896,#14898); -#14898=SHAPE_REPRESENTATION('',(#1406),#14736); -#14899=REPRESENTATION_MAP(#26,#1412); -#14900=PRODUCT_DEFINITION_SHAPE('',$,#1414); -#14901=SHAPE_DEFINITION_REPRESENTATION(#14900,#14902); -#14902=SHAPE_REPRESENTATION('',(#1415),#14736); -#14903=PRODUCT_DEFINITION_SHAPE('',$,#1418); -#14904=SHAPE_DEFINITION_REPRESENTATION(#14903,#14905); -#14905=SHAPE_REPRESENTATION('',(#1419),#14736); -#14906=PRODUCT_DEFINITION_SHAPE('',$,#1422); -#14907=SHAPE_DEFINITION_REPRESENTATION(#14906,#14908); -#14908=SHAPE_REPRESENTATION('',(#1423),#14736); -#14909=PRODUCT_DEFINITION_SHAPE('',$,#1426); -#14910=SHAPE_DEFINITION_REPRESENTATION(#14909,#14911); -#14911=SHAPE_REPRESENTATION('',(#1427),#14736); -#14912=PRODUCT_DEFINITION_SHAPE('',$,#1430); -#14913=SHAPE_DEFINITION_REPRESENTATION(#14912,#14914); -#14914=SHAPE_REPRESENTATION('',(#1431),#14736); -#14915=PRODUCT_DEFINITION_SHAPE('',$,#1434); -#14916=SHAPE_DEFINITION_REPRESENTATION(#14915,#14917); -#14917=SHAPE_REPRESENTATION('',(#1435),#14736); -#14918=PRODUCT_DEFINITION_SHAPE('',$,#1438); -#14919=SHAPE_DEFINITION_REPRESENTATION(#14918,#14920); -#14920=SHAPE_REPRESENTATION('',(#1439),#14736); -#14921=REPRESENTATION_MAP(#26,#1448); -#14922=PRODUCT_DEFINITION_SHAPE('',$,#1450); -#14923=SHAPE_DEFINITION_REPRESENTATION(#14922,#14924); -#14924=SHAPE_REPRESENTATION('',(#1451),#14736); -#14925=PRODUCT_DEFINITION_SHAPE('',$,#1454); -#14926=SHAPE_DEFINITION_REPRESENTATION(#14925,#14927); -#14927=SHAPE_REPRESENTATION('',(#1455),#14736); -#14928=REPRESENTATION_MAP(#26,#1464); -#14929=PRODUCT_DEFINITION_SHAPE('',$,#1467); -#14930=SHAPE_DEFINITION_REPRESENTATION(#14929,#14931); -#14931=SHAPE_REPRESENTATION('',(#1468),#14736); -#14932=PRODUCT_DEFINITION_SHAPE('',$,#1471); -#14933=SHAPE_DEFINITION_REPRESENTATION(#14932,#14934); -#14934=SHAPE_REPRESENTATION('',(#1472),#14736); -#14935=PRODUCT_DEFINITION_SHAPE('',$,#1475); -#14936=SHAPE_DEFINITION_REPRESENTATION(#14935,#14937); -#14937=SHAPE_REPRESENTATION('',(#1476),#14736); -#14938=PRODUCT_DEFINITION_SHAPE('',$,#1479); -#14939=SHAPE_DEFINITION_REPRESENTATION(#14938,#14940); -#14940=SHAPE_REPRESENTATION('',(#1480),#14736); -#14941=PRODUCT_DEFINITION_SHAPE('',$,#1483); -#14942=SHAPE_DEFINITION_REPRESENTATION(#14941,#14943); -#14943=SHAPE_REPRESENTATION('',(#1484),#14736); -#14944=PRODUCT_DEFINITION_SHAPE('',$,#1487); -#14945=SHAPE_DEFINITION_REPRESENTATION(#14944,#14946); -#14946=SHAPE_REPRESENTATION('',(#1488),#14736); -#14947=PRODUCT_DEFINITION_SHAPE('',$,#1491); -#14948=SHAPE_DEFINITION_REPRESENTATION(#14947,#14949); -#14949=SHAPE_REPRESENTATION('',(#1492),#14736); -#14950=PRODUCT_DEFINITION_SHAPE('',$,#1495); -#14951=SHAPE_DEFINITION_REPRESENTATION(#14950,#14952); -#14952=SHAPE_REPRESENTATION('',(#1496),#14736); -#14953=PRODUCT_DEFINITION_SHAPE('',$,#1499); -#14954=SHAPE_DEFINITION_REPRESENTATION(#14953,#14955); -#14955=SHAPE_REPRESENTATION('',(#1500),#14736); -#14956=PRODUCT_DEFINITION_SHAPE('',$,#1503); -#14957=SHAPE_DEFINITION_REPRESENTATION(#14956,#14958); -#14958=SHAPE_REPRESENTATION('',(#1504),#14736); -#14959=PRODUCT_DEFINITION_SHAPE('',$,#1507); -#14960=SHAPE_DEFINITION_REPRESENTATION(#14959,#14961); -#14961=SHAPE_REPRESENTATION('',(#1508),#14736); -#14962=PRODUCT_DEFINITION_SHAPE('',$,#1511); -#14963=SHAPE_DEFINITION_REPRESENTATION(#14962,#14964); -#14964=SHAPE_REPRESENTATION('',(#1512),#14736); -#14965=REPRESENTATION_MAP(#26,#1528); -#14966=PRODUCT_DEFINITION_SHAPE('',$,#1533); -#14967=SHAPE_DEFINITION_REPRESENTATION(#14966,#14968); -#14968=SHAPE_REPRESENTATION('',(#1534),#14736); -#14969=REPRESENTATION_MAP(#26,#1540); -#14970=PRODUCT_DEFINITION_SHAPE('',$,#1542); -#14971=SHAPE_DEFINITION_REPRESENTATION(#14970,#14972); -#14972=SHAPE_REPRESENTATION('',(#1543),#14736); -#14973=REPRESENTATION_MAP(#26,#1555); -#14974=PRODUCT_DEFINITION_SHAPE('',$,#1557); -#14975=SHAPE_DEFINITION_REPRESENTATION(#14974,#14976); -#14976=SHAPE_REPRESENTATION('',(#1558),#14736); -#14977=REPRESENTATION_MAP(#26,#1570); -#14978=PRODUCT_DEFINITION_SHAPE('',$,#1572); -#14979=SHAPE_DEFINITION_REPRESENTATION(#14978,#14980); -#14980=SHAPE_REPRESENTATION('',(#1573),#14736); -#14981=PRODUCT_DEFINITION_SHAPE('',$,#1576); -#14982=SHAPE_DEFINITION_REPRESENTATION(#14981,#14983); -#14983=SHAPE_REPRESENTATION('',(#1577),#14736); -#14984=PRODUCT_DEFINITION_SHAPE('',$,#1580); -#14985=SHAPE_DEFINITION_REPRESENTATION(#14984,#14986); -#14986=SHAPE_REPRESENTATION('',(#1581),#14736); -#14987=PRODUCT_DEFINITION_SHAPE('',$,#1584); -#14988=SHAPE_DEFINITION_REPRESENTATION(#14987,#14989); -#14989=SHAPE_REPRESENTATION('',(#1585),#14736); -#14990=PRODUCT_DEFINITION_SHAPE('',$,#1588); -#14991=SHAPE_DEFINITION_REPRESENTATION(#14990,#14992); -#14992=SHAPE_REPRESENTATION('',(#1589),#14736); -#14993=PRODUCT_DEFINITION_SHAPE('',$,#1592); -#14994=SHAPE_DEFINITION_REPRESENTATION(#14993,#14995); -#14995=SHAPE_REPRESENTATION('',(#1593),#14736); -#14996=PRODUCT_DEFINITION_SHAPE('',$,#1596); -#14997=SHAPE_DEFINITION_REPRESENTATION(#14996,#14998); -#14998=SHAPE_REPRESENTATION('',(#1597),#14736); -#14999=REPRESENTATION_MAP(#26,#1606); -#15000=PRODUCT_DEFINITION_SHAPE('',$,#1609); -#15001=SHAPE_DEFINITION_REPRESENTATION(#15000,#15002); -#15002=SHAPE_REPRESENTATION('',(#1610),#14736); -#15003=PRODUCT_DEFINITION_SHAPE('',$,#1613); -#15004=SHAPE_DEFINITION_REPRESENTATION(#15003,#15005); -#15005=SHAPE_REPRESENTATION('',(#1614),#14736); -#15006=PRODUCT_DEFINITION_SHAPE('',$,#1617); -#15007=SHAPE_DEFINITION_REPRESENTATION(#15006,#15008); -#15008=SHAPE_REPRESENTATION('',(#1618),#14736); -#15009=PRODUCT_DEFINITION_SHAPE('',$,#1621); -#15010=SHAPE_DEFINITION_REPRESENTATION(#15009,#15011); -#15011=SHAPE_REPRESENTATION('',(#1622),#14736); -#15012=PRODUCT_DEFINITION_SHAPE('',$,#1625); -#15013=SHAPE_DEFINITION_REPRESENTATION(#15012,#15014); -#15014=SHAPE_REPRESENTATION('',(#1626),#14736); -#15015=PRODUCT_DEFINITION_SHAPE('',$,#1629); -#15016=SHAPE_DEFINITION_REPRESENTATION(#15015,#15017); -#15017=SHAPE_REPRESENTATION('',(#1630),#14736); -#15018=PRODUCT_DEFINITION_SHAPE('',$,#1633); -#15019=SHAPE_DEFINITION_REPRESENTATION(#15018,#15020); -#15020=SHAPE_REPRESENTATION('',(#1634),#14736); -#15021=PRODUCT_DEFINITION_SHAPE('',$,#1637); -#15022=SHAPE_DEFINITION_REPRESENTATION(#15021,#15023); -#15023=SHAPE_REPRESENTATION('',(#1638),#14736); -#15024=PRODUCT_DEFINITION_SHAPE('',$,#1641); -#15025=SHAPE_DEFINITION_REPRESENTATION(#15024,#15026); -#15026=SHAPE_REPRESENTATION('',(#1642),#14736); -#15027=PRODUCT_DEFINITION_SHAPE('',$,#1645); -#15028=SHAPE_DEFINITION_REPRESENTATION(#15027,#15029); -#15029=SHAPE_REPRESENTATION('',(#1646),#14736); -#15030=PRODUCT_DEFINITION_SHAPE('',$,#1649); -#15031=SHAPE_DEFINITION_REPRESENTATION(#15030,#15032); -#15032=SHAPE_REPRESENTATION('',(#1650),#14736); -#15033=PRODUCT_DEFINITION_SHAPE('',$,#1653); -#15034=SHAPE_DEFINITION_REPRESENTATION(#15033,#15035); -#15035=SHAPE_REPRESENTATION('',(#1654),#14736); -#15036=PRODUCT_DEFINITION_SHAPE('',$,#1679); -#15037=SHAPE_DEFINITION_REPRESENTATION(#15036,#15038); -#15038=SHAPE_REPRESENTATION('',(#1680),#14736); -#15039=REPRESENTATION_MAP(#26,#1686); -#15040=PRODUCT_DEFINITION_SHAPE('',$,#1688); -#15041=SHAPE_DEFINITION_REPRESENTATION(#15040,#15042); -#15042=SHAPE_REPRESENTATION('',(#1689),#14736); -#15043=REPRESENTATION_MAP(#26,#1698); -#15044=PRODUCT_DEFINITION_SHAPE('',$,#1700); -#15045=SHAPE_DEFINITION_REPRESENTATION(#15044,#15046); -#15046=SHAPE_REPRESENTATION('',(#1701),#14736); -#15047=REPRESENTATION_MAP(#26,#1710); -#15048=PRODUCT_DEFINITION_SHAPE('',$,#1712); -#15049=SHAPE_DEFINITION_REPRESENTATION(#15048,#15050); -#15050=SHAPE_REPRESENTATION('',(#1713),#14736); -#15051=PRODUCT_DEFINITION_SHAPE('',$,#1716); -#15052=SHAPE_DEFINITION_REPRESENTATION(#15051,#15053); -#15053=SHAPE_REPRESENTATION('',(#1717),#14736); -#15054=PRODUCT_DEFINITION_SHAPE('',$,#1720); -#15055=SHAPE_DEFINITION_REPRESENTATION(#15054,#15056); -#15056=SHAPE_REPRESENTATION('',(#1721),#14736); -#15057=PRODUCT_DEFINITION_SHAPE('',$,#1724); -#15058=SHAPE_DEFINITION_REPRESENTATION(#15057,#15059); -#15059=SHAPE_REPRESENTATION('',(#1725),#14736); -#15060=PRODUCT_DEFINITION_SHAPE('',$,#1728); -#15061=SHAPE_DEFINITION_REPRESENTATION(#15060,#15062); -#15062=SHAPE_REPRESENTATION('',(#1729),#14736); -#15063=PRODUCT_DEFINITION_SHAPE('',$,#1732); -#15064=SHAPE_DEFINITION_REPRESENTATION(#15063,#15065); -#15065=SHAPE_REPRESENTATION('',(#1733),#14736); -#15066=PRODUCT_DEFINITION_SHAPE('',$,#1736); -#15067=SHAPE_DEFINITION_REPRESENTATION(#15066,#15068); -#15068=SHAPE_REPRESENTATION('',(#1737),#14736); -#15069=REPRESENTATION_MAP(#26,#1746); -#15070=PRODUCT_DEFINITION_SHAPE('',$,#1749); -#15071=SHAPE_DEFINITION_REPRESENTATION(#15070,#15072); -#15072=SHAPE_REPRESENTATION('',(#1750),#14736); -#15073=PRODUCT_DEFINITION_SHAPE('',$,#1753); -#15074=SHAPE_DEFINITION_REPRESENTATION(#15073,#15075); -#15075=SHAPE_REPRESENTATION('',(#1754),#14736); -#15076=PRODUCT_DEFINITION_SHAPE('',$,#1757); -#15077=SHAPE_DEFINITION_REPRESENTATION(#15076,#15078); -#15078=SHAPE_REPRESENTATION('',(#1758),#14736); -#15079=PRODUCT_DEFINITION_SHAPE('',$,#1761); -#15080=SHAPE_DEFINITION_REPRESENTATION(#15079,#15081); -#15081=SHAPE_REPRESENTATION('',(#1762),#14736); -#15082=PRODUCT_DEFINITION_SHAPE('',$,#1765); -#15083=SHAPE_DEFINITION_REPRESENTATION(#15082,#15084); -#15084=SHAPE_REPRESENTATION('',(#1766),#14736); -#15085=PRODUCT_DEFINITION_SHAPE('',$,#1769); -#15086=SHAPE_DEFINITION_REPRESENTATION(#15085,#15087); -#15087=SHAPE_REPRESENTATION('',(#1770),#14736); -#15088=PRODUCT_DEFINITION_SHAPE('',$,#1773); -#15089=SHAPE_DEFINITION_REPRESENTATION(#15088,#15090); -#15090=SHAPE_REPRESENTATION('',(#1774),#14736); -#15091=PRODUCT_DEFINITION_SHAPE('',$,#1777); -#15092=SHAPE_DEFINITION_REPRESENTATION(#15091,#15093); -#15093=SHAPE_REPRESENTATION('',(#1778),#14736); -#15094=PRODUCT_DEFINITION_SHAPE('',$,#1781); -#15095=SHAPE_DEFINITION_REPRESENTATION(#15094,#15096); -#15096=SHAPE_REPRESENTATION('',(#1782),#14736); -#15097=PRODUCT_DEFINITION_SHAPE('',$,#1785); -#15098=SHAPE_DEFINITION_REPRESENTATION(#15097,#15099); -#15099=SHAPE_REPRESENTATION('',(#1786),#14736); -#15100=PRODUCT_DEFINITION_SHAPE('',$,#1789); -#15101=SHAPE_DEFINITION_REPRESENTATION(#15100,#15102); -#15102=SHAPE_REPRESENTATION('',(#1790),#14736); -#15103=PRODUCT_DEFINITION_SHAPE('',$,#1793); -#15104=SHAPE_DEFINITION_REPRESENTATION(#15103,#15105); -#15105=SHAPE_REPRESENTATION('',(#1794),#14736); -#15106=REPRESENTATION_MAP(#26,#1814); -#15107=PRODUCT_DEFINITION_SHAPE('',$,#1819); -#15108=SHAPE_DEFINITION_REPRESENTATION(#15107,#15109); -#15109=SHAPE_REPRESENTATION('',(#1820),#14736); -#15110=REPRESENTATION_MAP(#26,#1826); -#15111=PRODUCT_DEFINITION_SHAPE('',$,#1828); -#15112=SHAPE_DEFINITION_REPRESENTATION(#15111,#15113); -#15113=SHAPE_REPRESENTATION('',(#1829),#14736); -#15114=REPRESENTATION_MAP(#26,#1838); -#15115=PRODUCT_DEFINITION_SHAPE('',$,#1840); -#15116=SHAPE_DEFINITION_REPRESENTATION(#15115,#15117); -#15117=SHAPE_REPRESENTATION('',(#1841),#14736); -#15118=REPRESENTATION_MAP(#26,#1850); -#15119=PRODUCT_DEFINITION_SHAPE('',$,#1852); -#15120=SHAPE_DEFINITION_REPRESENTATION(#15119,#15121); -#15121=SHAPE_REPRESENTATION('',(#1853),#14736); -#15122=PRODUCT_DEFINITION_SHAPE('',$,#1856); -#15123=SHAPE_DEFINITION_REPRESENTATION(#15122,#15124); -#15124=SHAPE_REPRESENTATION('',(#1857),#14736); -#15125=PRODUCT_DEFINITION_SHAPE('',$,#1860); -#15126=SHAPE_DEFINITION_REPRESENTATION(#15125,#15127); -#15127=SHAPE_REPRESENTATION('',(#1861),#14736); -#15128=PRODUCT_DEFINITION_SHAPE('',$,#1864); -#15129=SHAPE_DEFINITION_REPRESENTATION(#15128,#15130); -#15130=SHAPE_REPRESENTATION('',(#1865),#14736); -#15131=PRODUCT_DEFINITION_SHAPE('',$,#1868); -#15132=SHAPE_DEFINITION_REPRESENTATION(#15131,#15133); -#15133=SHAPE_REPRESENTATION('',(#1869),#14736); -#15134=PRODUCT_DEFINITION_SHAPE('',$,#1872); -#15135=SHAPE_DEFINITION_REPRESENTATION(#15134,#15136); -#15136=SHAPE_REPRESENTATION('',(#1873),#14736); -#15137=PRODUCT_DEFINITION_SHAPE('',$,#1876); -#15138=SHAPE_DEFINITION_REPRESENTATION(#15137,#15139); -#15139=SHAPE_REPRESENTATION('',(#1877),#14736); -#15140=REPRESENTATION_MAP(#26,#1886); -#15141=PRODUCT_DEFINITION_SHAPE('',$,#1889); -#15142=SHAPE_DEFINITION_REPRESENTATION(#15141,#15143); -#15143=SHAPE_REPRESENTATION('',(#1890),#14736); -#15144=PRODUCT_DEFINITION_SHAPE('',$,#1893); -#15145=SHAPE_DEFINITION_REPRESENTATION(#15144,#15146); -#15146=SHAPE_REPRESENTATION('',(#1894),#14736); -#15147=PRODUCT_DEFINITION_SHAPE('',$,#1897); -#15148=SHAPE_DEFINITION_REPRESENTATION(#15147,#15149); -#15149=SHAPE_REPRESENTATION('',(#1898),#14736); -#15150=PRODUCT_DEFINITION_SHAPE('',$,#1901); -#15151=SHAPE_DEFINITION_REPRESENTATION(#15150,#15152); -#15152=SHAPE_REPRESENTATION('',(#1902),#14736); -#15153=PRODUCT_DEFINITION_SHAPE('',$,#1905); -#15154=SHAPE_DEFINITION_REPRESENTATION(#15153,#15155); -#15155=SHAPE_REPRESENTATION('',(#1906),#14736); -#15156=PRODUCT_DEFINITION_SHAPE('',$,#1909); -#15157=SHAPE_DEFINITION_REPRESENTATION(#15156,#15158); -#15158=SHAPE_REPRESENTATION('',(#1910),#14736); -#15159=PRODUCT_DEFINITION_SHAPE('',$,#1913); -#15160=SHAPE_DEFINITION_REPRESENTATION(#15159,#15161); -#15161=SHAPE_REPRESENTATION('',(#1914),#14736); -#15162=PRODUCT_DEFINITION_SHAPE('',$,#1917); -#15163=SHAPE_DEFINITION_REPRESENTATION(#15162,#15164); -#15164=SHAPE_REPRESENTATION('',(#1918),#14736); -#15165=PRODUCT_DEFINITION_SHAPE('',$,#1921); -#15166=SHAPE_DEFINITION_REPRESENTATION(#15165,#15167); -#15167=SHAPE_REPRESENTATION('',(#1922),#14736); -#15168=PRODUCT_DEFINITION_SHAPE('',$,#1925); -#15169=SHAPE_DEFINITION_REPRESENTATION(#15168,#15170); -#15170=SHAPE_REPRESENTATION('',(#1926),#14736); -#15171=PRODUCT_DEFINITION_SHAPE('',$,#1929); -#15172=SHAPE_DEFINITION_REPRESENTATION(#15171,#15173); -#15173=SHAPE_REPRESENTATION('',(#1930),#14736); -#15174=PRODUCT_DEFINITION_SHAPE('',$,#1933); -#15175=SHAPE_DEFINITION_REPRESENTATION(#15174,#15176); -#15176=SHAPE_REPRESENTATION('',(#1934),#14736); -#15177=REPRESENTATION_MAP(#26,#1950); -#15178=PRODUCT_DEFINITION_SHAPE('',$,#1955); -#15179=SHAPE_DEFINITION_REPRESENTATION(#15178,#15180); -#15180=SHAPE_REPRESENTATION('',(#1956),#14736); -#15181=REPRESENTATION_MAP(#26,#1962); -#15182=PRODUCT_DEFINITION_SHAPE('',$,#1964); -#15183=SHAPE_DEFINITION_REPRESENTATION(#15182,#15184); -#15184=SHAPE_REPRESENTATION('',(#1965),#14736); -#15185=PRODUCT_DEFINITION_SHAPE('',$,#1968); -#15186=SHAPE_DEFINITION_REPRESENTATION(#15185,#15187); -#15187=SHAPE_REPRESENTATION('',(#1969),#14736); -#15188=PRODUCT_DEFINITION_SHAPE('',$,#1972); -#15189=SHAPE_DEFINITION_REPRESENTATION(#15188,#15190); -#15190=SHAPE_REPRESENTATION('',(#1973),#14736); -#15191=PRODUCT_DEFINITION_SHAPE('',$,#1976); -#15192=SHAPE_DEFINITION_REPRESENTATION(#15191,#15193); -#15193=SHAPE_REPRESENTATION('',(#1977),#14736); -#15194=PRODUCT_DEFINITION_SHAPE('',$,#1980); -#15195=SHAPE_DEFINITION_REPRESENTATION(#15194,#15196); -#15196=SHAPE_REPRESENTATION('',(#1981),#14736); -#15197=PRODUCT_DEFINITION_SHAPE('',$,#1984); -#15198=SHAPE_DEFINITION_REPRESENTATION(#15197,#15199); -#15199=SHAPE_REPRESENTATION('',(#1985),#14736); -#15200=PRODUCT_DEFINITION_SHAPE('',$,#1988); -#15201=SHAPE_DEFINITION_REPRESENTATION(#15200,#15202); -#15202=SHAPE_REPRESENTATION('',(#1989),#14736); -#15203=REPRESENTATION_MAP(#26,#1998); -#15204=PRODUCT_DEFINITION_SHAPE('',$,#2000); -#15205=SHAPE_DEFINITION_REPRESENTATION(#15204,#15206); -#15206=SHAPE_REPRESENTATION('',(#2001),#14736); -#15207=PRODUCT_DEFINITION_SHAPE('',$,#2004); -#15208=SHAPE_DEFINITION_REPRESENTATION(#15207,#15209); -#15209=SHAPE_REPRESENTATION('',(#2005),#14736); -#15210=REPRESENTATION_MAP(#26,#2014); -#15211=PRODUCT_DEFINITION_SHAPE('',$,#2017); -#15212=SHAPE_DEFINITION_REPRESENTATION(#15211,#15213); -#15213=SHAPE_REPRESENTATION('',(#2018),#14736); -#15214=PRODUCT_DEFINITION_SHAPE('',$,#2021); -#15215=SHAPE_DEFINITION_REPRESENTATION(#15214,#15216); -#15216=SHAPE_REPRESENTATION('',(#2022),#14736); -#15217=PRODUCT_DEFINITION_SHAPE('',$,#2025); -#15218=SHAPE_DEFINITION_REPRESENTATION(#15217,#15219); -#15219=SHAPE_REPRESENTATION('',(#2026),#14736); -#15220=PRODUCT_DEFINITION_SHAPE('',$,#2029); -#15221=SHAPE_DEFINITION_REPRESENTATION(#15220,#15222); -#15222=SHAPE_REPRESENTATION('',(#2030),#14736); -#15223=PRODUCT_DEFINITION_SHAPE('',$,#2033); -#15224=SHAPE_DEFINITION_REPRESENTATION(#15223,#15225); -#15225=SHAPE_REPRESENTATION('',(#2034),#14736); -#15226=PRODUCT_DEFINITION_SHAPE('',$,#2037); -#15227=SHAPE_DEFINITION_REPRESENTATION(#15226,#15228); -#15228=SHAPE_REPRESENTATION('',(#2038),#14736); -#15229=PRODUCT_DEFINITION_SHAPE('',$,#2041); -#15230=SHAPE_DEFINITION_REPRESENTATION(#15229,#15231); -#15231=SHAPE_REPRESENTATION('',(#2042),#14736); -#15232=PRODUCT_DEFINITION_SHAPE('',$,#2045); -#15233=SHAPE_DEFINITION_REPRESENTATION(#15232,#15234); -#15234=SHAPE_REPRESENTATION('',(#2046),#14736); -#15235=PRODUCT_DEFINITION_SHAPE('',$,#2049); -#15236=SHAPE_DEFINITION_REPRESENTATION(#15235,#15237); -#15237=SHAPE_REPRESENTATION('',(#2050),#14736); -#15238=PRODUCT_DEFINITION_SHAPE('',$,#2053); -#15239=SHAPE_DEFINITION_REPRESENTATION(#15238,#15240); -#15240=SHAPE_REPRESENTATION('',(#2054),#14736); -#15241=PRODUCT_DEFINITION_SHAPE('',$,#2057); -#15242=SHAPE_DEFINITION_REPRESENTATION(#15241,#15243); -#15243=SHAPE_REPRESENTATION('',(#2058),#14736); -#15244=PRODUCT_DEFINITION_SHAPE('',$,#2061); -#15245=SHAPE_DEFINITION_REPRESENTATION(#15244,#15246); -#15246=SHAPE_REPRESENTATION('',(#2062),#14736); -#15247=REPRESENTATION_MAP(#26,#2078); -#15248=PRODUCT_DEFINITION_SHAPE('',$,#2083); -#15249=SHAPE_DEFINITION_REPRESENTATION(#15248,#15250); -#15250=SHAPE_REPRESENTATION('',(#2084),#14736); -#15251=REPRESENTATION_MAP(#26,#2090); -#15252=PRODUCT_DEFINITION_SHAPE('',$,#2092); -#15253=SHAPE_DEFINITION_REPRESENTATION(#15252,#15254); -#15254=SHAPE_REPRESENTATION('',(#2093),#14736); -#15255=REPRESENTATION_MAP(#26,#2105); -#15256=PRODUCT_DEFINITION_SHAPE('',$,#2107); -#15257=SHAPE_DEFINITION_REPRESENTATION(#15256,#15258); -#15258=SHAPE_REPRESENTATION('',(#2108),#14736); -#15259=REPRESENTATION_MAP(#26,#2120); -#15260=PRODUCT_DEFINITION_SHAPE('',$,#2122); -#15261=SHAPE_DEFINITION_REPRESENTATION(#15260,#15262); -#15262=SHAPE_REPRESENTATION('',(#2123),#14736); -#15263=PRODUCT_DEFINITION_SHAPE('',$,#2126); -#15264=SHAPE_DEFINITION_REPRESENTATION(#15263,#15265); -#15265=SHAPE_REPRESENTATION('',(#2127),#14736); -#15266=PRODUCT_DEFINITION_SHAPE('',$,#2130); -#15267=SHAPE_DEFINITION_REPRESENTATION(#15266,#15268); -#15268=SHAPE_REPRESENTATION('',(#2131),#14736); -#15269=PRODUCT_DEFINITION_SHAPE('',$,#2134); -#15270=SHAPE_DEFINITION_REPRESENTATION(#15269,#15271); -#15271=SHAPE_REPRESENTATION('',(#2135),#14736); -#15272=PRODUCT_DEFINITION_SHAPE('',$,#2138); -#15273=SHAPE_DEFINITION_REPRESENTATION(#15272,#15274); -#15274=SHAPE_REPRESENTATION('',(#2139),#14736); -#15275=PRODUCT_DEFINITION_SHAPE('',$,#2142); -#15276=SHAPE_DEFINITION_REPRESENTATION(#15275,#15277); -#15277=SHAPE_REPRESENTATION('',(#2143),#14736); -#15278=PRODUCT_DEFINITION_SHAPE('',$,#2146); -#15279=SHAPE_DEFINITION_REPRESENTATION(#15278,#15280); -#15280=SHAPE_REPRESENTATION('',(#2147),#14736); -#15281=REPRESENTATION_MAP(#26,#2156); -#15282=PRODUCT_DEFINITION_SHAPE('',$,#2159); -#15283=SHAPE_DEFINITION_REPRESENTATION(#15282,#15284); -#15284=SHAPE_REPRESENTATION('',(#2160),#14736); -#15285=PRODUCT_DEFINITION_SHAPE('',$,#2163); -#15286=SHAPE_DEFINITION_REPRESENTATION(#15285,#15287); -#15287=SHAPE_REPRESENTATION('',(#2164),#14736); -#15288=PRODUCT_DEFINITION_SHAPE('',$,#2167); -#15289=SHAPE_DEFINITION_REPRESENTATION(#15288,#15290); -#15290=SHAPE_REPRESENTATION('',(#2168),#14736); -#15291=PRODUCT_DEFINITION_SHAPE('',$,#2171); -#15292=SHAPE_DEFINITION_REPRESENTATION(#15291,#15293); -#15293=SHAPE_REPRESENTATION('',(#2172),#14736); -#15294=PRODUCT_DEFINITION_SHAPE('',$,#2175); -#15295=SHAPE_DEFINITION_REPRESENTATION(#15294,#15296); -#15296=SHAPE_REPRESENTATION('',(#2176),#14736); -#15297=PRODUCT_DEFINITION_SHAPE('',$,#2179); -#15298=SHAPE_DEFINITION_REPRESENTATION(#15297,#15299); -#15299=SHAPE_REPRESENTATION('',(#2180),#14736); -#15300=PRODUCT_DEFINITION_SHAPE('',$,#2183); -#15301=SHAPE_DEFINITION_REPRESENTATION(#15300,#15302); -#15302=SHAPE_REPRESENTATION('',(#2184),#14736); -#15303=PRODUCT_DEFINITION_SHAPE('',$,#2187); -#15304=SHAPE_DEFINITION_REPRESENTATION(#15303,#15305); -#15305=SHAPE_REPRESENTATION('',(#2188),#14736); -#15306=PRODUCT_DEFINITION_SHAPE('',$,#2191); -#15307=SHAPE_DEFINITION_REPRESENTATION(#15306,#15308); -#15308=SHAPE_REPRESENTATION('',(#2192),#14736); -#15309=PRODUCT_DEFINITION_SHAPE('',$,#2195); -#15310=SHAPE_DEFINITION_REPRESENTATION(#15309,#15311); -#15311=SHAPE_REPRESENTATION('',(#2196),#14736); -#15312=PRODUCT_DEFINITION_SHAPE('',$,#2199); -#15313=SHAPE_DEFINITION_REPRESENTATION(#15312,#15314); -#15314=SHAPE_REPRESENTATION('',(#2200),#14736); -#15315=PRODUCT_DEFINITION_SHAPE('',$,#2203); -#15316=SHAPE_DEFINITION_REPRESENTATION(#15315,#15317); -#15317=SHAPE_REPRESENTATION('',(#2204),#14736); -#15318=REPRESENTATION_MAP(#26,#2220); -#15319=PRODUCT_DEFINITION_SHAPE('',$,#2225); -#15320=SHAPE_DEFINITION_REPRESENTATION(#15319,#15321); -#15321=SHAPE_REPRESENTATION('',(#2226),#14736); -#15322=REPRESENTATION_MAP(#26,#2232); -#15323=PRODUCT_DEFINITION_SHAPE('',$,#2234); -#15324=SHAPE_DEFINITION_REPRESENTATION(#15323,#15325); -#15325=SHAPE_REPRESENTATION('',(#2235),#14736); -#15326=REPRESENTATION_MAP(#26,#2247); -#15327=PRODUCT_DEFINITION_SHAPE('',$,#2249); -#15328=SHAPE_DEFINITION_REPRESENTATION(#15327,#15329); -#15329=SHAPE_REPRESENTATION('',(#2250),#14736); -#15330=REPRESENTATION_MAP(#26,#2262); -#15331=PRODUCT_DEFINITION_SHAPE('',$,#2264); -#15332=SHAPE_DEFINITION_REPRESENTATION(#15331,#15333); -#15333=SHAPE_REPRESENTATION('',(#2265),#14736); -#15334=PRODUCT_DEFINITION_SHAPE('',$,#2268); -#15335=SHAPE_DEFINITION_REPRESENTATION(#15334,#15336); -#15336=SHAPE_REPRESENTATION('',(#2269),#14736); -#15337=PRODUCT_DEFINITION_SHAPE('',$,#2272); -#15338=SHAPE_DEFINITION_REPRESENTATION(#15337,#15339); -#15339=SHAPE_REPRESENTATION('',(#2273),#14736); -#15340=PRODUCT_DEFINITION_SHAPE('',$,#2276); -#15341=SHAPE_DEFINITION_REPRESENTATION(#15340,#15342); -#15342=SHAPE_REPRESENTATION('',(#2277),#14736); -#15343=PRODUCT_DEFINITION_SHAPE('',$,#2280); -#15344=SHAPE_DEFINITION_REPRESENTATION(#15343,#15345); -#15345=SHAPE_REPRESENTATION('',(#2281),#14736); -#15346=PRODUCT_DEFINITION_SHAPE('',$,#2284); -#15347=SHAPE_DEFINITION_REPRESENTATION(#15346,#15348); -#15348=SHAPE_REPRESENTATION('',(#2285),#14736); -#15349=PRODUCT_DEFINITION_SHAPE('',$,#2288); -#15350=SHAPE_DEFINITION_REPRESENTATION(#15349,#15351); -#15351=SHAPE_REPRESENTATION('',(#2289),#14736); -#15352=REPRESENTATION_MAP(#26,#2298); -#15353=PRODUCT_DEFINITION_SHAPE('',$,#2301); -#15354=SHAPE_DEFINITION_REPRESENTATION(#15353,#15355); -#15355=SHAPE_REPRESENTATION('',(#2302),#14736); -#15356=PRODUCT_DEFINITION_SHAPE('',$,#2305); -#15357=SHAPE_DEFINITION_REPRESENTATION(#15356,#15358); -#15358=SHAPE_REPRESENTATION('',(#2306),#14736); -#15359=PRODUCT_DEFINITION_SHAPE('',$,#2309); -#15360=SHAPE_DEFINITION_REPRESENTATION(#15359,#15361); -#15361=SHAPE_REPRESENTATION('',(#2310),#14736); -#15362=PRODUCT_DEFINITION_SHAPE('',$,#2313); -#15363=SHAPE_DEFINITION_REPRESENTATION(#15362,#15364); -#15364=SHAPE_REPRESENTATION('',(#2314),#14736); -#15365=PRODUCT_DEFINITION_SHAPE('',$,#2317); -#15366=SHAPE_DEFINITION_REPRESENTATION(#15365,#15367); -#15367=SHAPE_REPRESENTATION('',(#2318),#14736); -#15368=PRODUCT_DEFINITION_SHAPE('',$,#2321); -#15369=SHAPE_DEFINITION_REPRESENTATION(#15368,#15370); -#15370=SHAPE_REPRESENTATION('',(#2322),#14736); -#15371=PRODUCT_DEFINITION_SHAPE('',$,#2325); -#15372=SHAPE_DEFINITION_REPRESENTATION(#15371,#15373); -#15373=SHAPE_REPRESENTATION('',(#2326),#14736); -#15374=PRODUCT_DEFINITION_SHAPE('',$,#2329); -#15375=SHAPE_DEFINITION_REPRESENTATION(#15374,#15376); -#15376=SHAPE_REPRESENTATION('',(#2330),#14736); -#15377=PRODUCT_DEFINITION_SHAPE('',$,#2333); -#15378=SHAPE_DEFINITION_REPRESENTATION(#15377,#15379); -#15379=SHAPE_REPRESENTATION('',(#2334),#14736); -#15380=PRODUCT_DEFINITION_SHAPE('',$,#2337); -#15381=SHAPE_DEFINITION_REPRESENTATION(#15380,#15382); -#15382=SHAPE_REPRESENTATION('',(#2338),#14736); -#15383=PRODUCT_DEFINITION_SHAPE('',$,#2341); -#15384=SHAPE_DEFINITION_REPRESENTATION(#15383,#15385); -#15385=SHAPE_REPRESENTATION('',(#2342),#14736); -#15386=PRODUCT_DEFINITION_SHAPE('',$,#2345); -#15387=SHAPE_DEFINITION_REPRESENTATION(#15386,#15388); -#15388=SHAPE_REPRESENTATION('',(#2346),#14736); -#15389=REPRESENTATION_MAP(#26,#2362); -#15390=PRODUCT_DEFINITION_SHAPE('',$,#2367); -#15391=SHAPE_DEFINITION_REPRESENTATION(#15390,#15392); -#15392=SHAPE_REPRESENTATION('',(#2368),#14736); -#15393=REPRESENTATION_MAP(#26,#2374); -#15394=PRODUCT_DEFINITION_SHAPE('',$,#2376); -#15395=SHAPE_DEFINITION_REPRESENTATION(#15394,#15396); -#15396=SHAPE_REPRESENTATION('',(#2377),#14736); -#15397=REPRESENTATION_MAP(#26,#2389); -#15398=PRODUCT_DEFINITION_SHAPE('',$,#2391); -#15399=SHAPE_DEFINITION_REPRESENTATION(#15398,#15400); -#15400=SHAPE_REPRESENTATION('',(#2392),#14736); -#15401=REPRESENTATION_MAP(#26,#2404); -#15402=PRODUCT_DEFINITION_SHAPE('',$,#2406); -#15403=SHAPE_DEFINITION_REPRESENTATION(#15402,#15404); -#15404=SHAPE_REPRESENTATION('',(#2407),#14736); -#15405=PRODUCT_DEFINITION_SHAPE('',$,#2410); -#15406=SHAPE_DEFINITION_REPRESENTATION(#15405,#15407); -#15407=SHAPE_REPRESENTATION('',(#2411),#14736); -#15408=PRODUCT_DEFINITION_SHAPE('',$,#2414); -#15409=SHAPE_DEFINITION_REPRESENTATION(#15408,#15410); -#15410=SHAPE_REPRESENTATION('',(#2415),#14736); -#15411=PRODUCT_DEFINITION_SHAPE('',$,#2418); -#15412=SHAPE_DEFINITION_REPRESENTATION(#15411,#15413); -#15413=SHAPE_REPRESENTATION('',(#2419),#14736); -#15414=PRODUCT_DEFINITION_SHAPE('',$,#2422); -#15415=SHAPE_DEFINITION_REPRESENTATION(#15414,#15416); -#15416=SHAPE_REPRESENTATION('',(#2423),#14736); -#15417=PRODUCT_DEFINITION_SHAPE('',$,#2426); -#15418=SHAPE_DEFINITION_REPRESENTATION(#15417,#15419); -#15419=SHAPE_REPRESENTATION('',(#2427),#14736); -#15420=PRODUCT_DEFINITION_SHAPE('',$,#2430); -#15421=SHAPE_DEFINITION_REPRESENTATION(#15420,#15422); -#15422=SHAPE_REPRESENTATION('',(#2431),#14736); -#15423=REPRESENTATION_MAP(#26,#2440); -#15424=PRODUCT_DEFINITION_SHAPE('',$,#2443); -#15425=SHAPE_DEFINITION_REPRESENTATION(#15424,#15426); -#15426=SHAPE_REPRESENTATION('',(#2444),#14736); -#15427=PRODUCT_DEFINITION_SHAPE('',$,#2447); -#15428=SHAPE_DEFINITION_REPRESENTATION(#15427,#15429); -#15429=SHAPE_REPRESENTATION('',(#2448),#14736); -#15430=PRODUCT_DEFINITION_SHAPE('',$,#2451); -#15431=SHAPE_DEFINITION_REPRESENTATION(#15430,#15432); -#15432=SHAPE_REPRESENTATION('',(#2452),#14736); -#15433=PRODUCT_DEFINITION_SHAPE('',$,#2455); -#15434=SHAPE_DEFINITION_REPRESENTATION(#15433,#15435); -#15435=SHAPE_REPRESENTATION('',(#2456),#14736); -#15436=PRODUCT_DEFINITION_SHAPE('',$,#2459); -#15437=SHAPE_DEFINITION_REPRESENTATION(#15436,#15438); -#15438=SHAPE_REPRESENTATION('',(#2460),#14736); -#15439=PRODUCT_DEFINITION_SHAPE('',$,#2463); -#15440=SHAPE_DEFINITION_REPRESENTATION(#15439,#15441); -#15441=SHAPE_REPRESENTATION('',(#2464),#14736); -#15442=PRODUCT_DEFINITION_SHAPE('',$,#2467); -#15443=SHAPE_DEFINITION_REPRESENTATION(#15442,#15444); -#15444=SHAPE_REPRESENTATION('',(#2468),#14736); -#15445=PRODUCT_DEFINITION_SHAPE('',$,#2471); -#15446=SHAPE_DEFINITION_REPRESENTATION(#15445,#15447); -#15447=SHAPE_REPRESENTATION('',(#2472),#14736); -#15448=PRODUCT_DEFINITION_SHAPE('',$,#2475); -#15449=SHAPE_DEFINITION_REPRESENTATION(#15448,#15450); -#15450=SHAPE_REPRESENTATION('',(#2476),#14736); -#15451=PRODUCT_DEFINITION_SHAPE('',$,#2479); -#15452=SHAPE_DEFINITION_REPRESENTATION(#15451,#15453); -#15453=SHAPE_REPRESENTATION('',(#2480),#14736); -#15454=PRODUCT_DEFINITION_SHAPE('',$,#2483); -#15455=SHAPE_DEFINITION_REPRESENTATION(#15454,#15456); -#15456=SHAPE_REPRESENTATION('',(#2484),#14736); -#15457=PRODUCT_DEFINITION_SHAPE('',$,#2487); -#15458=SHAPE_DEFINITION_REPRESENTATION(#15457,#15459); -#15459=SHAPE_REPRESENTATION('',(#2488),#14736); -#15460=PRODUCT_DEFINITION_SHAPE('',$,#2506); -#15461=SHAPE_DEFINITION_REPRESENTATION(#15460,#15462); -#15462=SHAPE_REPRESENTATION('',(#2507),#14736); -#15463=REPRESENTATION_MAP(#26,#2519); -#15464=PRODUCT_DEFINITION_SHAPE('',$,#2521); -#15465=SHAPE_DEFINITION_REPRESENTATION(#15464,#15466); -#15466=SHAPE_REPRESENTATION('',(#2522),#14736); -#15467=REPRESENTATION_MAP(#26,#2534); -#15468=PRODUCT_DEFINITION_SHAPE('',$,#2536); -#15469=SHAPE_DEFINITION_REPRESENTATION(#15468,#15470); -#15470=SHAPE_REPRESENTATION('',(#2537),#14736); -#15471=REPRESENTATION_MAP(#26,#2554); -#15472=PRODUCT_DEFINITION_SHAPE('',$,#2558); -#15473=SHAPE_DEFINITION_REPRESENTATION(#15472,#15474); -#15474=SHAPE_REPRESENTATION('',(#2559),#14736); -#15475=REPRESENTATION_MAP(#26,#2568); -#15476=PRODUCT_DEFINITION_SHAPE('',$,#2570); -#15477=SHAPE_DEFINITION_REPRESENTATION(#15476,#15478); -#15478=SHAPE_REPRESENTATION('',(#2571),#14736); -#15479=REPRESENTATION_MAP(#26,#2580); -#15480=PRODUCT_DEFINITION_SHAPE('',$,#2582); -#15481=SHAPE_DEFINITION_REPRESENTATION(#15480,#15482); -#15482=SHAPE_REPRESENTATION('',(#2583),#14736); -#15483=REPRESENTATION_MAP(#26,#2600); -#15484=PRODUCT_DEFINITION_SHAPE('',$,#2604); -#15485=SHAPE_DEFINITION_REPRESENTATION(#15484,#15486); -#15486=SHAPE_REPRESENTATION('',(#2605),#14736); -#15487=REPRESENTATION_MAP(#26,#2617); -#15488=PRODUCT_DEFINITION_SHAPE('',$,#2619); -#15489=SHAPE_DEFINITION_REPRESENTATION(#15488,#15490); -#15490=SHAPE_REPRESENTATION('',(#2620),#14736); -#15491=REPRESENTATION_MAP(#26,#2632); -#15492=PRODUCT_DEFINITION_SHAPE('',$,#2634); -#15493=SHAPE_DEFINITION_REPRESENTATION(#15492,#15494); -#15494=SHAPE_REPRESENTATION('',(#2635),#14736); -#15495=PRODUCT_DEFINITION_SHAPE('',$,#2656); -#15496=SHAPE_DEFINITION_REPRESENTATION(#15495,#15497); -#15497=SHAPE_REPRESENTATION('',(#2657),#14736); -#15498=REPRESENTATION_MAP(#26,#2666); -#15499=PRODUCT_DEFINITION_SHAPE('',$,#2668); -#15500=SHAPE_DEFINITION_REPRESENTATION(#15499,#15501); -#15501=SHAPE_REPRESENTATION('',(#2669),#14736); -#15502=REPRESENTATION_MAP(#26,#2678); -#15503=PRODUCT_DEFINITION_SHAPE('',$,#2680); -#15504=SHAPE_DEFINITION_REPRESENTATION(#15503,#15505); -#15505=SHAPE_REPRESENTATION('',(#2681),#14736); -#15506=REPRESENTATION_MAP(#26,#2698); -#15507=PRODUCT_DEFINITION_SHAPE('',$,#2700); -#15508=SHAPE_DEFINITION_REPRESENTATION(#15507,#15509); -#15509=SHAPE_REPRESENTATION('',(#2701),#14736); -#15510=REPRESENTATION_MAP(#26,#2713); -#15511=PRODUCT_DEFINITION_SHAPE('',$,#2715); -#15512=SHAPE_DEFINITION_REPRESENTATION(#15511,#15513); -#15513=SHAPE_REPRESENTATION('',(#2716),#14736); -#15514=PRODUCT_DEFINITION_SHAPE('',$,#2732); -#15515=SHAPE_DEFINITION_REPRESENTATION(#15514,#15516); -#15516=SHAPE_REPRESENTATION('',(#2733),#14736); -#15517=REPRESENTATION_MAP(#26,#2745); -#15518=PRODUCT_DEFINITION_SHAPE('',$,#2761); -#15519=SHAPE_DEFINITION_REPRESENTATION(#15518,#15520); -#15520=SHAPE_REPRESENTATION('',(#2762),#14736); -#15521=REPRESENTATION_MAP(#26,#2768); -#15522=PRODUCT_DEFINITION_SHAPE('',$,#2770); -#15523=SHAPE_DEFINITION_REPRESENTATION(#15522,#15524); -#15524=SHAPE_REPRESENTATION('',(#2771),#14736); -#15525=REPRESENTATION_MAP(#26,#2780); -#15526=PRODUCT_DEFINITION_SHAPE('',$,#2782); -#15527=SHAPE_DEFINITION_REPRESENTATION(#15526,#15528); -#15528=SHAPE_REPRESENTATION('',(#2783),#14736); -#15529=REPRESENTATION_MAP(#26,#2792); -#15530=PRODUCT_DEFINITION_SHAPE('',$,#2794); -#15531=SHAPE_DEFINITION_REPRESENTATION(#15530,#15532); -#15532=SHAPE_REPRESENTATION('',(#2795),#14736); -#15533=PRODUCT_DEFINITION_SHAPE('',$,#2798); -#15534=SHAPE_DEFINITION_REPRESENTATION(#15533,#15535); -#15535=SHAPE_REPRESENTATION('',(#2799),#14736); -#15536=PRODUCT_DEFINITION_SHAPE('',$,#2802); -#15537=SHAPE_DEFINITION_REPRESENTATION(#15536,#15538); -#15538=SHAPE_REPRESENTATION('',(#2803),#14736); -#15539=PRODUCT_DEFINITION_SHAPE('',$,#2806); -#15540=SHAPE_DEFINITION_REPRESENTATION(#15539,#15541); -#15541=SHAPE_REPRESENTATION('',(#2807),#14736); -#15542=PRODUCT_DEFINITION_SHAPE('',$,#2810); -#15543=SHAPE_DEFINITION_REPRESENTATION(#15542,#15544); -#15544=SHAPE_REPRESENTATION('',(#2811),#14736); -#15545=PRODUCT_DEFINITION_SHAPE('',$,#2814); -#15546=SHAPE_DEFINITION_REPRESENTATION(#15545,#15547); -#15547=SHAPE_REPRESENTATION('',(#2815),#14736); -#15548=PRODUCT_DEFINITION_SHAPE('',$,#2818); -#15549=SHAPE_DEFINITION_REPRESENTATION(#15548,#15550); -#15550=SHAPE_REPRESENTATION('',(#2819),#14736); -#15551=REPRESENTATION_MAP(#26,#2828); -#15552=PRODUCT_DEFINITION_SHAPE('',$,#2831); -#15553=SHAPE_DEFINITION_REPRESENTATION(#15552,#15554); -#15554=SHAPE_REPRESENTATION('',(#2832),#14736); -#15555=PRODUCT_DEFINITION_SHAPE('',$,#2835); -#15556=SHAPE_DEFINITION_REPRESENTATION(#15555,#15557); -#15557=SHAPE_REPRESENTATION('',(#2836),#14736); -#15558=PRODUCT_DEFINITION_SHAPE('',$,#2839); -#15559=SHAPE_DEFINITION_REPRESENTATION(#15558,#15560); -#15560=SHAPE_REPRESENTATION('',(#2840),#14736); -#15561=PRODUCT_DEFINITION_SHAPE('',$,#2843); -#15562=SHAPE_DEFINITION_REPRESENTATION(#15561,#15563); -#15563=SHAPE_REPRESENTATION('',(#2844),#14736); -#15564=PRODUCT_DEFINITION_SHAPE('',$,#2847); -#15565=SHAPE_DEFINITION_REPRESENTATION(#15564,#15566); -#15566=SHAPE_REPRESENTATION('',(#2848),#14736); -#15567=PRODUCT_DEFINITION_SHAPE('',$,#2851); -#15568=SHAPE_DEFINITION_REPRESENTATION(#15567,#15569); -#15569=SHAPE_REPRESENTATION('',(#2852),#14736); -#15570=PRODUCT_DEFINITION_SHAPE('',$,#2855); -#15571=SHAPE_DEFINITION_REPRESENTATION(#15570,#15572); -#15572=SHAPE_REPRESENTATION('',(#2856),#14736); -#15573=PRODUCT_DEFINITION_SHAPE('',$,#2859); -#15574=SHAPE_DEFINITION_REPRESENTATION(#15573,#15575); -#15575=SHAPE_REPRESENTATION('',(#2860),#14736); -#15576=PRODUCT_DEFINITION_SHAPE('',$,#2863); -#15577=SHAPE_DEFINITION_REPRESENTATION(#15576,#15578); -#15578=SHAPE_REPRESENTATION('',(#2864),#14736); -#15579=PRODUCT_DEFINITION_SHAPE('',$,#2867); -#15580=SHAPE_DEFINITION_REPRESENTATION(#15579,#15581); -#15581=SHAPE_REPRESENTATION('',(#2868),#14736); -#15582=PRODUCT_DEFINITION_SHAPE('',$,#2871); -#15583=SHAPE_DEFINITION_REPRESENTATION(#15582,#15584); -#15584=SHAPE_REPRESENTATION('',(#2872),#14736); -#15585=PRODUCT_DEFINITION_SHAPE('',$,#2875); -#15586=SHAPE_DEFINITION_REPRESENTATION(#15585,#15587); -#15587=SHAPE_REPRESENTATION('',(#2876),#14736); -#15588=REPRESENTATION_MAP(#26,#2887); -#15589=PRODUCT_DEFINITION_SHAPE('',$,#2903); -#15590=SHAPE_DEFINITION_REPRESENTATION(#15589,#15591); -#15591=SHAPE_REPRESENTATION('',(#2904),#14736); -#15592=REPRESENTATION_MAP(#26,#2910); -#15593=PRODUCT_DEFINITION_SHAPE('',$,#2912); -#15594=SHAPE_DEFINITION_REPRESENTATION(#15593,#15595); -#15595=SHAPE_REPRESENTATION('',(#2913),#14736); -#15596=REPRESENTATION_MAP(#26,#2922); -#15597=PRODUCT_DEFINITION_SHAPE('',$,#2924); -#15598=SHAPE_DEFINITION_REPRESENTATION(#15597,#15599); -#15599=SHAPE_REPRESENTATION('',(#2925),#14736); -#15600=REPRESENTATION_MAP(#26,#2934); -#15601=PRODUCT_DEFINITION_SHAPE('',$,#2936); -#15602=SHAPE_DEFINITION_REPRESENTATION(#15601,#15603); -#15603=SHAPE_REPRESENTATION('',(#2937),#14736); -#15604=PRODUCT_DEFINITION_SHAPE('',$,#2940); -#15605=SHAPE_DEFINITION_REPRESENTATION(#15604,#15606); -#15606=SHAPE_REPRESENTATION('',(#2941),#14736); -#15607=PRODUCT_DEFINITION_SHAPE('',$,#2944); -#15608=SHAPE_DEFINITION_REPRESENTATION(#15607,#15609); -#15609=SHAPE_REPRESENTATION('',(#2945),#14736); -#15610=PRODUCT_DEFINITION_SHAPE('',$,#2948); -#15611=SHAPE_DEFINITION_REPRESENTATION(#15610,#15612); -#15612=SHAPE_REPRESENTATION('',(#2949),#14736); -#15613=PRODUCT_DEFINITION_SHAPE('',$,#2952); -#15614=SHAPE_DEFINITION_REPRESENTATION(#15613,#15615); -#15615=SHAPE_REPRESENTATION('',(#2953),#14736); -#15616=PRODUCT_DEFINITION_SHAPE('',$,#2956); -#15617=SHAPE_DEFINITION_REPRESENTATION(#15616,#15618); -#15618=SHAPE_REPRESENTATION('',(#2957),#14736); -#15619=PRODUCT_DEFINITION_SHAPE('',$,#2960); -#15620=SHAPE_DEFINITION_REPRESENTATION(#15619,#15621); -#15621=SHAPE_REPRESENTATION('',(#2961),#14736); -#15622=REPRESENTATION_MAP(#26,#2970); -#15623=PRODUCT_DEFINITION_SHAPE('',$,#2973); -#15624=SHAPE_DEFINITION_REPRESENTATION(#15623,#15625); -#15625=SHAPE_REPRESENTATION('',(#2974),#14736); -#15626=PRODUCT_DEFINITION_SHAPE('',$,#2977); -#15627=SHAPE_DEFINITION_REPRESENTATION(#15626,#15628); -#15628=SHAPE_REPRESENTATION('',(#2978),#14736); -#15629=PRODUCT_DEFINITION_SHAPE('',$,#2981); -#15630=SHAPE_DEFINITION_REPRESENTATION(#15629,#15631); -#15631=SHAPE_REPRESENTATION('',(#2982),#14736); -#15632=PRODUCT_DEFINITION_SHAPE('',$,#2985); -#15633=SHAPE_DEFINITION_REPRESENTATION(#15632,#15634); -#15634=SHAPE_REPRESENTATION('',(#2986),#14736); -#15635=PRODUCT_DEFINITION_SHAPE('',$,#2989); -#15636=SHAPE_DEFINITION_REPRESENTATION(#15635,#15637); -#15637=SHAPE_REPRESENTATION('',(#2990),#14736); -#15638=PRODUCT_DEFINITION_SHAPE('',$,#2993); -#15639=SHAPE_DEFINITION_REPRESENTATION(#15638,#15640); -#15640=SHAPE_REPRESENTATION('',(#2994),#14736); -#15641=PRODUCT_DEFINITION_SHAPE('',$,#2997); -#15642=SHAPE_DEFINITION_REPRESENTATION(#15641,#15643); -#15643=SHAPE_REPRESENTATION('',(#2998),#14736); -#15644=PRODUCT_DEFINITION_SHAPE('',$,#3001); -#15645=SHAPE_DEFINITION_REPRESENTATION(#15644,#15646); -#15646=SHAPE_REPRESENTATION('',(#3002),#14736); -#15647=PRODUCT_DEFINITION_SHAPE('',$,#3005); -#15648=SHAPE_DEFINITION_REPRESENTATION(#15647,#15649); -#15649=SHAPE_REPRESENTATION('',(#3006),#14736); -#15650=PRODUCT_DEFINITION_SHAPE('',$,#3009); -#15651=SHAPE_DEFINITION_REPRESENTATION(#15650,#15652); -#15652=SHAPE_REPRESENTATION('',(#3010),#14736); -#15653=PRODUCT_DEFINITION_SHAPE('',$,#3013); -#15654=SHAPE_DEFINITION_REPRESENTATION(#15653,#15655); -#15655=SHAPE_REPRESENTATION('',(#3014),#14736); -#15656=PRODUCT_DEFINITION_SHAPE('',$,#3017); -#15657=SHAPE_DEFINITION_REPRESENTATION(#15656,#15658); -#15658=SHAPE_REPRESENTATION('',(#3018),#14736); -#15659=REPRESENTATION_MAP(#26,#3029); -#15660=PRODUCT_DEFINITION_SHAPE('',$,#3045); -#15661=SHAPE_DEFINITION_REPRESENTATION(#15660,#15662); -#15662=SHAPE_REPRESENTATION('',(#3046),#14736); -#15663=REPRESENTATION_MAP(#26,#3052); -#15664=PRODUCT_DEFINITION_SHAPE('',$,#3054); -#15665=SHAPE_DEFINITION_REPRESENTATION(#15664,#15666); -#15666=SHAPE_REPRESENTATION('',(#3055),#14736); -#15667=REPRESENTATION_MAP(#26,#3064); -#15668=PRODUCT_DEFINITION_SHAPE('',$,#3066); -#15669=SHAPE_DEFINITION_REPRESENTATION(#15668,#15670); -#15670=SHAPE_REPRESENTATION('',(#3067),#14736); -#15671=REPRESENTATION_MAP(#26,#3076); -#15672=PRODUCT_DEFINITION_SHAPE('',$,#3078); -#15673=SHAPE_DEFINITION_REPRESENTATION(#15672,#15674); -#15674=SHAPE_REPRESENTATION('',(#3079),#14736); -#15675=PRODUCT_DEFINITION_SHAPE('',$,#3082); -#15676=SHAPE_DEFINITION_REPRESENTATION(#15675,#15677); -#15677=SHAPE_REPRESENTATION('',(#3083),#14736); -#15678=PRODUCT_DEFINITION_SHAPE('',$,#3086); -#15679=SHAPE_DEFINITION_REPRESENTATION(#15678,#15680); -#15680=SHAPE_REPRESENTATION('',(#3087),#14736); -#15681=PRODUCT_DEFINITION_SHAPE('',$,#3090); -#15682=SHAPE_DEFINITION_REPRESENTATION(#15681,#15683); -#15683=SHAPE_REPRESENTATION('',(#3091),#14736); -#15684=PRODUCT_DEFINITION_SHAPE('',$,#3094); -#15685=SHAPE_DEFINITION_REPRESENTATION(#15684,#15686); -#15686=SHAPE_REPRESENTATION('',(#3095),#14736); -#15687=PRODUCT_DEFINITION_SHAPE('',$,#3098); -#15688=SHAPE_DEFINITION_REPRESENTATION(#15687,#15689); -#15689=SHAPE_REPRESENTATION('',(#3099),#14736); -#15690=PRODUCT_DEFINITION_SHAPE('',$,#3102); -#15691=SHAPE_DEFINITION_REPRESENTATION(#15690,#15692); -#15692=SHAPE_REPRESENTATION('',(#3103),#14736); -#15693=REPRESENTATION_MAP(#26,#3112); -#15694=PRODUCT_DEFINITION_SHAPE('',$,#3115); -#15695=SHAPE_DEFINITION_REPRESENTATION(#15694,#15696); -#15696=SHAPE_REPRESENTATION('',(#3116),#14736); -#15697=PRODUCT_DEFINITION_SHAPE('',$,#3119); -#15698=SHAPE_DEFINITION_REPRESENTATION(#15697,#15699); -#15699=SHAPE_REPRESENTATION('',(#3120),#14736); -#15700=PRODUCT_DEFINITION_SHAPE('',$,#3123); -#15701=SHAPE_DEFINITION_REPRESENTATION(#15700,#15702); -#15702=SHAPE_REPRESENTATION('',(#3124),#14736); -#15703=PRODUCT_DEFINITION_SHAPE('',$,#3127); -#15704=SHAPE_DEFINITION_REPRESENTATION(#15703,#15705); -#15705=SHAPE_REPRESENTATION('',(#3128),#14736); -#15706=PRODUCT_DEFINITION_SHAPE('',$,#3131); -#15707=SHAPE_DEFINITION_REPRESENTATION(#15706,#15708); -#15708=SHAPE_REPRESENTATION('',(#3132),#14736); -#15709=PRODUCT_DEFINITION_SHAPE('',$,#3135); -#15710=SHAPE_DEFINITION_REPRESENTATION(#15709,#15711); -#15711=SHAPE_REPRESENTATION('',(#3136),#14736); -#15712=PRODUCT_DEFINITION_SHAPE('',$,#3139); -#15713=SHAPE_DEFINITION_REPRESENTATION(#15712,#15714); -#15714=SHAPE_REPRESENTATION('',(#3140),#14736); -#15715=PRODUCT_DEFINITION_SHAPE('',$,#3143); -#15716=SHAPE_DEFINITION_REPRESENTATION(#15715,#15717); -#15717=SHAPE_REPRESENTATION('',(#3144),#14736); -#15718=PRODUCT_DEFINITION_SHAPE('',$,#3147); -#15719=SHAPE_DEFINITION_REPRESENTATION(#15718,#15720); -#15720=SHAPE_REPRESENTATION('',(#3148),#14736); -#15721=PRODUCT_DEFINITION_SHAPE('',$,#3151); -#15722=SHAPE_DEFINITION_REPRESENTATION(#15721,#15723); -#15723=SHAPE_REPRESENTATION('',(#3152),#14736); -#15724=PRODUCT_DEFINITION_SHAPE('',$,#3155); -#15725=SHAPE_DEFINITION_REPRESENTATION(#15724,#15726); -#15726=SHAPE_REPRESENTATION('',(#3156),#14736); -#15727=PRODUCT_DEFINITION_SHAPE('',$,#3159); -#15728=SHAPE_DEFINITION_REPRESENTATION(#15727,#15729); -#15729=SHAPE_REPRESENTATION('',(#3160),#14736); -#15730=REPRESENTATION_MAP(#26,#1285); -#15731=PRODUCT_DEFINITION_SHAPE('',$,#3208); -#15732=SHAPE_DEFINITION_REPRESENTATION(#15731,#15733); -#15733=SHAPE_REPRESENTATION('',(#3209),#14736); -#15734=PRODUCT_DEFINITION_SHAPE('',$,#3215); -#15735=SHAPE_DEFINITION_REPRESENTATION(#15734,#15736); -#15736=SHAPE_REPRESENTATION('',(#3216),#14736); -#15737=REPRESENTATION_MAP(#26,#1337); -#15738=PRODUCT_DEFINITION_SHAPE('',$,#3249); -#15739=SHAPE_DEFINITION_REPRESENTATION(#15738,#15740); -#15740=SHAPE_REPRESENTATION('',(#3250),#14736); -#15741=PRODUCT_DEFINITION_SHAPE('',$,#3256); -#15742=SHAPE_DEFINITION_REPRESENTATION(#15741,#15743); -#15743=SHAPE_REPRESENTATION('',(#3257),#14736); -#15744=REPRESENTATION_MAP(#26,#2497); -#15745=PRODUCT_DEFINITION_SHAPE('',$,#3302); -#15746=SHAPE_DEFINITION_REPRESENTATION(#15745,#15747); -#15747=SHAPE_REPRESENTATION('',(#3303),#14736); -#15748=REPRESENTATION_MAP(#26,#2549); -#15749=PRODUCT_DEFINITION_SHAPE('',$,#3304); -#15750=SHAPE_DEFINITION_REPRESENTATION(#15749,#15751); -#15751=SHAPE_REPRESENTATION('',(#3305),#14736); -#15752=PRODUCT_DEFINITION_SHAPE('',$,#3311); -#15753=SHAPE_DEFINITION_REPRESENTATION(#15752,#15754); -#15754=SHAPE_REPRESENTATION('',(#3312),#14736); -#15755=PRODUCT_DEFINITION_SHAPE('',$,#3313); -#15756=SHAPE_DEFINITION_REPRESENTATION(#15755,#15757); -#15757=SHAPE_REPRESENTATION('',(#3314),#14736); -#15758=REPRESENTATION_MAP(#26,#2595); -#15759=PRODUCT_DEFINITION_SHAPE('',$,#3347); -#15760=SHAPE_DEFINITION_REPRESENTATION(#15759,#15761); -#15761=SHAPE_REPRESENTATION('',(#3348),#14736); -#15762=REPRESENTATION_MAP(#26,#2647); -#15763=PRODUCT_DEFINITION_SHAPE('',$,#3349); -#15764=SHAPE_DEFINITION_REPRESENTATION(#15763,#15765); -#15765=SHAPE_REPRESENTATION('',(#3350),#14736); -#15766=PRODUCT_DEFINITION_SHAPE('',$,#3356); -#15767=SHAPE_DEFINITION_REPRESENTATION(#15766,#15768); -#15768=SHAPE_REPRESENTATION('',(#3357),#14736); -#15769=PRODUCT_DEFINITION_SHAPE('',$,#3358); -#15770=SHAPE_DEFINITION_REPRESENTATION(#15769,#15771); -#15771=SHAPE_REPRESENTATION('',(#3359),#14736); -#15772=REPRESENTATION_MAP(#26,#3363); -#15773=PRODUCT_DEFINITION_SHAPE('',$,#3365); -#15774=SHAPE_DEFINITION_REPRESENTATION(#15773,#15775); -#15775=SHAPE_REPRESENTATION('',(#3366),#14736); -#15776=REPRESENTATION_MAP(#26,#3385); -#15777=PRODUCT_DEFINITION_SHAPE('',$,#3387); -#15778=SHAPE_DEFINITION_REPRESENTATION(#15777,#15779); -#15779=SHAPE_REPRESENTATION('',(#3388),#14736); -#15780=REPRESENTATION_MAP(#26,#2693); -#15781=PRODUCT_DEFINITION_SHAPE('',$,#3407); -#15782=SHAPE_DEFINITION_REPRESENTATION(#15781,#15783); -#15783=SHAPE_REPRESENTATION('',(#3408),#14736); -#15784=PRODUCT_DEFINITION_SHAPE('',$,#3414); -#15785=SHAPE_DEFINITION_REPRESENTATION(#15784,#15786); -#15786=SHAPE_REPRESENTATION('',(#3415),#14736); -#15787=PRODUCT_DEFINITION_SHAPE('',$,#3421); -#15788=SHAPE_DEFINITION_REPRESENTATION(#15787,#15789); -#15789=SHAPE_REPRESENTATION('',(#3422),#14736); -#15790=PRODUCT_DEFINITION_SHAPE('',$,#3428); -#15791=SHAPE_DEFINITION_REPRESENTATION(#15790,#15792); -#15792=SHAPE_REPRESENTATION('',(#3429),#14736); -#15793=PRODUCT_DEFINITION_SHAPE('',$,#3435); -#15794=SHAPE_DEFINITION_REPRESENTATION(#15793,#15795); -#15795=SHAPE_REPRESENTATION('',(#3436),#14736); -#15796=PRODUCT_DEFINITION_SHAPE('',$,#3442); -#15797=SHAPE_DEFINITION_REPRESENTATION(#15796,#15798); -#15798=SHAPE_REPRESENTATION('',(#3443),#14736); -#15799=PRODUCT_DEFINITION_SHAPE('',$,#3449); -#15800=SHAPE_DEFINITION_REPRESENTATION(#15799,#15801); -#15801=SHAPE_REPRESENTATION('',(#3450),#14736); -#15802=PRODUCT_DEFINITION_SHAPE('',$,#3456); -#15803=SHAPE_DEFINITION_REPRESENTATION(#15802,#15804); -#15804=SHAPE_REPRESENTATION('',(#3457),#14736); -#15805=REPRESENTATION_MAP(#26,#2759); -#15806=PRODUCT_DEFINITION_SHAPE('',$,#3463); -#15807=SHAPE_DEFINITION_REPRESENTATION(#15806,#15808); -#15808=SHAPE_REPRESENTATION('',(#3464),#14736); -#15809=REPRESENTATION_MAP(#26,#3471); -#15810=PRODUCT_DEFINITION_SHAPE('',$,#3473); -#15811=SHAPE_DEFINITION_REPRESENTATION(#15810,#15812); -#15812=SHAPE_REPRESENTATION('',(#3474),#14736); -#15813=PRODUCT_DEFINITION_SHAPE('',$,#3477); -#15814=SHAPE_DEFINITION_REPRESENTATION(#15813,#15815); -#15815=SHAPE_REPRESENTATION('',(#3478),#14736); -#15816=PRODUCT_DEFINITION_SHAPE('',$,#3490); -#15817=SHAPE_DEFINITION_REPRESENTATION(#15816,#15818); -#15818=SHAPE_REPRESENTATION('',(#3491),#14736); -#15819=REPRESENTATION_MAP(#26,#3498); -#15820=PRODUCT_DEFINITION_SHAPE('',$,#3500); -#15821=SHAPE_DEFINITION_REPRESENTATION(#15820,#15822); -#15822=SHAPE_REPRESENTATION('',(#3501),#14736); -#15823=PRODUCT_DEFINITION_SHAPE('',$,#3504); -#15824=SHAPE_DEFINITION_REPRESENTATION(#15823,#15825); -#15825=SHAPE_REPRESENTATION('',(#3505),#14736); -#15826=PRODUCT_DEFINITION_SHAPE('',$,#3515); -#15827=SHAPE_DEFINITION_REPRESENTATION(#15826,#15828); -#15828=SHAPE_REPRESENTATION('',(#3516),#14736); -#15829=REPRESENTATION_MAP(#26,#3523); -#15830=PRODUCT_DEFINITION_SHAPE('',$,#3525); -#15831=SHAPE_DEFINITION_REPRESENTATION(#15830,#15832); -#15832=SHAPE_REPRESENTATION('',(#3526),#14736); -#15833=PRODUCT_DEFINITION_SHAPE('',$,#3529); -#15834=SHAPE_DEFINITION_REPRESENTATION(#15833,#15835); -#15835=SHAPE_REPRESENTATION('',(#3530),#14736); -#15836=PRODUCT_DEFINITION_SHAPE('',$,#3540); -#15837=SHAPE_DEFINITION_REPRESENTATION(#15836,#15838); -#15838=SHAPE_REPRESENTATION('',(#3541),#14736); -#15839=REPRESENTATION_MAP(#26,#3548); -#15840=PRODUCT_DEFINITION_SHAPE('',$,#3550); -#15841=SHAPE_DEFINITION_REPRESENTATION(#15840,#15842); -#15842=SHAPE_REPRESENTATION('',(#3551),#14736); -#15843=PRODUCT_DEFINITION_SHAPE('',$,#3554); -#15844=SHAPE_DEFINITION_REPRESENTATION(#15843,#15845); -#15845=SHAPE_REPRESENTATION('',(#3555),#14736); -#15846=PRODUCT_DEFINITION_SHAPE('',$,#3565); -#15847=SHAPE_DEFINITION_REPRESENTATION(#15846,#15848); -#15848=SHAPE_REPRESENTATION('',(#3566),#14736); -#15849=REPRESENTATION_MAP(#26,#3573); -#15850=PRODUCT_DEFINITION_SHAPE('',$,#3575); -#15851=SHAPE_DEFINITION_REPRESENTATION(#15850,#15852); -#15852=SHAPE_REPRESENTATION('',(#3576),#14736); -#15853=PRODUCT_DEFINITION_SHAPE('',$,#3579); -#15854=SHAPE_DEFINITION_REPRESENTATION(#15853,#15855); -#15855=SHAPE_REPRESENTATION('',(#3580),#14736); -#15856=PRODUCT_DEFINITION_SHAPE('',$,#3590); -#15857=SHAPE_DEFINITION_REPRESENTATION(#15856,#15858); -#15858=SHAPE_REPRESENTATION('',(#3591),#14736); -#15859=REPRESENTATION_MAP(#26,#3598); -#15860=PRODUCT_DEFINITION_SHAPE('',$,#3600); -#15861=SHAPE_DEFINITION_REPRESENTATION(#15860,#15862); -#15862=SHAPE_REPRESENTATION('',(#3601),#14736); -#15863=PRODUCT_DEFINITION_SHAPE('',$,#3604); -#15864=SHAPE_DEFINITION_REPRESENTATION(#15863,#15865); -#15865=SHAPE_REPRESENTATION('',(#3605),#14736); -#15866=PRODUCT_DEFINITION_SHAPE('',$,#3615); -#15867=SHAPE_DEFINITION_REPRESENTATION(#15866,#15868); -#15868=SHAPE_REPRESENTATION('',(#3616),#14736); -#15869=REPRESENTATION_MAP(#26,#3623); -#15870=PRODUCT_DEFINITION_SHAPE('',$,#3625); -#15871=SHAPE_DEFINITION_REPRESENTATION(#15870,#15872); -#15872=SHAPE_REPRESENTATION('',(#3626),#14736); -#15873=PRODUCT_DEFINITION_SHAPE('',$,#3629); -#15874=SHAPE_DEFINITION_REPRESENTATION(#15873,#15875); -#15875=SHAPE_REPRESENTATION('',(#3630),#14736); -#15876=PRODUCT_DEFINITION_SHAPE('',$,#3640); -#15877=SHAPE_DEFINITION_REPRESENTATION(#15876,#15878); -#15878=SHAPE_REPRESENTATION('',(#3641),#14736); -#15879=REPRESENTATION_MAP(#26,#3648); -#15880=PRODUCT_DEFINITION_SHAPE('',$,#3650); -#15881=SHAPE_DEFINITION_REPRESENTATION(#15880,#15882); -#15882=SHAPE_REPRESENTATION('',(#3651),#14736); -#15883=PRODUCT_DEFINITION_SHAPE('',$,#3654); -#15884=SHAPE_DEFINITION_REPRESENTATION(#15883,#15885); -#15885=SHAPE_REPRESENTATION('',(#3655),#14736); -#15886=PRODUCT_DEFINITION_SHAPE('',$,#3670); -#15887=SHAPE_DEFINITION_REPRESENTATION(#15886,#15888); -#15888=SHAPE_REPRESENTATION('',(#3671),#14736); -#15889=REPRESENTATION_MAP(#26,#3678); -#15890=PRODUCT_DEFINITION_SHAPE('',$,#3680); -#15891=SHAPE_DEFINITION_REPRESENTATION(#15890,#15892); -#15892=SHAPE_REPRESENTATION('',(#3681),#14736); -#15893=PRODUCT_DEFINITION_SHAPE('',$,#3684); -#15894=SHAPE_DEFINITION_REPRESENTATION(#15893,#15895); -#15895=SHAPE_REPRESENTATION('',(#3685),#14736); -#15896=PRODUCT_DEFINITION_SHAPE('',$,#3693); -#15897=SHAPE_DEFINITION_REPRESENTATION(#15896,#15898); -#15898=SHAPE_REPRESENTATION('',(#3694),#14736); -#15899=REPRESENTATION_MAP(#26,#3701); -#15900=PRODUCT_DEFINITION_SHAPE('',$,#3703); -#15901=SHAPE_DEFINITION_REPRESENTATION(#15900,#15902); -#15902=SHAPE_REPRESENTATION('',(#3704),#14736); -#15903=PRODUCT_DEFINITION_SHAPE('',$,#3707); -#15904=SHAPE_DEFINITION_REPRESENTATION(#15903,#15905); -#15905=SHAPE_REPRESENTATION('',(#3708),#14736); -#15906=PRODUCT_DEFINITION_SHAPE('',$,#3716); -#15907=SHAPE_DEFINITION_REPRESENTATION(#15906,#15908); -#15908=SHAPE_REPRESENTATION('',(#3717),#14736); -#15909=REPRESENTATION_MAP(#26,#3724); -#15910=PRODUCT_DEFINITION_SHAPE('',$,#3726); -#15911=SHAPE_DEFINITION_REPRESENTATION(#15910,#15912); -#15912=SHAPE_REPRESENTATION('',(#3727),#14736); -#15913=PRODUCT_DEFINITION_SHAPE('',$,#3730); -#15914=SHAPE_DEFINITION_REPRESENTATION(#15913,#15915); -#15915=SHAPE_REPRESENTATION('',(#3731),#14736); -#15916=PRODUCT_DEFINITION_SHAPE('',$,#3739); -#15917=SHAPE_DEFINITION_REPRESENTATION(#15916,#15918); -#15918=SHAPE_REPRESENTATION('',(#3740),#14736); -#15919=REPRESENTATION_MAP(#26,#3747); -#15920=PRODUCT_DEFINITION_SHAPE('',$,#3749); -#15921=SHAPE_DEFINITION_REPRESENTATION(#15920,#15922); -#15922=SHAPE_REPRESENTATION('',(#3750),#14736); -#15923=PRODUCT_DEFINITION_SHAPE('',$,#3753); -#15924=SHAPE_DEFINITION_REPRESENTATION(#15923,#15925); -#15925=SHAPE_REPRESENTATION('',(#3754),#14736); -#15926=PRODUCT_DEFINITION_SHAPE('',$,#3762); -#15927=SHAPE_DEFINITION_REPRESENTATION(#15926,#15928); -#15928=SHAPE_REPRESENTATION('',(#3763),#14736); -#15929=REPRESENTATION_MAP(#26,#3770); -#15930=PRODUCT_DEFINITION_SHAPE('',$,#3772); -#15931=SHAPE_DEFINITION_REPRESENTATION(#15930,#15932); -#15932=SHAPE_REPRESENTATION('',(#3773),#14736); -#15933=PRODUCT_DEFINITION_SHAPE('',$,#3776); -#15934=SHAPE_DEFINITION_REPRESENTATION(#15933,#15935); -#15935=SHAPE_REPRESENTATION('',(#3777),#14736); -#15936=PRODUCT_DEFINITION_SHAPE('',$,#3785); -#15937=SHAPE_DEFINITION_REPRESENTATION(#15936,#15938); -#15938=SHAPE_REPRESENTATION('',(#3786),#14736); -#15939=REPRESENTATION_MAP(#26,#3793); -#15940=PRODUCT_DEFINITION_SHAPE('',$,#3795); -#15941=SHAPE_DEFINITION_REPRESENTATION(#15940,#15942); -#15942=SHAPE_REPRESENTATION('',(#3796),#14736); -#15943=PRODUCT_DEFINITION_SHAPE('',$,#3799); -#15944=SHAPE_DEFINITION_REPRESENTATION(#15943,#15945); -#15945=SHAPE_REPRESENTATION('',(#3800),#14736); -#15946=PRODUCT_DEFINITION_SHAPE('',$,#3808); -#15947=SHAPE_DEFINITION_REPRESENTATION(#15946,#15948); -#15948=SHAPE_REPRESENTATION('',(#3809),#14736); -#15949=REPRESENTATION_MAP(#26,#3816); -#15950=PRODUCT_DEFINITION_SHAPE('',$,#3818); -#15951=SHAPE_DEFINITION_REPRESENTATION(#15950,#15952); -#15952=SHAPE_REPRESENTATION('',(#3819),#14736); -#15953=PRODUCT_DEFINITION_SHAPE('',$,#3822); -#15954=SHAPE_DEFINITION_REPRESENTATION(#15953,#15955); -#15955=SHAPE_REPRESENTATION('',(#3823),#14736); -#15956=PRODUCT_DEFINITION_SHAPE('',$,#3830); -#15957=SHAPE_DEFINITION_REPRESENTATION(#15956,#15958); -#15958=SHAPE_REPRESENTATION('',(#3831),#14736); -#15959=REPRESENTATION_MAP(#26,#3838); -#15960=PRODUCT_DEFINITION_SHAPE('',$,#3840); -#15961=SHAPE_DEFINITION_REPRESENTATION(#15960,#15962); -#15962=SHAPE_REPRESENTATION('',(#3841),#14736); -#15963=PRODUCT_DEFINITION_SHAPE('',$,#3844); -#15964=SHAPE_DEFINITION_REPRESENTATION(#15963,#15965); -#15965=SHAPE_REPRESENTATION('',(#3845),#14736); -#15966=REPRESENTATION_MAP(#26,#1153); -#15967=PRODUCT_DEFINITION_SHAPE('',$,#3872); -#15968=SHAPE_DEFINITION_REPRESENTATION(#15967,#15969); -#15969=SHAPE_REPRESENTATION('',(#3873),#14736); -#15970=PRODUCT_DEFINITION_SHAPE('',$,#3879); -#15971=SHAPE_DEFINITION_REPRESENTATION(#15970,#15972); -#15972=SHAPE_REPRESENTATION('',(#3880),#14736); -#15973=PRODUCT_DEFINITION_SHAPE('',$,#3901); -#15974=SHAPE_DEFINITION_REPRESENTATION(#15973,#15975); -#15975=SHAPE_REPRESENTATION('',(#3902),#14736); -#15976=PRODUCT_DEFINITION_SHAPE('',$,#3908); -#15977=SHAPE_DEFINITION_REPRESENTATION(#15976,#15978); -#15978=SHAPE_REPRESENTATION('',(#3909),#14736); -#15979=PRODUCT_DEFINITION_SHAPE('',$,#3987); -#15980=SHAPE_DEFINITION_REPRESENTATION(#15979,#15981); -#15981=SHAPE_REPRESENTATION('',(#3988),#14736); -#15982=PRODUCT_DEFINITION_SHAPE('',$,#3994); -#15983=SHAPE_DEFINITION_REPRESENTATION(#15982,#15984); -#15984=SHAPE_REPRESENTATION('',(#3995),#14736); -#15985=PRODUCT_DEFINITION_SHAPE('',$,#4001); -#15986=SHAPE_DEFINITION_REPRESENTATION(#15985,#15987); -#15987=SHAPE_REPRESENTATION('',(#4002),#14736); -#15988=PRODUCT_DEFINITION_SHAPE('',$,#4008); -#15989=SHAPE_DEFINITION_REPRESENTATION(#15988,#15990); -#15990=SHAPE_REPRESENTATION('',(#4009),#14736); -#15991=PRODUCT_DEFINITION_SHAPE('',$,#4015); -#15992=SHAPE_DEFINITION_REPRESENTATION(#15991,#15993); -#15993=SHAPE_REPRESENTATION('',(#4016),#14736); -#15994=PRODUCT_DEFINITION_SHAPE('',$,#4022); -#15995=SHAPE_DEFINITION_REPRESENTATION(#15994,#15996); -#15996=SHAPE_REPRESENTATION('',(#4023),#14736); -#15997=PRODUCT_DEFINITION_SHAPE('',$,#4029); -#15998=SHAPE_DEFINITION_REPRESENTATION(#15997,#15999); -#15999=SHAPE_REPRESENTATION('',(#4030),#14736); -#16000=REPRESENTATION_MAP(#26,#1521); -#16001=PRODUCT_DEFINITION_SHAPE('',$,#4035); -#16002=SHAPE_DEFINITION_REPRESENTATION(#16001,#16003); -#16003=SHAPE_REPRESENTATION('',(#4036),#14736); -#16004=PRODUCT_DEFINITION_SHAPE('',$,#4071); -#16005=SHAPE_DEFINITION_REPRESENTATION(#16004,#16006); -#16006=SHAPE_REPRESENTATION('',(#4072),#14736); -#16007=PRODUCT_DEFINITION_SHAPE('',$,#4078); -#16008=SHAPE_DEFINITION_REPRESENTATION(#16007,#16009); -#16009=SHAPE_REPRESENTATION('',(#4079),#14736); -#16010=PRODUCT_DEFINITION_SHAPE('',$,#4115); -#16011=SHAPE_DEFINITION_REPRESENTATION(#16010,#16012); -#16012=SHAPE_REPRESENTATION('',(#4116),#14736); -#16013=PRODUCT_DEFINITION_SHAPE('',$,#4121); -#16014=SHAPE_DEFINITION_REPRESENTATION(#16013,#16015); -#16015=SHAPE_REPRESENTATION('',(#4122),#14736); -#16016=PRODUCT_DEFINITION_SHAPE('',$,#4155); -#16017=SHAPE_DEFINITION_REPRESENTATION(#16016,#16018); -#16018=SHAPE_REPRESENTATION('',(#4156),#14736); -#16019=PRODUCT_DEFINITION_SHAPE('',$,#4157); -#16020=SHAPE_DEFINITION_REPRESENTATION(#16019,#16021); -#16021=SHAPE_REPRESENTATION('',(#4158),#14736); -#16022=PRODUCT_DEFINITION_SHAPE('',$,#4164); -#16023=SHAPE_DEFINITION_REPRESENTATION(#16022,#16024); -#16024=SHAPE_REPRESENTATION('',(#4165),#14736); -#16025=PRODUCT_DEFINITION_SHAPE('',$,#4166); -#16026=SHAPE_DEFINITION_REPRESENTATION(#16025,#16027); -#16027=SHAPE_REPRESENTATION('',(#4167),#14736); -#16028=PRODUCT_DEFINITION_SHAPE('',$,#4245); -#16029=SHAPE_DEFINITION_REPRESENTATION(#16028,#16030); -#16030=SHAPE_REPRESENTATION('',(#4246),#14736); -#16031=PRODUCT_DEFINITION_SHAPE('',$,#4252); -#16032=SHAPE_DEFINITION_REPRESENTATION(#16031,#16033); -#16033=SHAPE_REPRESENTATION('',(#4253),#14736); -#16034=PRODUCT_DEFINITION_SHAPE('',$,#4259); -#16035=SHAPE_DEFINITION_REPRESENTATION(#16034,#16036); -#16036=SHAPE_REPRESENTATION('',(#4260),#14736); -#16037=PRODUCT_DEFINITION_SHAPE('',$,#4266); -#16038=SHAPE_DEFINITION_REPRESENTATION(#16037,#16039); -#16039=SHAPE_REPRESENTATION('',(#4267),#14736); -#16040=PRODUCT_DEFINITION_SHAPE('',$,#4273); -#16041=SHAPE_DEFINITION_REPRESENTATION(#16040,#16042); -#16042=SHAPE_REPRESENTATION('',(#4274),#14736); -#16043=PRODUCT_DEFINITION_SHAPE('',$,#4280); -#16044=SHAPE_DEFINITION_REPRESENTATION(#16043,#16045); -#16045=SHAPE_REPRESENTATION('',(#4281),#14736); -#16046=PRODUCT_DEFINITION_SHAPE('',$,#4287); -#16047=SHAPE_DEFINITION_REPRESENTATION(#16046,#16048); -#16048=SHAPE_REPRESENTATION('',(#4288),#14736); -#16049=PRODUCT_DEFINITION_SHAPE('',$,#4294); -#16050=SHAPE_DEFINITION_REPRESENTATION(#16049,#16051); -#16051=SHAPE_REPRESENTATION('',(#4295),#14736); -#16052=REPRESENTATION_MAP(#26,#4345); -#16053=PRODUCT_DEFINITION_SHAPE('',$,#4347); -#16054=SHAPE_DEFINITION_REPRESENTATION(#16053,#16055); -#16055=SHAPE_REPRESENTATION('',(#4348),#14736); -#16056=PRODUCT_DEFINITION_SHAPE('',$,#4349); -#16057=SHAPE_DEFINITION_REPRESENTATION(#16056,#16058); -#16058=SHAPE_REPRESENTATION('',(#4350),#14736); -#16059=REPRESENTATION_MAP(#26,#4357); -#16060=PRODUCT_DEFINITION_SHAPE('',$,#4359); -#16061=SHAPE_DEFINITION_REPRESENTATION(#16060,#16062); -#16062=SHAPE_REPRESENTATION('',(#4360),#14736); -#16063=PRODUCT_DEFINITION_SHAPE('',$,#4361); -#16064=SHAPE_DEFINITION_REPRESENTATION(#16063,#16065); -#16065=SHAPE_REPRESENTATION('',(#4362),#14736); -#16066=REPRESENTATION_MAP(#26,#4373); -#16067=PRODUCT_DEFINITION_SHAPE('',$,#4378); -#16068=SHAPE_DEFINITION_REPRESENTATION(#16067,#16069); -#16069=SHAPE_REPRESENTATION('',(#4379),#14736); -#16070=REPRESENTATION_MAP(#26,#4385); -#16071=PRODUCT_DEFINITION_SHAPE('',$,#4387); -#16072=SHAPE_DEFINITION_REPRESENTATION(#16071,#16073); -#16073=SHAPE_REPRESENTATION('',(#4388),#14736); -#16074=REPRESENTATION_MAP(#26,#4395); -#16075=PRODUCT_DEFINITION_SHAPE('',$,#4397); -#16076=SHAPE_DEFINITION_REPRESENTATION(#16075,#16077); -#16077=SHAPE_REPRESENTATION('',(#4398),#14736); -#16078=REPRESENTATION_MAP(#26,#4405); -#16079=PRODUCT_DEFINITION_SHAPE('',$,#4407); -#16080=SHAPE_DEFINITION_REPRESENTATION(#16079,#16081); -#16081=SHAPE_REPRESENTATION('',(#4408),#14736); -#16082=PRODUCT_DEFINITION_SHAPE('',$,#4409); -#16083=SHAPE_DEFINITION_REPRESENTATION(#16082,#16084); -#16084=SHAPE_REPRESENTATION('',(#4410),#14736); -#16085=REPRESENTATION_MAP(#26,#4417); -#16086=PRODUCT_DEFINITION_SHAPE('',$,#4419); -#16087=SHAPE_DEFINITION_REPRESENTATION(#16086,#16088); -#16088=SHAPE_REPRESENTATION('',(#4420),#14736); -#16089=PRODUCT_DEFINITION_SHAPE('',$,#4421); -#16090=SHAPE_DEFINITION_REPRESENTATION(#16089,#16091); -#16091=SHAPE_REPRESENTATION('',(#4422),#14736); -#16092=REPRESENTATION_MAP(#26,#4435); -#16093=PRODUCT_DEFINITION_SHAPE('',$,#4437); -#16094=SHAPE_DEFINITION_REPRESENTATION(#16093,#16095); -#16095=SHAPE_REPRESENTATION('',(#4438),#14736); -#16096=PRODUCT_DEFINITION_SHAPE('',$,#4439); -#16097=SHAPE_DEFINITION_REPRESENTATION(#16096,#16098); -#16098=SHAPE_REPRESENTATION('',(#4440),#14736); -#16099=REPRESENTATION_MAP(#26,#4454); -#16100=PRODUCT_DEFINITION_SHAPE('',$,#4456); -#16101=SHAPE_DEFINITION_REPRESENTATION(#16100,#16102); -#16102=SHAPE_REPRESENTATION('',(#4457),#14736); -#16103=PRODUCT_DEFINITION_SHAPE('',$,#4458); -#16104=SHAPE_DEFINITION_REPRESENTATION(#16103,#16105); -#16105=SHAPE_REPRESENTATION('',(#4459),#14736); -#16106=REPRESENTATION_MAP(#26,#4470); -#16107=PRODUCT_DEFINITION_SHAPE('',$,#4472); -#16108=SHAPE_DEFINITION_REPRESENTATION(#16107,#16109); -#16109=SHAPE_REPRESENTATION('',(#4473),#14736); -#16110=PRODUCT_DEFINITION_SHAPE('',$,#4474); -#16111=SHAPE_DEFINITION_REPRESENTATION(#16110,#16112); -#16112=SHAPE_REPRESENTATION('',(#4475),#14736); -#16113=REPRESENTATION_MAP(#26,#4489); -#16114=PRODUCT_DEFINITION_SHAPE('',$,#4491); -#16115=SHAPE_DEFINITION_REPRESENTATION(#16114,#16116); -#16116=SHAPE_REPRESENTATION('',(#4492),#14736); -#16117=REPRESENTATION_MAP(#26,#4500); -#16118=PRODUCT_DEFINITION_SHAPE('',$,#4502); -#16119=SHAPE_DEFINITION_REPRESENTATION(#16118,#16120); -#16120=SHAPE_REPRESENTATION('',(#4503),#14736); -#16121=REPRESENTATION_MAP(#26,#4509); -#16122=PRODUCT_DEFINITION_SHAPE('',$,#4511); -#16123=SHAPE_DEFINITION_REPRESENTATION(#16122,#16124); -#16124=SHAPE_REPRESENTATION('',(#4512),#14736); -#16125=REPRESENTATION_MAP(#26,#4518); -#16126=PRODUCT_DEFINITION_SHAPE('',$,#4520); -#16127=SHAPE_DEFINITION_REPRESENTATION(#16126,#16128); -#16128=SHAPE_REPRESENTATION('',(#4521),#14736); -#16129=REPRESENTATION_MAP(#26,#4527); -#16130=PRODUCT_DEFINITION_SHAPE('',$,#4529); -#16131=SHAPE_DEFINITION_REPRESENTATION(#16130,#16132); -#16132=SHAPE_REPRESENTATION('',(#4530),#14736); -#16133=REPRESENTATION_MAP(#26,#4536); -#16134=PRODUCT_DEFINITION_SHAPE('',$,#4538); -#16135=SHAPE_DEFINITION_REPRESENTATION(#16134,#16136); -#16136=SHAPE_REPRESENTATION('',(#4539),#14736); -#16137=REPRESENTATION_MAP(#26,#4545); -#16138=PRODUCT_DEFINITION_SHAPE('',$,#4547); -#16139=SHAPE_DEFINITION_REPRESENTATION(#16138,#16140); -#16140=SHAPE_REPRESENTATION('',(#4548),#14736); -#16141=REPRESENTATION_MAP(#26,#4554); -#16142=PRODUCT_DEFINITION_SHAPE('',$,#4556); -#16143=SHAPE_DEFINITION_REPRESENTATION(#16142,#16144); -#16144=SHAPE_REPRESENTATION('',(#4557),#14736); -#16145=REPRESENTATION_MAP(#26,#4563); -#16146=PRODUCT_DEFINITION_SHAPE('',$,#4565); -#16147=SHAPE_DEFINITION_REPRESENTATION(#16146,#16148); -#16148=SHAPE_REPRESENTATION('',(#4566),#14736); -#16149=REPRESENTATION_MAP(#26,#4572); -#16150=PRODUCT_DEFINITION_SHAPE('',$,#4574); -#16151=SHAPE_DEFINITION_REPRESENTATION(#16150,#16152); -#16152=SHAPE_REPRESENTATION('',(#4575),#14736); -#16153=REPRESENTATION_MAP(#26,#4581); -#16154=PRODUCT_DEFINITION_SHAPE('',$,#4583); -#16155=SHAPE_DEFINITION_REPRESENTATION(#16154,#16156); -#16156=SHAPE_REPRESENTATION('',(#4584),#14736); -#16157=REPRESENTATION_MAP(#26,#4590); -#16158=PRODUCT_DEFINITION_SHAPE('',$,#4592); -#16159=SHAPE_DEFINITION_REPRESENTATION(#16158,#16160); -#16160=SHAPE_REPRESENTATION('',(#4593),#14736); -#16161=REPRESENTATION_MAP(#26,#4599); -#16162=PRODUCT_DEFINITION_SHAPE('',$,#4601); -#16163=SHAPE_DEFINITION_REPRESENTATION(#16162,#16164); -#16164=SHAPE_REPRESENTATION('',(#4602),#14736); -#16165=REPRESENTATION_MAP(#26,#4608); -#16166=PRODUCT_DEFINITION_SHAPE('',$,#4610); -#16167=SHAPE_DEFINITION_REPRESENTATION(#16166,#16168); -#16168=SHAPE_REPRESENTATION('',(#4611),#14736); -#16169=REPRESENTATION_MAP(#26,#4618); -#16170=PRODUCT_DEFINITION_SHAPE('',$,#4620); -#16171=SHAPE_DEFINITION_REPRESENTATION(#16170,#16172); -#16172=SHAPE_REPRESENTATION('',(#4621),#14736); -#16173=REPRESENTATION_MAP(#26,#4628); -#16174=PRODUCT_DEFINITION_SHAPE('',$,#4630); -#16175=SHAPE_DEFINITION_REPRESENTATION(#16174,#16176); -#16176=SHAPE_REPRESENTATION('',(#4631),#14736); -#16177=REPRESENTATION_MAP(#26,#4638); -#16178=PRODUCT_DEFINITION_SHAPE('',$,#4640); -#16179=SHAPE_DEFINITION_REPRESENTATION(#16178,#16180); -#16180=SHAPE_REPRESENTATION('',(#4641),#14736); -#16181=REPRESENTATION_MAP(#26,#4650); -#16182=PRODUCT_DEFINITION_SHAPE('',$,#4652); -#16183=SHAPE_DEFINITION_REPRESENTATION(#16182,#16184); -#16184=SHAPE_REPRESENTATION('',(#4653),#14736); -#16185=REPRESENTATION_MAP(#26,#4657); -#16186=PRODUCT_DEFINITION_SHAPE('',$,#4659); -#16187=SHAPE_DEFINITION_REPRESENTATION(#16186,#16188); -#16188=SHAPE_REPRESENTATION('',(#4660),#14736); -#16189=REPRESENTATION_MAP(#26,#4667); -#16190=PRODUCT_DEFINITION_SHAPE('',$,#4669); -#16191=SHAPE_DEFINITION_REPRESENTATION(#16190,#16192); -#16192=SHAPE_REPRESENTATION('',(#4670),#14736); -#16193=REPRESENTATION_MAP(#26,#4677); -#16194=PRODUCT_DEFINITION_SHAPE('',$,#4679); -#16195=SHAPE_DEFINITION_REPRESENTATION(#16194,#16196); -#16196=SHAPE_REPRESENTATION('',(#4680),#14736); -#16197=REPRESENTATION_MAP(#26,#4687); -#16198=PRODUCT_DEFINITION_SHAPE('',$,#4689); -#16199=SHAPE_DEFINITION_REPRESENTATION(#16198,#16200); -#16200=SHAPE_REPRESENTATION('',(#4690),#14736); -#16201=REPRESENTATION_MAP(#26,#4694); -#16202=PRODUCT_DEFINITION_SHAPE('',$,#4696); -#16203=SHAPE_DEFINITION_REPRESENTATION(#16202,#16204); -#16204=SHAPE_REPRESENTATION('',(#4697),#14736); -#16205=REPRESENTATION_MAP(#26,#4701); -#16206=PRODUCT_DEFINITION_SHAPE('',$,#4703); -#16207=SHAPE_DEFINITION_REPRESENTATION(#16206,#16208); -#16208=SHAPE_REPRESENTATION('',(#4704),#14736); -#16209=REPRESENTATION_MAP(#26,#4708); -#16210=PRODUCT_DEFINITION_SHAPE('',$,#4710); -#16211=SHAPE_DEFINITION_REPRESENTATION(#16210,#16212); -#16212=SHAPE_REPRESENTATION('',(#4711),#14736); -#16213=REPRESENTATION_MAP(#26,#4715); -#16214=PRODUCT_DEFINITION_SHAPE('',$,#4717); -#16215=SHAPE_DEFINITION_REPRESENTATION(#16214,#16216); -#16216=SHAPE_REPRESENTATION('',(#4718),#14736); -#16217=REPRESENTATION_MAP(#26,#4722); -#16218=PRODUCT_DEFINITION_SHAPE('',$,#4724); -#16219=SHAPE_DEFINITION_REPRESENTATION(#16218,#16220); -#16220=SHAPE_REPRESENTATION('',(#4725),#14736); -#16221=REPRESENTATION_MAP(#26,#4729); -#16222=PRODUCT_DEFINITION_SHAPE('',$,#4731); -#16223=SHAPE_DEFINITION_REPRESENTATION(#16222,#16224); -#16224=SHAPE_REPRESENTATION('',(#4732),#14736); -#16225=REPRESENTATION_MAP(#26,#4736); -#16226=PRODUCT_DEFINITION_SHAPE('',$,#4738); -#16227=SHAPE_DEFINITION_REPRESENTATION(#16226,#16228); -#16228=SHAPE_REPRESENTATION('',(#4739),#14736); -#16229=REPRESENTATION_MAP(#26,#4743); -#16230=PRODUCT_DEFINITION_SHAPE('',$,#4745); -#16231=SHAPE_DEFINITION_REPRESENTATION(#16230,#16232); -#16232=SHAPE_REPRESENTATION('',(#4746),#14736); -#16233=REPRESENTATION_MAP(#26,#4750); -#16234=PRODUCT_DEFINITION_SHAPE('',$,#4752); -#16235=SHAPE_DEFINITION_REPRESENTATION(#16234,#16236); -#16236=SHAPE_REPRESENTATION('',(#4753),#14736); -#16237=REPRESENTATION_MAP(#26,#4757); -#16238=PRODUCT_DEFINITION_SHAPE('',$,#4759); -#16239=SHAPE_DEFINITION_REPRESENTATION(#16238,#16240); -#16240=SHAPE_REPRESENTATION('',(#4760),#14736); -#16241=REPRESENTATION_MAP(#26,#4764); -#16242=PRODUCT_DEFINITION_SHAPE('',$,#4766); -#16243=SHAPE_DEFINITION_REPRESENTATION(#16242,#16244); -#16244=SHAPE_REPRESENTATION('',(#4767),#14736); -#16245=REPRESENTATION_MAP(#26,#4771); -#16246=PRODUCT_DEFINITION_SHAPE('',$,#4773); -#16247=SHAPE_DEFINITION_REPRESENTATION(#16246,#16248); -#16248=SHAPE_REPRESENTATION('',(#4774),#14736); -#16249=REPRESENTATION_MAP(#26,#4781); -#16250=PRODUCT_DEFINITION_SHAPE('',$,#4783); -#16251=SHAPE_DEFINITION_REPRESENTATION(#16250,#16252); -#16252=SHAPE_REPRESENTATION('',(#4784),#14736); -#16253=REPRESENTATION_MAP(#26,#4788); -#16254=PRODUCT_DEFINITION_SHAPE('',$,#4790); -#16255=SHAPE_DEFINITION_REPRESENTATION(#16254,#16256); -#16256=SHAPE_REPRESENTATION('',(#4791),#14736); -#16257=REPRESENTATION_MAP(#26,#4795); -#16258=PRODUCT_DEFINITION_SHAPE('',$,#4797); -#16259=SHAPE_DEFINITION_REPRESENTATION(#16258,#16260); -#16260=SHAPE_REPRESENTATION('',(#4798),#14736); -#16261=REPRESENTATION_MAP(#26,#4802); -#16262=PRODUCT_DEFINITION_SHAPE('',$,#4804); -#16263=SHAPE_DEFINITION_REPRESENTATION(#16262,#16264); -#16264=SHAPE_REPRESENTATION('',(#4805),#14736); -#16265=REPRESENTATION_MAP(#26,#4809); -#16266=PRODUCT_DEFINITION_SHAPE('',$,#4811); -#16267=SHAPE_DEFINITION_REPRESENTATION(#16266,#16268); -#16268=SHAPE_REPRESENTATION('',(#4812),#14736); -#16269=REPRESENTATION_MAP(#26,#4816); -#16270=PRODUCT_DEFINITION_SHAPE('',$,#4818); -#16271=SHAPE_DEFINITION_REPRESENTATION(#16270,#16272); -#16272=SHAPE_REPRESENTATION('',(#4819),#14736); -#16273=REPRESENTATION_MAP(#26,#4823); -#16274=PRODUCT_DEFINITION_SHAPE('',$,#4825); -#16275=SHAPE_DEFINITION_REPRESENTATION(#16274,#16276); -#16276=SHAPE_REPRESENTATION('',(#4826),#14736); -#16277=REPRESENTATION_MAP(#26,#4830); -#16278=PRODUCT_DEFINITION_SHAPE('',$,#4832); -#16279=SHAPE_DEFINITION_REPRESENTATION(#16278,#16280); -#16280=SHAPE_REPRESENTATION('',(#4833),#14736); -#16281=REPRESENTATION_MAP(#26,#4837); -#16282=PRODUCT_DEFINITION_SHAPE('',$,#4839); -#16283=SHAPE_DEFINITION_REPRESENTATION(#16282,#16284); -#16284=SHAPE_REPRESENTATION('',(#4840),#14736); -#16285=REPRESENTATION_MAP(#26,#4844); -#16286=PRODUCT_DEFINITION_SHAPE('',$,#4846); -#16287=SHAPE_DEFINITION_REPRESENTATION(#16286,#16288); -#16288=SHAPE_REPRESENTATION('',(#4847),#14736); -#16289=REPRESENTATION_MAP(#26,#4854); -#16290=PRODUCT_DEFINITION_SHAPE('',$,#4856); -#16291=SHAPE_DEFINITION_REPRESENTATION(#16290,#16292); -#16292=SHAPE_REPRESENTATION('',(#4857),#14736); -#16293=REPRESENTATION_MAP(#26,#4864); -#16294=PRODUCT_DEFINITION_SHAPE('',$,#4866); -#16295=SHAPE_DEFINITION_REPRESENTATION(#16294,#16296); -#16296=SHAPE_REPRESENTATION('',(#4867),#14736); -#16297=REPRESENTATION_MAP(#26,#4874); -#16298=PRODUCT_DEFINITION_SHAPE('',$,#4876); -#16299=SHAPE_DEFINITION_REPRESENTATION(#16298,#16300); -#16300=SHAPE_REPRESENTATION('',(#4877),#14736); -#16301=REPRESENTATION_MAP(#26,#4884); -#16302=PRODUCT_DEFINITION_SHAPE('',$,#4886); -#16303=SHAPE_DEFINITION_REPRESENTATION(#16302,#16304); -#16304=SHAPE_REPRESENTATION('',(#4887),#14736); -#16305=REPRESENTATION_MAP(#26,#4891); -#16306=PRODUCT_DEFINITION_SHAPE('',$,#4893); -#16307=SHAPE_DEFINITION_REPRESENTATION(#16306,#16308); -#16308=SHAPE_REPRESENTATION('',(#4894),#14736); -#16309=REPRESENTATION_MAP(#26,#4901); -#16310=PRODUCT_DEFINITION_SHAPE('',$,#4903); -#16311=SHAPE_DEFINITION_REPRESENTATION(#16310,#16312); -#16312=SHAPE_REPRESENTATION('',(#4904),#14736); -#16313=REPRESENTATION_MAP(#26,#4911); -#16314=PRODUCT_DEFINITION_SHAPE('',$,#4913); -#16315=SHAPE_DEFINITION_REPRESENTATION(#16314,#16316); -#16316=SHAPE_REPRESENTATION('',(#4914),#14736); -#16317=REPRESENTATION_MAP(#26,#4921); -#16318=PRODUCT_DEFINITION_SHAPE('',$,#4923); -#16319=SHAPE_DEFINITION_REPRESENTATION(#16318,#16320); -#16320=SHAPE_REPRESENTATION('',(#4924),#14736); -#16321=REPRESENTATION_MAP(#26,#4928); -#16322=PRODUCT_DEFINITION_SHAPE('',$,#4930); -#16323=SHAPE_DEFINITION_REPRESENTATION(#16322,#16324); -#16324=SHAPE_REPRESENTATION('',(#4931),#14736); -#16325=REPRESENTATION_MAP(#26,#4935); -#16326=PRODUCT_DEFINITION_SHAPE('',$,#4937); -#16327=SHAPE_DEFINITION_REPRESENTATION(#16326,#16328); -#16328=SHAPE_REPRESENTATION('',(#4938),#14736); -#16329=REPRESENTATION_MAP(#26,#4942); -#16330=PRODUCT_DEFINITION_SHAPE('',$,#4944); -#16331=SHAPE_DEFINITION_REPRESENTATION(#16330,#16332); -#16332=SHAPE_REPRESENTATION('',(#4945),#14736); -#16333=REPRESENTATION_MAP(#26,#4949); -#16334=PRODUCT_DEFINITION_SHAPE('',$,#4951); -#16335=SHAPE_DEFINITION_REPRESENTATION(#16334,#16336); -#16336=SHAPE_REPRESENTATION('',(#4952),#14736); -#16337=REPRESENTATION_MAP(#26,#4956); -#16338=PRODUCT_DEFINITION_SHAPE('',$,#4958); -#16339=SHAPE_DEFINITION_REPRESENTATION(#16338,#16340); -#16340=SHAPE_REPRESENTATION('',(#4959),#14736); -#16341=REPRESENTATION_MAP(#26,#4963); -#16342=PRODUCT_DEFINITION_SHAPE('',$,#4965); -#16343=SHAPE_DEFINITION_REPRESENTATION(#16342,#16344); -#16344=SHAPE_REPRESENTATION('',(#4966),#14736); -#16345=REPRESENTATION_MAP(#26,#4970); -#16346=PRODUCT_DEFINITION_SHAPE('',$,#4972); -#16347=SHAPE_DEFINITION_REPRESENTATION(#16346,#16348); -#16348=SHAPE_REPRESENTATION('',(#4973),#14736); -#16349=REPRESENTATION_MAP(#26,#4977); -#16350=PRODUCT_DEFINITION_SHAPE('',$,#4979); -#16351=SHAPE_DEFINITION_REPRESENTATION(#16350,#16352); -#16352=SHAPE_REPRESENTATION('',(#4980),#14736); -#16353=REPRESENTATION_MAP(#26,#4984); -#16354=PRODUCT_DEFINITION_SHAPE('',$,#4986); -#16355=SHAPE_DEFINITION_REPRESENTATION(#16354,#16356); -#16356=SHAPE_REPRESENTATION('',(#4987),#14736); -#16357=REPRESENTATION_MAP(#26,#4991); -#16358=PRODUCT_DEFINITION_SHAPE('',$,#4993); -#16359=SHAPE_DEFINITION_REPRESENTATION(#16358,#16360); -#16360=SHAPE_REPRESENTATION('',(#4994),#14736); -#16361=REPRESENTATION_MAP(#26,#4998); -#16362=PRODUCT_DEFINITION_SHAPE('',$,#5000); -#16363=SHAPE_DEFINITION_REPRESENTATION(#16362,#16364); -#16364=SHAPE_REPRESENTATION('',(#5001),#14736); -#16365=REPRESENTATION_MAP(#26,#5005); -#16366=PRODUCT_DEFINITION_SHAPE('',$,#5007); -#16367=SHAPE_DEFINITION_REPRESENTATION(#16366,#16368); -#16368=SHAPE_REPRESENTATION('',(#5008),#14736); -#16369=REPRESENTATION_MAP(#26,#5015); -#16370=PRODUCT_DEFINITION_SHAPE('',$,#5017); -#16371=SHAPE_DEFINITION_REPRESENTATION(#16370,#16372); -#16372=SHAPE_REPRESENTATION('',(#5018),#14736); -#16373=PRODUCT_DEFINITION_SHAPE('',$,#5019); -#16374=SHAPE_DEFINITION_REPRESENTATION(#16373,#16375); -#16375=SHAPE_REPRESENTATION('',(#5020),#14736); -#16376=REPRESENTATION_MAP(#26,#5024); -#16377=PRODUCT_DEFINITION_SHAPE('',$,#5026); -#16378=SHAPE_DEFINITION_REPRESENTATION(#16377,#16379); -#16379=SHAPE_REPRESENTATION('',(#5027),#14736); -#16380=PRODUCT_DEFINITION_SHAPE('',$,#5028); -#16381=SHAPE_DEFINITION_REPRESENTATION(#16380,#16382); -#16382=SHAPE_REPRESENTATION('',(#5029),#14736); -#16383=REPRESENTATION_MAP(#26,#5033); -#16384=PRODUCT_DEFINITION_SHAPE('',$,#5035); -#16385=SHAPE_DEFINITION_REPRESENTATION(#16384,#16386); -#16386=SHAPE_REPRESENTATION('',(#5036),#14736); -#16387=PRODUCT_DEFINITION_SHAPE('',$,#5037); -#16388=SHAPE_DEFINITION_REPRESENTATION(#16387,#16389); -#16389=SHAPE_REPRESENTATION('',(#5038),#14736); -#16390=REPRESENTATION_MAP(#26,#5042); -#16391=PRODUCT_DEFINITION_SHAPE('',$,#5044); -#16392=SHAPE_DEFINITION_REPRESENTATION(#16391,#16393); -#16393=SHAPE_REPRESENTATION('',(#5045),#14736); -#16394=PRODUCT_DEFINITION_SHAPE('',$,#5046); -#16395=SHAPE_DEFINITION_REPRESENTATION(#16394,#16396); -#16396=SHAPE_REPRESENTATION('',(#5047),#14736); -#16397=REPRESENTATION_MAP(#26,#5051); -#16398=PRODUCT_DEFINITION_SHAPE('',$,#5053); -#16399=SHAPE_DEFINITION_REPRESENTATION(#16398,#16400); -#16400=SHAPE_REPRESENTATION('',(#5054),#14736); -#16401=PRODUCT_DEFINITION_SHAPE('',$,#5055); -#16402=SHAPE_DEFINITION_REPRESENTATION(#16401,#16403); -#16403=SHAPE_REPRESENTATION('',(#5056),#14736); -#16404=REPRESENTATION_MAP(#26,#5060); -#16405=PRODUCT_DEFINITION_SHAPE('',$,#5062); -#16406=SHAPE_DEFINITION_REPRESENTATION(#16405,#16407); -#16407=SHAPE_REPRESENTATION('',(#5063),#14736); -#16408=PRODUCT_DEFINITION_SHAPE('',$,#5064); -#16409=SHAPE_DEFINITION_REPRESENTATION(#16408,#16410); -#16410=SHAPE_REPRESENTATION('',(#5065),#14736); -#16411=REPRESENTATION_MAP(#26,#5069); -#16412=PRODUCT_DEFINITION_SHAPE('',$,#5071); -#16413=SHAPE_DEFINITION_REPRESENTATION(#16412,#16414); -#16414=SHAPE_REPRESENTATION('',(#5072),#14736); -#16415=PRODUCT_DEFINITION_SHAPE('',$,#5073); -#16416=SHAPE_DEFINITION_REPRESENTATION(#16415,#16417); -#16417=SHAPE_REPRESENTATION('',(#5074),#14736); -#16418=REPRESENTATION_MAP(#26,#5078); -#16419=PRODUCT_DEFINITION_SHAPE('',$,#5080); -#16420=SHAPE_DEFINITION_REPRESENTATION(#16419,#16421); -#16421=SHAPE_REPRESENTATION('',(#5081),#14736); -#16422=PRODUCT_DEFINITION_SHAPE('',$,#5082); -#16423=SHAPE_DEFINITION_REPRESENTATION(#16422,#16424); -#16424=SHAPE_REPRESENTATION('',(#5083),#14736); -#16425=REPRESENTATION_MAP(#26,#5087); -#16426=PRODUCT_DEFINITION_SHAPE('',$,#5089); -#16427=SHAPE_DEFINITION_REPRESENTATION(#16426,#16428); -#16428=SHAPE_REPRESENTATION('',(#5090),#14736); -#16429=PRODUCT_DEFINITION_SHAPE('',$,#5091); -#16430=SHAPE_DEFINITION_REPRESENTATION(#16429,#16431); -#16431=SHAPE_REPRESENTATION('',(#5092),#14736); -#16432=REPRESENTATION_MAP(#26,#5096); -#16433=PRODUCT_DEFINITION_SHAPE('',$,#5098); -#16434=SHAPE_DEFINITION_REPRESENTATION(#16433,#16435); -#16435=SHAPE_REPRESENTATION('',(#5099),#14736); -#16436=PRODUCT_DEFINITION_SHAPE('',$,#5100); -#16437=SHAPE_DEFINITION_REPRESENTATION(#16436,#16438); -#16438=SHAPE_REPRESENTATION('',(#5101),#14736); -#16439=REPRESENTATION_MAP(#26,#5105); -#16440=PRODUCT_DEFINITION_SHAPE('',$,#5107); -#16441=SHAPE_DEFINITION_REPRESENTATION(#16440,#16442); -#16442=SHAPE_REPRESENTATION('',(#5108),#14736); -#16443=PRODUCT_DEFINITION_SHAPE('',$,#5109); -#16444=SHAPE_DEFINITION_REPRESENTATION(#16443,#16445); -#16445=SHAPE_REPRESENTATION('',(#5110),#14736); -#16446=REPRESENTATION_MAP(#26,#5114); -#16447=PRODUCT_DEFINITION_SHAPE('',$,#5116); -#16448=SHAPE_DEFINITION_REPRESENTATION(#16447,#16449); -#16449=SHAPE_REPRESENTATION('',(#5117),#14736); -#16450=PRODUCT_DEFINITION_SHAPE('',$,#5118); -#16451=SHAPE_DEFINITION_REPRESENTATION(#16450,#16452); -#16452=SHAPE_REPRESENTATION('',(#5119),#14736); -#16453=REPRESENTATION_MAP(#26,#5123); -#16454=PRODUCT_DEFINITION_SHAPE('',$,#5125); -#16455=SHAPE_DEFINITION_REPRESENTATION(#16454,#16456); -#16456=SHAPE_REPRESENTATION('',(#5126),#14736); -#16457=PRODUCT_DEFINITION_SHAPE('',$,#5127); -#16458=SHAPE_DEFINITION_REPRESENTATION(#16457,#16459); -#16459=SHAPE_REPRESENTATION('',(#5128),#14736); -#16460=REPRESENTATION_MAP(#26,#5132); -#16461=PRODUCT_DEFINITION_SHAPE('',$,#5134); -#16462=SHAPE_DEFINITION_REPRESENTATION(#16461,#16463); -#16463=SHAPE_REPRESENTATION('',(#5135),#14736); -#16464=PRODUCT_DEFINITION_SHAPE('',$,#5136); -#16465=SHAPE_DEFINITION_REPRESENTATION(#16464,#16466); -#16466=SHAPE_REPRESENTATION('',(#5137),#14736); -#16467=REPRESENTATION_MAP(#26,#5144); -#16468=PRODUCT_DEFINITION_SHAPE('',$,#5146); -#16469=SHAPE_DEFINITION_REPRESENTATION(#16468,#16470); -#16470=SHAPE_REPRESENTATION('',(#5147),#14736); -#16471=PRODUCT_DEFINITION_SHAPE('',$,#5148); -#16472=SHAPE_DEFINITION_REPRESENTATION(#16471,#16473); -#16473=SHAPE_REPRESENTATION('',(#5149),#14736); -#16474=REPRESENTATION_MAP(#26,#5156); -#16475=PRODUCT_DEFINITION_SHAPE('',$,#5158); -#16476=SHAPE_DEFINITION_REPRESENTATION(#16475,#16477); -#16477=SHAPE_REPRESENTATION('',(#5159),#14736); -#16478=PRODUCT_DEFINITION_SHAPE('',$,#5160); -#16479=SHAPE_DEFINITION_REPRESENTATION(#16478,#16480); -#16480=SHAPE_REPRESENTATION('',(#5161),#14736); -#16481=REPRESENTATION_MAP(#26,#5168); -#16482=PRODUCT_DEFINITION_SHAPE('',$,#5170); -#16483=SHAPE_DEFINITION_REPRESENTATION(#16482,#16484); -#16484=SHAPE_REPRESENTATION('',(#5171),#14736); -#16485=PRODUCT_DEFINITION_SHAPE('',$,#5172); -#16486=SHAPE_DEFINITION_REPRESENTATION(#16485,#16487); -#16487=SHAPE_REPRESENTATION('',(#5173),#14736); -#16488=REPRESENTATION_MAP(#26,#5180); -#16489=PRODUCT_DEFINITION_SHAPE('',$,#5182); -#16490=SHAPE_DEFINITION_REPRESENTATION(#16489,#16491); -#16491=SHAPE_REPRESENTATION('',(#5183),#14736); -#16492=PRODUCT_DEFINITION_SHAPE('',$,#5184); -#16493=SHAPE_DEFINITION_REPRESENTATION(#16492,#16494); -#16494=SHAPE_REPRESENTATION('',(#5185),#14736); -#16495=PRODUCT_DEFINITION_SHAPE('',$,#5186); -#16496=SHAPE_DEFINITION_REPRESENTATION(#16495,#16497); -#16497=SHAPE_REPRESENTATION('',(#5187),#14736); -#16498=PRODUCT_DEFINITION_SHAPE('',$,#5188); -#16499=SHAPE_DEFINITION_REPRESENTATION(#16498,#16500); -#16500=SHAPE_REPRESENTATION('',(#5189),#14736); -#16501=PRODUCT_DEFINITION_SHAPE('',$,#5190); -#16502=SHAPE_DEFINITION_REPRESENTATION(#16501,#16503); -#16503=SHAPE_REPRESENTATION('',(#5191),#14736); -#16504=PRODUCT_DEFINITION_SHAPE('',$,#5192); -#16505=SHAPE_DEFINITION_REPRESENTATION(#16504,#16506); -#16506=SHAPE_REPRESENTATION('',(#5193),#14736); -#16507=PRODUCT_DEFINITION_SHAPE('',$,#5194); -#16508=SHAPE_DEFINITION_REPRESENTATION(#16507,#16509); -#16509=SHAPE_REPRESENTATION('',(#5195),#14736); -#16510=PRODUCT_DEFINITION_SHAPE('',$,#5196); -#16511=SHAPE_DEFINITION_REPRESENTATION(#16510,#16512); -#16512=SHAPE_REPRESENTATION('',(#5197),#14736); -#16513=PRODUCT_DEFINITION_SHAPE('',$,#5198); -#16514=SHAPE_DEFINITION_REPRESENTATION(#16513,#16515); -#16515=SHAPE_REPRESENTATION('',(#5199),#14736); -#16516=PRODUCT_DEFINITION_SHAPE('',$,#5200); -#16517=SHAPE_DEFINITION_REPRESENTATION(#16516,#16518); -#16518=SHAPE_REPRESENTATION('',(#5201),#14736); -#16519=PRODUCT_DEFINITION_SHAPE('',$,#5202); -#16520=SHAPE_DEFINITION_REPRESENTATION(#16519,#16521); -#16521=SHAPE_REPRESENTATION('',(#5203),#14736); -#16522=PRODUCT_DEFINITION_SHAPE('',$,#5204); -#16523=SHAPE_DEFINITION_REPRESENTATION(#16522,#16524); -#16524=SHAPE_REPRESENTATION('',(#5205),#14736); -#16525=REPRESENTATION_MAP(#26,#5209); -#16526=PRODUCT_DEFINITION_SHAPE('',$,#5211); -#16527=SHAPE_DEFINITION_REPRESENTATION(#16526,#16528); -#16528=SHAPE_REPRESENTATION('',(#5212),#14736); -#16529=PRODUCT_DEFINITION_SHAPE('',$,#5213); -#16530=SHAPE_DEFINITION_REPRESENTATION(#16529,#16531); -#16531=SHAPE_REPRESENTATION('',(#5214),#14736); -#16532=PRODUCT_DEFINITION_SHAPE('',$,#5215); -#16533=SHAPE_DEFINITION_REPRESENTATION(#16532,#16534); -#16534=SHAPE_REPRESENTATION('',(#5216),#14736); -#16535=PRODUCT_DEFINITION_SHAPE('',$,#5217); -#16536=SHAPE_DEFINITION_REPRESENTATION(#16535,#16537); -#16537=SHAPE_REPRESENTATION('',(#5218),#14736); -#16538=PRODUCT_DEFINITION_SHAPE('',$,#5219); -#16539=SHAPE_DEFINITION_REPRESENTATION(#16538,#16540); -#16540=SHAPE_REPRESENTATION('',(#5220),#14736); -#16541=PRODUCT_DEFINITION_SHAPE('',$,#5221); -#16542=SHAPE_DEFINITION_REPRESENTATION(#16541,#16543); -#16543=SHAPE_REPRESENTATION('',(#5222),#14736); -#16544=PRODUCT_DEFINITION_SHAPE('',$,#5223); -#16545=SHAPE_DEFINITION_REPRESENTATION(#16544,#16546); -#16546=SHAPE_REPRESENTATION('',(#5224),#14736); -#16547=PRODUCT_DEFINITION_SHAPE('',$,#5225); -#16548=SHAPE_DEFINITION_REPRESENTATION(#16547,#16549); -#16549=SHAPE_REPRESENTATION('',(#5226),#14736); -#16550=PRODUCT_DEFINITION_SHAPE('',$,#5227); -#16551=SHAPE_DEFINITION_REPRESENTATION(#16550,#16552); -#16552=SHAPE_REPRESENTATION('',(#5228),#14736); -#16553=PRODUCT_DEFINITION_SHAPE('',$,#5229); -#16554=SHAPE_DEFINITION_REPRESENTATION(#16553,#16555); -#16555=SHAPE_REPRESENTATION('',(#5230),#14736); -#16556=PRODUCT_DEFINITION_SHAPE('',$,#5231); -#16557=SHAPE_DEFINITION_REPRESENTATION(#16556,#16558); -#16558=SHAPE_REPRESENTATION('',(#5232),#14736); -#16559=PRODUCT_DEFINITION_SHAPE('',$,#5233); -#16560=SHAPE_DEFINITION_REPRESENTATION(#16559,#16561); -#16561=SHAPE_REPRESENTATION('',(#5234),#14736); -#16562=REPRESENTATION_MAP(#26,#5241); -#16563=PRODUCT_DEFINITION_SHAPE('',$,#5243); -#16564=SHAPE_DEFINITION_REPRESENTATION(#16563,#16565); -#16565=SHAPE_REPRESENTATION('',(#5244),#14736); -#16566=PRODUCT_DEFINITION_SHAPE('',$,#5245); -#16567=SHAPE_DEFINITION_REPRESENTATION(#16566,#16568); -#16568=SHAPE_REPRESENTATION('',(#5246),#14736); -#16569=PRODUCT_DEFINITION_SHAPE('',$,#5247); -#16570=SHAPE_DEFINITION_REPRESENTATION(#16569,#16571); -#16571=SHAPE_REPRESENTATION('',(#5248),#14736); -#16572=PRODUCT_DEFINITION_SHAPE('',$,#5249); -#16573=SHAPE_DEFINITION_REPRESENTATION(#16572,#16574); -#16574=SHAPE_REPRESENTATION('',(#5250),#14736); -#16575=PRODUCT_DEFINITION_SHAPE('',$,#5251); -#16576=SHAPE_DEFINITION_REPRESENTATION(#16575,#16577); -#16577=SHAPE_REPRESENTATION('',(#5252),#14736); -#16578=PRODUCT_DEFINITION_SHAPE('',$,#5253); -#16579=SHAPE_DEFINITION_REPRESENTATION(#16578,#16580); -#16580=SHAPE_REPRESENTATION('',(#5254),#14736); -#16581=PRODUCT_DEFINITION_SHAPE('',$,#5255); -#16582=SHAPE_DEFINITION_REPRESENTATION(#16581,#16583); -#16583=SHAPE_REPRESENTATION('',(#5256),#14736); -#16584=PRODUCT_DEFINITION_SHAPE('',$,#5257); -#16585=SHAPE_DEFINITION_REPRESENTATION(#16584,#16586); -#16586=SHAPE_REPRESENTATION('',(#5258),#14736); -#16587=PRODUCT_DEFINITION_SHAPE('',$,#5259); -#16588=SHAPE_DEFINITION_REPRESENTATION(#16587,#16589); -#16589=SHAPE_REPRESENTATION('',(#5260),#14736); -#16590=PRODUCT_DEFINITION_SHAPE('',$,#5261); -#16591=SHAPE_DEFINITION_REPRESENTATION(#16590,#16592); -#16592=SHAPE_REPRESENTATION('',(#5262),#14736); -#16593=PRODUCT_DEFINITION_SHAPE('',$,#5263); -#16594=SHAPE_DEFINITION_REPRESENTATION(#16593,#16595); -#16595=SHAPE_REPRESENTATION('',(#5264),#14736); -#16596=PRODUCT_DEFINITION_SHAPE('',$,#5265); -#16597=SHAPE_DEFINITION_REPRESENTATION(#16596,#16598); -#16598=SHAPE_REPRESENTATION('',(#5266),#14736); -#16599=REPRESENTATION_MAP(#26,#5273); -#16600=PRODUCT_DEFINITION_SHAPE('',$,#5275); -#16601=SHAPE_DEFINITION_REPRESENTATION(#16600,#16602); -#16602=SHAPE_REPRESENTATION('',(#5276),#14736); -#16603=PRODUCT_DEFINITION_SHAPE('',$,#5277); -#16604=SHAPE_DEFINITION_REPRESENTATION(#16603,#16605); -#16605=SHAPE_REPRESENTATION('',(#5278),#14736); -#16606=PRODUCT_DEFINITION_SHAPE('',$,#5279); -#16607=SHAPE_DEFINITION_REPRESENTATION(#16606,#16608); -#16608=SHAPE_REPRESENTATION('',(#5280),#14736); -#16609=PRODUCT_DEFINITION_SHAPE('',$,#5281); -#16610=SHAPE_DEFINITION_REPRESENTATION(#16609,#16611); -#16611=SHAPE_REPRESENTATION('',(#5282),#14736); -#16612=PRODUCT_DEFINITION_SHAPE('',$,#5283); -#16613=SHAPE_DEFINITION_REPRESENTATION(#16612,#16614); -#16614=SHAPE_REPRESENTATION('',(#5284),#14736); -#16615=PRODUCT_DEFINITION_SHAPE('',$,#5285); -#16616=SHAPE_DEFINITION_REPRESENTATION(#16615,#16617); -#16617=SHAPE_REPRESENTATION('',(#5286),#14736); -#16618=PRODUCT_DEFINITION_SHAPE('',$,#5287); -#16619=SHAPE_DEFINITION_REPRESENTATION(#16618,#16620); -#16620=SHAPE_REPRESENTATION('',(#5288),#14736); -#16621=PRODUCT_DEFINITION_SHAPE('',$,#5289); -#16622=SHAPE_DEFINITION_REPRESENTATION(#16621,#16623); -#16623=SHAPE_REPRESENTATION('',(#5290),#14736); -#16624=PRODUCT_DEFINITION_SHAPE('',$,#5291); -#16625=SHAPE_DEFINITION_REPRESENTATION(#16624,#16626); -#16626=SHAPE_REPRESENTATION('',(#5292),#14736); -#16627=PRODUCT_DEFINITION_SHAPE('',$,#5293); -#16628=SHAPE_DEFINITION_REPRESENTATION(#16627,#16629); -#16629=SHAPE_REPRESENTATION('',(#5294),#14736); -#16630=PRODUCT_DEFINITION_SHAPE('',$,#5295); -#16631=SHAPE_DEFINITION_REPRESENTATION(#16630,#16632); -#16632=SHAPE_REPRESENTATION('',(#5296),#14736); -#16633=PRODUCT_DEFINITION_SHAPE('',$,#5297); -#16634=SHAPE_DEFINITION_REPRESENTATION(#16633,#16635); -#16635=SHAPE_REPRESENTATION('',(#5298),#14736); -#16636=REPRESENTATION_MAP(#26,#5305); -#16637=PRODUCT_DEFINITION_SHAPE('',$,#5307); -#16638=SHAPE_DEFINITION_REPRESENTATION(#16637,#16639); -#16639=SHAPE_REPRESENTATION('',(#5308),#14736); -#16640=PRODUCT_DEFINITION_SHAPE('',$,#5309); -#16641=SHAPE_DEFINITION_REPRESENTATION(#16640,#16642); -#16642=SHAPE_REPRESENTATION('',(#5310),#14736); -#16643=PRODUCT_DEFINITION_SHAPE('',$,#5311); -#16644=SHAPE_DEFINITION_REPRESENTATION(#16643,#16645); -#16645=SHAPE_REPRESENTATION('',(#5312),#14736); -#16646=PRODUCT_DEFINITION_SHAPE('',$,#5313); -#16647=SHAPE_DEFINITION_REPRESENTATION(#16646,#16648); -#16648=SHAPE_REPRESENTATION('',(#5314),#14736); -#16649=PRODUCT_DEFINITION_SHAPE('',$,#5315); -#16650=SHAPE_DEFINITION_REPRESENTATION(#16649,#16651); -#16651=SHAPE_REPRESENTATION('',(#5316),#14736); -#16652=PRODUCT_DEFINITION_SHAPE('',$,#5317); -#16653=SHAPE_DEFINITION_REPRESENTATION(#16652,#16654); -#16654=SHAPE_REPRESENTATION('',(#5318),#14736); -#16655=PRODUCT_DEFINITION_SHAPE('',$,#5319); -#16656=SHAPE_DEFINITION_REPRESENTATION(#16655,#16657); -#16657=SHAPE_REPRESENTATION('',(#5320),#14736); -#16658=PRODUCT_DEFINITION_SHAPE('',$,#5321); -#16659=SHAPE_DEFINITION_REPRESENTATION(#16658,#16660); -#16660=SHAPE_REPRESENTATION('',(#5322),#14736); -#16661=PRODUCT_DEFINITION_SHAPE('',$,#5323); -#16662=SHAPE_DEFINITION_REPRESENTATION(#16661,#16663); -#16663=SHAPE_REPRESENTATION('',(#5324),#14736); -#16664=PRODUCT_DEFINITION_SHAPE('',$,#5325); -#16665=SHAPE_DEFINITION_REPRESENTATION(#16664,#16666); -#16666=SHAPE_REPRESENTATION('',(#5326),#14736); -#16667=PRODUCT_DEFINITION_SHAPE('',$,#5327); -#16668=SHAPE_DEFINITION_REPRESENTATION(#16667,#16669); -#16669=SHAPE_REPRESENTATION('',(#5328),#14736); -#16670=PRODUCT_DEFINITION_SHAPE('',$,#5329); -#16671=SHAPE_DEFINITION_REPRESENTATION(#16670,#16672); -#16672=SHAPE_REPRESENTATION('',(#5330),#14736); -#16673=REPRESENTATION_MAP(#26,#5334); -#16674=PRODUCT_DEFINITION_SHAPE('',$,#5336); -#16675=SHAPE_DEFINITION_REPRESENTATION(#16674,#16676); -#16676=SHAPE_REPRESENTATION('',(#5337),#14736); -#16677=PRODUCT_DEFINITION_SHAPE('',$,#5338); -#16678=SHAPE_DEFINITION_REPRESENTATION(#16677,#16679); -#16679=SHAPE_REPRESENTATION('',(#5339),#14736); -#16680=PRODUCT_DEFINITION_SHAPE('',$,#5340); -#16681=SHAPE_DEFINITION_REPRESENTATION(#16680,#16682); -#16682=SHAPE_REPRESENTATION('',(#5341),#14736); -#16683=PRODUCT_DEFINITION_SHAPE('',$,#5342); -#16684=SHAPE_DEFINITION_REPRESENTATION(#16683,#16685); -#16685=SHAPE_REPRESENTATION('',(#5343),#14736); -#16686=PRODUCT_DEFINITION_SHAPE('',$,#5344); -#16687=SHAPE_DEFINITION_REPRESENTATION(#16686,#16688); -#16688=SHAPE_REPRESENTATION('',(#5345),#14736); -#16689=PRODUCT_DEFINITION_SHAPE('',$,#5346); -#16690=SHAPE_DEFINITION_REPRESENTATION(#16689,#16691); -#16691=SHAPE_REPRESENTATION('',(#5347),#14736); -#16692=PRODUCT_DEFINITION_SHAPE('',$,#5348); -#16693=SHAPE_DEFINITION_REPRESENTATION(#16692,#16694); -#16694=SHAPE_REPRESENTATION('',(#5349),#14736); -#16695=PRODUCT_DEFINITION_SHAPE('',$,#5350); -#16696=SHAPE_DEFINITION_REPRESENTATION(#16695,#16697); -#16697=SHAPE_REPRESENTATION('',(#5351),#14736); -#16698=PRODUCT_DEFINITION_SHAPE('',$,#5352); -#16699=SHAPE_DEFINITION_REPRESENTATION(#16698,#16700); -#16700=SHAPE_REPRESENTATION('',(#5353),#14736); -#16701=PRODUCT_DEFINITION_SHAPE('',$,#5354); -#16702=SHAPE_DEFINITION_REPRESENTATION(#16701,#16703); -#16703=SHAPE_REPRESENTATION('',(#5355),#14736); -#16704=PRODUCT_DEFINITION_SHAPE('',$,#5356); -#16705=SHAPE_DEFINITION_REPRESENTATION(#16704,#16706); -#16706=SHAPE_REPRESENTATION('',(#5357),#14736); -#16707=PRODUCT_DEFINITION_SHAPE('',$,#5358); -#16708=SHAPE_DEFINITION_REPRESENTATION(#16707,#16709); -#16709=SHAPE_REPRESENTATION('',(#5359),#14736); -#16710=REPRESENTATION_MAP(#26,#5363); -#16711=PRODUCT_DEFINITION_SHAPE('',$,#5365); -#16712=SHAPE_DEFINITION_REPRESENTATION(#16711,#16713); -#16713=SHAPE_REPRESENTATION('',(#5366),#14736); -#16714=PRODUCT_DEFINITION_SHAPE('',$,#5367); -#16715=SHAPE_DEFINITION_REPRESENTATION(#16714,#16716); -#16716=SHAPE_REPRESENTATION('',(#5368),#14736); -#16717=PRODUCT_DEFINITION_SHAPE('',$,#5369); -#16718=SHAPE_DEFINITION_REPRESENTATION(#16717,#16719); -#16719=SHAPE_REPRESENTATION('',(#5370),#14736); -#16720=PRODUCT_DEFINITION_SHAPE('',$,#5371); -#16721=SHAPE_DEFINITION_REPRESENTATION(#16720,#16722); -#16722=SHAPE_REPRESENTATION('',(#5372),#14736); -#16723=PRODUCT_DEFINITION_SHAPE('',$,#5373); -#16724=SHAPE_DEFINITION_REPRESENTATION(#16723,#16725); -#16725=SHAPE_REPRESENTATION('',(#5374),#14736); -#16726=PRODUCT_DEFINITION_SHAPE('',$,#5375); -#16727=SHAPE_DEFINITION_REPRESENTATION(#16726,#16728); -#16728=SHAPE_REPRESENTATION('',(#5376),#14736); -#16729=PRODUCT_DEFINITION_SHAPE('',$,#5377); -#16730=SHAPE_DEFINITION_REPRESENTATION(#16729,#16731); -#16731=SHAPE_REPRESENTATION('',(#5378),#14736); -#16732=PRODUCT_DEFINITION_SHAPE('',$,#5379); -#16733=SHAPE_DEFINITION_REPRESENTATION(#16732,#16734); -#16734=SHAPE_REPRESENTATION('',(#5380),#14736); -#16735=PRODUCT_DEFINITION_SHAPE('',$,#5381); -#16736=SHAPE_DEFINITION_REPRESENTATION(#16735,#16737); -#16737=SHAPE_REPRESENTATION('',(#5382),#14736); -#16738=PRODUCT_DEFINITION_SHAPE('',$,#5383); -#16739=SHAPE_DEFINITION_REPRESENTATION(#16738,#16740); -#16740=SHAPE_REPRESENTATION('',(#5384),#14736); -#16741=PRODUCT_DEFINITION_SHAPE('',$,#5385); -#16742=SHAPE_DEFINITION_REPRESENTATION(#16741,#16743); -#16743=SHAPE_REPRESENTATION('',(#5386),#14736); -#16744=PRODUCT_DEFINITION_SHAPE('',$,#5387); -#16745=SHAPE_DEFINITION_REPRESENTATION(#16744,#16746); -#16746=SHAPE_REPRESENTATION('',(#5388),#14736); -#16747=REPRESENTATION_MAP(#26,#5392); -#16748=PRODUCT_DEFINITION_SHAPE('',$,#5394); -#16749=SHAPE_DEFINITION_REPRESENTATION(#16748,#16750); -#16750=SHAPE_REPRESENTATION('',(#5395),#14736); -#16751=PRODUCT_DEFINITION_SHAPE('',$,#5396); -#16752=SHAPE_DEFINITION_REPRESENTATION(#16751,#16753); -#16753=SHAPE_REPRESENTATION('',(#5397),#14736); -#16754=PRODUCT_DEFINITION_SHAPE('',$,#5398); -#16755=SHAPE_DEFINITION_REPRESENTATION(#16754,#16756); -#16756=SHAPE_REPRESENTATION('',(#5399),#14736); -#16757=PRODUCT_DEFINITION_SHAPE('',$,#5400); -#16758=SHAPE_DEFINITION_REPRESENTATION(#16757,#16759); -#16759=SHAPE_REPRESENTATION('',(#5401),#14736); -#16760=PRODUCT_DEFINITION_SHAPE('',$,#5402); -#16761=SHAPE_DEFINITION_REPRESENTATION(#16760,#16762); -#16762=SHAPE_REPRESENTATION('',(#5403),#14736); -#16763=PRODUCT_DEFINITION_SHAPE('',$,#5404); -#16764=SHAPE_DEFINITION_REPRESENTATION(#16763,#16765); -#16765=SHAPE_REPRESENTATION('',(#5405),#14736); -#16766=PRODUCT_DEFINITION_SHAPE('',$,#5406); -#16767=SHAPE_DEFINITION_REPRESENTATION(#16766,#16768); -#16768=SHAPE_REPRESENTATION('',(#5407),#14736); -#16769=PRODUCT_DEFINITION_SHAPE('',$,#5408); -#16770=SHAPE_DEFINITION_REPRESENTATION(#16769,#16771); -#16771=SHAPE_REPRESENTATION('',(#5409),#14736); -#16772=PRODUCT_DEFINITION_SHAPE('',$,#5410); -#16773=SHAPE_DEFINITION_REPRESENTATION(#16772,#16774); -#16774=SHAPE_REPRESENTATION('',(#5411),#14736); -#16775=PRODUCT_DEFINITION_SHAPE('',$,#5412); -#16776=SHAPE_DEFINITION_REPRESENTATION(#16775,#16777); -#16777=SHAPE_REPRESENTATION('',(#5413),#14736); -#16778=PRODUCT_DEFINITION_SHAPE('',$,#5414); -#16779=SHAPE_DEFINITION_REPRESENTATION(#16778,#16780); -#16780=SHAPE_REPRESENTATION('',(#5415),#14736); -#16781=PRODUCT_DEFINITION_SHAPE('',$,#5416); -#16782=SHAPE_DEFINITION_REPRESENTATION(#16781,#16783); -#16783=SHAPE_REPRESENTATION('',(#5417),#14736); -#16784=REPRESENTATION_MAP(#26,#5421); -#16785=PRODUCT_DEFINITION_SHAPE('',$,#5423); -#16786=SHAPE_DEFINITION_REPRESENTATION(#16785,#16787); -#16787=SHAPE_REPRESENTATION('',(#5424),#14736); -#16788=PRODUCT_DEFINITION_SHAPE('',$,#5425); -#16789=SHAPE_DEFINITION_REPRESENTATION(#16788,#16790); -#16790=SHAPE_REPRESENTATION('',(#5426),#14736); -#16791=PRODUCT_DEFINITION_SHAPE('',$,#5427); -#16792=SHAPE_DEFINITION_REPRESENTATION(#16791,#16793); -#16793=SHAPE_REPRESENTATION('',(#5428),#14736); -#16794=PRODUCT_DEFINITION_SHAPE('',$,#5429); -#16795=SHAPE_DEFINITION_REPRESENTATION(#16794,#16796); -#16796=SHAPE_REPRESENTATION('',(#5430),#14736); -#16797=PRODUCT_DEFINITION_SHAPE('',$,#5431); -#16798=SHAPE_DEFINITION_REPRESENTATION(#16797,#16799); -#16799=SHAPE_REPRESENTATION('',(#5432),#14736); -#16800=PRODUCT_DEFINITION_SHAPE('',$,#5433); -#16801=SHAPE_DEFINITION_REPRESENTATION(#16800,#16802); -#16802=SHAPE_REPRESENTATION('',(#5434),#14736); -#16803=PRODUCT_DEFINITION_SHAPE('',$,#5435); -#16804=SHAPE_DEFINITION_REPRESENTATION(#16803,#16805); -#16805=SHAPE_REPRESENTATION('',(#5436),#14736); -#16806=PRODUCT_DEFINITION_SHAPE('',$,#5437); -#16807=SHAPE_DEFINITION_REPRESENTATION(#16806,#16808); -#16808=SHAPE_REPRESENTATION('',(#5438),#14736); -#16809=PRODUCT_DEFINITION_SHAPE('',$,#5439); -#16810=SHAPE_DEFINITION_REPRESENTATION(#16809,#16811); -#16811=SHAPE_REPRESENTATION('',(#5440),#14736); -#16812=PRODUCT_DEFINITION_SHAPE('',$,#5441); -#16813=SHAPE_DEFINITION_REPRESENTATION(#16812,#16814); -#16814=SHAPE_REPRESENTATION('',(#5442),#14736); -#16815=PRODUCT_DEFINITION_SHAPE('',$,#5443); -#16816=SHAPE_DEFINITION_REPRESENTATION(#16815,#16817); -#16817=SHAPE_REPRESENTATION('',(#5444),#14736); -#16818=PRODUCT_DEFINITION_SHAPE('',$,#5445); -#16819=SHAPE_DEFINITION_REPRESENTATION(#16818,#16820); -#16820=SHAPE_REPRESENTATION('',(#5446),#14736); -#16821=REPRESENTATION_MAP(#26,#5450); -#16822=PRODUCT_DEFINITION_SHAPE('',$,#5452); -#16823=SHAPE_DEFINITION_REPRESENTATION(#16822,#16824); -#16824=SHAPE_REPRESENTATION('',(#5453),#14736); -#16825=PRODUCT_DEFINITION_SHAPE('',$,#5454); -#16826=SHAPE_DEFINITION_REPRESENTATION(#16825,#16827); -#16827=SHAPE_REPRESENTATION('',(#5455),#14736); -#16828=PRODUCT_DEFINITION_SHAPE('',$,#5456); -#16829=SHAPE_DEFINITION_REPRESENTATION(#16828,#16830); -#16830=SHAPE_REPRESENTATION('',(#5457),#14736); -#16831=PRODUCT_DEFINITION_SHAPE('',$,#5458); -#16832=SHAPE_DEFINITION_REPRESENTATION(#16831,#16833); -#16833=SHAPE_REPRESENTATION('',(#5459),#14736); -#16834=PRODUCT_DEFINITION_SHAPE('',$,#5460); -#16835=SHAPE_DEFINITION_REPRESENTATION(#16834,#16836); -#16836=SHAPE_REPRESENTATION('',(#5461),#14736); -#16837=PRODUCT_DEFINITION_SHAPE('',$,#5462); -#16838=SHAPE_DEFINITION_REPRESENTATION(#16837,#16839); -#16839=SHAPE_REPRESENTATION('',(#5463),#14736); -#16840=PRODUCT_DEFINITION_SHAPE('',$,#5464); -#16841=SHAPE_DEFINITION_REPRESENTATION(#16840,#16842); -#16842=SHAPE_REPRESENTATION('',(#5465),#14736); -#16843=PRODUCT_DEFINITION_SHAPE('',$,#5466); -#16844=SHAPE_DEFINITION_REPRESENTATION(#16843,#16845); -#16845=SHAPE_REPRESENTATION('',(#5467),#14736); -#16846=PRODUCT_DEFINITION_SHAPE('',$,#5468); -#16847=SHAPE_DEFINITION_REPRESENTATION(#16846,#16848); -#16848=SHAPE_REPRESENTATION('',(#5469),#14736); -#16849=PRODUCT_DEFINITION_SHAPE('',$,#5470); -#16850=SHAPE_DEFINITION_REPRESENTATION(#16849,#16851); -#16851=SHAPE_REPRESENTATION('',(#5471),#14736); -#16852=PRODUCT_DEFINITION_SHAPE('',$,#5472); -#16853=SHAPE_DEFINITION_REPRESENTATION(#16852,#16854); -#16854=SHAPE_REPRESENTATION('',(#5473),#14736); -#16855=PRODUCT_DEFINITION_SHAPE('',$,#5474); -#16856=SHAPE_DEFINITION_REPRESENTATION(#16855,#16857); -#16857=SHAPE_REPRESENTATION('',(#5475),#14736); -#16858=REPRESENTATION_MAP(#26,#5479); -#16859=PRODUCT_DEFINITION_SHAPE('',$,#5481); -#16860=SHAPE_DEFINITION_REPRESENTATION(#16859,#16861); -#16861=SHAPE_REPRESENTATION('',(#5482),#14736); -#16862=PRODUCT_DEFINITION_SHAPE('',$,#5483); -#16863=SHAPE_DEFINITION_REPRESENTATION(#16862,#16864); -#16864=SHAPE_REPRESENTATION('',(#5484),#14736); -#16865=PRODUCT_DEFINITION_SHAPE('',$,#5485); -#16866=SHAPE_DEFINITION_REPRESENTATION(#16865,#16867); -#16867=SHAPE_REPRESENTATION('',(#5486),#14736); -#16868=PRODUCT_DEFINITION_SHAPE('',$,#5487); -#16869=SHAPE_DEFINITION_REPRESENTATION(#16868,#16870); -#16870=SHAPE_REPRESENTATION('',(#5488),#14736); -#16871=PRODUCT_DEFINITION_SHAPE('',$,#5489); -#16872=SHAPE_DEFINITION_REPRESENTATION(#16871,#16873); -#16873=SHAPE_REPRESENTATION('',(#5490),#14736); -#16874=PRODUCT_DEFINITION_SHAPE('',$,#5491); -#16875=SHAPE_DEFINITION_REPRESENTATION(#16874,#16876); -#16876=SHAPE_REPRESENTATION('',(#5492),#14736); -#16877=PRODUCT_DEFINITION_SHAPE('',$,#5493); -#16878=SHAPE_DEFINITION_REPRESENTATION(#16877,#16879); -#16879=SHAPE_REPRESENTATION('',(#5494),#14736); -#16880=PRODUCT_DEFINITION_SHAPE('',$,#5495); -#16881=SHAPE_DEFINITION_REPRESENTATION(#16880,#16882); -#16882=SHAPE_REPRESENTATION('',(#5496),#14736); -#16883=PRODUCT_DEFINITION_SHAPE('',$,#5497); -#16884=SHAPE_DEFINITION_REPRESENTATION(#16883,#16885); -#16885=SHAPE_REPRESENTATION('',(#5498),#14736); -#16886=PRODUCT_DEFINITION_SHAPE('',$,#5499); -#16887=SHAPE_DEFINITION_REPRESENTATION(#16886,#16888); -#16888=SHAPE_REPRESENTATION('',(#5500),#14736); -#16889=PRODUCT_DEFINITION_SHAPE('',$,#5501); -#16890=SHAPE_DEFINITION_REPRESENTATION(#16889,#16891); -#16891=SHAPE_REPRESENTATION('',(#5502),#14736); -#16892=PRODUCT_DEFINITION_SHAPE('',$,#5503); -#16893=SHAPE_DEFINITION_REPRESENTATION(#16892,#16894); -#16894=SHAPE_REPRESENTATION('',(#5504),#14736); -#16895=REPRESENTATION_MAP(#26,#5508); -#16896=PRODUCT_DEFINITION_SHAPE('',$,#5510); -#16897=SHAPE_DEFINITION_REPRESENTATION(#16896,#16898); -#16898=SHAPE_REPRESENTATION('',(#5511),#14736); -#16899=PRODUCT_DEFINITION_SHAPE('',$,#5512); -#16900=SHAPE_DEFINITION_REPRESENTATION(#16899,#16901); -#16901=SHAPE_REPRESENTATION('',(#5513),#14736); -#16902=PRODUCT_DEFINITION_SHAPE('',$,#5514); -#16903=SHAPE_DEFINITION_REPRESENTATION(#16902,#16904); -#16904=SHAPE_REPRESENTATION('',(#5515),#14736); -#16905=PRODUCT_DEFINITION_SHAPE('',$,#5516); -#16906=SHAPE_DEFINITION_REPRESENTATION(#16905,#16907); -#16907=SHAPE_REPRESENTATION('',(#5517),#14736); -#16908=PRODUCT_DEFINITION_SHAPE('',$,#5518); -#16909=SHAPE_DEFINITION_REPRESENTATION(#16908,#16910); -#16910=SHAPE_REPRESENTATION('',(#5519),#14736); -#16911=PRODUCT_DEFINITION_SHAPE('',$,#5520); -#16912=SHAPE_DEFINITION_REPRESENTATION(#16911,#16913); -#16913=SHAPE_REPRESENTATION('',(#5521),#14736); -#16914=PRODUCT_DEFINITION_SHAPE('',$,#5522); -#16915=SHAPE_DEFINITION_REPRESENTATION(#16914,#16916); -#16916=SHAPE_REPRESENTATION('',(#5523),#14736); -#16917=PRODUCT_DEFINITION_SHAPE('',$,#5524); -#16918=SHAPE_DEFINITION_REPRESENTATION(#16917,#16919); -#16919=SHAPE_REPRESENTATION('',(#5525),#14736); -#16920=PRODUCT_DEFINITION_SHAPE('',$,#5526); -#16921=SHAPE_DEFINITION_REPRESENTATION(#16920,#16922); -#16922=SHAPE_REPRESENTATION('',(#5527),#14736); -#16923=PRODUCT_DEFINITION_SHAPE('',$,#5528); -#16924=SHAPE_DEFINITION_REPRESENTATION(#16923,#16925); -#16925=SHAPE_REPRESENTATION('',(#5529),#14736); -#16926=PRODUCT_DEFINITION_SHAPE('',$,#5530); -#16927=SHAPE_DEFINITION_REPRESENTATION(#16926,#16928); -#16928=SHAPE_REPRESENTATION('',(#5531),#14736); -#16929=PRODUCT_DEFINITION_SHAPE('',$,#5532); -#16930=SHAPE_DEFINITION_REPRESENTATION(#16929,#16931); -#16931=SHAPE_REPRESENTATION('',(#5533),#14736); -#16932=REPRESENTATION_MAP(#26,#5537); -#16933=PRODUCT_DEFINITION_SHAPE('',$,#5539); -#16934=SHAPE_DEFINITION_REPRESENTATION(#16933,#16935); -#16935=SHAPE_REPRESENTATION('',(#5540),#14736); -#16936=PRODUCT_DEFINITION_SHAPE('',$,#5541); -#16937=SHAPE_DEFINITION_REPRESENTATION(#16936,#16938); -#16938=SHAPE_REPRESENTATION('',(#5542),#14736); -#16939=PRODUCT_DEFINITION_SHAPE('',$,#5543); -#16940=SHAPE_DEFINITION_REPRESENTATION(#16939,#16941); -#16941=SHAPE_REPRESENTATION('',(#5544),#14736); -#16942=PRODUCT_DEFINITION_SHAPE('',$,#5545); -#16943=SHAPE_DEFINITION_REPRESENTATION(#16942,#16944); -#16944=SHAPE_REPRESENTATION('',(#5546),#14736); -#16945=PRODUCT_DEFINITION_SHAPE('',$,#5547); -#16946=SHAPE_DEFINITION_REPRESENTATION(#16945,#16947); -#16947=SHAPE_REPRESENTATION('',(#5548),#14736); -#16948=PRODUCT_DEFINITION_SHAPE('',$,#5549); -#16949=SHAPE_DEFINITION_REPRESENTATION(#16948,#16950); -#16950=SHAPE_REPRESENTATION('',(#5550),#14736); -#16951=PRODUCT_DEFINITION_SHAPE('',$,#5551); -#16952=SHAPE_DEFINITION_REPRESENTATION(#16951,#16953); -#16953=SHAPE_REPRESENTATION('',(#5552),#14736); -#16954=PRODUCT_DEFINITION_SHAPE('',$,#5553); -#16955=SHAPE_DEFINITION_REPRESENTATION(#16954,#16956); -#16956=SHAPE_REPRESENTATION('',(#5554),#14736); -#16957=PRODUCT_DEFINITION_SHAPE('',$,#5555); -#16958=SHAPE_DEFINITION_REPRESENTATION(#16957,#16959); -#16959=SHAPE_REPRESENTATION('',(#5556),#14736); -#16960=PRODUCT_DEFINITION_SHAPE('',$,#5557); -#16961=SHAPE_DEFINITION_REPRESENTATION(#16960,#16962); -#16962=SHAPE_REPRESENTATION('',(#5558),#14736); -#16963=PRODUCT_DEFINITION_SHAPE('',$,#5559); -#16964=SHAPE_DEFINITION_REPRESENTATION(#16963,#16965); -#16965=SHAPE_REPRESENTATION('',(#5560),#14736); -#16966=PRODUCT_DEFINITION_SHAPE('',$,#5561); -#16967=SHAPE_DEFINITION_REPRESENTATION(#16966,#16968); -#16968=SHAPE_REPRESENTATION('',(#5562),#14736); -#16969=REPRESENTATION_MAP(#26,#5566); -#16970=PRODUCT_DEFINITION_SHAPE('',$,#5568); -#16971=SHAPE_DEFINITION_REPRESENTATION(#16970,#16972); -#16972=SHAPE_REPRESENTATION('',(#5569),#14736); -#16973=PRODUCT_DEFINITION_SHAPE('',$,#5570); -#16974=SHAPE_DEFINITION_REPRESENTATION(#16973,#16975); -#16975=SHAPE_REPRESENTATION('',(#5571),#14736); -#16976=PRODUCT_DEFINITION_SHAPE('',$,#5572); -#16977=SHAPE_DEFINITION_REPRESENTATION(#16976,#16978); -#16978=SHAPE_REPRESENTATION('',(#5573),#14736); -#16979=PRODUCT_DEFINITION_SHAPE('',$,#5574); -#16980=SHAPE_DEFINITION_REPRESENTATION(#16979,#16981); -#16981=SHAPE_REPRESENTATION('',(#5575),#14736); -#16982=PRODUCT_DEFINITION_SHAPE('',$,#5576); -#16983=SHAPE_DEFINITION_REPRESENTATION(#16982,#16984); -#16984=SHAPE_REPRESENTATION('',(#5577),#14736); -#16985=PRODUCT_DEFINITION_SHAPE('',$,#5578); -#16986=SHAPE_DEFINITION_REPRESENTATION(#16985,#16987); -#16987=SHAPE_REPRESENTATION('',(#5579),#14736); -#16988=PRODUCT_DEFINITION_SHAPE('',$,#5580); -#16989=SHAPE_DEFINITION_REPRESENTATION(#16988,#16990); -#16990=SHAPE_REPRESENTATION('',(#5581),#14736); -#16991=PRODUCT_DEFINITION_SHAPE('',$,#5582); -#16992=SHAPE_DEFINITION_REPRESENTATION(#16991,#16993); -#16993=SHAPE_REPRESENTATION('',(#5583),#14736); -#16994=PRODUCT_DEFINITION_SHAPE('',$,#5584); -#16995=SHAPE_DEFINITION_REPRESENTATION(#16994,#16996); -#16996=SHAPE_REPRESENTATION('',(#5585),#14736); -#16997=PRODUCT_DEFINITION_SHAPE('',$,#5586); -#16998=SHAPE_DEFINITION_REPRESENTATION(#16997,#16999); -#16999=SHAPE_REPRESENTATION('',(#5587),#14736); -#17000=PRODUCT_DEFINITION_SHAPE('',$,#5588); -#17001=SHAPE_DEFINITION_REPRESENTATION(#17000,#17002); -#17002=SHAPE_REPRESENTATION('',(#5589),#14736); -#17003=PRODUCT_DEFINITION_SHAPE('',$,#5590); -#17004=SHAPE_DEFINITION_REPRESENTATION(#17003,#17005); -#17005=SHAPE_REPRESENTATION('',(#5591),#14736); -#17006=REPRESENTATION_MAP(#26,#5595); -#17007=PRODUCT_DEFINITION_SHAPE('',$,#5597); -#17008=SHAPE_DEFINITION_REPRESENTATION(#17007,#17009); -#17009=SHAPE_REPRESENTATION('',(#5598),#14736); -#17010=PRODUCT_DEFINITION_SHAPE('',$,#5599); -#17011=SHAPE_DEFINITION_REPRESENTATION(#17010,#17012); -#17012=SHAPE_REPRESENTATION('',(#5600),#14736); -#17013=PRODUCT_DEFINITION_SHAPE('',$,#5601); -#17014=SHAPE_DEFINITION_REPRESENTATION(#17013,#17015); -#17015=SHAPE_REPRESENTATION('',(#5602),#14736); -#17016=PRODUCT_DEFINITION_SHAPE('',$,#5603); -#17017=SHAPE_DEFINITION_REPRESENTATION(#17016,#17018); -#17018=SHAPE_REPRESENTATION('',(#5604),#14736); -#17019=PRODUCT_DEFINITION_SHAPE('',$,#5605); -#17020=SHAPE_DEFINITION_REPRESENTATION(#17019,#17021); -#17021=SHAPE_REPRESENTATION('',(#5606),#14736); -#17022=PRODUCT_DEFINITION_SHAPE('',$,#5607); -#17023=SHAPE_DEFINITION_REPRESENTATION(#17022,#17024); -#17024=SHAPE_REPRESENTATION('',(#5608),#14736); -#17025=PRODUCT_DEFINITION_SHAPE('',$,#5609); -#17026=SHAPE_DEFINITION_REPRESENTATION(#17025,#17027); -#17027=SHAPE_REPRESENTATION('',(#5610),#14736); -#17028=PRODUCT_DEFINITION_SHAPE('',$,#5611); -#17029=SHAPE_DEFINITION_REPRESENTATION(#17028,#17030); -#17030=SHAPE_REPRESENTATION('',(#5612),#14736); -#17031=PRODUCT_DEFINITION_SHAPE('',$,#5613); -#17032=SHAPE_DEFINITION_REPRESENTATION(#17031,#17033); -#17033=SHAPE_REPRESENTATION('',(#5614),#14736); -#17034=PRODUCT_DEFINITION_SHAPE('',$,#5615); -#17035=SHAPE_DEFINITION_REPRESENTATION(#17034,#17036); -#17036=SHAPE_REPRESENTATION('',(#5616),#14736); -#17037=PRODUCT_DEFINITION_SHAPE('',$,#5617); -#17038=SHAPE_DEFINITION_REPRESENTATION(#17037,#17039); -#17039=SHAPE_REPRESENTATION('',(#5618),#14736); -#17040=PRODUCT_DEFINITION_SHAPE('',$,#5619); -#17041=SHAPE_DEFINITION_REPRESENTATION(#17040,#17042); -#17042=SHAPE_REPRESENTATION('',(#5620),#14736); -#17043=REPRESENTATION_MAP(#26,#5624); -#17044=PRODUCT_DEFINITION_SHAPE('',$,#5626); -#17045=SHAPE_DEFINITION_REPRESENTATION(#17044,#17046); -#17046=SHAPE_REPRESENTATION('',(#5627),#14736); -#17047=PRODUCT_DEFINITION_SHAPE('',$,#5628); -#17048=SHAPE_DEFINITION_REPRESENTATION(#17047,#17049); -#17049=SHAPE_REPRESENTATION('',(#5629),#14736); -#17050=PRODUCT_DEFINITION_SHAPE('',$,#5630); -#17051=SHAPE_DEFINITION_REPRESENTATION(#17050,#17052); -#17052=SHAPE_REPRESENTATION('',(#5631),#14736); -#17053=PRODUCT_DEFINITION_SHAPE('',$,#5632); -#17054=SHAPE_DEFINITION_REPRESENTATION(#17053,#17055); -#17055=SHAPE_REPRESENTATION('',(#5633),#14736); -#17056=PRODUCT_DEFINITION_SHAPE('',$,#5634); -#17057=SHAPE_DEFINITION_REPRESENTATION(#17056,#17058); -#17058=SHAPE_REPRESENTATION('',(#5635),#14736); -#17059=PRODUCT_DEFINITION_SHAPE('',$,#5636); -#17060=SHAPE_DEFINITION_REPRESENTATION(#17059,#17061); -#17061=SHAPE_REPRESENTATION('',(#5637),#14736); -#17062=PRODUCT_DEFINITION_SHAPE('',$,#5638); -#17063=SHAPE_DEFINITION_REPRESENTATION(#17062,#17064); -#17064=SHAPE_REPRESENTATION('',(#5639),#14736); -#17065=PRODUCT_DEFINITION_SHAPE('',$,#5640); -#17066=SHAPE_DEFINITION_REPRESENTATION(#17065,#17067); -#17067=SHAPE_REPRESENTATION('',(#5641),#14736); -#17068=PRODUCT_DEFINITION_SHAPE('',$,#5642); -#17069=SHAPE_DEFINITION_REPRESENTATION(#17068,#17070); -#17070=SHAPE_REPRESENTATION('',(#5643),#14736); -#17071=PRODUCT_DEFINITION_SHAPE('',$,#5644); -#17072=SHAPE_DEFINITION_REPRESENTATION(#17071,#17073); -#17073=SHAPE_REPRESENTATION('',(#5645),#14736); -#17074=PRODUCT_DEFINITION_SHAPE('',$,#5646); -#17075=SHAPE_DEFINITION_REPRESENTATION(#17074,#17076); -#17076=SHAPE_REPRESENTATION('',(#5647),#14736); -#17077=PRODUCT_DEFINITION_SHAPE('',$,#5648); -#17078=SHAPE_DEFINITION_REPRESENTATION(#17077,#17079); -#17079=SHAPE_REPRESENTATION('',(#5649),#14736); -#17080=REPRESENTATION_MAP(#26,#5653); -#17081=PRODUCT_DEFINITION_SHAPE('',$,#5655); -#17082=SHAPE_DEFINITION_REPRESENTATION(#17081,#17083); -#17083=SHAPE_REPRESENTATION('',(#5656),#14736); -#17084=PRODUCT_DEFINITION_SHAPE('',$,#5657); -#17085=SHAPE_DEFINITION_REPRESENTATION(#17084,#17086); -#17086=SHAPE_REPRESENTATION('',(#5658),#14736); -#17087=PRODUCT_DEFINITION_SHAPE('',$,#5659); -#17088=SHAPE_DEFINITION_REPRESENTATION(#17087,#17089); -#17089=SHAPE_REPRESENTATION('',(#5660),#14736); -#17090=PRODUCT_DEFINITION_SHAPE('',$,#5661); -#17091=SHAPE_DEFINITION_REPRESENTATION(#17090,#17092); -#17092=SHAPE_REPRESENTATION('',(#5662),#14736); -#17093=PRODUCT_DEFINITION_SHAPE('',$,#5663); -#17094=SHAPE_DEFINITION_REPRESENTATION(#17093,#17095); -#17095=SHAPE_REPRESENTATION('',(#5664),#14736); -#17096=PRODUCT_DEFINITION_SHAPE('',$,#5665); -#17097=SHAPE_DEFINITION_REPRESENTATION(#17096,#17098); -#17098=SHAPE_REPRESENTATION('',(#5666),#14736); -#17099=PRODUCT_DEFINITION_SHAPE('',$,#5667); -#17100=SHAPE_DEFINITION_REPRESENTATION(#17099,#17101); -#17101=SHAPE_REPRESENTATION('',(#5668),#14736); -#17102=PRODUCT_DEFINITION_SHAPE('',$,#5669); -#17103=SHAPE_DEFINITION_REPRESENTATION(#17102,#17104); -#17104=SHAPE_REPRESENTATION('',(#5670),#14736); -#17105=PRODUCT_DEFINITION_SHAPE('',$,#5671); -#17106=SHAPE_DEFINITION_REPRESENTATION(#17105,#17107); -#17107=SHAPE_REPRESENTATION('',(#5672),#14736); -#17108=PRODUCT_DEFINITION_SHAPE('',$,#5673); -#17109=SHAPE_DEFINITION_REPRESENTATION(#17108,#17110); -#17110=SHAPE_REPRESENTATION('',(#5674),#14736); -#17111=PRODUCT_DEFINITION_SHAPE('',$,#5675); -#17112=SHAPE_DEFINITION_REPRESENTATION(#17111,#17113); -#17113=SHAPE_REPRESENTATION('',(#5676),#14736); -#17114=PRODUCT_DEFINITION_SHAPE('',$,#5677); -#17115=SHAPE_DEFINITION_REPRESENTATION(#17114,#17116); -#17116=SHAPE_REPRESENTATION('',(#5678),#14736); -#17117=REPRESENTATION_MAP(#26,#5682); -#17118=PRODUCT_DEFINITION_SHAPE('',$,#5684); -#17119=SHAPE_DEFINITION_REPRESENTATION(#17118,#17120); -#17120=SHAPE_REPRESENTATION('',(#5685),#14736); -#17121=REPRESENTATION_MAP(#26,#5691); -#17122=PRODUCT_DEFINITION_SHAPE('',$,#5693); -#17123=SHAPE_DEFINITION_REPRESENTATION(#17122,#17124); -#17124=SHAPE_REPRESENTATION('',(#5694),#14736); -#17125=REPRESENTATION_MAP(#26,#5700); -#17126=PRODUCT_DEFINITION_SHAPE('',$,#5702); -#17127=SHAPE_DEFINITION_REPRESENTATION(#17126,#17128); -#17128=SHAPE_REPRESENTATION('',(#5703),#14736); -#17129=REPRESENTATION_MAP(#26,#5709); -#17130=PRODUCT_DEFINITION_SHAPE('',$,#5711); -#17131=SHAPE_DEFINITION_REPRESENTATION(#17130,#17132); -#17132=SHAPE_REPRESENTATION('',(#5712),#14736); -#17133=REPRESENTATION_MAP(#26,#5718); -#17134=PRODUCT_DEFINITION_SHAPE('',$,#5720); -#17135=SHAPE_DEFINITION_REPRESENTATION(#17134,#17136); -#17136=SHAPE_REPRESENTATION('',(#5721),#14736); -#17137=REPRESENTATION_MAP(#26,#5728); -#17138=PRODUCT_DEFINITION_SHAPE('',$,#5730); -#17139=SHAPE_DEFINITION_REPRESENTATION(#17138,#17140); -#17140=SHAPE_REPRESENTATION('',(#5731),#14736); -#17141=REPRESENTATION_MAP(#26,#5738); -#17142=PRODUCT_DEFINITION_SHAPE('',$,#5740); -#17143=SHAPE_DEFINITION_REPRESENTATION(#17142,#17144); -#17144=SHAPE_REPRESENTATION('',(#5741),#14736); -#17145=REPRESENTATION_MAP(#26,#5745); -#17146=PRODUCT_DEFINITION_SHAPE('',$,#5747); -#17147=SHAPE_DEFINITION_REPRESENTATION(#17146,#17148); -#17148=SHAPE_REPRESENTATION('',(#5748),#14736); -#17149=REPRESENTATION_MAP(#26,#5752); -#17150=PRODUCT_DEFINITION_SHAPE('',$,#5754); -#17151=SHAPE_DEFINITION_REPRESENTATION(#17150,#17152); -#17152=SHAPE_REPRESENTATION('',(#5755),#14736); -#17153=REPRESENTATION_MAP(#26,#5759); -#17154=PRODUCT_DEFINITION_SHAPE('',$,#5761); -#17155=SHAPE_DEFINITION_REPRESENTATION(#17154,#17156); -#17156=SHAPE_REPRESENTATION('',(#5762),#14736); -#17157=REPRESENTATION_MAP(#26,#5766); -#17158=PRODUCT_DEFINITION_SHAPE('',$,#5768); -#17159=SHAPE_DEFINITION_REPRESENTATION(#17158,#17160); -#17160=SHAPE_REPRESENTATION('',(#5769),#14736); -#17161=REPRESENTATION_MAP(#26,#5773); -#17162=PRODUCT_DEFINITION_SHAPE('',$,#5775); -#17163=SHAPE_DEFINITION_REPRESENTATION(#17162,#17164); -#17164=SHAPE_REPRESENTATION('',(#5776),#14736); -#17165=REPRESENTATION_MAP(#26,#5780); -#17166=PRODUCT_DEFINITION_SHAPE('',$,#5782); -#17167=SHAPE_DEFINITION_REPRESENTATION(#17166,#17168); -#17168=SHAPE_REPRESENTATION('',(#5783),#14736); -#17169=REPRESENTATION_MAP(#26,#5787); -#17170=PRODUCT_DEFINITION_SHAPE('',$,#5789); -#17171=SHAPE_DEFINITION_REPRESENTATION(#17170,#17172); -#17172=SHAPE_REPRESENTATION('',(#5790),#14736); -#17173=REPRESENTATION_MAP(#26,#5794); -#17174=PRODUCT_DEFINITION_SHAPE('',$,#5796); -#17175=SHAPE_DEFINITION_REPRESENTATION(#17174,#17176); -#17176=SHAPE_REPRESENTATION('',(#5797),#14736); -#17177=REPRESENTATION_MAP(#26,#5804); -#17178=PRODUCT_DEFINITION_SHAPE('',$,#5806); -#17179=SHAPE_DEFINITION_REPRESENTATION(#17178,#17180); -#17180=SHAPE_REPRESENTATION('',(#5807),#14736); -#17181=REPRESENTATION_MAP(#26,#5814); -#17182=PRODUCT_DEFINITION_SHAPE('',$,#5816); -#17183=SHAPE_DEFINITION_REPRESENTATION(#17182,#17184); -#17184=SHAPE_REPRESENTATION('',(#5817),#14736); -#17185=REPRESENTATION_MAP(#26,#5821); -#17186=PRODUCT_DEFINITION_SHAPE('',$,#5823); -#17187=SHAPE_DEFINITION_REPRESENTATION(#17186,#17188); -#17188=SHAPE_REPRESENTATION('',(#5824),#14736); -#17189=REPRESENTATION_MAP(#26,#5828); -#17190=PRODUCT_DEFINITION_SHAPE('',$,#5830); -#17191=SHAPE_DEFINITION_REPRESENTATION(#17190,#17192); -#17192=SHAPE_REPRESENTATION('',(#5831),#14736); -#17193=REPRESENTATION_MAP(#26,#5835); -#17194=PRODUCT_DEFINITION_SHAPE('',$,#5837); -#17195=SHAPE_DEFINITION_REPRESENTATION(#17194,#17196); -#17196=SHAPE_REPRESENTATION('',(#5838),#14736); -#17197=REPRESENTATION_MAP(#26,#5842); -#17198=PRODUCT_DEFINITION_SHAPE('',$,#5844); -#17199=SHAPE_DEFINITION_REPRESENTATION(#17198,#17200); -#17200=SHAPE_REPRESENTATION('',(#5845),#14736); -#17201=PRODUCT_DEFINITION_SHAPE('',$,#5846); -#17202=SHAPE_DEFINITION_REPRESENTATION(#17201,#17203); -#17203=SHAPE_REPRESENTATION('',(#5847),#14736); -#17204=REPRESENTATION_MAP(#26,#5851); -#17205=PRODUCT_DEFINITION_SHAPE('',$,#5853); -#17206=SHAPE_DEFINITION_REPRESENTATION(#17205,#17207); -#17207=SHAPE_REPRESENTATION('',(#5854),#14736); -#17208=PRODUCT_DEFINITION_SHAPE('',$,#5855); -#17209=SHAPE_DEFINITION_REPRESENTATION(#17208,#17210); -#17210=SHAPE_REPRESENTATION('',(#5856),#14736); -#17211=REPRESENTATION_MAP(#26,#5860); -#17212=PRODUCT_DEFINITION_SHAPE('',$,#5862); -#17213=SHAPE_DEFINITION_REPRESENTATION(#17212,#17214); -#17214=SHAPE_REPRESENTATION('',(#5863),#14736); -#17215=PRODUCT_DEFINITION_SHAPE('',$,#5864); -#17216=SHAPE_DEFINITION_REPRESENTATION(#17215,#17217); -#17217=SHAPE_REPRESENTATION('',(#5865),#14736); -#17218=REPRESENTATION_MAP(#26,#5869); -#17219=PRODUCT_DEFINITION_SHAPE('',$,#5871); -#17220=SHAPE_DEFINITION_REPRESENTATION(#17219,#17221); -#17221=SHAPE_REPRESENTATION('',(#5872),#14736); -#17222=PRODUCT_DEFINITION_SHAPE('',$,#5873); -#17223=SHAPE_DEFINITION_REPRESENTATION(#17222,#17224); -#17224=SHAPE_REPRESENTATION('',(#5874),#14736); -#17225=REPRESENTATION_MAP(#26,#5878); -#17226=PRODUCT_DEFINITION_SHAPE('',$,#5880); -#17227=SHAPE_DEFINITION_REPRESENTATION(#17226,#17228); -#17228=SHAPE_REPRESENTATION('',(#5881),#14736); -#17229=PRODUCT_DEFINITION_SHAPE('',$,#5882); -#17230=SHAPE_DEFINITION_REPRESENTATION(#17229,#17231); -#17231=SHAPE_REPRESENTATION('',(#5883),#14736); -#17232=REPRESENTATION_MAP(#26,#5890); -#17233=PRODUCT_DEFINITION_SHAPE('',$,#5892); -#17234=SHAPE_DEFINITION_REPRESENTATION(#17233,#17235); -#17235=SHAPE_REPRESENTATION('',(#5893),#14736); -#17236=PRODUCT_DEFINITION_SHAPE('',$,#5894); -#17237=SHAPE_DEFINITION_REPRESENTATION(#17236,#17238); -#17238=SHAPE_REPRESENTATION('',(#5895),#14736); -#17239=PRODUCT_DEFINITION_SHAPE('',$,#5896); -#17240=SHAPE_DEFINITION_REPRESENTATION(#17239,#17241); -#17241=SHAPE_REPRESENTATION('',(#5897),#14736); -#17242=PRODUCT_DEFINITION_SHAPE('',$,#5898); -#17243=SHAPE_DEFINITION_REPRESENTATION(#17242,#17244); -#17244=SHAPE_REPRESENTATION('',(#5899),#14736); -#17245=PRODUCT_DEFINITION_SHAPE('',$,#5900); -#17246=SHAPE_DEFINITION_REPRESENTATION(#17245,#17247); -#17247=SHAPE_REPRESENTATION('',(#5901),#14736); -#17248=PRODUCT_DEFINITION_SHAPE('',$,#5902); -#17249=SHAPE_DEFINITION_REPRESENTATION(#17248,#17250); -#17250=SHAPE_REPRESENTATION('',(#5903),#14736); -#17251=PRODUCT_DEFINITION_SHAPE('',$,#5904); -#17252=SHAPE_DEFINITION_REPRESENTATION(#17251,#17253); -#17253=SHAPE_REPRESENTATION('',(#5905),#14736); -#17254=PRODUCT_DEFINITION_SHAPE('',$,#5906); -#17255=SHAPE_DEFINITION_REPRESENTATION(#17254,#17256); -#17256=SHAPE_REPRESENTATION('',(#5907),#14736); -#17257=PRODUCT_DEFINITION_SHAPE('',$,#5908); -#17258=SHAPE_DEFINITION_REPRESENTATION(#17257,#17259); -#17259=SHAPE_REPRESENTATION('',(#5909),#14736); -#17260=PRODUCT_DEFINITION_SHAPE('',$,#5910); -#17261=SHAPE_DEFINITION_REPRESENTATION(#17260,#17262); -#17262=SHAPE_REPRESENTATION('',(#5911),#14736); -#17263=PRODUCT_DEFINITION_SHAPE('',$,#5912); -#17264=SHAPE_DEFINITION_REPRESENTATION(#17263,#17265); -#17265=SHAPE_REPRESENTATION('',(#5913),#14736); -#17266=PRODUCT_DEFINITION_SHAPE('',$,#5914); -#17267=SHAPE_DEFINITION_REPRESENTATION(#17266,#17268); -#17268=SHAPE_REPRESENTATION('',(#5915),#14736); -#17269=REPRESENTATION_MAP(#26,#5922); -#17270=PRODUCT_DEFINITION_SHAPE('',$,#5924); -#17271=SHAPE_DEFINITION_REPRESENTATION(#17270,#17272); -#17272=SHAPE_REPRESENTATION('',(#5925),#14736); -#17273=PRODUCT_DEFINITION_SHAPE('',$,#5926); -#17274=SHAPE_DEFINITION_REPRESENTATION(#17273,#17275); -#17275=SHAPE_REPRESENTATION('',(#5927),#14736); -#17276=PRODUCT_DEFINITION_SHAPE('',$,#5928); -#17277=SHAPE_DEFINITION_REPRESENTATION(#17276,#17278); -#17278=SHAPE_REPRESENTATION('',(#5929),#14736); -#17279=PRODUCT_DEFINITION_SHAPE('',$,#5930); -#17280=SHAPE_DEFINITION_REPRESENTATION(#17279,#17281); -#17281=SHAPE_REPRESENTATION('',(#5931),#14736); -#17282=PRODUCT_DEFINITION_SHAPE('',$,#5932); -#17283=SHAPE_DEFINITION_REPRESENTATION(#17282,#17284); -#17284=SHAPE_REPRESENTATION('',(#5933),#14736); -#17285=PRODUCT_DEFINITION_SHAPE('',$,#5934); -#17286=SHAPE_DEFINITION_REPRESENTATION(#17285,#17287); -#17287=SHAPE_REPRESENTATION('',(#5935),#14736); -#17288=PRODUCT_DEFINITION_SHAPE('',$,#5936); -#17289=SHAPE_DEFINITION_REPRESENTATION(#17288,#17290); -#17290=SHAPE_REPRESENTATION('',(#5937),#14736); -#17291=PRODUCT_DEFINITION_SHAPE('',$,#5938); -#17292=SHAPE_DEFINITION_REPRESENTATION(#17291,#17293); -#17293=SHAPE_REPRESENTATION('',(#5939),#14736); -#17294=PRODUCT_DEFINITION_SHAPE('',$,#5940); -#17295=SHAPE_DEFINITION_REPRESENTATION(#17294,#17296); -#17296=SHAPE_REPRESENTATION('',(#5941),#14736); -#17297=PRODUCT_DEFINITION_SHAPE('',$,#5942); -#17298=SHAPE_DEFINITION_REPRESENTATION(#17297,#17299); -#17299=SHAPE_REPRESENTATION('',(#5943),#14736); -#17300=PRODUCT_DEFINITION_SHAPE('',$,#5944); -#17301=SHAPE_DEFINITION_REPRESENTATION(#17300,#17302); -#17302=SHAPE_REPRESENTATION('',(#5945),#14736); -#17303=PRODUCT_DEFINITION_SHAPE('',$,#5946); -#17304=SHAPE_DEFINITION_REPRESENTATION(#17303,#17305); -#17305=SHAPE_REPRESENTATION('',(#5947),#14736); -#17306=REPRESENTATION_MAP(#26,#5951); -#17307=PRODUCT_DEFINITION_SHAPE('',$,#5953); -#17308=SHAPE_DEFINITION_REPRESENTATION(#17307,#17309); -#17309=SHAPE_REPRESENTATION('',(#5954),#14736); -#17310=PRODUCT_DEFINITION_SHAPE('',$,#5955); -#17311=SHAPE_DEFINITION_REPRESENTATION(#17310,#17312); -#17312=SHAPE_REPRESENTATION('',(#5956),#14736); -#17313=PRODUCT_DEFINITION_SHAPE('',$,#5957); -#17314=SHAPE_DEFINITION_REPRESENTATION(#17313,#17315); -#17315=SHAPE_REPRESENTATION('',(#5958),#14736); -#17316=PRODUCT_DEFINITION_SHAPE('',$,#5959); -#17317=SHAPE_DEFINITION_REPRESENTATION(#17316,#17318); -#17318=SHAPE_REPRESENTATION('',(#5960),#14736); -#17319=PRODUCT_DEFINITION_SHAPE('',$,#5961); -#17320=SHAPE_DEFINITION_REPRESENTATION(#17319,#17321); -#17321=SHAPE_REPRESENTATION('',(#5962),#14736); -#17322=PRODUCT_DEFINITION_SHAPE('',$,#5963); -#17323=SHAPE_DEFINITION_REPRESENTATION(#17322,#17324); -#17324=SHAPE_REPRESENTATION('',(#5964),#14736); -#17325=PRODUCT_DEFINITION_SHAPE('',$,#5965); -#17326=SHAPE_DEFINITION_REPRESENTATION(#17325,#17327); -#17327=SHAPE_REPRESENTATION('',(#5966),#14736); -#17328=PRODUCT_DEFINITION_SHAPE('',$,#5967); -#17329=SHAPE_DEFINITION_REPRESENTATION(#17328,#17330); -#17330=SHAPE_REPRESENTATION('',(#5968),#14736); -#17331=PRODUCT_DEFINITION_SHAPE('',$,#5969); -#17332=SHAPE_DEFINITION_REPRESENTATION(#17331,#17333); -#17333=SHAPE_REPRESENTATION('',(#5970),#14736); -#17334=PRODUCT_DEFINITION_SHAPE('',$,#5971); -#17335=SHAPE_DEFINITION_REPRESENTATION(#17334,#17336); -#17336=SHAPE_REPRESENTATION('',(#5972),#14736); -#17337=PRODUCT_DEFINITION_SHAPE('',$,#5973); -#17338=SHAPE_DEFINITION_REPRESENTATION(#17337,#17339); -#17339=SHAPE_REPRESENTATION('',(#5974),#14736); -#17340=PRODUCT_DEFINITION_SHAPE('',$,#5975); -#17341=SHAPE_DEFINITION_REPRESENTATION(#17340,#17342); -#17342=SHAPE_REPRESENTATION('',(#5976),#14736); -#17343=REPRESENTATION_MAP(#26,#5980); -#17344=PRODUCT_DEFINITION_SHAPE('',$,#5982); -#17345=SHAPE_DEFINITION_REPRESENTATION(#17344,#17346); -#17346=SHAPE_REPRESENTATION('',(#5983),#14736); -#17347=PRODUCT_DEFINITION_SHAPE('',$,#5984); -#17348=SHAPE_DEFINITION_REPRESENTATION(#17347,#17349); -#17349=SHAPE_REPRESENTATION('',(#5985),#14736); -#17350=PRODUCT_DEFINITION_SHAPE('',$,#5986); -#17351=SHAPE_DEFINITION_REPRESENTATION(#17350,#17352); -#17352=SHAPE_REPRESENTATION('',(#5987),#14736); -#17353=PRODUCT_DEFINITION_SHAPE('',$,#5988); -#17354=SHAPE_DEFINITION_REPRESENTATION(#17353,#17355); -#17355=SHAPE_REPRESENTATION('',(#5989),#14736); -#17356=PRODUCT_DEFINITION_SHAPE('',$,#5990); -#17357=SHAPE_DEFINITION_REPRESENTATION(#17356,#17358); -#17358=SHAPE_REPRESENTATION('',(#5991),#14736); -#17359=PRODUCT_DEFINITION_SHAPE('',$,#5992); -#17360=SHAPE_DEFINITION_REPRESENTATION(#17359,#17361); -#17361=SHAPE_REPRESENTATION('',(#5993),#14736); -#17362=PRODUCT_DEFINITION_SHAPE('',$,#5994); -#17363=SHAPE_DEFINITION_REPRESENTATION(#17362,#17364); -#17364=SHAPE_REPRESENTATION('',(#5995),#14736); -#17365=PRODUCT_DEFINITION_SHAPE('',$,#5996); -#17366=SHAPE_DEFINITION_REPRESENTATION(#17365,#17367); -#17367=SHAPE_REPRESENTATION('',(#5997),#14736); -#17368=PRODUCT_DEFINITION_SHAPE('',$,#5998); -#17369=SHAPE_DEFINITION_REPRESENTATION(#17368,#17370); -#17370=SHAPE_REPRESENTATION('',(#5999),#14736); -#17371=PRODUCT_DEFINITION_SHAPE('',$,#6000); -#17372=SHAPE_DEFINITION_REPRESENTATION(#17371,#17373); -#17373=SHAPE_REPRESENTATION('',(#6001),#14736); -#17374=PRODUCT_DEFINITION_SHAPE('',$,#6002); -#17375=SHAPE_DEFINITION_REPRESENTATION(#17374,#17376); -#17376=SHAPE_REPRESENTATION('',(#6003),#14736); -#17377=PRODUCT_DEFINITION_SHAPE('',$,#6004); -#17378=SHAPE_DEFINITION_REPRESENTATION(#17377,#17379); -#17379=SHAPE_REPRESENTATION('',(#6005),#14736); -#17380=REPRESENTATION_MAP(#26,#6009); -#17381=PRODUCT_DEFINITION_SHAPE('',$,#6011); -#17382=SHAPE_DEFINITION_REPRESENTATION(#17381,#17383); -#17383=SHAPE_REPRESENTATION('',(#6012),#14736); -#17384=PRODUCT_DEFINITION_SHAPE('',$,#6013); -#17385=SHAPE_DEFINITION_REPRESENTATION(#17384,#17386); -#17386=SHAPE_REPRESENTATION('',(#6014),#14736); -#17387=PRODUCT_DEFINITION_SHAPE('',$,#6015); -#17388=SHAPE_DEFINITION_REPRESENTATION(#17387,#17389); -#17389=SHAPE_REPRESENTATION('',(#6016),#14736); -#17390=PRODUCT_DEFINITION_SHAPE('',$,#6017); -#17391=SHAPE_DEFINITION_REPRESENTATION(#17390,#17392); -#17392=SHAPE_REPRESENTATION('',(#6018),#14736); -#17393=PRODUCT_DEFINITION_SHAPE('',$,#6019); -#17394=SHAPE_DEFINITION_REPRESENTATION(#17393,#17395); -#17395=SHAPE_REPRESENTATION('',(#6020),#14736); -#17396=PRODUCT_DEFINITION_SHAPE('',$,#6021); -#17397=SHAPE_DEFINITION_REPRESENTATION(#17396,#17398); -#17398=SHAPE_REPRESENTATION('',(#6022),#14736); -#17399=PRODUCT_DEFINITION_SHAPE('',$,#6023); -#17400=SHAPE_DEFINITION_REPRESENTATION(#17399,#17401); -#17401=SHAPE_REPRESENTATION('',(#6024),#14736); -#17402=PRODUCT_DEFINITION_SHAPE('',$,#6025); -#17403=SHAPE_DEFINITION_REPRESENTATION(#17402,#17404); -#17404=SHAPE_REPRESENTATION('',(#6026),#14736); -#17405=PRODUCT_DEFINITION_SHAPE('',$,#6027); -#17406=SHAPE_DEFINITION_REPRESENTATION(#17405,#17407); -#17407=SHAPE_REPRESENTATION('',(#6028),#14736); -#17408=PRODUCT_DEFINITION_SHAPE('',$,#6029); -#17409=SHAPE_DEFINITION_REPRESENTATION(#17408,#17410); -#17410=SHAPE_REPRESENTATION('',(#6030),#14736); -#17411=PRODUCT_DEFINITION_SHAPE('',$,#6031); -#17412=SHAPE_DEFINITION_REPRESENTATION(#17411,#17413); -#17413=SHAPE_REPRESENTATION('',(#6032),#14736); -#17414=PRODUCT_DEFINITION_SHAPE('',$,#6033); -#17415=SHAPE_DEFINITION_REPRESENTATION(#17414,#17416); -#17416=SHAPE_REPRESENTATION('',(#6034),#14736); -#17417=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7465,#8382,#8334); -#17418=PROPERTY_DEFINITION_REPRESENTATION(#7465,#7460); -#17419=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#7483,#8382,#8334); -#17420=PROPERTY_DEFINITION_REPRESENTATION(#7483,#7479); -#17422=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#4372,#8382,#8334); -#17423=ID_ATTRIBUTE('1',#4372); -#17424=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#4366,#4372); -#17426=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2744,#8382,#8334); -#17427=ID_ATTRIBUTE('1',#2744); -#17428=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2750,#2744); -#17430=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#2886,#8382,#8334); -#17431=ID_ATTRIBUTE('1',#2886); -#17432=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#2892,#2886); -#17434=PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#3028,#8382,#8334); -#17435=ID_ATTRIBUTE('1',#3028); -#17436=PROPERTY_DEFINITION_RELATIONSHIP('technology usage','',#3034,#3028); -#17437=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#89,#579); -#17438=PRODUCT_DEFINITION_RELATIONSHIP('','constraining part',$,#166,#620); -#17439=NAME_ATTRIBUTE('single instance',#1004); -#17440=PRODUCT_DEFINITION_RELATIONSHIP('','resident stratum',$,#908,#1004); -#17441=PROPERTY_DEFINITION('explicitly created','false',#1004); -#17442=PROPERTY_DEFINITION('is base','true',#1004); -#17443=NAME_ATTRIBUTE('single instance',#1008); -#17444=PRODUCT_DEFINITION_RELATIONSHIP('','resident stratum',$,#920,#1008); -#17445=PROPERTY_DEFINITION('explicitly created','false',#1008); -#17446=PROPERTY_DEFINITION('is base','true',#1008); -#17447=NAME_ATTRIBUTE('single instance',#1010); -#17448=PRODUCT_DEFINITION_RELATIONSHIP('','resident stratum',$,#916,#1010); -#17449=PROPERTY_DEFINITION('explicitly created','false',#1010); -#17450=PROPERTY_DEFINITION('is base','true',#1010); -#17451=NAME_ATTRIBUTE('single instance',#1012); -#17452=PRODUCT_DEFINITION_RELATIONSHIP('','resident stratum',$,#902,#1012); -#17453=PROPERTY_DEFINITION('explicitly created','false',#1012); -#17454=PROPERTY_DEFINITION('is base','true',#1012); -#17455=NAME_ATTRIBUTE('single instance',#6516); -#17456=PRODUCT_DEFINITION_RELATIONSHIP('','resident stratum',$,#6480,#6516); -#17457=PROPERTY_DEFINITION('explicitly created','false',#6516); -#17458=PROPERTY_DEFINITION('is base','true',#6516); -#17459=NAME_ATTRIBUTE('single instance',#6520); -#17460=PRODUCT_DEFINITION_RELATIONSHIP('','resident stratum',$,#6492,#6520); -#17461=PROPERTY_DEFINITION('explicitly created','false',#6520); -#17462=PROPERTY_DEFINITION('is base','true',#6520); -#17463=NAME_ATTRIBUTE('single instance',#6522); -#17464=PRODUCT_DEFINITION_RELATIONSHIP('','resident stratum',$,#6488,#6522); -#17465=PROPERTY_DEFINITION('explicitly created','false',#6522); -#17466=PROPERTY_DEFINITION('is base','true',#6522); -#17467=NAME_ATTRIBUTE('single instance',#6524); -#17468=PRODUCT_DEFINITION_RELATIONSHIP('','resident stratum',$,#6474,#6524); -#17469=PROPERTY_DEFINITION('explicitly created','false',#6524); -#17470=PROPERTY_DEFINITION('is base','true',#6524); -#17471=NAME_ATTRIBUTE('single instance',#993); -#17472=PROPERTY_DEFINITION('','',#993); -#17473=REPRESENTATION('',(#8628),#8399); -#17474=PROPERTY_DEFINITION_REPRESENTATION(#17472,#17473); -#17475=PROPERTY_DEFINITION('explicitly created','false',#993); -#17476=PROPERTY_DEFINITION('is base','true',#993); -#17477=NAME_ATTRIBUTE('single instance',#1006); -#17478=PROPERTY_DEFINITION('','',#1006); -#17479=REPRESENTATION('',(#8628),#8399); -#17480=PROPERTY_DEFINITION_REPRESENTATION(#17478,#17479); -#17481=PROPERTY_DEFINITION('explicitly created','false',#1006); -#17482=PROPERTY_DEFINITION('is base','true',#1006); -#17483=NAME_ATTRIBUTE('single instance',#6505); -#17484=PROPERTY_DEFINITION('','',#6505); -#17485=REPRESENTATION('',(#8628),#8399); -#17486=PROPERTY_DEFINITION_REPRESENTATION(#17484,#17485); -#17487=PROPERTY_DEFINITION('explicitly created','false',#6505); -#17488=PROPERTY_DEFINITION('is base','true',#6505); -#17489=NAME_ATTRIBUTE('single instance',#6518); -#17490=PROPERTY_DEFINITION('','',#6518); -#17491=REPRESENTATION('',(#8628),#8399); -#17492=PROPERTY_DEFINITION_REPRESENTATION(#17490,#17491); -#17493=PROPERTY_DEFINITION('explicitly created','false',#6518); -#17494=PROPERTY_DEFINITION('is base','true',#6518); -#17495=NAME_ATTRIBUTE('single instance',#6675); -#17496=PROPERTY_DEFINITION('','',#6675); -#17497=REPRESENTATION('',(#8628),#8399); -#17498=PROPERTY_DEFINITION_REPRESENTATION(#17496,#17497); -#17499=PROPERTY_DEFINITION('explicitly created','true',#6675); -#17500=PROPERTY_DEFINITION('is base','false',#6675); -#17501=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#6516,#6675); -#17502=NAME_ATTRIBUTE('single instance',#6682); -#17503=PROPERTY_DEFINITION('','',#6682); -#17504=REPRESENTATION('',(#8628),#8399); -#17505=PROPERTY_DEFINITION_REPRESENTATION(#17503,#17504); -#17506=PROPERTY_DEFINITION('explicitly created','true',#6682); -#17507=PROPERTY_DEFINITION('is base','false',#6682); -#17508=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#6520,#6682); -#17509=NAME_ATTRIBUTE('single instance',#6689); -#17510=PROPERTY_DEFINITION('','',#6689); -#17511=REPRESENTATION('',(#8628),#8399); -#17512=PROPERTY_DEFINITION_REPRESENTATION(#17510,#17511); -#17513=PROPERTY_DEFINITION('explicitly created','true',#6689); -#17514=PROPERTY_DEFINITION('is base','false',#6689); -#17515=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#6522,#6689); -#17516=NAME_ATTRIBUTE('single instance',#6696); -#17517=PROPERTY_DEFINITION('','',#6696); -#17518=REPRESENTATION('',(#8628),#8399); -#17519=PROPERTY_DEFINITION_REPRESENTATION(#17517,#17518); -#17520=PROPERTY_DEFINITION('explicitly created','true',#6696); -#17521=PROPERTY_DEFINITION('is base','false',#6696); -#17522=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#6524,#6696); -#17523=NAME_ATTRIBUTE('single instance',#8085); -#17524=PROPERTY_DEFINITION('','',#8085); -#17525=REPRESENTATION('',(#8628),#8399); -#17526=PROPERTY_DEFINITION_REPRESENTATION(#17524,#17525); -#17527=PROPERTY_DEFINITION('explicitly created','true',#8085); -#17528=PROPERTY_DEFINITION('is base','false',#8085); -#17529=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#1004,#8085); -#17530=NAME_ATTRIBUTE('single instance',#8164); -#17531=PROPERTY_DEFINITION('','',#8164); -#17532=REPRESENTATION('',(#8628),#8399); -#17533=PROPERTY_DEFINITION_REPRESENTATION(#17531,#17532); -#17534=PROPERTY_DEFINITION('explicitly created','true',#8164); -#17535=PROPERTY_DEFINITION('is base','false',#8164); -#17536=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#1008,#8164); -#17537=NAME_ATTRIBUTE('single instance',#8237); -#17538=PROPERTY_DEFINITION('','',#8237); -#17539=REPRESENTATION('',(#8628),#8399); -#17540=PROPERTY_DEFINITION_REPRESENTATION(#17538,#17539); -#17541=PROPERTY_DEFINITION('explicitly created','true',#8237); -#17542=PROPERTY_DEFINITION('is base','false',#8237); -#17543=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#1010,#8237); -#17544=NAME_ATTRIBUTE('single instance',#8276); -#17545=PROPERTY_DEFINITION('','',#8276); -#17546=REPRESENTATION('',(#8628),#8399); -#17547=PROPERTY_DEFINITION_REPRESENTATION(#17545,#17546); -#17548=PROPERTY_DEFINITION('explicitly created','true',#8276); -#17549=PROPERTY_DEFINITION('is base','false',#8276); -#17550=PRODUCT_DEFINITION_RELATIONSHIP('replaced component','replaced component', - $,#1012,#8276); -#17551=NAME_ATTRIBUTE('single instance',#7262); -#17552=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7258,#1671,$,'',$,#7262,*); -#17553=PROPERTY_DEFINITION('',$,#17552); -#17554=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15036,#17553); -#17555=PROPERTY_DEFINITION('feature of size','true',#7262); -#17556=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7261,#7262); -#17557=NAME_ATTRIBUTE('single instance',#7283); -#17558=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7280,#1671,$,'',$,#7283,*); -#17559=PROPERTY_DEFINITION('',$,#17558); -#17560=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15036,#17559); -#17561=PROPERTY_DEFINITION('feature of size','true',#7283); -#17562=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7261,#7283); -#17563=NAME_ATTRIBUTE('single instance',#7304); -#17564=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7301,#1671,$,'',$,#7304,*); -#17565=PROPERTY_DEFINITION('',$,#17564); -#17566=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15036,#17565); -#17567=PROPERTY_DEFINITION('feature of size','true',#7304); -#17568=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7261,#7304); -#17569=NAME_ATTRIBUTE('single instance',#7325); -#17570=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7322,#1671,$,'',$,#7325,*); -#17571=PROPERTY_DEFINITION('',$,#17570); -#17572=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15036,#17571); -#17573=PROPERTY_DEFINITION('feature of size','true',#7325); -#17574=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7261,#7325); -#17575=NAME_ATTRIBUTE('single instance',#7346); -#17576=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7343,#1671,$,'',$,#7346,*); -#17577=PROPERTY_DEFINITION('',$,#17576); -#17578=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15036,#17577); -#17579=PROPERTY_DEFINITION('feature of size','true',#7346); -#17580=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7261,#7346); -#17581=NAME_ATTRIBUTE('single instance',#7367); -#17582=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7364,#1671,$,'',$,#7367,*); -#17583=PROPERTY_DEFINITION('',$,#17582); -#17584=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15036,#17583); -#17585=PROPERTY_DEFINITION('feature of size','true',#7367); -#17586=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7261,#7367); -#17587=NAME_ATTRIBUTE('single instance',#7388); -#17588=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7385,#1671,$,'',$,#7388,*); -#17589=PROPERTY_DEFINITION('',$,#17588); -#17590=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15036,#17589); -#17591=PROPERTY_DEFINITION('feature of size','true',#7388); -#17592=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7261,#7388); -#17593=NAME_ATTRIBUTE('single instance',#7472); -#17594=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17595=SHAPE_REPRESENTATION('',(#7471),#17594); -#17596=SHAPE_ASPECT('',$,#7472,.U.); -#17597=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7496,#17596); -#17598=NAME_ATTRIBUTE('single instance',#7489); -#17599=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17600=SHAPE_REPRESENTATION('',(#7488),#17599); -#17601=SHAPE_ASPECT('',$,#7489,.U.); -#17602=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7496,#17601); -#17603=NAME_ATTRIBUTE('single instance',#7505); -#17604=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17605=SHAPE_REPRESENTATION('',(#7504),#17604); -#17606=SHAPE_ASPECT('',$,#7505,.U.); -#17607=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7540,#17606); -#17608=NAME_ATTRIBUTE('single instance',#7520); -#17609=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17610=SHAPE_REPRESENTATION('',(#7519),#17609); -#17611=SHAPE_ASPECT('',$,#7520,.U.); -#17612=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7540,#17611); -#17613=NAME_ATTRIBUTE('single instance',#7533); -#17614=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17615=SHAPE_REPRESENTATION('',(#7532),#17614); -#17616=SHAPE_ASPECT('',$,#7533,.U.); -#17617=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7540,#17616); -#17618=NAME_ATTRIBUTE('single instance',#7550); -#17619=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17620=SHAPE_REPRESENTATION('',(#7549),#17619); -#17621=SHAPE_ASPECT('',$,#7550,.U.); -#17622=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7571,#17621); -#17623=NAME_ATTRIBUTE('single instance',#7564); -#17624=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17625=SHAPE_REPRESENTATION('',(#7563),#17624); -#17626=SHAPE_ASPECT('',$,#7564,.U.); -#17627=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7571,#17626); -#17628=NAME_ATTRIBUTE('single instance',#7582); -#17629=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17630=SHAPE_REPRESENTATION('',(#7581),#17629); -#17631=SHAPE_ASPECT('',$,#7582,.U.); -#17632=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7601,#17631); -#17633=NAME_ATTRIBUTE('single instance',#7594); -#17634=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17635=SHAPE_REPRESENTATION('',(#7593),#17634); -#17636=SHAPE_ASPECT('',$,#7594,.U.); -#17637=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7601,#17636); -#17638=NAME_ATTRIBUTE('single instance',#7612); -#17639=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17640=SHAPE_REPRESENTATION('',(#7611),#17639); -#17641=SHAPE_ASPECT('',$,#7612,.U.); -#17642=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7621,#17641); -#17643=NAME_ATTRIBUTE('single instance',#7632); -#17644=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17645=SHAPE_REPRESENTATION('',(#7631),#17644); -#17646=SHAPE_ASPECT('',$,#7632,.U.); -#17647=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7641,#17646); -#17648=NAME_ATTRIBUTE('single instance',#7651); -#17649=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17650=SHAPE_REPRESENTATION('',(#7650),#17649); -#17651=SHAPE_ASPECT('',$,#7651,.U.); -#17652=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7660,#17651); -#17653=NAME_ATTRIBUTE('single instance',#7669); -#17654=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17655=SHAPE_REPRESENTATION('',(#7668),#17654); -#17656=SHAPE_ASPECT('',$,#7669,.U.); -#17657=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7678,#17656); -#17658=NAME_ATTRIBUTE('single instance',#7684); -#17659=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17660=SHAPE_REPRESENTATION('',(#7683),#17659); -#17661=SHAPE_ASPECT('',$,#7684,.U.); -#17662=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7693,#17661); -#17663=NAME_ATTRIBUTE('single instance',#7725); -#17664=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17665=SHAPE_REPRESENTATION('',(#7724),#17664); -#17666=SHAPE_ASPECT('',$,#7725,.U.); -#17667=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17666); -#17668=NAME_ATTRIBUTE('single instance',#7734); -#17669=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17670=SHAPE_REPRESENTATION('',(#7733),#17669); -#17671=SHAPE_ASPECT('',$,#7734,.U.); -#17672=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17671); -#17673=NAME_ATTRIBUTE('single instance',#7747); -#17674=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17675=SHAPE_REPRESENTATION('',(#7746),#17674); -#17676=SHAPE_ASPECT('',$,#7747,.U.); -#17677=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17676); -#17678=NAME_ATTRIBUTE('single instance',#7763); -#17679=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17680=SHAPE_REPRESENTATION('',(#7762),#17679); -#17681=SHAPE_ASPECT('',$,#7763,.U.); -#17682=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17681); -#17683=NAME_ATTRIBUTE('single instance',#7777); -#17684=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17685=SHAPE_REPRESENTATION('',(#7776),#17684); -#17686=SHAPE_ASPECT('',$,#7777,.U.); -#17687=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17686); -#17688=NAME_ATTRIBUTE('single instance',#7790); -#17689=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17690=SHAPE_REPRESENTATION('',(#7789),#17689); -#17691=SHAPE_ASPECT('',$,#7790,.U.); -#17692=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17691); -#17693=NAME_ATTRIBUTE('single instance',#7804); -#17694=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17695=SHAPE_REPRESENTATION('',(#7803),#17694); -#17696=SHAPE_ASPECT('',$,#7804,.U.); -#17697=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17696); -#17698=NAME_ATTRIBUTE('single instance',#7815); -#17699=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17700=SHAPE_REPRESENTATION('',(#7814),#17699); -#17701=SHAPE_ASPECT('',$,#7815,.U.); -#17702=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17701); -#17703=NAME_ATTRIBUTE('single instance',#7827); -#17704=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17705=SHAPE_REPRESENTATION('',(#7826),#17704); -#17706=SHAPE_ASPECT('',$,#7827,.U.); -#17707=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17706); -#17708=NAME_ATTRIBUTE('single instance',#7838); -#17709=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17710=SHAPE_REPRESENTATION('',(#7837),#17709); -#17711=SHAPE_ASPECT('',$,#7838,.U.); -#17712=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17711); -#17713=NAME_ATTRIBUTE('single instance',#7854); -#17714=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17715=SHAPE_REPRESENTATION('',(#7853),#17714); -#17716=SHAPE_ASPECT('',$,#7854,.U.); -#17717=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7863,#17716); -#17718=NAME_ATTRIBUTE('single instance',#7870); -#17719=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17720=SHAPE_REPRESENTATION('',(#7869),#17719); -#17721=SHAPE_ASPECT('',$,#7870,.U.); -#17722=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7879,#17721); -#17723=NAME_ATTRIBUTE('single instance',#7897); -#17724=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17725=SHAPE_REPRESENTATION('',(#7896),#17724); -#17726=SHAPE_ASPECT('',$,#7897,.U.); -#17727=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7950,#17726); -#17728=NAME_ATTRIBUTE('single instance',#7908); -#17729=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17730=SHAPE_REPRESENTATION('',(#7907),#17729); -#17731=SHAPE_ASPECT('',$,#7908,.U.); -#17732=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7950,#17731); -#17733=NAME_ATTRIBUTE('single instance',#7919); -#17734=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17735=SHAPE_REPRESENTATION('',(#7918),#17734); -#17736=SHAPE_ASPECT('',$,#7919,.U.); -#17737=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7950,#17736); -#17738=NAME_ATTRIBUTE('single instance',#7931); -#17739=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17740=SHAPE_REPRESENTATION('',(#7930),#17739); -#17741=SHAPE_ASPECT('',$,#7931,.U.); -#17742=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7950,#17741); -#17743=NAME_ATTRIBUTE('single instance',#7941); -#17744=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17745=SHAPE_REPRESENTATION('',(#7940),#17744); -#17746=SHAPE_ASPECT('',$,#7941,.U.); -#17747=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7950,#17746); -#17748=NAME_ATTRIBUTE('single instance',#7957); -#17749=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17750=SHAPE_REPRESENTATION('',(#7956),#17749); -#17751=SHAPE_ASPECT('',$,#7957,.U.); -#17752=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7966,#17751); -#17753=NAME_ATTRIBUTE('single instance',#7974); -#17754=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17755=SHAPE_REPRESENTATION('',(#7973),#17754); -#17756=SHAPE_ASPECT('',$,#7974,.U.); -#17757=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7992,#17756); -#17758=NAME_ATTRIBUTE('single instance',#7985); -#17759=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17760=SHAPE_REPRESENTATION('',(#7984),#17759); -#17761=SHAPE_ASPECT('',$,#7985,.U.); -#17762=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7992,#17761); -#17763=NAME_ATTRIBUTE('single instance',#8001); -#17764=GEOMETRIC_REPRESENTATION_CONTEXT('','',2); -#17765=SHAPE_REPRESENTATION('',(#8000),#17764); -#17766=SHAPE_ASPECT('',$,#8001,.U.); -#17767=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8010,#17766); -#17768=NAME_ATTRIBUTE('single instance',#6904); -#17769=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6900,#1371,$,'',$,#6904,*); -#17770=PROPERTY_DEFINITION('',$,#17769); -#17771=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15741,#17770); -#17772=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14892,#17770); -#17773=SHAPE_ASPECT('',$,#6904,.U.); -#17774=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8010,#17773); -#17775=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1375,#6904); -#17776=NAME_ATTRIBUTE('single instance',#6908); -#17777=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6900,#1371,$,'',$,#6908,*); -#17778=PROPERTY_DEFINITION('',$,#17777); -#17779=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15738,#17778); -#17780=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14892,#17778); -#17781=SHAPE_ASPECT('',$,#6908,.U.); -#17782=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17781); -#17783=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1375,#6908); -#17784=NAME_ATTRIBUTE('single instance',#6934); -#17785=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6928,#2651,$,'',$,#6934,*); -#17786=PROPERTY_DEFINITION('',$,#17785); -#17787=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#17786); -#17788=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15495,#17786); -#17789=SHAPE_ASPECT('',$,#6934,.U.); -#17790=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7641,#17789); -#17791=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2655,#6934); -#17792=NAME_ATTRIBUTE('single instance',#6938); -#17793=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6928,#2651,$,'',$,#6938,*); -#17794=PROPERTY_DEFINITION('',$,#17793); -#17795=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#17794); -#17796=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15495,#17794); -#17797=SHAPE_ASPECT('',$,#6938,.U.); -#17798=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7863,#17797); -#17799=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2655,#6938); -#17800=NAME_ATTRIBUTE('single instance',#6962); -#17801=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#2501,$,'',$,#6962,*); -#17802=PROPERTY_DEFINITION('',$,#17801); -#17803=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15752,#17802); -#17804=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15460,#17802); -#17805=SHAPE_ASPECT('',$,#6962,.U.); -#17806=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7571,#17805); -#17807=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2505,#6962); -#17808=NAME_ATTRIBUTE('single instance',#6966); -#17809=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#2501,$,'',$,#6966,*); -#17810=PROPERTY_DEFINITION('',$,#17809); -#17811=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15745,#17810); -#17812=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15460,#17810); -#17813=SHAPE_ASPECT('',$,#6966,.U.); -#17814=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7992,#17813); -#17815=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2505,#6966); -#17816=NAME_ATTRIBUTE('single instance',#6988); -#17817=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2727,$,'',$,#6988,*); -#17818=PROPERTY_DEFINITION('',$,#17817); -#17819=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15802,#17818); -#17820=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15514,#17818); -#17821=SHAPE_ASPECT('',$,#6988,.U.); -#17822=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17821); -#17823=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2731,#6988); -#17824=NAME_ATTRIBUTE('single instance',#6992); -#17825=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2727,$,'',$,#6992,*); -#17826=PROPERTY_DEFINITION('',$,#17825); -#17827=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15799,#17826); -#17828=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15514,#17826); -#17829=SHAPE_ASPECT('',$,#6992,.U.); -#17830=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7540,#17829); -#17831=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2731,#6992); -#17832=NAME_ATTRIBUTE('single instance',#6996); -#17833=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2727,$,'',$,#6996,*); -#17834=PROPERTY_DEFINITION('',$,#17833); -#17835=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15796,#17834); -#17836=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15514,#17834); -#17837=SHAPE_ASPECT('',$,#6996,.U.); -#17838=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7496,#17837); -#17839=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2731,#6996); -#17840=NAME_ATTRIBUTE('single instance',#7000); -#17841=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2727,$,'',$,#7000,*); -#17842=PROPERTY_DEFINITION('',$,#17841); -#17843=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15793,#17842); -#17844=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15514,#17842); -#17845=SHAPE_ASPECT('',$,#7000,.U.); -#17846=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7966,#17845); -#17847=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2731,#7000); -#17848=NAME_ATTRIBUTE('single instance',#7004); -#17849=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2727,$,'',$,#7004,*); -#17850=PROPERTY_DEFINITION('',$,#17849); -#17851=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15790,#17850); -#17852=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15514,#17850); -#17853=SHAPE_ASPECT('',$,#7004,.U.); -#17854=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7601,#17853); -#17855=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2731,#7004); -#17856=NAME_ATTRIBUTE('single instance',#7008); -#17857=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2727,$,'',$,#7008,*); -#17858=PROPERTY_DEFINITION('',$,#17857); -#17859=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15787,#17858); -#17860=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15514,#17858); -#17861=SHAPE_ASPECT('',$,#7008,.U.); -#17862=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7540,#17861); -#17863=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2731,#7008); -#17864=NAME_ATTRIBUTE('single instance',#7012); -#17865=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2727,$,'',$,#7012,*); -#17866=PROPERTY_DEFINITION('',$,#17865); -#17867=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15784,#17866); -#17868=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15514,#17866); -#17869=SHAPE_ASPECT('',$,#7012,.U.); -#17870=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7571,#17869); -#17871=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2731,#7012); -#17872=NAME_ATTRIBUTE('single instance',#7016); -#17873=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2727,$,'',$,#7016,*); -#17874=PROPERTY_DEFINITION('',$,#17873); -#17875=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15781,#17874); -#17876=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15514,#17874); -#17877=SHAPE_ASPECT('',$,#7016,.U.); -#17878=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7992,#17877); -#17879=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2731,#7016); -#17880=NAME_ATTRIBUTE('single instance',#7092); -#17881=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7086,#2651,$,'',$,#7092,*); -#17882=PROPERTY_DEFINITION('',$,#17881); -#17883=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#17882); -#17884=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15495,#17882); -#17885=SHAPE_ASPECT('',$,#7092,.U.); -#17886=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7621,#17885); -#17887=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2655,#7092); -#17888=NAME_ATTRIBUTE('single instance',#7096); -#17889=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7086,#2651,$,'',$,#7096,*); -#17890=PROPERTY_DEFINITION('',$,#17889); -#17891=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#17890); -#17892=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15495,#17890); -#17893=SHAPE_ASPECT('',$,#7096,.U.); -#17894=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7879,#17893); -#17895=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2655,#7096); -#17896=NAME_ATTRIBUTE('single instance',#7120); -#17897=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7114,#2651,$,'',$,#7120,*); -#17898=PROPERTY_DEFINITION('',$,#17897); -#17899=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#17898); -#17900=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15495,#17898); -#17901=SHAPE_ASPECT('',$,#7120,.U.); -#17902=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7678,#17901); -#17903=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2655,#7120); -#17904=NAME_ATTRIBUTE('single instance',#7124); -#17905=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7114,#2651,$,'',$,#7124,*); -#17906=PROPERTY_DEFINITION('',$,#17905); -#17907=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#17906); -#17908=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15495,#17906); -#17909=SHAPE_ASPECT('',$,#7124,.U.); -#17910=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7950,#17909); -#17911=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2655,#7124); -#17912=NAME_ATTRIBUTE('single instance',#7146); -#17913=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7142,#1319,$,'',$,#7146,*); -#17914=PROPERTY_DEFINITION('',$,#17913); -#17915=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15734,#17914); -#17916=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14881,#17914); -#17917=SHAPE_ASPECT('',$,#7146,.U.); -#17918=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7540,#17917); -#17919=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1323,#7146); -#17920=NAME_ATTRIBUTE('single instance',#7150); -#17921=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7142,#1319,$,'',$,#7150,*); -#17922=PROPERTY_DEFINITION('',$,#17921); -#17923=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15731,#17922); -#17924=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14881,#17922); -#17925=SHAPE_ASPECT('',$,#7150,.U.); -#17926=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17925); -#17927=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1323,#7150); -#17928=NAME_ATTRIBUTE('single instance',#7176); -#17929=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7170,#2501,$,'',$,#7176,*); -#17930=PROPERTY_DEFINITION('',$,#17929); -#17931=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15752,#17930); -#17932=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15460,#17930); -#17933=SHAPE_ASPECT('',$,#7176,.U.); -#17934=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7571,#17933); -#17935=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2505,#7176); -#17936=NAME_ATTRIBUTE('single instance',#7180); -#17937=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7170,#2501,$,'',$,#7180,*); -#17938=PROPERTY_DEFINITION('',$,#17937); -#17939=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15745,#17938); -#17940=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15460,#17938); -#17941=SHAPE_ASPECT('',$,#7180,.U.); -#17942=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7540,#17941); -#17943=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2505,#7180); -#17944=NAME_ATTRIBUTE('single instance',#7204); -#17945=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7198,#2651,$,'',$,#7204,*); -#17946=PROPERTY_DEFINITION('',$,#17945); -#17947=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#17946); -#17948=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15495,#17946); -#17949=SHAPE_ASPECT('',$,#7204,.U.); -#17950=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7660,#17949); -#17951=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2655,#7204); -#17952=NAME_ATTRIBUTE('single instance',#7208); -#17953=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7198,#2651,$,'',$,#7208,*); -#17954=PROPERTY_DEFINITION('',$,#17953); -#17955=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#17954); -#17956=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15495,#17954); -#17957=SHAPE_ASPECT('',$,#7208,.U.); -#17958=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7950,#17957); -#17959=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2655,#7208); -#17960=NAME_ATTRIBUTE('single instance',#7230); -#17961=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7226,#1319,$,'',$,#7230,*); -#17962=PROPERTY_DEFINITION('',$,#17961); -#17963=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15734,#17962); -#17964=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14881,#17962); -#17965=SHAPE_ASPECT('',$,#7230,.U.); -#17966=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7601,#17965); -#17967=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1323,#7230); -#17968=NAME_ATTRIBUTE('single instance',#7234); -#17969=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7226,#1319,$,'',$,#7234,*); -#17970=PROPERTY_DEFINITION('',$,#17969); -#17971=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15731,#17970); -#17972=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14881,#17970); -#17973=SHAPE_ASPECT('',$,#7234,.U.); -#17974=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#17973); -#17975=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1323,#7234); -#17976=NAME_ATTRIBUTE('single instance',#6138); -#17977=NAME_ATTRIBUTE('single instance',#6150); -#17978=NAME_ATTRIBUTE('single instance',#6161); -#17979=NAME_ATTRIBUTE('single instance',#6172); -#17980=NAME_ATTRIBUTE('single instance',#6538); -#17981=NAME_ATTRIBUTE('single instance',#6900); -#17982=NAME_ATTRIBUTE('single instance',#6928); -#17983=NAME_ATTRIBUTE('single instance',#6956); -#17984=NAME_ATTRIBUTE('single instance',#6984); -#17985=NAME_ATTRIBUTE('single instance',#7086); -#17986=NAME_ATTRIBUTE('single instance',#7114); -#17987=NAME_ATTRIBUTE('single instance',#7142); -#17988=NAME_ATTRIBUTE('single instance',#7170); -#17989=NAME_ATTRIBUTE('single instance',#7198); -#17990=NAME_ATTRIBUTE('single instance',#7226); -#17991=NAME_ATTRIBUTE('single instance',#49); -#17992=PRODUCT_DEFINITION_CONTEXT('part occurrence',#8333,''); -#17993=NAME_ATTRIBUTE('single instance',#6526); -#17994=NAME_ATTRIBUTE('single instance',#960); -#17995=PROPERTY_DEFINITION('feature of size','true',#960); -#17996=NAME_ATTRIBUTE('single instance',#6452); -#17997=PROPERTY_DEFINITION('feature of size','true',#6452); -#17998=NAME_ATTRIBUTE('single instance',#7410); -#17999=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7404,#2886,$,'',$,#7410,*); -#18000=PROPERTY_DEFINITION('',$,#17999); -#18001=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15589,#18000); -#18002=PROPERTY_DEFINITION('feature of size','true',#7410); -#18003=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7409,#7410); -#18004=NAME_ATTRIBUTE('single instance',#7421); -#18005=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7416,#2886,$,'',$,#7421,*); -#18006=PROPERTY_DEFINITION('',$,#18005); -#18007=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15589,#18006); -#18008=PROPERTY_DEFINITION('feature of size','true',#7421); -#18009=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7409,#7421); -#18010=NAME_ATTRIBUTE('single instance',#7432); -#18011=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7427,#2886,$,'',$,#7432,*); -#18012=PROPERTY_DEFINITION('',$,#18011); -#18013=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15589,#18012); -#18014=PROPERTY_DEFINITION('feature of size','true',#7432); -#18015=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7409,#7432); -#18016=NAME_ATTRIBUTE('single instance',#7443); -#18017=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7438,#2886,$,'',$,#7443,*); -#18018=PROPERTY_DEFINITION('',$,#18017); -#18019=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15589,#18018); -#18020=PROPERTY_DEFINITION('feature of size','true',#7443); -#18021=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7409,#7443); -#18022=NAME_ATTRIBUTE('single instance',#7454); -#18023=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7449,#2886,$,'',$,#7454,*); -#18024=PROPERTY_DEFINITION('',$,#18023); -#18025=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15589,#18024); -#18026=PROPERTY_DEFINITION('feature of size','true',#7454); -#18027=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#7409,#7454); -#18028=NAME_ATTRIBUTE('single instance',#7259); -#18029=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7258,#1745,$,'',$,#7259,*); -#18030=PROPERTY_DEFINITION('',$,#18029); -#18031=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15103,#18030); -#18032=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7262,#7259); -#18033=SHAPE_ASPECT('',$,#7259,.U.); -#18034=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7660,#18033); -#18035=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7259); -#18036=NAME_ATTRIBUTE('single instance',#7260); -#18037=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7258,#1745,$,'',$,#7260,*); -#18038=PROPERTY_DEFINITION('',$,#18037); -#18039=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15070,#18038); -#18040=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7262,#7260); -#18041=SHAPE_ASPECT('',$,#7260,.U.); -#18042=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8014,#18041); -#18043=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7260); -#18044=NAME_ATTRIBUTE('single instance',#7281); -#18045=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7280,#1745,$,'',$,#7281,*); -#18046=PROPERTY_DEFINITION('',$,#18045); -#18047=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15103,#18046); -#18048=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7283,#7281); -#18049=SHAPE_ASPECT('',$,#7281,.U.); -#18050=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8015,#18049); -#18051=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7281); -#18052=NAME_ATTRIBUTE('single instance',#7282); -#18053=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7280,#1745,$,'',$,#7282,*); -#18054=PROPERTY_DEFINITION('',$,#18053); -#18055=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15070,#18054); -#18056=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7283,#7282); -#18057=SHAPE_ASPECT('',$,#7282,.U.); -#18058=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7693,#18057); -#18059=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7282); -#18060=NAME_ATTRIBUTE('single instance',#7302); -#18061=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7301,#1745,$,'',$,#7302,*); -#18062=PROPERTY_DEFINITION('',$,#18061); -#18063=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15103,#18062); -#18064=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7304,#7302); -#18065=SHAPE_ASPECT('',$,#7302,.U.); -#18066=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8016,#18065); -#18067=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7302); -#18068=NAME_ATTRIBUTE('single instance',#7303); -#18069=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7301,#1745,$,'',$,#7303,*); -#18070=PROPERTY_DEFINITION('',$,#18069); -#18071=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15070,#18070); -#18072=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7304,#7303); -#18073=SHAPE_ASPECT('',$,#7303,.U.); -#18074=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7496,#18073); -#18075=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7303); -#18076=NAME_ATTRIBUTE('single instance',#7323); -#18077=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7322,#1745,$,'',$,#7323,*); -#18078=PROPERTY_DEFINITION('',$,#18077); -#18079=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15103,#18078); -#18080=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7325,#7323); -#18081=SHAPE_ASPECT('',$,#7323,.U.); -#18082=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7641,#18081); -#18083=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7323); -#18084=NAME_ATTRIBUTE('single instance',#7324); -#18085=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7322,#1745,$,'',$,#7324,*); -#18086=PROPERTY_DEFINITION('',$,#18085); -#18087=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15070,#18086); -#18088=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7325,#7324); -#18089=SHAPE_ASPECT('',$,#7324,.U.); -#18090=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8017,#18089); -#18091=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7324); -#18092=NAME_ATTRIBUTE('single instance',#7344); -#18093=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7343,#1745,$,'',$,#7344,*); -#18094=PROPERTY_DEFINITION('',$,#18093); -#18095=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15103,#18094); -#18096=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7346,#7344); -#18097=SHAPE_ASPECT('',$,#7344,.U.); -#18098=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7621,#18097); -#18099=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7344); -#18100=NAME_ATTRIBUTE('single instance',#7345); -#18101=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7343,#1745,$,'',$,#7345,*); -#18102=PROPERTY_DEFINITION('',$,#18101); -#18103=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15070,#18102); -#18104=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7346,#7345); -#18105=SHAPE_ASPECT('',$,#7345,.U.); -#18106=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8018,#18105); -#18107=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7345); -#18108=NAME_ATTRIBUTE('single instance',#7365); -#18109=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7364,#1745,$,'',$,#7365,*); -#18110=PROPERTY_DEFINITION('',$,#18109); -#18111=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15103,#18110); -#18112=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7367,#7365); -#18113=SHAPE_ASPECT('',$,#7365,.U.); -#18114=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7950,#18113); -#18115=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7365); -#18116=NAME_ATTRIBUTE('single instance',#7366); -#18117=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7364,#1745,$,'',$,#7366,*); -#18118=PROPERTY_DEFINITION('',$,#18117); -#18119=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15070,#18118); -#18120=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7367,#7366); -#18121=SHAPE_ASPECT('',$,#7366,.U.); -#18122=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8010,#18121); -#18123=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7366); -#18124=NAME_ATTRIBUTE('single instance',#7386); -#18125=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7385,#1745,$,'',$,#7386,*); -#18126=PROPERTY_DEFINITION('',$,#18125); -#18127=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15103,#18126); -#18128=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7388,#7386); -#18129=SHAPE_ASPECT('',$,#7386,.U.); -#18130=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8019,#18129); -#18131=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7386); -#18132=NAME_ATTRIBUTE('single instance',#7387); -#18133=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7385,#1745,$,'',$,#7387,*); -#18134=PROPERTY_DEFINITION('',$,#18133); -#18135=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15070,#18134); -#18136=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7388,#7387); -#18137=SHAPE_ASPECT('',$,#7387,.U.); -#18138=SHAPE_ASPECT_RELATIONSHIP('implementation','',#7845,#18137); -#18139=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#1748,#7387); -#18140=NAME_ATTRIBUTE('single instance',#7405); -#18141=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7404,#2969,$,'',$,#7405,*); -#18142=PROPERTY_DEFINITION('',$,#18141); -#18143=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15656,#18142); -#18144=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7410,#7405); -#18145=SHAPE_ASPECT('',$,#7405,.U.); -#18146=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8021,#18145); -#18147=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2972,#7405); -#18148=NAME_ATTRIBUTE('single instance',#7406); -#18149=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7404,#2969,$,'',$,#7406,*); -#18150=PROPERTY_DEFINITION('',$,#18149); -#18151=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15623,#18150); -#18152=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7410,#7406); -#18153=SHAPE_ASPECT('',$,#7406,.U.); -#18154=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8020,#18153); -#18155=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2972,#7406); -#18156=NAME_ATTRIBUTE('single instance',#7417); -#18157=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7416,#2969,$,'',$,#7417,*); -#18158=PROPERTY_DEFINITION('',$,#18157); -#18159=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15656,#18158); -#18160=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7421,#7417); -#18161=SHAPE_ASPECT('',$,#7417,.U.); -#18162=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8023,#18161); -#18163=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2972,#7417); -#18164=NAME_ATTRIBUTE('single instance',#7418); -#18165=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7416,#2969,$,'',$,#7418,*); -#18166=PROPERTY_DEFINITION('',$,#18165); -#18167=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15623,#18166); -#18168=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7421,#7418); -#18169=SHAPE_ASPECT('',$,#7418,.U.); -#18170=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8022,#18169); -#18171=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2972,#7418); -#18172=NAME_ATTRIBUTE('single instance',#7428); -#18173=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7427,#2969,$,'',$,#7428,*); -#18174=PROPERTY_DEFINITION('',$,#18173); -#18175=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15656,#18174); -#18176=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7432,#7428); -#18177=SHAPE_ASPECT('',$,#7428,.U.); -#18178=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8025,#18177); -#18179=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2972,#7428); -#18180=NAME_ATTRIBUTE('single instance',#7429); -#18181=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7427,#2969,$,'',$,#7429,*); -#18182=PROPERTY_DEFINITION('',$,#18181); -#18183=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15623,#18182); -#18184=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7432,#7429); -#18185=SHAPE_ASPECT('',$,#7429,.U.); -#18186=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8024,#18185); -#18187=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2972,#7429); -#18188=NAME_ATTRIBUTE('single instance',#7439); -#18189=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7438,#2969,$,'',$,#7439,*); -#18190=PROPERTY_DEFINITION('',$,#18189); -#18191=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15656,#18190); -#18192=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7443,#7439); -#18193=SHAPE_ASPECT('',$,#7439,.U.); -#18194=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8027,#18193); -#18195=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2972,#7439); -#18196=NAME_ATTRIBUTE('single instance',#7440); -#18197=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7438,#2969,$,'',$,#7440,*); -#18198=PROPERTY_DEFINITION('',$,#18197); -#18199=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15623,#18198); -#18200=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7443,#7440); -#18201=SHAPE_ASPECT('',$,#7440,.U.); -#18202=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8026,#18201); -#18203=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2972,#7440); -#18204=NAME_ATTRIBUTE('single instance',#7450); -#18205=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7449,#2969,$,'',$,#7450,*); -#18206=PROPERTY_DEFINITION('',$,#18205); -#18207=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15656,#18206); -#18208=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7454,#7450); -#18209=SHAPE_ASPECT('',$,#7450,.U.); -#18210=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8029,#18209); -#18211=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2972,#7450); -#18212=NAME_ATTRIBUTE('single instance',#7451); -#18213=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7449,#2969,$,'',$,#7451,*); -#18214=PROPERTY_DEFINITION('',$,#18213); -#18215=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15623,#18214); -#18216=PRODUCT_DEFINITION_RELATIONSHIP('','reference plated passage',$,#7454,#7451); -#18217=SHAPE_ASPECT('',$,#7451,.U.); -#18218=SHAPE_ASPECT_RELATIONSHIP('implementation','',#8028,#18217); -#18219=SHAPE_ASPECT_RELATIONSHIP('instantiated feature',$,#2972,#7451); -#18220=NAME_ATTRIBUTE('single instance',#6142); -#18221=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6138,#4394,$,'',$,#6142,*); -#18222=PROPERTY_DEFINITION('',$,#18221); -#18223=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16075,#18222); -#18224=SHAPE_ASPECT('',$,#6142,.U.); -#18225=SHAPE_ASPECT('',$,#1010,.U.); -#18226=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#18224); -#18227=PROPERTY_DEFINITION('explicitly created','false',#6142); -#18228=NAME_ATTRIBUTE('single instance',#6143); -#18229=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6138,#4384,$,'',$,#6143,*); -#18230=PROPERTY_DEFINITION('',$,#18229); -#18231=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16071,#18230); -#18232=SHAPE_ASPECT('',$,#6143,.U.); -#18233=SHAPE_ASPECT('',$,#1004,.U.); -#18234=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#18232); -#18235=PROPERTY_DEFINITION('explicitly created','false',#6143); -#18236=NAME_ATTRIBUTE('single instance',#6154); -#18237=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6150,#4394,$,'',$,#6154,*); -#18238=PROPERTY_DEFINITION('',$,#18237); -#18239=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16075,#18238); -#18240=SHAPE_ASPECT('',$,#6154,.U.); -#18241=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#18240); -#18242=PROPERTY_DEFINITION('explicitly created','false',#6154); -#18243=NAME_ATTRIBUTE('single instance',#6155); -#18244=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6150,#4384,$,'',$,#6155,*); -#18245=PROPERTY_DEFINITION('',$,#18244); -#18246=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16071,#18245); -#18247=SHAPE_ASPECT('',$,#6155,.U.); -#18248=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#18247); -#18249=PROPERTY_DEFINITION('explicitly created','false',#6155); -#18250=NAME_ATTRIBUTE('single instance',#6165); -#18251=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6161,#4394,$,'',$,#6165,*); -#18252=PROPERTY_DEFINITION('',$,#18251); -#18253=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16075,#18252); -#18254=SHAPE_ASPECT('',$,#6165,.U.); -#18255=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#18254); -#18256=PROPERTY_DEFINITION('explicitly created','false',#6165); -#18257=NAME_ATTRIBUTE('single instance',#6166); -#18258=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6161,#4384,$,'',$,#6166,*); -#18259=PROPERTY_DEFINITION('',$,#18258); -#18260=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16071,#18259); -#18261=SHAPE_ASPECT('',$,#6166,.U.); -#18262=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#18261); -#18263=PROPERTY_DEFINITION('explicitly created','false',#6166); -#18264=NAME_ATTRIBUTE('single instance',#6176); -#18265=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6172,#4394,$,'',$,#6176,*); -#18266=PROPERTY_DEFINITION('',$,#18265); -#18267=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16075,#18266); -#18268=SHAPE_ASPECT('',$,#6176,.U.); -#18269=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#18268); -#18270=PROPERTY_DEFINITION('explicitly created','false',#6176); -#18271=NAME_ATTRIBUTE('single instance',#6177); -#18272=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6172,#4384,$,'',$,#6177,*); -#18273=PROPERTY_DEFINITION('',$,#18272); -#18274=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16071,#18273); -#18275=SHAPE_ASPECT('',$,#6177,.U.); -#18276=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#18275); -#18277=PROPERTY_DEFINITION('explicitly created','false',#6177); -#18278=NAME_ATTRIBUTE('single instance',#6552); -#18279=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6552,*); -#18280=PROPERTY_DEFINITION('',$,#18279); -#18281=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17194,#18280); -#18282=SHAPE_ASPECT('',$,#6552,.U.); -#18283=SHAPE_ASPECT('',$,#6520,.U.); -#18284=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18282); -#18285=PROPERTY_DEFINITION('explicitly created','false',#6552); -#18286=NAME_ATTRIBUTE('single instance',#6553); -#18287=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6553,*); -#18288=PROPERTY_DEFINITION('',$,#18287); -#18289=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17190,#18288); -#18290=SHAPE_ASPECT('',$,#6553,.U.); -#18291=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18290); -#18292=PROPERTY_DEFINITION('explicitly created','false',#6553); -#18293=NAME_ATTRIBUTE('single instance',#6554); -#18294=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6554,*); -#18295=PROPERTY_DEFINITION('',$,#18294); -#18296=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17186,#18295); -#18297=SHAPE_ASPECT('',$,#6554,.U.); -#18298=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18297); -#18299=PROPERTY_DEFINITION('explicitly created','false',#6554); -#18300=NAME_ATTRIBUTE('single instance',#6555); -#18301=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6555,*); -#18302=PROPERTY_DEFINITION('',$,#18301); -#18303=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17182,#18302); -#18304=SHAPE_ASPECT('',$,#6555,.U.); -#18305=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18304); -#18306=PROPERTY_DEFINITION('explicitly created','false',#6555); -#18307=NAME_ATTRIBUTE('single instance',#6556); -#18308=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6556,*); -#18309=PROPERTY_DEFINITION('',$,#18308); -#18310=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17178,#18309); -#18311=SHAPE_ASPECT('',$,#6556,.U.); -#18312=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18311); -#18313=PROPERTY_DEFINITION('explicitly created','false',#6556); -#18314=NAME_ATTRIBUTE('single instance',#6557); -#18315=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6557,*); -#18316=PROPERTY_DEFINITION('',$,#18315); -#18317=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17174,#18316); -#18318=SHAPE_ASPECT('',$,#6557,.U.); -#18319=SHAPE_ASPECT('',$,#6524,.U.); -#18320=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18318); -#18321=PROPERTY_DEFINITION('explicitly created','false',#6557); -#18322=NAME_ATTRIBUTE('single instance',#6558); -#18323=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6558,*); -#18324=PROPERTY_DEFINITION('',$,#18323); -#18325=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17170,#18324); -#18326=SHAPE_ASPECT('',$,#6558,.U.); -#18327=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18326); -#18328=PROPERTY_DEFINITION('explicitly created','false',#6558); -#18329=NAME_ATTRIBUTE('single instance',#6559); -#18330=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6559,*); -#18331=PROPERTY_DEFINITION('',$,#18330); -#18332=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17166,#18331); -#18333=SHAPE_ASPECT('',$,#6559,.U.); -#18334=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18333); -#18335=PROPERTY_DEFINITION('explicitly created','false',#6559); -#18336=NAME_ATTRIBUTE('single instance',#6560); -#18337=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6560,*); -#18338=PROPERTY_DEFINITION('',$,#18337); -#18339=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17162,#18338); -#18340=SHAPE_ASPECT('',$,#6560,.U.); -#18341=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18340); -#18342=PROPERTY_DEFINITION('explicitly created','false',#6560); -#18343=NAME_ATTRIBUTE('single instance',#6561); -#18344=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6561,*); -#18345=PROPERTY_DEFINITION('',$,#18344); -#18346=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17158,#18345); -#18347=SHAPE_ASPECT('',$,#6561,.U.); -#18348=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18347); -#18349=PROPERTY_DEFINITION('explicitly created','false',#6561); -#18350=NAME_ATTRIBUTE('single instance',#6562); -#18351=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6562,*); -#18352=PROPERTY_DEFINITION('',$,#18351); -#18353=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17154,#18352); -#18354=SHAPE_ASPECT('',$,#6562,.U.); -#18355=SHAPE_ASPECT('',$,#6522,.U.); -#18356=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18354); -#18357=PROPERTY_DEFINITION('explicitly created','false',#6562); -#18358=NAME_ATTRIBUTE('single instance',#6563); -#18359=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6563,*); -#18360=PROPERTY_DEFINITION('',$,#18359); -#18361=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17150,#18360); -#18362=SHAPE_ASPECT('',$,#6563,.U.); -#18363=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18362); -#18364=PROPERTY_DEFINITION('explicitly created','false',#6563); -#18365=NAME_ATTRIBUTE('single instance',#6564); -#18366=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6564,*); -#18367=PROPERTY_DEFINITION('',$,#18366); -#18368=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17146,#18367); -#18369=SHAPE_ASPECT('',$,#6564,.U.); -#18370=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18369); -#18371=PROPERTY_DEFINITION('explicitly created','false',#6564); -#18372=NAME_ATTRIBUTE('single instance',#6565); -#18373=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6565,*); -#18374=PROPERTY_DEFINITION('',$,#18373); -#18375=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17142,#18374); -#18376=SHAPE_ASPECT('',$,#6565,.U.); -#18377=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18376); -#18378=PROPERTY_DEFINITION('explicitly created','false',#6565); -#18379=NAME_ATTRIBUTE('single instance',#6566); -#18380=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6566,*); -#18381=PROPERTY_DEFINITION('',$,#18380); -#18382=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17138,#18381); -#18383=SHAPE_ASPECT('',$,#6566,.U.); -#18384=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18383); -#18385=PROPERTY_DEFINITION('explicitly created','false',#6566); -#18386=NAME_ATTRIBUTE('single instance',#6567); -#18387=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6567,*); -#18388=PROPERTY_DEFINITION('',$,#18387); -#18389=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17134,#18388); -#18390=SHAPE_ASPECT('',$,#6567,.U.); -#18391=SHAPE_ASPECT('',$,#6516,.U.); -#18392=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18390); -#18393=PROPERTY_DEFINITION('explicitly created','false',#6567); -#18394=NAME_ATTRIBUTE('single instance',#6568); -#18395=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6568,*); -#18396=PROPERTY_DEFINITION('',$,#18395); -#18397=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17130,#18396); -#18398=SHAPE_ASPECT('',$,#6568,.U.); -#18399=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18398); -#18400=PROPERTY_DEFINITION('explicitly created','false',#6568); -#18401=NAME_ATTRIBUTE('single instance',#6569); -#18402=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6569,*); -#18403=PROPERTY_DEFINITION('',$,#18402); -#18404=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17126,#18403); -#18405=SHAPE_ASPECT('',$,#6569,.U.); -#18406=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18405); -#18407=PROPERTY_DEFINITION('explicitly created','false',#6569); -#18408=NAME_ATTRIBUTE('single instance',#6570); -#18409=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6570,*); -#18410=PROPERTY_DEFINITION('',$,#18409); -#18411=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17122,#18410); -#18412=SHAPE_ASPECT('',$,#6570,.U.); -#18413=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18412); -#18414=PROPERTY_DEFINITION('explicitly created','false',#6570); -#18415=NAME_ATTRIBUTE('single instance',#6571); -#18416=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6571,*); -#18417=PROPERTY_DEFINITION('',$,#18416); -#18418=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17118,#18417); -#18419=SHAPE_ASPECT('',$,#6571,.U.); -#18420=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18419); -#18421=PROPERTY_DEFINITION('explicitly created','false',#6571); -#18422=NAME_ATTRIBUTE('single instance',#6606); -#18423=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6606,*); -#18424=PROPERTY_DEFINITION('',$,#18423); -#18425=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16366,#18424); -#18426=SHAPE_ASPECT('',$,#6606,.U.); -#18427=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18426); -#18428=PROPERTY_DEFINITION('explicitly created','false',#6606); -#18429=NAME_ATTRIBUTE('single instance',#6607); -#18430=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6607,*); -#18431=PROPERTY_DEFINITION('',$,#18430); -#18432=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16362,#18431); -#18433=SHAPE_ASPECT('',$,#6607,.U.); -#18434=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18433); -#18435=PROPERTY_DEFINITION('explicitly created','false',#6607); -#18436=NAME_ATTRIBUTE('single instance',#6608); -#18437=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6608,*); -#18438=PROPERTY_DEFINITION('',$,#18437); -#18439=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16358,#18438); -#18440=SHAPE_ASPECT('',$,#6608,.U.); -#18441=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18440); -#18442=PROPERTY_DEFINITION('explicitly created','false',#6608); -#18443=NAME_ATTRIBUTE('single instance',#6609); -#18444=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6609,*); -#18445=PROPERTY_DEFINITION('',$,#18444); -#18446=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16354,#18445); -#18447=SHAPE_ASPECT('',$,#6609,.U.); -#18448=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18447); -#18449=PROPERTY_DEFINITION('explicitly created','false',#6609); -#18450=NAME_ATTRIBUTE('single instance',#6610); -#18451=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6610,*); -#18452=PROPERTY_DEFINITION('',$,#18451); -#18453=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16350,#18452); -#18454=SHAPE_ASPECT('',$,#6610,.U.); -#18455=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18454); -#18456=PROPERTY_DEFINITION('explicitly created','false',#6610); -#18457=NAME_ATTRIBUTE('single instance',#6611); -#18458=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6611,*); -#18459=PROPERTY_DEFINITION('',$,#18458); -#18460=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16346,#18459); -#18461=SHAPE_ASPECT('',$,#6611,.U.); -#18462=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18461); -#18463=PROPERTY_DEFINITION('explicitly created','false',#6611); -#18464=NAME_ATTRIBUTE('single instance',#6612); -#18465=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6612,*); -#18466=PROPERTY_DEFINITION('',$,#18465); -#18467=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16342,#18466); -#18468=SHAPE_ASPECT('',$,#6612,.U.); -#18469=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18468); -#18470=PROPERTY_DEFINITION('explicitly created','false',#6612); -#18471=NAME_ATTRIBUTE('single instance',#6613); -#18472=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6613,*); -#18473=PROPERTY_DEFINITION('',$,#18472); -#18474=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16338,#18473); -#18475=SHAPE_ASPECT('',$,#6613,.U.); -#18476=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18475); -#18477=PROPERTY_DEFINITION('explicitly created','false',#6613); -#18478=NAME_ATTRIBUTE('single instance',#6614); -#18479=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6614,*); -#18480=PROPERTY_DEFINITION('',$,#18479); -#18481=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16334,#18480); -#18482=SHAPE_ASPECT('',$,#6614,.U.); -#18483=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18482); -#18484=PROPERTY_DEFINITION('explicitly created','false',#6614); -#18485=NAME_ATTRIBUTE('single instance',#6615); -#18486=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6615,*); -#18487=PROPERTY_DEFINITION('',$,#18486); -#18488=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16330,#18487); -#18489=SHAPE_ASPECT('',$,#6615,.U.); -#18490=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18489); -#18491=PROPERTY_DEFINITION('explicitly created','false',#6615); -#18492=NAME_ATTRIBUTE('single instance',#6616); -#18493=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6616,*); -#18494=PROPERTY_DEFINITION('',$,#18493); -#18495=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16326,#18494); -#18496=SHAPE_ASPECT('',$,#6616,.U.); -#18497=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18496); -#18498=PROPERTY_DEFINITION('explicitly created','false',#6616); -#18499=NAME_ATTRIBUTE('single instance',#6617); -#18500=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6617,*); -#18501=PROPERTY_DEFINITION('',$,#18500); -#18502=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16322,#18501); -#18503=SHAPE_ASPECT('',$,#6617,.U.); -#18504=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18503); -#18505=PROPERTY_DEFINITION('explicitly created','false',#6617); -#18506=NAME_ATTRIBUTE('single instance',#6618); -#18507=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6618,*); -#18508=PROPERTY_DEFINITION('',$,#18507); -#18509=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16318,#18508); -#18510=SHAPE_ASPECT('',$,#6618,.U.); -#18511=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18510); -#18512=PROPERTY_DEFINITION('explicitly created','false',#6618); -#18513=NAME_ATTRIBUTE('single instance',#6619); -#18514=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6619,*); -#18515=PROPERTY_DEFINITION('',$,#18514); -#18516=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16314,#18515); -#18517=SHAPE_ASPECT('',$,#6619,.U.); -#18518=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18517); -#18519=PROPERTY_DEFINITION('explicitly created','false',#6619); -#18520=NAME_ATTRIBUTE('single instance',#6620); -#18521=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6620,*); -#18522=PROPERTY_DEFINITION('',$,#18521); -#18523=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16310,#18522); -#18524=SHAPE_ASPECT('',$,#6620,.U.); -#18525=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18524); -#18526=PROPERTY_DEFINITION('explicitly created','false',#6620); -#18527=NAME_ATTRIBUTE('single instance',#6621); -#18528=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6621,*); -#18529=PROPERTY_DEFINITION('',$,#18528); -#18530=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16306,#18529); -#18531=SHAPE_ASPECT('',$,#6621,.U.); -#18532=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18531); -#18533=PROPERTY_DEFINITION('explicitly created','false',#6621); -#18534=NAME_ATTRIBUTE('single instance',#6622); -#18535=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4883,$,'',$,#6622,*); -#18536=PROPERTY_DEFINITION('',$,#18535); -#18537=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16302,#18536); -#18538=SHAPE_ASPECT('',$,#6622,.U.); -#18539=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18283,#18538); -#18540=PROPERTY_DEFINITION('explicitly created','false',#6622); -#18541=NAME_ATTRIBUTE('single instance',#6623); -#18542=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6623,*); -#18543=PROPERTY_DEFINITION('',$,#18542); -#18544=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16298,#18543); -#18545=SHAPE_ASPECT('',$,#6623,.U.); -#18546=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18545); -#18547=PROPERTY_DEFINITION('explicitly created','false',#6623); -#18548=NAME_ATTRIBUTE('single instance',#6624); -#18549=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6624,*); -#18550=PROPERTY_DEFINITION('',$,#18549); -#18551=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16294,#18550); -#18552=SHAPE_ASPECT('',$,#6624,.U.); -#18553=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18552); -#18554=PROPERTY_DEFINITION('explicitly created','false',#6624); -#18555=NAME_ATTRIBUTE('single instance',#6625); -#18556=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6625,*); -#18557=PROPERTY_DEFINITION('',$,#18556); -#18558=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16290,#18557); -#18559=SHAPE_ASPECT('',$,#6625,.U.); -#18560=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18559); -#18561=PROPERTY_DEFINITION('explicitly created','false',#6625); -#18562=NAME_ATTRIBUTE('single instance',#6626); -#18563=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6626,*); -#18564=PROPERTY_DEFINITION('',$,#18563); -#18565=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16286,#18564); -#18566=SHAPE_ASPECT('',$,#6626,.U.); -#18567=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18566); -#18568=PROPERTY_DEFINITION('explicitly created','false',#6626); -#18569=NAME_ATTRIBUTE('single instance',#6627); -#18570=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6627,*); -#18571=PROPERTY_DEFINITION('',$,#18570); -#18572=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16282,#18571); -#18573=SHAPE_ASPECT('',$,#6627,.U.); -#18574=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18573); -#18575=PROPERTY_DEFINITION('explicitly created','false',#6627); -#18576=NAME_ATTRIBUTE('single instance',#6628); -#18577=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6628,*); -#18578=PROPERTY_DEFINITION('',$,#18577); -#18579=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16278,#18578); -#18580=SHAPE_ASPECT('',$,#6628,.U.); -#18581=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18580); -#18582=PROPERTY_DEFINITION('explicitly created','false',#6628); -#18583=NAME_ATTRIBUTE('single instance',#6629); -#18584=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6629,*); -#18585=PROPERTY_DEFINITION('',$,#18584); -#18586=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16274,#18585); -#18587=SHAPE_ASPECT('',$,#6629,.U.); -#18588=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18587); -#18589=PROPERTY_DEFINITION('explicitly created','false',#6629); -#18590=NAME_ATTRIBUTE('single instance',#6630); -#18591=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6630,*); -#18592=PROPERTY_DEFINITION('',$,#18591); -#18593=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16270,#18592); -#18594=SHAPE_ASPECT('',$,#6630,.U.); -#18595=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18594); -#18596=PROPERTY_DEFINITION('explicitly created','false',#6630); -#18597=NAME_ATTRIBUTE('single instance',#6631); -#18598=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6631,*); -#18599=PROPERTY_DEFINITION('',$,#18598); -#18600=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16266,#18599); -#18601=SHAPE_ASPECT('',$,#6631,.U.); -#18602=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18601); -#18603=PROPERTY_DEFINITION('explicitly created','false',#6631); -#18604=NAME_ATTRIBUTE('single instance',#6632); -#18605=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6632,*); -#18606=PROPERTY_DEFINITION('',$,#18605); -#18607=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16262,#18606); -#18608=SHAPE_ASPECT('',$,#6632,.U.); -#18609=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18608); -#18610=PROPERTY_DEFINITION('explicitly created','false',#6632); -#18611=NAME_ATTRIBUTE('single instance',#6633); -#18612=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6633,*); -#18613=PROPERTY_DEFINITION('',$,#18612); -#18614=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16258,#18613); -#18615=SHAPE_ASPECT('',$,#6633,.U.); -#18616=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18615); -#18617=PROPERTY_DEFINITION('explicitly created','false',#6633); -#18618=NAME_ATTRIBUTE('single instance',#6634); -#18619=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6634,*); -#18620=PROPERTY_DEFINITION('',$,#18619); -#18621=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16254,#18620); -#18622=SHAPE_ASPECT('',$,#6634,.U.); -#18623=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18622); -#18624=PROPERTY_DEFINITION('explicitly created','false',#6634); -#18625=NAME_ATTRIBUTE('single instance',#6635); -#18626=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4780,$,'',$,#6635,*); -#18627=PROPERTY_DEFINITION('',$,#18626); -#18628=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16250,#18627); -#18629=SHAPE_ASPECT('',$,#6635,.U.); -#18630=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18319,#18629); -#18631=PROPERTY_DEFINITION('explicitly created','false',#6635); -#18632=NAME_ATTRIBUTE('single instance',#6636); -#18633=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6636,*); -#18634=PROPERTY_DEFINITION('',$,#18633); -#18635=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16246,#18634); -#18636=SHAPE_ASPECT('',$,#6636,.U.); -#18637=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18636); -#18638=PROPERTY_DEFINITION('explicitly created','false',#6636); -#18639=NAME_ATTRIBUTE('single instance',#6637); -#18640=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6637,*); -#18641=PROPERTY_DEFINITION('',$,#18640); -#18642=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16242,#18641); -#18643=SHAPE_ASPECT('',$,#6637,.U.); -#18644=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18643); -#18645=PROPERTY_DEFINITION('explicitly created','false',#6637); -#18646=NAME_ATTRIBUTE('single instance',#6638); -#18647=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6638,*); -#18648=PROPERTY_DEFINITION('',$,#18647); -#18649=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16238,#18648); -#18650=SHAPE_ASPECT('',$,#6638,.U.); -#18651=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18650); -#18652=PROPERTY_DEFINITION('explicitly created','false',#6638); -#18653=NAME_ATTRIBUTE('single instance',#6639); -#18654=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6639,*); -#18655=PROPERTY_DEFINITION('',$,#18654); -#18656=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16234,#18655); -#18657=SHAPE_ASPECT('',$,#6639,.U.); -#18658=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18657); -#18659=PROPERTY_DEFINITION('explicitly created','false',#6639); -#18660=NAME_ATTRIBUTE('single instance',#6640); -#18661=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6640,*); -#18662=PROPERTY_DEFINITION('',$,#18661); -#18663=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16230,#18662); -#18664=SHAPE_ASPECT('',$,#6640,.U.); -#18665=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18664); -#18666=PROPERTY_DEFINITION('explicitly created','false',#6640); -#18667=NAME_ATTRIBUTE('single instance',#6641); -#18668=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6641,*); -#18669=PROPERTY_DEFINITION('',$,#18668); -#18670=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16226,#18669); -#18671=SHAPE_ASPECT('',$,#6641,.U.); -#18672=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18671); -#18673=PROPERTY_DEFINITION('explicitly created','false',#6641); -#18674=NAME_ATTRIBUTE('single instance',#6642); -#18675=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6642,*); -#18676=PROPERTY_DEFINITION('',$,#18675); -#18677=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16222,#18676); -#18678=SHAPE_ASPECT('',$,#6642,.U.); -#18679=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18678); -#18680=PROPERTY_DEFINITION('explicitly created','false',#6642); -#18681=NAME_ATTRIBUTE('single instance',#6643); -#18682=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6643,*); -#18683=PROPERTY_DEFINITION('',$,#18682); -#18684=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16218,#18683); -#18685=SHAPE_ASPECT('',$,#6643,.U.); -#18686=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18685); -#18687=PROPERTY_DEFINITION('explicitly created','false',#6643); -#18688=NAME_ATTRIBUTE('single instance',#6644); -#18689=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6644,*); -#18690=PROPERTY_DEFINITION('',$,#18689); -#18691=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16214,#18690); -#18692=SHAPE_ASPECT('',$,#6644,.U.); -#18693=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18692); -#18694=PROPERTY_DEFINITION('explicitly created','false',#6644); -#18695=NAME_ATTRIBUTE('single instance',#6645); -#18696=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6645,*); -#18697=PROPERTY_DEFINITION('',$,#18696); -#18698=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16210,#18697); -#18699=SHAPE_ASPECT('',$,#6645,.U.); -#18700=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18699); -#18701=PROPERTY_DEFINITION('explicitly created','false',#6645); -#18702=NAME_ATTRIBUTE('single instance',#6646); -#18703=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6646,*); -#18704=PROPERTY_DEFINITION('',$,#18703); -#18705=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16206,#18704); -#18706=SHAPE_ASPECT('',$,#6646,.U.); -#18707=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18706); -#18708=PROPERTY_DEFINITION('explicitly created','false',#6646); -#18709=NAME_ATTRIBUTE('single instance',#6647); -#18710=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6647,*); -#18711=PROPERTY_DEFINITION('',$,#18710); -#18712=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16202,#18711); -#18713=SHAPE_ASPECT('',$,#6647,.U.); -#18714=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18713); -#18715=PROPERTY_DEFINITION('explicitly created','false',#6647); -#18716=NAME_ATTRIBUTE('single instance',#6648); -#18717=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6648,*); -#18718=PROPERTY_DEFINITION('',$,#18717); -#18719=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16198,#18718); -#18720=SHAPE_ASPECT('',$,#6648,.U.); -#18721=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18720); -#18722=PROPERTY_DEFINITION('explicitly created','false',#6648); -#18723=NAME_ATTRIBUTE('single instance',#6649); -#18724=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6649,*); -#18725=PROPERTY_DEFINITION('',$,#18724); -#18726=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16194,#18725); -#18727=SHAPE_ASPECT('',$,#6649,.U.); -#18728=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18727); -#18729=PROPERTY_DEFINITION('explicitly created','false',#6649); -#18730=NAME_ATTRIBUTE('single instance',#6650); -#18731=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6650,*); -#18732=PROPERTY_DEFINITION('',$,#18731); -#18733=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16190,#18732); -#18734=SHAPE_ASPECT('',$,#6650,.U.); -#18735=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18734); -#18736=PROPERTY_DEFINITION('explicitly created','false',#6650); -#18737=NAME_ATTRIBUTE('single instance',#6651); -#18738=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6651,*); -#18739=PROPERTY_DEFINITION('',$,#18738); -#18740=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16186,#18739); -#18741=SHAPE_ASPECT('',$,#6651,.U.); -#18742=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18741); -#18743=PROPERTY_DEFINITION('explicitly created','false',#6651); -#18744=NAME_ATTRIBUTE('single instance',#6652); -#18745=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4649,$,'',$,#6652,*); -#18746=PROPERTY_DEFINITION('',$,#18745); -#18747=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16182,#18746); -#18748=SHAPE_ASPECT('',$,#6652,.U.); -#18749=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18355,#18748); -#18750=PROPERTY_DEFINITION('explicitly created','false',#6652); -#18751=NAME_ATTRIBUTE('single instance',#6653); -#18752=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6653,*); -#18753=PROPERTY_DEFINITION('',$,#18752); -#18754=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16178,#18753); -#18755=SHAPE_ASPECT('',$,#6653,.U.); -#18756=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18755); -#18757=PROPERTY_DEFINITION('explicitly created','false',#6653); -#18758=NAME_ATTRIBUTE('single instance',#6654); -#18759=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6654,*); -#18760=PROPERTY_DEFINITION('',$,#18759); -#18761=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16174,#18760); -#18762=SHAPE_ASPECT('',$,#6654,.U.); -#18763=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18762); -#18764=PROPERTY_DEFINITION('explicitly created','false',#6654); -#18765=NAME_ATTRIBUTE('single instance',#6655); -#18766=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6655,*); -#18767=PROPERTY_DEFINITION('',$,#18766); -#18768=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16170,#18767); -#18769=SHAPE_ASPECT('',$,#6655,.U.); -#18770=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18769); -#18771=PROPERTY_DEFINITION('explicitly created','false',#6655); -#18772=NAME_ATTRIBUTE('single instance',#6656); -#18773=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6656,*); -#18774=PROPERTY_DEFINITION('',$,#18773); -#18775=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16166,#18774); -#18776=SHAPE_ASPECT('',$,#6656,.U.); -#18777=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18776); -#18778=PROPERTY_DEFINITION('explicitly created','false',#6656); -#18779=NAME_ATTRIBUTE('single instance',#6657); -#18780=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6657,*); -#18781=PROPERTY_DEFINITION('',$,#18780); -#18782=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16162,#18781); -#18783=SHAPE_ASPECT('',$,#6657,.U.); -#18784=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18783); -#18785=PROPERTY_DEFINITION('explicitly created','false',#6657); -#18786=NAME_ATTRIBUTE('single instance',#6658); -#18787=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6658,*); -#18788=PROPERTY_DEFINITION('',$,#18787); -#18789=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16158,#18788); -#18790=SHAPE_ASPECT('',$,#6658,.U.); -#18791=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18790); -#18792=PROPERTY_DEFINITION('explicitly created','false',#6658); -#18793=NAME_ATTRIBUTE('single instance',#6659); -#18794=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6659,*); -#18795=PROPERTY_DEFINITION('',$,#18794); -#18796=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16154,#18795); -#18797=SHAPE_ASPECT('',$,#6659,.U.); -#18798=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18797); -#18799=PROPERTY_DEFINITION('explicitly created','false',#6659); -#18800=NAME_ATTRIBUTE('single instance',#6660); -#18801=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6660,*); -#18802=PROPERTY_DEFINITION('',$,#18801); -#18803=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16150,#18802); -#18804=SHAPE_ASPECT('',$,#6660,.U.); -#18805=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18804); -#18806=PROPERTY_DEFINITION('explicitly created','false',#6660); -#18807=NAME_ATTRIBUTE('single instance',#6661); -#18808=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6661,*); -#18809=PROPERTY_DEFINITION('',$,#18808); -#18810=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16146,#18809); -#18811=SHAPE_ASPECT('',$,#6661,.U.); -#18812=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18811); -#18813=PROPERTY_DEFINITION('explicitly created','false',#6661); -#18814=NAME_ATTRIBUTE('single instance',#6662); -#18815=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6662,*); -#18816=PROPERTY_DEFINITION('',$,#18815); -#18817=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16142,#18816); -#18818=SHAPE_ASPECT('',$,#6662,.U.); -#18819=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18818); -#18820=PROPERTY_DEFINITION('explicitly created','false',#6662); -#18821=NAME_ATTRIBUTE('single instance',#6663); -#18822=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6663,*); -#18823=PROPERTY_DEFINITION('',$,#18822); -#18824=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16138,#18823); -#18825=SHAPE_ASPECT('',$,#6663,.U.); -#18826=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18825); -#18827=PROPERTY_DEFINITION('explicitly created','false',#6663); -#18828=NAME_ATTRIBUTE('single instance',#6664); -#18829=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6664,*); -#18830=PROPERTY_DEFINITION('',$,#18829); -#18831=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16134,#18830); -#18832=SHAPE_ASPECT('',$,#6664,.U.); -#18833=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18832); -#18834=PROPERTY_DEFINITION('explicitly created','false',#6664); -#18835=NAME_ATTRIBUTE('single instance',#6665); -#18836=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6665,*); -#18837=PROPERTY_DEFINITION('',$,#18836); -#18838=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16130,#18837); -#18839=SHAPE_ASPECT('',$,#6665,.U.); -#18840=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18839); -#18841=PROPERTY_DEFINITION('explicitly created','false',#6665); -#18842=NAME_ATTRIBUTE('single instance',#6666); -#18843=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6666,*); -#18844=PROPERTY_DEFINITION('',$,#18843); -#18845=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16126,#18844); -#18846=SHAPE_ASPECT('',$,#6666,.U.); -#18847=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18846); -#18848=PROPERTY_DEFINITION('explicitly created','false',#6666); -#18849=NAME_ATTRIBUTE('single instance',#6667); -#18850=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6667,*); -#18851=PROPERTY_DEFINITION('',$,#18850); -#18852=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16122,#18851); -#18853=SHAPE_ASPECT('',$,#6667,.U.); -#18854=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18853); -#18855=PROPERTY_DEFINITION('explicitly created','false',#6667); -#18856=NAME_ATTRIBUTE('single instance',#6668); -#18857=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6668,*); -#18858=PROPERTY_DEFINITION('',$,#18857); -#18859=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16118,#18858); -#18860=SHAPE_ASPECT('',$,#6668,.U.); -#18861=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18860); -#18862=PROPERTY_DEFINITION('explicitly created','false',#6668); -#18863=NAME_ATTRIBUTE('single instance',#6669); -#18864=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#4488,$,'',$,#6669,*); -#18865=PROPERTY_DEFINITION('',$,#18864); -#18866=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16114,#18865); -#18867=SHAPE_ASPECT('',$,#6669,.U.); -#18868=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18391,#18867); -#18869=PROPERTY_DEFINITION('explicitly created','false',#6669); -#18870=NAME_ATTRIBUTE('single instance',#6906); -#18871=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6900,#1356,$,'',$,#6906,*); -#18872=PROPERTY_DEFINITION('',$,#18871); -#18873=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15741,#18872); -#18874=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14889,#18872); -#18875=SHAPE_ASPECT('',$,#6906,.U.); -#18876=SHAPE_ASPECT('',$,#1008,.U.); -#18877=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#18875); -#18878=PROPERTY_DEFINITION('explicitly created','false',#6906); -#18879=NAME_ATTRIBUTE('single instance',#6907); -#18880=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6900,#1341,$,'',$,#6907,*); -#18881=PROPERTY_DEFINITION('',$,#18880); -#18882=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15741,#18881); -#18883=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14885,#18881); -#18884=SHAPE_ASPECT('',$,#6907,.U.); -#18885=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#18884); -#18886=PROPERTY_DEFINITION('explicitly created','false',#6907); -#18887=NAME_ATTRIBUTE('single instance',#6910); -#18888=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6900,#1356,$,'',$,#6910,*); -#18889=PROPERTY_DEFINITION('',$,#18888); -#18890=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15738,#18889); -#18891=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14889,#18889); -#18892=SHAPE_ASPECT('',$,#6910,.U.); -#18893=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#18892); -#18894=PROPERTY_DEFINITION('explicitly created','false',#6910); -#18895=NAME_ATTRIBUTE('single instance',#6911); -#18896=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6900,#1341,$,'',$,#6911,*); -#18897=PROPERTY_DEFINITION('',$,#18896); -#18898=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15738,#18897); -#18899=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14885,#18897); -#18900=SHAPE_ASPECT('',$,#6911,.U.); -#18901=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#18900); -#18902=PROPERTY_DEFINITION('explicitly created','false',#6911); -#18903=NAME_ATTRIBUTE('single instance',#6932); -#18904=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6928,#2631,$,'',$,#6932,*); -#18905=PROPERTY_DEFINITION('',$,#18904); -#18906=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#18905); -#18907=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15503,#18905); -#18908=SHAPE_ASPECT('',$,#6932,.U.); -#18909=SHAPE_ASPECT('',$,#1012,.U.); -#18910=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18909,#18908); -#18911=PROPERTY_DEFINITION('explicitly created','false',#6932); -#18912=NAME_ATTRIBUTE('single instance',#6933); -#18913=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6928,#2616,$,'',$,#6933,*); -#18914=PROPERTY_DEFINITION('',$,#18913); -#18915=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#18914); -#18916=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15499,#18914); -#18917=SHAPE_ASPECT('',$,#6933,.U.); -#18918=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#18917); -#18919=PROPERTY_DEFINITION('explicitly created','false',#6933); -#18920=NAME_ATTRIBUTE('single instance',#6936); -#18921=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6928,#2631,$,'',$,#6936,*); -#18922=PROPERTY_DEFINITION('',$,#18921); -#18923=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#18922); -#18924=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15503,#18922); -#18925=SHAPE_ASPECT('',$,#6936,.U.); -#18926=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18909,#18925); -#18927=PROPERTY_DEFINITION('explicitly created','false',#6936); -#18928=NAME_ATTRIBUTE('single instance',#6937); -#18929=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6928,#2616,$,'',$,#6937,*); -#18930=PROPERTY_DEFINITION('',$,#18929); -#18931=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#18930); -#18932=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15499,#18930); -#18933=SHAPE_ASPECT('',$,#6937,.U.); -#18934=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#18933); -#18935=PROPERTY_DEFINITION('explicitly created','false',#6937); -#18936=NAME_ATTRIBUTE('single instance',#6960); -#18937=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#2533,$,'',$,#6960,*); -#18938=PROPERTY_DEFINITION('',$,#18937); -#18939=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15752,#18938); -#18940=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15468,#18938); -#18941=SHAPE_ASPECT('',$,#6960,.U.); -#18942=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#18941); -#18943=PROPERTY_DEFINITION('explicitly created','false',#6960); -#18944=NAME_ATTRIBUTE('single instance',#6961); -#18945=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#2518,$,'',$,#6961,*); -#18946=PROPERTY_DEFINITION('',$,#18945); -#18947=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15752,#18946); -#18948=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15464,#18946); -#18949=SHAPE_ASPECT('',$,#6961,.U.); -#18950=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#18949); -#18951=PROPERTY_DEFINITION('explicitly created','false',#6961); -#18952=NAME_ATTRIBUTE('single instance',#6964); -#18953=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#2533,$,'',$,#6964,*); -#18954=PROPERTY_DEFINITION('',$,#18953); -#18955=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15745,#18954); -#18956=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15468,#18954); -#18957=SHAPE_ASPECT('',$,#6964,.U.); -#18958=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#18957); -#18959=PROPERTY_DEFINITION('explicitly created','false',#6964); -#18960=NAME_ATTRIBUTE('single instance',#6965); -#18961=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6956,#2518,$,'',$,#6965,*); -#18962=PROPERTY_DEFINITION('',$,#18961); -#18963=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15745,#18962); -#18964=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15464,#18962); -#18965=SHAPE_ASPECT('',$,#6965,.U.); -#18966=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#18965); -#18967=PROPERTY_DEFINITION('explicitly created','false',#6965); -#18968=NAME_ATTRIBUTE('single instance',#6990); -#18969=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2712,$,'',$,#6990,*); -#18970=PROPERTY_DEFINITION('',$,#18969); -#18971=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15802,#18970); -#18972=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15511,#18970); -#18973=SHAPE_ASPECT('',$,#6990,.U.); -#18974=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#18973); -#18975=PROPERTY_DEFINITION('explicitly created','false',#6990); -#18976=NAME_ATTRIBUTE('single instance',#6991); -#18977=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2697,$,'',$,#6991,*); -#18978=PROPERTY_DEFINITION('',$,#18977); -#18979=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15802,#18978); -#18980=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15507,#18978); -#18981=SHAPE_ASPECT('',$,#6991,.U.); -#18982=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#18981); -#18983=PROPERTY_DEFINITION('explicitly created','false',#6991); -#18984=NAME_ATTRIBUTE('single instance',#6994); -#18985=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2712,$,'',$,#6994,*); -#18986=PROPERTY_DEFINITION('',$,#18985); -#18987=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15799,#18986); -#18988=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15511,#18986); -#18989=SHAPE_ASPECT('',$,#6994,.U.); -#18990=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#18989); -#18991=PROPERTY_DEFINITION('explicitly created','false',#6994); -#18992=NAME_ATTRIBUTE('single instance',#6995); -#18993=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2697,$,'',$,#6995,*); -#18994=PROPERTY_DEFINITION('',$,#18993); -#18995=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15799,#18994); -#18996=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15507,#18994); -#18997=SHAPE_ASPECT('',$,#6995,.U.); -#18998=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#18997); -#18999=PROPERTY_DEFINITION('explicitly created','false',#6995); -#19000=NAME_ATTRIBUTE('single instance',#6998); -#19001=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2712,$,'',$,#6998,*); -#19002=PROPERTY_DEFINITION('',$,#19001); -#19003=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15796,#19002); -#19004=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15511,#19002); -#19005=SHAPE_ASPECT('',$,#6998,.U.); -#19006=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19005); -#19007=PROPERTY_DEFINITION('explicitly created','false',#6998); -#19008=NAME_ATTRIBUTE('single instance',#6999); -#19009=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2697,$,'',$,#6999,*); -#19010=PROPERTY_DEFINITION('',$,#19009); -#19011=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15796,#19010); -#19012=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15507,#19010); -#19013=SHAPE_ASPECT('',$,#6999,.U.); -#19014=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19013); -#19015=PROPERTY_DEFINITION('explicitly created','false',#6999); -#19016=NAME_ATTRIBUTE('single instance',#7002); -#19017=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2712,$,'',$,#7002,*); -#19018=PROPERTY_DEFINITION('',$,#19017); -#19019=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15793,#19018); -#19020=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15511,#19018); -#19021=SHAPE_ASPECT('',$,#7002,.U.); -#19022=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19021); -#19023=PROPERTY_DEFINITION('explicitly created','false',#7002); -#19024=NAME_ATTRIBUTE('single instance',#7003); -#19025=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2697,$,'',$,#7003,*); -#19026=PROPERTY_DEFINITION('',$,#19025); -#19027=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15793,#19026); -#19028=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15507,#19026); -#19029=SHAPE_ASPECT('',$,#7003,.U.); -#19030=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19029); -#19031=PROPERTY_DEFINITION('explicitly created','false',#7003); -#19032=NAME_ATTRIBUTE('single instance',#7006); -#19033=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2712,$,'',$,#7006,*); -#19034=PROPERTY_DEFINITION('',$,#19033); -#19035=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15790,#19034); -#19036=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15511,#19034); -#19037=SHAPE_ASPECT('',$,#7006,.U.); -#19038=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19037); -#19039=PROPERTY_DEFINITION('explicitly created','false',#7006); -#19040=NAME_ATTRIBUTE('single instance',#7007); -#19041=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2697,$,'',$,#7007,*); -#19042=PROPERTY_DEFINITION('',$,#19041); -#19043=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15790,#19042); -#19044=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15507,#19042); -#19045=SHAPE_ASPECT('',$,#7007,.U.); -#19046=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19045); -#19047=PROPERTY_DEFINITION('explicitly created','false',#7007); -#19048=NAME_ATTRIBUTE('single instance',#7010); -#19049=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2712,$,'',$,#7010,*); -#19050=PROPERTY_DEFINITION('',$,#19049); -#19051=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15787,#19050); -#19052=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15511,#19050); -#19053=SHAPE_ASPECT('',$,#7010,.U.); -#19054=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19053); -#19055=PROPERTY_DEFINITION('explicitly created','false',#7010); -#19056=NAME_ATTRIBUTE('single instance',#7011); -#19057=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2697,$,'',$,#7011,*); -#19058=PROPERTY_DEFINITION('',$,#19057); -#19059=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15787,#19058); -#19060=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15507,#19058); -#19061=SHAPE_ASPECT('',$,#7011,.U.); -#19062=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19061); -#19063=PROPERTY_DEFINITION('explicitly created','false',#7011); -#19064=NAME_ATTRIBUTE('single instance',#7014); -#19065=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2712,$,'',$,#7014,*); -#19066=PROPERTY_DEFINITION('',$,#19065); -#19067=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15784,#19066); -#19068=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15511,#19066); -#19069=SHAPE_ASPECT('',$,#7014,.U.); -#19070=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19069); -#19071=PROPERTY_DEFINITION('explicitly created','false',#7014); -#19072=NAME_ATTRIBUTE('single instance',#7015); -#19073=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2697,$,'',$,#7015,*); -#19074=PROPERTY_DEFINITION('',$,#19073); -#19075=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15784,#19074); -#19076=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15507,#19074); -#19077=SHAPE_ASPECT('',$,#7015,.U.); -#19078=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19077); -#19079=PROPERTY_DEFINITION('explicitly created','false',#7015); -#19080=NAME_ATTRIBUTE('single instance',#7018); -#19081=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2712,$,'',$,#7018,*); -#19082=PROPERTY_DEFINITION('',$,#19081); -#19083=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15781,#19082); -#19084=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15511,#19082); -#19085=SHAPE_ASPECT('',$,#7018,.U.); -#19086=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19085); -#19087=PROPERTY_DEFINITION('explicitly created','false',#7018); -#19088=NAME_ATTRIBUTE('single instance',#7019); -#19089=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#2697,$,'',$,#7019,*); -#19090=PROPERTY_DEFINITION('',$,#19089); -#19091=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15781,#19090); -#19092=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15507,#19090); -#19093=SHAPE_ASPECT('',$,#7019,.U.); -#19094=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19093); -#19095=PROPERTY_DEFINITION('explicitly created','false',#7019); -#19096=NAME_ATTRIBUTE('single instance',#7020); -#19097=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#3362,$,'',$,#7020,*); -#19098=PROPERTY_DEFINITION('',$,#19097); -#19099=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15777,#19098); -#19100=SHAPE_ASPECT('',$,#7020,.U.); -#19101=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19100); -#19102=PROPERTY_DEFINITION('explicitly created','false',#7020); -#19103=NAME_ATTRIBUTE('single instance',#7021); -#19104=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6984,#3362,$,'',$,#7021,*); -#19105=PROPERTY_DEFINITION('',$,#19104); -#19106=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15773,#19105); -#19107=SHAPE_ASPECT('',$,#7021,.U.); -#19108=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19107); -#19109=PROPERTY_DEFINITION('explicitly created','false',#7021); -#19110=NAME_ATTRIBUTE('single instance',#7090); -#19111=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7086,#2631,$,'',$,#7090,*); -#19112=PROPERTY_DEFINITION('',$,#19111); -#19113=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#19112); -#19114=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15503,#19112); -#19115=SHAPE_ASPECT('',$,#7090,.U.); -#19116=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18909,#19115); -#19117=PROPERTY_DEFINITION('explicitly created','false',#7090); -#19118=NAME_ATTRIBUTE('single instance',#7091); -#19119=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7086,#2616,$,'',$,#7091,*); -#19120=PROPERTY_DEFINITION('',$,#19119); -#19121=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#19120); -#19122=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15499,#19120); -#19123=SHAPE_ASPECT('',$,#7091,.U.); -#19124=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#19123); -#19125=PROPERTY_DEFINITION('explicitly created','false',#7091); -#19126=NAME_ATTRIBUTE('single instance',#7094); -#19127=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7086,#2631,$,'',$,#7094,*); -#19128=PROPERTY_DEFINITION('',$,#19127); -#19129=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#19128); -#19130=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15503,#19128); -#19131=SHAPE_ASPECT('',$,#7094,.U.); -#19132=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18909,#19131); -#19133=PROPERTY_DEFINITION('explicitly created','false',#7094); -#19134=NAME_ATTRIBUTE('single instance',#7095); -#19135=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7086,#2616,$,'',$,#7095,*); -#19136=PROPERTY_DEFINITION('',$,#19135); -#19137=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#19136); -#19138=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15499,#19136); -#19139=SHAPE_ASPECT('',$,#7095,.U.); -#19140=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#19139); -#19141=PROPERTY_DEFINITION('explicitly created','false',#7095); -#19142=NAME_ATTRIBUTE('single instance',#7118); -#19143=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7114,#2631,$,'',$,#7118,*); -#19144=PROPERTY_DEFINITION('',$,#19143); -#19145=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#19144); -#19146=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15503,#19144); -#19147=SHAPE_ASPECT('',$,#7118,.U.); -#19148=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18909,#19147); -#19149=PROPERTY_DEFINITION('explicitly created','false',#7118); -#19150=NAME_ATTRIBUTE('single instance',#7119); -#19151=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7114,#2616,$,'',$,#7119,*); -#19152=PROPERTY_DEFINITION('',$,#19151); -#19153=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#19152); -#19154=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15499,#19152); -#19155=SHAPE_ASPECT('',$,#7119,.U.); -#19156=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#19155); -#19157=PROPERTY_DEFINITION('explicitly created','false',#7119); -#19158=NAME_ATTRIBUTE('single instance',#7122); -#19159=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7114,#2631,$,'',$,#7122,*); -#19160=PROPERTY_DEFINITION('',$,#19159); -#19161=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#19160); -#19162=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15503,#19160); -#19163=SHAPE_ASPECT('',$,#7122,.U.); -#19164=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18909,#19163); -#19165=PROPERTY_DEFINITION('explicitly created','false',#7122); -#19166=NAME_ATTRIBUTE('single instance',#7123); -#19167=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7114,#2616,$,'',$,#7123,*); -#19168=PROPERTY_DEFINITION('',$,#19167); -#19169=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#19168); -#19170=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15499,#19168); -#19171=SHAPE_ASPECT('',$,#7123,.U.); -#19172=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#19171); -#19173=PROPERTY_DEFINITION('explicitly created','false',#7123); -#19174=NAME_ATTRIBUTE('single instance',#7148); -#19175=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7142,#1304,$,'',$,#7148,*); -#19176=PROPERTY_DEFINITION('',$,#19175); -#19177=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15734,#19176); -#19178=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14878,#19176); -#19179=SHAPE_ASPECT('',$,#7148,.U.); -#19180=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19179); -#19181=PROPERTY_DEFINITION('explicitly created','false',#7148); -#19182=NAME_ATTRIBUTE('single instance',#7149); -#19183=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7142,#1289,$,'',$,#7149,*); -#19184=PROPERTY_DEFINITION('',$,#19183); -#19185=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15734,#19184); -#19186=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14874,#19184); -#19187=SHAPE_ASPECT('',$,#7149,.U.); -#19188=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19187); -#19189=PROPERTY_DEFINITION('explicitly created','false',#7149); -#19190=NAME_ATTRIBUTE('single instance',#7152); -#19191=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7142,#1304,$,'',$,#7152,*); -#19192=PROPERTY_DEFINITION('',$,#19191); -#19193=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15731,#19192); -#19194=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14878,#19192); -#19195=SHAPE_ASPECT('',$,#7152,.U.); -#19196=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19195); -#19197=PROPERTY_DEFINITION('explicitly created','false',#7152); -#19198=NAME_ATTRIBUTE('single instance',#7153); -#19199=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7142,#1289,$,'',$,#7153,*); -#19200=PROPERTY_DEFINITION('',$,#19199); -#19201=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15731,#19200); -#19202=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14874,#19200); -#19203=SHAPE_ASPECT('',$,#7153,.U.); -#19204=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19203); -#19205=PROPERTY_DEFINITION('explicitly created','false',#7153); -#19206=NAME_ATTRIBUTE('single instance',#7174); -#19207=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7170,#2533,$,'',$,#7174,*); -#19208=PROPERTY_DEFINITION('',$,#19207); -#19209=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15752,#19208); -#19210=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15468,#19208); -#19211=SHAPE_ASPECT('',$,#7174,.U.); -#19212=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19211); -#19213=PROPERTY_DEFINITION('explicitly created','false',#7174); -#19214=NAME_ATTRIBUTE('single instance',#7175); -#19215=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7170,#2518,$,'',$,#7175,*); -#19216=PROPERTY_DEFINITION('',$,#19215); -#19217=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15752,#19216); -#19218=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15464,#19216); -#19219=SHAPE_ASPECT('',$,#7175,.U.); -#19220=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19219); -#19221=PROPERTY_DEFINITION('explicitly created','false',#7175); -#19222=NAME_ATTRIBUTE('single instance',#7178); -#19223=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7170,#2533,$,'',$,#7178,*); -#19224=PROPERTY_DEFINITION('',$,#19223); -#19225=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15745,#19224); -#19226=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15468,#19224); -#19227=SHAPE_ASPECT('',$,#7178,.U.); -#19228=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19227); -#19229=PROPERTY_DEFINITION('explicitly created','false',#7178); -#19230=NAME_ATTRIBUTE('single instance',#7179); -#19231=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7170,#2518,$,'',$,#7179,*); -#19232=PROPERTY_DEFINITION('',$,#19231); -#19233=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15745,#19232); -#19234=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15464,#19232); -#19235=SHAPE_ASPECT('',$,#7179,.U.); -#19236=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19235); -#19237=PROPERTY_DEFINITION('explicitly created','false',#7179); -#19238=NAME_ATTRIBUTE('single instance',#7202); -#19239=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7198,#2631,$,'',$,#7202,*); -#19240=PROPERTY_DEFINITION('',$,#19239); -#19241=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#19240); -#19242=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15503,#19240); -#19243=SHAPE_ASPECT('',$,#7202,.U.); -#19244=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18909,#19243); -#19245=PROPERTY_DEFINITION('explicitly created','false',#7202); -#19246=NAME_ATTRIBUTE('single instance',#7203); -#19247=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7198,#2616,$,'',$,#7203,*); -#19248=PROPERTY_DEFINITION('',$,#19247); -#19249=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15769,#19248); -#19250=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15499,#19248); -#19251=SHAPE_ASPECT('',$,#7203,.U.); -#19252=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#19251); -#19253=PROPERTY_DEFINITION('explicitly created','false',#7203); -#19254=NAME_ATTRIBUTE('single instance',#7206); -#19255=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7198,#2631,$,'',$,#7206,*); -#19256=PROPERTY_DEFINITION('',$,#19255); -#19257=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#19256); -#19258=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15503,#19256); -#19259=SHAPE_ASPECT('',$,#7206,.U.); -#19260=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18909,#19259); -#19261=PROPERTY_DEFINITION('explicitly created','false',#7206); -#19262=NAME_ATTRIBUTE('single instance',#7207); -#19263=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7198,#2616,$,'',$,#7207,*); -#19264=PROPERTY_DEFINITION('',$,#19263); -#19265=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15763,#19264); -#19266=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#15499,#19264); -#19267=SHAPE_ASPECT('',$,#7207,.U.); -#19268=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#19267); -#19269=PROPERTY_DEFINITION('explicitly created','false',#7207); -#19270=NAME_ATTRIBUTE('single instance',#7232); -#19271=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7226,#1304,$,'',$,#7232,*); -#19272=PROPERTY_DEFINITION('',$,#19271); -#19273=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15734,#19272); -#19274=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14878,#19272); -#19275=SHAPE_ASPECT('',$,#7232,.U.); -#19276=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19275); -#19277=PROPERTY_DEFINITION('explicitly created','false',#7232); -#19278=NAME_ATTRIBUTE('single instance',#7233); -#19279=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7226,#1289,$,'',$,#7233,*); -#19280=PROPERTY_DEFINITION('',$,#19279); -#19281=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15734,#19280); -#19282=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14874,#19280); -#19283=SHAPE_ASPECT('',$,#7233,.U.); -#19284=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19283); -#19285=PROPERTY_DEFINITION('explicitly created','false',#7233); -#19286=NAME_ATTRIBUTE('single instance',#7236); -#19287=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7226,#1304,$,'',$,#7236,*); -#19288=PROPERTY_DEFINITION('',$,#19287); -#19289=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15731,#19288); -#19290=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14878,#19288); -#19291=SHAPE_ASPECT('',$,#7236,.U.); -#19292=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18876,#19291); -#19293=PROPERTY_DEFINITION('explicitly created','false',#7236); -#19294=NAME_ATTRIBUTE('single instance',#7237); -#19295=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7226,#1289,$,'',$,#7237,*); -#19296=PROPERTY_DEFINITION('',$,#19295); -#19297=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15731,#19296); -#19298=PROPERTY_DEFINITION_RELATIONSHIP('second location','',#14874,#19296); -#19299=SHAPE_ASPECT('',$,#7237,.U.); -#19300=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19299); -#19301=PROPERTY_DEFINITION('explicitly created','false',#7237); -#19302=NAME_ATTRIBUTE('single instance',#7407); -#19303=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7404,#2921,$,'',$,#7407,*); -#19304=PROPERTY_DEFINITION('',$,#19303); -#19305=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15597,#19304); -#19306=SHAPE_ASPECT('',$,#7407,.U.); -#19307=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#19306); -#19308=PROPERTY_DEFINITION('explicitly created','false',#7407); -#19309=NAME_ATTRIBUTE('single instance',#7408); -#19310=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7404,#2909,$,'',$,#7408,*); -#19311=PROPERTY_DEFINITION('',$,#19310); -#19312=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15593,#19311); -#19313=SHAPE_ASPECT('',$,#7408,.U.); -#19314=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19313); -#19315=PROPERTY_DEFINITION('explicitly created','false',#7408); -#19316=NAME_ATTRIBUTE('single instance',#7419); -#19317=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7416,#2921,$,'',$,#7419,*); -#19318=PROPERTY_DEFINITION('',$,#19317); -#19319=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15597,#19318); -#19320=SHAPE_ASPECT('',$,#7419,.U.); -#19321=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#19320); -#19322=PROPERTY_DEFINITION('explicitly created','false',#7419); -#19323=NAME_ATTRIBUTE('single instance',#7420); -#19324=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7416,#2909,$,'',$,#7420,*); -#19325=PROPERTY_DEFINITION('',$,#19324); -#19326=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15593,#19325); -#19327=SHAPE_ASPECT('',$,#7420,.U.); -#19328=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19327); -#19329=PROPERTY_DEFINITION('explicitly created','false',#7420); -#19330=NAME_ATTRIBUTE('single instance',#7430); -#19331=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7427,#2921,$,'',$,#7430,*); -#19332=PROPERTY_DEFINITION('',$,#19331); -#19333=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15597,#19332); -#19334=SHAPE_ASPECT('',$,#7430,.U.); -#19335=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#19334); -#19336=PROPERTY_DEFINITION('explicitly created','false',#7430); -#19337=NAME_ATTRIBUTE('single instance',#7431); -#19338=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7427,#2909,$,'',$,#7431,*); -#19339=PROPERTY_DEFINITION('',$,#19338); -#19340=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15593,#19339); -#19341=SHAPE_ASPECT('',$,#7431,.U.); -#19342=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19341); -#19343=PROPERTY_DEFINITION('explicitly created','false',#7431); -#19344=NAME_ATTRIBUTE('single instance',#7441); -#19345=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7438,#2921,$,'',$,#7441,*); -#19346=PROPERTY_DEFINITION('',$,#19345); -#19347=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15597,#19346); -#19348=SHAPE_ASPECT('',$,#7441,.U.); -#19349=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#19348); -#19350=PROPERTY_DEFINITION('explicitly created','false',#7441); -#19351=NAME_ATTRIBUTE('single instance',#7442); -#19352=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7438,#2909,$,'',$,#7442,*); -#19353=PROPERTY_DEFINITION('',$,#19352); -#19354=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15593,#19353); -#19355=SHAPE_ASPECT('',$,#7442,.U.); -#19356=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19355); -#19357=PROPERTY_DEFINITION('explicitly created','false',#7442); -#19358=NAME_ATTRIBUTE('single instance',#7452); -#19359=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7449,#2921,$,'',$,#7452,*); -#19360=PROPERTY_DEFINITION('',$,#19359); -#19361=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15597,#19360); -#19362=SHAPE_ASPECT('',$,#7452,.U.); -#19363=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18233,#19362); -#19364=PROPERTY_DEFINITION('explicitly created','false',#7452); -#19365=NAME_ATTRIBUTE('single instance',#7453); -#19366=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#7449,#2909,$,'',$,#7453,*); -#19367=PROPERTY_DEFINITION('',$,#19366); -#19368=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#15593,#19367); -#19369=SHAPE_ASPECT('',$,#7453,.U.); -#19370=SHAPE_ASPECT_RELATIONSHIP('design intent','',#18225,#19369); -#19371=PROPERTY_DEFINITION('explicitly created','false',#7453); -#19372=NAME_ATTRIBUTE('single instance',#557); -#19373=NAME_ATTRIBUTE('single instance',#588); -#19374=NAME_ATTRIBUTE('single instance',#598); -#19375=NAME_ATTRIBUTE('single instance',#608); -#19376=NAME_ATTRIBUTE('single instance',#629); -#19377=NAME_ATTRIBUTE('single instance',#639); -#19378=NAME_ATTRIBUTE('single instance',#649); -#19379=NAME_ATTRIBUTE('single instance',#658); -#19380=NAME_ATTRIBUTE('single instance',#667); -#19381=NAME_ATTRIBUTE('single instance',#676); -#19382=NAME_ATTRIBUTE('single instance',#7258); -#19383=NAME_ATTRIBUTE('single instance',#7280); -#19384=NAME_ATTRIBUTE('single instance',#7301); -#19385=NAME_ATTRIBUTE('single instance',#7322); -#19386=NAME_ATTRIBUTE('single instance',#7343); -#19387=NAME_ATTRIBUTE('single instance',#7364); -#19388=NAME_ATTRIBUTE('single instance',#7385); -#19389=NAME_ATTRIBUTE('single instance',#7404); -#19390=NAME_ATTRIBUTE('single instance',#7416); -#19391=NAME_ATTRIBUTE('single instance',#7427); -#19392=NAME_ATTRIBUTE('single instance',#7438); -#19393=NAME_ATTRIBUTE('single instance',#7449); -#19394=NAME_ATTRIBUTE('single instance',#6038); -#19395=NAME_ATTRIBUTE('single instance',#6046); -#19396=NAME_ATTRIBUTE('single instance',#6054); -#19397=NAME_ATTRIBUTE('single instance',#6062); -#19398=NAME_ATTRIBUTE('single instance',#6070); -#19399=NAME_ATTRIBUTE('single instance',#6078); -#19400=NAME_ATTRIBUTE('single instance',#6086); -#19401=NAME_ATTRIBUTE('single instance',#6094); -#19402=NAME_ATTRIBUTE('single instance',#6102); -#19403=NAME_ATTRIBUTE('single instance',#6110); -#19404=NAME_ATTRIBUTE('single instance',#6118); -#19405=NAME_ATTRIBUTE('single instance',#6126); -#19406=NAME_ATTRIBUTE('single instance',#6542); -#19407=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6542,*); -#19408=PROPERTY_DEFINITION('',$,#19407); -#19409=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17414,#19408); -#19410=PROPERTY_DEFINITION('','',#6542); -#19411=REPRESENTATION('',(#8628),#8399); -#19412=PROPERTY_DEFINITION_REPRESENTATION(#19410,#19411); -#19413=NAME_ATTRIBUTE('single instance',#6543); -#19414=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6543,*); -#19415=PROPERTY_DEFINITION('',$,#19414); -#19416=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17381,#19415); -#19417=PROPERTY_DEFINITION('','',#6543); -#19418=REPRESENTATION('',(#8628),#8399); -#19419=PROPERTY_DEFINITION_REPRESENTATION(#19417,#19418); -#19420=NAME_ATTRIBUTE('single instance',#6544); -#19421=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6544,*); -#19422=PROPERTY_DEFINITION('',$,#19421); -#19423=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17377,#19422); -#19424=PROPERTY_DEFINITION('','',#6544); -#19425=REPRESENTATION('',(#8628),#8399); -#19426=PROPERTY_DEFINITION_REPRESENTATION(#19424,#19425); -#19427=NAME_ATTRIBUTE('single instance',#6545); -#19428=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6545,*); -#19429=PROPERTY_DEFINITION('',$,#19428); -#19430=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17344,#19429); -#19431=PROPERTY_DEFINITION('','',#6545); -#19432=REPRESENTATION('',(#8628),#8399); -#19433=PROPERTY_DEFINITION_REPRESENTATION(#19431,#19432); -#19434=NAME_ATTRIBUTE('single instance',#6546); -#19435=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6546,*); -#19436=PROPERTY_DEFINITION('',$,#19435); -#19437=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17340,#19436); -#19438=PROPERTY_DEFINITION('','',#6546); -#19439=REPRESENTATION('',(#8628),#8399); -#19440=PROPERTY_DEFINITION_REPRESENTATION(#19438,#19439); -#19441=NAME_ATTRIBUTE('single instance',#6547); -#19442=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6547,*); -#19443=PROPERTY_DEFINITION('',$,#19442); -#19444=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17307,#19443); -#19445=PROPERTY_DEFINITION('','',#6547); -#19446=REPRESENTATION('',(#8628),#8399); -#19447=PROPERTY_DEFINITION_REPRESENTATION(#19445,#19446); -#19448=NAME_ATTRIBUTE('single instance',#6548); -#19449=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6548,*); -#19450=PROPERTY_DEFINITION('',$,#19449); -#19451=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17303,#19450); -#19452=PROPERTY_DEFINITION('','',#6548); -#19453=REPRESENTATION('',(#8628),#8399); -#19454=PROPERTY_DEFINITION_REPRESENTATION(#19452,#19453); -#19455=NAME_ATTRIBUTE('single instance',#6549); -#19456=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6549,*); -#19457=PROPERTY_DEFINITION('',$,#19456); -#19458=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17270,#19457); -#19459=PROPERTY_DEFINITION('','',#6549); -#19460=REPRESENTATION('',(#8628),#8399); -#19461=PROPERTY_DEFINITION_REPRESENTATION(#19459,#19460); -#19462=NAME_ATTRIBUTE('single instance',#6550); -#19463=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6550,*); -#19464=PROPERTY_DEFINITION('',$,#19463); -#19465=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17266,#19464); -#19466=PROPERTY_DEFINITION('','',#6550); -#19467=REPRESENTATION('',(#8628),#8399); -#19468=PROPERTY_DEFINITION_REPRESENTATION(#19466,#19467); -#19469=NAME_ATTRIBUTE('single instance',#6551); -#19470=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6551,*); -#19471=PROPERTY_DEFINITION('',$,#19470); -#19472=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17233,#19471); -#19473=PROPERTY_DEFINITION('','',#6551); -#19474=REPRESENTATION('',(#8628),#8399); -#19475=PROPERTY_DEFINITION_REPRESENTATION(#19473,#19474); -#19476=NAME_ATTRIBUTE('single instance',#6572); -#19477=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6572,*); -#19478=PROPERTY_DEFINITION('',$,#19477); -#19479=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17114,#19478); -#19480=PROPERTY_DEFINITION('','',#6572); -#19481=REPRESENTATION('',(#8628),#8399); -#19482=PROPERTY_DEFINITION_REPRESENTATION(#19480,#19481); -#19483=NAME_ATTRIBUTE('single instance',#6573); -#19484=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6573,*); -#19485=PROPERTY_DEFINITION('',$,#19484); -#19486=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17081,#19485); -#19487=PROPERTY_DEFINITION('','',#6573); -#19488=REPRESENTATION('',(#8628),#8399); -#19489=PROPERTY_DEFINITION_REPRESENTATION(#19487,#19488); -#19490=NAME_ATTRIBUTE('single instance',#6574); -#19491=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6574,*); -#19492=PROPERTY_DEFINITION('',$,#19491); -#19493=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17077,#19492); -#19494=PROPERTY_DEFINITION('','',#6574); -#19495=REPRESENTATION('',(#8628),#8399); -#19496=PROPERTY_DEFINITION_REPRESENTATION(#19494,#19495); -#19497=NAME_ATTRIBUTE('single instance',#6575); -#19498=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6575,*); -#19499=PROPERTY_DEFINITION('',$,#19498); -#19500=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17044,#19499); -#19501=PROPERTY_DEFINITION('','',#6575); -#19502=REPRESENTATION('',(#8628),#8399); -#19503=PROPERTY_DEFINITION_REPRESENTATION(#19501,#19502); -#19504=NAME_ATTRIBUTE('single instance',#6576); -#19505=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6576,*); -#19506=PROPERTY_DEFINITION('',$,#19505); -#19507=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17040,#19506); -#19508=PROPERTY_DEFINITION('','',#6576); -#19509=REPRESENTATION('',(#8628),#8399); -#19510=PROPERTY_DEFINITION_REPRESENTATION(#19508,#19509); -#19511=NAME_ATTRIBUTE('single instance',#6577); -#19512=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6577,*); -#19513=PROPERTY_DEFINITION('',$,#19512); -#19514=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17007,#19513); -#19515=PROPERTY_DEFINITION('','',#6577); -#19516=REPRESENTATION('',(#8628),#8399); -#19517=PROPERTY_DEFINITION_REPRESENTATION(#19515,#19516); -#19518=NAME_ATTRIBUTE('single instance',#6578); -#19519=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6578,*); -#19520=PROPERTY_DEFINITION('',$,#19519); -#19521=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#17003,#19520); -#19522=PROPERTY_DEFINITION('','',#6578); -#19523=REPRESENTATION('',(#8628),#8399); -#19524=PROPERTY_DEFINITION_REPRESENTATION(#19522,#19523); -#19525=NAME_ATTRIBUTE('single instance',#6579); -#19526=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6579,*); -#19527=PROPERTY_DEFINITION('',$,#19526); -#19528=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16970,#19527); -#19529=PROPERTY_DEFINITION('','',#6579); -#19530=REPRESENTATION('',(#8628),#8399); -#19531=PROPERTY_DEFINITION_REPRESENTATION(#19529,#19530); -#19532=NAME_ATTRIBUTE('single instance',#6580); -#19533=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6580,*); -#19534=PROPERTY_DEFINITION('',$,#19533); -#19535=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16966,#19534); -#19536=PROPERTY_DEFINITION('','',#6580); -#19537=REPRESENTATION('',(#8628),#8399); -#19538=PROPERTY_DEFINITION_REPRESENTATION(#19536,#19537); -#19539=NAME_ATTRIBUTE('single instance',#6581); -#19540=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6581,*); -#19541=PROPERTY_DEFINITION('',$,#19540); -#19542=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16933,#19541); -#19543=PROPERTY_DEFINITION('','',#6581); -#19544=REPRESENTATION('',(#8628),#8399); -#19545=PROPERTY_DEFINITION_REPRESENTATION(#19543,#19544); -#19546=NAME_ATTRIBUTE('single instance',#6582); -#19547=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6582,*); -#19548=PROPERTY_DEFINITION('',$,#19547); -#19549=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16929,#19548); -#19550=PROPERTY_DEFINITION('','',#6582); -#19551=REPRESENTATION('',(#8628),#8399); -#19552=PROPERTY_DEFINITION_REPRESENTATION(#19550,#19551); -#19553=NAME_ATTRIBUTE('single instance',#6583); -#19554=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6583,*); -#19555=PROPERTY_DEFINITION('',$,#19554); -#19556=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16896,#19555); -#19557=PROPERTY_DEFINITION('','',#6583); -#19558=REPRESENTATION('',(#8628),#8399); -#19559=PROPERTY_DEFINITION_REPRESENTATION(#19557,#19558); -#19560=NAME_ATTRIBUTE('single instance',#6584); -#19561=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6584,*); -#19562=PROPERTY_DEFINITION('',$,#19561); -#19563=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16892,#19562); -#19564=PROPERTY_DEFINITION('','',#6584); -#19565=REPRESENTATION('',(#8628),#8399); -#19566=PROPERTY_DEFINITION_REPRESENTATION(#19564,#19565); -#19567=NAME_ATTRIBUTE('single instance',#6585); -#19568=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6585,*); -#19569=PROPERTY_DEFINITION('',$,#19568); -#19570=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16859,#19569); -#19571=PROPERTY_DEFINITION('','',#6585); -#19572=REPRESENTATION('',(#8628),#8399); -#19573=PROPERTY_DEFINITION_REPRESENTATION(#19571,#19572); -#19574=NAME_ATTRIBUTE('single instance',#6586); -#19575=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6586,*); -#19576=PROPERTY_DEFINITION('',$,#19575); -#19577=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16855,#19576); -#19578=PROPERTY_DEFINITION('','',#6586); -#19579=REPRESENTATION('',(#8628),#8399); -#19580=PROPERTY_DEFINITION_REPRESENTATION(#19578,#19579); -#19581=NAME_ATTRIBUTE('single instance',#6587); -#19582=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6587,*); -#19583=PROPERTY_DEFINITION('',$,#19582); -#19584=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16822,#19583); -#19585=PROPERTY_DEFINITION('','',#6587); -#19586=REPRESENTATION('',(#8628),#8399); -#19587=PROPERTY_DEFINITION_REPRESENTATION(#19585,#19586); -#19588=NAME_ATTRIBUTE('single instance',#6588); -#19589=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6588,*); -#19590=PROPERTY_DEFINITION('',$,#19589); -#19591=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16818,#19590); -#19592=PROPERTY_DEFINITION('','',#6588); -#19593=REPRESENTATION('',(#8628),#8399); -#19594=PROPERTY_DEFINITION_REPRESENTATION(#19592,#19593); -#19595=NAME_ATTRIBUTE('single instance',#6589); -#19596=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6589,*); -#19597=PROPERTY_DEFINITION('',$,#19596); -#19598=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16785,#19597); -#19599=PROPERTY_DEFINITION('','',#6589); -#19600=REPRESENTATION('',(#8628),#8399); -#19601=PROPERTY_DEFINITION_REPRESENTATION(#19599,#19600); -#19602=NAME_ATTRIBUTE('single instance',#6590); -#19603=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6590,*); -#19604=PROPERTY_DEFINITION('',$,#19603); -#19605=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16781,#19604); -#19606=PROPERTY_DEFINITION('','',#6590); -#19607=REPRESENTATION('',(#8628),#8399); -#19608=PROPERTY_DEFINITION_REPRESENTATION(#19606,#19607); -#19609=NAME_ATTRIBUTE('single instance',#6591); -#19610=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6591,*); -#19611=PROPERTY_DEFINITION('',$,#19610); -#19612=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16748,#19611); -#19613=PROPERTY_DEFINITION('','',#6591); -#19614=REPRESENTATION('',(#8628),#8399); -#19615=PROPERTY_DEFINITION_REPRESENTATION(#19613,#19614); -#19616=NAME_ATTRIBUTE('single instance',#6592); -#19617=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6592,*); -#19618=PROPERTY_DEFINITION('',$,#19617); -#19619=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16744,#19618); -#19620=PROPERTY_DEFINITION('','',#6592); -#19621=REPRESENTATION('',(#8628),#8399); -#19622=PROPERTY_DEFINITION_REPRESENTATION(#19620,#19621); -#19623=NAME_ATTRIBUTE('single instance',#6593); -#19624=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6593,*); -#19625=PROPERTY_DEFINITION('',$,#19624); -#19626=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16711,#19625); -#19627=PROPERTY_DEFINITION('','',#6593); -#19628=REPRESENTATION('',(#8628),#8399); -#19629=PROPERTY_DEFINITION_REPRESENTATION(#19627,#19628); -#19630=NAME_ATTRIBUTE('single instance',#6594); -#19631=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6594,*); -#19632=PROPERTY_DEFINITION('',$,#19631); -#19633=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16707,#19632); -#19634=PROPERTY_DEFINITION('','',#6594); -#19635=REPRESENTATION('',(#8628),#8399); -#19636=PROPERTY_DEFINITION_REPRESENTATION(#19634,#19635); -#19637=NAME_ATTRIBUTE('single instance',#6595); -#19638=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6595,*); -#19639=PROPERTY_DEFINITION('',$,#19638); -#19640=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16674,#19639); -#19641=PROPERTY_DEFINITION('','',#6595); -#19642=REPRESENTATION('',(#8628),#8399); -#19643=PROPERTY_DEFINITION_REPRESENTATION(#19641,#19642); -#19644=NAME_ATTRIBUTE('single instance',#6596); -#19645=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6596,*); -#19646=PROPERTY_DEFINITION('',$,#19645); -#19647=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16670,#19646); -#19648=PROPERTY_DEFINITION('','',#6596); -#19649=REPRESENTATION('',(#8628),#8399); -#19650=PROPERTY_DEFINITION_REPRESENTATION(#19648,#19649); -#19651=NAME_ATTRIBUTE('single instance',#6597); -#19652=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6597,*); -#19653=PROPERTY_DEFINITION('',$,#19652); -#19654=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16637,#19653); -#19655=PROPERTY_DEFINITION('','',#6597); -#19656=REPRESENTATION('',(#8628),#8399); -#19657=PROPERTY_DEFINITION_REPRESENTATION(#19655,#19656); -#19658=NAME_ATTRIBUTE('single instance',#6598); -#19659=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6598,*); -#19660=PROPERTY_DEFINITION('',$,#19659); -#19661=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16633,#19660); -#19662=PROPERTY_DEFINITION('','',#6598); -#19663=REPRESENTATION('',(#8628),#8399); -#19664=PROPERTY_DEFINITION_REPRESENTATION(#19662,#19663); -#19665=NAME_ATTRIBUTE('single instance',#6599); -#19666=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6599,*); -#19667=PROPERTY_DEFINITION('',$,#19666); -#19668=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16600,#19667); -#19669=PROPERTY_DEFINITION('','',#6599); -#19670=REPRESENTATION('',(#8628),#8399); -#19671=PROPERTY_DEFINITION_REPRESENTATION(#19669,#19670); -#19672=NAME_ATTRIBUTE('single instance',#6600); -#19673=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6600,*); -#19674=PROPERTY_DEFINITION('',$,#19673); -#19675=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16596,#19674); -#19676=PROPERTY_DEFINITION('','',#6600); -#19677=REPRESENTATION('',(#8628),#8399); -#19678=PROPERTY_DEFINITION_REPRESENTATION(#19676,#19677); -#19679=NAME_ATTRIBUTE('single instance',#6601); -#19680=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6601,*); -#19681=PROPERTY_DEFINITION('',$,#19680); -#19682=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16563,#19681); -#19683=PROPERTY_DEFINITION('','',#6601); -#19684=REPRESENTATION('',(#8628),#8399); -#19685=PROPERTY_DEFINITION_REPRESENTATION(#19683,#19684); -#19686=NAME_ATTRIBUTE('single instance',#6602); -#19687=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6602,*); -#19688=PROPERTY_DEFINITION('',$,#19687); -#19689=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16559,#19688); -#19690=PROPERTY_DEFINITION('','',#6602); -#19691=REPRESENTATION('',(#8628),#8399); -#19692=PROPERTY_DEFINITION_REPRESENTATION(#19690,#19691); -#19693=NAME_ATTRIBUTE('single instance',#6603); -#19694=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6603,*); -#19695=PROPERTY_DEFINITION('',$,#19694); -#19696=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16526,#19695); -#19697=PROPERTY_DEFINITION('','',#6603); -#19698=REPRESENTATION('',(#8628),#8399); -#19699=PROPERTY_DEFINITION_REPRESENTATION(#19697,#19698); -#19700=NAME_ATTRIBUTE('single instance',#6604); -#19701=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6604,*); -#19702=PROPERTY_DEFINITION('',$,#19701); -#19703=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16522,#19702); -#19704=PROPERTY_DEFINITION('','',#6604); -#19705=REPRESENTATION('',(#8628),#8399); -#19706=PROPERTY_DEFINITION_REPRESENTATION(#19704,#19705); -#19707=NAME_ATTRIBUTE('single instance',#6605); -#19708=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6538,#5179,$,'',$,#6605,*); -#19709=PROPERTY_DEFINITION('',$,#19708); -#19710=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16489,#19709); -#19711=PROPERTY_DEFINITION('','',#6605); -#19712=REPRESENTATION('',(#8628),#8399); -#19713=PROPERTY_DEFINITION_REPRESENTATION(#19711,#19712); -#19714=NAME_ATTRIBUTE('single instance',#6145); -#19715=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6138,#4372,$,'',$,#6145,*); -#19716=PROPERTY_DEFINITION('',$,#19715); -#19717=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16067,#19716); -#19718=PROPERTY_DEFINITION('feature of size','true',#6145); -#19719=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6144,#6145); -#19720=NAME_ATTRIBUTE('single instance',#6156); -#19721=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6150,#4372,$,'',$,#6156,*); -#19722=PROPERTY_DEFINITION('',$,#19721); -#19723=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16067,#19722); -#19724=PROPERTY_DEFINITION('feature of size','true',#6156); -#19725=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6144,#6156); -#19726=NAME_ATTRIBUTE('single instance',#6167); -#19727=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6161,#4372,$,'',$,#6167,*); -#19728=PROPERTY_DEFINITION('',$,#19727); -#19729=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16067,#19728); -#19730=PROPERTY_DEFINITION('feature of size','true',#6167); -#19731=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6144,#6167); -#19732=NAME_ATTRIBUTE('single instance',#6178); -#19733=STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP('','design independent placement', - $,#6172,#4372,$,'',$,#6178,*); -#19734=PROPERTY_DEFINITION('',$,#19733); -#19735=PROPERTY_DEFINITION_RELATIONSHIP('first location','',#16067,#19734); -#19736=PROPERTY_DEFINITION('feature of size','true',#6178); -#19737=PROPERTY_DEFINITION_RELATIONSHIP('vertical extent','',#6144,#6178); -ENDSEC; -END-ISO-10303-21; diff --git a/data/ap210e3/ap210e3_n8232_mim_lf.exp b/data/ap210e3/ap210e3_n8232_mim_lf.exp new file mode 100644 index 000000000..7e2be2953 --- /dev/null +++ b/data/ap210e3/ap210e3_n8232_mim_lf.exp @@ -0,0 +1,39106 @@ +(* + $Id: mim_lf.exp,v 1.63 2014/05/22 16:05:53 jhaenisch Exp $ + ISO TC184/SC4/WG3 8232 - ISO/TS 10303-410 AP210 electronic assembly interconnect and packaging design - EXPRESS MIM Long form + Supersedes ISO TC184/SC4/WG3 N2601 +*) + +(* ===================================================================================== *) +(* Long form schema generated by The EXPRESS Data Manager compiler version 9.8.3B 20121030*) +(* Fri Feb 07 11:23:49 2014 *) +(* The schema is converted from ISO10303 P11-2003 to ISO10303 P11-1994 *) +(* ===================================================================================== *) +(* This file was generated by the EXPRESS Pretty Printer exppp, +part of STEPcode (formerly NIST's SCL). exppp version: +git commit id: v0.7-353-g0a46b86, build timestamp 26 Feb 2014 19:15 +*) +(* patched for bug 4665, 4992, 5004, 5052, 5056, 5057 +link_motion_relationship.WR1 has been commented out. +*) + +SCHEMA ap210_electronic_assembly_interconnect_and_packaging_design_mim_lf; + + CONSTANT + schema_date_stamp : STRING := 'Mon Mar 24 10:53:49 2014'; + dummy_gri : geometric_representation_item := + representation_item( '' ) + || + geometric_representation_item( ); + dummy_tri : topological_representation_item := + representation_item( '' ) + || + topological_representation_item( ); + pre_defined_picture_representation_types : SET [0 : ?] OF STRING := + [ 'JPEG' , + 'PNG' , + 'TIFF' , + 'BMP' , + 'GIF' ]; + schema_prefix : STRING := + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' ; + the_binarys : elementary_space := + make_elementary_space( + es_binarys ); + the_booleans : elementary_space := + make_elementary_space( + es_booleans ); + the_complex_numbers : elementary_space := + make_elementary_space( + es_complex_numbers ); + the_complex_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_complex_numbers ); + the_empty_maths_tuple : maths_tuple := + []; + the_empty_space : finite_space := + make_finite_space( + [] ); + the_generics : elementary_space := + make_elementary_space( + es_generics ); + the_integer_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_integers ); + the_integers : elementary_space := + make_elementary_space( + es_integers ); + the_logicals : elementary_space := + make_elementary_space( + es_logicals ); + the_maths_spaces : elementary_space := + make_elementary_space( + es_maths_spaces ); + the_neg1_one_interval : finite_real_interval := + make_finite_real_interval( + - + 1, + closed, + 1, + closed ); + the_neghalfpi_halfpi_interval : finite_real_interval := + make_finite_real_interval( + ( + - + 0.5 ) + * + PI, + closed, + 0.5 + * + PI, + closed ); + the_negpi_pi_interval : finite_real_interval := + make_finite_real_interval( + - + PI, + open, + PI, + closed ); + the_nonnegative_reals : real_interval_from_min := + make_real_interval_from_min( + 0, + closed ); + the_numbers : elementary_space := + make_elementary_space( + es_numbers ); + the_real_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_reals ); + the_reals : elementary_space := + make_elementary_space( + es_reals ); + the_strings : elementary_space := + make_elementary_space( + es_strings ); + the_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_generics ); + the_zero_pi_interval : finite_real_interval := + make_finite_real_interval( + 0, + closed, + PI, + closed ); + the_zero_tuple_space : listed_product_space := + make_listed_product_space( + [] ); + END_CONSTANT; + + TYPE absorbed_dose_measure = REAL; + END_TYPE; + + TYPE acceleration_measure = REAL; + END_TYPE; + + TYPE action_items = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_person_and_organization_assignment, + approval_status, + assembly_component_usage_substitute, + certification, + certification_item, + characterized_object, + class, + class_system, + classification_item, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + document_file, + document_reference_item, + draughting_model, + drawing_revision, + evaluated_characteristic, + executed_action, + general_property, + identification_item, + material_designation, + mechanical_design_geometric_presentation_representation, + organization, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_assigned_item, + requirement_for_action_resource, + resource_property, + security_classification, + security_classification_level, + shape_aspect, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE action_method_items = SELECT + ( action, + action_method, + action_property, + applied_action_assignment, + configuration_design, + contract, + document_file, + event_occurrence, + organization, + organizational_project, + person, + person_and_organization, + product, + product_concept, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + property_definition, + test_method_based_parameter_assignment ); + END_TYPE; + + TYPE action_request_item = SELECT + ( action, + action_method, + action_property, + action_relationship, + alternate_product_relationship, + assembly_component_usage_substitute, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + document_file, + draughting_model, + drawing_revision, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + organizational_project, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + resource_property, + shape_aspect, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE actuated_direction = ENUMERATION OF + ( bidirectional, + positive_only, + negative_only, + not_actuated ); + END_TYPE; + + TYPE ahead_or_behind = ENUMERATION OF + ( ahead, + exact, + behind ); + END_TYPE; + + TYPE amount_of_substance_measure = REAL; + END_TYPE; + + TYPE angle_direction_reference_select = SELECT + ( direction, + curve, + point_path ); + END_TYPE; + + TYPE angle_direction_reference_with_a2p3d_select = SELECT + ( angle_direction_reference_select, + axis2_placement_3d ); + END_TYPE; + + TYPE angle_relator = ENUMERATION OF + ( equal, + large, + small ); + END_TYPE; + + TYPE annotation_plane_element = SELECT + ( draughting_callout, + styled_item ); + END_TYPE; + + TYPE annotation_representation_select = SELECT + ( draughting_model, + presentation_area, + presentation_view, + symbol_representation ); + END_TYPE; + + TYPE annotation_symbol_occurrence_item = SELECT + ( annotation_symbol, + defined_symbol ); + END_TYPE; + + TYPE annotation_text_occurrence_item = SELECT + ( text_literal, + annotation_text, + annotation_text_character, + defined_character_glyph, + composite_text ); + END_TYPE; + + TYPE approval_item = SELECT + ( action, + action_directive, + action_property, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_usage_right, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + date, + directed_action, + document, + document_file, + draughting_model, + drawing_revision, + effectivity, + executed_action, + frozen_assignment, + general_property, + general_property_relationship, + group, + group_relationship, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organizational_project, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + representation, + requirement_assignment, + resource_property, + security_classification, + shape_aspect_relationship, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE approved_item = SELECT + ( certification, + change, + change_request, + configuration_effectivity, + configuration_item, + contract, + product, + security_classification, + start_request, + start_work ); + END_TYPE; + + TYPE area_measure = REAL; + END_TYPE; + + TYPE area_or_view = SELECT + ( presentation_area, + presentation_view ); + END_TYPE; + + TYPE area_unit_type = ENUMERATION OF + ( circular, + rectangular, + square ); + END_TYPE; + + TYPE atom_based_tuple = LIST OF atom_based_value; + END_TYPE; + + TYPE atom_based_value = SELECT + ( maths_atom, + atom_based_tuple ); + END_TYPE; + + TYPE attribute_classification_item = SELECT + ( action_directive, + action_method, + action_property, + action_property_representation, + action_relationship, + action_request_solution, + action_request_status, + alternate_product_relationship, + applied_action_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + approval, + approval_person_organization, + approval_relationship, + approval_status, + certification, + context_dependent_unit, + contract, + date_and_time_assignment, + date_assignment, + derived_unit, + descriptive_representation_item, + document_file, + document_relationship, + effectivity, + event_occurrence_relationship, + executed_action, + general_property, + general_property_relationship, + group, + group_relationship, + information_right, + information_usage_right, + language, + measure_representation_item, + measure_with_unit, + named_unit, + organization_relationship, + organizational_address, + organizational_project_relationship, + person_and_organization, + person_and_organization_address, + product, + product_category, + product_concept, + product_concept_context, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + property_definition, + property_definition_relationship, + property_definition_representation, + representation, + representation_context, + representation_item, + security_classification, + time_interval_relationship, + uncertainty_measure_with_unit, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE attribute_identifier = identifier; + WHERE + wr1: validate_attribute_id( SELF ); + END_TYPE; + + TYPE attribute_language_item = SELECT + ( action, + actuated_kinematic_pair, + alternate_product_relationship, + application_context, + applied_certification_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organizational_project_assignment, + applied_security_classification_assignment, + approval, + approval_relationship, + approval_status, + assembly_component_usage_substitute, + attribute_value_assignment, + certification, + certification_type, + configuration_design, + configuration_item, + contract, + data_environment, + date_role, + date_time_role, + descriptive_representation_item, + document_relationship, + document_usage_role, + draughting_title, + effectivity, + effectivity_relationship, + event_occurrence, + external_source, + general_property, + general_property_relationship, + geometric_representation_item, + geometric_tolerance, + group, + group_relationship, + identification_role, + information_right, + information_usage_right, + kinematic_pair, + make_from_usage_option, + mapped_item, + multi_language_attribute_assignment, + name_assignment, + object_role, + organization_relationship, + organization_role, + organizational_project, + organizational_project_relationship, + organizational_project_role, + person_and_organization, + person_and_organization_role, + presentation_layer_assignment, + process_product_association, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_relationship, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_shape, + product_definition_substitute, + product_related_product_category, + property_definition, + property_definition_relationship, + representation, + representation_relationship, + requirement_for_action_resource, + resource_property, + resource_requirement_type, + security_classification, + security_classification_assignment, + shape_aspect, + shape_aspect_relationship, + shape_representation, + styled_item, + time_interval_role, + topological_representation_item, + uncertainty_measure_with_unit, + uncertainty_qualifier, + usage_association, + versioned_action_request, + versioned_action_request_relationship ); + END_TYPE; + + TYPE attribute_type = SELECT + ( label, + text ); + END_TYPE; + + TYPE axial_geometry_constraint_element = SELECT + ( point, + line, + circle, + plane, + cylindrical_surface, + conical_surface, + spherical_surface, + toroidal_surface, + surface_of_revolution, + sphere, + right_circular_cone, + right_circular_cylinder, + torus, + revolved_face_solid, + revolved_area_solid ); + END_TYPE; + + TYPE axis2_placement = SELECT + ( axis2_placement_2d, + axis2_placement_3d ); + END_TYPE; + + TYPE b_spline_curve_form = ENUMERATION OF + ( polyline_form, + circular_arc, + elliptic_arc, + parabolic_arc, + hyperbolic_arc, + unspecified ); + END_TYPE; + + TYPE b_spline_or_composite_curve_select = SELECT + ( b_spline_curve, + composite_curve ); + END_TYPE; + + TYPE b_spline_or_rectangular_composite_surface_select = SELECT + ( b_spline_surface, + rectangular_composite_surface ); + END_TYPE; + + TYPE b_spline_surface_form = ENUMERATION OF + ( plane_surf, + cylindrical_surf, + conical_surf, + spherical_surf, + toroidal_surf, + surf_of_revolution, + ruled_surf, + generalised_cone, + quadric_surf, + surf_of_linear_extrusion, + unspecified ); + END_TYPE; + + TYPE base_solid_select = SELECT + ( solid_model, + csg_primitive, + boolean_result ); + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D' IN TYPEOF( SELF ) ) ); + END_TYPE; + + TYPE blend_end_condition_select = SELECT + ( point_on_curve, + edge_curve, + vertex ); + END_TYPE; + + TYPE blend_radius_variation_type = ENUMERATION OF + ( linear_blend, + cubic_blend, + unspecified_blend ); + END_TYPE; + + TYPE boolean_operand = SELECT + ( boolean_result, + csg_primitive, + half_space_2d, + half_space_solid, + solid_model ); + END_TYPE; + + TYPE boolean_operand_2d = SELECT + ( bounded_primitive_2d, + boolean_result_2d ); + END_TYPE; + + TYPE boolean_operator = ENUMERATION OF + ( union, + intersection, + difference ); + END_TYPE; + + TYPE boolean_value = BOOLEAN; + END_TYPE; + + TYPE bounded_primitive_2d = SELECT + ( area_with_outer_boundary, + circular_area, + elliptic_area, + path_area_with_parameters, + polygonal_area, + rectangular_area ); + END_TYPE; + + TYPE box_characteristic_select = SELECT + ( box_height, + box_width, + box_slant_angle, + box_rotate_angle ); + END_TYPE; + + TYPE box_height = positive_ratio_measure; + END_TYPE; + + TYPE box_rotate_angle = plane_angle_measure; + END_TYPE; + + TYPE box_slant_angle = plane_angle_measure; + END_TYPE; + + TYPE box_width = positive_ratio_measure; + END_TYPE; + + TYPE camera_model_d3_multi_clipping_interection_select = SELECT + ( camera_model_d3_multi_clipping_union, + plane ); + END_TYPE; + + TYPE camera_model_d3_multi_clipping_union_select = SELECT + ( camera_model_d3_multi_clipping_intersection, + plane ); + END_TYPE; + + TYPE capacitance_measure = REAL; + END_TYPE; + + TYPE category_usage_item = SELECT + ( product_class ); + END_TYPE; + + TYPE cc_classified_item = SELECT + ( assembly_component_usage, + product_definition_formation ); + END_TYPE; + + TYPE cc_person_organization_item = SELECT + ( change, + change_request, + configuration_item, + contract, + product, + product_definition, + product_definition_formation, + security_classification, + start_request, + start_work ); + END_TYPE; + + TYPE cc_specified_item = SELECT + ( product_definition, + shape_aspect ); + END_TYPE; + + TYPE celsius_temperature_measure = REAL; + END_TYPE; + + TYPE central_or_parallel = ENUMERATION OF + ( central, + parallel ); + END_TYPE; + + TYPE certification_item = SELECT + ( alternate_product_relationship, + make_from_usage_option, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship ); + END_TYPE; + + TYPE certified_item = SELECT + ( supplied_part_relationship ); + END_TYPE; + + TYPE chained_representation_link = SELECT + ( mapped_item, + representation_context, + representation_relationship ); + END_TYPE; + + TYPE change_management_object = SELECT + ( action, + action_directive, + action_items, + action_relationship, + alternate_product_relationship, + analytical_model_definition, + analytical_model_make_from_relationship, + analytical_model_port, + analytical_model_port_assignment, + analytical_representation, + applied_approval_assignment, + applied_date_and_time_assignment, + applied_document_reference, + applied_external_identification_assignment, + applied_group_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + approval, + approval_status, + assembly_bond_definition, + assembly_component, + assembly_component_usage, + assembly_component_usage_substitute, + assembly_group_component_definition_placement_link, + assembly_joint, + bus_element_link, + bus_structural_definition, + calendar_date, + certification, + characterized_object, + class, + complex_clause, + component_2d_location, + component_3d_location, + component_definition, + component_feature, + component_feature_relationship, + component_functional_terminal, + component_functional_unit, + component_terminal, + composite_curve_segment, + composite_signal_property_relationship, + conductive_interconnect_element_terminal_link, + configuration_effectivity, + configuration_item, + connection_zone_interface_plane_relationship, + connection_zone_map_identification, + connector_based_interconnect_definition, + contract, + curve_style, + curve_style_font, + curve_style_font_and_scaling, + curve_style_parameters_representation, + date, + date_and_time, + datum, + datum_difference_functional_unit_usage_view_terminal_assignment, + descriptive_representation_item, + design_composition_path, + device_terminal_map, + dielectric_crossover_area, + dimension_related_tolerance_zone_element, + dimensional_characteristic_representation, + dimensional_location, + dimensional_size, + direct_stratum_component_join_implementation, + direction, + document, + document_usage_constraint, + draughting_pre_defined_text_font, + effectivity, + evaluated_characteristic, + event_occurrence, + externally_defined_curve_font, + externally_defined_hatch_style, + externally_defined_item, + externally_defined_text_font, + externally_defined_tile_style, + fabrication_joint, + fill_area_style_hatching, + fill_area_style_tiles, + frozen_assignment, + func, + functional_specification, + functional_terminal_group, + functional_unit_terminal_definition, + general_property_relationship, + geometric_representation_context, + geometric_representation_item, + geometric_tolerance, + geometric_tolerance_relationship, + group, + group_product_definition, + group_shape_aspect, + interface_mounted_join, + item_defined_transformation, + join_shape_aspect, + layer_connection_point, + layout_junction, + linear_array_component_definition_link, + make_from_connectivity_relationship, + make_from_feature_relationship, + make_from_usage_option, + mapped_item, + material_designation, + measure_qualification, + measure_with_unit, + model_parameter, + network_node_definition, + operational_requirement_relationship, + organization, + packaged_connector_terminal_relationship, + parameter_assignment, + parameter_assignment_override, + part_connected_terminals_definition, + passage_technology, + person, + person_and_organization, + physical_connectivity_definition, + physical_connectivity_element, + physical_network, + physical_node_requirement_to_implementing_component_allocation, + plated_inter_stratum_feature, + plus_minus_tolerance, + port_variable, + pre_defined_item, + predefined_requirement_view_definition, + presentation_style_assignment, + printed_connector_template_terminal_relationship, + printed_part_template_connected_terminals_definition, + printed_part_template_material, + printed_part_template_material_link, + product, + product_category, + product_concept, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_with_associated_documents, + product_specific_parameter_value_assignment, + project_item, + projected_zone_definition, + promissory_usage_occurrence, + property_definition, + property_definition_relationship, + property_definition_representation, + range_characteristic, + reference_composition_path, + representation, + representation_context, + representation_item, + representation_relationship, + representation_relationship_with_transformation, + requirement_assignment, + rule_action, + runout_zone_orientation_reference_direction, + scalar_terminal_definition_link, + security_classification, + sequential_laminate_passage_based_fabrication_joint, + shape_aspect, + shape_aspect_relationship, + shape_dimension_representation, + shape_representation, + shape_representation_relationship, + signal, + simple_clause, + solid_curve_font, + specified_higher_usage_occurrence, + stratum_feature_based_derived_pattern, + stratum_feature_conductive_join, + stratum_surface, + stratum_technology, + stratum_technology_occurrence_link, + styled_item, + text_font, + tolerance_value, + tolerance_zone_definition, + tolerance_zone_form, + usage_view_connection_zone_terminal_shape_relationship, + vector, + versioned_action_request ); + END_TYPE; + + TYPE change_relationship_select = SELECT + ( action_relationship, + product_definition_formation_relationship, + product_definition_relationship, + shape_aspect_relationship ); + END_TYPE; + + TYPE change_request_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE character_spacing_select = SELECT + ( length_measure, + ratio_measure, + measure_with_unit, + descriptive_measure ); + END_TYPE; + + TYPE character_style_select = SELECT + ( character_glyph_style_stroke, + character_glyph_style_outline, + text_style_for_defined_font ); + END_TYPE; + + TYPE characterized_action_definition = SELECT + ( action, + action_method, + action_method_relationship, + action_relationship ); + END_TYPE; + + TYPE characterized_definition = SELECT + ( characterized_object, + characterized_product_definition, + shape_definition ); + END_TYPE; + + TYPE characterized_material_property = SELECT + ( material_property_representation, + product_material_composition_relationship ); + END_TYPE; + + TYPE characterized_product_composition_value = SELECT + ( measure_with_unit ); + END_TYPE; + + TYPE characterized_product_definition = SELECT + ( product_definition, + product_definition_relationship ); + END_TYPE; + + TYPE characterized_resource_definition = SELECT + ( action_resource, + action_resource_requirement ); + END_TYPE; + + TYPE class_usage_effectivity_context_item = SELECT + ( product_definition ); + END_TYPE; + + TYPE classification_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + action_request_status, + address, + alternate_product_relationship, + applied_action_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_contract_assignment, + applied_date_and_time_assignment, + applied_date_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval, + approval_person_organization, + approval_relationship, + approval_status, + assembly_component_usage_substitute, + calendar_date, + certification, + characterized_class, + characterized_object, + class, + classified_item, + configuration_item, + context_dependent_unit, + contract, + conversion_based_unit, + date_and_time, + date_and_time_assignment, + date_assignment, + derived_unit, + descriptive_representation_item, + directed_action, + document_file, + document_relationship, + document_type, + effectivity, + event_occurrence, + executed_action, + feature_definition, + functional_unit_terminal_definition, + general_feature, + general_property, + general_property_relationship, + group, + identification_assignment, + information_right, + information_usage_right, + language, + material_designation, + measure_representation_item, + measure_with_unit, + multi_language_attribute_assignment, + named_unit, + organization, + organization_relationship, + organizational_address, + organizational_project, + organizational_project_relationship, + person, + person_and_organization_address, + plus_minus_tolerance, + process_operation, + product, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + property_definition, + property_definition_representation, + representation, + representation_context, + representation_item, + resource_property, + security_classification, + security_classification_level, + shape_aspect, + stratum_technology_occurrence_relationship, + uncertainty_measure_with_unit, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE classified_item = SELECT + ( product, + product_definition, + product_definition_formation ); + END_TYPE; + + TYPE closed_or_open_shell_select = SELECT + ( closed_shell, + open_shell ); + END_TYPE; + + TYPE common_datum_list = LIST [2 : ?] OF datum_reference_element; + WHERE + wr1: ( SIZEOF( QUERY ( dre <* SELF | ( dre\shape_aspect.of_shape <> SELF[1]\shape_aspect.of_shape ) ) ) = 0 ); + END_TYPE; + + TYPE component_material_relationship_assignment_item = SELECT + ( assembly_component_usage, + assembly_item_number, + specification_definition ); + END_TYPE; + + TYPE compound_inner_area_boundary = SELECT + ( set_inner_area_boundary ); + END_TYPE; + + TYPE compound_item_definition = SELECT + ( list_representation_item, + set_representation_item ); + END_TYPE; + + TYPE conductance_measure = REAL; + END_TYPE; + + TYPE configuration_design_item = SELECT + ( product_definition, + product_definition_formation ); + END_TYPE; + + TYPE configured_effectivity_context_item = SELECT + ( product_concept_feature_association ); + END_TYPE; + + TYPE configured_effectivity_item = SELECT + ( action_relationship, + process_plan, + product_definition, + product_process_plan ); + END_TYPE; + + TYPE constraint_group_member = SELECT + ( explicit_constraint, + simultaneous_constraint_group ); + END_TYPE; + + TYPE constructive_geometry_representation_or_shape_represenation = SELECT + ( constructive_geometry_representation, + shape_representation ); + END_TYPE; + + TYPE context_dependent_measure = REAL; + END_TYPE; + + TYPE contract_item = SELECT + ( action_directive, + alternate_product_relationship, + directed_action, + drawing_revision, + executed_action, + information_usage_right, + organization, + person_and_organization, + product, + product_definition_formation ); + END_TYPE; + + TYPE contracted_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE count_measure = NUMBER; + END_TYPE; + + TYPE csg_2d_area_select = SELECT + ( axis2_placement_2d, + csg_primitive_solid_2d ); + END_TYPE; + + TYPE csg_2d_shape_select = SELECT + ( mapped_item, + axis2_placement_2d, + csg_solid_2d ); + END_TYPE; + + TYPE csg_primitive = SELECT + ( block, + bounded_primitive_2d, +(* The following five items have been added to resolve BZ#5057. *) + cyclide_segment_solid, + eccentric_cone, + ellipsoid, + faceted_primitive, + rectangular_pyramid, +(* end of insertion *) + right_angular_wedge, + right_circular_cone, + right_circular_cylinder, + sphere, + torus ); + END_TYPE; + + TYPE csg_select = SELECT + ( boolean_result, + csg_primitive ); + END_TYPE; + + TYPE csg_select_2d = SELECT + ( bounded_primitive_2d, + boolean_result_2d ); + END_TYPE; + + TYPE current_element_assignment_select = SELECT + ( modify_element, + add_element ); + END_TYPE; + + TYPE curve_font_or_scaled_curve_font_select = SELECT + ( curve_style_font_select, + curve_style_font_and_scaling ); + END_TYPE; + + TYPE curve_on_surface = SELECT + ( composite_curve_on_surface, + pcurve, + surface_curve ); + END_TYPE; + + TYPE curve_or_annotation_curve_occurrence = SELECT + ( curve, + annotation_curve_occurrence ); + END_TYPE; + + TYPE curve_or_curve_set = SELECT + ( curve, + geometric_curve_set ); + END_TYPE; + + TYPE curve_or_render = SELECT + ( curve_style, + curve_style_rendering ); + END_TYPE; + + TYPE curve_or_surface_constraint_element = SELECT + ( curve, + surface ); + END_TYPE; + + TYPE curve_style_font_select = SELECT + ( curve_style_font, + pre_defined_curve_font, + externally_defined_curve_font ); + END_TYPE; + + TYPE curves_or_area = ENUMERATION OF + ( curves, + area ); + END_TYPE; + + TYPE date_and_time_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval_person_organization, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + directed_action, + document, + document_file, + draughting_model, + drawing_revision, + effectivity, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + rule_action, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE date_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval_person_organization, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + directed_action, + document, + document_file, + draughting_model, + drawing_revision, + effectivity, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE date_time_item = SELECT + ( approval_person_organization, + certification, + change, + change_request, + contract, + product_definition, + security_classification, + start_request, + start_work ); + END_TYPE; + + TYPE date_time_or_event_occurrence = SELECT + ( date_time_select, + event_occurrence ); + END_TYPE; + + TYPE date_time_select = SELECT + ( date, + date_and_time, + local_time ); + END_TYPE; + + TYPE datum_or_common_datum = SELECT + ( common_datum_list, + datum ); + END_TYPE; + + TYPE datum_reference_modifier = SELECT + ( datum_reference_modifier_with_value, + simple_datum_reference_modifier ); + END_TYPE; + + TYPE datum_reference_modifier_type = ENUMERATION OF + ( circular_or_cylindrical, + distance, + projected, + spherical ); + END_TYPE; + + TYPE datum_system_or_reference = SELECT + ( datum_reference, + datum_system ); + END_TYPE; + + TYPE day_in_month_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 31 ) ); + END_TYPE; + + TYPE day_in_week_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 7 ) ); + END_TYPE; + + TYPE day_in_year_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 366 ) ); + END_TYPE; + + TYPE defined_glyph_select = SELECT + ( pre_defined_character_glyph, + externally_defined_character_glyph ); + END_TYPE; + + TYPE defined_symbol_select = SELECT + ( pre_defined_symbol, + externally_defined_symbol ); + END_TYPE; + + TYPE derived_property_select = SELECT + ( property_definition, + action_property, + resource_property ); + END_TYPE; + + TYPE description_attribute_select = SELECT + ( action_request_solution, + application_context, + approval_role, + configuration_design, + context_dependent_shape_representation, + date_role, + date_time_role, + effectivity, + external_source, + organization_role, + organizational_project, + person_and_organization, + person_and_organization_role, + property_definition_representation, + representation ); + END_TYPE; + + TYPE descriptive_measure = STRING; + END_TYPE; + + TYPE detailed_report_type = ENUMERATION OF + ( measured_element, + inferior_quality_element ); + END_TYPE; + + TYPE dimension_count = INTEGER; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE dimension_extent_usage = ENUMERATION OF + ( origin, + target ); + END_TYPE; + + TYPE dimensional_characteristic = SELECT + ( dimensional_location, + dimensional_size ); + END_TYPE; + + TYPE direction_count_select = SELECT + ( u_direction_count, + v_direction_count ); + END_TYPE; + + TYPE document_identifier_assigned_item = SELECT + ( document ); + END_TYPE; + + TYPE document_reference_item = SELECT + ( action_directive, + action_method, + action_relationship, + analytical_model_definition, + applied_action_assignment, + applied_external_identification_assignment, + approval, + assembly_component, + assembly_component_usage, + certification, + characterized_class, + characterized_object, + class, + class_system, + component_feature, + configuration_design, + configuration_item, + contract, + descriptive_representation_item, + dimensional_size, + executed_action, + externally_conditioned_data_quality_criterion, + externally_defined_dimension_definition, + externally_defined_item, + feature_definition, + general_property, + group, + group_relationship, + information_right, + information_usage_right, + inter_stratum_feature, + material_designation, + measure_representation_item, + model_parameter, + organization, + organizational_project, + package_terminal, + passage_technology, + person, + physical_connectivity_definition, + physical_connectivity_element, + predefined_requirement_view_definition, + presentation_area, + process_plan, + product, + product_category, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_process, + product_definition_relationship, + product_definition_substitute, + product_related_product_category, + property_definition, + protocol_physical_layer_definition, + representation, + representation_item, + resource_requirement_type, + retention, + rule_set, + security_classification, + shape_aspect, + shape_aspect_relationship, + stratum, + stratum_feature, + stratum_surface, + stratum_technology, + structured_layout_component, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE dose_equivalent_measure = REAL; + END_TYPE; + + TYPE draughting_callout_element = SELECT + ( annotation_curve_occurrence, + annotation_fill_area_occurrence, + annotation_symbol_occurrence, + annotation_text_occurrence, + tessellated_annotation_occurrence ); + END_TYPE; + + TYPE draughting_model_item_association_select = SELECT + ( annotation_occurrence, + draughting_callout ); + END_TYPE; + + TYPE draughting_model_item_definition = SELECT + ( applied_action_assignment, + applied_action_method_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_classification_assignment, + applied_contract_assignment, + applied_date_and_time_assignment, + applied_date_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_group_assignment, + applied_identification_assignment, + applied_ineffectivity_assignment, + applied_name_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + applied_time_interval_assignment, + applied_usage_right, + dimensional_size, + geometric_tolerance, + product_definition_relationship, + product_definition_shape, + property_definition, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE draughting_model_item_select = SELECT + ( mapped_item, + styled_item, + axis2_placement, + camera_model, + draughting_callout ); + END_TYPE; + + TYPE draughting_subfigure_representation_item = SELECT + ( annotation_occurrence, + draughting_callout, + axis2_placement ); + END_TYPE; + + TYPE draughting_symbol_representation_item = SELECT + ( annotation_curve_occurrence, + annotation_symbol_occurrence, + annotation_fill_area_occurrence, + annotation_text_occurrence, + axis2_placement ); + END_TYPE; + + TYPE draughting_titled_item = SELECT + ( drawing_revision, + drawing_sheet_revision ); + END_TYPE; + + TYPE edge_or_curve = SELECT + ( curve, + edge ); + END_TYPE; + + TYPE effectivity_item = SELECT + ( action, + action_method, + action_method_relationship, + action_property, + action_relationship, + assembly_component_usage_substitute, + class, + class_system, + configuration_design, + configuration_item, + configured_effectivity_assignment, + document_file, + draughting_model, + drawing_revision, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification, + shape_aspect, + shape_representation ); + END_TYPE; + + TYPE electric_charge_measure = REAL; + END_TYPE; + + TYPE electric_current_measure = REAL; + END_TYPE; + + TYPE electric_potential_measure = REAL; + END_TYPE; + + TYPE elementary_function_enumerators = ENUMERATION OF + ( ef_and, + ef_or, + ef_not, + ef_xor, + ef_negate_i, + ef_add_i, + ef_subtract_i, + ef_multiply_i, + ef_divide_i, + ef_mod_i, + ef_exponentiate_i, + ef_eq_i, + ef_ne_i, + ef_gt_i, + ef_lt_i, + ef_ge_i, + ef_le_i, + ef_abs_i, + ef_max_i, + ef_min_i, + ef_if_i, + ef_negate_r, + ef_reciprocal_r, + ef_add_r, + ef_subtract_r, + ef_multiply_r, + ef_divide_r, + ef_mod_r, + ef_exponentiate_r, + ef_exponentiate_ri, + ef_eq_r, + ef_ne_r, + ef_gt_r, + ef_lt_r, + ef_ge_r, + ef_le_r, + ef_abs_r, + ef_max_r, + ef_min_r, + ef_acos_r, + ef_asin_r, + ef_atan2_r, + ef_cos_r, + ef_exp_r, + ef_ln_r, + ef_log2_r, + ef_log10_r, + ef_sin_r, + ef_sqrt_r, + ef_tan_r, + ef_if_r, + ef_form_c, + ef_rpart_c, + ef_ipart_c, + ef_negate_c, + ef_reciprocal_c, + ef_add_c, + ef_subtract_c, + ef_multiply_c, + ef_divide_c, + ef_exponentiate_c, + ef_exponentiate_ci, + ef_eq_c, + ef_ne_c, + ef_conjugate_c, + ef_abs_c, + ef_arg_c, + ef_cos_c, + ef_exp_c, + ef_ln_c, + ef_sin_c, + ef_sqrt_c, + ef_tan_c, + ef_if_c, + ef_subscript_s, + ef_eq_s, + ef_ne_s, + ef_gt_s, + ef_lt_s, + ef_ge_s, + ef_le_s, + ef_subsequence_s, + ef_concat_s, + ef_size_s, + ef_format, + ef_value, + ef_like, + ef_if_s, + ef_subscript_b, + ef_eq_b, + ef_ne_b, + ef_gt_b, + ef_lt_b, + ef_ge_b, + ef_le_b, + ef_subsequence_b, + ef_concat_b, + ef_size_b, + ef_if_b, + ef_subscript_t, + ef_eq_t, + ef_ne_t, + ef_concat_t, + ef_size_t, + ef_entuple, + ef_detuple, + ef_insert, + ef_remove, + ef_if_t, + ef_sum_it, + ef_product_it, + ef_add_it, + ef_subtract_it, + ef_scalar_mult_it, + ef_dot_prod_it, + ef_sum_rt, + ef_product_rt, + ef_add_rt, + ef_subtract_rt, + ef_scalar_mult_rt, + ef_dot_prod_rt, + ef_norm_rt, + ef_sum_ct, + ef_product_ct, + ef_add_ct, + ef_subtract_ct, + ef_scalar_mult_ct, + ef_dot_prod_ct, + ef_norm_ct, + ef_if, + ef_ensemble, + ef_member_of ); + END_TYPE; + + TYPE elementary_space_enumerators = ENUMERATION OF + ( es_numbers, + es_complex_numbers, + es_reals, + es_integers, + es_logicals, + es_booleans, + es_strings, + es_binarys, + es_maths_spaces, + es_maths_functions, + es_generics ); + END_TYPE; + + TYPE energy_measure = REAL; + END_TYPE; + + TYPE event_occurrence_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + draughting_model, + drawing_revision, + executed_action, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification_level, + shape_representation ); + END_TYPE; + + TYPE expression_extension_select = SELECT + ( expression_extension_string, + expression_extension_numeric ); + END_TYPE; + + TYPE extension_options = ENUMERATION OF + ( eo_none, + eo_cont, + eo_cont_right, + eo_cont_left ); + END_TYPE; + + TYPE external_identification_item = SELECT + ( action_relationship, + action_request_status, + applied_organization_assignment, + applied_person_and_organization_assignment, + approval, + approval_status, + assembly_bond_definition, + assembly_component, + composite_signal_property_relationship, + date_and_time_assignment, + date_assignment, + digital_analytical_model_vector_port, + document_file, + external_source, + externally_defined_class, + externally_defined_context_dependent_unit, + externally_defined_conversion_based_unit, + externally_defined_general_property, + externally_defined_physical_network_group, + externally_defined_physical_network_group_element_relationship, + externally_defined_picture_representation_item, + externally_defined_representation_item, + functional_specification, + generic_product_definition_reference, + land_physical_template, + organizational_address, + package, + package_terminal_template_definition, + printed_component, + product_definition, + property_definition, + security_classification, + shape_representation, + signal, + stratum, + stratum_feature_based_derived_pattern, + stratum_technology, + trimmed_curve, + versioned_action_request ); + END_TYPE; + + TYPE face_or_surface = SELECT + ( face, + surface ); + END_TYPE; + + TYPE fill_area_style_tile_shape_select = SELECT + ( fill_area_style_tile_curve_with_style, + fill_area_style_tile_coloured_region, + fill_area_style_tile_symbol_with_style, + pre_defined_tile, + externally_defined_tile ); + END_TYPE; + + TYPE fill_style_select = SELECT + ( fill_area_style_colour, + externally_defined_tile_style, + fill_area_style_tiles, + externally_defined_hatch_style, + fill_area_style_hatching ); + END_TYPE; + + TYPE font_select = SELECT + ( pre_defined_text_font, + externally_defined_text_font, + text_font ); + END_TYPE; + + TYPE force_measure = REAL; + END_TYPE; + + TYPE founded_item_select = SELECT + ( founded_item, + representation_item ); + END_TYPE; + + TYPE frequency_measure = REAL; + END_TYPE; + + TYPE generalized_surface_select = SELECT + ( surface, + face_surface, + surfaced_open_shell ); + END_TYPE; + + TYPE geometric_constraint_element = SELECT + ( point, + curve, + surface, + vector, + direction ); + END_TYPE; + + TYPE geometric_item_specific_usage_select = SELECT + ( shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE geometric_model_item = SELECT + ( connected_face_set, + edge_loop, + geometric_representation_item ); + END_TYPE; + + TYPE geometric_set_select = SELECT + ( curve, + point, + surface ); + END_TYPE; + + TYPE geometric_tolerance_modifier = ENUMERATION OF + ( any_cross_section, + common_zone, + each_radial_element, + free_state, + least_material_requirement, + line_element, + major_diameter, + maximum_material_requirement, + minor_diameter, + not_convex, + pitch_diameter, + reciprocity_requirement, + separate_requirement, + statistical_tolerance, + tangent_plane ); + END_TYPE; + + TYPE geometric_tolerance_target = SELECT + ( dimensional_location, + dimensional_size, + product_definition_shape, + shape_aspect ); + END_TYPE; + + TYPE groupable_item = SELECT + ( applied_identification_assignment, + applied_name_assignment, + assembly_component, + assembly_component_usage, + assembly_spacing_requirement, + component_feature, + component_functional_unit, + geometric_representation_item, + group_relationship, + group_shape_aspect, + layout_spacing_requirement, + mapped_item, + network_node_definition, + package_product_concept_feature, + part_connected_terminals_definition, + physical_connectivity_definition, + physical_network, + predefined_requirement_view_definition, + printed_part_template_terminal, + product_concept_feature, + product_definition, + product_definition_formation, + property_definition_representation, + representation, + representation_item, + representation_relationship_with_transformation, + shape_aspect, + shape_aspect_relationship, + shape_representation_relationship, + stratum, + styled_item, + topological_representation_item ); + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GROUP' IN TYPEOF( SELF ) ) ); + END_TYPE; + + TYPE hour_in_day = INTEGER; + WHERE + wr1: ( ( 0 <= SELF ) AND ( SELF < 24 ) ); + END_TYPE; + + TYPE id_attribute_select = SELECT + ( action, + address, + application_context, + dimensional_size, + geometric_tolerance, + group, + organizational_project, + product_category, + property_definition, + representation, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE identification_item = SELECT + ( action, + action_directive, + action_method, + action_property, + applied_identification_assignment, + approval_status, + characterized_class, + class, + class_system, + configuration_item, + contract, + dimensional_size, + document_file, + document_type, + draughting_model, + effectivity, + general_property, + group, + group_relationship, + information_right, + information_usage_right, + material_designation, + measure_representation_item, + mechanical_design_geometric_presentation_representation, + organization, + organizational_project, + person_and_organization, + presentation_area, + product, + product_category, + product_class, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_formation, + product_definition_relationship, + product_identification, + property_definition, + property_definition_relationship, + representation, + rule_set, + security_classification, + security_classification_level, + shape_aspect_relationship, + shape_representation, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE identifier = STRING; + END_TYPE; + + TYPE illuminance_measure = REAL; + END_TYPE; + + TYPE inductance_measure = REAL; + END_TYPE; + + TYPE input_selector = positive_integer; + END_TYPE; + + TYPE inspected_ecdq_element_select = inspected_element_select; + END_TYPE; + + TYPE inspected_element_select = SELECT + ( assembly_component_usage, + axis2_placement_3d, + b_spline_or_composite_curve_select, + b_spline_or_rectangular_composite_surface_select, + cartesian_transformation_operator_3d, + closed_or_open_shell_select, + connected_face_set, + curve, + direction, + edge_curve, + edge_loop, + face_surface, + global_uncertainty_assigned_context, + global_unit_assigned_context, + group, + manifold_solid_brep, + placement, + point, + presentation_layer_assignment, + representation_item, + styled_item, + surface, + vertex_point ); + END_TYPE; + + TYPE inspected_shape_element_select = inspected_element_select; + END_TYPE; + + TYPE instance_usage_context_select = SELECT + ( product_definition_relationship, + product_definition_usage ); + END_TYPE; + + TYPE internal_or_reflected_shape_aspect = SELECT + ( shape_aspect, + identifier ); + END_TYPE; + + TYPE interpolation_type = ENUMERATION OF + ( undefined_interpolation_type, + discontinuous_interpolation_type, + synchronous_interpolation_type, + linear_interpolation_type ); + END_TYPE; + + TYPE invisibility_context = SELECT + ( draughting_model, + presentation_representation, + presentation_set ); + END_TYPE; + + TYPE invisible_item = SELECT + ( draughting_callout, + presentation_layer_assignment, + representation, + styled_item ); + END_TYPE; + + TYPE ir_usage_item = action_items; + END_TYPE; + + TYPE item_identified_representation_usage_definition = SELECT + ( applied_action_assignment, + applied_action_method_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_classification_assignment, + applied_contract_assignment, + applied_date_and_time_assignment, + applied_date_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_group_assignment, + applied_identification_assignment, + applied_ineffectivity_assignment, + applied_name_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + applied_time_interval_assignment, + applied_usage_right, + dimensional_size, + general_property, + geometric_tolerance, + product_definition_relationship, + property_definition, + property_definition_relationship, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE item_identified_representation_usage_select = SELECT + ( representation_item, + list_representation_item, + set_representation_item ); + END_TYPE; + + TYPE kinematic_analysis_definition = SELECT + ( interpolated_configuration_sequence, + prescribed_path ); + END_TYPE; + + TYPE kinematic_link_representation_items = SELECT + ( curve, + point, + rigid_placement, + surface ); + END_TYPE; + + TYPE kinematic_result = SELECT + ( interpolated_configuration_sequence, + resulting_path ); + END_TYPE; + + TYPE kinematic_topology_representation_select = SELECT + ( kinematic_topology_structure, + kinematic_topology_directed_structure, + kinematic_topology_network_structure ); + END_TYPE; + + TYPE knot_type = ENUMERATION OF + ( uniform_knots, + quasi_uniform_knots, + piecewise_bezier_knots, + unspecified ); + END_TYPE; + + TYPE label = STRING; + END_TYPE; + + TYPE layered_item = SELECT + ( presentation_representation, + representation_item ); + END_TYPE; + + TYPE length_measure = REAL; + END_TYPE; + + TYPE limit_condition = ENUMERATION OF + ( maximum_material_condition, + least_material_condition, + regardless_of_feature_size ); + END_TYPE; + + TYPE linear_geometry_constraint_element = SELECT + ( line, + plane, + direction, + vector ); + END_TYPE; + + TYPE link_or_shape_representation = SELECT + ( kinematic_link_representation, + shape_representation ); + END_TYPE; + + TYPE list_of_reversible_topology_item = LIST [0 : ?] OF reversible_topology_item; + END_TYPE; + + TYPE list_representation_item = LIST [1 : ?] OF representation_item; + END_TYPE; + + TYPE location_in_aggregate_item = LIST [1 : ?] OF integer_representation_item; + END_TYPE; + + TYPE location_of_extreme_value_select = SELECT + ( inspected_shape_element_select, + b_spline_surface_knot_locator, + b_spline_curve_knot_locator, + b_spline_curve_segment, + b_spline_surface_strip, + b_spline_surface_patch, + composite_curve_transition_locator, + rectangular_composite_surface_transition_locator, + boundary_curve_of_b_spline_or_rectangular_composite_surface, + oriented_edge, + face_bound, + point_on_edge_curve, + point_on_face_surface, + subedge, + subface ); + END_TYPE; + + TYPE luminous_flux_measure = REAL; + END_TYPE; + + TYPE luminous_intensity_measure = REAL; + END_TYPE; + +TYPE machining_feature_definition = SELECT ( + boss, + compound_feature, + externally_defined_feature_definition, + flat_face, + gear, + marking, + outer_round, + outside_profile, + pocket, + protrusion, + removal_volume, + replicate_feature, + revolved_profile, + rib_top, + round_hole, + rounded_end, + spherical_cap, + step, + slot, + thread, + turned_knurl); +END_TYPE; + + TYPE magnetic_flux_density_measure = REAL; + END_TYPE; + + TYPE magnetic_flux_measure = REAL; + END_TYPE; + + TYPE marker_select = SELECT + ( marker_type, + pre_defined_marker ); + END_TYPE; + + TYPE marker_type = ENUMERATION OF + ( dot, + x, + plus, + asterisk, + ring, + square, + triangle ); + END_TYPE; + + TYPE mass_measure = REAL; + END_TYPE; + + TYPE maths_atom = SELECT + ( maths_simple_atom, + maths_enum_atom ); + END_TYPE; + + TYPE maths_binary = BINARY; + END_TYPE; + + TYPE maths_boolean = BOOLEAN; + END_TYPE; + + TYPE maths_enum_atom = SELECT + ( elementary_space_enumerators, + ordering_type, + elementary_function_enumerators, + open_closed, + space_constraint_type, + repackage_options, + extension_options ); + END_TYPE; + + TYPE maths_expression = SELECT + ( atom_based_value, + maths_tuple, + generic_expression ); + END_TYPE; + + TYPE maths_function_select = SELECT + ( maths_function, + elementary_function_enumerators ); + END_TYPE; + + TYPE maths_integer = INTEGER; + END_TYPE; + + TYPE maths_logical = LOGICAL; + END_TYPE; + + TYPE maths_number = NUMBER; + END_TYPE; + + TYPE maths_real = REAL; + END_TYPE; + + TYPE maths_simple_atom = SELECT + ( maths_number, + maths_real, + maths_integer, + maths_logical, + maths_boolean, + maths_string, + maths_binary ); + END_TYPE; + + TYPE maths_space_or_function = SELECT + ( maths_space, + maths_function ); + END_TYPE; + + TYPE maths_string = STRING; + END_TYPE; + + TYPE maths_tuple = LIST [0 : ?] OF maths_value; + END_TYPE; + + TYPE maths_value = SELECT + ( atom_based_value, + maths_tuple, + generic_expression ); + WHERE + constancy: ( ( NOT ( 'GENERIC_EXPRESSION' IN stripped_typeof( SELF ) ) ) OR expression_is_constant( SELF ) ); + END_TYPE; + + TYPE measure_value = SELECT + ( absorbed_dose_measure, + dose_equivalent_measure, + radioactivity_measure, + acceleration_measure, + amount_of_substance_measure, + area_measure, + celsius_temperature_measure, + context_dependent_measure, + count_measure, + descriptive_measure, + capacitance_measure, + electric_charge_measure, + conductance_measure, + electric_current_measure, + electric_potential_measure, + energy_measure, + magnetic_flux_density_measure, + force_measure, + frequency_measure, + illuminance_measure, + inductance_measure, + length_measure, + luminous_flux_measure, + luminous_intensity_measure, + magnetic_flux_measure, + mass_measure, + numeric_measure, + non_negative_length_measure, + parameter_value, + plane_angle_measure, + positive_length_measure, + positive_plane_angle_measure, + positive_ratio_measure, + power_measure, + pressure_measure, + ratio_measure, + resistance_measure, + solid_angle_measure, + thermodynamic_temperature_measure, + time_measure, + velocity_measure, + volume_measure ); + END_TYPE; + + TYPE measured_value_select = SELECT + ( boolean_value, + measure_value, + plane_angle_and_ratio_pair, + plane_angle_and_length_pair ); + END_TYPE; + + TYPE mechanical_design_and_draughting_relationship_select = SELECT + ( draughting_model, + mechanical_design_geometric_presentation_representation, + mechanical_design_presentation_representation_with_draughting, + mechanical_design_shaded_presentation_representation, + shape_representation ); + END_TYPE; + + TYPE mechanical_design_geometric_presentation_area_items = SELECT + ( axis2_placement, + mapped_item ); + END_TYPE; + + TYPE mechanical_design_geometric_presentation_representation_items = SELECT + ( axis2_placement, + camera_model_d3, + mapped_item, + styled_item ); + END_TYPE; + + TYPE mechanical_design_shaded_presentation_area_items = SELECT + ( axis2_placement, + mapped_item ); + END_TYPE; + + TYPE mechanical_design_shaded_presentation_representation_items = SELECT + ( axis2_placement, + camera_model_d3, + mapped_item, + styled_item ); + END_TYPE; + + TYPE message = STRING; + END_TYPE; + + TYPE minute_in_hour = INTEGER; + WHERE + wr1: ( ( 0 <= SELF ) AND ( SELF <= 59 ) ); + END_TYPE; + + TYPE month_in_year_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 12 ) ); + END_TYPE; + + TYPE multi_language_attribute_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + actuated_kinematic_pair, + alternate_product_relationship, + application_context, + applied_certification_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organizational_project_assignment, + approval, + approval_relationship, + approval_status, + assembly_component_usage_substitute, + attribute_value_assignment, + certification, + certification_type, + colour, + configuration_design, + configuration_item, + contract, + data_environment, + date_role, + date_time_role, + descriptive_representation_item, + document_relationship, + document_usage_role, + draughting_title, + effectivity, + effectivity_relationship, + event_occurrence, + external_source, + general_property, + general_property_relationship, + geometric_representation_item, + geometric_tolerance, + group, + group_relationship, + identification_role, + information_right, + information_usage_right, + kinematic_pair, + make_from_usage_option, + mapped_item, + name_assignment, + object_role, + organization_relationship, + organization_role, + organizational_project, + organizational_project_relationship, + organizational_project_role, + person_and_organization, + person_and_organization_role, + presentation_layer_assignment, + process_product_association, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_relationship, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_shape, + product_definition_substitute, + product_related_product_category, + property_definition, + property_definition_relationship, + representation, + representation_relationship, + requirement_for_action_resource, + resource_property, + resource_requirement_type, + security_classification, + security_classification_assignment, + shape_aspect, + shape_aspect_relationship, + shape_representation, + styled_item, + time_interval_role, + topological_representation_item, + uncertainty_measure_with_unit, + uncertainty_qualifier, + usage_association, + versioned_action_request, + versioned_action_request_relationship ); + END_TYPE; + + TYPE multi_or_next_assembly_usage_occurrence = SELECT + ( multi_level_reference_designator, + next_assembly_usage_occurrence ); + END_TYPE; + + TYPE name_attribute_select = SELECT + ( action_request_solution, + address, + configuration_design, + context_dependent_shape_representation, + derived_unit, + effectivity, + person_and_organization, + product_definition, + product_definition_substitute, + property_definition_representation ); + END_TYPE; + + TYPE name_item = SELECT + ( assembly_component_usage, + external_class_library, + group, + group_relationship, + product, + product_definition ); + END_TYPE; + + TYPE non_negative_length_measure = length_measure; + WHERE + wr1: ( SELF >= 0 ); + END_TYPE; + + TYPE nonnegative_integer = INTEGER; + WHERE + nonnegativity: ( SELF >= 0 ); + END_TYPE; + + TYPE null_style = ENUMERATION OF + ( null ); + END_TYPE; + + TYPE numeric_measure = NUMBER; + END_TYPE; + + TYPE one_or_two = positive_integer; + WHERE + in_range: ( ( SELF = 1 ) OR ( SELF = 2 ) ); + END_TYPE; + + TYPE open_closed = ENUMERATION OF + ( open, + closed ); + END_TYPE; + + TYPE ordering_type = ENUMERATION OF + ( by_rows, + by_columns ); + END_TYPE; + + TYPE organization_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + document_file, + document_type, + draughting_model, + drawing_revision, + effectivity, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + representation, + requirement_for_action_resource, + resource_property, + rule_action, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE orientation_basis_select = SELECT + ( axis2_placement_3d, + min_and_major_ply_orientation_basis ); + END_TYPE; + + TYPE parallel_offset_type = ENUMERATION OF + ( curve_2d_offset, + curve_3d_offset, + surface_offset ); + END_TYPE; + + TYPE parameter_assignment_select = SELECT + ( analytical_model_parameter, + model_parameter ); + END_TYPE; + + TYPE parameter_value = REAL; + END_TYPE; + + TYPE path_or_composite_curve = SELECT + ( composite_curve, + path ); + END_TYPE; + + TYPE pcurve_or_surface = SELECT + ( pcurve, + surface ); + END_TYPE; + + TYPE person_and_organization_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + document_file, + document_type, + draughting_model, + drawing_revision, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + rule_action, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE person_organization_select = SELECT + ( person, + organization, + person_and_organization ); + END_TYPE; + + TYPE picture_representation_item_select = SELECT + ( styled_item, + planar_box, + axis2_placement_2d ); + END_TYPE; + + TYPE planar_curve_select = SELECT + ( line, + conic, + trimmed_curve, + pcurve, + surface_curve ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + wr2: check_curve_planarity( SELF ); + END_TYPE; + + TYPE plane_angle_measure = REAL; + END_TYPE; + + TYPE plane_or_planar_box = SELECT + ( plane, + planar_box ); + END_TYPE; + + TYPE point_and_vector_member = SELECT + ( point, + direction ); + END_TYPE; + + TYPE point_and_vector_members = LIST [2 : 3] OF point_and_vector_member; + END_TYPE; + + TYPE point_curve_or_surface_constraint_element = SELECT + ( point, + curve, + surface ); + END_TYPE; + + TYPE point_path_members = LIST [1 : ?] OF point_and_vector; + END_TYPE; + + TYPE point_placement_shape_representation_item = SELECT + ( compound_representation_item, + mapped_item, + axis2_placement_3d ); + END_TYPE; + + TYPE positive_integer = nonnegative_integer; + WHERE + positivity: ( SELF > 0 ); + END_TYPE; + + TYPE positive_length_measure = non_negative_length_measure; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE positive_plane_angle_measure = plane_angle_measure; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE positive_ratio_measure = ratio_measure; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE power_measure = REAL; + END_TYPE; + + TYPE preferred_ordering = ENUMERATION OF + ( extremity_order, + detected_order ); + END_TYPE; + + TYPE preferred_surface_curve_representation = ENUMERATION OF + ( curve_3d, + pcurve_s1, + pcurve_s2 ); + END_TYPE; + + TYPE presentable_text = STRING; + WHERE + wr1: control_characters_free( SELF ); + END_TYPE; + + TYPE presentation_representation_select = SELECT + ( presentation_representation, + presentation_set ); + END_TYPE; + + TYPE presentation_size_assignment_select = SELECT + ( presentation_view, + presentation_area, + area_in_set ); + END_TYPE; + + TYPE presentation_style_select = SELECT + ( point_style, + curve_style, + surface_style_usage, + symbol_style, + fill_area_style, + text_style, + externally_defined_style, + null_style ); + END_TYPE; + + TYPE presented_item_select = SELECT + ( action, + action_method, + action_relationship, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_formation, + product_definition_relationship ); + END_TYPE; + + TYPE pressure_measure = REAL; + END_TYPE; + + TYPE previous_element_assignment_select = SELECT + ( modify_element, + delete_element ); + END_TYPE; + + TYPE product_definition_or_assembly_relationship = SELECT + ( assembly_component_usage, + product_definition ); + END_TYPE; + + TYPE product_definition_or_breakdown_element_usage = SELECT + ( product_definition, + product_definition_usage ); + END_TYPE; + + TYPE product_definition_or_product_definition_relationship = SELECT + ( product_definition, + product_definition_usage ); + END_TYPE; + + TYPE product_definition_or_reference = SELECT + ( product_definition, + generic_product_definition_reference ); + END_TYPE; + + TYPE product_or_formation_or_definition = SELECT + ( product, + product_definition_formation, + product_definition ); + END_TYPE; + + TYPE product_space = SELECT + ( uniform_product_space, + listed_product_space ); + END_TYPE; + + TYPE project_item = SELECT + ( assembly_component_usage, + configuration_item, + executed_action, + product, + product_concept, + product_definition, + product_definition_formation ); + END_TYPE; + + TYPE property_or_shape_select = SELECT + ( property_definition, + shape_definition ); + END_TYPE; + + TYPE property_variable_rep_select = SELECT + ( dimensional_size, + representation ); + END_TYPE; + + TYPE radial_geometry_constraint_element = SELECT + ( circle, + cylindrical_surface, + conical_surface, + spherical_surface, + right_circular_cylinder, + right_circular_cone, + sphere ); + END_TYPE; + + TYPE radioactivity_measure = REAL; + END_TYPE; + + TYPE ratio_measure = REAL; + END_TYPE; + + TYPE real_interval = SELECT + ( real_interval_from_min, + real_interval_to_max, + finite_real_interval, + elementary_space ); + WHERE + wr1: ( ( NOT ( 'ELEMENTARY_SPACE' IN stripped_typeof( SELF ) ) ) OR ( SELF\elementary_space.space_id = es_reals ) ); + END_TYPE; + + TYPE rendering_properties_select = SELECT + ( surface_style_reflectance_ambient, + surface_style_transparent ); + END_TYPE; + + TYPE repackage_options = ENUMERATION OF + ( ro_nochange, + ro_wrap_as_tuple, + ro_unwrap_tuple ); + END_TYPE; + + TYPE represented_definition = SELECT + ( general_property, + property_definition, + property_definition_relationship, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE requirement_assigned_item = SELECT + ( assembly_component_usage, + assembly_item_number, + assembly_joint, + component_functional_unit, + component_material_relationship, + configuration_item, + derived_laminate_assignment, + descriptive_representation_item, + dielectric_crossover_area, + group, + group_product_definition, + group_relationship, + group_shape_aspect, + layered_interconnect_module_design_view, + part_connected_terminals_definition, + part_connected_terminals_element, + passage_technology, + physical_connectivity_definition, + predefined_requirement_view_definition, + product, + product_class, + product_definition, + product_definition_formation, + product_definition_relationship, + representation, + shape_aspect, + shape_aspect_relationship, + shape_representation, + stratum_feature_conductive_join, + stratum_technology, + stratum_technology_occurrence, + stratum_technology_occurrence_relationship, + structured_template, + thermal_isolation_removal_template ); + END_TYPE; + + TYPE requirement_satisfaction_item = SELECT + ( requirement_assigned_item ); + END_TYPE; + + TYPE requirement_source_item = SELECT + ( characterized_object, + group, + group_relationship, + product, + product_definition, + product_definition_formation, + product_definition_relationship, + shape_aspect ); + END_TYPE; + + TYPE resistance_measure = REAL; + END_TYPE; + + TYPE reversible_topology = SELECT + ( reversible_topology_item, + list_of_reversible_topology_item, + set_of_reversible_topology_item ); + END_TYPE; + + TYPE reversible_topology_item = SELECT + ( edge, + path, + face, + face_bound, + closed_shell, + open_shell ); + END_TYPE; + + TYPE rigid_placement = SELECT + ( axis2_placement_3d, + su_parameters ); + END_TYPE; + + TYPE role_select = SELECT + ( action_assignment, + action_request_assignment, + approval_assignment, + approval_date_time, + certification_assignment, + contract_assignment, + document_reference, + effectivity_assignment, + group_assignment, + name_assignment, + security_classification_assignment ); + END_TYPE; + + TYPE rule_superseded_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE second_in_minute = REAL; + WHERE + wr1: ( ( 0 <= SELF ) AND ( SELF < 60 ) ); + END_TYPE; + + TYPE security_classification_item = SELECT + ( action, + action_directive, + action_property, + applied_action_assignment, + assembly_component_usage, + assembly_component_usage_substitute, + class_system, + configuration_design, + configuration_effectivity, + configured_effectivity_assignment, + document, + document_file, + draughting_model, + drawing_revision, + executed_action, + general_property, + make_from_usage_option, + material_designation, + mechanical_design_geometric_presentation_representation, + organizational_project, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_formation, + product_definition_relationship, + product_definition_usage, + property_definition, + resource_property, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE set_inner_area_boundary = SET [1 : ?] OF bounded_primitive_2d; + END_TYPE; + + TYPE set_of_reversible_topology_item = SET [0 : ?] OF reversible_topology_item; + END_TYPE; + + TYPE set_representation_item = SET [1 : ?] OF representation_item; + END_TYPE; + + TYPE shading_curve_method = ENUMERATION OF + ( constant_colour, + linear_colour ); + END_TYPE; + + TYPE shading_surface_method = ENUMERATION OF + ( constant_shading, + colour_shading, + dot_shading, + normal_shading ); + END_TYPE; + + TYPE shape_data_quality_assessment_specification_select = SELECT + ( shape_data_quality_assessment_by_logical_test, + shape_data_quality_assessment_by_numerical_test ); + END_TYPE; + + TYPE shape_data_quality_value_limit_type_select = SELECT + ( shape_data_quality_value_range, + shape_data_quality_value_limit ); + END_TYPE; + + TYPE shape_definition = SELECT + ( product_definition_shape, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE shape_dimension_representation_item = SELECT + ( compound_representation_item, + descriptive_representation_item, + measure_representation_item, + placement ); + END_TYPE; + + TYPE shape_model = SELECT + ( constructive_geometry_representation, + shape_representation ); + END_TYPE; + + TYPE shape_representation_item = SELECT + ( geometric_representation_item, + topological_representation_item ); + END_TYPE; + + TYPE shape_representation_with_parameters_items = SELECT + ( descriptive_representation_item, + direction, + measure_representation_item, + placement ); + END_TYPE; + + TYPE shell = SELECT + ( vertex_shell, + wire_shell, + open_shell, + closed_shell ); + END_TYPE; + + TYPE si_prefix = ENUMERATION OF + ( exa, + peta, + tera, + giga, + mega, + kilo, + hecto, + deca, + deci, + centi, + milli, + micro, + nano, + pico, + femto, + atto ); + END_TYPE; + + TYPE si_unit_name = ENUMERATION OF + ( metre, + gram, + second, + ampere, + kelvin, + mole, + candela, + radian, + steradian, + hertz, + newton, + pascal, + joule, + watt, + coulomb, + volt, + farad, + ohm, + siemens, + weber, + tesla, + henry, + degree_celsius, + lumen, + lux, + becquerel, + gray, + sievert ); + END_TYPE; + + TYPE simple_datum_reference_modifier = ENUMERATION OF + ( any_cross_section, + any_longitudinal_section, + basic, + contacting_feature, + degree_of_freedom_constraint_u, + degree_of_freedom_constraint_v, + degree_of_freedom_constraint_w, + degree_of_freedom_constraint_x, + degree_of_freedom_constraint_y, + degree_of_freedom_constraint_z, + distance_variable, + free_state, + least_material_requirement, + line, + major_diameter, + maximum_material_requirement, + minor_diameter, + orientation, + pitch_diameter, + plane, + point, + translation ); + END_TYPE; + + TYPE size_select = SELECT + ( positive_length_measure, + measure_with_unit, + descriptive_measure ); + END_TYPE; + + TYPE sketch_basis_select = SELECT + ( planar_curve_select, + curve_bounded_surface, + face_surface ); + END_TYPE; + + TYPE sketch_element_select = SELECT + ( curve, + point ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_TYPE; + + TYPE sketch_type_select = SELECT + ( neutral_sketch_representation, + positioned_sketch, + subsketch ); + END_TYPE; + + TYPE solid_angle_measure = REAL; + END_TYPE; + + TYPE source = ENUMERATION OF + ( made, + bought, + not_known ); + END_TYPE; + + TYPE source_item = SELECT + ( identifier, + message ); + END_TYPE; + + TYPE space_constraint_type = ENUMERATION OF + ( sc_equal, + sc_subspace, + sc_member ); + END_TYPE; + + TYPE spatial_rotation = SELECT + ( ypr_rotation, + rotation_about_direction ); + END_TYPE; + + TYPE spherical_pair_select = SELECT + ( spherical_pair, + spherical_pair_with_pin ); + END_TYPE; + + TYPE start_request_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE statistical_value_type = ENUMERATION OF + ( number_of_inspected_instances, + number_of_quality_defects_detected ); + END_TYPE; + + TYPE string_representation_item_select = SELECT + ( descriptive_representation_item, + included_text_block, + structured_text_composition ); + END_TYPE; + + TYPE style_context_select = SELECT + ( group, + presentation_layer_assignment, + presentation_set, + representation, + representation_item, + representation_relationship ); + END_TYPE; + + TYPE styled_item_target = SELECT + ( geometric_representation_item, + mapped_item, + representation, + topological_representation_item ); + END_TYPE; + + TYPE summary_report_type = ENUMERATION OF + ( unspecified, + conclusion_only, + number_of_quality_defects, + number_of_inspections_and_conclusion, + full_statistics ); + END_TYPE; + + TYPE supported_item = SELECT + ( action_directive, + action, + action_method ); + END_TYPE; + + TYPE surface_boundary_type = ENUMERATION OF + ( u_parameter_min, + v_parameter_min, + u_parameter_max, + v_parameter_max ); + END_TYPE; + + TYPE surface_model = SELECT + ( face_based_surface_model, + shell_based_surface_model ); + END_TYPE; + + TYPE surface_or_solid_model = SELECT + ( surface_model, + solid_model ); + END_TYPE; + + TYPE surface_side = ENUMERATION OF + ( positive, + negative, + both ); + END_TYPE; + + TYPE surface_side_style_select = SELECT + ( surface_side_style, + pre_defined_surface_side_style ); + END_TYPE; + + TYPE surface_style_element_select = SELECT + ( surface_style_fill_area, + surface_style_boundary, + surface_style_silhouette, + surface_style_segmentation_curve, + surface_style_control_grid, + surface_style_parameter_line, + surface_style_rendering ); + END_TYPE; + + TYPE swept_surface_or_solid = SELECT + ( swept_surface, + swept_face_solid, + swept_area_solid ); + END_TYPE; + + TYPE symbol_style_select = SELECT + ( symbol_colour ); + END_TYPE; + + TYPE tangent_contact_type = ENUMERATION OF + ( point_contact, + curve_contact, + surface_contact ); + END_TYPE; + + TYPE tessellated_edge_or_vertex = SELECT + ( tessellated_edge, + tessellated_vertex ); + END_TYPE; + + TYPE text = STRING; + END_TYPE; + + TYPE text_alignment = label; + END_TYPE; + + TYPE text_delineation = label; + END_TYPE; + + TYPE text_or_character = SELECT + ( annotation_text, + annotation_text_character, + defined_character_glyph, + composite_text, + text_literal ); + END_TYPE; + + TYPE text_path = ENUMERATION OF + ( left, + right, + up, + down ); + END_TYPE; + + TYPE text_string_representation_item = SELECT + ( text_literal, + annotation_text, + annotation_text_character, + defined_character_glyph, + composite_text, + axis2_placement ); + END_TYPE; + + TYPE thermodynamic_temperature_measure = REAL; + END_TYPE; + + TYPE time_interval_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_person_and_organization_assignment, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + document_file, + draughting_model, + drawing_revision, + executed_action, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification, + security_classification_level, + shape_representation, + time_interval_based_effectivity, + versioned_action_request ); + END_TYPE; + + TYPE time_measure = REAL; + END_TYPE; + + TYPE tolerance_method_definition = SELECT + ( limits_and_fits, + tolerance_value ); + END_TYPE; + + TYPE tolerance_zone_target = SELECT + ( dimensional_location, + dimensional_size, + geometric_tolerance, + general_datum_reference ); + END_TYPE; + + TYPE transformation = SELECT + ( item_defined_transformation, + functionally_defined_transformation ); + END_TYPE; + + TYPE transition_code = ENUMERATION OF + ( discontinuous, + continuous, + cont_same_gradient, + cont_same_gradient_same_curvature ); + END_TYPE; + + TYPE trim_condition_select = SELECT + ( length_measure, + plane_angle_measure, + generalized_surface_select, + solid_model ); + END_TYPE; + + TYPE trim_intent = ENUMERATION OF + ( blind, + offset, + through_all, + unspecified, + up_to_next ); + END_TYPE; + + TYPE trimming_preference = ENUMERATION OF + ( cartesian, + parameter, + unspecified ); + END_TYPE; + + TYPE trimming_select = SELECT + ( cartesian_point, + parameter_value ); + END_TYPE; + + TYPE tuple_space = SELECT + ( product_space, + extended_tuple_space ); + END_TYPE; + + TYPE u_direction_count = INTEGER; + WHERE + wr1: ( SELF > 1 ); + END_TYPE; + + TYPE u_or_v_parameter = ENUMERATION OF + ( u_parameter, + v_parameter ); + END_TYPE; + + TYPE unit = SELECT + ( derived_unit, + named_unit ); + END_TYPE; + + TYPE used_quality_representation_select = SELECT + ( data_quality_criteria_representation, + data_quality_inspection_result_representation ); + END_TYPE; + + TYPE v_direction_count = INTEGER; + WHERE + wr1: ( SELF > 1 ); + END_TYPE; + + TYPE value_format_type = identifier; + WHERE + wr1: ( LENGTH( SELF ) <= 80 ); + END_TYPE; + + TYPE value_qualifier = SELECT + ( precision_qualifier, + type_qualifier, + uncertainty_qualifier, + value_format_type_qualifier ); + END_TYPE; + + TYPE vector_or_direction = SELECT + ( direction, + vector ); + END_TYPE; + + TYPE velocity_measure = REAL; + END_TYPE; + + TYPE volume_measure = REAL; + END_TYPE; + + TYPE week_in_year_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 53 ) ); + END_TYPE; + + TYPE work_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE year_number = INTEGER; + WHERE + wr1: ( SELF > 1581 ); + END_TYPE; + + TYPE ypr_enumeration = ENUMERATION OF + ( yaw, + pitch, + roll ); + END_TYPE; + + TYPE ypr_rotation = ARRAY [ypr_index( yaw ) : ypr_index( roll )] OF plane_angle_measure; + END_TYPE; + + TYPE zero_or_one = nonnegative_integer; + WHERE + in_range: ( ( SELF = 0 ) OR ( SELF = 1 ) ); + END_TYPE; + +(* + The following seven ENTITYs have been added to address Bug 5057 for the + initial ed2 version until they can properly be added to the constituent modules. +*) + + ENTITY convex_hexahedron + SUBTYPE OF (faceted_primitive); + WHERE + WR1: SIZEOF(points) = 8; + WR2: above_plane(points[1], points[2], points[3], points[4]) = 0.0; + WR3: above_plane(points[5], points[8], points[7], points[6]) = 0.0; + WR4: above_plane(points[1], points[4], points[8], points[5]) = 0.0; + WR5: above_plane(points[4], points[3], points[7], points[8]) = 0.0; + WR6: above_plane(points[3], points[2], points[6], points[7]) = 0.0; + WR7: above_plane(points[1], points[5], points[6], points[2]) = 0.0; + WR8: same_side([points[1], points[2], points[3]], [points[5], points[6], points[7], points[8]]); + WR9: same_side([points[1], points[4], points[8]], [points[3], points[7], points[6], points[2]]); + WR10: same_side([points[1], points[2], points[5]], [points[3], points[7], points[8], points[4]]); + WR11: same_side([points[5], points[6], points[7]], [points[1], points[2], points[3], points[4]]); + WR12: same_side([points[3], points[7], points[6]], [points[1], points[4], points[8], points[5]]); + WR13: same_side([points[3], points[7], points[8]], [points[1], points[5], points[6], points[2]]); + END_ENTITY; + + ENTITY cyclide_segment_solid + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + radius1 : positive_length_measure; + radius2 : positive_length_measure; + cone_angle1 : plane_angle_measure; + cone_angle2 : plane_angle_measure; + turn_angle : plane_angle_measure; + END_ENTITY; + + ENTITY eccentric_cone + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + height : positive_length_measure; + x_offset : length_measure; + y_offset : length_measure; + ratio : REAL; + WHERE + WR1: ratio >= 0.0; + END_ENTITY; + + ENTITY ellipsoid + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + semi_axis_3 : positive_length_measure; + END_ENTITY; + + ENTITY faceted_primitive + SUPERTYPE OF (ONEOF (tetrahedron, + convex_hexahedron)) + SUBTYPE OF (geometric_representation_item); + points : LIST[4:?] OF UNIQUE cartesian_point; + WHERE + WR1: points[1].dim = 3; + END_ENTITY; + + ENTITY rectangular_pyramid + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + xlength : positive_length_measure; + ylength : positive_length_measure; + height : positive_length_measure; + END_ENTITY; + + ENTITY tetrahedron + SUBTYPE OF (faceted_primitive); + WHERE + WR1: SIZEOF(points) = 4; + WR2: above_plane(points[1], points[2], points[3], points[4]) <> 0.0; + END_ENTITY; + +(* End of added ENTITYs. JH 2014-05-22 *) + + ENTITY abrupt_change_of_surface_normal + SUBTYPE OF ( geometry_with_local_irregularity ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + small_vector_tolerance : length_measure; + test_point_distance_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_SURFACE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY abs_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY absorbed_dose_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABSORBED_DOSE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY absorbed_dose_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.gray ) ); + END_ENTITY; + + ENTITY abstract_variable + SUBTYPE OF ( property_definition, property_definition_representation, representation, representation_item ); + END_ENTITY; + + ENTITY abstracted_expression_function + SUBTYPE OF ( maths_function, quantifier_expression ); + DERIVE + SELF\quantifier_expression.variables : LIST [1 : ?] OF UNIQUE generic_variable := remove_first( SELF\ + multiple_arity_generic_expression.operands ); + expr : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + WHERE + wr1: ( SIZEOF( QUERY ( operand <* SELF\multiple_arity_generic_expression.operands | ( NOT has_values_space( operand ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY acceleration_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACCELERATION_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY acceleration_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 1, 0, -2, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY acos_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY across_port_variable + SUBTYPE OF ( port_variable ); + END_ENTITY; + + ENTITY action; + name : label; + description : OPTIONAL text; + chosen_method : action_method; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY action_assignment + ABSTRACT SUPERTYPE; + assigned_action : action; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ) <= 1 ); + END_ENTITY; + + ENTITY action_directive; + name : label; + description : OPTIONAL text; + analysis : text; + comment : text; + requests : SET [1 : ?] OF versioned_action_request; + END_ENTITY; + + ENTITY action_method; + name : label; + description : OPTIONAL text; + consequence : text; + purpose : text; + END_ENTITY; + + ENTITY action_method_assignment + ABSTRACT SUPERTYPE; + assigned_action_method : action_method; + role : action_method_role; + END_ENTITY; + + ENTITY action_method_relationship; + name : label; + description : OPTIONAL text; + relating_method : action_method; + related_method : action_method; + END_ENTITY; + + ENTITY action_method_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY action_property; + name : label; + description : text; + definition : characterized_action_definition; + END_ENTITY; + + ENTITY action_property_representation; + name : label; + description : text; + property : action_property; + representation : representation; + END_ENTITY; + + ENTITY action_relationship; + name : label; + description : OPTIONAL text; + relating_action : action; + related_action : action; + END_ENTITY; + + ENTITY action_request_assignment + ABSTRACT SUPERTYPE; + assigned_action_request : versioned_action_request; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ) <= 1 ); + END_ENTITY; + + ENTITY action_request_solution; + method : action_method; + request : versioned_action_request; + DERIVE + description : text := get_description_value( SELF ); + name : label := get_name_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY action_request_status; + status : label; + assigned_request : versioned_action_request; + END_ENTITY; + + ENTITY action_resource; + name : label; + description : OPTIONAL text; + usage : SET [1 : ?] OF supported_item; + kind : action_resource_type; + END_ENTITY; + + ENTITY action_resource_requirement; + name : label; + description : text; + kind : resource_requirement_type; + operations : SET [1 : ?] OF characterized_action_definition; + END_ENTITY; + + ENTITY action_resource_type; + name : label; + END_ENTITY; + + ENTITY action_status; + status : label; + assigned_action : executed_action; + END_ENTITY; + + ENTITY actuated_kinematic_pair + SUBTYPE OF ( kinematic_pair ); + t_x : OPTIONAL actuated_direction; + t_y : OPTIONAL actuated_direction; + t_z : OPTIONAL actuated_direction; + r_x : OPTIONAL actuated_direction; + r_y : OPTIONAL actuated_direction; + r_z : OPTIONAL actuated_direction; + END_ENTITY; + + ENTITY add_element + SUBTYPE OF ( change_element ); + END_ENTITY; + + ENTITY additive_laminate_text_component + SUBTYPE OF ( generic_laminate_text_component ); + END_ENTITY; + + ENTITY address; + internal_location : OPTIONAL label; + street_number : OPTIONAL label; + street : OPTIONAL label; + postal_box : OPTIONAL label; + town : OPTIONAL label; + region : OPTIONAL label; + postal_code : OPTIONAL label; + country : OPTIONAL label; + facsimile_number : OPTIONAL label; + telephone_number : OPTIONAL label; + electronic_mail_address : OPTIONAL label; + telex_number : OPTIONAL label; + DERIVE + name : label := get_name_value( SELF ); + url : identifier := get_id_value( SELF ); + WHERE + wr1: ( EXISTS( internal_location ) OR EXISTS( street_number ) OR EXISTS( street ) OR EXISTS( postal_box ) OR EXISTS( town ) + OR EXISTS( region ) OR EXISTS( postal_code ) OR EXISTS( country ) OR EXISTS( facsimile_number ) OR EXISTS( + telephone_number ) OR EXISTS( electronic_mail_address ) OR EXISTS( telex_number ) ); + END_ENTITY; + + ENTITY advanced_brep_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * + TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( + NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | + ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fcs ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( msb <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( msb\ + manifold_solid_brep.outer ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( brv <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'BREP_WITH_VOIDS' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* brv\brep_with_voids.voids | csh\ + oriented_closed_shell.orientation ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ADVANCED_BREP_SHAPE_REPRESENTATION' IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = + 0 ); + END_ENTITY; + + ENTITY advanced_face + SUBTYPE OF ( face_surface ); + WHERE + wr1 : ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' ] * TYPEOF( face_geometry ) ) + = 1 ); + wr2 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe\oriented_edge. + edge_element ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF( oe.edge_element\ + edge_curve.edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe\edge.edge_start ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( oe\edge. + edge_start\vertex_point.vertex_geometry ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe\edge.edge_end ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( oe\edge. + edge_end\vertex_point.vertex_geometry ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF( elp_fbnds.bound ) ) ) ) + = 0 ); + wr6 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF( face_geometry ) ) ) + OR ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF( face_geometry\ + swept_surface.swept_curve ) ) = 1 ) ); + wr7 : ( SIZEOF( QUERY ( vlp_fbnds <* QUERY ( bnds <* bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF( bnds.bound ) ) ) | + ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( vlp_fbnds\ + face_bound.bound\vertex_loop.loop_vertex ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( vlp_fbnds\ + face_bound.bound\vertex_loop.loop_vertex\vertex_point.vertex_geometry ) ) ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( bnd <* bounds | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' ] * TYPEOF( bnd.bound ) ) = 1 ) ) ) ) + = 0 ); + wr9 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( oe\oriented_edge. + edge_element\edge_curve.edge_geometry ) ) AND ( NOT ( SIZEOF( QUERY ( sc_ag <* oe.edge_element\edge_curve. + edge_geometry\surface_curve.associated_geometry | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( sc_ag ) ) ) ) ) = 0 ) ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr10: ( ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF( + face_geometry ) ) ) OR ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN + TYPEOF( face_geometry\swept_surface.swept_curve ) ) ) OR ( SIZEOF( face_geometry\swept_surface.swept_curve\ + polyline.points ) >= 3 ) ) AND ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( oe\oriented_edge. + edge_element\edge_curve.edge_geometry ) ) AND ( NOT ( SIZEOF( oe\oriented_edge.edge_element\edge_curve. + edge_geometry\polyline.points ) >= 3 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY agc_with_dimension + SUBTYPE OF ( angle_geometric_constraint ); + angle_value : plane_angle_measure; + END_ENTITY; + + ENTITY aggregate_connectivity_requirement + SUBTYPE OF ( applied_group_assignment, product_definition ); + END_ENTITY; + + ENTITY all_around_shape_aspect + SUBTYPE OF ( continuous_shape_aspect ); + END_ENTITY; + + ENTITY allocated_passage_minimum_annular_ring + SUBTYPE OF ( characterized_object ); + END_ENTITY; + + ENTITY altered_package_terminal + ABSTRACT SUPERTYPE OF ( + shape_formed_terminal + ANDOR + surface_prepped_terminal + ANDOR + length_trimmed_terminal ) + SUBTYPE OF ( package_terminal ); + END_ENTITY; + + ENTITY alternate_product_relationship; + name : label; + definition : OPTIONAL text; + alternate : product; + base : product; + basis : text; + UNIQUE + ur1 : alternate, base; + WHERE + wr1: ( alternate :<>: base ); + END_ENTITY; + + ENTITY amount_of_substance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AMOUNT_OF_SUBSTANCE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY amount_of_substance_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 1 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY analog_analytical_model_port + SUBTYPE OF ( analytical_model_port ); + END_ENTITY; + + ENTITY analytical_model_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY analytical_model_make_from_relationship + SUBTYPE OF ( product_definition_relationship ); + SELF\product_definition_relationship.relating_product_definition : analytical_model_definition; + SELF\product_definition_relationship.related_product_definition : analytical_model_definition; + UNIQUE + ur1 : SELF\product_definition_relationship.relating_product_definition, SELF\product_definition_relationship. + related_product_definition; + END_ENTITY; + + ENTITY analytical_model_parameter + SUBTYPE OF ( property_definition ); + END_ENTITY; + + ENTITY analytical_model_port + SUBTYPE OF ( property_definition, property_definition_representation, representation ); + DERIVE + SELF\property_definition_representation.definition : property_definition := SELF; + SELF\property_definition_representation.used_representation : representation := SELF; + END_ENTITY; + + ENTITY analytical_model_port_assignment + SUBTYPE OF ( property_definition_representation, representation_relationship ); + SELF\property_definition_representation.used_representation : analytical_model_port; + SELF\representation_relationship.rep_1 : analytical_representation; + DERIVE + SELF\representation_relationship.rep_2 : analytical_model_port := SELF\property_definition_representation. + used_representation; + END_ENTITY; + + ENTITY analytical_model_scalar_port + SUBTYPE OF ( analytical_model_vector_port ); + END_ENTITY; + + ENTITY analytical_model_vector_port + SUBTYPE OF ( analytical_model_port, compound_representation_item ); + END_ENTITY; + + ENTITY analytical_representation + SUBTYPE OF ( representation ); + UNIQUE + ur1 : SELF\representation.name; + END_ENTITY; + + ENTITY and_expression + SUBTYPE OF ( multiple_arity_boolean_expression ); + END_ENTITY; + + ENTITY angle_assembly_constraint_with_dimension + SUBTYPE OF ( binary_assembly_constraint, agc_with_dimension ); + END_ENTITY; + + ENTITY angle_direction_reference + SUBTYPE OF ( representation_item_relationship, geometric_representation_item ); + SELF\representation_item_relationship.relating_representation_item : orientation_basis_select; + SELF\representation_item_relationship.related_representation_item : angle_direction_reference_select; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_PATH' IN TYPEOF( + related_representation_item ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MIN_AND_MAJOR_PLY_ORIENTATION_BASIS' IN TYPEOF( relating_representation_item ) ) ) OR ( ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_PATH' IN TYPEOF( + related_representation_item ) ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' IN TYPEOF( relating_representation_item ) ) ) ); + END_ENTITY; + + ENTITY angle_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF linear_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF linear_geometry_constraint_element; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 1 ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND + ( SIZEOF( SELF\explicit_constraint.constrained_elements ) = 2 ) ) ); + END_ENTITY; + + ENTITY angular_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY angular_location + SUBTYPE OF ( dimensional_location ); + angle_selection : angle_relator; + END_ENTITY; + + ENTITY angular_size + SUBTYPE OF ( dimensional_size ); + angle_selection : angle_relator; + END_ENTITY; + + ENTITY angularity_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY annotation_curve_occurrence + SUPERTYPE OF ( + ONEOF ( + dimension_curve, + leader_curve, + projection_curve ) ) + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : curve_or_curve_set; + END_ENTITY; + + ENTITY annotation_fill_area + SUBTYPE OF ( geometric_representation_item ); + boundaries : SET [1 : ?] OF curve; + WHERE + wr1: ( ( SELF\geometric_representation_item.dim = 3 ) OR ( SIZEOF( QUERY ( curve <* SELF.boundaries | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' IN TYPEOF( curve ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE' IN TYPEOF( curve ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( curve ) ) AND ( + curve\b_spline_curve.closed_curve = TRUE ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( curve ) ) AND ( + curve\composite_curve.closed_curve = TRUE ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( curve ) ) AND ( curve\ + polyline.points[LOINDEX( curve\polyline.points )] = curve\polyline.points[HIINDEX( curve\polyline.points )] ) ) ) ) ) ) + = 0 ) ); + END_ENTITY; + + ENTITY annotation_fill_area_occurrence + SUBTYPE OF ( annotation_occurrence ); + fill_style_target : point; + SELF\styled_item.item : annotation_fill_area; + END_ENTITY; + + ENTITY annotation_occurrence + SUPERTYPE OF ( + ONEOF ( + annotation_curve_occurrence, + annotation_fill_area_occurrence, + annotation_text_occurrence, + annotation_symbol_occurrence ) + ANDOR + ONEOF ( + annotation_curve_occurrence, + annotation_fill_area_occurrence, + annotation_plane, + annotation_symbol_occurrence, + annotation_text_occurrence, + tessellated_annotation_occurrence ) ) + SUBTYPE OF ( styled_item ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + wr2: ( SIZEOF( QUERY ( reps <* using_representations( SELF ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_REPRESENTATION_SELECT' IN TYPEOF( + reps ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY annotation_occurrence_associativity + SUBTYPE OF ( annotation_occurrence_relationship ); + WHERE + wr1: ( SIZEOF( TYPEOF( SELF.related_annotation_occurrence ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' ] ) = 1 ); + END_ENTITY; + + ENTITY annotation_occurrence_relationship; + name : label; + description : text; + relating_annotation_occurrence : annotation_occurrence; + related_annotation_occurrence : annotation_occurrence; + END_ENTITY; + + ENTITY annotation_plane + SUBTYPE OF ( annotation_occurrence, geometric_representation_item ); + elements : OPTIONAL SET [1 : ?] OF annotation_plane_element; + SELF\styled_item.item : plane_or_planar_box; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + wr2: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PLANAR_BOX' ) IN TYPEOF( SELF\ + styled_item.item ) ) ) OR ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' ) IN TYPEOF( SELF\styled_item.item\planar_box.placement ) ) ); + wr3: ( ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PLANAR_BOX' ) IN TYPEOF( SELF\ + styled_item.item ) ) AND ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CURVE_STYLE' ) + IN TYPEOF( SELF\styled_item.styles[1]\presentation_style_assignment.styles[1] ) ) ) OR ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PLANE' ) IN TYPEOF( SELF\styled_item. + item ) ) AND ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'FILL_AREA_STYLE' ) IN + TYPEOF( SELF\styled_item.styles[1]\presentation_style_assignment.styles[1] ) ) ) ); + wr4: ( ( SIZEOF( SELF\styled_item.styles ) = 1 ) AND ( SIZEOF( SELF\styled_item.styles[1]\presentation_style_assignment. + styles ) = 1 ) ); + END_ENTITY; + + ENTITY annotation_subfigure_occurrence + SUBTYPE OF ( annotation_symbol_occurrence ); + WHERE + wr1: ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( SIZEOF( sty.styles ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'NULL_STYLE' IN TYPEOF( sty.styles[1] ) ) ) ) ) = 0 ); + wr3: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF( SELF.item ) ); + wr4: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_SUBFIGURE_REPRESENTATION' IN TYPEOF( + SELF.item\mapped_item.mapping_source.mapped_representation ) ); + END_ENTITY; + + ENTITY annotation_symbol + SUBTYPE OF ( mapped_item ); + SELF\mapped_item.mapping_source : symbol_representation_map; + SELF\mapped_item.mapping_target : symbol_target; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY annotation_symbol_occurrence + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : annotation_symbol_occurrence_item; + END_ENTITY; + + ENTITY annotation_text + SUBTYPE OF ( mapped_item ); + SELF\mapped_item.mapping_target : axis2_placement; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STRING_REPRESENTATION' IN TYPEOF( SELF\ + mapped_item.mapping_source.mapped_representation ) ); + wr2: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY annotation_text_character + SUBTYPE OF ( mapped_item ); + alignment : text_alignment; + SELF\mapped_item.mapping_target : axis2_placement; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTER_GLYPH_SYMBOL' IN TYPEOF( SELF\ + mapped_item.mapping_source.mapped_representation ) ); + wr2: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY annotation_text_occurrence + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : annotation_text_occurrence_item; + END_ENTITY; + + ENTITY apex + SUBTYPE OF ( derived_shape_aspect ); + END_ENTITY; + + ENTITY application_context; + application : label; + DERIVE + description : text := get_description_value( SELF ); + id : identifier := get_id_value( SELF ); + INVERSE + context_elements : SET [1 : ?] OF application_context_element FOR frame_of_reference; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY application_context_element + SUPERTYPE OF ( + ONEOF ( + product_concept_context, + product_context, + product_definition_context ) ); + name : label; + frame_of_reference : application_context; + END_ENTITY; + + ENTITY application_defined_function + SUBTYPE OF ( maths_function ); + explicit_domain : tuple_space; + explicit_range : tuple_space; + parameters : LIST OF maths_value; + WHERE + wr1: expression_is_constant( explicit_domain ); + wr2: expression_is_constant( explicit_range ); + END_ENTITY; + + ENTITY application_protocol_definition; + status : label; + application_interpreted_model_schema_name : label; + application_protocol_year : year_number; + application : application_context; + END_ENTITY; + + ENTITY applied_action_assignment + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF action_items; + END_ENTITY; + + ENTITY applied_action_method_assignment + SUBTYPE OF ( action_method_assignment ); + items : SET [1 : ?] OF action_method_items; + END_ENTITY; + + ENTITY applied_action_request_assignment + SUBTYPE OF ( action_request_assignment ); + items : SET [1 : ?] OF action_request_item; + END_ENTITY; + + ENTITY applied_approval_assignment + SUBTYPE OF ( approval_assignment ); + items : SET [1 : ?] OF approval_item; + END_ENTITY; + + ENTITY applied_area + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( SELF. + of_shape ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( ( 2 <= SIZEOF( impl_rep.used_representation.items ) ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 3 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* pdr.used_representation.items | ( NOT ( srwp_i. + name IN [ 'orientation', 'effective length', 'maximum length'] ) ) ) ) > 0 ) ) ) ) = 0 ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'effective length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) <= 1 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'maximum length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY applied_attribute_classification_assignment + SUBTYPE OF ( attribute_classification_assignment ); + SELF\attribute_classification_assignment.assigned_class : class; + items : SET [1 : ?] OF attribute_classification_item; + END_ENTITY; + + ENTITY applied_certification_assignment + SUBTYPE OF ( certification_assignment ); + items : SET [1 : ?] OF certification_item; + END_ENTITY; + + ENTITY applied_classification_assignment + SUBTYPE OF ( classification_assignment ); + items : SET [1 : ?] OF classification_item; + END_ENTITY; + + ENTITY applied_contract_assignment + SUBTYPE OF ( contract_assignment ); + items : SET [1 : ?] OF contract_item; + END_ENTITY; + + ENTITY applied_date_and_time_assignment + SUBTYPE OF ( date_and_time_assignment ); + items : SET [1 : ?] OF date_and_time_item; + END_ENTITY; + + ENTITY applied_date_assignment + SUBTYPE OF ( date_assignment ); + items : SET [1 : ?] OF date_item; + END_ENTITY; + + ENTITY applied_document_reference + SUBTYPE OF ( document_reference ); + items : SET [1 : ?] OF document_reference_item; + END_ENTITY; + + ENTITY applied_document_usage_constraint_assignment + SUBTYPE OF ( document_usage_constraint_assignment ); + items : SET [1 : ?] OF document_reference_item; + END_ENTITY; + + ENTITY applied_effectivity_assignment + SUBTYPE OF ( effectivity_assignment ); + items : SET [1 : ?] OF effectivity_item; + END_ENTITY; + + ENTITY applied_event_occurrence_assignment + SUBTYPE OF ( event_occurrence_assignment ); + items : SET [1 : ?] OF event_occurrence_item; + END_ENTITY; + + ENTITY applied_external_identification_assignment + SUBTYPE OF ( external_identification_assignment ); + items : SET [1 : ?] OF external_identification_item; + END_ENTITY; + + ENTITY applied_group_assignment + SUBTYPE OF ( group_assignment ); + items : SET [1 : ?] OF groupable_item; + END_ENTITY; + + ENTITY applied_identification_assignment + SUBTYPE OF ( identification_assignment ); + items : SET [1 : ?] OF identification_item; + END_ENTITY; + + ENTITY applied_ineffectivity_assignment + SUBTYPE OF ( effectivity_assignment ); + items : SET [1 : ?] OF effectivity_item; + WHERE + wr1: ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOT_EFFECTIVITY', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SERIAL_NUMBERED_EFFECTIVITY' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_EFFECTIVITY' ] * TYPEOF( + SELF.assigned_effectivity ) ) = 0 ); + END_ENTITY; + + ENTITY applied_name_assignment + SUBTYPE OF ( name_assignment ); + item : name_item; + END_ENTITY; + + ENTITY applied_organization_assignment + SUBTYPE OF ( organization_assignment ); + items : SET [1 : ?] OF organization_item; + END_ENTITY; + + ENTITY applied_organizational_project_assignment + SUBTYPE OF ( organizational_project_assignment ); + items : SET [1 : ?] OF project_item; + END_ENTITY; + + ENTITY applied_person_and_organization_assignment + SUBTYPE OF ( person_and_organization_assignment ); + items : SET [1 : ?] OF person_and_organization_item; + END_ENTITY; + + ENTITY applied_presented_item + SUBTYPE OF ( presented_item ); + items : SET [1 : ?] OF presented_item_select; + END_ENTITY; + + ENTITY applied_security_classification_assignment + SUBTYPE OF ( security_classification_assignment ); + items : SET [1 : ?] OF security_classification_item; + END_ENTITY; + + ENTITY applied_time_interval_assignment + SUBTYPE OF ( time_interval_assignment ); + items : SET [0 : ?] OF time_interval_item; + END_ENTITY; + + ENTITY applied_usage_right + SUBTYPE OF ( applied_action_assignment ); + SELF\applied_action_assignment.items : SET [1 : ?] OF ir_usage_item; + END_ENTITY; + + ENTITY approval; + status : approval_status; + level : label; + END_ENTITY; + + ENTITY approval_assignment + ABSTRACT SUPERTYPE; + assigned_approval : approval; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ) <= 1 ); + END_ENTITY; + + ENTITY approval_date_time; + date_time : date_time_select; + dated_approval : approval; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ) <= 1 ); + END_ENTITY; + + ENTITY approval_person_organization; + person_organization : person_organization_select; + authorized_approval : approval; + role : approval_role; + END_ENTITY; + + ENTITY approval_relationship; + name : label; + description : OPTIONAL text; + relating_approval : approval; + related_approval : approval; + END_ENTITY; + + ENTITY approval_role; + role : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY approval_status; + name : label; + END_ENTITY; + + ENTITY area_component + SUPERTYPE OF ( + connected_area_component ) + SUBTYPE OF ( stratum_feature_template_component ); + END_ENTITY; + + ENTITY area_in_set; + area : presentation_area; + in_set : presentation_set; + END_ENTITY; + + ENTITY area_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY area_qualified_layout_spacing_requirement + SUBTYPE OF ( layout_spacing_requirement ); + END_ENTITY; + + ENTITY area_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 2, 0, 0, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY area_with_outer_boundary + SUBTYPE OF ( half_space_2d ); + SELF\half_space_2d.base_curve : composite_curve; + WHERE + wr1: ( base_curve\composite_curve.closed_curve = TRUE ); + END_ENTITY; + + ENTITY array_placement_group + SUPERTYPE OF ( + ONEOF ( + linear_array_placement_group_component, + rectangular_array_placement_group_component ) + ANDOR + ONEOF ( + laminate_text_string_component, + linear_array_placement_group_component, + rectangular_array_placement_group_component ) ) + SUBTYPE OF ( assembly_group_component ); + END_ENTITY; + + ENTITY asin_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY assembly_bond_definition + SUBTYPE OF ( shape_aspect ); + UNIQUE + ur1 : SELF\shape_aspect.name; + END_ENTITY; + + ENTITY assembly_component + SUPERTYPE OF ( + ONEOF ( + physical_component, + laminate_component ) + ANDOR + ONEOF ( + physical_component, + printed_component, + laminate_component ) ) + SUBTYPE OF ( component_definition, product_definition_shape ); + DERIVE + SELF\property_definition.definition : assembly_component := SELF; + WHERE + wr1: ( NOT EXISTS( SELF\property_definition.description ) ); + END_ENTITY; + + ENTITY assembly_component_usage + SUPERTYPE OF ( + quantified_assembly_component_usage + ANDOR + ONEOF ( + multi_level_reference_designator, + next_assembly_usage_occurrence, + promissory_usage_occurrence, + specified_higher_usage_occurrence ) ) + SUBTYPE OF ( product_definition_usage ); + reference_designator : OPTIONAL identifier; + END_ENTITY; + + ENTITY assembly_component_usage_substitute; + name : label; + definition : OPTIONAL text; + base : assembly_component_usage; + substitute : assembly_component_usage; + UNIQUE + ur1 : base, substitute; + WHERE + wr1: ( base.relating_product_definition :=: substitute.relating_product_definition ); + wr2: ( base :<>: substitute ); + END_ENTITY; + + ENTITY assembly_geometric_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + binary_assembly_constraint, + fixed_constituent_assembly_constraint ) ) + SUBTYPE OF ( explicit_constraint ); + END_ENTITY; + + ENTITY assembly_group_component + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY assembly_group_component_definition_placement_link + SUBTYPE OF ( product_definition, product_definition_relationship ); + SELF\product_definition_relationship.relating_product_definition : assembly_component; + SELF\product_definition_relationship.related_product_definition : assembly_component; + WHERE + wr1: ( SELF\product_definition_relationship.related_product_definition :<>: SELF\product_definition_relationship. + relating_product_definition ); + wr2: acyclic_product_definition_relationship( SELF, [SELF\product_definition_relationship.related_product_definition], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ASSEMBLY_GROUP_COMPONENT_DEFINITION_PLACEMENT_LINK' ); + END_ENTITY; + + ENTITY assembly_group_spacing_requirement + SUBTYPE OF ( predefined_requirement_view_definition ); + END_ENTITY; + + ENTITY assembly_item_number + SUBTYPE OF ( group, applied_group_assignment ); + SELF\applied_group_assignment.items : SET [1 : ?] OF assembly_component_usage; + DERIVE + SELF\group_assignment.assigned_group : group := SELF; + END_ENTITY; + + ENTITY assembly_joint + SUBTYPE OF ( component_feature_joint ); + WHERE + wr1: acyclic_shape_aspect_relationship( SELF, [SELF\shape_aspect_relationship.related_shape_aspect], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ASSEMBLY_JOINT' ); + END_ENTITY; + + ENTITY assembly_module_component + SUBTYPE OF ( physical_component ); + END_ENTITY; + + ENTITY assembly_module_design_view + SUPERTYPE OF ( + ONEOF ( + layered_assembly_panel_design_view, + layered_assembly_module_design_view ) ) + SUBTYPE OF ( physical_unit ); + END_ENTITY; + + ENTITY assembly_module_interface_terminal + SUBTYPE OF ( assembly_module_terminal ); + END_ENTITY; + + ENTITY assembly_module_macro_component + SUBTYPE OF ( physical_component ); + END_ENTITY; + + ENTITY assembly_module_macro_component_join_terminal + SUBTYPE OF ( physical_component_terminal ); + END_ENTITY; + + ENTITY assembly_module_macro_terminal + SUBTYPE OF ( assembly_module_terminal ); + END_ENTITY; + + ENTITY assembly_module_terminal + SUPERTYPE OF ( + assembly_module_interface_terminal + ANDOR + ONEOF ( + assembly_module_interface_terminal, + assembly_module_macro_terminal ) ) + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY assembly_module_usage_view + SUPERTYPE OF ( + layered_assembly_module_usage_view ) + SUBTYPE OF ( physical_unit ); + END_ENTITY; + + ENTITY assembly_shield_allocation + SUBTYPE OF ( electromagnetic_compatibility_requirement_allocation ); + END_ENTITY; + + ENTITY assembly_spacing_requirement + SUBTYPE OF ( predefined_requirement_view_definition ); + END_ENTITY; + + ENTITY assembly_to_part_connectivity_structure_allocation + SUBTYPE OF ( shape_aspect_relationship, shape_aspect ); + SELF\shape_aspect_relationship.related_shape_aspect : physical_connectivity_element; + SELF\shape_aspect_relationship.relating_shape_aspect : part_connected_terminals_element; + DERIVE + assembly_element : physical_connectivity_element := SELF\shape_aspect_relationship.related_shape_aspect; + part_element : part_connected_terminals_element := SELF\shape_aspect_relationship.relating_shape_aspect; + END_ENTITY; + + ENTITY assigned_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_assignment; + items : SET [1 : 1] OF product_definition; + END_ENTITY; + + ENTITY atan_function + SUBTYPE OF ( binary_function_call ); + END_ENTITY; + + ENTITY atom_based_literal + SUBTYPE OF ( generic_literal ); + lit_value : atom_based_value; + END_ENTITY; + + ENTITY atomic_formula + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY attribute_assertion + SUBTYPE OF ( fact_type, property_definition_representation, representation ); + END_ENTITY; + + ENTITY attribute_classification_assignment + ABSTRACT SUPERTYPE; + assigned_class : group; + attribute_name : label; + role : classification_role; + END_ENTITY; + + ENTITY attribute_language_assignment + SUBTYPE OF ( attribute_classification_assignment ); + SELF\attribute_classification_assignment.assigned_class : language; + items : SET [1 : ?] OF attribute_language_item; + WHERE + wr1: ( SELF\attribute_classification_assignment.role.name IN [ 'primary', 'translated'] ); + wr2: ( SELF\attribute_classification_assignment.attribute_name <> '' ); + END_ENTITY; + + ENTITY attribute_value_assignment + ABSTRACT SUPERTYPE; + attribute_name : label; + attribute_value : attribute_type; + role : attribute_value_role; + END_ENTITY; + + ENTITY attribute_value_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY auxiliary_geometric_representation_item + SUBTYPE OF ( geometric_representation_item, variational_representation_item ); + END_ENTITY; + + ENTITY axis1_placement + SUBTYPE OF ( placement ); + axis : OPTIONAL direction; + DERIVE + z : direction := NVL( normalise( axis ), dummy_gri || direction( [0, 0, 1] ) ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY axis2_placement_2d + SUBTYPE OF ( placement ); + ref_direction : OPTIONAL direction; + DERIVE + p : LIST [2 : 2] OF direction := build_2axes( ref_direction ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY axis2_placement_3d + SUBTYPE OF ( placement ); + axis : OPTIONAL direction; + ref_direction : OPTIONAL direction; + DERIVE + p : LIST [3 : 3] OF direction := build_axes( axis, ref_direction ); + WHERE + wr1: ( SELF\placement.location.dim = 3 ); + wr2: ( ( NOT EXISTS( axis ) ) OR ( axis.dim = 3 ) ); + wr3: ( ( NOT EXISTS( ref_direction ) ) OR ( ref_direction.dim = 3 ) ); + wr4: ( ( NOT EXISTS( axis ) ) OR ( NOT EXISTS( ref_direction ) ) OR ( cross_product( axis, ref_direction ).magnitude > 0 ) ); + END_ENTITY; + + ENTITY axis_placement_2d_3d_mapping + SUBTYPE OF ( item_defined_transformation ); + SELF\item_defined_transformation.transform_item_1 : axis2_placement_2d; + SELF\item_defined_transformation.transform_item_2 : axis2_placement_3d; + END_ENTITY; + + ENTITY b_spline_basis + SUBTYPE OF ( maths_function, generic_literal ); + degree : nonnegative_integer; + repeated_knots : LIST [2 : ?] OF REAL; + DERIVE + order : positive_integer := degree + 1; + num_basis : positive_integer := SIZEOF( repeated_knots ) - order; + WHERE + wr1: ( num_basis >= order ); + wr2: nondecreasing( repeated_knots ); + wr3: ( repeated_knots[order] < repeated_knots[num_basis + 1] ); + END_ENTITY; + + ENTITY b_spline_curve + SUPERTYPE OF ( + ONEOF ( + uniform_curve, + b_spline_curve_with_knots, + quasi_uniform_curve, + bezier_curve ) + ANDOR + rational_b_spline_curve ) + SUBTYPE OF ( bounded_curve ); + degree : INTEGER; + control_points_list : LIST [2 : ?] OF cartesian_point; + curve_form : b_spline_curve_form; + closed_curve : LOGICAL; + self_intersect : LOGICAL; + DERIVE + upper_index_on_control_points : INTEGER := SIZEOF( control_points_list ) - 1; + control_points : ARRAY [0 : upper_index_on_control_points] OF cartesian_point := list_to_array( + control_points_list, 0, upper_index_on_control_points ); + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNIFORM_CURVE' IN TYPEOF( SELF ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.QUASI_UNIFORM_CURVE' IN TYPEOF( SELF ) ) OR + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEZIER_CURVE' IN TYPEOF( SELF ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY b_spline_curve_knot_locator + SUBTYPE OF ( founded_item ); + basis_curve : b_spline_curve; + knot_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_curve_segment + SUBTYPE OF ( founded_item ); + basis_curve : b_spline_curve; + start_knot_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_curve_with_knots + SUBTYPE OF ( b_spline_curve ); + knot_multiplicities : LIST [2 : ?] OF INTEGER; + knots : LIST [2 : ?] OF parameter_value; + knot_spec : knot_type; + DERIVE + upper_index_on_knots : INTEGER := SIZEOF( knots ); + WHERE + wr1: constraints_param_b_spline( degree, upper_index_on_knots, upper_index_on_control_points, knot_multiplicities, knots ); + wr2: ( SIZEOF( knot_multiplicities ) = upper_index_on_knots ); + END_ENTITY; + + ENTITY b_spline_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + basis : LIST [1 : ?] OF b_spline_basis; + DERIVE + coef : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_table( coef ); + wr2: ( ( space_dimension( coef.range ) = 1 ) AND ( number_superspace_of( factor1( coef.range ) ) = the_reals ) ); + wr3: ( SIZEOF( basis ) <= SIZEOF( shape_of_array( coef ) ) ); + wr4: compare_basis_and_coef( basis, coef ); + END_ENTITY; + + ENTITY b_spline_surface + SUPERTYPE OF ( + ONEOF ( + b_spline_surface_with_knots, + uniform_surface, + quasi_uniform_surface, + bezier_surface ) + ANDOR + rational_b_spline_surface ) + SUBTYPE OF ( bounded_surface ); + u_degree : INTEGER; + v_degree : INTEGER; + control_points_list : LIST [2 : ?] OF LIST [2 : ?] OF cartesian_point; + surface_form : b_spline_surface_form; + u_closed : LOGICAL; + v_closed : LOGICAL; + self_intersect : LOGICAL; + DERIVE + u_upper : INTEGER := SIZEOF( control_points_list ) - 1; + v_upper : INTEGER := SIZEOF( control_points_list[1] ) - 1; + control_points : ARRAY [0 : u_upper] OF ARRAY [0 : v_upper] OF cartesian_point := make_array_of_array( control_points_list, + 0, u_upper, 0, v_upper ); + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNIFORM_SURFACE' IN TYPEOF( SELF ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.QUASI_UNIFORM_SURFACE' IN TYPEOF( SELF ) ) OR + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEZIER_SURFACE' IN TYPEOF( SELF ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY b_spline_surface_knot_locator + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_surface; + knot_index : INTEGER; + surface_parameter : u_or_v_parameter; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_surface_patch + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_surface; + u_start_knot_index : INTEGER; + v_start_knot_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_surface_strip + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_surface; + start_knot_index : INTEGER; + surface_parameter : u_or_v_parameter; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_surface_with_knots + SUBTYPE OF ( b_spline_surface ); + u_multiplicities : LIST [2 : ?] OF INTEGER; + v_multiplicities : LIST [2 : ?] OF INTEGER; + u_knots : LIST [2 : ?] OF parameter_value; + v_knots : LIST [2 : ?] OF parameter_value; + knot_spec : knot_type; + DERIVE + knot_u_upper : INTEGER := SIZEOF( u_knots ); + knot_v_upper : INTEGER := SIZEOF( v_knots ); + WHERE + wr1: constraints_param_b_spline( SELF\b_spline_surface.u_degree, knot_u_upper, SELF\b_spline_surface.u_upper, + u_multiplicities, u_knots ); + wr2: constraints_param_b_spline( SELF\b_spline_surface.v_degree, knot_v_upper, SELF\b_spline_surface.v_upper, + v_multiplicities, v_knots ); + wr3: ( SIZEOF( u_multiplicities ) = knot_u_upper ); + wr4: ( SIZEOF( v_multiplicities ) = knot_v_upper ); + END_ENTITY; + + ENTITY back_chaining_rule + SUBTYPE OF ( rule_definition ); + END_ENTITY; + + ENTITY back_chaining_rule_body + SUBTYPE OF ( property_definition, property_definition_representation, representation ); + END_ENTITY; + + ENTITY background_colour + SUBTYPE OF ( colour ); + presentation : area_or_view; + UNIQUE + ur1 : presentation; + END_ENTITY; + + ENTITY bare_die + SUBTYPE OF ( physical_unit ); + END_ENTITY; + + ENTITY bare_die_bottom_surface + SUBTYPE OF ( bare_die_surface ); + END_ENTITY; + + ENTITY bare_die_component + SUBTYPE OF ( physical_component ); + END_ENTITY; + + ENTITY bare_die_edge_segment_surface + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; + SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + END_ENTITY; + + ENTITY bare_die_edge_surface + SUBTYPE OF ( bare_die_surface ); + WHERE + wr1: SELF\shape_aspect.product_definitional; + wr2: ( SIZEOF( TYPEOF( SELF ) - TYPEOF( SELF\shape_aspect || SELF\part_mounting_feature || SELF\bare_die_edge_surface || + SELF\bare_die_surface ) ) = 0 ); + END_ENTITY; + + ENTITY bare_die_surface + ABSTRACT SUPERTYPE OF ( + ONEOF ( + bare_die_bottom_surface, + bare_die_top_surface, + bare_die_edge_surface ) ) + SUBTYPE OF ( part_mounting_feature ); + SELF\shape_aspect.of_shape : bare_die; + WHERE + wr1: SELF\shape_aspect.product_definitional; + END_ENTITY; + + ENTITY bare_die_template_terminal + SUBTYPE OF ( part_feature_template_definition, shape_aspect ); + END_ENTITY; + + ENTITY bare_die_terminal + SUBTYPE OF ( minimally_defined_bare_die_terminal, placed_feature ); + END_ENTITY; + + ENTITY bare_die_top_surface + SUBTYPE OF ( bare_die_surface ); + WHERE + wr1: SELF\shape_aspect.product_definitional; + wr2: ( SIZEOF( TYPEOF( SELF ) - TYPEOF( SELF\shape_aspect || SELF\part_mounting_feature || SELF\bare_die_top_surface || + SELF\bare_die_surface ) ) = 0 ); + END_ENTITY; + + ENTITY barring_hole + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'hole profile' ) AND ( sa.description = + 'closed profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.description = 'profile usage' ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sar. + relating_shape_aspect ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'barring profile' ) AND ( sa.description = + 'closed profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.description = 'profile usage' ) ) ) ) = 1 ) ) ) ) = + 1 ); + wr3: ( ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* + get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( 1 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 2 ) ) ) ) = 1 ) ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ + 'orientation' , 'base radius'] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'base radius' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) <> 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY basic_multi_stratum_printed_component + SUBTYPE OF ( printed_component ); + END_ENTITY; + + ENTITY basic_multi_stratum_printed_part_template + SUBTYPE OF ( printed_part_template ); + END_ENTITY; + + ENTITY basic_sparse_matrix + SUBTYPE OF ( explicit_table_function, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [3 : 3] OF maths_function; + default_entry : maths_value; + order : ordering_type; + DERIVE + index : maths_function := SELF\multiple_arity_generic_expression.operands[1]; + loc : maths_function := SELF\multiple_arity_generic_expression.operands[2]; + val : maths_function := SELF\multiple_arity_generic_expression.operands[3]; + WHERE + wr1: function_is_1d_table( index ); + wr2: function_is_1d_table( loc ); + wr3: function_is_1d_table( val ); + wr4: check_sparse_index_domain( index.domain, index_base, shape, order ); + wr5: check_sparse_index_to_loc( index.range, loc.domain ); + wr6: ( loc.domain = val.domain ); + wr7: check_sparse_loc_range( loc.range, index_base, shape, order ); + wr8: member_of( default_entry, val.range ); + END_ENTITY; + + ENTITY bead + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( pdr <* + get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) > 2 ) ) ) ) = 0 ) ); + wr2: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ + 'orientation' , 'base radius'] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'base radius' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) > 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'sweep path' ) AND ( sa.description = + 'path feature component occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.description = 'path feature component usage' ) AND + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sar. + relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'bead profile' ) AND ( sa.description = + 'open profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.description = 'profile usage' ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE' ] * TYPEOF( sar. + relating_shape_aspect ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr6: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'end condition' ) AND ( sa.description = + 'bead end occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.name = 'bead end usage' ) AND ( sar.description = + 'starting' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEAD_END' IN TYPEOF( sar. + relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) = 1 ); + wr7: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'end condition' ) AND ( sa.description = + 'bead end occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.name = 'bead end usage' ) AND ( sar.description = + 'ending' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEAD_END' IN TYPEOF( sar. + relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY bead_end + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SELF.description IN [ 'linear', 'open', 'radiused'] ); + wr3: ( ( SELF.description <> 'linear' ) XOR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' + IN TYPEOF( pdr.used_representation ) ) ) ) > 0 ) ); + wr4: ( ( SELF.description <> 'linear' ) OR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr. + used_representation.items ) = 2 ) ) ) ) = 1 ) ); + wr5: ( ( SELF.description <> 'linear' ) OR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr. + used_representation.items | ( ( i.name = 'end length' ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = + 2 ) ) ) ) = 1 ) ) ) ) = 1 ) ); + wr6: ( ( SELF.description <> 'linear' ) OR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr. + used_representation.items | ( ( i.name = 'end shape' ) AND ( i\descriptive_representation_item.description IN [ + 'straight' , 'tapered'] ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) ) ) ) = 1 ) ) ) ) = 1 ) ); + wr7: ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) AND ( sar.name = 'bead end usage' ) AND ( sar.description IN [ 'starting', 'ending'] ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEAD' IN TYPEOF( sar.related_shape_aspect. + of_shape.definition ) ) AND ( sar.related_shape_aspect.of_shape.definition\characterized_object.name = + 'end condition' ) AND ( sar.related_shape_aspect.of_shape.definition\characterized_object.description = + 'bead end occurrence' ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY between_shape_aspect + SUBTYPE OF ( continuous_shape_aspect ); + END_ENTITY; + + ENTITY beveled_sheet_representation + SUBTYPE OF ( shape_representation ); + END_ENTITY; + + ENTITY bezier_curve + SUBTYPE OF ( b_spline_curve ); + END_ENTITY; + + ENTITY bezier_surface + SUBTYPE OF ( b_spline_surface ); + END_ENTITY; + + ENTITY binary_assembly_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + parallel_assembly_constraint, + surface_distance_assembly_constraint_with_dimension, + angle_assembly_constraint_with_dimension, + perpendicular_assembly_constraint, + incidence_assembly_constraint, + coaxial_assembly_constraint, + tangent_assembly_constraint ) ) + SUBTYPE OF ( assembly_geometric_constraint, representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : representative_shape_representation; + SELF\representation_relationship.rep_2 : representative_shape_representation; + WHERE + wr1: ( ( SELF\explicit_constraint.constrained_elements[1]\geometric_representation_item.dim = 3 ) AND ( SELF\ + explicit_constraint.reference_elements[1]\geometric_representation_item.dim = 3 ) ); + wr2: ( ( SELF\representation_relationship.rep_1 IN ( using_representations( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) + using_representation_with_mapping( SELF\representation_relationship_with_transformation. + transformation_operator\item_defined_transformation.transform_item_1 ) ) ) AND ( SELF\representation_relationship. + rep_2 IN ( using_representations( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_2 ) + using_representation_with_mapping( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ) ); + wr3: ( ( SIZEOF( SELF\explicit_constraint.constrained_elements ) = 1 ) AND ( SIZEOF( SELF\explicit_constraint. + reference_elements ) = 1 ) ); + wr4: ( ( SELF\representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 = SELF\explicit_constraint.reference_elements[1] ) AND ( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 = SELF\explicit_constraint.constrained_elements[1] ) ); + END_ENTITY; + + ENTITY binary_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + xor_expression, + equals_expression ) ) + SUBTYPE OF ( boolean_expression, binary_generic_expression ); + END_ENTITY; + + ENTITY binary_function_call + ABSTRACT SUPERTYPE + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY binary_generic_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( generic_expression ); + operands : LIST [2 : 2] OF generic_expression; + END_ENTITY; + + ENTITY binary_literal + SUBTYPE OF ( generic_literal ); + lit_value : BINARY; + END_ENTITY; + + ENTITY binary_numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + minus_expression, + div_expression, + mod_expression, + slash_expression, + power_expression, + binary_function_call ) ) + SUBTYPE OF ( numeric_expression, binary_generic_expression ); + SELF\binary_generic_expression.operands : LIST [2 : 2] OF numeric_expression; + END_ENTITY; + + ENTITY binary_representation_item + SUBTYPE OF ( representation_item ); + binary_value : BINARY; + END_ENTITY; + + ENTITY blind_passage_template + SUBTYPE OF ( unsupported_passage_template ); + END_ENTITY; + + ENTITY blind_via + ABSTRACT SUPERTYPE OF ( + ONEOF ( + non_conductive_base_blind_via, + plated_conductive_base_blind_via ) ) + SUBTYPE OF ( via ); + END_ENTITY; + + ENTITY block + SUBTYPE OF ( geometric_representation_item ); + position : axis2_placement_3d; + x : positive_length_measure; + y : positive_length_measure; + z : positive_length_measure; + END_ENTITY; + + ENTITY boolean_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( defined_function, boolean_expression ); + END_ENTITY; + + ENTITY boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_boolean_expression, + unary_boolean_expression, + binary_boolean_expression, + multiple_arity_boolean_expression, + comparison_expression, + interval_expression, + boolean_defined_function ) ) + SUBTYPE OF ( expression ); + END_ENTITY; + + ENTITY boolean_literal + SUBTYPE OF ( simple_boolean_expression, generic_literal ); + the_value : BOOLEAN; + END_ENTITY; + + ENTITY boolean_representation_item + SUBTYPE OF ( representation_item, boolean_literal ); + END_ENTITY; + + ENTITY boolean_result + SUBTYPE OF ( geometric_representation_item ); + operator : boolean_operator; + first_operand : boolean_operand; + second_operand : boolean_operand; + END_ENTITY; + + ENTITY boolean_result_2d + SUBTYPE OF ( boolean_result ); + SELF\boolean_result.first_operand : boolean_operand_2d; + SELF\boolean_result.second_operand : boolean_operand_2d; + END_ENTITY; + + ENTITY boolean_variable + SUBTYPE OF ( simple_boolean_expression, variable ); + END_ENTITY; + + ENTITY boss + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF\characterized_object.description IN [ 'circular', 'complex', 'rectangular'] ); + wr2 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'boss height occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'path feature component usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'linear' ) AND ( sdr.name = 'boss height' ) ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( 1 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 2 ) ) ) ) = 1 ) ) ) = 1 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* pdr.used_representation.items | ( ( srwp_i. + name = 'orientation' ) OR ( srwp_i.name = 'fillet radius' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) + = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( ( NOT ( SELF\characterized_object.description = 'circular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( + SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'circular profile occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr7 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'top condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'boss top usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS_TOP' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr8 : ( ( NOT ( SELF\characterized_object.description = 'circular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( + SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'change in diameter occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'taper usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr. + related_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS' IN + TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( + SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'enclosed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description IN [ 'complex', 'rectangular'] ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'change in boundary occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'taper usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr. + related_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS' IN + TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr.related_shape_aspect.description IN [ 'angle taper', + 'directed taper' ] ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF\characterized_object.description = 'rectangular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'rectangular profile occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' IN TYPEOF( sdr + .relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr12: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY boss_top + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SELF.description IN [ 'planar', 'complex'] ); + wr3: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION' IN TYPEOF( pdr + .used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'boss top usage' ) AND ( sar.name IN [ 'boss height start', + 'boss height end' ] ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( fcr.related_shape_aspect.description = + 'top condition occurrence' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS' IN + TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS_TOP' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr9: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'top radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY bound_parameter_environment + SUBTYPE OF ( environment ); + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN TYPEOF( SELF\ + environment.syntactic_representation ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'INSTANCE_ATTRIBUTE_REFERENCE' IN TYPEOF( SELF\environment.semantics ) ) ); + END_ENTITY; + + ENTITY bound_variational_parameter + SUBTYPE OF ( variational_parameter ); + DERIVE + SELF\variational_parameter.parameter_current_value : maths_value := ?; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUND_PARAMETER_ENVIRONMENT' IN TYPEOF( SELF\ + generic_variable.interpretation ) ); + END_ENTITY; + + ENTITY boundary_curve + SUBTYPE OF ( composite_curve_on_surface ); + WHERE + wr1: SELF\composite_curve.closed_curve; + END_ENTITY; + + ENTITY boundary_curve_of_b_spline_or_rectangular_composite_surface + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_or_rectangular_composite_surface_select; + boundary_type : surface_boundary_type; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY bounded_curve + SUPERTYPE OF ( + ONEOF ( + polyline, + b_spline_curve, + trimmed_curve, + bounded_pcurve, + bounded_surface_curve, + composite_curve ) ) + SUBTYPE OF ( curve ); + END_ENTITY; + + ENTITY bounded_pcurve + SUBTYPE OF ( pcurve, bounded_curve ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF( SELF\pcurve. + reference_to_curve.items[1] ) ); + END_ENTITY; + + ENTITY bounded_surface + SUPERTYPE OF ( + ONEOF ( + b_spline_surface, + rectangular_trimmed_surface, + curve_bounded_surface, + rectangular_composite_surface ) ) + SUBTYPE OF ( surface ); + END_ENTITY; + + ENTITY bounded_surface_curve + SUBTYPE OF ( surface_curve, bounded_curve ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF( SELF\surface_curve. + curve_3d ) ); + END_ENTITY; + + ENTITY box_domain + SUBTYPE OF ( founded_item ); + corner : cartesian_point; + xlength : positive_length_measure; + ylength : positive_length_measure; + zlength : positive_length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( item <* USEDIN( SELF, '' ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOXED_HALF_SPACE' IN TYPEOF( item ) ) ) ) ) = + 0 ); + END_ENTITY; + + ENTITY boxed_half_space + SUBTYPE OF ( half_space_solid ); + enclosure : box_domain; + END_ENTITY; + + ENTITY breakdown_context + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY breakdown_element_group_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : product_definition_element_relationship; + items : SET [1 : 1] OF product_definition_or_breakdown_element_usage; + END_ENTITY; + + ENTITY breakdown_element_realization + SUBTYPE OF ( characterized_object, product_definition_element_relationship ); + END_ENTITY; + + ENTITY breakdown_element_usage + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY breakdown_of + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY breakout_footprint_definition + SUBTYPE OF ( generic_footprint_definition ); + END_ENTITY; + + ENTITY breakout_occurrence + SUBTYPE OF ( footprint_occurrence ); + END_ENTITY; + + ENTITY brep_with_voids + SUBTYPE OF ( manifold_solid_brep ); + voids : SET [1 : ?] OF oriented_closed_shell; + END_ENTITY; + + ENTITY buried_via + SUBTYPE OF ( via ); + END_ENTITY; + + ENTITY bus_element_link + SUBTYPE OF ( product_definition, product_definition_relationship ); + UNIQUE + ur1 : SELF\product_definition_relationship.related_product_definition, SELF\product_definition_relationship. + relating_product_definition; + WHERE + wr1: ( SELF\product_definition_relationship.related_product_definition :<>: SELF\product_definition_relationship. + relating_product_definition ); + END_ENTITY; + + ENTITY bus_structural_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY bytes_representation_item + SUBTYPE OF ( binary_representation_item ); + DERIVE + no_of_bytes : INTEGER := BLENGTH( SELF\binary_representation_item.binary_value ) DIV 8; + WHERE + wr1: ( ( BLENGTH( SELF\binary_representation_item.binary_value ) MOD 8 ) = 0 ); + END_ENTITY; + + ENTITY cable_component + SUBTYPE OF ( physical_component ); + END_ENTITY; + + ENTITY cable_terminal + SUBTYPE OF ( shape_aspect ); + SELF\shape_aspect.of_shape : cable_usage_view; + END_ENTITY; + + ENTITY cable_usage_view + SUBTYPE OF ( physical_unit ); + END_ENTITY; + + ENTITY calendar_date + SUBTYPE OF ( date ); + day_component : day_in_month_number; + month_component : month_in_year_number; + WHERE + wr1: valid_calendar_date( SELF ); + END_ENTITY; + + ENTITY camera_image + SUPERTYPE OF ( + ONEOF ( + camera_image_2d_with_scale, + camera_image_3d_with_scale ) ) + SUBTYPE OF ( mapped_item ); + SELF\mapped_item.mapping_source : camera_usage; + SELF\mapped_item.mapping_target : planar_box; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY camera_image_2d_with_scale + SUBTYPE OF ( camera_image ); + DERIVE + scale : positive_ratio_measure := SELF\mapped_item.mapping_target\planar_extent.size_in_x / SELF\mapped_item. + mapping_source.mapping_origin\camera_model_d2.view_window\planar_extent.size_in_x; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAMERA_MODEL_D2' IN TYPEOF( SELF\mapped_item. + mapping_source.mapping_origin ) ); + wr2: ( aspect_ratio( SELF\mapped_item.mapping_target ) = aspect_ratio( SELF\mapped_item.mapping_source.mapping_origin\ + camera_model_d2.view_window ) ); + wr3: SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window_clipping; + END_ENTITY; + + ENTITY camera_image_3d_with_scale + SUBTYPE OF ( camera_image ); + DERIVE + scale : positive_ratio_measure := SELF\mapped_item.mapping_target\planar_extent.size_in_x / SELF\mapped_item. + mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_window.size_in_x; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAMERA_MODEL_D3' IN TYPEOF( SELF\mapped_item. + mapping_source.mapping_origin ) ); + wr2: ( aspect_ratio( SELF\mapped_item.mapping_target ) = aspect_ratio( SELF\mapped_item.mapping_source.mapping_origin\ + camera_model_d3.perspective_of_volume.view_window ) ); + wr3: ( SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.front_plane_clipping AND SELF\ + mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_volume_sides_clipping ); + wr4: ( ( SELF\mapped_item.mapping_target\planar_extent.size_in_x > 0 ) AND ( SELF\mapped_item.mapping_target\planar_extent. + size_in_y > 0 ) ); + wr5: ( ( SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_window.size_in_x > 0 ) + AND ( SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_window.size_in_y > + 0 ) ); + wr6: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( SELF\ + mapped_item.mapping_target\planar_box.placement ) ) AND ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_3D' ) IN TYPEOF( SELF\ + mapped_item.mapping_target\planar_box.placement ) ) ) ); + END_ENTITY; + + ENTITY camera_model + ABSTRACT SUPERTYPE OF ( + ONEOF ( + camera_model_d2, + camera_model_d3 ) ) + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ITEM_DEFINED_TRANSFORMATION.' + 'TRANSFORM_ITEM_1' ) ) + SIZEOF( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_MAP.MAPPING_ORIGIN' ) ) ) + > 0 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'STYLED_ITEM.ITEM' ) ) + = 0 ); + END_ENTITY; + + ENTITY camera_model_d2 + SUBTYPE OF ( camera_model ); + view_window : planar_box; + view_window_clipping : BOOLEAN; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY camera_model_d3 + SUBTYPE OF ( camera_model ); + view_reference_system : axis2_placement_3d; + perspective_of_volume : view_volume; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY camera_model_d3_multi_clipping + SUBTYPE OF ( camera_model_d3 ); + shape_clipping : SET [1 : ?] OF camera_model_d3_multi_clipping_interection_select; + END_ENTITY; + + ENTITY camera_model_d3_multi_clipping_intersection + SUBTYPE OF ( geometric_representation_item ); + shape_clipping : SET [2 : ?] OF camera_model_d3_multi_clipping_interection_select; + END_ENTITY; + + ENTITY camera_model_d3_multi_clipping_union + SUBTYPE OF ( geometric_representation_item ); + shape_clipping : SET [2 : ?] OF camera_model_d3_multi_clipping_union_select; + END_ENTITY; + + ENTITY camera_model_d3_with_hlhsr + SUBTYPE OF ( camera_model_d3 ); + hidden_line_surface_removal : BOOLEAN; + END_ENTITY; + + ENTITY camera_model_with_light_sources + SUBTYPE OF ( camera_model_d3 ); + sources : SET [1 : ?] OF light_source; + END_ENTITY; + + ENTITY camera_usage + SUBTYPE OF ( representation_map ); + SELF\representation_map.mapping_origin : camera_model; + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' IN TYPEOF( + SELF\representation_map.mapped_representation ) ) ); + END_ENTITY; + + ENTITY capacitance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAPACITANCE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY capacitance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.farad ) ); + END_ENTITY; + + ENTITY cartesian_complex_number_region + SUBTYPE OF ( maths_space, generic_literal ); + real_constraint : real_interval; + imag_constraint : real_interval; + WHERE + wr1: ( min_exists( real_constraint ) OR max_exists( real_constraint ) OR min_exists( imag_constraint ) OR max_exists( + imag_constraint ) ); + END_ENTITY; + + ENTITY cartesian_point + SUBTYPE OF ( point ); + coordinates : LIST [1 : 3] OF length_measure; + END_ENTITY; + + ENTITY cartesian_transformation_operator + SUPERTYPE OF ( + ONEOF ( + cartesian_transformation_operator_2d, + cartesian_transformation_operator_3d ) ) + SUBTYPE OF ( geometric_representation_item, functionally_defined_transformation ); + axis1 : OPTIONAL direction; + axis2 : OPTIONAL direction; + local_origin : cartesian_point; + scale : OPTIONAL REAL; + DERIVE + scl : REAL := NVL( scale, 1 ); + WHERE + wr1: ( scl > 0 ); + END_ENTITY; + + ENTITY cartesian_transformation_operator_2d + SUBTYPE OF ( cartesian_transformation_operator ); + DERIVE + u : LIST [2 : 2] OF direction := base_axis( 2, SELF\cartesian_transformation_operator.axis1, SELF\ + cartesian_transformation_operator.axis2, ? ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY cartesian_transformation_operator_3d + SUBTYPE OF ( cartesian_transformation_operator ); + axis3 : OPTIONAL direction; + DERIVE + u : LIST [3 : 3] OF direction := base_axis( 3, SELF\cartesian_transformation_operator.axis1, SELF\ + cartesian_transformation_operator.axis2, axis3 ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY category_model_parameter + SUBTYPE OF ( model_parameter ); + END_ENTITY; + + ENTITY cc_design_approval + SUBTYPE OF ( approval_assignment ); + items : SET [1 : ?] OF approved_item; + END_ENTITY; + + ENTITY cc_design_certification + SUBTYPE OF ( certification_assignment ); + items : SET [1 : ?] OF certified_item; + END_ENTITY; + + ENTITY cc_design_contract + SUBTYPE OF ( contract_assignment ); + items : SET [1 : ?] OF contracted_item; + END_ENTITY; + + ENTITY cc_design_date_and_time_assignment + SUBTYPE OF ( date_and_time_assignment ); + items : SET [1 : ?] OF date_time_item; + END_ENTITY; + + ENTITY cc_design_person_and_organization_assignment + SUBTYPE OF ( person_and_organization_assignment ); + items : SET [1 : ?] OF cc_person_organization_item; + WHERE + wr1: cc_design_person_and_organization_correlation( SELF ); + END_ENTITY; + + ENTITY cc_design_security_classification + SUBTYPE OF ( security_classification_assignment ); + items : SET [1 : ?] OF cc_classified_item; + END_ENTITY; + + ENTITY cc_design_specification_reference + SUBTYPE OF ( document_reference ); + items : SET [1 : ?] OF cc_specified_item; + END_ENTITY; + + ENTITY cdgc_with_dimension + SUBTYPE OF ( curve_distance_geometric_constraint ); + distance_value : non_negative_length_measure; + END_ENTITY; + + ENTITY celsius_temperature_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY centre_of_symmetry + SUBTYPE OF ( derived_shape_aspect ); + END_ENTITY; + + ENTITY certification; + name : label; + purpose : text; + kind : certification_type; + END_ENTITY; + + ENTITY certification_assignment + ABSTRACT SUPERTYPE; + assigned_certification : certification; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ) <= 1 ); + END_ENTITY; + + ENTITY certification_type; + description : label; + END_ENTITY; + + ENTITY chain_based_geometric_item_specific_usage + SUBTYPE OF ( geometric_item_specific_usage, chain_based_item_identified_representation_usage ); + END_ENTITY; + + ENTITY chain_based_item_identified_representation_usage + SUBTYPE OF ( item_identified_representation_usage ); + nodes : LIST [2 : ?] OF UNIQUE representation; + undirected_link : LIST [1 : ?] OF chained_representation_link; + DERIVE + root : representation := nodes[1]; + SELF\item_identified_representation_usage.used_representation : representation := nodes[HIINDEX( nodes )]; + directed_link : LIST [1 : ?] OF representation_relationship := get_directed_link( nodes, + undirected_link ); + leaf : representation := SELF\item_identified_representation_usage.used_representation; + WHERE + wr1: EXISTS( directed_link ); + END_ENTITY; + + ENTITY chamfer + SUBTYPE OF ( transition_feature ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr + .used_representation ) ) AND ( pdr.used_representation.name = 'chamfer face' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER_OFFSET' IN TYPEOF( fcr. + related_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER' IN + TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr.related_shape_aspect.description = 'first offset' ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER_OFFSET' IN TYPEOF( fcr. + related_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER' IN + TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr.related_shape_aspect.description = 'second offset' ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY chamfer_offset + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF.description IN [ 'first offset', 'second offset'] ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr4: ( ( NOT ( SELF.description = 'first offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'offset amount' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'first offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'first face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( SELF.description = 'second offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'offset amount' ) ) OR ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'offset angle' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7: ( ( NOT ( SELF.description = 'second offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'second face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr8: ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER_OFFSET' + IN TYPEOF( sdr.related_shape_aspect ) ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY change + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF work_item; + END_ENTITY; + + ENTITY change_composition_relationship + SUBTYPE OF ( group_relationship ); + SELF\group_relationship.relating_group : change_group; + SELF\group_relationship.related_group : change_element; + DERIVE + composition : change_group := SELF\group_relationship.relating_group; + element : change_element := SELF\group_relationship.related_group; + END_ENTITY; + + ENTITY change_element + ABSTRACT SUPERTYPE OF ( + ONEOF ( + modify_element, + delete_element, + add_element ) ) + SUBTYPE OF ( group, characterized_object ); + END_ENTITY; + + ENTITY change_element_sequence + SUBTYPE OF ( group_relationship ); + SELF\group_relationship.relating_group : change_element; + SELF\group_relationship.related_group : change_element; + DERIVE + next : change_element := SELF\group_relationship.related_group; + previous : change_element := SELF\group_relationship.relating_group; + END_ENTITY; + + ENTITY change_group + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY change_group_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : change_group; + item : change_relationship_select; + END_ENTITY; + + ENTITY change_request + SUBTYPE OF ( action_request_assignment ); + items : SET [1 : ?] OF change_request_item; + END_ENTITY; + + ENTITY character_glyph_font_usage; + character : generic_character_glyph_symbol; + font : text_font; + END_ENTITY; + + ENTITY character_glyph_style_outline + SUBTYPE OF ( founded_item ); + outline_style : curve_style; + END_ENTITY; + + ENTITY character_glyph_style_stroke + SUBTYPE OF ( founded_item ); + stroke_style : curve_style; + END_ENTITY; + + ENTITY character_glyph_symbol + SUBTYPE OF ( generic_character_glyph_symbol ); + character_box : planar_extent; + baseline_ratio : ratio_measure; + DERIVE + box_height : length_measure := character_box.size_in_y; + WHERE + wr1: ( ( 0 <= baseline_ratio ) AND ( baseline_ratio <= 1 ) ); + wr2: item_in_context( SELF.character_box, SELF\representation.context_of_items ); + wr3: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( SELF. + box_height ) ); + END_ENTITY; + + ENTITY character_glyph_symbol_outline + SUBTYPE OF ( character_glyph_symbol ); + outlines : SET [1 : ?] OF annotation_fill_area; + WHERE + wr1: ( SELF.outlines <= SELF\representation.items ); + END_ENTITY; + + ENTITY character_glyph_symbol_stroke + SUBTYPE OF ( character_glyph_symbol ); + strokes : SET [1 : ?] OF curve; + WHERE + wr1: ( SELF.strokes <= SELF\representation.items ); + END_ENTITY; + + ENTITY characteristic_data_column_header + SUBTYPE OF ( general_property ); + END_ENTITY; + + ENTITY characteristic_data_column_header_link + SUBTYPE OF ( general_property_relationship ); + END_ENTITY; + + ENTITY characteristic_data_table_header + SUBTYPE OF ( general_property ); + END_ENTITY; + + ENTITY characteristic_data_table_header_decomposition + SUBTYPE OF ( general_property_relationship ); + END_ENTITY; + + ENTITY characteristic_type + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY characterized_chain_based_item_within_representation + SUBTYPE OF ( characterized_item_within_representation ); + nodes : LIST [2 : ?] OF UNIQUE representation; + undirected_link : LIST [1 : ?] OF chained_representation_link; + DERIVE + root : representation := nodes[1]; + SELF\characterized_item_within_representation.rep : representation := nodes[HIINDEX( nodes )]; + directed_link : LIST [1 : ?] OF representation_relationship := get_directed_link( nodes, + undirected_link ); + leaf : representation := SELF\characterized_item_within_representation.rep; + WHERE + wr1: EXISTS( directed_link ); + END_ENTITY; + + ENTITY characterized_class + SUBTYPE OF ( characterized_object, class ); + END_ENTITY; + + ENTITY characterized_item_within_representation + SUBTYPE OF ( characterized_object ); + item : representation_item; + rep : representation; + UNIQUE + wr1 : item, rep; + WHERE + wr2: ( rep IN using_representations( item ) ); + END_ENTITY; + + ENTITY characterized_object; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY characterized_representation + SUBTYPE OF ( representation, characterized_object ); + DERIVE + SELF\characterized_object.name : label := SELF\representation.name; + SELF\characterized_object.description : text := SELF\representation.description; + END_ENTITY; + + ENTITY circle + SUBTYPE OF ( conic ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY circular_area + SUBTYPE OF ( primitive_2d ); + centre : cartesian_point; + radius : positive_length_measure; + END_ENTITY; + + ENTITY circular_closed_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY circular_path + SUBTYPE OF ( path_node ); + via_point : cartesian_point; + END_ENTITY; + + ENTITY circular_pattern + SUBTYPE OF ( replicate_feature ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr. + related_shape_aspect ) ) ) ) = 1 ) ) ) <= 3 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( ( SIZEOF( impl_rep.used_representation.items ) >= 3 ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 5 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'base feature rotation' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'number of features' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'angular spacing' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY circular_runout_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY class + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY class_by_extension + SUBTYPE OF ( class ); + END_ENTITY; + + ENTITY class_by_intension + SUBTYPE OF ( class ); + END_ENTITY; + + ENTITY class_system + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY class_usage_effectivity_context_assignment + SUBTYPE OF ( effectivity_context_assignment ); + items : SET [1 : ?] OF class_usage_effectivity_context_item; + WHERE + wr1: ( SELF.role.name = 'class usage influence' ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION' IN TYPEOF( i ) ) ) ) ) = 0 ); + wr3: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF( + SELF.assigned_effectivity_assignment ) ) AND ( SIZEOF( TYPEOF( SELF.assigned_effectivity_assignment. + assigned_effectivity ) ) = 1 ) AND ( SELF.assigned_effectivity_assignment.assigned_effectivity.id = 'class usage' ) + AND ( SIZEOF( QUERY ( i <* SELF.assigned_effectivity_assignment\applied_effectivity_assignment.items | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN + TYPEOF( i ) ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY classification_assignment + ABSTRACT SUPERTYPE; + assigned_class : group; + role : classification_role; + END_ENTITY; + + ENTITY classification_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY clgc_with_dimension + SUBTYPE OF ( curve_length_geometric_constraint ); + length_value : positive_length_measure; + END_ENTITY; + + ENTITY closed_curve_style_parameters + SUBTYPE OF ( curve_style_parameters_representation ); + END_ENTITY; + + ENTITY closed_path_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY closed_shell + SUBTYPE OF ( connected_face_set ); + END_ENTITY; + + ENTITY coaxial_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, coaxial_geometric_constraint ); + END_ENTITY; + + ENTITY coaxial_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF axial_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF axial_geometry_constraint_element; + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\explicit_constraint.reference_elements | ( SIZEOF( TYPEOF( q ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPHERICAL_SURFACE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPHERE' ] ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY coaxiality_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY colour; + END_ENTITY; + + ENTITY colour_rgb + SUBTYPE OF ( colour_specification ); + red : REAL; + green : REAL; + blue : REAL; + WHERE + wr1: ( ( 0 <= red ) AND ( red <= 1 ) ); + wr2: ( ( 0 <= green ) AND ( green <= 1 ) ); + wr3: ( ( 0 <= blue ) AND ( blue <= 1 ) ); + END_ENTITY; + + ENTITY colour_specification + SUBTYPE OF ( colour ); + name : label; + END_ENTITY; + + ENTITY common_datum + SUBTYPE OF ( composite_shape_aspect, datum ); + WHERE + wr1: ( SIZEOF( SELF\composite_shape_aspect.component_relationships ) = 2 ); + wr2: ( SIZEOF( QUERY ( sar <* SELF\composite_shape_aspect.component_relationships | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM' IN TYPEOF( sar.related_shape_aspect ) ) + AND ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMMON_DATUM' IN TYPEOF( sar. + related_shape_aspect ) ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY comparison_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + comparison_equal, + comparison_greater, + comparison_greater_equal, + comparison_less, + comparison_less_equal, + comparison_not_equal, + like_expression ) ) + SUBTYPE OF ( boolean_expression, binary_generic_expression ); + SELF\binary_generic_expression.operands : LIST [2 : 2] OF expression; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( SELF\ + binary_generic_expression.operands[1] ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'NUMERIC_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[2] ) ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF( SELF\ + binary_generic_expression.operands[1] ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'BOOLEAN_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[2] ) ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF\ + binary_generic_expression.operands[1] ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'STRING_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[2] ) ) ) ); + END_ENTITY; + + ENTITY comparison_greater + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_greater_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_less + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_less_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_not_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY complex_area + ABSTRACT SUPERTYPE OF ( + path_area_with_parameters + ANDOR + primitive_2d_with_inner_boundary ) + SUBTYPE OF ( primitive_2d ); + END_ENTITY; + + ENTITY complex_clause + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY complex_conjunctive_clause + SUBTYPE OF ( complex_clause ); + END_ENTITY; + + ENTITY complex_disjunctive_clause + SUBTYPE OF ( complex_clause ); + END_ENTITY; + + ENTITY complex_number_literal + SUBTYPE OF ( generic_literal ); + real_part : REAL; + imag_part : REAL; + END_ENTITY; + + ENTITY complex_number_literal_polar + SUBTYPE OF ( complex_number_literal ); + modulus : REAL; + argument : REAL; + DERIVE + SELF\complex_number_literal.real_part : REAL := modulus * COS( argument ); + SELF\complex_number_literal.imag_part : REAL := modulus * SIN( argument ); + WHERE + wr1: ( modulus >= 0 ); + wr2: ( ( 0 <= argument ) AND ( argument <= ( 2 * PI ) ) ); + END_ENTITY; + + ENTITY complex_passage_padstack_definition + SUBTYPE OF ( stratum_stack_dependent_template, passage_padstack_definition ); + END_ENTITY; + + ENTITY complex_shelled_solid + SUBTYPE OF ( shelled_solid ); + thickened_face_list : LIST [1 : ?] OF SET [1 : ?] OF face_surface; + thickness_list : LIST [1 : ?] OF length_measure; + WHERE + wr1: ( SIZEOF( thickened_face_list ) = SIZEOF( thickness_list ) ); + wr2: ( SIZEOF( QUERY ( q <* thickness_list | ( q = 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY complex_triangulated_face + SUBTYPE OF ( tessellated_face ); + pnindex : LIST [0 : ?] OF INTEGER; + triangle_strips : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + triangle_fans : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_face.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_face.pnmax <> coordinates.npoints ) ) ); + wr3: ( NOT ( ( SIZEOF( triangle_strips ) = 0 ) AND ( SIZEOF( triangle_fans ) = 0 ) ) ); + END_ENTITY; + + ENTITY complex_triangulated_surface_set + SUBTYPE OF ( tessellated_surface_set ); + pnindex : LIST [0 : ?] OF INTEGER; + triangle_strips : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + triangle_fans : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_surface_set.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_surface_set.pnmax <> coordinates.npoints ) ) ); + wr3: ( NOT ( ( SIZEOF( triangle_strips ) = 0 ) AND ( SIZEOF( triangle_fans ) = 0 ) ) ); + END_ENTITY; + + ENTITY component_2d_location + SUBTYPE OF ( context_dependent_shape_representation, shape_representation_relationship, + representation_relationship_with_transformation, definitional_representation_relationship ); + DERIVE + SELF\context_dependent_shape_representation.representation_relation : component_2d_location := SELF; + WHERE + wr1: ( SELF\representation_relationship.name = 'component 2d location' ); + END_ENTITY; + + ENTITY component_3d_location + SUBTYPE OF ( context_dependent_shape_representation, shape_representation_relationship, + representation_relationship_with_transformation, definitional_representation_relationship ); + DERIVE + SELF\context_dependent_shape_representation.representation_relation : component_3d_location := SELF; + WHERE + wr1: ( SELF\representation_relationship.name = 'component 3d location' ); + END_ENTITY; + + ENTITY component_definition + SUBTYPE OF ( product_definition, product_definition_relationship ); + DERIVE + SELF\product_definition_relationship.related_product_definition : component_definition := SELF; + WHERE + wr1: ( NOT EXISTS( SELF\product_definition_relationship.description ) ); + wr2: ( NOT EXISTS( SELF\property_definition.description ) ); + wr3: ( SELF\product_definition_relationship.id = SELF\product_definition.id ); + wr4: ( SELF\product_definition_relationship.name = 'definition usage' ); + wr5: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_USAGE' ) IN + TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY component_feature + SUPERTYPE OF ( + ONEOF ( + physical_component_feature, + laminate_component_feature ) ) + SUBTYPE OF ( shape_aspect ); + SELF\shape_aspect.of_shape : assembly_component; + END_ENTITY; + + ENTITY component_feature_joint + SUBTYPE OF ( shape_aspect_relationship, shape_aspect ); + SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; + SELF\shape_aspect_relationship.related_shape_aspect : component_feature; + END_ENTITY; + + ENTITY component_feature_relationship + SUBTYPE OF ( shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; + SELF\shape_aspect_relationship.related_shape_aspect : component_feature; + WHERE + wr1: ( SELF\shape_aspect_relationship.related_shape_aspect :<>: SELF\shape_aspect_relationship.relating_shape_aspect ); + END_ENTITY; + + ENTITY component_functional_terminal + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY component_functional_unit + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY component_material_relationship + SUBTYPE OF ( group, property_definition ); + SELF\property_definition.definition : physical_unit; + END_ENTITY; + + ENTITY component_material_relationship_assignment + SUBTYPE OF ( group_assignment, role_association ); + SELF\group_assignment.assigned_group : component_material_relationship; + items : SET [1 : 1] OF component_material_relationship_assignment_item; + DERIVE + SELF\role_association.item_with_role : component_material_relationship_assignment := SELF; + END_ENTITY; + + ENTITY component_mating_constraint_condition + SUBTYPE OF ( shape_aspect ); + UNIQUE + ur1 : SELF\shape_aspect.name, SELF\shape_aspect.of_shape; + END_ENTITY; + + ENTITY component_mounting_feature + SUBTYPE OF ( physical_component_feature ); + END_ENTITY; + + ENTITY component_part_2d_non_planar_geometric_representation_relationship + SUBTYPE OF ( shape_representation_relationship, representation_relationship_with_transformation ); + END_ENTITY; + + ENTITY component_path_shape_aspect + SUBTYPE OF ( shape_aspect ); + location : multi_or_next_assembly_usage_occurrence; + component_shape_aspect : internal_or_reflected_shape_aspect; + UNIQUE + ur1 : location, component_shape_aspect; + END_ENTITY; + + ENTITY component_terminal + SUPERTYPE OF ( + ONEOF ( + physical_component_terminal, + laminate_component_join_terminal ) ) + SUBTYPE OF ( component_feature ); + END_ENTITY; + + ENTITY component_termination_passage + SUBTYPE OF ( plated_passage ); + END_ENTITY; + + ENTITY component_termination_passage_template + SUBTYPE OF ( continuous_template, inter_stratum_feature_template ); + END_ENTITY; + + ENTITY composite_array_shape_aspect + SUPERTYPE OF ( + ONEOF ( + linear_composite_array_shape_aspect, + rectangular_composite_array_shape_aspect ) ) + SUBTYPE OF ( composite_shape_aspect ); + END_ENTITY; + + ENTITY composite_array_shape_aspect_link + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + WHERE + wr1: ( SELF\shape_aspect_relationship.related_shape_aspect :<>: SELF\shape_aspect_relationship.relating_shape_aspect ); + END_ENTITY; + + ENTITY composite_assembly_sequence_definition + SUBTYPE OF ( product_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATING_PRODUCT_DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' ) IN + TYPEOF( pdr ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY composite_assembly_table + SUBTYPE OF ( part_laminate_table ); + END_ENTITY; + + ENTITY composite_curve + SUBTYPE OF ( bounded_curve ); + segments : LIST [1 : ?] OF composite_curve_segment; + self_intersect : LOGICAL; + DERIVE + n_segments : INTEGER := SIZEOF( segments ); + closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous; + WHERE + wr1: ( ( ( NOT closed_curve ) AND ( SIZEOF( QUERY ( temp <* segments | ( temp.transition = discontinuous ) ) ) = 1 ) ) OR + ( closed_curve AND ( SIZEOF( QUERY ( temp <* segments | ( temp.transition = discontinuous ) ) ) = 0 ) ) ); + END_ENTITY; + + ENTITY composite_curve_on_surface + SUPERTYPE OF ( + boundary_curve ) + SUBTYPE OF ( composite_curve ); + DERIVE + basis_surface : SET [0 : 2] OF surface := get_basis_surface( SELF ); + WHERE + wr1: ( SIZEOF( basis_surface ) > 0 ); + wr2: constraints_composite_curve_on_surface( SELF ); + END_ENTITY; + + ENTITY composite_curve_segment + SUBTYPE OF ( founded_item ); + transition : transition_code; + same_sense : BOOLEAN; + parent_curve : curve; + INVERSE + using_curves : BAG [1 : ?] OF composite_curve FOR segments; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF( parent_curve ) ); + END_ENTITY; + + ENTITY composite_curve_transition_locator + SUBTYPE OF ( founded_item ); + basis_curve : composite_curve; + transition_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY composite_group_shape_aspect + SUBTYPE OF ( composite_shape_aspect ); + END_ENTITY; + + ENTITY composite_hole + SUBTYPE OF ( compound_feature ); + WHERE + wr1: ( SELF\characterized_object.description IN [ 'counterbore', 'countersunk'] ); + wr2: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE' IN TYPEOF( sar. + related_shape_aspect ) ) ) ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr3: ( ( NOT ( SELF\characterized_object.description = 'countersunk' ) ) OR ( SIZEOF( QUERY ( pds <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) + AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT.OF_SHAPE' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE' IN TYPEOF( sar. + related_shape_aspect ) ) AND ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( sar.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'change in diameter occurrence' ) AND ( SIZEOF( QUERY ( fcr2 <* QUERY ( sar2 <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar2.description = 'taper usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar2 ) ) ) ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr2. + related_shape_aspect ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY composite_material_designation + SUBTYPE OF ( material_designation ); + END_ENTITY; + + ENTITY composite_shape_aspect + SUPERTYPE OF ( + ONEOF ( + continuous_shape_aspect, + common_datum, + composite_group_shape_aspect ) ) + SUBTYPE OF ( shape_aspect ); + INVERSE + component_relationships : SET [2 : ?] OF shape_aspect_relationship FOR relating_shape_aspect; + END_ENTITY; + + ENTITY composite_sheet_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION'] + * TYPEOF( SELF ) ) = 1 ); + END_ENTITY; + + ENTITY composite_signal_property_relationship + SUBTYPE OF ( property_definition, property_definition_relationship ); + WHERE + wr1: ( SELF\property_definition_relationship.related_property_definition.definition :<>: SELF\ + property_definition_relationship.relating_property_definition.definition ); + END_ENTITY; + + ENTITY composite_text + SUBTYPE OF ( geometric_representation_item ); + collected_text : SET [2 : ?] OF text_or_character; + WHERE + wr1: acyclic_composite_text( SELF, SELF.collected_text ); + END_ENTITY; + + ENTITY composite_text_with_associated_curves + SUBTYPE OF ( composite_text ); + associated_curves : SET [1 : ?] OF curve; + END_ENTITY; + + ENTITY composite_text_with_blanking_box + SUBTYPE OF ( composite_text ); + blanking : planar_box; + END_ENTITY; + + ENTITY composite_text_with_delineation + SUBTYPE OF ( composite_text ); + delineation : text_delineation; + END_ENTITY; + + ENTITY composite_text_with_extent + SUBTYPE OF ( composite_text ); + extent : planar_extent; + END_ENTITY; + + ENTITY composite_unit_shape_aspect + SUBTYPE OF ( composite_shape_aspect ); + END_ENTITY; + + ENTITY compound_feature + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( csa.name = + 'compound feature in solid' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) ) ) ) = 1 ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) ) ) + = 1 ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( SIZEOF( QUERY ( fcr <* csa.component_relationships | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + fcr ) ) ) ) ) = 0 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr4: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) ) ) + = 1 ) ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THREAD' IN TYPEOF( sar.related_shape_aspect ) ) ) ) + = 0 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr6: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOUND_FEATURE' IN TYPEOF( sar. + related_shape_aspect ) ) AND ( sar.related_shape_aspect\characterized_object.name <> SELF\characterized_object.name ) ) ) ) + = 0 ) ) ) ) = 1 ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY compound_representation_item + SUPERTYPE OF ( + ONEOF ( + point_and_vector, + point_path ) + ANDOR + ONEOF ( + row_representation_item, + table_representation_item ) ) + SUBTYPE OF ( representation_item ); + item_element : compound_item_definition; + END_ENTITY; + + ENTITY compound_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_CONTEXT' ) IN + TYPEOF( SELF.context_of_items ) ) AND ( SELF.context_of_items\geometric_representation_context. + coordinate_space_dimension = 3 ) ); + wr2: ( SIZEOF( QUERY ( cbsr_i <* SELF.items | ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EDGE_BASED_WIREFRAME_MODEL', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'FACE_BASED_SURFACE_MODEL', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MAPPED_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_3D'] * TYPEOF( cbsr_i ) ) + <> 1 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( cbsr_i <* SELF.items | ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EDGE_BASED_WIREFRAME_MODEL', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'FACE_BASED_SURFACE_MODEL', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MAPPED_ITEM'] * TYPEOF( cbsr_i ) ) = 1 ) ) ) + > 0 ); + wr4: ( SIZEOF( QUERY ( cbsr_i <* SELF.items | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MAPPED_ITEM' ) IN TYPEOF( cbsr_i ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'COMPOUND_SHAPE_REPRESENTATION', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' ] + * TYPEOF( cbsr_i\mapped_item.mapping_source ) ) <> 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY concat_expression + SUBTYPE OF ( string_expression, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF string_expression; + END_ENTITY; + + ENTITY concentricity_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY concept_feature_operator; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY concept_feature_relationship; + name : label; + description : OPTIONAL text; + relating_product_concept_feature : product_concept_feature; + related_product_concept_feature : product_concept_feature; + END_ENTITY; + + ENTITY concept_feature_relationship_with_condition + SUBTYPE OF ( concept_feature_relationship ); + conditional_operator : concept_feature_operator; + END_ENTITY; + + ENTITY conditional_concept_feature + SUBTYPE OF ( product_concept_feature ); + condition : concept_feature_relationship_with_condition; + END_ENTITY; + + ENTITY conductance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONDUCTANCE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY conductance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.siemens ) ); + END_ENTITY; + + ENTITY conductive_interconnect_element + ABSTRACT SUPERTYPE OF ( + ONEOF ( + unrouted_conductive_interconnect_element, + conductive_interconnect_element_with_pre_defined_transitions ) ) + SUBTYPE OF ( stratum_feature_template_component ); + END_ENTITY; + + ENTITY conductive_interconnect_element_terminal_link + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : laminate_component_feature; + SELF\shape_aspect_relationship.related_shape_aspect : laminate_component_feature; + WHERE + wr1: ( SELF\shape_aspect_relationship.related_shape_aspect :<>: SELF\shape_aspect_relationship.relating_shape_aspect ); + END_ENTITY; + + ENTITY conductive_interconnect_element_with_pre_defined_transitions + SUBTYPE OF ( conductive_interconnect_element, item_identified_representation_usage ); + DERIVE + SELF\item_identified_representation_usage.definition : property_definition := SELF; + END_ENTITY; + + ENTITY configurable_item + SUBTYPE OF ( configuration_item ); + item_concept_feature : SET [1 : ?] OF product_concept_feature_association; + END_ENTITY; + + ENTITY configuration_design; + configuration : configuration_item; + design : configuration_design_item; + DERIVE + name : label := get_name_value( SELF ); + description : text := get_description_value( SELF ); + UNIQUE + ur1 : configuration, design; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY configuration_effectivity + SUBTYPE OF ( product_definition_effectivity ); + configuration : configuration_design; + UNIQUE + ur1 : configuration, SELF\product_definition_effectivity.usage, SELF\effectivity.id; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_USAGE' IN TYPEOF( SELF\ + product_definition_effectivity.usage ) ); + END_ENTITY; + + ENTITY configuration_item; + id : identifier; + name : label; + description : OPTIONAL text; + item_concept : product_concept; + purpose : OPTIONAL label; + END_ENTITY; + + ENTITY configuration_item_hierarchical_relationship + SUBTYPE OF ( configuration_item_relationship ); + END_ENTITY; + + ENTITY configuration_item_relationship; + name : label; + description : OPTIONAL text; + relating_configuration_item : configuration_item; + related_configuration_item : configuration_item; + END_ENTITY; + + ENTITY configuration_item_revision_sequence + SUBTYPE OF ( configuration_item_relationship ); + END_ENTITY; + + ENTITY configured_effectivity_assignment + SUBTYPE OF ( effectivity_assignment ); + items : SET [1 : ?] OF configured_effectivity_item; + WHERE + wr1: ( ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EFFECTIVITY'] * TYPEOF( SELF. + assigned_effectivity ) ) = 1 ) AND ( SELF.assigned_effectivity.id = 'configuration validity' ) ); + wr2: ( SIZEOF( SELF.items ) = 1 ); + wr3: ( SIZEOF( QUERY ( i <* SELF.items | ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION' IN TYPEOF( i ) ) ) OR ( NOT ( i\product_definition.frame_of_reference.name IN [ + 'conceptual definition' , 'part occurrence', 'functional definition', 'alternative definition'] ) ) ) ) ) = 0 ); + wr4: ( SELF.role.name IN [ 'design', 'usage'] ); + wr5: ( ( SELF.role.name <> 'design' ) OR ( SIZEOF( QUERY ( i <* SELF.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( i ) ) AND ( i\ + product_definition.frame_of_reference.name = 'part occurrence' ) ) ) ) = 0 ) ); + wr6: ( ( SELF.role.name <> 'usage' ) OR ( SIZEOF( QUERY ( i <* SELF.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( i ) ) AND ( i\ + product_definition.frame_of_reference.name = 'conceptual definition' ) ) ) ) = 0 ) ); + wr7: ( SELF.role.description IN [ 'exception', 'inherited', 'local'] ); + wr8: ( SIZEOF( QUERY ( x <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN + TYPEOF( x ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY configured_effectivity_context_assignment + SUBTYPE OF ( effectivity_context_assignment ); + SELF\effectivity_context_assignment.assigned_effectivity_assignment : configured_effectivity_assignment; + items : SET [1 : ?] OF configured_effectivity_context_item; + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + END_ENTITY; + + ENTITY conic + SUPERTYPE OF ( + ONEOF ( + circle, + ellipse, + hyperbola, + parabola ) ) + SUBTYPE OF ( curve ); + position : axis2_placement; + END_ENTITY; + + ENTITY conical_stepped_hole_transition + SUBTYPE OF ( geometric_representation_item ); + transition_number : positive_integer; + cone_apex_angle : plane_angle_measure; + cone_base_radius : positive_length_measure; + END_ENTITY; + + ENTITY conical_surface + SUBTYPE OF ( elementary_surface ); + radius : length_measure; + semi_angle : plane_angle_measure; + WHERE + wr1: ( radius >= 0 ); + END_ENTITY; + + ENTITY connected_area_component + SUBTYPE OF ( area_component ); + END_ENTITY; + + ENTITY connected_edge_set + SUBTYPE OF ( topological_representation_item ); + ces_edges : SET [1 : ?] OF edge; + END_ENTITY; + + ENTITY connected_face_set + SUPERTYPE OF ( + ONEOF ( + closed_shell, + open_shell ) ) + SUBTYPE OF ( topological_representation_item ); + cfs_faces : SET [1 : ?] OF face; + END_ENTITY; + + ENTITY connected_face_sub_set + SUBTYPE OF ( connected_face_set ); + parent_face_set : connected_face_set; + END_ENTITY; + + ENTITY connection_zone_based_assembly_joint + SUBTYPE OF ( assembly_joint ); + END_ENTITY; + + ENTITY connection_zone_based_fabrication_joint + SUBTYPE OF ( fabrication_joint ); + END_ENTITY; + + ENTITY connection_zone_interface_plane_relationship + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + UNIQUE + ur1 : SELF\shape_aspect_relationship.name; + END_ENTITY; + + ENTITY connection_zone_map_identification + SUBTYPE OF ( shape_aspect, representation_relationship ); + SELF\representation_relationship.rep_1 : usage_view_connection_zone_terminal_shape_relationship; + SELF\representation_relationship.rep_2 : usage_view_connection_zone_terminal_shape_relationship; + WHERE + wr1: ( SELF\representation_relationship.rep_2 :<>: SELF\representation_relationship.rep_1 ); + END_ENTITY; + + ENTITY connector_based_interconnect_definition + SUBTYPE OF ( property_definition ); + SELF\property_definition.definition : physical_unit_interconnect_definition; + UNIQUE + ur1 : SELF\property_definition.name, SELF\property_definition.definition; + END_ENTITY; + + ENTITY constant_function + SUBTYPE OF ( maths_function, generic_literal ); + sole_output : maths_value; + source_of_domain : maths_space_or_function; + WHERE + wr1: no_cyclic_domain_reference( source_of_domain, [SELF] ); + wr2: expression_is_constant( domain_from( source_of_domain ) ); + END_ENTITY; + + ENTITY constrained_kinematic_motion_representation + SUBTYPE OF ( representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : representative_shape_representation; + SELF\representation_relationship.rep_2 : representative_shape_representation; + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' + IN TYPEOF( SELF\representation_relationship_with_transformation.transformation_operator\item_defined_transformation + .transform_item_2 ) ) ); + wr2: ( ( dimension_of( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_1 ) = 3 ) AND ( dimension_of( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) = 3 ) ); + wr3: ( ( SELF\representation_relationship.rep_1 IN ( using_representations( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) + using_representation_with_mapping( SELF\representation_relationship_with_transformation. + transformation_operator\item_defined_transformation.transform_item_1 ) ) ) AND ( SELF\representation_relationship. + rep_2 IN ( using_representations( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_2 ) + using_representation_with_mapping( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ) ); + wr4: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KINEMATIC_PAIR' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator ) ); + END_ENTITY; + + ENTITY constructive_geometry_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( + SELF.context_of_items ) ) AND ( 2 <= SELF.context_of_items\geometric_representation_context. + coordinate_space_dimension ) AND ( SELF.context_of_items\geometric_representation_context. + coordinate_space_dimension <= 3 ) ); + wr2: ( SIZEOF( QUERY ( cgr_i <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLACEMENT' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' ] * TYPEOF( cgr_i ) ) <> 1 ) ) ) + = 0 ); + wr3: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.REP_2' ) ) > 0 ); + wr4: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_MAP.' + + 'MAPPED_REPRESENTATION' ) ) = 0 ); + END_ENTITY; + + ENTITY constructive_geometry_representation_relationship + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : constructive_geometry_representation_or_shape_represenation; + SELF\representation_relationship.rep_2 : constructive_geometry_representation; + WHERE + wr1: ( ( SELF.rep_1.context_of_items :=: SELF.rep_2.context_of_items ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( + SELF.rep_1.context_of_items ) ) ); + wr2: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' ) IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY contact_ratio_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( SIZEOF( SELF.items ) = 1 ) AND ( SIZEOF( QUERY ( i <* SELF.items | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( i ) ) = 1 ) AND + ( i.name = 'ratio value' ) ) ) ) = 1 ) ); + wr2: ( ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) | ( pdr\property_definition_representation.name = + 'contact ratio reference' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( ( pdr\property_definition_representation.name = 'contact ratio reference' ) AND ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION' ) IN TYPEOF( pdr\ + property_definition_representation.definition\property_definition.definition ) ) ) ) ) = 1 ) ); + wr3: ( ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + + 'DERIVED_DEFINITION' ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa\general_property_association.base_definition ) ) AND ( gpa\ + general_property_association.base_definition\general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY contact_size_dependent_land + SUBTYPE OF ( land ); + END_ENTITY; + + ENTITY contacting_feature + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF\shape_aspect.product_definitional = FALSE ); + END_ENTITY; + + ENTITY context_dependent_invisibility + SUBTYPE OF ( invisibility ); + presentation_context : invisibility_context; + END_ENTITY; + + ENTITY context_dependent_kinematic_link_representation; + representation_relation : kinematic_link_representation_association; + represented_product_relation : product_definition_relationship_kinematics; + END_ENTITY; + + ENTITY context_dependent_over_riding_styled_item + SUBTYPE OF ( over_riding_styled_item ); + style_context : LIST [1 : ?] OF style_context_select; + WHERE + wr1: ( ( SIZEOF( QUERY ( sc <* SELF.style_context | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM' IN TYPEOF( sc ) ) ) ) = 1 ) OR ( SIZEOF( QUERY ( sc <* SELF.style_context | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( sc ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF( sc ) ) ) ) ) + = SIZEOF( style_context ) ) ); + END_ENTITY; + + ENTITY context_dependent_shape_representation; + representation_relation : shape_representation_relationship; + represented_product_relation : product_definition_shape; + DERIVE + description : text := get_description_value( SELF ); + name : label := get_name_value( SELF ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF( SELF + .represented_product_relation.definition ) ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + wr3: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY context_dependent_unit + SUBTYPE OF ( named_unit ); + name : label; + END_ENTITY; + + ENTITY continuous_shape_aspect + SUPERTYPE OF ( + ONEOF ( + between_shape_aspect, + all_around_shape_aspect ) ) + SUBTYPE OF ( composite_shape_aspect ); + END_ENTITY; + + ENTITY continuous_template + SUBTYPE OF ( geometric_template ); + END_ENTITY; + + ENTITY contract; + name : label; + purpose : text; + kind : contract_type; + END_ENTITY; + + ENTITY contract_assignment + ABSTRACT SUPERTYPE; + assigned_contract : contract; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ) <= 1 ); + END_ENTITY; + + ENTITY contract_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_contract : contract; + related_contract : contract; + END_ENTITY; + + ENTITY contract_type; + description : label; + END_ENTITY; + + ENTITY conversion_based_unit + SUBTYPE OF ( named_unit ); + name : label; + conversion_factor : measure_with_unit; + WHERE + wr1: ( SELF\named_unit.dimensions = derive_dimensional_exponents( conversion_factor\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY coordinated_geometric_relationship_with_2d_3d_placement_transformation + SUBTYPE OF ( shape_representation_relationship, representation_relationship_with_transformation ); + SELF\representation_relationship_with_transformation.transformation_operator : axis_placement_2d_3d_mapping; + WHERE + wr1: acyclic_representation_relationship( SELF, [SELF\representation_relationship.rep_2], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION' ); + wr2: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEFINITIONAL_REPRESENTATION_RELATIONSHIP' + IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY coordinated_universal_time_offset; + hour_offset : INTEGER; + minute_offset : OPTIONAL INTEGER; + sense : ahead_or_behind; + DERIVE + actual_minute_offset : INTEGER := NVL( minute_offset, 0 ); + WHERE + wr1: ( ( 0 <= hour_offset ) AND ( hour_offset < 24 ) ); + wr2: ( ( 0 <= actual_minute_offset ) AND ( actual_minute_offset <= 59 ) ); + wr3: ( NOT ( ( ( hour_offset <> 0 ) OR ( actual_minute_offset <> 0 ) ) AND ( sense = exact ) ) ); + END_ENTITY; + + ENTITY coordinates_list + SUBTYPE OF ( tessellated_item ); + npoints : INTEGER; + position_coords : LIST [1 : ?] OF LIST [3 : 3] OF REAL; + WHERE + wr1: ( npoints = SIZEOF( position_coords ) ); + wr2: ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPOSITIONED_TESSELLATED_ITEM'] * + TYPEOF( SELF ) ) = 0 ); + END_ENTITY; + + ENTITY copy_stratum_technology_occurrence_relationship + SUBTYPE OF ( derived_stratum_technology_occurrence_relationship ); + END_ENTITY; + + ENTITY cos_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY counterbore_passage_template + SUBTYPE OF ( unsupported_passage_template ); + END_ENTITY; + + ENTITY countersunk_passage_template + SUBTYPE OF ( unsupported_passage_template ); + END_ENTITY; + + ENTITY csg_2d_shape_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF csg_2d_shape_select; + WHERE + wr1: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CSG_SOLID' ] * TYPEOF( it ) ) = 1 ) OR ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it ) ) AND ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CSG_2D_SHAPE_REPRESENTATION' ) IN TYPEOF( it\mapped_item.mapping_source.mapped_representation ) ) ) ) ) ) >= 1 ); + wr3: ( SIZEOF( QUERY ( it <* SELF.items | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it ) ) AND ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CSG_2D_SHAPE_REPRESENTATION' ) IN + TYPEOF( it\mapped_item.mapping_source.mapped_representation ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY csg_primitive_solid_2d + SUBTYPE OF ( csg_solid_2d ); + SELF\csg_solid.tree_root_expression : bounded_primitive_2d; + END_ENTITY; + + ENTITY csg_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CSG_SOLID' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_REPLICA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REVOLVED_FACE_SOLID' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF( it ) ) <> 1 ) ) ) + = 0 ); + wr3: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SHAPE_REPRESENTATION' IN TYPEOF( mi\ + mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( sr <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_REPLICA' IN TYPEOF( it ) ) ) | ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SOLID', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REVOLVED_FACE_SOLID' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF( sr\ + solid_replica.parent_solid ) ) = 0 ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' IN TYPEOF( it ) ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY csg_solid + SUBTYPE OF ( solid_model ); + tree_root_expression : csg_select; + END_ENTITY; + + ENTITY csg_solid_2d + SUBTYPE OF ( csg_solid ); + SELF\csg_solid.tree_root_expression : csg_select_2d; + WHERE + wr1: valid_csg_2d_primitives( SELF ); + END_ENTITY; + + ENTITY currency + ABSTRACT SUPERTYPE OF ( + ONEOF ( + externally_defined_currency, + iso4217_currency ) ) + SUBTYPE OF ( context_dependent_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY currency_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + SELF\measure_with_unit.unit_component : currency; + END_ENTITY; + + ENTITY current_change_element_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : current_element_assignment_select; + items : SET [1 : ?] OF change_management_object; + END_ENTITY; + + ENTITY curve + SUPERTYPE OF ( + ONEOF ( + line, + conic, + pcurve, + surface_curve, + offset_curve_2d, + offset_curve_3d, + curve_replica ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY curve_based_path + SUBTYPE OF ( path_node ); + path_curve : curve; + END_ENTITY; + + ENTITY curve_based_path_with_orientation + SUBTYPE OF ( kinematic_path_segment ); + position_curve : bounded_curve; + orientation_curve : bounded_curve; + WHERE + wr1: ( TYPEOF( position_curve ) = TYPEOF( orientation_curve ) ); + END_ENTITY; + + ENTITY curve_based_path_with_orientation_and_parameters + SUBTYPE OF ( curve_based_path_with_orientation ); + parameters : path_parameter_representation; + END_ENTITY; + + ENTITY curve_bounded_surface + SUBTYPE OF ( bounded_surface ); + basis_surface : surface; + boundaries : SET [1 : ?] OF boundary_curve; + implicit_outer : BOOLEAN; + WHERE + wr1: ( ( NOT implicit_outer ) OR ( SIZEOF( QUERY ( temp <* boundaries | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF( temp ) ) ) ) + = 0 ) ); + wr2: ( ( NOT implicit_outer ) OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_SURFACE' IN + TYPEOF( basis_surface ) ) ); + wr3: ( SIZEOF( QUERY ( temp <* boundaries | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'OUTER_BOUNDARY_CURVE' IN TYPEOF( temp ) ) ) ) <= 1 ); + wr4: ( SIZEOF( QUERY ( temp <* boundaries | ( temp\composite_curve_on_surface.basis_surface[1] <> SELF.basis_surface ) ) ) + = 0 ); + END_ENTITY; + + ENTITY curve_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY curve_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 2] OF curve; + SELF\explicit_constraint.reference_elements : SET [0 : 4] OF point_curve_or_surface_constraint_element; + near_points : SET [0 : 4] OF near_point_relationship; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CDGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND + ( SIZEOF( SELF\explicit_constraint.constrained_elements ) = 2 ) ) ); + wr2: ( SIZEOF( near_points ) <= SIZEOF( SELF\explicit_constraint.reference_elements ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY curve_length_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF bounded_curve; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY curve_replica + SUBTYPE OF ( curve ); + parent_curve : curve; + transformation : cartesian_transformation_operator; + WHERE + wr1: ( transformation.dim = parent_curve.dim ); + wr2: acyclic_curve_replica( SELF, parent_curve ); + END_ENTITY; + + ENTITY curve_segment_set + SUBTYPE OF ( geometric_representation_item ); + segments : SET [1 : ?] OF composite_curve_segment; + END_ENTITY; + + ENTITY curve_smoothness_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 1] OF curve_segment_set; + smoothness : transition_code; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY curve_style + SUBTYPE OF ( founded_item ); + name : label; + curve_font : OPTIONAL curve_font_or_scaled_curve_font_select; + curve_width : OPTIONAL size_select; + curve_colour : OPTIONAL colour; + WHERE + wr1: ( EXISTS( curve_font ) OR EXISTS( curve_width ) OR EXISTS( curve_colour ) ); + END_ENTITY; + + ENTITY curve_style_font + SUBTYPE OF ( founded_item ); + name : label; + pattern_list : LIST [1 : ?] OF curve_style_font_pattern; + END_ENTITY; + + ENTITY curve_style_font_and_scaling + SUBTYPE OF ( founded_item ); + name : label; + curve_font : curve_style_font_select; + curve_font_scaling : REAL; + END_ENTITY; + + ENTITY curve_style_font_pattern + SUBTYPE OF ( founded_item ); + visible_segment_length : positive_length_measure; + invisible_segment_length : positive_length_measure; + END_ENTITY; + + ENTITY curve_style_parameters_representation + SUBTYPE OF ( representation ); + END_ENTITY; + + ENTITY curve_style_parameters_with_ends + SUBTYPE OF ( curve_style_parameters_representation ); + END_ENTITY; + + ENTITY curve_style_rendering; + rendering_method : shading_curve_method; + rendering_properties : surface_rendering_properties; + END_ENTITY; + + ENTITY curve_swept_solid_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_AREA_SOLID' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_DISK_SOLID' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SWEPT_AREA_SOLID' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_DISK_SOLID', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( scsas <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE_SWEPT_AREA_SOLID' IN TYPEOF( it ) ) ) + | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( scsas\ + surface_curve_swept_area_solid.directrix ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( scsas\ + surface_curve_swept_area_solid.directrix ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY curve_with_excessive_segments + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_OR_COMPOSITE_CURVE_SELECT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY curve_with_small_curvature_radius + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_CURVE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY cutout + SUPERTYPE OF ( + ONEOF ( + physical_connectivity_interrupting_cutout, + plated_cutout, + partially_plated_cutout ) ) + SUBTYPE OF ( inter_stratum_feature ); + END_ENTITY; + + ENTITY cutout_edge_segment + SUPERTYPE OF ( + plated_cutout_edge_segment ) + SUBTYPE OF ( inter_stratum_feature, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; + SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + END_ENTITY; + + ENTITY cylindrical_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY cylindrical_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : cylindrical_pair; + actual_translation : length_measure; + actual_rotation : plane_angle_measure; + END_ENTITY; + + ENTITY cylindrical_pair_with_range + SUBTYPE OF ( cylindrical_pair ); + lower_limit_actual_translation : OPTIONAL length_measure; + upper_limit_actual_translation : OPTIONAL length_measure; + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_translation ) ) OR ( NOT EXISTS( upper_limit_actual_translation ) ) ) XOR ( + lower_limit_actual_translation < upper_limit_actual_translation ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + END_ENTITY; + + ENTITY cylindrical_surface + SUBTYPE OF ( elementary_surface ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY cylindricity_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY data_environment; + name : label; + description : text; + elements : SET [1 : ?] OF property_definition_representation; + END_ENTITY; + + ENTITY data_quality_assessment_measurement_association; + assessment_specification : data_quality_criterion_assessment_association; + measurement_requirement : data_quality_criterion_measurement_association; + WHERE + wr1: ( SELF.measurement_requirement\representation_item_relationship.relating_representation_item :=: SELF. + assessment_specification.criterion ); + END_ENTITY; + + ENTITY data_quality_assessment_specification; + description : text; + END_ENTITY; + + ENTITY data_quality_criteria_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_CRITERION' ) IN TYPEOF( q ) ) ) ) + > 0 ); + END_ENTITY; + + ENTITY data_quality_criterion + SUBTYPE OF ( representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION.ITEMS' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_criterion_assessment_association; + criterion : data_quality_criterion; + assessment_specification : data_quality_assessment_specification; + END_ENTITY; + + ENTITY data_quality_criterion_measurement_association + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : data_quality_criterion; + SELF\representation_item_relationship.related_representation_item : data_quality_measurement_requirement; + END_ENTITY; + + ENTITY data_quality_definition; + description : text; + END_ENTITY; + + ENTITY data_quality_definition_relationship; + description : text; + relating_data_quality_definition : data_quality_definition; + related_data_quality_definition : data_quality_definition; + END_ENTITY; + + ENTITY data_quality_definition_representation_relationship; + description : text; + definition : data_quality_definition; + used_representation : used_quality_representation_select; + END_ENTITY; + + ENTITY data_quality_inspection_criterion_report + SUBTYPE OF ( data_quality_inspection_report ); + statistical_values : SET [1 : 2] OF data_quality_inspection_criterion_report_item; + WHERE + wr1: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF\data_quality_inspection_report.inspection_result.criterion_inspected, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_REPORT_REQUEST.' + + 'CRITERION_OF_REPORT_REQUEST' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SUMMARY_REPORT_REQUEST' ) IN TYPEOF( i1 ) ) ) ) > 0 ); + wr2: ( ( SIZEOF( SELF.statistical_values ) = 1 ) OR ( SELF.statistical_values[1].value_type <> SELF.statistical_values[2]. + value_type ) ); + END_ENTITY; + + ENTITY data_quality_inspection_criterion_report_item + SUBTYPE OF ( representation_item ); + statistical_value : INTEGER; + value_type : statistical_value_type; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION.ITEMS' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_instance_report + SUBTYPE OF ( data_quality_inspection_report ); + inspected_instances : LIST [1 : ?] OF data_quality_inspection_instance_report_item; + WHERE + wr1: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF\data_quality_inspection_report.inspection_result.criterion_inspected, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_REPORT_REQUEST.' + + 'CRITERION_OF_REPORT_REQUEST' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DETAILED_REPORT_REQUEST' ) IN TYPEOF( i1 ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_instance_report_item + SUBTYPE OF ( representation_item ); + inspected_elements : SET [1 : ?] OF inspected_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION.ITEMS' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_report + SUPERTYPE OF ( + ONEOF ( + data_quality_inspection_criterion_report, + data_quality_inspection_instance_report ) ) + SUBTYPE OF ( representation_item ); + inspection_result : data_quality_inspection_result; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION.ITEMS' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_result + SUBTYPE OF ( representation_item ); + criterion_inspected : data_quality_criterion; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION.ITEMS' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_result_representation + SUBTYPE OF ( representation ); + criteria_inspected : data_quality_criteria_representation; + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_INSPECTION_RESULT' ) IN + TYPEOF( q ) ) ) ) > 0 ); + wr2: ( SIZEOF( inspected_product_definition( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_result_with_judgement + SUBTYPE OF ( data_quality_inspection_result ); + judgement : BOOLEAN; + END_ENTITY; + + ENTITY data_quality_measurement_requirement + SUBTYPE OF ( representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION.ITEMS' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_report_measurement_association + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : data_quality_measurement_requirement; + SELF\representation_item_relationship.related_representation_item : data_quality_inspection_report; + END_ENTITY; + + ENTITY data_quality_report_request + ABSTRACT SUPERTYPE OF ( + ONEOF ( + summary_report_request, + detailed_report_request ) ); + description : text; + criterion_of_report_request : data_quality_criterion; + END_ENTITY; + + ENTITY date + SUPERTYPE OF ( + ONEOF ( + calendar_date, + ordinal_date, + week_of_year_and_day_date, + year_month ) ); + year_component : year_number; + END_ENTITY; + + ENTITY date_and_time; + date_component : date; + time_component : local_time; + END_ENTITY; + + ENTITY date_and_time_assignment + ABSTRACT SUPERTYPE; + assigned_date_and_time : date_and_time; + role : date_time_role; + END_ENTITY; + + ENTITY date_assignment + ABSTRACT SUPERTYPE; + assigned_date : date; + role : date_role; + END_ENTITY; + + ENTITY date_representation_item + SUBTYPE OF ( representation_item, date ); + END_ENTITY; + + ENTITY date_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY date_time_representation_item + SUBTYPE OF ( representation_item, date_and_time ); + END_ENTITY; + + ENTITY date_time_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY dated_effectivity + SUBTYPE OF ( effectivity ); + effectivity_end_date : OPTIONAL date_time_or_event_occurrence; + effectivity_start_date : OPTIONAL date_time_or_event_occurrence; + WHERE + wr1: ( EXISTS( effectivity_end_date ) OR EXISTS( effectivity_start_date ) ); + END_ENTITY; + + ENTITY datum + SUBTYPE OF ( shape_aspect ); + identification : identifier; + INVERSE + established_by_relationships : SET [1 : ?] OF shape_aspect_relationship FOR related_shape_aspect; + UNIQUE + ur1 : identification, SELF\shape_aspect.of_shape; + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMMON_DATUM' IN TYPEOF( SELF ) ) XOR ( + SIZEOF( QUERY ( x <* SELF\datum.established_by_relationships | ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_FEATURE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_TARGET' ] * TYPEOF( x\ + shape_aspect_relationship.relating_shape_aspect ) ) = 1 ) ) ) >= 1 ) ); + wr2: ( SIZEOF( QUERY ( x <* SELF\datum.established_by_relationships | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_FEATURE' IN TYPEOF( x\ + shape_aspect_relationship.relating_shape_aspect ) ) ) ) <= 1 ); + wr3: ( SELF\shape_aspect.product_definitional = FALSE ); + wr4: ( SELF\shape_aspect.name = '' ); + END_ENTITY; + + ENTITY datum_difference + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : datum; + SELF\shape_aspect_relationship.related_shape_aspect : datum; + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + END_ENTITY; + + ENTITY datum_difference_based_model_parameter + SUBTYPE OF ( model_parameter ); + END_ENTITY; + + ENTITY datum_difference_functional_unit_usage_view_terminal_assignment + SUBTYPE OF ( shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : datum_difference; + SELF\shape_aspect_relationship.related_shape_aspect : functional_unit_terminal_definition; + END_ENTITY; + + ENTITY datum_feature + SUPERTYPE OF ( + ONEOF ( + dimensional_location_with_datum_feature, + dimensional_size_with_datum_feature ) ) + SUBTYPE OF ( shape_aspect ); + INVERSE + feature_basis_relationship : SET [1 : ?] OF shape_aspect_relationship FOR relating_shape_aspect; + WHERE + wr1: ( SIZEOF( QUERY ( sar <* SELF\datum_feature.feature_basis_relationship | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM' IN TYPEOF( sar\ + shape_aspect_relationship.related_shape_aspect ) ) ) ) = 1 ); + wr2: ( SELF\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY datum_feature_callout + SUBTYPE OF ( draughting_callout ); + END_ENTITY; + + ENTITY datum_reference; + precedence : INTEGER; + referenced_datum : datum; + WHERE + wr1: ( precedence > 0 ); + END_ENTITY; + + ENTITY datum_reference_compartment + SUBTYPE OF ( general_datum_reference ); + INVERSE + owner : datum_system FOR constituents; + END_ENTITY; + + ENTITY datum_reference_element + SUBTYPE OF ( general_datum_reference ); + DERIVE + owner : general_datum_reference := sts_get_general_datum_reference( SELF ); + WHERE + wr1: ( SELF <> owner ); + wr2: EXISTS( owner ); + wr3: ( SELF\shape_aspect.of_shape = owner\shape_aspect.of_shape ); + END_ENTITY; + + ENTITY datum_reference_modifier_with_value; + modifier_type : datum_reference_modifier_type; + modifier_value : length_measure_with_unit; + WHERE + wr1: ( modifier_value\measure_with_unit.value_component > 0 ); + END_ENTITY; + + ENTITY datum_system + SUBTYPE OF ( shape_aspect ); + constituents : LIST [1 : 3] OF UNIQUE datum_reference_compartment; + UNIQUE + ur1 : SELF\shape_aspect.of_shape, SELF\shape_aspect.name; + WHERE + wr1: ( SELF\shape_aspect.product_definitional = FALSE ); + END_ENTITY; + + ENTITY datum_target + SUBTYPE OF ( shape_aspect ); + target_id : identifier; + INVERSE + target_basis_relationship : SET [1 : ?] OF shape_aspect_relationship FOR relating_shape_aspect; + WHERE + wr1: ( SIZEOF( QUERY ( sar <* SELF\datum_target.target_basis_relationship | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM' IN TYPEOF( sar\ + shape_aspect_relationship.related_shape_aspect ) ) ) ) = 1 ); + wr2: ( SELF\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY datum_target_callout + SUBTYPE OF ( draughting_callout ); + END_ENTITY; + + ENTITY default_attachment_size_based_land_physical_template + SUBTYPE OF ( land_physical_template, shape_aspect ); + DERIVE + SELF\shape_aspect.of_shape : default_attachment_size_based_land_physical_template := SELF; + END_ENTITY; + + ENTITY default_passage_based_land_physical_template + ABSTRACT SUPERTYPE OF ( + ONEOF ( + default_plated_passage_based_land_physical_template, + default_unsupported_passage_based_land_physical_template ) ) + SUBTYPE OF ( land_physical_template ); + END_ENTITY; + + ENTITY default_plated_passage_based_land_physical_template + SUBTYPE OF ( default_passage_based_land_physical_template ); + END_ENTITY; + + ENTITY default_tolerance_table + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF( i ) ) ) ) ) = 0 ); + wr2: ( ( SIZEOF( QUERY ( rr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.REP_1' ) | ( rr.name < 'general tolerance definition' ) ) ) = 0 ) AND ( SIZEOF( + QUERY ( rr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.REP_1' ) | ( ( rr.name = 'general tolerance definition' ) AND ( rr.rep_2.name < + 'default tolerance' ) ) ) ) = 0 ) AND ( SIZEOF( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2' ) ) = + 0 ) ); + END_ENTITY; + + ENTITY default_tolerance_table_cell + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( x <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION.ITEMS' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DEFAULT_TOLERANCE_TABLE' ) IN TYPEOF( x ) ) ) ) = 1 ); + wr2: default_tolerance_table_cell_wr2( SELF\compound_representation_item.item_element ); + wr3: default_tolerance_table_cell_wr3( SELF\compound_representation_item.item_element ); + wr4: default_tolerance_table_cell_wr4( SELF\compound_representation_item.item_element ); + wr5: default_tolerance_table_cell_wr5( SELF\compound_representation_item.item_element ); + END_ENTITY; + + ENTITY default_trace_template + SUBTYPE OF ( trace_template ); + END_ENTITY; + + ENTITY default_unsupported_passage_based_land_physical_template + SUBTYPE OF ( default_passage_based_land_physical_template ); + END_ENTITY; + + ENTITY default_value_property_definition_representation + SUBTYPE OF ( property_definition_representation ); + END_ENTITY; + + ENTITY defined_character_glyph + SUBTYPE OF ( geometric_representation_item ); + definition : defined_glyph_select; + placement : axis2_placement; + END_ENTITY; + + ENTITY defined_constraint + ABSTRACT SUPERTYPE OF ( + equal_parameter_constraint ) + SUBTYPE OF ( explicit_constraint ); + END_ENTITY; + + ENTITY defined_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + numeric_defined_function, + string_defined_function, + boolean_defined_function ) + ANDOR + sql_mappable_defined_function ); + END_ENTITY; + + ENTITY defined_symbol + SUBTYPE OF ( geometric_representation_item ); + definition : defined_symbol_select; + target : symbol_target; + END_ENTITY; + + ENTITY definite_integral_expression + SUBTYPE OF ( quantifier_expression ); + lower_limit_neg_infinity : BOOLEAN; + upper_limit_pos_infinity : BOOLEAN; + DERIVE + integrand : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + variable_of_integration : maths_variable := SELF\multiple_arity_generic_expression.operands[2]; + SELF\quantifier_expression.variables : LIST [1 : 1] OF UNIQUE generic_variable := [variable_of_integration]; + WHERE + wr1: has_values_space( integrand ); + wr2: space_is_continuum( values_space_of( integrand ) ); + wr3: definite_integral_expr_check( SELF\multiple_arity_generic_expression.operands, lower_limit_neg_infinity, + upper_limit_pos_infinity ); + END_ENTITY; + + ENTITY definite_integral_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + variable_of_integration : input_selector; + lower_limit_neg_infinity : BOOLEAN; + upper_limit_pos_infinity : BOOLEAN; + DERIVE + integrand : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: space_is_continuum( integrand.range ); + wr2: definite_integral_check( integrand.domain, variable_of_integration, lower_limit_neg_infinity, upper_limit_pos_infinity ); + END_ENTITY; + + ENTITY definitional_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( + SELF\representation.context_of_items ) ); + END_ENTITY; + + ENTITY definitional_representation_relationship + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: acyclic_representation_relationship( SELF, [SELF\representation_relationship.rep_2], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION' ); + END_ENTITY; + + ENTITY definitional_representation_relationship_with_same_context + SUBTYPE OF ( definitional_representation_relationship ); + WHERE + wr1: ( SELF\representation_relationship.rep_1.context_of_items :=: SELF\representation_relationship.rep_2.context_of_items ); + END_ENTITY; + + ENTITY degenerate_pcurve + SUBTYPE OF ( point ); + basis_surface : surface; + reference_to_curve : definitional_representation; + WHERE + wr1: ( SIZEOF( reference_to_curve\representation.items ) = 1 ); + wr2: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF( reference_to_curve\ + representation.items[1] ) ); + wr3: ( reference_to_curve\representation.items[1]\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY degenerate_toroidal_surface + SUBTYPE OF ( toroidal_surface ); + select_outer : BOOLEAN; + WHERE + wr1: ( major_radius < minor_radius ); + END_ENTITY; + + ENTITY delete_element + SUBTYPE OF ( change_element ); + END_ENTITY; + + ENTITY dependent_electrical_isolation_removal_component + SUBTYPE OF ( electrical_isolation_laminate_component ); + END_ENTITY; + + ENTITY dependent_electrical_isolation_removal_template + SUBTYPE OF ( electrical_isolation_removal_template ); + END_ENTITY; + + ENTITY dependent_thermal_isolation_removal_component + SUBTYPE OF ( thermal_isolation_removal_component ); + END_ENTITY; + + ENTITY dependent_thermal_isolation_removal_template + SUBTYPE OF ( thermal_isolation_removal_template ); + END_ENTITY; + + ENTITY derived_laminate_assignment + SUBTYPE OF ( property_definition_relationship ); + END_ENTITY; + + ENTITY derived_shape_aspect + SUPERTYPE OF ( + ONEOF ( + apex, + centre_of_symmetry, + geometric_alignment, + geometric_contact, + geometric_intersection, + parallel_offset, + perpendicular_to, + extension, + tangent ) ) + SUBTYPE OF ( shape_aspect ); + INVERSE + deriving_relationships : SET [1 : ?] OF shape_aspect_deriving_relationship FOR relating_shape_aspect; + END_ENTITY; + + ENTITY derived_stratum + SUBTYPE OF ( stratum ); + END_ENTITY; + + ENTITY derived_stratum_technology_occurrence_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + copy_stratum_technology_occurrence_relationship, + inverse_copy_stratum_technology_occurrence_relationship ) ) + SUBTYPE OF ( stratum_technology_occurrence_relationship ); + END_ENTITY; + + ENTITY derived_unit + SUPERTYPE OF ( + ONEOF ( + absorbed_dose_unit, + acceleration_unit, + radioactivity_unit, + area_unit, + capacitance_unit, + dose_equivalent_unit, + electric_charge_unit, + conductance_unit, + electric_potential_unit, + energy_unit, + magnetic_flux_density_unit, + force_unit, + frequency_unit, + illuminance_unit, + inductance_unit, + magnetic_flux_unit, + power_unit, + pressure_unit, + resistance_unit, + velocity_unit, + volume_unit ) ); + elements : SET [1 : ?] OF derived_unit_element; + DERIVE + name : label := get_name_value( SELF ); + WHERE + wr1: ( ( SIZEOF( elements ) > 1 ) OR ( ( SIZEOF( elements ) = 1 ) AND ( elements[1].exponent <> 1 ) ) ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY derived_unit_element; + unit : named_unit; + exponent : REAL; + END_ENTITY; + + ENTITY description_attribute; + attribute_value : text; + described_item : description_attribute_select; + END_ENTITY; + + ENTITY descriptive_representation_item + SUPERTYPE OF ( + ONEOF ( + tagged_text_item, + uniform_resource_identifier ) ) + SUBTYPE OF ( representation_item ); + description : text; + END_ENTITY; + + ENTITY design_composition_path + SUBTYPE OF ( applied_group_assignment, product_definition ); + END_ENTITY; + + ENTITY design_context + SUBTYPE OF ( product_definition_context ); + WHERE + wr1: ( SELF.life_cycle_stage = 'design' ); + END_ENTITY; + + ENTITY design_layer_stratum + SUBTYPE OF ( stratum ); + END_ENTITY; + + ENTITY design_make_from_relationship + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY design_specific_stratum_technology_mapping_relationship + SUBTYPE OF ( stratum_technology_mapping_relationship, property_definition ); + SELF\property_definition.definition : library_to_design_stack_model_mapping; + DERIVE + scope : library_to_design_stack_model_mapping := SELF\property_definition.definition; + END_ENTITY; + + ENTITY design_stack_model + SUBTYPE OF ( stratum_stack_model ); + END_ENTITY; + + ENTITY detailed_report_request + SUBTYPE OF ( data_quality_report_request ); + detailed_report_request_type : detailed_report_type; + report_sequence : preferred_ordering; + END_ENTITY; + + ENTITY detailed_report_request_with_number_of_data + SUBTYPE OF ( detailed_report_request ); + number_of_data : INTEGER; + DERIVE + SELF\detailed_report_request.detailed_report_request_type : detailed_report_type := measured_element; + END_ENTITY; + + ENTITY device_terminal_map + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : packaged_part_terminal; + UNIQUE + ur1 : SELF\shape_aspect_relationship.related_shape_aspect, SELF\shape_aspect_relationship.relating_shape_aspect; + END_ENTITY; + + ENTITY diameter_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY dielectric_constant_measure_with_unit + SUBTYPE OF ( ratio_measure_with_unit ); + END_ENTITY; + + ENTITY dielectric_crossover_area + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + END_ENTITY; + + ENTITY dielectric_material_passage + SUBTYPE OF ( inter_stratum_feature ); + END_ENTITY; + + ENTITY digital_analytical_model_port + SUBTYPE OF ( analytical_model_port ); + END_ENTITY; + + ENTITY digital_analytical_model_scalar_port + SUBTYPE OF ( digital_analytical_model_vector_port, analytical_model_scalar_port ); + END_ENTITY; + + ENTITY digital_analytical_model_vector_port + SUBTYPE OF ( analytical_model_vector_port ); + END_ENTITY; + + ENTITY dimension_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) + XOR ( SIZEOF( QUERY ( dce_1 <* SELF\draughting_callout.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF( dce_1 ) ) ) ) = 0 ) ); + wr2: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) + XOR ( SIZEOF( QUERY ( dce_1 <* SELF\draughting_callout.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN TYPEOF( dce_1 ) ) ) ) = + 0 ) ); + wr3: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF( + SELF ) ) XOR ( SIZEOF( QUERY ( dce_1 <* SELF\draughting_callout.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' IN TYPEOF( dce_1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY dimension_callout_component_relationship + SUBTYPE OF ( draughting_callout_relationship ); + WHERE + wr1: ( SELF.name IN [ 'prefix', 'suffix'] ); + wr2: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRUCTURED_DIMENSION_CALLOUT' IN TYPEOF( SELF. + relating_draughting_callout ) ); + wr3: ( SIZEOF( TYPEOF( SELF.related_draughting_callout ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRUCTURED_DIMENSION_CALLOUT' ] ) = 0 ); + wr4: ( ( SELF.related_draughting_callout.contents * SELF.relating_draughting_callout.contents ) = SELF. + related_draughting_callout.contents ); + wr5: ( ( SELF.name = 'prefix' ) AND ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.related_draughting_callout.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) + | ( NOT ( ato.name = 'prefix text' ) ) ) ) = 0 ) ); + wr6: ( ( SELF.name = 'suffix' ) AND ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.related_draughting_callout.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) + | ( NOT ( ato.name = 'suffix text' ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY dimension_callout_relationship + SUBTYPE OF ( draughting_callout_relationship ); + WHERE + wr1: ( SELF.name IN [ 'primary', 'secondary'] ); + wr2: ( SIZEOF( TYPEOF( SELF.relating_draughting_callout ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULAR_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIAMETER_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORDINATE_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIUS_DIMENSION' ] ) >= 1 ); + wr3: ( SIZEOF( TYPEOF( SELF.related_draughting_callout ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' ] ) = 0 ); + wr4: ( ( SELF.related_draughting_callout.contents * SELF.relating_draughting_callout.contents ) = SELF. + related_draughting_callout.contents ); + END_ENTITY; + + ENTITY dimension_curve + SUBTYPE OF ( annotation_curve_occurrence ); + WHERE + wr1: ( SIZEOF( QUERY ( dct <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'TERMINATOR_SYMBOL.ANNOTATED_CURVE' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DIMENSION_CURVE_TERMINATOR' ) IN TYPEOF( dct ) ) ) ) <= 2 ); + wr2: ( SIZEOF( QUERY ( dcdc <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT.CONTENTS' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DIMENSION_CURVE_DIRECTED_CALLOUT' ) IN TYPEOF( dcdc ) ) ) ) >= 1 ); + wr3: ( ( SIZEOF( QUERY ( dct1 <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'TERMINATOR_SYMBOL.ANNOTATED_CURVE' ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DIMENSION_CURVE_TERMINATOR' ) IN TYPEOF( dct1 ) ) AND ( dct1\dimension_curve_terminator.role = + dimension_extent_usage.origin ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( dct2 <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'TERMINATOR_SYMBOL.ANNOTATED_CURVE' ) | + ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DIMENSION_CURVE_TERMINATOR' ) IN + TYPEOF( dct2 ) ) AND ( dct2\dimension_curve_terminator.role = dimension_extent_usage.target ) ) ) ) <= 1 ) ); + END_ENTITY; + + ENTITY dimension_curve_directed_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( d_c <* SELF\draughting_callout.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' IN TYPEOF( d_c ) ) ) ) <= 2 ); + wr2: ( SIZEOF( SELF\draughting_callout.contents ) >= 2 ); + END_ENTITY; + + ENTITY dimension_curve_terminator + SUBTYPE OF ( terminator_symbol ); + role : dimension_extent_usage; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' IN TYPEOF( SELF\ + terminator_symbol.annotated_curve ) ); + END_ENTITY; + + ENTITY dimension_curve_terminator_to_projection_curve_associativity + SUBTYPE OF ( annotation_occurrence_associativity ); + SELF\annotation_occurrence_relationship.relating_annotation_occurrence : dimension_curve_terminator; + SELF\annotation_occurrence_relationship.related_annotation_occurrence : projection_curve; + END_ENTITY; + + ENTITY dimension_pair + SUBTYPE OF ( draughting_callout_relationship ); + WHERE + wr1: ( SELF.name IN [ 'chained', 'parallel'] ); + wr2: ( SIZEOF( TYPEOF( SELF.relating_draughting_callout ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULAR_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIAMETER_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORDINATE_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIUS_DIMENSION' ] ) = 1 ); + wr3: ( SIZEOF( TYPEOF( SELF.related_draughting_callout ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULAR_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIAMETER_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORDINATE_DIMENSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIUS_DIMENSION' ] ) = 1 ); + END_ENTITY; + + ENTITY dimension_related_tolerance_zone_element; + related_dimension : dimensional_location; + related_element : tolerance_zone_definition; + END_ENTITY; + + ENTITY dimension_text_associativity + SUBTYPE OF ( text_literal, mapped_item ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DIMENSION_REPRESENTATION' IN TYPEOF( SELF\ + mapped_item.mapping_source.mapped_representation ) ); + wr2: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF( SELF\mapped_item. + mapping_target ) ); + wr3: ( SIZEOF( QUERY ( ato <* QUERY ( si <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM.ITEM' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( si ) ) ) + | ( NOT ( SIZEOF( QUERY ( dc <* USEDIN( ato, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT.CONTENTS' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT' IN TYPEOF( dc ) ) ) * [SELF\mapped_item.mapping_target] ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY dimensional_characteristic_representation; + dimension : dimensional_characteristic; + representation : shape_dimension_representation; + END_ENTITY; + + ENTITY dimensional_exponents; + length_exponent : REAL; + mass_exponent : REAL; + time_exponent : REAL; + electric_current_exponent : REAL; + thermodynamic_temperature_exponent : REAL; + amount_of_substance_exponent : REAL; + luminous_intensity_exponent : REAL; + END_ENTITY; + + ENTITY dimensional_location + SUPERTYPE OF ( + ONEOF ( + angular_location, + dimensional_location_with_path ) ) + SUBTYPE OF ( shape_aspect_relationship ); + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + wr2: ( SELF\shape_aspect_relationship.relating_shape_aspect.of_shape :=: SELF\shape_aspect_relationship. + related_shape_aspect.of_shape ); + END_ENTITY; + + ENTITY dimensional_location_with_datum_feature + SUBTYPE OF ( datum_feature, dimensional_location ); + END_ENTITY; + + ENTITY dimensional_location_with_path + SUBTYPE OF ( dimensional_location ); + path : shape_aspect; + END_ENTITY; + + ENTITY dimensional_size + SUPERTYPE OF ( + ONEOF ( + angular_size, + dimensional_size_with_path ) ); + applies_to : shape_aspect; + name : label; + DERIVE + id : identifier := get_id_value( SELF ); + UNIQUE + ur1 : id, applies_to; + WHERE + wr1: ( applies_to.product_definitional = TRUE ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY dimensional_size_with_datum_feature + SUBTYPE OF ( datum_feature, dimensional_size ); + END_ENTITY; + + ENTITY dimensional_size_with_path + SUBTYPE OF ( dimensional_size ); + path : shape_aspect; + END_ENTITY; + + ENTITY direct_stratum_component_join_implementation + SUBTYPE OF ( shape_aspect_relationship ); + END_ENTITY; + + ENTITY directed_action + SUBTYPE OF ( executed_action ); + directive : action_directive; + END_ENTITY; + + ENTITY directed_angle + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( SELF ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ) = 1 ); + wr4: ( SELF.description IN [ 'punch direction', 'profile normal', 'surface normal'] ); + wr5: ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'angle' ) + AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) + = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY directed_dimensional_location + SUBTYPE OF ( dimensional_location ); + END_ENTITY; + + ENTITY direction + SUBTYPE OF ( geometric_representation_item ); + direction_ratios : LIST [2 : 3] OF REAL; + WHERE + wr1: ( SIZEOF( QUERY ( tmp <* direction_ratios | ( tmp <> 0 ) ) ) > 0 ); + END_ENTITY; + + ENTITY direction_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DIRECTION' IN TYPEOF( it ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY disallowed_assembly_relationship_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ASSEMBLY_COMPONENT_USAGE' ] ); + END_ENTITY; + + ENTITY disconnected_face_set + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SET' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY discontinuous_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + g1_discontinuous_curve, + g2_discontinuous_curve, + g1_discontinuous_surface, + g2_discontinuous_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY div_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY document; + id : identifier; + name : label; + description : OPTIONAL text; + kind : document_type; + INVERSE + representation_types : SET [0 : ?] OF document_representation_type FOR represented_document; + END_ENTITY; + + ENTITY document_file + SUBTYPE OF ( document, characterized_object ); + WHERE + wr1: ( SELF\characterized_object.name = '' ); + wr2: ( NOT EXISTS( SELF\characterized_object.description ) ); + wr3: ( SIZEOF( QUERY ( drt <* SELF\document.representation_types | ( drt.name IN [ 'digital', 'physical'] ) ) ) = 1 ); + END_ENTITY; + + ENTITY document_identifier + SUBTYPE OF ( group ); + UNIQUE + ur1 : SELF\group.name, SELF\group.description; + END_ENTITY; + + ENTITY document_identifier_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : document_identifier; + items : SET [1 : ?] OF document_identifier_assigned_item; + END_ENTITY; + + ENTITY document_product_association + ABSTRACT SUPERTYPE; + name : label; + description : OPTIONAL text; + relating_document : document; + related_product : product_or_formation_or_definition; + END_ENTITY; + + ENTITY document_product_equivalence + SUBTYPE OF ( document_product_association ); + WHERE + wr1: ( SELF\document_product_association.name = 'equivalence' ); + wr2: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT' IN TYPEOF( SELF\ + document_product_association.related_product ) ) ) OR ( ( SELF\document_product_association.relating_document.kind. + product_data_type = 'configuration controlled document' ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( SELF\ + document_product_association.related_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = 'document' ) ) ) = 1 ) ) ); + wr3: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN + TYPEOF( SELF.related_product ) ) ) OR ( ( SELF\document_product_association.relating_document.kind. + product_data_type = 'configuration controlled document version' ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( SELF. + related_product\product_definition_formation.of_product, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) + | ( prpc.name = 'document' ) ) ) = 1 ) ) ); + wr4: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( SELF. + related_product ) ) ) OR ( ( SELF\document_product_association.relating_document.kind.product_data_type = + 'configuration controlled document definition' ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( SELF\ + document_product_association.related_product\product_definition.formation.of_product, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) + | ( prpc.name = 'document' ) ) ) = 1 ) ) ); + END_ENTITY; + + ENTITY document_reference + ABSTRACT SUPERTYPE; + assigned_document : document; + source : label; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ) <= 1 ); + END_ENTITY; + + ENTITY document_relationship; + name : label; + description : OPTIONAL text; + relating_document : document; + related_document : document; + END_ENTITY; + + ENTITY document_representation_type; + name : label; + represented_document : document; + END_ENTITY; + + ENTITY document_type; + product_data_type : label; + END_ENTITY; + + ENTITY document_usage_constraint; + source : document; + subject_element : label; + subject_element_value : text; + END_ENTITY; + + ENTITY document_usage_constraint_assignment + ABSTRACT SUPERTYPE; + assigned_document_usage : document_usage_constraint; + role : document_usage_role; + END_ENTITY; + + ENTITY document_usage_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY documentation_layer_stratum + SUBTYPE OF ( stratum ); + END_ENTITY; + + ENTITY dose_equivalent_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DOSE_EQUIVALENT_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY dose_equivalent_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.sievert ) ); + END_ENTITY; + + ENTITY double_offset_shelled_solid + SUBTYPE OF ( shelled_solid ); + thickness2 : length_measure; + WHERE + wr1: ( thickness2 <> 0 ); + wr2: ( SELF\shelled_solid.thickness <> thickness2 ); + END_ENTITY; + + ENTITY draped_defined_transformation + SUBTYPE OF ( transformation_with_derived_angle ); + END_ENTITY; + + ENTITY draughting_annotation_occurrence + SUBTYPE OF ( annotation_occurrence ); + WHERE + wr1 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' IN + TYPEOF( SELF ) ) ) OR ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( sty.styles[1] ) ) ) ) ) ) + = 0 ) ); + wr2 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' IN + TYPEOF( SELF ) ) ) OR ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE' IN TYPEOF( sty.styles[1] ) ) ) ) ) ) + = 0 ) ); + wr3 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' IN + TYPEOF( SELF ) ) ) OR ( SIZEOF( QUERY ( bound <* SELF.item\annotation_fill_area.boundaries | ( NOT ( SIZEOF( + QUERY ( si <* USEDIN( bound, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'STYLED_ITEM.' + + 'ITEM' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ANNOTATION_CURVE_OCCURRENCE' ) IN TYPEOF( si ) ) ) ) > 0 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' IN + TYPEOF( SELF ) ) ) OR ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( SIZEOF( + TYPEOF( sty.styles[1] ) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMBOL_STYLE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NULL_STYLE' ] ) = 1 ) ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' IN + TYPEOF( SELF ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN + TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_SYMBOL_REPRESENTATION' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_SUBFIGURE_REPRESENTATION' ] * TYPEOF( SELF.item\mapped_item.mapping_source.mapped_representation ) ) + = 1 ) ); + wr6 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( + SELF ) ) ) OR ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STYLE' IN TYPEOF( sty.styles[1] ) ) ) ) ) ) + = 0 ) ); + wr7 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( + SELF ) ) ) OR ( SIZEOF( TYPEOF( SELF.item ) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'COMPOSITE_TEXT' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL'] ) = 1 ) ); + wr8 : ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN + TYPEOF( SELF ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' IN + TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( QUERY ( tl <* SELF.item\composite_text.collected_text | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF( tl ) ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN + TYPEOF( SELF ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' IN + TYPEOF( SELF.item ) ) ) ) OR ( SELF.item\text_literal.alignment IN [ 'baseline left', 'baseline centre', + 'baseline right' ] ) ); + wr10: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN + TYPEOF( SELF ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' IN + TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( QUERY ( tl <* QUERY ( text <* SELF.item\composite_text.collected_text | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF( text ) ) ) | ( NOT + ( tl\text_literal.alignment IN [ 'baseline left', 'baseline centre', 'baseline right'] ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN + TYPEOF( SELF ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' IN + TYPEOF( SELF.item ) ) ) ) OR check_text_alignment( SELF.item ) ); + wr12: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN + TYPEOF( SELF ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' IN + TYPEOF( SELF.item ) ) ) ) OR check_text_font( SELF.item ) ); + wr13: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN + TYPEOF( SELF ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' IN + TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( QUERY ( tl <* QUERY ( text <* SELF.item\composite_text.collected_text | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF( text ) ) ) | ( NOT + ( SIZEOF( TYPEOF( tl ) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'TEXT_LITERAL_WITH_BLANKING_BOX' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'TEXT_LITERAL_WITH_ASSOCIATED_CURVES' ] ) = 0 ) ) ) ) = 0 ) ); + wr14: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN + TYPEOF( SELF ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'TEXT_LITERAL_WITH_ASSOCIATED_CURVES' IN TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( QUERY ( crv <* SELF.item\ + text_literal_with_associated_curves.associated_curves | ( NOT ( SIZEOF( QUERY ( si <* USEDIN( crv, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM.ITEM' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF( si ) ) ) ) + > 0 ) ) ) ) = 0 ) ); + wr15: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN + TYPEOF( SELF ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'COMPOSITE_TEXT_WITH_ASSOCIATED_CURVES' IN TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( QUERY ( crv <* SELF.item\ + composite_text_with_associated_curves.associated_curves | ( NOT ( SIZEOF( QUERY ( si <* USEDIN( crv, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM.ITEM' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF( si ) ) ) ) + > 0 ) ) ) ) = 0 ) ); + wr16: ( SIZEOF( QUERY ( cs <* QUERY ( sty <* SELF.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( sty.styles[1] ) ) ) + | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' IN + TYPEOF( cs.styles[1]\curve_style.curve_width ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( cs. + styles[1]\curve_style.curve_width\measure_with_unit.value_component ) ) ) ) ) ) = 0 ); + wr17: ( SIZEOF( QUERY ( fas <* QUERY ( sty <* SELF.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE' IN TYPEOF( sty.styles[1] ) ) ) + | ( NOT ( ( SIZEOF( QUERY ( fs <* fas.styles[1]\fill_area_style.fill_styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE_TILES' IN TYPEOF( fs ) ) ) ) + <= 1 ) AND ( SIZEOF( QUERY ( fst <* QUERY ( fs <* fas.styles[1]\fill_area_style.fill_styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE_TILES' IN TYPEOF( fs ) ) ) + | ( NOT ( SIZEOF( fst\fill_area_style_tiles.tiles ) = 1 ) ) ) ) = 0 ) ) ) ) ) = 0 ); + wr18: ( SIZEOF( QUERY ( fas <* QUERY ( sty <* SELF.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE' IN TYPEOF( sty.styles[1] ) ) ) + | ( NOT ( SIZEOF( QUERY ( fsh <* QUERY ( fs <* fas.styles[1]\fill_area_style.fill_styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE_HATCHING' IN TYPEOF( fs ) ) ) + | ( NOT ( fsh\fill_area_style_hatching.point_of_reference_hatch_line :=: fsh\fill_area_style_hatching. + pattern_start ) ) ) ) = 0 ) ) ) ) = 0 ); + wr19: ( SIZEOF( QUERY ( ts <* QUERY ( sty <* SELF.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STYLE' IN TYPEOF( sty.styles[1] ) ) ) + | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS' ) IN TYPEOF( ts.styles[1] ) ) ) ) ) = 0 ); + wr20: ( SIZEOF( QUERY ( ts <* QUERY ( sty <* SELF.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STYLE_WITH_BOX_CHARACTERISTICS' IN + TYPEOF( sty.styles[1] ) ) ) | ( NOT ( SIZEOF( ts.styles[1]\text_style_with_box_characteristics.characteristics ) = + 4 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY draughting_callout + SUBTYPE OF ( geometric_representation_item ); + contents : SET [1 : ?] OF draughting_callout_element; + WHERE + wr1: ( ( SIZEOF( QUERY ( l_1 <* SELF\draughting_callout.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF( l_1 ) ) ) ) = 0 ) OR + ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) + AND ( SIZEOF( QUERY ( l_1 <* SELF\draughting_callout.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN TYPEOF( l_1 ) ) ) ) = 0 ) ) + OR ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN TYPEOF( + SELF ) ) AND ( SIZEOF( QUERY ( l_1 <* SELF\draughting_callout.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' IN TYPEOF( l_1 ) ) ) ) = 0 ) ) + OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN + TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY draughting_callout_relationship; + name : label; + description : text; + relating_draughting_callout : draughting_callout; + related_draughting_callout : draughting_callout; + END_ENTITY; + + ENTITY draughting_elements + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( l_c <* QUERY ( con <* SELF.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF( con ) ) ) | ( NOT ( + SIZEOF( QUERY ( ldc <* USEDIN( l_c, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT.CONTENTS' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LEADER_DIRECTED_CALLOUT' IN TYPEOF( ldc ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr2: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN + TYPEOF( SELF ) ) ) OR ( SIZEOF( QUERY ( con <* SELF.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN TYPEOF( con ) ) ) ) <= 2 ) ); + wr3: ( SIZEOF( QUERY ( rc <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT_' + 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN + TYPEOF( rc ) ) AND ( rc.name = 'primary' ) ) ) ) <= 1 ); + wr4: ( SIZEOF( QUERY ( rc <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT_' + 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN + TYPEOF( rc ) ) AND ( rc.name = 'secondary' ) ) ) ) <= 1 ); + wr5: ( SIZEOF( QUERY ( sec <* QUERY ( rc <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + 'RELATIONSHIP.' + + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN TYPEOF( rc ) ) AND ( rc.name = 'secondary' ) ) ) | ( NOT ( SIZEOF( + QUERY ( prim <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT_' + 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN + TYPEOF( prim ) ) AND ( prim.name = 'primary' ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY draughting_model + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF draughting_model_item_select; + UNIQUE + ur1 : SELF\representation.name; + WHERE + wr1: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_MODEL' ] * TYPEOF( mi\mapped_item. + mapping_source.mapped_representation ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( smi <* QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( si\styled_item.item ) ) ) + | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF( + smi\styled_item.item\mapped_item.mapping_source.mapped_representation ) ) AND ( SIZEOF( QUERY ( sty <* smi\ + styled_item.styles | ( NOT ( SIZEOF( QUERY ( psa <* sty.styles | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( psa ) ) ) ) ) = 1 ) ) ) ) + = 1 ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY draughting_model_item_association + SUBTYPE OF ( item_identified_representation_usage ); + SELF\item_identified_representation_usage.definition : draughting_model_item_definition; + SELF\item_identified_representation_usage.used_representation : annotation_representation_select; + SELF\item_identified_representation_usage.identified_item : draughting_model_item_association_select; + END_ENTITY; + + ENTITY draughting_pre_defined_colour + SUBTYPE OF ( pre_defined_colour ); + WHERE + wr1: ( SELF.name IN [ 'red', 'green', 'blue', 'yellow', 'magenta', 'cyan', 'black', 'white'] ); + END_ENTITY; + + ENTITY draughting_pre_defined_curve_font + SUBTYPE OF ( pre_defined_curve_font ); + WHERE + wr1: ( SELF.name IN [ 'continuous', 'chain', 'chain double dash', 'dashed', 'dotted'] ); + END_ENTITY; + + ENTITY draughting_pre_defined_text_font + SUBTYPE OF ( pre_defined_text_font ); + WHERE + wr1: ( SELF.name[1 : 8] = 'ISO 3098' ); + END_ENTITY; + + ENTITY draughting_subfigure_representation + SUBTYPE OF ( symbol_representation ); + SELF\representation.items : SET [1 : ?] OF draughting_subfigure_representation_item; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_OCCURRENCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' ] * TYPEOF( item ) ) = 1 ) ) ) + >= 1 ); + wr2: ( SIZEOF( QUERY ( srm <* QUERY ( rm <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMBOL_REPRESENTATION_MAP' IN TYPEOF( rm ) ) ) + | ( NOT ( SIZEOF( QUERY ( a_s <* QUERY ( mi <* srm.map_usage | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF( mi ) ) ) | ( + NOT ( SIZEOF( QUERY ( aso <* USEDIN( a_s, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'STYLED_ITEM.ITEM' ) | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ANNOTATION_SUBFIGURE_OCCURRENCE' IN TYPEOF( aso ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) > 0 ); + wr3: ( SIZEOF( SELF.context_of_items.representations_in_context ) = 1 ); + END_ENTITY; + + ENTITY draughting_symbol_representation + SUBTYPE OF ( symbol_representation ); + SELF\representation.items : SET [1 : ?] OF draughting_symbol_representation_item; + UNIQUE + ur1 : SELF\representation.name; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( SIZEOF( TYPEOF( item ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' ] ) = 1 ) ) ) >= 1 ); + wr2: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE' IN TYPEOF( + item ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( rm <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION' ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMBOL_REPRESENTATION_MAP' IN TYPEOF( rm ) ) ) ) ) + = 0 ); + wr4: ( SIZEOF( SELF.context_of_items.representations_in_context ) = 1 ); + END_ENTITY; + + ENTITY draughting_text_literal_with_delineation + SUBTYPE OF ( text_literal_with_delineation ); + WHERE + wr1: ( SELF.delineation IN [ 'underline', 'overline'] ); + END_ENTITY; + + ENTITY draughting_title; + items : SET [1 : ?] OF draughting_titled_item; + language : label; + contents : text; + END_ENTITY; + + ENTITY drawing_definition; + drawing_number : identifier; + drawing_type : OPTIONAL label; + END_ENTITY; + + ENTITY drawing_revision + SUBTYPE OF ( presentation_set ); + revision_identifier : identifier; + drawing_identifier : drawing_definition; + intended_scale : OPTIONAL text; + UNIQUE + ur1 : revision_identifier, drawing_identifier; + END_ENTITY; + + ENTITY drawing_revision_sequence; + predecessor : drawing_revision; + successor : drawing_revision; + WHERE + wr1: ( predecessor :<>: successor ); + END_ENTITY; + + ENTITY drawing_sheet_layout + SUBTYPE OF ( draughting_symbol_representation ); + END_ENTITY; + + ENTITY drawing_sheet_revision + SUBTYPE OF ( presentation_area ); + revision_identifier : identifier; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( item ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN TYPEOF( item\ + mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY drawing_sheet_revision_sequence + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: ( SELF\representation_relationship.rep_1 :<>: SELF\representation_relationship.rep_2 ); + wr2: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN TYPEOF( SELF\ + representation_relationship.rep_1 ) ); + wr3: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN TYPEOF( SELF\ + representation_relationship.rep_2 ) ); + END_ENTITY; + + ENTITY drawing_sheet_revision_usage + SUBTYPE OF ( area_in_set ); + sheet_number : identifier; + UNIQUE + ur1 : sheet_number, SELF\area_in_set.in_set; + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN TYPEOF( SELF\ + area_in_set.area ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_REVISION' IN + TYPEOF( SELF\area_in_set.in_set ) ) ); + END_ENTITY; + + ENTITY edge + SUPERTYPE OF ( + ONEOF ( + edge_curve, + oriented_edge, + subedge ) ) + SUBTYPE OF ( topological_representation_item ); + edge_start : vertex; + edge_end : vertex; + END_ENTITY; + + ENTITY edge_based_wireframe_model + SUBTYPE OF ( geometric_representation_item ); + ebwm_boundary : SET [1 : ?] OF connected_edge_set; + END_ENTITY; + + ENTITY edge_based_wireframe_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] + * TYPEOF( it ) ) = 1 ) ) ) >= 1 ); + wr3: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb + .ces_edges | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( + edges ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( + QUERY ( pline_edges <* QUERY ( edges <* eb.ces_edges | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( edges\edge_curve. + edge_geometry ) ) ) | ( NOT ( SIZEOF( pline_edges\edge_curve.edge_geometry\polyline.points ) > 2 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb + .ces_edges | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN + TYPEOF( edges.edge_start ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' + IN TYPEOF( edges.edge_end ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb + .ces_edges | ( NOT valid_wireframe_edge_curve( edges\edge_curve.edge_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb + .ces_edges | ( NOT ( valid_wireframe_vertex_point( edges.edge_start\vertex_point.vertex_geometry ) AND + valid_wireframe_vertex_point( edges.edge_end\vertex_point.vertex_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' ) + IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr9: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ); + END_ENTITY; + + ENTITY edge_blended_solid + ABSTRACT SUPERTYPE OF ( + track_blended_solid + ANDOR + ONEOF ( + solid_with_constant_radius_edge_blend, + solid_with_chamfered_edges ) ) + SUBTYPE OF ( modified_solid ); + blended_edges : LIST [1 : ?] OF UNIQUE edge_curve; + END_ENTITY; + + ENTITY edge_curve + SUBTYPE OF ( edge, geometric_representation_item ); + edge_geometry : curve; + same_sense : BOOLEAN; + END_ENTITY; + + ENTITY edge_loop + SUBTYPE OF ( loop, path ); + DERIVE + ne : INTEGER := SIZEOF( SELF\path.edge_list ); + WHERE + wr1: ( SELF\path.edge_list[1].edge_start :=: SELF\path.edge_list[ne].edge_end ); + END_ENTITY; + + ENTITY edge_round + SUBTYPE OF ( transition_feature ); + WHERE + wr1: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr2: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 1 ) ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 3 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr3: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'first offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'second offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr + .used_representation ) ) AND ( pdr.used_representation.name = 'edge round face' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr + .used_representation ) ) AND ( pdr.used_representation.name = 'first face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr + .used_representation ) ) AND ( pdr.used_representation.name = 'second face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY edge_segment_cross_section + SUBTYPE OF ( shape_definition_3d_intersection ); + END_ENTITY; + + ENTITY edge_segment_vertex + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY edge_with_excessive_segments + SUBTYPE OF ( overcomplex_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EDGE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY effectivity + SUPERTYPE OF ( + ONEOF ( + serial_numbered_effectivity, + dated_effectivity, + lot_effectivity, + time_interval_based_effectivity ) ); + id : identifier; + DERIVE + name : label := get_name_value( SELF ); + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY effectivity_assignment + ABSTRACT SUPERTYPE; + assigned_effectivity : effectivity; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ) <= 1 ); + END_ENTITY; + + ENTITY effectivity_context_assignment + ABSTRACT SUPERTYPE; + assigned_effectivity_assignment : effectivity_assignment; + role : effectivity_context_role; + END_ENTITY; + + ENTITY effectivity_context_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY effectivity_relationship; + name : label; + description : OPTIONAL text; + related_effectivity : effectivity; + relating_effectivity : effectivity; + END_ENTITY; + + ENTITY electric_charge_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CHARGE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY electric_charge_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.coulomb ) ); + END_ENTITY; + + ENTITY electric_current_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CURRENT_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY electric_current_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 1 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY electric_potential_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_POTENTIAL_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY electric_potential_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.volt ) ); + END_ENTITY; + + ENTITY electrical_isolation_laminate_component + SUBTYPE OF ( material_removal_laminate_component ); + END_ENTITY; + + ENTITY electrical_isolation_removal_template + SUBTYPE OF ( material_removal_feature_template ); + END_ENTITY; + + ENTITY electrical_network + SUBTYPE OF ( functional_unit ); + END_ENTITY; + + ENTITY electromagnetic_compatibility_requirement_allocation + SUPERTYPE OF ( + assembly_shield_allocation ) + SUBTYPE OF ( requirement_assignment ); + END_ENTITY; + + ENTITY elementary_brep_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) + = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * + TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | + ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh.cfs_faces | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF( fcs ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | + ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces + | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF( fcs\ + face_surface.face_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | + ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces + | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | + ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces + | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' ] * TYPEOF( oe.edge_element\ + edge_curve.edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | + ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces + | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_start ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_end ) ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | + ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces + | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( oe.edge_element\ + edge_curve.edge_geometry ) ) AND ( NOT ( SIZEOF( oe\oriented_edge.edge_element\edge_curve.edge_geometry\polyline. + points ) >= 3 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( msb\ + manifold_solid_brep.outer ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( brv <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'BREP_WITH_VOIDS' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* brv\brep_with_voids.voids | csh\ + oriented_closed_shell.orientation ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' IN + TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | + ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces + | ( NOT ( SIZEOF( QUERY ( vlp_fbnds <* QUERY ( bnds <* fcs.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF( bnds.bound ) ) ) | + ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( vlp_fbnds\ + face_bound.bound\vertex_loop.loop_vertex ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( vlp_fbnds\ + face_bound.bound\vertex_loop.loop_vertex\vertex_point.vertex_geometry ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY elementary_function + SUBTYPE OF ( maths_function, generic_literal ); + func_id : elementary_function_enumerators; + END_ENTITY; + + ENTITY elementary_space + SUBTYPE OF ( maths_space, generic_literal ); + space_id : elementary_space_enumerators; + END_ENTITY; + + ENTITY elementary_surface + SUPERTYPE OF ( + ONEOF ( + plane, + cylindrical_surface, + conical_surface, + spherical_surface, + toroidal_surface ) ) + SUBTYPE OF ( surface ); + position : axis2_placement_3d; + END_ENTITY; + + ENTITY ellipse + SUBTYPE OF ( conic ); + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + END_ENTITY; + + ENTITY elliptic_area + SUBTYPE OF ( primitive_2d ); + position : axis2_placement_2d; + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + END_ENTITY; + + ENTITY energy_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ENERGY_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY energy_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.joule ) ); + END_ENTITY; + + ENTITY entirely_narrow_face + SUBTYPE OF ( topology_related_to_nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY entirely_narrow_solid + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY entirely_narrow_surface + SUBTYPE OF ( nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'BOUNDED_SURFACE' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY entity_assertion + SUBTYPE OF ( fact_type ); + END_ENTITY; + + ENTITY enum_reference_prefix + SUBTYPE OF ( descriptive_representation_item ); + END_ENTITY; + + ENTITY environment; + syntactic_representation : generic_variable; + semantics : variable_semantics; + END_ENTITY; + + ENTITY equal_parameter_constraint + SUBTYPE OF ( defined_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF variational_parameter; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF variational_parameter; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) >= 2 ); + END_ENTITY; + + ENTITY equals_expression + SUBTYPE OF ( binary_boolean_expression ); + END_ENTITY; + + ENTITY equivalent_stackup_model_definition + SUBTYPE OF ( product_definition, product_definition_relationship ); + SELF\product_definition_relationship.relating_product_definition : stratum_stack_model; + SELF\product_definition_relationship.related_product_definition : stratum_stack_model; + DERIVE + equivalent_stackup_model : stratum_stack_model := SELF\product_definition_relationship.related_product_definition; + primary_stackup_model : stratum_stack_model := SELF\product_definition_relationship.relating_product_definition; + WHERE + wr1: ( primary_stackup_model :<>: equivalent_stackup_model ); + END_ENTITY; + + ENTITY equivalent_sub_stack_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY erroneous_b_spline_curve_definition + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE_WITH_KNOTS' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY erroneous_b_spline_surface_definition + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_WITH_KNOTS' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY erroneous_data + ABSTRACT SUPERTYPE OF ( + ONEOF ( + erroneous_topology, + erroneous_geometry, + erroneous_topology_and_geometry_relationship, + erroneous_manifold_solid_brep ) ) + SUBTYPE OF ( shape_data_quality_criterion ); + END_ENTITY; + + ENTITY erroneous_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + inconsistent_curve_transition_code, + erroneous_b_spline_curve_definition, + inconsistent_surface_transition_code, + erroneous_b_spline_surface_definition ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY erroneous_manifold_solid_brep + ABSTRACT SUPERTYPE OF ( + ONEOF ( + wrongly_oriented_void, + wrongly_placed_void, + intersecting_shells_in_solid, + solid_with_wrong_number_of_voids ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY erroneous_topology + ABSTRACT SUPERTYPE OF ( + ONEOF ( + open_edge_loop, + open_closed_shell, + inconsistent_adjacent_face_normals, + disconnected_face_set ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY erroneous_topology_and_geometry_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + inconsistent_edge_and_curve_directions, + inconsistent_face_and_surface_normals, + inconsistent_face_and_closed_shell_normals, + intersecting_loops_in_face, + wrongly_placed_loop ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY evaluated_characteristic + SUBTYPE OF ( representation, representation_relationship ); + UNIQUE + ur1 : SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; + WHERE + wr1: ( SELF\representation_relationship.rep_1 <> SELF\representation_relationship.rep_2 ); + END_ENTITY; + + ENTITY evaluated_characteristic_of_product_as_individual_test_result + SUBTYPE OF ( evaluated_characteristic ); + END_ENTITY; + + ENTITY evaluated_degenerate_pcurve + SUBTYPE OF ( degenerate_pcurve ); + equivalent_point : cartesian_point; + END_ENTITY; + + ENTITY evaluation_product_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY event_occurrence; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY event_occurrence_assignment + ABSTRACT SUPERTYPE; + assigned_event_occurrence : event_occurrence; + role : event_occurrence_role; + END_ENTITY; + + ENTITY event_occurrence_relationship; + name : label; + description : OPTIONAL text; + relating_event : event_occurrence; + related_event : event_occurrence; + END_ENTITY; + + ENTITY event_occurrence_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY excessive_use_of_groups + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GROUP' ] ); + END_ENTITY; + + ENTITY excessive_use_of_layers + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_LAYER_ASSIGNMENT' ] ); + END_ENTITY; + + ENTITY excessively_high_degree_curve + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY excessively_high_degree_surface + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY exclusive_product_concept_feature_category + SUBTYPE OF ( product_concept_feature_category ); + END_ENTITY; + + ENTITY executed_action + SUBTYPE OF ( action ); + END_ENTITY; + + ENTITY exp_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY expanded_uncertainty + SUBTYPE OF ( standard_uncertainty ); + coverage_factor : REAL; + END_ENTITY; + + ENTITY explicit_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + defined_constraint, + free_form_constraint ) ) + SUBTYPE OF ( variational_representation_item ); + description : OPTIONAL text; + constrained_elements : SET [1 : ?] OF representation_item; + reference_elements : SET [0 : ?] OF representation_item; + WHERE + wr1: ( SIZEOF( constrained_elements * reference_elements ) = 0 ); + END_ENTITY; + + ENTITY explicit_geometric_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + fixed_element_geometric_constraint, + parallel_geometric_constraint, + point_distance_geometric_constraint, + skew_line_distance_geometric_constraint, + curve_distance_geometric_constraint, + surface_distance_geometric_constraint, + radius_geometric_constraint, + curve_length_geometric_constraint, + parallel_offset_geometric_constraint, + angle_geometric_constraint, + perpendicular_geometric_constraint, + incidence_geometric_constraint, + coaxial_geometric_constraint, + tangent_geometric_constraint, + symmetry_geometric_constraint, + swept_point_curve_geometric_constraint, + swept_curve_surface_geometric_constraint, + curve_smoothness_geometric_constraint, + surface_smoothness_geometric_constraint ) ) + SUBTYPE OF ( defined_constraint, geometric_representation_item ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF geometric_representation_item; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF geometric_representation_item; + END_ENTITY; + + ENTITY explicit_procedural_geometric_representation_item_relationship + SUBTYPE OF ( explicit_procedural_representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : procedural_shape_representation_sequence; + SELF\representation_item_relationship.related_representation_item : geometric_representation_item; + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION_SEQUENCE' + IN TYPEOF( SELF\representation_item_relationship.related_representation_item ) ) ); + END_ENTITY; + + ENTITY explicit_procedural_representation_item_relationship + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : procedural_representation_sequence; + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCEDURAL_REPRESENTATION_SEQUENCE' IN + TYPEOF( SELF\representation_item_relationship.related_representation_item ) ) ); + wr2: ( SIZEOF( QUERY ( q <* using_representations( SELF\representation_item_relationship.related_representation_item ) | + item_in_context( SELF\representation_item_relationship.relating_representation_item, q.context_of_items ) ) ) > 0 ); + END_ENTITY; + + ENTITY explicit_procedural_representation_relationship + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : procedural_representation; + WHERE + wr1: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCEDURAL_REPRESENTATION' IN TYPEOF( + SELF\representation_relationship.rep_2 ) ) ) AND ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION' IN TYPEOF( SELF\ + representation_relationship.rep_2 ) ) ) ); + wr2: ( SELF\representation_relationship.rep_1.context_of_items :=: SELF\representation_relationship.rep_2.context_of_items ); + END_ENTITY; + + ENTITY explicit_procedural_shape_representation_relationship + SUBTYPE OF ( explicit_procedural_representation_relationship ); + SELF\representation_relationship.rep_1 : procedural_shape_representation; + SELF\representation_relationship.rep_2 : shape_representation; + END_ENTITY; + + ENTITY explicit_table_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + listed_data, + externally_listed_data, + linearized_table_function, + basic_sparse_matrix ) ) + SUBTYPE OF ( maths_function ); + index_base : zero_or_one; + shape : LIST [1 : ?] OF positive_integer; + END_ENTITY; + + ENTITY expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + numeric_expression, + boolean_expression, + string_expression ) ) + SUBTYPE OF ( generic_expression ); + END_ENTITY; + + ENTITY expression_conversion_based_unit + SUBTYPE OF ( context_dependent_unit, variable_semantics ); + INVERSE + associated_variable_environment : environment FOR semantics; + END_ENTITY; + + ENTITY expression_denoted_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + DERIVE + expr : generic_expression := SELF\unary_generic_expression.operand; + WHERE + wr1: ( ( schema_prefix + 'FUNCTION_SPACE' ) IN TYPEOF( values_space_of( expr ) ) ); + END_ENTITY; + + ENTITY expression_extension_numeric + SUBTYPE OF ( measure_with_unit, numeric_expression ); + END_ENTITY; + + ENTITY expression_extension_string + SUBTYPE OF ( measure_with_unit, string_expression ); + END_ENTITY; + + ENTITY expression_extension_to_select; + type_expression_associated : expression_extension_select; + END_ENTITY; + + ENTITY extended_tuple_space + SUBTYPE OF ( maths_space, generic_literal ); +(* next line replaced by the line thereafter as patch for BZ#5052 + base : product_space; *) + base : tuple_space; + extender : maths_space; + WHERE + wr1: ( expression_is_constant( base ) AND expression_is_constant( extender ) ); + wr2: no_cyclic_space_reference( SELF, [] ); + wr3: ( extender <> the_empty_space ); + END_ENTITY; + + ENTITY extension + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY extent + SUBTYPE OF ( characterized_object ); + END_ENTITY; + + ENTITY external_class_library + SUBTYPE OF ( external_source ); + END_ENTITY; + + ENTITY external_identification_assignment + ABSTRACT SUPERTYPE + SUBTYPE OF ( identification_assignment ); + source : external_source; + END_ENTITY; + + ENTITY external_source; + source_id : source_item; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY external_source_relationship; + name : label; + description : OPTIONAL text; + relating_source : external_source; + related_source : external_source; + END_ENTITY; + + ENTITY externally_conditioned_data_quality_criteria_representation + SUBTYPE OF ( data_quality_criteria_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' ) IN TYPEOF( q ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_criterion + SUBTYPE OF ( data_quality_criterion, data_quality_measurement_requirement ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.' + 'CRITERION' ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATED_REPRESENTATION_ITEM' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN TYPEOF( i1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATING_REPRESENTATION_ITEM' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN TYPEOF( i1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_inspection_instance_report_item + SUBTYPE OF ( data_quality_inspection_instance_report_item ); + SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1 : ?] OF inspected_ecdq_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT.' + 'INSPECTED_INSTANCES' ) ) | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( i1.inspection_result ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_inspection_result + SUBTYPE OF ( data_quality_inspection_result ); + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' ) IN TYPEOF( SELF\data_quality_inspection_result. + criterion_inspected ) ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_inspection_result_representation + SUBTYPE OF ( data_quality_inspection_result_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY externally_defined_character_glyph + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_class + SUBTYPE OF ( class, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_colour + SUBTYPE OF ( colour_specification, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_context_dependent_unit + SUBTYPE OF ( context_dependent_unit, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_conversion_based_unit + SUBTYPE OF ( conversion_based_unit, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_currency + SUBTYPE OF ( currency, externally_defined_context_dependent_unit ); + END_ENTITY; + + ENTITY externally_defined_curve_font + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_dimension_definition + SUBTYPE OF ( dimensional_size, externally_defined_item ); + WHERE + wr1: ( ( SELF\externally_defined_item.item_id = 'external size dimension' ) AND ( SELF\externally_defined_item.source. + source_id = 'external size dimension specification' ) ); + wr2: ( 1 >= SIZEOF( QUERY ( adr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'APPLIED_DOCUMENT_REFERENCE.ITEMS' ) | ( adr.assigned_document.description = + 'external size dimension specification' ) ) ) ); + END_ENTITY; + + ENTITY externally_defined_feature_definition + SUBTYPE OF ( feature_definition, externally_defined_item ); + WHERE + wr1 : ( ( ( SELF\characterized_object.description = 'thread' ) AND ( SELF\externally_defined_item.item_id = 'external thread' ) + AND ( SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) OR ( ( SELF\ + characterized_object.description = 'gear' ) AND ( SELF\externally_defined_item.item_id = 'external gear' ) AND ( + SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) OR ( ( SELF\ + characterized_object.description = 'marking' ) AND ( SELF\externally_defined_item.item_id = 'external marking' ) + AND ( SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) OR ( ( SELF\ + characterized_object.description = 'knurl' ) AND ( SELF\externally_defined_item.item_id = 'external knurl' ) AND + ( SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) ); + wr2 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( 5 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 10 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr3 : ( ( NOT ( SELF\characterized_object.description = 'marking' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr4 : ( ( NOT ( SELF\characterized_object.description = 'knurl' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr5 : ( ( NOT ( SELF\characterized_object.description IN [ 'knurl', 'thread'] ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'partial area occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied area usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_AREA' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF\characterized_object.description = 'marking' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'marking text' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'removal direction' ) AND ( ( it.description = 'internal' ) OR ( it.description = 'external' ) ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'qualifier' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'hand' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'fit class' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'form' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'major diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'number of threads' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr14: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'fit class 2' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr15: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'nominal size' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr16: ( ( NOT ( SELF\characterized_object.description IN [ 'knurl', 'gear', 'thread'] ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr17: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( 10 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) >= 11 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr18: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'number of teeth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr19: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'reference pressure angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr20: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'rake shift factor' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr21: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'nominal tooth depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr22: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'face width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr23: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'tip diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr24: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'module or diametral pitch' ) AND ( ( it.description = 'module' ) OR ( it.description = + 'diametral pitch' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr25: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'normal attribute' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr26: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'internal or external gear' ) AND ( ( it.description = 'internal' ) OR ( it.description = + 'external' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr27: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'root fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY externally_defined_general_property + SUBTYPE OF ( general_property, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_hatch_style + SUBTYPE OF ( externally_defined_item, geometric_representation_item ); + END_ENTITY; + + ENTITY externally_defined_item; + item_id : source_item; + source : external_source; + END_ENTITY; + + ENTITY externally_defined_item_relationship; + name : label; + description : OPTIONAL text; + relating_item : externally_defined_item; + related_item : externally_defined_item; + END_ENTITY; + + ENTITY externally_defined_item_with_multiple_references + SUBTYPE OF ( externally_defined_item ); + references : LIST [1 : ?] OF UNIQUE source_item; + UNIQUE + ur1 : references; + WHERE + wr1: ( NOT ( SELF\externally_defined_item.item_id IN references ) ); + END_ENTITY; + + ENTITY externally_defined_marker + SUBTYPE OF ( externally_defined_symbol, pre_defined_marker ); + END_ENTITY; + + ENTITY externally_defined_physical_network_group + SUBTYPE OF ( physical_network_group ); + END_ENTITY; + + ENTITY externally_defined_physical_network_group_element_relationship + SUBTYPE OF ( physical_network_group_element_relationship ); + END_ENTITY; + + ENTITY externally_defined_picture_representation_item + SUBTYPE OF ( picture_representation_item ); + INVERSE + source : applied_external_identification_assignment FOR items; + WHERE + wr1: ( NOT ( SELF\representation_item.name IN pre_defined_picture_representation_types ) ); + END_ENTITY; + + ENTITY externally_defined_representation + SUBTYPE OF ( representation, externally_defined_item ); + SELF\representation.items : SET [1 : ?] OF externally_defined_representation_item; + END_ENTITY; + + ENTITY externally_defined_representation_item + SUBTYPE OF ( representation_item, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_string + SUBTYPE OF ( externally_defined_representation_item ); + END_ENTITY; + + ENTITY externally_defined_style + SUBTYPE OF ( externally_defined_item, founded_item ); + END_ENTITY; + + ENTITY externally_defined_symbol + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_terminator_symbol + SUBTYPE OF ( externally_defined_symbol ); + END_ENTITY; + + ENTITY externally_defined_text_font + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_tile + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_tile_style + SUBTYPE OF ( externally_defined_item, geometric_representation_item ); + END_ENTITY; + + ENTITY externally_listed_data + SUBTYPE OF ( explicit_table_function, generic_literal, externally_defined_item ); + value_range : maths_space; + WHERE + wr1: expression_is_constant( value_range ); + END_ENTITY; + + ENTITY extreme_instance; + locations_of_extreme_value : SET [1 : ?] OF location_of_extreme_value_select; + measured_value : measured_value_select; + END_ENTITY; + + ENTITY extreme_patch_width_variation + SUBTYPE OF ( geometry_with_local_irregularity ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY extruded_area_solid + SUBTYPE OF ( swept_area_solid ); + extruded_direction : direction; + depth : positive_length_measure; + WHERE + wr1: ( dot_product( SELF\swept_area_solid.swept_area.basis_surface\elementary_surface.position.p[3], extruded_direction ) + <> 0 ); + END_ENTITY; + + ENTITY extruded_face_solid + SUBTYPE OF ( swept_face_solid ); + extruded_direction : direction; + depth : positive_length_measure; + WHERE + wr1: ( dot_product( SELF\swept_face_solid.swept_face.face_geometry\elementary_surface.position.p[3], extruded_direction ) + <> 0 ); + END_ENTITY; + + ENTITY extruded_face_solid_with_draft_angle + SUBTYPE OF ( extruded_face_solid_with_trim_conditions ); + draft_angle : plane_angle_measure; + WHERE + wr1: ( draft_angle <> 0 ); + END_ENTITY; + + ENTITY extruded_face_solid_with_multiple_draft_angles + SUBTYPE OF ( extruded_face_solid_with_trim_conditions ); + drafted_edges : LIST [2 : ?] OF SET [1 : ?] OF edge_curve; + draft_angles : LIST [2 : ?] OF plane_angle_measure; + WHERE + wr1: ( SIZEOF( drafted_edges ) = SIZEOF( draft_angles ) ); + wr2: ( SIZEOF( QUERY ( q <* draft_angles | ( q = 0 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( q <* drafted_edges | ( SIZEOF( QUERY ( r <* q | ( NOT ( SELF\swept_face_solid.swept_face IN + using_items( r, [] ) ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY extruded_face_solid_with_trim_conditions + SUPERTYPE OF ( + ONEOF ( + extruded_face_solid_with_draft_angle, + extruded_face_solid_with_multiple_draft_angles ) ) + SUBTYPE OF ( extruded_face_solid ); + first_trim_condition : trim_condition_select; + second_trim_condition : trim_condition_select; + first_trim_intent : trim_intent; + second_trim_intent : trim_intent; + first_offset : non_negative_length_measure; + second_offset : non_negative_length_measure; + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( + first_trim_condition ) ) OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' IN TYPEOF( second_trim_condition ) ) ) ); + wr2: ( NOT ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( + first_trim_condition ) ) AND ( ( first_trim_intent = trim_intent.offset ) OR ( first_trim_intent = trim_intent. + up_to_next ) ) ) OR ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN + TYPEOF( second_trim_condition ) ) AND ( ( second_trim_intent = trim_intent.offset ) OR ( second_trim_intent = + trim_intent.up_to_next ) ) ) ) ); + wr3: ( NOT ( ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( + first_trim_condition ) ) ) AND ( ( first_trim_intent = trim_intent.blind ) OR ( first_trim_intent = trim_intent. + through_all ) ) ) OR ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' + IN TYPEOF( second_trim_condition ) ) ) AND ( ( second_trim_intent = trim_intent.blind ) OR ( second_trim_intent = + trim_intent.through_all ) ) ) ) ); + wr4: ( ( ( ( first_trim_intent = trim_intent.offset ) AND ( first_offset > 0 ) ) XOR ( ( first_trim_intent <> trim_intent. + offset ) AND ( first_offset = 0 ) ) ) AND ( ( ( second_trim_intent = trim_intent.offset ) AND ( second_offset > 0 ) ) + XOR ( ( second_trim_intent <> trim_intent.offset ) AND ( second_offset = 0 ) ) ) ); + wr5: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( + first_trim_condition ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' + IN TYPEOF( second_trim_condition ) ) AND ( first_trim_condition = second_trim_condition ) ) ); + END_ENTITY; + + ENTITY fabrication_joint + SUBTYPE OF ( component_feature_joint ); + WHERE + wr1: acyclic_shape_aspect_relationship( SELF, [SELF\shape_aspect_relationship.related_shape_aspect], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'FABRICATION_JOINT' ); + END_ENTITY; + + ENTITY face + SUPERTYPE OF ( + ONEOF ( + face_surface, + subface, + oriented_face ) ) + SUBTYPE OF ( topological_representation_item ); + bounds : SET [1 : ?] OF face_bound; + WHERE + wr1: ( NOT mixed_loop_type_set( list_to_set( list_face_loops( SELF ) ) ) ); + wr2: ( SIZEOF( QUERY ( temp <* bounds | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_OUTER_BOUND' IN TYPEOF( temp ) ) ) ) <= 1 ); + END_ENTITY; + + ENTITY face_based_surface_model + SUBTYPE OF ( geometric_representation_item ); + fbsm_faces : SET [1 : ?] OF connected_face_set; + END_ENTITY; + + ENTITY face_bound + SUBTYPE OF ( topological_representation_item ); + bound : loop; + orientation : BOOLEAN; + END_ENTITY; + + ENTITY face_outer_bound + SUBTYPE OF ( face_bound ); + END_ENTITY; + + ENTITY face_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) >= 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' IN TYPEOF( it ) ) OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ORIENTED_FACE' IN TYPEOF( it ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY face_shape_representation_relationship + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( SELF.rep_1 ) ); + wr2: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( SELF.rep_2 ) ); + END_ENTITY; + + ENTITY face_surface + SUBTYPE OF ( face, geometric_representation_item ); + face_geometry : surface; + same_sense : BOOLEAN; + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_SURFACE' IN TYPEOF( face_geometry ) ) ); + END_ENTITY; + + ENTITY face_surface_with_excessive_patches_in_one_direction + SUBTYPE OF ( overcomplex_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY faceted_brep + SUBTYPE OF ( manifold_solid_brep ); + END_ENTITY; + + ENTITY faceted_brep_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* items | ( NOT ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACETED_BREP' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( it <* items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACETED_BREP' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) + = 1 ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( fbrep <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACETED_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( fbrep ) | ( NOT ( SIZEOF( + QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF( fcs ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( fcs\face_surface. + face_geometry ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN + TYPEOF( fcs\face_surface.face_geometry\elementary_surface.position.location ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( fbrep <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACETED_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( fbrep ) | ( NOT ( SIZEOF( + QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( bnds <* fcs.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF( bnds ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( msb <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( msb\ + manifold_solid_brep.outer ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( brv <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'BREP_WITH_VOIDS' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* brv\brep_with_voids.voids | csh\ + oriented_closed_shell.orientation ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACETED_BREP_SHAPE_REPRESENTATION' IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = + 0 ); + END_ENTITY; + + ENTITY fact_type + SUBTYPE OF ( property_definition ); + END_ENTITY; + + ENTITY feature_component_definition + SUBTYPE OF ( characterized_object ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY feature_component_relationship + SUPERTYPE OF ( + ONEOF ( + pattern_omit_membership, + pattern_offset_membership ) ) + SUBTYPE OF ( shape_aspect_relationship ); + WHERE + wr1: ( ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPLICATE_FEATURE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRANSITION_FEATURE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MODIFIED_PATTERN' ] * TYPEOF( SELF. + relating_shape_aspect ) ) = 1 ) OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MACHINING_FEATURE_DEFINITION' IN TYPEOF( SELF.relating_shape_aspect.of_shape.definition ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF + .relating_shape_aspect.of_shape.definition ) ) ); + END_ENTITY; + + ENTITY feature_definition + SUPERTYPE OF ( + ONEOF ( + boss, + compound_feature, + externally_defined_feature_definition, + flat_face, + gear, + marking, + outer_round, + outside_profile, + pocket, + protrusion, + removal_volume, + replicate_feature, + revolved_profile, + rib_top, + round_hole, + rounded_end, + spherical_cap, + step, + slot, + thread, + turned_knurl ) ) + SUBTYPE OF ( characterized_object ); + END_ENTITY; + + ENTITY feature_definition_with_connection_area + SUBTYPE OF ( shape_feature_definition ); + END_ENTITY; + + ENTITY feature_for_datum_target_relationship + SUBTYPE OF ( shape_aspect_relationship ); + SELF\shape_aspect_relationship.related_shape_aspect : datum_target; + UNIQUE + ur1 : related_shape_aspect; + WHERE + wr1: ( relating_shape_aspect.of_shape :=: related_shape_aspect.of_shape ); + wr2: ( relating_shape_aspect\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY feature_in_panel + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF.description IN [ 'pocket', 'boss', 'stairstep'] ); + wr2 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( NOT ( ( 2 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr + .used_representation.items ) <= 3 ) ) ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ + 'orientation' , 'base radius', 'target radius'] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'base radius' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'target radius' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr6 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'base boundary' ) AND ( sa.description IN [ + 'directed angle occurrence' , 'closed profile occurrence'] ) ) ) ) = 1 ); + wr7 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'target boundary' ) AND ( sa.description IN [ + 'directed angle occurrence' , 'closed profile occurrence'] ) ) ) ) = 1 ); + wr8 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'directed angle occurrence' ) ) ) <= 1 ); + wr9 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'directed angle occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) + AND ( sar.name = 'directed angle usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTED_ANGLE' IN TYPEOF( sar. + relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) = SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = + 'directed angle occurrence' ) ) ) ); + wr10: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'closed profile occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) + AND ( sar.description = 'profile usage' ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sar. + relating_shape_aspect ) ) = 1 ) ) ) ) = 1 ) ) ) ) = SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa. + description = 'closed profile occurrence' ) ) ) ); + wr11: ( ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | + ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( NOT ( pdr.used_representation.name = 'target face' ) ) ) ) ) = 0 ) ); + wr12: ( ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'target boundary' ) AND ( sa.description = + 'directed angle occurrence' ) ) ) ) = 0 ) OR ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( + SELF ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY feature_pattern + SUBTYPE OF ( replicate_feature ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* pdr.used_representation.items | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( srwp_i ) ) ) ) ) > 0 ) ) ) ) + > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'base feature placement' ) ) ) ) > 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY fiducial + SUBTYPE OF ( laminate_component ); + END_ENTITY; + + ENTITY fiducial_part_feature + SUBTYPE OF ( part_tooling_feature ); + END_ENTITY; + + ENTITY fiducial_stratum_feature + SUBTYPE OF ( stratum_feature ); + END_ENTITY; + + ENTITY fill_area_style + SUBTYPE OF ( founded_item ); + name : label; + fill_styles : SET [1 : ?] OF fill_style_select; + WHERE + wr1: ( SIZEOF( QUERY ( fill_style <* SELF.fill_styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'FILL_AREA_STYLE_COLOUR' ) IN TYPEOF( + fill_style ) ) ) ) <= 1 ); + END_ENTITY; + + ENTITY fill_area_style_colour; + name : label; + fill_colour : colour; + END_ENTITY; + + ENTITY fill_area_style_hatching + SUBTYPE OF ( geometric_representation_item ); + hatch_line_appearance : curve_style; + start_of_next_hatch_line : one_direction_repeat_factor; + point_of_reference_hatch_line : cartesian_point; + pattern_start : cartesian_point; + hatch_line_angle : plane_angle_measure; + END_ENTITY; + + ENTITY fill_area_style_tile_coloured_region + SUBTYPE OF ( geometric_representation_item ); + closed_curve : curve_or_annotation_curve_occurrence; + region_colour : colour; + WHERE + wr1: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF( closed_curve ) ) ) OR + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' IN TYPEOF( closed_curve ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE' IN TYPEOF( closed_curve ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( closed_curve ) ) + AND ( closed_curve\b_spline_curve.closed_curve = TRUE ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( closed_curve ) ) + AND ( closed_curve\composite_curve.closed_curve = TRUE ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( closed_curve ) ) AND ( + closed_curve\polyline.points[LOINDEX( closed_curve\polyline.points )] = closed_curve\polyline.points[HIINDEX( + closed_curve\polyline.points )] ) ) ); + END_ENTITY; + + ENTITY fill_area_style_tile_curve_with_style + SUBTYPE OF ( geometric_representation_item ); + styled_curve : annotation_curve_occurrence; + END_ENTITY; + + ENTITY fill_area_style_tile_symbol_with_style + SUBTYPE OF ( geometric_representation_item ); + symbol : annotation_symbol_occurrence; + END_ENTITY; + + ENTITY fill_area_style_tiles + SUBTYPE OF ( geometric_representation_item ); + tiling_pattern : two_direction_repeat_factor; + tiles : SET [1 : ?] OF fill_area_style_tile_shape_select; + tiling_scale : positive_ratio_measure; + END_ENTITY; + + ENTITY fill_area_template + SUBTYPE OF ( parametric_template ); + END_ENTITY; + + ENTITY filled_via + SUBTYPE OF ( via ); + END_ENTITY; + + ENTITY fillet + SUBTYPE OF ( transition_feature ); + WHERE + wr1: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr2: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 1 ) ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 3 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr3: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'first offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'second offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr + .used_representation ) ) AND ( pdr.used_representation.name = 'fillet face' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr + .used_representation ) ) AND ( pdr.used_representation.name = 'first face shape' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr + .used_representation ) ) AND ( pdr.used_representation.name = 'second face shape' ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY finite_function + SUBTYPE OF ( maths_function, generic_literal ); + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value; + WHERE + wr1: VALUE_UNIQUE( list_selected_components( pairs, 1 ) ); + END_ENTITY; + + ENTITY finite_integer_interval + SUBTYPE OF ( maths_space, generic_literal ); + min : INTEGER; + max : INTEGER; + DERIVE + size : positive_integer := ( max - min ) + 1; + WHERE + wr1: ( min <= max ); + END_ENTITY; + + ENTITY finite_real_interval + SUBTYPE OF ( maths_space, generic_literal ); + min : REAL; + min_closure : open_closed; + max : REAL; + max_closure : open_closed; + WHERE + wr1: ( min < max ); + END_ENTITY; + + ENTITY finite_space + SUBTYPE OF ( maths_space, generic_literal ); + members : SET OF maths_value; + WHERE + wr1: VALUE_UNIQUE( members ); + wr2: ( SIZEOF( QUERY ( expr <* QUERY ( member <* members | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GENERIC_EXPRESSION' IN TYPEOF( member ) ) ) + | ( NOT expression_is_constant( expr ) ) ) ) = 0 ); + wr3: no_cyclic_space_reference( SELF, [] ); + END_ENTITY; + + ENTITY fixed_constituent_assembly_constraint + SUBTYPE OF ( assembly_geometric_constraint, fixed_element_geometric_constraint ); + fixed_constituent : representative_shape_representation; + WHERE + wr1: ( SELF\explicit_constraint.constrained_elements[1]\geometric_representation_item.dim = 3 ); + wr2: assembly_leaf( using_product_definition_of_shape_representation( fixed_constituent )[1] ); + wr3: ( ( SIZEOF( SELF\explicit_constraint.constrained_elements ) = 1 ) AND ( SIZEOF( SELF\explicit_constraint. + reference_elements ) = 0 ) ); + wr4: ( fixed_constituent IN ( using_representations( SELF\explicit_constraint.constrained_elements[1] ) + + using_representation_with_mapping( SELF\explicit_constraint.constrained_elements[1] ) ) ); + END_ENTITY; + + ENTITY fixed_element_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF geometric_constraint_element; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY fixed_instance_attribute_set + SUBTYPE OF ( variational_representation_item ); + fixed_attributes : SET [1 : ?] OF instance_attribute_reference; + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( SIZEOF( QUERY ( r <* q.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' IN TYPEOF( r ) ) ) ) + > 1 ) ) ) = 0 ); + END_ENTITY; + + ENTITY flat_face + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'removal direction' ) ) ) ) = 1 ) ) ) ) = + 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'path feature component usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'linear' ) AND ( sdr.name = + 'course of travel' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'removal boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.name = 'removal boundary' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'enclosed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) AND ( sdr.relating_shape_aspect.description = 'boundary' ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) + = 0 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + wr6: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( csa.name = 'uncut volume' ) AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROTRUSION' ] * TYPEOF( sar. + related_shape_aspect ) ) = 1 ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 1 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'removal depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY flat_pattern_ply_representation_relationship + SUBTYPE OF ( shape_representation_relationship ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN ( TYPEOF( SELF\ + representation_relationship.rep_1 ) * TYPEOF( SELF\representation_relationship.rep_2 ) ) ); + wr2: ( SELF\representation_relationship.rep_1.context_of_items\geometric_representation_context.coordinate_space_dimension + = 3 ); + END_ENTITY; + + ENTITY flatness_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY footprint_definition + SUBTYPE OF ( generic_footprint_definition ); + END_ENTITY; + + ENTITY footprint_library_stratum_technology + SUBTYPE OF ( stratum_technology ); + END_ENTITY; + + ENTITY footprint_occurrence + SUBTYPE OF ( structured_layout_component ); + END_ENTITY; + + ENTITY footprint_occurrence_product_definition_relationship + SUBTYPE OF ( structured_layout_component_sub_assembly_relationship ); + END_ENTITY; + + ENTITY force_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FORCE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY force_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.newton ) ); + END_ENTITY; + + ENTITY format_function + SUBTYPE OF ( string_expression, binary_generic_expression ); + DERIVE + value_to_format : generic_expression := SELF\binary_generic_expression.operands[1]; + format_string : generic_expression := SELF\binary_generic_expression.operands[2]; + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( value_to_format ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( + format_string ) ) ); + END_ENTITY; + + ENTITY forward_chaining_rule + SUBTYPE OF ( rule_definition ); + END_ENTITY; + + ENTITY forward_chaining_rule_premise + SUBTYPE OF ( property_definition, property_definition_representation, representation ); + END_ENTITY; + + ENTITY founded_item + SUPERTYPE OF ( + ONEOF ( + b_spline_curve_knot_locator, + b_spline_curve_segment, + b_spline_surface_knot_locator, + b_spline_surface_patch, + b_spline_surface_strip, + boundary_curve_of_b_spline_or_rectangular_composite_surface, + box_domain, + character_glyph_style_outline, + character_glyph_style_stroke, + composite_curve_segment, + composite_curve_transition_locator, + curve_style, + curve_style_font, + curve_style_font_and_scaling, + curve_style_font_pattern, + externally_defined_style, + fill_area_style, + interpolated_configuration_segment, + kinematic_path_segment, + plane_angle_and_length_pair, + plane_angle_and_ratio_pair, + point_style, + presentation_style_assignment, + rectangular_composite_surface_transition_locator, + surface_patch, + surface_side_style, + surface_style_boundary, + surface_style_control_grid, + surface_style_fill_area, + surface_style_parameter_line, + surface_style_segmentation_curve, + surface_style_silhouette, + surface_style_usage, + symbol_style, + text_style, + view_volume ) + ANDOR + ONEOF ( + character_glyph_style_outline, + character_glyph_style_stroke, + curve_style, + curve_style_font, + curve_style_font_and_scaling, + curve_style_font_pattern, + externally_defined_style, + fill_area_style, + point_style, + presentation_style_assignment, + surface_side_style, + surface_style_boundary, + surface_style_control_grid, + surface_style_fill_area, + surface_style_parameter_line, + surface_style_segmentation_curve, + surface_style_silhouette, + surface_style_usage, + symbol_style, + text_style ) ); + DERIVE + users : SET [0 : ?] OF founded_item_select := using_items( SELF, [] ); + WHERE + wr1: ( SIZEOF( users ) > 0 ); + wr2: ( NOT ( SELF IN users ) ); + END_ENTITY; + + ENTITY free_edge + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SET' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EDGE_CURVE' ] ); + wr4: validate_accuracy_types( SELF, [] ); + wr5: ( SIZEOF( QUERY ( sdqr <* bag_to_set( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_INSPECTION_RESULT.' + + 'CRITERION_INSPECTED' ) ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( sdqr ) ) AND ( SIZEOF( QUERY ( sdqiir <* bag_to_set( USEDIN( + sdqr, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_INSPECTION_REPORT.' + + 'INSPECTION_RESULT' ) ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( sdqiir ) ) AND ( SIZEOF( QUERY ( sdqiri <* sdqiir. + inspected_instances | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL' IN + TYPEOF( sdqiri.inspected_elements[1] ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY free_form_assignment + SUBTYPE OF ( free_form_constraint ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\free_form_constraint.constrained_elements | ( q IN used_variables( SELF\ + free_form_constraint.constraining_expression ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( q <* SELF\free_form_constraint.reference_elements | ( NOT ( q IN used_variables( SELF\ + free_form_constraint.constraining_expression ) ) ) ) ) = 0 ); + wr3: ( SIZEOF( SELF\free_form_constraint.reference_elements ) >= 1 ); + wr4: ( SIZEOF( QUERY ( q <* SELF\free_form_constraint.constrained_elements | ( NOT compatible_spaces( values_space_of( SELF + \free_form_constraint.constraining_expression ), q\maths_variable.values_space ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY free_form_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + free_form_assignment, + free_form_relation ) ) + SUBTYPE OF ( explicit_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF variational_parameter; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF variational_parameter; + constraining_expression : expression; + END_ENTITY; + + ENTITY free_form_relation + SUBTYPE OF ( free_form_constraint ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF( SELF\ + free_form_constraint.constraining_expression ) ); + wr2: ( SIZEOF( QUERY ( q <* ( SELF\free_form_constraint.constrained_elements + SELF\free_form_constraint.reference_elements ) + | ( NOT ( q IN used_variables( SELF\free_form_constraint.constraining_expression ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY free_kinematic_motion_representation + SUBTYPE OF ( representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : representative_shape_representation; + SELF\representation_relationship.rep_2 : representative_shape_representation; + motion : kinematic_path; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ITEM_DEFINED_TRANSFORMATION' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator ) ); + wr2: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF + \representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF\representation_relationship_with_transformation. + transformation_operator\item_defined_transformation.transform_item_2 ) ) ); + wr3: ( ( dimension_of( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_1 ) = 3 ) AND ( dimension_of( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) = 3 ) ); + wr4: ( ( SELF\representation_relationship.rep_1 IN ( using_representations( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) + using_representation_with_mapping( SELF\representation_relationship_with_transformation. + transformation_operator\item_defined_transformation.transform_item_1 ) ) ) AND ( SELF\representation_relationship. + rep_2 IN ( using_representations( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_2 ) + using_representation_with_mapping( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ) ); + END_ENTITY; + + ENTITY frequency_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FREQUENCY_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY frequency_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.hertz ) ); + END_ENTITY; + + ENTITY frozen_assignment + SUBTYPE OF ( approval_assignment ); + items : SET [1 : ?] OF change_management_object; + END_ENTITY; + + ENTITY fully_constrained_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; + END_ENTITY; + + ENTITY func + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY function_application + SUBTYPE OF ( multiple_arity_generic_expression ); + func : maths_function_select; + arguments : LIST [1 : ?] OF maths_expression; + DERIVE + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF generic_expression := [convert_to_maths_function( func )] + + convert_to_operands( arguments ); + WHERE + wr1: function_applicability( func, arguments ); + END_ENTITY; + + ENTITY function_space + SUBTYPE OF ( maths_space, generic_literal ); + domain_constraint : space_constraint_type; + domain_argument : maths_space; + range_constraint : space_constraint_type; + range_argument : maths_space; + WHERE + wr1: ( expression_is_constant( domain_argument ) AND expression_is_constant( range_argument ) ); + wr2: ( ( domain_argument <> the_empty_space ) AND ( range_argument <> the_empty_space ) ); + wr3: ( ( domain_constraint <> sc_member ) OR ( NOT member_of( the_empty_space, domain_argument ) ) ); + wr4: ( ( range_constraint <> sc_member ) OR ( NOT member_of( the_empty_space, range_argument ) ) ); + wr5: ( NOT ( any_space_satisfies( domain_constraint, domain_argument ) AND any_space_satisfies( range_constraint, + range_argument ) ) ); + END_ENTITY; + + ENTITY functional_breakdown_context + SUBTYPE OF ( breakdown_context ); + END_ENTITY; + + ENTITY functional_element_usage + SUBTYPE OF ( breakdown_element_usage ); + END_ENTITY; + + ENTITY functional_specification + SUBTYPE OF ( representation ); + END_ENTITY; + + ENTITY functional_specification_definition + SUBTYPE OF ( functional_unit ); + END_ENTITY; + + ENTITY functional_terminal_group + SUBTYPE OF ( group ); + UNIQUE + ur1 : SELF\group.name; + END_ENTITY; + + ENTITY functional_unit + SUBTYPE OF ( product_definition, product_definition_shape ); + DERIVE + SELF\property_definition.definition : functional_unit := SELF; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) = 0 ); + wr2: ( NOT EXISTS( SELF\property_definition.description ) ); + END_ENTITY; + + ENTITY functional_unit_terminal_definition + SUBTYPE OF ( shape_aspect ); + SELF\shape_aspect.of_shape : functional_unit; + UNIQUE + ur1 : SELF\shape_aspect.name, of_shape; + WHERE + wr1: ( SELF\shape_aspect.product_definitional = FALSE ); + END_ENTITY; + + ENTITY functionally_defined_transformation; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY g1_discontinuity_between_adjacent_faces + SUBTYPE OF ( non_smooth_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SET' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ] ); + END_ENTITY; + + ENTITY g1_discontinuous_curve + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE_KNOT_LOCATOR'] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY g1_discontinuous_surface + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ] ); + END_ENTITY; + + ENTITY g2_discontinuity_between_adjacent_faces + SUBTYPE OF ( non_smooth_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) ); + wr2: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' IN value_limit_type( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_AND_RATIO_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SET' ] ); + wr5: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE'] ); + wr6: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE'] ); + END_ENTITY; + + ENTITY g2_discontinuous_curve + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) ); + wr2: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' IN value_limit_type( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_AND_RATIO_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE' ] ); + wr5: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE_KNOT_LOCATOR'] ); + wr6: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY g2_discontinuous_surface + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) ); + wr2: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' IN value_limit_type( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_AND_RATIO_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE' ] ); + wr5: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR'] ); + wr6: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_adjacent_edges_in_loop + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ORIENTED_EDGE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_edge_and_base_surface + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_FACE_SURFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_faces_related_to_an_edge + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SET' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_pcurves_related_to_an_edge + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SET' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_SURFACE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_vertex_and_base_surface + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'VERTEX_POINT' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POINT_ON_FACE_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_vertex_and_edge + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EDGE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'VERTEX_POINT' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POINT_ON_EDGE_CURVE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gear + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( 10 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 13 ) ) ) ) = 1 ) ) ) = 1 ); + wr2 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'number of teeth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr3 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'reference pressure angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'rake shift factor' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'nominal tooth depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'face width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'tip diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'module or diametral pitch' ) AND ( ( it.description = 'module' ) OR ( it.description = + 'diametral pitch' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'internal or external gear' ) AND ( ( it.description = 'internal' ) OR ( it.description = + 'external' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'normal attribute' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'root fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF\characterized_object.description IN [ 'helix gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'reference helix angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF\characterized_object.description IN [ 'helix gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'gear tooth' ) AND ( ( it.description = 'left hand tooth' ) OR ( it.description = + 'right hand tooth' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr14: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'tip angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr15: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'root angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr16: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY gear_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + radius_first_link : length_measure; + radius_second_link : length_measure; + bevel : plane_angle_measure; + helical_angle : plane_angle_measure; + gear_ratio : REAL; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY gear_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : gear_pair; + actual_rotation_1 : plane_angle_measure; + DERIVE + actual_rotation_2 : plane_angle_measure := ( -actual_rotation_1 ) * SELF\pair_value.applies_to_pair\gear_pair.gear_ratio; + END_ENTITY; + + ENTITY gear_pair_with_range + SUBTYPE OF ( gear_pair ); + lower_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation_1 ) ) OR ( NOT EXISTS( upper_limit_actual_rotation_1 ) ) ) XOR ( + lower_limit_actual_rotation_1 < upper_limit_actual_rotation_1 ) ); + END_ENTITY; + + ENTITY general_datum_reference + ABSTRACT SUPERTYPE OF ( + ONEOF ( + datum_reference_compartment, + datum_reference_element ) ) + SUBTYPE OF ( shape_aspect ); + base : datum_or_common_datum; + modifiers : OPTIONAL SET [1 : ?] OF datum_reference_modifier; + WHERE + wr1: ( SELF\shape_aspect.name = '' ); + wr2: ( NOT EXISTS( SELF\shape_aspect.description ) ); + wr3: ( NOT EXISTS( SELF\shape_aspect.id ) ); + wr4: ( SELF\shape_aspect.product_definitional = FALSE ); + wr5: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM' IN TYPEOF( base ) ) ) OR ( SELF\ + shape_aspect.of_shape = base\shape_aspect.of_shape ) ); + wr6: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMMON_DATUM_LIST' IN TYPEOF( base ) ) ) + OR ( SELF\shape_aspect.of_shape = base[1]\shape_aspect.of_shape ) ); + END_ENTITY; + + ENTITY general_feature + SUBTYPE OF ( shape_feature_definition ); + WHERE + wr1: ( ( SIZEOF( get_property_definition_representations( SELF ) ) <= 1 ) AND ( SIZEOF( QUERY ( pdr <* + get_property_definition_representations( SELF ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) <= 1 ) ); + wr2: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'course of travel occurrence' ) ) ) = SIZEOF( + QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'course of travel occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) + AND ( sar.name = 'course of travel' ) ) ) ) = 1 ) ) ) ) ); + wr3: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'course of travel occurrence' ) ) ) = SIZEOF( + QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'course of travel occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sar. + relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) ); + wr4: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'boundary occurrence' ) ) ) = SIZEOF( + QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'boundary occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) + AND ( sar.description = 'profile usage' ) ) ) ) = 1 ) ) ) ) ); + wr5: ( ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( sa ) ) ) ) + <= 1 ) AND ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( sa ) ) AND + ( sa.name = 'general compound feature' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INSTANCED_FEATURE' IN TYPEOF( sar. + related_shape_aspect ) ) ) ) ) >= 2 ) ) ) ) <= 1 ) ); + END_ENTITY; + + ENTITY general_linear_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + sum_index : one_or_two; + DERIVE + mat : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_2d_table( mat ); + wr2: ( ( space_dimension( mat.range ) = 1 ) AND subspace_of_es( factor1( mat.range ), es_numbers ) ); + END_ENTITY; + + ENTITY general_material_property + SUBTYPE OF ( general_property ); + WHERE + wr1: ( SIZEOF( QUERY ( gpa <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GENERAL_PROPERTY_ASSOCIATION.BASE_DEFINITION' ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MATERIAL_PROPERTY' IN TYPEOF( gpa\ + general_property_association.derived_definition ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY general_property; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY general_property_association; + name : label; + description : OPTIONAL text; + base_definition : general_property; + derived_definition : derived_property_select; + WHERE + wr1: ( SIZEOF( USEDIN( derived_definition, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) ) = 1 ); + wr2: ( derived_definition.name = base_definition.name ); + END_ENTITY; + + ENTITY general_property_relationship; + name : label; + description : OPTIONAL text; + relating_property : general_property; + related_property : general_property; + END_ENTITY; + + ENTITY generated_finite_numeric_space + SUBTYPE OF ( finite_space ); + start_value : maths_number; + increment_value : maths_number; + increment_number : positive_integer; + DERIVE + SELF\finite_space.members : SET [2 : ?] OF maths_number := make_numeric_set( start_value, increment_value, + increment_number ); + WHERE + wr1: ( increment_value <> 0 ); + END_ENTITY; + + ENTITY generic_character_glyph_symbol + ABSTRACT SUPERTYPE + SUBTYPE OF ( symbol_representation ); + END_ENTITY; + + ENTITY generic_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_generic_expression, + unary_generic_expression, + binary_generic_expression, + multiple_arity_generic_expression ) ); + WHERE + wr1: is_acyclic( SELF ); + END_ENTITY; + + ENTITY generic_footprint_definition + ABSTRACT SUPERTYPE OF ( + ONEOF ( + footprint_definition, + breakout_footprint_definition ) ) + SUBTYPE OF ( multi_stratum_structured_template ); + END_ENTITY; + + ENTITY generic_laminate_text_component + ABSTRACT SUPERTYPE OF ( + ONEOF ( + additive_laminate_text_component, + material_removal_laminate_text_component ) ) + SUBTYPE OF ( laminate_component ); + END_ENTITY; + + ENTITY generic_literal + ABSTRACT SUPERTYPE + SUBTYPE OF ( simple_generic_expression ); + END_ENTITY; + + ENTITY generic_product_definition_reference + ABSTRACT SUPERTYPE OF ( + ONEOF ( + product_definition_reference, + product_definition_reference_with_local_representation ) ); + source : external_source; + END_ENTITY; + + ENTITY generic_variable + ABSTRACT SUPERTYPE + SUBTYPE OF ( simple_generic_expression ); + INVERSE + interpretation : environment FOR syntactic_representation; + END_ENTITY; + + ENTITY geometric_alignment + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) > 1 ); + END_ENTITY; + + ENTITY geometric_contact + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 2 ); + END_ENTITY; + + ENTITY geometric_curve_set + SUBTYPE OF ( geometric_set ); + WHERE + wr1: ( SIZEOF( QUERY ( temp <* SELF\geometric_set.elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF( temp ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY geometric_gap_in_topology + ABSTRACT SUPERTYPE OF ( + ONEOF ( + gap_between_adjacent_edges_in_loop, + gap_between_vertex_and_base_surface, + gap_between_vertex_and_edge, + gap_between_edge_and_base_surface, + gap_between_pcurves_related_to_an_edge, + gap_between_faces_related_to_an_edge ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY geometric_intersection + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) > 1 ); + END_ENTITY; + + ENTITY geometric_item_specific_usage + SUBTYPE OF ( item_identified_representation_usage ); + SELF\item_identified_representation_usage.definition : geometric_item_specific_usage_select; + SELF\item_identified_representation_usage.used_representation : shape_model; + SELF\item_identified_representation_usage.identified_item : geometric_model_item; + UNIQUE + ur1 : definition; + END_ENTITY; + + ENTITY geometric_model_element_relationship + SUBTYPE OF ( geometric_representation_item, representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : geometric_representation_item; + SELF\representation_item_relationship.related_representation_item : geometric_representation_item; + UNIQUE + ur1 : SELF\representation_item_relationship.relating_representation_item, SELF\representation_item_relationship. + related_representation_item; + WHERE + wr1: ( SELF\representation_item_relationship.relating_representation_item :<>: SELF\representation_item_relationship. + related_representation_item ); + END_ENTITY; + + ENTITY geometric_representation_context + SUPERTYPE OF ( + ONEOF ( + geometric_representation_context_with_parameter, + path_parameter_representation_context ) ) + SUBTYPE OF ( representation_context ); + coordinate_space_dimension : dimension_count; + END_ENTITY; + + ENTITY geometric_representation_context_with_parameter + SUBTYPE OF ( geometric_representation_context ); + parameter_unit : OPTIONAL unit; + END_ENTITY; + + ENTITY geometric_representation_item + SUPERTYPE OF ( + ONEOF ( + point, + direction, + vector, + placement, + cartesian_transformation_operator, + curve, + surface, + edge_curve, + face_surface, + poly_loop, + vertex_point, + solid_model, + boolean_result, + sphere, + right_circular_cone, + right_circular_cylinder, + torus, + block, + primitive_2d, + right_angular_wedge, + volume, + half_space_solid, + shell_based_surface_model, + face_based_surface_model, + shell_based_wireframe_model, + edge_based_wireframe_model, + geometric_set, + tessellated_item ) + ANDOR + ONEOF ( + camera_model, + camera_model_d3_multi_clipping_intersection, + camera_model_d3_multi_clipping_union, + curve, + direction, + light_source ) + ANDOR + ONEOF ( + annotation_fill_area, + composite_text, + curve, + defined_character_glyph, + defined_symbol, + point, + symbol_target, + text_literal ) + ANDOR + ONEOF ( + curve, + externally_defined_hatch_style, + externally_defined_tile_style, + fill_area_style_hatching, + fill_area_style_tile_coloured_region, + fill_area_style_tile_curve_with_style, + fill_area_style_tile_symbol_with_style, + fill_area_style_tiles, + one_direction_repeat_factor, + point, + vector ) + ANDOR + ONEOF ( + kinematic_path, + placement ) + ANDOR + ONEOF ( + curve, + planar_extent ) + ANDOR + ONEOF ( + rotation_about_direction, + su_parameters ) ) + SUBTYPE OF ( representation_item ); + DERIVE + dim : dimension_count := dimension_of( SELF ); + WHERE + wr1: ( SIZEOF( QUERY ( using_rep <* using_representations( SELF ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( + using_rep.context_of_items ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY geometric_set + SUBTYPE OF ( geometric_representation_item ); + elements : SET [1 : ?] OF geometric_set_select; + END_ENTITY; + + ENTITY geometric_template + ABSTRACT SUPERTYPE + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY geometric_tolerance + ABSTRACT SUPERTYPE OF ( + geometric_tolerance_with_datum_reference + ANDOR + geometric_tolerance_with_defined_unit + ANDOR + ONEOF ( + geometric_tolerance_with_modifiers, + modified_geometric_tolerance ) + ANDOR + unequally_disposed_geometric_tolerance + ANDOR + ONEOF ( + cylindricity_tolerance, + flatness_tolerance, + line_profile_tolerance, + position_tolerance, + roundness_tolerance, + straightness_tolerance, + surface_profile_tolerance ) ); + name : label; + description : OPTIONAL text; + magnitude : OPTIONAL length_measure_with_unit; + toleranced_shape_aspect : geometric_tolerance_target; + DERIVE + controlling_shape : product_definition_shape := sts_get_product_definition_shape( toleranced_shape_aspect ); + id : identifier := get_id_value( SELF ); + UNIQUE + ur1 : id, controlling_shape; + WHERE + wr1: ( magnitude\measure_with_unit.value_component >= 0 ); + wr2: EXISTS( controlling_shape ); + wr3: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP' IN TYPEOF( + toleranced_shape_aspect ) ) ) OR ( toleranced_shape_aspect\shape_aspect_relationship.relating_shape_aspect.of_shape + :=: toleranced_shape_aspect\shape_aspect_relationship.related_shape_aspect.of_shape ) ); + wr4: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY geometric_tolerance_relationship; + name : label; + description : text; + relating_geometric_tolerance : geometric_tolerance; + related_geometric_tolerance : geometric_tolerance; + END_ENTITY; + + ENTITY geometric_tolerance_with_datum_reference + SUPERTYPE OF ( + ONEOF ( + angularity_tolerance, + circular_runout_tolerance, + coaxiality_tolerance, + concentricity_tolerance, + parallelism_tolerance, + perpendicularity_tolerance, + symmetry_tolerance, + total_runout_tolerance ) ) + SUBTYPE OF ( geometric_tolerance ); + datum_system : SET [1 : ?] OF datum_system_or_reference; + WHERE + wr1: ( ( SIZEOF( QUERY ( ds <* datum_system | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATUM_SYSTEM' ) IN TYPEOF( ds ) ) ) ) = 0 ) OR ( SIZEOF( datum_system ) = 1 ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_defined_area_unit + SUBTYPE OF ( geometric_tolerance_with_defined_unit ); + area_type : area_unit_type; + second_unit_size : OPTIONAL length_measure_with_unit; + WHERE + wr1: ( NOT ( EXISTS( second_unit_size ) XOR ( area_type = area_unit_type.rectangular ) ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_defined_unit + SUBTYPE OF ( geometric_tolerance ); + unit_size : length_measure_with_unit; + WHERE + wr1: ( ( 'NUMBER' IN TYPEOF( unit_size\measure_with_unit.value_component ) ) AND ( unit_size\measure_with_unit. + value_component > 0 ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_maximum_tolerance + SUBTYPE OF ( geometric_tolerance_with_modifiers ); + maximum_upper_tolerance : length_measure_with_unit; + WHERE + wr1: ( ( geometric_tolerance_modifier.maximum_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers ) + OR ( geometric_tolerance_modifier.least_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers ) ); + wr2: ( ( maximum_upper_tolerance\measure_with_unit.unit_component = SELF\geometric_tolerance.magnitude\measure_with_unit. + unit_component ) AND ( maximum_upper_tolerance\measure_with_unit.value_component > SELF\geometric_tolerance. + magnitude\measure_with_unit.value_component ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_modifiers + SUBTYPE OF ( geometric_tolerance ); + modifiers : SET [1 : ?] OF geometric_tolerance_modifier; + END_ENTITY; + + ENTITY geometrical_tolerance_callout + SUBTYPE OF ( draughting_callout ); + END_ENTITY; + + ENTITY geometrically_bounded_2d_wireframe_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + wr2: ( SIZEOF( QUERY ( item <* SELF.items | ( NOT ( SIZEOF( TYPEOF( item ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( item <* SELF.items | ( SIZEOF( TYPEOF( item ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] ) = 1 ) ) ) >= 1 ); + wr4: ( SIZEOF( QUERY ( mi <* QUERY ( item <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( item ) ) ) | ( NOT ( + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( gcs <* QUERY ( item <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF( item ) ) ) | + ( NOT ( SIZEOF( QUERY ( elem <* gcs\geometric_set.elements | ( NOT ( SIZEOF( TYPEOF( elem ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_2D' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE' ] ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( gcs <* QUERY ( item <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF( item ) ) ) | + ( NOT ( SIZEOF( QUERY ( crv <* QUERY ( elem <* gcs\geometric_set.elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF( elem ) ) ) | ( NOT + valid_basis_curve_in_2d_wireframe( crv ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( gcs <* QUERY ( item <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF( item ) ) ) | + ( NOT ( SIZEOF( QUERY ( pnt <* QUERY ( elem <* gcs\geometric_set.elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' IN TYPEOF( elem ) ) ) | ( NOT ( + SIZEOF( TYPEOF( pnt ) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' ] ) = 1 ) ) ) ) = 0 ) ) ) ) = + 0 ); + END_ENTITY; + + ENTITY geometrically_bounded_surface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRIC_SET' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) + = 1 ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( ( + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) AND ( SIZEOF( QUERY ( mr_it <* mi\mapped_item.mapping_source.mapped_representation.items + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF( mr_it ) ) ) ) > 0 ) ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( pnt <* QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' IN TYPEOF( gsel ) ) ) | ( NOT + gbsf_check_point( pnt ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( cv <* QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF( gsel ) ) ) | ( NOT + gbsf_check_curve( cv ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( sf <* QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF( gsel ) ) ) | ( NOT + gbsf_check_surface( sf ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF( it ) ) ) | ( + SIZEOF( QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF( gsel ) ) ) ) > 0 ) ) ) > + 0 ); + END_ENTITY; + + ENTITY geometrically_bounded_wireframe_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( TYPEOF( it ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( TYPEOF( it ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] ) = 1 ) ) ) >= 1 ); + wr3: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( + NOT ( SIZEOF( QUERY ( crv <* QUERY ( elem <* gcs\geometric_set.elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF( elem ) ) ) | ( NOT + valid_geometrically_bounded_wf_curve( crv ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( + NOT ( SIZEOF( QUERY ( pnts <* QUERY ( elem <* gcs\geometric_set.elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' IN TYPEOF( elem ) ) ) | ( NOT + valid_geometrically_bounded_wf_point( pnts ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( + NOT ( SIZEOF( QUERY ( cnc <* QUERY ( elem <* gcs\geometric_set.elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' IN TYPEOF( elem ) ) ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( cnc\conic. + position ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( + NOT ( SIZEOF( QUERY ( pline <* QUERY ( elem <* gcs\geometric_set.elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( elem ) ) ) | ( NOT ( + SIZEOF( pline\polyline.points ) > 2 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY geometry_with_local_irregularity + ABSTRACT SUPERTYPE OF ( + ONEOF ( + extreme_patch_width_variation, + zero_surface_normal, + abrupt_change_of_surface_normal ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY geometry_with_local_near_degeneracy + ABSTRACT SUPERTYPE OF ( + ONEOF ( + curve_with_small_curvature_radius, + short_length_curve_segment, + surface_with_small_curvature_radius, + small_area_surface_patch, + narrow_surface_patch, + indistinct_surface_knots, + indistinct_curve_knots, + nearly_degenerate_surface_boundary, + nearly_degenerate_surface_patch ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY global_assignment + SUBTYPE OF ( representation_item_relationship ); + END_ENTITY; + + ENTITY global_uncertainty_assigned_context + SUBTYPE OF ( representation_context ); + uncertainty : SET [1 : ?] OF uncertainty_measure_with_unit; + END_ENTITY; + + ENTITY global_unit_assigned_context + SUBTYPE OF ( representation_context ); + units : SET [1 : ?] OF unit; + END_ENTITY; + + ENTITY ground_fact + SUBTYPE OF ( atomic_formula ); + END_ENTITY; + + ENTITY group + SUPERTYPE OF ( + ONEOF ( + change_group, + change_element ) ); + name : label; + description : OPTIONAL text; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY group_assignment + ABSTRACT SUPERTYPE OF ( + ONEOF ( + current_change_element_assignment, + previous_change_element_assignment, + change_group_assignment ) ); + assigned_group : group; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ) <= 1 ); + END_ENTITY; + + ENTITY group_product_definition + SUBTYPE OF ( component_definition ); + END_ENTITY; + + ENTITY group_relationship; + name : label; + description : OPTIONAL text; + relating_group : group; + related_group : group; + END_ENTITY; + + ENTITY group_shape_aspect + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY guided_wave_terminal + SUBTYPE OF ( package_terminal ); + END_ENTITY; + + ENTITY half_space_2d + SUBTYPE OF ( primitive_2d ); + base_curve : curve; + agreement_flag : BOOLEAN; + END_ENTITY; + + ENTITY half_space_solid + SUBTYPE OF ( geometric_representation_item ); + base_surface : surface; + agreement_flag : BOOLEAN; + END_ENTITY; + + ENTITY hardness_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( 2 <= SIZEOF( SELF.items ) ) AND ( SIZEOF( SELF.items ) <= 4 ) AND ( ( SIZEOF( QUERY ( i <* items | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN + TYPEOF( i ) ) AND ( i.name IN [ 'measuring method', 'measuring position'] ) ) ) ) + SIZEOF( QUERY ( i <* items | ( + ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( i ) ) = 1 ) AND + ( i.name IN [ 'depth', 'hardness'] ) ) ) ) ) = SIZEOF( SELF.items ) ) ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'measuring method' ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'hardness' ) ) ) = 1 ); + wr4: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'measuring position' ) ) ) <= 1 ); + wr5: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'depth' ) ) ) <= 1 ); + wr6: ( ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + + 'DERIVED_DEFINITION' ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa.base_definition ) ) AND ( gpa\general_property_association.base_definition\ + general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY hatch_area_template + SUBTYPE OF ( fill_area_template ); + END_ENTITY; + + ENTITY hatch_line_element + SUBTYPE OF ( geometric_representation_item, representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : line; + SELF\representation_item_relationship.related_representation_item : measure_representation_item; + END_ENTITY; + + ENTITY hidden_element_over_riding_styled_item + SUBTYPE OF ( context_dependent_over_riding_styled_item ); + SELF\context_dependent_over_riding_styled_item.style_context : LIST [1 : 1] OF presentation_view; + SELF\styled_item.item : camera_image; + INVERSE + container : SET [1 : ?] OF presentation_view FOR items; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAMERA_MODEL_D3_WITH_HLHSR' IN TYPEOF( SELF.item + \mapped_item.mapping_source.mapping_origin ) ); + END_ENTITY; + + ENTITY high_degree_axi_symmetric_surface + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_degree_conic + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_degree_linear_curve + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_degree_planar_surface + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_order_kinematic_pair + ABSTRACT SUPERTYPE OF ( + ONEOF ( + linear_flexible_and_planar_curve_pair, + point_on_surface_pair, + point_on_planar_curve_pair, + planar_curve_pair, + surface_pair ) ) + SUBTYPE OF ( kinematic_pair ); + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY hole_bottom + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2 : ( SELF.description IN [ 'through', 'flat', 'flat with radius', 'flat with taper', 'spherical', 'conical'] ); + wr3 : ( ( NOT ( SELF.description = 'through' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 0 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF.description IN [ 'flat with radius', 'flat with taper', 'spherical', 'conical'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr6 : ( ( NOT ( SELF.description IN [ 'flat with radius', 'spherical'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr7 : ( ( NOT ( SELF.description = 'flat with taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'conical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 1 ) ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( SELF.description = 'through' ) OR ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'hole bottom usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( fcr.name IN [ 'hole depth start', 'hole depth end'] ) ) ) >= 1 ) ); + wr10: ( ( NOT ( SELF.description = 'flat with radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'corner radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF.description = 'spherical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF.description = 'conical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'tip radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF.description = 'conical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'tip angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr14: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'hole bottom usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( fcr.related_shape_aspect.description = 'bottom condition occurrence' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE' IN TYPEOF( fcr. + related_shape_aspect.of_shape.definition ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HOLE_BOTTOM' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + wr15: ( ( NOT ( SELF.description = 'flat with taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'final diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr16: ( ( NOT ( SELF.description = 'flat with taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'taper diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY hole_in_panel + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'hole profile' ) AND ( sa.description = + 'closed profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.description = 'profile usage' ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sar. + relating_shape_aspect ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr2: ( SIZEOF( get_property_definition_representations( SELF ) ) = SIZEOF( QUERY ( pdr <* + get_property_definition_representations( SELF ) | ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ); + END_ENTITY; + + ENTITY homogeneous_linear_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + sum_index : one_or_two; + DERIVE + mat : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_2d_table( mat ); + wr2: ( ( space_dimension( mat.range ) = 1 ) AND subspace_of_es( factor1( mat.range ), es_numbers ) ); + END_ENTITY; + + ENTITY homokinetic_pair + SUBTYPE OF ( universal_pair ); + WHERE + wr1: ( NOT EXISTS( SELF.input_skew_angle ) ); + END_ENTITY; + + ENTITY hyperbola + SUBTYPE OF ( conic ); + semi_axis : positive_length_measure; + semi_imag_axis : positive_length_measure; + END_ENTITY; + + ENTITY id_attribute; + attribute_value : identifier; + identified_item : id_attribute_select; + END_ENTITY; + + ENTITY identification_assignment + ABSTRACT SUPERTYPE; + assigned_id : identifier; + role : identification_role; + END_ENTITY; + + ENTITY identification_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY illuminance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ILLUMINANCE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY illuminance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.lux ) ); + END_ENTITY; + + ENTITY impedance_measurement_setup_requirement + SUBTYPE OF ( predefined_requirement_view_definition ); + END_ENTITY; + + ENTITY impedance_requirement + SUBTYPE OF ( predefined_requirement_view_definition ); + END_ENTITY; + + ENTITY implicit_explicit_positioned_sketch_relationship + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : repositioned_neutral_sketch; + SELF\representation_item_relationship.related_representation_item : positioned_sketch; + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF\representation_item_relationship.related_representation_item ) | + item_in_context( SELF\representation_item_relationship.relating_representation_item, q.context_of_items ) ) ) > 0 ); + END_ENTITY; + + ENTITY implicit_intersection_curve + SUBTYPE OF ( implicit_planar_curve ); + external_surface : surface; + END_ENTITY; + + ENTITY implicit_model_intersection_curve + SUBTYPE OF ( implicit_planar_curve ); + intersected_model : surface_or_solid_model; + END_ENTITY; + + ENTITY implicit_planar_curve + ABSTRACT SUPERTYPE OF ( + ONEOF ( + implicit_intersection_curve, + implicit_projected_curve, + implicit_model_intersection_curve, + implicit_silhouette_curve ) ) + SUBTYPE OF ( curve, auxiliary_geometric_representation_item ); + using_sketch : positioned_sketch; + computed_representation : curve; + DERIVE + curve_plane : plane := get_plane_of_implicit_geometry( using_sketch ); + WHERE + wr1: ( SIZEOF( TYPEOF( computed_representation ) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'IMPLICIT_PLANAR_CURVE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA'] ) + = 0 ); + END_ENTITY; + + ENTITY implicit_planar_intersection_point + SUBTYPE OF ( implicit_point_on_plane ); + external_curve : curve; + END_ENTITY; + + ENTITY implicit_planar_projection_point + SUBTYPE OF ( implicit_point_on_plane ); + external_point : point; + projection_direction : direction; + END_ENTITY; + + ENTITY implicit_point_on_plane + ABSTRACT SUPERTYPE OF ( + ONEOF ( + implicit_planar_intersection_point, + implicit_planar_projection_point ) ) + SUBTYPE OF ( point, auxiliary_geometric_representation_item ); + using_sketch : positioned_sketch; + computed_representation : cartesian_point; + DERIVE + plane_of_point : plane := get_plane_of_implicit_geometry( using_sketch ); + WHERE + wr1: ( ( plane_of_point\elementary_surface.position.location = computed_representation ) XOR ( dot_product( plane_of_point\ + elementary_surface.position.p[3], get_relative_direction_2points( plane_of_point\elementary_surface.position. + location, computed_representation ) ) = 0 ) ); + wr2: ( SIZEOF( TYPEOF( computed_representation ) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'IMPLICIT_POINT_ON_PLANE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_REPLICA'] ) + = 0 ); + END_ENTITY; + + ENTITY implicit_projected_curve + SUBTYPE OF ( implicit_planar_curve ); + external_curve : curve; + projection_direction : direction; + END_ENTITY; + + ENTITY implicit_silhouette_curve + SUBTYPE OF ( implicit_planar_curve ); + silhouetted_model : surface_or_solid_model; + view_direction : direction; + END_ENTITY; + + ENTITY imported_curve_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : curve; + parametric_domain : tuple_space; + WHERE + wr1: expression_is_constant( parametric_domain ); + END_ENTITY; + + ENTITY imported_point_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : point; + END_ENTITY; + + ENTITY imported_surface_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : surface; + parametric_domain : tuple_space; + WHERE + wr1: expression_is_constant( parametric_domain ); + END_ENTITY; + + ENTITY imported_volume_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : volume; + parametric_domain : tuple_space; + WHERE + wr1: expression_is_constant( parametric_domain ); + END_ENTITY; + + ENTITY inappropriate_element_visibility + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'STYLED_ITEM' ] ); + END_ENTITY; + + ENTITY inappropriate_use_of_layer + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_LAYER_ASSIGNMENT' ] ); + END_ENTITY; + + ENTITY inapt_data + ABSTRACT SUPERTYPE OF ( + ONEOF ( + inapt_topology, + inapt_geometry, + inapt_topology_and_geometry_relationship, + inapt_manifold_solid_brep ) ) + SUBTYPE OF ( shape_data_quality_criterion ); + END_ENTITY; + + ENTITY inapt_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + nearly_degenerate_geometry, + discontinuous_geometry, + self_intersecting_geometry, + geometry_with_local_near_degeneracy, + overlapping_geometry, + multiply_defined_geometry, + geometry_with_local_irregularity, + overcomplex_geometry ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY inapt_manifold_solid_brep + ABSTRACT SUPERTYPE OF ( + ONEOF ( + partly_overlapping_solids, + small_volume_solid, + multiply_defined_solids, + entirely_narrow_solid, + solid_with_excessive_number_of_voids ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY inapt_topology + ABSTRACT SUPERTYPE OF ( + ONEOF ( + free_edge, + non_manifold_at_edge, + non_manifold_at_vertex, + over_used_vertex ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY inapt_topology_and_geometry_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + topology_related_to_nearly_degenerate_geometry, + geometric_gap_in_topology, + non_smooth_geometry_transition_across_edge, + topology_related_to_self_intersecting_geometry, + steep_geometry_transition_across_edge, + topology_related_to_overlapping_geometry, + topology_related_to_multiply_defined_geometry, + overcomplex_topology_and_geometry_relationship ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY incidence_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, incidence_geometric_constraint ); + END_ENTITY; + + ENTITY incidence_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF geometric_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF geometric_constraint_element; + near_points : SET [0 : ?] OF near_point_relationship; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( SIZEOF( near_points ) <= SIZEOF( SELF\explicit_constraint.reference_elements ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY included_text_block + SUBTYPE OF ( mapped_item ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRUCTURED_TEXT_REPRESENTATION' IN TYPEOF( SELF\ + mapped_item.mapping_source.mapped_representation ) ); + END_ENTITY; + + ENTITY inclusion_product_concept_feature + SUBTYPE OF ( conditional_concept_feature ); + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PACKAGE_PRODUCT_CONCEPT_FEATURE' ) + IN TYPEOF( SELF ) ) ); + wr2: ( ( SIZEOF( QUERY ( cfr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' ) IN TYPEOF( cfr ) ) ) ) + SIZEOF( QUERY ( cfr <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.' + + 'RELATED_PRODUCT_CONCEPT_FEATURE' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' ) IN TYPEOF( cfr ) ) ) ) ) = 0 ); + wr3: ( SELF.condition.conditional_operator.name = 'implication' ); + END_ENTITY; + + ENTITY inconsistent_adjacent_face_normals + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CLOSED_OR_OPEN_SHELL_SELECT' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EDGE_CURVE' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_curve_transition_code + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + angle_tolerance : plane_angle_measure; + curvature_ratio_tolerance : ratio_measure; + distance_tolerance : length_measure; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'COMPOSITE_CURVE' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'COMPOSITE_CURVE_TRANSITION_LOCATOR'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_edge_and_curve_directions + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + distance_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EDGE_CURVE' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_element_reference + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM' ] ); + END_ENTITY; + + ENTITY inconsistent_face_and_closed_shell_normals + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_face_and_surface_normals + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_surface_transition_code + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + angle_tolerance : plane_angle_measure; + curvature_ratio_tolerance : ratio_measure; + distance_tolerance : length_measure; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'RECTANGULAR_COMPOSITE_SURFACE' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'RECTANGULAR_COMPOSITE_SURFACE_TRANSITION_LOCATOR'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY index_expression + SUBTYPE OF ( string_expression, binary_generic_expression ); + DERIVE + operand : generic_expression := SELF\binary_generic_expression.operands[1]; + index : generic_expression := SELF\binary_generic_expression.operands[2]; + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( operand ) ) AND + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( index ) ) ); + wr2: is_int_expr( index ); + END_ENTITY; + + ENTITY indirect_stratum_component_join_implementation + SUBTYPE OF ( plated_inter_stratum_feature ); + END_ENTITY; + + ENTITY indirectly_selected_elements + SUBTYPE OF ( user_selected_elements ); + indirectly_picked_items : SET [1 : ?] OF representation_item; + END_ENTITY; + + ENTITY indirectly_selected_shape_elements + SUBTYPE OF ( indirectly_selected_elements, user_selected_shape_elements ); + SELF\indirectly_selected_elements.indirectly_picked_items : SET [1 : ?] OF shape_representation_item; + END_ENTITY; + + ENTITY indistinct_curve_knots + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARAMETER_VALUE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARAMETER_VALUE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE_WITH_KNOTS' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE_KNOT_LOCATOR'] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY indistinct_surface_knots + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARAMETER_VALUE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARAMETER_VALUE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_WITH_KNOTS' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR'] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inductance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INDUCTANCE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY inductance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.henry ) ); + END_ENTITY; + + ENTITY information_right + SUBTYPE OF ( action_method ); + END_ENTITY; + + ENTITY information_usage_right + SUBTYPE OF ( action_method ); + END_ENTITY; + + ENTITY instance_attribute_reference + SUBTYPE OF ( variable_semantics ); + attribute_name : attribute_identifier; + owning_instance : representation_item; + END_ENTITY; + + ENTITY instance_report_item_with_extreme_instances + SUBTYPE OF ( shape_data_quality_inspection_instance_report_item ); + extreme_instances : LIST [1 : ?] OF extreme_instance; + END_ENTITY; + + ENTITY instance_usage_context_assignment + SUBTYPE OF ( product_definition_context ); + items : SET [1 : ?] OF instance_usage_context_select; + END_ENTITY; + + ENTITY instanced_feature + SUBTYPE OF ( feature_definition, shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( SELF.of_shape. + definition ) ); + wr2: SELF.product_definitional; + END_ENTITY; + + ENTITY int_literal + SUBTYPE OF ( literal_number ); + SELF\literal_number.the_value : INTEGER; + END_ENTITY; + + ENTITY int_numeric_variable + SUBTYPE OF ( numeric_variable ); + END_ENTITY; + + ENTITY int_value_function + SUBTYPE OF ( value_function ); + END_ENTITY; + + ENTITY integer_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( numeric_defined_function ); + END_ENTITY; + + ENTITY integer_interval_from_min + SUBTYPE OF ( maths_space, generic_literal ); + min : INTEGER; + END_ENTITY; + + ENTITY integer_interval_to_max + SUBTYPE OF ( maths_space, generic_literal ); + max : INTEGER; + END_ENTITY; + + ENTITY integer_representation_item + SUBTYPE OF ( representation_item, int_literal ); + END_ENTITY; + + ENTITY integer_tuple_literal + SUBTYPE OF ( generic_literal ); + lit_value : LIST [1 : ?] OF INTEGER; + END_ENTITY; + + ENTITY integral_shield + SUBTYPE OF ( laminate_component ); + END_ENTITY; + + ENTITY inter_stratum_feature + SUPERTYPE OF ( + ONEOF ( + cutout, + interconnect_module_edge ) ) + SUBTYPE OF ( laminate_component ); + END_ENTITY; + + ENTITY inter_stratum_feature_dependent_land + ABSTRACT SUPERTYPE OF ( + ONEOF ( + plated_passage_dependent_land, + unsupported_passage_dependent_land ) ) + SUBTYPE OF ( land ); + END_ENTITY; + + ENTITY inter_stratum_feature_edge_segment_template + SUBTYPE OF ( part_template_definition, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; + SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + END_ENTITY; + + ENTITY inter_stratum_feature_edge_segment_template_with_cross_section + SUBTYPE OF ( inter_stratum_feature_edge_segment_template ); + END_ENTITY; + + ENTITY inter_stratum_feature_edge_template + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY inter_stratum_feature_template + SUPERTYPE OF ( + ONEOF ( + component_termination_passage_template, + unsupported_passage_template, + via_template ) ) + SUBTYPE OF ( geometric_template ); + END_ENTITY; + + ENTITY interconnect_module_component + SUBTYPE OF ( physical_component ); + END_ENTITY; + + ENTITY interconnect_module_component_surface_feature + SUBTYPE OF ( physical_component_feature ); + END_ENTITY; + + ENTITY interconnect_module_cutout_segment_surface + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; + SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + END_ENTITY; + + ENTITY interconnect_module_design_object_category + SUBTYPE OF ( characterized_object ); + END_ENTITY; + + ENTITY interconnect_module_design_view + SUPERTYPE OF ( + layered_interconnect_module_design_view ) + SUBTYPE OF ( physical_unit ); + END_ENTITY; + + ENTITY interconnect_module_edge + SUPERTYPE OF ( + ONEOF ( + partially_plated_interconnect_module_edge, + plated_interconnect_module_edge ) ) + SUBTYPE OF ( inter_stratum_feature ); + END_ENTITY; + + ENTITY interconnect_module_edge_segment + SUPERTYPE OF ( + ONEOF ( + plated_interconnect_module_edge_segment, + unplated_interconnect_module_edge_segment ) ) + SUBTYPE OF ( inter_stratum_feature, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; + SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + END_ENTITY; + + ENTITY interconnect_module_edge_segment_surface + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; + SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + END_ENTITY; + + ENTITY interconnect_module_interface_terminal + SUBTYPE OF ( interconnect_module_terminal ); + END_ENTITY; + + ENTITY interconnect_module_macro_component + SUBTYPE OF ( physical_component ); + END_ENTITY; + + ENTITY interconnect_module_macro_component_join_terminal + SUBTYPE OF ( physical_component_terminal ); + END_ENTITY; + + ENTITY interconnect_module_macro_terminal + SUBTYPE OF ( interconnect_module_terminal ); + END_ENTITY; + + ENTITY interconnect_module_stratum_based_terminal + SUBTYPE OF ( interconnect_module_terminal ); + END_ENTITY; + + ENTITY interconnect_module_terminal + SUPERTYPE OF ( + interconnect_module_interface_terminal + ANDOR + ONEOF ( + interconnect_module_interface_terminal, + interconnect_module_macro_terminal ) ) + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY interconnect_module_usage_view + SUPERTYPE OF ( + layered_interconnect_module_usage_view ) + SUBTYPE OF ( physical_unit ); + END_ENTITY; + + ENTITY interconnect_shield_allocation + SUBTYPE OF ( requirement_assignment ); + END_ENTITY; + + ENTITY interface_access_component_definition + SUBTYPE OF ( laminate_component ); + END_ENTITY; + + ENTITY interface_access_material_removal_laminate_component + SUBTYPE OF ( material_removal_laminate_component ); + END_ENTITY; + + ENTITY interface_access_stratum_feature_template_component + SUBTYPE OF ( stratum_feature_template_component ); + END_ENTITY; + + ENTITY interface_component + SUBTYPE OF ( physical_component ); + END_ENTITY; + + ENTITY interface_mounted_join + SUBTYPE OF ( shape_aspect_relationship, shape_aspect ); + END_ENTITY; + + ENTITY interface_plane + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY interfaced_group_component + SUBTYPE OF ( assembly_group_component ); + END_ENTITY; + + ENTITY interfacial_connection + SUBTYPE OF ( via ); + END_ENTITY; + + ENTITY internal_probe_access_area + SUBTYPE OF ( probe_access_area ); + END_ENTITY; + + ENTITY interpolated_configuration_representation + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context_with_parameter; + SELF\representation.items : SET [1 : ?] OF interpolated_configuration_sequence; + END_ENTITY; + + ENTITY interpolated_configuration_segment + SUBTYPE OF ( founded_item ); + state : mechanism_state_representation; + t_parameter : parameter_value; + interpolation : interpolation_type; + END_ENTITY; + + ENTITY interpolated_configuration_sequence + SUBTYPE OF ( representation_item ); + segments : LIST [2 : ?] OF interpolated_configuration_segment; + DERIVE + n_segments : INTEGER := SIZEOF( segments ); + closed_interpolation : LOGICAL := segments[n_segments].interpolation <> discontinuous_interpolation_type; + configured_mechanism : mechanism_representation := segments[1].state.represented_mechanism; + WHERE + wr1: ( SIZEOF( QUERY ( ics <* segments | ( ics.state.represented_mechanism :<>: configured_mechanism ) ) ) = 0 ); + END_ENTITY; + + ENTITY intersecting_connected_face_sets + SUBTYPE OF ( topology_related_to_self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SET' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_FACE_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_FACE_SURFACE' ] ); + wr4: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY intersecting_loops_in_face + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' ] ); + wr4: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY intersecting_shells_in_solid + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'BREP_WITH_VOIDS' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SURFACE_CURVE' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY intersection_curve + SUBTYPE OF ( surface_curve ); + WHERE + wr1: ( SIZEOF( SELF\surface_curve.associated_geometry ) = 2 ); + wr2: ( associated_surface( SELF\surface_curve.associated_geometry[1] ) <> associated_surface( SELF\surface_curve. + associated_geometry[2] ) ); + END_ENTITY; + + ENTITY interval_expression + SUBTYPE OF ( boolean_expression, multiple_arity_generic_expression ); + DERIVE + interval_low : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + interval_item : generic_expression := SELF\multiple_arity_generic_expression.operands[2]; + interval_high : generic_expression := SELF\multiple_arity_generic_expression.operands[3]; + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPRESSION' IN TYPEOF( interval_low ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPRESSION' IN TYPEOF( interval_item ) ) AND + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPRESSION' IN TYPEOF( interval_high ) ) ); + wr2: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF. + interval_low ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' IN + TYPEOF( SELF.interval_high ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'STRING_EXPRESSION' IN TYPEOF( SELF.interval_item ) ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( SELF. + interval_low ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN + TYPEOF( SELF.interval_item ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'NUMERIC_EXPRESSION' IN TYPEOF( SELF.interval_high ) ) ) ); + END_ENTITY; + + ENTITY inverse_copy_stratum_technology_occurrence_relationship + SUBTYPE OF ( derived_stratum_technology_occurrence_relationship ); + END_ENTITY; + + ENTITY invisibility; + invisible_items : SET [1 : ?] OF invisible_item; + END_ENTITY; + + ENTITY iso4217_currency + SUBTYPE OF ( currency ); + END_ENTITY; + + ENTITY item_defined_transformation; + name : label; + description : OPTIONAL text; + transform_item_1 : representation_item; + transform_item_2 : representation_item; + END_ENTITY; + + ENTITY item_identified_representation_usage; + name : label; + description : OPTIONAL text; + definition : item_identified_representation_usage_definition; + used_representation : representation; + identified_item : item_identified_representation_usage_select; + WHERE + wr1: ( SELF.used_representation IN using_representations( SELF.identified_item ) ); + END_ENTITY; + + ENTITY item_link_motion_relationship + SUBTYPE OF ( link_motion_relationship ); + SELF\representation_relationship.rep_1 : shape_representation; + item : geometric_representation_item; + END_ENTITY; + + ENTITY item_restricted_requirement + SUBTYPE OF ( group, predefined_requirement_view_definition ); + END_ENTITY; + + ENTITY joggle + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( NOT ( ( 5 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr + .used_representation.items ) <= 10 ) ) ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ + 'orientation' , 'base radius 1', 'base radius 2', 'direction angle 1', 'direction angle 2', 'height', + 'slope angle 1' , 'slope angle 2', 'top radius 1', 'top radius 2'] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'direction angle 1' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr4 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'direction angle 2' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'height' ) + AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = + 2 ) ) ) ) = 1 ) ) ) ) <= 1 ); + wr6 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'slope angle 1' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr7 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'slope angle 2' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr8 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'defining path' ) AND ( sa.description = + 'path feature component occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.description = 'path feature component usage' ) AND + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sar. + relating_shape_aspect ) ) AND ( sar.relating_shape_aspect.description = 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ); + wr9 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'termination' ) AND ( sa.description = + 'joggle termination occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.name = 'joggle termination usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.JOGGLE_TERMINATION' IN TYPEOF( sar. + relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) = 1 ); + wr10: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'base radius 1' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) <= 1 ); + wr11: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'base radius 2' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) <= 1 ); + wr12: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'top radius 1' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) <= 1 ); + wr13: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'top radius 2' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) <= 1 ); + END_ENTITY; + + ENTITY joggle_termination + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SELF.description IN [ 'value termination', 'face termination'] ); + wr3: ( ( SELF.description = 'value termination' ) XOR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 0 ) ); + wr4: ( ( SELF.description <> 'value termination' ) OR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) = 1 ) ); + wr5: ( ( SELF.description <> 'value termination' ) OR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'depth' ) + AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = + 2 ) ) ) ) = 1 ) ) ) ) = 1 ) ); + wr6: ( ( SELF.description <> 'value termination' ) OR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'angle' ) + AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) + = 2 ) ) ) ) = 1 ) ) ) ) = 1 ) ); + wr7: ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) AND ( sar.name = 'joggle termination usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.JOGGLE' IN TYPEOF( sar.related_shape_aspect. + of_shape.definition ) ) AND ( sar.related_shape_aspect.of_shape.definition\characterized_object.name = 'termination' ) + AND ( sar.related_shape_aspect.of_shape.definition\characterized_object.description = 'joggle termination occurrence' ) ) ) ) + = 1 ); + END_ENTITY; + + ENTITY join_shape_aspect + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY keepout_design_object_category + SUBTYPE OF ( characterized_object ); + END_ENTITY; + + ENTITY kinematic_analysis_consistency; + control : kinematic_control; + result : kinematic_analysis_result; + WHERE + wr1: ( control.controlled_mechanism :=: result.analysed_mechanism ); + END_ENTITY; + + ENTITY kinematic_analysis_result; + analysed_mechanism : mechanism_representation; + result : kinematic_result; + END_ENTITY; + + ENTITY kinematic_control; + controlled_mechanism : mechanism_representation; + contained_kinematic_programs : kinematic_analysis_definition; + END_ENTITY; + + ENTITY kinematic_joint + SUBTYPE OF ( edge ); + SELF\edge.edge_start : kinematic_link; + SELF\edge.edge_end : kinematic_link; + UNIQUE + ur1 : edge_start, edge_end; + WHERE + wr1: ( edge_start :<>: edge_end ); + END_ENTITY; + + ENTITY kinematic_link + SUBTYPE OF ( vertex ); + END_ENTITY; + + ENTITY kinematic_link_representation + ABSTRACT SUPERTYPE OF ( + ONEOF ( + linear_flexible_link_representation, + rigid_link_representation ) ) + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context; + SELF\representation.items : SET [1 : ?] OF kinematic_link_representation_items; + represented_link : kinematic_link; + INVERSE + associated_shape_representation : SET [0 : 1] OF kinematic_link_representation_association FOR rep_1; + END_ENTITY; + + ENTITY kinematic_link_representation_association + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : kinematic_link_representation; + SELF\representation_relationship.rep_2 : shape_representation; + WHERE + wr1: ( ( SELF\representation_relationship.rep_2.context_of_items :=: SELF\representation_relationship.rep_1. + context_of_items ) OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY kinematic_loop + SUBTYPE OF ( edge_loop ); + SELF\path.edge_list : LIST [1 : ?] OF UNIQUE oriented_joint; + END_ENTITY; + + ENTITY kinematic_pair + ABSTRACT SUPERTYPE OF ( + ONEOF ( + high_order_kinematic_pair, + low_order_kinematic_pair_with_motion_coupling, + low_order_kinematic_pair ) + ANDOR + actuated_kinematic_pair ) + SUBTYPE OF ( geometric_representation_item, item_defined_transformation ); + joint : kinematic_joint; + SELF\item_defined_transformation.transform_item_1 : rigid_placement; + SELF\item_defined_transformation.transform_item_2 : rigid_placement; + DERIVE + associated_link_representations_1 : SET [1 : ?] OF kinematic_link_representation := sort_link_associations( + link_representation_associations, TRUE ); + associated_link_representations_2 : SET [1 : ?] OF kinematic_link_representation := sort_link_associations( + link_representation_associations, FALSE ); + SELF\item_defined_transformation.name : label := SELF\representation_item.name; + INVERSE + link_representation_associations : SET [1 : ?] OF pair_representation_relationship FOR transformation_operator; + END_ENTITY; + + ENTITY kinematic_path + ABSTRACT SUPERTYPE OF ( + ONEOF ( + kinematic_path_defined_by_nodes, + kinematic_path_defined_by_curves ) ) + SUBTYPE OF ( geometric_representation_item ); + segments : LIST [1 : ?] OF kinematic_path_segment; + t_start : parameter_value; + DERIVE + n_segments : INTEGER := SIZEOF( segments ); + closed_path : LOGICAL := segments[n_segments].transition <> discontinuous; + WHERE + wr1: ( SIZEOF( QUERY ( using_rep <* using_representations( SELF ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER' IN TYPEOF( using_rep.context_of_items ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY kinematic_path_defined_by_curves + SUBTYPE OF ( kinematic_path ); + SELF\kinematic_path.segments : LIST [1 : ?] OF curve_based_path_with_orientation; + END_ENTITY; + + ENTITY kinematic_path_defined_by_nodes + SUBTYPE OF ( kinematic_path ); + SELF\kinematic_path.segments : LIST [1 : ?] OF path_node; + placement_start : placement; + END_ENTITY; + + ENTITY kinematic_path_segment + ABSTRACT SUPERTYPE OF ( + ONEOF ( + path_node, + curve_based_path_with_orientation ) ) + SUBTYPE OF ( founded_item ); + t_end : parameter_value; + transition : transition_code; + END_ENTITY; + + ENTITY kinematic_property_definition_representation + ABSTRACT SUPERTYPE OF ( + ONEOF ( + kinematic_property_topology_representation, + kinematic_property_mechanism_representation ) ) + SUBTYPE OF ( property_definition_representation ); + SELF\property_definition_representation.definition : product_definition_kinematics; + END_ENTITY; + + ENTITY kinematic_property_mechanism_representation + SUBTYPE OF ( kinematic_property_definition_representation ); + SELF\property_definition_representation.used_representation : mechanism_representation; + base : kinematic_link_representation; + WHERE + wr1: ( SIZEOF( QUERY ( i <* used_representation.items | ( ( base :=: i\representation_relationship.rep_1 ) OR ( base :=: i\ + representation_relationship.rep_2 ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY kinematic_property_topology_representation + SUBTYPE OF ( kinematic_property_definition_representation ); + SELF\property_definition_representation.used_representation : kinematic_topology_representation_select; + base : kinematic_link; + WHERE + wr1: ( used_representation IN using_representations( base ) ); + END_ENTITY; + + ENTITY kinematic_topology_directed_structure + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF oriented_joint; + parent : kinematic_topology_structure; + WHERE + wr1: ( context_of_items :=: parent.context_of_items ); + wr2: ( get_kinematic_joints_from_oriented_joints( items ) <= parent.items ); + END_ENTITY; + + ENTITY kinematic_topology_network_structure + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF kinematic_loop; + parent : kinematic_topology_structure; + WHERE + wr1: ( context_of_items :=: parent.context_of_items ); + wr2: ( get_kinematic_joints_from_kinematic_loops( items ) <= parent.items ); + END_ENTITY; + + ENTITY kinematic_topology_structure + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF kinematic_joint; + WHERE + wr1: ( SIZEOF( QUERY ( item <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_EDGE' + IN TYPEOF( item ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY kinematic_topology_substructure + SUBTYPE OF ( kinematic_topology_structure ); + parent : kinematic_topology_structure; + WHERE + wr1: ( context_of_items :=: parent.context_of_items ); + wr2: ( SELF\kinematic_topology_structure.items <= parent\kinematic_topology_structure.items ); + END_ENTITY; + + ENTITY kinematic_topology_tree_structure + SUBTYPE OF ( kinematic_topology_directed_structure ); + END_ENTITY; + + ENTITY known_source + SUBTYPE OF ( external_source, pre_defined_item ); + END_ENTITY; + + ENTITY laid_defined_transformation + SUBTYPE OF ( transformation_with_derived_angle ); + END_ENTITY; + + ENTITY laminate_component + SUPERTYPE OF ( + ONEOF ( + material_removal_laminate_component, + stratum_feature_template_component + ANDOR + probe_access_area, + inter_stratum_feature, + generic_laminate_text_component, + laminate_text_string_component ) + ANDOR + fiducial ) + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY laminate_component_feature + SUPERTYPE OF ( + ONEOF ( + laminate_component_interface_terminal, + laminate_component_join_terminal ) ) + SUBTYPE OF ( component_feature ); + END_ENTITY; + + ENTITY laminate_component_interface_terminal + SUBTYPE OF ( laminate_component_feature ); + END_ENTITY; + + ENTITY laminate_component_join_terminal + SUBTYPE OF ( laminate_component_feature, component_terminal ); + END_ENTITY; + + ENTITY laminate_group_component_make_from_relationship + SUBTYPE OF ( make_from_usage_option ); + SELF\product_definition_relationship.relating_product_definition : assembly_group_component; + SELF\product_definition_relationship.related_product_definition : assembly_group_component; + END_ENTITY; + + ENTITY laminate_table + SUPERTYPE OF ( + ONEOF ( + part_laminate_table, + zone_structural_makeup ) ) + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY laminate_text_string_component + SUBTYPE OF ( array_placement_group, laminate_component ); + END_ENTITY; + + ENTITY land + SUPERTYPE OF ( + ONEOF ( + contact_size_dependent_land, + inter_stratum_feature_dependent_land ) ) + SUBTYPE OF ( stratum_feature_template_component ); + END_ENTITY; + + ENTITY land_physical_template + SUPERTYPE OF ( + ONEOF ( + default_passage_based_land_physical_template, + default_attachment_size_based_land_physical_template ) ) + SUBTYPE OF ( stratum_feature_template ); + END_ENTITY; + + ENTITY land_template_terminal + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY land_with_join_terminal + SUBTYPE OF ( land, laminate_component_join_terminal ); + DERIVE + SELF\shape_aspect.of_shape : land_with_join_terminal := SELF; + END_ENTITY; + + ENTITY language + SUBTYPE OF ( group ); + WHERE + wr1: ( SELF\group.name <> '' ); + END_ENTITY; + + ENTITY layer_connection_point + SUBTYPE OF ( shape_aspect ); + UNIQUE + ur1 : SELF\shape_aspect.name, SELF\shape_aspect.of_shape; + END_ENTITY; + + ENTITY layer_qualified_layout_spacing_requirement + SUBTYPE OF ( layout_spacing_requirement ); + END_ENTITY; + + ENTITY layer_stack_region + SUBTYPE OF ( instanced_feature ); + END_ENTITY; + + ENTITY layered_assembly_module_design_view + SUBTYPE OF ( assembly_module_design_view ); + END_ENTITY; + + ENTITY layered_assembly_module_usage_view + SUBTYPE OF ( assembly_module_usage_view ); + END_ENTITY; + + ENTITY layered_assembly_panel_design_view + SUBTYPE OF ( assembly_module_design_view ); + END_ENTITY; + + ENTITY layered_interconnect_module_design_view + SUPERTYPE OF ( + layered_interconnect_panel_design_view ) + SUBTYPE OF ( interconnect_module_design_view ); + END_ENTITY; + + ENTITY layered_interconnect_module_usage_view + SUBTYPE OF ( interconnect_module_usage_view ); + END_ENTITY; + + ENTITY layered_interconnect_panel_design_view + SUBTYPE OF ( layered_interconnect_module_design_view ); + END_ENTITY; + + ENTITY layout_junction + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY layout_macro_component + SUBTYPE OF ( printed_component ); + END_ENTITY; + + ENTITY layout_macro_definition + SUBTYPE OF ( layered_interconnect_module_design_view ); + END_ENTITY; + + ENTITY layout_macro_definition_terminal_to_usage_terminal_assignment + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + SELF\shape_aspect_relationship.related_shape_aspect : printed_part_template_terminal; + UNIQUE + ur1 : SELF\shape_aspect_relationship.name; + END_ENTITY; + + ENTITY layout_macro_floor_plan_template + SUBTYPE OF ( printed_part_template ); + END_ENTITY; + + ENTITY layout_spacing_contextual_area + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY layout_spacing_requirement + SUBTYPE OF ( predefined_requirement_view_definition ); + END_ENTITY; + + ENTITY leader_curve + SUBTYPE OF ( annotation_curve_occurrence ); + WHERE + wr1: ( SIZEOF( QUERY ( ldc <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT.CONTENTS' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LEADER_DIRECTED_CALLOUT' ) IN TYPEOF( ldc ) ) ) ) >= 1 ); + END_ENTITY; + + ENTITY leader_directed_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( l_1 <* SELF\draughting_callout.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF( l_1 ) ) ) ) >= 1 ); + wr2: ( SIZEOF( SELF\draughting_callout.contents ) >= 2 ); + END_ENTITY; + + ENTITY leader_directed_dimension + SUBTYPE OF ( leader_directed_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( con <* SELF.contents | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LEADER_CURVE' IN TYPEOF( con ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY leader_terminator + SUBTYPE OF ( terminator_symbol ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF( SELF\terminator_symbol. + annotated_curve ) ); + END_ENTITY; + + ENTITY length_function + SUBTYPE OF ( numeric_expression, unary_generic_expression ); + SELF\unary_generic_expression.operand : string_expression; + END_ENTITY; + + ENTITY length_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY length_trimmed_terminal + SUBTYPE OF ( altered_package_terminal ); + END_ENTITY; + + ENTITY length_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 1 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY library_stack_model + SUBTYPE OF ( stratum_stack_model ); + END_ENTITY; + + ENTITY library_to_design_stack_model_mapping + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY light_source + SUPERTYPE OF ( + ONEOF ( + light_source_ambient, + light_source_directional, + light_source_positional, + light_source_spot ) ) + SUBTYPE OF ( geometric_representation_item ); + light_colour : colour; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'STYLED_ITEM.ITEM' ) ) + = 0 ); + END_ENTITY; + + ENTITY light_source_ambient + SUBTYPE OF ( light_source ); + END_ENTITY; + + ENTITY light_source_directional + SUBTYPE OF ( light_source ); + orientation : direction; + END_ENTITY; + + ENTITY light_source_positional + SUBTYPE OF ( light_source ); + position : cartesian_point; + constant_attenuation : REAL; + distance_attenuation : REAL; + END_ENTITY; + + ENTITY light_source_spot + SUBTYPE OF ( light_source ); + position : cartesian_point; + orientation : direction; + concentration_exponent : REAL; + constant_attenuation : REAL; + distance_attenuation : REAL; + spread_angle : positive_plane_angle_measure; + END_ENTITY; + + ENTITY like_expression + SUBTYPE OF ( comparison_expression ); + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF\ + binary_generic_expression.operands[1] ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'STRING_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[2] ) ) ); + END_ENTITY; + + ENTITY limits_and_fits; + form_variance : label; + zone_variance : label; + grade : label; + source : text; + END_ENTITY; + + ENTITY line + SUBTYPE OF ( curve ); + pnt : cartesian_point; + dir : vector; + WHERE + wr1: ( dir.dim = pnt.dim ); + END_ENTITY; + + ENTITY line_profile_tolerance + SUBTYPE OF ( geometric_tolerance ); + END_ENTITY; + + ENTITY linear_array_component_definition_link + SUBTYPE OF ( product_definition, product_definition_relationship ); + SELF\product_definition_relationship.relating_product_definition : linear_array_placement_group_component; + SELF\product_definition_relationship.related_product_definition : linear_array_placement_group_component; + WHERE + wr1: ( SELF\product_definition_relationship.related_product_definition :<>: SELF\product_definition_relationship. + relating_product_definition ); + wr2: acyclic_product_definition_relationship( SELF, [SELF\product_definition_relationship.related_product_definition], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_ARRAY_COMPONENT_DEFINITION_LINK' ); + END_ENTITY; + + ENTITY linear_array_placement_group_component + SUBTYPE OF ( array_placement_group ); + END_ENTITY; + + ENTITY linear_composite_array_shape_aspect + SUBTYPE OF ( composite_array_shape_aspect ); + END_ENTITY; + + ENTITY linear_composite_array_shape_aspect_link + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : linear_composite_array_shape_aspect; + SELF\shape_aspect_relationship.related_shape_aspect : linear_composite_array_shape_aspect; + WHERE + wr1: ( SELF\shape_aspect_relationship.related_shape_aspect :<>: SELF\shape_aspect_relationship.relating_shape_aspect ); + END_ENTITY; + + ENTITY linear_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY linear_flexible_and_pinion_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + pinion_radius : length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN + TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY linear_flexible_and_planar_curve_pair + SUBTYPE OF ( high_order_kinematic_pair ); + pair_curve : curve; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( pair_curve IN r.items ) ) ) ) = + 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN + TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY linear_flexible_link_representation + SUBTYPE OF ( kinematic_link_representation ); + END_ENTITY; + + ENTITY linear_path + SUBTYPE OF ( path_node ); + DERIVE + SELF\kinematic_path_segment.transition : transition_code := continuous; + END_ENTITY; + + ENTITY linear_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'profile length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY linearized_table_function + SUBTYPE OF ( explicit_table_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + first : INTEGER; + DERIVE + source : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_1d_array( source ); + wr2: member_of( first, source\maths_function.domain ); + END_ENTITY; + + ENTITY link_motion_relationship + SUBTYPE OF ( definitional_representation_relationship, representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : link_or_shape_representation; + SELF\representation_relationship.rep_2 : link_motion_representation_along_path; + SELF\representation_relationship_with_transformation.transformation_operator : link_motion_transformation; + WHERE + (* JH removed WR1 on 2014-05-14 for the following compilation error; fix is not ISO confirmed: + ERROR : Line 19237: C3001:Unresolved attribute qualification in WHERE clause. + Attribute qualification: REP_1[].ITEMS + wr1: ( transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items ); *) + wr2: ( transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items ); + END_ENTITY; + + ENTITY link_motion_representation_along_path + SUPERTYPE OF ( + ONEOF ( + prescribed_path, + resulting_path ) ) + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF kinematic_path; + SELF\representation.context_of_items : geometric_representation_context_with_parameter; + END_ENTITY; + + ENTITY link_motion_transformation + SUBTYPE OF ( item_defined_transformation ); + SELF\item_defined_transformation.transform_item_1 : rigid_placement; + SELF\item_defined_transformation.transform_item_2 : kinematic_path; + END_ENTITY; + + ENTITY listed_data + SUBTYPE OF ( explicit_table_function, generic_literal ); + values : LIST [1 : ?] OF maths_value; + value_range : maths_space; + DERIVE + SELF\explicit_table_function.shape : LIST [1 : ?] OF positive_integer := [SIZEOF( values )]; + WHERE + wr1: expression_is_constant( value_range ); + wr2: ( SIZEOF( QUERY ( val <* values | ( NOT member_of( val, value_range ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY listed_product_space + SUBTYPE OF ( maths_space, generic_literal ); + factors : LIST OF maths_space; + WHERE + wr1: ( SIZEOF( QUERY ( space <* factors | ( NOT expression_is_constant( space ) ) ) ) = 0 ); + wr2: no_cyclic_space_reference( SELF, [] ); + wr3: ( NOT ( the_empty_space IN factors ) ); + END_ENTITY; + + ENTITY literal_conjunction + SUBTYPE OF ( simple_clause ); + END_ENTITY; + + ENTITY literal_disjunction + SUBTYPE OF ( simple_clause ); + END_ENTITY; + + ENTITY literal_number + ABSTRACT SUPERTYPE OF ( + ONEOF ( + int_literal, + real_literal ) ) + SUBTYPE OF ( simple_numeric_expression, generic_literal ); + the_value : NUMBER; + END_ENTITY; + + ENTITY local_linear_stack + SUBTYPE OF ( stratum_sub_stack ); + END_ENTITY; + + ENTITY local_time; + hour_component : hour_in_day; + minute_component : OPTIONAL minute_in_hour; + second_component : OPTIONAL second_in_minute; + zone : coordinated_universal_time_offset; + WHERE + wr1: valid_time( SELF ); + END_ENTITY; + + ENTITY location_in_aggregate_representation_item + SUBTYPE OF ( compound_representation_item ); + SELF\compound_representation_item.item_element : location_in_aggregate_item; + END_ENTITY; + + ENTITY location_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' + IN TYPEOF( it ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY locator + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( NOT ( ( 2 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 5 ) ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'diameter' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'tip radius' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) <= 1 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'tip angle' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = + 'base radius' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) <= 1 ); + END_ENTITY; + + ENTITY log10_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY log2_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY log_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY logical_literal + SUBTYPE OF ( generic_literal ); + lit_value : LOGICAL; + END_ENTITY; + + ENTITY logical_representation_item + SUBTYPE OF ( representation_item, logical_literal ); + END_ENTITY; + + ENTITY loop + SUPERTYPE OF ( + ONEOF ( + vertex_loop, + edge_loop, + poly_loop ) ) + SUBTYPE OF ( topological_representation_item ); + END_ENTITY; + + ENTITY loss_tangent_measure_with_unit + SUBTYPE OF ( ratio_measure_with_unit ); + END_ENTITY; + + ENTITY lot_effectivity + SUBTYPE OF ( effectivity ); + effectivity_lot_id : identifier; + effectivity_lot_size : measure_with_unit; + END_ENTITY; + + ENTITY low_order_kinematic_pair + SUPERTYPE OF ( + ONEOF ( + revolute_pair, + cylindrical_pair, + spherical_pair, + spherical_pair_with_pin, + planar_pair, + unconstrained_pair, + fully_constrained_pair, + prismatic_pair, + universal_pair, + low_order_kinematic_pair_with_range ) ) + SUBTYPE OF ( kinematic_pair ); + t_x : BOOLEAN; + t_y : BOOLEAN; + t_z : BOOLEAN; + r_x : BOOLEAN; + r_y : BOOLEAN; + r_z : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY low_order_kinematic_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : low_order_kinematic_pair; + actual_translation_x : length_measure; + actual_translation_y : length_measure; + actual_translation_z : length_measure; + actual_rotation_x : plane_angle_measure; + actual_rotation_y : plane_angle_measure; + actual_rotation_z : plane_angle_measure; + END_ENTITY; + + ENTITY low_order_kinematic_pair_with_motion_coupling + ABSTRACT SUPERTYPE OF ( + ONEOF ( + gear_pair, + linear_flexible_and_pinion_pair, + rack_and_pinion_pair, + screw_pair ) ) + SUBTYPE OF ( kinematic_pair ); + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY low_order_kinematic_pair_with_range + SUBTYPE OF ( low_order_kinematic_pair ); + lower_limit_actual_rotation_x : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_x : OPTIONAL plane_angle_measure; + lower_limit_actual_rotation_y : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_y : OPTIONAL plane_angle_measure; + lower_limit_actual_rotation_z : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_z : OPTIONAL plane_angle_measure; + lower_limit_actual_translation_x : OPTIONAL length_measure; + upper_limit_actual_translation_x : OPTIONAL length_measure; + lower_limit_actual_translation_y : OPTIONAL length_measure; + upper_limit_actual_translation_y : OPTIONAL length_measure; + lower_limit_actual_translation_z : OPTIONAL length_measure; + upper_limit_actual_translation_z : OPTIONAL length_measure; + END_ENTITY; + + ENTITY luminous_flux_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_FLUX_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY luminous_flux_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.lumen ) ); + END_ENTITY; + + ENTITY luminous_intensity_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_INTENSITY_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY luminous_intensity_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 1 ) ); + END_ENTITY; + + ENTITY magnetic_flux_density_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_DENSITY_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY magnetic_flux_density_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.tesla ) ); + END_ENTITY; + + ENTITY magnetic_flux_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY magnetic_flux_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.weber ) ); + END_ENTITY; + + ENTITY make_from_connectivity_relationship + SUBTYPE OF ( shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : physical_connectivity_definition; + SELF\shape_aspect_relationship.related_shape_aspect : physical_connectivity_definition; + END_ENTITY; + + ENTITY make_from_feature_relationship + SUBTYPE OF ( component_feature_relationship ); + END_ENTITY; + + ENTITY make_from_functional_unit_terminal_definition_relationship + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + UNIQUE + ur1 : SELF\shape_aspect_relationship.relating_shape_aspect, SELF\shape_aspect_relationship.related_shape_aspect; + WHERE + wr1: ( relating_shape_aspect.of_shape :<>: related_shape_aspect.of_shape ); + wr2: ( SELF\shape_aspect.product_definitional = FALSE ); + END_ENTITY; + + ENTITY make_from_model_port_relationship + SUBTYPE OF ( representation, representation_relationship ); + SELF\representation_relationship.rep_1 : analytical_model_port; + SELF\representation_relationship.rep_2 : analytical_model_port; + UNIQUE + ur1 : SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; + WHERE + wr1: ( rep_1 :<>: rep_2 ); + END_ENTITY; + + ENTITY make_from_part_feature_relationship + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + UNIQUE + ur1 : SELF\shape_aspect_relationship.relating_shape_aspect, SELF\shape_aspect_relationship.related_shape_aspect; + WHERE + wr1: ( SELF\shape_aspect.product_definitional = FALSE ); + END_ENTITY; + + ENTITY make_from_usage_option + SUBTYPE OF ( product_definition_usage ); + ranking : INTEGER; + ranking_rationale : text; + quantity : measure_with_unit; + WHERE + wr1: ( ( NOT ( 'NUMBER' IN TYPEOF( quantity.value_component ) ) ) OR ( quantity.value_component > 0 ) ); + END_ENTITY; + + ENTITY manifold_constraining_context_dependent_shape_representation + SUBTYPE OF ( context_dependent_shape_representation, representation_relationship ); + END_ENTITY; + + ENTITY manifold_solid_brep + SUBTYPE OF ( solid_model ); + outer : closed_shell; + END_ENTITY; + + ENTITY manifold_subsurface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) + = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * + TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN + TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) + | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL' IN TYPEOF( cfss ) ) ) ) ) + = 0 ); + wr5 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) + | ( NOT ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN + TYPEOF( cfss\connected_face_sub_set.parent_face_set ) ) AND ( SIZEOF( QUERY ( fac <* cfss\connected_face_sub_set. + parent_face_set\connected_face_set.cfs_faces | ( NOT advanced_face_properties( fac ) ) ) ) = 0 ) ) OR ( SIZEOF( + QUERY ( fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( fac ) ) ) ) ) = 0 ) ) ) ) ) + = 0 ); + wr6 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) + | ( SIZEOF( QUERY ( fac <* cfss\connected_face_set.cfs_faces | ( NOT advanced_face_properties( fac ) ) ) ) = 0 ) ) ) + = 0 ); + wr7 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set.cfs_faces | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) + OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBEDGE' IN TYPEOF( oe.edge_element ) ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set.cfs_faces | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_start ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_end ) ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set.cfs_faces | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( bnds <* fcs.bounds | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' ] * TYPEOF( bnds.bound ) ) = 1 ) ) ) ) + = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set.cfs_faces | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF( oe.edge_element\ + edge_curve.edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set.cfs_faces | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( oe.edge_element\ + edge_curve.edge_geometry ) ) AND ( NOT ( SIZEOF( QUERY ( sc_ag <* oe.edge_element\edge_curve.edge_geometry\ + surface_curve.associated_geometry | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PCURVE' IN TYPEOF( sc_ag ) ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set.cfs_faces | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( + SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( oe.edge_element\ + edge_curve.edge_geometry ) ) AND ( NOT ( SIZEOF( oe\oriented_edge.edge_element\edge_curve.edge_geometry\polyline. + points ) >= 3 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY manifold_surface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) + = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] + * TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SURFACE_SHAPE_REPRESENTATION' IN + TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) AND ( SIZEOF( QUERY ( mr_it <* mi\mapped_item. + mapping_source.mapped_representation.items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( mr_it ) ) ) ) > 0 ) ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( sh <* sbsm\shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL' ] * TYPEOF( sh ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\ + connected_face_set.cfs_faces | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' IN TYPEOF( fa ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\ + connected_face_set.cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fa ) ) OR msf_surface_check( fa\face_surface.face_geometry ) ) ) ) ) = 0 ) ) ) ) = + 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\ + connected_face_set.cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( bnds <* fa.bounds | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' ] * TYPEOF( bnds.bound ) ) = 1 ) ) ) ) + = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\ + connected_face_set.cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\ + connected_face_set.cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe_cv <* QUERY ( oe <* elp_fbnds\path.edge_list | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) + | ( NOT ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' ] * TYPEOF( oe_cv.edge_element + \edge_curve.edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\ + connected_face_set.cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT msf_curve_check( oe.edge_element\edge_curve. + edge_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\ + connected_face_set.cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_element. + edge_start ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( + oe.edge_element.edge_end ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\ + connected_face_set.cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element + .edge_start\vertex_point.vertex_geometry ) ) = 1 ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element + .edge_end\vertex_point.vertex_geometry ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\ + connected_face_set.cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF( bnds.bound ) ) ) | + ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( vlp_fbnds\ + vertex_loop.loop_vertex ) ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\ + connected_face_set.cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF( bnds.bound ) ) ) | + ( NOT ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( vlp_fbnds\ + vertex_loop.loop_vertex\vertex_point.vertex_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mapped_item + SUBTYPE OF ( representation_item ); + mapping_source : representation_map; + mapping_target : representation_item; + WHERE + wr1: acyclic_mapped_representation( SELF ); + END_ENTITY; + + ENTITY marking + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( 2 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 6 ) ) ) ) = 1 ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'marking text' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'special instructions' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'font name' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'character height' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'character spacing' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mass_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MASS_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY mass_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 1 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY mated_part_relationship + SUBTYPE OF ( group, group_assignment, product_definition_shape, product_definition_relationship, shape_aspect ); + items : SET [0 : ?] OF product_definition; + DERIVE + SELF\group_assignment.assigned_group : mated_part_relationship := SELF; + SELF\property_definition.definition : mated_part_relationship := SELF; + SELF\shape_aspect.of_shape : mated_part_relationship := SELF; + END_ENTITY; + + ENTITY material_designation; + name : label; + definitions : SET [1 : ?] OF characterized_definition; + END_ENTITY; + + ENTITY material_designation_characterization; + name : label; + description : text; + designation : material_designation; + property : characterized_material_property; + END_ENTITY; + + ENTITY material_designation_with_conductivity_classification + SUBTYPE OF ( material_designation ); + END_ENTITY; + + ENTITY material_electrical_conductivity_category + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY material_property + SUBTYPE OF ( property_definition ); + UNIQUE + ur1 : SELF\property_definition.name, SELF\property_definition.definition; + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_OBJECT' IN TYPEOF( SELF\ + property_definition.definition ) ) OR ( SIZEOF( bag_to_set( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) ) - QUERY ( temp <* bag_to_set( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MATERIAL_PROPERTY_REPRESENTATION' ) IN TYPEOF( temp ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY material_property_representation + SUBTYPE OF ( property_definition_representation ); + dependent_environment : data_environment; + END_ENTITY; + + ENTITY material_removal_feature_template + SUBTYPE OF ( single_stratum_continuous_template ); + END_ENTITY; + + ENTITY material_removal_laminate_component + SUBTYPE OF ( laminate_component ); + END_ENTITY; + + ENTITY material_removal_laminate_text_component + SUBTYPE OF ( generic_laminate_text_component ); + END_ENTITY; + + ENTITY material_removal_structured_component + SUBTYPE OF ( structured_layout_component ); + END_ENTITY; + + ENTITY material_removal_structured_template + SUBTYPE OF ( single_stratum_structured_template ); + END_ENTITY; + + ENTITY maths_enum_literal + SUBTYPE OF ( generic_literal ); + lit_value : maths_enum_atom; + END_ENTITY; + + ENTITY maths_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + finite_function, + constant_function, + selector_function, + elementary_function, + restriction_function, + repackaging_function, + reindexed_array_function, + series_composed_function, + parallel_composed_function, + explicit_table_function, + homogeneous_linear_function, + general_linear_function, + b_spline_basis, + b_spline_function, + rationalize_function, + partial_derivative_function, + definite_integral_function, + abstracted_expression_function, + expression_denoted_function, + imported_point_function, + imported_curve_function, + imported_surface_function, + imported_volume_function, + application_defined_function ) ) + SUBTYPE OF ( generic_expression ); + DERIVE + domain : tuple_space := derive_function_domain( SELF ); + range : tuple_space := derive_function_range( SELF ); + END_ENTITY; + + ENTITY maths_space + ABSTRACT SUPERTYPE OF ( + ONEOF ( + elementary_space, + finite_integer_interval, + integer_interval_from_min, + integer_interval_to_max, + finite_real_interval, + real_interval_from_min, + real_interval_to_max, + cartesian_complex_number_region, + polar_complex_number_region, + finite_space, + uniform_product_space, + listed_product_space, + extended_tuple_space, + function_space ) ) + SUBTYPE OF ( generic_expression ); + END_ENTITY; + + ENTITY maths_tuple_literal + SUBTYPE OF ( generic_literal ); + lit_value : LIST OF maths_value; + END_ENTITY; + + ENTITY maths_variable + SUBTYPE OF ( generic_variable ); + values_space : maths_space; + name : label; + WHERE + wr1: expression_is_constant( values_space ); + END_ENTITY; + + ENTITY maximum_function + SUBTYPE OF ( multiple_arity_function_call ); + END_ENTITY; + + ENTITY measure_qualification; + name : label; + description : text; + qualified_measure : measure_with_unit; + qualifiers : SET [1 : ?] OF value_qualifier; + WHERE + wr1: ( SIZEOF( QUERY ( temp <* qualifiers | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRECISION_QUALIFIER' IN TYPEOF( temp ) ) ) ) < 2 ); + wr2: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF( SELF\ + measure_qualification.qualified_measure ) ) ); + END_ENTITY; + + ENTITY measure_representation_item + SUBTYPE OF ( representation_item, measure_with_unit ); + END_ENTITY; + + ENTITY measure_with_unit + SUPERTYPE OF ( + ONEOF ( + length_measure_with_unit, + mass_measure_with_unit, + time_measure_with_unit, + electric_current_measure_with_unit, + thermodynamic_temperature_measure_with_unit, + celsius_temperature_measure_with_unit, + amount_of_substance_measure_with_unit, + luminous_intensity_measure_with_unit, + plane_angle_measure_with_unit, + solid_angle_measure_with_unit, + area_measure_with_unit, + volume_measure_with_unit, + ratio_measure_with_unit, + acceleration_measure_with_unit, + capacitance_measure_with_unit, + electric_charge_measure_with_unit, + conductance_measure_with_unit, + electric_potential_measure_with_unit, + energy_measure_with_unit, + magnetic_flux_density_measure_with_unit, + force_measure_with_unit, + frequency_measure_with_unit, + illuminance_measure_with_unit, + inductance_measure_with_unit, + luminous_flux_measure_with_unit, + magnetic_flux_measure_with_unit, + power_measure_with_unit, + pressure_measure_with_unit, + resistance_measure_with_unit, + velocity_measure_with_unit, + absorbed_dose_measure_with_unit, + radioactivity_measure_with_unit, + dose_equivalent_measure_with_unit ) ); + value_component : measure_value; + unit_component : unit; + WHERE + wr1: valid_units( SELF ); + END_ENTITY; + + ENTITY mechanical_context + SUBTYPE OF ( product_context ); + WHERE + wr1: ( SELF.discipline_type = 'mechanical' ); + END_ENTITY; + + ENTITY mechanical_design_and_draughting_relationship + SUBTYPE OF ( definitional_representation_relationship_with_same_context ); + SELF\representation_relationship.rep_1 : mechanical_design_and_draughting_relationship_select; + SELF\representation_relationship.rep_2 : mechanical_design_and_draughting_relationship_select; + WHERE + wr1: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_MODEL' ) IN TYPEOF( + rep_2 ) ) ) OR ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_MODEL' ) IN + TYPEOF( rep_1 ) ) OR ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION' ) IN TYPEOF( rep_1 ) ) ); + wr2: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' ) IN TYPEOF( rep_2 ) ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' ) IN TYPEOF( rep_1 ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN TYPEOF( rep_1 ) ) ); + wr3: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' ) IN TYPEOF( rep_2 ) ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' ) IN TYPEOF( rep_1 ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN TYPEOF( rep_1 ) ) ); + END_ENTITY; + + ENTITY mechanical_design_geometric_presentation_area + SUBTYPE OF ( presentation_area ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_geometric_presentation_area_items; + WHERE + wr1: ( SIZEOF( QUERY ( it1 <* SELF.items | ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it1 ) ) ) OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_VIEW' IN TYPEOF( it1\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pv <* QUERY ( mi1 <* QUERY ( it1 <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it1 ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( mi1\mapped_item + .mapping_source.mapped_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it2 <* pv\mapped_item.mapping_source. + mapped_representation\representation.items | ( ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF( it2 ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it2 ) ) AND ( NOT ( + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN + TYPEOF( it2 ) ) ) AND ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' + IN TYPEOF( it2\mapped_item.mapping_source.mapped_representation ) ) ) ) ) ) OR ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN + TYPEOF( it2 ) ) AND ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' ) IN TYPEOF( it2\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( ( SIZEOF( QUERY ( ps <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( ( ps\presentation_size.size.size_in_x <= 0 ) OR ( ps\presentation_size.size. + size_in_y <= 0 ) ) ) ) = 0 ) AND ( SIZEOF( QUERY ( ais <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AREA_IN_SET.AREA' ) | ( SIZEOF( + QUERY ( ps <* USEDIN( ais, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( ( ps\presentation_size.size.size_in_x <= 0 ) OR ( ps\presentation_size.size. + size_in_y <= 0 ) ) ) ) > 0 ) ) ) = 0 ) ); + wr4: ( ( ( SIZEOF( QUERY ( ps <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( ps.size.placement ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( ps <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_3D' ) IN TYPEOF( ps.size + .placement ) ) ) ) = 0 ) ) OR ( ( SIZEOF( QUERY ( ais <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AREA_IN_SET.AREA' ) | ( SIZEOF( + QUERY ( ps <* USEDIN( ais, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( ps.size.placement ) ) ) ) = 1 ) ) ) = 1 ) AND ( SIZEOF( QUERY ( ais <* USEDIN( + SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AREA_IN_SET.AREA' ) | ( SIZEOF( + QUERY ( ps <* USEDIN( ais, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' ) IN TYPEOF( ps.size.placement ) ) ) ) = 0 ) ) ) = 1 ) ) ); + END_ENTITY; + + ENTITY mechanical_design_geometric_presentation_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_geometric_presentation_representation_items; + WHERE + wr1 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_REPRESENTATION', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' ] * TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( smi <* QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( si\styled_item.item ) ) ) + | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN + TYPEOF( smi\styled_item.item\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( pss <* psa.styles | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' ] * TYPEOF( pss ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psbc <* QUERY ( psa <* si\styled_item.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_STYLE_BY_CONTEXT' ) IN + TYPEOF( psa ) ) ) | ( NOT ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION'] * + TYPEOF( psbc\presentation_style_by_context.style_context ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ps <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE' IN TYPEOF( pss ) ) ) | ( NOT ( + ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN + TYPEOF( ps\point_style.marker_size ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( ps\point_style.marker_colour ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( cs <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( pss ) ) ) | ( NOT ( + ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( cs\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( + cs\curve_style.curve_width ) ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CURVE_STYLE_FONT' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT' ] * TYPEOF( cs\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr7 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_SIDE_STYLE' ) IN + TYPEOF( ssu\surface_style_usage.style ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_FILL_AREA', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY'] * TYPEOF( sses ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( sspl <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE' ) IN + TYPEOF( sses ) ) ) | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN + TYPEOF( sspl\surface_style_parameter_line.style_of_parameter_lines ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sspl\surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( + sspl\surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( sspl\surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( sscg <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID' ) IN + TYPEOF( sses ) ) ) | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN + TYPEOF( sscg\surface_style_control_grid.style_of_control_grid ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sscg\surface_style_control_grid.style_of_control_grid\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( + sscg\surface_style_control_grid.style_of_control_grid\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( sscg\surface_style_control_grid.style_of_control_grid\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( sssh <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE' ) IN TYPEOF( + sses ) ) ) | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN + TYPEOF( sssh\surface_style_silhouette.style_of_silhouette ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sssh\surface_style_silhouette.style_of_silhouette\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( + sssh\surface_style_silhouette.style_of_silhouette\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( sssh\surface_style_silhouette.style_of_silhouette\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( sssc <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE' ) IN + TYPEOF( sses ) ) ) | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN + TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_colour ) ) = 1 ) AND + ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN + TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_width ) ) AND ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_font ) ) = 1 ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( ssbd <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY' ) IN TYPEOF( + sses ) ) ) | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN + TYPEOF( ssbd\surface_style_boundary.style_of_boundary ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( ssbd\surface_style_boundary.style_of_boundary\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( + ssbd\surface_style_boundary.style_of_boundary\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( ssbd\surface_style_boundary.style_of_boundary\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mechanical_design_presentation_representation_with_draughting + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF camera_model_d3; + END_ENTITY; + + ENTITY mechanical_design_shaded_presentation_area + SUBTYPE OF ( presentation_area ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_shaded_presentation_area_items; + WHERE + wr1: ( SIZEOF( QUERY ( it1 <* SELF.items | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT' IN TYPEOF( it1 ) ) OR ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it1 ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_VIEW' IN TYPEOF( it1\mapped_item.mapping_source.mapped_representation ) ) ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pv <* QUERY ( mi1 <* QUERY ( it1 <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it1 ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( mi1\mapped_item + .mapping_source.mapped_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it2 <* pv\mapped_item.mapping_source. + mapped_representation\representation.items | ( ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF( it2 ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it2 ) ) AND ( NOT ( + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN + TYPEOF( it2 ) ) ) AND ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' + IN TYPEOF( it2\mapped_item.mapping_source.mapped_representation ) ) ) ) ) ) OR ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN + TYPEOF( it2 ) ) AND ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' ) IN TYPEOF( it2\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( ( SIZEOF( QUERY ( ps <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( NOT ( ( ps\presentation_size.size.size_in_x > 0 ) AND ( ps\presentation_size.size. + size_in_y > 0 ) ) ) ) ) = 0 ) AND ( SIZEOF( QUERY ( pset <* QUERY ( ais <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AREA_IN_SET.AREA' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_SET' ) IN TYPEOF( ais. + in_set ) ) ) | ( SIZEOF( QUERY ( ps <* USEDIN( pset, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) | ( NOT ( ( ps + \presentation_size.size.size_in_x > 0 ) AND ( ps\presentation_size.size.size_in_y > 0 ) ) ) ) ) = 0 ) ) ) = 0 ) ); + wr4: ( ( SIZEOF( QUERY ( psize <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( psize.size.placement ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pset <* + QUERY ( ais <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AREA_IN_SET.' + + 'AREA' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_SET' ) IN + TYPEOF( ais.in_set ) ) ) | ( SIZEOF( QUERY ( psize <* USEDIN( pset, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( psize. + size.placement ) ) ) ) ) = 0 ) ) ) = 0 ) ); + wr5: ( SIZEOF( QUERY ( pv <* QUERY ( mi1 <* QUERY ( it1 <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it1 ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( mi1\mapped_item + .mapping_source.mapped_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( ci <* pv\mapped_item.mapping_source. + mapped_representation\representation.items | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN + TYPEOF( ci ) ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CAMERA_MODEL_D3' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CAMERA_MODEL_D3_WITH_HLHSR' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CAMERA_MODEL_WITH_LIGHT_SOURCES' ] * TYPEOF( ci\mapped_item.mapping_source.mapping_origin ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY mechanical_design_shaded_presentation_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_shaded_presentation_representation_items; + WHERE + wr1 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_REPRESENTATION', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' ] * TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( smi <* QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( si\styled_item.item ) ) ) + | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN + TYPEOF( smi\styled_item.item\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( pss <* psa.styles | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' ] * TYPEOF( pss ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psbc <* QUERY ( psa <* si\styled_item.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_STYLE_BY_CONTEXT' ) IN + TYPEOF( psa ) ) ) | ( NOT ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION'] * + TYPEOF( psbc\presentation_style_by_context.style_context ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ps <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE' IN TYPEOF( pss ) ) ) | ( NOT ( + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MARKER_TYPE' IN TYPEOF( ps\point_style. + marker ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN + TYPEOF( ps\point_style.marker_size ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( ps\point_style.marker_colour ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( cs <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( pss ) ) ) | ( NOT ( + ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( cs\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( cs\ + curve_style.curve_width ) ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT' ] * TYPEOF( cs\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr7 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_SIDE_STYLE' IN TYPEOF( ssu\ + surface_style_usage.style ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_FILL_AREA', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_RENDERING'] * TYPEOF( + sses ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( ssfa <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_FILL_AREA' IN TYPEOF( sses ) ) ) + | ( NOT ( SIZEOF( QUERY ( fss <* ssfa\surface_style_fill_area.fill_area.fill_styles | ( NOT ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'FILL_AREA_STYLE_COLOUR' ) IN TYPEOF( + fss ) ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( fss\fill_area_style_colour.fill_colour ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = + 0 ); + wr10: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( sspl <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE' ) IN + TYPEOF( sses ) ) ) | ( NOT ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' + IN TYPEOF( sspl\surface_style_parameter_line.style_of_parameter_lines ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sspl\surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( sspl\surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sspl\surface_style_parameter_line.style_of_parameter_lines\curve_style_rendering.rendering_properties. + rendered_colour ) ) = 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( sscg <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID' ) IN + TYPEOF( sses ) ) ) | ( NOT ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' + IN TYPEOF( sscg\surface_style_control_grid.style_of_control_grid ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sscg\surface_style_control_grid.style_of_control_grid\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( sscg\surface_style_control_grid.style_of_control_grid\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sscg\surface_style_control_grid.style_of_control_grid\curve_style_rendering.rendering_properties. + rendered_colour ) ) = 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( sssh <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE' ) IN TYPEOF( + sses ) ) ) | ( NOT ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN + TYPEOF( sssh\surface_style_silhouette.style_of_silhouette ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sssh\surface_style_silhouette.style_of_silhouette\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( sssh\surface_style_silhouette.style_of_silhouette\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sssh\surface_style_silhouette.style_of_silhouette\curve_style_rendering.rendering_properties. + rendered_colour ) ) = 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( sssc <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE' ) IN + TYPEOF( sses ) ) ) | ( NOT ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' + IN TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_colour ) ) = 1 ) AND + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_font ) ) = 1 ) ) OR ( + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve\curve_style_rendering. + rendering_properties.rendered_colour ) ) = 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( ssbd <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY' ) IN TYPEOF( + sses ) ) ) | ( NOT ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN + TYPEOF( ssbd\surface_style_boundary.style_of_boundary ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( ssbd\surface_style_boundary.style_of_boundary\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( ssbd\surface_style_boundary.style_of_boundary\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary ) ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( ssbd\surface_style_boundary.style_of_boundary\curve_style_rendering.rendering_properties.rendered_colour ) ) + = 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr15: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* QUERY ( pss <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) | + ( NOT ( SIZEOF( QUERY ( ssre <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_RENDERING' ) IN TYPEOF( + sses ) ) ) | ( NOT ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * + TYPEOF( ssre\surface_style_rendering.surface_colour ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mechanism_representation + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context; + SELF\representation.items : SET [1 : ?] OF pair_representation_relationship; + represented_topology : kinematic_topology_representation_select; + DERIVE + represented_joints : SET [1 : ?] OF kinematic_joint := collect_joints( items ); + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KINEMATIC_TOPOLOGY_STRUCTURE' IN TYPEOF( + represented_topology ) ) AND ( represented_joints :=: represented_topology.items ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE' IN + TYPEOF( represented_topology ) ) AND ( represented_joints :=: get_kinematic_joints_from_oriented_joints( + represented_topology.items ) ) ) OR ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE' IN TYPEOF( represented_topology ) ) AND ( represented_joints :=: + get_kinematic_joints_from_kinematic_loops( represented_topology.items ) ) ) ); + END_ENTITY; + + ENTITY mechanism_state_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF pair_value; + represented_mechanism : mechanism_representation; + DERIVE + SELF\representation.context_of_items : geometric_representation_context := represented_mechanism.context_of_items; + END_ENTITY; + + ENTITY min_and_major_ply_orientation_basis + SUBTYPE OF ( representation_item_relationship, geometric_representation_item ); + SELF\representation_item_relationship.relating_representation_item : axis2_placement_3d; + SELF\representation_item_relationship.related_representation_item : axis2_placement_3d; + DERIVE + major_orientation_basis : axis2_placement_3d := SELF\representation_item_relationship.related_representation_item; + minor_orientation_basis : axis2_placement_3d := SELF\representation_item_relationship.relating_representation_item; + END_ENTITY; + + ENTITY minimally_defined_bare_die_terminal + SUPERTYPE OF ( + bare_die_terminal ) + SUBTYPE OF ( shape_aspect ); + SELF\shape_aspect.of_shape : bare_die; + END_ENTITY; + + ENTITY minimally_defined_connector + SUBTYPE OF ( packaged_part ); + END_ENTITY; + + ENTITY minimum_function + SUBTYPE OF ( multiple_arity_function_call ); + END_ENTITY; + + ENTITY minus_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY minus_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY mod_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY model_parameter + SUPERTYPE OF ( + ONEOF ( + datum_difference_based_model_parameter, + schema_based_model_parameter ) ) + SUBTYPE OF ( general_property ); + END_ENTITY; + + ENTITY model_parameter_with_unit + SUBTYPE OF ( model_parameter ); + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SCHEMA_BASED_MODEL_PARAMETER' IN TYPEOF( + SELF ) ) ); + END_ENTITY; + + ENTITY modified_geometric_tolerance + SUBTYPE OF ( geometric_tolerance ); + modifier : limit_condition; + END_ENTITY; + + ENTITY modified_pattern + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPLICATE_FEATURE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INSTANCED_FEATURE' ] * TYPEOF( fcr. + related_shape_aspect.of_shape.definition ) ) >= 1 ) AND ( fcr.description = 'base shape' ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( fcr. + related_shape_aspect.of_shape.definition ) ) = 1 ) AND ( fcr.description = 'base pattern' ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( SIZEOF( QUERY ( msar <* USEDIN( sar. + related_shape_aspect, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATTERN_OFFSET_MEMBERSHIP' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATTERN_OMIT_MEMBERSHIP' ] * TYPEOF( sar ) ) = + 1 ) AND ( sar.description = 'modified pattern' ) AND ( sar :<>: msar ) ) ) ) >= 1 ) ) ) = 0 ); + END_ENTITY; + + ENTITY modified_solid + ABSTRACT SUPERTYPE OF ( + ONEOF ( + edge_blended_solid, + sculptured_solid, + shelled_solid, + modified_solid_with_placed_configuration ) ) + SUBTYPE OF ( solid_model ); + rationale : text; + base_solid : base_solid_select; + END_ENTITY; + + ENTITY modified_solid_with_placed_configuration + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_depression, + solid_with_protrusion, + solid_with_shape_element_pattern ) ) + SUBTYPE OF ( modified_solid ); + placing : axis2_placement_3d; + END_ENTITY; + + ENTITY modify_element + SUBTYPE OF ( change_element ); + END_ENTITY; + + ENTITY moments_of_inertia_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( SIZEOF( SELF.items ) = 1 ) AND ( SIZEOF( QUERY ( i <* SELF.items | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' ) IN + TYPEOF( i ) ) AND ( i.name = 'moments of inertia matrix' ) ) ) ) = 1 ) ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'COMPOUND_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'LIST_REPRESENTATION_ITEM' ) IN TYPEOF( i + \compound_representation_item.item_element ) ) AND value_range_aggregate_rep_item( i\compound_representation_item. + item_element ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY mounting_restriction_area + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY mounting_restriction_volume + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY mult_expression + SUBTYPE OF ( multiple_arity_numeric_expression ); + END_ENTITY; + + ENTITY multi_language_attribute_assignment + SUBTYPE OF ( attribute_value_assignment ); + items : SET [1 : ?] OF multi_language_attribute_item; + DERIVE + translation_language : language := language_indication[1]\attribute_classification_assignment.assigned_class; + INVERSE + language_indication : SET [1 : 1] OF attribute_language_assignment FOR items; + WHERE + wr1: ( SELF\attribute_value_assignment.role.name = 'alternate language' ); + wr2: ( SIZEOF( QUERY ( ala <* language_indication | ( ( ala\attribute_classification_assignment.attribute_name = + 'attribute_value' ) AND ( ala\attribute_classification_assignment.role.name = 'translated' ) ) ) ) = 1 ); + wr3: ( SELF\attribute_value_assignment.attribute_name <> '' ); + wr4: ( SIZEOF( QUERY ( ci <* items | ( SIZEOF( QUERY ( ata <* USEDIN( ci, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS' ) + | ( ( ata\attribute_value_assignment.attribute_name = SELF\attribute_value_assignment.attribute_name ) AND ( ata. + translation_language :=: translation_language ) ) ) ) > 1 ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( ci <* items | ( SIZEOF( QUERY ( ata <* USEDIN( ci, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ) | ( ( + ata\attribute_classification_assignment.role.name = 'primary' ) AND ( ata\attribute_classification_assignment. + attribute_name = SELF\attribute_value_assignment.attribute_name ) AND ( ata\attribute_classification_assignment. + assigned_class :=: translation_language ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY multi_layer_component_definition + SUBTYPE OF ( laminate_component ); + END_ENTITY; + + ENTITY multi_layer_material_removal_laminate_component + SUBTYPE OF ( material_removal_laminate_component ); + END_ENTITY; + + ENTITY multi_layer_stratum_feature_template_component + SUBTYPE OF ( stratum_feature_template_component ); + END_ENTITY; + + ENTITY multi_level_reference_designator + SUBTYPE OF ( assembly_component_usage ); + location : LIST [1 : ?] OF UNIQUE next_assembly_usage_occurrence; + DERIVE + SELF\product_definition_relationship.relating_product_definition : product_definition := location[1]\ + product_definition_relationship.relating_product_definition; + SELF\product_definition_relationship.related_product_definition : product_definition_or_reference := location[HIINDEX( + location )]\product_definition_relationship.related_product_definition; + leaf : product_definition_or_reference := SELF\product_definition_relationship. + related_product_definition; + root : product_definition := SELF\product_definition_relationship. + relating_product_definition; + WHERE + wr1: unambiguously_specified_multi_level_reference_designator( location ); + wr2: ( SIZEOF( QUERY ( cp <* location | ( NOT EXISTS( cp\assembly_component_usage.reference_designator ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY multi_stratum_printed_component + SUBTYPE OF ( printed_component, structured_layout_component ); + END_ENTITY; + + ENTITY multi_stratum_printed_part_template + SUBTYPE OF ( structured_printed_part_template, multi_stratum_structured_template ); + END_ENTITY; + + ENTITY multi_stratum_special_symbol_component + SUBTYPE OF ( structured_layout_component ); + END_ENTITY; + + ENTITY multi_stratum_special_symbol_template + SUBTYPE OF ( multi_stratum_structured_template, special_symbol_template ); + END_ENTITY; + + ENTITY multi_stratum_structured_template + ABSTRACT SUPERTYPE OF ( + ONEOF ( + padstack_definition, + multi_stratum_special_symbol_template ) + ANDOR + stratum_stack_dependent_template + ANDOR + ONEOF ( + padstack_definition, + generic_footprint_definition, + multi_stratum_special_symbol_template ) ) + SUBTYPE OF ( structured_template ); + END_ENTITY; + + ENTITY multiple_arity_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + and_expression, + or_expression ) ) + SUBTYPE OF ( boolean_expression, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF boolean_expression; + END_ENTITY; + + ENTITY multiple_arity_function_call + ABSTRACT SUPERTYPE OF ( + ONEOF ( + maximum_function, + minimum_function ) ) + SUBTYPE OF ( multiple_arity_numeric_expression ); + END_ENTITY; + + ENTITY multiple_arity_generic_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( generic_expression ); + operands : LIST [2 : ?] OF generic_expression; + END_ENTITY; + + ENTITY multiple_arity_numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + plus_expression, + mult_expression, + multiple_arity_function_call ) ) + SUBTYPE OF ( numeric_expression, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF numeric_expression; + END_ENTITY; + + ENTITY multiply_defined_cartesian_points + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CARTESIAN_POINT' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_curves + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_directions + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY multiply_defined_edges + SUBTYPE OF ( topology_related_to_multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EDGE_CURVE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_faces + SUBTYPE OF ( topology_related_to_multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + multiply_defined_curves, + multiply_defined_surfaces, + multiply_defined_cartesian_points, + multiply_defined_directions, + multiply_defined_placements ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY multiply_defined_placements + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_AND_LENGTH_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' ] ); + wr5: validate_locations_of_extreme_value_type( SELF, [] ); + wr6: validate_accuracy_types( SELF, [] ); + wr7: ( SIZEOF( QUERY ( sdqr <* bag_to_set( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_INSPECTION_RESULT.' + + 'CRITERION_INSPECTED' ) ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( sdqr ) ) AND ( SIZEOF( QUERY ( sdqiir <* bag_to_set( USEDIN( + sdqr, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_INSPECTION_REPORT.' + + 'INSPECTION_RESULT' ) ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( sdqiir ) ) AND ( SIZEOF( QUERY ( sdqiri <* sdqiir. + inspected_instances | ( TYPEOF( sdqiri.inspected_elements[1] ) <> TYPEOF( sdqiri.inspected_elements[2] ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY multiply_defined_solids + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_surfaces + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_vertices + SUBTYPE OF ( topology_related_to_multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'VERTEX_POINT' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY name_assignment + ABSTRACT SUPERTYPE; + assigned_name : label; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ) <= 1 ); + END_ENTITY; + + ENTITY name_attribute; + attribute_value : label; + named_item : name_attribute_select; + END_ENTITY; + + ENTITY named_unit + SUPERTYPE OF ( + ONEOF ( + si_unit, + conversion_based_unit, + context_dependent_unit ) + ANDOR + ONEOF ( + length_unit, + mass_unit, + time_unit, + electric_current_unit, + thermodynamic_temperature_unit, + amount_of_substance_unit, + luminous_flux_unit, + luminous_intensity_unit, + plane_angle_unit, + solid_angle_unit, + ratio_unit ) ); + dimensions : dimensional_exponents; + END_ENTITY; + + ENTITY narrow_surface_patch + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_PATCH'] ); + wr4: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY near_point_relationship + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : curve_or_surface_constraint_element; + SELF\representation_item_relationship.related_representation_item : point; + END_ENTITY; + + ENTITY nearly_degenerate_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + small_area_surface, + short_length_curve, + entirely_narrow_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY nearly_degenerate_surface_boundary + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_RANGE' ) IN + TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN + value_limit_type( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'BOUNDARY_CURVE_OF_B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY nearly_degenerate_surface_patch + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_RANGE' ) IN + TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN + value_limit_type( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_PATCH'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY network_node_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY neutral_sketch_representation + SUBTYPE OF ( shape_representation ); + neutral_sketch_semantics : curves_or_area; + SELF\representation.items : SET [1 : ?] OF sketch_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( q <* items | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( q ) ) AND ( q\geometric_representation_item.dim = 3 ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY next_assembly_usage_occurrence + SUBTYPE OF ( assembly_component_usage ); + UNIQUE + ur1 : SELF\assembly_component_usage.reference_designator, SELF\product_definition_relationship.relating_product_definition; + END_ENTITY; + + ENTITY next_assembly_usage_occurrence_relationship + SUBTYPE OF ( next_assembly_usage_occurrence, product_definition_occurrence_relationship ); + DERIVE + SELF\product_definition_occurrence_relationship.occurrence_usage : next_assembly_usage_occurrence_relationship := SELF; + END_ENTITY; + + ENTITY ngon_closed_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( ( SIZEOF( impl_rep.used_representation.items ) >= 3 ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 4 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* pdr.used_representation.items | ( ( srwp_i.name + = 'orientation' ) OR ( srwp_i.name = 'number of sides' ) OR ( srwp_i.name = 'circumscribed diameter' ) OR ( srwp_i. + name = 'corner radius' ) OR ( srwp_i.name = 'diameter across flats' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) + = 1 ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'number of sides' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name IN [ 'circumscribed diameter', 'diameter across flats'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'corner radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY non_agreed_accuracy_parameter_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT' ] ); + END_ENTITY; + + ENTITY non_agreed_scale_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CARTESIAN_TRANSFORMATION_OPERATOR_3D' ] ); + END_ENTITY; + + ENTITY non_agreed_unit_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GLOBAL_UNIT_ASSIGNED_CONTEXT' ] ); + END_ENTITY; + + ENTITY non_conductive_base_blind_via + SUBTYPE OF ( blind_via ); + END_ENTITY; + + ENTITY non_conductive_cross_section_template + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY non_manifold_at_edge + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SET' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EDGE_CURVE' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY non_manifold_at_vertex + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SET' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'VERTEX_POINT' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY non_manifold_surface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) + = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] + * TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) + AND ( SIZEOF( QUERY ( mr_it <* mi\mapped_item.mapping_source.mapped_representation.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( mr_it ) ) ) ) + > 0 ) ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model.fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs. + cfs_faces | ( NOT ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE' ] * TYPEOF( fa ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model.fbsm_faces | ( NOT ( SIZEOF( QUERY ( f_sf <* + QUERY ( fa <* cfs.cfs_faces | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' + IN TYPEOF( fa ) ) ) | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' + IN TYPEOF( f_sf ) ) OR nmsf_surface_check( f_sf\face_surface.face_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model.fbsm_faces | ( NOT ( SIZEOF( QUERY ( o_fa <* + QUERY ( fa <* cfs.cfs_faces | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE' + IN TYPEOF( fa ) ) ) | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' + IN TYPEOF( o_fa\oriented_face.face_element ) ) OR nmsf_surface_check( o_fa\oriented_face.face_element\face_surface + .face_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model.fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs. + cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN + TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( bnds <* fa.bounds | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' ] * TYPEOF( bnds.bound ) ) = 1 ) ) ) ) + = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model.fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs. + cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN + TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model.fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs. + cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN + TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe_cv <* QUERY ( oe <* elp_fbnds\path.edge_list | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) + | ( NOT ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' ] * TYPEOF( oe_cv.edge_element + \edge_curve.edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model.fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs. + cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN + TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT nmsf_curve_check( oe.edge_element\edge_curve. + edge_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model.fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs. + cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN + TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_element. + edge_start ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( + oe.edge_element.edge_end ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model.fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs. + cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN + TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( + NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element + .edge_start\vertex_point.vertex_geometry ) ) = 1 ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element + .edge_end\vertex_point.vertex_geometry ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model.fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs. + cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN + TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF( bnds.bound ) ) ) | + ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( vlp_fbnds\ + vertex_loop.loop_vertex ) ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model.fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs. + cfs_faces | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN + TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF( bnds.bound ) ) ) | + ( NOT ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( vlp_fbnds\ + vertex_loop.loop_vertex\vertex_point.vertex_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY non_referenced_coordinate_system + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' ] ); + END_ENTITY; + + ENTITY non_smooth_geometry_transition_across_edge + ABSTRACT SUPERTYPE OF ( + ONEOF ( + g1_discontinuity_between_adjacent_faces, + g2_discontinuity_between_adjacent_faces ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY non_uniform_zone_definition + SUBTYPE OF ( tolerance_zone_definition ); + END_ENTITY; + + ENTITY not_expression + SUBTYPE OF ( unary_boolean_expression ); + SELF\unary_generic_expression.operand : boolean_expression; + END_ENTITY; + + ENTITY null_representation_item + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY numeric_defined_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + integer_defined_function, + real_defined_function ) ) + SUBTYPE OF ( numeric_expression, defined_function ); + END_ENTITY; + + ENTITY numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_numeric_expression, + unary_numeric_expression, + binary_numeric_expression, + multiple_arity_numeric_expression, + length_function, + value_function, + numeric_defined_function ) ) + SUBTYPE OF ( expression ); + DERIVE + is_int : BOOLEAN := is_int_expr( SELF ); + sql_mappable : BOOLEAN := is_sql_mappable( SELF ); + END_ENTITY; + + ENTITY numeric_variable + SUPERTYPE OF ( + ONEOF ( + int_numeric_variable, + real_numeric_variable ) ) + SUBTYPE OF ( simple_numeric_expression, variable ); + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF( SELF ) ) OR + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY object_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY odd_function + SUBTYPE OF ( unary_boolean_expression ); + SELF\unary_generic_expression.operand : numeric_expression; + WHERE + wr1: is_int_expr( operand ); + END_ENTITY; + + ENTITY offset_curve_2d + SUBTYPE OF ( curve ); + basis_curve : curve; + distance : length_measure; + self_intersect : LOGICAL; + WHERE + wr1: ( basis_curve.dim = 2 ); + END_ENTITY; + + ENTITY offset_curve_3d + SUBTYPE OF ( curve ); + basis_curve : curve; + distance : length_measure; + self_intersect : LOGICAL; + ref_direction : direction; + WHERE + wr1: ( ( basis_curve.dim = 3 ) AND ( ref_direction.dim = 3 ) ); + END_ENTITY; + + ENTITY offset_surface + SUBTYPE OF ( surface ); + basis_surface : surface; + distance : length_measure; + self_intersect : LOGICAL; + END_ENTITY; + + ENTITY one_direction_repeat_factor + SUBTYPE OF ( geometric_representation_item ); + repeat_factor : vector; + END_ENTITY; + + ENTITY open_closed_shell + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CLOSED_SHELL' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EDGE_CURVE' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY open_edge_loop + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ORIENTED_EDGE' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY open_path_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY open_shell + SUBTYPE OF ( connected_face_set ); + END_ENTITY; + + ENTITY operational_requirement_relationship + SUBTYPE OF ( property_definition, product_definition_relationship ); + END_ENTITY; + + ENTITY or_expression + SUBTYPE OF ( multiple_arity_boolean_expression ); + END_ENTITY; + + ENTITY ordinal_date + SUBTYPE OF ( date ); + day_component : day_in_year_number; + WHERE + wr1: ( ( ( NOT leap_year( SELF.year_component ) ) AND ( 1 <= day_component ) AND ( day_component <= 365 ) ) OR ( + leap_year( SELF.year_component ) AND ( 1 <= day_component ) AND ( day_component <= 366 ) ) ); + END_ENTITY; + + ENTITY ordinate_dimension + SUBTYPE OF ( projection_directed_callout ); + END_ENTITY; + + ENTITY organization; + id : OPTIONAL identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY organization_assignment + ABSTRACT SUPERTYPE; + assigned_organization : organization; + role : organization_role; + END_ENTITY; + + ENTITY organization_relationship; + name : label; + description : OPTIONAL text; + relating_organization : organization; + related_organization : organization; + END_ENTITY; + + ENTITY organization_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY organizational_address + SUBTYPE OF ( address ); + organizations : SET [1 : ?] OF organization; + description : OPTIONAL text; + END_ENTITY; + + ENTITY organizational_project; + name : label; + description : OPTIONAL text; + responsible_organizations : SET [1 : ?] OF organization; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY organizational_project_assignment + ABSTRACT SUPERTYPE; + assigned_organizational_project : organizational_project; + role : organizational_project_role; + END_ENTITY; + + ENTITY organizational_project_relationship; + name : label; + description : OPTIONAL text; + relating_organizational_project : organizational_project; + related_organizational_project : organizational_project; + END_ENTITY; + + ENTITY organizational_project_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY oriented_closed_shell + SUBTYPE OF ( closed_shell ); + closed_shell_element : closed_shell; + orientation : BOOLEAN; + DERIVE + SELF\connected_face_set.cfs_faces : SET [1 : ?] OF face := conditional_reverse( SELF.orientation, SELF. + closed_shell_element.cfs_faces ); + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( SELF. + closed_shell_element ) ) ); + END_ENTITY; + + ENTITY oriented_edge + SUBTYPE OF ( edge ); + edge_element : edge; + orientation : BOOLEAN; + DERIVE + SELF\edge.edge_start : vertex := boolean_choose( SELF.orientation, SELF.edge_element.edge_start, SELF.edge_element. + edge_end ); + SELF\edge.edge_end : vertex := boolean_choose( SELF.orientation, SELF.edge_element.edge_end, SELF.edge_element. + edge_start ); + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_EDGE' IN TYPEOF( SELF. + edge_element ) ) ); + END_ENTITY; + + ENTITY oriented_face + SUBTYPE OF ( face ); + face_element : face; + orientation : BOOLEAN; + DERIVE + SELF\face.bounds : SET [1 : ?] OF face_bound := conditional_reverse( SELF.orientation, SELF.face_element.bounds ); + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF( SELF. + face_element ) ) ); + END_ENTITY; + + ENTITY oriented_joint + SUBTYPE OF ( oriented_edge ); + SELF\oriented_edge.edge_element : kinematic_joint; + END_ENTITY; + + ENTITY oriented_open_shell + SUBTYPE OF ( open_shell ); + open_shell_element : open_shell; + orientation : BOOLEAN; + DERIVE + SELF\connected_face_set.cfs_faces : SET [1 : ?] OF face := conditional_reverse( SELF.orientation, SELF.open_shell_element. + cfs_faces ); + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_OPEN_SHELL' IN TYPEOF( SELF. + open_shell_element ) ) ); + END_ENTITY; + + ENTITY oriented_path + SUBTYPE OF ( path ); + path_element : path; + orientation : BOOLEAN; + DERIVE + SELF\path.edge_list : LIST [1 : ?] OF UNIQUE oriented_edge := conditional_reverse( SELF.orientation, SELF.path_element. + edge_list ); + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF( SELF. + path_element ) ) ); + END_ENTITY; + + ENTITY oriented_surface + SUBTYPE OF ( surface ); + orientation : BOOLEAN; + END_ENTITY; + + ENTITY outer_boundary_curve + SUBTYPE OF ( boundary_curve ); + END_ENTITY; + + ENTITY outer_round + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( ( NOT ( SELF\characterized_object.description = 'outer diameter' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 3 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr2: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( 2 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 3 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr3: ( SELF\characterized_object.description IN [ 'outer diameter', 'outer diameter to shoulder'] ); + wr4: ( ( NOT ( SELF\characterized_object.description = 'outer diameter' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'v-shape boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'v-shape' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = + 0 ) ); + wr7: ( ( NOT ( SELF\characterized_object.description = 'outer diameter' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'reduced size occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'taper usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' IN TYPEOF( sdr.relating_shape_aspect ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTER_ROUND' IN TYPEOF( sdr. + related_shape_aspect.of_shape.definition ) ) AND ( sdr.name = 'reduced size' ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr8: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'feature length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY outside_profile + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ) = 1 ) ) ) = 1 ); + wr2 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ. + description IN [ 'boundary occurrence', 'non-planar boundary occurrence', 'partial circular boundary occurrence', + 'closed circular boundary occurrence' , 'open rectangular boundary occurrence', + 'closed rectangular boundary occurrence' ] ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ. + description = 'boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( + SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE' ] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) AND ( sdr.relating_shape_aspect.description = 'outside boundary' ) ) ) ) = 1 ) ) ) + = 1 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ. + description IN [ 'complex boundary occurrence', 'partial circular boundary occurrence', + 'closed circular boundary occurrence' , 'open rectangular boundary occurrence', + 'closed rectangular boundary occurrence' ] ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( NOT ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile floor usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROFILE_FLOOR' IN TYPEOF( + sdr.relating_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'OUTSIDE_PROFILE' IN TYPEOF( sdr.related_shape_aspect.of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = + 0 ) ); + wr5 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ. + description IN [ 'outside boundary', 'complex boundary occurrence', 'partial circular boundary occurrence', + 'closed circular boundary occurrence' , 'open rectangular boundary occurrence', + 'closed rectangular boundary occurrence' ] ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'path feature component usage' ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' ] * TYPEOF( sdr.relating_shape_aspect ) ) = 1 ) AND ( sdr.name = 'profile swept shape' ) + AND ( sdr.relating_shape_aspect.description = 'linear' ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ. + description = 'complex boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE' ] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ. + description = 'partial circular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ. + description = 'closed circular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ. + description = 'open rectangular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ. + description = 'closed rectangular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' IN TYPEOF( sdr + .relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr11: ( ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ. + description IN [ 'boundary occurrence', 'complex boundary occurrence', 'partial circular boundary occurrence', + 'closed circular boundary occurrence' , 'open rectangular boundary occurrence', + 'closed rectangular boundary occurrence' ] ) ) ) = 1 ) ) ) ) = 0 ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'removal direction' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr12: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY over_riding_styled_item + SUBTYPE OF ( styled_item ); + over_ridden_style : styled_item; + END_ENTITY; + + ENTITY over_used_vertex + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'VERTEX_POINT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY overcomplex_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + excessively_high_degree_curve, + excessively_high_degree_surface, + surface_with_excessive_patches_in_one_direction, + curve_with_excessive_segments, + high_degree_linear_curve, + high_degree_planar_surface, + high_degree_conic, + high_degree_axi_symmetric_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY overcomplex_topology_and_geometry_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + unused_patches, + edge_with_excessive_segments, + face_surface_with_excessive_patches_in_one_direction ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY overlapping_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + partly_overlapping_curves, + partly_overlapping_surfaces ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY package + SUBTYPE OF ( physical_unit ); + END_ENTITY; + + ENTITY package_body + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY package_body_bottom_surface + SUBTYPE OF ( package_body_surface ); + END_ENTITY; + + ENTITY package_body_edge_segment_surface + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; + SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + END_ENTITY; + + ENTITY package_body_edge_surface + SUBTYPE OF ( package_body_surface ); + END_ENTITY; + + ENTITY package_body_surface + ABSTRACT SUPERTYPE OF ( + ONEOF ( + package_body_top_surface, + package_body_edge_surface, + package_body_bottom_surface ) ) + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY package_body_top_surface + SUBTYPE OF ( package_body_surface ); + END_ENTITY; + + ENTITY package_footprint_relationship_definition + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY package_product_concept_feature + SUBTYPE OF ( product_concept_feature ); + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE' ) IN + TYPEOF( SELF ) ) ); + wr2: ( SIZEOF( QUERY ( cfr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP.' + 'RELATING_PRODUCT_CONCEPT_FEATURE' ) | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' ) IN TYPEOF( cfr ) ) AND ( SIZEOF( QUERY ( ipcf <* USEDIN( cfr, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.' + + 'CONDITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' ) IN TYPEOF( ipcf ) ) ) ) = 1 ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY package_terminal + SUPERTYPE OF ( + guided_wave_terminal + ANDOR + primary_reference_terminal ) + SUBTYPE OF ( placed_feature ); + END_ENTITY; + + ENTITY package_terminal_template_definition + SUBTYPE OF ( part_feature_template_definition ); + END_ENTITY; + + ENTITY packaged_component + SUBTYPE OF ( physical_component ); + END_ENTITY; + + ENTITY packaged_connector + SUBTYPE OF ( packaged_part ); + END_ENTITY; + + ENTITY packaged_connector_component + SUBTYPE OF ( interface_component, packaged_component ); + END_ENTITY; + + ENTITY packaged_connector_terminal_relationship + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + END_ENTITY; + + ENTITY packaged_part + SUPERTYPE OF ( + ONEOF ( + minimally_defined_connector, + packaged_connector ) ) + SUBTYPE OF ( physical_unit ); + END_ENTITY; + + ENTITY packaged_part_terminal + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY padstack_definition + SUPERTYPE OF ( + passage_padstack_definition ) + SUBTYPE OF ( multi_stratum_structured_template ); + END_ENTITY; + + ENTITY padstack_occurrence + SUBTYPE OF ( structured_layout_component ); + END_ENTITY; + + ENTITY padstack_occurrence_product_definition_relationship + SUBTYPE OF ( property_definition, next_assembly_usage_occurrence_relationship ); + WHERE + wr1: ( SELF\product_definition_relationship.related_product_definition :<>: SELF\product_definition_relationship. + relating_product_definition ); + END_ENTITY; + + ENTITY pair_representation_relationship + SUBTYPE OF ( geometric_representation_item, representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : kinematic_link_representation; + SELF\representation_relationship.rep_2 : kinematic_link_representation; + SELF\representation_relationship_with_transformation.transformation_operator : kinematic_pair; + WHERE + wr1: ( transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items ); + wr2: ( transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items ); + wr3: ( rep_1\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_start ); + wr4: ( rep_2\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_end ); + END_ENTITY; + + ENTITY pair_value + ABSTRACT SUPERTYPE OF ( + ONEOF ( + sliding_surface_pair_value, + rolling_surface_pair_value, + revolute_pair_value, + prismatic_pair_value, + screw_pair_value, + cylindrical_pair_value, + spherical_pair_value, + sliding_curve_pair_value, + rolling_curve_pair_value, + gear_pair_value, + rack_and_pinion_pair_value, + universal_pair_value, + planar_pair_value, + unconstrained_pair_value, + point_on_surface_pair_value, + point_on_planar_curve_pair_value, + low_order_kinematic_pair_value ) ) + SUBTYPE OF ( geometric_representation_item ); + applies_to_pair : kinematic_pair; + END_ENTITY; + + ENTITY parabola + SUBTYPE OF ( conic ); + focal_dist : length_measure; + WHERE + wr1: ( focal_dist <> 0 ); + END_ENTITY; + + ENTITY parallel_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, parallel_geometric_constraint ); + END_ENTITY; + + ENTITY parallel_assembly_constraint_with_dimension + SUBTYPE OF ( parallel_assembly_constraint, pgc_with_dimension ); + END_ENTITY; + + ENTITY parallel_composed_function + SUBTYPE OF ( maths_function, multiple_arity_generic_expression ); + source_of_domain : maths_space_or_function; + prep_functions : LIST [1 : ?] OF maths_function; + final_function : maths_function_select; + DERIVE + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF generic_expression := convert_to_operands_prcmfn( + source_of_domain, prep_functions, final_function ); + WHERE + wr1: no_cyclic_domain_reference( source_of_domain, [SELF] ); + wr2: expression_is_constant( domain_from( source_of_domain ) ); + wr3: parallel_composed_function_domain_check( domain_from( source_of_domain ), prep_functions ); + wr4: parallel_composed_function_composability_check( prep_functions, final_function ); + END_ENTITY; + + ENTITY parallel_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF linear_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF linear_geometry_constraint_element; + END_ENTITY; + + ENTITY parallel_offset + SUBTYPE OF ( derived_shape_aspect ); + offset : measure_with_unit; + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY parallel_offset_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF curve_or_surface_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF curve_or_surface_constraint_element; + offset_type : parallel_offset_type; + WHERE + wr1: ( NOT ( ( ( offset_type = curve_2d_offset ) OR ( offset_type = curve_3d_offset ) ) AND ( SIZEOF( QUERY ( q <* ( SELF\ + explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF( q ) ) ) ) > 0 ) ) ); + wr2: ( NOT ( ( offset_type = surface_offset ) AND ( SIZEOF( QUERY ( q <* ( SELF\explicit_constraint.constrained_elements + + SELF\explicit_constraint.reference_elements ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF( q ) ) ) ) > 0 ) ) ); + END_ENTITY; + + ENTITY parallelism_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY parameter_assignment + SUBTYPE OF ( property_definition_representation, representation ); + SELF\property_definition_representation.definition : parameter_assignment_select; + END_ENTITY; + + ENTITY parameter_assignment_override + SUBTYPE OF ( representation, representation_relationship ); + SELF\representation_relationship.rep_1 : parameter_assignment; + SELF\representation_relationship.rep_2 : parameter_assignment; + UNIQUE + ur1 : SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; + WHERE + wr1: ( SELF\representation_relationship.rep_1 <> SELF\representation_relationship.rep_2 ); + END_ENTITY; + + ENTITY parametric_representation_context + SUBTYPE OF ( representation_context ); + END_ENTITY; + + ENTITY parametric_template + ABSTRACT SUPERTYPE OF ( + ONEOF ( + fill_area_template, + teardrop_template, + trace_template ) ) + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY part_connected_terminals_definition + SUBTYPE OF ( shape_aspect ); + UNIQUE + ur1 : SELF\shape_aspect.name; + END_ENTITY; + + ENTITY part_connected_terminals_definition_domain + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY part_connected_terminals_element + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + END_ENTITY; + + ENTITY part_connected_terminals_layout_topology_requirement_assignment + SUBTYPE OF ( requirement_assignment ); + END_ENTITY; + + ENTITY part_connected_terminals_structure_definition + SUBTYPE OF ( part_connected_terminals_definition ); + END_ENTITY; + + ENTITY part_feature_template_definition + SUBTYPE OF ( shape_feature_definition, group ); + WHERE + wr1: ( SELF\group.name = SELF\characterized_object.name ); + wr2: ( SELF\group.description = SELF\characterized_object.description ); + END_ENTITY; + + ENTITY part_interface_access_feature + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY part_laminate_table + SUPERTYPE OF ( + ONEOF ( + composite_assembly_table, + ply_laminate_table ) ) + SUBTYPE OF ( laminate_table ); + END_ENTITY; + + ENTITY part_mating_feature + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY part_mounting_feature + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY part_string_template + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY part_template_definition + SUPERTYPE OF ( + ONEOF ( + printed_part_template, + non_conductive_cross_section_template ) + ANDOR + ONEOF ( + geometric_template, + parametric_template, + part_string_template, + part_text_template, + single_stratum_template, + stratum_stack_model ) + ANDOR + ONEOF ( + ONEOF ( + printed_part_template, + special_symbol_template ) + ANDOR + geometric_template, + non_conductive_cross_section_template, + part_string_template, + parametric_template, + part_text_template, + stratum_stack_model, + stratum_sub_stack ) ) + SUBTYPE OF ( product_definition, product_definition_shape ); + DERIVE + SELF\property_definition.definition : part_template_definition := SELF; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) = 0 ); + wr2: ( NOT EXISTS( SELF\property_definition.description ) ); + END_ENTITY; + + ENTITY part_template_keepout_shape_allocation_to_stratum_stack + SUBTYPE OF ( characterized_object, property_definition ); + DERIVE + SELF\property_definition.definition : part_template_keepout_shape_allocation_to_stratum_stack := SELF; + END_ENTITY; + + ENTITY part_terminal_external_reference + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY part_text_template + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY part_tooling_feature + SUPERTYPE OF ( + ONEOF ( + fiducial_part_feature, + tool_registration_mark ) + ANDOR + test_point_part_feature ) + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY partial_circular_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 3 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'sweep angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY partial_derivative_expression + SUBTYPE OF ( unary_generic_expression ); + d_variables : LIST [1 : ?] OF maths_variable; + extension : extension_options; + DERIVE + derivand : generic_expression := SELF\unary_generic_expression.operand; + WHERE + wr1: has_values_space( derivand ); + wr2: space_is_continuum( values_space_of( derivand ) ); + wr3: ( SIZEOF( QUERY ( vbl <* d_variables | ( ( NOT subspace_of( values_space_of( vbl ), the_reals ) ) AND ( NOT + subspace_of( values_space_of( vbl ), the_complex_numbers ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY partial_derivative_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + d_variables : LIST [1 : ?] OF input_selector; + extension : extension_options; + DERIVE + derivand : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: space_is_continuum( derivand.range ); + wr2: partial_derivative_check( derivand.domain, d_variables ); + END_ENTITY; + + ENTITY partial_document_with_structured_text_representation_assignment + SUBTYPE OF ( applied_document_usage_constraint_assignment, characterized_object ); + END_ENTITY; + + ENTITY partially_plated_cutout + SUBTYPE OF ( cutout ); + END_ENTITY; + + ENTITY partially_plated_interconnect_module_edge + SUBTYPE OF ( interconnect_module_edge ); + END_ENTITY; + + ENTITY partly_overlapping_curves + SUBTYPE OF ( overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'TRIMMED_CURVE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_edges + SUBTYPE OF ( topology_related_to_overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EDGE_CURVE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SUBEDGE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBEDGE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_faces + SUBTYPE OF ( topology_related_to_overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SUBFACE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_solids + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SUBFACE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_surfaces + SUBTYPE OF ( overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CURVE_BOUNDED_SURFACE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CURVE_BOUNDED_SURFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY passage_deposition_material_identification + SUBTYPE OF ( material_designation ); + SELF\material_designation.definitions : SET [1 : ?] OF passage_technology; + END_ENTITY; + + ENTITY passage_filling_material_identification + SUBTYPE OF ( material_designation ); + SELF\material_designation.definitions : SET [1 : ?] OF passage_technology; + END_ENTITY; + + ENTITY passage_padstack_definition + SUBTYPE OF ( padstack_definition ); + END_ENTITY; + + ENTITY passage_technology + SUBTYPE OF ( characterized_object, product_definition_shape ); + DERIVE + SELF\property_definition.definition : characterized_definition := SELF; + UNIQUE + ur1 : SELF\characterized_object.name; + END_ENTITY; + + ENTITY passage_technology_allocation_to_stack_model + SUBTYPE OF ( stratum_sub_stack ); + END_ENTITY; + + ENTITY passage_terminal_based_fabrication_joint_link + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + END_ENTITY; + + ENTITY path + SUPERTYPE OF ( + ONEOF ( + edge_loop, + oriented_path ) ) + SUBTYPE OF ( topological_representation_item ); + edge_list : LIST [1 : ?] OF UNIQUE oriented_edge; + WHERE + wr1: path_head_to_tail( SELF ); + END_ENTITY; + + ENTITY path_area_with_parameters + SUBTYPE OF ( complex_area, mapped_item ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF( SELF\mapped_item. + mapping_target ) ); + wr2: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_PARAMETERS_REPRESENTATION' IN + TYPEOF( SELF\mapped_item.mapping_source\representation_map.mapped_representation ) ); + wr3: ( SELF\mapped_item.mapping_source\representation_map.mapping_origin\representation_item.name = 'curve width' ); + END_ENTITY; + + ENTITY path_feature_component + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2 : ( SELF.description IN [ 'partial circular', 'complete circular', 'linear', 'complex'] ); + wr3 : ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( ( NOT ( SELF.description = 'partial circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr6 : ( ( NOT ( SELF.description = 'partial circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF.description = 'partial circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'sweep angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'complete circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr9 : ( ( NOT ( SELF.description = 'complete circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF.description = 'linear' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr11: ( ( NOT ( SELF.description = 'linear' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'distance' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF.description = 'linear' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'sweep path' ) AND ( SIZEOF( QUERY ( srwp_i <* pdr. + used_representation.items | ( srwp_i.name = 'profile shape' ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY path_node + ABSTRACT SUPERTYPE OF ( + ONEOF ( + point_to_point_path, + circular_path, + linear_path, + curve_based_path ) ) + SUBTYPE OF ( kinematic_path_segment ); + placement_end : placement; + END_ENTITY; + + ENTITY path_parameter_representation + SUBTYPE OF ( definitional_representation ); + SELF\representation.context_of_items : path_parameter_representation_context; + SELF\representation.items : SET [1 : ?] OF bounded_curve; + WHERE + wr1: ( SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + END_ENTITY; + + ENTITY path_parameter_representation_context + SUBTYPE OF ( geometric_representation_context, parametric_representation_context ); + END_ENTITY; + + ENTITY path_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) >= 1 ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'BOUNDED_CURVE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH' ] * TYPEOF( i ) ) = 1 ) ) ) >= 1 ); + END_ENTITY; + + ENTITY pattern_offset_membership + SUBTYPE OF ( feature_component_relationship ); + WHERE + wr1 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.relating_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar :<>: SELF ) ) ) | ( SIZEOF( QUERY ( pdr <* + QUERY ( pd <* USEDIN( fcr.related_shape_aspect.of_shape, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( pdr. + definition ) ) = 1 ) ) ) = 0 ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar :<>: SELF ) ) ) | ( ( fcr.description = + 'modified pattern' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MODIFIED_PATTERN' + IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) >= 1 ); + wr3 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar :<>: SELF ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MODIFIED_PATTERN' IN TYPEOF( fcr. + relating_shape_aspect ) ) AND ( NOT ( SIZEOF( QUERY ( modfcr <* QUERY ( modsar <* USEDIN( fcr. + relating_shape_aspect, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( modsar. + related_shape_aspect.of_shape.definition ) ) = 1 ) AND ( modsar :<>: fcr ) ) ) | ( NOT ( modfcr. + related_shape_aspect.of_shape.definition :=: SELF.relating_shape_aspect.of_shape.definition ) ) ) ) = 0 ) ) ) ) ) + = 0 ); + wr4 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 2 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 1 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( NOT ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'index number' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' IN TYPEOF( it ) ) + AND ( it.name = 'offset' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr10: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'row index' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'column index' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it ) ) + AND ( it.name = 'offset distance' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'offset direction' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY pattern_omit_membership + SUBTYPE OF ( feature_component_relationship ); + WHERE + wr1: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.relating_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar :<>: SELF ) ) ) | ( SIZEOF( QUERY ( pdr <* + QUERY ( pd <* USEDIN( fcr.related_shape_aspect.of_shape, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( pdr. + definition ) ) = 1 ) ) ) = 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN + TYPEOF( sar ) ) AND ( sar :<>: SELF ) ) ) | ( ( fcr.description = 'modified pattern' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MODIFIED_PATTERN' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + wr3: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN + TYPEOF( sar ) ) AND ( sar :<>: SELF ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MODIFIED_PATTERN' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( NOT ( SIZEOF( QUERY ( modfcr <* + QUERY ( modsar <* USEDIN( fcr.relating_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CIRCULAR_PATTERN' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN'] * + TYPEOF( modsar.related_shape_aspect.of_shape.definition ) ) = 1 ) AND ( modsar :<>: fcr ) ) ) | ( NOT ( modfcr. + related_shape_aspect.of_shape.definition :=: SELF.relating_shape_aspect.of_shape.definition ) ) ) ) = 0 ) ) ) ) ) = + 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 1 ) ) ) ) = 0 ); + wr5: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( NOT ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'index number' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( NOT ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr8: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'row index' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'column index' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY pcurve + SUBTYPE OF ( curve ); + basis_surface : surface; + reference_to_curve : definitional_representation; + WHERE + wr1: ( SIZEOF( reference_to_curve\representation.items ) = 1 ); + wr2: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF( reference_to_curve\ + representation.items[1] ) ); + wr3: ( reference_to_curve\representation.items[1]\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY pdgc_with_dimension + SUBTYPE OF ( point_distance_geometric_constraint ); + distance_value : non_negative_length_measure; + END_ENTITY; + + ENTITY percentage_laminate_table + SUBTYPE OF ( zone_structural_makeup ); + END_ENTITY; + + ENTITY perpendicular_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, perpendicular_geometric_constraint ); + END_ENTITY; + + ENTITY perpendicular_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF linear_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 2] OF linear_geometry_constraint_element; + WHERE + wr1: ( NOT ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 2 ) AND ( NOT ( ( SIZEOF( QUERY ( q <* ( SELF\ + explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' IN TYPEOF( q ) ) ) ) = SIZEOF( SELF\ + explicit_constraint.reference_elements + SELF\explicit_constraint.constrained_elements ) ) XOR ( SIZEOF( + QUERY ( q <* ( SELF\explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( q ) ) ) ) = SIZEOF( SELF\ + explicit_constraint.reference_elements + SELF\explicit_constraint.constrained_elements ) ) ) ) ) ); + wr2: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) IN [2, 3] ) ); + wr3: ( ( NOT ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ) AND ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 3 ) ) ) AND ( NOT ( ( SIZEOF( QUERY ( q <* SELF\explicit_constraint.constrained_elements + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' IN TYPEOF( q ) ) ) ) = 3 ) XOR ( + SIZEOF( QUERY ( q <* SELF\explicit_constraint.constrained_elements | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( q ) ) ) ) = 3 ) ) ) ); + END_ENTITY; + + ENTITY perpendicular_to + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY perpendicularity_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY person; + id : identifier; + last_name : OPTIONAL label; + first_name : OPTIONAL label; + middle_names : OPTIONAL LIST [1 : ?] OF label; + prefix_titles : OPTIONAL LIST [1 : ?] OF label; + suffix_titles : OPTIONAL LIST [1 : ?] OF label; + WHERE + wr1: ( EXISTS( last_name ) OR EXISTS( first_name ) ); + END_ENTITY; + + ENTITY person_and_organization; + the_person : person; + the_organization : organization; + DERIVE + name : label := get_name_value( SELF ); + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY person_and_organization_address + SUBTYPE OF ( organizational_address, personal_address ); + SELF\organizational_address.organizations : SET [1 : 1] OF organization; + SELF\personal_address.people : SET [1 : 1] OF person; + WHERE + wr1: ( SIZEOF( QUERY ( pao <* USEDIN( SELF\personal_address.people[1], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PERSON_AND_ORGANIZATION.THE_PERSON' ) | ( pao + .the_organization :=: SELF\organizational_address.organizations[1] ) ) ) = 1 ); + END_ENTITY; + + ENTITY person_and_organization_assignment + ABSTRACT SUPERTYPE; + assigned_person_and_organization : person_and_organization; + role : person_and_organization_role; + END_ENTITY; + + ENTITY person_and_organization_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY personal_address + SUBTYPE OF ( address ); + people : SET [1 : ?] OF person; + description : OPTIONAL text; + END_ENTITY; + + ENTITY pgc_with_dimension + SUBTYPE OF ( parallel_geometric_constraint ); + distance_value : non_negative_length_measure; + negative_direction : BOOLEAN; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 1 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( SIZEOF( QUERY ( q <* ( SELF\explicit_constraint.reference_elements + SELF\explicit_constraint.constrained_elements ) + | ( SIZEOF( TYPEOF( q ) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' ] ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY physical_breakdown_context + SUBTYPE OF ( breakdown_context ); + END_ENTITY; + + ENTITY physical_component + SUPERTYPE OF ( + ONEOF ( + assembly_module_component, + assembly_module_macro_component, + bare_die_component, + cable_component, + interconnect_module_component, + interconnect_module_macro_component, + packaged_component, + routed_interconnect_component, + routed_physical_component, + sequential_laminate_stackup_component ) + ANDOR + ONEOF ( + packaged_component, + routed_physical_component ) ) + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY physical_component_feature + SUPERTYPE OF ( + ONEOF ( + physical_component_terminal, + physical_component_interface_terminal ) ) + SUBTYPE OF ( component_feature ); + END_ENTITY; + + ENTITY physical_component_interface_terminal + SUBTYPE OF ( physical_component_feature ); + END_ENTITY; + + ENTITY physical_component_terminal + SUPERTYPE OF ( + ONEOF ( + assembly_module_macro_component_join_terminal, + interconnect_module_macro_component_join_terminal ) ) + SUBTYPE OF ( component_terminal, physical_component_feature ); + END_ENTITY; + + ENTITY physical_connectivity_definition + SUBTYPE OF ( shape_aspect ); + UNIQUE + ur1 : SELF\shape_aspect.name, SELF\shape_aspect.of_shape; + END_ENTITY; + + ENTITY physical_connectivity_definition_domain + SUBTYPE OF ( property_definition ); + END_ENTITY; + + ENTITY physical_connectivity_element + SUBTYPE OF ( shape_aspect_relationship, shape_aspect ); + END_ENTITY; + + ENTITY physical_connectivity_interrupting_cutout + SUBTYPE OF ( cutout ); + END_ENTITY; + + ENTITY physical_connectivity_layout_topology_link + SUBTYPE OF ( group_relationship ); + END_ENTITY; + + ENTITY physical_connectivity_layout_topology_node + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY physical_connectivity_layout_topology_requirement + SUBTYPE OF ( predefined_requirement_view_definition, group ); + END_ENTITY; + + ENTITY physical_connectivity_layout_topology_requirement_assignment + SUBTYPE OF ( requirement_assignment ); + END_ENTITY; + + ENTITY physical_element_usage + SUBTYPE OF ( breakdown_element_usage ); + END_ENTITY; + + ENTITY physical_network + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY physical_network_group + ABSTRACT SUPERTYPE OF ( + ONEOF ( + pre_defined_physical_network_group, + externally_defined_physical_network_group ) ) + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY physical_network_group_element_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + pre_defined_physical_network_group_element_relationship, + externally_defined_physical_network_group_element_relationship ) ) + SUBTYPE OF ( group_relationship ); + END_ENTITY; + + ENTITY physical_network_supporting_inter_stratum_feature + SUBTYPE OF ( plated_inter_stratum_feature ); + END_ENTITY; + + ENTITY physical_node_branch_requirement_to_implementing_component_allocation + SUBTYPE OF ( shape_aspect_relationship, shape_aspect ); + SELF\shape_aspect_relationship.related_shape_aspect : physical_connectivity_element; + SELF\shape_aspect.of_shape : assembly_component; + SELF\shape_aspect_relationship.relating_shape_aspect : part_connected_terminals_element; + DERIVE + implementation_component : assembly_component := SELF\shape_aspect.of_shape; + part_element : part_connected_terminals_element := SELF\shape_aspect_relationship. + relating_shape_aspect; + physical_node_branch_requirement : physical_connectivity_element := SELF\shape_aspect_relationship.related_shape_aspect; + END_ENTITY; + + ENTITY physical_node_requirement_to_implementing_component_allocation + SUBTYPE OF ( shape_aspect_relationship, shape_aspect ); + SELF\shape_aspect_relationship.relating_shape_aspect : physical_connectivity_definition; + WHERE + wr1: acyclic_shape_aspect_relationship( SELF, [SELF\shape_aspect_relationship.related_shape_aspect], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PHYSICAL_NODE_REQUIREMENT_TO_IMPLEMENTING_COMPONENT_ALLOCATION' ); + END_ENTITY; + + ENTITY physical_shield + SUBTYPE OF ( physical_component ); + END_ENTITY; + + ENTITY physical_unit + SUPERTYPE OF ( + ONEOF ( + bare_die, + package, + packaged_part, + assembly_module_design_view, + interconnect_module_design_view ) + ANDOR + ONEOF ( + package, + bare_die, + cable_usage_view, + packaged_part ) ) + SUBTYPE OF ( product_definition, product_definition_shape ); + DERIVE + SELF\property_definition.definition : physical_unit := SELF; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) = 0 ); + wr2: ( NOT EXISTS( SELF\property_definition.description ) ); + END_ENTITY; + + ENTITY physical_unit_interconnect_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY physical_unit_keepout_shape_allocation_to_stratum_stack + SUBTYPE OF ( representation, representation_relationship ); + END_ENTITY; + + ENTITY physical_unit_keepout_shape_allocation_to_stratum_technology + SUBTYPE OF ( representation ); + END_ENTITY; + + ENTITY physical_unit_network_definition + SUBTYPE OF ( physical_unit ); + END_ENTITY; + + ENTITY picture_representation + SUBTYPE OF ( presentation_view ); + SELF\representation.items : SET [2 : ?] OF picture_representation_item_select; + INVERSE + size : presentation_size FOR unit; + WHERE + wr1: ( SIZEOF( QUERY ( item <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' + IN TYPEOF( item ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( se <* QUERY ( item <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( item ) ) ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PICTURE_REPRESENTATION_ITEM' IN TYPEOF( se\ + styled_item.item ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY picture_representation_item + ABSTRACT SUPERTYPE OF ( + ONEOF ( + externally_defined_picture_representation_item, + predefined_picture_representation_item ) ) + SUBTYPE OF ( bytes_representation_item ); + END_ENTITY; + + ENTITY placed_datum_target_feature + SUBTYPE OF ( datum_target ); + DERIVE + representation_associations : SET [0 : ?] OF property_definition_representation := + get_shape_aspect_property_definition_representations( SELF ); + WHERE + wr1: ( SELF.description IN [ 'point', 'line', 'rectangle', 'circle', 'circular curve'] ); + wr2: ( SIZEOF( QUERY ( pdr <* representation_associations | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ); + wr3: valid_datum_target_parameters( SELF ); + END_ENTITY; + + ENTITY placed_feature + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY placement + SUPERTYPE OF ( + ONEOF ( + axis1_placement, + axis2_placement_2d, + axis2_placement_3d ) ) + SUBTYPE OF ( geometric_representation_item ); + location : cartesian_point; + END_ENTITY; + + ENTITY planar_box + SUBTYPE OF ( planar_extent ); + placement : axis2_placement; + END_ENTITY; + + ENTITY planar_closed_path_shape_representation_with_parameters + SUBTYPE OF ( planar_path_shape_representation_with_parameters ); + END_ENTITY; + + ENTITY planar_curve_pair + SUPERTYPE OF ( + ONEOF ( + sliding_curve_pair, + rolling_curve_pair ) + ANDOR + planar_curve_pair_range ) + SUBTYPE OF ( high_order_kinematic_pair ); + curve_1 : curve; + curve_2 : curve; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( curve_1 IN r.items ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( curve_2 IN r.items ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY planar_curve_pair_range + SUBTYPE OF ( planar_curve_pair ); + range_on_curve_1 : trimmed_curve; + range_on_curve_2 : trimmed_curve; + WHERE + wr1: ( SELF\planar_curve_pair.curve_1 :=: range_on_curve_1.basis_curve ); + wr2: ( SELF\planar_curve_pair.curve_2 :=: range_on_curve_2.basis_curve ); + wr3: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_curve_1 IN r.items ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( range_on_curve_2 IN r.items ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY planar_extent + SUBTYPE OF ( geometric_representation_item ); + size_in_x : length_measure; + size_in_y : length_measure; + END_ENTITY; + + ENTITY planar_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY planar_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : planar_pair; + actual_rotation : plane_angle_measure; + actual_translation_x : length_measure; + actual_translation_y : length_measure; + END_ENTITY; + + ENTITY planar_pair_with_range + SUBTYPE OF ( planar_pair ); + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + lower_limit_actual_translation_x : OPTIONAL length_measure; + upper_limit_actual_translation_x : OPTIONAL length_measure; + lower_limit_actual_translation_y : OPTIONAL length_measure; + upper_limit_actual_translation_y : OPTIONAL length_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_actual_translation_x ) ) OR ( NOT EXISTS( upper_limit_actual_translation_x ) ) ) XOR ( + lower_limit_actual_translation_x < upper_limit_actual_translation_x ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_actual_translation_y ) ) OR ( NOT EXISTS( upper_limit_actual_translation_y ) ) ) XOR ( + lower_limit_actual_translation_y < upper_limit_actual_translation_y ) ); + END_ENTITY; + + ENTITY planar_path_shape_representation_with_parameters + SUBTYPE OF ( single_area_csg_2d_shape_representation ); + END_ENTITY; + + ENTITY planar_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN + TYPEOF( it ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY plane + SUBTYPE OF ( elementary_surface ); + END_ENTITY; + + ENTITY plane_angle_and_length_pair + SUBTYPE OF ( founded_item ); + plane_angle_value : plane_angle_measure; + length_value : length_measure; + END_ENTITY; + + ENTITY plane_angle_and_ratio_pair + SUBTYPE OF ( founded_item ); + plane_angle_value : plane_angle_measure; + ratio_value : ratio_measure; + END_ENTITY; + + ENTITY plane_angle_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY plane_angle_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY plated_conductive_base_blind_via + SUBTYPE OF ( blind_via ); + END_ENTITY; + + ENTITY plated_cutout + SUBTYPE OF ( cutout, plated_inter_stratum_feature ); + END_ENTITY; + + ENTITY plated_cutout_edge_segment + SUBTYPE OF ( cutout_edge_segment, plated_inter_stratum_feature ); + END_ENTITY; + + ENTITY plated_inter_stratum_feature + SUPERTYPE OF ( + ONEOF ( + plated_cutout_edge_segment, + plated_interconnect_module_edge_segment, + plated_passage ) ) + SUBTYPE OF ( inter_stratum_feature ); + END_ENTITY; + + ENTITY plated_interconnect_module_edge + SUBTYPE OF ( interconnect_module_edge, plated_inter_stratum_feature ); + END_ENTITY; + + ENTITY plated_interconnect_module_edge_segment + SUBTYPE OF ( interconnect_module_edge_segment, plated_inter_stratum_feature ); + END_ENTITY; + + ENTITY plated_passage + SUPERTYPE OF ( + ONEOF ( + component_termination_passage, + via ) ) + SUBTYPE OF ( plated_inter_stratum_feature ); + END_ENTITY; + + ENTITY plated_passage_dependent_land + SUBTYPE OF ( inter_stratum_feature_dependent_land ); + END_ENTITY; + + ENTITY plus_expression + SUBTYPE OF ( multiple_arity_numeric_expression ); + END_ENTITY; + + ENTITY plus_minus_tolerance; + range : tolerance_method_definition; + toleranced_dimension : dimensional_characteristic; + UNIQUE + ur1 : toleranced_dimension; + END_ENTITY; + + ENTITY ply_laminate_sequence_definition + SUBTYPE OF ( product_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATING_PRODUCT_DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' ) IN + TYPEOF( pdr ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY ply_laminate_table + SUBTYPE OF ( part_laminate_table ); + END_ENTITY; + + ENTITY pocket + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF\characterized_object.description IN [ 'closed rectangular', 'open rectangular', 'complex', 'circular cutout', + 'complex cutout' , 'recess'] ); + wr2 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'pocket depth occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'path feature component usage' ) AND ( sar.name = + 'pocket depth' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = + 0 ); + wr3 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( 1 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 2 ) ) ) ) = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* pdr.used_representation.items | ( ( srwp_i. + name = 'orientation' ) OR ( srwp_i.name = 'fillet radius' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) + = 1 ) ) ) = 1 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( ( NOT ( SELF\characterized_object.description IN [ 'complex', 'non-circular cutout', 'recess'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE' ] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF\characterized_object.description = 'closed rectangular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'closed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' IN TYPEOF( sdr + .relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description = 'open rectangular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'open boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr10: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'pocket bottom usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET_BOTTOM' IN TYPEOF( + sdr.relating_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' IN + TYPEOF( sdr.related_shape_aspect.of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr11: ( ( NOT ( SELF\characterized_object.description IN [ 'complex', 'non-circular cutout', 'recess'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'change in boundary occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'taper usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr. + relating_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' IN + TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) AND ( fcr.related_shape_aspect.description IN [ + 'angle taper' , 'directed taper'] ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF\characterized_object.description = 'circular cutout' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'enclosed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF\characterized_object.description IN [ 'circular cutout', 'complex cutout'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'pocket bottom usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET_BOTTOM' IN TYPEOF( + sdr.relating_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' IN + TYPEOF( sdr.related_shape_aspect.of_shape.definition ) ) AND ( sdr.relating_shape_aspect.description = 'through' ) ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr14: ( ( NOT ( SELF\characterized_object.description = 'recess' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'pocket bottom usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET_BOTTOM' IN TYPEOF( + sdr.relating_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' IN + TYPEOF( sdr.related_shape_aspect.of_shape.definition ) ) AND ( sdr.relating_shape_aspect.description IN [ 'planar', + 'complex' ] ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr15: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + wr16: ( ( NOT ( SELF\characterized_object.description IN [ 'closed rectangular', 'open rectangular', 'complex', 'recess'] ) ) + OR ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( csa.name = 'uncut volume' ) AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROTRUSION' ] * TYPEOF( sar. + related_shape_aspect ) ) = 1 ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 1 ) ); + wr17: ( ( NOT ( SELF\characterized_object.description IN [ 'closed rectangular', 'open rectangular'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'change in boundary occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'taper usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr. + relating_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' IN + TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) AND ( fcr.related_shape_aspect.description IN [ + 'angle taper' , 'directed taper'] ) ) ) ) >= 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY pocket_bottom + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2 : ( SELF.description IN [ 'planar', 'complex', 'through'] ); + wr3 : ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor normal' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor location' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'floor face' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) <= 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'through' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'pocket bottom usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( fcr.related_shape_aspect.description = 'bottom condition occurrence' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' IN TYPEOF( fcr.related_shape_aspect. + of_shape.definition ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET_BOTTOM' + IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) >= 1 ); + wr11: ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'pocket bottom usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( fcr.related_shape_aspect.description = 'bottom condition occurrence' ) AND ( fcr. + related_shape_aspect.name IN [ 'pocket depth start', 'pocket depth end'] ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY pogc_with_dimension + SUBTYPE OF ( parallel_offset_geometric_constraint ); + offset_value : positive_length_measure; + offset_direction_constrained : BOOLEAN; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 1 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( ( NOT ( offset_direction_constrained = TRUE ) ) AND ( ( offset_type = curve_2d_offset ) OR ( offset_type = + surface_offset ) ) ); + END_ENTITY; + + ENTITY point + SUPERTYPE OF ( + ONEOF ( + cartesian_point, + point_on_curve, + point_on_surface, + point_replica, + degenerate_pcurve ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY point_and_vector + SUBTYPE OF ( compound_representation_item, geometric_representation_item ); + SELF\compound_representation_item.item_element : point_and_vector_members; + END_ENTITY; + + ENTITY point_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF point; + SELF\explicit_constraint.reference_elements : SET [0 : 4] OF point_curve_or_surface_constraint_element; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PDGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND + ( SIZEOF( SELF\explicit_constraint.constrained_elements ) = 2 ) ) ); + END_ENTITY; + + ENTITY point_on_curve + SUBTYPE OF ( point ); + basis_curve : curve; + point_parameter : parameter_value; + END_ENTITY; + + ENTITY point_on_edge_curve + SUBTYPE OF ( point_on_curve ); + basis_edge_curve : edge_curve; + DERIVE + SELF\point_on_curve.basis_curve : curve := SELF.basis_edge_curve.edge_geometry; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_edge_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) + > 0 ); + END_ENTITY; + + ENTITY point_on_face_surface + SUBTYPE OF ( point_on_surface ); + basis_face_surface : face_surface; + DERIVE + SELF\point_on_surface.basis_surface : surface := SELF.basis_face_surface.face_geometry; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_face_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) + > 0 ); + END_ENTITY; + + ENTITY point_on_planar_curve_pair + SUBTYPE OF ( high_order_kinematic_pair ); + pair_curve : curve; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( pair_curve IN r.items ) ) ) ) = + 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY point_on_planar_curve_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : point_on_planar_curve_pair; + actual_point_on_curve : point_on_curve; + input_orientation : spatial_rotation; + DERIVE + actual_orientation : ypr_rotation := convert_spatial_to_ypr_rotation( SELF\pair_value.applies_to_pair, input_orientation ); + WHERE + wr1: ( SELF\pair_value.applies_to_pair\point_on_planar_curve_pair.pair_curve :=: actual_point_on_curve.basis_curve ); + END_ENTITY; + + ENTITY point_on_planar_curve_pair_with_range + SUBTYPE OF ( point_on_planar_curve_pair ); + range_on_pair_curve : trimmed_curve; + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_pitch : OPTIONAL plane_angle_measure; + upper_limit_pitch : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_pitch ) ) OR ( NOT EXISTS( upper_limit_pitch ) ) ) XOR ( lower_limit_pitch < + upper_limit_pitch ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_pair_curve IN r.items ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY point_on_surface + SUBTYPE OF ( point ); + basis_surface : surface; + point_parameter_u : parameter_value; + point_parameter_v : parameter_value; + END_ENTITY; + + ENTITY point_on_surface_pair + SUBTYPE OF ( high_order_kinematic_pair ); + pair_surface : surface; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( pair_surface IN r.items ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY point_on_surface_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : point_on_surface_pair; + actual_point_on_surface : point_on_surface; + input_orientation : spatial_rotation; + DERIVE + actual_orientation : ypr_rotation := convert_spatial_to_ypr_rotation( SELF\pair_value.applies_to_pair, input_orientation ); + WHERE + wr1: ( SELF\pair_value.applies_to_pair\point_on_surface_pair.pair_surface :=: actual_point_on_surface.basis_surface ); + END_ENTITY; + + ENTITY point_on_surface_pair_with_range + SUBTYPE OF ( point_on_surface_pair ); + range_on_pair_surface : rectangular_trimmed_surface; + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_pitch : OPTIONAL plane_angle_measure; + upper_limit_pitch : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_pitch ) ) OR ( NOT EXISTS( upper_limit_pitch ) ) ) XOR ( lower_limit_pitch < + upper_limit_pitch ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_pair_surface IN r. + items ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY point_path + SUBTYPE OF ( compound_representation_item, geometric_representation_item ); + SELF\compound_representation_item.item_element : point_path_members; + END_ENTITY; + + ENTITY point_placement_shape_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF point_placement_shape_representation_item; + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'COMPOUND_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] + * TYPEOF( i ) ) = 1 ) ) ) > 0 ); + END_ENTITY; + + ENTITY point_replica + SUBTYPE OF ( point ); + parent_pt : point; + transformation : cartesian_transformation_operator; + WHERE + wr1: ( transformation.dim = parent_pt.dim ); + wr2: acyclic_point_replica( SELF, parent_pt ); + END_ENTITY; + + ENTITY point_style + SUBTYPE OF ( founded_item ); + name : label; + marker : marker_select; + marker_size : size_select; + marker_colour : colour; + END_ENTITY; + + ENTITY point_to_point_path + SUBTYPE OF ( path_node ); + DERIVE + SELF\kinematic_path_segment.transition : transition_code := discontinuous; + END_ENTITY; + + ENTITY polar_complex_number_region + SUBTYPE OF ( maths_space, generic_literal ); + centre : complex_number_literal; + distance_constraint : real_interval; + direction_constraint : finite_real_interval; + WHERE + wr1: ( min_exists( distance_constraint ) AND ( real_min( distance_constraint ) >= 0 ) ); + wr2: ( ( ( -PI ) <= direction_constraint.min ) AND ( direction_constraint.min < PI ) ); + wr3: ( ( direction_constraint.max - direction_constraint.min ) <= ( 2 * PI ) ); + wr4: ( ( ( direction_constraint.max - direction_constraint.min ) < ( 2 * PI ) ) OR ( direction_constraint.min_closure = + open ) ); + wr5: ( ( ( direction_constraint.max - direction_constraint.min ) < ( 2 * PI ) ) OR ( direction_constraint.max_closure = + open ) OR ( direction_constraint.min = ( -PI ) ) ); + wr6: ( ( real_min( distance_constraint ) > 0 ) OR max_exists( distance_constraint ) OR ( ( direction_constraint.max - + direction_constraint.min ) < ( 2 * PI ) ) OR ( direction_constraint.max_closure = open ) ); + END_ENTITY; + + ENTITY poly_loop + SUBTYPE OF ( loop, geometric_representation_item ); + polygon : LIST [3 : ?] OF UNIQUE cartesian_point; + END_ENTITY; + + ENTITY polygonal_area + SUBTYPE OF ( primitive_2d ); + bounds : LIST [3 : ?] OF UNIQUE cartesian_point; + END_ENTITY; + + ENTITY polyline + SUBTYPE OF ( bounded_curve ); + points : LIST [2 : ?] OF cartesian_point; + END_ENTITY; + + ENTITY port_variable + SUPERTYPE OF ( + ONEOF ( + across_port_variable, + through_port_variable, + transform_port_variable ) ) + SUBTYPE OF ( representation, representation_item ); + END_ENTITY; + + ENTITY position_tolerance + SUBTYPE OF ( geometric_tolerance ); + END_ENTITY; + + ENTITY positioned_sketch + SUBTYPE OF ( geometric_representation_item ); + sketch_basis : sketch_basis_select; + auxiliary_elements : SET [0 : ?] OF auxiliary_geometric_representation_item; + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF( + sketch_basis ) ) AND ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( + sketch_basis\curve_bounded_surface.basis_surface ) ) ) ) ); + wr2: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF( sketch_basis ) ) + AND ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( sketch_basis\ + face_surface.face_geometry ) ) ) ) ); + wr3: ( SIZEOF( QUERY ( q <* auxiliary_elements | ( SIZEOF( TYPEOF( q ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' ] ) = 0 ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( q <* auxiliary_elements | ( q\geometric_representation_item.dim <> 3 ) ) ) = 0 ); + END_ENTITY; + + ENTITY power_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY power_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY power_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.watt ) ); + END_ENTITY; + + ENTITY pre_defined_character_glyph + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_colour + SUBTYPE OF ( pre_defined_item, colour ); + END_ENTITY; + + ENTITY pre_defined_curve_font + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_dimension_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'arc length', 'conical taper', 'counterbore', 'countersink', 'depth', 'diameter', 'plus minus', + 'radius' , 'slope', 'spherical diameter', 'spherical radius', 'square'] ); + END_ENTITY; + + ENTITY pre_defined_geometrical_tolerance_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'angularity', 'basic dimension', 'blanked datum reference', 'circular runout', 'circularity', + 'concentricity' , 'cylindricity', 'datum target identification', 'diameter', 'filled datum reference', 'flatness', + 'least material condition' , 'maximum material condition', 'parallelism', 'perpendicularity', 'position', + 'profile of a line' , 'profile of a surface', 'projected tolerance zone', 'regardless of feature size', + 'straightness' , 'symmetry', 'total runout'] ); + END_ENTITY; + + ENTITY pre_defined_item; + name : label; + END_ENTITY; + + ENTITY pre_defined_marker + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_parallel_datum_axis_symbol_3d_2d_relationship + SUBTYPE OF ( shape_definition_3d_intersection ); + END_ENTITY; + + ENTITY pre_defined_perpendicular_datum_axis_symbol_3d_2d_relationship + SUBTYPE OF ( shape_definition_3d_intersection ); + END_ENTITY; + + ENTITY pre_defined_perpendicular_datum_plane_symbol_3d_2d_relationship + SUBTYPE OF ( shape_definition_3d_intersection ); + END_ENTITY; + + ENTITY pre_defined_physical_network_group + SUBTYPE OF ( physical_network_group ); + END_ENTITY; + + ENTITY pre_defined_physical_network_group_element_relationship + SUBTYPE OF ( physical_network_group_element_relationship ); + END_ENTITY; + + ENTITY pre_defined_point_marker_symbol + SUBTYPE OF ( pre_defined_marker, pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'asterisk', 'circle', 'dot', 'plus', 'square', 'triangle', 'x'] ); + END_ENTITY; + + ENTITY pre_defined_surface_condition_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ '000', '010', '020', '030', '040', '050', '060', '070', '001', '011', '021', '031', '041', '051', '061' , + '071' , '100', '110', '120', '130', '140', '150', '160', '170', '101', '111', '121', '131', '141', '151', '161', + '171' , '200', '210', '220', '230', '240', '250', '260', '270', '201', '211', '221', '231', '241', '251', '261', + '271' ] ); + END_ENTITY; + + ENTITY pre_defined_surface_side_style + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_symbol + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_terminator_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'blanked arrow', 'blanked box', 'blanked dot', 'blanked triangle', 'dimension origin', 'filled arrow', + 'filled box' , 'filled dot', 'integral symbol', 'open arrow', 'slash', 'unfilled arrow', 'unfilled triangle', + 'filled triangle' ] ); + END_ENTITY; + + ENTITY pre_defined_text_font + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_tile + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY precision_qualifier; + precision_value : INTEGER; + END_ENTITY; + + ENTITY predefined_picture_representation_item + SUBTYPE OF ( picture_representation_item ); + WHERE + wr1: ( SELF\representation_item.name IN pre_defined_picture_representation_types ); + END_ENTITY; + + ENTITY predefined_requirement_view_definition + SUPERTYPE OF ( + ONEOF ( + assembly_spacing_requirement, + assembly_group_spacing_requirement, + item_restricted_requirement, + layout_spacing_requirement ) + ANDOR + ONEOF ( + assembly_spacing_requirement, + assembly_group_spacing_requirement, + item_restricted_requirement ) ) + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY prescribed_path + SUBTYPE OF ( link_motion_representation_along_path ); + controlling_joints : OPTIONAL SET [1 : 6] OF kinematic_joint; + END_ENTITY; + + ENTITY presentation_area + SUBTYPE OF ( presentation_representation ); + WHERE + wr1: ( ( SIZEOF( QUERY ( ais <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'AREA_IN_SET.AREA' ) | ( SIZEOF( USEDIN( ais, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) ) = 1 ) ) ) > 0 ) OR ( SIZEOF( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) ) = 1 ) ); + END_ENTITY; + + ENTITY presentation_layer_assignment; + name : label; + description : text; + assigned_items : SET [1 : ?] OF layered_item; + END_ENTITY; + + ENTITY presentation_representation + SUPERTYPE OF ( + ONEOF ( + presentation_area, + presentation_view ) ) + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context; + WHERE + wr1: ( SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + wr2: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_AREA' IN TYPEOF( SELF ) ) OR ( + SIZEOF( QUERY ( prr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.REP_2' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_REPRESENTATION' IN TYPEOF( prr\representation_relationship.rep_1 ) ) ) ) > 0 ) OR ( SIZEOF( + QUERY ( rm <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_MAP.' + 'MAPPED_REPRESENTATION' ) | ( SIZEOF( QUERY ( mi <* USEDIN( rm, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MAPPED_ITEM.' + 'MAPPING_SOURCE' ) | ( + SIZEOF( QUERY ( rep <* using_representations( mi ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_REPRESENTATION' ) IN + TYPEOF( rep ) ) ) ) > 0 ) ) ) > 0 ) ) ) > 0 ) ); + END_ENTITY; + + ENTITY presentation_set; + INVERSE + areas : SET [1 : ?] OF area_in_set FOR in_set; + END_ENTITY; + + ENTITY presentation_size; + unit : presentation_size_assignment_select; + size : planar_box; + UNIQUE + ur1 : unit; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' IN TYPEOF( SELF + .unit ) ) AND item_in_context( SELF.size, SELF.unit\representation.context_of_items ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_IN_SET' IN TYPEOF( SELF.unit ) ) AND ( + SIZEOF( QUERY ( ais <* SELF.unit\area_in_set.in_set.areas | ( NOT item_in_context( SELF.size, ais.area\ + representation.context_of_items ) ) ) ) = 0 ) ) ); + END_ENTITY; + + ENTITY presentation_style_assignment + SUBTYPE OF ( founded_item ); + styles : SET [1 : ?] OF presentation_style_select; + WHERE + wr1: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( NOT ( SIZEOF( QUERY ( style2 <* ( SELF.styles - style1 ) | ( NOT ( ( + TYPEOF( style1 ) <> TYPEOF( style2 ) ) OR ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SURFACE_STYLE_USAGE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EXTERNALLY_DEFINED_STYLE'] * TYPEOF( + style1 ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SURFACE_STYLE_USAGE' IN TYPEOF( style1 ) ) ) ) <= 2 ); + wr3: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SURFACE_STYLE_USAGE' IN TYPEOF( style1 ) ) AND ( SIZEOF( QUERY ( style2 <* ( SELF.styles - style1 ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( style2 ) ) + AND ( ( style1\surface_style_usage.side = both ) OR ( style2\surface_style_usage.side = both ) OR ( style1\ + surface_style_usage.side = style2\surface_style_usage.side ) ) ) ) ) > 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY presentation_style_by_context + SUBTYPE OF ( presentation_style_assignment ); + style_context : style_context_select; + END_ENTITY; + + ENTITY presentation_view + SUBTYPE OF ( presentation_representation ); + END_ENTITY; + + ENTITY presented_item + ABSTRACT SUPERTYPE; + END_ENTITY; + + ENTITY presented_item_representation; + presentation : presentation_representation_select; + item : presented_item; + END_ENTITY; + + ENTITY pressure_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESSURE_UNIT' IN TYPEOF( SELF\measure_with_unit + .unit_component ) ); + END_ENTITY; + + ENTITY pressure_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.pascal ) ); + END_ENTITY; + + ENTITY previous_change_element_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : previous_element_assignment_select; + items : SET [1 : ?] OF change_management_object; + END_ENTITY; + + ENTITY primary_orientation_feature + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY primary_reference_terminal + SUBTYPE OF ( package_terminal ); + END_ENTITY; + + ENTITY primary_stratum_indicator_symbol + SUBTYPE OF ( single_stratum_special_symbol_component ); + END_ENTITY; + + ENTITY primitive_2d + SUPERTYPE OF ( + ONEOF ( + circular_area, + elliptic_area, + rectangular_area, + polygonal_area, + half_space_2d ) ) + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY primitive_2d_with_inner_boundary + SUBTYPE OF ( complex_area, compound_representation_item ); + SELF\compound_representation_item.item_element : compound_inner_area_boundary; + DERIVE + inner_boundary : compound_inner_area_boundary := item_element; + WHERE + wr1: ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_AREA', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPTIC_AREA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_AREA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYGONAL_AREA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_WITH_OUTER_BOUNDARY' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_AREA_WITH_PARAMETERS' ] * TYPEOF( SELF ) ) + > 0 ); + wr2: ( SIZEOF( QUERY ( inner <* inner_boundary | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRIMITIVE_2D_WITH_INNER_BOUNDARY' IN TYPEOF( inner ) ) ) ) = 0 ); + wr3: open_path_based_inner_boundary( inner_boundary ); + END_ENTITY; + + ENTITY printed_component + ABSTRACT SUPERTYPE OF ( + ONEOF ( + single_stratum_printed_component, + basic_multi_stratum_printed_component, + multi_stratum_printed_component ) ) + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY printed_connector_component + SUBTYPE OF ( printed_component ); + END_ENTITY; + + ENTITY printed_connector_template + SUBTYPE OF ( printed_part_template ); + END_ENTITY; + + ENTITY printed_connector_template_terminal_relationship + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + UNIQUE + ur1 : SELF\shape_aspect_relationship.relating_shape_aspect, SELF\shape_aspect_relationship.related_shape_aspect; + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + END_ENTITY; + + ENTITY printed_part_cross_section_template + SUBTYPE OF ( printed_part_template ); + END_ENTITY; + + ENTITY printed_part_cross_section_template_terminal + SUBTYPE OF ( printed_part_template_terminal ); + END_ENTITY; + + ENTITY printed_part_template + ABSTRACT SUPERTYPE OF ( + ONEOF ( + basic_multi_stratum_printed_part_template, + structured_printed_part_template ) + ANDOR + printed_connector_template ) + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY printed_part_template_connected_terminals_definition + SUBTYPE OF ( shape_aspect ); + UNIQUE + ur1 : SELF\shape_aspect.name; + END_ENTITY; + + ENTITY printed_part_template_material + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY printed_part_template_material_link + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : template_material_cross_section_boundary; + SELF\shape_aspect_relationship.related_shape_aspect : template_material_cross_section_boundary; + UNIQUE + ur1 : SELF\shape_aspect_relationship.related_shape_aspect, SELF\shape_aspect_relationship.relating_shape_aspect; + WHERE + wr1: ( SELF\shape_aspect_relationship.related_shape_aspect :<>: SELF\shape_aspect_relationship.relating_shape_aspect ); + END_ENTITY; + + ENTITY printed_part_template_terminal + SUPERTYPE OF ( + printed_part_cross_section_template_terminal + ANDOR + structured_printed_part_template_terminal ) + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY printed_part_template_terminal_connection_zone_category + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY printed_tiebar_template + SUBTYPE OF ( structured_printed_part_template ); + END_ENTITY; + + ENTITY prismatic_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; + END_ENTITY; + + ENTITY prismatic_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : prismatic_pair; + actual_translation : length_measure; + END_ENTITY; + + ENTITY prismatic_pair_with_range + SUBTYPE OF ( prismatic_pair ); + lower_limit_actual_translation : OPTIONAL length_measure; + upper_limit_actual_translation : OPTIONAL length_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_translation ) ) OR ( NOT EXISTS( upper_limit_actual_translation ) ) ) XOR ( + lower_limit_actual_translation < upper_limit_actual_translation ) ); + END_ENTITY; + + ENTITY probe_access_area + SUBTYPE OF ( laminate_component, shape_aspect ); + DERIVE + SELF\shape_aspect.of_shape : probe_access_area := SELF; + END_ENTITY; + + ENTITY procedural_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF procedural_representation_sequence; + END_ENTITY; + + ENTITY procedural_representation_sequence + SUBTYPE OF ( representation_item ); + elements : LIST [1 : ?] OF representation_item; + suppressed_items : SET [0 : ?] OF representation_item; + rationale : text; + WHERE + wr1: ( SIZEOF( QUERY ( q <* suppressed_items | ( NOT ( q IN elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY procedural_shape_representation + SUBTYPE OF ( procedural_representation, shape_representation ); + SELF\representation.items : SET [1 : ?] OF procedural_shape_representation_sequence; + END_ENTITY; + + ENTITY procedural_shape_representation_sequence + SUBTYPE OF ( geometric_representation_item, procedural_representation_sequence ); + SELF\procedural_representation_sequence.elements : LIST [1 : ?] OF shape_representation_item; + END_ENTITY; + + ENTITY process_operation + SUBTYPE OF ( action_method ); + WHERE + wr1: ( SIZEOF( QUERY ( amr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ACTION_METHOD_RELATIONSHIP.' + 'RELATING_METHOD' ) | ( ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_OPERATION' IN TYPEOF( amr\ + action_method_relationship.related_method ) ) ) OR ( SELF :=: amr\action_method_relationship.related_method ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( amr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ACTION_METHOD_RELATIONSHIP.' + 'RELATED_METHOD' ) | ( ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_OPERATION' IN TYPEOF( amr\ + action_method_relationship.relating_method ) ) ) OR ( SELF :=: amr\action_method_relationship.relating_method ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY process_plan + SUBTYPE OF ( action ); + WHERE + wr1: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ACTION_RELATIONSHIP.RELATED_ACTION' ) | ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_PLAN' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar. + relating_action ) ) <> 1 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ACTION_RELATIONSHIP.RELATING_ACTION' ) | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_PLAN' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar. + related_action ) ) = 1 ) OR ( ( ar.name = 'process operation occurrence' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_OPERATION' IN TYPEOF( ar. + related_action.chosen_method ) ) ) ) ) ) = SIZEOF( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.RELATING_ACTION' ) ) ); + END_ENTITY; + + ENTITY process_product_association; + name : label; + description : text; + defined_product : characterized_product_definition; + process : product_definition_process; + END_ENTITY; + + ENTITY process_property_association; + name : label; + description : text; + process : property_process; + property_or_shape : property_or_shape_select; + END_ENTITY; + + ENTITY product; + id : identifier; + name : label; + description : OPTIONAL text; + frame_of_reference : SET [1 : ?] OF product_context; + END_ENTITY; + + ENTITY product_as_planned + SUBTYPE OF ( product_definition_formation ); + END_ENTITY; + + ENTITY product_category; + name : label; + description : OPTIONAL text; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY product_category_relationship; + name : label; + description : OPTIONAL text; + category : product_category; + sub_category : product_category; + WHERE + wr1: acyclic_product_category_relationship( SELF, [SELF.sub_category] ); + END_ENTITY; + + ENTITY product_class + SUBTYPE OF ( product_concept, characterized_object ); + END_ENTITY; + + ENTITY product_concept; + id : identifier; + name : label; + description : OPTIONAL text; + market_context : product_concept_context; + UNIQUE + ur1 : id; + END_ENTITY; + + ENTITY product_concept_context + SUBTYPE OF ( application_context_element ); + market_segment_type : label; + END_ENTITY; + + ENTITY product_concept_feature; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY product_concept_feature_association; + name : label; + description : OPTIONAL text; + concept : product_concept; + feature : product_concept_feature; + END_ENTITY; + + ENTITY product_concept_feature_category + SUBTYPE OF ( group ); + WHERE + wr1: ( SIZEOF( QUERY ( aga <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GROUP_ASSIGNMENT.ASSIGNED_GROUP' ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'APPLIED_GROUP_ASSIGNMENT' ) IN TYPEOF( aga ) ) AND ( ( aga\group_assignment.role\object_role.name <> + 'specification category member' ) OR ( SIZEOF( QUERY ( i <* aga\applied_group_assignment.items | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_CONCEPT_FEATURE' ) IN TYPEOF( i ) ) + AND ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE' ) + IN TYPEOF( i ) ) ) ) ) ) <> SIZEOF( aga\applied_group_assignment.items ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY product_concept_feature_category_usage + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : product_concept_feature_category; + items : SET [1 : ?] OF category_usage_item; + WHERE + wr1: ( SELF.role.name IN [ 'mandatory category usage', 'optional category usage'] ); + END_ENTITY; + + ENTITY product_concept_relationship; + name : label; + description : OPTIONAL text; + relating_product_concept : product_concept; + related_product_concept : product_concept; + END_ENTITY; + + ENTITY product_context + SUBTYPE OF ( application_context_element ); + discipline_type : label; + END_ENTITY; + + ENTITY product_data_and_data_quality_relationship; + description : text; + product_data : product_definition; + data_quality : data_quality_definition; + END_ENTITY; + + ENTITY product_definition + SUPERTYPE OF ( + ONEOF ( + composite_assembly_sequence_definition, + laminate_table, + ply_laminate_sequence_definition ) + ANDOR + ONEOF ( + physical_unit, + stratum ) ); + id : identifier; + description : OPTIONAL text; + formation : product_definition_formation; + frame_of_reference : product_definition_context; + DERIVE + name : label := get_name_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY product_definition_context + SUBTYPE OF ( application_context_element ); + life_cycle_stage : label; + END_ENTITY; + + ENTITY product_definition_context_association; + definition : product_definition; + frame_of_reference : product_definition_context; + role : product_definition_context_role; + END_ENTITY; + + ENTITY product_definition_context_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY product_definition_effectivity + SUBTYPE OF ( effectivity ); + usage : product_definition_relationship; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EFFECTIVITY_ASSIGNMENT.ASSIGNED_EFFECTIVITY' ) ) = 0 ); + END_ENTITY; + + ENTITY product_definition_element_relationship + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY product_definition_formation; + id : identifier; + description : OPTIONAL text; + of_product : product; + UNIQUE + ur1 : id, of_product; + END_ENTITY; + + ENTITY product_definition_formation_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_product_definition_formation : product_definition_formation; + related_product_definition_formation : product_definition_formation; + END_ENTITY; + + ENTITY product_definition_formation_with_specified_source + SUBTYPE OF ( product_definition_formation ); + make_or_buy : source; + END_ENTITY; + + ENTITY product_definition_group_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : product_definition_element_relationship; + items : SET [1 : 1] OF product_definition_or_product_definition_relationship; + END_ENTITY; + + ENTITY product_definition_kinematics + SUBTYPE OF ( property_definition ); + SELF\property_definition.definition : product_definition; + INVERSE + representation_relation : kinematic_property_definition_representation FOR definition; + UNIQUE + ur1 : definition; + END_ENTITY; + + ENTITY product_definition_occurrence_relationship; + name : label; + description : OPTIONAL text; + occurrence : product_definition; + occurrence_usage : assembly_component_usage; + WHERE + wr1: ( occurrence_usage.relating_product_definition :<>: occurrence ); + wr2: ( occurrence_usage.related_product_definition :<>: occurrence ); + wr3: ( occurrence.formation :=: occurrence_usage.related_product_definition.formation ); + END_ENTITY; + + ENTITY product_definition_process + SUBTYPE OF ( action ); + identification : identifier; + INVERSE + product_definitions : SET [1 : ?] OF process_product_association FOR process; + END_ENTITY; + + ENTITY product_definition_reference + SUBTYPE OF ( generic_product_definition_reference ); + product_id : identifier; + product_definition_formation_id : identifier; + product_definition_id : identifier; + id_owning_organization_name : OPTIONAL label; + END_ENTITY; + + ENTITY product_definition_reference_with_local_representation + SUBTYPE OF ( generic_product_definition_reference, product_definition ); + END_ENTITY; + + ENTITY product_definition_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_product_definition : product_definition_or_reference; + related_product_definition : product_definition_or_reference; + END_ENTITY; + + ENTITY product_definition_relationship_kinematics + SUBTYPE OF ( property_definition ); + SELF\property_definition.definition : product_definition_relationship; + UNIQUE + ur1 : definition; + END_ENTITY; + + ENTITY product_definition_resource + SUBTYPE OF ( action_resource, product_definition ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REQUIREMENT_FOR_ACTION_RESOURCE.RESOURCES' ) ) > 0 ); + wr2: ( SELF.frame_of_reference.name IN [ 'part definition', 'part occurrence', 'physical occurrence'] ); + END_ENTITY; + + ENTITY product_definition_shape + SUBTYPE OF ( property_definition ); + UNIQUE + ur1 : SELF\property_definition.definition; + WHERE + wr1: ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_PRODUCT_DEFINITION', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_OBJECT' ] * TYPEOF( SELF\ + property_definition.definition ) ) > 0 ); + END_ENTITY; + + ENTITY product_definition_substitute; + description : OPTIONAL text; + context_relationship : product_definition_relationship; + substitute_definition : product_definition; + DERIVE + name : label := get_name_value( SELF ); + WHERE + wr1: ( context_relationship.related_product_definition :<>: substitute_definition ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY product_definition_usage + SUPERTYPE OF ( + ONEOF ( + make_from_usage_option, + assembly_component_usage ) ) + SUBTYPE OF ( product_definition_relationship ); + UNIQUE + ur1 : SELF\product_definition_relationship.id, SELF\product_definition_relationship.relating_product_definition, SELF\ + product_definition_relationship.related_product_definition; + WHERE + wr1: acyclic_product_definition_relationship( SELF, [SELF\product_definition_relationship.related_product_definition], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_USAGE' ); + END_ENTITY; + + ENTITY product_definition_with_associated_documents + SUBTYPE OF ( product_definition ); + documentation_ids : SET [1 : ?] OF document; + END_ENTITY; + + ENTITY product_design_to_individual + SUBTYPE OF ( product_relationship ); + DERIVE + individual_product : product := SELF\product_relationship.related_product; + product_design : product := SELF\product_relationship.relating_product; + END_ENTITY; + + ENTITY product_design_version_to_individual + SUBTYPE OF ( product_definition_formation_relationship ); + DERIVE + individual_product : product_definition_formation := SELF\product_definition_formation_relationship. + related_product_definition_formation; + product_design_version : product_definition_formation := SELF\product_definition_formation_relationship. + relating_product_definition_formation; + END_ENTITY; + + ENTITY product_identification + SUBTYPE OF ( configuration_item, characterized_object ); + SELF\configuration_item.item_concept : product_class; + WHERE + wr1: ( SIZEOF( QUERY ( cd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONFIGURATION_DESIGN.CONFIGURATION' ) | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION' ) IN + TYPEOF( cd.design ) ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( cd.design\product_definition_formation.of_product, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) + | ( prpc.name IN [ 'part', 'raw material', 'tool'] ) ) ) > 0 ) ) ) ) <= 1 ); + wr2: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONFIGURABLE_ITEM' ) IN TYPEOF( + SELF ) ) ) XOR ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_SPECIFICATION' ) + IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY product_material_composition_relationship + SUBTYPE OF ( product_definition_relationship ); + class : label; + constituent_amount : SET [1 : ?] OF characterized_product_composition_value; + composition_basis : label; + determination_method : text; + END_ENTITY; + + ENTITY product_planned_to_realized + SUBTYPE OF ( product_definition_formation_relationship ); + DERIVE + planned_product : product_definition_formation := SELF\product_definition_formation_relationship. + relating_product_definition_formation; + realized_product : product_definition_formation := SELF\product_definition_formation_relationship. + related_product_definition_formation; + END_ENTITY; + + ENTITY product_process_plan + SUBTYPE OF ( product_definition_process ); + WHERE + wr1: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ACTION_RELATIONSHIP.RELATED_ACTION' ) | ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_PLAN' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar. + relating_action ) ) <> 1 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ACTION_RELATIONSHIP.RELATING_ACTION' ) | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_PLAN' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar. + related_action ) ) = 1 ) OR ( ( ar.name = 'process operation occurrence' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_OPERATION' IN TYPEOF( ar. + related_action.chosen_method ) ) ) ) ) ) = SIZEOF( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.RELATING_ACTION' ) ) ); + wr3: ( SIZEOF( QUERY ( ppa <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROCESS_PRODUCT_ASSOCIATION.PROCESS' ) | ( ( ppa.name <> 'produced output' ) OR ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( ppa. + defined_product ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY product_related_product_category + SUBTYPE OF ( product_category ); + products : SET [1 : ?] OF product; + END_ENTITY; + + ENTITY product_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_product : product; + related_product : product; + END_ENTITY; + + ENTITY product_specific_parameter_value_assignment + SUBTYPE OF ( characterized_object, product_related_product_category ); + END_ENTITY; + + ENTITY product_specification + SUBTYPE OF ( product_identification, configurable_item ); + END_ENTITY; + + ENTITY profile_floor + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2 : ( SELF.description IN [ 'planar', 'complex', 'through'] ); + wr3 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 1 ) ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF.description = 'through' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'profile floor usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTSIDE_PROFILE' IN TYPEOF( + fcr.related_shape_aspect.of_shape.definition ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROFILE_FLOOR' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + wr8 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'shape profile floor orientation' ) AND ( it.description IN [ 'shape profile start', + 'shape profile end' ] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'floor' ) ) ) ) = 1 ) ) ) ) = 1 ) ); + wr10: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'floor' ) ) ) ) = 1 ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY projected_zone_definition + SUBTYPE OF ( tolerance_zone_definition ); + projection_end : shape_aspect; + projected_length : length_measure_with_unit; + WHERE + wr1: ( ( 'NUMBER' IN TYPEOF( projected_length\measure_with_unit.value_component ) ) AND ( projected_length\ + measure_with_unit.value_component > 0 ) ); + wr2: ( derive_dimensional_exponents( projected_length\measure_with_unit.unit_component ) = dimensional_exponents( 1, 0, 0, + 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY projected_zone_definition_with_offset + SUBTYPE OF ( projected_zone_definition ); + offset : length_measure_with_unit; + END_ENTITY; + + ENTITY projection_curve + SUBTYPE OF ( annotation_curve_occurrence ); + END_ENTITY; + + ENTITY projection_directed_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( p_1 <* SELF\draughting_callout.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN TYPEOF( p_1 ) ) ) ) <= 2 ); + wr2: ( SIZEOF( SELF\draughting_callout.contents ) >= 2 ); + END_ENTITY; + + ENTITY promissory_usage_occurrence + SUBTYPE OF ( assembly_component_usage ); + END_ENTITY; + + ENTITY property_definition + SUPERTYPE OF ( + ONEOF ( + stratum_technology_occurrence_relationship, + stratum_technology_occurrence ) + ANDOR + ONEOF ( + product_definition_kinematics, + product_definition_relationship_kinematics, + product_definition_shape ) ); + name : label; + description : OPTIONAL text; + definition : characterized_definition; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY property_definition_relationship + SUPERTYPE OF ( + ONEOF ( + stratum_technology_occurrence_relationship, + stratum_technology_swap_relationship ) ); + name : label; + description : text; + relating_property_definition : property_definition; + related_property_definition : property_definition; + END_ENTITY; + + ENTITY property_definition_representation; + definition : represented_definition; + used_representation : representation; + DERIVE + description : text := get_description_value( SELF ); + name : label := get_name_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY property_process + SUBTYPE OF ( action ); + identification : identifier; + INVERSE + properties : SET [1 : ?] OF process_property_association FOR process; + END_ENTITY; + + ENTITY protocol_physical_layer_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY protocol_physical_layer_definition_with_characterization + SUBTYPE OF ( protocol_physical_layer_definition ); + END_ENTITY; + + ENTITY protocol_requirement_allocation_to_part_terminal + SUBTYPE OF ( requirement_assignment ); + END_ENTITY; + + ENTITY protrusion + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'shape volume occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'volume shape usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( sdr.relating_shape_aspect.description = 'volume shape' ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY qualified_representation_item + SUBTYPE OF ( representation_item ); + qualifiers : SET [1 : ?] OF value_qualifier; + WHERE + wr1: ( SIZEOF( QUERY ( temp <* qualifiers | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRECISION_QUALIFIER' IN TYPEOF( temp ) ) ) ) < 2 ); + END_ENTITY; + + ENTITY qualitative_uncertainty + SUBTYPE OF ( uncertainty_qualifier ); + uncertainty_value : text; + END_ENTITY; + + ENTITY quantified_assembly_component_usage + SUBTYPE OF ( assembly_component_usage ); + quantity : measure_with_unit; + WHERE + wr1: ( ( NOT ( 'NUMBER' IN TYPEOF( quantity.value_component ) ) ) OR ( quantity.value_component > 0 ) ); + END_ENTITY; + + ENTITY quantifier_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( multiple_arity_generic_expression ); + variables : LIST [1 : ?] OF UNIQUE generic_variable; + WHERE + wr1: ( SIZEOF( QUERY ( vrbl <* variables | ( NOT ( vrbl IN SELF\multiple_arity_generic_expression.operands ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( vrbl <* variables | ( NOT ( ( schema_prefix + 'BOUND_VARIABLE_SEMANTICS' ) IN TYPEOF( vrbl. + interpretation.semantics ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY quasi_uniform_curve + SUBTYPE OF ( b_spline_curve ); + END_ENTITY; + + ENTITY quasi_uniform_surface + SUBTYPE OF ( b_spline_surface ); + END_ENTITY; + + ENTITY rack_and_pinion_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + pinion_radius : length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY rack_and_pinion_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : rack_and_pinion_pair; + actual_displacement : length_measure; + DERIVE + actual_rotation : plane_angle_measure := 0; + END_ENTITY; + + ENTITY rack_and_pinion_pair_with_range + SUBTYPE OF ( rack_and_pinion_pair ); + lower_limit_rack_displacement : OPTIONAL length_measure; + upper_limit_rack_displacement : OPTIONAL length_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_rack_displacement ) ) OR ( NOT EXISTS( upper_limit_rack_displacement ) ) ) XOR ( + lower_limit_rack_displacement < upper_limit_rack_displacement ) ); + END_ENTITY; + + ENTITY radioactivity_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIOACTIVITY_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY radioactivity_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.becquerel ) ); + END_ENTITY; + + ENTITY radius_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( con <* SELF.contents | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROJECTION_CURVE' IN TYPEOF( con ) ) ) ) <= 1 ); + END_ENTITY; + + ENTITY radius_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF radial_geometry_constraint_element; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY range_characteristic + SUBTYPE OF ( representation, descriptive_representation_item ); + WHERE + wr1: ( NOT ( SELF\representation.name IN [ 'tolerance', 'minimum tolerance', 'maximum tolerance', 'nominal tolerance', + 'plus minus tolerance' , 'symmetrical tolerance', 'statistical tolerance'] ) ); + END_ENTITY; + + ENTITY ratio_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY ratio_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY rational_b_spline_curve + SUBTYPE OF ( b_spline_curve ); + weights_data : LIST [2 : ?] OF REAL; + DERIVE + weights : ARRAY [0 : upper_index_on_control_points] OF REAL := list_to_array( weights_data, 0, + upper_index_on_control_points ); + WHERE + wr1: ( SIZEOF( weights_data ) = SIZEOF( SELF\b_spline_curve.control_points_list ) ); + wr2: curve_weights_positive( SELF ); + END_ENTITY; + + ENTITY rational_b_spline_surface + SUBTYPE OF ( b_spline_surface ); + weights_data : LIST [2 : ?] OF LIST [2 : ?] OF REAL; + DERIVE + weights : ARRAY [0 : u_upper] OF ARRAY [0 : v_upper] OF REAL := make_array_of_array( weights_data, 0, u_upper, 0, v_upper ); + WHERE + wr1: ( ( SIZEOF( weights_data ) = SIZEOF( SELF\b_spline_surface.control_points_list ) ) AND ( SIZEOF( weights_data[1] ) = + SIZEOF( SELF\b_spline_surface.control_points_list[1] ) ) ); + wr2: surface_weights_positive( SELF ); + END_ENTITY; + + ENTITY rational_representation_item + SUBTYPE OF ( representation_item, slash_expression ); + WHERE + wr1: ( SIZEOF( QUERY ( operand <* SELF\binary_generic_expression.operands | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_LITERAL' IN TYPEOF( operand ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rationalize_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + DERIVE + fun : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: ( ( space_dimension( fun.domain ) = 1 ) AND ( space_dimension( fun.range ) = 1 ) ); + wr2: number_tuple_subspace_check( factor1( fun.range ) ); + wr3: ( space_dimension( factor1( fun.range ) ) > 1 ); + END_ENTITY; + + ENTITY real_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( numeric_defined_function ); + END_ENTITY; + + ENTITY real_interval_from_min + SUBTYPE OF ( maths_space, generic_literal ); + min : REAL; + min_closure : open_closed; + END_ENTITY; + + ENTITY real_interval_to_max + SUBTYPE OF ( maths_space, generic_literal ); + max : REAL; + max_closure : open_closed; + END_ENTITY; + + ENTITY real_literal + SUBTYPE OF ( literal_number ); + SELF\literal_number.the_value : REAL; + END_ENTITY; + + ENTITY real_numeric_variable + SUBTYPE OF ( numeric_variable ); + END_ENTITY; + + ENTITY real_representation_item + SUBTYPE OF ( representation_item, real_literal ); + END_ENTITY; + + ENTITY real_tuple_literal + SUBTYPE OF ( generic_literal ); + lit_value : LIST [1 : ?] OF REAL; + END_ENTITY; + + ENTITY rectangular_area + SUBTYPE OF ( primitive_2d ); + position : axis2_placement_2d; + x : positive_length_measure; + y : positive_length_measure; + END_ENTITY; + + ENTITY rectangular_array_placement_group_component + SUBTYPE OF ( array_placement_group ); + END_ENTITY; + + ENTITY rectangular_closed_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( ( SIZEOF( impl_rep.used_representation.items ) >= 3 ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 4 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* pdr.used_representation.items | ( ( srwp_i.name + = 'orientation' ) OR ( srwp_i.name = 'length' ) OR ( srwp_i.name = 'width' ) OR ( srwp_i.name = 'corner radius' ) ) ) ) + = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'corner radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rectangular_composite_array_shape_aspect + SUBTYPE OF ( composite_array_shape_aspect ); + END_ENTITY; + + ENTITY rectangular_composite_surface + SUBTYPE OF ( bounded_surface ); + segments : LIST [1 : ?] OF LIST [1 : ?] OF surface_patch; + DERIVE + n_u : INTEGER := SIZEOF( segments ); + n_v : INTEGER := SIZEOF( segments[1] ); + WHERE + wr1: ( SIZEOF( QUERY ( s <* segments | ( n_v <> SIZEOF( s ) ) ) ) = 0 ); + wr2: constraints_rectangular_composite_surface( SELF ); + END_ENTITY; + + ENTITY rectangular_composite_surface_transition_locator + SUBTYPE OF ( founded_item ); + basis_surface : rectangular_composite_surface; + surface_parameter : u_or_v_parameter; + u_transition_index : INTEGER; + v_transition_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY rectangular_pattern + SUBTYPE OF ( replicate_feature ); + WHERE + wr1 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr. + related_shape_aspect ) ) ) ) = 1 ) ) ) <= 5 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'row layout direction' ) ) ) ) = 1 ) ) ) ) + = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'column layout direction' ) ) ) ) = 1 ) ) ) ) + = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 5 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'number of rows' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'number of columns' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'row spacing' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'column spacing' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rectangular_trimmed_surface + SUBTYPE OF ( bounded_surface ); + basis_surface : surface; + u1 : parameter_value; + u2 : parameter_value; + v1 : parameter_value; + v2 : parameter_value; + usense : BOOLEAN; + vsense : BOOLEAN; + WHERE + wr1: ( u1 <> u2 ); + wr2: ( v1 <> v2 ); + wr3: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF( basis_surface ) ) + AND ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( basis_surface ) ) ) ) + OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF( + basis_surface ) ) OR ( usense = ( u2 > u1 ) ) ); + wr4: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPHERICAL_SURFACE' IN TYPEOF( basis_surface ) ) + OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TOROIDAL_SURFACE' IN TYPEOF( basis_surface ) ) + OR ( vsense = ( v2 > v1 ) ) ); + END_ENTITY; + + ENTITY reference_composition_path + SUBTYPE OF ( applied_group_assignment, product_definition ); + END_ENTITY; + + ENTITY reference_graphic_registration_mark + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF\shape_aspect.product_definitional = FALSE ); + END_ENTITY; + + ENTITY referenced_modified_datum + SUBTYPE OF ( datum_reference ); + modifier : limit_condition; + END_ENTITY; + + ENTITY region_based_derived_pattern + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY reindexed_array_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + starting_indices : LIST [1 : ?] OF INTEGER; + WHERE + wr1: function_is_array( SELF\unary_generic_expression.operand ); + wr2: ( SIZEOF( starting_indices ) = SIZEOF( shape_of_array( SELF\unary_generic_expression.operand ) ) ); + END_ENTITY; + + ENTITY relative_event_occurrence + SUBTYPE OF ( event_occurrence ); + base_event : event_occurrence; + offset : time_measure_with_unit; + END_ENTITY; + + ENTITY removal_volume + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'shape volume occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'volume shape usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( sdr.relating_shape_aspect.description = 'volume shape' ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rep_item_group + SUBTYPE OF ( group, representation_item ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRESENTATION_LAYER_ASSIGNMENT.' + 'ASSIGNED_ITEMS' ) ) > 0 ); + wr2: ( SIZEOF( QUERY ( r <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION.' + 'ITEMS' ) | ( r.name = 'group representation' ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( ga <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GROUP_ASSIGNMENT.' + 'ASSIGNED_GROUP' ) | ( ga.role.name <> 'group membership' ) ) ) = 0 ); + wr4: ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'TOPOLOGICAL_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MAPPED_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'STYLED_ITEM'] * TYPEOF( SELF ) ) = 1 ); + END_ENTITY; + + ENTITY repackaging_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + input_repack : repackage_options; + output_repack : repackage_options; + selected_output : nonnegative_integer; + WHERE + wr1: ( ( input_repack <> ro_wrap_as_tuple ) OR ( ( space_dimension( operand.domain ) = 1 ) AND ( ( schema_prefix + + 'TUPLE_SPACE' ) IN TYPEOF( factor1( operand.domain ) ) ) ) ); + wr2: ( ( output_repack <> ro_unwrap_tuple ) OR ( ( space_dimension( operand.range ) = 1 ) AND ( ( schema_prefix + + 'TUPLE_SPACE' ) IN TYPEOF( factor1( operand.range ) ) ) ) ); + wr3: ( selected_output <= space_dimension( repackage( operand.range, output_repack ) ) ); + END_ENTITY; + + ENTITY reparametrised_composite_curve_segment + SUBTYPE OF ( composite_curve_segment ); + param_length : parameter_value; + WHERE + wr1: ( param_length > 0 ); + END_ENTITY; + + ENTITY replicate_feature + SUPERTYPE OF ( + ONEOF ( + circular_pattern, + rectangular_pattern, + feature_pattern ) ) + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPLICATE_FEATURE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INSTANCED_FEATURE' ] * TYPEOF( fcr. + related_shape_aspect ) ) >= 1 ) AND ( fcr.name = 'pattern basis' ) ) ) ) = 1 ); + wr3: ( ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) ) + SIZEOF( QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY repositioned_neutral_sketch + SUBTYPE OF ( mapped_item, geometric_representation_item ); + DERIVE + map : representation_map := SELF\mapped_item.mapping_source; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' IN TYPEOF( map. + mapped_representation ) ); + wr2: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D' IN TYPEOF( map. + mapping_origin ) ); + wr3: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( SELF\mapped_item. + mapping_target ) ); + END_ENTITY; + + ENTITY repositioned_tessellated_item + SUBTYPE OF ( tessellated_item ); + location : axis2_placement_3d; + WHERE + wr1: ( NOT ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_CURVE_SET', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_GEOMETRIC_SET' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_POINT_SET' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_SURFACE_SET' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_SHELL' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_SOLID' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_WIRE' ] * TYPEOF( SELF ) ) = 0 ) ); + END_ENTITY; + + ENTITY representation + SUPERTYPE OF ( + ONEOF ( + interpolated_configuration_representation, + link_motion_representation_along_path ) + ANDOR + ONEOF ( + kinematic_link_representation, + kinematic_topology_structure, + kinematic_topology_directed_structure, + kinematic_topology_network_structure, + mechanism_representation, + shape_representation ) + ANDOR + ONEOF ( + kinematic_topology_structure, + kinematic_topology_directed_structure, + kinematic_topology_network_structure ) ); + name : label; + items : SET [1 : ?] OF representation_item; + context_of_items : representation_context; + DERIVE + id : identifier := get_id_value( SELF ); + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY representation_context; + context_identifier : identifier; + context_type : text; + INVERSE + representations_in_context : SET [1 : ?] OF representation FOR context_of_items; + END_ENTITY; + + ENTITY representation_item + SUPERTYPE OF ( + ONEOF ( + binary_representation_item, + compound_representation_item, + mapped_item, + value_representation_item ) + ANDOR + ONEOF ( + boolean_representation_item, + date_representation_item, + date_time_representation_item, + integer_representation_item, + logical_representation_item, + rational_representation_item, + real_representation_item ) + ANDOR + ONEOF ( + mapped_item, + styled_item ) ); + name : label; + WHERE + wr1: ( SIZEOF( using_representations( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY representation_item_relationship; + name : label; + description : OPTIONAL text; + relating_representation_item : representation_item; + related_representation_item : representation_item; + END_ENTITY; + + ENTITY representation_map; + mapping_origin : representation_item; + mapped_representation : representation; + INVERSE + map_usage : SET [1 : ?] OF mapped_item FOR mapping_source; + WHERE + wr1: item_in_context( SELF.mapping_origin, SELF.mapped_representation.context_of_items ); + END_ENTITY; + + ENTITY representation_proxy_item + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY representation_relationship; + name : label; + description : OPTIONAL text; + rep_1 : representation; + rep_2 : representation; + END_ENTITY; + + ENTITY representation_relationship_with_transformation + SUBTYPE OF ( representation_relationship ); + transformation_operator : transformation; + WHERE + wr1: ( SELF\representation_relationship.rep_1.context_of_items :<>: SELF\representation_relationship.rep_2.context_of_items ); + END_ENTITY; + + ENTITY representative_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( unique_in_product_definition( SELF ) OR unique_in_shape_aspect( SELF ) ); + END_ENTITY; + + ENTITY requirement_assigned_object + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_assignment; + items : SET [1 : 1] OF requirement_assigned_item; + END_ENTITY; + + ENTITY requirement_assignment + SUBTYPE OF ( characterized_object, group ); + END_ENTITY; + + ENTITY requirement_for_action_resource + SUBTYPE OF ( action_resource_requirement ); + resources : SET [1 : ?] OF action_resource; + END_ENTITY; + + ENTITY requirement_source + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY requirement_view_definition_relationship + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY resistance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RESISTANCE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY resistance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.ohm ) ); + END_ENTITY; + + ENTITY resource_property; + name : label; + description : text; + resource : characterized_resource_definition; + END_ENTITY; + + ENTITY resource_property_representation; + name : label; + description : text; + property : resource_property; + representation : representation; + END_ENTITY; + + ENTITY resource_requirement_type; + name : label; + description : text; + END_ENTITY; + + ENTITY restriction_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_space; + END_ENTITY; + + ENTITY resulting_path + SUBTYPE OF ( link_motion_representation_along_path ); + controlling_joints : SET [1 : ?] OF kinematic_joint; + END_ENTITY; + + ENTITY retention + SUBTYPE OF ( action ); + WHERE + wr1: ( SIZEOF( QUERY ( aa <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ACTION_ASSIGNMENT.ASSIGNED_ACTION' ) | ( ( 'ACTIVITY.APPLIED_ACTION_ASSIGNMENT' IN TYPEOF( aa ) ) AND ( aa.role. + name = 'retention' ) ) ) ) >= 1 ); + wr2: ( ( SIZEOF( QUERY ( atia <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | ( atia.role.name = 'minimum retention period' ) ) ) = 1 ) AND ( + SIZEOF( QUERY ( atia <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | ( atia.role.name = 'maximum retention period' ) ) ) = 1 ) AND ( + SIZEOF( QUERY ( atia1 <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | ( ( atia1.role.name = 'minimum retention period' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TIME_INTERVAL_WITH_BOUNDS' IN TYPEOF( atia1. + assigned_time_interval ) ) AND ( EXISTS( atia1.assigned_time_interval\time_interval_with_bounds.secondary_bound ) + OR EXISTS( atia1.assigned_time_interval\time_interval_with_bounds.duration ) ) AND ( SIZEOF( QUERY ( atia2 <* + USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | ( ( atia2.role.name = 'maximum retention period' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TIME_INTERVAL_WITH_BOUNDS' IN TYPEOF( atia2. + assigned_time_interval ) ) AND ( EXISTS( atia2.assigned_time_interval\time_interval_with_bounds.secondary_bound ) + OR EXISTS( atia2.assigned_time_interval\time_interval_with_bounds.duration ) ) AND ( atia1.assigned_time_interval\ + time_interval_with_bounds.primary_bound :=: atia2.assigned_time_interval\time_interval_with_bounds.primary_bound ) ) ) ) + = 1 ) ) ) ) = 1 ) ); + wr3: ( ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.' + + 'RELATING_ACTION' ) ) + SIZEOF( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ACTION_RELATIONSHIP.RELATED_ACTION' ) ) ) + = 0 ); + END_ENTITY; + + ENTITY revolute_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY revolute_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : revolute_pair; + actual_rotation : plane_angle_measure; + END_ENTITY; + + ENTITY revolute_pair_with_range + SUBTYPE OF ( revolute_pair ); + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + END_ENTITY; + + ENTITY revolved_area_solid + SUBTYPE OF ( swept_area_solid ); + axis : axis1_placement; + angle : plane_angle_measure; + DERIVE + axis_line : line := representation_item( '' ) || geometric_representation_item( ) || curve( ) || line( axis.location, + representation_item( '' ) || geometric_representation_item( ) || vector( axis.z, 1 ) ); + END_ENTITY; + + ENTITY revolved_face_solid + SUBTYPE OF ( swept_face_solid ); + axis : axis1_placement; + angle : plane_angle_measure; + DERIVE + axis_line : line := representation_item( '' ) || geometric_representation_item( ) || curve( ) || line( axis.location, + representation_item( '' ) || geometric_representation_item( ) || vector( axis.z, 1 ) ); + END_ENTITY; + + ENTITY revolved_face_solid_with_trim_conditions + SUBTYPE OF ( revolved_face_solid ); + first_trim_condition : trim_condition_select; + second_trim_condition : trim_condition_select; + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( + first_trim_condition ) ) OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' + IN TYPEOF( second_trim_condition ) ) ) ); + wr2: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( + first_trim_condition ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' IN TYPEOF( second_trim_condition ) ) AND ( first_trim_condition = second_trim_condition ) ) ); + END_ENTITY; + + ENTITY revolved_profile + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SELF\characterized_object.description IN [ 'groove', 'flat', 'round', 'open profile'] ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'removal direction' ) ) ) ) = 1 ); + wr5: ( ( NOT ( SELF\characterized_object.description = 'open profile' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'outer edge shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'outer edge shape' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) + = 0 ) ); + wr6: ( ( NOT ( SELF\characterized_object.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'flat edge shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'flat edge shape' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) + = 0 ) ); + wr7: ( ( NOT ( SELF\characterized_object.description = 'round' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'rounded edge shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'rounded edge shape' ) ) ) ) = 1 ) ) ) ) = + 1 ) ) ) ) = 0 ) ); + wr8: ( ( NOT ( SELF\characterized_object.description = 'groove' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'sweep occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE' ] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) AND ( sdr.relating_shape_aspect.description = 'sweep' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) + = 0 ) ); + wr9: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY rgc_with_dimension + SUBTYPE OF ( radius_geometric_constraint ); + radius_value : positive_length_measure; + END_ENTITY; + + ENTITY rib_top + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'rib top condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'rib top usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIB_TOP_FLOOR' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIB_TOP' IN + TYPEOF( sdr.related_shape_aspect.of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'removal direction' ) ) ) ) = 1 ) ) ) ) = + 1 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY rib_top_floor + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SELF.description IN [ 'planar', 'complex'] ); + wr3: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'rib top usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( fcr.related_shape_aspect.description = 'rib top condition occurrence' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIB_TOP' IN TYPEOF( fcr.related_shape_aspect. + of_shape.definition ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIB_TOP_FLOOR' IN + TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) >= 1 ); + wr4: ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'rib top face' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'rib top face' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) AND ( sdr.relating_shape_aspect.description = 'rib top floor boundary' ) ) ) ) = 1 ) ) ) ) + = 1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY right_angular_wedge + SUBTYPE OF ( geometric_representation_item ); + position : axis2_placement_3d; + x : positive_length_measure; + y : positive_length_measure; + z : positive_length_measure; + ltx : length_measure; + WHERE + wr1: ( ( 0 <= ltx ) AND ( ltx < x ) ); + END_ENTITY; + + ENTITY right_circular_cone + SUBTYPE OF ( geometric_representation_item ); + position : axis1_placement; + height : positive_length_measure; + radius : length_measure; + semi_angle : plane_angle_measure; + WHERE + wr1: ( radius >= 0 ); + END_ENTITY; + + ENTITY right_circular_cylinder + SUBTYPE OF ( geometric_representation_item ); + position : axis1_placement; + height : positive_length_measure; + radius : positive_length_measure; + END_ENTITY; + + ENTITY right_to_usage_association + SUBTYPE OF ( action_method_relationship ); + SELF\action_method_relationship.relating_method : information_usage_right; + SELF\action_method_relationship.related_method : information_right; + DERIVE + right_applied : information_right := SELF\action_method_relationship.related_method; + right_usage : information_usage_right := SELF\action_method_relationship.relating_method; + END_ENTITY; + + ENTITY rigid_link_representation + SUBTYPE OF ( kinematic_link_representation ); + END_ENTITY; + + ENTITY rigid_subsketch + SUBTYPE OF ( subsketch ); + END_ENTITY; + + ENTITY role_association; + role : object_role; + item_with_role : role_select; + END_ENTITY; + + ENTITY rolling_curve_pair + SUBTYPE OF ( planar_curve_pair ); + END_ENTITY; + + ENTITY rolling_curve_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : rolling_curve_pair; + actual_point_on_curve_1 : point_on_curve; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: actual_point_on_curve_1.basis_curve ); + END_ENTITY; + + ENTITY rolling_surface_pair + SUBTYPE OF ( surface_pair ); + END_ENTITY; + + ENTITY rolling_surface_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : rolling_surface_pair; + actual_point_on_surface : point_on_surface; + actual_rotation : plane_angle_measure; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: actual_point_on_surface.basis_surface ); + END_ENTITY; + + ENTITY rotation_about_direction + SUBTYPE OF ( geometric_representation_item ); + direction_of_axis : direction; + rotation_angle : plane_angle_measure; + WHERE + wr1: ( SIZEOF( direction_of_axis.direction_ratios ) = 3 ); + END_ENTITY; + + ENTITY round_hole + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'diameter occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.name = 'diameter' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'hole depth occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'path feature component usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.name = 'hole depth' ) AND ( sdr.relating_shape_aspect.description = 'linear' ) ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'hole bottom usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HOLE_BOTTOM' IN TYPEOF( fcr. + relating_shape_aspect ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE' IN + TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'change in diameter occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'taper usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' IN TYPEOF( fcr.relating_shape_aspect ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE' IN TYPEOF( fcr. + related_shape_aspect.of_shape.definition ) ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY rounded_end + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'partial circular boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'path feature component usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = + 0 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY rounded_u_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 1 ) ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 2 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* pdr.used_representation.items | ( ( srwp_i.name + = 'orientation' ) OR ( srwp_i.name = 'depth' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) = + 1 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY roundness_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY routed_interconnect_component + SUBTYPE OF ( item_identified_representation_usage, physical_component ); + END_ENTITY; + + ENTITY routed_physical_component + SUBTYPE OF ( item_identified_representation_usage, physical_component ); + END_ENTITY; + + ENTITY routed_physical_shield + SUBTYPE OF ( physical_shield, routed_physical_component ); + END_ENTITY; + + ENTITY routed_shield + SUBTYPE OF ( integral_shield ); + END_ENTITY; + + ENTITY routed_transmission_line + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY row_representation_item + SUBTYPE OF ( compound_representation_item ); + SELF\compound_representation_item.item_element : list_representation_item; + END_ENTITY; + + ENTITY row_value + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY row_variable + SUBTYPE OF ( abstract_variable ); + END_ENTITY; + + ENTITY rule_action + SUBTYPE OF ( action ); + END_ENTITY; + + ENTITY rule_condition + SUBTYPE OF ( atomic_formula ); + END_ENTITY; + + ENTITY rule_definition + SUBTYPE OF ( rule_software_definition ); + END_ENTITY; + + ENTITY rule_set + SUBTYPE OF ( rule_software_definition ); + END_ENTITY; + + ENTITY rule_set_group + SUBTYPE OF ( rule_software_definition ); + END_ENTITY; + + ENTITY rule_software_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY rule_superseded_assignment + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF rule_superseded_item; + END_ENTITY; + + ENTITY rule_supersedence + SUBTYPE OF ( rule_action ); + END_ENTITY; + + ENTITY ruled_surface_swept_area_solid + SUBTYPE OF ( surface_curve_swept_area_solid ); + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( SELF. + reference_surface ) ) AND ( SELF.reference_surface\b_spline_surface.u_degree = 1 ) ); + wr2: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( SELF.directrix ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( SELF.directrix\ + surface_curve.curve_3d ) ) AND ( SELF.directrix\surface_curve.curve_3d\b_spline_curve.degree = SELF. + reference_surface\b_spline_surface.v_degree ) ) ); + END_ENTITY; + + ENTITY runout_zone_definition + SUBTYPE OF ( tolerance_zone_definition ); + orientation : runout_zone_orientation; + END_ENTITY; + + ENTITY runout_zone_orientation; + angle : plane_angle_measure_with_unit; + END_ENTITY; + + ENTITY runout_zone_orientation_reference_direction + SUBTYPE OF ( runout_zone_orientation ); + orientation_defining_relationship : shape_aspect_relationship; + END_ENTITY; + + ENTITY satisfied_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : satisfies_requirement; + items : SET [1 : 1] OF product_definition; + END_ENTITY; + + ENTITY satisfies_requirement + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY satisfying_item + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : satisfies_requirement; + items : SET [1 : 1] OF requirement_satisfaction_item; + END_ENTITY; + + ENTITY scalar_terminal_definition_link + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : functional_unit_terminal_definition; + UNIQUE + ur1 : related_shape_aspect, relating_shape_aspect; + WHERE + wr1: ( SELF\shape_aspect_relationship.related_shape_aspect :<>: SELF\shape_aspect_relationship.relating_shape_aspect ); + END_ENTITY; + + ENTITY scalar_variable + SUBTYPE OF ( abstract_variable ); + END_ENTITY; + + ENTITY schema_based_model_parameter + SUBTYPE OF ( model_parameter ); + END_ENTITY; + + ENTITY screw_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + pitch : length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY screw_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : screw_pair; + actual_rotation : plane_angle_measure; + DERIVE + actual_translation : length_measure := ( SELF\pair_value.applies_to_pair\screw_pair.pitch * + plane_angle_for_pair_in_radian( SELF\pair_value.applies_to_pair, actual_rotation ) ) / ( 2 * PI ); + END_ENTITY; + + ENTITY screw_pair_with_range + SUBTYPE OF ( screw_pair ); + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + END_ENTITY; + + ENTITY sculptured_solid + SUBTYPE OF ( modified_solid ); + sculpturing_element : generalized_surface_select; + positive_side : BOOLEAN; + END_ENTITY; + + ENTITY sdgc_with_dimension + SUBTYPE OF ( surface_distance_geometric_constraint ); + distance_value : non_negative_length_measure; + END_ENTITY; + + ENTITY seam_curve + SUBTYPE OF ( surface_curve ); + WHERE + wr1: ( SIZEOF( SELF\surface_curve.associated_geometry ) = 2 ); + wr2: ( associated_surface( SELF\surface_curve.associated_geometry[1] ) = associated_surface( SELF\surface_curve. + associated_geometry[2] ) ); + wr3: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( SELF\surface_curve. + associated_geometry[1] ) ); + wr4: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( SELF\surface_curve. + associated_geometry[2] ) ); + END_ENTITY; + + ENTITY seating_plane + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY secondary_orientation_feature + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF.product_definitional = TRUE ); + END_ENTITY; + + ENTITY security_classification; + name : label; + purpose : text; + security_level : security_classification_level; + END_ENTITY; + + ENTITY security_classification_assignment + ABSTRACT SUPERTYPE; + assigned_security_classification : security_classification; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ) <= 1 ); + END_ENTITY; + + ENTITY security_classification_level; + name : label; + END_ENTITY; + + ENTITY selector_function + SUBTYPE OF ( maths_function, generic_literal ); + selector : input_selector; + source_of_domain : maths_space_or_function; + WHERE + wr1: no_cyclic_domain_reference( source_of_domain, [SELF] ); + wr2: expression_is_constant( domain_from( source_of_domain ) ); + END_ENTITY; + + ENTITY self_intersecting_curve + SUBTYPE OF ( self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + arc_length_separation_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_CURVE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE'] ); + wr4: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY self_intersecting_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + self_intersecting_curve, + self_intersecting_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY self_intersecting_loop + SUBTYPE OF ( topology_related_to_self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + arc_length_distance_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' ] ); + wr4: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY self_intersecting_shell + SUBTYPE OF ( topology_related_to_self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + geodesic_separation_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SET' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_FACE_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_FACE_SURFACE' ] ); + wr4: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY self_intersecting_surface + SUBTYPE OF ( self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + geodesic_separation_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_SURFACE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] ); + wr4: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY sequential_laminate_passage_based_fabrication_joint + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY sequential_laminate_stackup_component + SUBTYPE OF ( physical_component ); + END_ENTITY; + + ENTITY sequential_laminate_stackup_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY serial_numbered_effectivity + SUBTYPE OF ( effectivity ); + effectivity_start_id : identifier; + effectivity_end_id : OPTIONAL identifier; + END_ENTITY; + + ENTITY series_composed_function + SUBTYPE OF ( maths_function, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF maths_function; + WHERE + wr1: composable_sequence( SELF\multiple_arity_generic_expression.operands ); + END_ENTITY; + + ENTITY shape_aspect + SUPERTYPE OF ( + ONEOF ( + minimally_defined_bare_die_terminal, + assembly_module_terminal, + cable_terminal, + interconnect_module_terminal, + packaged_part_terminal ) + ANDOR + ONEOF ( + minimally_defined_bare_die_terminal, + assembly_module_terminal, + cable_terminal, + packaged_part_terminal ) + ANDOR + ONEOF ( + package_body, + primary_orientation_feature, + secondary_orientation_feature, + tertiary_orientation_feature ) + ANDOR + ONEOF ( + contacting_feature, + datum, + datum_feature, + datum_target, + datum_system, + general_datum_reference ) + ANDOR + ONEOF ( + seating_plane, + reference_graphic_registration_mark, + mounting_restriction_area, + mounting_restriction_volume ) ); + name : label; + description : OPTIONAL text; + of_shape : product_definition_shape; + product_definitional : LOGICAL; + DERIVE + id : identifier := get_id_value( SELF ); + UNIQUE + ur1 : id, of_shape; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY shape_aspect_associativity + SUBTYPE OF ( shape_aspect_relationship ); + WHERE + wr1: SELF.relating_shape_aspect.product_definitional; + wr2: ( NOT SELF.related_shape_aspect.product_definitional ); + END_ENTITY; + + ENTITY shape_aspect_deriving_relationship + SUBTYPE OF ( shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : derived_shape_aspect; + END_ENTITY; + + ENTITY shape_aspect_relationship; + name : label; + description : OPTIONAL text; + relating_shape_aspect : shape_aspect; + related_shape_aspect : shape_aspect; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY shape_aspect_relationship_representation_association; + represented_shape_aspect_relationship : shape_aspect_relationship; + representing_representation_relationship : representation_relationship; + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN + TYPEOF( representing_representation_relationship\representation_relationship.rep_1 ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN + TYPEOF( representing_representation_relationship\representation_relationship.rep_2 ) ) ); + wr2: ( ( represented_shape_aspect_relationship.relating_shape_aspect IN using_shape_aspect_of_shape_representation( + representing_representation_relationship.rep_1 ) ) AND ( represented_shape_aspect_relationship.related_shape_aspect + IN using_shape_aspect_of_shape_representation( representing_representation_relationship.rep_2 ) ) ); + wr3: ( ( find_representative_shape_representation_of_product_definition( using_product_definition_of_shape_aspect( + represented_shape_aspect_relationship.relating_shape_aspect ) ).context_of_items :=: + find_representative_shape_representation_of_shape_aspect( represented_shape_aspect_relationship. + relating_shape_aspect ).context_of_items ) AND ( find_representative_shape_representation_of_product_definition( + using_product_definition_of_shape_aspect( represented_shape_aspect_relationship.related_shape_aspect ) ). + context_of_items :=: find_representative_shape_representation_of_shape_aspect( + represented_shape_aspect_relationship.related_shape_aspect ).context_of_items ) ); + wr4: ( using_product_definition_of_shape_aspect( represented_shape_aspect_relationship.relating_shape_aspect ) :<>: + using_product_definition_of_shape_aspect( represented_shape_aspect_relationship.related_shape_aspect ) ); + wr5: ( find_assembly_root( [using_product_definition_of_shape_aspect( represented_shape_aspect_relationship. + relating_shape_aspect )] ) :=: find_assembly_root( [using_product_definition_of_shape_aspect( + represented_shape_aspect_relationship.related_shape_aspect )] ) ); + END_ENTITY; + + ENTITY shape_criteria_representation_with_accuracy + SUBTYPE OF ( shape_data_quality_criteria_representation ); + required_general_accuracy : SET [1 : ?] OF shape_measurement_accuracy; + END_ENTITY; + + ENTITY shape_data_quality_assessment_by_logical_test + SUBTYPE OF ( data_quality_assessment_specification ); + END_ENTITY; + + ENTITY shape_data_quality_assessment_by_numerical_test + SUBTYPE OF ( data_quality_assessment_specification ); + threshold : shape_data_quality_value_limit_type_select; + END_ENTITY; + + ENTITY shape_data_quality_criteria_representation + SUBTYPE OF ( data_quality_criteria_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_CRITERION' ) IN + TYPEOF( q ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY shape_data_quality_criterion + SUPERTYPE OF ( + ONEOF ( + erroneous_data, + inapt_data ) ) + SUBTYPE OF ( data_quality_criterion, data_quality_measurement_requirement ); + assessment_specification : shape_data_quality_assessment_specification_select; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.' + 'CRITERION' ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATED_REPRESENTATION_ITEM' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN TYPEOF( i1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATING_REPRESENTATION_ITEM' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN TYPEOF( i1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY shape_data_quality_criterion_and_accuracy_association; + required_specific_accuracy : shape_measurement_accuracy; + shape_data_quality_criterion : shape_data_quality_criterion; + END_ENTITY; + + ENTITY shape_data_quality_inspected_shape_and_result_relationship + SUBTYPE OF ( shape_representation_relationship ); + SELF\representation_relationship.rep_1 : shape_representation; + SELF\representation_relationship.rep_2 : shape_data_quality_inspection_result_representation; + WHERE + wr1: ( SIZEOF( using_product_definition_of_shape_representation( SELF.rep_1 ) * bag_to_set( inspected_product_definition( + SELF.rep_2 ) ) ) > 0 ); + wr2: ( SELF.rep_1\representation.context_of_items :=: SELF.rep_2\representation.context_of_items ); + END_ENTITY; + + ENTITY shape_data_quality_inspection_criterion_report + SUBTYPE OF ( data_quality_inspection_criterion_report ); + representative_measured_value : measured_value_select; + END_ENTITY; + + ENTITY shape_data_quality_inspection_instance_report + SUBTYPE OF ( data_quality_inspection_instance_report ); + SELF\data_quality_inspection_instance_report.inspected_instances : LIST [1 : ?] OF + shape_data_quality_inspection_instance_report_item; + END_ENTITY; + + ENTITY shape_data_quality_inspection_instance_report_item + SUBTYPE OF ( data_quality_inspection_instance_report_item ); + SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1 : ?] OF inspected_shape_element_select; + measured_value : measured_value_select; + END_ENTITY; + + ENTITY shape_data_quality_inspection_result + SUBTYPE OF ( data_quality_inspection_result ); + SELF\data_quality_inspection_result.criterion_inspected : shape_data_quality_criterion; + END_ENTITY; + + ENTITY shape_data_quality_inspection_result_representation + SUBTYPE OF ( data_quality_inspection_result_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) + IN TYPEOF( q ) ) ) ) > 0 ); + wr2: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( + SELF\representation.context_of_items ) ); + wr3: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.' + 'REP_2' ) ) > 0 ); + END_ENTITY; + + ENTITY shape_data_quality_lower_value_limit + SUBTYPE OF ( shape_data_quality_value_limit ); + WHERE + wr1: ( SELF\qualified_representation_item.qualifiers[1].name = 'minimum' ); + END_ENTITY; + + ENTITY shape_data_quality_upper_value_limit + SUBTYPE OF ( shape_data_quality_value_limit ); + WHERE + wr1: ( SELF\qualified_representation_item.qualifiers[1].name = 'maximum' ); + END_ENTITY; + + ENTITY shape_data_quality_value_limit + ABSTRACT SUPERTYPE OF ( + ONEOF ( + shape_data_quality_upper_value_limit, + shape_data_quality_lower_value_limit ) ) + SUBTYPE OF ( measure_representation_item, qualified_representation_item ); + END_ENTITY; + + ENTITY shape_data_quality_value_range + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SET_REPRESENTATION_ITEM' IN TYPEOF( SELF\ + compound_representation_item.item_element ) ) AND ( SIZEOF( SELF\compound_representation_item.item_element ) = 2 ) + AND ( ( SIZEOF( QUERY ( i1 <* SELF\compound_representation_item.item_element | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) ) ) + = 2 ) OR ( SIZEOF( QUERY ( i2 <* SELF\compound_representation_item.item_element | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) ) ) + = 2 ) ) ); + wr2: ( ( SIZEOF( QUERY ( i <* SELF\compound_representation_item.item_element | ( i.name = 'upper limit' ) ) ) = 1 ) AND ( + SIZEOF( QUERY ( i <* SELF\compound_representation_item.item_element | ( i.name = 'lower limit' ) ) ) = 1 ) ); + wr3: ( ( SIZEOF( QUERY ( i1 <* SELF\compound_representation_item.item_element | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) + AND ( SIZEOF( QUERY ( i2 <* SELF\compound_representation_item.item_element | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) + AND ( i1 :<>: i2 ) AND ( i1\measure_with_unit.unit_component :=: i2\measure_with_unit.unit_component ) ) ) ) = 1 ) ) ) ) + = 2 ) OR ( SIZEOF( QUERY ( i1 <* SELF\compound_representation_item.item_element | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) + AND ( SIZEOF( QUERY ( i2 <* SELF\compound_representation_item.item_element | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) + AND ( i1 :<>: i2 ) AND ( TYPEOF( i1\value_representation_item.value_component ) = TYPEOF( i2\ + value_representation_item.value_component ) ) ) ) ) = 1 ) ) ) ) = 2 ) ); + END_ENTITY; + + ENTITY shape_defining_relationship + SUBTYPE OF ( shape_aspect_relationship ); + END_ENTITY; + + ENTITY shape_definition_3d_intersection + SUPERTYPE OF ( + ONEOF ( + edge_segment_cross_section, + pre_defined_parallel_datum_axis_symbol_3d_2d_relationship, + pre_defined_perpendicular_datum_axis_symbol_3d_2d_relationship, + pre_defined_perpendicular_datum_plane_symbol_3d_2d_relationship ) + ANDOR + ONEOF ( + pre_defined_parallel_datum_axis_symbol_3d_2d_relationship, + pre_defined_perpendicular_datum_axis_symbol_3d_2d_relationship, + pre_defined_perpendicular_datum_plane_symbol_3d_2d_relationship ) ) + SUBTYPE OF ( representation, shape_representation_relationship, representation_relationship_with_transformation ); + SELF\representation_relationship_with_transformation.transformation_operator : item_defined_transformation; + UNIQUE + ur1 : SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; + WHERE + wr1: ( SELF\representation_relationship.rep_1 :<>: SELF\representation_relationship.rep_2 ); + END_ENTITY; + + ENTITY shape_definition_representation + SUBTYPE OF ( property_definition_representation ); + SELF\property_definition_representation.definition : property_definition; + SELF\property_definition_representation.used_representation : shape_representation; + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( + definition ) ) OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION' IN + TYPEOF( definition\property_definition.definition ) ) ); + END_ENTITY; + + ENTITY shape_dimension_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF shape_dimension_representation_item; + END_ENTITY; + + ENTITY shape_feature_definition + SUBTYPE OF ( feature_definition ); + END_ENTITY; + + ENTITY shape_formed_terminal + SUBTYPE OF ( altered_package_terminal ); + END_ENTITY; + + ENTITY shape_inspection_result_accuracy_association; + applied_specific_accuracy : shape_measurement_accuracy; + shape_data_quality_result : shape_data_quality_inspection_result; + END_ENTITY; + + ENTITY shape_inspection_result_representation_with_accuracy + SUBTYPE OF ( shape_data_quality_inspection_result_representation ); + applied_general_accuracy : SET [1 : ?] OF shape_measurement_accuracy; + END_ENTITY; + + ENTITY shape_measurement_accuracy; + description : text; + range : shape_data_quality_value_limit_type_select; + END_ENTITY; + + ENTITY shape_representation + SUBTYPE OF ( representation ); + END_ENTITY; + + ENTITY shape_representation_relationship + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN ( TYPEOF( SELF\ + representation_relationship.rep_1 ) + TYPEOF( SELF\representation_relationship.rep_2 ) ) ); + END_ENTITY; + + ENTITY shape_representation_with_parameters + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF shape_representation_with_parameters_items; + END_ENTITY; + + ENTITY shape_summary_request_with_representative_value + SUBTYPE OF ( summary_report_request ); + END_ENTITY; + + ENTITY shell_based_surface_model + SUBTYPE OF ( geometric_representation_item ); + sbsm_boundary : SET [1 : ?] OF shell; + WHERE + wr1: constraints_geometry_shell_based_surface_model( SELF ); + END_ENTITY; + + ENTITY shell_based_wireframe_model + SUBTYPE OF ( geometric_representation_item ); + sbwm_boundary : SET [1 : ?] OF shell; + WHERE + wr1: constraints_geometry_shell_based_wireframe_model( SELF ); + END_ENTITY; + + ENTITY shell_based_wireframe_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) + = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] + * TYPEOF( it ) ) = 1 ) ) ) >= 1 ); + wr3 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF( sb ) ) ) | ( NOT ( + SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( + SIZEOF( QUERY ( el <* eloop\path.edge_list | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF( el.edge_element ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF( sb ) ) ) | ( NOT ( + SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( + SIZEOF( QUERY ( pline_el <* QUERY ( el <* eloop\path.edge_list | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( el.edge_element\ + edge_curve.edge_geometry ) ) ) | ( NOT ( SIZEOF( pline_el.edge_element\edge_curve.edge_geometry\polyline.points ) + > 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF( sb ) ) ) | ( NOT ( + SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( + SIZEOF( QUERY ( el <* eloop\path.edge_list | ( NOT valid_wireframe_edge_curve( el.edge_element\edge_curve. + edge_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF( sb ) ) ) | ( NOT ( + SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( + SIZEOF( QUERY ( el <* eloop\path.edge_list | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( el.edge_element. + edge_start ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( + el.edge_element.edge_end ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF( sb ) ) ) | ( NOT ( + SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( + SIZEOF( QUERY ( el <* eloop\path.edge_list | ( NOT ( valid_wireframe_vertex_point( el.edge_element.edge_start\ + vertex_point.vertex_geometry ) AND valid_wireframe_vertex_point( el.edge_element.edge_end\vertex_point. + vertex_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF( sb ) ) ) | ( NOT ( + SIZEOF( QUERY ( vloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( vloop\vertex_loop. + loop_vertex ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF( sb ) ) ) | ( NOT ( + SIZEOF( QUERY ( vloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT + valid_wireframe_vertex_point( vloop\vertex_loop.loop_vertex\vertex_point.vertex_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr10: ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( vs <* QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_SHELL' IN TYPEOF( sb ) ) ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF( vs\vertex_shell. + vertex_shell_extent.loop_vertex ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) + | ( NOT ( SIZEOF( QUERY ( vs <* QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_SHELL' IN TYPEOF( sb ) ) ) | ( NOT + valid_wireframe_vertex_point( vs\vertex_shell.vertex_shell_extent.loop_vertex\vertex_point.vertex_geometry ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) | ( NOT ( + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr13: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ); + END_ENTITY; + + ENTITY shelled_solid + SUPERTYPE OF ( + ONEOF ( + double_offset_shelled_solid, + complex_shelled_solid ) ) + SUBTYPE OF ( modified_solid ); + deleted_face_set : SET [1 : ?] OF face_surface; + thickness : length_measure; + WHERE + wr1: ( thickness <> 0 ); + END_ENTITY; + + ENTITY short_length_curve + SUBTYPE OF ( nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY short_length_curve_segment + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_CURVE_SEGMENT'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY short_length_edge + SUBTYPE OF ( topology_related_to_nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EDGE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY si_absorbed_dose_unit + SUBTYPE OF ( absorbed_dose_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.gray ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_capacitance_unit + SUBTYPE OF ( capacitance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.farad ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_conductance_unit + SUBTYPE OF ( conductance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.siemens ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_dose_equivalent_unit + SUBTYPE OF ( dose_equivalent_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.sievert ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_electric_charge_unit + SUBTYPE OF ( electric_charge_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.coulomb ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_electric_potential_unit + SUBTYPE OF ( electric_potential_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.volt ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_energy_unit + SUBTYPE OF ( energy_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.joule ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_force_unit + SUBTYPE OF ( force_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.newton ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_frequency_unit + SUBTYPE OF ( frequency_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.hertz ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_illuminance_unit + SUBTYPE OF ( illuminance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.lux ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_inductance_unit + SUBTYPE OF ( inductance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.henry ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_magnetic_flux_density_unit + SUBTYPE OF ( magnetic_flux_density_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.tesla ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_magnetic_flux_unit + SUBTYPE OF ( magnetic_flux_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.weber ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_power_unit + SUBTYPE OF ( power_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.watt ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_pressure_unit + SUBTYPE OF ( pressure_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.pascal ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_radioactivity_unit + SUBTYPE OF ( radioactivity_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.becquerel ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_resistance_unit + SUBTYPE OF ( resistance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.ohm ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_unit + SUBTYPE OF ( named_unit ); + prefix : OPTIONAL si_prefix; + name : si_unit_name; + DERIVE + SELF\named_unit.dimensions : dimensional_exponents := dimensions_for_si_unit( name ); + WHERE + wr1: ( ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MASS_UNIT' IN TYPEOF( SELF ) ) AND ( + SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DERIVED_UNIT_ELEMENT.UNIT' ) ) + > 0 ) ) ) OR ( prefix = si_prefix.kilo ) ); + END_ENTITY; + + ENTITY signal + SUBTYPE OF ( characterized_object ); + END_ENTITY; + + ENTITY signal_category + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY simple_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + boolean_literal, + boolean_variable ) ) + SUBTYPE OF ( boolean_expression, simple_generic_expression ); + END_ENTITY; + + ENTITY simple_clause + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY simple_generic_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + generic_literal, + generic_variable ) ) + SUBTYPE OF ( generic_expression ); + END_ENTITY; + + ENTITY simple_numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + literal_number, + numeric_variable ) ) + SUBTYPE OF ( numeric_expression, simple_generic_expression ); + END_ENTITY; + + ENTITY simple_string_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + string_literal, + string_variable ) ) + SUBTYPE OF ( string_expression, simple_generic_expression ); + END_ENTITY; + + ENTITY simultaneous_constraint_group + SUBTYPE OF ( variational_representation_item ); + constraint_group : SET [2 : ?] OF constraint_group_member; + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( SIZEOF( QUERY ( r <* q.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMULTANEOUS_CONSTRAINT_GROUP' IN TYPEOF( r ) ) + AND ( SIZEOF( QUERY ( s <* constraint_group | ( ( s IN r\simultaneous_constraint_group.constraint_group ) AND ( + NOT ( r :=: SELF ) ) ) ) ) > 0 ) ) ) ) > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( q <* using_representations( constraint_group[1] ) | ( SIZEOF( QUERY ( r <* constraint_group | + item_in_context( r, q.context_of_items ) ) ) = SIZEOF( constraint_group ) ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( q <* constraint_group | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EXPLICIT_CONSTRAINT' IN TYPEOF( q ) ) AND ( SIZEOF( QUERY ( r <* q.constrained_elements | ( SIZEOF( + QUERY ( s <* constraint_group | ( r IN s.reference_elements ) ) ) > 0 ) ) ) > 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY sin_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY single_area_csg_2d_shape_representation + SUBTYPE OF ( csg_2d_shape_representation ); + SELF\representation.items : SET [1 : ?] OF csg_2d_area_select; + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' + IN TYPEOF( it ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CSG_SOLID_2D' IN TYPEOF( it ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY single_boundary_csg_2d_shape_representation + SUBTYPE OF ( single_area_csg_2d_shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CSG_PRIMITIVE_SOLID_2D' IN TYPEOF( it ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY' IN TYPEOF( + it\csg_primitive_solid_2d.tree_root_expression ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY single_property_is_definition + SUBTYPE OF ( property_definition ); + SELF\property_definition.definition : product_definition; + UNIQUE + ur1 : SELF\property_definition.definition; + END_ENTITY; + + ENTITY single_stratum_continuous_template + ABSTRACT SUPERTYPE OF ( + ONEOF ( + stratum_feature_template, + material_removal_feature_template ) ) + SUBTYPE OF ( continuous_template, single_stratum_template ); + END_ENTITY; + + ENTITY single_stratum_printed_component + SUBTYPE OF ( printed_component, structured_layout_component ); + END_ENTITY; + + ENTITY single_stratum_printed_part_template + SUBTYPE OF ( structured_printed_part_template, single_stratum_structured_template ); + END_ENTITY; + + ENTITY single_stratum_special_symbol_component + SUPERTYPE OF ( + primary_stratum_indicator_symbol ) + SUBTYPE OF ( structured_layout_component ); + END_ENTITY; + + ENTITY single_stratum_special_symbol_template + SUBTYPE OF ( single_stratum_structured_template, special_symbol_template ); + END_ENTITY; + + ENTITY single_stratum_structured_template + ABSTRACT SUPERTYPE OF ( + ONEOF ( + material_removal_structured_template, + single_stratum_special_symbol_template ) ) + SUBTYPE OF ( structured_template, single_stratum_template ); + END_ENTITY; + + ENTITY single_stratum_template + ABSTRACT SUPERTYPE OF ( + single_stratum_continuous_template ) + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY skew_line_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 2] OF line; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF line; + distance_value : non_negative_length_measure; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) = 2 ); + END_ENTITY; + + ENTITY slash_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY sliding_curve_pair + SUBTYPE OF ( planar_curve_pair ); + END_ENTITY; + + ENTITY sliding_curve_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : sliding_curve_pair; + actual_point_on_curve_1 : point_on_curve; + actual_point_on_curve_2 : point_on_curve; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: actual_point_on_curve_1.basis_curve ); + wr2: ( SELF\pair_value.applies_to_pair\planar_curve_pair.curve_2 :=: actual_point_on_curve_2.basis_curve ); + END_ENTITY; + + ENTITY sliding_surface_pair + SUBTYPE OF ( surface_pair ); + END_ENTITY; + + ENTITY sliding_surface_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : sliding_surface_pair; + actual_point_on_surface_1 : point_on_surface; + actual_point_on_surface_2 : point_on_surface; + actual_rotation : plane_angle_measure; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: actual_point_on_surface_1.basis_surface ); + wr2: ( SELF\pair_value.applies_to_pair\surface_pair.surface_2 :=: actual_point_on_surface_2.basis_surface ); + END_ENTITY; + + ENTITY slot + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'swept shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE' ] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'path feature component usage' ) AND ( sar.name = + 'course of travel' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'end condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'slot end usage' ) AND ( sar.name IN [ 'course of travel start', 'course of travel end'] ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN + TYPEOF( sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT_END' IN TYPEOF( + fcr.relating_shape_aspect ) ) AND ( fcr.relating_shape_aspect.description IN [ 'open', 'radiused', 'flat', 'woodruff' ] ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT' IN TYPEOF( fcr.related_shape_aspect + .of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 2 ) OR ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'end condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'slot end usage' ) AND ( sar.name IN [ 'course of travel start', 'course of travel end'] ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN + TYPEOF( sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT_END' IN TYPEOF( + fcr.relating_shape_aspect ) ) AND ( fcr.relating_shape_aspect.description IN [ 'loop'] ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT' IN TYPEOF( fcr.related_shape_aspect. + of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) ) = 0 ); + wr5: ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'end condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'slot end usage' ) AND ( sar.name IN [ 'course of travel start', 'course of travel end'] ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN + TYPEOF( sar ) ) ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT_END' IN TYPEOF( + fcr.relating_shape_aspect ) ) AND ( fcr.relating_shape_aspect.description IN [ 'loop'] ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT' IN TYPEOF( fcr.related_shape_aspect. + of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( + SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'path feature component usage' ) AND ( sar.name = 'course of travel' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description IN [ 'complex', 'complete circular'] ) ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY slot_end + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2 : ( SELF.description IN [ 'open', 'radiused', 'flat', 'woodruff', 'loop'] ); + wr3 : ( ( NOT ( SELF.description IN [ 'open', 'radiused', 'loop'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF.description IN [ 'flat', 'woodruff'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF.description IN [ 'flat'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr6 : ( ( NOT ( SELF.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'first radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'second radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'woodruff' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it ) ) + AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF.description IN [ 'woodruff'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr10: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'slot end usage' ) AND ( sar.name IN [ 'course of travel start', + 'course of travel end' ] ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( fcr.related_shape_aspect.description = + 'end condition occurrence' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT' IN + TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT_END' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + END_ENTITY; + + ENTITY small_area_face + SUBTYPE OF ( topology_related_to_nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY small_area_surface + SUBTYPE OF ( nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY small_area_surface_patch + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_PATCH'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY small_volume_solid + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_MEASURE'] ); + END_ENTITY; + + ENTITY smeared_material_definition + SUBTYPE OF ( zone_structural_makeup ); + END_ENTITY; + + ENTITY snowball_template + SUBTYPE OF ( teardrop_template ); + END_ENTITY; + + ENTITY software_for_data_quality_check; + description : text; + software_name : text; + software_version : text; + data_quality : data_quality_definition_representation_relationship; + END_ENTITY; + + ENTITY solid_angle_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_ANGLE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY solid_angle_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY solid_character_glyph_2d_symbol + SUBTYPE OF ( generic_character_glyph_symbol, csg_2d_shape_representation ); + END_ENTITY; + + ENTITY solid_curve_font + SUBTYPE OF ( pre_defined_curve_font ); + END_ENTITY; + + ENTITY solid_model + SUPERTYPE OF ( + ONEOF ( + csg_solid, + manifold_solid_brep, + swept_face_solid, + swept_area_solid, + swept_disk_solid, + solid_replica ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY solid_replica + SUBTYPE OF ( solid_model ); + parent_solid : solid_model; + transformation : cartesian_transformation_operator_3d; + WHERE + wr1: acyclic_solid_replica( SELF, parent_solid ); + wr2: ( parent_solid\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY solid_with_angle_based_chamfer + SUBTYPE OF ( solid_with_chamfered_edges ); + offset_distance : positive_length_measure; + left_offset : BOOLEAN; + offset_angle : positive_plane_angle_measure; + END_ENTITY; + + ENTITY solid_with_chamfered_edges + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_single_offset_chamfer, + solid_with_double_offset_chamfer, + solid_with_angle_based_chamfer ) ) + SUBTYPE OF ( edge_blended_solid ); + END_ENTITY; + + ENTITY solid_with_circular_pattern + SUPERTYPE OF ( + solid_with_incomplete_circular_pattern ) + SUBTYPE OF ( solid_with_shape_element_pattern ); + replicate_count : positive_integer; + angular_spacing : plane_angle_measure; + radial_alignment : BOOLEAN; + reference_point : point; + END_ENTITY; + + ENTITY solid_with_circular_pocket + SUBTYPE OF ( solid_with_pocket ); + pocket_radius : positive_length_measure; + WHERE + wr1: ( SELF\solid_with_pocket.floor_blend_radius <= pocket_radius ); + END_ENTITY; + + ENTITY solid_with_circular_protrusion + SUBTYPE OF ( solid_with_protrusion ); + protrusion_radius : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_conical_bottom_round_hole + SUBTYPE OF ( solid_with_stepped_round_hole ); + semi_apex_angle : positive_plane_angle_measure; + tip_radius : non_negative_length_measure; + WHERE + wr1: ( tip_radius < SELF\solid_with_stepped_round_hole.segment_radii[segments] ); + END_ENTITY; + + ENTITY solid_with_constant_radius_edge_blend + SUBTYPE OF ( edge_blended_solid ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_curved_slot + SUBTYPE OF ( solid_with_slot ); + slot_centreline : bounded_curve; + END_ENTITY; + + ENTITY solid_with_depression + ABSTRACT SUPERTYPE OF ( + solid_with_through_depression + ANDOR + ONEOF ( + solid_with_hole, + solid_with_pocket, + solid_with_slot, + solid_with_groove ) ) + SUBTYPE OF ( modified_solid_with_placed_configuration ); + depth : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_double_offset_chamfer + SUBTYPE OF ( solid_with_chamfered_edges ); + left_offset_distance : positive_length_measure; + right_offset_distance : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_excessive_number_of_voids + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY solid_with_flat_bottom_round_hole + SUBTYPE OF ( solid_with_stepped_round_hole ); + fillet_radius : non_negative_length_measure; + WHERE + wr1: ( fillet_radius < SELF\solid_with_stepped_round_hole.segment_radii[segments] ); + END_ENTITY; + + ENTITY solid_with_general_pocket + SUBTYPE OF ( solid_with_pocket ); + profile : positioned_sketch; + reference_point : point; + WHERE + wr1: ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' ] * TYPEOF( profile.sketch_basis ) ) + = 1 ); + wr2: ( profile IN using_items( reference_point, [] ) ); + END_ENTITY; + + ENTITY solid_with_general_protrusion + SUBTYPE OF ( solid_with_protrusion ); + profile : positioned_sketch; + reference_point : point; + WHERE + wr1: ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' ] * TYPEOF( profile.sketch_basis ) ) + = 1 ); + wr2: ( profile IN using_items( reference_point, [] ) ); + END_ENTITY; + + ENTITY solid_with_groove + SUBTYPE OF ( solid_with_depression ); + groove_radius : positive_length_measure; + groove_width : positive_length_measure; + draft_angle : plane_angle_measure; + floor_fillet_radius : non_negative_length_measure; + external_groove : BOOLEAN; + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN TYPEOF( + SELF ) ) ); + END_ENTITY; + + ENTITY solid_with_hole + ABSTRACT SUPERTYPE OF ( + solid_with_stepped_round_hole ) + SUBTYPE OF ( solid_with_depression ); + END_ENTITY; + + ENTITY solid_with_incomplete_circular_pattern + SUBTYPE OF ( solid_with_circular_pattern ); + omitted_instances : SET [1 : ?] OF positive_integer; + WHERE + wr1: ( SIZEOF( omitted_instances ) < SELF\solid_with_circular_pattern.replicate_count ); + wr2: ( SIZEOF( QUERY ( q <* omitted_instances | ( q > SELF\solid_with_circular_pattern.replicate_count ) ) ) = 0 ); + END_ENTITY; + + ENTITY solid_with_incomplete_rectangular_pattern + SUBTYPE OF ( solid_with_rectangular_pattern ); + omitted_instances : SET [1 : ?] OF LIST [2 : 2] OF positive_integer; + WHERE + wr1: ( NOT ( [1, 1] IN omitted_instances ) ); + wr2: ( SIZEOF( omitted_instances ) < ( ( SELF\solid_with_rectangular_pattern.row_count * SELF\ + solid_with_rectangular_pattern.column_count ) - 1 ) ); + wr3: ( SIZEOF( QUERY ( q <* omitted_instances | ( ( q[1] > SELF\solid_with_rectangular_pattern.row_count ) OR ( q[2] > SELF + \solid_with_rectangular_pattern.column_count ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY solid_with_pocket + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_rectangular_pocket, + solid_with_circular_pocket, + solid_with_general_pocket ) ) + SUBTYPE OF ( solid_with_depression ); + floor_blend_radius : non_negative_length_measure; + draft_angle : plane_angle_measure; + END_ENTITY; + + ENTITY solid_with_protrusion + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_circular_protrusion, + solid_with_rectangular_protrusion, + solid_with_general_protrusion ) ) + SUBTYPE OF ( modified_solid_with_placed_configuration ); + protrusion_height : positive_length_measure; + protrusion_draft_angle : plane_angle_measure; + END_ENTITY; + + ENTITY solid_with_rectangular_pattern + SUPERTYPE OF ( + solid_with_incomplete_rectangular_pattern ) + SUBTYPE OF ( solid_with_shape_element_pattern ); + row_count : positive_integer; + column_count : positive_integer; + row_spacing : length_measure; + column_spacing : length_measure; + WHERE + wr1: ( ( row_count * column_count ) > 1 ); + END_ENTITY; + + ENTITY solid_with_rectangular_pocket + SUBTYPE OF ( solid_with_pocket ); + pocket_length : positive_length_measure; + pocket_width : positive_length_measure; + corner_radius : non_negative_length_measure; + WHERE + wr1: ( ( corner_radius < ( pocket_width / 2 ) ) AND ( corner_radius < ( pocket_length / 2 ) ) ); + END_ENTITY; + + ENTITY solid_with_rectangular_protrusion + SUBTYPE OF ( solid_with_protrusion ); + protrusion_length : positive_length_measure; + protrusion_width : positive_length_measure; + protrusion_corner_radius : non_negative_length_measure; + WHERE + wr1: ( ( protrusion_corner_radius <= ( protrusion_width / 2 ) ) AND ( protrusion_corner_radius <= ( protrusion_length / 2 ) ) ); + END_ENTITY; + + ENTITY solid_with_shape_element_pattern + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_circular_pattern, + solid_with_rectangular_pattern ) ) + SUBTYPE OF ( modified_solid_with_placed_configuration ); + replicated_element : modified_solid_with_placed_configuration; + END_ENTITY; + + ENTITY solid_with_single_offset_chamfer + SUBTYPE OF ( solid_with_chamfered_edges ); + offset_distance : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_slot + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_trapezoidal_section_slot, + solid_with_tee_section_slot ) + AND + ONEOF ( + solid_with_straight_slot, + solid_with_curved_slot ) ) + SUBTYPE OF ( solid_with_depression ); + slot_width : positive_length_measure; + closed_ends : LIST [2 : 2] OF LOGICAL; + end_exit_faces : LIST [2 : 2] OF SET [0 : ?] OF face_surface; + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN + TYPEOF( SELF ) ) AND ( closed_ends = [FALSE, FALSE] ) ) ); + wr2: ( NOT ( ( ( closed_ends[1] = TRUE ) AND ( SIZEOF( end_exit_faces[1] ) <> 0 ) ) OR ( ( closed_ends[2] = TRUE ) AND ( + SIZEOF( end_exit_faces[2] ) <> 0 ) ) ) ); + END_ENTITY; + + ENTITY solid_with_spherical_bottom_round_hole + SUBTYPE OF ( solid_with_stepped_round_hole ); + sphere_radius : positive_length_measure; + WHERE + wr1: ( sphere_radius >= SELF\solid_with_stepped_round_hole.segment_radii[segments] ); + END_ENTITY; + + ENTITY solid_with_stepped_round_hole + SUPERTYPE OF ( + solid_with_stepped_round_hole_and_conical_transitions + ANDOR + ONEOF ( + solid_with_flat_bottom_round_hole, + solid_with_conical_bottom_round_hole, + solid_with_spherical_bottom_round_hole ) ) + SUBTYPE OF ( solid_with_hole ); + segments : positive_integer; + segment_radii : LIST [1 : segments] OF positive_length_measure; + segment_depths : LIST [1 : segments] OF positive_length_measure; + DERIVE + SELF\solid_with_depression.depth : positive_length_measure := compute_total_depth( SELF ); + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN + TYPEOF( SELF ) ) AND ( SIZEOF( TYPEOF( SELF ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE' ] ) <> 0 ) ) ); + END_ENTITY; + + ENTITY solid_with_stepped_round_hole_and_conical_transitions + SUBTYPE OF ( solid_with_stepped_round_hole ); + conical_transitions : SET [1 : ?] OF conical_stepped_hole_transition; + WHERE + wr1: ( SIZEOF( conical_transitions ) <= ( SELF\solid_with_stepped_round_hole.segments + 1 ) ); + wr2: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN TYPEOF( SELF ) ) + XOR ( SIZEOF( conical_transitions ) <= SELF\solid_with_stepped_round_hole.segments ) ); + wr3: validate_countersink_radii( SELF ); + END_ENTITY; + + ENTITY solid_with_straight_slot + SUBTYPE OF ( solid_with_slot ); + slot_length : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_tee_section_slot + SUBTYPE OF ( solid_with_slot ); + tee_section_width : positive_length_measure; + collar_depth : positive_length_measure; + WHERE + wr1: ( collar_depth < SELF\solid_with_depression.depth ); + wr2: ( tee_section_width > SELF\solid_with_slot.slot_width ); + END_ENTITY; + + ENTITY solid_with_through_depression + SUBTYPE OF ( solid_with_depression ); + exit_faces : SET [1 : ?] OF face_surface; + WHERE + wr1: ( SIZEOF( TYPEOF( SELF ) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_HOLE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_POCKET' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_SLOT' ] ) = 1 ); + END_ENTITY; + + ENTITY solid_with_trapezoidal_section_slot + SUBTYPE OF ( solid_with_slot ); + draft_angle : plane_angle_measure; + floor_fillet_radius : non_negative_length_measure; + END_ENTITY; + + ENTITY solid_with_variable_radius_edge_blend + SUBTYPE OF ( track_blended_solid ); + point_list : LIST [2 : ?] OF point; + radius_list : LIST [2 : ?] OF positive_length_measure; + edge_function_list : LIST [1 : ?] OF blend_radius_variation_type; + WHERE + wr1: ( SIZEOF( point_list ) = SIZEOF( radius_list ) ); + wr2: ( SIZEOF( edge_function_list ) = ( SIZEOF( radius_list ) - 1 ) ); + wr3: ( NOT ( ( point_list[1] = point_list[HIINDEX( point_list )] ) AND ( NOT ( radius_list[1] = radius_list[HIINDEX( + radius_list )] ) ) ) ); + END_ENTITY; + + ENTITY solid_with_wrong_number_of_voids + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'BREP_WITH_VOIDS' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY source_for_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_source; + items : SET [1 : 1] OF requirement_source_item; + END_ENTITY; + + ENTITY sourced_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_source; + items : SET [1 : 1] OF product_definition; + END_ENTITY; + + ENTITY special_symbol_template + ABSTRACT SUPERTYPE OF ( + ONEOF ( + single_stratum_special_symbol_template, + multi_stratum_special_symbol_template ) ) + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY specification_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY specified_higher_usage_occurrence + SUBTYPE OF ( assembly_component_usage ); + upper_usage : assembly_component_usage; + next_usage : next_assembly_usage_occurrence; + UNIQUE + ur1 : upper_usage, next_usage; + WHERE + wr1: ( SELF :<>: upper_usage ); + wr2: ( SELF\product_definition_relationship.relating_product_definition :=: upper_usage.relating_product_definition ); + wr3: ( SELF\product_definition_relationship.related_product_definition :=: next_usage.related_product_definition ); + wr4: ( ( upper_usage.related_product_definition :=: next_usage.relating_product_definition ) OR ( SIZEOF( QUERY ( pdr <* + USEDIN( upper_usage.related_product_definition, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) | ( pdr.relating_product_definition :=: + next_usage.relating_product_definition ) ) ) = 1 ) ); + wr5: ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NEXT_ASSEMBLY_USAGE_OCCURRENCE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPECIFIED_HIGHER_USAGE_OCCURRENCE' ] * + TYPEOF( upper_usage ) ) = 1 ); + END_ENTITY; + + ENTITY sphere + SUBTYPE OF ( geometric_representation_item ); + radius : positive_length_measure; + centre : point; + END_ENTITY; + + ENTITY spherical_cap + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'internal angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY spherical_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY spherical_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : spherical_pair_select; + input_orientation : spatial_rotation; + DERIVE + actual_orientation : ypr_rotation := convert_spatial_to_ypr_rotation( SELF\pair_value.applies_to_pair, input_orientation ); + END_ENTITY; + + ENTITY spherical_pair_with_pin + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY spherical_pair_with_pin_and_range + SUBTYPE OF ( spherical_pair_with_pin ); + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + END_ENTITY; + + ENTITY spherical_pair_with_range + SUBTYPE OF ( spherical_pair ); + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_pitch : OPTIONAL plane_angle_measure; + upper_limit_pitch : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_pitch ) ) OR ( NOT EXISTS( upper_limit_pitch ) ) ) XOR ( lower_limit_pitch < + upper_limit_pitch ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + END_ENTITY; + + ENTITY spherical_surface + SUBTYPE OF ( elementary_surface ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY sql_mappable_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( defined_function ); + END_ENTITY; + + ENTITY square_root_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY square_u_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 4 ) ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 7 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* pdr.used_representation.items | ( ( srwp_i. + name = 'orientation' ) OR ( srwp_i.name = 'width' ) OR ( srwp_i.name = 'first angle' ) OR ( srwp_i.name = + 'second angle' ) OR ( srwp_i.name = 'first radius' ) OR ( srwp_i.name = 'second radius' ) OR ( srwp_i.name = + 'profile limit' ) OR ( srwp_i.name = 'depth' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) + = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'first radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'second radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'first angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'second angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY standard_uncertainty + SUPERTYPE OF ( + expanded_uncertainty ) + SUBTYPE OF ( uncertainty_qualifier ); + uncertainty_value : REAL; + END_ENTITY; + + ENTITY start_request + SUBTYPE OF ( action_request_assignment ); + items : SET [1 : ?] OF start_request_item; + END_ENTITY; + + ENTITY start_work + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF work_item; + END_ENTITY; + + ENTITY steep_angle_between_adjacent_edges + SUBTYPE OF ( steep_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ORIENTED_EDGE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ] ); + END_ENTITY; + + ENTITY steep_angle_between_adjacent_faces + SUBTYPE OF ( steep_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONNECTED_FACE_SET' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_EDGE_CURVE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ] ); + END_ENTITY; + + ENTITY steep_geometry_transition_across_edge + ABSTRACT SUPERTYPE OF ( + ONEOF ( + steep_angle_between_adjacent_edges, + steep_angle_between_adjacent_faces ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY step + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'path feature component usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = + 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'removal boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + wr5: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) + AND ( csa.name = 'uncut volume' ) AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( + sar ) ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROTRUSION' ] * TYPEOF( sar. + related_shape_aspect ) ) = 1 ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY straightness_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY stratum + SUPERTYPE OF ( + ONEOF ( + documentation_layer_stratum, + design_layer_stratum ) ) + SUBTYPE OF ( product_definition, product_definition_shape ); + DERIVE + SELF\property_definition.definition : stratum := SELF; + UNIQUE + ur1 : SELF\product_definition.id, SELF\product_definition.formation; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ) ) = 0 ); + wr2: ( NOT EXISTS( SELF\property_definition.description ) ); + END_ENTITY; + + ENTITY stratum_feature + SUPERTYPE OF ( + fiducial_stratum_feature ) + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY stratum_feature_based_derived_pattern + SUBTYPE OF ( characterized_object, property_definition_relationship ); + END_ENTITY; + + ENTITY stratum_feature_conductive_join + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY stratum_feature_template + SUBTYPE OF ( single_stratum_continuous_template ); + END_ENTITY; + + ENTITY stratum_feature_template_component + SUPERTYPE OF ( + ONEOF ( + area_component, + conductive_interconnect_element ) + ANDOR + ONEOF ( + area_component, + conductive_interconnect_element, + land ) ) + SUBTYPE OF ( laminate_component ); + END_ENTITY; + + ENTITY stratum_feature_template_component_with_stratum_feature + SUBTYPE OF ( stratum_feature_template_component, stratum_feature, shape_aspect_relationship ); + DERIVE + SELF\shape_aspect_relationship.related_shape_aspect : stratum_feature_template_component_with_stratum_feature := SELF; + SELF\shape_aspect_relationship.relating_shape_aspect : stratum_feature_template_component_with_stratum_feature := SELF; + WHERE + wr1: ( SELF\shape_aspect_relationship.name = 'implementation' ); + END_ENTITY; + + ENTITY stratum_specific_template_location + SUBTYPE OF ( assembly_component_usage, property_definition ); + END_ENTITY; + + ENTITY stratum_stack_dependent_template + SUBTYPE OF ( multi_stratum_structured_template ); + END_ENTITY; + + ENTITY stratum_stack_model + ABSTRACT SUPERTYPE + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY stratum_sub_stack + ABSTRACT SUPERTYPE OF ( + ONEOF ( + local_linear_stack, + passage_technology_allocation_to_stack_model ) ) + SUBTYPE OF ( part_template_definition ); + END_ENTITY; + + ENTITY stratum_surface + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY stratum_surface_technology + SUBTYPE OF ( shape_aspect ); + SELF\shape_aspect.of_shape : stratum_technology; + DERIVE + associated_technology : stratum_technology := SELF\shape_aspect.of_shape; + END_ENTITY; + + ENTITY stratum_technology + SUBTYPE OF ( characterized_object, product_definition_shape ); + DERIVE + SELF\property_definition.definition : characterized_definition := SELF; + UNIQUE + ur1 : SELF\characterized_object.name; + END_ENTITY; + + ENTITY stratum_technology_mapping_relationship + SUBTYPE OF ( property_definition_relationship ); + END_ENTITY; + + ENTITY stratum_technology_occurrence + SUBTYPE OF ( property_definition ); + END_ENTITY; + + ENTITY stratum_technology_occurrence_feature_constraint + SUBTYPE OF ( stratum_technology_occurrence_relationship ); + END_ENTITY; + + ENTITY stratum_technology_occurrence_link + SUBTYPE OF ( stratum_technology_occurrence_relationship ); + END_ENTITY; + + ENTITY stratum_technology_occurrence_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + derived_stratum_technology_occurrence_relationship, + stratum_technology_occurrence_link, + stratum_technology_occurrence_feature_constraint, + stratum_technology_occurrence_swap_relationship ) ) + SUBTYPE OF ( property_definition, property_definition_relationship ); + END_ENTITY; + + ENTITY stratum_technology_occurrence_swap_relationship + SUBTYPE OF ( stratum_technology_occurrence_relationship ); + END_ENTITY; + + ENTITY stratum_technology_swap_relationship + SUBTYPE OF ( property_definition_relationship ); + END_ENTITY; + + ENTITY string_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( defined_function, string_expression ); + END_ENTITY; + + ENTITY string_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_string_expression, + index_expression, + substring_expression, + concat_expression, + format_function, + string_defined_function ) ) + SUBTYPE OF ( expression ); + END_ENTITY; + + ENTITY string_literal + SUBTYPE OF ( simple_string_expression, generic_literal ); + the_value : STRING; + END_ENTITY; + + ENTITY string_variable + SUBTYPE OF ( simple_string_expression, variable ); + END_ENTITY; + + ENTITY structured_dimension_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( TYPEOF( SELF ) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_FEATURE_CALLOUT', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_TARGET_CALLOUT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRICAL_TOLERANCE_CALLOUT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' ] ) = 0 ); + wr2: ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) + | ( NOT ( ato.name IN [ 'dimension value', 'tolerance value', 'unit text', 'prefix text', 'suffix text'] ) ) ) ) = + 0 ); + wr3: ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) + | ( ato.name = 'dimension value' ) ) ) >= 1 ); + wr4: ( SIZEOF( QUERY ( dcr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) + IN TYPEOF( dcr ) ) AND ( dcr.name = 'prefix' ) ) ) ) <= 1 ); + wr5: ( SIZEOF( QUERY ( dcr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) + IN TYPEOF( dcr ) ) AND ( dcr.name = 'suffix' ) ) ) ) <= 1 ); + wr6: ( ( NOT ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) + | ( ato.name = 'prefix text' ) ) ) > 0 ) ) OR ( SIZEOF( QUERY ( dcr <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) IN TYPEOF( dcr ) ) AND ( dcr.name = 'prefix' ) ) ) ) = 1 ) ); + wr7: ( ( NOT ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) + | ( ato.name = 'suffix text' ) ) ) > 0 ) ) OR ( SIZEOF( QUERY ( dcr <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) IN TYPEOF( dcr ) ) AND ( dcr.name = 'suffix' ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY structured_inter_stratum_feature_template + SUBTYPE OF ( inter_stratum_feature_template, stratum_stack_dependent_template ); + END_ENTITY; + + ENTITY structured_layout_component + ABSTRACT SUPERTYPE OF ( + ONEOF ( + footprint_occurrence, + material_removal_structured_component, + multi_stratum_special_symbol_component, + padstack_occurrence, + single_stratum_special_symbol_component ) + ANDOR + ONEOF ( + footprint_occurrence, + material_removal_structured_component, + multi_stratum_printed_component, + multi_stratum_special_symbol_component, + padstack_occurrence, + single_stratum_printed_component, + single_stratum_special_symbol_component ) ) + SUBTYPE OF ( assembly_group_component ); + END_ENTITY; + + ENTITY structured_layout_component_sub_assembly_relationship + SUPERTYPE OF ( + footprint_occurrence_product_definition_relationship ) + SUBTYPE OF ( next_assembly_usage_occurrence_relationship ); + WHERE + wr1: ( SELF\product_definition_relationship.related_product_definition :<>: SELF\product_definition_relationship. + relating_product_definition ); + END_ENTITY; + + ENTITY structured_layout_component_sub_assembly_relationship_with_component + SUBTYPE OF ( structured_layout_component_sub_assembly_relationship, assembly_component ); + DERIVE + SELF\product_definition_relationship.related_product_definition : assembly_component := SELF; + END_ENTITY; + + ENTITY structured_printed_part_template + ABSTRACT SUPERTYPE OF ( + ONEOF ( + single_stratum_printed_part_template, + multi_stratum_printed_part_template ) ) + SUBTYPE OF ( printed_part_template, structured_template ); + END_ENTITY; + + ENTITY structured_printed_part_template_terminal + SUBTYPE OF ( printed_part_template_terminal ); + END_ENTITY; + + ENTITY structured_template + ABSTRACT SUPERTYPE OF ( + ONEOF ( + single_stratum_structured_template, + multi_stratum_structured_template ) ) + SUBTYPE OF ( geometric_template ); + END_ENTITY; + + ENTITY structured_text_composition + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY structured_text_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF string_representation_item_select; + END_ENTITY; + + ENTITY styled_item + SUBTYPE OF ( representation_item ); + styles : SET [1 : ?] OF presentation_style_assignment; + item : styled_item_target; + WHERE + wr1: ( ( SIZEOF( SELF.styles ) = 1 ) XOR ( SIZEOF( QUERY ( pres_style <* SELF.styles | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_STYLE_BY_CONTEXT' ) IN + TYPEOF( pres_style ) ) ) ) ) = 0 ) ); + wr2: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF( item ) ) ); + wr3: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( item ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( + item ) ) OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONTEXT_DEPENDENT_OVER_RIDING_STYLED_ITEM' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY su_parameters + SUBTYPE OF ( geometric_representation_item ); + a : length_measure; + alpha : plane_angle_measure; + b : length_measure; + beta : plane_angle_measure; + c : length_measure; + gamma : plane_angle_measure; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY subedge + SUBTYPE OF ( edge ); + parent_edge : edge; + END_ENTITY; + + ENTITY subface + SUBTYPE OF ( face ); + parent_face : face; + WHERE + wr1: ( NOT mixed_loop_type_set( list_to_set( list_face_loops( SELF ) ) + list_to_set( list_face_loops( parent_face ) ) ) ); + END_ENTITY; + + ENTITY subsketch + SUBTYPE OF ( geometric_representation_item ); + subsketch_elements : SET [1 : ?] OF sketch_element_select; + owning_sketch : sketch_type_select; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' IN TYPEOF( + owning_sketch ) ) AND ( SIZEOF( QUERY ( q <* subsketch_elements | ( NOT ( owning_sketch IN using_representations( q ) ) ) ) ) + = 0 ) ) XOR ( ( SIZEOF( TYPEOF( owning_sketch ) * [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIONED_SKETCH' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBSKETCH' ] ) = 1 ) AND ( SIZEOF( + QUERY ( q <* subsketch_elements | ( NOT ( owning_sketch IN using_items( q, [] ) ) ) ) ) = 0 ) ) ); + END_ENTITY; + + ENTITY substring_expression + SUBTYPE OF ( string_expression, multiple_arity_generic_expression ); + DERIVE + operand : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + index1 : generic_expression := SELF\multiple_arity_generic_expression.operands[2]; + index2 : generic_expression := SELF\multiple_arity_generic_expression.operands[3]; + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' IN TYPEOF( operand ) ) AND + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( index1 ) ) AND + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( index2 ) ) ); + wr2: ( SIZEOF( SELF\multiple_arity_generic_expression.operands ) = 3 ); + wr3: is_int_expr( index1 ); + wr4: is_int_expr( index2 ); + END_ENTITY; + + ENTITY summary_report_request + SUBTYPE OF ( data_quality_report_request ); + summary_report_request_type : summary_report_type; + END_ENTITY; + + ENTITY supplied_part_relationship + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY surface + SUPERTYPE OF ( + ONEOF ( + elementary_surface, + swept_surface, + bounded_surface, + offset_surface, + surface_replica ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY surface_condition_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( c <* SELF.contents | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ANNOTATION_CURVE_OCCURRENCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ANNOTATION_SYMBOL_OCCURRENCE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ANNOTATION_TEXT_OCCURRENCE' ] * TYPEOF( c ) ) <> 1 ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_curve + SUPERTYPE OF ( + ONEOF ( + intersection_curve, + seam_curve ) + ANDOR + bounded_surface_curve ) + SUBTYPE OF ( curve ); + curve_3d : curve; + associated_geometry : LIST [1 : 2] OF pcurve_or_surface; + master_representation : preferred_surface_curve_representation; + DERIVE + basis_surface : SET [1 : 2] OF surface := get_basis_surface( SELF ); + WHERE + wr1: ( curve_3d.dim = 3 ); + wr2: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( associated_geometry[1] ) ) + OR ( master_representation <> pcurve_s1 ) ); + wr3: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( associated_geometry[2] ) ) + OR ( master_representation <> pcurve_s2 ) ); + wr4: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( curve_3d ) ) ); + END_ENTITY; + + ENTITY surface_curve_swept_area_solid + SUBTYPE OF ( swept_area_solid ); + directrix : curve; + start_param : REAL; + end_param : REAL; + reference_surface : surface; + WHERE + wr1: ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( directrix ) ) ) + OR ( reference_surface IN directrix\surface_curve.basis_surface ) ); + END_ENTITY; + + ENTITY surface_distance_assembly_constraint_with_dimension + SUBTYPE OF ( binary_assembly_constraint, sdgc_with_dimension ); + END_ENTITY; + + ENTITY surface_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 2] OF surface; + SELF\explicit_constraint.reference_elements : SET [0 : 4] OF point_curve_or_surface_constraint_element; + near_points : SET [0 : 4] OF near_point_relationship; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SDGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND + ( SIZEOF( SELF\explicit_constraint.constrained_elements ) = 2 ) ) ); + wr2: ( SIZEOF( near_points ) <= SIZEOF( SELF\explicit_constraint.reference_elements ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_of_linear_extrusion + SUBTYPE OF ( swept_surface ); + extrusion_axis : vector; + END_ENTITY; + + ENTITY surface_of_revolution + SUBTYPE OF ( swept_surface ); + axis_position : axis1_placement; + DERIVE + axis_line : line := representation_item( '' ) || geometric_representation_item( ) || curve( ) || line( axis_position. + location, representation_item( '' ) || geometric_representation_item( ) || vector( axis_position.z, 1 ) ); + END_ENTITY; + + ENTITY surface_pair + ABSTRACT SUPERTYPE OF ( + ONEOF ( + sliding_surface_pair, + rolling_surface_pair ) + ANDOR + surface_pair_with_range ) + SUBTYPE OF ( high_order_kinematic_pair ); + surface_1 : surface; + surface_2 : surface; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( surface_1 IN r.items ) ) ) ) = + 0 ); + wr2: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( surface_2 IN r.items ) ) ) ) = + 0 ); + wr3: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY surface_pair_with_range + SUBTYPE OF ( surface_pair ); + range_on_surface_1 : rectangular_trimmed_surface; + range_on_surface_2 : rectangular_trimmed_surface; + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( SELF\surface_pair.surface_1 :=: range_on_surface_1.basis_surface ); + wr2: ( SELF\surface_pair.surface_2 :=: range_on_surface_2.basis_surface ); + wr3: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_surface_1 IN r.items ) ) ) ) + = 0 ); + wr5: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( range_on_surface_2 IN r.items ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY surface_patch + SUBTYPE OF ( founded_item ); + parent_surface : bounded_surface; + u_transition : transition_code; + v_transition : transition_code; + u_sense : BOOLEAN; + v_sense : BOOLEAN; + INVERSE + using_surfaces : BAG [1 : ?] OF rectangular_composite_surface FOR segments; + WHERE + wr1: ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF( + parent_surface ) ) ); + END_ENTITY; + + ENTITY surface_patch_set + SUBTYPE OF ( geometric_representation_item ); + patches : SET [1 : ?] OF surface_patch; + END_ENTITY; + + ENTITY surface_prepped_terminal + SUBTYPE OF ( altered_package_terminal ); + END_ENTITY; + + ENTITY surface_profile_tolerance + SUBTYPE OF ( geometric_tolerance ); + END_ENTITY; + + ENTITY surface_rendering_properties; + rendered_colour : colour; + END_ENTITY; + + ENTITY surface_replica + SUBTYPE OF ( surface ); + parent_surface : surface; + transformation : cartesian_transformation_operator_3d; + WHERE + wr1: acyclic_surface_replica( SELF, parent_surface ); + END_ENTITY; + + ENTITY surface_side_style + SUBTYPE OF ( founded_item ); + name : label; + styles : SET [1 : 7] OF surface_style_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( SIZEOF( QUERY ( style2 <* ( SELF.styles - style1 ) | ( TYPEOF( style1 ) = + TYPEOF( style2 ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_smoothness_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 1] OF surface_patch_set; + u_smoothness : transition_code; + v_smoothness : transition_code; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY surface_style_boundary + SUBTYPE OF ( founded_item ); + style_of_boundary : curve_or_render; + END_ENTITY; + + ENTITY surface_style_control_grid + SUBTYPE OF ( founded_item ); + style_of_control_grid : curve_or_render; + END_ENTITY; + + ENTITY surface_style_fill_area + SUBTYPE OF ( founded_item ); + fill_area : fill_area_style; + END_ENTITY; + + ENTITY surface_style_parameter_line + SUBTYPE OF ( founded_item ); + style_of_parameter_lines : curve_or_render; + direction_counts : SET [1 : 2] OF direction_count_select; + WHERE + wr1: ( ( HIINDEX( SELF.direction_counts ) = 1 ) XOR ( TYPEOF( SELF.direction_counts[1] ) <> TYPEOF( SELF.direction_counts[2] ) ) ); + END_ENTITY; + + ENTITY surface_style_reflectance_ambient; + ambient_reflectance : REAL; + END_ENTITY; + + ENTITY surface_style_reflectance_ambient_diffuse + SUBTYPE OF ( surface_style_reflectance_ambient ); + diffuse_reflectance : REAL; + END_ENTITY; + + ENTITY surface_style_reflectance_ambient_diffuse_specular + SUBTYPE OF ( surface_style_reflectance_ambient_diffuse ); + specular_reflectance : REAL; + specular_exponent : REAL; + specular_colour : colour; + END_ENTITY; + + ENTITY surface_style_rendering; + rendering_method : shading_surface_method; + surface_colour : colour; + END_ENTITY; + + ENTITY surface_style_rendering_with_properties + SUBTYPE OF ( surface_style_rendering ); + properties : SET [1 : 2] OF rendering_properties_select; + WHERE + wr1: ( ( HIINDEX( SELF.properties ) = 1 ) XOR ( TYPEOF( SELF.properties[1] ) <> TYPEOF( SELF.properties[2] ) ) ); + END_ENTITY; + + ENTITY surface_style_segmentation_curve + SUBTYPE OF ( founded_item ); + style_of_segmentation_curve : curve_or_render; + END_ENTITY; + + ENTITY surface_style_silhouette + SUBTYPE OF ( founded_item ); + style_of_silhouette : curve_or_render; + END_ENTITY; + + ENTITY surface_style_transparent; + transparency : REAL; + WHERE + wr1: ( ( 0 <= transparency ) AND ( transparency <= 1 ) ); + END_ENTITY; + + ENTITY surface_style_usage + SUBTYPE OF ( founded_item ); + side : surface_side; + style : surface_side_style_select; + END_ENTITY; + + ENTITY surface_texture_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'VALUE_RANGE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' ] * TYPEOF( i ) ) <> 1 ) ) ) = 0 ); + wr2: ( ( SIZEOF( QUERY ( i <* SELF.items | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( i <* SELF.items | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN + TYPEOF( i ) ) AND ( i.name = 'measuring method' ) ) ) ) = 1 ) ); + wr3: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'VALUE_RANGE' ] * TYPEOF( i ) ) = 1 ) ) ) > 0 ); + wr4: ( ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.' + 'REP_1' ) ) <= 1 ) AND ( SIZEOF( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2' ) ) + = 0 ) AND ( SIZEOF( QUERY ( rr <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.' + 'REP_1' ) | ( rr.rep_2.name = 'measuring direction' ) ) ) = SIZEOF( USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_1' ) ) ) ); + wr5: ( ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + + 'DERIVED_DEFINITION' ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa.base_definition ) ) AND ( gpa\general_property_association.base_definition\ + general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY surface_with_excessive_patches_in_one_direction + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY surface_with_small_curvature_radius + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_SURFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY surfaced_open_shell + SUBTYPE OF ( open_shell ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\connected_face_set.cfs_faces | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF( q ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY swept_area_solid + SUPERTYPE OF ( + ONEOF ( + revolved_area_solid, + extruded_area_solid, + surface_curve_swept_area_solid ) ) + SUBTYPE OF ( solid_model ); + swept_area : curve_bounded_surface; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( swept_area.basis_surface ) ); + END_ENTITY; + + ENTITY swept_curve_surface_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF surface; + SELF\explicit_constraint.reference_elements : SET [1 : 1] OF swept_surface_or_solid; + END_ENTITY; + + ENTITY swept_disk_solid + SUBTYPE OF ( solid_model ); + directrix : curve; + radius : positive_length_measure; + inner_radius : OPTIONAL positive_length_measure; + start_param : REAL; + end_param : REAL; + WHERE + wr1: ( directrix.dim = 3 ); + wr2: ( ( NOT EXISTS( inner_radius ) ) OR ( radius > inner_radius ) ); + END_ENTITY; + + ENTITY swept_face_solid + SUPERTYPE OF ( + ONEOF ( + extruded_face_solid, + revolved_face_solid ) ) + SUBTYPE OF ( solid_model ); + swept_face : face_surface; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( swept_face.face_geometry ) ); + END_ENTITY; + + ENTITY swept_point_curve_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF curve; + SELF\explicit_constraint.reference_elements : SET [1 : 1] OF swept_face_solid; + END_ENTITY; + + ENTITY swept_surface + SUPERTYPE OF ( + ONEOF ( + surface_of_linear_extrusion, + surface_of_revolution ) ) + SUBTYPE OF ( surface ); + swept_curve : curve; + END_ENTITY; + + ENTITY symbol + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY symbol_colour; + colour_of_symbol : colour; + END_ENTITY; + + ENTITY symbol_representation + SUBTYPE OF ( representation ); + END_ENTITY; + + ENTITY symbol_representation_map + SUBTYPE OF ( representation_map ); + SELF\representation_map.mapped_representation : symbol_representation; + SELF\representation_map.mapping_origin : axis2_placement; + WHERE + wr1: ( SIZEOF( QUERY ( mi <* SELF\representation_map.map_usage | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF( mi ) ) ) ) ) = + 0 ); + END_ENTITY; + + ENTITY symbol_style + SUBTYPE OF ( founded_item ); + name : label; + style_of_symbol : symbol_style_select; + END_ENTITY; + + ENTITY symbol_target + SUBTYPE OF ( geometric_representation_item ); + placement : axis2_placement; + x_scale : positive_ratio_measure; + y_scale : positive_ratio_measure; + END_ENTITY; + + ENTITY symmetric_shape_aspect + SUBTYPE OF ( shape_aspect ); + INVERSE + basis_relationships : SET [1 : ?] OF shape_aspect_deriving_relationship FOR related_shape_aspect; + END_ENTITY; + + ENTITY symmetry_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [2 : 2] OF geometric_representation_item; + mirror_element : linear_geometry_constraint_element; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + wr2: ( SIZEOF( TYPEOF( mirror_element ) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' ] ) = 0 ); + wr3: ( NOT ( ( SELF\geometric_representation_item.dim = 2 ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( mirror_element ) ) ) ); + END_ENTITY; + + ENTITY symmetry_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY table_representation_item + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( itet <* SELF\compound_representation_item.item_element | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROW_REPRESENTATION_ITEM' IN TYPEOF( itet ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY tactile_appearance_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'VALUE_RANGE' ] * TYPEOF( i ) ) <> 1 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( name = 'depth' ) ) ) <= 1 ); + wr3: ( ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + + 'DERIVED_DEFINITION' ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa.base_definition ) ) AND ( gpa\general_property_association.base_definition\ + general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY tagged_text_format + SUBTYPE OF ( representation_context ); + END_ENTITY; + + ENTITY tagged_text_item + SUBTYPE OF ( descriptive_representation_item ); + END_ENTITY; + + ENTITY tan_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY tangent + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY tangent_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, tangent_geometric_constraint ); + END_ENTITY; + + ENTITY tangent_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF curve_or_surface_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF curve_or_surface_constraint_element; + near_points : SET [0 : ?] OF near_point_relationship; + tangent_contact : tangent_contact_type; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( NOT ( ( SELF\geometric_representation_item.dim = 2 ) AND ( tangent_contact = surface_contact ) ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY taper + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2: ( SELF.description IN [ 'angle taper', 'diameter taper', 'directed taper'] ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr5: ( ( NOT ( SELF.description = 'angle taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'taper angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( SELF.description = 'diameter taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'final diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7: ( ( NOT ( SELF.description = 'directed taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8: ( ( NOT ( SELF.description = 'directed taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'direction' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY teardrop_by_angle_template + SUBTYPE OF ( teardrop_template ); + END_ENTITY; + + ENTITY teardrop_by_length_template + SUBTYPE OF ( teardrop_template ); + END_ENTITY; + + ENTITY teardrop_template + ABSTRACT SUPERTYPE OF ( + ONEOF ( + snowball_template, + teardrop_by_angle_template, + teardrop_by_length_template ) ) + SUBTYPE OF ( parametric_template, single_stratum_template ); + END_ENTITY; + + ENTITY tee_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 9 ) ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 10 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* pdr.used_representation.items | ( ( srwp_i. + name = 'orientation' ) OR ( srwp_i.name = 'width' ) OR ( srwp_i.name = 'depth' ) OR ( srwp_i.name = + 'cross bar width' ) OR ( srwp_i.name = 'cross bar depth' ) OR ( srwp_i.name = 'first offset' ) OR ( srwp_i.name + = 'second offset' ) OR ( srwp_i.name = 'first angle' ) OR ( srwp_i.name = 'second angle' ) OR ( srwp_i.name = + 'radius' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'cross bar width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'cross bar depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'first offset' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'second offset' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'first angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'second angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr15: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY template_material_cross_section_boundary + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY terminator_symbol + SUBTYPE OF ( annotation_symbol_occurrence ); + annotated_curve : annotation_curve_occurrence; + END_ENTITY; + + ENTITY tertiary_orientation_feature + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF.product_definitional = TRUE ); + END_ENTITY; + + ENTITY tessellated_annotation_occurrence + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : tessellated_geometric_set; + END_ENTITY; + + ENTITY tessellated_connecting_edge + SUBTYPE OF ( tessellated_edge ); + smooth : LOGICAL; + face1 : tessellated_face; + face2 : tessellated_face; + line_strip_face1 : LIST [2 : ?] OF INTEGER; + line_strip_face2 : LIST [2 : ?] OF INTEGER; + WHERE + wr1: ( SIZEOF( line_strip_face1 ) = SIZEOF( line_strip_face2 ) ); + wr2: ( SIZEOF( line_strip_face1 ) = SIZEOF( SELF\tessellated_edge.line_strip ) ); + END_ENTITY; + + ENTITY tessellated_curve_set + SUBTYPE OF ( tessellated_item ); + coordinates : coordinates_list; + line_strips : LIST [1 : ?] OF LIST [2 : ?] OF INTEGER; + END_ENTITY; + + ENTITY tessellated_edge + SUBTYPE OF ( tessellated_structured_item ); + coordinates : coordinates_list; + geometric_link : OPTIONAL edge_or_curve; + line_strip : LIST [2 : ?] OF INTEGER; + END_ENTITY; + + ENTITY tessellated_face + ABSTRACT SUPERTYPE OF ( + ONEOF ( + triangulated_face, + complex_triangulated_face ) ) + SUBTYPE OF ( tessellated_structured_item ); + coordinates : coordinates_list; + pnmax : INTEGER; + normals : LIST [0 : ?] OF LIST [3 : 3] OF REAL; + geometric_link : OPTIONAL face_or_surface; + WHERE + wr1: ( ( SIZEOF( normals ) = 0 ) OR ( SIZEOF( normals ) = 1 ) OR ( SIZEOF( normals ) = pnmax ) ); + END_ENTITY; + + ENTITY tessellated_geometric_set + SUBTYPE OF ( tessellated_item ); + children : SET [1 : ?] OF tessellated_item; + END_ENTITY; + + ENTITY tessellated_item + ABSTRACT SUPERTYPE OF ( + ONEOF ( + coordinates_list, + tessellated_solid, + tessellated_shell, + tessellated_wire, + tessellated_geometric_set, + tessellated_curve_set, + tessellated_point_set, + tessellated_surface_set, + tessellated_structured_item ) ) + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( using_rep <* using_representations( SELF ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' IN TYPEOF( + using_rep ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY tessellated_point_set + SUBTYPE OF ( tessellated_item ); + coordinates : coordinates_list; + point_list : LIST [1 : ?] OF INTEGER; + END_ENTITY; + + ENTITY tessellated_shape_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF tessellated_item; + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF( SELF\ + representation.context_of_items ) ); + END_ENTITY; + + ENTITY tessellated_shell + SUBTYPE OF ( tessellated_item ); + items : SET [1 : ?] OF tessellated_structured_item; + topological_link : OPTIONAL connected_face_set; + END_ENTITY; + + ENTITY tessellated_solid + SUBTYPE OF ( tessellated_item ); + items : SET [1 : ?] OF tessellated_structured_item; + geometric_link : OPTIONAL manifold_solid_brep; + END_ENTITY; + + ENTITY tessellated_structured_item + SUPERTYPE OF ( + ONEOF ( + tessellated_face, + tessellated_edge, + tessellated_vertex ) ) + SUBTYPE OF ( tessellated_item ); + END_ENTITY; + + ENTITY tessellated_surface_set + ABSTRACT SUPERTYPE OF ( + ONEOF ( + triangulated_surface_set, + complex_triangulated_surface_set ) ) + SUBTYPE OF ( tessellated_item ); + coordinates : coordinates_list; + pnmax : INTEGER; + normals : LIST [0 : ?] OF LIST [3 : 3] OF REAL; + WHERE + wr1: ( ( SIZEOF( normals ) = 0 ) OR ( SIZEOF( normals ) = 1 ) OR ( SIZEOF( normals ) = pnmax ) ); + END_ENTITY; + + ENTITY tessellated_vertex + SUBTYPE OF ( tessellated_structured_item ); + coordinates : coordinates_list; + topological_link : OPTIONAL vertex_point; + point_index : INTEGER; + END_ENTITY; + + ENTITY tessellated_wire + SUBTYPE OF ( tessellated_item ); + items : SET [1 : ?] OF tessellated_edge_or_vertex; + geometric_model_link : OPTIONAL path_or_composite_curve; + END_ENTITY; + + ENTITY test_method_based_parameter_assignment + SUBTYPE OF ( parameter_assignment ); + END_ENTITY; + + ENTITY test_point_part_feature + SUBTYPE OF ( part_tooling_feature ); + END_ENTITY; + + ENTITY text_font; + id : identifier; + name : label; + description : text; + INVERSE + glyphs : SET [1 : ?] OF character_glyph_font_usage FOR font; + END_ENTITY; + + ENTITY text_font_family; + id : identifier; + name : label; + description : text; + INVERSE + fonts : SET [1 : ?] OF text_font_in_family FOR family; + END_ENTITY; + + ENTITY text_font_in_family; + font : text_font; + family : text_font_family; + END_ENTITY; + + ENTITY text_literal + SUBTYPE OF ( geometric_representation_item ); + literal : presentable_text; + placement : axis2_placement; + alignment : text_alignment; + path : text_path; + font : font_select; + END_ENTITY; + + ENTITY text_literal_with_associated_curves + SUBTYPE OF ( text_literal ); + associated_curves : SET [1 : ?] OF curve; + END_ENTITY; + + ENTITY text_literal_with_blanking_box + SUBTYPE OF ( text_literal ); + blanking : planar_box; + END_ENTITY; + + ENTITY text_literal_with_delineation + SUBTYPE OF ( text_literal ); + delineation : text_delineation; + END_ENTITY; + + ENTITY text_literal_with_extent + SUBTYPE OF ( text_literal ); + extent : planar_extent; + END_ENTITY; + + ENTITY text_string_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF text_string_representation_item; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_CHARACTER' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEFINED_CHARACTER_GLYPH' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' ] * TYPEOF( item ) ) = 0 ) ) ) ) + >= 1 ); + wr2: ( SIZEOF( QUERY ( a2p <* QUERY ( item <* SELF\representation.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF( item ) ) ) | ( + NOT ( ( SIZEOF( QUERY ( at <* QUERY ( item <* SELF\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ANNOTATION_TEXT' ) IN TYPEOF( item ) ) ) + | ( at\mapped_item.mapping_target :=: a2p ) ) ) >= 1 ) OR ( SIZEOF( QUERY ( atc <* QUERY ( item <* SELF\ + representation.items | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ANNOTATION_TEXT_CHARACTER' ) IN TYPEOF( item ) ) ) | ( atc\mapped_item.mapping_target :=: a2p ) ) ) >= 1 ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY text_style + SUBTYPE OF ( founded_item ); + name : label; + character_appearance : character_style_select; + END_ENTITY; + + ENTITY text_style_for_defined_font; + text_colour : colour; + END_ENTITY; + + ENTITY text_style_with_box_characteristics + SUBTYPE OF ( text_style ); + characteristics : SET [1 : 4] OF box_characteristic_select; + WHERE + wr1: ( SIZEOF( QUERY ( c1 <* SELF.characteristics | ( SIZEOF( QUERY ( c2 <* ( SELF.characteristics - c1 ) | ( TYPEOF( c1 ) + = TYPEOF( c2 ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY text_style_with_mirror + SUBTYPE OF ( text_style ); + mirror_placement : axis2_placement; + END_ENTITY; + + ENTITY text_style_with_spacing + SUBTYPE OF ( text_style ); + character_spacing : character_spacing_select; + END_ENTITY; + + ENTITY thermal_component + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY thermal_feature + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY thermal_isolation_removal_component + SUBTYPE OF ( material_removal_structured_component ); + END_ENTITY; + + ENTITY thermal_isolation_removal_template + SUBTYPE OF ( material_removal_structured_template ); + END_ENTITY; + + ENTITY thermal_network + SUBTYPE OF ( functional_unit ); + END_ENTITY; + + ENTITY thermal_network_node_definition + SUBTYPE OF ( network_node_definition ); + END_ENTITY; + + ENTITY thermal_requirement_allocation + SUBTYPE OF ( requirement_assignment ); + END_ENTITY; + + ENTITY thermal_resistance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMAL_RESISTANCE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY thermal_resistance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( -1, -1, -3, 0, 1, 0, 0 ) ); + END_ENTITY; + + ENTITY thermodynamic_temperature_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF( SELF\ + measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY thermodynamic_temperature_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 1 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY thickened_face_solid + SUBTYPE OF ( solid_model ); + base_element : generalized_surface_select; + offset1 : length_measure; + offset2 : length_measure; + WHERE + wr1: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF( base_element ) ) AND + ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_SURFACE' IN TYPEOF( + base_element ) ) ) ) ); + wr2: ( offset1 <> offset2 ); + END_ENTITY; + + ENTITY thickness_laminate_table + SUBTYPE OF ( zone_structural_makeup ); + END_ENTITY; + + ENTITY thread + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( 8 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 11 ) ) ) ) = 1 ) ) ) = 1 ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'major diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'minor diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'pitch diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'number of threads' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'fit class' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'form' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'hand' ) AND ( it.description IN [ 'left', 'right'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'qualifier' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'thread side' ) AND ( ( it.description = 'internal' ) OR ( it.description = 'external' ) ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'crest' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'partial area occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied area usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_AREA' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'fit class 2' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr15: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'nominal size' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr16: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'thread runout' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'thread runout usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THREAD_RUNOUT' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) <= 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY thread_runout + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( SELF. + of_shape ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep.used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* pdr.used_representation.items | ( NOT ( srwp_i. + name IN [ 'length of runout', 'pitch or dimension', 'included or extra'] ) ) ) ) > 0 ) ) ) ) = 0 ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = + 2 ) AND ( it.name = 'length of runout' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) <= 1 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'pitch or dimension' ) AND ( it.description IN [ 'pitch', 'pitch or dimension'] ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'included or extra' ) AND ( it.description IN [ 'included', 'extra'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY through_port_variable + SUBTYPE OF ( port_variable ); + END_ENTITY; + + ENTITY tiebar_printed_component + SUBTYPE OF ( printed_component, structured_layout_component ); + END_ENTITY; + + ENTITY tile_area_template + SUBTYPE OF ( fill_area_template ); + END_ENTITY; + + ENTITY time_interval; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY time_interval_assignment + ABSTRACT SUPERTYPE; + assigned_time_interval : time_interval; + role : time_interval_role; + END_ENTITY; + + ENTITY time_interval_based_effectivity + SUBTYPE OF ( effectivity ); + effectivity_period : time_interval; + END_ENTITY; + + ENTITY time_interval_relationship; + name : label; + description : OPTIONAL text; + relating_time_interval : time_interval; + related_time_interval : time_interval; + END_ENTITY; + + ENTITY time_interval_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY time_interval_with_bounds + SUBTYPE OF ( time_interval ); + primary_bound : OPTIONAL date_time_or_event_occurrence; + secondary_bound : OPTIONAL date_time_or_event_occurrence; + duration : OPTIONAL time_measure_with_unit; + WHERE + wr1: ( EXISTS( primary_bound ) OR EXISTS( secondary_bound ) ); + wr2: ( NOT ( EXISTS( primary_bound ) AND EXISTS( secondary_bound ) AND EXISTS( duration ) ) ); + wr3: ( EXISTS( primary_bound ) AND ( NOT EXISTS( secondary_bound ) ) AND ( ( NOT EXISTS( duration ) ) OR + duration_is_positive( duration ) ) ); + wr4: ( EXISTS( secondary_bound ) AND ( NOT EXISTS( primary_bound ) ) AND EXISTS( duration ) AND duration_is_negative( + duration ) ); + END_ENTITY; + + ENTITY time_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TIME_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY time_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 1 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY tolerance_value; + lower_bound : measure_with_unit; + upper_bound : measure_with_unit; + DERIVE + ubvc : REAL := upper_bound\measure_with_unit.value_component; + lbvc : REAL := lower_bound\measure_with_unit.value_component; + WHERE + wr1: ( ubvc > lbvc ); + wr2: ( upper_bound\measure_with_unit.unit_component = lower_bound\measure_with_unit.unit_component ); + END_ENTITY; + + ENTITY tolerance_zone + SUBTYPE OF ( shape_aspect ); + defining_tolerance : SET [1 : ?] OF tolerance_zone_target; + form : tolerance_zone_form; + END_ENTITY; + + ENTITY tolerance_zone_definition + SUPERTYPE OF ( + ONEOF ( + projected_zone_definition, + non_uniform_zone_definition, + runout_zone_definition ) ); + zone : tolerance_zone; + boundaries : SET [0 : ?] OF shape_aspect; + END_ENTITY; + + ENTITY tolerance_zone_form; + name : label; + END_ENTITY; + + ENTITY tool_registration_mark + SUBTYPE OF ( part_tooling_feature ); + END_ENTITY; + + ENTITY topological_representation_item + SUPERTYPE OF ( + ONEOF ( + vertex, + edge, + face_bound, + face, + vertex_shell, + wire_shell, + connected_edge_set, + connected_face_set, + loop + ANDOR + path ) ) + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY topology_related_to_multiply_defined_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + multiply_defined_faces, + multiply_defined_vertices, + multiply_defined_edges ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY topology_related_to_nearly_degenerate_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + short_length_edge, + small_area_face, + entirely_narrow_face ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY topology_related_to_overlapping_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + partly_overlapping_faces, + partly_overlapping_edges ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY topology_related_to_self_intersecting_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + self_intersecting_loop, + self_intersecting_shell, + intersecting_connected_face_sets ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY toroidal_surface + SUBTYPE OF ( elementary_surface ); + major_radius : positive_length_measure; + minor_radius : positive_length_measure; + END_ENTITY; + + ENTITY torus + SUBTYPE OF ( geometric_representation_item ); + position : axis1_placement; + major_radius : positive_length_measure; + minor_radius : positive_length_measure; + WHERE + wr1: ( major_radius > minor_radius ); + END_ENTITY; + + ENTITY total_runout_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY trace_template + SUPERTYPE OF ( + default_trace_template ) + SUBTYPE OF ( parametric_template ); + END_ENTITY; + + ENTITY track_blended_solid + ABSTRACT SUPERTYPE + SUBTYPE OF ( edge_blended_solid ); + WHERE + wr1: check_continuous_edges( SELF\edge_blended_solid.blended_edges ); + END_ENTITY; + + ENTITY track_blended_solid_with_end_conditions + SUBTYPE OF ( track_blended_solid ); + end_conditions : LIST [2 : 2] OF blend_end_condition_select; + WHERE + wr1: ( SIZEOF( TYPEOF( SELF ) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SOLID_WITH_VARIABLE_RADIUS_EDGE_BLEND' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SOLID_WITH_CHAMFERED_EDGES' ] ) = 1 ); + wr2: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF( end_conditions[1] ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF( end_conditions[2] ) ) ) ); + wr3: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF( end_conditions[1] ) ) + AND ( NOT ( ( end_conditions[1] :=: SELF\edge_blended_solid.blended_edges[1].edge_start ) XOR ( end_conditions[1] + :=: SELF\edge_blended_solid.blended_edges[1].edge_end ) ) ) ) ); + wr4: ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF( end_conditions[2] ) ) + AND ( NOT ( ( end_conditions[2] :=: SELF\edge_blended_solid.blended_edges[HIINDEX( SELF\edge_blended_solid. + blended_edges )].edge_start ) XOR ( end_conditions[2] :=: SELF\edge_blended_solid.blended_edges[HIINDEX( SELF\ + edge_blended_solid.blended_edges )].edge_end ) ) ) ) ); + END_ENTITY; + + ENTITY transform_port_variable + SUBTYPE OF ( port_variable ); + END_ENTITY; + + ENTITY transformation_with_derived_angle + SUPERTYPE OF ( + ONEOF ( + draped_defined_transformation, + laid_defined_transformation ) ) + SUBTYPE OF ( item_defined_transformation ); + SELF\item_defined_transformation.transform_item_1 : angle_direction_reference_with_a2p3d_select; + SELF\item_defined_transformation.transform_item_2 : axis2_placement_3d; + DERIVE + orientation_angle : plane_angle_measure := derive_angle( SELF\item_defined_transformation.transform_item_1, SELF\ + item_defined_transformation.transform_item_2 ); + WHERE + wr1: ( ( SELF\item_defined_transformation.transform_item_1\axis2_placement_3d.p[3].direction_ratios[1] = SELF\ + item_defined_transformation.transform_item_2\axis2_placement_3d.p[3].direction_ratios[1] ) AND ( SELF\ + item_defined_transformation.transform_item_1\axis2_placement_3d.p[3].direction_ratios[2] = SELF\ + item_defined_transformation.transform_item_2\axis2_placement_3d.p[3].direction_ratios[2] ) AND ( SELF\ + item_defined_transformation.transform_item_1\axis2_placement_3d.p[3].direction_ratios[3] = SELF\ + item_defined_transformation.transform_item_2\axis2_placement_3d.p[3].direction_ratios[3] ) ); + END_ENTITY; + + ENTITY transition_feature + SUPERTYPE OF ( + ONEOF ( + chamfer, + edge_round, + fillet ) ) + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOUND_FEATURE' ] * TYPEOF( SELF.of_shape. + definition ) ) = 1 ); + wr2: ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_ROUND' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILLET' ] * TYPEOF( SELF ) ) = 1 ); + END_ENTITY; + + ENTITY triangulated_face + SUBTYPE OF ( tessellated_face ); + pnindex : LIST [0 : ?] OF INTEGER; + triangles : LIST [1 : ?] OF LIST [3 : 3] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_face.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_face.pnmax <> coordinates.npoints ) ) ); + END_ENTITY; + + ENTITY triangulated_surface_set + SUBTYPE OF ( tessellated_surface_set ); + pnindex : LIST [0 : ?] OF INTEGER; + triangles : LIST [1 : ?] OF LIST [3 : 3] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_surface_set.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_surface_set.pnmax <> coordinates.npoints ) ) ); + END_ENTITY; + + ENTITY trimmed_curve + SUBTYPE OF ( bounded_curve ); + basis_curve : curve; + trim_1 : SET [1 : 2] OF trimming_select; + trim_2 : SET [1 : 2] OF trimming_select; + sense_agreement : BOOLEAN; + master_representation : trimming_preference; + WHERE + wr1: ( ( HIINDEX( trim_1 ) = 1 ) OR ( TYPEOF( trim_1[1] ) <> TYPEOF( trim_1[2] ) ) ); + wr2: ( ( HIINDEX( trim_2 ) = 1 ) OR ( TYPEOF( trim_2[1] ) <> TYPEOF( trim_2[2] ) ) ); + END_ENTITY; + + ENTITY turned_knurl + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF\characterized_object.description IN [ 'diamond', 'diagonal', 'straight'] ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( 6 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 9 ) ) ) ) = 1 ) ) ) = 1 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'number of teeth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'major diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'nominal diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'tooth depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'root fillet' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'diametral pitch' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( ( NOT ( SELF\characterized_object.description IN [ 'diamond', 'diagonal'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'helix angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description = 'diagonal' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( + it ) ) AND ( it.name = 'helix hand' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr11: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ. + description = 'partial area occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied area usage' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_AREA' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( + QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY two_direction_repeat_factor + SUBTYPE OF ( one_direction_repeat_factor ); + second_repeat_factor : vector; + END_ENTITY; + + ENTITY type_qualifier; + name : label; + END_ENTITY; + + ENTITY unary_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + not_expression, + odd_function ) ) + SUBTYPE OF ( boolean_expression, unary_generic_expression ); + END_ENTITY; + + ENTITY unary_function_call + ABSTRACT SUPERTYPE OF ( + ONEOF ( + abs_function, + minus_function, + sin_function, + cos_function, + tan_function, + asin_function, + acos_function, + exp_function, + log_function, + log2_function, + log10_function, + square_root_function ) ) + SUBTYPE OF ( unary_numeric_expression ); + END_ENTITY; + + ENTITY unary_generic_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( generic_expression ); + operand : generic_expression; + END_ENTITY; + + ENTITY unary_numeric_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( numeric_expression, unary_generic_expression ); + SELF\unary_generic_expression.operand : numeric_expression; + END_ENTITY; + + ENTITY unbound_parameter_environment + SUBTYPE OF ( environment ); + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN TYPEOF( SELF + \environment.syntactic_representation ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'UNBOUND_VARIATIONAL_PARAMETER_SEMANTICS' IN TYPEOF( SELF\environment.semantics ) ) ); + END_ENTITY; + + ENTITY unbound_variational_parameter + SUBTYPE OF ( variational_parameter ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNBOUND_PARAMETER_ENVIRONMENT' IN TYPEOF( SELF\ + generic_variable.interpretation ) ); + END_ENTITY; + + ENTITY unbound_variational_parameter_semantics + SUBTYPE OF ( variable_semantics ); + END_ENTITY; + + ENTITY uncertainty_assigned_representation + SUBTYPE OF ( representation ); + uncertainty : SET [1 : ?] OF uncertainty_measure_with_unit; + END_ENTITY; + + ENTITY uncertainty_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + name : label; + description : OPTIONAL text; + WHERE + wr1: valid_measure_value( SELF\measure_with_unit.value_component ); + END_ENTITY; + + ENTITY uncertainty_qualifier + SUPERTYPE OF ( + ONEOF ( + standard_uncertainty, + qualitative_uncertainty ) ); + measure_name : label; + description : text; + END_ENTITY; + + ENTITY unconstrained_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY unconstrained_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : unconstrained_pair; + actual_placement : axis2_placement_3d; + END_ENTITY; + + ENTITY unequally_disposed_geometric_tolerance + SUBTYPE OF ( geometric_tolerance ); + displacement : length_measure_with_unit; + WHERE + wr1: ( ( 'NUMBER' IN TYPEOF( SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component ) ) AND + ( SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component > 0 ) ); + END_ENTITY; + + ENTITY uniform_curve + SUBTYPE OF ( b_spline_curve ); + END_ENTITY; + + ENTITY uniform_product_space + SUBTYPE OF ( maths_space, generic_literal ); + base : maths_space; + exponent : positive_integer; + WHERE + wr1: expression_is_constant( base ); + wr2: no_cyclic_space_reference( SELF, [] ); + wr3: ( base <> the_empty_space ); + END_ENTITY; + + ENTITY uniform_resource_identifier + SUBTYPE OF ( descriptive_representation_item ); + END_ENTITY; + + ENTITY uniform_surface + SUBTYPE OF ( b_spline_surface ); + END_ENTITY; + + ENTITY universal_pair + SUBTYPE OF ( low_order_kinematic_pair ); + input_skew_angle : OPTIONAL plane_angle_measure; + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + skew_angle : plane_angle_measure := NVL( input_skew_angle, 0 ); + WHERE + wr1: ( COS( plane_angle_for_pair_in_radian( SELF, skew_angle ) ) > 0 ); + END_ENTITY; + + ENTITY universal_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : universal_pair; + first_rotation_angle : plane_angle_measure; + second_rotation_angle : plane_angle_measure; + END_ENTITY; + + ENTITY universal_pair_with_range + SUBTYPE OF ( universal_pair ); + lower_limit_first_rotation : OPTIONAL plane_angle_measure; + upper_limit_first_rotation : OPTIONAL plane_angle_measure; + lower_limit_second_rotation : OPTIONAL plane_angle_measure; + upper_limit_second_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_first_rotation ) ) OR ( NOT EXISTS( upper_limit_first_rotation ) ) ) XOR ( + lower_limit_first_rotation < upper_limit_first_rotation ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_second_rotation ) ) OR ( NOT EXISTS( upper_limit_second_rotation ) ) ) XOR ( + lower_limit_second_rotation < upper_limit_second_rotation ) ); + END_ENTITY; + + ENTITY unplated_cutout_edge_segment + SUBTYPE OF ( cutout_edge_segment ); + END_ENTITY; + + ENTITY unplated_interconnect_module_edge_segment + SUBTYPE OF ( interconnect_module_edge_segment ); + END_ENTITY; + + ENTITY unrouted_conductive_interconnect_element + SUBTYPE OF ( conductive_interconnect_element ); + END_ENTITY; + + ENTITY unsupported_passage + SUBTYPE OF ( inter_stratum_feature ); + END_ENTITY; + + ENTITY unsupported_passage_dependent_land + SUBTYPE OF ( inter_stratum_feature_dependent_land ); + END_ENTITY; + + ENTITY unsupported_passage_template + SUPERTYPE OF ( + ONEOF ( + counterbore_passage_template, + countersunk_passage_template, + blind_passage_template ) ) + SUBTYPE OF ( continuous_template, inter_stratum_feature_template ); + END_ENTITY; + + ENTITY unused_patches + SUBTYPE OF ( overcomplex_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'B_SPLINE_SURFACE_STRIP'] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY unused_shape_element + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM' ] ); + END_ENTITY; + + ENTITY usage_association + SUBTYPE OF ( action_method_relationship ); + SELF\action_method_relationship.relating_method : information_usage_right; + SELF\action_method_relationship.related_method : information_usage_right; + DERIVE + related : information_usage_right := SELF\action_method_relationship.related_method; + relating : information_usage_right := SELF\action_method_relationship.relating_method; + END_ENTITY; + + ENTITY usage_concept_usage_relationship + SUBTYPE OF ( mapped_item, item_identified_representation_usage ); + SELF\item_identified_representation_usage.used_representation : shape_representation; + SELF\item_identified_representation_usage.definition : shape_aspect; + DERIVE + SELF\item_identified_representation_usage.identified_item : usage_concept_usage_relationship := SELF; + WHERE + wr1: ( SELF IN SELF\item_identified_representation_usage.used_representation.items ); + END_ENTITY; + + ENTITY usage_view_connection_zone_terminal_shape_relationship + SUBTYPE OF ( representation, representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : shape_representation; + SELF\representation_relationship.rep_2 : shape_representation; + UNIQUE + ur1 : SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; + WHERE + wr1: ( SELF\representation_relationship.rep_1 <> SELF\representation_relationship.rep_2 ); + END_ENTITY; + + ENTITY user_defined_curve_font + SUBTYPE OF ( curve_style_font, mapped_item ); + END_ENTITY; + + ENTITY user_defined_marker + SUBTYPE OF ( mapped_item, pre_defined_marker ); + END_ENTITY; + + ENTITY user_defined_terminator_symbol + SUBTYPE OF ( mapped_item, pre_defined_symbol ); + END_ENTITY; + + ENTITY user_selected_elements + SUBTYPE OF ( representation_item ); + picked_items : SET [1 : ?] OF representation_item; + END_ENTITY; + + ENTITY user_selected_shape_elements + SUBTYPE OF ( user_selected_elements ); + SELF\user_selected_elements.picked_items : SET [1 : ?] OF shape_representation_item; + END_ENTITY; + + ENTITY valid_range_property_definition_representation + SUBTYPE OF ( property_definition_representation ); + END_ENTITY; + + ENTITY value_format_type_qualifier; + format_type : value_format_type; + END_ENTITY; + + ENTITY value_function + SUPERTYPE OF ( + int_value_function ) + SUBTYPE OF ( numeric_expression, unary_generic_expression ); + SELF\unary_generic_expression.operand : string_expression; + END_ENTITY; + + ENTITY value_range + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SET_REPRESENTATION_ITEM' ) IN TYPEOF( + item_element ) ) AND value_range_wr1( item_element ) ); + wr2: value_range_wr2( item_element ); + wr3: value_range_wr3( item_element ); + END_ENTITY; + + ENTITY value_representation_item + SUBTYPE OF ( representation_item ); + value_component : measure_value; + WHERE + wr1: ( SIZEOF( QUERY ( rep <* using_representations( SELF ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF( rep. + context_of_items ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY variable + ABSTRACT SUPERTYPE OF ( + ONEOF ( + numeric_variable, + boolean_variable, + string_variable ) ) + SUBTYPE OF ( generic_variable ); + END_ENTITY; + + ENTITY variable_expression + SUBTYPE OF ( variable_semantics ); + property_associated : property_variable_rep_select; + END_ENTITY; + + ENTITY variable_semantics + ABSTRACT SUPERTYPE; + END_ENTITY; + + ENTITY variational_current_representation_relationship + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : variational_representation; + current_result : representation; + UNIQUE + ur1 : current_result; + WHERE + wr1: ( QUERY ( q <* SELF\representation_relationship.rep_1.items | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' IN TYPEOF( q ) ) ) ) + = SELF\representation_relationship.rep_2.items ); + wr2: ( SELF\representation_relationship.rep_1.context_of_items :=: SELF\representation_relationship.rep_2.context_of_items ); + wr3: ( SIZEOF( QUERY ( q <* SELF\representation_relationship.rep_2.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' IN TYPEOF( q ) ) ) ) + = 0 ); + wr4: ( ( TYPEOF( SELF\representation_relationship.rep_1 ) - TYPEOF( SELF\representation_relationship.rep_2 ) ) = [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION' ] ); + wr5: ( current_result :=: SELF\representation_relationship.rep_2 ); + END_ENTITY; + + ENTITY variational_parameter + ABSTRACT SUPERTYPE OF ( + ONEOF ( + bound_variational_parameter, + unbound_variational_parameter ) ) + SUBTYPE OF ( variational_representation_item, maths_variable ); + parameter_description : OPTIONAL text; + parameter_current_value : maths_value; + WHERE + wr1: member_of( parameter_current_value, SELF\maths_variable.values_space ); + wr2: ( SELF\maths_variable.name = SELF\representation_item.name ); + END_ENTITY; + + ENTITY variational_representation + SUBTYPE OF ( representation ); + INVERSE + cm_link : variational_current_representation_relationship FOR rep_1; + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' IN TYPEOF( q ) ) ) ) + > 0 ); + wr2: ( SIZEOF( QUERY ( q <* ( SELF\representation.items - cm_link.rep_2.items ) | invalidate_vrep_item( q ) ) ) = 0 ); + END_ENTITY; + + ENTITY variational_representation_item + ABSTRACT SUPERTYPE OF ( + auxiliary_geometric_representation_item ) + SUBTYPE OF ( representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION' IN TYPEOF( q ) ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( NOT ( SELF IN q.items ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY vector + SUBTYPE OF ( geometric_representation_item ); + orientation : direction; + magnitude : length_measure; + WHERE + wr1: ( magnitude >= 0 ); + END_ENTITY; + + ENTITY vector_style + SUBTYPE OF ( curve_style, pre_defined_terminator_symbol ); + END_ENTITY; + + ENTITY vee_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF. + of_shape.definition ) ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep.used_representation.items ) >= 3 ) ) AND ( + SIZEOF( impl_rep.used_representation.items ) <= 6 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* pdr.used_representation.items | ( ( srwp_i. + name = 'orientation' ) OR ( srwp_i.name = 'profile angle' ) OR ( srwp_i.name = 'tilt angle' ) OR ( srwp_i.name = + 'profile radius' ) OR ( srwp_i.name = 'first length' ) OR ( srwp_i.name = 'second length' ) ) ) ) = SIZEOF( pdr. + used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'profile radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'profile angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) + = 2 ) AND ( it.name = 'tilt angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'first length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) + AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it\ + measure_with_unit.value_component ) ) AND ( it.name = 'second length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY velocity_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VELOCITY_UNIT' IN TYPEOF( SELF\measure_with_unit + .unit_component ) ); + END_ENTITY; + + ENTITY velocity_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 1, 0, -1, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY versioned_action_request; + id : identifier; + version : OPTIONAL label; + purpose : text; + description : OPTIONAL text; + END_ENTITY; + + ENTITY versioned_action_request_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_versioned_action_request : versioned_action_request; + related_versioned_action_request : versioned_action_request; + END_ENTITY; + + ENTITY vertex + SUBTYPE OF ( topological_representation_item ); + END_ENTITY; + + ENTITY vertex_loop + SUBTYPE OF ( loop ); + loop_vertex : vertex; + END_ENTITY; + + ENTITY vertex_point + SUBTYPE OF ( vertex, geometric_representation_item ); + vertex_geometry : point; + END_ENTITY; + + ENTITY vertex_shell + SUBTYPE OF ( topological_representation_item ); + vertex_shell_extent : vertex_loop; + END_ENTITY; + + ENTITY via + ABSTRACT SUPERTYPE OF ( + filled_via + ANDOR + ONEOF ( + blind_via, + buried_via, + interfacial_connection ) ) + SUBTYPE OF ( plated_passage ); + END_ENTITY; + + ENTITY via_template + SUBTYPE OF ( continuous_template, inter_stratum_feature_template ); + END_ENTITY; + + ENTITY view_volume + SUBTYPE OF ( founded_item ); + projection_type : central_or_parallel; + projection_point : cartesian_point; + view_plane_distance : length_measure; + front_plane_distance : length_measure; + front_plane_clipping : BOOLEAN; + back_plane_distance : length_measure; + back_plane_clipping : BOOLEAN; + view_volume_sides_clipping : BOOLEAN; + view_window : planar_box; + INVERSE + camera_usages : SET [1 : ?] OF camera_model_d3 FOR perspective_of_volume; + WHERE + wr1: ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D' IN TYPEOF( SELF\ + view_volume.view_window.placement ) ) OR ( dot_product( representation_item( ' ' ) || + geometric_representation_item( ) || direction( [0, 0, 1] ), SELF.view_window\planar_box.placement\ + axis2_placement_3d.p[3] ) = 1 ) ); + wr2: ( view_plane_distance = view_window.placement\placement.location.coordinates[3] ); + END_ENTITY; + + ENTITY visual_appearance_representation + SUBTYPE OF ( representation ); + WHERE + wr1 : ( ( 3 <= SIZEOF( SELF.items ) ) AND ( SIZEOF( SELF.items ) <= 9 ) AND ( ( SIZEOF( QUERY ( i <* items | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN + TYPEOF( i ) ) AND ( i.name IN [ 'colour id', 'colour name', 'lustre', 'pattern', 'transparency', 'orientation'] ) ) ) ) + + SIZEOF( QUERY ( i <* items | ( ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'VALUE_RANGE' ] * TYPEOF( i ) ) = 1 ) AND ( i.name IN [ 'refraction index', 'opacity'] ) ) ) ) + SIZEOF( + QUERY ( i <* items | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DOCUMENT_FILE' ) + IN TYPEOF( i ) ) AND ( i.name IN [ 'texture map'] ) ) ) ) ) = SIZEOF( SELF.items ) ) ); + wr2 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'colour id' ) ) ) = 1 ); + wr3 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'lustre' ) ) ) = 1 ); + wr4 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'colour name' ) ) ) <= 1 ); + wr5 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'pattern' ) ) ) <= 1 ); + wr6 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'transparency' ) ) ) <= 1 ); + wr7 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'texture map' ) ) ) <= 1 ); + wr8 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'refraction index' ) ) ) <= 1 ); + wr9 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'opacity' ) ) ) <= 1 ); + wr10: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'orientation' ) ) ) <= 1 ); + wr11: ( ( SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( + SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + + 'DERIVED_DEFINITION' ) | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa.base_definition ) ) AND ( gpa\general_property_association.base_definition\ + general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY visual_orientation_feature + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY volume + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY volume_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY volume_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 3, 0, 0, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY week_of_year_and_day_date + SUBTYPE OF ( date ); + week_component : week_in_year_number; + day_component : OPTIONAL day_in_week_number; + WHERE + wr1: ( ( NOT leap_year( SELF\date.year_component ) ) OR ( ( 1 <= ( day_component + ( 7 * ( week_component - 1 ) ) ) ) AND + ( ( day_component + ( 7 * ( week_component - 1 ) ) ) <= 366 ) ) ); + wr2: ( leap_year( SELF\date.year_component ) OR ( ( 1 <= ( day_component + ( 7 * ( week_component - 1 ) ) ) ) AND ( ( + day_component + ( 7 * ( week_component - 1 ) ) ) <= 365 ) ) ); + END_ENTITY; + + ENTITY wire_shell + SUBTYPE OF ( topological_representation_item ); + wire_shell_extent : SET [1 : ?] OF loop; + WHERE + wr1: ( NOT mixed_loop_type_set( wire_shell_extent ) ); + END_ENTITY; + + ENTITY wire_terminal + SUBTYPE OF ( package_terminal ); + END_ENTITY; + + ENTITY wire_terminal_template_definition + SUBTYPE OF ( package_terminal_template_definition ); + END_ENTITY; + + ENTITY wrong_element_name + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM' ] ); + END_ENTITY; + + ENTITY wrongly_oriented_void + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'BREP_WITH_VOIDS' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ORIENTED_CLOSED_SHELL' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY wrongly_placed_loop + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'FACE_BOUND' ] ); + wr4: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY wrongly_placed_void + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'BREP_WITH_VOIDS' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ORIENTED_CLOSED_SHELL' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY xor_expression + SUBTYPE OF ( binary_boolean_expression ); + SELF\binary_generic_expression.operands : LIST [2 : 2] OF boolean_expression; + END_ENTITY; + + ENTITY year_month + SUBTYPE OF ( date ); + month_component : month_in_year_number; + END_ENTITY; + + ENTITY zero_surface_normal + SUBTYPE OF ( geometry_with_local_irregularity ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) + IN TYPEOF( SELF\shape_data_quality_criterion.assessment_specification\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test. + threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'POINT_ON_SURFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_MEASURE' ] ); + END_ENTITY; + + ENTITY zone_structural_makeup + SUPERTYPE OF ( + ONEOF ( + smeared_material_definition + AND + thickness_laminate_table, + smeared_material_definition + AND + percentage_laminate_table, + thickness_laminate_table, + percentage_laminate_table, + smeared_material_definition ) ) + SUBTYPE OF ( laminate_table ); + END_ENTITY; + + RULE alternative_solution_requires_solution_definition FOR ( product_definition_formation ); + + LOCAL + solution_versions : SET OF product_definition_formation := []; + END_LOCAL; + solution_versions := QUERY ( pdf <* product_definition_formation | ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | + ( prpc.name = 'alternative solution' ) ) ) = 1 ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdf <* solution_versions | ( SIZEOF( QUERY ( pd <* USEDIN( pdf, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION.FORMATION' ) | ( pd. + frame_of_reference.name = 'alternative definition' ) ) ) <> 1 ) ) ) = 0 ); + + END_RULE; + + RULE ap210_electronic_assembly_interconnect_and_packaging_design_mim_dot_application_protocol_definition_required FOR ( + application_context ); + + WHERE + wr1: ( SIZEOF( QUERY ( ac <* application_context | ( SIZEOF( QUERY ( apd <* USEDIN( ac, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION' ) + | ( apd.application_interpreted_model_schema_name = 'ap242_managed_model_based_3d_engineering' ) ) ) > 0 ) ) ) > 0 ); + + END_RULE; + + RULE application_protocol_definition_required FOR ( application_context ); + + WHERE + wr1: SIZEOF( QUERY ( ac <* application_context | ( SIZEOF( QUERY ( apd <* USEDIN( ac, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION' ) + | + (( apd.application_interpreted_model_schema_name = 'ap242_managed_model_based_3d_engineering' ) OR + ( apd.application_interpreted_model_schema_name = 'ap210_electronic_assembly_interconnect_and_packaging_design')) + ) ) + > 0 ) ) ) > 0; + + END_RULE; + + RULE area_component_shape_constraint FOR ( area_component ); + + WHERE + wr1: ( SIZEOF( QUERY ( ac <* area_component | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( ac, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( NOT ( ( NOT ( pdr\property_definition_representation.used_representation\representation.id = 'ac2dsm' ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION' IN + TYPEOF( pdr\property_definition_representation.used_representation ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( ac <* area_component | ( ( NOT apeaid_is_base( ac ) ) OR ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( ac, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( NOT ( ( NOT ( pdr\property_definition_representation.used_representation\representation.id = 'ac2dsm' ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION' IN + TYPEOF( pdr\property_definition_representation.used_representation ) ) ) ) ) ) = 0 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE breakdown_element_requires_product_definition FOR ( product_definition_formation ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdf <* product_definition_formation | ( ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | + ( prpc.name = 'functionality' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pd <* USEDIN( pdf, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | ( pd. + frame_of_reference.name = 'functional definition' ) ) ) < 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pdf <* product_definition_formation | ( ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | + ( prpc.name = 'conceptual design' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pd <* USEDIN( pdf, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | ( pd. + frame_of_reference.name = 'conceptual definition' ) ) ) < 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE cartesian_coordinate_system_constraint FOR ( global_unit_assigned_context, geometric_representation_context ); + + LOCAL + guac_inst : SET OF global_unit_assigned_context := QUERY ( guac <* global_unit_assigned_context | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_CONTEXT' ) + IN TYPEOF( guac ) ) ); + END_LOCAL; + + WHERE + wr1: ( SIZEOF( QUERY ( guac <* guac_inst | ( NOT ( SIZEOF( guac.units ) <= 3 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( guac <* guac_inst | ( NOT ( ( SIZEOF( QUERY ( u <* guac.units | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_UNIT' IN TYPEOF( u ) ) ) ) = 1 ) AND ( + SIZEOF( QUERY ( u <* guac.units | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PLANE_ANGLE_UNIT' ) IN TYPEOF( u ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( u <* guac.units | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SOLID_ANGLE_UNIT' ) IN TYPEOF( u ) ) ) ) + <= 1 ) ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( grc <* guac_inst | ( NOT ( ( grc\geometric_representation_context.coordinate_space_dimension = 2 ) OR + ( grc\geometric_representation_context.coordinate_space_dimension = 3 ) ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( guac <* guac_inst | ( NOT ( SIZEOF( QUERY ( u <* guac.units | ( NOT ( ( NOT ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PLANE_ANGLE_UNIT' ) IN TYPEOF( u ) ) AND + ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONVERSION_BASED_UNIT' ) IN TYPEOF( u ) ) + AND ( u\conversion_based_unit.name = 'degree' ) ) ) OR ( ( ABS( u\conversion_based_unit.conversion_factor\ + measure_with_unit.value_component - 0.0174532925 ) <= 0.001 ) AND ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PLANE_ANGLE_MEASURE_WITH_UNIT' ) IN + TYPEOF( u\conversion_based_unit.conversion_factor ) ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + + END_RULE; + + RULE chamfer_offset_requires_faces FOR ( chamfer_offset, property_definition_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( co <* chamfer_offset | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr + \property_definition_representation.definition\property_definition.definition = co ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( ( ( pdr\property_definition_representation.definition\property_definition.definition. + description = 'first offset' ) AND ( pdr.used_representation.name = 'first face shape' ) ) OR ( ( pdr\ + property_definition_representation.definition\property_definition.definition.description = 'second offset' ) AND ( + pdr.used_representation.name = 'second face shape' ) ) ) ) ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE chamfer_requires_faces FOR ( chamfer, property_definition_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( cf <* chamfer | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr\ + property_definition_representation.definition\property_definition.definition = cf ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'chamfer face' ) ) ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE compatible_dimension FOR ( cartesian_point, direction, representation_context, geometric_representation_context ); + + WHERE + wr1: ( SIZEOF( QUERY ( x <* cartesian_point | ( SIZEOF( QUERY ( y <* geometric_representation_context | ( item_in_context( x, + y ) AND ( HIINDEX( x.coordinates ) <> y.coordinate_space_dimension ) ) ) ) > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( x <* direction | ( SIZEOF( QUERY ( y <* geometric_representation_context | ( item_in_context( x, y ) + AND ( HIINDEX( x.direction_ratios ) <> y.coordinate_space_dimension ) ) ) ) > 0 ) ) ) = 0 ); + + END_RULE; + + RULE component_class_for_assembly_select FOR ( composite_assembly_sequence_definition, next_assembly_usage_occurrence, + product_related_product_category ); + + LOCAL + i : INTEGER := 0; + j : INTEGER := 0; + k : INTEGER := 0; + dkuhr : LOGICAL := TRUE; + nnauo : INTEGER := 0; + nprpc : INTEGER := 0; + rp : product; + END_LOCAL; + REPEAT i := LOINDEX( composite_assembly_sequence_definition ) TO HIINDEX( composite_assembly_sequence_definition ) BY 1; + nnauo := 0; + REPEAT j := LOINDEX( next_assembly_usage_occurrence ) TO HIINDEX( next_assembly_usage_occurrence ) BY 1; + IF composite_assembly_sequence_definition[i] = next_assembly_usage_occurrence[j].relating_product_definition THEN + rp := next_assembly_usage_occurrence[j].related_product_definition.formation.of_product; + nprpc := 0; + REPEAT k := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF ( rp IN product_related_product_category[k].products ) AND ( product_related_product_category[k].name IN [ 'ply', + 'ply laminate' , 'filament laminate', 'processed core', 'composite assembly'] ) THEN + nprpc := nprpc + 1; + END_IF; + END_REPEAT; + IF nprpc = 1 THEN + nnauo := nnauo + 1; + ELSE + dkuhr := FALSE; + ESCAPE; + END_IF; + END_IF; + END_REPEAT; + IF dkuhr = FALSE THEN + ESCAPE; + END_IF; + IF nnauo = 0 THEN + dkuhr := FALSE; + ESCAPE; + END_IF; + END_REPEAT; + + WHERE + wr1: dkuhr; + + END_RULE; + + RULE consistent_uncertainty FOR ( global_uncertainty_assigned_context, qualified_representation_item, + uncertainty_assigned_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( guac <* global_uncertainty_assigned_context | ( SIZEOF( QUERY ( u1 <* guac.uncertainty | ( SIZEOF( + QUERY ( u2 <* guac.uncertainty | ( u2.name = u1.name ) ) ) > 1 ) ) ) > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( uar <* uncertainty_assigned_representation | ( SIZEOF( QUERY ( u1 <* uar.uncertainty | ( SIZEOF( + QUERY ( u2 <* uar.uncertainty | ( u2.name = u1.name ) ) ) > 1 ) ) ) > 0 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( qri <* qualified_representation_item | ( SIZEOF( QUERY ( u1 <* qri.qualifiers | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' ) IN TYPEOF( u1 ) ) + AND ( SIZEOF( QUERY ( u2 <* qri.qualifiers | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' ) IN TYPEOF( u2 ) ) + AND ( u2\uncertainty_qualifier.measure_name = u1\uncertainty_qualifier.measure_name ) ) ) ) > 1 ) ) ) ) > 0 ) ) ) = 0 ); + + END_RULE; + + RULE constraint_definition_requires_constraint_category FOR ( product_definition ); + + LOCAL + constraint_definitions : SET OF product_definition := []; + END_LOCAL; + constraint_definitions := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = 'design constraint definition' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* constraint_definitions | ( SIZEOF( QUERY ( prpc <* USEDIN( pd.formation.of_product, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | + ( prpc.name = 'requirement' ) ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE design_constraint_requires_product_definition FOR ( product_definition_formation ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdf <* product_definition_formation | ( ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | + ( prpc.name = 'requirement' ) ) ) > 0 ) AND ( SIZEOF( QUERY ( pd <* USEDIN( pdf, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | ( pd. + frame_of_reference.name = 'design constraint definition' ) ) ) < 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE dimensioning_data_requires_document FOR ( applied_document_reference, product_definition_context_association, + role_association ); + + LOCAL + adr : SET OF applied_document_reference := QUERY ( adr <* applied_document_reference | ( ( adr\document_reference. + assigned_document\document.kind\document_type.product_data_type = 'Standards Document' ) AND ( ( adr\ + document_reference.assigned_document\document.id = 'ASME Y14.41-2003' ) OR ( adr\document_reference. + assigned_document\document.id = 'ASME Y14.5M-1994' ) OR ( adr\document_reference.assigned_document\document.id = + 'ISO 1101: 2004' ) ) ) ); + pdca : SET OF product_definition_context_association := QUERY ( pdca <* product_definition_context_association | ( ( pdca + \product_definition_context_association.role\product_definition_context_role.name = 'additional context' ) AND ( + pdca\product_definition_context_association.frame_of_reference\application_context_element.name = + 'Geometric Dimensioning and Tolerancing Product Specification' ) ) ); + ra : SET OF role_association := QUERY ( ra <* role_association | ( ra\role_association.role\object_role.name = + 'dimensioning standard' ) ); + ra1 : SET OF role_association := []; + pdpdca : SET OF product_definition := []; + pdadr : SET OF product_definition := []; + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( pdca ) BY 1; + pdpdca := pdpdca + pdca[i]\product_definition_context_association.definition; + END_REPEAT; + REPEAT i := 1 TO HIINDEX( adr ) BY 1; + ra1 := bag_to_set( USEDIN( adr[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ) ); + IF ( ra1 * ra ) <> ra1 THEN + pass := FALSE; + END_IF; + REPEAT j := 1 TO HIINDEX( adr[i]\applied_document_reference.items ) BY 1; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( adr[i]\ + applied_document_reference.items[j] ) THEN + pdadr := pdadr + adr[i]\applied_document_reference.items[j]; + END_IF; + END_REPEAT; + END_REPEAT; + + WHERE + wr1: pass; + wr2: ( pdpdca = pdadr ); + + END_RULE; + + RULE draughting_model_items_constraint FOR ( draughting_model ); + + WHERE + wr1: ( SIZEOF( QUERY ( dm <* draughting_model | ( NOT ( SIZEOF( QUERY ( it1 <* dm\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_OCCURRENCE' IN TYPEOF( it1 ) ) AND + ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_ANNOTATION_OCCURRENCE' ) + IN TYPEOF( it1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( dm <* draughting_model | ( NOT ( SIZEOF( QUERY ( it1 <* dm\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF( it1 ) ) AND ( + NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_ELEMENTS' IN TYPEOF( it1 ) ) ) ) ) ) + = 0 ) ) ) ) = 0 ); + + END_RULE; + + RULE edge_round_requires_faces FOR ( edge_round, property_definition_representation ); + + WHERE + wr1: ( 0 = SIZEOF( QUERY ( er <* edge_round | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr + \property_definition_representation.definition\property_definition.definition = er ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'edge round face' ) ) ) ) ) ) ) ) ); + wr2: ( SIZEOF( QUERY ( er <* edge_round | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr\ + property_definition_representation.definition\property_definition.definition = er ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'first face shape' ) ) ) ) ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( er <* edge_round | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr\ + property_definition_representation.definition\property_definition.definition = er ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'second face shape' ) ) ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE external_version_assignments_are_valid FOR ( applied_external_identification_assignment ); + + WHERE + wr1: ( SIZEOF( QUERY ( aia <* applied_external_identification_assignment | ( NOT external_version_assignment_is_valid( aia ) ) ) ) + = 0 ); + + END_RULE; + + RULE machining_feature_definition_constraints FOR ( feature_definition ); + + LOCAL + mfds : SET OF feature_definition := []; + END_LOCAL; + mfds := QUERY ( temp <* feature_definition | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MACHINING_FEATURE_DEFINITION' IN TYPEOF( temp ) ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( mfd <* mfds | ( NOT ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( mfd ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( mfd <* mfds | ( NOT ( SIZEOF( QUERY ( pd <* USEDIN( mfd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( + SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) AND ( it.name = + 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( mfd <* mfds | ( NOT ( ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTSIDE_PROFILE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REMOVAL_VOLUME' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FLAT_FACE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROTRUSION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIB_TOP' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_END' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STEP' ] * TYPEOF( mfds ) ) = 1 ) ) OR ( SIZEOF( + QUERY ( pdr <* get_property_definition_representations( mfd ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE machining_feature_life_cycle FOR ( instanced_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( mf <* instanced_feature | ( NOT ( mf.of_shape.definition.frame_of_reference.life_cycle_stage = + 'manufacturing planning' ) ) ) ) = 0 ); + + END_RULE; + + RULE material_for_coating_layer FOR ( shape_aspect ); + + LOCAL + coating_layers : SET OF shape_aspect := []; + END_LOCAL; + coating_layers := QUERY ( r <* shape_aspect | ( r.name = 'coating layer' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( r <* coating_layers | ( SIZEOF( USEDIN( r, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MATERIAL_DESIGNATION.DEFINITIONS' ) ) <> 1 ) ) ) + = 0 ); + + END_RULE; + + RULE not_instantiable_pre_defined_surface_side_style FOR ( pre_defined_surface_side_style ); + + WHERE + wr1: ( SIZEOF( pre_defined_surface_side_style ) = 0 ); + + END_RULE; + + RULE plib_property_reference_requires_name_scope FOR ( externally_defined_general_property ); + + LOCAL + known_sourced_properties : SET OF externally_defined_general_property; + END_LOCAL; + known_sourced_properties := QUERY ( edc <* externally_defined_general_property | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF( edc.source ) ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( edgp <* known_sourced_properties | ( SIZEOF( QUERY ( edir <* USEDIN( edgp, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.' + + 'RELATING_ITEM' ) | ( ( edir.name = 'name scope' ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTERNALLY_DEFINED_CLASS' IN TYPEOF( edir. + related_item ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF( + edir.related_item.source ) ) ) ) ) <> 1 ) ) ) = 0 ); + + END_RULE; + + RULE plib_property_reference_requires_version FOR ( externally_defined_general_property ); + + LOCAL + plib_properties : SET OF externally_defined_general_property := []; + END_LOCAL; + plib_properties := QUERY ( edgp <* externally_defined_general_property | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF( edgp.source ) ) AND ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KNOWN_SOURCE' + '.NAME' ) = 'ISO 13584 library' ) ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( edgp <* plib_properties | ( SIZEOF( QUERY ( edir <* USEDIN( edgp, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS' ) + | ( edir.role.name = 'version' ) ) ) <> 1 ) ) ) = 0 ); + + END_RULE; + + RULE ply_reference FOR ( ply_laminate_sequence_definition, next_assembly_usage_occurrence, product_related_product_category ); + + LOCAL + i : INTEGER; + j : INTEGER; + k : INTEGER; + dkuhr : LOGICAL := TRUE; + nnauo : INTEGER; + nprpc : INTEGER := 0; + rp : product; + END_LOCAL; + REPEAT i := LOINDEX( ply_laminate_sequence_definition ) TO HIINDEX( ply_laminate_sequence_definition ) BY 1; + nnauo := 0; + REPEAT j := LOINDEX( next_assembly_usage_occurrence ) TO HIINDEX( next_assembly_usage_occurrence ) BY 1; + IF ply_laminate_sequence_definition[i] = next_assembly_usage_occurrence[j].relating_product_definition THEN + rp := next_assembly_usage_occurrence[j].related_product_definition.formation.of_product; + nprpc := 0; + REPEAT k := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF ( product_related_product_category[k].name = 'ply' ) AND ( rp IN product_related_product_category[k].products ) + THEN + nprpc := nprpc + 1; + END_IF; + END_REPEAT; + IF nprpc = 1 THEN + nnauo := nnauo + 1; + ELSE + dkuhr := FALSE; + ESCAPE; + END_IF; + END_IF; + END_REPEAT; + IF dkuhr = FALSE THEN + ESCAPE; + END_IF; + IF nnauo = 0 THEN + dkuhr := FALSE; + ESCAPE; + END_IF; + END_REPEAT; + + WHERE + wr1: dkuhr; + + END_RULE; + + RULE ply_stock_material_select FOR ( product_related_product_category, make_from_usage_option ); + + LOCAL + i : INTEGER; + j : INTEGER; + k : INTEGER; + kp : INTEGER; + dkuhr : LOGICAL; + nmfuo : INTEGER; + nprpc : INTEGER := 0; + rp : product; + END_LOCAL; + dkuhr := TRUE; + REPEAT kp := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF product_related_product_category[kp].name = 'ply' THEN + REPEAT i := LOINDEX( product_related_product_category[kp].products ) TO HIINDEX( product_related_product_category[kp]. + products ) BY 1; + nmfuo := 0; + REPEAT j := LOINDEX( make_from_usage_option ) TO HIINDEX( make_from_usage_option ) BY 1; + rp := make_from_usage_option[j].related_product_definition.formation.of_product; + IF product_related_product_category[kp].products[i] = rp THEN + REPEAT k := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF ( rp IN product_related_product_category[k].products ) AND ( product_related_product_category[k].name IN [ + 'isotropic material' , 'filament assembly', 'discontinuous fiber assembly'] ) THEN + nprpc := nprpc + 1; + END_IF; + END_REPEAT; + IF nprpc = 1 THEN + nmfuo := nmfuo + 1; + ELSE + dkuhr := FALSE; + ESCAPE; + END_IF; + END_IF; + END_REPEAT; + IF dkuhr = FALSE THEN + ESCAPE; + END_IF; + IF nmfuo <> 1 THEN + dkuhr := FALSE; + ESCAPE; + END_IF; + END_REPEAT; + END_IF; + END_REPEAT; + + WHERE + wr1: dkuhr; + + END_RULE; + + RULE product_concept_feature_requires_category FOR ( product_concept_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( pcf <* product_concept_feature | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE'] * TYPEOF( + pcf ) ) = 0 ) AND ( SIZEOF( QUERY ( aga <* USEDIN( pcf, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT.' + 'ITEMS' ) | + ( ( aga\group_assignment.role\object_role.name = 'specification category member' ) AND ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' ) IN + TYPEOF( aga.assigned_group ) ) ) ) ) <> 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE product_definition_replacement_requires_effectivity_assignment FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'definition replacement' ) AND ( SIZEOF( + USEDIN( pdr, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT.ITEMS' ) ) + = 0 ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_alternative_definition FOR ( product_definition ); + + LOCAL + solution_definitions : SET OF product_definition := []; + END_LOCAL; + solution_definitions := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = 'alternative definition' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* solution_definitions | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + + 'RELATED_PRODUCT_DEFINITION' ) | ( pdr.name = 'solution alternative definition' ) ) ) <> 1 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* solution_definitions | ( NOT ( pd.name IN [ 'technical', 'supplier', 'technical supplier', ''] ) ) ) ) + = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* solution_definitions | ( ( pd.name IN [ 'supplier', 'technical supplier'] ) AND ( SIZEOF( + QUERY ( aoa <* USEDIN( pd.formation, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS' ) | ( aoa.role.name = 'supplier' ) ) ) <> 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_assembly_category FOR ( product_definition ); + + LOCAL + assembly_definitions : SET OF product_definition := []; + END_LOCAL; + assembly_definitions := QUERY ( pd <* product_definition | ( SIZEOF( QUERY ( pdca <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION' ) + | ( pdca.frame_of_reference.name = 'assembly definition' ) ) ) > 0 ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* assembly_definitions | ( NOT ( 'assembly' IN categories_of_product( pd.formation.of_product ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_centre_of_mass_representation FOR ( representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( r <* representation | ( ( r.name = 'centre of mass' ) AND ( ( SIZEOF( r.items ) <> 1 ) OR ( SIZEOF( + QUERY ( i <* r.items | ( ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POINT' ) IN + TYPEOF( i ) ) AND ( i.name = 'centre point' ) ) ) ) <> 1 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_classification_assignments FOR ( applied_classification_assignment ); + + WHERE + wr1: ( SIZEOF( QUERY ( aia <* applied_classification_assignment | ( NOT class_assignment_is_valid( aia ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_collection_category FOR ( product_definition ); + + LOCAL + collection_definitions : SET OF product_definition := []; + END_LOCAL; + collection_definitions := QUERY ( pd <* product_definition | ( SIZEOF( QUERY ( pdca <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.' + + 'DEFINITION' ) | ( pdca.frame_of_reference.name = 'collection definition' ) ) ) > 0 ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* collection_definitions | ( NOT ( 'collection' IN categories_of_product( pd.formation.of_product ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_concept_feature_operator FOR ( concept_feature_operator ); + + WHERE + wr1: ( SIZEOF( QUERY ( cfo <* concept_feature_operator | ( NOT ( cfo.name IN [ 'and', 'or', 'oneof', 'not', 'implication'] ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( cfo <* concept_feature_operator | ( ( cfo.name = 'implication' ) AND ( SIZEOF( QUERY ( cfrwc <* + USEDIN( cfo, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' + 'CONDITIONAL_OPERATOR' ) | ( SIZEOF( QUERY ( ccf <* USEDIN( cfrwc, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.CONDITION' ) + | ( NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' ) + IN TYPEOF( ccf ) ) ) ) ) > 0 ) ) ) > 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( cfo <* concept_feature_operator | ( ( cfo.name = 'not' ) AND ( SIZEOF( QUERY ( cfrwc <* USEDIN( cfo, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.CONDITIONAL_OPERATOR' ) | ( cfrwc.related_product_concept_feature :<>: + cfrwc.relating_product_concept_feature ) ) ) > 0 ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_configuration_design_for_class_breakdown_association FOR ( configuration_design ); + + WHERE + wr1: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name = 'functionality' ) AND ( ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( cd.design ) ) ) + OR ( cd.design\product_definition.frame_of_reference.name <> 'functional definition' ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name = 'realization' ) AND ( ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( cd.design ) ) ) + OR ( cd.design\product_definition.frame_of_reference.name <> 'conceptual definition' ) ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name IN [ 'functionality', 'realization'] ) AND ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_CLASS' IN TYPEOF( cd.configuration. + item_concept ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_configuration_design_for_design_constraint FOR ( configuration_design ); + + WHERE + wr1: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name = 'design constraint usage' ) AND ( ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( cd.design ) ) ) + OR ( cd.design\product_definition.frame_of_reference.name <> 'design constraint definition' ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_group_relationship_for_classification_hierarchy FOR ( group_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( gr <* group_relationship | ( ( gr\group_relationship.name = 'class hierarchy' ) AND ( ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLASS' IN TYPEOF( gr\group_relationship. + related_group ) ) ) OR ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLASS' IN TYPEOF( + gr\group_relationship.relating_group ) ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_group_relationship_for_specification_category FOR ( group_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( gr <* group_relationship | ( ( gr.name = 'specification category hierarchy' ) AND ( ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF( gr + .related_group ) ) ) OR ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF( gr.relating_group ) ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_language_assignment_per_attribute FOR ( attribute_language_assignment ); + + WHERE + wr1: ( SIZEOF( QUERY ( ala1 <* attribute_language_assignment | ( SIZEOF( QUERY ( it <* ala1.items | ( SIZEOF( + QUERY ( ala2 <* USEDIN( it, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ) | ( ( ala1\attribute_classification_assignment.attribute_name = ala2\ + attribute_classification_assignment.attribute_name ) AND ( ala1\attribute_classification_assignment.assigned_class + :=: ala2\attribute_classification_assignment.assigned_class ) ) ) ) > 1 ) ) ) > 0 ) ) ) = 0 ); + + END_RULE; + + RULE restrict_part_occurrence FOR ( product_definition ); + + LOCAL + part_occurrences : SET OF product_definition := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = + 'part occurrence' ) ); + END_LOCAL; + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* part_occurrences | ( NOT ( pd.name IN [ 'single instance', 'selected instance', + 'quantified instance' , 'specified instance'] ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + + 'RELATED_PRODUCT_DEFINITION' ) | ( pdr.name = 'definition usage' ) ) ) <> 1 ) AND ( SIZEOF( QUERY ( cd <* + USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONFIGURATION_DESIGN.DESIGN' ) + | ( ( cd.name = 'occurrence usage definition' ) AND ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_IDENTIFICATION' ) IN TYPEOF( cd. + configuration ) ) ) ) ) ) <> 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( SIZEOF( QUERY ( cd <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + + 'RELATED_PRODUCT_DEFINITION' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_USAGE' ) IN TYPEOF( cd ) ) ) ) = 0 ) AND ( SIZEOF( USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.' + + 'OCCURRENCE' ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( pd.name = 'selected instance' ) AND ( NOT + valid_selected_instance_representation( pd ) ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( pd.name = 'quantified instance' ) AND ( SIZEOF( QUERY ( ppd <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( + ppd.name = 'occurrence quantity' ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( ppd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( pdr.used_representation.name = 'quantity' ) AND ( SIZEOF( pdr.used_representation.items ) = + 1 ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' ) IN TYPEOF( + i ) ) AND ( i.name = 'quantity measure' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( pd.name = 'specified instance' ) AND ( SIZEOF( QUERY ( pdor <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.' + + 'OCCURRENCE' ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SPECIFIED_HIGHER_USAGE_OCCURRENCE' ) IN TYPEOF( pdor.occurrence_usage ) ) ) ) = 0 ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_part_occurrence_category FOR ( product_definition ); + + LOCAL + part_occurrences : SET OF product_definition := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = + 'part occurrence' ) ); + END_LOCAL; + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* part_occurrences | ( SIZEOF( QUERY ( prpc <* USEDIN( pd.formation.of_product, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | + ( prpc.name IN [ 'part', 'raw material', 'tool'] ) ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_base_element FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'solution alternative definition' ) AND ( ( + NOT ( pdr.relating_product_definition.frame_of_reference.name IN [ 'alternative definition', 'functional definition', + 'conceptual definition' ] ) ) OR ( pdr.related_product_definition.frame_of_reference.name <> 'alternative definition' ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_collection FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'collection membership' ) AND ( ( pdr. + relating_product_definition.frame_of_reference.name <> 'part definition' ) OR ( pdr.related_product_definition. + frame_of_reference.name <> 'part occurrence' ) OR ( SIZEOF( QUERY ( pdca <* USEDIN( pdr.relating_product_definition, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.' + + 'DEFINITION' ) | ( ( pdca.role.name = 'part definition type' ) AND ( pdca.frame_of_reference.name = + 'collection definition' ) ) ) ) = 0 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_definition_usage FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'definition usage' ) AND ( ( pdr. + relating_product_definition.frame_of_reference.name <> 'part definition' ) OR ( pdr.related_product_definition. + frame_of_reference.name <> 'part occurrence' ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_design_constraint_association FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'design constraint association' ) AND ( ( pdr. + relating_product_definition.frame_of_reference.name <> 'design constraint definition' ) OR ( NOT ( pdr. + related_product_definition.frame_of_reference.name IN [ 'alternative definition', 'functional definition', + 'conceptual definition' ] ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_part_definition_relationship FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name IN [ 'geometrical relationship', + 'definition replacement' ] ) AND ( ( pdr.relating_product_definition.frame_of_reference.name <> 'part definition' ) + OR ( pdr.related_product_definition.frame_of_reference.name <> 'part definition' ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_representation_for_surface_condition FOR ( property_definition_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* property_definition_representation | ( NOT surface_condition_correlation( pdr.definition, pdr. + used_representation ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_treatment_result FOR ( representation ); + + LOCAL + treatment_results : SET OF representation := []; + END_LOCAL; + treatment_results := QUERY ( r <* representation | ( r.name = 'treatment result' ) ); + + WHERE + wr1: ( ( SIZEOF( QUERY ( r <* treatment_results | ( SIZEOF( r.items ) > 2 ) ) ) = 0 ) AND ( SIZEOF( QUERY ( r <* + treatment_results | ( SIZEOF( QUERY ( i <* r.items | ( NOT ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN + TYPEOF( i ) ) ) ) ) > 0 ) ) ) = 0 ) ); + wr2: ( SIZEOF( QUERY ( r <* treatment_results | ( SIZEOF( QUERY ( i <* r.items | ( i.name = 'result' ) ) ) = 0 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( r <* treatment_results | ( SIZEOF( QUERY ( i <* r.items | ( i.name = 'purpose' ) ) ) > 1 ) ) ) = 0 ); + + END_RULE; + + RULE selected_instance_usage_requires_representation FOR ( assembly_component_usage ); + + LOCAL + selected_instance_usages : SET OF assembly_component_usage := QUERY ( acr <* assembly_component_usage | ( acr.name = + 'selected instance usage' ) ); + END_LOCAL; + + WHERE + wr1: ( SIZEOF( QUERY ( acr <* selected_instance_usages | ( NOT valid_selected_instance_representation( acr ) ) ) ) = 0 ); + + END_RULE; + + RULE shape_representation_requires_origin FOR ( shape_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( sr <* shape_representation | ( NOT ( ( SIZEOF( QUERY ( it <* sr\representation.items | ( ( ( it\ + representation_item.name = 'origin' ) OR ( it\representation_item.name = 'orientation' ) ) AND ( ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( it ) ) OR + ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( it ) ) ) ) ) ) + = 1 ) OR ( SIZEOF( QUERY ( it <* sr\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'STYLED_ITEM' ) IN TYPEOF( it ) ) ) ) >= 1 ) + OR ( SIZEOF( QUERY ( it <* sr\representation.items | ( ( ( it\representation_item.name = 'origin' ) OR ( it\ + representation_item.name = 'orientation' ) ) AND ( ( sr\representation.name = 'zone shape' ) OR ( sr.context_of_items + \representation_context.context_type = 'connection zone colour' ) ) ) ) ) = 0 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE solution_definition_requires_solution_category FOR ( product_definition ); + + LOCAL + solution_definitions : SET OF product_definition := []; + END_LOCAL; + solution_definitions := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = 'alternative definition' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* solution_definitions | ( SIZEOF( QUERY ( prpc <* USEDIN( pd.formation.of_product, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) + | ( prpc.name = 'alternative solution' ) ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE spline_curve_population_constraint FOR ( curve ); + + WHERE + wr1: ( SIZEOF( QUERY ( cu <* curve | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN + TYPEOF( cu ) ) ) ) = 0 ); + + END_RULE; + + RULE styled_curve FOR ( styled_item ); + + WHERE + wr1: ( SIZEOF( QUERY ( si <* styled_item | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN + TYPEOF( si.item ) ) AND ( SIZEOF( QUERY ( psa <* si.styles | ( SIZEOF( QUERY ( cs <* psa.styles | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF( cs ) ) ) ) > 0 ) ) ) <> + 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE subtype_exclusiveness_geometric_tolerance FOR ( geometric_tolerance ); + + WHERE + wr1: ( SIZEOF( QUERY ( gt <* geometric_tolerance | ( NOT type_check_function( gt, [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULARITY_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COAXIALITY_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONCENTRICITY_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CYLINDRICITY_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FLATNESS_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE_PROFILE_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARALLELISM_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PERPENDICULARITY_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITION_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDNESS_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRAIGHTNESS_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_PROFILE_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMMETRY_TOLERANCE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TOTAL_RUNOUT_TOLERANCE' ], 2 ) ) ) ) = 0 ); + + END_RULE; + + RULE subtype_exclusiveness_representation_item FOR ( representation_item ); + + WHERE + wr1: ( SIZEOF( QUERY ( cri <* representation_item | ( NOT type_check_function( cri, [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOUND_REPRESENTATION_ITEM' ], 3 ) ) ) ) = 0 ); + + END_RULE; + + RULE subtype_mandatory_shape_representation FOR ( shape_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( sr <* shape_representation | ( NOT ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SURFACE_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEVELED_SHEET_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHEET_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOUND_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_2D_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DIMENSION_REPRESENTATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' ] * TYPEOF( sr ) ) + = 1 ) OR ( SIZEOF( QUERY ( it <* sr\representation.items | ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( it ) ) ) ) ) = 0 ) + OR ( SIZEOF( QUERY ( sdr <* QUERY ( pdr <* USEDIN( sr, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ) | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP' ] * TYPEOF( sdr. + definition ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE text_font_usage FOR ( externally_defined_text_font, pre_defined_text_font ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdtf <* pre_defined_text_font | ( SIZEOF( USEDIN( pdtf, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL.FONT' ) ) = 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( edtf <* externally_defined_text_font | ( SIZEOF( USEDIN( edtf, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL.FONT' ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE tolerance_zone_form_name_constraint FOR ( tolerance_zone_form ); + + LOCAL + names : SET OF STRING := [ 'within a circle', 'between two concentric circles', 'between two equidistant curves', + 'within a cylinder' , 'between two coaxial cylinders', 'between two equidistant surfaces', 'non uniform', + 'cylindrical or circular' , 'spherical', 'unknown']; + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( tolerance_zone_form ) BY 1 WHILE pass; + pass := tolerance_zone_form[i].name IN names; + END_REPEAT; + + WHERE + wr1: pass; + + END_RULE; + + RULE transition_feature_life_cycle FOR ( transition_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( tf <* transition_feature | ( NOT ( tf.of_shape.definition.frame_of_reference.life_cycle_stage = + 'manufacturing planning' ) ) ) ) = 0 ); + + END_RULE; + + RULE transition_feature_on_part_boundary FOR ( transition_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( tf <* transition_feature | ( NOT tf.product_definitional ) ) ) = 0 ); + + END_RULE; + + RULE unique_datum_system FOR ( datum_system ); + + LOCAL + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( datum_system ) BY 1; + REPEAT j := 1 TO SIZEOF( datum_system ) BY 1; + IF i <> j THEN + IF datum_system[i]\datum_system.constituents = datum_system[j]\datum_system.constituents THEN + pass := FALSE; + END_IF; + END_IF; + END_REPEAT; + END_REPEAT; + + WHERE + wr1: pass; + + END_RULE; + + RULE unique_gdt_element_id_constraint FOR ( product_definition_shape, dimensional_location, dimensional_size, shape_aspect, + shape_aspect_relationship ); + + LOCAL + bss : BAG OF STRING := []; + ds : SET OF dimensional_size := QUERY ( ds <* dimensional_size | EXISTS( ds\dimensional_size.id ) ); + sa : SET OF shape_aspect := QUERY ( sa <* shape_aspect | EXISTS( sa\shape_aspect.id ) ); + sar : SET OF shape_aspect_relationship := QUERY ( sar <* shape_aspect_relationship | EXISTS( sar\shape_aspect_relationship + .id ) ); + ssa : SET OF shape_aspect := []; + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT ii := 1 TO SIZEOF( product_definition_shape ) BY 1 WHILE pass; + bss := []; + ssa := bag_to_set( USEDIN( product_definition_shape[ii], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT.' + 'OF_SHAPE' ) ); + REPEAT i := 1 TO SIZEOF( ds ) BY 1; + IF ds[i]\dimensional_size.applies_to IN ssa THEN + bss := bss + ds[i]\dimensional_size.id; + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sa ) BY 1; + IF sa[i] IN ssa THEN + bss := bss + sa[i]\shape_aspect.id; + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sar ) BY 1; + IF sar[i]\shape_aspect_relationship.relating_shape_aspect IN ssa THEN + bss := bss + sar[i]\shape_aspect_relationship.id; + END_IF; + END_REPEAT; + IF SIZEOF( bag_to_set( bss ) ) <> SIZEOF( bss ) THEN + pass := FALSE; + END_IF; + END_REPEAT; + + WHERE + wr1: pass; + + END_RULE; + + RULE valid_product_and_manufacturing_information_view_contexts FOR ( product_definition_context ); + + LOCAL + design_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.life_cycle_stage = 'design' ) ); + gdt_representation_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'geometrical dimensioning and tolerancing representation' ) ); + machining_feature_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'machining feature' ) ); + material_specification_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'material specification' ) ); + model_based_3d_annotation_presentation_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'model based 3D annotation presentation' ) ); + model_based_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'model based product geometry' ) ); + process_state_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'process state' ) ); + surface_finish_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'surface finish' ) ); + additional_view_contexts : SET OF product_definition_context := + gdt_representation_view_contexts + machining_feature_view_contexts + + material_specification_view_contexts + + model_based_3d_annotation_presentation_view_contexts + + process_state_view_contexts + surface_finish_view_contexts; + need_initial_model_based_view_contexts : SET OF product_definition_context := + gdt_representation_view_contexts + + model_based_3d_annotation_presentation_view_contexts; + END_LOCAL; + + WHERE + wr1 : ( SIZEOF( gdt_representation_view_contexts * design_view_contexts ) = SIZEOF( gdt_representation_view_contexts ) ); + wr2 : ( SIZEOF( machining_feature_view_contexts * design_view_contexts ) = SIZEOF( machining_feature_view_contexts ) ); + wr3 : ( SIZEOF( material_specification_view_contexts * design_view_contexts ) = SIZEOF( material_specification_view_contexts ) ); + wr4 : ( SIZEOF( model_based_3d_annotation_presentation_view_contexts * design_view_contexts ) = SIZEOF( + model_based_3d_annotation_presentation_view_contexts ) ); + wr5 : ( SIZEOF( model_based_view_contexts * design_view_contexts ) = SIZEOF( model_based_view_contexts ) ); + wr6 : ( SIZEOF( process_state_view_contexts * design_view_contexts ) = SIZEOF( process_state_view_contexts ) ); + wr7 : ( SIZEOF( surface_finish_view_contexts * design_view_contexts ) = SIZEOF( surface_finish_view_contexts ) ); + wr8 : ( SIZEOF( QUERY ( mbvc <* model_based_view_contexts | ( SIZEOF( USEDIN( mbvc, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.' + + 'FRAME_OF_REFERENCE' ) ) = 0 ) ) ) = SIZEOF( model_based_view_contexts ) ); + wr9 : ( SIZEOF( QUERY ( avc <* additional_view_contexts | ( SIZEOF( USEDIN( avc, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION.FRAME_OF_REFERENCE' ) ) = 0 ) ) ) + = SIZEOF( additional_view_contexts ) ); + wr10: ( SIZEOF( QUERY ( nimbvc <* need_initial_model_based_view_contexts | ( NOT ( SIZEOF( QUERY ( pdca <* USEDIN( nimbvc, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.' + + 'FRAME_OF_REFERENCE' ) | ( pdca\product_definition_context_association.definition\product_definition. + frame_of_reference IN model_based_view_contexts ) ) ) = SIZEOF( need_initial_model_based_view_contexts ) ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( gdt_pdc <* gdt_representation_view_contexts | ( SIZEOF( [ 'ISO 1101', 'ASME Y14.5'] * + get_associated_mandatory_document_ids( gdt_pdc ) ) = 0 ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( mb3d_pdc <* model_based_3d_annotation_presentation_view_contexts | ( SIZEOF( [ 'ISO 1101', 'ISO 16792', + 'ASME Y14.41' , 'ASME Y14.5'] * get_associated_mandatory_document_ids( mb3d_pdc ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE validate_dependently_instantiable_entity_data_types FOR ( abstracted_expression_function, action_method_role, + action_resource_type, application_defined_function, atom_based_literal, attribute_value_role, b_spline_basis, + b_spline_function, basic_sparse_matrix, binary_literal, camera_model_d2, cartesian_complex_number_region, + cartesian_transformation_operator, complex_number_literal, concept_feature_relationship, + concept_feature_relationship_with_condition, constant_function, definite_integral_expression, + definite_integral_function, edge_blended_solid, effectivity_context_role, elementary_function, event_occurrence_role, + explicit_procedural_representation_item_relationship, explicit_table_function, expression_denoted_function, + extended_tuple_space, externally_listed_data, finite_function, founded_item, function_application, function_space, + general_linear_function, homogeneous_linear_function, imported_curve_function, imported_point_function, + imported_surface_function, imported_volume_function, indirectly_selected_elements, integer_tuple_literal, + linearized_table_function, listed_data, maths_enum_literal, maths_function, maths_tuple_literal, + modified_solid_with_placed_configuration, one_direction_repeat_factor, oriented_open_shell, oriented_path, + parallel_composed_function, partial_derivative_expression, partial_derivative_function, polar_complex_number_region, + procedural_representation, procedural_representation_sequence, product_definition_effectivity, quantifier_expression, + rationalize_function, real_tuple_literal, reindexed_array_function, repackaging_function, restriction_function, + runout_zone_orientation, selector_function, series_composed_function, solid_with_depression, solid_with_hole, + solid_with_pocket, solid_with_protrusion, solid_with_shape_element_pattern, solid_with_slot, swept_area_solid, + symbol_target, two_direction_repeat_factor, user_selected_elements, volume ); + + LOCAL + number_of_input_instances : INTEGER; + previous_in_chain : LIST OF GENERIC := []; + set_of_input_types : SET OF STRING := []; + all_instances : SET OF GENERIC := []; + END_LOCAL; + all_instances := all_instances + abstracted_expression_function; + all_instances := all_instances + action_method_role; + all_instances := all_instances + action_resource_type; + all_instances := all_instances + application_defined_function; + all_instances := all_instances + atom_based_literal; + all_instances := all_instances + attribute_value_role; + all_instances := all_instances + b_spline_basis; + all_instances := all_instances + b_spline_function; + all_instances := all_instances + basic_sparse_matrix; + all_instances := all_instances + binary_literal; + all_instances := all_instances + camera_model_d2; + all_instances := all_instances + cartesian_complex_number_region; + all_instances := all_instances + cartesian_transformation_operator; + all_instances := all_instances + complex_number_literal; + all_instances := all_instances + concept_feature_relationship; + all_instances := all_instances + concept_feature_relationship_with_condition; + all_instances := all_instances + constant_function; + all_instances := all_instances + definite_integral_expression; + all_instances := all_instances + definite_integral_function; + all_instances := all_instances + edge_blended_solid; + all_instances := all_instances + effectivity_context_role; + all_instances := all_instances + elementary_function; + all_instances := all_instances + event_occurrence_role; + all_instances := all_instances + explicit_procedural_representation_item_relationship; + all_instances := all_instances + explicit_table_function; + all_instances := all_instances + expression_denoted_function; + all_instances := all_instances + extended_tuple_space; + all_instances := all_instances + externally_listed_data; + all_instances := all_instances + finite_function; + all_instances := all_instances + founded_item; + all_instances := all_instances + function_application; + all_instances := all_instances + function_space; + all_instances := all_instances + general_linear_function; + all_instances := all_instances + homogeneous_linear_function; + all_instances := all_instances + imported_curve_function; + all_instances := all_instances + imported_point_function; + all_instances := all_instances + imported_surface_function; + all_instances := all_instances + imported_volume_function; + all_instances := all_instances + indirectly_selected_elements; + all_instances := all_instances + integer_tuple_literal; + all_instances := all_instances + linearized_table_function; + all_instances := all_instances + listed_data; + all_instances := all_instances + maths_enum_literal; + all_instances := all_instances + maths_function; + all_instances := all_instances + maths_tuple_literal; + all_instances := all_instances + modified_solid_with_placed_configuration; + all_instances := all_instances + one_direction_repeat_factor; + all_instances := all_instances + oriented_open_shell; + all_instances := all_instances + oriented_path; + all_instances := all_instances + parallel_composed_function; + all_instances := all_instances + partial_derivative_expression; + all_instances := all_instances + partial_derivative_function; + all_instances := all_instances + polar_complex_number_region; + all_instances := all_instances + procedural_representation; + all_instances := all_instances + procedural_representation_sequence; + all_instances := all_instances + product_definition_effectivity; + all_instances := all_instances + quantifier_expression; + all_instances := all_instances + rationalize_function; + all_instances := all_instances + real_tuple_literal; + all_instances := all_instances + reindexed_array_function; + all_instances := all_instances + repackaging_function; + all_instances := all_instances + restriction_function; + all_instances := all_instances + runout_zone_orientation; + all_instances := all_instances + selector_function; + all_instances := all_instances + series_composed_function; + all_instances := all_instances + solid_with_depression; + all_instances := all_instances + solid_with_hole; + all_instances := all_instances + solid_with_pocket; + all_instances := all_instances + solid_with_protrusion; + all_instances := all_instances + solid_with_shape_element_pattern; + all_instances := all_instances + solid_with_slot; + all_instances := all_instances + swept_area_solid; + all_instances := all_instances + symbol_target; + all_instances := all_instances + two_direction_repeat_factor; + all_instances := all_instances + user_selected_elements; + all_instances := all_instances + volume; + number_of_input_instances := SIZEOF( all_instances ); + REPEAT i := 1 TO number_of_input_instances BY 1; + set_of_input_types := set_of_input_types + TYPEOF( all_instances[i] ); + END_REPEAT; + + WHERE + wr1: dependently_instantiated( all_instances, set_of_input_types, previous_in_chain ); + + END_RULE; + +(* + The following two FUNCTIONs have been added to address Bug 5057 for the + initial ed2 version until they can properly be added to the constituent modules. +*) + + FUNCTION above_plane + (p1 : cartesian_point; p2 : cartesian_point; p3 : cartesian_point; p4 : cartesian_point) : REAL; + LOCAL + dir2, dir3, dir4 : direction := + dummy_gri || direction([1.0, 0.0, 0.0]); + val, mag : REAL; + END_LOCAL; + + IF (p1.dim <> 3) THEN + RETURN(?); + END_IF; + REPEAT i := 1 TO 3; + dir2.direction_ratios[i] := p2.coordinates[i] - p1.coordinates[i]; + dir3.direction_ratios[i] := p3.coordinates[i] - p1.coordinates[i]; + dir4.direction_ratios[i] := p4.coordinates[i] - p1.coordinates[i]; + mag := dir4.direction_ratios[i]*dir4.direction_ratios[i]; + END_REPEAT; + mag := sqrt(mag); + val := mag*dot_product(dir4, cross_product(dir2, dir3).orientation); + RETURN(val); + END_FUNCTION; + + FUNCTION same_side + (plane_pts : LIST[3:3] OF cartesian_point; test_points : LIST[2:?] OF cartesian_point) : BOOLEAN; + LOCAL + val1, val2 : REAL; + n : INTEGER; + END_LOCAL; + + IF (plane_pts[1].dim = 2) OR (test_points[1].dim = 2) THEN + RETURN(?); + END_IF; + n := SIZEOF(test_points); + val1 := above_plane(plane_pts[1], plane_pts[2], plane_pts[3], + test_points[1] ); + REPEAT i := 2 TO n; + val2 := above_plane(plane_pts[1], plane_pts[2], plane_pts[3], + test_points[i] ); + IF (val1*val2 <= 0.0) THEN + RETURN(FALSE); + END_IF; + END_REPEAT; + RETURN(TRUE); + END_FUNCTION; + +(* End of added FUNCTIONs. JH 2014-05-22 *) + + FUNCTION acyclic( + arg1 : generic_expression; + arg2 : SET OF generic_expression + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) THEN + RETURN( TRUE ); + END_IF; + IF arg1 IN arg2 THEN + RETURN( FALSE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNARY_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) THEN + RETURN( acyclic( arg1\unary_generic_expression.operand, arg2 + [arg1] ) ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BINARY_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) THEN + RETURN( acyclic( arg1\binary_generic_expression.operands[1], arg2 + [arg1] ) AND acyclic( arg1\binary_generic_expression. + operands[2], arg2 + [arg1] ) ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) + THEN + result := TRUE; + REPEAT i := 1 TO SIZEOF( arg1\multiple_arity_generic_expression.operands ) BY 1; + result := result AND acyclic( arg1\multiple_arity_generic_expression.operands[i], arg2 + [arg1] ); + END_REPEAT; + RETURN( result ); + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION acyclic_composite_text( + start_composite : composite_text; + child_text : SET [1 : ?] OF text_or_character + ) : LOGICAL; + + LOCAL + i : INTEGER; + local_composite_text : SET [0 : ?] OF composite_text; + local_annotation_text : SET [0 : ?] OF annotation_text; + local_children : SET [0 : ?] OF text_or_character; + END_LOCAL; + local_composite_text := QUERY ( child <* child_text | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'COMPOSITE_TEXT' IN TYPEOF( child ) ) ); + IF SIZEOF( local_composite_text ) > 0 THEN + REPEAT i := 1 TO HIINDEX( local_composite_text ) BY 1; + IF start_composite :=: local_composite_text[i] THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + local_children := child_text; + IF SIZEOF( local_composite_text ) > 0 THEN + REPEAT i := 1 TO HIINDEX( local_composite_text ) BY 1; + local_children := local_children + local_composite_text[i].collected_text; + END_REPEAT; + END_IF; + local_annotation_text := QUERY ( child <* child_text | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ANNOTATION_TEXT' IN TYPEOF( child ) ) ); + IF SIZEOF( local_annotation_text ) > 0 THEN + REPEAT i := 1 TO HIINDEX( local_annotation_text ) BY 1; + local_children := local_children + QUERY ( item <* local_annotation_text[i]\mapped_item.mapping_source. + mapped_representation.items | ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ANNOTATION_TEXT' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT'] * TYPEOF( + item ) ) > 0 ) ); + END_REPEAT; + END_IF; + IF local_children :<>: child_text THEN + RETURN( acyclic_composite_text( start_composite, local_children ) ); + ELSE + RETURN( TRUE ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_curve_replica( + rep : curve_replica; + parent : curve + ) : BOOLEAN; + IF NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_curve_replica( rep, parent\curve_replica.parent_curve ) ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_mapped_representation( + mi : mapped_item + ) : BOOLEAN; + + LOCAL + rms : SET OF representation_map; + mis : SET OF mapped_item; + rs1 : SET OF representation; + rs2 : SET OF representation; + END_LOCAL; + rs1 := using_representations( mi ); + rs2 := []; + REPEAT WHILE SIZEOF( rs1 ) > 0; + REPEAT i := 1 TO HIINDEX( rs1 ) BY 1; + rms := bag_to_set( USEDIN( rs1[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION' ) ); + IF SIZEOF( rms ) > 0 THEN + REPEAT j := 1 TO HIINDEX( rms ) BY 1; + mis := bag_to_set( USEDIN( rms[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM.' + + 'MAPPING_SOURCE' ) ); + IF SIZEOF( mis ) > 0 THEN + REPEAT j := 1 TO HIINDEX( mis ) BY 1; + IF mis[i] :=: mi THEN + RETURN( FALSE ); + END_IF; + rs2 := rs2 + using_representations( mis[i] ); + END_REPEAT; + END_IF; + END_REPEAT; + END_IF; + END_REPEAT; + rs1 := rs2; + rs2 := []; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_point_replica( + rep : point_replica; + parent : point + ) : BOOLEAN; + IF NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_point_replica( rep, parent\point_replica.parent_pt ) ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_product_category_relationship( + relation : product_category_relationship; + children : SET OF product_category + ) : BOOLEAN; + + LOCAL + x : SET OF product_category_relationship; + local_children : SET OF product_category; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( children ) BY 1; + IF relation.category :=: children[i] THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + x := bag_to_set( USEDIN( relation.category, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_CATEGORY_RELATIONSHIP.SUB_CATEGORY' ) ); + local_children := children + relation.category; + IF SIZEOF( x ) > 0 THEN + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_product_category_relationship( x[i], local_children ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_product_definition_relationship( + relation : product_definition_relationship; + relatives : SET [1 : ?] OF product_definition_or_reference; + specific_relation : STRING + ) : BOOLEAN; + + LOCAL + x : SET OF product_definition_relationship; + END_LOCAL; + IF relation.relating_product_definition IN relatives THEN + RETURN( FALSE ); + END_IF; + x := QUERY ( pd <* bag_to_set( USEDIN( relation.relating_product_definition, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + + 'RELATED_PRODUCT_DEFINITION' ) ) | ( specific_relation IN TYPEOF( pd ) ) ); + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_product_definition_relationship( x[i], relatives + relation.relating_product_definition, specific_relation ) + THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_representation_relationship( + relation : representation_relationship; + relatives : SET [1 : ?] OF representation; + specific_relation : STRING + ) : BOOLEAN; + + LOCAL + x : SET OF representation_relationship; + END_LOCAL; + IF relation.rep_1 IN relatives THEN + RETURN( FALSE ); + END_IF; + x := QUERY ( r <* bag_to_set( USEDIN( relation.rep_1, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2' ) ) | ( specific_relation IN TYPEOF( r ) ) ); + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_representation_relationship( x[i], relatives + relation.rep_1, specific_relation ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_shape_aspect_relationship( + relation : shape_aspect_relationship; + relatives : SET [1 : ?] OF shape_aspect; + specific_relation : STRING + ) : BOOLEAN; + + LOCAL + x : SET OF shape_aspect_relationship; + END_LOCAL; + IF relation.relating_shape_aspect IN relatives THEN + RETURN( FALSE ); + END_IF; + x := QUERY ( sa <* bag_to_set( USEDIN( relation.relating_shape_aspect, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) ) | ( specific_relation IN TYPEOF( sa ) ) ); + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_shape_aspect_relationship( x[i], relatives + relation.relating_shape_aspect, specific_relation ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_solid_replica( + rep : solid_replica; + parent : solid_model + ) : BOOLEAN; + IF NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_solid_replica( rep, parent\solid_replica.parent_solid ) ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_surface_replica( + rep : surface_replica; + parent : surface + ) : BOOLEAN; + IF NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_surface_replica( rep, parent\surface_replica.parent_surface ) ); + END_IF; + + END_FUNCTION; + + FUNCTION advanced_face_properties( + testface : face + ) : BOOLEAN; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF( testface ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF( testface ) THEN + RETURN( advanced_face_properties( testface\subface.parent_face ) ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION all_members_of_es( + sv : SET OF maths_value; + es : elementary_space_enumerators + ) : LOGICAL; + + CONSTANT + base_types : SET OF STRING := + [ 'NUMBER' , + 'COMPLEX_NUMBER_LITERAL' , + 'REAL' , + 'INTEGER' , + 'LOGICAL' , + 'BOOLEAN' , + 'STRING' , + 'BINARY' , + 'MATHS_SPACE' , + 'MATHS_FUNCTION' , + 'LIST' , + 'ELEMENTARY_SPACE_ENUMERATORS' , + 'ORDERING_TYPE' , + 'LOWER_UPPER' , + 'SYMMETRY_TYPE' , + 'ELEMENTARY_FUNCTION_ENUMERATORS' , + 'OPEN_CLOSED' , + 'SPACE_CONSTRAINT_TYPE' , + 'REPACKAGE_OPTIONS' , + 'EXTENSION_OPTIONS' ]; + END_CONSTANT; + + LOCAL + v : maths_value; + key_type : STRING := ''; + types : SET OF STRING; + ge : generic_expression; + cum : LOGICAL := TRUE; + vspc : maths_space; + END_LOCAL; + IF ( NOT EXISTS( sv ) ) OR ( NOT EXISTS( es ) ) THEN + RETURN( FALSE ); + END_IF; + CASE es OF + es_numbers : key_type := 'NUMBER'; + es_complex_numbers : key_type := 'COMPLEX_NUMBER_LITERAL'; + es_reals : key_type := 'REAL'; + es_integers : key_type := 'INTEGER'; + es_logicals : key_type := 'LOGICAL'; + es_booleans : key_type := 'BOOLEAN'; + es_strings : key_type := 'STRING'; + es_binarys : key_type := 'BINARY'; + es_maths_spaces : key_type := 'MATHS_SPACE'; + es_maths_functions : key_type := 'MATHS_FUNCTION'; + es_generics : RETURN( TRUE ); + END_CASE; + REPEAT i := 1 TO SIZEOF( sv ) BY 1; + IF NOT EXISTS( sv[i] ) THEN + RETURN( FALSE ); + END_IF; + v := simplify_maths_value( sv[i] ); + types := stripped_typeof( v ); + IF key_type IN types THEN + SKIP; + END_IF; + IF ( es = es_numbers ) AND ( 'COMPLEX_NUMBER_LITERAL' IN types ) THEN + SKIP; + END_IF; + IF SIZEOF( base_types * types ) > 0 THEN + RETURN( FALSE ); + END_IF; + ge := v; + IF has_values_space( ge ) THEN + vspc := values_space_of( ge ); + IF NOT subspace_of_es( vspc, es ) THEN + IF NOT compatible_spaces( vspc, make_elementary_space( es ) ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END_IF; + ELSE + cum := UNKNOWN; + END_IF; + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + + END_FUNCTION; + + FUNCTION any_space_satisfies( + sc : space_constraint_type; + spc : maths_space + ) : BOOLEAN; + + LOCAL + spc_id : elementary_space_enumerators; + END_LOCAL; + IF ( sc = sc_equal ) OR ( NOT ( 'ELEMENTARY_SPACE' IN stripped_typeof( spc ) ) ) THEN + RETURN( FALSE ); + END_IF; + spc_id := spc\elementary_space.space_id; + IF sc = sc_subspace THEN + RETURN( bool( spc_id = es_generics ) ); + END_IF; + IF sc = sc_member THEN + RETURN( bool( ( spc_id = es_generics ) OR ( spc_id = es_maths_spaces ) ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION apeaid_is_base( + input : area_component + ) : LOGICAL; + + LOCAL + pd : SET OF property_definition := bag_to_set( QUERY ( pd <* USEDIN( input, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( pd\ + property_definition.name = 'is base' ) ) ); + END_LOCAL; + RETURN( pd[1].description = 'true' ); + + END_FUNCTION; + + FUNCTION aspect_ratio( + p : planar_box + ) : positive_ratio_measure; + IF ( p.size_in_x > 0 ) AND ( p.size_in_y > 0 ) THEN + RETURN( p.size_in_x / p.size_in_y ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION assembly_leaf( + item : product_definition + ) : BOOLEAN; + + LOCAL + local_relation : SET OF assembly_component_usage := []; + local_relation2 : BAG OF assembly_component_usage := []; + END_LOCAL; + local_relation2 := local_relation2 + QUERY ( pdr <* USEDIN( item, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + + 'RELATING_PRODUCT_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ASSEMBLY_COMPONENT_USAGE' IN TYPEOF( pdr ) ) ); + local_relation := bag_to_set( local_relation2 ); + IF SIZEOF( local_relation ) = 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION assembly_root( + item : product_definition + ) : BOOLEAN; + IF SIZEOF( QUERY ( pdr <* USEDIN( item, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN TYPEOF( pdr ) ) ) ) = 0 + THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION assoc_product_space( + ts1, ts2 : tuple_space + ) : tuple_space; + + LOCAL + types1 : SET OF STRING := stripped_typeof( ts1 ); + types2 : SET OF STRING := stripped_typeof( ts2 ); + up1 : uniform_product_space := make_uniform_product_space( the_reals, 1 ); + up2 : uniform_product_space := make_uniform_product_space( the_reals, 1 ); + lp1 : listed_product_space := the_zero_tuple_space; + lp2 : listed_product_space := the_zero_tuple_space; + lps : listed_product_space := the_zero_tuple_space; + et1 : extended_tuple_space := the_tuples; + et2 : extended_tuple_space := the_tuples; + ets : extended_tuple_space := the_tuples; + use_up1 : BOOLEAN; + use_up2 : BOOLEAN; + use_lp1 : BOOLEAN; + use_lp2 : BOOLEAN; + factors : LIST OF maths_space := []; + tspace : tuple_space; + END_LOCAL; + IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN + up1 := ts1; + use_up1 := TRUE; + use_lp1 := FALSE; + ELSE + IF 'LISTED_PRODUCT_SPACE' IN types1 THEN + lp1 := ts1; + use_up1 := FALSE; + use_lp1 := TRUE; + ELSE + IF NOT ( 'EXTENDED_TUPLE_SPACE' IN types1 ) THEN + RETURN( ? ); + END_IF; + et1 := ts1; + use_up1 := FALSE; + use_lp1 := FALSE; + END_IF; + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN + up2 := ts2; + use_up2 := TRUE; + use_lp2 := FALSE; + ELSE + IF 'LISTED_PRODUCT_SPACE' IN types2 THEN + lp2 := ts2; + use_up2 := FALSE; + use_lp2 := TRUE; + ELSE + IF NOT ( 'EXTENDED_TUPLE_SPACE' IN types2 ) THEN + RETURN( ? ); + END_IF; + et2 := ts2; + use_up2 := FALSE; + use_lp2 := FALSE; + END_IF; + END_IF; + IF use_up1 THEN + IF use_up2 THEN + IF up1.base = up2.base THEN + tspace := make_uniform_product_space( up1.base, up1.exponent + up2.exponent ); + ELSE + factors := [up1.base : 0, up2.base : 0]; + tspace := make_listed_product_space( factors ); + END_IF; + ELSE + IF use_lp2 THEN + factors := [up1.base : 0]; + factors := factors + lp2.factors; + tspace := make_listed_product_space( factors ); + ELSE + tspace := assoc_product_space( up1, et2.base ); + tspace := make_extended_tuple_space( tspace, et2.extender ); + END_IF; + END_IF; + ELSE + IF use_lp1 THEN + IF use_up2 THEN + factors := [up2.base : 0]; + factors := lp1.factors + factors; + tspace := make_listed_product_space( factors ); + ELSE + IF use_lp2 THEN + tspace := make_listed_product_space( lp1.factors + lp2.factors ); + ELSE + tspace := assoc_product_space( lp1, et2.base ); + tspace := make_extended_tuple_space( tspace, et2.extender ); + END_IF; + END_IF; + ELSE + IF use_up2 THEN + IF et1.extender = up2.base THEN + tspace := assoc_product_space( et1.base, up2 ); + tspace := make_extended_tuple_space( tspace, et1.extender ); + ELSE + RETURN( ? ); + END_IF; + ELSE + IF use_lp2 THEN + factors := lp2.factors; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + IF et1.extender <> factors[i] THEN + RETURN( ? ); + END_IF; + END_REPEAT; + tspace := assoc_product_space( et1.base, lp2 ); + tspace := make_extended_tuple_space( tspace, et1.extender ); + ELSE + IF et1.extender = et2.extender THEN + tspace := assoc_product_space( et1, et2.base ); + ELSE + RETURN( ? ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( tspace ); + + END_FUNCTION; + + FUNCTION associated_surface( + arg : pcurve_or_surface + ) : surface; + + LOCAL + surf : surface; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( arg ) THEN + surf := arg\pcurve.basis_surface; + ELSE + surf := arg; + END_IF; + RETURN( surf ); + + END_FUNCTION; + + FUNCTION atan2( + y, x : REAL + ) : REAL; + + LOCAL + r : REAL; + END_LOCAL; + IF ( y = 0 ) AND ( x = 0 ) THEN + RETURN( ? ); + END_IF; + r := ATAN( y, x ); + IF x < 0 THEN + IF y < 0 THEN + r := r - PI; + ELSE + r := r + PI; + END_IF; + END_IF; + RETURN( r ); + + END_FUNCTION; + + FUNCTION bag_to_set( + the_bag : BAG OF GENERIC:intype + ) : SET OF GENERIC:intype; + + LOCAL + the_set : SET OF GENERIC:intype := []; + END_LOCAL; + IF SIZEOF( the_bag ) > 0 THEN + REPEAT i := 1 TO HIINDEX( the_bag ) BY 1; + the_set := the_set + the_bag[i]; + END_REPEAT; + END_IF; + RETURN( the_set ); + + END_FUNCTION; + + FUNCTION base_axis( + dim : INTEGER; + axis1, axis2, axis3 : direction + ) : LIST [2 : 3] OF direction; + + LOCAL + u : LIST [2 : 3] OF direction; + factor : REAL; + d1 : direction; + d2 : direction; + END_LOCAL; + IF dim = 3 THEN + d1 := NVL( normalise( axis3 ), dummy_gri || direction( [0, 0, 1] ) ); + d2 := first_proj_axis( d1, axis1 ); + u := [d2, second_proj_axis( d1, d2, axis2 ), d1]; + ELSE + IF EXISTS( axis1 ) THEN + d1 := normalise( axis1 ); + u := [d1, orthogonal_complement( d1 )]; + IF EXISTS( axis2 ) THEN + factor := dot_product( axis2, u[2] ); + IF factor < 0 THEN + u[2].direction_ratios[1] := -u[2].direction_ratios[1]; + u[2].direction_ratios[2] := -u[2].direction_ratios[2]; + END_IF; + END_IF; + ELSE + IF EXISTS( axis2 ) THEN + d1 := normalise( axis2 ); + u := [orthogonal_complement( d1 ), d1]; + u[1].direction_ratios[1] := -u[1].direction_ratios[1]; + u[1].direction_ratios[2] := -u[1].direction_ratios[2]; + ELSE + u := [dummy_gri || direction( [1, 0] ), dummy_gri || direction( [0, 1] )]; + END_IF; + END_IF; + END_IF; + RETURN( u ); + + END_FUNCTION; + + FUNCTION bool( + lgcl : LOGICAL + ) : BOOLEAN; + IF NOT EXISTS( lgcl ) THEN + RETURN( FALSE ); + END_IF; + IF lgcl <> TRUE THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION boolean_choose( + b : BOOLEAN; + choice1, choice2 : GENERIC:item + ) : GENERIC:item; + IF b THEN + RETURN( choice1 ); + ELSE + RETURN( choice2 ); + END_IF; + + END_FUNCTION; + + FUNCTION build_2axes( + ref_direction : direction + ) : LIST [2 : 2] OF direction; + + LOCAL + d : direction := NVL( normalise( ref_direction ), dummy_gri || direction( [1, 0] ) ); + END_LOCAL; + RETURN( [d, orthogonal_complement( d )] ); + + END_FUNCTION; + + FUNCTION build_axes( + axis, ref_direction : direction + ) : LIST [3 : 3] OF direction; + + LOCAL + d1 : direction; + d2 : direction; + END_LOCAL; + d1 := NVL( normalise( axis ), dummy_gri || direction( [0, 0, 1] ) ); + d2 := first_proj_axis( d1, ref_direction ); + RETURN( [d2, normalise( cross_product( d1, d2 ) )\vector.orientation, d1] ); + + END_FUNCTION; + + FUNCTION categories_of_product( + obj : product + ) : SET OF STRING; + + LOCAL + category_assignments : BAG OF product_category; + categories : SET OF STRING := []; + END_LOCAL; + category_assignments := USEDIN( obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ); + REPEAT i := LOINDEX( category_assignments ) TO HIINDEX( category_assignments ) BY 1; + categories := categories + category_assignments[i].name; + END_REPEAT; + RETURN( categories ); + + END_FUNCTION; + + FUNCTION cc_design_person_and_organization_correlation( + e : cc_design_person_and_organization_assignment + ) : BOOLEAN; + + LOCAL + po_role : STRING; + END_LOCAL; + po_role := e\person_and_organization_assignment.role.name; + CASE po_role OF + 'request_recipient' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CHANGE_REQUEST', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'START_REQUEST'] * TYPEOF( x ) ) = 1 ) ) ) + THEN + RETURN( FALSE ); + END_IF; + 'initiator' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CHANGE_REQUEST', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'START_REQUEST', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'START_WORK', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CHANGE'] * TYPEOF( x ) ) = 1 ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'creator' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION'] * TYPEOF( x ) ) = 1 ) ) ) + THEN + RETURN( FALSE ); + END_IF; + 'part_supplier' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION' ) IN TYPEOF( + x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'design_supplier' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION' ) IN TYPEOF( + x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'design_owner' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT' IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'configuration_manager' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONFIGURATION_ITEM' ) IN TYPEOF( x ) ) ) ) + THEN + RETURN( FALSE ); + END_IF; + 'contractor' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONTRACT' IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'classification_officer' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SECURITY_CLASSIFICATION' ) IN TYPEOF( x ) ) ) ) + THEN + RETURN( FALSE ); + END_IF; + OTHERWISE : RETURN( TRUE ); + END_CASE; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION check_continuous_edges( + edges : LIST OF UNIQUE edge_curve + ) : BOOLEAN; + + LOCAL + i : INTEGER; + next_vertex : vertex; + END_LOCAL; + IF SIZEOF( edges ) = 1 THEN + RETURN( TRUE ); + END_IF; + IF ( edges[2].edge_start :=: edges[1].edge_end ) XOR ( edges[2].edge_start :=: edges[1].edge_start ) THEN + next_vertex := edges[2].edge_end; + ELSE + IF ( edges[2].edge_end :=: edges[1].edge_end ) XOR ( edges[2].edge_end :=: edges[1].edge_start ) THEN + next_vertex := edges[2].edge_start; + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + IF SIZEOF( edges ) = 2 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 3 TO HIINDEX( edges ) BY 1; + IF edges[i].edge_start :=: next_vertex THEN + next_vertex := edges[i].edge_end; + ELSE + IF edges[i].edge_end :=: next_vertex THEN + next_vertex := edges[i].edge_start; + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION check_curve_planarity( + checked_curve : curve + ) : BOOLEAN; + + LOCAL + crv : curve := checked_curve; + i : INTEGER; + j : INTEGER; + result : BOOLEAN := FALSE; + END_LOCAL; + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' ] * TYPEOF( crv ) ) > 0 THEN + result := TRUE; + ELSE + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF( crv ) ) AND + check_curve_planarity( crv\trimmed_curve.basis_curve ) THEN + result := TRUE; + ELSE + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( crv ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( crv\pcurve.basis_surface ) ) + THEN + result := TRUE; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( crv ) THEN + + BEGIN + REPEAT j := 1 TO HIINDEX( crv\surface_curve.basis_surface ) BY 1; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( crv\surface_curve. + basis_surface[j] ) THEN + result := TRUE; + END_IF; + END_REPEAT; + END; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION check_sparse_index_domain( + idxdom : tuple_space; + base : zero_or_one; + shape : LIST [1 : ?] OF positive_integer; + order : ordering_type + ) : BOOLEAN; + + LOCAL + mthspc : maths_space; + interval : finite_integer_interval; + i : INTEGER; + END_LOCAL; + mthspc := factor1( idxdom ); + interval := mthspc; + IF order = by_rows THEN + i := 1; + ELSE + i := 2; + END_IF; + RETURN( bool( ( interval.min <= base ) AND ( interval.max >= ( base + shape[i] ) ) ) ); + + END_FUNCTION; + + FUNCTION check_sparse_index_to_loc( + index_range, loc_domain : tuple_space + ) : BOOLEAN; + + LOCAL + temp : maths_space; + idx_rng_itvl : finite_integer_interval; + loc_dmn_itvl : finite_integer_interval; + END_LOCAL; + temp := factor1( index_range ); + IF ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( temp ) THEN + temp := factor1( temp ); + END_IF; + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + idx_rng_itvl := temp; + temp := factor1( loc_domain ); + IF ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( temp ) THEN + temp := factor1( temp ); + END_IF; + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + loc_dmn_itvl := temp; + RETURN( bool( ( loc_dmn_itvl.min <= idx_rng_itvl.min ) AND ( idx_rng_itvl.max <= ( loc_dmn_itvl.max + 1 ) ) ) ); + + END_FUNCTION; + + FUNCTION check_sparse_loc_range( + locrng : tuple_space; + base : zero_or_one; + shape : LIST [1 : ?] OF positive_integer; + order : ordering_type + ) : BOOLEAN; + + LOCAL + mthspc : maths_space; + interval : finite_integer_interval; + i : INTEGER; + END_LOCAL; + IF space_dimension( locrng ) <> 1 THEN + RETURN( FALSE ); + END_IF; + mthspc := factor1( locrng ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( mthspc ) ) THEN + RETURN( FALSE ); + END_IF; + interval := mthspc; + IF order = by_rows THEN + i := 2; + ELSE + i := 1; + END_IF; + RETURN( bool( ( interval.min >= base ) AND ( interval.max <= ( ( base + shape[i] ) - 1 ) ) ) ); + + END_FUNCTION; + + FUNCTION check_text_alignment( + ct : composite_text + ) : BOOLEAN; + + LOCAL + a : SET OF text_alignment := []; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( ct.collected_text ) BY 1; + a := a + [ct.collected_text[i]\text_literal.alignment]; + END_REPEAT; + RETURN( SIZEOF( a ) = 1 ); + + END_FUNCTION; + + FUNCTION check_text_font( + ct : composite_text + ) : BOOLEAN; + + LOCAL + f : SET OF font_select := []; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( ct.collected_text ) BY 1; + f := f + [ct.collected_text[i]\text_literal.font]; + END_REPEAT; + RETURN( SIZEOF( f ) <= 1 ); + + END_FUNCTION; + + FUNCTION class_assignment_is_valid( + aia : applied_classification_assignment + ) : BOOLEAN; + + LOCAL + item : classification_item; + role : classification_role; + END_LOCAL; + role := aia\classification_assignment.role; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLASS_SYSTEM' IN TYPEOF( aia\classification_assignment + .assigned_class ) THEN + IF role\classification_role.name <> 'class system membership' THEN + RETURN( FALSE ); + END_IF; + REPEAT i := LOINDEX( aia\applied_classification_assignment.items ) TO HIINDEX( aia\applied_classification_assignment.items ) + BY 1; + item := aia\applied_classification_assignment.items[i]; + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_CLASS'] * TYPEOF( item ) ) + = 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_CLASS' IN TYPEOF( aia\ + classification_assignment.assigned_class ) THEN + IF NOT ( role\classification_role.name IN [ 'definitional', 'non-definitional', ''] ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := LOINDEX( aia\applied_classification_assignment.items ) TO HIINDEX( aia\applied_classification_assignment.items ) + BY 1; + item := aia\applied_classification_assignment.items[i]; + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLASSIFIED_ITEM'] * TYPEOF( item ) ) = 0 + THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + IF role\classification_role.name = 'definitional' THEN + IF NOT ( SIZEOF( QUERY ( it <* aia\applied_classification_assignment.items | ( NOT ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' ] * TYPEOF( it ) ) = 1 ) ) ) ) + = 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION closed_shell_reversed( + a_shell : closed_shell + ) : oriented_closed_shell; + + LOCAL + the_reverse : oriented_closed_shell; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( a_shell ) THEN + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || closed_shell( ) || + oriented_closed_shell( a_shell\oriented_closed_shell.closed_shell_element, NOT a_shell\oriented_closed_shell.orientation ); + ELSE + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || closed_shell( ) || + oriented_closed_shell( a_shell, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION collect_joints( + items : SET [1 : ?] OF pair_representation_relationship + ) : SET OF kinematic_joint; + + LOCAL + result : SET OF kinematic_joint := []; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( items ) BY 1; + result := result + items[i].transformation_operator.joint; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION compare_basis_and_coef( + basis : LIST [1 : ?] OF b_spline_basis; + coef : maths_function + ) : BOOLEAN; + + LOCAL + shape : LIST OF positive_integer; + END_LOCAL; + IF ( NOT EXISTS( basis ) ) OR ( NOT EXISTS( coef ) ) THEN + RETURN( FALSE ); + END_IF; + shape := shape_of_array( coef ); + IF NOT EXISTS( shape ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( shape ) < SIZEOF( basis ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( basis ) BY 1; + IF ( basis[i].num_basis = shape[i] ) <> TRUE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION compatible_complex_number_regions( + sp1, sp2 : maths_space + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := stripped_typeof( sp1 ); + crgn1 : cartesian_complex_number_region; + crgn2 : cartesian_complex_number_region; + prgn1 : polar_complex_number_region; + prgn2 : polar_complex_number_region; + prgn1c2 : polar_complex_number_region; + prgn2c1 : polar_complex_number_region; + sp1_is_crgn : BOOLEAN; + sp2_is_crgn : BOOLEAN; + END_LOCAL; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN + sp1_is_crgn := TRUE; + crgn1 := sp1; + ELSE + IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN + sp1_is_crgn := FALSE; + prgn1 := sp1; + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + typenames := stripped_typeof( sp2 ); + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN + sp2_is_crgn := TRUE; + crgn2 := sp2; + ELSE + IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN + sp2_is_crgn := FALSE; + prgn2 := sp2; + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + IF sp1_is_crgn AND sp2_is_crgn THEN + RETURN( compatible_intervals( crgn1.real_constraint, crgn2.real_constraint ) AND compatible_intervals( crgn1. + imag_constraint, crgn2.imag_constraint ) ); + END_IF; + IF ( NOT sp1_is_crgn ) AND ( NOT sp2_is_crgn ) AND ( prgn1.centre.real_part = prgn2.centre.real_part ) AND ( prgn1.centre. + imag_part = prgn2.centre.imag_part ) THEN + IF NOT compatible_intervals( prgn1.distance_constraint, prgn2.distance_constraint ) THEN + RETURN( FALSE ); + END_IF; + IF compatible_intervals( prgn1.direction_constraint, prgn2.direction_constraint ) THEN + RETURN( TRUE ); + END_IF; + IF ( prgn1.direction_constraint.max > PI ) AND ( prgn2.direction_constraint.max < PI ) THEN + RETURN( compatible_intervals( prgn2.direction_constraint, make_finite_real_interval( -PI, open, prgn1. + direction_constraint.max - ( 2 * PI ), prgn1.direction_constraint.max_closure ) ) ); + END_IF; + IF ( prgn2.direction_constraint.max > PI ) AND ( prgn1.direction_constraint.max < PI ) THEN + RETURN( compatible_intervals( prgn1.direction_constraint, make_finite_real_interval( -PI, open, prgn2. + direction_constraint.max - ( 2 * PI ), prgn2.direction_constraint.max_closure ) ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF sp1_is_crgn AND ( NOT sp2_is_crgn ) THEN + crgn2 := enclose_pregion_in_cregion( prgn2 ); + prgn1 := enclose_cregion_in_pregion( crgn1, prgn2.centre ); + RETURN( compatible_complex_number_regions( crgn1, crgn2 ) AND compatible_complex_number_regions( prgn1, prgn2 ) ); + END_IF; + IF ( NOT sp1_is_crgn ) AND sp2_is_crgn THEN + crgn1 := enclose_pregion_in_cregion( prgn1 ); + prgn2 := enclose_cregion_in_pregion( crgn2, prgn1.centre ); + RETURN( compatible_complex_number_regions( crgn1, crgn2 ) AND compatible_complex_number_regions( prgn1, prgn2 ) ); + END_IF; + prgn1c2 := enclose_pregion_in_pregion( prgn1, prgn2.centre ); + prgn2c1 := enclose_pregion_in_pregion( prgn2, prgn1.centre ); + RETURN( compatible_complex_number_regions( prgn1, prgn2c1 ) AND compatible_complex_number_regions( prgn1c2, prgn2 ) ); + + END_FUNCTION; + + FUNCTION compatible_es_values( + esval1, esval2 : elementary_space_enumerators + ) : BOOLEAN; + + LOCAL + esval1_is_numeric : LOGICAL; + esval2_is_numeric : LOGICAL; + END_LOCAL; + IF ( esval1 = esval2 ) OR ( esval1 = es_generics ) OR ( esval2 = es_generics ) THEN + RETURN( TRUE ); + END_IF; + esval1_is_numeric := ( esval1 >= es_numbers ) AND ( esval1 <= es_integers ); + esval2_is_numeric := ( esval2 >= es_numbers ) AND ( esval2 <= es_integers ); + IF ( esval1_is_numeric AND ( esval2 = es_numbers ) ) OR ( esval2_is_numeric AND ( esval1 = es_numbers ) ) THEN + RETURN( TRUE ); + END_IF; + IF esval1_is_numeric XOR esval2_is_numeric THEN + RETURN( FALSE ); + END_IF; + IF ( ( esval1 = es_logicals ) AND ( esval2 = es_booleans ) ) OR ( ( esval1 = es_booleans ) AND ( esval2 = es_logicals ) ) + THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION compatible_intervals( + sp1, sp2 : maths_space + ) : BOOLEAN; + + LOCAL + amin : REAL; + amax : REAL; + END_LOCAL; + IF min_exists( sp1 ) AND max_exists( sp2 ) THEN + amin := real_min( sp1 ); + amax := real_max( sp2 ); + IF amin > amax THEN + RETURN( FALSE ); + END_IF; + IF amin = amax THEN + RETURN( min_included( sp1 ) AND max_included( sp2 ) ); + END_IF; + END_IF; + IF min_exists( sp2 ) AND max_exists( sp1 ) THEN + amin := real_min( sp2 ); + amax := real_max( sp1 ); + IF amin > amax THEN + RETURN( FALSE ); + END_IF; + IF amin = amax THEN + RETURN( min_included( sp2 ) AND max_included( sp1 ) ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION compatible_spaces( + sp1, sp2 : maths_space + ) : BOOLEAN; + + LOCAL + types1 : SET OF STRING := stripped_typeof( sp1 ); + types2 : SET OF STRING := stripped_typeof( sp2 ); + lgcl : LOGICAL := UNKNOWN; + m : INTEGER; + n : INTEGER; + s1 : maths_space; + s2 : maths_space; + END_LOCAL; + IF 'FINITE_SPACE' IN types1 THEN + REPEAT i := 1 TO SIZEOF( sp1\finite_space.members ) BY 1; + lgcl := member_of( sp1\finite_space.members[i], sp2 ); + IF lgcl <> FALSE THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( FALSE ); + END_IF; + IF 'FINITE_SPACE' IN types2 THEN + REPEAT i := 1 TO SIZEOF( sp2\finite_space.members ) BY 1; + lgcl := member_of( sp2\finite_space.members[i], sp1 ); + IF lgcl <> FALSE THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( FALSE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types1 THEN + IF sp1\elementary_space.space_id = es_generics THEN + RETURN( TRUE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types2 THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, sp2\elementary_space.space_id ) ); + END_IF; + IF ( 'FINITE_INTEGER_INTERVAL' IN types2 ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types2 ) OR ( 'INTEGER_INTERVAL_TO_MAX' IN + types2 ) THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, es_integers ) ); + END_IF; + IF ( 'FINITE_REAL_INTERVAL' IN types2 ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types2 ) OR ( 'REAL_INTERVAL_TO_MAX' IN types2 ) + THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, es_reals ) ); + END_IF; + IF ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 ) OR ( 'POLAR_COMPLEX_NUMBER_REGION' IN types2 ) THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, es_complex_numbers ) ); + END_IF; + IF 'TUPLE_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + RETURN( bool( sp1\elementary_space.space_id = es_maths_functions ) ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types2 THEN + IF sp2\elementary_space.space_id = es_generics THEN + RETURN( TRUE ); + END_IF; + IF ( 'FINITE_INTEGER_INTERVAL' IN types1 ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types1 ) OR ( 'INTEGER_INTERVAL_TO_MAX' IN + types1 ) THEN + RETURN( compatible_es_values( sp2\elementary_space.space_id, es_integers ) ); + END_IF; + IF ( 'FINITE_REAL_INTERVAL' IN types1 ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types1 ) OR ( 'REAL_INTERVAL_TO_MAX' IN types1 ) + THEN + RETURN( compatible_es_values( sp2\elementary_space.space_id, es_reals ) ); + END_IF; + IF ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types1 ) OR ( 'POLAR_COMPLEX_NUMBER_REGION' IN types1 ) THEN + RETURN( compatible_es_values( sp2\elementary_space.space_id, es_complex_numbers ) ); + END_IF; + IF 'TUPLE_SPACE' IN types1 THEN + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN types1 THEN + RETURN( bool( sp2\elementary_space.space_id = es_maths_functions ) ); + END_IF; + RETURN( TRUE ); + END_IF; + IF subspace_of_es( sp1, es_integers ) THEN + IF subspace_of_es( sp2, es_integers ) THEN + RETURN( compatible_intervals( sp1, sp2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp2, es_integers ) THEN + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp1, es_reals ) THEN + IF subspace_of_es( sp2, es_reals ) THEN + RETURN( compatible_intervals( sp1, sp2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp2, es_reals ) THEN + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp1, es_complex_numbers ) THEN + IF subspace_of_es( sp2, es_complex_numbers ) THEN + RETURN( compatible_complex_number_regions( sp1, sp2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp2, es_complex_numbers ) THEN + RETURN( FALSE ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN + IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN + IF sp1\uniform_product_space.exponent <> sp2\uniform_product_space.exponent THEN + RETURN( FALSE ); + END_IF; + RETURN( compatible_spaces( sp1\uniform_product_space.base, sp2\uniform_product_space.base ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types2 THEN + n := SIZEOF( sp2\listed_product_space.factors ); + IF sp1\uniform_product_space.exponent <> n THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO n BY 1; + IF NOT compatible_spaces( sp1\uniform_product_space.base, sp2\listed_product_space.factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + m := sp1\uniform_product_space.exponent; + n := space_dimension( sp2\extended_tuple_space.base ); + IF m < n THEN + RETURN( FALSE ); + END_IF; + IF m = n THEN + RETURN( compatible_spaces( sp1, sp2\extended_tuple_space.base ) ); + END_IF; + RETURN( compatible_spaces( sp1, assoc_product_space( sp2\extended_tuple_space.base, make_uniform_product_space( sp2\ + extended_tuple_space.extender, m - n ) ) ) ); + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types1 THEN + n := SIZEOF( sp1\listed_product_space.factors ); + IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN + IF n <> sp2\uniform_product_space.exponent THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO n BY 1; + IF NOT compatible_spaces( sp2\uniform_product_space.base, sp1\listed_product_space.factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types2 THEN + IF n <> SIZEOF( sp2\listed_product_space.factors ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO n BY 1; + IF NOT compatible_spaces( sp1\listed_product_space.factors[i], sp2\listed_product_space.factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + m := space_dimension( sp2\extended_tuple_space.base ); + IF n < m THEN + RETURN( FALSE ); + END_IF; + IF n = m THEN + RETURN( compatible_spaces( sp1, sp2\extended_tuple_space.base ) ); + END_IF; + RETURN( compatible_spaces( sp1, assoc_product_space( sp2\extended_tuple_space.base, make_uniform_product_space( sp2\ + extended_tuple_space.extender, n - m ) ) ) ); + END_IF; + IF ( schema_prefix + 'FUNCTION_SPACE' ) IN types2 THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN + IF ( 'UNIFORM_PRODUCT_SPACE' IN types2 ) OR ( 'LISTED_PRODUCT_SPACE' IN types2 ) THEN + RETURN( compatible_spaces( sp2, sp1 ) ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + IF NOT compatible_spaces( sp1\extended_tuple_space.extender, sp2\extended_tuple_space.extender ) THEN + RETURN( FALSE ); + END_IF; + n := space_dimension( sp1\extended_tuple_space.base ); + m := space_dimension( sp2\extended_tuple_space.base ); + IF n < m THEN + RETURN( compatible_spaces( assoc_product_space( sp1\extended_tuple_space.base, make_uniform_product_space( sp1\ + extended_tuple_space.extender, m - n ) ), sp2\extended_tuple_space.base ) ); + END_IF; + IF n = m THEN + RETURN( compatible_spaces( sp1\extended_tuple_space.base, sp2\extended_tuple_space.base ) ); + END_IF; + IF n > m THEN + RETURN( compatible_spaces( sp1\extended_tuple_space.base, assoc_product_space( sp2\extended_tuple_space.base, + make_uniform_product_space( sp2\extended_tuple_space.extender, n - m ) ) ) ); + END_IF; + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'FUNCTION_SPACE' IN types1 THEN + IF 'FUNCTION_SPACE' IN types2 THEN + s1 := sp1\function_space.domain_argument; + s2 := sp2\function_space.domain_argument; + CASE sp1\function_space.domain_constraint OF + sc_equal : + BEGIN + CASE sp2\function_space.domain_constraint OF + sc_equal : lgcl := subspace_of( s1, s2 ) AND subspace_of( s2, s1 ); + sc_subspace : lgcl := subspace_of( s1, s2 ); + sc_member : lgcl := member_of( s1, s2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE sp2\function_space.domain_constraint OF + sc_equal : lgcl := subspace_of( s2, s1 ); + sc_subspace : lgcl := compatible_spaces( s1, s2 ); + sc_member : lgcl := UNKNOWN; + END_CASE; + END; + sc_member : + BEGIN + CASE sp2\function_space.domain_constraint OF + sc_equal : lgcl := member_of( s2, s1 ); + sc_subspace : lgcl := UNKNOWN; + sc_member : lgcl := compatible_spaces( s1, s2 ); + END_CASE; + END; + END_CASE; + IF lgcl = FALSE THEN + RETURN( FALSE ); + END_IF; + s1 := sp1\function_space.range_argument; + s2 := sp2\function_space.range_argument; + CASE sp1\function_space.range_constraint OF + sc_equal : + BEGIN + CASE sp2\function_space.range_constraint OF + sc_equal : lgcl := subspace_of( s1, s2 ) AND subspace_of( s2, s1 ); + sc_subspace : lgcl := subspace_of( s1, s2 ); + sc_member : lgcl := member_of( s1, s2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE sp2\function_space.range_constraint OF + sc_equal : lgcl := subspace_of( s2, s1 ); + sc_subspace : lgcl := compatible_spaces( s1, s2 ); + sc_member : lgcl := UNKNOWN; + END_CASE; + END; + sc_member : + BEGIN + CASE sp2\function_space.range_constraint OF + sc_equal : lgcl := member_of( s2, s1 ); + sc_subspace : lgcl := UNKNOWN; + sc_member : lgcl := compatible_spaces( s1, s2 ); + END_CASE; + END; + END_CASE; + IF lgcl = FALSE THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + RETURN( TRUE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION composable_sequence( + operands : LIST [2 : ?] OF maths_function + ) : BOOLEAN; + REPEAT i := 1 TO SIZEOF( operands ) - 1 BY 1; + IF NOT compatible_spaces( operands[i].range, operands[i + 1].domain ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION compute_total_depth( + swsrh : solid_with_stepped_round_hole + ) : positive_length_measure; + + LOCAL + i : positive_integer; + n : positive_integer := swsrh.segments; + td : positive_length_measure := swsrh.segment_depths[1]; + END_LOCAL; + IF n = 1 THEN + RETURN( td ); + ELSE + REPEAT i := 2 TO n BY 1; + td := td + swsrh.segment_depths[i]; + END_REPEAT; + END_IF; + RETURN( td ); + + END_FUNCTION; + + FUNCTION conditional_reverse( + p : BOOLEAN; + an_item : reversible_topology + ) : reversible_topology; + IF p THEN + RETURN( an_item ); + ELSE + RETURN( topology_reversed( an_item ) ); + END_IF; + + END_FUNCTION; + + FUNCTION constraints_composite_curve_on_surface( + c : composite_curve_on_surface + ) : BOOLEAN; + + LOCAL + n_segments : INTEGER := SIZEOF( c.segments ); + END_LOCAL; + REPEAT k := 1 TO n_segments BY 1; + IF ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( c\composite_curve. + segments[k].parent_curve ) ) ) AND ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SURFACE_CURVE' IN TYPEOF( c\composite_curve.segments[k].parent_curve ) ) ) AND ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF( c\ + composite_curve.segments[k].parent_curve ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION constraints_geometry_shell_based_surface_model( + m : shell_based_surface_model + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT j := 1 TO SIZEOF( m.sbsm_boundary ) BY 1; + IF ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL' IN TYPEOF( m.sbsm_boundary[j] ) ) ) + AND ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL' IN TYPEOF( m.sbsm_boundary + [j] ) ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION constraints_geometry_shell_based_wireframe_model( + m : shell_based_wireframe_model + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT j := 1 TO SIZEOF( m.sbwm_boundary ) BY 1; + IF ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF( m.sbwm_boundary[j] ) ) ) + AND ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_SHELL' IN TYPEOF( m.sbwm_boundary + [j] ) ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION constraints_param_b_spline( + degree : INTEGER; + up_knots : INTEGER; + up_cp : INTEGER; + knot_mult : LIST [0 : ?] OF INTEGER; + knots : LIST [0 : ?] OF parameter_value + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + k : INTEGER; + sum : INTEGER; + END_LOCAL; + sum := knot_mult[1]; + REPEAT i := 2 TO up_knots BY 1; + sum := sum + knot_mult[i]; + END_REPEAT; + IF ( degree < 1 ) OR ( up_knots < 2 ) OR ( up_cp < degree ) OR ( sum <> ( degree + up_cp + 2 ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + k := knot_mult[1]; + IF ( k < 1 ) OR ( k > ( degree + 1 ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + REPEAT i := 2 TO up_knots BY 1; + IF ( knot_mult[i] < 1 ) OR ( knots[i] <= knots[i - 1] ) THEN + result := FALSE; + RETURN( result ); + END_IF; + k := knot_mult[i]; + IF ( i < up_knots ) AND ( k > degree ) THEN + result := FALSE; + RETURN( result ); + END_IF; + IF ( i = up_knots ) AND ( k > ( degree + 1 ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION constraints_rectangular_composite_surface( + s : rectangular_composite_surface + ) : BOOLEAN; + REPEAT i := 1 TO s.n_u BY 1; + REPEAT j := 1 TO s.n_v BY 1; + IF NOT ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( s.segments[i] + [j].parent_surface ) ) OR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'RECTANGULAR_TRIMMED_SURFACE' IN TYPEOF( s.segments[i][j].parent_surface ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + REPEAT i := 1 TO s.n_u - 1 BY 1; + REPEAT j := 1 TO s.n_v BY 1; + IF s.segments[i][j].u_transition = discontinuous THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + REPEAT i := 1 TO s.n_u BY 1; + REPEAT j := 1 TO s.n_v - 1 BY 1; + IF s.segments[i][j].v_transition = discontinuous THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION control_characters_free( + s : STRING + ) : BOOLEAN; + + LOCAL + ch : STRING; + END_LOCAL; + REPEAT i := 1 TO LENGTH( s ) BY 1; + ch := s[i]; + IF ( ch = '\x9' ) OR ( ch = '\xA' ) OR ( ch = '\xD' ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION convert_spatial_to_ypr_rotation( + pair : kinematic_pair; + rotation : spatial_rotation + ) : ypr_rotation; + + LOCAL + axis : direction; + angle : plane_angle_measure; + conv_angle : plane_angle_measure; + ya : plane_angle_measure; + pa : plane_angle_measure; + ra : plane_angle_measure; + ucf : REAL; + dx : REAL; + dy : REAL; + dz : REAL; + s_a : REAL; + c_a : REAL; + rotmat : ARRAY [1 : 3] OF ARRAY [1 : 3] OF REAL; + cm1 : REAL; + s_y : REAL; + c_y : REAL; + s_r : REAL; + c_r : REAL; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.YPR_ROTATION' IN TYPEOF( rotation ) THEN + RETURN( rotation ); + END_IF; + axis := normalise( rotation\rotation_about_direction.direction_of_axis ); + angle := rotation\rotation_about_direction.rotation_angle; + IF angle = 0 THEN + RETURN( [0, 0, 0] ); + END_IF; + dx := axis.direction_ratios[1]; + dy := axis.direction_ratios[2]; + dz := axis.direction_ratios[3]; + conv_angle := plane_angle_for_pair_in_radian( pair, angle ); + IF NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( conv_angle ) ) + THEN + RETURN( ? ); + END_IF; + ucf := angle / conv_angle; + s_a := SIN( conv_angle ); + c_a := COS( conv_angle ); + IF ( dy = 0 ) AND ( ( dx * dz ) = 0 ) THEN + REPEAT WHILE conv_angle <= ( -PI ); + conv_angle := conv_angle + ( 2 * PI ); + END_REPEAT; + REPEAT WHILE conv_angle > PI; + conv_angle := conv_angle - ( 2 * PI ); + END_REPEAT; + ya := ucf * conv_angle; + IF conv_angle <> PI THEN + ra := -ya; + ELSE + ra := ya; + END_IF; + IF dx <> 0 THEN + IF dx > 0 THEN + RETURN( [0, 0, ya] ); + ELSE + RETURN( [0, 0, ra] ); + END_IF; + ELSE + IF dz > 0 THEN + RETURN( [ya, 0, 0] ); + ELSE + RETURN( [ra, 0, 0] ); + END_IF; + END_IF; + END_IF; + IF ( dy <> 0 ) AND ( dx = 0 ) AND ( dz = 0 ) THEN + IF c_a >= 0 THEN + ya := 0; + ra := 0; + ELSE + ya := ucf * PI; + ra := ya; + END_IF; + pa := ucf * ATAN( s_a, ABS( c_a ) ); + IF dy < 0 THEN + pa := -pa; + END_IF; + RETURN( [ya, pa, ra] ); + END_IF; + cm1 := 1 - c_a; + rotmat := [[( dx * dx * cm1 ) + c_a, ( dx * dy * cm1 ) - ( dz * s_a ), ( dx * dz * cm1 ) + ( dy * s_a )], [( dx * dy * cm1 ) + + ( dz * s_a ), ( dy * dy * cm1 ) + c_a, ( dy * dz * cm1 ) - ( dx * s_a )], [( dx * dz * cm1 ) - ( dy * s_a ), ( dy * dz * + cm1 ) + ( dx * s_a ), ( dz * dz * cm1 ) + c_a]]; + IF ABS( rotmat[1][3] ) = 1 THEN + + BEGIN + IF rotmat[1][3] = 1 THEN + pa := 0.5 * PI; + ELSE + pa := ( -0.5 ) * PI; + END_IF; + ra := 0; + ya := ATAN( rotmat[2][1], rotmat[2][2] ); + IF rotmat[2][2] < 0 THEN + IF ya <= 0 THEN + ya := ya + PI; + ELSE + ya := ya - PI; + END_IF; + END_IF; + END; + ELSE + + BEGIN + ya := ATAN( -rotmat[1][2], rotmat[1][1] ); + IF rotmat[1][1] < 0 THEN + IF ya <= 0 THEN + ya := ya + PI; + ELSE + ya := ya - PI; + END_IF; + END_IF; + ra := ATAN( -rotmat[2][3], rotmat[3][3] ); + IF rotmat[3][3] < 0 THEN + IF ra <= 0 THEN + ra := ra + PI; + ELSE + ra := ra - PI; + END_IF; + END_IF; + s_y := SIN( ya ); + c_y := COS( ya ); + s_r := SIN( ra ); + c_r := COS( ra ); + IF ( ABS( s_y ) > ABS( c_y ) ) AND ( ABS( s_y ) > ABS( s_r ) ) AND ( ABS( s_y ) > ABS( c_r ) ) THEN + cm1 := ( -rotmat[1][2] ) / s_y; + ELSE + IF ( ABS( c_y ) > ABS( s_r ) ) AND ( ABS( c_y ) > ABS( c_r ) ) THEN + cm1 := rotmat[1][1] / c_y; + ELSE + IF ABS( s_r ) > ABS( c_r ) THEN + cm1 := ( -rotmat[2][3] ) / s_r; + ELSE + cm1 := rotmat[3][3] / c_r; + END_IF; + END_IF; + END_IF; + pa := ATAN( rotmat[1][3], cm1 ); + END; + END_IF; + ya := ya * ucf; + pa := pa * ucf; + ra := ra * ucf; + RETURN( [ya, pa, ra] ); + + END_FUNCTION; + + FUNCTION convert_to_literal( + val : maths_atom + ) : generic_literal; + + LOCAL + types : SET OF STRING := TYPEOF( val ); + END_LOCAL; + IF 'INTEGER' IN types THEN + RETURN( make_int_literal( val ) ); + END_IF; + IF 'REAL' IN types THEN + RETURN( make_real_literal( val ) ); + END_IF; + IF 'BOOLEAN' IN types THEN + RETURN( make_boolean_literal( val ) ); + END_IF; + IF 'STRING' IN types THEN + RETURN( make_string_literal( val ) ); + END_IF; + IF 'LOGICAL' IN types THEN + RETURN( make_logical_literal( val ) ); + END_IF; + IF 'BINARY' IN types THEN + RETURN( make_binary_literal( val ) ); + END_IF; + IF ( schema_prefix + 'MATHS_ENUM_ATOM' ) IN types THEN + RETURN( make_maths_enum_literal( val ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION convert_to_maths_function( + func : maths_function_select + ) : maths_function; + + LOCAL + efenum : elementary_function_enumerators; + mthfun : maths_function; + END_LOCAL; + IF ( schema_prefix + 'MATHS_FUNCTION' ) IN TYPEOF( func ) THEN + mthfun := func; + ELSE + efenum := func; + mthfun := make_elementary_function( efenum ); + END_IF; + RETURN( mthfun ); + + END_FUNCTION; + + FUNCTION convert_to_maths_value( + val : GENERIC:g + ) : maths_value; + + LOCAL + types : SET OF STRING := TYPEOF( val ); + ival : maths_integer; + rval : maths_real; + nval : maths_number; + tfval : maths_boolean; + lval : maths_logical; + sval : maths_string; + bval : maths_binary; + tval : maths_tuple := the_empty_maths_tuple; + mval : maths_value; + END_LOCAL; + IF ( schema_prefix + 'MATHS_VALUE' ) IN types THEN + RETURN( val ); + END_IF; + IF 'INTEGER' IN types THEN + ival := val; + RETURN( ival ); + END_IF; + IF 'REAL' IN types THEN + rval := val; + RETURN( rval ); + END_IF; + IF 'NUMBER' IN types THEN + nval := val; + RETURN( nval ); + END_IF; + IF 'BOOLEAN' IN types THEN + tfval := val; + RETURN( tfval ); + END_IF; + IF 'LOGICAL' IN types THEN + lval := val; + RETURN( lval ); + END_IF; + IF 'STRING' IN types THEN + sval := val; + RETURN( sval ); + END_IF; + IF 'BINARY' IN types THEN + bval := val; + RETURN( bval ); + END_IF; + IF 'LIST' IN types THEN + REPEAT i := 1 TO SIZEOF( val ) BY 1; + mval := convert_to_maths_value( val[i] ); + IF NOT EXISTS( mval ) THEN + RETURN( ? ); + END_IF; + INSERT( tval, mval, i - 1 ); + END_REPEAT; + RETURN( tval ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION convert_to_operand( + val : maths_value + ) : generic_expression; + + LOCAL + types : SET OF STRING := stripped_typeof( val ); + END_LOCAL; + IF 'GENERIC_EXPRESSION' IN types THEN + RETURN( val ); + END_IF; + IF 'MATHS_ATOM' IN types THEN + RETURN( convert_to_literal( val ) ); + END_IF; + IF 'ATOM_BASED_VALUE' IN types THEN + RETURN( make_atom_based_literal( val ) ); + END_IF; + IF 'MATHS_TUPLE' IN types THEN + RETURN( make_maths_tuple_literal( val ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION convert_to_operands( + values : AGGREGATE OF maths_value + ) : LIST OF generic_expression; + + LOCAL + operands : LIST OF generic_expression := []; + loc : INTEGER := 0; + END_LOCAL; + IF NOT EXISTS( values ) THEN + RETURN( ? ); + END_IF; + REPEAT i := LOINDEX( values ) TO HIINDEX( values ) BY 1; + INSERT( operands, convert_to_operand( values[i] ), loc ); + loc := loc + 1; + END_REPEAT; + RETURN( operands ); + + END_FUNCTION; + + FUNCTION convert_to_operands_prcmfn( + srcdom : maths_space_or_function; + prepfun : LIST OF maths_function; + finfun : maths_function_select + ) : LIST [2 : ?] OF generic_expression; + + LOCAL + operands : LIST OF generic_expression := []; + END_LOCAL; + INSERT( operands, srcdom, 0 ); + REPEAT i := 1 TO SIZEOF( prepfun ) BY 1; + INSERT( operands, prepfun[i], i ); + END_REPEAT; + INSERT( operands, convert_to_maths_function( finfun ), SIZEOF( prepfun ) + 1 ); + RETURN( operands ); + + END_FUNCTION; + + FUNCTION cross_product( + arg1, arg2 : direction + ) : vector; + + LOCAL + mag : REAL; + res : direction; + v1 : LIST [3 : 3] OF REAL; + v2 : LIST [3 : 3] OF REAL; + result : vector; + END_LOCAL; + IF ( NOT EXISTS( arg1 ) ) OR ( arg1.dim = 2 ) OR ( NOT EXISTS( arg2 ) ) OR ( arg2.dim = 2 ) THEN + RETURN( ? ); + ELSE + + BEGIN + v1 := normalise( arg1 ).direction_ratios; + v2 := normalise( arg2 ).direction_ratios; + res := dummy_gri || direction( [( v1[2] * v2[3] ) - ( v1[3] * v2[2] ), ( v1[3] * v2[1] ) - ( v1[1] * v2[3] ), ( v1[1] * + v2[2] ) - ( v1[2] * v2[1] )] ); + mag := 0; + REPEAT i := 1 TO 3 BY 1; + mag := mag + ( res.direction_ratios[i] * res.direction_ratios[i] ); + END_REPEAT; + IF mag > 0 THEN + result := dummy_gri || vector( res, SQRT( mag ) ); + ELSE + result := dummy_gri || vector( arg1, 0 ); + END_IF; + RETURN( result ); + END; + END_IF; + + END_FUNCTION; + + FUNCTION curve_weights_positive( + b : rational_b_spline_curve + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 0 TO b.upper_index_on_control_points BY 1; + IF b.weights[i] <= 0 THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr2( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF SIZEOF( agg ) <= 5 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr3( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\representation_item.name = 'significant number of digits' ) ) ) ) + = 1 ) OR ( ( SIZEOF( QUERY ( i <* agg | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\representation_item.name = 'lower limit' ) ) ) ) = 1 ) AND ( + SIZEOF( QUERY ( i <* agg | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\representation_item.name = 'upper limit' ) ) ) ) = 1 ) ) + THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr4( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\representation_item.name = 'plus minus tolerance value' ) ) ) ) + = 1 ) OR ( ( SIZEOF( QUERY ( i <* agg | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\representation_item.name = 'lower tolerance value' ) ) ) ) = + 1 ) AND ( SIZEOF( QUERY ( i <* agg | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\representation_item.name = 'upper tolerance value' ) ) ) ) = + 1 ) ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr5( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( i <* agg | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) ) ) + = SIZEOF( QUERY ( i <* agg | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\representation_item.name = 'cell description' ) ) ) ) ) + THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION definite_integral_check( + domain : tuple_space; + vrblint : input_selector; + lowerinf : BOOLEAN; + upperinf : BOOLEAN + ) : BOOLEAN; + + LOCAL + domn : tuple_space := domain; + fspc : maths_space; + dim : nonnegative_integer; + k : positive_integer; + END_LOCAL; + IF ( space_dimension( domain ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( domain ) ) ) THEN + domn := factor1( domain ); + END_IF; + dim := space_dimension( domn ); + k := vrblint; + IF k > dim THEN + RETURN( FALSE ); + END_IF; + fspc := factor_space( domn, k ); + IF NOT ( ( schema_prefix + 'REAL_INTERVAL' ) IN TYPEOF( fspc ) ) THEN + RETURN( FALSE ); + END_IF; + IF lowerinf AND min_exists( fspc ) THEN + RETURN( FALSE ); + END_IF; + IF upperinf AND max_exists( fspc ) THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION definite_integral_expr_check( + operands : LIST [2 : ?] OF generic_expression; + lowerinf : BOOLEAN; + upperinf : BOOLEAN + ) : BOOLEAN; + + LOCAL + nops : INTEGER := 2; + vspc : maths_space; + dim : nonnegative_integer; + k : positive_integer; + bspc : maths_space; + END_LOCAL; + IF NOT lowerinf THEN + nops := nops + 1; + END_IF; + IF NOT upperinf THEN + nops := nops + 1; + END_IF; + IF SIZEOF( operands ) <> nops THEN + RETURN( FALSE ); + END_IF; + IF NOT ( 'GENERIC_VARIABLE' IN stripped_typeof( operands[2] ) ) THEN + RETURN( FALSE ); + END_IF; + IF NOT has_values_space( operands[2] ) THEN + RETURN( FALSE ); + END_IF; + vspc := values_space_of( operands[2] ); + IF NOT ( 'REAL_INTERVAL' IN stripped_typeof( vspc ) ) THEN + RETURN( FALSE ); + END_IF; + IF lowerinf THEN + IF min_exists( vspc ) THEN + RETURN( FALSE ); + END_IF; + k := 3; + ELSE + IF NOT has_values_space( operands[3] ) THEN + RETURN( FALSE ); + END_IF; + bspc := values_space_of( operands[3] ); + IF NOT compatible_spaces( bspc, vspc ) THEN + RETURN( FALSE ); + END_IF; + k := 4; + END_IF; + IF upperinf THEN + IF max_exists( vspc ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF NOT has_values_space( operands[k] ) THEN + RETURN( FALSE ); + END_IF; + bspc := values_space_of( operands[k] ); + IF NOT compatible_spaces( bspc, vspc ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION dependently_instantiated( + set_of_input_instances : SET OF GENERIC:igen; + set_of_input_types : SET OF STRING; + previous_in_chain : LIST OF GENERIC:cgen + ) : BOOLEAN; + + LOCAL + number_of_input_instances : INTEGER; + number_of_referring_instances : INTEGER; + bag_of_referring_instances : BAG OF GENERIC:igen := []; + dependently_instantiated_flag : BOOLEAN; + previous_in_chain_plus : LIST OF GENERIC:cgen := []; + result : BOOLEAN := TRUE; + set_of_types : SET OF STRING := []; + END_LOCAL; + IF EXISTS( set_of_input_instances ) THEN + number_of_input_instances := SIZEOF( set_of_input_instances ); + set_of_input_types := set_of_input_types + 'GENERIC'; + REPEAT i := 1 TO number_of_input_instances BY 1; + bag_of_referring_instances := USEDIN( set_of_input_instances[i], '' ); + IF EXISTS( bag_of_referring_instances ) THEN + number_of_referring_instances := SIZEOF( bag_of_referring_instances ); + dependently_instantiated_flag := FALSE; + REPEAT j := 1 TO number_of_referring_instances BY 1; + set_of_types := TYPEOF( bag_of_referring_instances[j] ); + IF set_of_types <= set_of_input_types THEN + IF NOT ( bag_of_referring_instances[j] IN previous_in_chain ) THEN + previous_in_chain_plus := previous_in_chain + set_of_input_instances[i]; + IF dependently_instantiated( [bag_of_referring_instances[j]], set_of_input_types, previous_in_chain_plus ) THEN + dependently_instantiated_flag := TRUE; + ESCAPE; + ELSE + SKIP; + END_IF; + END_IF; + ELSE + dependently_instantiated_flag := TRUE; + ESCAPE; + END_IF; + END_REPEAT; + IF NOT dependently_instantiated_flag THEN + RETURN( FALSE ); + END_IF; + ELSE + RETURN( FALSE ); + END_IF; + END_REPEAT; + ELSE + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION derive_angle( + placement_1, placement_2 : axis2_placement_3d + ) : plane_angle_measure; + + LOCAL + v1 : direction; + v2 : direction; + mag_v1 : REAL; + mag_v2 : REAL; + theta : plane_angle_measure; + END_LOCAL; + v1 := placement_1.p[1]; + v2 := placement_2.p[1]; + mag_v1 := SQRT( ( v1.direction_ratios[1] * v1.direction_ratios[1] ) + ( v1.direction_ratios[2] * v1.direction_ratios[2] ) ); + mag_v2 := SQRT( ( v2.direction_ratios[1] * v2.direction_ratios[1] ) + ( v2.direction_ratios[2] * v2.direction_ratios[2] ) ); + IF ( mag_v1 = 0 ) OR ( mag_v2 = 0 ) THEN + theta := 0; + RETURN( theta ); + END_IF; + theta := ACOS( ( ( v1.direction_ratios[1] * v2.direction_ratios[1] ) + ( v1.direction_ratios[2] * v2.direction_ratios[2] ) ) + / ( mag_v1 * mag_v2 ) ); + RETURN( theta ); + + END_FUNCTION; + + FUNCTION derive_definite_integral_domain( + igrl : definite_integral_function + ) : tuple_space; + + FUNCTION process_product_space( + spc : product_space; + idx, prefix : INTEGER; + vdomn : maths_space + ) : product_space; + + LOCAL + uspc : uniform_product_space; + expnt : INTEGER; + factors : LIST OF maths_space; + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN TYPEOF( spc ) THEN + uspc := spc; + expnt := uspc.exponent + prefix; + IF idx <= uspc.exponent THEN + expnt := expnt - 1; + END_IF; + IF expnt = 0 THEN + RETURN( make_listed_product_space( [] ) ); + ELSE + RETURN( make_uniform_product_space( uspc.base, expnt ) ); + END_IF; + ELSE + factors := spc\listed_product_space.factors; + IF idx <= SIZEOF( factors ) THEN + REMOVE( factors, idx ); + END_IF; + IF prefix > 0 THEN + INSERT( factors, vdomn, 0 ); + IF prefix > 1 THEN + INSERT( factors, vdomn, 0 ); + END_IF; + END_IF; + RETURN( make_listed_product_space( factors ) ); + END_IF; + + END_FUNCTION; + + LOCAL + idomn : tuple_space := igrl.integrand.domain; + types : SET OF STRING := TYPEOF( idomn ); + idx : INTEGER := igrl.variable_of_integration; + tupled : BOOLEAN := bool( ( space_dimension( idomn ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN types ) ); + prefix : INTEGER := 0; + espc : extended_tuple_space; + vdomn : maths_space; + END_LOCAL; + IF tupled THEN + idomn := factor1( idomn ); + types := TYPEOF( idomn ); + END_IF; + IF igrl.lower_limit_neg_infinity THEN + prefix := prefix + 1; + END_IF; + IF igrl.upper_limit_pos_infinity THEN + prefix := prefix + 1; + END_IF; + vdomn := factor_space( idomn, idx ); + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN types THEN + espc := idomn; + idomn := make_extended_tuple_space( process_product_space( espc.base, idx, prefix, vdomn ), espc.extender ); + ELSE + idomn := process_product_space( idomn, idx, prefix, vdomn ); + END_IF; + IF tupled THEN + RETURN( one_tuples_of( idomn ) ); + ELSE + RETURN( idomn ); + END_IF; + + END_FUNCTION; + + FUNCTION derive_dimensional_exponents( + x : unit + ) : dimensional_exponents; + + LOCAL + result : dimensional_exponents := dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ); + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DERIVED_UNIT' IN TYPEOF( x ) THEN + REPEAT i := LOINDEX( x\derived_unit.elements ) TO HIINDEX( x\derived_unit.elements ) BY 1; + result.length_exponent := result.length_exponent + ( x\derived_unit.elements[i]\derived_unit_element.exponent * x\ + derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.length_exponent ); + result.mass_exponent := result.mass_exponent + ( x\derived_unit.elements[i]\derived_unit_element.exponent * x\ + derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.mass_exponent ); + result.time_exponent := result.time_exponent + ( x\derived_unit.elements[i]\derived_unit_element.exponent * x\ + derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.time_exponent ); + result.electric_current_exponent := result.electric_current_exponent + ( x\derived_unit.elements[i]\derived_unit_element. + exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.electric_current_exponent ); + result.thermodynamic_temperature_exponent := result.thermodynamic_temperature_exponent + ( x\derived_unit.elements[i]\ + derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions. + thermodynamic_temperature_exponent ); + result.amount_of_substance_exponent := result.amount_of_substance_exponent + ( x\derived_unit.elements[i]\ + derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions. + amount_of_substance_exponent ); + result.luminous_intensity_exponent := result.luminous_intensity_exponent + ( x\derived_unit.elements[i]\ + derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions. + luminous_intensity_exponent ); + END_REPEAT; + ELSE + result := x\named_unit.dimensions; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION derive_elementary_function_domain( + ef_val : elementary_function_enumerators + ) : tuple_space; + IF NOT EXISTS( ef_val ) THEN + RETURN( ? ); + END_IF; + CASE ef_val OF + ef_and : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_logicals ) ); + ef_or : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_logicals ) ); + ef_not : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_xor : RETURN( make_uniform_product_space( the_logicals, 2 ) ); + ef_negate_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_add_i : RETURN( the_integer_tuples ); + ef_subtract_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_multiply_i : RETURN( the_integer_tuples ); + ef_divide_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_mod_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_exponentiate_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_eq_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_ne_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_gt_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_lt_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_ge_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_le_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_abs_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_if_i : RETURN( make_listed_product_space( [the_logicals, the_integers, the_integers] ) ); + ef_negate_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_reciprocal_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_add_r : RETURN( the_real_tuples ); + ef_subtract_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_multiply_r : RETURN( the_real_tuples ); + ef_divide_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_mod_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_exponentiate_r : RETURN( make_listed_product_space( [the_nonnegative_reals, the_reals] ) ); + ef_exponentiate_ri : RETURN( make_listed_product_space( [the_reals, the_integers] ) ); + ef_eq_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_ne_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_gt_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_lt_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_ge_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_le_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_abs_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_acos_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_asin_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_atan2_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_cos_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_exp_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_ln_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_log2_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_log10_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_sin_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_sqrt_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_tan_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_if_r : RETURN( make_listed_product_space( [the_logicals, the_reals, the_reals] ) ); + ef_negate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_reciprocal_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_add_c : RETURN( the_complex_tuples ); + ef_subtract_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_multiply_c : RETURN( the_complex_tuples ); + ef_divide_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_exponentiate_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_exponentiate_ci : RETURN( make_listed_product_space( [the_complex_numbers, the_integers] ) ); + ef_eq_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_ne_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_conjugate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_abs_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_arg_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_cos_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exp_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_ln_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sin_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sqrt_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_tan_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_if_c : RETURN( make_listed_product_space( [the_logicals, the_complex_numbers, the_complex_numbers] ) ); + ef_subscript_s : RETURN( make_listed_product_space( [the_strings, the_integers] ) ); + ef_eq_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_ne_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_gt_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_lt_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_ge_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_le_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_subsequence_s : RETURN( make_listed_product_space( [the_strings, the_integers, the_integers] ) ); + ef_concat_s : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_strings ) ); + ef_size_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_format : RETURN( make_listed_product_space( [the_numbers, the_strings] ) ); + ef_value : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_like : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_if_s : RETURN( make_listed_product_space( [the_logicals, the_strings, the_strings] ) ); + ef_subscript_b : RETURN( make_listed_product_space( [the_binarys, the_integers] ) ); + ef_eq_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_ne_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_gt_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_lt_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_ge_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_le_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_subsequence_b : RETURN( make_listed_product_space( [the_binarys, the_integers, the_integers] ) ); + ef_concat_b : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_binarys ) ); + ef_size_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_if_b : RETURN( make_listed_product_space( [the_logicals, the_binarys, the_binarys] ) ); + ef_subscript_t : RETURN( make_listed_product_space( [the_tuples, the_integers] ) ); + ef_eq_t : RETURN( make_uniform_product_space( the_tuples, 2 ) ); + ef_ne_t : RETURN( make_uniform_product_space( the_tuples, 2 ) ); + ef_concat_t : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_tuples ) ); + ef_size_t : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_entuple : RETURN( the_tuples ); + ef_detuple : RETURN( make_uniform_product_space( the_generics, 1 ) ); + ef_insert : RETURN( make_listed_product_space( [the_tuples, the_generics, the_integers] ) ); + ef_remove : RETURN( make_listed_product_space( [the_tuples, the_integers] ) ); + ef_if_t : RETURN( make_listed_product_space( [the_logicals, the_tuples, the_tuples] ) ); + ef_sum_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_product_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_add_it : RETURN( make_extended_tuple_space( the_integer_tuples, the_integer_tuples ) ); + ef_subtract_it : RETURN( make_uniform_product_space( the_integer_tuples, 2 ) ); + ef_scalar_mult_it : RETURN( make_listed_product_space( [the_integers, the_integer_tuples] ) ); + ef_dot_prod_it : RETURN( make_uniform_product_space( the_integer_tuples, 2 ) ); + ef_sum_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_product_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_add_rt : RETURN( make_extended_tuple_space( the_real_tuples, the_real_tuples ) ); + ef_subtract_rt : RETURN( make_uniform_product_space( the_real_tuples, 2 ) ); + ef_scalar_mult_rt : RETURN( make_listed_product_space( [the_reals, the_real_tuples] ) ); + ef_dot_prod_rt : RETURN( make_uniform_product_space( the_real_tuples, 2 ) ); + ef_norm_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_sum_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_product_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_add_ct : RETURN( make_extended_tuple_space( the_complex_tuples, the_complex_tuples ) ); + ef_subtract_ct : RETURN( make_uniform_product_space( the_complex_tuples, 2 ) ); + ef_scalar_mult_ct : RETURN( make_listed_product_space( [the_complex_numbers, the_complex_tuples] ) ); + ef_dot_prod_ct : RETURN( make_uniform_product_space( the_complex_tuples, 2 ) ); + ef_norm_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_if : RETURN( make_listed_product_space( [the_logicals, the_generics, the_generics] ) ); + ef_ensemble : RETURN( the_tuples ); + ef_member_of : RETURN( make_listed_product_space( [the_generics, the_maths_spaces] ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION derive_elementary_function_range( + ef_val : elementary_function_enumerators + ) : tuple_space; + IF NOT EXISTS( ef_val ) THEN + RETURN( ? ); + END_IF; + CASE ef_val OF + ef_and : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_or : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_not : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_xor : RETURN( make_uniform_product_space( the_logicals, 2 ) ); + ef_negate_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_add_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_subtract_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_multiply_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_divide_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_mod_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_exponentiate_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_eq_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_abs_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_if_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_negate_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_reciprocal_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_add_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_subtract_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_multiply_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_divide_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_mod_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_exponentiate_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_exponentiate_ri : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_eq_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_abs_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_acos_r : RETURN( make_uniform_product_space( the_zero_pi_interval, 1 ) ); + ef_asin_r : RETURN( make_uniform_product_space( the_neghalfpi_halfpi_interval, 1 ) ); + ef_atan2_r : RETURN( make_uniform_product_space( the_negpi_pi_interval, 1 ) ); + ef_cos_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_exp_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_ln_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_log2_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_log10_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_sin_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_sqrt_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_tan_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_if_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_negate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_reciprocal_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_add_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_subtract_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_multiply_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_divide_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exponentiate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exponentiate_ci : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_eq_c : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_c : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_conjugate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_abs_c : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_arg_c : RETURN( make_uniform_product_space( the_negpi_pi_interval, 1 ) ); + ef_cos_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exp_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_ln_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sin_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sqrt_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_tan_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_if_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_subscript_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_eq_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_subsequence_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_concat_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_size_s : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_format : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_value : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_like : RETURN( make_uniform_product_space( the_booleans, 1 ) ); + ef_if_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_subscript_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_eq_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_subsequence_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_concat_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_size_b : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_if_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_subscript_t : RETURN( make_uniform_product_space( the_generics, 1 ) ); + ef_eq_t : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_t : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_concat_t : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_size_t : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_entuple : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_detuple : RETURN( the_tuples ); + ef_insert : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_remove : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_if_t : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_sum_it : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_product_it : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_add_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_subtract_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_scalar_mult_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_dot_prod_it : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_sum_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_product_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_add_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_subtract_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_scalar_mult_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_dot_prod_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_norm_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_sum_ct : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_product_ct : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_add_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_subtract_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_scalar_mult_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_dot_prod_ct : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_norm_ct : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_if : RETURN( make_uniform_product_space( the_generics, 1 ) ); + ef_ensemble : RETURN( make_uniform_product_space( the_maths_spaces, 1 ) ); + ef_member_of : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION derive_finite_function_domain( + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value + ) : tuple_space; + + LOCAL + result : SET OF maths_value := []; + END_LOCAL; + result := result + list_selected_components( pairs, 1 ); + RETURN( one_tuples_of( make_finite_space( result ) ) ); + + END_FUNCTION; + + FUNCTION derive_finite_function_range( + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value + ) : tuple_space; + + LOCAL + result : SET OF maths_value := []; + END_LOCAL; + result := result + list_selected_components( pairs, 2 ); + RETURN( one_tuples_of( make_finite_space( result ) ) ); + + END_FUNCTION; + + FUNCTION derive_function_domain( + func : maths_function + ) : tuple_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( func ); + tspace : tuple_space := make_listed_product_space( [] ); + shape : LIST OF positive_integer; + sidxs : LIST OF INTEGER := [0]; + itvl : finite_integer_interval; + factors : LIST OF finite_integer_interval := []; + is_uniform : BOOLEAN := TRUE; + END_LOCAL; + IF 'FINITE_FUNCTION' IN typenames THEN + RETURN( derive_finite_function_domain( func\finite_function.pairs ) ); + END_IF; + IF 'CONSTANT_FUNCTION' IN typenames THEN + RETURN( domain_from( func\constant_function.source_of_domain ) ); + END_IF; + IF 'SELECTOR_FUNCTION' IN typenames THEN + RETURN( domain_from( func\selector_function.source_of_domain ) ); + END_IF; + IF 'ELEMENTARY_FUNCTION' IN typenames THEN + RETURN( derive_elementary_function_domain( func\elementary_function.func_id ) ); + END_IF; + IF 'RESTRICTION_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( func\restriction_function.operand ) ); + END_IF; + IF 'REPACKAGING_FUNCTION' IN typenames THEN + IF func\repackaging_function.input_repack = ro_nochange THEN + RETURN( func\repackaging_function.operand.domain ); + END_IF; + IF func\repackaging_function.input_repack = ro_wrap_as_tuple THEN + RETURN( factor1( func\repackaging_function.operand.domain ) ); + END_IF; + IF func\repackaging_function.input_repack = ro_unwrap_tuple THEN + RETURN( one_tuples_of( func\repackaging_function.operand.domain ) ); + END_IF; + RETURN( ? ); + END_IF; + IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN + shape := shape_of_array( func\unary_generic_expression.operand ); + sidxs := func\reindexed_array_function.starting_indices; + REPEAT i := 1 TO SIZEOF( shape ) BY 1; + itvl := make_finite_integer_interval( sidxs[i], ( sidxs[i] + shape[i] ) - 1 ); + INSERT( factors, itvl, i - 1 ); + IF shape[i] <> shape[1] THEN + is_uniform := FALSE; + END_IF; + END_REPEAT; + IF is_uniform THEN + RETURN( make_uniform_product_space( factors[1], SIZEOF( shape ) ) ); + END_IF; + RETURN( make_listed_product_space( factors ) ); + END_IF; + IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN + RETURN( func\series_composed_function.operands[1].domain ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN + RETURN( domain_from( func\parallel_composed_function.source_of_domain ) ); + END_IF; + IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN + shape := func\explicit_table_function.shape; + sidxs[1] := func\explicit_table_function.index_base; + REPEAT i := 1 TO SIZEOF( shape ) BY 1; + itvl := make_finite_integer_interval( sidxs[1], ( sidxs[1] + shape[i] ) - 1 ); + INSERT( factors, itvl, i - 1 ); + IF shape[i] <> shape[1] THEN + is_uniform := FALSE; + END_IF; + END_REPEAT; + IF is_uniform THEN + RETURN( make_uniform_product_space( factors[1], SIZEOF( shape ) ) ); + END_IF; + RETURN( make_listed_product_space( factors ) ); + END_IF; + IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\homogeneous_linear_function.mat.range ), func\ + homogeneous_linear_function.mat\explicit_table_function.shape[func\homogeneous_linear_function.sum_index] ) ) ); + END_IF; + IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\general_linear_function.mat.range ), func\ + general_linear_function.mat\explicit_table_function.shape[func\general_linear_function.sum_index] - 1 ) ) ); + END_IF; + IF 'B_SPLINE_BASIS' IN typenames THEN + RETURN( one_tuples_of( make_finite_real_interval( func\b_spline_basis.repeated_knots[func\b_spline_basis.order], closed, + func\b_spline_basis.repeated_knots[func\b_spline_basis.num_basis + 1], closed ) ) ); + END_IF; + IF 'B_SPLINE_FUNCTION' IN typenames THEN + REPEAT i := 1 TO SIZEOF( func\b_spline_function.basis ) BY 1; + tspace := assoc_product_space( tspace, func\b_spline_function.basis[i].domain ); + END_REPEAT; + RETURN( one_tuples_of( tspace ) ); + END_IF; + IF 'RATIONALIZE_FUNCTION' IN typenames THEN + RETURN( func\rationalize_function.fun.domain ); + END_IF; + IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN + RETURN( func\partial_derivative_function.derivand.domain ); + END_IF; + IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN + RETURN( derive_definite_integral_domain( func ) ); + END_IF; + IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN + REPEAT i := 1 TO SIZEOF( func\abstracted_expression_function.variables ) BY 1; + tspace := assoc_product_space( tspace, one_tuples_of( values_space_of( func\abstracted_expression_function.variables[i] ) ) ); + END_REPEAT; + RETURN( tspace ); + END_IF; + IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN + RETURN( values_space_of( func\expression_denoted_function.expr )\function_space.domain_argument ); + END_IF; + IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_listed_product_space( [] ) ) ); + END_IF; + IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN + RETURN( func\imported_curve_function.parametric_domain ); + END_IF; + IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN + RETURN( func\imported_surface_function.parametric_domain ); + END_IF; + IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN + RETURN( func\imported_volume_function.parametric_domain ); + END_IF; + IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN + RETURN( func\application_defined_function.explicit_domain ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION derive_function_range( + func : maths_function + ) : tuple_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( func ); + tspace : tuple_space := make_listed_product_space( [] ); + m : nonnegative_integer := 0; + n : nonnegative_integer := 0; + temp : INTEGER := 0; + END_LOCAL; + IF 'FINITE_FUNCTION' IN typenames THEN + RETURN( derive_finite_function_range( func\finite_function.pairs ) ); + END_IF; + IF 'CONSTANT_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_finite_space( [func\constant_function.sole_output] ) ) ); + END_IF; + IF 'SELECTOR_FUNCTION' IN typenames THEN + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( tspace ) ) THEN + tspace := factor1( tspace ); + END_IF; + RETURN( one_tuples_of( factor_space( tspace, func\selector_function.selector ) ) ); + END_IF; + IF 'ELEMENTARY_FUNCTION' IN typenames THEN + RETURN( derive_elementary_function_range( func\elementary_function.func_id ) ); + END_IF; + IF 'RESTRICTION_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( func\restriction_function.operand ) ); + END_IF; + IF 'REPACKAGING_FUNCTION' IN typenames THEN + tspace := func\repackaging_function.operand.range; + IF func\repackaging_function.output_repack = ro_wrap_as_tuple THEN + tspace := one_tuples_of( tspace ); + END_IF; + IF func\repackaging_function.output_repack = ro_unwrap_tuple THEN + tspace := factor1( tspace ); + END_IF; + IF func\repackaging_function.selected_output > 0 THEN + tspace := one_tuples_of( factor_space( tspace, func\repackaging_function.selected_output ) ); + END_IF; + RETURN( tspace ); + END_IF; + IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN + RETURN( func\unary_generic_expression.operand\maths_function.range ); + END_IF; + IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN + RETURN( func\series_composed_function.operands[SIZEOF( func\series_composed_function.operands )].range ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN + RETURN( func\parallel_composed_function.final_function.range ); + END_IF; + IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN + IF 'LISTED_REAL_DATA' IN typenames THEN + RETURN( one_tuples_of( the_reals ) ); + END_IF; + IF 'LISTED_INTEGER_DATA' IN typenames THEN + RETURN( one_tuples_of( the_integers ) ); + END_IF; + IF 'LISTED_LOGICAL_DATA' IN typenames THEN + RETURN( one_tuples_of( the_logicals ) ); + END_IF; + IF 'LISTED_STRING_DATA' IN typenames THEN + RETURN( one_tuples_of( the_strings ) ); + END_IF; + IF 'LISTED_COMPLEX_NUMBER_DATA' IN typenames THEN + RETURN( one_tuples_of( the_complex_numbers ) ); + END_IF; + IF 'LISTED_DATA' IN typenames THEN + RETURN( one_tuples_of( func\listed_data.value_range ) ); + END_IF; + IF 'EXTERNALLY_LISTED_DATA' IN typenames THEN + RETURN( one_tuples_of( func\externally_listed_data.value_range ) ); + END_IF; + IF 'LINEARIZED_TABLE_FUNCTION' IN typenames THEN + RETURN( func\linearized_table_function.source.range ); + END_IF; + IF 'BASIC_SPARSE_MATRIX' IN typenames THEN + RETURN( func\basic_sparse_matrix.val.range ); + END_IF; + RETURN( ? ); + END_IF; + IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\homogeneous_linear_function.mat.range ), func\ + homogeneous_linear_function.mat\explicit_table_function.shape[3 - func\homogeneous_linear_function.sum_index] ) ) ); + END_IF; + IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\general_linear_function.mat.range ), func\ + general_linear_function.mat\explicit_table_function.shape[3 - func\general_linear_function.sum_index] ) ) ); + END_IF; + IF 'B_SPLINE_BASIS' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( the_reals, func\b_spline_basis.num_basis ) ) ); + END_IF; + IF 'B_SPLINE_FUNCTION' IN typenames THEN + tspace := factor1( func\b_spline_function.coef.domain ); + m := SIZEOF( func\b_spline_function.basis ); + n := space_dimension( tspace ); + IF m = n THEN + RETURN( one_tuples_of( the_reals ) ); + END_IF; + IF m = ( n - 1 ) THEN + RETURN( one_tuples_of( make_uniform_product_space( the_reals, factor_space( tspace, n )\finite_integer_interval.size ) ) ); + END_IF; + tspace := extract_factors( tspace, m + 1, n ); + RETURN( one_tuples_of( make_function_space( sc_equal, tspace, sc_subspace, number_superspace_of( func\b_spline_function. + coef.range ) ) ) ); + END_IF; + IF 'RATIONALIZE_FUNCTION' IN typenames THEN + tspace := factor1( func\rationalize_function.fun.range ); + n := space_dimension( tspace ); + RETURN( one_tuples_of( make_uniform_product_space( number_superspace_of( factor1( tspace ) ), n - 1 ) ) ); + END_IF; + IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN + RETURN( drop_numeric_constraints( func\partial_derivative_function.derivand.range ) ); + END_IF; + IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN + RETURN( drop_numeric_constraints( func\definite_integral_function.integrand.range ) ); + END_IF; + IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( values_space_of( func\abstracted_expression_function.expr ) ) ); + END_IF; + IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN + RETURN( values_space_of( func\expression_denoted_function.expr )\function_space.range_argument ); + END_IF; + IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_point_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_curve_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_surface_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_volume_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN + RETURN( func\application_defined_function.explicit_range ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION dimension_of( + item : geometric_representation_item + ) : dimension_count; + + LOCAL + x : SET OF representation; + y : representation_context; + dim : dimension_count; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( item ) THEN + dim := SIZEOF( item\cartesian_point.coordinates ); + RETURN( dim ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION' IN TYPEOF( item ) THEN + dim := SIZEOF( item\direction.direction_ratios ); + RETURN( dim ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF( item ) THEN + dim := SIZEOF( item\vector.orientation\direction.direction_ratios ); + RETURN( dim ); + END_IF; + x := using_representations( item ); + IF SIZEOF( x ) > 0 THEN + y := x[1].context_of_items; + dim := y\geometric_representation_context.coordinate_space_dimension; + RETURN( dim ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION dimensions_for_si_unit( + n : si_unit_name + ) : dimensional_exponents; + CASE n OF + metre : RETURN( dimensional_exponents( 1, 0, 0, 0, 0, 0, 0 ) ); + gram : RETURN( dimensional_exponents( 0, 1, 0, 0, 0, 0, 0 ) ); + second : RETURN( dimensional_exponents( 0, 0, 1, 0, 0, 0, 0 ) ); + ampere : RETURN( dimensional_exponents( 0, 0, 0, 1, 0, 0, 0 ) ); + kelvin : RETURN( dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) ); + mole : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 1, 0 ) ); + candela : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) ); + radian : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) ); + steradian : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) ); + hertz : RETURN( dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) ); + newton : RETURN( dimensional_exponents( 1, 1, -2, 0, 0, 0, 0 ) ); + pascal : RETURN( dimensional_exponents( -1, 1, -2, 0, 0, 0, 0 ) ); + joule : RETURN( dimensional_exponents( 2, 1, -2, 0, 0, 0, 0 ) ); + watt : RETURN( dimensional_exponents( 2, 1, -3, 0, 0, 0, 0 ) ); + coulomb : RETURN( dimensional_exponents( 0, 0, 1, 1, 0, 0, 0 ) ); + volt : RETURN( dimensional_exponents( 2, 1, -3, -1, 0, 0, 0 ) ); + farad : RETURN( dimensional_exponents( -2, -1, 4, 2, 0, 0, 0 ) ); + ohm : RETURN( dimensional_exponents( 2, 1, -3, -2, 0, 0, 0 ) ); + siemens : RETURN( dimensional_exponents( -2, -1, 3, 2, 0, 0, 0 ) ); + weber : RETURN( dimensional_exponents( 2, 1, -2, -1, 0, 0, 0 ) ); + tesla : RETURN( dimensional_exponents( 0, 1, -2, -1, 0, 0, 0 ) ); + henry : RETURN( dimensional_exponents( 2, 1, -2, -2, 0, 0, 0 ) ); + degree_celsius : RETURN( dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) ); + lumen : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) ); + lux : RETURN( dimensional_exponents( -2, 0, 0, 0, 0, 0, 1 ) ); + becquerel : RETURN( dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) ); + gray : RETURN( dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) ); + sievert : RETURN( dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION domain_from( + ref : maths_space_or_function + ) : tuple_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( ref ); + func : maths_function; + END_LOCAL; + IF NOT EXISTS( ref ) THEN + RETURN( ? ); + END_IF; + IF 'TUPLE_SPACE' IN typenames THEN + RETURN( ref ); + END_IF; + IF 'MATHS_SPACE' IN typenames THEN + RETURN( one_tuples_of( ref ) ); + END_IF; + func := ref; + IF 'CONSTANT_FUNCTION' IN typenames THEN + RETURN( domain_from( func\constant_function.source_of_domain ) ); + END_IF; + IF 'SELECTOR_FUNCTION' IN typenames THEN + RETURN( domain_from( func\selector_function.source_of_domain ) ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN + RETURN( domain_from( func\parallel_composed_function.source_of_domain ) ); + END_IF; + RETURN( func.domain ); + + END_FUNCTION; + + FUNCTION dot_product( + arg1, arg2 : direction + ) : REAL; + + LOCAL + scalar : REAL; + vec1 : direction; + vec2 : direction; + ndim : INTEGER; + END_LOCAL; + IF ( NOT EXISTS( arg1 ) ) OR ( NOT EXISTS( arg2 ) ) THEN + scalar := ?; + ELSE + IF arg1.dim <> arg2.dim THEN + scalar := ?; + ELSE + + BEGIN + vec1 := normalise( arg1 ); + vec2 := normalise( arg2 ); + ndim := arg1.dim; + scalar := 0; + REPEAT i := 1 TO ndim BY 1; + scalar := scalar + ( vec1.direction_ratios[i] * vec2.direction_ratios[i] ); + END_REPEAT; + END; + END_IF; + END_IF; + RETURN( scalar ); + + END_FUNCTION; + + FUNCTION drop_numeric_constraints( + spc : maths_space + ) : maths_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( spc ); + tspc : listed_product_space; + factors : LIST OF maths_space := []; + xspc : extended_tuple_space; + END_LOCAL; + IF 'UNIFORM_PRODUCT_SPACE' IN typenames THEN + RETURN( make_uniform_product_space( drop_numeric_constraints( spc\uniform_product_space.base ), spc\uniform_product_space. + exponent ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN typenames THEN + tspc := spc; + REPEAT i := 1 TO SIZEOF( tspc.factors ) BY 1; + INSERT( factors, drop_numeric_constraints( tspc.factors[i] ), i - 1 ); + END_REPEAT; + RETURN( make_listed_product_space( factors ) ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN typenames THEN + xspc := spc; + RETURN( make_extended_tuple_space( drop_numeric_constraints( xspc.base ), drop_numeric_constraints( xspc.extender ) ) ); + END_IF; + IF subspace_of_es( spc, es_numbers ) THEN + RETURN( number_superspace_of( spc ) ); + END_IF; + RETURN( spc ); + + END_FUNCTION; + + FUNCTION duration_is_negative( + duration : time_measure_with_unit + ) : BOOLEAN; + IF duration\measure_with_unit.value_component < 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION duration_is_positive( + duration : time_measure_with_unit + ) : BOOLEAN; + IF duration\measure_with_unit.value_component > 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION edge_reversed( + an_edge : edge + ) : oriented_edge; + + LOCAL + the_reverse : oriented_edge; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_EDGE' IN TYPEOF( an_edge ) THEN + the_reverse := dummy_tri || edge( an_edge.edge_end, an_edge.edge_start ) || oriented_edge( an_edge\oriented_edge. + edge_element, NOT an_edge\oriented_edge.orientation ); + ELSE + the_reverse := dummy_tri || edge( an_edge.edge_end, an_edge.edge_start ) || oriented_edge( an_edge, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION enclose_cregion_in_pregion( + crgn : cartesian_complex_number_region; + centre : complex_number_literal + ) : polar_complex_number_region; + + FUNCTION angle( + a : REAL + ) : REAL; + REPEAT WHILE a > PI; + a := a - ( 2 * PI ); + END_REPEAT; + REPEAT WHILE a <= ( -PI ); + a := a + ( 2 * PI ); + END_REPEAT; + RETURN( a ); + + END_FUNCTION; + + FUNCTION strictly_in( + z : REAL; + zitv : real_interval + ) : LOGICAL; + RETURN( ( ( NOT min_exists( zitv ) ) OR ( z > real_min( zitv ) ) ) AND ( ( NOT max_exists( zitv ) ) OR ( z < real_max( zitv ) ) ) ); + + END_FUNCTION; + + PROCEDURE angle_minmax( + ab, a : REAL; + a_in : BOOLEAN; + VAR amin, amax : REAL; + VAR amin_in, amax_in : BOOLEAN ); + a := angle( a - ab ); + IF amin = a THEN + amin_in := amin_in OR a_in; + END_IF; + IF amin > a THEN + amin := a; + amin_in := a_in; + END_IF; + IF amax = a THEN + amax_in := amax_in OR a_in; + END_IF; + IF amax < a THEN + amax := a; + amax_in := a_in; + END_IF; + + END_PROCEDURE; + + PROCEDURE range_max( + r : REAL; + incl : BOOLEAN; + VAR rmax : REAL; + VAR rmax_in : BOOLEAN ); + IF rmax = r THEN + rmax_in := rmax_in OR incl; + END_IF; + IF rmax < r THEN + rmax := r; + rmax_in := incl; + END_IF; + + END_PROCEDURE; + + PROCEDURE range_min( + r : REAL; + incl : BOOLEAN; + VAR rmin : REAL; + VAR rmin_in : BOOLEAN ); + IF rmin = r THEN + rmin_in := rmin_in OR incl; + END_IF; + IF ( rmin < 0 ) OR ( rmin > r ) THEN + rmin := r; + rmin_in := incl; + END_IF; + + END_PROCEDURE; + + LOCAL + xitv : real_interval; + yitv : real_interval; + is_xmin : BOOLEAN; + is_xmax : BOOLEAN; + is_ymin : BOOLEAN; + is_ymax : BOOLEAN; + xmin : REAL := 0; + xmax : REAL := 0; + ymin : REAL := 0; + ymax : REAL := 0; + xc : REAL := 0; + yc : REAL := 0; + xmin_in : BOOLEAN := FALSE; + xmax_in : BOOLEAN := FALSE; + ymin_in : BOOLEAN := FALSE; + ymax_in : BOOLEAN := FALSE; + rmin : REAL := -1; + rmax : REAL := -1; + amin : REAL := 4; + amax : REAL := -4; + rmax_exists : BOOLEAN := TRUE; + outside : BOOLEAN := TRUE; + rmin_in : BOOLEAN := FALSE; + rmax_in : BOOLEAN := FALSE; + amin_in : BOOLEAN := FALSE; + amax_in : BOOLEAN := FALSE; + ab : REAL := 0; + a : REAL := 0; + r : REAL := 0; + incl : BOOLEAN; + ritv : real_interval; + aitv : finite_real_interval; + minclo : open_closed := open; + maxclo : open_closed := open; + END_LOCAL; + IF ( NOT EXISTS( crgn ) ) OR ( NOT EXISTS( centre ) ) THEN + RETURN( ? ); + END_IF; + xitv := crgn.real_constraint; + yitv := crgn.imag_constraint; + xc := centre.real_part; + yc := centre.imag_part; + is_xmin := min_exists( xitv ); + is_xmax := max_exists( xitv ); + is_ymin := min_exists( yitv ); + is_ymax := max_exists( yitv ); + IF is_xmin THEN + xmin := real_min( xitv ); + xmin_in := min_included( xitv ); + END_IF; + IF is_xmax THEN + xmax := real_max( xitv ); + xmax_in := max_included( xitv ); + END_IF; + IF is_ymin THEN + ymin := real_min( yitv ); + ymin_in := min_included( yitv ); + END_IF; + IF is_ymax THEN + ymax := real_max( yitv ); + ymax_in := max_included( yitv ); + END_IF; + rmax_exists := is_xmin AND is_xmax AND is_ymin AND is_ymax; + IF is_xmin AND ( xc <= xmin ) THEN + ab := 0; + ELSE + IF is_ymin AND ( yc <= ymin ) THEN + ab := 0.5 * PI; + ELSE + IF is_ymax AND ( yc >= ymax ) THEN + ab := ( -0.5 ) * PI; + ELSE + IF is_xmax AND ( xc >= xmax ) THEN + ab := PI; + ELSE + outside := FALSE; + END_IF; + END_IF; + END_IF; + END_IF; + IF ( NOT outside ) AND ( NOT rmax_exists ) THEN + RETURN( ? ); + END_IF; + IF is_xmin AND ( xc <= xmin ) AND strictly_in( yc, yitv ) THEN + rmin := xmin - xc; + rmin_in := xmin_in; + ELSE + IF is_ymin AND ( yc <= ymin ) AND strictly_in( xc, xitv ) THEN + rmin := ymin - yc; + rmin_in := ymin_in; + ELSE + IF is_ymax AND ( yc >= ymax ) AND strictly_in( xc, xitv ) THEN + rmin := yc - ymax; + rmin_in := ymax_in; + ELSE + IF is_xmax AND ( xc >= xmax ) AND strictly_in( yc, yitv ) THEN + rmin := xc - xmax; + rmin_in := xmax_in; + END_IF; + END_IF; + END_IF; + END_IF; + IF is_xmin THEN + IF is_ymin THEN + r := SQRT( ( ( xmin - xc ) ** 2 ) + ( ( ymin - yc ) ** 2 ) ); + incl := xmin_in AND ymin_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymin - yc, xmin - xc ) - ab ); + IF xc = xmin THEN + incl := xmin_in; + END_IF; + IF yc = ymin THEN + incl := ymin_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmin_in AND ymin_in; + amin := angle( 0 - ab ); + amin_in := ymin_in; + amax := angle( ( 0.5 * PI ) - ab ); + amax_in := xmin_in; + END_IF; + END_IF; + ELSE + IF xc <= xmin THEN + angle_minmax( ab, ( -0.5 ) * PI, ( xc = xmin ) AND xmin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_ymax ) AND ( xc <= xmin ) THEN + angle_minmax( ab, 0.5 * PI, ( xc = xmin ) AND xmin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF is_ymin THEN + IF is_xmax THEN + r := SQRT( ( ( xmax - xc ) ** 2 ) + ( ( ymin - yc ) ** 2 ) ); + incl := xmax_in AND ymin_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymin - yc, xmax - xc ) - ab ); + IF xc = xmax THEN + incl := xmax_in; + END_IF; + IF yc = ymin THEN + incl := ymin_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmax_in AND ymin_in; + amin := angle( ( 0.5 * PI ) - ab ); + amin_in := ymin_in; + amax := angle( PI - ab ); + amax_in := xmax_in; + END_IF; + END_IF; + ELSE + IF yc <= ymin THEN + angle_minmax( ab, 0, ( yc = ymin ) AND ymin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_xmin ) AND ( yc <= ymin ) THEN + angle_minmax( ab, PI, ( yc = ymin ) AND ymin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF is_xmax THEN + IF is_ymax THEN + r := SQRT( ( ( xmax - xc ) ** 2 ) + ( ( ymax - yc ) ** 2 ) ); + incl := xmax_in AND ymax_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymax - yc, xmax - xc ) - ab ); + IF xc = xmax THEN + incl := xmax_in; + END_IF; + IF yc = ymax THEN + incl := ymax_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmax_in AND ymax_in; + amin := angle( ( -PI ) - ab ); + amin_in := ymax_in; + amax := angle( ( ( -0.5 ) * PI ) - ab ); + amax_in := xmax_in; + END_IF; + END_IF; + ELSE + IF xc >= xmax THEN + angle_minmax( ab, 0.5 * PI, ( xc = xmax ) AND xmax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_ymin ) AND ( xc >= xmax ) THEN + angle_minmax( ab, ( -0.5 ) * PI, ( xc = xmax ) AND xmax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF is_ymax THEN + IF is_xmin THEN + r := SQRT( ( ( xmin - xc ) ** 2 ) + ( ( ymax - yc ) ** 2 ) ); + incl := xmin_in AND ymax_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymax - yc, xmin - xc ) - ab ); + IF xc = xmin THEN + incl := xmin_in; + END_IF; + IF yc = ymax THEN + incl := ymax_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmin_in AND ymax_in; + amin := angle( ( 0.5 * PI ) - ab ); + amin_in := ymax_in; + amax := angle( PI - ab ); + amax_in := xmin_in; + END_IF; + END_IF; + ELSE + IF yc >= ymax THEN + angle_minmax( ab, PI, ( yc = ymax ) AND ymax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_xmax ) AND ( yc >= ymax ) THEN + angle_minmax( ab, 0, ( yc = ymax ) AND ymax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF outside THEN + amin := angle( amin + ab ); + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( amax + ab ); + IF amax <= amin THEN + amax := amax + ( 2 * PI ); + END_IF; + ELSE + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := FALSE; + END_IF; + IF amin_in THEN + minclo := closed; + END_IF; + IF amax_in THEN + maxclo := closed; + END_IF; + aitv := make_finite_real_interval( amin, minclo, amax, maxclo ); + minclo := open; + IF rmin_in THEN + minclo := closed; + END_IF; + IF rmax_exists THEN + maxclo := open; + IF rmax_in THEN + maxclo := closed; + END_IF; + ritv := make_finite_real_interval( rmin, minclo, rmax, maxclo ); + ELSE + ritv := make_real_interval_from_min( rmin, minclo ); + END_IF; + RETURN( make_polar_complex_number_region( centre, ritv, aitv ) ); + + END_FUNCTION; + + FUNCTION enclose_pregion_in_cregion( + prgn : polar_complex_number_region + ) : cartesian_complex_number_region; + + PROCEDURE nearest_good_direction( + acart : REAL; + aitv : finite_real_interval; + VAR a : REAL; + VAR a_in : BOOLEAN ); + a := acart; + a_in := TRUE; + IF a < aitv.min THEN + IF ( a + ( 2 * PI ) ) < aitv.max THEN + RETURN; + END_IF; + IF ( a + ( 2 * PI ) ) = aitv.max THEN + a_in := max_included( aitv ); + RETURN; + END_IF; + ELSE + IF a = aitv.min THEN + a_in := min_included( aitv ); + RETURN; + ELSE + IF a < aitv.max THEN + RETURN; + ELSE + IF a = aitv.max THEN + a_in := max_included( aitv ); + RETURN; + END_IF; + END_IF; + END_IF; + END_IF; + IF COS( acart - aitv.max ) >= COS( acart - aitv.min ) THEN + a := aitv.max; + a_in := max_included( aitv ); + ELSE + a := aitv.min; + a_in := min_included( aitv ); + END_IF; + + END_PROCEDURE; + + LOCAL + xc : REAL := 0; + yc : REAL := 0; + xmin : REAL := 0; + xmax : REAL := 0; + ymin : REAL := 0; + ymax : REAL := 0; + ritv : real_interval; + xitv : real_interval; + yitv : real_interval; + aitv : finite_real_interval; + xmin_exists : BOOLEAN; + xmax_exists : BOOLEAN; + ymin_exists : BOOLEAN; + ymax_exists : BOOLEAN; + xmin_in : BOOLEAN := FALSE; + xmax_in : BOOLEAN := FALSE; + ymin_in : BOOLEAN := FALSE; + ymax_in : BOOLEAN := FALSE; + a : REAL := 0; + r : REAL := 0; + a_in : BOOLEAN := FALSE; + min_clo : open_closed := open; + max_clo : open_closed := open; + END_LOCAL; + IF NOT EXISTS( prgn ) THEN + RETURN( ? ); + END_IF; + xc := prgn.centre.real_part; + yc := prgn.centre.imag_part; + ritv := prgn.distance_constraint; + aitv := prgn.direction_constraint; + nearest_good_direction( PI, aitv, a, a_in ); + IF COS( a ) >= 0 THEN + xmin_exists := TRUE; + xmin := xc + ( real_min( ritv ) * COS( a ) ); + xmin_in := a_in AND ( min_included( ritv ) OR ( COS( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + xmin_exists := TRUE; + xmin := xc + ( real_max( ritv ) * COS( a ) ); + xmin_in := a_in AND max_included( ritv ); + ELSE + xmin_exists := FALSE; + END_IF; + END_IF; + nearest_good_direction( 0, aitv, a, a_in ); + IF COS( a ) <= 0 THEN + xmax_exists := TRUE; + xmax := xc + ( real_min( ritv ) * COS( a ) ); + xmax_in := a_in AND ( min_included( ritv ) OR ( COS( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + xmax_exists := TRUE; + xmax := xc + ( real_max( ritv ) * COS( a ) ); + xmax_in := a_in AND max_included( ritv ); + ELSE + xmax_exists := FALSE; + END_IF; + END_IF; + nearest_good_direction( ( -0.5 ) * PI, aitv, a, a_in ); + IF SIN( a ) >= 0 THEN + ymin_exists := TRUE; + ymin := yc + ( real_min( ritv ) * SIN( a ) ); + ymin_in := a_in AND ( min_included( ritv ) OR ( SIN( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + ymin_exists := TRUE; + ymin := yc + ( real_max( ritv ) * SIN( a ) ); + ymin_in := a_in AND max_included( ritv ); + ELSE + ymin_exists := FALSE; + END_IF; + END_IF; + nearest_good_direction( 0.5 * PI, aitv, a, a_in ); + IF SIN( a ) <= 0 THEN + ymax_exists := TRUE; + ymax := yc + ( real_min( ritv ) * SIN( a ) ); + ymax_in := a_in AND ( min_included( ritv ) OR ( SIN( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + ymax_exists := TRUE; + ymax := yc + ( real_max( ritv ) * SIN( a ) ); + ymax_in := a_in AND max_included( ritv ); + ELSE + ymax_exists := FALSE; + END_IF; + END_IF; + IF NOT ( xmin_exists OR xmax_exists OR ymin_exists OR ymax_exists ) THEN + RETURN( ? ); + END_IF; + IF xmin_exists THEN + IF xmin_in THEN + min_clo := closed; + ELSE + min_clo := open; + END_IF; + IF xmax_exists THEN + IF xmax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + xitv := make_finite_real_interval( xmin, min_clo, xmax, max_clo ); + ELSE + xitv := make_real_interval_from_min( xmin, min_clo ); + END_IF; + ELSE + IF xmax_exists THEN + IF xmax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + xitv := make_real_interval_to_max( xmax, max_clo ); + ELSE + xitv := the_reals; + END_IF; + END_IF; + IF ymin_exists THEN + IF ymin_in THEN + min_clo := closed; + ELSE + min_clo := open; + END_IF; + IF ymax_exists THEN + IF ymax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + yitv := make_finite_real_interval( ymin, min_clo, ymax, max_clo ); + ELSE + yitv := make_real_interval_from_min( ymin, min_clo ); + END_IF; + ELSE + IF ymax_exists THEN + IF ymax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + yitv := make_real_interval_to_max( ymax, max_clo ); + ELSE + yitv := the_reals; + END_IF; + END_IF; + RETURN( make_cartesian_complex_number_region( xitv, yitv ) ); + + END_FUNCTION; + + FUNCTION enclose_pregion_in_pregion( + prgn : polar_complex_number_region; + centre : complex_number_literal + ) : polar_complex_number_region; + + FUNCTION angle( + a : REAL + ) : REAL; + REPEAT WHILE a > PI; + a := a - ( 2 * PI ); + END_REPEAT; + REPEAT WHILE a <= ( -PI ); + a := a + ( 2 * PI ); + END_REPEAT; + RETURN( a ); + + END_FUNCTION; + + FUNCTION strictly_in( + a : REAL; + aitv : finite_real_interval + ) : LOGICAL; + a := angle( a ); + RETURN( ( ( aitv.min < a ) AND ( a < aitv.max ) ) OR ( ( aitv.min < ( a + ( 2 * PI ) ) ) AND ( ( a + ( 2 * PI ) ) < aitv. + max ) ) ); + + END_FUNCTION; + + PROCEDURE angle_range( + VAR amin, amax : REAL ); + amin := angle( amin ); + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( amax ); + IF amax <= amin THEN + amax := amax + ( 2 * PI ); + END_IF; + + END_PROCEDURE; + + PROCEDURE find_aminmax( + ab, a0, a1, a2, a3 : REAL; + in0, in1, in2, in3 : BOOLEAN; + VAR amin, amax : REAL; + VAR amin_in, amax_in : BOOLEAN ); + + LOCAL + a : REAL; + END_LOCAL; + amin := angle( a0 - ab ); + amin_in := in0; + amax := amin; + amax_in := in0; + a := angle( a1 - ab ); + IF a = amin THEN + amin_in := amin_in OR in1; + END_IF; + IF a < amin THEN + amin := a; + amin_in := in1; + END_IF; + IF a = amax THEN + amax_in := amax_in OR in1; + END_IF; + IF a > amax THEN + amax := a; + amax_in := in1; + END_IF; + a := angle( a2 - ab ); + IF a = amin THEN + amin_in := amin_in OR in2; + END_IF; + IF a < amin THEN + amin := a; + amin_in := in2; + END_IF; + IF a = amax THEN + amax_in := amax_in OR in2; + END_IF; + IF a > amax THEN + amax := a; + amax_in := in2; + END_IF; + a := angle( a3 - ab ); + IF a = amin THEN + amin_in := amin_in OR in3; + END_IF; + IF a < amin THEN + amin := a; + amin_in := in3; + END_IF; + IF a = amax THEN + amax_in := amax_in OR in3; + END_IF; + IF a > amax THEN + amax := a; + amax_in := in3; + END_IF; + amin := amin + ab; + amax := amax + ab; + angle_range( amin, amax ); + + END_PROCEDURE; + + LOCAL + ritp : real_interval; + ritv : real_interval; + aitp : finite_real_interval; + aitv : finite_real_interval; + xp : REAL := 0; + yp : REAL := 0; + xc : REAL := 0; + yc : REAL := 0; + rmax : REAL := 0; + rmin : REAL := 0; + amin : REAL := 0; + amax : REAL := 0; + rc : REAL := 0; + acp : REAL := 0; + apc : REAL := 0; + rmax_in : BOOLEAN := FALSE; + rmin_in : BOOLEAN := FALSE; + amin_in : BOOLEAN := FALSE; + amax_in : BOOLEAN := FALSE; + rmxp : REAL := 0; + rmnp : REAL := 0; + x : REAL := 0; + y : REAL := 0; + r : REAL := 0; + a : REAL := 0; + ab : REAL := 0; + r0 : REAL := 0; + a0 : REAL := 0; + r1 : REAL := 0; + a1 : REAL := 0; + r2 : REAL := 0; + a2 : REAL := 0; + r3 : REAL := 0; + a3 : REAL := 0; + in0 : BOOLEAN := FALSE; + in1 : BOOLEAN := FALSE; + in2 : BOOLEAN := FALSE; + in3 : BOOLEAN := FALSE; + inn : BOOLEAN := FALSE; + minclo : open_closed := open; + maxclo : open_closed := open; + END_LOCAL; + IF ( NOT EXISTS( prgn ) ) OR ( NOT EXISTS( centre ) ) THEN + RETURN( ? ); + END_IF; + xp := prgn.centre.real_part; + yp := prgn.centre.imag_part; + ritp := prgn.distance_constraint; + aitp := prgn.direction_constraint; + xc := centre.real_part; + yc := centre.imag_part; + IF ( xc = xp ) AND ( yc = yp ) THEN + RETURN( prgn ); + END_IF; + rc := SQRT( ( ( xp - xc ) ** 2 ) + ( ( yp - yc ) ** 2 ) ); + acp := atan2( yp - yc, xp - xc ); + apc := atan2( yc - yp, xc - xp ); + rmnp := real_min( ritp ); + IF max_exists( ritp ) THEN + rmxp := real_max( ritp ); + IF ( aitp.max - aitp.min ) = ( 2 * PI ) THEN + inn := NOT max_included( aitp ); + a := angle( aitp.min ); + rmax := rc + rmxp; + rmax_in := max_included( ritp ); + IF inn AND ( acp = a ) THEN + rmax_in := FALSE; + END_IF; + IF rc > rmxp THEN + a0 := ASIN( rmxp / rc ); + amin := angle( acp - a0 ); + amin_in := max_included( ritp ); + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( acp + a0 ); + amax_in := amin_in; + IF amax < amin THEN + amax := amax + ( 2 * PI ); + END_IF; + rmin := rc - rmxp; + rmin_in := amin_in; + IF inn THEN + IF apc = a THEN + rmin_in := FALSE; + END_IF; + IF angle( amin + ( 0.5 * PI ) ) = a THEN + amin_in := FALSE; + END_IF; + IF angle( amax - ( 0.5 * PI ) ) = a THEN + amax_in := FALSE; + END_IF; + END_IF; + ELSE + IF rc = rmxp THEN + amin := angle( acp - ( 0.5 * PI ) ); + amin_in := FALSE; + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( acp + ( 0.5 * PI ) ); + amax_in := FALSE; + IF amax < amin THEN + amax := amax + ( 2 * PI ); + END_IF; + rmin := 0; + rmin_in := max_included( ritp ); + IF inn AND ( apc = a ) THEN + rmin_in := FALSE; + END_IF; + ELSE + IF rc > rmnp THEN + IF inn AND ( apc = a ) THEN + rmin := 0; + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + rmin := 0; + rmin_in := TRUE; + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + END_IF; + ELSE + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + IF inn THEN + IF apc = a THEN + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + IF acp = a THEN + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + ELSE + x := ( xp + ( rmxp * COS( aitp.min ) ) ) - xc; + y := ( yp + ( rmxp * SIN( aitp.min ) ) ) - yc; + r0 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in0 := max_included( ritp ) AND min_included( aitp ); + IF r0 <> 0 THEN + a0 := atan2( y, x ); + END_IF; + x := ( xp + ( rmxp * COS( aitp.max ) ) ) - xc; + y := ( yp + ( rmxp * SIN( aitp.max ) ) ) - yc; + r1 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in1 := max_included( ritp ) AND max_included( aitp ); + IF r1 <> 0 THEN + a1 := atan2( y, x ); + END_IF; + x := ( xp + ( rmnp * COS( aitp.max ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.max ) ) ) - yc; + r2 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in2 := min_included( ritp ) AND max_included( aitp ); + IF r2 <> 0 THEN + a2 := atan2( y, x ); + ELSE + a2 := a1; + in2 := in1; + END_IF; + IF r1 = 0 THEN + a1 := a2; + in1 := in2; + END_IF; + x := ( xp + ( rmnp * COS( aitp.min ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.min ) ) ) - yc; + r3 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in3 := min_included( ritp ) AND min_included( aitp ); + IF r3 <> 0 THEN + a3 := atan2( y, x ); + ELSE + a3 := a0; + in3 := in0; + END_IF; + IF r0 = 0 THEN + a0 := a3; + in0 := in3; + END_IF; + IF rmnp = 0 THEN + in2 := min_included( ritp ); + in3 := in2; + END_IF; + IF ( apc = angle( aitp.min ) ) OR ( acp = angle( aitp.min ) ) THEN + in0 := min_included( aitp ); + in3 := in0; + ELSE + IF ( apc = angle( aitp.max ) ) OR ( acp = angle( aitp.max ) ) THEN + in1 := max_included( aitp ); + in2 := in1; + END_IF; + END_IF; + IF strictly_in( acp, aitp ) THEN + rmax := rc + rmxp; + rmax_in := max_included( ritp ); + ELSE + rmax := r0; + rmax_in := in0; + IF rmax = r1 THEN + rmax_in := rmax_in OR in1; + END_IF; + IF rmax < r1 THEN + rmax := r1; + rmax_in := in1; + END_IF; + IF rmax = r2 THEN + rmax_in := rmax_in OR in2; + END_IF; + IF rmax < r2 THEN + rmax := r2; + rmax_in := in2; + END_IF; + IF rmax = r3 THEN + rmax_in := rmax_in OR in3; + END_IF; + IF rmax < r3 THEN + rmax := r3; + rmax_in := in3; + END_IF; + END_IF; + IF strictly_in( apc, aitp ) THEN + IF rc >= rmxp THEN + rmin := rc - rmxp; + rmin_in := max_included( ritp ); + ELSE + IF rc <= rmnp THEN + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + ELSE + rmin := 0; + rmin_in := TRUE; + END_IF; + END_IF; + ELSE + rmin := r0; + rmin_in := in0; + a := apc - aitp.min; + r := rc * COS( a ); + IF ( rmnp < r ) AND ( r < rmxp ) THEN + rmin := rc * SIN( ABS( a ) ); + rmin_in := min_included( aitp ); + END_IF; + a := apc - aitp.max; + r := rc * COS( a ); + IF ( rmnp < r ) AND ( r < rmxp ) THEN + r := rc * SIN( ABS( a ) ); + inn := max_included( aitp ); + IF r = rmin THEN + rmin_in := rmin_in OR inn; + END_IF; + IF r < rmin THEN + rmin := r; + rmin_in := inn; + END_IF; + END_IF; + IF r1 = rmin THEN + rmin_in := rmin_in OR in1; + END_IF; + IF r1 < rmin THEN + rmin := r1; + rmin_in := in1; + END_IF; + IF r2 = rmin THEN + rmin_in := rmin_in OR in2; + END_IF; + IF r2 < rmin THEN + rmin := r2; + rmin_in := in2; + END_IF; + IF r3 = rmin THEN + rmin_in := rmin_in OR in3; + END_IF; + IF r3 < rmin THEN + rmin := r3; + rmin_in := in3; + END_IF; + END_IF; + IF rc >= rmxp THEN + ab := acp; + find_aminmax( ab, a0, a1, a2, a3, in0, in1, in2, in3, amin, amax, amin_in, amax_in ); + a := ACOS( rmxp / rc ); + IF strictly_in( apc - a, aitp ) THEN + amin := ab - ASIN( rmxp / rc ); + amin_in := max_included( ritp ); + END_IF; + IF strictly_in( apc + a, aitp ) THEN + amax := ab + ASIN( rmxp / rc ); + amax_in := max_included( ritp ); + END_IF; + angle_range( amin, amax ); + ELSE + IF rc > rmnp THEN + ab := angle( 0.5 * ( aitp.min + aitp.max ) ); + find_aminmax( ab, a0, a1, a2, a3, in0, in1, in2, in3, amin, amax, amin_in, amax_in ); + ELSE + ab := angle( 0.5 * ( aitp.min + aitp.max ) ); + a0 := angle( a0 - ab ); + a1 := angle( a1 - ab ); + a2 := angle( a2 - ab ); + a3 := angle( a3 - ab ); + IF a3 > a2 THEN + a2 := a2 + ( 2 * PI ); + END_IF; + IF a0 > a1 THEN + a0 := a0 + ( 2 * PI ); + END_IF; + IF a3 < a0 THEN + amin := a3; + amin_in := in3; + ELSE + amin := a0; + amin_in := in0; + END_IF; + IF a2 > a1 THEN + amax := a2; + amax_in := in2; + ELSE + amax := a1; + amax_in := in1; + END_IF; + IF ( ( amax - amin ) > ( 2 * PI ) ) OR ( ( ( amax - amin ) = ( 2 * PI ) ) AND ( amin_in OR amax_in ) ) THEN + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + ELSE + amin := amin + ab; + amax := amax + ab; + angle_range( amin, amax ); + END_IF; + END_IF; + END_IF; + END_IF; + IF rmin_in THEN + minclo := closed; + END_IF; + IF rmax_in THEN + maxclo := closed; + END_IF; + ritv := make_finite_real_interval( rmin, minclo, rmax, maxclo ); + ELSE + IF ( rc > rmnp ) AND strictly_in( apc, aitp ) THEN + RETURN( ? ); + END_IF; + IF ( aitp.max - aitp.min ) = ( 2 * PI ) THEN + a := angle( aitp.min ); + IF rc > rmnp THEN + IF max_included( aitp ) THEN + RETURN( ? ); + END_IF; + rmin := 0; + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + IF NOT max_included( aitp ) THEN + IF apc = a THEN + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + IF acp = a THEN + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + END_IF; + END_IF; + END_IF; + END_IF; + ELSE + a0 := angle( aitp.min ); + in0 := FALSE; + a1 := angle( aitp.max ); + in1 := FALSE; + x := ( xp + ( rmnp * COS( aitp.max ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.max ) ) ) - yc; + r2 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in2 := min_included( ritp ) AND max_included( aitp ); + IF r2 <> 0 THEN + a2 := atan2( y, x ); + ELSE + a2 := a1; + in2 := in1; + END_IF; + x := ( xp + ( rmnp * COS( aitp.min ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.min ) ) ) - yc; + r3 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in3 := min_included( ritp ) AND min_included( aitp ); + IF r3 <> 0 THEN + a3 := atan2( y, x ); + ELSE + a3 := a0; + in3 := in0; + END_IF; + IF rmnp = 0 THEN + in2 := min_included( ritp ); + in3 := in2; + END_IF; + IF ( apc = angle( aitp.min ) ) OR ( acp = angle( aitp.min ) ) THEN + in0 := min_included( aitp ); + in3 := in0; + ELSE + IF ( apc = angle( aitp.max ) ) OR ( acp = angle( aitp.max ) ) THEN + in1 := max_included( aitp ); + in2 := in1; + END_IF; + END_IF; + IF strictly_in( apc, aitp ) THEN + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + ELSE + rmin := r2; + rmin_in := in2; + a := apc - aitp.min; + r := rc * COS( a ); + IF rmnp < r THEN + rmin := rc * SIN( ABS( a ) ); + rmin_in := min_included( aitp ); + END_IF; + a := apc - aitp.max; + r := rc * COS( a ); + IF rmnp < r THEN + r := rc * SIN( ABS( a ) ); + inn := max_included( aitp ); + IF r = rmin THEN + rmin_in := rmin_in OR inn; + END_IF; + IF r < rmin THEN + rmin := r; + rmin_in := inn; + END_IF; + END_IF; + IF r3 = rmin THEN + rmin_in := rmin_in OR in3; + END_IF; + IF r3 < rmin THEN + rmin := r3; + rmin_in := in3; + END_IF; + END_IF; + ab := angle( 0.5 * ( aitp.min + aitp.max ) ); + IF rc > rmnp THEN + find_aminmax( ab, a0, a1, a2, a3, in0, in1, in2, in3, amin, amax, amin_in, amax_in ); + ELSE + a0 := angle( a0 - ab ); + a1 := angle( a1 - ab ); + a2 := angle( a2 - ab ); + a3 := angle( a3 - ab ); + IF a3 > a2 THEN + a2 := a2 + ( 2 * PI ); + END_IF; + IF a0 > a1 THEN + a0 := a0 + ( 2 * PI ); + END_IF; + IF a3 < a0 THEN + amin := a3; + amin_in := in3; + ELSE + amin := a0; + amin_in := in0; + END_IF; + IF a2 > a1 THEN + amax := a2; + amax_in := in2; + ELSE + amax := a1; + amax_in := in1; + END_IF; + IF ( ( amax - amin ) > ( 2 * PI ) ) OR ( ( ( amax - amin ) = ( 2 * PI ) ) AND ( amin_in OR amax_in ) ) THEN + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + IF ( rmin = 0 ) AND rmin_in THEN + RETURN( ? ); + END_IF; + ELSE + amin := amin + ab; + amax := amax + ab; + angle_range( amin, amax ); + END_IF; + END_IF; + END_IF; + IF rmin_in THEN + minclo := closed; + END_IF; + ritv := make_real_interval_from_min( rmin, minclo ); + END_IF; + minclo := open; + maxclo := open; + IF amin_in THEN + minclo := closed; + END_IF; + IF amax_in THEN + maxclo := closed; + END_IF; + aitv := make_finite_real_interval( amin, minclo, amax, maxclo ); + RETURN( make_polar_complex_number_region( centre, ritv, aitv ) ); + + END_FUNCTION; + + FUNCTION equal_cregion_pregion( + crgn : cartesian_complex_number_region; + prgn : polar_complex_number_region + ) : LOGICAL; + + LOCAL + arng : REAL; + amin : REAL; + xc : REAL; + yc : REAL; + aitv : real_interval; + xitv : real_interval; + yitv : real_interval; + c_in : BOOLEAN; + END_LOCAL; + IF ( NOT EXISTS( crgn ) ) OR ( NOT EXISTS( prgn ) ) THEN + RETURN( FALSE ); + END_IF; + IF max_exists( prgn.distance_constraint ) THEN + RETURN( FALSE ); + END_IF; + IF real_min( prgn.distance_constraint ) <> 0 THEN + RETURN( FALSE ); + END_IF; + c_in := min_included( prgn.distance_constraint ); + aitv := prgn.direction_constraint; + amin := aitv.min; + arng := aitv.max - amin; + xc := prgn.centre.real_part; + yc := prgn.centre.imag_part; + xitv := crgn.real_constraint; + yitv := crgn.imag_constraint; + IF arng = ( 0.5 * PI ) THEN + IF amin = 0 THEN + RETURN( ( NOT max_exists( xitv ) ) AND ( NOT max_exists( yitv ) ) AND min_exists( xitv ) AND min_exists( yitv ) AND ( + real_min( xitv ) = xc ) AND ( real_min( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND min_included( xitv ) AND min_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND min_included( xitv ) AND ( NOT min_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND min_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND ( NOT + min_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( 0.5 * PI ) THEN + RETURN( max_exists( xitv ) AND ( NOT max_exists( yitv ) ) AND ( NOT min_exists( xitv ) ) AND min_exists( yitv ) AND ( + real_max( xitv ) = xc ) AND ( real_min( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND max_included( xitv ) AND min_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND max_included( xitv ) AND ( NOT min_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND min_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND ( NOT + min_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( -PI ) THEN + RETURN( max_exists( xitv ) AND max_exists( yitv ) AND ( NOT min_exists( xitv ) ) AND ( NOT min_exists( yitv ) ) AND ( + real_max( xitv ) = xc ) AND ( real_max( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND max_included( xitv ) AND max_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND max_included( xitv ) AND ( NOT max_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND max_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND ( NOT + max_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( ( -0.5 ) * PI ) THEN + RETURN( ( NOT max_exists( xitv ) ) AND max_exists( yitv ) AND min_exists( xitv ) AND ( NOT min_exists( yitv ) ) AND ( + real_min( xitv ) = xc ) AND ( real_max( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND min_included( xitv ) AND max_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND min_included( xitv ) AND ( NOT max_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND max_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND ( NOT + max_included( yitv ) ) ) ) ); + END_IF; + END_IF; + IF arng = PI THEN + IF amin = 0 THEN + RETURN( ( NOT max_exists( xitv ) ) AND ( NOT max_exists( yitv ) ) AND ( NOT min_exists( xitv ) ) AND min_exists( yitv ) + AND ( real_min( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND min_included( yitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( 0.5 * PI ) THEN + RETURN( max_exists( xitv ) AND ( NOT max_exists( yitv ) ) AND ( NOT min_exists( xitv ) ) AND ( NOT min_exists( yitv ) ) + AND ( real_max( xitv ) = xc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND max_included( xitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) ) ) ); + END_IF; + IF amin = ( -PI ) THEN + RETURN( ( NOT max_exists( xitv ) ) AND max_exists( yitv ) AND ( NOT min_exists( xitv ) ) AND ( NOT min_exists( yitv ) ) + AND ( real_max( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND max_included( yitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( ( -0.5 ) * PI ) THEN + RETURN( ( NOT max_exists( xitv ) ) AND ( NOT max_exists( yitv ) ) AND min_exists( xitv ) AND ( NOT min_exists( yitv ) ) + AND ( real_min( xitv ) = xc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND min_included( xitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) ) ) ); + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION equal_maths_functions( + fun1, fun2 : maths_function + ) : LOGICAL; + + LOCAL + cum : LOGICAL; + END_LOCAL; + IF fun1 = fun2 THEN + RETURN( TRUE ); + END_IF; + cum := equal_maths_spaces( fun1.domain, fun2.domain ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + cum := cum AND equal_maths_spaces( fun1.range, fun2.range ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION equal_maths_spaces( + spc1, spc2 : maths_space + ) : LOGICAL; + + LOCAL + spc1types : SET OF STRING := stripped_typeof( spc1 ); + spc2types : SET OF STRING := stripped_typeof( spc2 ); + set1 : SET OF maths_value; + set2 : SET OF maths_value; + cum : LOGICAL := TRUE; + base : maths_space; + expnt : INTEGER; + factors : LIST OF maths_space; + factors2 : LIST OF maths_space; + fs1 : function_space; + fs2 : function_space; + cum2 : LOGICAL; + END_LOCAL; + IF spc1 = spc2 THEN + RETURN( TRUE ); + END_IF; + IF 'FINITE_SPACE' IN spc1types THEN + set1 := spc1\finite_space.members; + IF 'FINITE_SPACE' IN spc2types THEN + set2 := spc2\finite_space.members; + REPEAT i := 1 TO SIZEOF( set1 ) BY 1; + cum := cum AND member_of( set1[i], spc2 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + IF cum = TRUE THEN + REPEAT i := 1 TO SIZEOF( set2 ) BY 1; + cum := cum AND member_of( set2[i], spc1 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + RETURN( cum ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN spc2types THEN + set2 := []; + REPEAT i := spc2\finite_integer_interval.min TO spc2\finite_integer_interval.max BY 1; + set2 := set2 + [i]; + END_REPEAT; + RETURN( equal_maths_spaces( spc1, make_finite_space( set2 ) ) ); + END_IF; + END_IF; + IF ( 'FINITE_INTEGER_INTERVAL' IN spc1types ) AND ( 'FINITE_SPACE' IN spc2types ) THEN + set1 := []; + REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max BY 1; + set1 := set1 + [i]; + END_REPEAT; + RETURN( equal_maths_spaces( make_finite_space( set1 ), spc2 ) ); + END_IF; + IF ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN spc1types ) AND ( 'POLAR_COMPLEX_NUMBER_REGION' IN spc2types ) THEN + RETURN( equal_cregion_pregion( spc1, spc2 ) ); + END_IF; + IF ( 'POLAR_COMPLEX_NUMBER_REGION' IN spc1types ) AND ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN spc2types ) THEN + RETURN( equal_cregion_pregion( spc2, spc1 ) ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN spc1types THEN + base := spc1\uniform_product_space.base; + expnt := spc1\uniform_product_space.exponent; + IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN + IF expnt <> spc2\uniform_product_space.exponent THEN + RETURN( FALSE ); + END_IF; + RETURN( equal_maths_spaces( base, spc2\uniform_product_space.base ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN + factors := spc2\listed_product_space.factors; + IF expnt <> SIZEOF( factors ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND equal_maths_spaces( base, factors[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN spc1types THEN + factors := spc1\listed_product_space.factors; + IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN + IF spc2\uniform_product_space.exponent <> SIZEOF( factors ) THEN + RETURN( FALSE ); + END_IF; + base := spc2\uniform_product_space.base; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND equal_maths_spaces( base, factors[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN + factors2 := spc2\listed_product_space.factors; + IF SIZEOF( factors ) <> SIZEOF( factors2 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND equal_maths_spaces( factors[i], factors2[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + IF ( 'EXTENDED_TUPLE_SPACE' IN spc1types ) AND ( 'EXTENDED_TUPLE_SPACE' IN spc2types ) THEN + RETURN( equal_maths_spaces( spc1\extended_tuple_space.extender, spc2\extended_tuple_space.extender ) AND + equal_maths_spaces( spc1\extended_tuple_space.base, spc2\extended_tuple_space.base ) ); + END_IF; + IF ( 'FUNCTION_SPACE' IN spc1types ) AND ( 'FUNCTION_SPACE' IN spc2types ) THEN + fs1 := spc1; + fs2 := spc2; + IF fs1.domain_constraint <> fs2.domain_constraint THEN + IF ( fs1.domain_constraint = sc_equal ) OR ( fs2.domain_constraint = sc_equal ) THEN + RETURN( FALSE ); + END_IF; + IF fs1.domain_constraint <> sc_subspace THEN + fs1 := spc2; + fs2 := spc1; + END_IF; + IF ( fs1.domain_constraint <> sc_subspace ) OR ( fs2.domain_constraint <> sc_member ) THEN + RETURN( UNKNOWN ); + END_IF; + IF any_space_satisfies( fs1.domain_constraint, fs1.domain_argument ) <> any_space_satisfies( fs2.domain_constraint, fs2. + domain_argument ) THEN + RETURN( FALSE ); + END_IF; + IF NOT ( 'FINITE_SPACE' IN stripped_typeof( fs2.domain_argument ) ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( [ 'FINITE_SPACE', 'FINITE_INTEGER_INTERVAL'] * stripped_typeof( fs1.domain_argument ) ) = 0 THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + cum := equal_maths_spaces( fs1.domain_argument, fs2.domain_argument ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + IF fs1.range_constraint <> fs2.range_constraint THEN + IF ( fs1.range_constraint = sc_equal ) OR ( fs2.range_constraint = sc_equal ) THEN + RETURN( FALSE ); + END_IF; + IF fs1.range_constraint <> sc_subspace THEN + fs1 := spc2; + fs2 := spc1; + END_IF; + IF ( fs1.range_constraint <> sc_subspace ) OR ( fs2.range_constraint <> sc_member ) THEN + RETURN( UNKNOWN ); + END_IF; + IF any_space_satisfies( fs1.range_constraint, fs1.range_argument ) <> any_space_satisfies( fs2.range_constraint, fs2. + range_argument ) THEN + RETURN( FALSE ); + END_IF; + IF NOT ( 'FINITE_SPACE' IN stripped_typeof( fs2.range_argument ) ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( [ 'FINITE_SPACE', 'FINITE_INTEGER_INTERVAL'] * stripped_typeof( fs1.range_argument ) ) = 0 THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + cum := cum AND equal_maths_spaces( fs1.range_argument, fs2.range_argument ); + RETURN( cum ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION equal_maths_values( + val1, val2 : maths_value + ) : LOGICAL; + + FUNCTION mem_of_vs( + val1, val2 : maths_value + ) : LOGICAL; + IF NOT has_values_space( val2 ) THEN + RETURN( UNKNOWN ); + END_IF; + IF NOT member_of( val1, values_space_of( val2 ) ) THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + LOCAL + types1 : SET OF STRING; + types2 : SET OF STRING; + list1 : LIST OF maths_value; + list2 : LIST OF maths_value; + cum : LOGICAL := TRUE; + END_LOCAL; + IF ( NOT EXISTS( val1 ) ) OR ( NOT EXISTS( val2 ) ) THEN + RETURN( FALSE ); + END_IF; + IF val1 = val2 THEN + RETURN( TRUE ); + END_IF; + types1 := stripped_typeof( val1 ); + types2 := stripped_typeof( val2 ); + IF ( 'MATHS_ATOM' IN types1 ) OR ( 'COMPLEX_NUMBER_LITERAL' IN types1 ) THEN + IF 'MATHS_ATOM' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'COMPLEX_NUMBER_LITERAL' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'LIST' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'MATHS_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF ( 'MATHS_ATOM' IN types2 ) OR ( 'COMPLEX_NUMBER_LITERAL' IN types2 ) THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF 'LIST' IN types1 THEN + IF 'LIST' IN types2 THEN + list1 := val1; + list2 := val2; + IF SIZEOF( list1 ) <> SIZEOF( list2 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( list1 ) BY 1; + cum := cum AND equal_maths_values( list1[i], list2[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'MATHS_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'LIST' IN types2 THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF 'MATHS_SPACE' IN types1 THEN + IF 'MATHS_SPACE' IN types2 THEN + RETURN( equal_maths_spaces( val1, val2 ) ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'MATHS_SPACE' IN types2 THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF 'MATHS_FUNCTION' IN types1 THEN + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( equal_maths_functions( val1, val2 ) ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF ( 'GENERIC_EXPRESSION' IN types1 ) AND ( 'GENERIC_EXPRESSION' IN types2 ) THEN + IF ( NOT has_values_space( val1 ) ) OR ( NOT has_values_space( val2 ) ) THEN + RETURN( UNKNOWN ); + END_IF; + IF NOT compatible_spaces( values_space_of( val1 ), values_space_of( val2 ) ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION es_subspace_of_es( + es1, es2 : elementary_space_enumerators + ) : BOOLEAN; + IF ( NOT EXISTS( es1 ) ) OR ( NOT EXISTS( es2 ) ) THEN + RETURN( FALSE ); + END_IF; + IF es1 = es2 THEN + RETURN( TRUE ); + END_IF; + IF es2 = es_generics THEN + RETURN( TRUE ); + END_IF; + IF ( es1 = es_booleans ) AND ( es2 = es_logicals ) THEN + RETURN( TRUE ); + END_IF; + IF ( es2 = es_numbers ) AND ( ( es1 = es_complex_numbers ) OR ( es1 = es_reals ) OR ( es1 = es_integers ) ) THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION expression_is_constant( + expr : generic_expression + ) : BOOLEAN; + RETURN( bool( SIZEOF( free_variables_of( expr ) ) = 0 ) ); + + END_FUNCTION; + + FUNCTION external_version_assignment_is_valid( + aia : applied_external_identification_assignment + ) : BOOLEAN; + + LOCAL + item : external_identification_item; + role : identification_role; + END_LOCAL; + role := aia.role; + IF role.name = 'version' THEN + REPEAT i := LOINDEX( aia\applied_external_identification_assignment.items ) TO HIINDEX( aia\ + applied_external_identification_assignment.items ) BY 1; + item := aia\applied_external_identification_assignment.items[i]; + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTERNALLY_DEFINED_GENERAL_PROPERTY'] * + TYPEOF( item ) ) = 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + ELSE + RETURN( TRUE ); + END_IF; + + END_FUNCTION; + + FUNCTION extract_factors( + tspace : tuple_space; + m, n : INTEGER + ) : tuple_space; + + LOCAL + tsp : tuple_space := the_zero_tuple_space; + END_LOCAL; + REPEAT i := m TO n BY 1; + tsp := assoc_product_space( tsp, factor_space( tspace, i ) ); + END_REPEAT; + RETURN( tsp ); + + END_FUNCTION; + + FUNCTION face_bound_reversed( + a_face_bound : face_bound + ) : face_bound; + + LOCAL + the_reverse : face_bound; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF( a_face_bound ) THEN + the_reverse := dummy_tri || face_bound( a_face_bound\face_bound.bound, NOT a_face_bound\face_bound.orientation ) || + face_outer_bound( ); + ELSE + the_reverse := dummy_tri || face_bound( a_face_bound.bound, NOT a_face_bound.orientation ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION face_reversed( + a_face : face + ) : oriented_face; + + LOCAL + the_reverse : oriented_face; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF( a_face ) THEN + the_reverse := dummy_tri || face( set_of_topology_reversed( a_face.bounds ) ) || oriented_face( a_face\oriented_face. + face_element, NOT a_face\oriented_face.orientation ); + ELSE + the_reverse := dummy_tri || face( set_of_topology_reversed( a_face.bounds ) ) || oriented_face( a_face, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION factor1( + tspace : tuple_space + ) : maths_space; + + LOCAL + typenames : SET OF STRING := TYPEOF( tspace ); + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN typenames THEN + RETURN( tspace\uniform_product_space.base ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN typenames THEN + RETURN( tspace\listed_product_space.factors[1] ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN typenames THEN + RETURN( factor1( tspace\extended_tuple_space.base ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION factor_space( + tspace : tuple_space; + idx : positive_integer + ) : maths_space; + + LOCAL + typenames : SET OF STRING := TYPEOF( tspace ); + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN typenames THEN + IF idx <= tspace\uniform_product_space.exponent THEN + RETURN( tspace\uniform_product_space.base ); + END_IF; + RETURN( ? ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN typenames THEN + IF idx <= SIZEOF( tspace\listed_product_space.factors ) THEN + RETURN( tspace\listed_product_space.factors[idx] ); + END_IF; + RETURN( ? ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN typenames THEN + IF idx <= space_dimension( tspace\extended_tuple_space.base ) THEN + RETURN( factor_space( tspace\extended_tuple_space.base, idx ) ); + END_IF; + RETURN( tspace\extended_tuple_space.extender ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION find_assembly_root( + constituent : SET OF product_definition + ) : SET OF product_definition; + + LOCAL + local_relation : SET OF assembly_component_usage := []; + local_relation2 : BAG OF assembly_component_usage := []; + local_parent : SET OF product_definition := []; + root : SET OF product_definition; + i : INTEGER := 0; + j : INTEGER := 0; + END_LOCAL; + IF ( SIZEOF( constituent ) = 1 ) AND assembly_root( constituent[1] ) THEN + RETURN( [constituent[1]] ); + ELSE + IF SIZEOF( constituent ) = 0 THEN + RETURN( [] ); + ELSE + REPEAT j := 1 TO HIINDEX( constituent ) BY 1; + local_relation2 := local_relation2 + QUERY ( pdr <* USEDIN( constituent[j], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + + 'RELATED_PRODUCT_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ASSEMBLY_COMPONENT_USAGE' IN TYPEOF( pdr ) ) ); + END_REPEAT; + local_relation := bag_to_set( local_relation2 ); + IF SIZEOF( local_relation ) = 0 THEN + IF SIZEOF( constituent ) = 1 THEN + RETURN( [constituent[1]] ); + ELSE + RETURN( [] ); + END_IF; + ELSE + REPEAT i := 1 TO HIINDEX( local_relation ) BY 1; + REPEAT j := 1 TO HIINDEX( constituent ) BY 1; + IF local_relation[i].relating_product_definition <> constituent[j] THEN + local_parent := local_parent + local_relation[i].relating_product_definition; + END_IF; + END_REPEAT; + END_REPEAT; + IF ( SIZEOF( local_parent ) = 1 ) AND assembly_root( local_parent[1] ) THEN + RETURN( [local_parent[1]] ); + ELSE + IF SIZEOF( local_parent ) = 0 THEN + RETURN( [] ); + ELSE + root := find_assembly_root( local_parent ); + IF SIZEOF( root ) = 1 THEN + RETURN( root ); + ELSE + IF SIZEOF( root ) = 0 THEN + RETURN( [] ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( [] ); + + END_FUNCTION; + + FUNCTION find_representative_shape_representation_of_product_definition( + item : product_definition + ) : shape_representation; + + LOCAL + local_s_r : SET OF shape_representation := []; + END_LOCAL; + local_s_r := QUERY ( z <* find_shape_representation_of_product_definition( item ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( z ) ) ); + IF SIZEOF( local_s_r ) = 1 THEN + RETURN( local_s_r[1] ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION find_representative_shape_representation_of_shape_aspect( + item : shape_aspect + ) : shape_representation; + + LOCAL + local_s_r : SET OF shape_representation := []; + END_LOCAL; + local_s_r := QUERY ( z <* find_shape_representation_of_shape_aspect( item ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( z ) ) ); + IF SIZEOF( local_s_r ) = 1 THEN + RETURN( local_s_r[1] ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION find_shape_representation_of_product_definition( + item : product_definition + ) : SET OF shape_representation; + + LOCAL + local_p_d_s : SET OF product_definition_shape := []; + local_p_d_s2 : BAG OF product_definition_shape := []; + local_s_d_r : SET OF shape_definition_representation := []; + local_s_d_r2 : BAG OF shape_definition_representation := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + END_LOCAL; + local_p_d_s2 := local_p_d_s2 + QUERY ( pd <* USEDIN( item, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ); + local_p_d_s := bag_to_set( local_p_d_s2 ); + REPEAT i := 1 TO HIINDEX( local_p_d_s ) BY 1; + local_s_d_r2 := local_s_d_r2 + QUERY ( pdr <* USEDIN( local_p_d_s[i], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + END_REPEAT; + local_s_d_r := bag_to_set( local_s_d_r2 ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF( local_s_d_r[i]. + used_representation ) THEN + local_s_r := local_s_r + local_s_d_r[i].used_representation; + END_IF; + END_REPEAT; + RETURN( local_s_r ); + + END_FUNCTION; + + FUNCTION find_shape_representation_of_shape_aspect( + item : shape_aspect + ) : SET OF shape_representation; + + LOCAL + local_p_d : SET OF property_definition := []; + local_s_d_r : SET OF shape_definition_representation := []; + local_s_d_r2 : BAG OF shape_definition_representation := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + END_LOCAL; + local_p_d := bag_to_set( USEDIN( item, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) ); + REPEAT i := 1 TO HIINDEX( local_p_d ) BY 1; + local_s_d_r2 := local_s_d_r2 + QUERY ( pdr <* USEDIN( local_p_d[i], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) + | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + END_REPEAT; + local_s_d_r := bag_to_set( local_s_d_r2 ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF( local_s_d_r[i]. + used_representation ) THEN + local_s_r := local_s_r + local_s_d_r[i].used_representation; + END_IF; + END_REPEAT; + RETURN( local_s_r ); + + END_FUNCTION; + + FUNCTION first_proj_axis( + z_axis, arg : direction + ) : direction; + + LOCAL + x_axis : direction; + v : direction; + z : direction; + x_vec : vector; + END_LOCAL; + IF NOT EXISTS( z_axis ) THEN + RETURN( ? ); + ELSE + z := normalise( z_axis ); + IF NOT EXISTS( arg ) THEN + IF ( z.direction_ratios <> [1, 0, 0] ) AND ( z.direction_ratios <> [-1, 0, 0] ) THEN + v := dummy_gri || direction( [1, 0, 0] ); + ELSE + v := dummy_gri || direction( [0, 1, 0] ); + END_IF; + ELSE + IF arg.dim <> 3 THEN + RETURN( ? ); + END_IF; + IF cross_product( arg, z ).magnitude = 0 THEN + RETURN( ? ); + ELSE + v := normalise( arg ); + END_IF; + END_IF; + x_vec := scalar_times_vector( dot_product( v, z ), z ); + x_axis := vector_difference( v, x_vec ).orientation; + x_axis := normalise( x_axis ); + END_IF; + RETURN( x_axis ); + + END_FUNCTION; + + FUNCTION free_variables_of( + expr : generic_expression + ) : SET OF generic_variable; + + LOCAL + typenames : SET OF STRING := stripped_typeof( expr ); + result : SET OF generic_variable := []; + exprs : LIST OF generic_expression := []; + END_LOCAL; + IF 'GENERIC_LITERAL' IN typenames THEN + RETURN( result ); + END_IF; + IF 'GENERIC_VARIABLE' IN typenames THEN + result := result + expr; + RETURN( result ); + END_IF; + IF 'QUANTIFIER_EXPRESSION' IN typenames THEN + exprs := QUERY ( ge <* expr\multiple_arity_generic_expression.operands | ( NOT ( ge IN expr\quantifier_expression.variables ) ) ); + REPEAT i := 1 TO SIZEOF( exprs ) BY 1; + result := result + free_variables_of( exprs[i] ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( expr\quantifier_expression.variables ) BY 1; + result := result - expr\quantifier_expression.variables[i]; + END_REPEAT; + RETURN( result ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN typenames THEN + RETURN( free_variables_of( expr\unary_generic_expression.operand ) ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN typenames THEN + result := free_variables_of( expr\binary_generic_expression.operands[1] ); + RETURN( result + free_variables_of( expr\binary_generic_expression.operands[2] ) ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN typenames THEN + REPEAT i := 1 TO SIZEOF( expr\multiple_arity_generic_expression.operands ) BY 1; + result := result + free_variables_of( expr\multiple_arity_generic_expression.operands[i] ); + END_REPEAT; + RETURN( result ); + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION function_applicability( + func : maths_function_select; + arguments : LIST [1 : ?] OF maths_value + ) : BOOLEAN; + + LOCAL + domain : tuple_space := convert_to_maths_function( func ).domain; + domain_types : SET OF STRING := TYPEOF( domain ); + narg : positive_integer := SIZEOF( arguments ); + arg : generic_expression; + END_LOCAL; + IF ( schema_prefix + 'PRODUCT_SPACE' ) IN domain_types THEN + IF space_dimension( domain ) <> narg THEN + RETURN( FALSE ); + END_IF; + ELSE + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN domain_types THEN + IF space_dimension( domain ) > narg THEN + RETURN( FALSE ); + END_IF; + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + REPEAT i := 1 TO narg BY 1; + arg := convert_to_operand( arguments[i] ); + IF NOT has_values_space( arg ) THEN + RETURN( FALSE ); + END_IF; + IF NOT compatible_spaces( factor_space( domain, i ), values_space_of( arg ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION function_is_1d_array( + func : maths_function + ) : BOOLEAN; + + LOCAL + temp : maths_space; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + IF space_dimension( func.domain ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( func.domain ); + IF ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( temp ) THEN + IF space_dimension( temp ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( temp ); + END_IF; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION function_is_1d_table( + func : maths_function + ) : BOOLEAN; + + LOCAL + temp : maths_space; + itvl : finite_integer_interval; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + IF space_dimension( func.domain ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( func.domain ); + IF ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( temp ) THEN + IF space_dimension( temp ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( temp ); + END_IF; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) THEN + itvl := temp; + RETURN( bool( ( itvl.min = 0 ) OR ( itvl.min = 1 ) ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION function_is_2d_table( + func : maths_function + ) : BOOLEAN; + + LOCAL + temp : maths_space; + pspace : product_space; + itvl1 : finite_integer_interval; + itvl2 : finite_integer_interval; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + IF space_dimension( func.domain ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( func.domain ); + IF NOT ( 'PRODUCT_SPACE' IN stripped_typeof( temp ) ) THEN + RETURN( FALSE ); + END_IF; + pspace := temp; + IF space_dimension( pspace ) <> 2 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( pspace ); + IF NOT ( 'FINITE_INTEGER_INTERVAL' IN stripped_typeof( temp ) ) THEN + RETURN( FALSE ); + END_IF; + itvl1 := temp; + temp := factor_space( pspace, 2 ); + IF NOT ( 'FINITE_INTEGER_INTERVAL' IN stripped_typeof( temp ) ) THEN + RETURN( FALSE ); + END_IF; + itvl2 := temp; + RETURN( bool( ( itvl1.min = itvl2.min ) AND ( ( itvl1.min = 0 ) OR ( itvl1.min = 1 ) ) ) ); + + END_FUNCTION; + + FUNCTION function_is_array( + func : maths_function + ) : BOOLEAN; + + LOCAL + tspace : tuple_space; + temp : maths_space; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( tspace ) ) ) THEN + tspace := factor1( tspace ); + END_IF; + IF NOT ( ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( tspace ) ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO space_dimension( tspace ) BY 1; + temp := factor_space( tspace, i ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION function_is_table( + func : maths_function + ) : BOOLEAN; + + LOCAL + tspace : tuple_space; + temp : maths_space; + base : INTEGER; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( tspace ) ) ) THEN + tspace := factor1( tspace ); + END_IF; + IF NOT ( ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( tspace ) ) THEN + RETURN( FALSE ); + END_IF; + temp := factor1( tspace ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + base := temp\finite_integer_interval.min; + IF ( base <> 0 ) AND ( base <> 1 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 2 TO space_dimension( tspace ) BY 1; + temp := factor_space( tspace, i ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + IF temp\finite_integer_interval.min <> base THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION gbsf_check_curve( + cv : representation_item + ) : BOOLEAN; + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' ] * TYPEOF( cv ) ) > 1 THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE' ] * TYPEOF( cv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( cv ) ) AND ( cv\ + b_spline_curve.self_intersect = FALSE ) ) OR ( cv\b_spline_curve.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( cv ) ) AND ( cv\ + composite_curve.self_intersect = FALSE ) ) OR ( cv\composite_curve.self_intersect = UNKNOWN ) THEN + RETURN( SIZEOF( QUERY ( seg <* cv\composite_curve.segments | ( NOT gbsf_check_curve( seg.parent_curve ) ) ) ) = 0 ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( cv ) THEN + RETURN( gbsf_check_curve( cv\curve_replica.parent_curve ) ); + ELSE + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( cv ) ) AND ( ( + cv\offset_curve_3d.self_intersect = FALSE ) OR ( cv\offset_curve_3d.self_intersect = UNKNOWN ) ) AND ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv\offset_curve_3d. + basis_curve ) ) ) THEN + RETURN( gbsf_check_curve( cv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv ) THEN + RETURN( gbsf_check_curve( cv\pcurve.reference_to_curve\representation.items[1] ) AND gbsf_check_surface( cv\ + pcurve.basis_surface ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv ) THEN + IF SIZEOF( cv\polyline.points ) >= 3 THEN + RETURN( TRUE ); + END_IF; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( cv ) THEN + IF gbsf_check_curve( cv\surface_curve.curve_3d ) THEN + REPEAT i := 1 TO SIZEOF( cv\surface_curve.associated_geometry ) BY 1; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF( cv\ + surface_curve.associated_geometry[i] ) THEN + IF NOT gbsf_check_surface( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv\ + surface_curve.associated_geometry[i] ) THEN + IF NOT gbsf_check_curve( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION gbsf_check_point( + pnt : point + ) : BOOLEAN; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( pnt ) THEN + RETURN( TRUE ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' IN TYPEOF( pnt ) THEN + RETURN( gbsf_check_curve( pnt\point_on_curve.basis_curve ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE' IN TYPEOF( pnt ) THEN + RETURN( gbsf_check_surface( pnt\point_on_surface.basis_surface ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE' IN TYPEOF( pnt ) THEN + RETURN( gbsf_check_curve( pnt\degenerate_pcurve.reference_to_curve\representation.items[1] ) AND gbsf_check_surface( + pnt\degenerate_pcurve.basis_surface ) ); + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION gbsf_check_surface( + sf : surface + ) : BOOLEAN; + IF ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( sf ) ) AND ( sf\ + b_spline_surface.self_intersect = FALSE ) ) OR ( sf\b_spline_surface.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPHERICAL_SURFACE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TOROIDAL_SURFACE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_TRIMMED_SURFACE' ] * TYPEOF( sf ) ) = 1 + THEN + RETURN( TRUE ); + ELSE + IF ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF( sf ) ) AND ( sf\ + offset_surface.self_intersect = FALSE ) ) OR ( sf\offset_surface.self_intersect = UNKNOWN ) THEN + RETURN( gbsf_check_surface( sf\offset_surface.basis_surface ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_COMPOSITE_SURFACE' IN TYPEOF( sf ) + THEN + REPEAT i := 1 TO SIZEOF( sf\rectangular_composite_surface.segments ) BY 1; + REPEAT j := 1 TO SIZEOF( sf\rectangular_composite_surface.segments[i] ) BY 1; + IF NOT gbsf_check_surface( sf\rectangular_composite_surface.segments[i][j].parent_surface ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF( sf ) THEN + RETURN( gbsf_check_surface( sf\surface_replica.parent_surface ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF( sf ) THEN + RETURN( gbsf_check_curve( sf\swept_surface.swept_curve ) ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION get_associated_mandatory_document_ids( + pdc : product_definition_context + ) : SET OF STRING; + + LOCAL + result : SET OF STRING := []; + adrs_raw : SET OF applied_document_reference := bag_to_set( USEDIN( pdc, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS' ) ); + adrs_filtered : SET OF applied_document_reference := []; + ras : SET OF role_association; + dpas : SET OF document_product_association; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( adrs_raw ) BY 1; + IF adrs_raw[i]\document_reference.role\object_role.name = 'mandatory' THEN + adrs_filtered := adrs_filtered + adrs_raw[i]; + END_IF; + END_REPEAT; + REPEAT i := 1 TO HIINDEX( adrs_filtered ) BY 1; + dpas := bag_to_set( USEDIN( adrs_filtered[i]\document_reference.assigned_document, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DOCUMENT_PRODUCT_ASSOCIATION.RELATING_DOCUMENT' ) ); + REPEAT j := 1 TO HIINDEX( dpas ) BY 1; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DOCUMENT_PRODUCT_EQUIVALENCE' IN TYPEOF( dpas[j] ) + THEN + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF( dpas[j] + \document_product_association.related_product ) THEN + result := result + dpas[j]\document_product_association.related_product\product_definition_formation.of_product\ + product.id; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT' IN TYPEOF( dpas[j].related_product ) + THEN + result := result + dpas[j]\document_product_association.related_product\product.id; + END_IF; + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_basis_surface( + c : curve_on_surface + ) : SET [0 : 2] OF surface; + + LOCAL + surfs : SET [0 : 2] OF surface; + n : INTEGER; + END_LOCAL; + surfs := []; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( c ) THEN + surfs := [c\pcurve.basis_surface]; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( c ) THEN + n := SIZEOF( c\surface_curve.associated_geometry ); + REPEAT i := 1 TO n BY 1; + surfs := surfs + associated_surface( c\surface_curve.associated_geometry[i] ); + END_REPEAT; + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF( c ) THEN + n := SIZEOF( c\composite_curve.segments ); + surfs := get_basis_surface( c\composite_curve.segments[1].parent_curve ); + IF n > 1 THEN + REPEAT i := 2 TO n BY 1; + surfs := surfs * get_basis_surface( c\composite_curve.segments[i].parent_curve ); + END_REPEAT; + END_IF; + END_IF; + RETURN( surfs ); + + END_FUNCTION; + + FUNCTION get_description_value( + obj : description_attribute_select + ) : text; + + LOCAL + description_bag : BAG OF description_attribute := USEDIN( obj, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + + 'DESCRIBED_ITEM' ); + END_LOCAL; + IF SIZEOF( description_bag ) = 1 THEN + RETURN( description_bag[1].attribute_value ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_directed_link( + nodes : LIST OF representation; + undirected_link : LIST OF chained_representation_link + ) : LIST OF representation_relationship; + + LOCAL + directed_link : LIST OF representation_relationship := []; + END_LOCAL; + IF ( SIZEOF( nodes ) <> ( SIZEOF( undirected_link ) + 1 ) ) OR ( VALUE_UNIQUE( nodes ) = FALSE ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( undirected_link ) BY 1; + CASE TRUE OF + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_CONTEXT' IN TYPEOF( undirected_link[i] ) : + BEGIN + IF ( nodes[i]\representation.context_of_items :=: undirected_link[i] ) AND ( nodes[i + 1]\representation. + context_of_items :=: undirected_link[i] ) THEN + INSERT( directed_link, representation_relationship( '', '', nodes[i + 1], nodes[i] ), i - 1 ); + ELSE + RETURN( ? ); + END_IF; + END; + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF( + undirected_link[i] ) : + BEGIN + IF ( ( nodes[i] :=: undirected_link[i]\representation_relationship.rep_1 ) AND ( nodes[i + 1] :=: undirected_link[i]\ + representation_relationship.rep_2 ) ) OR ( ( nodes[i] :=: undirected_link[i]\representation_relationship.rep_2 ) + AND ( nodes[i + 1] :=: undirected_link[i]\representation_relationship.rep_1 ) ) THEN + INSERT( directed_link, representation_relationship( '', '', nodes[i + 1], nodes[i] ), i - 1 ); + ELSE + RETURN( ? ); + END_IF; + END; + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF( undirected_link[i] ) : + BEGIN + IF ( nodes[i] IN using_representations( undirected_link[i] ) ) AND ( nodes[i + 1] :=: undirected_link[i]\mapped_item. + mapping_source\representation_map.mapped_representation ) THEN + INSERT( directed_link, representation_relationship( '', '', nodes[i + 1], nodes[i] ), i - 1 ); + ELSE + RETURN( ? ); + END_IF; + END; + OTHERWISE : RETURN( ? ); + END_CASE; + END_REPEAT; + IF VALUE_UNIQUE( directed_link ) = FALSE THEN + RETURN( ? ); + END_IF; + RETURN( directed_link ); + + END_FUNCTION; + + FUNCTION get_id_value( + obj : id_attribute_select + ) : identifier; + + LOCAL + id_bag : BAG OF id_attribute := USEDIN( obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ID_ATTRIBUTE.' + 'IDENTIFIED_ITEM' ); + END_LOCAL; + IF SIZEOF( id_bag ) = 1 THEN + RETURN( id_bag[1].attribute_value ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_kinematic_joints_from_kinematic_loops( + kls : SET OF kinematic_loop + ) : SET OF kinematic_joint; + + LOCAL + result : SET OF oriented_joint := []; + END_LOCAL; + IF SIZEOF( kls ) > 0 THEN + REPEAT i := 1 TO HIINDEX( kls ) BY 1; + result := result + kls[i].edge_list; + END_REPEAT; + END_IF; + RETURN( get_kinematic_joints_from_oriented_joints( result ) ); + + END_FUNCTION; + + FUNCTION get_kinematic_joints_from_oriented_joints( + ors : SET OF oriented_joint + ) : SET OF kinematic_joint; + + LOCAL + result : SET OF kinematic_joint := []; + END_LOCAL; + IF SIZEOF( ors ) > 0 THEN + REPEAT i := 1 TO HIINDEX( ors ) BY 1; + result := result + ors[i].edge_element; + END_REPEAT; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_name_value( + obj : name_attribute_select + ) : label; + + LOCAL + name_bag : BAG OF name_attribute := USEDIN( obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'NAME_ATTRIBUTE.' + 'NAMED_ITEM' ); + END_LOCAL; + IF SIZEOF( name_bag ) = 1 THEN + RETURN( name_bag[1].attribute_value ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_plane_of_implicit_geometry( + ps : positioned_sketch + ) : plane; + + LOCAL + sb : sketch_basis_select := ps.sketch_basis; + result : plane := ?; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF( sb ) THEN + result := sb\face_surface.face_geometry; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF( sb ) THEN + result := sb\curve_bounded_surface.basis_surface; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_CURVE_SELECT' IN TYPEOF( sb ) THEN + + BEGIN + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' IN TYPEOF( sb ) THEN + result := dummy_gri || surface( ) || elementary_surface( sb\conic.position ) || plane( ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF( sb ) THEN + + BEGIN + result := get_plane_of_implicit_geometry( dummy_gri || positioned_sketch( sb\trimmed_curve.basis_curve, [] ) ); + END; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( sb ) THEN + result := sb\pcurve.basis_surface; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( sb ) THEN + + BEGIN + IF ( SIZEOF( sb\surface_curve.basis_surface ) = 1 ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( sb\surface_curve. + basis_surface[1] ) ) THEN + result := sb\surface_curve.basis_surface[1]; + ELSE + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( sb\surface_curve. + basis_surface[1] ) ) AND ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN + TYPEOF( sb\surface_curve.basis_surface[2] ) ) THEN + result := ?; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF( sb\surface_curve. + basis_surface[1] ) THEN + result := sb\surface_curve.basis_surface[1]; + ELSE + result := sb\surface_curve.basis_surface[2]; + END_IF; + END_IF; + END_IF; + END; + END_IF; + END; + END_IF; + END_IF; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_property_definition_representations( + c_def_instance : characterized_definition + ) : SET OF property_definition_representation; + + LOCAL + pd_set : SET OF property_definition := []; + pdr_set : SET OF property_definition_representation := []; + END_LOCAL; + pd_set := bag_to_set( USEDIN( c_def_instance, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) ); + IF SIZEOF( pd_set ) < 1 THEN + RETURN( pdr_set ); + END_IF; + REPEAT i := 1 TO HIINDEX( pd_set ) BY 1; + pdr_set := pdr_set + bag_to_set( USEDIN( pd_set[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ); + END_REPEAT; + RETURN( pdr_set ); + + END_FUNCTION; + + FUNCTION get_relative_direction_2points( + cp1, cp2 : cartesian_point + ) : direction; + + LOCAL + d1 : REAL; + d2 : REAL; + d3 : REAL; + magnitude : REAL; + result : direction := ?; + END_LOCAL; + IF ( cp1.dim <> 3 ) OR ( cp2.dim <> 3 ) THEN + RETURN( result ); + ELSE + + BEGIN + d1 := cp2.coordinates[1] - cp1.coordinates[1]; + d2 := cp2.coordinates[2] - cp1.coordinates[2]; + d3 := cp2.coordinates[3] - cp1.coordinates[3]; + magnitude := SQRT( ( d1 * d1 ) + ( d2 * d2 ) + ( d3 * d3 ) ); + IF magnitude = 0 THEN + RETURN( result ); + END_IF; + result := dummy_gri || direction( [d1, d2, d3] ); + END; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_role( + obj : role_select + ) : object_role; + + LOCAL + role_bag : BAG OF role_association := USEDIN( obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ROLE_ASSOCIATION.' + 'ITEM_WITH_ROLE' ); + END_LOCAL; + IF SIZEOF( role_bag ) = 1 THEN + RETURN( role_bag[1].role ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_shape_aspect_property_definition_representations( + s_a_instance : shape_aspect + ) : SET OF property_definition_representation; + + LOCAL + pd_set : SET OF property_definition := []; + pdr_set : SET OF property_definition_representation := []; + END_LOCAL; + pd_set := bag_to_set( USEDIN( s_a_instance, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) ); + IF SIZEOF( pd_set ) < 1 THEN + RETURN( pdr_set ); + END_IF; + REPEAT i := 1 TO HIINDEX( pd_set ) BY 1; + pdr_set := pdr_set + QUERY ( pdr <* USEDIN( pd_set[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + END_REPEAT; + RETURN( pdr_set ); + + END_FUNCTION; + + FUNCTION get_shape_aspects( + c_def_instance : characterized_definition + ) : SET OF shape_aspect; + + LOCAL + pd_set : SET OF product_definition_shape := []; + pdr_set : SET OF shape_aspect := []; + END_LOCAL; + pd_set := bag_to_set( QUERY ( pd <* USEDIN( c_def_instance, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) ); + IF SIZEOF( pd_set ) < 1 THEN + RETURN( pdr_set ); + END_IF; + REPEAT i := 1 TO HIINDEX( pd_set ) BY 1; + pdr_set := pdr_set + bag_to_set( USEDIN( pd_set[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_ASPECT.OF_SHAPE' ) ); + END_REPEAT; + RETURN( pdr_set ); + + END_FUNCTION; + + FUNCTION has_values_space( + expr : generic_expression + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := stripped_typeof( expr ); + END_LOCAL; + IF 'EXPRESSION' IN typenames THEN + RETURN( bool( ( 'NUMERIC_EXPRESSION' IN typenames ) OR ( 'STRING_EXPRESSION' IN typenames ) OR ( 'BOOLEAN_EXPRESSION' IN + typenames ) ) ); + END_IF; + IF 'MATHS_FUNCTION' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'FUNCTION_APPLICATION' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_SPACE' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_VARIABLE' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'DEPENDENT_VARIABLE_DEFINITION' IN typenames THEN + RETURN( has_values_space( expr\unary_generic_expression.operand ) ); + END_IF; + IF 'COMPLEX_NUMBER_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'LOGICAL_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'BINARY_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_ENUM_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'REAL_TUPLE_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'INTEGER_TUPLE_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'ATOM_BASED_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_TUPLE_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'PARTIAL_DERIVATIVE_EXPRESSION' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'DEFINITE_INTEGRAL_EXPRESSION' IN typenames THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION inspected_product_definition( + dqir : data_quality_inspection_result_representation + ) : BAG OF product_definition; + + LOCAL + dqdr : BAG OF data_quality_definition_representation_relationship := []; + pdqdr : BAG OF product_data_and_data_quality_relationship := []; + pd : BAG OF product_definition := []; + END_LOCAL; + dqdr := USEDIN( dqir, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_DEFINITION_REPRESENTATION_RELATIONSHIP.' + 'USED_REPRESENTATION' ); + REPEAT i := 1 TO SIZEOF( dqdr ) BY 1; + pdqdr := USEDIN( dqdr[i].definition, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PRODUCT_DATA_AND_DATA_QUALITY_RELATIONSHIP.' + 'DATA_QUALITY' ); + REPEAT j := 1 TO SIZEOF( pdqdr ) BY 1; + pd := pd + pdqdr[j].product_data; + END_REPEAT; + END_REPEAT; + RETURN( pd ); + + END_FUNCTION; + + FUNCTION invalidate_vrep_item( + item : variational_representation_item + ) : BOOLEAN; + + LOCAL + reps : SET [1 : ?] OF representation := using_representations( item ); + svri : SET [1 : ?] OF variational_representation_item; + iar : instance_attribute_reference; + i : INTEGER; + n : INTEGER := HIINDEX( reps ); + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN TYPEOF( item ) THEN + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INSTANCE_ATTRIBUTE_REFERENCE' IN TYPEOF( item\ + generic_variable.interpretation\environment.semantics ) THEN + + BEGIN + iar := item\generic_variable.interpretation\environment.semantics; + IF reps <> using_representations( iar\instance_attribute_reference.owning_instance ) THEN + RETURN( TRUE ); + END_IF; + END; + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN TYPEOF( item ) THEN + + BEGIN + REPEAT i := 1 TO n BY 1; + svri := QUERY ( q <* reps[i]\representation.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FREE_FORM_CONSTRAINT' IN TYPEOF( q ) ) ); + IF SIZEOF( QUERY ( r <* svri | ( item IN ( r\free_form_constraint.reference_elements + r\free_form_constraint. + constrained_elements ) ) ) ) = 0 THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' IN TYPEOF( item ) THEN + REPEAT i := 1 TO SIZEOF( item\fixed_instance_attribute_set.fixed_attributes ) BY 1; + IF reps <> using_representations( item\fixed_instance_attribute_set.fixed_attributes[i]\instance_attribute_reference. + owning_instance ) THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPLICIT_CONSTRAINT' IN TYPEOF( item ) THEN + IF SIZEOF( QUERY ( q <* ( item\explicit_constraint.reference_elements + item\explicit_constraint.constrained_elements ) | + ( reps <> using_representations( q ) ) ) ) > 0 THEN + RETURN( TRUE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AUXILIARY_GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( + item ) THEN + + BEGIN + REPEAT i := 1 TO n BY 1; + svri := QUERY ( q <* reps[i]\representation.items | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPLICIT_GEOMETRIC_CONSTRAINT' IN TYPEOF( q ) ) ); + IF SIZEOF( QUERY ( r <* svri | ( item IN r\explicit_geometric_constraint.reference_elements ) ) ) = 0 THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION is_acyclic( + arg : generic_expression + ) : BOOLEAN; + RETURN( acyclic( arg, [] ) ); + + END_FUNCTION; + + FUNCTION is_int_expr( + arg : numeric_expression + ) : BOOLEAN; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_LITERAL' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REAL_LITERAL' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABS_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( is_int_expr( arg\unary_numeric_expression.operand ) ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( is_int_expr( arg\unary_numeric_expression.operand ) ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACOS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ATAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXP_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG2_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG10_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_ROOT_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULT_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAXIMUM_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINIMUM_FUNCTION' IN TYPEOF( arg ) ) THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_numeric_expression.operands ) BY 1; + IF NOT is_int_expr( arg\multiple_arity_numeric_expression.operands[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( is_int_expr( arg\binary_numeric_expression.operands[1] ) AND is_int_expr( arg\binary_numeric_expression.operands[2] ) ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIV_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MOD_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLASH_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_FUNCTION' IN TYPEOF( arg ) THEN + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_VALUE_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INTEGER_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REAL_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION is_sql_mappable( + arg : expression + ) : BOOLEAN; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_NUMERIC_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQL_MAPPABLE_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\unary_numeric_expression.operand ) ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACOS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ATAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXP_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG2_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG10_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_ROOT_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULT_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAXIMUM_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINIMUM_FUNCTION' IN TYPEOF( arg ) ) THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_numeric_expression.operands ) BY 1; + IF NOT is_sql_mappable( arg\multiple_arity_numeric_expression.operands[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLASH_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( is_sql_mappable( arg\binary_numeric_expression.operands[1] ) AND is_sql_mappable( arg\binary_numeric_expression. + operands[2] ) ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIV_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MOD_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_BOOLEAN_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NOT_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\unary_generic_expression.operand ) ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ODD_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.XOR_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AND_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OR_EXPRESSION' IN TYPEOF( arg ) ) THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_boolean_expression.operands ) BY 1; + IF NOT is_sql_mappable( arg\multiple_arity_boolean_expression.operands[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EQUALS_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\binary_generic_expression.operands[1] ) AND is_sql_mappable( arg\binary_generic_expression. + operands[2] ) ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_GREATER' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_GREATER_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_LESS' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_LESS_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_NOT_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LIKE_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( is_sql_mappable( arg\comparison_expression.operands[1] ) AND is_sql_mappable( arg\comparison_expression.operands[2] ) ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INTERVAL_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\interval_expression.interval_low ) AND is_sql_mappable( arg\interval_expression.interval_high ) + AND is_sql_mappable( arg\interval_expression.interval_item ) ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_DEFINED_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_DEFINED_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_DEFINED_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_STRING_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INDEX_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBSTRING_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONCAT_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FORMAT_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION item_in_context( + item : representation_item; + cntxt : representation_context + ) : BOOLEAN; + + LOCAL + y : BAG OF representation_item; + END_LOCAL; + IF SIZEOF( USEDIN( item, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS' ) * cntxt. + representations_in_context ) > 0 THEN + RETURN( TRUE ); + ELSE + y := QUERY ( z <* USEDIN( item, '' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION_ITEM' IN TYPEOF( z ) ) ); + IF SIZEOF( y ) > 0 THEN + REPEAT i := 1 TO HIINDEX( y ) BY 1; + IF item_in_context( y[i], cntxt ) THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION leap_year( + year : year_number + ) : BOOLEAN; + IF ( ( ( year MOD 4 ) = 0 ) AND ( ( year MOD 100 ) <> 0 ) ) OR ( ( year MOD 400 ) = 0 ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION list_face_loops( + f : face + ) : LIST [0 : ?] OF loop; + + LOCAL + loops : LIST [0 : ?] OF loop := []; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( f.bounds ) BY 1; + loops := loops + f.bounds[i].bound; + END_REPEAT; + RETURN( loops ); + + END_FUNCTION; + + FUNCTION list_of_topology_reversed( + a_list : list_of_reversible_topology_item + ) : list_of_reversible_topology_item; + + LOCAL + the_reverse : list_of_reversible_topology_item; + END_LOCAL; + the_reverse := []; + REPEAT i := 1 TO SIZEOF( a_list ) BY 1; + the_reverse := topology_reversed( a_list[i] ) + the_reverse; + END_REPEAT; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION list_selected_components( + aggr : AGGREGATE OF LIST OF maths_value; + k : positive_integer + ) : LIST OF maths_value; + + LOCAL + result : LIST OF maths_value := []; + j : INTEGER := 0; + END_LOCAL; + REPEAT i := LOINDEX( aggr ) TO HIINDEX( aggr ) BY 1; + IF k <= SIZEOF( aggr[i] ) THEN + INSERT( result, aggr[i][k], j ); + j := j + 1; + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION list_to_array( + lis : LIST [0 : ?] OF GENERIC:t; + low : INTEGER; + u : INTEGER + ) : ARRAY [low : u] OF GENERIC:t; + + LOCAL + n : INTEGER; + res : ARRAY [low : u] OF GENERIC:t; + END_LOCAL; + n := SIZEOF( lis ); + IF n <> ( ( u - low ) + 1 ) THEN + RETURN( ? ); + ELSE + res := [lis[1] : 0]; + REPEAT i := 2 TO n BY 1; + res[( low + i ) - 1] := lis[i]; + END_REPEAT; + RETURN( res ); + END_IF; + + END_FUNCTION; + + FUNCTION list_to_set( + l : LIST [0 : ?] OF GENERIC:t + ) : SET OF GENERIC:t; + + LOCAL + s : SET OF GENERIC:t := []; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( l ) BY 1; + s := s + l[i]; + END_REPEAT; + RETURN( s ); + + END_FUNCTION; + + FUNCTION make_array_of_array( + lis : LIST [1 : ?] OF LIST [1 : ?] OF GENERIC:t; + low1 : INTEGER; + u1 : INTEGER; + low2 : INTEGER; + u2 : INTEGER + ) : ARRAY [low1 : u1] OF ARRAY [low2 : u2] OF GENERIC:t; + + LOCAL + res : ARRAY [low1 : u1] OF ARRAY [low2 : u2] OF GENERIC:t; + END_LOCAL; + IF ( ( u1 - low1 ) + 1 ) <> SIZEOF( lis ) THEN + RETURN( ? ); + END_IF; + IF ( ( u2 - low2 ) + 1 ) <> SIZEOF( lis[1] ) THEN + RETURN( ? ); + END_IF; + res := [list_to_array( lis[1], low2, u2 ) : 0]; + REPEAT i := 2 TO HIINDEX( lis ) BY 1; + IF ( ( u2 - low2 ) + 1 ) <> SIZEOF( lis[i] ) THEN + RETURN( ? ); + END_IF; + res[( low1 + i ) - 1] := list_to_array( lis[i], low2, u2 ); + END_REPEAT; + RETURN( res ); + + END_FUNCTION; + + FUNCTION make_atom_based_literal( + lit_value : atom_based_value + ) : atom_based_literal; + RETURN( atom_based_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_binary_literal( + lit_value : BINARY + ) : binary_literal; + RETURN( binary_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_boolean_literal( + lit_value : BOOLEAN + ) : boolean_literal; + RETURN( boolean_literal( lit_value ) || simple_boolean_expression( ) || boolean_expression( ) || expression( ) || + generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_cartesian_complex_number_region( + real_constraint, imag_constraint : real_interval + ) : cartesian_complex_number_region; + RETURN( cartesian_complex_number_region( real_constraint, imag_constraint ) || maths_space( ) || generic_expression( ) || + generic_literal( ) || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_complex_number_literal( + rpart, ipart : REAL + ) : complex_number_literal; + RETURN( complex_number_literal( rpart, ipart ) || generic_literal( ) || simple_generic_expression( ) || + generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_elementary_function( + func_id : elementary_function_enumerators + ) : elementary_function; + RETURN( elementary_function( func_id ) || maths_function( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_elementary_space( + space_id : elementary_space_enumerators + ) : elementary_space; + RETURN( elementary_space( space_id ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_extended_tuple_space( +(* next line replaced by the line thereafter as patch for BZ#5052 + base : product_space; *) + base : tuple_space; + extender : maths_space + ) : extended_tuple_space; + RETURN( extended_tuple_space( base, extender ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_finite_integer_interval( + min : INTEGER; + max : INTEGER + ) : finite_integer_interval; + RETURN( finite_integer_interval( min, max ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_finite_real_interval( + min : REAL; + minclo : open_closed; + max : REAL; + maxclo : open_closed + ) : finite_real_interval; + RETURN( finite_real_interval( min, minclo, max, maxclo ) || maths_space( ) || generic_expression( ) || generic_literal( ) + || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_finite_space( + members : SET OF maths_value + ) : finite_space; + RETURN( finite_space( members ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_function_application( + afunction : maths_function_select; + arguments : LIST [1 : ?] OF maths_value + ) : function_application; + RETURN( function_application( afunction, arguments ) || multiple_arity_generic_expression( convert_to_maths_function( + afunction ) + convert_to_operands( arguments ) ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_function_space( + domain_constraint : space_constraint_type; + domain_argument : maths_space; + range_constraint : space_constraint_type; + range_argument : maths_space + ) : function_space; + RETURN( function_space( domain_constraint, domain_argument, range_constraint, range_argument ) || maths_space( ) || + generic_expression( ) || generic_literal( ) || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_int_literal( + lit_value : INTEGER + ) : int_literal; + RETURN( int_literal( ) || literal_number( lit_value ) || simple_numeric_expression( ) || numeric_expression( ) || + expression( ) || generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_listed_product_space( + factors : LIST OF maths_space + ) : listed_product_space; + RETURN( listed_product_space( factors ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_logical_literal( + lit_value : LOGICAL + ) : logical_literal; + RETURN( logical_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_maths_enum_literal( + lit_value : maths_enum_atom + ) : maths_enum_literal; + RETURN( maths_enum_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_maths_tuple_literal( + lit_value : LIST OF maths_value + ) : maths_tuple_literal; + RETURN( maths_tuple_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_numeric_set( + start, delta : maths_number; + incs : positive_integer + ) : SET [2 : ?] OF maths_number; + + LOCAL + i : INTEGER; + numeric_set : SET [2 : ?] OF maths_number := [start, start + delta]; + END_LOCAL; + IF incs > 1 THEN + REPEAT i := 2 TO incs BY 1; + numeric_set := numeric_set + start + ( i * delta ); + END_REPEAT; + END_IF; + RETURN( numeric_set ); + + END_FUNCTION; + + FUNCTION make_parallel_composed_function( + srcdom : maths_space_or_function; + prepfuncs : LIST [2 : ?] OF maths_function; + finfunc : maths_function_select + ) : parallel_composed_function; + RETURN( parallel_composed_function( srcdom, prepfuncs, finfunc ) || maths_function( ) || generic_expression( ) || + multiple_arity_generic_expression( convert_to_operands_prcmfn( srcdom, prepfuncs, finfunc ) ) ); + + END_FUNCTION; + + FUNCTION make_polar_complex_number_region( + centre : complex_number_literal; + dis_constraint : real_interval; + dir_constraint : finite_real_interval + ) : polar_complex_number_region; + RETURN( polar_complex_number_region( centre, dis_constraint, dir_constraint ) || maths_space( ) || generic_expression( ) || + generic_literal( ) || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_real_interval_from_min( + min : REAL; + minclo : open_closed + ) : real_interval_from_min; + RETURN( real_interval_from_min( min, minclo ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_real_interval_to_max( + max : REAL; + maxclo : open_closed + ) : real_interval_to_max; + RETURN( real_interval_to_max( max, maxclo ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_real_literal( + lit_value : REAL + ) : real_literal; + RETURN( real_literal( ) || literal_number( lit_value ) || simple_numeric_expression( ) || numeric_expression( ) || + expression( ) || generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_string_literal( + lit_value : STRING + ) : string_literal; + RETURN( string_literal( lit_value ) || simple_string_expression( ) || string_expression( ) || expression( ) || + generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_uniform_product_space( + base : maths_space; + exponent : positive_integer + ) : uniform_product_space; + RETURN( uniform_product_space( base, exponent ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION max_exists( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + RETURN( bool( ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_TO_MAX' ) + IN types ) OR ( ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'REAL_INTERVAL_TO_MAX' ) IN + types ) ) ); + + END_FUNCTION; + + FUNCTION max_included( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_TO_MAX' ) IN types ) + THEN + RETURN( TRUE ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( bool( spc\finite_real_interval.max_closure = closed ) ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_TO_MAX' ) IN types THEN + RETURN( bool( spc\real_interval_to_max.max_closure = closed ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION member_of( + val : GENERIC:g; + spc : maths_space + ) : LOGICAL; + + FUNCTION fedex( + val : AGGREGATE OF GENERIC:x; + i : INTEGER + ) : GENERIC:x; + RETURN( val[i] ); + + END_FUNCTION; + + LOCAL + v : maths_value := simplify_maths_value( convert_to_maths_value( val ) ); + vtypes : SET OF STRING := stripped_typeof( v ); + s : maths_space := simplify_maths_space( spc ); + stypes : SET OF STRING := stripped_typeof( s ); + tmp_int : INTEGER; + tmp_real : REAL; + tmp_cmplx : complex_number_literal; + lgcl : LOGICAL; + cum : LOGICAL; + vspc : maths_space; + sspc : maths_space; + smem : SET OF maths_value; + factors : LIST OF maths_space; + END_LOCAL; + IF NOT EXISTS( s ) THEN + RETURN( FALSE ); + END_IF; + IF NOT EXISTS( v ) THEN + RETURN( s = the_generics ); + END_IF; + IF ( 'GENERIC_EXPRESSION' IN vtypes ) AND ( NOT ( 'MATHS_SPACE' IN vtypes ) ) AND ( NOT ( 'MATHS_FUNCTION' IN vtypes ) ) AND + ( NOT ( 'COMPLEX_NUMBER_LITERAL' IN vtypes ) ) THEN + IF has_values_space( v ) THEN + vspc := values_space_of( v ); + IF subspace_of( vspc, s ) THEN + RETURN( TRUE ); + END_IF; + IF NOT compatible_spaces( vspc, s ) THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'ELEMENTARY_SPACE' IN stypes THEN + CASE s\elementary_space.space_id OF + es_numbers : RETURN( ( 'NUMBER' IN vtypes ) OR ( 'COMPLEX_NUMBER_LITERAL' IN vtypes ) ); + es_complex_numbers : RETURN( 'COMPLEX_NUMBER_LITERAL' IN vtypes ); + es_reals : RETURN( ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) ); + es_integers : RETURN( 'INTEGER' IN vtypes ); + es_logicals : RETURN( 'LOGICAL' IN vtypes ); + es_booleans : RETURN( 'BOOLEAN' IN vtypes ); + es_strings : RETURN( 'STRING' IN vtypes ); + es_binarys : RETURN( 'BINARY' IN vtypes ); + es_maths_spaces : RETURN( 'MATHS_SPACE' IN vtypes ); + es_maths_functions : RETURN( 'MATHS_FUNCTION' IN vtypes ); + es_generics : RETURN( TRUE ); + END_CASE; + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN stypes THEN + IF 'INTEGER' IN vtypes THEN + tmp_int := v; + RETURN( ( s\finite_integer_interval.min <= tmp_int ) AND ( tmp_int <= s\finite_integer_interval.max ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'INTEGER_INTERVAL_FROM_MIN' IN stypes THEN + IF 'INTEGER' IN vtypes THEN + tmp_int := v; + RETURN( s\integer_interval_from_min.min <= tmp_int ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'INTEGER_INTERVAL_TO_MAX' IN stypes THEN + IF 'INTEGER' IN vtypes THEN + tmp_int := v; + RETURN( tmp_int <= s\integer_interval_to_max.max ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_REAL_INTERVAL' IN stypes THEN + IF ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) THEN + tmp_real := v; + IF s\finite_real_interval.min_closure = closed THEN + IF s\finite_real_interval.max_closure = closed THEN + RETURN( ( s\finite_real_interval.min <= tmp_real ) AND ( tmp_real <= s\finite_real_interval.max ) ); + ELSE + RETURN( ( s\finite_real_interval.min <= tmp_real ) AND ( tmp_real < s\finite_real_interval.max ) ); + END_IF; + ELSE + IF s\finite_real_interval.max_closure = closed THEN + RETURN( ( s\finite_real_interval.min < tmp_real ) AND ( tmp_real <= s\finite_real_interval.max ) ); + ELSE + RETURN( ( s\finite_real_interval.min < tmp_real ) AND ( tmp_real < s\finite_real_interval.max ) ); + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_FROM_MIN' IN stypes THEN + IF ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) THEN + tmp_real := v; + IF s\real_interval_from_min.min_closure = closed THEN + RETURN( s\real_interval_from_min.min <= tmp_real ); + ELSE + RETURN( s\real_interval_from_min.min < tmp_real ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_TO_MAX' IN stypes THEN + IF ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) THEN + tmp_real := v; + IF s\real_interval_to_max.max_closure = closed THEN + RETURN( tmp_real <= s\real_interval_to_max.max ); + ELSE + RETURN( tmp_real < s\real_interval_to_max.max ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN stypes THEN + IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN + RETURN( member_of( v\complex_number_literal.real_part, s\cartesian_complex_number_region.real_constraint ) AND + member_of( v\complex_number_literal.imag_part, s\cartesian_complex_number_region.imag_constraint ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN stypes THEN + IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN + tmp_cmplx := v; + tmp_cmplx.real_part := tmp_cmplx.real_part - s\polar_complex_number_region.centre.real_part; + tmp_cmplx.imag_part := tmp_cmplx.imag_part - s\polar_complex_number_region.centre.imag_part; + tmp_real := SQRT( ( tmp_cmplx.real_part ** 2 ) + ( tmp_cmplx.imag_part ** 2 ) ); + IF NOT member_of( tmp_real, s\polar_complex_number_region.distance_constraint ) THEN + RETURN( FALSE ); + END_IF; + IF tmp_real = 0 THEN + RETURN( TRUE ); + END_IF; + tmp_real := atan2( tmp_cmplx.imag_part, tmp_cmplx.real_part ); + RETURN( member_of( tmp_real, s\polar_complex_number_region.direction_constraint ) OR member_of( tmp_real + ( 2 * PI ), s\ + polar_complex_number_region.direction_constraint ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_SPACE' IN stypes THEN + smem := s\finite_space.members; + cum := FALSE; + REPEAT i := 1 TO SIZEOF( smem ) BY 1; + cum := cum OR equal_maths_values( v, smem[i] ); + IF cum = TRUE THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN + IF 'LIST' IN vtypes THEN + IF SIZEOF( v ) = s\uniform_product_space.exponent THEN + sspc := s\uniform_product_space.base; + cum := TRUE; + REPEAT i := 1 TO SIZEOF( v ) BY 1; + cum := cum AND member_of( v[i], sspc ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN stypes THEN + IF 'LIST' IN vtypes THEN + factors := s\listed_product_space.factors; + IF SIZEOF( v ) = SIZEOF( factors ) THEN + cum := TRUE; + REPEAT i := 1 TO SIZEOF( v ) BY 1; + cum := cum AND member_of( v[i], factors[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN + IF 'LIST' IN vtypes THEN + sspc := s\extended_tuple_space.base; + tmp_int := space_dimension( sspc ); + IF SIZEOF( v ) >= tmp_int THEN + cum := TRUE; + REPEAT i := 1 TO tmp_int BY 1; + cum := cum AND member_of( v[i], factor_space( sspc, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + sspc := s\extended_tuple_space.extender; + REPEAT i := tmp_int + 1 TO SIZEOF( v ) BY 1; + cum := cum AND member_of( v[i], sspc ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN stypes THEN + IF 'MATHS_FUNCTION' IN vtypes THEN + vspc := v\maths_function.domain; + sspc := s\function_space.domain_argument; + CASE s\function_space.domain_constraint OF + sc_equal : cum := equal_maths_spaces( vspc, sspc ); + sc_subspace : cum := subspace_of( vspc, sspc ); + sc_member : cum := member_of( vspc, sspc ); + END_CASE; + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + vspc := v\maths_function.range; + sspc := s\function_space.range_argument; + CASE s\function_space.range_constraint OF + sc_equal : cum := cum AND equal_maths_spaces( vspc, sspc ); + sc_subspace : cum := cum AND subspace_of( vspc, sspc ); + sc_member : cum := cum AND member_of( vspc, sspc ); + END_CASE; + RETURN( cum ); + END_IF; + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION min_exists( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + RETURN( bool( ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_FROM_MIN' ) + IN types ) OR ( ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'REAL_INTERVAL_FROM_MIN' ) IN + types ) ) ); + + END_FUNCTION; + + FUNCTION min_included( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_FROM_MIN' ) IN types ) + THEN + RETURN( TRUE ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( bool( spc\finite_real_interval.min_closure = closed ) ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_FROM_MIN' ) IN types THEN + RETURN( bool( spc\real_interval_from_min.min_closure = closed ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION mixed_loop_type_set( + l : SET [0 : ?] OF loop + ) : LOGICAL; + + LOCAL + poly_loop_type : LOGICAL; + END_LOCAL; + IF SIZEOF( l ) <= 1 THEN + RETURN( FALSE ); + END_IF; + poly_loop_type := 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLY_LOOP' IN TYPEOF( l[1] ); + REPEAT i := 2 TO SIZEOF( l ) BY 1; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLY_LOOP' IN TYPEOF( l[i] ) ) <> poly_loop_type + THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION msb_shells( + brep : manifold_solid_brep + ) : SET [1 : ?] OF closed_shell; + + LOCAL + return_set : SET [1 : ?] OF closed_shell := [brep.outer]; + END_LOCAL; + IF SIZEOF( QUERY ( msbtype <* TYPEOF( brep ) | ( msbtype LIKE '*BREP_WITH_VOIDS' ) ) ) >= 1 THEN + return_set := return_set + brep\brep_with_voids.voids; + END_IF; + RETURN( return_set ); + + END_FUNCTION; + + FUNCTION msf_curve_check( + cv : representation_item + ) : BOOLEAN; + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' ] * TYPEOF( cv ) ) > 1 THEN + RETURN( FALSE ); + END_IF; + IF ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( cv ) ) AND ( cv\ + b_spline_curve.self_intersect = FALSE ) ) OR ( cv\b_spline_curve.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' ] * TYPEOF( cv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( cv ) THEN + RETURN( msf_curve_check( cv\curve_replica.parent_curve ) ); + ELSE + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( cv ) ) AND ( ( cv\ + offset_curve_3d.self_intersect = FALSE ) OR ( cv\offset_curve_3d.self_intersect = UNKNOWN ) ) AND ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv\offset_curve_3d. + basis_curve ) ) ) THEN + RETURN( msf_curve_check( cv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv ) THEN + RETURN( msf_curve_check( cv\pcurve.reference_to_curve\representation.items[1] ) AND msf_surface_check( cv\pcurve. + basis_surface ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( cv ) THEN + IF msf_curve_check( cv\surface_curve.curve_3d ) THEN + REPEAT i := 1 TO SIZEOF( cv\surface_curve.associated_geometry ) BY 1; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT msf_surface_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT msf_curve_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv ) THEN + IF SIZEOF( cv\polyline.points ) >= 3 THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION msf_surface_check( + surf : surface + ) : BOOLEAN; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF( surf ) THEN + RETURN( TRUE ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF( surf ) THEN + RETURN( msf_curve_check( surf\swept_surface.swept_curve ) ); + ELSE + IF ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF( surf ) ) AND ( surf + \offset_surface.self_intersect = FALSE ) ) OR ( surf\offset_surface.self_intersect = UNKNOWN ) THEN + RETURN( msf_surface_check( surf\offset_surface.basis_surface ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF( surf ) THEN + RETURN( msf_surface_check( surf\surface_replica.parent_surface ) ); + ELSE + IF ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( surf ) ) AND + ( surf\b_spline_surface.self_intersect = FALSE ) ) OR ( surf\b_spline_surface.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION nmsf_curve_check( + cv : representation_item + ) : BOOLEAN; + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' ] * TYPEOF( cv ) ) > 1 THEN + RETURN( FALSE ); + ELSE + IF ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( cv ) ) AND ( cv\ + b_spline_curve.self_intersect = FALSE ) ) OR ( cv\b_spline_curve.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' ] * TYPEOF( cv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( cv ) THEN + RETURN( nmsf_curve_check( cv\curve_replica.parent_curve ) ); + ELSE + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( cv ) ) AND ( ( + cv\offset_curve_3d.self_intersect = FALSE ) OR ( cv\offset_curve_3d.self_intersect = UNKNOWN ) ) AND ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv\offset_curve_3d. + basis_curve ) ) ) THEN + RETURN( nmsf_curve_check( cv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv ) THEN + RETURN( nmsf_curve_check( cv\pcurve.reference_to_curve\representation.items[1] ) AND nmsf_surface_check( cv\ + pcurve.basis_surface ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF( cv ) THEN + IF nmsf_curve_check( cv\surface_curve.curve_3d ) THEN + REPEAT i := 1 TO SIZEOF( cv\surface_curve.associated_geometry ) BY 1; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF( cv\surface_curve + .associated_geometry[i] ) THEN + IF NOT nmsf_surface_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF( cv\ + surface_curve.associated_geometry[i] ) THEN + IF NOT nmsf_curve_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF( cv ) THEN + IF SIZEOF( cv\polyline.points ) >= 3 THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION nmsf_surface_check( + surf : surface + ) : BOOLEAN; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF( surf ) THEN + RETURN( TRUE ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF( surf ) THEN + RETURN( nmsf_curve_check( surf\swept_surface.swept_curve ) ); + ELSE + IF ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF( surf ) ) AND ( surf + \offset_surface.self_intersect = FALSE ) ) OR ( surf\offset_surface.self_intersect = UNKNOWN ) THEN + RETURN( nmsf_surface_check( surf\offset_surface.basis_surface ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF( surf ) THEN + RETURN( nmsf_surface_check( surf\surface_replica.parent_surface ) ); + ELSE + IF ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( surf ) ) AND + ( surf\b_spline_surface.self_intersect = FALSE ) ) OR ( surf\b_spline_surface.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION no_cyclic_domain_reference( + ref : maths_space_or_function; + used : SET OF maths_function + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := TYPEOF( ref ); + func : maths_function; + END_LOCAL; + IF ( NOT EXISTS( ref ) ) OR ( NOT EXISTS( used ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( schema_prefix + 'MATHS_SPACE' ) IN typenames THEN + RETURN( TRUE ); + END_IF; + func := ref; + IF func IN used THEN + RETURN( FALSE ); + END_IF; + IF ( schema_prefix + 'CONSTANT_FUNCTION' ) IN typenames THEN + RETURN( no_cyclic_domain_reference( func\constant_function.source_of_domain, used + [func] ) ); + END_IF; + IF ( schema_prefix + 'SELECTOR_FUNCTION' ) IN typenames THEN + RETURN( no_cyclic_domain_reference( func\selector_function.source_of_domain, used + [func] ) ); + END_IF; + IF ( schema_prefix + 'PARALLEL_COMPOSED_FUNCTION' ) IN typenames THEN + RETURN( no_cyclic_domain_reference( func\parallel_composed_function.source_of_domain, used + [func] ) ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION no_cyclic_space_reference( + spc : maths_space; + refs : SET OF maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING; + refs_plus : SET OF maths_space; + END_LOCAL; + IF spc IN refs THEN + RETURN( FALSE ); + END_IF; + types := TYPEOF( spc ); + refs_plus := refs + spc; + IF ( schema_prefix + 'FINITE_SPACE' ) IN types THEN + RETURN( bool( SIZEOF( QUERY ( sp <* QUERY ( mem <* spc\finite_space.members | ( ( schema_prefix + 'MATHS_SPACE' ) IN + TYPEOF( mem ) ) ) | ( NOT no_cyclic_space_reference( sp, refs_plus ) ) ) ) = 0 ) ); + END_IF; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN types THEN + RETURN( no_cyclic_space_reference( spc\uniform_product_space.base, refs_plus ) ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN types THEN + RETURN( bool( SIZEOF( QUERY ( fac <* spc\listed_product_space.factors | ( NOT no_cyclic_space_reference( fac, refs_plus ) ) ) ) + = 0 ) ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN types THEN + RETURN( no_cyclic_space_reference( spc\extended_tuple_space.base, refs_plus ) AND no_cyclic_space_reference( spc\ + extended_tuple_space.extender, refs_plus ) ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION nondecreasing( + lr : LIST OF REAL + ) : BOOLEAN; + IF NOT EXISTS( lr ) THEN + RETURN( FALSE ); + END_IF; + REPEAT j := 2 TO SIZEOF( lr ) BY 1; + IF lr[j] < lr[j - 1] THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION normalise( + arg : vector_or_direction + ) : vector_or_direction; + + LOCAL + ndim : INTEGER; + v : direction := dummy_gri || direction( [1, 0, 0] ); + result : vector_or_direction; + vec : vector := dummy_gri || vector( v, 1 ); + mag : REAL; + END_LOCAL; + IF NOT EXISTS( arg ) THEN + result := ?; + ELSE + ndim := arg.dim; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF( arg ) THEN + + BEGIN + v := dummy_gri || direction( arg\vector.orientation.direction_ratios ); + IF arg\vector.magnitude = 0 THEN + RETURN( ? ); + ELSE + vec := dummy_gri || vector( v, 1 ); + END_IF; + END; + ELSE + v := dummy_gri || direction( arg.direction_ratios ); + END_IF; + mag := 0; + REPEAT i := 1 TO ndim BY 1; + mag := mag + ( v.direction_ratios[i] * v.direction_ratios[i] ); + END_REPEAT; + IF mag > 0 THEN + mag := SQRT( mag ); + REPEAT i := 1 TO ndim BY 1; + v.direction_ratios[i] := v.direction_ratios[i] / mag; + END_REPEAT; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF( arg ) THEN + vec.orientation := v; + result := vec; + ELSE + result := v; + END_IF; + ELSE + RETURN( ? ); + END_IF; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION number_superspace_of( + spc : maths_space + ) : elementary_space; + IF subspace_of_es( spc, es_integers ) THEN + RETURN( the_integers ); + END_IF; + IF subspace_of_es( spc, es_reals ) THEN + RETURN( the_reals ); + END_IF; + IF subspace_of_es( spc, es_complex_numbers ) THEN + RETURN( the_complex_numbers ); + END_IF; + IF subspace_of_es( spc, es_numbers ) THEN + RETURN( the_numbers ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION number_tuple_subspace_check( + spc : maths_space + ) : LOGICAL; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + factors : LIST OF maths_space; + cum : LOGICAL := TRUE; + END_LOCAL; + IF 'UNIFORM_PRODUCT_SPACE' IN types THEN + RETURN( subspace_of_es( spc\uniform_product_space.base, es_numbers ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types THEN + factors := spc\listed_product_space.factors; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND subspace_of_es( factors[i], es_numbers ); + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types THEN + cum := subspace_of_es( spc\extended_tuple_space.extender, es_numbers ); + cum := cum AND number_tuple_subspace_check( spc\extended_tuple_space.base ); + RETURN( cum ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION one_tuples_of( + spc : maths_space + ) : tuple_space; + RETURN( make_uniform_product_space( spc, 1 ) ); + + END_FUNCTION; + + FUNCTION open_path_based_inner_boundary( + input : SET OF primitive_2d + ) : BOOLEAN; + + LOCAL + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( input ) BY 1; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_AREA_WITH_PARAMETERS' IN TYPEOF( input[i] ) ) + AND ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' IN TYPEOF( input[i]\mapped_item. + mapping_source\representation_map.mapping_origin ) ) OR ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( input[i]\mapped_item. + mapping_source\representation_map.mapping_origin ) ) AND ( input[i]\mapped_item.mapping_source\representation_map. + mapping_origin\composite_curve.closed_curve = TRUE ) ) ) THEN + pass := FALSE; + END_IF; + END_REPEAT; + RETURN( pass ); + + END_FUNCTION; + + FUNCTION open_shell_reversed( + a_shell : open_shell + ) : oriented_open_shell; + + LOCAL + the_reverse : oriented_open_shell; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_OPEN_SHELL' IN TYPEOF( a_shell ) THEN + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || open_shell( ) || + oriented_open_shell( a_shell\oriented_open_shell.open_shell_element, NOT a_shell\oriented_open_shell.orientation ); + ELSE + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || open_shell( ) || + oriented_open_shell( a_shell, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION orthogonal_complement( + vec : direction + ) : direction; + + LOCAL + result : direction; + END_LOCAL; + IF ( vec.dim <> 2 ) OR ( NOT EXISTS( vec ) ) THEN + RETURN( ? ); + ELSE + result := dummy_gri || direction( [-vec.direction_ratios[2], vec.direction_ratios[1]] ); + RETURN( result ); + END_IF; + + END_FUNCTION; + + FUNCTION parallel_composed_function_composability_check( + funcs : LIST OF maths_function; + final : maths_function_select + ) : BOOLEAN; + + LOCAL + tplsp : tuple_space := the_zero_tuple_space; + finfun : maths_function := convert_to_maths_function( final ); + END_LOCAL; + REPEAT i := 1 TO SIZEOF( funcs ) BY 1; + tplsp := assoc_product_space( tplsp, funcs[i].range ); + END_REPEAT; + RETURN( compatible_spaces( tplsp, finfun.domain ) ); + + END_FUNCTION; + + FUNCTION parallel_composed_function_domain_check( + comdom : tuple_space; + funcs : LIST OF maths_function + ) : BOOLEAN; + REPEAT i := 1 TO SIZEOF( funcs ) BY 1; + IF NOT compatible_spaces( comdom, funcs[i].domain ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION partial_derivative_check( + domain : tuple_space; + d_vars : LIST [1 : ?] OF input_selector + ) : BOOLEAN; + + LOCAL + domn : tuple_space := domain; + fspc : maths_space; + dim : INTEGER; + k : INTEGER; + END_LOCAL; + IF ( space_dimension( domain ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( domain ) ) ) THEN + domn := factor1( domain ); + END_IF; + dim := space_dimension( domn ); + REPEAT i := 1 TO SIZEOF( d_vars ) BY 1; + k := d_vars[i]; + IF k > dim THEN + RETURN( FALSE ); + END_IF; + fspc := factor_space( domn, k ); + IF ( NOT subspace_of_es( fspc, es_reals ) ) AND ( NOT subspace_of_es( fspc, es_complex_numbers ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION path_head_to_tail( + a_path : path + ) : LOGICAL; + + LOCAL + n : INTEGER; + p : LOGICAL := TRUE; + END_LOCAL; + n := SIZEOF( a_path.edge_list ); + REPEAT i := 2 TO n BY 1; + p := p AND ( a_path.edge_list[i - 1].edge_end :=: a_path.edge_list[i].edge_start ); + END_REPEAT; + RETURN( p ); + + END_FUNCTION; + + FUNCTION path_reversed( + a_path : path + ) : oriented_path; + + LOCAL + the_reverse : oriented_path; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF( a_path ) THEN + the_reverse := dummy_tri || path( list_of_topology_reversed( a_path.edge_list ) ) || oriented_path( a_path\oriented_path. + path_element, NOT a_path\oriented_path.orientation ); + ELSE + the_reverse := dummy_tri || path( list_of_topology_reversed( a_path.edge_list ) ) || oriented_path( a_path, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION plane_angle_for_pair_in_radian( + pair : kinematic_pair; + angle : plane_angle_measure + ) : plane_angle_measure; + + LOCAL + converted_angle : plane_angle_measure := angle; + link_rep : kinematic_link_representation := representation_of_link( pair.joint.edge_start ); + link_cntxt : representation_context; + pa_units : SET OF unit := []; + pau : unit; + END_LOCAL; + link_cntxt := link_rep\representation.context_of_items; + IF NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF( + link_cntxt ) ) THEN + RETURN( ? ); + END_IF; + pa_units := QUERY ( unit <* link_cntxt\global_unit_assigned_context.units | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF( unit ) ) ); + IF SIZEOF( pa_units ) <> 1 THEN + RETURN( ? ); + END_IF; + pau := pa_units[1]; + IF ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SI_UNIT' IN TYPEOF( pau ) ) ) AND ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF( pau ) ) ) THEN + RETURN( ? ); + END_IF; + REPEAT WHILE 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF( pau ); + converted_angle := converted_angle * pau\conversion_based_unit.conversion_factor.value_component; + pau := pau\conversion_based_unit.conversion_factor.unit_component; + IF ( ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SI_UNIT' IN TYPEOF( pau ) ) ) AND ( NOT ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF( pau ) ) ) ) OR + ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF( pau ) ) ) THEN + RETURN( ? ); + END_IF; + END_REPEAT; + IF pau\si_unit.name <> si_unit_name.radian THEN + RETURN( ? ); + END_IF; + CASE pau\si_unit.prefix OF + si_prefix.exa : RETURN( 1.e+18 * converted_angle ); + si_prefix.peta : RETURN( 1.e+15 * converted_angle ); + si_prefix.tera : RETURN( 1.e+12 * converted_angle ); + si_prefix.giga : RETURN( 1000000000 * converted_angle ); + si_prefix.mega : RETURN( 1000000 * converted_angle ); + si_prefix.kilo : RETURN( 1000 * converted_angle ); + si_prefix.hecto : RETURN( 100 * converted_angle ); + si_prefix.deca : RETURN( 10 * converted_angle ); + si_prefix.deci : RETURN( 0.1 * converted_angle ); + si_prefix.centi : RETURN( 0.01 * converted_angle ); + si_prefix.milli : RETURN( 0.001 * converted_angle ); + si_prefix.micro : RETURN( 1.e-06 * converted_angle ); + si_prefix.nano : RETURN( 1.e-09 * converted_angle ); + si_prefix.pico : RETURN( 1.e-12 * converted_angle ); + si_prefix.femto : RETURN( 1.e-15 * converted_angle ); + si_prefix.atto : RETURN( 1.e-18 * converted_angle ); + OTHERWISE : RETURN( converted_angle ); + END_CASE; + + END_FUNCTION; + + FUNCTION real_max( + spc : maths_space + ) : REAL; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types THEN + RETURN( spc\finite_integer_interval.max ); + END_IF; + IF ( schema_prefix + 'INTEGER_INTERVAL_TO_MAX' ) IN types THEN + RETURN( spc\integer_interval_to_max.max ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( spc\finite_real_interval.max ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_TO_MAX' ) IN types THEN + RETURN( spc\real_interval_to_max.max ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION real_min( + spc : maths_space + ) : REAL; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types THEN + RETURN( spc\finite_integer_interval.min ); + END_IF; + IF ( schema_prefix + 'INTEGER_INTERVAL_FROM_MIN' ) IN types THEN + RETURN( spc\integer_interval_from_min.min ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( spc\finite_real_interval.min ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_FROM_MIN' ) IN types THEN + RETURN( spc\real_interval_from_min.min ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION relating_shape_representations_of_extreme_values( + item : location_of_extreme_value_select + ) : SET OF shape_representation; + + LOCAL + results : SET OF shape_representation := []; + exti : SET OF extreme_instance := []; + ii_ei : SET OF instance_report_item_with_extreme_instances := []; + sdiir : SET OF shape_data_quality_inspection_instance_report := []; + sdqr : SET OF shape_data_quality_inspection_result_representation := []; + sdisr : SET OF shape_data_quality_inspected_shape_and_result_relationship := []; + END_LOCAL; + exti := exti + bag_to_set( USEDIN( item, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EXTREME_INSTANCE.' + 'LOCATIONS_OF_EXTREME_VALUE' ) ); + REPEAT i := 1 TO HIINDEX( exti ) BY 1; + ii_ei := ii_ei + bag_to_set( USEDIN( exti[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES.' + 'EXTREME_INSTANCES' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( ii_ei ) BY 1; + sdiir := sdiir + bag_to_set( USEDIN( ii_ei[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT.' + 'INSPECTED_INSTANCES' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( sdiir ) BY 1; + sdqr := sdqr + QUERY ( i1 <* bag_to_set( USEDIN( sdiir[i].inspection_result, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' ) IN TYPEOF( i1 ) ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( sdqr ) BY 1; + sdisr := sdisr + bag_to_set( USEDIN( sdqr[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.' + 'REP_2' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( sdisr ) BY 1; + results := results + sdisr[i].rep_1; + END_REPEAT; + RETURN( results ); + + END_FUNCTION; + + FUNCTION remove_first( + alist : LIST OF GENERIC:gen + ) : LIST OF GENERIC:gen; + + LOCAL + blist : LIST OF GENERIC:gen := alist; + END_LOCAL; + IF SIZEOF( blist ) > 0 THEN + REMOVE( blist, 1 ); + END_IF; + RETURN( blist ); + + END_FUNCTION; + + FUNCTION repackage( + tspace : tuple_space; + repckg : repackage_options + ) : tuple_space; + CASE repckg OF + ro_nochange : RETURN( tspace ); + ro_wrap_as_tuple : RETURN( one_tuples_of( tspace ) ); + ro_unwrap_tuple : RETURN( factor1( tspace ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION representation_of_link( + link : kinematic_link + ) : kinematic_link_representation; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION scalar_times_vector( + scalar : REAL; + vec : vector_or_direction + ) : vector; + + LOCAL + v : direction; + mag : REAL; + result : vector; + END_LOCAL; + IF ( NOT EXISTS( scalar ) ) OR ( NOT EXISTS( vec ) ) THEN + RETURN( ? ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF( vec ) THEN + v := dummy_gri || direction( vec\vector.orientation.direction_ratios ); + mag := scalar * vec\vector.magnitude; + ELSE + v := dummy_gri || direction( vec.direction_ratios ); + mag := scalar; + END_IF; + IF mag < 0 THEN + REPEAT i := 1 TO SIZEOF( v.direction_ratios ) BY 1; + v.direction_ratios[i] := -v.direction_ratios[i]; + END_REPEAT; + mag := -mag; + END_IF; + result := dummy_gri || vector( normalise( v ), mag ); + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION second_proj_axis( + z_axis, x_axis, arg : direction + ) : direction; + + LOCAL + y_axis : vector; + v : direction; + temp : vector; + END_LOCAL; + IF NOT EXISTS( arg ) THEN + v := dummy_gri || direction( [0, 1, 0] ); + ELSE + v := arg; + END_IF; + temp := scalar_times_vector( dot_product( v, z_axis ), z_axis ); + y_axis := vector_difference( v, temp ); + temp := scalar_times_vector( dot_product( v, x_axis ), x_axis ); + y_axis := vector_difference( y_axis, temp ); + y_axis := normalise( y_axis ); + RETURN( y_axis.orientation ); + + END_FUNCTION; + + FUNCTION set_of_topology_reversed( + a_set : set_of_reversible_topology_item + ) : set_of_reversible_topology_item; + + LOCAL + the_reverse : set_of_reversible_topology_item; + END_LOCAL; + the_reverse := []; + REPEAT i := 1 TO SIZEOF( a_set ) BY 1; + the_reverse := the_reverse + topology_reversed( a_set[i] ); + END_REPEAT; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION shape_of_array( + func : maths_function + ) : LIST OF positive_integer; + + LOCAL + tspace : tuple_space; + temp : maths_space; + result : LIST OF positive_integer := []; + END_LOCAL; + IF ( schema_prefix + 'EXPLICIT_TABLE_FUNCTION' ) IN TYPEOF( func ) THEN + RETURN( func\explicit_table_function.shape ); + END_IF; + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( tspace ) ) ) THEN + tspace := factor1( tspace ); + END_IF; + REPEAT i := 1 TO space_dimension( tspace ) BY 1; + temp := factor_space( tspace, i ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( ? ); + END_IF; + INSERT( result, temp\finite_integer_interval.size, i - 1 ); + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION shell_reversed( + a_shell : shell + ) : shell; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL' IN TYPEOF( a_shell ) THEN + RETURN( open_shell_reversed( a_shell ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL' IN TYPEOF( a_shell ) THEN + RETURN( closed_shell_reversed( a_shell ) ); + ELSE + RETURN( ? ); + END_IF; + END_IF; + + END_FUNCTION; + + FUNCTION simplify_function_application( + expr : function_application + ) : maths_value; + + FUNCTION ctmv( + x : GENERIC:g + ) : maths_value; + RETURN( convert_to_maths_value( x ) ); + + END_FUNCTION; + + FUNCTION good_t( + v : maths_value; + tn : STRING + ) : BOOLEAN; + + LOCAL + tpl : LIST OF maths_value; + END_LOCAL; + IF 'LIST' IN TYPEOF( v ) THEN + tpl := v; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + IF NOT ( tn IN TYPEOF( tpl[i] ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION makec( + x, y : REAL + ) : complex_number_literal; + RETURN( make_complex_number_literal( x, y ) ); + + END_FUNCTION; + + PROCEDURE parts( + c : complex_number_literal; + VAR x, y : REAL ); + x := c.real_part; + y := c.imag_part; + + END_PROCEDURE; + + CONSTANT + cnlit : STRING := + schema_prefix + + + 'COMPLEX_NUMBER_LITERAL' ; + END_CONSTANT; + + LOCAL + types : SET OF STRING := stripped_typeof( expr.func ); + ef_val : elementary_function_enumerators; + is_elementary : BOOLEAN := FALSE; + v : maths_value; + v1 : maths_value; + v2 : maths_value; + v3 : maths_value; + vlist : LIST OF maths_value := []; + gexpr : generic_expression; + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value; + boo : BOOLEAN; + lgc : LOGICAL; + cum : LOGICAL; + j : INTEGER; + k : INTEGER; + n : INTEGER; + p : REAL; + q : REAL; + r : REAL; + s : REAL; + t : REAL; + u : REAL; + str : STRING; + st2 : STRING; + bin : BINARY; + bi2 : BINARY; + tpl : LIST OF maths_value; + tp2 : LIST OF maths_value; + mem : SET OF maths_value := []; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( expr.arguments ) BY 1; + v := simplify_maths_value( expr.arguments[i] ); + INSERT( vlist, v, i - 1 ); + END_REPEAT; + IF SIZEOF( vlist ) >= 1 THEN + v1 := vlist[1]; + END_IF; + IF SIZEOF( vlist ) >= 2 THEN + v2 := vlist[2]; + END_IF; + IF SIZEOF( vlist ) >= 3 THEN + v3 := vlist[3]; + END_IF; + IF 'ELEMENTARY_FUNCTION_ENUMERATORS' IN types THEN + ef_val := expr.func; + is_elementary := TRUE; + END_IF; + IF 'ELEMENTARY_FUNCTION' IN types THEN + ef_val := expr.func\elementary_function.func_id; + is_elementary := TRUE; + END_IF; + IF is_elementary THEN + CASE ef_val OF + ef_and : + BEGIN + cum := TRUE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'LOGICAL' IN TYPEOF( vlist[i] ) THEN + lgc := vlist[i]; + cum := cum AND lgc; + IF lgc = FALSE THEN + RETURN( ctmv( FALSE ) ); + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( cum ) ); + END_IF; + IF cum <> TRUE THEN + INSERT( vlist, ctmv( cum ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_or : + BEGIN + cum := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'LOGICAL' IN TYPEOF( vlist[i] ) THEN + lgc := vlist[i]; + cum := cum OR lgc; + IF lgc = TRUE THEN + RETURN( ctmv( TRUE ) ); + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( cum ) ); + END_IF; + IF cum <> FALSE THEN + INSERT( vlist, ctmv( cum ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_not : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + RETURN( ctmv( NOT lgc ) ); + END_IF; + ef_xor : + BEGIN + IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF 'LOGICAL' IN TYPEOF( v2 ) THEN + cum := v2; + RETURN( ctmv( lgc XOR cum ) ); + ELSE + IF lgc = FALSE THEN + RETURN( ctmv( v2 ) ); + ELSE + IF lgc = UNKNOWN THEN + RETURN( ctmv( UNKNOWN ) ); + ELSE + RETURN( make_function_application( ef_not, [v2] ) ); + END_IF; + END_IF; + END_IF; + ELSE + IF 'LOGICAL' IN TYPEOF( v2 ) THEN + lgc := v2; + IF lgc = FALSE THEN + RETURN( ctmv( v1 ) ); + ELSE + IF lgc = UNKNOWN THEN + RETURN( ctmv( UNKNOWN ) ); + ELSE + RETURN( make_function_application( ef_not, [v1] ) ); + END_IF; + END_IF; + END_IF; + END_IF; + END; + ef_negate_i : IF 'INTEGER' IN TYPEOF( v1 ) THEN + j := v1; + RETURN( ctmv( -j ) ); + END_IF; + ef_add_i : + BEGIN + j := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + k := vlist[i]; + j := j + k; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF j <> 0 THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j - k ) ); + END_IF; + ef_multiply_i : + BEGIN + j := 1; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + k := vlist[i]; + j := j * k; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF j <> 1 THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_divide_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j DIV k ) ); + END_IF; + ef_mod_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j MOD k ) ); + END_IF; + ef_exponentiate_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + n := 1; + REPEAT i := 1 TO ABS( k ) BY 1; + n := n * j; + END_REPEAT; + IF k < 0 THEN + n := 1 DIV n; + END_IF; + RETURN( ctmv( n ) ); + END_IF; + ef_eq_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j = k ) ); + END_IF; + ef_ne_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j <> k ) ); + END_IF; + ef_gt_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j > k ) ); + END_IF; + ef_lt_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j < k ) ); + END_IF; + ef_ge_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j >= k ) ); + END_IF; + ef_le_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j <= k ) ); + END_IF; + ef_abs_i : IF 'INTEGER' IN TYPEOF( v1 ) THEN + j := v1; + RETURN( ctmv( ABS( j ) ) ); + END_IF; + ef_max_i : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + k := vlist[i]; + IF k > j THEN + j := k; + END_IF; + ELSE + j := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_min_i : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + k := vlist[i]; + IF k < j THEN + j := k; + END_IF; + ELSE + j := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_negate_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( -r ) ); + END_IF; + ef_reciprocal_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( 1 / r ) ); + END_IF; + ef_add_r : + BEGIN + r := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + s := vlist[i]; + r := r + s; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF r <> 0 THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r - s ) ); + END_IF; + ef_multiply_r : + BEGIN + r := 1; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + s := vlist[i]; + r := r * s; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF r <> 1 THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_divide_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r / s ) ); + END_IF; + ef_mod_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + t := r / s; + j := t DIV 1; + IF ( t < 0 ) AND ( j <> t ) THEN + j := j - 1; + END_IF; + RETURN( ctmv( r - ( j * s ) ) ); + END_IF; + ef_exponentiate_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r ** s ) ); + END_IF; + ef_exponentiate_ri : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + r := v1; + k := v2; + t := 1; + REPEAT i := 1 TO ABS( k ) BY 1; + t := t * r; + END_REPEAT; + IF k < 0 THEN + t := 1 / t; + END_IF; + RETURN( ctmv( t ) ); + END_IF; + ef_eq_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r = s ) ); + END_IF; + ef_ne_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r <> s ) ); + END_IF; + ef_gt_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r > s ) ); + END_IF; + ef_lt_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r < s ) ); + END_IF; + ef_ge_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r >= s ) ); + END_IF; + ef_le_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r <= s ) ); + END_IF; + ef_abs_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( ABS( r ) ) ); + END_IF; + ef_max_r : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + s := vlist[i]; + IF s > r THEN + r := s; + END_IF; + ELSE + r := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_min_r : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + s := vlist[i]; + IF s < r THEN + r := s; + END_IF; + ELSE + r := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_acos_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( ACOS( r ) ) ); + END_IF; + ef_asin_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( ASIN( r ) ) ); + END_IF; + ef_atan2_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( atan2( r, s ) ) ); + END_IF; + ef_cos_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( COS( r ) ) ); + END_IF; + ef_exp_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( EXP( r ) ) ); + END_IF; + ef_ln_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( LOG( r ) ) ); + END_IF; + ef_log2_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( LOG2( r ) ) ); + END_IF; + ef_log10_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( LOG10( r ) ) ); + END_IF; + ef_sin_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( SIN( r ) ) ); + END_IF; + ef_sqrt_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( SQRT( r ) ) ); + END_IF; + ef_tan_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( TAN( r ) ) ); + END_IF; + ef_form_c : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( makec( r, s ) ); + END_IF; + ef_rpart_c : IF cnlit IN TYPEOF( v1 ) THEN + RETURN( ctmv( v1\complex_number_literal.real_part ) ); + END_IF; + ef_ipart_c : IF cnlit IN TYPEOF( v1 ) THEN + RETURN( ctmv( v1\complex_number_literal.imag_part ) ); + END_IF; + ef_negate_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( -p, -q ) ); + END_IF; + ef_reciprocal_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := ( p * p ) + ( q * q ); + RETURN( makec( p / t, ( -q ) / t ) ); + END_IF; + ef_add_c : + BEGIN + p := 0; + q := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF cnlit IN TYPEOF( vlist[i] ) THEN + parts( vlist[i], r, s ); + p := p + r; + q := q + s; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( makec( p, q ) ); + END_IF; + IF ( ( p * p ) + ( q * q ) ) <> 0 THEN + INSERT( vlist, makec( p, q ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + RETURN( makec( p - r, q - s ) ); + END_IF; + ef_multiply_c : + BEGIN + p := 1; + q := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF cnlit IN TYPEOF( vlist[i] ) THEN + parts( vlist[i], r, s ); + p := ( p * r ) - ( q * s ); + q := ( p * s ) + ( q * r ); + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( makec( p, q ) ); + END_IF; + IF ( p <> 1 ) OR ( q <> 0 ) THEN + INSERT( vlist, makec( p, q ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_divide_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + t := ( r * r ) + ( s * s ); + RETURN( makec( ( ( p * r ) + ( q * s ) ) / t, ( ( q * r ) - ( p * s ) ) / t ) ); + END_IF; + ef_exponentiate_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + t := 0.5 * LOG( ( p * p ) + ( q * q ) ); + u := atan2( q, p ); + p := ( r * t ) - ( s * u ); + q := ( r * u ) + ( s * t ); + r := EXP( p ); + RETURN( makec( r * COS( q ), r * SIN( q ) ) ); + END_IF; + ef_exponentiate_ci : IF ( cnlit IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + k := v2; + r := 1; + s := 0; + REPEAT i := 1 TO ABS( k ) BY 1; + r := ( p * r ) - ( q * s ); + s := ( p * s ) + ( q * r ); + END_REPEAT; + IF k < 0 THEN + t := ( r * r ) + ( s * s ); + r := r / t; + s := ( -s ) / t; + END_IF; + RETURN( makec( r, s ) ); + END_IF; + ef_eq_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + RETURN( ctmv( ( p = r ) AND ( q = s ) ) ); + END_IF; + ef_ne_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + RETURN( ctmv( ( p <> r ) OR ( q <> s ) ) ); + END_IF; + ef_conjugate_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( p, -q ) ); + END_IF; + ef_abs_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( ctmv( SQRT( ( p * p ) + ( q * q ) ) ) ); + END_IF; + ef_arg_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( ctmv( atan2( q, p ) ) ); + END_IF; + ef_cos_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := 0.5 * EXP( -q ); + u := 0.5 * EXP( q ); + RETURN( makec( ( t + u ) * COS( p ), ( t - u ) * SIN( p ) ) ); + END_IF; + ef_exp_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( EXP( p ) * COS( q ), EXP( p ) * SIN( q ) ) ); + END_IF; + ef_ln_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( 0.5 * LOG( ( p * p ) + ( q * q ) ), atan2( q, p ) ) ); + END_IF; + ef_sin_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := 0.5 * EXP( -q ); + u := 0.5 * EXP( q ); + RETURN( makec( ( t + u ) * SIN( p ), ( u - t ) * COS( p ) ) ); + END_IF; + ef_sqrt_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := SQRT( SQRT( ( p * p ) + ( q * q ) ) ); + u := 0.5 * atan2( q, p ); + RETURN( makec( t * COS( u ), t * SIN( u ) ) ); + END_IF; + ef_tan_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := EXP( 2 * q ) + EXP( ( -2 ) * q ) + ( 2 * COS( 2 * p ) ); + RETURN( makec( ( 2 * SIN( 2 * p ) ) / t, ( EXP( ( -2 ) * q ) - EXP( 2 * q ) ) / t ) ); + END_IF; + ef_subscript_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + str := v1; + k := v2; + RETURN( ctmv( str[k] ) ); + END_IF; + ef_eq_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str = st2 ) ); + END_IF; + ef_ne_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str <> st2 ) ); + END_IF; + ef_gt_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str > st2 ) ); + END_IF; + ef_lt_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str < st2 ) ); + END_IF; + ef_ge_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str >= st2 ) ); + END_IF; + ef_le_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str <= st2 ) ); + END_IF; + ef_subsequence_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) AND ( 'INTEGER' IN + TYPEOF( v3 ) ) THEN + str := v1; + j := v2; + k := v3; + RETURN( ctmv( str[j : k] ) ); + END_IF; + ef_concat_s : + BEGIN + str := ''; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'STRING' IN TYPEOF( vlist[i] ) THEN + st2 := vlist[i]; + str := str + st2; + REMOVE( vlist, i ); + ELSE + IF str <> '' THEN + INSERT( vlist, ctmv( str ), i ); + str := ''; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( str ) ); + END_IF; + IF str <> '' THEN + INSERT( vlist, ctmv( str ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_size_s : IF 'STRING' IN TYPEOF( v1 ) THEN + str := v1; + RETURN( ctmv( LENGTH( str ) ) ); + END_IF; + ef_format : IF ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + RETURN( ctmv( FORMAT( v1, v2 ) ) ); + END_IF; + ef_value : IF 'STRING' IN TYPEOF( v1 ) THEN + str := v1; + RETURN( ctmv( VALUE( str ) ) ); + END_IF; + ef_like : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + RETURN( ctmv( v1 LIKE v2 ) ); + END_IF; + ef_subscript_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + bin := v1; + k := v2; + RETURN( ctmv( bin[k] ) ); + END_IF; + ef_eq_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin = bi2 ) ); + END_IF; + ef_ne_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin <> bi2 ) ); + END_IF; + ef_gt_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin > bi2 ) ); + END_IF; + ef_lt_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin < bi2 ) ); + END_IF; + ef_ge_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin >= bi2 ) ); + END_IF; + ef_le_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin <= bi2 ) ); + END_IF; + ef_subsequence_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) AND ( 'INTEGER' IN + TYPEOF( v3 ) ) THEN + bin := v1; + j := v2; + k := v3; + RETURN( ctmv( bin[j : k] ) ); + END_IF; + ef_concat_b : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'BINARY' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + bi2 := vlist[i]; + bin := bin + bi2; + ELSE + bin := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + ELSE + IF boo THEN + INSERT( vlist, ctmv( bin ), i ); + boo := FALSE; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( bin ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( bin ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_size_b : IF 'BINARY' IN TYPEOF( v1 ) THEN + bin := v1; + RETURN( ctmv( BLENGTH( bin ) ) ); + END_IF; + ef_subscript_t : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + tpl := v1; + k := v2; + RETURN( ctmv( tpl[k] ) ); + END_IF; + ef_eq_t : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'LIST' IN TYPEOF( v2 ) ) THEN + lgc := equal_maths_values( v1, v2 ); + IF lgc <> UNKNOWN THEN + RETURN( ctmv( lgc ) ); + END_IF; + END_IF; + ef_ne_t : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'LIST' IN TYPEOF( v2 ) ) THEN + lgc := equal_maths_values( v1, v2 ); + IF lgc <> UNKNOWN THEN + RETURN( ctmv( NOT lgc ) ); + END_IF; + END_IF; + ef_concat_t : + BEGIN + tpl := []; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'STRING' IN TYPEOF( vlist[i] ) THEN + tp2 := vlist[i]; + tpl := tpl + tp2; + REMOVE( vlist, i ); + ELSE + IF SIZEOF( tpl ) <> 0 THEN + INSERT( vlist, ctmv( tpl ), i ); + tpl := []; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF SIZEOF( tpl ) <> 0 THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_size_t : IF 'LIST' IN TYPEOF( v1 ) THEN + tpl := v1; + RETURN( ctmv( SIZEOF( tpl ) ) ); + END_IF; + ef_entuple : RETURN( ctmv( vlist ) ); + ef_detuple : IF 'LIST' IN TYPEOF( v1 ) THEN + tpl := v1; + RETURN( ctmv( tpl[1] ) ); + END_IF; + ef_insert : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v3 ) ) THEN + tpl := v1; + k := v3; + INSERT( tpl, v2, k ); + RETURN( ctmv( tpl ) ); + END_IF; + ef_remove : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + tpl := v1; + k := v2; + REMOVE( tpl, k ); + RETURN( ctmv( tpl ) ); + END_IF; + ef_sum_it : IF good_t( v1, 'INTEGER' ) THEN + tpl := v1; + j := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + j := j + tpl[i]; + END_REPEAT; + RETURN( ctmv( j ) ); + END_IF; + ef_product_it : IF good_t( v1, 'INTEGER' ) THEN + tpl := v1; + j := 1; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + j := j * tpl[i]; + END_REPEAT; + RETURN( ctmv( j ) ); + END_IF; + ef_add_it : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF good_t( vlist[i], 'INTEGER' ) THEN + IF NOT boo THEN + tpl := vlist[i]; + boo := TRUE; + ELSE + tp2 := vlist[i]; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT l := 1 TO SIZEOF( tpl ) BY 1; + tpl[j] := tpl[j] + tp2[j]; + END_REPEAT; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_it : IF good_t( v1, 'INTEGER' ) AND good_t( v2, 'INTEGER' ) THEN + tpl := v1; + tp2 := v2; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := tpl[i] - tp2[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_scalar_mult_it : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND good_t( v2, 'INTEGER' ) THEN + j := v1; + tpl := v2; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := j * tpl[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_dot_prod_it : IF good_t( v1, 'INTEGER' ) AND good_t( v2, 'INTEGER' ) THEN + tpl := v1; + tp2 := v2; + j := 0; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + j := j + ( tpl[i] * tp2[i] ); + END_REPEAT; + RETURN( ctmv( j ) ); + END_IF; + ef_sum_rt : IF good_t( v1, 'REAL' ) THEN + tpl := v1; + r := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r + tpl[i]; + END_REPEAT; + RETURN( ctmv( r ) ); + END_IF; + ef_product_rt : IF good_t( v1, 'REAL' ) THEN + tpl := v1; + r := 1; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r * tpl[i]; + END_REPEAT; + RETURN( ctmv( r ) ); + END_IF; + ef_add_rt : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF good_t( vlist[i], 'REAL' ) THEN + IF NOT boo THEN + tpl := vlist[i]; + boo := TRUE; + ELSE + tp2 := vlist[i]; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT l := 1 TO SIZEOF( tpl ) BY 1; + tpl[j] := tpl[j] + tp2[j]; + END_REPEAT; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_rt : IF good_t( v1, 'REAL' ) AND good_t( v2, 'REAL' ) THEN + tpl := v1; + tp2 := v2; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := tpl[i] - tp2[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_scalar_mult_rt : IF ( 'REAL' IN TYPEOF( v1 ) ) AND good_t( v2, 'REAL' ) THEN + r := v1; + tpl := v2; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := r * tpl[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_dot_prod_rt : IF good_t( v1, 'REAL' ) AND good_t( v2, 'REAL' ) THEN + tpl := v1; + tp2 := v2; + r := 0; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r + ( tpl[i] * tp2[i] ); + END_REPEAT; + RETURN( ctmv( r ) ); + END_IF; + ef_norm_rt : IF good_t( v1, 'REAL' ) THEN + tpl := v1; + r := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r + ( tpl[i] * tpl[i] ); + END_REPEAT; + RETURN( ctmv( SQRT( r ) ) ); + END_IF; + ef_sum_ct : IF good_t( v1, cnlit ) THEN + tpl := v1; + p := 0; + q := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], r, s ); + p := p + r; + q := q + s; + END_REPEAT; + RETURN( makec( p, q ) ); + END_IF; + ef_product_ct : IF good_t( v1, cnlit ) THEN + tpl := v1; + p := 1; + q := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], r, s ); + p := ( p * r ) - ( q * s ); + q := ( p * s ) + ( q * r ); + END_REPEAT; + RETURN( makec( p, q ) ); + END_IF; + ef_add_ct : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF good_t( vlist[i], cnlit ) THEN + IF NOT boo THEN + tpl := vlist[i]; + boo := TRUE; + ELSE + tp2 := vlist[i]; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT l := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[j], p, q ); + parts( tp2[j], r, s ); + tpl[j] := makec( p + r, q + s ); + END_REPEAT; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_ct : IF good_t( v1, cnlit ) AND good_t( v2, cnlit ) THEN + tpl := v1; + tp2 := v2; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], p, q ); + parts( tp2[i], r, s ); + tpl[i] := makec( p - r, q - s ); + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_scalar_mult_ct : IF ( cnlit IN TYPEOF( v1 ) ) AND good_t( v2, cnlit ) THEN + parts( v1, p, q ); + tpl := v2; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], r, s ); + tpl[i] := makec( ( p * r ) - ( q * s ), ( p * s ) + ( q * r ) ); + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_dot_prod_ct : IF good_t( v1, cnlit ) AND good_t( v2, cnlit ) THEN + tpl := v1; + tp2 := v2; + t := 0; + u := 0; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], p, q ); + parts( tp2[i], r, s ); + t := t + ( p * r ) + ( q * s ); + u := ( u + ( q * r ) ) - ( p * s ); + END_REPEAT; + RETURN( makec( t, u ) ); + END_IF; + ef_norm_ct : IF good_t( v1, cnlit ) THEN + tpl := v1; + r := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], p, q ); + r := r + ( p * p ) + ( q * q ); + END_REPEAT; + RETURN( ctmv( SQRT( r ) ) ); + END_IF; + ef_if : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_i : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_r : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_c : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_s : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_b : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_t : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_ensemble : RETURN( make_finite_space( mem + vlist ) ); + ef_member_of : IF ( schema_prefix + 'MATHS_SPACE' ) IN TYPEOF( v2 ) THEN + lgc := member_of( v1, v2 ); + IF lgc <> UNKNOWN THEN + RETURN( ctmv( lgc ) ); + END_IF; + END_IF; + END_CASE; + RETURN( make_function_application( expr.func, vlist ) ); + END_IF; + IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN types THEN + gexpr := substitute( expr.func\abstracted_expression_function.expr, expr.func\quantifier_expression.variables, vlist ); + RETURN( simplify_generic_expression( gexpr ) ); + END_IF; + IF 'FINITE_FUNCTION' IN types THEN + pairs := expr.func\finite_function.pairs; + REPEAT i := 1 TO SIZEOF( pairs ) BY 1; + IF equal_maths_values( vlist[1], pairs[i][1] ) THEN + RETURN( simplify_maths_value( pairs[i][2] ) ); + END_IF; + END_REPEAT; + RETURN( make_function_application( expr.func, vlist ) ); + END_IF; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION simplify_generic_expression( + expr : generic_expression + ) : maths_value; + + FUNCTION make_number_literal( + nmb : NUMBER + ) : generic_literal; + IF 'INTEGER' IN TYPEOF( nmb ) THEN + RETURN( make_int_literal( nmb ) ); + END_IF; + RETURN( make_real_literal( nmb ) ); + + END_FUNCTION; + + FUNCTION restore_binary( + expr : binary_generic_expression; + opd1, opd2 : generic_expression + ) : generic_expression; + expr.operands[1] := opd1; + expr.operands[2] := opd2; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION restore_mulary( + expr : multiple_arity_generic_expression; + ops : LIST OF generic_expression + ) : generic_expression; + expr.operands := ops; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION restore_unary( + expr : unary_generic_expression; + opnd : generic_expression + ) : generic_expression; + expr.operand := opnd; + RETURN( expr ); + + END_FUNCTION; + + LOCAL + types : SET OF STRING := stripped_typeof( expr ); + v1 : maths_value; + v2 : maths_value; + vlist : LIST OF maths_value := []; + op1 : generic_expression; + op2 : generic_expression; + oplist : LIST OF generic_expression := []; + opnds : LIST [2 : ?] OF generic_expression; + n : INTEGER; + m : INTEGER; + finfun : maths_function_select; + boo : BOOLEAN; + str : STRING; + nmb : NUMBER; + END_LOCAL; + IF 'INT_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\int_literal.the_value ) ); + END_IF; + IF 'REAL_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\real_literal.the_value ) ); + END_IF; + IF 'BOOLEAN_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\boolean_literal.the_value ) ); + END_IF; + IF 'STRING_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\string_literal.the_value ) ); + END_IF; + IF 'COMPLEX_NUMBER_LITERAL' IN types THEN + RETURN( expr ); + END_IF; + IF 'LOGICAL_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\logical_literal.lit_value ) ); + END_IF; + IF 'BINARY_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\binary_literal.lit_value ) ); + END_IF; + IF 'MATHS_ENUM_LITERAL' IN types THEN + RETURN( expr\maths_enum_literal.lit_value ); + END_IF; + IF 'REAL_TUPLE_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\real_tuple_literal.lit_value ) ); + END_IF; + IF 'INTEGER_TUPLE_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\integer_tuple_literal.lit_value ) ); + END_IF; + IF 'ATOM_BASED_LITERAL' IN types THEN + RETURN( expr\atom_based_literal.lit_value ); + END_IF; + IF 'MATHS_TUPLE_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\maths_tuple_literal.lit_value ) ); + END_IF; + IF 'MATHS_SPACE' IN types THEN + RETURN( simplify_maths_space( expr ) ); + END_IF; + IF 'FUNCTION_APPLICATION' IN types THEN + RETURN( simplify_function_application( expr ) ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN types THEN + v1 := simplify_generic_expression( expr\unary_generic_expression.operand ); + op1 := convert_to_operand( v1 ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN types THEN + v1 := simplify_generic_expression( expr\binary_generic_expression.operands[1] ); + op1 := convert_to_operand( v1 ); + v2 := simplify_generic_expression( expr\binary_generic_expression.operands[2] ); + op2 := convert_to_operand( v2 ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN + opnds := expr\multiple_arity_generic_expression.operands; + REPEAT i := 1 TO SIZEOF( opnds ) BY 1; + v1 := simplify_generic_expression( opnds[i] ); + INSERT( vlist, v1, i - 1 ); + INSERT( oplist, convert_to_operand( v1 ), i - 1 ); + END_REPEAT; + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN + v1 := vlist[1]; + n := SIZEOF( vlist ); + finfun := vlist[n]; + REMOVE( vlist, n ); + REMOVE( vlist, 1 ); + RETURN( make_parallel_composed_function( v1, vlist, finfun ) ); + END_IF; + IF ( 'ABS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ABS( v1 ) ) ); + END_IF; + IF ( 'ACOS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ACOS( v1 ) ) ); + END_IF; + IF 'AND_EXPRESSION' IN types THEN + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'BOOLEAN' IN TYPEOF( vlist[i] ) THEN + boo := vlist[i]; + IF NOT boo THEN + RETURN( convert_to_maths_value( FALSE ) ); + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( TRUE ) ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'ASIN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ASIN( v1 ) ) ); + END_IF; + IF ( 'ATAN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( ATAN( v1, v2 ) ) ); + END_IF; + IF ( 'COMPARISON_EXPRESSION' IN types ) AND ( ( ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) ) OR ( ( 'STRING' + IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) ) OR ( ( 'BOOLEAN' IN TYPEOF( v1 ) ) AND ( 'BOOLEAN' IN TYPEOF( v2 ) ) ) ) + THEN + IF 'COMPARISON_EQUAL' IN types THEN + boo := bool( v1 = v2 ); + ELSE + IF 'COMPARISON_GREATER' IN types THEN + boo := bool( v1 > v2 ); + ELSE + IF 'COMPARISON_GREATER_EQUAL' IN types THEN + boo := bool( v1 >= v2 ); + ELSE + IF 'COMPARISON_LESS' IN types THEN + boo := bool( v1 < v2 ); + ELSE + IF 'COMPARISON_LESS_EQUAL' IN types THEN + boo := bool( v1 <= v2 ); + ELSE + IF 'COMPARISON_NOT_EQUAL' IN types THEN + boo := bool( v1 <> v2 ); + ELSE + IF 'LIKE_EXPRESSION' IN types THEN + boo := bool( v1 LIKE v2 ); + ELSE + RETURN( ? ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( convert_to_maths_value( boo ) ); + END_IF; + IF 'CONCAT_EXPRESSION' IN types THEN + str := ''; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'STRING' IN TYPEOF( vlist[i] ) THEN + str := vlist[i] + str; + REMOVE( oplist, i ); + ELSE + IF LENGTH( str ) > 0 THEN + INSERT( oplist, make_string_literal( str ), i ); + str := ''; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( str ) ); + END_IF; + IF LENGTH( str ) > 0 THEN + INSERT( oplist, make_string_literal( str ), 0 ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'COS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( COS( v1 ) ) ); + END_IF; + IF ( 'DIV_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 DIV v2 ) ); + END_IF; + IF 'EQUALS_EXPRESSION' IN types THEN + opnds := expr\binary_generic_expression.operands; + RETURN( convert_to_maths_value( opnds[1] :=: opnds[2] ) ); + END_IF; + IF ( 'EXP_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( EXP( v1 ) ) ); + END_IF; + IF ( 'FORMAT_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( FORMAT( v1, v2 ) ) ); + END_IF; + IF ( 'INDEX_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + str := v1; + n := v2; + RETURN( convert_to_maths_value( str[n] ) ); + END_IF; + IF ( 'INT_VALUE_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( VALUE( v1 ) ) ); + END_IF; + IF 'INTERVAL_EXPRESSION' IN types THEN + str := ''; + IF 'NUMBER' IN TYPEOF( vlist[1] ) THEN + str := 'NUMBER'; + END_IF; + IF 'STRING' IN TYPEOF( vlist[1] ) THEN + str := 'STRING'; + END_IF; + IF 'BOOLEAN' IN TYPEOF( vlist[1] ) THEN + str := 'BOOLEAN'; + END_IF; + IF ( LENGTH( str ) > 0 ) AND ( str IN TYPEOF( vlist[2] ) ) AND ( str IN TYPEOF( vlist[3] ) ) THEN + RETURN( convert_to_maths_value( ( vlist[1] <= vlist[2] ) AND ( vlist[2] <= vlist[3] ) ) ); + END_IF; + END_IF; + IF ( 'LENGTH_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LENGTH( v1 ) ) ); + END_IF; + IF ( 'LOG_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LOG( v1 ) ) ); + END_IF; + IF ( 'LOG10_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LOG10( v1 ) ) ); + END_IF; + IF ( 'LOG2_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LOG2( v1 ) ) ); + END_IF; + IF 'MAXIMUM_EXPRESSION' IN types THEN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + IF nmb < vlist[i] THEN + nmb := vlist[i]; + END_IF; + ELSE + nmb := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF boo THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + END_IF; + IF 'MINIMUM_EXPRESSION' IN types THEN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + IF nmb > vlist[i] THEN + nmb := vlist[i]; + END_IF; + ELSE + nmb := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF boo THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + END_IF; + IF ( 'MINUS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 - v2 ) ); + END_IF; + IF ( 'MOD_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 MOD v2 ) ); + END_IF; + IF 'MULT_EXPRESSION' IN types THEN + nmb := 1; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + nmb := nmb * vlist[i]; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF nmb <> 1 THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'NOT_EXPRESSION' IN types ) AND ( 'BOOLEAN' IN TYPEOF( v1 ) ) THEN + boo := v1; + RETURN( convert_to_maths_value( NOT boo ) ); + END_IF; + IF ( 'ODD_EXPRESSION' IN types ) AND ( 'INTEGER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ODD( v1 ) ) ); + END_IF; + IF 'OR_EXPRESSION' IN types THEN + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'BOOLEAN' IN TYPEOF( vlist[i] ) THEN + boo := vlist[i]; + IF boo THEN + RETURN( convert_to_maths_value( TRUE ) ); + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( FALSE ) ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF 'PLUS_EXPRESSION' IN types THEN + nmb := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + nmb := nmb + vlist[i]; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF nmb <> 0 THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'POWER_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 ** v2 ) ); + END_IF; + IF ( 'SIN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( SIN( v1 ) ) ); + END_IF; + IF ( 'SLASH_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 / v2 ) ); + END_IF; + IF ( 'SQUARE_ROOT_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( SQRT( v1 ) ) ); + END_IF; + IF ( 'SUBSTRING_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( vlist[1] ) ) AND ( 'NUMBER' IN TYPEOF( vlist[2] ) ) AND ( + 'NUMBER' IN TYPEOF( vlist[3] ) ) THEN + str := vlist[1]; + n := vlist[2]; + m := vlist[3]; + RETURN( convert_to_maths_value( str[n : m] ) ); + END_IF; + IF ( 'TAN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( TAN( v1 ) ) ); + END_IF; + IF ( 'UNARY_MINUS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + nmb := v1; + RETURN( convert_to_maths_value( -nmb ) ); + END_IF; + IF ( 'VALUE_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( VALUE( v1 ) ) ); + END_IF; + IF ( 'XOR_EXPRESSION' IN types ) AND ( 'BOOLEAN' IN TYPEOF( v1 ) ) AND ( 'BOOLEAN' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 XOR v2 ) ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN types THEN + RETURN( restore_unary( expr, op1 ) ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN types THEN + RETURN( restore_binary( expr, op1, op2 ) ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN + RETURN( restore_mulary( expr, oplist ) ); + END_IF; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION simplify_maths_space( + spc : maths_space + ) : maths_space; + + LOCAL + stypes : SET OF STRING := stripped_typeof( spc ); + sset : SET OF maths_value; + zset : SET OF maths_value := []; + zval : maths_value; + zspc : maths_space; + zallint : BOOLEAN := TRUE; + zint : INTEGER; + zmin : INTEGER; + zmax : INTEGER; + factors : LIST OF maths_space; + zfactors : LIST OF maths_space := []; + rspc : maths_space; + END_LOCAL; + IF 'FINITE_SPACE' IN stypes THEN + sset := spc\finite_space.members; + REPEAT i := 1 TO SIZEOF( sset ) BY 1; + zval := simplify_maths_value( sset[i] ); + zset := zset + [zval]; + IF zallint AND ( 'INTEGER' IN TYPEOF( zval ) ) THEN + zint := zval; + IF i = 1 THEN + zmin := zint; + zmax := zint; + ELSE + IF zint < zmin THEN + zmin := zint; + END_IF; + IF zint > zmax THEN + zmax := zint; + END_IF; + END_IF; + ELSE + zallint := FALSE; + END_IF; + END_REPEAT; + IF zallint AND ( SIZEOF( zset ) = ( ( zmax - zmin ) + 1 ) ) THEN + RETURN( make_finite_integer_interval( zmin, zmax ) ); + END_IF; + RETURN( make_finite_space( zset ) ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN + zspc := simplify_maths_space( spc\uniform_product_space.base ); + RETURN( make_uniform_product_space( zspc, spc\uniform_product_space.exponent ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN stypes THEN + factors := spc\listed_product_space.factors; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + INSERT( zfactors, simplify_maths_space( factors[i] ), i - 1 ); + END_REPEAT; + RETURN( make_listed_product_space( zfactors ) ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN + zspc := simplify_maths_space( spc\extended_tuple_space.base ); + rspc := simplify_maths_space( spc\extended_tuple_space.extender ); + RETURN( make_extended_tuple_space( zspc, rspc ) ); + END_IF; + IF 'FUNCTION_SPACE' IN stypes THEN + zspc := simplify_maths_space( spc\function_space.domain_argument ); + rspc := simplify_maths_space( spc\function_space.range_argument ); + RETURN( make_function_space( spc\function_space.domain_constraint, zspc, spc\function_space.range_constraint, rspc ) ); + END_IF; + RETURN( spc ); + + END_FUNCTION; + + FUNCTION simplify_maths_value( + val : maths_value + ) : maths_value; + + LOCAL + vtypes : SET OF STRING := stripped_typeof( val ); + vlist : LIST OF maths_value; + nlist : LIST OF maths_value := []; + END_LOCAL; + IF 'GENERIC_EXPRESSION' IN vtypes THEN + RETURN( simplify_generic_expression( val ) ); + END_IF; + IF 'LIST' IN vtypes THEN + vlist := val; + REPEAT i := 1 TO SIZEOF( vlist ) BY 1; + INSERT( nlist, simplify_maths_value( vlist[i] ), i - 1 ); + END_REPEAT; + RETURN( convert_to_maths_value( nlist ) ); + END_IF; + RETURN( val ); + + END_FUNCTION; + + FUNCTION singleton_member_of( + spc : maths_space + ) : maths_value; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + END_LOCAL; + IF 'FINITE_SPACE' IN types THEN + IF SIZEOF( spc\finite_space.members ) = 1 THEN + RETURN( spc\finite_space.members[1] ); + END_IF; + RETURN( ? ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN types THEN + IF spc\finite_integer_interval.size = 1 THEN + RETURN( spc\finite_integer_interval.min ); + END_IF; + RETURN( ? ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION sort_link_associations( + aprr : SET [1 : ?] OF pair_representation_relationship; + one_not_two : BOOLEAN + ) : SET OF kinematic_link_representation; + + LOCAL + result : SET OF kinematic_link_representation := []; + END_LOCAL; + IF one_not_two THEN + REPEAT i := 1 TO HIINDEX( aprr ) BY 1; + result := result + aprr[i].rep_1; + END_REPEAT; + ELSE + REPEAT i := 1 TO HIINDEX( aprr ) BY 1; + result := result + aprr[i].rep_2; + END_REPEAT; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION space_dimension( + tspace : tuple_space + ) : nonnegative_integer; + + LOCAL + types : SET OF STRING := TYPEOF( tspace ); + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN types THEN + RETURN( tspace\uniform_product_space.exponent ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN types THEN + RETURN( SIZEOF( tspace\listed_product_space.factors ) ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN types THEN + RETURN( space_dimension( tspace\extended_tuple_space.base ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION space_is_continuum( + space : maths_space + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := TYPEOF( space ); + factors : LIST OF maths_space; + END_LOCAL; + IF NOT EXISTS( space ) THEN + RETURN( FALSE ); + END_IF; + IF subspace_of_es( space, es_reals ) OR subspace_of_es( space, es_complex_numbers ) THEN + RETURN( TRUE ); + END_IF; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN typenames THEN + RETURN( space_is_continuum( space\uniform_product_space.base ) ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN typenames THEN + factors := space\listed_product_space.factors; + IF SIZEOF( factors ) = 0 THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + IF NOT space_is_continuum( factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION space_is_singleton( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + END_LOCAL; + IF 'FINITE_SPACE' IN types THEN + RETURN( bool( SIZEOF( spc\finite_space.members ) = 1 ) ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN types THEN + RETURN( bool( spc\finite_integer_interval.size = 1 ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION stripped_typeof( + arg : GENERIC:g + ) : SET OF STRING; + + LOCAL + types : SET OF STRING := TYPEOF( arg ); + stypes : SET OF STRING := []; + n : INTEGER := LENGTH( schema_prefix ); + END_LOCAL; + REPEAT i := 1 TO SIZEOF( types ) BY 1; + IF types[i][1 : n] = schema_prefix THEN + stypes := stypes + types[i][n + 1 : LENGTH( types[i] )]; + ELSE + stypes := stypes + types[i]; + END_IF; + END_REPEAT; + RETURN( stypes ); + + END_FUNCTION; + + FUNCTION sts_get_general_datum_reference( + input : datum_reference_element + ) : general_datum_reference; + + LOCAL + general_datum_reference_bag : BAG OF general_datum_reference := USEDIN( input, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'GENERAL_DATUM_REFERENCE.' + 'BASE' ); + END_LOCAL; + IF SIZEOF( general_datum_reference_bag ) = 1 THEN + RETURN( general_datum_reference_bag[1] ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION sts_get_product_definition_shape( + input : geometric_tolerance_target + ) : product_definition_shape; + CASE TRUE OF + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSIONAL_LOCATION' IN TYPEOF( input ) : RETURN + ( input\shape_aspect_relationship.relating_shape_aspect\shape_aspect.of_shape ); + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSIONAL_SIZE' IN TYPEOF( input ) : RETURN( + input\dimensional_size.applies_to\shape_aspect.of_shape ); + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( input ) : RETURN + ( input ); + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( input ) : RETURN( + input\shape_aspect.of_shape ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION subspace_of( + space1, space2 : maths_space + ) : LOGICAL; + + LOCAL + spc1 : maths_space := simplify_maths_space( space1 ); + spc2 : maths_space := simplify_maths_space( space2 ); + types1 : SET OF STRING := stripped_typeof( spc1 ); + types2 : SET OF STRING := stripped_typeof( spc2 ); + lgcl : LOGICAL; + cum : LOGICAL; + es_val : elementary_space_enumerators; + bnd1 : REAL; + bnd2 : REAL; + n : INTEGER; + sp1 : maths_space; + sp2 : maths_space; + prgn1 : polar_complex_number_region; + prgn2 : polar_complex_number_region; + aitv : finite_real_interval; + END_LOCAL; + IF ( NOT EXISTS( spc1 ) ) OR ( NOT EXISTS( spc2 ) ) THEN + RETURN( FALSE ); + END_IF; + IF spc2 = the_generics THEN + RETURN( TRUE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types1 THEN + IF NOT ( 'ELEMENTARY_SPACE' IN types2 ) THEN + RETURN( FALSE ); + END_IF; + es_val := spc2\elementary_space.space_id; + IF spc1\elementary_space.space_id = es_val THEN + RETURN( TRUE ); + END_IF; + CASE spc1\elementary_space.space_id OF + es_numbers : RETURN( FALSE ); + es_complex_numbers : RETURN( es_val = es_numbers ); + es_reals : RETURN( es_val = es_numbers ); + es_integers : RETURN( es_val = es_numbers ); + es_logicals : RETURN( FALSE ); + es_booleans : RETURN( es_val = es_logicals ); + es_strings : RETURN( FALSE ); + es_binarys : RETURN( FALSE ); + es_maths_spaces : RETURN( FALSE ); + es_maths_functions : RETURN( FALSE ); + es_generics : RETURN( FALSE ); + END_CASE; + RETURN( UNKNOWN ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN types1 THEN + cum := TRUE; + REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max BY 1; + cum := cum AND member_of( i, spc2 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'INTEGER_INTERVAL_FROM_MIN' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_integers ) ); + END_IF; + IF 'INTEGER_INTERVAL_FROM_MIN' IN types2 THEN + RETURN( spc1\integer_interval_from_min.min >= spc2\integer_interval_from_min.min ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'INTEGER_INTERVAL_TO_MAX' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_integers ) ); + END_IF; + IF 'INTEGER_INTERVAL_TO_MAX' IN types2 THEN + RETURN( spc1\integer_interval_to_max.max <= spc2\integer_interval_to_max.max ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_REAL_INTERVAL' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_reals ) ); + END_IF; + IF ( 'FINITE_REAL_INTERVAL' IN types2 ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types2 ) OR ( 'REAL_INTERVAL_TO_MAX' IN types2 ) + THEN + IF min_exists( spc2 ) THEN + bnd1 := spc1\finite_real_interval.min; + bnd2 := real_min( spc2 ); + IF ( bnd1 < bnd2 ) OR ( ( bnd1 = bnd2 ) AND min_included( spc1 ) AND ( NOT min_included( spc2 ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF max_exists( spc2 ) THEN + bnd1 := spc1\finite_real_interval.max; + bnd2 := real_max( spc2 ); + IF ( bnd1 > bnd2 ) OR ( ( bnd1 = bnd2 ) AND max_included( spc1 ) AND ( NOT max_included( spc2 ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_FROM_MIN' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_reals ) ); + END_IF; + IF 'REAL_INTERVAL_FROM_MIN' IN types2 THEN + bnd1 := spc1\real_interval_from_min.min; + bnd2 := spc2\real_interval_from_min.min; + RETURN( ( bnd2 < bnd1 ) OR ( ( bnd2 = bnd1 ) AND ( min_included( spc2 ) OR ( NOT min_included( spc1 ) ) ) ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_TO_MAX' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_reals ) ); + END_IF; + IF 'REAL_INTERVAL_TO_MAX' IN types2 THEN + bnd1 := spc1\real_interval_to_max.max; + bnd2 := spc2\real_interval_to_max.max; + RETURN( ( bnd2 > bnd1 ) OR ( ( bnd2 = bnd1 ) AND ( max_included( spc2 ) OR ( NOT max_included( spc1 ) ) ) ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_complex_numbers ) ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN + RETURN( subspace_of( spc1\cartesian_complex_number_region.real_constraint, spc2\cartesian_complex_number_region. + real_constraint ) AND subspace_of( spc1\cartesian_complex_number_region.imag_constraint, spc2\ + cartesian_complex_number_region.imag_constraint ) ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN + RETURN( subspace_of( enclose_cregion_in_pregion( spc1, spc2\polar_complex_number_region.centre ), spc2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_complex_numbers ) ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN + RETURN( subspace_of( enclose_pregion_in_cregion( spc1 ), spc2 ) ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN + prgn1 := spc1; + prgn2 := spc2; + IF prgn1.centre = prgn2.centre THEN + IF prgn2.direction_constraint.max > PI THEN + aitv := make_finite_real_interval( -PI, open, prgn2.direction_constraint.max - ( 2 * PI ), prgn2.direction_constraint + .max_closure ); + RETURN( subspace_of( prgn1.distance_constraint, prgn2.distance_constraint ) AND ( subspace_of( prgn1. + direction_constraint, prgn2.direction_constraint ) OR subspace_of( prgn1.direction_constraint, aitv ) ) ); + ELSE + RETURN( subspace_of( prgn1.distance_constraint, prgn2.distance_constraint ) AND subspace_of( prgn1. + direction_constraint, prgn2.direction_constraint ) ); + END_IF; + END_IF; + RETURN( subspace_of( enclose_pregion_in_pregion( prgn1, prgn2.centre ), prgn2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_SPACE' IN types1 THEN + cum := TRUE; + REPEAT i := 1 TO SIZEOF( spc1\finite_space.members ) BY 1; + cum := cum AND member_of( spc1\finite_space.members[i], spc2 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'PRODUCT_SPACE' IN types1 THEN + IF 'PRODUCT_SPACE' IN types2 THEN + IF space_dimension( spc1 ) = space_dimension( spc2 ) THEN + cum := TRUE; + REPEAT i := 1 TO space_dimension( spc1 ) BY 1; + cum := cum AND subspace_of( factor_space( spc1, i ), factor_space( spc2, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + IF space_dimension( spc1 ) >= space_dimension( spc2 ) THEN + cum := TRUE; + REPEAT i := 1 TO space_dimension( spc1 ) BY 1; + cum := cum AND subspace_of( factor_space( spc1, i ), factor_space( spc2, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + n := space_dimension( spc1 ); + IF n < space_dimension( spc2 ) THEN + n := space_dimension( spc2 ); + END_IF; + cum := TRUE; + REPEAT i := 1 TO n + 1 BY 1; + cum := cum AND subspace_of( factor_space( spc1, i ), factor_space( spc2, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + RETURN( spc2\elementary_space.space_id = es_maths_functions ); + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + cum := TRUE; + sp1 := spc1\function_space.domain_argument; + sp2 := spc2\function_space.domain_argument; + CASE spc1\function_space.domain_constraint OF + sc_equal : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : cum := cum AND equal_maths_spaces( sp1, sp2 ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : cum := cum AND member_of( sp1, sp2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : RETURN( FALSE ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : + BEGIN + IF NOT member_of( sp1, sp2 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + END_CASE; + END; + sc_member : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : cum := cum AND space_is_singleton( sp1 ) AND equal_maths_spaces( + singleton_member_of( sp1 ), sp2 ); + sc_subspace : + BEGIN + IF NOT member_of( sp2, sp1 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + sc_member : cum := cum AND subspace_of( sp1, sp2 ); + END_CASE; + END; + END_CASE; + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + sp1 := spc1\function_space.range_argument; + sp2 := spc2\function_space.range_argument; + CASE spc1\function_space.range_constraint OF + sc_equal : + BEGIN + CASE spc2\function_space.range_constraint OF + sc_equal : cum := cum AND equal_maths_spaces( sp1, sp2 ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : cum := cum AND member_of( sp1, sp2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : RETURN( FALSE ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : + BEGIN + IF NOT member_of( sp1, sp2 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + END_CASE; + END; + sc_member : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : cum := cum AND space_is_singleton( sp1 ) AND equal_maths_spaces( + singleton_member_of( sp1 ), sp2 ); + sc_subspace : + BEGIN + IF NOT member_of( sp2, sp1 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + sc_member : cum := cum AND subspace_of( sp1, sp2 ); + END_CASE; + END; + END_CASE; + RETURN( cum ); + END_IF; + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION subspace_of_es( + spc : maths_space; + es : elementary_space_enumerators + ) : LOGICAL; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + END_LOCAL; + IF ( NOT EXISTS( spc ) ) OR ( NOT EXISTS( es ) ) THEN + RETURN( FALSE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types THEN + RETURN( es_subspace_of_es( spc\elementary_space.space_id, es ) ); + END_IF; + IF 'FINITE_SPACE' IN types THEN + RETURN( all_members_of_es( spc\finite_space.members, es ) ); + END_IF; + CASE es OF + es_numbers : RETURN( ( 'FINITE_INTEGER_INTERVAL' IN types ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types ) OR + ( 'INTEGER_INTERVAL_TO_MAX' IN types ) OR ( 'FINITE_REAL_INTERVAL' IN types ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types ) + OR ( 'REAL_INTERVAL_TO_MAX' IN types ) OR ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types ) OR ( + 'POLAR_COMPLEX_NUMBER_REGION' IN types ) ); + es_complex_numbers : RETURN( ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types ) OR ( 'POLAR_COMPLEX_NUMBER_REGION' IN + types ) ); + es_reals : RETURN( ( 'FINITE_REAL_INTERVAL' IN types ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types ) OR ( + 'REAL_INTERVAL_TO_MAX' IN types ) ); + es_integers : RETURN( ( 'FINITE_INTEGER_INTERVAL' IN types ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types ) OR + ( 'INTEGER_INTERVAL_TO_MAX' IN types ) ); + es_logicals : RETURN( FALSE ); + es_booleans : RETURN( FALSE ); + es_strings : RETURN( FALSE ); + es_binarys : RETURN( FALSE ); + es_maths_spaces : RETURN( FALSE ); + es_maths_functions : RETURN( 'FUNCTION_SPACE' IN types ); + es_generics : RETURN( TRUE ); + END_CASE; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION substitute( + expr : generic_expression; + vars : LIST [1 : ?] OF generic_variable; + vals : LIST [1 : ?] OF maths_value + ) : generic_expression; + + LOCAL + types : SET OF STRING := stripped_typeof( expr ); + opnds : LIST OF generic_expression; + op1 : generic_expression; + op2 : generic_expression; + qvars : LIST OF generic_variable; + srcdom : maths_space_or_function; + prpfun : LIST [1 : ?] OF maths_function; + finfun : maths_function_select; + END_LOCAL; + IF SIZEOF( vars ) <> SIZEOF( vals ) THEN + RETURN( ? ); + END_IF; + IF 'GENERIC_LITERAL' IN types THEN + RETURN( expr ); + END_IF; + IF 'GENERIC_VARIABLE' IN types THEN + REPEAT i := 1 TO SIZEOF( vars ) BY 1; + IF expr :=: vars[i] THEN + RETURN( vals[i] ); + END_IF; + END_REPEAT; + RETURN( expr ); + END_IF; + IF 'QUANTIFIER_EXPRESSION' IN types THEN + qvars := expr\quantifier_expression.variables; + REPEAT i := SIZEOF( vars ) TO 1 BY -1; + IF vars[i] IN qvars THEN + REMOVE( vars, i ); + REMOVE( vals, i ); + END_IF; + END_REPEAT; + opnds := expr\multiple_arity_generic_expression.operands; + REPEAT i := 1 TO SIZEOF( opnds ) BY 1; + IF NOT ( opnds[i] IN qvars ) THEN + expr\multiple_arity_generic_expression.operands[i] := substitute( opnds[i], vars, vals ); + END_IF; + END_REPEAT; + RETURN( expr ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN types THEN + op1 := expr\unary_generic_expression.operand; + expr\unary_generic_expression.operand := substitute( op1, vars, vals ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN types THEN + op1 := expr\binary_generic_expression.operands[1]; + expr\binary_generic_expression.operands[1] := substitute( op1, vars, vals ); + op2 := expr\binary_generic_expression.operands[2]; + expr\binary_generic_expression.operands[2] := substitute( op2, vars, vals ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN + srcdom := expr\parallel_composed_function.source_of_domain; + prpfun := expr\parallel_composed_function.prep_functions; + finfun := expr\parallel_composed_function.final_function; + srcdom := substitute( srcdom, vars, vals ); + REPEAT i := 1 TO SIZEOF( prpfun ) BY 1; + prpfun[i] := substitute( prpfun[i], vars, vals ); + END_REPEAT; + IF 'MATHS_FUNCTION' IN stripped_typeof( finfun ) THEN + finfun := substitute( finfun, vars, vals ); + END_IF; + RETURN( make_parallel_composed_function( srcdom, prpfun, finfun ) ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN + opnds := expr\multiple_arity_generic_expression.operands; + REPEAT i := 1 TO SIZEOF( opnds ) BY 1; + expr\multiple_arity_generic_expression.operands[i] := substitute( opnds[i], vars, vals ); + END_REPEAT; + END_IF; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION surface_condition_correlation( + pd : property_definition; + rep : representation + ) : LOGICAL; + CASE pd.name OF + 'visual appearance' : RETURN( pd.name = rep.name ); + 'tactile appearance' : RETURN( pd.name = rep.name ); + 'contact ratio' : RETURN( pd.name = rep.name ); + 'hardness' : RETURN( pd.name = rep.name ); + 'treatment result' : RETURN( pd.name = rep.name ); + 'surface texture' : RETURN( pd.name = rep.name ); + OTHERWISE : RETURN( UNKNOWN ); + END_CASE; + + END_FUNCTION; + + FUNCTION surface_weights_positive( + b : rational_b_spline_surface + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 0 TO b.u_upper BY 1; + REPEAT j := 0 TO b.v_upper BY 1; + IF b.weights[i][j] <= 0 THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION topology_reversed( + an_item : reversible_topology + ) : reversible_topology; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE' IN TYPEOF( an_item ) THEN + RETURN( edge_reversed( an_item ) ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH' IN TYPEOF( an_item ) THEN + RETURN( path_reversed( an_item ) ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BOUND' IN TYPEOF( an_item ) THEN + RETURN( face_bound_reversed( an_item ) ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE' IN TYPEOF( an_item ) THEN + RETURN( face_reversed( an_item ) ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL' IN TYPEOF( an_item ) THEN + RETURN( shell_reversed( an_item ) ); + END_IF; + IF 'SET' IN TYPEOF( an_item ) THEN + RETURN( set_of_topology_reversed( an_item ) ); + END_IF; + IF 'LIST' IN TYPEOF( an_item ) THEN + RETURN( list_of_topology_reversed( an_item ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION type_check_function( + the_type : GENERIC; + sub_names : SET OF STRING; + criterion : INTEGER + ) : LOGICAL; + IF ( NOT EXISTS( the_type ) ) OR ( SIZEOF( sub_names ) = 0 ) THEN + RETURN( UNKNOWN ); + ELSE + CASE criterion OF + 0 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) > 0 ); + 1 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) = 0 ); + 2 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) = 1 ); + 3 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) <= 1 ); + OTHERWISE : RETURN( UNKNOWN ); + END_CASE; + END_IF; + + END_FUNCTION; + + FUNCTION unambiguously_specified_multi_level_reference_designator( + links : LIST [1 : ?] OF next_assembly_usage_occurrence + ) : BOOLEAN; + REPEAT i := 1 TO SIZEOF( links ) - 1 BY 1; + CASE TRUE OF + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( links[i]\ + product_definition_relationship.relating_product_definition ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( links[i]\ + product_definition_relationship.related_product_definition ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( links[i + 1]\ + product_definition_relationship.relating_product_definition ) ) : + BEGIN + IF NOT ( ( links[i]\product_definition_relationship.related_product_definition :=: links[i + 1]\ + product_definition_relationship.relating_product_definition ) OR ( ( SIZEOF( QUERY ( pdr <* USEDIN( links[i]\ + product_definition_relationship.related_product_definition, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + + 'RELATED_PRODUCT_DEFINITION' ) | ( pdr\product_definition_relationship.relating_product_definition :=: links[i + + 1]\product_definition_relationship.relating_product_definition ) ) ) = 1 ) AND ( links[i]\ + product_definition_relationship.related_product_definition\product_definition.formation\ + product_definition_formation.of_product :=: links[i + 1]\product_definition_relationship. + relating_product_definition\product_definition.formation\product_definition_formation.of_product ) ) ) THEN + RETURN( FALSE ); + END_IF; + END; + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF( links[i]\ + product_definition_relationship.related_product_definition ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF( links[i + + 1]\product_definition_relationship.relating_product_definition ) ) : + BEGIN + IF NOT ( ( links[i]\product_definition_relationship.related_product_definition :=: links[i + 1]\ + product_definition_relationship.relating_product_definition ) OR ( ( SIZEOF( QUERY ( pdr <* USEDIN( links[i]\ + product_definition_relationship.related_product_definition, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + + 'RELATED_PRODUCT_DEFINITION' ) | ( pdr\product_definition_relationship.relating_product_definition :=: links[i + + 1]\product_definition_relationship.relating_product_definition ) ) ) = 1 ) AND ( links[i]\ + product_definition_relationship.related_product_definition\product_definition_reference.product_id = links[i + 1]\ + product_definition_relationship.relating_product_definition\product_definition_reference.product_id ) AND ( links[ + i]\product_definition_relationship.related_product_definition\product_definition_reference. + id_owning_organization_name = links[i + 1]\product_definition_relationship.relating_product_definition\ + product_definition_reference.id_owning_organization_name ) AND ( links[i]\product_definition_relationship. + related_product_definition\product_definition_reference.product_definition_id <> links[i + 1]\ + product_definition_relationship.relating_product_definition\product_definition_reference.product_definition_id ) ) ) + THEN + RETURN( FALSE ); + END_IF; + END; + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF( links[i]\ + product_definition_relationship.relating_product_definition ) ) AND ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( links[i]\ + product_definition_relationship.related_product_definition ) ) : RETURN( FALSE ); + OTHERWISE : RETURN( FALSE ); + END_CASE; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION unique_in_product_definition( + item : representative_shape_representation + ) : BOOLEAN; + + LOCAL + local_p_d : SET OF product_definition := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + j : INTEGER; + END_LOCAL; + local_p_d := using_product_definition_of_shape_representation( item ); + IF SIZEOF( local_p_d ) <> 1 THEN + RETURN( FALSE ); + ELSE + REPEAT i := 1 TO HIINDEX( local_p_d ) BY 1; + local_s_r := find_shape_representation_of_product_definition( local_p_d[i] ); + REPEAT j := 1 TO HIINDEX( local_s_r ) BY 1; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN + TYPEOF( local_s_r[j] ) ) AND ( local_s_r[j] :<>: item ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION unique_in_shape_aspect( + item : representative_shape_representation + ) : BOOLEAN; + + LOCAL + local_s_a : SET OF shape_aspect := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + j : INTEGER; + END_LOCAL; + local_s_a := using_shape_aspect_of_shape_representation( item ); + IF SIZEOF( local_s_a ) <> 1 THEN + RETURN( FALSE ); + ELSE + REPEAT i := 1 TO HIINDEX( local_s_a ) BY 1; + local_s_r := find_shape_representation_of_shape_aspect( local_s_a[i] ); + REPEAT j := 1 TO HIINDEX( local_s_r ) BY 1; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN + TYPEOF( local_s_r[j] ) ) AND ( local_s_r[j] :<>: item ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION used_variables( + arg : generic_expression + ) : SET OF generic_variable; + + LOCAL + result : SET OF generic_variable := []; + END_LOCAL; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GENERIC_VARIABLE' IN TYPEOF( arg ) THEN + RETURN( [arg] ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNARY_GENERIC_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( used_variables( arg\unary_generic_expression.operand ) ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BINARY_GENERIC_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( used_variables( arg\binary_generic_expression.operands[1] ) + used_variables( arg\binary_generic_expression. + operands[2] ) ); + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' IN TYPEOF( arg ) + THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_generic_expression.operands ) BY 1; + result := result + used_variables( arg\multiple_arity_generic_expression.operands[i] ); + END_REPEAT; + RETURN( result ); + END_IF; + RETURN( [] ); + + END_FUNCTION; + + FUNCTION using_items( + item : founded_item_select; + checked_items : SET OF founded_item_select + ) : SET OF founded_item_select; + + LOCAL + new_check_items : SET OF founded_item_select; + result_items : SET OF founded_item_select; + next_items : SET OF founded_item_select; + END_LOCAL; + result_items := []; + new_check_items := checked_items + item; + next_items := QUERY ( z <* bag_to_set( USEDIN( item, '' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF( z ) ) OR ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FOUNDED_ITEM' IN TYPEOF( z ) ) ) ); + IF SIZEOF( next_items ) > 0 THEN + REPEAT i := 1 TO HIINDEX( next_items ) BY 1; + IF NOT ( next_items[i] IN new_check_items ) THEN + result_items := result_items + next_items[i] + using_items( next_items[i], new_check_items ); + END_IF; + END_REPEAT; + END_IF; + RETURN( result_items ); + + END_FUNCTION; + + FUNCTION using_product_definition_of_shape_aspect( + item : shape_aspect + ) : product_definition; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( item.of_shape. + definition ) THEN + RETURN( item.of_shape.definition ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION using_product_definition_of_shape_representation( + item : shape_representation + ) : SET OF product_definition; + + LOCAL + local_s_d_r : SET OF shape_definition_representation := []; + local_p_d : SET OF product_definition := []; + i : INTEGER; + END_LOCAL; + local_s_d_r := QUERY ( i1 <* bag_to_set( USEDIN( item, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DEFINITION_REPRESENTATION' ) IN TYPEOF( + i1 ) ) ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION' IN TYPEOF( local_s_d_r[i]\ + property_definition_representation.definition ) THEN + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( local_s_d_r[i]\ + property_definition_representation.definition\property_definition.definition ) THEN + local_p_d := local_p_d + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; + END_IF; + END_IF; + END_REPEAT; + RETURN( local_p_d ); + + END_FUNCTION; + + FUNCTION using_representation_with_mapping( + item : representation_item + ) : SET OF representation; + + LOCAL + results : SET OF representation := []; + local_results : SET OF representation := []; + local_representation_map : SET OF representation_map := []; + intermediate_items : SET OF representation_item := []; + i : INTEGER; + j : INTEGER; + END_LOCAL; + local_results := QUERY ( z <* using_representations( item ) | ( SIZEOF( USEDIN( z, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_MAP.' + 'MAPPED_REPRESENTATION' ) ) > + 0 ) ); + IF SIZEOF( local_results ) = 0 THEN + RETURN( [] ); + ELSE + REPEAT i := 1 TO HIINDEX( local_results ) BY 1; + local_representation_map := local_representation_map + bag_to_set( USEDIN( local_results[i], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( local_representation_map ) BY 1; + intermediate_items := intermediate_items + bag_to_set( USEDIN( local_representation_map[i], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE' ) ); + END_REPEAT; + REPEAT j := 1 TO HIINDEX( intermediate_items ) BY 1; + results := results + bag_to_set( using_representation_with_mapping( intermediate_items[j] ) ); + END_REPEAT; + END_IF; + RETURN( results ); + + END_FUNCTION; + + FUNCTION using_representations( + item : founded_item_select + ) : SET OF representation; + + LOCAL + results : SET OF representation; + result_bag : BAG OF representation; + intermediate_items : SET OF founded_item_select; + END_LOCAL; + results := []; + result_bag := USEDIN( item, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS' ); + IF SIZEOF( result_bag ) > 0 THEN + REPEAT i := 1 TO HIINDEX( result_bag ) BY 1; + results := results + result_bag[i]; + END_REPEAT; + END_IF; + intermediate_items := using_items( item, [] ); + IF SIZEOF( intermediate_items ) > 0 THEN + REPEAT i := 1 TO HIINDEX( intermediate_items ) BY 1; + result_bag := USEDIN( intermediate_items[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'REPRESENTATION.ITEMS' ); + IF SIZEOF( result_bag ) > 0 THEN + REPEAT j := 1 TO HIINDEX( result_bag ) BY 1; + results := results + result_bag[j]; + END_REPEAT; + END_IF; + END_REPEAT; + END_IF; + RETURN( results ); + + END_FUNCTION; + + FUNCTION using_shape_aspect_of_shape_representation( + item : shape_representation + ) : SET OF shape_aspect; + + LOCAL + local_s_d_r : SET OF shape_definition_representation := []; + local_s_d_r2 : BAG OF shape_definition_representation := []; + local_s_a : SET OF shape_aspect := []; + i : INTEGER; + END_LOCAL; + local_s_d_r2 := local_s_d_r2 + QUERY ( pdr <* USEDIN( item, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + local_s_d_r := bag_to_set( local_s_d_r2 ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF( local_s_d_r[i]\ + property_definition_representation.definition\property_definition.definition ) THEN + local_s_a := local_s_a + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; + END_IF; + END_REPEAT; + RETURN( local_s_a ); + + END_FUNCTION; + + FUNCTION valid_2d_wireframe_edge_curve( + crv : curve; + schma : STRING + ) : BOOLEAN; + IF SIZEOF( [schma + '.LINE', schma + '.B_SPLINE_CURVE', schma + '.CIRCLE', schma + '.HYPERBOLA', schma + '.ELLIPSE', schma + + '.PARABOLA' , schma + '.POLYLINE'] * TYPEOF( crv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF ( schma + '.CURVE_REPLICA' ) IN TYPEOF( crv ) THEN + RETURN( valid_2d_wireframe_edge_curve( crv\curve_replica.parent_curve, schma ) ); + ELSE + IF ( schma + '.OFFSET_CURVE_2D' ) IN TYPEOF( crv ) THEN + RETURN( valid_2d_wireframe_edge_curve( crv\offset_curve_2d.basis_curve, schma ) ); + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_basis_curve_in_2d_wireframe( + crv : curve + ) : BOOLEAN; + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' ] * TYPEOF( crv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF( crv ) THEN + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARABOLA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HYPERBOLA' ] * TYPEOF( crv\trimmed_curve. + basis_curve ) ) = 1 THEN + RETURN( TRUE ); + ELSE + RETURN( valid_basis_curve_in_2d_wireframe( crv\trimmed_curve.basis_curve ) ); + END_IF; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_2D' IN TYPEOF( crv ) THEN + RETURN( valid_basis_curve_in_2d_wireframe( crv\offset_curve_2d.basis_curve ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( crv ) THEN + RETURN( valid_basis_curve_in_2d_wireframe( crv\curve_replica.parent_curve ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( crv ) THEN + RETURN( SIZEOF( QUERY ( ccs <* crv\composite_curve.segments | ( NOT valid_basis_curve_in_2d_wireframe( ccs. + parent_curve ) ) ) ) = 0 ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_calendar_date( + date : calendar_date + ) : LOGICAL; + CASE date.month_component OF + 1 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 2 : + BEGIN + IF leap_year( date.year_component ) THEN + RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 29 ) ); + ELSE + RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 28 ) ); + END_IF; + END; + 3 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 4 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 5 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 6 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 7 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 8 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 9 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 10 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 11 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 12 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + END_CASE; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_csg_2d_primitives( + input : csg_solid_2d + ) : BOOLEAN; + CASE TRUE OF + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D' IN TYPEOF( input\csg_solid_2d. + tree_root_expression ) : + BEGIN + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_AREA', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPLEX_AREA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPTIC_AREA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYGONAL_AREA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_AREA' ] * TYPEOF( input\ + csg_solid_2d.tree_root_expression ) ) > 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_RESULT_2D' IN TYPEOF( input\csg_solid_2d. + tree_root_expression ) : RETURN( valid_csg_2d_primitives( input\csg_solid_2d.tree_root_expression\ + boolean_result_2d.first_operand ) AND valid_csg_2d_primitives( input\csg_solid_2d.tree_root_expression\ + boolean_result_2d.second_operand ) ); + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HALF_SPACE_2D' IN TYPEOF( input\csg_solid_2d. + tree_root_expression ) : RETURN( TRUE ); + OTHERWISE : RETURN( FALSE ); + END_CASE; + + END_FUNCTION; + + FUNCTION valid_datum_target_parameters( + pdf : placed_datum_target_feature + ) : BOOLEAN; + + LOCAL + rep_set : SET OF representation := []; + parameter_representations : SET OF representation; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( pdf.representation_associations ) BY 1; + rep_set := rep_set + pdf.representation_associations[i].used_representation; + END_REPEAT; + parameter_representations := QUERY ( rep <* rep_set | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( rep ) ) ); + IF SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = 'orientation' ) AND + ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF( i ) ) ) ) ) = 1 ) ) ) <> 1 + THEN + RETURN( FALSE ); + END_IF; + CASE pdf\shape_aspect.description OF + 'point' : RETURN( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 1 ) ) ) = 1 ); + 'circle' : RETURN( ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 2 ) ) ) = 1 ) + AND ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = + 'target diameter' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) = 1 ) ); + 'circular curve' : RETURN( ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 2 ) ) ) = + 1 ) AND ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = + 'target diameter' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) = 1 ) ); + 'line' : RETURN( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( + ( i.name = 'target length' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) = 1 ); + 'rectangle' : RETURN( ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 3 ) ) ) = 1 ) + AND ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = + 'target length' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) = 1 ) AND ( SIZEOF( QUERY ( srwp <* + parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = 'target width' ) AND ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) + = 1 ) ) ) = 1 ) ); + OTHERWISE : RETURN( FALSE ); + END_CASE; + + END_FUNCTION; + + FUNCTION valid_geometrically_bounded_wf_curve( + crv : curve + ) : BOOLEAN; + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' ] * TYPEOF( crv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF( crv ) THEN + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARABOLA' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HYPERBOLA' ] * TYPEOF( crv\trimmed_curve. + basis_curve ) ) = 1 THEN + RETURN( TRUE ); + ELSE + RETURN( valid_geometrically_bounded_wf_curve( crv\trimmed_curve.basis_curve ) ); + END_IF; + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( crv ) THEN + RETURN( valid_geometrically_bounded_wf_curve( crv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( crv ) THEN + RETURN( valid_geometrically_bounded_wf_curve( crv\curve_replica.parent_curve ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( crv ) THEN + RETURN( SIZEOF( QUERY ( ccs <* crv\composite_curve.segments | ( NOT valid_geometrically_bounded_wf_curve( ccs. + parent_curve ) ) ) ) = 0 ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_geometrically_bounded_wf_point( + pnt : point + ) : BOOLEAN; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( pnt ) THEN + RETURN( TRUE ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' IN TYPEOF( pnt ) THEN + RETURN( valid_geometrically_bounded_wf_curve( pnt\point_on_curve.basis_curve ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF( pnt ) THEN + RETURN( valid_geometrically_bounded_wf_point( pnt\point_replica.parent_pt ) ); + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_measure_value( + m : measure_value + ) : BOOLEAN; + IF 'REAL' IN TYPEOF( m ) THEN + RETURN( m > 0 ); + ELSE + IF 'INTEGER' IN TYPEOF( m ) THEN + RETURN( m > 0 ); + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + + END_FUNCTION; + + FUNCTION valid_selected_instance_representation( + pd : product_definition_or_assembly_relationship + ) : LOGICAL; + + LOCAL + properties : SET OF property_definition := bag_to_set( QUERY ( prd <* USEDIN( pd, + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( prd.name = 'occurrence selection' ) ) ); + property_definition_representations : SET OF property_definition_representation := bag_to_set( QUERY ( pdr <* USEDIN( + properties[1], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( pdr.used_representation. + name = 'selection criteria' ) ) ); + selected_representation : representation; + END_LOCAL; + IF SIZEOF( properties ) <> 1 THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( property_definition_representations ) <> 1 THEN + RETURN( FALSE ); + END_IF; + selected_representation := property_definition_representations[1]\property_definition_representation.used_representation; + IF ( SIZEOF( selected_representation\representation.items ) < 1 ) OR ( SIZEOF( selected_representation\representation.items ) + > 2 ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( QUERY ( i <* selected_representation\representation.items | ( ( SIZEOF( [ + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_RANGE' ] * TYPEOF( i ) ) = 1 ) AND ( i.name = + 'selection quantity' ) ) ) ) <> 1 THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( QUERY ( i <* selected_representation\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) + AND ( i.name = 'selection control' ) ) ) ) > 1 THEN + RETURN( FALSE ); + END_IF; + IF ( SIZEOF( QUERY ( i <* selected_representation\representation.items | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) + AND ( i.name = 'selection control' ) ) ) ) = 0 ) AND ( SIZEOF( QUERY ( i <* selected_representation\representation.items + | ( ( i.name = 'selection quantity' ) AND ( SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'QUALIFIED_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_RANGE'] * + TYPEOF( i ) ) = 0 ) ) ) ) > 0 ) THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION valid_time( + time : local_time + ) : BOOLEAN; + IF EXISTS( time.second_component ) THEN + RETURN( EXISTS( time.minute_component ) ); + ELSE + RETURN( TRUE ); + END_IF; + + END_FUNCTION; + + FUNCTION valid_units( + m : measure_with_unit + ) : BOOLEAN; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MASS_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 1, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TIME_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CURRENT_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_MEASURE' IN TYPEOF( m. + value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CELSIUS_TEMPERATURE_MEASURE' IN TYPEOF( m. + value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AMOUNT_OF_SUBSTANCE_MEASURE' IN TYPEOF( m. + value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 1, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_INTENSITY_MEASURE' IN TYPEOF( m. + value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_ANGLE_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 3, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_PLANE_ANGLE_MEASURE' IN TYPEOF( m. + value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACCELERATION_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAPACITANCE_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -2, -1, 4, 2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CHARGE_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 1, 1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONDUCTANCE_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -2, -1, 3, 2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_POTENTIAL_MEASURE' IN TYPEOF( m. + value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -3, -1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ENERGY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FORCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 1, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FREQUENCY_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ILLUMINANCE_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -2, 0, 0, 0, 0, 0, 1 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INDUCTANCE_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -2, -2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_FLUX_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -2, -1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_DENSITY_MEASURE' IN TYPEOF( m. + value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 1, -2, -1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -3, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESSURE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -1, 1, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RESISTANCE_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -3, -2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VELOCITY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, -1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIOACTIVITY_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABSORBED_DOSE_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DOSE_EQUIVALENT_MEASURE' IN TYPEOF( m.value_component ) + THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION valid_wireframe_edge_curve( + crv : curve + ) : BOOLEAN; + IF SIZEOF( [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' , + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' ] * TYPEOF( crv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF( crv ) THEN + RETURN( valid_wireframe_edge_curve( crv\curve_replica.parent_curve ) ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( crv ) THEN + RETURN( valid_wireframe_edge_curve( crv\offset_curve_3d.basis_curve ) ); + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_wireframe_vertex_point( + pnt : point + ) : BOOLEAN; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF( pnt ) THEN + RETURN( TRUE ); + ELSE + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF( pnt ) THEN + RETURN( valid_wireframe_vertex_point( pnt\point_replica.parent_pt ) ); + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION validate_accuracy_types( + ei : shape_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqca : BAG OF shape_data_quality_criterion_and_accuracy_association := []; + sma : BAG OF shape_measurement_accuracy := []; + sdqir : SET OF shape_data_quality_inspection_result := []; + scraa : BAG OF shape_inspection_result_accuracy_association := []; + t_logic : BOOLEAN; + END_LOCAL; + sdqca := USEDIN( ei, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION.' + 'SHAPE_DATA_QUALITY_CRITERION' ); + IF SIZEOF( sdqca ) <> 0 THEN + REPEAT i := 1 TO SIZEOF( sdqca ) BY 1; + sma := sma + sdqca[i].required_specific_accuracy; + END_REPEAT; + IF SIZEOF( type_list ) < SIZEOF( sma ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sma ) BY 1; + t_logic := FALSE; + REPEAT j := 1 TO SIZEOF( type_list ) BY 1; + IF type_list[j] IN value_limit_type( sma[i].range ) THEN + t_logic := TRUE; + ESCAPE; + END_IF; + END_REPEAT; + IF NOT t_logic THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN + TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + scraa := USEDIN( sdqir[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATION.' + 'SHAPE_DATA_QUALITY_RESULT' ); + IF SIZEOF( scraa ) <> 0 THEN + sma := []; + REPEAT j := 1 TO SIZEOF( scraa ) BY 1; + sma := sma + scraa[j].applied_specific_accuracy; + END_REPEAT; + IF SIZEOF( type_list ) < SIZEOF( sma ) THEN + RETURN( FALSE ); + END_IF; + REPEAT j := 1 TO SIZEOF( sma ) BY 1; + t_logic := FALSE; + REPEAT k := 1 TO SIZEOF( type_list ) BY 1; + IF type_list[k] IN value_limit_type( sma[j].range ) THEN + t_logic := TRUE; + ESCAPE; + END_IF; + END_REPEAT; + IF NOT t_logic THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_attribute_id( + attid : attribute_identifier + ) : BOOLEAN; + + CONSTANT + letters : SET [52 : 52] OF STRING := + [ 'a' , + 'b' , + 'c' , + 'd' , + 'e' , + 'f' , + 'g' , + 'h' , + 'i' , + 'j' , + 'k' , + 'l' , + 'm' , + 'n' , + 'o' , + 'p' , + 'q' , + 'r' , + 's' , + 't' , + 'u' , + 'v' , + 'w' , + 'x' , + 'y' , + 'z' , + 'A' , + 'B' , + 'C' , + 'D' , + 'E' , + 'F' , + 'G' , + 'H' , + 'I' , + 'J' , + 'K' , + 'L' , + 'M' , + 'N' , + 'O' , + 'P' , + 'Q' , + 'R' , + 'S' , + 'T' , + 'U' , + 'V' , + 'W' , + 'X' , + 'Y' , + 'Z' ]; + numbers_etc : SET [15 : 15] OF STRING := + [ '0' , + '1' , + '2' , + '3' , + '4' , + '5' , + '6' , + '7' , + '8' , + '9' , + '_' , + '[' , + ']' , + '.' , + '\' ]; + valid_chars : SET [67 : 67] OF STRING := + letters + + + numbers_etc; + END_CONSTANT; + + LOCAL + id_length : INTEGER := LENGTH( attid ); + id_valid : BOOLEAN := TRUE; + i : INTEGER; + END_LOCAL; + IF NOT ( attid[1] IN letters ) THEN + id_valid := FALSE; + END_IF; + REPEAT i := 2 TO id_length BY 1 WHILE id_valid = TRUE; + IF NOT ( attid[i] IN valid_chars ) THEN + id_valid := FALSE; + END_IF; + END_REPEAT; + RETURN( id_valid ); + + END_FUNCTION; + + FUNCTION validate_countersink_radii( + cskhole : solid_with_stepped_round_hole_and_conical_transitions + ) : BOOLEAN; + + LOCAL + i : INTEGER; + j : INTEGER; + n : INTEGER := 1 + cskhole\solid_with_stepped_round_hole.segments; + smaller : positive_length_measure; + larger : positive_length_measure; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( cskhole.conical_transitions ) BY 1; + IF ( ( cskhole.conical_transitions[i].transition_number = 1 ) AND ( cskhole.conical_transitions[i].cone_apex_angle < 0 ) ) + XOR ( ( cskhole.conical_transitions[i].transition_number = n ) AND ( cskhole.conical_transitions[i].cone_apex_angle > 0 ) ) + THEN + RETURN( FALSE ); + ELSE + IF ( cskhole.conical_transitions[i].transition_number <> 1 ) AND ( cskhole.conical_transitions[i].transition_number <> n ) + THEN + + BEGIN + j := cskhole.conical_transitions[i].transition_number; + IF cskhole\solid_with_stepped_round_hole.segment_radii[j] > cskhole\solid_with_stepped_round_hole.segment_radii[j - 1] + THEN + + BEGIN + IF cskhole.conical_transitions[i].cone_apex_angle > 0 THEN + RETURN( FALSE ); + END_IF; + larger := cskhole\solid_with_stepped_round_hole.segment_radii[j]; + smaller := cskhole\solid_with_stepped_round_hole.segment_radii[j - 1]; + END; + ELSE + + BEGIN + IF cskhole.conical_transitions[i].cone_apex_angle < 0 THEN + RETURN( FALSE ); + END_IF; + larger := cskhole\solid_with_stepped_round_hole.segment_radii[j - 1]; + smaller := cskhole\solid_with_stepped_round_hole.segment_radii[j]; + END; + END_IF; + IF ( cskhole.conical_transitions[i].cone_base_radius > larger ) OR ( cskhole.conical_transitions[i].cone_base_radius + < smaller ) THEN + RETURN( FALSE ); + END_IF; + END; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_ecdq_inspected_elements_type( + ei : externally_conditioned_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF externally_conditioned_data_quality_inspection_result := []; + dir : SET OF data_quality_inspection_instance_report := []; + sdiri : SET OF externally_conditioned_data_quality_inspection_instance_report_item := []; + t_type_list : BAG OF STRING := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + dir := dir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN + TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( dir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( dir ) BY 1; + sdiri := sdiri + QUERY ( q <* dir[i].inspected_instances | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdiri ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdiri ) BY 1; + IF SIZEOF( sdiri[i].inspected_elements ) <> SIZEOF( type_list ) THEN + RETURN( FALSE ); + END_IF; + t_type_list := type_list; + REPEAT j := 1 TO SIZEOF( sdiri[i].inspected_elements ) BY 1; + REPEAT k := 1 TO SIZEOF( t_type_list ) BY 1; + IF t_type_list[k] IN TYPEOF( sdiri[i].inspected_elements[j] ) THEN + t_type_list := t_type_list - t_type_list[k]; + ESCAPE; + END_IF; + END_REPEAT; + END_REPEAT; + IF SIZEOF( t_type_list ) > 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_inspected_elements_type( + ei : shape_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF shape_data_quality_inspection_result := []; + sdir : SET OF shape_data_quality_inspection_instance_report := []; + sdiri : SET OF shape_data_quality_inspection_instance_report_item := []; + t_type_list : BAG OF STRING := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN + TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdir := sdir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_INSPECTION_REPORT.' + + 'INSPECTION_RESULT' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdiri := sdiri + QUERY ( q <* sdir[i].inspected_instances | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdiri ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdiri ) BY 1; + IF SIZEOF( sdiri[i].inspected_elements ) <> SIZEOF( type_list ) THEN + RETURN( FALSE ); + END_IF; + t_type_list := type_list; + REPEAT j := 1 TO SIZEOF( sdiri[i].inspected_elements ) BY 1; + REPEAT k := 1 TO SIZEOF( t_type_list ) BY 1; + IF t_type_list[k] IN TYPEOF( sdiri[i].inspected_elements[j] ) THEN + t_type_list := t_type_list - t_type_list[k]; + ESCAPE; + END_IF; + END_REPEAT; + END_REPEAT; + IF SIZEOF( t_type_list ) > 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_locations_of_extreme_value_type( + ei : shape_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF shape_data_quality_inspection_result := []; + sdir : SET OF shape_data_quality_inspection_instance_report := []; + sdei : SET OF instance_report_item_with_extreme_instances := []; + t_type_list : BAG OF STRING := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN + TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdir := sdir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_INSPECTION_REPORT.' + + 'INSPECTION_RESULT' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdei := sdei + QUERY ( q <* sdir[i].inspected_instances | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' ) + IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdei ) = 0 THEN + RETURN( TRUE ); + END_IF; + IF ( SIZEOF( type_list ) = 0 ) AND ( SIZEOF( sdei ) <> 0 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdei ) BY 1; + REPEAT j := 1 TO SIZEOF( sdei[i].extreme_instances ) BY 1; + IF SIZEOF( sdei[i].extreme_instances[j].locations_of_extreme_value ) <> SIZEOF( type_list ) THEN + RETURN( FALSE ); + END_IF; + t_type_list := type_list; + REPEAT k := 1 TO SIZEOF( sdei[i].extreme_instances[j].locations_of_extreme_value ) BY 1; + REPEAT l := 1 TO SIZEOF( t_type_list ) BY 1; + IF t_type_list[l] IN TYPEOF( sdei[i].extreme_instances[j].locations_of_extreme_value[k] ) THEN + t_type_list := t_type_list - t_type_list[l]; + ESCAPE; + END_IF; + END_REPEAT; + END_REPEAT; + IF SIZEOF( t_type_list ) > 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_measured_data_type( + ei : shape_data_quality_criterion; + type_string : STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF shape_data_quality_inspection_result := []; + sdcr : SET OF shape_data_quality_inspection_criterion_report := []; + sdir : SET OF shape_data_quality_inspection_instance_report := []; + sdii : SET OF shape_data_quality_inspection_instance_report_item := []; + sdei : BAG OF instance_report_item_with_extreme_instances := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN + TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdcr := sdcr + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_INSPECTION_REPORT.' + + 'INSPECTION_RESULT' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdir := sdir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATA_QUALITY_INSPECTION_REPORT.' + + 'INSPECTION_RESULT' ) ) | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF ( SIZEOF( sdcr ) = 0 ) AND ( SIZEOF( sdir ) = 0 ) THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdii := sdii + QUERY ( q <* sdir[i].inspected_instances | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' ) IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdei := sdei + QUERY ( q <* sdir[i].inspected_instances | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' ) + IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdcr ) BY 1; + IF NOT ( type_string IN TYPEOF( sdcr[i].representative_measured_value ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdii ) BY 1; + IF NOT ( type_string IN TYPEOF( sdii[i].measured_value ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdei ) BY 1; + REPEAT j := 1 TO SIZEOF( sdei[i].extreme_instances ) BY 1; + IF NOT ( type_string IN TYPEOF( sdei[i].extreme_instances[j].measured_value ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION value_limit_type( + iv : shape_data_quality_value_limit_type_select + ) : SET OF STRING; + + LOCAL + retval : SET OF STRING := []; + END_LOCAL; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_RANGE' ) IN TYPEOF( iv ) + THEN + retval := TYPEOF( iv\compound_representation_item.item_element[1].value_component ); + END_IF; + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_LIMIT' ) IN TYPEOF( iv ) + THEN + IF ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MEASURE_WITH_UNIT' ) IN TYPEOF( iv ) THEN + retval := TYPEOF( iv\measure_with_unit.value_component ); + END_IF; + END_IF; + RETURN( retval ); + + END_FUNCTION; + + FUNCTION value_range_aggregate_rep_item( + agg : AGGREGATE OF representation_item + ) : BOOLEAN; + + BEGIN + IF SIZEOF( QUERY ( i1 <* agg | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' ) IN TYPEOF( i1 ) ) ) ) = 6 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION value_range_wr1( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( agg ) = 2 ) AND ( ( SIZEOF( QUERY ( i1 <* agg | ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) ) ) + = 2 ) OR ( SIZEOF( QUERY ( i2 <* agg | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'VALUE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) ) ) = 2 ) ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION value_range_wr2( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( i\representation_item.name = 'upper limit' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( i <* agg | + ( i\representation_item.name = 'lower limit' ) ) ) = 1 ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION value_range_wr3( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF SIZEOF( QUERY ( i1 <* agg | ( ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) AND ( SIZEOF( QUERY ( i2 <* agg | ( ( + 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) AND + ( i1 :<>: i2 ) AND ( i1\measure_with_unit.unit_component :=: i2\measure_with_unit.unit_component ) ) ) ) = 1 ) ) ) ) = 2 + THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION values_space_of( + expr : generic_expression + ) : maths_space; + + LOCAL + e_prefix : STRING := 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'; + typenames : SET OF STRING := TYPEOF( expr ); + END_LOCAL; + IF ( schema_prefix + 'MATHS_VARIABLE' ) IN typenames THEN + RETURN( expr\maths_variable.values_space ); + END_IF; + IF ( e_prefix + 'EXPRESSION' ) IN typenames THEN + IF ( e_prefix + 'NUMERIC_EXPRESSION' ) IN typenames THEN + IF expr\numeric_expression.is_int THEN + IF ( e_prefix + 'INT_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\int_literal.the_value] ) ); + ELSE + RETURN( the_integers ); + END_IF; + ELSE + IF ( e_prefix + 'REAL_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\real_literal.the_value] ) ); + ELSE + RETURN( the_reals ); + END_IF; + END_IF; + END_IF; + IF ( e_prefix + 'BOOLEAN_EXPRESSION' ) IN typenames THEN + IF ( e_prefix + 'BOOLEAN_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\boolean_literal.the_value] ) ); + ELSE + RETURN( the_booleans ); + END_IF; + END_IF; + IF ( e_prefix + 'STRING_EXPRESSION' ) IN typenames THEN + IF ( e_prefix + 'STRING_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\string_literal.the_value] ) ); + ELSE + RETURN( the_strings ); + END_IF; + END_IF; + RETURN( ? ); + END_IF; + IF ( schema_prefix + 'MATHS_FUNCTION' ) IN typenames THEN + IF expression_is_constant( expr ) THEN + RETURN( make_finite_space( [expr] ) ); + ELSE + RETURN( make_function_space( sc_equal, expr\maths_function.domain, sc_equal, expr\maths_function.range ) ); + END_IF; + END_IF; + IF ( schema_prefix + 'FUNCTION_APPLICATION' ) IN typenames THEN + RETURN( expr\function_application.func.range ); + END_IF; + IF ( schema_prefix + 'MATHS_SPACE' ) IN typenames THEN + IF expression_is_constant( expr ) THEN + RETURN( make_finite_space( [expr] ) ); + ELSE + RETURN( make_elementary_space( es_maths_spaces ) ); + END_IF; + END_IF; + IF ( schema_prefix + 'DEPENDENT_VARIABLE_DEFINITION' ) IN typenames THEN + RETURN( values_space_of( expr\unary_generic_expression.operand ) ); + END_IF; + IF ( schema_prefix + 'COMPLEX_NUMBER_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr] ) ); + END_IF; + IF ( schema_prefix + 'LOGICAL_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\logical_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'BINARY_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\binary_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'MATHS_ENUM_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\maths_enum_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'REAL_TUPLE_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\real_tuple_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'INTEGER_TUPLE_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\integer_tuple_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'ATOM_BASED_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\atom_based_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'MATHS_TUPLE_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\maths_tuple_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'PARTIAL_DERIVATIVE_EXPRESSION' ) IN typenames THEN + RETURN( drop_numeric_constraints( values_space_of( expr\partial_derivative_expression.derivand ) ) ); + END_IF; + IF ( schema_prefix + 'DEFINITE_INTEGRAL_EXPRESSION' ) IN typenames THEN + RETURN( drop_numeric_constraints( values_space_of( expr\definite_integral_expression.integrand ) ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION vector_difference( + arg1, arg2 : vector_or_direction + ) : vector; + + LOCAL + result : vector; + res : direction; + vec1 : direction; + vec2 : direction; + mag : REAL; + mag1 : REAL; + mag2 : REAL; + ndim : INTEGER; + END_LOCAL; + IF ( NOT EXISTS( arg1 ) ) OR ( NOT EXISTS( arg2 ) ) OR ( arg1.dim <> arg2.dim ) THEN + RETURN( ? ); + ELSE + + BEGIN + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF( arg1 ) THEN + mag1 := arg1\vector.magnitude; + vec1 := arg1\vector.orientation; + ELSE + mag1 := 1; + vec1 := arg1; + END_IF; + IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF( arg2 ) THEN + mag2 := arg2\vector.magnitude; + vec2 := arg2\vector.orientation; + ELSE + mag2 := 1; + vec2 := arg2; + END_IF; + vec1 := normalise( vec1 ); + vec2 := normalise( vec2 ); + ndim := SIZEOF( vec1.direction_ratios ); + mag := 0; + res := dummy_gri || direction( vec1.direction_ratios ); + REPEAT i := 1 TO ndim BY 1; + res.direction_ratios[i] := ( mag1 * vec1.direction_ratios[i] ) - ( mag2 * vec2.direction_ratios[i] ); + mag := mag + ( res.direction_ratios[i] * res.direction_ratios[i] ); + END_REPEAT; + IF mag > 0 THEN + result := dummy_gri || vector( res, SQRT( mag ) ); + ELSE + result := dummy_gri || vector( vec1, 0 ); + END_IF; + END; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION ypr_index( + ypr : ypr_enumeration + ) : INTEGER; + CASE ypr OF + yaw : RETURN( 1 ); + pitch : RETURN( 2 ); + roll : RETURN( 3 ); + END_CASE; + RETURN( ? ); + + END_FUNCTION; + +END_SCHEMA; diff --git a/data/ap227/mitre.p21 b/data/ap227/mitre.p21 deleted file mode 100644 index c3a2037f3..000000000 --- a/data/ap227/mitre.p21 +++ /dev/null @@ -1,300 +0,0 @@ - -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; diff --git a/data/ap227/mitre.step.txt b/data/ap227/mitre.step.txt deleted file mode 100644 index 3e5dbbaa2..000000000 --- a/data/ap227/mitre.step.txt +++ /dev/null @@ -1,299 +0,0 @@ -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; diff --git a/data/ap238/ap238-aim-long.exp b/data/ap238/ap238-aim-long.exp index 2cc3248b2..3ed2f2d1a 100644 --- a/data/ap238/ap238-aim-long.exp +++ b/data/ap238/ap238-aim-long.exp @@ -3891,11 +3891,11 @@ ENTITY grooving_turning_operation WR3: (verify_optional_action_property (SELF, 'allowance')) AND (verify_length_measure_action_property (SELF, 'allowance')); - -- allowance propery required for roughing + -- allowance property required for roughing WR4: NOT (SELF.description = 'roughing') OR (verify_required_action_property (SELF, 'allowance')); - -- allowance propery forbidden for cutting in + -- allowance property forbidden for cutting in WR5: NOT (SELF.description = 'cutting in') OR (0 = SIZEOF (get_action_property (SELF, 'allowance'))); END_ENTITY; -- 10303-238: integrated_cnc_schema diff --git a/data/ap242/242_n8324_mim_lf.exp b/data/ap242/242_n8324_mim_lf.exp new file mode 100644 index 000000000..feb12b778 --- /dev/null +++ b/data/ap242/242_n8324_mim_lf.exp @@ -0,0 +1,35076 @@ +(* + $Id: mim_lf.exp,v 1.36 2014/05/22 15:53:33 jhaenisch Exp $ +ISO TC184/SC4/WG12 N8324 - ISO/TS 10303-442 AP242 managed model based 3d engineering - EXPRESS MIM Long form +*) + +(* ===================================================================================== *) +(* Long form schema generated by The EXPRESS Data Manager compiler version 9.8.3B 20121030*) +(* Fri Feb 07 11:23:49 2014 *) +(* The schema is converted from ISO10303 P11-2003 to ISO10303 P11-1994 *) +(* ===================================================================================== *) +(* + This file was generated by the EXPRESS Pretty Printer exppp, +part of STEPcode (formerly NIST's SCL). exppp version: +git commit id: v0.7-353-g0a46b86, build timestamp 26 Feb 2014 19:15 +*) + +(* +patched for bug 4665, 4668, 5004, 5052, 5056, 5057 +link_motion_relationship.WR1 has been commented out. +*) +SCHEMA ap242_managed_model_based_3d_engineering_mim_lf; + + CONSTANT + schema_date_stamp : STRING := 'Mon Mar 24 10:53:49 2014'; + deprecated_constructed_data_types : SET OF STRING := + [ 'approved_item' , + 'certified_item' , + 'change_request_item' , + 'contracted_item' , + 'cc_classified_item' , + 'date_time_item' , + 'cc_person_organization_item' , + 'cc_specified_item' , + 'start_request_item' , + 'work_item' ]; + deprecated_entity_data_types : SET OF STRING := + [ 'cc_design_approval' , + 'cc_design_certification' , + 'cc_design_contract' , + 'cc_design_date_and_time_assignment' , + 'cc_design_person_and_organization_assignment' , + 'cc_design_security_classification' , + 'cc_design_specification_reference' , + 'change' , + 'change_request' , + 'design_context' , + 'design_make_from_relationship' , + 'mechanical_context' , + 'product_category_relationship' , + 'start_request' , + 'start_work' , + 'supplied_part_relationship' ]; + deprecated_interfaced_data_types : SET OF STRING := + [ 'document_with_class' , + 'ordinal_date' , + 'product_definition_formation_with_specified_source' , + 'week_of_year_and_day_date' ]; + dummy_gri : geometric_representation_item := + representation_item( '' ) + || + geometric_representation_item( ); + dummy_tri : topological_representation_item := + representation_item( '' ) + || + topological_representation_item( ); + pre_defined_picture_representation_types : SET [0 : ?] OF STRING := + [ 'JPEG' , + 'PNG' , + 'TIFF' , + 'BMP' , + 'GIF' ]; + schema_prefix : STRING := + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' ; + the_binarys : elementary_space := + make_elementary_space( + es_binarys ); + the_booleans : elementary_space := + make_elementary_space( + es_booleans ); + the_complex_numbers : elementary_space := + make_elementary_space( + es_complex_numbers ); + the_complex_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_complex_numbers ); + the_empty_maths_tuple : maths_tuple := + []; + the_empty_space : finite_space := + make_finite_space( + [] ); + the_generics : elementary_space := + make_elementary_space( + es_generics ); + the_integer_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_integers ); + the_integers : elementary_space := + make_elementary_space( + es_integers ); + the_logicals : elementary_space := + make_elementary_space( + es_logicals ); + the_maths_spaces : elementary_space := + make_elementary_space( + es_maths_spaces ); + the_neg1_one_interval : finite_real_interval := + make_finite_real_interval( + - + 1, + closed, + 1, + closed ); + the_neghalfpi_halfpi_interval : finite_real_interval := + make_finite_real_interval( + ( + - + 0.5 ) + * + PI, + closed, + 0.5 + * + PI, + closed ); + the_negpi_pi_interval : finite_real_interval := + make_finite_real_interval( + - + PI, + open, + PI, + closed ); + the_nonnegative_reals : real_interval_from_min := + make_real_interval_from_min( + 0, + closed ); + the_numbers : elementary_space := + make_elementary_space( + es_numbers ); + the_real_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_reals ); + the_reals : elementary_space := + make_elementary_space( + es_reals ); + the_strings : elementary_space := + make_elementary_space( + es_strings ); + the_tuples : extended_tuple_space := + make_extended_tuple_space( + the_zero_tuple_space, + the_generics ); + the_zero_pi_interval : finite_real_interval := + make_finite_real_interval( + 0, + closed, + PI, + closed ); + the_zero_tuple_space : listed_product_space := + make_listed_product_space( + [] ); + END_CONSTANT; + + TYPE absorbed_dose_measure = REAL; + END_TYPE; + + TYPE acceleration_measure = REAL; + END_TYPE; + + TYPE action_items = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_person_and_organization_assignment, + approval_status, + assembly_component_usage_substitute, + certification, + certification_item, + characterized_object, + class, + class_system, + classification_item, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + document_file, + document_reference_item, + draughting_model, + drawing_revision, + evaluated_characteristic, + executed_action, + general_property, + identification_item, + material_designation, + mechanical_design_geometric_presentation_representation, + organization, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_assigned_item, + requirement_for_action_resource, + resource_property, + security_classification, + security_classification_level, + shape_aspect, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE action_method_items = SELECT + ( action, + action_method, + action_property, + applied_action_assignment, + configuration_design, + contract, + document_file, + event_occurrence, + organization, + organizational_project, + person, + person_and_organization, + product, + product_concept, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + property_definition ); + END_TYPE; + + TYPE action_request_item = SELECT + ( action, + action_method, + action_property, + action_relationship, + alternate_product_relationship, + assembly_component_usage_substitute, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + document_file, + draughting_model, + drawing_revision, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + organizational_project, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + resource_property, + shape_aspect, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE actuated_direction = ENUMERATION OF + ( bidirectional, + positive_only, + negative_only, + not_actuated ); + END_TYPE; + + TYPE ahead_or_behind = ENUMERATION OF + ( ahead, + exact, + behind ); + END_TYPE; + + TYPE amount_of_substance_measure = REAL; + END_TYPE; + + TYPE angle_direction_reference_select = SELECT + ( direction, + curve, + point_path ); + END_TYPE; + + TYPE angle_direction_reference_with_a2p3d_select = SELECT + ( angle_direction_reference_select, + axis2_placement_3d ); + END_TYPE; + + TYPE angle_relator = ENUMERATION OF + ( equal, + large, + small ); + END_TYPE; + + TYPE annotation_plane_element = SELECT + ( draughting_callout, + styled_item ); + END_TYPE; + + TYPE annotation_representation_select = SELECT + ( draughting_model, + presentation_area, + presentation_view, + symbol_representation ); + END_TYPE; + + TYPE annotation_symbol_occurrence_item = SELECT + ( annotation_symbol, + defined_symbol ); + END_TYPE; + + TYPE annotation_text_occurrence_item = SELECT + ( text_literal, + annotation_text, + annotation_text_character, + defined_character_glyph, + composite_text ); + END_TYPE; + + TYPE approval_item = SELECT + ( action, + action_directive, + action_property, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_usage_right, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + date, + directed_action, + document, + document_file, + draughting_model, + drawing_revision, + effectivity, + executed_action, + frozen_assignment, + general_property, + general_property_relationship, + group, + group_relationship, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organizational_project, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + representation, + requirement_assignment, + resource_property, + security_classification, + shape_aspect_relationship, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE approved_item = SELECT + ( certification, + change, + change_request, + configuration_effectivity, + configuration_item, + contract, + product, + security_classification, + start_request, + start_work ); + END_TYPE; + + TYPE area_measure = REAL; + END_TYPE; + + TYPE area_or_view = SELECT + ( presentation_area, + presentation_view ); + END_TYPE; + + TYPE area_unit_type = ENUMERATION OF + ( circular, + rectangular, + square ); + END_TYPE; + + TYPE atom_based_tuple = LIST OF atom_based_value; + END_TYPE; + + TYPE atom_based_value = SELECT + ( maths_atom, + atom_based_tuple ); + END_TYPE; + + TYPE attribute_classification_item = SELECT + ( action_directive, + action_method, + action_property, + action_property_representation, + action_relationship, + action_request_solution, + action_request_status, + alternate_product_relationship, + applied_action_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + approval, + approval_person_organization, + approval_relationship, + approval_status, + certification, + context_dependent_unit, + contract, + date_and_time_assignment, + date_assignment, + derived_unit, + descriptive_representation_item, + document_file, + document_relationship, + effectivity, + event_occurrence_relationship, + executed_action, + general_property, + general_property_relationship, + group, + group_relationship, + information_right, + information_usage_right, + language, + measure_representation_item, + measure_with_unit, + named_unit, + organization_relationship, + organizational_address, + organizational_project_relationship, + person_and_organization, + person_and_organization_address, + product, + product_category, + product_concept, + product_concept_context, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + property_definition, + property_definition_relationship, + property_definition_representation, + representation, + representation_context, + representation_item, + security_classification, + time_interval_relationship, + uncertainty_measure_with_unit, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE attribute_identifier = identifier; + WHERE + wr1: validate_attribute_id( SELF ); + END_TYPE; + + TYPE attribute_language_item = SELECT + ( action, + actuated_kinematic_pair, + alternate_product_relationship, + application_context, + applied_certification_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organizational_project_assignment, + applied_security_classification_assignment, + approval, + approval_relationship, + approval_status, + assembly_component_usage_substitute, + attribute_value_assignment, + certification, + certification_type, + configuration_design, + configuration_item, + contract, + data_environment, + date_role, + date_time_role, + descriptive_representation_item, + document_relationship, + document_usage_role, + draughting_title, + effectivity, + effectivity_relationship, + event_occurrence, + external_source, + general_property, + general_property_relationship, + geometric_representation_item, + geometric_tolerance, + group, + group_relationship, + identification_role, + information_right, + information_usage_right, + kinematic_pair, + make_from_usage_option, + mapped_item, + multi_language_attribute_assignment, + name_assignment, + object_role, + organization_relationship, + organization_role, + organizational_project, + organizational_project_relationship, + organizational_project_role, + person_and_organization, + person_and_organization_role, + presentation_layer_assignment, + process_product_association, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_relationship, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_shape, + product_definition_substitute, + product_related_product_category, + property_definition, + property_definition_relationship, + representation, + representation_relationship, + requirement_for_action_resource, + resource_property, + resource_requirement_type, + security_classification, + security_classification_assignment, + shape_aspect, + shape_aspect_relationship, + shape_representation, + styled_item, + time_interval_role, + topological_representation_item, + uncertainty_measure_with_unit, + uncertainty_qualifier, + usage_association, + versioned_action_request, + versioned_action_request_relationship ); + END_TYPE; + + TYPE attribute_type = SELECT + ( label, + text ); + END_TYPE; + + TYPE axial_geometry_constraint_element = SELECT + ( point, + line, + circle, + plane, + cylindrical_surface, + conical_surface, + spherical_surface, + toroidal_surface, + surface_of_revolution, + sphere, + right_circular_cone, + right_circular_cylinder, + torus, + revolved_face_solid, + revolved_area_solid ); + END_TYPE; + + TYPE axis2_placement = SELECT + ( axis2_placement_2d, + axis2_placement_3d ); + END_TYPE; + + TYPE b_spline_curve_form = ENUMERATION OF + ( polyline_form, + circular_arc, + elliptic_arc, + parabolic_arc, + hyperbolic_arc, + unspecified ); + END_TYPE; + + TYPE b_spline_or_composite_curve_select = SELECT + ( b_spline_curve, + composite_curve ); + END_TYPE; + + TYPE b_spline_or_rectangular_composite_surface_select = SELECT + ( b_spline_surface, + rectangular_composite_surface ); + END_TYPE; + + TYPE b_spline_surface_form = ENUMERATION OF + ( plane_surf, + cylindrical_surf, + conical_surf, + spherical_surf, + toroidal_surf, + surf_of_revolution, + ruled_surf, + generalised_cone, + quadric_surf, + surf_of_linear_extrusion, + unspecified ); + END_TYPE; + + TYPE base_solid_select = SELECT + ( solid_model, + csg_primitive, + boolean_result ); + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRIMITIVE_2D' IN TYPEOF( SELF ) ) ); + END_TYPE; + + TYPE blend_end_condition_select = SELECT + ( point_on_curve, + edge_curve, + vertex ); + END_TYPE; + + TYPE blend_radius_variation_type = ENUMERATION OF + ( linear_blend, + cubic_blend, + unspecified_blend ); + END_TYPE; + + TYPE boolean_operand = SELECT + ( boolean_result, + csg_primitive, + half_space_2d, + half_space_solid, + solid_model ); + END_TYPE; + + TYPE boolean_operand_2d = SELECT + ( bounded_primitive_2d, + boolean_result_2d ); + END_TYPE; + + TYPE boolean_operator = ENUMERATION OF + ( union, + intersection, + difference ); + END_TYPE; + + TYPE boolean_value = BOOLEAN; + END_TYPE; + + TYPE bounded_primitive_2d = SELECT + ( area_with_outer_boundary, + circular_area, + elliptic_area, + path_area_with_parameters, + polygonal_area, + rectangular_area ); + END_TYPE; + + TYPE box_characteristic_select = SELECT + ( box_height, + box_width, + box_slant_angle, + box_rotate_angle ); + END_TYPE; + + TYPE box_height = positive_ratio_measure; + END_TYPE; + + TYPE box_rotate_angle = plane_angle_measure; + END_TYPE; + + TYPE box_slant_angle = plane_angle_measure; + END_TYPE; + + TYPE box_width = positive_ratio_measure; + END_TYPE; + + TYPE camera_model_d3_multi_clipping_interection_select = SELECT + ( camera_model_d3_multi_clipping_union, + plane ); + END_TYPE; + + TYPE camera_model_d3_multi_clipping_union_select = SELECT + ( camera_model_d3_multi_clipping_intersection, + plane ); + END_TYPE; + + TYPE capacitance_measure = REAL; + END_TYPE; + + TYPE category_usage_item = SELECT + ( product_class ); + END_TYPE; + + TYPE cc_classified_item = SELECT + ( assembly_component_usage, + product_definition_formation ); + END_TYPE; + + TYPE cc_person_organization_item = SELECT + ( change, + change_request, + configuration_item, + contract, + product, + product_definition, + product_definition_formation, + security_classification, + start_request, + start_work ); + END_TYPE; + + TYPE cc_specified_item = SELECT + ( product_definition, + shape_aspect ); + END_TYPE; + + TYPE celsius_temperature_measure = REAL; + END_TYPE; + + TYPE central_or_parallel = ENUMERATION OF + ( central, + parallel ); + END_TYPE; + + TYPE certification_item = SELECT + ( alternate_product_relationship, + make_from_usage_option, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship ); + END_TYPE; + + TYPE certified_item = SELECT + ( supplied_part_relationship ); + END_TYPE; + + TYPE chained_representation_link = SELECT + ( mapped_item, + representation_context, + representation_relationship ); + END_TYPE; + + TYPE change_management_object = SELECT + ( action, + action_items, + action_relationship, + class, + event_occurrence, + project_item ); + END_TYPE; + + TYPE change_relationship_select = SELECT + ( action_relationship, + product_definition_formation_relationship, + product_definition_relationship, + shape_aspect_relationship ); + END_TYPE; + + TYPE change_request_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE character_spacing_select = SELECT + ( length_measure, + ratio_measure, + measure_with_unit, + descriptive_measure ); + END_TYPE; + + TYPE character_style_select = SELECT + ( character_glyph_style_stroke, + character_glyph_style_outline, + text_style_for_defined_font ); + END_TYPE; + + TYPE characterized_action_definition = SELECT + ( action, + action_method, + action_method_relationship, + action_relationship ); + END_TYPE; + + TYPE characterized_definition = SELECT + ( characterized_object, + characterized_product_definition, + shape_definition ); + END_TYPE; + + TYPE characterized_material_property = SELECT + ( material_property_representation, + product_material_composition_relationship ); + END_TYPE; + + TYPE characterized_product_composition_value = SELECT + ( measure_with_unit ); + END_TYPE; + + TYPE characterized_product_definition = SELECT + ( product_definition, + product_definition_relationship ); + END_TYPE; + + TYPE characterized_resource_definition = SELECT + ( action_resource, + action_resource_requirement ); + END_TYPE; + + TYPE class_usage_effectivity_context_item = SELECT + ( product_definition ); + END_TYPE; + + TYPE classification_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + action_request_status, + address, + alternate_product_relationship, + applied_action_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_contract_assignment, + applied_date_and_time_assignment, + applied_date_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval, + approval_person_organization, + approval_relationship, + approval_status, + assembly_component_usage_substitute, + calendar_date, + certification, + characterized_class, + characterized_object, + class, + classified_item, + configuration_item, + context_dependent_unit, + contract, + conversion_based_unit, + date_and_time, + date_and_time_assignment, + date_assignment, + derived_unit, + descriptive_representation_item, + directed_action, + document_file, + document_relationship, + document_type, + effectivity, + event_occurrence, + executed_action, + feature_definition, + general_feature, + general_property, + general_property_relationship, + group, + identification_assignment, + information_right, + information_usage_right, + language, + material_designation, + measure_representation_item, + measure_with_unit, + multi_language_attribute_assignment, + named_unit, + organization, + organization_relationship, + organizational_address, + organizational_project, + organizational_project_relationship, + person, + person_and_organization_address, + plus_minus_tolerance, + process_operation, + product, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + property_definition, + property_definition_representation, + representation, + representation_context, + representation_item, + resource_property, + security_classification, + security_classification_level, + shape_aspect, + uncertainty_measure_with_unit, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE classified_item = SELECT + ( product, + product_definition, + product_definition_formation ); + END_TYPE; + + TYPE closed_or_open_shell_select = SELECT + ( closed_shell, + open_shell ); + END_TYPE; + + TYPE common_datum_list = LIST [2 : ?] OF datum_reference_element; + WHERE + wr1: ( SIZEOF( QUERY ( dre <* SELF | ( dre\shape_aspect.of_shape <> SELF[1]\shape_aspect.of_shape ) ) ) = 0 ); + END_TYPE; + + TYPE compound_inner_area_boundary = SELECT + ( set_inner_area_boundary ); + END_TYPE; + + TYPE compound_item_definition = SELECT + ( list_representation_item, + set_representation_item ); + END_TYPE; + + TYPE conductance_measure = REAL; + END_TYPE; + + TYPE configuration_design_item = SELECT + ( product_definition, + product_definition_formation ); + END_TYPE; + + TYPE configured_effectivity_context_item = SELECT + ( product_concept_feature_association ); + END_TYPE; + + TYPE configured_effectivity_item = SELECT + ( action_relationship, + process_plan, + product_definition, + product_process_plan ); + END_TYPE; + + TYPE constraint_group_member = SELECT + ( explicit_constraint, + simultaneous_constraint_group ); + END_TYPE; + + TYPE constructive_geometry_representation_or_shape_represenation = SELECT + ( constructive_geometry_representation, + shape_representation ); + END_TYPE; + + TYPE context_dependent_measure = REAL; + END_TYPE; + + TYPE contract_item = SELECT + ( action_directive, + alternate_product_relationship, + directed_action, + drawing_revision, + executed_action, + information_usage_right, + organization, + person_and_organization, + product, + product_definition_formation ); + END_TYPE; + + TYPE contracted_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE count_measure = NUMBER; + END_TYPE; + + TYPE csg_2d_area_select = SELECT + ( axis2_placement_2d, + csg_primitive_solid_2d ); + END_TYPE; + + TYPE csg_2d_shape_select = SELECT + ( mapped_item, + axis2_placement_2d, + csg_solid_2d ); + END_TYPE; + + TYPE csg_primitive = SELECT + ( block, + bounded_primitive_2d, +(* The following five items have been added to resolve BZ#5057. *) + cyclide_segment_solid, + eccentric_cone, + ellipsoid, + faceted_primitive, + rectangular_pyramid, +(* end of insertion *) + right_angular_wedge, + right_circular_cone, + right_circular_cylinder, + sphere, + torus ); + END_TYPE; + + TYPE csg_select = SELECT + ( boolean_result, + csg_primitive ); + END_TYPE; + + TYPE csg_select_2d = SELECT + ( bounded_primitive_2d, + boolean_result_2d ); + END_TYPE; + + TYPE current_element_assignment_select = SELECT + ( modify_element, + add_element ); + END_TYPE; + + TYPE curve_font_or_scaled_curve_font_select = SELECT + ( curve_style_font_select, + curve_style_font_and_scaling ); + END_TYPE; + + TYPE curve_on_surface = SELECT + ( composite_curve_on_surface, + pcurve, + surface_curve ); + END_TYPE; + + TYPE curve_or_annotation_curve_occurrence = SELECT + ( curve, + annotation_curve_occurrence ); + END_TYPE; + + TYPE curve_or_curve_set = SELECT + ( curve, + geometric_curve_set ); + END_TYPE; + + TYPE curve_or_render = SELECT + ( curve_style, + curve_style_rendering ); + END_TYPE; + + TYPE curve_or_surface_constraint_element = SELECT + ( curve, + surface ); + END_TYPE; + + TYPE curve_style_font_select = SELECT + ( curve_style_font, + pre_defined_curve_font, + externally_defined_curve_font ); + END_TYPE; + + TYPE curves_or_area = ENUMERATION OF + ( curves, + area ); + END_TYPE; + + TYPE date_and_time_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval_person_organization, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + directed_action, + document, + document_file, + draughting_model, + drawing_revision, + effectivity, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + rule_action, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE date_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval_person_organization, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + directed_action, + document, + document_file, + draughting_model, + drawing_revision, + effectivity, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE date_time_item = SELECT + ( approval_person_organization, + certification, + change, + change_request, + contract, + product_definition, + security_classification, + start_request, + start_work ); + END_TYPE; + + TYPE date_time_or_event_occurrence = SELECT + ( date_time_select, + event_occurrence ); + END_TYPE; + + TYPE date_time_select = SELECT + ( date, + date_and_time, + local_time ); + END_TYPE; + + TYPE datum_or_common_datum = SELECT + ( common_datum_list, + datum ); + END_TYPE; + + TYPE datum_reference_modifier = SELECT + ( datum_reference_modifier_with_value, + simple_datum_reference_modifier ); + END_TYPE; + + TYPE datum_reference_modifier_type = ENUMERATION OF + ( circular_or_cylindrical, + distance, + projected, + spherical ); + END_TYPE; + + TYPE datum_system_or_reference = SELECT + ( datum_reference, + datum_system ); + END_TYPE; + + TYPE day_in_month_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 31 ) ); + END_TYPE; + + TYPE day_in_week_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 7 ) ); + END_TYPE; + + TYPE day_in_year_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 366 ) ); + END_TYPE; + + TYPE defined_glyph_select = SELECT + ( pre_defined_character_glyph, + externally_defined_character_glyph ); + END_TYPE; + + TYPE defined_symbol_select = SELECT + ( pre_defined_symbol, + externally_defined_symbol ); + END_TYPE; + + TYPE derived_property_select = SELECT + ( property_definition, + action_property, + resource_property ); + END_TYPE; + + TYPE description_attribute_select = SELECT + ( action_request_solution, + application_context, + approval_role, + configuration_design, + context_dependent_shape_representation, + date_role, + date_time_role, + effectivity, + external_source, + organization_role, + organizational_project, + person_and_organization, + person_and_organization_role, + property_definition_representation, + representation ); + END_TYPE; + + TYPE descriptive_measure = STRING; + END_TYPE; + + TYPE detailed_report_type = ENUMERATION OF + ( measured_element, + inferior_quality_element ); + END_TYPE; + + TYPE dimension_count = INTEGER; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE dimension_extent_usage = ENUMERATION OF + ( origin, + target ); + END_TYPE; + + TYPE dimensional_characteristic = SELECT + ( dimensional_location, + dimensional_size ); + END_TYPE; + + TYPE direction_count_select = SELECT + ( u_direction_count, + v_direction_count ); + END_TYPE; + + TYPE document_identifier_assigned_item = SELECT + ( document ); + END_TYPE; + + TYPE document_reference_item = SELECT + ( action_directive, + action_method, + action_relationship, + applied_action_assignment, + applied_external_identification_assignment, + approval, + assembly_component_usage, + certification, + characterized_class, + characterized_object, + class, + class_system, + configuration_design, + configuration_item, + contract, + descriptive_representation_item, + dimensional_size, + executed_action, + externally_conditioned_data_quality_criterion, + externally_defined_dimension_definition, + externally_defined_item, + feature_definition, + general_property, + group, + group_relationship, + information_right, + information_usage_right, + material_designation, + measure_representation_item, + organization, + organizational_project, + person, + presentation_area, + process_plan, + product, + product_category, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_process, + product_definition_relationship, + product_definition_substitute, + product_related_product_category, + property_definition, + representation, + representation_item, + resource_requirement_type, + retention, + rule_set, + security_classification, + shape_aspect, + shape_aspect_relationship, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE dose_equivalent_measure = REAL; + END_TYPE; + + TYPE draughting_callout_element = SELECT + ( annotation_curve_occurrence, + annotation_fill_area_occurrence, + annotation_symbol_occurrence, + annotation_text_occurrence, + tessellated_annotation_occurrence ); + END_TYPE; + + TYPE draughting_model_item_association_select = SELECT + ( annotation_occurrence, + draughting_callout ); + END_TYPE; + + TYPE draughting_model_item_definition = SELECT + ( applied_action_assignment, + applied_action_method_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_classification_assignment, + applied_contract_assignment, + applied_date_and_time_assignment, + applied_date_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_group_assignment, + applied_identification_assignment, + applied_ineffectivity_assignment, + applied_name_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + applied_time_interval_assignment, + applied_usage_right, + dimensional_size, + geometric_tolerance, + product_definition_relationship, + product_definition_shape, + property_definition, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE draughting_model_item_select = SELECT + ( mapped_item, + styled_item, + axis2_placement, + camera_model, + draughting_callout ); + END_TYPE; + + TYPE draughting_subfigure_representation_item = SELECT + ( annotation_occurrence, + draughting_callout, + axis2_placement ); + END_TYPE; + + TYPE draughting_symbol_representation_item = SELECT + ( annotation_curve_occurrence, + annotation_symbol_occurrence, + annotation_fill_area_occurrence, + annotation_text_occurrence, + axis2_placement ); + END_TYPE; + + TYPE draughting_titled_item = SELECT + ( drawing_revision, + drawing_sheet_revision ); + END_TYPE; + + TYPE edge_or_curve = SELECT + ( curve, + edge ); + END_TYPE; + + TYPE effectivity_item = SELECT + ( action, + action_method, + action_method_relationship, + action_property, + action_relationship, + assembly_component_usage_substitute, + class, + class_system, + configuration_design, + configuration_item, + configured_effectivity_assignment, + document_file, + draughting_model, + drawing_revision, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification, + shape_aspect, + shape_representation ); + END_TYPE; + + TYPE electric_charge_measure = REAL; + END_TYPE; + + TYPE electric_current_measure = REAL; + END_TYPE; + + TYPE electric_potential_measure = REAL; + END_TYPE; + + TYPE elementary_function_enumerators = ENUMERATION OF + ( ef_and, + ef_or, + ef_not, + ef_xor, + ef_negate_i, + ef_add_i, + ef_subtract_i, + ef_multiply_i, + ef_divide_i, + ef_mod_i, + ef_exponentiate_i, + ef_eq_i, + ef_ne_i, + ef_gt_i, + ef_lt_i, + ef_ge_i, + ef_le_i, + ef_abs_i, + ef_max_i, + ef_min_i, + ef_if_i, + ef_negate_r, + ef_reciprocal_r, + ef_add_r, + ef_subtract_r, + ef_multiply_r, + ef_divide_r, + ef_mod_r, + ef_exponentiate_r, + ef_exponentiate_ri, + ef_eq_r, + ef_ne_r, + ef_gt_r, + ef_lt_r, + ef_ge_r, + ef_le_r, + ef_abs_r, + ef_max_r, + ef_min_r, + ef_acos_r, + ef_asin_r, + ef_atan2_r, + ef_cos_r, + ef_exp_r, + ef_ln_r, + ef_log2_r, + ef_log10_r, + ef_sin_r, + ef_sqrt_r, + ef_tan_r, + ef_if_r, + ef_form_c, + ef_rpart_c, + ef_ipart_c, + ef_negate_c, + ef_reciprocal_c, + ef_add_c, + ef_subtract_c, + ef_multiply_c, + ef_divide_c, + ef_exponentiate_c, + ef_exponentiate_ci, + ef_eq_c, + ef_ne_c, + ef_conjugate_c, + ef_abs_c, + ef_arg_c, + ef_cos_c, + ef_exp_c, + ef_ln_c, + ef_sin_c, + ef_sqrt_c, + ef_tan_c, + ef_if_c, + ef_subscript_s, + ef_eq_s, + ef_ne_s, + ef_gt_s, + ef_lt_s, + ef_ge_s, + ef_le_s, + ef_subsequence_s, + ef_concat_s, + ef_size_s, + ef_format, + ef_value, + ef_like, + ef_if_s, + ef_subscript_b, + ef_eq_b, + ef_ne_b, + ef_gt_b, + ef_lt_b, + ef_ge_b, + ef_le_b, + ef_subsequence_b, + ef_concat_b, + ef_size_b, + ef_if_b, + ef_subscript_t, + ef_eq_t, + ef_ne_t, + ef_concat_t, + ef_size_t, + ef_entuple, + ef_detuple, + ef_insert, + ef_remove, + ef_if_t, + ef_sum_it, + ef_product_it, + ef_add_it, + ef_subtract_it, + ef_scalar_mult_it, + ef_dot_prod_it, + ef_sum_rt, + ef_product_rt, + ef_add_rt, + ef_subtract_rt, + ef_scalar_mult_rt, + ef_dot_prod_rt, + ef_norm_rt, + ef_sum_ct, + ef_product_ct, + ef_add_ct, + ef_subtract_ct, + ef_scalar_mult_ct, + ef_dot_prod_ct, + ef_norm_ct, + ef_if, + ef_ensemble, + ef_member_of ); + END_TYPE; + + TYPE elementary_space_enumerators = ENUMERATION OF + ( es_numbers, + es_complex_numbers, + es_reals, + es_integers, + es_logicals, + es_booleans, + es_strings, + es_binarys, + es_maths_spaces, + es_maths_functions, + es_generics ); + END_TYPE; + + TYPE energy_measure = REAL; + END_TYPE; + + TYPE event_occurrence_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + draughting_model, + drawing_revision, + executed_action, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification_level, + shape_representation ); + END_TYPE; + + TYPE expression_extension_select = SELECT + ( expression_extension_string, + expression_extension_numeric ); + END_TYPE; + + TYPE extension_options = ENUMERATION OF + ( eo_none, + eo_cont, + eo_cont_right, + eo_cont_left ); + END_TYPE; + + TYPE external_identification_item = SELECT + ( action_relationship, + action_request_status, + applied_organization_assignment, + applied_person_and_organization_assignment, + approval, + approval_status, + assembly_bond_definition, + date_and_time_assignment, + date_assignment, + document_file, + external_source, + externally_defined_class, + externally_defined_context_dependent_unit, + externally_defined_conversion_based_unit, + externally_defined_general_property, + externally_defined_picture_representation_item, + externally_defined_representation_item, + generic_product_definition_reference, + organizational_address, + product_definition, + security_classification, + trimmed_curve, + versioned_action_request ); + END_TYPE; + + TYPE face_or_surface = SELECT + ( face, + surface ); + END_TYPE; + + TYPE fill_area_style_tile_shape_select = SELECT + ( fill_area_style_tile_curve_with_style, + fill_area_style_tile_coloured_region, + fill_area_style_tile_symbol_with_style, + pre_defined_tile, + externally_defined_tile ); + END_TYPE; + + TYPE fill_style_select = SELECT + ( fill_area_style_colour, + externally_defined_tile_style, + fill_area_style_tiles, + externally_defined_hatch_style, + fill_area_style_hatching ); + END_TYPE; + + TYPE font_select = SELECT + ( pre_defined_text_font, + externally_defined_text_font, + text_font ); + END_TYPE; + + TYPE force_measure = REAL; + END_TYPE; + + TYPE founded_item_select = SELECT + ( founded_item, + representation_item ); + END_TYPE; + + TYPE frequency_measure = REAL; + END_TYPE; + + TYPE generalized_surface_select = SELECT + ( surface, + face_surface, + surfaced_open_shell ); + END_TYPE; + + TYPE geometric_constraint_element = SELECT + ( point, + curve, + surface, + vector, + direction ); + END_TYPE; + + TYPE geometric_item_specific_usage_select = SELECT + ( shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE geometric_model_item = SELECT + ( connected_face_set, + edge_loop, + geometric_representation_item ); + END_TYPE; + + TYPE geometric_set_select = SELECT + ( curve, + point, + surface ); + END_TYPE; + + TYPE geometric_tolerance_modifier = ENUMERATION OF + ( any_cross_section, + common_zone, + each_radial_element, + free_state, + least_material_requirement, + line_element, + major_diameter, + maximum_material_requirement, + minor_diameter, + not_convex, + pitch_diameter, + reciprocity_requirement, + separate_requirement, + statistical_tolerance, + tangent_plane ); + END_TYPE; + + TYPE geometric_tolerance_target = SELECT + ( dimensional_location, + dimensional_size, + product_definition_shape, + shape_aspect ); + END_TYPE; + + TYPE groupable_item = SELECT + ( applied_identification_assignment, + applied_name_assignment, + component_feature, + geometric_representation_item, + group_relationship, + mapped_item, + package_product_concept_feature, + product_concept_feature, + product_definition, + product_definition_formation, + property_definition_representation, + representation, + representation_item, + representation_relationship_with_transformation, + shape_aspect, + shape_aspect_relationship, + shape_representation_relationship, + styled_item, + topological_representation_item ); + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GROUP' IN TYPEOF( SELF ) ) ); + END_TYPE; + + TYPE hour_in_day = INTEGER; + WHERE + wr1: ( ( 0 <= SELF ) AND ( SELF < 24 ) ); + END_TYPE; + + TYPE id_attribute_select = SELECT + ( action, + address, + application_context, + dimensional_size, + geometric_tolerance, + group, + organizational_project, + product_category, + property_definition, + representation, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE identification_item = SELECT + ( action, + action_directive, + action_method, + action_property, + applied_identification_assignment, + approval_status, + characterized_class, + class, + class_system, + configuration_item, + contract, + dimensional_size, + document_file, + document_type, + draughting_model, + effectivity, + general_property, + group, + group_relationship, + information_right, + information_usage_right, + material_designation, + measure_representation_item, + mechanical_design_geometric_presentation_representation, + organization, + organizational_project, + person_and_organization, + presentation_area, + product, + product_category, + product_class, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_formation, + product_definition_relationship, + product_identification, + property_definition, + property_definition_relationship, + representation, + rule_set, + security_classification, + security_classification_level, + shape_aspect_relationship, + shape_representation, + usage_association, + versioned_action_request ); + END_TYPE; + + TYPE identifier = STRING; + END_TYPE; + + TYPE illuminance_measure = REAL; + END_TYPE; + + TYPE inductance_measure = REAL; + END_TYPE; + + TYPE input_selector = positive_integer; + END_TYPE; + + TYPE inspected_ecdq_element_select = inspected_element_select; + END_TYPE; + + TYPE inspected_element_select = SELECT + ( assembly_component_usage, + axis2_placement_3d, + b_spline_or_composite_curve_select, + b_spline_or_rectangular_composite_surface_select, + cartesian_transformation_operator_3d, + closed_or_open_shell_select, + connected_face_set, + curve, + direction, + edge_curve, + edge_loop, + face_surface, + global_uncertainty_assigned_context, + global_unit_assigned_context, + group, + manifold_solid_brep, + placement, + point, + presentation_layer_assignment, + representation_item, + styled_item, + surface, + vertex_point ); + END_TYPE; + + TYPE inspected_shape_element_select = inspected_element_select; + END_TYPE; + + TYPE instance_usage_context_select = SELECT + ( product_definition_relationship, + product_definition_usage ); + END_TYPE; + + TYPE internal_or_reflected_shape_aspect = SELECT + ( shape_aspect, + identifier ); + END_TYPE; + + TYPE interpolation_type = ENUMERATION OF + ( undefined_interpolation_type, + discontinuous_interpolation_type, + synchronous_interpolation_type, + linear_interpolation_type ); + END_TYPE; + + TYPE invisibility_context = SELECT + ( draughting_model, + presentation_representation, + presentation_set ); + END_TYPE; + + TYPE invisible_item = SELECT + ( draughting_callout, + presentation_layer_assignment, + representation, + styled_item ); + END_TYPE; + + TYPE ir_usage_item = action_items; + END_TYPE; + + TYPE item_identified_representation_usage_definition = SELECT + ( applied_action_assignment, + applied_action_method_assignment, + applied_action_request_assignment, + applied_approval_assignment, + applied_certification_assignment, + applied_classification_assignment, + applied_contract_assignment, + applied_date_and_time_assignment, + applied_date_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_effectivity_assignment, + applied_event_occurrence_assignment, + applied_external_identification_assignment, + applied_group_assignment, + applied_identification_assignment, + applied_ineffectivity_assignment, + applied_name_assignment, + applied_organization_assignment, + applied_organizational_project_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + applied_time_interval_assignment, + applied_usage_right, + dimensional_size, + general_property, + geometric_tolerance, + product_definition_relationship, + property_definition, + property_definition_relationship, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE item_identified_representation_usage_select = SELECT + ( representation_item, + list_representation_item, + set_representation_item ); + END_TYPE; + + TYPE kinematic_analysis_definition = SELECT + ( interpolated_configuration_sequence, + prescribed_path ); + END_TYPE; + + TYPE kinematic_link_representation_items = SELECT + ( curve, + point, + rigid_placement, + surface ); + END_TYPE; + + TYPE kinematic_result = SELECT + ( interpolated_configuration_sequence, + resulting_path ); + END_TYPE; + + TYPE kinematic_topology_representation_select = SELECT + ( kinematic_topology_structure, + kinematic_topology_directed_structure, + kinematic_topology_network_structure ); + END_TYPE; + + TYPE knot_type = ENUMERATION OF + ( uniform_knots, + quasi_uniform_knots, + piecewise_bezier_knots, + unspecified ); + END_TYPE; + + TYPE label = STRING; + END_TYPE; + + TYPE layered_item = SELECT + ( presentation_representation, + representation_item ); + END_TYPE; + + TYPE length_measure = REAL; + END_TYPE; + + TYPE limit_condition = ENUMERATION OF + ( maximum_material_condition, + least_material_condition, + regardless_of_feature_size ); + END_TYPE; + + TYPE linear_geometry_constraint_element = SELECT + ( line, + plane, + direction, + vector ); + END_TYPE; + + TYPE link_or_shape_representation = SELECT + ( kinematic_link_representation, + shape_representation ); + END_TYPE; + + TYPE list_of_reversible_topology_item = LIST [0 : ?] OF reversible_topology_item; + END_TYPE; + + TYPE list_representation_item = LIST [1 : ?] OF representation_item; + END_TYPE; + + TYPE location_in_aggregate_item = LIST [1 : ?] OF integer_representation_item; + END_TYPE; + + TYPE location_of_extreme_value_select = SELECT + ( inspected_shape_element_select, + b_spline_surface_knot_locator, + b_spline_curve_knot_locator, + b_spline_curve_segment, + b_spline_surface_strip, + b_spline_surface_patch, + composite_curve_transition_locator, + rectangular_composite_surface_transition_locator, + boundary_curve_of_b_spline_or_rectangular_composite_surface, + oriented_edge, + face_bound, + point_on_edge_curve, + point_on_face_surface, + subedge, + subface ); + END_TYPE; + + TYPE luminous_flux_measure = REAL; + END_TYPE; + + TYPE luminous_intensity_measure = REAL; + END_TYPE; + +TYPE machining_feature_definition = SELECT ( + boss, + compound_feature, + externally_defined_feature_definition, + flat_face, + gear, + marking, + outer_round, + outside_profile, + pocket, + protrusion, + removal_volume, + replicate_feature, + revolved_profile, + rib_top, + round_hole, + rounded_end, + spherical_cap, + step, + slot, + thread, + turned_knurl); +END_TYPE; + + TYPE magnetic_flux_density_measure = REAL; + END_TYPE; + + TYPE magnetic_flux_measure = REAL; + END_TYPE; + + TYPE marker_select = SELECT + ( marker_type, + pre_defined_marker ); + END_TYPE; + + TYPE marker_type = ENUMERATION OF + ( dot, + x, + plus, + asterisk, + ring, + square, + triangle ); + END_TYPE; + + TYPE mass_measure = REAL; + END_TYPE; + + TYPE maths_atom = SELECT + ( maths_simple_atom, + maths_enum_atom ); + END_TYPE; + + TYPE maths_binary = BINARY; + END_TYPE; + + TYPE maths_boolean = BOOLEAN; + END_TYPE; + + TYPE maths_enum_atom = SELECT + ( elementary_space_enumerators, + ordering_type, + elementary_function_enumerators, + open_closed, + space_constraint_type, + repackage_options, + extension_options ); + END_TYPE; + + TYPE maths_expression = SELECT + ( atom_based_value, + maths_tuple, + generic_expression ); + END_TYPE; + + TYPE maths_function_select = SELECT + ( maths_function, + elementary_function_enumerators ); + END_TYPE; + + TYPE maths_integer = INTEGER; + END_TYPE; + + TYPE maths_logical = LOGICAL; + END_TYPE; + + TYPE maths_number = NUMBER; + END_TYPE; + + TYPE maths_real = REAL; + END_TYPE; + + TYPE maths_simple_atom = SELECT + ( maths_number, + maths_real, + maths_integer, + maths_logical, + maths_boolean, + maths_string, + maths_binary ); + END_TYPE; + + TYPE maths_space_or_function = SELECT + ( maths_space, + maths_function ); + END_TYPE; + + TYPE maths_string = STRING; + END_TYPE; + + TYPE maths_tuple = LIST [0 : ?] OF maths_value; + END_TYPE; + + TYPE maths_value = SELECT + ( atom_based_value, + maths_tuple, + generic_expression ); + WHERE + constancy: ( ( NOT ( 'GENERIC_EXPRESSION' IN stripped_typeof( SELF ) ) ) OR expression_is_constant( SELF ) ); + END_TYPE; + + TYPE measure_value = SELECT + ( absorbed_dose_measure, + dose_equivalent_measure, + radioactivity_measure, + acceleration_measure, + amount_of_substance_measure, + area_measure, + celsius_temperature_measure, + context_dependent_measure, + count_measure, + descriptive_measure, + capacitance_measure, + electric_charge_measure, + conductance_measure, + electric_current_measure, + electric_potential_measure, + energy_measure, + magnetic_flux_density_measure, + force_measure, + frequency_measure, + illuminance_measure, + inductance_measure, + length_measure, + luminous_flux_measure, + luminous_intensity_measure, + magnetic_flux_measure, + mass_measure, + numeric_measure, + non_negative_length_measure, + parameter_value, + plane_angle_measure, + positive_length_measure, + positive_plane_angle_measure, + positive_ratio_measure, + power_measure, + pressure_measure, + ratio_measure, + resistance_measure, + solid_angle_measure, + thermodynamic_temperature_measure, + time_measure, + velocity_measure, + volume_measure ); + END_TYPE; + + TYPE measured_value_select = SELECT + ( boolean_value, + measure_value, + plane_angle_and_ratio_pair, + plane_angle_and_length_pair ); + END_TYPE; + + TYPE mechanical_design_and_draughting_relationship_select = SELECT + ( draughting_model, + mechanical_design_geometric_presentation_representation, + mechanical_design_presentation_representation_with_draughting, + mechanical_design_shaded_presentation_representation, + shape_representation ); + END_TYPE; + + TYPE mechanical_design_geometric_presentation_area_items = SELECT + ( axis2_placement, + mapped_item ); + END_TYPE; + + TYPE mechanical_design_geometric_presentation_representation_items = SELECT + ( axis2_placement, + camera_model_d3, + mapped_item, + styled_item ); + END_TYPE; + + TYPE mechanical_design_shaded_presentation_area_items = SELECT + ( axis2_placement, + mapped_item ); + END_TYPE; + + TYPE mechanical_design_shaded_presentation_representation_items = SELECT + ( axis2_placement, + camera_model_d3, + mapped_item, + styled_item ); + END_TYPE; + + TYPE message = STRING; + END_TYPE; + + TYPE minute_in_hour = INTEGER; + WHERE + wr1: ( ( 0 <= SELF ) AND ( SELF <= 59 ) ); + END_TYPE; + + TYPE month_in_year_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 12 ) ); + END_TYPE; + + TYPE multi_language_attribute_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + actuated_kinematic_pair, + alternate_product_relationship, + application_context, + applied_certification_assignment, + applied_document_reference, + applied_document_usage_constraint_assignment, + applied_external_identification_assignment, + applied_identification_assignment, + applied_organizational_project_assignment, + approval, + approval_relationship, + approval_status, + assembly_component_usage_substitute, + attribute_value_assignment, + certification, + certification_type, + colour, + configuration_design, + configuration_item, + contract, + data_environment, + date_role, + date_time_role, + descriptive_representation_item, + document_relationship, + document_usage_role, + draughting_title, + effectivity, + effectivity_relationship, + event_occurrence, + external_source, + general_property, + general_property_relationship, + geometric_representation_item, + geometric_tolerance, + group, + group_relationship, + identification_role, + information_right, + information_usage_right, + kinematic_pair, + make_from_usage_option, + mapped_item, + name_assignment, + object_role, + organization_relationship, + organization_role, + organizational_project, + organizational_project_relationship, + organizational_project_role, + person_and_organization, + person_and_organization_role, + presentation_layer_assignment, + process_product_association, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_relationship, + product_definition, + product_definition_context, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_shape, + product_definition_substitute, + product_related_product_category, + property_definition, + property_definition_relationship, + representation, + representation_relationship, + requirement_for_action_resource, + resource_property, + resource_requirement_type, + security_classification, + security_classification_assignment, + shape_aspect, + shape_aspect_relationship, + shape_representation, + styled_item, + time_interval_role, + topological_representation_item, + uncertainty_measure_with_unit, + uncertainty_qualifier, + usage_association, + versioned_action_request, + versioned_action_request_relationship ); + END_TYPE; + + TYPE multi_or_next_assembly_usage_occurrence = SELECT + ( multi_level_reference_designator, + next_assembly_usage_occurrence ); + END_TYPE; + + TYPE name_attribute_select = SELECT + ( action_request_solution, + address, + configuration_design, + context_dependent_shape_representation, + derived_unit, + effectivity, + person_and_organization, + product_definition, + product_definition_substitute, + property_definition_representation ); + END_TYPE; + + TYPE name_item = SELECT + ( assembly_component_usage, + external_class_library, + group, + group_relationship, + product, + product_definition ); + END_TYPE; + + TYPE non_negative_length_measure = length_measure; + WHERE + wr1: ( SELF >= 0 ); + END_TYPE; + + TYPE nonnegative_integer = INTEGER; + WHERE + nonnegativity: ( SELF >= 0 ); + END_TYPE; + + TYPE null_style = ENUMERATION OF + ( null ); + END_TYPE; + + TYPE numeric_measure = NUMBER; + END_TYPE; + + TYPE one_or_two = positive_integer; + WHERE + in_range: ( ( SELF = 1 ) OR ( SELF = 2 ) ); + END_TYPE; + + TYPE open_closed = ENUMERATION OF + ( open, + closed ); + END_TYPE; + + TYPE ordering_type = ENUMERATION OF + ( by_rows, + by_columns ); + END_TYPE; + + TYPE organization_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + document_file, + document_type, + draughting_model, + drawing_revision, + effectivity, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + rule_action, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE orientation_basis_select = SELECT + ( axis2_placement_3d, + min_and_major_ply_orientation_basis ); + END_TYPE; + + TYPE parallel_offset_type = ENUMERATION OF + ( curve_2d_offset, + curve_3d_offset, + surface_offset ); + END_TYPE; + + TYPE parameter_value = REAL; + END_TYPE; + + TYPE path_or_composite_curve = SELECT + ( composite_curve, + path ); + END_TYPE; + + TYPE pcurve_or_surface = SELECT + ( pcurve, + surface ); + END_TYPE; + + TYPE person_and_organization_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_identification_assignment, + applied_organization_assignment, + applied_person_and_organization_assignment, + applied_security_classification_assignment, + approval, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + data_quality_definition, + document_file, + document_type, + draughting_model, + drawing_revision, + event_occurrence, + executed_action, + general_property, + information_usage_right, + material_designation, + mechanical_design_geometric_presentation_representation, + organization, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + rule_action, + security_classification, + security_classification_level, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE person_organization_select = SELECT + ( person, + organization, + person_and_organization ); + END_TYPE; + + TYPE picture_representation_item_select = SELECT + ( styled_item, + planar_box, + axis2_placement_2d ); + END_TYPE; + + TYPE planar_curve_select = SELECT + ( line, + conic, + trimmed_curve, + pcurve, + surface_curve ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + wr2: check_curve_planarity( SELF ); + END_TYPE; + + TYPE plane_angle_measure = REAL; + END_TYPE; + + TYPE plane_or_planar_box = SELECT + ( plane, + planar_box ); + END_TYPE; + + TYPE point_and_vector_member = SELECT + ( point, + direction ); + END_TYPE; + + TYPE point_and_vector_members = LIST [2 : 3] OF point_and_vector_member; + END_TYPE; + + TYPE point_curve_or_surface_constraint_element = SELECT + ( point, + curve, + surface ); + END_TYPE; + + TYPE point_path_members = LIST [1 : ?] OF point_and_vector; + END_TYPE; + + TYPE point_placement_shape_representation_item = SELECT + ( compound_representation_item, + mapped_item, + axis2_placement_3d ); + END_TYPE; + + TYPE positive_integer = nonnegative_integer; + WHERE + positivity: ( SELF > 0 ); + END_TYPE; + + TYPE positive_length_measure = non_negative_length_measure; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE positive_plane_angle_measure = plane_angle_measure; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE positive_ratio_measure = ratio_measure; + WHERE + wr1: ( SELF > 0 ); + END_TYPE; + + TYPE power_measure = REAL; + END_TYPE; + + TYPE preferred_ordering = ENUMERATION OF + ( extremity_order, + detected_order ); + END_TYPE; + + TYPE preferred_surface_curve_representation = ENUMERATION OF + ( curve_3d, + pcurve_s1, + pcurve_s2 ); + END_TYPE; + + TYPE presentable_text = STRING; + WHERE + wr1: control_characters_free( SELF ); + END_TYPE; + + TYPE presentation_representation_select = SELECT + ( presentation_representation, + presentation_set ); + END_TYPE; + + TYPE presentation_size_assignment_select = SELECT + ( presentation_view, + presentation_area, + area_in_set ); + END_TYPE; + + TYPE presentation_style_select = SELECT + ( point_style, + curve_style, + surface_style_usage, + symbol_style, + fill_area_style, + text_style, + externally_defined_style, + null_style ); + END_TYPE; + + TYPE presented_item_select = SELECT + ( action, + action_method, + action_relationship, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_formation, + product_definition_relationship ); + END_TYPE; + + TYPE pressure_measure = REAL; + END_TYPE; + + TYPE previous_element_assignment_select = SELECT + ( modify_element, + delete_element ); + END_TYPE; + + TYPE product_definition_or_assembly_relationship = SELECT + ( assembly_component_usage, + product_definition ); + END_TYPE; + + TYPE product_definition_or_breakdown_element_usage = SELECT + ( product_definition, + product_definition_usage ); + END_TYPE; + + TYPE product_definition_or_product_definition_relationship = SELECT + ( product_definition, + product_definition_usage ); + END_TYPE; + + TYPE product_definition_or_reference = SELECT + ( product_definition, + generic_product_definition_reference ); + END_TYPE; + + TYPE product_or_formation_or_definition = SELECT + ( product, + product_definition_formation, + product_definition ); + END_TYPE; + + TYPE product_space = SELECT + ( uniform_product_space, + listed_product_space ); + END_TYPE; + + TYPE project_item = SELECT + ( assembly_component_usage, + configuration_item, + executed_action, + product, + product_concept, + product_definition, + product_definition_formation ); + END_TYPE; + + TYPE property_or_shape_select = SELECT + ( property_definition, + shape_definition ); + END_TYPE; + + TYPE property_variable_rep_select = SELECT + ( dimensional_size, + representation ); + END_TYPE; + + TYPE radial_geometry_constraint_element = SELECT + ( circle, + cylindrical_surface, + conical_surface, + spherical_surface, + right_circular_cylinder, + right_circular_cone, + sphere ); + END_TYPE; + + TYPE radioactivity_measure = REAL; + END_TYPE; + + TYPE ratio_measure = REAL; + END_TYPE; + + TYPE real_interval = SELECT + ( real_interval_from_min, + real_interval_to_max, + finite_real_interval, + elementary_space ); + WHERE + wr1: ( ( NOT ( 'ELEMENTARY_SPACE' IN stripped_typeof( SELF ) ) ) OR ( SELF\elementary_space.space_id = es_reals ) ); + END_TYPE; + + TYPE rendering_properties_select = SELECT + ( surface_style_reflectance_ambient, + surface_style_transparent ); + END_TYPE; + + TYPE repackage_options = ENUMERATION OF + ( ro_nochange, + ro_wrap_as_tuple, + ro_unwrap_tuple ); + END_TYPE; + + TYPE represented_definition = SELECT + ( general_property, + property_definition, + property_definition_relationship, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE requirement_assigned_item = SELECT + ( assembly_joint, + configuration_item, + descriptive_representation_item, + product, + product_class, + product_definition, + product_definition_formation, + product_definition_relationship, + representation, + shape_aspect ); + END_TYPE; + + TYPE requirement_satisfaction_item = SELECT + ( requirement_assigned_item ); + END_TYPE; + + TYPE requirement_source_item = SELECT + ( characterized_object, + group, + group_relationship, + product, + product_definition, + product_definition_formation, + product_definition_relationship, + shape_aspect ); + END_TYPE; + + TYPE resistance_measure = REAL; + END_TYPE; + + TYPE reversible_topology = SELECT + ( reversible_topology_item, + list_of_reversible_topology_item, + set_of_reversible_topology_item ); + END_TYPE; + + TYPE reversible_topology_item = SELECT + ( edge, + path, + face, + face_bound, + closed_shell, + open_shell ); + END_TYPE; + + TYPE rigid_placement = SELECT + ( axis2_placement_3d, + su_parameters ); + END_TYPE; + + TYPE role_select = SELECT + ( action_assignment, + action_request_assignment, + approval_assignment, + approval_date_time, + certification_assignment, + contract_assignment, + document_reference, + effectivity_assignment, + group_assignment, + name_assignment, + security_classification_assignment ); + END_TYPE; + + TYPE rule_superseded_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE second_in_minute = REAL; + WHERE + wr1: ( ( 0 <= SELF ) AND ( SELF < 60 ) ); + END_TYPE; + + TYPE security_classification_item = SELECT + ( action, + action_directive, + action_property, + applied_action_assignment, + assembly_component_usage, + assembly_component_usage_substitute, + class_system, + configuration_design, + configuration_effectivity, + configured_effectivity_assignment, + document, + document_file, + draughting_model, + drawing_revision, + executed_action, + general_property, + make_from_usage_option, + material_designation, + mechanical_design_geometric_presentation_representation, + organizational_project, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_category, + product_definition, + product_definition_formation, + product_definition_relationship, + product_definition_usage, + property_definition, + resource_property, + shape_representation, + versioned_action_request ); + END_TYPE; + + TYPE set_inner_area_boundary = SET [1 : ?] OF bounded_primitive_2d; + END_TYPE; + + TYPE set_of_reversible_topology_item = SET [0 : ?] OF reversible_topology_item; + END_TYPE; + + TYPE set_representation_item = SET [1 : ?] OF representation_item; + END_TYPE; + + TYPE shading_curve_method = ENUMERATION OF + ( constant_colour, + linear_colour ); + END_TYPE; + + TYPE shading_surface_method = ENUMERATION OF + ( constant_shading, + colour_shading, + dot_shading, + normal_shading ); + END_TYPE; + + TYPE shape_data_quality_assessment_specification_select = SELECT + ( shape_data_quality_assessment_by_logical_test, + shape_data_quality_assessment_by_numerical_test ); + END_TYPE; + + TYPE shape_data_quality_value_limit_type_select = SELECT + ( shape_data_quality_value_range, + shape_data_quality_value_limit ); + END_TYPE; + + TYPE shape_definition = SELECT + ( product_definition_shape, + shape_aspect, + shape_aspect_relationship ); + END_TYPE; + + TYPE shape_dimension_representation_item = SELECT + ( compound_representation_item, + descriptive_representation_item, + measure_representation_item, + placement ); + END_TYPE; + + TYPE shape_model = SELECT + ( constructive_geometry_representation, + shape_representation ); + END_TYPE; + + TYPE shape_representation_item = SELECT + ( geometric_representation_item, + topological_representation_item ); + END_TYPE; + + TYPE shape_representation_with_parameters_items = SELECT + ( descriptive_representation_item, + direction, + measure_representation_item, + placement ); + END_TYPE; + + TYPE shell = SELECT + ( vertex_shell, + wire_shell, + open_shell, + closed_shell ); + END_TYPE; + + TYPE si_prefix = ENUMERATION OF + ( exa, + peta, + tera, + giga, + mega, + kilo, + hecto, + deca, + deci, + centi, + milli, + micro, + nano, + pico, + femto, + atto ); + END_TYPE; + + TYPE si_unit_name = ENUMERATION OF + ( metre, + gram, + second, + ampere, + kelvin, + mole, + candela, + radian, + steradian, + hertz, + newton, + pascal, + joule, + watt, + coulomb, + volt, + farad, + ohm, + siemens, + weber, + tesla, + henry, + degree_celsius, + lumen, + lux, + becquerel, + gray, + sievert ); + END_TYPE; + + TYPE simple_datum_reference_modifier = ENUMERATION OF + ( any_cross_section, + any_longitudinal_section, + basic, + contacting_feature, + degree_of_freedom_constraint_u, + degree_of_freedom_constraint_v, + degree_of_freedom_constraint_w, + degree_of_freedom_constraint_x, + degree_of_freedom_constraint_y, + degree_of_freedom_constraint_z, + distance_variable, + free_state, + least_material_requirement, + line, + major_diameter, + maximum_material_requirement, + minor_diameter, + orientation, + pitch_diameter, + plane, + point, + translation ); + END_TYPE; + + TYPE size_select = SELECT + ( positive_length_measure, + measure_with_unit, + descriptive_measure ); + END_TYPE; + + TYPE sketch_basis_select = SELECT + ( planar_curve_select, + curve_bounded_surface, + face_surface ); + END_TYPE; + + TYPE sketch_element_select = SELECT + ( curve, + point ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_TYPE; + + TYPE sketch_type_select = SELECT + ( neutral_sketch_representation, + positioned_sketch, + subsketch ); + END_TYPE; + + TYPE solid_angle_measure = REAL; + END_TYPE; + + TYPE source = ENUMERATION OF + ( made, + bought, + not_known ); + END_TYPE; + + TYPE source_item = SELECT + ( identifier, + message ); + END_TYPE; + + TYPE space_constraint_type = ENUMERATION OF + ( sc_equal, + sc_subspace, + sc_member ); + END_TYPE; + + TYPE spatial_rotation = SELECT + ( ypr_rotation, + rotation_about_direction ); + END_TYPE; + + TYPE spherical_pair_select = SELECT + ( spherical_pair, + spherical_pair_with_pin ); + END_TYPE; + + TYPE start_request_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE statistical_value_type = ENUMERATION OF + ( number_of_inspected_instances, + number_of_quality_defects_detected ); + END_TYPE; + + TYPE string_representation_item_select = SELECT + ( descriptive_representation_item, + included_text_block, + structured_text_composition ); + END_TYPE; + + TYPE style_context_select = SELECT + ( group, + presentation_layer_assignment, + presentation_set, + representation, + representation_item, + representation_relationship ); + END_TYPE; + + TYPE styled_item_target = SELECT + ( geometric_representation_item, + mapped_item, + representation, + topological_representation_item ); + END_TYPE; + + TYPE summary_report_type = ENUMERATION OF + ( unspecified, + conclusion_only, + number_of_quality_defects, + number_of_inspections_and_conclusion, + full_statistics ); + END_TYPE; + + TYPE supported_item = SELECT + ( action_directive, + action, + action_method ); + END_TYPE; + + TYPE surface_boundary_type = ENUMERATION OF + ( u_parameter_min, + v_parameter_min, + u_parameter_max, + v_parameter_max ); + END_TYPE; + + TYPE surface_model = SELECT + ( face_based_surface_model, + shell_based_surface_model ); + END_TYPE; + + TYPE surface_or_solid_model = SELECT + ( surface_model, + solid_model ); + END_TYPE; + + TYPE surface_side = ENUMERATION OF + ( positive, + negative, + both ); + END_TYPE; + + TYPE surface_side_style_select = SELECT + ( surface_side_style, + pre_defined_surface_side_style ); + END_TYPE; + + TYPE surface_style_element_select = SELECT + ( surface_style_fill_area, + surface_style_boundary, + surface_style_silhouette, + surface_style_segmentation_curve, + surface_style_control_grid, + surface_style_parameter_line, + surface_style_rendering ); + END_TYPE; + + TYPE swept_surface_or_solid = SELECT + ( swept_surface, + swept_face_solid, + swept_area_solid ); + END_TYPE; + + TYPE symbol_style_select = SELECT + ( symbol_colour ); + END_TYPE; + + TYPE tangent_contact_type = ENUMERATION OF + ( point_contact, + curve_contact, + surface_contact ); + END_TYPE; + + TYPE tessellated_edge_or_vertex = SELECT + ( tessellated_edge, + tessellated_vertex ); + END_TYPE; + + TYPE text = STRING; + END_TYPE; + + TYPE text_alignment = label; + END_TYPE; + + TYPE text_delineation = label; + END_TYPE; + + TYPE text_or_character = SELECT + ( annotation_text, + annotation_text_character, + defined_character_glyph, + composite_text, + text_literal ); + END_TYPE; + + TYPE text_path = ENUMERATION OF + ( left, + right, + up, + down ); + END_TYPE; + + TYPE text_string_representation_item = SELECT + ( text_literal, + annotation_text, + annotation_text_character, + defined_character_glyph, + composite_text, + axis2_placement ); + END_TYPE; + + TYPE thermodynamic_temperature_measure = REAL; + END_TYPE; + + TYPE time_interval_item = SELECT + ( action, + action_directive, + action_method, + action_property, + action_relationship, + action_request_solution, + alternate_product_relationship, + applied_action_assignment, + applied_classification_assignment, + applied_person_and_organization_assignment, + approval_status, + assembly_component_usage_substitute, + certification, + class, + class_system, + configuration_design, + configuration_effectivity, + configuration_item, + configured_effectivity_assignment, + contract, + document_file, + draughting_model, + drawing_revision, + executed_action, + general_property, + material_designation, + mechanical_design_geometric_presentation_representation, + organization_relationship, + organizational_project, + person_and_organization, + presentation_area, + product, + product_concept, + product_concept_feature, + product_concept_feature_association, + product_concept_feature_category, + product_concept_feature_category_usage, + product_definition, + product_definition_formation, + product_definition_formation_relationship, + product_definition_relationship, + product_definition_substitute, + property_definition, + requirement_for_action_resource, + resource_property, + security_classification, + security_classification_level, + shape_representation, + time_interval_based_effectivity, + versioned_action_request ); + END_TYPE; + + TYPE time_measure = REAL; + END_TYPE; + + TYPE tolerance_method_definition = SELECT + ( limits_and_fits, + tolerance_value ); + END_TYPE; + + TYPE tolerance_zone_target = SELECT + ( dimensional_location, + dimensional_size, + geometric_tolerance, + general_datum_reference ); + END_TYPE; + + TYPE transformation = SELECT + ( item_defined_transformation, + functionally_defined_transformation ); + END_TYPE; + + TYPE transition_code = ENUMERATION OF + ( discontinuous, + continuous, + cont_same_gradient, + cont_same_gradient_same_curvature ); + END_TYPE; + + TYPE trim_condition_select = SELECT + ( length_measure, + plane_angle_measure, + generalized_surface_select, + solid_model ); + END_TYPE; + + TYPE trim_intent = ENUMERATION OF + ( blind, + offset, + through_all, + unspecified, + up_to_next ); + END_TYPE; + + TYPE trimming_preference = ENUMERATION OF + ( cartesian, + parameter, + unspecified ); + END_TYPE; + + TYPE trimming_select = SELECT + ( cartesian_point, + parameter_value ); + END_TYPE; + + TYPE tuple_space = SELECT + ( product_space, + extended_tuple_space ); + END_TYPE; + + TYPE u_direction_count = INTEGER; + WHERE + wr1: ( SELF > 1 ); + END_TYPE; + + TYPE u_or_v_parameter = ENUMERATION OF + ( u_parameter, + v_parameter ); + END_TYPE; + + TYPE unit = SELECT + ( derived_unit, + named_unit ); + END_TYPE; + + TYPE used_quality_representation_select = SELECT + ( data_quality_criteria_representation, + data_quality_inspection_result_representation ); + END_TYPE; + + TYPE v_direction_count = INTEGER; + WHERE + wr1: ( SELF > 1 ); + END_TYPE; + + TYPE value_format_type = identifier; + WHERE + wr1: ( LENGTH( SELF ) <= 80 ); + END_TYPE; + + TYPE value_qualifier = SELECT + ( precision_qualifier, + type_qualifier, + uncertainty_qualifier, + value_format_type_qualifier ); + END_TYPE; + + TYPE vector_or_direction = SELECT + ( direction, + vector ); + END_TYPE; + + TYPE velocity_measure = REAL; + END_TYPE; + + TYPE volume_measure = REAL; + END_TYPE; + + TYPE week_in_year_number = INTEGER; + WHERE + wr1: ( ( 1 <= SELF ) AND ( SELF <= 53 ) ); + END_TYPE; + + TYPE work_item = SELECT + ( product_definition_formation ); + END_TYPE; + + TYPE year_number = INTEGER; + WHERE + wr1: ( SELF > 1581 ); + END_TYPE; + + TYPE ypr_enumeration = ENUMERATION OF + ( yaw, + pitch, + roll ); + END_TYPE; + + TYPE ypr_rotation = ARRAY [ypr_index( yaw ) : ypr_index( roll )] OF plane_angle_measure; + END_TYPE; + + TYPE zero_or_one = nonnegative_integer; + WHERE + in_range: ( ( SELF = 0 ) OR ( SELF = 1 ) ); + END_TYPE; + +(* + The following seven ENTITYs have been added to address Bug 5057 for the + initial ed2 version until they can properly be added to the constituent modules. +*) + + ENTITY convex_hexahedron + SUBTYPE OF (faceted_primitive); + WHERE + WR1: SIZEOF(points) = 8; + WR2: above_plane(points[1], points[2], points[3], points[4]) = 0.0; + WR3: above_plane(points[5], points[8], points[7], points[6]) = 0.0; + WR4: above_plane(points[1], points[4], points[8], points[5]) = 0.0; + WR5: above_plane(points[4], points[3], points[7], points[8]) = 0.0; + WR6: above_plane(points[3], points[2], points[6], points[7]) = 0.0; + WR7: above_plane(points[1], points[5], points[6], points[2]) = 0.0; + WR8: same_side([points[1], points[2], points[3]], [points[5], points[6], points[7], points[8]]); + WR9: same_side([points[1], points[4], points[8]], [points[3], points[7], points[6], points[2]]); + WR10: same_side([points[1], points[2], points[5]], [points[3], points[7], points[8], points[4]]); + WR11: same_side([points[5], points[6], points[7]], [points[1], points[2], points[3], points[4]]); + WR12: same_side([points[3], points[7], points[6]], [points[1], points[4], points[8], points[5]]); + WR13: same_side([points[3], points[7], points[8]], [points[1], points[5], points[6], points[2]]); + END_ENTITY; + + ENTITY cyclide_segment_solid + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + radius1 : positive_length_measure; + radius2 : positive_length_measure; + cone_angle1 : plane_angle_measure; + cone_angle2 : plane_angle_measure; + turn_angle : plane_angle_measure; + END_ENTITY; + + ENTITY eccentric_cone + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + height : positive_length_measure; + x_offset : length_measure; + y_offset : length_measure; + ratio : REAL; + WHERE + WR1: ratio >= 0.0; + END_ENTITY; + + ENTITY ellipsoid + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + semi_axis_3 : positive_length_measure; + END_ENTITY; + + ENTITY faceted_primitive + SUPERTYPE OF (ONEOF (tetrahedron, + convex_hexahedron)) + SUBTYPE OF (geometric_representation_item); + points : LIST[4:?] OF UNIQUE cartesian_point; + WHERE + WR1: points[1].dim = 3; + END_ENTITY; + + ENTITY rectangular_pyramid + SUBTYPE OF (geometric_representation_item); + position : axis2_placement_3d; + xlength : positive_length_measure; + ylength : positive_length_measure; + height : positive_length_measure; + END_ENTITY; + + ENTITY tetrahedron + SUBTYPE OF (faceted_primitive); + WHERE + WR1: SIZEOF(points) = 4; + WR2: above_plane(points[1], points[2], points[3], points[4]) <> 0.0; + END_ENTITY; + +(* End of added ENTITYs. JH 2014-05-22 *) + + ENTITY abrupt_change_of_surface_normal + SUBTYPE OF ( geometry_with_local_irregularity ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + small_vector_tolerance : length_measure; + test_point_distance_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY abs_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY absorbed_dose_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ABSORBED_DOSE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY absorbed_dose_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.gray ) ); + END_ENTITY; + + ENTITY abstract_variable + SUBTYPE OF ( property_definition, property_definition_representation, representation, representation_item ); + END_ENTITY; + + ENTITY abstracted_expression_function + SUBTYPE OF ( maths_function, quantifier_expression ); + DERIVE + SELF\quantifier_expression.variables : LIST [1 : ?] OF UNIQUE generic_variable := remove_first( SELF\ + multiple_arity_generic_expression.operands ); + expr : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + WHERE + wr1: ( SIZEOF( QUERY ( operand <* SELF\multiple_arity_generic_expression.operands | ( NOT has_values_space( operand ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY acceleration_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACCELERATION_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY acceleration_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 1, 0, -2, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY acos_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY action; + name : label; + description : OPTIONAL text; + chosen_method : action_method; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY action_assignment + ABSTRACT SUPERTYPE; + assigned_action : action; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) <= + 1 ); + END_ENTITY; + + ENTITY action_directive; + name : label; + description : OPTIONAL text; + analysis : text; + comment : text; + requests : SET [1 : ?] OF versioned_action_request; + END_ENTITY; + + ENTITY action_method; + name : label; + description : OPTIONAL text; + consequence : text; + purpose : text; + END_ENTITY; + + ENTITY action_method_assignment + ABSTRACT SUPERTYPE; + assigned_action_method : action_method; + role : action_method_role; + END_ENTITY; + + ENTITY action_method_relationship; + name : label; + description : OPTIONAL text; + relating_method : action_method; + related_method : action_method; + END_ENTITY; + + ENTITY action_method_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY action_property; + name : label; + description : text; + definition : characterized_action_definition; + END_ENTITY; + + ENTITY action_property_representation; + name : label; + description : text; + property : action_property; + representation : representation; + END_ENTITY; + + ENTITY action_relationship; + name : label; + description : OPTIONAL text; + relating_action : action; + related_action : action; + END_ENTITY; + + ENTITY action_request_assignment + ABSTRACT SUPERTYPE; + assigned_action_request : versioned_action_request; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) <= + 1 ); + END_ENTITY; + + ENTITY action_request_solution; + method : action_method; + request : versioned_action_request; + DERIVE + description : text := get_description_value( SELF ); + name : label := get_name_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY action_request_status; + status : label; + assigned_request : versioned_action_request; + END_ENTITY; + + ENTITY action_resource; + name : label; + description : OPTIONAL text; + usage : SET [1 : ?] OF supported_item; + kind : action_resource_type; + END_ENTITY; + + ENTITY action_resource_requirement; + name : label; + description : text; + kind : resource_requirement_type; + operations : SET [1 : ?] OF characterized_action_definition; + END_ENTITY; + + ENTITY action_resource_type; + name : label; + END_ENTITY; + + ENTITY action_status; + status : label; + assigned_action : executed_action; + END_ENTITY; + + ENTITY actuated_kinematic_pair + SUBTYPE OF ( kinematic_pair ); + t_x : OPTIONAL actuated_direction; + t_y : OPTIONAL actuated_direction; + t_z : OPTIONAL actuated_direction; + r_x : OPTIONAL actuated_direction; + r_y : OPTIONAL actuated_direction; + r_z : OPTIONAL actuated_direction; + END_ENTITY; + + ENTITY add_element + SUBTYPE OF ( change_element ); + END_ENTITY; + + ENTITY address; + internal_location : OPTIONAL label; + street_number : OPTIONAL label; + street : OPTIONAL label; + postal_box : OPTIONAL label; + town : OPTIONAL label; + region : OPTIONAL label; + postal_code : OPTIONAL label; + country : OPTIONAL label; + facsimile_number : OPTIONAL label; + telephone_number : OPTIONAL label; + electronic_mail_address : OPTIONAL label; + telex_number : OPTIONAL label; + DERIVE + name : label := get_name_value( SELF ); + url : identifier := get_id_value( SELF ); + WHERE + wr1: ( EXISTS( internal_location ) OR EXISTS( street_number ) OR EXISTS( street ) OR EXISTS( postal_box ) OR EXISTS( town ) + OR EXISTS( region ) OR EXISTS( postal_code ) OR EXISTS( country ) OR EXISTS( facsimile_number ) OR EXISTS( + telephone_number ) OR EXISTS( electronic_mail_address ) OR EXISTS( telex_number ) ); + END_ENTITY; + + ENTITY advanced_brep_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ] * TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( SIZEOF( + QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fcs ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( msb <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' + IN TYPEOF( it ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( msb\ + manifold_solid_brep.outer ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( brv <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* brv\brep_with_voids.voids | csh\oriented_closed_shell.orientation ) ) + = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION' IN + TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY advanced_face + SUBTYPE OF ( face_surface ); + WHERE + wr1 : ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_SURFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_SURFACE' ] * TYPEOF( face_geometry ) ) = 1 ); + wr2 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF( oe\oriented_edge.edge_element ) ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SURFACE_CURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE'] * TYPEOF( oe.edge_element\ + edge_curve.edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( oe\edge.edge_start ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF( oe\edge.edge_start\vertex_point. + vertex_geometry ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( oe\edge. + edge_end ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF( oe\edge.edge_end\ + vertex_point.vertex_geometry ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_PATH' IN TYPEOF( + elp_fbnds.bound ) ) ) ) = 0 ); + wr6 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_SURFACE' IN TYPEOF( face_geometry ) ) ) OR ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONIC' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF( face_geometry\swept_surface. + swept_curve ) ) = 1 ) ); + wr7 : ( SIZEOF( QUERY ( vlp_fbnds <* QUERY ( bnds <* bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'VERTEX_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'VERTEX_POINT' IN TYPEOF( vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF( vlp_fbnds\face_bound.bound\ + vertex_loop.loop_vertex\vertex_point.vertex_geometry ) ) ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( bnd <* bounds | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' ] * TYPEOF( bnd.bound ) ) = 1 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF( oe\oriented_edge.edge_element\ + edge_curve.edge_geometry ) ) AND ( NOT ( SIZEOF( QUERY ( sc_ag <* oe.edge_element\edge_curve.edge_geometry\ + surface_curve.associated_geometry | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( + sc_ag ) ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_SURFACE' IN TYPEOF( face_geometry ) ) ) OR ( NOT + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( face_geometry\swept_surface.swept_curve ) ) ) + OR ( SIZEOF( face_geometry\swept_surface.swept_curve\polyline.points ) >= 3 ) ) AND ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( oe\oriented_edge.edge_element\edge_curve. + edge_geometry ) ) AND ( NOT ( SIZEOF( oe\oriented_edge.edge_element\edge_curve.edge_geometry\polyline.points ) >= + 3 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY agc_with_dimension + SUBTYPE OF ( angle_geometric_constraint ); + angle_value : plane_angle_measure; + END_ENTITY; + + ENTITY all_around_shape_aspect + SUBTYPE OF ( continuous_shape_aspect ); + END_ENTITY; + + ENTITY alternate_product_relationship; + name : label; + definition : OPTIONAL text; + alternate : product; + base : product; + basis : text; + UNIQUE + ur1 : alternate, base; + WHERE + wr1: ( alternate :<>: base ); + END_ENTITY; + + ENTITY amount_of_substance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AMOUNT_OF_SUBSTANCE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY amount_of_substance_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 1 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY and_expression + SUBTYPE OF ( multiple_arity_boolean_expression ); + END_ENTITY; + + ENTITY angle_assembly_constraint_with_dimension + SUBTYPE OF ( binary_assembly_constraint, agc_with_dimension ); + END_ENTITY; + + ENTITY angle_direction_reference + SUBTYPE OF ( representation_item_relationship, geometric_representation_item ); + SELF\representation_item_relationship.relating_representation_item : orientation_basis_select; + SELF\representation_item_relationship.related_representation_item : angle_direction_reference_select; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_PATH' IN TYPEOF( related_representation_item ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MIN_AND_MAJOR_PLY_ORIENTATION_BASIS' IN TYPEOF( + relating_representation_item ) ) ) OR ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_PATH' IN + TYPEOF( related_representation_item ) ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' + IN TYPEOF( relating_representation_item ) ) ) ); + END_ENTITY; + + ENTITY angle_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF linear_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF linear_geometry_constraint_element; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 1 ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND ( SIZEOF( SELF\ + explicit_constraint.constrained_elements ) = 2 ) ) ); + END_ENTITY; + + ENTITY angular_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY angular_location + SUBTYPE OF ( dimensional_location ); + angle_selection : angle_relator; + END_ENTITY; + + ENTITY angular_size + SUBTYPE OF ( dimensional_size ); + angle_selection : angle_relator; + END_ENTITY; + + ENTITY angularity_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY annotation_curve_occurrence + SUPERTYPE OF ( + ONEOF ( + dimension_curve, + leader_curve, + projection_curve ) ) + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : curve_or_curve_set; + END_ENTITY; + + ENTITY annotation_fill_area + SUBTYPE OF ( geometric_representation_item ); + boundaries : SET [1 : ?] OF curve; + WHERE + wr1: ( ( SELF\geometric_representation_item.dim = 3 ) OR ( SIZEOF( QUERY ( curve <* SELF.boundaries | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE' IN TYPEOF( curve ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPSE' IN TYPEOF( curve ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( curve ) ) AND ( curve\b_spline_curve. + closed_curve = TRUE ) ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( curve ) ) + AND ( curve\composite_curve.closed_curve = TRUE ) ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POLYLINE' IN TYPEOF( curve ) ) AND ( curve\polyline.points[LOINDEX( curve\polyline.points )] = curve\polyline. + points[HIINDEX( curve\polyline.points )] ) ) ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY annotation_fill_area_occurrence + SUBTYPE OF ( annotation_occurrence ); + fill_style_target : point; + SELF\styled_item.item : annotation_fill_area; + END_ENTITY; + + ENTITY annotation_occurrence + SUPERTYPE OF ( + ONEOF ( + annotation_curve_occurrence, + annotation_fill_area_occurrence, + annotation_text_occurrence, + annotation_symbol_occurrence ) + ANDOR + ONEOF ( + annotation_curve_occurrence, + annotation_fill_area_occurrence, + annotation_plane, + annotation_symbol_occurrence, + annotation_text_occurrence, + tessellated_annotation_occurrence ) ) + SUBTYPE OF ( styled_item ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + wr2: ( SIZEOF( QUERY ( reps <* using_representations( SELF ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_REPRESENTATION_SELECT' IN TYPEOF( reps ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY annotation_occurrence_associativity + SUBTYPE OF ( annotation_occurrence_relationship ); + WHERE + wr1: ( SIZEOF( TYPEOF( SELF.related_annotation_occurrence ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_FILL_AREA_OCCURRENCE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_CURVE' ] ) = 1 ); + END_ENTITY; + + ENTITY annotation_occurrence_relationship; + name : label; + description : text; + relating_annotation_occurrence : annotation_occurrence; + related_annotation_occurrence : annotation_occurrence; + END_ENTITY; + + ENTITY annotation_plane + SUBTYPE OF ( annotation_occurrence, geometric_representation_item ); + elements : OPTIONAL SET [1 : ?] OF annotation_plane_element; + SELF\styled_item.item : plane_or_planar_box; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + wr2: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PLANAR_BOX' ) IN TYPEOF( SELF\styled_item.item ) ) ) + OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AXIS2_PLACEMENT_3D' ) IN TYPEOF( SELF\styled_item.item + \planar_box.placement ) ) ); + wr3: ( ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PLANAR_BOX' ) IN TYPEOF( SELF\styled_item.item ) ) AND + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CURVE_STYLE' ) IN TYPEOF( SELF\styled_item.styles[1]\ + presentation_style_assignment.styles[1] ) ) ) OR ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PLANE' ) + IN TYPEOF( SELF\styled_item.item ) ) AND ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'FILL_AREA_STYLE' ) + IN TYPEOF( SELF\styled_item.styles[1]\presentation_style_assignment.styles[1] ) ) ) ); + wr4: ( ( SIZEOF( SELF\styled_item.styles ) = 1 ) AND ( SIZEOF( SELF\styled_item.styles[1]\presentation_style_assignment. + styles ) = 1 ) ); + END_ENTITY; + + ENTITY annotation_subfigure_occurrence + SUBTYPE OF ( annotation_symbol_occurrence ); + WHERE + wr1: ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( SIZEOF( sty.styles ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NULL_STYLE' IN + TYPEOF( sty.styles[1] ) ) ) ) ) = 0 ); + wr3: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF( SELF.item ) ); + wr4: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_SUBFIGURE_REPRESENTATION' IN TYPEOF( SELF.item\ + mapped_item.mapping_source.mapped_representation ) ); + END_ENTITY; + + ENTITY annotation_symbol + SUBTYPE OF ( mapped_item ); + SELF\mapped_item.mapping_source : symbol_representation_map; + SELF\mapped_item.mapping_target : symbol_target; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY annotation_symbol_occurrence + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : annotation_symbol_occurrence_item; + END_ENTITY; + + ENTITY annotation_text + SUBTYPE OF ( mapped_item ); + SELF\mapped_item.mapping_target : axis2_placement; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_STRING_REPRESENTATION' IN TYPEOF( SELF\mapped_item. + mapping_source.mapped_representation ) ); + wr2: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY annotation_text_character + SUBTYPE OF ( mapped_item ); + alignment : text_alignment; + SELF\mapped_item.mapping_target : axis2_placement; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTER_GLYPH_SYMBOL' IN TYPEOF( SELF\mapped_item.mapping_source. + mapped_representation ) ); + wr2: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY annotation_text_occurrence + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : annotation_text_occurrence_item; + END_ENTITY; + + ENTITY apex + SUBTYPE OF ( derived_shape_aspect ); + END_ENTITY; + + ENTITY application_context; + application : label; + DERIVE + description : text := get_description_value( SELF ); + id : identifier := get_id_value( SELF ); + INVERSE + context_elements : SET [1 : ?] OF application_context_element FOR frame_of_reference; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY application_context_element + SUPERTYPE OF ( + ONEOF ( + product_concept_context, + product_context, + product_definition_context ) ); + name : label; + frame_of_reference : application_context; + END_ENTITY; + + ENTITY application_defined_function + SUBTYPE OF ( maths_function ); + explicit_domain : tuple_space; + explicit_range : tuple_space; + parameters : LIST OF maths_value; + WHERE + wr1: expression_is_constant( explicit_domain ); + wr2: expression_is_constant( explicit_range ); + END_ENTITY; + + ENTITY application_protocol_definition; + status : label; + application_interpreted_model_schema_name : label; + application_protocol_year : year_number; + application : application_context; + END_ENTITY; + + ENTITY applied_action_assignment + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF action_items; + END_ENTITY; + + ENTITY applied_action_method_assignment + SUBTYPE OF ( action_method_assignment ); + items : SET [1 : ?] OF action_method_items; + END_ENTITY; + + ENTITY applied_action_request_assignment + SUBTYPE OF ( action_request_assignment ); + items : SET [1 : ?] OF action_request_item; + END_ENTITY; + + ENTITY applied_approval_assignment + SUBTYPE OF ( approval_assignment ); + items : SET [1 : ?] OF approval_item; + END_ENTITY; + + ENTITY applied_area + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( SELF.of_shape ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( ( 2 <= SIZEOF( + impl_rep.used_representation.items ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 3 ) ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( NOT ( srwp_i.name IN [ 'orientation', 'effective length', 'maximum length'] ) ) ) ) + > 0 ) ) ) ) = 0 ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'effective length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) <= 1 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'maximum length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY applied_attribute_classification_assignment + SUBTYPE OF ( attribute_classification_assignment ); + SELF\attribute_classification_assignment.assigned_class : class; + items : SET [1 : ?] OF attribute_classification_item; + END_ENTITY; + + ENTITY applied_certification_assignment + SUBTYPE OF ( certification_assignment ); + items : SET [1 : ?] OF certification_item; + END_ENTITY; + + ENTITY applied_classification_assignment + SUBTYPE OF ( classification_assignment ); + items : SET [1 : ?] OF classification_item; + END_ENTITY; + + ENTITY applied_contract_assignment + SUBTYPE OF ( contract_assignment ); + items : SET [1 : ?] OF contract_item; + END_ENTITY; + + ENTITY applied_date_and_time_assignment + SUBTYPE OF ( date_and_time_assignment ); + items : SET [1 : ?] OF date_and_time_item; + END_ENTITY; + + ENTITY applied_date_assignment + SUBTYPE OF ( date_assignment ); + items : SET [1 : ?] OF date_item; + END_ENTITY; + + ENTITY applied_document_reference + SUBTYPE OF ( document_reference ); + items : SET [1 : ?] OF document_reference_item; + END_ENTITY; + + ENTITY applied_document_usage_constraint_assignment + SUBTYPE OF ( document_usage_constraint_assignment ); + items : SET [1 : ?] OF document_reference_item; + END_ENTITY; + + ENTITY applied_effectivity_assignment + SUBTYPE OF ( effectivity_assignment ); + items : SET [1 : ?] OF effectivity_item; + END_ENTITY; + + ENTITY applied_event_occurrence_assignment + SUBTYPE OF ( event_occurrence_assignment ); + items : SET [1 : ?] OF event_occurrence_item; + END_ENTITY; + + ENTITY applied_external_identification_assignment + SUBTYPE OF ( external_identification_assignment ); + items : SET [1 : ?] OF external_identification_item; + END_ENTITY; + + ENTITY applied_group_assignment + SUBTYPE OF ( group_assignment ); + items : SET [1 : ?] OF groupable_item; + END_ENTITY; + + ENTITY applied_identification_assignment + SUBTYPE OF ( identification_assignment ); + items : SET [1 : ?] OF identification_item; + END_ENTITY; + + ENTITY applied_ineffectivity_assignment + SUBTYPE OF ( effectivity_assignment ); + items : SET [1 : ?] OF effectivity_item; + WHERE + wr1: ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOT_EFFECTIVITY', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SERIAL_NUMBERED_EFFECTIVITY' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_EFFECTIVITY' ] * TYPEOF( SELF. + assigned_effectivity ) ) = 0 ); + END_ENTITY; + + ENTITY applied_name_assignment + SUBTYPE OF ( name_assignment ); + item : name_item; + END_ENTITY; + + ENTITY applied_organization_assignment + SUBTYPE OF ( organization_assignment ); + items : SET [1 : ?] OF organization_item; + END_ENTITY; + + ENTITY applied_organizational_project_assignment + SUBTYPE OF ( organizational_project_assignment ); + items : SET [1 : ?] OF project_item; + END_ENTITY; + + ENTITY applied_person_and_organization_assignment + SUBTYPE OF ( person_and_organization_assignment ); + items : SET [1 : ?] OF person_and_organization_item; + END_ENTITY; + + ENTITY applied_presented_item + SUBTYPE OF ( presented_item ); + items : SET [1 : ?] OF presented_item_select; + END_ENTITY; + + ENTITY applied_security_classification_assignment + SUBTYPE OF ( security_classification_assignment ); + items : SET [1 : ?] OF security_classification_item; + END_ENTITY; + + ENTITY applied_time_interval_assignment + SUBTYPE OF ( time_interval_assignment ); + items : SET [0 : ?] OF time_interval_item; + END_ENTITY; + + ENTITY applied_usage_right + SUBTYPE OF ( applied_action_assignment ); + SELF\applied_action_assignment.items : SET [1 : ?] OF ir_usage_item; + END_ENTITY; + + ENTITY approval; + status : approval_status; + level : label; + END_ENTITY; + + ENTITY approval_assignment + ABSTRACT SUPERTYPE; + assigned_approval : approval; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) <= + 1 ); + END_ENTITY; + + ENTITY approval_date_time; + date_time : date_time_select; + dated_approval : approval; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) <= + 1 ); + END_ENTITY; + + ENTITY approval_person_organization; + person_organization : person_organization_select; + authorized_approval : approval; + role : approval_role; + END_ENTITY; + + ENTITY approval_relationship; + name : label; + description : OPTIONAL text; + relating_approval : approval; + related_approval : approval; + END_ENTITY; + + ENTITY approval_role; + role : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY approval_status; + name : label; + END_ENTITY; + + ENTITY area_in_set; + area : presentation_area; + in_set : presentation_set; + END_ENTITY; + + ENTITY area_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY area_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 2, 0, 0, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY area_with_outer_boundary + SUBTYPE OF ( half_space_2d ); + SELF\half_space_2d.base_curve : composite_curve; + WHERE + wr1: ( base_curve\composite_curve.closed_curve = TRUE ); + END_ENTITY; + + ENTITY array_placement_group + SUPERTYPE OF ( + ONEOF ( + linear_array_placement_group_component, + rectangular_array_placement_group_component ) ) + SUBTYPE OF ( assembly_group_component ); + END_ENTITY; + + ENTITY asin_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY assembly_bond_definition + SUBTYPE OF ( shape_aspect ); + UNIQUE + ur1 : SELF\shape_aspect.name; + END_ENTITY; + + ENTITY assembly_component + SUBTYPE OF ( component_definition, product_definition_shape ); + DERIVE + SELF\property_definition.definition : assembly_component := SELF; + WHERE + wr1: ( NOT EXISTS( SELF\property_definition.description ) ); + END_ENTITY; + + ENTITY assembly_component_usage + SUPERTYPE OF ( + quantified_assembly_component_usage + ANDOR + ONEOF ( + multi_level_reference_designator, + next_assembly_usage_occurrence, + promissory_usage_occurrence, + specified_higher_usage_occurrence ) ) + SUBTYPE OF ( product_definition_usage ); + reference_designator : OPTIONAL identifier; + END_ENTITY; + + ENTITY assembly_component_usage_substitute; + name : label; + definition : OPTIONAL text; + base : assembly_component_usage; + substitute : assembly_component_usage; + UNIQUE + ur1 : base, substitute; + WHERE + wr1: ( base.relating_product_definition :=: substitute.relating_product_definition ); + wr2: ( base :<>: substitute ); + END_ENTITY; + + ENTITY assembly_geometric_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + binary_assembly_constraint, + fixed_constituent_assembly_constraint ) ) + SUBTYPE OF ( explicit_constraint ); + END_ENTITY; + + ENTITY assembly_group_component + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY assembly_group_component_definition_placement_link + SUBTYPE OF ( product_definition, product_definition_relationship ); + SELF\product_definition_relationship.relating_product_definition : assembly_component; + SELF\product_definition_relationship.related_product_definition : assembly_component; + WHERE + wr1: ( SELF\product_definition_relationship.related_product_definition :<>: SELF\product_definition_relationship. + relating_product_definition ); + wr2: acyclic_product_definition_relationship( SELF, [SELF\product_definition_relationship.related_product_definition], + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASSEMBLY_GROUP_COMPONENT_DEFINITION_PLACEMENT_LINK' ); + END_ENTITY; + + ENTITY assembly_joint + SUBTYPE OF ( component_feature_joint ); + WHERE + wr1: acyclic_shape_aspect_relationship( SELF, [SELF\shape_aspect_relationship.related_shape_aspect], + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ASSEMBLY_JOINT' ); + END_ENTITY; + + ENTITY assigned_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_assignment; + items : SET [1 : 1] OF product_definition; + END_ENTITY; + + ENTITY atan_function + SUBTYPE OF ( binary_function_call ); + END_ENTITY; + + ENTITY atom_based_literal + SUBTYPE OF ( generic_literal ); + lit_value : atom_based_value; + END_ENTITY; + + ENTITY atomic_formula + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY attribute_assertion + SUBTYPE OF ( fact_type, property_definition_representation, representation ); + END_ENTITY; + + ENTITY attribute_classification_assignment + ABSTRACT SUPERTYPE; + assigned_class : group; + attribute_name : label; + role : classification_role; + END_ENTITY; + + ENTITY attribute_language_assignment + SUBTYPE OF ( attribute_classification_assignment ); + SELF\attribute_classification_assignment.assigned_class : language; + items : SET [1 : ?] OF attribute_language_item; + WHERE + wr1: ( SELF\attribute_classification_assignment.role.name IN [ 'primary', 'translated'] ); + wr2: ( SELF\attribute_classification_assignment.attribute_name <> '' ); + END_ENTITY; + + ENTITY attribute_value_assignment + ABSTRACT SUPERTYPE; + attribute_name : label; + attribute_value : attribute_type; + role : attribute_value_role; + END_ENTITY; + + ENTITY attribute_value_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY auxiliary_geometric_representation_item + SUBTYPE OF ( geometric_representation_item, variational_representation_item ); + END_ENTITY; + + ENTITY axis1_placement + SUBTYPE OF ( placement ); + axis : OPTIONAL direction; + DERIVE + z : direction := NVL( normalise( axis ), dummy_gri || direction( [0, 0, 1] ) ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY axis2_placement_2d + SUBTYPE OF ( placement ); + ref_direction : OPTIONAL direction; + DERIVE + p : LIST [2 : 2] OF direction := build_2axes( ref_direction ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY axis2_placement_3d + SUBTYPE OF ( placement ); + axis : OPTIONAL direction; + ref_direction : OPTIONAL direction; + DERIVE + p : LIST [3 : 3] OF direction := build_axes( axis, ref_direction ); + WHERE + wr1: ( SELF\placement.location.dim = 3 ); + wr2: ( ( NOT EXISTS( axis ) ) OR ( axis.dim = 3 ) ); + wr3: ( ( NOT EXISTS( ref_direction ) ) OR ( ref_direction.dim = 3 ) ); + wr4: ( ( NOT EXISTS( axis ) ) OR ( NOT EXISTS( ref_direction ) ) OR ( cross_product( axis, ref_direction ).magnitude > 0 ) ); + END_ENTITY; + + ENTITY b_spline_basis + SUBTYPE OF ( maths_function, generic_literal ); + degree : nonnegative_integer; + repeated_knots : LIST [2 : ?] OF REAL; + DERIVE + order : positive_integer := degree + 1; + num_basis : positive_integer := SIZEOF( repeated_knots ) - order; + WHERE + wr1: ( num_basis >= order ); + wr2: nondecreasing( repeated_knots ); + wr3: ( repeated_knots[order] < repeated_knots[num_basis + 1] ); + END_ENTITY; + + ENTITY b_spline_curve + SUPERTYPE OF ( + ONEOF ( + uniform_curve, + b_spline_curve_with_knots, + quasi_uniform_curve, + bezier_curve ) + ANDOR + rational_b_spline_curve ) + SUBTYPE OF ( bounded_curve ); + degree : INTEGER; + control_points_list : LIST [2 : ?] OF cartesian_point; + curve_form : b_spline_curve_form; + closed_curve : LOGICAL; + self_intersect : LOGICAL; + DERIVE + upper_index_on_control_points : INTEGER := SIZEOF( control_points_list ) - 1; + control_points : ARRAY [0 : upper_index_on_control_points] OF cartesian_point := list_to_array( + control_points_list, 0, upper_index_on_control_points ); + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNIFORM_CURVE' IN TYPEOF( SELF ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.QUASI_UNIFORM_CURVE' IN TYPEOF( SELF ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BEZIER_CURVE' IN TYPEOF( SELF ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY b_spline_curve_knot_locator + SUBTYPE OF ( founded_item ); + basis_curve : b_spline_curve; + knot_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_curve_segment + SUBTYPE OF ( founded_item ); + basis_curve : b_spline_curve; + start_knot_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_curve_with_knots + SUBTYPE OF ( b_spline_curve ); + knot_multiplicities : LIST [2 : ?] OF INTEGER; + knots : LIST [2 : ?] OF parameter_value; + knot_spec : knot_type; + DERIVE + upper_index_on_knots : INTEGER := SIZEOF( knots ); + WHERE + wr1: constraints_param_b_spline( degree, upper_index_on_knots, upper_index_on_control_points, knot_multiplicities, knots ); + wr2: ( SIZEOF( knot_multiplicities ) = upper_index_on_knots ); + END_ENTITY; + + ENTITY b_spline_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + basis : LIST [1 : ?] OF b_spline_basis; + DERIVE + coef : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_table( coef ); + wr2: ( ( space_dimension( coef.range ) = 1 ) AND ( number_superspace_of( factor1( coef.range ) ) = the_reals ) ); + wr3: ( SIZEOF( basis ) <= SIZEOF( shape_of_array( coef ) ) ); + wr4: compare_basis_and_coef( basis, coef ); + END_ENTITY; + + ENTITY b_spline_surface + SUPERTYPE OF ( + ONEOF ( + b_spline_surface_with_knots, + uniform_surface, + quasi_uniform_surface, + bezier_surface ) + ANDOR + rational_b_spline_surface ) + SUBTYPE OF ( bounded_surface ); + u_degree : INTEGER; + v_degree : INTEGER; + control_points_list : LIST [2 : ?] OF LIST [2 : ?] OF cartesian_point; + surface_form : b_spline_surface_form; + u_closed : LOGICAL; + v_closed : LOGICAL; + self_intersect : LOGICAL; + DERIVE + u_upper : INTEGER := SIZEOF( control_points_list ) - 1; + v_upper : INTEGER := SIZEOF( control_points_list[1] ) - 1; + control_points : ARRAY [0 : u_upper] OF ARRAY [0 : v_upper] OF cartesian_point := make_array_of_array( control_points_list, + 0, u_upper, 0, v_upper ); + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNIFORM_SURFACE' IN TYPEOF( SELF ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.QUASI_UNIFORM_SURFACE' IN TYPEOF( SELF ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BEZIER_SURFACE' IN TYPEOF( SELF ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY b_spline_surface_knot_locator + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_surface; + knot_index : INTEGER; + surface_parameter : u_or_v_parameter; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_surface_patch + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_surface; + u_start_knot_index : INTEGER; + v_start_knot_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_surface_strip + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_surface; + start_knot_index : INTEGER; + surface_parameter : u_or_v_parameter; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY b_spline_surface_with_knots + SUBTYPE OF ( b_spline_surface ); + u_multiplicities : LIST [2 : ?] OF INTEGER; + v_multiplicities : LIST [2 : ?] OF INTEGER; + u_knots : LIST [2 : ?] OF parameter_value; + v_knots : LIST [2 : ?] OF parameter_value; + knot_spec : knot_type; + DERIVE + knot_u_upper : INTEGER := SIZEOF( u_knots ); + knot_v_upper : INTEGER := SIZEOF( v_knots ); + WHERE + wr1: constraints_param_b_spline( SELF\b_spline_surface.u_degree, knot_u_upper, SELF\b_spline_surface.u_upper, + u_multiplicities, u_knots ); + wr2: constraints_param_b_spline( SELF\b_spline_surface.v_degree, knot_v_upper, SELF\b_spline_surface.v_upper, + v_multiplicities, v_knots ); + wr3: ( SIZEOF( u_multiplicities ) = knot_u_upper ); + wr4: ( SIZEOF( v_multiplicities ) = knot_v_upper ); + END_ENTITY; + + ENTITY back_chaining_rule + SUBTYPE OF ( rule_definition ); + END_ENTITY; + + ENTITY back_chaining_rule_body + SUBTYPE OF ( property_definition, property_definition_representation, representation ); + END_ENTITY; + + ENTITY background_colour + SUBTYPE OF ( colour ); + presentation : area_or_view; + UNIQUE + ur1 : presentation; + END_ENTITY; + + ENTITY barring_hole + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'hole profile' ) AND ( sa.description = + 'closed profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'profile usage' ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CIRCULAR_CLOSED_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sar.relating_shape_aspect ) ) = + 1 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'barring profile' ) AND ( sa.description = + 'closed profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'profile usage' ) ) ) ) = 1 ) ) ) ) = 1 ); + wr3: ( ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( 1 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr.used_representation. + items ) <= 2 ) ) ) ) = 1 ) ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ 'orientation', + 'base radius' ] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius' ) AND + ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) <> 1 ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY basic_sparse_matrix + SUBTYPE OF ( explicit_table_function, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [3 : 3] OF maths_function; + default_entry : maths_value; + order : ordering_type; + DERIVE + index : maths_function := SELF\multiple_arity_generic_expression.operands[1]; + loc : maths_function := SELF\multiple_arity_generic_expression.operands[2]; + val : maths_function := SELF\multiple_arity_generic_expression.operands[3]; + WHERE + wr1: function_is_1d_table( index ); + wr2: function_is_1d_table( loc ); + wr3: function_is_1d_table( val ); + wr4: check_sparse_index_domain( index.domain, index_base, shape, order ); + wr5: check_sparse_index_to_loc( index.range, loc.domain ); + wr6: ( loc.domain = val.domain ); + wr7: check_sparse_loc_range( loc.range, index_base, shape, order ); + wr8: member_of( default_entry, val.range ); + END_ENTITY; + + ENTITY bead + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) > 2 ) ) ) ) = 0 ) ); + wr2: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ 'orientation', + 'base radius' ] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius' ) AND + ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) > 1 ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'sweep path' ) AND ( sa.description = + 'path feature component occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'path feature component usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sar.relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'bead profile' ) AND ( sa.description = + 'open profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'profile usage' ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'VEE_PROFILE' ] * TYPEOF( sar.relating_shape_aspect ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr6: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'end condition' ) AND ( sa.description = + 'bead end occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.name = 'bead end usage' ) AND ( sar.description = + 'starting' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BEAD_END' IN TYPEOF( sar.relating_shape_aspect ) ) ) ) ) + = 1 ) ) ) ) = 1 ); + wr7: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'end condition' ) AND ( sa.description = + 'bead end occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar.name = 'bead end usage' ) AND ( sar.description = + 'ending' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BEAD_END' IN TYPEOF( sar.relating_shape_aspect ) ) ) ) ) + = 1 ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY bead_end + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SELF.description IN [ 'linear', 'open', 'radiused'] ); + wr3: ( ( SELF.description <> 'linear' ) XOR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) > 0 ) ); + wr4: ( ( SELF.description <> 'linear' ) OR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) = 1 ) ); + wr5: ( ( SELF.description <> 'linear' ) OR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'end length' ) AND + ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ) ); + wr6: ( ( SELF.description <> 'linear' ) OR ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( + SELF ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'end shape' ) AND + ( i\descriptive_representation_item.description IN [ 'straight', 'tapered'] ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) ) ) ) = 1 ) ) ) ) + = 1 ) ); + wr7: ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' + IN TYPEOF( sar ) ) AND ( sar.name = 'bead end usage' ) AND ( sar.description IN [ 'starting', 'ending'] ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BEAD' IN TYPEOF( sar.related_shape_aspect.of_shape.definition ) ) + AND ( sar.related_shape_aspect.of_shape.definition\characterized_object.name = 'end condition' ) AND ( sar. + related_shape_aspect.of_shape.definition\characterized_object.description = 'bead end occurrence' ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY between_shape_aspect + SUBTYPE OF ( continuous_shape_aspect ); + END_ENTITY; + + ENTITY beveled_sheet_representation + SUBTYPE OF ( shape_representation ); + END_ENTITY; + + ENTITY bezier_curve + SUBTYPE OF ( b_spline_curve ); + END_ENTITY; + + ENTITY bezier_surface + SUBTYPE OF ( b_spline_surface ); + END_ENTITY; + + ENTITY binary_assembly_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + parallel_assembly_constraint, + surface_distance_assembly_constraint_with_dimension, + angle_assembly_constraint_with_dimension, + perpendicular_assembly_constraint, + incidence_assembly_constraint, + coaxial_assembly_constraint, + tangent_assembly_constraint ) ) + SUBTYPE OF ( assembly_geometric_constraint, representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : representative_shape_representation; + SELF\representation_relationship.rep_2 : representative_shape_representation; + WHERE + wr1: ( ( SELF\explicit_constraint.constrained_elements[1]\geometric_representation_item.dim = 3 ) AND ( SELF\ + explicit_constraint.reference_elements[1]\geometric_representation_item.dim = 3 ) ); + wr2: ( ( SELF\representation_relationship.rep_1 IN ( using_representations( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) + using_representation_with_mapping( SELF\representation_relationship_with_transformation. + transformation_operator\item_defined_transformation.transform_item_1 ) ) ) AND ( SELF\representation_relationship. + rep_2 IN ( using_representations( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_2 ) + using_representation_with_mapping( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ) ); + wr3: ( ( SIZEOF( SELF\explicit_constraint.constrained_elements ) = 1 ) AND ( SIZEOF( SELF\explicit_constraint. + reference_elements ) = 1 ) ); + wr4: ( ( SELF\representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 = SELF\explicit_constraint.reference_elements[1] ) AND ( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 = SELF\explicit_constraint.constrained_elements[1] ) ); + END_ENTITY; + + ENTITY binary_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + xor_expression, + equals_expression ) ) + SUBTYPE OF ( boolean_expression, binary_generic_expression ); + END_ENTITY; + + ENTITY binary_function_call + ABSTRACT SUPERTYPE + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY binary_generic_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( generic_expression ); + operands : LIST [2 : 2] OF generic_expression; + END_ENTITY; + + ENTITY binary_literal + SUBTYPE OF ( generic_literal ); + lit_value : BINARY; + END_ENTITY; + + ENTITY binary_numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + minus_expression, + div_expression, + mod_expression, + slash_expression, + power_expression, + binary_function_call ) ) + SUBTYPE OF ( numeric_expression, binary_generic_expression ); + SELF\binary_generic_expression.operands : LIST [2 : 2] OF numeric_expression; + END_ENTITY; + + ENTITY binary_representation_item + SUBTYPE OF ( representation_item ); + binary_value : BINARY; + END_ENTITY; + + ENTITY block + SUBTYPE OF ( geometric_representation_item ); + position : axis2_placement_3d; + x : positive_length_measure; + y : positive_length_measure; + z : positive_length_measure; + END_ENTITY; + + ENTITY boolean_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( defined_function, boolean_expression ); + END_ENTITY; + + ENTITY boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_boolean_expression, + unary_boolean_expression, + binary_boolean_expression, + multiple_arity_boolean_expression, + comparison_expression, + interval_expression, + boolean_defined_function ) ) + SUBTYPE OF ( expression ); + END_ENTITY; + + ENTITY boolean_literal + SUBTYPE OF ( simple_boolean_expression, generic_literal ); + the_value : BOOLEAN; + END_ENTITY; + + ENTITY boolean_representation_item + SUBTYPE OF ( representation_item, boolean_literal ); + END_ENTITY; + + ENTITY boolean_result + SUBTYPE OF ( geometric_representation_item ); + operator : boolean_operator; + first_operand : boolean_operand; + second_operand : boolean_operand; + END_ENTITY; + + ENTITY boolean_result_2d + SUBTYPE OF ( boolean_result ); + SELF\boolean_result.first_operand : boolean_operand_2d; + SELF\boolean_result.second_operand : boolean_operand_2d; + END_ENTITY; + + ENTITY boolean_variable + SUBTYPE OF ( simple_boolean_expression, variable ); + END_ENTITY; + + ENTITY boss + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF\characterized_object.description IN [ 'circular', 'complex', 'rectangular'] ); + wr2 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'boss height occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description + = 'linear' ) AND ( sdr.name = 'boss height' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 1 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 2 ) ) ) ) = 1 ) ) ) = 1 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'fillet radius' ) ) ) ) = + SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( ( NOT ( SELF\characterized_object.description = 'circular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( + SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'circular profile occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + sar.description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr7 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'top condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'boss top usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'BOSS_TOP' IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr8 : ( ( NOT ( SELF\characterized_object.description = 'circular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( + SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'change in diameter occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + sar.description = 'taper usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'TAPER' IN TYPEOF( fcr.related_shape_aspect ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS' + IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( + SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'enclosed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + sar.description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) = + 1 ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description IN [ 'complex', 'rectangular'] ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'change in boundary occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( + sar.description = 'taper usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'TAPER' IN TYPEOF( fcr.related_shape_aspect ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS' + IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr.related_shape_aspect.description IN [ 'angle taper', + 'directed taper' ] ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF\characterized_object.description = 'rectangular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'rectangular profile occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + sar.description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'RECTANGULAR_CLOSED_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr12: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY boss_top + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SELF.description IN [ 'planar', 'complex'] ); + wr3: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOCATION_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'boss top usage' ) AND ( sar. + name IN [ 'boss height start', 'boss height end'] ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( fcr.related_shape_aspect.description = + 'top condition occurrence' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS' IN TYPEOF( fcr. + related_shape_aspect.of_shape.definition ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS_TOP' IN + TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) >= 1 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'top radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY bound_parameter_environment + SUBTYPE OF ( environment ); + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN TYPEOF( SELF\environment. + syntactic_representation ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INSTANCE_ATTRIBUTE_REFERENCE' + IN TYPEOF( SELF\environment.semantics ) ) ); + END_ENTITY; + + ENTITY bound_variational_parameter + SUBTYPE OF ( variational_parameter ); + DERIVE + SELF\variational_parameter.parameter_current_value : maths_value := ?; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUND_PARAMETER_ENVIRONMENT' IN TYPEOF( SELF\generic_variable. + interpretation ) ); + END_ENTITY; + + ENTITY boundary_curve + SUBTYPE OF ( composite_curve_on_surface ); + WHERE + wr1: SELF\composite_curve.closed_curve; + END_ENTITY; + + ENTITY boundary_curve_of_b_spline_or_rectangular_composite_surface + SUBTYPE OF ( founded_item ); + basis_surface : b_spline_or_rectangular_composite_surface_select; + boundary_type : surface_boundary_type; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY bounded_curve + SUPERTYPE OF ( + ONEOF ( + polyline, + b_spline_curve, + trimmed_curve, + bounded_pcurve, + bounded_surface_curve, + composite_curve ) ) + SUBTYPE OF ( curve ); + END_ENTITY; + + ENTITY bounded_pcurve + SUBTYPE OF ( pcurve, bounded_curve ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE' IN TYPEOF( SELF\pcurve.reference_to_curve.items[1] ) ); + END_ENTITY; + + ENTITY bounded_surface + SUPERTYPE OF ( + ONEOF ( + b_spline_surface, + rectangular_trimmed_surface, + curve_bounded_surface, + rectangular_composite_surface ) ) + SUBTYPE OF ( surface ); + END_ENTITY; + + ENTITY bounded_surface_curve + SUBTYPE OF ( surface_curve, bounded_curve ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE' IN TYPEOF( SELF\surface_curve.curve_3d ) ); + END_ENTITY; + + ENTITY box_domain + SUBTYPE OF ( founded_item ); + corner : cartesian_point; + xlength : positive_length_measure; + ylength : positive_length_measure; + zlength : positive_length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( item <* USEDIN( SELF, '' ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'BOXED_HALF_SPACE' IN TYPEOF( item ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY boxed_half_space + SUBTYPE OF ( half_space_solid ); + enclosure : box_domain; + END_ENTITY; + + ENTITY breakdown_context + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY breakdown_element_group_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : product_definition_element_relationship; + items : SET [1 : 1] OF product_definition_or_breakdown_element_usage; + END_ENTITY; + + ENTITY breakdown_element_realization + SUBTYPE OF ( characterized_object, product_definition_element_relationship ); + END_ENTITY; + + ENTITY breakdown_element_usage + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY breakdown_of + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY brep_with_voids + SUBTYPE OF ( manifold_solid_brep ); + voids : SET [1 : ?] OF oriented_closed_shell; + END_ENTITY; + + ENTITY bytes_representation_item + SUBTYPE OF ( binary_representation_item ); + DERIVE + no_of_bytes : INTEGER := BLENGTH( SELF\binary_representation_item.binary_value ) DIV 8; + WHERE + wr1: ( ( BLENGTH( SELF\binary_representation_item.binary_value ) MOD 8 ) = 0 ); + END_ENTITY; + + ENTITY calendar_date + SUBTYPE OF ( date ); + day_component : day_in_month_number; + month_component : month_in_year_number; + WHERE + wr1: valid_calendar_date( SELF ); + END_ENTITY; + + ENTITY camera_image + SUPERTYPE OF ( + ONEOF ( + camera_image_2d_with_scale, + camera_image_3d_with_scale ) ) + SUBTYPE OF ( mapped_item ); + SELF\mapped_item.mapping_source : camera_usage; + SELF\mapped_item.mapping_target : planar_box; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF ) ); + END_ENTITY; + + ENTITY camera_image_2d_with_scale + SUBTYPE OF ( camera_image ); + DERIVE + scale : positive_ratio_measure := SELF\mapped_item.mapping_target\planar_extent.size_in_x / SELF\mapped_item. + mapping_source.mapping_origin\camera_model_d2.view_window\planar_extent.size_in_x; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CAMERA_MODEL_D2' IN TYPEOF( SELF\mapped_item.mapping_source. + mapping_origin ) ); + wr2: ( aspect_ratio( SELF\mapped_item.mapping_target ) = aspect_ratio( SELF\mapped_item.mapping_source.mapping_origin\ + camera_model_d2.view_window ) ); + wr3: SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window_clipping; + END_ENTITY; + + ENTITY camera_image_3d_with_scale + SUBTYPE OF ( camera_image ); + DERIVE + scale : positive_ratio_measure := SELF\mapped_item.mapping_target\planar_extent.size_in_x / SELF\mapped_item. + mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_window.size_in_x; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CAMERA_MODEL_D3' IN TYPEOF( SELF\mapped_item.mapping_source. + mapping_origin ) ); + wr2: ( aspect_ratio( SELF\mapped_item.mapping_target ) = aspect_ratio( SELF\mapped_item.mapping_source.mapping_origin\ + camera_model_d3.perspective_of_volume.view_window ) ); + wr3: ( SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.front_plane_clipping AND SELF\ + mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_volume_sides_clipping ); + wr4: ( ( SELF\mapped_item.mapping_target\planar_extent.size_in_x > 0 ) AND ( SELF\mapped_item.mapping_target\planar_extent. + size_in_y > 0 ) ); + wr5: ( ( SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_window.size_in_x > 0 ) + AND ( SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3.perspective_of_volume.view_window.size_in_y > + 0 ) ); + wr6: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( SELF\mapped_item. + mapping_target\planar_box.placement ) ) AND ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' ) IN TYPEOF( SELF\mapped_item.mapping_target\planar_box.placement ) ) ) ); + END_ENTITY; + + ENTITY camera_model + ABSTRACT SUPERTYPE OF ( + ONEOF ( + camera_model_d2, + camera_model_d3 ) ) + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ITEM_DEFINED_TRANSFORMATION.' + + 'TRANSFORM_ITEM_1' ) ) + SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_MAP.MAPPING_ORIGIN' ) ) ) > 0 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'STYLED_ITEM.ITEM' ) ) = 0 ); + END_ENTITY; + + ENTITY camera_model_d2 + SUBTYPE OF ( camera_model ); + view_window : planar_box; + view_window_clipping : BOOLEAN; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY camera_model_d3 + SUBTYPE OF ( camera_model ); + view_reference_system : axis2_placement_3d; + perspective_of_volume : view_volume; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY camera_model_d3_multi_clipping + SUBTYPE OF ( camera_model_d3 ); + shape_clipping : SET [1 : ?] OF camera_model_d3_multi_clipping_interection_select; + END_ENTITY; + + ENTITY camera_model_d3_multi_clipping_intersection + SUBTYPE OF ( geometric_representation_item ); + shape_clipping : SET [2 : ?] OF camera_model_d3_multi_clipping_interection_select; + END_ENTITY; + + ENTITY camera_model_d3_multi_clipping_union + SUBTYPE OF ( geometric_representation_item ); + shape_clipping : SET [2 : ?] OF camera_model_d3_multi_clipping_union_select; + END_ENTITY; + + ENTITY camera_model_d3_with_hlhsr + SUBTYPE OF ( camera_model_d3 ); + hidden_line_surface_removal : BOOLEAN; + END_ENTITY; + + ENTITY camera_model_with_light_sources + SUBTYPE OF ( camera_model_d3 ); + sources : SET [1 : ?] OF light_source; + END_ENTITY; + + ENTITY camera_usage + SUBTYPE OF ( representation_map ); + SELF\representation_map.mapping_origin : camera_model; + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_REPRESENTATION' IN TYPEOF( SELF\ + representation_map.mapped_representation ) ) ); + END_ENTITY; + + ENTITY capacitance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CAPACITANCE_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY capacitance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.farad ) ); + END_ENTITY; + + ENTITY cartesian_complex_number_region + SUBTYPE OF ( maths_space, generic_literal ); + real_constraint : real_interval; + imag_constraint : real_interval; + WHERE + wr1: ( min_exists( real_constraint ) OR max_exists( real_constraint ) OR min_exists( imag_constraint ) OR max_exists( + imag_constraint ) ); + END_ENTITY; + + ENTITY cartesian_point + SUBTYPE OF ( point ); + coordinates : LIST [1 : 3] OF length_measure; + END_ENTITY; + + ENTITY cartesian_transformation_operator + SUPERTYPE OF ( + ONEOF ( + cartesian_transformation_operator_2d, + cartesian_transformation_operator_3d ) ) + SUBTYPE OF ( geometric_representation_item, functionally_defined_transformation ); + axis1 : OPTIONAL direction; + axis2 : OPTIONAL direction; + local_origin : cartesian_point; + scale : OPTIONAL REAL; + DERIVE + scl : REAL := NVL( scale, 1 ); + WHERE + wr1: ( scl > 0 ); + END_ENTITY; + + ENTITY cartesian_transformation_operator_2d + SUBTYPE OF ( cartesian_transformation_operator ); + DERIVE + u : LIST [2 : 2] OF direction := base_axis( 2, SELF\cartesian_transformation_operator.axis1, SELF\ + cartesian_transformation_operator.axis2, ? ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY cartesian_transformation_operator_3d + SUBTYPE OF ( cartesian_transformation_operator ); + axis3 : OPTIONAL direction; + DERIVE + u : LIST [3 : 3] OF direction := base_axis( 3, SELF\cartesian_transformation_operator.axis1, SELF\ + cartesian_transformation_operator.axis2, axis3 ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY cc_design_approval + SUBTYPE OF ( approval_assignment ); + items : SET [1 : ?] OF approved_item; + END_ENTITY; + + ENTITY cc_design_certification + SUBTYPE OF ( certification_assignment ); + items : SET [1 : ?] OF certified_item; + END_ENTITY; + + ENTITY cc_design_contract + SUBTYPE OF ( contract_assignment ); + items : SET [1 : ?] OF contracted_item; + END_ENTITY; + + ENTITY cc_design_date_and_time_assignment + SUBTYPE OF ( date_and_time_assignment ); + items : SET [1 : ?] OF date_time_item; + END_ENTITY; + + ENTITY cc_design_person_and_organization_assignment + SUBTYPE OF ( person_and_organization_assignment ); + items : SET [1 : ?] OF cc_person_organization_item; + WHERE + wr1: cc_design_person_and_organization_correlation( SELF ); + END_ENTITY; + + ENTITY cc_design_security_classification + SUBTYPE OF ( security_classification_assignment ); + items : SET [1 : ?] OF cc_classified_item; + END_ENTITY; + + ENTITY cc_design_specification_reference + SUBTYPE OF ( document_reference ); + items : SET [1 : ?] OF cc_specified_item; + END_ENTITY; + + ENTITY cdgc_with_dimension + SUBTYPE OF ( curve_distance_geometric_constraint ); + distance_value : non_negative_length_measure; + END_ENTITY; + + ENTITY celsius_temperature_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY centre_of_symmetry + SUBTYPE OF ( derived_shape_aspect ); + END_ENTITY; + + ENTITY certification; + name : label; + purpose : text; + kind : certification_type; + END_ENTITY; + + ENTITY certification_assignment + ABSTRACT SUPERTYPE; + assigned_certification : certification; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) <= + 1 ); + END_ENTITY; + + ENTITY certification_type; + description : label; + END_ENTITY; + + ENTITY chain_based_geometric_item_specific_usage + SUBTYPE OF ( geometric_item_specific_usage, chain_based_item_identified_representation_usage ); + END_ENTITY; + + ENTITY chain_based_item_identified_representation_usage + SUBTYPE OF ( item_identified_representation_usage ); + nodes : LIST [2 : ?] OF UNIQUE representation; + undirected_link : LIST [1 : ?] OF chained_representation_link; + DERIVE + root : representation := nodes[1]; + SELF\item_identified_representation_usage.used_representation : representation := nodes[HIINDEX( nodes )]; + directed_link : LIST [1 : ?] OF representation_relationship := get_directed_link( nodes, + undirected_link ); + leaf : representation := SELF\item_identified_representation_usage.used_representation; + WHERE + wr1: EXISTS( directed_link ); + END_ENTITY; + + ENTITY chamfer + SUBTYPE OF ( transition_feature ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'chamfer face' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CHAMFER_OFFSET' IN TYPEOF( fcr.related_shape_aspect ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CHAMFER' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr.related_shape_aspect.description = 'first offset' ) ) ) ) + = 1 ); + wr3: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CHAMFER_OFFSET' IN TYPEOF( fcr.related_shape_aspect ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CHAMFER' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr.related_shape_aspect.description = 'second offset' ) ) ) ) + = 1 ); + END_ENTITY; + + ENTITY chamfer_offset + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF.description IN [ 'first offset', 'second offset'] ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( ( NOT ( SELF.description = 'first offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'offset amount' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'first offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr + .used_representation ) ) AND ( pdr.used_representation.name = 'first face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( SELF.description = 'second offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'offset amount' ) ) OR ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it. + name = 'offset angle' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7: ( ( NOT ( SELF.description = 'second offset' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr + .used_representation ) ) AND ( pdr.used_representation.name = 'second face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr8: ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CHAMFER' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CHAMFER_OFFSET' IN TYPEOF( sdr.related_shape_aspect ) ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY change + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF work_item; + END_ENTITY; + + ENTITY change_composition_relationship + SUBTYPE OF ( group_relationship ); + SELF\group_relationship.relating_group : change_group; + SELF\group_relationship.related_group : change_element; + DERIVE + composition : change_group := SELF\group_relationship.relating_group; + element : change_element := SELF\group_relationship.related_group; + END_ENTITY; + + ENTITY change_element + ABSTRACT SUPERTYPE OF ( + ONEOF ( + modify_element, + delete_element, + add_element ) ) + SUBTYPE OF ( group, characterized_object ); + END_ENTITY; + + ENTITY change_element_sequence + SUBTYPE OF ( group_relationship ); + SELF\group_relationship.relating_group : change_element; + SELF\group_relationship.related_group : change_element; + DERIVE + next : change_element := SELF\group_relationship.related_group; + previous : change_element := SELF\group_relationship.relating_group; + END_ENTITY; + + ENTITY change_group + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY change_group_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : change_group; + item : change_relationship_select; + END_ENTITY; + + ENTITY change_request + SUBTYPE OF ( action_request_assignment ); + items : SET [1 : ?] OF change_request_item; + END_ENTITY; + + ENTITY character_glyph_font_usage; + character : generic_character_glyph_symbol; + font : text_font; + END_ENTITY; + + ENTITY character_glyph_style_outline + SUBTYPE OF ( founded_item ); + outline_style : curve_style; + END_ENTITY; + + ENTITY character_glyph_style_stroke + SUBTYPE OF ( founded_item ); + stroke_style : curve_style; + END_ENTITY; + + ENTITY character_glyph_symbol + SUBTYPE OF ( generic_character_glyph_symbol ); + character_box : planar_extent; + baseline_ratio : ratio_measure; + DERIVE + box_height : length_measure := character_box.size_in_y; + WHERE + wr1: ( ( 0 <= baseline_ratio ) AND ( baseline_ratio <= 1 ) ); + wr2: item_in_context( SELF.character_box, SELF\representation.context_of_items ); + wr3: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( SELF.box_height ) ); + END_ENTITY; + + ENTITY character_glyph_symbol_outline + SUBTYPE OF ( character_glyph_symbol ); + outlines : SET [1 : ?] OF annotation_fill_area; + WHERE + wr1: ( SELF.outlines <= SELF\representation.items ); + END_ENTITY; + + ENTITY character_glyph_symbol_stroke + SUBTYPE OF ( character_glyph_symbol ); + strokes : SET [1 : ?] OF curve; + WHERE + wr1: ( SELF.strokes <= SELF\representation.items ); + END_ENTITY; + + ENTITY characteristic_data_column_header + SUBTYPE OF ( general_property ); + END_ENTITY; + + ENTITY characteristic_data_column_header_link + SUBTYPE OF ( general_property_relationship ); + END_ENTITY; + + ENTITY characteristic_data_table_header + SUBTYPE OF ( general_property ); + END_ENTITY; + + ENTITY characteristic_data_table_header_decomposition + SUBTYPE OF ( general_property_relationship ); + END_ENTITY; + + ENTITY characteristic_type + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY characterized_chain_based_item_within_representation + SUBTYPE OF ( characterized_item_within_representation ); + nodes : LIST [2 : ?] OF UNIQUE representation; + undirected_link : LIST [1 : ?] OF chained_representation_link; + DERIVE + root : representation := nodes[1]; + SELF\characterized_item_within_representation.rep : representation := nodes[HIINDEX( nodes )]; + directed_link : LIST [1 : ?] OF representation_relationship := get_directed_link( nodes, + undirected_link ); + leaf : representation := SELF\characterized_item_within_representation.rep; + WHERE + wr1: EXISTS( directed_link ); + END_ENTITY; + + ENTITY characterized_class + SUBTYPE OF ( characterized_object, class ); + END_ENTITY; + + ENTITY characterized_item_within_representation + SUBTYPE OF ( characterized_object ); + item : representation_item; + rep : representation; + UNIQUE + wr1 : item, rep; + WHERE + wr2: ( rep IN using_representations( item ) ); + END_ENTITY; + + ENTITY characterized_object; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY characterized_representation + SUBTYPE OF ( representation, characterized_object ); + DERIVE + SELF\characterized_object.name : label := SELF\representation.name; + SELF\characterized_object.description : text := SELF\representation.description; + END_ENTITY; + + ENTITY circle + SUBTYPE OF ( conic ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY circular_area + SUBTYPE OF ( primitive_2d ); + centre : cartesian_point; + radius : positive_length_measure; + END_ENTITY; + + ENTITY circular_closed_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY circular_path + SUBTYPE OF ( path_node ); + via_point : cartesian_point; + END_ENTITY; + + ENTITY circular_pattern + SUBTYPE OF ( replicate_feature ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN + TYPEOF( sar ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr. + related_shape_aspect ) ) ) ) = 1 ) ) ) <= 3 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( ( SIZEOF( impl_rep. + used_representation.items ) >= 3 ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 5 ) ) ) ) ) = 0 ) ) ) ) = + 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'base feature rotation' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'number of features' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'angular spacing' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY circular_runout_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY class + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY class_by_extension + SUBTYPE OF ( class ); + END_ENTITY; + + ENTITY class_by_intension + SUBTYPE OF ( class ); + END_ENTITY; + + ENTITY class_system + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY class_usage_effectivity_context_assignment + SUBTYPE OF ( effectivity_context_assignment ); + items : SET [1 : ?] OF class_usage_effectivity_context_item; + WHERE + wr1: ( SELF.role.name = 'class usage influence' ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN + TYPEOF( i ) ) ) ) ) = 0 ); + wr3: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF( SELF. + assigned_effectivity_assignment ) ) AND ( SIZEOF( TYPEOF( SELF.assigned_effectivity_assignment.assigned_effectivity ) ) + = 1 ) AND ( SELF.assigned_effectivity_assignment.assigned_effectivity.id = 'class usage' ) AND ( SIZEOF( + QUERY ( i <* SELF.assigned_effectivity_assignment\applied_effectivity_assignment.items | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF( i ) ) ) ) ) = + 0 ) ); + END_ENTITY; + + ENTITY classification_assignment + ABSTRACT SUPERTYPE; + assigned_class : group; + role : classification_role; + END_ENTITY; + + ENTITY classification_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY clgc_with_dimension + SUBTYPE OF ( curve_length_geometric_constraint ); + length_value : positive_length_measure; + END_ENTITY; + + ENTITY closed_curve_style_parameters + SUBTYPE OF ( curve_style_parameters_representation ); + END_ENTITY; + + ENTITY closed_path_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PATH_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY closed_shell + SUBTYPE OF ( connected_face_set ); + END_ENTITY; + + ENTITY coaxial_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, coaxial_geometric_constraint ); + END_ENTITY; + + ENTITY coaxial_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF axial_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF axial_geometry_constraint_element; + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\explicit_constraint.reference_elements | ( SIZEOF( TYPEOF( q ) * [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SPHERICAL_SURFACE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SPHERE' ] ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY coaxiality_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY colour; + END_ENTITY; + + ENTITY colour_rgb + SUBTYPE OF ( colour_specification ); + red : REAL; + green : REAL; + blue : REAL; + WHERE + wr1: ( ( 0 <= red ) AND ( red <= 1 ) ); + wr2: ( ( 0 <= green ) AND ( green <= 1 ) ); + wr3: ( ( 0 <= blue ) AND ( blue <= 1 ) ); + END_ENTITY; + + ENTITY colour_specification + SUBTYPE OF ( colour ); + name : label; + END_ENTITY; + + ENTITY common_datum + SUBTYPE OF ( composite_shape_aspect, datum ); + WHERE + wr1: ( SIZEOF( SELF\composite_shape_aspect.component_relationships ) = 2 ); + wr2: ( SIZEOF( QUERY ( sar <* SELF\composite_shape_aspect.component_relationships | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM' IN TYPEOF( sar.related_shape_aspect ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMMON_DATUM' IN TYPEOF( sar.related_shape_aspect ) ) ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY comparison_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + comparison_equal, + comparison_greater, + comparison_greater_equal, + comparison_less, + comparison_less_equal, + comparison_not_equal, + like_expression ) ) + SUBTYPE OF ( boolean_expression, binary_generic_expression ); + SELF\binary_generic_expression.operands : LIST [2 : 2] OF expression; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression. + operands[1] ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( SELF\ + binary_generic_expression.operands[2] ) ) ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'BOOLEAN_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression.operands[1] ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression. + operands[2] ) ) ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF\ + binary_generic_expression.operands[1] ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' + IN TYPEOF( SELF\binary_generic_expression.operands[2] ) ) ) ); + END_ENTITY; + + ENTITY comparison_greater + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_greater_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_less + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_less_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY comparison_not_equal + SUBTYPE OF ( comparison_expression ); + END_ENTITY; + + ENTITY complex_area + ABSTRACT SUPERTYPE OF ( + path_area_with_parameters + ANDOR + primitive_2d_with_inner_boundary ) + SUBTYPE OF ( primitive_2d ); + END_ENTITY; + + ENTITY complex_clause + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY complex_conjunctive_clause + SUBTYPE OF ( complex_clause ); + END_ENTITY; + + ENTITY complex_disjunctive_clause + SUBTYPE OF ( complex_clause ); + END_ENTITY; + + ENTITY complex_number_literal + SUBTYPE OF ( generic_literal ); + real_part : REAL; + imag_part : REAL; + END_ENTITY; + + ENTITY complex_number_literal_polar + SUBTYPE OF ( complex_number_literal ); + modulus : REAL; + argument : REAL; + DERIVE + SELF\complex_number_literal.real_part : REAL := modulus * COS( argument ); + SELF\complex_number_literal.imag_part : REAL := modulus * SIN( argument ); + WHERE + wr1: ( modulus >= 0 ); + wr2: ( ( 0 <= argument ) AND ( argument <= ( 2 * PI ) ) ); + END_ENTITY; + + ENTITY complex_shelled_solid + SUBTYPE OF ( shelled_solid ); + thickened_face_list : LIST [1 : ?] OF SET [1 : ?] OF face_surface; + thickness_list : LIST [1 : ?] OF length_measure; + WHERE + wr1: ( SIZEOF( thickened_face_list ) = SIZEOF( thickness_list ) ); + wr2: ( SIZEOF( QUERY ( q <* thickness_list | ( q = 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY complex_triangulated_face + SUBTYPE OF ( tessellated_face ); + pnindex : LIST [0 : ?] OF INTEGER; + triangle_strips : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + triangle_fans : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_face.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_face.pnmax <> coordinates.npoints ) ) ); + wr3: ( NOT ( ( SIZEOF( triangle_strips ) = 0 ) AND ( SIZEOF( triangle_fans ) = 0 ) ) ); + END_ENTITY; + + ENTITY complex_triangulated_surface_set + SUBTYPE OF ( tessellated_surface_set ); + pnindex : LIST [0 : ?] OF INTEGER; + triangle_strips : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + triangle_fans : LIST [0 : ?] OF LIST [3 : ?] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_surface_set.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_surface_set.pnmax <> coordinates.npoints ) ) ); + wr3: ( NOT ( ( SIZEOF( triangle_strips ) = 0 ) AND ( SIZEOF( triangle_fans ) = 0 ) ) ); + END_ENTITY; + + ENTITY component_definition + SUBTYPE OF ( product_definition, product_definition_relationship ); + DERIVE + SELF\product_definition_relationship.related_product_definition : component_definition := SELF; + WHERE + wr1: ( NOT EXISTS( SELF\product_definition_relationship.description ) ); + wr2: ( NOT EXISTS( SELF\property_definition.description ) ); + wr3: ( SELF\product_definition_relationship.id = SELF\product_definition.id ); + wr4: ( SELF\product_definition_relationship.name = 'definition usage' ); + wr5: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_USAGE' ) IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY component_feature + SUBTYPE OF ( shape_aspect ); + SELF\shape_aspect.of_shape : assembly_component; + END_ENTITY; + + ENTITY component_feature_joint + SUBTYPE OF ( shape_aspect_relationship, shape_aspect ); + SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; + SELF\shape_aspect_relationship.related_shape_aspect : component_feature; + END_ENTITY; + + ENTITY component_feature_relationship + SUBTYPE OF ( shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; + SELF\shape_aspect_relationship.related_shape_aspect : component_feature; + WHERE + wr1: ( SELF\shape_aspect_relationship.related_shape_aspect :<>: SELF\shape_aspect_relationship.relating_shape_aspect ); + END_ENTITY; + + ENTITY component_mating_constraint_condition + SUBTYPE OF ( shape_aspect ); + UNIQUE + ur1 : SELF\shape_aspect.name, SELF\shape_aspect.of_shape; + END_ENTITY; + + ENTITY component_path_shape_aspect + SUBTYPE OF ( shape_aspect ); + location : multi_or_next_assembly_usage_occurrence; + component_shape_aspect : internal_or_reflected_shape_aspect; + UNIQUE + ur1 : location, component_shape_aspect; + END_ENTITY; + + ENTITY component_terminal + SUBTYPE OF ( component_feature ); + END_ENTITY; + + ENTITY composite_assembly_sequence_definition + SUBTYPE OF ( product_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATING_PRODUCT_DEFINITION' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' ) IN TYPEOF( pdr ) ) ) ) > + 0 ); + END_ENTITY; + + ENTITY composite_assembly_table + SUBTYPE OF ( part_laminate_table ); + END_ENTITY; + + ENTITY composite_curve + SUBTYPE OF ( bounded_curve ); + segments : LIST [1 : ?] OF composite_curve_segment; + self_intersect : LOGICAL; + DERIVE + n_segments : INTEGER := SIZEOF( segments ); + closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous; + WHERE + wr1: ( ( ( NOT closed_curve ) AND ( SIZEOF( QUERY ( temp <* segments | ( temp.transition = discontinuous ) ) ) = 1 ) ) OR + ( closed_curve AND ( SIZEOF( QUERY ( temp <* segments | ( temp.transition = discontinuous ) ) ) = 0 ) ) ); + END_ENTITY; + + ENTITY composite_curve_on_surface + SUPERTYPE OF ( + boundary_curve ) + SUBTYPE OF ( composite_curve ); + DERIVE + basis_surface : SET [0 : 2] OF surface := get_basis_surface( SELF ); + WHERE + wr1: ( SIZEOF( basis_surface ) > 0 ); + wr2: constraints_composite_curve_on_surface( SELF ); + END_ENTITY; + + ENTITY composite_curve_segment + SUBTYPE OF ( founded_item ); + transition : transition_code; + same_sense : BOOLEAN; + parent_curve : curve; + INVERSE + using_curves : BAG [1 : ?] OF composite_curve FOR segments; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE' IN TYPEOF( parent_curve ) ); + END_ENTITY; + + ENTITY composite_curve_transition_locator + SUBTYPE OF ( founded_item ); + basis_curve : composite_curve; + transition_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY composite_group_shape_aspect + SUBTYPE OF ( composite_shape_aspect ); + END_ENTITY; + + ENTITY composite_hole + SUBTYPE OF ( compound_feature ); + WHERE + wr1: ( SELF\characterized_object.description IN [ 'counterbore', 'countersunk'] ); + wr2: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( + QUERY ( csa <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) AND ( SIZEOF( + QUERY ( sar <* csa.component_relationships | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ROUND_HOLE' IN TYPEOF( sar.related_shape_aspect ) ) ) ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr3: ( ( NOT ( SELF\characterized_object.description = 'countersunk' ) ) OR ( SIZEOF( QUERY ( pds <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( + QUERY ( csa <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) AND ( SIZEOF( + QUERY ( sar <* csa.component_relationships | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUND_HOLE' IN + TYPEOF( sar.related_shape_aspect ) ) AND ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( sar. + related_shape_aspect, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( + QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + sa_occ.description = 'change in diameter occurrence' ) AND ( SIZEOF( QUERY ( fcr2 <* QUERY ( sar2 <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar2. + description = 'taper usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' + IN TYPEOF( sar2 ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' IN TYPEOF( fcr2. + related_shape_aspect ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY composite_material_designation + SUBTYPE OF ( material_designation ); + END_ENTITY; + + ENTITY composite_shape_aspect + SUPERTYPE OF ( + ONEOF ( + continuous_shape_aspect, + common_datum, + composite_group_shape_aspect ) ) + SUBTYPE OF ( shape_aspect ); + INVERSE + component_relationships : SET [2 : ?] OF shape_aspect_relationship FOR relating_shape_aspect; + END_ENTITY; + + ENTITY composite_sheet_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION'] * TYPEOF( SELF ) ) + = 1 ); + END_ENTITY; + + ENTITY composite_text + SUBTYPE OF ( geometric_representation_item ); + collected_text : SET [2 : ?] OF text_or_character; + WHERE + wr1: acyclic_composite_text( SELF, SELF.collected_text ); + END_ENTITY; + + ENTITY composite_text_with_associated_curves + SUBTYPE OF ( composite_text ); + associated_curves : SET [1 : ?] OF curve; + END_ENTITY; + + ENTITY composite_text_with_blanking_box + SUBTYPE OF ( composite_text ); + blanking : planar_box; + END_ENTITY; + + ENTITY composite_text_with_delineation + SUBTYPE OF ( composite_text ); + delineation : text_delineation; + END_ENTITY; + + ENTITY composite_text_with_extent + SUBTYPE OF ( composite_text ); + extent : planar_extent; + END_ENTITY; + + ENTITY composite_unit_shape_aspect + SUBTYPE OF ( composite_shape_aspect ); + END_ENTITY; + + ENTITY compound_feature + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( + QUERY ( csa <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( csa. + name = 'compound feature in solid' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' + IN TYPEOF( csa ) ) ) ) ) = 1 ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( + QUERY ( csa <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) ) ) = 1 ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( + QUERY ( csa <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) AND ( SIZEOF( + QUERY ( fcr <* csa.component_relationships | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( fcr ) ) ) ) ) = 0 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr4: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( + QUERY ( csa <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) ) ) = 1 ) ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( + QUERY ( csa <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) AND ( SIZEOF( + QUERY ( sar <* csa.component_relationships | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.THREAD' IN TYPEOF( + sar.related_shape_aspect ) ) ) ) = 0 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr6: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( + QUERY ( csa <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) AND ( SIZEOF( + QUERY ( sar <* csa.component_relationships | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOUND_FEATURE' + IN TYPEOF( sar.related_shape_aspect ) ) AND ( sar.related_shape_aspect\characterized_object.name <> SELF\ + characterized_object.name ) ) ) ) = 0 ) ) ) ) = 1 ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY compound_representation_item + SUPERTYPE OF ( + ONEOF ( + point_and_vector, + point_path ) + ANDOR + ONEOF ( + row_representation_item, + table_representation_item ) ) + SUBTYPE OF ( representation_item ); + item_element : compound_item_definition; + END_ENTITY; + + ENTITY compound_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_CONTEXT' ) IN TYPEOF( SELF. + context_of_items ) ) AND ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ) ); + wr2: ( SIZEOF( QUERY ( cbsr_i <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'FACE_BASED_SURFACE_MODEL', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MAPPED_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AXIS2_PLACEMENT_3D'] * TYPEOF( cbsr_i ) ) <> 1 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( cbsr_i <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'FACE_BASED_SURFACE_MODEL', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MAPPED_ITEM'] * TYPEOF( cbsr_i ) ) = 1 ) ) ) > 0 ); + wr4: ( SIZEOF( QUERY ( cbsr_i <* SELF.items | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MAPPED_ITEM' ) IN + TYPEOF( cbsr_i ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COMPOUND_SHAPE_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' ] * TYPEOF( cbsr_i\mapped_item.mapping_source ) ) <> 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY concat_expression + SUBTYPE OF ( string_expression, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF string_expression; + END_ENTITY; + + ENTITY concentricity_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY concept_feature_operator; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY concept_feature_relationship; + name : label; + description : OPTIONAL text; + relating_product_concept_feature : product_concept_feature; + related_product_concept_feature : product_concept_feature; + END_ENTITY; + + ENTITY concept_feature_relationship_with_condition + SUBTYPE OF ( concept_feature_relationship ); + conditional_operator : concept_feature_operator; + END_ENTITY; + + ENTITY conditional_concept_feature + SUBTYPE OF ( product_concept_feature ); + condition : concept_feature_relationship_with_condition; + END_ENTITY; + + ENTITY conductance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONDUCTANCE_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY conductance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.siemens ) ); + END_ENTITY; + + ENTITY configurable_item + SUBTYPE OF ( configuration_item ); + item_concept_feature : SET [1 : ?] OF product_concept_feature_association; + END_ENTITY; + + ENTITY configuration_design; + configuration : configuration_item; + design : configuration_design_item; + DERIVE + name : label := get_name_value( SELF ); + description : text := get_description_value( SELF ); + UNIQUE + ur1 : configuration, design; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY configuration_effectivity + SUBTYPE OF ( product_definition_effectivity ); + configuration : configuration_design; + UNIQUE + ur1 : configuration, SELF\product_definition_effectivity.usage, SELF\effectivity.id; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_USAGE' IN TYPEOF( SELF\ + product_definition_effectivity.usage ) ); + END_ENTITY; + + ENTITY configuration_item; + id : identifier; + name : label; + description : OPTIONAL text; + item_concept : product_concept; + purpose : OPTIONAL label; + END_ENTITY; + + ENTITY configuration_item_hierarchical_relationship + SUBTYPE OF ( configuration_item_relationship ); + END_ENTITY; + + ENTITY configuration_item_relationship; + name : label; + description : OPTIONAL text; + relating_configuration_item : configuration_item; + related_configuration_item : configuration_item; + END_ENTITY; + + ENTITY configuration_item_revision_sequence + SUBTYPE OF ( configuration_item_relationship ); + END_ENTITY; + + ENTITY configured_effectivity_assignment + SUBTYPE OF ( effectivity_assignment ); + items : SET [1 : ?] OF configured_effectivity_item; + WHERE + wr1: ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EFFECTIVITY'] * TYPEOF( SELF.assigned_effectivity ) ) = + 1 ) AND ( SELF.assigned_effectivity.id = 'configuration validity' ) ); + wr2: ( SIZEOF( SELF.items ) = 1 ); + wr3: ( SIZEOF( QUERY ( i <* SELF.items | ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN + TYPEOF( i ) ) ) OR ( NOT ( i\product_definition.frame_of_reference.name IN [ 'conceptual definition', + 'part occurrence' , 'functional definition', 'alternative definition'] ) ) ) ) ) = 0 ); + wr4: ( SELF.role.name IN [ 'design', 'usage'] ); + wr5: ( ( SELF.role.name <> 'design' ) OR ( SIZEOF( QUERY ( i <* SELF.items | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( i ) ) AND ( i\product_definition. + frame_of_reference.name = 'part occurrence' ) ) ) ) = 0 ) ); + wr6: ( ( SELF.role.name <> 'usage' ) OR ( SIZEOF( QUERY ( i <* SELF.items | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( i ) ) AND ( i\product_definition. + frame_of_reference.name = 'conceptual definition' ) ) ) ) = 0 ) ); + wr7: ( SELF.role.description IN [ 'exception', 'inherited', 'local'] ); + wr8: ( SIZEOF( QUERY ( x <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF( x ) ) ) ) + = 1 ); + END_ENTITY; + + ENTITY configured_effectivity_context_assignment + SUBTYPE OF ( effectivity_context_assignment ); + SELF\effectivity_context_assignment.assigned_effectivity_assignment : configured_effectivity_assignment; + items : SET [1 : ?] OF configured_effectivity_context_item; + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + END_ENTITY; + + ENTITY conic + SUPERTYPE OF ( + ONEOF ( + circle, + ellipse, + hyperbola, + parabola ) ) + SUBTYPE OF ( curve ); + position : axis2_placement; + END_ENTITY; + + ENTITY conical_stepped_hole_transition + SUBTYPE OF ( geometric_representation_item ); + transition_number : positive_integer; + cone_apex_angle : plane_angle_measure; + cone_base_radius : positive_length_measure; + END_ENTITY; + + ENTITY conical_surface + SUBTYPE OF ( elementary_surface ); + radius : length_measure; + semi_angle : plane_angle_measure; + WHERE + wr1: ( radius >= 0 ); + END_ENTITY; + + ENTITY connected_edge_set + SUBTYPE OF ( topological_representation_item ); + ces_edges : SET [1 : ?] OF edge; + END_ENTITY; + + ENTITY connected_face_set + SUPERTYPE OF ( + ONEOF ( + closed_shell, + open_shell ) ) + SUBTYPE OF ( topological_representation_item ); + cfs_faces : SET [1 : ?] OF face; + END_ENTITY; + + ENTITY connected_face_sub_set + SUBTYPE OF ( connected_face_set ); + parent_face_set : connected_face_set; + END_ENTITY; + + ENTITY connection_zone_based_assembly_joint + SUBTYPE OF ( assembly_joint ); + END_ENTITY; + + ENTITY connection_zone_interface_plane_relationship + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + UNIQUE + ur1 : SELF\shape_aspect_relationship.name; + END_ENTITY; + + ENTITY constant_function + SUBTYPE OF ( maths_function, generic_literal ); + sole_output : maths_value; + source_of_domain : maths_space_or_function; + WHERE + wr1: no_cyclic_domain_reference( source_of_domain, [SELF] ); + wr2: expression_is_constant( domain_from( source_of_domain ) ); + END_ENTITY; + + ENTITY constrained_kinematic_motion_representation + SUBTYPE OF ( representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : representative_shape_representation; + SELF\representation_relationship.rep_2 : representative_shape_representation; + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ); + wr2: ( ( dimension_of( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_1 ) = 3 ) AND ( dimension_of( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) = 3 ) ); + wr3: ( ( SELF\representation_relationship.rep_1 IN ( using_representations( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) + using_representation_with_mapping( SELF\representation_relationship_with_transformation. + transformation_operator\item_defined_transformation.transform_item_1 ) ) ) AND ( SELF\representation_relationship. + rep_2 IN ( using_representations( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_2 ) + using_representation_with_mapping( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ) ); + wr4: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KINEMATIC_PAIR' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator ) ); + END_ENTITY; + + ENTITY constructive_geometry_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF. + context_of_items ) ) AND ( 2 <= SELF.context_of_items\geometric_representation_context.coordinate_space_dimension ) + AND ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension <= 3 ) ); + wr2: ( SIZEOF( QUERY ( cgr_i <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_SURFACE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT'] * TYPEOF( cgr_i ) ) <> 1 ) ) ) + = 0 ); + wr3: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2' ) ) > + 0 ); + wr4: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION' ) ) + = 0 ); + END_ENTITY; + + ENTITY constructive_geometry_representation_relationship + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : constructive_geometry_representation_or_shape_represenation; + SELF\representation_relationship.rep_2 : constructive_geometry_representation; + WHERE + wr1: ( ( SELF.rep_1.context_of_items :=: SELF.rep_2.context_of_items ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF.rep_1. + context_of_items ) ) ); + wr2: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' ) IN + TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY contact_ratio_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( SIZEOF( SELF.items ) = 1 ) AND ( SIZEOF( QUERY ( i <* SELF.items | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( i ) ) = 1 ) AND ( i.name = + 'ratio value' ) ) ) ) = 1 ) ); + wr2: ( ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) | ( pdr\property_definition_representation.name = + 'contact ratio reference' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) + | ( ( pdr\property_definition_representation.name = 'contact ratio reference' ) AND ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION' ) IN TYPEOF( pdr\ + property_definition_representation.definition\property_definition.definition ) ) ) ) ) = 1 ) ); + wr3: ( ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) + | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa\general_property_association.base_definition ) ) AND ( gpa\ + general_property_association.base_definition\general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY contacting_feature + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SELF\shape_aspect.product_definitional = FALSE ); + END_ENTITY; + + ENTITY context_dependent_invisibility + SUBTYPE OF ( invisibility ); + presentation_context : invisibility_context; + END_ENTITY; + + ENTITY context_dependent_kinematic_link_representation; + representation_relation : kinematic_link_representation_association; + represented_product_relation : product_definition_relationship_kinematics; + END_ENTITY; + + ENTITY context_dependent_over_riding_styled_item + SUBTYPE OF ( over_riding_styled_item ); + style_context : LIST [1 : ?] OF style_context_select; + WHERE + wr1: ( ( SIZEOF( QUERY ( sc <* SELF.style_context | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM' + IN TYPEOF( sc ) ) ) ) = 1 ) OR ( SIZEOF( QUERY ( sc <* SELF.style_context | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF( sc ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF( sc ) ) ) ) ) = SIZEOF( + style_context ) ) ); + END_ENTITY; + + ENTITY context_dependent_shape_representation; + representation_relation : shape_representation_relationship; + represented_product_relation : product_definition_shape; + DERIVE + description : text := get_description_value( SELF ); + name : label := get_name_value( SELF ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF( SELF. + represented_product_relation.definition ) ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + wr3: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY context_dependent_unit + SUBTYPE OF ( named_unit ); + name : label; + END_ENTITY; + + ENTITY continuous_shape_aspect + SUPERTYPE OF ( + ONEOF ( + between_shape_aspect, + all_around_shape_aspect ) ) + SUBTYPE OF ( composite_shape_aspect ); + END_ENTITY; + + ENTITY contract; + name : label; + purpose : text; + kind : contract_type; + END_ENTITY; + + ENTITY contract_assignment + ABSTRACT SUPERTYPE; + assigned_contract : contract; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) <= + 1 ); + END_ENTITY; + + ENTITY contract_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_contract : contract; + related_contract : contract; + END_ENTITY; + + ENTITY contract_type; + description : label; + END_ENTITY; + + ENTITY conversion_based_unit + SUBTYPE OF ( named_unit ); + name : label; + conversion_factor : measure_with_unit; + WHERE + wr1: ( SELF\named_unit.dimensions = derive_dimensional_exponents( conversion_factor\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY coordinated_universal_time_offset; + hour_offset : INTEGER; + minute_offset : OPTIONAL INTEGER; + sense : ahead_or_behind; + DERIVE + actual_minute_offset : INTEGER := NVL( minute_offset, 0 ); + WHERE + wr1: ( ( 0 <= hour_offset ) AND ( hour_offset < 24 ) ); + wr2: ( ( 0 <= actual_minute_offset ) AND ( actual_minute_offset <= 59 ) ); + wr3: ( NOT ( ( ( hour_offset <> 0 ) OR ( actual_minute_offset <> 0 ) ) AND ( sense = exact ) ) ); + END_ENTITY; + + ENTITY coordinates_list + SUBTYPE OF ( tessellated_item ); + npoints : INTEGER; + position_coords : LIST [1 : ?] OF LIST [3 : 3] OF REAL; + WHERE + wr1: ( npoints = SIZEOF( position_coords ) ); + wr2: ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPOSITIONED_TESSELLATED_ITEM'] * TYPEOF( SELF ) ) = 0 ); + END_ENTITY; + + ENTITY cos_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY csg_2d_shape_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF csg_2d_shape_select; + WHERE + wr1: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SOLID'] * + TYPEOF( it ) ) = 1 ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) AND ( + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CSG_2D_SHAPE_REPRESENTATION' ) IN TYPEOF( it\mapped_item. + mapping_source.mapped_representation ) ) ) ) ) ) >= 1 ); + wr3: ( SIZEOF( QUERY ( it <* SELF.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) + AND ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CSG_2D_SHAPE_REPRESENTATION' ) IN TYPEOF( it\ + mapped_item.mapping_source.mapped_representation ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY csg_primitive_solid_2d + SUBTYPE OF ( csg_solid_2d ); + SELF\csg_solid.tree_root_expression : bounded_primitive_2d; + END_ENTITY; + + ENTITY csg_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SOLID', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_REPLICA', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REVOLVED_FACE_SOLID' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF( it ) ) <> 1 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SHAPE_REPRESENTATION' IN TYPEOF( mi + \mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( sr <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_REPLICA' + IN TYPEOF( it ) ) ) | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SOLID', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REVOLVED_FACE_SOLID' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF( sr\solid_replica.parent_solid ) ) + = 0 ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN + TYPEOF( it ) ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY csg_solid + SUBTYPE OF ( solid_model ); + tree_root_expression : csg_select; + END_ENTITY; + + ENTITY csg_solid_2d + SUBTYPE OF ( csg_solid ); + SELF\csg_solid.tree_root_expression : csg_select_2d; + WHERE + wr1: valid_csg_2d_primitives( SELF ); + END_ENTITY; + + ENTITY currency + ABSTRACT SUPERTYPE OF ( + ONEOF ( + externally_defined_currency, + iso4217_currency ) ) + SUBTYPE OF ( context_dependent_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY currency_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + SELF\measure_with_unit.unit_component : currency; + END_ENTITY; + + ENTITY current_change_element_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : current_element_assignment_select; + items : SET [1 : ?] OF change_management_object; + END_ENTITY; + + ENTITY curve + SUPERTYPE OF ( + ONEOF ( + line, + conic, + pcurve, + surface_curve, + offset_curve_2d, + offset_curve_3d, + curve_replica ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY curve_based_path + SUBTYPE OF ( path_node ); + path_curve : curve; + END_ENTITY; + + ENTITY curve_based_path_with_orientation + SUBTYPE OF ( kinematic_path_segment ); + position_curve : bounded_curve; + orientation_curve : bounded_curve; + WHERE + wr1: ( TYPEOF( position_curve ) = TYPEOF( orientation_curve ) ); + END_ENTITY; + + ENTITY curve_based_path_with_orientation_and_parameters + SUBTYPE OF ( curve_based_path_with_orientation ); + parameters : path_parameter_representation; + END_ENTITY; + + ENTITY curve_bounded_surface + SUBTYPE OF ( bounded_surface ); + basis_surface : surface; + boundaries : SET [1 : ?] OF boundary_curve; + implicit_outer : BOOLEAN; + WHERE + wr1: ( ( NOT implicit_outer ) OR ( SIZEOF( QUERY ( temp <* boundaries | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'OUTER_BOUNDARY_CURVE' IN TYPEOF( temp ) ) ) ) = 0 ) ); + wr2: ( ( NOT implicit_outer ) OR ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_SURFACE' IN TYPEOF( + basis_surface ) ) ); + wr3: ( SIZEOF( QUERY ( temp <* boundaries | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OUTER_BOUNDARY_CURVE' IN + TYPEOF( temp ) ) ) ) <= 1 ); + wr4: ( SIZEOF( QUERY ( temp <* boundaries | ( temp\composite_curve_on_surface.basis_surface[1] <> SELF.basis_surface ) ) ) + = 0 ); + END_ENTITY; + + ENTITY curve_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY curve_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 2] OF curve; + SELF\explicit_constraint.reference_elements : SET [0 : 4] OF point_curve_or_surface_constraint_element; + near_points : SET [0 : 4] OF near_point_relationship; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CDGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND ( SIZEOF( SELF\ + explicit_constraint.constrained_elements ) = 2 ) ) ); + wr2: ( SIZEOF( near_points ) <= SIZEOF( SELF\explicit_constraint.reference_elements ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY curve_length_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF bounded_curve; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY curve_replica + SUBTYPE OF ( curve ); + parent_curve : curve; + transformation : cartesian_transformation_operator; + WHERE + wr1: ( transformation.dim = parent_curve.dim ); + wr2: acyclic_curve_replica( SELF, parent_curve ); + END_ENTITY; + + ENTITY curve_segment_set + SUBTYPE OF ( geometric_representation_item ); + segments : SET [1 : ?] OF composite_curve_segment; + END_ENTITY; + + ENTITY curve_smoothness_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 1] OF curve_segment_set; + smoothness : transition_code; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY curve_style + SUBTYPE OF ( founded_item ); + name : label; + curve_font : OPTIONAL curve_font_or_scaled_curve_font_select; + curve_width : OPTIONAL size_select; + curve_colour : OPTIONAL colour; + WHERE + wr1: ( EXISTS( curve_font ) OR EXISTS( curve_width ) OR EXISTS( curve_colour ) ); + END_ENTITY; + + ENTITY curve_style_font + SUBTYPE OF ( founded_item ); + name : label; + pattern_list : LIST [1 : ?] OF curve_style_font_pattern; + END_ENTITY; + + ENTITY curve_style_font_and_scaling + SUBTYPE OF ( founded_item ); + name : label; + curve_font : curve_style_font_select; + curve_font_scaling : REAL; + END_ENTITY; + + ENTITY curve_style_font_pattern + SUBTYPE OF ( founded_item ); + visible_segment_length : positive_length_measure; + invisible_segment_length : positive_length_measure; + END_ENTITY; + + ENTITY curve_style_parameters_representation + SUBTYPE OF ( representation ); + END_ENTITY; + + ENTITY curve_style_parameters_with_ends + SUBTYPE OF ( curve_style_parameters_representation ); + END_ENTITY; + + ENTITY curve_style_rendering; + rendering_method : shading_curve_method; + rendering_properties : surface_rendering_properties; + END_ENTITY; + + ENTITY curve_swept_solid_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SWEPT_AREA_SOLID' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_DISK_SOLID', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_AREA_SOLID', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_DISK_SOLID' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ] * TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' + IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( scsas <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SURFACE_CURVE_SWEPT_AREA_SOLID' IN TYPEOF( it ) ) ) | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF( scsas\surface_curve_swept_area_solid. + directrix ) ) OR ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( scsas\ + surface_curve_swept_area_solid.directrix ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY curve_with_excessive_segments + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_OR_COMPOSITE_CURVE_SELECT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY curve_with_small_curvature_radius + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY cylindrical_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY cylindrical_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : cylindrical_pair; + actual_translation : length_measure; + actual_rotation : plane_angle_measure; + END_ENTITY; + + ENTITY cylindrical_pair_with_range + SUBTYPE OF ( cylindrical_pair ); + lower_limit_actual_translation : OPTIONAL length_measure; + upper_limit_actual_translation : OPTIONAL length_measure; + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_translation ) ) OR ( NOT EXISTS( upper_limit_actual_translation ) ) ) XOR ( + lower_limit_actual_translation < upper_limit_actual_translation ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + END_ENTITY; + + ENTITY cylindrical_surface + SUBTYPE OF ( elementary_surface ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY cylindricity_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN + TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY data_environment; + name : label; + description : text; + elements : SET [1 : ?] OF property_definition_representation; + END_ENTITY; + + ENTITY data_quality_assessment_measurement_association; + assessment_specification : data_quality_criterion_assessment_association; + measurement_requirement : data_quality_criterion_measurement_association; + WHERE + wr1: ( SELF.measurement_requirement\representation_item_relationship.relating_representation_item :=: SELF. + assessment_specification.criterion ); + END_ENTITY; + + ENTITY data_quality_assessment_specification; + description : text; + END_ENTITY; + + ENTITY data_quality_criteria_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_CRITERION' ) IN TYPEOF( q ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY data_quality_criterion + SUBTYPE OF ( representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS' ) ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' ) IN + TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_criterion_assessment_association; + criterion : data_quality_criterion; + assessment_specification : data_quality_assessment_specification; + END_ENTITY; + + ENTITY data_quality_criterion_measurement_association + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : data_quality_criterion; + SELF\representation_item_relationship.related_representation_item : data_quality_measurement_requirement; + END_ENTITY; + + ENTITY data_quality_definition; + description : text; + END_ENTITY; + + ENTITY data_quality_definition_relationship; + description : text; + relating_data_quality_definition : data_quality_definition; + related_data_quality_definition : data_quality_definition; + END_ENTITY; + + ENTITY data_quality_definition_representation_relationship; + description : text; + definition : data_quality_definition; + used_representation : used_quality_representation_select; + END_ENTITY; + + ENTITY data_quality_inspection_criterion_report + SUBTYPE OF ( data_quality_inspection_report ); + statistical_values : SET [1 : 2] OF data_quality_inspection_criterion_report_item; + WHERE + wr1: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF\data_quality_inspection_report.inspection_result.criterion_inspected, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_REPORT_REQUEST.CRITERION_OF_REPORT_REQUEST' ) ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SUMMARY_REPORT_REQUEST' ) IN TYPEOF( i1 ) ) ) ) > 0 ); + wr2: ( ( SIZEOF( SELF.statistical_values ) = 1 ) OR ( SELF.statistical_values[1].value_type <> SELF.statistical_values[2]. + value_type ) ); + END_ENTITY; + + ENTITY data_quality_inspection_criterion_report_item + SUBTYPE OF ( representation_item ); + statistical_value : INTEGER; + value_type : statistical_value_type; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS' ) ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_instance_report + SUBTYPE OF ( data_quality_inspection_report ); + inspected_instances : LIST [1 : ?] OF data_quality_inspection_instance_report_item; + WHERE + wr1: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF\data_quality_inspection_report.inspection_result.criterion_inspected, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_REPORT_REQUEST.CRITERION_OF_REPORT_REQUEST' ) ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DETAILED_REPORT_REQUEST' ) IN TYPEOF( i1 ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_instance_report_item + SUBTYPE OF ( representation_item ); + inspected_elements : SET [1 : ?] OF inspected_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS' ) ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_report + SUPERTYPE OF ( + ONEOF ( + data_quality_inspection_criterion_report, + data_quality_inspection_instance_report ) ) + SUBTYPE OF ( representation_item ); + inspection_result : data_quality_inspection_result; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS' ) ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_result + SUBTYPE OF ( representation_item ); + criterion_inspected : data_quality_criterion; + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS' ) ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_CRITERIA_REPRESENTATION' ) IN TYPEOF( q ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_result_representation + SUBTYPE OF ( representation ); + criteria_inspected : data_quality_criteria_representation; + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ) ) > 0 ); + wr2: ( SIZEOF( inspected_product_definition( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY data_quality_inspection_result_with_judgement + SUBTYPE OF ( data_quality_inspection_result ); + judgement : BOOLEAN; + END_ENTITY; + + ENTITY data_quality_measurement_requirement + SUBTYPE OF ( representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS' ) ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' ) IN + TYPEOF( q ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY data_quality_report_measurement_association + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : data_quality_measurement_requirement; + SELF\representation_item_relationship.related_representation_item : data_quality_inspection_report; + END_ENTITY; + + ENTITY data_quality_report_request + ABSTRACT SUPERTYPE OF ( + ONEOF ( + summary_report_request, + detailed_report_request ) ); + description : text; + criterion_of_report_request : data_quality_criterion; + END_ENTITY; + + ENTITY date + SUPERTYPE OF ( + ONEOF ( + calendar_date, + ordinal_date, + week_of_year_and_day_date, + year_month ) ); + year_component : year_number; + END_ENTITY; + + ENTITY date_and_time; + date_component : date; + time_component : local_time; + END_ENTITY; + + ENTITY date_and_time_assignment + ABSTRACT SUPERTYPE; + assigned_date_and_time : date_and_time; + role : date_time_role; + END_ENTITY; + + ENTITY date_assignment + ABSTRACT SUPERTYPE; + assigned_date : date; + role : date_role; + END_ENTITY; + + ENTITY date_representation_item + SUBTYPE OF ( representation_item, date ); + END_ENTITY; + + ENTITY date_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY date_time_representation_item + SUBTYPE OF ( representation_item, date_and_time ); + END_ENTITY; + + ENTITY date_time_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY dated_effectivity + SUBTYPE OF ( effectivity ); + effectivity_end_date : OPTIONAL date_time_or_event_occurrence; + effectivity_start_date : OPTIONAL date_time_or_event_occurrence; + WHERE + wr1: ( EXISTS( effectivity_end_date ) OR EXISTS( effectivity_start_date ) ); + END_ENTITY; + + ENTITY datum + SUBTYPE OF ( shape_aspect ); + identification : identifier; + INVERSE + established_by_relationships : SET [1 : ?] OF shape_aspect_relationship FOR related_shape_aspect; + UNIQUE + ur1 : identification, SELF\shape_aspect.of_shape; + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMMON_DATUM' IN TYPEOF( SELF ) ) XOR ( SIZEOF( QUERY ( x <* SELF + \datum.established_by_relationships | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM_FEATURE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM_TARGET' ] * TYPEOF( x\shape_aspect_relationship. + relating_shape_aspect ) ) = 1 ) ) ) >= 1 ) ); + wr2: ( SIZEOF( QUERY ( x <* SELF\datum.established_by_relationships | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATUM_FEATURE' IN TYPEOF( x\shape_aspect_relationship.relating_shape_aspect ) ) ) ) <= 1 ); + wr3: ( SELF\shape_aspect.product_definitional = FALSE ); + wr4: ( SELF\shape_aspect.name = '' ); + END_ENTITY; + + ENTITY datum_feature + SUPERTYPE OF ( + ONEOF ( + dimensional_location_with_datum_feature, + dimensional_size_with_datum_feature ) ) + SUBTYPE OF ( shape_aspect ); + INVERSE + feature_basis_relationship : SET [1 : ?] OF shape_aspect_relationship FOR relating_shape_aspect; + WHERE + wr1: ( SIZEOF( QUERY ( sar <* SELF\datum_feature.feature_basis_relationship | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM' IN TYPEOF( sar\shape_aspect_relationship. + related_shape_aspect ) ) ) ) = 1 ); + wr2: ( SELF\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY datum_feature_callout + SUBTYPE OF ( draughting_callout ); + END_ENTITY; + + ENTITY datum_reference; + precedence : INTEGER; + referenced_datum : datum; + WHERE + wr1: ( precedence > 0 ); + END_ENTITY; + + ENTITY datum_reference_compartment + SUBTYPE OF ( general_datum_reference ); + INVERSE + owner : datum_system FOR constituents; + END_ENTITY; + + ENTITY datum_reference_element + SUBTYPE OF ( general_datum_reference ); + DERIVE + owner : general_datum_reference := sts_get_general_datum_reference( SELF ); + WHERE + wr1: ( SELF <> owner ); + wr2: EXISTS( owner ); + wr3: ( SELF\shape_aspect.of_shape = owner\shape_aspect.of_shape ); + END_ENTITY; + + ENTITY datum_reference_modifier_with_value; + modifier_type : datum_reference_modifier_type; + modifier_value : length_measure_with_unit; + WHERE + wr1: ( modifier_value\measure_with_unit.value_component > 0 ); + END_ENTITY; + + ENTITY datum_system + SUBTYPE OF ( shape_aspect ); + constituents : LIST [1 : 3] OF UNIQUE datum_reference_compartment; + UNIQUE + ur1 : SELF\shape_aspect.of_shape, SELF\shape_aspect.name; + WHERE + wr1: ( SELF\shape_aspect.product_definitional = FALSE ); + END_ENTITY; + + ENTITY datum_target + SUBTYPE OF ( shape_aspect ); + target_id : identifier; + INVERSE + target_basis_relationship : SET [1 : ?] OF shape_aspect_relationship FOR relating_shape_aspect; + WHERE + wr1: ( SIZEOF( QUERY ( sar <* SELF\datum_target.target_basis_relationship | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM' IN TYPEOF( sar\shape_aspect_relationship. + related_shape_aspect ) ) ) ) = 1 ); + wr2: ( SELF\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY datum_target_callout + SUBTYPE OF ( draughting_callout ); + END_ENTITY; + + ENTITY default_tolerance_table + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF( i ) ) ) ) ) = 0 ); + wr2: ( ( SIZEOF( QUERY ( rr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.REP_1' ) | ( rr.name < 'general tolerance definition' ) ) ) = 0 ) AND ( SIZEOF( + QUERY ( rr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1' ) + | ( ( rr.name = 'general tolerance definition' ) AND ( rr.rep_2.name < 'default tolerance' ) ) ) ) = 0 ) AND ( + SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2' ) ) + = 0 ) ); + END_ENTITY; + + ENTITY default_tolerance_table_cell + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( x <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION.ITEMS' ) | + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DEFAULT_TOLERANCE_TABLE' ) IN TYPEOF( x ) ) ) ) = 1 ); + wr2: default_tolerance_table_cell_wr2( SELF\compound_representation_item.item_element ); + wr3: default_tolerance_table_cell_wr3( SELF\compound_representation_item.item_element ); + wr4: default_tolerance_table_cell_wr4( SELF\compound_representation_item.item_element ); + wr5: default_tolerance_table_cell_wr5( SELF\compound_representation_item.item_element ); + END_ENTITY; + + ENTITY defined_character_glyph + SUBTYPE OF ( geometric_representation_item ); + definition : defined_glyph_select; + placement : axis2_placement; + END_ENTITY; + + ENTITY defined_constraint + ABSTRACT SUPERTYPE OF ( + equal_parameter_constraint ) + SUBTYPE OF ( explicit_constraint ); + END_ENTITY; + + ENTITY defined_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + numeric_defined_function, + string_defined_function, + boolean_defined_function ) + ANDOR + sql_mappable_defined_function ); + END_ENTITY; + + ENTITY defined_symbol + SUBTYPE OF ( geometric_representation_item ); + definition : defined_symbol_select; + target : symbol_target; + END_ENTITY; + + ENTITY definite_integral_expression + SUBTYPE OF ( quantifier_expression ); + lower_limit_neg_infinity : BOOLEAN; + upper_limit_pos_infinity : BOOLEAN; + DERIVE + integrand : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + variable_of_integration : maths_variable := SELF\multiple_arity_generic_expression.operands[2]; + SELF\quantifier_expression.variables : LIST [1 : 1] OF UNIQUE generic_variable := [variable_of_integration]; + WHERE + wr1: has_values_space( integrand ); + wr2: space_is_continuum( values_space_of( integrand ) ); + wr3: definite_integral_expr_check( SELF\multiple_arity_generic_expression.operands, lower_limit_neg_infinity, + upper_limit_pos_infinity ); + END_ENTITY; + + ENTITY definite_integral_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + variable_of_integration : input_selector; + lower_limit_neg_infinity : BOOLEAN; + upper_limit_pos_infinity : BOOLEAN; + DERIVE + integrand : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: space_is_continuum( integrand.range ); + wr2: definite_integral_check( integrand.domain, variable_of_integration, lower_limit_neg_infinity, upper_limit_pos_infinity ); + END_ENTITY; + + ENTITY definitional_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\representation. + context_of_items ) ); + END_ENTITY; + + ENTITY definitional_representation_relationship + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: acyclic_representation_relationship( SELF, [SELF\representation_relationship.rep_2], + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION' ); + END_ENTITY; + + ENTITY definitional_representation_relationship_with_same_context + SUBTYPE OF ( definitional_representation_relationship ); + WHERE + wr1: ( SELF\representation_relationship.rep_1.context_of_items :=: SELF\representation_relationship.rep_2.context_of_items ); + END_ENTITY; + + ENTITY degenerate_pcurve + SUBTYPE OF ( point ); + basis_surface : surface; + reference_to_curve : definitional_representation; + WHERE + wr1: ( SIZEOF( reference_to_curve\representation.items ) = 1 ); + wr2: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF( reference_to_curve\representation.items[1] ) ); + wr3: ( reference_to_curve\representation.items[1]\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY degenerate_toroidal_surface + SUBTYPE OF ( toroidal_surface ); + select_outer : BOOLEAN; + WHERE + wr1: ( major_radius < minor_radius ); + END_ENTITY; + + ENTITY delete_element + SUBTYPE OF ( change_element ); + END_ENTITY; + + ENTITY derived_shape_aspect + SUPERTYPE OF ( + ONEOF ( + apex, + centre_of_symmetry, + geometric_alignment, + geometric_contact, + geometric_intersection, + parallel_offset, + perpendicular_to, + extension, + tangent ) ) + SUBTYPE OF ( shape_aspect ); + INVERSE + deriving_relationships : SET [1 : ?] OF shape_aspect_deriving_relationship FOR relating_shape_aspect; + END_ENTITY; + + ENTITY derived_unit + SUPERTYPE OF ( + ONEOF ( + absorbed_dose_unit, + acceleration_unit, + radioactivity_unit, + area_unit, + capacitance_unit, + dose_equivalent_unit, + electric_charge_unit, + conductance_unit, + electric_potential_unit, + energy_unit, + magnetic_flux_density_unit, + force_unit, + frequency_unit, + illuminance_unit, + inductance_unit, + magnetic_flux_unit, + power_unit, + pressure_unit, + resistance_unit, + velocity_unit, + volume_unit ) ); + elements : SET [1 : ?] OF derived_unit_element; + DERIVE + name : label := get_name_value( SELF ); + WHERE + wr1: ( ( SIZEOF( elements ) > 1 ) OR ( ( SIZEOF( elements ) = 1 ) AND ( elements[1].exponent <> 1 ) ) ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY derived_unit_element; + unit : named_unit; + exponent : REAL; + END_ENTITY; + + ENTITY description_attribute; + attribute_value : text; + described_item : description_attribute_select; + END_ENTITY; + + ENTITY descriptive_representation_item + SUPERTYPE OF ( + ONEOF ( + tagged_text_item, + uniform_resource_identifier ) ) + SUBTYPE OF ( representation_item ); + description : text; + END_ENTITY; + + ENTITY design_context + SUBTYPE OF ( product_definition_context ); + WHERE + wr1: ( SELF.life_cycle_stage = 'design' ); + END_ENTITY; + + ENTITY design_make_from_relationship + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY detailed_report_request + SUBTYPE OF ( data_quality_report_request ); + detailed_report_request_type : detailed_report_type; + report_sequence : preferred_ordering; + END_ENTITY; + + ENTITY detailed_report_request_with_number_of_data + SUBTYPE OF ( detailed_report_request ); + number_of_data : INTEGER; + DERIVE + SELF\detailed_report_request.detailed_report_request_type : detailed_report_type := measured_element; + END_ENTITY; + + ENTITY diameter_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY dielectric_constant_measure_with_unit + SUBTYPE OF ( ratio_measure_with_unit ); + END_ENTITY; + + ENTITY dimension_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) XOR ( SIZEOF( + QUERY ( dce_1 <* SELF\draughting_callout.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_CURVE' + IN TYPEOF( dce_1 ) ) ) ) = 0 ) ); + wr2: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) XOR ( SIZEOF( + QUERY ( dce_1 <* SELF\draughting_callout.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROJECTION_CURVE' IN TYPEOF( dce_1 ) ) ) ) = 0 ) ); + wr3: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) XOR ( + SIZEOF( QUERY ( dce_1 <* SELF\draughting_callout.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIMENSION_CURVE' IN TYPEOF( dce_1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY dimension_callout_component_relationship + SUBTYPE OF ( draughting_callout_relationship ); + WHERE + wr1: ( SELF.name IN [ 'prefix', 'suffix'] ); + wr2: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRUCTURED_DIMENSION_CALLOUT' IN TYPEOF( SELF. + relating_draughting_callout ) ); + wr3: ( SIZEOF( TYPEOF( SELF.related_draughting_callout ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LEADER_DIRECTED_CALLOUT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_DIRECTED_CALLOUT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRUCTURED_DIMENSION_CALLOUT' ] ) = 0 ); + wr4: ( ( SELF.related_draughting_callout.contents * SELF.relating_draughting_callout.contents ) = SELF. + related_draughting_callout.contents ); + wr5: ( ( SELF.name = 'prefix' ) AND ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.related_draughting_callout.contents | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( NOT ( ato. + name = 'prefix text' ) ) ) ) = 0 ) ); + wr6: ( ( SELF.name = 'suffix' ) AND ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.related_draughting_callout.contents | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( NOT ( ato. + name = 'suffix text' ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY dimension_callout_relationship + SUBTYPE OF ( draughting_callout_relationship ); + WHERE + wr1: ( SELF.name IN [ 'primary', 'secondary'] ); + wr2: ( SIZEOF( TYPEOF( SELF.relating_draughting_callout ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANGULAR_DIMENSION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_DIMENSION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIAMETER_DIMENSION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_DIMENSION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_DIMENSION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORDINATE_DIMENSION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RADIUS_DIMENSION' ] ) >= 1 ); + wr3: ( SIZEOF( TYPEOF( SELF.related_draughting_callout ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIMENSION_CURVE_DIRECTED_CALLOUT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROJECTION_DIRECTED_CALLOUT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_CALLOUT'] ) = 0 ); + wr4: ( ( SELF.related_draughting_callout.contents * SELF.relating_draughting_callout.contents ) = SELF. + related_draughting_callout.contents ); + END_ENTITY; + + ENTITY dimension_curve + SUBTYPE OF ( annotation_curve_occurrence ); + WHERE + wr1: ( SIZEOF( QUERY ( dct <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'TERMINATOR_SYMBOL.' + + 'ANNOTATED_CURVE' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DIMENSION_CURVE_TERMINATOR' ) + IN TYPEOF( dct ) ) ) ) <= 2 ); + wr2: ( SIZEOF( QUERY ( dcdc <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_CALLOUT.' + + 'CONTENTS' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DIMENSION_CURVE_DIRECTED_CALLOUT' ) IN + TYPEOF( dcdc ) ) ) ) >= 1 ); + wr3: ( ( SIZEOF( QUERY ( dct1 <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'TERMINATOR_SYMBOL.' + + 'ANNOTATED_CURVE' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DIMENSION_CURVE_TERMINATOR' ) + IN TYPEOF( dct1 ) ) AND ( dct1\dimension_curve_terminator.role = dimension_extent_usage.origin ) ) ) ) <= 1 ) AND + ( SIZEOF( QUERY ( dct2 <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'TERMINATOR_SYMBOL.' + + 'ANNOTATED_CURVE' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DIMENSION_CURVE_TERMINATOR' ) + IN TYPEOF( dct2 ) ) AND ( dct2\dimension_curve_terminator.role = dimension_extent_usage.target ) ) ) ) <= 1 ) ); + END_ENTITY; + + ENTITY dimension_curve_directed_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( d_c <* SELF\draughting_callout.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIMENSION_CURVE' IN TYPEOF( d_c ) ) ) ) <= 2 ); + wr2: ( SIZEOF( SELF\draughting_callout.contents ) >= 2 ); + END_ENTITY; + + ENTITY dimension_curve_terminator + SUBTYPE OF ( terminator_symbol ); + role : dimension_extent_usage; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE' IN TYPEOF( SELF\terminator_symbol.annotated_curve ) ); + END_ENTITY; + + ENTITY dimension_curve_terminator_to_projection_curve_associativity + SUBTYPE OF ( annotation_occurrence_associativity ); + SELF\annotation_occurrence_relationship.relating_annotation_occurrence : dimension_curve_terminator; + SELF\annotation_occurrence_relationship.related_annotation_occurrence : projection_curve; + END_ENTITY; + + ENTITY dimension_pair + SUBTYPE OF ( draughting_callout_relationship ); + WHERE + wr1: ( SELF.name IN [ 'chained', 'parallel'] ); + wr2: ( SIZEOF( TYPEOF( SELF.relating_draughting_callout ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANGULAR_DIMENSION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_DIMENSION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIAMETER_DIMENSION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_DIMENSION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORDINATE_DIMENSION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RADIUS_DIMENSION' ] ) = 1 ); + wr3: ( SIZEOF( TYPEOF( SELF.related_draughting_callout ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANGULAR_DIMENSION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_DIMENSION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIAMETER_DIMENSION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_DIMENSION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORDINATE_DIMENSION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RADIUS_DIMENSION' ] ) = 1 ); + END_ENTITY; + + ENTITY dimension_related_tolerance_zone_element; + related_dimension : dimensional_location; + related_element : tolerance_zone_definition; + END_ENTITY; + + ENTITY dimension_text_associativity + SUBTYPE OF ( text_literal, mapped_item ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DIMENSION_REPRESENTATION' IN TYPEOF( SELF\mapped_item. + mapping_source.mapped_representation ) ); + wr2: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF( SELF\mapped_item.mapping_target ) ); + wr3: ( SIZEOF( QUERY ( ato <* QUERY ( si <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM.ITEM' ) + | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( si ) ) ) | ( NOT ( + SIZEOF( QUERY ( dc <* USEDIN( ato, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_CALLOUT.' + + 'CONTENTS' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF( dc ) ) ) * [ + SELF\mapped_item.mapping_target] ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY dimensional_characteristic_representation; + dimension : dimensional_characteristic; + representation : shape_dimension_representation; + END_ENTITY; + + ENTITY dimensional_exponents; + length_exponent : REAL; + mass_exponent : REAL; + time_exponent : REAL; + electric_current_exponent : REAL; + thermodynamic_temperature_exponent : REAL; + amount_of_substance_exponent : REAL; + luminous_intensity_exponent : REAL; + END_ENTITY; + + ENTITY dimensional_location + SUPERTYPE OF ( + ONEOF ( + angular_location, + dimensional_location_with_path ) ) + SUBTYPE OF ( shape_aspect_relationship ); + WHERE + wr1: ( SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect ); + wr2: ( SELF\shape_aspect_relationship.relating_shape_aspect.of_shape :=: SELF\shape_aspect_relationship. + related_shape_aspect.of_shape ); + END_ENTITY; + + ENTITY dimensional_location_with_datum_feature + SUBTYPE OF ( datum_feature, dimensional_location ); + END_ENTITY; + + ENTITY dimensional_location_with_path + SUBTYPE OF ( dimensional_location ); + path : shape_aspect; + END_ENTITY; + + ENTITY dimensional_size + SUPERTYPE OF ( + ONEOF ( + angular_size, + dimensional_size_with_path ) ); + applies_to : shape_aspect; + name : label; + DERIVE + id : identifier := get_id_value( SELF ); + UNIQUE + ur1 : id, applies_to; + WHERE + wr1: ( applies_to.product_definitional = TRUE ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY dimensional_size_with_datum_feature + SUBTYPE OF ( datum_feature, dimensional_size ); + END_ENTITY; + + ENTITY dimensional_size_with_path + SUBTYPE OF ( dimensional_size ); + path : shape_aspect; + END_ENTITY; + + ENTITY directed_action + SUBTYPE OF ( executed_action ); + directive : action_directive; + END_ENTITY; + + ENTITY directed_angle + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( SELF ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ) = 1 ); + wr4: ( SELF.description IN [ 'punch direction', 'profile normal', 'surface normal'] ); + wr5: ( SIZEOF( QUERY ( pdr <* get_shape_aspect_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'angle' ) AND ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + END_ENTITY; + + ENTITY directed_dimensional_location + SUBTYPE OF ( dimensional_location ); + END_ENTITY; + + ENTITY direction + SUBTYPE OF ( geometric_representation_item ); + direction_ratios : LIST [2 : 3] OF REAL; + WHERE + wr1: ( SIZEOF( QUERY ( tmp <* direction_ratios | ( tmp <> 0 ) ) ) > 0 ); + END_ENTITY; + + ENTITY direction_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION' IN TYPEOF( it ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY disallowed_assembly_relationship_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ASSEMBLY_COMPONENT_USAGE' ] ); + END_ENTITY; + + ENTITY disconnected_face_set + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY discontinuous_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + g1_discontinuous_curve, + g2_discontinuous_curve, + g1_discontinuous_surface, + g2_discontinuous_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY div_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY document; + id : identifier; + name : label; + description : OPTIONAL text; + kind : document_type; + INVERSE + representation_types : SET [0 : ?] OF document_representation_type FOR represented_document; + END_ENTITY; + + ENTITY document_file + SUBTYPE OF ( document, characterized_object ); + WHERE + wr1: ( SELF\characterized_object.name = '' ); + wr2: ( NOT EXISTS( SELF\characterized_object.description ) ); + wr3: ( SIZEOF( QUERY ( drt <* SELF\document.representation_types | ( drt.name IN [ 'digital', 'physical'] ) ) ) = 1 ); + END_ENTITY; + + ENTITY document_identifier + SUBTYPE OF ( group ); + UNIQUE + ur1 : SELF\group.name, SELF\group.description; + END_ENTITY; + + ENTITY document_identifier_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : document_identifier; + items : SET [1 : ?] OF document_identifier_assigned_item; + END_ENTITY; + + ENTITY document_product_association + ABSTRACT SUPERTYPE; + name : label; + description : OPTIONAL text; + relating_document : document; + related_product : product_or_formation_or_definition; + END_ENTITY; + + ENTITY document_product_equivalence + SUBTYPE OF ( document_product_association ); + WHERE + wr1: ( SELF\document_product_association.name = 'equivalence' ); + wr2: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT' IN TYPEOF( SELF\document_product_association. + related_product ) ) ) OR ( ( SELF\document_product_association.relating_document.kind.product_data_type = + 'configuration controlled document' ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( SELF\document_product_association. + related_product, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) + | ( prpc.name = 'document' ) ) ) = 1 ) ) ); + wr3: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF( SELF. + related_product ) ) ) OR ( ( SELF\document_product_association.relating_document.kind.product_data_type = + 'configuration controlled document version' ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( SELF.related_product\ + product_definition_formation.of_product, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = 'document' ) ) ) = 1 ) ) ); + wr4: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( SELF.related_product ) ) ) + OR ( ( SELF\document_product_association.relating_document.kind.product_data_type = + 'configuration controlled document definition' ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( SELF\ + document_product_association.related_product\product_definition.formation.of_product, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'document' ) ) ) = 1 ) ) ); + END_ENTITY; + + ENTITY document_reference + ABSTRACT SUPERTYPE; + assigned_document : document; + source : label; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) <= + 1 ); + END_ENTITY; + + ENTITY document_relationship; + name : label; + description : OPTIONAL text; + relating_document : document; + related_document : document; + END_ENTITY; + + ENTITY document_representation_type; + name : label; + represented_document : document; + END_ENTITY; + + ENTITY document_type; + product_data_type : label; + END_ENTITY; + + ENTITY document_usage_constraint; + source : document; + subject_element : label; + subject_element_value : text; + END_ENTITY; + + ENTITY document_usage_constraint_assignment + ABSTRACT SUPERTYPE; + assigned_document_usage : document_usage_constraint; + role : document_usage_role; + END_ENTITY; + + ENTITY document_usage_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY dose_equivalent_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DOSE_EQUIVALENT_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY dose_equivalent_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.sievert ) ); + END_ENTITY; + + ENTITY double_offset_shelled_solid + SUBTYPE OF ( shelled_solid ); + thickness2 : length_measure; + WHERE + wr1: ( thickness2 <> 0 ); + wr2: ( SELF\shelled_solid.thickness <> thickness2 ); + END_ENTITY; + + ENTITY draped_defined_transformation + SUBTYPE OF ( transformation_with_derived_angle ); + END_ENTITY; + + ENTITY draughting_annotation_occurrence + SUBTYPE OF ( annotation_occurrence ); + WHERE + wr1 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF( SELF ) ) ) OR ( + SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( sty.styles[1] ) ) ) ) ) ) = 0 ) ); + wr2 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' IN TYPEOF( SELF ) ) ) OR + ( SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FILL_AREA_STYLE' IN TYPEOF( sty.styles[1] ) ) ) ) ) ) = 0 ) ); + wr3 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' IN TYPEOF( SELF ) ) ) OR + ( SIZEOF( QUERY ( bound <* SELF.item\annotation_fill_area.boundaries | ( NOT ( SIZEOF( QUERY ( si <* USEDIN( bound, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'STYLED_ITEM.ITEM' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ANNOTATION_CURVE_OCCURRENCE' ) IN TYPEOF( si ) ) ) ) > 0 ) ) ) ) + = 0 ) ); + wr4 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' IN TYPEOF( SELF ) ) ) OR ( + SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( SIZEOF( TYPEOF( sty.styles[1] ) * + [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SYMBOL_STYLE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'NULL_STYLE' ] ) = 1 ) ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' IN TYPEOF( SELF ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_SYMBOL_REPRESENTATION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_SUBFIGURE_REPRESENTATION'] * TYPEOF( SELF.item\ + mapped_item.mapping_source.mapped_representation ) ) = 1 ) ); + wr6 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) ) OR ( + SIZEOF( QUERY ( sty <* SELF.styles | ( NOT ( ( SIZEOF( sty.styles ) = 1 ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_STYLE' IN TYPEOF( sty.styles[1] ) ) ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) ) OR ( + SIZEOF( TYPEOF( SELF.item ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL' ] ) = 1 ) ); + wr8 : ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' IN TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( + QUERY ( tl <* SELF.item\composite_text.collected_text | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'TEXT_LITERAL' IN TYPEOF( tl ) ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL' IN TYPEOF( SELF.item ) ) ) ) OR ( SELF.item\ + text_literal.alignment IN [ 'baseline left', 'baseline centre', 'baseline right'] ) ); + wr10: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' IN TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( + QUERY ( tl <* QUERY ( text <* SELF.item\composite_text.collected_text | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL' IN TYPEOF( text ) ) ) | ( NOT ( tl\text_literal. + alignment IN [ 'baseline left', 'baseline centre', 'baseline right'] ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' IN TYPEOF( SELF.item ) ) ) ) OR + check_text_alignment( SELF.item ) ); + wr12: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' IN TYPEOF( SELF.item ) ) ) ) OR + check_text_font( SELF.item ) ); + wr13: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' IN TYPEOF( SELF.item ) ) ) ) OR ( SIZEOF( + QUERY ( tl <* QUERY ( text <* SELF.item\composite_text.collected_text | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL' IN TYPEOF( text ) ) ) | ( NOT ( SIZEOF( TYPEOF( + tl ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'TEXT_LITERAL_WITH_BLANKING_BOX', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'TEXT_LITERAL_WITH_ASSOCIATED_CURVES'] ) = 0 ) ) ) ) = 0 ) ); + wr14: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL_WITH_ASSOCIATED_CURVES' IN TYPEOF( SELF.item ) ) ) ) + OR ( SIZEOF( QUERY ( crv <* SELF.item\text_literal_with_associated_curves.associated_curves | ( NOT ( SIZEOF( + QUERY ( si <* USEDIN( crv, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM.ITEM' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF( si ) ) ) ) > 0 ) ) ) ) + = 0 ) ); + wr15: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( SELF ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT_WITH_ASSOCIATED_CURVES' IN TYPEOF( SELF.item ) ) ) ) + OR ( SIZEOF( QUERY ( crv <* SELF.item\composite_text_with_associated_curves.associated_curves | ( NOT ( SIZEOF( + QUERY ( si <* USEDIN( crv, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM.ITEM' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF( si ) ) ) ) > 0 ) ) ) ) + = 0 ) ); + wr16: ( SIZEOF( QUERY ( cs <* QUERY ( sty <* SELF.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' + IN TYPEOF( sty.styles[1] ) ) ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( cs.styles[1]\curve_style.curve_width ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( cs.styles[1]\curve_style. + curve_width\measure_with_unit.value_component ) ) ) ) ) ) = 0 ); + wr17: ( SIZEOF( QUERY ( fas <* QUERY ( sty <* SELF.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FILL_AREA_STYLE' IN TYPEOF( sty.styles[1] ) ) ) | ( NOT ( ( SIZEOF( QUERY ( fs <* fas.styles[1]\ + fill_area_style.fill_styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FILL_AREA_STYLE_TILES' IN + TYPEOF( fs ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( fst <* QUERY ( fs <* fas.styles[1]\fill_area_style.fill_styles | + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FILL_AREA_STYLE_TILES' IN TYPEOF( fs ) ) ) | ( NOT ( SIZEOF( + fst\fill_area_style_tiles.tiles ) = 1 ) ) ) ) = 0 ) ) ) ) ) = 0 ); + wr18: ( SIZEOF( QUERY ( fas <* QUERY ( sty <* SELF.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FILL_AREA_STYLE' IN TYPEOF( sty.styles[1] ) ) ) | ( NOT ( SIZEOF( QUERY ( fsh <* QUERY ( fs <* fas.styles[1]\ + fill_area_style.fill_styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FILL_AREA_STYLE_HATCHING' IN + TYPEOF( fs ) ) ) | ( NOT ( fsh\fill_area_style_hatching.point_of_reference_hatch_line :=: fsh\ + fill_area_style_hatching.pattern_start ) ) ) ) = 0 ) ) ) ) = 0 ); + wr19: ( SIZEOF( QUERY ( ts <* QUERY ( sty <* SELF.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_STYLE' + IN TYPEOF( sty.styles[1] ) ) ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS' ) IN TYPEOF( ts.styles[1] ) ) ) ) ) = 0 ); + wr20: ( SIZEOF( QUERY ( ts <* QUERY ( sty <* SELF.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS' IN TYPEOF( sty.styles[1] ) ) ) | ( NOT ( SIZEOF( ts.styles[1]\ + text_style_with_box_characteristics.characteristics ) = 4 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY draughting_callout + SUBTYPE OF ( geometric_representation_item ); + contents : SET [1 : ?] OF draughting_callout_element; + WHERE + wr1: ( ( SIZEOF( QUERY ( l_1 <* SELF\draughting_callout.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LEADER_CURVE' IN TYPEOF( l_1 ) ) ) ) = 0 ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LEADER_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) AND ( SIZEOF( QUERY ( l_1 <* SELF\draughting_callout.contents | + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_CURVE' IN TYPEOF( l_1 ) ) ) ) = 0 ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) AND ( SIZEOF( + QUERY ( l_1 <* SELF\draughting_callout.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIMENSION_CURVE' IN TYPEOF( l_1 ) ) ) ) = 0 ) ) OR ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY draughting_callout_relationship; + name : label; + description : text; + relating_draughting_callout : draughting_callout; + related_draughting_callout : draughting_callout; + END_ENTITY; + + ENTITY draughting_elements + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( l_c <* QUERY ( con <* SELF.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LEADER_CURVE' IN TYPEOF( con ) ) ) | ( NOT ( SIZEOF( QUERY ( ldc <* USEDIN( l_c, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_CALLOUT.CONTENTS' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_CALLOUT' IN TYPEOF( ldc ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr2: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF( SELF ) ) ) OR + ( SIZEOF( QUERY ( con <* SELF.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_CURVE' IN + TYPEOF( con ) ) ) ) <= 2 ) ); + wr3: ( SIZEOF( QUERY ( rc <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT_' + + 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN TYPEOF( rc ) ) AND ( rc.name = 'primary' ) ) ) ) <= 1 ); + wr4: ( SIZEOF( QUERY ( rc <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT_' + + 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN TYPEOF( rc ) ) AND ( rc.name = 'secondary' ) ) ) ) <= 1 ); + wr5: ( SIZEOF( QUERY ( sec <* QUERY ( rc <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DRAUGHTING_CALLOUT_' + 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN TYPEOF( rc ) ) AND ( + rc.name = 'secondary' ) ) ) | ( NOT ( SIZEOF( QUERY ( prim <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT_' + 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT' ) + | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DIMENSION_CALLOUT_RELATIONSHIP' ) IN TYPEOF( prim ) ) + AND ( prim.name = 'primary' ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY draughting_model + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF draughting_model_item_select; + UNIQUE + ur1 : SELF\representation.name; + WHERE + wr1: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_MODEL' ] * TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( smi <* QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'STYLED_ITEM' IN TYPEOF( it ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF( + si\styled_item.item ) ) ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION' IN + TYPEOF( smi\styled_item.item\mapped_item.mapping_source.mapped_representation ) ) AND ( SIZEOF( QUERY ( sty <* smi\ + styled_item.styles | ( NOT ( SIZEOF( QUERY ( psa <* sty.styles | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( psa ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY draughting_model_item_association + SUBTYPE OF ( item_identified_representation_usage ); + SELF\item_identified_representation_usage.definition : draughting_model_item_definition; + SELF\item_identified_representation_usage.used_representation : annotation_representation_select; + SELF\item_identified_representation_usage.identified_item : draughting_model_item_association_select; + END_ENTITY; + + ENTITY draughting_pre_defined_colour + SUBTYPE OF ( pre_defined_colour ); + WHERE + wr1: ( SELF.name IN [ 'red', 'green', 'blue', 'yellow', 'magenta', 'cyan', 'black', 'white'] ); + END_ENTITY; + + ENTITY draughting_pre_defined_curve_font + SUBTYPE OF ( pre_defined_curve_font ); + WHERE + wr1: ( SELF.name IN [ 'continuous', 'chain', 'chain double dash', 'dashed', 'dotted'] ); + END_ENTITY; + + ENTITY draughting_pre_defined_text_font + SUBTYPE OF ( pre_defined_text_font ); + WHERE + wr1: ( SELF.name[1 : 8] = 'ISO 3098' ); + END_ENTITY; + + ENTITY draughting_subfigure_representation + SUBTYPE OF ( symbol_representation ); + SELF\representation.items : SET [1 : ?] OF draughting_subfigure_representation_item; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_OCCURRENCE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT'] * TYPEOF( item ) ) + = 1 ) ) ) >= 1 ); + wr2: ( SIZEOF( QUERY ( srm <* QUERY ( rm <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SYMBOL_REPRESENTATION_MAP' IN TYPEOF( rm ) ) ) | ( NOT ( SIZEOF( QUERY ( a_s <* QUERY ( mi <* srm.map_usage | + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF( mi ) ) ) | ( NOT ( SIZEOF( + QUERY ( aso <* USEDIN( a_s, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'STYLED_ITEM.ITEM' ) | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE' IN TYPEOF( aso ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) > 0 ); + wr3: ( SIZEOF( SELF.context_of_items.representations_in_context ) = 1 ); + END_ENTITY; + + ENTITY draughting_symbol_representation + SUBTYPE OF ( symbol_representation ); + SELF\representation.items : SET [1 : ?] OF draughting_symbol_representation_item; + UNIQUE + ur1 : SELF\representation.name; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( SIZEOF( TYPEOF( item ) * [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' ] ) = 1 ) ) ) >= 1 ); + wr2: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_SUBFIGURE_OCCURRENCE' IN TYPEOF( item ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( rm <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_MAP.' + + 'MAPPED_REPRESENTATION' ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SYMBOL_REPRESENTATION_MAP' + IN TYPEOF( rm ) ) ) ) ) = 0 ); + wr4: ( SIZEOF( SELF.context_of_items.representations_in_context ) = 1 ); + END_ENTITY; + + ENTITY draughting_text_literal_with_delineation + SUBTYPE OF ( text_literal_with_delineation ); + WHERE + wr1: ( SELF.delineation IN [ 'underline', 'overline'] ); + END_ENTITY; + + ENTITY draughting_title; + items : SET [1 : ?] OF draughting_titled_item; + language : label; + contents : text; + END_ENTITY; + + ENTITY drawing_definition; + drawing_number : identifier; + drawing_type : OPTIONAL label; + END_ENTITY; + + ENTITY drawing_revision + SUBTYPE OF ( presentation_set ); + revision_identifier : identifier; + drawing_identifier : drawing_definition; + intended_scale : OPTIONAL text; + UNIQUE + ur1 : revision_identifier, drawing_identifier; + END_ENTITY; + + ENTITY drawing_revision_sequence; + predecessor : drawing_revision; + successor : drawing_revision; + WHERE + wr1: ( predecessor :<>: successor ); + END_ENTITY; + + ENTITY drawing_sheet_layout + SUBTYPE OF ( draughting_symbol_representation ); + END_ENTITY; + + ENTITY drawing_sheet_revision + SUBTYPE OF ( presentation_area ); + revision_identifier : identifier; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' + IN TYPEOF( item ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAWING_SHEET_REVISION' IN TYPEOF( item\ + mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY drawing_sheet_revision_sequence + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: ( SELF\representation_relationship.rep_1 :<>: SELF\representation_relationship.rep_2 ); + wr2: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAWING_SHEET_REVISION' IN TYPEOF( SELF\representation_relationship + .rep_1 ) ); + wr3: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAWING_SHEET_REVISION' IN TYPEOF( SELF\representation_relationship + .rep_2 ) ); + END_ENTITY; + + ENTITY drawing_sheet_revision_usage + SUBTYPE OF ( area_in_set ); + sheet_number : identifier; + UNIQUE + ur1 : sheet_number, SELF\area_in_set.in_set; + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAWING_SHEET_REVISION' IN TYPEOF( SELF\area_in_set.area ) ) AND + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAWING_REVISION' IN TYPEOF( SELF\area_in_set.in_set ) ) ); + END_ENTITY; + + ENTITY edge + SUPERTYPE OF ( + ONEOF ( + edge_curve, + oriented_edge, + subedge ) ) + SUBTYPE OF ( topological_representation_item ); + edge_start : vertex; + edge_end : vertex; + END_ENTITY; + + ENTITY edge_based_wireframe_model + SUBTYPE OF ( geometric_representation_item ); + ebwm_boundary : SET [1 : ?] OF connected_edge_set; + END_ENTITY; + + ENTITY edge_based_wireframe_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) = + 1 ) ) ) >= 1 ); + wr3: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\ + edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb.ces_edges | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF( edges ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = + 0 ); + wr4: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\ + edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( pline_edges <* QUERY ( edges <* eb.ces_edges | + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( edges\edge_curve.edge_geometry ) ) ) | ( + NOT ( SIZEOF( pline_edges\edge_curve.edge_geometry\polyline.points ) > 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\ + edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb.ces_edges | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( edges.edge_start ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( edges.edge_end ) ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\ + edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb.ces_edges | ( NOT + valid_wireframe_edge_curve( edges\edge_curve.edge_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( ebwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( eb <* ebwm\ + edge_based_wireframe_model.ebwm_boundary | ( NOT ( SIZEOF( QUERY ( edges <* eb.ces_edges | ( NOT ( + valid_wireframe_vertex_point( edges.edge_start\vertex_point.vertex_geometry ) AND valid_wireframe_vertex_point( + edges.edge_end\vertex_point.vertex_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr9: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ); + END_ENTITY; + + ENTITY edge_blended_solid + ABSTRACT SUPERTYPE OF ( + track_blended_solid + ANDOR + ONEOF ( + solid_with_constant_radius_edge_blend, + solid_with_chamfered_edges ) ) + SUBTYPE OF ( modified_solid ); + blended_edges : LIST [1 : ?] OF UNIQUE edge_curve; + END_ENTITY; + + ENTITY edge_curve + SUBTYPE OF ( edge, geometric_representation_item ); + edge_geometry : curve; + same_sense : BOOLEAN; + END_ENTITY; + + ENTITY edge_loop + SUBTYPE OF ( loop, path ); + DERIVE + ne : INTEGER := SIZEOF( SELF\path.edge_list ); + WHERE + wr1: ( SELF\path.edge_list[1].edge_start :=: SELF\path.edge_list[ne].edge_end ); + END_ENTITY; + + ENTITY edge_round + SUBTYPE OF ( transition_feature ); + WHERE + wr1: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr2: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 1 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 3 ) ) ) ) = 0 ) ) ) ) = + 0 ) ); + wr3: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'first offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'second offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'edge round face' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'first face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'second face shape' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY edge_with_excessive_segments + SUBTYPE OF ( overcomplex_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY effectivity + SUPERTYPE OF ( + ONEOF ( + serial_numbered_effectivity, + dated_effectivity, + lot_effectivity, + time_interval_based_effectivity ) ); + id : identifier; + DERIVE + name : label := get_name_value( SELF ); + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY effectivity_assignment + ABSTRACT SUPERTYPE; + assigned_effectivity : effectivity; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) <= + 1 ); + END_ENTITY; + + ENTITY effectivity_context_assignment + ABSTRACT SUPERTYPE; + assigned_effectivity_assignment : effectivity_assignment; + role : effectivity_context_role; + END_ENTITY; + + ENTITY effectivity_context_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY effectivity_relationship; + name : label; + description : OPTIONAL text; + related_effectivity : effectivity; + relating_effectivity : effectivity; + END_ENTITY; + + ENTITY electric_charge_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_CHARGE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY electric_charge_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.coulomb ) ); + END_ENTITY; + + ENTITY electric_current_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_CURRENT_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY electric_current_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 1 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY electric_potential_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_POTENTIAL_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY electric_potential_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.volt ) ); + END_ENTITY; + + ENTITY elementary_brep_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ] * TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh.cfs_faces | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN + TYPEOF( fcs ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ELEMENTARY_SURFACE' IN TYPEOF( fcs\face_surface.face_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs + .bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( + SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs + .bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( + SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' ] * TYPEOF( oe.edge_element\edge_curve.edge_geometry ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs + .bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( + SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'VERTEX_POINT' IN TYPEOF( oe.edge_start ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'VERTEX_POINT' IN TYPEOF( oe.edge_end ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( elp_fbnds <* QUERY ( bnds <* fcs + .bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( + SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POLYLINE' IN TYPEOF( oe.edge_element\edge_curve.edge_geometry ) ) AND ( NOT ( SIZEOF( oe\oriented_edge. + edge_element\edge_curve.edge_geometry\polyline.points ) >= 3 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr9 : ( SIZEOF( QUERY ( msb <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' + IN TYPEOF( it ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( msb\ + manifold_solid_brep.outer ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( brv <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* brv\brep_with_voids.voids | csh\oriented_closed_shell. + orientation ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' + IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( msb <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SOLID_BREP' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( msb ) | ( NOT ( + SIZEOF( QUERY ( fcs <* csh\connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( vlp_fbnds <* QUERY ( bnds <* fcs + .bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' IN TYPEOF( bnds.bound ) ) ) | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( vlp_fbnds\face_bound.bound\vertex_loop + .loop_vertex ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF( vlp_fbnds\ + face_bound.bound\vertex_loop.loop_vertex\vertex_point.vertex_geometry ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY elementary_function + SUBTYPE OF ( maths_function, generic_literal ); + func_id : elementary_function_enumerators; + END_ENTITY; + + ENTITY elementary_space + SUBTYPE OF ( maths_space, generic_literal ); + space_id : elementary_space_enumerators; + END_ENTITY; + + ENTITY elementary_surface + SUPERTYPE OF ( + ONEOF ( + plane, + cylindrical_surface, + conical_surface, + spherical_surface, + toroidal_surface ) ) + SUBTYPE OF ( surface ); + position : axis2_placement_3d; + END_ENTITY; + + ENTITY ellipse + SUBTYPE OF ( conic ); + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + END_ENTITY; + + ENTITY elliptic_area + SUBTYPE OF ( primitive_2d ); + position : axis2_placement_2d; + semi_axis_1 : positive_length_measure; + semi_axis_2 : positive_length_measure; + END_ENTITY; + + ENTITY energy_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ENERGY_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY energy_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.joule ) ); + END_ENTITY; + + ENTITY entirely_narrow_face + SUBTYPE OF ( topology_related_to_nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY entirely_narrow_solid + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY entirely_narrow_surface + SUBTYPE OF ( nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY entity_assertion + SUBTYPE OF ( fact_type ); + END_ENTITY; + + ENTITY enum_reference_prefix + SUBTYPE OF ( descriptive_representation_item ); + END_ENTITY; + + ENTITY environment; + syntactic_representation : generic_variable; + semantics : variable_semantics; + END_ENTITY; + + ENTITY equal_parameter_constraint + SUBTYPE OF ( defined_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF variational_parameter; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF variational_parameter; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) >= 2 ); + END_ENTITY; + + ENTITY equals_expression + SUBTYPE OF ( binary_boolean_expression ); + END_ENTITY; + + ENTITY erroneous_b_spline_curve_definition + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY erroneous_b_spline_surface_definition + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY erroneous_data + ABSTRACT SUPERTYPE OF ( + ONEOF ( + erroneous_topology, + erroneous_geometry, + erroneous_topology_and_geometry_relationship, + erroneous_manifold_solid_brep ) ) + SUBTYPE OF ( shape_data_quality_criterion ); + END_ENTITY; + + ENTITY erroneous_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + inconsistent_curve_transition_code, + erroneous_b_spline_curve_definition, + inconsistent_surface_transition_code, + erroneous_b_spline_surface_definition ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY erroneous_manifold_solid_brep + ABSTRACT SUPERTYPE OF ( + ONEOF ( + wrongly_oriented_void, + wrongly_placed_void, + intersecting_shells_in_solid, + solid_with_wrong_number_of_voids ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY erroneous_topology + ABSTRACT SUPERTYPE OF ( + ONEOF ( + open_edge_loop, + open_closed_shell, + inconsistent_adjacent_face_normals, + disconnected_face_set ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY erroneous_topology_and_geometry_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + inconsistent_edge_and_curve_directions, + inconsistent_face_and_surface_normals, + inconsistent_face_and_closed_shell_normals, + intersecting_loops_in_face, + wrongly_placed_loop ) ) + SUBTYPE OF ( erroneous_data ); + END_ENTITY; + + ENTITY evaluated_characteristic + SUBTYPE OF ( representation, representation_relationship ); + UNIQUE + ur1 : SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; + WHERE + wr1: ( SELF\representation_relationship.rep_1 <> SELF\representation_relationship.rep_2 ); + END_ENTITY; + + ENTITY evaluated_characteristic_of_product_as_individual_test_result + SUBTYPE OF ( evaluated_characteristic ); + END_ENTITY; + + ENTITY evaluated_degenerate_pcurve + SUBTYPE OF ( degenerate_pcurve ); + equivalent_point : cartesian_point; + END_ENTITY; + + ENTITY evaluation_product_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY event_occurrence; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY event_occurrence_assignment + ABSTRACT SUPERTYPE; + assigned_event_occurrence : event_occurrence; + role : event_occurrence_role; + END_ENTITY; + + ENTITY event_occurrence_relationship; + name : label; + description : OPTIONAL text; + relating_event : event_occurrence; + related_event : event_occurrence; + END_ENTITY; + + ENTITY event_occurrence_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY excessive_use_of_groups + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GROUP'] ); + END_ENTITY; + + ENTITY excessive_use_of_layers + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRESENTATION_LAYER_ASSIGNMENT' ] ); + END_ENTITY; + + ENTITY excessively_high_degree_curve + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY excessively_high_degree_surface + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY exclusive_product_concept_feature_category + SUBTYPE OF ( product_concept_feature_category ); + END_ENTITY; + + ENTITY executed_action + SUBTYPE OF ( action ); + END_ENTITY; + + ENTITY exp_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY expanded_uncertainty + SUBTYPE OF ( standard_uncertainty ); + coverage_factor : REAL; + END_ENTITY; + + ENTITY explicit_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + defined_constraint, + free_form_constraint ) ) + SUBTYPE OF ( variational_representation_item ); + description : OPTIONAL text; + constrained_elements : SET [1 : ?] OF representation_item; + reference_elements : SET [0 : ?] OF representation_item; + WHERE + wr1: ( SIZEOF( constrained_elements * reference_elements ) = 0 ); + END_ENTITY; + + ENTITY explicit_geometric_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + fixed_element_geometric_constraint, + parallel_geometric_constraint, + point_distance_geometric_constraint, + skew_line_distance_geometric_constraint, + curve_distance_geometric_constraint, + surface_distance_geometric_constraint, + radius_geometric_constraint, + curve_length_geometric_constraint, + parallel_offset_geometric_constraint, + angle_geometric_constraint, + perpendicular_geometric_constraint, + incidence_geometric_constraint, + coaxial_geometric_constraint, + tangent_geometric_constraint, + symmetry_geometric_constraint, + swept_point_curve_geometric_constraint, + swept_curve_surface_geometric_constraint, + curve_smoothness_geometric_constraint, + surface_smoothness_geometric_constraint ) ) + SUBTYPE OF ( defined_constraint, geometric_representation_item ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF geometric_representation_item; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF geometric_representation_item; + END_ENTITY; + + ENTITY explicit_procedural_geometric_representation_item_relationship + SUBTYPE OF ( explicit_procedural_representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : procedural_shape_representation_sequence; + SELF\representation_item_relationship.related_representation_item : geometric_representation_item; + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION_SEQUENCE' IN TYPEOF( SELF\ + representation_item_relationship.related_representation_item ) ) ); + END_ENTITY; + + ENTITY explicit_procedural_representation_item_relationship + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : procedural_representation_sequence; + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCEDURAL_REPRESENTATION_SEQUENCE' IN TYPEOF( SELF\ + representation_item_relationship.related_representation_item ) ) ); + wr2: ( SIZEOF( QUERY ( q <* using_representations( SELF\representation_item_relationship.related_representation_item ) | + item_in_context( SELF\representation_item_relationship.relating_representation_item, q.context_of_items ) ) ) > 0 ); + END_ENTITY; + + ENTITY explicit_procedural_representation_relationship + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : procedural_representation; + WHERE + wr1: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCEDURAL_REPRESENTATION' IN TYPEOF( SELF\ + representation_relationship.rep_2 ) ) ) AND ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'VARIATIONAL_REPRESENTATION' IN TYPEOF( SELF\representation_relationship.rep_2 ) ) ) ); + wr2: ( SELF\representation_relationship.rep_1.context_of_items :=: SELF\representation_relationship.rep_2.context_of_items ); + END_ENTITY; + + ENTITY explicit_procedural_shape_representation_relationship + SUBTYPE OF ( explicit_procedural_representation_relationship ); + SELF\representation_relationship.rep_1 : procedural_shape_representation; + SELF\representation_relationship.rep_2 : shape_representation; + END_ENTITY; + + ENTITY explicit_table_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + listed_data, + externally_listed_data, + linearized_table_function, + basic_sparse_matrix ) ) + SUBTYPE OF ( maths_function ); + index_base : zero_or_one; + shape : LIST [1 : ?] OF positive_integer; + END_ENTITY; + + ENTITY expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + numeric_expression, + boolean_expression, + string_expression ) ) + SUBTYPE OF ( generic_expression ); + END_ENTITY; + + ENTITY expression_conversion_based_unit + SUBTYPE OF ( context_dependent_unit, variable_semantics ); + INVERSE + associated_variable_environment : environment FOR semantics; + END_ENTITY; + + ENTITY expression_denoted_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + DERIVE + expr : generic_expression := SELF\unary_generic_expression.operand; + WHERE + wr1: ( ( schema_prefix + 'FUNCTION_SPACE' ) IN TYPEOF( values_space_of( expr ) ) ); + END_ENTITY; + + ENTITY expression_extension_numeric + SUBTYPE OF ( measure_with_unit, numeric_expression ); + END_ENTITY; + + ENTITY expression_extension_string + SUBTYPE OF ( measure_with_unit, string_expression ); + END_ENTITY; + + ENTITY expression_extension_to_select; + type_expression_associated : expression_extension_select; + END_ENTITY; + + ENTITY extended_tuple_space + SUBTYPE OF ( maths_space, generic_literal ); +(* next line replaced by the line thereafter as patch for BZ#5052 + base : product_space; *) + base : tuple_space; + extender : maths_space; + WHERE + wr1: ( expression_is_constant( base ) AND expression_is_constant( extender ) ); + wr2: no_cyclic_space_reference( SELF, [] ); + wr3: ( extender <> the_empty_space ); + END_ENTITY; + + ENTITY extension + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY extent + SUBTYPE OF ( characterized_object ); + END_ENTITY; + + ENTITY external_class_library + SUBTYPE OF ( external_source ); + END_ENTITY; + + ENTITY external_identification_assignment + ABSTRACT SUPERTYPE + SUBTYPE OF ( identification_assignment ); + source : external_source; + END_ENTITY; + + ENTITY external_source; + source_id : source_item; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY external_source_relationship; + name : label; + description : OPTIONAL text; + relating_source : external_source; + related_source : external_source; + END_ENTITY; + + ENTITY externally_conditioned_data_quality_criteria_representation + SUBTYPE OF ( data_quality_criteria_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' ) IN TYPEOF( q ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_criterion + SUBTYPE OF ( data_quality_criterion, data_quality_measurement_requirement ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.' + 'CRITERION' ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATED_REPRESENTATION_ITEM' ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN + TYPEOF( i1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATING_REPRESENTATION_ITEM' ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN + TYPEOF( i1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_inspection_instance_report_item + SUBTYPE OF ( data_quality_inspection_instance_report_item ); + SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1 : ?] OF inspected_ecdq_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT.' + 'INSPECTED_INSTANCES' ) ) | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' ) IN + TYPEOF( i1.inspection_result ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_inspection_result + SUBTYPE OF ( data_quality_inspection_result ); + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' ) IN TYPEOF( + SELF\data_quality_inspection_result.criterion_inspected ) ); + END_ENTITY; + + ENTITY externally_conditioned_data_quality_inspection_result_representation + SUBTYPE OF ( data_quality_inspection_result_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY externally_defined_character_glyph + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_class + SUBTYPE OF ( class, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_colour + SUBTYPE OF ( colour_specification, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_context_dependent_unit + SUBTYPE OF ( context_dependent_unit, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_conversion_based_unit + SUBTYPE OF ( conversion_based_unit, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_currency + SUBTYPE OF ( currency, externally_defined_context_dependent_unit ); + END_ENTITY; + + ENTITY externally_defined_curve_font + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_dimension_definition + SUBTYPE OF ( dimensional_size, externally_defined_item ); + WHERE + wr1: ( ( SELF\externally_defined_item.item_id = 'external size dimension' ) AND ( SELF\externally_defined_item.source. + source_id = 'external size dimension specification' ) ); + wr2: ( 1 >= SIZEOF( QUERY ( adr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'APPLIED_DOCUMENT_REFERENCE.ITEMS' ) | ( adr.assigned_document.description = + 'external size dimension specification' ) ) ) ); + END_ENTITY; + + ENTITY externally_defined_feature_definition + SUBTYPE OF ( feature_definition, externally_defined_item ); + WHERE + wr1 : ( ( ( SELF\characterized_object.description = 'thread' ) AND ( SELF\externally_defined_item.item_id = 'external thread' ) + AND ( SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) OR ( ( SELF\ + characterized_object.description = 'gear' ) AND ( SELF\externally_defined_item.item_id = 'external gear' ) AND ( + SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) OR ( ( SELF\ + characterized_object.description = 'marking' ) AND ( SELF\externally_defined_item.item_id = 'external marking' ) + AND ( SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) OR ( ( SELF\ + characterized_object.description = 'knurl' ) AND ( SELF\externally_defined_item.item_id = 'external knurl' ) AND + ( SELF\externally_defined_item.source.source_id = 'external feature specification' ) ) ); + wr2 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* + USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( 5 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr.used_representation + .items ) <= 10 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr3 : ( ( NOT ( SELF\characterized_object.description = 'marking' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* + USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr4 : ( ( NOT ( SELF\characterized_object.description = 'knurl' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* + USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr5 : ( ( NOT ( SELF\characterized_object.description IN [ 'knurl', 'thread'] ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'partial area occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( ( + sar.description = 'applied area usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'APPLIED_AREA' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF\characterized_object.description = 'marking' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'marking text' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr7 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'removal direction' ) AND ( ( it. + description = 'internal' ) OR ( it.description = 'external' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'qualifier' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'hand' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'fit class' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr11: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'form' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'major diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF\characterized_object.description = 'thread' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'number of threads' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr14: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'fit class 2' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr15: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'nominal size' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr16: ( ( NOT ( SELF\characterized_object.description IN [ 'knurl', 'gear', 'thread'] ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) + <= 1 ) ) ) ) = 0 ) ); + wr17: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* + USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( 10 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) >= 11 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr18: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'number of teeth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr19: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'reference pressure angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr20: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'rake shift factor' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr21: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'nominal tooth depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr22: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'face width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr23: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'tip diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr24: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'module or diametral pitch' ) AND ( ( it. + description = 'module' ) OR ( it.description = 'diametral pitch' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr25: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'normal attribute' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr26: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'internal or external gear' ) AND ( ( it. + description = 'internal' ) OR ( it.description = 'external' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr27: ( ( NOT ( SELF\characterized_object.description IN [ 'gear'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'root fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY externally_defined_general_property + SUBTYPE OF ( general_property, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_hatch_style + SUBTYPE OF ( externally_defined_item, geometric_representation_item ); + END_ENTITY; + + ENTITY externally_defined_item; + item_id : source_item; + source : external_source; + END_ENTITY; + + ENTITY externally_defined_item_relationship; + name : label; + description : OPTIONAL text; + relating_item : externally_defined_item; + related_item : externally_defined_item; + END_ENTITY; + + ENTITY externally_defined_item_with_multiple_references + SUBTYPE OF ( externally_defined_item ); + references : LIST [1 : ?] OF UNIQUE source_item; + UNIQUE + ur1 : references; + WHERE + wr1: ( NOT ( SELF\externally_defined_item.item_id IN references ) ); + END_ENTITY; + + ENTITY externally_defined_marker + SUBTYPE OF ( externally_defined_symbol, pre_defined_marker ); + END_ENTITY; + + ENTITY externally_defined_picture_representation_item + SUBTYPE OF ( picture_representation_item ); + INVERSE + source : applied_external_identification_assignment FOR items; + WHERE + wr1: ( NOT ( SELF\representation_item.name IN pre_defined_picture_representation_types ) ); + END_ENTITY; + + ENTITY externally_defined_representation + SUBTYPE OF ( representation, externally_defined_item ); + SELF\representation.items : SET [1 : ?] OF externally_defined_representation_item; + END_ENTITY; + + ENTITY externally_defined_representation_item + SUBTYPE OF ( representation_item, externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_string + SUBTYPE OF ( externally_defined_representation_item ); + END_ENTITY; + + ENTITY externally_defined_style + SUBTYPE OF ( externally_defined_item, founded_item ); + END_ENTITY; + + ENTITY externally_defined_symbol + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_terminator_symbol + SUBTYPE OF ( externally_defined_symbol ); + END_ENTITY; + + ENTITY externally_defined_text_font + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_tile + SUBTYPE OF ( externally_defined_item ); + END_ENTITY; + + ENTITY externally_defined_tile_style + SUBTYPE OF ( externally_defined_item, geometric_representation_item ); + END_ENTITY; + + ENTITY externally_listed_data + SUBTYPE OF ( explicit_table_function, generic_literal, externally_defined_item ); + value_range : maths_space; + WHERE + wr1: expression_is_constant( value_range ); + END_ENTITY; + + ENTITY extreme_instance; + locations_of_extreme_value : SET [1 : ?] OF location_of_extreme_value_select; + measured_value : measured_value_select; + END_ENTITY; + + ENTITY extreme_patch_width_variation + SUBTYPE OF ( geometry_with_local_irregularity ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY extruded_area_solid + SUBTYPE OF ( swept_area_solid ); + extruded_direction : direction; + depth : positive_length_measure; + WHERE + wr1: ( dot_product( SELF\swept_area_solid.swept_area.basis_surface\elementary_surface.position.p[3], extruded_direction ) + <> 0 ); + END_ENTITY; + + ENTITY extruded_face_solid + SUBTYPE OF ( swept_face_solid ); + extruded_direction : direction; + depth : positive_length_measure; + WHERE + wr1: ( dot_product( SELF\swept_face_solid.swept_face.face_geometry\elementary_surface.position.p[3], extruded_direction ) + <> 0 ); + END_ENTITY; + + ENTITY extruded_face_solid_with_draft_angle + SUBTYPE OF ( extruded_face_solid_with_trim_conditions ); + draft_angle : plane_angle_measure; + WHERE + wr1: ( draft_angle <> 0 ); + END_ENTITY; + + ENTITY extruded_face_solid_with_multiple_draft_angles + SUBTYPE OF ( extruded_face_solid_with_trim_conditions ); + drafted_edges : LIST [2 : ?] OF SET [1 : ?] OF edge_curve; + draft_angles : LIST [2 : ?] OF plane_angle_measure; + WHERE + wr1: ( SIZEOF( drafted_edges ) = SIZEOF( draft_angles ) ); + wr2: ( SIZEOF( QUERY ( q <* draft_angles | ( q = 0 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( q <* drafted_edges | ( SIZEOF( QUERY ( r <* q | ( NOT ( SELF\swept_face_solid.swept_face IN + using_items( r, [] ) ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY extruded_face_solid_with_trim_conditions + SUPERTYPE OF ( + ONEOF ( + extruded_face_solid_with_draft_angle, + extruded_face_solid_with_multiple_draft_angles ) ) + SUBTYPE OF ( extruded_face_solid ); + first_trim_condition : trim_condition_select; + second_trim_condition : trim_condition_select; + first_trim_intent : trim_intent; + second_trim_intent : trim_intent; + first_offset : non_negative_length_measure; + second_offset : non_negative_length_measure; + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( first_trim_condition ) ) OR + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( second_trim_condition ) ) ) ); + wr2: ( NOT ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN TYPEOF( first_trim_condition ) ) AND + ( ( first_trim_intent = trim_intent.offset ) OR ( first_trim_intent = trim_intent.up_to_next ) ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN TYPEOF( second_trim_condition ) ) AND ( ( + second_trim_intent = trim_intent.offset ) OR ( second_trim_intent = trim_intent.up_to_next ) ) ) ) ); + wr3: ( NOT ( ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN TYPEOF( first_trim_condition ) ) ) + AND ( ( first_trim_intent = trim_intent.blind ) OR ( first_trim_intent = trim_intent.through_all ) ) ) OR ( ( NOT + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN TYPEOF( second_trim_condition ) ) ) AND ( ( + second_trim_intent = trim_intent.blind ) OR ( second_trim_intent = trim_intent.through_all ) ) ) ) ); + wr4: ( ( ( ( first_trim_intent = trim_intent.offset ) AND ( first_offset > 0 ) ) XOR ( ( first_trim_intent <> trim_intent. + offset ) AND ( first_offset = 0 ) ) ) AND ( ( ( second_trim_intent = trim_intent.offset ) AND ( second_offset > 0 ) ) + XOR ( ( second_trim_intent <> trim_intent.offset ) AND ( second_offset = 0 ) ) ) ); + wr5: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN TYPEOF( first_trim_condition ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN TYPEOF( second_trim_condition ) ) AND ( + first_trim_condition = second_trim_condition ) ) ); + END_ENTITY; + + ENTITY face + SUPERTYPE OF ( + ONEOF ( + face_surface, + subface, + oriented_face ) ) + SUBTYPE OF ( topological_representation_item ); + bounds : SET [1 : ?] OF face_bound; + WHERE + wr1: ( NOT mixed_loop_type_set( list_to_set( list_face_loops( SELF ) ) ) ); + wr2: ( SIZEOF( QUERY ( temp <* bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF( + temp ) ) ) ) <= 1 ); + END_ENTITY; + + ENTITY face_based_surface_model + SUBTYPE OF ( geometric_representation_item ); + fbsm_faces : SET [1 : ?] OF connected_face_set; + END_ENTITY; + + ENTITY face_bound + SUBTYPE OF ( topological_representation_item ); + bound : loop; + orientation : BOOLEAN; + END_ENTITY; + + ENTITY face_outer_bound + SUBTYPE OF ( face_bound ); + END_ENTITY; + + ENTITY face_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) >= 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN + TYPEOF( it ) ) OR ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_FACE' IN TYPEOF( it ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY face_shape_representation_relationship + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( SELF.rep_1 ) ); + wr2: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( SELF.rep_2 ) ); + END_ENTITY; + + ENTITY face_surface + SUBTYPE OF ( face, geometric_representation_item ); + face_geometry : surface; + same_sense : BOOLEAN; + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_SURFACE' IN TYPEOF( face_geometry ) ) ); + END_ENTITY; + + ENTITY face_surface_with_excessive_patches_in_one_direction + SUBTYPE OF ( overcomplex_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY faceted_brep + SUBTYPE OF ( manifold_solid_brep ); + END_ENTITY; + + ENTITY faceted_brep_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* items | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ] * TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( fbrep <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( fbrep ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh\ + connected_face_set.cfs_faces | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF( + fcs ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( fcs\face_surface.face_geometry ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF( fcs\face_surface.face_geometry\ + elementary_surface.position.location ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( fbrep <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* msb_shells( fbrep ) | ( NOT ( SIZEOF( QUERY ( fcs <* csh\ + connected_face_set.cfs_faces | ( NOT ( SIZEOF( QUERY ( bnds <* fcs.bounds | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF( bnds ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( msb <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' + IN TYPEOF( it ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( msb\ + manifold_solid_brep.outer ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( brv <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( csh <* brv\brep_with_voids.voids | csh\oriented_closed_shell.orientation ) ) + = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP_SHAPE_REPRESENTATION' IN + TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY fact_type + SUBTYPE OF ( property_definition ); + END_ENTITY; + + ENTITY feature_component_definition + SUBTYPE OF ( characterized_object ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) ) = 1 ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY feature_component_relationship + SUPERTYPE OF ( + ONEOF ( + pattern_omit_membership, + pattern_offset_membership ) ) + SUBTYPE OF ( shape_aspect_relationship ); + WHERE + wr1: ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPLICATE_FEATURE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRANSITION_FEATURE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MODIFIED_PATTERN' ] * TYPEOF( SELF.relating_shape_aspect ) ) = 1 ) + OR ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MACHINING_FEATURE_DEFINITION' IN TYPEOF( SELF. + relating_shape_aspect.of_shape.definition ) ) OR ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.relating_shape_aspect.of_shape.definition ) ) ); + END_ENTITY; + + ENTITY feature_definition + SUPERTYPE OF ( + ONEOF ( + boss, + compound_feature, + externally_defined_feature_definition, + flat_face, + gear, + marking, + outer_round, + outside_profile, + pocket, + protrusion, + removal_volume, + replicate_feature, + revolved_profile, + rib_top, + round_hole, + rounded_end, + spherical_cap, + step, + slot, + thread, + turned_knurl ) ) + SUBTYPE OF ( characterized_object ); + END_ENTITY; + + ENTITY feature_definition_with_connection_area + SUBTYPE OF ( shape_feature_definition ); + END_ENTITY; + + ENTITY feature_for_datum_target_relationship + SUBTYPE OF ( shape_aspect_relationship ); + SELF\shape_aspect_relationship.related_shape_aspect : datum_target; + UNIQUE + ur1 : related_shape_aspect; + WHERE + wr1: ( relating_shape_aspect.of_shape :=: related_shape_aspect.of_shape ); + wr2: ( relating_shape_aspect\shape_aspect.product_definitional = TRUE ); + END_ENTITY; + + ENTITY feature_in_panel + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF.description IN [ 'pocket', 'boss', 'stairstep'] ); + wr2 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( NOT ( ( 2 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 3 ) ) ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ 'orientation', + 'base radius' , 'target radius'] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius' ) + AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr5 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'target radius' ) + AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr6 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'base boundary' ) AND ( sa.description IN [ + 'directed angle occurrence' , 'closed profile occurrence'] ) ) ) ) = 1 ); + wr7 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'target boundary' ) AND ( sa.description IN [ + 'directed angle occurrence' , 'closed profile occurrence'] ) ) ) ) = 1 ); + wr8 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'directed angle occurrence' ) ) ) <= 1 ); + wr9 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'directed angle occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) AND ( sar.name = 'directed angle usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTED_ANGLE' IN TYPEOF( sar.relating_shape_aspect ) ) ) ) ) + = 1 ) ) ) ) = SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'directed angle occurrence' ) ) ) ); + wr10: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'closed profile occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) AND ( sar.description = 'profile usage' ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sar.relating_shape_aspect ) ) = + 1 ) ) ) ) = 1 ) ) ) ) = SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = + 'closed profile occurrence' ) ) ) ); + wr11: ( ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) ) ) + <= 1 ) AND ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( NOT ( pdr.used_representation.name = 'target face' ) ) ) ) ) = 0 ) ); + wr12: ( ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'target boundary' ) AND ( sa.description = + 'directed angle occurrence' ) ) ) ) = 0 ) OR ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( + SELF ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY feature_pattern + SUBTYPE OF ( replicate_feature ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' IN TYPEOF( + srwp_i ) ) ) ) ) > 0 ) ) ) ) > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'base feature placement' ) ) ) ) > 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY fill_area_style + SUBTYPE OF ( founded_item ); + name : label; + fill_styles : SET [1 : ?] OF fill_style_select; + WHERE + wr1: ( SIZEOF( QUERY ( fill_style <* SELF.fill_styles | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FILL_AREA_STYLE_COLOUR' ) IN TYPEOF( fill_style ) ) ) ) <= 1 ); + END_ENTITY; + + ENTITY fill_area_style_colour; + name : label; + fill_colour : colour; + END_ENTITY; + + ENTITY fill_area_style_hatching + SUBTYPE OF ( geometric_representation_item ); + hatch_line_appearance : curve_style; + start_of_next_hatch_line : one_direction_repeat_factor; + point_of_reference_hatch_line : cartesian_point; + pattern_start : cartesian_point; + hatch_line_angle : plane_angle_measure; + END_ENTITY; + + ENTITY fill_area_style_tile_coloured_region + SUBTYPE OF ( geometric_representation_item ); + closed_curve : curve_or_annotation_curve_occurrence; + region_colour : colour; + WHERE + wr1: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF( closed_curve ) ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE' IN TYPEOF( closed_curve ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPSE' IN TYPEOF( closed_curve ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( closed_curve ) ) AND ( closed_curve\ + b_spline_curve.closed_curve = TRUE ) ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE' IN + TYPEOF( closed_curve ) ) AND ( closed_curve\composite_curve.closed_curve = TRUE ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( closed_curve ) ) AND ( closed_curve\ + polyline.points[LOINDEX( closed_curve\polyline.points )] = closed_curve\polyline.points[HIINDEX( closed_curve\ + polyline.points )] ) ) ); + END_ENTITY; + + ENTITY fill_area_style_tile_curve_with_style + SUBTYPE OF ( geometric_representation_item ); + styled_curve : annotation_curve_occurrence; + END_ENTITY; + + ENTITY fill_area_style_tile_symbol_with_style + SUBTYPE OF ( geometric_representation_item ); + symbol : annotation_symbol_occurrence; + END_ENTITY; + + ENTITY fill_area_style_tiles + SUBTYPE OF ( geometric_representation_item ); + tiling_pattern : two_direction_repeat_factor; + tiles : SET [1 : ?] OF fill_area_style_tile_shape_select; + tiling_scale : positive_ratio_measure; + END_ENTITY; + + ENTITY fillet + SUBTYPE OF ( transition_feature ); + WHERE + wr1: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr2: ( ( NOT ( SELF\shape_aspect.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 1 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 3 ) ) ) ) = 0 ) ) ) ) = + 0 ) ); + wr3: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'first offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'constant radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'second offset' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'fillet face' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'first face shape' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'second face shape' ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY finite_function + SUBTYPE OF ( maths_function, generic_literal ); + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value; + WHERE + wr1: VALUE_UNIQUE( list_selected_components( pairs, 1 ) ); + END_ENTITY; + + ENTITY finite_integer_interval + SUBTYPE OF ( maths_space, generic_literal ); + min : INTEGER; + max : INTEGER; + DERIVE + size : positive_integer := ( max - min ) + 1; + WHERE + wr1: ( min <= max ); + END_ENTITY; + + ENTITY finite_real_interval + SUBTYPE OF ( maths_space, generic_literal ); + min : REAL; + min_closure : open_closed; + max : REAL; + max_closure : open_closed; + WHERE + wr1: ( min < max ); + END_ENTITY; + + ENTITY finite_space + SUBTYPE OF ( maths_space, generic_literal ); + members : SET OF maths_value; + WHERE + wr1: VALUE_UNIQUE( members ); + wr2: ( SIZEOF( QUERY ( expr <* QUERY ( member <* members | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GENERIC_EXPRESSION' IN TYPEOF( member ) ) ) | ( NOT expression_is_constant( expr ) ) ) ) = 0 ); + wr3: no_cyclic_space_reference( SELF, [] ); + END_ENTITY; + + ENTITY fixed_constituent_assembly_constraint + SUBTYPE OF ( assembly_geometric_constraint, fixed_element_geometric_constraint ); + fixed_constituent : representative_shape_representation; + WHERE + wr1: ( SELF\explicit_constraint.constrained_elements[1]\geometric_representation_item.dim = 3 ); + wr2: assembly_leaf( using_product_definition_of_shape_representation( fixed_constituent )[1] ); + wr3: ( ( SIZEOF( SELF\explicit_constraint.constrained_elements ) = 1 ) AND ( SIZEOF( SELF\explicit_constraint. + reference_elements ) = 0 ) ); + wr4: ( fixed_constituent IN ( using_representations( SELF\explicit_constraint.constrained_elements[1] ) + + using_representation_with_mapping( SELF\explicit_constraint.constrained_elements[1] ) ) ); + END_ENTITY; + + ENTITY fixed_element_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF geometric_constraint_element; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY fixed_instance_attribute_set + SUBTYPE OF ( variational_representation_item ); + fixed_attributes : SET [1 : ?] OF instance_attribute_reference; + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( SIZEOF( QUERY ( r <* q.items | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' IN TYPEOF( r ) ) ) ) > 1 ) ) ) = 0 ); + END_ENTITY; + + ENTITY flat_face + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'removal direction' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = + 'linear' ) AND ( sdr.name = 'course of travel' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'removal boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.name = 'removal boundary' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'enclosed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) = + 1 ) AND ( sdr.relating_shape_aspect.description = 'boundary' ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + wr6: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( + QUERY ( csa <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) AND ( csa.name = + 'uncut volume' ) AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROTRUSION' ] * TYPEOF( sar.related_shape_aspect ) ) = 1 ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 1 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'removal depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY flat_pattern_ply_representation_relationship + SUBTYPE OF ( shape_representation_relationship ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION' IN ( TYPEOF( SELF\representation_relationship + .rep_1 ) * TYPEOF( SELF\representation_relationship.rep_2 ) ) ); + wr2: ( SELF\representation_relationship.rep_1.context_of_items\geometric_representation_context.coordinate_space_dimension + = 3 ); + END_ENTITY; + + ENTITY flatness_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN + TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY force_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FORCE_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY force_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.newton ) ); + END_ENTITY; + + ENTITY format_function + SUBTYPE OF ( string_expression, binary_generic_expression ); + DERIVE + value_to_format : generic_expression := SELF\binary_generic_expression.operands[1]; + format_string : generic_expression := SELF\binary_generic_expression.operands[2]; + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( value_to_format ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' IN TYPEOF( format_string ) ) ); + END_ENTITY; + + ENTITY forward_chaining_rule + SUBTYPE OF ( rule_definition ); + END_ENTITY; + + ENTITY forward_chaining_rule_premise + SUBTYPE OF ( property_definition, property_definition_representation, representation ); + END_ENTITY; + + ENTITY founded_item + SUPERTYPE OF ( + ONEOF ( + b_spline_curve_knot_locator, + b_spline_curve_segment, + b_spline_surface_knot_locator, + b_spline_surface_patch, + b_spline_surface_strip, + boundary_curve_of_b_spline_or_rectangular_composite_surface, + box_domain, + character_glyph_style_outline, + character_glyph_style_stroke, + composite_curve_segment, + composite_curve_transition_locator, + curve_style, + curve_style_font, + curve_style_font_and_scaling, + curve_style_font_pattern, + externally_defined_style, + fill_area_style, + interpolated_configuration_segment, + kinematic_path_segment, + plane_angle_and_length_pair, + plane_angle_and_ratio_pair, + point_style, + presentation_style_assignment, + rectangular_composite_surface_transition_locator, + surface_patch, + surface_side_style, + surface_style_boundary, + surface_style_control_grid, + surface_style_fill_area, + surface_style_parameter_line, + surface_style_segmentation_curve, + surface_style_silhouette, + surface_style_usage, + symbol_style, + text_style, + view_volume ) + ANDOR + ONEOF ( + character_glyph_style_outline, + character_glyph_style_stroke, + curve_style, + curve_style_font, + curve_style_font_and_scaling, + curve_style_font_pattern, + externally_defined_style, + fill_area_style, + point_style, + presentation_style_assignment, + surface_side_style, + surface_style_boundary, + surface_style_control_grid, + surface_style_fill_area, + surface_style_parameter_line, + surface_style_segmentation_curve, + surface_style_silhouette, + surface_style_usage, + symbol_style, + text_style ) ); + DERIVE + users : SET [0 : ?] OF founded_item_select := using_items( SELF, [] ); + WHERE + wr1: ( SIZEOF( users ) > 0 ); + wr2: ( NOT ( SELF IN users ) ); + END_ENTITY; + + ENTITY free_edge + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [] ); + wr5: ( SIZEOF( QUERY ( sdqr <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( sdqr ) ) + AND ( SIZEOF( QUERY ( sdqiir <* bag_to_set( USEDIN( sdqr, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN + TYPEOF( sdqiir ) ) AND ( SIZEOF( QUERY ( sdqiri <* sdqiir.inspected_instances | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_SHELL' IN TYPEOF( sdqiri.inspected_elements[1] ) ) ) ) = + 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY free_form_assignment + SUBTYPE OF ( free_form_constraint ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\free_form_constraint.constrained_elements | ( q IN used_variables( SELF\ + free_form_constraint.constraining_expression ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( q <* SELF\free_form_constraint.reference_elements | ( NOT ( q IN used_variables( SELF\ + free_form_constraint.constraining_expression ) ) ) ) ) = 0 ); + wr3: ( SIZEOF( SELF\free_form_constraint.reference_elements ) >= 1 ); + wr4: ( SIZEOF( QUERY ( q <* SELF\free_form_constraint.constrained_elements | ( NOT compatible_spaces( values_space_of( SELF + \free_form_constraint.constraining_expression ), q\maths_variable.values_space ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY free_form_constraint + ABSTRACT SUPERTYPE OF ( + ONEOF ( + free_form_assignment, + free_form_relation ) ) + SUBTYPE OF ( explicit_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF variational_parameter; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF variational_parameter; + constraining_expression : expression; + END_ENTITY; + + ENTITY free_form_relation + SUBTYPE OF ( free_form_constraint ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF( SELF\free_form_constraint. + constraining_expression ) ); + wr2: ( SIZEOF( QUERY ( q <* ( SELF\free_form_constraint.constrained_elements + SELF\free_form_constraint.reference_elements ) + | ( NOT ( q IN used_variables( SELF\free_form_constraint.constraining_expression ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY free_kinematic_motion_representation + SUBTYPE OF ( representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : representative_shape_representation; + SELF\representation_relationship.rep_2 : representative_shape_representation; + motion : kinematic_path; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ITEM_DEFINED_TRANSFORMATION' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator ) ); + wr2: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN + TYPEOF( SELF\representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ); + wr3: ( ( dimension_of( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_1 ) = 3 ) AND ( dimension_of( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) = 3 ) ); + wr4: ( ( SELF\representation_relationship.rep_1 IN ( using_representations( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_1 ) + using_representation_with_mapping( SELF\representation_relationship_with_transformation. + transformation_operator\item_defined_transformation.transform_item_1 ) ) ) AND ( SELF\representation_relationship. + rep_2 IN ( using_representations( SELF\representation_relationship_with_transformation.transformation_operator\ + item_defined_transformation.transform_item_2 ) + using_representation_with_mapping( SELF\ + representation_relationship_with_transformation.transformation_operator\item_defined_transformation. + transform_item_2 ) ) ) ); + END_ENTITY; + + ENTITY frequency_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FREQUENCY_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY frequency_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.hertz ) ); + END_ENTITY; + + ENTITY frozen_assignment + SUBTYPE OF ( approval_assignment ); + items : SET [1 : ?] OF change_management_object; + END_ENTITY; + + ENTITY fully_constrained_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; + END_ENTITY; + + ENTITY func + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY function_application + SUBTYPE OF ( multiple_arity_generic_expression ); + func : maths_function_select; + arguments : LIST [1 : ?] OF maths_expression; + DERIVE + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF generic_expression := [convert_to_maths_function( func )] + + convert_to_operands( arguments ); + WHERE + wr1: function_applicability( func, arguments ); + END_ENTITY; + + ENTITY function_space + SUBTYPE OF ( maths_space, generic_literal ); + domain_constraint : space_constraint_type; + domain_argument : maths_space; + range_constraint : space_constraint_type; + range_argument : maths_space; + WHERE + wr1: ( expression_is_constant( domain_argument ) AND expression_is_constant( range_argument ) ); + wr2: ( ( domain_argument <> the_empty_space ) AND ( range_argument <> the_empty_space ) ); + wr3: ( ( domain_constraint <> sc_member ) OR ( NOT member_of( the_empty_space, domain_argument ) ) ); + wr4: ( ( range_constraint <> sc_member ) OR ( NOT member_of( the_empty_space, range_argument ) ) ); + wr5: ( NOT ( any_space_satisfies( domain_constraint, domain_argument ) AND any_space_satisfies( range_constraint, + range_argument ) ) ); + END_ENTITY; + + ENTITY functional_breakdown_context + SUBTYPE OF ( breakdown_context ); + END_ENTITY; + + ENTITY functional_element_usage + SUBTYPE OF ( breakdown_element_usage ); + END_ENTITY; + + ENTITY functionally_defined_transformation; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY g1_discontinuity_between_adjacent_faces + SUBTYPE OF ( non_smooth_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'] ); + END_ENTITY; + + ENTITY g1_discontinuous_curve + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_CURVE_KNOT_LOCATOR' ] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY g1_discontinuous_surface + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'] ); + END_ENTITY; + + ENTITY g2_discontinuity_between_adjacent_faces + SUBTYPE OF ( non_smooth_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE' IN value_limit_type( assessment_specification_2\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PLANE_ANGLE_AND_RATIO_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET'] ); + wr5: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' ] ); + wr6: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE'] ); + END_ENTITY; + + ENTITY g2_discontinuous_curve + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE' IN value_limit_type( assessment_specification_2\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PLANE_ANGLE_AND_RATIO_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE'] ); + wr5: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_CURVE_KNOT_LOCATOR' ] ); + wr6: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY g2_discontinuous_surface + SUBTYPE OF ( discontinuous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE' IN value_limit_type( assessment_specification_2\ + shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PLANE_ANGLE_AND_RATIO_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE'] ); + wr5: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR' ] ); + wr6: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_adjacent_edges_in_loop + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_edge_and_base_surface + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POINT_ON_FACE_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_faces_related_to_an_edge + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_pcurves_related_to_an_edge + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_vertex_and_base_surface + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POINT_ON_FACE_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gap_between_vertex_and_edge + SUBTYPE OF ( geometric_gap_in_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POINT_ON_EDGE_CURVE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY gear + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 10 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 13 ) ) ) ) = 1 ) ) ) = 1 ); + wr2 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it.name + = 'number of teeth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr3 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it + .name = 'reference pressure angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it.name + = 'rake shift factor' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it.name + = 'nominal tooth depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it.name + = 'face width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it.name + = 'tip diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'module or diametral pitch' ) AND ( ( it.description = 'module' ) OR ( it.description = 'diametral pitch' ) ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it. + name = 'internal or external gear' ) AND ( ( it.description = 'internal' ) OR ( it.description = 'external' ) ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it.name + = 'normal attribute' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear', 'spur gear', + 'helical gear' ] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( it ) ) = 2 ) AND ( it.name + = 'root fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF\characterized_object.description IN [ 'helix gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | + ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'reference helix angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF\characterized_object.description IN [ 'helix gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | + ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'gear tooth' ) AND ( ( it.description = + 'left hand tooth' ) OR ( it.description = 'right hand tooth' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr14: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | + ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'tip angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr15: ( ( NOT ( SELF\characterized_object.description IN [ 'straight bevel gear', 'helical bevel gear'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | + ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'root angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr16: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) + = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY gear_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + radius_first_link : length_measure; + radius_second_link : length_measure; + bevel : plane_angle_measure; + helical_angle : plane_angle_measure; + gear_ratio : REAL; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY gear_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : gear_pair; + actual_rotation_1 : plane_angle_measure; + DERIVE + actual_rotation_2 : plane_angle_measure := ( -actual_rotation_1 ) * SELF\pair_value.applies_to_pair\gear_pair.gear_ratio; + END_ENTITY; + + ENTITY gear_pair_with_range + SUBTYPE OF ( gear_pair ); + lower_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation_1 ) ) OR ( NOT EXISTS( upper_limit_actual_rotation_1 ) ) ) XOR ( + lower_limit_actual_rotation_1 < upper_limit_actual_rotation_1 ) ); + END_ENTITY; + + ENTITY general_datum_reference + ABSTRACT SUPERTYPE OF ( + ONEOF ( + datum_reference_compartment, + datum_reference_element ) ) + SUBTYPE OF ( shape_aspect ); + base : datum_or_common_datum; + modifiers : OPTIONAL SET [1 : ?] OF datum_reference_modifier; + WHERE + wr1: ( SELF\shape_aspect.name = '' ); + wr2: ( NOT EXISTS( SELF\shape_aspect.description ) ); + wr3: ( NOT EXISTS( SELF\shape_aspect.id ) ); + wr4: ( SELF\shape_aspect.product_definitional = FALSE ); + wr5: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM' IN TYPEOF( base ) ) ) OR ( SELF\shape_aspect. + of_shape = base\shape_aspect.of_shape ) ); + wr6: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMMON_DATUM_LIST' IN TYPEOF( base ) ) ) OR ( SELF\ + shape_aspect.of_shape = base[1]\shape_aspect.of_shape ) ); + END_ENTITY; + + ENTITY general_feature + SUBTYPE OF ( shape_feature_definition ); + WHERE + wr1: ( ( SIZEOF( get_property_definition_representations( SELF ) ) <= 1 ) AND ( SIZEOF( QUERY ( pdr <* + get_property_definition_representations( SELF ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) <= 1 ) ); + wr2: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'course of travel occurrence' ) ) ) = SIZEOF( + QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'course of travel occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN + TYPEOF( sar ) ) AND ( sar.name = 'course of travel' ) ) ) ) = 1 ) ) ) ) ); + wr3: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'course of travel occurrence' ) ) ) = SIZEOF( + QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'course of travel occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN + TYPEOF( sar ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sar. + relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) ); + wr4: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( sa.description = 'boundary occurrence' ) ) ) = SIZEOF( + QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.description = 'boundary occurrence' ) AND ( SIZEOF( + QUERY ( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN + TYPEOF( sar ) ) AND ( sar.description = 'profile usage' ) ) ) ) = 1 ) ) ) ) ); + wr5: ( ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COMPOSITE_SHAPE_ASPECT' IN TYPEOF( sa ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( sa ) ) AND ( sa.name = + 'general compound feature' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INSTANCED_FEATURE' IN TYPEOF( sar.related_shape_aspect ) ) ) ) ) + >= 2 ) ) ) ) <= 1 ) ); + END_ENTITY; + + ENTITY general_linear_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + sum_index : one_or_two; + DERIVE + mat : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_2d_table( mat ); + wr2: ( ( space_dimension( mat.range ) = 1 ) AND subspace_of_es( factor1( mat.range ), es_numbers ) ); + END_ENTITY; + + ENTITY general_material_property + SUBTYPE OF ( general_property ); + WHERE + wr1: ( SIZEOF( QUERY ( gpa <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GENERAL_PROPERTY_ASSOCIATION.' + + 'BASE_DEFINITION' ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MATERIAL_PROPERTY' IN TYPEOF( + gpa\general_property_association.derived_definition ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY general_property; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY general_property_association; + name : label; + description : OPTIONAL text; + base_definition : general_property; + derived_definition : derived_property_select; + WHERE + wr1: ( SIZEOF( USEDIN( derived_definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) ) = 1 ); + wr2: ( derived_definition.name = base_definition.name ); + END_ENTITY; + + ENTITY general_property_relationship; + name : label; + description : OPTIONAL text; + relating_property : general_property; + related_property : general_property; + END_ENTITY; + + ENTITY generated_finite_numeric_space + SUBTYPE OF ( finite_space ); + start_value : maths_number; + increment_value : maths_number; + increment_number : positive_integer; + DERIVE + SELF\finite_space.members : SET [2 : ?] OF maths_number := make_numeric_set( start_value, increment_value, + increment_number ); + WHERE + wr1: ( increment_value <> 0 ); + END_ENTITY; + + ENTITY generic_character_glyph_symbol + ABSTRACT SUPERTYPE + SUBTYPE OF ( symbol_representation ); + END_ENTITY; + + ENTITY generic_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_generic_expression, + unary_generic_expression, + binary_generic_expression, + multiple_arity_generic_expression ) ); + WHERE + wr1: is_acyclic( SELF ); + END_ENTITY; + + ENTITY generic_literal + ABSTRACT SUPERTYPE + SUBTYPE OF ( simple_generic_expression ); + END_ENTITY; + + ENTITY generic_product_definition_reference + ABSTRACT SUPERTYPE OF ( + ONEOF ( + product_definition_reference, + product_definition_reference_with_local_representation ) ); + source : external_source; + END_ENTITY; + + ENTITY generic_variable + ABSTRACT SUPERTYPE + SUBTYPE OF ( simple_generic_expression ); + INVERSE + interpretation : environment FOR syntactic_representation; + END_ENTITY; + + ENTITY geometric_alignment + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) > 1 ); + END_ENTITY; + + ENTITY geometric_contact + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 2 ); + END_ENTITY; + + ENTITY geometric_curve_set + SUBTYPE OF ( geometric_set ); + WHERE + wr1: ( SIZEOF( QUERY ( temp <* SELF\geometric_set.elements | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN + TYPEOF( temp ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY geometric_gap_in_topology + ABSTRACT SUPERTYPE OF ( + ONEOF ( + gap_between_adjacent_edges_in_loop, + gap_between_vertex_and_base_surface, + gap_between_vertex_and_edge, + gap_between_edge_and_base_surface, + gap_between_pcurves_related_to_an_edge, + gap_between_faces_related_to_an_edge ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY geometric_intersection + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) > 1 ); + END_ENTITY; + + ENTITY geometric_item_specific_usage + SUBTYPE OF ( item_identified_representation_usage ); + SELF\item_identified_representation_usage.definition : geometric_item_specific_usage_select; + SELF\item_identified_representation_usage.used_representation : shape_model; + SELF\item_identified_representation_usage.identified_item : geometric_model_item; + UNIQUE + ur1 : definition; + END_ENTITY; + + ENTITY geometric_model_element_relationship + SUBTYPE OF ( geometric_representation_item, representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : geometric_representation_item; + SELF\representation_item_relationship.related_representation_item : geometric_representation_item; + UNIQUE + ur1 : SELF\representation_item_relationship.relating_representation_item, SELF\representation_item_relationship. + related_representation_item; + WHERE + wr1: ( SELF\representation_item_relationship.relating_representation_item :<>: SELF\representation_item_relationship. + related_representation_item ); + END_ENTITY; + + ENTITY geometric_representation_context + SUPERTYPE OF ( + ONEOF ( + geometric_representation_context_with_parameter, + path_parameter_representation_context ) ) + SUBTYPE OF ( representation_context ); + coordinate_space_dimension : dimension_count; + END_ENTITY; + + ENTITY geometric_representation_context_with_parameter + SUBTYPE OF ( geometric_representation_context ); + parameter_unit : OPTIONAL unit; + END_ENTITY; + + ENTITY geometric_representation_item + SUPERTYPE OF ( + ONEOF ( + point, + direction, + vector, + placement, + cartesian_transformation_operator, + curve, + surface, + edge_curve, + face_surface, + poly_loop, + vertex_point, + solid_model, + boolean_result, + sphere, + right_circular_cone, + right_circular_cylinder, + torus, + block, + primitive_2d, + right_angular_wedge, + volume, + half_space_solid, + shell_based_surface_model, + face_based_surface_model, + shell_based_wireframe_model, + edge_based_wireframe_model, + geometric_set, + tessellated_item ) + ANDOR + ONEOF ( + camera_model, + camera_model_d3_multi_clipping_intersection, + camera_model_d3_multi_clipping_union, + curve, + direction, + light_source ) + ANDOR + ONEOF ( + annotation_fill_area, + composite_text, + curve, + defined_character_glyph, + defined_symbol, + point, + symbol_target, + text_literal ) + ANDOR + ONEOF ( + kinematic_path, + placement ) + ANDOR + ONEOF ( + curve, + externally_defined_hatch_style, + externally_defined_tile_style, + fill_area_style_hatching, + fill_area_style_tile_coloured_region, + fill_area_style_tile_curve_with_style, + fill_area_style_tile_symbol_with_style, + fill_area_style_tiles, + one_direction_repeat_factor, + point, + vector ) + ANDOR + ONEOF ( + curve, + planar_extent ) + ANDOR + ONEOF ( + rotation_about_direction, + su_parameters ) ) + SUBTYPE OF ( representation_item ); + DERIVE + dim : dimension_count := dimension_of( SELF ); + WHERE + wr1: ( SIZEOF( QUERY ( using_rep <* using_representations( SELF ) | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( using_rep. + context_of_items ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY geometric_set + SUBTYPE OF ( geometric_representation_item ); + elements : SET [1 : ?] OF geometric_set_select; + END_ENTITY; + + ENTITY geometric_tolerance + ABSTRACT SUPERTYPE OF ( + geometric_tolerance_with_datum_reference + ANDOR + geometric_tolerance_with_defined_unit + ANDOR + ONEOF ( + geometric_tolerance_with_modifiers, + modified_geometric_tolerance ) + ANDOR + unequally_disposed_geometric_tolerance + ANDOR + ONEOF ( + cylindricity_tolerance, + flatness_tolerance, + line_profile_tolerance, + position_tolerance, + roundness_tolerance, + straightness_tolerance, + surface_profile_tolerance ) ); + name : label; + description : OPTIONAL text; + magnitude : OPTIONAL length_measure_with_unit; + toleranced_shape_aspect : geometric_tolerance_target; + DERIVE + controlling_shape : product_definition_shape := sts_get_product_definition_shape( toleranced_shape_aspect ); + id : identifier := get_id_value( SELF ); + UNIQUE + ur1 : id, controlling_shape; + WHERE + wr1: ( magnitude\measure_with_unit.value_component >= 0 ); + wr2: EXISTS( controlling_shape ); + wr3: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP' IN TYPEOF( + toleranced_shape_aspect ) ) ) OR ( toleranced_shape_aspect\shape_aspect_relationship.relating_shape_aspect.of_shape + :=: toleranced_shape_aspect\shape_aspect_relationship.related_shape_aspect.of_shape ) ); + wr4: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY geometric_tolerance_relationship; + name : label; + description : text; + relating_geometric_tolerance : geometric_tolerance; + related_geometric_tolerance : geometric_tolerance; + END_ENTITY; + + ENTITY geometric_tolerance_with_datum_reference + SUPERTYPE OF ( + ONEOF ( + angularity_tolerance, + circular_runout_tolerance, + coaxiality_tolerance, + concentricity_tolerance, + parallelism_tolerance, + perpendicularity_tolerance, + symmetry_tolerance, + total_runout_tolerance ) ) + SUBTYPE OF ( geometric_tolerance ); + datum_system : SET [1 : ?] OF datum_system_or_reference; + WHERE + wr1: ( ( SIZEOF( QUERY ( ds <* datum_system | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATUM_SYSTEM' ) IN + TYPEOF( ds ) ) ) ) = 0 ) OR ( SIZEOF( datum_system ) = 1 ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_defined_area_unit + SUBTYPE OF ( geometric_tolerance_with_defined_unit ); + area_type : area_unit_type; + second_unit_size : OPTIONAL length_measure_with_unit; + WHERE + wr1: ( NOT ( EXISTS( second_unit_size ) XOR ( area_type = area_unit_type.rectangular ) ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_defined_unit + SUBTYPE OF ( geometric_tolerance ); + unit_size : length_measure_with_unit; + WHERE + wr1: ( ( 'NUMBER' IN TYPEOF( unit_size\measure_with_unit.value_component ) ) AND ( unit_size\measure_with_unit. + value_component > 0 ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_maximum_tolerance + SUBTYPE OF ( geometric_tolerance_with_modifiers ); + maximum_upper_tolerance : length_measure_with_unit; + WHERE + wr1: ( ( geometric_tolerance_modifier.maximum_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers ) + OR ( geometric_tolerance_modifier.least_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers ) ); + wr2: ( ( maximum_upper_tolerance\measure_with_unit.unit_component = SELF\geometric_tolerance.magnitude\measure_with_unit. + unit_component ) AND ( maximum_upper_tolerance\measure_with_unit.value_component > SELF\geometric_tolerance. + magnitude\measure_with_unit.value_component ) ); + END_ENTITY; + + ENTITY geometric_tolerance_with_modifiers + SUBTYPE OF ( geometric_tolerance ); + modifiers : SET [1 : ?] OF geometric_tolerance_modifier; + END_ENTITY; + + ENTITY geometrical_tolerance_callout + SUBTYPE OF ( draughting_callout ); + END_ENTITY; + + ENTITY geometrically_bounded_2d_wireframe_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + wr2: ( SIZEOF( QUERY ( item <* SELF.items | ( NOT ( SIZEOF( TYPEOF( item ) * [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_2D' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ] ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( item <* SELF.items | ( SIZEOF( TYPEOF( item ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] ) = 1 ) ) ) >= 1 ); + wr4: ( SIZEOF( QUERY ( mi <* QUERY ( item <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' + IN TYPEOF( item ) ) ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( gcs <* QUERY ( item <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( item ) ) ) | ( NOT ( SIZEOF( QUERY ( elem <* gcs\geometric_set.elements | ( + NOT ( SIZEOF( TYPEOF( elem ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COMPOSITE_CURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPSE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_2D' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POLYLINE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE'] ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( gcs <* QUERY ( item <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( item ) ) ) | ( NOT ( SIZEOF( QUERY ( crv <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF( elem ) ) ) | ( NOT + valid_basis_curve_in_2d_wireframe( crv ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( gcs <* QUERY ( item <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( item ) ) ) | ( NOT ( SIZEOF( QUERY ( pnt <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT' IN TYPEOF( elem ) ) ) | ( NOT ( SIZEOF( + TYPEOF( pnt ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' ] ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY geometrically_bounded_surface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ] * TYPEOF( it ) ) = 1 ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) AND ( SIZEOF( QUERY ( mr_it <* mi\mapped_item.mapping_source.mapped_representation.items + | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET' IN TYPEOF( mr_it ) ) ) ) > 0 ) ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( pnt <* QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT' IN TYPEOF( gsel ) ) ) | ( NOT gbsf_check_point( pnt ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cv <* QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF( gsel ) ) ) | ( NOT gbsf_check_curve( cv ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET' + IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( sf <* QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF( gsel ) ) ) | ( NOT gbsf_check_surface( sf ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( gs <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET' + IN TYPEOF( it ) ) ) | ( SIZEOF( QUERY ( gsel <* gs\geometric_set.elements | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF( gsel ) ) ) ) > 0 ) ) ) > 0 ); + END_ENTITY; + + ENTITY geometrically_bounded_wireframe_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( TYPEOF( it ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ] ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( TYPEOF( it ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] ) = 1 ) ) ) >= 1 ); + wr3: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( crv <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF( elem ) ) ) | ( NOT + valid_geometrically_bounded_wf_curve( crv ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( pnts <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT' IN TYPEOF( elem ) ) ) | ( NOT + valid_geometrically_bounded_wf_point( pnts ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cnc <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC' IN TYPEOF( elem ) ) ) | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( cnc\conic.position ) ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr6: ( SIZEOF( QUERY ( gcs <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRIC_CURVE_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( pline <* QUERY ( elem <* gcs\geometric_set. + elements | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( elem ) ) ) | ( NOT ( SIZEOF( + pline\polyline.points ) > 2 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY geometry_with_local_irregularity + ABSTRACT SUPERTYPE OF ( + ONEOF ( + extreme_patch_width_variation, + zero_surface_normal, + abrupt_change_of_surface_normal ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY geometry_with_local_near_degeneracy + ABSTRACT SUPERTYPE OF ( + ONEOF ( + curve_with_small_curvature_radius, + short_length_curve_segment, + surface_with_small_curvature_radius, + small_area_surface_patch, + narrow_surface_patch, + indistinct_surface_knots, + indistinct_curve_knots, + nearly_degenerate_surface_boundary, + nearly_degenerate_surface_patch ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY global_assignment + SUBTYPE OF ( representation_item_relationship ); + END_ENTITY; + + ENTITY global_uncertainty_assigned_context + SUBTYPE OF ( representation_context ); + uncertainty : SET [1 : ?] OF uncertainty_measure_with_unit; + END_ENTITY; + + ENTITY global_unit_assigned_context + SUBTYPE OF ( representation_context ); + units : SET [1 : ?] OF unit; + END_ENTITY; + + ENTITY ground_fact + SUBTYPE OF ( atomic_formula ); + END_ENTITY; + + ENTITY group + SUPERTYPE OF ( + ONEOF ( + change_group, + change_element ) ); + name : label; + description : OPTIONAL text; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY group_assignment + ABSTRACT SUPERTYPE OF ( + ONEOF ( + current_change_element_assignment, + previous_change_element_assignment, + change_group_assignment ) ); + assigned_group : group; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) <= + 1 ); + END_ENTITY; + + ENTITY group_relationship; + name : label; + description : OPTIONAL text; + relating_group : group; + related_group : group; + END_ENTITY; + + ENTITY half_space_2d + SUBTYPE OF ( primitive_2d ); + base_curve : curve; + agreement_flag : BOOLEAN; + END_ENTITY; + + ENTITY half_space_solid + SUBTYPE OF ( geometric_representation_item ); + base_surface : surface; + agreement_flag : BOOLEAN; + END_ENTITY; + + ENTITY hardness_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( 2 <= SIZEOF( SELF.items ) ) AND ( SIZEOF( SELF.items ) <= 4 ) AND ( ( SIZEOF( QUERY ( i <* items | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND ( i + .name IN [ 'measuring method', 'measuring position'] ) ) ) ) + SIZEOF( QUERY ( i <* items | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( i ) ) = 1 ) AND ( i.name IN [ 'depth', + 'hardness' ] ) ) ) ) ) = SIZEOF( SELF.items ) ) ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'measuring method' ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'hardness' ) ) ) = 1 ); + wr4: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'measuring position' ) ) ) <= 1 ); + wr5: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'depth' ) ) ) <= 1 ); + wr6: ( ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) + | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa.base_definition ) ) AND ( gpa\general_property_association.base_definition\ + general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY hidden_element_over_riding_styled_item + SUBTYPE OF ( context_dependent_over_riding_styled_item ); + SELF\context_dependent_over_riding_styled_item.style_context : LIST [1 : 1] OF presentation_view; + SELF\styled_item.item : camera_image; + INVERSE + container : SET [1 : ?] OF presentation_view FOR items; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CAMERA_MODEL_D3_WITH_HLHSR' IN TYPEOF( SELF.item\mapped_item. + mapping_source.mapping_origin ) ); + END_ENTITY; + + ENTITY high_degree_axi_symmetric_surface + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_degree_conic + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_degree_linear_curve + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_degree_planar_surface + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + approximation_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY high_order_kinematic_pair + ABSTRACT SUPERTYPE OF ( + ONEOF ( + linear_flexible_and_planar_curve_pair, + point_on_surface_pair, + point_on_planar_curve_pair, + planar_curve_pair, + surface_pair ) ) + SUBTYPE OF ( kinematic_pair ); + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY hole_bottom + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2 : ( SELF.description IN [ 'through', 'flat', 'flat with radius', 'flat with taper', 'spherical', 'conical'] ); + wr3 : ( ( NOT ( SELF.description = 'through' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 0 ) ) ) ) + = 0 ) ); + wr4 : ( ( NOT ( SELF.description IN [ 'flat with radius', 'flat with taper', 'spherical', 'conical'] ) ) OR ( SIZEOF( + QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | + ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description IN [ 'flat with radius', 'spherical'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF.description = 'flat with taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'conical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 1 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 2 ) ) ) ) = 0 ) ) ) ) = + 0 ) ); + wr9 : ( ( SELF.description = 'through' ) OR ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar. + description = 'hole bottom usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( fcr.name IN [ 'hole depth start', 'hole depth end'] ) ) ) + >= 1 ) ); + wr10: ( ( NOT ( SELF.description = 'flat with radius' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'corner radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF.description = 'spherical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF.description = 'conical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'tip radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF.description = 'conical' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'tip angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr14: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'hole bottom usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + fcr.related_shape_aspect.description = 'bottom condition occurrence' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUND_HOLE' IN TYPEOF( fcr.related_shape_aspect.of_shape. + definition ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.HOLE_BOTTOM' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + wr15: ( ( NOT ( SELF.description = 'flat with taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'final diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr16: ( ( NOT ( SELF.description = 'flat with taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'taper diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY hole_in_panel + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'hole profile' ) AND ( sa.description = + 'closed profile occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'profile usage' ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CIRCULAR_CLOSED_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sar.relating_shape_aspect ) ) = + 1 ) ) ) ) = 1 ) ) ) ) = 1 ); + wr2: ( SIZEOF( get_property_definition_representations( SELF ) ) = SIZEOF( QUERY ( pdr <* + get_property_definition_representations( SELF ) | ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ); + END_ENTITY; + + ENTITY homogeneous_linear_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + sum_index : one_or_two; + DERIVE + mat : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_2d_table( mat ); + wr2: ( ( space_dimension( mat.range ) = 1 ) AND subspace_of_es( factor1( mat.range ), es_numbers ) ); + END_ENTITY; + + ENTITY homokinetic_pair + SUBTYPE OF ( universal_pair ); + WHERE + wr1: ( NOT EXISTS( SELF.input_skew_angle ) ); + END_ENTITY; + + ENTITY hyperbola + SUBTYPE OF ( conic ); + semi_axis : positive_length_measure; + semi_imag_axis : positive_length_measure; + END_ENTITY; + + ENTITY id_attribute; + attribute_value : identifier; + identified_item : id_attribute_select; + END_ENTITY; + + ENTITY identification_assignment + ABSTRACT SUPERTYPE; + assigned_id : identifier; + role : identification_role; + END_ENTITY; + + ENTITY identification_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY illuminance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ILLUMINANCE_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY illuminance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.lux ) ); + END_ENTITY; + + ENTITY implicit_explicit_positioned_sketch_relationship + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : repositioned_neutral_sketch; + SELF\representation_item_relationship.related_representation_item : positioned_sketch; + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF\representation_item_relationship.related_representation_item ) | + item_in_context( SELF\representation_item_relationship.relating_representation_item, q.context_of_items ) ) ) > 0 ); + END_ENTITY; + + ENTITY implicit_intersection_curve + SUBTYPE OF ( implicit_planar_curve ); + external_surface : surface; + END_ENTITY; + + ENTITY implicit_model_intersection_curve + SUBTYPE OF ( implicit_planar_curve ); + intersected_model : surface_or_solid_model; + END_ENTITY; + + ENTITY implicit_planar_curve + ABSTRACT SUPERTYPE OF ( + ONEOF ( + implicit_intersection_curve, + implicit_projected_curve, + implicit_model_intersection_curve, + implicit_silhouette_curve ) ) + SUBTYPE OF ( curve, auxiliary_geometric_representation_item ); + using_sketch : positioned_sketch; + computed_representation : curve; + DERIVE + curve_plane : plane := get_plane_of_implicit_geometry( using_sketch ); + WHERE + wr1: ( SIZEOF( TYPEOF( computed_representation ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.IMPLICIT_PLANAR_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' ] ) = 0 ); + END_ENTITY; + + ENTITY implicit_planar_intersection_point + SUBTYPE OF ( implicit_point_on_plane ); + external_curve : curve; + END_ENTITY; + + ENTITY implicit_planar_projection_point + SUBTYPE OF ( implicit_point_on_plane ); + external_point : point; + projection_direction : direction; + END_ENTITY; + + ENTITY implicit_point_on_plane + ABSTRACT SUPERTYPE OF ( + ONEOF ( + implicit_planar_intersection_point, + implicit_planar_projection_point ) ) + SUBTYPE OF ( point, auxiliary_geometric_representation_item ); + using_sketch : positioned_sketch; + computed_representation : cartesian_point; + DERIVE + plane_of_point : plane := get_plane_of_implicit_geometry( using_sketch ); + WHERE + wr1: ( ( plane_of_point\elementary_surface.position.location = computed_representation ) XOR ( dot_product( plane_of_point\ + elementary_surface.position.p[3], get_relative_direction_2points( plane_of_point\elementary_surface.position. + location, computed_representation ) ) = 0 ) ); + wr2: ( SIZEOF( TYPEOF( computed_representation ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'IMPLICIT_POINT_ON_PLANE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_REPLICA'] ) = 0 ); + END_ENTITY; + + ENTITY implicit_projected_curve + SUBTYPE OF ( implicit_planar_curve ); + external_curve : curve; + projection_direction : direction; + END_ENTITY; + + ENTITY implicit_silhouette_curve + SUBTYPE OF ( implicit_planar_curve ); + silhouetted_model : surface_or_solid_model; + view_direction : direction; + END_ENTITY; + + ENTITY imported_curve_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : curve; + parametric_domain : tuple_space; + WHERE + wr1: expression_is_constant( parametric_domain ); + END_ENTITY; + + ENTITY imported_point_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : point; + END_ENTITY; + + ENTITY imported_surface_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : surface; + parametric_domain : tuple_space; + WHERE + wr1: expression_is_constant( parametric_domain ); + END_ENTITY; + + ENTITY imported_volume_function + SUBTYPE OF ( maths_function, generic_literal ); + geometry : volume; + parametric_domain : tuple_space; + WHERE + wr1: expression_is_constant( parametric_domain ); + END_ENTITY; + + ENTITY inappropriate_element_visibility + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM'] ); + END_ENTITY; + + ENTITY inappropriate_use_of_layer + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRESENTATION_LAYER_ASSIGNMENT' ] ); + END_ENTITY; + + ENTITY inapt_data + ABSTRACT SUPERTYPE OF ( + ONEOF ( + inapt_topology, + inapt_geometry, + inapt_topology_and_geometry_relationship, + inapt_manifold_solid_brep ) ) + SUBTYPE OF ( shape_data_quality_criterion ); + END_ENTITY; + + ENTITY inapt_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + nearly_degenerate_geometry, + discontinuous_geometry, + self_intersecting_geometry, + geometry_with_local_near_degeneracy, + overlapping_geometry, + multiply_defined_geometry, + geometry_with_local_irregularity, + overcomplex_geometry ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY inapt_manifold_solid_brep + ABSTRACT SUPERTYPE OF ( + ONEOF ( + partly_overlapping_solids, + small_volume_solid, + multiply_defined_solids, + entirely_narrow_solid, + solid_with_excessive_number_of_voids ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY inapt_topology + ABSTRACT SUPERTYPE OF ( + ONEOF ( + free_edge, + non_manifold_at_edge, + non_manifold_at_vertex, + over_used_vertex ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY inapt_topology_and_geometry_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + topology_related_to_nearly_degenerate_geometry, + geometric_gap_in_topology, + non_smooth_geometry_transition_across_edge, + topology_related_to_self_intersecting_geometry, + steep_geometry_transition_across_edge, + topology_related_to_overlapping_geometry, + topology_related_to_multiply_defined_geometry, + overcomplex_topology_and_geometry_relationship ) ) + SUBTYPE OF ( inapt_data ); + END_ENTITY; + + ENTITY incidence_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, incidence_geometric_constraint ); + END_ENTITY; + + ENTITY incidence_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF geometric_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF geometric_constraint_element; + near_points : SET [0 : ?] OF near_point_relationship; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( SIZEOF( near_points ) <= SIZEOF( SELF\explicit_constraint.reference_elements ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY included_text_block + SUBTYPE OF ( mapped_item ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRUCTURED_TEXT_REPRESENTATION' IN TYPEOF( SELF\mapped_item. + mapping_source.mapped_representation ) ); + END_ENTITY; + + ENTITY inclusion_product_concept_feature + SUBTYPE OF ( conditional_concept_feature ); + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PACKAGE_PRODUCT_CONCEPT_FEATURE' ) IN TYPEOF( SELF ) ) ); + wr2: ( ( SIZEOF( QUERY ( cfr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' ) IN TYPEOF( + cfr ) ) ) ) + SIZEOF( QUERY ( cfr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP.RELATED_PRODUCT_CONCEPT_FEATURE' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' ) IN TYPEOF( + cfr ) ) ) ) ) = 0 ); + wr3: ( SELF.condition.conditional_operator.name = 'implication' ); + END_ENTITY; + + ENTITY inconsistent_adjacent_face_normals + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CLOSED_OR_OPEN_SHELL_SELECT' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_curve_transition_code + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + angle_tolerance : plane_angle_measure; + curvature_ratio_tolerance : ratio_measure; + distance_tolerance : length_measure; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COMPOSITE_CURVE_TRANSITION_LOCATOR' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_edge_and_curve_directions + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + distance_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_element_reference + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM'] ); + END_ENTITY; + + ENTITY inconsistent_face_and_closed_shell_normals + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_face_and_surface_normals + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inconsistent_surface_transition_code + SUBTYPE OF ( erroneous_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + angle_tolerance : plane_angle_measure; + curvature_ratio_tolerance : ratio_measure; + distance_tolerance : length_measure; + flat_curvature_radius_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'RECTANGULAR_COMPOSITE_SURFACE' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'RECTANGULAR_COMPOSITE_SURFACE_TRANSITION_LOCATOR' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY index_expression + SUBTYPE OF ( string_expression, binary_generic_expression ); + DERIVE + operand : generic_expression := SELF\binary_generic_expression.operands[1]; + index : generic_expression := SELF\binary_generic_expression.operands[2]; + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' IN TYPEOF( operand ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( index ) ) ); + wr2: is_int_expr( index ); + END_ENTITY; + + ENTITY indirectly_selected_elements + SUBTYPE OF ( user_selected_elements ); + indirectly_picked_items : SET [1 : ?] OF representation_item; + END_ENTITY; + + ENTITY indirectly_selected_shape_elements + SUBTYPE OF ( indirectly_selected_elements, user_selected_shape_elements ); + SELF\indirectly_selected_elements.indirectly_picked_items : SET [1 : ?] OF shape_representation_item; + END_ENTITY; + + ENTITY indistinct_curve_knots + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARAMETER_VALUE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARAMETER_VALUE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_CURVE_KNOT_LOCATOR' ] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY indistinct_surface_knots + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARAMETER_VALUE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARAMETER_VALUE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_SURFACE_KNOT_LOCATOR' ] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY inductance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INDUCTANCE_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY inductance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.henry ) ); + END_ENTITY; + + ENTITY information_right + SUBTYPE OF ( action_method ); + END_ENTITY; + + ENTITY information_usage_right + SUBTYPE OF ( action_method ); + END_ENTITY; + + ENTITY instance_attribute_reference + SUBTYPE OF ( variable_semantics ); + attribute_name : attribute_identifier; + owning_instance : representation_item; + END_ENTITY; + + ENTITY instance_report_item_with_extreme_instances + SUBTYPE OF ( shape_data_quality_inspection_instance_report_item ); + extreme_instances : LIST [1 : ?] OF extreme_instance; + END_ENTITY; + + ENTITY instance_usage_context_assignment + SUBTYPE OF ( product_definition_context ); + items : SET [1 : ?] OF instance_usage_context_select; + END_ENTITY; + + ENTITY instanced_feature + SUBTYPE OF ( feature_definition, shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: SELF.product_definitional; + END_ENTITY; + + ENTITY int_literal + SUBTYPE OF ( literal_number ); + SELF\literal_number.the_value : INTEGER; + END_ENTITY; + + ENTITY int_numeric_variable + SUBTYPE OF ( numeric_variable ); + END_ENTITY; + + ENTITY int_value_function + SUBTYPE OF ( value_function ); + END_ENTITY; + + ENTITY integer_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( numeric_defined_function ); + END_ENTITY; + + ENTITY integer_interval_from_min + SUBTYPE OF ( maths_space, generic_literal ); + min : INTEGER; + END_ENTITY; + + ENTITY integer_interval_to_max + SUBTYPE OF ( maths_space, generic_literal ); + max : INTEGER; + END_ENTITY; + + ENTITY integer_representation_item + SUBTYPE OF ( representation_item, int_literal ); + END_ENTITY; + + ENTITY integer_tuple_literal + SUBTYPE OF ( generic_literal ); + lit_value : LIST [1 : ?] OF INTEGER; + END_ENTITY; + + ENTITY interfaced_group_component + SUBTYPE OF ( assembly_group_component ); + END_ENTITY; + + ENTITY interpolated_configuration_representation + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context_with_parameter; + SELF\representation.items : SET [1 : ?] OF interpolated_configuration_sequence; + END_ENTITY; + + ENTITY interpolated_configuration_segment + SUBTYPE OF ( founded_item ); + state : mechanism_state_representation; + t_parameter : parameter_value; + interpolation : interpolation_type; + END_ENTITY; + + ENTITY interpolated_configuration_sequence + SUBTYPE OF ( representation_item ); + segments : LIST [2 : ?] OF interpolated_configuration_segment; + DERIVE + n_segments : INTEGER := SIZEOF( segments ); + closed_interpolation : LOGICAL := segments[n_segments].interpolation <> discontinuous_interpolation_type; + configured_mechanism : mechanism_representation := segments[1].state.represented_mechanism; + WHERE + wr1: ( SIZEOF( QUERY ( ics <* segments | ( ics.state.represented_mechanism :<>: configured_mechanism ) ) ) = 0 ); + END_ENTITY; + + ENTITY intersecting_connected_face_sets + SUBTYPE OF ( topology_related_to_self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET' ] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POINT_ON_FACE_SURFACE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POINT_ON_FACE_SURFACE'] ); + wr4: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY intersecting_loops_in_face + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POINT_ON_EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY intersecting_shells_in_solid + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY intersection_curve + SUBTYPE OF ( surface_curve ); + WHERE + wr1: ( SIZEOF( SELF\surface_curve.associated_geometry ) = 2 ); + wr2: ( associated_surface( SELF\surface_curve.associated_geometry[1] ) <> associated_surface( SELF\surface_curve. + associated_geometry[2] ) ); + END_ENTITY; + + ENTITY interval_expression + SUBTYPE OF ( boolean_expression, multiple_arity_generic_expression ); + DERIVE + interval_low : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + interval_item : generic_expression := SELF\multiple_arity_generic_expression.operands[2]; + interval_high : generic_expression := SELF\multiple_arity_generic_expression.operands[3]; + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPRESSION' IN TYPEOF( interval_low ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPRESSION' IN TYPEOF( interval_item ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPRESSION' IN TYPEOF( interval_high ) ) ); + wr2: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF.interval_low ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF.interval_high ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF.interval_item ) ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( SELF.interval_low ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( SELF.interval_item ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( SELF.interval_high ) ) ) ); + END_ENTITY; + + ENTITY invisibility; + invisible_items : SET [1 : ?] OF invisible_item; + END_ENTITY; + + ENTITY iso4217_currency + SUBTYPE OF ( currency ); + END_ENTITY; + + ENTITY item_defined_transformation; + name : label; + description : OPTIONAL text; + transform_item_1 : representation_item; + transform_item_2 : representation_item; + END_ENTITY; + + ENTITY item_identified_representation_usage; + name : label; + description : OPTIONAL text; + definition : item_identified_representation_usage_definition; + used_representation : representation; + identified_item : item_identified_representation_usage_select; + WHERE + wr1: ( SELF.used_representation IN using_representations( SELF.identified_item ) ); + END_ENTITY; + + ENTITY item_link_motion_relationship + SUBTYPE OF ( link_motion_relationship ); + SELF\representation_relationship.rep_1 : shape_representation; + item : geometric_representation_item; + END_ENTITY; + + ENTITY joggle + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( NOT ( ( 5 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 10 ) ) ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( NOT ( i.name IN [ 'orientation', + 'base radius 1' , 'base radius 2', 'direction angle 1', 'direction angle 2', 'height', 'slope angle 1', + 'slope angle 2' , 'top radius 1', 'top radius 2'] ) ) ) ) > 0 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'direction angle 1' ) + AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr4 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'direction angle 2' ) + AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr5 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'height' ) AND ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + wr6 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'slope angle 1' ) + AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr7 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'slope angle 2' ) + AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr8 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'defining path' ) AND ( sa.description = + 'path feature component occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + description = 'path feature component usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sar.relating_shape_aspect ) ) AND ( sar.relating_shape_aspect.description + = 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ); + wr9 : ( SIZEOF( QUERY ( sa <* get_shape_aspects( SELF ) | ( ( sa.name = 'termination' ) AND ( sa.description = + 'joggle termination occurrence' ) AND ( SIZEOF( QUERY ( sar <* USEDIN( sa, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar. + name = 'joggle termination usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.JOGGLE_TERMINATION' IN + TYPEOF( sar.relating_shape_aspect ) ) ) ) ) = 1 ) ) ) ) = 1 ); + wr10: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius 1' ) + AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + wr11: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius 2' ) + AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + wr12: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'top radius 1' ) + AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + wr13: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'top radius 2' ) + AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + END_ENTITY; + + ENTITY joggle_termination + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SELF.description IN [ 'value termination', 'face termination'] ); + wr3: ( ( SELF.description = 'value termination' ) XOR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 0 ) ); + wr4: ( ( SELF.description <> 'value termination' ) OR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr. + used_representation.items ) = 2 ) ) ) ) = 1 ) ); + wr5: ( ( SELF.description <> 'value termination' ) OR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr. + used_representation.items | ( ( i.name = 'depth' ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ) ); + wr6: ( ( SELF.description <> 'value termination' ) OR ( SIZEOF( QUERY ( pdr <* + get_shape_aspect_property_definition_representations( SELF ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr. + used_representation.items | ( ( i.name = 'angle' ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) = 1 ) ); + wr7: ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' + IN TYPEOF( sar ) ) AND ( sar.name = 'joggle termination usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.JOGGLE' IN TYPEOF( sar.related_shape_aspect.of_shape.definition ) ) + AND ( sar.related_shape_aspect.of_shape.definition\characterized_object.name = 'termination' ) AND ( sar. + related_shape_aspect.of_shape.definition\characterized_object.description = 'joggle termination occurrence' ) ) ) ) + = 1 ); + END_ENTITY; + + ENTITY kinematic_analysis_consistency; + control : kinematic_control; + result : kinematic_analysis_result; + WHERE + wr1: ( control.controlled_mechanism :=: result.analysed_mechanism ); + END_ENTITY; + + ENTITY kinematic_analysis_result; + analysed_mechanism : mechanism_representation; + result : kinematic_result; + END_ENTITY; + + ENTITY kinematic_control; + controlled_mechanism : mechanism_representation; + contained_kinematic_programs : kinematic_analysis_definition; + END_ENTITY; + + ENTITY kinematic_joint + SUBTYPE OF ( edge ); + SELF\edge.edge_start : kinematic_link; + SELF\edge.edge_end : kinematic_link; + UNIQUE + ur1 : edge_start, edge_end; + WHERE + wr1: ( edge_start :<>: edge_end ); + END_ENTITY; + + ENTITY kinematic_link + SUBTYPE OF ( vertex ); + END_ENTITY; + + ENTITY kinematic_link_representation + ABSTRACT SUPERTYPE OF ( + ONEOF ( + linear_flexible_link_representation, + rigid_link_representation ) ) + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context; + SELF\representation.items : SET [1 : ?] OF kinematic_link_representation_items; + represented_link : kinematic_link; + INVERSE + associated_shape_representation : SET [0 : 1] OF kinematic_link_representation_association FOR rep_1; + END_ENTITY; + + ENTITY kinematic_link_representation_association + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : kinematic_link_representation; + SELF\representation_relationship.rep_2 : shape_representation; + WHERE + wr1: ( ( SELF\representation_relationship.rep_2.context_of_items :=: SELF\representation_relationship.rep_1. + context_of_items ) OR ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY kinematic_loop + SUBTYPE OF ( edge_loop ); + SELF\path.edge_list : LIST [1 : ?] OF UNIQUE oriented_joint; + END_ENTITY; + + ENTITY kinematic_pair + ABSTRACT SUPERTYPE OF ( + ONEOF ( + high_order_kinematic_pair, + low_order_kinematic_pair_with_motion_coupling, + low_order_kinematic_pair ) + ANDOR + actuated_kinematic_pair ) + SUBTYPE OF ( geometric_representation_item, item_defined_transformation ); + joint : kinematic_joint; + SELF\item_defined_transformation.transform_item_1 : rigid_placement; + SELF\item_defined_transformation.transform_item_2 : rigid_placement; + DERIVE + associated_link_representations_1 : SET [1 : ?] OF kinematic_link_representation := sort_link_associations( + link_representation_associations, TRUE ); + associated_link_representations_2 : SET [1 : ?] OF kinematic_link_representation := sort_link_associations( + link_representation_associations, FALSE ); + SELF\item_defined_transformation.name : label := SELF\representation_item.name; + INVERSE + link_representation_associations : SET [1 : ?] OF pair_representation_relationship FOR transformation_operator; + END_ENTITY; + + ENTITY kinematic_path + ABSTRACT SUPERTYPE OF ( + ONEOF ( + kinematic_path_defined_by_nodes, + kinematic_path_defined_by_curves ) ) + SUBTYPE OF ( geometric_representation_item ); + segments : LIST [1 : ?] OF kinematic_path_segment; + t_start : parameter_value; + DERIVE + n_segments : INTEGER := SIZEOF( segments ); + closed_path : LOGICAL := segments[n_segments].transition <> discontinuous; + WHERE + wr1: ( SIZEOF( QUERY ( using_rep <* using_representations( SELF ) | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER' IN TYPEOF( + using_rep.context_of_items ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY kinematic_path_defined_by_curves + SUBTYPE OF ( kinematic_path ); + SELF\kinematic_path.segments : LIST [1 : ?] OF curve_based_path_with_orientation; + END_ENTITY; + + ENTITY kinematic_path_defined_by_nodes + SUBTYPE OF ( kinematic_path ); + SELF\kinematic_path.segments : LIST [1 : ?] OF path_node; + placement_start : placement; + END_ENTITY; + + ENTITY kinematic_path_segment + ABSTRACT SUPERTYPE OF ( + ONEOF ( + path_node, + curve_based_path_with_orientation ) ) + SUBTYPE OF ( founded_item ); + t_end : parameter_value; + transition : transition_code; + END_ENTITY; + + ENTITY kinematic_property_definition_representation + ABSTRACT SUPERTYPE OF ( + ONEOF ( + kinematic_property_topology_representation, + kinematic_property_mechanism_representation ) ) + SUBTYPE OF ( property_definition_representation ); + SELF\property_definition_representation.definition : product_definition_kinematics; + END_ENTITY; + + ENTITY kinematic_property_mechanism_representation + SUBTYPE OF ( kinematic_property_definition_representation ); + SELF\property_definition_representation.used_representation : mechanism_representation; + base : kinematic_link_representation; + WHERE + wr1: ( SIZEOF( QUERY ( i <* used_representation.items | ( ( base :=: i\representation_relationship.rep_1 ) OR ( base :=: i\ + representation_relationship.rep_2 ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY kinematic_property_topology_representation + SUBTYPE OF ( kinematic_property_definition_representation ); + SELF\property_definition_representation.used_representation : kinematic_topology_representation_select; + base : kinematic_link; + WHERE + wr1: ( used_representation IN using_representations( base ) ); + END_ENTITY; + + ENTITY kinematic_topology_directed_structure + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF oriented_joint; + parent : kinematic_topology_structure; + WHERE + wr1: ( context_of_items :=: parent.context_of_items ); + wr2: ( get_kinematic_joints_from_oriented_joints( items ) <= parent.items ); + END_ENTITY; + + ENTITY kinematic_topology_network_structure + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF kinematic_loop; + parent : kinematic_topology_structure; + WHERE + wr1: ( context_of_items :=: parent.context_of_items ); + wr2: ( get_kinematic_joints_from_kinematic_loops( items ) <= parent.items ); + END_ENTITY; + + ENTITY kinematic_topology_structure + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF kinematic_joint; + WHERE + wr1: ( SIZEOF( QUERY ( item <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE' IN TYPEOF( item ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY kinematic_topology_substructure + SUBTYPE OF ( kinematic_topology_structure ); + parent : kinematic_topology_structure; + WHERE + wr1: ( context_of_items :=: parent.context_of_items ); + wr2: ( SELF\kinematic_topology_structure.items <= parent\kinematic_topology_structure.items ); + END_ENTITY; + + ENTITY kinematic_topology_tree_structure + SUBTYPE OF ( kinematic_topology_directed_structure ); + END_ENTITY; + + ENTITY known_source + SUBTYPE OF ( external_source, pre_defined_item ); + END_ENTITY; + + ENTITY laid_defined_transformation + SUBTYPE OF ( transformation_with_derived_angle ); + END_ENTITY; + + ENTITY laminate_table + SUPERTYPE OF ( + ONEOF ( + part_laminate_table, + zone_structural_makeup ) ) + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY language + SUBTYPE OF ( group ); + WHERE + wr1: ( SELF\group.name <> '' ); + END_ENTITY; + + ENTITY leader_curve + SUBTYPE OF ( annotation_curve_occurrence ); + WHERE + wr1: ( SIZEOF( QUERY ( ldc <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_CALLOUT.' + + 'CONTENTS' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'LEADER_DIRECTED_CALLOUT' ) IN TYPEOF( + ldc ) ) ) ) >= 1 ); + END_ENTITY; + + ENTITY leader_directed_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( l_1 <* SELF\draughting_callout.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LEADER_CURVE' IN TYPEOF( l_1 ) ) ) ) >= 1 ); + wr2: ( SIZEOF( SELF\draughting_callout.contents ) >= 2 ); + END_ENTITY; + + ENTITY leader_directed_dimension + SUBTYPE OF ( leader_directed_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( con <* SELF.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_CURVE' IN TYPEOF( + con ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY leader_terminator + SUBTYPE OF ( terminator_symbol ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_CURVE' IN TYPEOF( SELF\terminator_symbol.annotated_curve ) ); + END_ENTITY; + + ENTITY length_function + SUBTYPE OF ( numeric_expression, unary_generic_expression ); + SELF\unary_generic_expression.operand : string_expression; + END_ENTITY; + + ENTITY length_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY length_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 1 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY light_source + SUPERTYPE OF ( + ONEOF ( + light_source_ambient, + light_source_directional, + light_source_positional, + light_source_spot ) ) + SUBTYPE OF ( geometric_representation_item ); + light_colour : colour; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'STYLED_ITEM.ITEM' ) ) = 0 ); + END_ENTITY; + + ENTITY light_source_ambient + SUBTYPE OF ( light_source ); + END_ENTITY; + + ENTITY light_source_directional + SUBTYPE OF ( light_source ); + orientation : direction; + END_ENTITY; + + ENTITY light_source_positional + SUBTYPE OF ( light_source ); + position : cartesian_point; + constant_attenuation : REAL; + distance_attenuation : REAL; + END_ENTITY; + + ENTITY light_source_spot + SUBTYPE OF ( light_source ); + position : cartesian_point; + orientation : direction; + concentration_exponent : REAL; + constant_attenuation : REAL; + distance_attenuation : REAL; + spread_angle : positive_plane_angle_measure; + END_ENTITY; + + ENTITY like_expression + SUBTYPE OF ( comparison_expression ); + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF\binary_generic_expression. + operands[1] ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' IN TYPEOF( SELF\ + binary_generic_expression.operands[2] ) ) ); + END_ENTITY; + + ENTITY limits_and_fits; + form_variance : label; + zone_variance : label; + grade : label; + source : text; + END_ENTITY; + + ENTITY line + SUBTYPE OF ( curve ); + pnt : cartesian_point; + dir : vector; + WHERE + wr1: ( dir.dim = pnt.dim ); + END_ENTITY; + + ENTITY line_profile_tolerance + SUBTYPE OF ( geometric_tolerance ); + END_ENTITY; + + ENTITY linear_array_component_definition_link + SUBTYPE OF ( product_definition, product_definition_relationship ); + SELF\product_definition_relationship.relating_product_definition : linear_array_placement_group_component; + SELF\product_definition_relationship.related_product_definition : linear_array_placement_group_component; + WHERE + wr1: ( SELF\product_definition_relationship.related_product_definition :<>: SELF\product_definition_relationship. + relating_product_definition ); + wr2: acyclic_product_definition_relationship( SELF, [SELF\product_definition_relationship.related_product_definition], + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_ARRAY_COMPONENT_DEFINITION_LINK' ); + END_ENTITY; + + ENTITY linear_array_placement_group_component + SUBTYPE OF ( array_placement_group ); + END_ENTITY; + + ENTITY linear_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + END_ENTITY; + + ENTITY linear_flexible_and_pinion_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + pinion_radius : length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY linear_flexible_and_planar_curve_pair + SUBTYPE OF ( high_order_kinematic_pair ); + pair_curve : curve; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( pair_curve IN r.items ) ) ) ) = + 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY linear_flexible_link_representation + SUBTYPE OF ( kinematic_link_representation ); + END_ENTITY; + + ENTITY linear_path + SUBTYPE OF ( path_node ); + DERIVE + SELF\kinematic_path_segment.transition : transition_code := continuous; + END_ENTITY; + + ENTITY linear_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'profile length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY linearized_table_function + SUBTYPE OF ( explicit_table_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + first : INTEGER; + DERIVE + source : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: function_is_1d_array( source ); + wr2: member_of( first, source\maths_function.domain ); + END_ENTITY; + + ENTITY link_motion_relationship + SUBTYPE OF ( definitional_representation_relationship, representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : link_or_shape_representation; + SELF\representation_relationship.rep_2 : link_motion_representation_along_path; + SELF\representation_relationship_with_transformation.transformation_operator : link_motion_transformation; + WHERE + (* JH removed WR1 on 2014-05-14 for the following compilation error; fix is not ISO confirmed: + ERROR : Line 19237: C3001:Unresolved attribute qualification in WHERE clause. + Attribute qualification: REP_1[].ITEMS + wr1: ( transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items ); *) + wr2: ( transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items ); + END_ENTITY; + + ENTITY link_motion_representation_along_path + SUPERTYPE OF ( + ONEOF ( + prescribed_path, + resulting_path ) ) + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF kinematic_path; + SELF\representation.context_of_items : geometric_representation_context_with_parameter; + END_ENTITY; + + ENTITY link_motion_transformation + SUBTYPE OF ( item_defined_transformation ); + SELF\item_defined_transformation.transform_item_1 : rigid_placement; + SELF\item_defined_transformation.transform_item_2 : kinematic_path; + END_ENTITY; + + ENTITY listed_data + SUBTYPE OF ( explicit_table_function, generic_literal ); + values : LIST [1 : ?] OF maths_value; + value_range : maths_space; + DERIVE + SELF\explicit_table_function.shape : LIST [1 : ?] OF positive_integer := [SIZEOF( values )]; + WHERE + wr1: expression_is_constant( value_range ); + wr2: ( SIZEOF( QUERY ( val <* values | ( NOT member_of( val, value_range ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY listed_product_space + SUBTYPE OF ( maths_space, generic_literal ); + factors : LIST OF maths_space; + WHERE + wr1: ( SIZEOF( QUERY ( space <* factors | ( NOT expression_is_constant( space ) ) ) ) = 0 ); + wr2: no_cyclic_space_reference( SELF, [] ); + wr3: ( NOT ( the_empty_space IN factors ) ); + END_ENTITY; + + ENTITY literal_conjunction + SUBTYPE OF ( simple_clause ); + END_ENTITY; + + ENTITY literal_disjunction + SUBTYPE OF ( simple_clause ); + END_ENTITY; + + ENTITY literal_number + ABSTRACT SUPERTYPE OF ( + ONEOF ( + int_literal, + real_literal ) ) + SUBTYPE OF ( simple_numeric_expression, generic_literal ); + the_value : NUMBER; + END_ENTITY; + + ENTITY local_time; + hour_component : hour_in_day; + minute_component : OPTIONAL minute_in_hour; + second_component : OPTIONAL second_in_minute; + zone : coordinated_universal_time_offset; + WHERE + wr1: valid_time( SELF ); + END_ENTITY; + + ENTITY location_in_aggregate_representation_item + SUBTYPE OF ( compound_representation_item ); + SELF\compound_representation_item.item_element : location_in_aggregate_item; + END_ENTITY; + + ENTITY location_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT' IN TYPEOF( it ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY locator + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( NOT ( ( 2 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 5 ) ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'diameter' ) AND ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'tip radius' ) AND + ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'tip angle' ) AND + ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + = 1 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( i.name = 'base radius' ) AND + ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) ) + <= 1 ); + END_ENTITY; + + ENTITY log10_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY log2_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY log_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY logical_literal + SUBTYPE OF ( generic_literal ); + lit_value : LOGICAL; + END_ENTITY; + + ENTITY logical_representation_item + SUBTYPE OF ( representation_item, logical_literal ); + END_ENTITY; + + ENTITY loop + SUPERTYPE OF ( + ONEOF ( + vertex_loop, + edge_loop, + poly_loop ) ) + SUBTYPE OF ( topological_representation_item ); + END_ENTITY; + + ENTITY loss_tangent_measure_with_unit + SUBTYPE OF ( ratio_measure_with_unit ); + END_ENTITY; + + ENTITY lot_effectivity + SUBTYPE OF ( effectivity ); + effectivity_lot_id : identifier; + effectivity_lot_size : measure_with_unit; + END_ENTITY; + + ENTITY low_order_kinematic_pair + SUPERTYPE OF ( + ONEOF ( + revolute_pair, + cylindrical_pair, + spherical_pair, + spherical_pair_with_pin, + planar_pair, + unconstrained_pair, + fully_constrained_pair, + prismatic_pair, + universal_pair, + low_order_kinematic_pair_with_range ) ) + SUBTYPE OF ( kinematic_pair ); + t_x : BOOLEAN; + t_y : BOOLEAN; + t_z : BOOLEAN; + r_x : BOOLEAN; + r_y : BOOLEAN; + r_z : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY low_order_kinematic_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : low_order_kinematic_pair; + actual_translation_x : length_measure; + actual_translation_y : length_measure; + actual_translation_z : length_measure; + actual_rotation_x : plane_angle_measure; + actual_rotation_y : plane_angle_measure; + actual_rotation_z : plane_angle_measure; + END_ENTITY; + + ENTITY low_order_kinematic_pair_with_motion_coupling + ABSTRACT SUPERTYPE OF ( + ONEOF ( + gear_pair, + linear_flexible_and_pinion_pair, + rack_and_pinion_pair, + screw_pair ) ) + SUBTYPE OF ( kinematic_pair ); + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY low_order_kinematic_pair_with_range + SUBTYPE OF ( low_order_kinematic_pair ); + lower_limit_actual_rotation_x : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_x : OPTIONAL plane_angle_measure; + lower_limit_actual_rotation_y : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_y : OPTIONAL plane_angle_measure; + lower_limit_actual_rotation_z : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation_z : OPTIONAL plane_angle_measure; + lower_limit_actual_translation_x : OPTIONAL length_measure; + upper_limit_actual_translation_x : OPTIONAL length_measure; + lower_limit_actual_translation_y : OPTIONAL length_measure; + upper_limit_actual_translation_y : OPTIONAL length_measure; + lower_limit_actual_translation_z : OPTIONAL length_measure; + upper_limit_actual_translation_z : OPTIONAL length_measure; + END_ENTITY; + + ENTITY luminous_flux_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LUMINOUS_FLUX_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY luminous_flux_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.lumen ) ); + END_ENTITY; + + ENTITY luminous_intensity_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LUMINOUS_INTENSITY_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY luminous_intensity_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 1 ) ); + END_ENTITY; + + ENTITY magnetic_flux_density_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAGNETIC_FLUX_DENSITY_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY magnetic_flux_density_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.tesla ) ); + END_ENTITY; + + ENTITY magnetic_flux_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAGNETIC_FLUX_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY magnetic_flux_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.weber ) ); + END_ENTITY; + + ENTITY make_from_feature_relationship + SUBTYPE OF ( component_feature_relationship ); + END_ENTITY; + + ENTITY make_from_usage_option + SUBTYPE OF ( product_definition_usage ); + ranking : INTEGER; + ranking_rationale : text; + quantity : measure_with_unit; + WHERE + wr1: ( ( NOT ( 'NUMBER' IN TYPEOF( quantity.value_component ) ) ) OR ( quantity.value_component > 0 ) ); + END_ENTITY; + + ENTITY manifold_solid_brep + SUBTYPE OF ( solid_model ); + outer : closed_shell; + END_ENTITY; + + ENTITY manifold_subsurface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) = 1 ) ) ) + > 0 ); + wr3 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr4 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'OPEN_SHELL' IN TYPEOF( cfss ) ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( cfss\connected_face_sub_set.parent_face_set ) ) AND ( SIZEOF( + QUERY ( fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | ( NOT + advanced_face_properties( fac ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( fac <* cfss\connected_face_sub_set. + parent_face_set\connected_face_set.cfs_faces | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ADVANCED_FACE' IN TYPEOF( fac ) ) ) ) ) = 0 ) ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( SIZEOF( QUERY ( fac <* cfss\connected_face_set.cfs_faces | ( + NOT advanced_face_properties( fac ) ) ) ) = 0 ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBEDGE' IN TYPEOF( oe.edge_element ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_start ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_end ) ) ) ) ) ) = 0 ) ) ) ) = + 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( SIZEOF( + QUERY ( bnds <* fcs.bounds | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' ] * TYPEOF( bnds.bound ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( NOT ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SURFACE_CURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE'] * TYPEOF( oe.edge_element\ + edge_curve.edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF( oe.edge_element\edge_curve. + edge_geometry ) ) AND ( NOT ( SIZEOF( QUERY ( sc_ag <* oe.edge_element\edge_curve.edge_geometry\surface_curve. + associated_geometry | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( sc_ag ) ) ) ) ) + = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( cfss <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONNECTED_FACE_SUB_SET' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( fcs <* cfss\connected_face_set. + cfs_faces | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF( fcs ) ) AND ( NOT ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fcs.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds.bound\path.edge_list | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( oe.edge_element\edge_curve.edge_geometry ) ) + AND ( NOT ( SIZEOF( oe\oriented_edge.edge_element\edge_curve.edge_geometry\polyline.points ) >= 3 ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY manifold_surface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) = + 1 ) ) ) > 0 ); + wr3 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION' IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) AND + ( SIZEOF( QUERY ( mr_it <* mi\mapped_item.mapping_source.mapped_representation.items | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF( mr_it ) ) ) ) > 0 ) ) ) ) ) + = 0 ); + wr4 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( sh <* sbsm\shell_based_surface_model + .sbsm_boundary | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_SHELL', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_SHELL' ] * TYPEOF( sh ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF( fa ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = + 0 ); + wr6 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR msf_surface_check( fa\ + face_surface.face_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( bnds <* fa.bounds | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' ] * TYPEOF( bnds.bound ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) ) ) = 0 ) ) ) ) = + 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe_cv <* QUERY ( oe <* elp_fbnds\path.edge_list | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) | ( NOT ( SIZEOF( + [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CURVE_REPLICA' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POLYLINE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE'] * TYPEOF( oe_cv.edge_element\ + edge_curve.edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT msf_curve_check( oe. + edge_element\edge_curve.edge_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_element.edge_start ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_element.edge_end ) ) ) ) ) ) = + 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element.edge_start\ + vertex_point.vertex_geometry ) ) = 1 ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CARTESIAN_POINT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element.edge_end\ + vertex_point.vertex_geometry ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( + vlp_fbnds\vertex_loop.loop_vertex ) ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( sbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* sbsm\ + shell_based_surface_model.sbsm_boundary | ( NOT ( SIZEOF( QUERY ( fa <* cfs\connected_face_set.cfs_faces | ( NOT + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( vlp_fbnds\vertex_loop.loop_vertex\ + vertex_point.vertex_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mapped_item + SUBTYPE OF ( representation_item ); + mapping_source : representation_map; + mapping_target : representation_item; + WHERE + wr1: acyclic_mapped_representation( SELF ); + END_ENTITY; + + ENTITY marking + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 2 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 6 ) ) ) ) = 1 ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'marking text' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'special instructions' ) ) ) ) <= 1 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'font name' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'character height' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'character spacing' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) + = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mass_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MASS_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY mass_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 1 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY mated_part_relationship + SUBTYPE OF ( group, group_assignment, product_definition_shape, product_definition_relationship, shape_aspect ); + items : SET [0 : ?] OF product_definition; + DERIVE + SELF\group_assignment.assigned_group : mated_part_relationship := SELF; + SELF\property_definition.definition : mated_part_relationship := SELF; + SELF\shape_aspect.of_shape : mated_part_relationship := SELF; + END_ENTITY; + + ENTITY material_designation; + name : label; + definitions : SET [1 : ?] OF characterized_definition; + END_ENTITY; + + ENTITY material_designation_characterization; + name : label; + description : text; + designation : material_designation; + property : characterized_material_property; + END_ENTITY; + + ENTITY material_property + SUBTYPE OF ( property_definition ); + UNIQUE + ur1 : SELF\property_definition.name, SELF\property_definition.definition; + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTERIZED_OBJECT' IN TYPEOF( SELF\property_definition. + definition ) ) OR ( SIZEOF( bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) - QUERY ( temp <* bag_to_set( USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MATERIAL_PROPERTY_REPRESENTATION' ) IN TYPEOF( temp ) ) ) ) + = 0 ) ); + END_ENTITY; + + ENTITY material_property_representation + SUBTYPE OF ( property_definition_representation ); + dependent_environment : data_environment; + END_ENTITY; + + ENTITY maths_enum_literal + SUBTYPE OF ( generic_literal ); + lit_value : maths_enum_atom; + END_ENTITY; + + ENTITY maths_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + finite_function, + constant_function, + selector_function, + elementary_function, + restriction_function, + repackaging_function, + reindexed_array_function, + series_composed_function, + parallel_composed_function, + explicit_table_function, + homogeneous_linear_function, + general_linear_function, + b_spline_basis, + b_spline_function, + rationalize_function, + partial_derivative_function, + definite_integral_function, + abstracted_expression_function, + expression_denoted_function, + imported_point_function, + imported_curve_function, + imported_surface_function, + imported_volume_function, + application_defined_function ) ) + SUBTYPE OF ( generic_expression ); + DERIVE + domain : tuple_space := derive_function_domain( SELF ); + range : tuple_space := derive_function_range( SELF ); + END_ENTITY; + + ENTITY maths_space + ABSTRACT SUPERTYPE OF ( + ONEOF ( + elementary_space, + finite_integer_interval, + integer_interval_from_min, + integer_interval_to_max, + finite_real_interval, + real_interval_from_min, + real_interval_to_max, + cartesian_complex_number_region, + polar_complex_number_region, + finite_space, + uniform_product_space, + listed_product_space, + extended_tuple_space, + function_space ) ) + SUBTYPE OF ( generic_expression ); + END_ENTITY; + + ENTITY maths_tuple_literal + SUBTYPE OF ( generic_literal ); + lit_value : LIST OF maths_value; + END_ENTITY; + + ENTITY maths_variable + SUBTYPE OF ( generic_variable ); + values_space : maths_space; + name : label; + WHERE + wr1: expression_is_constant( values_space ); + END_ENTITY; + + ENTITY maximum_function + SUBTYPE OF ( multiple_arity_function_call ); + END_ENTITY; + + ENTITY measure_qualification; + name : label; + description : text; + qualified_measure : measure_with_unit; + qualifiers : SET [1 : ?] OF value_qualifier; + WHERE + wr1: ( SIZEOF( QUERY ( temp <* qualifiers | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRECISION_QUALIFIER' IN + TYPEOF( temp ) ) ) ) < 2 ); + wr2: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF( SELF\measure_qualification. + qualified_measure ) ) ); + END_ENTITY; + + ENTITY measure_representation_item + SUBTYPE OF ( representation_item, measure_with_unit ); + END_ENTITY; + + ENTITY measure_with_unit + SUPERTYPE OF ( + ONEOF ( + length_measure_with_unit, + mass_measure_with_unit, + time_measure_with_unit, + electric_current_measure_with_unit, + thermodynamic_temperature_measure_with_unit, + celsius_temperature_measure_with_unit, + amount_of_substance_measure_with_unit, + luminous_intensity_measure_with_unit, + plane_angle_measure_with_unit, + solid_angle_measure_with_unit, + area_measure_with_unit, + volume_measure_with_unit, + ratio_measure_with_unit, + acceleration_measure_with_unit, + capacitance_measure_with_unit, + electric_charge_measure_with_unit, + conductance_measure_with_unit, + electric_potential_measure_with_unit, + energy_measure_with_unit, + magnetic_flux_density_measure_with_unit, + force_measure_with_unit, + frequency_measure_with_unit, + illuminance_measure_with_unit, + inductance_measure_with_unit, + luminous_flux_measure_with_unit, + magnetic_flux_measure_with_unit, + power_measure_with_unit, + pressure_measure_with_unit, + resistance_measure_with_unit, + velocity_measure_with_unit, + absorbed_dose_measure_with_unit, + radioactivity_measure_with_unit, + dose_equivalent_measure_with_unit ) ); + value_component : measure_value; + unit_component : unit; + WHERE + wr1: valid_units( SELF ); + END_ENTITY; + + ENTITY mechanical_context + SUBTYPE OF ( product_context ); + WHERE + wr1: ( SELF.discipline_type = 'mechanical' ); + END_ENTITY; + + ENTITY mechanical_design_and_draughting_relationship + SUBTYPE OF ( definitional_representation_relationship_with_same_context ); + SELF\representation_relationship.rep_1 : mechanical_design_and_draughting_relationship_select; + SELF\representation_relationship.rep_2 : mechanical_design_and_draughting_relationship_select; + WHERE + wr1: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_MODEL' ) IN TYPEOF( rep_2 ) ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_MODEL' ) IN TYPEOF( rep_1 ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN TYPEOF( rep_1 ) ) ); + wr2: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' ) IN TYPEOF( rep_2 ) ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' ) + IN TYPEOF( rep_1 ) ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN + TYPEOF( rep_1 ) ) ); + wr3: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' ) + IN TYPEOF( rep_2 ) ) ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' ) IN TYPEOF( rep_1 ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_REPRESENTATION' ) IN TYPEOF( rep_1 ) ) ); + END_ENTITY; + + ENTITY mechanical_design_geometric_presentation_area + SUBTYPE OF ( presentation_area ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_geometric_presentation_area_items; + WHERE + wr1: ( SIZEOF( QUERY ( it1 <* SELF.items | ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it1 ) ) ) OR ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( it1\ + mapped_item.mapping_source.mapped_representation ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pv <* QUERY ( mi1 <* QUERY ( it1 <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it1 ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' IN + TYPEOF( mi1\mapped_item.mapping_source.mapped_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it2 <* pv\mapped_item. + mapping_source.mapped_representation\representation.items | ( ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF( it2 ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF( it2 ) ) AND ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN TYPEOF( it2 ) ) ) AND ( + NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( it2\mapped_item.mapping_source + .mapped_representation ) ) ) ) ) ) OR ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN TYPEOF( it2 ) ) AND ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' ) IN TYPEOF( it2\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( ( SIZEOF( QUERY ( ps <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) + | ( ( ps\presentation_size.size.size_in_x <= 0 ) OR ( ps\presentation_size.size.size_in_y <= 0 ) ) ) ) = 0 ) AND ( + SIZEOF( QUERY ( ais <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AREA_IN_SET.AREA' ) | ( + SIZEOF( QUERY ( ps <* USEDIN( ais, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) + | ( ( ps\presentation_size.size.size_in_x <= 0 ) OR ( ps\presentation_size.size.size_in_y <= 0 ) ) ) ) > 0 ) ) ) = + 0 ) ); + wr4: ( ( ( SIZEOF( QUERY ( ps <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( ps.size.placement ) ) ) ) + = 1 ) AND ( SIZEOF( QUERY ( ps <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AXIS2_PLACEMENT_3D' ) IN + TYPEOF( ps.size.placement ) ) ) ) = 0 ) ) OR ( ( SIZEOF( QUERY ( ais <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AREA_IN_SET.AREA' ) | ( SIZEOF( QUERY ( ps <* USEDIN( ais, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( ps.size.placement ) ) ) ) + = 1 ) ) ) = 1 ) AND ( SIZEOF( QUERY ( ais <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'AREA_IN_SET.AREA' ) | ( SIZEOF( QUERY ( ps <* USEDIN( ais, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AXIS2_PLACEMENT_3D' ) IN + TYPEOF( ps.size.placement ) ) ) ) = 0 ) ) ) = 1 ) ) ); + END_ENTITY; + + ENTITY mechanical_design_geometric_presentation_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_geometric_presentation_representation_items; + WHERE + wr1 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_REPRESENTATION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION'] + * TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( smi <* QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'STYLED_ITEM' IN TYPEOF( it ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( si\styled_item.item ) ) ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION' ) IN TYPEOF( smi\styled_item.item\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr3 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( pss <* psa. + styles | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_STYLE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SURFACE_STYLE_USAGE' ] * TYPEOF( pss ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psbc <* QUERY ( psa <* si\styled_item.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_STYLE_BY_CONTEXT' ) IN TYPEOF( psa ) ) ) | ( + NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION' ] * TYPEOF( psbc\presentation_style_by_context. + style_context ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ps <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_STYLE' IN TYPEOF( pss ) ) ) + | ( NOT ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( ps\ + point_style.marker_size ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( ps\point_style. + marker_colour ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( cs <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( pss ) ) ) + | ( NOT ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( cs\curve_style. + curve_colour ) ) = 1 ) AND ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN + TYPEOF( cs\curve_style.curve_width ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CURVE_STYLE_FONT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] + * TYPEOF( cs\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_SIDE_STYLE' ) IN TYPEOF( ssu\ + surface_style_usage.style ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( NOT ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_FILL_AREA', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY'] * TYPEOF( sses ) ) = 1 ) ) ) ) = + 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( sspl <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE' ) IN TYPEOF( sses ) ) ) | ( + NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( sspl\surface_style_parameter_line + .style_of_parameter_lines ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_FONT' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( sscg <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID' ) IN TYPEOF( sses ) ) ) | ( + NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( sscg\surface_style_control_grid. + style_of_control_grid ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_FONT' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( sssh <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE' ) IN TYPEOF( sses ) ) ) | ( NOT + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( sssh\surface_style_silhouette. + style_of_silhouette ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_FONT' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr12: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( sssc <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE' ) IN TYPEOF( sses ) ) ) + | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve\ + curve_style.curve_colour ) ) = 1 ) AND ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve\ + curve_style.curve_width ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_FONT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( ssbd <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY' ) IN TYPEOF( sses ) ) ) | ( NOT ( + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( ssbd\surface_style_boundary. + style_of_boundary ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary\curve_style.curve_colour ) ) = 1 ) AND ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POSITIVE_LENGTH_MEASURE' ) IN TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_FONT' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY mechanical_design_presentation_representation_with_draughting + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF camera_model_d3; + END_ENTITY; + + ENTITY mechanical_design_shaded_presentation_area + SUBTYPE OF ( presentation_area ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_shaded_presentation_area_items; + WHERE + wr1: ( SIZEOF( QUERY ( it1 <* SELF.items | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT' IN + TYPEOF( it1 ) ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF( it1 ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( it1\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pv <* QUERY ( mi1 <* QUERY ( it1 <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it1 ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' IN + TYPEOF( mi1\mapped_item.mapping_source.mapped_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it2 <* pv\mapped_item. + mapping_source.mapped_representation\representation.items | ( ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF( it2 ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF( it2 ) ) AND ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN TYPEOF( it2 ) ) ) AND ( + NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' IN TYPEOF( it2\mapped_item.mapping_source + .mapped_representation ) ) ) ) ) ) OR ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN TYPEOF( it2 ) ) AND ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' ) IN TYPEOF( it2\mapped_item.mapping_source. + mapped_representation ) ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( ( SIZEOF( QUERY ( ps <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) + | ( NOT ( ( ps\presentation_size.size.size_in_x > 0 ) AND ( ps\presentation_size.size.size_in_y > 0 ) ) ) ) ) = 0 ) + AND ( SIZEOF( QUERY ( pset <* QUERY ( ais <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'AREA_IN_SET.AREA' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_SET' ) IN TYPEOF( + ais.in_set ) ) ) | ( SIZEOF( QUERY ( ps <* USEDIN( pset, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRESENTATION_SIZE.UNIT' ) | ( NOT ( ( ps\presentation_size.size.size_in_x > 0 ) AND ( ps\presentation_size.size. + size_in_y > 0 ) ) ) ) ) = 0 ) ) ) = 0 ) ); + wr4: ( ( SIZEOF( QUERY ( psize <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_SIZE.' + + 'UNIT' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( psize. + size.placement ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pset <* QUERY ( ais <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AREA_IN_SET.AREA' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_SET' ) IN TYPEOF( ais.in_set ) ) ) | ( + SIZEOF( QUERY ( psize <* USEDIN( pset, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) + | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AXIS2_PLACEMENT_2D' ) IN TYPEOF( psize.size. + placement ) ) ) ) ) = 0 ) ) ) = 0 ) ); + wr5: ( SIZEOF( QUERY ( pv <* QUERY ( mi1 <* QUERY ( it1 <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MAPPED_ITEM' IN TYPEOF( it1 ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' IN + TYPEOF( mi1\mapped_item.mapping_source.mapped_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( ci <* pv\mapped_item. + mapping_source.mapped_representation\representation.items | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CAMERA_IMAGE_3D_WITH_SCALE' ) IN TYPEOF( ci ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CAMERA_MODEL_D3', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CAMERA_MODEL_D3_WITH_HLHSR', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CAMERA_MODEL_WITH_LIGHT_SOURCES'] * TYPEOF( ci\mapped_item. + mapping_source.mapping_origin ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mechanical_design_shaded_presentation_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF mechanical_design_shaded_presentation_representation_items; + WHERE + wr1 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_REPRESENTATION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION'] * + TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( smi <* QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'STYLED_ITEM' IN TYPEOF( it ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( si\styled_item.item ) ) ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION' ) IN TYPEOF( smi\styled_item.item\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr3 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( pss <* psa. + styles | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_STYLE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SURFACE_STYLE_USAGE' ] * TYPEOF( pss ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psbc <* QUERY ( psa <* si\styled_item.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_STYLE_BY_CONTEXT' ) IN TYPEOF( psa ) ) ) | ( + NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION' ] * TYPEOF( psbc\presentation_style_by_context. + style_context ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ps <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_STYLE' IN TYPEOF( pss ) ) ) + | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MARKER_TYPE' IN TYPEOF( ps\point_style.marker ) ) AND + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( ps\point_style.marker_size ) ) + AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( ps\point_style. + marker_colour ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( cs <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( pss ) ) ) + | ( NOT ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( cs\curve_style. + curve_colour ) ) = 1 ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( + cs\curve_style.curve_width ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CURVE_STYLE_FONT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( cs\curve_style.curve_font ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_SIDE_STYLE' IN TYPEOF( ssu\surface_style_usage. + style ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( NOT ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_FILL_AREA', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_RENDERING'] * TYPEOF( sses ) ) = 1 ) ) ) ) = + 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( ssfa <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_FILL_AREA' IN TYPEOF( sses ) ) ) | ( NOT ( + SIZEOF( QUERY ( fss <* ssfa\surface_style_fill_area.fill_area.fill_styles | ( NOT ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'FILL_AREA_STYLE_COLOUR' ) IN TYPEOF( fss ) ) AND ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( fss\ + fill_area_style_colour.fill_colour ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( sspl <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_PARAMETER_LINE' ) IN TYPEOF( sses ) ) ) | ( + NOT ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sspl\surface_style_parameter_line.style_of_parameter_lines\ + curve_style.curve_colour ) ) = 1 ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' + IN TYPEOF( sspl\surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sspl\ + surface_style_parameter_line.style_of_parameter_lines ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sspl\surface_style_parameter_line.style_of_parameter_lines\ + curve_style_rendering.rendering_properties.rendered_colour ) ) = 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr11: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( sscg <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_CONTROL_GRID' ) IN TYPEOF( sses ) ) ) | ( + NOT ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( sscg\surface_style_control_grid + .style_of_control_grid ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sscg\ + surface_style_control_grid.style_of_control_grid ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sscg\surface_style_control_grid.style_of_control_grid\ + curve_style_rendering.rendering_properties.rendered_colour ) ) = 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr12: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( sssh <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_SILHOUETTE' ) IN TYPEOF( sses ) ) ) | ( NOT + ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( sssh\surface_style_silhouette. + style_of_silhouette ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_width ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sssh\surface_style_silhouette + .style_of_silhouette ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssh\ + surface_style_silhouette.style_of_silhouette\curve_style_rendering.rendering_properties.rendered_colour ) ) = 1 ) ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( sssc <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_SEGMENTATION_CURVE' ) IN TYPEOF( sses ) ) ) + | ( NOT ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve\ + curve_style.curve_colour ) ) = 1 ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' + IN TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_width ) ) AND ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CURVE_STYLE_FONT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( sssc\ + surface_style_segmentation_curve.style_of_segmentation_curve ) ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( sssc\surface_style_segmentation_curve.style_of_segmentation_curve\ + curve_style_rendering.rendering_properties.rendered_colour ) ) = 1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr14: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( ssbd <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_BOUNDARY' ) IN TYPEOF( sses ) ) ) | ( NOT ( + ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( ssbd\surface_style_boundary. + style_of_boundary ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary\curve_style.curve_colour ) ) = 1 ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( ssbd\surface_style_boundary + .style_of_boundary\curve_style.curve_width ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CURVE_STYLE_FONT', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * + TYPEOF( ssbd\surface_style_boundary.style_of_boundary\curve_style.curve_font ) ) = 1 ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_RENDERING' IN TYPEOF( ssbd\surface_style_boundary. + style_of_boundary ) ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( ssbd\ + surface_style_boundary.style_of_boundary\curve_style_rendering.rendering_properties.rendered_colour ) ) = 1 ) ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr15: ( SIZEOF( QUERY ( si <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( psa <* si\styled_item.styles | ( NOT ( SIZEOF( QUERY ( ssu <* + QUERY ( pss <* psa.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( pss ) ) ) + | ( NOT ( SIZEOF( QUERY ( ssre <* QUERY ( sses <* ssu\surface_style_usage.style\surface_side_style.styles | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SURFACE_STYLE_RENDERING' ) IN TYPEOF( sses ) ) ) | ( NOT + ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF( ssre\ + surface_style_rendering.surface_colour ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY mechanism_representation + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context; + SELF\representation.items : SET [1 : ?] OF pair_representation_relationship; + represented_topology : kinematic_topology_representation_select; + DERIVE + represented_joints : SET [1 : ?] OF kinematic_joint := collect_joints( items ); + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KINEMATIC_TOPOLOGY_STRUCTURE' IN TYPEOF( represented_topology ) ) + AND ( represented_joints :=: represented_topology.items ) ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE' IN TYPEOF( represented_topology ) ) AND ( represented_joints :=: + get_kinematic_joints_from_oriented_joints( represented_topology.items ) ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE' IN TYPEOF( + represented_topology ) ) AND ( represented_joints :=: get_kinematic_joints_from_kinematic_loops( + represented_topology.items ) ) ) ); + END_ENTITY; + + ENTITY mechanism_state_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF pair_value; + represented_mechanism : mechanism_representation; + DERIVE + SELF\representation.context_of_items : geometric_representation_context := represented_mechanism.context_of_items; + END_ENTITY; + + ENTITY min_and_major_ply_orientation_basis + SUBTYPE OF ( representation_item_relationship, geometric_representation_item ); + SELF\representation_item_relationship.relating_representation_item : axis2_placement_3d; + SELF\representation_item_relationship.related_representation_item : axis2_placement_3d; + DERIVE + major_orientation_basis : axis2_placement_3d := SELF\representation_item_relationship.related_representation_item; + minor_orientation_basis : axis2_placement_3d := SELF\representation_item_relationship.relating_representation_item; + END_ENTITY; + + ENTITY minimum_function + SUBTYPE OF ( multiple_arity_function_call ); + END_ENTITY; + + ENTITY minus_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY minus_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY mod_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY modified_geometric_tolerance + SUBTYPE OF ( geometric_tolerance ); + modifier : limit_condition; + END_ENTITY; + + ENTITY modified_pattern + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPLICATE_FEATURE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INSTANCED_FEATURE' ] * TYPEOF( fcr.related_shape_aspect.of_shape. + definition ) ) >= 1 ) AND ( fcr.description = 'base shape' ) ) ) ) = 1 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( fcr.related_shape_aspect. + of_shape.definition ) ) = 1 ) AND ( fcr.description = 'base pattern' ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( SIZEOF( QUERY ( msar <* USEDIN( sar.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( SIZEOF( + [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATTERN_OFFSET_MEMBERSHIP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATTERN_OMIT_MEMBERSHIP' ] * TYPEOF( sar ) ) = 1 ) AND ( sar. + description = 'modified pattern' ) AND ( sar :<>: msar ) ) ) ) >= 1 ) ) ) = 0 ); + END_ENTITY; + + ENTITY modified_solid + ABSTRACT SUPERTYPE OF ( + ONEOF ( + edge_blended_solid, + sculptured_solid, + shelled_solid, + modified_solid_with_placed_configuration ) ) + SUBTYPE OF ( solid_model ); + rationale : text; + base_solid : base_solid_select; + END_ENTITY; + + ENTITY modified_solid_with_placed_configuration + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_depression, + solid_with_protrusion, + solid_with_shape_element_pattern ) ) + SUBTYPE OF ( modified_solid ); + placing : axis2_placement_3d; + END_ENTITY; + + ENTITY modify_element + SUBTYPE OF ( change_element ); + END_ENTITY; + + ENTITY moments_of_inertia_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( ( SIZEOF( SELF.items ) = 1 ) AND ( SIZEOF( QUERY ( i <* SELF.items | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND ( i. + name = 'moments of inertia matrix' ) ) ) ) = 1 ) ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COMPOUND_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LIST_REPRESENTATION_ITEM' ) IN TYPEOF( i\compound_representation_item.item_element ) ) AND + value_range_aggregate_rep_item( i\compound_representation_item.item_element ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY mult_expression + SUBTYPE OF ( multiple_arity_numeric_expression ); + END_ENTITY; + + ENTITY multi_language_attribute_assignment + SUBTYPE OF ( attribute_value_assignment ); + items : SET [1 : ?] OF multi_language_attribute_item; + DERIVE + translation_language : language := language_indication[1]\attribute_classification_assignment.assigned_class; + INVERSE + language_indication : SET [1 : 1] OF attribute_language_assignment FOR items; + WHERE + wr1: ( SELF\attribute_value_assignment.role.name = 'alternate language' ); + wr2: ( SIZEOF( QUERY ( ala <* language_indication | ( ( ala\attribute_classification_assignment.attribute_name = + 'attribute_value' ) AND ( ala\attribute_classification_assignment.role.name = 'translated' ) ) ) ) = 1 ); + wr3: ( SELF\attribute_value_assignment.attribute_name <> '' ); + wr4: ( SIZEOF( QUERY ( ci <* items | ( SIZEOF( QUERY ( ata <* USEDIN( ci, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS' ) | ( ( ata\attribute_value_assignment.attribute_name = SELF\ + attribute_value_assignment.attribute_name ) AND ( ata.translation_language :=: translation_language ) ) ) ) > 1 ) ) ) + = 0 ); + wr5: ( SIZEOF( QUERY ( ci <* items | ( SIZEOF( QUERY ( ata <* USEDIN( ci, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ) | ( ( ata\attribute_classification_assignment.role.name = 'primary' ) + AND ( ata\attribute_classification_assignment.attribute_name = SELF\attribute_value_assignment.attribute_name ) AND + ( ata\attribute_classification_assignment.assigned_class :=: translation_language ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY multi_level_reference_designator + SUBTYPE OF ( assembly_component_usage ); + location : LIST [1 : ?] OF UNIQUE next_assembly_usage_occurrence; + DERIVE + SELF\product_definition_relationship.relating_product_definition : product_definition := location[1]\ + product_definition_relationship.relating_product_definition; + SELF\product_definition_relationship.related_product_definition : product_definition_or_reference := location[HIINDEX( + location )]\product_definition_relationship.related_product_definition; + leaf : product_definition_or_reference := SELF\product_definition_relationship. + related_product_definition; + root : product_definition := SELF\product_definition_relationship. + relating_product_definition; + WHERE + wr1: unambiguously_specified_multi_level_reference_designator( location ); + wr2: ( SIZEOF( QUERY ( cp <* location | ( NOT EXISTS( cp\assembly_component_usage.reference_designator ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY multiple_arity_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + and_expression, + or_expression ) ) + SUBTYPE OF ( boolean_expression, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF boolean_expression; + END_ENTITY; + + ENTITY multiple_arity_function_call + ABSTRACT SUPERTYPE OF ( + ONEOF ( + maximum_function, + minimum_function ) ) + SUBTYPE OF ( multiple_arity_numeric_expression ); + END_ENTITY; + + ENTITY multiple_arity_generic_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( generic_expression ); + operands : LIST [2 : ?] OF generic_expression; + END_ENTITY; + + ENTITY multiple_arity_numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + plus_expression, + mult_expression, + multiple_arity_function_call ) ) + SUBTYPE OF ( numeric_expression, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF numeric_expression; + END_ENTITY; + + ENTITY multiply_defined_cartesian_points + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_curves + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_directions + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY multiply_defined_edges + SUBTYPE OF ( topology_related_to_multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_faces + SUBTYPE OF ( topology_related_to_multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + multiply_defined_curves, + multiply_defined_surfaces, + multiply_defined_cartesian_points, + multiply_defined_directions, + multiply_defined_placements ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY multiply_defined_placements + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( + assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr3: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PLANE_ANGLE_AND_LENGTH_PAIR' ); + wr4: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' ] ); + wr5: validate_locations_of_extreme_value_type( SELF, [] ); + wr6: validate_accuracy_types( SELF, [] ); + wr7: ( SIZEOF( QUERY ( sdqr <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( sdqr ) ) + AND ( SIZEOF( QUERY ( sdqiir <* bag_to_set( USEDIN( sdqr, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN + TYPEOF( sdqiir ) ) AND ( SIZEOF( QUERY ( sdqiri <* sdqiir.inspected_instances | ( TYPEOF( sdqiri.inspected_elements + [1] ) <> TYPEOF( sdqiri.inspected_elements[2] ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY multiply_defined_solids + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_surfaces + SUBTYPE OF ( multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY multiply_defined_vertices + SUBTYPE OF ( topology_related_to_multiply_defined_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY name_assignment + ABSTRACT SUPERTYPE; + assigned_name : label; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) <= + 1 ); + END_ENTITY; + + ENTITY name_attribute; + attribute_value : label; + named_item : name_attribute_select; + END_ENTITY; + + ENTITY named_unit + SUPERTYPE OF ( + ONEOF ( + si_unit, + conversion_based_unit, + context_dependent_unit ) + ANDOR + ONEOF ( + length_unit, + mass_unit, + time_unit, + electric_current_unit, + thermodynamic_temperature_unit, + amount_of_substance_unit, + luminous_flux_unit, + luminous_intensity_unit, + plane_angle_unit, + solid_angle_unit, + ratio_unit ) ); + dimensions : dimensional_exponents; + END_ENTITY; + + ENTITY narrow_surface_patch + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + width_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_SURFACE_PATCH' ] ); + wr4: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY near_point_relationship + SUBTYPE OF ( representation_item_relationship ); + SELF\representation_item_relationship.relating_representation_item : curve_or_surface_constraint_element; + SELF\representation_item_relationship.related_representation_item : point; + END_ENTITY; + + ENTITY nearly_degenerate_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + small_area_surface, + short_length_curve, + entirely_narrow_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY nearly_degenerate_surface_boundary + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_RANGE' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'BOUNDARY_CURVE_OF_B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY nearly_degenerate_surface_patch + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_RANGE' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_SURFACE_PATCH' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY neutral_sketch_representation + SUBTYPE OF ( shape_representation ); + neutral_sketch_semantics : curves_or_area; + SELF\representation.items : SET [1 : ?] OF sketch_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( q <* items | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( q ) ) AND ( q\geometric_representation_item.dim = 3 ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY next_assembly_usage_occurrence + SUBTYPE OF ( assembly_component_usage ); + UNIQUE + ur1 : SELF\assembly_component_usage.reference_designator, SELF\product_definition_relationship.relating_product_definition; + END_ENTITY; + + ENTITY ngon_closed_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( ( SIZEOF( impl_rep. + used_representation.items ) >= 3 ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 4 ) ) ) ) ) = 0 ) ) ) ) = + 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'number of sides' ) OR ( + srwp_i.name = 'circumscribed diameter' ) OR ( srwp_i.name = 'corner radius' ) OR ( srwp_i.name = + 'diameter across flats' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'number of sides' ) ) ) ) = + 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name IN [ 'circumscribed diameter', 'diameter across flats'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'corner radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY non_agreed_accuracy_parameter_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT' ] ); + END_ENTITY; + + ENTITY non_agreed_scale_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CARTESIAN_TRANSFORMATION_OPERATOR_3D' ] ); + END_ENTITY; + + ENTITY non_agreed_unit_usage + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GLOBAL_UNIT_ASSIGNED_CONTEXT' ] ); + END_ENTITY; + + ENTITY non_manifold_at_edge + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY non_manifold_at_vertex + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY non_manifold_surface_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) = + 1 ) ) ) > 0 ); + wr3 : ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) + AND ( SIZEOF( QUERY ( mr_it <* mi\mapped_item.mapping_source.mapped_representation.items | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF( mr_it ) ) ) ) > 0 ) ) ) ) ) + = 0 ); + wr4 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ORIENTED_FACE' ] * TYPEOF( fa ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( f_sf <* QUERY ( fa <* cfs.cfs_faces | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF( fa ) ) ) | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( f_sf ) ) OR nmsf_surface_check( f_sf\ + face_surface.face_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( o_fa <* QUERY ( fa <* cfs.cfs_faces | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_FACE' IN TYPEOF( fa ) ) ) | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( o_fa\oriented_face.face_element ) ) + OR nmsf_surface_check( o_fa\oriented_face.face_element\face_surface.face_geometry ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr7 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( QUERY ( bnds <* + fa.bounds | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' ] * TYPEOF( bnds.bound ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) ) ) = 0 ) ) ) ) = + 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe_cv <* QUERY ( oe <* elp_fbnds\path.edge_list | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF( oe.edge_element ) ) ) | ( NOT ( SIZEOF( + [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CURVE_REPLICA' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POLYLINE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE'] * TYPEOF( oe_cv.edge_element\ + edge_curve.edge_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT nmsf_curve_check( oe. + edge_element\edge_curve.edge_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_element.edge_start ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( oe.edge_element.edge_end ) ) ) ) ) ) = + 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( elp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN + TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( QUERY ( oe <* elp_fbnds\path.edge_list | ( NOT ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element.edge_start\ + vertex_point.vertex_geometry ) ) = 1 ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CARTESIAN_POINT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( oe.edge_element.edge_end\ + vertex_point.vertex_geometry ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( + vlp_fbnds\vertex_loop.loop_vertex ) ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( fbsm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_BASED_SURFACE_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( cfs <* fbsm\face_based_surface_model. + fbsm_faces | ( NOT ( SIZEOF( QUERY ( fa <* cfs.cfs_faces | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( fa ) ) OR ( SIZEOF( + QUERY ( vlp_fbnds <* QUERY ( bnds <* fa.bounds | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' + IN TYPEOF( bnds.bound ) ) ) | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE' ] * TYPEOF( vlp_fbnds\vertex_loop.loop_vertex\ + vertex_point.vertex_geometry ) ) = 1 ) ) ) ) = 0 ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY non_referenced_coordinate_system + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D'] ); + END_ENTITY; + + ENTITY non_smooth_geometry_transition_across_edge + ABSTRACT SUPERTYPE OF ( + ONEOF ( + g1_discontinuity_between_adjacent_faces, + g2_discontinuity_between_adjacent_faces ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY non_uniform_zone_definition + SUBTYPE OF ( tolerance_zone_definition ); + END_ENTITY; + + ENTITY not_expression + SUBTYPE OF ( unary_boolean_expression ); + SELF\unary_generic_expression.operand : boolean_expression; + END_ENTITY; + + ENTITY null_representation_item + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY numeric_defined_function + ABSTRACT SUPERTYPE OF ( + ONEOF ( + integer_defined_function, + real_defined_function ) ) + SUBTYPE OF ( numeric_expression, defined_function ); + END_ENTITY; + + ENTITY numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_numeric_expression, + unary_numeric_expression, + binary_numeric_expression, + multiple_arity_numeric_expression, + length_function, + value_function, + numeric_defined_function ) ) + SUBTYPE OF ( expression ); + DERIVE + is_int : BOOLEAN := is_int_expr( SELF ); + sql_mappable : BOOLEAN := is_sql_mappable( SELF ); + END_ENTITY; + + ENTITY numeric_variable + SUPERTYPE OF ( + ONEOF ( + int_numeric_variable, + real_numeric_variable ) ) + SUBTYPE OF ( simple_numeric_expression, variable ); + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF( SELF ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY object_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY odd_function + SUBTYPE OF ( unary_boolean_expression ); + SELF\unary_generic_expression.operand : numeric_expression; + WHERE + wr1: is_int_expr( operand ); + END_ENTITY; + + ENTITY offset_curve_2d + SUBTYPE OF ( curve ); + basis_curve : curve; + distance : length_measure; + self_intersect : LOGICAL; + WHERE + wr1: ( basis_curve.dim = 2 ); + END_ENTITY; + + ENTITY offset_curve_3d + SUBTYPE OF ( curve ); + basis_curve : curve; + distance : length_measure; + self_intersect : LOGICAL; + ref_direction : direction; + WHERE + wr1: ( ( basis_curve.dim = 3 ) AND ( ref_direction.dim = 3 ) ); + END_ENTITY; + + ENTITY offset_surface + SUBTYPE OF ( surface ); + basis_surface : surface; + distance : length_measure; + self_intersect : LOGICAL; + END_ENTITY; + + ENTITY one_direction_repeat_factor + SUBTYPE OF ( geometric_representation_item ); + repeat_factor : vector; + END_ENTITY; + + ENTITY open_closed_shell + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_SHELL'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY open_edge_loop + SUBTYPE OF ( erroneous_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE'] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY open_path_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PATH_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY open_shell + SUBTYPE OF ( connected_face_set ); + END_ENTITY; + + ENTITY or_expression + SUBTYPE OF ( multiple_arity_boolean_expression ); + END_ENTITY; + + ENTITY ordinal_date + SUBTYPE OF ( date ); + day_component : day_in_year_number; + WHERE + wr1: ( ( ( NOT leap_year( SELF.year_component ) ) AND ( 1 <= day_component ) AND ( day_component <= 365 ) ) OR ( + leap_year( SELF.year_component ) AND ( 1 <= day_component ) AND ( day_component <= 366 ) ) ); + END_ENTITY; + + ENTITY ordinate_dimension + SUBTYPE OF ( projection_directed_callout ); + END_ENTITY; + + ENTITY organization; + id : OPTIONAL identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY organization_assignment + ABSTRACT SUPERTYPE; + assigned_organization : organization; + role : organization_role; + END_ENTITY; + + ENTITY organization_relationship; + name : label; + description : OPTIONAL text; + relating_organization : organization; + related_organization : organization; + END_ENTITY; + + ENTITY organization_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY organizational_address + SUBTYPE OF ( address ); + organizations : SET [1 : ?] OF organization; + description : OPTIONAL text; + END_ENTITY; + + ENTITY organizational_project; + name : label; + description : OPTIONAL text; + responsible_organizations : SET [1 : ?] OF organization; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY organizational_project_assignment + ABSTRACT SUPERTYPE; + assigned_organizational_project : organizational_project; + role : organizational_project_role; + END_ENTITY; + + ENTITY organizational_project_relationship; + name : label; + description : OPTIONAL text; + relating_organizational_project : organizational_project; + related_organizational_project : organizational_project; + END_ENTITY; + + ENTITY organizational_project_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY oriented_closed_shell + SUBTYPE OF ( closed_shell ); + closed_shell_element : closed_shell; + orientation : BOOLEAN; + DERIVE + SELF\connected_face_set.cfs_faces : SET [1 : ?] OF face := conditional_reverse( SELF.orientation, SELF. + closed_shell_element.cfs_faces ); + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( SELF.closed_shell_element ) ) ); + END_ENTITY; + + ENTITY oriented_edge + SUBTYPE OF ( edge ); + edge_element : edge; + orientation : BOOLEAN; + DERIVE + SELF\edge.edge_start : vertex := boolean_choose( SELF.orientation, SELF.edge_element.edge_start, SELF.edge_element. + edge_end ); + SELF\edge.edge_end : vertex := boolean_choose( SELF.orientation, SELF.edge_element.edge_end, SELF.edge_element. + edge_start ); + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE' IN TYPEOF( SELF.edge_element ) ) ); + END_ENTITY; + + ENTITY oriented_face + SUBTYPE OF ( face ); + face_element : face; + orientation : BOOLEAN; + DERIVE + SELF\face.bounds : SET [1 : ?] OF face_bound := conditional_reverse( SELF.orientation, SELF.face_element.bounds ); + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_FACE' IN TYPEOF( SELF.face_element ) ) ); + END_ENTITY; + + ENTITY oriented_joint + SUBTYPE OF ( oriented_edge ); + SELF\oriented_edge.edge_element : kinematic_joint; + END_ENTITY; + + ENTITY oriented_open_shell + SUBTYPE OF ( open_shell ); + open_shell_element : open_shell; + orientation : BOOLEAN; + DERIVE + SELF\connected_face_set.cfs_faces : SET [1 : ?] OF face := conditional_reverse( SELF.orientation, SELF.open_shell_element. + cfs_faces ); + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_OPEN_SHELL' IN TYPEOF( SELF.open_shell_element ) ) ); + END_ENTITY; + + ENTITY oriented_path + SUBTYPE OF ( path ); + path_element : path; + orientation : BOOLEAN; + DERIVE + SELF\path.edge_list : LIST [1 : ?] OF UNIQUE oriented_edge := conditional_reverse( SELF.orientation, SELF.path_element. + edge_list ); + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_PATH' IN TYPEOF( SELF.path_element ) ) ); + END_ENTITY; + + ENTITY oriented_surface + SUBTYPE OF ( surface ); + orientation : BOOLEAN; + END_ENTITY; + + ENTITY outer_boundary_curve + SUBTYPE OF ( boundary_curve ); + END_ENTITY; + + ENTITY outer_round + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( ( NOT ( SELF\characterized_object.description = 'outer diameter' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( QUERY ( pdr <* + USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) AND ( SIZEOF( pdr.used_representation.items ) = 3 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr2: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) AND ( 2 <= SIZEOF( pdr.used_representation.items ) ) AND ( SIZEOF( pdr. + used_representation.items ) <= 3 ) ) ) ) = 1 ) ) ) = 1 ) ); + wr3: ( SELF\characterized_object.description IN [ 'outer diameter', 'outer diameter to shoulder'] ); + wr4: ( ( NOT ( SELF\characterized_object.description = 'outer diameter' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pds <* + QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( + QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + sa_occ.description = 'v-shape boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'v-shape' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = + 0 ) ); + wr7: ( ( NOT ( SELF\characterized_object.description = 'outer diameter' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( + QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + sa_occ.description = 'reduced size occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'taper usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OUTER_ROUND' IN TYPEOF( sdr. + related_shape_aspect.of_shape.definition ) ) AND ( sdr.name = 'reduced size' ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ) ); + wr8: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9: ( ( NOT ( SELF\characterized_object.description = 'outer diameter to shoulder' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'feature length' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY outside_profile + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( pdr. + used_representation.items ) = 1 ) ) ) ) = 1 ) ) ) = 1 ); + wr2 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description IN [ + 'boundary occurrence' , 'non-planar boundary occurrence', 'partial circular boundary occurrence', + 'closed circular boundary occurrence' , 'open rectangular boundary occurrence', + 'closed rectangular boundary occurrence' ] ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'TEE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE'] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) AND ( sdr.relating_shape_aspect.description = 'outside boundary' ) ) ) ) = 1 ) ) ) + = 1 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description IN [ + 'complex boundary occurrence' , 'partial circular boundary occurrence', 'closed circular boundary occurrence', + 'open rectangular boundary occurrence' , 'closed rectangular boundary occurrence'] ) ) ) = 1 ) ) ) ) = 0 ) ) OR + ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( NOT ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile floor usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROFILE_FLOOR' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OUTSIDE_PROFILE' IN TYPEOF( sdr.related_shape_aspect.of_shape. + definition ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description IN [ + 'outside boundary' , 'complex boundary occurrence', 'partial circular boundary occurrence', + 'closed circular boundary occurrence' , 'open rectangular boundary occurrence', + 'closed rectangular boundary occurrence' ] ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'path feature component usage' ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT'] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) AND ( sdr.name = 'profile swept shape' ) AND ( sdr.relating_shape_aspect. + description = 'linear' ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'complex boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'TEE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_PROFILE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) = 1 ) ) ) + = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'partial circular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) + = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'closed circular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) + = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'open rectangular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) + = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description = + 'closed rectangular boundary occurrence' ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'profile usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) = 1 ) ) ) ) = 0 ) ); + wr11: ( ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( sa_occ.description IN [ + 'boundary occurrence' , 'complex boundary occurrence', 'partial circular boundary occurrence', + 'closed circular boundary occurrence' , 'open rectangular boundary occurrence', + 'closed rectangular boundary occurrence' ] ) ) ) = 1 ) ) ) ) = 0 ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'removal direction' ) ) ) ) = 1 ) ) ) ) = + 0 ) ); + wr12: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY over_riding_styled_item + SUBTYPE OF ( styled_item ); + over_ridden_style : styled_item; + END_ENTITY; + + ENTITY over_used_vertex + SUBTYPE OF ( inapt_topology ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY overcomplex_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + excessively_high_degree_curve, + excessively_high_degree_surface, + surface_with_excessive_patches_in_one_direction, + curve_with_excessive_segments, + high_degree_linear_curve, + high_degree_planar_surface, + high_degree_conic, + high_degree_axi_symmetric_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY overcomplex_topology_and_geometry_relationship + ABSTRACT SUPERTYPE OF ( + ONEOF ( + unused_patches, + edge_with_excessive_segments, + face_surface_with_excessive_patches_in_one_direction ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY overlapping_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + partly_overlapping_curves, + partly_overlapping_surfaces ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY package_product_concept_feature + SUBTYPE OF ( product_concept_feature ); + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE' ) IN TYPEOF( SELF ) ) ); + wr2: ( SIZEOF( QUERY ( cfr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONCEPT_FEATURE_RELATIONSHIP.' + 'RELATING_PRODUCT_CONCEPT_FEATURE' ) | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' ) IN TYPEOF( + cfr ) ) AND ( SIZEOF( QUERY ( ipcf <* USEDIN( cfr, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONDITIONAL_CONCEPT_FEATURE.' + 'CONDITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' ) IN TYPEOF( ipcf ) ) ) ) = 1 ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY pair_representation_relationship + SUBTYPE OF ( geometric_representation_item, representation_relationship_with_transformation ); + SELF\representation_relationship.rep_1 : kinematic_link_representation; + SELF\representation_relationship.rep_2 : kinematic_link_representation; + SELF\representation_relationship_with_transformation.transformation_operator : kinematic_pair; + WHERE + wr1: ( transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items ); + wr2: ( transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items ); + wr3: ( rep_1\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_start ); + wr4: ( rep_2\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_end ); + END_ENTITY; + + ENTITY pair_value + ABSTRACT SUPERTYPE OF ( + ONEOF ( + sliding_surface_pair_value, + rolling_surface_pair_value, + revolute_pair_value, + prismatic_pair_value, + screw_pair_value, + cylindrical_pair_value, + spherical_pair_value, + sliding_curve_pair_value, + rolling_curve_pair_value, + gear_pair_value, + rack_and_pinion_pair_value, + universal_pair_value, + planar_pair_value, + unconstrained_pair_value, + point_on_surface_pair_value, + point_on_planar_curve_pair_value, + low_order_kinematic_pair_value ) ) + SUBTYPE OF ( geometric_representation_item ); + applies_to_pair : kinematic_pair; + END_ENTITY; + + ENTITY parabola + SUBTYPE OF ( conic ); + focal_dist : length_measure; + WHERE + wr1: ( focal_dist <> 0 ); + END_ENTITY; + + ENTITY parallel_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, parallel_geometric_constraint ); + END_ENTITY; + + ENTITY parallel_assembly_constraint_with_dimension + SUBTYPE OF ( parallel_assembly_constraint, pgc_with_dimension ); + END_ENTITY; + + ENTITY parallel_composed_function + SUBTYPE OF ( maths_function, multiple_arity_generic_expression ); + source_of_domain : maths_space_or_function; + prep_functions : LIST [1 : ?] OF maths_function; + final_function : maths_function_select; + DERIVE + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF generic_expression := convert_to_operands_prcmfn( + source_of_domain, prep_functions, final_function ); + WHERE + wr1: no_cyclic_domain_reference( source_of_domain, [SELF] ); + wr2: expression_is_constant( domain_from( source_of_domain ) ); + wr3: parallel_composed_function_domain_check( domain_from( source_of_domain ), prep_functions ); + wr4: parallel_composed_function_composability_check( prep_functions, final_function ); + END_ENTITY; + + ENTITY parallel_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF linear_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF linear_geometry_constraint_element; + END_ENTITY; + + ENTITY parallel_offset + SUBTYPE OF ( derived_shape_aspect ); + offset : measure_with_unit; + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY parallel_offset_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF curve_or_surface_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF curve_or_surface_constraint_element; + offset_type : parallel_offset_type; + WHERE + wr1: ( NOT ( ( ( offset_type = curve_2d_offset ) OR ( offset_type = curve_3d_offset ) ) AND ( SIZEOF( QUERY ( q <* ( SELF\ + explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF( q ) ) ) ) > 0 ) ) ); + wr2: ( NOT ( ( offset_type = surface_offset ) AND ( SIZEOF( QUERY ( q <* ( SELF\explicit_constraint.constrained_elements + + SELF\explicit_constraint.reference_elements ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN + TYPEOF( q ) ) ) ) > 0 ) ) ); + END_ENTITY; + + ENTITY parallelism_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY parametric_representation_context + SUBTYPE OF ( representation_context ); + END_ENTITY; + + ENTITY part_laminate_table + SUPERTYPE OF ( + ONEOF ( + composite_assembly_table, + ply_laminate_table ) ) + SUBTYPE OF ( laminate_table ); + END_ENTITY; + + ENTITY partial_circular_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 3 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'sweep angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY partial_derivative_expression + SUBTYPE OF ( unary_generic_expression ); + d_variables : LIST [1 : ?] OF maths_variable; + extension : extension_options; + DERIVE + derivand : generic_expression := SELF\unary_generic_expression.operand; + WHERE + wr1: has_values_space( derivand ); + wr2: space_is_continuum( values_space_of( derivand ) ); + wr3: ( SIZEOF( QUERY ( vbl <* d_variables | ( ( NOT subspace_of( values_space_of( vbl ), the_reals ) ) AND ( NOT + subspace_of( values_space_of( vbl ), the_complex_numbers ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY partial_derivative_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + d_variables : LIST [1 : ?] OF input_selector; + extension : extension_options; + DERIVE + derivand : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: space_is_continuum( derivand.range ); + wr2: partial_derivative_check( derivand.domain, d_variables ); + END_ENTITY; + + ENTITY partial_document_with_structured_text_representation_assignment + SUBTYPE OF ( applied_document_usage_constraint_assignment, characterized_object ); + END_ENTITY; + + ENTITY partly_overlapping_curves + SUBTYPE OF ( overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_edges + SUBTYPE OF ( topology_related_to_overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBEDGE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBEDGE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_faces + SUBTYPE OF ( topology_related_to_overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_solids + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY partly_overlapping_surfaces + SUBTYPE OF ( overlapping_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + interference_tolerance : length_measure; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CURVE_BOUNDED_SURFACE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY path + SUPERTYPE OF ( + ONEOF ( + edge_loop, + oriented_path ) ) + SUBTYPE OF ( topological_representation_item ); + edge_list : LIST [1 : ?] OF UNIQUE oriented_edge; + WHERE + wr1: path_head_to_tail( SELF ); + END_ENTITY; + + ENTITY path_area_with_parameters + SUBTYPE OF ( complex_area, mapped_item ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF( SELF\mapped_item.mapping_target ) ); + wr2: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_PARAMETERS_REPRESENTATION' IN TYPEOF( SELF\mapped_item. + mapping_source\representation_map.mapped_representation ) ); + wr3: ( SELF\mapped_item.mapping_source\representation_map.mapping_origin\representation_item.name = 'curve width' ); + END_ENTITY; + + ENTITY path_feature_component + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2 : ( SELF.description IN [ 'partial circular', 'complete circular', 'linear', 'complex'] ); + wr3 : ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( ( NOT ( SELF.description = 'partial circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description = 'partial circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF.description = 'partial circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'sweep angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'complete circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF.description = 'complete circular' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF.description = 'linear' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( SELF.description = 'linear' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'distance' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( SELF.description = 'linear' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'sweep path' ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( srwp_i.name = 'profile shape' ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY path_node + ABSTRACT SUPERTYPE OF ( + ONEOF ( + point_to_point_path, + circular_path, + linear_path, + curve_based_path ) ) + SUBTYPE OF ( kinematic_path_segment ); + placement_end : placement; + END_ENTITY; + + ENTITY path_parameter_representation + SUBTYPE OF ( definitional_representation ); + SELF\representation.context_of_items : path_parameter_representation_context; + SELF\representation.items : SET [1 : ?] OF bounded_curve; + WHERE + wr1: ( SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + END_ENTITY; + + ENTITY path_parameter_representation_context + SUBTYPE OF ( geometric_representation_context, parametric_representation_context ); + END_ENTITY; + + ENTITY path_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) >= 1 ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PATH' ] * TYPEOF( i ) ) = 1 ) ) ) >= 1 ); + END_ENTITY; + + ENTITY pattern_offset_membership + SUBTYPE OF ( feature_component_relationship ); + WHERE + wr1 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.relating_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( SIZEOF( QUERY ( pdr <* QUERY ( pd <* USEDIN( fcr.related_shape_aspect.of_shape, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( pdr.definition ) ) = 1 ) ) ) = + 0 ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( ( fcr.description = 'modified pattern' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MODIFIED_PATTERN' IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) + >= 1 ); + wr3 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MODIFIED_PATTERN' IN TYPEOF( fcr. + relating_shape_aspect ) ) AND ( NOT ( SIZEOF( QUERY ( modfcr <* QUERY ( modsar <* USEDIN( fcr. + relating_shape_aspect, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( modsar.related_shape_aspect. + of_shape.definition ) ) = 1 ) AND ( modsar :<>: fcr ) ) ) | ( NOT ( modfcr.related_shape_aspect.of_shape. + definition :=: SELF.relating_shape_aspect.of_shape.definition ) ) ) ) = 0 ) ) ) ) ) = 0 ); + wr4 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect + .of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 2 ) ) ) ) + = 0 ) ); + wr5 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect. + of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 1 ) ) ) ) + = 0 ) ); + wr6 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect. + of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect. + of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'index number' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect. + of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PLANE_ANGLE_MEASURE_WITH_UNIT' IN TYPEOF( it ) ) AND ( it.name = 'offset' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect + .of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect + .of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'row index' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr11: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect + .of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'column index' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr12: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect + .of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it ) ) AND ( it.name = 'offset distance' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr13: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect + .of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'offset direction' ) ) ) ) = 1 ) ) ) ) = + 0 ) ); + END_ENTITY; + + ENTITY pattern_omit_membership + SUBTYPE OF ( feature_component_relationship ); + WHERE + wr1: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.relating_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( SIZEOF( QUERY ( pdr <* QUERY ( pd <* USEDIN( fcr.related_shape_aspect.of_shape, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( pdr.definition ) ) = 1 ) ) ) = 0 ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( ( fcr.description = 'modified pattern' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MODIFIED_PATTERN' IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) >= 1 ); + wr3: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( sar + :<>: SELF ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MODIFIED_PATTERN' IN TYPEOF( fcr. + relating_shape_aspect ) ) AND ( NOT ( SIZEOF( QUERY ( modfcr <* QUERY ( modsar <* USEDIN( fcr.relating_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' ] * TYPEOF( modsar.related_shape_aspect. + of_shape.definition ) ) = 1 ) AND ( modsar :<>: fcr ) ) ) | ( NOT ( modfcr.related_shape_aspect.of_shape.definition + :=: SELF.relating_shape_aspect.of_shape.definition ) ) ) ) = 0 ) ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ) = 1 ) ) ) ) = + 0 ); + wr5: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect. + of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( pdr.used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect. + of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'index number' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr7: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect. + of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( NOT ( SIZEOF( pdr.used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect. + of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'row index' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + wr9: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' IN TYPEOF( SELF.relating_shape_aspect. + of_shape.definition ) ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF.related_shape_aspect, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'column index' ) ) ) ) = 1 ) ) ) ) + = 0 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY pcurve + SUBTYPE OF ( curve ); + basis_surface : surface; + reference_to_curve : definitional_representation; + WHERE + wr1: ( SIZEOF( reference_to_curve\representation.items ) = 1 ); + wr2: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF( reference_to_curve\representation.items[1] ) ); + wr3: ( reference_to_curve\representation.items[1]\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY pdgc_with_dimension + SUBTYPE OF ( point_distance_geometric_constraint ); + distance_value : non_negative_length_measure; + END_ENTITY; + + ENTITY percentage_laminate_table + SUBTYPE OF ( zone_structural_makeup ); + END_ENTITY; + + ENTITY perpendicular_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, perpendicular_geometric_constraint ); + END_ENTITY; + + ENTITY perpendicular_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF linear_geometry_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : 2] OF linear_geometry_constraint_element; + WHERE + wr1: ( NOT ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 2 ) AND ( NOT ( ( SIZEOF( QUERY ( q <* ( SELF\ + explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE' IN TYPEOF( q ) ) ) ) = SIZEOF( SELF\explicit_constraint. + reference_elements + SELF\explicit_constraint.constrained_elements ) ) XOR ( SIZEOF( QUERY ( q <* ( SELF\ + explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( q ) ) ) ) = SIZEOF( SELF\explicit_constraint. + reference_elements + SELF\explicit_constraint.constrained_elements ) ) ) ) ) ); + wr2: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) IN [2, 3] ) ); + wr3: ( ( NOT ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ) AND ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 3 ) ) ) AND ( NOT ( ( SIZEOF( QUERY ( q <* SELF\explicit_constraint.constrained_elements + | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE' IN TYPEOF( q ) ) ) ) = 3 ) XOR ( SIZEOF( QUERY ( q <* + SELF\explicit_constraint.constrained_elements | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN + TYPEOF( q ) ) ) ) = 3 ) ) ) ); + END_ENTITY; + + ENTITY perpendicular_to + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY perpendicularity_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY person; + id : identifier; + last_name : OPTIONAL label; + first_name : OPTIONAL label; + middle_names : OPTIONAL LIST [1 : ?] OF label; + prefix_titles : OPTIONAL LIST [1 : ?] OF label; + suffix_titles : OPTIONAL LIST [1 : ?] OF label; + WHERE + wr1: ( EXISTS( last_name ) OR EXISTS( first_name ) ); + END_ENTITY; + + ENTITY person_and_organization; + the_person : person; + the_organization : organization; + DERIVE + name : label := get_name_value( SELF ); + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY person_and_organization_address + SUBTYPE OF ( organizational_address, personal_address ); + SELF\organizational_address.organizations : SET [1 : 1] OF organization; + SELF\personal_address.people : SET [1 : 1] OF person; + WHERE + wr1: ( SIZEOF( QUERY ( pao <* USEDIN( SELF\personal_address.people[1], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PERSON_AND_ORGANIZATION.THE_PERSON' ) | ( pao.the_organization :=: SELF\organizational_address.organizations[1] ) ) ) + = 1 ); + END_ENTITY; + + ENTITY person_and_organization_assignment + ABSTRACT SUPERTYPE; + assigned_person_and_organization : person_and_organization; + role : person_and_organization_role; + END_ENTITY; + + ENTITY person_and_organization_role; + name : label; + DERIVE + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY personal_address + SUBTYPE OF ( address ); + people : SET [1 : ?] OF person; + description : OPTIONAL text; + END_ENTITY; + + ENTITY pgc_with_dimension + SUBTYPE OF ( parallel_geometric_constraint ); + distance_value : non_negative_length_measure; + negative_direction : BOOLEAN; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 1 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( SIZEOF( QUERY ( q <* ( SELF\explicit_constraint.reference_elements + SELF\explicit_constraint.constrained_elements ) + | ( SIZEOF( TYPEOF( q ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' ] ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY physical_breakdown_context + SUBTYPE OF ( breakdown_context ); + END_ENTITY; + + ENTITY physical_component + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY physical_component_feature + SUBTYPE OF ( component_feature ); + END_ENTITY; + + ENTITY physical_component_terminal + SUBTYPE OF ( component_terminal, physical_component_feature ); + END_ENTITY; + + ENTITY physical_element_usage + SUBTYPE OF ( breakdown_element_usage ); + END_ENTITY; + + ENTITY picture_representation + SUBTYPE OF ( presentation_view ); + SELF\representation.items : SET [2 : ?] OF picture_representation_item_select; + INVERSE + size : presentation_size FOR unit; + WHERE + wr1: ( SIZEOF( QUERY ( item <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN TYPEOF( item ) ) ) ) + = 1 ); + wr2: ( SIZEOF( QUERY ( se <* QUERY ( item <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' + IN TYPEOF( item ) ) ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PICTURE_REPRESENTATION_ITEM' IN + TYPEOF( se\styled_item.item ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY picture_representation_item + ABSTRACT SUPERTYPE OF ( + ONEOF ( + externally_defined_picture_representation_item, + predefined_picture_representation_item ) ) + SUBTYPE OF ( bytes_representation_item ); + END_ENTITY; + + ENTITY placed_datum_target_feature + SUBTYPE OF ( datum_target ); + DERIVE + representation_associations : SET [0 : ?] OF property_definition_representation := + get_shape_aspect_property_definition_representations( SELF ); + WHERE + wr1: ( SELF.description IN [ 'point', 'line', 'rectangle', 'circle', 'circular curve'] ); + wr2: ( SIZEOF( QUERY ( pdr <* representation_associations | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ); + wr3: valid_datum_target_parameters( SELF ); + END_ENTITY; + + ENTITY placed_feature + SUBTYPE OF ( shape_aspect ); + END_ENTITY; + + ENTITY placement + SUPERTYPE OF ( + ONEOF ( + axis1_placement, + axis2_placement_2d, + axis2_placement_3d ) ) + SUBTYPE OF ( geometric_representation_item ); + location : cartesian_point; + END_ENTITY; + + ENTITY planar_box + SUBTYPE OF ( planar_extent ); + placement : axis2_placement; + END_ENTITY; + + ENTITY planar_curve_pair + SUPERTYPE OF ( + ONEOF ( + sliding_curve_pair, + rolling_curve_pair ) + ANDOR + planar_curve_pair_range ) + SUBTYPE OF ( high_order_kinematic_pair ); + curve_1 : curve; + curve_2 : curve; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( curve_1 IN r.items ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( curve_2 IN r.items ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY planar_curve_pair_range + SUBTYPE OF ( planar_curve_pair ); + range_on_curve_1 : trimmed_curve; + range_on_curve_2 : trimmed_curve; + WHERE + wr1: ( SELF\planar_curve_pair.curve_1 :=: range_on_curve_1.basis_curve ); + wr2: ( SELF\planar_curve_pair.curve_2 :=: range_on_curve_2.basis_curve ); + wr3: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_curve_1 IN r.items ) ) ) ) + = 0 ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( range_on_curve_2 IN r.items ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY planar_extent + SUBTYPE OF ( geometric_representation_item ); + size_in_x : length_measure; + size_in_y : length_measure; + END_ENTITY; + + ENTITY planar_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY planar_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : planar_pair; + actual_rotation : plane_angle_measure; + actual_translation_x : length_measure; + actual_translation_y : length_measure; + END_ENTITY; + + ENTITY planar_pair_with_range + SUBTYPE OF ( planar_pair ); + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + lower_limit_actual_translation_x : OPTIONAL length_measure; + upper_limit_actual_translation_x : OPTIONAL length_measure; + lower_limit_actual_translation_y : OPTIONAL length_measure; + upper_limit_actual_translation_y : OPTIONAL length_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_actual_translation_x ) ) OR ( NOT EXISTS( upper_limit_actual_translation_x ) ) ) XOR ( + lower_limit_actual_translation_x < upper_limit_actual_translation_x ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_actual_translation_y ) ) OR ( NOT EXISTS( upper_limit_actual_translation_y ) ) ) XOR ( + lower_limit_actual_translation_y < upper_limit_actual_translation_y ) ); + END_ENTITY; + + ENTITY planar_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( SIZEOF( SELF.items ) = 1 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( it ) ) ) ) = + 1 ); + END_ENTITY; + + ENTITY plane + SUBTYPE OF ( elementary_surface ); + END_ENTITY; + + ENTITY plane_angle_and_length_pair + SUBTYPE OF ( founded_item ); + plane_angle_value : plane_angle_measure; + length_value : length_measure; + END_ENTITY; + + ENTITY plane_angle_and_ratio_pair + SUBTYPE OF ( founded_item ); + plane_angle_value : plane_angle_measure; + ratio_value : ratio_measure; + END_ENTITY; + + ENTITY plane_angle_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY plane_angle_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY plus_expression + SUBTYPE OF ( multiple_arity_numeric_expression ); + END_ENTITY; + + ENTITY plus_minus_tolerance; + range : tolerance_method_definition; + toleranced_dimension : dimensional_characteristic; + UNIQUE + ur1 : toleranced_dimension; + END_ENTITY; + + ENTITY ply_laminate_sequence_definition + SUBTYPE OF ( product_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATING_PRODUCT_DEFINITION' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' ) IN TYPEOF( pdr ) ) ) ) > + 0 ); + END_ENTITY; + + ENTITY ply_laminate_table + SUBTYPE OF ( part_laminate_table ); + END_ENTITY; + + ENTITY pocket + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF\characterized_object.description IN [ 'closed rectangular', 'open rectangular', 'complex', 'circular cutout', + 'complex cutout' , 'recess'] ); + wr2 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'pocket depth occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( sar.name = 'pocket depth' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) + AND ( sdr.relating_shape_aspect.description = 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 1 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 2 ) ) ) ) = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'fillet radius' ) ) ) ) = + SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'fillet radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( ( NOT ( SELF\characterized_object.description IN [ 'complex', 'non-circular cutout', 'recess'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( sa_occ.description = 'boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* + USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) + | ( ( sar.description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'TEE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE'] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF\characterized_object.description = 'closed rectangular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'closed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + sar.description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'RECTANGULAR_CLOSED_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF\characterized_object.description = 'open rectangular' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'open boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr10: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'pocket bottom usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POCKET_BOTTOM' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' IN TYPEOF( sdr.related_shape_aspect.of_shape.definition ) ) ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr11: ( ( NOT ( SELF\characterized_object.description IN [ 'complex', 'non-circular cutout', 'recess'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( sa_occ.description = 'change in boundary occurrence' ) AND ( SIZEOF( QUERY ( fcr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'taper usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' IN TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) + AND ( fcr.related_shape_aspect.description IN [ 'angle taper', 'directed taper'] ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) + = 0 ) ); + wr12: ( ( NOT ( SELF\characterized_object.description = 'circular cutout' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'enclosed boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + sar.description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CIRCULAR_CLOSED_PROFILE' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr13: ( ( NOT ( SELF\characterized_object.description IN [ 'circular cutout', 'complex cutout'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( sa_occ.description = 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'pocket bottom usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET_BOTTOM' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' IN TYPEOF( sdr.related_shape_aspect.of_shape.definition ) ) + AND ( sdr.relating_shape_aspect.description = 'through' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr14: ( ( NOT ( SELF\characterized_object.description = 'recess' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( + SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( sa_occ.description = 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( + sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( + sar.description = 'pocket bottom usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POCKET_BOTTOM' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' IN TYPEOF( sdr.related_shape_aspect.of_shape.definition ) ) + AND ( sdr.relating_shape_aspect.description IN [ 'planar', 'complex'] ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr15: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + wr16: ( ( NOT ( SELF\characterized_object.description IN [ 'closed rectangular', 'open rectangular', 'complex', 'recess'] ) ) + OR ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) + AND ( SIZEOF( QUERY ( csa <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) AND ( csa.name = + 'uncut volume' ) AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROTRUSION' ] * TYPEOF( sar.related_shape_aspect ) ) = 1 ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 1 ) ); + wr17: ( ( NOT ( SELF\characterized_object.description IN [ 'closed rectangular', 'open rectangular'] ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( sa_occ.description = 'change in boundary occurrence' ) AND ( SIZEOF( QUERY ( fcr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'taper usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' IN TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) + AND ( fcr.related_shape_aspect.description IN [ 'angle taper', 'directed taper'] ) ) ) ) >= 1 ) ) ) ) <= 1 ) ) ) ) + = 0 ) ); + END_ENTITY; + + ENTITY pocket_bottom + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2 : ( SELF.description IN [ 'planar', 'complex', 'through'] ); + wr3 : ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor normal' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOCATION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor location' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor face' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'through' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'pocket bottom usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + fcr.related_shape_aspect.description = 'bottom condition occurrence' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' IN TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET_BOTTOM' IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) + >= 1 ); + wr11: ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar. + description = 'pocket bottom usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( fcr.related_shape_aspect.description = + 'bottom condition occurrence' ) AND ( fcr.related_shape_aspect.name IN [ 'pocket depth start', 'pocket depth end'] ) ) ) ) + = 0 ) ); + END_ENTITY; + + ENTITY pogc_with_dimension + SUBTYPE OF ( parallel_offset_geometric_constraint ); + offset_value : positive_length_measure; + offset_direction_constrained : BOOLEAN; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 1 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( ( NOT ( offset_direction_constrained = TRUE ) ) AND ( ( offset_type = curve_2d_offset ) OR ( offset_type = + surface_offset ) ) ); + END_ENTITY; + + ENTITY point + SUPERTYPE OF ( + ONEOF ( + cartesian_point, + point_on_curve, + point_on_surface, + point_replica, + degenerate_pcurve ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY point_and_vector + SUBTYPE OF ( compound_representation_item, geometric_representation_item ); + SELF\compound_representation_item.item_element : point_and_vector_members; + END_ENTITY; + + ENTITY point_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF point; + SELF\explicit_constraint.reference_elements : SET [0 : 4] OF point_curve_or_surface_constraint_element; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PDGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND ( SIZEOF( SELF\ + explicit_constraint.constrained_elements ) = 2 ) ) ); + END_ENTITY; + + ENTITY point_on_curve + SUBTYPE OF ( point ); + basis_curve : curve; + point_parameter : parameter_value; + END_ENTITY; + + ENTITY point_on_edge_curve + SUBTYPE OF ( point_on_curve ); + basis_edge_curve : edge_curve; + DERIVE + SELF\point_on_curve.basis_curve : curve := SELF.basis_edge_curve.edge_geometry; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_edge_curve ) * relating_shape_representations_of_extreme_values( SELF ) ) + > 0 ); + END_ENTITY; + + ENTITY point_on_face_surface + SUBTYPE OF ( point_on_surface ); + basis_face_surface : face_surface; + DERIVE + SELF\point_on_surface.basis_surface : surface := SELF.basis_face_surface.face_geometry; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_face_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) + > 0 ); + END_ENTITY; + + ENTITY point_on_planar_curve_pair + SUBTYPE OF ( high_order_kinematic_pair ); + pair_curve : curve; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( pair_curve IN r.items ) ) ) ) = + 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY point_on_planar_curve_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : point_on_planar_curve_pair; + actual_point_on_curve : point_on_curve; + input_orientation : spatial_rotation; + DERIVE + actual_orientation : ypr_rotation := convert_spatial_to_ypr_rotation( SELF\pair_value.applies_to_pair, input_orientation ); + WHERE + wr1: ( SELF\pair_value.applies_to_pair\point_on_planar_curve_pair.pair_curve :=: actual_point_on_curve.basis_curve ); + END_ENTITY; + + ENTITY point_on_planar_curve_pair_with_range + SUBTYPE OF ( point_on_planar_curve_pair ); + range_on_pair_curve : trimmed_curve; + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_pitch : OPTIONAL plane_angle_measure; + upper_limit_pitch : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_pitch ) ) OR ( NOT EXISTS( upper_limit_pitch ) ) ) XOR ( lower_limit_pitch < + upper_limit_pitch ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_pair_curve IN r.items ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY point_on_surface + SUBTYPE OF ( point ); + basis_surface : surface; + point_parameter_u : parameter_value; + point_parameter_v : parameter_value; + END_ENTITY; + + ENTITY point_on_surface_pair + SUBTYPE OF ( high_order_kinematic_pair ); + pair_surface : surface; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( pair_surface IN r.items ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY point_on_surface_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : point_on_surface_pair; + actual_point_on_surface : point_on_surface; + input_orientation : spatial_rotation; + DERIVE + actual_orientation : ypr_rotation := convert_spatial_to_ypr_rotation( SELF\pair_value.applies_to_pair, input_orientation ); + WHERE + wr1: ( SELF\pair_value.applies_to_pair\point_on_surface_pair.pair_surface :=: actual_point_on_surface.basis_surface ); + END_ENTITY; + + ENTITY point_on_surface_pair_with_range + SUBTYPE OF ( point_on_surface_pair ); + range_on_pair_surface : rectangular_trimmed_surface; + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_pitch : OPTIONAL plane_angle_measure; + upper_limit_pitch : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_pitch ) ) OR ( NOT EXISTS( upper_limit_pitch ) ) ) XOR ( lower_limit_pitch < + upper_limit_pitch ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_pair_surface IN r. + items ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY point_path + SUBTYPE OF ( compound_representation_item, geometric_representation_item ); + SELF\compound_representation_item.item_element : point_path_members; + END_ENTITY; + + ENTITY point_placement_shape_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF point_placement_shape_representation_item; + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COMPOUND_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF( i ) ) + = 1 ) ) ) > 0 ); + END_ENTITY; + + ENTITY point_replica + SUBTYPE OF ( point ); + parent_pt : point; + transformation : cartesian_transformation_operator; + WHERE + wr1: ( transformation.dim = parent_pt.dim ); + wr2: acyclic_point_replica( SELF, parent_pt ); + END_ENTITY; + + ENTITY point_style + SUBTYPE OF ( founded_item ); + name : label; + marker : marker_select; + marker_size : size_select; + marker_colour : colour; + END_ENTITY; + + ENTITY point_to_point_path + SUBTYPE OF ( path_node ); + DERIVE + SELF\kinematic_path_segment.transition : transition_code := discontinuous; + END_ENTITY; + + ENTITY polar_complex_number_region + SUBTYPE OF ( maths_space, generic_literal ); + centre : complex_number_literal; + distance_constraint : real_interval; + direction_constraint : finite_real_interval; + WHERE + wr1: ( min_exists( distance_constraint ) AND ( real_min( distance_constraint ) >= 0 ) ); + wr2: ( ( ( -PI ) <= direction_constraint.min ) AND ( direction_constraint.min < PI ) ); + wr3: ( ( direction_constraint.max - direction_constraint.min ) <= ( 2 * PI ) ); + wr4: ( ( ( direction_constraint.max - direction_constraint.min ) < ( 2 * PI ) ) OR ( direction_constraint.min_closure = + open ) ); + wr5: ( ( ( direction_constraint.max - direction_constraint.min ) < ( 2 * PI ) ) OR ( direction_constraint.max_closure = + open ) OR ( direction_constraint.min = ( -PI ) ) ); + wr6: ( ( real_min( distance_constraint ) > 0 ) OR max_exists( distance_constraint ) OR ( ( direction_constraint.max - + direction_constraint.min ) < ( 2 * PI ) ) OR ( direction_constraint.max_closure = open ) ); + END_ENTITY; + + ENTITY poly_loop + SUBTYPE OF ( loop, geometric_representation_item ); + polygon : LIST [3 : ?] OF UNIQUE cartesian_point; + END_ENTITY; + + ENTITY polygonal_area + SUBTYPE OF ( primitive_2d ); + bounds : LIST [3 : ?] OF UNIQUE cartesian_point; + END_ENTITY; + + ENTITY polyline + SUBTYPE OF ( bounded_curve ); + points : LIST [2 : ?] OF cartesian_point; + END_ENTITY; + + ENTITY position_tolerance + SUBTYPE OF ( geometric_tolerance ); + END_ENTITY; + + ENTITY positioned_sketch + SUBTYPE OF ( geometric_representation_item ); + sketch_basis : sketch_basis_select; + auxiliary_elements : SET [0 : ?] OF auxiliary_geometric_representation_item; + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF( sketch_basis ) ) AND ( + NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( sketch_basis\curve_bounded_surface. + basis_surface ) ) ) ) ); + wr2: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF( sketch_basis ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( sketch_basis\face_surface.face_geometry ) ) ) ) ); + wr3: ( SIZEOF( QUERY ( q <* auxiliary_elements | ( SIZEOF( TYPEOF( q ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POINT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE'] ) = 0 ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( q <* auxiliary_elements | ( q\geometric_representation_item.dim <> 3 ) ) ) = 0 ); + END_ENTITY; + + ENTITY power_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY power_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POWER_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY power_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.watt ) ); + END_ENTITY; + + ENTITY pre_defined_character_glyph + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_colour + SUBTYPE OF ( pre_defined_item, colour ); + END_ENTITY; + + ENTITY pre_defined_curve_font + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_dimension_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'arc length', 'conical taper', 'counterbore', 'countersink', 'depth', 'diameter', 'plus minus', + 'radius' , 'slope', 'spherical diameter', 'spherical radius', 'square'] ); + END_ENTITY; + + ENTITY pre_defined_geometrical_tolerance_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'angularity', 'basic dimension', 'blanked datum reference', 'circular runout', 'circularity', + 'concentricity' , 'cylindricity', 'datum target identification', 'diameter', 'filled datum reference', 'flatness', + 'least material condition' , 'maximum material condition', 'parallelism', 'perpendicularity', 'position', + 'profile of a line' , 'profile of a surface', 'projected tolerance zone', 'regardless of feature size', + 'straightness' , 'symmetry', 'total runout'] ); + END_ENTITY; + + ENTITY pre_defined_item; + name : label; + END_ENTITY; + + ENTITY pre_defined_marker + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_point_marker_symbol + SUBTYPE OF ( pre_defined_marker, pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'asterisk', 'circle', 'dot', 'plus', 'square', 'triangle', 'x'] ); + END_ENTITY; + + ENTITY pre_defined_surface_condition_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ '000', '010', '020', '030', '040', '050', '060', '070', '001', '011', '021', '031', '041', '051', '061' , + '071' , '100', '110', '120', '130', '140', '150', '160', '170', '101', '111', '121', '131', '141', '151', '161', + '171' , '200', '210', '220', '230', '240', '250', '260', '270', '201', '211', '221', '231', '241', '251', '261', + '271' ] ); + END_ENTITY; + + ENTITY pre_defined_surface_side_style + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_symbol + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_terminator_symbol + SUBTYPE OF ( pre_defined_symbol ); + WHERE + wr1: ( SELF.name IN [ 'blanked arrow', 'blanked box', 'blanked dot', 'blanked triangle', 'dimension origin', 'filled arrow', + 'filled box' , 'filled dot', 'integral symbol', 'open arrow', 'slash', 'unfilled arrow', 'unfilled triangle', + 'filled triangle' ] ); + END_ENTITY; + + ENTITY pre_defined_text_font + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY pre_defined_tile + SUBTYPE OF ( pre_defined_item ); + END_ENTITY; + + ENTITY precision_qualifier; + precision_value : INTEGER; + END_ENTITY; + + ENTITY predefined_picture_representation_item + SUBTYPE OF ( picture_representation_item ); + WHERE + wr1: ( SELF\representation_item.name IN pre_defined_picture_representation_types ); + END_ENTITY; + + ENTITY prescribed_path + SUBTYPE OF ( link_motion_representation_along_path ); + controlling_joints : OPTIONAL SET [1 : 6] OF kinematic_joint; + END_ENTITY; + + ENTITY presentation_area + SUBTYPE OF ( presentation_representation ); + WHERE + wr1: ( ( SIZEOF( QUERY ( ais <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'AREA_IN_SET.AREA' ) | + ( SIZEOF( USEDIN( ais, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) ) = 1 ) ) ) + > 0 ) OR ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_SIZE.UNIT' ) ) + = 1 ) ); + END_ENTITY; + + ENTITY presentation_layer_assignment; + name : label; + description : text; + assigned_items : SET [1 : ?] OF layered_item; + END_ENTITY; + + ENTITY presentation_representation + SUPERTYPE OF ( + ONEOF ( + presentation_area, + presentation_view ) ) + SUBTYPE OF ( representation ); + SELF\representation.context_of_items : geometric_representation_context; + WHERE + wr1: ( SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2 ); + wr2: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_AREA' IN TYPEOF( SELF ) ) OR ( SIZEOF( + QUERY ( prr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + + 'REP_2' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_REPRESENTATION' IN TYPEOF( prr\ + representation_relationship.rep_1 ) ) ) ) > 0 ) OR ( SIZEOF( QUERY ( rm <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_MAP.' + 'MAPPED_REPRESENTATION' ) | ( + SIZEOF( QUERY ( mi <* USEDIN( rm, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MAPPED_ITEM.' + + 'MAPPING_SOURCE' ) | ( SIZEOF( QUERY ( rep <* using_representations( mi ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_REPRESENTATION' ) IN TYPEOF( rep ) ) ) ) > 0 ) ) ) + > 0 ) ) ) > 0 ) ); + END_ENTITY; + + ENTITY presentation_set; + INVERSE + areas : SET [1 : ?] OF area_in_set FOR in_set; + END_ENTITY; + + ENTITY presentation_size; + unit : presentation_size_assignment_select; + size : planar_box; + UNIQUE + ur1 : unit; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_REPRESENTATION' IN TYPEOF( SELF.unit ) ) AND + item_in_context( SELF.size, SELF.unit\representation.context_of_items ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_IN_SET' IN TYPEOF( SELF.unit ) ) AND ( SIZEOF( + QUERY ( ais <* SELF.unit\area_in_set.in_set.areas | ( NOT item_in_context( SELF.size, ais.area\representation. + context_of_items ) ) ) ) = 0 ) ) ); + END_ENTITY; + + ENTITY presentation_style_assignment + SUBTYPE OF ( founded_item ); + styles : SET [1 : ?] OF presentation_style_select; + WHERE + wr1: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( NOT ( SIZEOF( QUERY ( style2 <* ( SELF.styles - style1 ) | ( NOT ( ( + TYPEOF( style1 ) <> TYPEOF( style2 ) ) OR ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SURFACE_STYLE_USAGE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'EXTERNALLY_DEFINED_STYLE'] * + TYPEOF( style1 ) ) = 1 ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN + TYPEOF( style1 ) ) ) ) <= 2 ); + wr3: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN + TYPEOF( style1 ) ) AND ( SIZEOF( QUERY ( style2 <* ( SELF.styles - style1 ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF( style2 ) ) AND ( ( style1\ + surface_style_usage.side = both ) OR ( style2\surface_style_usage.side = both ) OR ( style1\surface_style_usage. + side = style2\surface_style_usage.side ) ) ) ) ) > 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY presentation_style_by_context + SUBTYPE OF ( presentation_style_assignment ); + style_context : style_context_select; + END_ENTITY; + + ENTITY presentation_view + SUBTYPE OF ( presentation_representation ); + END_ENTITY; + + ENTITY presented_item + ABSTRACT SUPERTYPE; + END_ENTITY; + + ENTITY presented_item_representation; + presentation : presentation_representation_select; + item : presented_item; + END_ENTITY; + + ENTITY pressure_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESSURE_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY pressure_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.pascal ) ); + END_ENTITY; + + ENTITY previous_change_element_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : previous_element_assignment_select; + items : SET [1 : ?] OF change_management_object; + END_ENTITY; + + ENTITY primitive_2d + SUPERTYPE OF ( + ONEOF ( + circular_area, + elliptic_area, + rectangular_area, + polygonal_area, + half_space_2d ) ) + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 2 ); + END_ENTITY; + + ENTITY primitive_2d_with_inner_boundary + SUBTYPE OF ( complex_area, compound_representation_item ); + SELF\compound_representation_item.item_element : compound_inner_area_boundary; + DERIVE + inner_boundary : compound_inner_area_boundary := item_element; + WHERE + wr1: ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_AREA', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPTIC_AREA' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'RECTANGULAR_AREA' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYGONAL_AREA', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_WITH_OUTER_BOUNDARY' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_AREA_WITH_PARAMETERS' ] * TYPEOF( SELF ) ) > 0 ); + wr2: ( SIZEOF( QUERY ( inner <* inner_boundary | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRIMITIVE_2D_WITH_INNER_BOUNDARY' IN TYPEOF( inner ) ) ) ) = 0 ); + wr3: open_path_based_inner_boundary( inner_boundary ); + END_ENTITY; + + ENTITY prismatic_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; + END_ENTITY; + + ENTITY prismatic_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : prismatic_pair; + actual_translation : length_measure; + END_ENTITY; + + ENTITY prismatic_pair_with_range + SUBTYPE OF ( prismatic_pair ); + lower_limit_actual_translation : OPTIONAL length_measure; + upper_limit_actual_translation : OPTIONAL length_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_translation ) ) OR ( NOT EXISTS( upper_limit_actual_translation ) ) ) XOR ( + lower_limit_actual_translation < upper_limit_actual_translation ) ); + END_ENTITY; + + ENTITY procedural_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF procedural_representation_sequence; + END_ENTITY; + + ENTITY procedural_representation_sequence + SUBTYPE OF ( representation_item ); + elements : LIST [1 : ?] OF representation_item; + suppressed_items : SET [0 : ?] OF representation_item; + rationale : text; + WHERE + wr1: ( SIZEOF( QUERY ( q <* suppressed_items | ( NOT ( q IN elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY procedural_shape_representation + SUBTYPE OF ( procedural_representation, shape_representation ); + SELF\representation.items : SET [1 : ?] OF procedural_shape_representation_sequence; + END_ENTITY; + + ENTITY procedural_shape_representation_sequence + SUBTYPE OF ( geometric_representation_item, procedural_representation_sequence ); + SELF\procedural_representation_sequence.elements : LIST [1 : ?] OF shape_representation_item; + END_ENTITY; + + ENTITY process_operation + SUBTYPE OF ( action_method ); + WHERE + wr1: ( SIZEOF( QUERY ( amr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACTION_METHOD_RELATIONSHIP.' + + 'RELATING_METHOD' ) | ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_OPERATION' IN TYPEOF( amr\ + action_method_relationship.related_method ) ) ) OR ( SELF :=: amr\action_method_relationship.related_method ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( amr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACTION_METHOD_RELATIONSHIP.' + + 'RELATED_METHOD' ) | ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_OPERATION' IN TYPEOF( amr\ + action_method_relationship.relating_method ) ) ) OR ( SELF :=: amr\action_method_relationship.relating_method ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY process_plan + SUBTYPE OF ( action ); + WHERE + wr1: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ACTION_RELATIONSHIP.' + + 'RELATED_ACTION' ) | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_PLAN', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar.relating_action ) ) <> 1 ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ACTION_RELATIONSHIP.' + + 'RELATING_ACTION' ) | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_PLAN', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar.related_action ) ) = 1 ) OR + ( ( ar.name = 'process operation occurrence' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROCESS_OPERATION' IN TYPEOF( ar.related_action.chosen_method ) ) ) ) ) ) = SIZEOF( USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ACTION_RELATIONSHIP.RELATING_ACTION' ) ) ); + END_ENTITY; + + ENTITY process_product_association; + name : label; + description : text; + defined_product : characterized_product_definition; + process : product_definition_process; + END_ENTITY; + + ENTITY process_property_association; + name : label; + description : text; + process : property_process; + property_or_shape : property_or_shape_select; + END_ENTITY; + + ENTITY product; + id : identifier; + name : label; + description : OPTIONAL text; + frame_of_reference : SET [1 : ?] OF product_context; + END_ENTITY; + + ENTITY product_as_planned + SUBTYPE OF ( product_definition_formation ); + END_ENTITY; + + ENTITY product_category; + name : label; + description : OPTIONAL text; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY product_category_relationship; + name : label; + description : OPTIONAL text; + category : product_category; + sub_category : product_category; + WHERE + wr1: acyclic_product_category_relationship( SELF, [SELF.sub_category] ); + END_ENTITY; + + ENTITY product_class + SUBTYPE OF ( product_concept, characterized_object ); + END_ENTITY; + + ENTITY product_concept; + id : identifier; + name : label; + description : OPTIONAL text; + market_context : product_concept_context; + UNIQUE + ur1 : id; + END_ENTITY; + + ENTITY product_concept_context + SUBTYPE OF ( application_context_element ); + market_segment_type : label; + END_ENTITY; + + ENTITY product_concept_feature; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY product_concept_feature_association; + name : label; + description : OPTIONAL text; + concept : product_concept; + feature : product_concept_feature; + END_ENTITY; + + ENTITY product_concept_feature_category + SUBTYPE OF ( group ); + WHERE + wr1: ( SIZEOF( QUERY ( aga <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GROUP_ASSIGNMENT.' + + 'ASSIGNED_GROUP' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT' ) IN + TYPEOF( aga ) ) AND ( ( aga\group_assignment.role\object_role.name <> 'specification category member' ) OR ( + SIZEOF( QUERY ( i <* aga\applied_group_assignment.items | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_CONCEPT_FEATURE' ) IN TYPEOF( i ) ) AND ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONDITIONAL_CONCEPT_FEATURE' ) IN TYPEOF( i ) ) ) ) ) ) <> SIZEOF( aga\applied_group_assignment.items ) ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY product_concept_feature_category_usage + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : product_concept_feature_category; + items : SET [1 : ?] OF category_usage_item; + WHERE + wr1: ( SELF.role.name IN [ 'mandatory category usage', 'optional category usage'] ); + END_ENTITY; + + ENTITY product_concept_relationship; + name : label; + description : OPTIONAL text; + relating_product_concept : product_concept; + related_product_concept : product_concept; + END_ENTITY; + + ENTITY product_context + SUBTYPE OF ( application_context_element ); + discipline_type : label; + END_ENTITY; + + ENTITY product_data_and_data_quality_relationship; + description : text; + product_data : product_definition; + data_quality : data_quality_definition; + END_ENTITY; + + ENTITY product_definition + SUPERTYPE OF ( + ONEOF ( + composite_assembly_sequence_definition, + laminate_table, + ply_laminate_sequence_definition ) ); + id : identifier; + description : OPTIONAL text; + formation : product_definition_formation; + frame_of_reference : product_definition_context; + DERIVE + name : label := get_name_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY product_definition_context + SUBTYPE OF ( application_context_element ); + life_cycle_stage : label; + END_ENTITY; + + ENTITY product_definition_context_association; + definition : product_definition; + frame_of_reference : product_definition_context; + role : product_definition_context_role; + END_ENTITY; + + ENTITY product_definition_context_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY product_definition_effectivity + SUBTYPE OF ( effectivity ); + usage : product_definition_relationship; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'EFFECTIVITY_ASSIGNMENT.' + + 'ASSIGNED_EFFECTIVITY' ) ) = 0 ); + END_ENTITY; + + ENTITY product_definition_element_relationship + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY product_definition_formation; + id : identifier; + description : OPTIONAL text; + of_product : product; + UNIQUE + ur1 : id, of_product; + END_ENTITY; + + ENTITY product_definition_formation_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_product_definition_formation : product_definition_formation; + related_product_definition_formation : product_definition_formation; + END_ENTITY; + + ENTITY product_definition_formation_with_specified_source + SUBTYPE OF ( product_definition_formation ); + make_or_buy : source; + END_ENTITY; + + ENTITY product_definition_group_assignment + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : product_definition_element_relationship; + items : SET [1 : 1] OF product_definition_or_product_definition_relationship; + END_ENTITY; + + ENTITY product_definition_kinematics + SUBTYPE OF ( property_definition ); + SELF\property_definition.definition : product_definition; + INVERSE + representation_relation : kinematic_property_definition_representation FOR definition; + UNIQUE + ur1 : definition; + END_ENTITY; + + ENTITY product_definition_occurrence_relationship; + name : label; + description : OPTIONAL text; + occurrence : product_definition; + occurrence_usage : assembly_component_usage; + WHERE + wr1: ( occurrence_usage.relating_product_definition :<>: occurrence ); + wr2: ( occurrence_usage.related_product_definition :<>: occurrence ); + wr3: ( occurrence.formation :=: occurrence_usage.related_product_definition.formation ); + END_ENTITY; + + ENTITY product_definition_process + SUBTYPE OF ( action ); + identification : identifier; + INVERSE + product_definitions : SET [1 : ?] OF process_product_association FOR process; + END_ENTITY; + + ENTITY product_definition_reference + SUBTYPE OF ( generic_product_definition_reference ); + product_id : identifier; + product_definition_formation_id : identifier; + product_definition_id : identifier; + id_owning_organization_name : OPTIONAL label; + END_ENTITY; + + ENTITY product_definition_reference_with_local_representation + SUBTYPE OF ( generic_product_definition_reference, product_definition ); + END_ENTITY; + + ENTITY product_definition_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_product_definition : product_definition_or_reference; + related_product_definition : product_definition_or_reference; + END_ENTITY; + + ENTITY product_definition_relationship_kinematics + SUBTYPE OF ( property_definition ); + SELF\property_definition.definition : product_definition_relationship; + UNIQUE + ur1 : definition; + END_ENTITY; + + ENTITY product_definition_resource + SUBTYPE OF ( action_resource, product_definition ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REQUIREMENT_FOR_ACTION_RESOURCE.' + + 'RESOURCES' ) ) > 0 ); + wr2: ( SELF.frame_of_reference.name IN [ 'part definition', 'part occurrence', 'physical occurrence'] ); + END_ENTITY; + + ENTITY product_definition_shape + SUBTYPE OF ( property_definition ); + UNIQUE + ur1 : SELF\property_definition.definition; + WHERE + wr1: ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTERIZED_PRODUCT_DEFINITION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTERIZED_OBJECT' ] * TYPEOF( SELF\property_definition. + definition ) ) > 0 ); + END_ENTITY; + + ENTITY product_definition_substitute; + description : OPTIONAL text; + context_relationship : product_definition_relationship; + substitute_definition : product_definition; + DERIVE + name : label := get_name_value( SELF ); + WHERE + wr1: ( context_relationship.related_product_definition :<>: substitute_definition ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY product_definition_usage + SUPERTYPE OF ( + ONEOF ( + make_from_usage_option, + assembly_component_usage ) ) + SUBTYPE OF ( product_definition_relationship ); + UNIQUE + ur1 : SELF\product_definition_relationship.id, SELF\product_definition_relationship.relating_product_definition, SELF\ + product_definition_relationship.related_product_definition; + WHERE + wr1: acyclic_product_definition_relationship( SELF, [SELF\product_definition_relationship.related_product_definition], + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_USAGE' ); + END_ENTITY; + + ENTITY product_definition_with_associated_documents + SUBTYPE OF ( product_definition ); + documentation_ids : SET [1 : ?] OF document; + END_ENTITY; + + ENTITY product_design_to_individual + SUBTYPE OF ( product_relationship ); + DERIVE + individual_product : product := SELF\product_relationship.related_product; + product_design : product := SELF\product_relationship.relating_product; + END_ENTITY; + + ENTITY product_design_version_to_individual + SUBTYPE OF ( product_definition_formation_relationship ); + DERIVE + individual_product : product_definition_formation := SELF\product_definition_formation_relationship. + related_product_definition_formation; + product_design_version : product_definition_formation := SELF\product_definition_formation_relationship. + relating_product_definition_formation; + END_ENTITY; + + ENTITY product_identification + SUBTYPE OF ( configuration_item, characterized_object ); + SELF\configuration_item.item_concept : product_class; + WHERE + wr1: ( SIZEOF( QUERY ( cd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONFIGURATION_DESIGN.' + + 'CONFIGURATION' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION' ) + IN TYPEOF( cd.design ) ) AND ( SIZEOF( QUERY ( prpc <* USEDIN( cd.design\product_definition_formation.of_product, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name IN [ + 'part' , 'raw material', 'tool'] ) ) ) > 0 ) ) ) ) <= 1 ); + wr2: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONFIGURABLE_ITEM' ) IN TYPEOF( SELF ) ) ) XOR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_SPECIFICATION' ) IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY product_material_composition_relationship + SUBTYPE OF ( product_definition_relationship ); + class : label; + constituent_amount : SET [1 : ?] OF characterized_product_composition_value; + composition_basis : label; + determination_method : text; + END_ENTITY; + + ENTITY product_planned_to_realized + SUBTYPE OF ( product_definition_formation_relationship ); + DERIVE + planned_product : product_definition_formation := SELF\product_definition_formation_relationship. + relating_product_definition_formation; + realized_product : product_definition_formation := SELF\product_definition_formation_relationship. + related_product_definition_formation; + END_ENTITY; + + ENTITY product_process_plan + SUBTYPE OF ( product_definition_process ); + WHERE + wr1: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ACTION_RELATIONSHIP.' + + 'RELATED_ACTION' ) | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_PLAN', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar.relating_action ) ) <> 1 ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( ar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ACTION_RELATIONSHIP.' + + 'RELATING_ACTION' ) | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_PLAN', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_PROCESS_PLAN' ] * TYPEOF( ar.related_action ) ) = 1 ) OR + ( ( ar.name = 'process operation occurrence' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROCESS_OPERATION' IN TYPEOF( ar.related_action.chosen_method ) ) ) ) ) ) = SIZEOF( USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ACTION_RELATIONSHIP.RELATING_ACTION' ) ) ); + wr3: ( SIZEOF( QUERY ( ppa <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROCESS_PRODUCT_ASSOCIATION.PROCESS' ) | ( ( ppa.name <> 'produced output' ) OR ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( ppa.defined_product ) ) ) ) ) ) = + 0 ); + END_ENTITY; + + ENTITY product_related_product_category + SUBTYPE OF ( product_category ); + products : SET [1 : ?] OF product; + END_ENTITY; + + ENTITY product_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_product : product; + related_product : product; + END_ENTITY; + + ENTITY product_specification + SUBTYPE OF ( product_identification, configurable_item ); + END_ENTITY; + + ENTITY profile_floor + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2 : ( SELF.description IN [ 'planar', 'complex', 'through'] ); + wr3 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 1 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 2 ) ) ) ) = 0 ) ) ) ) = + 0 ) ); + wr5 : ( ( NOT ( SELF.description = 'through' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'profile floor usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OUTSIDE_PROFILE' IN TYPEOF( fcr.related_shape_aspect.of_shape. + definition ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROFILE_FLOOR' IN TYPEOF( fcr. + relating_shape_aspect ) ) ) ) ) >= 1 ); + wr8 : ( ( NOT ( SELF.description IN [ 'planar', 'complex'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'shape profile floor orientation' ) AND ( + it.description IN [ 'shape profile start', 'shape profile end'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor' ) ) ) ) = 1 ) ) ) ) = 1 ) ); + wr10: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'floor' ) ) ) ) = 1 ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY projected_zone_definition + SUBTYPE OF ( tolerance_zone_definition ); + projection_end : shape_aspect; + projected_length : length_measure_with_unit; + WHERE + wr1: ( ( 'NUMBER' IN TYPEOF( projected_length\measure_with_unit.value_component ) ) AND ( projected_length\ + measure_with_unit.value_component > 0 ) ); + wr2: ( derive_dimensional_exponents( projected_length\measure_with_unit.unit_component ) = dimensional_exponents( 1, 0, 0, + 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY projected_zone_definition_with_offset + SUBTYPE OF ( projected_zone_definition ); + offset : length_measure_with_unit; + END_ENTITY; + + ENTITY projection_curve + SUBTYPE OF ( annotation_curve_occurrence ); + END_ENTITY; + + ENTITY projection_directed_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( p_1 <* SELF\draughting_callout.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROJECTION_CURVE' IN TYPEOF( p_1 ) ) ) ) <= 2 ); + wr2: ( SIZEOF( SELF\draughting_callout.contents ) >= 2 ); + END_ENTITY; + + ENTITY promissory_usage_occurrence + SUBTYPE OF ( assembly_component_usage ); + END_ENTITY; + + ENTITY property_definition + SUPERTYPE OF ( + ONEOF ( + product_definition_kinematics, + product_definition_relationship_kinematics, + product_definition_shape ) ); + name : label; + description : OPTIONAL text; + definition : characterized_definition; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY property_definition_relationship; + name : label; + description : text; + relating_property_definition : property_definition; + related_property_definition : property_definition; + END_ENTITY; + + ENTITY property_definition_representation; + definition : represented_definition; + used_representation : representation; + DERIVE + description : text := get_description_value( SELF ); + name : label := get_name_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY property_process + SUBTYPE OF ( action ); + identification : identifier; + INVERSE + properties : SET [1 : ?] OF process_property_association FOR process; + END_ENTITY; + + ENTITY protrusion + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'shape volume occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'volume shape usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( sdr.relating_shape_aspect.description = 'volume shape' ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY qualified_representation_item + SUBTYPE OF ( representation_item ); + qualifiers : SET [1 : ?] OF value_qualifier; + WHERE + wr1: ( SIZEOF( QUERY ( temp <* qualifiers | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRECISION_QUALIFIER' IN + TYPEOF( temp ) ) ) ) < 2 ); + END_ENTITY; + + ENTITY qualitative_uncertainty + SUBTYPE OF ( uncertainty_qualifier ); + uncertainty_value : text; + END_ENTITY; + + ENTITY quantified_assembly_component_usage + SUBTYPE OF ( assembly_component_usage ); + quantity : measure_with_unit; + WHERE + wr1: ( ( NOT ( 'NUMBER' IN TYPEOF( quantity.value_component ) ) ) OR ( quantity.value_component > 0 ) ); + END_ENTITY; + + ENTITY quantifier_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( multiple_arity_generic_expression ); + variables : LIST [1 : ?] OF UNIQUE generic_variable; + WHERE + wr1: ( SIZEOF( QUERY ( vrbl <* variables | ( NOT ( vrbl IN SELF\multiple_arity_generic_expression.operands ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( vrbl <* variables | ( NOT ( ( schema_prefix + 'BOUND_VARIABLE_SEMANTICS' ) IN TYPEOF( vrbl. + interpretation.semantics ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY quasi_uniform_curve + SUBTYPE OF ( b_spline_curve ); + END_ENTITY; + + ENTITY quasi_uniform_surface + SUBTYPE OF ( b_spline_surface ); + END_ENTITY; + + ENTITY rack_and_pinion_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + pinion_radius : length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rack_and_pinion_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : rack_and_pinion_pair; + actual_displacement : length_measure; + DERIVE + actual_rotation : plane_angle_measure := 0; + END_ENTITY; + + ENTITY rack_and_pinion_pair_with_range + SUBTYPE OF ( rack_and_pinion_pair ); + lower_limit_rack_displacement : OPTIONAL length_measure; + upper_limit_rack_displacement : OPTIONAL length_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_rack_displacement ) ) OR ( NOT EXISTS( upper_limit_rack_displacement ) ) ) XOR ( + lower_limit_rack_displacement < upper_limit_rack_displacement ) ); + END_ENTITY; + + ENTITY radioactivity_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RADIOACTIVITY_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY radioactivity_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.becquerel ) ); + END_ENTITY; + + ENTITY radius_dimension + SUBTYPE OF ( dimension_curve_directed_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( con <* SELF.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_CURVE' IN + TYPEOF( con ) ) ) ) <= 1 ); + END_ENTITY; + + ENTITY radius_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF radial_geometry_constraint_element; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY range_characteristic + SUBTYPE OF ( representation, descriptive_representation_item ); + WHERE + wr1: ( NOT ( SELF\representation.name IN [ 'tolerance', 'minimum tolerance', 'maximum tolerance', 'nominal tolerance', + 'plus minus tolerance' , 'symmetrical tolerance', 'statistical tolerance'] ) ); + END_ENTITY; + + ENTITY ratio_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY ratio_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY rational_b_spline_curve + SUBTYPE OF ( b_spline_curve ); + weights_data : LIST [2 : ?] OF REAL; + DERIVE + weights : ARRAY [0 : upper_index_on_control_points] OF REAL := list_to_array( weights_data, 0, + upper_index_on_control_points ); + WHERE + wr1: ( SIZEOF( weights_data ) = SIZEOF( SELF\b_spline_curve.control_points_list ) ); + wr2: curve_weights_positive( SELF ); + END_ENTITY; + + ENTITY rational_b_spline_surface + SUBTYPE OF ( b_spline_surface ); + weights_data : LIST [2 : ?] OF LIST [2 : ?] OF REAL; + DERIVE + weights : ARRAY [0 : u_upper] OF ARRAY [0 : v_upper] OF REAL := make_array_of_array( weights_data, 0, u_upper, 0, v_upper ); + WHERE + wr1: ( ( SIZEOF( weights_data ) = SIZEOF( SELF\b_spline_surface.control_points_list ) ) AND ( SIZEOF( weights_data[1] ) = + SIZEOF( SELF\b_spline_surface.control_points_list[1] ) ) ); + wr2: surface_weights_positive( SELF ); + END_ENTITY; + + ENTITY rational_representation_item + SUBTYPE OF ( representation_item, slash_expression ); + WHERE + wr1: ( SIZEOF( QUERY ( operand <* SELF\binary_generic_expression.operands | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INT_LITERAL' IN TYPEOF( operand ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rationalize_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + DERIVE + fun : maths_function := SELF\unary_generic_expression.operand; + WHERE + wr1: ( ( space_dimension( fun.domain ) = 1 ) AND ( space_dimension( fun.range ) = 1 ) ); + wr2: number_tuple_subspace_check( factor1( fun.range ) ); + wr3: ( space_dimension( factor1( fun.range ) ) > 1 ); + END_ENTITY; + + ENTITY real_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( numeric_defined_function ); + END_ENTITY; + + ENTITY real_interval_from_min + SUBTYPE OF ( maths_space, generic_literal ); + min : REAL; + min_closure : open_closed; + END_ENTITY; + + ENTITY real_interval_to_max + SUBTYPE OF ( maths_space, generic_literal ); + max : REAL; + max_closure : open_closed; + END_ENTITY; + + ENTITY real_literal + SUBTYPE OF ( literal_number ); + SELF\literal_number.the_value : REAL; + END_ENTITY; + + ENTITY real_numeric_variable + SUBTYPE OF ( numeric_variable ); + END_ENTITY; + + ENTITY real_representation_item + SUBTYPE OF ( representation_item, real_literal ); + END_ENTITY; + + ENTITY real_tuple_literal + SUBTYPE OF ( generic_literal ); + lit_value : LIST [1 : ?] OF REAL; + END_ENTITY; + + ENTITY rectangular_area + SUBTYPE OF ( primitive_2d ); + position : axis2_placement_2d; + x : positive_length_measure; + y : positive_length_measure; + END_ENTITY; + + ENTITY rectangular_array_placement_group_component + SUBTYPE OF ( array_placement_group ); + END_ENTITY; + + ENTITY rectangular_closed_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( ( SIZEOF( impl_rep. + used_representation.items ) >= 3 ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 4 ) ) ) ) ) = 0 ) ) ) ) = + 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'length' ) OR ( srwp_i.name = + 'width' ) OR ( srwp_i.name = 'corner radius' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) + = 1 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'length' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'corner radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rectangular_composite_surface + SUBTYPE OF ( bounded_surface ); + segments : LIST [1 : ?] OF LIST [1 : ?] OF surface_patch; + DERIVE + n_u : INTEGER := SIZEOF( segments ); + n_v : INTEGER := SIZEOF( segments[1] ); + WHERE + wr1: ( SIZEOF( QUERY ( s <* segments | ( n_v <> SIZEOF( s ) ) ) ) = 0 ); + wr2: constraints_rectangular_composite_surface( SELF ); + END_ENTITY; + + ENTITY rectangular_composite_surface_transition_locator + SUBTYPE OF ( founded_item ); + basis_surface : rectangular_composite_surface; + surface_parameter : u_or_v_parameter; + u_transition_index : INTEGER; + v_transition_index : INTEGER; + WHERE + wr1: ( SIZEOF( using_representations( SELF.basis_surface ) * relating_shape_representations_of_extreme_values( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY rectangular_pattern + SUBTYPE OF ( replicate_feature ); + WHERE + wr1 : ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' + IN TYPEOF( sar ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr. + related_shape_aspect ) ) ) ) = 1 ) ) ) <= 5 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'row layout direction' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'column layout direction' ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 5 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'number of rows' ) ) ) ) = + 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'number of columns' ) ) ) ) + = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'row spacing' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'column spacing' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rectangular_trimmed_surface + SUBTYPE OF ( bounded_surface ); + basis_surface : surface; + u1 : parameter_value; + u2 : parameter_value; + v1 : parameter_value; + v2 : parameter_value; + usense : BOOLEAN; + vsense : BOOLEAN; + WHERE + wr1: ( u1 <> u2 ); + wr2: ( v1 <> v2 ); + wr3: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF( basis_surface ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( basis_surface ) ) ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF( basis_surface ) ) OR ( usense + = ( u2 > u1 ) ) ); + wr4: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SPHERICAL_SURFACE' IN TYPEOF( basis_surface ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TOROIDAL_SURFACE' IN TYPEOF( basis_surface ) ) OR ( vsense = ( + v2 > v1 ) ) ); + END_ENTITY; + + ENTITY referenced_modified_datum + SUBTYPE OF ( datum_reference ); + modifier : limit_condition; + END_ENTITY; + + ENTITY reindexed_array_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + starting_indices : LIST [1 : ?] OF INTEGER; + WHERE + wr1: function_is_array( SELF\unary_generic_expression.operand ); + wr2: ( SIZEOF( starting_indices ) = SIZEOF( shape_of_array( SELF\unary_generic_expression.operand ) ) ); + END_ENTITY; + + ENTITY relative_event_occurrence + SUBTYPE OF ( event_occurrence ); + base_event : event_occurrence; + offset : time_measure_with_unit; + END_ENTITY; + + ENTITY removal_volume + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'shape volume occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( ( sar + .description = 'volume shape usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( sdr.relating_shape_aspect.description = 'volume shape' ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY rep_item_group + SUBTYPE OF ( group, representation_item ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_LAYER_ASSIGNMENT.' + + 'ASSIGNED_ITEMS' ) ) > 0 ); + wr2: ( SIZEOF( QUERY ( r <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION.' + 'ITEMS' ) + | ( r.name = 'group representation' ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( ga <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GROUP_ASSIGNMENT.' + + 'ASSIGNED_GROUP' ) | ( ga.role.name <> 'group membership' ) ) ) = 0 ); + wr4: ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'TOPOLOGICAL_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MAPPED_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'STYLED_ITEM'] * TYPEOF( SELF ) ) = 1 ); + END_ENTITY; + + ENTITY repackaging_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_function; + input_repack : repackage_options; + output_repack : repackage_options; + selected_output : nonnegative_integer; + WHERE + wr1: ( ( input_repack <> ro_wrap_as_tuple ) OR ( ( space_dimension( operand.domain ) = 1 ) AND ( ( schema_prefix + + 'TUPLE_SPACE' ) IN TYPEOF( factor1( operand.domain ) ) ) ) ); + wr2: ( ( output_repack <> ro_unwrap_tuple ) OR ( ( space_dimension( operand.range ) = 1 ) AND ( ( schema_prefix + + 'TUPLE_SPACE' ) IN TYPEOF( factor1( operand.range ) ) ) ) ); + wr3: ( selected_output <= space_dimension( repackage( operand.range, output_repack ) ) ); + END_ENTITY; + + ENTITY reparametrised_composite_curve_segment + SUBTYPE OF ( composite_curve_segment ); + param_length : parameter_value; + WHERE + wr1: ( param_length > 0 ); + END_ENTITY; + + ENTITY replicate_feature + SUPERTYPE OF ( + ONEOF ( + circular_pattern, + rectangular_pattern, + feature_pattern ) ) + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPLICATE_FEATURE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INSTANCED_FEATURE' ] * TYPEOF( fcr.related_shape_aspect ) ) >= 1 ) + AND ( fcr.name = 'pattern basis' ) ) ) ) = 1 ); + wr3: ( ( SIZEOF( QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATING_SHAPE_ASPECT' ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) ) + SIZEOF( QUERY ( sar <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( NOT + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY repositioned_neutral_sketch + SUBTYPE OF ( mapped_item, geometric_representation_item ); + DERIVE + map : representation_map := SELF\mapped_item.mapping_source; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' IN TYPEOF( map.mapped_representation ) ); + wr2: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_2D' IN TYPEOF( map.mapping_origin ) ); + wr3: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF( SELF\mapped_item.mapping_target ) ); + END_ENTITY; + + ENTITY repositioned_tessellated_item + SUBTYPE OF ( tessellated_item ); + location : axis2_placement_3d; + WHERE + wr1: ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_CURVE_SET', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_GEOMETRIC_SET' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_POINT_SET' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_SURFACE_SET' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_SHELL' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_SOLID' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_WIRE' ] * TYPEOF( SELF ) ) = 0 ) ); + END_ENTITY; + + ENTITY representation + SUPERTYPE OF ( + ONEOF ( + interpolated_configuration_representation, + link_motion_representation_along_path ) + ANDOR + ONEOF ( + kinematic_link_representation, + kinematic_topology_structure, + kinematic_topology_directed_structure, + kinematic_topology_network_structure, + mechanism_representation, + shape_representation ) + ANDOR + ONEOF ( + kinematic_topology_structure, + kinematic_topology_directed_structure, + kinematic_topology_network_structure ) ); + name : label; + items : SET [1 : ?] OF representation_item; + context_of_items : representation_context; + DERIVE + id : identifier := get_id_value( SELF ); + description : text := get_description_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= 1 ); + wr2: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM' ) ) + <= 1 ); + END_ENTITY; + + ENTITY representation_context; + context_identifier : identifier; + context_type : text; + INVERSE + representations_in_context : SET [1 : ?] OF representation FOR context_of_items; + END_ENTITY; + + ENTITY representation_item + SUPERTYPE OF ( + ONEOF ( + binary_representation_item, + compound_representation_item, + mapped_item, + value_representation_item ) + ANDOR + ONEOF ( + mapped_item, + styled_item ) + ANDOR + ONEOF ( + boolean_representation_item, + date_representation_item, + date_time_representation_item, + integer_representation_item, + logical_representation_item, + rational_representation_item, + real_representation_item ) ); + name : label; + WHERE + wr1: ( SIZEOF( using_representations( SELF ) ) > 0 ); + END_ENTITY; + + ENTITY representation_item_relationship; + name : label; + description : OPTIONAL text; + relating_representation_item : representation_item; + related_representation_item : representation_item; + END_ENTITY; + + ENTITY representation_map; + mapping_origin : representation_item; + mapped_representation : representation; + INVERSE + map_usage : SET [1 : ?] OF mapped_item FOR mapping_source; + WHERE + wr1: item_in_context( SELF.mapping_origin, SELF.mapped_representation.context_of_items ); + END_ENTITY; + + ENTITY representation_proxy_item + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY representation_relationship; + name : label; + description : OPTIONAL text; + rep_1 : representation; + rep_2 : representation; + END_ENTITY; + + ENTITY representation_relationship_with_transformation + SUBTYPE OF ( representation_relationship ); + transformation_operator : transformation; + WHERE + wr1: ( SELF\representation_relationship.rep_1.context_of_items :<>: SELF\representation_relationship.rep_2.context_of_items ); + END_ENTITY; + + ENTITY representative_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1: ( unique_in_product_definition( SELF ) OR unique_in_shape_aspect( SELF ) ); + END_ENTITY; + + ENTITY requirement_assigned_object + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_assignment; + items : SET [1 : 1] OF requirement_assigned_item; + END_ENTITY; + + ENTITY requirement_assignment + SUBTYPE OF ( characterized_object, group ); + END_ENTITY; + + ENTITY requirement_for_action_resource + SUBTYPE OF ( action_resource_requirement ); + resources : SET [1 : ?] OF action_resource; + END_ENTITY; + + ENTITY requirement_source + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY requirement_view_definition_relationship + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY resistance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RESISTANCE_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY resistance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensions_for_si_unit( si_unit_name.ohm ) ); + END_ENTITY; + + ENTITY resource_property; + name : label; + description : text; + resource : characterized_resource_definition; + END_ENTITY; + + ENTITY resource_property_representation; + name : label; + description : text; + property : resource_property; + representation : representation; + END_ENTITY; + + ENTITY resource_requirement_type; + name : label; + description : text; + END_ENTITY; + + ENTITY restriction_function + SUBTYPE OF ( maths_function, unary_generic_expression ); + SELF\unary_generic_expression.operand : maths_space; + END_ENTITY; + + ENTITY resulting_path + SUBTYPE OF ( link_motion_representation_along_path ); + controlling_joints : SET [1 : ?] OF kinematic_joint; + END_ENTITY; + + ENTITY retention + SUBTYPE OF ( action ); + WHERE + wr1: ( SIZEOF( QUERY ( aa <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ACTION_ASSIGNMENT.' + + 'ASSIGNED_ACTION' ) | ( ( 'ACTIVITY.APPLIED_ACTION_ASSIGNMENT' IN TYPEOF( aa ) ) AND ( aa.role.name = 'retention' ) ) ) ) + >= 1 ); + wr2: ( ( SIZEOF( QUERY ( atia <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | ( atia.role.name = 'minimum retention period' ) ) ) = 1 ) AND ( + SIZEOF( QUERY ( atia <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | ( atia.role.name = 'maximum retention period' ) ) ) = 1 ) AND ( + SIZEOF( QUERY ( atia1 <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | ( ( atia1.role.name = 'minimum retention period' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TIME_INTERVAL_WITH_BOUNDS' IN TYPEOF( atia1. + assigned_time_interval ) ) AND ( EXISTS( atia1.assigned_time_interval\time_interval_with_bounds.secondary_bound ) + OR EXISTS( atia1.assigned_time_interval\time_interval_with_bounds.duration ) ) AND ( SIZEOF( QUERY ( atia2 <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS' ) | ( + ( atia2.role.name = 'maximum retention period' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'TIME_INTERVAL_WITH_BOUNDS' IN TYPEOF( atia2.assigned_time_interval ) ) AND ( EXISTS( atia2. + assigned_time_interval\time_interval_with_bounds.secondary_bound ) OR EXISTS( atia2.assigned_time_interval\ + time_interval_with_bounds.duration ) ) AND ( atia1.assigned_time_interval\time_interval_with_bounds.primary_bound + :=: atia2.assigned_time_interval\time_interval_with_bounds.primary_bound ) ) ) ) = 1 ) ) ) ) = 1 ) ); + wr3: ( ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ACTION_RELATIONSHIP.RELATING_ACTION' ) ) + + SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ACTION_RELATIONSHIP.RELATED_ACTION' ) ) ) + = 0 ); + END_ENTITY; + + ENTITY revolute_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY revolute_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : revolute_pair; + actual_rotation : plane_angle_measure; + END_ENTITY; + + ENTITY revolute_pair_with_range + SUBTYPE OF ( revolute_pair ); + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + END_ENTITY; + + ENTITY revolved_area_solid + SUBTYPE OF ( swept_area_solid ); + axis : axis1_placement; + angle : plane_angle_measure; + DERIVE + axis_line : line := representation_item( '' ) || geometric_representation_item( ) || curve( ) || line( axis.location, + representation_item( '' ) || geometric_representation_item( ) || vector( axis.z, 1 ) ); + END_ENTITY; + + ENTITY revolved_face_solid + SUBTYPE OF ( swept_face_solid ); + axis : axis1_placement; + angle : plane_angle_measure; + DERIVE + axis_line : line := representation_item( '' ) || geometric_representation_item( ) || curve( ) || line( axis.location, + representation_item( '' ) || geometric_representation_item( ) || vector( axis.z, 1 ) ); + END_ENTITY; + + ENTITY revolved_face_solid_with_trim_conditions + SUBTYPE OF ( revolved_face_solid ); + first_trim_condition : trim_condition_select; + second_trim_condition : trim_condition_select; + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN TYPEOF( first_trim_condition ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN TYPEOF( second_trim_condition ) ) ) ); + wr2: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( first_trim_condition ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( second_trim_condition ) ) + AND ( first_trim_condition = second_trim_condition ) ) ); + END_ENTITY; + + ENTITY revolved_profile + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SELF\characterized_object.description IN [ 'groove', 'flat', 'round', 'open profile'] ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( pdr. + used_representation ) ) AND ( pdr.used_representation.name = 'removal direction' ) ) ) ) = 1 ); + wr5: ( ( NOT ( SELF\characterized_object.description = 'open profile' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* + USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( + QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + sa_occ.description = 'outer edge shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'outer edge shape' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) + = 0 ) ); + wr6: ( ( NOT ( SELF\characterized_object.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( + QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + sa_occ.description = 'flat edge shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'flat edge shape' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) + = 0 ) ); + wr7: ( ( NOT ( SELF\characterized_object.description = 'round' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( + QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + sa_occ.description = 'rounded edge shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' IN TYPEOF( + sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = 'rounded edge shape' ) ) ) ) = 1 ) ) ) ) + = 1 ) ) ) ) = 0 ) ); + wr8: ( ( NOT ( SELF\characterized_object.description = 'groove' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( + QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + sa_occ.description = 'sweep occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'TEE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE'] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) AND ( sdr.relating_shape_aspect.description = 'sweep' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) + = 0 ) ); + wr9: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY rgc_with_dimension + SUBTYPE OF ( radius_geometric_constraint ); + radius_value : positive_length_measure; + END_ENTITY; + + ENTITY rib_top + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'rib top condition occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'rib top usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'RIB_TOP_FLOOR' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'RIB_TOP' IN TYPEOF( sdr.related_shape_aspect.of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIRECTION_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'removal direction' ) ) ) ) = 1 ) ) ) ) = 1 ); + wr3: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY rib_top_floor + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SELF.description IN [ 'planar', 'complex'] ); + wr3: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'rib top usage' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( fcr + .related_shape_aspect.description = 'rib top condition occurrence' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIB_TOP' IN TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIB_TOP_FLOOR' IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) + >= 1 ); + wr4: ( ( NOT ( SELF.description = 'complex' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr + .used_representation ) ) AND ( pdr.used_representation.name = 'rib top face' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( + pdr.used_representation ) ) AND ( pdr.used_representation.name = 'rib top face' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( SELF.description = 'planar' ) ) OR ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( + QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + sa_occ.description = 'boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE' ] * TYPEOF( sdr.relating_shape_aspect ) ) = + 1 ) AND ( sdr.relating_shape_aspect.description = 'rib top floor boundary' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY right_angular_wedge + SUBTYPE OF ( geometric_representation_item ); + position : axis2_placement_3d; + x : positive_length_measure; + y : positive_length_measure; + z : positive_length_measure; + ltx : length_measure; + WHERE + wr1: ( ( 0 <= ltx ) AND ( ltx < x ) ); + END_ENTITY; + + ENTITY right_circular_cone + SUBTYPE OF ( geometric_representation_item ); + position : axis1_placement; + height : positive_length_measure; + radius : length_measure; + semi_angle : plane_angle_measure; + WHERE + wr1: ( radius >= 0 ); + END_ENTITY; + + ENTITY right_circular_cylinder + SUBTYPE OF ( geometric_representation_item ); + position : axis1_placement; + height : positive_length_measure; + radius : positive_length_measure; + END_ENTITY; + + ENTITY right_to_usage_association + SUBTYPE OF ( action_method_relationship ); + SELF\action_method_relationship.relating_method : information_usage_right; + SELF\action_method_relationship.related_method : information_right; + DERIVE + right_applied : information_right := SELF\action_method_relationship.related_method; + right_usage : information_usage_right := SELF\action_method_relationship.relating_method; + END_ENTITY; + + ENTITY rigid_link_representation + SUBTYPE OF ( kinematic_link_representation ); + END_ENTITY; + + ENTITY rigid_subsketch + SUBTYPE OF ( subsketch ); + END_ENTITY; + + ENTITY role_association; + role : object_role; + item_with_role : role_select; + END_ENTITY; + + ENTITY rolling_curve_pair + SUBTYPE OF ( planar_curve_pair ); + END_ENTITY; + + ENTITY rolling_curve_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : rolling_curve_pair; + actual_point_on_curve_1 : point_on_curve; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: actual_point_on_curve_1.basis_curve ); + END_ENTITY; + + ENTITY rolling_surface_pair + SUBTYPE OF ( surface_pair ); + END_ENTITY; + + ENTITY rolling_surface_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : rolling_surface_pair; + actual_point_on_surface : point_on_surface; + actual_rotation : plane_angle_measure; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: actual_point_on_surface.basis_surface ); + END_ENTITY; + + ENTITY rotation_about_direction + SUBTYPE OF ( geometric_representation_item ); + direction_of_axis : direction; + rotation_angle : plane_angle_measure; + WHERE + wr1: ( SIZEOF( direction_of_axis.direction_ratios ) = 3 ); + END_ENTITY; + + ENTITY round_hole + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'diameter occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE' IN TYPEOF( + sdr.relating_shape_aspect ) ) AND ( sdr.name = 'diameter' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'hole depth occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.name = 'hole depth' ) AND ( sdr. + relating_shape_aspect.description = 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'bottom condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'hole bottom usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'HOLE_BOTTOM' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ROUND_HOLE' IN TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'change in diameter occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'taper usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' IN TYPEOF( fcr. + relating_shape_aspect ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUND_HOLE' IN TYPEOF( fcr. + related_shape_aspect.of_shape.definition ) ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY rounded_end + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'partial circular boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' IN TYPEOF( + sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = + 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY rounded_u_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 1 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 2 ) ) ) ) = 0 ) ) ) ) = + 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'depth' ) ) ) ) = SIZEOF( pdr. + used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY roundness_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN + TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY row_representation_item + SUBTYPE OF ( compound_representation_item ); + SELF\compound_representation_item.item_element : list_representation_item; + END_ENTITY; + + ENTITY row_value + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY row_variable + SUBTYPE OF ( abstract_variable ); + END_ENTITY; + + ENTITY rule_action + SUBTYPE OF ( action ); + END_ENTITY; + + ENTITY rule_condition + SUBTYPE OF ( atomic_formula ); + END_ENTITY; + + ENTITY rule_definition + SUBTYPE OF ( rule_software_definition ); + END_ENTITY; + + ENTITY rule_set + SUBTYPE OF ( rule_software_definition ); + END_ENTITY; + + ENTITY rule_set_group + SUBTYPE OF ( rule_software_definition ); + END_ENTITY; + + ENTITY rule_software_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY rule_superseded_assignment + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF rule_superseded_item; + END_ENTITY; + + ENTITY rule_supersedence + SUBTYPE OF ( rule_action ); + END_ENTITY; + + ENTITY ruled_surface_swept_area_solid + SUBTYPE OF ( surface_curve_swept_area_solid ); + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( SELF.reference_surface ) ) AND ( + SELF.reference_surface\b_spline_surface.u_degree = 1 ) ); + wr2: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( SELF.directrix ) ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( SELF.directrix\surface_curve.curve_3d ) ) + AND ( SELF.directrix\surface_curve.curve_3d\b_spline_curve.degree = SELF.reference_surface\b_spline_surface. + v_degree ) ) ); + END_ENTITY; + + ENTITY runout_zone_definition + SUBTYPE OF ( tolerance_zone_definition ); + orientation : runout_zone_orientation; + END_ENTITY; + + ENTITY runout_zone_orientation; + angle : plane_angle_measure_with_unit; + END_ENTITY; + + ENTITY runout_zone_orientation_reference_direction + SUBTYPE OF ( runout_zone_orientation ); + orientation_defining_relationship : shape_aspect_relationship; + END_ENTITY; + + ENTITY satisfied_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : satisfies_requirement; + items : SET [1 : 1] OF product_definition; + END_ENTITY; + + ENTITY satisfies_requirement + SUBTYPE OF ( group ); + END_ENTITY; + + ENTITY satisfying_item + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : satisfies_requirement; + items : SET [1 : 1] OF requirement_satisfaction_item; + END_ENTITY; + + ENTITY scalar_variable + SUBTYPE OF ( abstract_variable ); + END_ENTITY; + + ENTITY screw_pair + SUBTYPE OF ( low_order_kinematic_pair_with_motion_coupling ); + pitch : length_measure; + WHERE + wr1: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY screw_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : screw_pair; + actual_rotation : plane_angle_measure; + DERIVE + actual_translation : length_measure := ( SELF\pair_value.applies_to_pair\screw_pair.pitch * + plane_angle_for_pair_in_radian( SELF\pair_value.applies_to_pair, actual_rotation ) ) / ( 2 * PI ); + END_ENTITY; + + ENTITY screw_pair_with_range + SUBTYPE OF ( screw_pair ); + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + END_ENTITY; + + ENTITY sculptured_solid + SUBTYPE OF ( modified_solid ); + sculpturing_element : generalized_surface_select; + positive_side : BOOLEAN; + END_ENTITY; + + ENTITY sdgc_with_dimension + SUBTYPE OF ( surface_distance_geometric_constraint ); + distance_value : non_negative_length_measure; + END_ENTITY; + + ENTITY seam_curve + SUBTYPE OF ( surface_curve ); + WHERE + wr1: ( SIZEOF( SELF\surface_curve.associated_geometry ) = 2 ); + wr2: ( associated_surface( SELF\surface_curve.associated_geometry[1] ) = associated_surface( SELF\surface_curve. + associated_geometry[2] ) ); + wr3: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( SELF\surface_curve.associated_geometry[1] ) ); + wr4: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( SELF\surface_curve.associated_geometry[2] ) ); + END_ENTITY; + + ENTITY security_classification; + name : label; + purpose : text; + security_level : security_classification_level; + END_ENTITY; + + ENTITY security_classification_assignment + ABSTRACT SUPERTYPE; + assigned_security_classification : security_classification; + DERIVE + role : object_role := get_role( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ) <= + 1 ); + END_ENTITY; + + ENTITY security_classification_level; + name : label; + END_ENTITY; + + ENTITY selector_function + SUBTYPE OF ( maths_function, generic_literal ); + selector : input_selector; + source_of_domain : maths_space_or_function; + WHERE + wr1: no_cyclic_domain_reference( source_of_domain, [SELF] ); + wr2: expression_is_constant( domain_from( source_of_domain ) ); + END_ENTITY; + + ENTITY self_intersecting_curve + SUBTYPE OF ( self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + arc_length_separation_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' ] ); + wr4: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY self_intersecting_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + self_intersecting_curve, + self_intersecting_surface ) ) + SUBTYPE OF ( inapt_geometry ); + END_ENTITY; + + ENTITY self_intersecting_loop + SUBTYPE OF ( topology_related_to_self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + arc_length_distance_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POINT_ON_EDGE_CURVE'] ); + wr4: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY self_intersecting_shell + SUBTYPE OF ( topology_related_to_self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + geodesic_separation_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POINT_ON_FACE_SURFACE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POINT_ON_FACE_SURFACE'] ); + wr4: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY self_intersecting_surface + SUBTYPE OF ( self_intersecting_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + geodesic_separation_factor : REAL; + interference_tolerance : length_measure; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE' ] ); + wr4: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY serial_numbered_effectivity + SUBTYPE OF ( effectivity ); + effectivity_start_id : identifier; + effectivity_end_id : OPTIONAL identifier; + END_ENTITY; + + ENTITY series_composed_function + SUBTYPE OF ( maths_function, multiple_arity_generic_expression ); + SELF\multiple_arity_generic_expression.operands : LIST [2 : ?] OF maths_function; + WHERE + wr1: composable_sequence( SELF\multiple_arity_generic_expression.operands ); + END_ENTITY; + + ENTITY shape_aspect + SUPERTYPE OF ( + ONEOF ( + contacting_feature, + datum, + datum_feature, + datum_target, + datum_system, + general_datum_reference ) ); + name : label; + description : OPTIONAL text; + of_shape : product_definition_shape; + product_definitional : LOGICAL; + DERIVE + id : identifier := get_id_value( SELF ); + UNIQUE + ur1 : id, of_shape; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY shape_aspect_associativity + SUBTYPE OF ( shape_aspect_relationship ); + WHERE + wr1: SELF.relating_shape_aspect.product_definitional; + wr2: ( NOT SELF.related_shape_aspect.product_definitional ); + END_ENTITY; + + ENTITY shape_aspect_deriving_relationship + SUBTYPE OF ( shape_aspect_relationship ); + SELF\shape_aspect_relationship.relating_shape_aspect : derived_shape_aspect; + END_ENTITY; + + ENTITY shape_aspect_relationship; + name : label; + description : OPTIONAL text; + relating_shape_aspect : shape_aspect; + related_shape_aspect : shape_aspect; + DERIVE + id : identifier := get_id_value( SELF ); + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM' ) ) <= 1 ); + END_ENTITY; + + ENTITY shape_aspect_relationship_representation_association; + represented_shape_aspect_relationship : shape_aspect_relationship; + representing_representation_relationship : representation_relationship; + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( + representing_representation_relationship\representation_relationship.rep_1 ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( + representing_representation_relationship\representation_relationship.rep_2 ) ) ); + wr2: ( ( represented_shape_aspect_relationship.relating_shape_aspect IN using_shape_aspect_of_shape_representation( + representing_representation_relationship.rep_1 ) ) AND ( represented_shape_aspect_relationship.related_shape_aspect + IN using_shape_aspect_of_shape_representation( representing_representation_relationship.rep_2 ) ) ); + wr3: ( ( find_representative_shape_representation_of_product_definition( using_product_definition_of_shape_aspect( + represented_shape_aspect_relationship.relating_shape_aspect ) ).context_of_items :=: + find_representative_shape_representation_of_shape_aspect( represented_shape_aspect_relationship. + relating_shape_aspect ).context_of_items ) AND ( find_representative_shape_representation_of_product_definition( + using_product_definition_of_shape_aspect( represented_shape_aspect_relationship.related_shape_aspect ) ). + context_of_items :=: find_representative_shape_representation_of_shape_aspect( + represented_shape_aspect_relationship.related_shape_aspect ).context_of_items ) ); + wr4: ( using_product_definition_of_shape_aspect( represented_shape_aspect_relationship.relating_shape_aspect ) :<>: + using_product_definition_of_shape_aspect( represented_shape_aspect_relationship.related_shape_aspect ) ); + wr5: ( find_assembly_root( [using_product_definition_of_shape_aspect( represented_shape_aspect_relationship. + relating_shape_aspect )] ) :=: find_assembly_root( [using_product_definition_of_shape_aspect( + represented_shape_aspect_relationship.related_shape_aspect )] ) ); + END_ENTITY; + + ENTITY shape_criteria_representation_with_accuracy + SUBTYPE OF ( shape_data_quality_criteria_representation ); + required_general_accuracy : SET [1 : ?] OF shape_measurement_accuracy; + END_ENTITY; + + ENTITY shape_data_quality_assessment_by_logical_test + SUBTYPE OF ( data_quality_assessment_specification ); + END_ENTITY; + + ENTITY shape_data_quality_assessment_by_numerical_test + SUBTYPE OF ( data_quality_assessment_specification ); + threshold : shape_data_quality_value_limit_type_select; + END_ENTITY; + + ENTITY shape_data_quality_criteria_representation + SUBTYPE OF ( data_quality_criteria_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_CRITERION' ) IN TYPEOF( q ) ) ) ) > 0 ); + END_ENTITY; + + ENTITY shape_data_quality_criterion + SUPERTYPE OF ( + ONEOF ( + erroneous_data, + inapt_data ) ) + SUBTYPE OF ( data_quality_criterion, data_quality_measurement_requirement ); + assessment_specification : shape_data_quality_assessment_specification_select; + WHERE + wr1: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.' + 'CRITERION' ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATED_REPRESENTATION_ITEM' ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN + TYPEOF( i1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( i1 <* bag_to_set( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_ITEM_RELATIONSHIP.' + 'RELATING_REPRESENTATION_ITEM' ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' ) IN + TYPEOF( i1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY shape_data_quality_criterion_and_accuracy_association; + required_specific_accuracy : shape_measurement_accuracy; + shape_data_quality_criterion : shape_data_quality_criterion; + END_ENTITY; + + ENTITY shape_data_quality_inspected_shape_and_result_relationship + SUBTYPE OF ( shape_representation_relationship ); + SELF\representation_relationship.rep_1 : shape_representation; + SELF\representation_relationship.rep_2 : shape_data_quality_inspection_result_representation; + WHERE + wr1: ( SIZEOF( using_product_definition_of_shape_representation( SELF.rep_1 ) * bag_to_set( inspected_product_definition( + SELF.rep_2 ) ) ) > 0 ); + wr2: ( SELF.rep_1\representation.context_of_items :=: SELF.rep_2\representation.context_of_items ); + END_ENTITY; + + ENTITY shape_data_quality_inspection_criterion_report + SUBTYPE OF ( data_quality_inspection_criterion_report ); + representative_measured_value : measured_value_select; + END_ENTITY; + + ENTITY shape_data_quality_inspection_instance_report + SUBTYPE OF ( data_quality_inspection_instance_report ); + SELF\data_quality_inspection_instance_report.inspected_instances : LIST [1 : ?] OF + shape_data_quality_inspection_instance_report_item; + END_ENTITY; + + ENTITY shape_data_quality_inspection_instance_report_item + SUBTYPE OF ( data_quality_inspection_instance_report_item ); + SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1 : ?] OF inspected_shape_element_select; + measured_value : measured_value_select; + END_ENTITY; + + ENTITY shape_data_quality_inspection_result + SUBTYPE OF ( data_quality_inspection_result ); + SELF\data_quality_inspection_result.criterion_inspected : shape_data_quality_criterion; + END_ENTITY; + + ENTITY shape_data_quality_inspection_result_representation + SUBTYPE OF ( data_quality_inspection_result_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ) ) > 0 ); + wr2: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF( SELF\representation. + context_of_items ) ); + wr3: ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.' + 'REP_2' ) ) > 0 ); + END_ENTITY; + + ENTITY shape_data_quality_lower_value_limit + SUBTYPE OF ( shape_data_quality_value_limit ); + WHERE + wr1: ( SELF\qualified_representation_item.qualifiers[1].name = 'minimum' ); + END_ENTITY; + + ENTITY shape_data_quality_upper_value_limit + SUBTYPE OF ( shape_data_quality_value_limit ); + WHERE + wr1: ( SELF\qualified_representation_item.qualifiers[1].name = 'maximum' ); + END_ENTITY; + + ENTITY shape_data_quality_value_limit + ABSTRACT SUPERTYPE OF ( + ONEOF ( + shape_data_quality_upper_value_limit, + shape_data_quality_lower_value_limit ) ) + SUBTYPE OF ( measure_representation_item, qualified_representation_item ); + END_ENTITY; + + ENTITY shape_data_quality_value_range + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SET_REPRESENTATION_ITEM' IN TYPEOF( SELF\ + compound_representation_item.item_element ) ) AND ( SIZEOF( SELF\compound_representation_item.item_element ) = 2 ) + AND ( ( SIZEOF( QUERY ( i1 <* SELF\compound_representation_item.item_element | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) ) ) = 2 ) OR ( + SIZEOF( QUERY ( i2 <* SELF\compound_representation_item.item_element | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) ) ) = 2 ) ) ); + wr2: ( ( SIZEOF( QUERY ( i <* SELF\compound_representation_item.item_element | ( i.name = 'upper limit' ) ) ) = 1 ) AND ( + SIZEOF( QUERY ( i <* SELF\compound_representation_item.item_element | ( i.name = 'lower limit' ) ) ) = 1 ) ); + wr3: ( ( SIZEOF( QUERY ( i1 <* SELF\compound_representation_item.item_element | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) AND ( SIZEOF( + QUERY ( i2 <* SELF\compound_representation_item.item_element | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) AND ( i1 :<>: i2 ) AND ( i1\measure_with_unit.unit_component + :=: i2\measure_with_unit.unit_component ) ) ) ) = 1 ) ) ) ) = 2 ) OR ( SIZEOF( QUERY ( i1 <* SELF\ + compound_representation_item.item_element | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'VALUE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) AND ( SIZEOF( QUERY ( i2 <* SELF\compound_representation_item. + item_element | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) + AND ( i1 :<>: i2 ) AND ( TYPEOF( i1\value_representation_item.value_component ) = TYPEOF( i2\ + value_representation_item.value_component ) ) ) ) ) = 1 ) ) ) ) = 2 ) ); + END_ENTITY; + + ENTITY shape_defining_relationship + SUBTYPE OF ( shape_aspect_relationship ); + END_ENTITY; + + ENTITY shape_definition_representation + SUBTYPE OF ( property_definition_representation ); + SELF\property_definition_representation.definition : property_definition; + SELF\property_definition_representation.used_representation : shape_representation; + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( definition ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINITION' IN TYPEOF( definition\property_definition. + definition ) ) ); + END_ENTITY; + + ENTITY shape_dimension_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF shape_dimension_representation_item; + END_ENTITY; + + ENTITY shape_feature_definition + SUBTYPE OF ( feature_definition ); + END_ENTITY; + + ENTITY shape_inspection_result_accuracy_association; + applied_specific_accuracy : shape_measurement_accuracy; + shape_data_quality_result : shape_data_quality_inspection_result; + END_ENTITY; + + ENTITY shape_inspection_result_representation_with_accuracy + SUBTYPE OF ( shape_data_quality_inspection_result_representation ); + applied_general_accuracy : SET [1 : ?] OF shape_measurement_accuracy; + END_ENTITY; + + ENTITY shape_measurement_accuracy; + description : text; + range : shape_data_quality_value_limit_type_select; + END_ENTITY; + + ENTITY shape_representation + SUBTYPE OF ( representation ); + END_ENTITY; + + ENTITY shape_representation_relationship + SUBTYPE OF ( representation_relationship ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION' IN ( TYPEOF( SELF\representation_relationship + .rep_1 ) + TYPEOF( SELF\representation_relationship.rep_2 ) ) ); + END_ENTITY; + + ENTITY shape_representation_with_parameters + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF shape_representation_with_parameters_items; + END_ENTITY; + + ENTITY shape_summary_request_with_representative_value + SUBTYPE OF ( summary_report_request ); + END_ENTITY; + + ENTITY shell_based_surface_model + SUBTYPE OF ( geometric_representation_item ); + sbsm_boundary : SET [1 : ?] OF shell; + WHERE + wr1: constraints_geometry_shell_based_surface_model( SELF ); + END_ENTITY; + + ENTITY shell_based_wireframe_model + SUBTYPE OF ( geometric_representation_item ); + sbwm_boundary : SET [1 : ?] OF shell; + WHERE + wr1: constraints_geometry_shell_based_wireframe_model( SELF ); + END_ENTITY; + + ENTITY shell_based_wireframe_shape_representation + SUBTYPE OF ( shape_representation ); + WHERE + wr1 : ( SIZEOF( QUERY ( it <* SELF.items | ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF( it ) ) = 1 ) ) ) ) = 0 ); + wr2 : ( SIZEOF( QUERY ( it <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF( it ) ) + = 1 ) ) ) >= 1 ); + wr3 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( SIZEOF( + QUERY ( el <* eloop\path.edge_list | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN + TYPEOF( el.edge_element ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( SIZEOF( + QUERY ( pline_el <* QUERY ( el <* eloop\path.edge_list | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POLYLINE' IN TYPEOF( el.edge_element\edge_curve.edge_geometry ) ) ) | ( NOT ( SIZEOF( pline_el.edge_element\ + edge_curve.edge_geometry\polyline.points ) > 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( SIZEOF( + QUERY ( el <* eloop\path.edge_list | ( NOT valid_wireframe_edge_curve( el.edge_element\edge_curve.edge_geometry ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( SIZEOF( + QUERY ( el <* eloop\path.edge_list | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN + TYPEOF( el.edge_element.edge_start ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN + TYPEOF( el.edge_element.edge_end ) ) ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( eloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( SIZEOF( + QUERY ( el <* eloop\path.edge_list | ( NOT ( valid_wireframe_vertex_point( el.edge_element.edge_start\vertex_point + .vertex_geometry ) AND valid_wireframe_vertex_point( el.edge_element.edge_end\vertex_point.vertex_geometry ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( vloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( vloop\vertex_loop.loop_vertex ) ) ) ) ) + = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( ws <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( SIZEOF( QUERY ( vloop <* QUERY ( wsb <* ws\wire_shell.wire_shell_extent | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' IN TYPEOF( wsb ) ) ) | ( NOT + valid_wireframe_vertex_point( vloop\vertex_loop.loop_vertex\vertex_point.vertex_geometry ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr10: ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( vs <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF( vs\ + vertex_shell.vertex_shell_extent.loop_vertex ) ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( sbwm <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF( it ) ) ) | ( NOT ( SIZEOF( QUERY ( vs <* QUERY ( sb <* sbwm\ + shell_based_wireframe_model.sbwm_boundary | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_SHELL' IN + TYPEOF( sb ) ) ) | ( NOT valid_wireframe_vertex_point( vs\vertex_shell.vertex_shell_extent.loop_vertex\ + vertex_point.vertex_geometry ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( mi <* QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN + TYPEOF( it ) ) ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION' ) IN TYPEOF( mi\mapped_item.mapping_source.mapped_representation ) ) ) ) ) + = 0 ); + wr13: ( SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3 ); + END_ENTITY; + + ENTITY shelled_solid + SUPERTYPE OF ( + ONEOF ( + double_offset_shelled_solid, + complex_shelled_solid ) ) + SUBTYPE OF ( modified_solid ); + deleted_face_set : SET [1 : ?] OF face_surface; + thickness : length_measure; + WHERE + wr1: ( thickness <> 0 ); + END_ENTITY; + + ENTITY short_length_curve + SUBTYPE OF ( nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY short_length_curve_segment + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_CURVE_SEGMENT' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY short_length_edge + SUBTYPE OF ( topology_related_to_nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY si_absorbed_dose_unit + SUBTYPE OF ( absorbed_dose_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.gray ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_capacitance_unit + SUBTYPE OF ( capacitance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.farad ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_conductance_unit + SUBTYPE OF ( conductance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.siemens ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_dose_equivalent_unit + SUBTYPE OF ( dose_equivalent_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.sievert ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_electric_charge_unit + SUBTYPE OF ( electric_charge_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.coulomb ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_electric_potential_unit + SUBTYPE OF ( electric_potential_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.volt ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_energy_unit + SUBTYPE OF ( energy_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.joule ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_force_unit + SUBTYPE OF ( force_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.newton ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_frequency_unit + SUBTYPE OF ( frequency_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.hertz ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_illuminance_unit + SUBTYPE OF ( illuminance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.lux ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_inductance_unit + SUBTYPE OF ( inductance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.henry ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_magnetic_flux_density_unit + SUBTYPE OF ( magnetic_flux_density_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.tesla ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_magnetic_flux_unit + SUBTYPE OF ( magnetic_flux_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.weber ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_power_unit + SUBTYPE OF ( power_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.watt ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_pressure_unit + SUBTYPE OF ( pressure_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.pascal ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_radioactivity_unit + SUBTYPE OF ( radioactivity_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.becquerel ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_resistance_unit + SUBTYPE OF ( resistance_unit, si_unit ); + WHERE + wr1: ( SELF\si_unit.name = si_unit_name.ohm ); + wr2: ( NOT EXISTS( SELF\derived_unit.name ) ); + END_ENTITY; + + ENTITY si_unit + SUBTYPE OF ( named_unit ); + prefix : OPTIONAL si_prefix; + name : si_unit_name; + DERIVE + SELF\named_unit.dimensions : dimensional_exponents := dimensions_for_si_unit( name ); + WHERE + wr1: ( ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MASS_UNIT' IN TYPEOF( SELF ) ) AND ( SIZEOF( USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DERIVED_UNIT_ELEMENT.UNIT' ) ) > 0 ) ) ) OR ( prefix = si_prefix + .kilo ) ); + END_ENTITY; + + ENTITY simple_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + boolean_literal, + boolean_variable ) ) + SUBTYPE OF ( boolean_expression, simple_generic_expression ); + END_ENTITY; + + ENTITY simple_clause + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY simple_generic_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + generic_literal, + generic_variable ) ) + SUBTYPE OF ( generic_expression ); + END_ENTITY; + + ENTITY simple_numeric_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + literal_number, + numeric_variable ) ) + SUBTYPE OF ( numeric_expression, simple_generic_expression ); + END_ENTITY; + + ENTITY simple_string_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + string_literal, + string_variable ) ) + SUBTYPE OF ( string_expression, simple_generic_expression ); + END_ENTITY; + + ENTITY simultaneous_constraint_group + SUBTYPE OF ( variational_representation_item ); + constraint_group : SET [2 : ?] OF constraint_group_member; + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( SIZEOF( QUERY ( r <* q.items | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIMULTANEOUS_CONSTRAINT_GROUP' IN TYPEOF( r ) ) AND ( SIZEOF( + QUERY ( s <* constraint_group | ( ( s IN r\simultaneous_constraint_group.constraint_group ) AND ( NOT ( r :=: SELF ) ) ) ) ) + > 0 ) ) ) ) > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( q <* using_representations( constraint_group[1] ) | ( SIZEOF( QUERY ( r <* constraint_group | + item_in_context( r, q.context_of_items ) ) ) = SIZEOF( constraint_group ) ) ) ) > 0 ); + wr3: ( SIZEOF( QUERY ( q <* constraint_group | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPLICIT_CONSTRAINT' IN + TYPEOF( q ) ) AND ( SIZEOF( QUERY ( r <* q.constrained_elements | ( SIZEOF( QUERY ( s <* constraint_group | ( r IN + s.reference_elements ) ) ) > 0 ) ) ) > 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY sin_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY single_area_csg_2d_shape_representation + SUBTYPE OF ( csg_2d_shape_representation ); + SELF\representation.items : SET [1 : ?] OF csg_2d_area_select; + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF( it ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( it <* SELF.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SOLID_2D' IN TYPEOF( it ) ) ) ) + = 1 ); + END_ENTITY; + + ENTITY single_boundary_csg_2d_shape_representation + SUBTYPE OF ( single_area_csg_2d_shape_representation ); + WHERE + wr1: ( SIZEOF( QUERY ( it <* SELF.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_PRIMITIVE_SOLID_2D' IN + TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY' IN TYPEOF( + it\csg_primitive_solid_2d.tree_root_expression ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY single_property_is_definition + SUBTYPE OF ( property_definition ); + SELF\property_definition.definition : product_definition; + UNIQUE + ur1 : SELF\property_definition.definition; + END_ENTITY; + + ENTITY skew_line_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 2] OF line; + SELF\explicit_constraint.reference_elements : SET [0 : 1] OF line; + distance_value : non_negative_length_measure; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.constrained_elements + SELF\explicit_constraint.reference_elements ) = 2 ); + END_ENTITY; + + ENTITY slash_expression + SUBTYPE OF ( binary_numeric_expression ); + END_ENTITY; + + ENTITY sliding_curve_pair + SUBTYPE OF ( planar_curve_pair ); + END_ENTITY; + + ENTITY sliding_curve_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : sliding_curve_pair; + actual_point_on_curve_1 : point_on_curve; + actual_point_on_curve_2 : point_on_curve; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: actual_point_on_curve_1.basis_curve ); + wr2: ( SELF\pair_value.applies_to_pair\planar_curve_pair.curve_2 :=: actual_point_on_curve_2.basis_curve ); + END_ENTITY; + + ENTITY sliding_surface_pair + SUBTYPE OF ( surface_pair ); + END_ENTITY; + + ENTITY sliding_surface_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : sliding_surface_pair; + actual_point_on_surface_1 : point_on_surface; + actual_point_on_surface_2 : point_on_surface; + actual_rotation : plane_angle_measure; + WHERE + wr1: ( SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: actual_point_on_surface_1.basis_surface ); + wr2: ( SELF\pair_value.applies_to_pair\surface_pair.surface_2 :=: actual_point_on_surface_2.basis_surface ); + END_ENTITY; + + ENTITY slot + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'swept shape occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( ( sar + .description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'TEE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE'] * TYPEOF( sdr. + relating_shape_aspect ) ) = 1 ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) | ( ( sar + .description = 'path feature component usage' ) AND ( sar.name = 'course of travel' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'end condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'slot end usage' ) AND ( sar.name IN [ 'course of travel start', 'course of travel end'] ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT_END' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr. + relating_shape_aspect.description IN [ 'open', 'radiused', 'flat', 'woodruff'] ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT' IN TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) ) ) ) + = 1 ) ) ) ) = 2 ) OR ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = 'end condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'slot end usage' ) AND ( sar.name IN [ 'course of travel start', + 'course of travel end' ] ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT_END' IN TYPEOF( fcr. + relating_shape_aspect ) ) AND ( fcr.relating_shape_aspect.description IN [ 'loop'] ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT' IN TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) ) = 0 ); + wr5: ( ( NOT ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'end condition occurrence' ) AND ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'slot end usage' ) AND ( sar.name IN [ 'course of travel start', 'course of travel end'] ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT_END' IN TYPEOF( fcr.relating_shape_aspect ) ) AND ( fcr. + relating_shape_aspect.description IN [ 'loop'] ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT' IN + TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ) OR ( SIZEOF( + QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) + | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.' + + 'OF_SHAPE' ) | ( ( sa_occ.description = 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'path feature component usage' ) AND ( sar.name = + 'course of travel' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN + TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' IN TYPEOF( sdr. + relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description IN [ 'complex', 'complete circular'] ) ) ) ) + = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr6: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + END_ENTITY; + + ENTITY slot_end + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2 : ( SELF.description IN [ 'open', 'radiused', 'flat', 'woodruff', 'loop'] ); + wr3 : ( ( NOT ( SELF.description IN [ 'open', 'radiused', 'loop'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr4 : ( ( NOT ( SELF.description IN [ 'flat', 'woodruff'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN + TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ) ); + wr5 : ( ( NOT ( SELF.description IN [ 'flat'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 2 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6 : ( ( NOT ( SELF.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'first radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7 : ( ( NOT ( SELF.description = 'flat' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'second radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8 : ( ( NOT ( SELF.description = 'woodruff' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it ) ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr9 : ( ( NOT ( SELF.description IN [ 'woodruff'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( SIZEOF( QUERY ( fcr <* QUERY ( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATING_SHAPE_ASPECT' ) | ( ( sar.description = 'slot end usage' ) AND ( sar. + name IN [ 'course of travel start', 'course of travel end'] ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( + fcr.related_shape_aspect.description = 'end condition occurrence' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT' IN TYPEOF( fcr.related_shape_aspect.of_shape.definition ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT_END' IN TYPEOF( fcr.relating_shape_aspect ) ) ) ) ) >= + 1 ); + END_ENTITY; + + ENTITY small_area_face + SUBTYPE OF ( topology_related_to_nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY small_area_surface + SUBTYPE OF ( nearly_degenerate_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY small_area_surface_patch + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_SURFACE_PATCH' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'] ); + END_ENTITY; + + ENTITY small_volume_solid + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VOLUME_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VOLUME_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VOLUME_MEASURE'] ); + END_ENTITY; + + ENTITY smeared_material_definition + SUBTYPE OF ( zone_structural_makeup ); + END_ENTITY; + + ENTITY software_for_data_quality_check; + description : text; + software_name : text; + software_version : text; + data_quality : data_quality_definition_representation_relationship; + END_ENTITY; + + ENTITY solid_angle_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_ANGLE_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY solid_angle_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY solid_curve_font + SUBTYPE OF ( pre_defined_curve_font ); + END_ENTITY; + + ENTITY solid_model + SUPERTYPE OF ( + ONEOF ( + csg_solid, + manifold_solid_brep, + swept_face_solid, + swept_area_solid, + swept_disk_solid, + solid_replica ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY solid_replica + SUBTYPE OF ( solid_model ); + parent_solid : solid_model; + transformation : cartesian_transformation_operator_3d; + WHERE + wr1: acyclic_solid_replica( SELF, parent_solid ); + wr2: ( parent_solid\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY solid_with_angle_based_chamfer + SUBTYPE OF ( solid_with_chamfered_edges ); + offset_distance : positive_length_measure; + left_offset : BOOLEAN; + offset_angle : positive_plane_angle_measure; + END_ENTITY; + + ENTITY solid_with_chamfered_edges + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_single_offset_chamfer, + solid_with_double_offset_chamfer, + solid_with_angle_based_chamfer ) ) + SUBTYPE OF ( edge_blended_solid ); + END_ENTITY; + + ENTITY solid_with_circular_pattern + SUPERTYPE OF ( + solid_with_incomplete_circular_pattern ) + SUBTYPE OF ( solid_with_shape_element_pattern ); + replicate_count : positive_integer; + angular_spacing : plane_angle_measure; + radial_alignment : BOOLEAN; + reference_point : point; + END_ENTITY; + + ENTITY solid_with_circular_pocket + SUBTYPE OF ( solid_with_pocket ); + pocket_radius : positive_length_measure; + WHERE + wr1: ( SELF\solid_with_pocket.floor_blend_radius <= pocket_radius ); + END_ENTITY; + + ENTITY solid_with_circular_protrusion + SUBTYPE OF ( solid_with_protrusion ); + protrusion_radius : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_conical_bottom_round_hole + SUBTYPE OF ( solid_with_stepped_round_hole ); + semi_apex_angle : positive_plane_angle_measure; + tip_radius : non_negative_length_measure; + WHERE + wr1: ( tip_radius < SELF\solid_with_stepped_round_hole.segment_radii[segments] ); + END_ENTITY; + + ENTITY solid_with_constant_radius_edge_blend + SUBTYPE OF ( edge_blended_solid ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_curved_slot + SUBTYPE OF ( solid_with_slot ); + slot_centreline : bounded_curve; + END_ENTITY; + + ENTITY solid_with_depression + ABSTRACT SUPERTYPE OF ( + solid_with_through_depression + ANDOR + ONEOF ( + solid_with_hole, + solid_with_pocket, + solid_with_slot, + solid_with_groove ) ) + SUBTYPE OF ( modified_solid_with_placed_configuration ); + depth : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_double_offset_chamfer + SUBTYPE OF ( solid_with_chamfered_edges ); + left_offset_distance : positive_length_measure; + right_offset_distance : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_excessive_number_of_voids + SUBTYPE OF ( inapt_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY solid_with_flat_bottom_round_hole + SUBTYPE OF ( solid_with_stepped_round_hole ); + fillet_radius : non_negative_length_measure; + WHERE + wr1: ( fillet_radius < SELF\solid_with_stepped_round_hole.segment_radii[segments] ); + END_ENTITY; + + ENTITY solid_with_general_pocket + SUBTYPE OF ( solid_with_pocket ); + profile : positioned_sketch; + reference_point : point; + WHERE + wr1: ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' ] * TYPEOF( profile.sketch_basis ) ) = 1 ); + wr2: ( profile IN using_items( reference_point, [] ) ); + END_ENTITY; + + ENTITY solid_with_general_protrusion + SUBTYPE OF ( solid_with_protrusion ); + profile : positioned_sketch; + reference_point : point; + WHERE + wr1: ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' ] * TYPEOF( profile.sketch_basis ) ) = 1 ); + wr2: ( profile IN using_items( reference_point, [] ) ); + END_ENTITY; + + ENTITY solid_with_groove + SUBTYPE OF ( solid_with_depression ); + groove_radius : positive_length_measure; + groove_width : positive_length_measure; + draft_angle : plane_angle_measure; + floor_fillet_radius : non_negative_length_measure; + external_groove : BOOLEAN; + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY solid_with_hole + ABSTRACT SUPERTYPE OF ( + solid_with_stepped_round_hole ) + SUBTYPE OF ( solid_with_depression ); + END_ENTITY; + + ENTITY solid_with_incomplete_circular_pattern + SUBTYPE OF ( solid_with_circular_pattern ); + omitted_instances : SET [1 : ?] OF positive_integer; + WHERE + wr1: ( SIZEOF( omitted_instances ) < SELF\solid_with_circular_pattern.replicate_count ); + wr2: ( SIZEOF( QUERY ( q <* omitted_instances | ( q > SELF\solid_with_circular_pattern.replicate_count ) ) ) = 0 ); + END_ENTITY; + + ENTITY solid_with_incomplete_rectangular_pattern + SUBTYPE OF ( solid_with_rectangular_pattern ); + omitted_instances : SET [1 : ?] OF LIST [2 : 2] OF positive_integer; + WHERE + wr1: ( NOT ( [1, 1] IN omitted_instances ) ); + wr2: ( SIZEOF( omitted_instances ) < ( ( SELF\solid_with_rectangular_pattern.row_count * SELF\ + solid_with_rectangular_pattern.column_count ) - 1 ) ); + wr3: ( SIZEOF( QUERY ( q <* omitted_instances | ( ( q[1] > SELF\solid_with_rectangular_pattern.row_count ) OR ( q[2] > SELF + \solid_with_rectangular_pattern.column_count ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY solid_with_pocket + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_rectangular_pocket, + solid_with_circular_pocket, + solid_with_general_pocket ) ) + SUBTYPE OF ( solid_with_depression ); + floor_blend_radius : non_negative_length_measure; + draft_angle : plane_angle_measure; + END_ENTITY; + + ENTITY solid_with_protrusion + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_circular_protrusion, + solid_with_rectangular_protrusion, + solid_with_general_protrusion ) ) + SUBTYPE OF ( modified_solid_with_placed_configuration ); + protrusion_height : positive_length_measure; + protrusion_draft_angle : plane_angle_measure; + END_ENTITY; + + ENTITY solid_with_rectangular_pattern + SUPERTYPE OF ( + solid_with_incomplete_rectangular_pattern ) + SUBTYPE OF ( solid_with_shape_element_pattern ); + row_count : positive_integer; + column_count : positive_integer; + row_spacing : length_measure; + column_spacing : length_measure; + WHERE + wr1: ( ( row_count * column_count ) > 1 ); + END_ENTITY; + + ENTITY solid_with_rectangular_pocket + SUBTYPE OF ( solid_with_pocket ); + pocket_length : positive_length_measure; + pocket_width : positive_length_measure; + corner_radius : non_negative_length_measure; + WHERE + wr1: ( ( corner_radius < ( pocket_width / 2 ) ) AND ( corner_radius < ( pocket_length / 2 ) ) ); + END_ENTITY; + + ENTITY solid_with_rectangular_protrusion + SUBTYPE OF ( solid_with_protrusion ); + protrusion_length : positive_length_measure; + protrusion_width : positive_length_measure; + protrusion_corner_radius : non_negative_length_measure; + WHERE + wr1: ( ( protrusion_corner_radius <= ( protrusion_width / 2 ) ) AND ( protrusion_corner_radius <= ( protrusion_length / 2 ) ) ); + END_ENTITY; + + ENTITY solid_with_shape_element_pattern + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_circular_pattern, + solid_with_rectangular_pattern ) ) + SUBTYPE OF ( modified_solid_with_placed_configuration ); + replicated_element : modified_solid_with_placed_configuration; + END_ENTITY; + + ENTITY solid_with_single_offset_chamfer + SUBTYPE OF ( solid_with_chamfered_edges ); + offset_distance : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_slot + ABSTRACT SUPERTYPE OF ( + ONEOF ( + solid_with_trapezoidal_section_slot, + solid_with_tee_section_slot ) + AND + ONEOF ( + solid_with_straight_slot, + solid_with_curved_slot ) ) + SUBTYPE OF ( solid_with_depression ); + slot_width : positive_length_measure; + closed_ends : LIST [2 : 2] OF LOGICAL; + end_exit_faces : LIST [2 : 2] OF SET [0 : ?] OF face_surface; + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN TYPEOF( SELF ) ) AND ( + closed_ends = [FALSE, FALSE] ) ) ); + wr2: ( NOT ( ( ( closed_ends[1] = TRUE ) AND ( SIZEOF( end_exit_faces[1] ) <> 0 ) ) OR ( ( closed_ends[2] = TRUE ) AND ( + SIZEOF( end_exit_faces[2] ) <> 0 ) ) ) ); + END_ENTITY; + + ENTITY solid_with_spherical_bottom_round_hole + SUBTYPE OF ( solid_with_stepped_round_hole ); + sphere_radius : positive_length_measure; + WHERE + wr1: ( sphere_radius >= SELF\solid_with_stepped_round_hole.segment_radii[segments] ); + END_ENTITY; + + ENTITY solid_with_stepped_round_hole + SUPERTYPE OF ( + solid_with_stepped_round_hole_and_conical_transitions + ANDOR + ONEOF ( + solid_with_flat_bottom_round_hole, + solid_with_conical_bottom_round_hole, + solid_with_spherical_bottom_round_hole ) ) + SUBTYPE OF ( solid_with_hole ); + segments : positive_integer; + segment_radii : LIST [1 : segments] OF positive_length_measure; + segment_depths : LIST [1 : segments] OF positive_length_measure; + DERIVE + SELF\solid_with_depression.depth : positive_length_measure := compute_total_depth( SELF ); + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN TYPEOF( SELF ) ) AND ( + SIZEOF( TYPEOF( SELF ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE' ] ) <> 0 ) ) ); + END_ENTITY; + + ENTITY solid_with_stepped_round_hole_and_conical_transitions + SUBTYPE OF ( solid_with_stepped_round_hole ); + conical_transitions : SET [1 : ?] OF conical_stepped_hole_transition; + WHERE + wr1: ( SIZEOF( conical_transitions ) <= ( SELF\solid_with_stepped_round_hole.segments + 1 ) ); + wr2: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN TYPEOF( SELF ) ) XOR ( SIZEOF( + conical_transitions ) <= SELF\solid_with_stepped_round_hole.segments ) ); + wr3: validate_countersink_radii( SELF ); + END_ENTITY; + + ENTITY solid_with_straight_slot + SUBTYPE OF ( solid_with_slot ); + slot_length : positive_length_measure; + END_ENTITY; + + ENTITY solid_with_tee_section_slot + SUBTYPE OF ( solid_with_slot ); + tee_section_width : positive_length_measure; + collar_depth : positive_length_measure; + WHERE + wr1: ( collar_depth < SELF\solid_with_depression.depth ); + wr2: ( tee_section_width > SELF\solid_with_slot.slot_width ); + END_ENTITY; + + ENTITY solid_with_through_depression + SUBTYPE OF ( solid_with_depression ); + exit_faces : SET [1 : ?] OF face_surface; + WHERE + wr1: ( SIZEOF( TYPEOF( SELF ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_HOLE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_POCKET' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_SLOT' ] ) = 1 ); + END_ENTITY; + + ENTITY solid_with_trapezoidal_section_slot + SUBTYPE OF ( solid_with_slot ); + draft_angle : plane_angle_measure; + floor_fillet_radius : non_negative_length_measure; + END_ENTITY; + + ENTITY solid_with_variable_radius_edge_blend + SUBTYPE OF ( track_blended_solid ); + point_list : LIST [2 : ?] OF point; + radius_list : LIST [2 : ?] OF positive_length_measure; + edge_function_list : LIST [1 : ?] OF blend_radius_variation_type; + WHERE + wr1: ( SIZEOF( point_list ) = SIZEOF( radius_list ) ); + wr2: ( SIZEOF( edge_function_list ) = ( SIZEOF( radius_list ) - 1 ) ); + wr3: ( NOT ( ( point_list[1] = point_list[HIINDEX( point_list )] ) AND ( NOT ( radius_list[1] = radius_list[HIINDEX( + radius_list )] ) ) ) ); + END_ENTITY; + + ENTITY solid_with_wrong_number_of_voids + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY source_for_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_source; + items : SET [1 : 1] OF requirement_source_item; + END_ENTITY; + + ENTITY sourced_requirement + SUBTYPE OF ( group_assignment ); + SELF\group_assignment.assigned_group : requirement_source; + items : SET [1 : 1] OF product_definition; + END_ENTITY; + + ENTITY specification_definition + SUBTYPE OF ( product_definition ); + END_ENTITY; + + ENTITY specified_higher_usage_occurrence + SUBTYPE OF ( assembly_component_usage ); + upper_usage : assembly_component_usage; + next_usage : next_assembly_usage_occurrence; + UNIQUE + ur1 : upper_usage, next_usage; + WHERE + wr1: ( SELF :<>: upper_usage ); + wr2: ( SELF\product_definition_relationship.relating_product_definition :=: upper_usage.relating_product_definition ); + wr3: ( SELF\product_definition_relationship.related_product_definition :=: next_usage.related_product_definition ); + wr4: ( ( upper_usage.related_product_definition :=: next_usage.relating_product_definition ) OR ( SIZEOF( QUERY ( pdr <* + USEDIN( upper_usage.related_product_definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) | ( pdr.relating_product_definition :=: + next_usage.relating_product_definition ) ) ) = 1 ) ); + wr5: ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NEXT_ASSEMBLY_USAGE_OCCURRENCE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SPECIFIED_HIGHER_USAGE_OCCURRENCE' ] * TYPEOF( upper_usage ) ) = + 1 ); + END_ENTITY; + + ENTITY sphere + SUBTYPE OF ( geometric_representation_item ); + radius : positive_length_measure; + centre : point; + END_ENTITY; + + ENTITY spherical_cap + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'internal angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY spherical_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY spherical_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : spherical_pair_select; + input_orientation : spatial_rotation; + DERIVE + actual_orientation : ypr_rotation := convert_spatial_to_ypr_rotation( SELF\pair_value.applies_to_pair, input_orientation ); + END_ENTITY; + + ENTITY spherical_pair_with_pin + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY spherical_pair_with_pin_and_range + SUBTYPE OF ( spherical_pair_with_pin ); + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + END_ENTITY; + + ENTITY spherical_pair_with_range + SUBTYPE OF ( spherical_pair ); + lower_limit_yaw : OPTIONAL plane_angle_measure; + upper_limit_yaw : OPTIONAL plane_angle_measure; + lower_limit_pitch : OPTIONAL plane_angle_measure; + upper_limit_pitch : OPTIONAL plane_angle_measure; + lower_limit_roll : OPTIONAL plane_angle_measure; + upper_limit_roll : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_yaw ) ) OR ( NOT EXISTS( upper_limit_yaw ) ) ) XOR ( lower_limit_yaw < upper_limit_yaw ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_pitch ) ) OR ( NOT EXISTS( upper_limit_pitch ) ) ) XOR ( lower_limit_pitch < + upper_limit_pitch ) ); + wr3: ( ( ( NOT EXISTS( lower_limit_roll ) ) OR ( NOT EXISTS( upper_limit_roll ) ) ) XOR ( lower_limit_roll < + upper_limit_roll ) ); + END_ENTITY; + + ENTITY spherical_surface + SUBTYPE OF ( elementary_surface ); + radius : positive_length_measure; + END_ENTITY; + + ENTITY sql_mappable_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( defined_function ); + END_ENTITY; + + ENTITY square_root_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY square_u_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 4 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 7 ) ) ) ) = 0 ) ) ) ) = + 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'width' ) OR ( srwp_i.name = + 'first angle' ) OR ( srwp_i.name = 'second angle' ) OR ( srwp_i.name = 'first radius' ) OR ( srwp_i.name = + 'second radius' ) OR ( srwp_i.name = 'profile limit' ) OR ( srwp_i.name = 'depth' ) ) ) ) = SIZEOF( pdr. + used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'first radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'second radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'first angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'second angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY standard_uncertainty + SUPERTYPE OF ( + expanded_uncertainty ) + SUBTYPE OF ( uncertainty_qualifier ); + uncertainty_value : REAL; + END_ENTITY; + + ENTITY start_request + SUBTYPE OF ( action_request_assignment ); + items : SET [1 : ?] OF start_request_item; + END_ENTITY; + + ENTITY start_work + SUBTYPE OF ( action_assignment ); + items : SET [1 : ?] OF work_item; + END_ENTITY; + + ENTITY steep_angle_between_adjacent_edges + SUBTYPE OF ( steep_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'] ); + END_ENTITY; + + ENTITY steep_angle_between_adjacent_faces + SUBTYPE OF ( steep_geometry_transition_across_edge ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POINT_ON_EDGE_CURVE' ] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'] ); + END_ENTITY; + + ENTITY steep_geometry_transition_across_edge + ABSTRACT SUPERTYPE OF ( + ONEOF ( + steep_angle_between_adjacent_edges, + steep_angle_between_adjacent_faces ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY step + SUBTYPE OF ( feature_definition ); + WHERE + wr1: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'course of travel occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'path feature component usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PATH_FEATURE_COMPONENT' IN TYPEOF( sdr.relating_shape_aspect ) ) AND ( sdr.relating_shape_aspect.description = + 'linear' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'removal boundary occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'profile usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' + IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE' IN TYPEOF( sdr. + relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( SELF ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'maximum feature limit' ) ) ) ) >= 0 ); + wr5: ( SIZEOF( QUERY ( pds <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pds ) ) AND ( SIZEOF( + QUERY ( csa <* USEDIN( pds, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN TYPEOF( csa ) ) AND ( csa.name = + 'uncut volume' ) AND ( SIZEOF( QUERY ( sar <* csa.component_relationships | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF( sar ) ) AND ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROTRUSION' ] * TYPEOF( sar.related_shape_aspect ) ) = 1 ) ) ) ) = 1 ) ) ) ) <= 1 ) ) ) ) = 1 ); + END_ENTITY; + + ENTITY straightness_tolerance + SUBTYPE OF ( geometric_tolerance ); + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' ) IN + TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY string_defined_function + ABSTRACT SUPERTYPE + SUBTYPE OF ( defined_function, string_expression ); + END_ENTITY; + + ENTITY string_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + simple_string_expression, + index_expression, + substring_expression, + concat_expression, + format_function, + string_defined_function ) ) + SUBTYPE OF ( expression ); + END_ENTITY; + + ENTITY string_literal + SUBTYPE OF ( simple_string_expression, generic_literal ); + the_value : STRING; + END_ENTITY; + + ENTITY string_variable + SUBTYPE OF ( simple_string_expression, variable ); + END_ENTITY; + + ENTITY structured_dimension_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( TYPEOF( SELF ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM_FEATURE_CALLOUT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM_TARGET_CALLOUT' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRICAL_TOLERANCE_CALLOUT' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_CALLOUT' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_DIRECTED_CALLOUT' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' ] ) = 0 ); + wr2: ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( NOT ( ato.name IN [ 'dimension value', 'tolerance value', + 'unit text' , 'prefix text', 'suffix text'] ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( ato.name = 'dimension value' ) ) ) >= 1 ); + wr4: ( SIZEOF( QUERY ( dcr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) IN TYPEOF( dcr ) ) + AND ( dcr.name = 'prefix' ) ) ) ) <= 1 ); + wr5: ( SIZEOF( QUERY ( dcr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) IN TYPEOF( dcr ) ) + AND ( dcr.name = 'suffix' ) ) ) ) <= 1 ); + wr6: ( ( NOT ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( ato.name = 'prefix text' ) ) ) > 0 ) ) OR ( SIZEOF( + QUERY ( dcr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) IN TYPEOF( dcr ) ) AND ( dcr.name = 'prefix' ) ) ) ) = 1 ) ); + wr7: ( ( NOT ( SIZEOF( QUERY ( ato <* QUERY ( con <* SELF.contents | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_TEXT_OCCURRENCE' IN TYPEOF( con ) ) ) | ( ato.name = 'suffix text' ) ) ) > 0 ) ) OR ( SIZEOF( + QUERY ( dcr <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + + 'RELATING_DRAUGHTING_CALLOUT' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' ) IN TYPEOF( dcr ) ) AND ( dcr.name = 'suffix' ) ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY structured_text_composition + SUBTYPE OF ( compound_representation_item ); + END_ENTITY; + + ENTITY structured_text_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF string_representation_item_select; + END_ENTITY; + + ENTITY styled_item + SUBTYPE OF ( representation_item ); + styles : SET [1 : ?] OF presentation_style_assignment; + item : styled_item_target; + WHERE + wr1: ( ( SIZEOF( SELF.styles ) = 1 ) XOR ( SIZEOF( QUERY ( pres_style <* SELF.styles | ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_STYLE_BY_CONTEXT' ) IN TYPEOF( pres_style ) ) ) ) ) + = 0 ) ); + wr2: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN TYPEOF( item ) ) ); + wr3: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF( item ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( item ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONTEXT_DEPENDENT_OVER_RIDING_STYLED_ITEM' IN TYPEOF( SELF ) ) ); + END_ENTITY; + + ENTITY su_parameters + SUBTYPE OF ( geometric_representation_item ); + a : length_measure; + alpha : plane_angle_measure; + b : length_measure; + beta : plane_angle_measure; + c : length_measure; + gamma : plane_angle_measure; + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY subedge + SUBTYPE OF ( edge ); + parent_edge : edge; + END_ENTITY; + + ENTITY subface + SUBTYPE OF ( face ); + parent_face : face; + WHERE + wr1: ( NOT mixed_loop_type_set( list_to_set( list_face_loops( SELF ) ) + list_to_set( list_face_loops( parent_face ) ) ) ); + END_ENTITY; + + ENTITY subsketch + SUBTYPE OF ( geometric_representation_item ); + subsketch_elements : SET [1 : ?] OF sketch_element_select; + owning_sketch : sketch_type_select; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' IN TYPEOF( owning_sketch ) ) AND + ( SIZEOF( QUERY ( q <* subsketch_elements | ( NOT ( owning_sketch IN using_representations( q ) ) ) ) ) = 0 ) ) XOR + ( ( SIZEOF( TYPEOF( owning_sketch ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIONED_SKETCH', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBSKETCH' ] ) = 1 ) AND ( SIZEOF( QUERY ( q <* + subsketch_elements | ( NOT ( owning_sketch IN using_items( q, [] ) ) ) ) ) = 0 ) ) ); + END_ENTITY; + + ENTITY substring_expression + SUBTYPE OF ( string_expression, multiple_arity_generic_expression ); + DERIVE + operand : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; + index1 : generic_expression := SELF\multiple_arity_generic_expression.operands[2]; + index2 : generic_expression := SELF\multiple_arity_generic_expression.operands[3]; + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' IN TYPEOF( operand ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( index1 ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' IN TYPEOF( index2 ) ) ); + wr2: ( SIZEOF( SELF\multiple_arity_generic_expression.operands ) = 3 ); + wr3: is_int_expr( index1 ); + wr4: is_int_expr( index2 ); + END_ENTITY; + + ENTITY summary_report_request + SUBTYPE OF ( data_quality_report_request ); + summary_report_request_type : summary_report_type; + END_ENTITY; + + ENTITY supplied_part_relationship + SUBTYPE OF ( product_definition_relationship ); + END_ENTITY; + + ENTITY surface + SUPERTYPE OF ( + ONEOF ( + elementary_surface, + swept_surface, + bounded_surface, + offset_surface, + surface_replica ) ) + SUBTYPE OF ( geometric_representation_item ); + END_ENTITY; + + ENTITY surface_condition_callout + SUBTYPE OF ( draughting_callout ); + WHERE + wr1: ( SIZEOF( QUERY ( c <* SELF.contents | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_CURVE_OCCURRENCE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ANNOTATION_SYMBOL_OCCURRENCE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ANNOTATION_TEXT_OCCURRENCE'] * TYPEOF( c ) ) <> 1 ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_curve + SUPERTYPE OF ( + ONEOF ( + intersection_curve, + seam_curve ) + ANDOR + bounded_surface_curve ) + SUBTYPE OF ( curve ); + curve_3d : curve; + associated_geometry : LIST [1 : 2] OF pcurve_or_surface; + master_representation : preferred_surface_curve_representation; + DERIVE + basis_surface : SET [1 : 2] OF surface := get_basis_surface( SELF ); + WHERE + wr1: ( curve_3d.dim = 3 ); + wr2: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( associated_geometry[1] ) ) OR ( + master_representation <> pcurve_s1 ) ); + wr3: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( associated_geometry[2] ) ) OR ( + master_representation <> pcurve_s2 ) ); + wr4: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( curve_3d ) ) ); + END_ENTITY; + + ENTITY surface_curve_swept_area_solid + SUBTYPE OF ( swept_area_solid ); + directrix : curve; + start_param : REAL; + end_param : REAL; + reference_surface : surface; + WHERE + wr1: ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF( directrix ) ) ) OR ( + reference_surface IN directrix\surface_curve.basis_surface ) ); + END_ENTITY; + + ENTITY surface_distance_assembly_constraint_with_dimension + SUBTYPE OF ( binary_assembly_constraint, sdgc_with_dimension ); + END_ENTITY; + + ENTITY surface_distance_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 2] OF surface; + SELF\explicit_constraint.reference_elements : SET [0 : 4] OF point_curve_or_surface_constraint_element; + near_points : SET [0 : 4] OF near_point_relationship; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SDGC_WITH_DIMENSION' IN TYPEOF( SELF ) ) AND ( SIZEOF( SELF\ + explicit_constraint.constrained_elements ) = 2 ) ) ); + wr2: ( SIZEOF( near_points ) <= SIZEOF( SELF\explicit_constraint.reference_elements ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_of_linear_extrusion + SUBTYPE OF ( swept_surface ); + extrusion_axis : vector; + END_ENTITY; + + ENTITY surface_of_revolution + SUBTYPE OF ( swept_surface ); + axis_position : axis1_placement; + DERIVE + axis_line : line := representation_item( '' ) || geometric_representation_item( ) || curve( ) || line( axis_position. + location, representation_item( '' ) || geometric_representation_item( ) || vector( axis_position.z, 1 ) ); + END_ENTITY; + + ENTITY surface_pair + ABSTRACT SUPERTYPE OF ( + ONEOF ( + sliding_surface_pair, + rolling_surface_pair ) + ANDOR + surface_pair_with_range ) + SUBTYPE OF ( high_order_kinematic_pair ); + surface_1 : surface; + surface_2 : surface; + orientation : BOOLEAN; + WHERE + wr1: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( surface_1 IN r.items ) ) ) ) = + 0 ); + wr2: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( surface_2 IN r.items ) ) ) ) = + 0 ); + wr3: ( SIZEOF( QUERY ( lr <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF( lr ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_pair_with_range + SUBTYPE OF ( surface_pair ); + range_on_surface_1 : rectangular_trimmed_surface; + range_on_surface_2 : rectangular_trimmed_surface; + lower_limit_actual_rotation : OPTIONAL plane_angle_measure; + upper_limit_actual_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( SELF\surface_pair.surface_1 :=: range_on_surface_1.basis_surface ); + wr2: ( SELF\surface_pair.surface_2 :=: range_on_surface_2.basis_surface ); + wr3: ( ( ( NOT EXISTS( lower_limit_actual_rotation ) ) OR ( NOT EXISTS( upper_limit_actual_rotation ) ) ) XOR ( + lower_limit_actual_rotation < upper_limit_actual_rotation ) ); + wr4: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_1 | ( NOT ( range_on_surface_1 IN r.items ) ) ) ) + = 0 ); + wr5: ( SIZEOF( QUERY ( r <* SELF\kinematic_pair.associated_link_representations_2 | ( NOT ( range_on_surface_2 IN r.items ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY surface_patch + SUBTYPE OF ( founded_item ); + parent_surface : bounded_surface; + u_transition : transition_code; + v_transition : transition_code; + u_sense : BOOLEAN; + v_sense : BOOLEAN; + INVERSE + using_surfaces : BAG [1 : ?] OF rectangular_composite_surface FOR segments; + WHERE + wr1: ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF( parent_surface ) ) ); + END_ENTITY; + + ENTITY surface_patch_set + SUBTYPE OF ( geometric_representation_item ); + patches : SET [1 : ?] OF surface_patch; + END_ENTITY; + + ENTITY surface_profile_tolerance + SUBTYPE OF ( geometric_tolerance ); + END_ENTITY; + + ENTITY surface_rendering_properties; + rendered_colour : colour; + END_ENTITY; + + ENTITY surface_replica + SUBTYPE OF ( surface ); + parent_surface : surface; + transformation : cartesian_transformation_operator_3d; + WHERE + wr1: acyclic_surface_replica( SELF, parent_surface ); + END_ENTITY; + + ENTITY surface_side_style + SUBTYPE OF ( founded_item ); + name : label; + styles : SET [1 : 7] OF surface_style_element_select; + WHERE + wr1: ( SIZEOF( QUERY ( style1 <* SELF.styles | ( SIZEOF( QUERY ( style2 <* ( SELF.styles - style1 ) | ( TYPEOF( style1 ) = + TYPEOF( style2 ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY surface_smoothness_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : 1] OF surface_patch_set; + u_smoothness : transition_code; + v_smoothness : transition_code; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + END_ENTITY; + + ENTITY surface_style_boundary + SUBTYPE OF ( founded_item ); + style_of_boundary : curve_or_render; + END_ENTITY; + + ENTITY surface_style_control_grid + SUBTYPE OF ( founded_item ); + style_of_control_grid : curve_or_render; + END_ENTITY; + + ENTITY surface_style_fill_area + SUBTYPE OF ( founded_item ); + fill_area : fill_area_style; + END_ENTITY; + + ENTITY surface_style_parameter_line + SUBTYPE OF ( founded_item ); + style_of_parameter_lines : curve_or_render; + direction_counts : SET [1 : 2] OF direction_count_select; + WHERE + wr1: ( ( HIINDEX( SELF.direction_counts ) = 1 ) XOR ( TYPEOF( SELF.direction_counts[1] ) <> TYPEOF( SELF.direction_counts[2] ) ) ); + END_ENTITY; + + ENTITY surface_style_reflectance_ambient; + ambient_reflectance : REAL; + END_ENTITY; + + ENTITY surface_style_reflectance_ambient_diffuse + SUBTYPE OF ( surface_style_reflectance_ambient ); + diffuse_reflectance : REAL; + END_ENTITY; + + ENTITY surface_style_reflectance_ambient_diffuse_specular + SUBTYPE OF ( surface_style_reflectance_ambient_diffuse ); + specular_reflectance : REAL; + specular_exponent : REAL; + specular_colour : colour; + END_ENTITY; + + ENTITY surface_style_rendering; + rendering_method : shading_surface_method; + surface_colour : colour; + END_ENTITY; + + ENTITY surface_style_rendering_with_properties + SUBTYPE OF ( surface_style_rendering ); + properties : SET [1 : 2] OF rendering_properties_select; + WHERE + wr1: ( ( HIINDEX( SELF.properties ) = 1 ) XOR ( TYPEOF( SELF.properties[1] ) <> TYPEOF( SELF.properties[2] ) ) ); + END_ENTITY; + + ENTITY surface_style_segmentation_curve + SUBTYPE OF ( founded_item ); + style_of_segmentation_curve : curve_or_render; + END_ENTITY; + + ENTITY surface_style_silhouette + SUBTYPE OF ( founded_item ); + style_of_silhouette : curve_or_render; + END_ENTITY; + + ENTITY surface_style_transparent; + transparency : REAL; + WHERE + wr1: ( ( 0 <= transparency ) AND ( transparency <= 1 ) ); + END_ENTITY; + + ENTITY surface_style_usage + SUBTYPE OF ( founded_item ); + side : surface_side; + style : surface_side_style_select; + END_ENTITY; + + ENTITY surface_texture_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'VALUE_RANGE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM'] * TYPEOF( i ) ) <> 1 ) ) ) + = 0 ); + wr2: ( ( SIZEOF( QUERY ( i <* SELF.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( i <* SELF.items | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND ( i + .name = 'measuring method' ) ) ) ) = 1 ) ); + wr3: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( i ) ) + = 1 ) ) ) > 0 ); + wr4: ( ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_1' ) ) + <= 1 ) AND ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2' ) ) = 0 ) AND ( SIZEOF( QUERY ( rr <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_1' ) | ( rr.rep_2.name + = 'measuring direction' ) ) ) = SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.' + 'REP_1' ) ) ) ); + wr5: ( ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) + | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa.base_definition ) ) AND ( gpa\general_property_association.base_definition\ + general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY surface_with_excessive_patches_in_one_direction + SUBTYPE OF ( overcomplex_geometry ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT' ] ); + wr4: validate_locations_of_extreme_value_type( SELF, [] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY surface_with_small_curvature_radius + SUBTYPE OF ( geometry_with_local_near_degeneracy ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY surfaced_open_shell + SUBTYPE OF ( open_shell ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\connected_face_set.cfs_faces | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACE_SURFACE' IN TYPEOF( q ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY swept_area_solid + SUPERTYPE OF ( + ONEOF ( + revolved_area_solid, + extruded_area_solid, + surface_curve_swept_area_solid ) ) + SUBTYPE OF ( solid_model ); + swept_area : curve_bounded_surface; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( swept_area.basis_surface ) ); + END_ENTITY; + + ENTITY swept_curve_surface_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF surface; + SELF\explicit_constraint.reference_elements : SET [1 : 1] OF swept_surface_or_solid; + END_ENTITY; + + ENTITY swept_disk_solid + SUBTYPE OF ( solid_model ); + directrix : curve; + radius : positive_length_measure; + inner_radius : OPTIONAL positive_length_measure; + start_param : REAL; + end_param : REAL; + WHERE + wr1: ( directrix.dim = 3 ); + wr2: ( ( NOT EXISTS( inner_radius ) ) OR ( radius > inner_radius ) ); + END_ENTITY; + + ENTITY swept_face_solid + SUPERTYPE OF ( + ONEOF ( + extruded_face_solid, + revolved_face_solid ) ) + SUBTYPE OF ( solid_model ); + swept_face : face_surface; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( swept_face.face_geometry ) ); + END_ENTITY; + + ENTITY swept_point_curve_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF curve; + SELF\explicit_constraint.reference_elements : SET [1 : 1] OF swept_face_solid; + END_ENTITY; + + ENTITY swept_surface + SUPERTYPE OF ( + ONEOF ( + surface_of_linear_extrusion, + surface_of_revolution ) ) + SUBTYPE OF ( surface ); + swept_curve : curve; + END_ENTITY; + + ENTITY symbol + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY symbol_colour; + colour_of_symbol : colour; + END_ENTITY; + + ENTITY symbol_representation + SUBTYPE OF ( representation ); + END_ENTITY; + + ENTITY symbol_representation_map + SUBTYPE OF ( representation_map ); + SELF\representation_map.mapped_representation : symbol_representation; + SELF\representation_map.mapping_origin : axis2_placement; + WHERE + wr1: ( SIZEOF( QUERY ( mi <* SELF\representation_map.map_usage | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_SYMBOL' IN TYPEOF( mi ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY symbol_style + SUBTYPE OF ( founded_item ); + name : label; + style_of_symbol : symbol_style_select; + END_ENTITY; + + ENTITY symbol_target + SUBTYPE OF ( geometric_representation_item ); + placement : axis2_placement; + x_scale : positive_ratio_measure; + y_scale : positive_ratio_measure; + END_ENTITY; + + ENTITY symmetric_shape_aspect + SUBTYPE OF ( shape_aspect ); + INVERSE + basis_relationships : SET [1 : ?] OF shape_aspect_deriving_relationship FOR related_shape_aspect; + END_ENTITY; + + ENTITY symmetry_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [2 : 2] OF geometric_representation_item; + mirror_element : linear_geometry_constraint_element; + WHERE + wr1: ( SIZEOF( SELF\explicit_constraint.reference_elements ) = 0 ); + wr2: ( SIZEOF( TYPEOF( mirror_element ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' ] ) = 0 ); + wr3: ( NOT ( ( SELF\geometric_representation_item.dim = 2 ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' + IN TYPEOF( mirror_element ) ) ) ); + END_ENTITY; + + ENTITY symmetry_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY table_representation_item + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( itet <* SELF\compound_representation_item.item_element | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROW_REPRESENTATION_ITEM' IN TYPEOF( itet ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY tactile_appearance_representation + SUBTYPE OF ( representation ); + WHERE + wr1: ( SIZEOF( QUERY ( i <* SELF.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( i ) ) + <> 1 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( i <* SELF.items | ( name = 'depth' ) ) ) <= 1 ); + wr3: ( ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) + | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa.base_definition ) ) AND ( gpa\general_property_association.base_definition\ + general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) = 1 ) ); + END_ENTITY; + + ENTITY tagged_text_format + SUBTYPE OF ( representation_context ); + END_ENTITY; + + ENTITY tagged_text_item + SUBTYPE OF ( descriptive_representation_item ); + END_ENTITY; + + ENTITY tan_function + SUBTYPE OF ( unary_function_call ); + END_ENTITY; + + ENTITY tangent + SUBTYPE OF ( derived_shape_aspect ); + WHERE + wr1: ( SIZEOF( SELF\derived_shape_aspect.deriving_relationships ) = 1 ); + END_ENTITY; + + ENTITY tangent_assembly_constraint + SUBTYPE OF ( binary_assembly_constraint, tangent_geometric_constraint ); + END_ENTITY; + + ENTITY tangent_geometric_constraint + SUBTYPE OF ( explicit_geometric_constraint ); + SELF\explicit_constraint.constrained_elements : SET [1 : ?] OF curve_or_surface_constraint_element; + SELF\explicit_constraint.reference_elements : SET [0 : ?] OF curve_or_surface_constraint_element; + near_points : SET [0 : ?] OF near_point_relationship; + tangent_contact : tangent_contact_type; + WHERE + wr1: ( ( SIZEOF( SELF\explicit_constraint.reference_elements ) > 0 ) OR ( SIZEOF( SELF\explicit_constraint. + constrained_elements ) = 2 ) ); + wr2: ( NOT ( ( SELF\geometric_representation_item.dim = 2 ) AND ( tangent_contact = surface_contact ) ) ); + wr3: ( SIZEOF( QUERY ( q <* near_points | ( NOT ( q\representation_item_relationship.relating_representation_item IN SELF\ + explicit_constraint.reference_elements ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY taper + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2: ( SELF.description IN [ 'angle taper', 'diameter taper', 'directed taper'] ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5: ( ( NOT ( SELF.description = 'angle taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'taper angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr6: ( ( NOT ( SELF.description = 'diameter taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'final diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr7: ( ( NOT ( SELF.description = 'directed taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr8: ( ( NOT ( SELF.description = 'directed taper' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + + 'DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' IN + TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = 'direction' ) ) ) ) = 1 ) ) ) ) = 0 ) ); + END_ENTITY; + + ENTITY tee_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 9 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 10 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'width' ) OR ( srwp_i.name = + 'depth' ) OR ( srwp_i.name = 'cross bar width' ) OR ( srwp_i.name = 'cross bar depth' ) OR ( srwp_i.name = + 'first offset' ) OR ( srwp_i.name = 'second offset' ) OR ( srwp_i.name = 'first angle' ) OR ( srwp_i.name = + 'second angle' ) OR ( srwp_i.name = 'radius' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) + = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'cross bar width' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'cross bar depth' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'first offset' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'second offset' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'first angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'second angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'radius' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr15: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY terminator_symbol + SUBTYPE OF ( annotation_symbol_occurrence ); + annotated_curve : annotation_curve_occurrence; + END_ENTITY; + + ENTITY tessellated_annotation_occurrence + SUBTYPE OF ( annotation_occurrence ); + SELF\styled_item.item : tessellated_geometric_set; + END_ENTITY; + + ENTITY tessellated_connecting_edge + SUBTYPE OF ( tessellated_edge ); + smooth : LOGICAL; + face1 : tessellated_face; + face2 : tessellated_face; + line_strip_face1 : LIST [2 : ?] OF INTEGER; + line_strip_face2 : LIST [2 : ?] OF INTEGER; + WHERE + wr1: ( SIZEOF( line_strip_face1 ) = SIZEOF( line_strip_face2 ) ); + wr2: ( SIZEOF( line_strip_face1 ) = SIZEOF( SELF\tessellated_edge.line_strip ) ); + END_ENTITY; + + ENTITY tessellated_curve_set + SUBTYPE OF ( tessellated_item ); + coordinates : coordinates_list; + line_strips : LIST [1 : ?] OF LIST [2 : ?] OF INTEGER; + END_ENTITY; + + ENTITY tessellated_edge + SUBTYPE OF ( tessellated_structured_item ); + coordinates : coordinates_list; + geometric_link : OPTIONAL edge_or_curve; + line_strip : LIST [2 : ?] OF INTEGER; + END_ENTITY; + + ENTITY tessellated_face + ABSTRACT SUPERTYPE OF ( + ONEOF ( + triangulated_face, + complex_triangulated_face ) ) + SUBTYPE OF ( tessellated_structured_item ); + coordinates : coordinates_list; + pnmax : INTEGER; + normals : LIST [0 : ?] OF LIST [3 : 3] OF REAL; + geometric_link : OPTIONAL face_or_surface; + WHERE + wr1: ( ( SIZEOF( normals ) = 0 ) OR ( SIZEOF( normals ) = 1 ) OR ( SIZEOF( normals ) = pnmax ) ); + END_ENTITY; + + ENTITY tessellated_geometric_set + SUBTYPE OF ( tessellated_item ); + children : SET [1 : ?] OF tessellated_item; + END_ENTITY; + + ENTITY tessellated_item + ABSTRACT SUPERTYPE OF ( + ONEOF ( + coordinates_list, + tessellated_solid, + tessellated_shell, + tessellated_wire, + tessellated_geometric_set, + tessellated_curve_set, + tessellated_point_set, + tessellated_surface_set, + tessellated_structured_item ) ) + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( using_rep <* using_representations( SELF ) | ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' IN TYPEOF( using_rep ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY tessellated_point_set + SUBTYPE OF ( tessellated_item ); + coordinates : coordinates_list; + point_list : LIST [1 : ?] OF INTEGER; + END_ENTITY; + + ENTITY tessellated_shape_representation + SUBTYPE OF ( shape_representation ); + SELF\representation.items : SET [1 : ?] OF tessellated_item; + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF( SELF\representation. + context_of_items ) ); + END_ENTITY; + + ENTITY tessellated_shell + SUBTYPE OF ( tessellated_item ); + items : SET [1 : ?] OF tessellated_structured_item; + topological_link : OPTIONAL connected_face_set; + END_ENTITY; + + ENTITY tessellated_solid + SUBTYPE OF ( tessellated_item ); + items : SET [1 : ?] OF tessellated_structured_item; + geometric_link : OPTIONAL manifold_solid_brep; + END_ENTITY; + + ENTITY tessellated_structured_item + SUPERTYPE OF ( + ONEOF ( + tessellated_face, + tessellated_edge, + tessellated_vertex ) ) + SUBTYPE OF ( tessellated_item ); + END_ENTITY; + + ENTITY tessellated_surface_set + ABSTRACT SUPERTYPE OF ( + ONEOF ( + triangulated_surface_set, + complex_triangulated_surface_set ) ) + SUBTYPE OF ( tessellated_item ); + coordinates : coordinates_list; + pnmax : INTEGER; + normals : LIST [0 : ?] OF LIST [3 : 3] OF REAL; + WHERE + wr1: ( ( SIZEOF( normals ) = 0 ) OR ( SIZEOF( normals ) = 1 ) OR ( SIZEOF( normals ) = pnmax ) ); + END_ENTITY; + + ENTITY tessellated_vertex + SUBTYPE OF ( tessellated_structured_item ); + coordinates : coordinates_list; + topological_link : OPTIONAL vertex_point; + point_index : INTEGER; + END_ENTITY; + + ENTITY tessellated_wire + SUBTYPE OF ( tessellated_item ); + items : SET [1 : ?] OF tessellated_edge_or_vertex; + geometric_model_link : OPTIONAL path_or_composite_curve; + END_ENTITY; + + ENTITY text_font; + id : identifier; + name : label; + description : text; + INVERSE + glyphs : SET [1 : ?] OF character_glyph_font_usage FOR font; + END_ENTITY; + + ENTITY text_font_family; + id : identifier; + name : label; + description : text; + INVERSE + fonts : SET [1 : ?] OF text_font_in_family FOR family; + END_ENTITY; + + ENTITY text_font_in_family; + font : text_font; + family : text_font_family; + END_ENTITY; + + ENTITY text_literal + SUBTYPE OF ( geometric_representation_item ); + literal : presentable_text; + placement : axis2_placement; + alignment : text_alignment; + path : text_path; + font : font_select; + END_ENTITY; + + ENTITY text_literal_with_associated_curves + SUBTYPE OF ( text_literal ); + associated_curves : SET [1 : ?] OF curve; + END_ENTITY; + + ENTITY text_literal_with_blanking_box + SUBTYPE OF ( text_literal ); + blanking : planar_box; + END_ENTITY; + + ENTITY text_literal_with_delineation + SUBTYPE OF ( text_literal ); + delineation : text_delineation; + END_ENTITY; + + ENTITY text_literal_with_extent + SUBTYPE OF ( text_literal ); + extent : planar_extent; + END_ENTITY; + + ENTITY text_string_representation + SUBTYPE OF ( representation ); + SELF\representation.items : SET [1 : ?] OF text_string_representation_item; + WHERE + wr1: ( SIZEOF( QUERY ( item <* SELF\representation.items | ( NOT ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_TEXT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_CHARACTER', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEFINED_CHARACTER_GLYPH' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' ] * TYPEOF( item ) ) = 0 ) ) ) ) >= 1 ); + wr2: ( SIZEOF( QUERY ( a2p <* QUERY ( item <* SELF\representation.items | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF( item ) ) ) | ( NOT ( ( SIZEOF( + QUERY ( at <* QUERY ( item <* SELF\representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_TEXT' ) IN TYPEOF( item ) ) ) | ( at\mapped_item.mapping_target :=: a2p ) ) ) >= 1 ) OR ( SIZEOF( + QUERY ( atc <* QUERY ( item <* SELF\representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ANNOTATION_TEXT_CHARACTER' ) IN TYPEOF( item ) ) ) | ( atc\mapped_item.mapping_target :=: a2p ) ) ) >= 1 ) ) ) ) ) + = 0 ); + END_ENTITY; + + ENTITY text_style + SUBTYPE OF ( founded_item ); + name : label; + character_appearance : character_style_select; + END_ENTITY; + + ENTITY text_style_for_defined_font; + text_colour : colour; + END_ENTITY; + + ENTITY text_style_with_box_characteristics + SUBTYPE OF ( text_style ); + characteristics : SET [1 : 4] OF box_characteristic_select; + WHERE + wr1: ( SIZEOF( QUERY ( c1 <* SELF.characteristics | ( SIZEOF( QUERY ( c2 <* ( SELF.characteristics - c1 ) | ( TYPEOF( c1 ) + = TYPEOF( c2 ) ) ) ) > 0 ) ) ) = 0 ); + END_ENTITY; + + ENTITY text_style_with_mirror + SUBTYPE OF ( text_style ); + mirror_placement : axis2_placement; + END_ENTITY; + + ENTITY text_style_with_spacing + SUBTYPE OF ( text_style ); + character_spacing : character_spacing_select; + END_ENTITY; + + ENTITY thermal_component + SUBTYPE OF ( assembly_component ); + END_ENTITY; + + ENTITY thermal_resistance_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.THERMAL_RESISTANCE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY thermal_resistance_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( -1, -1, -3, 0, 1, 0, 0 ) ); + END_ENTITY; + + ENTITY thermodynamic_temperature_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF( SELF\measure_with_unit. + unit_component ) ); + END_ENTITY; + + ENTITY thermodynamic_temperature_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 0 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 1 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY thickened_face_solid + SUBTYPE OF ( solid_model ); + base_element : generalized_surface_select; + offset1 : length_measure; + offset2 : length_measure; + WHERE + wr1: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF( base_element ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_SURFACE' IN TYPEOF( base_element ) ) ) ) ); + wr2: ( offset1 <> offset2 ); + END_ENTITY; + + ENTITY thickness_laminate_table + SUBTYPE OF ( zone_structural_makeup ); + END_ENTITY; + + ENTITY thread + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 8 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 11 ) ) ) ) = 1 ) ) ) = 1 ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'major diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'minor diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'pitch diameter' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'number of threads' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'fit class' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'form' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'hand' ) AND ( it.description IN [ 'left', + 'right' ] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'qualifier' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'thread side' ) AND ( ( it.description = + 'internal' ) OR ( it.description = 'external' ) ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'crest' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'partial area occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'applied area usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'APPLIED_AREA' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr13: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) + = 1 ) ) ) ) = 0 ); + wr14: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'fit class 2' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) + = 0 ); + wr15: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'nominal size' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr16: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'thread runout' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'thread runout usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'THREAD_RUNOUT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) <= 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY thread_runout + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( SELF.of_shape ) ); + wr2: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( impl_rep. + used_representation.items ) = 3 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( NOT ( srwp_i.name IN [ 'length of runout', 'pitch or dimension', + 'included or extra' ] ) ) ) ) > 0 ) ) ) ) = 0 ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'length of runout' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) <= 1 ); + wr6: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'pitch or dimension' ) AND ( it.description + IN [ 'pitch', 'pitch or dimension'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'included or extra' ) AND ( it.description + IN [ 'included', 'extra'] ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY time_interval; + id : identifier; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY time_interval_assignment + ABSTRACT SUPERTYPE; + assigned_time_interval : time_interval; + role : time_interval_role; + END_ENTITY; + + ENTITY time_interval_based_effectivity + SUBTYPE OF ( effectivity ); + effectivity_period : time_interval; + END_ENTITY; + + ENTITY time_interval_relationship; + name : label; + description : OPTIONAL text; + relating_time_interval : time_interval; + related_time_interval : time_interval; + END_ENTITY; + + ENTITY time_interval_role; + name : label; + description : OPTIONAL text; + END_ENTITY; + + ENTITY time_interval_with_bounds + SUBTYPE OF ( time_interval ); + primary_bound : OPTIONAL date_time_or_event_occurrence; + secondary_bound : OPTIONAL date_time_or_event_occurrence; + duration : OPTIONAL time_measure_with_unit; + WHERE + wr1: ( EXISTS( primary_bound ) OR EXISTS( secondary_bound ) ); + wr2: ( NOT ( EXISTS( primary_bound ) AND EXISTS( secondary_bound ) AND EXISTS( duration ) ) ); + wr3: ( EXISTS( primary_bound ) AND ( NOT EXISTS( secondary_bound ) ) AND ( ( NOT EXISTS( duration ) ) OR + duration_is_positive( duration ) ) ); + wr4: ( EXISTS( secondary_bound ) AND ( NOT EXISTS( primary_bound ) ) AND EXISTS( duration ) AND duration_is_negative( + duration ) ); + END_ENTITY; + + ENTITY time_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TIME_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY time_unit + SUBTYPE OF ( named_unit ); + WHERE + wr1: ( ( SELF\named_unit.dimensions.length_exponent = 0 ) AND ( SELF\named_unit.dimensions.mass_exponent = 0 ) AND ( SELF\ + named_unit.dimensions.time_exponent = 1 ) AND ( SELF\named_unit.dimensions.electric_current_exponent = 0 ) AND ( + SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0 ) AND ( SELF\named_unit.dimensions. + amount_of_substance_exponent = 0 ) AND ( SELF\named_unit.dimensions.luminous_intensity_exponent = 0 ) ); + END_ENTITY; + + ENTITY tolerance_value; + lower_bound : measure_with_unit; + upper_bound : measure_with_unit; + DERIVE + ubvc : REAL := upper_bound\measure_with_unit.value_component; + lbvc : REAL := lower_bound\measure_with_unit.value_component; + WHERE + wr1: ( ubvc > lbvc ); + wr2: ( upper_bound\measure_with_unit.unit_component = lower_bound\measure_with_unit.unit_component ); + END_ENTITY; + + ENTITY tolerance_zone + SUBTYPE OF ( shape_aspect ); + defining_tolerance : SET [1 : ?] OF tolerance_zone_target; + form : tolerance_zone_form; + END_ENTITY; + + ENTITY tolerance_zone_definition + SUPERTYPE OF ( + ONEOF ( + projected_zone_definition, + non_uniform_zone_definition, + runout_zone_definition ) ); + zone : tolerance_zone; + boundaries : SET [0 : ?] OF shape_aspect; + END_ENTITY; + + ENTITY tolerance_zone_form; + name : label; + END_ENTITY; + + ENTITY topological_representation_item + SUPERTYPE OF ( + ONEOF ( + vertex, + edge, + face_bound, + face, + vertex_shell, + wire_shell, + connected_edge_set, + connected_face_set, + loop + ANDOR + path ) ) + SUBTYPE OF ( representation_item ); + END_ENTITY; + + ENTITY topology_related_to_multiply_defined_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + multiply_defined_faces, + multiply_defined_vertices, + multiply_defined_edges ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY topology_related_to_nearly_degenerate_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + short_length_edge, + small_area_face, + entirely_narrow_face ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY topology_related_to_overlapping_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + partly_overlapping_faces, + partly_overlapping_edges ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY topology_related_to_self_intersecting_geometry + ABSTRACT SUPERTYPE OF ( + ONEOF ( + self_intersecting_loop, + self_intersecting_shell, + intersecting_connected_face_sets ) ) + SUBTYPE OF ( inapt_topology_and_geometry_relationship ); + END_ENTITY; + + ENTITY toroidal_surface + SUBTYPE OF ( elementary_surface ); + major_radius : positive_length_measure; + minor_radius : positive_length_measure; + END_ENTITY; + + ENTITY torus + SUBTYPE OF ( geometric_representation_item ); + position : axis1_placement; + major_radius : positive_length_measure; + minor_radius : positive_length_measure; + WHERE + wr1: ( major_radius > minor_radius ); + END_ENTITY; + + ENTITY total_runout_tolerance + SUBTYPE OF ( geometric_tolerance_with_datum_reference ); + END_ENTITY; + + ENTITY track_blended_solid + ABSTRACT SUPERTYPE + SUBTYPE OF ( edge_blended_solid ); + WHERE + wr1: check_continuous_edges( SELF\edge_blended_solid.blended_edges ); + END_ENTITY; + + ENTITY track_blended_solid_with_end_conditions + SUBTYPE OF ( track_blended_solid ); + end_conditions : LIST [2 : 2] OF blend_end_condition_select; + WHERE + wr1: ( SIZEOF( TYPEOF( SELF ) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_VARIABLE_RADIUS_EDGE_BLEND' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_CHAMFERED_EDGES' ] ) = 1 ); + wr2: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX' IN TYPEOF( end_conditions[1] ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX' IN TYPEOF( end_conditions[2] ) ) ) ); + wr3: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX' IN TYPEOF( end_conditions[1] ) ) AND ( NOT ( ( + end_conditions[1] :=: SELF\edge_blended_solid.blended_edges[1].edge_start ) XOR ( end_conditions[1] :=: SELF\ + edge_blended_solid.blended_edges[1].edge_end ) ) ) ) ); + wr4: ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX' IN TYPEOF( end_conditions[2] ) ) AND ( NOT ( ( + end_conditions[2] :=: SELF\edge_blended_solid.blended_edges[HIINDEX( SELF\edge_blended_solid.blended_edges )]. + edge_start ) XOR ( end_conditions[2] :=: SELF\edge_blended_solid.blended_edges[HIINDEX( SELF\edge_blended_solid. + blended_edges )].edge_end ) ) ) ) ); + END_ENTITY; + + ENTITY transformation_with_derived_angle + SUPERTYPE OF ( + ONEOF ( + draped_defined_transformation, + laid_defined_transformation ) ) + SUBTYPE OF ( item_defined_transformation ); + SELF\item_defined_transformation.transform_item_1 : angle_direction_reference_with_a2p3d_select; + SELF\item_defined_transformation.transform_item_2 : axis2_placement_3d; + DERIVE + orientation_angle : plane_angle_measure := derive_angle( SELF\item_defined_transformation.transform_item_1, SELF\ + item_defined_transformation.transform_item_2 ); + WHERE + wr1: ( ( SELF\item_defined_transformation.transform_item_1\axis2_placement_3d.p[3].direction_ratios[1] = SELF\ + item_defined_transformation.transform_item_2\axis2_placement_3d.p[3].direction_ratios[1] ) AND ( SELF\ + item_defined_transformation.transform_item_1\axis2_placement_3d.p[3].direction_ratios[2] = SELF\ + item_defined_transformation.transform_item_2\axis2_placement_3d.p[3].direction_ratios[2] ) AND ( SELF\ + item_defined_transformation.transform_item_1\axis2_placement_3d.p[3].direction_ratios[3] = SELF\ + item_defined_transformation.transform_item_2\axis2_placement_3d.p[3].direction_ratios[3] ) ); + END_ENTITY; + + ENTITY transition_feature + SUPERTYPE OF ( + ONEOF ( + chamfer, + edge_round, + fillet ) ) + SUBTYPE OF ( shape_aspect ); + WHERE + wr1: ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOUND_FEATURE' ] * TYPEOF( SELF.of_shape.definition ) ) = 1 ); + wr2: ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHAMFER', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_ROUND' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FILLET' ] * TYPEOF( SELF ) ) = 1 ); + END_ENTITY; + + ENTITY triangulated_face + SUBTYPE OF ( tessellated_face ); + pnindex : LIST [0 : ?] OF INTEGER; + triangles : LIST [1 : ?] OF LIST [3 : 3] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_face.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_face.pnmax <> coordinates.npoints ) ) ); + END_ENTITY; + + ENTITY triangulated_surface_set + SUBTYPE OF ( tessellated_surface_set ); + pnindex : LIST [0 : ?] OF INTEGER; + triangles : LIST [1 : ?] OF LIST [3 : 3] OF INTEGER; + WHERE + wr1: ( ( SIZEOF( pnindex ) = 0 ) OR ( SIZEOF( pnindex ) = SELF\tessellated_surface_set.pnmax ) ); + wr2: ( NOT ( ( SIZEOF( pnindex ) = 0 ) AND ( SELF\tessellated_surface_set.pnmax <> coordinates.npoints ) ) ); + END_ENTITY; + + ENTITY trimmed_curve + SUBTYPE OF ( bounded_curve ); + basis_curve : curve; + trim_1 : SET [1 : 2] OF trimming_select; + trim_2 : SET [1 : 2] OF trimming_select; + sense_agreement : BOOLEAN; + master_representation : trimming_preference; + WHERE + wr1: ( ( HIINDEX( trim_1 ) = 1 ) OR ( TYPEOF( trim_1[1] ) <> TYPEOF( trim_1[2] ) ) ); + wr2: ( ( HIINDEX( trim_2 ) = 1 ) OR ( TYPEOF( trim_2[1] ) <> TYPEOF( trim_2[2] ) ) ); + END_ENTITY; + + ENTITY turned_knurl + SUBTYPE OF ( feature_definition ); + WHERE + wr1 : ( SELF\characterized_object.description IN [ 'diamond', 'diagonal', 'straight'] ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( 6 <= SIZEOF( pdr. + used_representation.items ) ) AND ( SIZEOF( pdr.used_representation.items ) <= 9 ) ) ) ) = 1 ) ) ) = 1 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'COUNT_MEASURE' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'number of teeth' ) ) ) ) + <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'major diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'nominal diameter' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'tooth depth' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'root fillet' ) ) ) ) <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( it ) ) = 2 ) AND ( it.name = 'diametral pitch' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( ( NOT ( SELF\characterized_object.description IN [ 'diamond', 'diagonal'] ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( + SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'helix angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ); + wr10: ( ( NOT ( SELF\characterized_object.description = 'diagonal' ) ) OR ( SIZEOF( QUERY ( pd <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( it.name = 'helix hand' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) + = 0 ) ); + wr11: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( ( sa_occ.description = + 'partial area occurrence' ) AND ( SIZEOF( QUERY ( sdr <* QUERY ( sar <* USEDIN( sa_occ, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT' ) | ( ( sar. + description = 'applied area usage' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'APPLIED_AREA' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( pds <* QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_SHAPE' IN TYPEOF( pd ) ) ) | ( NOT ( SIZEOF( QUERY ( sa_occ <* USEDIN( pds, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) | ( SIZEOF( QUERY ( sdr <* + QUERY ( sar <* USEDIN( sa_occ, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + + 'RELATED_SHAPE_ASPECT' ) | ( ( sar.description = 'applied shape' ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF( sar ) ) ) ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' IN TYPEOF( sdr.relating_shape_aspect ) ) ) ) = 1 ) ) ) + = 1 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY two_direction_repeat_factor + SUBTYPE OF ( one_direction_repeat_factor ); + second_repeat_factor : vector; + END_ENTITY; + + ENTITY type_qualifier; + name : label; + END_ENTITY; + + ENTITY unary_boolean_expression + ABSTRACT SUPERTYPE OF ( + ONEOF ( + not_expression, + odd_function ) ) + SUBTYPE OF ( boolean_expression, unary_generic_expression ); + END_ENTITY; + + ENTITY unary_function_call + ABSTRACT SUPERTYPE OF ( + ONEOF ( + abs_function, + minus_function, + sin_function, + cos_function, + tan_function, + asin_function, + acos_function, + exp_function, + log_function, + log2_function, + log10_function, + square_root_function ) ) + SUBTYPE OF ( unary_numeric_expression ); + END_ENTITY; + + ENTITY unary_generic_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( generic_expression ); + operand : generic_expression; + END_ENTITY; + + ENTITY unary_numeric_expression + ABSTRACT SUPERTYPE + SUBTYPE OF ( numeric_expression, unary_generic_expression ); + SELF\unary_generic_expression.operand : numeric_expression; + END_ENTITY; + + ENTITY unbound_parameter_environment + SUBTYPE OF ( environment ); + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN TYPEOF( SELF\environment. + syntactic_representation ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'UNBOUND_VARIATIONAL_PARAMETER_SEMANTICS' IN TYPEOF( SELF\environment.semantics ) ) ); + END_ENTITY; + + ENTITY unbound_variational_parameter + SUBTYPE OF ( variational_parameter ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNBOUND_PARAMETER_ENVIRONMENT' IN TYPEOF( SELF\generic_variable. + interpretation ) ); + END_ENTITY; + + ENTITY unbound_variational_parameter_semantics + SUBTYPE OF ( variable_semantics ); + END_ENTITY; + + ENTITY uncertainty_assigned_representation + SUBTYPE OF ( representation ); + uncertainty : SET [1 : ?] OF uncertainty_measure_with_unit; + END_ENTITY; + + ENTITY uncertainty_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + name : label; + description : OPTIONAL text; + WHERE + wr1: valid_measure_value( SELF\measure_with_unit.value_component ); + END_ENTITY; + + ENTITY uncertainty_qualifier + SUPERTYPE OF ( + ONEOF ( + standard_uncertainty, + qualitative_uncertainty ) ); + measure_name : label; + description : text; + END_ENTITY; + + ENTITY unconstrained_pair + SUBTYPE OF ( low_order_kinematic_pair ); + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + END_ENTITY; + + ENTITY unconstrained_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : unconstrained_pair; + actual_placement : axis2_placement_3d; + END_ENTITY; + + ENTITY unequally_disposed_geometric_tolerance + SUBTYPE OF ( geometric_tolerance ); + displacement : length_measure_with_unit; + WHERE + wr1: ( ( 'NUMBER' IN TYPEOF( SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component ) ) AND + ( SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component > 0 ) ); + END_ENTITY; + + ENTITY uniform_curve + SUBTYPE OF ( b_spline_curve ); + END_ENTITY; + + ENTITY uniform_product_space + SUBTYPE OF ( maths_space, generic_literal ); + base : maths_space; + exponent : positive_integer; + WHERE + wr1: expression_is_constant( base ); + wr2: no_cyclic_space_reference( SELF, [] ); + wr3: ( base <> the_empty_space ); + END_ENTITY; + + ENTITY uniform_resource_identifier + SUBTYPE OF ( descriptive_representation_item ); + END_ENTITY; + + ENTITY uniform_surface + SUBTYPE OF ( b_spline_surface ); + END_ENTITY; + + ENTITY universal_pair + SUBTYPE OF ( low_order_kinematic_pair ); + input_skew_angle : OPTIONAL plane_angle_measure; + DERIVE + SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; + SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; + SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; + skew_angle : plane_angle_measure := NVL( input_skew_angle, 0 ); + WHERE + wr1: ( COS( plane_angle_for_pair_in_radian( SELF, skew_angle ) ) > 0 ); + END_ENTITY; + + ENTITY universal_pair_value + SUBTYPE OF ( pair_value ); + SELF\pair_value.applies_to_pair : universal_pair; + first_rotation_angle : plane_angle_measure; + second_rotation_angle : plane_angle_measure; + END_ENTITY; + + ENTITY universal_pair_with_range + SUBTYPE OF ( universal_pair ); + lower_limit_first_rotation : OPTIONAL plane_angle_measure; + upper_limit_first_rotation : OPTIONAL plane_angle_measure; + lower_limit_second_rotation : OPTIONAL plane_angle_measure; + upper_limit_second_rotation : OPTIONAL plane_angle_measure; + WHERE + wr1: ( ( ( NOT EXISTS( lower_limit_first_rotation ) ) OR ( NOT EXISTS( upper_limit_first_rotation ) ) ) XOR ( + lower_limit_first_rotation < upper_limit_first_rotation ) ); + wr2: ( ( ( NOT EXISTS( lower_limit_second_rotation ) ) OR ( NOT EXISTS( upper_limit_second_rotation ) ) ) XOR ( + lower_limit_second_rotation < upper_limit_second_rotation ) ); + END_ENTITY; + + ENTITY unused_patches + SUBTYPE OF ( overcomplex_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_SURFACE_STRIP' ] ); + wr5: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY unused_shape_element + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM'] ); + END_ENTITY; + + ENTITY usage_association + SUBTYPE OF ( action_method_relationship ); + SELF\action_method_relationship.relating_method : information_usage_right; + SELF\action_method_relationship.related_method : information_usage_right; + DERIVE + related : information_usage_right := SELF\action_method_relationship.related_method; + relating : information_usage_right := SELF\action_method_relationship.relating_method; + END_ENTITY; + + ENTITY user_defined_curve_font + SUBTYPE OF ( curve_style_font, mapped_item ); + END_ENTITY; + + ENTITY user_defined_marker + SUBTYPE OF ( mapped_item, pre_defined_marker ); + END_ENTITY; + + ENTITY user_defined_terminator_symbol + SUBTYPE OF ( mapped_item, pre_defined_symbol ); + END_ENTITY; + + ENTITY user_selected_elements + SUBTYPE OF ( representation_item ); + picked_items : SET [1 : ?] OF representation_item; + END_ENTITY; + + ENTITY user_selected_shape_elements + SUBTYPE OF ( user_selected_elements ); + SELF\user_selected_elements.picked_items : SET [1 : ?] OF shape_representation_item; + END_ENTITY; + + ENTITY value_format_type_qualifier; + format_type : value_format_type; + END_ENTITY; + + ENTITY value_function + SUPERTYPE OF ( + int_value_function ) + SUBTYPE OF ( numeric_expression, unary_generic_expression ); + SELF\unary_generic_expression.operand : string_expression; + END_ENTITY; + + ENTITY value_range + SUBTYPE OF ( compound_representation_item ); + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SET_REPRESENTATION_ITEM' ) IN TYPEOF( item_element ) ) AND + value_range_wr1( item_element ) ); + wr2: value_range_wr2( item_element ); + wr3: value_range_wr3( item_element ); + END_ENTITY; + + ENTITY value_representation_item + SUBTYPE OF ( representation_item ); + value_component : measure_value; + WHERE + wr1: ( SIZEOF( QUERY ( rep <* using_representations( SELF ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF( rep.context_of_items ) ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY variable + ABSTRACT SUPERTYPE OF ( + ONEOF ( + numeric_variable, + boolean_variable, + string_variable ) ) + SUBTYPE OF ( generic_variable ); + END_ENTITY; + + ENTITY variable_expression + SUBTYPE OF ( variable_semantics ); + property_associated : property_variable_rep_select; + END_ENTITY; + + ENTITY variable_semantics + ABSTRACT SUPERTYPE; + END_ENTITY; + + ENTITY variational_current_representation_relationship + SUBTYPE OF ( representation_relationship ); + SELF\representation_relationship.rep_1 : variational_representation; + current_result : representation; + UNIQUE + ur1 : current_result; + WHERE + wr1: ( QUERY ( q <* SELF\representation_relationship.rep_1.items | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'VARIATIONAL_REPRESENTATION_ITEM' IN TYPEOF( q ) ) ) ) = SELF\representation_relationship.rep_2.items ); + wr2: ( SELF\representation_relationship.rep_1.context_of_items :=: SELF\representation_relationship.rep_2.context_of_items ); + wr3: ( SIZEOF( QUERY ( q <* SELF\representation_relationship.rep_2.items | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' IN TYPEOF( q ) ) ) ) = 0 ); + wr4: ( ( TYPEOF( SELF\representation_relationship.rep_1 ) - TYPEOF( SELF\representation_relationship.rep_2 ) ) = [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VARIATIONAL_REPRESENTATION' ] ); + wr5: ( current_result :=: SELF\representation_relationship.rep_2 ); + END_ENTITY; + + ENTITY variational_parameter + ABSTRACT SUPERTYPE OF ( + ONEOF ( + bound_variational_parameter, + unbound_variational_parameter ) ) + SUBTYPE OF ( variational_representation_item, maths_variable ); + parameter_description : OPTIONAL text; + parameter_current_value : maths_value; + WHERE + wr1: member_of( parameter_current_value, SELF\maths_variable.values_space ); + wr2: ( SELF\maths_variable.name = SELF\representation_item.name ); + END_ENTITY; + + ENTITY variational_representation + SUBTYPE OF ( representation ); + INVERSE + cm_link : variational_current_representation_relationship FOR rep_1; + WHERE + wr1: ( SIZEOF( QUERY ( q <* SELF\representation.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'VARIATIONAL_REPRESENTATION_ITEM' IN TYPEOF( q ) ) ) ) > 0 ); + wr2: ( SIZEOF( QUERY ( q <* ( SELF\representation.items - cm_link.rep_2.items ) | invalidate_vrep_item( q ) ) ) = 0 ); + END_ENTITY; + + ENTITY variational_representation_item + ABSTRACT SUPERTYPE OF ( + auxiliary_geometric_representation_item ) + SUBTYPE OF ( representation_item ); + WHERE + wr1: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'VARIATIONAL_REPRESENTATION' IN TYPEOF( q ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( q <* using_representations( SELF ) | ( NOT ( SELF IN q.items ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY vector + SUBTYPE OF ( geometric_representation_item ); + orientation : direction; + magnitude : length_measure; + WHERE + wr1: ( magnitude >= 0 ); + END_ENTITY; + + ENTITY vector_style + SUBTYPE OF ( curve_style, pre_defined_terminator_symbol ); + END_ENTITY; + + ENTITY vee_profile + SUBTYPE OF ( shape_aspect ); + WHERE + wr1 : ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN TYPEOF( SELF.of_shape.definition ) ); + wr2 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) ) = 1 ) ) ) ) = 0 ); + wr3 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( ( NOT ( SIZEOF( impl_rep. + used_representation.items ) >= 3 ) ) AND ( SIZEOF( impl_rep.used_representation.items ) <= 6 ) ) ) ) = 0 ) ) ) ) = + 0 ); + wr4 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) AND ( SIZEOF( QUERY ( srwp_i <* + pdr.used_representation.items | ( ( srwp_i.name = 'orientation' ) OR ( srwp_i.name = 'profile angle' ) OR ( srwp_i + .name = 'tilt angle' ) OR ( srwp_i.name = 'profile radius' ) OR ( srwp_i.name = 'first length' ) OR ( srwp_i.name + = 'second length' ) ) ) ) = SIZEOF( pdr.used_representation.items ) ) ) ) ) = 1 ) ) ) = 1 ); + wr5 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' + IN TYPEOF( it ) ) AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'profile radius' ) ) ) ) + <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr7 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'profile angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr8 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] + * TYPEOF( it ) ) = 2 ) AND ( it.name = 'tilt angle' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr9 : ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'profile limit' ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr10: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'first length' ) ) ) ) + <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( pd <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( NOT ( SIZEOF( QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( + QUERY ( it <* impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( it ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LENGTH_MEASURE_WITH_UNIT' IN TYPEOF( it\measure_with_unit.value_component ) ) AND ( it.name = 'second length' ) ) ) ) + <= 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + END_ENTITY; + + ENTITY velocity_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VELOCITY_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY velocity_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 1, 0, -1, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY versioned_action_request; + id : identifier; + version : OPTIONAL label; + purpose : text; + description : OPTIONAL text; + END_ENTITY; + + ENTITY versioned_action_request_relationship; + id : identifier; + name : label; + description : OPTIONAL text; + relating_versioned_action_request : versioned_action_request; + related_versioned_action_request : versioned_action_request; + END_ENTITY; + + ENTITY vertex + SUBTYPE OF ( topological_representation_item ); + END_ENTITY; + + ENTITY vertex_loop + SUBTYPE OF ( loop ); + loop_vertex : vertex; + END_ENTITY; + + ENTITY vertex_point + SUBTYPE OF ( vertex, geometric_representation_item ); + vertex_geometry : point; + END_ENTITY; + + ENTITY vertex_shell + SUBTYPE OF ( topological_representation_item ); + vertex_shell_extent : vertex_loop; + END_ENTITY; + + ENTITY view_volume + SUBTYPE OF ( founded_item ); + projection_type : central_or_parallel; + projection_point : cartesian_point; + view_plane_distance : length_measure; + front_plane_distance : length_measure; + front_plane_clipping : BOOLEAN; + back_plane_distance : length_measure; + back_plane_clipping : BOOLEAN; + view_volume_sides_clipping : BOOLEAN; + view_window : planar_box; + INVERSE + camera_usages : SET [1 : ?] OF camera_model_d3 FOR perspective_of_volume; + WHERE + wr1: ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_2D' IN TYPEOF( SELF\view_volume.view_window. + placement ) ) OR ( dot_product( representation_item( ' ' ) || geometric_representation_item( ) || direction( [0, 0, + 1] ), SELF.view_window\planar_box.placement\axis2_placement_3d.p[3] ) = 1 ) ); + wr2: ( view_plane_distance = view_window.placement\placement.location.coordinates[3] ); + END_ENTITY; + + ENTITY visual_appearance_representation + SUBTYPE OF ( representation ); + WHERE + wr1 : ( ( 3 <= SIZEOF( SELF.items ) ) AND ( SIZEOF( SELF.items ) <= 9 ) AND ( ( SIZEOF( QUERY ( i <* items | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND ( + i.name IN [ 'colour id', 'colour name', 'lustre', 'pattern', 'transparency', 'orientation'] ) ) ) ) + SIZEOF( + QUERY ( i <* items | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'VALUE_RANGE'] * TYPEOF( i ) ) + = 1 ) AND ( i.name IN [ 'refraction index', 'opacity'] ) ) ) ) + SIZEOF( QUERY ( i <* items | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DOCUMENT_FILE' ) IN TYPEOF( i ) ) AND ( i.name IN [ + 'texture map' ] ) ) ) ) ) = SIZEOF( SELF.items ) ) ); + wr2 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'colour id' ) ) ) = 1 ); + wr3 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'lustre' ) ) ) = 1 ); + wr4 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'colour name' ) ) ) <= 1 ); + wr5 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'pattern' ) ) ) <= 1 ); + wr6 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'transparency' ) ) ) <= 1 ); + wr7 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'texture map' ) ) ) <= 1 ); + wr8 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'refraction index' ) ) ) <= 1 ); + wr9 : ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'opacity' ) ) ) <= 1 ); + wr10: ( SIZEOF( QUERY ( i <* SELF.items | ( i.name = 'orientation' ) ) ) <= 1 ); + wr11: ( ( SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + + 'USED_REPRESENTATION' ) ) = 1 ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( SELF, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) + | ( SIZEOF( QUERY ( gpa <* USEDIN( pdr.definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION' ) | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GENERAL_PROPERTY' ) IN TYPEOF( gpa.base_definition ) ) AND + ( gpa\general_property_association.base_definition\general_property.name = 'surface_condition' ) ) ) ) = 1 ) ) ) = + 1 ) ); + END_ENTITY; + + ENTITY volume + SUBTYPE OF ( geometric_representation_item ); + WHERE + wr1: ( SELF\geometric_representation_item.dim = 3 ); + END_ENTITY; + + ENTITY volume_measure_with_unit + SUBTYPE OF ( measure_with_unit ); + WHERE + wr1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VOLUME_UNIT' IN TYPEOF( SELF\measure_with_unit.unit_component ) ); + END_ENTITY; + + ENTITY volume_unit + SUBTYPE OF ( derived_unit ); + WHERE + wr1: ( derive_dimensional_exponents( SELF ) = dimensional_exponents( 3, 0, 0, 0, 0, 0, 0 ) ); + END_ENTITY; + + ENTITY week_of_year_and_day_date + SUBTYPE OF ( date ); + week_component : week_in_year_number; + day_component : OPTIONAL day_in_week_number; + WHERE + wr1: ( ( NOT leap_year( SELF\date.year_component ) ) OR ( ( 1 <= ( day_component + ( 7 * ( week_component - 1 ) ) ) ) AND + ( ( day_component + ( 7 * ( week_component - 1 ) ) ) <= 366 ) ) ); + wr2: ( leap_year( SELF\date.year_component ) OR ( ( 1 <= ( day_component + ( 7 * ( week_component - 1 ) ) ) ) AND ( ( + day_component + ( 7 * ( week_component - 1 ) ) ) <= 365 ) ) ); + END_ENTITY; + + ENTITY wire_shell + SUBTYPE OF ( topological_representation_item ); + wire_shell_extent : SET [1 : ?] OF loop; + WHERE + wr1: ( NOT mixed_loop_type_set( wire_shell_extent ) ); + END_ENTITY; + + ENTITY wrong_element_name + SUBTYPE OF ( externally_conditioned_data_quality_criterion ); + WHERE + wr1: validate_ecdq_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM'] ); + END_ENTITY; + + ENTITY wrongly_oriented_void + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ORIENTED_CLOSED_SHELL' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY wrongly_placed_loop + SUBTYPE OF ( erroneous_topology_and_geometry_relationship ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BOUND'] ); + wr4: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'] ); + END_ENTITY; + + ENTITY wrongly_placed_void + SUBTYPE OF ( erroneous_manifold_solid_brep ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; + WHERE + wr1: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE' ); + wr2: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS'] ); + wr3: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ORIENTED_CLOSED_SHELL' ] ); + wr4: validate_accuracy_types( SELF, [] ); + END_ENTITY; + + ENTITY xor_expression + SUBTYPE OF ( binary_boolean_expression ); + SELF\binary_generic_expression.operands : LIST [2 : 2] OF boolean_expression; + END_ENTITY; + + ENTITY year_month + SUBTYPE OF ( date ); + month_component : month_in_year_number; + END_ENTITY; + + ENTITY zero_surface_normal + SUBTYPE OF ( geometry_with_local_irregularity ); + SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; + WHERE + wr1: ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' ) IN TYPEOF( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN value_limit_type( SELF\ + shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold ) ) ); + wr2: validate_measured_data_type( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' ); + wr3: validate_inspected_elements_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE'] ); + wr4: validate_locations_of_extreme_value_type( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE'] ); + wr5: validate_accuracy_types( SELF, [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'] ); + END_ENTITY; + + ENTITY zone_structural_makeup + SUPERTYPE OF ( + ONEOF ( + smeared_material_definition + AND + thickness_laminate_table, + smeared_material_definition + AND + percentage_laminate_table, + thickness_laminate_table, + percentage_laminate_table, + smeared_material_definition ) ) + SUBTYPE OF ( laminate_table ); + END_ENTITY; + + RULE alternative_solution_requires_solution_definition FOR ( product_definition_formation ); + + LOCAL + solution_versions : SET OF product_definition_formation := []; + END_LOCAL; + solution_versions := QUERY ( pdf <* product_definition_formation | ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'alternative solution' ) ) ) = 1 ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdf <* solution_versions | ( SIZEOF( QUERY ( pd <* USEDIN( pdf, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION.FORMATION' ) | ( pd.frame_of_reference. + name = 'alternative definition' ) ) ) <> 1 ) ) ) = 0 ); + + END_RULE; + + RULE application_protocol_definition_required FOR ( application_context ); + + WHERE + wr1: ( SIZEOF( QUERY ( ac <* application_context | ( SIZEOF( QUERY ( apd <* USEDIN( ac, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION' ) | ( apd. + application_interpreted_model_schema_name = 'ap242_managed_model_based_3d_engineering' ) ) ) > 0 ) ) ) > 0 ); + + END_RULE; + + RULE breakdown_element_requires_product_definition FOR ( product_definition_formation ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdf <* product_definition_formation | ( ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'functionality' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pd <* USEDIN( pdf, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | ( pd.frame_of_reference.name = + 'functional definition' ) ) ) < 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pdf <* product_definition_formation | ( ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'conceptual design' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( pd <* USEDIN( pdf, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | ( pd.frame_of_reference.name = + 'conceptual definition' ) ) ) < 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE chamfer_offset_requires_faces FOR ( chamfer_offset, property_definition_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( co <* chamfer_offset | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr + \property_definition_representation.definition\property_definition.definition = co ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( ( ( pdr\property_definition_representation.definition\property_definition.definition.description = 'first offset' ) + AND ( pdr.used_representation.name = 'first face shape' ) ) OR ( ( pdr\property_definition_representation.definition\ + property_definition.definition.description = 'second offset' ) AND ( pdr.used_representation.name = 'second face shape' ) ) ) ) ) ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE chamfer_requires_faces FOR ( chamfer, property_definition_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( cf <* chamfer | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr\ + property_definition_representation.definition\property_definition.definition = cf ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'chamfer face' ) ) ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE compatible_dimension FOR ( cartesian_point, direction, representation_context, geometric_representation_context ); + + WHERE + wr1: ( SIZEOF( QUERY ( x <* cartesian_point | ( SIZEOF( QUERY ( y <* geometric_representation_context | ( item_in_context( x, + y ) AND ( HIINDEX( x.coordinates ) <> y.coordinate_space_dimension ) ) ) ) > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( x <* direction | ( SIZEOF( QUERY ( y <* geometric_representation_context | ( item_in_context( x, y ) + AND ( HIINDEX( x.direction_ratios ) <> y.coordinate_space_dimension ) ) ) ) > 0 ) ) ) = 0 ); + + END_RULE; + + RULE component_class_for_assembly_select FOR ( composite_assembly_sequence_definition, next_assembly_usage_occurrence, + product_related_product_category ); + + LOCAL + i : INTEGER := 0; + j : INTEGER := 0; + k : INTEGER := 0; + dkuhr : LOGICAL := TRUE; + nnauo : INTEGER := 0; + nprpc : INTEGER := 0; + rp : product; + END_LOCAL; + REPEAT i := LOINDEX( composite_assembly_sequence_definition ) TO HIINDEX( composite_assembly_sequence_definition ) BY 1; + nnauo := 0; + REPEAT j := LOINDEX( next_assembly_usage_occurrence ) TO HIINDEX( next_assembly_usage_occurrence ) BY 1; + IF composite_assembly_sequence_definition[i] = next_assembly_usage_occurrence[j].relating_product_definition THEN + rp := next_assembly_usage_occurrence[j].related_product_definition.formation.of_product; + nprpc := 0; + REPEAT k := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF ( rp IN product_related_product_category[k].products ) AND ( product_related_product_category[k].name IN [ 'ply', + 'ply laminate' , 'filament laminate', 'processed core', 'composite assembly'] ) THEN + nprpc := nprpc + 1; + END_IF; + END_REPEAT; + IF nprpc = 1 THEN + nnauo := nnauo + 1; + ELSE + dkuhr := FALSE; + ESCAPE; + END_IF; + END_IF; + END_REPEAT; + IF dkuhr = FALSE THEN + ESCAPE; + END_IF; + IF nnauo = 0 THEN + dkuhr := FALSE; + ESCAPE; + END_IF; + END_REPEAT; + + WHERE + wr1: dkuhr; + + END_RULE; + + RULE consistent_uncertainty FOR ( global_uncertainty_assigned_context, qualified_representation_item, + uncertainty_assigned_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( guac <* global_uncertainty_assigned_context | ( SIZEOF( QUERY ( u1 <* guac.uncertainty | ( SIZEOF( + QUERY ( u2 <* guac.uncertainty | ( u2.name = u1.name ) ) ) > 1 ) ) ) > 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( uar <* uncertainty_assigned_representation | ( SIZEOF( QUERY ( u1 <* uar.uncertainty | ( SIZEOF( + QUERY ( u2 <* uar.uncertainty | ( u2.name = u1.name ) ) ) > 1 ) ) ) > 0 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( qri <* qualified_representation_item | ( SIZEOF( QUERY ( u1 <* qri.qualifiers | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' ) IN TYPEOF( u1 ) ) AND ( SIZEOF( + QUERY ( u2 <* qri.qualifiers | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' ) + IN TYPEOF( u2 ) ) AND ( u2\uncertainty_qualifier.measure_name = u1\uncertainty_qualifier.measure_name ) ) ) ) > 1 ) ) ) ) + > 0 ) ) ) = 0 ); + + END_RULE; + + RULE constraint_definition_requires_constraint_category FOR ( product_definition ); + + LOCAL + constraint_definitions : SET OF product_definition := []; + END_LOCAL; + constraint_definitions := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = 'design constraint definition' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* constraint_definitions | ( SIZEOF( QUERY ( prpc <* USEDIN( pd.formation.of_product, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'requirement' ) ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE design_constraint_requires_product_definition FOR ( product_definition_formation ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdf <* product_definition_formation | ( ( SIZEOF( QUERY ( prpc <* USEDIN( pdf.of_product, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'requirement' ) ) ) > 0 ) AND ( SIZEOF( QUERY ( pd <* USEDIN( pdf, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION.FORMATION' ) | ( pd.frame_of_reference.name = 'design constraint definition' ) ) ) < 1 ) ) ) ) + = 0 ); + + END_RULE; + + RULE dimensioning_data_requires_document FOR ( applied_document_reference, product_definition_context_association, + role_association ); + + LOCAL + adr : SET OF applied_document_reference := QUERY ( adr <* applied_document_reference | ( ( adr\document_reference. + assigned_document\document.kind\document_type.product_data_type = 'Standards Document' ) AND ( ( adr\ + document_reference.assigned_document\document.id = 'ASME Y14.41-2003' ) OR ( adr\document_reference. + assigned_document\document.id = 'ASME Y14.5M-1994' ) OR ( adr\document_reference.assigned_document\document.id = + 'ISO 1101: 2004' ) ) ) ); + pdca : SET OF product_definition_context_association := QUERY ( pdca <* product_definition_context_association | ( ( pdca + \product_definition_context_association.role\product_definition_context_role.name = 'additional context' ) AND ( + pdca\product_definition_context_association.frame_of_reference\application_context_element.name = + 'Geometric Dimensioning and Tolerancing Product Specification' ) ) ); + ra : SET OF role_association := QUERY ( ra <* role_association | ( ra\role_association.role\object_role.name = + 'dimensioning standard' ) ); + ra1 : SET OF role_association := []; + pdpdca : SET OF product_definition := []; + pdadr : SET OF product_definition := []; + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( pdca ) BY 1; + pdpdca := pdpdca + pdca[i]\product_definition_context_association.definition; + END_REPEAT; + REPEAT i := 1 TO HIINDEX( adr ) BY 1; + ra1 := bag_to_set( USEDIN( adr[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROLE_ASSOCIATION.ITEM_WITH_ROLE' ) ); + IF ( ra1 * ra ) <> ra1 THEN + pass := FALSE; + END_IF; + REPEAT j := 1 TO HIINDEX( adr[i]\applied_document_reference.items ) BY 1; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( adr[i]\applied_document_reference. + items[j] ) THEN + pdadr := pdadr + adr[i]\applied_document_reference.items[j]; + END_IF; + END_REPEAT; + END_REPEAT; + + WHERE + wr1: pass; + wr2: ( pdpdca = pdadr ); + + END_RULE; + + RULE draughting_model_items_constraint FOR ( draughting_model ); + + WHERE + wr1: ( SIZEOF( QUERY ( dm <* draughting_model | ( NOT ( SIZEOF( QUERY ( it1 <* dm\representation.items | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_OCCURRENCE' IN TYPEOF( it1 ) ) AND ( NOT ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_ANNOTATION_OCCURRENCE' ) IN TYPEOF( it1 ) ) ) ) ) ) + = 0 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( dm <* draughting_model | ( NOT ( SIZEOF( QUERY ( it1 <* dm\representation.items | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF( it1 ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_ELEMENTS' IN TYPEOF( it1 ) ) ) ) ) ) = 0 ) ) ) ) = 0 ); + + END_RULE; + + RULE edge_round_requires_faces FOR ( edge_round, property_definition_representation ); + + WHERE + wr1: ( 0 = SIZEOF( QUERY ( er <* edge_round | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr + \property_definition_representation.definition\property_definition.definition = er ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'edge round face' ) ) ) ) ) ) ) ) ); + wr2: ( SIZEOF( QUERY ( er <* edge_round | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr\ + property_definition_representation.definition\property_definition.definition = er ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'first face shape' ) ) ) ) ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( er <* edge_round | ( NOT ( 1 = SIZEOF( QUERY ( pdr <* property_definition_representation | ( ( pdr\ + property_definition_representation.definition\property_definition.definition = er ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) + AND ( pdr.used_representation.name = 'second face shape' ) ) ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE external_version_assignments_are_valid FOR ( applied_external_identification_assignment ); + + WHERE + wr1: ( SIZEOF( QUERY ( aia <* applied_external_identification_assignment | ( NOT external_version_assignment_is_valid( aia ) ) ) ) + = 0 ); + + END_RULE; + + RULE machining_feature_definition_constraints FOR ( feature_definition ); + + LOCAL + mfds : SET OF feature_definition := []; + END_LOCAL; + mfds := QUERY ( temp <* feature_definition | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MACHINING_FEATURE_DEFINITION' + IN TYPEOF( temp ) ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( mfd <* mfds | ( NOT ( SIZEOF( QUERY ( pdr <* get_property_definition_representations( mfd ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr. + used_representation ) ) ) ) <= 1 ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( mfd <* mfds | ( NOT ( SIZEOF( QUERY ( pd <* USEDIN( mfd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | ( NOT ( SIZEOF( + QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( pdr.used_representation ) ) ) | ( NOT ( SIZEOF( QUERY ( it <* + impl_rep.used_representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' IN TYPEOF( it ) ) + AND ( it.name = 'orientation' ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( mfd <* mfds | ( NOT ( ( NOT ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUND_HOLE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'OUTSIDE_PROFILE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REMOVAL_VOLUME', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FLAT_FACE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POCKET' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROTRUSION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIB_TOP' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ROUNDED_END' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STEP' ] * TYPEOF( mfds ) ) = 1 ) ) OR ( SIZEOF( QUERY ( pdr <* + get_property_definition_representations( mfd ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PLANAR_SHAPE_REPRESENTATION' IN TYPEOF( pdr.used_representation ) ) AND ( pdr.used_representation.name = + 'maximum feature limit' ) ) ) ) >= 0 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE machining_feature_life_cycle FOR ( instanced_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( mf <* instanced_feature | ( NOT ( mf.of_shape.definition.frame_of_reference.life_cycle_stage = + 'manufacturing planning' ) ) ) ) = 0 ); + + END_RULE; + + RULE material_for_coating_layer FOR ( shape_aspect ); + + LOCAL + coating_layers : SET OF shape_aspect := []; + END_LOCAL; + coating_layers := QUERY ( r <* shape_aspect | ( r.name = 'coating layer' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( r <* coating_layers | ( SIZEOF( USEDIN( r, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MATERIAL_DESIGNATION.DEFINITIONS' ) ) <> 1 ) ) ) = 0 ); + + END_RULE; + + RULE plib_property_reference_requires_name_scope FOR ( externally_defined_general_property ); + + LOCAL + known_sourced_properties : SET OF externally_defined_general_property; + END_LOCAL; + known_sourced_properties := QUERY ( edc <* externally_defined_general_property | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KNOWN_SOURCE' IN TYPEOF( edc.source ) ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( edgp <* known_sourced_properties | ( SIZEOF( QUERY ( edir <* USEDIN( edgp, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.RELATING_ITEM' ) | ( ( edir. + name = 'name scope' ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXTERNALLY_DEFINED_CLASS' IN TYPEOF( + edir.related_item ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KNOWN_SOURCE' IN TYPEOF( edir. + related_item.source ) ) ) ) ) <> 1 ) ) ) = 0 ); + + END_RULE; + + RULE plib_property_reference_requires_version FOR ( externally_defined_general_property ); + + LOCAL + plib_properties : SET OF externally_defined_general_property := []; + END_LOCAL; + plib_properties := QUERY ( edgp <* externally_defined_general_property | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'KNOWN_SOURCE' IN TYPEOF( edgp.source ) ) AND ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KNOWN_SOURCE' + '.' + + 'NAME' ) = 'ISO 13584 library' ) ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( edgp <* plib_properties | ( SIZEOF( QUERY ( edir <* USEDIN( edgp, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS' ) | ( edir.role. + name = 'version' ) ) ) <> 1 ) ) ) = 0 ); + + END_RULE; + + RULE ply_reference FOR ( ply_laminate_sequence_definition, next_assembly_usage_occurrence, product_related_product_category ); + + LOCAL + i : INTEGER; + j : INTEGER; + k : INTEGER; + dkuhr : LOGICAL := TRUE; + nnauo : INTEGER; + nprpc : INTEGER := 0; + rp : product; + END_LOCAL; + REPEAT i := LOINDEX( ply_laminate_sequence_definition ) TO HIINDEX( ply_laminate_sequence_definition ) BY 1; + nnauo := 0; + REPEAT j := LOINDEX( next_assembly_usage_occurrence ) TO HIINDEX( next_assembly_usage_occurrence ) BY 1; + IF ply_laminate_sequence_definition[i] = next_assembly_usage_occurrence[j].relating_product_definition THEN + rp := next_assembly_usage_occurrence[j].related_product_definition.formation.of_product; + nprpc := 0; + REPEAT k := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF ( product_related_product_category[k].name = 'ply' ) AND ( rp IN product_related_product_category[k].products ) + THEN + nprpc := nprpc + 1; + END_IF; + END_REPEAT; + IF nprpc = 1 THEN + nnauo := nnauo + 1; + ELSE + dkuhr := FALSE; + ESCAPE; + END_IF; + END_IF; + END_REPEAT; + IF dkuhr = FALSE THEN + ESCAPE; + END_IF; + IF nnauo = 0 THEN + dkuhr := FALSE; + ESCAPE; + END_IF; + END_REPEAT; + + WHERE + wr1: dkuhr; + + END_RULE; + + RULE ply_stock_material_select FOR ( product_related_product_category, make_from_usage_option ); + + LOCAL + i : INTEGER; + j : INTEGER; + k : INTEGER; + kp : INTEGER; + dkuhr : LOGICAL; + nmfuo : INTEGER; + nprpc : INTEGER := 0; + rp : product; + END_LOCAL; + dkuhr := TRUE; + REPEAT kp := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF product_related_product_category[kp].name = 'ply' THEN + REPEAT i := LOINDEX( product_related_product_category[kp].products ) TO HIINDEX( product_related_product_category[kp]. + products ) BY 1; + nmfuo := 0; + REPEAT j := LOINDEX( make_from_usage_option ) TO HIINDEX( make_from_usage_option ) BY 1; + rp := make_from_usage_option[j].related_product_definition.formation.of_product; + IF product_related_product_category[kp].products[i] = rp THEN + REPEAT k := LOINDEX( product_related_product_category ) TO HIINDEX( product_related_product_category ) BY 1; + IF ( rp IN product_related_product_category[k].products ) AND ( product_related_product_category[k].name IN [ + 'isotropic material' , 'filament assembly', 'discontinuous fiber assembly'] ) THEN + nprpc := nprpc + 1; + END_IF; + END_REPEAT; + IF nprpc = 1 THEN + nmfuo := nmfuo + 1; + ELSE + dkuhr := FALSE; + ESCAPE; + END_IF; + END_IF; + END_REPEAT; + IF dkuhr = FALSE THEN + ESCAPE; + END_IF; + IF nmfuo <> 1 THEN + dkuhr := FALSE; + ESCAPE; + END_IF; + END_REPEAT; + END_IF; + END_REPEAT; + + WHERE + wr1: dkuhr; + + END_RULE; + + RULE product_concept_feature_requires_category FOR ( product_concept_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( pcf <* product_concept_feature | ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONDITIONAL_CONCEPT_FEATURE' ] * TYPEOF( pcf ) ) = 0 ) AND ( SIZEOF( QUERY ( aga <* USEDIN( pcf, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT.' + 'ITEMS' ) | ( ( aga\ + group_assignment.role\object_role.name = 'specification category member' ) AND ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' ) IN TYPEOF( aga. + assigned_group ) ) ) ) ) <> 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE product_definition_replacement_requires_effectivity_assignment FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'definition replacement' ) AND ( SIZEOF( + USEDIN( pdr, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT.ITEMS' ) ) = 0 ) ) ) ) = + 0 ); + + END_RULE; + + RULE restrict_alternative_definition FOR ( product_definition ); + + LOCAL + solution_definitions : SET OF product_definition := []; + END_LOCAL; + solution_definitions := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = 'alternative definition' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* solution_definitions | ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) + | ( pdr.name = 'solution alternative definition' ) ) ) <> 1 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* solution_definitions | ( NOT ( pd.name IN [ 'technical', 'supplier', 'technical supplier', ''] ) ) ) ) + = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* solution_definitions | ( ( pd.name IN [ 'supplier', 'technical supplier'] ) AND ( SIZEOF( + QUERY ( aoa <* USEDIN( pd.formation, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS' ) | ( aoa.role.name = 'supplier' ) ) ) <> 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_assembly_category FOR ( product_definition ); + + LOCAL + assembly_definitions : SET OF product_definition := []; + END_LOCAL; + assembly_definitions := QUERY ( pd <* product_definition | ( SIZEOF( QUERY ( pdca <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION' ) | ( pdca. + frame_of_reference.name = 'assembly definition' ) ) ) > 0 ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* assembly_definitions | ( NOT ( 'assembly' IN categories_of_product( pd.formation.of_product ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_centre_of_mass_representation FOR ( representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( r <* representation | ( ( r.name = 'centre of mass' ) AND ( ( SIZEOF( r.items ) <> 1 ) OR ( SIZEOF( + QUERY ( i <* r.items | ( ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POINT' ) IN TYPEOF( i ) ) AND ( i. + name = 'centre point' ) ) ) ) <> 1 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_classification_assignments FOR ( applied_classification_assignment ); + + WHERE + wr1: ( SIZEOF( QUERY ( aia <* applied_classification_assignment | ( NOT class_assignment_is_valid( aia ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_collection_category FOR ( product_definition ); + + LOCAL + collection_definitions : SET OF product_definition := []; + END_LOCAL; + collection_definitions := QUERY ( pd <* product_definition | ( SIZEOF( QUERY ( pdca <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION' ) | ( pdca. + frame_of_reference.name = 'collection definition' ) ) ) > 0 ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* collection_definitions | ( NOT ( 'collection' IN categories_of_product( pd.formation.of_product ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_concept_feature_operator FOR ( concept_feature_operator ); + + WHERE + wr1: ( SIZEOF( QUERY ( cfo <* concept_feature_operator | ( NOT ( cfo.name IN [ 'and', 'or', 'oneof', 'not', 'implication'] ) ) ) ) + = 0 ); + wr2: ( SIZEOF( QUERY ( cfo <* concept_feature_operator | ( ( cfo.name = 'implication' ) AND ( SIZEOF( QUERY ( cfrwc <* + USEDIN( cfo, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' + + 'CONDITIONAL_OPERATOR' ) | ( SIZEOF( QUERY ( ccf <* USEDIN( cfrwc, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CONDITIONAL_CONCEPT_FEATURE.CONDITION' ) | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' ) IN TYPEOF( ccf ) ) ) ) ) > 0 ) ) ) > 0 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( cfo <* concept_feature_operator | ( ( cfo.name = 'not' ) AND ( SIZEOF( QUERY ( cfrwc <* USEDIN( cfo, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' + + 'CONDITIONAL_OPERATOR' ) | ( cfrwc.related_product_concept_feature :<>: cfrwc.relating_product_concept_feature ) ) ) + > 0 ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_configuration_design_for_class_breakdown_association FOR ( configuration_design ); + + WHERE + wr1: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name = 'functionality' ) AND ( ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( cd.design ) ) ) OR ( cd.design\ + product_definition.frame_of_reference.name <> 'functional definition' ) ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name = 'realization' ) AND ( ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( cd.design ) ) ) OR ( cd.design\ + product_definition.frame_of_reference.name <> 'conceptual definition' ) ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name IN [ 'functionality', 'realization'] ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_CLASS' IN TYPEOF( cd.configuration.item_concept ) ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_configuration_design_for_design_constraint FOR ( configuration_design ); + + WHERE + wr1: ( SIZEOF( QUERY ( cd <* configuration_design | ( ( cd.name = 'design constraint usage' ) AND ( ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( cd.design ) ) ) OR ( cd.design\ + product_definition.frame_of_reference.name <> 'design constraint definition' ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_group_relationship_for_classification_hierarchy FOR ( group_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( gr <* group_relationship | ( ( gr\group_relationship.name = 'class hierarchy' ) AND ( ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLASS' IN TYPEOF( gr\group_relationship.related_group ) ) ) OR ( + NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLASS' IN TYPEOF( gr\group_relationship.relating_group ) ) ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_group_relationship_for_specification_category FOR ( group_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( gr <* group_relationship | ( ( gr.name = 'specification category hierarchy' ) AND ( ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF( gr.related_group ) ) ) + OR ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF( gr. + relating_group ) ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_language_assignment_per_attribute FOR ( attribute_language_assignment ); + + WHERE + wr1: ( SIZEOF( QUERY ( ala1 <* attribute_language_assignment | ( SIZEOF( QUERY ( it <* ala1.items | ( SIZEOF( + QUERY ( ala2 <* USEDIN( it, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ) + | ( ( ala1\attribute_classification_assignment.attribute_name = ala2\attribute_classification_assignment. + attribute_name ) AND ( ala1\attribute_classification_assignment.assigned_class :=: ala2\ + attribute_classification_assignment.assigned_class ) ) ) ) > 1 ) ) ) > 0 ) ) ) = 0 ); + + END_RULE; + + RULE restrict_part_occurrence FOR ( product_definition ); + + LOCAL + part_occurrences : SET OF product_definition := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = + 'part occurrence' ) ); + END_LOCAL; + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* part_occurrences | ( NOT ( pd.name IN [ 'single instance', 'selected instance', + 'quantified instance' , 'specified instance'] ) ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( SIZEOF( QUERY ( pdr <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) + | ( pdr.name = 'definition usage' ) ) ) <> 1 ) AND ( SIZEOF( QUERY ( cd <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONFIGURATION_DESIGN.DESIGN' ) | ( ( cd.name = + 'occurrence usage definition' ) AND ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_IDENTIFICATION' ) IN TYPEOF( cd.configuration ) ) ) ) ) ) <> 1 ) ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( SIZEOF( QUERY ( cd <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) + | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_USAGE' ) IN TYPEOF( cd ) ) ) ) = 0 ) + AND ( SIZEOF( USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) ) = 0 ) ) ) ) = 0 ); + wr4: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( pd.name = 'selected instance' ) AND ( NOT + valid_selected_instance_representation( pd ) ) ) ) ) = 0 ); + wr5: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( pd.name = 'quantified instance' ) AND ( SIZEOF( QUERY ( ppd <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION.DEFINITION' ) | ( ( ppd.name = + 'occurrence quantity' ) AND ( SIZEOF( QUERY ( pdr <* USEDIN( ppd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( ( pdr.used_representation.name = 'quantity' ) AND ( SIZEOF( + pdr.used_representation.items ) = 1 ) AND ( SIZEOF( QUERY ( i <* pdr.used_representation.items | ( ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) AND ( i.name + = 'quantity measure' ) ) ) ) = 1 ) ) ) ) = 1 ) ) ) ) = 0 ) ) ) ) = 0 ); + wr6: ( SIZEOF( QUERY ( pd <* part_occurrences | ( ( pd.name = 'specified instance' ) AND ( SIZEOF( QUERY ( pdor <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) | ( + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SPECIFIED_HIGHER_USAGE_OCCURRENCE' ) IN TYPEOF( pdor. + occurrence_usage ) ) ) ) = 0 ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_part_occurrence_category FOR ( product_definition ); + + LOCAL + part_occurrences : SET OF product_definition := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = + 'part occurrence' ) ); + END_LOCAL; + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* part_occurrences | ( SIZEOF( QUERY ( prpc <* USEDIN( pd.formation.of_product, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name IN [ + 'part' , 'raw material', 'tool'] ) ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_base_element FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'solution alternative definition' ) AND ( ( + NOT ( pdr.relating_product_definition.frame_of_reference.name IN [ 'alternative definition', 'functional definition', + 'conceptual definition' ] ) ) OR ( pdr.related_product_definition.frame_of_reference.name <> 'alternative definition' ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_collection FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'collection membership' ) AND ( ( pdr. + relating_product_definition.frame_of_reference.name <> 'part definition' ) OR ( pdr.related_product_definition. + frame_of_reference.name <> 'part occurrence' ) OR ( SIZEOF( QUERY ( pdca <* USEDIN( pdr.relating_product_definition, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION' ) | ( ( + pdca.role.name = 'part definition type' ) AND ( pdca.frame_of_reference.name = 'collection definition' ) ) ) ) = 0 ) ) ) ) ) + = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_definition_usage FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'definition usage' ) AND ( ( pdr. + relating_product_definition.frame_of_reference.name <> 'part definition' ) OR ( pdr.related_product_definition. + frame_of_reference.name <> 'part occurrence' ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_design_constraint_association FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name = 'design constraint association' ) AND ( ( pdr. + relating_product_definition.frame_of_reference.name <> 'design constraint definition' ) OR ( NOT ( pdr. + related_product_definition.frame_of_reference.name IN [ 'alternative definition', 'functional definition', + 'conceptual definition' ] ) ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_product_definitions_for_part_definition_relationship FOR ( product_definition_relationship ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* product_definition_relationship | ( ( pdr.name IN [ 'geometrical relationship', + 'definition replacement' ] ) AND ( ( pdr.relating_product_definition.frame_of_reference.name <> 'part definition' ) + OR ( pdr.related_product_definition.frame_of_reference.name <> 'part definition' ) ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_representation_for_surface_condition FOR ( property_definition_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdr <* property_definition_representation | ( NOT surface_condition_correlation( pdr.definition, pdr. + used_representation ) ) ) ) = 0 ); + + END_RULE; + + RULE restrict_treatment_result FOR ( representation ); + + LOCAL + treatment_results : SET OF representation := []; + END_LOCAL; + treatment_results := QUERY ( r <* representation | ( r.name = 'treatment result' ) ); + + WHERE + wr1: ( ( SIZEOF( QUERY ( r <* treatment_results | ( SIZEOF( r.items ) > 2 ) ) ) = 0 ) AND ( SIZEOF( QUERY ( r <* + treatment_results | ( SIZEOF( QUERY ( i <* r.items | ( NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' ) IN TYPEOF( i ) ) ) ) ) > 0 ) ) ) = 0 ) ); + wr2: ( SIZEOF( QUERY ( r <* treatment_results | ( SIZEOF( QUERY ( i <* r.items | ( i.name = 'result' ) ) ) = 0 ) ) ) = 0 ); + wr3: ( SIZEOF( QUERY ( r <* treatment_results | ( SIZEOF( QUERY ( i <* r.items | ( i.name = 'purpose' ) ) ) > 1 ) ) ) = 0 ); + + END_RULE; + + RULE selected_instance_usage_requires_representation FOR ( assembly_component_usage ); + + LOCAL + selected_instance_usages : SET OF assembly_component_usage := QUERY ( acr <* assembly_component_usage | ( acr.name = + 'selected instance usage' ) ); + END_LOCAL; + + WHERE + wr1: ( SIZEOF( QUERY ( acr <* selected_instance_usages | ( NOT valid_selected_instance_representation( acr ) ) ) ) = 0 ); + + END_RULE; + + RULE solution_definition_requires_solution_category FOR ( product_definition ); + + LOCAL + solution_definitions : SET OF product_definition := []; + END_LOCAL; + solution_definitions := QUERY ( pd <* product_definition | ( pd.frame_of_reference.name = 'alternative definition' ) ); + + WHERE + wr1: ( SIZEOF( QUERY ( pd <* solution_definitions | ( SIZEOF( QUERY ( prpc <* USEDIN( pd.formation.of_product, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | ( prpc.name = + 'alternative solution' ) ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE styled_curve FOR ( styled_item ); + + WHERE + wr1: ( SIZEOF( QUERY ( si <* styled_item | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF( si.item ) ) + AND ( SIZEOF( QUERY ( psa <* si.styles | ( SIZEOF( QUERY ( cs <* psa.styles | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF( cs ) ) ) ) > 0 ) ) ) <> 1 ) ) ) ) = 0 ); + + END_RULE; + + RULE subtype_exclusiveness_geometric_tolerance FOR ( geometric_tolerance ); + + WHERE + wr1: ( SIZEOF( QUERY ( gt <* geometric_tolerance | ( NOT type_check_function( gt, [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANGULARITY_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COAXIALITY_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONCENTRICITY_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CYLINDRICITY_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FLATNESS_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE_PROFILE_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARALLELISM_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PERPENDICULARITY_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITION_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDNESS_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRAIGHTNESS_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_PROFILE_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SYMMETRY_TOLERANCE' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TOTAL_RUNOUT_TOLERANCE' ], 2 ) ) ) ) = 0 ); + + END_RULE; + + RULE subtype_exclusiveness_representation_item FOR ( representation_item ); + + WHERE + wr1: ( SIZEOF( QUERY ( cri <* representation_item | ( NOT type_check_function( cri, [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOUND_REPRESENTATION_ITEM' ], 3 ) ) ) ) = 0 ); + + END_RULE; + + RULE subtype_mandatory_shape_representation FOR ( shape_representation ); + + WHERE + wr1: ( SIZEOF( QUERY ( sr <* shape_representation | ( NOT ( ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ADVANCED_BREP_SHAPE_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FACETED_BREP_SHAPE_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'BEVELED_SHEET_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHEET_REPRESENTATION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOUND_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_2D_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOCATION_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DIMENSION_REPRESENTATION' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' ] * TYPEOF( sr ) ) = 1 ) OR ( + SIZEOF( QUERY ( it <* sr\representation.items | ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'AXIS2_PLACEMENT_3D' IN TYPEOF( it ) ) ) ) ) = 0 ) OR ( SIZEOF( QUERY ( sdr <* QUERY ( pdr <* USEDIN( sr, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + 'USED_REPRESENTATION' ) | + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ) | ( NOT ( + SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP' ] * TYPEOF( sdr.definition ) ) = 1 ) ) ) ) + = 0 ) ) ) ) ) = 0 ); + + END_RULE; + + RULE text_font_usage FOR ( externally_defined_text_font, pre_defined_text_font ); + + WHERE + wr1: ( SIZEOF( QUERY ( pdtf <* pre_defined_text_font | ( SIZEOF( USEDIN( pdtf, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL.FONT' ) ) = 0 ) ) ) = 0 ); + wr2: ( SIZEOF( QUERY ( edtf <* externally_defined_text_font | ( SIZEOF( USEDIN( edtf, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL.FONT' ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE tolerance_zone_form_name_constraint FOR ( tolerance_zone_form ); + + LOCAL + names : SET OF STRING := [ 'within a circle', 'between two concentric circles', 'between two equidistant curves', + 'within a cylinder' , 'between two coaxial cylinders', 'between two equidistant surfaces', 'non uniform', + 'cylindrical or circular' , 'spherical', 'unknown']; + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( tolerance_zone_form ) BY 1 WHILE pass; + pass := tolerance_zone_form[i].name IN names; + END_REPEAT; + + WHERE + wr1: pass; + + END_RULE; + + RULE transition_feature_life_cycle FOR ( transition_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( tf <* transition_feature | ( NOT ( tf.of_shape.definition.frame_of_reference.life_cycle_stage = + 'manufacturing planning' ) ) ) ) = 0 ); + + END_RULE; + + RULE transition_feature_on_part_boundary FOR ( transition_feature ); + + WHERE + wr1: ( SIZEOF( QUERY ( tf <* transition_feature | ( NOT tf.product_definitional ) ) ) = 0 ); + + END_RULE; + + RULE unique_datum_system FOR ( datum_system ); + + LOCAL + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( datum_system ) BY 1; + REPEAT j := 1 TO SIZEOF( datum_system ) BY 1; + IF i <> j THEN + IF datum_system[i]\datum_system.constituents = datum_system[j]\datum_system.constituents THEN + pass := FALSE; + END_IF; + END_IF; + END_REPEAT; + END_REPEAT; + + WHERE + wr1: pass; + + END_RULE; + + RULE unique_gdt_element_id_constraint FOR ( product_definition_shape, dimensional_location, dimensional_size, shape_aspect, + shape_aspect_relationship ); + + LOCAL + bss : BAG OF STRING := []; + ds : SET OF dimensional_size := QUERY ( ds <* dimensional_size | EXISTS( ds\dimensional_size.id ) ); + sa : SET OF shape_aspect := QUERY ( sa <* shape_aspect | EXISTS( sa\shape_aspect.id ) ); + sar : SET OF shape_aspect_relationship := QUERY ( sar <* shape_aspect_relationship | EXISTS( sar\shape_aspect_relationship + .id ) ); + ssa : SET OF shape_aspect := []; + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT ii := 1 TO SIZEOF( product_definition_shape ) BY 1 WHILE pass; + bss := []; + ssa := bag_to_set( USEDIN( product_definition_shape[ii], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT.' + + 'OF_SHAPE' ) ); + REPEAT i := 1 TO SIZEOF( ds ) BY 1; + IF ds[i]\dimensional_size.applies_to IN ssa THEN + bss := bss + ds[i]\dimensional_size.id; + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sa ) BY 1; + IF sa[i] IN ssa THEN + bss := bss + sa[i]\shape_aspect.id; + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sar ) BY 1; + IF sar[i]\shape_aspect_relationship.relating_shape_aspect IN ssa THEN + bss := bss + sar[i]\shape_aspect_relationship.id; + END_IF; + END_REPEAT; + IF SIZEOF( bag_to_set( bss ) ) <> SIZEOF( bss ) THEN + pass := FALSE; + END_IF; + END_REPEAT; + + WHERE + wr1: pass; + + END_RULE; + + RULE valid_product_and_manufacturing_information_view_contexts FOR ( product_definition_context ); + + LOCAL + design_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.life_cycle_stage = 'design' ) ); + gdt_representation_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'geometrical dimensioning and tolerancing representation' ) ); + machining_feature_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'machining feature' ) ); + material_specification_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'material specification' ) ); + model_based_3d_annotation_presentation_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'model based 3D annotation presentation' ) ); + model_based_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'model based product geometry' ) ); + process_state_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'process state' ) ); + surface_finish_view_contexts : SET OF product_definition_context := QUERY ( pdc <* + product_definition_context | ( pdc.frame_of_reference.application = + 'surface finish' ) ); + additional_view_contexts : SET OF product_definition_context := + gdt_representation_view_contexts + machining_feature_view_contexts + + material_specification_view_contexts + + model_based_3d_annotation_presentation_view_contexts + + process_state_view_contexts + surface_finish_view_contexts; + need_initial_model_based_view_contexts : SET OF product_definition_context := + gdt_representation_view_contexts + + model_based_3d_annotation_presentation_view_contexts; + END_LOCAL; + + WHERE + wr1 : ( SIZEOF( gdt_representation_view_contexts * design_view_contexts ) = SIZEOF( gdt_representation_view_contexts ) ); + wr2 : ( SIZEOF( machining_feature_view_contexts * design_view_contexts ) = SIZEOF( machining_feature_view_contexts ) ); + wr3 : ( SIZEOF( material_specification_view_contexts * design_view_contexts ) = SIZEOF( material_specification_view_contexts ) ); + wr4 : ( SIZEOF( model_based_3d_annotation_presentation_view_contexts * design_view_contexts ) = SIZEOF( + model_based_3d_annotation_presentation_view_contexts ) ); + wr5 : ( SIZEOF( model_based_view_contexts * design_view_contexts ) = SIZEOF( model_based_view_contexts ) ); + wr6 : ( SIZEOF( process_state_view_contexts * design_view_contexts ) = SIZEOF( process_state_view_contexts ) ); + wr7 : ( SIZEOF( surface_finish_view_contexts * design_view_contexts ) = SIZEOF( surface_finish_view_contexts ) ); + wr8 : ( SIZEOF( QUERY ( mbvc <* model_based_view_contexts | ( SIZEOF( USEDIN( mbvc, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.FRAME_OF_REFERENCE' ) ) = + 0 ) ) ) = SIZEOF( model_based_view_contexts ) ); + wr9 : ( SIZEOF( QUERY ( avc <* additional_view_contexts | ( SIZEOF( USEDIN( avc, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION.FRAME_OF_REFERENCE' ) ) = 0 ) ) ) = SIZEOF( + additional_view_contexts ) ); + wr10: ( SIZEOF( QUERY ( nimbvc <* need_initial_model_based_view_contexts | ( NOT ( SIZEOF( QUERY ( pdca <* USEDIN( nimbvc, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.FRAME_OF_REFERENCE' ) | ( + pdca\product_definition_context_association.definition\product_definition.frame_of_reference IN + model_based_view_contexts ) ) ) = SIZEOF( need_initial_model_based_view_contexts ) ) ) ) ) = 0 ); + wr11: ( SIZEOF( QUERY ( gdt_pdc <* gdt_representation_view_contexts | ( SIZEOF( [ 'ISO 1101', 'ASME Y14.5'] * + get_associated_mandatory_document_ids( gdt_pdc ) ) = 0 ) ) ) = 0 ); + wr12: ( SIZEOF( QUERY ( mb3d_pdc <* model_based_3d_annotation_presentation_view_contexts | ( SIZEOF( [ 'ISO 1101', 'ISO 16792', + 'ASME Y14.41' , 'ASME Y14.5'] * get_associated_mandatory_document_ids( mb3d_pdc ) ) = 0 ) ) ) = 0 ); + + END_RULE; + + RULE validate_dependently_instantiable_entity_data_types FOR ( abstracted_expression_function, action_method_role, + action_resource_type, application_defined_function, atom_based_literal, attribute_value_role, b_spline_basis, + b_spline_function, basic_sparse_matrix, binary_literal, camera_model_d2, cartesian_complex_number_region, + cartesian_transformation_operator, complex_number_literal, concept_feature_relationship, + concept_feature_relationship_with_condition, constant_function, definite_integral_expression, + definite_integral_function, document_usage_constraint, edge_blended_solid, effectivity_context_role, + elementary_function, event_occurrence_role, explicit_procedural_representation_item_relationship, + explicit_table_function, expression_denoted_function, extended_tuple_space, externally_listed_data, finite_function, + founded_item, function_application, function_space, general_linear_function, homogeneous_linear_function, + imported_curve_function, imported_point_function, imported_surface_function, imported_volume_function, + indirectly_selected_elements, integer_tuple_literal, linearized_table_function, listed_data, maths_enum_literal, + maths_function, maths_tuple_literal, modified_solid_with_placed_configuration, one_direction_repeat_factor, + oriented_open_shell, oriented_path, parallel_composed_function, partial_derivative_expression, + partial_derivative_function, polar_complex_number_region, procedural_representation, + procedural_representation_sequence, product_definition_effectivity, quantifier_expression, rationalize_function, + real_tuple_literal, reindexed_array_function, repackaging_function, restriction_function, runout_zone_orientation, + selector_function, series_composed_function, solid_with_depression, solid_with_hole, solid_with_pocket, + solid_with_protrusion, solid_with_shape_element_pattern, solid_with_slot, swept_area_solid, symbol_target, + two_direction_repeat_factor, user_selected_elements, volume ); + + LOCAL + number_of_input_instances : INTEGER; + previous_in_chain : LIST OF GENERIC := []; + set_of_input_types : SET OF STRING := []; + all_instances : SET OF GENERIC := []; + END_LOCAL; + all_instances := all_instances + abstracted_expression_function; + all_instances := all_instances + action_method_role; + all_instances := all_instances + action_resource_type; + all_instances := all_instances + application_defined_function; + all_instances := all_instances + atom_based_literal; + all_instances := all_instances + attribute_value_role; + all_instances := all_instances + b_spline_basis; + all_instances := all_instances + b_spline_function; + all_instances := all_instances + basic_sparse_matrix; + all_instances := all_instances + binary_literal; + all_instances := all_instances + camera_model_d2; + all_instances := all_instances + cartesian_complex_number_region; + all_instances := all_instances + cartesian_transformation_operator; + all_instances := all_instances + complex_number_literal; + all_instances := all_instances + concept_feature_relationship; + all_instances := all_instances + concept_feature_relationship_with_condition; + all_instances := all_instances + constant_function; + all_instances := all_instances + definite_integral_expression; + all_instances := all_instances + definite_integral_function; + all_instances := all_instances + document_usage_constraint; + all_instances := all_instances + edge_blended_solid; + all_instances := all_instances + effectivity_context_role; + all_instances := all_instances + elementary_function; + all_instances := all_instances + event_occurrence_role; + all_instances := all_instances + explicit_procedural_representation_item_relationship; + all_instances := all_instances + explicit_table_function; + all_instances := all_instances + expression_denoted_function; + all_instances := all_instances + extended_tuple_space; + all_instances := all_instances + externally_listed_data; + all_instances := all_instances + finite_function; + all_instances := all_instances + founded_item; + all_instances := all_instances + function_application; + all_instances := all_instances + function_space; + all_instances := all_instances + general_linear_function; + all_instances := all_instances + homogeneous_linear_function; + all_instances := all_instances + imported_curve_function; + all_instances := all_instances + imported_point_function; + all_instances := all_instances + imported_surface_function; + all_instances := all_instances + imported_volume_function; + all_instances := all_instances + indirectly_selected_elements; + all_instances := all_instances + integer_tuple_literal; + all_instances := all_instances + linearized_table_function; + all_instances := all_instances + listed_data; + all_instances := all_instances + maths_enum_literal; + all_instances := all_instances + maths_function; + all_instances := all_instances + maths_tuple_literal; + all_instances := all_instances + modified_solid_with_placed_configuration; + all_instances := all_instances + one_direction_repeat_factor; + all_instances := all_instances + oriented_open_shell; + all_instances := all_instances + oriented_path; + all_instances := all_instances + parallel_composed_function; + all_instances := all_instances + partial_derivative_expression; + all_instances := all_instances + partial_derivative_function; + all_instances := all_instances + polar_complex_number_region; + all_instances := all_instances + procedural_representation; + all_instances := all_instances + procedural_representation_sequence; + all_instances := all_instances + product_definition_effectivity; + all_instances := all_instances + quantifier_expression; + all_instances := all_instances + rationalize_function; + all_instances := all_instances + real_tuple_literal; + all_instances := all_instances + reindexed_array_function; + all_instances := all_instances + repackaging_function; + all_instances := all_instances + restriction_function; + all_instances := all_instances + runout_zone_orientation; + all_instances := all_instances + selector_function; + all_instances := all_instances + series_composed_function; + all_instances := all_instances + solid_with_depression; + all_instances := all_instances + solid_with_hole; + all_instances := all_instances + solid_with_pocket; + all_instances := all_instances + solid_with_protrusion; + all_instances := all_instances + solid_with_shape_element_pattern; + all_instances := all_instances + solid_with_slot; + all_instances := all_instances + swept_area_solid; + all_instances := all_instances + symbol_target; + all_instances := all_instances + two_direction_repeat_factor; + all_instances := all_instances + user_selected_elements; + all_instances := all_instances + volume; + number_of_input_instances := SIZEOF( all_instances ); + REPEAT i := 1 TO number_of_input_instances BY 1; + set_of_input_types := set_of_input_types + TYPEOF( all_instances[i] ); + END_REPEAT; + + WHERE + wr1: dependently_instantiated( all_instances, set_of_input_types, previous_in_chain ); + + END_RULE; + +(* + The following two FUNCTIONs have been added to address Bug 5057 for the + initial ed2 version until they can properly be added to the constituent modules. +*) + + FUNCTION above_plane + (p1 : cartesian_point; p2 : cartesian_point; p3 : cartesian_point; p4 : cartesian_point) : REAL; + LOCAL + dir2, dir3, dir4 : direction := + dummy_gri || direction([1.0, 0.0, 0.0]); + val, mag : REAL; + END_LOCAL; + + IF (p1.dim <> 3) THEN + RETURN(?); + END_IF; + REPEAT i := 1 TO 3; + dir2.direction_ratios[i] := p2.coordinates[i] - p1.coordinates[i]; + dir3.direction_ratios[i] := p3.coordinates[i] - p1.coordinates[i]; + dir4.direction_ratios[i] := p4.coordinates[i] - p1.coordinates[i]; + mag := dir4.direction_ratios[i]*dir4.direction_ratios[i]; + END_REPEAT; + mag := sqrt(mag); + val := mag*dot_product(dir4, cross_product(dir2, dir3).orientation); + RETURN(val); + END_FUNCTION; + + FUNCTION same_side + (plane_pts : LIST[3:3] OF cartesian_point; test_points : LIST[2:?] OF cartesian_point) : BOOLEAN; + LOCAL + val1, val2 : REAL; + n : INTEGER; + END_LOCAL; + + IF (plane_pts[1].dim = 2) OR (test_points[1].dim = 2) THEN + RETURN(?); + END_IF; + n := SIZEOF(test_points); + val1 := above_plane(plane_pts[1], plane_pts[2], plane_pts[3], + test_points[1] ); + REPEAT i := 2 TO n; + val2 := above_plane(plane_pts[1], plane_pts[2], plane_pts[3], + test_points[i] ); + IF (val1*val2 <= 0.0) THEN + RETURN(FALSE); + END_IF; + END_REPEAT; + RETURN(TRUE); + END_FUNCTION; + +(* End of added FUNCTIONs. JH 2014-05-22 *) + + FUNCTION acyclic( + arg1 : generic_expression; + arg2 : SET OF generic_expression + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIMPLE_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) THEN + RETURN( TRUE ); + END_IF; + IF arg1 IN arg2 THEN + RETURN( FALSE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNARY_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) THEN + RETURN( acyclic( arg1\unary_generic_expression.operand, arg2 + [arg1] ) ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BINARY_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) THEN + RETURN( acyclic( arg1\binary_generic_expression.operands[1], arg2 + [arg1] ) AND acyclic( arg1\binary_generic_expression. + operands[2], arg2 + [arg1] ) ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' IN TYPEOF( arg1 ) THEN + result := TRUE; + REPEAT i := 1 TO SIZEOF( arg1\multiple_arity_generic_expression.operands ) BY 1; + result := result AND acyclic( arg1\multiple_arity_generic_expression.operands[i], arg2 + [arg1] ); + END_REPEAT; + RETURN( result ); + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION acyclic_composite_text( + start_composite : composite_text; + child_text : SET [1 : ?] OF text_or_character + ) : LOGICAL; + + LOCAL + i : INTEGER; + local_composite_text : SET [0 : ?] OF composite_text; + local_annotation_text : SET [0 : ?] OF annotation_text; + local_children : SET [0 : ?] OF text_or_character; + END_LOCAL; + local_composite_text := QUERY ( child <* child_text | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' IN + TYPEOF( child ) ) ); + IF SIZEOF( local_composite_text ) > 0 THEN + REPEAT i := 1 TO HIINDEX( local_composite_text ) BY 1; + IF start_composite :=: local_composite_text[i] THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + local_children := child_text; + IF SIZEOF( local_composite_text ) > 0 THEN + REPEAT i := 1 TO HIINDEX( local_composite_text ) BY 1; + local_children := local_children + local_composite_text[i].collected_text; + END_REPEAT; + END_IF; + local_annotation_text := QUERY ( child <* child_text | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT' IN + TYPEOF( child ) ) ); + IF SIZEOF( local_annotation_text ) > 0 THEN + REPEAT i := 1 TO HIINDEX( local_annotation_text ) BY 1; + local_children := local_children + QUERY ( item <* local_annotation_text[i]\mapped_item.mapping_source. + mapped_representation.items | ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' ] * TYPEOF( item ) ) > 0 ) ); + END_REPEAT; + END_IF; + IF local_children :<>: child_text THEN + RETURN( acyclic_composite_text( start_composite, local_children ) ); + ELSE + RETURN( TRUE ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_curve_replica( + rep : curve_replica; + parent : curve + ) : BOOLEAN; + IF NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_curve_replica( rep, parent\curve_replica.parent_curve ) ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_mapped_representation( + mi : mapped_item + ) : BOOLEAN; + + LOCAL + rms : SET OF representation_map; + mis : SET OF mapped_item; + rs1 : SET OF representation; + rs2 : SET OF representation; + END_LOCAL; + rs1 := using_representations( mi ); + rs2 := []; + REPEAT WHILE SIZEOF( rs1 ) > 0; + REPEAT i := 1 TO HIINDEX( rs1 ) BY 1; + rms := bag_to_set( USEDIN( rs1[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_MAP.' + + 'MAPPED_REPRESENTATION' ) ); + IF SIZEOF( rms ) > 0 THEN + REPEAT j := 1 TO HIINDEX( rms ) BY 1; + mis := bag_to_set( USEDIN( rms[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE' ) ); + IF SIZEOF( mis ) > 0 THEN + REPEAT j := 1 TO HIINDEX( mis ) BY 1; + IF mis[i] :=: mi THEN + RETURN( FALSE ); + END_IF; + rs2 := rs2 + using_representations( mis[i] ); + END_REPEAT; + END_IF; + END_REPEAT; + END_IF; + END_REPEAT; + rs1 := rs2; + rs2 := []; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_point_replica( + rep : point_replica; + parent : point + ) : BOOLEAN; + IF NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_point_replica( rep, parent\point_replica.parent_pt ) ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_product_category_relationship( + relation : product_category_relationship; + children : SET OF product_category + ) : BOOLEAN; + + LOCAL + x : SET OF product_category_relationship; + local_children : SET OF product_category; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( children ) BY 1; + IF relation.category :=: children[i] THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + x := bag_to_set( USEDIN( relation.category, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_CATEGORY_RELATIONSHIP.SUB_CATEGORY' ) ); + local_children := children + relation.category; + IF SIZEOF( x ) > 0 THEN + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_product_category_relationship( x[i], local_children ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_product_definition_relationship( + relation : product_definition_relationship; + relatives : SET [1 : ?] OF product_definition_or_reference; + specific_relation : STRING + ) : BOOLEAN; + + LOCAL + x : SET OF product_definition_relationship; + END_LOCAL; + IF relation.relating_product_definition IN relatives THEN + RETURN( FALSE ); + END_IF; + x := QUERY ( pd <* bag_to_set( USEDIN( relation.relating_product_definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) ) | ( specific_relation IN TYPEOF( pd ) ) ); + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_product_definition_relationship( x[i], relatives + relation.relating_product_definition, specific_relation ) + THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_representation_relationship( + relation : representation_relationship; + relatives : SET [1 : ?] OF representation; + specific_relation : STRING + ) : BOOLEAN; + + LOCAL + x : SET OF representation_relationship; + END_LOCAL; + IF relation.rep_1 IN relatives THEN + RETURN( FALSE ); + END_IF; + x := QUERY ( r <* bag_to_set( USEDIN( relation.rep_1, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2' ) ) | ( specific_relation IN TYPEOF( r ) ) ); + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_representation_relationship( x[i], relatives + relation.rep_1, specific_relation ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_shape_aspect_relationship( + relation : shape_aspect_relationship; + relatives : SET [1 : ?] OF shape_aspect; + specific_relation : STRING + ) : BOOLEAN; + + LOCAL + x : SET OF shape_aspect_relationship; + END_LOCAL; + IF relation.relating_shape_aspect IN relatives THEN + RETURN( FALSE ); + END_IF; + x := QUERY ( sa <* bag_to_set( USEDIN( relation.relating_shape_aspect, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT' ) ) | ( specific_relation IN TYPEOF( sa ) ) ); + REPEAT i := 1 TO HIINDEX( x ) BY 1; + IF NOT acyclic_shape_aspect_relationship( x[i], relatives + relation.relating_shape_aspect, specific_relation ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION acyclic_solid_replica( + rep : solid_replica; + parent : solid_model + ) : BOOLEAN; + IF NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_solid_replica( rep, parent\solid_replica.parent_solid ) ); + END_IF; + + END_FUNCTION; + + FUNCTION acyclic_surface_replica( + rep : surface_replica; + parent : surface + ) : BOOLEAN; + IF NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_REPLICA' IN TYPEOF( parent ) ) THEN + RETURN( TRUE ); + END_IF; + IF parent :=: rep THEN + RETURN( FALSE ); + ELSE + RETURN( acyclic_surface_replica( rep, parent\surface_replica.parent_surface ) ); + END_IF; + + END_FUNCTION; + + FUNCTION advanced_face_properties( + testface : face + ) : BOOLEAN; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF( testface ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF( testface ) THEN + RETURN( advanced_face_properties( testface\subface.parent_face ) ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION all_members_of_es( + sv : SET OF maths_value; + es : elementary_space_enumerators + ) : LOGICAL; + + CONSTANT + base_types : SET OF STRING := + [ 'NUMBER' , + 'COMPLEX_NUMBER_LITERAL' , + 'REAL' , + 'INTEGER' , + 'LOGICAL' , + 'BOOLEAN' , + 'STRING' , + 'BINARY' , + 'MATHS_SPACE' , + 'MATHS_FUNCTION' , + 'LIST' , + 'ELEMENTARY_SPACE_ENUMERATORS' , + 'ORDERING_TYPE' , + 'LOWER_UPPER' , + 'SYMMETRY_TYPE' , + 'ELEMENTARY_FUNCTION_ENUMERATORS' , + 'OPEN_CLOSED' , + 'SPACE_CONSTRAINT_TYPE' , + 'REPACKAGE_OPTIONS' , + 'EXTENSION_OPTIONS' ]; + END_CONSTANT; + + LOCAL + v : maths_value; + key_type : STRING := ''; + types : SET OF STRING; + ge : generic_expression; + cum : LOGICAL := TRUE; + vspc : maths_space; + END_LOCAL; + IF ( NOT EXISTS( sv ) ) OR ( NOT EXISTS( es ) ) THEN + RETURN( FALSE ); + END_IF; + CASE es OF + es_numbers : key_type := 'NUMBER'; + es_complex_numbers : key_type := 'COMPLEX_NUMBER_LITERAL'; + es_reals : key_type := 'REAL'; + es_integers : key_type := 'INTEGER'; + es_logicals : key_type := 'LOGICAL'; + es_booleans : key_type := 'BOOLEAN'; + es_strings : key_type := 'STRING'; + es_binarys : key_type := 'BINARY'; + es_maths_spaces : key_type := 'MATHS_SPACE'; + es_maths_functions : key_type := 'MATHS_FUNCTION'; + es_generics : RETURN( TRUE ); + END_CASE; + REPEAT i := 1 TO SIZEOF( sv ) BY 1; + IF NOT EXISTS( sv[i] ) THEN + RETURN( FALSE ); + END_IF; + v := simplify_maths_value( sv[i] ); + types := stripped_typeof( v ); + IF key_type IN types THEN + SKIP; + END_IF; + IF ( es = es_numbers ) AND ( 'COMPLEX_NUMBER_LITERAL' IN types ) THEN + SKIP; + END_IF; + IF SIZEOF( base_types * types ) > 0 THEN + RETURN( FALSE ); + END_IF; + ge := v; + IF has_values_space( ge ) THEN + vspc := values_space_of( ge ); + IF NOT subspace_of_es( vspc, es ) THEN + IF NOT compatible_spaces( vspc, make_elementary_space( es ) ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END_IF; + ELSE + cum := UNKNOWN; + END_IF; + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + + END_FUNCTION; + + FUNCTION any_space_satisfies( + sc : space_constraint_type; + spc : maths_space + ) : BOOLEAN; + + LOCAL + spc_id : elementary_space_enumerators; + END_LOCAL; + IF ( sc = sc_equal ) OR ( NOT ( 'ELEMENTARY_SPACE' IN stripped_typeof( spc ) ) ) THEN + RETURN( FALSE ); + END_IF; + spc_id := spc\elementary_space.space_id; + IF sc = sc_subspace THEN + RETURN( bool( spc_id = es_generics ) ); + END_IF; + IF sc = sc_member THEN + RETURN( bool( ( spc_id = es_generics ) OR ( spc_id = es_maths_spaces ) ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION aspect_ratio( + p : planar_box + ) : positive_ratio_measure; + IF ( p.size_in_x > 0 ) AND ( p.size_in_y > 0 ) THEN + RETURN( p.size_in_x / p.size_in_y ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION assembly_leaf( + item : product_definition + ) : BOOLEAN; + + LOCAL + local_relation : SET OF assembly_component_usage := []; + local_relation2 : BAG OF assembly_component_usage := []; + END_LOCAL; + local_relation2 := local_relation2 + QUERY ( pdr <* USEDIN( item, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ASSEMBLY_COMPONENT_USAGE' IN TYPEOF( pdr ) ) ); + local_relation := bag_to_set( local_relation2 ); + IF SIZEOF( local_relation ) = 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION assembly_root( + item : product_definition + ) : BOOLEAN; + IF SIZEOF( QUERY ( pdr <* USEDIN( item, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + + 'RELATED_PRODUCT_DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN + TYPEOF( pdr ) ) ) ) = 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION assoc_product_space( + ts1, ts2 : tuple_space + ) : tuple_space; + + LOCAL + types1 : SET OF STRING := stripped_typeof( ts1 ); + types2 : SET OF STRING := stripped_typeof( ts2 ); + up1 : uniform_product_space := make_uniform_product_space( the_reals, 1 ); + up2 : uniform_product_space := make_uniform_product_space( the_reals, 1 ); + lp1 : listed_product_space := the_zero_tuple_space; + lp2 : listed_product_space := the_zero_tuple_space; + lps : listed_product_space := the_zero_tuple_space; + et1 : extended_tuple_space := the_tuples; + et2 : extended_tuple_space := the_tuples; + ets : extended_tuple_space := the_tuples; + use_up1 : BOOLEAN; + use_up2 : BOOLEAN; + use_lp1 : BOOLEAN; + use_lp2 : BOOLEAN; + factors : LIST OF maths_space := []; + tspace : tuple_space; + END_LOCAL; + IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN + up1 := ts1; + use_up1 := TRUE; + use_lp1 := FALSE; + ELSE + IF 'LISTED_PRODUCT_SPACE' IN types1 THEN + lp1 := ts1; + use_up1 := FALSE; + use_lp1 := TRUE; + ELSE + IF NOT ( 'EXTENDED_TUPLE_SPACE' IN types1 ) THEN + RETURN( ? ); + END_IF; + et1 := ts1; + use_up1 := FALSE; + use_lp1 := FALSE; + END_IF; + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN + up2 := ts2; + use_up2 := TRUE; + use_lp2 := FALSE; + ELSE + IF 'LISTED_PRODUCT_SPACE' IN types2 THEN + lp2 := ts2; + use_up2 := FALSE; + use_lp2 := TRUE; + ELSE + IF NOT ( 'EXTENDED_TUPLE_SPACE' IN types2 ) THEN + RETURN( ? ); + END_IF; + et2 := ts2; + use_up2 := FALSE; + use_lp2 := FALSE; + END_IF; + END_IF; + IF use_up1 THEN + IF use_up2 THEN + IF up1.base = up2.base THEN + tspace := make_uniform_product_space( up1.base, up1.exponent + up2.exponent ); + ELSE + factors := [up1.base : 0, up2.base : 0]; + tspace := make_listed_product_space( factors ); + END_IF; + ELSE + IF use_lp2 THEN + factors := [up1.base : 0]; + factors := factors + lp2.factors; + tspace := make_listed_product_space( factors ); + ELSE + tspace := assoc_product_space( up1, et2.base ); + tspace := make_extended_tuple_space( tspace, et2.extender ); + END_IF; + END_IF; + ELSE + IF use_lp1 THEN + IF use_up2 THEN + factors := [up2.base : 0]; + factors := lp1.factors + factors; + tspace := make_listed_product_space( factors ); + ELSE + IF use_lp2 THEN + tspace := make_listed_product_space( lp1.factors + lp2.factors ); + ELSE + tspace := assoc_product_space( lp1, et2.base ); + tspace := make_extended_tuple_space( tspace, et2.extender ); + END_IF; + END_IF; + ELSE + IF use_up2 THEN + IF et1.extender = up2.base THEN + tspace := assoc_product_space( et1.base, up2 ); + tspace := make_extended_tuple_space( tspace, et1.extender ); + ELSE + RETURN( ? ); + END_IF; + ELSE + IF use_lp2 THEN + factors := lp2.factors; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + IF et1.extender <> factors[i] THEN + RETURN( ? ); + END_IF; + END_REPEAT; + tspace := assoc_product_space( et1.base, lp2 ); + tspace := make_extended_tuple_space( tspace, et1.extender ); + ELSE + IF et1.extender = et2.extender THEN + tspace := assoc_product_space( et1, et2.base ); + ELSE + RETURN( ? ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( tspace ); + + END_FUNCTION; + + FUNCTION associated_surface( + arg : pcurve_or_surface + ) : surface; + + LOCAL + surf : surface; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( arg ) THEN + surf := arg\pcurve.basis_surface; + ELSE + surf := arg; + END_IF; + RETURN( surf ); + + END_FUNCTION; + + FUNCTION atan2( + y, x : REAL + ) : REAL; + + LOCAL + r : REAL; + END_LOCAL; + IF ( y = 0 ) AND ( x = 0 ) THEN + RETURN( ? ); + END_IF; + r := ATAN( y, x ); + IF x < 0 THEN + IF y < 0 THEN + r := r - PI; + ELSE + r := r + PI; + END_IF; + END_IF; + RETURN( r ); + + END_FUNCTION; + + FUNCTION bag_to_set( + the_bag : BAG OF GENERIC:intype + ) : SET OF GENERIC:intype; + + LOCAL + the_set : SET OF GENERIC:intype := []; + END_LOCAL; + IF SIZEOF( the_bag ) > 0 THEN + REPEAT i := 1 TO HIINDEX( the_bag ) BY 1; + the_set := the_set + the_bag[i]; + END_REPEAT; + END_IF; + RETURN( the_set ); + + END_FUNCTION; + + FUNCTION base_axis( + dim : INTEGER; + axis1, axis2, axis3 : direction + ) : LIST [2 : 3] OF direction; + + LOCAL + u : LIST [2 : 3] OF direction; + factor : REAL; + d1 : direction; + d2 : direction; + END_LOCAL; + IF dim = 3 THEN + d1 := NVL( normalise( axis3 ), dummy_gri || direction( [0, 0, 1] ) ); + d2 := first_proj_axis( d1, axis1 ); + u := [d2, second_proj_axis( d1, d2, axis2 ), d1]; + ELSE + IF EXISTS( axis1 ) THEN + d1 := normalise( axis1 ); + u := [d1, orthogonal_complement( d1 )]; + IF EXISTS( axis2 ) THEN + factor := dot_product( axis2, u[2] ); + IF factor < 0 THEN + u[2].direction_ratios[1] := -u[2].direction_ratios[1]; + u[2].direction_ratios[2] := -u[2].direction_ratios[2]; + END_IF; + END_IF; + ELSE + IF EXISTS( axis2 ) THEN + d1 := normalise( axis2 ); + u := [orthogonal_complement( d1 ), d1]; + u[1].direction_ratios[1] := -u[1].direction_ratios[1]; + u[1].direction_ratios[2] := -u[1].direction_ratios[2]; + ELSE + u := [dummy_gri || direction( [1, 0] ), dummy_gri || direction( [0, 1] )]; + END_IF; + END_IF; + END_IF; + RETURN( u ); + + END_FUNCTION; + + FUNCTION bool( + lgcl : LOGICAL + ) : BOOLEAN; + IF NOT EXISTS( lgcl ) THEN + RETURN( FALSE ); + END_IF; + IF lgcl <> TRUE THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION boolean_choose( + b : BOOLEAN; + choice1, choice2 : GENERIC:item + ) : GENERIC:item; + IF b THEN + RETURN( choice1 ); + ELSE + RETURN( choice2 ); + END_IF; + + END_FUNCTION; + + FUNCTION build_2axes( + ref_direction : direction + ) : LIST [2 : 2] OF direction; + + LOCAL + d : direction := NVL( normalise( ref_direction ), dummy_gri || direction( [1, 0] ) ); + END_LOCAL; + RETURN( [d, orthogonal_complement( d )] ); + + END_FUNCTION; + + FUNCTION build_axes( + axis, ref_direction : direction + ) : LIST [3 : 3] OF direction; + + LOCAL + d1 : direction; + d2 : direction; + END_LOCAL; + d1 := NVL( normalise( axis ), dummy_gri || direction( [0, 0, 1] ) ); + d2 := first_proj_axis( d1, ref_direction ); + RETURN( [d2, normalise( cross_product( d1, d2 ) )\vector.orientation, d1] ); + + END_FUNCTION; + + FUNCTION categories_of_product( + obj : product + ) : SET OF STRING; + + LOCAL + category_assignments : BAG OF product_category; + categories : SET OF STRING := []; + END_LOCAL; + category_assignments := USEDIN( obj, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.' + + 'PRODUCTS' ); + REPEAT i := LOINDEX( category_assignments ) TO HIINDEX( category_assignments ) BY 1; + categories := categories + category_assignments[i].name; + END_REPEAT; + RETURN( categories ); + + END_FUNCTION; + + FUNCTION cc_design_person_and_organization_correlation( + e : cc_design_person_and_organization_assignment + ) : BOOLEAN; + + LOCAL + po_role : STRING; + END_LOCAL; + po_role := e\person_and_organization_assignment.role.name; + CASE po_role OF + 'request_recipient' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CHANGE_REQUEST', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'START_REQUEST'] * TYPEOF( x ) ) = 1 ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'initiator' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CHANGE_REQUEST', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'START_REQUEST', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'START_WORK', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CHANGE'] * TYPEOF( x ) ) = 1 ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'creator' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION'] * TYPEOF( x ) ) = 1 ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'part_supplier' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION' ) IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'design_supplier' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_FORMATION' ) IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'design_owner' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT' IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'configuration_manager' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONFIGURATION_ITEM' ) IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'contractor' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONTRACT' IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + 'classification_officer' : IF SIZEOF( e.items ) <> SIZEOF( QUERY ( x <* e.items | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SECURITY_CLASSIFICATION' ) IN TYPEOF( x ) ) ) ) THEN + RETURN( FALSE ); + END_IF; + OTHERWISE : RETURN( TRUE ); + END_CASE; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION check_continuous_edges( + edges : LIST OF UNIQUE edge_curve + ) : BOOLEAN; + + LOCAL + i : INTEGER; + next_vertex : vertex; + END_LOCAL; + IF SIZEOF( edges ) = 1 THEN + RETURN( TRUE ); + END_IF; + IF ( edges[2].edge_start :=: edges[1].edge_end ) XOR ( edges[2].edge_start :=: edges[1].edge_start ) THEN + next_vertex := edges[2].edge_end; + ELSE + IF ( edges[2].edge_end :=: edges[1].edge_end ) XOR ( edges[2].edge_end :=: edges[1].edge_start ) THEN + next_vertex := edges[2].edge_start; + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + IF SIZEOF( edges ) = 2 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 3 TO HIINDEX( edges ) BY 1; + IF edges[i].edge_start :=: next_vertex THEN + next_vertex := edges[i].edge_end; + ELSE + IF edges[i].edge_end :=: next_vertex THEN + next_vertex := edges[i].edge_start; + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION check_curve_planarity( + checked_curve : curve + ) : BOOLEAN; + + LOCAL + crv : curve := checked_curve; + i : INTEGER; + j : INTEGER; + result : BOOLEAN := FALSE; + END_LOCAL; + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE'] + * TYPEOF( crv ) ) > 0 THEN + result := TRUE; + ELSE + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE' IN TYPEOF( crv ) ) AND check_curve_planarity( crv\ + trimmed_curve.basis_curve ) THEN + result := TRUE; + ELSE + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( crv ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( crv\pcurve.basis_surface ) ) THEN + result := TRUE; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF( crv ) THEN + + BEGIN + REPEAT j := 1 TO HIINDEX( crv\surface_curve.basis_surface ) BY 1; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( crv\surface_curve.basis_surface[j] ) THEN + result := TRUE; + END_IF; + END_REPEAT; + END; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION check_sparse_index_domain( + idxdom : tuple_space; + base : zero_or_one; + shape : LIST [1 : ?] OF positive_integer; + order : ordering_type + ) : BOOLEAN; + + LOCAL + mthspc : maths_space; + interval : finite_integer_interval; + i : INTEGER; + END_LOCAL; + mthspc := factor1( idxdom ); + interval := mthspc; + IF order = by_rows THEN + i := 1; + ELSE + i := 2; + END_IF; + RETURN( bool( ( interval.min <= base ) AND ( interval.max >= ( base + shape[i] ) ) ) ); + + END_FUNCTION; + + FUNCTION check_sparse_index_to_loc( + index_range, loc_domain : tuple_space + ) : BOOLEAN; + + LOCAL + temp : maths_space; + idx_rng_itvl : finite_integer_interval; + loc_dmn_itvl : finite_integer_interval; + END_LOCAL; + temp := factor1( index_range ); + IF ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( temp ) THEN + temp := factor1( temp ); + END_IF; + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + idx_rng_itvl := temp; + temp := factor1( loc_domain ); + IF ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( temp ) THEN + temp := factor1( temp ); + END_IF; + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + loc_dmn_itvl := temp; + RETURN( bool( ( loc_dmn_itvl.min <= idx_rng_itvl.min ) AND ( idx_rng_itvl.max <= ( loc_dmn_itvl.max + 1 ) ) ) ); + + END_FUNCTION; + + FUNCTION check_sparse_loc_range( + locrng : tuple_space; + base : zero_or_one; + shape : LIST [1 : ?] OF positive_integer; + order : ordering_type + ) : BOOLEAN; + + LOCAL + mthspc : maths_space; + interval : finite_integer_interval; + i : INTEGER; + END_LOCAL; + IF space_dimension( locrng ) <> 1 THEN + RETURN( FALSE ); + END_IF; + mthspc := factor1( locrng ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( mthspc ) ) THEN + RETURN( FALSE ); + END_IF; + interval := mthspc; + IF order = by_rows THEN + i := 2; + ELSE + i := 1; + END_IF; + RETURN( bool( ( interval.min >= base ) AND ( interval.max <= ( ( base + shape[i] ) - 1 ) ) ) ); + + END_FUNCTION; + + FUNCTION check_text_alignment( + ct : composite_text + ) : BOOLEAN; + + LOCAL + a : SET OF text_alignment := []; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( ct.collected_text ) BY 1; + a := a + [ct.collected_text[i]\text_literal.alignment]; + END_REPEAT; + RETURN( SIZEOF( a ) = 1 ); + + END_FUNCTION; + + FUNCTION check_text_font( + ct : composite_text + ) : BOOLEAN; + + LOCAL + f : SET OF font_select := []; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( ct.collected_text ) BY 1; + f := f + [ct.collected_text[i]\text_literal.font]; + END_REPEAT; + RETURN( SIZEOF( f ) <= 1 ); + + END_FUNCTION; + + FUNCTION class_assignment_is_valid( + aia : applied_classification_assignment + ) : BOOLEAN; + + LOCAL + item : classification_item; + role : classification_role; + END_LOCAL; + role := aia\classification_assignment.role; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLASS_SYSTEM' IN TYPEOF( aia\classification_assignment.assigned_class ) + THEN + IF role\classification_role.name <> 'class system membership' THEN + RETURN( FALSE ); + END_IF; + REPEAT i := LOINDEX( aia\applied_classification_assignment.items ) TO HIINDEX( aia\applied_classification_assignment.items ) + BY 1; + item := aia\applied_classification_assignment.items[i]; + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTERIZED_CLASS'] * TYPEOF( item ) ) = 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTERIZED_CLASS' IN TYPEOF( aia\classification_assignment. + assigned_class ) THEN + IF NOT ( role\classification_role.name IN [ 'definitional', 'non-definitional', ''] ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := LOINDEX( aia\applied_classification_assignment.items ) TO HIINDEX( aia\applied_classification_assignment.items ) + BY 1; + item := aia\applied_classification_assignment.items[i]; + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLASSIFIED_ITEM'] * TYPEOF( item ) ) = 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + IF role\classification_role.name = 'definitional' THEN + IF NOT ( SIZEOF( QUERY ( it <* aia\applied_classification_assignment.items | ( NOT ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_FORMATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION'] * TYPEOF( it ) ) + = 1 ) ) ) ) = 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION closed_shell_reversed( + a_shell : closed_shell + ) : oriented_closed_shell; + + LOCAL + the_reverse : oriented_closed_shell; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF( a_shell ) THEN + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || closed_shell( ) || + oriented_closed_shell( a_shell\oriented_closed_shell.closed_shell_element, NOT a_shell\oriented_closed_shell.orientation ); + ELSE + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || closed_shell( ) || + oriented_closed_shell( a_shell, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION collect_joints( + items : SET [1 : ?] OF pair_representation_relationship + ) : SET OF kinematic_joint; + + LOCAL + result : SET OF kinematic_joint := []; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( items ) BY 1; + result := result + items[i].transformation_operator.joint; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION compare_basis_and_coef( + basis : LIST [1 : ?] OF b_spline_basis; + coef : maths_function + ) : BOOLEAN; + + LOCAL + shape : LIST OF positive_integer; + END_LOCAL; + IF ( NOT EXISTS( basis ) ) OR ( NOT EXISTS( coef ) ) THEN + RETURN( FALSE ); + END_IF; + shape := shape_of_array( coef ); + IF NOT EXISTS( shape ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( shape ) < SIZEOF( basis ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( basis ) BY 1; + IF ( basis[i].num_basis = shape[i] ) <> TRUE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION compatible_complex_number_regions( + sp1, sp2 : maths_space + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := stripped_typeof( sp1 ); + crgn1 : cartesian_complex_number_region; + crgn2 : cartesian_complex_number_region; + prgn1 : polar_complex_number_region; + prgn2 : polar_complex_number_region; + prgn1c2 : polar_complex_number_region; + prgn2c1 : polar_complex_number_region; + sp1_is_crgn : BOOLEAN; + sp2_is_crgn : BOOLEAN; + END_LOCAL; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN + sp1_is_crgn := TRUE; + crgn1 := sp1; + ELSE + IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN + sp1_is_crgn := FALSE; + prgn1 := sp1; + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + typenames := stripped_typeof( sp2 ); + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN + sp2_is_crgn := TRUE; + crgn2 := sp2; + ELSE + IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN + sp2_is_crgn := FALSE; + prgn2 := sp2; + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + IF sp1_is_crgn AND sp2_is_crgn THEN + RETURN( compatible_intervals( crgn1.real_constraint, crgn2.real_constraint ) AND compatible_intervals( crgn1. + imag_constraint, crgn2.imag_constraint ) ); + END_IF; + IF ( NOT sp1_is_crgn ) AND ( NOT sp2_is_crgn ) AND ( prgn1.centre.real_part = prgn2.centre.real_part ) AND ( prgn1.centre. + imag_part = prgn2.centre.imag_part ) THEN + IF NOT compatible_intervals( prgn1.distance_constraint, prgn2.distance_constraint ) THEN + RETURN( FALSE ); + END_IF; + IF compatible_intervals( prgn1.direction_constraint, prgn2.direction_constraint ) THEN + RETURN( TRUE ); + END_IF; + IF ( prgn1.direction_constraint.max > PI ) AND ( prgn2.direction_constraint.max < PI ) THEN + RETURN( compatible_intervals( prgn2.direction_constraint, make_finite_real_interval( -PI, open, prgn1. + direction_constraint.max - ( 2 * PI ), prgn1.direction_constraint.max_closure ) ) ); + END_IF; + IF ( prgn2.direction_constraint.max > PI ) AND ( prgn1.direction_constraint.max < PI ) THEN + RETURN( compatible_intervals( prgn1.direction_constraint, make_finite_real_interval( -PI, open, prgn2. + direction_constraint.max - ( 2 * PI ), prgn2.direction_constraint.max_closure ) ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF sp1_is_crgn AND ( NOT sp2_is_crgn ) THEN + crgn2 := enclose_pregion_in_cregion( prgn2 ); + prgn1 := enclose_cregion_in_pregion( crgn1, prgn2.centre ); + RETURN( compatible_complex_number_regions( crgn1, crgn2 ) AND compatible_complex_number_regions( prgn1, prgn2 ) ); + END_IF; + IF ( NOT sp1_is_crgn ) AND sp2_is_crgn THEN + crgn1 := enclose_pregion_in_cregion( prgn1 ); + prgn2 := enclose_cregion_in_pregion( crgn2, prgn1.centre ); + RETURN( compatible_complex_number_regions( crgn1, crgn2 ) AND compatible_complex_number_regions( prgn1, prgn2 ) ); + END_IF; + prgn1c2 := enclose_pregion_in_pregion( prgn1, prgn2.centre ); + prgn2c1 := enclose_pregion_in_pregion( prgn2, prgn1.centre ); + RETURN( compatible_complex_number_regions( prgn1, prgn2c1 ) AND compatible_complex_number_regions( prgn1c2, prgn2 ) ); + + END_FUNCTION; + + FUNCTION compatible_es_values( + esval1, esval2 : elementary_space_enumerators + ) : BOOLEAN; + + LOCAL + esval1_is_numeric : LOGICAL; + esval2_is_numeric : LOGICAL; + END_LOCAL; + IF ( esval1 = esval2 ) OR ( esval1 = es_generics ) OR ( esval2 = es_generics ) THEN + RETURN( TRUE ); + END_IF; + esval1_is_numeric := ( esval1 >= es_numbers ) AND ( esval1 <= es_integers ); + esval2_is_numeric := ( esval2 >= es_numbers ) AND ( esval2 <= es_integers ); + IF ( esval1_is_numeric AND ( esval2 = es_numbers ) ) OR ( esval2_is_numeric AND ( esval1 = es_numbers ) ) THEN + RETURN( TRUE ); + END_IF; + IF esval1_is_numeric XOR esval2_is_numeric THEN + RETURN( FALSE ); + END_IF; + IF ( ( esval1 = es_logicals ) AND ( esval2 = es_booleans ) ) OR ( ( esval1 = es_booleans ) AND ( esval2 = es_logicals ) ) + THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION compatible_intervals( + sp1, sp2 : maths_space + ) : BOOLEAN; + + LOCAL + amin : REAL; + amax : REAL; + END_LOCAL; + IF min_exists( sp1 ) AND max_exists( sp2 ) THEN + amin := real_min( sp1 ); + amax := real_max( sp2 ); + IF amin > amax THEN + RETURN( FALSE ); + END_IF; + IF amin = amax THEN + RETURN( min_included( sp1 ) AND max_included( sp2 ) ); + END_IF; + END_IF; + IF min_exists( sp2 ) AND max_exists( sp1 ) THEN + amin := real_min( sp2 ); + amax := real_max( sp1 ); + IF amin > amax THEN + RETURN( FALSE ); + END_IF; + IF amin = amax THEN + RETURN( min_included( sp2 ) AND max_included( sp1 ) ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION compatible_spaces( + sp1, sp2 : maths_space + ) : BOOLEAN; + + LOCAL + types1 : SET OF STRING := stripped_typeof( sp1 ); + types2 : SET OF STRING := stripped_typeof( sp2 ); + lgcl : LOGICAL := UNKNOWN; + m : INTEGER; + n : INTEGER; + s1 : maths_space; + s2 : maths_space; + END_LOCAL; + IF 'FINITE_SPACE' IN types1 THEN + REPEAT i := 1 TO SIZEOF( sp1\finite_space.members ) BY 1; + lgcl := member_of( sp1\finite_space.members[i], sp2 ); + IF lgcl <> FALSE THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( FALSE ); + END_IF; + IF 'FINITE_SPACE' IN types2 THEN + REPEAT i := 1 TO SIZEOF( sp2\finite_space.members ) BY 1; + lgcl := member_of( sp2\finite_space.members[i], sp1 ); + IF lgcl <> FALSE THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( FALSE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types1 THEN + IF sp1\elementary_space.space_id = es_generics THEN + RETURN( TRUE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types2 THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, sp2\elementary_space.space_id ) ); + END_IF; + IF ( 'FINITE_INTEGER_INTERVAL' IN types2 ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types2 ) OR ( 'INTEGER_INTERVAL_TO_MAX' IN + types2 ) THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, es_integers ) ); + END_IF; + IF ( 'FINITE_REAL_INTERVAL' IN types2 ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types2 ) OR ( 'REAL_INTERVAL_TO_MAX' IN types2 ) + THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, es_reals ) ); + END_IF; + IF ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 ) OR ( 'POLAR_COMPLEX_NUMBER_REGION' IN types2 ) THEN + RETURN( compatible_es_values( sp1\elementary_space.space_id, es_complex_numbers ) ); + END_IF; + IF 'TUPLE_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + RETURN( bool( sp1\elementary_space.space_id = es_maths_functions ) ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types2 THEN + IF sp2\elementary_space.space_id = es_generics THEN + RETURN( TRUE ); + END_IF; + IF ( 'FINITE_INTEGER_INTERVAL' IN types1 ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types1 ) OR ( 'INTEGER_INTERVAL_TO_MAX' IN + types1 ) THEN + RETURN( compatible_es_values( sp2\elementary_space.space_id, es_integers ) ); + END_IF; + IF ( 'FINITE_REAL_INTERVAL' IN types1 ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types1 ) OR ( 'REAL_INTERVAL_TO_MAX' IN types1 ) + THEN + RETURN( compatible_es_values( sp2\elementary_space.space_id, es_reals ) ); + END_IF; + IF ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types1 ) OR ( 'POLAR_COMPLEX_NUMBER_REGION' IN types1 ) THEN + RETURN( compatible_es_values( sp2\elementary_space.space_id, es_complex_numbers ) ); + END_IF; + IF 'TUPLE_SPACE' IN types1 THEN + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN types1 THEN + RETURN( bool( sp2\elementary_space.space_id = es_maths_functions ) ); + END_IF; + RETURN( TRUE ); + END_IF; + IF subspace_of_es( sp1, es_integers ) THEN + IF subspace_of_es( sp2, es_integers ) THEN + RETURN( compatible_intervals( sp1, sp2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp2, es_integers ) THEN + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp1, es_reals ) THEN + IF subspace_of_es( sp2, es_reals ) THEN + RETURN( compatible_intervals( sp1, sp2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp2, es_reals ) THEN + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp1, es_complex_numbers ) THEN + IF subspace_of_es( sp2, es_complex_numbers ) THEN + RETURN( compatible_complex_number_regions( sp1, sp2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF subspace_of_es( sp2, es_complex_numbers ) THEN + RETURN( FALSE ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN + IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN + IF sp1\uniform_product_space.exponent <> sp2\uniform_product_space.exponent THEN + RETURN( FALSE ); + END_IF; + RETURN( compatible_spaces( sp1\uniform_product_space.base, sp2\uniform_product_space.base ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types2 THEN + n := SIZEOF( sp2\listed_product_space.factors ); + IF sp1\uniform_product_space.exponent <> n THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO n BY 1; + IF NOT compatible_spaces( sp1\uniform_product_space.base, sp2\listed_product_space.factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + m := sp1\uniform_product_space.exponent; + n := space_dimension( sp2\extended_tuple_space.base ); + IF m < n THEN + RETURN( FALSE ); + END_IF; + IF m = n THEN + RETURN( compatible_spaces( sp1, sp2\extended_tuple_space.base ) ); + END_IF; + RETURN( compatible_spaces( sp1, assoc_product_space( sp2\extended_tuple_space.base, make_uniform_product_space( sp2\ + extended_tuple_space.extender, m - n ) ) ) ); + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types1 THEN + n := SIZEOF( sp1\listed_product_space.factors ); + IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN + IF n <> sp2\uniform_product_space.exponent THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO n BY 1; + IF NOT compatible_spaces( sp2\uniform_product_space.base, sp1\listed_product_space.factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types2 THEN + IF n <> SIZEOF( sp2\listed_product_space.factors ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO n BY 1; + IF NOT compatible_spaces( sp1\listed_product_space.factors[i], sp2\listed_product_space.factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + m := space_dimension( sp2\extended_tuple_space.base ); + IF n < m THEN + RETURN( FALSE ); + END_IF; + IF n = m THEN + RETURN( compatible_spaces( sp1, sp2\extended_tuple_space.base ) ); + END_IF; + RETURN( compatible_spaces( sp1, assoc_product_space( sp2\extended_tuple_space.base, make_uniform_product_space( sp2\ + extended_tuple_space.extender, n - m ) ) ) ); + END_IF; + IF ( schema_prefix + 'FUNCTION_SPACE' ) IN types2 THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN + IF ( 'UNIFORM_PRODUCT_SPACE' IN types2 ) OR ( 'LISTED_PRODUCT_SPACE' IN types2 ) THEN + RETURN( compatible_spaces( sp2, sp1 ) ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + IF NOT compatible_spaces( sp1\extended_tuple_space.extender, sp2\extended_tuple_space.extender ) THEN + RETURN( FALSE ); + END_IF; + n := space_dimension( sp1\extended_tuple_space.base ); + m := space_dimension( sp2\extended_tuple_space.base ); + IF n < m THEN + RETURN( compatible_spaces( assoc_product_space( sp1\extended_tuple_space.base, make_uniform_product_space( sp1\ + extended_tuple_space.extender, m - n ) ), sp2\extended_tuple_space.base ) ); + END_IF; + IF n = m THEN + RETURN( compatible_spaces( sp1\extended_tuple_space.base, sp2\extended_tuple_space.base ) ); + END_IF; + IF n > m THEN + RETURN( compatible_spaces( sp1\extended_tuple_space.base, assoc_product_space( sp2\extended_tuple_space.base, + make_uniform_product_space( sp2\extended_tuple_space.extender, n - m ) ) ) ); + END_IF; + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + IF 'FUNCTION_SPACE' IN types1 THEN + IF 'FUNCTION_SPACE' IN types2 THEN + s1 := sp1\function_space.domain_argument; + s2 := sp2\function_space.domain_argument; + CASE sp1\function_space.domain_constraint OF + sc_equal : + BEGIN + CASE sp2\function_space.domain_constraint OF + sc_equal : lgcl := subspace_of( s1, s2 ) AND subspace_of( s2, s1 ); + sc_subspace : lgcl := subspace_of( s1, s2 ); + sc_member : lgcl := member_of( s1, s2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE sp2\function_space.domain_constraint OF + sc_equal : lgcl := subspace_of( s2, s1 ); + sc_subspace : lgcl := compatible_spaces( s1, s2 ); + sc_member : lgcl := UNKNOWN; + END_CASE; + END; + sc_member : + BEGIN + CASE sp2\function_space.domain_constraint OF + sc_equal : lgcl := member_of( s2, s1 ); + sc_subspace : lgcl := UNKNOWN; + sc_member : lgcl := compatible_spaces( s1, s2 ); + END_CASE; + END; + END_CASE; + IF lgcl = FALSE THEN + RETURN( FALSE ); + END_IF; + s1 := sp1\function_space.range_argument; + s2 := sp2\function_space.range_argument; + CASE sp1\function_space.range_constraint OF + sc_equal : + BEGIN + CASE sp2\function_space.range_constraint OF + sc_equal : lgcl := subspace_of( s1, s2 ) AND subspace_of( s2, s1 ); + sc_subspace : lgcl := subspace_of( s1, s2 ); + sc_member : lgcl := member_of( s1, s2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE sp2\function_space.range_constraint OF + sc_equal : lgcl := subspace_of( s2, s1 ); + sc_subspace : lgcl := compatible_spaces( s1, s2 ); + sc_member : lgcl := UNKNOWN; + END_CASE; + END; + sc_member : + BEGIN + CASE sp2\function_space.range_constraint OF + sc_equal : lgcl := member_of( s2, s1 ); + sc_subspace : lgcl := UNKNOWN; + sc_member : lgcl := compatible_spaces( s1, s2 ); + END_CASE; + END; + END_CASE; + IF lgcl = FALSE THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + END_IF; + RETURN( TRUE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION composable_sequence( + operands : LIST [2 : ?] OF maths_function + ) : BOOLEAN; + REPEAT i := 1 TO SIZEOF( operands ) - 1 BY 1; + IF NOT compatible_spaces( operands[i].range, operands[i + 1].domain ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION compute_total_depth( + swsrh : solid_with_stepped_round_hole + ) : positive_length_measure; + + LOCAL + i : positive_integer; + n : positive_integer := swsrh.segments; + td : positive_length_measure := swsrh.segment_depths[1]; + END_LOCAL; + IF n = 1 THEN + RETURN( td ); + ELSE + REPEAT i := 2 TO n BY 1; + td := td + swsrh.segment_depths[i]; + END_REPEAT; + END_IF; + RETURN( td ); + + END_FUNCTION; + + FUNCTION conditional_reverse( + p : BOOLEAN; + an_item : reversible_topology + ) : reversible_topology; + IF p THEN + RETURN( an_item ); + ELSE + RETURN( topology_reversed( an_item ) ); + END_IF; + + END_FUNCTION; + + FUNCTION constraints_composite_curve_on_surface( + c : composite_curve_on_surface + ) : BOOLEAN; + + LOCAL + n_segments : INTEGER := SIZEOF( c.segments ); + END_LOCAL; + REPEAT k := 1 TO n_segments BY 1; + IF ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( c\composite_curve.segments[k].parent_curve ) ) ) + AND ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF( c\composite_curve.segments[k]. + parent_curve ) ) ) AND ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF( c + \composite_curve.segments[k].parent_curve ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION constraints_geometry_shell_based_surface_model( + m : shell_based_surface_model + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT j := 1 TO SIZEOF( m.sbsm_boundary ) BY 1; + IF ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_SHELL' IN TYPEOF( m.sbsm_boundary[j] ) ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_SHELL' IN TYPEOF( m.sbsm_boundary[j] ) ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION constraints_geometry_shell_based_wireframe_model( + m : shell_based_wireframe_model + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT j := 1 TO SIZEOF( m.sbwm_boundary ) BY 1; + IF ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN TYPEOF( m.sbwm_boundary[j] ) ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_SHELL' IN TYPEOF( m.sbwm_boundary[j] ) ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION constraints_param_b_spline( + degree : INTEGER; + up_knots : INTEGER; + up_cp : INTEGER; + knot_mult : LIST [0 : ?] OF INTEGER; + knots : LIST [0 : ?] OF parameter_value + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + k : INTEGER; + sum : INTEGER; + END_LOCAL; + sum := knot_mult[1]; + REPEAT i := 2 TO up_knots BY 1; + sum := sum + knot_mult[i]; + END_REPEAT; + IF ( degree < 1 ) OR ( up_knots < 2 ) OR ( up_cp < degree ) OR ( sum <> ( degree + up_cp + 2 ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + k := knot_mult[1]; + IF ( k < 1 ) OR ( k > ( degree + 1 ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + REPEAT i := 2 TO up_knots BY 1; + IF ( knot_mult[i] < 1 ) OR ( knots[i] <= knots[i - 1] ) THEN + result := FALSE; + RETURN( result ); + END_IF; + k := knot_mult[i]; + IF ( i < up_knots ) AND ( k > degree ) THEN + result := FALSE; + RETURN( result ); + END_IF; + IF ( i = up_knots ) AND ( k > ( degree + 1 ) ) THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION constraints_rectangular_composite_surface( + s : rectangular_composite_surface + ) : BOOLEAN; + REPEAT i := 1 TO s.n_u BY 1; + REPEAT j := 1 TO s.n_v BY 1; + IF NOT ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( s.segments[i][j].parent_surface ) ) + OR ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_TRIMMED_SURFACE' IN TYPEOF( s.segments[i][j]. + parent_surface ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + REPEAT i := 1 TO s.n_u - 1 BY 1; + REPEAT j := 1 TO s.n_v BY 1; + IF s.segments[i][j].u_transition = discontinuous THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + REPEAT i := 1 TO s.n_u BY 1; + REPEAT j := 1 TO s.n_v - 1 BY 1; + IF s.segments[i][j].v_transition = discontinuous THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION control_characters_free( + s : STRING + ) : BOOLEAN; + + LOCAL + ch : STRING; + END_LOCAL; + REPEAT i := 1 TO LENGTH( s ) BY 1; + ch := s[i]; + IF ( ch = '\x9' ) OR ( ch = '\xA' ) OR ( ch = '\xD' ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION convert_spatial_to_ypr_rotation( + pair : kinematic_pair; + rotation : spatial_rotation + ) : ypr_rotation; + + LOCAL + axis : direction; + angle : plane_angle_measure; + conv_angle : plane_angle_measure; + ya : plane_angle_measure; + pa : plane_angle_measure; + ra : plane_angle_measure; + ucf : REAL; + dx : REAL; + dy : REAL; + dz : REAL; + s_a : REAL; + c_a : REAL; + rotmat : ARRAY [1 : 3] OF ARRAY [1 : 3] OF REAL; + cm1 : REAL; + s_y : REAL; + c_y : REAL; + s_r : REAL; + c_r : REAL; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.YPR_ROTATION' IN TYPEOF( rotation ) THEN + RETURN( rotation ); + END_IF; + axis := normalise( rotation\rotation_about_direction.direction_of_axis ); + angle := rotation\rotation_about_direction.rotation_angle; + IF angle = 0 THEN + RETURN( [0, 0, 0] ); + END_IF; + dx := axis.direction_ratios[1]; + dy := axis.direction_ratios[2]; + dz := axis.direction_ratios[3]; + conv_angle := plane_angle_for_pair_in_radian( pair, angle ); + IF NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( conv_angle ) ) THEN + RETURN( ? ); + END_IF; + ucf := angle / conv_angle; + s_a := SIN( conv_angle ); + c_a := COS( conv_angle ); + IF ( dy = 0 ) AND ( ( dx * dz ) = 0 ) THEN + REPEAT WHILE conv_angle <= ( -PI ); + conv_angle := conv_angle + ( 2 * PI ); + END_REPEAT; + REPEAT WHILE conv_angle > PI; + conv_angle := conv_angle - ( 2 * PI ); + END_REPEAT; + ya := ucf * conv_angle; + IF conv_angle <> PI THEN + ra := -ya; + ELSE + ra := ya; + END_IF; + IF dx <> 0 THEN + IF dx > 0 THEN + RETURN( [0, 0, ya] ); + ELSE + RETURN( [0, 0, ra] ); + END_IF; + ELSE + IF dz > 0 THEN + RETURN( [ya, 0, 0] ); + ELSE + RETURN( [ra, 0, 0] ); + END_IF; + END_IF; + END_IF; + IF ( dy <> 0 ) AND ( dx = 0 ) AND ( dz = 0 ) THEN + IF c_a >= 0 THEN + ya := 0; + ra := 0; + ELSE + ya := ucf * PI; + ra := ya; + END_IF; + pa := ucf * ATAN( s_a, ABS( c_a ) ); + IF dy < 0 THEN + pa := -pa; + END_IF; + RETURN( [ya, pa, ra] ); + END_IF; + cm1 := 1 - c_a; + rotmat := [[( dx * dx * cm1 ) + c_a, ( dx * dy * cm1 ) - ( dz * s_a ), ( dx * dz * cm1 ) + ( dy * s_a )], [( dx * dy * cm1 ) + + ( dz * s_a ), ( dy * dy * cm1 ) + c_a, ( dy * dz * cm1 ) - ( dx * s_a )], [( dx * dz * cm1 ) - ( dy * s_a ), ( dy * dz * + cm1 ) + ( dx * s_a ), ( dz * dz * cm1 ) + c_a]]; + IF ABS( rotmat[1][3] ) = 1 THEN + + BEGIN + IF rotmat[1][3] = 1 THEN + pa := 0.5 * PI; + ELSE + pa := ( -0.5 ) * PI; + END_IF; + ra := 0; + ya := ATAN( rotmat[2][1], rotmat[2][2] ); + IF rotmat[2][2] < 0 THEN + IF ya <= 0 THEN + ya := ya + PI; + ELSE + ya := ya - PI; + END_IF; + END_IF; + END; + ELSE + + BEGIN + ya := ATAN( -rotmat[1][2], rotmat[1][1] ); + IF rotmat[1][1] < 0 THEN + IF ya <= 0 THEN + ya := ya + PI; + ELSE + ya := ya - PI; + END_IF; + END_IF; + ra := ATAN( -rotmat[2][3], rotmat[3][3] ); + IF rotmat[3][3] < 0 THEN + IF ra <= 0 THEN + ra := ra + PI; + ELSE + ra := ra - PI; + END_IF; + END_IF; + s_y := SIN( ya ); + c_y := COS( ya ); + s_r := SIN( ra ); + c_r := COS( ra ); + IF ( ABS( s_y ) > ABS( c_y ) ) AND ( ABS( s_y ) > ABS( s_r ) ) AND ( ABS( s_y ) > ABS( c_r ) ) THEN + cm1 := ( -rotmat[1][2] ) / s_y; + ELSE + IF ( ABS( c_y ) > ABS( s_r ) ) AND ( ABS( c_y ) > ABS( c_r ) ) THEN + cm1 := rotmat[1][1] / c_y; + ELSE + IF ABS( s_r ) > ABS( c_r ) THEN + cm1 := ( -rotmat[2][3] ) / s_r; + ELSE + cm1 := rotmat[3][3] / c_r; + END_IF; + END_IF; + END_IF; + pa := ATAN( rotmat[1][3], cm1 ); + END; + END_IF; + ya := ya * ucf; + pa := pa * ucf; + ra := ra * ucf; + RETURN( [ya, pa, ra] ); + + END_FUNCTION; + + FUNCTION convert_to_literal( + val : maths_atom + ) : generic_literal; + + LOCAL + types : SET OF STRING := TYPEOF( val ); + END_LOCAL; + IF 'INTEGER' IN types THEN + RETURN( make_int_literal( val ) ); + END_IF; + IF 'REAL' IN types THEN + RETURN( make_real_literal( val ) ); + END_IF; + IF 'BOOLEAN' IN types THEN + RETURN( make_boolean_literal( val ) ); + END_IF; + IF 'STRING' IN types THEN + RETURN( make_string_literal( val ) ); + END_IF; + IF 'LOGICAL' IN types THEN + RETURN( make_logical_literal( val ) ); + END_IF; + IF 'BINARY' IN types THEN + RETURN( make_binary_literal( val ) ); + END_IF; + IF ( schema_prefix + 'MATHS_ENUM_ATOM' ) IN types THEN + RETURN( make_maths_enum_literal( val ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION convert_to_maths_function( + func : maths_function_select + ) : maths_function; + + LOCAL + efenum : elementary_function_enumerators; + mthfun : maths_function; + END_LOCAL; + IF ( schema_prefix + 'MATHS_FUNCTION' ) IN TYPEOF( func ) THEN + mthfun := func; + ELSE + efenum := func; + mthfun := make_elementary_function( efenum ); + END_IF; + RETURN( mthfun ); + + END_FUNCTION; + + FUNCTION convert_to_maths_value( + val : GENERIC:g + ) : maths_value; + + LOCAL + types : SET OF STRING := TYPEOF( val ); + ival : maths_integer; + rval : maths_real; + nval : maths_number; + tfval : maths_boolean; + lval : maths_logical; + sval : maths_string; + bval : maths_binary; + tval : maths_tuple := the_empty_maths_tuple; + mval : maths_value; + END_LOCAL; + IF ( schema_prefix + 'MATHS_VALUE' ) IN types THEN + RETURN( val ); + END_IF; + IF 'INTEGER' IN types THEN + ival := val; + RETURN( ival ); + END_IF; + IF 'REAL' IN types THEN + rval := val; + RETURN( rval ); + END_IF; + IF 'NUMBER' IN types THEN + nval := val; + RETURN( nval ); + END_IF; + IF 'BOOLEAN' IN types THEN + tfval := val; + RETURN( tfval ); + END_IF; + IF 'LOGICAL' IN types THEN + lval := val; + RETURN( lval ); + END_IF; + IF 'STRING' IN types THEN + sval := val; + RETURN( sval ); + END_IF; + IF 'BINARY' IN types THEN + bval := val; + RETURN( bval ); + END_IF; + IF 'LIST' IN types THEN + REPEAT i := 1 TO SIZEOF( val ) BY 1; + mval := convert_to_maths_value( val[i] ); + IF NOT EXISTS( mval ) THEN + RETURN( ? ); + END_IF; + INSERT( tval, mval, i - 1 ); + END_REPEAT; + RETURN( tval ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION convert_to_operand( + val : maths_value + ) : generic_expression; + + LOCAL + types : SET OF STRING := stripped_typeof( val ); + END_LOCAL; + IF 'GENERIC_EXPRESSION' IN types THEN + RETURN( val ); + END_IF; + IF 'MATHS_ATOM' IN types THEN + RETURN( convert_to_literal( val ) ); + END_IF; + IF 'ATOM_BASED_VALUE' IN types THEN + RETURN( make_atom_based_literal( val ) ); + END_IF; + IF 'MATHS_TUPLE' IN types THEN + RETURN( make_maths_tuple_literal( val ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION convert_to_operands( + values : AGGREGATE OF maths_value + ) : LIST OF generic_expression; + + LOCAL + operands : LIST OF generic_expression := []; + loc : INTEGER := 0; + END_LOCAL; + IF NOT EXISTS( values ) THEN + RETURN( ? ); + END_IF; + REPEAT i := LOINDEX( values ) TO HIINDEX( values ) BY 1; + INSERT( operands, convert_to_operand( values[i] ), loc ); + loc := loc + 1; + END_REPEAT; + RETURN( operands ); + + END_FUNCTION; + + FUNCTION convert_to_operands_prcmfn( + srcdom : maths_space_or_function; + prepfun : LIST OF maths_function; + finfun : maths_function_select + ) : LIST [2 : ?] OF generic_expression; + + LOCAL + operands : LIST OF generic_expression := []; + END_LOCAL; + INSERT( operands, srcdom, 0 ); + REPEAT i := 1 TO SIZEOF( prepfun ) BY 1; + INSERT( operands, prepfun[i], i ); + END_REPEAT; + INSERT( operands, convert_to_maths_function( finfun ), SIZEOF( prepfun ) + 1 ); + RETURN( operands ); + + END_FUNCTION; + + FUNCTION cross_product( + arg1, arg2 : direction + ) : vector; + + LOCAL + mag : REAL; + res : direction; + v1 : LIST [3 : 3] OF REAL; + v2 : LIST [3 : 3] OF REAL; + result : vector; + END_LOCAL; + IF ( NOT EXISTS( arg1 ) ) OR ( arg1.dim = 2 ) OR ( NOT EXISTS( arg2 ) ) OR ( arg2.dim = 2 ) THEN + RETURN( ? ); + ELSE + + BEGIN + v1 := normalise( arg1 ).direction_ratios; + v2 := normalise( arg2 ).direction_ratios; + res := dummy_gri || direction( [( v1[2] * v2[3] ) - ( v1[3] * v2[2] ), ( v1[3] * v2[1] ) - ( v1[1] * v2[3] ), ( v1[1] * + v2[2] ) - ( v1[2] * v2[1] )] ); + mag := 0; + REPEAT i := 1 TO 3 BY 1; + mag := mag + ( res.direction_ratios[i] * res.direction_ratios[i] ); + END_REPEAT; + IF mag > 0 THEN + result := dummy_gri || vector( res, SQRT( mag ) ); + ELSE + result := dummy_gri || vector( arg1, 0 ); + END_IF; + RETURN( result ); + END; + END_IF; + + END_FUNCTION; + + FUNCTION curve_weights_positive( + b : rational_b_spline_curve + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 0 TO b.upper_index_on_control_points BY 1; + IF b.weights[i] <= 0 THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr2( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF SIZEOF( agg ) <= 5 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr3( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN + TYPEOF( i ) ) AND ( i\representation_item.name = 'significant number of digits' ) ) ) ) = 1 ) OR ( ( SIZEOF( + QUERY ( i <* agg | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) + AND ( i\representation_item.name = 'lower limit' ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( i <* agg | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\ + representation_item.name = 'upper limit' ) ) ) ) = 1 ) ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr4( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN + TYPEOF( i ) ) AND ( i\representation_item.name = 'plus minus tolerance value' ) ) ) ) = 1 ) OR ( ( SIZEOF( QUERY ( i <* + agg | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\ + representation_item.name = 'lower tolerance value' ) ) ) ) = 1 ) AND ( SIZEOF( QUERY ( i <* agg | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\ + representation_item.name = 'upper tolerance value' ) ) ) ) = 1 ) ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION default_tolerance_table_cell_wr5( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN + TYPEOF( i ) ) ) ) <= 1 ) AND ( SIZEOF( QUERY ( i <* agg | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) ) ) = SIZEOF( QUERY ( i <* agg | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i\ + representation_item.name = 'cell description' ) ) ) ) ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION definite_integral_check( + domain : tuple_space; + vrblint : input_selector; + lowerinf : BOOLEAN; + upperinf : BOOLEAN + ) : BOOLEAN; + + LOCAL + domn : tuple_space := domain; + fspc : maths_space; + dim : nonnegative_integer; + k : positive_integer; + END_LOCAL; + IF ( space_dimension( domain ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( domain ) ) ) THEN + domn := factor1( domain ); + END_IF; + dim := space_dimension( domn ); + k := vrblint; + IF k > dim THEN + RETURN( FALSE ); + END_IF; + fspc := factor_space( domn, k ); + IF NOT ( ( schema_prefix + 'REAL_INTERVAL' ) IN TYPEOF( fspc ) ) THEN + RETURN( FALSE ); + END_IF; + IF lowerinf AND min_exists( fspc ) THEN + RETURN( FALSE ); + END_IF; + IF upperinf AND max_exists( fspc ) THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION definite_integral_expr_check( + operands : LIST [2 : ?] OF generic_expression; + lowerinf : BOOLEAN; + upperinf : BOOLEAN + ) : BOOLEAN; + + LOCAL + nops : INTEGER := 2; + vspc : maths_space; + dim : nonnegative_integer; + k : positive_integer; + bspc : maths_space; + END_LOCAL; + IF NOT lowerinf THEN + nops := nops + 1; + END_IF; + IF NOT upperinf THEN + nops := nops + 1; + END_IF; + IF SIZEOF( operands ) <> nops THEN + RETURN( FALSE ); + END_IF; + IF NOT ( 'GENERIC_VARIABLE' IN stripped_typeof( operands[2] ) ) THEN + RETURN( FALSE ); + END_IF; + IF NOT has_values_space( operands[2] ) THEN + RETURN( FALSE ); + END_IF; + vspc := values_space_of( operands[2] ); + IF NOT ( 'REAL_INTERVAL' IN stripped_typeof( vspc ) ) THEN + RETURN( FALSE ); + END_IF; + IF lowerinf THEN + IF min_exists( vspc ) THEN + RETURN( FALSE ); + END_IF; + k := 3; + ELSE + IF NOT has_values_space( operands[3] ) THEN + RETURN( FALSE ); + END_IF; + bspc := values_space_of( operands[3] ); + IF NOT compatible_spaces( bspc, vspc ) THEN + RETURN( FALSE ); + END_IF; + k := 4; + END_IF; + IF upperinf THEN + IF max_exists( vspc ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF NOT has_values_space( operands[k] ) THEN + RETURN( FALSE ); + END_IF; + bspc := values_space_of( operands[k] ); + IF NOT compatible_spaces( bspc, vspc ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION dependently_instantiated( + set_of_input_instances : SET OF GENERIC:igen; + set_of_input_types : SET OF STRING; + previous_in_chain : LIST OF GENERIC:cgen + ) : BOOLEAN; + + LOCAL + number_of_input_instances : INTEGER; + number_of_referring_instances : INTEGER; + bag_of_referring_instances : BAG OF GENERIC:igen := []; + dependently_instantiated_flag : BOOLEAN; + previous_in_chain_plus : LIST OF GENERIC:cgen := []; + result : BOOLEAN := TRUE; + set_of_types : SET OF STRING := []; + END_LOCAL; + IF EXISTS( set_of_input_instances ) THEN + number_of_input_instances := SIZEOF( set_of_input_instances ); + set_of_input_types := set_of_input_types + 'GENERIC'; + REPEAT i := 1 TO number_of_input_instances BY 1; + bag_of_referring_instances := USEDIN( set_of_input_instances[i], '' ); + IF EXISTS( bag_of_referring_instances ) THEN + number_of_referring_instances := SIZEOF( bag_of_referring_instances ); + dependently_instantiated_flag := FALSE; + REPEAT j := 1 TO number_of_referring_instances BY 1; + set_of_types := TYPEOF( bag_of_referring_instances[j] ); + IF set_of_types <= set_of_input_types THEN + IF NOT ( bag_of_referring_instances[j] IN previous_in_chain ) THEN + previous_in_chain_plus := previous_in_chain + set_of_input_instances[i]; + IF dependently_instantiated( [bag_of_referring_instances[j]], set_of_input_types, previous_in_chain_plus ) THEN + dependently_instantiated_flag := TRUE; + ESCAPE; + ELSE + SKIP; + END_IF; + END_IF; + ELSE + dependently_instantiated_flag := TRUE; + ESCAPE; + END_IF; + END_REPEAT; + IF NOT dependently_instantiated_flag THEN + RETURN( FALSE ); + END_IF; + ELSE + RETURN( FALSE ); + END_IF; + END_REPEAT; + ELSE + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION derive_angle( + placement_1, placement_2 : axis2_placement_3d + ) : plane_angle_measure; + + LOCAL + v1 : direction; + v2 : direction; + mag_v1 : REAL; + mag_v2 : REAL; + theta : plane_angle_measure; + END_LOCAL; + v1 := placement_1.p[1]; + v2 := placement_2.p[1]; + mag_v1 := SQRT( ( v1.direction_ratios[1] * v1.direction_ratios[1] ) + ( v1.direction_ratios[2] * v1.direction_ratios[2] ) ); + mag_v2 := SQRT( ( v2.direction_ratios[1] * v2.direction_ratios[1] ) + ( v2.direction_ratios[2] * v2.direction_ratios[2] ) ); + IF ( mag_v1 = 0 ) OR ( mag_v2 = 0 ) THEN + theta := 0; + RETURN( theta ); + END_IF; + theta := ACOS( ( ( v1.direction_ratios[1] * v2.direction_ratios[1] ) + ( v1.direction_ratios[2] * v2.direction_ratios[2] ) ) + / ( mag_v1 * mag_v2 ) ); + RETURN( theta ); + + END_FUNCTION; + + FUNCTION derive_definite_integral_domain( + igrl : definite_integral_function + ) : tuple_space; + + FUNCTION process_product_space( + spc : product_space; + idx, prefix : INTEGER; + vdomn : maths_space + ) : product_space; + + LOCAL + uspc : uniform_product_space; + expnt : INTEGER; + factors : LIST OF maths_space; + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN TYPEOF( spc ) THEN + uspc := spc; + expnt := uspc.exponent + prefix; + IF idx <= uspc.exponent THEN + expnt := expnt - 1; + END_IF; + IF expnt = 0 THEN + RETURN( make_listed_product_space( [] ) ); + ELSE + RETURN( make_uniform_product_space( uspc.base, expnt ) ); + END_IF; + ELSE + factors := spc\listed_product_space.factors; + IF idx <= SIZEOF( factors ) THEN + REMOVE( factors, idx ); + END_IF; + IF prefix > 0 THEN + INSERT( factors, vdomn, 0 ); + IF prefix > 1 THEN + INSERT( factors, vdomn, 0 ); + END_IF; + END_IF; + RETURN( make_listed_product_space( factors ) ); + END_IF; + + END_FUNCTION; + + LOCAL + idomn : tuple_space := igrl.integrand.domain; + types : SET OF STRING := TYPEOF( idomn ); + idx : INTEGER := igrl.variable_of_integration; + tupled : BOOLEAN := bool( ( space_dimension( idomn ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN types ) ); + prefix : INTEGER := 0; + espc : extended_tuple_space; + vdomn : maths_space; + END_LOCAL; + IF tupled THEN + idomn := factor1( idomn ); + types := TYPEOF( idomn ); + END_IF; + IF igrl.lower_limit_neg_infinity THEN + prefix := prefix + 1; + END_IF; + IF igrl.upper_limit_pos_infinity THEN + prefix := prefix + 1; + END_IF; + vdomn := factor_space( idomn, idx ); + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN types THEN + espc := idomn; + idomn := make_extended_tuple_space( process_product_space( espc.base, idx, prefix, vdomn ), espc.extender ); + ELSE + idomn := process_product_space( idomn, idx, prefix, vdomn ); + END_IF; + IF tupled THEN + RETURN( one_tuples_of( idomn ) ); + ELSE + RETURN( idomn ); + END_IF; + + END_FUNCTION; + + FUNCTION derive_dimensional_exponents( + x : unit + ) : dimensional_exponents; + + LOCAL + result : dimensional_exponents := dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ); + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DERIVED_UNIT' IN TYPEOF( x ) THEN + REPEAT i := LOINDEX( x\derived_unit.elements ) TO HIINDEX( x\derived_unit.elements ) BY 1; + result.length_exponent := result.length_exponent + ( x\derived_unit.elements[i]\derived_unit_element.exponent * x\ + derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.length_exponent ); + result.mass_exponent := result.mass_exponent + ( x\derived_unit.elements[i]\derived_unit_element.exponent * x\ + derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.mass_exponent ); + result.time_exponent := result.time_exponent + ( x\derived_unit.elements[i]\derived_unit_element.exponent * x\ + derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.time_exponent ); + result.electric_current_exponent := result.electric_current_exponent + ( x\derived_unit.elements[i]\derived_unit_element. + exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.electric_current_exponent ); + result.thermodynamic_temperature_exponent := result.thermodynamic_temperature_exponent + ( x\derived_unit.elements[i]\ + derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions. + thermodynamic_temperature_exponent ); + result.amount_of_substance_exponent := result.amount_of_substance_exponent + ( x\derived_unit.elements[i]\ + derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions. + amount_of_substance_exponent ); + result.luminous_intensity_exponent := result.luminous_intensity_exponent + ( x\derived_unit.elements[i]\ + derived_unit_element.exponent * x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions. + luminous_intensity_exponent ); + END_REPEAT; + ELSE + result := x\named_unit.dimensions; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION derive_elementary_function_domain( + ef_val : elementary_function_enumerators + ) : tuple_space; + IF NOT EXISTS( ef_val ) THEN + RETURN( ? ); + END_IF; + CASE ef_val OF + ef_and : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_logicals ) ); + ef_or : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_logicals ) ); + ef_not : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_xor : RETURN( make_uniform_product_space( the_logicals, 2 ) ); + ef_negate_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_add_i : RETURN( the_integer_tuples ); + ef_subtract_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_multiply_i : RETURN( the_integer_tuples ); + ef_divide_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_mod_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_exponentiate_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_eq_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_ne_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_gt_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_lt_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_ge_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_le_i : RETURN( make_uniform_product_space( the_integers, 2 ) ); + ef_abs_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_if_i : RETURN( make_listed_product_space( [the_logicals, the_integers, the_integers] ) ); + ef_negate_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_reciprocal_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_add_r : RETURN( the_real_tuples ); + ef_subtract_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_multiply_r : RETURN( the_real_tuples ); + ef_divide_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_mod_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_exponentiate_r : RETURN( make_listed_product_space( [the_nonnegative_reals, the_reals] ) ); + ef_exponentiate_ri : RETURN( make_listed_product_space( [the_reals, the_integers] ) ); + ef_eq_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_ne_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_gt_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_lt_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_ge_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_le_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_abs_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_acos_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_asin_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_atan2_r : RETURN( make_uniform_product_space( the_reals, 2 ) ); + ef_cos_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_exp_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_ln_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_log2_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_log10_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_sin_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_sqrt_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_tan_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_if_r : RETURN( make_listed_product_space( [the_logicals, the_reals, the_reals] ) ); + ef_negate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_reciprocal_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_add_c : RETURN( the_complex_tuples ); + ef_subtract_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_multiply_c : RETURN( the_complex_tuples ); + ef_divide_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_exponentiate_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_exponentiate_ci : RETURN( make_listed_product_space( [the_complex_numbers, the_integers] ) ); + ef_eq_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_ne_c : RETURN( make_uniform_product_space( the_complex_numbers, 2 ) ); + ef_conjugate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_abs_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_arg_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_cos_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exp_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_ln_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sin_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sqrt_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_tan_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_if_c : RETURN( make_listed_product_space( [the_logicals, the_complex_numbers, the_complex_numbers] ) ); + ef_subscript_s : RETURN( make_listed_product_space( [the_strings, the_integers] ) ); + ef_eq_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_ne_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_gt_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_lt_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_ge_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_le_s : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_subsequence_s : RETURN( make_listed_product_space( [the_strings, the_integers, the_integers] ) ); + ef_concat_s : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_strings ) ); + ef_size_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_format : RETURN( make_listed_product_space( [the_numbers, the_strings] ) ); + ef_value : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_like : RETURN( make_uniform_product_space( the_strings, 2 ) ); + ef_if_s : RETURN( make_listed_product_space( [the_logicals, the_strings, the_strings] ) ); + ef_subscript_b : RETURN( make_listed_product_space( [the_binarys, the_integers] ) ); + ef_eq_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_ne_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_gt_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_lt_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_ge_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_le_b : RETURN( make_uniform_product_space( the_binarys, 2 ) ); + ef_subsequence_b : RETURN( make_listed_product_space( [the_binarys, the_integers, the_integers] ) ); + ef_concat_b : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_binarys ) ); + ef_size_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_if_b : RETURN( make_listed_product_space( [the_logicals, the_binarys, the_binarys] ) ); + ef_subscript_t : RETURN( make_listed_product_space( [the_tuples, the_integers] ) ); + ef_eq_t : RETURN( make_uniform_product_space( the_tuples, 2 ) ); + ef_ne_t : RETURN( make_uniform_product_space( the_tuples, 2 ) ); + ef_concat_t : RETURN( make_extended_tuple_space( the_zero_tuple_space, the_tuples ) ); + ef_size_t : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_entuple : RETURN( the_tuples ); + ef_detuple : RETURN( make_uniform_product_space( the_generics, 1 ) ); + ef_insert : RETURN( make_listed_product_space( [the_tuples, the_generics, the_integers] ) ); + ef_remove : RETURN( make_listed_product_space( [the_tuples, the_integers] ) ); + ef_if_t : RETURN( make_listed_product_space( [the_logicals, the_tuples, the_tuples] ) ); + ef_sum_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_product_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_add_it : RETURN( make_extended_tuple_space( the_integer_tuples, the_integer_tuples ) ); + ef_subtract_it : RETURN( make_uniform_product_space( the_integer_tuples, 2 ) ); + ef_scalar_mult_it : RETURN( make_listed_product_space( [the_integers, the_integer_tuples] ) ); + ef_dot_prod_it : RETURN( make_uniform_product_space( the_integer_tuples, 2 ) ); + ef_sum_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_product_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_add_rt : RETURN( make_extended_tuple_space( the_real_tuples, the_real_tuples ) ); + ef_subtract_rt : RETURN( make_uniform_product_space( the_real_tuples, 2 ) ); + ef_scalar_mult_rt : RETURN( make_listed_product_space( [the_reals, the_real_tuples] ) ); + ef_dot_prod_rt : RETURN( make_uniform_product_space( the_real_tuples, 2 ) ); + ef_norm_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_sum_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_product_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_add_ct : RETURN( make_extended_tuple_space( the_complex_tuples, the_complex_tuples ) ); + ef_subtract_ct : RETURN( make_uniform_product_space( the_complex_tuples, 2 ) ); + ef_scalar_mult_ct : RETURN( make_listed_product_space( [the_complex_numbers, the_complex_tuples] ) ); + ef_dot_prod_ct : RETURN( make_uniform_product_space( the_complex_tuples, 2 ) ); + ef_norm_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_if : RETURN( make_listed_product_space( [the_logicals, the_generics, the_generics] ) ); + ef_ensemble : RETURN( the_tuples ); + ef_member_of : RETURN( make_listed_product_space( [the_generics, the_maths_spaces] ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION derive_elementary_function_range( + ef_val : elementary_function_enumerators + ) : tuple_space; + IF NOT EXISTS( ef_val ) THEN + RETURN( ? ); + END_IF; + CASE ef_val OF + ef_and : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_or : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_not : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_xor : RETURN( make_uniform_product_space( the_logicals, 2 ) ); + ef_negate_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_add_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_subtract_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_multiply_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_divide_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_mod_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_exponentiate_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_eq_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_i : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_abs_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_if_i : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_negate_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_reciprocal_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_add_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_subtract_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_multiply_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_divide_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_mod_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_exponentiate_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_exponentiate_ri : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_eq_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_r : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_abs_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_acos_r : RETURN( make_uniform_product_space( the_zero_pi_interval, 1 ) ); + ef_asin_r : RETURN( make_uniform_product_space( the_neghalfpi_halfpi_interval, 1 ) ); + ef_atan2_r : RETURN( make_uniform_product_space( the_negpi_pi_interval, 1 ) ); + ef_cos_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_exp_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_ln_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_log2_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_log10_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_sin_r : RETURN( make_uniform_product_space( the_neg1_one_interval, 1 ) ); + ef_sqrt_r : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_tan_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_if_r : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_negate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_reciprocal_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_add_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_subtract_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_multiply_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_divide_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exponentiate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exponentiate_ci : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_eq_c : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_c : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_conjugate_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_abs_c : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_arg_c : RETURN( make_uniform_product_space( the_negpi_pi_interval, 1 ) ); + ef_cos_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_exp_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_ln_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sin_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_sqrt_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_tan_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_if_c : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_subscript_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_eq_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_s : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_subsequence_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_concat_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_size_s : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_format : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_value : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_like : RETURN( make_uniform_product_space( the_booleans, 1 ) ); + ef_if_s : RETURN( make_uniform_product_space( the_strings, 1 ) ); + ef_subscript_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_eq_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_gt_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_lt_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ge_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_le_b : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_subsequence_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_concat_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_size_b : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_if_b : RETURN( make_uniform_product_space( the_binarys, 1 ) ); + ef_subscript_t : RETURN( make_uniform_product_space( the_generics, 1 ) ); + ef_eq_t : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_ne_t : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + ef_concat_t : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_size_t : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_entuple : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_detuple : RETURN( the_tuples ); + ef_insert : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_remove : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_if_t : RETURN( make_uniform_product_space( the_tuples, 1 ) ); + ef_sum_it : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_product_it : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_add_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_subtract_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_scalar_mult_it : RETURN( make_uniform_product_space( the_integer_tuples, 1 ) ); + ef_dot_prod_it : RETURN( make_uniform_product_space( the_integers, 1 ) ); + ef_sum_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_product_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_add_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_subtract_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_scalar_mult_rt : RETURN( make_uniform_product_space( the_real_tuples, 1 ) ); + ef_dot_prod_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_norm_rt : RETURN( make_uniform_product_space( the_reals, 1 ) ); + ef_sum_ct : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_product_ct : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_add_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_subtract_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_scalar_mult_ct : RETURN( make_uniform_product_space( the_complex_tuples, 1 ) ); + ef_dot_prod_ct : RETURN( make_uniform_product_space( the_complex_numbers, 1 ) ); + ef_norm_ct : RETURN( make_uniform_product_space( the_nonnegative_reals, 1 ) ); + ef_if : RETURN( make_uniform_product_space( the_generics, 1 ) ); + ef_ensemble : RETURN( make_uniform_product_space( the_maths_spaces, 1 ) ); + ef_member_of : RETURN( make_uniform_product_space( the_logicals, 1 ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION derive_finite_function_domain( + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value + ) : tuple_space; + + LOCAL + result : SET OF maths_value := []; + END_LOCAL; + result := result + list_selected_components( pairs, 1 ); + RETURN( one_tuples_of( make_finite_space( result ) ) ); + + END_FUNCTION; + + FUNCTION derive_finite_function_range( + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value + ) : tuple_space; + + LOCAL + result : SET OF maths_value := []; + END_LOCAL; + result := result + list_selected_components( pairs, 2 ); + RETURN( one_tuples_of( make_finite_space( result ) ) ); + + END_FUNCTION; + + FUNCTION derive_function_domain( + func : maths_function + ) : tuple_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( func ); + tspace : tuple_space := make_listed_product_space( [] ); + shape : LIST OF positive_integer; + sidxs : LIST OF INTEGER := [0]; + itvl : finite_integer_interval; + factors : LIST OF finite_integer_interval := []; + is_uniform : BOOLEAN := TRUE; + END_LOCAL; + IF 'FINITE_FUNCTION' IN typenames THEN + RETURN( derive_finite_function_domain( func\finite_function.pairs ) ); + END_IF; + IF 'CONSTANT_FUNCTION' IN typenames THEN + RETURN( domain_from( func\constant_function.source_of_domain ) ); + END_IF; + IF 'SELECTOR_FUNCTION' IN typenames THEN + RETURN( domain_from( func\selector_function.source_of_domain ) ); + END_IF; + IF 'ELEMENTARY_FUNCTION' IN typenames THEN + RETURN( derive_elementary_function_domain( func\elementary_function.func_id ) ); + END_IF; + IF 'RESTRICTION_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( func\restriction_function.operand ) ); + END_IF; + IF 'REPACKAGING_FUNCTION' IN typenames THEN + IF func\repackaging_function.input_repack = ro_nochange THEN + RETURN( func\repackaging_function.operand.domain ); + END_IF; + IF func\repackaging_function.input_repack = ro_wrap_as_tuple THEN + RETURN( factor1( func\repackaging_function.operand.domain ) ); + END_IF; + IF func\repackaging_function.input_repack = ro_unwrap_tuple THEN + RETURN( one_tuples_of( func\repackaging_function.operand.domain ) ); + END_IF; + RETURN( ? ); + END_IF; + IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN + shape := shape_of_array( func\unary_generic_expression.operand ); + sidxs := func\reindexed_array_function.starting_indices; + REPEAT i := 1 TO SIZEOF( shape ) BY 1; + itvl := make_finite_integer_interval( sidxs[i], ( sidxs[i] + shape[i] ) - 1 ); + INSERT( factors, itvl, i - 1 ); + IF shape[i] <> shape[1] THEN + is_uniform := FALSE; + END_IF; + END_REPEAT; + IF is_uniform THEN + RETURN( make_uniform_product_space( factors[1], SIZEOF( shape ) ) ); + END_IF; + RETURN( make_listed_product_space( factors ) ); + END_IF; + IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN + RETURN( func\series_composed_function.operands[1].domain ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN + RETURN( domain_from( func\parallel_composed_function.source_of_domain ) ); + END_IF; + IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN + shape := func\explicit_table_function.shape; + sidxs[1] := func\explicit_table_function.index_base; + REPEAT i := 1 TO SIZEOF( shape ) BY 1; + itvl := make_finite_integer_interval( sidxs[1], ( sidxs[1] + shape[i] ) - 1 ); + INSERT( factors, itvl, i - 1 ); + IF shape[i] <> shape[1] THEN + is_uniform := FALSE; + END_IF; + END_REPEAT; + IF is_uniform THEN + RETURN( make_uniform_product_space( factors[1], SIZEOF( shape ) ) ); + END_IF; + RETURN( make_listed_product_space( factors ) ); + END_IF; + IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\homogeneous_linear_function.mat.range ), func\ + homogeneous_linear_function.mat\explicit_table_function.shape[func\homogeneous_linear_function.sum_index] ) ) ); + END_IF; + IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\general_linear_function.mat.range ), func\ + general_linear_function.mat\explicit_table_function.shape[func\general_linear_function.sum_index] - 1 ) ) ); + END_IF; + IF 'B_SPLINE_BASIS' IN typenames THEN + RETURN( one_tuples_of( make_finite_real_interval( func\b_spline_basis.repeated_knots[func\b_spline_basis.order], closed, + func\b_spline_basis.repeated_knots[func\b_spline_basis.num_basis + 1], closed ) ) ); + END_IF; + IF 'B_SPLINE_FUNCTION' IN typenames THEN + REPEAT i := 1 TO SIZEOF( func\b_spline_function.basis ) BY 1; + tspace := assoc_product_space( tspace, func\b_spline_function.basis[i].domain ); + END_REPEAT; + RETURN( one_tuples_of( tspace ) ); + END_IF; + IF 'RATIONALIZE_FUNCTION' IN typenames THEN + RETURN( func\rationalize_function.fun.domain ); + END_IF; + IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN + RETURN( func\partial_derivative_function.derivand.domain ); + END_IF; + IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN + RETURN( derive_definite_integral_domain( func ) ); + END_IF; + IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN + REPEAT i := 1 TO SIZEOF( func\abstracted_expression_function.variables ) BY 1; + tspace := assoc_product_space( tspace, one_tuples_of( values_space_of( func\abstracted_expression_function.variables[i] ) ) ); + END_REPEAT; + RETURN( tspace ); + END_IF; + IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN + RETURN( values_space_of( func\expression_denoted_function.expr )\function_space.domain_argument ); + END_IF; + IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_listed_product_space( [] ) ) ); + END_IF; + IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN + RETURN( func\imported_curve_function.parametric_domain ); + END_IF; + IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN + RETURN( func\imported_surface_function.parametric_domain ); + END_IF; + IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN + RETURN( func\imported_volume_function.parametric_domain ); + END_IF; + IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN + RETURN( func\application_defined_function.explicit_domain ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION derive_function_range( + func : maths_function + ) : tuple_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( func ); + tspace : tuple_space := make_listed_product_space( [] ); + m : nonnegative_integer := 0; + n : nonnegative_integer := 0; + temp : INTEGER := 0; + END_LOCAL; + IF 'FINITE_FUNCTION' IN typenames THEN + RETURN( derive_finite_function_range( func\finite_function.pairs ) ); + END_IF; + IF 'CONSTANT_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_finite_space( [func\constant_function.sole_output] ) ) ); + END_IF; + IF 'SELECTOR_FUNCTION' IN typenames THEN + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( tspace ) ) THEN + tspace := factor1( tspace ); + END_IF; + RETURN( one_tuples_of( factor_space( tspace, func\selector_function.selector ) ) ); + END_IF; + IF 'ELEMENTARY_FUNCTION' IN typenames THEN + RETURN( derive_elementary_function_range( func\elementary_function.func_id ) ); + END_IF; + IF 'RESTRICTION_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( func\restriction_function.operand ) ); + END_IF; + IF 'REPACKAGING_FUNCTION' IN typenames THEN + tspace := func\repackaging_function.operand.range; + IF func\repackaging_function.output_repack = ro_wrap_as_tuple THEN + tspace := one_tuples_of( tspace ); + END_IF; + IF func\repackaging_function.output_repack = ro_unwrap_tuple THEN + tspace := factor1( tspace ); + END_IF; + IF func\repackaging_function.selected_output > 0 THEN + tspace := one_tuples_of( factor_space( tspace, func\repackaging_function.selected_output ) ); + END_IF; + RETURN( tspace ); + END_IF; + IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN + RETURN( func\unary_generic_expression.operand\maths_function.range ); + END_IF; + IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN + RETURN( func\series_composed_function.operands[SIZEOF( func\series_composed_function.operands )].range ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN + RETURN( func\parallel_composed_function.final_function.range ); + END_IF; + IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN + IF 'LISTED_REAL_DATA' IN typenames THEN + RETURN( one_tuples_of( the_reals ) ); + END_IF; + IF 'LISTED_INTEGER_DATA' IN typenames THEN + RETURN( one_tuples_of( the_integers ) ); + END_IF; + IF 'LISTED_LOGICAL_DATA' IN typenames THEN + RETURN( one_tuples_of( the_logicals ) ); + END_IF; + IF 'LISTED_STRING_DATA' IN typenames THEN + RETURN( one_tuples_of( the_strings ) ); + END_IF; + IF 'LISTED_COMPLEX_NUMBER_DATA' IN typenames THEN + RETURN( one_tuples_of( the_complex_numbers ) ); + END_IF; + IF 'LISTED_DATA' IN typenames THEN + RETURN( one_tuples_of( func\listed_data.value_range ) ); + END_IF; + IF 'EXTERNALLY_LISTED_DATA' IN typenames THEN + RETURN( one_tuples_of( func\externally_listed_data.value_range ) ); + END_IF; + IF 'LINEARIZED_TABLE_FUNCTION' IN typenames THEN + RETURN( func\linearized_table_function.source.range ); + END_IF; + IF 'BASIC_SPARSE_MATRIX' IN typenames THEN + RETURN( func\basic_sparse_matrix.val.range ); + END_IF; + RETURN( ? ); + END_IF; + IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\homogeneous_linear_function.mat.range ), func\ + homogeneous_linear_function.mat\explicit_table_function.shape[3 - func\homogeneous_linear_function.sum_index] ) ) ); + END_IF; + IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( factor1( func\general_linear_function.mat.range ), func\ + general_linear_function.mat\explicit_table_function.shape[3 - func\general_linear_function.sum_index] ) ) ); + END_IF; + IF 'B_SPLINE_BASIS' IN typenames THEN + RETURN( one_tuples_of( make_uniform_product_space( the_reals, func\b_spline_basis.num_basis ) ) ); + END_IF; + IF 'B_SPLINE_FUNCTION' IN typenames THEN + tspace := factor1( func\b_spline_function.coef.domain ); + m := SIZEOF( func\b_spline_function.basis ); + n := space_dimension( tspace ); + IF m = n THEN + RETURN( one_tuples_of( the_reals ) ); + END_IF; + IF m = ( n - 1 ) THEN + RETURN( one_tuples_of( make_uniform_product_space( the_reals, factor_space( tspace, n )\finite_integer_interval.size ) ) ); + END_IF; + tspace := extract_factors( tspace, m + 1, n ); + RETURN( one_tuples_of( make_function_space( sc_equal, tspace, sc_subspace, number_superspace_of( func\b_spline_function. + coef.range ) ) ) ); + END_IF; + IF 'RATIONALIZE_FUNCTION' IN typenames THEN + tspace := factor1( func\rationalize_function.fun.range ); + n := space_dimension( tspace ); + RETURN( one_tuples_of( make_uniform_product_space( number_superspace_of( factor1( tspace ) ), n - 1 ) ) ); + END_IF; + IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN + RETURN( drop_numeric_constraints( func\partial_derivative_function.derivand.range ) ); + END_IF; + IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN + RETURN( drop_numeric_constraints( func\definite_integral_function.integrand.range ) ); + END_IF; + IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN + RETURN( one_tuples_of( values_space_of( func\abstracted_expression_function.expr ) ) ); + END_IF; + IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN + RETURN( values_space_of( func\expression_denoted_function.expr )\function_space.range_argument ); + END_IF; + IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_point_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_curve_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_surface_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN + temp := dimension_of( func\imported_volume_function.geometry ); + RETURN( one_tuples_of( make_uniform_product_space( the_reals, temp ) ) ); + END_IF; + IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN + RETURN( func\application_defined_function.explicit_range ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION dimension_of( + item : geometric_representation_item + ) : dimension_count; + + LOCAL + x : SET OF representation; + y : representation_context; + dim : dimension_count; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF( item ) THEN + dim := SIZEOF( item\cartesian_point.coordinates ); + RETURN( dim ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION' IN TYPEOF( item ) THEN + dim := SIZEOF( item\direction.direction_ratios ); + RETURN( dim ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF( item ) THEN + dim := SIZEOF( item\vector.orientation\direction.direction_ratios ); + RETURN( dim ); + END_IF; + x := using_representations( item ); + IF SIZEOF( x ) > 0 THEN + y := x[1].context_of_items; + dim := y\geometric_representation_context.coordinate_space_dimension; + RETURN( dim ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION dimensions_for_si_unit( + n : si_unit_name + ) : dimensional_exponents; + CASE n OF + metre : RETURN( dimensional_exponents( 1, 0, 0, 0, 0, 0, 0 ) ); + gram : RETURN( dimensional_exponents( 0, 1, 0, 0, 0, 0, 0 ) ); + second : RETURN( dimensional_exponents( 0, 0, 1, 0, 0, 0, 0 ) ); + ampere : RETURN( dimensional_exponents( 0, 0, 0, 1, 0, 0, 0 ) ); + kelvin : RETURN( dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) ); + mole : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 1, 0 ) ); + candela : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) ); + radian : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) ); + steradian : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) ); + hertz : RETURN( dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) ); + newton : RETURN( dimensional_exponents( 1, 1, -2, 0, 0, 0, 0 ) ); + pascal : RETURN( dimensional_exponents( -1, 1, -2, 0, 0, 0, 0 ) ); + joule : RETURN( dimensional_exponents( 2, 1, -2, 0, 0, 0, 0 ) ); + watt : RETURN( dimensional_exponents( 2, 1, -3, 0, 0, 0, 0 ) ); + coulomb : RETURN( dimensional_exponents( 0, 0, 1, 1, 0, 0, 0 ) ); + volt : RETURN( dimensional_exponents( 2, 1, -3, -1, 0, 0, 0 ) ); + farad : RETURN( dimensional_exponents( -2, -1, 4, 2, 0, 0, 0 ) ); + ohm : RETURN( dimensional_exponents( 2, 1, -3, -2, 0, 0, 0 ) ); + siemens : RETURN( dimensional_exponents( -2, -1, 3, 2, 0, 0, 0 ) ); + weber : RETURN( dimensional_exponents( 2, 1, -2, -1, 0, 0, 0 ) ); + tesla : RETURN( dimensional_exponents( 0, 1, -2, -1, 0, 0, 0 ) ); + henry : RETURN( dimensional_exponents( 2, 1, -2, -2, 0, 0, 0 ) ); + degree_celsius : RETURN( dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) ); + lumen : RETURN( dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) ); + lux : RETURN( dimensional_exponents( -2, 0, 0, 0, 0, 0, 1 ) ); + becquerel : RETURN( dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) ); + gray : RETURN( dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) ); + sievert : RETURN( dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION domain_from( + ref : maths_space_or_function + ) : tuple_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( ref ); + func : maths_function; + END_LOCAL; + IF NOT EXISTS( ref ) THEN + RETURN( ? ); + END_IF; + IF 'TUPLE_SPACE' IN typenames THEN + RETURN( ref ); + END_IF; + IF 'MATHS_SPACE' IN typenames THEN + RETURN( one_tuples_of( ref ) ); + END_IF; + func := ref; + IF 'CONSTANT_FUNCTION' IN typenames THEN + RETURN( domain_from( func\constant_function.source_of_domain ) ); + END_IF; + IF 'SELECTOR_FUNCTION' IN typenames THEN + RETURN( domain_from( func\selector_function.source_of_domain ) ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN + RETURN( domain_from( func\parallel_composed_function.source_of_domain ) ); + END_IF; + RETURN( func.domain ); + + END_FUNCTION; + + FUNCTION dot_product( + arg1, arg2 : direction + ) : REAL; + + LOCAL + scalar : REAL; + vec1 : direction; + vec2 : direction; + ndim : INTEGER; + END_LOCAL; + IF ( NOT EXISTS( arg1 ) ) OR ( NOT EXISTS( arg2 ) ) THEN + scalar := ?; + ELSE + IF arg1.dim <> arg2.dim THEN + scalar := ?; + ELSE + + BEGIN + vec1 := normalise( arg1 ); + vec2 := normalise( arg2 ); + ndim := arg1.dim; + scalar := 0; + REPEAT i := 1 TO ndim BY 1; + scalar := scalar + ( vec1.direction_ratios[i] * vec2.direction_ratios[i] ); + END_REPEAT; + END; + END_IF; + END_IF; + RETURN( scalar ); + + END_FUNCTION; + + FUNCTION drop_numeric_constraints( + spc : maths_space + ) : maths_space; + + LOCAL + typenames : SET OF STRING := stripped_typeof( spc ); + tspc : listed_product_space; + factors : LIST OF maths_space := []; + xspc : extended_tuple_space; + END_LOCAL; + IF 'UNIFORM_PRODUCT_SPACE' IN typenames THEN + RETURN( make_uniform_product_space( drop_numeric_constraints( spc\uniform_product_space.base ), spc\uniform_product_space. + exponent ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN typenames THEN + tspc := spc; + REPEAT i := 1 TO SIZEOF( tspc.factors ) BY 1; + INSERT( factors, drop_numeric_constraints( tspc.factors[i] ), i - 1 ); + END_REPEAT; + RETURN( make_listed_product_space( factors ) ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN typenames THEN + xspc := spc; + RETURN( make_extended_tuple_space( drop_numeric_constraints( xspc.base ), drop_numeric_constraints( xspc.extender ) ) ); + END_IF; + IF subspace_of_es( spc, es_numbers ) THEN + RETURN( number_superspace_of( spc ) ); + END_IF; + RETURN( spc ); + + END_FUNCTION; + + FUNCTION duration_is_negative( + duration : time_measure_with_unit + ) : BOOLEAN; + IF duration\measure_with_unit.value_component < 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION duration_is_positive( + duration : time_measure_with_unit + ) : BOOLEAN; + IF duration\measure_with_unit.value_component > 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION edge_reversed( + an_edge : edge + ) : oriented_edge; + + LOCAL + the_reverse : oriented_edge; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE' IN TYPEOF( an_edge ) THEN + the_reverse := dummy_tri || edge( an_edge.edge_end, an_edge.edge_start ) || oriented_edge( an_edge\oriented_edge. + edge_element, NOT an_edge\oriented_edge.orientation ); + ELSE + the_reverse := dummy_tri || edge( an_edge.edge_end, an_edge.edge_start ) || oriented_edge( an_edge, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION enclose_cregion_in_pregion( + crgn : cartesian_complex_number_region; + centre : complex_number_literal + ) : polar_complex_number_region; + + FUNCTION angle( + a : REAL + ) : REAL; + REPEAT WHILE a > PI; + a := a - ( 2 * PI ); + END_REPEAT; + REPEAT WHILE a <= ( -PI ); + a := a + ( 2 * PI ); + END_REPEAT; + RETURN( a ); + + END_FUNCTION; + + FUNCTION strictly_in( + z : REAL; + zitv : real_interval + ) : LOGICAL; + RETURN( ( ( NOT min_exists( zitv ) ) OR ( z > real_min( zitv ) ) ) AND ( ( NOT max_exists( zitv ) ) OR ( z < real_max( zitv ) ) ) ); + + END_FUNCTION; + + PROCEDURE angle_minmax( + ab, a : REAL; + a_in : BOOLEAN; + VAR amin, amax : REAL; + VAR amin_in, amax_in : BOOLEAN ); + a := angle( a - ab ); + IF amin = a THEN + amin_in := amin_in OR a_in; + END_IF; + IF amin > a THEN + amin := a; + amin_in := a_in; + END_IF; + IF amax = a THEN + amax_in := amax_in OR a_in; + END_IF; + IF amax < a THEN + amax := a; + amax_in := a_in; + END_IF; + + END_PROCEDURE; + + PROCEDURE range_max( + r : REAL; + incl : BOOLEAN; + VAR rmax : REAL; + VAR rmax_in : BOOLEAN ); + IF rmax = r THEN + rmax_in := rmax_in OR incl; + END_IF; + IF rmax < r THEN + rmax := r; + rmax_in := incl; + END_IF; + + END_PROCEDURE; + + PROCEDURE range_min( + r : REAL; + incl : BOOLEAN; + VAR rmin : REAL; + VAR rmin_in : BOOLEAN ); + IF rmin = r THEN + rmin_in := rmin_in OR incl; + END_IF; + IF ( rmin < 0 ) OR ( rmin > r ) THEN + rmin := r; + rmin_in := incl; + END_IF; + + END_PROCEDURE; + + LOCAL + xitv : real_interval; + yitv : real_interval; + is_xmin : BOOLEAN; + is_xmax : BOOLEAN; + is_ymin : BOOLEAN; + is_ymax : BOOLEAN; + xmin : REAL := 0; + xmax : REAL := 0; + ymin : REAL := 0; + ymax : REAL := 0; + xc : REAL := 0; + yc : REAL := 0; + xmin_in : BOOLEAN := FALSE; + xmax_in : BOOLEAN := FALSE; + ymin_in : BOOLEAN := FALSE; + ymax_in : BOOLEAN := FALSE; + rmin : REAL := -1; + rmax : REAL := -1; + amin : REAL := 4; + amax : REAL := -4; + rmax_exists : BOOLEAN := TRUE; + outside : BOOLEAN := TRUE; + rmin_in : BOOLEAN := FALSE; + rmax_in : BOOLEAN := FALSE; + amin_in : BOOLEAN := FALSE; + amax_in : BOOLEAN := FALSE; + ab : REAL := 0; + a : REAL := 0; + r : REAL := 0; + incl : BOOLEAN; + ritv : real_interval; + aitv : finite_real_interval; + minclo : open_closed := open; + maxclo : open_closed := open; + END_LOCAL; + IF ( NOT EXISTS( crgn ) ) OR ( NOT EXISTS( centre ) ) THEN + RETURN( ? ); + END_IF; + xitv := crgn.real_constraint; + yitv := crgn.imag_constraint; + xc := centre.real_part; + yc := centre.imag_part; + is_xmin := min_exists( xitv ); + is_xmax := max_exists( xitv ); + is_ymin := min_exists( yitv ); + is_ymax := max_exists( yitv ); + IF is_xmin THEN + xmin := real_min( xitv ); + xmin_in := min_included( xitv ); + END_IF; + IF is_xmax THEN + xmax := real_max( xitv ); + xmax_in := max_included( xitv ); + END_IF; + IF is_ymin THEN + ymin := real_min( yitv ); + ymin_in := min_included( yitv ); + END_IF; + IF is_ymax THEN + ymax := real_max( yitv ); + ymax_in := max_included( yitv ); + END_IF; + rmax_exists := is_xmin AND is_xmax AND is_ymin AND is_ymax; + IF is_xmin AND ( xc <= xmin ) THEN + ab := 0; + ELSE + IF is_ymin AND ( yc <= ymin ) THEN + ab := 0.5 * PI; + ELSE + IF is_ymax AND ( yc >= ymax ) THEN + ab := ( -0.5 ) * PI; + ELSE + IF is_xmax AND ( xc >= xmax ) THEN + ab := PI; + ELSE + outside := FALSE; + END_IF; + END_IF; + END_IF; + END_IF; + IF ( NOT outside ) AND ( NOT rmax_exists ) THEN + RETURN( ? ); + END_IF; + IF is_xmin AND ( xc <= xmin ) AND strictly_in( yc, yitv ) THEN + rmin := xmin - xc; + rmin_in := xmin_in; + ELSE + IF is_ymin AND ( yc <= ymin ) AND strictly_in( xc, xitv ) THEN + rmin := ymin - yc; + rmin_in := ymin_in; + ELSE + IF is_ymax AND ( yc >= ymax ) AND strictly_in( xc, xitv ) THEN + rmin := yc - ymax; + rmin_in := ymax_in; + ELSE + IF is_xmax AND ( xc >= xmax ) AND strictly_in( yc, yitv ) THEN + rmin := xc - xmax; + rmin_in := xmax_in; + END_IF; + END_IF; + END_IF; + END_IF; + IF is_xmin THEN + IF is_ymin THEN + r := SQRT( ( ( xmin - xc ) ** 2 ) + ( ( ymin - yc ) ** 2 ) ); + incl := xmin_in AND ymin_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymin - yc, xmin - xc ) - ab ); + IF xc = xmin THEN + incl := xmin_in; + END_IF; + IF yc = ymin THEN + incl := ymin_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmin_in AND ymin_in; + amin := angle( 0 - ab ); + amin_in := ymin_in; + amax := angle( ( 0.5 * PI ) - ab ); + amax_in := xmin_in; + END_IF; + END_IF; + ELSE + IF xc <= xmin THEN + angle_minmax( ab, ( -0.5 ) * PI, ( xc = xmin ) AND xmin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_ymax ) AND ( xc <= xmin ) THEN + angle_minmax( ab, 0.5 * PI, ( xc = xmin ) AND xmin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF is_ymin THEN + IF is_xmax THEN + r := SQRT( ( ( xmax - xc ) ** 2 ) + ( ( ymin - yc ) ** 2 ) ); + incl := xmax_in AND ymin_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymin - yc, xmax - xc ) - ab ); + IF xc = xmax THEN + incl := xmax_in; + END_IF; + IF yc = ymin THEN + incl := ymin_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmax_in AND ymin_in; + amin := angle( ( 0.5 * PI ) - ab ); + amin_in := ymin_in; + amax := angle( PI - ab ); + amax_in := xmax_in; + END_IF; + END_IF; + ELSE + IF yc <= ymin THEN + angle_minmax( ab, 0, ( yc = ymin ) AND ymin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_xmin ) AND ( yc <= ymin ) THEN + angle_minmax( ab, PI, ( yc = ymin ) AND ymin_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF is_xmax THEN + IF is_ymax THEN + r := SQRT( ( ( xmax - xc ) ** 2 ) + ( ( ymax - yc ) ** 2 ) ); + incl := xmax_in AND ymax_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymax - yc, xmax - xc ) - ab ); + IF xc = xmax THEN + incl := xmax_in; + END_IF; + IF yc = ymax THEN + incl := ymax_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmax_in AND ymax_in; + amin := angle( ( -PI ) - ab ); + amin_in := ymax_in; + amax := angle( ( ( -0.5 ) * PI ) - ab ); + amax_in := xmax_in; + END_IF; + END_IF; + ELSE + IF xc >= xmax THEN + angle_minmax( ab, 0.5 * PI, ( xc = xmax ) AND xmax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_ymin ) AND ( xc >= xmax ) THEN + angle_minmax( ab, ( -0.5 ) * PI, ( xc = xmax ) AND xmax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF is_ymax THEN + IF is_xmin THEN + r := SQRT( ( ( xmin - xc ) ** 2 ) + ( ( ymax - yc ) ** 2 ) ); + incl := xmin_in AND ymax_in; + IF rmax_exists THEN + range_max( r, incl, rmax, rmax_in ); + END_IF; + IF outside THEN + IF r > 0 THEN + range_min( r, incl, rmin, rmin_in ); + a := angle( atan2( ymax - yc, xmin - xc ) - ab ); + IF xc = xmin THEN + incl := xmin_in; + END_IF; + IF yc = ymax THEN + incl := ymax_in; + END_IF; + angle_minmax( ab, a, incl, amin, amax, amin_in, amax_in ); + ELSE + rmin := 0; + rmin_in := xmin_in AND ymax_in; + amin := angle( ( 0.5 * PI ) - ab ); + amin_in := ymax_in; + amax := angle( PI - ab ); + amax_in := xmin_in; + END_IF; + END_IF; + ELSE + IF yc >= ymax THEN + angle_minmax( ab, PI, ( yc = ymax ) AND ymax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF ( NOT is_xmax ) AND ( yc >= ymax ) THEN + angle_minmax( ab, 0, ( yc = ymax ) AND ymax_in, amin, amax, amin_in, amax_in ); + END_IF; + END_IF; + IF outside THEN + amin := angle( amin + ab ); + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( amax + ab ); + IF amax <= amin THEN + amax := amax + ( 2 * PI ); + END_IF; + ELSE + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := FALSE; + END_IF; + IF amin_in THEN + minclo := closed; + END_IF; + IF amax_in THEN + maxclo := closed; + END_IF; + aitv := make_finite_real_interval( amin, minclo, amax, maxclo ); + minclo := open; + IF rmin_in THEN + minclo := closed; + END_IF; + IF rmax_exists THEN + maxclo := open; + IF rmax_in THEN + maxclo := closed; + END_IF; + ritv := make_finite_real_interval( rmin, minclo, rmax, maxclo ); + ELSE + ritv := make_real_interval_from_min( rmin, minclo ); + END_IF; + RETURN( make_polar_complex_number_region( centre, ritv, aitv ) ); + + END_FUNCTION; + + FUNCTION enclose_pregion_in_cregion( + prgn : polar_complex_number_region + ) : cartesian_complex_number_region; + + PROCEDURE nearest_good_direction( + acart : REAL; + aitv : finite_real_interval; + VAR a : REAL; + VAR a_in : BOOLEAN ); + a := acart; + a_in := TRUE; + IF a < aitv.min THEN + IF ( a + ( 2 * PI ) ) < aitv.max THEN + RETURN; + END_IF; + IF ( a + ( 2 * PI ) ) = aitv.max THEN + a_in := max_included( aitv ); + RETURN; + END_IF; + ELSE + IF a = aitv.min THEN + a_in := min_included( aitv ); + RETURN; + ELSE + IF a < aitv.max THEN + RETURN; + ELSE + IF a = aitv.max THEN + a_in := max_included( aitv ); + RETURN; + END_IF; + END_IF; + END_IF; + END_IF; + IF COS( acart - aitv.max ) >= COS( acart - aitv.min ) THEN + a := aitv.max; + a_in := max_included( aitv ); + ELSE + a := aitv.min; + a_in := min_included( aitv ); + END_IF; + + END_PROCEDURE; + + LOCAL + xc : REAL := 0; + yc : REAL := 0; + xmin : REAL := 0; + xmax : REAL := 0; + ymin : REAL := 0; + ymax : REAL := 0; + ritv : real_interval; + xitv : real_interval; + yitv : real_interval; + aitv : finite_real_interval; + xmin_exists : BOOLEAN; + xmax_exists : BOOLEAN; + ymin_exists : BOOLEAN; + ymax_exists : BOOLEAN; + xmin_in : BOOLEAN := FALSE; + xmax_in : BOOLEAN := FALSE; + ymin_in : BOOLEAN := FALSE; + ymax_in : BOOLEAN := FALSE; + a : REAL := 0; + r : REAL := 0; + a_in : BOOLEAN := FALSE; + min_clo : open_closed := open; + max_clo : open_closed := open; + END_LOCAL; + IF NOT EXISTS( prgn ) THEN + RETURN( ? ); + END_IF; + xc := prgn.centre.real_part; + yc := prgn.centre.imag_part; + ritv := prgn.distance_constraint; + aitv := prgn.direction_constraint; + nearest_good_direction( PI, aitv, a, a_in ); + IF COS( a ) >= 0 THEN + xmin_exists := TRUE; + xmin := xc + ( real_min( ritv ) * COS( a ) ); + xmin_in := a_in AND ( min_included( ritv ) OR ( COS( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + xmin_exists := TRUE; + xmin := xc + ( real_max( ritv ) * COS( a ) ); + xmin_in := a_in AND max_included( ritv ); + ELSE + xmin_exists := FALSE; + END_IF; + END_IF; + nearest_good_direction( 0, aitv, a, a_in ); + IF COS( a ) <= 0 THEN + xmax_exists := TRUE; + xmax := xc + ( real_min( ritv ) * COS( a ) ); + xmax_in := a_in AND ( min_included( ritv ) OR ( COS( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + xmax_exists := TRUE; + xmax := xc + ( real_max( ritv ) * COS( a ) ); + xmax_in := a_in AND max_included( ritv ); + ELSE + xmax_exists := FALSE; + END_IF; + END_IF; + nearest_good_direction( ( -0.5 ) * PI, aitv, a, a_in ); + IF SIN( a ) >= 0 THEN + ymin_exists := TRUE; + ymin := yc + ( real_min( ritv ) * SIN( a ) ); + ymin_in := a_in AND ( min_included( ritv ) OR ( SIN( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + ymin_exists := TRUE; + ymin := yc + ( real_max( ritv ) * SIN( a ) ); + ymin_in := a_in AND max_included( ritv ); + ELSE + ymin_exists := FALSE; + END_IF; + END_IF; + nearest_good_direction( 0.5 * PI, aitv, a, a_in ); + IF SIN( a ) <= 0 THEN + ymax_exists := TRUE; + ymax := yc + ( real_min( ritv ) * SIN( a ) ); + ymax_in := a_in AND ( min_included( ritv ) OR ( SIN( a ) = 0 ) ); + ELSE + IF max_exists( ritv ) THEN + ymax_exists := TRUE; + ymax := yc + ( real_max( ritv ) * SIN( a ) ); + ymax_in := a_in AND max_included( ritv ); + ELSE + ymax_exists := FALSE; + END_IF; + END_IF; + IF NOT ( xmin_exists OR xmax_exists OR ymin_exists OR ymax_exists ) THEN + RETURN( ? ); + END_IF; + IF xmin_exists THEN + IF xmin_in THEN + min_clo := closed; + ELSE + min_clo := open; + END_IF; + IF xmax_exists THEN + IF xmax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + xitv := make_finite_real_interval( xmin, min_clo, xmax, max_clo ); + ELSE + xitv := make_real_interval_from_min( xmin, min_clo ); + END_IF; + ELSE + IF xmax_exists THEN + IF xmax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + xitv := make_real_interval_to_max( xmax, max_clo ); + ELSE + xitv := the_reals; + END_IF; + END_IF; + IF ymin_exists THEN + IF ymin_in THEN + min_clo := closed; + ELSE + min_clo := open; + END_IF; + IF ymax_exists THEN + IF ymax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + yitv := make_finite_real_interval( ymin, min_clo, ymax, max_clo ); + ELSE + yitv := make_real_interval_from_min( ymin, min_clo ); + END_IF; + ELSE + IF ymax_exists THEN + IF ymax_in THEN + max_clo := closed; + ELSE + max_clo := open; + END_IF; + yitv := make_real_interval_to_max( ymax, max_clo ); + ELSE + yitv := the_reals; + END_IF; + END_IF; + RETURN( make_cartesian_complex_number_region( xitv, yitv ) ); + + END_FUNCTION; + + FUNCTION enclose_pregion_in_pregion( + prgn : polar_complex_number_region; + centre : complex_number_literal + ) : polar_complex_number_region; + + FUNCTION angle( + a : REAL + ) : REAL; + REPEAT WHILE a > PI; + a := a - ( 2 * PI ); + END_REPEAT; + REPEAT WHILE a <= ( -PI ); + a := a + ( 2 * PI ); + END_REPEAT; + RETURN( a ); + + END_FUNCTION; + + FUNCTION strictly_in( + a : REAL; + aitv : finite_real_interval + ) : LOGICAL; + a := angle( a ); + RETURN( ( ( aitv.min < a ) AND ( a < aitv.max ) ) OR ( ( aitv.min < ( a + ( 2 * PI ) ) ) AND ( ( a + ( 2 * PI ) ) < aitv. + max ) ) ); + + END_FUNCTION; + + PROCEDURE angle_range( + VAR amin, amax : REAL ); + amin := angle( amin ); + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( amax ); + IF amax <= amin THEN + amax := amax + ( 2 * PI ); + END_IF; + + END_PROCEDURE; + + PROCEDURE find_aminmax( + ab, a0, a1, a2, a3 : REAL; + in0, in1, in2, in3 : BOOLEAN; + VAR amin, amax : REAL; + VAR amin_in, amax_in : BOOLEAN ); + + LOCAL + a : REAL; + END_LOCAL; + amin := angle( a0 - ab ); + amin_in := in0; + amax := amin; + amax_in := in0; + a := angle( a1 - ab ); + IF a = amin THEN + amin_in := amin_in OR in1; + END_IF; + IF a < amin THEN + amin := a; + amin_in := in1; + END_IF; + IF a = amax THEN + amax_in := amax_in OR in1; + END_IF; + IF a > amax THEN + amax := a; + amax_in := in1; + END_IF; + a := angle( a2 - ab ); + IF a = amin THEN + amin_in := amin_in OR in2; + END_IF; + IF a < amin THEN + amin := a; + amin_in := in2; + END_IF; + IF a = amax THEN + amax_in := amax_in OR in2; + END_IF; + IF a > amax THEN + amax := a; + amax_in := in2; + END_IF; + a := angle( a3 - ab ); + IF a = amin THEN + amin_in := amin_in OR in3; + END_IF; + IF a < amin THEN + amin := a; + amin_in := in3; + END_IF; + IF a = amax THEN + amax_in := amax_in OR in3; + END_IF; + IF a > amax THEN + amax := a; + amax_in := in3; + END_IF; + amin := amin + ab; + amax := amax + ab; + angle_range( amin, amax ); + + END_PROCEDURE; + + LOCAL + ritp : real_interval; + ritv : real_interval; + aitp : finite_real_interval; + aitv : finite_real_interval; + xp : REAL := 0; + yp : REAL := 0; + xc : REAL := 0; + yc : REAL := 0; + rmax : REAL := 0; + rmin : REAL := 0; + amin : REAL := 0; + amax : REAL := 0; + rc : REAL := 0; + acp : REAL := 0; + apc : REAL := 0; + rmax_in : BOOLEAN := FALSE; + rmin_in : BOOLEAN := FALSE; + amin_in : BOOLEAN := FALSE; + amax_in : BOOLEAN := FALSE; + rmxp : REAL := 0; + rmnp : REAL := 0; + x : REAL := 0; + y : REAL := 0; + r : REAL := 0; + a : REAL := 0; + ab : REAL := 0; + r0 : REAL := 0; + a0 : REAL := 0; + r1 : REAL := 0; + a1 : REAL := 0; + r2 : REAL := 0; + a2 : REAL := 0; + r3 : REAL := 0; + a3 : REAL := 0; + in0 : BOOLEAN := FALSE; + in1 : BOOLEAN := FALSE; + in2 : BOOLEAN := FALSE; + in3 : BOOLEAN := FALSE; + inn : BOOLEAN := FALSE; + minclo : open_closed := open; + maxclo : open_closed := open; + END_LOCAL; + IF ( NOT EXISTS( prgn ) ) OR ( NOT EXISTS( centre ) ) THEN + RETURN( ? ); + END_IF; + xp := prgn.centre.real_part; + yp := prgn.centre.imag_part; + ritp := prgn.distance_constraint; + aitp := prgn.direction_constraint; + xc := centre.real_part; + yc := centre.imag_part; + IF ( xc = xp ) AND ( yc = yp ) THEN + RETURN( prgn ); + END_IF; + rc := SQRT( ( ( xp - xc ) ** 2 ) + ( ( yp - yc ) ** 2 ) ); + acp := atan2( yp - yc, xp - xc ); + apc := atan2( yc - yp, xc - xp ); + rmnp := real_min( ritp ); + IF max_exists( ritp ) THEN + rmxp := real_max( ritp ); + IF ( aitp.max - aitp.min ) = ( 2 * PI ) THEN + inn := NOT max_included( aitp ); + a := angle( aitp.min ); + rmax := rc + rmxp; + rmax_in := max_included( ritp ); + IF inn AND ( acp = a ) THEN + rmax_in := FALSE; + END_IF; + IF rc > rmxp THEN + a0 := ASIN( rmxp / rc ); + amin := angle( acp - a0 ); + amin_in := max_included( ritp ); + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( acp + a0 ); + amax_in := amin_in; + IF amax < amin THEN + amax := amax + ( 2 * PI ); + END_IF; + rmin := rc - rmxp; + rmin_in := amin_in; + IF inn THEN + IF apc = a THEN + rmin_in := FALSE; + END_IF; + IF angle( amin + ( 0.5 * PI ) ) = a THEN + amin_in := FALSE; + END_IF; + IF angle( amax - ( 0.5 * PI ) ) = a THEN + amax_in := FALSE; + END_IF; + END_IF; + ELSE + IF rc = rmxp THEN + amin := angle( acp - ( 0.5 * PI ) ); + amin_in := FALSE; + IF amin = PI THEN + amin := -PI; + END_IF; + amax := angle( acp + ( 0.5 * PI ) ); + amax_in := FALSE; + IF amax < amin THEN + amax := amax + ( 2 * PI ); + END_IF; + rmin := 0; + rmin_in := max_included( ritp ); + IF inn AND ( apc = a ) THEN + rmin_in := FALSE; + END_IF; + ELSE + IF rc > rmnp THEN + IF inn AND ( apc = a ) THEN + rmin := 0; + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + rmin := 0; + rmin_in := TRUE; + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + END_IF; + ELSE + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + IF inn THEN + IF apc = a THEN + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + IF acp = a THEN + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + ELSE + x := ( xp + ( rmxp * COS( aitp.min ) ) ) - xc; + y := ( yp + ( rmxp * SIN( aitp.min ) ) ) - yc; + r0 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in0 := max_included( ritp ) AND min_included( aitp ); + IF r0 <> 0 THEN + a0 := atan2( y, x ); + END_IF; + x := ( xp + ( rmxp * COS( aitp.max ) ) ) - xc; + y := ( yp + ( rmxp * SIN( aitp.max ) ) ) - yc; + r1 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in1 := max_included( ritp ) AND max_included( aitp ); + IF r1 <> 0 THEN + a1 := atan2( y, x ); + END_IF; + x := ( xp + ( rmnp * COS( aitp.max ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.max ) ) ) - yc; + r2 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in2 := min_included( ritp ) AND max_included( aitp ); + IF r2 <> 0 THEN + a2 := atan2( y, x ); + ELSE + a2 := a1; + in2 := in1; + END_IF; + IF r1 = 0 THEN + a1 := a2; + in1 := in2; + END_IF; + x := ( xp + ( rmnp * COS( aitp.min ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.min ) ) ) - yc; + r3 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in3 := min_included( ritp ) AND min_included( aitp ); + IF r3 <> 0 THEN + a3 := atan2( y, x ); + ELSE + a3 := a0; + in3 := in0; + END_IF; + IF r0 = 0 THEN + a0 := a3; + in0 := in3; + END_IF; + IF rmnp = 0 THEN + in2 := min_included( ritp ); + in3 := in2; + END_IF; + IF ( apc = angle( aitp.min ) ) OR ( acp = angle( aitp.min ) ) THEN + in0 := min_included( aitp ); + in3 := in0; + ELSE + IF ( apc = angle( aitp.max ) ) OR ( acp = angle( aitp.max ) ) THEN + in1 := max_included( aitp ); + in2 := in1; + END_IF; + END_IF; + IF strictly_in( acp, aitp ) THEN + rmax := rc + rmxp; + rmax_in := max_included( ritp ); + ELSE + rmax := r0; + rmax_in := in0; + IF rmax = r1 THEN + rmax_in := rmax_in OR in1; + END_IF; + IF rmax < r1 THEN + rmax := r1; + rmax_in := in1; + END_IF; + IF rmax = r2 THEN + rmax_in := rmax_in OR in2; + END_IF; + IF rmax < r2 THEN + rmax := r2; + rmax_in := in2; + END_IF; + IF rmax = r3 THEN + rmax_in := rmax_in OR in3; + END_IF; + IF rmax < r3 THEN + rmax := r3; + rmax_in := in3; + END_IF; + END_IF; + IF strictly_in( apc, aitp ) THEN + IF rc >= rmxp THEN + rmin := rc - rmxp; + rmin_in := max_included( ritp ); + ELSE + IF rc <= rmnp THEN + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + ELSE + rmin := 0; + rmin_in := TRUE; + END_IF; + END_IF; + ELSE + rmin := r0; + rmin_in := in0; + a := apc - aitp.min; + r := rc * COS( a ); + IF ( rmnp < r ) AND ( r < rmxp ) THEN + rmin := rc * SIN( ABS( a ) ); + rmin_in := min_included( aitp ); + END_IF; + a := apc - aitp.max; + r := rc * COS( a ); + IF ( rmnp < r ) AND ( r < rmxp ) THEN + r := rc * SIN( ABS( a ) ); + inn := max_included( aitp ); + IF r = rmin THEN + rmin_in := rmin_in OR inn; + END_IF; + IF r < rmin THEN + rmin := r; + rmin_in := inn; + END_IF; + END_IF; + IF r1 = rmin THEN + rmin_in := rmin_in OR in1; + END_IF; + IF r1 < rmin THEN + rmin := r1; + rmin_in := in1; + END_IF; + IF r2 = rmin THEN + rmin_in := rmin_in OR in2; + END_IF; + IF r2 < rmin THEN + rmin := r2; + rmin_in := in2; + END_IF; + IF r3 = rmin THEN + rmin_in := rmin_in OR in3; + END_IF; + IF r3 < rmin THEN + rmin := r3; + rmin_in := in3; + END_IF; + END_IF; + IF rc >= rmxp THEN + ab := acp; + find_aminmax( ab, a0, a1, a2, a3, in0, in1, in2, in3, amin, amax, amin_in, amax_in ); + a := ACOS( rmxp / rc ); + IF strictly_in( apc - a, aitp ) THEN + amin := ab - ASIN( rmxp / rc ); + amin_in := max_included( ritp ); + END_IF; + IF strictly_in( apc + a, aitp ) THEN + amax := ab + ASIN( rmxp / rc ); + amax_in := max_included( ritp ); + END_IF; + angle_range( amin, amax ); + ELSE + IF rc > rmnp THEN + ab := angle( 0.5 * ( aitp.min + aitp.max ) ); + find_aminmax( ab, a0, a1, a2, a3, in0, in1, in2, in3, amin, amax, amin_in, amax_in ); + ELSE + ab := angle( 0.5 * ( aitp.min + aitp.max ) ); + a0 := angle( a0 - ab ); + a1 := angle( a1 - ab ); + a2 := angle( a2 - ab ); + a3 := angle( a3 - ab ); + IF a3 > a2 THEN + a2 := a2 + ( 2 * PI ); + END_IF; + IF a0 > a1 THEN + a0 := a0 + ( 2 * PI ); + END_IF; + IF a3 < a0 THEN + amin := a3; + amin_in := in3; + ELSE + amin := a0; + amin_in := in0; + END_IF; + IF a2 > a1 THEN + amax := a2; + amax_in := in2; + ELSE + amax := a1; + amax_in := in1; + END_IF; + IF ( ( amax - amin ) > ( 2 * PI ) ) OR ( ( ( amax - amin ) = ( 2 * PI ) ) AND ( amin_in OR amax_in ) ) THEN + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + ELSE + amin := amin + ab; + amax := amax + ab; + angle_range( amin, amax ); + END_IF; + END_IF; + END_IF; + END_IF; + IF rmin_in THEN + minclo := closed; + END_IF; + IF rmax_in THEN + maxclo := closed; + END_IF; + ritv := make_finite_real_interval( rmin, minclo, rmax, maxclo ); + ELSE + IF ( rc > rmnp ) AND strictly_in( apc, aitp ) THEN + RETURN( ? ); + END_IF; + IF ( aitp.max - aitp.min ) = ( 2 * PI ) THEN + a := angle( aitp.min ); + IF rc > rmnp THEN + IF max_included( aitp ) THEN + RETURN( ? ); + END_IF; + rmin := 0; + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + IF NOT max_included( aitp ) THEN + IF apc = a THEN + rmin_in := FALSE; + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + ELSE + IF acp = a THEN + amin := aitp.min; + amin_in := FALSE; + amax := aitp.max; + amax_in := FALSE; + END_IF; + END_IF; + END_IF; + END_IF; + ELSE + a0 := angle( aitp.min ); + in0 := FALSE; + a1 := angle( aitp.max ); + in1 := FALSE; + x := ( xp + ( rmnp * COS( aitp.max ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.max ) ) ) - yc; + r2 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in2 := min_included( ritp ) AND max_included( aitp ); + IF r2 <> 0 THEN + a2 := atan2( y, x ); + ELSE + a2 := a1; + in2 := in1; + END_IF; + x := ( xp + ( rmnp * COS( aitp.min ) ) ) - xc; + y := ( yp + ( rmnp * SIN( aitp.min ) ) ) - yc; + r3 := SQRT( ( x ** 2 ) + ( y ** 2 ) ); + in3 := min_included( ritp ) AND min_included( aitp ); + IF r3 <> 0 THEN + a3 := atan2( y, x ); + ELSE + a3 := a0; + in3 := in0; + END_IF; + IF rmnp = 0 THEN + in2 := min_included( ritp ); + in3 := in2; + END_IF; + IF ( apc = angle( aitp.min ) ) OR ( acp = angle( aitp.min ) ) THEN + in0 := min_included( aitp ); + in3 := in0; + ELSE + IF ( apc = angle( aitp.max ) ) OR ( acp = angle( aitp.max ) ) THEN + in1 := max_included( aitp ); + in2 := in1; + END_IF; + END_IF; + IF strictly_in( apc, aitp ) THEN + rmin := rmnp - rc; + rmin_in := min_included( ritp ); + ELSE + rmin := r2; + rmin_in := in2; + a := apc - aitp.min; + r := rc * COS( a ); + IF rmnp < r THEN + rmin := rc * SIN( ABS( a ) ); + rmin_in := min_included( aitp ); + END_IF; + a := apc - aitp.max; + r := rc * COS( a ); + IF rmnp < r THEN + r := rc * SIN( ABS( a ) ); + inn := max_included( aitp ); + IF r = rmin THEN + rmin_in := rmin_in OR inn; + END_IF; + IF r < rmin THEN + rmin := r; + rmin_in := inn; + END_IF; + END_IF; + IF r3 = rmin THEN + rmin_in := rmin_in OR in3; + END_IF; + IF r3 < rmin THEN + rmin := r3; + rmin_in := in3; + END_IF; + END_IF; + ab := angle( 0.5 * ( aitp.min + aitp.max ) ); + IF rc > rmnp THEN + find_aminmax( ab, a0, a1, a2, a3, in0, in1, in2, in3, amin, amax, amin_in, amax_in ); + ELSE + a0 := angle( a0 - ab ); + a1 := angle( a1 - ab ); + a2 := angle( a2 - ab ); + a3 := angle( a3 - ab ); + IF a3 > a2 THEN + a2 := a2 + ( 2 * PI ); + END_IF; + IF a0 > a1 THEN + a0 := a0 + ( 2 * PI ); + END_IF; + IF a3 < a0 THEN + amin := a3; + amin_in := in3; + ELSE + amin := a0; + amin_in := in0; + END_IF; + IF a2 > a1 THEN + amax := a2; + amax_in := in2; + ELSE + amax := a1; + amax_in := in1; + END_IF; + IF ( ( amax - amin ) > ( 2 * PI ) ) OR ( ( ( amax - amin ) = ( 2 * PI ) ) AND ( amin_in OR amax_in ) ) THEN + amin := -PI; + amin_in := FALSE; + amax := PI; + amax_in := TRUE; + IF ( rmin = 0 ) AND rmin_in THEN + RETURN( ? ); + END_IF; + ELSE + amin := amin + ab; + amax := amax + ab; + angle_range( amin, amax ); + END_IF; + END_IF; + END_IF; + IF rmin_in THEN + minclo := closed; + END_IF; + ritv := make_real_interval_from_min( rmin, minclo ); + END_IF; + minclo := open; + maxclo := open; + IF amin_in THEN + minclo := closed; + END_IF; + IF amax_in THEN + maxclo := closed; + END_IF; + aitv := make_finite_real_interval( amin, minclo, amax, maxclo ); + RETURN( make_polar_complex_number_region( centre, ritv, aitv ) ); + + END_FUNCTION; + + FUNCTION equal_cregion_pregion( + crgn : cartesian_complex_number_region; + prgn : polar_complex_number_region + ) : LOGICAL; + + LOCAL + arng : REAL; + amin : REAL; + xc : REAL; + yc : REAL; + aitv : real_interval; + xitv : real_interval; + yitv : real_interval; + c_in : BOOLEAN; + END_LOCAL; + IF ( NOT EXISTS( crgn ) ) OR ( NOT EXISTS( prgn ) ) THEN + RETURN( FALSE ); + END_IF; + IF max_exists( prgn.distance_constraint ) THEN + RETURN( FALSE ); + END_IF; + IF real_min( prgn.distance_constraint ) <> 0 THEN + RETURN( FALSE ); + END_IF; + c_in := min_included( prgn.distance_constraint ); + aitv := prgn.direction_constraint; + amin := aitv.min; + arng := aitv.max - amin; + xc := prgn.centre.real_part; + yc := prgn.centre.imag_part; + xitv := crgn.real_constraint; + yitv := crgn.imag_constraint; + IF arng = ( 0.5 * PI ) THEN + IF amin = 0 THEN + RETURN( ( NOT max_exists( xitv ) ) AND ( NOT max_exists( yitv ) ) AND min_exists( xitv ) AND min_exists( yitv ) AND ( + real_min( xitv ) = xc ) AND ( real_min( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND min_included( xitv ) AND min_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND min_included( xitv ) AND ( NOT min_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND min_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND ( NOT + min_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( 0.5 * PI ) THEN + RETURN( max_exists( xitv ) AND ( NOT max_exists( yitv ) ) AND ( NOT min_exists( xitv ) ) AND min_exists( yitv ) AND ( + real_max( xitv ) = xc ) AND ( real_min( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND max_included( xitv ) AND min_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND max_included( xitv ) AND ( NOT min_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND min_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND ( NOT + min_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( -PI ) THEN + RETURN( max_exists( xitv ) AND max_exists( yitv ) AND ( NOT min_exists( xitv ) ) AND ( NOT min_exists( yitv ) ) AND ( + real_max( xitv ) = xc ) AND ( real_max( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND max_included( xitv ) AND max_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND max_included( xitv ) AND ( NOT max_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND max_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) AND ( NOT + max_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( ( -0.5 ) * PI ) THEN + RETURN( ( NOT max_exists( xitv ) ) AND max_exists( yitv ) AND min_exists( xitv ) AND ( NOT min_exists( yitv ) ) AND ( + real_min( xitv ) = xc ) AND ( real_max( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) + AND min_included( xitv ) AND max_included( yitv ) ) OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND + max_included( aitv ) AND min_included( xitv ) AND ( NOT max_included( yitv ) ) ) OR ( ( NOT c_in ) AND min_included( + aitv ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND max_included( yitv ) ) OR ( ( NOT c_in ) + AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) AND ( NOT + max_included( yitv ) ) ) ) ); + END_IF; + END_IF; + IF arng = PI THEN + IF amin = 0 THEN + RETURN( ( NOT max_exists( xitv ) ) AND ( NOT max_exists( yitv ) ) AND ( NOT min_exists( xitv ) ) AND min_exists( yitv ) + AND ( real_min( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND min_included( yitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( 0.5 * PI ) THEN + RETURN( max_exists( xitv ) AND ( NOT max_exists( yitv ) ) AND ( NOT min_exists( xitv ) ) AND ( NOT min_exists( yitv ) ) + AND ( real_max( xitv ) = xc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND max_included( xitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( xitv ) ) ) ) ); + END_IF; + IF amin = ( -PI ) THEN + RETURN( ( NOT max_exists( xitv ) ) AND max_exists( yitv ) AND ( NOT min_exists( xitv ) ) AND ( NOT min_exists( yitv ) ) + AND ( real_max( yitv ) = yc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND max_included( yitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT max_included( yitv ) ) ) ) ); + END_IF; + IF amin = ( ( -0.5 ) * PI ) THEN + RETURN( ( NOT max_exists( xitv ) ) AND ( NOT max_exists( yitv ) ) AND min_exists( xitv ) AND ( NOT min_exists( yitv ) ) + AND ( real_min( xitv ) = xc ) AND ( ( c_in AND min_included( aitv ) AND max_included( aitv ) AND min_included( xitv ) ) + OR ( ( NOT c_in ) AND ( NOT min_included( aitv ) ) AND ( NOT max_included( aitv ) ) AND ( NOT min_included( xitv ) ) ) ) ); + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION equal_maths_functions( + fun1, fun2 : maths_function + ) : LOGICAL; + + LOCAL + cum : LOGICAL; + END_LOCAL; + IF fun1 = fun2 THEN + RETURN( TRUE ); + END_IF; + cum := equal_maths_spaces( fun1.domain, fun2.domain ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + cum := cum AND equal_maths_spaces( fun1.range, fun2.range ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION equal_maths_spaces( + spc1, spc2 : maths_space + ) : LOGICAL; + + LOCAL + spc1types : SET OF STRING := stripped_typeof( spc1 ); + spc2types : SET OF STRING := stripped_typeof( spc2 ); + set1 : SET OF maths_value; + set2 : SET OF maths_value; + cum : LOGICAL := TRUE; + base : maths_space; + expnt : INTEGER; + factors : LIST OF maths_space; + factors2 : LIST OF maths_space; + fs1 : function_space; + fs2 : function_space; + cum2 : LOGICAL; + END_LOCAL; + IF spc1 = spc2 THEN + RETURN( TRUE ); + END_IF; + IF 'FINITE_SPACE' IN spc1types THEN + set1 := spc1\finite_space.members; + IF 'FINITE_SPACE' IN spc2types THEN + set2 := spc2\finite_space.members; + REPEAT i := 1 TO SIZEOF( set1 ) BY 1; + cum := cum AND member_of( set1[i], spc2 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + IF cum = TRUE THEN + REPEAT i := 1 TO SIZEOF( set2 ) BY 1; + cum := cum AND member_of( set2[i], spc1 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + RETURN( cum ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN spc2types THEN + set2 := []; + REPEAT i := spc2\finite_integer_interval.min TO spc2\finite_integer_interval.max BY 1; + set2 := set2 + [i]; + END_REPEAT; + RETURN( equal_maths_spaces( spc1, make_finite_space( set2 ) ) ); + END_IF; + END_IF; + IF ( 'FINITE_INTEGER_INTERVAL' IN spc1types ) AND ( 'FINITE_SPACE' IN spc2types ) THEN + set1 := []; + REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max BY 1; + set1 := set1 + [i]; + END_REPEAT; + RETURN( equal_maths_spaces( make_finite_space( set1 ), spc2 ) ); + END_IF; + IF ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN spc1types ) AND ( 'POLAR_COMPLEX_NUMBER_REGION' IN spc2types ) THEN + RETURN( equal_cregion_pregion( spc1, spc2 ) ); + END_IF; + IF ( 'POLAR_COMPLEX_NUMBER_REGION' IN spc1types ) AND ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN spc2types ) THEN + RETURN( equal_cregion_pregion( spc2, spc1 ) ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN spc1types THEN + base := spc1\uniform_product_space.base; + expnt := spc1\uniform_product_space.exponent; + IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN + IF expnt <> spc2\uniform_product_space.exponent THEN + RETURN( FALSE ); + END_IF; + RETURN( equal_maths_spaces( base, spc2\uniform_product_space.base ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN + factors := spc2\listed_product_space.factors; + IF expnt <> SIZEOF( factors ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND equal_maths_spaces( base, factors[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN spc1types THEN + factors := spc1\listed_product_space.factors; + IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN + IF spc2\uniform_product_space.exponent <> SIZEOF( factors ) THEN + RETURN( FALSE ); + END_IF; + base := spc2\uniform_product_space.base; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND equal_maths_spaces( base, factors[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN + factors2 := spc2\listed_product_space.factors; + IF SIZEOF( factors ) <> SIZEOF( factors2 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND equal_maths_spaces( factors[i], factors2[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + IF ( 'EXTENDED_TUPLE_SPACE' IN spc1types ) AND ( 'EXTENDED_TUPLE_SPACE' IN spc2types ) THEN + RETURN( equal_maths_spaces( spc1\extended_tuple_space.extender, spc2\extended_tuple_space.extender ) AND + equal_maths_spaces( spc1\extended_tuple_space.base, spc2\extended_tuple_space.base ) ); + END_IF; + IF ( 'FUNCTION_SPACE' IN spc1types ) AND ( 'FUNCTION_SPACE' IN spc2types ) THEN + fs1 := spc1; + fs2 := spc2; + IF fs1.domain_constraint <> fs2.domain_constraint THEN + IF ( fs1.domain_constraint = sc_equal ) OR ( fs2.domain_constraint = sc_equal ) THEN + RETURN( FALSE ); + END_IF; + IF fs1.domain_constraint <> sc_subspace THEN + fs1 := spc2; + fs2 := spc1; + END_IF; + IF ( fs1.domain_constraint <> sc_subspace ) OR ( fs2.domain_constraint <> sc_member ) THEN + RETURN( UNKNOWN ); + END_IF; + IF any_space_satisfies( fs1.domain_constraint, fs1.domain_argument ) <> any_space_satisfies( fs2.domain_constraint, fs2. + domain_argument ) THEN + RETURN( FALSE ); + END_IF; + IF NOT ( 'FINITE_SPACE' IN stripped_typeof( fs2.domain_argument ) ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( [ 'FINITE_SPACE', 'FINITE_INTEGER_INTERVAL'] * stripped_typeof( fs1.domain_argument ) ) = 0 THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + cum := equal_maths_spaces( fs1.domain_argument, fs2.domain_argument ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + IF fs1.range_constraint <> fs2.range_constraint THEN + IF ( fs1.range_constraint = sc_equal ) OR ( fs2.range_constraint = sc_equal ) THEN + RETURN( FALSE ); + END_IF; + IF fs1.range_constraint <> sc_subspace THEN + fs1 := spc2; + fs2 := spc1; + END_IF; + IF ( fs1.range_constraint <> sc_subspace ) OR ( fs2.range_constraint <> sc_member ) THEN + RETURN( UNKNOWN ); + END_IF; + IF any_space_satisfies( fs1.range_constraint, fs1.range_argument ) <> any_space_satisfies( fs2.range_constraint, fs2. + range_argument ) THEN + RETURN( FALSE ); + END_IF; + IF NOT ( 'FINITE_SPACE' IN stripped_typeof( fs2.range_argument ) ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( [ 'FINITE_SPACE', 'FINITE_INTEGER_INTERVAL'] * stripped_typeof( fs1.range_argument ) ) = 0 THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + cum := cum AND equal_maths_spaces( fs1.range_argument, fs2.range_argument ); + RETURN( cum ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION equal_maths_values( + val1, val2 : maths_value + ) : LOGICAL; + + FUNCTION mem_of_vs( + val1, val2 : maths_value + ) : LOGICAL; + IF NOT has_values_space( val2 ) THEN + RETURN( UNKNOWN ); + END_IF; + IF NOT member_of( val1, values_space_of( val2 ) ) THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + LOCAL + types1 : SET OF STRING; + types2 : SET OF STRING; + list1 : LIST OF maths_value; + list2 : LIST OF maths_value; + cum : LOGICAL := TRUE; + END_LOCAL; + IF ( NOT EXISTS( val1 ) ) OR ( NOT EXISTS( val2 ) ) THEN + RETURN( FALSE ); + END_IF; + IF val1 = val2 THEN + RETURN( TRUE ); + END_IF; + types1 := stripped_typeof( val1 ); + types2 := stripped_typeof( val2 ); + IF ( 'MATHS_ATOM' IN types1 ) OR ( 'COMPLEX_NUMBER_LITERAL' IN types1 ) THEN + IF 'MATHS_ATOM' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'COMPLEX_NUMBER_LITERAL' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'LIST' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'MATHS_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF ( 'MATHS_ATOM' IN types2 ) OR ( 'COMPLEX_NUMBER_LITERAL' IN types2 ) THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF 'LIST' IN types1 THEN + IF 'LIST' IN types2 THEN + list1 := val1; + list2 := val2; + IF SIZEOF( list1 ) <> SIZEOF( list2 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( list1 ) BY 1; + cum := cum AND equal_maths_values( list1[i], list2[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'MATHS_SPACE' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'LIST' IN types2 THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF 'MATHS_SPACE' IN types1 THEN + IF 'MATHS_SPACE' IN types2 THEN + RETURN( equal_maths_spaces( val1, val2 ) ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( FALSE ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'MATHS_SPACE' IN types2 THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF 'MATHS_FUNCTION' IN types1 THEN + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( equal_maths_functions( val1, val2 ) ); + END_IF; + IF 'GENERIC_EXPRESSION' IN types2 THEN + RETURN( mem_of_vs( val1, val2 ) ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'MATHS_FUNCTION' IN types2 THEN + RETURN( equal_maths_values( val2, val1 ) ); + END_IF; + IF ( 'GENERIC_EXPRESSION' IN types1 ) AND ( 'GENERIC_EXPRESSION' IN types2 ) THEN + IF ( NOT has_values_space( val1 ) ) OR ( NOT has_values_space( val2 ) ) THEN + RETURN( UNKNOWN ); + END_IF; + IF NOT compatible_spaces( values_space_of( val1 ), values_space_of( val2 ) ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION es_subspace_of_es( + es1, es2 : elementary_space_enumerators + ) : BOOLEAN; + IF ( NOT EXISTS( es1 ) ) OR ( NOT EXISTS( es2 ) ) THEN + RETURN( FALSE ); + END_IF; + IF es1 = es2 THEN + RETURN( TRUE ); + END_IF; + IF es2 = es_generics THEN + RETURN( TRUE ); + END_IF; + IF ( es1 = es_booleans ) AND ( es2 = es_logicals ) THEN + RETURN( TRUE ); + END_IF; + IF ( es2 = es_numbers ) AND ( ( es1 = es_complex_numbers ) OR ( es1 = es_reals ) OR ( es1 = es_integers ) ) THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION expression_is_constant( + expr : generic_expression + ) : BOOLEAN; + RETURN( bool( SIZEOF( free_variables_of( expr ) ) = 0 ) ); + + END_FUNCTION; + + FUNCTION external_version_assignment_is_valid( + aia : applied_external_identification_assignment + ) : BOOLEAN; + + LOCAL + item : external_identification_item; + role : identification_role; + END_LOCAL; + role := aia.role; + IF role.name = 'version' THEN + REPEAT i := LOINDEX( aia\applied_external_identification_assignment.items ) TO HIINDEX( aia\ + applied_external_identification_assignment.items ) BY 1; + item := aia\applied_external_identification_assignment.items[i]; + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXTERNALLY_DEFINED_GENERAL_PROPERTY'] * TYPEOF( item ) ) = + 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + ELSE + RETURN( TRUE ); + END_IF; + + END_FUNCTION; + + FUNCTION extract_factors( + tspace : tuple_space; + m, n : INTEGER + ) : tuple_space; + + LOCAL + tsp : tuple_space := the_zero_tuple_space; + END_LOCAL; + REPEAT i := m TO n BY 1; + tsp := assoc_product_space( tsp, factor_space( tspace, i ) ); + END_REPEAT; + RETURN( tsp ); + + END_FUNCTION; + + FUNCTION face_bound_reversed( + a_face_bound : face_bound + ) : face_bound; + + LOCAL + the_reverse : face_bound; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF( a_face_bound ) THEN + the_reverse := dummy_tri || face_bound( a_face_bound\face_bound.bound, NOT a_face_bound\face_bound.orientation ) || + face_outer_bound( ); + ELSE + the_reverse := dummy_tri || face_bound( a_face_bound.bound, NOT a_face_bound.orientation ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION face_reversed( + a_face : face + ) : oriented_face; + + LOCAL + the_reverse : oriented_face; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_FACE' IN TYPEOF( a_face ) THEN + the_reverse := dummy_tri || face( set_of_topology_reversed( a_face.bounds ) ) || oriented_face( a_face\oriented_face. + face_element, NOT a_face\oriented_face.orientation ); + ELSE + the_reverse := dummy_tri || face( set_of_topology_reversed( a_face.bounds ) ) || oriented_face( a_face, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION factor1( + tspace : tuple_space + ) : maths_space; + + LOCAL + typenames : SET OF STRING := TYPEOF( tspace ); + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN typenames THEN + RETURN( tspace\uniform_product_space.base ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN typenames THEN + RETURN( tspace\listed_product_space.factors[1] ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN typenames THEN + RETURN( factor1( tspace\extended_tuple_space.base ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION factor_space( + tspace : tuple_space; + idx : positive_integer + ) : maths_space; + + LOCAL + typenames : SET OF STRING := TYPEOF( tspace ); + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN typenames THEN + IF idx <= tspace\uniform_product_space.exponent THEN + RETURN( tspace\uniform_product_space.base ); + END_IF; + RETURN( ? ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN typenames THEN + IF idx <= SIZEOF( tspace\listed_product_space.factors ) THEN + RETURN( tspace\listed_product_space.factors[idx] ); + END_IF; + RETURN( ? ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN typenames THEN + IF idx <= space_dimension( tspace\extended_tuple_space.base ) THEN + RETURN( factor_space( tspace\extended_tuple_space.base, idx ) ); + END_IF; + RETURN( tspace\extended_tuple_space.extender ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION find_assembly_root( + constituent : SET OF product_definition + ) : SET OF product_definition; + + LOCAL + local_relation : SET OF assembly_component_usage := []; + local_relation2 : BAG OF assembly_component_usage := []; + local_parent : SET OF product_definition := []; + root : SET OF product_definition; + i : INTEGER := 0; + j : INTEGER := 0; + END_LOCAL; + IF ( SIZEOF( constituent ) = 1 ) AND assembly_root( constituent[1] ) THEN + RETURN( [constituent[1]] ); + ELSE + IF SIZEOF( constituent ) = 0 THEN + RETURN( [] ); + ELSE + REPEAT j := 1 TO HIINDEX( constituent ) BY 1; + local_relation2 := local_relation2 + QUERY ( pdr <* USEDIN( constituent[j], + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) + | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN TYPEOF( pdr ) ) ); + END_REPEAT; + local_relation := bag_to_set( local_relation2 ); + IF SIZEOF( local_relation ) = 0 THEN + IF SIZEOF( constituent ) = 1 THEN + RETURN( [constituent[1]] ); + ELSE + RETURN( [] ); + END_IF; + ELSE + REPEAT i := 1 TO HIINDEX( local_relation ) BY 1; + REPEAT j := 1 TO HIINDEX( constituent ) BY 1; + IF local_relation[i].relating_product_definition <> constituent[j] THEN + local_parent := local_parent + local_relation[i].relating_product_definition; + END_IF; + END_REPEAT; + END_REPEAT; + IF ( SIZEOF( local_parent ) = 1 ) AND assembly_root( local_parent[1] ) THEN + RETURN( [local_parent[1]] ); + ELSE + IF SIZEOF( local_parent ) = 0 THEN + RETURN( [] ); + ELSE + root := find_assembly_root( local_parent ); + IF SIZEOF( root ) = 1 THEN + RETURN( root ); + ELSE + IF SIZEOF( root ) = 0 THEN + RETURN( [] ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( [] ); + + END_FUNCTION; + + FUNCTION find_representative_shape_representation_of_product_definition( + item : product_definition + ) : shape_representation; + + LOCAL + local_s_r : SET OF shape_representation := []; + END_LOCAL; + local_s_r := QUERY ( z <* find_shape_representation_of_product_definition( item ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( z ) ) ); + IF SIZEOF( local_s_r ) = 1 THEN + RETURN( local_s_r[1] ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION find_representative_shape_representation_of_shape_aspect( + item : shape_aspect + ) : shape_representation; + + LOCAL + local_s_r : SET OF shape_representation := []; + END_LOCAL; + local_s_r := QUERY ( z <* find_shape_representation_of_shape_aspect( item ) | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( z ) ) ); + IF SIZEOF( local_s_r ) = 1 THEN + RETURN( local_s_r[1] ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION find_shape_representation_of_product_definition( + item : product_definition + ) : SET OF shape_representation; + + LOCAL + local_p_d_s : SET OF product_definition_shape := []; + local_p_d_s2 : BAG OF product_definition_shape := []; + local_s_d_r : SET OF shape_definition_representation := []; + local_s_d_r2 : BAG OF shape_definition_representation := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + END_LOCAL; + local_p_d_s2 := local_p_d_s2 + QUERY ( pd <* USEDIN( item, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN + TYPEOF( pd ) ) ); + local_p_d_s := bag_to_set( local_p_d_s2 ); + REPEAT i := 1 TO HIINDEX( local_p_d_s ) BY 1; + local_s_d_r2 := local_s_d_r2 + QUERY ( pdr <* USEDIN( local_p_d_s[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + END_REPEAT; + local_s_d_r := bag_to_set( local_s_d_r2 ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF( local_s_d_r[i].used_representation ) + THEN + local_s_r := local_s_r + local_s_d_r[i].used_representation; + END_IF; + END_REPEAT; + RETURN( local_s_r ); + + END_FUNCTION; + + FUNCTION find_shape_representation_of_shape_aspect( + item : shape_aspect + ) : SET OF shape_representation; + + LOCAL + local_p_d : SET OF property_definition := []; + local_s_d_r : SET OF shape_definition_representation := []; + local_s_d_r2 : BAG OF shape_definition_representation := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + END_LOCAL; + local_p_d := bag_to_set( USEDIN( item, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) ); + REPEAT i := 1 TO HIINDEX( local_p_d ) BY 1; + local_s_d_r2 := local_s_d_r2 + QUERY ( pdr <* USEDIN( local_p_d[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + END_REPEAT; + local_s_d_r := bag_to_set( local_s_d_r2 ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION' IN TYPEOF( local_s_d_r[i].used_representation ) + THEN + local_s_r := local_s_r + local_s_d_r[i].used_representation; + END_IF; + END_REPEAT; + RETURN( local_s_r ); + + END_FUNCTION; + + FUNCTION first_proj_axis( + z_axis, arg : direction + ) : direction; + + LOCAL + x_axis : direction; + v : direction; + z : direction; + x_vec : vector; + END_LOCAL; + IF NOT EXISTS( z_axis ) THEN + RETURN( ? ); + ELSE + z := normalise( z_axis ); + IF NOT EXISTS( arg ) THEN + IF ( z.direction_ratios <> [1, 0, 0] ) AND ( z.direction_ratios <> [-1, 0, 0] ) THEN + v := dummy_gri || direction( [1, 0, 0] ); + ELSE + v := dummy_gri || direction( [0, 1, 0] ); + END_IF; + ELSE + IF arg.dim <> 3 THEN + RETURN( ? ); + END_IF; + IF cross_product( arg, z ).magnitude = 0 THEN + RETURN( ? ); + ELSE + v := normalise( arg ); + END_IF; + END_IF; + x_vec := scalar_times_vector( dot_product( v, z ), z ); + x_axis := vector_difference( v, x_vec ).orientation; + x_axis := normalise( x_axis ); + END_IF; + RETURN( x_axis ); + + END_FUNCTION; + + FUNCTION free_variables_of( + expr : generic_expression + ) : SET OF generic_variable; + + LOCAL + typenames : SET OF STRING := stripped_typeof( expr ); + result : SET OF generic_variable := []; + exprs : LIST OF generic_expression := []; + END_LOCAL; + IF 'GENERIC_LITERAL' IN typenames THEN + RETURN( result ); + END_IF; + IF 'GENERIC_VARIABLE' IN typenames THEN + result := result + expr; + RETURN( result ); + END_IF; + IF 'QUANTIFIER_EXPRESSION' IN typenames THEN + exprs := QUERY ( ge <* expr\multiple_arity_generic_expression.operands | ( NOT ( ge IN expr\quantifier_expression.variables ) ) ); + REPEAT i := 1 TO SIZEOF( exprs ) BY 1; + result := result + free_variables_of( exprs[i] ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( expr\quantifier_expression.variables ) BY 1; + result := result - expr\quantifier_expression.variables[i]; + END_REPEAT; + RETURN( result ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN typenames THEN + RETURN( free_variables_of( expr\unary_generic_expression.operand ) ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN typenames THEN + result := free_variables_of( expr\binary_generic_expression.operands[1] ); + RETURN( result + free_variables_of( expr\binary_generic_expression.operands[2] ) ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN typenames THEN + REPEAT i := 1 TO SIZEOF( expr\multiple_arity_generic_expression.operands ) BY 1; + result := result + free_variables_of( expr\multiple_arity_generic_expression.operands[i] ); + END_REPEAT; + RETURN( result ); + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION function_applicability( + func : maths_function_select; + arguments : LIST [1 : ?] OF maths_value + ) : BOOLEAN; + + LOCAL + domain : tuple_space := convert_to_maths_function( func ).domain; + domain_types : SET OF STRING := TYPEOF( domain ); + narg : positive_integer := SIZEOF( arguments ); + arg : generic_expression; + END_LOCAL; + IF ( schema_prefix + 'PRODUCT_SPACE' ) IN domain_types THEN + IF space_dimension( domain ) <> narg THEN + RETURN( FALSE ); + END_IF; + ELSE + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN domain_types THEN + IF space_dimension( domain ) > narg THEN + RETURN( FALSE ); + END_IF; + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + REPEAT i := 1 TO narg BY 1; + arg := convert_to_operand( arguments[i] ); + IF NOT has_values_space( arg ) THEN + RETURN( FALSE ); + END_IF; + IF NOT compatible_spaces( factor_space( domain, i ), values_space_of( arg ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION function_is_1d_array( + func : maths_function + ) : BOOLEAN; + + LOCAL + temp : maths_space; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + IF space_dimension( func.domain ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( func.domain ); + IF ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( temp ) THEN + IF space_dimension( temp ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( temp ); + END_IF; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION function_is_1d_table( + func : maths_function + ) : BOOLEAN; + + LOCAL + temp : maths_space; + itvl : finite_integer_interval; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + IF space_dimension( func.domain ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( func.domain ); + IF ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( temp ) THEN + IF space_dimension( temp ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( temp ); + END_IF; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) THEN + itvl := temp; + RETURN( bool( ( itvl.min = 0 ) OR ( itvl.min = 1 ) ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION function_is_2d_table( + func : maths_function + ) : BOOLEAN; + + LOCAL + temp : maths_space; + pspace : product_space; + itvl1 : finite_integer_interval; + itvl2 : finite_integer_interval; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + IF space_dimension( func.domain ) <> 1 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( func.domain ); + IF NOT ( 'PRODUCT_SPACE' IN stripped_typeof( temp ) ) THEN + RETURN( FALSE ); + END_IF; + pspace := temp; + IF space_dimension( pspace ) <> 2 THEN + RETURN( FALSE ); + END_IF; + temp := factor1( pspace ); + IF NOT ( 'FINITE_INTEGER_INTERVAL' IN stripped_typeof( temp ) ) THEN + RETURN( FALSE ); + END_IF; + itvl1 := temp; + temp := factor_space( pspace, 2 ); + IF NOT ( 'FINITE_INTEGER_INTERVAL' IN stripped_typeof( temp ) ) THEN + RETURN( FALSE ); + END_IF; + itvl2 := temp; + RETURN( bool( ( itvl1.min = itvl2.min ) AND ( ( itvl1.min = 0 ) OR ( itvl1.min = 1 ) ) ) ); + + END_FUNCTION; + + FUNCTION function_is_array( + func : maths_function + ) : BOOLEAN; + + LOCAL + tspace : tuple_space; + temp : maths_space; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( tspace ) ) ) THEN + tspace := factor1( tspace ); + END_IF; + IF NOT ( ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( tspace ) ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO space_dimension( tspace ) BY 1; + temp := factor_space( tspace, i ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION function_is_table( + func : maths_function + ) : BOOLEAN; + + LOCAL + tspace : tuple_space; + temp : maths_space; + base : INTEGER; + END_LOCAL; + IF NOT EXISTS( func ) THEN + RETURN( FALSE ); + END_IF; + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( tspace ) ) ) THEN + tspace := factor1( tspace ); + END_IF; + IF NOT ( ( schema_prefix + 'PRODUCT_SPACE' ) IN TYPEOF( tspace ) ) THEN + RETURN( FALSE ); + END_IF; + temp := factor1( tspace ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + base := temp\finite_integer_interval.min; + IF ( base <> 0 ) AND ( base <> 1 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 2 TO space_dimension( tspace ) BY 1; + temp := factor_space( tspace, i ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( FALSE ); + END_IF; + IF temp\finite_integer_interval.min <> base THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION gbsf_check_curve( + cv : representation_item + ) : BOOLEAN; + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D'] + * TYPEOF( cv ) ) > 1 THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ELLIPSE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE'] * TYPEOF( cv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( cv ) ) AND ( cv\b_spline_curve. + self_intersect = FALSE ) ) OR ( cv\b_spline_curve.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( cv ) ) AND ( cv\composite_curve. + self_intersect = FALSE ) ) OR ( cv\composite_curve.self_intersect = UNKNOWN ) THEN + RETURN( SIZEOF( QUERY ( seg <* cv\composite_curve.segments | ( NOT gbsf_check_curve( seg.parent_curve ) ) ) ) = 0 ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF( cv ) THEN + RETURN( gbsf_check_curve( cv\curve_replica.parent_curve ) ); + ELSE + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( cv ) ) AND ( ( cv\offset_curve_3d. + self_intersect = FALSE ) OR ( cv\offset_curve_3d.self_intersect = UNKNOWN ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( cv\offset_curve_3d.basis_curve ) ) ) THEN + RETURN( gbsf_check_curve( cv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( cv ) THEN + RETURN( gbsf_check_curve( cv\pcurve.reference_to_curve\representation.items[1] ) AND gbsf_check_surface( cv\ + pcurve.basis_surface ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( cv ) THEN + IF SIZEOF( cv\polyline.points ) >= 3 THEN + RETURN( TRUE ); + END_IF; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF( cv ) THEN + IF gbsf_check_curve( cv\surface_curve.curve_3d ) THEN + REPEAT i := 1 TO SIZEOF( cv\surface_curve.associated_geometry ) BY 1; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT gbsf_check_surface( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT gbsf_check_curve( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION gbsf_check_point( + pnt : point + ) : BOOLEAN; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF( pnt ) THEN + RETURN( TRUE ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' IN TYPEOF( pnt ) THEN + RETURN( gbsf_check_curve( pnt\point_on_curve.basis_curve ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE' IN TYPEOF( pnt ) THEN + RETURN( gbsf_check_surface( pnt\point_on_surface.basis_surface ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE' IN TYPEOF( pnt ) THEN + RETURN( gbsf_check_curve( pnt\degenerate_pcurve.reference_to_curve\representation.items[1] ) AND gbsf_check_surface( + pnt\degenerate_pcurve.basis_surface ) ); + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION gbsf_check_surface( + sf : surface + ) : BOOLEAN; + IF ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( sf ) ) AND ( sf\b_spline_surface. + self_intersect = FALSE ) ) OR ( sf\b_spline_surface.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SPHERICAL_SURFACE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TOROIDAL_SURFACE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'CURVE_BOUNDED_SURFACE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_TRIMMED_SURFACE'] * TYPEOF( sf ) ) + = 1 THEN + RETURN( TRUE ); + ELSE + IF ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_SURFACE' IN TYPEOF( sf ) ) AND ( sf\offset_surface. + self_intersect = FALSE ) ) OR ( sf\offset_surface.self_intersect = UNKNOWN ) THEN + RETURN( gbsf_check_surface( sf\offset_surface.basis_surface ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_COMPOSITE_SURFACE' IN TYPEOF( sf ) THEN + REPEAT i := 1 TO SIZEOF( sf\rectangular_composite_surface.segments ) BY 1; + REPEAT j := 1 TO SIZEOF( sf\rectangular_composite_surface.segments[i] ) BY 1; + IF NOT gbsf_check_surface( sf\rectangular_composite_surface.segments[i][j].parent_surface ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_REPLICA' IN TYPEOF( sf ) THEN + RETURN( gbsf_check_surface( sf\surface_replica.parent_surface ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF( sf ) THEN + RETURN( gbsf_check_curve( sf\swept_surface.swept_curve ) ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION get_associated_mandatory_document_ids( + pdc : product_definition_context + ) : SET OF STRING; + + LOCAL + result : SET OF STRING := []; + adrs_raw : SET OF applied_document_reference := bag_to_set( USEDIN( pdc, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS' ) ); + adrs_filtered : SET OF applied_document_reference := []; + ras : SET OF role_association; + dpas : SET OF document_product_association; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( adrs_raw ) BY 1; + IF adrs_raw[i]\document_reference.role\object_role.name = 'mandatory' THEN + adrs_filtered := adrs_filtered + adrs_raw[i]; + END_IF; + END_REPEAT; + REPEAT i := 1 TO HIINDEX( adrs_filtered ) BY 1; + dpas := bag_to_set( USEDIN( adrs_filtered[i]\document_reference.assigned_document, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DOCUMENT_PRODUCT_ASSOCIATION.RELATING_DOCUMENT' ) ); + REPEAT j := 1 TO HIINDEX( dpas ) BY 1; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DOCUMENT_PRODUCT_EQUIVALENCE' IN TYPEOF( dpas[j] ) THEN + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF( dpas[j]\ + document_product_association.related_product ) THEN + result := result + dpas[j]\document_product_association.related_product\product_definition_formation.of_product\ + product.id; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT' IN TYPEOF( dpas[j].related_product ) THEN + result := result + dpas[j]\document_product_association.related_product\product.id; + END_IF; + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_basis_surface( + c : curve_on_surface + ) : SET [0 : 2] OF surface; + + LOCAL + surfs : SET [0 : 2] OF surface; + n : INTEGER; + END_LOCAL; + surfs := []; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( c ) THEN + surfs := [c\pcurve.basis_surface]; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF( c ) THEN + n := SIZEOF( c\surface_curve.associated_geometry ); + REPEAT i := 1 TO n BY 1; + surfs := surfs + associated_surface( c\surface_curve.associated_geometry[i] ); + END_REPEAT; + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF( c ) THEN + n := SIZEOF( c\composite_curve.segments ); + surfs := get_basis_surface( c\composite_curve.segments[1].parent_curve ); + IF n > 1 THEN + REPEAT i := 2 TO n BY 1; + surfs := surfs * get_basis_surface( c\composite_curve.segments[i].parent_curve ); + END_REPEAT; + END_IF; + END_IF; + RETURN( surfs ); + + END_FUNCTION; + + FUNCTION get_description_value( + obj : description_attribute_select + ) : text; + + LOCAL + description_bag : BAG OF description_attribute := USEDIN( obj, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTION_ATTRIBUTE.' + 'DESCRIBED_ITEM' ); + END_LOCAL; + IF SIZEOF( description_bag ) = 1 THEN + RETURN( description_bag[1].attribute_value ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_directed_link( + nodes : LIST OF representation; + undirected_link : LIST OF chained_representation_link + ) : LIST OF representation_relationship; + + LOCAL + directed_link : LIST OF representation_relationship := []; + END_LOCAL; + IF ( SIZEOF( nodes ) <> ( SIZEOF( undirected_link ) + 1 ) ) OR ( VALUE_UNIQUE( nodes ) = FALSE ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( undirected_link ) BY 1; + CASE TRUE OF + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_CONTEXT' IN TYPEOF( undirected_link[i] ) : + BEGIN + IF ( nodes[i]\representation.context_of_items :=: undirected_link[i] ) AND ( nodes[i + 1]\representation. + context_of_items :=: undirected_link[i] ) THEN + INSERT( directed_link, representation_relationship( '', '', nodes[i + 1], nodes[i] ), i - 1 ); + ELSE + RETURN( ? ); + END_IF; + END; + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF( undirected_link[i] ) : + BEGIN + IF ( ( nodes[i] :=: undirected_link[i]\representation_relationship.rep_1 ) AND ( nodes[i + 1] :=: undirected_link[i]\ + representation_relationship.rep_2 ) ) OR ( ( nodes[i] :=: undirected_link[i]\representation_relationship.rep_2 ) + AND ( nodes[i + 1] :=: undirected_link[i]\representation_relationship.rep_1 ) ) THEN + INSERT( directed_link, representation_relationship( '', '', nodes[i + 1], nodes[i] ), i - 1 ); + ELSE + RETURN( ? ); + END_IF; + END; + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF( undirected_link[i] ) : + BEGIN + IF ( nodes[i] IN using_representations( undirected_link[i] ) ) AND ( nodes[i + 1] :=: undirected_link[i]\mapped_item. + mapping_source\representation_map.mapped_representation ) THEN + INSERT( directed_link, representation_relationship( '', '', nodes[i + 1], nodes[i] ), i - 1 ); + ELSE + RETURN( ? ); + END_IF; + END; + OTHERWISE : RETURN( ? ); + END_CASE; + END_REPEAT; + IF VALUE_UNIQUE( directed_link ) = FALSE THEN + RETURN( ? ); + END_IF; + RETURN( directed_link ); + + END_FUNCTION; + + FUNCTION get_id_value( + obj : id_attribute_select + ) : identifier; + + LOCAL + id_bag : BAG OF id_attribute := USEDIN( obj, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.' + + 'IDENTIFIED_ITEM' ); + END_LOCAL; + IF SIZEOF( id_bag ) = 1 THEN + RETURN( id_bag[1].attribute_value ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_kinematic_joints_from_kinematic_loops( + kls : SET OF kinematic_loop + ) : SET OF kinematic_joint; + + LOCAL + result : SET OF oriented_joint := []; + END_LOCAL; + IF SIZEOF( kls ) > 0 THEN + REPEAT i := 1 TO HIINDEX( kls ) BY 1; + result := result + kls[i].edge_list; + END_REPEAT; + END_IF; + RETURN( get_kinematic_joints_from_oriented_joints( result ) ); + + END_FUNCTION; + + FUNCTION get_kinematic_joints_from_oriented_joints( + ors : SET OF oriented_joint + ) : SET OF kinematic_joint; + + LOCAL + result : SET OF kinematic_joint := []; + END_LOCAL; + IF SIZEOF( ors ) > 0 THEN + REPEAT i := 1 TO HIINDEX( ors ) BY 1; + result := result + ors[i].edge_element; + END_REPEAT; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_name_value( + obj : name_attribute_select + ) : label; + + LOCAL + name_bag : BAG OF name_attribute := USEDIN( obj, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.' + + 'NAMED_ITEM' ); + END_LOCAL; + IF SIZEOF( name_bag ) = 1 THEN + RETURN( name_bag[1].attribute_value ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_plane_of_implicit_geometry( + ps : positioned_sketch + ) : plane; + + LOCAL + sb : sketch_basis_select := ps.sketch_basis; + result : plane := ?; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF( sb ) THEN + result := sb\face_surface.face_geometry; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF( sb ) THEN + result := sb\curve_bounded_surface.basis_surface; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_CURVE_SELECT' IN TYPEOF( sb ) THEN + + BEGIN + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC' IN TYPEOF( sb ) THEN + result := dummy_gri || surface( ) || elementary_surface( sb\conic.position ) || plane( ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE' IN TYPEOF( sb ) THEN + + BEGIN + result := get_plane_of_implicit_geometry( dummy_gri || positioned_sketch( sb\trimmed_curve.basis_curve, [] ) ); + END; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( sb ) THEN + result := sb\pcurve.basis_surface; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF( sb ) THEN + + BEGIN + IF ( SIZEOF( sb\surface_curve.basis_surface ) = 1 ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' + IN TYPEOF( sb\surface_curve.basis_surface[1] ) ) THEN + result := sb\surface_curve.basis_surface[1]; + ELSE + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( sb\surface_curve.basis_surface[1] ) ) + AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( sb\surface_curve.basis_surface[2] ) ) + THEN + result := ?; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF( sb\surface_curve.basis_surface[1] ) + THEN + result := sb\surface_curve.basis_surface[1]; + ELSE + result := sb\surface_curve.basis_surface[2]; + END_IF; + END_IF; + END_IF; + END; + END_IF; + END; + END_IF; + END_IF; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_property_definition_representations( + c_def_instance : characterized_definition + ) : SET OF property_definition_representation; + + LOCAL + pd_set : SET OF property_definition := []; + pdr_set : SET OF property_definition_representation := []; + END_LOCAL; + pd_set := bag_to_set( USEDIN( c_def_instance, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) ); + IF SIZEOF( pd_set ) < 1 THEN + RETURN( pdr_set ); + END_IF; + REPEAT i := 1 TO HIINDEX( pd_set ) BY 1; + pdr_set := pdr_set + bag_to_set( USEDIN( pd_set[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) ); + END_REPEAT; + RETURN( pdr_set ); + + END_FUNCTION; + + FUNCTION get_relative_direction_2points( + cp1, cp2 : cartesian_point + ) : direction; + + LOCAL + d1 : REAL; + d2 : REAL; + d3 : REAL; + magnitude : REAL; + result : direction := ?; + END_LOCAL; + IF ( cp1.dim <> 3 ) OR ( cp2.dim <> 3 ) THEN + RETURN( result ); + ELSE + + BEGIN + d1 := cp2.coordinates[1] - cp1.coordinates[1]; + d2 := cp2.coordinates[2] - cp1.coordinates[2]; + d3 := cp2.coordinates[3] - cp1.coordinates[3]; + magnitude := SQRT( ( d1 * d1 ) + ( d2 * d2 ) + ( d3 * d3 ) ); + IF magnitude = 0 THEN + RETURN( result ); + END_IF; + result := dummy_gri || direction( [d1, d2, d3] ); + END; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION get_role( + obj : role_select + ) : object_role; + + LOCAL + role_bag : BAG OF role_association := USEDIN( obj, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.' + + 'ITEM_WITH_ROLE' ); + END_LOCAL; + IF SIZEOF( role_bag ) = 1 THEN + RETURN( role_bag[1].role ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION get_shape_aspect_property_definition_representations( + s_a_instance : shape_aspect + ) : SET OF property_definition_representation; + + LOCAL + pd_set : SET OF property_definition := []; + pdr_set : SET OF property_definition_representation := []; + END_LOCAL; + pd_set := bag_to_set( USEDIN( s_a_instance, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) ); + IF SIZEOF( pd_set ) < 1 THEN + RETURN( pdr_set ); + END_IF; + REPEAT i := 1 TO HIINDEX( pd_set ) BY 1; + pdr_set := pdr_set + QUERY ( pdr <* USEDIN( pd_set[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + END_REPEAT; + RETURN( pdr_set ); + + END_FUNCTION; + + FUNCTION get_shape_aspects( + c_def_instance : characterized_definition + ) : SET OF shape_aspect; + + LOCAL + pd_set : SET OF product_definition_shape := []; + pdr_set : SET OF shape_aspect := []; + END_LOCAL; + pd_set := bag_to_set( QUERY ( pd <* USEDIN( c_def_instance, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION.DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN + TYPEOF( pd ) ) ) ); + IF SIZEOF( pd_set ) < 1 THEN + RETURN( pdr_set ); + END_IF; + REPEAT i := 1 TO HIINDEX( pd_set ) BY 1; + pdr_set := pdr_set + bag_to_set( USEDIN( pd_set[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE' ) ); + END_REPEAT; + RETURN( pdr_set ); + + END_FUNCTION; + + FUNCTION has_values_space( + expr : generic_expression + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := stripped_typeof( expr ); + END_LOCAL; + IF 'EXPRESSION' IN typenames THEN + RETURN( bool( ( 'NUMERIC_EXPRESSION' IN typenames ) OR ( 'STRING_EXPRESSION' IN typenames ) OR ( 'BOOLEAN_EXPRESSION' IN + typenames ) ) ); + END_IF; + IF 'MATHS_FUNCTION' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'FUNCTION_APPLICATION' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_SPACE' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_VARIABLE' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'DEPENDENT_VARIABLE_DEFINITION' IN typenames THEN + RETURN( has_values_space( expr\unary_generic_expression.operand ) ); + END_IF; + IF 'COMPLEX_NUMBER_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'LOGICAL_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'BINARY_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_ENUM_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'REAL_TUPLE_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'INTEGER_TUPLE_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'ATOM_BASED_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'MATHS_TUPLE_LITERAL' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'PARTIAL_DERIVATIVE_EXPRESSION' IN typenames THEN + RETURN( TRUE ); + END_IF; + IF 'DEFINITE_INTEGRAL_EXPRESSION' IN typenames THEN + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION inspected_product_definition( + dqir : data_quality_inspection_result_representation + ) : BAG OF product_definition; + + LOCAL + dqdr : BAG OF data_quality_definition_representation_relationship := []; + pdqdr : BAG OF product_data_and_data_quality_relationship := []; + pd : BAG OF product_definition := []; + END_LOCAL; + dqdr := USEDIN( dqir, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_DEFINITION_REPRESENTATION_RELATIONSHIP.' + 'USED_REPRESENTATION' ); + REPEAT i := 1 TO SIZEOF( dqdr ) BY 1; + pdqdr := USEDIN( dqdr[i].definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DATA_AND_DATA_QUALITY_RELATIONSHIP.' + 'DATA_QUALITY' ); + REPEAT j := 1 TO SIZEOF( pdqdr ) BY 1; + pd := pd + pdqdr[j].product_data; + END_REPEAT; + END_REPEAT; + RETURN( pd ); + + END_FUNCTION; + + FUNCTION invalidate_vrep_item( + item : variational_representation_item + ) : BOOLEAN; + + LOCAL + reps : SET [1 : ?] OF representation := using_representations( item ); + svri : SET [1 : ?] OF variational_representation_item; + iar : instance_attribute_reference; + i : INTEGER; + n : INTEGER := HIINDEX( reps ); + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN TYPEOF( item ) THEN + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INSTANCE_ATTRIBUTE_REFERENCE' IN TYPEOF( item\generic_variable. + interpretation\environment.semantics ) THEN + + BEGIN + iar := item\generic_variable.interpretation\environment.semantics; + IF reps <> using_representations( iar\instance_attribute_reference.owning_instance ) THEN + RETURN( TRUE ); + END_IF; + END; + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN TYPEOF( item ) THEN + + BEGIN + REPEAT i := 1 TO n BY 1; + svri := QUERY ( q <* reps[i]\representation.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'FREE_FORM_CONSTRAINT' IN TYPEOF( q ) ) ); + IF SIZEOF( QUERY ( r <* svri | ( item IN ( r\free_form_constraint.reference_elements + r\free_form_constraint. + constrained_elements ) ) ) ) = 0 THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' IN TYPEOF( item ) THEN + REPEAT i := 1 TO SIZEOF( item\fixed_instance_attribute_set.fixed_attributes ) BY 1; + IF reps <> using_representations( item\fixed_instance_attribute_set.fixed_attributes[i]\instance_attribute_reference. + owning_instance ) THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPLICIT_CONSTRAINT' IN TYPEOF( item ) THEN + IF SIZEOF( QUERY ( q <* ( item\explicit_constraint.reference_elements + item\explicit_constraint.constrained_elements ) | + ( reps <> using_representations( q ) ) ) ) > 0 THEN + RETURN( TRUE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AUXILIARY_GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF( item ) THEN + + BEGIN + REPEAT i := 1 TO n BY 1; + svri := QUERY ( q <* reps[i]\representation.items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EXPLICIT_GEOMETRIC_CONSTRAINT' IN TYPEOF( q ) ) ); + IF SIZEOF( QUERY ( r <* svri | ( item IN r\explicit_geometric_constraint.reference_elements ) ) ) = 0 THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION is_acyclic( + arg : generic_expression + ) : BOOLEAN; + RETURN( acyclic( arg, [] ) ); + + END_FUNCTION; + + FUNCTION is_int_expr( + arg : numeric_expression + ) : BOOLEAN; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INT_LITERAL' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REAL_LITERAL' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ABS_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( is_int_expr( arg\unary_numeric_expression.operand ) ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINUS_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( is_int_expr( arg\unary_numeric_expression.operand ) ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACOS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ATAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXP_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG2_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG10_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_ROOT_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MULT_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAXIMUM_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINIMUM_FUNCTION' IN TYPEOF( arg ) ) THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_numeric_expression.operands ) BY 1; + IF NOT is_int_expr( arg\multiple_arity_numeric_expression.operands[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POWER_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( is_int_expr( arg\binary_numeric_expression.operands[1] ) AND is_int_expr( arg\binary_numeric_expression.operands[2] ) ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIV_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MOD_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLASH_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_FUNCTION' IN TYPEOF( arg ) THEN + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INT_VALUE_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INTEGER_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REAL_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( FALSE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION is_sql_mappable( + arg : expression + ) : BOOLEAN; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIMPLE_NUMERIC_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQL_MAPPABLE_DEFINED_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINUS_FUNCTION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\unary_numeric_expression.operand ) ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ABS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASIN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACOS_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ATAN_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXP_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG2_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG10_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_ROOT_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MULT_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAXIMUM_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINIMUM_FUNCTION' IN TYPEOF( arg ) ) THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_numeric_expression.operands ) BY 1; + IF NOT is_sql_mappable( arg\multiple_arity_numeric_expression.operands[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINUS_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLASH_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( is_sql_mappable( arg\binary_numeric_expression.operands[1] ) AND is_sql_mappable( arg\binary_numeric_expression. + operands[2] ) ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIV_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MOD_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POWER_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIMPLE_BOOLEAN_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NOT_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\unary_generic_expression.operand ) ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ODD_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.XOR_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AND_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OR_EXPRESSION' IN TYPEOF( arg ) ) THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_boolean_expression.operands ) BY 1; + IF NOT is_sql_mappable( arg\multiple_arity_boolean_expression.operands[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EQUALS_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\binary_generic_expression.operands[1] ) AND is_sql_mappable( arg\binary_generic_expression. + operands[2] ) ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_GREATER' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_GREATER_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_LESS' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_LESS_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_NOT_EQUAL' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LIKE_EXPRESSION' IN TYPEOF( arg ) ) THEN + RETURN( is_sql_mappable( arg\comparison_expression.operands[1] ) AND is_sql_mappable( arg\comparison_expression.operands[2] ) ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INTERVAL_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( is_sql_mappable( arg\interval_expression.interval_low ) AND is_sql_mappable( arg\interval_expression.interval_high ) + AND is_sql_mappable( arg\interval_expression.interval_item ) ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_DEFINED_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_DEFINED_FUNCTION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_DEFINED_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIMPLE_STRING_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( TRUE ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INDEX_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBSTRING_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONCAT_EXPRESSION' IN TYPEOF( arg ) ) OR ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FORMAT_FUNCTION' IN TYPEOF( arg ) ) THEN + RETURN( FALSE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION item_in_context( + item : representation_item; + cntxt : representation_context + ) : BOOLEAN; + + LOCAL + y : BAG OF representation_item; + END_LOCAL; + IF SIZEOF( USEDIN( item, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS' ) * cntxt. + representations_in_context ) > 0 THEN + RETURN( TRUE ); + ELSE + y := QUERY ( z <* USEDIN( item, '' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF( z ) ) ); + IF SIZEOF( y ) > 0 THEN + REPEAT i := 1 TO HIINDEX( y ) BY 1; + IF item_in_context( y[i], cntxt ) THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION leap_year( + year : year_number + ) : BOOLEAN; + IF ( ( ( year MOD 4 ) = 0 ) AND ( ( year MOD 100 ) <> 0 ) ) OR ( ( year MOD 400 ) = 0 ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + + END_FUNCTION; + + FUNCTION list_face_loops( + f : face + ) : LIST [0 : ?] OF loop; + + LOCAL + loops : LIST [0 : ?] OF loop := []; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( f.bounds ) BY 1; + loops := loops + f.bounds[i].bound; + END_REPEAT; + RETURN( loops ); + + END_FUNCTION; + + FUNCTION list_of_topology_reversed( + a_list : list_of_reversible_topology_item + ) : list_of_reversible_topology_item; + + LOCAL + the_reverse : list_of_reversible_topology_item; + END_LOCAL; + the_reverse := []; + REPEAT i := 1 TO SIZEOF( a_list ) BY 1; + the_reverse := topology_reversed( a_list[i] ) + the_reverse; + END_REPEAT; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION list_selected_components( + aggr : AGGREGATE OF LIST OF maths_value; + k : positive_integer + ) : LIST OF maths_value; + + LOCAL + result : LIST OF maths_value := []; + j : INTEGER := 0; + END_LOCAL; + REPEAT i := LOINDEX( aggr ) TO HIINDEX( aggr ) BY 1; + IF k <= SIZEOF( aggr[i] ) THEN + INSERT( result, aggr[i][k], j ); + j := j + 1; + END_IF; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION list_to_array( + lis : LIST [0 : ?] OF GENERIC:t; + low : INTEGER; + u : INTEGER + ) : ARRAY [low : u] OF GENERIC:t; + + LOCAL + n : INTEGER; + res : ARRAY [low : u] OF GENERIC:t; + END_LOCAL; + n := SIZEOF( lis ); + IF n <> ( ( u - low ) + 1 ) THEN + RETURN( ? ); + ELSE + res := [lis[1] : 0]; + REPEAT i := 2 TO n BY 1; + res[( low + i ) - 1] := lis[i]; + END_REPEAT; + RETURN( res ); + END_IF; + + END_FUNCTION; + + FUNCTION list_to_set( + l : LIST [0 : ?] OF GENERIC:t + ) : SET OF GENERIC:t; + + LOCAL + s : SET OF GENERIC:t := []; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( l ) BY 1; + s := s + l[i]; + END_REPEAT; + RETURN( s ); + + END_FUNCTION; + + FUNCTION make_array_of_array( + lis : LIST [1 : ?] OF LIST [1 : ?] OF GENERIC:t; + low1 : INTEGER; + u1 : INTEGER; + low2 : INTEGER; + u2 : INTEGER + ) : ARRAY [low1 : u1] OF ARRAY [low2 : u2] OF GENERIC:t; + + LOCAL + res : ARRAY [low1 : u1] OF ARRAY [low2 : u2] OF GENERIC:t; + END_LOCAL; + IF ( ( u1 - low1 ) + 1 ) <> SIZEOF( lis ) THEN + RETURN( ? ); + END_IF; + IF ( ( u2 - low2 ) + 1 ) <> SIZEOF( lis[1] ) THEN + RETURN( ? ); + END_IF; + res := [list_to_array( lis[1], low2, u2 ) : 0]; + REPEAT i := 2 TO HIINDEX( lis ) BY 1; + IF ( ( u2 - low2 ) + 1 ) <> SIZEOF( lis[i] ) THEN + RETURN( ? ); + END_IF; + res[( low1 + i ) - 1] := list_to_array( lis[i], low2, u2 ); + END_REPEAT; + RETURN( res ); + + END_FUNCTION; + + FUNCTION make_atom_based_literal( + lit_value : atom_based_value + ) : atom_based_literal; + RETURN( atom_based_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_binary_literal( + lit_value : BINARY + ) : binary_literal; + RETURN( binary_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_boolean_literal( + lit_value : BOOLEAN + ) : boolean_literal; + RETURN( boolean_literal( lit_value ) || simple_boolean_expression( ) || boolean_expression( ) || expression( ) || + generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_cartesian_complex_number_region( + real_constraint, imag_constraint : real_interval + ) : cartesian_complex_number_region; + RETURN( cartesian_complex_number_region( real_constraint, imag_constraint ) || maths_space( ) || generic_expression( ) || + generic_literal( ) || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_complex_number_literal( + rpart, ipart : REAL + ) : complex_number_literal; + RETURN( complex_number_literal( rpart, ipart ) || generic_literal( ) || simple_generic_expression( ) || + generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_elementary_function( + func_id : elementary_function_enumerators + ) : elementary_function; + RETURN( elementary_function( func_id ) || maths_function( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_elementary_space( + space_id : elementary_space_enumerators + ) : elementary_space; + RETURN( elementary_space( space_id ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_extended_tuple_space( +(* next line replaced by the line thereafter as patch for BZ#5052 + base : product_space; *) + base : tuple_space; + extender : maths_space + ) : extended_tuple_space; + RETURN( extended_tuple_space( base, extender ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_finite_integer_interval( + min : INTEGER; + max : INTEGER + ) : finite_integer_interval; + RETURN( finite_integer_interval( min, max ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_finite_real_interval( + min : REAL; + minclo : open_closed; + max : REAL; + maxclo : open_closed + ) : finite_real_interval; + RETURN( finite_real_interval( min, minclo, max, maxclo ) || maths_space( ) || generic_expression( ) || generic_literal( ) + || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_finite_space( + members : SET OF maths_value + ) : finite_space; + RETURN( finite_space( members ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_function_application( + afunction : maths_function_select; + arguments : LIST [1 : ?] OF maths_value + ) : function_application; + RETURN( function_application( afunction, arguments ) || multiple_arity_generic_expression( convert_to_maths_function( + afunction ) + convert_to_operands( arguments ) ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_function_space( + domain_constraint : space_constraint_type; + domain_argument : maths_space; + range_constraint : space_constraint_type; + range_argument : maths_space + ) : function_space; + RETURN( function_space( domain_constraint, domain_argument, range_constraint, range_argument ) || maths_space( ) || + generic_expression( ) || generic_literal( ) || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_int_literal( + lit_value : INTEGER + ) : int_literal; + RETURN( int_literal( ) || literal_number( lit_value ) || simple_numeric_expression( ) || numeric_expression( ) || + expression( ) || generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_listed_product_space( + factors : LIST OF maths_space + ) : listed_product_space; + RETURN( listed_product_space( factors ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_logical_literal( + lit_value : LOGICAL + ) : logical_literal; + RETURN( logical_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_maths_enum_literal( + lit_value : maths_enum_atom + ) : maths_enum_literal; + RETURN( maths_enum_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_maths_tuple_literal( + lit_value : LIST OF maths_value + ) : maths_tuple_literal; + RETURN( maths_tuple_literal( lit_value ) || generic_literal( ) || simple_generic_expression( ) || generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_numeric_set( + start, delta : maths_number; + incs : positive_integer + ) : SET [2 : ?] OF maths_number; + + LOCAL + i : INTEGER; + numeric_set : SET [2 : ?] OF maths_number := [start, start + delta]; + END_LOCAL; + IF incs > 1 THEN + REPEAT i := 2 TO incs BY 1; + numeric_set := numeric_set + start + ( i * delta ); + END_REPEAT; + END_IF; + RETURN( numeric_set ); + + END_FUNCTION; + + FUNCTION make_parallel_composed_function( + srcdom : maths_space_or_function; + prepfuncs : LIST [2 : ?] OF maths_function; + finfunc : maths_function_select + ) : parallel_composed_function; + RETURN( parallel_composed_function( srcdom, prepfuncs, finfunc ) || maths_function( ) || generic_expression( ) || + multiple_arity_generic_expression( convert_to_operands_prcmfn( srcdom, prepfuncs, finfunc ) ) ); + + END_FUNCTION; + + FUNCTION make_polar_complex_number_region( + centre : complex_number_literal; + dis_constraint : real_interval; + dir_constraint : finite_real_interval + ) : polar_complex_number_region; + RETURN( polar_complex_number_region( centre, dis_constraint, dir_constraint ) || maths_space( ) || generic_expression( ) || + generic_literal( ) || simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_real_interval_from_min( + min : REAL; + minclo : open_closed + ) : real_interval_from_min; + RETURN( real_interval_from_min( min, minclo ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_real_interval_to_max( + max : REAL; + maxclo : open_closed + ) : real_interval_to_max; + RETURN( real_interval_to_max( max, maxclo ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION make_real_literal( + lit_value : REAL + ) : real_literal; + RETURN( real_literal( ) || literal_number( lit_value ) || simple_numeric_expression( ) || numeric_expression( ) || + expression( ) || generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_string_literal( + lit_value : STRING + ) : string_literal; + RETURN( string_literal( lit_value ) || simple_string_expression( ) || string_expression( ) || expression( ) || + generic_expression( ) || simple_generic_expression( ) || generic_literal( ) ); + + END_FUNCTION; + + FUNCTION make_uniform_product_space( + base : maths_space; + exponent : positive_integer + ) : uniform_product_space; + RETURN( uniform_product_space( base, exponent ) || maths_space( ) || generic_expression( ) || generic_literal( ) || + simple_generic_expression( ) ); + + END_FUNCTION; + + FUNCTION max_exists( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + RETURN( bool( ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_TO_MAX' ) + IN types ) OR ( ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'REAL_INTERVAL_TO_MAX' ) IN + types ) ) ); + + END_FUNCTION; + + FUNCTION max_included( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_TO_MAX' ) IN types ) + THEN + RETURN( TRUE ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( bool( spc\finite_real_interval.max_closure = closed ) ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_TO_MAX' ) IN types THEN + RETURN( bool( spc\real_interval_to_max.max_closure = closed ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION member_of( + val : GENERIC:g; + spc : maths_space + ) : LOGICAL; + + FUNCTION fedex( + val : AGGREGATE OF GENERIC:x; + i : INTEGER + ) : GENERIC:x; + RETURN( val[i] ); + + END_FUNCTION; + + LOCAL + v : maths_value := simplify_maths_value( convert_to_maths_value( val ) ); + vtypes : SET OF STRING := stripped_typeof( v ); + s : maths_space := simplify_maths_space( spc ); + stypes : SET OF STRING := stripped_typeof( s ); + tmp_int : INTEGER; + tmp_real : REAL; + tmp_cmplx : complex_number_literal; + lgcl : LOGICAL; + cum : LOGICAL; + vspc : maths_space; + sspc : maths_space; + smem : SET OF maths_value; + factors : LIST OF maths_space; + END_LOCAL; + IF NOT EXISTS( s ) THEN + RETURN( FALSE ); + END_IF; + IF NOT EXISTS( v ) THEN + RETURN( s = the_generics ); + END_IF; + IF ( 'GENERIC_EXPRESSION' IN vtypes ) AND ( NOT ( 'MATHS_SPACE' IN vtypes ) ) AND ( NOT ( 'MATHS_FUNCTION' IN vtypes ) ) AND + ( NOT ( 'COMPLEX_NUMBER_LITERAL' IN vtypes ) ) THEN + IF has_values_space( v ) THEN + vspc := values_space_of( v ); + IF subspace_of( vspc, s ) THEN + RETURN( TRUE ); + END_IF; + IF NOT compatible_spaces( vspc, s ) THEN + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + RETURN( UNKNOWN ); + END_IF; + IF 'ELEMENTARY_SPACE' IN stypes THEN + CASE s\elementary_space.space_id OF + es_numbers : RETURN( ( 'NUMBER' IN vtypes ) OR ( 'COMPLEX_NUMBER_LITERAL' IN vtypes ) ); + es_complex_numbers : RETURN( 'COMPLEX_NUMBER_LITERAL' IN vtypes ); + es_reals : RETURN( ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) ); + es_integers : RETURN( 'INTEGER' IN vtypes ); + es_logicals : RETURN( 'LOGICAL' IN vtypes ); + es_booleans : RETURN( 'BOOLEAN' IN vtypes ); + es_strings : RETURN( 'STRING' IN vtypes ); + es_binarys : RETURN( 'BINARY' IN vtypes ); + es_maths_spaces : RETURN( 'MATHS_SPACE' IN vtypes ); + es_maths_functions : RETURN( 'MATHS_FUNCTION' IN vtypes ); + es_generics : RETURN( TRUE ); + END_CASE; + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN stypes THEN + IF 'INTEGER' IN vtypes THEN + tmp_int := v; + RETURN( ( s\finite_integer_interval.min <= tmp_int ) AND ( tmp_int <= s\finite_integer_interval.max ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'INTEGER_INTERVAL_FROM_MIN' IN stypes THEN + IF 'INTEGER' IN vtypes THEN + tmp_int := v; + RETURN( s\integer_interval_from_min.min <= tmp_int ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'INTEGER_INTERVAL_TO_MAX' IN stypes THEN + IF 'INTEGER' IN vtypes THEN + tmp_int := v; + RETURN( tmp_int <= s\integer_interval_to_max.max ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_REAL_INTERVAL' IN stypes THEN + IF ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) THEN + tmp_real := v; + IF s\finite_real_interval.min_closure = closed THEN + IF s\finite_real_interval.max_closure = closed THEN + RETURN( ( s\finite_real_interval.min <= tmp_real ) AND ( tmp_real <= s\finite_real_interval.max ) ); + ELSE + RETURN( ( s\finite_real_interval.min <= tmp_real ) AND ( tmp_real < s\finite_real_interval.max ) ); + END_IF; + ELSE + IF s\finite_real_interval.max_closure = closed THEN + RETURN( ( s\finite_real_interval.min < tmp_real ) AND ( tmp_real <= s\finite_real_interval.max ) ); + ELSE + RETURN( ( s\finite_real_interval.min < tmp_real ) AND ( tmp_real < s\finite_real_interval.max ) ); + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_FROM_MIN' IN stypes THEN + IF ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) THEN + tmp_real := v; + IF s\real_interval_from_min.min_closure = closed THEN + RETURN( s\real_interval_from_min.min <= tmp_real ); + ELSE + RETURN( s\real_interval_from_min.min < tmp_real ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_TO_MAX' IN stypes THEN + IF ( 'REAL' IN vtypes ) AND ( NOT ( 'INTEGER' IN vtypes ) ) THEN + tmp_real := v; + IF s\real_interval_to_max.max_closure = closed THEN + RETURN( tmp_real <= s\real_interval_to_max.max ); + ELSE + RETURN( tmp_real < s\real_interval_to_max.max ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN stypes THEN + IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN + RETURN( member_of( v\complex_number_literal.real_part, s\cartesian_complex_number_region.real_constraint ) AND + member_of( v\complex_number_literal.imag_part, s\cartesian_complex_number_region.imag_constraint ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN stypes THEN + IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN + tmp_cmplx := v; + tmp_cmplx.real_part := tmp_cmplx.real_part - s\polar_complex_number_region.centre.real_part; + tmp_cmplx.imag_part := tmp_cmplx.imag_part - s\polar_complex_number_region.centre.imag_part; + tmp_real := SQRT( ( tmp_cmplx.real_part ** 2 ) + ( tmp_cmplx.imag_part ** 2 ) ); + IF NOT member_of( tmp_real, s\polar_complex_number_region.distance_constraint ) THEN + RETURN( FALSE ); + END_IF; + IF tmp_real = 0 THEN + RETURN( TRUE ); + END_IF; + tmp_real := atan2( tmp_cmplx.imag_part, tmp_cmplx.real_part ); + RETURN( member_of( tmp_real, s\polar_complex_number_region.direction_constraint ) OR member_of( tmp_real + ( 2 * PI ), s\ + polar_complex_number_region.direction_constraint ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_SPACE' IN stypes THEN + smem := s\finite_space.members; + cum := FALSE; + REPEAT i := 1 TO SIZEOF( smem ) BY 1; + cum := cum OR equal_maths_values( v, smem[i] ); + IF cum = TRUE THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN + IF 'LIST' IN vtypes THEN + IF SIZEOF( v ) = s\uniform_product_space.exponent THEN + sspc := s\uniform_product_space.base; + cum := TRUE; + REPEAT i := 1 TO SIZEOF( v ) BY 1; + cum := cum AND member_of( v[i], sspc ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN stypes THEN + IF 'LIST' IN vtypes THEN + factors := s\listed_product_space.factors; + IF SIZEOF( v ) = SIZEOF( factors ) THEN + cum := TRUE; + REPEAT i := 1 TO SIZEOF( v ) BY 1; + cum := cum AND member_of( v[i], factors[i] ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN + IF 'LIST' IN vtypes THEN + sspc := s\extended_tuple_space.base; + tmp_int := space_dimension( sspc ); + IF SIZEOF( v ) >= tmp_int THEN + cum := TRUE; + REPEAT i := 1 TO tmp_int BY 1; + cum := cum AND member_of( v[i], factor_space( sspc, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + sspc := s\extended_tuple_space.extender; + REPEAT i := tmp_int + 1 TO SIZEOF( v ) BY 1; + cum := cum AND member_of( v[i], sspc ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN stypes THEN + IF 'MATHS_FUNCTION' IN vtypes THEN + vspc := v\maths_function.domain; + sspc := s\function_space.domain_argument; + CASE s\function_space.domain_constraint OF + sc_equal : cum := equal_maths_spaces( vspc, sspc ); + sc_subspace : cum := subspace_of( vspc, sspc ); + sc_member : cum := member_of( vspc, sspc ); + END_CASE; + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + vspc := v\maths_function.range; + sspc := s\function_space.range_argument; + CASE s\function_space.range_constraint OF + sc_equal : cum := cum AND equal_maths_spaces( vspc, sspc ); + sc_subspace : cum := cum AND subspace_of( vspc, sspc ); + sc_member : cum := cum AND member_of( vspc, sspc ); + END_CASE; + RETURN( cum ); + END_IF; + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION min_exists( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + RETURN( bool( ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_FROM_MIN' ) + IN types ) OR ( ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'REAL_INTERVAL_FROM_MIN' ) IN + types ) ) ); + + END_FUNCTION; + + FUNCTION min_included( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types ) OR ( ( schema_prefix + 'INTEGER_INTERVAL_FROM_MIN' ) IN types ) + THEN + RETURN( TRUE ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( bool( spc\finite_real_interval.min_closure = closed ) ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_FROM_MIN' ) IN types THEN + RETURN( bool( spc\real_interval_from_min.min_closure = closed ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION mixed_loop_type_set( + l : SET [0 : ?] OF loop + ) : LOGICAL; + + LOCAL + poly_loop_type : LOGICAL; + END_LOCAL; + IF SIZEOF( l ) <= 1 THEN + RETURN( FALSE ); + END_IF; + poly_loop_type := 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLY_LOOP' IN TYPEOF( l[1] ); + REPEAT i := 2 TO SIZEOF( l ) BY 1; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLY_LOOP' IN TYPEOF( l[i] ) ) <> poly_loop_type THEN + RETURN( TRUE ); + END_IF; + END_REPEAT; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION msb_shells( + brep : manifold_solid_brep + ) : SET [1 : ?] OF closed_shell; + + LOCAL + return_set : SET [1 : ?] OF closed_shell := [brep.outer]; + END_LOCAL; + IF SIZEOF( QUERY ( msbtype <* TYPEOF( brep ) | ( msbtype LIKE '*BREP_WITH_VOIDS' ) ) ) >= 1 THEN + return_set := return_set + brep\brep_with_voids.voids; + END_IF; + RETURN( return_set ); + + END_FUNCTION; + + FUNCTION msf_curve_check( + cv : representation_item + ) : BOOLEAN; + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D'] + * TYPEOF( cv ) ) > 1 THEN + RETURN( FALSE ); + END_IF; + IF ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( cv ) ) AND ( cv\b_spline_curve. + self_intersect = FALSE ) ) OR ( cv\b_spline_curve.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE'] + * TYPEOF( cv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF( cv ) THEN + RETURN( msf_curve_check( cv\curve_replica.parent_curve ) ); + ELSE + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( cv ) ) AND ( ( cv\offset_curve_3d. + self_intersect = FALSE ) OR ( cv\offset_curve_3d.self_intersect = UNKNOWN ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( cv\offset_curve_3d.basis_curve ) ) ) THEN + RETURN( msf_curve_check( cv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( cv ) THEN + RETURN( msf_curve_check( cv\pcurve.reference_to_curve\representation.items[1] ) AND msf_surface_check( cv\pcurve. + basis_surface ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF( cv ) THEN + IF msf_curve_check( cv\surface_curve.curve_3d ) THEN + REPEAT i := 1 TO SIZEOF( cv\surface_curve.associated_geometry ) BY 1; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF( cv\surface_curve.associated_geometry[ + i] ) THEN + IF NOT msf_surface_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( cv\surface_curve.associated_geometry + [i] ) THEN + IF NOT msf_curve_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( cv ) THEN + IF SIZEOF( cv\polyline.points ) >= 3 THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION msf_surface_check( + surf : surface + ) : BOOLEAN; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF( surf ) THEN + RETURN( TRUE ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_SURFACE' IN TYPEOF( surf ) THEN + RETURN( msf_curve_check( surf\swept_surface.swept_curve ) ); + ELSE + IF ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_SURFACE' IN TYPEOF( surf ) ) AND ( surf\offset_surface. + self_intersect = FALSE ) ) OR ( surf\offset_surface.self_intersect = UNKNOWN ) THEN + RETURN( msf_surface_check( surf\offset_surface.basis_surface ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_REPLICA' IN TYPEOF( surf ) THEN + RETURN( msf_surface_check( surf\surface_replica.parent_surface ) ); + ELSE + IF ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( surf ) ) AND ( surf\ + b_spline_surface.self_intersect = FALSE ) ) OR ( surf\b_spline_surface.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION nmsf_curve_check( + cv : representation_item + ) : BOOLEAN; + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D'] + * TYPEOF( cv ) ) > 1 THEN + RETURN( FALSE ); + ELSE + IF ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF( cv ) ) AND ( cv\b_spline_curve. + self_intersect = FALSE ) ) OR ( cv\b_spline_curve.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + ELSE + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'LINE' ] * TYPEOF( cv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF( cv ) THEN + RETURN( nmsf_curve_check( cv\curve_replica.parent_curve ) ); + ELSE + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( cv ) ) AND ( ( cv\offset_curve_3d. + self_intersect = FALSE ) OR ( cv\offset_curve_3d.self_intersect = UNKNOWN ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( cv\offset_curve_3d.basis_curve ) ) ) THEN + RETURN( nmsf_curve_check( cv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( cv ) THEN + RETURN( nmsf_curve_check( cv\pcurve.reference_to_curve\representation.items[1] ) AND nmsf_surface_check( cv\ + pcurve.basis_surface ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF( cv ) THEN + IF nmsf_curve_check( cv\surface_curve.curve_3d ) THEN + REPEAT i := 1 TO SIZEOF( cv\surface_curve.associated_geometry ) BY 1; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT nmsf_surface_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF( cv\surface_curve. + associated_geometry[i] ) THEN + IF NOT nmsf_curve_check( cv\surface_curve.associated_geometry[i] ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF( cv ) THEN + IF SIZEOF( cv\polyline.points ) >= 3 THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION nmsf_surface_check( + surf : surface + ) : BOOLEAN; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF( surf ) THEN + RETURN( TRUE ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_SURFACE' IN TYPEOF( surf ) THEN + RETURN( nmsf_curve_check( surf\swept_surface.swept_curve ) ); + ELSE + IF ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_SURFACE' IN TYPEOF( surf ) ) AND ( surf\offset_surface. + self_intersect = FALSE ) ) OR ( surf\offset_surface.self_intersect = UNKNOWN ) THEN + RETURN( nmsf_surface_check( surf\offset_surface.basis_surface ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_REPLICA' IN TYPEOF( surf ) THEN + RETURN( nmsf_surface_check( surf\surface_replica.parent_surface ) ); + ELSE + IF ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF( surf ) ) AND ( surf\ + b_spline_surface.self_intersect = FALSE ) ) OR ( surf\b_spline_surface.self_intersect = UNKNOWN ) THEN + RETURN( TRUE ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION no_cyclic_domain_reference( + ref : maths_space_or_function; + used : SET OF maths_function + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := TYPEOF( ref ); + func : maths_function; + END_LOCAL; + IF ( NOT EXISTS( ref ) ) OR ( NOT EXISTS( used ) ) THEN + RETURN( FALSE ); + END_IF; + IF ( schema_prefix + 'MATHS_SPACE' ) IN typenames THEN + RETURN( TRUE ); + END_IF; + func := ref; + IF func IN used THEN + RETURN( FALSE ); + END_IF; + IF ( schema_prefix + 'CONSTANT_FUNCTION' ) IN typenames THEN + RETURN( no_cyclic_domain_reference( func\constant_function.source_of_domain, used + [func] ) ); + END_IF; + IF ( schema_prefix + 'SELECTOR_FUNCTION' ) IN typenames THEN + RETURN( no_cyclic_domain_reference( func\selector_function.source_of_domain, used + [func] ) ); + END_IF; + IF ( schema_prefix + 'PARALLEL_COMPOSED_FUNCTION' ) IN typenames THEN + RETURN( no_cyclic_domain_reference( func\parallel_composed_function.source_of_domain, used + [func] ) ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION no_cyclic_space_reference( + spc : maths_space; + refs : SET OF maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING; + refs_plus : SET OF maths_space; + END_LOCAL; + IF spc IN refs THEN + RETURN( FALSE ); + END_IF; + types := TYPEOF( spc ); + refs_plus := refs + spc; + IF ( schema_prefix + 'FINITE_SPACE' ) IN types THEN + RETURN( bool( SIZEOF( QUERY ( sp <* QUERY ( mem <* spc\finite_space.members | ( ( schema_prefix + 'MATHS_SPACE' ) IN + TYPEOF( mem ) ) ) | ( NOT no_cyclic_space_reference( sp, refs_plus ) ) ) ) = 0 ) ); + END_IF; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN types THEN + RETURN( no_cyclic_space_reference( spc\uniform_product_space.base, refs_plus ) ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN types THEN + RETURN( bool( SIZEOF( QUERY ( fac <* spc\listed_product_space.factors | ( NOT no_cyclic_space_reference( fac, refs_plus ) ) ) ) + = 0 ) ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN types THEN + RETURN( no_cyclic_space_reference( spc\extended_tuple_space.base, refs_plus ) AND no_cyclic_space_reference( spc\ + extended_tuple_space.extender, refs_plus ) ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION nondecreasing( + lr : LIST OF REAL + ) : BOOLEAN; + IF NOT EXISTS( lr ) THEN + RETURN( FALSE ); + END_IF; + REPEAT j := 2 TO SIZEOF( lr ) BY 1; + IF lr[j] < lr[j - 1] THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION normalise( + arg : vector_or_direction + ) : vector_or_direction; + + LOCAL + ndim : INTEGER; + v : direction := dummy_gri || direction( [1, 0, 0] ); + result : vector_or_direction; + vec : vector := dummy_gri || vector( v, 1 ); + mag : REAL; + END_LOCAL; + IF NOT EXISTS( arg ) THEN + result := ?; + ELSE + ndim := arg.dim; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF( arg ) THEN + + BEGIN + v := dummy_gri || direction( arg\vector.orientation.direction_ratios ); + IF arg\vector.magnitude = 0 THEN + RETURN( ? ); + ELSE + vec := dummy_gri || vector( v, 1 ); + END_IF; + END; + ELSE + v := dummy_gri || direction( arg.direction_ratios ); + END_IF; + mag := 0; + REPEAT i := 1 TO ndim BY 1; + mag := mag + ( v.direction_ratios[i] * v.direction_ratios[i] ); + END_REPEAT; + IF mag > 0 THEN + mag := SQRT( mag ); + REPEAT i := 1 TO ndim BY 1; + v.direction_ratios[i] := v.direction_ratios[i] / mag; + END_REPEAT; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF( arg ) THEN + vec.orientation := v; + result := vec; + ELSE + result := v; + END_IF; + ELSE + RETURN( ? ); + END_IF; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION number_superspace_of( + spc : maths_space + ) : elementary_space; + IF subspace_of_es( spc, es_integers ) THEN + RETURN( the_integers ); + END_IF; + IF subspace_of_es( spc, es_reals ) THEN + RETURN( the_reals ); + END_IF; + IF subspace_of_es( spc, es_complex_numbers ) THEN + RETURN( the_complex_numbers ); + END_IF; + IF subspace_of_es( spc, es_numbers ) THEN + RETURN( the_numbers ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION number_tuple_subspace_check( + spc : maths_space + ) : LOGICAL; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + factors : LIST OF maths_space; + cum : LOGICAL := TRUE; + END_LOCAL; + IF 'UNIFORM_PRODUCT_SPACE' IN types THEN + RETURN( subspace_of_es( spc\uniform_product_space.base, es_numbers ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN types THEN + factors := spc\listed_product_space.factors; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + cum := cum AND subspace_of_es( factors[i], es_numbers ); + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types THEN + cum := subspace_of_es( spc\extended_tuple_space.extender, es_numbers ); + cum := cum AND number_tuple_subspace_check( spc\extended_tuple_space.base ); + RETURN( cum ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION one_tuples_of( + spc : maths_space + ) : tuple_space; + RETURN( make_uniform_product_space( spc, 1 ) ); + + END_FUNCTION; + + FUNCTION open_path_based_inner_boundary( + input : SET OF primitive_2d + ) : BOOLEAN; + + LOCAL + pass : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( input ) BY 1; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_AREA_WITH_PARAMETERS' IN TYPEOF( input[i] ) ) AND ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE' IN TYPEOF( input[i]\mapped_item.mapping_source\ + representation_map.mapping_origin ) ) OR ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE' IN + TYPEOF( input[i]\mapped_item.mapping_source\representation_map.mapping_origin ) ) AND ( input[i]\mapped_item. + mapping_source\representation_map.mapping_origin\composite_curve.closed_curve = TRUE ) ) ) THEN + pass := FALSE; + END_IF; + END_REPEAT; + RETURN( pass ); + + END_FUNCTION; + + FUNCTION open_shell_reversed( + a_shell : open_shell + ) : oriented_open_shell; + + LOCAL + the_reverse : oriented_open_shell; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_OPEN_SHELL' IN TYPEOF( a_shell ) THEN + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || open_shell( ) || + oriented_open_shell( a_shell\oriented_open_shell.open_shell_element, NOT a_shell\oriented_open_shell.orientation ); + ELSE + the_reverse := dummy_tri || connected_face_set( a_shell\connected_face_set.cfs_faces ) || open_shell( ) || + oriented_open_shell( a_shell, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION orthogonal_complement( + vec : direction + ) : direction; + + LOCAL + result : direction; + END_LOCAL; + IF ( vec.dim <> 2 ) OR ( NOT EXISTS( vec ) ) THEN + RETURN( ? ); + ELSE + result := dummy_gri || direction( [-vec.direction_ratios[2], vec.direction_ratios[1]] ); + RETURN( result ); + END_IF; + + END_FUNCTION; + + FUNCTION parallel_composed_function_composability_check( + funcs : LIST OF maths_function; + final : maths_function_select + ) : BOOLEAN; + + LOCAL + tplsp : tuple_space := the_zero_tuple_space; + finfun : maths_function := convert_to_maths_function( final ); + END_LOCAL; + REPEAT i := 1 TO SIZEOF( funcs ) BY 1; + tplsp := assoc_product_space( tplsp, funcs[i].range ); + END_REPEAT; + RETURN( compatible_spaces( tplsp, finfun.domain ) ); + + END_FUNCTION; + + FUNCTION parallel_composed_function_domain_check( + comdom : tuple_space; + funcs : LIST OF maths_function + ) : BOOLEAN; + REPEAT i := 1 TO SIZEOF( funcs ) BY 1; + IF NOT compatible_spaces( comdom, funcs[i].domain ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION partial_derivative_check( + domain : tuple_space; + d_vars : LIST [1 : ?] OF input_selector + ) : BOOLEAN; + + LOCAL + domn : tuple_space := domain; + fspc : maths_space; + dim : INTEGER; + k : INTEGER; + END_LOCAL; + IF ( space_dimension( domain ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( domain ) ) ) THEN + domn := factor1( domain ); + END_IF; + dim := space_dimension( domn ); + REPEAT i := 1 TO SIZEOF( d_vars ) BY 1; + k := d_vars[i]; + IF k > dim THEN + RETURN( FALSE ); + END_IF; + fspc := factor_space( domn, k ); + IF ( NOT subspace_of_es( fspc, es_reals ) ) AND ( NOT subspace_of_es( fspc, es_complex_numbers ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION path_head_to_tail( + a_path : path + ) : LOGICAL; + + LOCAL + n : INTEGER; + p : LOGICAL := TRUE; + END_LOCAL; + n := SIZEOF( a_path.edge_list ); + REPEAT i := 2 TO n BY 1; + p := p AND ( a_path.edge_list[i - 1].edge_end :=: a_path.edge_list[i].edge_start ); + END_REPEAT; + RETURN( p ); + + END_FUNCTION; + + FUNCTION path_reversed( + a_path : path + ) : oriented_path; + + LOCAL + the_reverse : oriented_path; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_PATH' IN TYPEOF( a_path ) THEN + the_reverse := dummy_tri || path( list_of_topology_reversed( a_path.edge_list ) ) || oriented_path( a_path\oriented_path. + path_element, NOT a_path\oriented_path.orientation ); + ELSE + the_reverse := dummy_tri || path( list_of_topology_reversed( a_path.edge_list ) ) || oriented_path( a_path, FALSE ); + END_IF; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION plane_angle_for_pair_in_radian( + pair : kinematic_pair; + angle : plane_angle_measure + ) : plane_angle_measure; + + LOCAL + converted_angle : plane_angle_measure := angle; + link_rep : kinematic_link_representation := representation_of_link( pair.joint.edge_start ); + link_cntxt : representation_context; + pa_units : SET OF unit := []; + pau : unit; + END_LOCAL; + link_cntxt := link_rep\representation.context_of_items; + IF NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF( link_cntxt ) ) THEN + RETURN( ? ); + END_IF; + pa_units := QUERY ( unit <* link_cntxt\global_unit_assigned_context.units | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF( unit ) ) ); + IF SIZEOF( pa_units ) <> 1 THEN + RETURN( ? ); + END_IF; + pau := pa_units[1]; + IF ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SI_UNIT' IN TYPEOF( pau ) ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF( pau ) ) ) THEN + RETURN( ? ); + END_IF; + REPEAT WHILE 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF( pau ); + converted_angle := converted_angle * pau\conversion_based_unit.conversion_factor.value_component; + pau := pau\conversion_based_unit.conversion_factor.unit_component; + IF ( ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SI_UNIT' IN TYPEOF( pau ) ) ) AND ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF( pau ) ) ) ) OR ( NOT ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF( pau ) ) ) THEN + RETURN( ? ); + END_IF; + END_REPEAT; + IF pau\si_unit.name <> si_unit_name.radian THEN + RETURN( ? ); + END_IF; + CASE pau\si_unit.prefix OF + si_prefix.exa : RETURN( 1.e+18 * converted_angle ); + si_prefix.peta : RETURN( 1.e+15 * converted_angle ); + si_prefix.tera : RETURN( 1.e+12 * converted_angle ); + si_prefix.giga : RETURN( 1000000000 * converted_angle ); + si_prefix.mega : RETURN( 1000000 * converted_angle ); + si_prefix.kilo : RETURN( 1000 * converted_angle ); + si_prefix.hecto : RETURN( 100 * converted_angle ); + si_prefix.deca : RETURN( 10 * converted_angle ); + si_prefix.deci : RETURN( 0.1 * converted_angle ); + si_prefix.centi : RETURN( 0.01 * converted_angle ); + si_prefix.milli : RETURN( 0.001 * converted_angle ); + si_prefix.micro : RETURN( 1.e-06 * converted_angle ); + si_prefix.nano : RETURN( 1.e-09 * converted_angle ); + si_prefix.pico : RETURN( 1.e-12 * converted_angle ); + si_prefix.femto : RETURN( 1.e-15 * converted_angle ); + si_prefix.atto : RETURN( 1.e-18 * converted_angle ); + OTHERWISE : RETURN( converted_angle ); + END_CASE; + + END_FUNCTION; + + FUNCTION real_max( + spc : maths_space + ) : REAL; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types THEN + RETURN( spc\finite_integer_interval.max ); + END_IF; + IF ( schema_prefix + 'INTEGER_INTERVAL_TO_MAX' ) IN types THEN + RETURN( spc\integer_interval_to_max.max ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( spc\finite_real_interval.max ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_TO_MAX' ) IN types THEN + RETURN( spc\real_interval_to_max.max ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION real_min( + spc : maths_space + ) : REAL; + + LOCAL + types : SET OF STRING := TYPEOF( spc ); + END_LOCAL; + IF ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN types THEN + RETURN( spc\finite_integer_interval.min ); + END_IF; + IF ( schema_prefix + 'INTEGER_INTERVAL_FROM_MIN' ) IN types THEN + RETURN( spc\integer_interval_from_min.min ); + END_IF; + IF ( schema_prefix + 'FINITE_REAL_INTERVAL' ) IN types THEN + RETURN( spc\finite_real_interval.min ); + END_IF; + IF ( schema_prefix + 'REAL_INTERVAL_FROM_MIN' ) IN types THEN + RETURN( spc\real_interval_from_min.min ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION relating_shape_representations_of_extreme_values( + item : location_of_extreme_value_select + ) : SET OF shape_representation; + + LOCAL + results : SET OF shape_representation := []; + exti : SET OF extreme_instance := []; + ii_ei : SET OF instance_report_item_with_extreme_instances := []; + sdiir : SET OF shape_data_quality_inspection_instance_report := []; + sdqr : SET OF shape_data_quality_inspection_result_representation := []; + sdisr : SET OF shape_data_quality_inspected_shape_and_result_relationship := []; + END_LOCAL; + exti := exti + bag_to_set( USEDIN( item, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'EXTREME_INSTANCE.' + + 'LOCATIONS_OF_EXTREME_VALUE' ) ); + REPEAT i := 1 TO HIINDEX( exti ) BY 1; + ii_ei := ii_ei + bag_to_set( USEDIN( exti[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES.' + 'EXTREME_INSTANCES' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( ii_ei ) BY 1; + sdiir := sdiir + bag_to_set( USEDIN( ii_ei[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT.' + 'INSPECTED_INSTANCES' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( sdiir ) BY 1; + sdqr := sdqr + QUERY ( i1 <* bag_to_set( USEDIN( sdiir[i].inspection_result, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS' ) ) | ( ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' ) IN + TYPEOF( i1 ) ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( sdqr ) BY 1; + sdisr := sdisr + bag_to_set( USEDIN( sdqr[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.' + 'REP_2' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( sdisr ) BY 1; + results := results + sdisr[i].rep_1; + END_REPEAT; + RETURN( results ); + + END_FUNCTION; + + FUNCTION remove_first( + alist : LIST OF GENERIC:gen + ) : LIST OF GENERIC:gen; + + LOCAL + blist : LIST OF GENERIC:gen := alist; + END_LOCAL; + IF SIZEOF( blist ) > 0 THEN + REMOVE( blist, 1 ); + END_IF; + RETURN( blist ); + + END_FUNCTION; + + FUNCTION repackage( + tspace : tuple_space; + repckg : repackage_options + ) : tuple_space; + CASE repckg OF + ro_nochange : RETURN( tspace ); + ro_wrap_as_tuple : RETURN( one_tuples_of( tspace ) ); + ro_unwrap_tuple : RETURN( factor1( tspace ) ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION representation_of_link( + link : kinematic_link + ) : kinematic_link_representation; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION scalar_times_vector( + scalar : REAL; + vec : vector_or_direction + ) : vector; + + LOCAL + v : direction; + mag : REAL; + result : vector; + END_LOCAL; + IF ( NOT EXISTS( scalar ) ) OR ( NOT EXISTS( vec ) ) THEN + RETURN( ? ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF( vec ) THEN + v := dummy_gri || direction( vec\vector.orientation.direction_ratios ); + mag := scalar * vec\vector.magnitude; + ELSE + v := dummy_gri || direction( vec.direction_ratios ); + mag := scalar; + END_IF; + IF mag < 0 THEN + REPEAT i := 1 TO SIZEOF( v.direction_ratios ) BY 1; + v.direction_ratios[i] := -v.direction_ratios[i]; + END_REPEAT; + mag := -mag; + END_IF; + result := dummy_gri || vector( normalise( v ), mag ); + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION second_proj_axis( + z_axis, x_axis, arg : direction + ) : direction; + + LOCAL + y_axis : vector; + v : direction; + temp : vector; + END_LOCAL; + IF NOT EXISTS( arg ) THEN + v := dummy_gri || direction( [0, 1, 0] ); + ELSE + v := arg; + END_IF; + temp := scalar_times_vector( dot_product( v, z_axis ), z_axis ); + y_axis := vector_difference( v, temp ); + temp := scalar_times_vector( dot_product( v, x_axis ), x_axis ); + y_axis := vector_difference( y_axis, temp ); + y_axis := normalise( y_axis ); + RETURN( y_axis.orientation ); + + END_FUNCTION; + + FUNCTION set_of_topology_reversed( + a_set : set_of_reversible_topology_item + ) : set_of_reversible_topology_item; + + LOCAL + the_reverse : set_of_reversible_topology_item; + END_LOCAL; + the_reverse := []; + REPEAT i := 1 TO SIZEOF( a_set ) BY 1; + the_reverse := the_reverse + topology_reversed( a_set[i] ); + END_REPEAT; + RETURN( the_reverse ); + + END_FUNCTION; + + FUNCTION shape_of_array( + func : maths_function + ) : LIST OF positive_integer; + + LOCAL + tspace : tuple_space; + temp : maths_space; + result : LIST OF positive_integer := []; + END_LOCAL; + IF ( schema_prefix + 'EXPLICIT_TABLE_FUNCTION' ) IN TYPEOF( func ) THEN + RETURN( func\explicit_table_function.shape ); + END_IF; + tspace := func.domain; + IF ( space_dimension( tspace ) = 1 ) AND ( ( schema_prefix + 'TUPLE_SPACE' ) IN TYPEOF( factor1( tspace ) ) ) THEN + tspace := factor1( tspace ); + END_IF; + REPEAT i := 1 TO space_dimension( tspace ) BY 1; + temp := factor_space( tspace, i ); + IF NOT ( ( schema_prefix + 'FINITE_INTEGER_INTERVAL' ) IN TYPEOF( temp ) ) THEN + RETURN( ? ); + END_IF; + INSERT( result, temp\finite_integer_interval.size, i - 1 ); + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION shell_reversed( + a_shell : shell + ) : shell; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_SHELL' IN TYPEOF( a_shell ) THEN + RETURN( open_shell_reversed( a_shell ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_SHELL' IN TYPEOF( a_shell ) THEN + RETURN( closed_shell_reversed( a_shell ) ); + ELSE + RETURN( ? ); + END_IF; + END_IF; + + END_FUNCTION; + + FUNCTION simplify_function_application( + expr : function_application + ) : maths_value; + + FUNCTION ctmv( + x : GENERIC:g + ) : maths_value; + RETURN( convert_to_maths_value( x ) ); + + END_FUNCTION; + + FUNCTION good_t( + v : maths_value; + tn : STRING + ) : BOOLEAN; + + LOCAL + tpl : LIST OF maths_value; + END_LOCAL; + IF 'LIST' IN TYPEOF( v ) THEN + tpl := v; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + IF NOT ( tn IN TYPEOF( tpl[i] ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION makec( + x, y : REAL + ) : complex_number_literal; + RETURN( make_complex_number_literal( x, y ) ); + + END_FUNCTION; + + PROCEDURE parts( + c : complex_number_literal; + VAR x, y : REAL ); + x := c.real_part; + y := c.imag_part; + + END_PROCEDURE; + + CONSTANT + cnlit : STRING := + schema_prefix + + + 'COMPLEX_NUMBER_LITERAL' ; + END_CONSTANT; + + LOCAL + types : SET OF STRING := stripped_typeof( expr.func ); + ef_val : elementary_function_enumerators; + is_elementary : BOOLEAN := FALSE; + v : maths_value; + v1 : maths_value; + v2 : maths_value; + v3 : maths_value; + vlist : LIST OF maths_value := []; + gexpr : generic_expression; + pairs : SET [1 : ?] OF LIST [2 : 2] OF maths_value; + boo : BOOLEAN; + lgc : LOGICAL; + cum : LOGICAL; + j : INTEGER; + k : INTEGER; + n : INTEGER; + p : REAL; + q : REAL; + r : REAL; + s : REAL; + t : REAL; + u : REAL; + str : STRING; + st2 : STRING; + bin : BINARY; + bi2 : BINARY; + tpl : LIST OF maths_value; + tp2 : LIST OF maths_value; + mem : SET OF maths_value := []; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( expr.arguments ) BY 1; + v := simplify_maths_value( expr.arguments[i] ); + INSERT( vlist, v, i - 1 ); + END_REPEAT; + IF SIZEOF( vlist ) >= 1 THEN + v1 := vlist[1]; + END_IF; + IF SIZEOF( vlist ) >= 2 THEN + v2 := vlist[2]; + END_IF; + IF SIZEOF( vlist ) >= 3 THEN + v3 := vlist[3]; + END_IF; + IF 'ELEMENTARY_FUNCTION_ENUMERATORS' IN types THEN + ef_val := expr.func; + is_elementary := TRUE; + END_IF; + IF 'ELEMENTARY_FUNCTION' IN types THEN + ef_val := expr.func\elementary_function.func_id; + is_elementary := TRUE; + END_IF; + IF is_elementary THEN + CASE ef_val OF + ef_and : + BEGIN + cum := TRUE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'LOGICAL' IN TYPEOF( vlist[i] ) THEN + lgc := vlist[i]; + cum := cum AND lgc; + IF lgc = FALSE THEN + RETURN( ctmv( FALSE ) ); + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( cum ) ); + END_IF; + IF cum <> TRUE THEN + INSERT( vlist, ctmv( cum ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_or : + BEGIN + cum := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'LOGICAL' IN TYPEOF( vlist[i] ) THEN + lgc := vlist[i]; + cum := cum OR lgc; + IF lgc = TRUE THEN + RETURN( ctmv( TRUE ) ); + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( cum ) ); + END_IF; + IF cum <> FALSE THEN + INSERT( vlist, ctmv( cum ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_not : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + RETURN( ctmv( NOT lgc ) ); + END_IF; + ef_xor : + BEGIN + IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF 'LOGICAL' IN TYPEOF( v2 ) THEN + cum := v2; + RETURN( ctmv( lgc XOR cum ) ); + ELSE + IF lgc = FALSE THEN + RETURN( ctmv( v2 ) ); + ELSE + IF lgc = UNKNOWN THEN + RETURN( ctmv( UNKNOWN ) ); + ELSE + RETURN( make_function_application( ef_not, [v2] ) ); + END_IF; + END_IF; + END_IF; + ELSE + IF 'LOGICAL' IN TYPEOF( v2 ) THEN + lgc := v2; + IF lgc = FALSE THEN + RETURN( ctmv( v1 ) ); + ELSE + IF lgc = UNKNOWN THEN + RETURN( ctmv( UNKNOWN ) ); + ELSE + RETURN( make_function_application( ef_not, [v1] ) ); + END_IF; + END_IF; + END_IF; + END_IF; + END; + ef_negate_i : IF 'INTEGER' IN TYPEOF( v1 ) THEN + j := v1; + RETURN( ctmv( -j ) ); + END_IF; + ef_add_i : + BEGIN + j := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + k := vlist[i]; + j := j + k; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF j <> 0 THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j - k ) ); + END_IF; + ef_multiply_i : + BEGIN + j := 1; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + k := vlist[i]; + j := j * k; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF j <> 1 THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_divide_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j DIV k ) ); + END_IF; + ef_mod_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j MOD k ) ); + END_IF; + ef_exponentiate_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + n := 1; + REPEAT i := 1 TO ABS( k ) BY 1; + n := n * j; + END_REPEAT; + IF k < 0 THEN + n := 1 DIV n; + END_IF; + RETURN( ctmv( n ) ); + END_IF; + ef_eq_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j = k ) ); + END_IF; + ef_ne_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j <> k ) ); + END_IF; + ef_gt_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j > k ) ); + END_IF; + ef_lt_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j < k ) ); + END_IF; + ef_ge_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j >= k ) ); + END_IF; + ef_le_i : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + j := v1; + k := v2; + RETURN( ctmv( j <= k ) ); + END_IF; + ef_abs_i : IF 'INTEGER' IN TYPEOF( v1 ) THEN + j := v1; + RETURN( ctmv( ABS( j ) ) ); + END_IF; + ef_max_i : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + k := vlist[i]; + IF k > j THEN + j := k; + END_IF; + ELSE + j := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_min_i : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'INTEGER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + k := vlist[i]; + IF k < j THEN + j := k; + END_IF; + ELSE + j := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( j ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( j ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_negate_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( -r ) ); + END_IF; + ef_reciprocal_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( 1 / r ) ); + END_IF; + ef_add_r : + BEGIN + r := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + s := vlist[i]; + r := r + s; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF r <> 0 THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r - s ) ); + END_IF; + ef_multiply_r : + BEGIN + r := 1; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + s := vlist[i]; + r := r * s; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF r <> 1 THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_divide_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r / s ) ); + END_IF; + ef_mod_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + t := r / s; + j := t DIV 1; + IF ( t < 0 ) AND ( j <> t ) THEN + j := j - 1; + END_IF; + RETURN( ctmv( r - ( j * s ) ) ); + END_IF; + ef_exponentiate_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r ** s ) ); + END_IF; + ef_exponentiate_ri : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + r := v1; + k := v2; + t := 1; + REPEAT i := 1 TO ABS( k ) BY 1; + t := t * r; + END_REPEAT; + IF k < 0 THEN + t := 1 / t; + END_IF; + RETURN( ctmv( t ) ); + END_IF; + ef_eq_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r = s ) ); + END_IF; + ef_ne_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r <> s ) ); + END_IF; + ef_gt_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r > s ) ); + END_IF; + ef_lt_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r < s ) ); + END_IF; + ef_ge_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r >= s ) ); + END_IF; + ef_le_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( r <= s ) ); + END_IF; + ef_abs_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( ABS( r ) ) ); + END_IF; + ef_max_r : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + s := vlist[i]; + IF s > r THEN + r := s; + END_IF; + ELSE + r := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_min_r : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'REAL' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + s := vlist[i]; + IF s < r THEN + r := s; + END_IF; + ELSE + r := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( r ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( r ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_acos_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( ACOS( r ) ) ); + END_IF; + ef_asin_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( ASIN( r ) ) ); + END_IF; + ef_atan2_r : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( ctmv( atan2( r, s ) ) ); + END_IF; + ef_cos_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( COS( r ) ) ); + END_IF; + ef_exp_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( EXP( r ) ) ); + END_IF; + ef_ln_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( LOG( r ) ) ); + END_IF; + ef_log2_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( LOG2( r ) ) ); + END_IF; + ef_log10_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( LOG10( r ) ) ); + END_IF; + ef_sin_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( SIN( r ) ) ); + END_IF; + ef_sqrt_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( SQRT( r ) ) ); + END_IF; + ef_tan_r : IF 'REAL' IN TYPEOF( v1 ) THEN + r := v1; + RETURN( ctmv( TAN( r ) ) ); + END_IF; + ef_form_c : IF ( 'REAL' IN TYPEOF( v1 ) ) AND ( 'REAL' IN TYPEOF( v2 ) ) THEN + r := v1; + s := v2; + RETURN( makec( r, s ) ); + END_IF; + ef_rpart_c : IF cnlit IN TYPEOF( v1 ) THEN + RETURN( ctmv( v1\complex_number_literal.real_part ) ); + END_IF; + ef_ipart_c : IF cnlit IN TYPEOF( v1 ) THEN + RETURN( ctmv( v1\complex_number_literal.imag_part ) ); + END_IF; + ef_negate_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( -p, -q ) ); + END_IF; + ef_reciprocal_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := ( p * p ) + ( q * q ); + RETURN( makec( p / t, ( -q ) / t ) ); + END_IF; + ef_add_c : + BEGIN + p := 0; + q := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF cnlit IN TYPEOF( vlist[i] ) THEN + parts( vlist[i], r, s ); + p := p + r; + q := q + s; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( makec( p, q ) ); + END_IF; + IF ( ( p * p ) + ( q * q ) ) <> 0 THEN + INSERT( vlist, makec( p, q ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + RETURN( makec( p - r, q - s ) ); + END_IF; + ef_multiply_c : + BEGIN + p := 1; + q := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF cnlit IN TYPEOF( vlist[i] ) THEN + parts( vlist[i], r, s ); + p := ( p * r ) - ( q * s ); + q := ( p * s ) + ( q * r ); + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( makec( p, q ) ); + END_IF; + IF ( p <> 1 ) OR ( q <> 0 ) THEN + INSERT( vlist, makec( p, q ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_divide_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + t := ( r * r ) + ( s * s ); + RETURN( makec( ( ( p * r ) + ( q * s ) ) / t, ( ( q * r ) - ( p * s ) ) / t ) ); + END_IF; + ef_exponentiate_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + t := 0.5 * LOG( ( p * p ) + ( q * q ) ); + u := atan2( q, p ); + p := ( r * t ) - ( s * u ); + q := ( r * u ) + ( s * t ); + r := EXP( p ); + RETURN( makec( r * COS( q ), r * SIN( q ) ) ); + END_IF; + ef_exponentiate_ci : IF ( cnlit IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + k := v2; + r := 1; + s := 0; + REPEAT i := 1 TO ABS( k ) BY 1; + r := ( p * r ) - ( q * s ); + s := ( p * s ) + ( q * r ); + END_REPEAT; + IF k < 0 THEN + t := ( r * r ) + ( s * s ); + r := r / t; + s := ( -s ) / t; + END_IF; + RETURN( makec( r, s ) ); + END_IF; + ef_eq_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + RETURN( ctmv( ( p = r ) AND ( q = s ) ) ); + END_IF; + ef_ne_c : IF ( cnlit IN TYPEOF( v1 ) ) AND ( cnlit IN TYPEOF( v2 ) ) THEN + parts( v1, p, q ); + parts( v2, r, s ); + RETURN( ctmv( ( p <> r ) OR ( q <> s ) ) ); + END_IF; + ef_conjugate_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( p, -q ) ); + END_IF; + ef_abs_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( ctmv( SQRT( ( p * p ) + ( q * q ) ) ) ); + END_IF; + ef_arg_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( ctmv( atan2( q, p ) ) ); + END_IF; + ef_cos_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := 0.5 * EXP( -q ); + u := 0.5 * EXP( q ); + RETURN( makec( ( t + u ) * COS( p ), ( t - u ) * SIN( p ) ) ); + END_IF; + ef_exp_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( EXP( p ) * COS( q ), EXP( p ) * SIN( q ) ) ); + END_IF; + ef_ln_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + RETURN( makec( 0.5 * LOG( ( p * p ) + ( q * q ) ), atan2( q, p ) ) ); + END_IF; + ef_sin_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := 0.5 * EXP( -q ); + u := 0.5 * EXP( q ); + RETURN( makec( ( t + u ) * SIN( p ), ( u - t ) * COS( p ) ) ); + END_IF; + ef_sqrt_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := SQRT( SQRT( ( p * p ) + ( q * q ) ) ); + u := 0.5 * atan2( q, p ); + RETURN( makec( t * COS( u ), t * SIN( u ) ) ); + END_IF; + ef_tan_c : IF cnlit IN TYPEOF( v1 ) THEN + parts( v1, p, q ); + t := EXP( 2 * q ) + EXP( ( -2 ) * q ) + ( 2 * COS( 2 * p ) ); + RETURN( makec( ( 2 * SIN( 2 * p ) ) / t, ( EXP( ( -2 ) * q ) - EXP( 2 * q ) ) / t ) ); + END_IF; + ef_subscript_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + str := v1; + k := v2; + RETURN( ctmv( str[k] ) ); + END_IF; + ef_eq_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str = st2 ) ); + END_IF; + ef_ne_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str <> st2 ) ); + END_IF; + ef_gt_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str > st2 ) ); + END_IF; + ef_lt_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str < st2 ) ); + END_IF; + ef_ge_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str >= st2 ) ); + END_IF; + ef_le_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + str := v1; + st2 := v2; + RETURN( ctmv( str <= st2 ) ); + END_IF; + ef_subsequence_s : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) AND ( 'INTEGER' IN + TYPEOF( v3 ) ) THEN + str := v1; + j := v2; + k := v3; + RETURN( ctmv( str[j : k] ) ); + END_IF; + ef_concat_s : + BEGIN + str := ''; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'STRING' IN TYPEOF( vlist[i] ) THEN + st2 := vlist[i]; + str := str + st2; + REMOVE( vlist, i ); + ELSE + IF str <> '' THEN + INSERT( vlist, ctmv( str ), i ); + str := ''; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( str ) ); + END_IF; + IF str <> '' THEN + INSERT( vlist, ctmv( str ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_size_s : IF 'STRING' IN TYPEOF( v1 ) THEN + str := v1; + RETURN( ctmv( LENGTH( str ) ) ); + END_IF; + ef_format : IF ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + RETURN( ctmv( FORMAT( v1, v2 ) ) ); + END_IF; + ef_value : IF 'STRING' IN TYPEOF( v1 ) THEN + str := v1; + RETURN( ctmv( VALUE( str ) ) ); + END_IF; + ef_like : IF ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + RETURN( ctmv( v1 LIKE v2 ) ); + END_IF; + ef_subscript_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + bin := v1; + k := v2; + RETURN( ctmv( bin[k] ) ); + END_IF; + ef_eq_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin = bi2 ) ); + END_IF; + ef_ne_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin <> bi2 ) ); + END_IF; + ef_gt_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin > bi2 ) ); + END_IF; + ef_lt_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin < bi2 ) ); + END_IF; + ef_ge_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin >= bi2 ) ); + END_IF; + ef_le_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'BINARY' IN TYPEOF( v2 ) ) THEN + bin := v1; + bi2 := v2; + RETURN( ctmv( bin <= bi2 ) ); + END_IF; + ef_subsequence_b : IF ( 'BINARY' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) AND ( 'INTEGER' IN + TYPEOF( v3 ) ) THEN + bin := v1; + j := v2; + k := v3; + RETURN( ctmv( bin[j : k] ) ); + END_IF; + ef_concat_b : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'BINARY' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + bi2 := vlist[i]; + bin := bin + bi2; + ELSE + bin := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( vlist, i ); + ELSE + IF boo THEN + INSERT( vlist, ctmv( bin ), i ); + boo := FALSE; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( bin ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( bin ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_size_b : IF 'BINARY' IN TYPEOF( v1 ) THEN + bin := v1; + RETURN( ctmv( BLENGTH( bin ) ) ); + END_IF; + ef_subscript_t : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + tpl := v1; + k := v2; + RETURN( ctmv( tpl[k] ) ); + END_IF; + ef_eq_t : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'LIST' IN TYPEOF( v2 ) ) THEN + lgc := equal_maths_values( v1, v2 ); + IF lgc <> UNKNOWN THEN + RETURN( ctmv( lgc ) ); + END_IF; + END_IF; + ef_ne_t : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'LIST' IN TYPEOF( v2 ) ) THEN + lgc := equal_maths_values( v1, v2 ); + IF lgc <> UNKNOWN THEN + RETURN( ctmv( NOT lgc ) ); + END_IF; + END_IF; + ef_concat_t : + BEGIN + tpl := []; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'STRING' IN TYPEOF( vlist[i] ) THEN + tp2 := vlist[i]; + tpl := tpl + tp2; + REMOVE( vlist, i ); + ELSE + IF SIZEOF( tpl ) <> 0 THEN + INSERT( vlist, ctmv( tpl ), i ); + tpl := []; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF SIZEOF( tpl ) <> 0 THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_size_t : IF 'LIST' IN TYPEOF( v1 ) THEN + tpl := v1; + RETURN( ctmv( SIZEOF( tpl ) ) ); + END_IF; + ef_entuple : RETURN( ctmv( vlist ) ); + ef_detuple : IF 'LIST' IN TYPEOF( v1 ) THEN + tpl := v1; + RETURN( ctmv( tpl[1] ) ); + END_IF; + ef_insert : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v3 ) ) THEN + tpl := v1; + k := v3; + INSERT( tpl, v2, k ); + RETURN( ctmv( tpl ) ); + END_IF; + ef_remove : IF ( 'LIST' IN TYPEOF( v1 ) ) AND ( 'INTEGER' IN TYPEOF( v2 ) ) THEN + tpl := v1; + k := v2; + REMOVE( tpl, k ); + RETURN( ctmv( tpl ) ); + END_IF; + ef_sum_it : IF good_t( v1, 'INTEGER' ) THEN + tpl := v1; + j := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + j := j + tpl[i]; + END_REPEAT; + RETURN( ctmv( j ) ); + END_IF; + ef_product_it : IF good_t( v1, 'INTEGER' ) THEN + tpl := v1; + j := 1; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + j := j * tpl[i]; + END_REPEAT; + RETURN( ctmv( j ) ); + END_IF; + ef_add_it : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF good_t( vlist[i], 'INTEGER' ) THEN + IF NOT boo THEN + tpl := vlist[i]; + boo := TRUE; + ELSE + tp2 := vlist[i]; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT l := 1 TO SIZEOF( tpl ) BY 1; + tpl[j] := tpl[j] + tp2[j]; + END_REPEAT; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_it : IF good_t( v1, 'INTEGER' ) AND good_t( v2, 'INTEGER' ) THEN + tpl := v1; + tp2 := v2; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := tpl[i] - tp2[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_scalar_mult_it : IF ( 'INTEGER' IN TYPEOF( v1 ) ) AND good_t( v2, 'INTEGER' ) THEN + j := v1; + tpl := v2; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := j * tpl[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_dot_prod_it : IF good_t( v1, 'INTEGER' ) AND good_t( v2, 'INTEGER' ) THEN + tpl := v1; + tp2 := v2; + j := 0; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + j := j + ( tpl[i] * tp2[i] ); + END_REPEAT; + RETURN( ctmv( j ) ); + END_IF; + ef_sum_rt : IF good_t( v1, 'REAL' ) THEN + tpl := v1; + r := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r + tpl[i]; + END_REPEAT; + RETURN( ctmv( r ) ); + END_IF; + ef_product_rt : IF good_t( v1, 'REAL' ) THEN + tpl := v1; + r := 1; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r * tpl[i]; + END_REPEAT; + RETURN( ctmv( r ) ); + END_IF; + ef_add_rt : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF good_t( vlist[i], 'REAL' ) THEN + IF NOT boo THEN + tpl := vlist[i]; + boo := TRUE; + ELSE + tp2 := vlist[i]; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT l := 1 TO SIZEOF( tpl ) BY 1; + tpl[j] := tpl[j] + tp2[j]; + END_REPEAT; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_rt : IF good_t( v1, 'REAL' ) AND good_t( v2, 'REAL' ) THEN + tpl := v1; + tp2 := v2; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := tpl[i] - tp2[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_scalar_mult_rt : IF ( 'REAL' IN TYPEOF( v1 ) ) AND good_t( v2, 'REAL' ) THEN + r := v1; + tpl := v2; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + tpl[i] := r * tpl[i]; + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_dot_prod_rt : IF good_t( v1, 'REAL' ) AND good_t( v2, 'REAL' ) THEN + tpl := v1; + tp2 := v2; + r := 0; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r + ( tpl[i] * tp2[i] ); + END_REPEAT; + RETURN( ctmv( r ) ); + END_IF; + ef_norm_rt : IF good_t( v1, 'REAL' ) THEN + tpl := v1; + r := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + r := r + ( tpl[i] * tpl[i] ); + END_REPEAT; + RETURN( ctmv( SQRT( r ) ) ); + END_IF; + ef_sum_ct : IF good_t( v1, cnlit ) THEN + tpl := v1; + p := 0; + q := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], r, s ); + p := p + r; + q := q + s; + END_REPEAT; + RETURN( makec( p, q ) ); + END_IF; + ef_product_ct : IF good_t( v1, cnlit ) THEN + tpl := v1; + p := 1; + q := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], r, s ); + p := ( p * r ) - ( q * s ); + q := ( p * s ) + ( q * r ); + END_REPEAT; + RETURN( makec( p, q ) ); + END_IF; + ef_add_ct : + BEGIN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF good_t( vlist[i], cnlit ) THEN + IF NOT boo THEN + tpl := vlist[i]; + boo := TRUE; + ELSE + tp2 := vlist[i]; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT l := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[j], p, q ); + parts( tp2[j], r, s ); + tpl[j] := makec( p + r, q + s ); + END_REPEAT; + END_IF; + REMOVE( vlist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( vlist ) = 0 THEN + RETURN( ctmv( tpl ) ); + END_IF; + IF boo THEN + INSERT( vlist, ctmv( tpl ), 0 ); + END_IF; + IF SIZEOF( vlist ) = 1 THEN + RETURN( vlist[1] ); + END_IF; + END; + ef_subtract_ct : IF good_t( v1, cnlit ) AND good_t( v2, cnlit ) THEN + tpl := v1; + tp2 := v2; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], p, q ); + parts( tp2[i], r, s ); + tpl[i] := makec( p - r, q - s ); + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_scalar_mult_ct : IF ( cnlit IN TYPEOF( v1 ) ) AND good_t( v2, cnlit ) THEN + parts( v1, p, q ); + tpl := v2; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], r, s ); + tpl[i] := makec( ( p * r ) - ( q * s ), ( p * s ) + ( q * r ) ); + END_REPEAT; + RETURN( ctmv( tpl ) ); + END_IF; + ef_dot_prod_ct : IF good_t( v1, cnlit ) AND good_t( v2, cnlit ) THEN + tpl := v1; + tp2 := v2; + t := 0; + u := 0; + IF SIZEOF( tpl ) <> SIZEOF( tp2 ) THEN + RETURN( ? ); + END_IF; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], p, q ); + parts( tp2[i], r, s ); + t := t + ( p * r ) + ( q * s ); + u := ( u + ( q * r ) ) - ( p * s ); + END_REPEAT; + RETURN( makec( t, u ) ); + END_IF; + ef_norm_ct : IF good_t( v1, cnlit ) THEN + tpl := v1; + r := 0; + REPEAT i := 1 TO SIZEOF( tpl ) BY 1; + parts( tpl[i], p, q ); + r := r + ( p * p ) + ( q * q ); + END_REPEAT; + RETURN( ctmv( SQRT( r ) ) ); + END_IF; + ef_if : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_i : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_r : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_c : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_s : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_b : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_if_t : IF 'LOGICAL' IN TYPEOF( v1 ) THEN + lgc := v1; + IF lgc THEN + RETURN( v2 ); + ELSE + RETURN( v3 ); + END_IF; + END_IF; + ef_ensemble : RETURN( make_finite_space( mem + vlist ) ); + ef_member_of : IF ( schema_prefix + 'MATHS_SPACE' ) IN TYPEOF( v2 ) THEN + lgc := member_of( v1, v2 ); + IF lgc <> UNKNOWN THEN + RETURN( ctmv( lgc ) ); + END_IF; + END_IF; + END_CASE; + RETURN( make_function_application( expr.func, vlist ) ); + END_IF; + IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN types THEN + gexpr := substitute( expr.func\abstracted_expression_function.expr, expr.func\quantifier_expression.variables, vlist ); + RETURN( simplify_generic_expression( gexpr ) ); + END_IF; + IF 'FINITE_FUNCTION' IN types THEN + pairs := expr.func\finite_function.pairs; + REPEAT i := 1 TO SIZEOF( pairs ) BY 1; + IF equal_maths_values( vlist[1], pairs[i][1] ) THEN + RETURN( simplify_maths_value( pairs[i][2] ) ); + END_IF; + END_REPEAT; + RETURN( make_function_application( expr.func, vlist ) ); + END_IF; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION simplify_generic_expression( + expr : generic_expression + ) : maths_value; + + FUNCTION make_number_literal( + nmb : NUMBER + ) : generic_literal; + IF 'INTEGER' IN TYPEOF( nmb ) THEN + RETURN( make_int_literal( nmb ) ); + END_IF; + RETURN( make_real_literal( nmb ) ); + + END_FUNCTION; + + FUNCTION restore_binary( + expr : binary_generic_expression; + opd1, opd2 : generic_expression + ) : generic_expression; + expr.operands[1] := opd1; + expr.operands[2] := opd2; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION restore_mulary( + expr : multiple_arity_generic_expression; + ops : LIST OF generic_expression + ) : generic_expression; + expr.operands := ops; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION restore_unary( + expr : unary_generic_expression; + opnd : generic_expression + ) : generic_expression; + expr.operand := opnd; + RETURN( expr ); + + END_FUNCTION; + + LOCAL + types : SET OF STRING := stripped_typeof( expr ); + v1 : maths_value; + v2 : maths_value; + vlist : LIST OF maths_value := []; + op1 : generic_expression; + op2 : generic_expression; + oplist : LIST OF generic_expression := []; + opnds : LIST [2 : ?] OF generic_expression; + n : INTEGER; + m : INTEGER; + finfun : maths_function_select; + boo : BOOLEAN; + str : STRING; + nmb : NUMBER; + END_LOCAL; + IF 'INT_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\int_literal.the_value ) ); + END_IF; + IF 'REAL_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\real_literal.the_value ) ); + END_IF; + IF 'BOOLEAN_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\boolean_literal.the_value ) ); + END_IF; + IF 'STRING_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\string_literal.the_value ) ); + END_IF; + IF 'COMPLEX_NUMBER_LITERAL' IN types THEN + RETURN( expr ); + END_IF; + IF 'LOGICAL_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\logical_literal.lit_value ) ); + END_IF; + IF 'BINARY_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\binary_literal.lit_value ) ); + END_IF; + IF 'MATHS_ENUM_LITERAL' IN types THEN + RETURN( expr\maths_enum_literal.lit_value ); + END_IF; + IF 'REAL_TUPLE_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\real_tuple_literal.lit_value ) ); + END_IF; + IF 'INTEGER_TUPLE_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\integer_tuple_literal.lit_value ) ); + END_IF; + IF 'ATOM_BASED_LITERAL' IN types THEN + RETURN( expr\atom_based_literal.lit_value ); + END_IF; + IF 'MATHS_TUPLE_LITERAL' IN types THEN + RETURN( convert_to_maths_value( expr\maths_tuple_literal.lit_value ) ); + END_IF; + IF 'MATHS_SPACE' IN types THEN + RETURN( simplify_maths_space( expr ) ); + END_IF; + IF 'FUNCTION_APPLICATION' IN types THEN + RETURN( simplify_function_application( expr ) ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN types THEN + v1 := simplify_generic_expression( expr\unary_generic_expression.operand ); + op1 := convert_to_operand( v1 ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN types THEN + v1 := simplify_generic_expression( expr\binary_generic_expression.operands[1] ); + op1 := convert_to_operand( v1 ); + v2 := simplify_generic_expression( expr\binary_generic_expression.operands[2] ); + op2 := convert_to_operand( v2 ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN + opnds := expr\multiple_arity_generic_expression.operands; + REPEAT i := 1 TO SIZEOF( opnds ) BY 1; + v1 := simplify_generic_expression( opnds[i] ); + INSERT( vlist, v1, i - 1 ); + INSERT( oplist, convert_to_operand( v1 ), i - 1 ); + END_REPEAT; + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN + v1 := vlist[1]; + n := SIZEOF( vlist ); + finfun := vlist[n]; + REMOVE( vlist, n ); + REMOVE( vlist, 1 ); + RETURN( make_parallel_composed_function( v1, vlist, finfun ) ); + END_IF; + IF ( 'ABS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ABS( v1 ) ) ); + END_IF; + IF ( 'ACOS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ACOS( v1 ) ) ); + END_IF; + IF 'AND_EXPRESSION' IN types THEN + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'BOOLEAN' IN TYPEOF( vlist[i] ) THEN + boo := vlist[i]; + IF NOT boo THEN + RETURN( convert_to_maths_value( FALSE ) ); + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( TRUE ) ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'ASIN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ASIN( v1 ) ) ); + END_IF; + IF ( 'ATAN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( ATAN( v1, v2 ) ) ); + END_IF; + IF ( 'COMPARISON_EXPRESSION' IN types ) AND ( ( ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) ) OR ( ( 'STRING' + IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) ) OR ( ( 'BOOLEAN' IN TYPEOF( v1 ) ) AND ( 'BOOLEAN' IN TYPEOF( v2 ) ) ) ) + THEN + IF 'COMPARISON_EQUAL' IN types THEN + boo := bool( v1 = v2 ); + ELSE + IF 'COMPARISON_GREATER' IN types THEN + boo := bool( v1 > v2 ); + ELSE + IF 'COMPARISON_GREATER_EQUAL' IN types THEN + boo := bool( v1 >= v2 ); + ELSE + IF 'COMPARISON_LESS' IN types THEN + boo := bool( v1 < v2 ); + ELSE + IF 'COMPARISON_LESS_EQUAL' IN types THEN + boo := bool( v1 <= v2 ); + ELSE + IF 'COMPARISON_NOT_EQUAL' IN types THEN + boo := bool( v1 <> v2 ); + ELSE + IF 'LIKE_EXPRESSION' IN types THEN + boo := bool( v1 LIKE v2 ); + ELSE + RETURN( ? ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( convert_to_maths_value( boo ) ); + END_IF; + IF 'CONCAT_EXPRESSION' IN types THEN + str := ''; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'STRING' IN TYPEOF( vlist[i] ) THEN + str := vlist[i] + str; + REMOVE( oplist, i ); + ELSE + IF LENGTH( str ) > 0 THEN + INSERT( oplist, make_string_literal( str ), i ); + str := ''; + END_IF; + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( str ) ); + END_IF; + IF LENGTH( str ) > 0 THEN + INSERT( oplist, make_string_literal( str ), 0 ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'COS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( COS( v1 ) ) ); + END_IF; + IF ( 'DIV_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 DIV v2 ) ); + END_IF; + IF 'EQUALS_EXPRESSION' IN types THEN + opnds := expr\binary_generic_expression.operands; + RETURN( convert_to_maths_value( opnds[1] :=: opnds[2] ) ); + END_IF; + IF ( 'EXP_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( EXP( v1 ) ) ); + END_IF; + IF ( 'FORMAT_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'STRING' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( FORMAT( v1, v2 ) ) ); + END_IF; + IF ( 'INDEX_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + str := v1; + n := v2; + RETURN( convert_to_maths_value( str[n] ) ); + END_IF; + IF ( 'INT_VALUE_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( VALUE( v1 ) ) ); + END_IF; + IF 'INTERVAL_EXPRESSION' IN types THEN + str := ''; + IF 'NUMBER' IN TYPEOF( vlist[1] ) THEN + str := 'NUMBER'; + END_IF; + IF 'STRING' IN TYPEOF( vlist[1] ) THEN + str := 'STRING'; + END_IF; + IF 'BOOLEAN' IN TYPEOF( vlist[1] ) THEN + str := 'BOOLEAN'; + END_IF; + IF ( LENGTH( str ) > 0 ) AND ( str IN TYPEOF( vlist[2] ) ) AND ( str IN TYPEOF( vlist[3] ) ) THEN + RETURN( convert_to_maths_value( ( vlist[1] <= vlist[2] ) AND ( vlist[2] <= vlist[3] ) ) ); + END_IF; + END_IF; + IF ( 'LENGTH_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LENGTH( v1 ) ) ); + END_IF; + IF ( 'LOG_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LOG( v1 ) ) ); + END_IF; + IF ( 'LOG10_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LOG10( v1 ) ) ); + END_IF; + IF ( 'LOG2_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( LOG2( v1 ) ) ); + END_IF; + IF 'MAXIMUM_EXPRESSION' IN types THEN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + IF nmb < vlist[i] THEN + nmb := vlist[i]; + END_IF; + ELSE + nmb := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF boo THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + END_IF; + IF 'MINIMUM_EXPRESSION' IN types THEN + boo := FALSE; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + IF boo THEN + IF nmb > vlist[i] THEN + nmb := vlist[i]; + END_IF; + ELSE + nmb := vlist[i]; + boo := TRUE; + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF boo THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + END_IF; + IF ( 'MINUS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 - v2 ) ); + END_IF; + IF ( 'MOD_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 MOD v2 ) ); + END_IF; + IF 'MULT_EXPRESSION' IN types THEN + nmb := 1; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + nmb := nmb * vlist[i]; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF nmb <> 1 THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'NOT_EXPRESSION' IN types ) AND ( 'BOOLEAN' IN TYPEOF( v1 ) ) THEN + boo := v1; + RETURN( convert_to_maths_value( NOT boo ) ); + END_IF; + IF ( 'ODD_EXPRESSION' IN types ) AND ( 'INTEGER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( ODD( v1 ) ) ); + END_IF; + IF 'OR_EXPRESSION' IN types THEN + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'BOOLEAN' IN TYPEOF( vlist[i] ) THEN + boo := vlist[i]; + IF boo THEN + RETURN( convert_to_maths_value( TRUE ) ); + END_IF; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( FALSE ) ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF 'PLUS_EXPRESSION' IN types THEN + nmb := 0; + REPEAT i := SIZEOF( vlist ) TO 1 BY -1; + IF 'NUMBER' IN TYPEOF( vlist[i] ) THEN + nmb := nmb + vlist[i]; + REMOVE( oplist, i ); + END_IF; + END_REPEAT; + IF SIZEOF( oplist ) = 0 THEN + RETURN( convert_to_maths_value( nmb ) ); + END_IF; + IF nmb <> 0 THEN + INSERT( oplist, make_number_literal( nmb ), 0 ); + END_IF; + IF SIZEOF( oplist ) = 1 THEN + RETURN( oplist[1] ); + END_IF; + END_IF; + IF ( 'POWER_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 ** v2 ) ); + END_IF; + IF ( 'SIN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( SIN( v1 ) ) ); + END_IF; + IF ( 'SLASH_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) AND ( 'NUMBER' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 / v2 ) ); + END_IF; + IF ( 'SQUARE_ROOT_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( SQRT( v1 ) ) ); + END_IF; + IF ( 'SUBSTRING_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( vlist[1] ) ) AND ( 'NUMBER' IN TYPEOF( vlist[2] ) ) AND ( + 'NUMBER' IN TYPEOF( vlist[3] ) ) THEN + str := vlist[1]; + n := vlist[2]; + m := vlist[3]; + RETURN( convert_to_maths_value( str[n : m] ) ); + END_IF; + IF ( 'TAN_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( TAN( v1 ) ) ); + END_IF; + IF ( 'UNARY_MINUS_EXPRESSION' IN types ) AND ( 'NUMBER' IN TYPEOF( v1 ) ) THEN + nmb := v1; + RETURN( convert_to_maths_value( -nmb ) ); + END_IF; + IF ( 'VALUE_EXPRESSION' IN types ) AND ( 'STRING' IN TYPEOF( v1 ) ) THEN + RETURN( convert_to_maths_value( VALUE( v1 ) ) ); + END_IF; + IF ( 'XOR_EXPRESSION' IN types ) AND ( 'BOOLEAN' IN TYPEOF( v1 ) ) AND ( 'BOOLEAN' IN TYPEOF( v2 ) ) THEN + RETURN( convert_to_maths_value( v1 XOR v2 ) ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN types THEN + RETURN( restore_unary( expr, op1 ) ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN types THEN + RETURN( restore_binary( expr, op1, op2 ) ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN + RETURN( restore_mulary( expr, oplist ) ); + END_IF; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION simplify_maths_space( + spc : maths_space + ) : maths_space; + + LOCAL + stypes : SET OF STRING := stripped_typeof( spc ); + sset : SET OF maths_value; + zset : SET OF maths_value := []; + zval : maths_value; + zspc : maths_space; + zallint : BOOLEAN := TRUE; + zint : INTEGER; + zmin : INTEGER; + zmax : INTEGER; + factors : LIST OF maths_space; + zfactors : LIST OF maths_space := []; + rspc : maths_space; + END_LOCAL; + IF 'FINITE_SPACE' IN stypes THEN + sset := spc\finite_space.members; + REPEAT i := 1 TO SIZEOF( sset ) BY 1; + zval := simplify_maths_value( sset[i] ); + zset := zset + [zval]; + IF zallint AND ( 'INTEGER' IN TYPEOF( zval ) ) THEN + zint := zval; + IF i = 1 THEN + zmin := zint; + zmax := zint; + ELSE + IF zint < zmin THEN + zmin := zint; + END_IF; + IF zint > zmax THEN + zmax := zint; + END_IF; + END_IF; + ELSE + zallint := FALSE; + END_IF; + END_REPEAT; + IF zallint AND ( SIZEOF( zset ) = ( ( zmax - zmin ) + 1 ) ) THEN + RETURN( make_finite_integer_interval( zmin, zmax ) ); + END_IF; + RETURN( make_finite_space( zset ) ); + END_IF; + IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN + zspc := simplify_maths_space( spc\uniform_product_space.base ); + RETURN( make_uniform_product_space( zspc, spc\uniform_product_space.exponent ) ); + END_IF; + IF 'LISTED_PRODUCT_SPACE' IN stypes THEN + factors := spc\listed_product_space.factors; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + INSERT( zfactors, simplify_maths_space( factors[i] ), i - 1 ); + END_REPEAT; + RETURN( make_listed_product_space( zfactors ) ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN + zspc := simplify_maths_space( spc\extended_tuple_space.base ); + rspc := simplify_maths_space( spc\extended_tuple_space.extender ); + RETURN( make_extended_tuple_space( zspc, rspc ) ); + END_IF; + IF 'FUNCTION_SPACE' IN stypes THEN + zspc := simplify_maths_space( spc\function_space.domain_argument ); + rspc := simplify_maths_space( spc\function_space.range_argument ); + RETURN( make_function_space( spc\function_space.domain_constraint, zspc, spc\function_space.range_constraint, rspc ) ); + END_IF; + RETURN( spc ); + + END_FUNCTION; + + FUNCTION simplify_maths_value( + val : maths_value + ) : maths_value; + + LOCAL + vtypes : SET OF STRING := stripped_typeof( val ); + vlist : LIST OF maths_value; + nlist : LIST OF maths_value := []; + END_LOCAL; + IF 'GENERIC_EXPRESSION' IN vtypes THEN + RETURN( simplify_generic_expression( val ) ); + END_IF; + IF 'LIST' IN vtypes THEN + vlist := val; + REPEAT i := 1 TO SIZEOF( vlist ) BY 1; + INSERT( nlist, simplify_maths_value( vlist[i] ), i - 1 ); + END_REPEAT; + RETURN( convert_to_maths_value( nlist ) ); + END_IF; + RETURN( val ); + + END_FUNCTION; + + FUNCTION singleton_member_of( + spc : maths_space + ) : maths_value; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + END_LOCAL; + IF 'FINITE_SPACE' IN types THEN + IF SIZEOF( spc\finite_space.members ) = 1 THEN + RETURN( spc\finite_space.members[1] ); + END_IF; + RETURN( ? ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN types THEN + IF spc\finite_integer_interval.size = 1 THEN + RETURN( spc\finite_integer_interval.min ); + END_IF; + RETURN( ? ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION sort_link_associations( + aprr : SET [1 : ?] OF pair_representation_relationship; + one_not_two : BOOLEAN + ) : SET OF kinematic_link_representation; + + LOCAL + result : SET OF kinematic_link_representation := []; + END_LOCAL; + IF one_not_two THEN + REPEAT i := 1 TO HIINDEX( aprr ) BY 1; + result := result + aprr[i].rep_1; + END_REPEAT; + ELSE + REPEAT i := 1 TO HIINDEX( aprr ) BY 1; + result := result + aprr[i].rep_2; + END_REPEAT; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION space_dimension( + tspace : tuple_space + ) : nonnegative_integer; + + LOCAL + types : SET OF STRING := TYPEOF( tspace ); + END_LOCAL; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN types THEN + RETURN( tspace\uniform_product_space.exponent ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN types THEN + RETURN( SIZEOF( tspace\listed_product_space.factors ) ); + END_IF; + IF ( schema_prefix + 'EXTENDED_TUPLE_SPACE' ) IN types THEN + RETURN( space_dimension( tspace\extended_tuple_space.base ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION space_is_continuum( + space : maths_space + ) : BOOLEAN; + + LOCAL + typenames : SET OF STRING := TYPEOF( space ); + factors : LIST OF maths_space; + END_LOCAL; + IF NOT EXISTS( space ) THEN + RETURN( FALSE ); + END_IF; + IF subspace_of_es( space, es_reals ) OR subspace_of_es( space, es_complex_numbers ) THEN + RETURN( TRUE ); + END_IF; + IF ( schema_prefix + 'UNIFORM_PRODUCT_SPACE' ) IN typenames THEN + RETURN( space_is_continuum( space\uniform_product_space.base ) ); + END_IF; + IF ( schema_prefix + 'LISTED_PRODUCT_SPACE' ) IN typenames THEN + factors := space\listed_product_space.factors; + IF SIZEOF( factors ) = 0 THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( factors ) BY 1; + IF NOT space_is_continuum( factors[i] ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION space_is_singleton( + spc : maths_space + ) : BOOLEAN; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + END_LOCAL; + IF 'FINITE_SPACE' IN types THEN + RETURN( bool( SIZEOF( spc\finite_space.members ) = 1 ) ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN types THEN + RETURN( bool( spc\finite_integer_interval.size = 1 ) ); + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION stripped_typeof( + arg : GENERIC:g + ) : SET OF STRING; + + LOCAL + types : SET OF STRING := TYPEOF( arg ); + stypes : SET OF STRING := []; + n : INTEGER := LENGTH( schema_prefix ); + END_LOCAL; + REPEAT i := 1 TO SIZEOF( types ) BY 1; + IF types[i][1 : n] = schema_prefix THEN + stypes := stypes + types[i][n + 1 : LENGTH( types[i] )]; + ELSE + stypes := stypes + types[i]; + END_IF; + END_REPEAT; + RETURN( stypes ); + + END_FUNCTION; + + FUNCTION sts_get_general_datum_reference( + input : datum_reference_element + ) : general_datum_reference; + + LOCAL + general_datum_reference_bag : BAG OF general_datum_reference := USEDIN( input, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GENERAL_DATUM_REFERENCE.' + 'BASE' ); + END_LOCAL; + IF SIZEOF( general_datum_reference_bag ) = 1 THEN + RETURN( general_datum_reference_bag[1] ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION sts_get_product_definition_shape( + input : geometric_tolerance_target + ) : product_definition_shape; + CASE TRUE OF + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSIONAL_LOCATION' IN TYPEOF( input ) : RETURN( input\ + shape_aspect_relationship.relating_shape_aspect\shape_aspect.of_shape ); + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSIONAL_SIZE' IN TYPEOF( input ) : RETURN( input\ + dimensional_size.applies_to\shape_aspect.of_shape ); + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF( input ) : RETURN( input ); + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' IN TYPEOF( input ) : RETURN( input\shape_aspect. + of_shape ); + OTHERWISE : RETURN( ? ); + END_CASE; + + END_FUNCTION; + + FUNCTION subspace_of( + space1, space2 : maths_space + ) : LOGICAL; + + LOCAL + spc1 : maths_space := simplify_maths_space( space1 ); + spc2 : maths_space := simplify_maths_space( space2 ); + types1 : SET OF STRING := stripped_typeof( spc1 ); + types2 : SET OF STRING := stripped_typeof( spc2 ); + lgcl : LOGICAL; + cum : LOGICAL; + es_val : elementary_space_enumerators; + bnd1 : REAL; + bnd2 : REAL; + n : INTEGER; + sp1 : maths_space; + sp2 : maths_space; + prgn1 : polar_complex_number_region; + prgn2 : polar_complex_number_region; + aitv : finite_real_interval; + END_LOCAL; + IF ( NOT EXISTS( spc1 ) ) OR ( NOT EXISTS( spc2 ) ) THEN + RETURN( FALSE ); + END_IF; + IF spc2 = the_generics THEN + RETURN( TRUE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types1 THEN + IF NOT ( 'ELEMENTARY_SPACE' IN types2 ) THEN + RETURN( FALSE ); + END_IF; + es_val := spc2\elementary_space.space_id; + IF spc1\elementary_space.space_id = es_val THEN + RETURN( TRUE ); + END_IF; + CASE spc1\elementary_space.space_id OF + es_numbers : RETURN( FALSE ); + es_complex_numbers : RETURN( es_val = es_numbers ); + es_reals : RETURN( es_val = es_numbers ); + es_integers : RETURN( es_val = es_numbers ); + es_logicals : RETURN( FALSE ); + es_booleans : RETURN( es_val = es_logicals ); + es_strings : RETURN( FALSE ); + es_binarys : RETURN( FALSE ); + es_maths_spaces : RETURN( FALSE ); + es_maths_functions : RETURN( FALSE ); + es_generics : RETURN( FALSE ); + END_CASE; + RETURN( UNKNOWN ); + END_IF; + IF 'FINITE_INTEGER_INTERVAL' IN types1 THEN + cum := TRUE; + REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max BY 1; + cum := cum AND member_of( i, spc2 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'INTEGER_INTERVAL_FROM_MIN' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_integers ) ); + END_IF; + IF 'INTEGER_INTERVAL_FROM_MIN' IN types2 THEN + RETURN( spc1\integer_interval_from_min.min >= spc2\integer_interval_from_min.min ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'INTEGER_INTERVAL_TO_MAX' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_integers ) ); + END_IF; + IF 'INTEGER_INTERVAL_TO_MAX' IN types2 THEN + RETURN( spc1\integer_interval_to_max.max <= spc2\integer_interval_to_max.max ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_REAL_INTERVAL' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_reals ) ); + END_IF; + IF ( 'FINITE_REAL_INTERVAL' IN types2 ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types2 ) OR ( 'REAL_INTERVAL_TO_MAX' IN types2 ) + THEN + IF min_exists( spc2 ) THEN + bnd1 := spc1\finite_real_interval.min; + bnd2 := real_min( spc2 ); + IF ( bnd1 < bnd2 ) OR ( ( bnd1 = bnd2 ) AND min_included( spc1 ) AND ( NOT min_included( spc2 ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF max_exists( spc2 ) THEN + bnd1 := spc1\finite_real_interval.max; + bnd2 := real_max( spc2 ); + IF ( bnd1 > bnd2 ) OR ( ( bnd1 = bnd2 ) AND max_included( spc1 ) AND ( NOT max_included( spc2 ) ) ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_FROM_MIN' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_reals ) ); + END_IF; + IF 'REAL_INTERVAL_FROM_MIN' IN types2 THEN + bnd1 := spc1\real_interval_from_min.min; + bnd2 := spc2\real_interval_from_min.min; + RETURN( ( bnd2 < bnd1 ) OR ( ( bnd2 = bnd1 ) AND ( min_included( spc2 ) OR ( NOT min_included( spc1 ) ) ) ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'REAL_INTERVAL_TO_MAX' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_reals ) ); + END_IF; + IF 'REAL_INTERVAL_TO_MAX' IN types2 THEN + bnd1 := spc1\real_interval_to_max.max; + bnd2 := spc2\real_interval_to_max.max; + RETURN( ( bnd2 > bnd1 ) OR ( ( bnd2 = bnd1 ) AND ( max_included( spc2 ) OR ( NOT max_included( spc1 ) ) ) ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_complex_numbers ) ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN + RETURN( subspace_of( spc1\cartesian_complex_number_region.real_constraint, spc2\cartesian_complex_number_region. + real_constraint ) AND subspace_of( spc1\cartesian_complex_number_region.imag_constraint, spc2\ + cartesian_complex_number_region.imag_constraint ) ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN + RETURN( subspace_of( enclose_cregion_in_pregion( spc1, spc2\polar_complex_number_region.centre ), spc2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + es_val := spc2\elementary_space.space_id; + RETURN( ( es_val = es_numbers ) OR ( es_val = es_complex_numbers ) ); + END_IF; + IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN + RETURN( subspace_of( enclose_pregion_in_cregion( spc1 ), spc2 ) ); + END_IF; + IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN + prgn1 := spc1; + prgn2 := spc2; + IF prgn1.centre = prgn2.centre THEN + IF prgn2.direction_constraint.max > PI THEN + aitv := make_finite_real_interval( -PI, open, prgn2.direction_constraint.max - ( 2 * PI ), prgn2.direction_constraint + .max_closure ); + RETURN( subspace_of( prgn1.distance_constraint, prgn2.distance_constraint ) AND ( subspace_of( prgn1. + direction_constraint, prgn2.direction_constraint ) OR subspace_of( prgn1.direction_constraint, aitv ) ) ); + ELSE + RETURN( subspace_of( prgn1.distance_constraint, prgn2.distance_constraint ) AND subspace_of( prgn1. + direction_constraint, prgn2.direction_constraint ) ); + END_IF; + END_IF; + RETURN( subspace_of( enclose_pregion_in_pregion( prgn1, prgn2.centre ), prgn2 ) ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FINITE_SPACE' IN types1 THEN + cum := TRUE; + REPEAT i := 1 TO SIZEOF( spc1\finite_space.members ) BY 1; + cum := cum AND member_of( spc1\finite_space.members[i], spc2 ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + IF 'PRODUCT_SPACE' IN types1 THEN + IF 'PRODUCT_SPACE' IN types2 THEN + IF space_dimension( spc1 ) = space_dimension( spc2 ) THEN + cum := TRUE; + REPEAT i := 1 TO space_dimension( spc1 ) BY 1; + cum := cum AND subspace_of( factor_space( spc1, i ), factor_space( spc2, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + IF space_dimension( spc1 ) >= space_dimension( spc2 ) THEN + cum := TRUE; + REPEAT i := 1 TO space_dimension( spc1 ) BY 1; + cum := cum AND subspace_of( factor_space( spc1, i ), factor_space( spc2, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + END_IF; + RETURN( FALSE ); + END_IF; + IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN + IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN + n := space_dimension( spc1 ); + IF n < space_dimension( spc2 ) THEN + n := space_dimension( spc2 ); + END_IF; + cum := TRUE; + REPEAT i := 1 TO n + 1 BY 1; + cum := cum AND subspace_of( factor_space( spc1, i ), factor_space( spc2, i ) ); + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( cum ); + END_IF; + RETURN( FALSE ); + END_IF; + IF 'FUNCTION_SPACE' IN types1 THEN + IF 'ELEMENTARY_SPACE' IN types2 THEN + RETURN( spc2\elementary_space.space_id = es_maths_functions ); + END_IF; + IF 'FUNCTION_SPACE' IN types2 THEN + cum := TRUE; + sp1 := spc1\function_space.domain_argument; + sp2 := spc2\function_space.domain_argument; + CASE spc1\function_space.domain_constraint OF + sc_equal : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : cum := cum AND equal_maths_spaces( sp1, sp2 ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : cum := cum AND member_of( sp1, sp2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : RETURN( FALSE ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : + BEGIN + IF NOT member_of( sp1, sp2 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + END_CASE; + END; + sc_member : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : cum := cum AND space_is_singleton( sp1 ) AND equal_maths_spaces( + singleton_member_of( sp1 ), sp2 ); + sc_subspace : + BEGIN + IF NOT member_of( sp2, sp1 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + sc_member : cum := cum AND subspace_of( sp1, sp2 ); + END_CASE; + END; + END_CASE; + IF cum = FALSE THEN + RETURN( FALSE ); + END_IF; + sp1 := spc1\function_space.range_argument; + sp2 := spc2\function_space.range_argument; + CASE spc1\function_space.range_constraint OF + sc_equal : + BEGIN + CASE spc2\function_space.range_constraint OF + sc_equal : cum := cum AND equal_maths_spaces( sp1, sp2 ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : cum := cum AND member_of( sp1, sp2 ); + END_CASE; + END; + sc_subspace : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : RETURN( FALSE ); + sc_subspace : cum := cum AND subspace_of( sp1, sp2 ); + sc_member : + BEGIN + IF NOT member_of( sp1, sp2 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + END_CASE; + END; + sc_member : + BEGIN + CASE spc2\function_space.domain_constraint OF + sc_equal : cum := cum AND space_is_singleton( sp1 ) AND equal_maths_spaces( + singleton_member_of( sp1 ), sp2 ); + sc_subspace : + BEGIN + IF NOT member_of( sp2, sp1 ) THEN + RETURN( FALSE ); + END_IF; + cum := UNKNOWN; + END; + sc_member : cum := cum AND subspace_of( sp1, sp2 ); + END_CASE; + END; + END_CASE; + RETURN( cum ); + END_IF; + RETURN( FALSE ); + END_IF; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION subspace_of_es( + spc : maths_space; + es : elementary_space_enumerators + ) : LOGICAL; + + LOCAL + types : SET OF STRING := stripped_typeof( spc ); + END_LOCAL; + IF ( NOT EXISTS( spc ) ) OR ( NOT EXISTS( es ) ) THEN + RETURN( FALSE ); + END_IF; + IF 'ELEMENTARY_SPACE' IN types THEN + RETURN( es_subspace_of_es( spc\elementary_space.space_id, es ) ); + END_IF; + IF 'FINITE_SPACE' IN types THEN + RETURN( all_members_of_es( spc\finite_space.members, es ) ); + END_IF; + CASE es OF + es_numbers : RETURN( ( 'FINITE_INTEGER_INTERVAL' IN types ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types ) OR + ( 'INTEGER_INTERVAL_TO_MAX' IN types ) OR ( 'FINITE_REAL_INTERVAL' IN types ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types ) + OR ( 'REAL_INTERVAL_TO_MAX' IN types ) OR ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types ) OR ( + 'POLAR_COMPLEX_NUMBER_REGION' IN types ) ); + es_complex_numbers : RETURN( ( 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types ) OR ( 'POLAR_COMPLEX_NUMBER_REGION' IN + types ) ); + es_reals : RETURN( ( 'FINITE_REAL_INTERVAL' IN types ) OR ( 'REAL_INTERVAL_FROM_MIN' IN types ) OR ( + 'REAL_INTERVAL_TO_MAX' IN types ) ); + es_integers : RETURN( ( 'FINITE_INTEGER_INTERVAL' IN types ) OR ( 'INTEGER_INTERVAL_FROM_MIN' IN types ) OR + ( 'INTEGER_INTERVAL_TO_MAX' IN types ) ); + es_logicals : RETURN( FALSE ); + es_booleans : RETURN( FALSE ); + es_strings : RETURN( FALSE ); + es_binarys : RETURN( FALSE ); + es_maths_spaces : RETURN( FALSE ); + es_maths_functions : RETURN( 'FUNCTION_SPACE' IN types ); + es_generics : RETURN( TRUE ); + END_CASE; + RETURN( UNKNOWN ); + + END_FUNCTION; + + FUNCTION substitute( + expr : generic_expression; + vars : LIST [1 : ?] OF generic_variable; + vals : LIST [1 : ?] OF maths_value + ) : generic_expression; + + LOCAL + types : SET OF STRING := stripped_typeof( expr ); + opnds : LIST OF generic_expression; + op1 : generic_expression; + op2 : generic_expression; + qvars : LIST OF generic_variable; + srcdom : maths_space_or_function; + prpfun : LIST [1 : ?] OF maths_function; + finfun : maths_function_select; + END_LOCAL; + IF SIZEOF( vars ) <> SIZEOF( vals ) THEN + RETURN( ? ); + END_IF; + IF 'GENERIC_LITERAL' IN types THEN + RETURN( expr ); + END_IF; + IF 'GENERIC_VARIABLE' IN types THEN + REPEAT i := 1 TO SIZEOF( vars ) BY 1; + IF expr :=: vars[i] THEN + RETURN( vals[i] ); + END_IF; + END_REPEAT; + RETURN( expr ); + END_IF; + IF 'QUANTIFIER_EXPRESSION' IN types THEN + qvars := expr\quantifier_expression.variables; + REPEAT i := SIZEOF( vars ) TO 1 BY -1; + IF vars[i] IN qvars THEN + REMOVE( vars, i ); + REMOVE( vals, i ); + END_IF; + END_REPEAT; + opnds := expr\multiple_arity_generic_expression.operands; + REPEAT i := 1 TO SIZEOF( opnds ) BY 1; + IF NOT ( opnds[i] IN qvars ) THEN + expr\multiple_arity_generic_expression.operands[i] := substitute( opnds[i], vars, vals ); + END_IF; + END_REPEAT; + RETURN( expr ); + END_IF; + IF 'UNARY_GENERIC_EXPRESSION' IN types THEN + op1 := expr\unary_generic_expression.operand; + expr\unary_generic_expression.operand := substitute( op1, vars, vals ); + END_IF; + IF 'BINARY_GENERIC_EXPRESSION' IN types THEN + op1 := expr\binary_generic_expression.operands[1]; + expr\binary_generic_expression.operands[1] := substitute( op1, vars, vals ); + op2 := expr\binary_generic_expression.operands[2]; + expr\binary_generic_expression.operands[2] := substitute( op2, vars, vals ); + END_IF; + IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN + srcdom := expr\parallel_composed_function.source_of_domain; + prpfun := expr\parallel_composed_function.prep_functions; + finfun := expr\parallel_composed_function.final_function; + srcdom := substitute( srcdom, vars, vals ); + REPEAT i := 1 TO SIZEOF( prpfun ) BY 1; + prpfun[i] := substitute( prpfun[i], vars, vals ); + END_REPEAT; + IF 'MATHS_FUNCTION' IN stripped_typeof( finfun ) THEN + finfun := substitute( finfun, vars, vals ); + END_IF; + RETURN( make_parallel_composed_function( srcdom, prpfun, finfun ) ); + END_IF; + IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN + opnds := expr\multiple_arity_generic_expression.operands; + REPEAT i := 1 TO SIZEOF( opnds ) BY 1; + expr\multiple_arity_generic_expression.operands[i] := substitute( opnds[i], vars, vals ); + END_REPEAT; + END_IF; + RETURN( expr ); + + END_FUNCTION; + + FUNCTION surface_condition_correlation( + pd : property_definition; + rep : representation + ) : LOGICAL; + CASE pd.name OF + 'visual appearance' : RETURN( pd.name = rep.name ); + 'tactile appearance' : RETURN( pd.name = rep.name ); + 'contact ratio' : RETURN( pd.name = rep.name ); + 'hardness' : RETURN( pd.name = rep.name ); + 'treatment result' : RETURN( pd.name = rep.name ); + 'surface texture' : RETURN( pd.name = rep.name ); + OTHERWISE : RETURN( UNKNOWN ); + END_CASE; + + END_FUNCTION; + + FUNCTION surface_weights_positive( + b : rational_b_spline_surface + ) : BOOLEAN; + + LOCAL + result : BOOLEAN := TRUE; + END_LOCAL; + REPEAT i := 0 TO b.u_upper BY 1; + REPEAT j := 0 TO b.v_upper BY 1; + IF b.weights[i][j] <= 0 THEN + result := FALSE; + RETURN( result ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( result ); + + END_FUNCTION; + + FUNCTION topology_reversed( + an_item : reversible_topology + ) : reversible_topology; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE' IN TYPEOF( an_item ) THEN + RETURN( edge_reversed( an_item ) ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH' IN TYPEOF( an_item ) THEN + RETURN( path_reversed( an_item ) ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BOUND' IN TYPEOF( an_item ) THEN + RETURN( face_bound_reversed( an_item ) ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE' IN TYPEOF( an_item ) THEN + RETURN( face_reversed( an_item ) ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL' IN TYPEOF( an_item ) THEN + RETURN( shell_reversed( an_item ) ); + END_IF; + IF 'SET' IN TYPEOF( an_item ) THEN + RETURN( set_of_topology_reversed( an_item ) ); + END_IF; + IF 'LIST' IN TYPEOF( an_item ) THEN + RETURN( list_of_topology_reversed( an_item ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION type_check_function( + the_type : GENERIC; + sub_names : SET OF STRING; + criterion : INTEGER + ) : LOGICAL; + IF ( NOT EXISTS( the_type ) ) OR ( SIZEOF( sub_names ) = 0 ) THEN + RETURN( UNKNOWN ); + ELSE + CASE criterion OF + 0 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) > 0 ); + 1 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) = 0 ); + 2 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) = 1 ); + 3 : RETURN( SIZEOF( sub_names * TYPEOF( the_type ) ) <= 1 ); + OTHERWISE : RETURN( UNKNOWN ); + END_CASE; + END_IF; + + END_FUNCTION; + + FUNCTION unambiguously_specified_multi_level_reference_designator( + links : LIST [1 : ?] OF next_assembly_usage_occurrence + ) : BOOLEAN; + REPEAT i := 1 TO SIZEOF( links ) - 1 BY 1; + CASE TRUE OF + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( links[i]\ + product_definition_relationship.relating_product_definition ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION' IN TYPEOF( links[i]\product_definition_relationship.related_product_definition ) ) AND ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( links[i + 1]\ + product_definition_relationship.relating_product_definition ) ) : + BEGIN + IF NOT ( ( links[i]\product_definition_relationship.related_product_definition :=: links[i + 1]\ + product_definition_relationship.relating_product_definition ) OR ( ( SIZEOF( QUERY ( pdr <* USEDIN( links[i]\ + product_definition_relationship.related_product_definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) | ( pdr\product_definition_relationship. + relating_product_definition :=: links[i + 1]\product_definition_relationship.relating_product_definition ) ) ) = 1 ) + AND ( links[i]\product_definition_relationship.related_product_definition\product_definition.formation\ + product_definition_formation.of_product :=: links[i + 1]\product_definition_relationship. + relating_product_definition\product_definition.formation\product_definition_formation.of_product ) ) ) THEN + RETURN( FALSE ); + END_IF; + END; + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF( links[i]\ + product_definition_relationship.related_product_definition ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_REFERENCE' IN TYPEOF( links[i + 1]\product_definition_relationship.relating_product_definition ) ) : + BEGIN + IF NOT ( ( links[i]\product_definition_relationship.related_product_definition :=: links[i + 1]\ + product_definition_relationship.relating_product_definition ) OR ( ( SIZEOF( QUERY ( pdr <* USEDIN( links[i]\ + product_definition_relationship.related_product_definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION' ) | ( pdr\product_definition_relationship. + relating_product_definition :=: links[i + 1]\product_definition_relationship.relating_product_definition ) ) ) = 1 ) + AND ( links[i]\product_definition_relationship.related_product_definition\product_definition_reference.product_id + = links[i + 1]\product_definition_relationship.relating_product_definition\product_definition_reference.product_id ) + AND ( links[i]\product_definition_relationship.related_product_definition\product_definition_reference. + id_owning_organization_name = links[i + 1]\product_definition_relationship.relating_product_definition\ + product_definition_reference.id_owning_organization_name ) AND ( links[i]\product_definition_relationship. + related_product_definition\product_definition_reference.product_definition_id <> links[i + 1]\ + product_definition_relationship.relating_product_definition\product_definition_reference.product_definition_id ) ) ) + THEN + RETURN( FALSE ); + END_IF; + END; + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF( links[i]\ + product_definition_relationship.relating_product_definition ) ) AND ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PRODUCT_DEFINITION' IN TYPEOF( links[i]\product_definition_relationship.related_product_definition ) ) : RETURN + ( FALSE ); + OTHERWISE : RETURN( FALSE ); + END_CASE; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION unique_in_product_definition( + item : representative_shape_representation + ) : BOOLEAN; + + LOCAL + local_p_d : SET OF product_definition := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + j : INTEGER; + END_LOCAL; + local_p_d := using_product_definition_of_shape_representation( item ); + IF SIZEOF( local_p_d ) <> 1 THEN + RETURN( FALSE ); + ELSE + REPEAT i := 1 TO HIINDEX( local_p_d ) BY 1; + local_s_r := find_shape_representation_of_product_definition( local_p_d[i] ); + REPEAT j := 1 TO HIINDEX( local_s_r ) BY 1; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( local_s_r[j] ) ) + AND ( local_s_r[j] :<>: item ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION unique_in_shape_aspect( + item : representative_shape_representation + ) : BOOLEAN; + + LOCAL + local_s_a : SET OF shape_aspect := []; + local_s_r : SET OF shape_representation := []; + i : INTEGER; + j : INTEGER; + END_LOCAL; + local_s_a := using_shape_aspect_of_shape_representation( item ); + IF SIZEOF( local_s_a ) <> 1 THEN + RETURN( FALSE ); + ELSE + REPEAT i := 1 TO HIINDEX( local_s_a ) BY 1; + local_s_r := find_shape_representation_of_shape_aspect( local_s_a[i] ); + REPEAT j := 1 TO HIINDEX( local_s_r ) BY 1; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF( local_s_r[j] ) ) + AND ( local_s_r[j] :<>: item ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION used_variables( + arg : generic_expression + ) : SET OF generic_variable; + + LOCAL + result : SET OF generic_variable := []; + END_LOCAL; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GENERIC_VARIABLE' IN TYPEOF( arg ) THEN + RETURN( [arg] ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNARY_GENERIC_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( used_variables( arg\unary_generic_expression.operand ) ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BINARY_GENERIC_EXPRESSION' IN TYPEOF( arg ) THEN + RETURN( used_variables( arg\binary_generic_expression.operands[1] ) + used_variables( arg\binary_generic_expression. + operands[2] ) ); + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' IN TYPEOF( arg ) THEN + REPEAT i := 1 TO SIZEOF( arg\multiple_arity_generic_expression.operands ) BY 1; + result := result + used_variables( arg\multiple_arity_generic_expression.operands[i] ); + END_REPEAT; + RETURN( result ); + END_IF; + RETURN( [] ); + + END_FUNCTION; + + FUNCTION using_items( + item : founded_item_select; + checked_items : SET OF founded_item_select + ) : SET OF founded_item_select; + + LOCAL + new_check_items : SET OF founded_item_select; + result_items : SET OF founded_item_select; + next_items : SET OF founded_item_select; + END_LOCAL; + result_items := []; + new_check_items := checked_items + item; + next_items := QUERY ( z <* bag_to_set( USEDIN( item, '' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'REPRESENTATION_ITEM' IN TYPEOF( z ) ) OR ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FOUNDED_ITEM' IN TYPEOF( + z ) ) ) ); + IF SIZEOF( next_items ) > 0 THEN + REPEAT i := 1 TO HIINDEX( next_items ) BY 1; + IF NOT ( next_items[i] IN new_check_items ) THEN + result_items := result_items + next_items[i] + using_items( next_items[i], new_check_items ); + END_IF; + END_REPEAT; + END_IF; + RETURN( result_items ); + + END_FUNCTION; + + FUNCTION using_product_definition_of_shape_aspect( + item : shape_aspect + ) : product_definition; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( item.of_shape.definition ) THEN + RETURN( item.of_shape.definition ); + ELSE + RETURN( ? ); + END_IF; + + END_FUNCTION; + + FUNCTION using_product_definition_of_shape_representation( + item : shape_representation + ) : SET OF product_definition; + + LOCAL + local_s_d_r : SET OF shape_definition_representation := []; + local_p_d : SET OF product_definition := []; + i : INTEGER; + END_LOCAL; + local_s_d_r := QUERY ( i1 <* bag_to_set( USEDIN( item, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' ) IN TYPEOF( i1 ) ) ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION' IN TYPEOF( local_s_d_r[i]\ + property_definition_representation.definition ) THEN + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF( local_s_d_r[i]\ + property_definition_representation.definition\property_definition.definition ) THEN + local_p_d := local_p_d + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; + END_IF; + END_IF; + END_REPEAT; + RETURN( local_p_d ); + + END_FUNCTION; + + FUNCTION using_representation_with_mapping( + item : representation_item + ) : SET OF representation; + + LOCAL + results : SET OF representation := []; + local_results : SET OF representation := []; + local_representation_map : SET OF representation_map := []; + intermediate_items : SET OF representation_item := []; + i : INTEGER; + j : INTEGER; + END_LOCAL; + local_results := QUERY ( z <* using_representations( item ) | ( SIZEOF( USEDIN( z, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_MAP.' + 'MAPPED_REPRESENTATION' ) ) > 0 ) ); + IF SIZEOF( local_results ) = 0 THEN + RETURN( [] ); + ELSE + REPEAT i := 1 TO HIINDEX( local_results ) BY 1; + local_representation_map := local_representation_map + bag_to_set( USEDIN( local_results[i], + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION' ) ); + END_REPEAT; + REPEAT i := 1 TO HIINDEX( local_representation_map ) BY 1; + intermediate_items := intermediate_items + bag_to_set( USEDIN( local_representation_map[i], + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE' ) ); + END_REPEAT; + REPEAT j := 1 TO HIINDEX( intermediate_items ) BY 1; + results := results + bag_to_set( using_representation_with_mapping( intermediate_items[j] ) ); + END_REPEAT; + END_IF; + RETURN( results ); + + END_FUNCTION; + + FUNCTION using_representations( + item : founded_item_select + ) : SET OF representation; + + LOCAL + results : SET OF representation; + result_bag : BAG OF representation; + intermediate_items : SET OF founded_item_select; + END_LOCAL; + results := []; + result_bag := USEDIN( item, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS' ); + IF SIZEOF( result_bag ) > 0 THEN + REPEAT i := 1 TO HIINDEX( result_bag ) BY 1; + results := results + result_bag[i]; + END_REPEAT; + END_IF; + intermediate_items := using_items( item, [] ); + IF SIZEOF( intermediate_items ) > 0 THEN + REPEAT i := 1 TO HIINDEX( intermediate_items ) BY 1; + result_bag := USEDIN( intermediate_items[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS' ); + IF SIZEOF( result_bag ) > 0 THEN + REPEAT j := 1 TO HIINDEX( result_bag ) BY 1; + results := results + result_bag[j]; + END_REPEAT; + END_IF; + END_REPEAT; + END_IF; + RETURN( results ); + + END_FUNCTION; + + FUNCTION using_shape_aspect_of_shape_representation( + item : shape_representation + ) : SET OF shape_aspect; + + LOCAL + local_s_d_r : SET OF shape_definition_representation := []; + local_s_d_r2 : BAG OF shape_definition_representation := []; + local_s_a : SET OF shape_aspect := []; + i : INTEGER; + END_LOCAL; + local_s_d_r2 := local_s_d_r2 + QUERY ( pdr <* USEDIN( item, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF( pdr ) ) ); + local_s_d_r := bag_to_set( local_s_d_r2 ); + REPEAT i := 1 TO HIINDEX( local_s_d_r ) BY 1; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' IN TYPEOF( local_s_d_r[i]\ + property_definition_representation.definition\property_definition.definition ) THEN + local_s_a := local_s_a + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; + END_IF; + END_REPEAT; + RETURN( local_s_a ); + + END_FUNCTION; + + FUNCTION valid_basis_curve_in_2d_wireframe( + crv : curve + ) : BOOLEAN; + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_CURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPSE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE' ] * TYPEOF( crv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE' IN TYPEOF( crv ) THEN + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PARABOLA' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.HYPERBOLA'] * TYPEOF( crv\trimmed_curve.basis_curve ) ) + = 1 THEN + RETURN( TRUE ); + ELSE + RETURN( valid_basis_curve_in_2d_wireframe( crv\trimmed_curve.basis_curve ) ); + END_IF; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_2D' IN TYPEOF( crv ) THEN + RETURN( valid_basis_curve_in_2d_wireframe( crv\offset_curve_2d.basis_curve ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF( crv ) THEN + RETURN( valid_basis_curve_in_2d_wireframe( crv\curve_replica.parent_curve ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( crv ) THEN + RETURN( SIZEOF( QUERY ( ccs <* crv\composite_curve.segments | ( NOT valid_basis_curve_in_2d_wireframe( ccs. + parent_curve ) ) ) ) = 0 ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_calendar_date( + date : calendar_date + ) : LOGICAL; + CASE date.month_component OF + 1 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 2 : + BEGIN + IF leap_year( date.year_component ) THEN + RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 29 ) ); + ELSE + RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 28 ) ); + END_IF; + END; + 3 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 4 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 5 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 6 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 7 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 8 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 9 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 10 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + 11 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 30 ) ); + 12 : RETURN( ( 1 <= date.day_component ) AND ( date.day_component <= 31 ) ); + END_CASE; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_csg_2d_primitives( + input : csg_solid_2d + ) : BOOLEAN; + CASE TRUE OF + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRIMITIVE_2D' IN TYPEOF( input\csg_solid_2d.tree_root_expression ) : + BEGIN + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_AREA', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPLEX_AREA' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'ELLIPTIC_AREA' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYGONAL_AREA', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_AREA' ] * TYPEOF( input\csg_solid_2d. + tree_root_expression ) ) > 0 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_RESULT_2D' IN TYPEOF( input\csg_solid_2d.tree_root_expression ) : RETURN + ( valid_csg_2d_primitives( input\csg_solid_2d.tree_root_expression\boolean_result_2d.first_operand ) AND + valid_csg_2d_primitives( input\csg_solid_2d.tree_root_expression\boolean_result_2d.second_operand ) ); + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.HALF_SPACE_2D' IN TYPEOF( input\csg_solid_2d.tree_root_expression ) : RETURN + ( TRUE ); + OTHERWISE : RETURN( FALSE ); + END_CASE; + + END_FUNCTION; + + FUNCTION valid_datum_target_parameters( + pdf : placed_datum_target_feature + ) : BOOLEAN; + + LOCAL + rep_set : SET OF representation := []; + parameter_representations : SET OF representation; + END_LOCAL; + REPEAT i := 1 TO HIINDEX( pdf.representation_associations ) BY 1; + rep_set := rep_set + pdf.representation_associations[i].used_representation; + END_REPEAT; + parameter_representations := QUERY ( rep <* rep_set | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF( rep ) ) ); + IF SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = 'orientation' ) AND + ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' IN TYPEOF( i ) ) ) ) ) = 1 ) ) ) <> 1 THEN + RETURN( FALSE ); + END_IF; + CASE pdf\shape_aspect.description OF + 'point' : RETURN( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 1 ) ) ) = 1 ); + 'circle' : RETURN( ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 2 ) ) ) = 1 ) + AND ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = + 'target diameter' ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) = + 1 ) ); + 'circular curve' : RETURN( ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 2 ) ) ) = + 1 ) AND ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = + 'target diameter' ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) = + 1 ) ); + 'line' : RETURN( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( + ( i.name = 'target length' ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * + TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) = 1 ); + 'rectangle' : RETURN( ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( srwp.items ) = 3 ) ) ) = 1 ) + AND ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = + 'target length' ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) = + 1 ) AND ( SIZEOF( QUERY ( srwp <* parameter_representations | ( SIZEOF( QUERY ( i <* srwp.items | ( ( i.name = + 'target width' ) AND ( SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' ] * TYPEOF( i ) ) = 2 ) ) ) ) = 1 ) ) ) = + 1 ) ); + OTHERWISE : RETURN( FALSE ); + END_CASE; + + END_FUNCTION; + + FUNCTION valid_geometrically_bounded_wf_curve( + crv : curve + ) : BOOLEAN; + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'B_SPLINE_CURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPSE', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE' ] * TYPEOF( crv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE' IN TYPEOF( crv ) THEN + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PARABOLA' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.HYPERBOLA'] * TYPEOF( crv\trimmed_curve.basis_curve ) ) + = 1 THEN + RETURN( TRUE ); + ELSE + RETURN( valid_geometrically_bounded_wf_curve( crv\trimmed_curve.basis_curve ) ); + END_IF; + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( crv ) THEN + RETURN( valid_geometrically_bounded_wf_curve( crv\offset_curve_3d.basis_curve ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF( crv ) THEN + RETURN( valid_geometrically_bounded_wf_curve( crv\curve_replica.parent_curve ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE' IN TYPEOF( crv ) THEN + RETURN( SIZEOF( QUERY ( ccs <* crv\composite_curve.segments | ( NOT valid_geometrically_bounded_wf_curve( ccs. + parent_curve ) ) ) ) = 0 ); + END_IF; + END_IF; + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_geometrically_bounded_wf_point( + pnt : point + ) : BOOLEAN; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF( pnt ) THEN + RETURN( TRUE ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' IN TYPEOF( pnt ) THEN + RETURN( valid_geometrically_bounded_wf_curve( pnt\point_on_curve.basis_curve ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_REPLICA' IN TYPEOF( pnt ) THEN + RETURN( valid_geometrically_bounded_wf_point( pnt\point_replica.parent_pt ) ); + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_measure_value( + m : measure_value + ) : BOOLEAN; + IF 'REAL' IN TYPEOF( m ) THEN + RETURN( m > 0 ); + ELSE + IF 'INTEGER' IN TYPEOF( m ) THEN + RETURN( m > 0 ); + ELSE + RETURN( TRUE ); + END_IF; + END_IF; + + END_FUNCTION; + + FUNCTION valid_selected_instance_representation( + pd : product_definition_or_assembly_relationship + ) : LOGICAL; + + LOCAL + properties : SET OF property_definition := bag_to_set( QUERY ( prd <* USEDIN( pd, + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) + | ( prd.name = 'occurrence selection' ) ) ); + property_definition_representations : SET OF property_definition_representation := bag_to_set( QUERY ( pdr <* USEDIN( + properties[1], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( pdr.used_representation. + name = 'selection criteria' ) ) ); + selected_representation : representation; + END_LOCAL; + IF SIZEOF( properties ) <> 1 THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( property_definition_representations ) <> 1 THEN + RETURN( FALSE ); + END_IF; + selected_representation := property_definition_representations[1]\property_definition_representation.used_representation; + IF ( SIZEOF( selected_representation\representation.items ) < 1 ) OR ( SIZEOF( selected_representation\representation.items ) + > 2 ) THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( QUERY ( i <* selected_representation\representation.items | ( ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_RANGE' ] * TYPEOF( i ) ) = 1 ) AND ( i.name = 'selection quantity' ) ) ) ) + <> 1 THEN + RETURN( FALSE ); + END_IF; + IF SIZEOF( QUERY ( i <* selected_representation\representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i.name = 'selection control' ) ) ) ) > 1 THEN + RETURN( FALSE ); + END_IF; + IF ( SIZEOF( QUERY ( i <* selected_representation\representation.items | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND ( i.name = 'selection control' ) ) ) ) = 0 ) AND ( SIZEOF( + QUERY ( i <* selected_representation\representation.items | ( ( i.name = 'selection quantity' ) AND ( SIZEOF( [ + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.QUALIFIED_REPRESENTATION_ITEM' , + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_RANGE' ] * TYPEOF( i ) ) = 0 ) ) ) ) > 0 ) THEN + RETURN( FALSE ); + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION valid_time( + time : local_time + ) : BOOLEAN; + IF EXISTS( time.second_component ) THEN + RETURN( EXISTS( time.minute_component ) ); + ELSE + RETURN( TRUE ); + END_IF; + + END_FUNCTION; + + FUNCTION valid_units( + m : measure_with_unit + ) : BOOLEAN; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MASS_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 1, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TIME_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_CURRENT_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.THERMODYNAMIC_TEMPERATURE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CELSIUS_TEMPERATURE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 1, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AMOUNT_OF_SUBSTANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 1, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LUMINOUS_INTENSITY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_ANGLE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VOLUME_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 3, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_PLANE_ANGLE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACCELERATION_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CAPACITANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -2, -1, 4, 2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_CHARGE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 1, 1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONDUCTANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -2, -1, 3, 2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_POTENTIAL_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -3, -1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ENERGY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FORCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 1, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FREQUENCY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ILLUMINANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -2, 0, 0, 0, 0, 0, 1 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INDUCTANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -2, -2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LUMINOUS_FLUX_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, 0, 0, 0, 0, 1 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAGNETIC_FLUX_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -2, -1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAGNETIC_FLUX_DENSITY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 1, -2, -1, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POWER_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -3, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESSURE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( -1, 1, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RESISTANCE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 1, -3, -2, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VELOCITY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 1, 0, -1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RADIOACTIVITY_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 0, 0, -1, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ABSORBED_DOSE_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DOSE_EQUIVALENT_MEASURE' IN TYPEOF( m.value_component ) THEN + IF derive_dimensional_exponents( m.unit_component ) <> dimensional_exponents( 2, 0, -2, 0, 0, 0, 0 ) THEN + RETURN( FALSE ); + END_IF; + END_IF; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION valid_wireframe_edge_curve( + crv : curve + ) : BOOLEAN; + IF SIZEOF( [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'POLYLINE' ] * TYPEOF( crv ) ) = 1 THEN + RETURN( TRUE ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF( crv ) THEN + RETURN( valid_wireframe_edge_curve( crv\curve_replica.parent_curve ) ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF( crv ) THEN + RETURN( valid_wireframe_edge_curve( crv\offset_curve_3d.basis_curve ) ); + END_IF; + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION valid_wireframe_vertex_point( + pnt : point + ) : BOOLEAN; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF( pnt ) THEN + RETURN( TRUE ); + ELSE + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_REPLICA' IN TYPEOF( pnt ) THEN + RETURN( valid_wireframe_vertex_point( pnt\point_replica.parent_pt ) ); + END_IF; + END_IF; + RETURN( FALSE ); + + END_FUNCTION; + + FUNCTION validate_accuracy_types( + ei : shape_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqca : BAG OF shape_data_quality_criterion_and_accuracy_association := []; + sma : BAG OF shape_measurement_accuracy := []; + sdqir : SET OF shape_data_quality_inspection_result := []; + scraa : BAG OF shape_inspection_result_accuracy_association := []; + t_logic : BOOLEAN; + END_LOCAL; + sdqca := USEDIN( ei, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION.' + 'SHAPE_DATA_QUALITY_CRITERION' ); + IF SIZEOF( sdqca ) <> 0 THEN + REPEAT i := 1 TO SIZEOF( sdqca ) BY 1; + sma := sma + sdqca[i].required_specific_accuracy; + END_REPEAT; + IF SIZEOF( type_list ) < SIZEOF( sma ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sma ) BY 1; + t_logic := FALSE; + REPEAT j := 1 TO SIZEOF( type_list ) BY 1; + IF type_list[j] IN value_limit_type( sma[i].range ) THEN + t_logic := TRUE; + ESCAPE; + END_IF; + END_REPEAT; + IF NOT t_logic THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + scraa := USEDIN( sdqir[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATION.' + 'SHAPE_DATA_QUALITY_RESULT' ); + IF SIZEOF( scraa ) <> 0 THEN + sma := []; + REPEAT j := 1 TO SIZEOF( scraa ) BY 1; + sma := sma + scraa[j].applied_specific_accuracy; + END_REPEAT; + IF SIZEOF( type_list ) < SIZEOF( sma ) THEN + RETURN( FALSE ); + END_IF; + REPEAT j := 1 TO SIZEOF( sma ) BY 1; + t_logic := FALSE; + REPEAT k := 1 TO SIZEOF( type_list ) BY 1; + IF type_list[k] IN value_limit_type( sma[j].range ) THEN + t_logic := TRUE; + ESCAPE; + END_IF; + END_REPEAT; + IF NOT t_logic THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_attribute_id( + attid : attribute_identifier + ) : BOOLEAN; + + CONSTANT + letters : SET [52 : 52] OF STRING := + [ 'a' , + 'b' , + 'c' , + 'd' , + 'e' , + 'f' , + 'g' , + 'h' , + 'i' , + 'j' , + 'k' , + 'l' , + 'm' , + 'n' , + 'o' , + 'p' , + 'q' , + 'r' , + 's' , + 't' , + 'u' , + 'v' , + 'w' , + 'x' , + 'y' , + 'z' , + 'A' , + 'B' , + 'C' , + 'D' , + 'E' , + 'F' , + 'G' , + 'H' , + 'I' , + 'J' , + 'K' , + 'L' , + 'M' , + 'N' , + 'O' , + 'P' , + 'Q' , + 'R' , + 'S' , + 'T' , + 'U' , + 'V' , + 'W' , + 'X' , + 'Y' , + 'Z' ]; + numbers_etc : SET [15 : 15] OF STRING := + [ '0' , + '1' , + '2' , + '3' , + '4' , + '5' , + '6' , + '7' , + '8' , + '9' , + '_' , + '[' , + ']' , + '.' , + '\' ]; + valid_chars : SET [67 : 67] OF STRING := + letters + + + numbers_etc; + END_CONSTANT; + + LOCAL + id_length : INTEGER := LENGTH( attid ); + id_valid : BOOLEAN := TRUE; + i : INTEGER; + END_LOCAL; + IF NOT ( attid[1] IN letters ) THEN + id_valid := FALSE; + END_IF; + REPEAT i := 2 TO id_length BY 1 WHILE id_valid = TRUE; + IF NOT ( attid[i] IN valid_chars ) THEN + id_valid := FALSE; + END_IF; + END_REPEAT; + RETURN( id_valid ); + + END_FUNCTION; + + FUNCTION validate_countersink_radii( + cskhole : solid_with_stepped_round_hole_and_conical_transitions + ) : BOOLEAN; + + LOCAL + i : INTEGER; + j : INTEGER; + n : INTEGER := 1 + cskhole\solid_with_stepped_round_hole.segments; + smaller : positive_length_measure; + larger : positive_length_measure; + END_LOCAL; + REPEAT i := 1 TO SIZEOF( cskhole.conical_transitions ) BY 1; + IF ( ( cskhole.conical_transitions[i].transition_number = 1 ) AND ( cskhole.conical_transitions[i].cone_apex_angle < 0 ) ) + XOR ( ( cskhole.conical_transitions[i].transition_number = n ) AND ( cskhole.conical_transitions[i].cone_apex_angle > 0 ) ) + THEN + RETURN( FALSE ); + ELSE + IF ( cskhole.conical_transitions[i].transition_number <> 1 ) AND ( cskhole.conical_transitions[i].transition_number <> n ) + THEN + + BEGIN + j := cskhole.conical_transitions[i].transition_number; + IF cskhole\solid_with_stepped_round_hole.segment_radii[j] > cskhole\solid_with_stepped_round_hole.segment_radii[j - 1] + THEN + + BEGIN + IF cskhole.conical_transitions[i].cone_apex_angle > 0 THEN + RETURN( FALSE ); + END_IF; + larger := cskhole\solid_with_stepped_round_hole.segment_radii[j]; + smaller := cskhole\solid_with_stepped_round_hole.segment_radii[j - 1]; + END; + ELSE + + BEGIN + IF cskhole.conical_transitions[i].cone_apex_angle < 0 THEN + RETURN( FALSE ); + END_IF; + larger := cskhole\solid_with_stepped_round_hole.segment_radii[j - 1]; + smaller := cskhole\solid_with_stepped_round_hole.segment_radii[j]; + END; + END_IF; + IF ( cskhole.conical_transitions[i].cone_base_radius > larger ) OR ( cskhole.conical_transitions[i].cone_base_radius + < smaller ) THEN + RETURN( FALSE ); + END_IF; + END; + END_IF; + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_ecdq_inspected_elements_type( + ei : externally_conditioned_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF externally_conditioned_data_quality_inspection_result := []; + dir : SET OF data_quality_inspection_instance_report := []; + sdiri : SET OF externally_conditioned_data_quality_inspection_instance_report_item := []; + t_type_list : BAG OF STRING := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + dir := dir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( dir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( dir ) BY 1; + sdiri := sdiri + QUERY ( q <* dir[i].inspected_instances | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdiri ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdiri ) BY 1; + IF SIZEOF( sdiri[i].inspected_elements ) <> SIZEOF( type_list ) THEN + RETURN( FALSE ); + END_IF; + t_type_list := type_list; + REPEAT j := 1 TO SIZEOF( sdiri[i].inspected_elements ) BY 1; + REPEAT k := 1 TO SIZEOF( t_type_list ) BY 1; + IF t_type_list[k] IN TYPEOF( sdiri[i].inspected_elements[j] ) THEN + t_type_list := t_type_list - t_type_list[k]; + ESCAPE; + END_IF; + END_REPEAT; + END_REPEAT; + IF SIZEOF( t_type_list ) > 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_inspected_elements_type( + ei : shape_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF shape_data_quality_inspection_result := []; + sdir : SET OF shape_data_quality_inspection_instance_report := []; + sdiri : SET OF shape_data_quality_inspection_instance_report_item := []; + t_type_list : BAG OF STRING := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdir := sdir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdiri := sdiri + QUERY ( q <* sdir[i].inspected_instances | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdiri ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdiri ) BY 1; + IF SIZEOF( sdiri[i].inspected_elements ) <> SIZEOF( type_list ) THEN + RETURN( FALSE ); + END_IF; + t_type_list := type_list; + REPEAT j := 1 TO SIZEOF( sdiri[i].inspected_elements ) BY 1; + REPEAT k := 1 TO SIZEOF( t_type_list ) BY 1; + IF t_type_list[k] IN TYPEOF( sdiri[i].inspected_elements[j] ) THEN + t_type_list := t_type_list - t_type_list[k]; + ESCAPE; + END_IF; + END_REPEAT; + END_REPEAT; + IF SIZEOF( t_type_list ) > 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_locations_of_extreme_value_type( + ei : shape_data_quality_criterion; + type_list : BAG OF STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF shape_data_quality_inspection_result := []; + sdir : SET OF shape_data_quality_inspection_instance_report := []; + sdei : SET OF instance_report_item_with_extreme_instances := []; + t_type_list : BAG OF STRING := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdir := sdir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdei := sdei + QUERY ( q <* sdir[i].inspected_instances | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF SIZEOF( sdei ) = 0 THEN + RETURN( TRUE ); + END_IF; + IF ( SIZEOF( type_list ) = 0 ) AND ( SIZEOF( sdei ) <> 0 ) THEN + RETURN( FALSE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdei ) BY 1; + REPEAT j := 1 TO SIZEOF( sdei[i].extreme_instances ) BY 1; + IF SIZEOF( sdei[i].extreme_instances[j].locations_of_extreme_value ) <> SIZEOF( type_list ) THEN + RETURN( FALSE ); + END_IF; + t_type_list := type_list; + REPEAT k := 1 TO SIZEOF( sdei[i].extreme_instances[j].locations_of_extreme_value ) BY 1; + REPEAT l := 1 TO SIZEOF( t_type_list ) BY 1; + IF t_type_list[l] IN TYPEOF( sdei[i].extreme_instances[j].locations_of_extreme_value[k] ) THEN + t_type_list := t_type_list - t_type_list[l]; + ESCAPE; + END_IF; + END_REPEAT; + END_REPEAT; + IF SIZEOF( t_type_list ) > 0 THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION validate_measured_data_type( + ei : shape_data_quality_criterion; + type_string : STRING + ) : LOGICAL; + + LOCAL + sdqir : SET OF shape_data_quality_inspection_result := []; + sdcr : SET OF shape_data_quality_inspection_criterion_report := []; + sdir : SET OF shape_data_quality_inspection_instance_report := []; + sdii : SET OF shape_data_quality_inspection_instance_report_item := []; + sdei : BAG OF instance_report_item_with_extreme_instances := []; + END_LOCAL; + sdqir := QUERY ( q <* bag_to_set( USEDIN( ei, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' ) IN TYPEOF( q ) ) ); + IF SIZEOF( sdqir ) = 0 THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdcr := sdcr + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdqir ) BY 1; + sdir := sdir + QUERY ( q <* bag_to_set( USEDIN( sdqir[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT' ) ) | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' ) IN TYPEOF( q ) ) ); + END_REPEAT; + IF ( SIZEOF( sdcr ) = 0 ) AND ( SIZEOF( sdir ) = 0 ) THEN + RETURN( TRUE ); + END_IF; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdii := sdii + QUERY ( q <* sdir[i].inspected_instances | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' ) IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdir ) BY 1; + sdei := sdei + QUERY ( q <* sdir[i].inspected_instances | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' ) IN TYPEOF( q ) ) ); + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdcr ) BY 1; + IF NOT ( type_string IN TYPEOF( sdcr[i].representative_measured_value ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdii ) BY 1; + IF NOT ( type_string IN TYPEOF( sdii[i].measured_value ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + REPEAT i := 1 TO SIZEOF( sdei ) BY 1; + REPEAT j := 1 TO SIZEOF( sdei[i].extreme_instances ) BY 1; + IF NOT ( type_string IN TYPEOF( sdei[i].extreme_instances[j].measured_value ) ) THEN + RETURN( FALSE ); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN( TRUE ); + + END_FUNCTION; + + FUNCTION value_limit_type( + iv : shape_data_quality_value_limit_type_select + ) : SET OF STRING; + + LOCAL + retval : SET OF STRING := []; + END_LOCAL; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_RANGE' ) IN TYPEOF( iv ) THEN + retval := TYPEOF( iv\compound_representation_item.item_element[1].value_component ); + END_IF; + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_DATA_QUALITY_VALUE_LIMIT' ) IN TYPEOF( iv ) THEN + IF ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MEASURE_WITH_UNIT' ) IN TYPEOF( iv ) THEN + retval := TYPEOF( iv\measure_with_unit.value_component ); + END_IF; + END_IF; + RETURN( retval ); + + END_FUNCTION; + + FUNCTION value_range_aggregate_rep_item( + agg : AGGREGATE OF representation_item + ) : BOOLEAN; + + BEGIN + IF SIZEOF( QUERY ( i1 <* agg | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' ) IN + TYPEOF( i1 ) ) ) ) = 6 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION value_range_wr1( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( agg ) = 2 ) AND ( ( SIZEOF( QUERY ( i1 <* agg | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i1 ) ) ) ) = 2 ) OR ( SIZEOF( QUERY ( i2 <* agg | ( + 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) ) ) = 2 ) ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION value_range_wr2( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF ( SIZEOF( QUERY ( i <* agg | ( i\representation_item.name = 'upper limit' ) ) ) = 1 ) AND ( SIZEOF( QUERY ( i <* agg | + ( i\representation_item.name = 'lower limit' ) ) ) = 1 ) THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION value_range_wr3( + agg : compound_item_definition + ) : BOOLEAN; + + BEGIN + IF SIZEOF( QUERY ( i1 <* agg | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN + TYPEOF( i1 ) ) AND ( SIZEOF( QUERY ( i2 <* agg | ( ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF( i2 ) ) AND ( i1 :<>: i2 ) AND ( i1\measure_with_unit.unit_component :=: i2\ + measure_with_unit.unit_component ) ) ) ) = 1 ) ) ) ) = 2 THEN + RETURN( TRUE ); + ELSE + RETURN( FALSE ); + END_IF; + END; + + END_FUNCTION; + + FUNCTION values_space_of( + expr : generic_expression + ) : maths_space; + + LOCAL + e_prefix : STRING := 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'; + typenames : SET OF STRING := TYPEOF( expr ); + END_LOCAL; + IF ( schema_prefix + 'MATHS_VARIABLE' ) IN typenames THEN + RETURN( expr\maths_variable.values_space ); + END_IF; + IF ( e_prefix + 'EXPRESSION' ) IN typenames THEN + IF ( e_prefix + 'NUMERIC_EXPRESSION' ) IN typenames THEN + IF expr\numeric_expression.is_int THEN + IF ( e_prefix + 'INT_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\int_literal.the_value] ) ); + ELSE + RETURN( the_integers ); + END_IF; + ELSE + IF ( e_prefix + 'REAL_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\real_literal.the_value] ) ); + ELSE + RETURN( the_reals ); + END_IF; + END_IF; + END_IF; + IF ( e_prefix + 'BOOLEAN_EXPRESSION' ) IN typenames THEN + IF ( e_prefix + 'BOOLEAN_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\boolean_literal.the_value] ) ); + ELSE + RETURN( the_booleans ); + END_IF; + END_IF; + IF ( e_prefix + 'STRING_EXPRESSION' ) IN typenames THEN + IF ( e_prefix + 'STRING_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\string_literal.the_value] ) ); + ELSE + RETURN( the_strings ); + END_IF; + END_IF; + RETURN( ? ); + END_IF; + IF ( schema_prefix + 'MATHS_FUNCTION' ) IN typenames THEN + IF expression_is_constant( expr ) THEN + RETURN( make_finite_space( [expr] ) ); + ELSE + RETURN( make_function_space( sc_equal, expr\maths_function.domain, sc_equal, expr\maths_function.range ) ); + END_IF; + END_IF; + IF ( schema_prefix + 'FUNCTION_APPLICATION' ) IN typenames THEN + RETURN( expr\function_application.func.range ); + END_IF; + IF ( schema_prefix + 'MATHS_SPACE' ) IN typenames THEN + IF expression_is_constant( expr ) THEN + RETURN( make_finite_space( [expr] ) ); + ELSE + RETURN( make_elementary_space( es_maths_spaces ) ); + END_IF; + END_IF; + IF ( schema_prefix + 'DEPENDENT_VARIABLE_DEFINITION' ) IN typenames THEN + RETURN( values_space_of( expr\unary_generic_expression.operand ) ); + END_IF; + IF ( schema_prefix + 'COMPLEX_NUMBER_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr] ) ); + END_IF; + IF ( schema_prefix + 'LOGICAL_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\logical_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'BINARY_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\binary_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'MATHS_ENUM_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\maths_enum_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'REAL_TUPLE_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\real_tuple_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'INTEGER_TUPLE_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\integer_tuple_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'ATOM_BASED_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\atom_based_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'MATHS_TUPLE_LITERAL' ) IN typenames THEN + RETURN( make_finite_space( [expr\maths_tuple_literal.lit_value] ) ); + END_IF; + IF ( schema_prefix + 'PARTIAL_DERIVATIVE_EXPRESSION' ) IN typenames THEN + RETURN( drop_numeric_constraints( values_space_of( expr\partial_derivative_expression.derivand ) ) ); + END_IF; + IF ( schema_prefix + 'DEFINITE_INTEGRAL_EXPRESSION' ) IN typenames THEN + RETURN( drop_numeric_constraints( values_space_of( expr\definite_integral_expression.integrand ) ) ); + END_IF; + RETURN( ? ); + + END_FUNCTION; + + FUNCTION vector_difference( + arg1, arg2 : vector_or_direction + ) : vector; + + LOCAL + result : vector; + res : direction; + vec1 : direction; + vec2 : direction; + mag : REAL; + mag1 : REAL; + mag2 : REAL; + ndim : INTEGER; + END_LOCAL; + IF ( NOT EXISTS( arg1 ) ) OR ( NOT EXISTS( arg2 ) ) OR ( arg1.dim <> arg2.dim ) THEN + RETURN( ? ); + ELSE + + BEGIN + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF( arg1 ) THEN + mag1 := arg1\vector.magnitude; + vec1 := arg1\vector.orientation; + ELSE + mag1 := 1; + vec1 := arg1; + END_IF; + IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF( arg2 ) THEN + mag2 := arg2\vector.magnitude; + vec2 := arg2\vector.orientation; + ELSE + mag2 := 1; + vec2 := arg2; + END_IF; + vec1 := normalise( vec1 ); + vec2 := normalise( vec2 ); + ndim := SIZEOF( vec1.direction_ratios ); + mag := 0; + res := dummy_gri || direction( vec1.direction_ratios ); + REPEAT i := 1 TO ndim BY 1; + res.direction_ratios[i] := ( mag1 * vec1.direction_ratios[i] ) - ( mag2 * vec2.direction_ratios[i] ); + mag := mag + ( res.direction_ratios[i] * res.direction_ratios[i] ); + END_REPEAT; + IF mag > 0 THEN + result := dummy_gri || vector( res, SQRT( mag ) ); + ELSE + result := dummy_gri || vector( vec1, 0 ); + END_IF; + END; + END_IF; + RETURN( result ); + + END_FUNCTION; + + FUNCTION ypr_index( + ypr : ypr_enumeration + ) : INTEGER; + CASE ypr OF + yaw : RETURN( 1 ); + pitch : RETURN( 2 ); + roll : RETURN( 3 ); + END_CASE; + RETURN( ? ); + + END_FUNCTION; + +END_SCHEMA; diff --git a/data/cd209/part409cdts_wg3n2617mim_lf.exp b/data/cd209/part409cdts_wg3n2617mim_lf.exp deleted file mode 100644 index 39f760841..000000000 --- a/data/cd209/part409cdts_wg3n2617mim_lf.exp +++ /dev/null @@ -1,45948 +0,0 @@ -(* -$Id: mim_lf.exp,v 1.20 2013/02/20 01:23:04 thomasrthurman Exp $ -*) - -(* ===================================================================================== *) -(* Long form schema generated by The EXPRESS Data Manager compiler version 9.8.3B 20121030*) -(* Tue Feb 19 15:18:16 2013 *) -(* The schema is converted from ISO10303 P11-2003 to ISO10303 P11-1994 *) -(* ===================================================================================== *) - -SCHEMA Ap209_multidisciplinary_analysis_and_design_mim_LF; - - - -(* -USE FROM Ap242_managed_model_based_3d_engineering_mim; - - -USE FROM Analysis_assignment_mim; -USE FROM Analysis_characterized_mim; -USE FROM Analysis_identification_mim; -USE FROM Analysis_product_relationships_mim; - - -USE FROM Analysis_mim; -USE FROM Analysis_representation_mim; -USE FROM Cfd_model_mim; -USE FROM Finite_elements_mim; -USE FROM Mesh_connectivity_mim; -USE FROM Mesh_topology_mim; -USE FROM Product_analysis_mim; - - -USE FROM Analysis_shape_mim; -USE FROM Finite_element_shape_mim; - - -USE FROM Cfd_specified_general_property_mim; -USE FROM Fea_definition_relationships_mim; -USE FROM Fea_material_aspects_mim; - - -USE FROM Cfd_equations_mim; -USE FROM Cfd_results_mim; -USE FROM Finite_element_analysis_mim; -USE FROM Mesh_function_mim; - - -USE FROM mathematical_functions_schema; -USE FROM ISO13584_generic_expressions_schema; -USE FROM ISO13584_expressions_schema; - -USE FROM Part_view_definition_mim; -USE FROM Collection_identification_and_version_mim; -*) - -CONSTANT -schema_date_stamp : STRING := 'Tue Feb 19 15:18:16 2013'; -(* Implicit interfaced from: mathematical_functions_schema *) - the_integer_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_integers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_empty_maths_tuple : maths_tuple := []; - -(* Implicit interfaced from: mathematical_functions_schema *) - the_generics : elementary_space := make_elementary_space(es_generics); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_integers : elementary_space := make_elementary_space(es_integers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_reals : elementary_space := make_elementary_space(es_reals); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_booleans : elementary_space := make_elementary_space(es_booleans); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_strings : elementary_space := make_elementary_space(es_strings); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_complex_numbers : elementary_space := make_elementary_space(es_complex_numbers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_numbers : elementary_space := make_elementary_space(es_numbers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_zero_tuple_space : listed_product_space := make_listed_product_space([]); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_generics); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_empty_space : finite_space := make_finite_space([]); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_logicals : elementary_space := make_elementary_space(es_logicals); - -(* Implicit interfaced from: mathematical_functions_schema *) schema_prefix : STRING := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; - -(* Implicit interfaced from: mathematical_functions_schema *) - the_real_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_reals); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_nonnegative_reals : real_interval_from_min := - make_real_interval_from_min(0.0, closed); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_neg1_one_interval : finite_real_interval := make_finite_real_interval( - -1.0, closed, 1.0, closed); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_complex_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_complex_numbers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_binarys : elementary_space := make_elementary_space(es_binarys); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_maths_spaces : elementary_space := make_elementary_space(es_maths_spaces); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_zero_pi_interval : finite_real_interval := make_finite_real_interval( - 0.0, closed, pi, closed); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_neghalfpi_halfpi_interval : finite_real_interval := make_finite_real_interval( - -0.5*pi, closed, 0.5*pi, closed); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_negpi_pi_interval : finite_real_interval := make_finite_real_interval( - -pi, open, pi, closed); - -(* Implicit interfaced from: Picture_representation_mim *) - pre_defined_picture_representation_types : SET [0:?] OF STRING := [ 'JPEG', 'PNG', 'TIFF', 'BMP', 'GIF']; - -(* Implicit interfaced from: geometry_schema *) - dummy_gri : geometric_representation_item := representation_item('')|| geometric_representation_item(); - -(* Implicit interfaced from: topology_schema *) - dummy_tri : topological_representation_item := representation_item('')|| - topological_representation_item(); - -END_CONSTANT; - -(* Pruned unused type: pdq_person_and_organization_item *) - - -(* Pruned unused type: ap209e2_analysed_item *) - - -(* Pruned unused type: ap209e2_groupable_item *) - - -(* Pruned unused type: ap209e2_analysis_identification_item *) - - -(* Pruned unused type: property_variable_rep_select_242 *) - - -(* Pruned unused type: item_identified_representation_usage_definition_242 *) - - -(* Pruned unused type: draughting_model_item_definition_242 *) - - -(* Pruned unused type: ap242_change_management_object *) - - -(* Pruned unused type: ap242_change_relationship_select *) - - -(* Pruned unused type: action_request_item_242 *) - - -(* Pruned unused type: aliasable_item_242 *) - - -(* Pruned unused type: approval_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE approved_item = SELECT - (certification, - change, - change_request, - configuration_effectivity, - configuration_item, - contract, - product, - security_classification, - start_request, - start_work); - END_TYPE; - -(* Pruned unused type: attribute_language_item_242 *) - - -(* Pruned unused type: certification_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE certified_item = SELECT - (supplied_part_relationship); - END_TYPE; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE change_request_item = SELECT - (product_definition_formation); - END_TYPE; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE cc_classified_item = SELECT - (assembly_component_usage, - product_definition_formation); - END_TYPE; - -(* Pruned unused type: contract_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE contracted_item = SELECT - (product_definition_formation); - END_TYPE; - -(* Pruned unused type: date_and_time_item_242 *) - - -(* Pruned unused type: date_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE date_time_item = SELECT - (approval_person_organization, - certification, - change, - change_request, - contract, - product_definition, - security_classification, - start_request, - start_work); - END_TYPE; - -(* Pruned unused type: document_reference_item_242 *) - - -(* Pruned unused type: effectivity_item_242 *) - - -(* Pruned unused type: event_occurrence_item_242 *) - - -(* Pruned unused type: external_identification_item_242 *) - - -(* Pruned unused type: groupable_item_242 *) - - -(* Pruned unused type: identification_item_242 *) - - -(* Pruned unused type: multi_language_attribute_item_242 *) - - -(* Pruned unused type: organization_item_242 *) - - -(* Pruned unused type: organizational_project_item_242 *) - - -(* Pruned unused type: person_and_organization_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE cc_person_organization_item = SELECT - (change, - change_request, - configuration_item, - contract, - product, - product_definition, - product_definition_formation, - security_classification, - start_request, - start_work); - END_TYPE; - -(* Pruned unused type: presented_item_select_242 *) - - -(* Pruned unused type: security_classification_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE cc_specified_item = SELECT - (product_definition, - shape_aspect); - END_TYPE; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE start_request_item = SELECT - (product_definition_formation); - END_TYPE; - -(* Pruned unused type: time_interval_item_242 *) - - -(* Pruned unused type: action_items_242 *) - - -(* Pruned unused type: classification_item_242 *) - - -(* Pruned unused type: configured_effectivity_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE work_item = SELECT - (product_definition_formation); - END_TYPE; -(* USED FROM (Analysis_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE analysed_item = SELECT ( - fea_model, - product_definition, - temporal_spatial_domain); -END_TYPE; - - -(* Pruned unused type: analysis_identification_item *) - - -(* Pruned unused type: analysis_approval_item *) - - -(* Pruned unused type: analysis_classification_item *) - - -(* Pruned unused type: analysis_contract_item *) - - -(* Pruned unused type: analysis_date_and_time_item *) - - -(* Pruned unused type: analysis_date_item *) - - -(* Pruned unused type: analysis_organization_item *) - - -(* Pruned unused type: analysis_person_and_organization_item *) - - -(* Pruned unused type: analysis_security_classification_item *) - -(* USED FROM (Approval_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE approval_item = SELECT ( - action, - action_directive, - action_property, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_usage_right, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - control, - date, - directed_action, - document, - document_file, - draughting_model, - drawing_revision, - effectivity, - executed_action, - fea_model, - frozen_assignment, - general_property, - general_property_relationship, - group, - group_relationship, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organizational_project, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - representation, - requirement_assignment, - resource_property, - result, - security_classification, - shape_aspect_relationship, - shape_representation, - temporal_spatial_domain, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: date_and_time_item_approval *) - - -(* Pruned unused type: date_item_approval *) - -(* USED FROM (Classification_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE classification_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - action_request_status, - address, - alternate_product_relationship, - applied_action_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_contract_assignment, - applied_date_and_time_assignment, - applied_date_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval, - approval_person_organization, - approval_relationship, - approval_status, - assembly_component_usage_substitute, - calendar_date, - certification, - characterized_class, - characterized_object, - class, - classified_item, - configuration_item, - context_dependent_unit, - contract, - conversion_based_unit, - date_and_time, - date_and_time_assignment, - date_assignment, - derived_unit, - descriptive_representation_item, - directed_action, - document_file, - document_relationship, - document_type, - effectivity, - event_occurrence, - executed_action, - feature_definition, - general_feature, - general_property, - general_property_relationship, - group, - identification_assignment, - information_right, - information_usage_right, - language, - material_designation, - measure_representation_item, - measure_with_unit, - multi_language_attribute_assignment, - named_unit, - organization, - organization_relationship, - organizational_address, - organizational_project, - organizational_project_relationship, - person, - person_and_organization_address, - plus_minus_tolerance, - process_operation, - product, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - property_definition, - property_definition_representation, - representation, - representation_context, - representation_item, - resource_property, - security_classification, - security_classification_level, - shape_aspect, - state_type, - state_type_assignment, - state_type_relationship, - uncertainty_measure_with_unit, - usage_association, - versioned_action_request); -END_TYPE; - -(* USED FROM (Contract_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE contract_item = SELECT ( - action_directive, - alternate_product_relationship, - directed_action, - drawing_revision, - executed_action, - information_usage_right, - organization, - person_and_organization, - product, - product_definition_formation); -END_TYPE; - -(* USED FROM (Date_time_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE date_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval_person_organization, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - directed_action, - document, - document_file, - draughting_model, - drawing_revision, - effectivity, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Date_time_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE date_and_time_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval_person_organization, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - directed_action, - document, - document_file, - draughting_model, - drawing_revision, - effectivity, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - rule_action, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Person_organization_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE organization_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - document_file, - document_type, - draughting_model, - drawing_revision, - effectivity, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - rule_action, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Person_organization_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE person_and_organization_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - document_file, - document_type, - draughting_model, - drawing_revision, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - rule_action, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Security_classification_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE security_classification_item = SELECT ( - action, - action_directive, - action_property, - applied_action_assignment, - assembly_component_usage, - assembly_component_usage_substitute, - class_system, - configuration_design, - configuration_effectivity, - configured_effectivity_assignment, - document, - document_file, - draughting_model, - drawing_revision, - executed_action, - general_property, - make_from_usage_option, - material_designation, - mechanical_design_geometric_presentation_representation, - organizational_project, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_formation, - product_definition_relationship, - product_definition_usage, - property_definition, - resource_property, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Identification_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE identification_item = SELECT ( - action, - action_directive, - action_method, - action_property, - applied_identification_assignment, - approval_status, - characterized_class, - class, - class_system, - configuration_item, - contract, - dimensional_size, - document_file, - document_type, - draughting_model, - effectivity, - general_property, - group, - group_relationship, - information_right, - information_usage_right, - material_designation, - measure_representation_item, - mechanical_design_geometric_presentation_representation, - organization, - organizational_project, - person_and_organization, - presentation_area, - product, - product_category, - product_class, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_formation, - product_definition_relationship, - product_identification, - property_definition, - property_definition_relationship, - representation, - rule_set, - security_classification, - security_classification_level, - shape_aspect_relationship, - shape_representation, - state_type, - state_type_relationship, - usage_association, - versioned_action_request); -END_TYPE; - -(* USED FROM (Shape_property_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE geometric_model_item = SELECT ( - connected_face_set, - edge_loop, - geometric_representation_item); -END_TYPE; - -(* USED FROM (Shape_property_assignment_mim); *) -TYPE geometric_item_specific_usage_select = SELECT - (shape_aspect, - shape_aspect_relationship); -END_TYPE; -(* USED FROM (Shape_property_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE shape_model = SELECT ( - constructive_geometry_representation, - shape_representation); -END_TYPE; - -(* USED FROM (mathematical_functions_schema); *) -TYPE nonnegative_integer = INTEGER; -WHERE -nonnegativity: SELF >= 0; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE positive_integer = nonnegative_integer; -WHERE positivity: SELF > 0; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE zero_or_one = nonnegative_integer; -WHERE in_range: (SELF = 0) OR (SELF = 1); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE one_or_two = positive_integer; -WHERE in_range: (SELF = 1) OR (SELF = 2); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_number = NUMBER; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_real = REAL; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_integer = INTEGER; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_logical = LOGICAL; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_boolean = BOOLEAN; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_string = STRING; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_binary = BINARY; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_simple_atom = SELECT - (maths_number, - maths_real, - maths_integer, - maths_logical, - maths_boolean, - maths_string, - maths_binary); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_atom = SELECT - (maths_simple_atom, - maths_enum_atom); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE atom_based_tuple = LIST OF atom_based_value; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE atom_based_value = SELECT - (maths_atom, - atom_based_tuple); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_tuple = LIST [0:?] OF maths_value; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_value = SELECT - (atom_based_value, - maths_tuple, - generic_expression); -WHERE - constancy: NOT ('GENERIC_EXPRESSION' IN stripped_typeof(SELF)) OR - expression_is_constant(SELF); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_expression = SELECT - (atom_based_value, - maths_tuple, - generic_expression); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_function_select = SELECT - (maths_function, - elementary_function_enumerators); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE input_selector = positive_integer; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE elementary_space_enumerators = ENUMERATION OF - (es_numbers, - es_complex_numbers, - es_reals, - es_integers, - es_logicals, - es_booleans, - es_strings, - es_binarys, - es_maths_spaces, - es_maths_functions, - es_generics); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE ordering_type = ENUMERATION OF - (by_rows, - by_columns); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE lower_upper = ENUMERATION OF - (lower, - upper); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE symmetry_type = ENUMERATION OF - (identity, - skew, - hermitian, - skew_hermitian); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE elementary_function_enumerators = ENUMERATION OF - (ef_and, ef_or, ef_not, ef_xor, - ef_negate_i, ef_add_i, ef_subtract_i, ef_multiply_i, ef_divide_i, ef_mod_i, - ef_exponentiate_i, ef_eq_i, ef_ne_i, ef_gt_i, ef_lt_i, ef_ge_i, ef_le_i, - ef_abs_i, ef_max_i, ef_min_i, ef_if_i, - ef_negate_r, ef_reciprocal_r, ef_add_r, ef_subtract_r, ef_multiply_r, - ef_divide_r, ef_mod_r, ef_exponentiate_r, ef_exponentiate_ri, - ef_eq_r, ef_ne_r, ef_gt_r, ef_lt_r, ef_ge_r, ef_le_r, ef_abs_r, - ef_max_r, ef_min_r, ef_acos_r, ef_asin_r, ef_atan2_r, ef_cos_r, ef_exp_r, - ef_ln_r, ef_log2_r, ef_log10_r, ef_sin_r, ef_sqrt_r, ef_tan_r, ef_if_r, - ef_form_c, ef_rpart_c, ef_ipart_c, - ef_negate_c, ef_reciprocal_c, ef_add_c, ef_subtract_c, ef_multiply_c, - ef_divide_c, ef_exponentiate_c, ef_exponentiate_ci, ef_eq_c, ef_ne_c, - ef_conjugate_c, ef_abs_c, ef_arg_c, ef_cos_c, ef_exp_c, ef_ln_c, ef_sin_c, - ef_sqrt_c, ef_tan_c, ef_if_c, - ef_subscript_s, ef_eq_s, ef_ne_s, ef_gt_s, ef_lt_s, ef_ge_s, ef_le_s, - ef_subsequence_s, ef_concat_s, ef_size_s, ef_format, ef_value, ef_like, ef_if_s, - ef_subscript_b, ef_eq_b, ef_ne_b, ef_gt_b, ef_lt_b, ef_ge_b, ef_le_b, - ef_subsequence_b, ef_concat_b, ef_size_b, ef_if_b, - ef_subscript_t, ef_eq_t, ef_ne_t, ef_concat_t, ef_size_t, - ef_entuple, ef_detuple, ef_insert, ef_remove, ef_if_t, - ef_sum_it, ef_product_it, - ef_add_it, ef_subtract_it, ef_scalar_mult_it, ef_dot_prod_it, - ef_sum_rt, ef_product_rt, - ef_add_rt, ef_subtract_rt, ef_scalar_mult_rt, ef_dot_prod_rt, ef_norm_rt, - ef_sum_ct, ef_product_ct, - ef_add_ct, ef_subtract_ct, ef_scalar_mult_ct, ef_dot_prod_ct, ef_norm_ct, - ef_if, ef_ensemble, ef_member_of); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE open_closed = ENUMERATION OF - (open, - closed); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE space_constraint_type = ENUMERATION OF - (sc_equal, - sc_subspace, - sc_member); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE repackage_options = ENUMERATION OF - (ro_nochange, - ro_wrap_as_tuple, - ro_unwrap_tuple); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE extension_options = ENUMERATION OF - (eo_none, - eo_cont, - eo_cont_right, - eo_cont_left); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_enum_atom = SELECT - (elementary_space_enumerators, - ordering_type, - lower_upper, - symmetry_type, - elementary_function_enumerators, - open_closed, - space_constraint_type, - repackage_options, - extension_options); -END_TYPE; - -(* Pruned unused type: classification_identification_item *) - - -(* Pruned unused type: classification_item_extended *) - -(* USED FROM (mathematical_functions_schema); *) -TYPE product_space = SELECT - (uniform_product_space, - listed_product_space); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE tuple_space = SELECT - (product_space, - extended_tuple_space); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_space_or_function = SELECT - (maths_space, - maths_function); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE real_interval = SELECT - (real_interval_from_min, - real_interval_to_max, - finite_real_interval, - elementary_space); -WHERE - WR1: NOT ('ELEMENTARY_SPACE' IN stripped_typeof(SELF)) OR - (SELF\elementary_space.space_id = es_reals); -END_TYPE; - -(* Pruned unused type: collection_assignment_groupable_item *) - - -(* Pruned unused type: collection_membership_groupable_item *) - -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE inspected_ecdq_element_select = inspected_element_select; -END_TYPE; - - -(* Pruned unused type: csg2d_bounded_primitive_2d *) - -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE boolean_operand_2d = SELECT ( - bounded_primitive_2d, - boolean_result_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE compound_inner_area_boundary = SELECT ( - set_inner_area_boundary); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE csg_2d_area_select = SELECT ( - axis2_placement_2d, - csg_primitive_solid_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE csg_2d_shape_select = SELECT ( - mapped_item, - axis2_placement_2d, - csg_solid_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE csg_select_2d = SELECT ( - bounded_primitive_2d, - boolean_result_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE set_inner_area_boundary = SET [1:?] OF bounded_primitive_2d; - END_TYPE; - -(* Pruned unused type: dt_document_reference_item *) - - -(* Pruned unused type: design_pdm_action_item *) - - -(* Pruned unused type: design_pdm_action_method_items *) - - -(* Pruned unused type: design_pdm_action_request_item *) - - -(* Pruned unused type: design_pdm_approval_item *) - - -(* Pruned unused type: design_pdm_attribute_classification_item *) - - -(* Pruned unused type: design_pdm_attribute_language_item *) - - -(* Pruned unused type: design_pdm_certification_item *) - - -(* Pruned unused type: design_pdm_classification_item *) - - -(* Pruned unused type: design_pdm_configured_effectivity_item *) - - -(* Pruned unused type: design_pdm_contract_item *) - - -(* Pruned unused type: design_pdm_date_and_time_item *) - - -(* Pruned unused type: design_pdm_date_item *) - - -(* Pruned unused type: design_pdm_document_reference_item *) - - -(* Pruned unused type: design_pdm_effectivity_item *) - - -(* Pruned unused type: design_pdm_event_occurrence_item *) - - -(* Pruned unused type: design_pdm_groupable_item *) - - -(* Pruned unused type: design_pdm_identification_item *) - - -(* Pruned unused type: design_pdm_ir_usage_item *) - - -(* Pruned unused type: design_pdm_multi_language_attribute_item *) - - -(* Pruned unused type: design_pdm_name_item *) - - -(* Pruned unused type: design_pdm_organization_item *) - - -(* Pruned unused type: design_pdm_project_item *) - - -(* Pruned unused type: design_pdm_person_and_organization_item *) - - -(* Pruned unused type: design_pdm_requirement_assigned_item *) - - -(* Pruned unused type: design_pdm_requirement_source_item *) - - -(* Pruned unused type: design_pdm_security_classification_item *) - - -(* Pruned unused type: promissory_usage_in_product_model_assigned_item *) - - -(* Pruned unused type: design_pdm_time_interval_item *) - - -(* Pruned unused type: datc_draughting_model_item_definition *) - - -(* Pruned unused type: dimensioning_standard_document_reference_item *) - - -(* Pruned unused type: dimension_identification_item *) - - -(* Pruned unused type: dimension_tolerance_document_reference_item *) - - -(* Pruned unused type: eri_external_identification *) - -(* USED FROM (Mechanical_design_presentation_representation_with_draughting_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE mechanical_design_and_draughting_relationship_select = SELECT ( - draughting_model, - mechanical_design_geometric_presentation_representation, - mechanical_design_presentation_representation_with_draughting, - mechanical_design_shaded_presentation_representation, - shape_representation); -END_TYPE; - -(* USED FROM (Picture_representation_mim); *) - TYPE picture_representation_item_select = SELECT ( - styled_item, - planar_box, - axis2_placement_2d); - END_TYPE; - -(* Pruned unused type: pr_external_identification_item *) - - -(* Pruned unused type: pc_action_items *) - -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE angle_direction_reference_select = SELECT ( - direction, - curve, - point_path); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE angle_direction_reference_with_a2p3d_select = SELECT ( - angle_direction_reference_select, - axis2_placement_3d); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE orientation_basis_select = SELECT ( - axis2_placement_3d, - min_and_major_ply_orientation_basis); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE point_and_vector_member = SELECT (point, direction); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE point_and_vector_members = LIST [2:3] OF point_and_vector_member; - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE point_path_members = LIST [1:?] OF point_and_vector; - END_TYPE; - -(* Pruned unused type: mb3dgdtr_geometric_model_item *) - - -(* Pruned unused type: cm_approval_item *) - -(* USED FROM (Change_management_mim); *) -TYPE previous_element_assignment_select = SELECT (modify_element, delete_element); -END_TYPE; -(* USED FROM (Change_management_mim); *) -TYPE current_element_assignment_select = SELECT (modify_element, add_element); -END_TYPE; -(* USED FROM (Change_management_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE change_relationship_select = SELECT ( - action_relationship, - product_definition_formation_relationship, - product_definition_relationship, - shape_aspect_relationship); -END_TYPE; - -(* USED FROM (Change_management_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE change_management_object = SELECT ( - action, - action_items, - action_relationship, - class, - event_occurrence, - project_item); -END_TYPE; - -(* USED FROM (Change_management_mim); *) -TYPE location_in_aggregate_item = LIST [1:?] OF integer_representation_item; -END_TYPE; -(* USED FROM (Point_direction_model_mim); *) -TYPE point_placement_shape_representation_item = SELECT ( - compound_representation_item, - mapped_item, - axis2_placement_3d); -END_TYPE; -(* USED FROM (Numerical_interface_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE property_variable_rep_select = SELECT ( - dimensional_size, - representation); -END_TYPE; - -(* USED FROM (Numerical_interface_mim); *) -TYPE expression_extension_select = SELECT ( - expression_extension_string, - expression_extension_numeric); -END_TYPE; -(* USED FROM (product_property_representation_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE item_identified_representation_usage_definition = SELECT ( - applied_action_assignment, - applied_action_method_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_classification_assignment, - applied_contract_assignment, - applied_date_and_time_assignment, - applied_date_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_group_assignment, - applied_identification_assignment, - applied_ineffectivity_assignment, - applied_name_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - applied_time_interval_assignment, - applied_usage_right, - dimensional_size, - geometric_tolerance, - product_definition_relationship, - property_definition, - represented_definition); -END_TYPE; - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE role_select = SELECT ( - action_assignment, - action_request_assignment, - approval_assignment, - approval_date_time, - certification_assignment, - contract_assignment, - document_reference, - effectivity_assignment, - group_assignment, - name_assignment, - security_classification_assignment); -END_TYPE; - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE id_attribute_select = SELECT ( - action, - address, - application_context, - dimensional_size, - geometric_tolerance, - group, - organizational_project, - product_category, - property_definition, - representation, - shape_aspect, - shape_aspect_relationship); -END_TYPE; - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE name_attribute_select = SELECT ( - action_request_solution, - address, - configuration_design, - context_dependent_shape_representation, - derived_unit, - effectivity, - person_and_organization, - product_definition, - product_definition_substitute, - property_definition_representation); -END_TYPE; - - -(* Pruned unused type: representation_identification_item *) - -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE angular_value = - context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE scalar = - context_dependent_measure; -END_TYPE; - -(* Pruned unused type: tensor1 *) - -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE tensor1_2d = - ARRAY [1:2] OF context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE tensor1_3d = - ARRAY [1:3] OF context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE symmetric_tensor2_2d = SELECT - (anisotropic_symmetric_tensor2_2d); -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE anisotropic_symmetric_tensor2_2d = - ARRAY [1:3] OF context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE symmetric_tensor2_3d = SELECT - (isotropic_symmetric_tensor2_3d, - orthotropic_symmetric_tensor2_3d, - anisotropic_symmetric_tensor2_3d); -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE isotropic_symmetric_tensor2_3d = - context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE orthotropic_symmetric_tensor2_3d = - ARRAY [1:3] OF context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE anisotropic_symmetric_tensor2_3d = - ARRAY [1:6] OF context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE symmetric_tensor4_2d = SELECT - (anisotropic_symmetric_tensor4_2d); -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE anisotropic_symmetric_tensor4_2d = - ARRAY [1:6] OF context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE tensor_type = SELECT - (scalar, - angular_value, - tensor1_2d, - tensor1_3d, - anisotropic_symmetric_tensor2_2d, - isotropic_symmetric_tensor2_3d, - orthotropic_symmetric_tensor2_3d, - anisotropic_symmetric_tensor2_3d, - anisotropic_symmetric_tensor4_2d, - anisotropic_symmetric_tensor4_3d, - fea_isotropic_symmetric_tensor4_3d, - fea_iso_orthotropic_symmetric_tensor4_3d, - fea_transverse_isotropic_symmetric_tensor4_3d, - fea_column_normalised_orthotropic_symmetric_tensor4_3d, - fea_column_normalised_monoclinic_symmetric_tensor4_3d); -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE symmetric_tensor4_3d = SELECT - (anisotropic_symmetric_tensor4_3d, - fea_isotropic_symmetric_tensor4_3d, - fea_iso_orthotropic_symmetric_tensor4_3d, - fea_transverse_isotropic_symmetric_tensor4_3d, - fea_column_normalised_orthotropic_symmetric_tensor4_3d, - fea_column_normalised_monoclinic_symmetric_tensor4_3d); -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE anisotropic_symmetric_tensor4_3d = - ARRAY [1:21] OF context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE fea_isotropic_symmetric_tensor4_3d = - ARRAY [1:2] OF context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE fea_iso_orthotropic_symmetric_tensor4_3d = - ARRAY [1:3] OF context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE fea_transverse_isotropic_symmetric_tensor4_3d = - ARRAY [1:5] OF context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE fea_column_normalised_orthotropic_symmetric_tensor4_3d = - ARRAY [1:9] OF context_dependent_measure; -END_TYPE; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -TYPE fea_column_normalised_monoclinic_symmetric_tensor4_3d = - ARRAY [1:13] OF context_dependent_measure; -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE axi_or_plane = ENUMERATION OF - (axisymmetric, - planar); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE coordinate_system_type = ENUMERATION OF - (cartesian, - cylindrical, - spherical); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE element_order = ENUMERATION OF - (linear, - quadratic, - cubic); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE plane_2d_element_purpose = SELECT - (enumerated_plane_2d_element_purpose, - application_defined_element_purpose); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE enumerated_plane_2d_element_purpose = ENUMERATION OF - (plane_stress, - plane_strain); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE application_defined_element_purpose = STRING; -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE volume_element_purpose = SELECT - (enumerated_volume_element_purpose, - application_defined_element_purpose); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE enumerated_volume_element_purpose = ENUMERATION OF - (stress_displacement); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE surface_element_purpose = SELECT - (enumerated_surface_element_purpose, - application_defined_element_purpose); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE enumerated_surface_element_purpose = ENUMERATION OF - (membrane_direct, - membrane_shear, - bending_direct, - bending_torsion, - normal_to_plane_shear); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE curve_element_purpose = SELECT - (enumerated_curve_element_purpose, - application_defined_element_purpose); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE enumerated_curve_element_purpose = ENUMERATION OF - (axial, - y_y_bending, - z_z_bending, - torsion, - x_y_shear, - x_z_shear, - warping); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE volume_3d_element_shape = ENUMERATION OF - (hexahedron, - wedge, - tetrahedron, - pyramid); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE element_2d_shape = ENUMERATION OF - (quadrilateral, - triangle); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE matrix_property_type = SELECT - (enumerated_matrix_property_type, - application_defined_matrix_property_type); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE enumerated_matrix_property_type = ENUMERATION OF - (stiffness, - mass, - damping); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE application_defined_matrix_property_type = STRING; -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE surface_matrix_property_type = SELECT - (enumerated_surface_matrix_property_type, - application_defined_matrix_property_type); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE enumerated_surface_matrix_property_type = ENUMERATION OF - (membrane_direct, - membrane_shear, - bending_direct, - bending_torsion, - normal_to_plane_shear, - membrane_direct_mass, - membrane_shear_mass, - bending_direct_mass, - bending_torsion_mass, - normal_to_plane_shear_mass, - mass); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE curve_matrix_property_type = SELECT - (enumerated_curve_matrix_property_type, - application_defined_matrix_property_type); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE enumerated_curve_matrix_property_type = ENUMERATION OF - (axial, - y_y_bending, - z_z_bending, - torsion, - x_y_shear, - x_z_shear, - warping, - axial_mass, - y_y_bending_mass, - z_z_bending_mass, - torsion_mass, - x_y_shear_mass, - x_z_shear_mass, - warping_mass, - mass); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE matrix_symmetry = ENUMERATION OF - (symmetric, - diagonal); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE degree_of_freedom = SELECT - (enumerated_degree_of_freedom, - application_defined_degree_of_freedom); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE enumerated_degree_of_freedom = ENUMERATION OF - (x_translation, y_translation, z_translation, - x_rotation, y_rotation, z_rotation, - warp); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE application_defined_degree_of_freedom = STRING; -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE curve_element_freedom = SELECT - (enumerated_curve_element_freedom, - application_defined_degree_of_freedom); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE enumerated_curve_element_freedom = ENUMERATION OF - (x_translation, y_translation, z_translation, - x_rotation, y_rotation, z_rotation, - warp, - none); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE integration_rule = ENUMERATION OF - (gaussian, - simpson); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE shape_function = ENUMERATION OF - (lagrangian, - serendipity, - hermitian, - unspecified); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE volume_2d_element_representation = SELECT - (axisymmetric_volume_2d_element_representation, - plane_volume_2d_element_representation); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE surface_2d_element_representation = SELECT - (axisymmetric_surface_2d_element_representation, - plane_surface_2d_element_representation); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE curve_2d_element_representation = SELECT - (axisymmetric_curve_2d_element_representation, - plane_curve_2d_element_representation); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE volume_2d_element_descriptor = SELECT - (axisymmetric_volume_2d_element_descriptor, - plane_volume_2d_element_descriptor); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE surface_2d_element_descriptor = SELECT - (axisymmetric_surface_2d_element_descriptor, - plane_surface_2d_element_descriptor); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE curve_2d_element_descriptor = SELECT - (axisymmetric_curve_2d_element_descriptor, - plane_curve_2d_element_descriptor); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE volume_3d_element_coordinate_system = SELECT - (arbitrary_volume_3d_element_coordinate_system, - parametric_volume_3d_element_coordinate_system); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE volume_2d_element_coordinate_system = SELECT - (arbitrary_volume_2d_element_coordinate_system, - parametric_volume_2d_element_coordinate_system); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE surface_3d_element_coordinate_system = SELECT - (aligned_surface_3d_element_coordinate_system, - parametric_surface_3d_element_coordinate_system, - constant_surface_3d_element_coordinate_system); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE surface_2d_element_coordinate_system = SELECT - (aligned_surface_2d_element_coordinate_system, - parametric_surface_2d_element_coordinate_system); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE curve_3d_element_coordinate_system = SELECT - (aligned_curve_3d_element_coordinate_system, - parametric_curve_3d_element_coordinate_system); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE curve_element_end_coordinate_system = SELECT - (fea_axis2_placement_3d, - curve_3d_element_coordinate_system); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE directionally_explicit_element_coordinate_system = SELECT - (directionally_explicit_element_coordinate_system_arbitrary, - directionally_explicit_element_coordinate_system_aligned); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE element_aspect = SELECT - (element_volume, - volume_3d_face, - volume_2d_face, - volume_3d_edge, - volume_2d_edge, - surface_3d_face, - surface_2d_face, - surface_3d_edge, - surface_2d_edge, - curve_edge); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE element_volume = ENUMERATION OF - (volume); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE curve_edge = ENUMERATION OF - (element_edge); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE node_or_node_group = SELECT - (node_representation, - node_group); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE element_or_element_group = SELECT - (element_representation, - element_group); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE volume_3d_element_field_integration = SELECT - (element_integration_algebraic, - volume_3d_element_field_integration_rule, - volume_3d_element_field_integration_explicit); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE element_integration_algebraic = ENUMERATION OF (algebraic); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE volume_2d_element_field_integration = SELECT - (element_integration_algebraic, - volume_2d_element_field_integration_rule, - volume_2d_element_field_integration_explicit); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE surface_3d_element_field_integration = SELECT - (element_integration_algebraic, - surface_3d_element_field_integration_rule, - surface_3d_element_field_integration_explicit); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE surface_section_integration = SELECT - (element_integration_algebraic, - surface_section_integration_rule, - surface_section_integration_explicit); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE surface_2d_element_length_integration = SELECT - (element_integration_algebraic, - surface_2d_element_length_integration_rule, - surface_2d_element_length_integration_explicit); -END_TYPE; -(* USED FROM (structural_response_representation_schema); *) -TYPE curve_3d_element_length_integration = SELECT - (element_integration_algebraic, - curve_3d_element_length_integration_rule, - curve_3d_element_length_integration_explicit); -END_TYPE; -(* USED FROM (mesh_topology_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE cell_shape = SELECT ( - cell_shape_0D, - cell_shape_1D, - cell_shape_2D, - cell_shape_3D); -END_TYPE; - -(* USED FROM (mesh_topology_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE cell_shape_0D = ENUMERATION OF ( - single); -END_TYPE; - -(* USED FROM (mesh_topology_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE cell_shape_1D = ENUMERATION OF ( - line); -END_TYPE; - -(* USED FROM (mesh_topology_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE cell_shape_2D = ENUMERATION OF ( - quadrilateral, - triangle); -END_TYPE; - -(* USED FROM (mesh_topology_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE cell_shape_3D = ENUMERATION OF ( - hexahedron, - pyramid, - tetrahedron, - wedge); -END_TYPE; - -(* USED FROM (mesh_topology_schema); *) -TYPE indices_group = SELECT - (indices_list, - indices_range); -END_TYPE; -(* USED FROM (mesh_topology_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE mesh_location = ENUMERATION OF ( - application_defined, - cell_centre, - edge_centre, - face_centre, - iface_centre, - jface_centre, - kface_centre, - unspecified, - vertices); -END_TYPE; - -(* USED FROM (mesh_topology_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE mesh_maths_space_type = ENUMERATION OF ( - cells, - vertices); -END_TYPE; - -(* USED FROM (mesh_topology_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE structured_mesh_type = ENUMERATION OF ( - pentahedral, - pyramidal, - rectangular, - tetrahedral); -END_TYPE; - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE description_attribute_select = SELECT ( - action_request_solution, - application_context, - approval_role, - configuration_design, - context_dependent_shape_representation, - date_role, - date_time_role, - effectivity, - external_source, - organization_role, - organizational_project, - person_and_organization, - person_and_organization_role, - property_definition_representation, - representation); -END_TYPE; - - -(* Pruned unused type: fd_bc_type_compound *) - -(* USED FROM (conditions_schema); *) -(* This ENUMERATION set has been expanded for EXPRESS E1 layout. *) -TYPE fd_bc_type_simple = mbna_bc_type_simple; -END_TYPE; - -(* USED FROM (conditions_schema); *) -TYPE ijk_minmax = ENUMERATION OF - (i_min, - j_min, - k_min, - i_max, - j_max, - k_max); -END_TYPE; -(* USED FROM (conditions_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE mbna_bc_type = SELECT ( - mbna_bc_type_compound, - mbna_bc_type_simple); -END_TYPE; - -(* USED FROM (conditions_schema); *) -(* This ENUMERATION set has been expanded for EXPRESS E1 layout. *) -TYPE mbna_bc_type_compound = ENUMERATION OF ( - application_defined, - bc_farfield, - bc_inflow, - bc_outflow, - unspecified); -END_TYPE; - -(* USED FROM (conditions_schema); *) -(* This ENUMERATION set has been expanded for EXPRESS E1 layout. *) -TYPE mbna_bc_type_simple = ENUMERATION OF ( - application_defined, - bc_axissymmetric_wedge, - bc_degenerate_line, - bc_degenerate_point, - bc_Dirichlet, - bc_extrapolate, - bc_general, - bc_inflow_subsonic, - bc_inflow_supersonic, - bc_Neumann, - bc_outflow_subsonic, - bc_outflow_supersonic, - bc_symmetry_plane, - bc_symmetry_polar, - bc_tunnel_inflow, - bc_tunnel_outflow, - bc_wall, - bc_wall_inviscid, - bc_wall_viscous, - bc_wall_viscous_heat_flux, - bc_wall_viscous_isothermal, - unspecified); -END_TYPE; - -(* USED FROM (conditions_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE Riemann_1D_data_name = ENUMERATION OF ( - characteristic_acoustic_minus, - characteristic_acoustic_plus, - characteristic_entropy, - characteristic_vorticity1, - characteristic_vorticity2, - Riemann_invariant_minus, - Riemann_invariant_plus); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE fd_behaviour_models = SELECT ( - gas_model, - turbulence_closure, - turbulence_model, - viscosity_model); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This ENUMERATION set has been expanded for EXPRESS E1 layout. *) -TYPE fd_governing_equation_type = mbna_governing_equation_type; -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE force_moment_data_name = ENUMERATION OF ( - coef_drag, - coef_length, - coef_lift, - coef_moment_area, - coef_moment_eta, - coef_moment_phi, - coef_moment_pressure_dynamic, - coef_moment_r, - coef_moment_theta, - coef_moment_x, - coef_moment_xi, - coef_moment_y, - coef_moment_z, - coef_moment_zeta, - drag, - force_phi, - force_r, - force_theta, - force_x, - force_y, - force_z, - lift, - moment_center_x, - moment_center_y, - moment_center_z, - moment_eta, - moment_phi, - moment_r, - moment_theta, - moment_x, - moment_xi, - moment_y, - moment_z, - moment_zeta); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE gas_model_data_name = ENUMERATION OF ( - ideal_gas_constant, - specific_heat_pressure, - specific_heat_ratio, - specific_heat_volume); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE gas_model_type = ENUMERATION OF ( - application_defined, - ideal, - unspecified, - Van_der_Waals); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE mbna_behaviour_models = SELECT ( - thermal_conductivity_model); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This ENUMERATION set has been expanded for EXPRESS E1 layout. *) -TYPE mbna_governing_equation_type = ENUMERATION OF ( - application_defined, - Euler, - full_potential, - NS_laminar, - NS_laminar_incompressible, - NS_turbulent, - NS_turbulent_incompressible, - unspecified); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE thermal_conductivity_model_data_name = ENUMERATION OF ( - constant_Prandtl, - power_law_exponent, - Sutherland_constant_conductivity, - temperature_reference, - thermal_conductivity_reference); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE thermal_conductivity_model_type = ENUMERATION OF ( - application_defined, - constant_Prandtl, - independent, - power_law, - Sutherland_law, - unspecified); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE turbulence_closure_data_name = ENUMERATION OF ( - eddy_viscosity, - Prandtl_turbulent); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE turbulence_closure_type = ENUMERATION OF ( - application_defined, - eddy_viscosity, - Reynolds_stress, - Reynolds_stress_algebraic, - unspecified); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE turbulence_model_data_name = ENUMERATION OF ( - turbulent_BB_Reynolds, - turbulent_dissipation, - turbulent_dissipation_rate, - turbulent_distance, - turbulent_energy_kinetic, - turbulent_SA_cb1, - turbulent_SA_cb2, - turbulent_SA_chi, - turbulent_SA_ct1, - turbulent_SA_ct2, - turbulent_SA_ct3, - turbulent_SA_ct4, - turbulent_SA_cv1, - turbulent_SA_cw1, - turbulent_SA_cw2, - turbulent_SA_cw3, - turbulent_SA_kappa, - turbulent_SA_nu_tilde, - turbulent_SA_sigma); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE turbulence_model_type = ENUMERATION OF ( - algebraic_Baldwin_Lomax, - algebraic_Cebeci_Smith, - application_defined, - half_equation_Johnson_King, - one_equation_Baldwin_Barth, - one_equation_Spalart_Allmaras, - two_equation_Jones_Launder, - two_equation_Menter_SST, - two_equation_Wilcox, - unspecified); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE viscosity_model_data_name = ENUMERATION OF ( - Sutherland_constant_viscosity, - viscosity_molecular_reference); -END_TYPE; - -(* USED FROM (equations_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE viscosity_model_type = ENUMERATION OF ( - application_defined, - constant_viscosity, - power_law, - Sutherland_law, - unspecified); -END_TYPE; - -(* USED FROM (domain_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE coordinate_data_name = ENUMERATION OF ( - coordinate_eta, - coordinate_normal, - coordinate_phi, - coordinate_r, - coordinate_tangential, - coordinate_theta, - coordinate_transform, - coordinate_x, - coordinate_xi, - coordinate_y, - coordinate_z, - coordinate_zeta); -END_TYPE; - -(* USED FROM (mesh_connectivity_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE mismatched_region_type = ENUMERATION OF ( - abutting, - overset); -END_TYPE; - - -(* Pruned unused type: pie_external_identification_item *) - - -(* Pruned unused type: file_identification_item *) - - -(* Pruned unused type: file_location_select *) - -(* USED FROM (External_item_identification_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE external_identification_item = SELECT ( - action_relationship, - action_request_status, - applied_organization_assignment, - applied_person_and_organization_assignment, - approval, - approval_status, - assembly_bond_definition, - date_and_time_assignment, - date_assignment, - document_file, - external_source, - externally_defined_class, - externally_defined_context_dependent_unit, - externally_defined_conversion_based_unit, - externally_defined_general_property, - externally_defined_picture_representation_item, - externally_defined_representation_item, - generic_product_definition_reference, - organizational_address, - product_definition, - security_classification, - trimmed_curve, - versioned_action_request); -END_TYPE; - -(* USED FROM (support_resource_schema); *) - TYPE identifier = STRING; - END_TYPE; -(* USED FROM (product_property_definition_schema); *) - TYPE characterized_product_definition = SELECT ( - product_definition, - product_definition_relationship); - END_TYPE; - -(* Pruned unused type: pprs_description_attribute_select *) - - -(* Pruned unused type: pprs_name_attribute_select *) - -(* USED FROM (product_property_representation_schema); *) - TYPE chained_representation_link = SELECT (mapped_item, representation_context, representation_relationship); - END_TYPE; -(* USED FROM (product_property_representation_schema); *) - TYPE represented_definition = SELECT ( - general_property, - property_definition, - property_definition_relationship, - shape_aspect, - shape_aspect_relationship); - END_TYPE; -(* USED FROM (product_property_representation_schema); *) - TYPE item_identified_representation_usage_select = SELECT ( - representation_item, - list_representation_item, - set_representation_item); - END_TYPE; - -(* Pruned unused type: rs_description_attribute_select *) - - -(* Pruned unused type: rs_id_attribute_select *) - -(* USED FROM (representation_schema); *) - TYPE compound_item_definition = SELECT - (list_representation_item, - set_representation_item); - END_TYPE; -(* USED FROM (representation_schema); *) - TYPE founded_item_select = SELECT - (founded_item, - representation_item); - END_TYPE; -(* USED FROM (representation_schema); *) - TYPE list_representation_item = LIST [1:?] OF representation_item; - END_TYPE; -(* USED FROM (representation_schema); *) - TYPE set_representation_item = SET [1:?] OF representation_item; - END_TYPE; -(* USED FROM (representation_schema); *) - TYPE transformation = SELECT - (item_defined_transformation, - functionally_defined_transformation); - END_TYPE; -(* USED FROM (Activity_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE action_items = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_person_and_organization_assignment, - applied_state_type_assignment, - approval_status, - assembly_component_usage_substitute, - certification, - certification_item, - characterized_object, - class, - class_system, - classification_item, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - document_file, - document_reference_item, - draughting_model, - drawing_revision, - evaluated_characteristic, - executed_action, - general_property, - identification_item, - material_designation, - mechanical_design_geometric_presentation_representation, - organization, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_assigned_item, - requirement_for_action_resource, - resource_property, - security_classification, - security_classification_level, - shape_aspect, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (results_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE flow_solution_data_name = ENUMERATION OF ( - density, - density_stagnation, - energy_internal, - energy_kinetic, - energy_stagnation, - energy_stagnation_density, - enthalpy, - enthalpy_stagnation, - entropy, - entropy_approx, - ideal_gas_constant, - mass_flow, - momentum_magnitude, - momentum_x, - momentum_y, - momentum_z, - potential, - pressure, - pressure_dynamic, - pressure_stagnation, - Reynolds_stress_xx, - Reynolds_stress_xy, - Reynolds_stress_xz, - Reynolds_stress_yy, - Reynolds_stress_yz, - Reynolds_stress_zz, - skin_friction_magnitude, - skin_friction_x, - skin_friction_y, - skin_friction_z, - specific_heat_pressure, - specific_heat_volume, - stream_function, - temperature, - temperature_stagnation, - thermal_conductivity, - velocity_angle_x, - velocity_angle_y, - velocity_angle_z, - velocity_magnitude, - velocity_normal, - velocity_phi, - velocity_r, - velocity_sound, - velocity_sound_stagnation, - velocity_tangential, - velocity_theta, - velocity_unit_vector_x, - velocity_unit_vector_y, - velocity_unit_vector_z, - velocity_x, - velocity_y, - velocity_z, - viscosity_eddy, - viscosity_kinematic, - viscosity_molecular, - vorticity_magnitude, - vorticity_x, - vorticity_y, - vorticity_z); -END_TYPE; - -(* USED FROM (basis_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE choose_general_property_identifier = SELECT ( - defined_data_name, - externally_defined_item); -END_TYPE; - -(* USED FROM (basis_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE choose_geometry_location = SELECT ( - externally_defined_item, - shape_representation); -END_TYPE; - -(* USED FROM (basis_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE choose_representation_context_identifier = SELECT ( - defined_data_class, - externally_defined_item); -END_TYPE; - -(* USED FROM (basis_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE defined_data_class = ENUMERATION OF ( - application_defined, - dimensional, - dimensionless_constant, - dimensionless_parameter, - normalise_by_unknown_dimensional, - normalised_by_dimensional, - unspecified); -END_TYPE; - -(* USED FROM (basis_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE defined_data_name = SELECT ( - coordinate_data_name, - fd_defined_data_name); -END_TYPE; - -(* USED FROM (basis_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE fd_defined_data_name = SELECT ( - fd_nondimensional_parameter_name, - flow_solution_data_name, - force_moment_data_name, - gas_model_data_name, - Riemann_1D_data_name, - thermal_conductivity_model_data_name, - turbulence_closure_data_name, - turbulence_model_data_name, - viscosity_model_data_name); -END_TYPE; - -(* USED FROM (basis_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE fd_nondimensional_parameter_name = ENUMERATION OF ( - coef_pressure, - coef_pressure_dynamic, - coef_pressure_reference, - coef_skin_friction_x, - coef_skin_friction_y, - coef_skin_friction_z, - length_reference, - Mach, - Mach_velocity, - Mach_velocity_sound, - Prandtl, - Prandtl_specific_heat_pressure, - Prandtl_thermal_conductivity, - Prandtl_viscosity_molecular, - Reynolds, - Reynolds_length, - Reynolds_velocity, - Reynolds_viscosity_kinematic, - specific_heat_ratio, - specific_heat_ratio_pressure, - specific_heat_ratio_volume); -END_TYPE; - - -(* Pruned unused type: mbna_property_distribution_select *) - - -(* Pruned unused type: mbna_value_context_select *) - - -(* Pruned unused type: state_definition_action_items *) - - -(* Pruned unused type: state_definition_classification_item *) - - -(* Pruned unused type: state_definition_identification_item *) - -(* USED FROM (action_and_model_relationships_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE discretised_action_model_select = SELECT ( - analysis_step, - model_action_domain); -END_TYPE; - -(* USED FROM (action_and_model_relationships_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE idealised_action_select = SELECT ( - action, - physical_action_domain); -END_TYPE; - -(* USED FROM (product_and_model_relationships_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE discretised_product_model_select = SELECT ( - fea_model, - model_product_domain); -END_TYPE; - -(* USED FROM (product_and_model_relationships_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE idealised_product_select = SELECT ( - physical_product_domain, - product_definition); -END_TYPE; - -(* USED FROM (property_distribution_and_model_relationships_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE discretised_distribution_model_select = SELECT ( - model_property_distribution, - state_definition); -END_TYPE; - -(* USED FROM (property_distribution_and_model_relationships_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE idealised_distribution_select = SELECT ( - domain_property, - property_definition); -END_TYPE; - -(* USED FROM (state_and_model_relationships_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE discretised_state_model_select = SELECT ( - model_state_domain, - state); -END_TYPE; - -(* USED FROM (state_and_model_relationships_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE idealised_state_select = SELECT ( - physical_state_domain, - state_type); -END_TYPE; - - -(* Pruned unused type: document_location_select *) - - -(* Pruned unused type: sm_approval_item *) - -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE model_or_control_element = SELECT - (element_representation, - constraint_element); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE cylindrical_harmonic_number = INTEGER; -WHERE - WR1: SELF >= 0; -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_3d_face = INTEGER; -WHERE - WR1: (SELF >= 1) AND (SELF <= 6); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_2d_face = INTEGER; -WHERE - WR1: (SELF >= 1) AND (SELF <= 4); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_3d_edge = INTEGER; -WHERE - WR1: (SELF >= 1) AND (SELF <= 12); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_2d_edge = INTEGER; -WHERE - WR1: (SELF >= 1) AND (SELF <= 4); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_3d_face = INTEGER; -WHERE - WR1: (SELF >= 1) AND (SELF <= 2); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_3d_edge = INTEGER; -WHERE - WR1: (SELF >= 1) AND (SELF <= 4); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_2d_face = INTEGER; -WHERE - WR1: (SELF >= 1) AND (SELF <= 2); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_2d_edge = INTEGER; -WHERE - WR1: (SELF >= 1) AND (SELF <= 2); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE field_value = SELECT - (unspecified_value, - scalar, - tensor1_2d, - tensor1_3d, - anisotropic_symmetric_tensor2_2d, - isotropic_symmetric_tensor2_3d, - orthotropic_symmetric_tensor2_3d, - anisotropic_symmetric_tensor2_3d); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE unspecified_value = ENUMERATION OF - (unspecified); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE measure_or_unspecified_value = SELECT - (context_dependent_measure, - unspecified_value); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE boundary_variable = SELECT - (boundary_surface_scalar_variable, - boundary_surface_vector_3d_variable, - application_defined_scalar_variable, - application_defined_vector_3d_variable); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE boundary_aggregated_variable = SELECT - (aggregated_vector_3d_variable, - application_defined_vector_3d_variable); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_variable = SELECT - (volume_scalar_variable, - volume_angular_variable, - volume_vector_3d_variable, - volume_tensor2_3d_variable, - application_defined_scalar_variable, - application_defined_vector_3d_variable, - application_defined_tensor2_3d_variable); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_aggregated_variable = SELECT - (aggregated_scalar_variable, - aggregated_angular_variable, - aggregated_vector_3d_variable, - aggregated_tensor2_3d_variable, - application_defined_scalar_variable, - application_defined_vector_3d_variable, - application_defined_tensor2_3d_variable); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_element_variable = SELECT - (volume_variable, - surface_scalar_variable, - surface_vector_2d_variable, - surface_vector_3d_variable, - surface_tensor2_2d_variable, - application_defined_tensor2_2d_variable); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE boundary_edge_variable = SELECT - (boundary_curve_scalar_variable, - boundary_curve_vector_3d_variable, - application_defined_scalar_variable, - application_defined_vector_3d_variable); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE curve_element_variable = SELECT - (volume_variable, - curve_scalar_variable, - curve_vector_2d_variable, - application_defined_vector_2d_variable, - curve_vector_3d_variable); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE curve_scalar_variable = ENUMERATION OF - (curve_axial_force, - curve_axial_strain, - torque, - curve_warping, - bi_moment, - twist); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_scalar_variable = ENUMERATION OF - (thickness, - surface_thermal_gradient, - reference_surface_thermal_gradient); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_scalar_variable = ENUMERATION OF - (temperature, - moisture, - reference_temperature, - strain_energy_per_unit_volume); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE boundary_curve_scalar_variable = ENUMERATION OF - (normal_force_per_unit_length); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE boundary_surface_scalar_variable = ENUMERATION OF - (pressure); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE aggregated_scalar_variable = ENUMERATION OF - (total_strain_energy, - mass, - volume); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_angular_variable = ENUMERATION OF - (constant_angular_acceleration, - application_defined_angular_scalar_variable); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE aggregated_angular_variable = ENUMERATION OF - (total_applied_moment, - application_defined_aggregated_angular_scalar_variable); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE application_defined_scalar_variable = STRING; -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE curve_vector_2d_variable = ENUMERATION OF - (curve_shear_force, - curve_bending_moment, - curve_element_curvature, - curve_thermal_gradient, - reference_curve_thermal_gradient); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_vector_2d_variable = ENUMERATION OF - (surface_out_of_plane_shear_force, - surface_out_of_plane_shear_strain); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE application_defined_vector_2d_variable = STRING; -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE curve_vector_3d_variable = ENUMERATION OF - (applied_force_per_unit_length, - applied_moment_per_unit_length); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_vector_3d_variable = ENUMERATION OF - (applied_force_per_unit_area, - applied_moment_per_unit_area); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_vector_3d_variable = ENUMERATION OF - (position, - applied_force_per_unit_volume, - applied_moment_per_unit_volume, - displacement, - infinitesimal_rotation, - acceleration); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE boundary_curve_vector_3d_variable = ENUMERATION OF - (applied_force_per_unit_length, - applied_moment_per_unit_length); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE boundary_surface_vector_3d_variable = ENUMERATION OF - (applied_force_per_unit_area, - applied_moment_per_unit_area); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE aggregated_vector_3d_variable = ENUMERATION OF - (total_applied_force, - centre_of_mass_offset); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE application_defined_vector_3d_variable = STRING; -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_tensor2_2d_variable = ENUMERATION OF - (surface_membrane_force, - surface_membrane_strain, - surface_bending_moment, - surface_curvature); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE application_defined_tensor2_2d_variable = STRING; -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_tensor2_3d_variable = ENUMERATION OF - (total_strain, - stress); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE aggregated_tensor2_3d_variable = ENUMERATION OF - (rotational_inertia); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE application_defined_tensor2_3d_variable = STRING; -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE message_level = ENUMERATION OF - (error, - warning, - note); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_3d_state_coordinate_system = SELECT - (fea_axis2_placement_3d, - surface_3d_element_coordinate_system); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_2d_state_coordinate_system = SELECT - (fea_axis2_placement_3d, - surface_2d_element_coordinate_system); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE curve_3d_state_coordinate_system = SELECT - (fea_axis2_placement_3d, - curve_3d_element_coordinate_system); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE curve_2d_state_coordinate_system = SELECT - (fea_axis2_placement_3d, - curve_2d_element_coordinate_system); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE action_type = ENUMERATION OF - (applied_loads, - residual_loads); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_3d_element_output_reference = SELECT - (volume_3d_element_representation, - volume_3d_element_descriptor, - volume_3d_element_group, - volume_3d_substructure_element_reference, - analysis_item_within_representation); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE volume_2d_element_output_reference = SELECT - (volume_2d_element_representation, - volume_2d_element_descriptor, - volume_2d_element_group, - volume_2d_substructure_element_reference, - analysis_item_within_representation); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_3d_element_output_reference = SELECT - (surface_3d_element_representation, - surface_3d_element_descriptor, - surface_3d_element_group, - surface_3d_substructure_element_reference, - analysis_item_within_representation); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE surface_2d_element_output_reference = SELECT - (surface_2d_element_representation, - surface_2d_element_descriptor, - surface_2d_element_group, - surface_2d_substructure_element_reference, - analysis_item_within_representation); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE curve_3d_element_output_reference = SELECT - (curve_3d_element_representation, - curve_3d_element_descriptor, - curve_3d_element_group, - curve_3d_substructure_element_reference, - analysis_item_within_representation); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE curve_2d_element_output_reference = SELECT - (curve_2d_element_representation, - curve_2d_element_descriptor, - curve_2d_element_group, - curve_2d_substructure_element_reference, - analysis_item_within_representation); -END_TYPE; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -TYPE node_output_reference = SELECT - (node_representation, - node_group, - substructure_node_reference, - analysis_item_within_representation); -END_TYPE; -(* USED FROM (Group_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE groupable_item = SELECT ( - address, - applied_approval_assignment, - applied_classification_assignment, - applied_document_reference, - applied_external_identification_assignment, - applied_group_assignment, - applied_identification_assignment, - applied_name_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval, - approval_person_organization, - approval_relationship, - approval_status, - assembly_component_usage, - calendar_date, - class, - collection_assignment, - collection_membership, - component_feature, - control, - coordinated_universal_time_offset, - date_and_time, - date_and_time_assignment, - date_assignment, - derived_unit, - derived_unit_element, - document_file, - document_relationship, - external_source, - fea_model, - general_property, - general_property_relationship, - geometric_representation_item, - group, - group_relationship, - local_time, - mapped_item, - measure_qualification, - measure_with_unit, - multi_language_attribute_assignment, - named_unit, - numerical_model, - organization, - organization_relationship, - package_product_concept_feature, - person, - person_and_organization, - precision_qualifier, - product, - product_concept_feature, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_group_assignment, - product_definition_relationship, - product_relationship, - property_definition, - property_definition_representation, - representation, - representation_context, - representation_item, - representation_relationship, - representation_relationship_with_transformation, - result, - security_classification, - shape_aspect, - shape_aspect_relationship, - shape_representation_relationship, - state, - state_definition, - state_relationship, - styled_item, - topological_representation_item, - type_qualifier, - uncertainty_qualifier); - WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GROUP' IN TYPEOF(SELF)); -END_TYPE; - -(* Pruned unused type: effectivity_item_for_replacement *) - -(* USED FROM (Effectivity_application_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE effectivity_item = SELECT ( - action, - action_method, - action_method_relationship, - action_property, - action_relationship, - assembly_component_usage_substitute, - class, - class_system, - configuration_design, - configuration_item, - configured_effectivity_assignment, - document_file, - draughting_model, - drawing_revision, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification, - shape_aspect, - shape_representation); -END_TYPE; - -(* USED FROM (Product_occurrence_mim); *) - TYPE product_definition_or_assembly_relationship = SELECT (assembly_component_usage, product_definition); - END_TYPE; - -(* Pruned unused type: at_requirement_assigned_item *) - - -(* Pruned unused type: at_external_identification_item *) - - -(* Pruned unused type: cf_groupable_item *) - -(* USED FROM (Requirement_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE requirement_assigned_item = SELECT ( - assembly_joint, - configuration_item, - descriptive_representation_item, - product, - product_class, - product_definition, - product_definition_formation, - product_definition_relationship, - representation, - shape_aspect); -END_TYPE; - -(* USED FROM (Requirement_assignment_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE requirement_satisfaction_item = SELECT ( - requirement_assigned_item); -END_TYPE; - -(* USED FROM (Requirement_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE requirement_source_item = SELECT ( - characterized_object, - group, - group_relationship, - product, - product_definition, - product_definition_formation, - product_definition_relationship, - shape_aspect); -END_TYPE; - - -(* Pruned unused type: bc_external_identification_item *) - -(* USED FROM (product_data_quality_criteria_schema); *) - TYPE detailed_report_type = ENUMERATION OF - (measured_element, - inferior_quality_element); - END_TYPE; -(* USED FROM (product_data_quality_criteria_schema); *) - TYPE summary_report_type = ENUMERATION OF - (unspecified, - conclusion_only, - number_of_quality_defects, - number_of_inspections_and_conclusion, - full_statistics); - END_TYPE; -(* USED FROM (product_data_quality_criteria_schema); *) - TYPE preferred_ordering = ENUMERATION OF - (extremity_order, - detected_order); - END_TYPE; - -(* Pruned unused type: pdq_date_and_time_item *) - - -(* Pruned unused type: ap209e2_analysis_approval_item *) - - -(* Pruned unused type: pdq_date_item *) - - -(* Pruned unused type: pqd_organization_item *) - -(* USED FROM (product_data_quality_definition_schema); *) - TYPE used_quality_representation_select = SELECT - (data_quality_criteria_representation, - data_quality_inspection_result_representation); - END_TYPE; -(* USED FROM (product_data_quality_inspection_result_schema); *) - TYPE statistical_value_type = ENUMERATION OF - (number_of_inspected_instances, - number_of_quality_defects_detected); - END_TYPE; -(* USED FROM (product_data_quality_inspection_result_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE inspected_element_select = SELECT ( - assembly_component_usage, - axis2_placement_3d, - b_spline_or_composite_curve_select, - b_spline_or_rectangular_composite_surface_select, - cartesian_transformation_operator_3d, - closed_or_open_shell_select, - connected_face_set, - curve, - direction, - edge_curve, - edge_loop, - face_surface, - global_uncertainty_assigned_context, - global_unit_assigned_context, - group, - manifold_solid_brep, - placement, - point, - presentation_layer_assignment, - representation_item, - styled_item, - surface, - vertex_point); -END_TYPE; - -(* USED FROM (shape_data_quality_criteria_schema); *) - TYPE shape_data_quality_assessment_specification_select = SELECT - (shape_data_quality_assessment_by_logical_test, - shape_data_quality_assessment_by_numerical_test); - END_TYPE; -(* USED FROM (shape_data_quality_criteria_schema); *) - TYPE shape_data_quality_value_limit_type_select = SELECT - (shape_data_quality_value_range, - shape_data_quality_value_limit); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE measured_value_select = SELECT - (boolean_value, - measure_value, - plane_angle_and_ratio_pair, - plane_angle_and_length_pair); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE boolean_value = BOOLEAN; - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE location_of_extreme_value_select = SELECT - (inspected_shape_element_select, - b_spline_surface_knot_locator, - b_spline_curve_knot_locator, - b_spline_curve_segment, - b_spline_surface_strip, - b_spline_surface_patch, - composite_curve_transition_locator, - rectangular_composite_surface_transition_locator, - boundary_curve_of_b_spline_or_rectangular_composite_surface, - oriented_edge, - face_bound, - point_on_edge_curve, - point_on_face_surface, - subedge, - subface); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE inspected_shape_element_select = inspected_element_select; -END_TYPE; - -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE closed_or_open_shell_select = SELECT - (closed_shell, - open_shell); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE b_spline_or_composite_curve_select = SELECT - (b_spline_curve, - composite_curve); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE b_spline_or_rectangular_composite_surface_select = SELECT - (b_spline_surface, - rectangular_composite_surface); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE u_or_v_parameter = ENUMERATION OF - (u_parameter, - v_parameter); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) -TYPE surface_boundary_type = ENUMERATION OF - (u_parameter_min, - v_parameter_min, - u_parameter_max, - v_parameter_max); - END_TYPE; - -(* Pruned unused type: appearance_representation_identification_item *) - -(* USED FROM (presentation_appearance_schema); *) - TYPE style_context_select = SELECT - (group, - presentation_layer_assignment, - presentation_set, - representation, - representation_item, - representation_relationship); - END_TYPE; - -(* Pruned unused type: ecdq_document_reference_item *) - -(* USED FROM (Document_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE document_reference_item = SELECT ( - action_directive, - action_method, - action_relationship, - applied_action_assignment, - applied_external_identification_assignment, - approval, - assembly_component_usage, - certification, - characterized_class, - characterized_object, - class, - class_system, - configuration_design, - configuration_item, - contract, - descriptive_representation_item, - dimensional_size, - executed_action, - externally_conditioned_data_quality_criterion, - externally_defined_dimension_definition, - externally_defined_item, - feature_definition, - general_property, - group, - group_relationship, - information_right, - information_usage_right, - material_designation, - measure_representation_item, - organization, - organizational_project, - person, - presentation_area, - process_plan, - product, - product_category, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_process, - product_definition_relationship, - product_definition_substitute, - product_related_product_category, - property_definition, - representation, - representation_item, - resource_requirement_type, - retention, - rule_set, - security_classification, - shape_aspect, - shape_aspect_relationship, - usage_association, - versioned_action_request); -END_TYPE; - -(* USED FROM (explicit_constraint_schema); *) -TYPE constraint_group_member = SELECT - (explicit_constraint, - simultaneous_constraint_group); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE geometric_constraint_element = SELECT - (point, - curve, - surface, - vector, - direction); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE point_curve_or_surface_constraint_element = SELECT - (point, - curve, - surface); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE curve_or_surface_constraint_element = SELECT - (curve, - surface); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE linear_geometry_constraint_element = SELECT - (line, - plane, - direction, - vector); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE radial_geometry_constraint_element = SELECT - (circle, - cylindrical_surface, - conical_surface, - spherical_surface, - right_circular_cylinder, - right_circular_cone, - sphere); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE axial_geometry_constraint_element = SELECT - (point, - line, - circle, - plane, - cylindrical_surface, - conical_surface, - spherical_surface, - toroidal_surface, - surface_of_revolution, - sphere, - right_circular_cone, - right_circular_cylinder, - torus, - revolved_face_solid, - revolved_area_solid); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE swept_surface_or_solid = SELECT - (swept_surface, - swept_face_solid, - swept_area_solid); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE tangent_contact_type = ENUMERATION OF - (point_contact, - curve_contact, - surface_contact); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE parallel_offset_type = ENUMERATION OF - (curve_2d_offset, - curve_3d_offset, - surface_offset); -END_TYPE; -(* USED FROM (Specification_document_mim); *) - TYPE document_identifier_assigned_item = SELECT - (document); - END_TYPE; - -(* Pruned unused type: sd_document_reference_item *) - - -(* Pruned unused type: machining_feature_definition *) - -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -TYPE kinematic_analysis_definition = SELECT - (interpolated_configuration_sequence, - prescribed_path); -END_TYPE; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -TYPE kinematic_result = SELECT - (interpolated_configuration_sequence, - resulting_path); -END_TYPE; -(* USED FROM (Specification_control_mim); *) - TYPE class_usage_effectivity_context_item = SELECT - (product_definition); - END_TYPE; - -(* Pruned unused type: effectivity_specification_for_replacement *) - -(* USED FROM (Specification_control_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE instance_usage_context_select = SELECT ( - product_definition_relationship, - product_definition_usage); -END_TYPE; - -(* USED FROM (geometric_model_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE bounded_primitive_2d = SELECT ( - area_with_outer_boundary, - circular_area, - elliptic_area, - path_area_with_parameters, - polygonal_area, - rectangular_area); -END_TYPE; - - -(* Pruned unused type: pr_action_items *) - - -(* Pruned unused type: pr_date_and_time_item *) - - -(* Pruned unused type: pr_document_reference_item *) - - -(* Pruned unused type: pr_identification_item *) - - -(* Pruned unused type: pr_organization_item *) - - -(* Pruned unused type: pr_person_and_organization_item *) - -(* USED FROM (Production_rule_mim); *) -TYPE rule_superseded_item = SELECT - (product_definition_formation); -END_TYPE; - -(* Pruned unused type: product_as_individual_identification_item *) - - -(* Pruned unused type: as_description_attribute_select *) - - -(* Pruned unused type: as_name_attribute_select *) - - -(* Pruned unused type: classification_classification_item *) - -(* USED FROM (Classification_with_attributes_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE classified_item = SELECT ( - product, - product_definition, - product_definition_formation); -END_TYPE; - - -(* Pruned unused type: cwa_identification_item *) - - -(* Pruned unused type: plib_class_identification_item *) - - -(* Pruned unused type: plib_class_organization_item *) - - -(* Pruned unused type: ir_approval_item *) - - -(* Pruned unused type: ir_contract_item *) - - -(* Pruned unused type: ir_date_and_time_item *) - - -(* Pruned unused type: ir_date_item *) - - -(* Pruned unused type: ir_identification_item *) - - -(* Pruned unused type: ir_organization_item *) - - -(* Pruned unused type: ir_person_and_organization_item *) - -(* USED FROM (Information_rights_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE ir_usage_item = action_items; -END_TYPE; - - -(* Pruned unused type: pdpdms_person_and_organization_item *) - - -(* Pruned unused type: pdpdms_external_identification_item *) - - -(* Pruned unused type: pdm_action_items *) - - -(* Pruned unused type: pdm_action_request_item *) - - -(* Pruned unused type: pdm_approval_item *) - - -(* Pruned unused type: pdm_attribute_language_item *) - - -(* Pruned unused type: pdm_certification_item *) - - -(* Pruned unused type: pdm_classification_item *) - - -(* Pruned unused type: pdm_date_and_time_item *) - - -(* Pruned unused type: pdm_date_item *) - - -(* Pruned unused type: pdm_document_reference_item *) - - -(* Pruned unused type: pdm_effectivity_item *) - - -(* Pruned unused type: pdm_event_occurrence_item *) - - -(* Pruned unused type: pdm_external_class_name_item *) - - -(* Pruned unused type: pdm_identification_item *) - - -(* Pruned unused type: pdm_multi_language_attribute_item *) - - -(* Pruned unused type: pdm_organization_item *) - - -(* Pruned unused type: pdm_person_and_organization_item *) - - -(* Pruned unused type: pdm_project_item *) - - -(* Pruned unused type: pdm_security_classification_item *) - - -(* Pruned unused type: pdm_time_interval_item *) - -(* USED FROM (Activity_method_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE action_method_items = SELECT ( - action, - action_method, - action_property, - applied_action_assignment, - configuration_design, - contract, - document_file, - event_occurrence, - organization, - organizational_project, - person, - person_and_organization, - product, - product_concept, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - property_definition); -END_TYPE; - -(* USED FROM (Attribute_classification_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE attribute_classification_item = SELECT ( - action_directive, - action_method, - action_property, - action_property_representation, - action_relationship, - action_request_solution, - action_request_status, - alternate_product_relationship, - applied_action_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - approval, - approval_person_organization, - approval_relationship, - approval_status, - certification, - context_dependent_unit, - contract, - date_and_time_assignment, - date_assignment, - derived_unit, - descriptive_representation_item, - document_file, - document_relationship, - effectivity, - event_occurrence_relationship, - executed_action, - general_property, - general_property_relationship, - group, - group_relationship, - information_right, - information_usage_right, - language, - measure_representation_item, - measure_with_unit, - named_unit, - organization_relationship, - organizational_address, - organizational_project_relationship, - person_and_organization, - person_and_organization_address, - product, - product_category, - product_concept, - product_concept_context, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - property_definition, - property_definition_relationship, - property_definition_representation, - representation, - representation_context, - representation_item, - security_classification, - time_interval_relationship, - uncertainty_measure_with_unit, - usage_association, - versioned_action_request); -END_TYPE; - -(* USED FROM (Associative_draughting_elements_mim); *) -TYPE draughting_model_item_association_select = SELECT ( - annotation_occurrence, - draughting_callout); -END_TYPE; -(* USED FROM (Associative_draughting_elements_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE draughting_model_item_definition = SELECT ( - applied_action_assignment, - applied_action_method_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_classification_assignment, - applied_contract_assignment, - applied_date_and_time_assignment, - applied_date_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_group_assignment, - applied_identification_assignment, - applied_ineffectivity_assignment, - applied_name_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - applied_time_interval_assignment, - applied_usage_right, - dimensional_size, - geometric_tolerance, - product_definition_relationship, - product_definition_shape, - property_definition, - shape_aspect, - shape_aspect_relationship); -END_TYPE; - - -(* Pruned unused type: aade_annotation_representation_select *) - - -(* Pruned unused type: aade_invisibility_context *) - -(* USED FROM (aic_associative_draughting_elements); *) - TYPE draughting_model_item_select = SELECT - (mapped_item, - styled_item, - axis2_placement, - camera_model, - draughting_callout); - END_TYPE; -(* USED FROM (product_property_definition_schema); *) - TYPE shape_definition = SELECT (product_definition_shape, shape_aspect, shape_aspect_relationship); - END_TYPE; - -(* Pruned unused type: dse_shape_model *) - -(* USED FROM (Construction_geometry_mim); *) - TYPE constructive_geometry_representation_or_shape_represenation = SELECT - (constructive_geometry_representation, - shape_representation); - END_TYPE; - -(* Pruned unused type: sd_id_attribute_select *) - -(* USED FROM (shape_dimension_schema); *) -TYPE angle_relator = ENUMERATION OF - (equal, - large, - small); -END_TYPE; -(* USED FROM (shape_dimension_schema); *) -TYPE dimensional_characteristic = SELECT - (dimensional_location, - dimensional_size); -END_TYPE; - -(* Pruned unused type: sds_item_identified_representation_usage_definition *) - -(* USED FROM (shape_dimension_schema); *) -TYPE shape_dimension_representation_item = SELECT - (compound_representation_item, - descriptive_representation_item, - measure_representation_item, - placement); -END_TYPE; -(* USED FROM (shape_tolerance_schema); *) -TYPE tolerance_method_definition = SELECT - (limits_and_fits, - tolerance_value); -END_TYPE; -(* USED FROM (aic_draughting_annotation); *) -TYPE draughting_subfigure_representation_item = SELECT ( - annotation_occurrence, - draughting_callout, - axis2_placement); -END_TYPE; -(* USED FROM (aic_draughting_annotation); *) -TYPE draughting_symbol_representation_item = SELECT ( - annotation_curve_occurrence, - annotation_symbol_occurrence, - annotation_fill_area_occurrence, - annotation_text_occurrence, - axis2_placement); -END_TYPE; -(* USED FROM (Presentation_hierarchy_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE presented_item_select = SELECT ( - action, - action_method, - action_relationship, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_formation, - product_definition_relationship); -END_TYPE; - -(* USED FROM (drawing_definition_schema); *) -TYPE draughting_titled_item = SELECT - (drawing_revision, - drawing_sheet_revision); -END_TYPE; - -(* Pruned unused type: s_name_attribute_select *) - -(* USED FROM (measure_schema); *) - TYPE absorbed_dose_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) -TYPE acceleration_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE radioactivity_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) -TYPE amount_of_substance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE area_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE celsius_temperature_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE context_dependent_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE count_measure = NUMBER; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE descriptive_measure = STRING; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE capacitance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE dose_equivalent_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE electric_charge_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE electric_current_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE conductance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE electric_potential_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE energy_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE force_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE frequency_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE magnetic_flux_density_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE illuminance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE inductance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE length_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE luminous_intensity_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE luminous_flux_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE mass_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE measure_value = SELECT - (absorbed_dose_measure, - dose_equivalent_measure, - radioactivity_measure, - acceleration_measure, - amount_of_substance_measure, - area_measure, - celsius_temperature_measure, - context_dependent_measure, - count_measure, - descriptive_measure, - capacitance_measure, - electric_charge_measure, - conductance_measure, - electric_current_measure, - electric_potential_measure, - energy_measure, - magnetic_flux_density_measure, - force_measure, - frequency_measure, - illuminance_measure, - inductance_measure, - length_measure, - luminous_flux_measure, - luminous_intensity_measure, - magnetic_flux_measure, - mass_measure, - numeric_measure, - non_negative_length_measure, - parameter_value, - plane_angle_measure, - positive_length_measure, - positive_plane_angle_measure, - positive_ratio_measure, - power_measure, - pressure_measure, - ratio_measure, - resistance_measure, - solid_angle_measure, - thermodynamic_temperature_measure, - time_measure, - velocity_measure, - volume_measure); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE magnetic_flux_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE non_negative_length_measure = length_measure; - WHERE - WR1: SELF >= 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE numeric_measure = NUMBER; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE parameter_value = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE plane_angle_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE positive_length_measure = non_negative_length_measure; - WHERE - WR1: SELF > 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE positive_plane_angle_measure = plane_angle_measure; - WHERE - WR1: SELF > 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE positive_ratio_measure = ratio_measure; - WHERE - WR1: SELF > 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE power_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE pressure_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE ratio_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE resistance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE si_prefix = ENUMERATION OF (exa, peta, tera, giga, mega, kilo, hecto, deca, deci, centi, milli, micro, nano, pico, femto, atto); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE si_unit_name = ENUMERATION OF (metre, gram, second, ampere, kelvin, mole, candela, radian, steradian, hertz, newton, pascal, joule, watt, coulomb, volt, farad, ohm, siemens, weber, tesla, henry, degree_Celsius, lumen, lux, becquerel, gray, sievert); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE solid_angle_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE thermodynamic_temperature_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE time_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE unit = SELECT (derived_unit, named_unit); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE velocity_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE volume_measure = REAL; - END_TYPE; - -(* Pruned unused type: eu_external_identification_item *) - - -(* Pruned unused type: el_external_identification_item *) - - -(* Chained implicit interfaced from: date_time_schema *) -TYPE date_time_select = SELECT - (date, - date_and_time, - local_time); -END_TYPE; -(* USED FROM (shape_aspect_definition_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE simple_datum_reference_modifier = ENUMERATION OF ( - any_cross_section, - any_longitudinal_section, - basic, - contacting_feature, - degree_of_freedom_constraint_u, - degree_of_freedom_constraint_v, - degree_of_freedom_constraint_w, - degree_of_freedom_constraint_x, - degree_of_freedom_constraint_y, - degree_of_freedom_constraint_z, - distance_variable, - free_state, - least_material_requirement, - line, - major_diameter, - maximum_material_requirement, - minor_diameter, - orientation, - pitch_diameter, - plane, - point, - translation); -END_TYPE; - -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - TYPE mechanical_design_geometric_presentation_area_items = SELECT( - axis2_placement, - mapped_item); - END_TYPE; -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - TYPE mechanical_design_geometric_presentation_representation_items = SELECT( - axis2_placement, - camera_model_d3, - mapped_item, - styled_item); - END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE trim_condition_select = SELECT - (length_measure, - plane_angle_measure, - generalized_surface_select, - solid_model); -END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE trim_intent = ENUMERATION OF - (blind, - offset, - through_all, - unspecified, - up_to_next); -END_TYPE; -(* USED FROM (procedural_shape_model_schema); *) -TYPE shape_representation_item = SELECT - (geometric_representation_item, - topological_representation_item); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -(* This SELECT set has been pruned. *) -TYPE csg_primitive = SELECT ( - block, - bounded_primitive_2d, - right_angular_wedge, - right_circular_cone, - right_circular_cylinder, - sphere, - torus); -END_TYPE; - -(* USED FROM (solid_shape_element_schema); *) -TYPE base_solid_select = SELECT - (solid_model, - csg_primitive, - boolean_result); -WHERE - WR1: NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRIMITIVE_2D' IN TYPEOF(SELF)); -END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE blend_radius_variation_type = ENUMERATION OF - (linear_blend, - cubic_blend, - unspecified_blend); -END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE blend_end_condition_select = SELECT - (point_on_curve, - edge_curve, - vertex); -END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_height = positive_ratio_measure; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_width = positive_ratio_measure; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_slant_angle = plane_angle_measure; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_rotate_angle = plane_angle_measure; - END_TYPE; -(* USED FROM (presentation_resource_schema); *) -TYPE font_select = SELECT - (pre_defined_text_font, - externally_defined_text_font, - text_font); -END_TYPE; -(* USED FROM (presentation_organization_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE annotation_representation_select = SELECT ( - draughting_model, - presentation_area, - presentation_view, - symbol_representation); -END_TYPE; - -(* USED FROM (sketch_schema); *) -TYPE surface_or_solid_model = SELECT - (surface_model, - solid_model); -END_TYPE; - -(* Implicit interfaced from: mathematical_description_of_distribution_schema *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE property_distribution_select = SELECT ( - action_property, - general_property_relationship, - model_property_distribution, - property_definition, - resource_property); -END_TYPE; - -(* USED FROM (sketch_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE sketch_element_select = SELECT ( - curve, - point); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(SELF); -END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE sketch_basis_select = SELECT - (planar_curve_select, - curve_bounded_surface, - face_surface); -END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE sketch_type_select = SELECT - (neutral_sketch_representation, - positioned_sketch, - subsketch); -END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE curves_or_area = ENUMERATION OF - (curves, area); -END_TYPE; - -(* Pruned unused type: terminator *) - -(* USED FROM (presentation_appearance_schema); *) - TYPE marker_select = SELECT - (marker_type, - pre_defined_marker); - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE marker_type = ENUMERATION OF - (dot, - x, - plus, - asterisk, - ring, - square, - triangle); - END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE edge_or_curve = SELECT - (curve, - edge); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE face_or_surface = SELECT - (face, - surface); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE path_or_composite_curve = SELECT - (composite_curve, - path); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE tessellated_edge_or_vertex = SELECT - (tessellated_edge, - tessellated_vertex); -END_TYPE; - -(* Pruned unused type: c_document_reference_item *) - - -(* Pruned unused type: external_identification_for_plib_property *) - -(* USED FROM (support_resource_schema); *) - TYPE label = STRING; - END_TYPE; -(* USED FROM (support_resource_schema); *) - TYPE text = STRING; - END_TYPE; -(* USED FROM (process_property_schema); *) -TYPE characterized_action_definition = SELECT - (action, - action_method, - action_method_relationship, - action_relationship); -END_TYPE; -(* USED FROM (product_property_definition_schema); *) - TYPE derived_property_select = SELECT (property_definition, action_property, resource_property); - END_TYPE; -(* USED FROM (process_property_schema); *) -(* This SELECT set has been pruned. *) -TYPE characterized_resource_definition = SELECT ( - action_resource, - action_resource_requirement); -END_TYPE; - - -(* Pruned unused type: state_type_of_item *) - -(* USED FROM (Tagged_text_representation_mim); *) -TYPE string_representation_item_select = SELECT( - descriptive_representation_item, - included_text_block, - structured_text_composition); -END_TYPE; - -(* Pruned unused type: event_occurrence_date_and_time_item *) - - -(* Pruned unused type: event_occurrence_date_item *) - - -(* Pruned unused type: id_for_product_identification *) - - -(* Pruned unused type: spr_document_reference_item *) - - -(* Pruned unused type: spr_organization_item *) - - -(* Pruned unused type: spr_person_and_organization_item *) - - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE presentation_style_select = SELECT ( - point_style, - curve_style, - surface_style_usage, - symbol_style, - fill_area_style, - text_style, - externally_defined_style, - null_style); -END_TYPE; - - -(* Pruned unused type: representing_relationship *) - -(* USED FROM (kinematic_motion_representation_schema); *) -TYPE link_or_shape_representation = SELECT( - kinematic_link_representation, - shape_representation); -END_TYPE; -(* USED FROM (kinematic_motion_representation_schema); *) -TYPE interpolation_type = ENUMERATION OF - (undefined_interpolation_type, - discontinuous_interpolation_type, - synchronous_interpolation_type, - linear_interpolation_type); -END_TYPE; - -(* Pruned unused type: organization_item_solution *) - -(* USED FROM (Product_breakdown_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE product_definition_or_breakdown_element_usage = SELECT ( - product_definition, - product_definition_usage); -END_TYPE; - -(* USED FROM (Product_breakdown_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE product_definition_or_product_definition_relationship = SELECT ( - product_definition, - product_definition_usage); -END_TYPE; - - -(* Pruned unused type: requirement_identification_and_version_identification_item *) - -(* USED FROM (Specification_based_configuration_mim); *) -TYPE configured_effectivity_context_item = SELECT (product_concept_feature_association); -END_TYPE; -(* USED FROM (Specification_based_configuration_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE configured_effectivity_item = SELECT ( - action_relationship, - process_plan, - product_definition, - product_process_plan); -END_TYPE; - -(* USED FROM (Product_class_mim); *) -TYPE category_usage_item = SELECT (product_class); -END_TYPE; - -(* Pruned unused type: id_for_class *) - - -(* Pruned unused type: specification_for_category *) - -(* USED FROM (geometric_model_schema); *) -TYPE boolean_operand = SELECT - (boolean_result, - csg_primitive, - half_space_2d, - half_space_solid, - solid_model); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE boolean_operator = ENUMERATION OF - (union, - intersection, - difference); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE csg_select = SELECT - (boolean_result, - csg_primitive); -END_TYPE; - -(* Pruned unused type: external_class_name_item *) - -(* USED FROM (Name_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE name_item = SELECT ( - assembly_component_usage, - external_class_library, - group, - group_relationship, - product, - product_definition); -END_TYPE; - - -(* Pruned unused type: mri_aliasable_item *) - - -(* Pruned unused type: mri_approval_item *) - - -(* Pruned unused type: mri_attribute_language_item *) - - -(* Pruned unused type: mri_date_and_time_item *) - - -(* Pruned unused type: mri_date_item *) - - -(* Pruned unused type: mri_identification_item *) - - -(* Pruned unused type: mri_multi_language_attribute_item *) - - -(* Pruned unused type: mri_organization_item *) - - -(* Pruned unused type: mri_person_and_organization_item *) - -(* USED FROM (Work_request_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE action_request_item = SELECT ( - action, - action_method, - action_property, - action_relationship, - alternate_product_relationship, - assembly_component_usage_substitute, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - document_file, - draughting_model, - drawing_revision, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - organizational_project, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - resource_property, - shape_aspect, - shape_representation, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: dm_aliasable_item *) - - -(* Pruned unused type: dm_approval_item *) - - -(* Pruned unused type: dm_attribute_language_item *) - - -(* Pruned unused type: dm_contract_item *) - - -(* Pruned unused type: dm_date_and_time_item *) - - -(* Pruned unused type: dm_date_item *) - - -(* Pruned unused type: dm_identification_item *) - - -(* Pruned unused type: dm_multi_language_attribute_item *) - - -(* Pruned unused type: dm_organization_item *) - - -(* Pruned unused type: dm_person_and_organization_item *) - - -(* Pruned unused type: dm_security_classification_item *) - - -(* Pruned unused type: idrm_marked_item *) - -(* USED FROM (Time_interval_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE time_interval_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_person_and_organization_assignment, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - document_file, - draughting_model, - drawing_revision, - executed_action, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification, - security_classification_level, - shape_representation, - time_interval_based_effectivity, - versioned_action_request); -END_TYPE; - -(* USED FROM (geometry_schema); *) -TYPE axis2_placement = SELECT - (axis2_placement_2d, - axis2_placement_3d); -END_TYPE; -(* USED FROM (presentation_appearance_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE invisibility_context = SELECT ( - draughting_model, - presentation_representation, - presentation_set); -END_TYPE; - -(* USED FROM (presentation_appearance_schema); *) - TYPE null_style = ENUMERATION OF - (null); - END_TYPE; -(* USED FROM (presentation_definition_schema); *) - TYPE text_alignment = label; - END_TYPE; - -(* Pruned unused type: ers_description_attribute_select *) - -(* USED FROM (external_reference_schema); *) - TYPE message = STRING; - END_TYPE; -(* USED FROM (external_reference_schema); *) - TYPE source_item = SELECT (identifier, message); - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE surface_side = ENUMERATION OF - (positive, - negative, - both); - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE u_direction_count = INTEGER; - WHERE - WR1: SELF > 1; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE v_direction_count = INTEGER; - WHERE - WR1: SELF > 1; - END_TYPE; -(* USED FROM (aic_mechanical_design_shaded_presentation); *) - TYPE mechanical_design_shaded_presentation_area_items = SELECT( - axis2_placement, - mapped_item); - END_TYPE; -(* USED FROM (aic_mechanical_design_shaded_presentation); *) - TYPE mechanical_design_shaded_presentation_representation_items = SELECT( - axis2_placement, - camera_model_d3, - mapped_item, - styled_item); - END_TYPE; - -(* Pruned unused type: pamivc_document_reference_item *) - -(* USED FROM (date_time_schema); *) -TYPE day_in_month_number = INTEGER; -WHERE - WR1: {1 <= SELF <= 31}; -END_TYPE; -(* USED FROM (kinematic_structure_schema); *) -TYPE rigid_placement = SELECT - (axis2_placement_3d, - su_parameters); -END_TYPE; -(* USED FROM (kinematic_structure_schema); *) -TYPE kinematic_link_representation_items = SELECT ( - curve, - point, - rigid_placement, - surface); -END_TYPE; -(* USED FROM (kinematic_structure_schema); *) -TYPE actuated_direction = ENUMERATION OF ( - bidirectional, - positive_only, - negative_only, - not_actuated); -END_TYPE; -(* USED FROM (kinematic_state_schema); *) -TYPE spatial_rotation = SELECT - (ypr_rotation, - rotation_about_direction); -END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE defined_glyph_select = SELECT - (pre_defined_character_glyph, - externally_defined_character_glyph); - END_TYPE; -(* USED FROM (kinematic_state_schema); *) -TYPE ypr_enumeration = ENUMERATION OF - (yaw, - pitch, - roll); -END_TYPE; -(* USED FROM (kinematic_state_schema); *) -TYPE spherical_pair_select = SELECT ( - spherical_pair, - spherical_pair_with_pin); -END_TYPE; - -(* Pruned unused type: aliasable_item *) - -(* USED FROM (Certification_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE certification_item = SELECT ( - alternate_product_relationship, - make_from_usage_option, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship); -END_TYPE; - -(* USED FROM (Multi_linguism_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE attribute_language_item = SELECT ( - action, - actuated_kinematic_pair, - alternate_product_relationship, - application_context, - applied_certification_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organizational_project_assignment, - applied_security_classification_assignment, - approval, - approval_relationship, - approval_status, - assembly_component_usage_substitute, - attribute_value_assignment, - certification, - certification_type, - configuration_design, - configuration_item, - contract, - data_environment, - date_role, - date_time_role, - descriptive_representation_item, - document_relationship, - document_usage_role, - draughting_title, - effectivity, - effectivity_relationship, - event_occurrence, - external_source, - general_property, - general_property_relationship, - geometric_representation_item, - geometric_tolerance, - group, - group_relationship, - identification_role, - information_right, - information_usage_right, - kinematic_pair, - make_from_usage_option, - mapped_item, - multi_language_attribute_assignment, - name_assignment, - object_role, - organization_relationship, - organization_role, - organizational_project, - organizational_project_relationship, - organizational_project_role, - person_and_organization, - person_and_organization_role, - presentation_layer_assignment, - process_product_association, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_relationship, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_shape, - product_definition_substitute, - product_related_product_category, - property_definition, - property_definition_relationship, - representation, - representation_relationship, - requirement_for_action_resource, - resource_property, - resource_requirement_type, - security_classification, - security_classification_assignment, - shape_aspect, - shape_aspect_relationship, - shape_representation, - styled_item, - time_interval_role, - topological_representation_item, - uncertainty_measure_with_unit, - uncertainty_qualifier, - usage_association, - versioned_action_request, - versioned_action_request_relationship); -END_TYPE; - -(* USED FROM (Multi_linguism_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE multi_language_attribute_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - actuated_kinematic_pair, - alternate_product_relationship, - application_context, - applied_certification_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organizational_project_assignment, - approval, - approval_relationship, - approval_status, - assembly_component_usage_substitute, - attribute_value_assignment, - certification, - certification_type, - colour, - configuration_design, - configuration_item, - contract, - data_environment, - date_role, - date_time_role, - descriptive_representation_item, - document_relationship, - document_usage_role, - draughting_title, - effectivity, - effectivity_relationship, - event_occurrence, - external_source, - general_property, - general_property_relationship, - geometric_representation_item, - geometric_tolerance, - group, - group_relationship, - identification_role, - information_right, - information_usage_right, - kinematic_pair, - make_from_usage_option, - mapped_item, - name_assignment, - object_role, - organization_relationship, - organization_role, - organizational_project, - organizational_project_relationship, - organizational_project_role, - person_and_organization, - person_and_organization_role, - presentation_layer_assignment, - process_product_association, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_relationship, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_shape, - product_definition_substitute, - product_related_product_category, - property_definition, - property_definition_relationship, - representation, - representation_relationship, - requirement_for_action_resource, - resource_property, - resource_requirement_type, - security_classification, - security_classification_assignment, - shape_aspect, - shape_aspect_relationship, - shape_representation, - styled_item, - time_interval_role, - topological_representation_item, - uncertainty_measure_with_unit, - uncertainty_qualifier, - usage_association, - versioned_action_request, - versioned_action_request_relationship); -END_TYPE; - - -(* Pruned unused type: project_as_date_and_time_item *) - - -(* Pruned unused type: project_as_date_item *) - - -(* Pruned unused type: project_event_occurrence_item *) - -(* USED FROM (Project_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE project_item = SELECT ( - assembly_component_usage, - configuration_item, - executed_action, - product, - product_concept, - product_definition, - product_definition_formation); -END_TYPE; - -(* USED FROM (kinematic_topology_schema); *) -TYPE kinematic_topology_representation_select = SELECT ( - kinematic_topology_structure, - kinematic_topology_directed_structure, - kinematic_topology_network_structure -); -END_TYPE; -(* USED FROM (Event_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE event_occurrence_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - draughting_model, - drawing_revision, - executed_action, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification_level, - shape_representation); -END_TYPE; - - -(* Implicit interfaced from: geometry_schema *) -TYPE dimension_count = INTEGER; -WHERE - WR1: SELF > 0; -END_TYPE; - -(* Implicit interfaced from: product_property_definition_schema *) - TYPE characterized_definition = SELECT ( - characterized_object, - characterized_product_definition, - shape_definition); - END_TYPE; - -(* Chained implicit interfaced from: date_time_schema *) -TYPE year_number = INTEGER; -END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE box_characteristic_select = SELECT - (box_height, - box_width, - box_slant_angle, - box_rotate_angle); - END_TYPE; - -(* Chained implicit interfaced from: person_organization_schema *) - TYPE person_organization_select = SELECT ( - person, - organization, - person_and_organization); - END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE month_in_year_number = INTEGER; -WHERE - WR1: { 1 <= SELF <= 12 }; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE ahead_or_behind = ENUMERATION OF - (ahead, - exact, - behind); -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE hour_in_day = INTEGER; -WHERE - WR1: { 0 <= SELF < 24 }; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE minute_in_hour = INTEGER; -WHERE - WR1: { 0 <= SELF <= 59 }; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE second_in_minute = REAL; -WHERE - WR1: { 0 <= SELF <= 60.0 }; -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE vector_or_direction = SELECT - (direction, - vector); -END_TYPE; - -(* Implicit interfaced from: mathematical_context_schema *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE space_context_select = SELECT ( - action, - action_method, - general_property, - product_definition, - representation_item, - shape_aspect); -END_TYPE; - - -(* Implicit interfaced from: product_property_definition_schema *) - TYPE internal_or_reflected_shape_aspect = SELECT ( - shape_aspect, - identifier); - END_TYPE; - -(* Chained implicit interfaced from: product_definition_schema *) - TYPE product_definition_or_reference = SELECT ( - product_definition, - generic_product_definition_reference); - END_TYPE; - -(* Chained implicit interfaced from: date_time_schema *) -TYPE date_time_or_event_occurrence = SELECT - (date_time_select, - event_occurrence); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE trimming_select = SELECT - (cartesian_point, - parameter_value); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE trimming_preference = ENUMERATION OF - (cartesian, - parameter, - unspecified); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE transition_code = ENUMERATION OF - (discontinuous, - continuous, - cont_same_gradient, - cont_same_gradient_same_curvature); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE pcurve_or_surface = SELECT - (pcurve, - surface); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE preferred_surface_curve_representation = ENUMERATION OF - (curve_3d, - pcurve_s1, - pcurve_s2); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE curve_on_surface = SELECT - (composite_curve_on_surface, - pcurve, - surface_curve); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE b_spline_curve_form = ENUMERATION OF - (polyline_form, - circular_arc, - elliptic_arc, - parabolic_arc, - hyperbolic_arc, - unspecified); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE b_spline_surface_form = ENUMERATION OF - (plane_surf, - cylindrical_surf, - conical_surf, - spherical_surf, - toroidal_surf, - surf_of_revolution, - ruled_surf, - generalised_cone, - quadric_surf, - surf_of_linear_extrusion, - unspecified); -END_TYPE; - -(* Implicit interfaced from: qualified_measure_schema *) -TYPE value_qualifier = SELECT - (precision_qualifier, - type_qualifier, - uncertainty_qualifier, - value_format_type_qualifier); -END_TYPE; - -(* Implicit interfaced from: qualified_measure_schema *) -TYPE value_format_type = identifier; -WHERE - WR1: LENGTH(SELF) <= 80; -END_TYPE; -- value_format_type - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE invisible_item = SELECT ( - draughting_callout, - presentation_layer_assignment, - representation, - styled_item); -END_TYPE; - - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE shape_representation_with_parameters_items = SELECT ( - descriptive_representation_item, - direction, - measure_representation_item, - placement); -END_TYPE; - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE styled_item_target = SELECT - (geometric_representation_item, - mapped_item, - representation); - END_TYPE; - -(* Implicit interfaced from: document_schema *) - TYPE product_or_formation_or_definition = SELECT (product, product_definition_formation, product_definition); - END_TYPE; - -(* Implicit interfaced from: action_schema *) - TYPE supported_item = SELECT (action_directive, action, action_method); - END_TYPE; - -(* Implicit interfaced from: process_property_schema *) -TYPE property_or_shape_select = SELECT - (property_definition, - shape_definition); -END_TYPE; - -(* Implicit interfaced from: configuration_management_schema *) -TYPE configuration_design_item = SELECT - (product_definition, - product_definition_formation); -END_TYPE; - -(* Implicit interfaced from: material_property_definition_schema *) -(* This SELECT set has been pruned. *) -TYPE characterized_product_composition_value = SELECT ( - measure_with_unit); -END_TYPE; - - -(* Implicit interfaced from: product_definition_schema *) - TYPE source = ENUMERATION OF (made, bought, not_known); - END_TYPE; - -(* Implicit interfaced from: draughting_element_schema *) - TYPE dimension_extent_usage = ENUMERATION OF - (origin, - target); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE annotation_symbol_occurrence_item = SELECT ( - annotation_symbol, - defined_symbol); - END_TYPE; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE datum_reference_modifier_type = ENUMERATION OF ( - circular_or_cylindrical, - distance, - projected, - spherical); -END_TYPE; - - -(* Implicit interfaced from: shape_aspect_definition_schema *) -TYPE datum_or_common_datum = SELECT - (common_datum_list, - datum); -END_TYPE; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE datum_reference_modifier = SELECT ( - datum_reference_modifier_with_value, - simple_datum_reference_modifier); -END_TYPE; - - -(* Implicit interfaced from: shape_aspect_definition_schema *) -TYPE limit_condition = ENUMERATION OF - (maximum_material_condition, - least_material_condition, - regardless_of_feature_size); -END_TYPE; - -(* Implicit interfaced from: shape_tolerance_schema *) -TYPE geometric_tolerance_target = SELECT - (dimensional_location, - dimensional_size, - product_definition_shape, - shape_aspect); -END_TYPE; - -(* Implicit interfaced from: shape_tolerance_schema *) -TYPE datum_system_or_reference = SELECT - (datum_reference, - datum_system); -END_TYPE; - -(* Implicit interfaced from: shape_tolerance_schema *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE area_unit_type = ENUMERATION OF ( - circular, - rectangular, - square); -END_TYPE; - - -(* Implicit interfaced from: shape_tolerance_schema *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE geometric_tolerance_modifier = ENUMERATION OF ( - any_cross_section, - common_zone, - each_radial_element, - free_state, - least_material_requirement, - line_element, - major_diameter, - maximum_material_requirement, - minor_diameter, - not_convex, - pitch_diameter, - reciprocity_requirement, - separate_requirement, - statistical_tolerance, - tangent_plane); -END_TYPE; - - -(* Implicit interfaced from: shape_tolerance_schema *) -TYPE tolerance_zone_target = SELECT ( - dimensional_location, - dimensional_size, - geometric_tolerance, - general_datum_reference); -END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE camera_model_d3_multi_clipping_interection_select = SELECT ( - camera_model_d3_multi_clipping_union, - plane); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE camera_model_d3_multi_clipping_union_select = SELECT ( - camera_model_d3_multi_clipping_intersection, - plane); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE central_or_parallel = ENUMERATION OF - (central, - parallel); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE presentation_size_assignment_select = SELECT - (presentation_view, - presentation_area, - area_in_set); - END_TYPE; - -(* Implicit interfaced from: solid_shape_element_schema *) -TYPE generalized_surface_select = SELECT - (surface, - face_surface, - surfaced_open_shell); -END_TYPE; - -(* Implicit interfaced from: material_property_definition_schema *) -TYPE characterized_material_property = SELECT - (material_property_representation, - product_material_composition_relationship); -END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE character_style_select = SELECT - (character_glyph_style_stroke, - character_glyph_style_outline, - text_style_for_defined_font); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE character_spacing_select = SELECT ( - length_measure, - ratio_measure, - measure_with_unit, - descriptive_measure); -END_TYPE; - - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_delineation = label; - END_TYPE; - -(* Implicit interfaced from: geometric_model_schema *) -TYPE surface_model = SELECT - (face_based_surface_model, - shell_based_surface_model); -END_TYPE; - -(* Pruned unused type: wireframe_model *) - - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_path = ENUMERATION OF - (left, - right, - up, - down); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE annotation_text_occurrence_item = SELECT( - text_literal, - annotation_text, - annotation_text_character, - defined_character_glyph, - composite_text); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE curve_or_curve_set = SELECT ( - curve, - geometric_curve_set); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_string_representation_item = SELECT( - text_literal, - annotation_text, - annotation_text_character, - defined_character_glyph, - composite_text, - axis2_placement); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_font_or_scaled_curve_font_select = SELECT - (curve_style_font_select, - curve_style_font_and_scaling); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE size_select = SELECT ( - positive_length_measure, - measure_with_unit, - descriptive_measure); -END_TYPE; - - -(* Implicit interfaced from: date_time_schema *) -TYPE day_in_week_number = INTEGER; -WHERE - WR1: { 1 <= SELF <= 7 }; -END_TYPE; - -(* Implicit interfaced from: draughting_element_schema *) - TYPE annotation_plane_element = SELECT - (draughting_callout, - styled_item); - END_TYPE; - -(* Implicit interfaced from: draughting_element_schema *) - TYPE plane_or_planar_box = SELECT - (plane, - planar_box) ; - END_TYPE; - -(* Implicit interfaced from: draughting_element_schema *) - TYPE draughting_callout_element = SELECT - (annotation_curve_occurrence, - annotation_fill_area_occurrence, - annotation_symbol_occurrence, - annotation_text_occurrence, - tessellated_annotation_occurrence); - END_TYPE; - -(* Implicit interfaced from: product_property_definition_schema *) - TYPE multi_or_next_assembly_usage_occurrence = SELECT ( - multi_level_reference_designator, - next_assembly_usage_occurrence); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE shading_curve_method = ENUMERATION OF - (constant_colour, - linear_colour); - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE reversible_topology = SELECT - (reversible_topology_item, - list_of_reversible_topology_item, - set_of_reversible_topology_item); - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE list_of_reversible_topology_item = - LIST [0:?] of reversible_topology_item; - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE reversible_topology_item = SELECT - (edge, - path, - face, - face_bound, - closed_shell, - open_shell); - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE set_of_reversible_topology_item = - SET [0:?] of reversible_topology_item; - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE shell = SELECT - (vertex_shell, - wire_shell, - open_shell, - closed_shell); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE layered_item = SELECT - (presentation_representation, - representation_item); - END_TYPE; - -(* Pruned unused type: gs_id_attribute_select *) - - -(* Implicit interfaced from: geometry_schema *) -TYPE knot_type = ENUMERATION OF - (uniform_knots, - quasi_uniform_knots, - piecewise_bezier_knots, - unspecified); -END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE fill_style_select = SELECT ( - fill_area_style_colour, - externally_defined_tile_style, - fill_area_style_tiles, - externally_defined_hatch_style, - fill_area_style_hatching); -END_TYPE; - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE fill_area_style_tile_shape_select = SELECT - (fill_area_style_tile_curve_with_style, - fill_area_style_tile_coloured_region, - fill_area_style_tile_symbol_with_style, - pre_defined_tile, - externally_defined_tile); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE symbol_style_select = SELECT ( - symbol_colour); -END_TYPE; - - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_or_character = SELECT - (annotation_text, - annotation_text_character, - defined_character_glyph, - composite_text, - text_literal); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE defined_symbol_select = SELECT - (pre_defined_symbol, - externally_defined_symbol); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE presentation_representation_select = SELECT - (presentation_representation, - presentation_set); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_or_annotation_curve_occurrence = SELECT - (curve, - annotation_curve_occurrence); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE surface_style_element_select = SELECT - (surface_style_fill_area, - surface_style_boundary, - surface_style_silhouette, - surface_style_segmentation_curve, - surface_style_control_grid, - surface_style_parameter_line, - surface_style_rendering); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_or_render = SELECT - (curve_style, - curve_style_rendering); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE shading_surface_method = ENUMERATION OF - (constant_shading, - colour_shading, - dot_shading, - normal_shading); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE direction_count_select = SELECT - (u_direction_count, - v_direction_count); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE surface_side_style_select = SELECT - (surface_side_style, - pre_defined_surface_side_style); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE area_or_view = SELECT - (presentation_area, - presentation_view); - END_TYPE; - -(* Implicit interfaced from: geometric_model_schema *) -TYPE geometric_set_select = SELECT - (curve, - point, - surface); -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE day_in_year_number = INTEGER; -WHERE - WR1: {1 <= SELF <= 366}; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE week_in_year_number = INTEGER; -WHERE - WR1: { 1 <= SELF <= 53 }; -END_TYPE; - -(* Pruned unused type: pos_id_attribute_select *) - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_style_font_select = SELECT - (curve_style_font, - pre_defined_curve_font, - externally_defined_curve_font); - END_TYPE; - -(* Pruned unused type: pos_name_attribute_select *) - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE rendering_properties_select = SELECT - (surface_style_reflectance_ambient, - surface_style_transparent); - END_TYPE; - -(* Implicit interfaced from: management_resources_schema *) - TYPE attribute_type = SELECT (label, text); - END_TYPE; - -(* Pruned unused type: value_context_select *) - - -(* Pruned unused type: ppds_id_attribute_select *) - - -(* Pruned unused type: mrs_role_select *) - - -(* Pruned unused type: pds_id_attribute_select *) - - -(* Pruned unused type: pds_name_attribute_select *) - - -(* Pruned unused type: acs_description_attribute_select *) - - -(* Pruned unused type: acs_id_attribute_select *) - - -(* Pruned unused type: apps_role_select *) - - -(* Pruned unused type: apps_description_attribute_select *) - - -(* Pruned unused type: dts_description_attribute_select *) - - -(* Pruned unused type: cms_description_attribute_select *) - - -(* Pruned unused type: cms_name_attribute_select *) - - -(* Pruned unused type: pos_description_attribute_select *) - - -(* Pruned unused type: surface_boundary *) - - -(* Pruned unused type: as_id_attribute_select *) - - -(* Pruned unused type: effs_description_attribute_select *) - - -(* Pruned unused type: effs_name_attribute_select *) - - -(* Pruned unused type: product_data_representation_view_item *) - - -(* Pruned unused type: sts_item_identified_representation_usage_definition *) - - -(* Pruned unused type: shape_tolerance_select *) - - -(* Pruned unused type: st_id_attribute_select *) - - -(* Pruned unused type: des_invisible_item *) - -(* USED FROM (parameterization_schema); *) -TYPE attribute_identifier = identifier; -WHERE - WR1: validate_attribute_id(SELF); -END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE planar_curve_select = SELECT - (line, - conic, - trimmed_curve, - pcurve, - surface_curve); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; - WR2: check_curve_planarity(SELF); -END_TYPE; -(* USED FROM (shape_aspect_definition_schema); *) -TYPE common_datum_list = LIST[2:?] OF datum_reference_element; -WHERE - WR1: SIZEOF( QUERY(dre <* SELF | dre\shape_aspect.of_shape <> SELF[1]\shape_aspect.of_shape)) = 0; -END_TYPE; -(* USED FROM (kinematic_state_schema); *) -TYPE ypr_rotation = ARRAY [ypr_index(yaw) : ypr_index(roll)] - OF plane_angle_measure; -END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE presentable_text = STRING; - WHERE - WR1: control_characters_free(SELF); - END_TYPE; - -(* Pruned unused type: express_identifier *) - - -(* Pruned unused type: dotted_express_identifier *) - -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY entirely_narrow_face - SUBTYPE OF(topology_related_to_nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_certification - SUBTYPE OF (certification_assignment); - items : SET[1:?] OF certified_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_contract - SUBTYPE OF (contract_assignment); - items : SET[1:?] OF contracted_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_date_and_time_assignment - SUBTYPE OF (date_and_time_assignment); - items : SET[1:?] OF date_time_item; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_adjacent_edges_in_loop - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_security_classification - SUBTYPE OF (security_classification_assignment); - items : SET[1:?] OF cc_classified_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_specification_reference - SUBTYPE OF (document_reference); - items : SET[1:?] OF cc_specified_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY change - SUBTYPE OF (action_assignment); - items : SET[1:?] OF work_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY change_request - SUBTYPE OF (action_request_assignment); - items : SET[1:?] OF change_request_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY design_context - SUBTYPE OF (product_definition_context); - WHERE - WR1: SELF.life_cycle_stage = 'design'; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY design_make_from_relationship - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY mechanical_context - SUBTYPE OF (product_context); - WHERE - WR1: SELF.discipline_type = 'mechanical'; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY start_request - SUBTYPE OF (action_request_assignment); - items : SET[1:?] OF start_request_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY start_work - SUBTYPE OF (action_assignment); - items : SET[1:?] OF work_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY supplied_part_relationship - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Analysis_assignment_mim); *) -ENTITY analysis_assignment - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Analysis_assignment_mim); *) -ENTITY analysis_item - SUBTYPE OF (group_assignment); - items : SET[1:1] OF analysed_item; - SELF\group_assignment.assigned_group : analysis_assignment; -END_ENTITY; -(* USED FROM (Analysis_assignment_mim); *) -ENTITY assigned_analysis - SUBTYPE OF (group_assignment); - items : SET[1:1] OF product_definition_formation; - SELF\group_assignment.assigned_group : analysis_assignment; -END_ENTITY; -(* USED FROM (group_schema); *) - ENTITY group SUPERTYPE OF (ONEOF ( - CHANGE_GROUP, - CHANGE_ELEMENT) ) ; - name : label; - description : OPTIONAL text; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY group_assignment - ABSTRACT SUPERTYPE OF (ONEOF ( - CURRENT_CHANGE_ELEMENT_ASSIGNMENT, - PREVIOUS_CHANGE_ELEMENT_ASSIGNMENT, - CHANGE_GROUP_ASSIGNMENT) ) ; - assigned_group : group; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (Approval_mim); *) -ENTITY applied_approval_assignment - SUBTYPE OF (approval_assignment); - items : SET[1:?] OF approval_item; -END_ENTITY; -(* USED FROM (Classification_assignment_mim); *) -ENTITY applied_classification_assignment - SUBTYPE OF (classification_assignment); - items : SET[1:?] OF classification_item; -END_ENTITY; -(* USED FROM (Contract_mim); *) -ENTITY applied_contract_assignment - SUBTYPE OF (contract_assignment); - items : SET[1:?] OF contract_item; -END_ENTITY; -(* USED FROM (Date_time_assignment_mim); *) -ENTITY applied_date_and_time_assignment - SUBTYPE OF (date_and_time_assignment); - items : SET [1:?] OF date_and_time_item; -END_ENTITY; -(* USED FROM (Date_time_assignment_mim); *) -ENTITY applied_date_assignment - SUBTYPE OF (date_assignment); - items : SET [1:?] OF date_item; -END_ENTITY; -(* USED FROM (Person_organization_assignment_mim); *) -ENTITY applied_organization_assignment - SUBTYPE OF (organization_assignment); - items : SET[1:?] OF organization_item; -END_ENTITY; -(* USED FROM (Person_organization_assignment_mim); *) -ENTITY applied_person_and_organization_assignment - SUBTYPE OF (person_and_organization_assignment); - items : SET[1:?] OF person_and_organization_item; -END_ENTITY; -(* USED FROM (Security_classification_mim); *) -ENTITY applied_security_classification_assignment - SUBTYPE OF (security_classification_assignment); - items : SET [1:?] OF security_classification_item; -END_ENTITY; -(* USED FROM (Identification_assignment_mim); *) -ENTITY applied_identification_assignment - SUBTYPE OF (identification_assignment); - items : SET[1:?] OF identification_item; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product; - id : identifier; - name : label; - description : OPTIONAL text; - frame_of_reference : SET [1:?] OF product_context; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_category; - name : label; - description : OPTIONAL text; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition SUPERTYPE OF (ONEOF ( - COMPOSITE_ASSEMBLY_SEQUENCE_DEFINITION, - LAMINATE_TABLE, - PLY_LAMINATE_SEQUENCE_DEFINITION) ) ; - id : identifier; - description : OPTIONAL text; - formation : product_definition_formation; - frame_of_reference : product_definition_context; - DERIVE - name : label := get_name_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_formation; - id : identifier; - description : OPTIONAL text; - of_product : product; - UNIQUE - UR1: id, of_product; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_formation_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_product_definition_formation : product_definition_formation; - related_product_definition_formation : product_definition_formation; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_related_product_category - SUBTYPE OF (product_category); - products : SET [1:?] OF product; - END_ENTITY; -(* USED FROM (analysis_schema); *) -ENTITY behavioural_decomposition_of_numerical_model; - parts : SET [2 : ?] OF numerical_model; - whole : numerical_model; -END_ENTITY; -(* USED FROM (analysis_schema); *) -ENTITY model_action_domain -SUBTYPE OF (numerical_model); - initial : model_state_domain; - final : model_state_domain; -END_ENTITY; -(* USED FROM (analysis_schema); *) -ENTITY model_product_domain -SUBTYPE OF (numerical_model); - temporal_parts : LIST [0 : ?] OF model_action_domain; -END_ENTITY; -(* USED FROM (analysis_schema); *) -ENTITY model_product_domain_with_mesh -SUBTYPE OF (model_product_domain); - model_mesh : mesh; -END_ENTITY; -(* USED FROM (analysis_schema); *) -ENTITY model_property_distribution; - creating_software : text; - domain : numerical_model; - range : general_property; -END_ENTITY; -(* USED FROM (analysis_schema); *) -ENTITY model_state_domain -SUBTYPE OF (numerical_model); -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_edges - SUBTYPE OF(topology_related_to_overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBEDGE','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBEDGE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (analysis_schema); *) -ENTITY simulation_run; - id : identifier; - name : label; - description : text; - simulated : numerical_model; - results : SET [0 : ?] OF model_property_distribution; -END_ENTITY; -(* USED FROM (analysis_schema); *) -ENTITY spatial_decomposition_of_numerical_model; - parts : SET [2 : ?] OF numerical_model; - whole : numerical_model; -END_ENTITY; -(* USED FROM (analysis_schema); *) -ENTITY temporal_decomposition_of_model_action; - parts : LIST [2 : ?] OF model_action_domain; - whole : model_action_domain; -END_ENTITY; -(* USED FROM (analysis_product_relationships_schema); *) -ENTITY idealisation_relationship; - id : identifier; - name : label; - description : text; - idealised : product_definition; - idealisation : temporal_spatial_domain; -END_ENTITY; -(* USED FROM (analysis_product_relationships_schema); *) -ENTITY view_relationship; - id : identifier; - name :label; - description : text; - viewed : temporal_spatial_domain; - view : numerical_model; -END_ENTITY; -(* USED FROM (systems_engineering_representation_schema); *) -ENTITY analysis_model -SUBTYPE OF (representation); - SELF\representation.context_of_items : analysis_representation_context; -END_ENTITY; -(* USED FROM (systems_engineering_representation_schema); *) -ENTITY analysis_representation_context -SUBTYPE OF (representation_context); -END_ENTITY; -(* USED FROM (Shape_property_assignment_mim); *) -ENTITY geometric_item_specific_usage - SUBTYPE OF(item_identified_representation_usage); - SELF\item_identified_representation_usage.definition : geometric_item_specific_usage_select; - SELF\item_identified_representation_usage.used_representation : shape_model; - SELF\item_identified_representation_usage.identified_item : geometric_model_item; - UNIQUE - UR1 : definition; -END_ENTITY; -(* USED FROM (Shape_property_assignment_mim); *) -ENTITY chain_based_geometric_item_specific_usage - SUBTYPE OF (geometric_item_specific_usage, - chain_based_item_identified_representation_usage); -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY overcomplex_topology_and_geometry_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - UNUSED_PATCHES, - EDGE_WITH_EXCESSIVE_SEGMENTS, - FACE_SURFACE_WITH_EXCESSIVE_PATCHES_IN_ONE_DIRECTION)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY unused_patches - SUBTYPE OF(overcomplex_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_STRIP']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY dependent_variable_definition - SUBTYPE OF (unary_generic_expression); - name : label; - description : text; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY bound_variable_semantics - SUBTYPE OF (variable_semantics); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY free_variable_semantics - SUBTYPE OF (variable_semantics); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY complex_number_literal - SUBTYPE OF (generic_literal); - real_part : REAL; - imag_part : REAL; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY complex_number_literal_polar - SUBTYPE OF (complex_number_literal); - modulus : REAL; -- was radius - argument : REAL; -- was angle -DERIVE - SELF\complex_number_literal.real_part : REAL := modulus * cos(argument); - SELF\complex_number_literal.imag_part : REAL := modulus * sin(argument); -WHERE - WR1: modulus >= 0; - WR2: {0 <= argument <= 2*PI}; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY logical_literal - SUBTYPE OF (generic_literal); - lit_value : LOGICAL; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY binary_literal - SUBTYPE OF (generic_literal); - lit_value : BINARY; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_enum_literal - SUBTYPE OF (generic_literal); - lit_value : maths_enum_atom; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY real_tuple_literal - SUBTYPE OF (generic_literal); - lit_value : LIST [1:?] OF REAL; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY integer_tuple_literal - SUBTYPE OF (generic_literal); - lit_value : LIST [1:?] OF INTEGER; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY atom_based_literal - SUBTYPE OF (generic_literal); - lit_value : atom_based_value; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_tuple_literal - SUBTYPE OF (generic_literal); - lit_value : LIST OF maths_value; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_solids - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY entirely_narrow_solid - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_integer_variable - SUBTYPE OF (maths_variable, int_numeric_variable); -WHERE - WR1: subspace_of_es(SELF\maths_variable.values_space,es_integers); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_boolean_variable - SUBTYPE OF (maths_variable, boolean_variable); -WHERE - WR1: subspace_of_es(SELF\maths_variable.values_space,es_booleans); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_string_variable - SUBTYPE OF (maths_variable, string_variable); -WHERE - WR1: subspace_of_es(SELF\maths_variable.values_space,es_strings); -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_criteria_representation_with_accuracy - SUBTYPE OF(shape_data_quality_criteria_representation); - required_general_accuracy : SET [1:?] OF shape_measurement_accuracy; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_space - ABSTRACT SUPERTYPE OF (ONEOF ( - ELEMENTARY_SPACE, - FINITE_INTEGER_INTERVAL, - INTEGER_INTERVAL_FROM_MIN, - INTEGER_INTERVAL_TO_MAX, - FINITE_REAL_INTERVAL, - REAL_INTERVAL_FROM_MIN, - REAL_INTERVAL_TO_MAX, - CARTESIAN_COMPLEX_NUMBER_REGION, - POLAR_COMPLEX_NUMBER_REGION, - FINITE_SPACE, - UNIFORM_PRODUCT_SPACE, - LISTED_PRODUCT_SPACE, - EXTENDED_TUPLE_SPACE, - FUNCTION_SPACE)) - SUBTYPE OF (generic_expression); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY elementary_space - SUBTYPE OF (maths_space, generic_literal); - space_id : elementary_space_enumerators; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY finite_integer_interval - SUBTYPE OF (maths_space, generic_literal); - min : INTEGER; - max : INTEGER; -DERIVE - size : positive_integer := max - min + 1; -WHERE - WR1: min <= max; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY integer_interval_from_min - SUBTYPE OF (maths_space, generic_literal); - min : INTEGER; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY integer_interval_to_max - SUBTYPE OF (maths_space, generic_literal); - max : INTEGER; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY finite_real_interval - SUBTYPE OF (maths_space, generic_literal); - min : REAL; - min_closure : open_closed; - max : REAL; - max_closure : open_closed; -WHERE - WR1: min < max; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY real_interval_from_min - SUBTYPE OF (maths_space, generic_literal); - min : REAL; - min_closure : open_closed; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY real_interval_to_max - SUBTYPE OF (maths_space, generic_literal); - max : REAL; - max_closure : open_closed; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY cartesian_complex_number_region - SUBTYPE OF (maths_space, generic_literal); - real_constraint : real_interval; - imag_constraint : real_interval; -WHERE - WR1: min_exists(real_constraint) OR max_exists(real_constraint) OR - min_exists(imag_constraint) OR max_exists(imag_constraint); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY polar_complex_number_region - SUBTYPE OF (maths_space, generic_literal); - centre : complex_number_literal; - distance_constraint : real_interval; - direction_constraint : finite_real_interval; -WHERE - WR1: min_exists(distance_constraint) AND (real_min(distance_constraint) >= 0.0); - WR2: {-PI <= direction_constraint.min < PI}; - WR3: direction_constraint.max - direction_constraint.min <= 2.0*PI; - WR4: (direction_constraint.max - direction_constraint.min < 2.0*PI) OR - (direction_constraint.min_closure = open); - WR5: (direction_constraint.max - direction_constraint.min < 2.0*PI) OR - (direction_constraint.max_closure = open) OR - (direction_constraint.min = -PI); - WR6: (real_min(distance_constraint) > 0.0) OR max_exists(distance_constraint) OR - (direction_constraint.max - direction_constraint.min < 2.0*PI) OR - (direction_constraint.max_closure = open); -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_inspection_result_representation_with_accuracy - SUBTYPE OF(shape_data_quality_inspection_result_representation); - applied_general_accuracy : SET [1:?] OF shape_measurement_accuracy; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY uniform_product_space - SUBTYPE OF (maths_space, generic_literal); - base : maths_space; - exponent : positive_integer; -WHERE - WR1: expression_is_constant(base); - WR2: no_cyclic_space_reference(SELF, []); - WR3: base <> the_empty_space; -END_ENTITY; -(* REFERENCE FROM (date_time_schema); *) -ENTITY event_occurrence_role; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY extended_tuple_space - SUBTYPE OF (maths_space, generic_literal); - base : product_space; - extender : maths_space; -WHERE - WR1: expression_is_constant(base) AND - expression_is_constant(extender); - WR2: no_cyclic_space_reference(SELF, []); - WR3: extender <> the_empty_space; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY function_space - SUBTYPE OF (maths_space, generic_literal); - domain_constraint : space_constraint_type; - domain_argument : maths_space; - range_constraint : space_constraint_type; - range_argument : maths_space; -WHERE - WR1: expression_is_constant(domain_argument) AND - expression_is_constant(range_argument); - WR2: (domain_argument <> the_empty_space) AND - (range_argument <> the_empty_space); - WR3: (domain_constraint <> sc_member) OR NOT - member_of(the_empty_space,domain_argument); - WR4: (range_constraint <> sc_member) OR NOT - member_of(the_empty_space,range_argument); - WR5: NOT (any_space_satisfies(domain_constraint,domain_argument) AND - any_space_satisfies(range_constraint,range_argument)); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_function - ABSTRACT SUPERTYPE OF (ONEOF ( - FINITE_FUNCTION, - CONSTANT_FUNCTION, - SELECTOR_FUNCTION, - ELEMENTARY_FUNCTION, - RESTRICTION_FUNCTION, - REPACKAGING_FUNCTION, - REINDEXED_ARRAY_FUNCTION, - SERIES_COMPOSED_FUNCTION, - PARALLEL_COMPOSED_FUNCTION, - EXPLICIT_TABLE_FUNCTION, - HOMOGENEOUS_LINEAR_FUNCTION, - GENERAL_LINEAR_FUNCTION, - B_SPLINE_BASIS, - B_SPLINE_FUNCTION, - RATIONALIZE_FUNCTION, - PARTIAL_DERIVATIVE_FUNCTION, - DEFINITE_INTEGRAL_FUNCTION, - ABSTRACTED_EXPRESSION_FUNCTION, - EXPRESSION_DENOTED_FUNCTION, - IMPORTED_POINT_FUNCTION, - IMPORTED_CURVE_FUNCTION, - IMPORTED_SURFACE_FUNCTION, - IMPORTED_VOLUME_FUNCTION, - APPLICATION_DEFINED_FUNCTION)) - SUBTYPE OF (generic_expression); -DERIVE - domain : tuple_space := derive_function_domain(SELF); - range : tuple_space := derive_function_range(SELF); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY finite_function - SUBTYPE OF (maths_function, generic_literal); - pairs : SET [1:?] OF LIST [2:2] OF maths_value; -WHERE - WR1: VALUE_UNIQUE(list_selected_components(pairs, 1)); -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_inspection_result_accuracy_association; - applied_specific_accuracy : shape_measurement_accuracy; - shape_data_quality_result : shape_data_quality_inspection_result; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY selector_function - SUBTYPE OF (maths_function, generic_literal); - selector : input_selector; - source_of_domain : maths_space_or_function; -WHERE - WR1: no_cyclic_domain_reference(source_of_domain, [SELF]); - WR2: expression_is_constant(domain_from(source_of_domain)); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY elementary_function - SUBTYPE OF (maths_function, generic_literal); - func_id : elementary_function_enumerators; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY restriction_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_space; -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_instance_report_item - SUBTYPE OF(data_quality_inspection_instance_report_item); - SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1:?] OF inspected_shape_element_select; - measured_value : measured_value_select; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_instance_report - SUBTYPE OF(data_quality_inspection_instance_report); - SELF\data_quality_inspection_instance_report.inspected_instances : LIST [1:?] OF shape_data_quality_inspection_instance_report_item; - END_ENTITY; - -(* Implicit interfaced from: presentation_definition_schema *) - ENTITY symbol_target - SUBTYPE OF (geometric_representation_item); - placement : axis2_placement; - x_scale : positive_ratio_measure; - y_scale : positive_ratio_measure; - END_ENTITY; - -(* Implicit interfaced from: presentation_appearance_schema *) - ENTITY two_direction_repeat_factor - SUBTYPE OF (one_direction_repeat_factor); - second_repeat_factor : vector; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY explicit_table_function - ABSTRACT SUPERTYPE OF (ONEOF ( - LISTED_REAL_DATA, - LISTED_INTEGER_DATA, - LISTED_LOGICAL_DATA, - LISTED_STRING_DATA, - LISTED_COMPLEX_NUMBER_DATA, - LISTED_DATA, - EXTERNALLY_LISTED_DATA, - LINEARIZED_TABLE_FUNCTION, - BASIC_SPARSE_MATRIX)) - SUBTYPE OF (maths_function); - index_base : zero_or_one; - shape : LIST [1:?] OF positive_integer; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY listed_real_data - SUBTYPE OF (explicit_table_function, generic_literal); - values : LIST [1:?] OF REAL; -DERIVE - self\explicit_table_function.shape : LIST [1:?] OF positive_integer := - [SIZEOF (values)]; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY listed_integer_data - SUBTYPE OF (explicit_table_function, generic_literal); - values : LIST [1:?] OF INTEGER; -DERIVE - self\explicit_table_function.shape : LIST [1:?] OF positive_integer := - [SIZEOF (values)]; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY listed_logical_data - SUBTYPE OF(explicit_table_function, generic_literal); - values : LIST [1:?] OF LOGICAL; -DERIVE - self\explicit_table_function.shape : LIST [1:?] OF positive_integer := - [SIZEOF (values)]; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY listed_string_data - SUBTYPE OF (explicit_table_function, generic_literal); - values : LIST [1:?] OF STRING; -DERIVE - self\explicit_table_function.shape : LIST [1:?] OF positive_integer := - [SIZEOF (values)]; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY listed_complex_number_data - SUBTYPE OF (explicit_table_function, generic_literal); - values : LIST [2:?] OF REAL; -DERIVE - SELF\explicit_table_function.shape : LIST [1:?] OF positive_integer := [ SIZEOF(values) DIV 2 ]; -WHERE - WR1: - NOT ODD(SIZEOF(values)); -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY extreme_instance; - locations_of_extreme_value : SET [1:?] OF location_of_extreme_value_select; - measured_value : measured_value_select; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY externally_listed_data - SUBTYPE OF (explicit_table_function, generic_literal, externally_defined_item); - value_range : maths_space; -WHERE - WR1: expression_is_constant(value_range); -END_ENTITY; - -(* Implicit interfaced from: geometric_model_schema *) -ENTITY swept_area_solid - SUPERTYPE OF (ONEOF ( - REVOLVED_AREA_SOLID, - EXTRUDED_AREA_SOLID, - SURFACE_CURVE_SWEPT_AREA_SOLID)) - SUBTYPE OF (solid_model); - swept_area : curve_bounded_surface; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(swept_area.basis_surface); -END_ENTITY; - -(* Implicit interfaced from: management_resources_schema *) - ENTITY effectivity_context_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY regular_table_function - SUBTYPE OF (linearized_table_function); - increments : LIST [1:?] OF INTEGER; -WHERE - WR1: SIZEOF (increments) = SIZEOF (self\explicit_table_function.shape); - WR2: extremal_position_check(self); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY triangular_matrix - SUBTYPE OF (linearized_table_function); - default_entry : maths_value; - lo_up : lower_upper; - order : ordering_type; -WHERE - WR1: SIZEOF (SELF\explicit_table_function.shape) = 2; - WR2: member_of(default_entry, SELF\maths_function.range); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY strict_triangular_matrix - SUBTYPE OF (triangular_matrix); - main_diagonal_value : maths_value; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY symmetric_matrix - SUBTYPE OF (linearized_table_function); - symmetry : symmetry_type; - triangle : lower_upper; - order : ordering_type; -WHERE - WR1: SIZEOF (SELF\explicit_table_function.shape) = 2; - WR2: SELF\explicit_table_function.shape[1] = - SELF\explicit_table_function.shape[2]; - WR3: NOT (symmetry = symmetry_type.skew) OR ( - (space_dimension(SELF\linearized_table_function.source.range) = 1) AND - subspace_of_es(factor1(SELF\linearized_table_function.source.range), - es_numbers)); - WR4: NOT ((symmetry = symmetry_type.hermitian) OR (symmetry = symmetry_type.skew_hermitian)) OR ( - (space_dimension(SELF\linearized_table_function.source.range) = 1) AND - subspace_of_es(factor1(SELF\linearized_table_function.source.range), - es_complex_numbers)); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY symmetric_banded_matrix - SUBTYPE OF (symmetric_matrix); - default_entry : maths_value; - above : nonnegative_integer; -WHERE - WR1: member_of(default_entry, - factor1(SELF\linearized_table_function.source.range)); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY banded_matrix - SUBTYPE OF (linearized_table_function); - default_entry : maths_value; - below : integer; - above : integer; - order : ordering_type; -WHERE - WR1: SIZEOF (self\explicit_table_function.shape) = 2; - WR2: -below <= above; - WR3: member_of(default_entry, - factor1(SELF\linearized_table_function.source.range)); -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY plane_angle_and_length_pair - SUBTYPE OF(founded_item); - plane_angle_value : plane_angle_measure; - length_value : length_measure; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_surface_knot_locator - SUBTYPE OF(founded_item); - basis_surface : b_spline_surface; - knot_index : INTEGER; - surface_parameter : u_or_v_parameter; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY general_linear_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - sum_index : one_or_two; -DERIVE - mat : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_2d_table(mat); - WR2: (space_dimension(mat.range) = 1) AND - subspace_of_es(factor1(mat.range),es_numbers); -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_surface_patch - SUBTYPE OF(founded_item); - basis_surface : b_spline_surface; - u_start_knot_index : INTEGER; - v_start_knot_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; - -(* Implicit interfaced from: topology_schema *) - ENTITY oriented_open_shell - SUBTYPE OF (open_shell); - open_shell_element : open_shell; - orientation : BOOLEAN; - DERIVE - SELF\connected_face_set.cfs_faces : SET [1:?] OF face - := conditional_reverse(SELF.orientation, - SELF.open_shell_element.cfs_faces); - WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_OPEN_SHELL' - IN TYPEOF (SELF.open_shell_element)); - END_ENTITY; - -(* Implicit interfaced from: topology_schema *) - ENTITY oriented_path - SUBTYPE OF (path); - path_element : path; - orientation : BOOLEAN; - DERIVE - SELF\path.edge_list : LIST [1:?] OF UNIQUE oriented_edge - := conditional_reverse(SELF.orientation, - SELF.path_element.edge_list); - WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF (SELF.path_element)); - END_ENTITY; - -(* Implicit interfaced from: product_concept_schema *) -ENTITY concept_feature_relationship_with_condition - SUBTYPE OF (concept_feature_relationship); - conditional_operator : concept_feature_operator; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_hole - ABSTRACT SUPERTYPE OF ( - SOLID_WITH_STEPPED_ROUND_HOLE) - SUBTYPE OF (solid_with_depression); -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_slot - ABSTRACT SUPERTYPE OF ((ONEOF ( - SOLID_WITH_TRAPEZOIDAL_SECTION_SLOT, - SOLID_WITH_TEE_SECTION_SLOT)) - AND (ONEOF ( - SOLID_WITH_STRAIGHT_SLOT, - SOLID_WITH_CURVED_SLOT))) - SUBTYPE OF (solid_with_depression); - slot_width : positive_length_measure; - closed_ends : LIST[2:2] OF LOGICAL; - end_exit_faces : LIST[2:2] OF SET[0:?] OF face_surface; -WHERE - WR1: NOT(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN - TYPEOF(SELF)) AND (closed_ends = [FALSE,FALSE])); - WR2: NOT(((closed_ends[1] = TRUE) AND (SIZEOF(end_exit_faces[1]) <> 0)) - OR ((closed_ends[2] = TRUE) AND (SIZEOF(end_exit_faces[2]) <> 0))); -END_ENTITY; - -(* Implicit interfaced from: state_type_schema *) -ENTITY state_type_role; - name : label; - description : OPTIONAL text; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_depression - ABSTRACT SUPERTYPE OF ( - SOLID_WITH_THROUGH_DEPRESSION - ANDOR ONEOF ( - SOLID_WITH_HOLE, - SOLID_WITH_POCKET, - SOLID_WITH_SLOT, - SOLID_WITH_GROOVE)) - SUBTYPE OF (modified_solid_with_placed_configuration); - depth : positive_length_measure; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY expression_denoted_function - SUBTYPE OF (maths_function, unary_generic_expression); -DERIVE - expr : generic_expression := SELF\unary_generic_expression.operand; -WHERE - WR1: (schema_prefix + 'FUNCTION_SPACE') IN TYPEOF (values_space_of(expr)); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY imported_point_function - SUBTYPE OF (maths_function, generic_literal); - geometry : point; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY imported_curve_function - SUBTYPE OF (maths_function, generic_literal); - geometry : curve; - parametric_domain : tuple_space; -WHERE - WR1: expression_is_constant(parametric_domain); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY imported_surface_function - SUBTYPE OF (maths_function, generic_literal); - geometry : surface; - parametric_domain : tuple_space; -WHERE - WR1: expression_is_constant(parametric_domain); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY imported_volume_function - SUBTYPE OF (maths_function, generic_literal); - geometry : volume; - parametric_domain : tuple_space; -WHERE - WR1: expression_is_constant(parametric_domain); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY application_defined_function - SUPERTYPE OF (ONEOF ( - MESH_FUNCTION, - MESH_FUNCTION_BASIS) ) - SUBTYPE OF (maths_function); - explicit_domain : tuple_space; - explicit_range : tuple_space; - parameters : LIST OF maths_value; -WHERE - WR1: expression_is_constant(explicit_domain); - WR2: expression_is_constant(explicit_range); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY mathematical_description; - described : maths_expression; - describing : STRING; - encoding : label; -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_surface_strip - SUBTYPE OF(founded_item); - basis_surface : b_spline_surface; - start_knot_index : INTEGER; - surface_parameter : u_or_v_parameter; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY simple_generic_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - GENERIC_LITERAL, - GENERIC_VARIABLE)) - -SUBTYPE OF (generic_expression); -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY generic_literal - ABSTRACT SUPERTYPE - -SUBTYPE OF (simple_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY generic_variable - ABSTRACT SUPERTYPE - -SUBTYPE OF (simple_generic_expression); -INVERSE - interpretation : - environment FOR syntactic_representation; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY variable_semantics - ABSTRACT SUPERTYPE; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY environment; - syntactic_representation: generic_variable; - semantics: variable_semantics; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY unary_generic_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - MESH_FUNCTION, - MESH_FUNCTION_BASIS) ) - -SUBTYPE OF(generic_expression); - operand: generic_expression; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY binary_generic_expression - ABSTRACT SUPERTYPE - -SUBTYPE OF(generic_expression); - operands: LIST [2:2] OF generic_expression; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY multiple_arity_generic_expression - ABSTRACT SUPERTYPE - -SUBTYPE OF(generic_expression); - operands: LIST [2:?] OF generic_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY expression - ABSTRACT SUPERTYPE OF (ONEOF ( - NUMERIC_EXPRESSION, - BOOLEAN_EXPRESSION, - STRING_EXPRESSION)) - -SUBTYPE OF (generic_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY variable - ABSTRACT SUPERTYPE OF (ONEOF ( - NUMERIC_VARIABLE, - BOOLEAN_VARIABLE, - STRING_VARIABLE)) - -SUBTYPE OF(generic_variable); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY defined_function - ABSTRACT SUPERTYPE OF ((ONEOF ( - NUMERIC_DEFINED_FUNCTION, - STRING_DEFINED_FUNCTION, - BOOLEAN_DEFINED_FUNCTION)) - ANDOR - SQL_MAPPABLE_DEFINED_FUNCTION); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY SQL_mappable_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (defined_function); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_NUMERIC_EXPRESSION, - UNARY_NUMERIC_EXPRESSION, - BINARY_NUMERIC_EXPRESSION, - MULTIPLE_ARITY_NUMERIC_EXPRESSION, - LENGTH_FUNCTION, - VALUE_FUNCTION, - NUMERIC_DEFINED_FUNCTION)) - -SUBTYPE OF (expression); -DERIVE - is_int: BOOLEAN := is_int_expr (SELF); - sql_mappable: BOOLEAN := is_SQL_mappable (SELF); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY simple_numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - LITERAL_NUMBER, - NUMERIC_VARIABLE)) - -SUBTYPE OF (numeric_expression, simple_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY literal_number - ABSTRACT SUPERTYPE OF (ONEOF ( - INT_LITERAL, - REAL_LITERAL)) - -SUBTYPE OF (simple_numeric_expression, generic_literal); - the_value: NUMBER; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY int_literal -SUBTYPE OF (literal_number); - SELF\literal_number.the_value: INTEGER; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY real_literal -SUBTYPE OF (literal_number); - SELF\literal_number.the_value: REAL; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY numeric_variable -SUPERTYPE OF (ONEOF ( - INT_NUMERIC_VARIABLE, - REAL_NUMERIC_VARIABLE)) - -SUBTYPE OF (simple_numeric_expression, variable); -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INT_NUMERIC_VARIABLE' - IN TYPEOF(SELF) ) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REAL_NUMERIC_VARIABLE' - IN TYPEOF(SELF) ); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY int_numeric_variable -SUBTYPE OF (numeric_variable); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY real_numeric_variable -SUBTYPE OF (numeric_variable); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -(* Pruned SUPERTYPE *) -ENTITY unary_numeric_expression - ABSTRACT SUPERTYPE - -SUBTYPE OF (numeric_expression, unary_generic_expression); - SELF\unary_generic_expression.operand : numeric_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY binary_numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - MINUS_EXPRESSION, - DIV_EXPRESSION, - MOD_EXPRESSION, - SLASH_EXPRESSION, - POWER_EXPRESSION, - BINARY_FUNCTION_CALL)) - -SUBTYPE OF (numeric_expression, binary_generic_expression); - SELF\binary_generic_expression.operands : LIST [2:2] OF - numeric_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY multiple_arity_numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - PLUS_EXPRESSION, - MULT_EXPRESSION, - MULTIPLE_ARITY_FUNCTION_CALL)) - -SUBTYPE OF (numeric_expression, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF numeric_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY length_function -SUBTYPE OF (numeric_expression, unary_generic_expression); - SELF\unary_generic_expression.operand: string_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY value_function -SUPERTYPE OF ( - INT_VALUE_FUNCTION) - -SUBTYPE OF (numeric_expression, unary_generic_expression); - SELF\unary_generic_expression.operand: string_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY int_value_function -SUBTYPE OF (value_function); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY numeric_defined_function - ABSTRACT SUPERTYPE OF (ONEOF ( - INTEGER_DEFINED_FUNCTION, - REAL_DEFINED_FUNCTION)) - -SUBTYPE OF (numeric_expression, defined_function); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY plus_expression -SUBTYPE OF (multiple_arity_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY minus_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY mult_expression -SUBTYPE OF (multiple_arity_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY div_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY mod_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY slash_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY power_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY unary_function_call - ABSTRACT SUPERTYPE OF (ONEOF ( - ABS_FUNCTION, - MINUS_FUNCTION, - SIN_FUNCTION, - COS_FUNCTION, - TAN_FUNCTION, - ASIN_FUNCTION, - ACOS_FUNCTION, - EXP_FUNCTION, - LOG_FUNCTION, - LOG2_FUNCTION, - LOG10_FUNCTION, - SQUARE_ROOT_FUNCTION)) - -SUBTYPE OF (unary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -(* Pruned SUPERTYPE *) -ENTITY binary_function_call - ABSTRACT SUPERTYPE - -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY multiple_arity_function_call - ABSTRACT SUPERTYPE OF (ONEOF ( - MAXIMUM_FUNCTION, - MINIMUM_FUNCTION)) - -SUBTYPE OF (multiple_arity_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY abs_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY minus_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY sin_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY cos_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY tan_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY asin_function - SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY acos_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY exp_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY log_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY log2_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY log10_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY square_root_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY atan_function -SUBTYPE OF (binary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY maximum_function -SUBTYPE OF (multiple_arity_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY minimum_function -SUBTYPE OF (multiple_arity_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY integer_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (numeric_defined_function); -END_ENTITY ; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY real_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (numeric_defined_function); -END_ENTITY ; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_BOOLEAN_EXPRESSION, - UNARY_BOOLEAN_EXPRESSION, - BINARY_BOOLEAN_EXPRESSION, - MULTIPLE_ARITY_BOOLEAN_EXPRESSION, - COMPARISON_EXPRESSION, - INTERVAL_EXPRESSION, - BOOLEAN_DEFINED_FUNCTION)) - -SUBTYPE OF (expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY simple_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - BOOLEAN_LITERAL, - BOOLEAN_VARIABLE)) - -SUBTYPE OF (boolean_expression, simple_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_literal -SUBTYPE OF (simple_Boolean_expression, generic_literal); - the_value: BOOLEAN; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_variable -SUBTYPE OF (simple_Boolean_expression, variable); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY unary_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - NOT_EXPRESSION, - ODD_FUNCTION)) - -SUBTYPE OF (boolean_expression, unary_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY not_expression -SUBTYPE OF (unary_Boolean_expression); -SELF\unary_generic_expression.operand: boolean_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY odd_function -SUBTYPE OF (unary_Boolean_expression); - SELF\unary_generic_expression.operand: numeric_expression; -WHERE - WR1: is_int_expr(operand); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY binary_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - XOR_EXPRESSION, - EQUALS_EXPRESSION)) - -SUBTYPE OF (boolean_expression, binary_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY multiple_arity_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - AND_EXPRESSION, - OR_EXPRESSION)) - -SUBTYPE OF (boolean_expression, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : -LIST [2:?] OF boolean_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY xor_expression -SUBTYPE OF (binary_boolean_expression); - SELF\binary_generic_expression.operands: - LIST [2:2] OF boolean_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY equals_expression -SUBTYPE OF (binary_boolean_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY and_expression -SUBTYPE OF (multiple_arity_boolean_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY or_expression -SUBTYPE OF (multiple_arity_boolean_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - COMPARISON_EQUAL, - COMPARISON_GREATER, - COMPARISON_GREATER_EQUAL, - COMPARISON_LESS, - COMPARISON_LESS_EQUAL, - COMPARISON_NOT_EQUAL, - LIKE_EXPRESSION)) - -SUBTYPE OF (boolean_expression, binary_generic_expression); - SELF\binary_generic_expression.operands : LIST [2:2] OF expression; -WHERE - WR1: (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[1])) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[2]))) -OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[1])) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' - IN TYPEOF(SELF\binary_generic_expression.operands[2]))) -OR -(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[1])) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[2]))) ; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_equal -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_greater -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_greater_equal -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_less -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_less_equal -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_not_equal - SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY like_expression -SUBTYPE OF (comparison_expression); -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(SELF\binary_generic_expression.operands[1])) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(SELF\binary_generic_expression.operands[2])); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY interval_expression -SUBTYPE OF (boolean_expression, multiple_arity_generic_expression) ; -DERIVE - interval_low: generic_expression - := SELF\multiple_arity_generic_expression.operands[1]; - interval_item:generic_expression - := SELF\multiple_arity_generic_expression.operands[2]; - interval_high:generic_expression - := SELF\multiple_arity_generic_expression.operands[3]; -WHERE - WR1:('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXPRESSION' - IN TYPEOF(interval_low)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXPRESSION' - IN TYPEOF(interval_item) ) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXPRESSION' - IN TYPEOF(interval_high)); - WR2:(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF (SELF.interval_low)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF (SELF.interval_high)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF (SELF.interval_item))) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(SELF.interval_low)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(SELF.interval_item)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(SELF.interval_high))); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (defined_function, boolean_expression); -END_ENTITY ; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_STRING_EXPRESSION, - INDEX_EXPRESSION, - SUBSTRING_EXPRESSION, - CONCAT_EXPRESSION, - FORMAT_FUNCTION, - STRING_DEFINED_FUNCTION)) - -SUBTYPE OF (expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY simple_string_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - STRING_LITERAL, - STRING_VARIABLE)) - -SUBTYPE OF (string_expression, simple_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_literal -SUBTYPE OF (simple_string_expression, generic_literal); - the_value: STRING; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_variable -SUBTYPE OF (simple_string_expression, variable); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY index_expression -SUBTYPE OF (string_expression, binary_generic_expression); -DERIVE - operand:generic_expression:= -SELF\binary_generic_expression.operands[1]; - index:generic_expression:= -SELF\binary_generic_expression.operands[2]; -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(operand)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(index)); - WR2: is_int_expr (index); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY substring_expression -SUBTYPE OF (string_expression, multiple_arity_generic_expression); -DERIVE - operand:generic_expression:= - SELF\multiple_arity_generic_expression.operands[1]; - index1:generic_expression:= - SELF\multiple_arity_generic_expression.operands[2]; - index2:generic_expression:= - SELF\multiple_arity_generic_expression.operands[3]; -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(operand)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(index1)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(index2)); - WR2: SIZEOF(SELF\multiple_arity_generic_expression.operands)=3; - WR3: is_int_expr (index1); - WR4: is_int_expr (index2); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY concat_expression -SUBTYPE OF (string_expression, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands: - LIST [2 : ?] OF string_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY format_function -SUBTYPE OF (string_expression, binary_generic_expression); -DERIVE - value_to_format: generic_expression:= - SELF\binary_generic_expression.operands[1]; - format_string:generic_expression:= - SELF\binary_generic_expression.operands[2]; -WHERE - WR1: (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_EXPRESSION') - IN TYPEOF(value_to_format)) - AND (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_EXPRESSION') - IN TYPEOF(format_string)); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (defined_function, string_expression); -END_ENTITY ; -(* USED FROM (Collection_identification_and_version_mim); *) -ENTITY collection - SUBTYPE OF (product); -END_ENTITY; -(* USED FROM (Collection_identification_and_version_mim); *) -ENTITY collection_assignment - SUBTYPE OF (applied_group_assignment); -END_ENTITY; -(* USED FROM (Collection_identification_and_version_mim); *) -ENTITY collection_membership - SUBTYPE OF (applied_group_assignment); -END_ENTITY; -(* USED FROM (Collection_identification_and_version_mim); *) -ENTITY collection_relationship - SUBTYPE OF (product_relationship); - SELF\product_relationship.relating_product : collection; -- relating_collection : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\product_relationship.related_product : collection; -- related_collection : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - related_collection : COLLECTION := SELF\product_relationship.related_product; -- RELATED_PRODUCT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - relating_collection : COLLECTION := SELF\product_relationship.relating_product; -- RELATING_PRODUCT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Collection_identification_and_version_mim); *) -ENTITY collection_version - SUBTYPE OF (product_definition_formation); - SELF\product_definition_formation.of_product : collection; -- of_collection : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - of_collection : COLLECTION := SELF\product_definition_formation.of_product; -- OF_PRODUCT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Collection_identification_and_version_mim); *) -ENTITY collection_version_relationship - SUBTYPE OF (product_definition_formation_relationship); - SELF\product_definition_formation_relationship.relating_product_definition_formation : collection_version; -- relating_version : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\product_definition_formation_relationship.related_product_definition_formation : collection_version; -- related_version : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - related_version : COLLECTION_VERSION := SELF\product_definition_formation_relationship.related_product_definition_formation; -- RELATED_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - relating_version : COLLECTION_VERSION := SELF\product_definition_formation_relationship.relating_product_definition_formation; -- RELATING_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Collection_identification_and_version_mim); *) -ENTITY collection_version_sequence_relationship - SUBTYPE OF (product_definition_formation_relationship); - SELF\product_definition_formation_relationship.relating_product_definition_formation : collection_version; -- predecessor : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\product_definition_formation_relationship.related_product_definition_formation : collection_version; -- successor : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - predecessor : COLLECTION_VERSION := SELF\product_definition_formation_relationship.relating_product_definition_formation; -- RELATING_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - successor : COLLECTION_VERSION := SELF\product_definition_formation_relationship.related_product_definition_formation; -- RELATED_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Collection_identification_and_version_mim); *) -ENTITY collection_view_definition - SUBTYPE OF (product_definition); - SELF\product_definition.formation : collection_version; -- defined_version : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - defined_version : COLLECTION_VERSION := SELF\product_definition.formation; -- FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Mating_structure_mim); *) -ENTITY mated_part_relationship - SUBTYPE OF (group, group_assignment, product_definition_shape, product_definition_relationship, shape_aspect); - items : SET [0:?] OF product_definition; -DERIVE - SELF\group_assignment.assigned_group : mated_part_relationship := SELF; - SELF\property_definition.definition : mated_part_relationship := SELF; - SELF\shape_aspect.of_shape : mated_part_relationship := SELF; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY near_point_relationship - SUBTYPE OF (representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : - curve_or_surface_constraint_element; - SELF\representation_item_relationship.related_representation_item : - point; -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) - ENTITY externally_conditioned_data_quality_inspection_result - SUBTYPE OF(data_quality_inspection_result); - WHERE - WR1 : 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' IN TYPEOF - (SELF\data_quality_inspection_result.criterion_inspected); - END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY modified_solid_with_placed_configuration - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_DEPRESSION, - SOLID_WITH_PROTRUSION, - SOLID_WITH_SHAPE_ELEMENT_PATTERN)) - SUBTYPE OF (modified_solid); - placing : axis2_placement_3d; -END_ENTITY; -(* USED FROM (Machining_features_mim); *) -ENTITY face_shape_representation_relationship - SUBTYPE OF (representation_relationship); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(SELF.rep_1)); - WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(SELF.rep_2)); -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_shape_element_pattern - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_CIRCULAR_PATTERN, - SOLID_WITH_RECTANGULAR_PATTERN)) - SUBTYPE OF (modified_solid_with_placed_configuration); - replicated_element : modified_solid_with_placed_configuration; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY edge_blended_solid - ABSTRACT SUPERTYPE OF ( - TRACK_BLENDED_SOLID - ANDOR (ONEOF ( - SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND, - SOLID_WITH_CHAMFERED_EDGES))) - SUBTYPE OF (modified_solid); - blended_edges : LIST [1:?] OF UNIQUE edge_curve; -END_ENTITY; - -(* Implicit interfaced from: procedural_model_schema *) -ENTITY user_selected_elements - SUBTYPE OF (representation_item); - picked_items : SET[1:?] OF representation_item; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY skew_line_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:2] OF line; - SELF\explicit_constraint.reference_elements : SET[0:1] OF line; - distance_value : non_negative_length_measure; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements) = 2; -END_ENTITY; - -(* Implicit interfaced from: shape_tolerance_schema *) -ENTITY runout_zone_orientation; - angle : plane_angle_measure_with_unit; -END_ENTITY; -(* REFERENCE FROM (procedural_model_schema); *) -ENTITY indirectly_selected_elements - SUBTYPE OF (user_selected_elements); - indirectly_picked_items : SET[1:?] OF representation_item; -END_ENTITY; - -(* Implicit interfaced from: management_resources_schema *) - ENTITY action_method_role; - name : label; - description : OPTIONAL text; - END_ENTITY; - -(* Implicit interfaced from: action_schema *) - ENTITY action_resource_type; - name : label; - END_ENTITY; - -(* Implicit interfaced from: presentation_organization_schema *) - ENTITY camera_model_d2 - SUBTYPE OF (camera_model); - view_window : planar_box; - view_window_clipping : BOOLEAN; - WHERE - WR1: SELF\geometric_representation_item.dim = 2; - END_ENTITY; -(* REFERENCE FROM (mathematical_context_schema); *) -(* Pruned SUPERTYPE *) -ENTITY maths_space_context - ; - id : identifier; - name : label; - description : OPTIONAL text; - abstract_space : maths_space; - physical_space : space_context_select; -END_ENTITY; -(* REFERENCE FROM (mathematical_description_of_distribution_schema); *) -ENTITY property_distribution_description; - id : identifier; - name : label; - description : OPTIONAL text; - abstract_function : maths_function; - domain_context : maths_space_context; - physical_function : property_distribution_select; - range_context : maths_space_context; -END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY product_definition_resource - SUBTYPE OF (action_resource,product_definition); -WHERE - WR1: SIZEOF( USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'REQUIREMENT_FOR_ACTION_RESOURCE.RESOURCES') - ) > 0; - - WR2: SELF.frame_of_reference.name IN - ['part_definition','part occurrence','physical occurrence']; - -END_ENTITY; -(* REFERENCE FROM (document_schema); *) - ENTITY document_usage_constraint; - source : document; - subject_element : label; - subject_element_value : text; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY boolean_result_2d - SUBTYPE OF (boolean_result); - SELF\boolean_result.first_operand : boolean_operand_2d; - SELF\boolean_result.second_operand : boolean_operand_2d; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY closed_curve_style_parameters - SUBTYPE OF(curve_style_parameters_representation); - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY complex_area - ABSTRACT SUPERTYPE OF ( - PATH_AREA_WITH_PARAMETERS - ANDOR - PRIMITIVE_2D_WITH_INNER_BOUNDARY) - SUBTYPE OF (primitive_2d); - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY csg_primitive_solid_2d - SUBTYPE OF (csg_solid_2d); - SELF\csg_solid.tree_root_expression : bounded_primitive_2d; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY cdgc_with_dimension - SUBTYPE OF (curve_distance_geometric_constraint); - distance_value : non_negative_length_measure; -END_ENTITY; - -(* Implicit interfaced from: geometry_schema *) -ENTITY cartesian_transformation_operator - SUPERTYPE OF (ONEOF ( - CARTESIAN_TRANSFORMATION_OPERATOR_2D, - CARTESIAN_TRANSFORMATION_OPERATOR_3D)) - SUBTYPE OF (functionally_defined_transformation, geometric_representation_item); - axis1 : OPTIONAL direction; - axis2 : OPTIONAL direction; - local_origin : cartesian_point; - scale : OPTIONAL REAL; -DERIVE - scl : REAL := NVL(scale, 1.0); -WHERE - WR1: scl > 0.0; -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) -ENTITY curve_style_parameters_representation - SUBTYPE OF(representation); -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) -ENTITY curve_style_parameters_with_ends - SUBTYPE OF(curve_style_parameters_representation); -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) -ENTITY path_area_with_parameters - SUBTYPE OF (complex_area, mapped_item); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF(SELF\mapped_item.mapping_target); - -- the mapping source must be a curve (open or closed) - -- no the mapping target must be a curve (open or closed) - --wr2: -- the mapping_source.mapped_representation must be curve_style_parameters_representation; - WR2: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_PARAMETERS_REPRESENTATION' IN TYPEOF(SELF\mapped_item.mapping_source\representation_map.mapped_representation); - WR3: SELF\mapped_item.mapping_source\representation_map.mapping_origin\representation_item.name = 'curve width'; - --don't reall care on mapping_source.mapping_origin. Best to make it the line-width -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY sdgc_with_dimension - SUBTYPE OF (surface_distance_geometric_constraint); - distance_value : non_negative_length_measure; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY radius_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF radial_geometry_constraint_element; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organizational_project; - name : label; - description : OPTIONAL text; - responsible_organizations : SET [1:?] OF organization; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (Product_as_individual_assembly_and_test_mim); *) -ENTITY evaluated_characteristic_of_product_as_individual_test_result - SUBTYPE OF (evaluated_characteristic); -END_ENTITY; -(* USED FROM (Characterized_representation_mim); *) -ENTITY characterized_representation - SUBTYPE OF (representation, characterized_object); -DERIVE - SELF\characterized_object.name : label := SELF\representation.name; - SELF\characterized_object.description : text := SELF\representation.description; -END_ENTITY; -(* USED FROM (Composite_material_aspects_mim); *) - ENTITY composite_material_designation - SUBTYPE OF (material_designation); - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY rgc_with_dimension - SUBTYPE OF (radius_geometric_constraint); - radius_value : positive_length_measure; -END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organizational_project_relationship; - name : label; - description : OPTIONAL text; - relating_organizational_project : organizational_project; - related_organizational_project : organizational_project; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY organizational_project_assignment - ABSTRACT SUPERTYPE; - assigned_organizational_project : organizational_project; - role : organizational_project_role; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY event_occurrence_assignment - ABSTRACT SUPERTYPE; - assigned_event_occurrence : event_occurrence; - role : event_occurrence_role; - END_ENTITY; -(* USED FROM (Dimension_and_tolerance_callouts_mim); *) -ENTITY dimension_curve_terminator_to_projection_curve_associativity - SUBTYPE OF(annotation_occurrence_associativity); - SELF\annotation_occurrence_relationship.relating_annotation_occurrence : dimension_curve_terminator; - SELF\annotation_occurrence_relationship.related_annotation_occurrence : projection_curve; -END_ENTITY; -(* USED FROM (Event_assignment_mim); *) -ENTITY applied_event_occurrence_assignment - SUBTYPE OF (event_occurrence_assignment); - items : SET[1:?] OF event_occurrence_item; -END_ENTITY; -(* USED FROM (Drawing_definition_mim); *) -ENTITY drawing_sheet_layout - SUBTYPE OF (draughting_symbol_representation); -END_ENTITY; -(* USED FROM (External_currency_mim); *) - ENTITY externally_defined_currency - SUBTYPE OF (currency, externally_defined_context_dependent_unit); - END_ENTITY; -(* USED FROM (External_representation_item_mim); *) - ENTITY externally_defined_representation_item - SUBTYPE OF (representation_item, externally_defined_item); - END_ENTITY; -(* USED FROM (External_representation_item_mim); *) - ENTITY externally_defined_string - SUBTYPE OF (externally_defined_representation_item); - END_ENTITY; -(* USED FROM (External_representation_item_mim); *) - ENTITY externally_defined_representation - SUBTYPE OF (representation, externally_defined_item); - SELF\representation.items : SET [1:?] OF externally_defined_representation_item; - END_ENTITY; -(* USED FROM (Geometric_tolerance_mim); *) -ENTITY feature_for_datum_target_relationship - SUBTYPE OF (shape_aspect_relationship); - SELF\shape_aspect_relationship.related_shape_aspect : datum_target; -UNIQUE - UR1: related_shape_aspect; -WHERE - WR1: relating_shape_aspect.of_shape :=: related_shape_aspect.of_shape; - WR2: relating_shape_aspect\shape_aspect.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY pogc_with_dimension - SUBTYPE OF (parallel_offset_geometric_constraint); - offset_value : positive_length_measure; - offset_direction_constrained : BOOLEAN; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) = 1) - OR (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: (NOT (offset_direction_constrained = TRUE) - AND ((offset_type = curve_2d_offset) - OR (offset_type = surface_offset))); -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY kinematic_property_definition_representation - ABSTRACT SUPERTYPE OF (ONEOF ( - KINEMATIC_PROPERTY_TOPOLOGY_REPRESENTATION, - KINEMATIC_PROPERTY_MECHANISM_REPRESENTATION)) - SUBTYPE OF (property_definition_representation); - SELF\property_definition_representation.definition : product_definition_kinematics; -END_ENTITY; -(* USED FROM (Mechanical_design_presentation_representation_with_draughting_mim); *) - ENTITY mechanical_design_presentation_representation_with_draughting - SUBTYPE of (representation); - SELF\representation.items : SET[1:?] OF camera_model_d3; - END_ENTITY; -(* USED FROM (Mechanical_design_presentation_representation_with_draughting_mim); *) - ENTITY mechanical_design_and_draughting_relationship - SUBTYPE OF(definitional_representation_relationship_with_same_context); - SELF\representation_relationship.rep_1 : mechanical_design_and_draughting_relationship_select; - SELF\representation_relationship.rep_2 : mechanical_design_and_draughting_relationship_select; - WHERE - WR1: NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_2)) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_1)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); - WR2: NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); - WR3: NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); - END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY kinematic_property_topology_representation - SUBTYPE OF (kinematic_property_definition_representation); - SELF\property_definition_representation.used_representation : kinematic_topology_representation_select; - base : kinematic_link; -WHERE - WR1: used_representation IN using_representations(base); -END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY composite_assembly_table - SUBTYPE OF (part_laminate_table); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY laminate_table - SUPERTYPE OF (ONEOF ( - PART_LAMINATE_TABLE, - ZONE_STRUCTURAL_MAKEUP)) - SUBTYPE OF (product_definition); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY part_laminate_table - SUPERTYPE OF (ONEOF ( - COMPOSITE_ASSEMBLY_TABLE, - PLY_LAMINATE_TABLE)) - SUBTYPE OF (laminate_table); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY percentage_laminate_table - SUBTYPE OF (zone_structural_makeup); - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY agc_with_dimension - SUBTYPE OF (angle_geometric_constraint); - angle_value : plane_angle_measure; -END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY ply_laminate_table - SUBTYPE OF (part_laminate_table); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY smeared_material_definition - SUBTYPE OF (zone_structural_makeup); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY thickness_laminate_table - SUBTYPE OF (zone_structural_makeup); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY zone_structural_makeup - SUPERTYPE OF (ONEOF (( - SMEARED_MATERIAL_DEFINITION - AND - THICKNESS_LAMINATE_TABLE),( - SMEARED_MATERIAL_DEFINITION - AND - PERCENTAGE_LAMINATE_TABLE), - THICKNESS_LAMINATE_TABLE, - PERCENTAGE_LAMINATE_TABLE, - SMEARED_MATERIAL_DEFINITION)) - SUBTYPE OF (laminate_table); - END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY externally_defined_picture_representation_item - SUBTYPE OF (picture_representation_item); - INVERSE - source : applied_external_identification_assignment FOR items; - WHERE - WR1: NOT (SELF\representation_item.name IN pre_defined_picture_representation_types); - END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_link - SUBTYPE OF (vertex); -END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY picture_representation_item - ABSTRACT SUPERTYPE OF (ONEOF ( - EXTERNALLY_DEFINED_PICTURE_REPRESENTATION_ITEM, - PREDEFINED_PICTURE_REPRESENTATION_ITEM)) - SUBTYPE OF (bytes_representation_item); - END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY predefined_picture_representation_item - SUBTYPE OF (picture_representation_item); - WHERE - WR1: SELF\representation_item.name IN pre_defined_picture_representation_types; - END_ENTITY; -(* USED FROM (Planned_characteristic_mim); *) -ENTITY evaluated_characteristic - SUBTYPE OF (representation, representation_relationship); -UNIQUE - UR1: SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; -WHERE - WR1: SELF\representation_relationship.rep_1 <> - SELF\representation_relationship.rep_2; -END_ENTITY; -(* USED FROM (Planned_characteristic_mim); *) -ENTITY evaluation_product_definition - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY angle_direction_reference - SUBTYPE OF (representation_item_relationship, geometric_representation_item); - SELF\representation_item_relationship.relating_representation_item : orientation_basis_select; - SELF\representation_item_relationship.related_representation_item : angle_direction_reference_select; - WHERE - WR1: ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MIN_AND_MAJOR_PLY_ORIENTATION_BASIS' IN TYPEOF(relating_representation_item))) - OR - (NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF(relating_representation_item)))); - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY draped_defined_transformation - SUBTYPE OF (transformation_with_derived_angle); - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY laid_defined_transformation - SUBTYPE OF (transformation_with_derived_angle); - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY min_and_major_ply_orientation_basis - SUBTYPE OF (representation_item_relationship, geometric_representation_item); - SELF\representation_item_relationship.relating_representation_item : axis2_placement_3d; -- minor_orientation_basis : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\representation_item_relationship.related_representation_item : axis2_placement_3d; -- major_orientation_basis : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - major_orientation_basis : AXIS2_PLACEMENT_3D := SELF\representation_item_relationship.related_representation_item; -- RELATED_REPRESENTATION_ITEM : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - minor_orientation_basis : AXIS2_PLACEMENT_3D := SELF\representation_item_relationship.relating_representation_item; -- RELATING_REPRESENTATION_ITEM : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY point_and_vector - SUBTYPE OF (compound_representation_item, geometric_representation_item); - SELF\compound_representation_item.item_element : point_and_vector_members; - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY point_path - SUBTYPE OF (compound_representation_item, geometric_representation_item); - SELF\compound_representation_item.item_element : point_path_members; - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY transformation_with_derived_angle - SUPERTYPE OF (ONEOF ( - DRAPED_DEFINED_TRANSFORMATION, - LAID_DEFINED_TRANSFORMATION)) - SUBTYPE OF (item_defined_transformation); - SELF\item_defined_transformation.transform_item_1 : angle_direction_reference_with_a2p3d_select; - SELF\item_defined_transformation.transform_item_2 : axis2_placement_3d; - DERIVE - orientation_angle : plane_angle_measure := derive_angle ( - SELF\item_defined_transformation.transform_item_1, - SELF\item_defined_transformation.transform_item_2); - WHERE - WR1: (SELF\item_defined_transformation.transform_item_1\ - axis2_placement_3d.p[3].direction_ratios[1] = - SELF\item_defined_transformation.transform_item_2\ - axis2_placement_3d.p[3].direction_ratios[1]) - AND - (SELF\item_defined_transformation.transform_item_1\ - axis2_placement_3d.p[3].direction_ratios[2] = - SELF\item_defined_transformation.transform_item_2\ - axis2_placement_3d.p[3].direction_ratios[2]) - AND - (SELF\item_defined_transformation.transform_item_1\ - axis2_placement_3d.p[3].direction_ratios[3] = - SELF\item_defined_transformation.transform_item_2\ - axis2_placement_3d.p[3].direction_ratios[3]); - END_ENTITY; -(* USED FROM (Shape_feature_mim); *) -ENTITY shape_feature_definition - SUBTYPE OF (feature_definition); -END_ENTITY; -(* USED FROM (Shape_feature_mim); *) -ENTITY placed_feature - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_smoothness_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:1] OF curve_segment_set; - smoothness : transition_code; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_segment_set - SUBTYPE OF (geometric_representation_item); - segments : SET[1:?] OF composite_curve_segment; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_network_structure - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF kinematic_loop; - parent : kinematic_topology_structure; -WHERE - WR1: context_of_items :=: parent.context_of_items; - WR2: get_kinematic_joints_from_kinematic_loops(items) <= parent.items; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_tree_structure - SUBTYPE OF (kinematic_topology_directed_structure); -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_directed_structure - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF oriented_joint; - parent : kinematic_topology_structure; -WHERE - WR1: context_of_items :=: parent.context_of_items; - WR2: get_kinematic_joints_from_oriented_joints(items) <= parent.items; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_substructure - SUBTYPE OF (kinematic_topology_structure); - parent : kinematic_topology_structure; -WHERE - WR1: context_of_items :=: parent.context_of_items; - WR2: SELF\kinematic_topology_structure.items <= parent\kinematic_topology_structure.items; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_group - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_element - ABSTRACT SUPERTYPE OF (ONEOF ( - MODIFY_ELEMENT, - DELETE_ELEMENT, - ADD_ELEMENT)) - SUBTYPE OF (group, characterized_object); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY modify_element - SUBTYPE OF (change_element); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY delete_element - SUBTYPE OF (change_element); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY add_element - SUBTYPE OF (change_element); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_element_sequence - SUBTYPE OF (group_relationship); - SELF\group_relationship.relating_group : change_element; -- previous : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\group_relationship.related_group : change_element; -- next : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - next : CHANGE_ELEMENT := SELF\group_relationship.related_group; -- RELATED_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - previous : CHANGE_ELEMENT := SELF\group_relationship.relating_group; -- RELATING_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_composition_relationship - SUBTYPE OF (group_relationship); - SELF\group_relationship.relating_group : change_group; -- composition : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\group_relationship.related_group : change_element; -- element : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - composition : CHANGE_GROUP := SELF\group_relationship.relating_group; -- RELATING_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - element : CHANGE_ELEMENT := SELF\group_relationship.related_group; -- RELATED_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_group_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : change_group; - item : change_relationship_select; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY current_change_element_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : current_element_assignment_select; - items : SET [1:?] OF change_management_object; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY previous_change_element_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : previous_element_assignment_select; - items : SET [1:?] OF change_management_object; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY frozen_assignment - SUBTYPE OF (approval_assignment); - items : SET [1:?] OF change_management_object; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY location_in_aggregate_representation_item - SUBTYPE OF (compound_representation_item); - SELF\compound_representation_item.item_element : location_in_aggregate_item; -END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY document_identifier_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : document_identifier; - items : SET [1:?] OF document_identifier_assigned_item; - END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY expression_extension_numeric - SUBTYPE OF (measure_with_unit, numeric_expression); -END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY expression_extension_string - SUBTYPE OF (measure_with_unit, string_expression); -END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY expression_extension_to_select; - type_expression_associated: expression_extension_select; -END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY variable_expression - SUBTYPE OF (variable_semantics); - property_associated: property_variable_rep_select; -END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY application_context; - application : label; - DERIVE - description : text := get_description_value(SELF); - id : identifier := get_id_value(SELF); - INVERSE - context_elements : SET [1:?] OF application_context_element FOR frame_of_reference; - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY application_protocol_definition; - status : label; - application_interpreted_model_schema_name : label; - application_protocol_year : year_number; - application : application_context; - END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY product_context - SUBTYPE OF (application_context_element); - discipline_type : label; - END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY product_definition_context - SUBTYPE OF (application_context_element); - life_cycle_stage : label; - END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept_relationship; - name : label; - description : OPTIONAL text; - relating_product_concept : product_concept; - related_product_concept : product_concept; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_context_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY outer_boundary_curve - SUBTYPE OF (boundary_curve); -END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval; - status : approval_status; - level : label; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_date_time; - date_time : date_time_select; - dated_approval : approval; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_person_organization; - person_organization : person_organization_select; - authorized_approval : approval; - role : approval_role; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_relationship; - name : label; - description : OPTIONAL text; - relating_approval : approval; - related_approval : approval; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_role; - role : label; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_status; - name : label; - END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY object_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY role_association; - role : object_role; - item_with_role : role_select; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY approval_assignment - ABSTRACT SUPERTYPE; - assigned_approval : approval; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_rendering_with_properties - SUBTYPE OF (surface_style_rendering); - properties : SET [1:2] OF rendering_properties_select; - WHERE - WR1: (HIINDEX(SELF.properties) = 1) - XOR - (TYPEOF(SELF.properties[1]) <> TYPEOF(SELF.properties[2])); - END_ENTITY; -(* USED FROM (classification_schema); *) -ENTITY class - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (classification_schema); *) -ENTITY class_by_extension - SUBTYPE OF (class); -END_ENTITY; -(* USED FROM (classification_schema); *) -ENTITY class_by_intension - SUBTYPE OF (class); -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY classification_assignment - ABSTRACT SUPERTYPE; - assigned_class : group; - role : classification_role; - END_ENTITY; -(* USED FROM (contract_schema); *) - ENTITY contract; - name : label; - purpose : text; - kind : contract_type; - END_ENTITY; -(* USED FROM (contract_schema); *) - ENTITY contract_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_contract : contract; - related_contract : contract; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY contract_assignment - ABSTRACT SUPERTYPE; - assigned_contract : contract; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_reflectance_ambient_diffuse - SUBTYPE OF (surface_style_reflectance_ambient); - diffuse_reflectance : REAL; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date_and_time; - date_component : date; - time_component : local_time; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY coordinated_universal_time_offset; - hour_offset : INTEGER; - minute_offset : OPTIONAL INTEGER; - sense : ahead_or_behind; -DERIVE - actual_minute_offset : INTEGER := NVL(minute_offset,0); -WHERE - WR1: { 0 <= hour_offset < 24 }; - WR2: { 0 <= actual_minute_offset <= 59 }; - WR3: NOT (((hour_offset <> 0) OR (actual_minute_offset <>0)) AND (sense = exact)); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_reflectance_ambient; - ambient_reflectance : REAL; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date - SUPERTYPE OF (ONEOF ( - CALENDAR_DATE, - ORDINAL_DATE, - WEEK_OF_YEAR_AND_DAY_DATE, - YEAR_MONTH)); - year_component : year_number; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date_role; - name : label; -DERIVE - description : text := get_description_value (SELF); -WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date_time_role; - name : label; -DERIVE - description : text := get_description_value (SELF); -WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY date_and_time_assignment - ABSTRACT SUPERTYPE; - assigned_date_and_time : date_and_time; - role : date_time_role; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY date_assignment - ABSTRACT SUPERTYPE; - assigned_date : date; - role : date_role; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY organization_assignment - ABSTRACT SUPERTYPE; - assigned_organization : organization; - role : organization_role; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY person_and_organization_assignment - ABSTRACT SUPERTYPE; - assigned_person_and_organization : person_and_organization; - role : person_and_organization_role; - END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY id_attribute; - attribute_value : identifier; - identified_item : id_attribute_select; - END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY name_attribute; - attribute_value : label; - named_item : name_attribute_select; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY address; - internal_location : OPTIONAL label; - street_number : OPTIONAL label; - street : OPTIONAL label; - postal_box : OPTIONAL label; - town : OPTIONAL label; - region : OPTIONAL label; - postal_code : OPTIONAL label; - country : OPTIONAL label; - facsimile_number : OPTIONAL label; - telephone_number : OPTIONAL label; - electronic_mail_address : OPTIONAL label; - telex_number : OPTIONAL label; - DERIVE - name : label := get_name_value(SELF); - url : identifier := get_id_value(SELF); - WHERE - WR1: EXISTS(internal_location) OR EXISTS(street_number) OR EXISTS(street) OR EXISTS(postal_box) OR EXISTS(town) OR EXISTS(region) OR EXISTS(postal_code) OR EXISTS(country) OR EXISTS(facsimile_number) OR EXISTS(telephone_number) OR EXISTS(electronic_mail_address) OR EXISTS(telex_number); - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organization; - id : OPTIONAL identifier; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organization_relationship; - name : label; - description : OPTIONAL text; - relating_organization : organization; - related_organization : organization; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organizational_address - SUBTYPE OF (address); - organizations : SET [1:?] OF organization; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY person; - id : identifier; - last_name : OPTIONAL label; - first_name : OPTIONAL label; - middle_names : OPTIONAL LIST [1:?] OF label; - prefix_titles : OPTIONAL LIST [1:?] OF label; - suffix_titles : OPTIONAL LIST [1:?] OF label; - WHERE - WR1: EXISTS(last_name) OR EXISTS(first_name); - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY person_and_organization; - the_person : person; - the_organization : organization; - DERIVE - name : label := get_name_value(SELF); - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY personal_address - SUBTYPE OF (address); - people : SET [1:?] OF person; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organization_role; - name : label; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY person_and_organization_role; - name : label; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (security_classification_schema); *) - ENTITY security_classification; - name : label; - purpose : text; - security_level : security_classification_level; - END_ENTITY; -(* USED FROM (security_classification_schema); *) - ENTITY security_classification_level; - name : label; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY security_classification_assignment - ABSTRACT SUPERTYPE; - assigned_security_classification : security_classification; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY identification_assignment - ABSTRACT SUPERTYPE; - assigned_id : identifier; - role : identification_role; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_context_association; - definition : product_definition; - frame_of_reference : product_definition_context; - role : product_definition_context_role; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY general_property; - id : identifier; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY general_property_relationship; - name : label; - description : OPTIONAL text; - relating_property : general_property; - related_property : general_property; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY edge_curve - SUBTYPE OF(edge,geometric_representation_item); - edge_geometry : curve; - same_sense : BOOLEAN; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face_surface - SUBTYPE OF(face,geometric_representation_item); - face_geometry : surface; - same_sense : BOOLEAN; - WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_SURFACE' IN TYPEOF(face_geometry)); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY poly_loop - SUBTYPE OF (loop,geometric_representation_item); - polygon : LIST [3:?] OF UNIQUE cartesian_point; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex_point - SUBTYPE OF(vertex,geometric_representation_item); - vertex_geometry : point; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY connected_edge_set - SUBTYPE OF (topological_representation_item); - ces_edges : SET [1:?] OF edge; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY connected_face_set - SUPERTYPE OF (ONEOF ( - CLOSED_SHELL, - OPEN_SHELL)) - SUBTYPE OF (topological_representation_item); - cfs_faces : SET [1:?] OF face; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY edge - SUPERTYPE OF (ONEOF ( - EDGE_CURVE, - ORIENTED_EDGE, - SUBEDGE)) - SUBTYPE OF (topological_representation_item); - edge_start : vertex; - edge_end : vertex; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY edge_loop - SUBTYPE OF (loop,path); - DERIVE - ne : INTEGER := SIZEOF(SELF\path.edge_list); - WHERE - WR1: (SELF\path.edge_list[1].edge_start) :=: - (SELF\path.edge_list[ne].edge_end); - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY directed_action - SUBTYPE OF (executed_action); - directive : action_directive; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face_bound - SUBTYPE OF(topological_representation_item); - bound : loop; - orientation : BOOLEAN; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face_outer_bound - SUBTYPE OF (face_bound); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY loop - SUPERTYPE OF (ONEOF ( - VERTEX_LOOP, - EDGE_LOOP, - POLY_LOOP)) - SUBTYPE OF (topological_representation_item); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY oriented_edge - SUBTYPE OF (edge); - edge_element : edge; - orientation : BOOLEAN; - DERIVE - SELF\edge.edge_start : vertex := boolean_choose (SELF.orientation, - SELF.edge_element.edge_start, - SELF.edge_element.edge_end); - SELF\edge.edge_end : vertex := boolean_choose (SELF.orientation, - SELF.edge_element.edge_end, - SELF.edge_element.edge_start); - WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE' IN TYPEOF (SELF.edge_element)); - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY leader_terminator - SUBTYPE OF (terminator_symbol); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF - (SELF\terminator_symbol.annotated_curve); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY topological_representation_item - SUPERTYPE OF (ONEOF ( - VERTEX, - EDGE, - FACE_BOUND, - FACE, - VERTEX_SHELL, - WIRE_SHELL, - CONNECTED_EDGE_SET, - CONNECTED_FACE_SET,( - LOOP - ANDOR - PATH))) - SUBTYPE OF (representation_item); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex - SUBTYPE OF (topological_representation_item); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex_loop - SUBTYPE OF (loop); - loop_vertex : vertex; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY axis1_placement - SUBTYPE OF (placement); - axis : OPTIONAL direction; -DERIVE - z : direction := NVL(normalise(axis), dummy_gri || direction([0.0,0.0,1.0])); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY axis2_placement_2d - SUBTYPE OF (placement); - ref_direction : OPTIONAL direction; -DERIVE - p : LIST[2:2] OF direction := build_2axes(ref_direction); -WHERE - WR1: SELF\geometric_representation_item.dim = 2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY axis2_placement_3d - SUBTYPE OF (placement); - axis : OPTIONAL direction; - ref_direction : OPTIONAL direction; -DERIVE - p : LIST[3:3] OF direction := build_axes(axis,ref_direction); -WHERE - WR1: SELF\placement.location.dim = 3; - WR2: (NOT (EXISTS (axis))) OR (axis.dim = 3); - WR3: (NOT (EXISTS (ref_direction))) OR (ref_direction.dim = 3); - WR4: (NOT (EXISTS (axis))) OR (NOT (EXISTS (ref_direction))) OR (cross_product(axis,ref_direction).magnitude > 0.0); -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY cartesian_point - - SUBTYPE OF (point); - coordinates : LIST[1:3] OF length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY cartesian_transformation_operator_2d - SUBTYPE OF (cartesian_transformation_operator); -DERIVE - u : LIST[2:2] OF direction := base_axis(2,SELF\cartesian_transformation_operator.axis1, SELF\cartesian_transformation_operator.axis2,?); -WHERE - WR1: SELF\geometric_representation_item.dim = 2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY cartesian_transformation_operator_3d - SUBTYPE OF (cartesian_transformation_operator); - axis3 : OPTIONAL direction; -DERIVE - u : LIST[3:3] OF direction := base_axis(3,SELF\cartesian_transformation_operator.axis1, SELF\cartesian_transformation_operator.axis2,axis3); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval_role; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY geometric_representation_context - SUPERTYPE OF (ONEOF ( - GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER, - PATH_PARAMETER_REPRESENTATION_CONTEXT) ) - SUBTYPE OF (representation_context); - coordinate_space_dimension : dimension_count; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY time_interval_assignment - ABSTRACT SUPERTYPE; - assigned_time_interval : time_interval; - role : time_interval_role; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY shape_representation - SUBTYPE OF (representation); - END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY measure_representation_item - SUBTYPE OF (representation_item, measure_with_unit); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY item_defined_transformation; - name : label; - description : OPTIONAL text; - transform_item_1 : representation_item; - transform_item_2 : representation_item; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY action_request_assignment - ABSTRACT SUPERTYPE; - assigned_action_request : versioned_action_request; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY versioned_action_request_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_versioned_action_request : versioned_action_request; - related_versioned_action_request : versioned_action_request; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY versioned_action_request; - id : identifier; - version : OPTIONAL label; - purpose : text; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (fea_scalar_vector_tensor_schema); *) -ENTITY tensor_representation_item - SUBTYPE OF (representation_item); - tensor_value : tensor_type; -END_ENTITY; -(* USED FROM (structural_response_definition_schema); *) -ENTITY structural_response_property - SUBTYPE OF (property_definition); -END_ENTITY; -(* USED FROM (structural_response_definition_schema); *) -ENTITY fea_model_definition - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (structural_response_definition_schema); *) -ENTITY node_definition - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (structural_response_definition_schema); *) -ENTITY element_definition - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_model - SUPERTYPE OF (ONEOF ( - FEA_MODEL_2D, - FEA_MODEL_3D)) - SUBTYPE OF (representation); - creating_software : text; - intended_analysis_code : SET [1:?] OF text; - (* description : text;*) - analysis_type : text; -UNIQUE - UR1: SELF\representation.name; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_model_3d - SUBTYPE OF (fea_model); -WHERE - WR1: SELF\representation.context_of_items\ - geometric_representation_context.coordinate_space_dimension = 3; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_model_2d - SUBTYPE OF (fea_model); - type_of_2d_analysis : axi_or_plane; -WHERE - WR1: SELF\representation.context_of_items\ - geometric_representation_context.coordinate_space_dimension = 2; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY structural_response_property_definition_representation - SUBTYPE OF (property_definition_representation); -WHERE - WR1: (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'STRUCTURAL_RESPONSE_PROPERTY') IN TYPEOF - (SELF\property_definition_representation.definition)); - WR2: ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEA_MODEL' - IN TYPEOF - (SELF\property_definition_representation.used_representation)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEA_MODEL_DEFINITION' - IN TYPEOF - (SELF\property_definition_representation.definition.definition))) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENT_REPRESENTATION' - IN TYPEOF - (SELF\property_definition_representation.used_representation)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENT_DEFINITION' - IN TYPEOF - (SELF\property_definition_representation.definition.definition))) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NODE_REPRESENTATION' - IN TYPEOF - (SELF\property_definition_representation.used_representation)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NODE_DEFINITION' - IN TYPEOF - (SELF\property_definition_representation.definition.definition)))); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_representation_item - SUPERTYPE OF (ONEOF ( - ARBITRARY_VOLUME_3D_ELEMENT_COORDINATE_SYSTEM, - PARAMETRIC_VOLUME_3D_ELEMENT_COORDINATE_SYSTEM, - ARBITRARY_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM, - PARAMETRIC_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM, - ALIGNED_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM, - PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM, - CONSTANT_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM, - ALIGNED_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM, - PARAMETRIC_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM, - ALIGNED_CURVE_3D_ELEMENT_COORDINATE_SYSTEM, - PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM, - PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION, - CURVE_2D_ELEMENT_COORDINATE_SYSTEM, - DIRECTIONALLY_EXPLICIT_ELEMENT_COORDINATE_SYSTEM_ARBITRARY, - DIRECTIONALLY_EXPLICIT_ELEMENT_COORDINATE_SYSTEM_ALIGNED)) - SUBTYPE OF (representation_item); -END_ENTITY; -(* USED FROM (Multi_linguism_mim); *) -ENTITY attribute_language_assignment -SUBTYPE OF (attribute_classification_assignment); - SELF\attribute_classification_assignment.assigned_class: language; - items : SET [1:?] OF attribute_language_item; -WHERE -WR1: SELF\attribute_classification_assignment.role.name IN ['primary', 'translated']; -WR2: SELF\attribute_classification_assignment.attribute_name<> ''; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_axis2_placement_2d - SUBTYPE OF (axis2_placement_2d); - system_type : coordinate_system_type; - description : text; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_axis2_placement_3d - SUBTYPE OF (axis2_placement_3d); - system_type : coordinate_system_type; - description : text; -END_ENTITY; -(* USED FROM (Project_mim); *) -ENTITY applied_organizational_project_assignment - SUBTYPE OF (organizational_project_assignment); - items : SET[1:?] OF project_item; -END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_request_solution; - method : action_method; - request : versioned_action_request; - DERIVE - description : text := get_description_value(SELF); - name : label := get_name_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY node_geometric_relationship; - node_ref : node_or_node_group; - item : analysis_item_within_representation; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item.item); -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY identification_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY node_representation - SUPERTYPE OF (ONEOF ( - NODE, - DUMMY_NODE, - GEOMETRIC_NODE)) - SUBTYPE OF (representation); - model_ref : fea_model; -UNIQUE - UR1: model_ref, SELF\representation.name; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY certification_assignment - ABSTRACT SUPERTYPE; - assigned_certification : certification; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (certification_schema); *) - ENTITY certification_type; - description : label; - END_ENTITY; -(* USED FROM (certification_schema); *) - ENTITY certification; - name : label; - purpose : text; - kind : certification_type; - END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY dummy_node - SUBTYPE OF (node_representation); -END_ENTITY; -(* USED FROM (Certification_mim); *) -ENTITY applied_certification_assignment - SUBTYPE OF (certification_assignment); - items : SET[1:?] OF certification_item; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY substructure_node_relationship - SUBTYPE OF (representation_relationship); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NODE_REPRESENTATION' - IN TYPEOF (SELF\representation_relationship.rep_1); - WR2: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NODE_REPRESENTATION' - IN TYPEOF (SELF\representation_relationship.rep_2); -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY name_assignment - ABSTRACT SUPERTYPE; - assigned_name : label; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY elementary_surface - SUPERTYPE OF (ONEOF ( - PLANE, - CYLINDRICAL_SURFACE, - CONICAL_SURFACE, - SPHERICAL_SURFACE, - TOROIDAL_SURFACE)) - SUBTYPE OF (surface); - position : axis2_placement_3d; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY face_based_surface_model - SUBTYPE OF (geometric_representation_item); - fbsm_faces : SET[1:?] OF connected_face_set; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY edge_based_wireframe_model - SUBTYPE OF (geometric_representation_item); - ebwm_boundary : SET[1:?] OF connected_edge_set; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rotation_about_direction - SUBTYPE OF (geometric_representation_item); -- LK - direction_of_axis : direction; - rotation_angle : plane_angle_measure; -WHERE - WR1: SIZEOF (direction_of_axis.direction_ratios) = 3; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY point_on_planar_curve_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : point_on_planar_curve_pair; - actual_point_on_curve : point_on_curve; - input_orientation : spatial_rotation; -DERIVE - actual_orientation : ypr_rotation - := convert_spatial_to_ypr_rotation - (SELF\pair_value.applies_to_pair, - input_orientation); -WHERE - WR1: SELF\pair_value.applies_to_pair\point_on_planar_curve_pair.pair_curve - :=: actual_point_on_curve.basis_curve; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY point_on_surface_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : point_on_surface_pair; - actual_point_on_surface : point_on_surface; - input_orientation : spatial_rotation; -DERIVE - actual_orientation : ypr_rotation - := convert_spatial_to_ypr_rotation - (SELF\pair_value.applies_to_pair, - input_orientation); -WHERE - WR1: SELF\pair_value.applies_to_pair\point_on_surface_pair.pair_surface :=: - actual_point_on_surface.basis_surface; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY unconstrained_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : unconstrained_pair; - actual_placement : axis2_placement_3d; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY planar_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : planar_pair; - actual_rotation : plane_angle_measure; - actual_translation_x : length_measure; - actual_translation_y : length_measure; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY universal_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : universal_pair; - first_rotation_angle : plane_angle_measure; - second_rotation_angle : plane_angle_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY element_descriptor - SUPERTYPE OF (ONEOF ( - VOLUME_3D_ELEMENT_DESCRIPTOR, - AXISYMMETRIC_VOLUME_2D_ELEMENT_DESCRIPTOR, - PLANE_VOLUME_2D_ELEMENT_DESCRIPTOR, - SURFACE_3D_ELEMENT_DESCRIPTOR, - AXISYMMETRIC_SURFACE_2D_ELEMENT_DESCRIPTOR, - PLANE_SURFACE_2D_ELEMENT_DESCRIPTOR, - CURVE_3D_ELEMENT_DESCRIPTOR, - AXISYMMETRIC_CURVE_2D_ELEMENT_DESCRIPTOR, - PLANE_CURVE_2D_ELEMENT_DESCRIPTOR)); - topology_order : element_order; - description : text; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_3d_element_descriptor - SUBTYPE OF (element_descriptor); - purpose : SET [1:?] OF volume_element_purpose; - shape : volume_3d_element_shape; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY axisymmetric_volume_2d_element_descriptor - SUBTYPE OF (element_descriptor); - purpose : SET [1:?] OF SET [1:?] OF - volume_element_purpose; - shape : element_2d_shape; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY plane_volume_2d_element_descriptor - SUBTYPE OF (element_descriptor); - purpose : SET [1:?] OF SET [1:?] OF - volume_element_purpose; - shape : element_2d_shape; - assumption : plane_2d_element_purpose; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_3d_element_basis; - descriptor : volume_3d_element_descriptor; - variable : volume_variable; - variable_order : element_order; - variable_shape_function : shape_function; - evaluation_points : LIST [1:?] OF volume_element_location; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_2d_element_basis; - descriptor : volume_2d_element_descriptor; - variable : volume_variable; - variable_order : element_order; - variable_shape_function : shape_function; - evaluation_points : LIST [1:?] OF volume_element_location; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_3d_element_descriptor - SUBTYPE OF (element_descriptor); - purpose : SET [1:?] OF SET [1:?] OF - surface_element_purpose; - shape : element_2d_shape; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY axisymmetric_surface_2d_element_descriptor - SUBTYPE OF (element_descriptor); - purpose : SET [1:?] OF SET [1:?] OF - surface_element_purpose; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY plane_surface_2d_element_descriptor - SUBTYPE OF (element_descriptor); - purpose : SET [1:?] OF SET [1:?] OF - surface_element_purpose; - assumption : plane_2d_element_purpose; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_3d_element_basis; - descriptor : surface_3d_element_descriptor; - variable : surface_element_variable; - variable_order : element_order; - variable_shape_function : shape_function; - evaluation_points : LIST [1:?] OF surface_element_location; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_2d_element_basis; - descriptor : surface_2d_element_descriptor; - variable : surface_element_variable; - variable_order : element_order; - variable_shape_function : shape_function; - evaluation_points : LIST [1:?] OF surface_element_location; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_3d_element_descriptor - SUBTYPE OF (element_descriptor); - purpose : SET [1:?] OF SET [1:?] OF - curve_element_purpose; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY axisymmetric_curve_2d_element_descriptor - SUBTYPE OF (element_descriptor); - purpose : SET [1:?] OF SET [1:?] OF - curve_element_purpose; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY plane_curve_2d_element_descriptor - SUBTYPE OF (element_descriptor); - purpose : SET [1:?] OF SET [1:?] OF - curve_element_purpose; - assumption : plane_2d_element_purpose; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_3d_element_basis; - descriptor : curve_3d_element_descriptor; - variable : curve_element_variable; - variable_order : element_order; - variable_shape_function : shape_function; - evaluation_points : LIST [1:?] OF curve_element_location; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_2d_element_basis; - descriptor : curve_2d_element_descriptor; - variable : curve_element_variable; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rolling_curve_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : rolling_curve_pair; - actual_point_on_curve_1 : point_on_curve; -WHERE - WR1: SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: - actual_point_on_curve_1.basis_curve; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY point_element_matrix - SUPERTYPE OF (ONEOF ( - STATIONARY_MASS, - GROUNDED_SPRING, - GROUNDED_DAMPER)); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY stationary_mass - SUBTYPE OF (point_element_matrix); - mass : ARRAY [1:3] OF context_dependent_measure; - moments_of_inertia : symmetric_tensor2_3d; - coordinate_system : fea_axis2_placement_3d; - offset_vector : ARRAY [1:3] OF context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY grounded_spring - SUBTYPE OF (point_element_matrix); - stiffness_coefficients : ARRAY [1:6] OF context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY grounded_damper - SUBTYPE OF (point_element_matrix); - damping_coefficients : ARRAY [1:6] OF context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY directionally_explicit_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model; - systems_and_freedoms : LIST [2:2] OF system_and_freedom; - (* description : text;*) - coefficient : directionally_explicit_element_coefficient; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - FU1: required_1d_nodes ( - SELF\element_representation.node_list, - linear); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY system_and_freedom; - matrix_coordinate_system : - directionally_explicit_element_coordinate_system; - freedom : degree_of_freedom; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY directionally_explicit_element_coefficient; - property_type : matrix_property_type; - coefficient : context_dependent_measure; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY spherical_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : spherical_pair_select; - input_orientation : spatial_rotation; -DERIVE - actual_orientation : ypr_rotation - := convert_spatial_to_ypr_rotation - (SELF\pair_value.applies_to_pair, - input_orientation); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY low_order_kinematic_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : low_order_kinematic_pair; - actual_translation_x : length_measure; - actual_translation_y : length_measure; - actual_translation_z : length_measure; - actual_rotation_x : plane_angle_measure; - actual_rotation_y : plane_angle_measure; - actual_rotation_z : plane_angle_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY substructure_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model; - substructure_model_ref : fea_model; -UNIQUE - UR1: model_ref, SELF\representation.name; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY aligned_axis_tolerance; - model_ref : fea_model; - tolerance : context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY arbitrary_volume_3d_element_coordinate_system - SUBTYPE OF (fea_representation_item); - coordinate_system : fea_axis2_placement_3d; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY parametric_volume_3d_element_coordinate_system - SUBTYPE OF (fea_representation_item); - axis_1 : INTEGER; - axis_2 : INTEGER; - eu_angles : euler_angles; -WHERE - WR1: (axis_1 >= 1) AND (axis_1 <= 3) AND - (axis_2 >= 1) AND (axis_2 <= 3) AND - NOT (axis_1 = axis_2); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY arbitrary_volume_2d_element_coordinate_system - SUBTYPE OF (fea_representation_item); - orientation : direction; -WHERE - WR1: SELF\geometric_representation_item.dim=2; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY parametric_volume_2d_element_coordinate_system - SUBTYPE OF (fea_representation_item); - axis : INTEGER; - angle : plane_angle_measure; -WHERE - WR1: (axis >= 1) AND (axis <= 2); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY aligned_surface_3d_element_coordinate_system - SUBTYPE OF (fea_representation_item); - coordinate_system : fea_axis2_placement_3d; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY parametric_surface_3d_element_coordinate_system - SUBTYPE OF (fea_representation_item); - axis : INTEGER; - angle : plane_angle_measure; -WHERE - WR1: (axis >= 1) AND (axis <= 2); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY constant_surface_3d_element_coordinate_system - SUBTYPE OF (fea_representation_item); - axis : INTEGER; - angle : plane_angle_measure; -WHERE - WR1: (axis >= 1) AND (axis <= 2); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY aligned_surface_2d_element_coordinate_system - SUBTYPE OF (fea_representation_item); - orientation : direction; -WHERE - WR1: SELF\geometric_representation_item.dim=2; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY parametric_surface_2d_element_coordinate_system - SUBTYPE OF (fea_representation_item); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY aligned_curve_3d_element_coordinate_system - SUBTYPE OF (fea_representation_item); - coordinate_system : fea_axis2_placement_3d; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY parametric_curve_3d_element_coordinate_system - SUBTYPE OF (fea_representation_item); - direction : parametric_curve_3d_element_coordinate_direction; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY parametric_curve_3d_element_coordinate_direction - SUBTYPE OF (fea_representation_item); - orientation : direction; -WHERE - WR1: SELF\geometric_representation_item.dim=3; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_2d_element_coordinate_system - SUBTYPE OF (fea_representation_item); - orientation : direction; -WHERE - WR1: SELF\geometric_representation_item.dim=2; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY directionally_explicit_element_coordinate_system_arbitrary - SUBTYPE OF (fea_representation_item); - arbitrary_system : fea_axis2_placement_3d; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY directionally_explicit_element_coordinate_system_aligned - SUBTYPE OF (fea_representation_item); - aligned_system : curve_3d_element_coordinate_system; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY euler_angles; - angles : ARRAY [1:3] OF plane_angle_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_3d_element_integrated_matrix; - descriptor : volume_3d_element_descriptor; - property_type : matrix_property_type; - integration_description : text; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_3d_element_integrated_matrix_with_definition - SUBTYPE OF (volume_3d_element_integrated_matrix); - integration_definition : volume_3d_element_field_integration; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_3d_element_field_integration_rule; - integration_method : integration_rule; - integration_order : ARRAY [1:3] OF INTEGER; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_3d_element_field_integration_explicit; - integration_positions_and_weights: SET [1:?] OF volume_position_weight; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_position_weight; - integration_position : volume_element_location; - integration_weight : context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_2d_element_integrated_matrix; - descriptor : volume_2d_element_descriptor; - property_type : matrix_property_type; - integration_description : text; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_2d_element_integrated_matrix_with_definition - SUBTYPE OF (volume_2d_element_integrated_matrix); - integration_definition : volume_2d_element_field_integration; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_2d_element_field_integration_rule; - integration_method : integration_rule; - integration_order : ARRAY [1:2] OF INTEGER; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_2d_element_field_integration_explicit; - integration_positions_and_weights: SET [1:?] OF volume_position_weight; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_3d_element_integrated_matrix; - descriptor : surface_3d_element_descriptor; - property_type : surface_matrix_property_type; - integration_description : text; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_3d_element_integrated_matrix_with_definition - SUBTYPE OF (surface_3d_element_integrated_matrix); - integration_definition : surface_3d_element_integration; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_3d_element_integration; - field : surface_3d_element_field_integration; - section : surface_section_integration; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_3d_element_field_integration_rule; - integration_method : integration_rule; - integration_order : ARRAY [1:2] OF INTEGER; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_3d_element_field_integration_explicit; - integration_positions_and_weights: SET [1:?] OF surface_position_weight; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_position_weight; - integration_position : surface_element_location; - integration_weight : context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_section_integration_rule; - integration_method : integration_rule; - integration_order : INTEGER; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_section_integration_explicit; - integration_positions_and_weights : SET [1:?] OF - surface_section_position_weight; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_section_position_weight; - integration_position : surface_section_element_location; - integration_weight : context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_2d_element_integrated_matrix; - descriptor : surface_2d_element_descriptor; - property_type : surface_matrix_property_type; - integration_description : text; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_2d_element_integrated_matrix_with_definition - SUBTYPE OF (surface_2d_element_integrated_matrix); - integration_definition : surface_2d_element_integration; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_2d_element_integration; - element_length : surface_2d_element_length_integration; - section : surface_section_integration; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_2d_element_length_integration_rule; - integration_method : integration_rule; - integration_order : INTEGER; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_2d_element_length_integration_explicit; - integration_positions_and_weights: SET [1:?] OF surface_position_weight; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_3d_element_integrated_matrix; - descriptor : curve_3d_element_descriptor; - property_type : curve_matrix_property_type; - integration_description : text; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_3d_element_integrated_matrix_with_definition - SUBTYPE OF (curve_3d_element_integrated_matrix); - integration_definition : curve_3d_element_integration; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_3d_element_integration; - element_length : curve_3d_element_length_integration; - section : curve_section_integration_explicit; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_3d_element_length_integration_rule; - integration_method : integration_rule; - integration_order : INTEGER; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_3d_element_length_integration_explicit; - integration_positions_and_weights: SET [1:?] OF - curve_3d_element_position_weight; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_3d_element_position_weight; - integration_position : curve_volume_element_location; - integration_weight : context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_section_integration_explicit; - integration_positions : SET [1:?] OF curve_section_element_location; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_2d_element_integrated_matrix; - descriptor : curve_2d_element_descriptor; - property_type : curve_matrix_property_type; - integration_description : text; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_2d_element_integrated_matrix_with_definition - SUBTYPE OF (curve_2d_element_integrated_matrix); - integration_definition : curve_2d_element_integration; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_2d_element_integration; - section : LIST [1:?] OF curve_section_element_location; -END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY parallel_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - parallel_geometric_constraint); -END_ENTITY;-- parallel_assembly_constraint -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_element_location; - coordinates : fea_parametric_point; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_volume_element_location; - field_location : surface_element_location; - section_location : surface_section_element_location; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_element_location; - coordinates : fea_parametric_point; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_section_element_location - SUPERTYPE OF (ONEOF ( - SURFACE_SECTION_ELEMENT_LOCATION_ABSOLUTE, - SURFACE_SECTION_ELEMENT_LOCATION_DIMENSIONLESS)); - above_material_discontinuity : LOGICAL; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_section_element_location_absolute - SUBTYPE OF (surface_section_element_location); - offset : context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_section_element_location_dimensionless - SUBTYPE OF (surface_section_element_location); - coordinate : LIST [1:1] OF parameter_value; -WHERE - WR1: valid_parametric_coordinate (coordinate); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_volume_element_location; - field_location : curve_element_location; - section_location : curve_section_element_location; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_element_location; - coordinate : fea_parametric_point; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_section_element_location; - offsets : ARRAY [1:2] of context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY element_material; - material_id : identifier; - description : text; - properties : SET [1:?] OF material_property_representation; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_material_property_geometric_relationship; - material_ref : fea_material_property_representation; - item : analysis_item_within_representation; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item.item); -END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY coaxial_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - coaxial_geometric_constraint); -END_ENTITY;-- coaxial_assembly_constraint -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_material_property_representation_item - SUPERTYPE OF (ONEOF ( - FEA_LINEAR_ELASTICITY, - FEA_MASS_DENSITY, - FEA_AREA_DENSITY, - FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION, - FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION, - FEA_MOISTURE_ABSORPTION, - FEA_SHELL_MEMBRANE_STIFFNESS, - FEA_SHELL_BENDING_STIFFNESS, - FEA_SHELL_MEMBRANE_BENDING_COUPLING_STIFFNESS, - FEA_SHELL_SHEAR_STIFFNESS)) - SUBTYPE OF (representation_item); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_linear_elasticity - SUBTYPE OF (fea_material_property_representation_item); - fea_constants : symmetric_tensor4_3d; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_mass_density - SUBTYPE OF (fea_material_property_representation_item); - fea_constant : scalar; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_area_density - SUBTYPE OF (fea_material_property_representation_item); - fea_constant : scalar; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_tangential_coefficient_of_linear_thermal_expansion - SUBTYPE OF (fea_material_property_representation_item); - fea_constants : symmetric_tensor2_3d; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_secant_coefficient_of_linear_thermal_expansion - SUBTYPE OF (fea_material_property_representation_item); - fea_constants : symmetric_tensor2_3d; - reference_temperature : thermodynamic_temperature_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_moisture_absorption - SUBTYPE OF (fea_material_property_representation_item); - fea_constants : symmetric_tensor2_3d; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_shell_membrane_stiffness - SUBTYPE OF (fea_material_property_representation_item); - fea_constants : symmetric_tensor4_2d; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_shell_bending_stiffness - SUBTYPE OF (fea_material_property_representation_item); - fea_constants : symmetric_tensor4_2d; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_shell_membrane_bending_coupling_stiffness - SUBTYPE OF (fea_material_property_representation_item); - fea_constants : symmetric_tensor4_2d; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_shell_shear_stiffness - SUBTYPE OF (fea_material_property_representation_item); - fea_constants : symmetric_tensor2_2d; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_element_property; - property_id : identifier; - description : text; - section : surface_section_field; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_section_field - SUPERTYPE OF (ONEOF ( - SURFACE_SECTION_FIELD_CONSTANT, - SURFACE_SECTION_FIELD_VARYING)); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_section_field_constant - SUBTYPE OF (surface_section_field); - definition : surface_section; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_section_field_varying - SUBTYPE OF (surface_section_field); - definitions : LIST [1:?] OF surface_section; - additional_node_values : BOOLEAN; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_section - SUPERTYPE OF (ONEOF ( - UNIFORM_SURFACE_SECTION, - UNIFORM_SURFACE_SECTION_LAYERED)); - offset : measure_or_unspecified_value; - non_structural_mass : measure_or_unspecified_value; - non_structural_mass_offset : measure_or_unspecified_value; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY uniform_surface_section - SUBTYPE OF (surface_section); - thickness : context_dependent_measure; - bending_thickness : measure_or_unspecified_value; - shear_thickness : measure_or_unspecified_value; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY uniform_surface_section_layered - SUBTYPE OF (surface_section); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_surface_section_geometric_relationship; - section_ref : surface_section; - item : analysis_item_within_representation; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item.item); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_3d_element_property; - property_id : identifier; - description : text; - interval_definitions : LIST [1:?] OF curve_element_interval; - end_offsets : ARRAY [1:2] OF curve_element_end_offset; - end_releases : ARRAY [1:2] OF curve_element_end_release; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_element_interval - SUPERTYPE OF (ONEOF ( - CURVE_ELEMENT_INTERVAL_CONSTANT, - CURVE_ELEMENT_INTERVAL_LINEARLY_VARYING)); - finish_position : curve_element_location; - eu_angles : euler_angles; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_element_interval_constant - SUBTYPE OF (curve_element_interval); - section : curve_element_section_definition; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_element_interval_linearly_varying - SUBTYPE OF (curve_element_interval); - sections : ARRAY [1:2] OF curve_element_section_definition; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_2d_element_property; - property_id : identifier; - description : text; - section : curve_element_section_definition; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_element_section_definition - SUPERTYPE OF ( - CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS); - description : text; - section_angle : plane_angle_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_element_section_derived_definitions - SUBTYPE OF (curve_element_section_definition); - cross_sectional_area : context_dependent_measure; - shear_area : ARRAY [1:2] OF measure_or_unspecified_value; - second_moment_of_area : ARRAY [1:3] OF context_dependent_measure; - torsional_constant : context_dependent_measure; - warping_constant : measure_or_unspecified_value; - location_of_centroid : ARRAY [1:2] OF measure_or_unspecified_value; - location_of_shear_centre : ARRAY [1:2] OF measure_or_unspecified_value; - location_of_non_structural_mass - : ARRAY [1:2] OF measure_or_unspecified_value; - non_structural_mass : measure_or_unspecified_value; - polar_moment : measure_or_unspecified_value; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_curve_section_geometric_relationship; - section_ref : curve_element_section_definition; - item : analysis_item_within_representation; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item.item); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_element_end_offset; - coordinate_system : curve_element_end_coordinate_system; - offset_vector : ARRAY [1:3] OF context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_element_end_release; - coordinate_system : curve_element_end_coordinate_system; - releases : LIST [1:?] OF curve_element_end_release_packet; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_element_end_release_packet; - release_freedom : curve_element_freedom; - release_stiffness : context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY axisymmetric_2d_element_property; - angle : plane_angle_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY plane_2d_element_property - SUPERTYPE OF ( - SIMPLE_PLANE_2D_ELEMENT_PROPERTY); - depth : context_dependent_measure; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY simple_plane_2d_element_property - SUBTYPE OF (plane_2d_element_property); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_group - SUPERTYPE OF (ONEOF ( - ELEMENT_GROUP, - NODE_GROUP)) - SUBTYPE OF (group); - model_ref : fea_model; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY element_group - SUBTYPE OF (fea_group); - elements : SET [1:?] OF element_representation; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY node_group - SUBTYPE OF (fea_group); - nodes : SET [1:?] OF node_representation; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_group_relation - SUBTYPE OF (group_relationship); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEA_GROUP' - IN TYPEOF (SELF\group_relationship.relating_group); - WR2: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEA_GROUP' - IN TYPEOF (SELF\group_relationship.related_group); -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY requirement_for_action_resource - SUBTYPE OF (action_resource_requirement); - resources : SET [1:?] OF action_resource; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY resource_property; - name : label; - description : text; - resource : characterized_resource_definition; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY screw_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : screw_pair; - actual_rotation : plane_angle_measure; -DERIVE - actual_translation : length_measure - := SELF\pair_value.applies_to_pair\ - screw_pair.pitch * - plane_angle_for_pair_in_radian - (SELF\pair_value.applies_to_pair, - actual_rotation) / (2 * PI); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY prismatic_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : prismatic_pair; - actual_translation : length_measure; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY cylindrical_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : cylindrical_pair; - actual_translation : length_measure; - actual_rotation : plane_angle_measure; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rolling_surface_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : rolling_surface_pair; - actual_point_on_surface : point_on_surface; - actual_rotation : plane_angle_measure; -WHERE - WR1: SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: - actual_point_on_surface.basis_surface; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY array_based_unstructured_mesh - SUBTYPE OF (unstructured_mesh); - cells : ARRAY [1:cell_count] OF vertex_defined_cell; -WHERE - wr1 : SELF\mesh.index_count = 1; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY revolute_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : revolute_pair; - actual_rotation : plane_angle_measure ; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY cell - SUPERTYPE OF (ONEOF ( - CELL_OF_STRUCTURED_MESH, - VERTEX_DEFINED_CELL)) - SUBTYPE OF (topological_representation_item); - description : text; - dimension : INTEGER; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY cell_of_structured_mesh - SUBTYPE OF (cell); - the_mesh : structured_mesh; - cell_identifier : ARRAY [1:index_count] OF INTEGER; -DERIVE - index_count : INTEGER := the_mesh\mesh.index_count; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY cell_with_explicit_boundary - SUBTYPE OF (cell); - boundary : SET [1:?] OF topological_representation_item; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY explicit_unstructured_mesh - SUBTYPE OF (unstructured_mesh); - explicit_model : fea_model; - cells : ARRAY [1:cell_count] OF UNIQUE element_representation; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY extraction_of_structured_submesh -SUBTYPE OF(extraction_of_submesh); - lower_vertex : ARRAY [1:whole_indices] OF INTEGER; - used_indices : ARRAY [1:part_indices] OF INTEGER; - used_senses : ARRAY [1:part_indices] OF BOOLEAN; -DERIVE - whole_indices : INTEGER := whole\mesh.index_count; - part_indices : INTEGER := part\mesh.index_count; -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRUCTURED_MESH' IN TYPEOF( - SELF\extraction_of_submesh.whole)); - WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRUCTURED_MESH' IN TYPEOF( - SELF\extraction_of_submesh.part)); - -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY extraction_of_submesh; - whole: mesh; - part: submesh; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY extraction_of_submesh_by_cells - SUBTYPE OF (extraction_of_submesh); - cell_count: INTEGER; - cells : ARRAY [1:cell_count] OF cell; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY extraction_of_submesh_by_vertices - SUBTYPE OF (extraction_of_submesh); - vertex_count: INTEGER; - vertices : ARRAY [1:vertex_count] OF vertex; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY indices_list; - nindices : INTEGER; - indices : LIST [1:?] OF ARRAY [1:nindices] OF INTEGER; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY indices_range; - nindices : INTEGER; - start : ARRAY [1:nindices] OF INTEGER; - finish : ARRAY [1:nindices] OF INTEGER; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY mesh - ABSTRACT SUPERTYPE OF (ONEOF ( - STRUCTURED_MESH, - UNSTRUCTURED_MESH) - ANDOR - SUBMESH) - SUBTYPE OF (topological_representation_item); - description : text; - index_count : INTEGER; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY mesh_derived_maths_space - SUBTYPE OF (maths_space); - description : text; - name : label; - id : identifier; - the_mesh : mesh; - kind : mesh_maths_space_type; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY product_of_mesh; - operands : LIST [2:2] OF mesh; - product : mesh; -WHERE - wr1 : (this_schema+'.STRUCTURED_MESH' IN TYPEOF(operands[1])) AND - (this_schema+'.STRUCTURED_MESH' IN TYPEOF(operands[2])) AND - (this_schema+'.STRUCTURED_MESH' IN TYPEOF(product)); - wr2 : operands[1].index_count = 1; - wr3 : operands[1].index_count + operands[2].index_count - = product.index_count; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY rind; - index_count : INTEGER; - planes : ARRAY [1:2*index_count] OF INTEGER; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY structured_mesh - SUBTYPE OF (mesh); - vertex_counts : ARRAY [1:SELF\mesh.index_count] OF INTEGER; - cell_counts : ARRAY [1:SELF\mesh.index_count] OF INTEGER; - kind : structured_mesh_type; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY structured_mesh_with_rind - SUBTYPE OF (structured_mesh); - rind_planes : rind; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY submesh - SUBTYPE OF (mesh); -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY unstructured_mesh - ABSTRACT SUPERTYPE OF (ONEOF ( - ARRAY_BASED_UNSTRUCTURED_MESH, - EXPLICIT_UNSTRUCTURED_MESH)) - SUBTYPE OF (mesh); - cell_count : INTEGER; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY vertex_defined_cell - SUBTYPE OF (cell); - shape : cell_shape; - order : element_order; - vertices : ARRAY [1:vn_count] OF OPTIONAL vertex; -DERIVE - bound_count : INTEGER := cell_counts(SELF)[1]; - edge_node_count : INTEGER := cell_counts(SELF)[2]; - opt_node_count : INTEGER := cell_counts(SELF)[3]; - required_count : INTEGER := bound_count + edge_node_count; - vn_count : INTEGER := required_count + opt_node_count; - required_vertices : ARRAY [1:required_count] OF vertex - := shorten_array(vertices, vn_count, required_count); -END_ENTITY; -(* USED FROM (product_analysis_schema); *) -ENTITY behavioural_decomposition_of_temporal_spatial_domain; - parts : SET [2 : ?] OF temporal_spatial_domain; - whole : temporal_spatial_domain; -END_ENTITY; -(* USED FROM (product_analysis_schema); *) -ENTITY domain_property; - domain : temporal_spatial_domain; - property_type : general_property; -END_ENTITY; -(* USED FROM (product_analysis_schema); *) -ENTITY physical_action_domain -SUBTYPE OF (temporal_spatial_domain); - initial : physical_state_domain; - final : physical_state_domain; -END_ENTITY; -(* USED FROM (product_analysis_schema); *) -ENTITY physical_product_domain -SUBTYPE OF (temporal_spatial_domain); - temporal_parts : SET [0 : ?] OF physical_action_domain; -END_ENTITY; -(* USED FROM (product_analysis_schema); *) -ENTITY physical_state_domain -SUBTYPE OF (temporal_spatial_domain); -END_ENTITY; -(* USED FROM (product_analysis_schema); *) -ENTITY spatial_decomposition_of_temporal_spatial_domain; - parts : SET [2 : ?] OF temporal_spatial_domain; - whole : temporal_spatial_domain; -END_ENTITY; -(* USED FROM (product_analysis_schema); *) -ENTITY temporal_decomposition_of_action_domain; - whole : physical_action_domain; - parts : LIST [2 : ?] OF physical_action_domain; -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY abstract_variable - SUBTYPE OF (property_definition, property_definition_representation, representation, representation_item); -END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY description_attribute; - attribute_value : text; - described_item : description_attribute_select; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY global_unit_assigned_context - SUBTYPE OF (representation_context); - units : SET [1:?] OF unit; - END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY descriptive_representation_item - SUPERTYPE OF (ONEOF ( - TAGGED_TEXT_ITEM, - UNIFORM_RESOURCE_IDENTIFIER) ) - SUBTYPE OF (representation_item); - description : text; -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY global_uncertainty_assigned_context - SUBTYPE OF (representation_context); - uncertainty : SET [1:?] OF uncertainty_measure_with_unit; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation SUPERTYPE OF ( ( ONEOF ( - INTERPOLATED_CONFIGURATION_REPRESENTATION, - LINK_MOTION_REPRESENTATION_ALONG_PATH) )ANDOR( ONEOF ( - KINEMATIC_LINK_REPRESENTATION, - KINEMATIC_TOPOLOGY_STRUCTURE, - KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE, - KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE, - MECHANISM_REPRESENTATION, - SHAPE_REPRESENTATION) )ANDOR( ONEOF ( - KINEMATIC_TOPOLOGY_STRUCTURE, - KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE, - KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE) ) ) ; - name : label; - items : SET[1:?] OF representation_item; - context_of_items : representation_context; - DERIVE - id : identifier := get_id_value (SELF); - description : text := get_description_value (SELF); - WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) - <= 1; - WR2: SIZEOF (USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) - <= 1; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_context; - context_identifier : identifier; - context_type : text; - INVERSE - representations_in_context : SET [1:?] OF representation FOR context_of_items; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_item - SUPERTYPE OF ( ( ONEOF ( - BINARY_REPRESENTATION_ITEM, - COMPOUND_REPRESENTATION_ITEM, - MAPPED_ITEM, - VALUE_REPRESENTATION_ITEM) )ANDOR( ONEOF ( - MAPPED_ITEM, - STYLED_ITEM) )ANDOR( (ONEOF ( - BOOLEAN_REPRESENTATION_ITEM, - DATE_REPRESENTATION_ITEM, - DATE_TIME_REPRESENTATION_ITEM, - INTEGER_REPRESENTATION_ITEM, - LOGICAL_REPRESENTATION_ITEM, - RATIONAL_REPRESENTATION_ITEM, - REAL_REPRESENTATION_ITEM)) ) ) ; - name : label; - WHERE - WR1: SIZEOF(using_representations(SELF)) > 0; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_relationship; - name : label; - description : OPTIONAL text; - rep_1 : representation; - rep_2 : representation; - END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY complex_clause - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY elements_bc - SUBTYPE OF (mbna_bc); - elements : LIST OF vertex_defined_cell; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY fd_bc - SUBTYPE OF (mbna_bc); - SELF\mbna_bc.datasets : SET OF fd_bc_dataset; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY fd_bc_dataset - SUBTYPE OF (mbna_bc_dataset); - SELF\mbna_bc_dataset.the_type : fd_bc_type_simple; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY fd_zone_bc - SUBTYPE OF (mbna_zone_bc); - SELF\mbna_zone_bc.conditions : SET OF fd_bc; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY indexed_elements_bc - SUBTYPE OF (mbna_bc); - element_indices : indices_group; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY indexed_points_bc - SUBTYPE OF (mbna_bc); - point_indices : indices_group; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY mbna_bc - SUPERTYPE OF (ONEOF ( - ELEMENTS_BC, - INDEXED_ELEMENTS_BC, - INDEXED_POINTS_BC)) - SUBTYPE OF (mbna_condition); - datasets : SET OF mbna_bc_dataset; - gridloc : mesh_location; - inward_normal_index : OPTIONAL ijk_minmax; - inward_normal_list : OPTIONAL indices_list; - rstate : SET OF mbna_reference_state; - the_type : mbna_bc_type; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY mbna_bc_data - - SUBTYPE OF (mbna_condition); -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY mbna_bc_data_global - SUBTYPE OF (mbna_bc_data); -INVERSE - data_global : SET OF model_property_distribution FOR domain; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY mbna_bc_data_local - SUBTYPE OF (mbna_bc_data); -INVERSE - data_local : SET OF model_property_distribution FOR domain; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY mbna_bc_dataset - SUPERTYPE OF (ONEOF ( - MBNA_DIRICHLET_BC_DATASET, - MBNA_NEUMANN_BC_DATASET)) - SUBTYPE OF (mbna_condition); - gridloc : mesh_location; - rstate : SET OF mbna_reference_state; - the_type : mbna_bc_type_simple; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY mbna_condition - ABSTRACT SUPERTYPE OF (ONEOF ( - MBNA_ZONE_BC, - MBNA_BC, - MBNA_BC_DATASET, - MBNA_BC_DATA, - MBNA_REFERENCE_STATE)) - SUBTYPE OF (model_state_domain); -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY mbna_Dirichlet_bc_dataset - SUBTYPE OF (mbna_bc_dataset); - data : mbna_bc_data; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY mbna_Neumann_bc_dataset - SUBTYPE OF (mbna_bc_dataset); - data : mbna_bc_data; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY mbna_reference_state - SUBTYPE OF (mbna_condition); -INVERSE - data : SET OF model_property_distribution FOR domain; -END_ENTITY; -(* USED FROM (conditions_schema); *) -ENTITY mbna_zone_bc - SUBTYPE OF (mbna_condition); - conditions : SET OF mbna_bc; - rstate : SET OF mbna_reference_state; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY fd_diffusion_equation - SUBTYPE OF (fd_governing_equation); - diffusion_model : fd_diffusion_model; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY fd_diffusion_model; - terms : ARRAY [1:diff] OF BOOLEAN; - diff : INTEGER; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY fd_governing_equation - SUBTYPE OF (mbna_governing_equation); - SELF\mbna_governing_equation.equation_type - : fd_governing_equation_type; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY flow_equation_set - SUBTYPE OF (mbna_equation_set); - SELF\mbna_equation_set.equations : fd_governing_equation; - fd_models : SET OF fd_behaviour_models; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY gas_model - SUBTYPE OF (mbna_behaviour_model); - model_type : gas_model_type; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY mbna_behaviour_model - SUPERTYPE OF (ONEOF ( - THERMAL_CONDUCTIVITY_MODEL, - GAS_MODEL, - TURBULENCE_CLOSURE, - TURBULENCE_MODEL, - VISCOSITY_MODEL) ) - SUBTYPE OF (mbna_equation); -INVERSE - data : SET OF model_property_distribution FOR domain; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY mbna_equation - SUPERTYPE OF (ONEOF ( - MBNA_EQUATION_SET, - MBNA_GOVERNING_EQUATION, - MBNA_BEHAVIOUR_MODEL) ) - SUBTYPE OF (model_product_domain); -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY mbna_equation_set - SUBTYPE OF (mbna_equation); - dimension : INTEGER; - equations : mbna_governing_equation; - mbna_models : SET OF mbna_behaviour_models; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY mbna_governing_equation - SUBTYPE OF (mbna_equation); - equation_type : mbna_governing_equation_type; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY thermal_conductivity_model - SUBTYPE OF (mbna_behaviour_model); - model_type : thermal_conductivity_model_type; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY turbulence_closure - SUBTYPE OF (mbna_behaviour_model); - closure_type : turbulence_closure_type; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY turbulence_model - SUBTYPE OF (mbna_behaviour_model); - model_type : turbulence_model_type; - diffusion_model : OPTIONAL fd_diffusion_model; -END_ENTITY; -(* USED FROM (equations_schema); *) -ENTITY viscosity_model - SUBTYPE OF (mbna_behaviour_model); - model_type : viscosity_model_type; -END_ENTITY; -(* USED FROM (hierarchy_schema); *) -ENTITY fd_step - SUBTYPE OF (mbna_step); - SELF\mbna_step.equations : SET OF flow_equation_set; - SELF\mbna_step.zones : LIST OF fd_zone; -END_ENTITY; -(* USED FROM (hierarchy_schema); *) -ENTITY fd_zone - SUBTYPE OF (mbna_zone); - SELF\mbna_zone.conditions : SET OF fd_zone_bc; - SELF\mbna_zone.equations : SET OF flow_equation_set; -END_ENTITY; -(* USED FROM (hierarchy_schema); *) -ENTITY mbna_model - SUBTYPE OF (model_product_domain); - SELF\model_product_domain.temporal_parts : LIST OF mbna_step; - equations : SET OF mbna_equation_set; - INVERSE - history : SET OF mbna_history for domain; -END_ENTITY; -(* USED FROM (hierarchy_schema); *) -ENTITY mbna_state - SUBTYPE OF (model_state_domain); -END_ENTITY; -(* USED FROM (hierarchy_schema); *) -ENTITY mbna_step - SUBTYPE OF (model_action_domain); - - SELF\model_action_domain.final : mbna_state; - equations : SET OF mbna_equation_set; - refstate : SET OF mbna_reference_state; - zones : LIST OF mbna_zone; -INVERSE - history : SET OF mbna_history for domain; -END_ENTITY; -(* USED FROM (hierarchy_schema); *) -ENTITY mbna_zone - SUBTYPE OF (model_product_domain_with_mesh); - conditions : SET OF mbna_zone_bc; - equations : SET OF mbna_equation_set; - grid_connectivity : OPTIONAL multiple_mesh_block; - rstate : SET OF mbna_reference_state; -INVERSE - coordinates : SET OF grid_coordinates FOR domain; - field_data : SET OF mbna_discrete_data FOR domain; - history : SET OF mbna_history FOR domain; - solution : SET OF mbna_solution FOR domain; -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_definition - SUBTYPE OF (rule_software_definition); -END_ENTITY; -(* USED FROM (domain_schema); *) -ENTITY grid_coordinates_with_rind - SUBTYPE OF (grid_coordinates); - rind_planes : rind; -END_ENTITY; -(* USED FROM (mesh_connectivity_schema); *) -ENTITY matched_mesh_connection - SUBTYPE OF (mesh_connectivity); - SELF\mesh_connectivity.current : structured_mesh; - range : indices_range; - donor : structured_mesh; - donor_range : indices_range; - transform : ARRAY [1:index_count] OF INTEGER; -WHERE - wr1 : current :<>: donor; - wr2 : donor.index_count = index_count; - wr3 : range.nindices = index_count; - wr4 : donor_range.nindices = index_count; -END_ENTITY; -(* USED FROM (mesh_connectivity_schema); *) -ENTITY mesh_connectivity - ABSTRACT SUPERTYPE OF (ONEOF ( - MATCHED_MESH_CONNECTION, - MISMATCHED_MESH_CONNECTION)); - name : label; - description : text; - id : identifier; - current : mesh; -DERIVE - index_count : INTEGER := current.index_count; -END_ENTITY; -(* USED FROM (mesh_connectivity_schema); *) -ENTITY mesh_overset_hole - SUBTYPE OF (mismatched_mesh_connection); -END_ENTITY; -(* USED FROM (mesh_connectivity_schema); *) -ENTITY mismatched_donor_mesh - ABSTRACT SUPERTYPE OF (ONEOF ( - STRUCTURED_DONOR_MESH, - UNSTRUCTURED_DONOR_MESH)); - donor: mesh; -INVERSE - connect : mismatched_mesh_region FOR donor; -END_ENTITY; -(* USED FROM (mesh_connectivity_schema); *) -ENTITY mismatched_mesh_connection - ABSTRACT SUPERTYPE OF (ONEOF ( - MISMATCHED_MESH_REGION, - MESH_OVERSET_HOLE)) - - SUBTYPE OF (mesh_connectivity); - points : indices_group; - gridloc : mesh_location; -END_ENTITY; -(* USED FROM (mesh_connectivity_schema); *) -ENTITY mismatched_mesh_region - SUBTYPE OF (mismatched_mesh_connection); - donor : mismatched_donor_mesh; - kind : mismatched_region_type; -WHERE - wr1 : donor.donor :<>: SELF\mesh_connectivity.current; -END_ENTITY; -(* USED FROM (mesh_connectivity_schema); *) -ENTITY multiple_mesh_block; - name : label; - description : text; - id : identifier; - connectivities : LIST OF mesh_connectivity; -END_ENTITY; -(* USED FROM (mesh_connectivity_schema); *) -ENTITY structured_donor_mesh - SUBTYPE OF (mismatched_donor_mesh); - SELF\mismatched_donor_mesh.donor : structured_mesh; - points : listed_real_data; - vsize : INTEGER; -DERIVE - index_count : INTEGER := donor.index_count; -END_ENTITY; -(* USED FROM (mesh_connectivity_schema); *) -ENTITY unstructured_donor_mesh - SUBTYPE OF (mismatched_donor_mesh); - SELF\mismatched_donor_mesh.donor : unstructured_mesh; - cells : indices_group; - interpolant : property_distribution_description; - vsize : INTEGER; -DERIVE - index_count : INTEGER := donor.index_count; -END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY general_property_association; - name : label; - description : OPTIONAL text; - base_definition : general_property; - derived_definition : derived_property_select; - WHERE - WR1: SIZEOF(USEDIN(derived_definition, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION')) = 1; - WR2: derived_definition.name = base_definition.name; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY property_definition SUPERTYPE OF (ONEOF ( - PRODUCT_DEFINITION_KINEMATICS, - PRODUCT_DEFINITION_RELATIONSHIP_KINEMATICS, - PRODUCT_DEFINITION_SHAPE) ) ; - name : label; - description : OPTIONAL text; - definition : characterized_definition; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY property_definition_representation; - definition : represented_definition; - used_representation : representation; - DERIVE - description : text := get_description_value(SELF); - name : label := get_name_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY assembly_component_usage - SUPERTYPE OF ( - QUANTIFIED_ASSEMBLY_COMPONENT_USAGE - ANDOR ONEOF ( - MULTI_LEVEL_REFERENCE_DESIGNATOR, - NEXT_ASSEMBLY_USAGE_OCCURRENCE, - PROMISSORY_USAGE_OCCURRENCE, - SPECIFIED_HIGHER_USAGE_OCCURRENCE)) - SUBTYPE OF (product_definition_usage); - reference_designator : OPTIONAL identifier; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY next_assembly_usage_occurrence - SUBTYPE OF (assembly_component_usage); -UNIQUE - UR1 : SELF\assembly_component_usage.reference_designator, SELF\product_definition_relationship.relating_product_definition; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY promissory_usage_occurrence - SUBTYPE OF (assembly_component_usage); -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY quantified_assembly_component_usage - SUBTYPE OF (assembly_component_usage); - quantity : measure_with_unit; -WHERE - WR1: (NOT ('NUMBER' IN TYPEOF(quantity.value_component))) - OR (quantity.value_component > 0); -END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_design_version_to_individual - SUBTYPE OF (product_definition_formation_relationship); - - (* removed : SELF\product_definition_formation_relationship.individual_product : PRODUCT_DEFINITION_FORMATION *) - - (* removed : SELF\product_definition_formation_relationship.product_design_version : PRODUCT_DEFINITION_FORMATION *) - DERIVE - individual_product : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.related_product_definition_formation; -- RELATED_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - product_design_version : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.relating_product_definition_formation; -- RELATING_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY symbol - SUBTYPE OF (representation_item); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY pair_value - ABSTRACT SUPERTYPE OF (ONEOF ( - SLIDING_SURFACE_PAIR_VALUE, - ROLLING_SURFACE_PAIR_VALUE, - REVOLUTE_PAIR_VALUE, - PRISMATIC_PAIR_VALUE, - SCREW_PAIR_VALUE, - CYLINDRICAL_PAIR_VALUE, - SPHERICAL_PAIR_VALUE, - SLIDING_CURVE_PAIR_VALUE, - ROLLING_CURVE_PAIR_VALUE, - GEAR_PAIR_VALUE, - RACK_AND_PINION_PAIR_VALUE, - UNIVERSAL_PAIR_VALUE, - PLANAR_PAIR_VALUE, - UNCONSTRAINED_PAIR_VALUE, - POINT_ON_SURFACE_PAIR_VALUE, - POINT_ON_PLANAR_CURVE_PAIR_VALUE, - LOW_ORDER_KINEMATIC_PAIR_VALUE)) - SUBTYPE OF (geometric_representation_item); - applies_to_pair : kinematic_pair; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY mechanism_state_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF pair_value; - represented_mechanism : mechanism_representation; -DERIVE - SELF\representation.context_of_items : geometric_representation_context := represented_mechanism.context_of_items; -END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY shape_representation_relationship - SUBTYPE OF (representation_relationship); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN (TYPEOF(SELF\representation_relationship.rep_1) + TYPEOF(SELF\representation_relationship.rep_2)); - END_ENTITY; -(* USED FROM (External_item_identification_assignment_mim); *) -ENTITY applied_external_identification_assignment -SUBTYPE OF (external_identification_assignment); - items : SET [1 : ?] OF external_identification_item; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY external_identification_assignment - ABSTRACT SUPERTYPE - SUBTYPE OF (identification_assignment); - source : external_source; - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY externally_defined_item; - item_id : source_item; - source : external_source; - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY external_source; - source_id : source_item; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY generic_product_definition_reference - ABSTRACT SUPERTYPE OF (ONEOF ( - PRODUCT_DEFINITION_REFERENCE, - PRODUCT_DEFINITION_REFERENCE_WITH_LOCAL_REPRESENTATION)); - source : external_source; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_reference - SUBTYPE OF (generic_product_definition_reference); - product_id : identifier; - product_definition_formation_id : identifier; - product_definition_id : identifier; - id_owning_organization_name : OPTIONAL label; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_reference_with_local_representation - SUBTYPE OF (generic_product_definition_reference, product_definition); - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_product_definition : product_definition_or_reference; - related_product_definition : product_definition_or_reference; - END_ENTITY; -(* USED FROM (Configuration_item_mim); *) -ENTITY configuration_item_hierarchical_relationship - SUBTYPE OF (configuration_item_relationship); -END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY product_definition_shape - SUBTYPE OF (property_definition); - UNIQUE - UR1: SELF\property_definition.definition; - WHERE - WR1: SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTERIZED_PRODUCT_DEFINITION', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTERIZED_OBJECT'] * TYPEOF(SELF\property_definition.definition)) > 0; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY shape_aspect SUPERTYPE OF (ONEOF ( - CONTACTING_FEATURE, - DATUM, - DATUM_FEATURE, - DATUM_TARGET, - DATUM_SYSTEM, - GENERAL_DATUM_REFERENCE) ) ; - name : label; - description : OPTIONAL text; - of_shape : product_definition_shape; - product_definitional : LOGICAL; - DERIVE - id : identifier := get_id_value(SELF); - UNIQUE - UR1: id, of_shape; - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY shape_aspect_relationship; - name : label; - description : OPTIONAL text; - relating_shape_aspect : shape_aspect; - related_shape_aspect : shape_aspect; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY item_identified_representation_usage; - name : label; - description : OPTIONAL text; - definition : item_identified_representation_usage_definition; - used_representation : representation; - identified_item : item_identified_representation_usage_select; - WHERE - WR1: SELF.used_representation IN using_representations(SELF.identified_item); - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY chain_based_item_identified_representation_usage - SUBTYPE OF (item_identified_representation_usage); - nodes : LIST [2:?] OF UNIQUE representation; - - undirected_link : LIST [1:?] OF chained_representation_link; - DERIVE - root : representation := nodes[1]; - - SELF\item_identified_representation_usage.used_representation : representation := nodes[HIINDEX(nodes)]; -- leaf : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - directed_link : LIST [1:?] OF representation_relationship := get_directed_link(nodes, undirected_link); - leaf : REPRESENTATION := SELF\item_identified_representation_usage.used_representation; -- USED_REPRESENTATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - WHERE - WR1 : EXISTS(directed_link); - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY shape_definition_representation - SUBTYPE OF (property_definition_representation); - SELF\property_definition_representation.definition : property_definition; - SELF\property_definition_representation.used_representation : shape_representation; - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(definition)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINITION' IN TYPEOF(definition\property_definition.definition)); - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY characterized_chain_based_item_within_representation - SUBTYPE OF (characterized_item_within_representation); - nodes : LIST[2:?] OF UNIQUE representation; - - undirected_link : LIST[1:?] OF chained_representation_link; - DERIVE - root : representation := nodes[1]; - - SELF\characterized_item_within_representation.rep : representation := nodes[HIINDEX(nodes)]; -- leaf : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - directed_link : LIST[1:?] OF representation_relationship := get_directed_link(nodes, undirected_link); - leaf : REPRESENTATION := SELF\characterized_item_within_representation.rep; -- REP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - WHERE - WR1 : EXISTS(directed_link); - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY characterized_item_within_representation - SUBTYPE OF (characterized_object); - item : representation_item; - rep : representation; - UNIQUE - WR1: item, rep; - WHERE - WR2: rep IN using_representations(item); - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY context_dependent_shape_representation; - representation_relation : shape_representation_relationship; - represented_product_relation : product_definition_shape; - DERIVE - description : text := get_description_value(SELF); - name : label := get_name_value(SELF); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF.represented_product_relation.definition); - WR2: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR3: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY binary_representation_item - SUBTYPE OF (representation_item); - binary_value : BINARY; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY bytes_representation_item - SUBTYPE OF (binary_representation_item); - DERIVE - no_of_bytes : INTEGER := BLENGTH(SELF\binary_representation_item.binary_value) DIV 8; - WHERE - WR1: BLENGTH(SELF\binary_representation_item.binary_value) MOD 8 = 0; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY compound_representation_item - SUPERTYPE OF ( ( ONEOF ( - POINT_AND_VECTOR, - POINT_PATH) )ANDOR( (ONEOF ( - ROW_REPRESENTATION_ITEM, - TABLE_REPRESENTATION_ITEM)) ) ) - SUBTYPE OF (representation_item); - item_element : compound_item_definition; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY definitional_representation - SUBTYPE OF (representation); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN - TYPEOF (SELF\representation.context_of_items ); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY definitional_representation_relationship_with_same_context - SUBTYPE OF (definitional_representation_relationship); - WHERE - WR1: SELF\representation_relationship.rep_1.context_of_items :=: - SELF\representation_relationship.rep_2.context_of_items; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY founded_item SUPERTYPE OF ( ( ONEOF ( - B_SPLINE_CURVE_KNOT_LOCATOR, - B_SPLINE_CURVE_SEGMENT, - B_SPLINE_SURFACE_KNOT_LOCATOR, - B_SPLINE_SURFACE_PATCH, - B_SPLINE_SURFACE_STRIP, - BOUNDARY_CURVE_OF_B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE, - BOX_DOMAIN, - CHARACTER_GLYPH_STYLE_OUTLINE, - CHARACTER_GLYPH_STYLE_STROKE, - COMPOSITE_CURVE_SEGMENT, - COMPOSITE_CURVE_TRANSITION_LOCATOR, - CURVE_STYLE, - CURVE_STYLE_FONT, - CURVE_STYLE_FONT_AND_SCALING, - CURVE_STYLE_FONT_PATTERN, - EXTERNALLY_DEFINED_STYLE, - FILL_AREA_STYLE, - INTERPOLATED_CONFIGURATION_SEGMENT, - KINEMATIC_PATH_SEGMENT, - PLANE_ANGLE_AND_LENGTH_PAIR, - PLANE_ANGLE_AND_RATIO_PAIR, - POINT_STYLE, - PRESENTATION_STYLE_ASSIGNMENT, - RECTANGULAR_COMPOSITE_SURFACE_TRANSITION_LOCATOR, - SURFACE_PATCH, - SURFACE_SIDE_STYLE, - SURFACE_STYLE_BOUNDARY, - SURFACE_STYLE_CONTROL_GRID, - SURFACE_STYLE_FILL_AREA, - SURFACE_STYLE_PARAMETER_LINE, - SURFACE_STYLE_SEGMENTATION_CURVE, - SURFACE_STYLE_SILHOUETTE, - SURFACE_STYLE_USAGE, - SYMBOL_STYLE, - TEXT_STYLE, - VIEW_VOLUME) )ANDOR( ONEOF ( - CHARACTER_GLYPH_STYLE_OUTLINE, - CHARACTER_GLYPH_STYLE_STROKE, - CURVE_STYLE, - CURVE_STYLE_FONT, - CURVE_STYLE_FONT_AND_SCALING, - CURVE_STYLE_FONT_PATTERN, - EXTERNALLY_DEFINED_STYLE, - FILL_AREA_STYLE, - POINT_STYLE, - PRESENTATION_STYLE_ASSIGNMENT, - SURFACE_SIDE_STYLE, - SURFACE_STYLE_BOUNDARY, - SURFACE_STYLE_CONTROL_GRID, - SURFACE_STYLE_FILL_AREA, - SURFACE_STYLE_PARAMETER_LINE, - SURFACE_STYLE_SEGMENTATION_CURVE, - SURFACE_STYLE_SILHOUETTE, - SURFACE_STYLE_USAGE, - SYMBOL_STYLE, - TEXT_STYLE) ) ) ; - DERIVE - users : SET[0:?] OF founded_item_select := using_items(SELF,[]); - WHERE - WR1: SIZEOF(users) > 0; - WR2: NOT(SELF IN users); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY functionally_defined_transformation; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY parametric_representation_context - SUBTYPE OF (representation_context); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_item_relationship; - name : label; - description : OPTIONAL text; - relating_representation_item : representation_item; - related_representation_item : representation_item; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_relationship_with_transformation - SUBTYPE OF (representation_relationship); - transformation_operator : transformation; - WHERE - WR1: SELF\representation_relationship.rep_1.context_of_items - :<>: SELF\representation_relationship.rep_2.context_of_items; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY uncertainty_assigned_representation - SUBTYPE OF (representation); - uncertainty : SET [1:?] OF uncertainty_measure_with_unit; - END_ENTITY; -(* USED FROM (Activity_mim); *) -ENTITY applied_action_assignment - SUBTYPE OF (action_assignment); - items : SET[1:?] OF action_items; -END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action; - name : label; - description : OPTIONAL text; - chosen_method : action_method; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_relationship; - name : label; - description : OPTIONAL text; - relating_action : action; - related_action : action; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_status; - status : label; - assigned_action : executed_action; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY executed_action - SUBTYPE OF (action); - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY action_assignment - ABSTRACT SUPERTYPE; - assigned_action : action; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_method; - name : label; - description : OPTIONAL text; - consequence : text; - purpose : text; - END_ENTITY; -(* USED FROM (results_schema); *) -ENTITY mbna_discrete_data - SUBTYPE OF (mbna_result); - gridloc : mesh_location; -INVERSE - data : SET OF property_distribution_description FOR physical_function; -END_ENTITY; -(* USED FROM (results_schema); *) -ENTITY mbna_discrete_data_with_rind - SUBTYPE OF (mbna_discrete_data); - rind_planes : rind; -END_ENTITY; -(* USED FROM (results_schema); *) -ENTITY mbna_history - SUBTYPE OF (mbna_result); - notes : LIST OF text; -INVERSE - data : SET OF property_distribution_description FOR physical_function; -END_ENTITY; -(* USED FROM (results_schema); *) -ENTITY mbna_result - SUPERTYPE OF (ONEOF ( - MBNA_SOLUTION, - MBNA_HISTORY, - MBNA_DISCRETE_DATA) ) - SUBTYPE OF (model_property_distribution); -END_ENTITY; -(* USED FROM (results_schema); *) -ENTITY mbna_solution - SUBTYPE OF (mbna_result); - gridloc : mesh_location; -INVERSE - solution : SET OF property_distribution_description FOR physical_function; -END_ENTITY; -(* USED FROM (results_schema); *) -ENTITY mbna_solution_with_rind - SUBTYPE OF (mbna_solution); - rind_planes : rind; -END_ENTITY; -(* USED FROM (basis_schema); *) -ENTITY geometry_reference; - description : text; - data : choose_geometry_location; -END_ENTITY; -(* USED FROM (basis_schema); *) -ENTITY specified_general_property - SUBTYPE OF (general_property); - name_specifier : choose_general_property_identifier; -END_ENTITY; -(* USED FROM (basis_schema); *) -ENTITY specified_representation_context - SUBTYPE OF (representation_context); - class_specifier : choose_representation_context_identifier; -END_ENTITY; -(* USED FROM (action_and_model_relationships_schema); *) -ENTITY action_view_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - discretised_model : discretised_action_model_select; - idealised_action : idealised_action_select; -END_ENTITY; -(* USED FROM (action_and_model_relationships_schema); *) -ENTITY same_discretised_action_model; - id : identifier; - name : label; - description : OPTIONAL text; - equivalent_records : SET [2 : ?] OF discretised_action_model_select; - -END_ENTITY; -(* USED FROM (action_and_model_relationships_schema); *) -ENTITY same_idealised_action; - id : identifier; - name : label; - description : OPTIONAL text; - equivalent_records : SET [2 : ?] OF idealised_action_select; -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY usage_association - SUBTYPE OF (action_method_relationship); - SELF\action_method_relationship.relating_method : information_usage_right; -- relating : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\action_method_relationship.related_method : information_usage_right; -- related : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - related : INFORMATION_USAGE_RIGHT := SELF\action_method_relationship.related_method; -- RELATED_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - relating : INFORMATION_USAGE_RIGHT := SELF\action_method_relationship.relating_method; -- RELATING_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (fea_definition_relationships_schema); *) -ENTITY fea_beam_section_idealisation_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - idealised : general_property; - idealising : curve_element_section_definition; -END_ENTITY; -(* USED FROM (fea_definition_relationships_schema); *) -ENTITY fea_model_topological_relationship; - item : analysis_item_within_representation; - model_ref : fea_model; -WHERE - WR1: 'TOPOLOGICAL_DEFINITION_AND_MESH_SCHEMA.MESH' IN TYPEOF (item.item); -END_ENTITY; -(* USED FROM (fea_definition_relationships_schema); *) -ENTITY fea_shell_section_distribution_idealisation_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - idealised : property_definition; - idealising : surface_section_field; -END_ENTITY; -(* USED FROM (fea_definition_relationships_schema); *) -ENTITY fea_shell_section_idealisation_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - idealised : general_property; - idealising : surface_section; -END_ENTITY; -(* USED FROM (fea_definition_relationships_schema); *) -ENTITY node_topological_relationship; - item : analysis_item_within_representation; - node_ref : node_representation; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF (item.item); -END_ENTITY; -(* USED FROM (product_and_model_relationships_schema); *) -ENTITY product_view_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - discretised_model : discretised_product_model_select; - idealised_product : idealised_product_select; - -END_ENTITY; -(* USED FROM (property_distribution_and_model_relationships_schema); *) -ENTITY distribution_view_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - discretised_model : discretised_distribution_model_select; - idealised_distribution : idealised_distribution_select; -END_ENTITY; -(* USED FROM (property_distribution_and_model_relationships_schema); *) -ENTITY same_discretised_distribution_model; - id : identifier; - name : label; - description : OPTIONAL text; - equivalent_records : SET [1 : ?] OF discretised_distribution_model_select; -END_ENTITY; -(* USED FROM (property_distribution_and_model_relationships_schema); *) -ENTITY same_idealised_distribution; - id : identifier; - name : label; - description : OPTIONAL text; - equivalent_records : LIST [2 : ?] OF idealised_distribution_select; -END_ENTITY; -(* USED FROM (state_and_model_relationships_schema); *) -ENTITY same_discretised_state_model; - id : identifier; - name : label; - description : OPTIONAL text; - equivalent_records : SET [2 : ?] OF discretised_state_model_select; -END_ENTITY; -(* USED FROM (state_and_model_relationships_schema); *) -ENTITY same_idealised_state; - id : identifier; - name : label; - description : OPTIONAL text; - equivalent_records : SET [2 : ?] OF idealised_state_select; -END_ENTITY; -(* USED FROM (state_and_model_relationships_schema); *) -ENTITY state_view_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - discretised_model : discretised_state_model_select; - idealised_state : idealised_state_select; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_with_associated_documents - SUBTYPE OF (product_definition); - documentation_ids : SET [1:?] OF document; - END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY property_definition_relationship; - name : label; - description : text; - relating_property_definition : property_definition; - related_property_definition : property_definition; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY control; - model_ref : fea_model; - control_id : identifier; - creating_software : text; - description : text; - user_defined_control : SET [1:?] OF text; - intended_analysis_code : SET [1:?] of text; -UNIQUE - UR1: model_ref, control_id; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY analysis_step - SUPERTYPE OF (ONEOF ( - CONTROL_ANALYSIS_STEP, - RESULT_ANALYSIS_STEP)); - analysis_control : control; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY control_analysis_step - SUPERTYPE OF (ONEOF ( - CONTROL_LINEAR_STATIC_ANALYSIS_STEP, - CONTROL_LINEAR_MODES_AND_FREQUENCIES_ANALYSIS_STEP)) - SUBTYPE OF (analysis_step); - step_id : identifier; - sequence : integer; - initial_state : state; - description : text; -UNIQUE - UR1: SELF\analysis_step.analysis_control, sequence; - UR2: SELF\analysis_step.analysis_control, step_id; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY symmetry_control - SUPERTYPE OF (ONEOF ( - NO_SYMMETRY_CONTROL, - CYLINDRICAL_SYMMETRY_CONTROL)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY no_symmetry_control - SUBTYPE OF (symmetry_control); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY cylindrical_symmetry_control - SUBTYPE OF (symmetry_control); - harmonic : cylindrical_harmonic_number; - phase : measure_or_unspecified_value; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY control_linear_static_analysis_step - SUBTYPE OF (control_analysis_step); - process : control_linear_static_load_increment_process; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY control_linear_static_analysis_step_with_harmonic - SUBTYPE OF (control_linear_static_analysis_step); - symmetry : cylindrical_symmetry_control; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY control_linear_modes_and_frequencies_analysis_step - SUBTYPE OF (control_analysis_step); - process : control_linear_modes_and_frequencies_process; - number_of_modes : count_measure; - frequency_range : ARRAY [1:2] OF context_dependent_measure; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY constraint_element - SUPERTYPE OF (ONEOF ( - SINGLE_POINT_CONSTRAINT_ELEMENT, - LINEAR_CONSTRAINT_EQUATION_ELEMENT, - NODAL_DOF_REDUCTION, - POINT_CONSTRAINT, - CURVE_CONSTRAINT, - SURFACE_CONSTRAINT, - SOLID_CONSTRAINT)); - element_id : identifier; - steps : SET [1:?] OF control_analysis_step; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY single_point_constraint_element - SUBTYPE OF (constraint_element); - required_node : node_output_reference; - coordinate_system : fea_axis2_placement_3d; - freedoms_and_values : SET [1:?] OF freedom_and_coefficient; - description : text; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY linear_constraint_equation_element - SUBTYPE OF (constraint_element); - freedoms_and_coefficients : SET [1:?] OF - linear_constraint_equation_nodal_term; - description : text; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY linear_constraint_equation_nodal_term; - node : node_representation; - coordinate_system : fea_axis2_placement_3d; - freedom_and_coefficient_term : freedom_and_coefficient; - dependent : LOGICAL; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY freedom_and_coefficient; - freedom : degree_of_freedom; - a : measure_or_unspecified_value; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY nodal_dof_reduction - SUBTYPE OF (constraint_element); - required_node : node_output_reference; - coordinate_system : fea_axis2_placement_3d; - freedoms : SET [1:?] OF degree_of_freedom; - description : text; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY point_constraint - SUBTYPE OF (constraint_element); - required_point : analysis_item_within_representation; - coordinate_system : fea_axis2_placement_3d; - freedoms_and_coefficients : SET [1:?] OF freedom_and_coefficient; - description : text; -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN TYPEOF (required_point.item)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (required_point.item)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_constraint - SUBTYPE OF (constraint_element); - required_curve : analysis_item_within_representation; - coordinate_system : fea_axis2_placement_3d; - freedoms_and_coefficients : SET [1:?] OF freedom_and_coefficient; - description : text; -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF (required_curve.item)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (required_curve.item)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_constraint - SUBTYPE OF (constraint_element); - required_surface : analysis_item_within_representation; - coordinate_system : fea_axis2_placement_3d; - freedoms_and_coefficients : SET [1:?] OF freedom_and_coefficient; - description : text; -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF (required_surface.item)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF (required_surface.item)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY solid_constraint - SUBTYPE OF (constraint_element); - required_solid : analysis_item_within_representation; - coordinate_system : fea_axis2_placement_3d; - freedoms_and_coefficients : SET [1:?] OF freedom_and_coefficient; - description : text; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_MODEL' IN TYPEOF (required_solid.item); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY control_process - SUPERTYPE OF (ONEOF ( - CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS, - CONTROL_LINEAR_MODES_AND_FREQUENCIES_PROCESS)); - process_id : identifier; - description : text; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY control_linear_static_load_increment_process - SUBTYPE OF (control_process); - final_input_state : state; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY control_linear_modes_and_frequencies_process - SUBTYPE OF (control_process); - final_input_state : state; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY element_sequence; - order_id : identifier; - control_ref : control; - purpose : text; - elements : LIST [1:?] OF model_or_control_element; -UNIQUE - UR1: order_id, control_ref; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY node_sequence; - order_id : identifier; - control_ref : control; - purpose : text; - nodes : LIST [1:?] OF node_representation; -UNIQUE - UR1: order_id, control_ref; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY result; - result_id : identifier; - creating_software : text; - description : text; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY result_analysis_step - SUPERTYPE OF (ONEOF ( - RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP, - RESULT_LINEAR_MODES_AND_FREQUENCIES_ANALYSIS_SUB_STEP)) - SUBTYPE OF (analysis_step); - analysis_result : result; -UNIQUE - UR1: SELF\analysis_step.analysis_control, analysis_result; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY result_linear_static_analysis_sub_step - SUBTYPE OF (result_analysis_step); - state : calculated_state; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY result_linear_modes_and_frequencies_analysis_sub_step - SUBTYPE OF (result_analysis_step); - states : SET [1:?] OF calculated_state; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY control_result_relationship; - control : control_analysis_step; - result : result_analysis_step; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY state - SUPERTYPE OF (ONEOF ( - SPECIFIED_STATE, - CALCULATED_STATE, - LINEARLY_SUPERIMPOSED_STATE, - OUTPUT_REQUEST_STATE)); - state_id : identifier; - description : text; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY state_with_harmonic - SUBTYPE OF (state); - symmetry : cylindrical_symmetry_control; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY specified_state - SUBTYPE OF (state); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY calculated_state - SUBTYPE OF (state); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY linearly_superimposed_state - SUBTYPE OF (state); -INVERSE - components : SET [1:?] OF state_component FOR state; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY state_component - SUBTYPE OF (state); - state : linearly_superimposed_state; - factor : context_dependent_measure; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY output_request_state - SUBTYPE OF (state); - steps : SET [1:?] OF control_analysis_step; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY state_relationship; - name : label; - description : text; - relating_state : state; - related_state : state; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY state_definition - SUPERTYPE OF (ONEOF ( - FIELD_VARIABLE_DEFINITION, - NODAL_FREEDOM_AND_VALUE_DEFINITION, - ELEMENT_NODAL_FREEDOM_ACTIONS, - POINT_FREEDOM_AND_VALUE_DEFINITION, - CURVE_FREEDOM_AND_VALUE_DEFINITION, - SURFACE_FREEDOM_AND_VALUE_DEFINITION, - SOLID_FREEDOM_AND_VALUE_DEFINITION, - LINEAR_CONSTRAINT_EQUATION_ELEMENT_VALUE, - SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES, - ANALYSIS_MESSAGE)); - defined_state : state; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY field_variable_definition - SUPERTYPE OF (ONEOF ( - FIELD_VARIABLE_ELEMENT_DEFINITION, - FIELD_VARIABLE_ELEMENT_GROUP_VALUE, - FIELD_VARIABLE_WHOLE_MODEL_VALUE, - FIELD_VARIABLE_NODE_DEFINITION)) - SUBTYPE OF (state_definition); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY field_variable_element_definition - SUPERTYPE OF (ONEOF ( - VOLUME_3D_ELEMENT_FIELD_VARIABLE_DEFINITION, - VOLUME_2D_ELEMENT_FIELD_VARIABLE_DEFINITION, - SURFACE_3D_ELEMENT_FIELD_VARIABLE_DEFINITION, - SURFACE_2D_ELEMENT_FIELD_VARIABLE_DEFINITION, - CURVE_3D_ELEMENT_FIELD_VARIABLE_DEFINITION, - CURVE_2D_ELEMENT_FIELD_VARIABLE_DEFINITION)) - SUBTYPE OF (field_variable_definition); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_element_field_variable_definition - SUPERTYPE OF (ONEOF ( - VOLUME_3D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES, - VOLUME_3D_WHOLE_ELEMENT_VARIABLE_VALUE, - VOLUME_3D_ELEMENT_CONSTANT_SPECIFIED_VARIABLE_VALUE, - VOLUME_3D_ELEMENT_NODAL_SPECIFIED_VARIABLE_VALUES, - VOLUME_3D_ELEMENT_BOUNDARY_LOCATION_POINT_VARIABLE_VALUES, - VOLUME_3D_ELEMENT_BOUNDARY_WHOLE_FACE_VARIABLE_VALUE, - VOLUME_3D_ELEMENT_BOUNDARY_CONSTANT_SPECIFIED_VARIABLE_VALUE, - VOLUME_3D_ELEMENT_BOUNDARY_NODAL_SPECIFIED_VARIABLE_VALUES, - VOLUME_3D_ELEMENT_BOUNDARY_EDGE_LOCATION_POINT_VOLUME_VARIABLE_VALUES, - VOLUME_3D_ELEMENT_BOUNDARY_EDGE_WHOLE_EDGE_VARIABLE_VALUE, - VOLUME_3D_ELEMENT_BOUNDARY_EDGE_CONSTANT_SPECIFIED_VOLUME_VARIABLE_VALUE, - VOLUME_3D_ELEMENT_BOUNDARY_EDGE_NODAL_SPECIFIED_VARIABLE_VALUES)) - SUBTYPE OF (field_variable_element_definition); - element : volume_3d_element_output_reference; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY placement - SUPERTYPE OF (ONEOF ( - AXIS1_PLACEMENT, - AXIS2_PLACEMENT_2D, - AXIS2_PLACEMENT_3D)) - SUBTYPE OF (geometric_representation_item); - location : cartesian_point; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY offset_surface - SUBTYPE OF (surface); - basis_surface : surface; - distance : length_measure; - self_intersect : LOGICAL; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rack_and_pinion_pair_with_range - SUBTYPE OF (rack_and_pinion_pair); - lower_limit_rack_displacement : OPTIONAL length_measure; - upper_limit_rack_displacement : OPTIONAL length_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_rack_displacement) - OR - NOT EXISTS(upper_limit_rack_displacement)) - XOR - (lower_limit_rack_displacement < upper_limit_rack_displacement); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_element_constant_specified_variable_value - SUBTYPE OF (volume_3d_element_field_variable_definition); - simple_value : field_value; - variable : volume_variable; - coordinate_system : OPTIONAL volume_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY gear_pair_with_range - SUBTYPE OF (gear_pair); - lower_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation_1) - OR - NOT EXISTS(upper_limit_actual_rotation_1)) - XOR - (lower_limit_actual_rotation_1 < upper_limit_actual_rotation_1); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_element_boundary_location_point_variable_values - SUBTYPE OF (volume_3d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - volume_3d_element_value_and_location; - variable : boundary_variable; - element_face : volume_3d_face; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_element_boundary_whole_face_variable_value - SUBTYPE OF (volume_3d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_aggregated_variable; - element_face : volume_3d_face; - coordinate_system : OPTIONAL volume_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_element_boundary_constant_specified_variable_value - SUBTYPE OF (volume_3d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_variable; - element_face : volume_3d_face; - coordinate_system : OPTIONAL volume_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_element_boundary_nodal_specified_variable_values - SUBTYPE OF (volume_3d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : boundary_variable; - element_face : volume_3d_face; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - volume_3d_element_boundary_edge_location_point_volume_variable_values - SUBTYPE OF (volume_3d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - volume_3d_element_value_and_location; - variable : boundary_edge_variable; - element_edge : volume_3d_edge; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_element_boundary_edge_whole_edge_variable_value - SUBTYPE OF (volume_3d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_aggregated_variable; - element_edge : volume_3d_edge; - coordinate_system : OPTIONAL volume_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - volume_3d_element_boundary_edge_constant_specified_volume_variable_value - SUBTYPE OF (volume_3d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_edge_variable; - element_edge : volume_3d_edge; - coordinate_system : OPTIONAL volume_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_element_boundary_edge_nodal_specified_variable_values - SUBTYPE OF (volume_3d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : boundary_edge_variable; - element_edge : volume_3d_edge; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_element_field_variable_definition - SUPERTYPE OF (ONEOF ( - VOLUME_2D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES, - VOLUME_2D_WHOLE_ELEMENT_VARIABLE_VALUE, - VOLUME_2D_ELEMENT_CONSTANT_SPECIFIED_VARIABLE_VALUE, - VOLUME_2D_ELEMENT_NODAL_SPECIFIED_VARIABLE_VALUES, - VOLUME_2D_ELEMENT_BOUNDARY_LOCATION_POINT_VARIABLE_VALUES, - VOLUME_2D_ELEMENT_BOUNDARY_WHOLE_FACE_VARIABLE_VALUE, - VOLUME_2D_ELEMENT_BOUNDARY_CONSTANT_SPECIFIED_VARIABLE_VALUE, - VOLUME_2D_ELEMENT_BOUNDARY_NODAL_SPECIFIED_VARIABLE_VALUES, - VOLUME_2D_ELEMENT_BOUNDARY_EDGE_LOCATION_POINT_VOLUME_VARIABLE_VALUES, - VOLUME_2D_ELEMENT_BOUNDARY_EDGE_WHOLE_EDGE_VARIABLE_VALUE, - VOLUME_2D_ELEMENT_BOUNDARY_EDGE_CONSTANT_SPECIFIED_VOLUME_VARIABLE_VALUE, - VOLUME_2D_ELEMENT_BOUNDARY_EDGE_NODAL_SPECIFIED_VARIABLE_VALUES)) - SUBTYPE OF (field_variable_element_definition); - element : volume_2d_element_output_reference; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_element_location_point_variable_values - SUBTYPE OF (volume_2d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - volume_2d_element_value_and_location; - variable : volume_variable; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_element_value_and_location; - simple_value : field_value; - location : volume_element_location; - coordinate_system : OPTIONAL volume_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_whole_element_variable_value - SUBTYPE OF (volume_2d_element_field_variable_definition); - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL volume_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_element_constant_specified_variable_value - SUBTYPE OF (volume_2d_element_field_variable_definition); - simple_value : field_value; - variable : volume_variable; - coordinate_system : OPTIONAL volume_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_element_nodal_specified_variable_values - SUBTYPE OF (volume_2d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : volume_variable; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_element_boundary_location_point_variable_values - SUBTYPE OF (volume_2d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - volume_2d_element_value_and_location; - variable : boundary_variable; - element_face : volume_2d_face; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_element_boundary_whole_face_variable_value - SUBTYPE OF (volume_2d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_aggregated_variable; - element_face : volume_2d_face; - coordinate_system : OPTIONAL volume_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_element_boundary_constant_specified_variable_value - SUBTYPE OF (volume_2d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_variable; - element_face : volume_2d_face; - coordinate_system : OPTIONAL volume_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_element_boundary_nodal_specified_variable_values - SUBTYPE OF (volume_2d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - variable : boundary_variable; - additional_node_values : BOOLEAN; - element_face : volume_2d_face; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - volume_2d_element_boundary_edge_location_point_volume_variable_values - SUBTYPE OF (volume_2d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - volume_2d_element_value_and_location; - variable : boundary_edge_variable; - element_edge : volume_2d_edge; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_element_boundary_edge_whole_edge_variable_value - SUBTYPE OF (volume_2d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_aggregated_variable; - element_edge : volume_2d_edge; - coordinate_system : OPTIONAL volume_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - volume_2d_element_boundary_edge_constant_specified_volume_variable_value - SUBTYPE OF (volume_2d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_edge_variable; - element_edge : volume_2d_edge; - coordinate_system : OPTIONAL volume_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_element_boundary_edge_nodal_specified_variable_values - SUBTYPE OF (volume_2d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : boundary_edge_variable; - element_edge : volume_2d_edge; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_field_variable_definition - SUPERTYPE OF (ONEOF ( - SURFACE_3D_ELEMENT_LOCATION_POINT_VOLUME_VARIABLE_VALUES, - SURFACE_3D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES, - SURFACE_3D_WHOLE_ELEMENT_VARIABLE_VALUE, - SURFACE_3D_ELEMENT_CONSTANT_SPECIFIED_VARIABLE_VALUE, - SURFACE_3D_ELEMENT_CONSTANT_SPECIFIED_VOLUME_VARIABLE_VALUE, - SURFACE_3D_ELEMENT_NODAL_SPECIFIED_VARIABLE_VALUES, - SURFACE_3D_ELEMENT_BOUNDARY_LOCATION_POINT_SURFACE_VARIABLE_VALUES, - SURFACE_3D_ELEMENT_BOUNDARY_WHOLE_FACE_VARIABLE_VALUE, - SURFACE_3D_ELEMENT_BOUNDARY_CONSTANT_SPECIFIED_VARIABLE_VALUE, - SURFACE_3D_ELEMENT_BOUNDARY_CONSTANT_SPECIFIED_SURFACE_VARIABLE_VALUE, - SURFACE_3D_ELEMENT_BOUNDARY_NODAL_SPECIFIED_VARIABLE_VALUES, - SURFACE_3D_ELEMENT_BOUNDARY_EDGE_LOCATION_POINT_SURFACE_VARIABLE_VALUES, - SURFACE_3D_ELEMENT_BOUNDARY_EDGE_LOCATION_POINT_VARIABLE_VALUES, - SURFACE_3D_ELEMENT_BOUNDARY_EDGE_WHOLE_EDGE_VARIABLE_VALUE, - SURFACE_3D_ELEMENT_BOUNDARY_EDGE_CONSTANT_SPECIFIED_VARIABLE_VALUE, - SURFACE_3D_ELEMENT_BOUNDARY_EDGE_CONSTANT_SPECIFIED_SURFACE_VARIABLE_VALUE, - SURFACE_3D_ELEMENT_BOUNDARY_EDGE_NODAL_SPECIFIED_VARIABLE_VALUES)) - SUBTYPE OF (field_variable_element_definition); - element : surface_3d_element_output_reference; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_location_point_volume_variable_values - SUBTYPE OF (surface_3d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - surface_3d_element_value_and_volume_location; - variable : volume_variable; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); - -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_value_and_location; - simple_value : field_value; - location : surface_element_location; - coordinate_system : OPTIONAL surface_3d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_value_and_volume_location; - simple_value : field_value; - location : surface_volume_element_location; - coordinate_system : OPTIONAL surface_3d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_location_point_variable_values - SUBTYPE OF (surface_3d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - surface_3d_element_value_and_location; - variable : surface_element_variable; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_whole_element_variable_value - SUBTYPE OF (surface_3d_element_field_variable_definition); - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL surface_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_constant_specified_variable_value - SUBTYPE OF (surface_3d_element_field_variable_definition); - simple_value : field_value; - variable : surface_element_variable; - coordinate_system : OPTIONAL surface_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_constant_specified_volume_variable_value - SUBTYPE OF (surface_3d_element_field_variable_definition); - simple_value : field_value; - variable : volume_variable; - coordinate_system : OPTIONAL surface_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_nodal_specified_variable_values - SUBTYPE OF (surface_3d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : surface_element_variable; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - surface_3d_element_boundary_location_point_surface_variable_values - SUBTYPE OF (surface_3d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - surface_3d_element_value_and_location; - variable : boundary_variable; - element_face : surface_3d_face; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_boundary_whole_face_variable_value - SUBTYPE OF (surface_3d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_aggregated_variable; - element_face : surface_3d_face; - coordinate_system : OPTIONAL surface_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - surface_3d_element_boundary_constant_specified_surface_variable_value - SUBTYPE OF (surface_3d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_variable; - element_face : surface_3d_face; - coordinate_system : OPTIONAL surface_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_boundary_constant_specified_variable_value - SUBTYPE OF (surface_3d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_aggregated_variable; - element_face : surface_3d_face; - coordinate_system : OPTIONAL surface_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_boundary_nodal_specified_variable_values - SUBTYPE OF (surface_3d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : boundary_variable; - element_face : surface_3d_face; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - surface_3d_element_boundary_edge_location_point_surface_variable_values - SUBTYPE OF (surface_3d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - surface_3d_element_value_and_volume_location; - variable : boundary_edge_variable; - element_edge : surface_3d_edge; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - surface_3d_element_boundary_edge_location_point_variable_values - SUBTYPE OF (surface_3d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - surface_3d_element_value_and_location; - variable : boundary_edge_variable; - element_edge : surface_3d_edge; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_boundary_edge_whole_edge_variable_value - SUBTYPE OF (surface_3d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_aggregated_variable; - element_edge : surface_3d_edge; - coordinate_system : OPTIONAL surface_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - surface_3d_element_boundary_edge_constant_specified_surface_variable_value - SUBTYPE OF (surface_3d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_edge_variable; - element_edge : surface_3d_edge; - coordinate_system : OPTIONAL surface_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_boundary_edge_constant_specified_variable_value - SUBTYPE OF (surface_3d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_edge_variable; - element_edge : surface_3d_edge; - coordinate_system : OPTIONAL surface_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_element_boundary_edge_nodal_specified_variable_values - SUBTYPE OF (surface_3d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : boundary_edge_variable; - element_edge : surface_3d_edge; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_field_variable_definition - SUPERTYPE OF (ONEOF ( - SURFACE_2D_ELEMENT_LOCATION_POINT_VOLUME_VARIABLE_VALUES, - SURFACE_2D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES, - SURFACE_2D_WHOLE_ELEMENT_VARIABLE_VALUE, - SURFACE_2D_ELEMENT_CONSTANT_SPECIFIED_VARIABLE_VALUE, - SURFACE_2D_ELEMENT_CONSTANT_SPECIFIED_VOLUME_VARIABLE_VALUE, - SURFACE_2D_ELEMENT_NODAL_SPECIFIED_VARIABLE_VALUES, - SURFACE_2D_ELEMENT_BOUNDARY_LOCATION_POINT_SURFACE_VARIABLE_VALUES, - SURFACE_2D_ELEMENT_BOUNDARY_WHOLE_FACE_VARIABLE_VALUE, - SURFACE_2D_ELEMENT_BOUNDARY_CONSTANT_SPECIFIED_VARIABLE_VALUE, - SURFACE_2D_ELEMENT_BOUNDARY_CONSTANT_SPECIFIED_SURFACE_VARIABLE_VALUE, - SURFACE_2D_ELEMENT_BOUNDARY_NODAL_SPECIFIED_VARIABLE_VALUES, - SURFACE_2D_ELEMENT_BOUNDARY_EDGE_LOCATION_POINT_SURFACE_VARIABLE_VALUES, - SURFACE_2D_ELEMENT_BOUNDARY_EDGE_LOCATION_POINT_VARIABLE_VALUES, - SURFACE_2D_ELEMENT_BOUNDARY_EDGE_WHOLE_EDGE_VARIABLE_VALUE, - SURFACE_2D_ELEMENT_BOUNDARY_EDGE_CONSTANT_SPECIFIED_VARIABLE_VALUE, - SURFACE_2D_ELEMENT_BOUNDARY_EDGE_CONSTANT_SPECIFIED_SURFACE_VARIABLE_VALUE, - SURFACE_2D_ELEMENT_BOUNDARY_EDGE_NODAL_SPECIFIED_VARIABLE_VALUES)) - SUBTYPE OF (field_variable_element_definition); - element : surface_2d_element_output_reference; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_location_point_volume_variable_values - SUBTYPE OF (surface_2d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - surface_2d_element_value_and_volume_location; - variable : volume_variable; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_value_and_location; - simple_value : field_value; - location : surface_element_location; - coordinate_system : OPTIONAL surface_2d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_value_and_volume_location; - simple_value : field_value; - location : surface_volume_element_location; - coordinate_system : OPTIONAL surface_2d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_location_point_variable_values - SUBTYPE OF (surface_2d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - surface_2d_element_value_and_location; - variable : surface_element_variable; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_whole_element_variable_value - SUBTYPE OF (surface_2d_element_field_variable_definition); - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL surface_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_constant_specified_variable_value - SUBTYPE OF (surface_2d_element_field_variable_definition); - simple_value : field_value; - variable : surface_element_variable; - coordinate_system : OPTIONAL surface_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_constant_specified_volume_variable_value - SUBTYPE OF (surface_2d_element_field_variable_definition); - simple_value : field_value; - variable : volume_variable; - coordinate_system : OPTIONAL surface_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_nodal_specified_variable_values - SUBTYPE OF (surface_2d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : surface_element_variable; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - surface_2d_element_boundary_location_point_surface_variable_values - SUBTYPE OF (surface_2d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - surface_2d_element_value_and_location; - variable : boundary_variable; - element_face : surface_2d_face; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_boundary_whole_face_variable_value - SUBTYPE OF (surface_2d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_aggregated_variable; - element_face : surface_2d_face; - coordinate_system : OPTIONAL surface_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - surface_2d_element_boundary_constant_specified_surface_variable_value - SUBTYPE OF (surface_2d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_variable; - element_face : surface_2d_face; - coordinate_system : OPTIONAL surface_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_boundary_constant_specified_variable_value - SUBTYPE OF (surface_2d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_aggregated_variable; - element_face : surface_2d_face; - coordinate_system : OPTIONAL surface_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_boundary_nodal_specified_variable_values - SUBTYPE OF (surface_2d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : boundary_variable; - element_face : surface_2d_face; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - surface_2d_element_boundary_edge_location_point_surface_variable_values - SUBTYPE OF (surface_2d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - surface_2d_element_value_and_volume_location; - variable : boundary_edge_variable; - element_edge : surface_2d_edge; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - surface_2d_element_boundary_edge_location_point_variable_values - SUBTYPE OF (surface_2d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - surface_2d_element_value_and_location; - variable : boundary_edge_variable; - element_edge : surface_2d_edge; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_boundary_edge_whole_edge_variable_value - SUBTYPE OF (surface_2d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_aggregated_variable; - element_edge : surface_2d_edge; - coordinate_system : OPTIONAL surface_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY - surface_2d_element_boundary_edge_constant_specified_surface_variable_value - SUBTYPE OF (surface_2d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_edge_variable; - element_edge : surface_2d_edge; - coordinate_system : OPTIONAL surface_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_boundary_edge_constant_specified_variable_value - SUBTYPE OF (surface_2d_element_field_variable_definition); - simple_value : field_value; - variable : boundary_edge_variable; - element_edge : surface_2d_edge; - coordinate_system : OPTIONAL surface_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_element_boundary_edge_nodal_specified_variable_values - SUBTYPE OF (surface_2d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : boundary_edge_variable; - element_edge : surface_2d_edge; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_element_field_variable_definition - SUPERTYPE OF (ONEOF ( - CURVE_3D_ELEMENT_LOCATION_POINT_VOLUME_VARIABLE_VALUES, - CURVE_3D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES, - CURVE_3D_WHOLE_ELEMENT_VARIABLE_VALUE, - CURVE_3D_ELEMENT_CONSTANT_SPECIFIED_VARIABLE_VALUE, - CURVE_3D_ELEMENT_CONSTANT_SPECIFIED_VOLUME_VARIABLE_VALUE, - CURVE_3D_ELEMENT_NODAL_SPECIFIED_VARIABLE_VALUES)) - SUBTYPE OF (field_variable_element_definition); - element : curve_3d_element_output_reference; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_element_location_point_volume_variable_values - SUBTYPE OF (curve_3d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - curve_3d_element_value_and_volume_location; - variable : volume_variable; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_element_value_and_location; - simple_value : field_value; - location : curve_element_location; - coordinate_system : OPTIONAL curve_3d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_element_value_and_volume_location; - simple_value : field_value; - location : curve_volume_element_location; - coordinate_system : OPTIONAL curve_3d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_element_location_point_variable_values - SUBTYPE OF (curve_3d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - curve_3d_element_value_and_location; - variable : curve_element_variable; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_whole_element_variable_value - SUBTYPE OF (curve_3d_element_field_variable_definition); - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL curve_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_element_constant_specified_variable_value - SUBTYPE OF (curve_3d_element_field_variable_definition); - simple_value : field_value; - variable : curve_element_variable; - coordinate_system : OPTIONAL curve_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_element_constant_specified_volume_variable_value - SUBTYPE OF (curve_3d_element_field_variable_definition); - simple_value : field_value; - variable : volume_variable; - coordinate_system : OPTIONAL curve_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_element_nodal_specified_variable_values - SUBTYPE OF (curve_3d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : curve_element_variable; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_element_field_variable_definition - SUPERTYPE OF (ONEOF ( - CURVE_2D_ELEMENT_LOCATION_POINT_VOLUME_VARIABLE_VALUES, - CURVE_2D_ELEMENT_LOCATION_POINT_VARIABLE_VALUES, - CURVE_2D_WHOLE_ELEMENT_VARIABLE_VALUE, - CURVE_2D_ELEMENT_CONSTANT_SPECIFIED_VARIABLE_VALUE, - CURVE_2D_ELEMENT_CONSTANT_SPECIFIED_VOLUME_VARIABLE_VALUE)) - SUBTYPE OF (field_variable_element_definition); - element : curve_2d_element_output_reference; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_element_location_point_volume_variable_values - SUBTYPE OF (curve_2d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - curve_2d_element_value_and_volume_location; - variable : curve_element_variable; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_element_value_and_location; - simple_value : field_value; - location : curve_section_element_location; - coordinate_system : OPTIONAL curve_2d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_element_value_and_volume_location; - simple_value : field_value; - location : curve_volume_element_location; - coordinate_system : OPTIONAL curve_2d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_element_location_point_variable_values - SUBTYPE OF (curve_2d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - curve_2d_element_value_and_location; - variable : curve_element_variable; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_whole_element_variable_value - SUBTYPE OF (curve_2d_element_field_variable_definition); - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL curve_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_element_constant_specified_variable_value - SUBTYPE OF (curve_2d_element_field_variable_definition); - simple_value : field_value; - variable : surface_element_variable; - coordinate_system : OPTIONAL curve_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_element_constant_specified_volume_variable_value - SUBTYPE OF (curve_2d_element_field_variable_definition); - simple_value : field_value; - variable : volume_variable; - coordinate_system : OPTIONAL curve_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY field_variable_element_group_value - SUBTYPE OF (field_variable_definition); - group : element_group; - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL fea_axis2_placement_3d; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY field_variable_whole_model_value - SUBTYPE OF (field_variable_definition); - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL fea_axis2_placement_3d; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY field_variable_node_definition - SUPERTYPE OF (ONEOF ( - VOLUME_3D_NODE_FIELD_VARIABLE_DEFINITION, - VOLUME_2D_NODE_FIELD_VARIABLE_DEFINITION, - SURFACE_3D_NODE_FIELD_VARIABLE_DEFINITION, - SURFACE_2D_NODE_FIELD_VARIABLE_DEFINITION, - CURVE_3D_NODE_FIELD_VARIABLE_DEFINITION, - CURVE_2D_NODE_FIELD_VARIABLE_DEFINITION)) - SUBTYPE OF (field_variable_definition); - node : node_output_reference; - group : OPTIONAL element_group; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_node_field_variable_definition - SUBTYPE OF (field_variable_node_definition); - simple_value : field_value; - variable : volume_variable; - coordinate_system : OPTIONAL volume_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_node_field_variable_definition - SUBTYPE OF (field_variable_node_definition); - simple_value : field_value; - variable : volume_variable; - coordinate_system : OPTIONAL volume_2d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_node_field_variable_definition - SUPERTYPE OF (ONEOF ( - SURFACE_3D_NODE_FIELD_SECTION_VARIABLE_VALUES, - SURFACE_3D_NODE_FIELD_AGGREGATED_VARIABLE_VALUES)) - SUBTYPE OF (field_variable_node_definition); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_node_field_section_variable_values - SUBTYPE OF (surface_3d_node_field_variable_definition); - simple_value : field_value; - variable : surface_element_variable; - location : surface_section_element_location; - coordinate_system : OPTIONAL surface_3d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_node_field_aggregated_variable_values - SUBTYPE OF (surface_3d_node_field_variable_definition); - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL surface_3d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_node_field_variable_definition - SUPERTYPE OF (ONEOF ( - SURFACE_2D_NODE_FIELD_SECTION_VARIABLE_VALUES, - SURFACE_2D_NODE_FIELD_AGGREGATED_VARIABLE_VALUES)) - SUBTYPE OF (field_variable_node_definition); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_node_field_section_variable_values - SUBTYPE OF (surface_2d_node_field_variable_definition); - simple_value : field_value; - variable : surface_element_variable; - location : surface_section_element_location; - coordinate_system : OPTIONAL surface_2d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_node_field_aggregated_variable_values - SUBTYPE OF (surface_2d_node_field_variable_definition); - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL surface_2d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_node_field_variable_definition - SUPERTYPE OF (ONEOF ( - CURVE_3D_NODE_FIELD_SECTION_VARIABLE_VALUES, - CURVE_3D_NODE_FIELD_AGGREGATED_VARIABLE_VALUES)) - SUBTYPE OF (field_variable_node_definition); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_node_field_section_variable_values - SUBTYPE OF (curve_3d_node_field_variable_definition); - simple_value : field_value; - variable : curve_element_variable; - location : curve_section_element_location; - coordinate_system : OPTIONAL curve_3d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_node_field_aggregated_variable_values - SUBTYPE OF (curve_3d_node_field_variable_definition); - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL curve_3d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_node_field_variable_definition - SUPERTYPE OF (ONEOF ( - CURVE_2D_NODE_FIELD_SECTION_VARIABLE_VALUES, - CURVE_2D_NODE_FIELD_AGGREGATED_VARIABLE_VALUES)) - SUBTYPE OF (field_variable_node_definition); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_node_field_section_variable_values - SUBTYPE OF (curve_2d_node_field_variable_definition); - simple_value : field_value; - variable : curve_element_variable; - location : curve_section_element_location; - coordinate_system : OPTIONAL curve_2d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_node_field_aggregated_variable_values - SUBTYPE OF (curve_2d_node_field_variable_definition); - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL curve_2d_state_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY nodal_freedom_and_value_definition - SUPERTYPE OF (ONEOF ( - NODAL_FREEDOM_VALUES, - NODAL_FREEDOM_ACTION_DEFINITION)) - SUBTYPE OF (state_definition); - node : node_output_reference; - coordinate_system : fea_axis2_placement_3d; - degrees_of_freedom : freedoms_list; - values : LIST [1:?] OF measure_or_unspecified_value; -WHERE - WR1: SIZEOF(degrees_of_freedom.freedoms) = SIZEOF (values); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY nodal_freedom_values - SUBTYPE OF (nodal_freedom_and_value_definition); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY nodal_freedom_action_definition - SUBTYPE OF (nodal_freedom_and_value_definition); - action : action_type; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY element_nodal_freedom_actions - SUBTYPE OF (state_definition); - element : model_or_control_element; - nodal_action : LIST [1:?] OF - element_nodal_freedom_terms; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY element_nodal_freedom_terms; - coordinate_system : fea_axis2_placement_3d; - degrees_of_freedom : freedoms_list; - values : LIST [1:?] OF measure_or_unspecified_value; -WHERE - WR1: SIZEOF(degrees_of_freedom.freedoms) = SIZEOF (values); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY point_freedom_and_value_definition - SUPERTYPE OF (ONEOF ( - POINT_FREEDOM_VALUES, - POINT_FREEDOM_ACTION_DEFINITION)) - SUBTYPE OF (state_definition); - required_point : analysis_item_within_representation; - coordinate_system : fea_axis2_placement_3d; - degrees_of_freedom : freedoms_list; - values : LIST [1:?] OF measure_or_unspecified_value; -WHERE - WR1: SIZEOF(degrees_of_freedom.freedoms) = SIZEOF (values); - WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN TYPEOF (required_point.item)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (required_point.item)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY point_freedom_values - SUBTYPE OF (point_freedom_and_value_definition); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY point_freedom_action_definition - SUBTYPE OF (point_freedom_and_value_definition); - action : action_type; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_freedom_and_value_definition - SUPERTYPE OF (ONEOF ( - CURVE_FREEDOM_VALUES, - CURVE_FREEDOM_ACTION_DEFINITION)) - SUBTYPE OF (state_definition); - required_curve : analysis_item_within_representation; - coordinate_system : fea_axis2_placement_3d; - degrees_of_freedom : freedoms_list; - values : LIST [1:?] OF measure_or_unspecified_value; -WHERE - WR1: SIZEOF(degrees_of_freedom.freedoms) = SIZEOF (values); - WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF (required_curve.item)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (required_curve.item)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_freedom_values - SUBTYPE OF (curve_freedom_and_value_definition); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_freedom_action_definition - SUBTYPE OF (curve_freedom_and_value_definition); - action : action_type; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_freedom_and_value_definition - SUPERTYPE OF (ONEOF ( - SURFACE_FREEDOM_VALUES, - SURFACE_FREEDOM_ACTION_DEFINITION)) - SUBTYPE OF (state_definition); - required_surface : analysis_item_within_representation; - coordinate_system : fea_axis2_placement_3d; - degrees_of_freedom : freedoms_list; - values : LIST [1:?] OF measure_or_unspecified_value; -WHERE - WR1: SIZEOF(degrees_of_freedom.freedoms) = SIZEOF (values); - WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF (required_surface.item)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF (required_surface.item)); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_freedom_values - SUBTYPE OF (surface_freedom_and_value_definition); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_freedom_action_definition - SUBTYPE OF (surface_freedom_and_value_definition); - action : action_type; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY solid_freedom_and_value_definition - SUPERTYPE OF (ONEOF ( - SOLID_FREEDOM_VALUES, - SOLID_FREEDOM_ACTION_DEFINITION)) - SUBTYPE OF (state_definition); - required_solid : analysis_item_within_representation; - coordinate_system : fea_axis2_placement_3d; - degrees_of_freedom : freedoms_list; - values : LIST [1:?] OF measure_or_unspecified_value; -WHERE - WR1: SIZEOF(degrees_of_freedom.freedoms) = SIZEOF (values); - WR2: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_MODEL' IN TYPEOF (required_solid.item); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY solid_freedom_values - SUBTYPE OF (solid_freedom_and_value_definition); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY solid_freedom_action_definition - SUBTYPE OF (solid_freedom_and_value_definition); - action : action_type; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY freedoms_list; - freedoms : LIST [1:?] OF degree_of_freedom; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY linear_constraint_equation_element_value - SUBTYPE OF (state_definition); - element : linear_constraint_equation_element; - b : measure_or_unspecified_value; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY single_point_constraint_element_values - SUBTYPE OF (state_definition); - element : single_point_constraint_element; - degrees_of_freedom : freedoms_list; - b : LIST [1:?] OF measure_or_unspecified_value; -WHERE - WR1: SIZEOF(degrees_of_freedom.freedoms) = SIZEOF (b); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY analysis_message - SUPERTYPE OF (ONEOF ( - WHOLE_MODEL_ANALYSIS_MESSAGE, - ELEMENT_ANALYSIS_MESSAGE, - NODE_ANALYSIS_MESSAGE, - ELEMENT_GROUP_ANALYSIS_MESSAGE)) - SUBTYPE OF (state_definition); - level : message_level; - message_text : text; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY whole_model_analysis_message - SUPERTYPE OF ( - WHOLE_MODEL_MODES_AND_FREQUENCIES_ANALYSIS_MESSAGE) - SUBTYPE OF (analysis_message); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY whole_model_modes_and_frequencies_analysis_message - SUBTYPE OF (whole_model_analysis_message); - mode : count_measure; - frequency : context_dependent_measure; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY element_analysis_message - SUBTYPE OF (analysis_message); - element : element_representation; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY node_analysis_message - SUBTYPE OF (analysis_message); - node : node_output_reference; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY element_group_analysis_message - SUBTYPE OF (analysis_message); - group : element_group; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_substructure_element_reference; - substructure_element_ref : substructure_element_representation; - element_ref : volume_3d_element_representation; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_2d_substructure_element_reference; - substructure_element_ref : substructure_element_representation; - element_ref : volume_2d_element_representation; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_3d_substructure_element_reference; - substructure_element_ref : substructure_element_representation; - element_ref : surface_3d_element_representation; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY surface_2d_substructure_element_reference; - substructure_element_ref : substructure_element_representation; - element_ref : surface_2d_element_representation; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_3d_substructure_element_reference; - substructure_element_ref : substructure_element_representation; - element_ref : curve_3d_element_representation; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY curve_2d_substructure_element_reference; - substructure_element_ref : substructure_element_representation; - element_ref : curve_2d_element_representation; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY substructure_node_reference; - substructure_element_ref : substructure_element_representation; - node_ref : node_representation; -END_ENTITY; -(* USED FROM (mesh_function_schema); *) -ENTITY mesh_function - SUBTYPE OF (application_defined_function, - unary_generic_expression); - mesh : mesh; - basis : LIST OF mesh_function_basis; - uniform : BOOLEAN; - vertex_values : BOOLEAN; -DERIVE - control_values : maths_function := SELF\unary_generic_expression.operand; -WHERE - wr1 : function_is_table(control_values); - wr2 : (uniform AND (SIZEOF(basis) = 1)) XOR - (NOT uniform); -END_ENTITY; -(* USED FROM (mesh_function_schema); *) -ENTITY mesh_function_basis - SUBTYPE OF (application_defined_function, - unary_generic_expression); - cell_topological_dimension : INTEGER; - value_array_dimension : INTEGER; - value_array_order : ARRAY [1:value_array_dimension] OF INTEGER; -DERIVE - value_positions : maths_function := SELF\unary_generic_expression.operand; -WHERE - value_positions_as_table : function_is_table(value_positions); -END_ENTITY; -(* USED FROM (Group_mim); *) -ENTITY applied_group_assignment - SUBTYPE OF (group_assignment); - items : SET[1:?] OF groupable_item; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_product : product; - related_product : product; - END_ENTITY; -(* USED FROM (Effectivity_application_mim); *) -ENTITY applied_effectivity_assignment - SUBTYPE OF (effectivity_assignment); - items : SET[1:?] OF effectivity_item; -END_ENTITY; -(* USED FROM (Effectivity_application_mim); *) -ENTITY applied_ineffectivity_assignment - SUBTYPE OF (effectivity_assignment); - items : SET [1:?] OF effectivity_item; -WHERE - WR1: SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOT_EFFECTIVITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SERIAL_NUMBERED_EFFECTIVITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_EFFECTIVITY'] * - TYPEOF(SELF.assigned_effectivity) - ) = 0; -END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY dated_effectivity - SUBTYPE OF (effectivity); - effectivity_end_date : OPTIONAL date_time_or_event_occurrence; - effectivity_start_date : OPTIONAL date_time_or_event_occurrence; - WHERE - WR1: EXISTS(effectivity_end_date) OR EXISTS(effectivity_start_date); - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY effectivity - SUPERTYPE OF (ONEOF ( - SERIAL_NUMBERED_EFFECTIVITY, - DATED_EFFECTIVITY, - LOT_EFFECTIVITY, - TIME_INTERVAL_BASED_EFFECTIVITY)); - id : identifier; - DERIVE - name : label := get_name_value(SELF); - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY effectivity_relationship; - name : label; - description : OPTIONAL text; - related_effectivity : effectivity; - relating_effectivity : effectivity; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY lot_effectivity - SUBTYPE OF (effectivity); - effectivity_lot_id : identifier; - effectivity_lot_size : measure_with_unit; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY serial_numbered_effectivity - SUBTYPE OF (effectivity); - effectivity_start_id : identifier; - effectivity_end_id : OPTIONAL identifier; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY time_interval_based_effectivity - SUBTYPE OF (effectivity); - effectivity_period : time_interval; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY effectivity_assignment - ABSTRACT SUPERTYPE; - assigned_effectivity : effectivity; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY assembly_bond_definition - SUBTYPE OF (shape_aspect); -UNIQUE - UR1: SELF\shape_aspect.name; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_capacitance_unit - SUBTYPE OF (capacitance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.farad; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY component_mating_constraint_condition - SUBTYPE OF (shape_aspect); -UNIQUE - UR1: SELF\shape_aspect.name, SELF\shape_aspect.of_shape; -END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY connection_zone_based_assembly_joint - SUBTYPE OF (assembly_joint); -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_feature - SUBTYPE OF (shape_aspect); - SELF\shape_aspect.of_shape : assembly_component; -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_feature_joint - SUBTYPE OF (shape_aspect_relationship, shape_aspect); - SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; - SELF\shape_aspect_relationship.related_shape_aspect : component_feature; -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_feature_relationship - SUBTYPE OF (shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; - SELF\shape_aspect_relationship.related_shape_aspect : component_feature; -WHERE - WR1: SELF\shape_aspect_relationship.related_shape_aspect :<>: - SELF\shape_aspect_relationship.relating_shape_aspect; -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_terminal - SUBTYPE OF (component_feature); -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY make_from_feature_relationship - SUBTYPE OF (component_feature_relationship); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY assigned_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_assignment; - items : SET[1:1] OF product_definition; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY requirement_assigned_object - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_assignment; - items : SET[1:1] OF requirement_assigned_item; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY requirement_assignment - SUBTYPE OF (characterized_object, group); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY requirement_source - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY satisfied_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : satisfies_requirement; - items : SET[1:1] OF product_definition; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY satisfies_requirement - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY satisfying_item - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : satisfies_requirement; - items : SET[1:1] OF requirement_satisfaction_item; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY source_for_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_source; - items : SET[1:1] OF requirement_source_item; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY sourced_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_source; - items : SET[1:1] OF product_definition; -END_ENTITY; -(* USED FROM (Physical_component_feature_mim); *) - ENTITY physical_component_feature - SUBTYPE OF (component_feature); - END_ENTITY; -(* USED FROM (Physical_component_feature_mim); *) - ENTITY physical_component_terminal - SUBTYPE OF (component_terminal, - physical_component_feature); - END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY array_placement_group - SUPERTYPE OF (ONEOF ( - LINEAR_ARRAY_PLACEMENT_GROUP_COMPONENT, - RECTANGULAR_ARRAY_PLACEMENT_GROUP_COMPONENT)) - SUBTYPE OF (assembly_group_component); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY assembly_group_component - SUBTYPE OF (assembly_component); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY assembly_group_component_definition_placement_link - SUBTYPE OF (product_definition,product_definition_relationship); - SELF\product_definition_relationship.relating_product_definition : assembly_component; - SELF\product_definition_relationship.related_product_definition : assembly_component; -WHERE - WR1: SELF\product_definition_relationship.related_product_definition :<>: - SELF\product_definition_relationship.relating_product_definition; - WR2: acyclic_product_definition_relationship (SELF, - [SELF\product_definition_relationship.related_product_definition], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASSEMBLY_GROUP_COMPONENT_DEFINITION_PLACEMENT_LINK'); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY interfaced_group_component - SUBTYPE OF (assembly_group_component); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY linear_array_component_definition_link - SUBTYPE OF (product_definition,product_definition_relationship); - SELF\product_definition_relationship.relating_product_definition : linear_array_placement_group_component; - SELF\product_definition_relationship.related_product_definition : linear_array_placement_group_component; -WHERE - WR1: SELF\product_definition_relationship.related_product_definition :<>: - SELF\product_definition_relationship.relating_product_definition; - WR2: acyclic_product_definition_relationship (SELF, - [SELF\product_definition_relationship.related_product_definition], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_ARRAY_COMPONENT_DEFINITION_LINK'); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY linear_array_placement_group_component - SUBTYPE OF (array_placement_group); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY rectangular_array_placement_group_component - SUBTYPE OF (array_placement_group); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_potential_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_POTENTIAL_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY circle - SUBTYPE OF (conic); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY trimmed_curve - SUBTYPE OF (bounded_curve); - basis_curve : curve; - trim_1 : SET[1:2] OF trimming_select; - trim_2 : SET[1:2] OF trimming_select; - sense_agreement : BOOLEAN; - master_representation : trimming_preference; -WHERE - WR1: (HIINDEX(trim_1) = 1) OR (TYPEOF(trim_1[1]) <> TYPEOF(trim_1[2])); - WR2: (HIINDEX(trim_2) = 1) OR (TYPEOF(trim_2[1]) <> TYPEOF(trim_2[2])); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY line - SUBTYPE OF (curve); - pnt : cartesian_point; - dir : vector; -WHERE - WR1: dir.dim = pnt.dim; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY energy_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.joule); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY composite_curve_segment - SUBTYPE OF (founded_item); - transition : transition_code; - same_sense : BOOLEAN; - parent_curve : curve; -INVERSE - using_curves : BAG[1:?] OF composite_curve FOR segments; -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF(parent_curve)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY pcurve - SUBTYPE OF (curve); - basis_surface : surface; - reference_to_curve : definitional_representation; -WHERE - WR1: SIZEOF(reference_to_curve\representation.items) = 1; - WR2: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF (reference_to_curve\representation.items[1]); - WR3: reference_to_curve\representation.items[1]\ geometric_representation_item.dim =2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_curve - SUPERTYPE OF (ONEOF ( - INTERSECTION_CURVE, - SEAM_CURVE) - ANDOR - BOUNDED_SURFACE_CURVE) - SUBTYPE OF (curve); - curve_3d : curve; - associated_geometry : LIST[1:2] OF pcurve_or_surface; - master_representation : preferred_surface_curve_representation; -DERIVE - basis_surface : SET[1:2] OF surface := get_basis_surface(SELF); -WHERE - WR1: curve_3d.dim = 3; - WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[1])) OR (master_representation <> pcurve_s1); - WR3: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[2])) OR (master_representation <> pcurve_s2); - WR4: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(curve_3d)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_curve - SUPERTYPE OF (ONEOF ( - UNIFORM_CURVE, - B_SPLINE_CURVE_WITH_KNOTS, - QUASI_UNIFORM_CURVE, - BEZIER_CURVE) - ANDOR - RATIONAL_B_SPLINE_CURVE) - SUBTYPE OF (bounded_curve); - degree : INTEGER; - control_points_list : LIST[2:?] OF cartesian_point; - curve_form : b_spline_curve_form; - closed_curve : LOGICAL; - self_intersect : LOGICAL; -DERIVE - upper_index_on_control_points : INTEGER := (SIZEOF(control_points_list) - 1); - control_points : ARRAY[0:upper_index_on_control_points] OF cartesian_point := list_to_array(control_points_list,0, upper_index_on_control_points); -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNIFORM_CURVE' IN TYPEOF(self)) OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.QUASI_UNIFORM_CURVE' IN TYPEOF(self)) OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEZIER_CURVE' IN TYPEOF(self)) OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF(self)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_surface - SUPERTYPE OF (ONEOF ( - B_SPLINE_SURFACE_WITH_KNOTS, - UNIFORM_SURFACE, - QUASI_UNIFORM_SURFACE, - BEZIER_SURFACE) - ANDOR - RATIONAL_B_SPLINE_SURFACE) - SUBTYPE OF (bounded_surface); - u_degree : INTEGER; - v_degree : INTEGER; - control_points_list : LIST[2:?] OF LIST[2:?] OF cartesian_point; - surface_form : b_spline_surface_form; - u_closed : LOGICAL; - v_closed : LOGICAL; - self_intersect : LOGICAL; -DERIVE - u_upper : INTEGER := SIZEOF(control_points_list) - 1; - v_upper : INTEGER := SIZEOF(control_points_list[1]) - 1; - control_points : ARRAY[0:u_upper] OF ARRAY[0:v_upper] OF cartesian_point := make_array_of_array(control_points_list, 0,u_upper,0,v_upper); -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.QUASI_UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEZIER_SURFACE' IN TYPEOF(SELF)) OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bezier_curve - SUBTYPE OF (b_spline_curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bezier_surface - SUBTYPE OF (b_spline_surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY quasi_uniform_curve - SUBTYPE OF (b_spline_curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY quasi_uniform_surface - SUBTYPE OF (b_spline_surface); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_magnetic_flux_density_unit - SUBTYPE OF (magnetic_flux_density_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.tesla; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_energy_unit - SUBTYPE OF (energy_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.joule; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY uniform_curve - SUBTYPE OF (b_spline_curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY uniform_surface - SUBTYPE OF (b_spline_surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_curve - SUPERTYPE OF (ONEOF ( - POLYLINE, - B_SPLINE_CURVE, - TRIMMED_CURVE, - BOUNDED_PCURVE, - BOUNDED_SURFACE_CURVE, - COMPOSITE_CURVE)) - SUBTYPE OF (curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_surface - SUPERTYPE OF (ONEOF ( - B_SPLINE_SURFACE, - RECTANGULAR_TRIMMED_SURFACE, - CURVE_BOUNDED_SURFACE, - RECTANGULAR_COMPOSITE_SURFACE)) - SUBTYPE OF (surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY conic - SUPERTYPE OF (ONEOF ( - CIRCLE, - ELLIPSE, - HYPERBOLA, - PARABOLA)) - SUBTYPE OF (curve); - position : axis2_placement; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY conical_surface - SUBTYPE OF (elementary_surface); - radius : length_measure; - semi_angle : plane_angle_measure; -WHERE - WR1: radius >= 0.0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY curve - SUPERTYPE OF (ONEOF ( - LINE, - CONIC, - PCURVE, - SURFACE_CURVE, - OFFSET_CURVE_2D, - OFFSET_CURVE_3D, - CURVE_REPLICA)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY cylindrical_surface - SUBTYPE OF (elementary_surface); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY ellipse - SUBTYPE OF (conic); - semi_axis_1 : positive_length_measure; - semi_axis_2 : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY hyperbola - SUBTYPE OF (conic); - semi_axis : positive_length_measure; - semi_imag_axis : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY oriented_surface - SUBTYPE OF (surface); - orientation : BOOLEAN; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY parabola - SUBTYPE OF (conic); - focal_dist : length_measure; -WHERE - WR1: focal_dist <> 0.0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY plane - SUBTYPE OF (elementary_surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY point_on_curve - SUBTYPE OF (point); - basis_curve : curve; - point_parameter : parameter_value; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY point_on_surface - SUBTYPE OF (point); - basis_surface : surface; - point_parameter_u : parameter_value; - point_parameter_v : parameter_value; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface - SUPERTYPE OF (ONEOF ( - ELEMENTARY_SURFACE, - SWEPT_SURFACE, - BOUNDED_SURFACE, - OFFSET_SURFACE, - SURFACE_REPLICA)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_of_linear_extrusion - SUBTYPE OF (swept_surface); - extrusion_axis : vector; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_of_revolution - SUBTYPE OF (swept_surface); - axis_position : axis1_placement; -DERIVE - axis_line : line := representation_item('')|| geometric_representation_item()|| curve()|| line(axis_position.location, representation_item('')|| geometric_representation_item()|| vector(axis_position.z, 1.0)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY swept_surface - SUPERTYPE OF (ONEOF ( - SURFACE_OF_LINEAR_EXTRUSION, - SURFACE_OF_REVOLUTION)) - SUBTYPE OF (surface); - swept_curve : curve; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY toroidal_surface - SUBTYPE OF (elementary_surface); - major_radius : positive_length_measure; - minor_radius : positive_length_measure; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY illuminance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.lux); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rectangular_trimmed_surface - SUBTYPE OF (bounded_surface); - basis_surface : surface; - u1 : parameter_value; - u2 : parameter_value; - v1 : parameter_value; - v2 : parameter_value; - usense : BOOLEAN; - vsense : BOOLEAN; -WHERE - WR1: u1 <> u2; - WR2: v1 <> v2; - WR3: (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(basis_surface)) AND (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(basis_surface)))) OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF(basis_surface)) OR (usense = (u2 > u1)); - WR4: (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPHERICAL_SURFACE' IN TYPEOF(basis_surface)) OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TOROIDAL_SURFACE' IN TYPEOF(basis_surface))) OR (vsense = (v2 > v1)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_patch - SUBTYPE OF (founded_item); - parent_surface : bounded_surface; - u_transition : transition_code; - v_transition : transition_code; - u_sense : BOOLEAN; - v_sense : BOOLEAN; -INVERSE - using_surfaces : BAG[1:?] OF rectangular_composite_surface FOR segments; -WHERE - WR1: (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF(parent_surface))); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_illuminance_unit - SUBTYPE OF (illuminance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.lux; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_frequency_unit - SUBTYPE OF (frequency_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.hertz; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY fully_constrained_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY unconstrained_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criterion_measurement_association - SUBTYPE OF(representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : data_quality_criterion; - SELF\representation_item_relationship.related_representation_item : data_quality_measurement_requirement; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_assessment_specification; - description : text; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criterion_assessment_association; - criterion : data_quality_criterion; - assessment_specification : data_quality_assessment_specification; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_assessment_measurement_association; - assessment_specification : data_quality_criterion_assessment_association; - measurement_requirement : data_quality_criterion_measurement_association; - WHERE - WR1 : SELF.measurement_requirement\representation_item_relationship. - relating_representation_item :=: - SELF.assessment_specification.criterion; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_report_request - ABSTRACT SUPERTYPE OF (ONEOF ( - SUMMARY_REPORT_REQUEST, - DETAILED_REPORT_REQUEST)); - description : text; - criterion_of_report_request : data_quality_criterion; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY summary_report_request - SUBTYPE OF(data_quality_report_request); - summary_report_request_type : summary_report_type; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY detailed_report_request - SUBTYPE OF(data_quality_report_request); - detailed_report_request_type : detailed_report_type; - report_sequence : preferred_ordering; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY detailed_report_request_with_number_of_data - SUBTYPE OF(detailed_report_request); - number_of_data : INTEGER; - DERIVE - SELF\detailed_report_request.detailed_report_request_type:detailed_report_type:= measured_element; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY data_quality_definition; - description : text; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY data_quality_definition_representation_relationship; - description : text; - definition : data_quality_definition; - used_representation : used_quality_representation_select; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY product_data_and_data_quality_relationship; - description : text; - product_data : product_definition; - data_quality : data_quality_definition; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY data_quality_definition_relationship; - description : text; - relating_data_quality_definition : data_quality_definition; - related_data_quality_definition : data_quality_definition; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY software_for_data_quality_check; - description : text; - software_name : text; - software_version : text; - data_quality : data_quality_definition_representation_relationship; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY length_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY length_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 1.0) AND - (SELF\named_unit.dimensions.mass_exponent = 0.0) AND - (SELF\named_unit.dimensions.time_exponent = 0.0) AND - (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND - (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND - (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND - (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_result_with_judgement - SUBTYPE OF(data_quality_inspection_result); - judgement : BOOLEAN; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_flux_unit - SUBTYPE OF(named_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.lumen); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY homokinetic_pair - SUBTYPE OF (universal_pair); -WHERE - WR1: NOT EXISTS(SELF.input_skew_angle); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY universal_pair_with_range - SUBTYPE OF (universal_pair); - lower_limit_first_rotation : OPTIONAL plane_angle_measure; - upper_limit_first_rotation : OPTIONAL plane_angle_measure; - lower_limit_second_rotation : OPTIONAL plane_angle_measure; - upper_limit_second_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_first_rotation) - OR - NOT EXISTS(upper_limit_first_rotation)) - XOR - (lower_limit_first_rotation < upper_limit_first_rotation); - WR2: (NOT EXISTS(lower_limit_second_rotation) - OR - NOT EXISTS(upper_limit_second_rotation)) - XOR - (lower_limit_second_rotation < upper_limit_second_rotation); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair_with_pin_and_range - SUBTYPE OF (spherical_pair_with_pin); - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR2: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); -END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_report_measurement_association - SUBTYPE OF(representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : data_quality_measurement_requirement; - SELF\representation_item_relationship.related_representation_item : data_quality_inspection_report; - END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY expanded_uncertainty - SUBTYPE OF (standard_uncertainty); - coverage_factor : REAL; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair_with_pin - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair_with_range - SUBTYPE OF (spherical_pair); - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_pitch : OPTIONAL plane_angle_measure; - upper_limit_pitch : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR2: (NOT EXISTS(lower_limit_pitch) - OR - NOT EXISTS(upper_limit_pitch)) - XOR - (lower_limit_pitch < upper_limit_pitch); - WR3: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY qualitative_uncertainty - SUBTYPE OF (uncertainty_qualifier); - uncertainty_value : text; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY precision_qualifier; - precision_value : INTEGER; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY standard_uncertainty - SUPERTYPE OF ( - EXPANDED_UNCERTAINTY) - SUBTYPE OF (uncertainty_qualifier); - uncertainty_value : REAL; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY type_qualifier; - name : label; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY uncertainty_qualifier - SUPERTYPE OF (ONEOF ( - STANDARD_UNCERTAINTY, - QUALITATIVE_UNCERTAINTY)); - measure_name : label; - description : text; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY value_format_type_qualifier; - format_type : value_format_type; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_intensity_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 1.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.weber); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_assessment_by_numerical_test - SUBTYPE OF(data_quality_assessment_specification); - threshold : shape_data_quality_value_limit_type_select; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAGNETIC_FLUX_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_value_limit - ABSTRACT SUPERTYPE OF (ONEOF ( - SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT, - SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT)) - SUBTYPE OF(measure_representation_item, qualified_representation_item); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_upper_value_limit - SUBTYPE OF(shape_data_quality_value_limit); - WHERE - WR1 : SELF\qualified_representation_item.qualifiers[1].name = 'maximum'; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_lower_value_limit - SUBTYPE OF(shape_data_quality_value_limit); - WHERE - WR1 : SELF\qualified_representation_item.qualifiers[1].name = 'minimum'; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_summary_request_with_representative_value - SUBTYPE OF(summary_report_request); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_assessment_by_logical_test - SUBTYPE OF(data_quality_assessment_specification); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_data - ABSTRACT SUPERTYPE OF (ONEOF ( - ERRONEOUS_TOPOLOGY, - ERRONEOUS_GEOMETRY, - ERRONEOUS_TOPOLOGY_AND_GEOMETRY_RELATIONSHIP, - ERRONEOUS_MANIFOLD_SOLID_BREP)) - SUBTYPE OF(shape_data_quality_criterion); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_topology - ABSTRACT SUPERTYPE OF (ONEOF ( - OPEN_EDGE_LOOP, - OPEN_CLOSED_SHELL, - INCONSISTENT_ADJACENT_FACE_NORMALS, - DISCONNECTED_FACE_SET)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY mass_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 1.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY open_closed_shell - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_adjacent_face_normals - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CLOSED_OR_OPEN_SHELL_SELECT']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY disconnected_face_set - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - INCONSISTENT_CURVE_TRANSITION_CODE, - ERRONEOUS_B_SPLINE_CURVE_DEFINITION, - INCONSISTENT_SURFACE_TRANSITION_CODE, - ERRONEOUS_B_SPLINE_SURFACE_DEFINITION)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_curve_transition_code - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - angle_tolerance : plane_angle_measure; - curvature_ratio_tolerance : ratio_measure; - distance_tolerance : length_measure; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'COMPOSITE_CURVE_TRANSITION_LOCATOR']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_b_spline_curve_definition - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_surface_transition_code - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - angle_tolerance : plane_angle_measure; - curvature_ratio_tolerance : ratio_measure; - distance_tolerance : length_measure; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_COMPOSITE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'RECTANGULAR_COMPOSITE_SURFACE_TRANSITION_LOCATOR']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_b_spline_surface_definition - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_topology_and_geometry_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - INCONSISTENT_EDGE_AND_CURVE_DIRECTIONS, - INCONSISTENT_FACE_AND_SURFACE_NORMALS, - INCONSISTENT_FACE_AND_CLOSED_SHELL_NORMALS, - INTERSECTING_LOOPS_IN_FACE, - WRONGLY_PLACED_LOOP)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_edge_and_curve_directions - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - distance_tolerance : length_measure; -- ISO 10303-59 error! - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE') - ; - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE']) - ; - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_face_and_surface_normals - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_face_and_closed_shell_normals - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY intersecting_loops_in_face - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY wrongly_placed_loop - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BOUND']); - WR4 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_manifold_solid_brep - ABSTRACT SUPERTYPE OF (ONEOF ( - WRONGLY_ORIENTED_VOID, - WRONGLY_PLACED_VOID, - INTERSECTING_SHELLS_IN_SOLID, - SOLID_WITH_WRONG_NUMBER_OF_VOIDS)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY wrongly_oriented_void - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY wrongly_placed_void - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY intersecting_shells_in_solid - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY solid_with_wrong_number_of_voids - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_data - ABSTRACT SUPERTYPE OF (ONEOF ( - INAPT_TOPOLOGY, - INAPT_GEOMETRY, - INAPT_TOPOLOGY_AND_GEOMETRY_RELATIONSHIP, - INAPT_MANIFOLD_SOLID_BREP)) - SUBTYPE OF(shape_data_quality_criterion); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_topology - ABSTRACT SUPERTYPE OF (ONEOF ( - FREE_EDGE, - NON_MANIFOLD_AT_EDGE, - NON_MANIFOLD_AT_VERTEX, - OVER_USED_VERTEX)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY ratio_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY non_manifold_at_edge - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY non_manifold_at_vertex - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY over_used_vertex - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - NEARLY_DEGENERATE_GEOMETRY, - DISCONTINUOUS_GEOMETRY, - SELF_INTERSECTING_GEOMETRY, - GEOMETRY_WITH_LOCAL_NEAR_DEGENERACY, - OVERLAPPING_GEOMETRY, - MULTIPLY_DEFINED_GEOMETRY, - GEOMETRY_WITH_LOCAL_IRREGULARITY, - OVERCOMPLEX_GEOMETRY)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY nearly_degenerate_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SMALL_AREA_SURFACE, - SHORT_LENGTH_CURVE, - ENTIRELY_NARROW_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_area_surface - SUBTYPE OF(nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY short_length_curve - SUBTYPE OF(nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY entirely_narrow_surface - SUBTYPE OF(nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY discontinuous_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - G1_DISCONTINUOUS_CURVE, - G2_DISCONTINUOUS_CURVE, - G1_DISCONTINUOUS_SURFACE, - G2_DISCONTINUOUS_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g1_discontinuous_curve - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_CURVE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g2_discontinuous_curve - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) ; - WR3 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'PLANE_ANGLE_AND_RATIO_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR5 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_CURVE_KNOT_LOCATOR']); - WR6 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g1_discontinuous_surface - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) ; - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g2_discontinuous_surface - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)); - WR3 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'PLANE_ANGLE_AND_RATIO_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR5 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR6 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE']) - ; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SELF_INTERSECTING_CURVE, - SELF_INTERSECTING_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_curve - SUBTYPE OF(self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - arc_length_separation_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE']); - WR4 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_surface - SUBTYPE OF(self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - geodesic_separation_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE']); - WR4 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY geometry_with_local_near_degeneracy - ABSTRACT SUPERTYPE OF (ONEOF ( - CURVE_WITH_SMALL_CURVATURE_RADIUS, - SHORT_LENGTH_CURVE_SEGMENT, - SURFACE_WITH_SMALL_CURVATURE_RADIUS, - SMALL_AREA_SURFACE_PATCH, - NARROW_SURFACE_PATCH, - INDISTINCT_SURFACE_KNOTS, - INDISTINCT_CURVE_KNOTS, - NEARLY_DEGENERATE_SURFACE_BOUNDARY, - NEARLY_DEGENERATE_SURFACE_PATCH)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY curve_with_small_curvature_radius - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY short_length_curve_segment - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_CURVE_SEGMENT']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY surface_with_small_curvature_radius - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_area_surface_patch - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_PATCH']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY narrow_surface_patch - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_PATCH']); - WR4 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY indistinct_surface_knots - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETER_VALUE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETER_VALUE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY indistinct_curve_knots - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETER_VALUE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETER_VALUE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_CURVE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY nearly_degenerate_surface_boundary - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_VALUE_RANGE' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'BOUNDARY_CURVE_OF_B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY nearly_degenerate_surface_patch - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_VALUE_RANGE' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_PATCH']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY overlapping_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - PARTLY_OVERLAPPING_CURVES, - PARTLY_OVERLAPPING_SURFACES)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_curves - SUBTYPE OF(overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_surfaces - SUBTYPE OF(overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - MULTIPLY_DEFINED_CURVES, - MULTIPLY_DEFINED_SURFACES, - MULTIPLY_DEFINED_CARTESIAN_POINTS, - MULTIPLY_DEFINED_DIRECTIONS, - MULTIPLY_DEFINED_PLACEMENTS)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_curves - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_surfaces - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_cartesian_points - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_directions - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (Shape_composition_mim); *) -ENTITY composite_unit_shape_aspect - SUBTYPE OF (composite_shape_aspect); -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY geometry_with_local_irregularity - ABSTRACT SUPERTYPE OF (ONEOF ( - EXTREME_PATCH_WIDTH_VARIATION, - ZERO_SURFACE_NORMAL, - ABRUPT_CHANGE_OF_SURFACE_NORMAL)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY extreme_patch_width_variation - SUBTYPE OF(geometry_with_local_irregularity); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY zero_surface_normal - SUBTYPE OF(geometry_with_local_irregularity); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY abrupt_change_of_surface_normal - SUBTYPE OF(geometry_with_local_irregularity); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - small_vector_tolerance : length_measure; - test_point_distance_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY overcomplex_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - EXCESSIVELY_HIGH_DEGREE_CURVE, - EXCESSIVELY_HIGH_DEGREE_SURFACE, - SURFACE_WITH_EXCESSIVE_PATCHES_IN_ONE_DIRECTION, - CURVE_WITH_EXCESSIVE_SEGMENTS, - HIGH_DEGREE_LINEAR_CURVE, - HIGH_DEGREE_PLANAR_SURFACE, - HIGH_DEGREE_CONIC, - HIGH_DEGREE_AXI_SYMMETRIC_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY excessively_high_degree_curve - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY excessively_high_degree_surface - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY surface_with_excessive_patches_in_one_direction - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY curve_with_excessive_segments - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'B_SPLINE_OR_COMPOSITE_CURVE_SELECT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_linear_curve - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_planar_surface - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_conic - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_axi_symmetric_surface - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_topology_and_geometry_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - TOPOLOGY_RELATED_TO_NEARLY_DEGENERATE_GEOMETRY, - GEOMETRIC_GAP_IN_TOPOLOGY, - NON_SMOOTH_GEOMETRY_TRANSITION_ACROSS_EDGE, - TOPOLOGY_RELATED_TO_SELF_INTERSECTING_GEOMETRY, - STEEP_GEOMETRY_TRANSITION_ACROSS_EDGE, - TOPOLOGY_RELATED_TO_OVERLAPPING_GEOMETRY, - TOPOLOGY_RELATED_TO_MULTIPLY_DEFINED_GEOMETRY, - OVERCOMPLEX_TOPOLOGY_AND_GEOMETRY_RELATIONSHIP)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_nearly_degenerate_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SHORT_LENGTH_EDGE, - SMALL_AREA_FACE, - ENTIRELY_NARROW_FACE)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY short_length_edge - SUBTYPE OF(topology_related_to_nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_area_face - SUBTYPE OF(topology_related_to_nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_approval - SUBTYPE OF (approval_assignment); - items : SET[1:?] OF approved_item; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY geometric_gap_in_topology - ABSTRACT SUPERTYPE OF (ONEOF ( - GAP_BETWEEN_ADJACENT_EDGES_IN_LOOP, - GAP_BETWEEN_VERTEX_AND_BASE_SURFACE, - GAP_BETWEEN_VERTEX_AND_EDGE, - GAP_BETWEEN_EDGE_AND_BASE_SURFACE, - GAP_BETWEEN_PCURVES_RELATED_TO_AN_EDGE, - GAP_BETWEEN_FACES_RELATED_TO_AN_EDGE)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference_modifier_with_value; - modifier_type : datum_reference_modifier_type; - modifier_value : length_measure_with_unit; -WHERE - WR1: (modifier_value\measure_with_unit.value_component > 0.0); -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_vertex_and_base_surface - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_vertex_and_edge - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_edge_and_base_surface - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_pcurves_related_to_an_edge - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_faces_related_to_an_edge - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY non_smooth_geometry_transition_across_edge - ABSTRACT SUPERTYPE OF (ONEOF ( - G1_DISCONTINUITY_BETWEEN_ADJACENT_FACES, - G2_DISCONTINUITY_BETWEEN_ADJACENT_FACES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g1_discontinuity_between_adjacent_faces - SUBTYPE OF(non_smooth_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g2_discontinuity_between_adjacent_faces - SUBTYPE OF(non_smooth_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)); - WR3 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'PLANE_ANGLE_AND_RATIO_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR5 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR6 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_self_intersecting_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SELF_INTERSECTING_LOOP, - SELF_INTERSECTING_SHELL, - INTERSECTING_CONNECTED_FACE_SETS)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_loop - SUBTYPE OF(topology_related_to_self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - arc_length_distance_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_shell - SUBTYPE OF(topology_related_to_self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - geodesic_separation_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR4 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY intersecting_connected_face_sets - SUBTYPE OF(topology_related_to_self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR4 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY steep_geometry_transition_across_edge - ABSTRACT SUPERTYPE OF (ONEOF ( - STEEP_ANGLE_BETWEEN_ADJACENT_EDGES, - STEEP_ANGLE_BETWEEN_ADJACENT_FACES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY steep_angle_between_adjacent_edges - SUBTYPE OF(steep_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY steep_angle_between_adjacent_faces - SUBTYPE OF(steep_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_overlapping_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - PARTLY_OVERLAPPING_FACES, - PARTLY_OVERLAPPING_EDGES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_faces - SUBTYPE OF(topology_related_to_overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY symmetric_shape_aspect - SUBTYPE OF (shape_aspect); -INVERSE - basis_relationships : SET[1:?] OF shape_aspect_deriving_relationship FOR related_shape_aspect; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_multiply_defined_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - MULTIPLY_DEFINED_FACES, - MULTIPLY_DEFINED_VERTICES, - MULTIPLY_DEFINED_EDGES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_faces - SUBTYPE OF(topology_related_to_multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_vertices - SUBTYPE OF(topology_related_to_multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_edges - SUBTYPE OF(topology_related_to_multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance - ABSTRACT SUPERTYPE OF ( - GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE - ANDOR - GEOMETRIC_TOLERANCE_WITH_DEFINED_UNIT - ANDOR ONEOF ( - GEOMETRIC_TOLERANCE_WITH_MODIFIERS, - MODIFIED_GEOMETRIC_TOLERANCE) - ANDOR - UNEQUALLY_DISPOSED_GEOMETRIC_TOLERANCE - ANDOR ONEOF ( - CYLINDRICITY_TOLERANCE, - FLATNESS_TOLERANCE, - LINE_PROFILE_TOLERANCE, - POSITION_TOLERANCE, - ROUNDNESS_TOLERANCE, - STRAIGHTNESS_TOLERANCE, - SURFACE_PROFILE_TOLERANCE)); - name : label; - description : OPTIONAL text; - magnitude : OPTIONAL length_measure_with_unit; - toleranced_shape_aspect : geometric_tolerance_target; -DERIVE - controlling_shape : product_definition_shape := sts_get_product_definition_shape(toleranced_shape_aspect); - id : identifier := get_id_value(SELF); -UNIQUE - UR1: id, controlling_shape; -WHERE - WR1: magnitude\measure_with_unit.value_component >= 0.0; - WR2: EXISTS(controlling_shape); - WR3: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP' IN TYPEOF(toleranced_shape_aspect)) - OR (toleranced_shape_aspect\shape_aspect_relationship.relating_shape_aspect.of_shape :=: - toleranced_shape_aspect\shape_aspect_relationship.related_shape_aspect.of_shape); - WR4: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_relationship; - name : label; - description : text; - relating_geometric_tolerance : geometric_tolerance; - related_geometric_tolerance : geometric_tolerance; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY edge_with_excessive_segments - SUBTYPE OF(overcomplex_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY face_surface_with_excessive_patches_in_one_direction - SUBTYPE OF(overcomplex_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_manifold_solid_brep - ABSTRACT SUPERTYPE OF (ONEOF ( - PARTLY_OVERLAPPING_SOLIDS, - SMALL_VOLUME_SOLID, - MULTIPLY_DEFINED_SOLIDS, - ENTIRELY_NARROW_SOLID, - SOLID_WITH_EXCESSIVE_NUMBER_OF_VOIDS)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_solids - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_volume_solid - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VOLUME_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VOLUME_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VOLUME_MEASURE']); - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_defined_area_unit - SUBTYPE OF (geometric_tolerance_with_defined_unit); - area_type : area_unit_type; - second_unit_size : OPTIONAL length_measure_with_unit; -WHERE - WR1: NOT (EXISTS(second_unit_size) XOR (area_type = area_unit_type.rectangular)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_defined_unit - SUBTYPE OF (geometric_tolerance); - unit_size : length_measure_with_unit; -WHERE - WR1: ('NUMBER' IN TYPEOF (unit_size\measure_with_unit.value_component)) AND (unit_size\measure_with_unit.value_component > 0.0); -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY solid_with_excessive_number_of_voids - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY cylindrical_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_measurement_accuracy; - description : text; - range : shape_data_quality_value_limit_type_select; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_criterion_and_accuracy_association; - required_specific_accuracy : shape_measurement_accuracy; - shape_data_quality_criterion : shape_data_quality_criterion; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_modifiers - SUBTYPE OF (geometric_tolerance); - modifiers : SET[1:?] OF geometric_tolerance_modifier; -END_ENTITY; - -(* Implicit interfaced from: management_resources_schema *) - ENTITY attribute_value_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY modified_geometric_tolerance - SUBTYPE OF (geometric_tolerance); - modifier : limit_condition; -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_result - SUBTYPE OF(data_quality_inspection_result); - SELF\data_quality_inspection_result.criterion_inspected:shape_data_quality_criterion; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_criterion_report - SUBTYPE OF(data_quality_inspection_criterion_report); - representative_measured_value : measured_value_select; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY non_uniform_zone_definition - SUBTYPE OF (tolerance_zone_definition); -END_ENTITY; -(* REFERENCE FROM (product_definition_schema); *) - ENTITY product_definition_effectivity - SUBTYPE OF (effectivity); - usage : product_definition_relationship; - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'EFFECTIVITY_ASSIGNMENT.ASSIGNED_EFFECTIVITY')) = 0; - END_ENTITY; - -(* Implicit interfaced from: presentation_appearance_schema *) - ENTITY one_direction_repeat_factor - SUBTYPE OF (geometric_representation_item); - repeat_factor : vector; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY instance_report_item_with_extreme_instances - SUBTYPE OF(shape_data_quality_inspection_instance_report_item); - extreme_instances : LIST [1:?] OF extreme_instance; - END_ENTITY; - -(* Implicit interfaced from: product_concept_schema *) -ENTITY concept_feature_relationship; - name : label; - description : OPTIONAL text; - relating_product_concept_feature : product_concept_feature; - related_product_concept_feature : product_concept_feature; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY runout_zone_definition - SUBTYPE OF (tolerance_zone_definition); - orientation : runout_zone_orientation; -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY point_on_face_surface - SUBTYPE OF(point_on_surface); - basis_face_surface : face_surface; - DERIVE - SELF\point_on_surface.basis_surface : surface := SELF.basis_face_surface.face_geometry; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_face_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY plane_angle_and_ratio_pair - SUBTYPE OF(founded_item); - plane_angle_value : plane_angle_measure; - ratio_value : ratio_measure; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY runout_zone_orientation_reference_direction - SUBTYPE OF (runout_zone_orientation); - orientation_defining_relationship : shape_aspect_relationship; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_pocket - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_RECTANGULAR_POCKET, - SOLID_WITH_CIRCULAR_POCKET, - SOLID_WITH_GENERAL_POCKET)) - -SUBTYPE OF (solid_with_depression); - floor_blend_radius : non_negative_length_measure; - draft_angle : plane_angle_measure; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_protrusion - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_CIRCULAR_PROTRUSION, - SOLID_WITH_RECTANGULAR_PROTRUSION, - SOLID_WITH_GENERAL_PROTRUSION)) - SUBTYPE OF (modified_solid_with_placed_configuration); - protrusion_height : positive_length_measure; - protrusion_draft_angle : plane_angle_measure; -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_curve_knot_locator - SUBTYPE OF(founded_item); - basis_curve : b_spline_curve; - knot_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_curve_segment - SUBTYPE OF(founded_item); - basis_curve : b_spline_curve; - start_knot_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_zone_form; - name : label; -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY composite_curve_transition_locator - SUBTYPE OF(founded_item); - basis_curve : composite_curve; - transition_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY rectangular_composite_surface_transition_locator - SUBTYPE OF(founded_item); - basis_surface : rectangular_composite_surface; - surface_parameter : u_or_v_parameter; - u_transition_index : INTEGER; - v_transition_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY boundary_curve_of_b_spline_or_rectangular_composite_surface - SUBTYPE OF(founded_item); - basis_surface : b_spline_or_rectangular_composite_surface_select; - boundary_type : surface_boundary_type; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY flatness_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_colour; - name : label; - fill_colour : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY invisibility; - invisible_items : SET [1:?] OF invisible_item; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY over_riding_styled_item - SUBTYPE OF (styled_item); - over_ridden_style : styled_item; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY position_tolerance - SUBTYPE OF (geometric_tolerance); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY presentation_style_by_context - SUBTYPE OF (presentation_style_assignment); - style_context : style_context_select; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_style - SUBTYPE OF (externally_defined_item, founded_item); - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY roundness_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY planar_box - SUBTYPE OF (planar_extent); - placement: axis2_placement; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY straightness_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY excessive_use_of_groups - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GROUP']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY excessive_use_of_layers - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_LAYER_ASSIGNMENT']); - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY angularity_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY surface_profile_tolerance - SUBTYPE OF (geometric_tolerance); -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY inappropriate_element_visibility - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY inappropriate_use_of_layer - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_LAYER_ASSIGNMENT']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY inconsistent_element_reference - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_agreed_accuracy_parameter_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_agreed_scale_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_TRANSFORMATION_OPERATOR_3D']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_agreed_unit_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_referenced_coordinate_system - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY unused_shape_element - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY wrong_element_name - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM']); - END_ENTITY; -(* USED FROM (Document_assignment_mim); *) -ENTITY applied_document_reference - SUBTYPE OF (document_reference); - items : SET[1:?] OF document_reference_item; -END_ENTITY; -(* USED FROM (Document_assignment_mim); *) -ENTITY applied_document_usage_constraint_assignment - SUBTYPE OF (document_usage_constraint_assignment); - items : SET[1:?] OF document_reference_item; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY perpendicularity_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_product_association - ABSTRACT SUPERTYPE; - name : label; - description : OPTIONAL text; - relating_document : document; - related_product : product_or_formation_or_definition; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY document_reference - ABSTRACT SUPERTYPE; - assigned_document : document; - source : label; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY document_usage_constraint_assignment - ABSTRACT SUPERTYPE; - assigned_document_usage : document_usage_constraint; - role : document_usage_role; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY total_runout_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY explicit_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - DEFINED_CONSTRAINT, - FREE_FORM_CONSTRAINT)) - SUBTYPE OF (variational_representation_item); - description : OPTIONAL text; - constrained_elements : SET[1:?] OF representation_item; - reference_elements : SET[0:?] OF representation_item; -WHERE - WR1: SIZEOF(constrained_elements * reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY defined_constraint - ABSTRACT SUPERTYPE OF ( - EQUAL_PARAMETER_CONSTRAINT) - SUBTYPE OF (explicit_constraint); -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY equal_parameter_constraint - SUBTYPE OF (defined_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF variational_parameter; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF variational_parameter; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements) >= 2; -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY free_form_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - FREE_FORM_ASSIGNMENT, - FREE_FORM_RELATION)) - SUBTYPE OF (explicit_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF variational_parameter; - SELF\explicit_constraint.reference_elements : - SET[0:?] OF variational_parameter; - constraining_expression : expression; -END_ENTITY; -(* USED FROM (Camera_view_3d_mim); *) - ENTITY hidden_element_over_riding_styled_item - SUBTYPE OF (context_dependent_over_riding_styled_item); - SELF\context_dependent_over_riding_styled_item.style_context : LIST [1:1] OF presentation_view; - SELF\styled_item.item : camera_image; - INVERSE - container : SET[1:?] OF presentation_view FOR items; - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CAMERA_MODEL_D3_WITH_HLHSR' IN TYPEOF - (SELF.item\mapped_item.mapping_source.mapping_origin); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY prismatic_pair_with_range - SUBTYPE OF (prismatic_pair); - lower_limit_actual_translation : OPTIONAL length_measure; - upper_limit_actual_translation : OPTIONAL length_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_translation) - OR - NOT EXISTS(upper_limit_actual_translation)) - XOR - (lower_limit_actual_translation < upper_limit_actual_translation); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY revolute_pair_with_range - SUBTYPE OF (revolute_pair); - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY explicit_geometric_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - FIXED_ELEMENT_GEOMETRIC_CONSTRAINT, - PARALLEL_GEOMETRIC_CONSTRAINT, - POINT_DISTANCE_GEOMETRIC_CONSTRAINT, - SKEW_LINE_DISTANCE_GEOMETRIC_CONSTRAINT, - CURVE_DISTANCE_GEOMETRIC_CONSTRAINT, - SURFACE_DISTANCE_GEOMETRIC_CONSTRAINT, - RADIUS_GEOMETRIC_CONSTRAINT, - CURVE_LENGTH_GEOMETRIC_CONSTRAINT, - PARALLEL_OFFSET_GEOMETRIC_CONSTRAINT, - ANGLE_GEOMETRIC_CONSTRAINT, - PERPENDICULAR_GEOMETRIC_CONSTRAINT, - INCIDENCE_GEOMETRIC_CONSTRAINT, - COAXIAL_GEOMETRIC_CONSTRAINT, - TANGENT_GEOMETRIC_CONSTRAINT, - SYMMETRY_GEOMETRIC_CONSTRAINT, - SWEPT_POINT_CURVE_GEOMETRIC_CONSTRAINT, - SWEPT_CURVE_SURFACE_GEOMETRIC_CONSTRAINT, - CURVE_SMOOTHNESS_GEOMETRIC_CONSTRAINT, - SURFACE_SMOOTHNESS_GEOMETRIC_CONSTRAINT)) - SUBTYPE OF (defined_constraint, geometric_representation_item); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF geometric_representation_item; - SELF\explicit_constraint.reference_elements : - SET[0:?] OF geometric_representation_item; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY fixed_element_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF geometric_constraint_element; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY parallel_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF linear_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF linear_geometry_constraint_element; -END_ENTITY; -(* USED FROM (Colour_mim); *) - ENTITY externally_defined_colour - SUBTYPE OF (colour_specification,externally_defined_item); -END_ENTITY; -- externally_defined_colour -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY point_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:?] OF point; - SELF\explicit_constraint.reference_elements : - SET[0:4] OF point_curve_or_surface_constraint_element; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PDGC_WITH_DIMENSION' - IN TYPEOF(SELF)) AND - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY pdgc_with_dimension - SUBTYPE OF (point_distance_geometric_constraint); - distance_value : non_negative_length_measure; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3 - SUBTYPE OF (camera_model); - view_reference_system : axis2_placement_3d; - perspective_of_volume : view_volume; - WHERE - WR1: SELF\geometric_representation_item.dim = 3; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_image - SUPERTYPE OF (ONEOF ( - CAMERA_IMAGE_2D_WITH_SCALE, - CAMERA_IMAGE_3D_WITH_SCALE)) - SUBTYPE OF (mapped_item); - SELF\mapped_item.mapping_source : camera_usage; - SELF\mapped_item.mapping_target : planar_box; - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' - IN TYPEOF (SELF); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY actuated_kinematic_pair - SUBTYPE OF (kinematic_pair); - t_x : OPTIONAL actuated_direction; - t_y : OPTIONAL actuated_direction; - t_z : OPTIONAL actuated_direction; - r_x : OPTIONAL actuated_direction; - r_y : OPTIONAL actuated_direction; - r_z : OPTIONAL actuated_direction; -END_ENTITY; -(* REFERENCE FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY volume - - SUBTYPE OF (geometric_representation_item); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_multi_clipping - SUBTYPE OF (camera_model_d3); - shape_clipping : SET [1:?] OF camera_model_d3_multi_clipping_interection_select; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY organizational_project_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY attribute_value_assignment - ABSTRACT SUPERTYPE; - attribute_name : label; - attribute_value : attribute_type; - role : attribute_value_role; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_multi_clipping_intersection - SUBTYPE OF (geometric_representation_item); - shape_clipping : SET [2:?] OF camera_model_d3_multi_clipping_interection_select; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_length_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF bounded_curve; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY clgc_with_dimension - SUBTYPE OF (curve_length_geometric_constraint); - length_value : positive_length_measure; -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY product_definition_kinematics - SUBTYPE OF (property_definition); - SELF\property_definition.definition : product_definition; -INVERSE - representation_relation : kinematic_property_definition_representation FOR definition; -UNIQUE - UR1 : definition; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_with_hlhsr - SUBTYPE OF (camera_model_d3); - hidden_line_surface_removal : BOOLEAN; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY angle_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF linear_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF linear_geometry_constraint_element; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) = 1) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AGC_WITH_DIMENSION' - IN TYPEOF(SELF)) AND - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY oriented_joint - SUBTYPE OF (oriented_edge); - SELF\oriented_edge.edge_element : kinematic_joint; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_image_3d_with_scale - SUBTYPE OF (camera_image); - DERIVE - scale: positive_ratio_measure := ((SELF\mapped_item.mapping_target\ - planar_extent.size_in_x) / (SELF\mapped_item.mapping_source. - mapping_origin\camera_model_d3.perspective_of_volume.view_window. - size_in_x)); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CAMERA_MODEL_D3' - IN TYPEOF (SELF\mapped_item.mapping_source.mapping_origin)); - WR2: aspect_ratio(SELF\mapped_item.mapping_target) = - aspect_ratio(SELF\mapped_item.mapping_source.mapping_origin\ - camera_model_d3.perspective_of_volume.view_window); - WR3: SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.front_plane_clipping - AND - SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.view_volume_sides_clipping; - WR4: (SELF\mapped_item.mapping_target\planar_extent.size_in_x > 0) - AND - (SELF\mapped_item.mapping_target\planar_extent.size_in_y > 0); - WR5: (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.view_window.size_in_x > 0) - AND - (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.view_window.size_in_y > 0); - WR6: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' IN TYPEOF (SELF\mapped_item. - mapping_target\planar_box.placement)) - AND NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_3D' IN TYPEOF (SELF\mapped_item. - mapping_target\planar_box.placement)); - END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_joint - SUBTYPE OF (edge); - SELF\edge.edge_start : kinematic_link; - SELF\edge.edge_end : kinematic_link; -UNIQUE - UR1: edge_start, edge_end; -WHERE - WR1: edge_start :<>: edge_end; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_loop - SUBTYPE OF (edge_loop); - SELF\path.edge_list : LIST [1:?] OF UNIQUE oriented_joint; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY view_volume - SUBTYPE OF (founded_item); - projection_type : central_or_parallel; - projection_point : cartesian_point; - view_plane_distance : length_measure; - front_plane_distance : length_measure; - front_plane_clipping : BOOLEAN; - back_plane_distance : length_measure; - back_plane_clipping : BOOLEAN; - view_volume_sides_clipping : BOOLEAN; - view_window : planar_box; - INVERSE - camera_usages : SET[1:?] OF camera_model_d3 FOR perspective_of_volume; - WHERE - WR1:('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D' IN TYPEOF(SELF\view_volume.view_window.placement)) OR - (dot_product ((representation_item(' ') || geometric_representation_item() || direction([0.0,0.0,1.0])), - SELF.view_window\planar_box.placement\axis2_placement_3d.p[3] ) = 1.0); - WR2: view_plane_distance = view_window.placement\placement.location.coordinates[3]; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY symmetry_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[2:2] OF geometric_representation_item; - mirror_element : linear_geometry_constraint_element; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; - WR2: SIZEOF(TYPEOF(mirror_element) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR']) = 0; - WR3: NOT ((SELF\geometric_representation_item.dim = 2) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(mirror_element))); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY swept_point_curve_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:?] OF curve; - SELF\explicit_constraint.reference_elements : - SET[1:1] OF swept_face_solid; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY swept_curve_surface_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:?] OF surface; - SELF\explicit_constraint.reference_elements : - SET[1:1] OF swept_surface_or_solid; -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY wire_shell - SUBTYPE OF (topological_representation_item); - wire_shell_extent : SET [1:?] OF loop; - WHERE - WR1: NOT mixed_loop_type_set(wire_shell_extent); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source - SUPERTYPE OF (ONEOF ( - LIGHT_SOURCE_AMBIENT, - LIGHT_SOURCE_DIRECTIONAL, - LIGHT_SOURCE_POSITIONAL, - LIGHT_SOURCE_SPOT)) - SUBTYPE OF (geometric_representation_item); - light_colour : colour; - WHERE - WR1: SIZEOF(USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'STYLED_ITEM.ITEM')) = 0; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY surface_patch_set - SUBTYPE OF (geometric_representation_item); - patches : SET[1:?] OF surface_patch; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY surface_smoothness_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET [1:1] OF surface_patch_set; - u_smoothness : transition_code; - v_smoothness : transition_code; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (Feature_and_connection_zone_mim); *) -ENTITY connection_zone_interface_plane_relationship - SUBTYPE OF (shape_aspect, shape_aspect_relationship); -UNIQUE - UR1: SELF\shape_aspect_relationship.name; -END_ENTITY; -(* USED FROM (Feature_and_connection_zone_mim); *) -ENTITY feature_definition_with_connection_area - SUBTYPE OF (shape_feature_definition); -END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY document_identifier - SUBTYPE OF (group); - UNIQUE - UR1: SELF\group.name, SELF\group.description; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_positional - SUBTYPE OF (light_source); - position : cartesian_point; - constant_attenuation : REAL; - distance_attenuation : REAL; - END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY partial_document_with_structured_text_representation_assignment - SUBTYPE OF (applied_document_usage_constraint_assignment, characterized_object); - END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY specification_definition - SUBTYPE OF (product_definition); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_transparent; - transparency : REAL; - WHERE - WR1: {0.0 <= transparency <= 1.0}; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY reparametrised_composite_curve_segment - SUBTYPE OF (composite_curve_segment); - param_length : parameter_value; -WHERE - WR1: param_length > 0.0; -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex_shell - SUBTYPE OF (topological_representation_item); - vertex_shell_extent : vertex_loop; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY revolved_face_solid_with_trim_conditions - SUBTYPE OF(revolved_face_solid); - first_trim_condition : trim_condition_select; - second_trim_condition : trim_condition_select; -WHERE - WR1: NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition))); - WR2: NOT((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(first_trim_condition)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(second_trim_condition))) AND - (first_trim_condition = second_trim_condition)); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_reflectance_ambient_diffuse_specular - SUBTYPE OF (surface_style_reflectance_ambient_diffuse); - specular_reflectance : REAL; - specular_exponent : REAL; - specular_colour : colour; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY extruded_face_solid_with_trim_conditions - SUPERTYPE OF (ONEOF ( - EXTRUDED_FACE_SOLID_WITH_DRAFT_ANGLE, - EXTRUDED_FACE_SOLID_WITH_MULTIPLE_DRAFT_ANGLES)) - SUBTYPE OF (extruded_face_solid); - first_trim_condition : trim_condition_select; - second_trim_condition : trim_condition_select; - first_trim_intent : trim_intent; - second_trim_intent : trim_intent; - first_offset : non_negative_length_measure; - second_offset : non_negative_length_measure; -WHERE - WR1: NOT(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(first_trim_condition)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(second_trim_condition))); - WR2: NOT ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition)) AND - ((first_trim_intent = trim_intent.offset) - OR (first_trim_intent = trim_intent.up_to_next))) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition)) AND - ((second_trim_intent = trim_intent.offset) - OR (second_trim_intent = trim_intent.up_to_next)))); - WR3: NOT (((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition))) AND - ((first_trim_intent = trim_intent.blind) - OR (first_trim_intent = trim_intent.through_all))) OR - ((NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition))) AND - ((second_trim_intent = trim_intent.blind) - OR (second_trim_intent = trim_intent.through_all)))); - WR4: (((first_trim_intent = trim_intent.offset) - AND (first_offset > 0)) XOR - ((first_trim_intent <> trim_intent.offset) - AND (first_offset = 0))) AND - (((second_trim_intent = trim_intent.offset) - AND (second_offset > 0)) XOR - ((second_trim_intent <> trim_intent.offset) - AND (second_offset = 0))); - WR5: NOT((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition))) AND - (first_trim_condition = second_trim_condition)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -(* Pruned SUPERTYPE *) -ENTITY solid_model - SUPERTYPE OF (ONEOF ( - CSG_SOLID, - MANIFOLD_SOLID_BREP, - SWEPT_FACE_SOLID, - SWEPT_AREA_SOLID, - SWEPT_DISK_SOLID, - SOLID_REPLICA)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_rendering; - rendering_method : shading_curve_method; - rendering_properties : surface_rendering_properties; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_rendering_properties; - rendered_colour : colour; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY su_parameters - SUBTYPE OF (geometric_representation_item); - a : length_measure; - alpha : plane_angle_measure; - b : length_measure; - beta : plane_angle_measure; - c : length_measure; - gamma : plane_angle_measure; -WHERE - WR1: SELF\geometric_representation_item.dim=3; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY kinematic_link_representation_association - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 : kinematic_link_representation; - SELF\representation_relationship.rep_2 : shape_representation; -WHERE - WR1: (SELF\representation_relationship.rep_2.context_of_items :=: - SELF\representation_relationship.rep_1.context_of_items) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rigid_link_representation - SUBTYPE OF (kinematic_link_representation); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY linear_flexible_link_representation - SUBTYPE OF (kinematic_link_representation); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY kinematic_link_representation - ABSTRACT SUPERTYPE OF (ONEOF ( - LINEAR_FLEXIBLE_LINK_REPRESENTATION, - RIGID_LINK_REPRESENTATION)) - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context; - SELF\representation.items : SET[1:?] OF kinematic_link_representation_items; - represented_link : kinematic_link; -INVERSE - associated_shape_representation : SET[0:1] OF -- LK - kinematic_link_representation_association FOR rep_1; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY pair_representation_relationship - SUBTYPE OF (geometric_representation_item, representation_relationship_with_transformation); - SELF\representation_relationship.rep_1 : kinematic_link_representation; - SELF\representation_relationship.rep_2 : kinematic_link_representation; - SELF\representation_relationship_with_transformation.transformation_operator : kinematic_pair; -WHERE - WR1: transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items; - WR2: transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items; - WR3: rep_1\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_start; - WR4: rep_2\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_end; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY feature_component_relationship - SUPERTYPE OF (ONEOF ( - PATTERN_OMIT_MEMBERSHIP, - PATTERN_OFFSET_MEMBERSHIP)) - SUBTYPE OF (shape_aspect_relationship); - WHERE - WR1: ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPLICATE_FEATURE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRANSITION_FEATURE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MODIFIED_PATTERN'] * TYPEOF - (SELF.relating_shape_aspect)) = 1) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MACHINING_FEATURE_DEFINITION' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))); -END_ENTITY; -- feature_component_relationship -(* USED FROM (configuration_management_schema); *) -ENTITY configurable_item - SUBTYPE OF (configuration_item); - item_concept_feature : SET[1:?] OF product_concept_feature_association; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_font_and_scaling - SUBTYPE OF (founded_item); - name : label; - curve_font : curve_style_font_select; - curve_font_scaling : REAL; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY year_month - SUBTYPE OF (date); - month_component : month_in_year_number; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY week_of_year_and_day_date - SUBTYPE OF (date); - week_component : week_in_year_number; - day_component : OPTIONAL day_in_week_number; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_spot - SUBTYPE OF (light_source); - position : cartesian_point; - orientation : direction; - concentration_exponent : REAL; - constant_attenuation : REAL; - distance_attenuation : REAL; - spread_angle : positive_plane_angle_measure; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_directive; - name : label; - description : OPTIONAL text; - analysis : text; - comment : text; - requests : SET [1:?] OF versioned_action_request; - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY draughting_callout_relationship; - name : label; - description : text; - relating_draughting_callout : draughting_callout; - related_draughting_callout : draughting_callout; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY ordinal_date - SUBTYPE OF (date); - day_component : day_in_year_number; -WHERE - WR1: (NOT leap_year(SELF.year_component) AND { 1 <= day_component <= 365 }) OR (leap_year(SELF.year_component) AND { 1 <= day_component <= 366 }); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -(* Pruned SUPERTYPE *) -ENTITY geometric_set - - SUBTYPE OF (geometric_representation_item); - elements : SET[1:?] OF geometric_set_select; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY planar_extent - SUBTYPE OF (geometric_representation_item); - size_in_x : length_measure; - size_in_y : length_measure; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY kinematic_pair - ABSTRACT SUPERTYPE OF (ONEOF ( - HIGH_ORDER_KINEMATIC_PAIR, - LOW_ORDER_KINEMATIC_PAIR_WITH_MOTION_COUPLING, - LOW_ORDER_KINEMATIC_PAIR) - ANDOR - ACTUATED_KINEMATIC_PAIR) - SUBTYPE OF (geometric_representation_item, item_defined_transformation); - joint : kinematic_joint; - SELF\item_defined_transformation.transform_item_1 : rigid_placement; - SELF\item_defined_transformation.transform_item_2 : rigid_placement; -DERIVE - associated_link_representations_1 : SET[1:?] OF kinematic_link_representation := - sort_link_associations(link_representation_associations, TRUE); - associated_link_representations_2 : SET[1:?] OF kinematic_link_representation := - sort_link_associations(link_representation_associations, FALSE); - SELF\item_defined_transformation.name : label := SELF\representation_item.name; -INVERSE - link_representation_associations : SET[1:?] OF pair_representation_relationship FOR transformation_operator; -END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_relationship; - name : label; - description : OPTIONAL text; - relating_document : document; - related_document : document; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY boundary_curve - SUBTYPE OF (composite_curve_on_surface); -WHERE - WR1: SELF\composite_curve.closed_curve; -END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_request_status; - status : label; - assigned_request : versioned_action_request; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY background_colour - SUBTYPE OF (colour); - presentation : area_or_view; - UNIQUE - UR1: presentation; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_font_pattern - SUBTYPE OF (founded_item); - visible_segment_length : positive_length_measure; - invisible_segment_length : positive_length_measure; - END_ENTITY; -(* USED FROM (Multi_linguism_mim); *) -ENTITY language -SUBTYPE OF (group); -WHERE -WR1: SELF\group.name <> ''; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_usage - SUBTYPE OF (representation_map); - SELF\representation_map.mapping_origin : camera_model; - WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' - IN TYPEOF(SELF\representation_map.mapped_representation)); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY faceted_brep - SUBTYPE OF (manifold_solid_brep); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rack_and_pinion_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : rack_and_pinion_pair; - actual_displacement : length_measure; -DERIVE - actual_rotation : plane_angle_measure - := 0.0; (* - := convert_plane_angle_for_pair_from_radian - (SELF\pair_value.applies_to_pair, - (- actual_displacement / - SELF\pair_value.applies_to_pair\ - rack_and_pinion_pair.pinion_radius)); *) -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY extruded_face_solid_with_draft_angle - SUBTYPE OF (extruded_face_solid_with_trim_conditions); - draft_angle : plane_angle_measure; -WHERE - WR1: draft_angle <> 0; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_silhouette - SUBTYPE OF (founded_item); - style_of_silhouette : curve_or_render; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_segmentation_curve - SUBTYPE OF (founded_item); - style_of_segmentation_curve : curve_or_render; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_usage - SUBTYPE OF (founded_item); - side : surface_side; - style : surface_side_style_select; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_fill_area - SUBTYPE OF (founded_item); - fill_area : fill_area_style; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_rendering; - rendering_method : shading_surface_method; - surface_colour : colour; - END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY sliding_curve_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : sliding_curve_pair; - actual_point_on_curve_1 : point_on_curve; - actual_point_on_curve_2 : point_on_curve; -WHERE - WR1: SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: - actual_point_on_curve_1.basis_curve; - WR2: SELF\pair_value.applies_to_pair\planar_curve_pair.curve_2 :=: - actual_point_on_curve_2.basis_curve; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY gear_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : gear_pair; - actual_rotation_1 : plane_angle_measure; -DERIVE - actual_rotation_2 : plane_angle_measure - := - actual_rotation_1 * - SELF\pair_value.applies_to_pair\ - gear_pair.gear_ratio; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_parameter_line - SUBTYPE OF (founded_item); - style_of_parameter_lines : curve_or_render; - direction_counts : SET [1:2] OF direction_count_select; - WHERE - WR1: (HIINDEX(SELF.direction_counts) = 1) - XOR - (TYPEOF(SELF.direction_counts[1]) <> - TYPEOF(SELF.direction_counts[2])); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_control_grid - SUBTYPE OF (founded_item); - style_of_control_grid : curve_or_render; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_boundary - SUBTYPE OF (founded_item); - style_of_boundary : curve_or_render; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_tile - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_tile - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY shape_defining_relationship - SUBTYPE OF (shape_aspect_relationship); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_surface_side_style - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tile_coloured_region - SUBTYPE OF (geometric_representation_item); - closed_curve : curve_or_annotation_curve_occurrence; - region_colour : colour; - WHERE - WR1: (NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF (closed_curve))) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE' IN TYPEOF (closed_curve)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPSE' IN TYPEOF (closed_curve)) OR - ( ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (closed_curve)) - AND (closed_curve\b_spline_curve.closed_curve = TRUE) ) OR - ( ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (closed_curve)) - AND (closed_curve\composite_curve.closed_curve = TRUE) ) OR - ( ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (closed_curve)) - AND (closed_curve\polyline.points[LOINDEX(closed_curve\polyline.points)] = - closed_curve\polyline.points[HIINDEX(closed_curve\polyline.points)]) ); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tile_curve_with_style - SUBTYPE OF (geometric_representation_item); - styled_curve : annotation_curve_occurrence; - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY draughting_pre_defined_colour - SUBTYPE OF (pre_defined_colour); -WHERE - WR1: SELF.name IN - ['red', - 'green', - 'blue', - 'yellow', - 'magenta', - 'cyan', - 'black', - 'white']; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY colour_specification - SUBTYPE OF (colour); - name : label; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY colour; -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY subface - SUBTYPE OF (face); - parent_face : face; - WHERE - WR1: NOT (mixed_loop_type_set(list_to_set(list_face_loops(SELF)) + - list_to_set(list_face_loops(parent_face)))); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY subedge - SUBTYPE OF (edge); - parent_edge : edge; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY connected_face_sub_set - SUBTYPE OF (connected_face_set); - parent_face_set : connected_face_set; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY transition_feature - SUPERTYPE OF (ONEOF ( - CHAMFER, - EDGE_ROUND, - FILLET)) - SUBTYPE OF (shape_aspect); - WHERE - WR1: SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOUND_FEATURE'] - * TYPEOF(SELF.of_shape.definition)) = 1; - WR2: SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHAMFER', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_ROUND', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILLET'] * - TYPEOF(SELF)) = 1; -END_ENTITY; -- transition_feature -(* USED FROM (external_reference_schema); *) - ENTITY externally_defined_item_with_multiple_references - SUBTYPE OF (externally_defined_item); - references : LIST[1:?] OF UNIQUE source_item; - UNIQUE - UR1: references; - WHERE - WR1: NOT(SELF\externally_defined_item.item_id IN references); - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY externally_defined_item_relationship; - name : label; - description : OPTIONAL text; - relating_item : externally_defined_item; - related_item : externally_defined_item; - END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY expression_conversion_based_unit - SUBTYPE OF (context_dependent_unit, variable_semantics); -INVERSE - associated_variable_environment: environment FOR semantics; -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY dielectric_constant_measure_with_unit - SUBTYPE OF (ratio_measure_with_unit); -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY loss_tangent_measure_with_unit - SUBTYPE OF (ratio_measure_with_unit); -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY thermal_resistance_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.THERMAL_RESISTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (Composite_constituent_shape_mim); *) - ENTITY composite_sheet_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION'] * TYPEOF (SELF)) = 1; - END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY polar_complex_number_literal - SUBTYPE OF (generic_literal); - radius : REAL; - angle : REAL; -WHERE - WR1: radius >= 0; - WR2: { 0 <= angle < 2*PI }; -END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY assembly_geometric_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - BINARY_ASSEMBLY_CONSTRAINT, - FIXED_CONSTITUENT_ASSEMBLY_CONSTRAINT)) - SUBTYPE OF (explicit_constraint); - -END_ENTITY;-- assembly_geometric_constraint -(* USED FROM (Composite_constituent_shape_mim); *) - ENTITY flat_pattern_ply_representation_relationship - SUBTYPE OF (shape_representation_relationship); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN - (TYPEOF (SELF\representation_relationship.rep_1) * - TYPEOF (SELF\representation_relationship.rep_2)); - WR2: SELF\representation_relationship.rep_1. - context_of_items\geometric_representation_context. - coordinate_space_dimension = 3; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presented_item_representation; - presentation : presentation_representation_select; - item : presented_item; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_set; - INVERSE - areas : SET [1:?] OF area_in_set FOR in_set; - END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY parallel_assembly_constraint_with_dimension - SUBTYPE OF (parallel_assembly_constraint, - pgc_with_dimension); -END_ENTITY;-- parallel_assembly_constraint_with_dimension -(* USED FROM (assembly_constraint_schema); *) -ENTITY surface_distance_assembly_constraint_with_dimension - SUBTYPE OF (binary_assembly_constraint, - sdgc_with_dimension); -END_ENTITY;-- surface_distance_assembly_constraint_with_dimension -(* USED FROM (assembly_constraint_schema); *) -ENTITY angle_assembly_constraint_with_dimension - SUBTYPE OF (binary_assembly_constraint, - agc_with_dimension); -END_ENTITY;-- angle_assembly_constraint_with_dimension -(* USED FROM (assembly_constraint_schema); *) -ENTITY perpendicular_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - perpendicular_geometric_constraint); -END_ENTITY;-- perpendicular_assembly_constraint -(* USED FROM (assembly_constraint_schema); *) -ENTITY incidence_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - incidence_geometric_constraint); -END_ENTITY;-- incidence_assembly_constraint -(* USED FROM (presentation_organization_schema); *) - ENTITY area_in_set; - area : presentation_area; - in_set : presentation_set; - END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY tangent_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - tangent_geometric_constraint); -END_ENTITY;-- tangent_assembly_constraint -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY kinematic_control; - controlled_mechanism : mechanism_representation; - contained_kinematic_programs : kinematic_analysis_definition; -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY prescribed_path - SUBTYPE OF (link_motion_representation_along_path); - controlling_joints : OPTIONAL SET [1 : 6] OF kinematic_joint; -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY kinematic_analysis_result; - analysed_mechanism : mechanism_representation; -- LK - result : kinematic_result; -(* -WHERE -WR1: ('KINEMATIC_ANALYSIS_CONTROL_AND_RESULT_SCHEMA.RESULTING_PATH' IN TYPEOF (result)) - XOR - (SIZEOF (QUERY (result <* contained_kinematic_results | - (('KINEMATIC_ANALYSIS_CONTROL_AND_RESULT_SCHEMA.'+ - 'INTERPOLATED_CONFIGURATION_SEQUENCE' IN TYPEOF (result)) - AND - (SIZEOF (QUERY (sequence <* result\ - interpolated_configuration_sequence.interpolation | - (sequence.interpolation <> undefined ))) > 0)))) = 0); -*) -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY kinematic_analysis_consistency; - control : kinematic_control; - result : kinematic_analysis_result; -WHERE - WR1: control.controlled_mechanism :=: result.analysed_mechanism; -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY resulting_path - SUBTYPE OF (link_motion_representation_along_path); - controlling_joints : SET [1 : ?] OF kinematic_joint; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY instanced_feature - SUBTYPE OF (feature_definition, shape_aspect); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF (SELF.of_shape.definition); - WR2: SELF.product_definitional; -END_ENTITY; -(* USED FROM (Specification_control_mim); *) - ENTITY instance_usage_context_assignment - SUBTYPE OF (product_definition_context); - items : SET [1:?] OF instance_usage_context_select; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_method_relationship; - name : label; - description : OPTIONAL text; - relating_method : action_method; - related_method : action_method; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_resource; - name : label; - description : OPTIONAL text; - usage : SET [1:?] OF supported_item; - kind : action_resource_type; - END_ENTITY; -(* USED FROM (process_property_representation_schema); *) -ENTITY action_property_representation; - name : label; - description : text; - property : action_property; - representation : representation; -END_ENTITY; -(* USED FROM (process_property_representation_schema); *) -ENTITY resource_property_representation; - name : label; - description : text; - property : resource_property; - representation : representation; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY action_property; - name : label; - description : text; - definition : characterized_action_definition; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY action_resource_requirement; - name : label; - description : text; - kind : resource_requirement_type; - operations : SET [1:?] OF characterized_action_definition; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY process_product_association; - name : label; - description : text; - defined_product : characterized_product_definition; - process : product_definition_process; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY process_property_association; - name : label; - description : text; - process : property_process; - property_or_shape : property_or_shape_select; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY product_definition_process - SUBTYPE OF (action); - identification : identifier; -INVERSE - product_definitions : SET [1:?] OF process_product_association FOR process; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY property_process - SUBTYPE OF (action); - identification : identifier; -INVERSE - properties : SET [1:?] OF process_property_association FOR process; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY sliding_surface_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : sliding_surface_pair; - actual_point_on_surface_1 : point_on_surface; - actual_point_on_surface_2 : point_on_surface; - actual_rotation : plane_angle_measure; -WHERE - WR1: SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: - actual_point_on_surface_1.basis_surface; - WR2: SELF\pair_value.applies_to_pair\surface_pair.surface_2 :=: - actual_point_on_surface_2.basis_surface; -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY user_selected_shape_elements - SUBTYPE OF (user_selected_elements); - SELF\user_selected_elements.picked_items : SET [1:?] OF shape_representation_item; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY resource_requirement_type; - name : label; - description : text; -END_ENTITY; -(* USED FROM (Extended_basic_geometry_mim); *) - ENTITY geometric_model_element_relationship - SUBTYPE OF (geometric_representation_item, representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : geometric_representation_item; - SELF\representation_item_relationship.related_representation_item: geometric_representation_item; - UNIQUE - UR1: SELF\representation_item_relationship.relating_representation_item, - SELF\representation_item_relationship.related_representation_item; - WHERE - WR1: SELF\representation_item_relationship.relating_representation_item :<>: - SELF\representation_item_relationship.related_representation_item; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY circular_area - SUBTYPE OF (primitive_2d); - centre : cartesian_point; - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY elliptic_area - SUBTYPE OF (primitive_2d); - position : axis2_placement_2d; - semi_axis_1 : positive_length_measure; - semi_axis_2 : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY polygonal_area - SUBTYPE OF (primitive_2d); - bounds : LIST[3:?] OF UNIQUE cartesian_point; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY primitive_2d - SUPERTYPE OF (ONEOF ( - CIRCULAR_AREA, - ELLIPTIC_AREA, - RECTANGULAR_AREA, - POLYGONAL_AREA, - HALF_SPACE_2D)) - SUBTYPE OF (geometric_representation_item); -WHERE - WR1: SELF\geometric_representation_item.dim = 2; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY rectangular_area - SUBTYPE OF (primitive_2d); - position : axis2_placement_2d; - x : positive_length_measure; - y : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY boolean_result - SUBTYPE OF (geometric_representation_item); - operator : boolean_operator; - first_operand : boolean_operand; - second_operand : boolean_operand; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY csg_solid - SUBTYPE OF (solid_model); - tree_root_expression : csg_select; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY half_space_2d - SUBTYPE OF (primitive_2d); - base_curve : curve; - agreement_flag : BOOLEAN; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY area_with_outer_boundary - SUBTYPE OF (half_space_2d); - SELF\half_space_2d.base_curve : composite_curve; -WHERE - WR1: base_curve\composite_curve.closed_curve = TRUE; -END_ENTITY; -(* USED FROM (group_schema); *) - ENTITY group_relationship; - name : label; - description : OPTIONAL text; - relating_group : group; - related_group : group; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY shelled_solid - SUPERTYPE OF (ONEOF ( - DOUBLE_OFFSET_SHELLED_SOLID, - COMPLEX_SHELLED_SOLID)) - SUBTYPE OF (modified_solid); - deleted_face_set : SET [1:?] OF face_surface; - thickness : length_measure; -WHERE - WR1: thickness <> 0; -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY atomic_formula - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY attribute_assertion - SUBTYPE OF (fact_type, property_definition_representation, representation); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY back_chaining_rule - SUBTYPE OF (rule_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY back_chaining_rule_body - SUBTYPE OF (property_definition, property_definition_representation, representation); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_circular_pattern - SUPERTYPE OF ( - SOLID_WITH_INCOMPLETE_CIRCULAR_PATTERN) - SUBTYPE OF (solid_with_shape_element_pattern); - replicate_count : positive_integer; - angular_spacing : plane_angle_measure; - radial_alignment : BOOLEAN; - reference_point : point; -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY complex_conjunctive_clause - SUBTYPE OF (complex_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY complex_disjunctive_clause - SUBTYPE OF (complex_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY entity_assertion - SUBTYPE OF (fact_type); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY enum_reference_prefix - SUBTYPE OF (descriptive_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY extent - SUBTYPE OF (characterized_object); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY fact_type - SUBTYPE OF (property_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY forward_chaining_rule - SUBTYPE OF (rule_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY forward_chaining_rule_premise - SUBTYPE OF (property_definition, property_definition_representation, representation); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY func - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY global_assignment - SUBTYPE OF (representation_item_relationship); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY ground_fact - SUBTYPE OF (atomic_formula); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY literal_conjunction - SUBTYPE OF (simple_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY literal_disjunction - SUBTYPE OF (simple_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY row_value - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY row_variable - SUBTYPE OF (abstract_variable); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_action - SUBTYPE OF (action); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_condition - SUBTYPE OF (atomic_formula); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_general_protrusion - SUBTYPE OF (solid_with_protrusion); - profile : positioned_sketch; - reference_point : point; -WHERE - WR1: SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE'] * TYPEOF(profile.sketch_basis)) = 1; - WR2: profile IN using_items(reference_point,[]); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_superseded_assignment - SUBTYPE OF (action_assignment); - items : SET [1:?] OF rule_superseded_item; -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_set - SUBTYPE OF (rule_software_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_software_definition - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_set_group -SUBTYPE OF (rule_software_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_supersedence - SUBTYPE OF (rule_action); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY scalar_variable - SUBTYPE OF (abstract_variable); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY simple_clause - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY product_definition_relationship_kinematics - SUBTYPE OF (property_definition); - SELF\property_definition.definition : product_definition_relationship; -UNIQUE - UR1 : definition; -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY context_dependent_kinematic_link_representation; - representation_relation : kinematic_link_representation_association; - represented_product_relation : product_definition_relationship_kinematics; -END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_design_to_individual - SUBTYPE OF (product_relationship); - - (* removed : SELF\product_relationship.individual_product : PRODUCT *) - - (* removed : SELF\product_relationship.product_design : PRODUCT *) - DERIVE - individual_product : PRODUCT := SELF\product_relationship.related_product; -- RELATED_PRODUCT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - product_design : PRODUCT := SELF\product_relationship.relating_product; -- RELATING_PRODUCT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_planned_to_realized - SUBTYPE OF (product_definition_formation_relationship); - - (* removed : SELF\product_definition_formation_relationship.planned_product : PRODUCT_DEFINITION_FORMATION *) - - (* removed : SELF\product_definition_formation_relationship.realized_product : PRODUCT_DEFINITION_FORMATION *) - DERIVE - planned_product : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.relating_product_definition_formation; -- RELATING_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - realized_product : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.related_product_definition_formation; -- RELATED_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_as_planned - SUBTYPE OF (product_definition_formation); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_rectangular_protrusion - SUBTYPE OF (solid_with_protrusion); - protrusion_length : positive_length_measure; - protrusion_width : positive_length_measure; - protrusion_corner_radius : non_negative_length_measure; -WHERE - WR1: (protrusion_corner_radius <= protrusion_width/2) - AND (protrusion_corner_radius <= protrusion_length/2); -END_ENTITY; -(* USED FROM (Configuration_item_mim); *) -ENTITY configuration_item_revision_sequence - SUBTYPE OF (configuration_item_relationship); -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_design; - configuration : configuration_item; - design : configuration_design_item; -DERIVE - name : label := get_name_value (SELF); - description : text := get_description_value (SELF); -UNIQUE - UR1: configuration, design; -WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - WR2: SIZEOF (USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_item; - id : identifier; - name : label; - description : OPTIONAL text; - item_concept : product_concept; - purpose : OPTIONAL label; -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_item_relationship; - name : label; - description : OPTIONAL text; - relating_configuration_item : configuration_item; - related_configuration_item : configuration_item; -END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY characterized_object; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY product_material_composition_relationship -SUBTYPE OF (product_definition_relationship); - class : label; - constituent_amount : SET [1:?] OF characterized_product_composition_value; - composition_basis : label; - determination_method : text; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY make_from_usage_option - SUBTYPE OF (product_definition_usage); - ranking : INTEGER; - ranking_rationale : text; - quantity : measure_with_unit; -WHERE - WR1: (NOT ('NUMBER' IN TYPEOF(quantity.value_component))) - OR (quantity.value_component > 0); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_stepped_round_hole -SUPERTYPE OF ( - SOLID_WITH_STEPPED_ROUND_HOLE_AND_CONICAL_TRANSITIONS - ANDOR ONEOF ( - SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE, - SOLID_WITH_CONICAL_BOTTOM_ROUND_HOLE, - SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE)) - -SUBTYPE OF (solid_with_hole); - segments : positive_integer; - segment_radii : LIST[1:segments] OF positive_length_measure; - segment_depths : LIST[1:segments] OF positive_length_measure; -DERIVE - SELF\solid_with_depression.depth - : positive_length_measure := compute_total_depth(SELF); -WHERE - WR1: NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' - IN TYPEOF(SELF)) AND (SIZEOF(TYPEOF(SELF) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE']) - <> 0)); -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY symbol_representation - SUBTYPE OF (representation); - END_ENTITY; -(* USED FROM (aic_curve_swept_solid); *) - ENTITY ruled_surface_swept_area_solid - SUBTYPE OF(surface_curve_swept_area_solid); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(SELF.reference_surface)) AND - (SELF.reference_surface\b_spline_surface.u_degree = 1); - WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(SELF.directrix)) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF(SELF.directrix\surface_curve.curve_3d)) - AND - (SELF.directrix\surface_curve.curve_3d\b_spline_curve.degree = - SELF.reference_surface\b_spline_surface.v_degree)); - END_ENTITY; -(* USED FROM (Classification_with_attributes_mim); *) -ENTITY characterized_class -SUBTYPE OF (characterized_object, class); -END_ENTITY; -(* USED FROM (Classification_with_attributes_mim); *) -ENTITY class_system -SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_straight_slot - SUBTYPE OF (solid_with_slot); - slot_length : positive_length_measure; -END_ENTITY; -(* USED FROM (Plib_class_reference_mim); *) - ENTITY known_source - SUBTYPE OF (external_source, pre_defined_item); - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY classification_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY applied_usage_right - SUBTYPE OF (applied_action_assignment); - SELF\applied_action_assignment.items : SET[1:?] OF ir_usage_item; -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY information_right - SUBTYPE OF (action_method); -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY information_usage_right - SUBTYPE OF (action_method); -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY right_to_usage_association - SUBTYPE OF (action_method_relationship); - SELF\action_method_relationship.relating_method : information_usage_right; -- right_usage : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\action_method_relationship.related_method : information_right; -- right_applied : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - right_applied : INFORMATION_RIGHT := SELF\action_method_relationship.related_method; -- RELATED_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - right_usage : INFORMATION_USAGE_RIGHT := SELF\action_method_relationship.relating_method; -- RELATING_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_variable_radius_edge_blend - SUBTYPE OF (track_blended_solid); - point_list : LIST[2:?] OF point; - radius_list : LIST[2:?] OF positive_length_measure; - edge_function_list : LIST[1:?] OF blend_radius_variation_type; -WHERE - WR1: SIZEOF(point_list) = SIZEOF(radius_list); - WR2: SIZEOF(edge_function_list) = SIZEOF(radius_list) - 1; - WR3: NOT((point_list[1] = point_list[HIINDEX(point_list)]) AND NOT - (radius_list[1] = radius_list[HIINDEX(radius_list)])); -END_ENTITY; -(* USED FROM (Activity_method_assignment_mim); *) -ENTITY applied_action_method_assignment - SUBTYPE OF (action_method_assignment); - items : SET[1:?] OF action_method_items; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY action_method_assignment - ABSTRACT SUPERTYPE; - assigned_action_method : action_method; - role : action_method_role; - END_ENTITY; -(* USED FROM (Attribute_classification_mim); *) -ENTITY applied_attribute_classification_assignment - SUBTYPE OF (attribute_classification_assignment); - SELF\attribute_classification_assignment.assigned_class : class; - items : SET[1:?] OF attribute_classification_item; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY attribute_classification_assignment - ABSTRACT SUPERTYPE; - assigned_class : group; - attribute_name : label; - role : classification_role; - END_ENTITY; -(* USED FROM (contract_schema); *) - ENTITY contract_type; - description : label; - END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_type; - product_data_type : label; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY track_blended_solid_with_end_conditions - SUBTYPE OF (track_blended_solid); - end_conditions : LIST [2:2] OF blend_end_condition_select; -WHERE - WR1: SIZEOF(TYPEOF(SELF) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_VARIABLE_RADIUS_EDGE_BLEND', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_CHAMFERED_EDGES']) = 1; - WR2: NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1])) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2]))); - WR3: NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1])) - AND (NOT ((end_conditions[1] - :=: SELF\edge_blended_solid.blended_edges[1].edge_start) - XOR (end_conditions[1] - :=: SELF\edge_blended_solid.blended_edges[1].edge_end)))); - WR4: NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2])) - AND (NOT ((end_conditions[2] - :=: SELF\edge_blended_solid.blended_edges[HIINDEX( - SELF\edge_blended_solid.blended_edges)].edge_start) - XOR (end_conditions[2] - :=: SELF\edge_blended_solid.blended_edges[HIINDEX( - SELF\edge_blended_solid.blended_edges)].edge_end)))); -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_formation_with_specified_source - SUBTYPE OF (product_definition_formation); - make_or_buy : source; - END_ENTITY; -(* USED FROM (Associative_draughting_elements_mim); *) -ENTITY draughting_model_item_association - SUBTYPE OF(item_identified_representation_usage); - SELF\item_identified_representation_usage.definition : draughting_model_item_definition; - SELF\item_identified_representation_usage.used_representation : annotation_representation_select; - SELF\item_identified_representation_usage.identified_item : draughting_model_item_association_select; -END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY annotation_occurrence_associativity - SUBTYPE OF (annotation_occurrence_relationship); - WHERE - WR1: SIZEOF (TYPEOF (SELF.related_annotation_occurrence) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_CURVE']) = 1; - END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY material_designation_characterization; - name : label; - description : text; - designation : material_designation; - property : characterized_material_property; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY defined_symbol - SUBTYPE OF(geometric_representation_item); - definition : defined_symbol_select; - target : symbol_target; - END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY shape_aspect_associativity - SUBTYPE OF (shape_aspect_relationship); - WHERE - WR1: SELF.relating_shape_aspect.product_definitional; - WR2: NOT (SELF.related_shape_aspect.product_definitional); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_associated_curves - SUBTYPE OF (composite_text); - associated_curves : SET[1:?] of curve; - END_ENTITY; -(* USED FROM (Draughting_annotation_mim); *) - ENTITY pre_defined_dimension_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN [ 'arc length' , 'conical taper' , 'counterbore' , 'countersink' , 'depth' , 'diameter' , 'plus minus' , 'radius' , 'slope' , 'spherical diameter' , 'spherical radius' , 'square']; - END_ENTITY; -(* USED FROM (Draughting_annotation_mim); *) - ENTITY pre_defined_geometrical_tolerance_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN ['angularity' , 'basic dimension' , 'blanked datum reference' , 'circular runout' , 'circularity' , 'concentricity' , 'cylindricity' , 'datum target identification' , 'diameter' , 'filled datum reference' , 'flatness' , 'least material condition' , 'maximum material condition' , 'parallelism' , 'perpendicularity' , 'position' , 'profile of a line' , 'profile of a surface' , 'projected tolerance zone' , 'regardless of feature size' , 'straightness' , 'symmetry' , 'total runout' ]; - END_ENTITY; -(* USED FROM (Draughting_annotation_mim); *) - ENTITY pre_defined_surface_condition_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN ['000' , '010' , '020' , '030' , '040' , '050' , '060' , '070' , '001' , '011' , '021' , '031' , '041' , '051' , '061' , '071' , '100' , '110' , '120' , '130' , '140' , '150' , '160' , '170' , '101' , '111' , '121' , '131' , '141' , '151' , '161' , '171' , '200' , '210' , '220' , '230' , '240' , '250' , '260' , '270' , '201' , '211' , '221' , '231' , '241' , '251' , '261' , '271']; - END_ENTITY; -(* USED FROM (material_property_representation_schema); *) -ENTITY data_environment; - name : label; - description : text; - elements : SET [1:?] OF property_definition_representation; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY symbol_style - SUBTYPE OF (founded_item); - name : label; - style_of_symbol : symbol_style_select; - END_ENTITY; -(* USED FROM (Construction_geometry_mim); *) - ENTITY constructive_geometry_representation_relationship - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 : constructive_geometry_representation_or_shape_represenation; - SELF\representation_relationship.rep_2 : constructive_geometry_representation; - WHERE - WR1: (SELF.rep_1.context_of_items :=: SELF.rep_2.context_of_items) AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.rep_1.context_of_items)); - WR2: NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF(SELF)); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY symbol_colour; - colour_of_symbol : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tiles - SUBTYPE OF (geometric_representation_item); - tiling_pattern : two_direction_repeat_factor; - tiles : SET [1:?] OF fill_area_style_tile_shape_select; - tiling_scale : positive_ratio_measure; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tile_symbol_with_style - SUBTYPE OF (geometric_representation_item); - symbol : annotation_symbol_occurrence; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY degenerate_pcurve - SUBTYPE OF (point); - basis_surface : surface; - reference_to_curve : definitional_representation; -WHERE - WR1: SIZEOF(reference_to_curve\representation.items) = 1; - WR2: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF (reference_to_curve\representation.items[1]); - WR3: reference_to_curve\representation. items[1]\geometric_representation_item.dim =2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY offset_curve_2d - SUBTYPE OF (curve); - basis_curve : curve; - distance : length_measure; - self_intersect : LOGICAL; -WHERE - WR1: basis_curve.dim = 2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY offset_curve_3d - SUBTYPE OF (curve); - basis_curve : curve; - distance : length_measure; - self_intersect : LOGICAL; - ref_direction : direction; -WHERE - WR1: (basis_curve.dim = 3) AND (ref_direction.dim = 3); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rolling_curve_pair - SUBTYPE OF (planar_curve_pair); -END_ENTITY; -(* USED FROM (application_context_schema); *) -(* Pruned SUPERTYPE *) - ENTITY application_context_element - SUPERTYPE OF (ONEOF ( - PRODUCT_CONCEPT_CONTEXT, - PRODUCT_CONTEXT, - PRODUCT_DEFINITION_CONTEXT)); - name : label; - frame_of_reference : application_context; - END_ENTITY; -(* USED FROM (material_property_representation_schema); *) -ENTITY material_property_representation - SUBTYPE OF (property_definition_representation); - dependent_environment : data_environment; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY polyline - SUBTYPE OF (bounded_curve); - points : LIST[2:?] OF cartesian_point; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY spherical_surface - SUBTYPE OF (elementary_surface); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY character_glyph_style_stroke - SUBTYPE OF (founded_item); - stroke_style : curve_style; - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY apex - SUBTYPE OF (derived_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY centre_of_symmetry - SUBTYPE OF (derived_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY derived_shape_aspect - SUPERTYPE OF (ONEOF ( - APEX, - CENTRE_OF_SYMMETRY, - GEOMETRIC_ALIGNMENT, - GEOMETRIC_CONTACT, - GEOMETRIC_INTERSECTION, - PARALLEL_OFFSET, - PERPENDICULAR_TO, - EXTENSION, - TANGENT)) - SUBTYPE OF (shape_aspect); -INVERSE - deriving_relationships : SET[1:?] OF shape_aspect_deriving_relationship FOR relating_shape_aspect; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY extension - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY geometric_alignment - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY geometric_intersection - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY parallel_offset - SUBTYPE OF (derived_shape_aspect); - offset : measure_with_unit; -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY perpendicular_to - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY shape_aspect_deriving_relationship - SUBTYPE OF (shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : derived_shape_aspect; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY tangent - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY dimensional_location_with_datum_feature - SUBTYPE OF (datum_feature, dimensional_location); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY dimensional_size_with_datum_feature - SUBTYPE OF (datum_feature, dimensional_size); -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY angular_location - SUBTYPE OF (dimensional_location); - angle_selection : angle_relator; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY angular_size - SUBTYPE OF (dimensional_size); - angle_selection : angle_relator; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_characteristic_representation; - dimension : dimensional_characteristic; - representation : shape_dimension_representation; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_location - SUPERTYPE OF (ONEOF ( - ANGULAR_LOCATION, - DIMENSIONAL_LOCATION_WITH_PATH)) - SUBTYPE OF (shape_aspect_relationship); -WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect; - WR2: SELF\shape_aspect_relationship.relating_shape_aspect.of_shape :=: SELF\shape_aspect_relationship.related_shape_aspect.of_shape; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_location_with_path - SUBTYPE OF (dimensional_location); - path : shape_aspect; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_size - SUPERTYPE OF (ONEOF ( - ANGULAR_SIZE, - DIMENSIONAL_SIZE_WITH_PATH)); - applies_to : shape_aspect; - name : label; -DERIVE - id : identifier := get_id_value(SELF); -UNIQUE - UR1: id, applies_to; -WHERE - WR1: applies_to.product_definitional = TRUE; - WR2: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_size_with_path - SUBTYPE OF (dimensional_size); - path : shape_aspect; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY directed_dimensional_location - SUBTYPE OF (dimensional_location); -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY shape_dimension_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF shape_dimension_representation_item; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY limits_and_fits; - form_variance : label; - zone_variance : label; - grade : label; - source : text; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY plus_minus_tolerance; - range : tolerance_method_definition; - toleranced_dimension : dimensional_characteristic; -UNIQUE - UR1: toleranced_dimension; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_value; - lower_bound : measure_with_unit; - upper_bound : measure_with_unit; -DERIVE - ubvc : REAL := upper_bound\measure_with_unit.value_component; - lbvc : REAL := lower_bound\measure_with_unit.value_component; -WHERE - WR1: ubvc > lbvc; - WR2: upper_bound\measure_with_unit.unit_component = lower_bound\measure_with_unit.unit_component; -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY dimension_curve_terminator - SUBTYPE OF (terminator_symbol); - role : dimension_extent_usage; - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE' IN TYPEOF - (SELF\terminator_symbol.annotated_curve); - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY terminator_symbol - SUBTYPE OF (annotation_symbol_occurrence); - annotated_curve : annotation_curve_occurrence; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_blanking_box - SUBTYPE OF (text_literal); - blanking : planar_box; - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY colour_rgb - SUBTYPE OF (colour_specification); - red : REAL; - green : REAL; - blue : REAL; -WHERE - WR1: {0.0 <= red <= 1.0}; - WR2: {0.0 <= green <= 1.0}; - WR3: {0.0 <= blue <= 1.0}; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_curve_font - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY context_dependent_invisibility - SUBTYPE OF (invisibility); - presentation_context : invisibility_context; - END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_text_literal_with_delineation - SUBTYPE OF (text_literal_with_delineation); -WHERE - WR1: SELF.delineation IN ['underline', 'overline']; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_symbol_occurrence - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : annotation_symbol_occurrence_item; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY pre_defined_symbol - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (Presentation_hierarchy_mim); *) - ENTITY applied_presented_item - SUBTYPE OF (presented_item); - items : SET[1:?] OF presented_item_select; - END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_definition; - drawing_number : identifier; - drawing_type : OPTIONAL label; -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_revision - SUBTYPE OF (presentation_set); - revision_identifier : identifier; - drawing_identifier : drawing_definition; - intended_scale : OPTIONAL text; -UNIQUE - UR1: revision_identifier, drawing_identifier; -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_revision_sequence; - predecessor : drawing_revision; - successor : drawing_revision; -WHERE - WR1: predecessor :<>: successor; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY pre_defined_colour - SUBTYPE OF (pre_defined_item, colour); -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_sheet_revision_sequence - SUBTYPE OF (representation_relationship); -WHERE - WR1: SELF\representation_relationship.rep_1 :<>: - SELF\representation_relationship.rep_2; - WR2: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' - IN TYPEOF (SELF\representation_relationship.rep_1); - WR3: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' - IN TYPEOF (SELF\representation_relationship.rep_2); -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_sheet_revision_usage - SUBTYPE OF (area_in_set); - sheet_number : identifier; -UNIQUE - UR1: sheet_number, SELF\area_in_set.in_set; -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN - TYPEOF(SELF\area_in_set.area)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAWING_REVISION' - IN TYPEOF (SELF\area_in_set.in_set)); -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY draughting_title; - items : SET [1:?] OF draughting_titled_item; - language : label; - contents : text; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY pre_defined_text_font - SUBTYPE OF (pre_defined_item); -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY ordinate_dimension - SUBTYPE OF (projection_directed_callout); -END_ENTITY; -(* USED FROM (Currency_mim); *) - ENTITY currency - ABSTRACT SUPERTYPE OF ((ONEOF ( - EXTERNALLY_DEFINED_CURRENCY, - ISO4217_CURRENCY)) ) - SUBTYPE OF (context_dependent_unit); - WHERE - WR1: ((SELF\named_unit.dimensions.length_exponent = 0.0) AND - (SELF\named_unit.dimensions.mass_exponent = 0.0) AND - (SELF\named_unit.dimensions.time_exponent = 0.0) AND - (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND - (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND - (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND - (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0)); - END_ENTITY; -(* USED FROM (Currency_mim); *) - ENTITY currency_measure_with_unit - SUBTYPE OF (measure_with_unit); - SELF\measure_with_unit.unit_component : currency; - END_ENTITY; -(* USED FROM (Currency_mim); *) - ENTITY iso4217_currency - SUBTYPE OF (currency); - END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY absorbed_dose_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ABSORBED_DOSE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_text_occurrence - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : annotation_text_occurrence_item; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_absorbed_dose_unit - SUBTYPE OF (absorbed_dose_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.gray; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY acceleration_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACCELERATION_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY acceleration_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 1.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY radioactivity_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RADIOACTIVITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY radioactivity_unit - SUBTYPE OF (derived_unit); -WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.becquerel); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_radioactivity_unit - SUBTYPE OF (radioactivity_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.becquerel; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY amount_of_substance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AMOUNT_OF_SUBSTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY amount_of_substance_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 1.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY area_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY area_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY celsius_temperature_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY context_dependent_unit - SUBTYPE OF (named_unit); - name : label; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY conversion_based_unit - SUBTYPE OF (named_unit); - name : label; - conversion_factor : measure_with_unit; - WHERE - WR1: SELF\named_unit.dimensions = derive_dimensional_exponents(conversion_factor\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY derived_unit - SUPERTYPE OF (ONEOF ( - ABSORBED_DOSE_UNIT, - ACCELERATION_UNIT, - RADIOACTIVITY_UNIT, - AREA_UNIT, - CAPACITANCE_UNIT, - DOSE_EQUIVALENT_UNIT, - ELECTRIC_CHARGE_UNIT, - CONDUCTANCE_UNIT, - ELECTRIC_POTENTIAL_UNIT, - ENERGY_UNIT, - MAGNETIC_FLUX_DENSITY_UNIT, - FORCE_UNIT, - FREQUENCY_UNIT, - ILLUMINANCE_UNIT, - INDUCTANCE_UNIT, - MAGNETIC_FLUX_UNIT, - POWER_UNIT, - PRESSURE_UNIT, - RESISTANCE_UNIT, - VELOCITY_UNIT, - VOLUME_UNIT)); - elements : SET [1:?] OF derived_unit_element; - DERIVE - name : label := get_name_value(SELF); - WHERE - WR1: (SIZEOF(elements) > 1) OR ((SIZEOF(elements) = 1) AND (elements[1].exponent <> 1.0)); - WR2: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY derived_unit_element; - unit : named_unit; - exponent : REAL; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY dimensional_exponents; - length_exponent : REAL; - mass_exponent : REAL; - time_exponent : REAL; - electric_current_exponent : REAL; - thermodynamic_temperature_exponent : REAL; - amount_of_substance_exponent : REAL; - luminous_intensity_exponent : REAL; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY capacitance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.farad); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY capacitance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CAPACITANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_symbol - SUBTYPE OF (generic_character_glyph_symbol); - character_box : planar_extent; - baseline_ratio : ratio_measure; -DERIVE - box_height : length_measure := character_box.size_in_y; -WHERE - WR1: {0.0 <= baseline_ratio <= 1.0}; - WR2: item_in_context(SELF.character_box, - SELF\representation.context_of_items); - WR3: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' - IN TYPEOF (SELF.box_height); -END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY dose_equivalent_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DOSE_EQUIVALENT_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY dose_equivalent_unit - SUBTYPE OF (derived_unit); -WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.sievert); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_dose_equivalent_unit - SUBTYPE OF (dose_equivalent_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.sievert; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_charge_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.coulomb); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_charge_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_CHARGE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_electric_charge_unit - SUBTYPE OF (electric_charge_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.coulomb; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_current_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_CURRENT_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_current_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 1.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY conductance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.siemens); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY conductance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONDUCTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_conductance_unit - SUBTYPE OF (conductance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.siemens; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_potential_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.volt); - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY thickened_face_solid - SUBTYPE OF (solid_model); - base_element : generalized_surface_select; - offset1 : length_measure; - offset2 : length_measure; -WHERE - WR1: NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF(base_element)) AND - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(base_element)))); - WR2: offset1 <> offset2; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_electric_potential_unit - SUBTYPE OF (electric_potential_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.volt; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY text_font_in_family; - font : text_font; - family : text_font_family; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY energy_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ENERGY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rolling_surface_pair - SUBTYPE OF (surface_pair); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_density_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.tesla); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_density_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAGNETIC_FLUX_DENSITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY sliding_curve_pair - SUBTYPE OF (planar_curve_pair); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY force_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.newton); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY force_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FORCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_force_unit - SUBTYPE OF (force_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.newton; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY frequency_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.hertz); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY frequency_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FREQUENCY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_pair_with_range - SUBTYPE OF (planar_pair); - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; - lower_limit_actual_translation_x : OPTIONAL length_measure; - upper_limit_actual_translation_x : OPTIONAL length_measure; - lower_limit_actual_translation_y : OPTIONAL length_measure; - upper_limit_actual_translation_y : OPTIONAL length_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); - WR2: (NOT EXISTS(lower_limit_actual_translation_x) - OR - NOT EXISTS(upper_limit_actual_translation_x)) - XOR - (lower_limit_actual_translation_x < upper_limit_actual_translation_x); - WR3: (NOT EXISTS(lower_limit_actual_translation_y) - OR - NOT EXISTS(upper_limit_actual_translation_y)) - XOR - (lower_limit_actual_translation_y < upper_limit_actual_translation_y); -END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY integer_representation_item - SUBTYPE OF (representation_item, int_literal); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY illuminance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ILLUMINANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY sliding_surface_pair - SUBTYPE OF (surface_pair); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY inductance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.henry); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY inductance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INDUCTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_inductance_unit - SUBTYPE OF (inductance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.henry; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY real_representation_item - SUBTYPE OF (representation_item, real_literal); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY dimension_pair - SUBTYPE OF (draughting_callout_relationship); -WHERE - WR1: SELF.name IN ['chained', 'parallel']; - WR2: SIZEOF (TYPEOF (SELF.relating_draughting_callout) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANGULAR_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIAMETER_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORDINATE_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RADIUS_DIMENSION'])=1; - WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANGULAR_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIAMETER_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORDINATE_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RADIUS_DIMENSION'])=1; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_flux_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LUMINOUS_FLUX_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_intensity_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LUMINOUS_INTENSITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY dimension_callout_relationship - SUBTYPE OF (draughting_callout_relationship); -WHERE - WR1: SELF.name IN ['primary', 'secondary']; - WR2: SIZEOF (TYPEOF (SELF.relating_draughting_callout) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANGULAR_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIAMETER_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORDINATE_DIMENSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RADIUS_DIMENSION'])>=1; - WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT']) = 0; - WR4: SELF.related_draughting_callout.contents * - SELF.relating_draughting_callout.contents = - SELF.related_draughting_callout.contents; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY diameter_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY datum_target_callout - SUBTYPE OF (draughting_callout); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_magnetic_flux_unit - SUBTYPE OF (magnetic_flux_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.weber; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY mass_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MASS_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY cylindrical_pair_with_range - SUBTYPE OF (cylindrical_pair); - lower_limit_actual_translation : OPTIONAL length_measure; - upper_limit_actual_translation : OPTIONAL length_measure; - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_translation) - OR - NOT EXISTS(upper_limit_actual_translation)) - XOR - (lower_limit_actual_translation < upper_limit_actual_translation); - WR2: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_planar_intersection_point - SUBTYPE OF (implicit_point_on_plane); - external_curve : curve; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY named_unit - SUPERTYPE OF (ONEOF ( - SI_UNIT, - CONVERSION_BASED_UNIT, - CONTEXT_DEPENDENT_UNIT) - ANDOR ONEOF ( - LENGTH_UNIT, - MASS_UNIT, - TIME_UNIT, - ELECTRIC_CURRENT_UNIT, - THERMODYNAMIC_TEMPERATURE_UNIT, - AMOUNT_OF_SUBSTANCE_UNIT, - LUMINOUS_FLUX_UNIT, - LUMINOUS_INTENSITY_UNIT, - PLANE_ANGLE_UNIT, - SOLID_ANGLE_UNIT, - RATIO_UNIT)); - dimensions : dimensional_exponents; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY plane_angle_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY plane_angle_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY power_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.watt); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY power_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POWER_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_power_unit - SUBTYPE OF (power_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.watt; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY pressure_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.pascal); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY pressure_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESSURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_pressure_unit - SUBTYPE OF (pressure_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.pascal; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_model_intersection_curve - SUBTYPE of (implicit_planar_curve); - intersected_model : surface_or_solid_model; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY ratio_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY resistance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.ohm); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY resistance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RESISTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_resistance_unit - SUBTYPE OF (resistance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.ohm; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_unit - SUBTYPE OF (named_unit); - prefix : OPTIONAL si_prefix; - name : si_unit_name; - DERIVE - SELF\named_unit.dimensions : dimensional_exponents := dimensions_for_si_unit(name); - WHERE - WR1: NOT(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MASS_UNIT' IN TYPEOF(SELF)) AND - (SIZEOF(USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DERIVED_UNIT_ELEMENT.UNIT')) > 0)) OR - (prefix = si_prefix.kilo); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY solid_angle_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_ANGLE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY solid_angle_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY thermodynamic_temperature_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY thermodynamic_temperature_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 1.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY time_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TIME_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY time_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 1.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY velocity_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VELOCITY_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY velocity_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY volume_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VOLUME_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY volume_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (External_unit_mim); *) - ENTITY externally_defined_context_dependent_unit - SUBTYPE OF (context_dependent_unit,externally_defined_item); - END_ENTITY; -(* USED FROM (External_unit_mim); *) - ENTITY externally_defined_conversion_based_unit - SUBTYPE OF (conversion_based_unit,externally_defined_item); - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY externally_defined_terminator_symbol - SUBTYPE OF (externally_defined_symbol); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY all_around_shape_aspect - SUBTYPE OF (continuous_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY between_shape_aspect - SUBTYPE OF (continuous_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY continuous_shape_aspect - SUPERTYPE OF (ONEOF ( - BETWEEN_SHAPE_ASPECT, - ALL_AROUND_SHAPE_ASPECT)) - SUBTYPE OF (composite_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY composite_shape_aspect - SUPERTYPE OF (ONEOF ( - CONTINUOUS_SHAPE_ASPECT, - COMMON_DATUM, - COMPOSITE_GROUP_SHAPE_ASPECT)) - SUBTYPE OF (shape_aspect); -INVERSE - component_relationships : SET[2:?] OF shape_aspect_relationship FOR relating_shape_aspect; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY composite_group_shape_aspect - SUBTYPE OF (composite_shape_aspect); -END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY user_defined_marker - SUBTYPE OF (mapped_item, pre_defined_marker); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY contacting_feature - SUBTYPE OF (shape_aspect); -WHERE - WR1: SELF\shape_aspect.product_definitional = FALSE; -END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY user_defined_terminator_symbol - SUBTYPE OF (mapped_item, pre_defined_symbol); - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY vector_style - SUBTYPE OF (curve_style, pre_defined_terminator_symbol); - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY angular_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference; - precedence : INTEGER; - referenced_datum : datum; -WHERE - WR1: precedence > 0; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference_compartment - SUBTYPE OF (general_datum_reference); -INVERSE - owner : datum_system FOR constituents; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference_element - SUBTYPE OF (general_datum_reference); -DERIVE - owner : general_datum_reference := sts_get_general_datum_reference(SELF); -WHERE - WR1: SELF <> owner; - WR2: EXISTS(owner); - WR3: SELF\shape_aspect.of_shape = owner\shape_aspect.of_shape; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_system - SUBTYPE OF (shape_aspect); - constituents : LIST[1:3] OF UNIQUE datum_reference_compartment; -UNIQUE - UR1: SELF\shape_aspect.of_shape,SELF\shape_aspect.name; -WHERE - WR1: SELF\shape_aspect.product_definitional = FALSE; -END_ENTITY; -(* USED FROM (Styled_curve_mim); *) - ENTITY solid_curve_font - SUBTYPE OF (pre_defined_curve_font); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY general_datum_reference - ABSTRACT SUPERTYPE OF (ONEOF ( - DATUM_REFERENCE_COMPARTMENT, - DATUM_REFERENCE_ELEMENT)) - SUBTYPE OF (shape_aspect); - base : datum_or_common_datum; - modifiers : OPTIONAL SET[1:?] OF datum_reference_modifier; -WHERE - WR1: SELF\shape_aspect.name = ''; - WR2: NOT EXISTS(SELF\shape_aspect.description); - WR3: NOT EXISTS(SELF\shape_aspect.id); - WR4: SELF\shape_aspect.product_definitional = FALSE; - WR5: NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM' IN TYPEOF(base)) OR (SELF\shape_aspect.of_shape = base\shape_aspect.of_shape); - WR6: NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMMON_DATUM_LIST' IN TYPEOF(base)) OR (SELF\shape_aspect.of_shape = base[1]\shape_aspect.of_shape); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY geometric_contact - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 2; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY referenced_modified_datum - SUBTYPE OF (datum_reference); - modifier : limit_condition; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_font - SUBTYPE OF (founded_item); - name : label; - pattern_list : LIST [1:?] OF curve_style_font_pattern; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY dimension_related_tolerance_zone_element; - related_dimension : dimensional_location; - related_element : tolerance_zone_definition; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY draughting_pre_defined_curve_font - SUBTYPE OF (pre_defined_curve_font); - WHERE - WR1: SELF.name IN - ['continuous', - 'chain', - 'chain double dash', - 'dashed', - 'dotted']; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY point_style - SUBTYPE OF (founded_item); - name : label; - marker : marker_select; - marker_size : size_select; - marker_colour : colour; - END_ENTITY; -(* USED FROM (Time_interval_assignment_mim); *) -ENTITY applied_time_interval_assignment - SUBTYPE OF (time_interval_assignment); - items : SET[0:?] OF time_interval_item; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY screw_pair_with_range - SUBTYPE OF (screw_pair); - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_occurrence_relationship; - name : label; - description : text; - relating_annotation_occurrence : annotation_occurrence; - related_annotation_occurrence : annotation_occurrence; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_maximum_tolerance - SUBTYPE OF (geometric_tolerance_with_modifiers); - maximum_upper_tolerance : length_measure_with_unit; -WHERE - WR1: (geometric_tolerance_modifier.maximum_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers) OR (geometric_tolerance_modifier.least_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers); - WR2: (maximum_upper_tolerance\measure_with_unit.unit_component = SELF\geometric_tolerance.magnitude\measure_with_unit.unit_component) AND (maximum_upper_tolerance\measure_with_unit.value_component > SELF\geometric_tolerance.magnitude\measure_with_unit.value_component); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_curve_font - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (Work_request_mim); *) -ENTITY applied_action_request_assignment -SUBTYPE OF (action_request_assignment); - items : SET [1 : ?] OF action_request_item; -END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY pre_defined_item; - name : label; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY projected_zone_definition - SUBTYPE OF (tolerance_zone_definition); - projection_end : shape_aspect; - projected_length : length_measure_with_unit; -WHERE - WR1: ('NUMBER' IN TYPEOF (projected_length\measure_with_unit.value_component)) AND (projected_length\measure_with_unit.value_component > 0.0); - WR2: (derive_dimensional_exponents (projected_length\measure_with_unit.unit_component)= dimensional_exponents(1,0,0,0,0,0,0)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY projected_zone_definition_with_offset - SUBTYPE OF (projected_zone_definition); - offset : length_measure_with_unit; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_marker - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_effectivity - SUBTYPE OF (product_definition_effectivity); - configuration : configuration_design; -UNIQUE - UR1: configuration, - SELF\product_definition_effectivity.usage, - SELF\effectivity.id; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_USAGE' IN - TYPEOF (SELF\product_definition_effectivity.usage); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_zone - SUBTYPE OF (shape_aspect); - defining_tolerance : SET[1:?] OF tolerance_zone_target; - form : tolerance_zone_form; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_zone_definition - SUPERTYPE OF (ONEOF ( - PROJECTED_ZONE_DEFINITION, - NON_UNIFORM_ZONE_DEFINITION, - RUNOUT_ZONE_DEFINITION)); - zone : tolerance_zone; - boundaries : SET[0:?] OF shape_aspect; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY externally_defined_symbol - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY cylindricity_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY annotation_plane - SUBTYPE OF (annotation_occurrence, geometric_representation_item); - elements : OPTIONAL SET[1:?] OF annotation_plane_element; - SELF\styled_item.item : plane_or_planar_box; - WHERE - WR1: SELF\geometric_representation_item.dim = 3; - WR2: NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'AXIS2_PLACEMENT_3D' IN TYPEOF(SELF\styled_item.item\planar_box.placement)); - WR3: (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'CURVE_STYLE' IN TYPEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles[1]))) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PLANE' IN TYPEOF(SELF\styled_item.item)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'FILL_AREA_STYLE' IN TYPEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles[1]))); - WR4: (SIZEOF(SELF\styled_item.styles) = 1) AND - (SIZEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles) = 1); - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY line_profile_tolerance - SUBTYPE OF (geometric_tolerance); -END_ENTITY; -(* USED FROM (External_class_mim); *) - ENTITY external_class_library - SUBTYPE OF (external_source); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY swept_disk_solid - SUBTYPE OF (solid_model); - directrix : curve; - radius : positive_length_measure; - inner_radius : OPTIONAL positive_length_measure; - start_param : REAL; - end_param : REAL; -WHERE - WR1: directrix.dim = 3; - WR2: (NOT EXISTS(inner_radius)) OR (radius > inner_radius); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY surface_curve_swept_area_solid - SUBTYPE OF (swept_area_solid); - directrix : curve; - start_param : REAL; - end_param : REAL; - reference_surface : surface; -WHERE - WR1: (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(directrix))) OR (reference_surface IN (directrix\surface_curve.basis_surface)); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY prismatic_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY revolved_area_solid - SUBTYPE OF (swept_area_solid); - axis : axis1_placement; - angle : plane_angle_measure; -DERIVE - axis_line : line := representation_item('')|| geometric_representation_item()|| curve()|| line(axis.location, representation_item('')|| geometric_representation_item()|| vector(axis.z, 1.0)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY circular_runout_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY coaxiality_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY concentricity_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY parallelism_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY extruded_area_solid - SUBTYPE OF (swept_area_solid); - extruded_direction : direction; - depth : positive_length_measure; -WHERE - WR1: dot_product( (SELF\swept_area_solid.swept_area.basis_surface\ elementary_surface.position.p[3]), extruded_direction) <> 0.0; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY symmetry_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_surface_with_knots - SUBTYPE OF (b_spline_surface); - u_multiplicities : LIST[2:?] OF INTEGER; - v_multiplicities : LIST[2:?] OF INTEGER; - u_knots : LIST[2:?] OF parameter_value; - v_knots : LIST[2:?] OF parameter_value; - knot_spec : knot_type; -DERIVE - knot_u_upper : INTEGER := SIZEOF(u_knots); - knot_v_upper : INTEGER := SIZEOF(v_knots); -WHERE - WR1: constraints_param_b_spline(SELF\b_spline_surface.u_degree, knot_u_upper, SELF\b_spline_surface.u_upper, u_multiplicities, u_knots); - WR2: constraints_param_b_spline(SELF\b_spline_surface.v_degree, knot_v_upper, SELF\b_spline_surface.v_upper, v_multiplicities, v_knots); - WR3: SIZEOF(u_multiplicities) = knot_u_upper; - WR4: SIZEOF(v_multiplicities) = knot_v_upper; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY unequally_disposed_geometric_tolerance - SUBTYPE OF (geometric_tolerance); - displacement : length_measure_with_unit; -WHERE - WR1: ('NUMBER' IN TYPEOF (SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component)) AND (SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component > 0.0); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY degenerate_toroidal_surface - SUBTYPE OF (toroidal_surface); - select_outer : BOOLEAN; -WHERE - WR1: major_radius < minor_radius; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY revolute_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY half_space_solid - SUBTYPE OF (geometric_representation_item); - base_surface : surface; - agreement_flag : BOOLEAN; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY low_order_kinematic_pair_with_range - SUBTYPE OF (low_order_kinematic_pair); - lower_limit_actual_rotation_x : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_x : OPTIONAL plane_angle_measure; - lower_limit_actual_rotation_y : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_y : OPTIONAL plane_angle_measure; - lower_limit_actual_rotation_z : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_z : OPTIONAL plane_angle_measure; - lower_limit_actual_translation_x : OPTIONAL length_measure; - upper_limit_actual_translation_x : OPTIONAL length_measure; - lower_limit_actual_translation_y : OPTIONAL length_measure; - upper_limit_actual_translation_y : OPTIONAL length_measure; - lower_limit_actual_translation_z : OPTIONAL length_measure; - upper_limit_actual_translation_z : OPTIONAL length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY right_angular_wedge - SUBTYPE OF (geometric_representation_item); - position : axis2_placement_3d; - x : positive_length_measure; - y : positive_length_measure; - z : positive_length_measure; - ltx : length_measure; -WHERE - WR1: ((0.0 <= ltx) AND (ltx < x)); -END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY product_concept_context - SUBTYPE OF (application_context_element); - market_segment_type : label; - END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept; - id : identifier; - name : label; - description : OPTIONAL text; - market_context : product_concept_context; -UNIQUE - UR1: id; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_multi_clipping_union - SUBTYPE OF (geometric_representation_item); - shape_clipping : SET [2:?] OF camera_model_d3_multi_clipping_union_select; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY vector - SUBTYPE OF (geometric_representation_item); - orientation : direction; - magnitude : length_measure; -WHERE - WR1: magnitude >= 0.0; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_with_light_sources - SUBTYPE OF (camera_model_d3); - sources : SET [1:?] OF light_source; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_substitute; - description : OPTIONAL text; - context_relationship : product_definition_relationship; - substitute_definition : product_definition; - DERIVE - name : label := get_name_value(SELF); - WHERE - WR1: context_relationship.related_product_definition :<>: substitute_definition; - WR2: SIZEOF(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY boxed_half_space - SUBTYPE OF (half_space_solid); - enclosure : box_domain; -END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept_feature_association; - name : label; - description : OPTIONAL text; - concept : product_concept; - feature : product_concept_feature; -END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept_feature; - id : identifier; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY concept_feature_operator; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_ambient - SUBTYPE OF (light_source); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_directional - SUBTYPE OF (light_source); - orientation : direction; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY effectivity_context_assignment - ABSTRACT SUPERTYPE; - assigned_effectivity_assignment : effectivity_assignment; - role : effectivity_context_role; - END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY exclusive_product_concept_feature_category - SUBTYPE OF (product_concept_feature_category); -END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY product_class - SUBTYPE OF (product_concept,characterized_object); -END_ENTITY; -(* USED FROM (Specification_based_configuration_mim); *) -ENTITY configured_effectivity_context_assignment -SUBTYPE OF (effectivity_context_assignment); - SELF\effectivity_context_assignment.assigned_effectivity_assignment: configured_effectivity_assignment; - items : SET [1:?] OF configured_effectivity_context_item; -WHERE -WR1: SIZEOF(SELF.items) = 1; -END_ENTITY; -(* USED FROM (Property_as_definition_mim); *) -ENTITY representation_proxy_item -SUBTYPE OF (representation_item); --- item : representation_proxy_select; -END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY external_source_relationship; - name : label; - description : OPTIONAL text; - relating_source : external_source; - related_source : external_source; - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY product_definition_group_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : product_definition_element_relationship; - items : SET[1:1] OF product_definition_or_product_definition_relationship; - END_ENTITY; -(* USED FROM (Composite_constituent_shape_mim); *) - ENTITY beveled_sheet_representation - SUBTYPE OF (shape_representation); - END_ENTITY; -(* USED FROM (Property_as_definition_mim); *) -ENTITY single_property_is_definition - SUBTYPE OF (property_definition); - SELF\property_definition.definition : product_definition; -UNIQUE - UR1: SELF\property_definition.definition; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presented_item - ABSTRACT SUPERTYPE; - END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY product_concept_feature_category_usage - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : product_concept_feature_category; - items : SET [1:?] OF category_usage_item; -WHERE -WR1 : SELF.role.name IN [ 'mandatory category usage', 'optional category usage' ]; -END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_element_usage - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_element_realization - SUBTYPE OF (characterized_object, product_definition_element_relationship); - END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY point - SUPERTYPE OF (ONEOF ( - CARTESIAN_POINT, - POINT_ON_CURVE, - POINT_ON_SURFACE, - POINT_REPLICA, - DEGENERATE_PCURVE)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY feature_definition - SUPERTYPE OF (ONEOF ( - BOSS, - COMPOUND_FEATURE, - EXTERNALLY_DEFINED_FEATURE_DEFINITION, - FLAT_FACE, - GEAR, - MARKING, - OUTER_ROUND, - OUTSIDE_PROFILE, - POCKET, - PROTRUSION, - REMOVAL_VOLUME, - REPLICATE_FEATURE, - REVOLVED_PROFILE, - RIB_TOP, - ROUND_HOLE, - ROUNDED_END, - SPHERICAL_CAP, - STEP, - SLOT, - THREAD, - TURNED_KNURL) ) - SUBTYPE OF (characterized_object); -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_view - SUBTYPE OF (presentation_representation); - END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY conditional_concept_feature - SUBTYPE OF (product_concept_feature); - condition : concept_feature_relationship_with_condition; -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY projection_curve - SUBTYPE OF (annotation_curve_occurrence); - END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY explicit_procedural_shape_representation_relationship - SUBTYPE OF (explicit_procedural_representation_relationship); - SELF\representation_relationship.rep_1 : procedural_shape_representation; - SELF\representation_relationship.rep_2 : shape_representation; -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY indirectly_selected_shape_elements - SUBTYPE OF (indirectly_selected_elements, - user_selected_shape_elements); - SELF\indirectly_selected_elements.indirectly_picked_items : SET [1:?] OF shape_representation_item; -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY procedural_shape_representation - SUBTYPE OF (procedural_representation, shape_representation); - SELF\representation.items : - SET[1:?] OF procedural_shape_representation_sequence; -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY procedural_shape_representation_sequence - SUBTYPE OF (geometric_representation_item, - procedural_representation_sequence); - SELF\procedural_representation_sequence.elements : LIST [1:?] OF shape_representation_item; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_shape_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF tessellated_item; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF(SELF\representation.context_of_items); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -(* Pruned SUPERTYPE *) -ENTITY modified_solid - ABSTRACT SUPERTYPE OF (ONEOF ( - EDGE_BLENDED_SOLID, - SCULPTURED_SOLID, - SHELLED_SOLID, - MODIFIED_SOLID_WITH_PLACED_CONFIGURATION)) - SUBTYPE OF (solid_model); - rationale : text; - base_solid : base_solid_select; -END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_context - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY conical_stepped_hole_transition - SUBTYPE OF (geometric_representation_item); - transition_number : positive_integer; - cone_apex_angle : plane_angle_measure; - cone_base_radius : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY double_offset_shelled_solid - SUBTYPE OF (shelled_solid); - thickness2 : length_measure; -WHERE - WR1: thickness2 <> 0; - WR2: SELF\shelled_solid.thickness <> thickness2; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY sculptured_solid - SUBTYPE OF (modified_solid); - sculpturing_element : generalized_surface_select; - positive_side : BOOLEAN; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY repositioned_tessellated_item - SUBTYPE OF (tessellated_item); - location : axis2_placement_3d; -WHERE - WR1: NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_CURVE_SET', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_GEOMETRIC_SET', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_POINT_SET', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_SURFACE_SET', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_SHELL', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_SOLID', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_WIRE'] * TYPEOF(SELF)) = 0); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_angle_based_chamfer - SUBTYPE OF (solid_with_chamfered_edges); - offset_distance : positive_length_measure; - left_offset : BOOLEAN; - offset_angle : positive_plane_angle_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_chamfered_edges - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_SINGLE_OFFSET_CHAMFER, - SOLID_WITH_DOUBLE_OFFSET_CHAMFER, - SOLID_WITH_ANGLE_BASED_CHAMFER)) - SUBTYPE OF (edge_blended_solid); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_geometric_set - SUBTYPE OF (tessellated_item); - children : SET[1:?] OF tessellated_item; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_circular_pocket - SUBTYPE OF (solid_with_pocket); - pocket_radius: positive_length_measure; -WHERE - WR1: SELF\solid_with_pocket.floor_blend_radius <= pocket_radius; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_circular_protrusion - SUBTYPE OF (solid_with_protrusion); - protrusion_radius : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_conical_bottom_round_hole - SUBTYPE OF (solid_with_stepped_round_hole); - semi_apex_angle : positive_plane_angle_measure; - tip_radius : non_negative_length_measure; -WHERE - WR1 : tip_radius < - SELF\solid_with_stepped_round_hole.segment_radii[segments]; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_constant_radius_edge_blend - SUBTYPE OF (edge_blended_solid); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_curved_slot - SUBTYPE OF (solid_with_slot); - slot_centreline : bounded_curve; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_double_offset_chamfer - SUBTYPE OF (solid_with_chamfered_edges); - left_offset_distance : positive_length_measure; - right_offset_distance : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_flat_bottom_round_hole - SUBTYPE OF (solid_with_stepped_round_hole); - fillet_radius : non_negative_length_measure; -WHERE - WR1 : fillet_radius < - SELF\solid_with_stepped_round_hole.segment_radii[segments]; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_general_pocket - SUBTYPE OF (solid_with_pocket); - profile : positioned_sketch; - reference_point : point; -WHERE - WR1: SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE'] * TYPEOF(profile.sketch_basis)) = 1; - WR2: profile IN using_items(reference_point,[]); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_structured_item - SUPERTYPE OF (ONEOF ( - TESSELLATED_FACE, - TESSELLATED_EDGE, - TESSELLATED_VERTEX)) - SUBTYPE OF (tessellated_item); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_groove - SUBTYPE OF (solid_with_depression); - groove_radius : positive_length_measure; - groove_width : positive_length_measure; - draft_angle : plane_angle_measure; - floor_fillet_radius : non_negative_length_measure; - external_groove : BOOLEAN; -WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' - IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_edge - SUBTYPE OF (tessellated_structured_item); - coordinates : coordinates_list; - geometric_link : OPTIONAL edge_or_curve; - line_strip : LIST[2:?] OF INTEGER; -END_ENTITY; -(* USED FROM (Functional_breakdown_mim); *) - ENTITY functional_element_usage - SUBTYPE OF (breakdown_element_usage); - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_rectangular_pattern - SUPERTYPE OF ( - SOLID_WITH_INCOMPLETE_RECTANGULAR_PATTERN) - SUBTYPE OF (solid_with_shape_element_pattern); - row_count : positive_integer; - column_count : positive_integer; - row_spacing : length_measure; - column_spacing : length_measure; -WHERE - WR1: (row_count * column_count) > 1; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_rectangular_pocket - SUBTYPE OF (solid_with_pocket); - pocket_length : positive_length_measure; - pocket_width : positive_length_measure; - corner_radius : non_negative_length_measure; -WHERE - WR1: (corner_radius < pocket_width/2) - AND (corner_radius < pocket_length/2); -END_ENTITY; -(* USED FROM (Physical_breakdown_mim); *) - ENTITY physical_breakdown_context - SUBTYPE OF (breakdown_context); - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_single_offset_chamfer - SUBTYPE OF (solid_with_chamfered_edges); - offset_distance : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_spherical_bottom_round_hole - SUBTYPE OF (solid_with_stepped_round_hole); - sphere_radius : positive_length_measure; -WHERE - WR1 : sphere_radius >= - SELF\solid_with_stepped_round_hole.segment_radii[segments]; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_point_set - SUBTYPE OF (tessellated_item); - coordinates : coordinates_list; - point_list : LIST[1:?] OF INTEGER; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_associated_curves - SUBTYPE OF (text_literal); - associated_curves : SET[1:?] of curve; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_vertex - SUBTYPE OF (tessellated_structured_item); - coordinates : coordinates_list; - topological_link : OPTIONAL vertex_point; - point_index : INTEGER; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_tee_section_slot - SUBTYPE OF (solid_with_slot); - tee_section_width : positive_length_measure; - collar_depth : positive_length_measure; -WHERE - WR1: collar_depth < SELF\solid_with_depression.depth; - WR2: tee_section_width > SELF\solid_with_slot.slot_width; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_through_depression - SUBTYPE OF (solid_with_depression); - exit_faces : SET[1:?] OF face_surface; -WHERE - WR1: SIZEOF(TYPEOF(SELF) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_HOLE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_POCKET', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_SLOT']) = 1; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_trapezoidal_section_slot -SUBTYPE OF (solid_with_slot); - draft_angle : plane_angle_measure; - floor_fillet_radius : non_negative_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY triangulated_surface_set - SUBTYPE OF (tessellated_surface_set); - pnindex : LIST[0:?] OF INTEGER; - triangles : LIST[1:?] OF LIST[3:3] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_surface_set.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_surface_set.pnmax <> coordinates.npoints)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_surface_set - ABSTRACT SUPERTYPE OF (ONEOF ( - TRIANGULATED_SURFACE_SET, - COMPLEX_TRIANGULATED_SURFACE_SET)) - SUBTYPE OF (tessellated_item); - coordinates : coordinates_list; - pnmax : INTEGER; - normals : LIST[0:?] OF LIST[3:3] OF REAL; -WHERE - WR1: ((SIZEOF(normals) = 0) OR (SIZEOF(normals) = 1) OR (SIZEOF(normals) = pnmax)); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY curve_based_path_with_orientation_and_parameters - SUBTYPE OF (curve_based_path_with_orientation); - parameters : path_parameter_representation; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY curve_based_path_with_orientation - SUBTYPE OF (kinematic_path_segment); - position_curve : bounded_curve; - orientation_curve : bounded_curve; -WHERE - WR1: TYPEOF(position_curve) = TYPEOF(orientation_curve); -END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY material_designation; - name : label; - definitions : SET [1:?] OF characterized_definition; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_symbol - SUBTYPE OF(mapped_item); - SELF\mapped_item.mapping_source : symbol_representation_map; - SELF\mapped_item.mapping_target : symbol_target; - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF (SELF); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_hatching - SUBTYPE OF (geometric_representation_item); - hatch_line_appearance : curve_style; - start_of_next_hatch_line : one_direction_repeat_factor; - point_of_reference_hatch_line : cartesian_point; - pattern_start : cartesian_point; - hatch_line_angle : plane_angle_measure; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY complex_triangulated_surface_set - SUBTYPE OF (tessellated_surface_set); - pnindex : LIST[0:?] OF INTEGER; - triangle_strips : LIST[0:?] OF LIST[3:?] OF INTEGER; - triangle_fans : LIST[0:?] OF LIST[3:?] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_surface_set.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_surface_set.pnmax <> coordinates.npoints)); - WR3: NOT ((SIZEOF(triangle_strips) = 0) AND (SIZEOF(triangle_fans) = 0)); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_tile_style - SUBTYPE OF (externally_defined_item, geometric_representation_item); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_face - ABSTRACT SUPERTYPE OF (ONEOF ( - TRIANGULATED_FACE, - COMPLEX_TRIANGULATED_FACE)) - SUBTYPE OF (tessellated_structured_item); - coordinates : coordinates_list; - pnmax : INTEGER; - normals : LIST[0:?] OF LIST[3:3] OF REAL; - geometric_link : OPTIONAL face_or_surface; -WHERE - WR1: ((SIZEOF(normals) = 0) OR (SIZEOF(normals) = 1) OR (SIZEOF(normals) = pnmax)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY triangulated_face - SUBTYPE OF (tessellated_face); - pnindex : LIST[0:?] OF INTEGER; - triangles : LIST[1:?] OF LIST[3:3] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_face.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_face.pnmax <> coordinates.npoints)); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY character_glyph_style_outline - SUBTYPE OF (founded_item); - outline_style : curve_style; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style - SUBTYPE OF (founded_item); - name : label; - character_appearance : character_style_select; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_with_spacing - SUBTYPE OF (text_style); - character_spacing : character_spacing_select; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_extent - SUBTYPE OF (composite_text); - extent : planar_extent; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_delineation - SUBTYPE OF (composite_text); - delineation : text_delineation; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_blanking_box - SUBTYPE OF (composite_text); - blanking : planar_box; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY defined_character_glyph - SUBTYPE OF(geometric_representation_item); - definition : defined_glyph_select; - placement : axis2_placement; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY pre_defined_character_glyph - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY externally_defined_character_glyph - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal - SUBTYPE OF (geometric_representation_item); - literal : presentable_text; - placement : axis2_placement; - alignment : text_alignment; - path : text_path; - font : font_select; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_extent - SUBTYPE OF (text_literal); - extent : planar_extent; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_delineation - SUBTYPE OF (text_literal); - delineation : text_delineation; - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_column_header_link - SUBTYPE OF (general_property_relationship); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_hatch_style - SUBTYPE OF (externally_defined_item, geometric_representation_item); - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY draughting_pre_defined_text_font - SUBTYPE of (pre_defined_text_font); -WHERE - WR1: SELF.name[1:8] = 'ISO 3098'; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY externally_defined_text_font - SUBTYPE OF (externally_defined_item); -END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_type - SUBTYPE OF (group); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY null_representation_item - SUBTYPE OF (representation_item); - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY point_to_point_path - SUBTYPE OF (path_node); -DERIVE - SELF\kinematic_path_segment.transition : transition_code := discontinuous; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_text - SUBTYPE OF (mapped_item); - SELF\mapped_item.mapping_target : axis2_placement; - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_STRING_REPRESENTATION' IN - TYPEOF( SELF\mapped_item.mapping_source.mapped_representation); - WR2: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF( SELF); - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY circular_path - SUBTYPE OF (path_node); - via_point : cartesian_point; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_curve_occurrence - SUPERTYPE OF ((ONEOF ( - DIMENSION_CURVE, - LEADER_CURVE, - PROJECTION_CURVE)) ) - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : curve_or_curve_set; - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY range_characteristic - SUBTYPE OF (representation, descriptive_representation_item); - WHERE - WR1: NOT(SELF\representation.name IN ['tolerance', 'minimum tolerance', 'maximum tolerance', - 'nominal tolerance', 'plus minus tolerance', 'symmetrical tolerance', 'statistical tolerance']); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style - SUBTYPE OF (founded_item); - name : label; - curve_font : curve_font_or_scaled_curve_font_select; - curve_width : size_select; - curve_colour : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_for_defined_font; - text_colour : colour; - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY row_representation_item - SUBTYPE OF(compound_representation_item); - SELF\compound_representation_item.item_element : list_representation_item; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_with_mirror - SUBTYPE OF (text_style); - mirror_placement : axis2_placement; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_text_character - SUBTYPE OF (mapped_item); - alignment : text_alignment; - SELF\mapped_item.mapping_target : axis2_placement; - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTER_GLYPH_SYMBOL' IN - TYPEOF (SELF\mapped_item.mapping_source.mapped_representation); - WR2: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF (SELF); - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_font_usage; - character : generic_character_glyph_symbol; - font : text_font; -END_ENTITY; -(* USED FROM (External_properties_mim); *) - ENTITY externally_defined_general_property - SUBTYPE OF (general_property, externally_defined_item); - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_symbol_outline - SUBTYPE OF (character_glyph_symbol); - outlines : SET [1:?] OF annotation_fill_area; -WHERE - WR1: SELF.outlines <= SELF\representation.items; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_symbol_stroke - SUBTYPE OF (character_glyph_symbol); - strokes : SET [1:?] OF curve; -WHERE - WR1: SELF.strokes <= SELF\representation.items; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY generic_character_glyph_symbol - ABSTRACT SUPERTYPE - SUBTYPE OF (symbol_representation); -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY text_font; - id : identifier; - name : label; - description : text; -INVERSE - glyphs : SET [1:?] OF character_glyph_font_usage FOR font; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY text_font_family; - id : identifier; - name : label; - description : text; -INVERSE - fonts : SET [1:?] OF text_font_in_family FOR family; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY geometrical_tolerance_callout - SUBTYPE OF (draughting_callout); -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY linear_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (state_type_schema); *) -ENTITY state_type; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY boolean_representation_item - SUBTYPE OF (representation_item, boolean_literal); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY date_representation_item - SUBTYPE OF (representation_item, date); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY date_time_representation_item - SUBTYPE OF (representation_item, date_and_time); - END_ENTITY; -(* USED FROM (state_type_schema); *) -ENTITY state_type_relationship; - name : label; - description : OPTIONAL text; - relating_state_type : SET[1:?] OF state_type; - related_state_type : SET[1:?] OF state_type; -END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY logical_representation_item - SUBTYPE OF (representation_item, logical_literal); - END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY included_text_block - SUBTYPE of (mapped_item); - WHERE - WR1 : 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRUCTURED_TEXT_REPRESENTATION' IN TYPEOF(SELF\mapped_item.mapping_source.mapped_representation); -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY datum_feature_callout - SUBTYPE OF (draughting_callout); -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY structured_text_composition - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY structured_text_representation - SUBTYPE OF (representation); - SELF\Representation.items : SET [1:?] OF string_representation_item_select; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_planar_projection_point - SUBTYPE OF (implicit_point_on_plane); - external_point : point; - projection_direction : direction; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_planar_curve - ABSTRACT SUPERTYPE OF (ONEOF ( - IMPLICIT_INTERSECTION_CURVE, - IMPLICIT_PROJECTED_CURVE, - IMPLICIT_MODEL_INTERSECTION_CURVE, - IMPLICIT_SILHOUETTE_CURVE)) - SUBTYPE OF (curve, auxiliary_geometric_representation_item); - using_sketch : positioned_sketch; - computed_representation : curve; -DERIVE - curve_plane : plane - := get_plane_of_implicit_geometry(using_sketch); -WHERE - WR1: SIZEOF(TYPEOF(computed_representation) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.IMPLICIT_PLANAR_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA']) = 0; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_intersection_curve - SUBTYPE of (implicit_planar_curve); - external_surface : surface; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_projected_curve - SUBTYPE of (implicit_planar_curve); - external_curve : curve; - projection_direction : direction; -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY tagged_text_format - SUBTYPE OF (representation_context); -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_silhouette_curve - SUBTYPE of (implicit_planar_curve); - silhouetted_model : surface_or_solid_model; - view_direction : direction; -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY uniform_resource_identifier - SUBTYPE OF (descriptive_representation_item); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval; - id : identifier; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY repositioned_neutral_sketch - SUBTYPE OF (mapped_item, geometric_representation_item); -DERIVE - map : representation_map := SELF\mapped_item.mapping_source; -WHERE - WR1 : 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' - IN TYPEOF(map.mapped_representation); - WR2 : 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D' IN - TYPEOF(map.mapping_origin); - WR3 : 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN - TYPEOF(SELF\mapped_item.mapping_target); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval_relationship; - name : label; - description : OPTIONAL text; - relating_time_interval : time_interval; - related_time_interval : time_interval; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY path_parameter_representation - SUBTYPE OF (definitional_representation); - SELF\representation.context_of_items : path_parameter_representation_context; - SELF\representation.items : SET[1:?] OF bounded_curve; -WHERE - WR1: SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY rigid_subsketch - SUBTYPE OF (subsketch); -END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY externally_defined_marker - SUBTYPE OF (externally_defined_symbol, pre_defined_marker); - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY path_parameter_representation_context - SUBTYPE OF (geometric_representation_context, parametric_representation_context); -END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY pre_defined_point_marker_symbol - SUBTYPE OF (pre_defined_marker, pre_defined_symbol); - WHERE - WR1: SELF.name IN ['asterisk','circle','dot','plus','square','triangle','x']; - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY pre_defined_terminator_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN ['blanked arrow', 'blanked box', 'blanked dot', 'blanked triangle', 'dimension origin', 'filled arrow', 'filled box', 'filled dot', 'integral symbol', 'open arrow', 'slash', 'unfilled arrow', 'unfilled triangle', 'filled triangle']; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY event_occurrence; - id : identifier; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model - ABSTRACT SUPERTYPE OF (ONEOF ( - CAMERA_MODEL_D2, - CAMERA_MODEL_D3)) - SUBTYPE OF (geometric_representation_item); - WHERE - WR1: (SIZEOF (USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ITEM_DEFINED_TRANSFORMATION.' + - 'TRANSFORM_ITEM_1')) + - SIZEOF (USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'REPRESENTATION_MAP.MAPPING_ORIGIN')) - ) > 0; - WR2: SIZEOF(USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'STYLED_ITEM.ITEM')) = 0; - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY curve_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY event_occurrence_relationship; - name : label; - description : OPTIONAL text; - relating_event : event_occurrence; - related_event : event_occurrence; -END_ENTITY; -(* USED FROM (Styled_curve_mim); *) - ENTITY user_defined_curve_font - SUBTYPE OF (curve_style_font, mapped_item); - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY relative_event_occurrence - SUBTYPE OF (event_occurrence); - base_event : event_occurrence; - offset : time_measure_with_unit; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY document_usage_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY geometric_representation_context_with_parameter - SUBTYPE OF (geometric_representation_context); - parameter_unit : OPTIONAL unit; -END_ENTITY; -(* USED FROM (External_class_mim); *) - ENTITY externally_defined_class - SUBTYPE OF (class, externally_defined_item); - END_ENTITY; -(* USED FROM (Name_assignment_mim); *) -ENTITY applied_name_assignment - SUBTYPE OF (name_assignment); - item : name_item; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path_defined_by_nodes - SUBTYPE OF (kinematic_path); - SELF\kinematic_path.segments : LIST [1:?] OF path_node; - placement_start : placement; -END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY product_definition_element_relationship - SUBTYPE OF (group); - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path_defined_by_curves - SUBTYPE OF (kinematic_path); - SELF\kinematic_path.segments : LIST [1:?] OF curve_based_path_with_orientation; -END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_of - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Specified_product_mim); *) - ENTITY product_specification - SUBTYPE OF (product_identification, configurable_item); - END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY product_definition_occurrence_relationship; - name : label; - description : OPTIONAL text; - occurrence : product_definition; - occurrence_usage : assembly_component_usage; -WHERE - WR1: occurrence_usage.relating_product_definition :<>: - occurrence; - WR2: occurrence_usage.related_product_definition :<>: - occurrence; - WR3: occurrence.formation :=: - occurrence_usage.related_product_definition.formation; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_fill_area_occurrence - SUBTYPE OF (annotation_occurrence); - fill_style_target : point; - SELF\styled_item.item : annotation_fill_area; - END_ENTITY; -(* USED FROM (Physical_breakdown_mim); *) - ENTITY physical_element_usage - SUBTYPE OF (breakdown_element_usage); - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_element_group_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : product_definition_element_relationship; - items : SET[1:1] OF product_definition_or_breakdown_element_usage; - END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY assembly_component_usage_substitute; - name : label; - definition : OPTIONAL text; - base : assembly_component_usage; - substitute : assembly_component_usage; -UNIQUE - UR1: base,substitute; -WHERE - WR1: base.relating_product_definition :=: - substitute.relating_product_definition; - WR2: base :<>: substitute; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY alternate_product_relationship; - name : label; - definition : OPTIONAL text; - alternate : product; - base : product; - basis : text; -UNIQUE - UR1: alternate, base; -WHERE - WR1: alternate :<>: base; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_solid - SUBTYPE OF (tessellated_item); - items : SET[1:?] OF tessellated_structured_item; - geometric_link : OPTIONAL manifold_solid_brep; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_shell - SUBTYPE OF (tessellated_item); - items : SET[1:?] OF tessellated_structured_item; - topological_link : OPTIONAL connected_face_set; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_wire - SUBTYPE OF (tessellated_item); - items : SET[1:?] OF tessellated_edge_or_vertex; - geometric_model_link : OPTIONAL path_or_composite_curve; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_curve_set - SUBTYPE OF (tessellated_item); - coordinates : coordinates_list; - line_strips : LIST[1:?] OF LIST[2:?] OF INTEGER; -END_ENTITY; -(* USED FROM (Functional_breakdown_mim); *) - ENTITY functional_breakdown_context - SUBTYPE OF (breakdown_context); - END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY component_definition - SUBTYPE OF (product_definition, product_definition_relationship); - DERIVE - SELF\product_definition_relationship.related_product_definition : component_definition := SELF; - WHERE - WR1: NOT EXISTS(SELF\product_definition_relationship.description); - WR2: NOT EXISTS(SELF\property_definition.description); - WR3: SELF\product_definition_relationship.id = SELF\product_definition.id; - WR4: SELF\product_definition_relationship.name = 'definition usage'; - WR5: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_USAGE' IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_connecting_edge - SUBTYPE OF (tessellated_edge); - smooth : LOGICAL; - face1 : tessellated_face; - face2 : tessellated_face; - line_strip_face1 : LIST[2:?] OF INTEGER; - line_strip_face2 : LIST[2:?] OF INTEGER; -WHERE - WR1: SIZEOF(line_strip_face1) = SIZEOF(line_strip_face2); - WR2: SIZEOF(line_strip_face1) = SIZEOF(SELF\tessellated_edge.line_strip); -END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY physical_component - SUBTYPE OF (assembly_component); -END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY thermal_component - SUBTYPE OF (assembly_component); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY linear_path - SUBTYPE OF (path_node); -DERIVE - SELF\kinematic_path_segment.transition : transition_code := continuous; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY curve_based_path - SUBTYPE OF (path_node); - path_curve : curve; -END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY component_path_shape_aspect - SUBTYPE OF (shape_aspect); - location : multi_or_next_assembly_usage_occurrence; - component_shape_aspect : internal_or_reflected_shape_aspect; - UNIQUE - UR1 : location, component_shape_aspect; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY manifold_solid_brep - SUBTYPE OF (solid_model); - outer : closed_shell; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY interpolated_configuration_representation - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context_with_parameter; - SELF\representation.items : SET[1:?] OF interpolated_configuration_sequence; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY complex_triangulated_face - SUBTYPE OF (tessellated_face); - pnindex : LIST[0:?] OF INTEGER; - triangle_strips : LIST[0:?] OF LIST[3:?] OF INTEGER; - triangle_fans : LIST[0:?] OF LIST[3:?] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_face.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_face.pnmax <> coordinates.npoints)); - WR3: NOT ((SIZEOF(triangle_strips) = 0) AND (SIZEOF(triangle_fans) = 0)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY coordinates_list - SUBTYPE OF (tessellated_item); - npoints : INTEGER; - position_coords : LIST[1:?] OF LIST[3:3] OF REAL; -WHERE - WR1: npoints = SIZEOF(position_coords); - WR2: SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPOSITIONED_TESSELLATED_ITEM'] * TYPEOF(SELF)) = 0; -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY tessellated_annotation_occurrence - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : tessellated_geometric_set; - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_table_header - SUBTYPE OF (general_property); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_column_header - SUBTYPE OF (general_property); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY brep_with_voids - SUBTYPE OF (manifold_solid_brep); - voids : SET[1:?] OF oriented_closed_shell; -END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_table_header_decomposition - SUBTYPE OF (general_property_relationship); - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY path_node - ABSTRACT SUPERTYPE OF (ONEOF ( - POINT_TO_POINT_PATH, - CIRCULAR_PATH, - LINEAR_PATH, - CURVE_BASED_PATH)) - SUBTYPE OF (kinematic_path_segment); - placement_end : placement; -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY closed_shell - SUBTYPE OF (connected_face_set); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY oriented_closed_shell - SUBTYPE OF (closed_shell); - closed_shell_element : closed_shell; - orientation : BOOLEAN; - DERIVE - SELF\connected_face_set.cfs_faces : SET [1:?] OF face - := conditional_reverse(SELF.orientation, - SELF.closed_shell_element.cfs_faces); - WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' - IN TYPEOF (SELF.closed_shell_element)); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY oriented_face - SUBTYPE OF (face); - face_element : face; - orientation : BOOLEAN; - DERIVE - SELF\face.bounds : SET[1:?] OF face_bound - := conditional_reverse(SELF.orientation,SELF.face_element.bounds); - WHERE - WR1: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF (SELF.face_element)); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY shape_representation_with_parameters - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF shape_representation_with_parameters_items; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY extruded_face_solid - SUBTYPE OF (swept_face_solid); - extruded_direction : direction; - depth : positive_length_measure; -WHERE - WR1: dot_product( (SELF\swept_face_solid.swept_face.face_geometry\ elementary_surface.position.p[3]), extruded_direction) <> 0.0; -END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document; - id : identifier; - name : label; - description : OPTIONAL text; - kind : document_type; - INVERSE - representation_types : SET [0:?] OF document_representation_type FOR represented_document; - END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_representation_type; - name : label; - represented_document : document; - END_ENTITY; -(* USED FROM (Foundation_state_definition_mim); *) -ENTITY applied_state_type_assignment - SUBTYPE OF (state_type_assignment); ---for bug in 409 items are not extended --- items : SET[1:?] OF state_type_of_item; -END_ENTITY; -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY free_kinematic_motion_representation - SUBTYPE OF (representation_relationship_with_transformation); -SELF\representation_relationship.rep_1: - representative_shape_representation; -SELF\representation_relationship.rep_2: - representative_shape_representation; - motion : kinematic_path; -WHERE -WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ITEM_DEFINED_TRANSFORMATION' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator); -WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2)); -WR3: ((dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_1) = 3 ) AND - (dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_2) = 3 )); -WR4:(SELF\representation_relationship.rep_1 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1))) AND - (SELF\representation_relationship.rep_2 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2))); -END_ENTITY; -- free_kinematic_motion_representation -(* USED FROM (state_type_schema); *) -ENTITY state_type_assignment - ABSTRACT SUPERTYPE; - assigned_state_type : state_type; - role : state_type_role; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -(* Pruned SUPERTYPE *) -ENTITY swept_face_solid - SUPERTYPE OF (ONEOF ( - EXTRUDED_FACE_SOLID, - REVOLVED_FACE_SOLID)) - SUBTYPE OF (solid_model); - swept_face : face_surface; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(swept_face.face_geometry); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY torus - SUBTYPE OF (geometric_representation_item); - position : axis1_placement; - major_radius : positive_length_measure; - minor_radius : positive_length_measure; -WHERE - WR1: major_radius > minor_radius; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY sphere - SUBTYPE OF (geometric_representation_item); - radius : positive_length_measure; - centre : point; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY right_circular_cylinder - SUBTYPE OF (geometric_representation_item); - position : axis1_placement; - height : positive_length_measure; - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY tagged_text_item - SUBTYPE OF (descriptive_representation_item); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY revolved_face_solid - SUBTYPE OF (swept_face_solid); - axis : axis1_placement; - angle : plane_angle_measure; -DERIVE - axis_line : line := representation_item('')|| geometric_representation_item()|| curve()|| line(axis.location, representation_item('')|| geometric_representation_item()|| vector(axis.z, 1.0)); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY generated_finite_numeric_space - SUBTYPE OF (finite_space); - start_value : maths_number; - increment_value : maths_number; - increment_number : positive_integer; -DERIVE - SELF\finite_space.members : SET [2:?] OF maths_number - := make_numeric_set(start_value, increment_value, increment_number); -WHERE - WR1: increment_value <> 0.0; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path_segment - ABSTRACT SUPERTYPE OF (ONEOF ( - PATH_NODE, - CURVE_BASED_PATH_WITH_ORIENTATION)) - SUBTYPE OF (founded_item); - t_end : parameter_value; - transition : transition_code; -END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY auxiliary_geometric_representation_item - SUBTYPE OF (geometric_representation_item, - variational_representation_item); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval_with_bounds - SUBTYPE OF (time_interval); - primary_bound : OPTIONAL date_time_or_event_occurrence; - secondary_bound : OPTIONAL date_time_or_event_occurrence; - duration : OPTIONAL time_measure_with_unit; -WHERE - WR1: NOT (EXISTS(secondary_bound) AND EXISTS(duration)); - WR2: EXISTS(primary_bound) OR EXISTS(secondary_bound); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY block - SUBTYPE OF (geometric_representation_item); - position : axis2_placement_3d; - x : positive_length_measure; - y : positive_length_measure; - z : positive_length_measure; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY link_motion_representation_along_path - SUPERTYPE OF (ONEOF ( - PRESCRIBED_PATH, - RESULTING_PATH) ) - SUBTYPE OF (representation); - SELF\representation.items : SET [1:?] OF kinematic_path; - SELF\representation.context_of_items : geometric_representation_context_with_parameter; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY right_circular_cone - SUBTYPE OF (geometric_representation_item); - position : axis1_placement; - height : positive_length_measure; - radius : length_measure; - semi_angle : plane_angle_measure; -WHERE - WR1: radius >= 0.0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_pcurve - SUBTYPE OF (bounded_curve, pcurve); -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF(SELF\pcurve.reference_to_curve.items[1])); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY unbound_variational_parameter_semantics - SUBTYPE OF (variable_semantics); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY instance_attribute_reference - SUBTYPE OF (variable_semantics); - attribute_name : attribute_identifier; - owning_instance : representation_item; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY item_link_motion_relationship - SUBTYPE OF (link_motion_relationship); - SELF\representation_relationship.rep_1 : shape_representation; - item : geometric_representation_item; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY link_motion_transformation - SUBTYPE OF (item_defined_transformation); - SELF\item_defined_transformation.transform_item_1 : rigid_placement; - SELF\item_defined_transformation.transform_item_2 : kinematic_path; -END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY assembly_component - SUBTYPE OF (component_definition, product_definition_shape); - DERIVE - SELF\property_definition.definition : assembly_component := SELF; - WHERE - WR1: NOT EXISTS(SELF\property_definition.description); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_surface_curve - SUBTYPE OF (bounded_curve, surface_curve); -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF(SELF\surface_curve.curve_3d)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY evaluated_degenerate_pcurve - SUBTYPE OF (degenerate_pcurve); - equivalent_point : cartesian_point; -END_ENTITY; -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY constrained_kinematic_motion_representation - SUBTYPE OF (representation_relationship_with_transformation); -SELF\representation_relationship.rep_1: - representative_shape_representation; -SELF\representation_relationship.rep_2: - representative_shape_representation; -WHERE -WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2)); -WR2: ((dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_1) = 3 ) AND - (dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_2) = 3 )); -WR3:(SELF\representation_relationship.rep_1 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1))) AND - (SELF\representation_relationship.rep_2 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2))); -WR4: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KINEMATIC_PAIR' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator); -END_ENTITY; -- constrained_kinematic_motion_representation -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY interpolated_configuration_segment - SUBTYPE OF (founded_item); - state : mechanism_state_representation; - t_parameter : parameter_value; - interpolation : interpolation_type; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY link_motion_relationship - SUBTYPE OF (definitional_representation_relationship, representation_relationship_with_transformation); - SELF\representation_relationship.rep_1 : link_or_shape_representation; - SELF\representation_relationship.rep_2 : link_motion_representation_along_path; - SELF\representation_relationship_with_transformation.transformation_operator : link_motion_transformation; -WHERE - WR1: transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items; - WR2: transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY seam_curve - SUBTYPE OF (surface_curve); -WHERE - WR1: SIZEOF(SELF\surface_curve.associated_geometry) = 2; - WR2: associated_surface(SELF\surface_curve.associated_geometry[1]) = associated_surface(SELF\surface_curve.associated_geometry[2]); - WR3: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(SELF\surface_curve.associated_geometry[1]); - WR4: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(SELF\surface_curve.associated_geometry[2]); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY intersection_curve - SUBTYPE OF (surface_curve); -WHERE - WR1: SIZEOF(SELF\surface_curve.associated_geometry) = 2; - WR2: associated_surface(SELF\surface_curve.associated_geometry[1]) <> associated_surface(SELF\surface_curve.associated_geometry[2]); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY unbound_parameter_environment - SUBTYPE OF (environment); -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN - TYPEOF(SELF\environment.syntactic_representation)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER_SEMANTICS' IN - TYPEOF(SELF\environment.semantics)); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY bound_parameter_environment - SUBTYPE OF (environment); -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN - TYPEOF(SELF\environment.syntactic_representation)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INSTANCE_ATTRIBUTE_REFERENCE' IN - TYPEOF(SELF\environment.semantics)); -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_layer_assignment; - name : label; - description : text; - assigned_items : SET [1:?] OF layered_item; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY open_shell - SUBTYPE OF (connected_face_set); - END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY bound_variational_parameter - SUBTYPE OF (variational_parameter); -DERIVE - SELF\variational_parameter.parameter_current_value : maths_value := ?; -WHERE -WR1 : 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUND_PARAMETER_ENVIRONMENT' - IN TYPEOF(SELF\generic_variable.interpretation); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY unbound_variational_parameter - SUBTYPE OF (variational_parameter); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNBOUND_PARAMETER_ENVIRONMENT' - IN TYPEOF(SELF\generic_variable.interpretation); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY variational_parameter - ABSTRACT SUPERTYPE OF (ONEOF ( - BOUND_VARIATIONAL_PARAMETER, - UNBOUND_VARIATIONAL_PARAMETER)) - SUBTYPE OF (variational_representation_item, maths_variable); - parameter_description : OPTIONAL text; - parameter_current_value : maths_value; -WHERE - WR1 : member_of(parameter_current_value, - SELF\maths_variable.values_space); - WR2 : SELF\maths_variable.name = SELF\representation_item.name; -END_ENTITY; -(* USED FROM (aic_curve_swept_solid); *) - ENTITY curve_swept_solid_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_AREA_SOLID', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_DISK_SOLID', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * - TYPEOF(it)) = 1))) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_AREA_SOLID', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_DISK_SOLID', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' IN - TYPEOF(mi\mapped_item.mapping_source. - mapped_representation)))) = 0; - WR4: SIZEOF (QUERY (scsas <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE_SWEPT_AREA_SOLID' IN - TYPEOF(it)) | - NOT(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN - TYPEOF(scsas\surface_curve_swept_area_solid.directrix)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN - TYPEOF(scsas\surface_curve_swept_area_solid.directrix))))) = 0; - END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY product_definition_usage - SUPERTYPE OF (ONEOF ( - MAKE_FROM_USAGE_OPTION, - ASSEMBLY_COMPONENT_USAGE)) - SUBTYPE OF (product_definition_relationship); -UNIQUE - UR1: SELF\product_definition_relationship.id, - SELF\product_definition_relationship.relating_product_definition, - SELF\product_definition_relationship.related_product_definition; -WHERE - WR1: acyclic_product_definition_relationship - (SELF, - [SELF\product_definition_relationship.related_product_definition], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_USAGE'); -END_ENTITY; -(* USED FROM (Specification_control_mim); *) - ENTITY class_usage_effectivity_context_assignment - SUBTYPE OF (effectivity_context_assignment); - items : SET [1:?] OF class_usage_effectivity_context_item; - WHERE - WR1: SELF.role.name = 'class usage influence'; - WR2: SIZEOF( QUERY( i <* SELF.items | NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) )) = 0; - WR3: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF(SELF.assigned_effectivity_assignment)) AND - (SIZEOF(TYPEOF(SELF.assigned_effectivity_assignment.assigned_effectivity) ) = 1) AND - (SELF.assigned_effectivity_assignment.assigned_effectivity.id = 'class usage') AND - (SIZEOF( QUERY( i <* SELF.assigned_effectivity_assignment\applied_effectivity_assignment.items | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF(i)) )) = 0); - END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY explicit_procedural_geometric_representation_item_relationship - SUBTYPE OF (explicit_procedural_representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : - procedural_shape_representation_sequence; - SELF\representation_item_relationship.related_representation_item : - geometric_representation_item; -WHERE - WR1 : NOT ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION_SEQUENCE' - IN TYPEOF( - SELF\representation_item_relationship.related_representation_item)); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY common_datum - SUBTYPE OF (composite_shape_aspect, datum); -WHERE - WR1: SIZEOF (SELF\composite_shape_aspect.component_relationships) = 2; - WR2: SIZEOF (QUERY ( sar <* SELF\composite_shape_aspect.component_relationships| NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM' IN TYPEOF (sar.related_shape_aspect)) AND NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMMON_DATUM' IN TYPEOF (sar.related_shape_aspect))) )) = 0; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_placements - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)); - WR3 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'PLANE_ANGLE_AND_LENGTH_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT']); - WR5 : validate_locations_of_extreme_value_type(SELF, - []); - WR6 : validate_accuracy_types(SELF, - []); - WR7 : SIZEOF(QUERY(sdqr <* bag_to_set(USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(sdqr)) AND - (SIZEOF(QUERY(sdqiir <* bag_to_set(USEDIN(sdqr, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(sdqiir)) AND - (SIZEOF(QUERY(sdqiri <* sdqiir.inspected_instances| - (TYPEOF(sdqiri.inspected_elements[1]) - <>TYPEOF(sdqiri.inspected_elements[2])))) = 0) - )) = 0) - )) = 0; - END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY neutral_sketch_representation - SUBTYPE OF (shape_representation); - neutral_sketch_semantics : curves_or_area; - SELF\representation.items : SET[1:?] OF sketch_element_select; -WHERE - WR1: SIZEOF(QUERY(q <* items | NOT( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(q)) AND - (q\geometric_representation_item.dim = 3)))) = 0; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY generic_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_GENERIC_EXPRESSION, - UNARY_GENERIC_EXPRESSION, - BINARY_GENERIC_EXPRESSION, - MULTIPLE_ARITY_GENERIC_EXPRESSION)); -WHERE - WR1: is_acyclic(SELF); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_material_property_representation - SUBTYPE OF (material_property_representation); -WHERE - WR1: SIZEOF (QUERY (item <* - SELF\property_definition_representation.used_representation.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_LINEAR_ELASTICITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MASS_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AREA_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MOISTURE_ABSORPTION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_MEMBRANE_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_BENDING_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_MEMBRANE_BENDING_COUPLING_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_SHEAR_STIFFNESS'] * TYPEOF (item) - ) = 1 - )) = 1; - WR2: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MATERIAL_PROPERTY' IN - TYPEOF (SELF\property_definition_representation.definition); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY fixed_instance_attribute_set - SUBTYPE OF (variational_representation_item); - fixed_attributes : SET[1:?] OF instance_attribute_reference; -WHERE - WR1: SIZEOF(QUERY(q <* using_representations(SELF) | - SIZEOF(QUERY(r <* q.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' - IN TYPEOF(r))) > 1)) = 0; -END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY assembly_joint - SUBTYPE OF (component_feature_joint); -WHERE - WR1: acyclic_shape_aspect_relationship(SELF, - [SELF\shape_aspect_relationship.related_shape_aspect], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'ASSEMBLY_JOINT'); -END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY variational_representation_item - ABSTRACT SUPERTYPE OF ( - AUXILIARY_GEOMETRIC_REPRESENTATION_ITEM) - SUBTYPE OF (representation_item); -WHERE - WR1: SIZEOF(QUERY(q <* using_representations(SELF) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION' - IN TYPEOF(q)))) = 0; - WR2: SIZEOF(QUERY(q <* using_representations(SELF) | - NOT (SELF IN q.items))) = 0; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY open_edge_loop - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY variational_representation - SUBTYPE OF (representation); -INVERSE - cm_link : variational_current_representation_relationship FOR rep_1; -WHERE - WR1: SIZEOF(QUERY(q <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' - IN TYPEOF(q))) > 0; - WR2: SIZEOF(QUERY(q <* (SELF\representation.items - - cm_link.rep_2.items) | invalidate_vrep_item(q))) = 0; -END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY variational_current_representation_relationship - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 - : variational_representation; - current_result : representation; -UNIQUE - UR1: current_result; -WHERE - WR1: QUERY(q <* SELF\representation_relationship.rep_1.items | NOT - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' - IN TYPEOF(q))) = SELF\representation_relationship.rep_2.items; - WR2: SELF\representation_relationship.rep_1.context_of_items :=: - SELF\representation_relationship.rep_2.context_of_items; - WR3: SIZEOF(QUERY(q <* SELF\representation_relationship.rep_2.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' - IN TYPEOF(q))) = 0; - WR4: TYPEOF(SELF\representation_relationship.rep_1) - - TYPEOF(SELF\representation_relationship.rep_2) = - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION']; - WR5: current_result :=: SELF\representation_relationship.rep_2; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY free_edge - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - WR5 : SIZEOF(QUERY(sdqr <* bag_to_set(USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(sdqr)) AND - (SIZEOF(QUERY(sdqiir <* bag_to_set(USEDIN(sdqr, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(sdqiir)) AND - (SIZEOF(QUERY(sdqiri <* sdqiir.inspected_instances| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL' - IN TYPEOF(sdqiri.inspected_elements[1])))) = 0) - )) = 0) - )) = 0; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_value_range - SUBTYPE OF(compound_representation_item); - WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SET_REPRESENTATION_ITEM' - IN TYPEOF (SELF\compound_representation_item.item_element)) AND - ((SIZEOF(SELF\compound_representation_item.item_element) = 2) AND - ((SIZEOF(QUERY (i1 <* SELF\compound_representation_item.item_element | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i1)))) = 2) - OR (SIZEOF(QUERY (i2 <* SELF\compound_representation_item.item_element | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF(i2)))) = 2))) ; - WR2 : (SIZEOF(QUERY (i <* SELF\compound_representation_item.item_element - | (i.name = 'upper limit'))) = 1) - AND (SIZEOF(QUERY (i <* SELF\compound_representation_item.item_element - | (i.name = 'lower limit'))) = 1); - WR3 : (SIZEOF(QUERY(i1 <* SELF\compound_representation_item.item_element | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND - (SIZEOF (QUERY (i2 <* SELF\compound_representation_item.item_element | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i2)) AND - (i1 :<>: i2) AND - (i1\measure_with_unit.unit_component :=: i2\measure_with_unit.unit_component))) = 1))) = 2) - OR - (SIZEOF(QUERY(i1 <* SELF\compound_representation_item.item_element | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND - (SIZEOF (QUERY (i2 <* SELF\compound_representation_item.item_element | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF (i2)) AND - (i1 :<>: i2) AND - (TYPEOF(i1\value_representation_item.value_component) = - TYPEOF(i2\value_representation_item.value_component))) - ) = 1))) = 2); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY rational_representation_item - SUBTYPE OF (representation_item, slash_expression); - WHERE - WR1: SIZEOF( QUERY( operand <* SELF\binary_generic_expression.operands | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INT_LITERAL' IN TYPEOF(operand)))) = 0; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_measurement_requirement - SUBTYPE OF(representation_item); - WHERE - WR1 : SIZEOF(QUERY(q <* - bag_to_set( USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY composite_curve - SUBTYPE OF (bounded_curve); - segments : LIST[1:?] OF composite_curve_segment; - self_intersect : LOGICAL; -DERIVE - n_segments : INTEGER := SIZEOF(segments); - closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous; -WHERE - WR1: ((NOT closed_curve) AND (SIZEOF(QUERY(temp <* segments | temp.transition = discontinuous)) = 1)) OR ((closed_curve) AND (SIZEOF(QUERY(temp <* segments | temp.transition = discontinuous)) = 0)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY shell_based_surface_model - SUBTYPE OF (geometric_representation_item); - sbsm_boundary : SET[1:?] OF shell; -WHERE - WR1: constraints_geometry_shell_based_surface_model(SELF); -END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY table_representation_item - SUBTYPE OF (compound_representation_item); - WHERE - WR1: SIZEOF(QUERY(itet <* SELF\compound_representation_item.item_element | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROW_REPRESENTATION_ITEM' IN TYPEOF(itet)) - )) = 0; - END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY absorbed_dose_unit - SUBTYPE OF (derived_unit); -WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.gray); -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_symbol_representation - SUBTYPE of (symbol_representation); - SELF\representation.items : SET[1:?] OF draughting_symbol_representation_item; -UNIQUE - UR1: SELF\representation.name; -WHERE - WR1: - SIZEOF (QUERY (item <* SELF\representation.items | - (SIZEOF (TYPEOF (item) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE']) = 1) - )) >= 1; - WR2: - SIZEOF (QUERY (item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE' - IN TYPEOF (item))) = 0; - WR3: - SIZEOF ( QUERY (rm <* - USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SYMBOL_REPRESENTATION_MAP' - IN TYPEOF(rm)))) = 0; - WR4: - SIZEOF (SELF.context_of_items.representations_in_context) = 1; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_with_box_characteristics - SUBTYPE OF (text_style); - characteristics : SET [1:4] OF box_characteristic_select; - WHERE - WR1: SIZEOF( QUERY( c1 <* SELF.characteristics | - SIZEOF( QUERY( c2 <* SELF.characteristics - c1 | - TYPEOF (c1) = TYPEOF (c2) - )) > 0 - )) = 0; - END_ENTITY; -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY shape_aspect_relationship_representation_association; - represented_shape_aspect_relationship: shape_aspect_relationship; - representing_representation_relationship : representation_relationship; -WHERE -WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN - TYPEOF(representing_representation_relationship\ - representation_relationship.rep_1)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN - TYPEOF(representing_representation_relationship\ - representation_relationship.rep_2)); -WR2: (represented_shape_aspect_relationship.relating_shape_aspect IN - using_shape_aspect_of_shape_representation - (representing_representation_relationship.rep_1)) AND - (represented_shape_aspect_relationship.related_shape_aspect IN - using_shape_aspect_of_shape_representation - (representing_representation_relationship.rep_2)); -WR3: ((find_representative_shape_representation_of_product_definition - (using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect)). - context_of_items) :=: - (find_representative_shape_representation_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect). - context_of_items)) AND - ((find_representative_shape_representation_of_product_definition - (using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect)). - context_of_items) :=: - (find_representative_shape_representation_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect). - context_of_items)); -WR4: using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect) :<>: - using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect); -WR5: find_assembly_root ([using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect)]) :=: - find_assembly_root ([using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect)]); -END_ENTITY; -- shape_aspect_relationship_representation_association -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY representative_shape_representation - SUBTYPE OF (shape_representation); -WHERE -WR1: unique_in_product_definition (SELF) OR unique_in_shape_aspect (SELF); -END_ENTITY; -- representative_shape_representation -(* USED FROM (presentation_definition_schema); *) - ENTITY text_string_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF text_string_representation_item; - WHERE - WR1: SIZEOF ( - QUERY (item <* SELF\representation.items | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_CHARACTER', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEFINED_CHARACTER_GLYPH', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT'] * - TYPEOF (item)) = 0) - )) >= 1; - WR2: SIZEOF ( - QUERY (a2p <* - QUERY (item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF (item)) | - NOT ((SIZEOF ( - QUERY (at <* - QUERY (item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ANNOTATION_TEXT' IN TYPEOF (item)) | - (at\mapped_item.mapping_target :=: a2p))) >= 1) OR - (SIZEOF ( - QUERY (atc <* - QUERY (item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ANNOTATION_TEXT_CHARACTER' IN TYPEOF (item)) | - (atc\mapped_item.mapping_target :=: a2p))) >= 1) - ))) = 0; - END_ENTITY; -(* USED FROM (Extended_measure_representation_mim); *) - ENTITY value_range - SUBTYPE OF (compound_representation_item); - WHERE - WR1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'SET_REPRESENTATION_ITEM' IN TYPEOF ( item_element ) ) AND value_range_wr1 ( item_element ); - WR2: value_range_wr2 ( item_element ); - WR3: value_range_wr3 ( item_element ); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY curve_replica - SUBTYPE OF (curve); - parent_curve : curve; - transformation : cartesian_transformation_operator; -WHERE - WR1: transformation.dim = parent_curve.dim; - WR2: acyclic_curve_replica (SELF, parent_curve); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY interpolated_configuration_sequence - SUBTYPE OF (representation_item); - segments : LIST[2:?] OF interpolated_configuration_segment; -DERIVE - n_segments : INTEGER := SIZEOF(segments); - closed_interpolation : LOGICAL := segments[n_segments].interpolation <> discontinuous_interpolation_type; - configured_mechanism : mechanism_representation := segments[1].state.represented_mechanism; -WHERE - WR1: SIZEOF( QUERY(ics <* segments | ics.state.represented_mechanism :<>: configured_mechanism)) = 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_replica - SUBTYPE OF (surface); - parent_surface : surface; - transformation : cartesian_transformation_operator_3d; -WHERE - WR1: acyclic_surface_replica(SELF, parent_surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY point_replica - SUBTYPE OF (point); - parent_pt : point; - transformation : cartesian_transformation_operator; -WHERE - WR1: transformation.dim = parent_pt.dim; - WR2: acyclic_point_replica (SELF,parent_pt); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY uncertainty_measure_with_unit - SUBTYPE OF (measure_with_unit); - name : label; - description : OPTIONAL text; - WHERE - WR1: valid_measure_value (SELF\measure_with_unit.value_component); - END_ENTITY; -(* USED FROM (product_analysis_schema); *) -ENTITY temporal_spatial_domain; - id : identifier; - name : label; - description : text; -WHERE - wr1: definition_for_temporal_spatial_domain(SELF); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_target - SUBTYPE OF (shape_aspect); - target_id : identifier; -INVERSE - target_basis_relationship : SET[1:?] OF shape_aspect_relationship FOR relating_shape_aspect; -WHERE - WR1: SIZEOF(QUERY(sar <* SELF\datum_target.target_basis_relationship | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM' IN TYPEOF (sar\shape_aspect_relationship.related_shape_aspect)))) = 1; - WR2: SELF\shape_aspect.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (analysis_schema); *) -ENTITY numerical_model; - id : identifier; - name : label; - description : text; - creating_software : text; - intended_analysis_code : SET [1 : ?] OF text; - analysis_type : text; -WHERE - wr1: temporal_spatial_domain_for_model(SELF); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path - ABSTRACT SUPERTYPE OF (ONEOF ( - KINEMATIC_PATH_DEFINED_BY_NODES, - KINEMATIC_PATH_DEFINED_BY_CURVES)) - SUBTYPE OF (geometric_representation_item); - segments : LIST [1:?] OF kinematic_path_segment; - t_start : parameter_value; -DERIVE - n_segments : INTEGER := SIZEOF(segments); - closed_path : LOGICAL := segments[n_segments].transition <> discontinuous; -WHERE - WR1: SIZEOF(QUERY(using_rep <* using_representations(SELF)| - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER' IN TYPEOF(using_rep.context_of_items))))= 0; - -- WR2 - parameters are increasing - -- WR3 - different end positions -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY constant_function - SUBTYPE OF (maths_function, generic_literal); - sole_output : maths_value; - source_of_domain : maths_space_or_function; -WHERE - WR1: no_cyclic_domain_reference(source_of_domain, [SELF]); - WR2: expression_is_constant(domain_from(source_of_domain)); -END_ENTITY; -(* USED FROM (Specified_product_mim); *) - ENTITY product_identification - SUBTYPE OF (configuration_item, characterized_object); - SELF\configuration_item.item_concept : product_class; - WHERE - WR1 : SIZEOF(QUERY - ( cd <* USEDIN ( SELF ,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONFIGURATION_DESIGN.CONFIGURATION' ) - | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF ( cd. design ) ) - AND - ( SIZEOF ( QUERY - ( - prpc <* USEDIN ( cd. design\product_definition_formation.of_product , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') - | - prpc. name IN ['part' , 'raw material' , 'tool'] ) ) >0 - ) - ) - ) <=1; - WR2 : NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'CONFIGURABLE_ITEM' IN TYPEOF( SELF ) ) - XOR ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'PRODUCT_SPECIFICATION' IN TYPEOF ( SELF ) ) ; - END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY positioned_sketch - SUBTYPE OF (geometric_representation_item); - sketch_basis : sketch_basis_select; - auxiliary_elements : - SET[0:?] OF auxiliary_geometric_representation_item; -WHERE - WR1: NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN - TYPEOF(sketch_basis)) AND NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN - TYPEOF(sketch_basis\curve_bounded_surface.basis_surface))); - WR2: NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(sketch_basis)) AND - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(sketch_basis\face_surface.face_geometry))); - WR3: SIZEOF(QUERY(q <* auxiliary_elements | (SIZEOF(TYPEOF(q) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE']) = 0))) = 0; - WR4: SIZEOF(QUERY(q <* auxiliary_elements | - q\geometric_representation_item.dim <> 3)) = 0; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY subsketch - SUBTYPE OF (geometric_representation_item); - subsketch_elements : SET[1:?] OF sketch_element_select; - owning_sketch : sketch_type_select; -WHERE - WR1: (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' - IN TYPEOF(owning_sketch)) AND (SIZEOF(QUERY(q <* - subsketch_elements | NOT (owning_sketch IN - using_representations(q)))) = 0)) - XOR - ((SIZEOF(TYPEOF(owning_sketch) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIONED_SKETCH','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBSKETCH']) = 1) - AND - (SIZEOF(QUERY(q <* subsketch_elements | - NOT (owning_sketch IN using_items(q,[])))) = 0)); -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_explicit_positioned_sketch_relationship - SUBTYPE OF (representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item - : repositioned_neutral_sketch; - SELF\representation_item_relationship.related_representation_item - : positioned_sketch; -WHERE - WR1: SIZEOF(QUERY(q <* using_representations( - SELF\representation_item_relationship.related_representation_item) | - item_in_context( - SELF\representation_item_relationship.relating_representation_item, - q.context_of_items))) > 0; -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_sheet_revision - SUBTYPE OF (presentation_area); - revision_identifier : identifier; -WHERE - WR1: SIZEOF( QUERY(item <* SELF\representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN (TYPEOF(item))) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN - (TYPEOF(item\mapped_item.mapping_source.mapped_representation)))))=0; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_image_2d_with_scale - SUBTYPE OF (camera_image); - DERIVE - scale : positive_ratio_measure := (SELF\mapped_item.mapping_target\planar_extent.size_in_x)/ - (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window\planar_extent.size_in_x); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CAMERA_MODEL_D2' IN TYPEOF(SELF\mapped_item.mapping_source.mapping_origin)); - WR2: aspect_ratio (SELF\mapped_item.mapping_target) = aspect_ratio (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window); - WR3: SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window_clipping; - END_ENTITY; -(* USED FROM (aic_elementary_brep); *) - ENTITY elementary_brep_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1 : SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * - TYPEOF(it)) = 1))) = 0; - WR2 : SIZEOF (QUERY (it <* SELF.items | - SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; - WR3 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh.cfs_faces | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(fcs)))) = 0 - ))) = 0 - ))) = 0; - WR4 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN - TYPEOF(fcs\face_surface.face_geometry)) - ))) = 0 - ))) = 0 - ))) = 0; - WR5 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN - TYPEOF(oe.edge_element)))) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR6 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE'] * - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) = 1 ) - )) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR7 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN - TYPEOF(oe.edge_end)) - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR8 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND - (NOT (SIZEOF (oe\oriented_edge.edge_element\ - edge_curve.edge_geometry\polyline.points) >= 3)) - )) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR9 : SIZEOF (QUERY (msb <* QUERY (it <* items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF - (msb\manifold_solid_brep.outer))) - = 0; - WR10 : SIZEOF (QUERY (brv <* QUERY (it <* items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* brv\brep_with_voids.voids | - csh\oriented_closed_shell.orientation)) = 0))) = 0; - WR11 : SIZEOF (QUERY (mi <* QUERY (it <* items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' IN - TYPEOF(mi\mapped_item.mapping_source. - mapped_representation)))) = 0; - WR12 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (vlp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF(bnds.bound)) | - NOT(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN - TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN - TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop. - loop_vertex\vertex_point.vertex_geometry)) - ))) = 0))) = 0))) = 0))) =0; - END_ENTITY; -(* USED FROM (Generic_material_aspects_mim); *) - ENTITY general_material_property - SUBTYPE OF (general_property); - WHERE - WR1: SIZEOF( QUERY( gpa <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GENERAL_PROPERTY_ASSOCIATION.BASE_DEFINITION') | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MATERIAL_PROPERTY' IN TYPEOF(gpa\general_property_association.derived_definition)) )) = 0; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY track_blended_solid - ABSTRACT SUPERTYPE OF ( - TRACK_BLENDED_SOLID_WITH_END_CONDITIONS) - SUBTYPE OF (edge_blended_solid); -WHERE - WR1: check_continuous_edges(SELF\edge_blended_solid.blended_edges); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY surfaced_open_shell - SUBTYPE OF (open_shell); -WHERE - WR1: SIZEOF(QUERY(q <* SELF\connected_face_set.cfs_faces | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(q)))) = 0; -END_ENTITY; -(* USED FROM (fea_definition_relationships_schema); *) -ENTITY element_topological_relationship; - aspect : element_aspect; - element_ref : element_representation; - item : analysis_item_within_representation; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TOPOLOGICAL_REPRESENTATION_ITEM' IN TYPEOF (item.item); - WR2: consistent_topological_reference (aspect, item.item); - WR3: consistent_element_reference (aspect, element_ref); -END_ENTITY; -(* USED FROM (domain_schema); *) -ENTITY grid_coordinates - SUBTYPE OF (model_property_distribution); - SELF\model_property_distribution.domain : model_product_domain_with_mesh; - SELF\model_property_distribution.range : specified_general_property; -INVERSE - data : SET OF property_distribution_description FOR physical_function; -WHERE - wr1 : is_coordinate_property(range); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_incomplete_rectangular_pattern - SUBTYPE OF (solid_with_rectangular_pattern); - omitted_instances : SET[1:?] OF LIST [2:2] OF positive_integer; -WHERE - WR1: NOT([1,1] IN omitted_instances); - WR2: SIZEOF(omitted_instances) < - ((SELF\solid_with_rectangular_pattern.row_count * - SELF\solid_with_rectangular_pattern.column_count) - 1); - WR3: SIZEOF(QUERY(q <* omitted_instances | - ((q[1] > SELF\solid_with_rectangular_pattern.row_count) OR - (q[2] > SELF\solid_with_rectangular_pattern.column_count)))) = 0; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_incomplete_circular_pattern - SUBTYPE OF (solid_with_circular_pattern); - omitted_instances : SET[1:?] OF positive_integer; -WHERE - WR1: SIZEOF(omitted_instances) < - SELF\solid_with_circular_pattern.replicate_count; - WR2: SIZEOF(QUERY(q <* omitted_instances | q > - SELF\solid_with_circular_pattern.replicate_count)) = 0; -END_ENTITY; -(* USED FROM (mesh_topology_schema); *) -ENTITY array_based_unstructured_mesh_and_vertices - SUBTYPE OF (array_based_unstructured_mesh); - vertex_count : INTEGER; - vertices : ARRAY [1:vertex_count] OF UNIQUE vertex; -WHERE - wr1 : all_mesh_vertices(SELF); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY complex_shelled_solid - SUBTYPE OF (shelled_solid); - thickened_face_list : LIST [1:?] OF SET[1:?] OF face_surface; - thickness_list : LIST [1:?] OF length_measure; -WHERE - WR1: SIZEOF(thickened_face_list) = SIZEOF(thickness_list); - WR2: SIZEOF(QUERY(q <* thickness_list | (q = 0))) = 0; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_item - ABSTRACT SUPERTYPE OF (ONEOF ( - COORDINATES_LIST, - TESSELLATED_SOLID, - TESSELLATED_SHELL, - TESSELLATED_WIRE, - TESSELLATED_GEOMETRIC_SET, - TESSELLATED_CURVE_SET, - TESSELLATED_POINT_SET, - TESSELLATED_SURFACE_SET, - TESSELLATED_STRUCTURED_ITEM)) - SUBTYPE OF (geometric_representation_item); -WHERE - WR1: SIZEOF (QUERY (using_rep <* using_representations (SELF) | NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' IN TYPEOF(using_rep)))) = 0; -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY thermal_resistance_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( -1.0, -1.0, -3.0, 0.0, 1.0, 0.0, 0.0 ); -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_size; - unit : presentation_size_assignment_select; - size : planar_box; - UNIQUE - UR1: unit; - WHERE - WR1: (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' - IN TYPEOF (SELF.unit)) AND - item_in_context (SELF.size, - SELF.unit\representation.context_of_items) - ) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_IN_SET' - IN TYPEOF (SELF.unit)) AND - (SIZEOF (QUERY ( ais <* SELF.unit\area_in_set.in_set.areas | - NOT item_in_context (SELF.size, ais.area\representation. - context_of_items) )) = 0)); - END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY fea_parametric_point - SUBTYPE OF (point); - coordinates : LIST [1:3] OF parameter_value; -WHERE - WR1: valid_parametric_coordinate (coordinates); - WR2: SIZEOF (TYPEOF (SELF) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_REPLICA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPHERICAL_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CYLINDRICAL_POINT']) - = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY removal_volume - SUBTYPE OF (feature_definition); - WHERE - - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'shape volume occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'volume shape usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (sdr.relating_shape_aspect.description = 'volume shape') )) = 1)) )) - = 1)) )) = 0); -END_ENTITY; -- removal_volume -(* USED FROM (aic_machining_feature); *) -ENTITY vee_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF (impl_rep.used_representation.items) <= 6)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'profile angle') OR - (srwp_i.name = 'tilt angle') OR - (srwp_i.name = 'profile radius') OR - (srwp_i.name = 'first length') OR - (srwp_i.name = 'second length') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'profile radius'))) <= 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'profile angle'))) = 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'tilt angle'))) = 1))) = 0))) = 0; - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; - WR10: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'first length'))) <= 1))) = 0))) = 0; - WR11: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'second length'))) <= 1))) = 0))) = 0; -END_ENTITY; -- vee_profile -(* USED FROM (structural_response_representation_schema); *) -ENTITY node_set - SUBTYPE OF (geometric_representation_item); - nodes : SET [1:?] OF node_representation; -WHERE - WR1: SIZEOF (QUERY (tmp <* nodes | - tmp\representation.context_of_items :<>: - nodes[1]\representation.context_of_items)) = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY ngon_closed_profile - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT ((SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF(impl_rep.used_representation.items) <= 4)))) = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'number of sides') OR - (srwp_i.name = 'circumscribed diameter') OR - (srwp_i.name = 'corner radius') OR - (srwp_i.name = 'diameter across flats'))) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'number of sides'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name IN ['circumscribed diameter','diameter across flats']) )) - = 1) )) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'corner radius'))) <= 1))) = 0))) = 0; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY path_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: (SIZEOF(SELF.items) >= 1); - WR2: (SIZEOF(QUERY ( i <* SELF.items | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH'] * TYPEOF(i)) = - 1) )) >= 1); -END_ENTITY; -- path_shape_representation -(* USED FROM (Specification_based_configuration_mim); *) -ENTITY configured_effectivity_assignment - SUBTYPE OF (effectivity_assignment); - items : SET [1:?] OF configured_effectivity_item; - WHERE - WR1: (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EFFECTIVITY'] * TYPEOF(SELF.assigned_effectivity) ) = 1) - AND (SELF.assigned_effectivity.id = 'configuration validity'); - WR2: SIZEOF(SELF.items) = 1; - WR3: SIZEOF( QUERY( i <* SELF.items | NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) - OR NOT (i\product_definition.frame_of_reference.name IN ['conceptual definition','part occurrence', 'functional definition','alternative definition']) )) = 0; - WR4: SELF.role.name IN ['design', 'usage']; - WR5: (SELF.role.name <> 'design') - OR (SIZEOF( QUERY( i <* SELF.items | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\product_definition.frame_of_reference.name = 'part occurrence') )) = 0); - WR6: (SELF.role.name <> 'usage') OR (SIZEOF( QUERY( i <* SELF.items | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\product_definition.frame_of_reference.name = 'conceptual definition') )) = 0); - WR7: SELF.role.description IN ['exception', 'inherited', 'local']; - WR8: SIZEOF( QUERY( x <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT') | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF(x) )) = 1; -END_ENTITY; -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - ENTITY mechanical_design_geometric_presentation_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF mechanical_design_geometric_presentation_representation_items; - WHERE - WR1: SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it))) | NOT (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION'] - * TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) - = 1))) = 0; - WR2: SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it))) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(si\styled_item.item))) | NOT ( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item. - item\mapped_item.mapping_source.mapped_representation))) )) = 0; - WR3: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(pss <* psa.styles | NOT (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_STYLE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE'] - * TYPEOF(pss)) = 1))) = 0))) = 0))) = 0; - WR4: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | - NOT (SIZEOF(QUERY(psbc <* QUERY(psa <* si\styled_item.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF(psa)) | NOT (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION'] - * TYPEOF(psbc\presentation_style_by_context.style_context)) - = 1))) = 0))) = 0; - WR5: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ps <* QUERY(pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_STYLE' - IN TYPEOF(pss)) | NOT - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ps\point_style.marker_size)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(ps\point_style.marker_colour)) - = 1)))) = 0))) = 0))) = 0; - WR6: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(cs <* QUERY(pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF(pss)) | NOT((SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(cs\curve_style.curve_colour)) = 1) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (cs\curve_style.curve_width)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0; - WR7: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_SIDE_STYLE' IN TYPEOF - (ssu\surface_style_usage.style)))) = 0))) = 0))) = 0; - WR8: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - NOT (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_PARAMETER_LINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_CONTROL_GRID', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_SILHOUETTE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_SEGMENTATION_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_FILL_AREA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_BOUNDARY'] - * TYPEOF(sses)) = 1))) = 0))) = 0))) = 0))) = 0; - WR9: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sspl <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF(sses)) | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_colour)) = 1) - AND ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_width)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR10: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sscg <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF(sses)) | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_colour)) = 1) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_width)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR11: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | - NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssh <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF(sses)) | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_colour)) = 1) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssh\surface_style_silhouette.style_of_silhouette\curve_style. - curve_width)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR12: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssc <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF(sses)) | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF - (sssc\surface_style_segmentation_curve.style_of_segmentation_curve)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_colour)) = 1) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_width)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR13: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(ssbd <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_BOUNDARY' IN TYPEOF(sses)) | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_colour)) = 1) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_width)) - AND (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_font)) = 1)))) = 0))) - = 0))) = 0))) = 0; - END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY inclusion_product_concept_feature - SUBTYPE OF (conditional_concept_feature); - WHERE - WR1: NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PACKAGE_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( SELF ) ) ; - WR2: SIZEOF (QUERY( cfr <* USEDIN( SELF ,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' ) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF( cfr ) - )) + - SIZEOF(QUERY( cfr <* USEDIN(SELF , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATED_PRODUCT_CONCEPT_FEATURE' ) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF(cfr) - )) = 0; - WR3: SELF.condition.conditional_operator.name = 'implication'; -END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY package_product_concept_feature - SUBTYPE OF (product_concept_feature); -WHERE - WR1: NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF ( SELF ) ) ; - WR2: SIZEOF ( QUERY ( cfr <* USEDIN ( SELF , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.' +'RELATING_PRODUCT_CONCEPT_FEATURE' ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF (cfr ) ) AND - (SIZEOF ( QUERY (ipcf <* USEDIN ( cfr , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.' + 'CONDITION' ) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( ipcf ) - )) = 1) - )) > 0; -END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY visual_appearance_representation - SUBTYPE OF (representation); - WHERE - WR1: ( {3<= SIZEOF ( SELF.items ) <=9} ) AND ( SIZEOF ( QUERY ( - i <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( - i.name IN [ 'colour id' , 'colour name' , 'lustre' , 'pattern' , 'transparency', 'orientation'] ) ) - ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) - AND ( i.name IN ['refraction index' , 'opacity'] ) ) - ) + SIZEOF ( QUERY ( i <* items | ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'DOCUMENT_FILE' IN TYPEOF ( i ) ) - AND ( i.name IN [ 'texture map' ] ) ) ) - = SIZEOF ( SELF.items ) ); - WR2: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour id' )) =1; - WR3: SIZEOF ( QUERY ( i <* SELF.items | i.name ='lustre' ) )=1; - WR4: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour name') ) <=1; - WR5: SIZEOF ( QUERY ( i <* SELF.items | i.name ='pattern' ) )<=1; - WR6: SIZEOF ( QUERY ( i <* SELF.items | i.name ='transparency') ) <=1; - WR7: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'texture map') ) <=1; - WR8: SIZEOF ( QUERY ( i <* SELF.items | i.name ='refraction index' ) )<=1; - WR9: SIZEOF ( QUERY ( i <* SELF.items | i.name ='opacity') ) <=1; - WR10: SIZEOF ( QUERY ( i <* SELF.items | i.name ='orientation') ) <=1; - WR11: ( SIZEOF ( USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )) =1 ) ; - END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY product_concept_feature_category - SUBTYPE OF (group); -WHERE - WR1 : SIZEOF(QUERY(aga <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GROUP_ASSIGNMENT.ASSIGNED_GROUP' ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'APPLIED_GROUP_ASSIGNMENT' IN TYPEOF(aga)) AND - (( aga\group_assignment.role\object_role.name <> 'specification category member' ) OR - ( SIZEOF(QUERY (i <* aga\applied_group_assignment.items | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( i ) ) AND - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF (i)))) <> SIZEOF (aga\applied_group_assignment.items) - )) - )) =0; -END_ENTITY; -(* USED FROM (Point_direction_model_mim); *) -ENTITY point_placement_shape_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF point_placement_shape_representation_item; -WHERE - WR1: SIZEOF( QUERY( i <* SELF.items | - SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOUND_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] - * TYPEOF(i)) = 1 - )) > 0; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY directed_angle - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF(SELF.of_shape.definition); - WR2: SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) - )) = 1; - WR3: SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 1) - )) = 1; - WR4: SELF.description IN ['punch direction','profile normal','surface normal']; - WR5: SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='angle') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; -END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY ply_laminate_sequence_definition - SUBTYPE OF (product_definition); - WHERE - WR1: SIZEOF (QUERY (pdr <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATING_PRODUCT_DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN - TYPEOF (pdr))) > 0; - END_ENTITY; -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - ENTITY mechanical_design_geometric_presentation_area - SUBTYPE OF (presentation_area); - SELF\representation.items : SET[1:?] OF mechanical_design_geometric_presentation_area_items; - WHERE - WR1: -- only presentation_views or axis2_placements in - -- mechanical_design_geometric_presentation_area - SIZEOF(QUERY(it1 <* SELF.items | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it1)) - OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it1\mapped_item.mapping_source.mapped_representation)))) = 0; - WR2: -- only mechanical_design_geometric_presentation_representation - -- via camera_image_3d_with_scale or axis2_placements in - -- presentation_views - SIZEOF(QUERY(pv <* QUERY(mi1 <* QUERY(it1 <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it1)) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (mi1\mapped_item.mapping_source.mapped_representation)) | - -- search in all presentation_views for axis2_placements and - -- mapped_items and for the subtype of mapped_item - -- camera_image_3d_with_scale; the latter shall reference - -- a mechanical_design_geometric_presentation_representation; - -- the supertype mapped_item shall reference presentation_view. - NOT (SIZEOF(QUERY(it2 <* pv\mapped_item.mapping_source. - mapped_representation\representation.items | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT' - IN TYPEOF(it2)) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it2)) AND NOT - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it2\mapped_item.mapping_source.mapped_representation))) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2)) - AND NOT ( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' - IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) )) - ))) = 0))) = 0; - WR3: (SIZEOF(QUERY(ps <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ((ps\presentation_size.size.size_in_x <= 0) - OR - (ps\presentation_size.size.size_in_y <= 0)))) = 0) - AND - (SIZEOF(QUERY(ais <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') | - (SIZEOF(QUERY(ps <* USEDIN (ais, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ((ps\presentation_size.size.size_in_x <= 0) - OR - (ps\presentation_size.size.size_in_y <= 0)))) > 0))) = 0); - WR4: (SIZEOF(QUERY(ps <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1) - AND - (SIZEOF(QUERY(ps <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0) - OR - ((SIZEOF(QUERY(ais <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') | - (SIZEOF(QUERY(ps <* USEDIN (ais, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1))) = 1) - AND - (SIZEOF(QUERY(ais <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') | - (SIZEOF(QUERY(ps <* USEDIN (ais, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0))) = 1)); - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY tangent_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF curve_or_surface_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:?] OF curve_or_surface_constraint_element; - near_points : SET[0:?] OF near_point_relationship; - tangent_contact : tangent_contact_type; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: NOT ((SELF\geometric_representation_item.dim = 2) - AND (tangent_contact = surface_contact)); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY composite_assembly_sequence_definition - SUBTYPE OF (product_definition); - WHERE - WR1: SIZEOF (QUERY (pdr <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATING_PRODUCT_DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN - TYPEOF (pdr))) > 0; - END_ENTITY; -(* USED FROM (Dimension_tolerance_mim); *) -ENTITY externally_defined_dimension_definition - SUBTYPE OF (dimensional_size, externally_defined_item); -WHERE - WR1: (SELF\externally_defined_item.item_id = 'external size dimension') AND (SELF\externally_defined_item.source.source_id = 'external size dimension specification'); - WR2: 1 >= SIZEOF(QUERY ( adr <* USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS')| (adr.assigned_document.description = 'external size dimension specification') )); -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY csg_2d_shape_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF csg_2d_shape_select; - WHERE - WR1: SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 2; - WR2: SIZEOF(QUERY ( it <* SELF.items | - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SOLID'] - * TYPEOF(it)) = 1) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CSG_2D_SHAPE_REPRESENTATION' - IN TYPEOF(it\mapped_item.mapping_source.mapped_representation))) - )) >= 1; - WR3: SIZEOF(QUERY ( it <* SELF.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it)) AND (NOT (( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CSG_2D_SHAPE_REPRESENTATION') - IN TYPEOF(it\mapped_item.mapping_source.mapped_representation)))) )) = 0; - -- TODO does not work with the new introduced subtypes - -- WR4: SIZEOF(TYPEOF(SELF) - TYPEOF(SELF\shape_representation || - -- SELF\csg_2d_shape_representation || SELF\representation)) = 0; - END_ENTITY; -(* USED FROM (Layer_assignment_mim); *) - ENTITY rep_item_group - SUBTYPE OF (group, representation_item); - WHERE - WR1: SIZEOF(USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRESENTATION_LAYER_ASSIGNMENT.' + 'ASSIGNED_ITEMS')) > 0; - WR2: SIZEOF(QUERY(r <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION.' + 'ITEMS') | r.name = 'group representation')) > 0; - WR3: SIZEOF(QUERY(ga <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GROUP_ASSIGNMENT.' + 'ASSIGNED_GROUP') | ga.role.name <> 'group membership')) = 0; - WR4: SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'TOPOLOGICAL_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MAPPED_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'STYLED_ITEM'] * TYPEOF(SELF)) = 1; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY pgc_with_dimension - SUBTYPE OF (parallel_geometric_constraint); - distance_value : non_negative_length_measure; - negative_direction : BOOLEAN; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) = 1) - OR (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: SIZEOF(QUERY(q <* (SELF\explicit_constraint.reference_elements + - SELF\explicit_constraint.constrained_elements) | SIZEOF(TYPEOF(q) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR']) > 0)) = 0; -END_ENTITY; -(* USED FROM (aic_edge_based_wireframe); *) -ENTITY edge_based_wireframe_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1; -WR3 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (edges)) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( pline_edges <* -QUERY ( edges <* eb.ces_edges| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (edges\edge_curve.edge_geometry)) )| NOT ( SIZEOF (pline_edges\edge_curve.edge_geometry\polyline.points) > 2) )) = 0) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_start)) AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_end))) )) = 0) )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT valid_wireframe_edge_curve(edges\edge_curve.edge_geometry) )) = 0) )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT (valid_wireframe_vertex_point(edges.edge_start\vertex_point.vertex_geometry) AND valid_wireframe_vertex_point(edges.edge_end\vertex_point.vertex_geometry)) )) = 0) )) = 0) )) = 0; -WR8 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; -WR9 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; - END_ENTITY ; -(* USED FROM (aic_non_manifold_surface); *) -ENTITY non_manifold_surface_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1))) - = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' - IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) - AND - (SIZEOF(QUERY (mr_it <* - mi\mapped_item.mapping_source.mapped_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' - IN TYPEOF (mr_it)))) > 0 )))) = 0; - WR4: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_FACE'] * TYPEOF (fa)) = 1))) - = 0))) = 0))) = 0; - WR5: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (f_sf <* QUERY (fa <* cfs.cfs_faces | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF (fa))) | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (f_sf)) - OR - (nmsf_surface_check(f_sf\face_surface.face_geometry))))) = 0))) - = 0))) = 0; - WR6: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (o_fa <* QUERY (fa <* cfs.cfs_faces | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF (fa))) | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF - (o_fa\oriented_face.face_element)) - OR - (nmsf_surface_check - (o_fa\oriented_face.face_element\face_surface.face_geometry))))) - = 0))) = 0))) = 0; - WR7: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (bnds <* fa.bounds | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP'] - * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0; - WR8: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF - (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR9: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <* - elp_fbnds\path.edge_list | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE'] * - TYPEOF (oe_cv.edge_element\edge_curve.edge_geometry)) - = 1))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR10: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT (nmsf_curve_check (oe.edge_element\edge_curve.edge_geometry)))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR11: SIZEOF (QUERY(fbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list| - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF - (oe.edge_element.edge_start)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN - TYPEOF (oe.edge_element.edge_end))))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR12: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ((SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_end\vertex_point.vertex_geometry)) = 1 - )))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR13: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0))) - = 0))) = 0; - WR14: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry)) - = 1))) = 0)))) = 0))) = 0))) = 0; -END_ENTITY; -(* USED FROM (aic_faceted_brep); *) -ENTITY faceted_brep_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* items| NOT ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* items| ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0; -WR3 : -SIZEOF ( -QUERY ( fbrep <* -QUERY ( it <* items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* msb_shells(fbrep)| NOT ( SIZEOF ( -QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF (fcs)) AND (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF (fcs\face_surface.face_geometry)) AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (fcs\face_surface.face_geometry\elementary_surface.position.location)))) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( fbrep <* -QUERY ( it <* items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* msb_shells(fbrep)| NOT ( SIZEOF ( -QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ( SIZEOF ( -QUERY ( bnds <* fcs.bounds| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF (bnds)) )) = 1) )) = 0) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( msb <* -QUERY ( it <* items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0; -WR6 : -SIZEOF ( -QUERY ( brv <* -QUERY ( it <* items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* brv\brep_with_voids.voids| csh\oriented_closed_shell.orientation )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; - END_ENTITY ; -(* USED FROM (geometric_model_schema); *) -ENTITY box_domain - SUBTYPE OF (founded_item); - corner : cartesian_point; - xlength : positive_length_measure; - ylength : positive_length_measure; - zlength : positive_length_measure; -WHERE - WR1: SIZEOF(QUERY(item <* USEDIN(SELF,'')| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOXED_HALF_SPACE' IN TYPEOF(item)))) = 0; -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY simultaneous_constraint_group - SUBTYPE OF (variational_representation_item); - constraint_group : SET[2:?] OF constraint_group_member; -WHERE - WR1: SIZEOF(QUERY(q <* using_representations(SELF) | - SIZEOF(QUERY(r <* q.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIMULTANEOUS_CONSTRAINT_GROUP' - IN TYPEOF(r)) AND (SIZEOF(QUERY(s <* constraint_group | - (s IN r\simultaneous_constraint_group.constraint_group) AND NOT (r :=: SELF))) > 0))) > 0)) = 0; - WR2: SIZEOF(QUERY(q <* using_representations(constraint_group[1]) | - (SIZEOF(QUERY(r <* constraint_group | - item_in_context(r,q.context_of_items))) - = SIZEOF(constraint_group)))) > 0; - WR3: SIZEOF(QUERY(q <* constraint_group | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXPLICIT_CONSTRAINT' IN TYPEOF(q)) - AND (SIZEOF(QUERY(r <* q.constrained_elements | - SIZEOF(QUERY(s <* constraint_group | - r IN s.reference_elements)) > 0)) > 0)))) = 0; -END_ENTITY; -(* USED FROM (Document_assignment_mim); *) -ENTITY document_product_equivalence - SUBTYPE OF (document_product_association); -WHERE - WR1: SELF\document_product_association.name = 'equivalence'; - WR2: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT' IN TYPEOF(SELF\document_product_association.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF\document_product_association.related_product, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1)); - WR3: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document version') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF.related_product\product_definition_formation.of_product, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1)); - WR4: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document definition') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF\document_product_association.related_product\product_definition.formation.of_product, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1)); -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY externally_conditioned_data_quality_criterion - SUBTYPE OF(Data_quality_criterion,Data_quality_measurement_requirement); - WHERE - WR1 : SIZEOF(USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.'+ - 'CRITERION')) = 0; - WR2 : SIZEOF(QUERY(i1<*bag_to_set( USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ 'RELATED_REPRESENTATION_ITEM'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - WR3 : SIZEOF(QUERY(i1<*bag_to_set( USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ 'RELATING_REPRESENTATION_ITEM'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY solid_replica - SUBTYPE OF (solid_model); - parent_solid : solid_model; - transformation : cartesian_transformation_operator_3d; -WHERE - WR1: acyclic_solid_replica(SELF, parent_solid); - WR2: parent_solid\geometric_representation_item.dim = 3; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_curve_with_knots - SUBTYPE OF (b_spline_curve); - knot_multiplicities : LIST[2:?] OF INTEGER; - knots : LIST[2:?] OF parameter_value; - knot_spec : knot_type; -DERIVE - upper_index_on_knots : INTEGER := SIZEOF(knots); -WHERE - WR1: constraints_param_b_spline(degree, upper_index_on_knots, upper_index_on_control_points, knot_multiplicities, knots); - WR2: SIZEOF(knot_multiplicities) = upper_index_on_knots; -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY draughting_callout - SUBTYPE OF (geometric_representation_item); - contents : SET [1:?] OF draughting_callout_element; - WHERE - WR1: (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) = 0) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND - (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(l_1)))) = 0) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND - (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(l_1)))) = 0) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN (TYPEOF(SELF))); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY composite_curve_on_surface - SUPERTYPE OF ( - BOUNDARY_CURVE) - SUBTYPE OF (composite_curve); -DERIVE - basis_surface : SET[0:2] OF surface := get_basis_surface(SELF); -WHERE - WR1: SIZEOF(basis_surface) > 0; - WR2: constraints_composite_curve_on_surface(SELF); -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY dimension_curve - SUBTYPE OF (annotation_curve_occurrence); - WHERE - WR1: (SIZEOF( - QUERY(dct <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') - | (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct)) - )) - ) <= 2); - WR2: SIZEOF( - QUERY( dcdc <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT.CONTENTS') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF(dcdc))) - )>= 1; - WR3: (SIZEOF( - QUERY(dct1 <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') - | (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct1)) - AND (dct1\dimension_curve_terminator.role = dimension_extent_usage.origin))) - ) <= 1) - AND - (SIZEOF( - QUERY (dct2 <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') - | (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct2)) - AND (dct2\dimension_curve_terminator.role = dimension_extent_usage.target))) - ) <= 1); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY disallowed_assembly_relationship_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE']); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY styled_item - SUBTYPE OF (representation_item); - styles : SET [1:?] OF presentation_style_assignment; - item : styled_item_target; - WHERE - WR1: (SIZEOF(SELF.styles) = 1) - XOR - (SIZEOF(QUERY(pres_style <* SELF.styles | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_STYLE_BY_CONTEXT' IN - TYPEOF(pres_style)) - )) = 0); - WR2: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF(item)); - WR3: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(item)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONTEXT_DEPENDENT_OVER_RIDING_STYLED_ITEM' IN TYPEOF(SELF)); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY presentation_style_assignment - SUBTYPE OF (founded_item); - styles : SET [1:?] OF presentation_style_select; - WHERE - WR1: SIZEOF (QUERY (style1 <* SELF.styles | - NOT (SIZEOF (QUERY (style2 <* (SELF.styles - style1) | - NOT ((TYPEOF (style1) <> TYPEOF (style2)) OR - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_USAGE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'EXTERNALLY_DEFINED_STYLE'] * - TYPEOF (style1)) = 1) - ))) = 0 - ))) = 0; - WR2: SIZEOF (QUERY (style1 <* SELF.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN - TYPEOF(style1) - )) <= 2; - WR3: SIZEOF (QUERY (style1 <* SELF.styles | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF (style1)) AND - (SIZEOF (QUERY (style2 <* (SELF.styles - style1) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF (style2)) AND - ((style1\surface_style_usage.side = both) OR - (style2\surface_style_usage.side = both) OR - (style1\surface_style_usage.side = style2\surface_style_usage.side)) )) > 0))) = 0; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY context_dependent_over_riding_styled_item - SUBTYPE OF(over_riding_styled_item); - style_context : LIST[1:?] OF style_context_select; - WHERE - WR1: -(SIZEOF(QUERY(sc <* SELF.style_context | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(sc)))= 1) OR -(SIZEOF(QUERY(sc <* SELF.style_context | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(sc)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF(sc)) )) - = SIZEOF(style_context)); - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY leader_curve - SUBTYPE OF (annotation_curve_occurrence); - WHERE - WR1: SIZEOF( - QUERY(ldc <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT.CONTENTS') - | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'LEADER_DIRECTED_CALLOUT' IN TYPEOF(ldc))) >= 1; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY basic_sparse_matrix - SUBTYPE OF (explicit_table_function, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : LIST [3:3] OF maths_function; - default_entry : maths_value; - order : ordering_type; -DERIVE - index : maths_function := SELF\multiple_arity_generic_expression.operands[1]; - loc : maths_function := SELF\multiple_arity_generic_expression.operands[2]; - val : maths_function := SELF\multiple_arity_generic_expression.operands[3]; -WHERE - WR1: function_is_1d_table(index); - WR2: function_is_1d_table(loc); - WR3: function_is_1d_table(val); - WR4: check_sparse_index_domain(index.domain, index_base, shape, order); - WR5: check_sparse_index_to_loc(index.range, loc.domain); - WR6: loc.domain = val.domain; - WR7: check_sparse_loc_range(loc.range, index_base, shape, order); - WR8: member_of(default_entry, val.range); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY standard_table_function - SUBTYPE OF (linearized_table_function); - order : ordering_type; -WHERE - WR1: extremal_position_check(SELF); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY function_application - SUBTYPE OF (multiple_arity_generic_expression); - func : maths_function_select; - arguments : LIST [1:?] OF maths_expression; -DERIVE - SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF generic_expression - := [convert_to_maths_function(func)] + convert_to_operands(arguments); -WHERE - WR1: function_applicability(func, arguments); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY listed_product_space - SUBTYPE OF (maths_space, generic_literal); - factors : LIST OF maths_space; -WHERE - WR1: SIZEOF (QUERY (space <* factors | - NOT (expression_is_constant(space)))) = 0; - WR2: no_cyclic_space_reference(SELF, []); - WR3: NOT (the_empty_space IN factors); -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_result_representation - SUBTYPE OF(data_quality_inspection_result_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' IN TYPEOF(q))) > 0; - WR2 : 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN - TYPEOF(SELF\representation.context_of_items); - WR3 : SIZEOF(USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.'+ - 'REP_2'))>0; - END_ENTITY; -(* USED FROM (Finite_element_shape_mim); *) -ENTITY point_representation -SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF(QUERY(it <* SELF\representation.items | ( NOT (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NODE_SET', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'FEA_AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1)))) = 0; - WR2: SIZEOF(QUERY(it <* SELF\representation.items | (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NODE_SET', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) = 1))) >= 1; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_datum_reference - SUPERTYPE OF (ONEOF ( - ANGULARITY_TOLERANCE, - CIRCULAR_RUNOUT_TOLERANCE, - COAXIALITY_TOLERANCE, - CONCENTRICITY_TOLERANCE, - PARALLELISM_TOLERANCE, - PERPENDICULARITY_TOLERANCE, - SYMMETRY_TOLERANCE, - TOTAL_RUNOUT_TOLERANCE)) - SUBTYPE OF (geometric_tolerance); - datum_system : SET[1:?] OF datum_system_or_reference; -WHERE - WR1: (SIZEOF(QUERY(ds <* datum_system | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DATUM_SYSTEM' in TYPEOF(ds)))=0) OR (SIZEOF(datum_system)=1); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY quantifier_expression - ABSTRACT SUPERTYPE - SUBTYPE OF (multiple_arity_generic_expression); - variables : LIST [1:?] OF UNIQUE generic_variable; -WHERE - WR1: SIZEOF (QUERY (vrbl <* variables | NOT (vrbl IN - SELF\multiple_arity_generic_expression.operands))) = 0; - WR2: SIZEOF (QUERY (vrbl <* variables | NOT ((schema_prefix + - 'BOUND_VARIABLE_SEMANTICS') IN TYPEOF (vrbl.interpretation.semantics)))) = 0; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum - SUBTYPE OF (shape_aspect); - identification : identifier; -INVERSE - established_by_relationships : SET[1:?] OF shape_aspect_relationship FOR related_shape_aspect; -UNIQUE - UR1: identification,SELF\shape_aspect.of_shape; -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMMON_DATUM' IN TYPEOF(SELF)) - XOR ((SIZEOF(QUERY(x <* SELF\datum.established_by_relationships | - SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM_FEATURE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM_TARGET'] * - TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)) = 1)) >= 1)); - WR2: SIZEOF(QUERY(x <* SELF\datum.established_by_relationships | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM_FEATURE' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) <= 1; - WR3: SELF\shape_aspect.product_definitional = FALSE; - WR4: SELF\shape_aspect.name = ''; -END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_person_and_organization_assignment - SUBTYPE OF (person_and_organization_assignment); - items : SET[1:?] OF cc_person_organization_item; - WHERE - WR1: cc_design_person_and_organization_correlation(SELF); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_feature - SUPERTYPE OF (ONEOF ( - DIMENSIONAL_LOCATION_WITH_DATUM_FEATURE, - DIMENSIONAL_SIZE_WITH_DATUM_FEATURE)) - SUBTYPE OF (shape_aspect); -INVERSE - feature_basis_relationship : SET[1:?] OF shape_aspect_relationship FOR relating_shape_aspect; -WHERE - WR1: SIZEOF(QUERY(sar <* SELF\datum_feature.feature_basis_relationship | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM' IN TYPEOF (sar\shape_aspect_relationship.related_shape_aspect)))) = 1; - WR2: SELF\shape_aspect.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_criterion - SUPERTYPE OF (ONEOF ( - ERRONEOUS_DATA, - INAPT_DATA)) - SUBTYPE OF(data_quality_criterion, data_quality_measurement_requirement); - assessment_specification : shape_data_quality_assessment_specification_select; - WHERE - WR1 : SIZEOF(USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.'+ - 'CRITERION' - )) = 0; - WR2 : SIZEOF(QUERY(i1<*bag_to_set( - USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ - 'RELATED_REPRESENTATION_ITEM'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - WR3 : SIZEOF(QUERY(i1<*bag_to_set( - USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ - 'RELATING_REPRESENTATION_ITEM'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_criteria_representation - SUBTYPE OF(data_quality_criteria_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_CRITERION' IN TYPEOF(q))) > 0; - END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY qualified_representation_item - SUBTYPE OF (representation_item); - qualifiers : SET [1:?] OF value_qualifier; -WHERE - WR1: SIZEOF(QUERY(temp <* qualifiers | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRECISION_QUALIFIER' - IN TYPEOF(temp))) < 2; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY dimension_callout_component_relationship - SUBTYPE OF (draughting_callout_relationship); -WHERE - WR1: SELF.name IN ['prefix', 'suffix']; - WR2: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRUCTURED_DIMENSION_CALLOUT' - IN TYPEOF (SELF.relating_draughting_callout); - WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRUCTURED_DIMENSION_CALLOUT']) = 0; - WR4: SELF.related_draughting_callout.contents * - SELF.relating_draughting_callout.contents = - SELF.related_draughting_callout.contents; - WR5: ((SELF.name = 'prefix') AND - (SIZEOF (QUERY (ato <* QUERY (con <* - SELF.related_draughting_callout.contents | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con))) | - NOT (ato.name = 'prefix text') - )) = 0)); - - WR6: ((SELF.name = 'suffix') AND - (SIZEOF (QUERY (ato <* QUERY (con <* - SELF.related_draughting_callout.contents | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con))) | - NOT (ato.name = 'suffix text') - )) = 0)); -END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_result_representation - SUBTYPE OF(representation); - criteria_inspected : data_quality_criteria_representation; - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DATA_QUALITY_INSPECTION_RESULT' IN TYPEOF(q))) > 0; - WR2 : SIZEOF(inspected_product_definition(SELF)) > 0; - END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_point_on_plane - ABSTRACT SUPERTYPE OF (ONEOF ( - IMPLICIT_PLANAR_INTERSECTION_POINT, - IMPLICIT_PLANAR_PROJECTION_POINT)) - SUBTYPE OF (point, auxiliary_geometric_representation_item); - using_sketch : positioned_sketch; - computed_representation - : cartesian_point; -DERIVE - plane_of_point : - plane := get_plane_of_implicit_geometry(using_sketch); -WHERE - WR1: (plane_of_point\elementary_surface.position.location = - computed_representation) XOR - (dot_product(plane_of_point\elementary_surface.position.p[3], - get_relative_direction_2points - (plane_of_point\elementary_surface.position.location, - computed_representation)) = 0); - WR2: SIZEOF(TYPEOF(computed_representation) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.IMPLICIT_POINT_ON_PLANE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_REPLICA']) = 0; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY draughting_elements - SUBTYPE OF (draughting_callout); -WHERE - WR1: SIZEOF (QUERY (l_c <* QUERY (con <* SELF.contents | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF(con))) | - NOT (SIZEOF (QUERY (ldc <* USEDIN (l_c, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_CALLOUT.CONTENTS') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' - IN TYPEOF (ldc)))) <= 1)))=0; - WR2: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' - IN TYPEOF(SELF)) OR - (SIZEOF (QUERY (con <* SELF.contents | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_CURVE' IN - TYPEOF (con)))) <= 2); - WR3: SIZEOF (QUERY (rc <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND - (rc.name = 'primary') )) <= 1; - WR4: SIZEOF (QUERY (rc <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND - (rc.name = 'secondary') )) <= 1; - WR5: SIZEOF (QUERY (sec <* QUERY (rc <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND - (rc.name = 'secondary') ) | - NOT (SIZEOF (QUERY (prim <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (prim)) AND - (prim.name = 'primary') )) = 1))) = 0; -END_ENTITY; -(* USED FROM (aic_advanced_brep); *) -ENTITY advanced_brep_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0; -WR3 : -SIZEOF ( -QUERY ( msb <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* msb_shells(msb)| NOT ( SIZEOF ( -QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fcs)) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( msb <* -QUERY ( it <* items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0; -WR5 : -SIZEOF ( -QUERY ( brv <* -QUERY ( it <* items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* brv\brep_with_voids.voids| csh\oriented_closed_shell.orientation )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; - END_ENTITY ; -(* USED FROM (aic_draughting_elements); *) -ENTITY leader_directed_dimension - SUBTYPE OF (leader_directed_callout); -WHERE - WR1: SIZEOF (QUERY (con <* SELF.contents | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF (con)))=1; -END_ENTITY; -(* USED FROM (aic_geometrically_bounded_2d_wireframe); *) -ENTITY geometrically_bounded_2d_wireframe_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SELF.context_of_items\geometric_representation_context. - coordinate_space_dimension = 2; - WR2: SIZEOF (QUERY (item <* SELF.items | - NOT (SIZEOF (TYPEOF (item) * -['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM']) = 1) - )) = 0; - WR3: SIZEOF (QUERY (item <* SELF.items | - SIZEOF (TYPEOF (item) * -['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM']) = 1 - )) >= 1; - WR4: SIZEOF (QUERY (mi <* QUERY (item <* SELF.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF (item))) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION' - IN TYPEOF - (mi\mapped_item.mapping_source.mapped_representation)) - )) = 0; - WR5: SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' - IN TYPEOF (item))) | - NOT (SIZEOF (QUERY (elem <* gcs\geometric_set.elements | - NOT (SIZEOF (TYPEOF (elem) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPSE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_2D', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE']) = - 1) - )) = 0) - )) = 0; - WR6: SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' - IN TYPEOF (item))) | - NOT (SIZEOF (QUERY (crv <* - QUERY (elem <* gcs\geometric_set.elements | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' - IN TYPEOF (elem))) | - NOT (valid_basis_curve_in_2d_wireframe - (crv)) - )) = 0) - )) = 0; - WR7: SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' - IN TYPEOF (item))) | - NOT (SIZEOF (QUERY (pnt <* - QUERY (elem <* gcs\geometric_set.elements | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' - IN TYPEOF(elem))) | - NOT (SIZEOF (TYPEOF (pnt) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE']) - = 1) - )) = 0) - )) = 0; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) -(* Pruned SUPERTYPE *) - ENTITY annotation_occurrence - SUPERTYPE OF ( ( ONEOF ( - ANNOTATION_CURVE_OCCURRENCE, - ANNOTATION_FILL_AREA_OCCURRENCE, - ANNOTATION_TEXT_OCCURRENCE, - ANNOTATION_SYMBOL_OCCURRENCE) )ANDOR( ONEOF ( - ANNOTATION_CURVE_OCCURRENCE, - ANNOTATION_FILL_AREA_OCCURRENCE, - ANNOTATION_PLANE, - ANNOTATION_SYMBOL_OCCURRENCE, - ANNOTATION_TEXT_OCCURRENCE, - TESSELLATED_ANNOTATION_OCCURRENCE) ) ) - SUBTYPE OF (styled_item); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF (SELF); - WR2: SIZEOF (QUERY (reps <* using_representations(SELF) | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_REPRESENTATION_SELECT' IN TYPEOF(reps)))) = 0; - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY radius_dimension - SUBTYPE OF (dimension_curve_directed_callout); -WHERE - WR1: SIZEOF (QUERY (con <* SELF.contents | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_CURVE' IN TYPEOF (con)))<=1; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY structured_dimension_callout - SUBTYPE OF (draughting_callout); -WHERE - WR1: SIZEOF (TYPEOF (SELF) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM_FEATURE_CALLOUT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DATUM_TARGET_CALLOUT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRICAL_TOLERANCE_CALLOUT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT']) = 0; - WR2: SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (con))) | - NOT (ato.name IN - ['dimension value', 'tolerance value', 'unit text', - 'prefix text', 'suffix text']))) = 0; - WR3: SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (con))) | - (ato.name = 'dimension value') - )) >= 1; - WR4: SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'prefix') )) <= 1; - WR5: SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'suffix') )) <= 1; - WR6: NOT((SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con)) ) | - (ato.name = 'prefix text') - )) > 0)) OR - (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'prefix') )) = 1); - WR7: NOT(SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con))) | - (ato.name = 'suffix text') - )) > 0) OR - (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'suffix') )) = 1); -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY annotation_subfigure_occurrence - SUBTYPE OF (annotation_symbol_occurrence); -WHERE - WR1: SIZEOF (QUERY (sty <* SELF.styles | - NOT (SIZEOF (sty.styles) = 1) - )) = 0; - WR2: SIZEOF (QUERY (sty <* SELF.styles | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NULL_STYLE' - IN TYPEOF (sty.styles[1])) ))=0; - WR3: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL' - IN TYPEOF (SELF.item)); - WR4: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_SUBFIGURE_REPRESENTATION' - IN TYPEOF - (SELF.item\mapped_item.mapping_source.mapped_representation)); -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_subfigure_representation - SUBTYPE OF (symbol_representation); - SELF\representation.items : SET[1:?] OF draughting_subfigure_representation_item; -WHERE - WR1: SIZEOF (QUERY (item <* SELF\representation.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_OCCURRENCE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT'] * - TYPEOF (item)) = 1)) >= 1; - WR2: SIZEOF (QUERY (srm <* QUERY (rm <* - USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SYMBOL_REPRESENTATION_MAP' - IN TYPEOF(rm))) | - NOT (SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi))) - | NOT (SIZEOF (QUERY (aso <* - USEDIN (a_s, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'STYLED_ITEM.ITEM') | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE' - IN TYPEOF(aso)))) = 0))) = 0))) > 0; - WR3: SIZEOF (SELF.context_of_items.representations_in_context) = 1; -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_annotation_occurrence - SUBTYPE OF (annotation_occurrence); -WHERE - WR1: -- curve_has_curve_style: - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' - IN TYPEOF (SELF))) OR - (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (sty.styles[1]))) )) = 0); - WR2: -- fill_area_has_fill_style: - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' - IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILL_AREA_STYLE' - IN TYPEOF (sty.styles[1]))) )) = 0); - WR3: -- styled_fill_boundaries: - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' - IN TYPEOF (SELF))) OR (SIZEOF (QUERY (bound <* - SELF.item\annotation_fill_area.boundaries | - NOT (SIZEOF (QUERY (si <* - USEDIN (bound, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'STYLED_ITEM.ITEM') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF (si)))) > 0))) = 0); - WR4: -- symbol_has_symbol_style: - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' - IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) AND - (SIZEOF (TYPEOF (sty.styles[1]) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SYMBOL_STYLE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NULL_STYLE']) = 1)) )) = 0); - WR5: -- allowable_symbol_representations: - (NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL' - IN TYPEOF(SELF.item)))) OR - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_SYMBOL_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_SUBFIGURE_REPRESENTATION'] * - TYPEOF (SELF.item\mapped_item.mapping_source. - mapped_representation)) = 1); - WR6: -- text_has_text_style: - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF))) OR - (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_STYLE' - IN TYPEOF (sty.styles[1]))) )) = 0); - WR7: -- allowable_text: - (NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF))) OR - (SIZEOF (TYPEOF(SELF.item) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL']) = 1); - WR8: -- text_not_nested: - (NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item)))) OR (SIZEOF (QUERY (tl <* - SELF.item\composite_text.collected_text | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL' - IN TYPEOF (tl)) )) = 0); - WR9: -- text_alignment_literals: - (NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL' - IN TYPEOF (SELF.item)))) OR (SELF.item\text_literal.alignment - IN ['baseline left', 'baseline centre', 'baseline right']); - WR10: -- text_alignment_composites: - (NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (tl <* QUERY (text <* SELF. - item\composite_text.collected_text - |('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF(text))) | - NOT (tl\text_literal.alignment IN - ['baseline left', 'baseline centre', 'baseline right']) )) = 0); - WR11: -- single_text_alignment: - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(SELF)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item))) OR check_text_alignment(SELF.item); - WR12: -- single_text_font: - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(SELF)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item))) OR check_text_font(SELF.item); - WR13: -- allowable_text_literals: - (NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(SELF)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (tl <* QUERY (text <* - SELF.item\composite_text.collected_text | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF (text))) | - NOT (SIZEOF (TYPEOF(tl) * - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'TEXT_LITERAL_WITH_BLANKING_BOX', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'TEXT_LITERAL_WITH_ASSOCIATED_CURVES']) = 0) )) = 0); - WR14: -- styled_text_literal_curves: - (NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL_WITH_ASSOCIATED_CURVES' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (crv <* - SELF.item\text_literal_with_associated_curves. - associated_curves | - NOT (SIZEOF (QUERY (si <* USEDIN (crv, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM.ITEM') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' - IN TYPEOF (si)) )) > 0) )) = 0); - WR15: -- styled_composite_text_curves: - (NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT_WITH_ASSOCIATED_CURVES' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (crv <* - SELF.item\composite_text_with_associated_curves. - associated_curves | - NOT (SIZEOF (QUERY (si <* USEDIN (crv, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM.ITEM') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' - IN TYPEOF (si)) )) > 0) )) = 0); -WR16: -- curve_style_has_width: - SIZEOF (QUERY (cs <* QUERY (sty <* SELF.styles | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF (sty.styles[1]))) - | NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (cs.styles[1]\curve_style.curve_width)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' - IN TYPEOF (cs.styles[1]\curve_style. - curve_width\measure_with_unit.value_component))))) = 0; -WR17: -- tiling_constraints: - SIZEOF (QUERY (fas <* QUERY (sty <* SELF.styles | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILL_AREA_STYLE' - IN TYPEOF (sty.styles[1]))) | - NOT ((SIZEOF (QUERY (fs <* fas.styles[1]\fill_area_style.fill_styles - | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILL_AREA_STYLE_TILES' - IN TYPEOF (fs)))) <= 1) - AND (SIZEOF (QUERY (fst <* QUERY (fs <* - fas.styles[1]\fill_area_style.fill_styles | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILL_AREA_STYLE_TILES' - IN TYPEOF (fs))) | - NOT (SIZEOF (fst\fill_area_style_tiles.tiles) = 1) - )) = 0)) - )) = 0; - WR18: -- hatching_constraints: - SIZEOF (QUERY (fas <* QUERY (sty <* SELF.styles | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILL_AREA_STYLE' - IN TYPEOF (sty.styles[1]))) | - NOT (SIZEOF (QUERY (fsh <* QUERY (fs <* - fas.styles[1]\fill_area_style.fill_styles | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FILL_AREA_STYLE_HATCHING' - IN TYPEOF (fs))) | - NOT (fsh\fill_area_style_hatching.point_of_reference_hatch_line :=: - fsh\fill_area_style_hatching.pattern_start) )) = 0) )) = 0; - WR19: -- text_style_constraint: - SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_STYLE' - IN TYPEOF(sty.styles[1]))) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS' - IN TYPEOF (ts.styles[1])))) = 0; - WR20: -- text_style_characteristics: - SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_STYLE_WITH_BOX_CHARACTERISTICS' - IN TYPEOF (sty.styles[1]))) | - NOT (SIZEOF (ts.styles[1]\text_style_with_box_characteristics. - characteristics) = 4) )) = 0; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_element_nodal_specified_variable_values - SUBTYPE OF (volume_3d_element_field_variable_definition); - values : LIST [1:?] OF field_value; - additional_node_values : BOOLEAN; - variable : volume_variable; -WHERE - WR1: consistent_list_values (values, variable); - WR2: appropriate_list_value_existence (values, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style - SUBTYPE OF (founded_item); - name : label; - fill_styles : SET [1:?] OF fill_style_select; - WHERE - WR1: SIZEOF(QUERY(fill_style <* SELF.fill_styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'FILL_AREA_STYLE_COLOUR' IN - TYPEOF(fill_style) - )) <= 1; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY curve_bounded_surface - SUBTYPE OF (bounded_surface); - basis_surface : surface; - boundaries : SET[1:?] OF boundary_curve; - implicit_outer : BOOLEAN; -WHERE - WR1: (NOT implicit_outer) OR (SIZEOF (QUERY (temp <* boundaries | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) = 0); - WR2: (NOT(implicit_outer)) OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(basis_surface)); - WR3: SIZEOF(QUERY(temp <* boundaries | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) <= 1; - WR4: SIZEOF(QUERY(temp <* boundaries | (temp\composite_curve_on_surface.basis_surface [1] <> SELF.basis_surface))) = 0; -END_ENTITY; -(* USED FROM (aic_topologically_bounded_surface); *) -ENTITY advanced_face - SUBTYPE OF ( face_surface ); - WHERE -WR1 : -SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_SURFACE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_SURFACE' ] * TYPEOF (face_geometry)) = 1; -WR2 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element)) )) = 0) )) = 0; -WR3 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (oe.edge_element\edge_curve.edge_geometry)) = 1) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_start)) AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_start\vertex_point.vertex_geometry))) AND (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_end)) AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_end\vertex_point.vertex_geometry)))) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF (elp_fbnds.bound)) )) = 0; -WR6 : NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (face_geometry\swept_surface.swept_curve)) = 1); -WR7 : -SIZEOF ( -QUERY ( vlp_fbnds <* -QUERY ( bnds <* bounds| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) )| NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex\vertex_point.vertex_geometry))) )) = 0; -WR8 : -SIZEOF ( -QUERY ( bnd <* bounds| NOT ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' ] * TYPEOF (bnd.bound)) = 1) )) = 0; -WR9 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry)) AND NOT ( SIZEOF ( -QUERY ( sc_ag <* oe.edge_element\edge_curve.edge_geometry\surface_curve.associated_geometry| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF (sc_ag)) )) = 0) )) = 0) )) = 0; -WR10 : (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (face_geometry\swept_surface.swept_curve)) OR ( SIZEOF (face_geometry\swept_surface.swept_curve\polyline.points) >= 3))) AND ( SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry)) AND NOT ( SIZEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry\polyline.points) >= 3) )) = 0) )) = 0); - END_ENTITY ; -(* USED FROM (Construction_geometry_mim); *) - ENTITY constructive_geometry_representation - SUBTYPE OF (representation); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.context_of_items)) AND ({2 <= SELF.context_of_items\geometric_representation_context. coordinate_space_dimension <= 3}); - WR2: SIZEOF( QUERY( cgr_i <* SELF.items | SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT'] * TYPEOF(cgr_i)) <> 1 )) = 0; - WR3: SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) > 0; - WR4: SIZEOF( USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') ) = 0; - END_ENTITY; -(* USED FROM (draughting_dimension_schema); *) -ENTITY dimension_callout - SUBTYPE OF (draughting_callout); -WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' - IN (TYPEOF (SELF))) XOR - (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_CURVE' - IN (TYPEOF(dce_1))))) = 0); - WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' - IN (TYPEOF (SELF))) XOR - (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_CURVE' - IN (TYPEOF(dce_1))))) = 0); - WR3: -('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' - IN (TYPEOF (SELF))) XOR - (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE' - IN (TYPEOF(dce_1))))) = 0); -END_ENTITY; -(* USED FROM (Draughting_element_specialisations_mim); *) - ENTITY surface_condition_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF ( QUERY ( c <* SELF.contents | SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'ANNOTATION_CURVE_OCCURRENCE' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'ANNOTATION_SYMBOL_OCCURRENCE' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'ANNOTATION_TEXT_OCCURRENCE']* TYPEOF - ( c ) ) <>1 ) ) =0; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_fill_area - SUBTYPE OF (geometric_representation_item); - boundaries : SET [1:?] OF curve; - WHERE - WR1: (SELF\geometric_representation_item.dim = 3) OR (SIZEOF (QUERY (curve <* SELF.boundaries | - NOT ( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE' IN TYPEOF (curve)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPSE' IN TYPEOF (curve)) OR - ( ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (curve)) - AND (curve\b_spline_curve.closed_curve = TRUE) ) OR - ( ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (curve)) - AND (curve\composite_curve.closed_curve = TRUE) ) OR - ( ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (curve)) - AND (curve\polyline.points[LOINDEX(curve\polyline.points)] = - curve\polyline.points[HIINDEX(curve\polyline.points)]) ) - ) )) = 0); - END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY draughting_model - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF draughting_model_item_select; - UNIQUE - UR1: SELF\representation.name; - WHERE - WR1: SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it))) | - NOT ( - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_MODEL'] * - TYPEOF (mi\mapped_item.mapping_source. - mapped_representation)) = 1 - ))) = 0; - WR2: SIZEOF (QUERY (smi <* QUERY (si <* QUERY (it <* SELF.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF(it))) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN - TYPEOF(si\styled_item.item))) | - (NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN - TYPEOF(smi\styled_item.item\mapped_item. - mapping_source.mapped_representation)) - AND - (SIZEOF (QUERY (sty <* smi\styled_item.styles | - (NOT (SIZEOF (QUERY (psa <* sty.styles | - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF(psa))))) = 1 - )))) = 1))) - )) = 0; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text - SUBTYPE OF (geometric_representation_item); - collected_text : SET[2:?] of text_or_character; - WHERE - WR1: acyclic_composite_text( SELF, SELF.collected_text); - END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY dimension_text_associativity - SUBTYPE OF (text_literal, mapped_item); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DIMENSION_REPRESENTATION' - IN TYPEOF (SELF\mapped_item. - mapping_source.mapped_representation)); - WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' - IN TYPEOF (SELF\mapped_item.mapping_target)); - WR3: SIZEOF (QUERY (ato <* QUERY (si <* - USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM.ITEM') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(si))) | - NOT (SIZEOF( QUERY (dc <* - USEDIN (ato, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT.CONTENTS') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' - IN TYPEOF (dc))) - * [SELF\mapped_item.mapping_target]) = 1) - )) = 0; - END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY material_property -SUBTYPE OF (property_definition); -UNIQUE - UR1 : SELF\property_definition.name, SELF\property_definition.definition; -WHERE - WR1 : ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTERIZED_OBJECT' IN - TYPEOF(SELF\property_definition.definition)) OR - (SIZEOF(bag_to_set(USEDIN(SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) - - QUERY(temp <* bag_to_set(USEDIN(SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'MATERIAL_PROPERTY_REPRESENTATION' IN - TYPEOF(temp)))) = 0); -END_ENTITY; -(* USED FROM (aic_csg); *) -ENTITY csg_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SOLID', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_REPLICA', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REVOLVED_FACE_SOLID', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (it)) <> 1) )) = 0; -WR3 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; -WR4 : -SIZEOF ( -QUERY ( sr <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_REPLICA' IN TYPEOF (it)) )| ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SOLID', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REVOLVED_FACE_SOLID', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (sr\solid_replica.parent_solid)) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (it)) )) > 0; - END_ENTITY ; -(* USED FROM (presentation_definition_schema); *) - ENTITY symbol_representation_map - SUBTYPE OF (representation_map); - SELF\representation_map.mapped_representation : symbol_representation; - SELF\representation_map.mapping_origin : axis2_placement; - WHERE - WR1: SIZEOF( - QUERY(mi <* SELF\representation_map.map_usage | NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi))) - ) = 0; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_stepped_round_hole_and_conical_transitions - SUBTYPE OF (solid_with_stepped_round_hole); - conical_transitions : SET[1:?] OF conical_stepped_hole_transition; -WHERE - WR1: SIZEOF (conical_transitions) <= - (SELF\solid_with_stepped_round_hole.segments + 1); - WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' - IN TYPEOF(SELF)) XOR (SIZEOF(conical_transitions) <= - SELF\solid_with_stepped_round_hole.segments); - WR3: validate_countersink_radii(SELF); -END_ENTITY; -(* USED FROM (procedural_model_schema); *) -ENTITY explicit_procedural_representation_relationship - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 : procedural_representation; -WHERE - WR1 : (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCEDURAL_REPRESENTATION' - IN TYPEOF(SELF\representation_relationship.rep_2))) AND - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION' - IN TYPEOF(SELF\representation_relationship.rep_2))); - WR2 : SELF\representation_relationship.rep_1.context_of_items :=: - SELF\representation_relationship.rep_2.context_of_items; -END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY fixed_constituent_assembly_constraint -SUBTYPE OF (assembly_geometric_constraint, - fixed_element_geometric_constraint); - fixed_constituent: representative_shape_representation; -WHERE -WR1: SELF\explicit_constraint.constrained_elements[1] - \geometric_representation_item.dim = 3; -WR2: (assembly_leaf (using_product_definition_of_shape_representation - (fixed_constituent)[1])); -WR3: (SIZEOF(SELF\explicit_constraint.constrained_elements) = 1) AND - (SIZEOF(SELF\explicit_constraint.reference_elements) = 0); -WR4: fixed_constituent IN (using_representations(SELF\explicit_constraint.constrained_elements[1]) + - using_representation_with_mapping(SELF\explicit_constraint.constrained_elements[1])); -END_ENTITY;-- fixed_constituent_assembly_constraint -(* USED FROM (assembly_constraint_schema); *) -ENTITY binary_assembly_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - PARALLEL_ASSEMBLY_CONSTRAINT, - SURFACE_DISTANCE_ASSEMBLY_CONSTRAINT_WITH_DIMENSION, - ANGLE_ASSEMBLY_CONSTRAINT_WITH_DIMENSION, - PERPENDICULAR_ASSEMBLY_CONSTRAINT, - INCIDENCE_ASSEMBLY_CONSTRAINT, - COAXIAL_ASSEMBLY_CONSTRAINT, - TANGENT_ASSEMBLY_CONSTRAINT)) - SUBTYPE OF (assembly_geometric_constraint, - representation_relationship_with_transformation); -SELF\representation_relationship.rep_1: representative_shape_representation; -SELF\representation_relationship.rep_2: representative_shape_representation; -WHERE -WR1: (SELF\explicit_constraint.constrained_elements[1] - \geometric_representation_item.dim = 3) AND - (SELF\explicit_constraint.reference_elements[1] - \geometric_representation_item.dim = 3); -WR2: (SELF\representation_relationship.rep_1 IN (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1))) AND - (SELF\representation_relationship.rep_2 IN (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2))); -WR3: (SIZEOF(SELF\explicit_constraint.constrained_elements)=1) AND - (SIZEOF(SELF\explicit_constraint.reference_elements)=1); -WR4: (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1 = - SELF\explicit_constraint.reference_elements[1]) AND - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2 = - SELF\explicit_constraint.constrained_elements[1]); - -END_ENTITY;-- binary_assembly_constraint -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_area - SUBTYPE OF (presentation_representation); - WHERE - WR1: ((SIZEOF (QUERY (ais <* USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') | - SIZEOF (USEDIN (ais, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT')) =1)) > 0) OR - (SIZEOF (USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT')) =1)); - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY turned_knurl - SUBTYPE OF (feature_definition); - WHERE - WR1: (SELF\characterized_object.description IN - ['diamond','diagonal','straight']); - WR2: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - ({6 <= SIZEOF(pdr.used_representation.items) <= 9}) )) = 1 )) = 1; - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of teeth')) )) <= 1)) )) = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'major diameter'))))= 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'nominal diameter')) )) = 1)) )) - = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | (NOT (SIZEOF(QUERY ( impl_rep <* - QUERY ( pdr <* USEDIN(pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'tooth depth')) )) <= 1)) )) - = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'root fillet')) )) <= 1)) )) - = 0)) )) = 0); - WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diametral pitch')) )) = 1)) )) - = 0)) )) = 0); - WR9: ((NOT (SELF\characterized_object.description IN - ['diamond','diagonal'])) OR ( - SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( - pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'helix angle')) )) = 1)) )) - = 0)) )) = 0)); - WR10: ((NOT (SELF\characterized_object.description = 'diagonal')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'helix hand')) )) = 1)) )) - = 0)) )) = 0)); - WR11: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial area occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied area usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') IN TYPEOF(sar))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_AREA' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR12: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); -END_ENTITY; -- turned_knurl -(* USED FROM (aic_machining_feature); *) -ENTITY thread_runout - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(SELF.of_shape)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) = 3)) )) - = 0)) )) = 0); - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - NOT (srwp_i.name IN ['length of runout','pitch or dimension', - 'included or extra']) )) > 0 ) )) = 0 ) )) = 0; - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'length of runout')) )) = 1)) )) - = 0)) )) <= 1); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'pitch or dimension') - AND (it.description IN ['pitch','pitch or dimension'])) - )) = 1)) )) = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'included or extra') - AND (it.description IN ['included','extra'])) - )) = 1)) )) = 0)) )) = 0); -END_ENTITY; -- thread_runout -(* USED FROM (aic_machining_feature); *) -ENTITY thread - SUBTYPE OF (feature_definition); - WHERE - WR1 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) AND - (8 <= SIZEOF(pdr.used_representation.items)) AND - (SIZEOF(pdr.used_representation.items) <= 11)) )) = 1) )) = 1); - WR2 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'major diameter')) )) = 1)) )) - = 0)) )) = 0); - WR3 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'minor diameter')) )) - <= 1)) )) = 0)) )) = 0); - WR4 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'pitch diameter')) )) <= 1)) )) - = 0)) )) = 0); - WR5 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'number of threads')) )) - = 1)) )) = 0)) )) = 0); - WR6 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class')) )) = 1)) )) = 0)) )) - = 0); - WR7 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'form')) )) = 1)) )) = 0)) )) - = 0); - WR8 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'hand')AND - (it.description IN ['left', 'right']) ) )) = 1)) )) = 0)) )) - = 0); - WR9 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'qualifier')) )) <= 1)) )) - = 0)) )) = 0); - WR10: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'thread side') AND - ((it.description = 'internal') OR (it.description = 'external'))) )) - = 1)) )) = 0)) )) = 0); - WR11: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'crest')) )) <= 1)) )) - = 0)) )) = 0); - WR12: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial area occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied area usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_AREA' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR13: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR14 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class 2')) )) <= 1)) )) = 0)) )) - = 0); - WR15 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'nominal size')) )) - <= 1)) )) = 0)) )) = 0); - - WR16: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'thread runout') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'thread runout usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.THREAD_RUNOUT' - IN TYPEOF(sdr.relating_shape_aspect)) )) <= 1)) )) = 1)) )) = 0); - END_ENTITY; -- thread -(* USED FROM (aic_machining_feature); *) -ENTITY tee_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 9) - AND (SIZEOF (impl_rep.used_representation.items) <= 10)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'width') OR - (srwp_i.name = 'depth') OR - (srwp_i.name = 'cross bar width') OR - (srwp_i.name = 'cross bar depth') OR - (srwp_i.name = 'first offset') OR - (srwp_i.name = 'second offset') OR - (srwp_i.name = 'first angle') OR - (srwp_i.name = 'second angle') OR - (srwp_i.name = 'radius') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'width'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'depth'))) = 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'cross bar width'))) = 1))) - = 0))) = 0; - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'cross bar depth'))) = 1))) - = 0))) = 0; - WR10: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first offset'))) = 1))) - = 0))) = 0; - WR11: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second offset'))) = 1))) - = 0))) = 0; - WR12: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first angle'))) = 1))) - = 0))) = 0; - WR13: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second angle'))) = 1))) - = 0))) = 0; - WR14: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) <= 1))) = 0))) = 0; - WR15: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; -END_ENTITY; -- tee_profile -(* USED FROM (aic_machining_feature); *) -ENTITY taper - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['angle taper','diameter taper', - 'directed taper']); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR5: ((NOT (SELF.description = 'angle taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'taper angle')) )) = 1)) )) - = 0)) )) = 0)); - WR6: ((NOT (SELF.description = 'diameter taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'final diameter')) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'directed taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'angle')) )) = 1)) )) - = 0)) )) = 0)); - WR8: ((NOT (SELF.description = 'directed taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'direction') )) - = 1)) )) = 0)); -END_ENTITY; -- taper -(* USED FROM (aic_machining_feature); *) -ENTITY slot_end - SUBTYPE OF (shape_aspect); - WHERE -WR1 : 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition); - -WR2 : SELF.description IN ['open','radiused','flat','woodruff', - 'loop']; - -WR3: (NOT (SELF.description IN ['open','radiused','loop'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 0)) )) = 0); - -WR4: (NOT (SELF.description IN ['flat','woodruff'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - -WR5: (NOT (SELF.description IN ['flat'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0); - -WR6: (NOT (SELF.description = 'flat')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) - = 2) AND - (it.name = 'first radius')) )) = 1)) )) = 0)) )) = 0); - -WR7: (NOT (SELF.description = 'flat')) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) - = 2) AND (it.name = 'second radius')) )) = 1)) )) = 0)) )) = 0); - -WR8: (NOT (SELF.description = 'woodruff')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF(it)) AND - (it.name = 'radius')) )) = 1)) )) = 0)) )) = 0); - -WR9: (NOT (SELF.description IN ['woodruff'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0); - -WR10: SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - (((fcr.related_shape_aspect.description = 'end condition occurrence') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect))) )) >= 1; - -END_ENTITY; -- slot_end -(* USED FROM (aic_machining_feature); *) - ENTITY slot - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF(QUERY ( pd <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(impl_rep. - used_representation.items) = 1)) )) = 0)) )) = 0; - WR2: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | (( - sa_occ.description = 'swept shape occurrence') AND (SIZEOF( - QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | ((sar.description = - 'profile usage') AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar))) ) | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF(sdr.relating_shape_aspect)) = 1) )) = 1)) )) = 1)) )) - = 0; - WR3: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | (( - sa_occ.description = 'course of travel occurrence') AND ( - SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | ((sar.description = - 'path feature component usage') AND ((sar.name = - 'course of travel') AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar)))) ) | ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0; - - WR4: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT((SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'end condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.relating_shape_aspect.description - IN ['open','radiused','flat','woodruff'])) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1) ) )) = 2) - OR - (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'end condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.relating_shape_aspect.description IN ['loop'])) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1) ) )) = 1))) )) =0; - - WR5: (NOT (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'end condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.relating_shape_aspect.description IN ['loop'])) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1)) )) = 1)) )) =0) - OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - ((sar.name = 'course of travel') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar)))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description - IN ['complex','complete circular'])) - )) = 1)) )) = 1)) )) = 0)); - - WR6: SIZEOF(QUERY ( pdr <* get_property_definition_representations( - SELF) | (( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND (pdr. - used_representation.name = 'maximum feature limit')) )) >= 0; - END_ENTITY; -- slot -(* USED FROM (aic_machining_feature); *) -ENTITY step - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear')) )) = 1)) )) - = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'removal boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; - WR5: SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(csa)) AND - (csa.name='uncut volume') AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROTRUSION'] * TYPEOF(sar. - related_shape_aspect)) = 1)) )) = 1)) )) <= 1)) )) = 1; -END_ENTITY; -- step -(* USED FROM (aic_machining_feature); *) -ENTITY square_u_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 4) - AND (SIZEOF (impl_rep.used_representation.items) <= 7)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'width') OR - (srwp_i.name = 'first angle') OR - (srwp_i.name = 'second angle') OR - (srwp_i.name = 'first radius') OR - (srwp_i.name = 'second radius') OR - (srwp_i.name = 'profile limit') OR - (srwp_i.name = 'depth') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'width'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'first radius'))) <= 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'second radius'))) <= 1))) = 0))) = 0; - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'first angle'))) = 1))) = 0))) = 0; - WR10: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'second angle'))) = 1))) = 0))) = 0; - WR11: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; - - WR12: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'depth'))) <= 1))) = 0))) = 0; -END_ENTITY; -- Square_U_profile -(* USED FROM (aic_machining_feature); *) -ENTITY spherical_cap - SUBTYPE OF (feature_definition); - WHERE - - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 3)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)))) - = 0)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'internal angle')))) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- spherical_cap -(* USED FROM (aic_machining_feature); *) -ENTITY rounded_u_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND (SIZEOF (impl_rep.used_representation.items) <= 2)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'depth') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'width'))))= 1))))= 0))))= 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'depth'))) <= 1))) = 0))) = 0; -END_ENTITY; -- rounded_u_profile -(* USED FROM (aic_machining_feature); *) -ENTITY rounded_end - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial circular boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) ) )) = 1)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear')) )) = 1)) )) - = 1)) )) = 0); - WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- rounded_end -(* USED FROM (structural_response_representation_schema); *) -ENTITY explicit_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model; - (* description : text; *) - matrix : explicit_element_matrix; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - WR1: SIZEOF (QUERY(item <* SELF\representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AXIS2_PLACEMENT_3D') - IN TYPEOF (item))) = 1; - WR2: SIZEOF (matrix.node_dof_list) = - SIZEOF (SELF\element_representation.node_list); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY explicit_element_matrix; - property_type : matrix_property_type; - symmetry : matrix_symmetry; - node_dof_list : LIST [1:?] OF LIST [1:?] OF degree_of_freedom; - matrix_values : LIST [1:?] OF context_dependent_measure; -WHERE - WR1: SIZEOF (matrix_values) = number_of_terms (node_dof_list, symmetry); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_side_style - SUBTYPE OF (founded_item); - name : label; - styles : SET [1:7] OF surface_style_element_select; - WHERE - WR1: SIZEOF(QUERY( style1 <* SELF.styles | - SIZEOF(QUERY( style2 <* SELF.styles - style1 | - TYPEOF(style1) = TYPEOF(style2) - )) > 0 - )) = 0; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY rib_top - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'rib top condition occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'rib top usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIB_TOP_FLOOR' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIB_TOP' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition)) ) - )) = 1))) = 1))) = 0; - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'removal direction'))) = 1))) = 1; - WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- rib_top -(* USED FROM (solid_shape_element_schema); *) -ENTITY extruded_face_solid_with_multiple_draft_angles - SUBTYPE OF (extruded_face_solid_with_trim_conditions); - drafted_edges : LIST[2:?] OF SET[1:?] OF edge_curve; - draft_angles : LIST[2:?] OF plane_angle_measure; -WHERE - WR1: SIZEOF(drafted_edges) = SIZEOF(draft_angles); - WR2: SIZEOF(QUERY(q <* draft_angles | q = 0)) = 0; - WR3: SIZEOF(QUERY(q <* drafted_edges | (SIZEOF(QUERY(r <* q | NOT - (SELF\swept_face_solid.swept_face IN - using_items(r,[])))) > 0))) = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY protrusion - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'shape volume occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'volume shape usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (sdr.relating_shape_aspect.description = 'volume shape') )) = 1)) )) - = 1)) )) = 0); - WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- protrusion -(* USED FROM (aic_machining_feature); *) -ENTITY rectangular_pattern - SUBTYPE OF (replicate_feature); - WHERE - WR1: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.related_shape_aspect)) )) = 1)) )) <= 5)) )) = 0); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'row layout direction') ) )) - = 1)) )) = 0); - WR3 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'column layout direction')) )) - = 1)) )) = 0); - WR4 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR5 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 5)) )) - = 0)) )) = 0); - WR6 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of rows')) )) = 1)) )) = 0)) )) = 0); - WR7 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of columns')) )) = 1)) )) = 0)) )) = 0); - WR8 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'row spacing')) )) = 1)) )) - = 0)) )) = 0); - WR9: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'column spacing'))))= 1)) )) - = 0)) )) = 0); - WR10: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF(it)) AND - (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0); -END_ENTITY; -- rectangular_pattern -(* USED FROM (aic_machining_feature); *) -ENTITY rectangular_closed_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT ((SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF(impl_rep.used_representation.items) <= 4)))) = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* - USEDIN( SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'length') OR - (srwp_i.name = 'width') OR - (srwp_i.name = 'corner radius') )) = - SIZEOF(pdr.used_representation.items)) - )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'width'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'length'))) = 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'corner radius'))) <= 1))) = 0))) = 0; -END_ENTITY; -- rectangular_closed_profile -(* USED FROM (representation_schema); *) - ENTITY value_representation_item - SUBTYPE OF (representation_item); - value_component : measure_value; - WHERE - WR1: SIZEOF (QUERY (rep <* using_representations (SELF) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' - IN TYPEOF (rep.context_of_items) - ))) = 0; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY profile_floor - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SELF.description IN ['planar', 'complex', 'through']; - WR3: (NOT (SELF.description IN ['planar', 'complex']) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0)); - WR4: (NOT (SELF.description IN ['planar', 'complex'])) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (impl_rep.used_representation.items) >= 1)AND - (SIZEOF (impl_rep.used_representation.items) <= 2))) = 0))) = 0); - WR5: (NOT (SELF.description = 'through') OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 0))) = 0)); - WR6: (NOT (SELF.description IN ['planar', 'complex'])) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0); - WR7: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'profile floor usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF (sar))) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OUTSIDE_PROFILE' IN TYPEOF - (fcr.related_shape_aspect.of_shape.definition))AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROFILE_FLOOR' IN TYPEOF - (fcr.relating_shape_aspect))) - )) >= 1; - WR8: ((NOT (SELF.description IN ['planar','complex'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'shape profile floor orientation') - AND (it.description IN ['shape profile start','shape profile end'])) - )) = 1)) )) = 0)) )) = 0)); - WR9: (NOT (SELF.description = 'complex')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name='floor'))) = 1))) = 1); - WR10: (NOT (SELF.description = 'planar')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name='floor'))) = 1))) = 1); -END_ENTITY; -- profile_floor -(* USED FROM (structural_response_representation_schema); *) -ENTITY plane_curve_2d_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model_2d; - element_descriptor : plane_curve_2d_element_descriptor; - property : curve_2d_element_property; - depth_property : plane_2d_element_property; - material : element_material; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - WR1: model_ref.type_of_2d_analysis = planar; - WR2: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CURVE_2D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) = 1; - WR3: SIZEOF (QUERY(item1 <* material.properties | - (SIZEOF (QUERY (item2 <* - item1\property_definition_representation.used_representation.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_LINEAR_ELASTICITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MASS_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AREA_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MOISTURE_ABSORPTION'] * TYPEOF (item2) - ) = 1 - )) = 1 - ))) >= 1; - WR4: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF (SELF\representation.context_of_items); - FU1: required_0d_nodes ( - SELF\element_representation.node_list); -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY open_path_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND - (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit') )) <= 1))) = 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY geometric_representation_item - SUPERTYPE OF ( ( ONEOF ( - POINT, - DIRECTION, - VECTOR, - PLACEMENT, - CARTESIAN_TRANSFORMATION_OPERATOR, - CURVE, - SURFACE, - EDGE_CURVE, - FACE_SURFACE, - POLY_LOOP, - VERTEX_POINT, - SOLID_MODEL, - BOOLEAN_RESULT, - SPHERE, - RIGHT_CIRCULAR_CONE, - RIGHT_CIRCULAR_CYLINDER, - TORUS, - BLOCK, - PRIMITIVE_2D, - RIGHT_ANGULAR_WEDGE, - VOLUME, - HALF_SPACE_SOLID, - SHELL_BASED_SURFACE_MODEL, - FACE_BASED_SURFACE_MODEL, - SHELL_BASED_WIREFRAME_MODEL, - EDGE_BASED_WIREFRAME_MODEL, - GEOMETRIC_SET, - TESSELLATED_ITEM) )ANDOR( (ONEOF ( - CAMERA_MODEL, - CAMERA_MODEL_D3_MULTI_CLIPPING_INTERSECTION, - CAMERA_MODEL_D3_MULTI_CLIPPING_UNION, - CURVE, - DIRECTION, - LIGHT_SOURCE)) )ANDOR( (ONEOF ( - ANNOTATION_FILL_AREA, - COMPOSITE_TEXT, - CURVE, - DEFINED_CHARACTER_GLYPH, - DEFINED_SYMBOL, - POINT, - SYMBOL_TARGET, - TEXT_LITERAL)) )ANDOR( ONEOF ( - KINEMATIC_PATH, - PLACEMENT) )ANDOR( (ONEOF ( - CURVE, - EXTERNALLY_DEFINED_HATCH_STYLE, - EXTERNALLY_DEFINED_TILE_STYLE, - FILL_AREA_STYLE_HATCHING, - FILL_AREA_STYLE_TILE_COLOURED_REGION, - FILL_AREA_STYLE_TILE_CURVE_WITH_STYLE, - FILL_AREA_STYLE_TILE_SYMBOL_WITH_STYLE, - FILL_AREA_STYLE_TILES, - ONE_DIRECTION_REPEAT_FACTOR, - POINT, - VECTOR)) )ANDOR( (ONEOF ( - CURVE, - PLANAR_EXTENT)) )ANDOR( ONEOF ( - ROTATION_ABOUT_DIRECTION, - SU_PARAMETERS) ) ) - SUBTYPE OF (representation_item); -DERIVE - dim : dimension_count := dimension_of(SELF); -WHERE - WR1: SIZEOF (QUERY (using_rep <* using_representations (SELF) | NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF (using_rep.context_of_items)))) = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY hole_bottom - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['through', 'flat', 'flat with radius', - 'flat with taper','spherical', 'conical']); - WR3: ((NOT (SELF.description = 'through')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 0)) )) - = 0)); - WR4: ((NOT (SELF.description IN ['flat with radius', - 'flat with taper', 'spherical','conical'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR5: ((NOT (SELF.description = 'flat')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 0)) )) - = 0)) )) = 0)); - WR6: ((NOT (SELF.description IN ['flat with radius','spherical'])) - OR (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'flat with taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0)); - WR8: ((NOT (SELF.description = 'conical')) OR (SIZEOF( - QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND (SIZEOF (impl_rep.used_representation.items) <= 2)) )) - = 0)) )) = 0)); - WR9: ((SELF.description = 'through') OR - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'hole bottom usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((fcr.name IN ['hole depth start','hole depth end'])) )) >= 1)); - WR10: ((NOT (SELF.description = 'flat with radius')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'corner radius')))) = 1)) )) - = 0)) )) = 0)); - WR11: ((NOT (SELF.description = 'spherical')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) = - 0)) )) = 0)); - WR12: ((NOT (SELF.description = 'conical')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'tip radius')) )) <= 1)) )) - = 0)) )) = 0)); - WR13: ((NOT (SELF.description = 'conical')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'tip angle')) )) = 1)) )) - = 0)) )) = 0)); - WR14: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'hole bottom usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((fcr.related_shape_aspect.description ='bottom condition occurrence') - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUND_HOLE' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.HOLE_BOTTOM' - IN TYPEOF(fcr.relating_shape_aspect))) - )) >= 1); - WR15: ((NOT (SELF.description = 'flat with taper')) OR (SIZEOF( - QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'final diameter')))) = 1)) )) - = 0)) )) = 0)); - WR16: ((NOT (SELF.description = 'flat with taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'taper diameter')) )) = 1)) )) - = 0)) )) = 0)); - END_ENTITY; -- hole_bottom -(* USED FROM (presentation_organization_schema); *) -(* Pruned SUPERTYPE *) - ENTITY presentation_representation - SUPERTYPE OF (ONEOF ( - PRESENTATION_AREA, - PRESENTATION_VIEW)) - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context; - WHERE - WR1: SELF\representation. - context_of_items\geometric_representation_context. - coordinate_space_dimension = 2; - WR2: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_AREA' IN TYPEOF (SELF)) - OR - (SIZEOF (QUERY (prr <* USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'REPRESENTATION_RELATIONSHIP.REP_2') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' IN - TYPEOF (prr\representation_relationship.rep_1))) > 0) - OR - (SIZEOF(QUERY( rm <* USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'REPRESENTATION_MAP.'+ - 'MAPPED_REPRESENTATION') | - SIZEOF(QUERY( mi <* USEDIN(rm, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'MAPPED_ITEM.'+ - 'MAPPING_SOURCE') | - SIZEOF(QUERY( rep <* using_representations (mi) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'PRESENTATION_REPRESENTATION' IN - TYPEOF (rep))) > 0 - )) > 0)) - > 0); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face - SUPERTYPE OF (ONEOF ( - FACE_SURFACE, - SUBFACE, - ORIENTED_FACE)) - SUBTYPE OF (topological_representation_item); - bounds : SET[1:?] OF face_bound; - WHERE - WR1: NOT (mixed_loop_type_set(list_to_set(list_face_loops(SELF)))); - WR2: SIZEOF(QUERY(temp <* bounds | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN - TYPEOF(temp))) <= 1; - END_ENTITY; -(* USED FROM (aic_mechanical_design_shaded_presentation); *) - ENTITY mechanical_design_shaded_presentation_area - SUBTYPE OF (presentation_area); - SELF\representation.items : SET[1:?] OF mechanical_design_shaded_presentation_area_items; - WHERE - WR1 : (* only presentation_views or axis2_placements in - mechanical_design_shaded_presentation_area *) - SIZEOF (QUERY (it1 <* SELF.items | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT' - IN TYPEOF (it1)) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF (it1)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it1\mapped_item.mapping_source.mapped_representation)))))) = 0; - WR2 : (* only mechanical_design_shaded_presentation_representation - via camera_image_3d_with_scale or axis2_placements in - presentation_views *) - SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF (it1)) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (mi1\mapped_item.mapping_source.mapped_representation)) | - (* search in all presentation_views for axis2_placements and - mapped_items and for the subtype of mapped_item, - camera_image_3d_with_scale; the latter shall reference - a mechanical_design_geometric_presentation_representation; - the supertype mapped_item shall reference presentation_view. *) - NOT (SIZEOF(QUERY(it2 <* pv\mapped_item.mapping_source. - mapped_representation\representation.items | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT' - IN TYPEOF(it2)) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it2)) AND NOT - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it2\mapped_item.mapping_source.mapped_representation))) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2)) - AND NOT ( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' - IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) )) - ))) = 0))) = 0; - WR3: (* Presentation_size shall be a positive rectangle for area and set. - Check for this presentation_area subtype first. *) - (SIZEOF (QUERY(ps <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - NOT ((ps\presentation_size.size.size_in_x > 0) - AND (ps\presentation_size.size.size_in_y > 0)) )) = 0) - AND - (* check secondly for presentation_set, via area_in_set *) - (SIZEOF (QUERY(pset <* QUERY(ais <* - USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') - | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) | - (* after having collected all presentation_set, check their sizes *) - SIZEOF (QUERY(ps <* USEDIN(pset, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') - | NOT ((ps\presentation_size.size.size_in_x > 0) - AND (ps\presentation_size.size.size_in_y > 0)) )) = 0)) = 0); - WR4: (* Drawing space shall be defined in 2D. - Check for this presentation_area subtype first. *) - (SIZEOF(QUERY( psize <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') - | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' - IN TYPEOF (psize.size.placement))) = 1) - AND - (* check secondly for presentation_set, via area_in_set *) - (SIZEOF (QUERY(pset <* QUERY(ais <* - USEDIN (SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') - | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) | - (* after having collected all presentation_set, check their - dimension *) - SIZEOF (QUERY(psize <* USEDIN(pset, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') - | NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' - IN TYPEOF (psize.size.placement)) )) = 0)) = 0); - WR5 : (* valid types of camera_models - get for all presentation_areas their presentation_views *) - SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF (it1)) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (mi1\mapped_item.mapping_source.mapped_representation)) | - (* search in all presentation_views for - mapped_items and for the subtype of mapped_item, - camera_image_3d_with_scale; the latter shall reference - a camera_usage that shall have as its mapping_origin either - camera_model_d3, camera_model_d3_with_hlhsr, or - camera_model_with_light_sources. *) - NOT (SIZEOF(QUERY(ci <* pv\mapped_item.mapping_source. - mapped_representation\representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(ci)) - AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CAMERA_MODEL_D3', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CAMERA_MODEL_D3_WITH_HLHSR', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CAMERA_MODEL_WITH_LIGHT_SOURCES'] * TYPEOF - (ci\mapped_item.mapping_source.mapping_origin)) - = 1))) = 0))) = 0; - END_ENTITY; (* mechanical_design_shaded_presentation_area *) -(* USED FROM (aic_mechanical_design_shaded_presentation); *) -ENTITY mechanical_design_shaded_presentation_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF mechanical_design_shaded_presentation_representation_items; -WHERE - WR1: (* for all mapped_items check that only - shape_representations and - mechanical_design_shaded_presentation_representations - are referenced *) - SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it))) | NOT (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION'] - * TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) - = 1))) = 0; - WR2: (* for all styled_item.item check that in case they are - mapped_items that they are shape_representations *) - SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it))) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(si\styled_item.item))) | NOT ( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item. - item\mapped_item.mapping_source.mapped_representation))) )) = 0; - WR3: (* for all styled_items get their styles via - presentation_style_assignment.styles and check for valid - style types *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (pss <* psa.styles | - NOT (SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_STYLE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE'] - * TYPEOF (pss)) = 1))) = 0))) = 0))) = 0; - WR4: (* for all styled_items get those assigned styles that - are presentation_style_by_contexts and ensure that - these reference only representation_items and - representations as valid contexts *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psbc <* QUERY (psa <* si\styled_item.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF (psa)) | - NOT (SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION'] - * TYPEOF (psbc\presentation_style_by_context.style_context)) = 1))) - = 0))) = 0; - WR5: (* for all styled_items get all assigned point_styles - and ensure that marker_select, marker_size and - marker_colour are valid *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ps <* QUERY (pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_STYLE' - IN TYPEOF (pss)) | - NOT ( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MARKER_TYPE' - IN TYPEOF (ps\point_style.marker)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (ps\point_style.marker_size)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ps\point_style.marker_colour)) = 1)))) = 0))) = 0))) = 0; - WR6: (* for all styled_items get all assigned curve_styles - and ensure that curve_width, curve_font and - curve_colour are valid *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (cs <* QUERY (pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (pss)) | - NOT ( - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (cs\curve_style.curve_colour)) = 1) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (cs\curve_style.curve_width)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0; - WR7: (* for all styled_items get all assigned surface_style_usages - and ensure that its style is a surface_side_style *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_SIDE_STYLE' - IN TYPEOF (ssu\surface_style_usage.style)) )) = 0))) = 0 ))) = 0; - WR8: (* for all styled_items get all assigned surface_style_usages - and the surface_side_styles that they reference, and ensure - that the styles referenced by those surface_side_styles - are among the valid subset *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - NOT (SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_PARAMETER_LINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_CONTROL_GRID', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_SILHOUETTE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_SEGMENTATION_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_BOUNDARY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_FILL_AREA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_RENDERING'] * TYPEOF (sses)) = 1))) = 0))) = 0))) - = 0))) = 0; - WR9: (* for all surface_style_fill_areas that are referenced by - any surface_side_styles ensure that they are valid - with respect to their colour representation *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (ssfa <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_FILL_AREA' - IN TYPEOF (sses)) | - NOT (SIZEOF (QUERY (fss <* - ssfa\surface_style_fill_area.fill_area.fill_styles | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'FILL_AREA_STYLE_COLOUR' IN TYPEOF (fss)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (fss\fill_area_style_colour.fill_colour)) = 1)))) = 0))) = 0))) - = 0))) = 0))) = 0; - WR10: (* for all surface_style_parameter_lines that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sspl <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF (sses)) | - NOT (( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_colour)) = 1) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_width)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_font)) = 1)) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR11: (* for all surface_style_control_grids that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sscg <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF (sses)) | - NOT (( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_colour)) = 1) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_width)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_font)) = 1)) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sscg\surface_style_control_grid.style_of_control_grid\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR12: (* for all surface_style_silhouettes that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sssh <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF (sses)) | - NOT (( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_colour)) = 1) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_width)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_font)) = 1)) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssh\surface_style_silhouette.style_of_silhouette\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR13: (* for all surface_style_segmentation_curves that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sssc <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF (sses)) | - NOT (( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF - (sssc\surface_style_segmentation_curve.style_of_segmentation_curve)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_colour)) = 1) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_width)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_font)) = 1)) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssc\surface_style_segmentation_curve.style_of_segmentation_curve\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR14: (* for all surface_style_boundaries that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (ssbd <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_BOUNDARY' IN TYPEOF (sses)) | - NOT (( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_colour)) = 1) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_width)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_font)) = 1)) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ssbd\surface_style_boundary.style_of_boundary\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR15: (* for all surface_style_renderings that are referenced by - any surface_side_styles ensure that the colour - representation is valid *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (ssre <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_RENDERING' IN TYPEOF (sses)) | - NOT - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COLOUR_RGB', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ssre\surface_style_rendering.surface_colour)) = 1))) - = 0))) = 0))) = 0))) = 0; - -END_ENTITY; -(* USED FROM (aic_geometrically_bounded_surface); *) -ENTITY geometrically_bounded_surface_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; - WR2: SIZEOF(QUERY(it <* SELF.items | SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0; - WR3: SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' IN TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) AND (SIZEOF(QUERY(mr_it <* mi\mapped_item.mapping_source.mapped_representation.items | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(mr_it)))) > 0)))) = 0; - WR4: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(pnt <* QUERY(gsel <* gs\geometric_set.elements | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN TYPEOF(gsel)) | NOT (gbsf_check_point(pnt)))) = 0))) = 0; - WR5: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(cv <* QUERY(gsel <* gs\geometric_set.elements | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF(gsel)) | NOT (gbsf_check_curve(cv)))) = 0))) = 0; - WR6: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(sf <* QUERY(gsel <* gs\geometric_set.elements | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF(gsel)) | NOT (gbsf_check_surface(sf)))) = 0))) = 0; - WR7: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | SIZEOF(QUERY(gsel <* gs\geometric_set.elements | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF(gsel))) > 0)) > 0; -END_ENTITY; -(* USED FROM (topology_schema); *) -(* Pruned SUPERTYPE *) - ENTITY path - SUPERTYPE OF (ONEOF ( - EDGE_LOOP, - ORIENTED_PATH)) - SUBTYPE OF (topological_representation_item); - edge_list : LIST [1:?] OF UNIQUE oriented_edge; - WHERE - WR1: path_head_to_tail(SELF); - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY gear - SUBTYPE OF (feature_definition); -WHERE - WR1 : SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF(QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) - AND (10 <= SIZEOF(pdr.used_representation.items)) AND - (SIZEOF(pdr.used_representation.items) <= 13))) = 1)) = 1; - - WR2 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | - (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND - (it.name = 'number of teeth'))) = 1))) = 0))) = 0); - - WR3 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'reference pressure angle'))) = 1))) = 0))) = 0); - - WR4 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND - (it.name = 'rake shift factor'))) = 1))) = 0))) = 0); - - WR5 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'nominal tooth depth'))) = 1))) = 0))) = 0); - - WR6 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'face width'))) = 1))) = 0))) = 0); - - WR7 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'tip diameter'))) = 1))) = 0))) = 0); - - WR8 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | -('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND - (it.name = 'module or diametral pitch') AND - ((it.description ='module') OR (it.description = 'diametral pitch')))) - = 1))) = 0))) = 0); - - WR9 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | -('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND - (it.name = 'internal or external gear') AND - ((it.description ='internal') OR (it.description = 'external')))) - = 1))) = 0))) = 0); - - WR10: NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'normal attribute'))) = 1))) = 0))) = 0); - - WR11 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'root fillet radius'))) <= 1))) = 0))) = 0); - - WR12 : NOT (SELF\characterized_object.description - IN ['helix gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'reference helix angle'))) = 1))) = 0))) = 0); - - WR13 : NOT (SELF\characterized_object.description - IN ['helix gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'gear tooth') AND - ((it.description = 'left hand tooth') OR - (it.description = 'right hand tooth')))) = 1))) = 0))) = 0); - - WR14 : NOT (SELF\characterized_object.description - IN ['straight bevel gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'tip angle'))) = 1))) = 0))) = 0); - - WR15 : NOT (SELF\characterized_object.description - IN ['straight bevel gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'root angle'))) = 1))) = 0))) = 0); - - WR16 : SIZEOF(QUERY(pds <* QUERY(pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) | NOT - (SIZEOF(QUERY(sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - SIZEOF( QUERY(sdr <* QUERY(sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'applied shape') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar))) | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect))) = 1)) = 1))) = 0; - -END_ENTITY; -(* USED FROM (aic_geometrically_bounded_wireframe); *) -ENTITY geometrically_bounded_wireframe_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ( TYPEOF (it) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' ]) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ( TYPEOF (it) * [ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' ]) = 1) )) >= 1; -WR3 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( crv <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_curve(crv) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( pnts <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_point(pnts) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( cnc <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' IN TYPEOF (elem)) )| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (cnc\conic.position)) )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( pline <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (elem)) )| NOT ( SIZEOF (pline\polyline.points) > 2) )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; - END_ENTITY ; -(* USED FROM (aic_shell_based_wireframe); *) -ENTITY shell_based_wireframe_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1; -WR3 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (el.edge_element)) )) = 0) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( pline_el <* -QUERY ( el <* eloop\path.edge_list| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (el.edge_element\edge_curve.edge_geometry)) )| NOT ( SIZEOF (pline_el.edge_element\edge_curve.edge_geometry\polyline.points) > 2) )) = 0) )) = 0) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT valid_wireframe_edge_curve(el.edge_element\edge_curve.edge_geometry) )) = 0) )) = 0) )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_start)) AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_end))) )) = 0) )) = 0) )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT (valid_wireframe_vertex_point(el.edge_element.edge_start\vertex_point.vertex_geometry) AND valid_wireframe_vertex_point(el.edge_element.edge_end\vertex_point.vertex_geometry)) )) = 0) )) = 0) )) = 0) )) = 0; -WR8 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( vloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (vloop\vertex_loop.loop_vertex)) )) = 0) )) = 0) )) = 0; -WR9 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( vloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT valid_wireframe_vertex_point(vloop\vertex_loop.loop_vertex\vertex_point.vertex_geometry) )) = 0) )) = 0) )) = 0; -WR10 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( vs <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (vs\vertex_shell.vertex_shell_extent.loop_vertex)) )) = 0) )) = 0; -WR11 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( vs <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT valid_wireframe_vertex_point(vs\vertex_shell.vertex_shell_extent.loop_vertex\vertex_point.vertex_geometry) )) = 0) )) = 0; -WR12 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; -WR13 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; - END_ENTITY ; -(* USED FROM (geometric_model_schema); *) -ENTITY geometric_curve_set - SUBTYPE OF (geometric_set); -WHERE - WR1: SIZEOF(QUERY(temp <* SELF\geometric_set.elements | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF(temp))) = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY flat_face - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'removal direction')) )) = 1)) )) - = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear') AND - (sdr.name = 'course of travel')) )) = 1)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'removal boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.name = 'removal boundary')) )) = 1)) )) = 1)) )) = 0); - WR4: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'enclosed boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'boundary'))) - = 1))) <= 1))) = 0; - WR5: SIZEOF(QUERY( pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; - WR6: SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(csa)) AND - (csa.name='uncut volume') AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROTRUSION'] * TYPEOF(sar. - related_shape_aspect)) = 1)) )) = 1)) )) <= 1)) )) = 1; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'removal depth'))) <= 1))) - = 0))) = 0; - -END_ENTITY; -- flat_face -(* USED FROM (aic_machining_feature); *) -ENTITY fillet - SUBTYPE OF (transition_feature); - WHERE - WR1: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0); - WR2: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND(SIZEOF (impl_rep.used_representation.items) <= 3)))) - = 0))) = 0); - WR3: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0); - WR4: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first offset'))) <= 1))) - = 0))) = 0); - WR5: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second offset'))) <= 1))) - = 0))) = 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'fillet face'))) = 1))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'first face shape'))) = 1))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'second face shape'))) = 1))) = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY feature_pattern - SUBTYPE OF (replicate_feature); - WHERE - WR1: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(srwp_i)) )) > 0 ) )) > 0 )) = 0; - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF (it)) AND (it.name = 'base feature placement'))) > 1))) - = 0))) = 0; -END_ENTITY; -- feature_pattern -(* USED FROM (aic_machining_feature); *) -ENTITY feature_component_definition - SUBTYPE OF (characterized_object); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE')) = 1)) )) - = 0); -END_ENTITY; -- feature_component_definition -(* USED FROM (aic_machining_feature); *) -ENTITY face_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: (SIZEOF(SELF.items) >= 1); - WR2: (SIZEOF(QUERY ( it <* SELF.items | (NOT ( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(it)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF(it)) )) - )) = 0); -END_ENTITY; -- face_shape_representation -(* USED FROM (kinematic_structure_schema); *) -ENTITY mechanism_representation - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context; - SELF\representation.items : SET[1:?] OF pair_representation_relationship; - represented_topology : kinematic_topology_representation_select; -DERIVE - represented_joints : SET[1:?] OF kinematic_joint := collect_joints(items); -WHERE - WR1: (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KINEMATIC_TOPOLOGY_STRUCTURE' IN TYPEOF(represented_topology)) - AND (represented_joints :=: represented_topology.items)) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE' IN TYPEOF(represented_topology)) - AND (represented_joints :=: get_kinematic_joints_from_oriented_joints(represented_topology.items))) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE' IN TYPEOF(represented_topology)) - AND (represented_joints :=: get_kinematic_joints_from_kinematic_loops(represented_topology.items))); -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY externally_defined_feature_definition - SUBTYPE OF (feature_definition, externally_defined_item); - WHERE - WR1: (((SELF\characterized_object.description = 'thread') AND - (SELF\externally_defined_item.item_id='external thread') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification') ) OR - ((SELF\characterized_object.description = 'gear') AND - (SELF\externally_defined_item.item_id='external gear') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification')) OR - ((SELF\characterized_object.description = 'marking') AND - (SELF\externally_defined_item.item_id='external marking') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification')) OR - ((SELF\characterized_object.description = 'knurl') AND - (SELF\externally_defined_item.item_id='external knurl') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification'))); - WR2: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ({5 <= SIZEOF(pdr.used_representation.items) <= 10} ) )) - = 1 )) = 1)); - WR3: ((NOT (SELF\characterized_object.description = 'marking')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 2) )) = 1 )) = 1)); - WR4: ((NOT (SELF\characterized_object.description = 'knurl')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 1) )) = 1 )) = 1)); - WR5: (NOT (SELF\characterized_object.description IN [ 'knurl', - 'thread'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial area occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied area usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_AREA' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) <= 1)) )) = 0); - - WR6: ((NOT (SELF\characterized_object.description = 'marking')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'marking text')) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'removal direction') AND - ((it.description = 'internal') OR - (it.description = 'external'))) )) = 1)) )) = 0)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'qualifier')) ))<= 1)) ))= 0)) )) - = 0)); - WR9: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'hand')) )) = 1)) )) = 0)) )) - = 0)); - WR10: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class')) )) = 1)) )) = - 0)) )) = 0)); - WR11: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'form')) )) = 1)) )) = 0)) )) - = 0)); - WR12: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'major diameter')) )) <= 1)) )) - = 0)) )) = 0)); - WR13: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'number of threads')) )) = 1)) )) - = 0)) )) = 0)); - WR14 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class 2')) )) <= 1)) )) = 0)) )) - = 0); - - WR15 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'nominal size')) )) - <= 1)) )) = 0)) )) = 0); - - WR16: (NOT (SELF\characterized_object.description IN [ 'knurl', - 'gear', 'thread'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) <= 1)) )) = 0); - WR17: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (10 <= SIZEOF(pdr.used_representation.items)) AND - (SIZEOF(pdr.used_representation.items) >= 11) - )) = 1 )) = 1)); - - WR18: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'number of teeth')) )) = 1)) )) - = 0)) )) = 0)); - - WR19: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'reference pressure angle')) )) = 1)) )) - = 0)) )) = 0)); - - WR20: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'rake shift factor')) )) = 1)) )) - = 0)) )) = 0)); - - WR21: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'nominal tooth depth')) )) = 1)) )) - = 0)) )) = 0)); - - WR22: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'face width')) )) = 1)) )) - = 0)) )) = 0)); - - WR23: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'tip diameter')) )) = 1)) )) - = 0)) )) = 0)); - - WR24: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'module or diametral pitch') AND - ((it.description = 'module') OR - (it.description = 'diametral pitch'))) )) = 1)) )) = 0)) )) = 0)); - - WR25: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'normal attribute')) )) = 1)) )) - = 0)) )) = 0)); - - WR26: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'internal or external gear') AND - ((it.description = 'internal') OR - (it.description = 'external'))) )) = 1)) )) = 0)) )) = 0)); - - WR27: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'root fillet radius')) )) <= 1)) )) - = 0)) )) = 0)); - -END_ENTITY; -- externally_defined_feature_definition -(* USED FROM (aic_machining_feature); *) -ENTITY edge_round - SUBTYPE OF (transition_feature); -WHERE - WR1: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0); - WR2: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND (SIZEOF (impl_rep.used_representation.items) <= 3)))) - = 0))) = 0); - WR3: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0); - WR4: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first offset'))) <= 1))) - = 0))) = 0); - WR5: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second offset'))) <= 1))) - = 0))) = 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'edge round face'))) <= 1))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'first face shape'))) <= 1))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'second face shape'))) <= 1))) = 0; -END_ENTITY; -- edge_round -(* USED FROM (aic_machining_feature); *) -ENTITY direction_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: (SIZEOF(SELF.items) = 1); - WR2: (SIZEOF(QUERY ( it <* SELF.items | - (NOT ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION' IN TYPEOF(it))) )) - = 0); -END_ENTITY; -- direction_shape_representation -(* USED FROM (aic_machining_feature); *) -ENTITY compound_feature - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF( QUERY( pds <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF( QUERY( csa <* USEDIN( pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((csa.name='compound feature in solid') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa))) )) = 1) )) = 1; - WR2: SIZEOF( QUERY( pds <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF( QUERY( csa <* USEDIN( pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa) )) = 1) )) = 1; - WR3: (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( fcr <* csa.component_relationships | - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(fcr))) )) = 0)) )) = 1)) )) = 1); - WR4: SIZEOF (QUERY (pds <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pds)) AND - (SIZEOF (QUERY (csa <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE')| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF (csa)) )) = 1) )) = 1; - WR5: (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.THREAD' - IN TYPEOF(sar.related_shape_aspect)) )) = 0) - ) )) = 1)) )) = 1); - WR6: (SIZEOF (QUERY (pds <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pds)) AND (SIZEOF (QUERY (csa <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE')| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF (csa)) AND - (SIZEOF (QUERY (sar <* csa.component_relationships | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOUND_FEATURE' - IN TYPEOF (sar.related_shape_aspect)) AND - (sar.related_shape_aspect\characterized_object.name <> - SELF\characterized_object.name)) )) = 0) )) = 1) )) = 1); -END_ENTITY; -- compound_feature -(* USED FROM (aic_machining_feature); *) -ENTITY chamfer - SUBTYPE OF (transition_feature); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'chamfer face')) )) <= 1)) )) = 0); - WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHAMFER_OFFSET' - IN TYPEOF(fcr.related_shape_aspect))AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHAMFER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.related_shape_aspect.description = 'first offset') ) - )) = 1); - WR3: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHAMFER_OFFSET' - IN TYPEOF(fcr.related_shape_aspect)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHAMFER' - IN TYPEOF(fcr.relating_shape_aspect))AND - (fcr.related_shape_aspect.description = 'second offset')) - )) = 1); -END_ENTITY; -- chamfer -(* USED FROM (aic_machining_feature); *) -ENTITY circular_closed_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - NOT(SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) - AND (it.name = 'orientation')) )) = 1) )) = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- circular_closed_profile -(* USED FROM (Person_organization_mim); *) -ENTITY person_and_organization_address - SUBTYPE OF (organizational_address, personal_address); - SELF\organizational_address.organizations : SET[1:1] OF organization; - SELF\personal_address.people : SET[1:1] OF person; -WHERE - WR1: SIZEOF(QUERY(pao <* USEDIN (SELF\personal_address.people[1], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PERSON_AND_ORGANIZATION.THE_PERSON') | pao.the_organization :=: SELF\organizational_address.organizations[1])) = 1; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY high_order_kinematic_pair - ABSTRACT SUPERTYPE OF (ONEOF ( - LINEAR_FLEXIBLE_AND_PLANAR_CURVE_PAIR, - POINT_ON_SURFACE_PAIR, - POINT_ON_PLANAR_CURVE_PAIR, - PLANAR_CURVE_PAIR, - SURFACE_PAIR)) - SUBTYPE OF (kinematic_pair); -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_2 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY low_order_kinematic_pair_with_motion_coupling - ABSTRACT SUPERTYPE OF (ONEOF ( - GEAR_PAIR, - LINEAR_FLEXIBLE_AND_PINION_PAIR, - RACK_AND_PINION_PAIR, - SCREW_PAIR)) - SUBTYPE OF (kinematic_pair); -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_2 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY low_order_kinematic_pair - SUPERTYPE OF (ONEOF ( - REVOLUTE_PAIR, - CYLINDRICAL_PAIR, - SPHERICAL_PAIR, - SPHERICAL_PAIR_WITH_PIN, - PLANAR_PAIR, - UNCONSTRAINED_PAIR, - FULLY_CONSTRAINED_PAIR, - PRISMATIC_PAIR, - UNIVERSAL_PAIR, - LOW_ORDER_KINEMATIC_PAIR_WITH_RANGE)) - SUBTYPE OF (kinematic_pair); - t_x : BOOLEAN; - t_y : BOOLEAN; - t_z : BOOLEAN; - r_x : BOOLEAN; - r_y : BOOLEAN; - r_z : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_2 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY product_process_plan - SUBTYPE OF (product_definition_process); -WHERE - WR1: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATED_ACTION') | - SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_PLAN', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.relating_action) - ) <> 1 - )) = 0; - - WR2: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION') | - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_PLAN', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.related_action)) = 1) OR - ((ar.name = 'process operation occurrence') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(ar.related_action.chosen_method))) - )) = - SIZEOF(USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION')); - WR3: SIZEOF( QUERY( ppa <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PROCESS_PRODUCT_ASSOCIATION.PROCESS') | - (ppa.name <> 'produced output') OR - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN - TYPEOF(ppa.defined_product)) - )) = 0; - -END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY process_plan - SUBTYPE OF (action); -WHERE - WR1: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATED_ACTION') | - SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_PLAN', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.relating_action)) <> 1 - )) = 0; - - WR2: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION') | - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_PLAN', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.related_action)) = 1) OR - ((ar.name = 'process operation occurrence') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(ar.related_action.chosen_method))) - )) = - SIZEOF(USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION')); -END_ENTITY; -(* USED FROM (aic_manifold_subsurface); *) - ENTITY manifold_subsurface_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * - TYPEOF(it)) = 1))) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN - TYPEOF(mi\mapped_item.mapping_source. - mapped_representation)))) = 0; - WR4: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_SHELL' IN TYPEOF(cfss)))) = 0; - WR5: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT( (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN - TYPEOF(cfss\connected_face_sub_set.parent_face_set))AND - (SIZEOF(QUERY(fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | NOT - advanced_face_properties(fac))) = 0)) OR - (SIZEOF(QUERY(fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | NOT - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF(fac)))) = 0) - ))) = 0; - WR6: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - ( SIZEOF (QUERY (fac <* cfss\connected_face_set.cfs_faces | NOT - advanced_face_properties(fac))) = 0))) = 0; - WR7: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN - TYPEOF(oe.edge_element)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBEDGE' IN - TYPEOF(oe.edge_element)) ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR8: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN - TYPEOF(oe.edge_end)) - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR9: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - ( NOT (SIZEOF(QUERY (bnds <* fcs.bounds | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP'] * - TYPEOF(bnds.bound)) = 1 ) - )) = 0) - ))) = 0 - ))) = 0; - WR10: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - ( NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) = 1 ) - )) = 0 - ))) = 0 - )))) = 0 - ))) = 0; - WR11: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND - (NOT ((SIZEOF (QUERY (sc_ag <* - oe.edge_element\edge_curve.edge_geometry\ - surface_curve.associated_geometry | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN - TYPEOF(sc_ag)))) = 0))) - )) = 0 - ))) = 0 - )))) = 0 - ))) = 0; - WR12: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND - (NOT (SIZEOF (oe\oriented_edge.edge_element\ - edge_curve.edge_geometry\polyline.points) >= 3)) - )) = 0 - ))) = 0 - )))) = 0 - ))) = 0; - END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY free_form_relation - SUBTYPE OF (free_form_constraint); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF - (SELF\free_form_constraint.constraining_expression); - WR2: SIZEOF(QUERY(q <* (SELF\free_form_constraint.constrained_elements + - SELF\free_form_constraint.reference_elements) | - NOT (q IN used_variables - (SELF\free_form_constraint.constraining_expression)))) = 0; -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY free_form_assignment - SUBTYPE OF (free_form_constraint); -WHERE - WR1: SIZEOF(QUERY(q <* SELF\free_form_constraint.constrained_elements | - q IN used_variables - (SELF\free_form_constraint.constraining_expression))) = 0; - WR2: SIZEOF(QUERY(q <* SELF\free_form_constraint.reference_elements | - NOT (q IN used_variables( - SELF\free_form_constraint.constraining_expression)))) = 0; - WR3: SIZEOF(SELF\free_form_constraint.reference_elements) >= 1; - WR4: SIZEOF(QUERY(q <* SELF\free_form_constraint.constrained_elements | - NOT (compatible_spaces(values_space_of( - SELF\free_form_constraint.constraining_expression), - q\maths_variable.values_space)))) = 0; -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY externally_conditioned_data_quality_criteria_representation - SUBTYPE OF(Data_quality_criteria_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' IN TYPEOF(q))) > 0; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY screw_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - pitch : length_measure; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_real_variable - SUBTYPE OF (maths_variable, real_numeric_variable); -WHERE - WR1: subspace_of_es(SELF\maths_variable.values_space,es_reals); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_variable - SUBTYPE OF (generic_variable); - values_space : maths_space; - name : label; -WHERE - WR1: expression_is_constant(values_space); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY measure_with_unit - SUPERTYPE OF (ONEOF ( - LENGTH_MEASURE_WITH_UNIT, - MASS_MEASURE_WITH_UNIT, - TIME_MEASURE_WITH_UNIT, - ELECTRIC_CURRENT_MEASURE_WITH_UNIT, - THERMODYNAMIC_TEMPERATURE_MEASURE_WITH_UNIT, - CELSIUS_TEMPERATURE_MEASURE_WITH_UNIT, - AMOUNT_OF_SUBSTANCE_MEASURE_WITH_UNIT, - LUMINOUS_INTENSITY_MEASURE_WITH_UNIT, - PLANE_ANGLE_MEASURE_WITH_UNIT, - SOLID_ANGLE_MEASURE_WITH_UNIT, - AREA_MEASURE_WITH_UNIT, - VOLUME_MEASURE_WITH_UNIT, - RATIO_MEASURE_WITH_UNIT, - ACCELERATION_MEASURE_WITH_UNIT, - CAPACITANCE_MEASURE_WITH_UNIT, - ELECTRIC_CHARGE_MEASURE_WITH_UNIT, - CONDUCTANCE_MEASURE_WITH_UNIT, - ELECTRIC_POTENTIAL_MEASURE_WITH_UNIT, - ENERGY_MEASURE_WITH_UNIT, - MAGNETIC_FLUX_DENSITY_MEASURE_WITH_UNIT, - FORCE_MEASURE_WITH_UNIT, - FREQUENCY_MEASURE_WITH_UNIT, - ILLUMINANCE_MEASURE_WITH_UNIT, - INDUCTANCE_MEASURE_WITH_UNIT, - LUMINOUS_FLUX_MEASURE_WITH_UNIT, - MAGNETIC_FLUX_MEASURE_WITH_UNIT, - POWER_MEASURE_WITH_UNIT, - PRESSURE_MEASURE_WITH_UNIT, - RESISTANCE_MEASURE_WITH_UNIT, - VELOCITY_MEASURE_WITH_UNIT, - ABSORBED_DOSE_MEASURE_WITH_UNIT, - RADIOACTIVITY_MEASURE_WITH_UNIT, - DOSE_EQUIVALENT_MEASURE_WITH_UNIT)); - value_component : measure_value; - unit_component : unit; - WHERE - WR1: valid_units(SELF); - END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY measure_qualification; - name : label; - description : text; - qualified_measure : measure_with_unit; - qualifiers : SET [1:?] OF value_qualifier; -WHERE - WR1: SIZEOF(QUERY(temp <* qualifiers | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRECISION_QUALIFIER' - IN TYPEOF(temp))) < 2; - WR2: NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM' - IN TYPEOF(SELF\measure_qualification.qualified_measure)); -END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_instance_report_item - SUBTYPE OF(representation_item); - inspected_elements : SET [1:?] OF inspected_element_select; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_criterion_report_item - SUBTYPE OF(representation_item); - statistical_value : INTEGER; - value_type : statistical_value_type; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_instance_report - SUBTYPE OF(data_quality_inspection_report); - inspected_instances : LIST [1:?] OF data_quality_inspection_instance_report_item; - WHERE - WR1 : SIZEOF(QUERY(i1<*bag_to_set(USEDIN( - SELF\data_quality_inspection_report. - inspection_result.criterion_inspected, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_REPORT_REQUEST.CRITERION_OF_REPORT_REQUEST'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DETAILED_REPORT_REQUEST' - IN TYPEOF(i1)))>0; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY universal_pair - SUBTYPE OF (low_order_kinematic_pair); - input_skew_angle : OPTIONAL plane_angle_measure; -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; - skew_angle : plane_angle_measure := NVL (input_skew_angle, 0.0); -WHERE - WR1: COS (plane_angle_for_pair_in_radian (SELF, skew_angle)) - > 0.0; -END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_result - SUBTYPE OF(representation_item); - criterion_inspected : data_quality_criterion; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_criterion_report - SUBTYPE OF(data_quality_inspection_report); - statistical_values : SET [1:2] OF data_quality_inspection_criterion_report_item; - WHERE - WR1 : SIZEOF(QUERY(i1<*bag_to_set(USEDIN( - SELF\data_quality_inspection_report. - inspection_result.criterion_inspected, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_REPORT_REQUEST.CRITERION_OF_REPORT_REQUEST'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SUMMARY_REPORT_REQUEST' - IN TYPEOF(i1)))>0; - WR2 : (SIZEOF(SELF.statistical_values) = 1 ) OR - (SELF.statistical_values[1].value_type <> - SELF.statistical_values[2].value_type); - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_report - SUPERTYPE OF (ONEOF ( - DATA_QUALITY_INSPECTION_CRITERION_REPORT, - DATA_QUALITY_INSPECTION_INSTANCE_REPORT)) - SUBTYPE OF(representation_item); - inspection_result : data_quality_inspection_result; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criterion - SUBTYPE OF(representation_item); - WHERE - WR1 : SIZEOF(QUERY(q <* - bag_to_set( USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rectangular_composite_surface - SUBTYPE OF (bounded_surface); - segments : LIST[1:?] OF LIST[1:?] OF surface_patch; -DERIVE - n_u : INTEGER := SIZEOF(segments); - n_v : INTEGER := SIZEOF(segments[1]); -WHERE - WR1: SIZEOF(QUERY (s <* segments | n_v <> SIZEOF (s))) = 0; - WR2: constraints_rectangular_composite_surface(SELF); -END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criteria_representation - SUBTYPE OF(representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'DATA_QUALITY_CRITERION' IN TYPEOF(q))) > 0; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_surface_pair - SUBTYPE OF (high_order_kinematic_pair); - pair_surface : surface; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(pair_surface IN r.items))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_surface_pair_with_range - SUBTYPE OF (point_on_surface_pair); - range_on_pair_surface : rectangular_trimmed_surface; - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_pitch : OPTIONAL plane_angle_measure; - upper_limit_pitch : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_pitch) - OR - NOT EXISTS(upper_limit_pitch)) - XOR - (lower_limit_pitch < upper_limit_pitch); - WR2: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR3: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_pair_surface IN r.items))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY surface_pair - ABSTRACT SUPERTYPE OF (ONEOF ( - SLIDING_SURFACE_PAIR, - ROLLING_SURFACE_PAIR) - ANDOR - SURFACE_PAIR_WITH_RANGE) - SUBTYPE OF (high_order_kinematic_pair); - surface_1 : surface; - surface_2 : surface; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(surface_1 IN r.items))) = 0; - WR2: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(surface_2 IN r.items))) = 0; - WR3: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY surface_pair_with_range - SUBTYPE OF (surface_pair); - range_on_surface_1 : rectangular_trimmed_surface; - range_on_surface_2 : rectangular_trimmed_surface; - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: SELF\surface_pair.surface_1 :=: range_on_surface_1.basis_surface; - WR2: SELF\surface_pair.surface_2 :=: range_on_surface_2.basis_surface; - WR3: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_surface_1 IN r.items))) = 0; - WR5: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(range_on_surface_2 IN r.items))) = 0; -END_ENTITY; -(* USED FROM (aic_manifold_surface); *) -ENTITY manifold_surface_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1))) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SURFACE_SHAPE_REPRESENTATION' - IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) - AND - (SIZEOF(QUERY (mr_it <* - mi\mapped_item.mapping_source.mapped_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' - IN TYPEOF (mr_it)))) > 0 )))) = 0; - WR4: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (sh <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_SHELL', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL'] - * TYPEOF (sh)) = 1))) = 0))) = 0; - WR5: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF (fa)) )) = 0))) - = 0))) = 0; - WR6: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (msf_surface_check(fa\face_surface.face_geometry))))) = 0))) - = 0))) = 0; - WR7: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (bnds <* fa.bounds | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP'] - * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0; - WR8: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF - (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR9: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <* - elp_fbnds\path.edge_list | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE'] * - TYPEOF (oe_cv.edge_element\edge_curve.edge_geometry)) - = 1))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR10: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT (msf_curve_check (oe.edge_element\edge_curve.edge_geometry)))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR11: SIZEOF (QUERY(sbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list| - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF - (oe.edge_element.edge_start)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN - TYPEOF (oe.edge_element.edge_end))))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR12: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ((SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1) - AND - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_end\vertex_point.vertex_geometry)) = 1 - )))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR13: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0))) - = 0))) = 0; - WR14: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry)) - = 1))) = 0)))) = 0))) = 0))) = 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rational_b_spline_surface - SUBTYPE OF (b_spline_surface); - weights_data : LIST[2:?] OF LIST[2:?] OF REAL; -DERIVE - weights : ARRAY[0:u_upper] OF ARRAY[0:v_upper] OF REAL := make_array_of_array(weights_data,0,u_upper,0,v_upper); -WHERE - WR1: (SIZEOF(weights_data) = SIZEOF(SELF\b_spline_surface.control_points_list)) AND (SIZEOF(weights_data[1]) = SIZEOF(SELF\b_spline_surface.control_points_list[1])); - WR2: surface_weights_positive(SELF); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY linear_flexible_and_planar_curve_pair - SUBTYPE OF (high_order_kinematic_pair); - pair_curve : curve; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(pair_curve IN r.items))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_planar_curve_pair - SUBTYPE OF (high_order_kinematic_pair); - pair_curve : curve; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(pair_curve IN r.items))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_planar_curve_pair_with_range - SUBTYPE OF (point_on_planar_curve_pair); - range_on_pair_curve : trimmed_curve; - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_pitch : OPTIONAL plane_angle_measure; - upper_limit_pitch : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_pitch) - OR - NOT EXISTS(upper_limit_pitch)) - XOR - (lower_limit_pitch < upper_limit_pitch); - WR2: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR3: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_pair_curve IN r.items))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_curve_pair - SUPERTYPE OF (ONEOF ( - SLIDING_CURVE_PAIR, - ROLLING_CURVE_PAIR) - ANDOR - PLANAR_CURVE_PAIR_RANGE) - SUBTYPE OF (high_order_kinematic_pair); - curve_1 : curve; - curve_2 : curve; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(curve_1 IN r.items))) = 0; - WR2: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(curve_2 IN r.items))) = 0; - WR3: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_curve_pair_range - SUBTYPE OF (planar_curve_pair); - range_on_curve_1 : trimmed_curve; - range_on_curve_2 : trimmed_curve; -WHERE - WR1: SELF\planar_curve_pair.curve_1 :=: range_on_curve_1.basis_curve; - WR2: SELF\planar_curve_pair.curve_2 :=: range_on_curve_2.basis_curve; - WR3: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_curve_1 IN r.items))) = 0; - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(range_on_curve_2 IN r.items))) = 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rational_b_spline_curve - SUBTYPE OF (b_spline_curve); - weights_data : LIST[2:?] OF REAL; -DERIVE - weights : ARRAY[0:upper_index_on_control_points] OF REAL := list_to_array(weights_data,0, upper_index_on_control_points); -WHERE - WR1: SIZEOF(weights_data) = SIZEOF(SELF\b_spline_curve. control_points_list); - WR2: curve_weights_positive(SELF); -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_whole_element_variable_value - SUBTYPE OF (volume_3d_element_field_variable_definition); - simple_value : field_value; - variable : volume_aggregated_variable; - coordinate_system : OPTIONAL volume_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); - WR2: consistent_value (simple_value, variable); - WR3: appropriate_value_existence (simple_value, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY gear_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - radius_first_link : length_measure; - radius_second_link : length_measure; - bevel : plane_angle_measure; - helical_angle : plane_angle_measure; - gear_ratio : REAL; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_element_value_and_location; - simple_value : field_value; - location : volume_element_location; - coordinate_system : OPTIONAL volume_3d_element_coordinate_system; -WHERE - WR1: necessary_value_coordinate_system (simple_value, coordinate_system); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rack_and_pinion_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - pinion_radius : length_measure; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (finite_element_analysis_control_and_result_schema); *) -ENTITY volume_3d_element_location_point_variable_values - SUBTYPE OF (volume_3d_element_field_variable_definition); - basis : BOOLEAN; - values_and_locations : SET [1:?] OF - volume_3d_element_value_and_location; - variable : volume_variable; -WHERE - WR1: consistent_set_values (values_and_locations, variable); - WR2: appropriate_set_value_existence (values_and_locations, - TYPEOF (SELF\state_definition.defined_state)); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY linear_flexible_and_pinion_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - pinion_radius : length_measure; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY definitional_representation_relationship - SUBTYPE OF (representation_relationship); - WHERE - WR1: acyclic_representation_relationship(SELF, - [SELF\representation_relationship.rep_2], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'REPRESENTATION'); - END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY kinematic_property_mechanism_representation - SUBTYPE OF (kinematic_property_definition_representation); - SELF\property_definition_representation.used_representation : mechanism_representation; - base : kinematic_link_representation; -WHERE - WR1: SIZEOF( QUERY( i <* used_representation.items | - (base :=: i\representation_relationship.rep_1) OR - (base :=: i\representation_relationship.rep_2))) > 0; -END_ENTITY; -(* USED FROM (File_identification_mim); *) -ENTITY document_file - SUBTYPE OF (document, characterized_object); -WHERE - WR1: SELF\characterized_object.name = ''; - WR2: NOT EXISTS(SELF\characterized_object.description); - WR3: SIZEOF(QUERY(drt <* SELF\document.representation_types | drt.name IN ['digital', 'physical'])) = 1; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY multi_level_reference_designator - SUBTYPE OF (assembly_component_usage); - location : LIST[1:?] OF UNIQUE next_assembly_usage_occurrence; - DERIVE - SELF\product_definition_relationship.relating_product_definition : product_definition := location[1]\product_definition_relationship.relating_product_definition; -- root : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\product_definition_relationship.related_product_definition : product_definition_or_reference := location[HIINDEX(location)]\product_definition_relationship.related_product_definition; -- leaf : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - leaf : PRODUCT_DEFINITION_OR_REFERENCE := SELF\product_definition_relationship.related_product_definition; -- RELATED_PRODUCT_DEFINITION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - root : PRODUCT_DEFINITION := SELF\product_definition_relationship.relating_product_definition; -- RELATING_PRODUCT_DEFINITION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -WHERE - WR1: unambiguously_specified_multi_level_reference_designator(location); - WR2: SIZEOF(QUERY(cp <* location | NOT ( - EXISTS(cp\assembly_component_usage.reference_designator)))) = 0; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY specified_higher_usage_occurrence - SUBTYPE OF (assembly_component_usage); - upper_usage : assembly_component_usage; - next_usage : next_assembly_usage_occurrence; -UNIQUE - UR1: upper_usage, next_usage; -WHERE - WR1: SELF :<>: upper_usage; - WR2: SELF\product_definition_relationship.relating_product_definition - :=: upper_usage.relating_product_definition; - WR3: SELF\product_definition_relationship.related_product_definition - :=: next_usage.related_product_definition; - WR4: (upper_usage.related_product_definition :=: - next_usage.relating_product_definition) OR - (SIZEOF (QUERY (pdr <* USEDIN (upper_usage.related_product_definition, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATED_PRODUCT_DEFINITION') | - pdr.relating_product_definition :=: - next_usage.relating_product_definition)) = 1); - WR5: SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NEXT_ASSEMBLY_USAGE_OCCURRENCE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPECIFIED_HIGHER_USAGE_OCCURRENCE'] - * TYPEOF(upper_usage)) = 1; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_2d_element_group - SUBTYPE OF (element_group); -WHERE - WR1: SIZEOF(QUERY(item <* elements | - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'AXISYMMETRIC_SURFACE_2D_ELEMENT_REPRESENTATION' - IN TYPEOF(item)) AND - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'PLANE_SURFACE_2D_ELEMENT_REPRESENTATION' - IN TYPEOF(item)))))=0; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_2d_element_group - SUBTYPE OF (element_group); -WHERE - WR1: SIZEOF(QUERY(item <* elements | - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'AXISYMMETRIC_CURVE_2D_ELEMENT_REPRESENTATION' - IN TYPEOF(item)) AND - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'PLANE_CURVE_2D_ELEMENT_REPRESENTATION' - IN TYPEOF(item)))))=0; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_3d_element_group - SUBTYPE OF (element_group); -WHERE - WR1: SIZEOF(query(item <* elements | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'CURVE_3D_ELEMENT_REPRESENTATION' IN TYPEOF (item))))=0; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_3d_element_group - SUBTYPE OF (element_group); -WHERE - WR1: SIZEOF(query(item <* elements | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'VOLUME_3D_ELEMENT_REPRESENTATION' IN TYPEOF (item))))=0; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_3d_element_group - SUBTYPE OF (element_group); -WHERE - WR1: SIZEOF(query(item <* elements | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SURFACE_3D_ELEMENT_REPRESENTATION' IN TYPEOF (item))))=0; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_2d_element_group - SUBTYPE OF (element_group); -WHERE - WR1: SIZEOF(QUERY(item <* elements | - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'AXISYMMETRIC_VOLUME_2D_ELEMENT_REPRESENTATION' - IN TYPEOF(item)) AND - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'PLANE_VOLUME_2D_ELEMENT_REPRESENTATION' - IN TYPEOF(item)))))=0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY rib_top_floor - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF (SELF.of_shape.definition); - WR2: SELF.description IN ['planar', 'complex']; - WR3: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'rib top usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - ((fcr.related_shape_aspect.description = 'rib top condition occurrence') - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIB_TOP' IN TYPEOF - (fcr.related_shape_aspect.of_shape.definition)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIB_TOP_FLOOR' IN TYPEOF - (fcr.relating_shape_aspect)) ) - )) >= 1; - WR4: (NOT (SELF.description = 'complex')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'rib top face'))) = 1))) = 0); - WR5: (NOT (SELF.description = 'planar')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'rib top face'))) = 1))) = 0); - WR6: (NOT (SELF.description = 'planar')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'rib top floor boundary'))) - = 1))) = 1))) = 0); -END_ENTITY; -- rib_top_floor -(* USED FROM (aic_machining_feature); *) -ENTITY round_hole - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'diameter occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.name = 'diameter')) )) = 1)) )) = 1)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'hole depth occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.name = 'hole depth') AND - (sdr.relating_shape_aspect.description = 'linear')) )) = 1)) )) - = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'hole bottom usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.HOLE_BOTTOM' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUND_HOLE' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1)) )) = 1)) )) = 0); - WR4: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in diameter occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUND_HOLE' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) ) - )) = 1)) )) <= 1)) )) = 0); - WR5: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF ( pdr.used_representation ) ) )) =1; -END_ENTITY; -- round_hole -(* USED FROM (aic_machining_feature); *) -ENTITY replicate_feature - SUPERTYPE OF (ONEOF ( - CIRCULAR_PATTERN, - RECTANGULAR_PATTERN, - FEATURE_PATTERN)) - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) )) = 1)) )) = 0); - WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* - USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) ) | - ((SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPLICATE_FEATURE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INSTANCED_FEATURE'] * - TYPEOF(fcr.related_shape_aspect)) >= 1) AND - (fcr.name = 'pattern basis')) )) = 1); - WR3: ((SIZEOF(QUERY ( sar <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (NOT - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) )) + - SIZEOF(QUERY ( sar <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - (NOT - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ))) = 0); -END_ENTITY; -- replicate_feature -(* USED FROM (structural_response_representation_schema); *) -ENTITY point_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model; - (* description : text;*) - matrix_set : SET [1:?] OF point_element_matrix; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - WR1: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AXIS2_PLACEMENT_3D' - IN TYPEOF (item))) = 1; - FU1: required_0d_nodes ( - SELF\element_representation.node_list); -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY revolved_profile - SUBTYPE OF (feature_definition); - WHERE - WR1: (SELF\characterized_object.description IN - ['groove','flat','round','open profile']); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')))) = 1)) )) - = 0)) )) = 0); - WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='removal direction'))) =1; - WR5: ((NOT (SELF\characterized_object.description = 'open profile')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'outer edge shape occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'outer edge shape')) )) - = 1)) )) = 1)) )) = 0)); - WR6: (NOT (SELF\characterized_object.description = 'flat')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (( sa_occ.description = 'flat edge shape occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'flat edge shape')) )) - = 1)) )) = 1)) )) = 0); - WR7: ((NOT (SELF\characterized_object.description = 'round')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'rounded edge shape occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'rounded edge shape')) )) - = 1)) )) = 1)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = 'groove')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'sweep occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ((SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF(sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'sweep')) )) = 1)) )) - = 1)) )) = 0)); - WR9: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- revolved_profile -(* USED FROM (structural_response_representation_schema); *) -ENTITY axisymmetric_curve_2d_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model_2d; - element_descriptor : axisymmetric_curve_2d_element_descriptor; - property : curve_2d_element_property; - angle_property : axisymmetric_2d_element_property; - material : element_material; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - WR1: model_ref.type_of_2d_analysis = axisymmetric; - WR2: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CURVE_2D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) = 1; - WR3: SIZEOF (QUERY(item1 <* material.properties | - (SIZEOF (QUERY (item2 <* - item1\property_definition_representation.used_representation.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_LINEAR_ELASTICITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MASS_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AREA_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MOISTURE_ABSORPTION'] * TYPEOF (item2) - ) = 1 - )) = 1 - ))) >= 1; - WR4: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF (SELF\representation.context_of_items); - FU1: required_0d_nodes ( - SELF\element_representation.node_list); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY curve_3d_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model_3d; - element_descriptor : curve_3d_element_descriptor; - property : curve_3d_element_property; - material : element_material; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - WR1: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) + - SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ALIGNED_CURVE_3D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) = 1; - WR2: SIZEOF (QUERY(item1 <* material.properties | - (SIZEOF (QUERY (item2 <* - item1\property_definition_representation.used_representation.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_LINEAR_ELASTICITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MASS_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AREA_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MOISTURE_ABSORPTION'] * TYPEOF (item2) - ) = 1 - )) = 1 - ))) >= 1; - WR3: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF (SELF\representation.context_of_items); - FU1: required_1d_nodes ( - SELF\element_representation.node_list, - element_descriptor\element_descriptor.topology_order); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY plane_surface_2d_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model_2d; - element_descriptor : plane_surface_2d_element_descriptor; - property : surface_element_property; - depth_property : plane_2d_element_property; - material : element_material; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - WR1: model_ref.type_of_2d_analysis = planar; - WR2: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PARAMETRIC_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) + - SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ALIGNED_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) = 1; - WR3: SIZEOF (QUERY(item1 <* material.properties | - (SIZEOF (QUERY (item2 <* - item1\property_definition_representation.used_representation.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_LINEAR_ELASTICITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MASS_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AREA_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MOISTURE_ABSORPTION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_MEMBRANE_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_BENDING_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_MEMBRANE_BENDING_COUPLING_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_SHEAR_STIFFNESS'] * TYPEOF (item2) - ) = 1 - )) = 1 - ))) >= 1; - WR4: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF (SELF\representation.context_of_items); - FU1: required_1d_nodes ( - SELF\element_representation.node_list, - element_descriptor\element_descriptor.topology_order); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY axisymmetric_surface_2d_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model_2d; - element_descriptor : axisymmetric_surface_2d_element_descriptor; - property : surface_element_property; - angle_property : axisymmetric_2d_element_property; - material : element_material; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - WR1: model_ref.type_of_2d_analysis = axisymmetric; - WR2: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PARAMETRIC_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) + - SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ALIGNED_SURFACE_2D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) = 1; - WR3: SIZEOF (QUERY(item1 <* material.properties | - (SIZEOF (QUERY (item2 <* - item1\property_definition_representation.used_representation.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_LINEAR_ELASTICITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MASS_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AREA_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MOISTURE_ABSORPTION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_MEMBRANE_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_BENDING_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_MEMBRANE_BENDING_COUPLING_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_SHEAR_STIFFNESS'] * TYPEOF (item2) - ) = 1 - )) = 1 - ))) >= 1; - WR4: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF (SELF\representation.context_of_items); - FU1: required_1d_nodes ( - SELF\element_representation.node_list, - element_descriptor\element_descriptor.topology_order); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY surface_3d_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model_3d; - element_descriptor : surface_3d_element_descriptor; - property : surface_element_property; - material : element_material; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - WR1: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PARAMETRIC_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) + - SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CONSTANT_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) + - SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ALIGNED_SURFACE_3D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) = 1; - WR2: SIZEOF (QUERY(item1 <* material.properties | - (SIZEOF (QUERY (item2 <* - item1\property_definition_representation.used_representation.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_LINEAR_ELASTICITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MASS_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AREA_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MOISTURE_ABSORPTION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_MEMBRANE_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_BENDING_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_MEMBRANE_BENDING_COUPLING_STIFFNESS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SHELL_SHEAR_STIFFNESS'] * TYPEOF (item2) - ) = 1 - )) = 1 - ))) >= 1; - WR3: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF (SELF\representation.context_of_items); - FU1: required_2d_nodes ( - SELF\element_representation.node_list, - element_descriptor.shape, - element_descriptor\element_descriptor.topology_order); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY plane_volume_2d_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model_2d; - element_descriptor : plane_volume_2d_element_descriptor; - depth_property : plane_2d_element_property; - material : element_material; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - WR1: model_ref.type_of_2d_analysis = planar; - WR2: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PARAMETRIC_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) + - SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ARBITRARY_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) = 1; - WR3: SIZEOF (QUERY(item1 <* material.properties | - (SIZEOF (QUERY (item2 <* - item1\property_definition_representation.used_representation.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_LINEAR_ELASTICITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MASS_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AREA_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MOISTURE_ABSORPTION'] * TYPEOF (item2) - ) = 1 - )) = 1 - ))) >= 1; - WR4: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF (SELF\representation.context_of_items); - FU1: required_2d_nodes ( - SELF\element_representation.node_list, - element_descriptor.shape, - element_descriptor\element_descriptor.topology_order); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY axisymmetric_volume_2d_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model_2d; - element_descriptor : axisymmetric_volume_2d_element_descriptor; - angle_property : axisymmetric_2d_element_property; - material : element_material; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - WR1: model_ref.type_of_2d_analysis = axisymmetric; - WR2: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PARAMETRIC_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) + - SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ARBITRARY_VOLUME_2D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) = 1; - WR3: SIZEOF (QUERY(item1 <* material.properties | - (SIZEOF (QUERY (item2 <* - item1\property_definition_representation.used_representation.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_LINEAR_ELASTICITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MASS_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AREA_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MOISTURE_ABSORPTION'] * TYPEOF (item2) - ) = 1 - )) = 1 - ))) >= 1; - WR4: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF (SELF\representation.context_of_items); - FU1: required_2d_nodes ( - SELF\element_representation.node_list, - element_descriptor.shape, - element_descriptor\element_descriptor.topology_order); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY volume_3d_element_representation - SUBTYPE OF (element_representation); - model_ref : fea_model_3d; - element_descriptor : volume_3d_element_descriptor; - material : element_material; -UNIQUE - UR1: model_ref, SELF\representation.name; -WHERE - WR1: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PARAMETRIC_VOLUME_3D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) + - SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ARBITRARY_VOLUME_3D_ELEMENT_COORDINATE_SYSTEM' - IN TYPEOF (item))) = 1; - WR2: SIZEOF (QUERY(item1 <* material.properties | - (SIZEOF (QUERY (item2 <* - item1\property_definition_representation.used_representation.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_LINEAR_ELASTICITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MASS_DENSITY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_SECANT_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_MOISTURE_ABSORPTION'] * TYPEOF (item2) - ) = 1 - )) = 1 - ))) >= 1; - WR3: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF (SELF\representation.context_of_items); - FU1: required_3d_nodes ( - SELF\element_representation.node_list, - element_descriptor.shape, - element_descriptor\element_descriptor.topology_order); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY element_representation - SUPERTYPE OF (ONEOF ( - VOLUME_3D_ELEMENT_REPRESENTATION, - AXISYMMETRIC_VOLUME_2D_ELEMENT_REPRESENTATION, - PLANE_VOLUME_2D_ELEMENT_REPRESENTATION, - SURFACE_3D_ELEMENT_REPRESENTATION, - AXISYMMETRIC_SURFACE_2D_ELEMENT_REPRESENTATION, - PLANE_SURFACE_2D_ELEMENT_REPRESENTATION, - CURVE_3D_ELEMENT_REPRESENTATION, - AXISYMMETRIC_CURVE_2D_ELEMENT_REPRESENTATION, - PLANE_CURVE_2D_ELEMENT_REPRESENTATION, - POINT_ELEMENT_REPRESENTATION, - DIRECTIONALLY_EXPLICIT_ELEMENT_REPRESENTATION, - EXPLICIT_ELEMENT_REPRESENTATION, - SUBSTRUCTURE_ELEMENT_REPRESENTATION)) - SUBTYPE OF (representation); - node_list : LIST [1:?] OF node_representation; -WHERE - WR1: SIZEOF (QUERY(item <* node_list | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'GEOMETRIC_NODE' - IN TYPEOF (item))) = 0; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY pocket_bottom - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SELF.description IN ['planar', 'complex', 'through']; - WR3: ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'floor normal') )) = 1)) )) = 0)); - WR4 : ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'floor location'))) = 1)) )) = 0)); - WR5 : ((NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'floor face') )) = 1)) )) = 0)); - WR6: (NOT (SELF.description IN ['planar', 'complex']) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0)); - WR7: (NOT (SELF.description IN ['planar', 'complex']) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (impl_rep.used_representation.items) - <= 1) )) = 0))) = 0)); - WR8: (NOT (SELF.description = 'through') OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 0))) = 0)); - WR9: (NOT (SELF.description IN ['planar', 'complex'])) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) <= 1))) = 0))) = 0); - WR10: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - ((fcr.related_shape_aspect.description = 'bottom condition occurrence') - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET_BOTTOM' - IN TYPEOF(fcr.relating_shape_aspect)) ) - )) >= 1; - WR11: ((NOT (SELF.description IN ['planar','complex'])) OR - (SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (fcr.related_shape_aspect.description = 'bottom condition occurrence') - AND - (fcr.related_shape_aspect.name IN - ['pocket depth start', 'pocket depth end']) - )) = 0)); -END_ENTITY; -- Pocket_bottom -(* USED FROM (structural_response_representation_schema); *) -ENTITY geometric_node - SUBTYPE OF (node_representation); -WHERE - WR1: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' - IN TYPEOF (item))) = 1; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY node_with_solution_coordinate_system - SUBTYPE OF (node); -WHERE - WR1: ( (SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AXIS2_PLACEMENT_3D' - IN TYPEOF (item))) = 1) - AND - (SELF\representation.context_of_items\ - geometric_representation_context.coordinate_space_dimension = 3) ) - OR - ( (SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'FEA_AXIS2_PLACEMENT_2D' - IN TYPEOF (item))) = 1) - AND - (SELF\representation.context_of_items\ - geometric_representation_context.coordinate_space_dimension = 2) ); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY node_with_vector - SUBTYPE OF (node); -WHERE - WR1: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION' - IN TYPEOF (item))) = 1; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY node - SUPERTYPE OF ( - NODE_WITH_VECTOR - ANDOR - NODE_WITH_SOLUTION_COORDINATE_SYSTEM) - SUBTYPE OF (node_representation); -WHERE - WR1: SIZEOF (QUERY(item <* SELF\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' - IN TYPEOF (item))) = 1; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY element_geometric_relationship; - element_ref : element_or_element_group; - item : analysis_item_within_representation; - aspect : element_aspect; -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item.item); - WR2: consistent_geometric_reference (aspect, item.item); - WR3: consistent_element_or_group_reference (aspect, element_ref); -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY analysis_item_within_representation; - name : label; - description : text; - item : representation_item; - rep : representation; -WHERE - WR1: SIZEOF (QUERY (tmp <* using_representations(item) | - tmp :=: rep)) = 1; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY pocket - SUBTYPE OF (feature_definition); - WHERE - WR1: (SELF\characterized_object.description IN - ['closed rectangular','open rectangular', 'complex', - 'circular cutout', 'complex cutout', 'recess']); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'pocket depth occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (sar.name = 'pocket depth') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description ='linear')) )) - = 1)) )) = 1)) )) = 0); - WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF ( pdr.used_representation ) ) )) =1; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ({1 <= SIZEOF(pdr.used_representation.items) <= 2} ) )) = 1 )) = 1; - WR5: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'fillet radius'))) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'fillet radius'))) <= 1))) - = 0))) = 0; - WR7: ((NOT (SELF\characterized_object.description IN ['complex', - 'non-circular cutout','recess'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF(sdr.relating_shape_aspect)) = 1)) )) = 1)) )) - = 1)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = - 'closed rectangular')) - OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'closed boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect))) )) = 1)) )) - = 1)) )) = 0)); - WR9: ((NOT (SELF\characterized_object.description = 'open rectangular')) - OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'open boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect))) )) = 1)) )) - = 1)) )) = 0)); - WR10: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'pocket bottom usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET_BOTTOM' - IN TYPEOF(sdr.relating_shape_aspect)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' - IN TYPEOF(sdr.related_shape_aspect.of_shape.definition))) - )) = 1)) )) = 1)) )) = 0); - WR11: ((NOT (SELF\characterized_object.description IN ['complex', - 'non-circular cutout','recess'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in boundary occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - (fcr.related_shape_aspect.description - IN ['angle taper','directed taper'])) - )) = 1)) )) <= 1)) )) = 0)); - WR12: (NOT (SELF\characterized_object.description = 'circular cutout')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'enclosed boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' - IN TYPEOF (sdr.relating_shape_aspect)))) - = 1))) = 1))) = 0); - WR13: (NOT (SELF\characterized_object.description IN - ['circular cutout','complex cutout'])) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET_BOTTOM' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition))AND - (sdr.relating_shape_aspect.description = 'through') ) - )) = 1))) = 1))) = 0); - WR14: (NOT (SELF\characterized_object.description = 'recess')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET_BOTTOM' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition)) AND - (sdr.relating_shape_aspect.description IN ['planar','complex']) ) - )) = 1))) = 1))) = 0); - WR15: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; - - WR16: ((NOT (SELF\characterized_object.description IN - ['closed rectangular','open rectangular', 'complex', - 'recess'])) OR - (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (csa.name='uncut volume') AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROTRUSION'] - * TYPEOF(sar.related_shape_aspect))=1) - ) ))) = 1)) )) <= 1)) )) = 1)); - - WR17: ((NOT (SELF\characterized_object.description IN - ['closed rectangular','open rectangular'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in boundary occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - (fcr.related_shape_aspect.description - IN ['angle taper','directed taper'])) - )) >= 1)) )) <=1)) )) = 0)); - -END_ENTITY; -- pocket -(* USED FROM (aic_machining_feature); *) -ENTITY pattern_offset_membership - SUBTYPE OF (feature_component_relationship); - WHERE - WR1 : (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.relating_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - ((SIZEOF (QUERY( pdr <*(QUERY(pd <* USEDIN - (fcr.related_shape_aspect.of_shape, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd))) | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN'] - * TYPEOF(pdr.definition)) =1 )) = 0 )) )) = 0); - WR2 : (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (fcr.description='modified pattern') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) )) >= 1); - WR3 : (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (NOT (SIZEOF(QUERY ( modfcr <* QUERY ( modsar <* USEDIN( - fcr.relating_shape_aspect,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN'] * - TYPEOF(modsar.related_shape_aspect.of_shape.definition)) = 1) AND - (modsar :<>: fcr)) ) | - (NOT (modfcr.related_shape_aspect.of_shape.definition :=: - SELF.relating_shape_aspect.of_shape.definition)) )) - = 0))) )) = 0); - WR4 : ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 2)) )) = 0)); - WR5 : ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 1)) )) = 0)); - WR6 : ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (NOT (SIZEOF(pdr.used_representation.items) = 2)) )) = 0)) )) - = 0)); - WR7 : ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'index number')) )) = 1)) )) = 0)) )) = 0)); - WR8 : ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' - IN TYPEOF(it)) AND (it.name = 'offset')) )) = 1)) )) = 0)) )) - = 0)); - WR9: ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items ) = 3)) )) - = 0)) )) = 0)); - WR10: ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'row index')) )) = 1)) )) = 0)) )) = 0)); - WR11: ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'column index')) )) = 1)) )) = 0)) )) = 0)); - WR12: ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF(it)) AND (it.name = 'offset distance')) )) = 1)) )) - = 0)) )) = 0)); - WR13: ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'offset direction')) )) = 1)) )) - = 0)); -END_ENTITY; -- pattern_offset_membership -(* USED FROM (aic_machining_feature); *) -ENTITY pattern_omit_membership - SUBTYPE OF (feature_component_relationship); - WHERE - WR1: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.relating_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - ((SIZEOF (QUERY( pdr <*(QUERY(pd <* USEDIN - (fcr.related_shape_aspect.of_shape, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd))) | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN'] - * TYPEOF(pdr.definition)) =1 )) = 0 )) )) = 0); - WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (fcr.description='modified pattern') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) )) >= 1); - WR3: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (NOT (SIZEOF(QUERY ( modfcr <* QUERY ( modsar <* USEDIN( - fcr.relating_shape_aspect,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN'] * - TYPEOF(modsar.related_shape_aspect.of_shape.definition)) = 1) AND - (modsar :<>: fcr)) ) | - (NOT (modfcr.related_shape_aspect.of_shape.definition :=: - SELF.relating_shape_aspect.of_shape.definition)) )) - = 0))) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 1)) )) = 0); - WR5: ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (NOT (SIZEOF(pdr.used_representation.items) = 1)) )) = 0)) )) = 0)); - WR6: ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'index number')) )) = 1)) )) = 0)) )) = 0)); - WR7: ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (NOT (SIZEOF(pdr.used_representation.items) = 2)) )) = 0)) )) = 0)); - WR8: ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'row index')) )) = 1)) )) = 0)) )) = 0)); - WR9: ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'column index')) )) = 1)) )) = 0)) )) = 0)); -END_ENTITY; -- pattern_omit_membership -(* USED FROM (Multi_linguism_mim); *) -ENTITY multi_language_attribute_assignment -SUBTYPE OF (attribute_value_assignment); - items : SET [1:?] OF multi_language_attribute_item; - -DERIVE - translation_language : language := language_indication[1]\attribute_classification_assignment.assigned_class; - -INVERSE - language_indication: SET[1:1] OF attribute_language_assignment FOR items; - -WHERE -WR1: (SELF\attribute_value_assignment.role.name = 'alternate language'); -WR2: SIZEOF( QUERY( ala <* language_indication | - (ala\attribute_classification_assignment.attribute_name = 'attribute_value') AND - (ala\attribute_classification_assignment.role.name='translated') )) = 1 ; -WR3: SELF\attribute_value_assignment.attribute_name <> '' ; -WR4: SIZEOF(QUERY(ci <* items | -SIZEOF(QUERY(ata <* USEDIN(ci, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | -(ata\attribute_value_assignment.attribute_name = SELF\attribute_value_assignment.attribute_name) AND -(ata.translation_language :=: translation_language) ))>1 )) =0; -WR5: SIZEOF(QUERY(ci <* items | -SIZEOF(QUERY(ata <* USEDIN(ci, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | - (ata\attribute_classification_assignment.role.name='primary') AND - (ata\attribute_classification_assignment.attribute_name= SELF\attribute_value_assignment.attribute_name) AND - (ata\attribute_classification_assignment.assigned_class :=: translation_language) ))>0 )) =0; -END_ENTITY; -(* USED FROM (structural_response_representation_schema); *) -ENTITY direction_node - SUBTYPE OF (direction); - node_1 : node_representation; - node_2 : node_representation; -DERIVE - SELF\direction.direction_ratios : LIST [2:3] OF REAL := - build_direction_node (node_1, node_2); -WHERE - WR1: SIZEOF (QUERY(item <* node_1\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (item))) = 1; - WR2: SIZEOF (QUERY(item <* node_2\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (item))) = 1; - WR3: NOT ((direction_ratios[1] = 0.0) AND - (direction_ratios[2] = 0.0) AND - (direction_ratios[3] = 0.0)); -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY planar_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF (SELF.items) = 1; - WR2: SIZEOF (QUERY (it <* SELF.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF (it)))) = 1 ; -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_map; - mapping_origin : representation_item; - mapped_representation : representation; - INVERSE - map_usage : SET[1:?] OF mapped_item FOR mapping_source; - WHERE - WR1: item_in_context(SELF.mapping_origin, - SELF.mapped_representation.context_of_items); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY mapped_item - SUBTYPE OF (representation_item); - mapping_source : representation_map; - mapping_target : representation_item; - WHERE - WR1: acyclic_mapped_representation(SELF); - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY partial_circular_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 3)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')))) = 1)) )) - = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'sweep angle')) )) = 1)) )) - = 0)) )) = 0); - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; -END_ENTITY; -- partial_circular_profile -(* USED FROM (aic_machining_feature); *) -ENTITY path_feature_component - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['partial circular','complete circular', - 'linear','complex']); - WR3: ((NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR4: ((SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0)); - WR5: ((NOT (SELF.description = 'partial circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 3)) )) - = 0)) )) = 0)); - WR6: ((NOT (SELF.description = 'partial circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'partial circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'sweep angle')) )) = 1)) )) - = 0)) )) = 0)); - WR8: ((NOT (SELF.description = 'complete circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0)); - WR9: ((NOT (SELF.description = 'complete circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) - = 0)) )) = 0)); - WR10: ((NOT (SELF.description = 'linear')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0)); - WR11: ((NOT (SELF.description = 'linear')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'distance')) )) = 1)) )) - = 0)) )) = 0)); - WR12: ((NOT (SELF.description = 'linear')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR13: ((NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'sweep path')AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'profile shape') )) = 1) - ) )) = 1)) )) = 0)); -END_ENTITY; -- path_feature_component -(* USED FROM (aic_machining_feature); *) -ENTITY outer_round - SUBTYPE OF (feature_definition); - WHERE - WR1: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF (pdr.used_representation.items) = 3) )) = 1 )) = 1)); - WR2: ((NOT (SELF\characterized_object.description - = 'outer diameter to shoulder')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ( {2 <= SIZEOF(pdr.used_representation.items) <= 3}) )) = 1 )) = 1)); - WR3: (SELF\characterized_object.description IN - ['outer diameter', 'outer diameter to shoulder']); - WR4: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR - (SIZEOF( QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'length')) )) = 1)) )) - = 0)) )) = 0)); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF - (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) = 1)) )) - = 0)) )) = 0); - WR6: ((NOT (SELF\characterized_object.description - = 'outer diameter to shoulder')) OR ( - SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'v-shape boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'v-shape')) )) = 1)) )) - = 1)) )) = 0)); - WR7: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'reduced size occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' - IN TYPEOF(sdr.relating_shape_aspect)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OUTER_ROUND' - IN TYPEOF(sdr.related_shape_aspect.of_shape.definition)) AND - (sdr.name = 'reduced size')) - )) = 1)) )) - <= 1)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = - 'outer diameter to shoulder')) OR - (SIZEOF( QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'length')) )) <= 1)) )) - = 0)) )) = 0)); - WR9: ((NOT (SELF\characterized_object.description = - 'outer diameter to shoulder')) OR - (SIZEOF( QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'feature length')) )) <= 1)) )) - = 0)) )) = 0)); -END_ENTITY; -- outer_round -(* USED FROM (geometry_schema); *) -ENTITY direction - SUBTYPE OF (geometric_representation_item); - direction_ratios : LIST[2:3] OF REAL; -WHERE - WR1: SIZEOF(QUERY(tmp <* direction_ratios | tmp <> 0.0)) > 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY outside_profile - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF (pdr.used_representation.items) = 1) )) = 1 )) = 1; - WR2: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['boundary occurrence', - 'non-planar boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) )) =1) ))=0; - WR3: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'boundary occurrence') )) =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) | - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'outside boundary'))) - = 1))) = 1))) = 0); - WR4: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['complex boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) ))=1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - NOT(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile floor usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROFILE_FLOOR' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OUTSIDE_PROFILE' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition))) - )) = 1))) = 0))) = 0); - WR5: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['outside boundary', - 'complex boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) ))=1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'path feature component usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) | - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.name = 'profile swept shape') AND - (sdr.relating_shape_aspect.description='linear') )) = 1))) - = 1))) = 0); - WR6: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'complex boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINEAR_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) =1)) ) - = 1)))= 1))) = 0); - WR7: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'partial circular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)))) - = 1)))= 1))) = 0); - WR8: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'closed circular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)))) - = 1)))= 1))) = 0); - WR9: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'open rectangular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)))) - = 1)))= 1))) = 0); - WR10: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'closed rectangular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)) )) = 1))) - = 1))) = 0); - WR11: (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['boundary occurrence', - 'complex boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) )) =1) ))=0) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'removal direction')) )) = 1)) )) - = 0); - WR12: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- outside_profile -(* USED FROM (aic_machining_feature); *) -ENTITY linear_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF(it)) AND - (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'profile length')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- linear_profile -(* USED FROM (aic_machining_feature); *) -ENTITY location_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: (SIZEOF(SELF.items) = 1); - WR2: (SIZEOF(QUERY ( it <* SELF.items | - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT' - IN TYPEOF(it))) )) = 0); -END_ENTITY; -- location_shape_representation -(* USED FROM (draughting_element_schema); *) - ENTITY dimension_curve_directed_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF(QUERY(d_c<*SELF\draughting_callout.contents | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(d_c))))<=2; - WR2: SIZEOF(SELF\draughting_callout.contents) >= 2; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY marking - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - ({2 <= SIZEOF(pdr.used_representation.items) <=6} ) )) - = 1 )) = 1; - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* - QUERY ( pdr <* USEDIN(pd,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'marking text')) )) = 1)) )) - = 0)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'special instructions')) )) <= 1)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'font name')))) <= 1)))) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'character height')) )) <= 1)) )) - = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'character spacing')) )) <= 1)) )) - = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); -END_ENTITY; -- marking -(* USED FROM (draughting_element_schema); *) - ENTITY leader_directed_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) >= 1; - WR2: SIZEOF(SELF\draughting_callout.contents) >=2; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY modified_pattern - SUBTYPE OF (shape_aspect); - WHERE - WR1: SIZEOF( QUERY (fcr <* QUERY(sar <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar)) | - (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPLICATE_FEATURE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INSTANCED_FEATURE'] * - TYPEOF (fcr.related_shape_aspect.of_shape.definition)) >= 1) AND - (fcr.description = 'base shape')) ) = 1; - WR2: SIZEOF( QUERY (fcr <* QUERY(sar <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar)) | - (SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_PATTERN', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_PATTERN'] * - TYPEOF(fcr.related_shape_aspect.of_shape.definition)) = 1) AND - (fcr.description = 'base pattern')) ) = 1; - WR3: SIZEOF(QUERY ( sar <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (SIZEOF(QUERY ( msar <* USEDIN(sar.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATTERN_OFFSET_MEMBERSHIP', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATTERN_OMIT_MEMBERSHIP'] * - TYPEOF(sar)) = 1) AND (sar.description='modified pattern') - AND (sar :<>: msar) )) >= 1) )) = 0; -END_ENTITY; -- modified_pattern -(* USED FROM (draughting_element_schema); *) - ENTITY projection_directed_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF(QUERY(p_1<*SELF\draughting_callout.contents | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(p_1))))<=2; - WR2: SIZEOF(SELF\draughting_callout.contents) >=2; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY local_time; - hour_component : hour_in_day; - minute_component : OPTIONAL minute_in_hour; - second_component : OPTIONAL second_in_minute; - zone : coordinated_universal_time_offset; -WHERE - WR1: valid_time (SELF); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY calendar_date - SUBTYPE OF (date); - day_component : day_in_month_number; - month_component : month_in_year_number; -WHERE - WR1: valid_calendar_date (SELF); -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY closed_path_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); -END_ENTITY; -- closed_path_profile -(* USED FROM (aic_machining_feature); *) -ENTITY composite_hole - SUBTYPE OF (compound_feature); - WHERE - WR1: (SELF\characterized_object.description IN ['counterbore', - 'countersunk']); - WR2: SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUND_HOLE' - IN TYPEOF(sar.related_shape_aspect))) - ))) = 2)) )) = 1)) )) = 1; - WR3: (NOT (SELF\characterized_object.description = 'countersunk')) OR - (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUND_HOLE' - IN TYPEOF(sar.related_shape_aspect)) AND - (NOT (SIZEOF(QUERY ( pds <* QUERY ( pd <* - USEDIN(sar.related_shape_aspect, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in diameter occurrence') AND - (SIZEOF(QUERY ( fcr2 <* QUERY ( sar2 <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar2.description = 'taper usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar2))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' IN TYPEOF(fcr2.related_shape_aspect)) - )) = 1)) )) = 0)) )) = 0))) )) = 1)) )) = 1)) )) = 1); -END_ENTITY; -- composite_hole -(* USED FROM (aic_machining_feature); *) -ENTITY chamfer_offset - SUBTYPE OF (shape_aspect); - WHERE - WR1: (SELF.description IN ['first offset','second offset']); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR4: ((NOT (SELF.description = 'first offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'offset amount')) )) = 1)) )) - = 0)) )) = 0)); - WR5: ((NOT (SELF.description = 'first offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'first face shape')) )) <= 1)) )) - = 0)); - WR6: ((NOT (SELF.description = 'second offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'offset amount')) OR - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'offset angle'))) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'second offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'second face shape')) )) <= 1)) )) - = 0)); - WR8: (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar)) ) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHAMFER' - IN TYPEOF(sdr.relating_shape_aspect))AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHAMFER_OFFSET' - IN TYPEOF(sdr.related_shape_aspect))) - )) = 1); -END_ENTITY; -- chamfer_offset -(* USED FROM (aic_machining_feature); *) -ENTITY circular_pattern - SUBTYPE OF (replicate_feature); - WHERE - WR1: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - ((('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.related_shape_aspect)) )) = 1)) )) <= 3)) )) = 0); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT ((SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF(impl_rep.used_representation.items) <= 5))) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) <= 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'base feature rotation')) )) - <= 1)) )) = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of features')) )) = 1)) )) = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'angular spacing'))))= 1)) )) - = 0)) )) = 0); - WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- circular_pattern -(* USED FROM (aic_machining_feature); *) -ENTITY applied_area - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(SELF.of_shape)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | - (NOT({2 <= SIZEOF(impl_rep.used_representation.items) <= 3} ) - ) )) = 0)) )) = 0); - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - NOT (srwp_i.name IN ['orientation','effective length', - 'maximum length']) )) > 0 ) )) = 0 ) )) = 0; - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'effective length')) )) = 1)) )) - = 0)) )) <= 1); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'maximum length')) )) <= 1)) )) - = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- applied_area -(* USED FROM (aic_machining_feature); *) -ENTITY boss - SUBTYPE OF (feature_definition); - WHERE - WR1: SELF\characterized_object.description IN - ['circular', 'complex', 'rectangular']; - WR2: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'boss height occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'path feature component usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF (sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear') AND - (sdr.name = 'boss height'))) = 1))) = 1))) = 0; - WR3: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ({1 <= SIZEOF(pdr.used_representation.items) <= 2} ) )) = 1 )) = 1; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'fillet radius'))) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'fillet radius'))) <= 1))) - = 0))) = 0; - WR6: (NOT (SELF\characterized_object.description = 'circular')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'circular profile occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' - IN TYPEOF (sdr.relating_shape_aspect))) = 1))) = 1))) = 0); - WR7: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'top condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'boss top usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS_TOP' - IN TYPEOF(fcr.relating_shape_aspect)) ) )) = 1)) )) = 1)) )) = 0; - WR8: (NOT (SELF\characterized_object.description = 'circular')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'change in diameter occurrence') AND - (SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'taper usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' IN TYPEOF (fcr.related_shape_aspect)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS' IN TYPEOF (fcr.relating_shape_aspect))) - ) )= 1))) <= 1))) = 0); - WR9: (NOT (SELF\characterized_object.description = 'complex')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'enclosed boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1)) = 1)))= 1))) = 0); - WR10: (NOT (SELF\characterized_object.description - IN ['complex','rectangular'])) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'change in boundary occurrence') AND - (SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'taper usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAPER' IN TYPEOF (fcr.related_shape_aspect)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS' IN TYPEOF (fcr.relating_shape_aspect)) - AND - (fcr.related_shape_aspect.description IN - ['angle taper','directed taper'])) - )) = 1))) <= 1))) = 0); - WR11: (NOT (SELF\characterized_object.description = 'rectangular')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'rectangular profile occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' - IN TYPEOF (sdr.relating_shape_aspect))) = 1))) = 1))) = 0); - - WR12: SIZEOF (QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- Boss -(* USED FROM (product_definition_schema); *) - ENTITY product_category_relationship; - name : label; - description : OPTIONAL text; - category : product_category; - sub_category : product_category; - WHERE - WR1: acyclic_product_category_relationship(SELF, [SELF.sub_category]); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY shell_based_wireframe_model - SUBTYPE OF (geometric_representation_item); - sbwm_boundary : SET[1:?] OF shell; -WHERE - WR1: constraints_geometry_shell_based_wireframe_model(SELF); -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY boss_top - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['planar','complex']); - WR3: ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR4: ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR5: (NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation) )) = 1)) )) = 0); - WR6: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + - 'RELATING_SHAPE_ASPECT') | - ((sar.description = 'boss top usage') AND - (sar.name IN ['boss height start','boss height end']))AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) | - ((fcr.related_shape_aspect.description = 'top condition occurrence') - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS_TOP' - IN TYPEOF(fcr.relating_shape_aspect)) ) - )) >= 1); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) <= 1)) )) = 0); - WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'top radius'))) <= 1))) - = 0))) = 0; -END_ENTITY; -- boss_top -(* USED FROM (Surface_conditions_mim); *) - ENTITY tactile_appearance_representation - SUBTYPE OF (representation); - WHERE - WR1: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) <>1 )) =0; - WR2: SIZEOF ( QUERY ( i <* SELF.items | name ='depth' ) ) <=1; - WR3: ( SIZEOF ( USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )) =1 ) ; - END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_structure - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF kinematic_joint; -WHERE - WR1: SIZEOF (QUERY (item <* items | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE' in TYPEOF(item))) = 0; -END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY surface_texture_representation - SUBTYPE OF (representation); - WHERE - WR1: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'VALUE_RANGE' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM']* TYPEOF ( i ) ) <>1 ) ) - =0; - WR2: ( SIZEOF ( QUERY ( i <* SELF.items | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) ) =1 ) - AND ( SIZEOF ( QUERY ( i <* SELF.items | ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN - TYPEOF ( i ) ) AND ( i.name = 'measuring method' ) ) ) =1 ); - WR3: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) ) - >0; - WR4: ( SIZEOF ( USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_1' ) ) <=1 ) AND ( SIZEOF ( USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_2' ) ) =0 ) AND ( SIZEOF ( QUERY ( rr <* USEDIN ( SELF - , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_1' ) | rr.rep_2.name = 'measuring direction' ) ) = - SIZEOF ( USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_1' ) ) ) ; - WR5: ( SIZEOF ( USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 ) - ) =1 ) ; - END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY hardness_representation - SUBTYPE OF (representation); - WHERE - WR1: ( {2<= SIZEOF ( SELF.items ) <=4} ) AND ( SIZEOF ( QUERY ( - i <* items | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( - i.name IN [ 'measuring method' , 'measuring position' ] ) ) - ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) - AND ( i.name IN ['depth' , 'hardness'] ) ) ) = SIZEOF ( - SELF.items ) ) ; - WR2: SIZEOF ( QUERY ( i <* SELF.items | i.name = - 'measuring method' ) ) =1; - WR3: SIZEOF ( QUERY ( i <* SELF.items | i.name ='hardness' ) ) - =1; - WR4: SIZEOF ( QUERY ( i <* SELF.items | i.name = - 'measuring position' ) ) <=1; - WR5: SIZEOF ( QUERY ( i <* SELF.items | i.name ='depth' ) ) - <=1; - WR6: ( SIZEOF ( USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 ) - ) =1 ) ; - END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY contact_ratio_representation - SUBTYPE OF (representation); - WHERE - WR1: (SIZEOF ( SELF.items ) =1 ) AND - (SIZEOF ( QUERY ( i <* SELF.items | - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'VALUE_RANGE']* TYPEOF(i)) = 1) AND - (i.name = 'ratio value'))) = 1); - WR2: (SIZEOF ( QUERY ( pdr <* USEDIN ( SELF ,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | - pdr\property_definition_representation.name = 'contact ratio reference' ) ) = 1 ) AND - (SIZEOF ( QUERY (pdr <* USEDIN ( SELF ,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | - (pdr\property_definition_representation.name = 'contact ratio reference' ) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'PRODUCT_DEFINITION' IN TYPEOF ( pdr\property_definition_representation.definition\property_definition.definition)) - )) = 1); - WR3:(SIZEOF(USEDIN(SELF ,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION')) = 1) AND - (SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (pdr.definition , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF (gpa\general_property_association.base_definition ) ) AND - (gpa\general_property_association.base_definition\general_property.name ='surface_condition') - )) = 1 - )) = 1); - END_ENTITY; -(* USED FROM (Shape_feature_mim); *) -ENTITY general_feature - SUBTYPE OF (shape_feature_definition); -WHERE - WR1: (SIZEOF(get_property_definition_representations(SELF)) <= 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation) - )) <= 1); - WR2: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - sa.description = 'course of travel occurrence')) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'course of travel occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'course of travel') - )) = 1 ))); - WR3: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - sa.description = 'course of travel occurrence')) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'course of travel occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ))); - WR4: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - sa.description = 'boundary occurrence')) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'boundary occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') - )) = 1 ))); - WR5: (SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(sa)) - )) <= 1 ) AND - (SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(sa)) AND - (sa.name = 'general compound feature') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INSTANCED_FEATURE' IN - TYPEOF(sar.related_shape_aspect)) - )) >= 2 ) - )) <= 1 ); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY incidence_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF geometric_constraint_element; - SELF\explicit_constraint.reference_elements : - SET [0:?] OF geometric_constraint_element; - near_points : SET[0:?] OF near_point_relationship; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) - OR (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: SIZEOF(near_points) <= - SIZEOF(SELF\explicit_constraint.reference_elements); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY picture_representation - SUBTYPE OF (presentation_view); - SELF\representation.items : SET[2:?] OF picture_representation_item_select; - INVERSE - size : presentation_size FOR unit; - WHERE - WR1: SIZEOF(QUERY(item <* items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF(item))) = 1; - WR2: SIZEOF (QUERY (se <* QUERY (item <* SELF.items - | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF (item))) - | NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PICTURE_REPRESENTATION_ITEM' - IN TYPEOF (se\styled_item.item)) )) = 0; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY coaxial_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF axial_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF axial_geometry_constraint_element; -WHERE - WR1: SIZEOF(QUERY(q <* SELF\explicit_constraint.reference_elements | - SIZEOF(TYPEOF(q) * ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPHERICAL_SURFACE','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPHERE']) - > 0)) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY perpendicular_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF linear_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:2] OF linear_geometry_constraint_element; -WHERE - WR1: NOT ((SIZEOF(SELF\explicit_constraint.reference_elements) = 2) AND - NOT ((SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE' IN TYPEOF(q))) = - SIZEOF(SELF\explicit_constraint.reference_elements + - SELF\explicit_constraint.constrained_elements)) XOR - (SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(q))) = - SIZEOF(SELF\explicit_constraint.reference_elements + - SELF\explicit_constraint.constrained_elements)))); - WR2: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (SIZEOF(SELF\explicit_constraint.constrained_elements) IN [2,3]); - WR3: NOT ((SIZEOF(SELF\explicit_constraint.reference_elements) = 0) AND - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 3)) AND NOT - ((SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE' IN TYPEOF(q))) = 3) XOR - (SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(q))) = 3)); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY parallel_offset_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF curve_or_surface_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF curve_or_surface_constraint_element; - offset_type : parallel_offset_type; -WHERE - WR1: NOT(((offset_type = curve_2d_offset) - OR (offset_type = curve_3d_offset)) AND - (SIZEOF(QUERY( q <* (SELF\explicit_constraint.constrained_elements - + SELF\explicit_constraint.reference_elements) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF(q))) > 0)); - WR2: NOT((offset_type = surface_offset) AND (SIZEOF(QUERY( q <* - (SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF(q))) > 0)); -END_ENTITY; -(* USED FROM (Inertia_characteristics_mim); *) -ENTITY moments_of_inertia_representation -SUBTYPE OF (representation); -WHERE -WR1: (SIZEOF(SELF.items) = 1) AND - (SIZEOF( QUERY( i <* SELF.items | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i.name = 'moments of inertia matrix') )) = 1); -WR2: SIZEOF( QUERY( i <* SELF.items | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'LIST_REPRESENTATION_ITEM' IN TYPEOF(i\compound_representation_item.item_element)) AND - value_range_aggregate_rep_item (i\compound_representation_item.item_element) )) = 1; -END_ENTITY; -(* USED FROM (Geometric_tolerance_mim); *) -ENTITY placed_datum_target_feature - SUBTYPE OF (datum_target); -DERIVE - representation_associations : SET[0:?] OF property_definition_representation := get_shape_aspect_property_definition_representations(SELF); -WHERE - WR1: SELF.description IN ['point','line','rectangle','circle','circular curve']; - WR2: SIZEOF (QUERY (pdr <* representation_associations | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF (pdr.used_representation) )) = 1; - WR3: valid_datum_target_parameters(SELF); -END_ENTITY; -(* USED FROM (Design_product_data_management_mim); *) -ENTITY retention - SUBTYPE OF (action); -WHERE - WR1: SIZEOF( QUERY( aa <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ACTION_ASSIGNMENT.ASSIGNED_ACTION') | - ('ACTIVITY.APPLIED_ACTION_ASSIGNMENT' IN - TYPEOF(aa)) AND - (aa.role.name = 'retention') - )) >= 1; - WR2: (SIZEOF( QUERY( atia <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia.role.name = 'minimum retention period') - )) = 1) AND - (SIZEOF( QUERY( atia <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia.role.name = 'maximum retention period') - )) = 1) AND - (SIZEOF( QUERY( atia1 <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia1.role.name = 'minimum retention period') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TIME_INTERVAL_WITH_BOUNDS' IN - TYPEOF(atia1.assigned_time_interval)) AND - (EXISTS(atia1.assigned_time_interval\time_interval_with_bounds.secondary_bound) OR - EXISTS(atia1.assigned_time_interval\time_interval_with_bounds.duration)) AND - (SIZEOF( QUERY( atia2 <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia2.role.name = 'maximum retention period') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TIME_INTERVAL_WITH_BOUNDS' IN - TYPEOF(atia2.assigned_time_interval)) AND - (EXISTS(atia2.assigned_time_interval\time_interval_with_bounds.secondary_bound) OR - EXISTS(atia2.assigned_time_interval\time_interval_with_bounds.duration)) AND - (atia1.assigned_time_interval\time_interval_with_bounds.primary_bound :=: - atia2.assigned_time_interval\time_interval_with_bounds.primary_bound) -)) = 1) - )) = 1); - - WR3: SIZEOF( USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION')) + - SIZEOF( USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATED_ACTION')) = 0; -END_ENTITY; -(* USED FROM (Default_tolerance_mim); *) -ENTITY default_tolerance_table_cell - SUBTYPE OF (compound_representation_item); -WHERE - WR1: SIZEOF(QUERY( x <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION.ITEMS') | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DEFAULT_TOLERANCE_TABLE' IN TYPEOF(x)))=1 ; - WR2: default_tolerance_table_cell_wr2(SELF\compound_representation_item.item_element); - WR3: default_tolerance_table_cell_wr3(SELF\compound_representation_item.item_element); - WR4: default_tolerance_table_cell_wr4(SELF\compound_representation_item.item_element); - WR5: default_tolerance_table_cell_wr5(SELF\compound_representation_item.item_element); -END_ENTITY; -(* USED FROM (Default_tolerance_mim); *) -ENTITY default_tolerance_table - SUBTYPE OF (representation); -WHERE - WR1: SIZEOF( QUERY( i <* SELF.items | NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF(i)) )) = 0; - WR2: (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | rr.name < 'general tolerance definition' )) = 0) AND (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | (rr.name = 'general tolerance definition') AND (rr.rep_2.name < 'default tolerance') )) = 0) AND (SIZEOF( USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) = 0); -END_ENTITY; -(* USED FROM (Compound_shape_representation_mim); *) - ENTITY compound_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'GEOMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF ( SELF.context_of_items ) ) AND ( - SELF.context_of_items\ - geometric_representation_context.coordinate_space_dimension =3 ) ; - WR2: SIZEOF ( QUERY ( cbsr_i <* SELF.items | SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'MAPPED_ITEM' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'AXIS2_PLACEMENT_3D']* TYPEOF ( cbsr_i ) ) <>1 ) ) =0; - WR3: SIZEOF ( QUERY ( cbsr_i <* SELF.items | SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'MAPPED_ITEM']* TYPEOF ( cbsr_i ) ) =1 ) ) >0; - WR4: SIZEOF ( QUERY ( cbsr_i <* SELF.items | ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'MAPPED_ITEM' IN TYPEOF ( cbsr_i ) ) - AND ( SIZEOF ( ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'COMPOUND_SHAPE_REPRESENTATION' , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION']* TYPEOF ( - cbsr_i\ mapped_item.mapping_source ) ) <>1 ) ) ) =0; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY primitive_2d_with_inner_boundary - SUBTYPE OF (complex_area, compound_representation_item); - - (* removed : SELF\compound_representation_item.inner_boundary : COMPOUND_INNER_AREA_BOUNDARY *) - DERIVE - inner_boundary : COMPOUND_INNER_AREA_BOUNDARY := SELF\compound_representation_item.item_element; -- ITEM_ELEMENT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - WHERE - WR1: SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_AREA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPTIC_AREA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_AREA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYGONAL_AREA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_WITH_OUTER_BOUNDARY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_AREA_WITH_PARAMETERS'] * TYPEOF(SELF)) > 0; - WR2: SIZEOF(QUERY(inner <* inner_boundary | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY' IN TYPEOF(inner))) = 0; - WR3: open_path_based_inner_boundary(inner_boundary); - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY single_boundary_csg_2d_shape_representation - SUBTYPE OF (single_area_csg_2d_shape_representation); - WHERE - WR1: SIZEOF(QUERY ( it <* SELF.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_PRIMITIVE_SOLID_2D' IN TYPEOF(it)) - AND (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY') IN - TYPEOF(it\csg_primitive_solid_2d.tree_root_expression))) )) = 0; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY single_area_csg_2d_shape_representation - SUBTYPE OF (csg_2d_shape_representation); - SELF\representation.items : SET[1:?] OF csg_2d_area_select; - WHERE - WR1: SIZEOF (QUERY (it <* SELF.items| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it)) )) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items| - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SOLID_2D' - IN TYPEOF(it)) )) = 1; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY csg_solid_2d - SUBTYPE OF (csg_solid); - SELF\csg_solid.tree_root_expression : csg_select_2d; - WHERE - WR1: valid_csg_2d_primitives(SELF); - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY surface_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:2] OF surface; - SELF\explicit_constraint.reference_elements : - SET[0:4] OF point_curve_or_surface_constraint_element; - near_points : SET[0:4] OF near_point_relationship; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SDGC_WITH_DIMENSION' - IN TYPEOF(SELF)) - AND (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); - WR2: SIZEOF(near_points) <= - SIZEOF(SELF\explicit_constraint.reference_elements); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY joggle_termination - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF(SELF.of_shape.definition); - WR2: SELF.description IN ['value termination','face termination']; - WR3: (SELF.description = 'value termination') XOR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) - )) = 0); - WR4: (SELF.description <> 'value termination') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 2) - )) = 1); - WR5: (SELF.description <> 'value termination') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='depth') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1); - WR6: (SELF.description <> 'value termination') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='angle') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1); - WR7: SIZEOF( QUERY( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'joggle termination usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.JOGGLE' IN TYPEOF(sar.related_shape_aspect.of_shape.definition)) AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.name = 'termination') AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.description = 'joggle termination occurrence') - )) = 1; -END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY process_operation - SUBTYPE OF (action_method); -WHERE - WR1: SIZEOF( QUERY( amr <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACTION_METHOD_RELATIONSHIP.' + - 'RELATING_METHOD') | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(amr\action_method_relationship.related_method)) OR - (SELF :=: amr\action_method_relationship.related_method) - )) = 0; - WR2: SIZEOF( QUERY( amr <* USEDIN(SELF,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACTION_METHOD_RELATIONSHIP.' + - 'RELATED_METHOD') | - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(amr\action_method_relationship.relating_method)) OR - (SELF :=: amr\action_method_relationship.relating_method) - )) = 0; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY locator - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - NOT ({2 <= SIZEOF(pdr.used_representation.items) <= 5}) - )) = 0; - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='diameter') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='tip radius') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='tip angle') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY feature_in_panel - SUBTYPE OF (feature_definition); -WHERE - WR1: SELF.description IN ['pocket','boss','stairstep']; - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - NOT ({2 <= SIZEOF(pdr.used_representation.items) <= 3}) - )) = 0; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT( i.name IN ['orientation','base radius','target radius']) - )) > 0) - )) = 0; - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='target radius') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR6: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'base boundary') AND - (sa.description IN ['directed angle occurrence','closed profile occurrence']) - )) = 1; - WR7: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'target boundary') AND - (sa.description IN ['directed angle occurrence','closed profile occurrence']) - )) = 1; - WR8: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'directed angle occurrence') - )) <= 1; - WR9: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'directed angle occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'directed angle usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTED_ANGLE' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'directed angle occurrence'))); - WR10: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'closed profile occurrence'))); - WR11: (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN - TYPEOF(pdr.used_representation) - )) <= 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN - TYPEOF(pdr.used_representation)) AND - NOT(pdr.used_representation.name = 'target face') - )) = 0); - WR12: (SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'target boundary') AND - (sa.description = 'directed angle occurrence') - )) = 0) OR - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN - TYPEOF(pdr.used_representation)) - )) = 1); -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY joggle - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - NOT({5 <= SIZEOF(pdr.used_representation.items) <= 10}) - )) = 0; - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT(i.name IN ['orientation','base radius 1','base radius 2','direction angle 1', - 'direction angle 2','height','slope angle 1','slope angle 2', - 'top radius 1','top radius 2']) - )) > 0) - )) = 0; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='direction angle 1') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='direction angle 2') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='height') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR6: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='slope angle 1') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR7: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='slope angle 2') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR8: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'defining path') AND - (sa.description = 'path feature component occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'path feature component usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sar.relating_shape_aspect)) AND - (sar.relating_shape_aspect.description = 'linear') - )) = 1 ) - )) = 1; - WR9: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'termination') AND - (sa.description = 'joggle termination occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'joggle termination usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.JOGGLE_TERMINATION' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; - WR10: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius 1') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR11: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius 2') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR12: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='top radius 1') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR13: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='top radius 2') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY hole_in_panel - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'hole profile') AND - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = 1; - WR2: SIZEOF( get_property_definition_representations(SELF)) = - SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - SIZEOF( pdr.used_representation.items) = 1)); -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY bead_end - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF(SELF.of_shape.definition); - WR2: SELF.description IN ['linear','open','radiused']; - - WR3: (SELF.description <> 'linear') XOR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) - )) > 0); - WR4: (SELF.description <> 'linear') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 2) - )) = 1); - WR5: (SELF.description <> 'linear') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='end length') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1); - WR6: (SELF.description <> 'linear') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name = 'end shape') AND - (i\descriptive_representation_item.description IN ['straight','tapered']) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(i)) - )) = 1) - )) = 1); - WR7: SIZEOF( QUERY( sar <* USEDIN( SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'bead end usage') AND - (sar.description IN ['starting' -,'ending' -]) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEAD' IN - TYPEOF(sar.related_shape_aspect.of_shape.definition)) AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.name = 'end condition') AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.description = 'bead end occurrence') - )) = 1; -END_ENTITY; - -(* Implicit interfaced from: procedural_model_schema *) -ENTITY procedural_representation - SUBTYPE OF (representation); - SELF\representation.items : - SET[1:?] OF procedural_representation_sequence; -END_ENTITY; - -(* Implicit interfaced from: procedural_model_schema *) -ENTITY procedural_representation_sequence - SUBTYPE OF (representation_item); - elements : LIST[1:?] OF representation_item; - suppressed_items : SET[0:?] OF representation_item; - rationale : text; -WHERE - WR1: SIZEOF(QUERY(q <* suppressed_items | NOT (q IN elements))) = 0; -END_ENTITY; -(* REFERENCE FROM (procedural_model_schema); *) -ENTITY explicit_procedural_representation_item_relationship - SUBTYPE OF (representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : - procedural_representation_sequence; -WHERE - WR1 : NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCEDURAL_REPRESENTATION_SEQUENCE' - IN TYPEOF( - SELF\representation_item_relationship.related_representation_item)); - WR2 : SIZEOF(QUERY(q <* using_representations( - SELF\representation_item_relationship.related_representation_item) | - item_in_context( - SELF\representation_item_relationship.relating_representation_item, - q.context_of_items))) > 0; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY bead - SUBTYPE OF (feature_definition); -WHERE - WR1: (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation) - )) <= 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) > 2) - )) = 0); - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT( i.name IN ['orientation','base radius']) - )) > 0) - )) = 0; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) > 1) - )) = 0; - WR4: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'sweep path') AND - (sa.description = 'path feature component occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'path feature component usage') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; - WR5: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'bead profile') AND - (sa.description = 'open profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_PATH_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VEE_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = 1; - WR6: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'end condition') AND - (sa.description = 'bead end occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'bead end usage') AND - (sar.description = 'starting' -) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEAD_END' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; - WR7: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'end condition') AND - (sa.description = 'bead end occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'bead end usage') AND - (sar.description = 'ending' -) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEAD_END' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY barring_hole - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'hole profile') AND - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = 1; - WR2: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'barring profile') AND - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') - )) = 1 ) - )) = 1; - WR3: (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation) - )) = 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - {1 <= SIZEOF(pdr.used_representation.items) <= 2} - )) = 1); - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT( i.name IN ['orientation','base radius']) - )) > 0) - )) = 0; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) <> 1) - )) = 0; -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) - ENTITY externally_conditioned_data_quality_inspection_instance_report_item - SUBTYPE OF(data_quality_inspection_instance_report_item); - SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1:?] OF inspected_ecdq_element_select; - WHERE - WR1 : SIZEOF(QUERY(i1 <* - bag_to_set(USEDIN(SELF, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT.'+ 'INSPECTED_INSTANCES'))| - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(i1.inspection_result))))=0; - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) - ENTITY externally_conditioned_data_quality_inspection_result_representation - SUBTYPE OF(data_quality_inspection_result_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' IN TYPEOF(q))) > 0; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:2] OF curve; - SELF\explicit_constraint.reference_elements : - SET[0:4] OF point_curve_or_surface_constraint_element; - near_points : SET[0:4] OF near_point_relationship; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CDGC_WITH_DIMENSION' - IN TYPEOF(SELF)) - AND (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); - WR2: SIZEOF(near_points) <= - SIZEOF(SELF\explicit_constraint.reference_elements); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY definite_integral_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - variable_of_integration : input_selector; - lower_limit_neg_infinity : BOOLEAN; - upper_limit_pos_infinity : BOOLEAN; -DERIVE - integrand : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: space_is_continuum (integrand.range); - WR2: definite_integral_check (integrand.domain, variable_of_integration, - lower_limit_neg_infinity, upper_limit_pos_infinity); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY abstracted_expression_function - SUBTYPE OF (maths_function, quantifier_expression); -DERIVE - SELF\quantifier_expression.variables : LIST [1:?] OF UNIQUE generic_variable := - remove_first(SELF\multiple_arity_generic_expression.operands); - expr : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; -WHERE - WR1: SIZEOF (QUERY ( operand <* - SELF\multiple_arity_generic_expression.operands | NOT ( - has_values_space( operand)))) = 0; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY definite_integral_expression - SUBTYPE OF (quantifier_expression); - lower_limit_neg_infinity : BOOLEAN; - upper_limit_pos_infinity : BOOLEAN; -DERIVE - integrand : generic_expression - := SELF\multiple_arity_generic_expression.operands[1]; - variable_of_integration : maths_variable - := SELF\multiple_arity_generic_expression.operands[2]; - SELF\quantifier_expression.variables : LIST [1:1] OF UNIQUE generic_variable - := [variable_of_integration]; -WHERE - WR1: has_values_space (integrand); - WR2: space_is_continuum (values_space_of (integrand)); - WR3: definite_integral_expr_check (SELF\multiple_arity_generic_expression.operands, - lower_limit_neg_infinity, upper_limit_pos_infinity); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY rationalize_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; -DERIVE - fun : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: (space_dimension(fun.domain) = 1) AND (space_dimension(fun.range) = 1); - WR2: number_tuple_subspace_check(factor1(fun.range)); - WR3: space_dimension(factor1(fun.range)) > 1; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY partial_derivative_expression - SUBTYPE OF (unary_generic_expression); - d_variables : LIST [1:?] OF maths_variable; - extension : extension_options; -DERIVE - derivand : generic_expression := SELF\unary_generic_expression.operand; -WHERE - WR1: has_values_space (derivand); - WR2: space_is_continuum (values_space_of (derivand)); - WR3: SIZEOF (QUERY (vbl <* d_variables | (NOT subspace_of (values_space_of (vbl), - the_reals)) AND (NOT subspace_of (values_space_of (vbl), the_complex_numbers)) - )) = 0; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY partial_derivative_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - d_variables : LIST [1:?] OF input_selector; - extension : extension_options; -DERIVE - derivand : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: space_is_continuum (derivand.range); - WR2: partial_derivative_check (derivand.domain, d_variables); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY homogeneous_linear_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - sum_index : one_or_two; -DERIVE - mat : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_2d_table(mat); - WR2: (space_dimension(mat.range) = 1) AND - subspace_of_es(factor1(mat.range),es_numbers); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY b_spline_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - basis : LIST [1:?] OF b_spline_basis; -DERIVE - coef : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_table(coef); - WR2: (space_dimension(coef.range) = 1) AND - (number_superspace_of(factor1(coef.range)) = the_reals); - WR3: SIZEOF (basis) <= - SIZEOF (shape_of_array(coef)); - WR4: compare_basis_and_coef(basis, coef); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY b_spline_basis - SUBTYPE OF (maths_function, generic_literal); - degree : nonnegative_integer; - repeated_knots : LIST [2:?] OF REAL; -DERIVE - order : positive_integer := degree + 1; - num_basis : positive_integer := SIZEOF (repeated_knots) - order; -WHERE - WR1: num_basis >= order; - WR2: nondecreasing(repeated_knots); - WR3: repeated_knots[order] < repeated_knots[num_basis+1]; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY linearized_table_function - SUPERTYPE OF (ONEOF ( - STANDARD_TABLE_FUNCTION, - REGULAR_TABLE_FUNCTION, - TRIANGULAR_MATRIX, - SYMMETRIC_MATRIX, - BANDED_MATRIX)) - SUBTYPE OF (explicit_table_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - first : integer; -DERIVE - source : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_1d_array(source); - WR2: member_of(first, source\maths_function.domain); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY listed_data - SUBTYPE OF (explicit_table_function, generic_literal); - values : LIST [1:?] OF maths_value; - value_range : maths_space; -DERIVE - SELF\explicit_table_function.shape : LIST [1:?] OF positive_integer := - [SIZEOF (values)]; -WHERE - WR1: expression_is_constant(value_range); - WR2: SIZEOF (QUERY (val <* values | NOT (member_of( val, value_range)))) = 0; -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY point_on_edge_curve - SUBTYPE OF(point_on_curve); - basis_edge_curve : edge_curve; - DERIVE - SELF\point_on_curve.basis_curve : curve := SELF.basis_edge_curve.edge_geometry; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_edge_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY parallel_composed_function - SUBTYPE OF (maths_function, multiple_arity_generic_expression); - source_of_domain : maths_space_or_function; - prep_functions : LIST [1:?] OF maths_function; - final_function : maths_function_select; -DERIVE - SELF\multiple_arity_generic_expression.operands : LIST [2:?] of generic_expression - := convert_to_operands_prcmfn(source_of_domain, prep_functions, final_function); -WHERE - WR1: no_cyclic_domain_reference(source_of_domain, [SELF]); - WR2: expression_is_constant(domain_from(source_of_domain)); - WR3: parallel_composed_function_domain_check(domain_from(source_of_domain), - prep_functions); - WR4: parallel_composed_function_composability_check(prep_functions, final_function); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY series_composed_function - SUBTYPE OF (maths_function, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : LIST [2:?] of maths_function; -WHERE - WR1: composable_sequence(SELF\multiple_arity_generic_expression.operands); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY reindexed_array_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - starting_indices : LIST [1:?] OF INTEGER; -WHERE - WR1: function_is_array(SELF\unary_generic_expression.operand); - WR2: SIZEOF(starting_indices) = SIZEOF(shape_of_array( - SELF\unary_generic_expression.operand)); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY repackaging_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - input_repack : repackage_options; - output_repack : repackage_options; - selected_output : nonnegative_integer; -WHERE - WR1: (input_repack <> ro_wrap_as_tuple) OR - ((space_dimension(operand.domain) = 1) AND - ((schema_prefix + 'TUPLE_SPACE') IN TYPEOF (factor1(operand.domain)))); - WR2: (output_repack <> ro_unwrap_tuple) OR - ((space_dimension(operand.range) = 1) AND - ((schema_prefix + 'TUPLE_SPACE') IN TYPEOF (factor1(operand.range)))); - WR3: selected_output <= space_dimension( repackage( - operand.range, output_repack)); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY finite_space - SUBTYPE OF (maths_space, generic_literal); - members : SET OF maths_value; -WHERE - WR1: VALUE_UNIQUE(members); - WR2: SIZEOF (QUERY (expr <* QUERY (member <* members | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GENERIC_EXPRESSION' IN TYPEOF (member)) - | NOT expression_is_constant(expr))) = 0; - WR3: no_cyclic_space_reference(SELF, []); -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspected_shape_and_result_relationship - SUBTYPE OF(shape_representation_relationship); - SELF\representation_relationship.rep_1 : shape_representation; - SELF\representation_relationship.rep_2 : shape_data_quality_inspection_result_representation; - WHERE - WR1 : SIZEOF( - using_product_definition_of_shape_representation(SELF.rep_1) - * - bag_to_set(inspected_product_definition(SELF.rep_2)) - ) > 0; - WR2 : SELF.rep_1\representation.context_of_items :=: - SELF.rep_2\representation.context_of_items; - END_ENTITY; - -(* Implicit interfaced from: mesh_topology_schema *) -FUNCTION this_schema : STRING; - RETURN('MESH_TOPOLOGY_SCHEMA'); -END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_role (obj : role_select):object_role; - LOCAL - role_bag : BAG OF role_association := (USEDIN(obj, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + 'ITEM_WITH_ROLE')); - END_LOCAL; - - IF SIZEOF(role_bag) = 1 THEN - RETURN (role_bag[1].role); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_name_value (obj : name_attribute_select):label; - LOCAL - name_bag : BAG OF name_attribute := (USEDIN(obj, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + 'NAMED_ITEM')); - END_LOCAL; - - IF SIZEOF(name_bag) = 1 THEN - RETURN (name_bag[1].attribute_value); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: analysis_schema *) - FUNCTION temporal_spatial_domain_for_model (domain : numerical_model): BOOLEAN; - LOCAL - spatial_set : SET OF spatial_decomposition_of_numerical_model; - behavioural_set : SET OF behavioural_decomposition_of_numerical_model; - domains : SET OF numerical_model := []; - viewing : BAG OF view_relationship; - spatial_bag : BAG OF spatial_decomposition_of_numerical_model; - behavioural_bag : BAG OF behavioural_decomposition_of_numerical_model; - END_LOCAL; - - viewing := USEDIN(domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VIEW_RELATIONSHIP.VIEW'); - IF SIZEOF(viewing) > 0 THEN - RETURN (TRUE); - END_IF; - spatial_bag := USEDIN(domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPATIAL_DECOMPOSITION_OF_NUMERICAL_MODEL.PARTS'); - IF SIZEOF(spatial_bag) > 0 THEN - spatial_set := bag_to_set(spatial_bag); - REPEAT i := 1 TO HIINDEX(spatial_set); - domains := domains + spatial_set[i].whole; - END_REPEAT; - END_IF; - behavioural_bag := USEDIN(domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEHAVIOURAL_DECOMPOSITION_OF_NUMERICAL_MODEL.PARTS'); - IF SIZEOF(behavioural_bag) > 0 THEN - behavioural_set := bag_to_set(behavioural_bag); - REPEAT i := 1 TO HIINDEX(behavioural_set); - domains := domains + behavioural_set[i].whole; - END_REPEAT; - END_IF; - IF SIZEOF(domains) > 0 THEN - REPEAT i := 1 TO HIINDEX(domains); - IF temporal_spatial_domain_for_model(domains[i]) THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - END_IF; - RETURN (FALSE); - END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_id_value (obj : id_attribute_select):identifier; - LOCAL - id_bag : BAG OF id_attribute := (USEDIN(obj, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + 'IDENTIFIED_ITEM')); - END_LOCAL; - - IF SIZEOF(id_bag) = 1 THEN - RETURN (id_bag[1].attribute_value); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; -(* REFERENCE FROM (support_resource_schema); *) - FUNCTION bag_to_set (the_bag : BAG OF GENERIC:intype):SET OF GENERIC:intype; - LOCAL - the_set : SET OF GENERIC:intype := []; - END_LOCAL; - - IF SIZEOF(the_bag) > 0 THEN - REPEAT i := 1 TO HIINDEX(the_bag); - the_set := the_set + the_bag[i]; - END_REPEAT; - END_IF; - RETURN (the_set); - END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION expression_is_constant(expr : generic_expression) : BOOLEAN; - RETURN (bool(SIZEOF (free_variables_of (expr)) = 0)); -END_FUNCTION; -- expression_is_constant - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION bool(lgcl: LOGICAL) : BOOLEAN; - IF NOT EXISTS (lgcl) THEN RETURN (FALSE); END_IF; - IF lgcl <> TRUE THEN RETURN (FALSE); END_IF; - RETURN (TRUE); -END_FUNCTION; -- bool - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION free_variables_of(expr : generic_expression) : SET OF generic_variable; - LOCAL - typenames : SET OF STRING := stripped_typeof(expr); - result : SET OF generic_variable := []; - exprs : LIST OF generic_expression := []; - END_LOCAL; - IF 'GENERIC_LITERAL' IN typenames THEN - RETURN (result); - END_IF; - IF 'GENERIC_VARIABLE' IN typenames THEN - result := result + expr; - RETURN (result); - END_IF; - IF 'QUANTIFIER_EXPRESSION' IN typenames THEN - exprs := QUERY (ge <* expr\multiple_arity_generic_expression.operands | - NOT (ge IN expr\quantifier_expression.variables)); - REPEAT i := 1 TO SIZEOF (exprs); - result := result + free_variables_of (exprs[i]); - END_REPEAT; - REPEAT i := 1 TO SIZEOF (expr\quantifier_expression.variables); - result := result - expr\quantifier_expression.variables[i]; - END_REPEAT; - RETURN (result); - END_IF; - IF 'UNARY_GENERIC_EXPRESSION' IN typenames THEN - RETURN (free_variables_of (expr\unary_generic_expression.operand)); - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN typenames THEN - result := free_variables_of (expr\binary_generic_expression.operands[1]); - RETURN (result + free_variables_of (expr\binary_generic_expression.operands[2])); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN typenames THEN - REPEAT i := 1 TO SIZEOF (expr\multiple_arity_generic_expression.operands); - result := result + free_variables_of ( - expr\multiple_arity_generic_expression.operands[i]); - END_REPEAT; - RETURN (result); - END_IF; - -- In this case the subtype shall not contain any variable (see IP1 in - -- generic_expression). - RETURN (result); -END_FUNCTION; -- free_variables_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION stripped_typeof(arg : GENERIC:G) : SET OF STRING; - LOCAL - types : SET OF STRING := TYPEOF (arg); - stypes : SET OF STRING := []; - n : INTEGER := LENGTH (schema_prefix); - END_LOCAL; - REPEAT i := 1 TO SIZEOF (types); - IF types[i][1:n] = schema_prefix THEN - stypes := stypes + types[i][n+1:LENGTH(types[i])]; - ELSE - stypes := stypes + types[i]; - END_IF; - END_REPEAT; - RETURN (stypes); -END_FUNCTION; -- stripped_typeof - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION subspace_of_es(spc : maths_space; - es : elementary_space_enumerators) : LOGICAL; - LOCAL - types : SET OF STRING := stripped_typeof(spc); - END_LOCAL; - IF NOT EXISTS (spc) OR NOT EXISTS (es) THEN RETURN (FALSE); END_IF; - IF 'ELEMENTARY_SPACE' IN types THEN - RETURN (es_subspace_of_es(spc\elementary_space.space_id,es)); - END_IF; - IF 'FINITE_SPACE' IN types THEN - RETURN (all_members_of_es(spc\finite_space.members,es)); - END_IF; - CASE es OF - es_numbers : RETURN ( - ('FINITE_INTEGER_INTERVAL' IN types) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types) OR - ('INTEGER_INTERVAL_TO_MAX' IN types) OR - ('FINITE_REAL_INTERVAL' IN types) OR - ('REAL_INTERVAL_FROM_MIN' IN types) OR - ('REAL_INTERVAL_TO_MAX' IN types) OR - ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types) ); - es_complex_numbers : RETURN ( - ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types) ); - es_reals : RETURN ( - ('FINITE_REAL_INTERVAL' IN types) OR - ('REAL_INTERVAL_FROM_MIN' IN types) OR - ('REAL_INTERVAL_TO_MAX' IN types) ); - es_integers : RETURN ( - ('FINITE_INTEGER_INTERVAL' IN types) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types) OR - ('INTEGER_INTERVAL_TO_MAX' IN types) ); - es_logicals : RETURN (FALSE); - es_booleans : RETURN (FALSE); - es_strings : RETURN (FALSE); - es_binarys : RETURN (FALSE); - es_maths_spaces : RETURN (FALSE); - es_maths_functions : RETURN ('FUNCTION_SPACE' IN types); - es_generics : RETURN (TRUE); - END_CASE; - RETURN (UNKNOWN); -END_FUNCTION; -- subspace_of_es - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION es_subspace_of_es(es1, es2 : elementary_space_enumerators) : BOOLEAN; - IF NOT EXISTS (es1) OR NOT EXISTS (es2) THEN RETURN (FALSE); END_IF; - IF es1 = es2 THEN RETURN (TRUE); END_IF; - IF es2 = es_generics THEN RETURN (TRUE); END_IF; - IF (es1 = es_booleans) AND (es2 = es_logicals) THEN RETURN (TRUE); END_IF; - IF (es2 = es_numbers) AND ((es1 = es_complex_numbers) OR (es1 = es_reals) OR - (es1 = es_integers)) THEN RETURN (TRUE); END_IF; - RETURN (FALSE); -END_FUNCTION; -- es_subspace_of_es - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION all_members_of_es(sv : SET OF maths_value; - es : elementary_space_enumerators) : LOGICAL; - CONSTANT - base_types : SET OF STRING := ['NUMBER','COMPLEX_NUMBER_LITERAL','REAL', - 'INTEGER','LOGICAL','BOOLEAN','STRING','BINARY','MATHS_SPACE', - 'MATHS_FUNCTION','LIST','ELEMENTARY_SPACE_ENUMERATORS','ORDERING_TYPE', - 'LOWER_UPPER','SYMMETRY_TYPE','ELEMENTARY_FUNCTION_ENUMERATORS', - 'OPEN_CLOSED','SPACE_CONSTRAINT_TYPE','REPACKAGE_OPTIONS', - 'EXTENSION_OPTIONS']; - END_CONSTANT; - LOCAL - v : maths_value; - key_type : STRING := ''; - types : SET OF STRING; - ge : generic_expression; - cum : LOGICAL := TRUE; - vspc : maths_space; - END_LOCAL; - IF NOT EXISTS (sv) OR NOT EXISTS (es) THEN RETURN (FALSE); END_IF; - CASE es OF - es_numbers : key_type := 'NUMBER'; - es_complex_numbers : key_type := 'COMPLEX_NUMBER_LITERAL'; - es_reals : key_type := 'REAL'; - es_integers : key_type := 'INTEGER'; - es_logicals : key_type := 'LOGICAL'; - es_booleans : key_type := 'BOOLEAN'; - es_strings : key_type := 'STRING'; - es_binarys : key_type := 'BINARY'; - es_maths_spaces : key_type := 'MATHS_SPACE'; - es_maths_functions : key_type := 'MATHS_FUNCTION'; - es_generics : RETURN (TRUE); - END_CASE; - REPEAT i := 1 TO SIZEOF (sv); - IF NOT EXISTS (sv[i]) THEN RETURN (FALSE); END_IF; - v := simplify_maths_value(sv[i]); - types := stripped_typeof(v); - IF key_type IN types THEN SKIP; END_IF; - IF (es = es_numbers) AND ('COMPLEX_NUMBER_LITERAL' IN types) THEN SKIP; END_IF; - IF SIZEOF (base_types * types) > 0 THEN RETURN (FALSE); END_IF; - -- Must be a generic_expression which doesn't simplify and which is not a - ge := v; - IF has_values_space(ge) THEN - vspc := values_space_of(ge); - IF NOT subspace_of_es(vspc,es) THEN - IF NOT compatible_spaces(vspc,make_elementary_space(es)) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END_IF; - ELSE - cum := UNKNOWN; - END_IF; - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_maths_value(val : maths_value) : maths_value; - LOCAL - vtypes : SET OF STRING := stripped_typeof(val); - vlist : LIST OF maths_value; - nlist : LIST OF maths_value := []; - END_LOCAL; - IF 'GENERIC_EXPRESSION' IN vtypes THEN - RETURN (simplify_generic_expression(val)); - END_IF; - IF 'LIST' IN vtypes THEN - vlist := val; - REPEAT i := 1 TO SIZEOF (vlist); - INSERT (nlist, simplify_maths_value(vlist[i]), i-1); - END_REPEAT; - RETURN (convert_to_maths_value(nlist)); - END_IF; - RETURN (val); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_generic_expression(expr : generic_expression) : maths_value; - FUNCTION restore_unary(expr : unary_generic_expression; - opnd : generic_expression) : generic_expression; - expr.operand := opnd; - RETURN (expr); - END_FUNCTION; - FUNCTION restore_binary(expr : binary_generic_expression; - opd1, opd2 : generic_expression) : generic_expression; - expr.operands[1] := opd1; - expr.operands[2] := opd2; - RETURN (expr); - END_FUNCTION; - FUNCTION restore_mulary(expr : multiple_arity_generic_expression; - ops : LIST OF generic_expression) : generic_expression; - expr.operands := ops; - RETURN (expr); - END_FUNCTION; - FUNCTION make_number_literal(nmb : NUMBER) : generic_literal; - IF 'INTEGER' IN TYPEOF (nmb) THEN RETURN (make_int_literal(nmb)); END_IF; - RETURN (make_real_literal(nmb)); - END_FUNCTION; - LOCAL - types : SET OF STRING := stripped_typeof (expr); - v1, v2 : maths_value; - vlist : LIST OF maths_value := []; - op1, op2 : generic_expression; - oplist : LIST OF generic_expression := []; - opnds : LIST [2:?] OF generic_expression; - n, m : INTEGER; - finfun : maths_function_select; - boo : BOOLEAN; - str : STRING; - nmb : NUMBER; - END_LOCAL; - IF 'INT_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\int_literal.the_value)); - END_IF; - IF 'REAL_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\real_literal.the_value)); - END_IF; - IF 'BOOLEAN_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\boolean_literal.the_value)); - END_IF; - IF 'STRING_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\string_literal.the_value)); - END_IF; - IF 'COMPLEX_NUMBER_LITERAL' IN types THEN - RETURN (expr); - END_IF; - IF 'LOGICAL_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\logical_literal.lit_value)); - END_IF; - IF 'BINARY_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\binary_literal.lit_value)); - END_IF; - IF 'MATHS_ENUM_LITERAL' IN types THEN - RETURN (expr\maths_enum_literal.lit_value); - END_IF; - IF 'REAL_TUPLE_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\real_tuple_literal.lit_value)); - END_IF; - IF 'INTEGER_TUPLE_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\integer_tuple_literal.lit_value)); - END_IF; - IF 'ATOM_BASED_LITERAL' IN types THEN - RETURN (expr\atom_based_literal.lit_value); - END_IF; - IF 'MATHS_TUPLE_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\maths_tuple_literal.lit_value)); - END_IF; - IF 'MATHS_SPACE' IN types THEN - RETURN (simplify_maths_space(expr)); - END_IF; - IF 'FUNCTION_APPLICATION' IN types THEN - RETURN (simplify_function_application(expr)); - END_IF; - IF 'UNARY_GENERIC_EXPRESSION' IN types THEN - v1 := simplify_generic_expression(expr\unary_generic_expression.operand); - op1 := convert_to_operand(v1); - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN types THEN - v1 := simplify_generic_expression(expr\binary_generic_expression.operands[1]); - op1 := convert_to_operand(v1); - v2 := simplify_generic_expression(expr\binary_generic_expression.operands[2]); - op2 := convert_to_operand(v2); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN - opnds := expr\multiple_arity_generic_expression.operands; - REPEAT i := 1 TO SIZEOF (opnds); - v1 := simplify_generic_expression(opnds[i]); - INSERT (vlist, v1, i-1); - INSERT (oplist, convert_to_operand(v1), i-1); - END_REPEAT; - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN - v1 := vlist[1]; - n := SIZEOF (vlist); - finfun := vlist[n]; - REMOVE (vlist, n); - REMOVE (vlist, 1); - RETURN (make_parallel_composed_function(v1,vlist,finfun)); - END_IF; - IF ('ABS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ABS(v1))); - END_IF; - IF ('ACOS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ACOS(v1))); - END_IF; - IF 'AND_EXPRESSION' IN types THEN - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'BOOLEAN' IN TYPEOF (vlist[i]) THEN - boo := vlist[i]; - IF NOT boo THEN RETURN (convert_to_maths_value(FALSE)); END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(TRUE)); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('ASIN_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ASIN(v1))); - END_IF; - IF ('ATAN_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (ATAN(v1,v2))); - END_IF; - IF ('COMPARISON_EXPRESSION' IN types) AND ( - (('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2))) OR - (('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2))) OR - (('BOOLEAN' IN TYPEOF (v1)) AND ('BOOLEAN' IN TYPEOF (v2))) ) THEN - IF 'COMPARISON_EQUAL' IN types THEN boo := bool(v1 = v2); - ELSE IF 'COMPARISON_GREATER' IN types THEN boo := bool(v1 > v2); - ELSE IF 'COMPARISON_GREATER_EQUAL' IN types THEN boo := bool(v1 >= v2); - ELSE IF 'COMPARISON_LESS' IN types THEN boo := bool(v1 < v2); - ELSE IF 'COMPARISON_LESS_EQUAL' IN types THEN boo := bool(v1 <= v2); - ELSE IF 'COMPARISON_NOT_EQUAL' IN types THEN boo := bool(v1 <> v2); - ELSE IF 'LIKE_EXPRESSION' IN types THEN boo := bool(v1 LIKE v2); - ELSE RETURN (?); -- Unreachable - END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; - RETURN (convert_to_maths_value (boo)); - END_IF; - IF 'CONCAT_EXPRESSION' IN types THEN - str := ''; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'STRING' IN TYPEOF (vlist[i]) THEN - str := vlist[i] + str; - REMOVE (oplist, i); - ELSE IF LENGTH(str) > 0 THEN - INSERT (oplist, make_string_literal(str), i); - str := ''; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(str)); END_IF; - IF LENGTH(str) > 0 THEN INSERT (oplist, make_string_literal(str), 0); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('COS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (COS(v1))); - END_IF; - IF ('DIV_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 DIV v2)); - END_IF; - IF 'EQUALS_EXPRESSION' IN types THEN - opnds := expr\binary_generic_expression.operands; - RETURN (convert_to_maths_value (opnds[1] :=: opnds[2])); - END_IF; - IF ('EXP_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (EXP(v1))); - END_IF; - IF ('FORMAT_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (FORMAT(v1,v2))); - END_IF; - IF ('INDEX_EXPRESSION' IN types) AND - ('STRING' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - str := v1; n := v2; - RETURN (convert_to_maths_value (str[n])); - END_IF; - IF ('INT_VALUE_EXPRESSION' IN types) AND ('STRING' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (VALUE(v1))); - END_IF; - IF 'INTERVAL_EXPRESSION' IN types THEN - str := ''; - IF 'NUMBER' IN TYPEOF (vlist[1]) THEN str := 'NUMBER'; END_IF; - IF 'STRING' IN TYPEOF (vlist[1]) THEN str := 'STRING'; END_IF; - IF 'BOOLEAN' IN TYPEOF (vlist[1]) THEN str := 'BOOLEAN'; END_IF; - IF (LENGTH (str) > 0) AND (str IN TYPEOF (vlist[2])) AND - (str IN TYPEOF (vlist[3])) THEN - RETURN (convert_to_maths_value ({vlist[1] <= vlist[2] <= vlist[3]})); - END_IF; - END_IF; - IF ('LENGTH_EXPRESSION' IN types) AND ('STRING' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LENGTH(v1))); - END_IF; - IF ('LOG_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LOG(v1))); - END_IF; - IF ('LOG10_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LOG10(v1))); - END_IF; - IF ('LOG2_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LOG2(v1))); - END_IF; - IF 'MAXIMUM_EXPRESSION' IN types THEN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - IF boo THEN - IF nmb < vlist[i] THEN nmb := vlist[i]; END_IF; - ELSE - nmb := vlist[i]; boo := TRUE; - END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF boo THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - END_IF; - IF 'MINIMUM_EXPRESSION' IN types THEN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - IF boo THEN - IF nmb > vlist[i] THEN nmb := vlist[i]; END_IF; - ELSE - nmb := vlist[i]; boo := TRUE; - END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF boo THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - END_IF; - IF ('MINUS_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 - v2)); - END_IF; - IF ('MOD_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 MOD v2)); - END_IF; - IF 'MULT_EXPRESSION' IN types THEN - nmb := 1; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - nmb := nmb * vlist[i]; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF nmb <> 1 THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('NOT_EXPRESSION' IN types) AND ('BOOLEAN' IN TYPEOF (v1)) THEN - boo := v1; - RETURN (convert_to_maths_value (NOT(boo))); - END_IF; - IF ('ODD_EXPRESSION' IN types) AND ('INTEGER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ODD(v1))); - END_IF; - IF 'OR_EXPRESSION' IN types THEN - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'BOOLEAN' IN TYPEOF (vlist[i]) THEN - boo := vlist[i]; - IF boo THEN RETURN (convert_to_maths_value(TRUE)); END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(FALSE)); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF 'PLUS_EXPRESSION' IN types THEN - nmb := 0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - nmb := nmb + vlist[i]; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF nmb <> 0 THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('POWER_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 ** v2)); - END_IF; - IF ('SIN_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (SIN(v1))); - END_IF; - IF ('SLASH_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 / v2)); - END_IF; - IF ('SQUARE_ROOT_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (SQRT(v1))); - END_IF; - IF ('SUBSTRING_EXPRESSION' IN types) AND - ('STRING' IN TYPEOF (vlist[1])) AND ('NUMBER' IN TYPEOF (vlist[2])) AND - ('NUMBER' IN TYPEOF (vlist[3])) THEN - str := vlist[1]; n := vlist[2]; m := vlist[3]; - RETURN (convert_to_maths_value (str[n:m])); - END_IF; - IF ('TAN_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (TAN(v1))); - END_IF; - IF ('UNARY_MINUS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - nmb := v1; - RETURN (convert_to_maths_value (-nmb)); - END_IF; - IF ('VALUE_EXPRESSION' IN types) AND ('STRING' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (VALUE(v1))); - END_IF; - IF ('XOR_EXPRESSION' IN types) AND - ('BOOLEAN' IN TYPEOF (v1)) AND ('BOOLEAN' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 XOR v2)); - END_IF; - -- No special simplification defined, return same with simplified operands. - IF 'UNARY_GENERIC_EXPRESSION' IN types THEN - RETURN (restore_unary(expr,op1)); - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN types THEN - RETURN (restore_binary(expr,op1,op2)); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN - RETURN (restore_mulary(expr,oplist)); - END_IF; - -- Should be unreachable, but for safety, return unsimplified expression. - RETURN (expr); -END_FUNCTION; -- simplify_generic_expression - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_int_literal(lit_value : INTEGER) : int_literal; - RETURN (int_literal () - || literal_number(lit_value) - || simple_numeric_expression() - || numeric_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_int_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_real_literal(lit_value : REAL) : real_literal; - RETURN (real_literal () - || literal_number(lit_value) - || simple_numeric_expression() - || numeric_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_real_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_maths_value(val : GENERIC:G) : maths_value; - LOCAL - types : SET OF STRING := TYPEOF (val); - ival : maths_integer; - rval : maths_real; - nval : maths_number; - tfval : maths_boolean; - lval : maths_logical; - sval : maths_string; - bval : maths_binary; - tval : maths_tuple := the_empty_maths_tuple; - mval : maths_value; - END_LOCAL; - IF (schema_prefix + 'MATHS_VALUE') IN types THEN RETURN (val); END_IF; - IF 'INTEGER' IN types THEN ival := val; RETURN (ival); END_IF; - IF 'REAL' IN types THEN rval := val; RETURN (rval); END_IF; - IF 'NUMBER' IN types THEN nval := val; RETURN (nval); END_IF; - IF 'BOOLEAN' IN types THEN tfval := val; RETURN (tfval); END_IF; - IF 'LOGICAL' IN types THEN lval := val; RETURN (lval); END_IF; - IF 'STRING' IN types THEN sval := val; RETURN (sval); END_IF; - IF 'BINARY' IN types THEN bval := val; RETURN (bval); END_IF; - IF 'LIST' IN types THEN - REPEAT i := 1 TO SIZEOF (val); - mval := convert_to_maths_value (val[i]); - IF NOT EXISTS (mval) THEN RETURN (?); END_IF; - INSERT (tval, mval, i-1); - END_REPEAT; - RETURN (tval); - END_IF; - RETURN (?); -END_FUNCTION; -- convert_to_maths_value - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_maths_space(spc : maths_space) : maths_space; - LOCAL - stypes : SET OF STRING := stripped_typeof (spc); - sset : SET OF maths_value; - zset : SET OF maths_value := []; - zval : maths_value; - zspc : maths_space; - zallint : BOOLEAN := TRUE; - zint, zmin, zmax : INTEGER; - factors : LIST OF maths_space; - zfactors : LIST OF maths_space := []; - rspc : maths_space; - END_LOCAL; - IF 'FINITE_SPACE' IN stypes THEN - sset := spc\finite_space.members; - REPEAT i := 1 TO SIZEOF (sset); - zval := simplify_maths_value(sset[i]); - zset := zset + [zval]; - IF zallint AND ('INTEGER' IN TYPEOF (zval)) THEN - zint := zval; - IF i = 1 THEN - zmin := zint; - zmax := zint; - ELSE - IF zint < zmin THEN - zmin := zint; - END_IF; - IF zint > zmax THEN - zmax := zint; - END_IF; - END_IF; - ELSE - zallint := FALSE; - END_IF; - END_REPEAT; - IF zallint AND (SIZEOF(zset) = zmax-zmin+1) THEN - RETURN (make_finite_integer_interval(zmin,zmax)); - END_IF; - RETURN (make_finite_space(zset)); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN - zspc := simplify_maths_space(spc\uniform_product_space.base); - RETURN (make_uniform_product_space(zspc,spc\uniform_product_space.exponent)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN stypes THEN - factors := spc\listed_product_space.factors; - REPEAT i := 1 TO SIZEOF (factors); - INSERT (zfactors, simplify_maths_space(factors[i]), i-1); - END_REPEAT; - RETURN (make_listed_product_space(zfactors)); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN - zspc := simplify_maths_space(spc\extended_tuple_space.base); - rspc := simplify_maths_space(spc\extended_tuple_space.extender); - RETURN (make_extended_tuple_space(zspc,rspc)); - END_IF; - IF 'FUNCTION_SPACE' IN stypes THEN - zspc := simplify_maths_space(spc\function_space.domain_argument); - rspc := simplify_maths_space(spc\function_space.range_argument); - RETURN (make_function_space(spc\function_space.domain_constraint,zspc, - spc\function_space.range_constraint,rspc)); - END_IF; - RETURN (spc); -END_FUNCTION; -- simplify_maths_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_finite_integer_interval(min : INTEGER; - max : INTEGER) : finite_integer_interval; - RETURN (finite_integer_interval (min, max) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_finite_integer_interval - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_finite_space(members : SET OF maths_value) : finite_space; - RETURN (finite_space (members) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_finite_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_uniform_product_space(base : maths_space; - exponent : positive_integer) - : uniform_product_space; - RETURN (uniform_product_space (base, exponent) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_uniform_product_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_listed_product_space(factors : LIST OF maths_space) - : listed_product_space; - RETURN (listed_product_space (factors) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_listed_product_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_extended_tuple_space(base : product_space; - extender : maths_space) : extended_tuple_space; - RETURN (extended_tuple_space (base, extender) - || maths_space () - || generic_expression() - || generic_literal () - || simple_generic_expression() ); -END_FUNCTION; -- make_extended_tuple_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_function_space(domain_constraint : space_constraint_type; - domain_argument : maths_space; - range_constraint : space_constraint_type; - range_argument : maths_space) : function_space; - RETURN (function_space (domain_constraint, domain_argument, range_constraint, - range_argument) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_function_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_function_application(expr : function_application) : maths_value; - FUNCTION ctmv(x : GENERIC:G) : maths_value; - RETURN (convert_to_maths_value(x)); - END_FUNCTION; -- local abbreviation for convert_to_maths_value function - PROCEDURE parts( c : complex_number_literal; - VAR x, y : REAL); - x := c.real_part; y := c.imag_part; - END_PROCEDURE; -- parts - FUNCTION makec(x, y : REAL) : complex_number_literal; - RETURN (make_complex_number_literal(x,y)); - END_FUNCTION; -- local abbreviation for make_complex_number_literal function - FUNCTION good_t(v : maths_value; - tn : STRING) : BOOLEAN; - LOCAL - tpl : LIST OF maths_value; - END_LOCAL; - IF 'LIST' IN TYPEOF (v) THEN - tpl := v; - REPEAT i := 1 TO SIZEOF (tpl); - IF NOT (tn IN TYPEOF (tpl[i])) THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - RETURN (FALSE); - END_FUNCTION; -- good_t - CONSTANT - cnlit : STRING := schema_prefix + 'COMPLEX_NUMBER_LITERAL'; - END_CONSTANT; - LOCAL - types : SET OF STRING := stripped_typeof(expr.func); - ef_val : elementary_function_enumerators; - is_elementary : BOOLEAN := FALSE; - v, v1, v2, v3 : maths_value; - vlist : LIST OF maths_value := []; - gexpr : generic_expression; - pairs : SET [1:?] OF LIST [2:2] OF maths_value; - boo : BOOLEAN; - lgc, cum : LOGICAL; - j, k, n : INTEGER; - p, q, r, s, t, u : REAL; - str, st2 : STRING; - bin, bi2 : BINARY; - tpl, tp2 : LIST OF maths_value; - mem :SET OF maths_value := []; - END_LOCAL; - REPEAT i := 1 TO SIZEOF (expr.arguments); - v := simplify_maths_value(expr.arguments[i]); - INSERT (vlist, v, i-1); - END_REPEAT; - IF SIZEOF (vlist) >= 1 THEN v1 := vlist[1]; END_IF; - IF SIZEOF (vlist) >= 2 THEN v2 := vlist[2]; END_IF; - IF SIZEOF (vlist) >= 3 THEN v3 := vlist[3]; END_IF; - IF 'ELEMENTARY_FUNCTION_ENUMERATORS' IN types THEN - ef_val := expr.func; - is_elementary := TRUE; - END_IF; - IF 'ELEMENTARY_FUNCTION' IN types THEN - ef_val := expr.func\elementary_function.func_id; - is_elementary := TRUE; - END_IF; - IF is_elementary THEN - CASE ef_val OF - ef_and : BEGIN - cum := TRUE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'LOGICAL' IN TYPEOF (vlist[i]) THEN - lgc := vlist[i]; cum := cum AND lgc; - IF lgc = FALSE THEN RETURN (ctmv(FALSE)); END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(cum)); END_IF; - IF cum <> TRUE THEN INSERT (vlist, ctmv(cum), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_or : BEGIN - cum := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'LOGICAL' IN TYPEOF (vlist[i]) THEN - lgc := vlist[i]; cum := cum OR lgc; - IF lgc = TRUE THEN RETURN (ctmv(TRUE)); END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(cum)); END_IF; - IF cum <> FALSE THEN INSERT (vlist, ctmv(cum), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_not : - IF 'LOGICAL' IN TYPEOF (v1) THEN lgc := v1; RETURN (ctmv(NOT lgc)); END_IF; - ef_xor : BEGIN - IF 'LOGICAL' IN TYPEOF (v1) THEN - lgc := v1; - IF 'LOGICAL' IN TYPEOF (v2) THEN cum := v2; RETURN (ctmv(lgc XOR cum)); - ELSE IF lgc = FALSE THEN RETURN (ctmv(v2)); - ELSE IF lgc = UNKNOWN THEN RETURN (ctmv(UNKNOWN)); - ELSE RETURN (make_function_application(ef_not,[v2])); - END_IF; END_IF; END_IF; - ELSE IF 'LOGICAL' IN TYPEOF (v2) THEN - lgc := v2; - IF lgc = FALSE THEN RETURN (ctmv(v1)); - ELSE IF lgc = UNKNOWN THEN RETURN (ctmv(UNKNOWN)); - ELSE RETURN (make_function_application(ef_not,[v1])); - END_IF; END_IF; - END_IF; END_IF; - END; - ef_negate_i : - IF 'INTEGER' IN TYPEOF (v1) THEN j := v1; RETURN (ctmv(-j)); END_IF; - ef_add_i : BEGIN - j := 0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - k := vlist[i]; j := j + k; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF j <> 0 THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j - k)); - END_IF; - ef_multiply_i : BEGIN - j := 1; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - k := vlist[i]; j := j * k; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF j <> 1 THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_divide_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j DIV k)); - END_IF; - ef_mod_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j MOD k)); - END_IF; - ef_exponentiate_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; n := 1; - REPEAT i := 1 TO ABS(k); n := n * j; END_REPEAT; - IF k < 0 THEN n := 1 DIV n; END_IF; - RETURN (ctmv(n)); - END_IF; - ef_eq_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j = k)); - END_IF; - ef_ne_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j <> k)); - END_IF; - ef_gt_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j > k)); - END_IF; - ef_lt_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j < k)); - END_IF; - ef_ge_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j >= k)); - END_IF; - ef_le_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j <= k)); - END_IF; - ef_abs_i : - IF 'INTEGER' IN TYPEOF (v1) THEN j := v1; RETURN (ctmv(ABS(j))); END_IF; - ef_max_i : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - IF boo THEN k := vlist[i]; IF k > j THEN j := k; END_IF; - ELSE j := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF boo THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_min_i : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - IF boo THEN k := vlist[i]; IF k < j THEN j := k; END_IF; - ELSE j := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF boo THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - -- ef_if_i : combined with ef_if - ef_negate_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(-r)); END_IF; - ef_reciprocal_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(1.0/r)); END_IF; - ef_add_r : BEGIN - r := 0.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - s := vlist[i]; r := r + s; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF r <> 0.0 THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r - s)); - END_IF; - ef_multiply_r : BEGIN - r := 1.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - s := vlist[i]; r := r * s; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF r <> 1.0 THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_divide_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r / s)); - END_IF; - ef_mod_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; t := r/s; j := t DIV 1; - IF (t < 0.0) AND (j <> t) THEN j := j - 1; END_IF; - RETURN (ctmv(r - j * s)); - END_IF; - ef_exponentiate_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r ** s)); - END_IF; - ef_exponentiate_ri : - IF ('REAL' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - r := v1; k := v2; t := 1.0; - REPEAT i := 1 TO ABS(k); t := t * r; END_REPEAT; - IF k < 0 THEN t := 1.0/t; END_IF; - RETURN (ctmv(t)); - END_IF; - ef_eq_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r = s)); - END_IF; - ef_ne_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r <> s)); - END_IF; - ef_gt_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r > s)); - END_IF; - ef_lt_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r < s)); - END_IF; - ef_ge_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r >= s)); - END_IF; - ef_le_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r <= s)); - END_IF; - ef_abs_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(ABS(r))); END_IF; - ef_max_r : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - IF boo THEN s := vlist[i]; IF s > r THEN r := s; END_IF; - ELSE r := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF boo THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_min_r : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - IF boo THEN s := vlist[i]; IF s < r THEN r := s; END_IF; - ELSE r := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF boo THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_acos_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(ACOS(r))); END_IF; - ef_asin_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(ASIN(r))); END_IF; - ef_atan2_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(atan2(r,s))); - END_IF; - ef_cos_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(COS(r))); END_IF; - ef_exp_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(EXP(r))); END_IF; - ef_ln_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(LOG(r))); END_IF; - ef_log2_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(LOG2(r))); END_IF; - ef_log10_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(LOG10(r))); END_IF; - ef_sin_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(SIN(r))); END_IF; - ef_sqrt_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(SQRT(r))); END_IF; - ef_tan_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(TAN(r))); END_IF; - -- ef_if_r : combined with ef_if - ef_form_c : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (makec(r,s)); - END_IF; - ef_rpart_c : - IF cnlit IN TYPEOF (v1) THEN - RETURN (ctmv(v1\complex_number_literal.real_part)); - END_IF; - ef_ipart_c : - IF cnlit IN TYPEOF (v1) THEN - RETURN (ctmv(v1\complex_number_literal.imag_part)); - END_IF; - ef_negate_c : - IF cnlit IN TYPEOF (v1) THEN parts(v1,p,q); RETURN (makec(-p,-q)); END_IF; - ef_reciprocal_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := p*p + q*q; RETURN (makec(p/t,-q/t)); - END_IF; - ef_add_c : BEGIN - p := 0.0; q := 0.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF cnlit IN TYPEOF (vlist[i]) THEN - parts(vlist[i],r,s); p := p + r; q := q + s; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (makec(p,q)); END_IF; - IF p*p+q*q <> 0.0 THEN INSERT (vlist, makec(p,q), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); RETURN (makec(p-r,q-s)); - END_IF; - ef_multiply_c : BEGIN - p := 1.0; q := 0.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF cnlit IN TYPEOF (vlist[i]) THEN - parts(vlist[i],r,s); p := p*r-q*s; q := p*s+q*r; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (makec(p,q)); END_IF; - IF (p <> 1.0) OR (q <> 0.0) THEN INSERT (vlist, makec(p,q), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_divide_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); t := r*r+s*s; - RETURN (makec((p*r+q*s)/t,(q*r-p*s)/t)); - END_IF; - ef_exponentiate_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); t := 0.5*LOG(p*p+q*q); u := atan2(q,p); - p := r*t-s*u; q := r*u+s*t; r := EXP(p); - RETURN (makec(r*COS(q),r*SIN(q))); - END_IF; - ef_exponentiate_ci : - IF (cnlit IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - parts(v1,p,q); k := v2; r := 1.0; s := 0.0; - REPEAT i := 1 TO ABS(k); r := p*r-q*s; s := p*s+q*r; END_REPEAT; - IF k < 0 THEN t := r*r+s*s; r := r/t; s := -s/t; END_IF; - RETURN (makec(r,s)); - END_IF; - ef_eq_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); RETURN (ctmv((p = r) AND (q = s))); - END_IF; - ef_ne_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); RETURN (ctmv((p <> r) OR (q <> s))); - END_IF; - ef_conjugate_c : - IF cnlit IN TYPEOF (v1) THEN parts(v1,p,q); RETURN (makec(p,-q)); END_IF; - ef_abs_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (ctmv(SQRT(p*p+q*q))); - END_IF; - ef_arg_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (ctmv(atan2(q,p))); - END_IF; - ef_cos_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := 0.5*EXP(-q); u := 0.5*EXP(q); - RETURN (makec((t+u)*COS(p),(t-u)*SIN(p))); - END_IF; - ef_exp_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (makec(EXP(p)*COS(q),EXP(p)*SIN(q))); - END_IF; - ef_ln_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (makec(0.5*LOG(p*p+q*q),atan2(q,p))); - END_IF; - ef_sin_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := 0.5*EXP(-q); u := 0.5*EXP(q); - RETURN (makec((t+u)*SIN(p),(u-t)*COS(p))); - END_IF; - ef_sqrt_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := SQRT(SQRT(p*p+q*q)); u := 0.5*atan2(q,p); - RETURN (makec(t*COS(u),t*SIN(u))); - END_IF; - ef_tan_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := EXP(2.0*q) + EXP(-2.0*q) + 2.0*COS(2.0*p); - RETURN (makec(2.0*SIN(2.0*p)/t,(EXP(-2.0*q)-EXP(2.0*q))/t)); - END_IF; - -- ef_if_c : combined with ef_if - ef_subscript_s : - IF ('STRING' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - str := v1; k := v2; RETURN (ctmv(str[k])); - END_IF; - ef_eq_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str = st2)); - END_IF; - ef_ne_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str <> st2)); - END_IF; - ef_gt_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str > st2)); - END_IF; - ef_lt_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str < st2)); - END_IF; - ef_ge_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str >= st2)); - END_IF; - ef_le_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str <= st2)); - END_IF; - ef_subsequence_s : - IF ('STRING' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) AND - ('INTEGER' IN TYPEOF (v3)) THEN - str := v1; j := v2; k := v3; RETURN (ctmv(str[j:k])); - END_IF; - ef_concat_s : BEGIN - str := ''; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'STRING' IN TYPEOF (vlist[i]) THEN - st2 := vlist[i]; str := str + st2; - REMOVE (vlist, i); - ELSE IF str <> '' THEN - INSERT (vlist, ctmv(str), i); - str := ''; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(str)); END_IF; - IF str <> '' THEN INSERT (vlist, ctmv(str), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_size_s : - IF 'STRING' IN TYPEOF (v1) THEN str:=v1; RETURN (ctmv(LENGTH(str))); END_IF; - ef_format : - IF ('NUMBER' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - RETURN (ctmv(FORMAT(v1,v2))); - END_IF; - ef_value : - IF 'STRING' IN TYPEOF (v1) THEN str:=v1; RETURN (ctmv(VALUE(str))); END_IF; - ef_like : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - RETURN (ctmv(v1 LIKE v2)); - END_IF; - -- ef_if_s : combined with ef_if - ef_subscript_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - bin := v1; k := v2; RETURN (ctmv(bin[k])); - END_IF; - ef_eq_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin = bi2)); - END_IF; - ef_ne_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin <> bi2)); - END_IF; - ef_gt_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin > bi2)); - END_IF; - ef_lt_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin < bi2)); - END_IF; - ef_ge_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin >= bi2)); - END_IF; - ef_le_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin <= bi2)); - END_IF; - ef_subsequence_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) AND - ('INTEGER' IN TYPEOF (v3)) THEN - bin := v1; j := v2; k := v3; RETURN (ctmv(bin[j:k])); - END_IF; - ef_concat_b : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'BINARY' IN TYPEOF (vlist[i]) THEN - IF boo THEN bi2 := vlist[i]; bin := bin + bi2; - ELSE bin := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - ELSE IF boo THEN - INSERT (vlist, ctmv(bin), i); - boo := FALSE; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(bin)); END_IF; - IF boo THEN INSERT (vlist, ctmv(bin), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_size_b : - IF 'BINARY' IN TYPEOF (v1) THEN bin:=v1; RETURN (ctmv(BLENGTH(bin))); END_IF; - -- ef_if_b : combined with ef_if - ef_subscript_t : - IF ('LIST' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - tpl := v1; k := v2; RETURN (ctmv(tpl[k])); - END_IF; - ef_eq_t : - IF ('LIST' IN TYPEOF (v1)) AND ('LIST' IN TYPEOF (v2)) THEN - lgc := equal_maths_values(v1,v2); - IF lgc <> UNKNOWN THEN RETURN (ctmv(lgc)); END_IF; - END_IF; - ef_ne_t : - IF ('LIST' IN TYPEOF (v1)) AND ('LIST' IN TYPEOF (v2)) THEN - lgc := equal_maths_values(v1,v2); - IF lgc <> UNKNOWN THEN RETURN (ctmv(NOT lgc)); END_IF; - END_IF; - ef_concat_t : BEGIN - tpl := []; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'STRING' IN TYPEOF (vlist[i]) THEN - tp2 := vlist[i]; tpl := tpl + tp2; - REMOVE (vlist, i); - ELSE IF SIZEOF (tpl) <> 0 THEN - INSERT (vlist, ctmv(tpl), i); - tpl := []; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF SIZEOF (tpl) <> 0 THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_size_t : - IF 'LIST' IN TYPEOF (v1) THEN tpl:=v1; RETURN (ctmv(SIZEOF(tpl))); END_IF; - ef_entuple : - RETURN (ctmv(vlist)); - ef_detuple : -- This can have multiple outputs, but the expression only - -- denotes the first. - IF 'LIST' IN TYPEOF (v1) THEN tpl:=v1; RETURN (ctmv(tpl[1])); END_IF; - ef_insert : - IF ('LIST' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v3)) THEN - tpl := v1; k := v3; INSERT (tpl, v2, k); RETURN (ctmv(tpl)); - END_IF; - ef_remove : - IF ('LIST' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - tpl := v1; k := v2; REMOVE (tpl, k); RETURN (ctmv(tpl)); - END_IF; - -- ef_if_t : combined with ef_if - ef_sum_it : - IF good_t(v1,'INTEGER') THEN - tpl := v1; j := 0; - REPEAT i := 1 TO SIZEOF (tpl); j := j + tpl[i]; END_REPEAT; - RETURN (ctmv(j)); - END_IF; - ef_product_it : - IF good_t(v1,'INTEGER') THEN - tpl := v1; j := 1; - REPEAT i := 1 TO SIZEOF (tpl); j := j * tpl[i]; END_REPEAT; - RETURN (ctmv(j)); - END_IF; - ef_add_it : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF good_t(vlist[i],'INTEGER') THEN - IF NOT boo THEN tpl := vlist[i]; boo := TRUE; - ELSE - tp2 := vlist[i]; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT l := 1 TO SIZEOF (tpl); tpl[j] := tpl[j] + tp2[j]; END_REPEAT; - END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF boo THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_it : - IF good_t(v1,'INTEGER') AND good_t(v2,'INTEGER') THEN - tpl := v1; tp2 := v2; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := tpl[i] - tp2[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_scalar_mult_it : - IF ('INTEGER' IN TYPEOF (v1)) AND good_t(v2,'INTEGER') THEN - j := v1; tpl := v2; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := j * tpl[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_dot_prod_it : - IF good_t(v1,'INTEGER') AND good_t(v2,'INTEGER') THEN - tpl := v1; tp2 := v2; j := 0; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); j := j + tpl[i] * tp2[i]; END_REPEAT; - RETURN (ctmv(j)); - END_IF; - ef_sum_rt : - IF good_t(v1,'REAL') THEN - tpl := v1; r := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); r := r + tpl[i]; END_REPEAT; - RETURN (ctmv(r)); - END_IF; - ef_product_rt : - IF good_t(v1,'REAL') THEN - tpl := v1; r := 1.0; - REPEAT i := 1 TO SIZEOF (tpl); r := r * tpl[i]; END_REPEAT; - RETURN (ctmv(r)); - END_IF; - ef_add_rt : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF good_t(vlist[i],'REAL') THEN - IF NOT boo THEN tpl := vlist[i]; boo := TRUE; - ELSE - tp2 := vlist[i]; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT l := 1 TO SIZEOF (tpl); tpl[j] := tpl[j] + tp2[j]; END_REPEAT; - END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF boo THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_rt : - IF good_t(v1,'REAL') AND good_t(v2,'REAL') THEN - tpl := v1; tp2 := v2; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := tpl[i] - tp2[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_scalar_mult_rt : - IF ('REAL' IN TYPEOF (v1)) AND good_t(v2,'REAL') THEN - r := v1; tpl := v2; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := r * tpl[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_dot_prod_rt : - IF good_t(v1,'REAL') AND good_t(v2,'REAL') THEN - tpl := v1; tp2 := v2; r := 0; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); r := r + tpl[i] * tp2[i]; END_REPEAT; - RETURN (ctmv(r)); - END_IF; - ef_norm_rt : - IF good_t(v1,'REAL') THEN - tpl := v1; r := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); r := r + tpl[i]*tpl[i]; END_REPEAT; - RETURN (ctmv(SQRT(r))); - END_IF; - ef_sum_ct : - IF good_t(v1,cnlit) THEN - tpl := v1; p := 0.0; q := 0.0; - REPEAT i:=1 TO SIZEOF (tpl); parts(tpl[i],r,s); p:=p+r; q:=q+s; END_REPEAT; - RETURN (makec(p,q)); - END_IF; - ef_product_ct : - IF good_t(v1,cnlit) THEN - tpl := v1; p := 1.0; q := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],r,s); p := p*r-q*s; q := p*s+q*r; - END_REPEAT; - RETURN (makec(p,q)); - END_IF; - ef_add_ct : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF good_t(vlist[i],cnlit) THEN - IF NOT boo THEN tpl := vlist[i]; boo := TRUE; - ELSE - tp2 := vlist[i]; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT l := 1 TO SIZEOF (tpl); - parts(tpl[j],p,q); parts(tp2[j],r,s); tpl[j] := makec(p+r,q+s); - END_REPEAT; - END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF boo THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_ct : - IF good_t(v1,cnlit) AND good_t(v2,cnlit) THEN - tpl := v1; tp2 := v2; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],p,q); parts(tp2[i],r,s); tpl[i] := makec(p-r,q-s); - END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_scalar_mult_ct : - IF (cnlit IN TYPEOF (v1)) AND good_t(v2,cnlit) THEN - parts(v1,p,q); tpl := v2; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],r,s); tpl[i] := makec(p*r-q*s,p*s+q*r); - END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_dot_prod_ct : - IF good_t(v1,cnlit) AND good_t(v2,cnlit) THEN - tpl := v1; tp2 := v2; t := 0.0; u := 0.0; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],p,q); parts(tp2[i],r,s); t := t + p*r+q*s; u := u + q*r-p*s; - END_REPEAT; - RETURN (makec(t,u)); - END_IF; - ef_norm_ct : - IF good_t(v1,cnlit) THEN - tpl := v1; r := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); parts(tpl[i],p,q); r:=r+p*p+q*q; END_REPEAT; - RETURN (ctmv(SQRT(r))); - END_IF; - ef_if, ef_if_i, ef_if_r, ef_if_c, ef_if_s, ef_if_b, ef_if_t : - IF 'LOGICAL' IN TYPEOF (v1) THEN - lgc := v1; IF lgc THEN RETURN (v2); ELSE RETURN (v3); END_IF; - END_IF; - ef_ensemble : -- (mem + vlist) effectively converts list to set - RETURN (make_finite_space(mem + vlist)); - ef_member_of : - IF (schema_prefix + 'MATHS_SPACE') IN TYPEOF (v2) THEN - lgc := member_of(v1,v2); - IF lgc <> UNKNOWN THEN RETURN (ctmv(lgc)); END_IF; - END_IF; - END_CASE; - RETURN (make_function_application(expr.func,vlist)); - END_IF; - IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN types THEN - gexpr := substitute(expr.func\abstracted_expression_function.expr, - expr.func\quantifier_expression.variables,vlist); - RETURN (simplify_generic_expression(gexpr)); - END_IF; - IF 'FINITE_FUNCTION' IN types THEN - pairs := expr.func\finite_function.pairs; - REPEAT i := 1 TO SIZEOF (pairs); - IF equal_maths_values(vlist[1],pairs[i][1]) THEN - RETURN (simplify_maths_value(pairs[i][2])); - END_IF; - END_REPEAT; - RETURN (make_function_application(expr.func,vlist)); - END_IF; - RETURN (expr); -END_FUNCTION; -- simplify_function_application - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_complex_number_literal(rpart, ipart : REAL) : complex_number_literal; - RETURN (complex_number_literal (rpart, ipart) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_complex_number_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_function_application(afunction : maths_function_select; - arguments : LIST [1:?] OF maths_value) - : function_application; - RETURN (function_application (afunction, arguments) - || multiple_arity_generic_expression (convert_to_maths_function (afunction) + - convert_to_operands (arguments)) -- derived - || generic_expression() ); -END_FUNCTION; -- make_function_application - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_maths_function(func : maths_function_select) : maths_function; - LOCAL - efenum : elementary_function_enumerators; - mthfun : maths_function; - END_LOCAL; - IF (schema_prefix + 'MATHS_FUNCTION') IN TYPEOF (func) THEN - mthfun := func; - ELSE - efenum := func; - mthfun := make_elementary_function (efenum); - END_IF; - RETURN (mthfun); -END_FUNCTION; -- convert_to_maths_function - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_elementary_function(func_id : elementary_function_enumerators) - : elementary_function; - RETURN (elementary_function (func_id) - || maths_function() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_elementary_function - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_operands(values : AGGREGATE OF maths_value) - : LIST OF generic_expression; - LOCAL - operands : LIST OF generic_expression := []; - loc : INTEGER := 0; - END_LOCAL; - IF NOT EXISTS (values) THEN RETURN (?); END_IF; - REPEAT i := LOINDEX (values) TO HIINDEX (values); - INSERT (operands, convert_to_operand (values[i]), loc); - loc := loc + 1; - END_REPEAT; - RETURN (operands); -END_FUNCTION; -- convert_to_operands - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_operand(val : maths_value) : generic_expression; - LOCAL - types : SET OF STRING := stripped_typeof (val); - END_LOCAL; - -- Use intermediate variables of appropriate declared types to help the compilers. - IF 'GENERIC_EXPRESSION' IN types THEN RETURN (val); END_IF; - IF 'MATHS_ATOM' IN types THEN RETURN (convert_to_literal (val)); END_IF; - IF 'ATOM_BASED_VALUE' IN types THEN RETURN (make_atom_based_literal(val)); END_IF; - IF 'MATHS_TUPLE' IN types THEN RETURN (make_maths_tuple_literal(val)); END_IF; - -- Should be unreachable - RETURN (?); -END_FUNCTION; -- convert_to_operand - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_literal(val : maths_atom) : generic_literal; - LOCAL - types : SET OF STRING := TYPEOF (val); - END_LOCAL; - IF 'INTEGER' IN types THEN RETURN (make_int_literal (val)); END_IF; - IF 'REAL' IN types THEN RETURN (make_real_literal (val)); END_IF; - IF 'BOOLEAN' IN types THEN RETURN (make_boolean_literal (val)); END_IF; - IF 'STRING' IN types THEN RETURN (make_string_literal (val)); END_IF; - IF 'LOGICAL' IN types THEN RETURN (make_logical_literal (val)); END_IF; - IF 'BINARY' IN types THEN RETURN (make_binary_literal (val)); END_IF; - IF (schema_prefix + 'MATHS_ENUM_ATOM') IN types THEN - RETURN (make_maths_enum_literal (val)); - END_IF; - -- Should be unreachable - RETURN (?); -END_FUNCTION; -- convert_to_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_boolean_literal(lit_value : BOOLEAN) : boolean_literal; - RETURN (boolean_literal (lit_value) - || simple_boolean_expression() - || boolean_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_boolean_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_string_literal(lit_value : STRING) : string_literal; - RETURN (string_literal (lit_value) - || simple_string_expression() - || string_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_string_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_logical_literal(lit_value : LOGICAL) : logical_literal; - RETURN (logical_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_logical_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_binary_literal(lit_value : BINARY) : binary_literal; - RETURN (binary_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_binary_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_maths_enum_literal(lit_value : maths_enum_atom) : maths_enum_literal; - RETURN (maths_enum_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_maths_enum_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_atom_based_literal(lit_value : atom_based_value) : atom_based_literal; - RETURN (atom_based_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_atom_based_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_maths_tuple_literal(lit_value : LIST OF maths_value) - : maths_tuple_literal; - RETURN (maths_tuple_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_maths_tuple_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION atan2(y, x : REAL) : REAL; - LOCAL - r : REAL; - END_LOCAL; - IF (y = 0.0) AND (x = 0.0) THEN RETURN (?); END_IF; - r := atan(y,x); - IF x < 0.0 THEN - IF y < 0.0 THEN r := r - PI; - ELSE r := r + PI; END_IF; - END_IF; - RETURN (r); -END_FUNCTION; -- atan2 - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_maths_values(val1, val2 : maths_value) : LOGICAL; - FUNCTION mem_of_vs(val1, val2 : maths_value) : LOGICAL; - IF NOT has_values_space(val2) THEN RETURN (UNKNOWN); END_IF; - IF NOT member_of(val1,values_space_of(val2)) THEN RETURN (FALSE); END_IF; - RETURN (UNKNOWN); - END_FUNCTION; -- mem_of_vs - LOCAL - types1, types2 : SET OF STRING; - list1, list2 : LIST OF maths_value; - cum : LOGICAL := TRUE; - END_LOCAL; - IF NOT EXISTS (val1) OR NOT EXISTS (val2) THEN RETURN (FALSE); END_IF; - IF val1 = val2 THEN RETURN (TRUE); END_IF; - types1 := stripped_typeof (val1); - types2 := stripped_typeof (val2); - IF ('MATHS_ATOM' IN types1) OR ('COMPLEX_NUMBER_LITERAL' IN types1) THEN - IF 'MATHS_ATOM' IN types2 THEN RETURN (FALSE); END_IF; - IF 'COMPLEX_NUMBER_LITERAL' IN types2 THEN RETURN (FALSE); END_IF; - IF 'LIST' IN types2 THEN RETURN (FALSE); END_IF; - IF 'MATHS_SPACE' IN types2 THEN RETURN (FALSE); END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (FALSE); END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF ('MATHS_ATOM' IN types2) OR ('COMPLEX_NUMBER_LITERAL' IN types2) THEN - RETURN (equal_maths_values(val2,val1)); - END_IF; - IF 'LIST' IN types1 THEN - IF 'LIST' IN types2 THEN - list1 := val1; - list2 := val2; - IF SIZEOF (list1) <> SIZEOF (list2) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (list1); - cum := cum AND equal_maths_values (list1[i], list2[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'MATHS_SPACE' IN types2 THEN RETURN (FALSE); END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (FALSE); END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'LIST' IN types2 THEN RETURN (equal_maths_values(val2,val1)); END_IF; - IF 'MATHS_SPACE' IN types1 THEN - IF 'MATHS_SPACE' IN types2 THEN - RETURN (equal_maths_spaces(val1,val2)); - END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (FALSE); END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'MATHS_SPACE' IN types2 THEN RETURN (equal_maths_values(val2,val1)); END_IF; - IF 'MATHS_FUNCTION' IN types1 THEN - IF 'MATHS_FUNCTION' IN types2 THEN - RETURN (equal_maths_functions(val1,val2)); - END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (equal_maths_values(val2,val1)); END_IF; - IF ('GENERIC_EXPRESSION' IN types1) AND ('GENERIC_EXPRESSION' IN types2) THEN - IF NOT has_values_space(val1) OR NOT has_values_space(val2) THEN - RETURN (UNKNOWN); - END_IF; - IF NOT compatible_spaces(values_space_of(val1),values_space_of(val2)) THEN - RETURN (FALSE); - END_IF; - END_IF; - RETURN (UNKNOWN); -END_FUNCTION; -- equal_maths_values - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION has_values_space(expr : generic_expression) : BOOLEAN; - LOCAL - typenames : SET OF STRING := stripped_typeof (expr); - END_LOCAL; - IF 'EXPRESSION' IN typenames THEN - RETURN (bool(('NUMERIC_EXPRESSION' IN typenames) OR - ('STRING_EXPRESSION' IN typenames) OR - ('BOOLEAN_EXPRESSION' IN typenames))); - END_IF; - IF 'MATHS_FUNCTION' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'FUNCTION_APPLICATION' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_SPACE' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_VARIABLE' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'DEPENDENT_VARIABLE_DEFINITION' IN typenames THEN - RETURN (has_values_space (expr\unary_generic_expression.operand)); - END_IF; - IF 'COMPLEX_NUMBER_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'LOGICAL_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'BINARY_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_ENUM_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'REAL_TUPLE_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'INTEGER_TUPLE_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'ATOM_BASED_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_TUPLE_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'PARTIAL_DERIVATIVE_EXPRESSION' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'DEFINITE_INTEGRAL_EXPRESSION' IN typenames THEN - RETURN (TRUE); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- has_values_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION member_of(val : GENERIC:G; - spc : maths_space) : LOGICAL; - - -- Trivial function introduced to avoid NIST Fedex compiler error - FUNCTION fedex(val : AGGREGATE OF GENERIC:X; - i : INTEGER) : GENERIC:X; - RETURN (val[i]); - END_FUNCTION; -- fedex - - LOCAL - v : maths_value := simplify_maths_value (convert_to_maths_value (val)); - vtypes : SET OF STRING := stripped_typeof (v); - s : maths_space := simplify_maths_space (spc); - stypes : SET OF STRING := stripped_typeof (s); - tmp_int : INTEGER; - tmp_real : REAL; - tmp_cmplx : complex_number_literal; - lgcl, cum : LOGICAL; - vspc, sspc : maths_space; - smem : SET OF maths_value; - factors : LIST OF maths_space; - END_LOCAL; - IF NOT EXISTS (s) THEN - RETURN (FALSE); - END_IF; - IF NOT EXISTS (v) THEN - RETURN (s = the_generics); - END_IF; - IF ('GENERIC_EXPRESSION' IN vtypes) AND - NOT ('MATHS_SPACE' IN vtypes) AND - NOT ('MATHS_FUNCTION' IN vtypes) AND - NOT ('COMPLEX_NUMBER_LITERAL' IN vtypes) THEN - IF has_values_space (v) THEN - vspc := values_space_of (v); - IF subspace_of (vspc, s) THEN - RETURN (TRUE); - END_IF; - IF NOT compatible_spaces (vspc, s) THEN - RETURN (FALSE); - END_IF; - RETURN (UNKNOWN); - END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'ELEMENTARY_SPACE' IN stypes THEN - CASE s\elementary_space.space_id OF - es_numbers : RETURN (('NUMBER' IN vtypes) OR - ('COMPLEX_NUMBER_LITERAL' IN vtypes)); - es_complex_numbers : RETURN ('COMPLEX_NUMBER_LITERAL' IN vtypes); - es_reals : RETURN (('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes)); - es_integers : RETURN ('INTEGER' IN vtypes); - es_logicals : RETURN ('LOGICAL' IN vtypes); - es_booleans : RETURN ('BOOLEAN' IN vtypes); - es_strings : RETURN ('STRING' IN vtypes); - es_binarys : RETURN ('BINARY' IN vtypes); - es_maths_spaces : RETURN ('MATHS_SPACE' IN vtypes); - es_maths_functions : RETURN ('MATHS_FUNCTION' IN vtypes); - es_generics : RETURN (TRUE); - END_CASE; - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN stypes THEN - IF 'INTEGER' IN vtypes THEN - tmp_int := v; - RETURN ({s\finite_integer_interval.min <= tmp_int <= - s\finite_integer_interval.max}); - END_IF; - RETURN (FALSE); - END_IF; - IF 'INTEGER_INTERVAL_FROM_MIN' IN stypes THEN - IF 'INTEGER' IN vtypes THEN - tmp_int := v; - RETURN (s\integer_interval_from_min.min <= tmp_int); - END_IF; - RETURN (FALSE); - END_IF; - IF 'INTEGER_INTERVAL_TO_MAX' IN stypes THEN - IF 'INTEGER' IN vtypes THEN - tmp_int := v; - RETURN (tmp_int <= s\integer_interval_to_max.max); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_REAL_INTERVAL' IN stypes THEN - IF ('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes) THEN - tmp_real := v; - IF s\finite_real_interval.min_closure = closed THEN - IF s\finite_real_interval.max_closure = closed THEN - RETURN ({s\finite_real_interval.min <= tmp_real <= - s\finite_real_interval.max}); - ELSE - RETURN ({s\finite_real_interval.min <= tmp_real < - s\finite_real_interval.max}); - END_IF; - ELSE - IF s\finite_real_interval.max_closure = closed THEN - RETURN ({s\finite_real_interval.min < tmp_real <= - s\finite_real_interval.max}); - ELSE - RETURN ({s\finite_real_interval.min < tmp_real < - s\finite_real_interval.max}); - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_FROM_MIN' IN stypes THEN - IF ('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes) THEN - tmp_real := v; - IF s\real_interval_from_min.min_closure = closed THEN - RETURN (s\real_interval_from_min.min <= tmp_real); - ELSE - RETURN (s\real_interval_from_min.min < tmp_real); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_TO_MAX' IN stypes THEN - IF ('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes) THEN - tmp_real := v; - IF s\real_interval_to_max.max_closure = closed THEN - RETURN (tmp_real <= s\real_interval_to_max.max); - ELSE - RETURN (tmp_real < s\real_interval_to_max.max); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN stypes THEN - IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN - RETURN (member_of(v\complex_number_literal.real_part, - s\cartesian_complex_number_region.real_constraint) AND - member_of(v\complex_number_literal.imag_part, - s\cartesian_complex_number_region.imag_constraint)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN stypes THEN - IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN - tmp_cmplx := v; - tmp_cmplx.real_part := tmp_cmplx.real_part - - s\polar_complex_number_region.centre.real_part; - tmp_cmplx.imag_part := tmp_cmplx.imag_part - - s\polar_complex_number_region.centre.imag_part; - tmp_real := SQRT (tmp_cmplx.real_part**2 + tmp_cmplx.imag_part**2); - IF NOT member_of(tmp_real, - s\polar_complex_number_region.distance_constraint) THEN - RETURN (FALSE); - END_IF; - IF tmp_real = 0.0 THEN - RETURN (TRUE); -- The centre has no direction. - END_IF; - tmp_real := atan2(tmp_cmplx.imag_part,tmp_cmplx.real_part); - RETURN (member_of(tmp_real, - s\polar_complex_number_region.direction_constraint) OR - member_of(tmp_real + 2.0*PI, - s\polar_complex_number_region.direction_constraint)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_SPACE' IN stypes THEN - smem := s\finite_space.members; - cum := FALSE; - REPEAT i := 1 TO SIZEOF (smem); - cum := cum OR equal_maths_values(v,smem[i]); - IF cum = TRUE THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN - IF 'LIST' IN vtypes THEN - IF SIZEOF (v) = s\uniform_product_space.exponent THEN - sspc := s\uniform_product_space.base; - cum := TRUE; - REPEAT i := 1 TO SIZEOF (v); - cum := cum AND member_of(v[i],sspc); --- cum := cum AND member_of (fedex (v, i), sspc); - -- See note above for explanation of fedex() - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN stypes THEN - IF 'LIST' IN vtypes THEN - factors := s\listed_product_space.factors; - IF SIZEOF (v) = SIZEOF (factors) THEN - cum := TRUE; - REPEAT i := 1 TO SIZEOF (v); - cum := cum AND member_of(v[i],factors[i]); --- cum := cum AND member_of (fedex (v, i), factors[i]); - -- See note above for explanation of fedex() - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN - IF 'LIST' IN vtypes THEN - sspc := s\extended_tuple_space.base; - tmp_int := space_dimension(sspc); - IF SIZEOF (v) >= tmp_int THEN - cum := TRUE; - REPEAT i := 1 TO tmp_int; - cum := cum AND member_of(v[i],factor_space(sspc,i)); --- cum := cum AND member_of (fedex (v, i), factor_space (sspc, i)); - -- See note above for explanation of fedex() - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - sspc := s\extended_tuple_space.extender; - REPEAT i := tmp_int+1 TO SIZEOF (v); - cum := cum AND member_of(v[i],sspc); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN stypes THEN - IF 'MATHS_FUNCTION' IN vtypes THEN - vspc := v\maths_function.domain; - sspc := s\function_space.domain_argument; - CASE s\function_space.domain_constraint OF - sc_equal : cum := equal_maths_spaces (vspc, sspc); - sc_subspace : cum := subspace_of (vspc, sspc); - sc_member : cum := member_of (vspc, sspc); - END_CASE; - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - vspc := v\maths_function.range; - sspc := s\function_space.range_argument; - CASE s\function_space.range_constraint OF - sc_equal : cum := cum AND equal_maths_spaces (vspc, sspc); - sc_subspace : cum := cum AND subspace_of (vspc, sspc); - sc_member : cum := cum AND member_of (vspc, sspc); - END_CASE; - RETURN (cum); - END_IF; - RETURN (FALSE); - END_IF; - -- Should be unreachable - RETURN (UNKNOWN); -END_FUNCTION; -- member_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_elementary_space(space_id : elementary_space_enumerators) - : elementary_space; - RETURN (elementary_space (space_id) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_elementary_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION values_space_of(expr : generic_expression) : maths_space; - LOCAL - e_prefix : STRING := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; - typenames : SET OF STRING := TYPEOF (expr); - END_LOCAL; - IF (schema_prefix + 'MATHS_VARIABLE') IN typenames THEN - RETURN (expr\maths_variable.values_space); - END_IF; - IF (e_prefix + 'EXPRESSION') IN typenames THEN - IF (e_prefix + 'NUMERIC_EXPRESSION') IN typenames THEN - IF expr\numeric_expression.is_int THEN - IF (e_prefix + 'INT_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\int_literal.the_value])); - ELSE - RETURN (the_integers); - END_IF; - ELSE - IF (e_prefix + 'REAL_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\real_literal.the_value])); - ELSE - RETURN (the_reals); - END_IF; - END_IF; - END_IF; - IF (e_prefix + 'BOOLEAN_EXPRESSION') IN typenames THEN - IF (e_prefix + 'BOOLEAN_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\boolean_literal.the_value])); - ELSE - RETURN (the_booleans); - END_IF; - END_IF; - IF (e_prefix + 'STRING_EXPRESSION') IN typenames THEN - IF (e_prefix + 'STRING_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\string_literal.the_value])); - ELSE - RETURN (the_strings); - END_IF; - END_IF; - RETURN (?); -- unknown subtype of expression - END_IF; - IF (schema_prefix + 'MATHS_FUNCTION') IN typenames THEN - IF expression_is_constant (expr) THEN - RETURN (make_finite_space ([expr])); - ELSE - RETURN (make_function_space (sc_equal, expr\maths_function.domain, - sc_equal, expr\maths_function.range)); - END_IF; - END_IF; - IF (schema_prefix + 'FUNCTION_APPLICATION') IN typenames THEN - RETURN (expr\function_application.func.range); - END_IF; - IF (schema_prefix + 'MATHS_SPACE') IN typenames THEN - IF expression_is_constant (expr) THEN - RETURN (make_finite_space ([expr])); - ELSE - -- This case cannot occur in this version of the schema. - -- When it becomes possible, the subtypes should be analysed and - -- more finely defined spaces returned. - RETURN (make_elementary_space (es_maths_spaces)); - END_IF; - END_IF; - IF (schema_prefix + 'DEPENDENT_VARIABLE_DEFINITION') IN typenames THEN - RETURN (values_space_of (expr\unary_generic_expression.operand)); - END_IF; - IF (schema_prefix + 'COMPLEX_NUMBER_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr])); - END_IF; - IF (schema_prefix + 'LOGICAL_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\logical_literal.lit_value])); - END_IF; - IF (schema_prefix + 'BINARY_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\binary_literal.lit_value])); - END_IF; - IF (schema_prefix + 'MATHS_ENUM_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\maths_enum_literal.lit_value])); - END_IF; - IF (schema_prefix + 'REAL_TUPLE_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\real_tuple_literal.lit_value])); - END_IF; - IF (schema_prefix + 'INTEGER_TUPLE_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\integer_tuple_literal.lit_value])); - END_IF; - IF (schema_prefix + 'ATOM_BASED_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\atom_based_literal.lit_value])); - END_IF; - IF (schema_prefix + 'MATHS_TUPLE_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\maths_tuple_literal.lit_value])); - END_IF; - IF (schema_prefix + 'PARTIAL_DERIVATIVE_EXPRESSION') IN typenames THEN - RETURN (drop_numeric_constraints (values_space_of ( - expr\partial_derivative_expression.derivand))); - END_IF; - IF (schema_prefix + 'DEFINITE_INTEGRAL_EXPRESSION') IN typenames THEN - RETURN (drop_numeric_constraints (values_space_of ( - expr\definite_integral_expression.integrand))); - END_IF; - RETURN (?); -- not recognized as a mathematical expression -END_FUNCTION; -- values_space_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION drop_numeric_constraints(spc : maths_space) : maths_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(spc); - tspc : listed_product_space; - factors : LIST OF maths_space := []; - xspc : extended_tuple_space; - END_LOCAL; - IF 'UNIFORM_PRODUCT_SPACE' IN typenames THEN - RETURN (make_uniform_product_space (drop_numeric_constraints ( - spc\uniform_product_space.base), spc\uniform_product_space.exponent)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN typenames THEN - tspc := spc; - REPEAT i := 1 TO SIZEOF (tspc.factors); - INSERT (factors, drop_numeric_constraints (tspc.factors[i]), i-1); - END_REPEAT; - RETURN (make_listed_product_space (factors)); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN typenames THEN - xspc := spc; - RETURN (make_extended_tuple_space (drop_numeric_constraints (xspc.base), - drop_numeric_constraints (xspc.extender))); - END_IF; - IF subspace_of_es (spc, es_numbers) THEN - RETURN (number_superspace_of (spc)); - END_IF; - RETURN (spc); -END_FUNCTION; -- drop_numeric_constraints - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION number_superspace_of(spc : maths_space) : elementary_space; - IF subspace_of_es(spc,es_integers) THEN RETURN (the_integers); END_IF; - IF subspace_of_es(spc,es_reals) THEN RETURN (the_reals); END_IF; - IF subspace_of_es(spc,es_complex_numbers) THEN RETURN (the_complex_numbers); END_IF; - IF subspace_of_es(spc,es_numbers) THEN RETURN (the_numbers); END_IF; - RETURN (?); -END_FUNCTION; -- number_superspace_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION subspace_of(space1, space2 : maths_space) : LOGICAL; - LOCAL - spc1 : maths_space := simplify_maths_space(space1); - spc2 : maths_space := simplify_maths_space(space2); - types1 : SET OF STRING := stripped_typeof (spc1); - types2 : SET OF STRING := stripped_typeof (spc2); - lgcl, cum : LOGICAL; - es_val : elementary_space_enumerators; - bnd1, bnd2 : REAL; - n : INTEGER; - sp1, sp2 : maths_space; - prgn1, prgn2 : polar_complex_number_region; - aitv : finite_real_interval; - END_LOCAL; - IF NOT EXISTS (spc1) OR NOT EXISTS (spc2) THEN - RETURN (FALSE); - END_IF; - IF spc2 = the_generics THEN - RETURN (TRUE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types1 THEN - IF NOT ('ELEMENTARY_SPACE' IN types2) THEN - RETURN (FALSE); - END_IF; - es_val := spc2\elementary_space.space_id; - IF spc1\elementary_space.space_id = es_val THEN - RETURN (TRUE); - END_IF; - -- Note that the cases (spc2=the_generics) and (spc1=spc2) have been handled. - CASE spc1\elementary_space.space_id OF - es_numbers : RETURN (FALSE); - es_complex_numbers : RETURN (es_val = es_numbers); - es_reals : RETURN (es_val = es_numbers); - es_integers : RETURN (es_val = es_numbers); - es_logicals : RETURN (FALSE); - es_booleans : RETURN (es_val = es_logicals); - es_strings : RETURN (FALSE); - es_binarys : RETURN (FALSE); - es_maths_spaces : RETURN (FALSE); - es_maths_functions : RETURN (FALSE); - es_generics : RETURN (FALSE); - END_CASE; - -- Should be unreachable. - RETURN (UNKNOWN); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN types1 THEN - cum := TRUE; - REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max; - cum := cum AND member_of (i, spc2); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'INTEGER_INTERVAL_FROM_MIN' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_integers)); - END_IF; - IF 'INTEGER_INTERVAL_FROM_MIN' IN types2 THEN - RETURN (spc1\integer_interval_from_min.min>=spc2\integer_interval_from_min.min); - END_IF; - RETURN (FALSE); - END_IF; - IF 'INTEGER_INTERVAL_TO_MAX' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_integers)); - END_IF; - IF 'INTEGER_INTERVAL_TO_MAX' IN types2 THEN - RETURN (spc1\integer_interval_to_max.max <= spc2\integer_interval_to_max.max); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_REAL_INTERVAL' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_reals)); - END_IF; - IF ('FINITE_REAL_INTERVAL' IN types2) OR - ('REAL_INTERVAL_FROM_MIN' IN types2) OR - ('REAL_INTERVAL_TO_MAX' IN types2) THEN - IF min_exists (spc2) THEN - bnd1 := spc1\finite_real_interval.min; - bnd2 := real_min (spc2); - IF (bnd1 < bnd2) OR ((bnd1 = bnd2) AND min_included (spc1) AND NOT - min_included (spc2)) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF max_exists (spc2) THEN - bnd1 := spc1\finite_real_interval.max; - bnd2 := real_max (spc2); - IF (bnd1 > bnd2) OR ((bnd1 = bnd2) AND max_included (spc1) AND NOT - max_included (spc2)) THEN - RETURN (FALSE); - END_IF; - END_IF; - RETURN (TRUE); - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_FROM_MIN' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_reals)); - END_IF; - IF 'REAL_INTERVAL_FROM_MIN' IN types2 THEN - bnd1 := spc1\real_interval_from_min.min; - bnd2 := spc2\real_interval_from_min.min; - RETURN ((bnd2 < bnd1) OR ((bnd2 = bnd1) AND (min_included (spc2) OR - NOT min_included (spc1)))); - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_TO_MAX' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_reals)); - END_IF; - IF 'REAL_INTERVAL_TO_MAX' IN types2 THEN - bnd1 := spc1\real_interval_to_max.max; - bnd2 := spc2\real_interval_to_max.max; - RETURN ((bnd2 > bnd1) OR ((bnd2 = bnd1) AND (max_included (spc2) OR - NOT max_included (spc1)))); - END_IF; - RETURN (FALSE); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_complex_numbers)); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN - RETURN (subspace_of(spc1\cartesian_complex_number_region.real_constraint, - spc2\cartesian_complex_number_region.real_constraint) AND - subspace_of(spc1\cartesian_complex_number_region.imag_constraint, - spc2\cartesian_complex_number_region.imag_constraint)); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN - RETURN (subspace_of(enclose_cregion_in_pregion(spc1, - spc2\polar_complex_number_region.centre),spc2)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_complex_numbers)); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN - RETURN (subspace_of(enclose_pregion_in_cregion(spc1),spc2)); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN - prgn1 := spc1; - prgn2 := spc2; - IF prgn1.centre = prgn2.centre THEN - IF prgn2.direction_constraint.max > PI THEN - aitv := make_finite_real_interval(-PI,open,prgn2.direction_constraint.max - -2.0*PI,prgn2.direction_constraint.max_closure); - RETURN (subspace_of(prgn1.distance_constraint,prgn2.distance_constraint) - AND (subspace_of(prgn1.direction_constraint,prgn2.direction_constraint) - OR subspace_of(prgn1.direction_constraint,aitv))); - ELSE - RETURN (subspace_of(prgn1.distance_constraint,prgn2.distance_constraint) - AND subspace_of(prgn1.direction_constraint,prgn2.direction_constraint)); - END_IF; - END_IF; - RETURN (subspace_of(enclose_pregion_in_pregion(prgn1,prgn2.centre),prgn2)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_SPACE' IN types1 THEN - cum := TRUE; - REPEAT i := 1 TO SIZEOF (spc1\finite_space.members); - cum := cum AND member_of (spc1\finite_space.members[i], spc2); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'PRODUCT_SPACE' IN types1 THEN - IF 'PRODUCT_SPACE' IN types2 THEN - IF space_dimension (spc1) = space_dimension (spc2) THEN - cum := TRUE; - REPEAT i := 1 TO space_dimension (spc1); - cum := cum AND subspace_of (factor_space(spc1,i), factor_space(spc2,i)); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - IF space_dimension (spc1) >= space_dimension (spc2) THEN - cum := TRUE; - REPEAT i := 1 TO space_dimension (spc1); - cum := cum AND subspace_of (factor_space(spc1,i), factor_space(spc2,i)); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - n := space_dimension (spc1); - IF n < space_dimension (spc2) THEN - n := space_dimension (spc2); - END_IF; - cum := TRUE; - REPEAT i := 1 TO n+1; - cum := cum AND subspace_of (factor_space(spc1,i), factor_space(spc2,i)); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - RETURN (spc2\elementary_space.space_id = es_maths_functions); - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - cum := TRUE; - sp1 := spc1\function_space.domain_argument; - sp2 := spc2\function_space.domain_argument; - CASE spc1\function_space.domain_constraint OF - sc_equal : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : cum := cum AND equal_maths_spaces (sp1, sp2); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : cum := cum AND member_of (sp1, sp2); - END_CASE; - END; - sc_subspace : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : RETURN (FALSE); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : BEGIN - IF NOT member_of (sp1, sp2) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - END_CASE; - END; - sc_member : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : cum := cum AND space_is_singleton(sp1) AND - equal_maths_spaces(singleton_member_of(sp1),sp2); - sc_subspace : BEGIN - IF NOT member_of (sp2, sp1) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - sc_member : cum := cum AND (subspace_of (sp1, sp2)); - END_CASE; - END; - END_CASE; - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - sp1 := spc1\function_space.range_argument; - sp2 := spc2\function_space.range_argument; - CASE spc1\function_space.range_constraint OF - sc_equal : BEGIN - CASE spc2\function_space.range_constraint OF - sc_equal : cum := cum AND equal_maths_spaces (sp1, sp2); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : cum := cum AND member_of (sp1, sp2); - END_CASE; - END; - sc_subspace : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : RETURN (FALSE); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : BEGIN - IF NOT member_of (sp1, sp2) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - END_CASE; - END; - sc_member : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : cum := cum AND space_is_singleton(sp1) AND - equal_maths_spaces(singleton_member_of(sp1),sp2); - sc_subspace : BEGIN - IF NOT member_of (sp2, sp1) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - sc_member : cum := cum AND subspace_of (sp1, sp2); - END_CASE; - END; - END_CASE; - RETURN (cum); - END_IF; - RETURN (FALSE); - END_IF; - -- Should be unreachable - RETURN (UNKNOWN); -END_FUNCTION; -- subspace_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION real_min(spc : maths_space) : REAL; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) THEN - RETURN (spc\finite_integer_interval.min); - END_IF; - IF ((schema_prefix + 'INTEGER_INTERVAL_FROM_MIN') IN types) THEN - RETURN (spc\integer_interval_from_min.min); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (spc\finite_real_interval.min); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_FROM_MIN') IN types) THEN - RETURN (spc\real_interval_from_min.min); - END_IF; - RETURN (?); -END_FUNCTION; -- real_min - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION min_included(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_FROM_MIN') IN types) THEN - RETURN (TRUE); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (bool(spc\finite_real_interval.min_closure = closed)); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_FROM_MIN') IN types) THEN - RETURN (bool(spc\real_interval_from_min.min_closure = closed)); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- min_included - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION min_exists(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - RETURN (bool(((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_FROM_MIN') IN types) OR - ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) OR - ((schema_prefix + 'REAL_INTERVAL_FROM_MIN') IN types))); -END_FUNCTION; -- min_exists - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION real_max(spc : maths_space) : REAL; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) THEN - RETURN (spc\finite_integer_interval.max); - END_IF; - IF ((schema_prefix + 'INTEGER_INTERVAL_TO_MAX') IN types) THEN - RETURN (spc\integer_interval_to_max.max); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (spc\finite_real_interval.max); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_TO_MAX') IN types) THEN - RETURN (spc\real_interval_to_max.max); - END_IF; - RETURN (?); -END_FUNCTION; -- real_max - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION max_included(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_TO_MAX') IN types) THEN - RETURN (TRUE); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (bool(spc\finite_real_interval.max_closure = closed)); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_TO_MAX') IN types) THEN - RETURN (bool(spc\real_interval_to_max.max_closure = closed)); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- max_included - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION max_exists(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - RETURN (bool(((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_TO_MAX') IN types) OR - ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) OR - ((schema_prefix + 'REAL_INTERVAL_TO_MAX') IN types))); -END_FUNCTION; -- max_exists - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION enclose_cregion_in_pregion(crgn : cartesian_complex_number_region; - centre : complex_number_literal) - : polar_complex_number_region; - -- Find equivalent direction in range -PI < a <= PI. - FUNCTION angle(a : REAL) : REAL; - REPEAT WHILE a > PI; a := a - 2.0*PI; END_REPEAT; - REPEAT WHILE a <= -PI; a := a + 2.0*PI; END_REPEAT; - RETURN (a); - END_FUNCTION; - -- Determine whether a real is strictly within a real interval - FUNCTION strictly_in(z : REAL; - zitv : real_interval) : LOGICAL; - RETURN ((NOT min_exists(zitv) OR (z > real_min(zitv))) AND - (NOT max_exists(zitv) OR (z < real_max(zitv)))); - END_FUNCTION; - -- Include direction in minmax collection - PROCEDURE angle_minmax( ab, a : REAL; - a_in : BOOLEAN; - VAR amin, amax : REAL; - VAR amin_in, amax_in : BOOLEAN); - a := angle(a - ab); - IF amin = a THEN amin_in := amin_in OR a_in; END_IF; - IF amin > a THEN amin := a; amin_in := a_in; END_IF; - IF amax = a THEN amax_in := amax_in OR a_in; END_IF; - IF amax < a THEN amax := a; amax_in := a_in; END_IF; - END_PROCEDURE; - -- Include distance in max collection - PROCEDURE range_max( r : REAL; - incl : BOOLEAN; - VAR rmax : REAL; - VAR rmax_in : BOOLEAN); - IF rmax = r THEN rmax_in := rmax_in OR incl; END_IF; - IF rmax < r THEN rmax := r; rmax_in := incl; END_IF; - END_PROCEDURE; - -- Include distance in min collection - PROCEDURE range_min( r : REAL; - incl : BOOLEAN; - VAR rmin : REAL; - VAR rmin_in : BOOLEAN); - IF rmin = r THEN rmin_in := rmin_in OR incl; END_IF; - IF (rmin < 0.0) OR (rmin > r) THEN rmin := r; rmin_in := incl; END_IF; - END_PROCEDURE; - LOCAL - xitv, yitv : real_interval; - is_xmin, is_xmax, is_ymin, is_ymax : BOOLEAN; - xmin, xmax, ymin, ymax, xc, yc : REAL := 0.0; - xmin_in, xmax_in, ymin_in, ymax_in : BOOLEAN := FALSE; - rmin, rmax : REAL := -1.0; - amin : REAL := 4.0; - amax : REAL := -4.0; - rmax_exists, outside : BOOLEAN := TRUE; - rmin_in, rmax_in, amin_in, amax_in : BOOLEAN := FALSE; - ab, a, r : REAL := 0.0; - incl : BOOLEAN; - ritv : real_interval; - aitv : finite_real_interval; - minclo, maxclo : open_closed := open; - END_LOCAL; - IF NOT EXISTS (crgn) OR NOT EXISTS (centre) THEN RETURN (?); END_IF; - -- Extract elementary input information - xitv := crgn.real_constraint; - yitv := crgn.imag_constraint; - xc := centre.real_part; - yc := centre.imag_part; - is_xmin := min_exists(xitv); - is_xmax := max_exists(xitv); - is_ymin := min_exists(yitv); - is_ymax := max_exists(yitv); - IF is_xmin THEN xmin := real_min(xitv); xmin_in := min_included(xitv); END_IF; - IF is_xmax THEN xmax := real_max(xitv); xmax_in := max_included(xitv); END_IF; - IF is_ymin THEN ymin := real_min(yitv); ymin_in := min_included(yitv); END_IF; - IF is_ymax THEN ymax := real_max(yitv); ymax_in := max_included(yitv); END_IF; - rmax_exists := is_xmin AND is_xmax AND is_ymin AND is_ymax; - -- Identify base direction with respect to which all relevant directions lie - -- within +/- 0.5*PI, or that the centre lies properly inside crgn. - IF is_xmin AND (xc <= xmin) THEN ab := 0.0; - ELSE IF is_ymin AND (yc <= ymin) THEN ab := 0.5*PI; - ELSE IF is_ymax AND (yc >= ymax) THEN ab := -0.5*PI; - ELSE IF is_xmax AND (xc >= xmax) THEN ab := PI; - ELSE outside := FALSE; - END_IF; END_IF; END_IF; END_IF; - IF NOT outside AND NOT rmax_exists THEN - RETURN (?); -- No enclosing polar region exists (requires whole plane) - END_IF; - -- Identify any closest point on a side but not a corner. - IF is_xmin AND (xc <= xmin) AND strictly_in(yc,yitv) THEN - rmin := xmin - xc; rmin_in := xmin_in; - ELSE IF is_ymin AND (yc <= ymin) AND strictly_in(xc,xitv) THEN - rmin := ymin - yc; rmin_in := ymin_in; - ELSE IF is_ymax AND (yc >= ymax) AND strictly_in(xc,xitv) THEN - rmin := yc - ymax; rmin_in := ymax_in; - ELSE IF is_xmax AND (xc >= xmax) AND strictly_in(yc,yitv) THEN - rmin := xc - xmax; rmin_in := xmax_in; - END_IF; END_IF; END_IF; END_IF; - IF is_xmin THEN - IF is_ymin THEN -- Consider lower left corner - r := SQRT((xmin-xc)**2 + (ymin-yc)**2); - incl := xmin_in AND ymin_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymin-yc,xmin-xc) - ab); - IF xc = xmin THEN incl := xmin_in; END_IF; - IF yc = ymin THEN incl := ymin_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower left corner - rmin := 0.0; rmin_in := xmin_in AND ymin_in; - amin := angle(0.0-ab); amin_in := ymin_in; - amax := angle(0.5*PI-ab); amax_in := xmin_in; - END_IF; - END_IF; - ELSE IF xc <= xmin THEN -- Consider points near (xmin, -infinity) - angle_minmax(ab,-0.5*PI,(xc=xmin) AND xmin_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_ymax AND (xc <= xmin) THEN -- Consider points near (xmin, +infinity) - angle_minmax(ab,0.5*PI,(xc=xmin) AND xmin_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF is_ymin THEN - IF is_xmax THEN -- Consider lower right corner - r := SQRT((xmax-xc)**2 + (ymin-yc)**2); - incl := xmax_in AND ymin_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymin-yc,xmax-xc) - ab); - IF xc = xmax THEN incl := xmax_in; END_IF; - IF yc = ymin THEN incl := ymin_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower right corner - rmin := 0.0; rmin_in := xmax_in AND ymin_in; - amin := angle(0.5*PI-ab); amin_in := ymin_in; - amax := angle(PI-ab); amax_in := xmax_in; - END_IF; - END_IF; - ELSE IF yc <= ymin THEN -- Consider points near (+infinity, ymin) - angle_minmax(ab,0.0,(yc=ymin) AND ymin_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_xmin AND (yc <= ymin) THEN -- Consider points near (-infinity, ymin) - angle_minmax(ab,PI,(yc=ymin) AND ymin_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF is_xmax THEN - IF is_ymax THEN -- Consider upper right corner - r := SQRT((xmax-xc)**2 + (ymax-yc)**2); - incl := xmax_in AND ymax_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymax-yc,xmax-xc) - ab); - IF xc = xmax THEN incl := xmax_in; END_IF; - IF yc = ymax THEN incl := ymax_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower left corner - rmin := 0.0; rmin_in := xmax_in AND ymax_in; - amin := angle(-PI-ab); amin_in := ymax_in; - amax := angle(-0.5*PI-ab); amax_in := xmax_in; - END_IF; - END_IF; - ELSE IF xc >= xmax THEN -- Consider points near (xmax, +infinity) - angle_minmax(ab,0.5*PI,(xc=xmax) AND xmax_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_ymin AND (xc >= xmax) THEN -- Consider points near (xmax, -infinity) - angle_minmax(ab,-0.5*PI,(xc=xmax) AND xmax_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF is_ymax THEN - IF is_xmin THEN -- Consider upper left corner - r := SQRT((xmin-xc)**2 + (ymax-yc)**2); - incl := xmin_in AND ymax_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymax-yc,xmin-xc) - ab); - IF xc = xmin THEN incl := xmin_in; END_IF; - IF yc = ymax THEN incl := ymax_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower right corner - rmin := 0.0; rmin_in := xmin_in AND ymax_in; - amin := angle(0.5*PI-ab); amin_in := ymax_in; - amax := angle(PI-ab); amax_in := xmin_in; - END_IF; - END_IF; - ELSE IF yc >= ymax THEN -- Consider points near (-infinity, ymax) - angle_minmax(ab,PI,(yc=ymax) AND ymax_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_xmax AND (yc >= ymax) THEN -- Consider points near (+infinity, ymax) - angle_minmax(ab,0.0,(yc=ymax) AND ymax_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF outside THEN -- Change direction origin from ab back to zero - amin := angle(amin+ab); - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(amax+ab); - IF amax <= amin THEN amax := amax + 2.0*PI; END_IF; - ELSE - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := FALSE; - END_IF; - IF amin_in THEN minclo := closed; END_IF; - IF amax_in THEN maxclo := closed; END_IF; - aitv := make_finite_real_interval(amin,minclo,amax,maxclo); - minclo := open; - IF rmin_in THEN minclo := closed; END_IF; - IF rmax_exists THEN - maxclo := open; - IF rmax_in THEN maxclo := closed; END_IF; - ritv := make_finite_real_interval(rmin,minclo,rmax,maxclo); - ELSE - ritv := make_real_interval_from_min(rmin,minclo); - END_IF; - RETURN (make_polar_complex_number_region(centre,ritv,aitv)); -END_FUNCTION; -- enclose_cregion_in_pregion - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_finite_real_interval(min : REAL; - minclo : open_closed; - max : REAL; - maxclo : open_closed) : finite_real_interval; - RETURN (finite_real_interval (min, minclo, max, maxclo) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_finite_real_interval - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_real_interval_from_min(min : REAL; - minclo : open_closed) : real_interval_from_min; - RETURN (real_interval_from_min (min, minclo) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_real_interval_from_min - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_polar_complex_number_region(centre : complex_number_literal; - dis_constraint : real_interval; - dir_constraint : finite_real_interval) - : polar_complex_number_region; - RETURN (polar_complex_number_region (centre, dis_constraint, dir_constraint) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_polar_complex_number_region - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION enclose_pregion_in_cregion(prgn : polar_complex_number_region) - : cartesian_complex_number_region; - PROCEDURE nearest_good_direction(acart : REAL; - aitv : finite_real_interval; - VAR a : REAL; - VAR a_in : BOOLEAN); - a := acart; a_in := TRUE; - IF a < aitv.min THEN - -- a+2.0*PI > aitv.min automatically! - IF a+2.0*PI < aitv.max THEN RETURN; END_IF; - IF a+2.0*PI = aitv.max THEN a_in := max_included(aitv); RETURN; END_IF; - ELSE IF a = aitv.min THEN a_in := min_included(aitv); RETURN; - ELSE IF a < aitv.max THEN RETURN; - ELSE IF a = aitv.max THEN a_in := max_included(aitv); RETURN; - END_IF; END_IF; END_IF; END_IF; - IF COS(acart - aitv.max) >= COS(acart - aitv.min) THEN - a := aitv.max; a_in := max_included(aitv); - ELSE - a := aitv.min; a_in := min_included(aitv); - END_IF; - END_PROCEDURE; - LOCAL - xc, yc, xmin, xmax, ymin, ymax : REAL := 0.0; - ritv, xitv, yitv : real_interval; - aitv : finite_real_interval; - xmin_exists, xmax_exists, ymin_exists, ymax_exists : BOOLEAN; - xmin_in, xmax_in, ymin_in, ymax_in : BOOLEAN := FALSE; - a, r : REAL := 0.0; - a_in : BOOLEAN := FALSE; - min_clo, max_clo : open_closed := open; - END_LOCAL; - IF NOT EXISTS (prgn) THEN RETURN (?); END_IF; - -- Extract elementary input data - xc := prgn.centre.real_part; - yc := prgn.centre.imag_part; - ritv := prgn.distance_constraint; - aitv := prgn.direction_constraint; - -- Determine xmin data - nearest_good_direction(PI,aitv,a,a_in); - IF COS(a) >= 0.0 THEN - xmin_exists := TRUE; - xmin := xc + real_min(ritv)*COS(a); - xmin_in := a_in AND (min_included(ritv) OR (COS(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - xmin_exists := TRUE; - xmin := xc + real_max(ritv)*COS(a); - xmin_in := a_in AND max_included(ritv); - ELSE - xmin_exists := FALSE; - END_IF; - END_IF; - -- Determine xmax data - nearest_good_direction(0.0,aitv,a,a_in); - IF COS(a) <= 0.0 THEN - xmax_exists := TRUE; - xmax := xc + real_min(ritv)*COS(a); - xmax_in := a_in AND (min_included(ritv) OR (COS(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - xmax_exists := TRUE; - xmax := xc + real_max(ritv)*COS(a); - xmax_in := a_in AND max_included(ritv); - ELSE - xmax_exists := FALSE; - END_IF; - END_IF; - -- Determine ymin data - nearest_good_direction(-0.5*PI,aitv,a,a_in); - IF SIN(a) >= 0.0 THEN - ymin_exists := TRUE; - ymin := yc + real_min(ritv)*SIN(a); - ymin_in := a_in AND (min_included(ritv) OR (SIN(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - ymin_exists := TRUE; - ymin := yc + real_max(ritv)*SIN(a); - ymin_in := a_in AND max_included(ritv); - ELSE - ymin_exists := FALSE; - END_IF; - END_IF; - -- Determine ymax data - nearest_good_direction(0.5*PI,aitv,a,a_in); - IF SIN(a) <= 0.0 THEN - ymax_exists := TRUE; - ymax := yc + real_min(ritv)*SIN(a); - ymax_in := a_in AND (min_included(ritv) OR (SIN(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - ymax_exists := TRUE; - ymax := yc + real_max(ritv)*SIN(a); - ymax_in := a_in AND max_included(ritv); - ELSE - ymax_exists := FALSE; - END_IF; - END_IF; - -- Construct result - IF NOT (xmin_exists OR xmax_exists OR ymin_exists OR ymax_exists) THEN - RETURN (?); -- No finite boundaries exist - END_IF; - -- Construct real_constraint - IF xmin_exists THEN - IF xmin_in THEN min_clo := closed; ELSE min_clo := open; END_IF; - IF xmax_exists THEN - IF xmax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - xitv := make_finite_real_interval(xmin,min_clo,xmax,max_clo); - ELSE - xitv := make_real_interval_from_min(xmin,min_clo); - END_IF; - ELSE - IF xmax_exists THEN - IF xmax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - xitv := make_real_interval_to_max(xmax,max_clo); - ELSE - xitv := the_reals; - END_IF; - END_IF; - -- Construct imag_constraint - IF ymin_exists THEN - IF ymin_in THEN min_clo := closed; ELSE min_clo := open; END_IF; - IF ymax_exists THEN - IF ymax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - yitv := make_finite_real_interval(ymin,min_clo,ymax,max_clo); - ELSE - yitv := make_real_interval_from_min(ymin,min_clo); - END_IF; - ELSE - IF ymax_exists THEN - IF ymax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - yitv := make_real_interval_to_max(ymax,max_clo); - ELSE - yitv := the_reals; - END_IF; - END_IF; - -- Construct cartesian region - RETURN (make_cartesian_complex_number_region(xitv,yitv)); -END_FUNCTION; -- enclose_pregion_in_cregion - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_real_interval_to_max(max : REAL; - maxclo : open_closed) : real_interval_to_max; - RETURN (real_interval_to_max (max, maxclo) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_real_interval_to_max - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_cartesian_complex_number_region(real_constraint : real_interval; - imag_constraint : real_interval) - : cartesian_complex_number_region; - RETURN (cartesian_complex_number_region (real_constraint, imag_constraint) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_cartesian_complex_number_region - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION enclose_pregion_in_pregion(prgn : polar_complex_number_region; - centre : complex_number_literal) - : polar_complex_number_region; - -- Find equivalent direction in range -PI < a <= PI. - FUNCTION angle(a : REAL) : REAL; - REPEAT WHILE a > PI; a := a - 2.0*PI; END_REPEAT; - REPEAT WHILE a <= -PI; a := a + 2.0*PI; END_REPEAT; - RETURN (a); - END_FUNCTION; - -- Find proper limits for direction interval - PROCEDURE angle_range(VAR amin, amax : REAL); - amin := angle(amin); - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(amax); - IF amax <= amin THEN amax := amax + 2.0*PI; END_IF; - END_PROCEDURE; - -- Determine whether a direction is strictly within a direction interval - FUNCTION strictly_in(a : REAL; - aitv : finite_real_interval) : LOGICAL; - a := angle(a); - RETURN ({aitv.min < a < aitv.max} OR {aitv.min < a+2.0*PI < aitv.max}); - END_FUNCTION; - -- Find min and max and related inclusion booleans among four candidates, - -- using a base direction chosen to ensure the algebraic comparisons are valid. - PROCEDURE find_aminmax( ab,a0,a1,a2,a3 : REAL; - in0,in1,in2,in3 : BOOLEAN; - VAR amin,amax : REAL; - VAR amin_in,amax_in : BOOLEAN); - LOCAL - a : REAL; - END_LOCAL; - amin := angle(a0-ab); amin_in := in0; - amax := amin; amax_in := in0; - a := angle(a1-ab); - IF a = amin THEN amin_in := amin_in OR in1; END_IF; - IF a < amin THEN amin := a; amin_in := in1; END_IF; - IF a = amax THEN amax_in := amax_in OR in1; END_IF; - IF a > amax THEN amax := a; amax_in := in1; END_IF; - a := angle(a2-ab); - IF a = amin THEN amin_in := amin_in OR in2; END_IF; - IF a < amin THEN amin := a; amin_in := in2; END_IF; - IF a = amax THEN amax_in := amax_in OR in2; END_IF; - IF a > amax THEN amax := a; amax_in := in2; END_IF; - a := angle(a3-ab); - IF a = amin THEN amin_in := amin_in OR in3; END_IF; - IF a < amin THEN amin := a; amin_in := in3; END_IF; - IF a = amax THEN amax_in := amax_in OR in3; END_IF; - IF a > amax THEN amax := a; amax_in := in3; END_IF; - amin := amin+ab; - amax := amax+ab; - angle_range(amin,amax); - END_PROCEDURE; - - LOCAL - ritp, ritv : real_interval; - aitp, aitv : finite_real_interval; - xp, yp, xc, yc, rmax, rmin, amin, amax, rc, acp, apc : REAL := 0.0; - rmax_in, rmin_in, amin_in, amax_in : BOOLEAN := FALSE; - rmxp, rmnp, x, y, r, a, ab, r0, a0, r1, a1, r2, a2, r3, a3 : REAL := 0.0; - in0, in1, in2, in3, inn : BOOLEAN := FALSE; - minclo, maxclo : open_closed := open; - END_LOCAL; - -- Extract elementary input information - IF NOT EXISTS (prgn) OR NOT EXISTS (centre) THEN RETURN (?); END_IF; - xp := prgn.centre.real_part; - yp := prgn.centre.imag_part; - ritp := prgn.distance_constraint; - aitp := prgn.direction_constraint; - xc := centre.real_part; - yc := centre.imag_part; - IF (xc = xp) AND (yc = yp) THEN RETURN (prgn); END_IF; - rc := SQRT((xp-xc)**2 + (yp-yc)**2); - acp := atan2(yp-yc,xp-xc); - apc := atan2(yc-yp,xc-xp); - rmnp := real_min(ritp); - -- Analyse cases by existence of max distance and direction limits - IF max_exists(ritp) THEN - rmxp := real_max(ritp); - IF aitp.max - aitp.min = 2.0*PI THEN - -- annulus or disk, with or without slot or puncture - inn := NOT max_included(aitp); -- slot exists; - a := angle(aitp.min); -- slot direction - rmax := rc+rmxp; rmax_in := max_included(ritp); - IF inn AND (acp = a) THEN rmax_in := FALSE; END_IF; - IF rc > rmxp THEN - a0 := ASIN(rmxp/rc); - amin := angle(acp-a0); amin_in := max_included(ritp); - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(acp+a0); amax_in := amin_in; - IF amax < amin THEN amax := amax + 2.0*PI; END_IF; - rmin := rc-rmxp; rmin_in := amin_in; - IF inn THEN - -- slotted case - IF apc = a THEN rmin_in := FALSE; END_IF; - IF angle(amin+0.5*PI) = a THEN amin_in := FALSE; END_IF; - IF angle(amax-0.5*PI) = a THEN amax_in := FALSE; END_IF; - END_IF; - ELSE IF rc = rmxp THEN - amin := angle(acp-0.5*PI); amin_in := FALSE; - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(acp+0.5*PI); amax_in := FALSE; - IF amax < amin THEN amax := amax + 2.0*PI; END_IF; - rmin := 0.0; rmin_in := max_included(ritp); - IF inn AND (apc = a) THEN rmin_in := FALSE; END_IF; - ELSE IF rc > rmnp THEN - IF inn AND (apc = a) THEN -- in the slot - rmin := 0.0; rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE - rmin := 0.0; rmin_in := TRUE; - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - END_IF; - ELSE - rmin := rmnp-rc; rmin_in := min_included(ritp); - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - IF inn THEN -- Special cases when aligned with slot - IF apc = a THEN - rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE IF acp = a THEN - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - END_IF; END_IF; - END_IF; - END_IF; END_IF; END_IF; - ELSE -- direction range < 2*PI - -- Compute data for corners with respect to xc,yc - x := xp + rmxp*cos(aitp.min) - xc; - y := yp + rmxp*sin(aitp.min) - yc; - r0 := SQRT(x**2 + y**2); - in0 := max_included(ritp) AND min_included(aitp); - IF r0 <> 0.0 THEN a0 := atan2(y,x); END_IF; - x := xp + rmxp*cos(aitp.max) - xc; - y := yp + rmxp*sin(aitp.max) - yc; - r1 := SQRT(x**2 + y**2); - in1 := max_included(ritp) AND max_included(aitp); - IF r1 <> 0.0 THEN a1 := atan2(y,x); END_IF; - x := xp + rmnp*cos(aitp.max) - xc; - y := yp + rmnp*sin(aitp.max) - yc; - r2 := SQRT(x**2 + y**2); - in2 := min_included(ritp) AND max_included(aitp); - IF r2 <> 0.0 THEN a2 := atan2(y,x); ELSE a2 := a1; in2 := in1; END_IF; - IF r1 = 0.0 THEN a1 := a2; in1 := in2; END_IF; - x := xp + rmnp*cos(aitp.min) - xc; - y := yp + rmnp*sin(aitp.min) - yc; - r3 := SQRT(x**2 + y**2); - in3 := min_included(ritp) AND min_included(aitp); - IF r3 <> 0.0 THEN a3 := atan2(y,x); ELSE a3 := a0; in3 := in0; END_IF; - IF r0 = 0.0 THEN a0 := a3; in0 := in3; END_IF; - IF rmnp = 0.0 THEN in2 := min_included(ritp); in3 := in2; END_IF; - IF (apc = angle(aitp.min)) OR (acp = angle(aitp.min)) THEN - in0 := min_included(aitp); - in3 := in0; - ELSE IF (apc = angle(aitp.max)) OR (acp = angle(aitp.max)) THEN - in1 := max_included(aitp); - in2 := in1; - END_IF; END_IF; - -- Find rmax - IF strictly_in(acp,aitp) THEN - rmax := rc+rmxp; rmax_in := max_included(ritp); - ELSE - rmax := r0; rmax_in := in0; - IF rmax = r1 THEN rmax_in := rmax_in OR in1; END_IF; - IF rmax < r1 THEN rmax := r1; rmax_in := in1; END_IF; - IF rmax = r2 THEN rmax_in := rmax_in OR in2; END_IF; - IF rmax < r2 THEN rmax := r2; rmax_in := in2; END_IF; - IF rmax = r3 THEN rmax_in := rmax_in OR in3; END_IF; - IF rmax < r3 THEN rmax := r3; rmax_in := in3; END_IF; - END_IF; - -- Find rmin - IF strictly_in(apc,aitp) THEN - IF rc >= rmxp THEN - rmin := rc-rmxp; rmin_in := max_included(ritp); - ELSE IF rc <= rmnp THEN - rmin := rmnp-rc; rmin_in := min_included(ritp); - ELSE - rmin := 0.0; rmin_in := TRUE; - END_IF; END_IF; - ELSE - rmin := r0; rmin_in := in0; - a := apc-aitp.min; - r := rc*COS(a); - IF {rmnp < r < rmxp} THEN -- use nearest point on line segment - rmin := rc*SIN(ABS(a)); rmin_in := min_included(aitp); - END_IF; - a := apc-aitp.max; - r := rc*COS(a); - IF {rmnp < r < rmxp} THEN -- try nearest point on line segment - r := rc*SIN(ABS(a)); inn := max_included(aitp); - IF r = rmin THEN rmin_in := rmin_in OR inn; END_IF; - IF r < rmin THEN rmin := r; rmin_in := inn; END_IF; - END_IF; - IF r1 = rmin THEN rmin_in := rmin_in OR in1; END_IF; - IF r1 < rmin THEN rmin := r1; rmin_in := in1; END_IF; - IF r2 = rmin THEN rmin_in := rmin_in OR in2; END_IF; - IF r2 < rmin THEN rmin := r2; rmin_in := in2; END_IF; - IF r3 = rmin THEN rmin_in := rmin_in OR in3; END_IF; - IF r3 < rmin THEN rmin := r3; rmin_in := in3; END_IF; - END_IF; - -- Find amin and amax, initially with respect to base direction ab. - IF rc >= rmxp THEN -- outside outer circle - ab := acp; - find_aminmax(ab,a0,a1,a2,a3,in0,in1,in2,in3,amin,amax,amin_in,amax_in); - a := ACOS(rmxp/rc); - IF strictly_in(apc-a,aitp) THEN - amin := ab-ASIN(rmxp/rc); amin_in := max_included(ritp); - END_IF; - IF strictly_in(apc+a,aitp) THEN - amax := ab+ASIN(rmxp/rc); amax_in := max_included(ritp); - END_IF; - angle_range(amin,amax); - ELSE IF rc > rmnp THEN - ab := angle(0.5*(aitp.min+aitp.max)); -- reference direction - find_aminmax(ab,a0,a1,a2,a3,in0,in1,in2,in3,amin,amax,amin_in,amax_in); - ELSE - -- Using base direction midway in prgn, compute all directions using - -- values which ensure a3 < a2 and a0 < a1 algebraically. - ab := angle(0.5*(aitp.min+aitp.max)); -- reference direction - a0 := angle(a0-ab); - a1 := angle(a1-ab); - a2 := angle(a2-ab); - a3 := angle(a3-ab); - IF a3 > a2 THEN a2 := a2 + 2.0*PI; END_IF; - IF a0 > a1 THEN a0 := a0 + 2.0*PI; END_IF; - IF a3 < a0 THEN amin := a3; amin_in := in3; - ELSE amin := a0; amin_in := in0; END_IF; - IF a2 > a1 THEN amax := a2; amax_in := in2; - ELSE amax := a1; amax_in := in1; END_IF; - IF (amax - amin > 2.0*PI) OR - ((amax - amin = 2.0*PI) AND (amin_in OR amax_in)) THEN - -- Cannot see out - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - ELSE - amin := amin + ab; - amax := amax + ab; - angle_range(amin,amax); - END_IF; - END_IF; END_IF; - END_IF; - IF rmin_in THEN minclo := closed; END_IF; - IF rmax_in THEN maxclo := closed; END_IF; - ritv := make_finite_real_interval(rmin,minclo,rmax,maxclo); - ELSE -- Not max_exists(ritp) - IF (rc > rmnp) AND strictly_in(apc,aitp) THEN - RETURN (?); -- No pregion exists. (Would require whole plane.) - END_IF; - IF aitp.max - aitp.min = 2.0*PI THEN - -- complement of disk, with or without slot - a := angle(aitp.min); -- slot direction - IF rc > rmnp THEN -- already excluded if not aligned with slot - IF max_included(aitp) THEN - RETURN (?); -- No pregion exists. (Would require whole plane.) - END_IF; - rmin := 0.0; rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE - rmin := rmnp-rc; rmin_in := min_included(ritp); - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - IF NOT max_included(aitp) THEN -- Special cases when aligned with slot - IF apc = a THEN - rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE IF acp = a THEN - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - END_IF; END_IF; - END_IF; - END_IF; - ELSE -- direction range < 2*PI - -- Compute data for corners with respect to xc,yc (two at infinity) - a0 := angle(aitp.min); - in0 := FALSE; - a1 := angle(aitp.max); - in1 := FALSE; - x := xp + rmnp*cos(aitp.max) - xc; - y := yp + rmnp*sin(aitp.max) - yc; - r2 := SQRT(x**2 + y**2); - in2 := min_included(ritp) AND max_included(aitp); - IF r2 <> 0.0 THEN a2 := atan2(y,x); ELSE a2 := a1; in2 := in1; END_IF; - x := xp + rmnp*cos(aitp.min) - xc; - y := yp + rmnp*sin(aitp.min) - yc; - r3 := SQRT(x**2 + y**2); - in3 := min_included(ritp) AND min_included(aitp); - IF r3 <> 0.0 THEN a3 := atan2(y,x); ELSE a3 := a0; in3 := in0; END_IF; - IF rmnp = 0.0 THEN in2 := min_included(ritp); in3 := in2; END_IF; - IF (apc = angle(aitp.min)) OR (acp = angle(aitp.min)) THEN - in0 := min_included(aitp); - in3 := in0; - ELSE IF (apc = angle(aitp.max)) OR (acp = angle(aitp.max)) THEN - in1 := max_included(aitp); - in2 := in1; - END_IF; END_IF; - -- Find rmin - IF strictly_in(apc,aitp) THEN - rmin := rmnp-rc; rmin_in := min_included(ritp); - ELSE - rmin := r2; rmin_in := in2; - a := apc-aitp.min; - r := rc*COS(a); - IF rmnp < r THEN -- use nearest point on aitp.min ray - rmin := rc*SIN(ABS(a)); rmin_in := min_included(aitp); - END_IF; - a := apc-aitp.max; - r := rc*COS(a); - IF rmnp < r THEN -- try nearest point on aitp.max ray - r := rc*SIN(ABS(a)); inn := max_included(aitp); - IF r = rmin THEN rmin_in := rmin_in OR inn; END_IF; - IF r < rmin THEN rmin := r; rmin_in := inn; END_IF; - END_IF; - IF r3 = rmin THEN rmin_in := rmin_in OR in3; END_IF; - IF r3 < rmin THEN rmin := r3; rmin_in := in3; END_IF; - END_IF; - -- Find amin and amax - ab := angle(0.5*(aitp.min+aitp.max)); -- reference direction - IF rc > rmnp THEN - find_aminmax(ab,a0,a1,a2,a3,in0,in1,in2,in3,amin,amax,amin_in,amax_in); - ELSE - -- Using base direction midway in prgn, compute all directions using - -- values which ensure a3 < a2 and a0 < a1 algebraically. - a0 := angle(a0-ab); - a1 := angle(a1-ab); - a2 := angle(a2-ab); - a3 := angle(a3-ab); - IF a3 > a2 THEN a2 := a2 + 2.0*PI; END_IF; - IF a0 > a1 THEN a0 := a0 + 2.0*PI; END_IF; - IF a3 < a0 THEN amin := a3; amin_in := in3; - ELSE amin := a0; amin_in := in0; END_IF; - IF a2 > a1 THEN amax := a2; amax_in := in2; - ELSE amax := a1; amax_in := in1; END_IF; - IF (amax - amin > 2.0*PI) OR - ((amax - amin = 2.0*PI) AND (amin_in OR amax_in)) THEN - -- Cannot see out - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - IF (rmin = 0.0) AND rmin_in THEN - RETURN (?); -- No pregion exists. (Would require whole plane.) - END_IF; - ELSE - amin := amin + ab; - amax := amax + ab; - angle_range(amin,amax); - END_IF; - END_IF; - END_IF; - IF rmin_in THEN minclo := closed; END_IF; - ritv := make_real_interval_from_min(rmin,minclo); - END_IF; - minclo := open; maxclo := open; - IF amin_in THEN minclo := closed; END_IF; - IF amax_in THEN maxclo := closed; END_IF; - aitv := make_finite_real_interval(amin,minclo,amax,maxclo); - -- Construct polar region - RETURN (make_polar_complex_number_region(centre,ritv,aitv)); -END_FUNCTION; -- enclose_pregion_in_pregion - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION space_dimension(tspace : tuple_space) : nonnegative_integer; - LOCAL - types : SET OF STRING := TYPEOF (tspace); - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN types THEN - RETURN (tspace\uniform_product_space.exponent); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN types THEN - RETURN (SIZEOF (tspace\listed_product_space.factors)); - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN types THEN - -- In the case of an extended_tuple_space, the minimum dimension is returned. - RETURN (space_dimension (tspace\extended_tuple_space.base)); - END_IF; - -- Should be unreachable - RETURN (?); -END_FUNCTION; -- space_dimension - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION factor_space(tspace : tuple_space; - idx : positive_integer) : maths_space; - LOCAL - typenames : SET OF STRING := TYPEOF (tspace); - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN typenames THEN - IF idx <= tspace\uniform_product_space.exponent THEN - RETURN (tspace\uniform_product_space.base); - END_IF; - RETURN (?); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN typenames THEN - IF idx <= SIZEOF (tspace\listed_product_space.factors) THEN - RETURN (tspace\listed_product_space.factors[idx]); - END_IF; - RETURN (?); - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN typenames THEN - IF idx <= space_dimension (tspace\extended_tuple_space.base) THEN - RETURN (factor_space (tspace\extended_tuple_space.base, idx)); - END_IF; - RETURN (tspace\extended_tuple_space.extender); - END_IF; - -- Should not be reachable. - RETURN (?); -END_FUNCTION; -- factor_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_maths_spaces(spc1, spc2 : maths_space) : LOGICAL; - LOCAL - spc1types : SET OF STRING := stripped_typeof(spc1); - spc2types : SET OF STRING := stripped_typeof(spc2); - set1, set2 : SET OF maths_value; - cum : LOGICAL := TRUE; - base : maths_space; - expnt : INTEGER; - factors : LIST OF maths_space; - factors2 : LIST OF maths_space; - fs1, fs2 : function_space; - cum2 : LOGICAL; - END_LOCAL; - IF spc1 = spc2 THEN RETURN (TRUE); END_IF; - -- Consider cases where it is not yet certain that spc1 <> spc2. - IF 'FINITE_SPACE' IN spc1types THEN - set1 := spc1\finite_space.members; - IF 'FINITE_SPACE' IN spc2types THEN - -- Members may have different but equivalent representations and in - -- different orders. May also have disguised repeats in same set of members. - set2 := spc2\finite_space.members; - REPEAT i := 1 TO SIZEOF (set1); - cum := cum AND member_of (set1[i], spc2); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - IF cum = TRUE THEN - REPEAT i := 1 TO SIZEOF (set2); - cum := cum AND member_of (set2[i], spc1); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - END_IF; - RETURN (cum); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN spc2types THEN - set2 := []; - REPEAT i := spc2\finite_integer_interval.min TO spc2\finite_integer_interval.max; - set2 := set2 + [i]; - END_REPEAT; - RETURN (equal_maths_spaces(spc1,make_finite_space(set2))); - END_IF; - END_IF; - IF ('FINITE_INTEGER_INTERVAL' IN spc1types) AND ('FINITE_SPACE' IN spc2types) THEN - set1 := []; - REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max; - set1 := set1 + [i]; - END_REPEAT; - RETURN (equal_maths_spaces(make_finite_space(set1),spc2)); - END_IF; - IF ('CARTESIAN_COMPLEX_NUMBER_REGION' IN spc1types) AND - ('POLAR_COMPLEX_NUMBER_REGION' IN spc2types) THEN - -- Quadrants and half spaces have two representations - RETURN (equal_cregion_pregion(spc1,spc2)); - END_IF; - IF ('POLAR_COMPLEX_NUMBER_REGION' IN spc1types) AND - ('CARTESIAN_COMPLEX_NUMBER_REGION' IN spc2types) THEN - -- Quadrants and half spaces have two representations - RETURN (equal_cregion_pregion(spc2,spc1)); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN spc1types THEN - base := spc1\uniform_product_space.base; - expnt := spc1\uniform_product_space.exponent; - IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN - IF expnt <> spc2\uniform_product_space.exponent THEN RETURN (FALSE); END_IF; - RETURN (equal_maths_spaces(base,spc2\uniform_product_space.base)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN - factors := spc2\listed_product_space.factors; - IF expnt <> SIZEOF (factors) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND equal_maths_spaces(base,factors[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN spc1types THEN - factors := spc1\listed_product_space.factors; - IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN - IF spc2\uniform_product_space.exponent <> SIZEOF (factors) THEN - RETURN (FALSE); - END_IF; - base := spc2\uniform_product_space.base; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND equal_maths_spaces(base,factors[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN - factors2 := spc2\listed_product_space.factors; - IF SIZEOF (factors) <> SIZEOF (factors2) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND equal_maths_spaces(factors[i],factors2[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - IF ('EXTENDED_TUPLE_SPACE' IN spc1types) AND - ('EXTENDED_TUPLE_SPACE' IN spc2types) THEN - RETURN (equal_maths_spaces(spc1\extended_tuple_space.extender, - spc2\extended_tuple_space.extender) AND equal_maths_spaces( - spc1\extended_tuple_space.base, spc2\extended_tuple_space.base)); - END_IF; - IF ('FUNCTION_SPACE' IN spc1types) AND - ('FUNCTION_SPACE' IN spc2types) THEN - fs1 := spc1; - fs2 := spc2; - IF fs1.domain_constraint <> fs2.domain_constraint THEN - IF (fs1.domain_constraint = sc_equal) OR (fs2.domain_constraint = sc_equal) THEN - RETURN (FALSE); - END_IF; - IF (fs1.domain_constraint <> sc_subspace) THEN - fs1 := spc2; - fs2 := spc1; - END_IF; - IF (fs1.domain_constraint <> sc_subspace) OR - (fs2.domain_constraint <> sc_member) THEN - -- Safety check. Should be unreachable. - RETURN (UNKNOWN); - END_IF; - IF any_space_satisfies(fs1.domain_constraint,fs1.domain_argument) <> - any_space_satisfies(fs2.domain_constraint,fs2.domain_argument) THEN - RETURN (FALSE); - END_IF; - IF NOT ('FINITE_SPACE' IN stripped_typeof(fs2.domain_argument)) THEN - RETURN (FALSE); - END_IF; - IF SIZEOF (['FINITE_SPACE','FINITE_INTEGER_INTERVAL'] * - stripped_typeof(fs1.domain_argument)) = 0 THEN - RETURN (FALSE); - END_IF; - -- Remaining cases too complex. - RETURN (UNKNOWN); - END_IF; - cum := equal_maths_spaces(fs1.domain_argument,fs2.domain_argument); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - IF fs1.range_constraint <> fs2.range_constraint THEN - IF (fs1.range_constraint = sc_equal) OR (fs2.range_constraint = sc_equal) THEN - RETURN (FALSE); - END_IF; - IF (fs1.range_constraint <> sc_subspace) THEN - fs1 := spc2; - fs2 := spc1; - END_IF; - IF (fs1.range_constraint <> sc_subspace) OR - (fs2.range_constraint <> sc_member) THEN - -- Safety check. Should be unreachable. - RETURN (UNKNOWN); - END_IF; - IF any_space_satisfies(fs1.range_constraint,fs1.range_argument) <> - any_space_satisfies(fs2.range_constraint,fs2.range_argument) THEN - RETURN (FALSE); - END_IF; - IF NOT ('FINITE_SPACE' IN stripped_typeof(fs2.range_argument)) THEN - RETURN (FALSE); - END_IF; - IF SIZEOF (['FINITE_SPACE','FINITE_INTEGER_INTERVAL'] * - stripped_typeof(fs1.range_argument)) = 0 THEN - RETURN (FALSE); - END_IF; - -- Remaining cases too complex. - RETURN (UNKNOWN); - END_IF; - cum := cum AND equal_maths_spaces(fs1.range_argument,fs2.range_argument); - RETURN (cum); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- equal_maths_spaces - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_cregion_pregion(crgn : cartesian_complex_number_region; - prgn : polar_complex_number_region) : LOGICAL; - LOCAL - arng, amin, xc, yc : REAL; - aitv, xitv, yitv : real_interval; - c_in : BOOLEAN; - END_LOCAL; - IF NOT EXISTS (crgn) OR NOT EXISTS (prgn) THEN RETURN (FALSE); END_IF; - IF max_exists(prgn.distance_constraint) THEN RETURN (FALSE); END_IF; - IF real_min(prgn.distance_constraint) <> 0.0 THEN RETURN (FALSE); END_IF; - c_in := min_included(prgn.distance_constraint); - aitv := prgn.direction_constraint; - amin := aitv.min; - arng := aitv.max - amin; - xc := prgn.centre.real_part; - yc := prgn.centre.imag_part; - xitv := crgn.real_constraint; - yitv := crgn.imag_constraint; - IF arng = 0.5*PI THEN - IF amin = 0.0 THEN -- quadrant to upper right - RETURN (NOT max_exists(xitv) AND NOT max_exists(yitv) AND min_exists(xitv) - AND min_exists(yitv) AND (real_min(xitv) = xc) AND (real_min(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND NOT min_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND NOT min_included(yitv)))); - END_IF; - IF amin = 0.5*PI THEN -- quadrant to upper left - RETURN (max_exists(xitv) AND NOT max_exists(yitv) AND NOT min_exists(xitv) - AND min_exists(yitv) AND (real_max(xitv) = xc) AND (real_min(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND NOT min_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND NOT min_included(yitv)))); - END_IF; - IF amin = -PI THEN -- quadrant to lower left - RETURN (max_exists(xitv) AND max_exists(yitv) AND NOT min_exists(xitv) - AND NOT min_exists(yitv) AND (real_max(xitv) = xc) AND (real_max(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND NOT max_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND NOT max_included(yitv)))); - END_IF; - IF amin = -0.5*PI THEN -- quadrant to lower right - RETURN (NOT max_exists(xitv) AND max_exists(yitv) AND min_exists(xitv) - AND NOT min_exists(yitv) AND (real_min(xitv) = xc) AND (real_max(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND NOT max_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND NOT max_included(yitv)))); - END_IF; - END_IF; - IF arng = PI THEN - IF amin = 0.0 THEN -- upper half space - RETURN (NOT max_exists(xitv) AND NOT max_exists(yitv) AND NOT min_exists(xitv) - AND min_exists(yitv) AND (real_min(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(yitv)))); - END_IF; - IF amin = 0.5*PI THEN -- left half space - RETURN (max_exists(xitv) AND NOT max_exists(yitv) AND NOT min_exists(xitv) - AND NOT min_exists(yitv) AND (real_max(xitv) = xc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(xitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv)))); - END_IF; - IF amin = -PI THEN -- lower half space - RETURN (NOT max_exists(xitv) AND max_exists(yitv) AND NOT min_exists(xitv) - AND NOT min_exists(yitv) AND (real_max(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(yitv)))); - END_IF; - IF amin = -0.5*PI THEN -- right half space - RETURN (NOT max_exists(xitv) AND NOT max_exists(yitv) AND min_exists(xitv) - AND NOT min_exists(yitv) AND (real_min(xitv) = xc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(xitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv)))); - END_IF; - END_IF; - RETURN (FALSE); -END_FUNCTION; -- equal_cregion_pregion - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION any_space_satisfies(sc : space_constraint_type; - spc : maths_space) : BOOLEAN; - LOCAL - spc_id : elementary_space_enumerators; - END_LOCAL; - IF (sc = sc_equal) OR NOT ('ELEMENTARY_SPACE' IN stripped_typeof(spc)) THEN - RETURN (FALSE); - END_IF; - spc_id := spc\elementary_space.space_id; - IF sc = sc_subspace THEN - RETURN (bool(spc_id = es_generics)); - END_IF; - IF sc = sc_member THEN - RETURN (bool((spc_id = es_generics) OR (spc_id = es_maths_spaces))); - END_IF; - -- Should be unreachable. - RETURN (?); -END_FUNCTION; -- any_space_satisfies - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION space_is_singleton(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := stripped_typeof (spc); - END_LOCAL; - IF 'FINITE_SPACE' IN types THEN - RETURN (bool(SIZEOF (spc\finite_space.members) = 1)); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN types THEN - RETURN (bool(spc\finite_integer_interval.size = 1)); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- space_is_singleton - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION singleton_member_of(spc : maths_space) : maths_value; - LOCAL - types : SET OF STRING := stripped_typeof (spc); - END_LOCAL; - IF 'FINITE_SPACE' IN types THEN - IF SIZEOF (spc\finite_space.members) = 1 THEN - RETURN (spc\finite_space.members[1]); - END_IF; - RETURN (?); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN types THEN - IF spc\finite_integer_interval.size = 1 THEN - RETURN (spc\finite_integer_interval.min); - END_IF; - RETURN (?); - END_IF; - RETURN (?); -END_FUNCTION; -- singleton_member_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compatible_spaces(sp1, sp2 : maths_space) : BOOLEAN; - LOCAL - types1 : SET OF STRING := stripped_typeof (sp1); - types2 : SET OF STRING := stripped_typeof (sp2); - lgcl : LOGICAL := UNKNOWN; - m, n : INTEGER; - s1, s2 : maths_space; - END_LOCAL; - IF 'FINITE_SPACE' IN types1 THEN - REPEAT i := 1 TO SIZEOF (sp1\finite_space.members); - lgcl := member_of(sp1\finite_space.members[i], sp2); - IF lgcl <> FALSE THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - RETURN (FALSE); - END_IF; - IF 'FINITE_SPACE' IN types2 THEN - REPEAT i := 1 TO SIZEOF (sp2\finite_space.members); - lgcl := member_of(sp2\finite_space.members[i], sp1); - IF lgcl <> FALSE THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - RETURN (FALSE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types1 THEN - IF sp1\elementary_space.space_id = es_generics THEN - RETURN (TRUE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types2 THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, - sp2\elementary_space.space_id)); - END_IF; - IF ('FINITE_INTEGER_INTERVAL' IN types2) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types2) OR - ('INTEGER_INTERVAL_TO_MAX' IN types2) THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, es_integers)); - END_IF; - IF ('FINITE_REAL_INTERVAL' IN types2) OR - ('REAL_INTERVAL_FROM_MIN' IN types2) OR - ('REAL_INTERVAL_TO_MAX' IN types2) THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, es_reals)); - END_IF; - IF ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types2) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types2) THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, es_complex_numbers)); - END_IF; - IF 'TUPLE_SPACE' IN types2 THEN - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - RETURN (bool(sp1\elementary_space.space_id = es_maths_functions)); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types2 THEN - IF sp2\elementary_space.space_id = es_generics THEN - RETURN (TRUE); - END_IF; - IF ('FINITE_INTEGER_INTERVAL' IN types1) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types1) OR - ('INTEGER_INTERVAL_TO_MAX' IN types1) THEN - RETURN (compatible_es_values(sp2\elementary_space.space_id, es_integers)); - END_IF; - IF ('FINITE_REAL_INTERVAL' IN types1) OR - ('REAL_INTERVAL_FROM_MIN' IN types1) OR - ('REAL_INTERVAL_TO_MAX' IN types1) THEN - RETURN (compatible_es_values(sp2\elementary_space.space_id, es_reals)); - END_IF; - IF ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types1) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types1) THEN - RETURN (compatible_es_values(sp2\elementary_space.space_id, es_complex_numbers)); - END_IF; - IF 'TUPLE_SPACE' IN types1 THEN - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN types1 THEN - RETURN (bool(sp2\elementary_space.space_id = es_maths_functions)); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF subspace_of_es(sp1,es_integers) THEN -- Note that sp1 finite already handled. - IF subspace_of_es(sp2,es_integers) THEN -- Note that sp2 finite already handled. - RETURN (compatible_intervals(sp1,sp2)); - END_IF; - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp2,es_integers) THEN - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp1,es_reals) THEN -- Note that sp1 finite already handled. - IF subspace_of_es(sp2,es_reals) THEN -- Note that sp2 finite already handled. - RETURN (compatible_intervals(sp1,sp2)); - END_IF; - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp2,es_reals) THEN - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp1,es_complex_numbers) THEN -- Note sp1 finite already handled. - IF subspace_of_es(sp2,es_complex_numbers) THEN -- Note sp2 finite already handled. - RETURN (compatible_complex_number_regions(sp1,sp2)); - END_IF; - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp2,es_complex_numbers) THEN - RETURN (FALSE); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN - IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN - IF sp1\uniform_product_space.exponent <> sp2\uniform_product_space.exponent THEN - RETURN (FALSE); - END_IF; - RETURN (compatible_spaces(sp1\uniform_product_space.base, - sp2\uniform_product_space.base)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types2 THEN - n := SIZEOF (sp2\listed_product_space.factors); - IF sp1\uniform_product_space.exponent <> n THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO n; - IF NOT compatible_spaces(sp1\uniform_product_space.base, - sp2\listed_product_space.factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - m := sp1\uniform_product_space.exponent; - n := space_dimension(sp2\extended_tuple_space.base); - IF m < n THEN - RETURN (FALSE); - END_IF; - IF m = n THEN - RETURN (compatible_spaces(sp1, sp2\extended_tuple_space.base)); - END_IF; - RETURN (compatible_spaces(sp1, assoc_product_space( - sp2\extended_tuple_space.base, make_uniform_product_space( - sp2\extended_tuple_space.extender, m - n)))); - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - RETURN (FALSE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types1 THEN - n := SIZEOF (sp1\listed_product_space.factors); - IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN - IF n <> sp2\uniform_product_space.exponent THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO n; - IF NOT compatible_spaces(sp2\uniform_product_space.base, - sp1\listed_product_space.factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types2 THEN - IF n <> SIZEOF (sp2\listed_product_space.factors) THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO n; - IF NOT compatible_spaces(sp1\listed_product_space.factors[i], - sp2\listed_product_space.factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - m := space_dimension(sp2\extended_tuple_space.base); - IF n < m THEN - RETURN (FALSE); - END_IF; - IF n = m THEN - RETURN (compatible_spaces(sp1, sp2\extended_tuple_space.base)); - END_IF; - RETURN (compatible_spaces(sp1, assoc_product_space( - sp2\extended_tuple_space.base, make_uniform_product_space( - sp2\extended_tuple_space.extender, n - m)))); - END_IF; - IF (schema_prefix + 'FUNCTION_SPACE') IN types2 THEN - RETURN (FALSE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN - IF ('UNIFORM_PRODUCT_SPACE' IN types2) OR - ('LISTED_PRODUCT_SPACE' IN types2) THEN - RETURN (compatible_spaces(sp2, sp1)); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - IF NOT compatible_spaces(sp1\extended_tuple_space.extender, - sp2\extended_tuple_space.extender) THEN - RETURN (FALSE); - END_IF; - n := space_dimension(sp1\extended_tuple_space.base); - m := space_dimension(sp2\extended_tuple_space.base); - IF n < m THEN - RETURN (compatible_spaces(assoc_product_space(sp1\extended_tuple_space.base, - make_uniform_product_space(sp1\extended_tuple_space.extender, m - n)), - sp2\extended_tuple_space.base)); - END_IF; - IF n = m THEN - RETURN (compatible_spaces(sp1\extended_tuple_space.base, - sp2\extended_tuple_space.base)); - END_IF; - IF n > m THEN - RETURN (compatible_spaces(sp1\extended_tuple_space.base, - assoc_product_space(sp2\extended_tuple_space.base, - make_uniform_product_space(sp2\extended_tuple_space.extender, n - m)))); - END_IF; - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - RETURN (FALSE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'FUNCTION_SPACE' IN types1 THEN - IF 'FUNCTION_SPACE' IN types2 THEN - s1 := sp1\function_space.domain_argument; - s2 := sp2\function_space.domain_argument; - CASE sp1\function_space.domain_constraint OF - sc_equal : BEGIN - CASE sp2\function_space.domain_constraint OF - sc_equal : lgcl := subspace_of(s1, s2) AND subspace_of(s2, s1); - sc_subspace : lgcl := subspace_of(s1, s2); - sc_member : lgcl := member_of(s1, s2); - END_CASE; - END; - sc_subspace :BEGIN - CASE sp2\function_space.domain_constraint OF - sc_equal : lgcl := subspace_of(s2, s1); - sc_subspace : lgcl := compatible_spaces(s1, s2); - sc_member : lgcl := UNKNOWN; - END_CASE; - END; - sc_member :BEGIN - CASE sp2\function_space.domain_constraint OF - sc_equal : lgcl := member_of(s2, s1); - sc_subspace : lgcl := UNKNOWN; - sc_member : lgcl := compatible_spaces(s1, s2); - END_CASE; - END; - END_CASE; - IF lgcl = FALSE THEN - RETURN (FALSE); - END_IF; - s1 := sp1\function_space.range_argument; - s2 := sp2\function_space.range_argument; - CASE sp1\function_space.range_constraint OF - sc_equal : BEGIN - CASE sp2\function_space.range_constraint OF - sc_equal : lgcl := subspace_of(s1, s2) AND subspace_of(s2, s1); - sc_subspace : lgcl := subspace_of(s1, s2); - sc_member : lgcl := member_of(s1, s2); - END_CASE; - END; - sc_subspace :BEGIN - CASE sp2\function_space.range_constraint OF - sc_equal : lgcl := subspace_of(s2, s1); - sc_subspace : lgcl := compatible_spaces(s1, s2); - sc_member : lgcl := UNKNOWN; - END_CASE; - END; - sc_member :BEGIN - CASE sp2\function_space.range_constraint OF - sc_equal : lgcl := member_of(s2, s1); - sc_subspace : lgcl := UNKNOWN; - sc_member : lgcl := compatible_spaces(s1, s2); - END_CASE; - END; - END_CASE; - IF lgcl = FALSE THEN - RETURN (FALSE); - END_IF; - RETURN (TRUE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); -END_FUNCTION; -- compatible_spaces - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compatible_es_values(esval1, esval2 : elementary_space_enumerators) : BOOLEAN; - LOCAL - esval1_is_numeric, esval2_is_numeric : LOGICAL; - END_LOCAL; - IF (esval1 = esval2) OR (esval1 = es_generics) OR (esval2 = es_generics) THEN - RETURN (TRUE); - END_IF; - esval1_is_numeric := (esval1 >= es_numbers) AND (esval1 <= es_integers); - esval2_is_numeric := (esval2 >= es_numbers) AND (esval2 <= es_integers); - IF (esval1_is_numeric AND (esval2 = es_numbers)) OR - (esval2_is_numeric AND (esval1 = es_numbers)) THEN - RETURN (TRUE); - END_IF; - IF esval1_is_numeric XOR esval2_is_numeric THEN - RETURN (FALSE); - END_IF; - IF ((esval1 = es_logicals) AND (esval2 = es_booleans)) OR - ((esval1 = es_booleans) AND (esval2 = es_logicals)) THEN - RETURN (TRUE); - END_IF; - -- All other cases are incompatible - RETURN (FALSE); -END_FUNCTION; -- compatible_es_values - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compatible_intervals(sp1, sp2 : maths_space) : BOOLEAN; - LOCAL - amin, amax : REAL; - END_LOCAL; - IF min_exists(sp1) AND max_exists(sp2) THEN - amin := real_min(sp1); amax := real_max(sp2); - IF amin > amax THEN RETURN (FALSE); END_IF; - IF amin = amax THEN - RETURN (min_included(sp1) AND max_included(sp2)); - END_IF; - END_IF; - IF min_exists(sp2) AND max_exists(sp1) THEN - amin := real_min(sp2); amax := real_max(sp1); - IF amin > amax THEN RETURN (FALSE); END_IF; - IF amin = amax THEN - RETURN (min_included(sp2) AND max_included(sp1)); - END_IF; - END_IF; - RETURN (TRUE); -END_FUNCTION; -- compatible_intervals - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compatible_complex_number_regions(sp1, sp2 : maths_space) : BOOLEAN; - LOCAL - typenames : SET OF string := stripped_typeof (sp1); - crgn1, crgn2 : cartesian_complex_number_region; - prgn1, prgn2, prgn1c2, prgn2c1 : polar_complex_number_region; - sp1_is_crgn, sp2_is_crgn : BOOLEAN; - END_LOCAL; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN - sp1_is_crgn := TRUE; - crgn1 := sp1; - ELSE - IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN - sp1_is_crgn := FALSE; - prgn1 := sp1; - ELSE - -- Improper usage: Default response is to assume compatibility. - RETURN (TRUE); - END_IF; - END_IF; - typenames := stripped_typeof (sp2); - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN - sp2_is_crgn := TRUE; - crgn2 := sp2; - ELSE - IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN - sp2_is_crgn := FALSE; - prgn2 := sp2; - ELSE - -- Improper usage: Default response is to assume compatibility. - RETURN (TRUE); - END_IF; - END_IF; - IF sp1_is_crgn AND sp2_is_crgn THEN - -- two cartesian regions - RETURN (compatible_intervals(crgn1.real_constraint, crgn2.real_constraint) - AND compatible_intervals(crgn1.imag_constraint, crgn2.imag_constraint)); - END_IF; - IF NOT sp1_is_crgn AND NOT sp2_is_crgn AND - (prgn1.centre.real_part = prgn2.centre.real_part) AND - (prgn1.centre.imag_part = prgn2.centre.imag_part) THEN - -- two polar regions with common centre - IF NOT compatible_intervals(prgn1.distance_constraint, - prgn2.distance_constraint) THEN - RETURN (FALSE); - END_IF; - IF compatible_intervals(prgn1.direction_constraint, - prgn2.direction_constraint) THEN - RETURN (TRUE); - END_IF; - -- Deal with direction ambiguity by 2 pi. - IF (prgn1.direction_constraint.max > PI) AND (prgn2.direction_constraint.max < PI) - THEN - RETURN (compatible_intervals(prgn2.direction_constraint, - make_finite_real_interval(-PI,open,prgn1.direction_constraint.max-2.0*PI, - prgn1.direction_constraint.max_closure))); - END_IF; - IF (prgn2.direction_constraint.max > PI) AND (prgn1.direction_constraint.max < PI) - THEN - RETURN (compatible_intervals(prgn1.direction_constraint, - make_finite_real_interval(-PI,open,prgn2.direction_constraint.max-2.0*PI, - prgn2.direction_constraint.max_closure))); - END_IF; - RETURN (FALSE); - END_IF; - -- Make do with imperfect tests for remaining cases. - IF sp1_is_crgn AND NOT sp2_is_crgn THEN - crgn2 := enclose_pregion_in_cregion(prgn2); - prgn1 := enclose_cregion_in_pregion(crgn1,prgn2.centre); - RETURN (compatible_complex_number_regions(crgn1,crgn2) - AND compatible_complex_number_regions(prgn1,prgn2)); - END_IF; - IF NOT sp1_is_crgn AND sp2_is_crgn THEN - crgn1 := enclose_pregion_in_cregion(prgn1); - prgn2 := enclose_cregion_in_pregion(crgn2,prgn1.centre); - RETURN (compatible_complex_number_regions(crgn1,crgn2) - AND compatible_complex_number_regions(prgn1,prgn2)); - END_IF; - -- Two polar regions with different centres - prgn1c2 := enclose_pregion_in_pregion(prgn1,prgn2.centre); - prgn2c1 := enclose_pregion_in_pregion(prgn2,prgn1.centre); - RETURN (compatible_complex_number_regions(prgn1,prgn2c1) - AND compatible_complex_number_regions(prgn1c2,prgn2)); -END_FUNCTION; -- compatible_complex_number_regions - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION assoc_product_space(ts1, ts2 : tuple_space) : tuple_space; - LOCAL - types1 : SET OF STRING := stripped_typeof (ts1); - types2 : SET OF STRING := stripped_typeof (ts2); - up1, up2 : uniform_product_space := make_uniform_product_space(the_reals,1); - lp1, lp2, lps : listed_product_space := the_zero_tuple_space; - et1, et2, ets : extended_tuple_space := the_tuples; - use_up1, use_up2, use_lp1, use_lp2 : BOOLEAN; - factors : LIST OF maths_space := []; - tspace : tuple_space; - END_LOCAL; - -- Identify type of first operand - IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN - up1 := ts1; use_up1 := true; use_lp1 := false; - ELSE - IF 'LISTED_PRODUCT_SPACE' IN types1 THEN - lp1 := ts1; use_up1 := false; use_lp1 := true; - ELSE - IF NOT ('EXTENDED_TUPLE_SPACE' IN types1) THEN - -- Unreachable when this function was written. - RETURN (?); - END_IF; - et1 := ts1; use_up1 := false; use_lp1 := false; - END_IF; - END_IF; - -- Identify type of second operand - IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN - up2 := ts2; use_up2 := true; use_lp2 := false; - ELSE - IF 'LISTED_PRODUCT_SPACE' IN types2 THEN - lp2 := ts2; use_up2 := false; use_lp2 := true; - ELSE - IF NOT ('EXTENDED_TUPLE_SPACE' IN types2) THEN - -- Unreachable when this function was written. - RETURN (?); - END_IF; - et2 := ts2; use_up2 := false; use_lp2 := false; - END_IF; - END_IF; - -- Construction for each combination of cases - IF use_up1 THEN - IF use_up2 THEN - IF up1.base = up2.base THEN - tspace := make_uniform_product_space(up1.base, up1.exponent + up2.exponent); - ELSE - factors := [up1.base : up1.exponent, up2.base : up2.exponent]; - tspace := make_listed_product_space(factors); - END_IF; - ELSE - IF use_lp2 THEN - -- Avoid compiler confusion by breaking into two lines. - factors := [up1.base : up1.exponent]; - factors := factors + lp2.factors; - tspace := make_listed_product_space(factors); - ELSE - tspace := assoc_product_space(up1, et2.base); - tspace := make_extended_tuple_space(tspace, et2.extender); - END_IF; - END_IF; - ELSE - IF use_lp1 THEN - IF use_up2 THEN - -- Avoid compiler confusion by breaking into two lines. - factors := [up2.base : up2.exponent]; - factors := lp1.factors + factors; - tspace := make_listed_product_space(factors); - ELSE - IF use_lp2 THEN - tspace := make_listed_product_space(lp1.factors + lp2.factors); - ELSE - tspace := assoc_product_space(lp1, et2.base); - tspace := make_extended_tuple_space(tspace, et2.extender); - END_IF; - END_IF; - ELSE - IF use_up2 THEN - IF et1.extender = up2.base THEN - tspace := assoc_product_space(et1.base, up2); - tspace := make_extended_tuple_space(tspace, et1.extender); - ELSE - -- No subtype is available to represent this cartesian product. - RETURN (?); - END_IF; - ELSE - IF use_lp2 THEN - factors := lp2.factors; - REPEAT i := 1 TO SIZEOF (factors); - IF et1.extender <> factors[i] THEN - -- No subtype available to represent this cartesian product. - RETURN (?); - END_IF; - END_REPEAT; - tspace := assoc_product_space(et1.base, lp2); - tspace := make_extended_tuple_space(tspace, et1.extender); - ELSE - IF et1.extender = et2.extender THEN - -- Next line may assign indeterminate (?) to tspace. - tspace := assoc_product_space(et1, et2.base); - ELSE - -- No subtype available to represent this cartesian product. - RETURN (?); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (tspace); -END_FUNCTION; -- assoc_product_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_maths_functions(fun1, fun2 : maths_function) : LOGICAL; - LOCAL - cum : LOGICAL; - END_LOCAL; - IF fun1 = fun2 THEN RETURN (TRUE); END_IF; - cum := equal_maths_spaces(fun1.domain,fun2.domain); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - cum := cum AND equal_maths_spaces(fun1.range,fun2.range); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - -- A lot of further analysis is possible, but not required. - RETURN (UNKNOWN); -END_FUNCTION; -- equal_maths_functions - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION substitute(expr : generic_expression; - vars : LIST [1:?] OF generic_variable; - vals : LIST [1:?] OF maths_value) : generic_expression; - LOCAL - types : SET OF STRING := stripped_typeof(expr); - opnds : LIST OF generic_expression; - op1, op2 : generic_expression; - qvars : LIST OF generic_variable; - srcdom : maths_space_or_function; - prpfun : LIST [1:?] OF maths_function; - finfun : maths_function_select; - END_LOCAL; - IF SIZEOF (vars) <> SIZEOF (vals) THEN RETURN (?); END_IF; - IF 'GENERIC_LITERAL' IN types THEN RETURN (expr); END_IF; - IF 'GENERIC_VARIABLE' IN types THEN - REPEAT i := 1 TO SIZEOF (vars); - IF expr :=: vars[i] THEN RETURN (vals[i]); END_IF; - END_REPEAT; - RETURN (expr); - END_IF; - IF 'QUANTIFIER_EXPRESSION' IN types THEN - qvars := expr\quantifier_expression.variables; - -- Variables subject to a quantifier do not participate in this kind of - -- substitution process. - REPEAT i := SIZEOF (vars) TO 1 BY -1; - IF vars[i] IN qvars THEN - REMOVE (vars, i); - REMOVE (vals, i); - END_IF; - END_REPEAT; - opnds := expr\multiple_arity_generic_expression.operands; - REPEAT i := 1 TO SIZEOF (opnds); - IF NOT (opnds[i] IN qvars) THEN - expr\multiple_arity_generic_expression.operands[i] := - substitute(opnds[i],vars,vals); - -- This technique will not work on subtypes of quantifier_expression - -- which derive their operands from other attributes! - END_IF; - END_REPEAT; - RETURN (expr); -- operands modified! - END_IF; - IF 'UNARY_GENERIC_EXPRESSION' IN types THEN - op1 := expr\unary_generic_expression.operand; - expr\unary_generic_expression.operand := substitute(op1, vars, vals); - -- This technique will not work on subtypes of unary_generic_expression - -- which derive their operands from other attributes! - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN types THEN - op1 := expr\binary_generic_expression.operands[1]; - expr\binary_generic_expression.operands[1] := substitute(op1, vars, vals); - op2 := expr\binary_generic_expression.operands[2]; - expr\binary_generic_expression.operands[2] := substitute(op2, vars, vals); - -- This technique will not work on subtypes of binary_generic_expression - -- which derive their operands from other attributes! - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN - -- Subtype of multiple_arity_generic_expression which derives its operands. - srcdom := expr\parallel_composed_function.source_of_domain; - prpfun := expr\parallel_composed_function.prep_functions; - finfun := expr\parallel_composed_function.final_function; - srcdom := substitute(srcdom,vars,vals); - REPEAT i := 1 TO SIZEOF (prpfun); - prpfun[i] := substitute(prpfun[i],vars,vals); - END_REPEAT; - IF 'MATHS_FUNCTION' IN stripped_typeof(finfun) THEN - finfun := substitute(finfun,vars,vals); - END_IF; - RETURN (make_parallel_composed_function(srcdom,prpfun,finfun)); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN - opnds := expr\multiple_arity_generic_expression.operands; - REPEAT i := 1 TO SIZEOF (opnds); - expr\multiple_arity_generic_expression.operands[i] := - substitute(opnds[i],vars,vals); - -- This technique will not work on subtypes of multiple_arity_generic_ - -- expression which derive their operands from other attributes! - END_REPEAT; - END_IF; - RETURN (expr); -END_FUNCTION; -- substitute - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_parallel_composed_function(srcdom : maths_space_or_function; - prepfuncs : LIST [2:?] OF maths_function; - finfunc : maths_function_select) - : parallel_composed_function; - RETURN (parallel_composed_function (srcdom, prepfuncs, finfunc) - || maths_function() - || generic_expression() - || multiple_arity_generic_expression (convert_to_operands_prcmfn ( - srcdom, prepfuncs, finfunc)) ); -- derived -END_FUNCTION; -- make_parallel_composed_function - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_operands_prcmfn(srcdom : maths_space_or_function; - prepfun : LIST OF maths_function; - finfun : maths_function_select) - : LIST [2:?] OF generic_expression; - LOCAL - operands : LIST OF generic_expression := []; - END_LOCAL; - INSERT (operands, srcdom, 0); - REPEAT i := 1 TO SIZEOF (prepfun); - INSERT (operands, prepfun[i], i); - END_REPEAT; - INSERT (operands, convert_to_maths_function (finfun), SIZEOF (prepfun)+1); - RETURN (operands); -END_FUNCTION; -- convert_to_operands_prcmfn - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_applicability(func : maths_function_select; - arguments : LIST [1:?] OF maths_value) : BOOLEAN; - LOCAL - domain : tuple_space := convert_to_maths_function(func).domain; - domain_types : SET OF STRING := TYPEOF (domain); - narg : positive_integer := SIZEOF (arguments); - arg : generic_expression; - END_LOCAL; - IF (schema_prefix + 'PRODUCT_SPACE') IN domain_types THEN - IF space_dimension (domain) <> narg THEN RETURN (FALSE); END_IF; - ELSE - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN domain_types THEN - IF space_dimension (domain) > narg THEN RETURN (FALSE); END_IF; - ELSE - RETURN (FALSE); -- Should be unreachable - END_IF; - END_IF; - REPEAT i := 1 TO narg; - arg := convert_to_operand (arguments[i]); - IF NOT has_values_space (arg) THEN RETURN (FALSE); END_IF; - IF NOT compatible_spaces (factor_space (domain, i), values_space_of (arg)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- function_applicability - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION no_cyclic_space_reference(spc : maths_space; - refs : SET OF maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING; - refs_plus : SET OF maths_space; - END_LOCAL; - IF (spc IN refs) THEN - RETURN (FALSE); - END_IF; - types := TYPEOF (spc); - refs_plus := refs + spc; - IF (schema_prefix + 'FINITE_SPACE') IN types THEN - RETURN (bool(SIZEOF (QUERY (sp <* QUERY (mem <* spc\finite_space.members | - (schema_prefix + 'MATHS_SPACE') IN TYPEOF (mem)) | - NOT no_cyclic_space_reference (sp, refs_plus))) = 0)); - END_IF; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN types THEN - RETURN (no_cyclic_space_reference (spc\uniform_product_space.base, refs_plus)); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN types THEN - RETURN (bool(SIZEOF (QUERY (fac <* spc\listed_product_space.factors | - NOT no_cyclic_space_reference (fac, refs_plus))) = 0)); - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN types THEN - RETURN (no_cyclic_space_reference (spc\extended_tuple_space.base, refs_plus) - AND no_cyclic_space_reference (spc\extended_tuple_space.extender, refs_plus)); - END_IF; - -- spc contains no references to other spaces - RETURN (TRUE); -END_FUNCTION; -- no_cyclic_space_reference - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_function_domain(func : maths_function) : tuple_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(func); - tspace : tuple_space := make_listed_product_space ([]); - shape : LIST OF positive_integer; - sidxs : LIST OF INTEGER := [0]; - itvl : finite_integer_interval; - factors : LIST OF finite_integer_interval := []; - is_uniform : BOOLEAN := TRUE; - END_LOCAL; - IF 'FINITE_FUNCTION' IN typenames THEN - RETURN (derive_finite_function_domain (func\finite_function.pairs)); - END_IF; - IF 'CONSTANT_FUNCTION' IN typenames THEN - RETURN (domain_from (func\constant_function.source_of_domain)); - END_IF; - IF 'SELECTOR_FUNCTION' IN typenames THEN - RETURN (domain_from (func\selector_function.source_of_domain)); - END_IF; - IF 'ELEMENTARY_FUNCTION' IN typenames THEN - RETURN (derive_elementary_function_domain (func\elementary_function.func_id)); - END_IF; - IF 'RESTRICTION_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (func\restriction_function.operand)); - END_IF; - IF 'REPACKAGING_FUNCTION' IN typenames THEN - IF func\repackaging_function.input_repack = ro_nochange THEN - RETURN (func\repackaging_function.operand.domain); - END_IF; - IF func\repackaging_function.input_repack = ro_wrap_as_tuple THEN - RETURN (factor1 (func\repackaging_function.operand.domain)); - END_IF; - IF func\repackaging_function.input_repack = ro_unwrap_tuple THEN - RETURN (one_tuples_of (func\repackaging_function.operand.domain)); - END_IF; - -- Unreachable, as there is no other possible value for input_repack. - RETURN (?); - END_IF; - IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN - shape := shape_of_array(func\unary_generic_expression.operand); - sidxs := func\reindexed_array_function.starting_indices; - REPEAT i := 1 TO SIZEOF (shape); - itvl := make_finite_integer_interval (sidxs[i], sidxs[i]+shape[i]-1); - INSERT (factors, itvl, i-1); - IF shape[i] <> shape[1] THEN is_uniform := FALSE; END_IF; - END_REPEAT; - IF is_uniform THEN - RETURN (make_uniform_product_space (factors[1], SIZEOF (shape))); - END_IF; - RETURN (make_listed_product_space (factors)); - END_IF; - IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN - RETURN (func\series_composed_function.operands[1].domain); - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN - RETURN (domain_from (func\parallel_composed_function.source_of_domain)); - END_IF; - IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN - shape := func\explicit_table_function.shape; - sidxs[1] := func\explicit_table_function.index_base; - REPEAT i := 1 TO SIZEOF (shape); - itvl := make_finite_integer_interval (sidxs[1], sidxs[1]+shape[i]-1); - INSERT (factors, itvl, i-1); - IF shape[i] <> shape[1] THEN is_uniform := FALSE; END_IF; - END_REPEAT; - IF is_uniform THEN - RETURN (make_uniform_product_space (factors[1], SIZEOF (shape))); - END_IF; - RETURN (make_listed_product_space (factors)); - END_IF; - IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\homogeneous_linear_function.mat.range), - func\homogeneous_linear_function.mat\explicit_table_function.shape - [func\homogeneous_linear_function.sum_index]))); - END_IF; - IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\general_linear_function.mat.range), - func\general_linear_function.mat\explicit_table_function.shape - [func\general_linear_function.sum_index] - 1))); - END_IF; - IF 'B_SPLINE_BASIS' IN typenames THEN - RETURN (one_tuples_of (make_finite_real_interval - (func\b_spline_basis.repeated_knots[func\b_spline_basis.order], closed, - func\b_spline_basis.repeated_knots[func\b_spline_basis.num_basis+1], closed))); - END_IF; - IF 'B_SPLINE_FUNCTION' IN typenames THEN - REPEAT i := 1 TO SIZEOF (func\b_spline_function.basis); - tspace := assoc_product_space (tspace, func\b_spline_function.basis[i].domain); - END_REPEAT; - RETURN (one_tuples_of (tspace)); - END_IF; - IF 'RATIONALIZE_FUNCTION' IN typenames THEN - RETURN (func\rationalize_function.fun.domain); - END_IF; - IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN - RETURN (func\partial_derivative_function.derivand.domain); - END_IF; - IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN - RETURN (derive_definite_integral_domain(func)); - END_IF; - IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN - REPEAT i := 1 TO SIZEOF (func\abstracted_expression_function.variables); - tspace := assoc_product_space (tspace, one_tuples_of (values_space_of - (func\abstracted_expression_function.variables[i]))); - END_REPEAT; - RETURN (tspace); - END_IF; - IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN - RETURN (values_space_of (func\expression_denoted_function.expr)\function_space. - domain_argument); - END_IF; - IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_listed_product_space ([]))); - END_IF; - IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN - RETURN (func\imported_curve_function.parametric_domain); - END_IF; - IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN - RETURN (func\imported_surface_function.parametric_domain); - END_IF; - IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN - RETURN (func\imported_volume_function.parametric_domain); - END_IF; - IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN - RETURN (func\application_defined_function.explicit_domain); - END_IF; - -- Unreachable, as no other subtypes of maths_function are permissible without - -- first modifying this function to account for them. - RETURN (?); -END_FUNCTION; -- derive_function_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_finite_function_domain(pairs : SET [1:?] OF LIST [2:2] OF maths_value) - : tuple_space; - LOCAL - result : SET OF maths_value := []; - END_LOCAL; --- An ambiguity in ISO 10303-11:1994 pages 99-101 leaves the result of the following --- three lines ambiguous in those cases where an operand is simultaneously a member --- of the base type and the aggregate type. --- REPEAT i := 1 TO SIZEOF (pairs); --- result := result + pairs[i][1]; --- END_REPEAT; --- The next line unions an empty set and the desired list to get the desired set. - result := result + list_selected_components (pairs, 1); - RETURN (one_tuples_of (make_finite_space (result))); -END_FUNCTION; -- derive_finite_function_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION list_selected_components(aggr : AGGREGATE OF LIST OF maths_value; - k : positive_integer) : LIST OF maths_value; - LOCAL - result : LIST OF maths_value := []; - j : INTEGER := 0; - END_LOCAL; - REPEAT i := LOINDEX (aggr) TO HIINDEX (aggr); - IF k <= SIZEOF (aggr[i]) THEN - INSERT (result, aggr[i][k], j); - j := j + 1; - END_IF; - END_REPEAT; - RETURN (result); -END_FUNCTION; -- list_selected_components - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION one_tuples_of(spc : maths_space) : tuple_space; - RETURN (make_uniform_product_space (spc, 1)); -END_FUNCTION; -- one_tuples_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION domain_from(ref : maths_space_or_function) : tuple_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(ref); - func : maths_function; - END_LOCAL; - IF NOT EXISTS (ref) THEN RETURN (?); END_IF; - IF 'TUPLE_SPACE' IN typenames THEN RETURN (ref); END_IF; - IF 'MATHS_SPACE' IN typenames THEN RETURN (one_tuples_of (ref)); END_IF; - func := ref; - IF 'CONSTANT_FUNCTION' IN typenames THEN - RETURN (domain_from (func\constant_function.source_of_domain)); - END_IF; - IF 'SELECTOR_FUNCTION' IN typenames THEN - RETURN (domain_from (func\selector_function.source_of_domain)); - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN - RETURN (domain_from (func\parallel_composed_function.source_of_domain)); - END_IF; - RETURN (func.domain); -END_FUNCTION; -- domain_from - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_elementary_function_domain(ef_val : elementary_function_enumerators) - : tuple_space; - IF NOT EXISTS (ef_val) THEN RETURN (?); END_IF; - CASE ef_val OF - ef_and : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_logicals)); - ef_or : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_logicals)); - ef_not : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_xor : RETURN (make_uniform_product_space (the_logicals, 2)); - ef_negate_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_add_i : RETURN (the_integer_tuples); - ef_subtract_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_multiply_i : RETURN (the_integer_tuples); - ef_divide_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_mod_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_exponentiate_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_eq_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_ne_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_gt_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_lt_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_ge_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_le_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_abs_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_if_i : RETURN (make_listed_product_space ([the_logicals, the_integers, - the_integers])); - ef_negate_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_reciprocal_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_add_r : RETURN (the_real_tuples); - ef_subtract_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_multiply_r : RETURN (the_real_tuples); - ef_divide_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_mod_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_exponentiate_r : RETURN (make_listed_product_space ([the_nonnegative_reals, - the_reals])); - ef_exponentiate_ri : RETURN (make_listed_product_space ([the_reals, the_integers])); - ef_eq_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_ne_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_gt_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_lt_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_ge_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_le_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_abs_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_acos_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_asin_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_atan2_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_cos_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_exp_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_ln_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_log2_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_log10_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_sin_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_sqrt_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_tan_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_if_r : RETURN (make_listed_product_space ([the_logicals, the_reals, the_reals])); - ef_negate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_reciprocal_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_add_c : RETURN (the_complex_tuples); - ef_subtract_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_multiply_c : RETURN (the_complex_tuples); - ef_divide_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_exponentiate_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_exponentiate_ci : RETURN (make_listed_product_space ([the_complex_numbers, - the_integers])); - ef_eq_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_ne_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_conjugate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_abs_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_arg_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_cos_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exp_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_ln_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sin_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sqrt_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_tan_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_if_c : RETURN (make_listed_product_space ([the_logicals, the_complex_numbers, - the_complex_numbers])); - ef_subscript_s : RETURN (make_listed_product_space ([the_strings, the_integers])); - ef_eq_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_ne_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_gt_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_lt_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_ge_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_le_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_subsequence_s : RETURN (make_listed_product_space ([the_strings, the_integers, - the_integers])); - ef_concat_s : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_strings)); - ef_size_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_format : RETURN (make_listed_product_space ([the_numbers, the_strings])); - ef_value : RETURN (make_uniform_product_space (the_strings, 1)); - ef_like : RETURN (make_uniform_product_space (the_strings, 2)); - ef_if_s : RETURN (make_listed_product_space ([the_logicals, the_strings, - the_strings])); - ef_subscript_b : RETURN (make_listed_product_space ([the_binarys, the_integers])); - ef_eq_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_ne_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_gt_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_lt_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_ge_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_le_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_subsequence_b : RETURN (make_listed_product_space ([the_binarys, the_integers, - the_integers])); - ef_concat_b : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_binarys)); - ef_size_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_if_b : RETURN (make_listed_product_space ([the_logicals, the_binarys, - the_binarys])); - ef_subscript_t : RETURN (make_listed_product_space ([the_tuples, the_integers])); - ef_eq_t : RETURN (make_uniform_product_space (the_tuples, 2)); - ef_ne_t : RETURN (make_uniform_product_space (the_tuples, 2)); - ef_concat_t : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_tuples)); - ef_size_t : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_entuple : RETURN (the_tuples); - ef_detuple : RETURN (make_uniform_product_space (the_generics, 1)); - ef_insert : RETURN (make_listed_product_space ([the_tuples, the_generics, - the_integers])); - ef_remove : RETURN (make_listed_product_space ([the_tuples, the_integers])); - ef_if_t : RETURN (make_listed_product_space ([the_logicals, the_tuples, - the_tuples])); - ef_sum_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_product_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_add_it : RETURN (make_extended_tuple_space (the_integer_tuples, - the_integer_tuples)); - ef_subtract_it : RETURN (make_uniform_product_space (the_integer_tuples, 2)); - ef_scalar_mult_it : RETURN (make_listed_product_space ([the_integers, - the_integer_tuples])); - ef_dot_prod_it : RETURN (make_uniform_product_space (the_integer_tuples, 2)); - ef_sum_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_product_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_add_rt : RETURN (make_extended_tuple_space (the_real_tuples, the_real_tuples)); - ef_subtract_rt : RETURN (make_uniform_product_space (the_real_tuples, 2)); - ef_scalar_mult_rt : RETURN (make_listed_product_space ([the_reals, - the_real_tuples])); - ef_dot_prod_rt : RETURN (make_uniform_product_space (the_real_tuples, 2)); - ef_norm_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_sum_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_product_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_add_ct : RETURN (make_extended_tuple_space (the_complex_tuples, - the_complex_tuples)); - ef_subtract_ct : RETURN (make_uniform_product_space (the_complex_tuples, 2)); - ef_scalar_mult_ct : RETURN (make_listed_product_space ([the_complex_numbers, - the_complex_tuples])); - ef_dot_prod_ct : RETURN (make_uniform_product_space (the_complex_tuples, 2)); - ef_norm_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_if : RETURN (make_listed_product_space ([the_logicals, the_generics, - the_generics])); - ef_ensemble : RETURN (the_tuples); - ef_member_of : RETURN (make_listed_product_space ([the_generics, the_maths_spaces])); - OTHERWISE : RETURN (?); - END_CASE; -END_FUNCTION; -- derive_elementary_function_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION factor1(tspace : tuple_space) : maths_space; - LOCAL - typenames : SET OF STRING := TYPEOF (tspace); - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN typenames THEN - RETURN (tspace\uniform_product_space.base); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN typenames THEN - RETURN (tspace\listed_product_space.factors[1]); - -- This path could return the indeterminate value if the list is empty. - -- This is the correct result for this case. - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN typenames THEN - RETURN (factor1 (tspace\extended_tuple_space.base)); - END_IF; - -- Should not be reachable. - RETURN (?); -END_FUNCTION; -- factor1 - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION shape_of_array(func : maths_function) : LIST OF positive_integer; - LOCAL - tspace : tuple_space; - temp : maths_space; - result : LIST OF positive_integer := []; - END_LOCAL; - IF (schema_prefix + 'EXPLICIT_TABLE_FUNCTION') IN TYPEOF (func) THEN - RETURN (func\explicit_table_function.shape); - END_IF; - tspace := func.domain; - IF (space_dimension (tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (tspace))) THEN - tspace := factor1 (tspace); - END_IF; - REPEAT i := 1 TO space_dimension (tspace); - temp := factor_space (tspace, i); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (?); - END_IF; - INSERT (result, temp\finite_integer_interval.size, i-1); - END_REPEAT; - RETURN (result); -END_FUNCTION; -- shape_of_array - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_definite_integral_domain(igrl : definite_integral_function) - : tuple_space; - - -- Internal utility function: - FUNCTION process_product_space(spc : product_space; - idx, prefix : INTEGER; - vdomn : maths_space) : product_space; - LOCAL - uspc : uniform_product_space; - expnt : INTEGER; - factors : LIST OF maths_space; - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN TYPEOF (spc) THEN - uspc := spc; - expnt := uspc.exponent + prefix; - IF idx <= uspc.exponent THEN expnt := expnt - 1; END_IF; - IF expnt = 0 THEN - RETURN (make_listed_product_space([])); - ELSE - RETURN (make_uniform_product_space(uspc.base,expnt)); - END_IF; - ELSE - factors := spc\listed_product_space.factors; - IF idx <= SIZEOF (factors) THEN REMOVE (factors, idx); END_IF; - IF prefix > 0 THEN - INSERT (factors, vdomn, 0); - IF prefix > 1 THEN INSERT (factors, vdomn, 0); END_IF; - END_IF; - RETURN (make_listed_product_space(factors)); - END_IF; - END_FUNCTION; -- process_product_space - - -- Resume body of derive_definite_integral_domain function - LOCAL - idomn : tuple_space := igrl.integrand.domain; - types : SET OF STRING := TYPEOF (idomn); - idx : INTEGER := igrl.variable_of_integration; - tupled : BOOLEAN := bool(((space_dimension(idomn) = 1) AND - ((schema_prefix + 'TUPLE_SPACE') IN types))); - prefix : INTEGER := 0; - espc : extended_tuple_space; - vdomn : maths_space; - END_LOCAL; - IF tupled THEN - idomn := factor1(idomn); - types := TYPEOF (idomn); - END_IF; - IF igrl.lower_limit_neg_infinity THEN prefix := prefix + 1; END_IF; - IF igrl.upper_limit_pos_infinity THEN prefix := prefix + 1; END_IF; - vdomn := factor_space(idomn,idx); - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN types THEN - espc := idomn; - idomn := make_extended_tuple_space(process_product_space(espc.base,idx, - prefix,vdomn),espc.extender); - ELSE - idomn := process_product_space(idomn,idx,prefix,vdomn); - END_IF; - IF tupled THEN RETURN (one_tuples_of(idomn)); - ELSE RETURN (idomn); END_IF; -END_FUNCTION; -- derive_definite_integral_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_function_range(func : maths_function) : tuple_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(func); - tspace : tuple_space := make_listed_product_space ([]); - m, n : nonnegative_integer := 0; - temp : INTEGER := 0; - END_LOCAL; - IF 'FINITE_FUNCTION' IN typenames THEN - RETURN (derive_finite_function_range (func\finite_function.pairs)); - END_IF; - IF 'CONSTANT_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_finite_space ([func\constant_function.sole_output]))); - END_IF; - IF 'SELECTOR_FUNCTION' IN typenames THEN - tspace := func.domain; - IF (space_dimension(tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (tspace)) THEN - tspace := factor1 (tspace); - END_IF; - RETURN (one_tuples_of (factor_space (tspace, func\selector_function.selector))); - END_IF; - IF 'ELEMENTARY_FUNCTION' IN typenames THEN - RETURN (derive_elementary_function_range (func\elementary_function.func_id)); - END_IF; - IF 'RESTRICTION_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (func\restriction_function.operand)); - END_IF; - IF 'REPACKAGING_FUNCTION' IN typenames THEN - tspace := func\repackaging_function.operand.range; - IF func\repackaging_function.output_repack = ro_wrap_as_tuple THEN - tspace := one_tuples_of (tspace); - END_IF; - IF func\repackaging_function.output_repack = ro_unwrap_tuple THEN - tspace := factor1 (tspace); - END_IF; - IF func\repackaging_function.selected_output > 0 THEN - tspace := one_tuples_of (factor_space (tspace, - func\repackaging_function.selected_output)); - END_IF; - RETURN (tspace); - END_IF; - IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN - RETURN (func\unary_generic_expression.operand\maths_function.range); - END_IF; - IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN - RETURN (func\series_composed_function.operands[SIZEOF - (func\series_composed_function.operands)].range); - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN - RETURN (func\parallel_composed_function.final_function.range); - END_IF; - IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN - IF 'LISTED_REAL_DATA' IN typenames THEN - RETURN (one_tuples_of (the_reals)); - END_IF; - IF 'LISTED_INTEGER_DATA' IN typenames THEN - RETURN (one_tuples_of (the_integers)); - END_IF; - IF 'LISTED_LOGICAL_DATA' IN typenames THEN - RETURN (one_tuples_of (the_logicals)); - END_IF; - IF 'LISTED_STRING_DATA' IN typenames THEN - RETURN (one_tuples_of (the_strings)); - END_IF; - IF 'LISTED_COMPLEX_NUMBER_DATA' IN typenames THEN - RETURN (one_tuples_of (the_complex_numbers)); - END_IF; - IF 'LISTED_DATA' IN typenames THEN - RETURN (one_tuples_of (func\listed_data.value_range)); - END_IF; - IF 'EXTERNALLY_LISTED_DATA' IN typenames THEN - RETURN (one_tuples_of (func\externally_listed_data.value_range)); - END_IF; - IF 'LINEARIZED_TABLE_FUNCTION' IN typenames THEN - RETURN (func\linearized_table_function.source.range); - END_IF; - IF 'BASIC_SPARSE_MATRIX' IN typenames THEN - RETURN (func\basic_sparse_matrix.val.range); - END_IF; - -- Unreachable, as no other subtypes of explicit_table_function are permissible - -- without first modifying this function to account for them. - RETURN (?); - END_IF; - IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\homogeneous_linear_function.mat.range), - func\homogeneous_linear_function.mat\explicit_table_function.shape - [3 - func\homogeneous_linear_function.sum_index]))); - END_IF; - IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\general_linear_function.mat.range), - func\general_linear_function.mat\explicit_table_function.shape - [3 - func\general_linear_function.sum_index]))); - END_IF; - IF 'B_SPLINE_BASIS' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space (the_reals, - func\b_spline_basis.num_basis))); - END_IF; - IF 'B_SPLINE_FUNCTION' IN typenames THEN - tspace := factor1 (func\b_spline_function.coef.domain); - m := SIZEOF (func\b_spline_function.basis); - n := space_dimension (tspace); - IF m = n THEN - RETURN (one_tuples_of (the_reals)); - END_IF; - IF m = n - 1 THEN - RETURN (one_tuples_of (make_uniform_product_space (the_reals, - factor_space (tspace, n)\finite_integer_interval.size))); - END_IF; - tspace := extract_factors (tspace, m+1, n); - RETURN (one_tuples_of (make_function_space (sc_equal, tspace, sc_subspace, - number_superspace_of (func\b_spline_function.coef.range)))); - END_IF; - IF 'RATIONALIZE_FUNCTION' IN typenames THEN - tspace := factor1 (func\rationalize_function.fun.range); - n := space_dimension (tspace); - RETURN (one_tuples_of (make_uniform_product_space (number_superspace_of ( - factor1 (tspace)), n-1))); - END_IF; - IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN - RETURN (drop_numeric_constraints ( - func\partial_derivative_function.derivand.range)); - END_IF; - IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN - RETURN (drop_numeric_constraints ( - func\definite_integral_function.integrand.range)); - END_IF; - IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN - RETURN (one_tuples_of(values_space_of(func\abstracted_expression_function.expr))); - END_IF; - IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN - RETURN (values_space_of (func\expression_denoted_function.expr)\function_space. - range_argument); - END_IF; - IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_point_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_curve_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_surface_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_volume_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN - RETURN (func\application_defined_function.explicit_range); - END_IF; - -- Unreachable, as no other subtypes of maths_function are permissible without - -- first modifying this function to account for them. - RETURN (?); -END_FUNCTION; -- derive_function_range - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_finite_function_range(pairs : SET [1:?] OF LIST [2:2] OF maths_value) - : tuple_space; - LOCAL - result : SET OF maths_value := []; - END_LOCAL; --- An ambiguity in ISO 10303-11:1994 pages 99-101 leaves the result of the following --- three lines ambiguous in those cases where an operand is simultaneously a member --- of the base type and the aggregate type. --- REPEAT i := 1 TO SIZEOF (pairs); --- result := result + pairs[i][2]; --- END_REPEAT; --- The next line unions an empty set and the desired list to get the desired set. - result := result + list_selected_components (pairs, 2); - RETURN (one_tuples_of (make_finite_space (result))); -END_FUNCTION; -- derive_finite_function_range - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_elementary_function_range(ef_val : elementary_function_enumerators) - : tuple_space; - IF NOT EXISTS (ef_val) THEN RETURN (?); END_IF; - CASE ef_val OF - ef_and : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_or : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_not : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_xor : RETURN (make_uniform_product_space (the_logicals, 2)); - ef_negate_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_add_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_subtract_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_multiply_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_divide_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_mod_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_exponentiate_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_eq_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_abs_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_if_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_negate_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_reciprocal_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_add_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_subtract_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_multiply_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_divide_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_mod_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_exponentiate_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_exponentiate_ri : RETURN (make_uniform_product_space (the_reals, 1)); - ef_eq_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_abs_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_acos_r : RETURN (make_uniform_product_space (the_zero_pi_interval, 1)); - ef_asin_r : RETURN (make_uniform_product_space (the_neghalfpi_halfpi_interval, 1)); - ef_atan2_r : RETURN (make_uniform_product_space (the_negpi_pi_interval, 1)); - ef_cos_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_exp_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_ln_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_log2_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_log10_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_sin_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_sqrt_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_tan_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_if_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_negate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_reciprocal_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_add_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_subtract_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_multiply_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_divide_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exponentiate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exponentiate_ci : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_eq_c : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_c : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_conjugate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_abs_c : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_arg_c : RETURN (make_uniform_product_space (the_negpi_pi_interval, 1)); - ef_cos_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exp_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_ln_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sin_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sqrt_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_tan_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_if_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_subscript_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_eq_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_subsequence_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_concat_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_size_s : RETURN (make_uniform_product_space (the_integers, 1)); - ef_format : RETURN (make_uniform_product_space (the_strings, 1)); - ef_value : RETURN (make_uniform_product_space (the_reals, 1)); - ef_like : RETURN (make_uniform_product_space (the_booleans, 1)); - ef_if_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_subscript_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_eq_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_subsequence_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_concat_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_size_b : RETURN (make_uniform_product_space (the_integers, 1)); - ef_if_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_subscript_t : RETURN (make_uniform_product_space (the_generics, 1)); - ef_eq_t : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_t : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_concat_t : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_size_t : RETURN (make_uniform_product_space (the_integers, 1)); - ef_entuple : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_detuple : RETURN (the_tuples); - ef_insert : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_remove : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_if_t : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_sum_it : RETURN (make_uniform_product_space (the_integers, 1)); - ef_product_it : RETURN (make_uniform_product_space (the_integers, 1)); - ef_add_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_subtract_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_scalar_mult_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_dot_prod_it : RETURN (make_uniform_product_space (the_integers, 1)); - ef_sum_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_product_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_add_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_subtract_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_scalar_mult_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_dot_prod_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_norm_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_sum_ct : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_product_ct : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_add_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_subtract_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_scalar_mult_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_dot_prod_ct : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_norm_ct : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_if : RETURN (make_uniform_product_space (the_generics, 1)); - ef_ensemble : RETURN (make_uniform_product_space (the_maths_spaces, 1)); - ef_member_of : RETURN (make_uniform_product_space (the_logicals, 1)); - OTHERWISE : RETURN (?); - END_CASE; -END_FUNCTION; -- derive_elementary_function_range - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION extract_factors(tspace : tuple_space; - m, n : INTEGER) : tuple_space; - LOCAL - tsp : tuple_space := the_zero_tuple_space; - END_LOCAL; - REPEAT i := m TO n; - tsp := assoc_product_space (tsp, factor_space (tspace, i)); - END_REPEAT; - RETURN (tsp); -END_FUNCTION; -- extract_factors -(* REFERENCE FROM (geometry_schema); *) -FUNCTION dimension_of - (item : geometric_representation_item) : dimension_count; -LOCAL - x : SET OF representation; - y : representation_context; - dim : dimension_count; - END_LOCAL; - -- For cartesian_point, direction, or vector dimension is determined by - -- counting components. - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF(item) THEN - dim := SIZEOF(item\cartesian_point.coordinates); - RETURN(dim); - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION' IN TYPEOF(item) THEN - dim := SIZEOF(item\direction.direction_ratios); - RETURN(dim); - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF(item) THEN - dim := SIZEOF(item\vector.orientation\direction.direction_ratios); - RETURN(dim); - END_IF; - -- For all other types of geometric_representation_item dim is obtained - -- via context. - -- Find the set of representation in which the item is used. - - x := using_representations(item); - - -- Determines the dimension_count of the - -- geometric_representation_context. Note that the - -- RULE compatible_dimension ensures that the context_of_items - -- is of type geometric_representation_context and has - -- the same dimension_count for all values of x. - -- The SET x is non-empty for legal instances since this is required by WR1 of - -- representation_item. - IF (SIZEOF(x) > 0) THEN - y := x[1].context_of_items; - dim := y\geometric_representation_context.coordinate_space_dimension; - RETURN (dim); - ELSE - RETURN(?); - -- mark error by returning indeterminate result - END_IF;END_FUNCTION; -(* REFERENCE FROM (representation_schema); *) - FUNCTION using_representations (item : founded_item_select) - : SET OF representation; - LOCAL - results : SET OF representation; - result_bag : BAG OF representation; - intermediate_items : SET OF founded_item_select; - END_LOCAL; - -- Find the representations in which the item is used and add to the - -- results set. - results := []; - result_bag := USEDIN(item,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS'); - IF SIZEOF(result_bag) > 0 THEN - REPEAT i := 1 TO HIINDEX(result_bag); - results := results + result_bag[i]; - END_REPEAT; - END_IF; - -- Find all representation_items or founded_items - -- by which item is referenced directly or indirectly. - intermediate_items := using_items(item,[]); - -- If the set of intermediate items is not empty; - IF SIZEOF(intermediate_items) > 0 THEN - -- For each element in the set, add the - -- representations of that element. - REPEAT i := 1 TO HIINDEX(intermediate_items); - result_bag := USEDIN(intermediate_items[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS'); - IF SIZEOF(result_bag) > 0 THEN - REPEAT j := 1 TO HIINDEX(result_bag); - results := results + result_bag[j]; - END_REPEAT; - END_IF; - END_REPEAT; - END_IF; - -- Return the set of representation in which the input item is - -- used directly and indirectly (through intervening - -- representation_items or founded items). - RETURN (results); - END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION using_items (item : founded_item_select; - checked_items: SET OF founded_item_select) - : SET OF founded_item_select; - LOCAL - new_check_items : SET OF founded_item_select; - result_items : SET OF founded_item_select; - next_items : SET OF founded_item_select; - END_LOCAL; - result_items := []; - new_check_items := checked_items + item; - -- Find the set of representation_items or founded_items - -- in which item is used directly. - next_items := QUERY(z <* bag_to_set( USEDIN(item , '')) | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FOUNDED_ITEM' IN TYPEOF(z))); - -- If the set of next_items is not empty; - IF SIZEOF(next_items) > 0 THEN - -- For each element in the set, find the using_items recursively - REPEAT i := 1 TO HIINDEX(next_items); - -- Check for loop in data model, i.e. one of the next_items - -- occurred earlier in the set of check_items; - IF NOT(next_items[i] IN new_check_items) THEN - result_items := result_items + next_items[i] + - using_items(next_items[i],new_check_items); - END_IF; - END_REPEAT; - END_IF; - -- return the set of representation_items or founded_items - -- in which the input item is used directly and indirectly. - RETURN (result_items); - END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION no_cyclic_domain_reference(ref : maths_space_or_function; - used : SET OF maths_function) : BOOLEAN; - LOCAL - typenames : SET OF STRING := TYPEOF (ref); - func : maths_function; - END_LOCAL; - IF (NOT EXISTS (ref)) OR (NOT EXISTS (used)) THEN - RETURN (FALSE); - END_IF; - IF (schema_prefix + 'MATHS_SPACE') IN typenames THEN - RETURN (TRUE); - END_IF; - func := ref; - IF func IN used THEN - RETURN (FALSE); - END_IF; - IF (schema_prefix + 'CONSTANT_FUNCTION') IN typenames THEN - RETURN (no_cyclic_domain_reference (func\constant_function.source_of_domain, - used + [func])); - END_IF; - IF (schema_prefix + 'SELECTOR_FUNCTION') IN typenames THEN - RETURN (no_cyclic_domain_reference (func\selector_function.source_of_domain, - used + [func])); - END_IF; - IF (schema_prefix + 'PARALLEL_COMPOSED_FUNCTION') IN typenames THEN - RETURN (no_cyclic_domain_reference ( - func\parallel_composed_function.source_of_domain, used + [func])); - END_IF; - RETURN (TRUE); -END_FUNCTION; -- no_cyclic_domain_reference - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION repackage(tspace : tuple_space; - repckg : repackage_options) : tuple_space; - CASE repckg OF - ro_nochange : RETURN (tspace); - ro_wrap_as_tuple : RETURN (one_tuples_of (tspace)); - ro_unwrap_tuple : RETURN (factor1 (tspace)); - OTHERWISE : RETURN (?); - END_CASE; -END_FUNCTION; -- repackage - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_array(func : maths_function) : BOOLEAN; - LOCAL - tspace : tuple_space; - temp : maths_space; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - tspace := func.domain; - IF (space_dimension (tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (tspace))) THEN - tspace := factor1 (tspace); - END_IF; - IF NOT ((schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (tspace)) THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO space_dimension (tspace); - temp := factor_space (tspace, i); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- function_is_array - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION composable_sequence(operands : LIST [2:?] OF maths_function) : BOOLEAN; - REPEAT i := 1 TO SIZEOF (operands) - 1; - IF NOT compatible_spaces (operands[i].range, operands[i+1].domain) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- composable_sequence - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION parallel_composed_function_domain_check( - comdom : tuple_space; - funcs : LIST OF maths_function) : BOOLEAN; - REPEAT i := 1 TO SIZEOF (funcs); - IF NOT (compatible_spaces (comdom, funcs[i].domain)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- parallel_composed_function_domain_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION parallel_composed_function_composability_check( - funcs : LIST OF maths_function; - final : maths_function_select) : BOOLEAN; - LOCAL - tplsp : tuple_space := the_zero_tuple_space; - finfun : maths_function := convert_to_maths_function (final); - END_LOCAL; - REPEAT i := 1 TO SIZEOF (funcs); - tplsp := assoc_product_space (tplsp, funcs[i].range); - END_REPEAT; - RETURN (compatible_spaces (tplsp, finfun.domain)); -END_FUNCTION; -- parallel_composed_function_composability_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_1d_array(func : maths_function) : BOOLEAN; - LOCAL - temp : maths_space; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - IF space_dimension (func.domain) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (func.domain); - IF (schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (temp) THEN - IF space_dimension (temp) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (temp); - END_IF; - IF (schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp) THEN - RETURN (TRUE); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- function_is_1d_array - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION extremal_position_check(fun : linearized_table_function) : BOOLEAN; - LOCAL - source_domain : maths_space; - source_interval : finite_integer_interval; - index : INTEGER := 1; - base : INTEGER; - shape : LIST OF positive_integer; - ndim : positive_integer; - slo, shi : INTEGER; - sublo : LIST OF INTEGER := []; - subhi : LIST OF INTEGER := []; - END_LOCAL; - IF NOT EXISTS (fun) THEN RETURN (FALSE); END_IF; - source_domain := factor1 (fun.source.domain); - IF (schema_prefix + 'TUPLE_SPACE') IN TYPEOF (source_domain) THEN - source_domain := factor1 (source_domain); - END_IF; - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (source_domain)) THEN - RETURN (FALSE); - END_IF; - source_interval := source_domain; - base := fun\explicit_table_function.index_base; - shape := fun\explicit_table_function.shape; - IF (schema_prefix + 'STANDARD_TABLE_FUNCTION') IN TYPEOF (fun) THEN - REPEAT j := 1 TO SIZEOF (shape); - index := index * shape[j]; - END_REPEAT; - index := fun.first + index - 1; - RETURN (bool({source_interval.min <= index <= source_interval.max})); - END_IF; - IF (schema_prefix + 'REGULAR_TABLE_FUNCTION') IN TYPEOF (fun) THEN - ndim := SIZEOF (fun\explicit_table_function.shape); - REPEAT j:= 1 TO ndim; - slo := base; - shi := base + shape[j] - 1; - IF fun\regular_table_function.increments[j] >= 0 THEN - INSERT (sublo, slo, j-1); - INSERT (subhi, shi, j-1); - ELSE - INSERT (sublo, shi, j-1); - INSERT (subhi, slo, j-1); - END_IF; - END_REPEAT; - index := regular_indexing (sublo, base, shape, - fun\regular_table_function.increments, fun.first); - IF NOT ({source_interval.min <= index <= source_interval.max}) THEN - RETURN (FALSE); - END_IF; - index := regular_indexing (subhi, base, shape, - fun\regular_table_function.increments, fun.first); - IF NOT ({source_interval.min <= index <= source_interval.max}) THEN - RETURN (FALSE); - END_IF; - RETURN (TRUE); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- extremal_position_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION regular_indexing(sub : LIST OF INTEGER; - base : zero_or_one; - shape : LIST [1:?] OF positive_integer; - inc : LIST [1:?] OF INTEGER; - first : INTEGER) : INTEGER; - LOCAL - k : INTEGER; - index : INTEGER; - END_LOCAL; - IF NOT EXISTS (sub) OR NOT EXISTS (base) OR NOT EXISTS (shape) OR - NOT EXISTS (inc) OR NOT EXISTS (first) THEN - RETURN (?); - END_IF; - IF (SIZEOF (sub) <> SIZEOF (inc)) OR (SIZEOF (sub) <> SIZEOF (shape)) THEN - RETURN (?); - END_IF; - index := first; - REPEAT j := 1 TO SIZEOF (sub); - IF NOT EXISTS (sub[j]) OR NOT EXISTS (inc[j]) THEN - RETURN (?); - END_IF; - k := sub[j] - base; - IF NOT ({0 <= k < shape[j]}) THEN - RETURN (?); - END_IF; - index := index + k*inc[j]; - END_REPEAT; - RETURN (index); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_1d_table(func : maths_function) : BOOLEAN; - LOCAL - temp : maths_space; - itvl : finite_integer_interval; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - IF space_dimension (func.domain) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (func.domain); - IF (schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (temp) THEN - IF space_dimension (temp) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (temp); - END_IF; - IF (schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp) THEN - itvl := temp; - RETURN (bool((itvl.min = 0) OR (itvl.min = 1))); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- function_is_1d_table - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION check_sparse_index_domain(idxdom : tuple_space; - base : zero_or_one; - shape : LIST [1:?] OF positive_integer; - order : ordering_type) : BOOLEAN; - LOCAL - mthspc : maths_space; - interval : finite_integer_interval; - i : INTEGER; - END_LOCAL; - mthspc := factor1(idxdom); - -- A consequence of WR1 of basic_sparse_matrix is that here we need only - -- consider the case that mthspc is a finite integer interval and is the only - -- factor space of idxdom. - interval := mthspc; - IF order = by_rows THEN i := 1; ELSE i := 2; END_IF; - RETURN (bool((interval.min <= base) AND (interval.max >= base + shape[i]))); - -- The index function is evaluated at (base+shape[i]) when determining the - -- upper search bound for entries of the last row or column, respectively. -END_FUNCTION; -- check_sparse_index_domain; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION check_sparse_index_to_loc(index_range, loc_domain : tuple_space) : BOOLEAN; - LOCAL - temp : maths_space; - idx_rng_itvl, loc_dmn_itvl : finite_integer_interval; - END_LOCAL; - temp := factor1 (index_range); - IF (schema_prefix + 'TUPLE_SPACE') IN TYPEOF (temp) THEN - temp := factor1 (temp); - END_IF; - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - idx_rng_itvl := temp; - temp := factor1 (loc_domain); - IF (schema_prefix + 'TUPLE_SPACE') IN TYPEOF (temp) THEN - temp := factor1 (temp); - END_IF; - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - loc_dmn_itvl := temp; - RETURN (bool((loc_dmn_itvl.min <= idx_rng_itvl.min) AND - (idx_rng_itvl.max <= loc_dmn_itvl.max+1))); -END_FUNCTION; -- check_sparse_index_to_loc - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION check_sparse_loc_range(locrng : tuple_space; - base : zero_or_one; - shape : LIST [1:?] OF positive_integer; - order : ordering_type) : BOOLEAN; - LOCAL - mthspc : maths_space; - interval : finite_integer_interval; - i : INTEGER; - END_LOCAL; - IF space_dimension(locrng) <> 1 THEN RETURN (FALSE); END_IF; - mthspc := factor1(locrng); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (mthspc)) THEN - RETURN (FALSE); - END_IF; - interval := mthspc; - IF order = by_rows THEN i := 2; ELSE i := 1; END_IF; - RETURN (bool((interval.min >= base) AND (interval.max <= base + shape[i] - 1))); -END_FUNCTION; -- check_sparse_loc_range; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_2d_table(func : maths_function) : BOOLEAN; - LOCAL - temp : maths_space; - pspace : product_space; - itvl1, itvl2 : finite_integer_interval; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - IF space_dimension (func.domain) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (func.domain); - IF NOT ('PRODUCT_SPACE' IN stripped_typeof(temp)) THEN RETURN (FALSE); END_IF; - pspace := temp; - IF space_dimension (pspace) <> 2 THEN RETURN (FALSE); END_IF; - temp := factor1 (pspace); - IF NOT ('FINITE_INTEGER_INTERVAL' IN stripped_typeof(temp)) THEN - RETURN (FALSE); - END_IF; - itvl1 := temp; - temp := factor_space (pspace, 2); - IF NOT ('FINITE_INTEGER_INTERVAL' IN stripped_typeof(temp)) THEN - RETURN (FALSE); - END_IF; - itvl2 := temp; - RETURN (bool((itvl1.min = itvl2.min) AND ((itvl1.min = 0) OR (itvl1.min = 1)))); -END_FUNCTION; -- function_is_2d_table - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION nondecreasing(lr : LIST OF REAL) : BOOLEAN; - IF NOT EXISTS (lr) THEN - RETURN (FALSE); - END_IF; - REPEAT j := 2 TO SIZEOF (lr); - IF lr[j] < lr[j-1] THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_table(func : maths_function) : BOOLEAN; - LOCAL - tspace : tuple_space; - temp : maths_space; - base : INTEGER; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - tspace := func.domain; - IF (space_dimension (tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (tspace))) THEN - tspace := factor1 (tspace); - END_IF; - IF NOT ((schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (tspace)) THEN - RETURN (FALSE); - END_IF; - temp := factor1 (tspace); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - base := temp\finite_integer_interval.min; - IF (base <> 0) AND (base <> 1) THEN - RETURN (FALSE); - END_IF; - REPEAT i := 2 TO space_dimension (tspace); - temp := factor_space (tspace, i); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - IF temp\finite_integer_interval.min <> base THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- function_is_table - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compare_basis_and_coef(basis : LIST [1:?] OF b_spline_basis; - coef : maths_function) : BOOLEAN; - LOCAL - shape : LIST OF positive_integer; - END_LOCAL; - IF NOT EXISTS (basis) OR NOT EXISTS (coef) THEN RETURN (FALSE); END_IF; - shape := shape_of_array(coef); - IF NOT EXISTS (shape) THEN RETURN (FALSE); END_IF; - IF SIZEOF (shape) < SIZEOF (basis) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (basis); - IF (basis[i].num_basis = shape[i]) <> TRUE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- compare_basis_and_coef - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION number_tuple_subspace_check(spc : maths_space) : LOGICAL; - LOCAL - types : SET OF STRING := stripped_typeof(spc); - factors : LIST OF maths_space; - cum : LOGICAL := TRUE; - END_LOCAL; - IF 'UNIFORM_PRODUCT_SPACE' IN types THEN - RETURN (subspace_of_es(spc\uniform_product_space.base,es_numbers)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types THEN - factors := spc\listed_product_space.factors; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND subspace_of_es(factors[i],es_numbers); - END_REPEAT; - RETURN (cum); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types THEN - cum := subspace_of_es(spc\extended_tuple_space.extender,es_numbers); - cum := cum AND number_tuple_subspace_check(spc\extended_tuple_space.base); - RETURN (cum); - END_IF; - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION space_is_continuum(space : maths_space) : BOOLEAN; - LOCAL - typenames : SET OF STRING := TYPEOF (space); - factors : LIST OF maths_space; - END_LOCAL; - IF NOT EXISTS (space) THEN - RETURN (FALSE); - END_IF; - IF subspace_of_es(space,es_reals) OR subspace_of_es(space,es_complex_numbers) THEN - RETURN (TRUE); - END_IF; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN typenames THEN - RETURN (space_is_continuum(space\uniform_product_space.base)); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN typenames THEN - factors := space\listed_product_space.factors; - IF SIZEOF(factors) = 0 THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO SIZEOF (factors); - IF NOT space_is_continuum(factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- space_is_continuum - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION partial_derivative_check(domain : tuple_space; - d_vars : LIST [1:?] OF input_selector) : BOOLEAN; - LOCAL - domn : tuple_space := domain; - fspc : maths_space; - dim : INTEGER; - k : INTEGER; - END_LOCAL; - IF (space_dimension (domain) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (domain))) THEN - domn := factor1 (domain); - END_IF; - dim := space_dimension (domn); - REPEAT i := 1 TO SIZEOF (d_vars); - k := d_vars[i]; - IF k > dim THEN - RETURN (FALSE); - END_IF; - fspc := factor_space (domn, k); - IF (NOT subspace_of_es (fspc,es_reals)) AND - (NOT subspace_of_es (fspc,es_complex_numbers)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- partial_derivative_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION definite_integral_check(domain : tuple_space; - vrblint : input_selector; - lowerinf : BOOLEAN; - upperinf : BOOLEAN) : BOOLEAN; - LOCAL - domn : tuple_space := domain; - fspc : maths_space; - dim : nonnegative_integer; - k : positive_integer; - END_LOCAL; - IF (space_dimension (domain) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (domain))) THEN - domn := factor1 (domain); - END_IF; - dim := space_dimension (domn); - k := vrblint; - IF k > dim THEN RETURN (FALSE); END_IF; - fspc := factor_space (domn, k); - IF NOT ((schema_prefix + 'REAL_INTERVAL') IN TYPEOF (fspc)) THEN - RETURN (FALSE); - END_IF; - IF lowerinf AND min_exists (fspc) THEN RETURN (FALSE); END_IF; - IF upperinf AND max_exists (fspc) THEN RETURN (FALSE); END_IF; - RETURN (TRUE); -END_FUNCTION; -- definite_integral_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION definite_integral_expr_check(operands : LIST [2:?] OF generic_expression; - lowerinf : BOOLEAN; - upperinf : BOOLEAN) : BOOLEAN; - LOCAL - nops : INTEGER := 2; - vspc : maths_space; - dim : nonnegative_integer; - k : positive_integer; - bspc : maths_space; - END_LOCAL; - IF NOT lowerinf THEN nops := nops + 1; END_IF; - IF NOT upperinf THEN nops := nops + 1; END_IF; - IF SIZEOF (operands) <> nops THEN RETURN (FALSE); END_IF; - IF NOT ('GENERIC_VARIABLE' IN stripped_typeof(operands[2])) THEN - RETURN (FALSE); - END_IF; - IF NOT has_values_space (operands[2]) THEN RETURN (FALSE); END_IF; - vspc := values_space_of (operands[2]); - IF NOT ('REAL_INTERVAL' IN stripped_typeof(vspc)) THEN RETURN (FALSE); END_IF; - IF lowerinf THEN - IF min_exists (vspc) THEN RETURN (FALSE); END_IF; - k := 3; - ELSE - IF NOT has_values_space (operands[3]) THEN RETURN (FALSE); END_IF; - bspc := values_space_of (operands[3]); - IF NOT compatible_spaces (bspc, vspc) THEN RETURN (FALSE); END_IF; - k := 4; - END_IF; - IF upperinf THEN - IF max_exists (vspc) THEN RETURN (FALSE); END_IF; - ELSE - IF NOT has_values_space (operands[k]) THEN RETURN (FALSE); END_IF; - bspc := values_space_of (operands[k]); - IF NOT compatible_spaces (bspc, vspc) THEN RETURN (FALSE); END_IF; - END_IF; - RETURN (TRUE); -END_FUNCTION; -- definite_integral_expr_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION remove_first(alist : LIST OF GENERIC:GEN) : LIST OF GENERIC:GEN; - LOCAL - blist : LIST OF GENERIC:GEN := alist; - END_LOCAL; - IF SIZEOF (blist) > 0 THEN - REMOVE (blist, 1); - END_IF; - RETURN (blist); -END_FUNCTION; -- remove_first - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION dotted_identifiers_syntax(str : STRING) : BOOLEAN; - LOCAL - k : positive_integer; - m : positive_integer; - END_LOCAL; - IF NOT EXISTS (str) THEN RETURN (FALSE); END_IF; - k := parse_express_identifier (str, 1); - IF k = 1 THEN RETURN (FALSE); END_IF; - REPEAT WHILE k <= LENGTH (str); - IF (str[k] <> '.') OR (k = LENGTH (str)) THEN RETURN (FALSE); END_IF; - m := parse_express_identifier (str, k+1); - IF m = k + 1 THEN RETURN (FALSE); END_IF; - k := m; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- dotted_identifiers_syntax - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION parse_express_identifier(s : STRING; - i : positive_integer) : positive_integer; - LOCAL - k : positive_integer; - END_LOCAL; - k := i; - IF i <= LENGTH (s) THEN - IF (s[i] LIKE '@') THEN - REPEAT UNTIL (k > LENGTH (s)) OR - ((s[k] <> '_') AND NOT (s[k] LIKE '@') AND NOT (s[k] LIKE '#')); - k := k + 1; - END_REPEAT; - END_IF; - END_IF; - RETURN (k); -END_FUNCTION; -- parse_express_identifier - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION dot_count(str : STRING) : INTEGER; - LOCAL - n : INTEGER := 0; - END_LOCAL; - REPEAT i := 1 TO LENGTH (str); - IF str[i] = '.' THEN n := n + 1; END_IF; - END_REPEAT; - RETURN (n); -END_FUNCTION; -- dot_count - -(* Implicit interfaced from: iso13584_generic_expressions_schema *) -FUNCTION is_acyclic (arg: generic_expression): BOOLEAN; -RETURN (acyclic (arg, [])); -END_FUNCTION ; -- is_acyclic - -(* Implicit interfaced from: iso13584_generic_expressions_schema *) -FUNCTION acyclic (arg1: generic_expression; - arg2: SET OF generic_expression): BOOLEAN; - -LOCAL - result: BOOLEAN := TRUE; -END_LOCAL; - -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIMPLE_GENERIC_EXPRESSION' - IN TYPEOF (arg1)) -THEN - RETURN (TRUE); -END_IF; - -IF arg1 IN arg2 -THEN - RETURN (FALSE); -END_IF; - -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNARY_GENERIC_EXPRESSION' - IN TYPEOF (arg1) -THEN - RETURN - (acyclic(arg1\unary_generic_expression.operand,arg2+[arg1])); -END_IF; - -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BINARY_GENERIC_EXPRESSION' - IN TYPEOF (arg1) -THEN - RETURN - (acyclic(arg1\binary_generic_expression.operands[1],arg2+[arg1]) - AND - acyclic(arg1\binary_generic_expression.operands[2],arg2+[arg1])); -END_IF; - -IF -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' - IN TYPEOF (arg1) -THEN - result := TRUE; - REPEAT i := 1 TO - SIZEOF (arg1\multiple_arity_generic_expression.operands); - result := result AND - acyclic(arg1\multiple_arity_generic_expression.operands[i], arg2+[arg1]); - END_REPEAT; - - RETURN (result); -END_IF; - RETURN (result); -END_FUNCTION; -- acyclic - -(* Implicit interfaced from: iso13584_expressions_schema *) -FUNCTION is_int_expr (arg: numeric_expression) : BOOLEAN; - -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INT_LITERAL' IN TYPEOF(arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REAL_LITERAL' IN TYPEOF(arg) -THEN - RETURN (FALSE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF(arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF(arg) -THEN - RETURN (FALSE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (is_int_expr(arg\unary_numeric_expression.operand)); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (is_int_expr(arg\unary_numeric_expression.operand)); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COS_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_ROOT_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MULT_EXPRESSION' - IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAXIMUM_FUNCTION' - IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINIMUM_FUNCTION' - IN TYPEOF(arg)) -THEN - REPEAT i :=1 TO SIZEOF ( - arg\multiple_arity_numeric_expression.operands); - IF NOT - is_int_expr(arg\multiple_arity_numeric_expression.operands[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POWER_EXPRESSION' - IN TYPEOF(arg)) -THEN - RETURN (is_int_expr(arg\binary_numeric_expression.operands[1]) - AND is_int_expr(arg\binary_numeric_expression.operands[2])); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg)) -THEN - RETURN(TRUE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLASH_EXPRESSION' IN TYPEOF(arg) -THEN - RETURN (FALSE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg) -THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INT_VALUE_FUNCTION' - IN TYPEOF(arg) - THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INTEGER_DEFINED_FUNCTION' - IN TYPEOF(arg) -THEN - RETURN(TRUE) ; -END_IF; -IF'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REAL_DEFINED_FUNCTION' IN TYPEOF(arg) -THEN - RETURN(FALSE) ; -END_IF ; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_DEFINED_FUNCTION' - IN TYPEOF(arg) -THEN - RETURN(FALSE) ; -END_IF ; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_DEFINED_FUNCTION' - IN TYPEOF(arg) -THEN - RETURN (FALSE) ; -END_IF ; - -RETURN (FALSE); - -END_FUNCTION; -- is_int_expr - -(* Implicit interfaced from: iso13584_expressions_schema *) -FUNCTION is_SQL_mappable (arg: expression) : BOOLEAN; - -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIMPLE_NUMERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQL_MAPPABLE_DEFINED_FUNCTION' - IN TYPEOF (arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (is_SQL_mappable(arg\unary_numeric_expression.operand)); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COS_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SQUARE_ROOT_FUNCTION' - IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg)) - OR('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MULT_EXPRESSION' IN TYPEOF(arg)) - OR('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAXIMUM_FUNCTION' - IN TYPEOF(arg)) - OR('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINIMUM_FUNCTION' - IN TYPEOF(arg)) -THEN - REPEAT i :=1 TO SIZEOF ( - arg\multiple_arity_numeric_expression.operands); - IF NOT is_SQL_mappable( - arg\multiple_arity_numeric_expression.operands[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; -RETURN (TRUE); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLASH_EXPRESSION' IN - TYPEOF(arg)) -THEN - RETURN (is_SQL_mappable( - arg\binary_numeric_expression.operands[1]) - AND is_SQL_mappable(arg\binary_numeric_expression.operands[2])); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg)) - OR('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POWER_EXPRESSION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIMPLE_BOOLEAN_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NOT_EXPRESSION' IN TYPEOF (arg) -THEN - RETURN (is_SQL_mappable (arg\UNARY_GENERIC_EXPRESSION.OPERAND)); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ODD_FUNCTION'IN TYPEOF (arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.XOR_EXPRESSION' - IN TYPEOF (arg)) -THEN - RETURN (FALSE); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AND_EXPRESSION' IN TYPEOF (arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OR_EXPRESSION' IN TYPEOF (arg)) -THEN - REPEAT i:=1 TO SIZEOF ( - arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS); - IF NOT is_SQL_mappable ( - arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EQUALS_EXPRESSION' IN TYPEOF (arg) -THEN - RETURN(is_SQL_mappable ( - arg\BINARY_GENERIC_EXPRESSION.OPERANDS [1]) - AND is_SQL_mappable( - arg\BINARY_GENERIC_EXPRESSION.OPERANDS [2])); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_EQUAL' IN TYPEOF (arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_GREATER' - IN TYPEOF (arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_GREATER_EQUAL' - IN TYPEOF (arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_LESS' - IN TYPEOF (arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_LESS_EQUAL' - IN TYPEOF (arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPARISON_NOT_EQUAL' - IN TYPEOF (arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LIKE_EXPRESSION' - IN TYPEOF (arg)) -THEN - RETURN (is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS[1]) - AND is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS[2])); -END_IF; -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INTERVAL_EXPRESSION' IN TYPEOF(arg) -THEN - RETURN (is_SQL_mappable(arg\interval_expression.interval_low) - AND is_SQL_mappable(arg\interval_expression.interval_high) - AND is_SQL_mappable(arg\interval_expression.interval_item)); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NUMERIC_DEFINED_FUNCTION' - IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_DEFINED_FUNCTION' - IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRING_DEFINED_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE) ; -END_IF; - -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SIMPLE_STRING_EXPRESSION' - IN TYPEOF(ARG) -THEN - RETURN (TRUE); -END_IF; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INDEX_EXPRESSION' IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBSTRING_EXPRESSION' - IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONCAT_EXPRESSION' - IN TYPEOF(arg)) - OR ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FORMAT_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; - - RETURN (FALSE); -END_FUNCTION; -- is_SQL_mappable -(* REFERENCE FROM (product_property_definition_schema); *) - FUNCTION get_shape_aspects (c_def_instance : characterized_definition):SET OF shape_aspect; - LOCAL - pd_set : SET OF product_definition_shape := []; - pdr_set : SET OF shape_aspect := []; - END_LOCAL; - - pd_set := bag_to_set(QUERY(pd <* USEDIN(c_def_instance, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd))); - IF (SIZEOF(pd_set) < 1) THEN - RETURN (pdr_set); - END_IF; - REPEAT i := 1 TO HIINDEX(pd_set); - pdr_set := pdr_set + bag_to_set(USEDIN(pd_set[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE')); - END_REPEAT; - RETURN (pdr_set); - END_FUNCTION; -(* REFERENCE FROM (product_property_representation_schema); *) - FUNCTION get_property_definition_representations (c_def_instance : characterized_definition):SET OF property_definition_representation; - LOCAL - pd_set : SET OF property_definition := []; - pdr_set : SET OF property_definition_representation := []; - END_LOCAL; - - pd_set := bag_to_set(USEDIN(c_def_instance, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')); - IF (SIZEOF(pd_set) < 1) THEN - RETURN (pdr_set); - END_IF; - REPEAT i := 1 TO HIINDEX(pd_set); - pdr_set := pdr_set + bag_to_set(USEDIN(pd_set[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')); - END_REPEAT; - RETURN (pdr_set); - END_FUNCTION; -(* REFERENCE FROM (Geometric_tolerance_mim); *) -FUNCTION get_shape_aspect_property_definition_representations - (s_a_instance : shape_aspect) : SET OF property_definition_representation; -LOCAL -pd_set : SET OF property_definition := []; -pdr_set : SET OF property_definition_representation := [] ; -END_LOCAL; -pd_set := bag_to_set(USEDIN(s_a_instance, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')); -IF (SIZEOF(pd_set) < 1) THEN -RETURN (pdr_set); -END_IF; -REPEAT i := 1 TO HIINDEX(pd_set); -pdr_set := pdr_set + (QUERY(pdr <* USEDIN(pd_set[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'DEFINITION') | -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr))); -END_REPEAT; -RETURN (pdr_set); -END_FUNCTION; - -(* Implicit interfaced from: Constructive_solid_geometry_2d_mim *) -FUNCTION valid_csg_2d_primitives (input : csg_solid_2d) : BOOLEAN; -CASE TRUE OF - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRIMITIVE_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : - BEGIN - IF (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_AREA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPLEX_AREA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPTIC_AREA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYGONAL_AREA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_AREA'] * TYPEOF(input\csg_solid_2d.tree_root_expression)) > 0) - THEN - RETURN(TRUE); - ELSE - RETURN(FALSE); - END_IF; - END; - - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOOLEAN_RESULT_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : - RETURN (valid_csg_2d_primitives(input\csg_solid_2d.tree_root_expression\boolean_result_2d.first_operand) - AND valid_csg_2d_primitives(input\csg_solid_2d.tree_root_expression\boolean_result_2d.second_operand)); - - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.HALF_SPACE_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : RETURN(TRUE); - - OTHERWISE : RETURN(FALSE); -END_CASE; -END_FUNCTION; - -(* Implicit interfaced from: Constructive_solid_geometry_2d_mim *) -FUNCTION open_path_based_inner_boundary (input : SET OF primitive_2d) : BOOLEAN; - LOCAL - pass : BOOLEAN := TRUE; - END_LOCAL; - REPEAT i := 1 TO SIZEOF(input); - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_AREA_WITH_PARAMETERS' IN TYPEOF(input[i])) - AND ( - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE' IN TYPEOF(input[i]\mapped_item.mapping_source\representation_map.mapping_origin)) - OR - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF(input[i]\mapped_item.mapping_source\representation_map.mapping_origin)) - AND - (input[i]\mapped_item.mapping_source\representation_map.mapping_origin\composite_curve.closed_curve = TRUE) - ) - ) - THEN - pass := FALSE; - END_IF; - END_REPEAT; - RETURN(pass); -END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr2 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF SIZEOF(agg) <= 5 THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr3 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF (SIZEOF(QUERY ( i <* agg | (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) - AND (i\representation_item.name = 'significant number of digits')) )) = 1) OR -((SIZEOF(QUERY ( i <* agg | (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'lower limit')) )) = 1) AND -(SIZEOF( QUERY ( i <* agg | (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'upper limit')) )) = 1)) THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr4 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF (SIZEOF(QUERY ( i <* agg | (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'plus minus tolerance value')) )) = 1) OR -((SIZEOF(QUERY ( i <* agg | (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ( - i\representation_item.name = 'lower tolerance value')) )) = 1) AND -(SIZEOF( QUERY ( i <* agg | (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ( - i\representation_item.name = 'upper tolerance value')) )) = 1)) THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr5 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF (SIZEOF(QUERY ( i <* agg | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) <= 1) AND -(SIZEOF(QUERY ( i <* agg | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) = - SIZEOF(QUERY ( i <* agg | (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'cell description'))) )) -THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Geometric_tolerance_mim *) -FUNCTION valid_datum_target_parameters (pdf : placed_datum_target_feature) : BOOLEAN; - LOCAL - rep_set : SET OF representation := [] ; - parameter_representations: SET OF representation; - END_LOCAL; - - REPEAT i := 1 TO HIINDEX(pdf.representation_associations); - rep_set := rep_set + pdf.representation_associations[i].used_representation; - END_REPEAT; - parameter_representations := QUERY(rep <* rep_set | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(rep))); - - IF (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='orientation') AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF(i)))) = 1))) <> 1) THEN - RETURN(FALSE); - END_IF; - CASE pdf\shape_aspect.description OF - 'point': RETURN(SIZEOF(QUERY( srwp <* parameter_representations | - (SIZEOF(srwp.items) = 1))) = 1); - 'circle', 'circular curve': RETURN((SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF(srwp.items) = 2))) = 1) AND - (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target diameter') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) )) = 1))) = 1)); - 'line': RETURN(SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target length') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) )) = 1))) = 1); - 'rectangle': RETURN((SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF(srwp.items)= 3))) = 1) AND - (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target length') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2))) = 1))) = 1) AND - (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target width') AND - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2))) = 1) )) = 1)); - OTHERWISE : RETURN(FALSE); - END_CASE; -END_FUNCTION; - -(* Implicit interfaced from: Inertia_characteristics_mim *) -FUNCTION value_range_aggregate_rep_item (agg : AGGREGATE OF representation_item) : BOOLEAN; - BEGIN - IF (SIZEOF(QUERY(i1 <* agg | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i1)) )) = 6) THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; - END; -END_FUNCTION; - -(* Implicit interfaced from: Ply_orientation_specification_mim *) - FUNCTION derive_angle (placement_1 : axis2_placement_3d; - placement_2 : axis2_placement_3d) : - plane_angle_measure; - LOCAL - v1 : direction; - v2 : direction; - mag_v1 : REAL; - mag_v2 : REAL; - theta : plane_angle_measure; - END_LOCAL; - v1 := placement_1.p[1]; - v2 := placement_2.p[1]; - mag_v1 := SQRT (v1.direction_ratios[1]*v1.direction_ratios[1] + - v1.direction_ratios[2]*v1.direction_ratios[2]); - mag_v2 := SQRT (v2.direction_ratios[1]*v2.direction_ratios[1] + - v2.direction_ratios[2]*v2.direction_ratios[2]); - IF ((mag_v1 = 0.0) OR (mag_v2 = 0.0)) THEN - theta := 0.0; - RETURN (theta); - END_IF; - theta := ACOS ((v1.direction_ratios[1]*v2.direction_ratios[1] + - v1.direction_ratios[2]*v2.direction_ratios[2]) / - (mag_v1*mag_v2)); - RETURN (theta); - END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_description_value (obj : description_attribute_select):text; - LOCAL - description_bag : BAG OF description_attribute := (USEDIN(obj, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + 'DESCRIBED_ITEM')); - END_LOCAL; - - IF SIZEOF(description_bag) = 1 THEN - RETURN (description_bag[1].attribute_value); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: product_definition_schema *) - FUNCTION acyclic_product_category_relationship (relation : product_category_relationship; children : SET OF product_category):BOOLEAN; - LOCAL - x : SET OF product_category_relationship; - local_children : SET OF product_category; - END_LOCAL; - - REPEAT i := 1 TO HIINDEX(children); - IF relation.category :=: children[i] THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - x := bag_to_set(USEDIN(relation.category, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_CATEGORY_RELATIONSHIP.SUB_CATEGORY')); - local_children := children + relation.category; - IF SIZEOF(x) > 0 THEN - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_product_category_relationship(x[i], local_children) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - END_IF; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: date_time_schema *) -FUNCTION valid_calendar_date - (date : calendar_date) : LOGICAL; - CASE date.month_component OF - 1 : RETURN({ 1 <= date.day_component <= 31 }); - 2 : BEGIN - IF (leap_year(date.year_component)) THEN - RETURN({ 1 <= date.day_component <= 29 }); - ELSE - RETURN({ 1 <= date.day_component <= 28 }); - END_IF; - END; - 3 : RETURN({ 1 <= date.day_component <= 31 }); - 4 : RETURN({ 1 <= date.day_component <= 30 }); - 5 : RETURN({ 1 <= date.day_component <= 31 }); - 6 : RETURN({ 1 <= date.day_component <= 30 }); - 7 : RETURN({ 1 <= date.day_component <= 31 }); - 8 : RETURN({ 1 <= date.day_component <= 31 }); - 9 : RETURN({ 1 <= date.day_component <= 30 }); - 10 : RETURN({ 1 <= date.day_component <= 31 }); - 11 : RETURN({ 1 <= date.day_component <= 30 }); - 12 : RETURN({ 1 <= date.day_component <= 31 }); - END_CASE; - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: date_time_schema *) -FUNCTION leap_year - (year : year_number) : BOOLEAN; - IF ((((year MOD 4) = 0) AND ((year MOD 100) <> 0)) OR ((year MOD 400) = 0)) THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: date_time_schema *) -FUNCTION valid_time - (time : local_time) : BOOLEAN; - IF EXISTS(time.second_component) THEN - RETURN (EXISTS(time.minute_component)); - ELSE - RETURN (TRUE); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION mixed_loop_type_set(l: SET[0:?] OF loop): LOGICAL; - LOCAL - poly_loop_type: LOGICAL; - END_LOCAL; - IF(SIZEOF(l) <= 1) THEN - RETURN(FALSE); - END_IF; - poly_loop_type := ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLY_LOOP' IN TYPEOF(l[1])); - REPEAT i := 2 TO SIZEOF(l); - IF(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLY_LOOP' IN TYPEOF(l[i])) <> poly_loop_type) - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - RETURN(FALSE); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION list_to_set(l : LIST [0:?] OF GENERIC:T) : SET OF GENERIC:T; - LOCAL - s : SET OF GENERIC:T := []; - END_LOCAL; - - REPEAT i := 1 TO SIZEOF(l); - s := s + l[i]; - END_REPEAT; - - RETURN(s); - END_FUNCTION; - -(* Implicit interfaced from: Ap242_managed_model_based_3d_engineering_mim *) - FUNCTION cc_design_person_and_organization_correlation - (e : cc_design_person_and_organization_assignment) : BOOLEAN; - LOCAL - po_role : STRING; - END_LOCAL; - po_role := e\person_and_organization_assignment.role.name; - CASE po_role OF - 'request_recipient' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CHANGE_REQUEST', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'START_REQUEST'] * - TYPEOF (x)) = 1)) - THEN RETURN(FALSE); - END_IF; - 'initiator' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CHANGE_REQUEST', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'START_REQUEST', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'START_WORK', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CHANGE'] * - TYPEOF (x)) = 1)) - THEN RETURN(FALSE); - END_IF; - 'creator' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION_FORMATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION'] * - TYPEOF (x)) = 1)) - THEN RETURN (FALSE); - END_IF; - 'part_supplier' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION_FORMATION' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'design_supplier' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION_FORMATION' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'design_owner' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'configuration_manager' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'CONFIGURATION_ITEM' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'contractor' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONTRACT' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'classification_officer' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SECURITY_CLASSIFICATION' - IN TYPEOF (x))) THEN - RETURN(FALSE); - END_IF; - OTHERWISE : RETURN(TRUE); - END_CASE; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION boolean_choose (b : boolean; - choice1, choice2 : generic : item) : generic : item; - - IF b THEN - RETURN (choice1); - ELSE - RETURN (choice2); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION path_head_to_tail(a_path : path) : LOGICAL; - LOCAL - n : INTEGER; - p : LOGICAL := TRUE; - END_LOCAL; - - n := SIZEOF (a_path.edge_list); - REPEAT i := 2 TO n; - p := p AND (a_path.edge_list[i-1].edge_end :=: - a_path.edge_list[i].edge_start); - END_REPEAT; - - RETURN (p); - END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION normalise - (arg : vector_or_direction) : vector_or_direction; -LOCAL - ndim : INTEGER; - v : direction := dummy_gri || direction ([1.0,0.0,0.0]); - result : vector_or_direction; - vec : vector := dummy_gri || vector (v, 1.0); - mag : REAL; - END_LOCAL; - - IF NOT EXISTS (arg) THEN - result := ?; - (* When function is called with invalid data a NULL result is returned *) - ELSE - ndim := arg.dim; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg) THEN - BEGIN - v := dummy_gri || direction(arg\vector.orientation.direction_ratios); - IF arg\vector.magnitude = 0.0 THEN - RETURN(?); - ELSE - vec := dummy_gri || vector (v, 1.0); - END_IF; - END; - ELSE - v := dummy_gri || direction (arg.direction_ratios); - END_IF; - mag := 0.0; - REPEAT i := 1 TO ndim; - mag := mag + v.direction_ratios[i]*v.direction_ratios[i]; - END_REPEAT; - IF mag > 0.0 THEN - mag := SQRT(mag); - REPEAT i := 1 TO ndim; - v.direction_ratios[i] := v.direction_ratios[i]/mag; - END_REPEAT; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg) THEN - vec.orientation := v; - result := vec; - ELSE - result := v; - END_IF; - ELSE - RETURN(?); - END_IF; - END_IF; - RETURN (result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION build_2axes - (ref_direction : direction) : LIST[2:2] OF direction; -LOCAL - d : direction := NVL(normalise(ref_direction), - dummy_gri || direction([1.0,0.0])); - END_LOCAL; - - RETURN([d, orthogonal_complement(d)]);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION orthogonal_complement - (vec : direction) : direction; -LOCAL - result : direction ; - END_LOCAL; - - IF (vec.dim <> 2) OR NOT EXISTS (vec) THEN - RETURN(?); - ELSE - result := dummy_gri || direction([-vec.direction_ratios[2], - vec.direction_ratios[1]]); - RETURN(result); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION build_axes - (axis : direction; ref_direction : direction) : LIST[3:3] OF direction; -LOCAL - d1, d2 : direction; - END_LOCAL; - d1 := NVL(normalise(axis), dummy_gri || direction([0.0,0.0,1.0])); - d2 := first_proj_axis(d1, ref_direction); - RETURN([d2, normalise(cross_product(d1,d2))\vector.orientation, d1]);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION first_proj_axis - (z_axis : direction; arg : direction) : direction; -LOCAL - x_axis : direction; - v : direction; - z : direction; - x_vec : vector; - END_LOCAL; - - IF (NOT EXISTS(z_axis)) THEN - RETURN (?) ; - ELSE - z := normalise(z_axis); - IF NOT EXISTS(arg) THEN - IF ((z.direction_ratios <> [1.0,0.0,0.0]) AND - (z.direction_ratios <> [-1.0,0.0,0.0])) THEN - v := dummy_gri || direction([1.0,0.0,0.0]); - ELSE - v := dummy_gri || direction([0.0,1.0,0.0]); - END_IF; - ELSE - IF (arg.dim <> 3) THEN - RETURN (?) ; - END_IF; - IF ((cross_product(arg,z).magnitude) = 0.0) THEN - RETURN (?); - ELSE - v := normalise(arg); - END_IF; - END_IF; - x_vec := scalar_times_vector(dot_product(v, z), z); - x_axis := vector_difference(v, x_vec).orientation; - x_axis := normalise(x_axis); - END_IF; - RETURN(x_axis);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION cross_product - (arg1 : direction; arg2 : direction) : vector; -LOCAL - mag : REAL; - res : direction; - v1,v2 : LIST[3:3] OF REAL; - result : vector; - END_LOCAL; - - IF ( NOT EXISTS (arg1) OR (arg1.dim = 2)) OR - ( NOT EXISTS (arg2) OR (arg2.dim = 2)) THEN - RETURN(?); - ELSE - BEGIN - v1 := normalise(arg1).direction_ratios; - v2 := normalise(arg2).direction_ratios; - res := dummy_gri || direction([(v1[2]*v2[3] - v1[3]*v2[2]), - (v1[3]*v2[1] - v1[1]*v2[3]), (v1[1]*v2[2] - v1[2]*v2[1])]); - mag := 0.0; - REPEAT i := 1 TO 3; - mag := mag + res.direction_ratios[i]*res.direction_ratios[i]; - END_REPEAT; - IF (mag > 0.0) THEN - result := dummy_gri || vector(res, SQRT(mag)); - ELSE - result := dummy_gri || vector(arg1, 0.0); - END_IF; - RETURN(result); - END; - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION scalar_times_vector - (scalar : REAL; vec : vector_or_direction) : vector; -LOCAL - v : direction; - mag : REAL; - result : vector; - END_LOCAL; - - IF NOT EXISTS (scalar) OR NOT EXISTS (vec) THEN - RETURN (?) ; - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF (vec) THEN - v := dummy_gri || direction(vec\vector.orientation.direction_ratios); - mag := scalar * vec\vector.magnitude; - ELSE - v := dummy_gri || direction(vec.direction_ratios); - mag := scalar; - END_IF; - IF (mag < 0.0 ) THEN - REPEAT i := 1 TO SIZEOF(v.direction_ratios); - v.direction_ratios[i] := -v.direction_ratios[i]; - END_REPEAT; - mag := -mag; - END_IF; - result := dummy_gri || vector(normalise(v), mag); - END_IF; - RETURN (result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION dot_product - (arg1 : direction; arg2 : direction) : REAL; -LOCAL - scalar : REAL; - vec1, vec2: direction; - ndim : INTEGER; - END_LOCAL; - - IF NOT EXISTS (arg1) OR NOT EXISTS (arg2) THEN - scalar := ?; - (* When function is called with invalid data an indeterminate result - is returned *) - ELSE - IF (arg1.dim <> arg2.dim) THEN - scalar := ?; - (* When function is called with invalid data an indeterminate result - is returned *) - ELSE - BEGIN - vec1 := normalise(arg1); - vec2 := normalise(arg2); - ndim := arg1.dim; - scalar := 0.0; - REPEAT i := 1 TO ndim; - scalar := scalar + - vec1.direction_ratios[i]*vec2.direction_ratios[i]; - END_REPEAT; - END; - END_IF; - END_IF; - RETURN (scalar);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION vector_difference - (arg1 : vector_or_direction; arg2 : vector_or_direction) : vector; -LOCAL - result : vector; - res, vec1, vec2 : direction; - mag, mag1, mag2 : REAL; - ndim : INTEGER; - END_LOCAL; - - IF ((NOT EXISTS (arg1)) OR (NOT EXISTS (arg2))) OR (arg1.dim <> arg2.dim) - THEN - RETURN (?) ; - ELSE - BEGIN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg1) THEN - mag1 := arg1\vector.magnitude; - vec1 := arg1\vector.orientation; - ELSE - mag1 := 1.0; - vec1 := arg1; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg2) THEN - mag2 := arg2\vector.magnitude; - vec2 := arg2\vector.orientation; - ELSE - mag2 := 1.0; - vec2 := arg2; - END_IF; - vec1 := normalise (vec1); - vec2 := normalise (vec2); - ndim := SIZEOF(vec1.direction_ratios); - mag := 0.0; - res := dummy_gri || direction(vec1.direction_ratios); - REPEAT i := 1 TO ndim; - res.direction_ratios[i] := mag1*vec1.direction_ratios[i] - - mag2*vec2.direction_ratios[i]; - mag := mag + (res.direction_ratios[i]*res.direction_ratios[i]); - END_REPEAT; - IF (mag > 0.0 ) THEN - result := dummy_gri || vector( res, SQRT(mag)); - ELSE - result := dummy_gri || vector( vec1, 0.0); - END_IF; - END; - END_IF; - RETURN (result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION base_axis - (dim : INTEGER; axis1 : direction; axis2 : direction; axis3 : direction) : LIST[2:3] OF direction; -LOCAL - u : LIST [2:3] OF direction; - factor : REAL; - d1, d2 : direction; - END_LOCAL; - - IF (dim = 3) THEN - d1 := NVL(normalise(axis3), dummy_gri || direction([0.0,0.0,1.0])); - d2 := first_proj_axis(d1,axis1); - u := [d2, second_proj_axis(d1,d2,axis2), d1]; - ELSE - IF EXISTS(axis1) THEN - d1 := normalise(axis1); - u := [d1, orthogonal_complement(d1)]; - IF EXISTS(axis2) THEN - factor := dot_product(axis2,u[2]); - IF (factor < 0.0) THEN - u[2].direction_ratios[1] := -u[2].direction_ratios[1]; - u[2].direction_ratios[2] := -u[2].direction_ratios[2]; - END_IF; - END_IF; - ELSE - IF EXISTS(axis2) THEN - d1 := normalise(axis2); - u := [orthogonal_complement(d1), d1]; - u[1].direction_ratios[1] := -u[1].direction_ratios[1]; - u[1].direction_ratios[2] := -u[1].direction_ratios[2]; - ELSE - u := [dummy_gri || direction([1.0, 0.0]), dummy_gri || - direction([0.0, 1.0])]; - END_IF; - END_IF; - END_IF; - RETURN(u);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION second_proj_axis - (z_axis : direction; x_axis : direction; arg : direction) : direction; -LOCAL - y_axis : vector; - v : direction; - temp : vector; - END_LOCAL; - - IF NOT EXISTS(arg) THEN - v := dummy_gri || direction([0.0,1.0,0.0]); - ELSE - v := arg; - END_IF; - - temp := scalar_times_vector(dot_product(v, z_axis), z_axis); - y_axis := vector_difference(v, temp); - temp := scalar_times_vector(dot_product(v, x_axis), x_axis); - y_axis := vector_difference(y_axis, temp); - y_axis := normalise(y_axis); - RETURN(y_axis.orientation);END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION acyclic_mapped_representation - (mi : mapped_item) : BOOLEAN; - LOCAL - rms : SET OF representation_map; - mis : SET OF mapped_item; - rs1, rs2 : SET OF representation; - END_LOCAL; - - rs1 := using_representations(mi); - rs2 := []; - -- loop as long as there are elements in rs1 - REPEAT WHILE SIZEOF(rs1) > 0; - REPEAT i := 1 TO HIINDEX(rs1); - -- Determine the set of representation_map that reference the parent_set - rms := bag_to_set(USEDIN(rs1[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION')); - IF SIZEOF(rms) > 0 THEN - REPEAT j := 1 TO HIINDEX(rms); - mis := bag_to_set(USEDIN(rms[i], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE')); - IF SIZEOF(mis) > 0 THEN - REPEAT j := 1 TO HIINDEX(mis); - -- check mis members for instance equal with mi. If so then there is a cycle - IF mis[i] :=: mi THEN - RETURN (FALSE); - END_IF; - rs2 := rs2 + using_representations(mis[i]); - END_REPEAT; - END_IF; - END_REPEAT; - END_IF; - END_REPEAT; - rs1 := rs2; - rs2 := []; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION item_in_context - (item : representation_item; - cntxt : representation_context) : BOOLEAN; - LOCAL - y : BAG OF representation_item; - END_LOCAL; - -- If there is one or more representation using both the item - -- and cntxt return true. - IF SIZEOF(USEDIN(item,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS') - * cntxt.representations_in_context) > 0 THEN - RETURN (TRUE); - -- Determine the bag of representation_items that reference - -- item - ELSE y := QUERY(z <* USEDIN (item , '') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)); - -- Ensure that the bag is not empty - IF SIZEOF(y) > 0 THEN - -- For each element in the bag - REPEAT i := 1 TO HIINDEX(y); - -- Check to see it is an item in the input cntxt. - IF item_in_context(y[i], cntxt) THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - END_IF; - END_IF; - -- Return false when all possible branches have been checked - -- with no success. - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: structural_response_representation_schema *) -FUNCTION build_direction_node - (node_1 : node_representation; - node_2 : node_representation): LIST [2:3] OF REAL; - -LOCAL - nodal_direction_ratios : LIST [2:3] OF REAL; - u : direction; - i : INTEGER; - ndim : INTEGER; - rep_items : SET [1:?] of representation_item; - node_1_point : cartesian_point; - node_2_point : cartesian_point; -END_LOCAL; - -rep_items := node_1.items; -REPEAT i := 1 TO SIZEOF(rep_items); - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF(rep_items[i])) THEN - node_1_point := rep_items[i]; - ESCAPE; - END_IF; -END_REPEAT; - -rep_items := node_2.items; -REPEAT i := 1 TO SIZEOF(rep_items); - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF(rep_items[i])) THEN - node_2_point := rep_items[i]; - ESCAPE; - END_IF; -END_REPEAT; - -ndim := HIINDEX(node_2_point.coordinates); -REPEAT i := 1 TO ndim; - u.direction_ratios[i] := node_2_point.coordinates[i] - - node_1_point.coordinates[i]; -END_REPEAT; - -u := normalise (u); -REPEAT i := 1 TO ndim; - nodal_direction_ratios[i] := u.direction_ratios[i]; -END_REPEAT; - -RETURN (nodal_direction_ratios); - -END_FUNCTION; - -(* Implicit interfaced from: structural_response_representation_schema *) -FUNCTION consistent_geometric_reference ( - aspect : GENERIC; - item : geometric_representation_item) : BOOLEAN; - -LOCAL - srrs : STRING; - feacr : STRING; - aspect_type : SET [1:?] OF STRING; - item_type : SET [1:?] OF STRING; -END_LOCAL; - -srrs := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; -feacr := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; -aspect_type := TYPEOF (aspect); -item_type := TYPEOF (item); - -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_MODEL' IN item_type) THEN - IF ((srrs + 'ELEMENT_VOLUME') IN aspect_type) THEN - RETURN (TRUE); - END_IF; -END_IF; - -IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN item_type) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN item_type)) THEN - IF SIZEOF ([(feacr + 'VOLUME_3D_FACE'), - (feacr + 'VOLUME_2D_FACE'), - (feacr + 'SURFACE_3D_FACE'), - (feacr + 'SURFACE_2D_FACE')] * - aspect_type ) = 1 THEN - RETURN (TRUE); - END_IF; -END_IF; - -IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN item_type) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_CURVE' IN item_type)) THEN - IF SIZEOF ([(feacr + 'VOLUME_3D_EDGE'), - (feacr + 'VOLUME_2D_EDGE'), - (feacr + 'SURFACE_3D_EDGE'), - (feacr + 'SURFACE_2D_EDGE'), - (srrs + 'CURVE_EDGE')] * - aspect_type ) = 1 THEN - RETURN (TRUE); - END_IF; -END_IF; - -RETURN (FALSE); - -END_FUNCTION; - -(* Implicit interfaced from: structural_response_representation_schema *) -FUNCTION consistent_element_or_group_reference ( - aspect : GENERIC; - element : GENERIC) : BOOLEAN; - -LOCAL - srrs : STRING; - i : INTEGER; -END_LOCAL; - -srrs := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; - -IF ((srrs + 'ELEMENT_REPRESENTATION') IN TYPEOF(element)) THEN - RETURN (consistent_element_reference (aspect, element)); -END_IF; - -IF ((srrs + 'ELEMENT_GROUP') IN TYPEOF(element)) THEN - REPEAT i := 1 TO HIINDEX (element.elements); - IF NOT (consistent_element_reference (aspect, element.elements[i])) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_IF; - -RETURN (FALSE); - -END_FUNCTION; - -(* Implicit interfaced from: structural_response_representation_schema *) -FUNCTION consistent_element_reference ( - aspect : GENERIC; - element : element_representation) : BOOLEAN; - -LOCAL - srrs : STRING; - feacr : STRING; - aspect_type : SET [1:?] OF STRING; - element_type : SET [1:?] OF STRING; -END_LOCAL; - -srrs := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; -feacr := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; -aspect_type := TYPEOF (aspect); -element_type := TYPEOF (element); - -IF ((srrs + 'ELEMENT_REPRESENTATION') - IN element_type) THEN - IF ((srrs + 'ELEMENT_VOLUME') IN aspect_type) THEN - RETURN (TRUE); - END_IF; -END_IF; - -IF ((srrs + 'VOLUME_3D_ELEMENT_REPRESENTATION') - IN element_type) THEN - IF (((feacr + 'VOLUME_3D_FACE') IN aspect_type) OR - ((feacr + 'VOLUME_3D_EDGE') IN aspect_type)) THEN - RETURN (TRUE); - END_IF; -END_IF; - -IF (((srrs + 'AXISYMMETRIC_VOLUME_2D_ELEMENT_REPRESENTATION') - IN element_type) OR - ((srrs + 'PLANE_VOLUME_2D_ELEMENT_REPRESENTATION') - IN element_type)) THEN - IF (((feacr + 'VOLUME_2D_FACE') IN aspect_type) OR - ((feacr + 'VOLUME_2D_EDGE') IN aspect_type)) THEN - RETURN (TRUE); - END_IF; -END_IF; - -IF ((srrs + 'SURFACE_3D_ELEMENT_REPRESENTATION') - IN element_type) THEN - IF (((feacr + 'SURFACE_3D_FACE') IN aspect_type) OR - ((feacr + 'SURFACE_3D_EDGE') IN aspect_type)) THEN - RETURN (TRUE); - END_IF; -END_IF; - -IF (((srrs + 'AXISYMMETRIC_SURFACE_2D_ELEMENT_REPRESENTATION') - IN element_type) OR - ((srrs + 'PLANE_SURFACE_2D_ELEMENT_REPRESENTATION') - IN element_type)) THEN - IF (((feacr + 'SURFACE_2D_FACE') IN aspect_type) OR - ((feacr + 'SURFACE_2D_EDGE') IN aspect_type)) THEN - RETURN (TRUE); - END_IF; -END_IF; - -IF (((srrs + 'CURVE_3D_ELEMENT_REPRESENTATION') - IN element_type) OR - ((srrs + 'AXISYMMETRIC_CURVE_2D_ELEMENT_REPRESENTATION') - IN element_type) OR - ((srrs + 'PLANE_CURVE_2D_ELEMENT_REPRESENTATION') - IN element_type)) THEN - IF ((srrs + 'CURVE_EDGE') IN aspect_type) THEN - RETURN (TRUE); - END_IF; -END_IF; - -RETURN (FALSE); - -END_FUNCTION; - -(* Implicit interfaced from: structural_response_representation_schema *) -FUNCTION required_3d_nodes - (node_list : LIST [1:?] OF node_representation; - element_shape : volume_3d_element_shape; - order : element_order) : BOOLEAN; - LOCAL - vertex_nodes : INTEGER; - edge_nodes : INTEGER; - edge_face_body_nodes : INTEGER; - END_LOCAL; - - IF (element_shape = volume_3d_element_shape.hexahedron) THEN - vertex_nodes := 8; - IF (order = element_order.linear) THEN - edge_nodes := 0; - edge_face_body_nodes := 0; - END_IF; - IF (order = element_order.quadratic) THEN - edge_nodes := 12; - edge_face_body_nodes := 19; - END_IF; - IF (order = element_order.cubic) THEN - edge_nodes := 24; - edge_face_body_nodes := 56; - END_IF; - END_IF; - - IF (element_shape = volume_3d_element_shape.wedge) THEN - vertex_nodes := 6; - IF (order = element_order.linear) THEN - edge_nodes := 0; - edge_face_body_nodes := 0; - END_IF; - IF (order = element_order.quadratic) THEN - edge_nodes := 9; - edge_face_body_nodes := 12; - END_IF; - IF (order = element_order.cubic) THEN - edge_nodes := 18; - edge_face_body_nodes := 34; - END_IF; - END_IF; - - IF (element_shape = volume_3d_element_shape.tetrahedron) THEN - vertex_nodes := 4; - IF (order = element_order.linear) THEN - edge_nodes := 0; - edge_face_body_nodes := 0; - END_IF; - IF (order = element_order.quadratic) THEN - edge_nodes := 6; - edge_face_body_nodes := 6; - END_IF; - IF (order = element_order.cubic) THEN - edge_nodes := 12; - edge_face_body_nodes := 16; - END_IF; - END_IF; - - IF (element_shape = volume_3d_element_shape.pyramid) THEN - vertex_nodes := 5; - IF (order = element_order.linear) THEN - edge_nodes := 0; - edge_face_body_nodes := 0; - END_IF; - IF (order = element_order.quadratic) THEN - edge_nodes := 8; - edge_face_body_nodes := 9; - END_IF; - IF (order = element_order.cubic) THEN - edge_nodes := 16; - edge_face_body_nodes := 25; - END_IF; - END_IF; - - RETURN ((SIZEOF (node_list) = vertex_nodes + edge_nodes) OR - (SIZEOF (node_list) = vertex_nodes + edge_face_body_nodes)); - -END_FUNCTION; - -(* Implicit interfaced from: structural_response_representation_schema *) -FUNCTION required_2d_nodes - (node_list : LIST [1:?] OF node_representation; - element_shape : element_2d_shape; - order : element_order) : BOOLEAN; - LOCAL - vertex_nodes : INTEGER; - edge_nodes : INTEGER; - edge_face_body_nodes : INTEGER; - END_LOCAL; - - IF (element_shape = element_2d_shape.triangle) THEN - vertex_nodes := 3; - IF (order = element_order.linear) THEN - edge_nodes := 0; - edge_face_body_nodes := 0; - END_IF; - IF (order = element_order.quadratic) THEN - edge_nodes := 3; - edge_face_body_nodes := 3; - END_IF; - IF (order = element_order.cubic) THEN - edge_nodes := 6; - edge_face_body_nodes := 7; - END_IF; - END_IF; - - IF (element_shape = element_2d_shape.quadrilateral) THEN - vertex_nodes := 4; - IF (order = element_order.linear) THEN - edge_nodes := 0; - edge_face_body_nodes := 0; - END_IF; - IF (order = element_order.quadratic) THEN - edge_nodes := 4; - edge_face_body_nodes := 5; - END_IF; - IF (order = element_order.cubic) THEN - edge_nodes := 8; - edge_face_body_nodes := 12; - END_IF; - END_IF; - - RETURN ((SIZEOF (node_list) = vertex_nodes + edge_nodes) OR - (SIZEOF (node_list) = vertex_nodes + edge_face_body_nodes)); - -END_FUNCTION; - -(* Implicit interfaced from: structural_response_representation_schema *) -FUNCTION required_1d_nodes - (node_list : LIST [1:?] OF node_representation; - order : element_order) : BOOLEAN; - - LOCAL - end_nodes : INTEGER; - additional_nodes : INTEGER; - END_LOCAL; - - end_nodes := 2; - - IF (order = element_order.linear) THEN - additional_nodes := 0; - END_IF; - IF (order = element_order.quadratic) THEN - additional_nodes := 1; - END_IF; - IF (order = element_order.cubic) THEN - additional_nodes := 2; - END_IF; - - RETURN (SIZEOF (node_list) = end_nodes + additional_nodes); - -END_FUNCTION; - -(* Implicit interfaced from: structural_response_representation_schema *) -FUNCTION required_0d_nodes - (node_list : LIST [1:?] OF node_representation): BOOLEAN; - - RETURN (SIZEOF (node_list) = 1); - -END_FUNCTION; - -(* Implicit interfaced from: structural_response_representation_schema *) -FUNCTION number_of_terms - (node_dof_list : LIST [1:?] OF LIST [1:?] OF degree_of_freedom; - matrix_type : matrix_symmetry) : INTEGER; - LOCAL - num_terms : INTEGER; - number_of_freedoms : INTEGER; - END_LOCAL; - - number_of_freedoms := 0; (* loop for each item in the outer list*) - - REPEAT i := 1 TO SIZEOF (node_dof_list); (* find size of inner list*) - number_of_freedoms := number_of_freedoms + SIZEOF (node_dof_list[i]); - END_REPEAT; - - IF (matrix_type = symmetric) THEN - num_terms := (number_of_freedoms * (number_of_freedoms+1)) DIV 2; - END_IF; - - IF (matrix_type = diagonal) THEN - num_terms := number_of_freedoms; - END_IF; - -RETURN (num_terms); - -END_FUNCTION; - -(* Implicit interfaced from: structural_response_representation_schema *) -FUNCTION valid_parametric_coordinate - (coordinates : LIST [1:3] OF parameter_value): BOOLEAN; - - LOCAL - i : INTEGER; - END_LOCAL; - - REPEAT i:=1 TO HIINDEX(coordinates); - IF ((1.0 < coordinates[i]) OR (coordinates[i] < -1.0)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - - RETURN (TRUE); - -END_FUNCTION; - -(* Implicit interfaced from: mesh_topology_schema *) -FUNCTION all_mesh_vertices(arg : array_based_unstructured_mesh_and_vertices) - : BOOLEAN; -LOCAL - vertex_set : SET OF vertex := []; - cell : vertex_defined_cell; -END_LOCAL; - REPEAT i := 1 TO arg.cell_count; - cell := arg.cells[i]; - REPEAT j := 1 TO cell.vn_count; - vertex_set := vertex_set + cell.vertices[j]; - END_REPEAT; - END_REPEAT; - IF (SIZEOF(vertex_set) <> arg.index_count) THEN - RETURN(FALSE); - END_IF; - REPEAT i := 1 TO arg.index_count; - IF (NOT (arg.vertices[i] IN vertex_set) ) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - RETURN(TRUE); -END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION list_face_loops(f: face) : LIST[0:?] OF loop; - LOCAL - loops : LIST[0:?] OF loop := []; - END_LOCAL; - - REPEAT i := 1 TO SIZEOF(f.bounds); - loops := loops +(f.bounds[i].bound); - END_REPEAT; - - RETURN(loops); - END_FUNCTION; - -(* Implicit interfaced from: mesh_topology_schema *) -FUNCTION cell_counts(arg : vertex_defined_cell) : ARRAY[1:3] OF INTEGER; -LOCAL - om1 : INTEGER := 0; -- (order - 1) - om1sq : INTEGER := om1**2; -- (order - 1) squared - vts : INTEGER; -- number of bounding vertices - eds : INTEGER; -- number of edges - qf : INTEGER := 0; -- number of quadrilateral faces - tf : INTEGER := 0; -- number of triangular faces - result : ARRAY [1:3] OF INTEGER := [0,0,0]; -END_LOCAL; - CASE arg.order OF - linear : om1 := 0; - quadratic : om1 := 1; - cubic : om1 := 2; - OTHERWISE : RETURN(result); - END_CASE; - om1sq := om1**2; - CASE arg.shape OF - cell_shape_0D.single : - BEGIN - vts := 1; eds := 0; qf := 0; tf := 0; - result[1] := vts; - result[2] := om1*eds; -- 0, 0, 0 - result[3] := 0; -- 0, 0, 0 - END; - cell_shape_1D.line : - BEGIN - vts := 2; eds := 1; qf := 0; tf := 0; - result[1] := vts; - result[2] := om1*eds; -- 0, 1, 2 - result[3] := 0; -- 0, 0, 0 - END; - cell_shape_2D.quadrilateral : - BEGIN - vts := 4; eds := 4; qf := 1; tf := 0; - result[1] := vts; - result[2] := om1*eds; -- 0, 4, 8 - result[3] := om1sq*qf; -- 0, 1, 4 - END; - cell_shape_2D.triangle : - BEGIN - vts := 3; eds := 3; qf := 0; tf := 1; - result[1] := vts; - result[2] := om1*eds; -- 0, 3, 6 - result[3] := (om1-1)*tf; -- 0, 1 - CASE arg.order OF - linear : result[3] := 0; -- 0 - END_CASE; - END; - cell_shape_3D.hexahedron : - BEGIN - vts := 8; eds := 12; qf := 6; tf := 0; - result[1] := vts; - result[2] := om1*eds; -- 0, 12, 24 - result[3] := om1sq*(qf+om1); -- 0, 7, 32 - END; - cell_shape_3D.wedge : - BEGIN - vts := 6; eds := 9; qf := 3; tf := 2; - result[1] := vts; - result[2] := om1*eds; -- 0, 9, 18 - result[3] := om1sq*qf + om1*tf; -- 0, 3, 16 - END; - cell_shape_3D.tetrahedron : - BEGIN - vts := 4; eds := 6; qf := 0; tf := 4; - result[1] := vts; - result[2] := om1*eds; -- 0, 6, 12 - result[3] := (om1-1)*tf; -- 0, 4 - CASE arg.order OF - linear : result[3] := 0; -- 0 - END_CASE; - END; - cell_shape_3D.pyramid : - BEGIN - vts := 5; eds := 8; qf := 1; tf := 4; - result[1] := vts; - result[2] := om1*eds; -- 0, 8, 16 - result[3] := om1sq*qf + (om1-1)*tf; -- 1, 9 - CASE arg.order OF - linear : result[3] := 0; -- 0 - END_CASE; - END; - END_CASE; -RETURN(result); -END_FUNCTION; - -(* Implicit interfaced from: mesh_topology_schema *) -FUNCTION shorten_array(longa : ARRAY OF GENERIC : T; - oldl, newl : INTEGER) : ARRAY OF GENERIC : T; - LOCAL - shorta : ARRAY [1:newl] OF GENERIC : T; - END_LOCAL; - - IF (newl > oldl) THEN - RETURN(?); - ELSE - REPEAT i := 1 TO newl; - shorta[i] := longa[i]; - END_REPEAT; - RETURN(shorta); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: product_analysis_schema *) - FUNCTION definition_for_temporal_spatial_domain (domain : temporal_spatial_domain): BOOLEAN; - LOCAL - spatial_set : SET OF spatial_decomposition_of_temporal_spatial_domain; - behavioural_set : SET OF behavioural_decomposition_of_temporal_spatial_domain; - domains : SET OF temporal_spatial_domain := []; - idealising : BAG OF idealisation_relationship; - spatial_bag : BAG OF spatial_decomposition_of_temporal_spatial_domain; - behavioural_bag : BAG OF behavioural_decomposition_of_temporal_spatial_domain; - END_LOCAL; - - idealising := USEDIN(domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.IDEALISATION_RELATIONSHIP.IDEALISATION'); - IF SIZEOF(idealising) > 0 THEN - RETURN (TRUE); - END_IF; - spatial_bag := USEDIN(domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPATIAL_DECOMPOSITION_OF_TEMPORAL_SPATIAL_DOMAIN.PARTS'); - IF SIZEOF(spatial_bag) > 0 THEN - spatial_set := bag_to_set(spatial_bag); - REPEAT i := 1 TO HIINDEX(spatial_set); - domains := domains + spatial_set[i].whole; - END_REPEAT; - END_IF; - behavioural_bag := USEDIN(domain, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEHAVIOURAL_DECOMPOSITION_OF_TEMPORAL_SPATIAL_DOMAIN.PARTS'); - IF SIZEOF(behavioural_bag) > 0 THEN - behavioural_set := bag_to_set(behavioural_bag); - REPEAT i := 1 TO HIINDEX(behavioural_set); - domains := domains + behavioural_set[i].whole; - END_REPEAT; - END_IF; - IF SIZEOF(domains) > 0 THEN - REPEAT i := 1 TO HIINDEX(domains); - IF definition_for_temporal_spatial_domain(domains[i]) THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - END_IF; - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION valid_measure_value - (m : measure_value) : BOOLEAN; - IF ('REAL' IN TYPEOF (m)) THEN - RETURN (m > 0.0); - ELSE - IF ('INTEGER' IN TYPEOF (m)) THEN - RETURN (m > 0); - ELSE - RETURN (TRUE); - END_IF; - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: domain_schema *) -FUNCTION is_coordinate_property(arg : specified_general_property) : BOOLEAN; - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTERNALLY_DEFINED_ITEM' IN - TYPEOF(arg) ) THEN - RETURN(TRUE); - END_IF; - RETURN ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COORDINATE_DATA_NAME' IN TYPEOF(arg)); -END_FUNCTION; - -(* Implicit interfaced from: product_structure_schema *) -FUNCTION unambiguously_specified_multi_level_reference_designator (links : LIST[1:?] OF next_assembly_usage_occurrence) : BOOLEAN; -REPEAT i := 1 to SIZEOF(links) - 1; ---case 1 all in one file; had to disambiguate link[i].relating instance type to distinguish case 1 from case 3. - CASE TRUE OF - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.relating_product_definition)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i+1]\product_definition_relationship.relating_product_definition)) : - BEGIN - IF NOT ( - (links[i]\product_definition_relationship.related_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition) - OR - ((SIZEOF (QUERY (pdr <* USEDIN(links[i]\product_definition_relationship.related_product_definition, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION') | - pdr\product_definition_relationship.relating_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition)) = 1) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition.formation\product_definition_formation.of_product - :=: - links[i+1]\product_definition_relationship.relating_product_definition\product_definition.formation\product_definition_formation.of_product))) - THEN - RETURN(FALSE); - END_IF; - END; - ---case 2 ; intermediate node reference from main to external file or both node references in external file. links[i].relating instance can be either pd or pdref. - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[i+1]\product_definition_relationship.relating_product_definition)) : - BEGIN - IF NOT ( - (links[i]\product_definition_relationship.related_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition) - OR - ((SIZEOF (QUERY (pdr <* USEDIN(links[i]\product_definition_relationship.related_product_definition, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION') | - pdr\product_definition_relationship.relating_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition)) = 1) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.product_id - = - links[i+1]\product_definition_relationship.relating_product_definition\product_definition_reference.product_id) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.id_owning_organization_name - = - links[i+1]\product_definition_relationship.relating_product_definition\product_definition_reference.id_owning_organization_name) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.product_definition_id - <> - links[i+1]\product_definition_relationship.relating_product_definition\product_definition_reference.product_definition_id))) - THEN - RETURN(FALSE); - END_IF; - END; - ---case 3 should never see -- link in external file referencing a node in main assembly file. Note link is just links[i]. - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[i]\product_definition_relationship.relating_product_definition)) - AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition)) : - RETURN(FALSE); - - OTHERWISE : RETURN(FALSE); - END_CASE; - -END_REPEAT; -RETURN(TRUE); -END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION acyclic_representation_relationship - (relation : representation_relationship; relatives : SET[1:?] OF representation; specific_relation : STRING) : BOOLEAN; - LOCAL - x : SET OF representation_relationship; - END_LOCAL; - - IF relation.rep_1 IN relatives THEN - RETURN (FALSE); - END_IF; - x := QUERY(r <* bag_to_set(USEDIN(relation.rep_1, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2')) | specific_relation IN TYPEOF(r)); - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_representation_relationship(x[i], relatives + relation.rep_1, specific_relation) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; -(* REFERENCE FROM (product_definition_schema); *) - FUNCTION acyclic_product_definition_relationship (relation : product_definition_relationship; relatives : SET [1:?] OF product_definition_or_reference; specific_relation : STRING):BOOLEAN; - LOCAL - x : SET OF product_definition_relationship; - END_LOCAL; - - IF relation.relating_product_definition IN relatives THEN - RETURN (FALSE); - END_IF; - x := QUERY(pd <* bag_to_set(USEDIN(relation.relating_product_definition, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION')) | specific_relation IN TYPEOF(pd)); - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_product_definition_relationship(x[i], relatives + relation.relating_product_definition, specific_relation) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: product_property_representation_schema *) - FUNCTION get_directed_link ( nodes : LIST OF representation; - undirected_link : LIST OF chained_representation_link) : LIST OF representation_relationship; - LOCAL - directed_link : LIST OF representation_relationship := []; - END_LOCAL; - - IF (SIZEOF(nodes) <> SIZEOF(undirected_link) + 1) OR - (value_unique(nodes) = FALSE) - THEN - RETURN(?); - END_IF; - - REPEAT i := 1 to SIZEOF(undirected_link); - CASE TRUE OF - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_CONTEXT' IN TYPEOF(undirected_link[i])) : - BEGIN - IF ((nodes[i]\representation.context_of_items :=: undirected_link[i]) AND - (nodes[i+1]\representation.context_of_items :=: undirected_link[i])) THEN - INSERT(directed_link, representation_relationship('','',nodes[i+1],nodes[i]), (i - 1)); - ELSE - RETURN(?); - END_IF; - END; - - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF(undirected_link[i])) : - BEGIN - IF (((nodes[i] :=: undirected_link[i]\representation_relationship.rep_1) AND - (nodes[i+1] :=: undirected_link[i]\representation_relationship.rep_2)) OR - ((nodes[i] :=: undirected_link[i]\representation_relationship.rep_2) AND - (nodes[i+1] :=: undirected_link[i]\representation_relationship.rep_1))) THEN - INSERT(directed_link, representation_relationship('','',nodes[i+1],nodes[i]), (i - 1)); - ELSE - RETURN(?); - END_IF; - END; - - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(undirected_link[i])) : - BEGIN - IF ((nodes[i] IN using_representations(undirected_link[i])) AND - (nodes[i+1] :=: undirected_link[i]\mapped_item.mapping_source\representation_map.mapped_representation)) THEN - INSERT(directed_link, representation_relationship('','',nodes[i+1],nodes[i]), (i - 1)); - ELSE - RETURN(?); - END_IF; - END; - - OTHERWISE : RETURN(?); - END_CASE; - END_REPEAT; - - IF (value_unique(directed_link) = FALSE) - THEN - RETURN(?); - END_IF; - - RETURN(directed_link); - END_FUNCTION; - -(* Implicit interfaced from: fea_definition_relationships_schema *) -FUNCTION consistent_topological_reference ( - aspect : GENERIC; - item : topological_representation_item) : BOOLEAN; - - LOCAL - status : BOOLEAN; - srrs : STRING; - END_LOCAL; - - status := FALSE; - srrs := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; - - IF (srrs + 'ELEMENT_VOLUME') IN TYPEOF(aspect) THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL' IN TYPEOF(item) THEN - status := TRUE; - END_IF; - END_IF; - - IF (srrs + 'VOLUME_3D_FACE') IN TYPEOF(aspect) THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE' IN TYPEOF(item) THEN - status := TRUE; - END_IF; - END_IF; - - IF (srrs + 'VOLUME_2D_FACE') IN TYPEOF(aspect) THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF(item) THEN - status := TRUE; - END_IF; - END_IF; - - IF (srrs + 'SURFACE_3D_FACE') IN TYPEOF(aspect) THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE' IN TYPEOF(item) THEN - status := TRUE; - END_IF; - END_IF; - - IF (srrs + 'SURFACE_2D_FACE') IN TYPEOF(aspect) THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF(item) THEN - status := TRUE; - END_IF; - END_IF; - - IF (srrs + 'VOLUME_3D_EDGE') IN TYPEOF(aspect) THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF(item) THEN - status := TRUE; - END_IF; - END_IF; - - IF (srrs + 'VOLUME_2D_EDGE') IN TYPEOF(aspect) THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF(item) THEN - status := TRUE; - END_IF; - END_IF; - - IF (srrs + 'SURFACE_3D_EDGE') IN TYPEOF(aspect) THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF(item) THEN - status := TRUE; - END_IF; - END_IF; - - - - IF (srrs + 'SURFACE_2D_EDGE') IN TYPEOF(aspect) THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX' IN TYPEOF(item) THEN - status := TRUE; - END_IF; - END_IF; - - IF (srrs + 'CURVE_EDGE') IN TYPEOF(aspect) THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF(item) THEN - status := TRUE; - - END_IF; - END_IF; - - IF 'TOPOLOGICAL_DEFINITION_AND_MESH_SCHEMA.TOPOLOGICAL_REGION' IN TYPEOF(item) THEN - status := TRUE; - END_IF; - - RETURN(status); - - END_FUNCTION; - -(* Implicit interfaced from: finite_element_analysis_control_and_result_schema *) -FUNCTION consistent_set_values - (values_and_locations : SET [1:?] OF GENERIC; - variable : GENERIC) : BOOLEAN; - - LOCAL - vv_type : STRING; - fv_type : SET [1:?] OF STRING; - i : INTEGER; - END_LOCAL; - - vv_type := variable_value_type (variable); - - REPEAT i := 1 TO HIINDEX (values_and_locations); - - fv_type := TYPEOF (values_and_locations[i].simple_value); - - IF NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'UNSPECIFIED_VALUE') IN fv_type) THEN - - IF NOT (vv_type IN fv_type) THEN - RETURN (FALSE); - END_IF; - - END_IF; - - END_REPEAT; - - RETURN (TRUE); - -END_FUNCTION; - -(* Implicit interfaced from: finite_element_analysis_control_and_result_schema *) -FUNCTION variable_value_type - (variable : GENERIC) : STRING; - - LOCAL - svt : STRING; - feacr : STRING; - variable_typeof : SET [1:?] OF STRING; - END_LOCAL; - - svt := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; - feacr := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; - variable_typeof := TYPEOF (variable); - - IF SIZEOF ([(feacr + 'CURVE_SCALAR_VARIABLE'), - (feacr + 'SURFACE_SCALAR_VARIABLE'), - (feacr + 'VOLUME_SCALAR_VARIABLE'), - (feacr + 'BOUNDARY_CURVE_SCALAR_VARIABLE'), - (feacr + 'BOUNDARY_SURFACE_SCALAR_VARIABLE'), - (feacr + 'AGGREGATED_SCALAR_VARIABLE'), - (feacr + 'VOLUME_ANGULAR_VARIABLE'), - (feacr + 'AGGREGATED_ANGULAR_VARIABLE'), - (feacr + 'APPLICATION_DEFINED_SCALAR_VARIABLE')] * - variable_typeof ) = 1 THEN - RETURN (svt + 'SCALAR'); - END_IF; - - IF SIZEOF ([(feacr + 'CURVE_VECTOR_2D_VARIABLE'), - (feacr + 'SURFACE_VECTOR_2D_VARIABLE'), - (feacr + 'APPLICATION_DEFINED_VECTOR_2D_VARIABLE')] * - variable_typeof ) = 1 THEN - RETURN (svt + 'TENSOR1_2D'); - END_IF; - - IF SIZEOF ([(feacr + 'CURVE_VECTOR_3D_VARIABLE'), - (feacr + 'SURFACE_VECTOR_3D_VARIABLE'), - (feacr + 'VOLUME_VECTOR_3D_VARIABLE'), - (feacr + 'BOUNDARY_CURVE_VECTOR_3D_VARIABLE'), - (feacr + 'BOUNDARY_SURFACE_VECTOR_3D_VARIABLE'), - (feacr + 'AGGREGATED_VECTOR_3D_VARIABLE'), - (feacr + 'APPLICATION_DEFINED_VECTOR_3D_VARIABLE')] * - variable_typeof ) = 1 THEN - RETURN (svt + 'TENSOR1_3D'); - END_IF; - - IF SIZEOF ([(feacr + 'SURFACE_TENSOR2_2D_VARIABLE'), - (feacr + 'APPLICATION_DEFINED_TENSOR2_2D_VARIABLE')] * - variable_typeof ) = 1 THEN - RETURN (svt + 'SYMMETRIC_TENSOR2_3D'); - END_IF; - - IF SIZEOF ([(feacr + 'VOLUME_TENSOR2_3D_VARIABLE'), - (feacr + 'AGGREGATED_TENSOR2_3D_VARIABLE'), - (feacr + 'APPLICATION_DEFINED_TENSOR2_3D_VARIABLE')] * - variable_typeof ) = 1 THEN - RETURN (svt + 'SYMMETRIC_TENSOR2_3D'); - END_IF; - - RETURN ('NO_MATCH'); - -END_FUNCTION; - -(* Implicit interfaced from: finite_element_analysis_control_and_result_schema *) -FUNCTION appropriate_set_value_existence - (values_and_locations : SET [1:?] OF GENERIC; - type_self : SET [1:?] OF STRING) : BOOLEAN; - - LOCAL - i : INTEGER; - END_LOCAL; - - REPEAT i := 1 TO HIINDEX (values_and_locations); - IF NOT (appropriate_value_existence - (values_and_locations[i].simple_value, type_self)) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - - RETURN (TRUE); - -END_FUNCTION; - -(* Implicit interfaced from: finite_element_analysis_control_and_result_schema *) -FUNCTION appropriate_value_existence - (a_value_e : GENERIC; - type_self : SET [1:?] OF STRING) : BOOLEAN; - - LOCAL - feacr : STRING; - value_typeof : SET [1:?] OF STRING; - END_LOCAL; - - feacr := 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'; - value_typeof := TYPEOF(a_value_e); - - IF (((feacr + 'OUTPUT_REQUEST_STATE') IN type_self) AND - NOT ((feacr + 'UNSPECIFIED_VALUE') IN value_typeof)) THEN - RETURN (FALSE); - END_IF; - - RETURN (TRUE); - -END_FUNCTION; - -(* Implicit interfaced from: finite_element_analysis_control_and_result_schema *) -FUNCTION necessary_value_coordinate_system - (cs_value : field_value; - coordinate_system : GENERIC): BOOLEAN; - - IF (SIZEOF ( - ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TENSOR1_2D', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TENSOR1_3D', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SYMMETRIC_TENSOR2_2D', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SYMMETRIC_TENSOR2_3D'] * - TYPEOF (cs_value)) = 1) THEN - IF (NOT EXISTS (coordinate_system) ) THEN - RETURN (FALSE); - END_IF; - END_IF; - - RETURN (TRUE); - -END_FUNCTION; - -(* Implicit interfaced from: finite_element_analysis_control_and_result_schema *) -FUNCTION consistent_value - (c_value : field_value; - variable : GENERIC) : BOOLEAN; - - LOCAL - vv_type : STRING; - fv_type : SET [1:?] OF STRING; - END_LOCAL; - - vv_type := variable_value_type (variable); - - fv_type := TYPEOF (c_value); - - IF NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'UNSPECIFIED_VALUE') IN fv_type) THEN - - IF NOT (vv_type IN fv_type) THEN - RETURN (FALSE); - END_IF; - - END_IF; - - RETURN (TRUE); - -END_FUNCTION; - -(* Implicit interfaced from: finite_element_analysis_control_and_result_schema *) -FUNCTION consistent_list_values - (values : LIST [1:?] OF field_value; - variable : GENERIC) : BOOLEAN; - - LOCAL - vv_type : STRING; - fv_type : SET [1:?] OF STRING; - i : INTEGER; - END_LOCAL; - - vv_type := variable_value_type (variable); - - REPEAT i := 1 TO HIINDEX (values); - - fv_type := TYPEOF (values[i]); - - IF NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'UNSPECIFIED_VALUE') IN fv_type) THEN - - IF NOT (vv_type IN fv_type) THEN - RETURN (FALSE); - END_IF; - - END_IF; - - END_REPEAT; - - RETURN (TRUE); - -END_FUNCTION; - -(* Implicit interfaced from: finite_element_analysis_control_and_result_schema *) -FUNCTION appropriate_list_value_existence - (values : LIST [1:?] OF GENERIC; - type_self : SET [1:?] OF STRING) : BOOLEAN; - - LOCAL - i : INTEGER; - END_LOCAL; - - REPEAT i := 1 TO HIINDEX (values); - IF NOT (appropriate_value_existence (values[i], type_self)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - - RETURN (TRUE); - -END_FUNCTION; -(* REFERENCE FROM (product_property_definition_schema); *) - FUNCTION acyclic_shape_aspect_relationship (relation : shape_aspect_relationship; relatives : SET [1:?] OF shape_aspect; specific_relation : STRING):BOOLEAN; - LOCAL - x : SET OF shape_aspect_relationship; - END_LOCAL; - - IF relation.relating_shape_aspect IN relatives THEN - RETURN (FALSE); - END_IF; - x := QUERY(sa <* bag_to_set(USEDIN(relation.relating_shape_aspect, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT')) | specific_relation IN TYPEOF(sa)); - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_shape_aspect_relationship(x[i], relatives + relation.relating_shape_aspect, specific_relation) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; -(* REFERENCE FROM (geometric_model_schema); *) -FUNCTION msb_shells - (brep : manifold_solid_brep) : SET[1:?] OF closed_shell; -LOCAL - return_set: SET[1:?] OF closed_shell := [brep.outer]; - END_LOCAL; - - IF SIZEOF(QUERY(msbtype <* TYPEOF(brep) | - msbtype LIKE '*BREP_WITH_VOIDS')) >= 1 - THEN - return_set := return_set + brep\brep_with_voids.voids; - END_IF; - RETURN(return_set);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION get_basis_surface - (c : curve_on_surface) : SET[0:2] OF surface; -LOCAL - surfs : SET[0:2] OF surface; - n : INTEGER; - END_LOCAL; - surfs := []; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF (c) THEN - surfs := [c\pcurve.basis_surface]; - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF (c) THEN - n := SIZEOF(c\surface_curve.associated_geometry); - REPEAT i := 1 TO n; - surfs := surfs + - associated_surface(c\surface_curve.associated_geometry[i]); - END_REPEAT; - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF (c) THEN - (* For a composite_curve_on_surface the basis_surface is the intersection - of the basis_surfaces of all the segments. *) - n := SIZEOF(c\composite_curve.segments); - surfs := get_basis_surface( - c\composite_curve.segments[1].parent_curve); - IF n > 1 THEN - REPEAT i := 2 TO n; - surfs := surfs * get_basis_surface( - c\composite_curve.segments[i].parent_curve); - END_REPEAT; - END_IF; - - END_IF; - RETURN(surfs);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION associated_surface - (arg : pcurve_or_surface) : surface; -LOCAL - surf : surface; - END_LOCAL; - - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(arg) THEN - surf := arg\pcurve.basis_surface; - ELSE - surf := arg; - END_IF; - RETURN(surf);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION list_to_array - (lis : LIST[0:?] OF GENERIC : T; low : INTEGER; u : INTEGER) : ARRAY[low:u] OF GENERIC : T; -LOCAL - n : INTEGER; - res : ARRAY [low:u] OF GENERIC : T; - END_LOCAL; - - n := SIZEOF(lis); - IF (n <> (u-low +1)) THEN - RETURN(?); - ELSE - res := [lis[1] : n]; - REPEAT i := 2 TO n; - res[low+i-1] := lis[i]; - END_REPEAT; - RETURN(res); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION make_array_of_array - (lis : LIST[1:?] OF LIST[1:?] OF GENERIC : T; low1 : INTEGER; u1 : INTEGER; low2 : INTEGER; u2 : INTEGER) : ARRAY[low1:u1] OF ARRAY[low2:u2] OF GENERIC : T; -LOCAL - res : ARRAY[low1:u1] OF ARRAY [low2:u2] OF GENERIC : T; - END_LOCAL; - -(* Check input dimensions for consistency *) - IF (u1-low1+1) <> SIZEOF(lis) THEN - RETURN (?); - END_IF; - IF (u2 - low2 + 1 ) <> SIZEOF(lis[1]) THEN - RETURN (?) ; - END_IF; -(* Initialise res with values from lis[1] *) - res := [list_to_array(lis[1], low2, u2) : (u1-low1 + 1)]; - REPEAT i := 2 TO HIINDEX(lis); - IF (u2-low2+1) <> SIZEOF(lis[i]) THEN - RETURN (?); - END_IF; - res[low1+i-1] := list_to_array(lis[i], low2, u2); - END_REPEAT; - - RETURN (res);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION curve_weights_positive - (b : rational_b_spline_curve) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT i := 0 TO b.upper_index_on_control_points; - IF b.weights[i] <= 0.0 THEN - result := FALSE; - RETURN(result); - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION surface_weights_positive - (b : rational_b_spline_surface) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT i := 0 TO b.u_upper; - REPEAT j := 0 TO b.v_upper; - IF (b.weights[i][j] <= 0.0) THEN - result := FALSE; - RETURN(result); - END_IF; - END_REPEAT; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION constraints_rectangular_composite_surface - (s : rectangular_composite_surface) : BOOLEAN; -REPEAT i := 1 TO s.n_u; - REPEAT j := 1 TO s.n_v; - IF NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF - (s.segments[i][j].parent_surface)) OR - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_TRIMMED_SURFACE' IN TYPEOF - (s.segments[i][j].parent_surface))) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - (* Check the transition codes, omitting the last row or column *) - REPEAT i := 1 TO s.n_u-1; - REPEAT j := 1 TO s.n_v; - IF s.segments[i][j].u_transition = discontinuous THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - REPEAT i := 1 TO s.n_u; - REPEAT j := 1 TO s.n_v-1; - IF s.segments[i][j].v_transition = discontinuous THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - RETURN(TRUE);END_FUNCTION; - -(* Implicit interfaced from: aic_manifold_surface *) -FUNCTION msf_surface_check (surf : surface) : BOOLEAN; - -(* This function varifies the validity of a surface in the - context of a manifold surface model. -*) - - (* elementary_surfaces are valid surface types - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN - RETURN(TRUE); - ELSE - - (* a swept_surface shall have a valid sweeping curve - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (surf) THEN - RETURN (msf_curve_check(surf\swept_surface.swept_curve)); - ELSE - - (* an offset_surface shall not self-intersect and shall - reference a valid surface - *) - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF (surf)) AND - (surf\offset_surface.self_intersect = FALSE) OR - (surf\offset_surface.self_intersect = UNKNOWN)) THEN - RETURN (msf_surface_check(surf\offset_surface.basis_surface)); - ELSE - - (* a surface_replica shall have a valid parent surface - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF(surf) THEN - RETURN(msf_surface_check(surf\surface_replica.parent_surface)); - ELSE - - (* a b_spline_surface shall not self-intersect - *) - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(surf)) AND - (surf\b_spline_surface.self_intersect = FALSE) OR - (surf\b_spline_surface.self_intersect = UNKNOWN)) THEN - RETURN(TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN(FALSE); -END_FUNCTION; - -(* Implicit interfaced from: aic_manifold_surface *) -FUNCTION msf_curve_check (cv : representation_item) : BOOLEAN; - -(* This function varifies the validity of a curve in the context of a - manifold surface model. Representation_items are - valid input, however, they are supposed to be curves; otherwise - this function will return false. -*) - -(* complex subtypes of curve that are both bounded_curve and - oneof conic, curve_replica, line, or offset_curve_3d are not - valid -*) -IF SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN - RETURN(FALSE); -END_IF; - -(* b_spline_curves shall not self-intersect - *) -IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (cv)) AND - (cv\b_spline_curve.self_intersect = FALSE)OR - (cv\b_spline_curve.self_intersect = UNKNOWN)) THEN - RETURN(TRUE); -ELSE - - (* conics and lines are valid curve types - *) - IF SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE'] - * TYPEOF (cv)) = 1 THEN - RETURN(TRUE); - ELSE - - (* a curve_replica shall reference a valid curve - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN - RETURN (msf_curve_check(cv\curve_replica.parent_curve)); - ELSE - - (* an offset_curve_3d shall not self-intersect and - shall reference a valid curve; a polyline is not a - valid basis_curve - *) - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (cv)) - AND - ((cv\offset_curve_3d.self_intersect = FALSE) OR - (cv\offset_curve_3d.self_intersect = UNKNOWN)) - AND - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF - (cv\offset_curve_3d.basis_curve)))) THEN - RETURN (msf_curve_check(cv\offset_curve_3d.basis_curve)); - ELSE - - (* a pcurve shall reference a valid curve and a valid - basis_surface - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv) THEN - RETURN ((msf_curve_check - (cv\pcurve.reference_to_curve\representation.items[1])) AND - (msf_surface_check(cv\pcurve.basis_surface))); - ELSE - - (* a surface_curve references a curve_3d and one or - two pcurves or one or two surfaces or one of - each; all of these references shall be valid - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN - - (* if the curve reference is correct, check also the rest - *) - IF msf_curve_check(cv\surface_curve.curve_3d) THEN - REPEAT i := 1 TO SIZEOF - (cv\surface_curve.associated_geometry); - - (* do for one or two associated_geometrys: - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN - TYPEOF (cv\surface_curve.associated_geometry[i]) THEN - IF NOT msf_surface_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF - (cv\surface_curve.associated_geometry[i]) THEN - IF NOT msf_curve_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); - END_IF; - ELSE - - (* a polyline shall have at least 3 points - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN - IF (SIZEOF (cv\polyline.points) >= 3) THEN RETURN (TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; -END_IF; -(* FALSE is returned if the input parameter cv is not a valid curve. - *) -RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: product_data_quality_inspection_result_schema *) - FUNCTION inspected_product_definition - (dqir:data_quality_inspection_result_representation) - :BAG OF product_definition; - LOCAL - dqdr :BAG OF data_quality_definition_representation_relationship:= []; - pdqdr :BAG OF product_data_and_data_quality_relationship:= []; - pd :BAG OF product_definition:= []; - END_LOCAL; - dqdr := USEDIN(dqir,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' - +'DATA_QUALITY_DEFINITION_REPRESENTATION_RELATIONSHIP.' - +'USED_REPRESENTATION'); - REPEAT i:= 1 TO SIZEOF(dqdr); - pdqdr := USEDIN(dqdr[i].definition, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' - +'PRODUCT_DATA_AND_DATA_QUALITY_RELATIONSHIP.' - +'DATA_QUALITY'); - REPEAT j:= 1 TO SIZEOF(pdqdr); - pd := pd + pdqdr[j].product_data; - END_REPEAT; - END_REPEAT; - RETURN(pd); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_measured_data_type - (ei:shape_data_quality_criterion; - type_string: STRING):LOGICAL; - LOCAL - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - sdcr: SET OF - SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT:=[]; - sdir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdii: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[]; - sdei: BAG OF - INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES:=[]; - END_LOCAL; - - -- STEP-1 - -- collect all shape_data_quality_inspection_criterion_report instances, - -- all shape_data_quality_inspection_instance_report_item instances, and - -- instance_report_item_with_extreme_instances instances - -- associated with the given shape_data_quality_criterion - -- via shape_data_quality_inspection_result. - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdcr := sdcr + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT' - IN TYPEOF(q)); - END_REPEAT; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - - -- If there is no report, then return true. - IF((SIZEOF(sdcr) = 0) AND (SIZEOF(sdir) = 0)) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sdir); - sdii := sdii + QUERY(q <* sdir[i].inspected_instances| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' - IN TYPEOF(q)); - END_REPEAT; - REPEAT i:= 1 TO SIZEOF(sdir); - sdei := sdei + QUERY(q <* sdir[i].inspected_instances| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' - IN TYPEOF(q)); - END_REPEAT; - - -- When reports exist, then perform the following checking process. - -- Check representative_measured_value of - -- shape_data_quality_inspection_criterion_report - REPEAT i:= 1 TO SIZEOF(sdcr); - IF(NOT(type_string IN - TYPEOF(sdcr[i].representative_measured_value))) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - -- Check measured_value of shape_data_quality_inspection_ - -- instance_report_item - REPEAT i:= 1 TO SIZEOF(sdii); - IF(NOT(type_string IN - TYPEOF(sdii[i].measured_value))) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - -- Check measured_value of extreme_instances of - -- instance_report_item_with_extreme_instance - REPEAT i:= 1 TO SIZEOF(sdei); - REPEAT j:= 1 TO SIZEOF(sdei[i].extreme_instances); - IF(NOT(type_string IN - TYPEOF(sdei[i].extreme_instances[j].measured_value))) - THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - RETURN(TRUE); - - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_inspected_elements_type - (ei:shape_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - sdir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdiri: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[]; - t_type_list:BAG OF STRING:=[]; - END_LOCAL; - - -- STEP-1 - -- collect all shape_data_quality_inspection_instance_report_item - -- instances associated with the given shape_data_quality_criterion - -- via shape_data_quality_inspection_result and - -- shape_data_quality_inspection_instance_report - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - IF(SIZEOF(sdir) = 0) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sdir); - sdiri := sdiri + QUERY(q <* sdir[i].inspected_instances| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' - IN TYPEOF(q)); - END_REPEAT; - - -- STEP-2 - -- check if the types of inspected_elements of the collected - -- instances are exactly coincident with the type names in the - -- type list given as an input argument of this function. - - -- If there is no instance_report_item, then return true. - IF(SIZEOF(sdiri) = 0) THEN - RETURN(TRUE); - END_IF; - - -- When reports exist, then perform the following checking process. - REPEAT i:= 1 TO SIZEOF(sdiri); - -- If the size of inspected_elements is not equal to the size of - -- type_list, then return false. - IF(SIZEOF(sdiri[i].inspected_elements) <> - SIZEOF(type_list)) THEN - RETURN(FALSE); - END_IF; - -- check all elements in the type_list - -- for each element of inspected_elements. - t_type_list := type_list; - REPEAT j:= 1 TO SIZEOF(sdiri[i].inspected_elements); - REPEAT k:= 1 TO SIZEOF(t_type_list); - IF(t_type_list[k] IN - TYPEOF(sdiri[i].inspected_elements[j])) THEN - t_type_list := t_type_list - t_type_list[k]; - ESCAPE; - END_IF; - END_REPEAT; - END_REPEAT; - IF(SIZEOF(t_type_list) > 0) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_locations_of_extreme_value_type - (ei:shape_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - sdir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdei: SET OF - INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES:=[]; - t_type_list:BAG OF STRING:=[]; - END_LOCAL; - - -- STEP-1 - -- collect all instance_report_item_with_extreme_instances instances - -- associated with the given shape_data_quality_criterion - -- via shape_data_quality_inspection_result and - -- shape_data_quality_inspection_instance_report. - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - REPEAT i:= 1 TO SIZEOF(sdir); - sdei := sdei + QUERY(q <* sdir[i].inspected_instances| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' - IN TYPEOF(q)); - END_REPEAT; - - -- STEP-2 - -- check if the types of locations_of_extreme_value attributes - -- of all extreme_instances attributes of the collected instances are - -- exactly coincident with the type names in the type list given as an - -- input argument of this function. - - -- If there is no instance report, then return true. - IF(SIZEOF(sdei) = 0) THEN - RETURN(TRUE); - END_IF; - - -- If the type_list is empty and - -- instance_report_item_with_extreme_instances exists, then return false. - IF((SIZEOF(type_list) = 0) AND (SIZEOF(sdei) <> 0)) THEN - RETURN(FALSE); - END_IF; - - -- When report_items exist, then perform the following checking process. - REPEAT i:= 1 TO SIZEOF(sdei); - REPEAT j:= 1 TO SIZEOF(sdei[i].extreme_instances); - -- If the size of locations_of_extreme_value is not equal to - -- the size of type_list, then return false. - IF(SIZEOF(sdei[i].extreme_instances[j]. - locations_of_extreme_value) <> - SIZEOF(type_list)) THEN - RETURN(FALSE); - END_IF; - t_type_list := type_list; - -- check all elements of the type_list - -- for each element of locations_of_extreme_value. - REPEAT k:= 1 TO SIZEOF(sdei[i].extreme_instances[j] - .locations_of_extreme_value); - REPEAT l:= 1 TO SIZEOF(t_type_list); - IF(t_type_list[l] IN - TYPEOF(sdei[i].extreme_instances[j]. - locations_of_extreme_value[k])) THEN - t_type_list := t_type_list - t_type_list[l]; - ESCAPE; - END_IF; - END_REPEAT; - END_REPEAT; - IF(SIZEOF(t_type_list) > 0) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_accuracy_types - (ei:shape_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqca: BAG OF - SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION:=[]; - sma: BAG OF SHAPE_MEASUREMENT_ACCURACY:=[]; - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - scraa: BAG OF - SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATION:=[]; - t_logic:BOOLEAN; - END_LOCAL; - -- STEP-1 - -- collect types of range attribute of shape_measurement_accuracy - -- referred from shape_data_quality_criterion_and_accuracy_association - -- that refers to given shape_data_quality_criterion. - sdqca := USEDIN(ei, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION.'+ - 'SHAPE_DATA_QUALITY_CRITERION'); - IF(SIZEOF(sdqca) <> 0) THEN - REPEAT i:= 1 TO SIZEOF(sdqca); - sma := sma + sdqca[i].required_specific_accuracy; - END_REPEAT; - - -- STEP-2 - -- check whether the collected types include all the type names - -- in the type list given as an input argument of this function - -- and they do not include any other type names. - IF(SIZEOF(type_list) < SIZEOF(sma)) THEN - RETURN(FALSE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sma); - t_logic := FALSE; - REPEAT j:= 1 TO SIZEOF(type_list); - IF(type_list[j] IN value_limit_type(sma[i].range)) THEN - t_logic := TRUE; - ESCAPE; - END_IF; - END_REPEAT; - IF(NOT(t_logic)) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_IF; - - -- STEP-3 - -- collect types of range attribute of shape_measurement_accuracy - -- referred from shape_inspection_result_accuracy_association - -- that refers to shape_data_quality_inspection_result - -- for the given shape_data_quality_criterion. - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sdqir); - scraa := USEDIN(sdqir[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATION.'+ - 'SHAPE_DATA_QUALITY_RESULT'); - IF(SIZEOF(scraa) <> 0) THEN - sma := []; - REPEAT j:= 1 TO SIZEOF(scraa); - sma := sma + scraa[j].applied_specific_accuracy; - END_REPEAT; - - -- STEP-4 - -- check whether the collected types include all the type - -- names in the type list given as an input argument of - -- this function and they do not include any other type names. - IF(SIZEOF(type_list) < SIZEOF(sma)) THEN - RETURN(FALSE); - END_IF; - - REPEAT j:= 1 TO SIZEOF(sma); - t_logic := FALSE; - REPEAT k:= 1 TO SIZEOF(type_list); - IF(type_list[k] IN value_limit_type(sma[j].range)) THEN - t_logic := TRUE; - ESCAPE; - END_IF; - END_REPEAT; - IF(NOT(t_logic)) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_IF; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION value_limit_type - (iv:shape_data_quality_value_limit_type_select):SET OF STRING; - LOCAL - retval : SET OF STRING := []; - END_LOCAL; - IF(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' - +'SHAPE_DATA_QUALITY_VALUE_RANGE') IN TYPEOF(iv)) THEN - retval := TYPEOF(iv\compound_representation_item.item_element[1].value_component); - END_IF; - IF(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' - +'SHAPE_DATA_QUALITY_VALUE_LIMIT') IN TYPEOF(iv)) THEN - IF(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MEASURE_WITH_UNIT') IN TYPEOF(iv)) THEN - retval := TYPEOF(iv\measure_with_unit.value_component); - END_IF; - END_IF; - RETURN(retval); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_inspection_result_schema *) - FUNCTION using_product_definition_of_shape_representation - (item: shape_representation) : SET OF product_definition; - LOCAL - local_s_d_r: SET OF shape_definition_representation := []; - local_p_d: SET OF product_definition := []; - i : INTEGER; - END_LOCAL; - - -- find shape_definition_representations - local_s_d_r := QUERY(i1<* bag_to_set (USEDIN (item, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'SHAPE_DEFINITION_REPRESENTATION' - IN TYPEOF(i1)); - - -- find product_definition_shape & product_definitions - REPEAT i := 1 TO HIINDEX (local_s_d_r); - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION' IN - TYPEOF (local_s_d_r[i]\property_definition_representation.definition)) - THEN - IF('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF - (local_s_d_r[i]\property_definition_representation.definition\property_definition.definition)) - THEN - local_p_d := local_p_d + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; - END_IF; - END_IF; - END_REPEAT; - RETURN (local_p_d); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_inspection_result_schema *) - FUNCTION relating_shape_representations_of_extreme_values - (item:location_of_extreme_value_select) - : SET OF shape_representation; - - LOCAL - results : SET OF shape_representation:=[]; - exti : SET OF extreme_instance:=[]; - ii_ei : SET OF - instance_report_item_with_extreme_instances:=[]; - sdiir : SET OF - shape_data_quality_inspection_instance_report:=[]; - sdqr : SET OF - shape_data_quality_inspection_result_representation:=[]; - sdisr : SET OF - shape_data_quality_inspected_shape_and_result_relationship:=[]; - END_LOCAL; - -- find extreme_instances - exti := exti + - bag_to_set( USEDIN(item, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'EXTREME_INSTANCE.'+ - 'LOCATIONS_OF_EXTREME_VALUE')); - - -- find instance_report_item_with_extreme_instances - REPEAT i := 1 TO HIINDEX (exti); - ii_ei := ii_ei + - bag_to_set( USEDIN(exti[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES.'+ - 'EXTREME_INSTANCES')); - END_REPEAT; - - -- find shape_data_quality_inspection_instance_report - REPEAT i := 1 TO HIINDEX (ii_ei); - sdiir := sdiir + - bag_to_set( USEDIN(ii_ei[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT.'+ - 'INSPECTED_INSTANCES')); - END_REPEAT; - - -- find shape_data_quality_inspection_result_representation - REPEAT i := 1 TO HIINDEX (sdiir); - sdqr := sdqr + - QUERY(i1<* bag_to_set( USEDIN(sdiir[i].inspection_result, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION.ITEMS'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' - IN TYPEOF(i1)); - END_REPEAT; - - -- find shape_data_quality_inspected_shape_and_result_relationship - REPEAT i := 1 TO HIINDEX (sdqr); - sdisr := sdisr + bag_to_set(USEDIN(sdqr[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.'+ - 'REP_2')); - END_REPEAT; - - -- find shape_representation - REPEAT i := 1 TO HIINDEX (sdisr); - results := results + sdisr[i].rep_1; - END_REPEAT; - - RETURN (results); - END_FUNCTION; - -(* Implicit interfaced from: Externally_conditioned_data_quality_criteria_mim *) - FUNCTION validate_ecdq_inspected_elements_type - (ei:Externally_conditioned_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqir: SET OF - EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT:=[]; - dir: SET OF - DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdiri: SET OF - EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[]; - t_type_list:BAG OF STRING:=[]; - END_LOCAL; - -- STEP-1 - -- collect all externally_conditioned_data_quality_inspection_instance_report_item - -- instances associated with the given externally_conditioned_data_quality_criterion - -- via externally_conditioned_data_quality_inspection_result and - -- data_quality_inspection_instance_report - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - dir := dir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - IF(SIZEOF(dir) = 0) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(dir); - sdiri := sdiri + QUERY(q <* dir[i].inspected_instances| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' - IN TYPEOF(q)); - END_REPEAT; - - -- STEP-2 - -- check if the types of inspected_elements of the collected - -- instances are exactly coincident with the type names in the - -- type list given as an input argument of this function. - - -- If there is no instance_report_item, then this function returns true. - IF(SIZEOF(sdiri) = 0) THEN - RETURN(TRUE); - END_IF; - - -- When reports exist, then perform the following checking process. - REPEAT i:= 1 TO SIZEOF(sdiri); - -- If the size of inspected_elements is not equal to the size of - -- type_list, then return false. - IF(SIZEOF(sdiri[i].inspected_elements) <> - SIZEOF(type_list)) THEN - RETURN(FALSE); - END_IF; - -- check all elements in the type_list - -- for each element of inspected_elements. - t_type_list := type_list; - REPEAT j:= 1 TO SIZEOF(sdiri[i].inspected_elements); - REPEAT k:= 1 TO SIZEOF(t_type_list); - IF(t_type_list[k] IN - TYPEOF(sdiri[i].inspected_elements[j])) THEN - t_type_list := t_type_list - t_type_list[k]; - ESCAPE; - END_IF; - END_REPEAT; - END_REPEAT; - IF(SIZEOF(t_type_list) > 0) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; -(* REFERENCE FROM (iso13584_generic_expressions_schema); *) -FUNCTION used_variables (arg : generic_expression) : - SET OF generic_variable; - -LOCAL - result : SET OF generic_variable := []; -END_LOCAL; - -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GENERIC_VARIABLE' - IN TYPEOF (arg) -THEN - RETURN ([arg]); -END_IF; - -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNARY_GENERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN (used_variables (arg\unary_generic_expression.operand)); -END_IF; - -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BINARY_GENERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN(used_variables(arg\binary_generic_expression.operands[1]) - + used_variables (arg\binary_generic_expression.operands[2])); -END_IF; - -IF -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - REPEAT i := 1 TO - SIZEOF(arg\multiple_arity_generic_expression.operands); - result := result + used_variables( - arg\multiple_arity_generic_expression.operands[i]); - END_REPEAT; - - RETURN (result); -END_IF; -RETURN ([ ]); -- in this case the subtype shall not contain - -- any variable (see IP1 in generic_expression) -END_FUNCTION; -- used_variables -(* REFERENCE FROM (measure_schema); *) - FUNCTION derive_dimensional_exponents (x : unit):dimensional_exponents; - LOCAL - result : dimensional_exponents := dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); - END_LOCAL; - - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DERIVED_UNIT' IN TYPEOF(x) THEN - REPEAT i := LOINDEX(x\derived_unit.elements) TO HIINDEX(x\derived_unit.elements); - result.length_exponent := result.length_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.length_exponent); - result.mass_exponent := result.mass_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.mass_exponent); - result.time_exponent := result.time_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.time_exponent); - result.electric_current_exponent := result.electric_current_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.electric_current_exponent); - result.thermodynamic_temperature_exponent := result.thermodynamic_temperature_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.thermodynamic_temperature_exponent); - result.amount_of_substance_exponent := result.amount_of_substance_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.amount_of_substance_exponent); - result.luminous_intensity_exponent := result.luminous_intensity_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.luminous_intensity_exponent); - END_REPEAT; - ELSE - result := x\named_unit.dimensions; - END_IF; - RETURN (result); - END_FUNCTION; -(* REFERENCE FROM (assembly_feature_relationship_schema); *) -FUNCTION using_representation_with_mapping (item : representation_item) - : SET OF representation; -LOCAL - results: SET OF representation := []; - local_results : SET OF representation := []; - local_representation_map : SET OF representation_map := []; - intermediate_items : SET OF representation_item := []; - i : INTEGER; - j : INTEGER; -END_LOCAL; --- find the representations in which the item is used --- and which is referenced from the representation_map - local_results := QUERY (z <* using_representations (item)| - SIZEOF (USEDIN (z, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_MAP.' + - 'MAPPED_REPRESENTATION')) > 0 ); - IF (SIZEOF (local_results) = 0) THEN RETURN ([]); - ELSE --- find the set of representation_map in which the local_results are used - REPEAT i := 1 TO HIINDEX(local_results); - local_representation_map := local_representation_map + - bag_to_set (USEDIN (local_results[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION')); - END_REPEAT; --- find the set of mapped_item - REPEAT i := 1 TO HIINDEX(local_representation_map); - intermediate_items := intermediate_items + - bag_to_set (USEDIN (local_representation_map[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE')); - END_REPEAT; --- repeat same manner - REPEAT j := 1 to HIINDEX(intermediate_items); - results := results + bag_to_set (using_representation_with_mapping - (intermediate_items[j])); - END_REPEAT; - END_IF; - RETURN (results); -END_FUNCTION; - -(* Implicit interfaced from: assembly_constraint_schema *) -FUNCTION assembly_leaf - (item: product_definition) : BOOLEAN; -LOCAL - local_relation: SET OF assembly_component_usage := []; - local_relation2: BAG OF assembly_component_usage := []; -END_LOCAL; --- extraction of related assembly_component_relationships -- -local_relation2 := local_relation2 + QUERY(pdr <* USEDIN (item, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN - TYPEOF(pdr)); -local_relation := bag_to_set (local_relation2); -IF (SIZEOF (local_relation) = 0) THEN RETURN (TRUE); - ELSE RETURN (FALSE); -END_IF; -END_FUNCTION; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - FUNCTION value_range_wr1 - (agg : compound_item_definition) : BOOLEAN; - BEGIN - IF (SIZEOF(agg) = 2) AND ((SIZEOF(QUERY (i1 <* agg | ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF - (i1)))) = 2) OR - (SIZEOF(QUERY (i2 <* agg | ( - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF - (i2)))) = 2)) - THEN - RETURN(TRUE); - ELSE - RETURN(FALSE); - END_IF; - END; - END_FUNCTION; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - FUNCTION value_range_wr2 - (agg : compound_item_definition) : BOOLEAN; - BEGIN - IF ((SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'upper limit'))) = 1) - AND (SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'lower limit'))) = 1)) - THEN - RETURN(TRUE); - ELSE - RETURN(FALSE); - END_IF; - END; - END_FUNCTION; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - FUNCTION value_range_wr3 - (agg : compound_item_definition) : BOOLEAN; - BEGIN - IF (SIZEOF(QUERY(i1 <* agg | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND - (SIZEOF (QUERY (i2 <* agg | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i2)) AND - (i1 :<>: i2) AND (i1\measure_with_unit.unit_component :=: i2\measure_with_unit.unit_component))) = 1))) = 2) - THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; - END; - END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION acyclic_curve_replica - (rep : curve_replica; parent : curve) : BOOLEAN; -IF NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type curve_replica *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same curve_replica, otherwise, - call function again with the parents own parent_curve. *) - ELSE - RETURN(acyclic_curve_replica(rep, - parent\curve_replica.parent_curve)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION acyclic_point_replica - (rep : point_replica; parent : point) : BOOLEAN; -IF NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type point_replica *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same point_replica, otherwise, - call function again with the parents own parent_pt. *) - ELSE RETURN(acyclic_point_replica(rep, parent\point_replica.parent_pt)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION acyclic_surface_replica - (rep : surface_replica; parent : surface) : BOOLEAN; -IF NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type surface_replica *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same surface_replica, otherwise, - call function again with the parents own parent_surface. *) - ELSE RETURN(acyclic_surface_replica(rep, - parent\surface_replica.parent_surface)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: aic_draughting_annotation *) -FUNCTION check_text_alignment (ct : composite_text) : BOOLEAN; - - LOCAL - a : SET OF text_alignment := []; - END_LOCAL; - - -- create a set of all the alignments - REPEAT i := 1 TO HIINDEX (ct.collected_text); - a := a + [ct.collected_text[i]\text_literal.alignment]; - END_REPEAT; - - -- if there is more than one element in the set - -- then not all alignments were the same - RETURN (SIZEOF(a) = 1); -END_FUNCTION; - -(* Implicit interfaced from: aic_draughting_annotation *) -FUNCTION check_text_font (ct : composite_text) : BOOLEAN; - - LOCAL - f : SET OF font_select := []; - END_LOCAL; - - -- build a set of all the fonts - REPEAT i := 1 TO HIINDEX (ct.collected_text); - f := f + [ct.collected_text[i]\text_literal.font]; - END_REPEAT; - - -- if there is more than one element in the set - -- then not all fonts were the same - RETURN (SIZEOF(f) <= 1); -END_FUNCTION; - -(* Implicit interfaced from: presentation_organization_schema *) - FUNCTION aspect_ratio (p : planar_box) : positive_ratio_measure; - IF (p.size_in_x > 0.) AND (p.size_in_y > 0.) THEN - RETURN (p.size_in_x / p.size_in_y); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: measure_schema *) - FUNCTION dimensions_for_si_unit (n : si_unit_name):dimensional_exponents; - CASE n OF - metre: - RETURN (dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - gram: - RETURN (dimensional_exponents(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - second: - RETURN (dimensional_exponents(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0)); - ampere: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0)); - kelvin: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0)); - mole: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)); - candela: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); - radian: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - steradian: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - hertz: - RETURN (dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0)); - newton: - RETURN (dimensional_exponents(1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - pascal: - RETURN (dimensional_exponents(-1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - joule: - RETURN (dimensional_exponents(2.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - watt: - RETURN (dimensional_exponents(2.0, 1.0, -3.0, 0.0, 0.0, 0.0, 0.0)); - coulomb: - RETURN (dimensional_exponents(0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0)); - volt: - RETURN (dimensional_exponents(2.0, 1.0, -3.0, -1.0, 0.0, 0.0, 0.0)); - farad: - RETURN (dimensional_exponents(-2.0, -1.0, 4.0, 2.0, 0.0, 0.0, 0.0)); - ohm: - RETURN (dimensional_exponents(2.0, 1.0, -3.0, -2.0, 0.0, 0.0, 0.0)); - siemens: - RETURN (dimensional_exponents(-2.0, -1.0, 3.0, 2.0, 0.0, 0.0, 0.0)); - weber: - RETURN (dimensional_exponents(2.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0)); - tesla: - RETURN (dimensional_exponents(0.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0)); - henry: - RETURN (dimensional_exponents(2.0, 1.0, -2.0, -2.0, 0.0, 0.0, 0.0)); - degree_Celsius: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0)); - lumen: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); - lux: - RETURN (dimensional_exponents(-2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); - becquerel: - RETURN (dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0)); - gray: - RETURN (dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - sievert: - RETURN (dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - OTHERWISE: - RETURN (?); - END_CASE; - END_FUNCTION; - -(* Implicit interfaced from: measure_schema *) - FUNCTION valid_units (m : measure_with_unit):BOOLEAN; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MASS_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TIME_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_CURRENT_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CELSIUS_TEMPERATURE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AMOUNT_OF_SUBSTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LUMINOUS_INTENSITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AREA_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VOLUME_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RATIO_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITIVE_PLANE_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ACCELERATION_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 1.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CAPACITANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -2.0, -1.0, 4.0, 2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_CHARGE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONDUCTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -2.0, -1.0, 3.0, 2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELECTRIC_POTENTIAL_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -3.0, -1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ENERGY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FORCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FREQUENCY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ILLUMINANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INDUCTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -2.0, -2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LUMINOUS_FLUX_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAGNETIC_FLUX_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MAGNETIC_FLUX_DENSITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POWER_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -3.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRESSURE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RESISTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -3.0, -2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VELOCITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RADIOACTIVITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ABSORBED_DOSE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DOSE_EQUIVALENT_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -FUNCTION sts_get_general_datum_reference - (input : datum_reference_element) : general_datum_reference; -LOCAL - general_datum_reference_bag : BAG OF general_datum_reference := -(USEDIN(input, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'GENERAL_DATUM_REFERENCE.' + 'BASE')); - END_LOCAL; - - IF SIZEOF(general_datum_reference_bag) = 1 THEN - RETURN (general_datum_reference_bag[1]); - ELSE - RETURN (?); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: shape_tolerance_schema *) -FUNCTION sts_get_product_definition_shape - (input : geometric_tolerance_target) : product_definition_shape; -CASE TRUE OF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSIONAL_LOCATION' IN TYPEOF(input)) : - RETURN(input\shape_aspect_relationship.relating_shape_aspect\shape_aspect.of_shape); - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIMENSIONAL_SIZE' IN TYPEOF(input)) : - RETURN(input\dimensional_size.applies_to\shape_aspect.of_shape); - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(input)) : - RETURN(input); - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF(input)) : - RETURN(input\shape_aspect.of_shape); - OTHERWISE : RETURN(?); - END_CASE;END_FUNCTION; - -(* Implicit interfaced from: aic_manifold_subsurface *) -FUNCTION advanced_face_properties (testface : face) : BOOLEAN; -(* return TRUE if testface is of type advanced_face *) -IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF(testface) THEN - RETURN (TRUE); -END_IF; -(* if testface is a subface recursively test the parent_face, -return FALSE for all other types of face *) -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(testface)) THEN - RETURN(advanced_face_properties(testface\subface.parent_face)); - ELSE RETURN (FALSE); -END_IF; -END_FUNCTION; - -(* Implicit interfaced from: solid_shape_element_schema *) -FUNCTION compute_total_depth (swsrh : solid_with_stepped_round_hole) - : positive_length_measure; - -LOCAL -i : positive_integer; -n : positive_integer := swsrh.segments; -td : positive_length_measure := swsrh.segment_depths[1]; -END_LOCAL; - -IF n = 1 -THEN RETURN(td); -ELSE - REPEAT i := 2 TO n; - td := td + swsrh.segment_depths[i]; - END_REPEAT; -END_IF; -RETURN(td); - -END_FUNCTION; - -(* Implicit interfaced from: solid_shape_element_schema *) -FUNCTION validate_countersink_radii - (cskhole : solid_with_stepped_round_hole_and_conical_transitions) - : BOOLEAN; - - LOCAL - i,j : INTEGER; - n : INTEGER := 1 + - cskhole\solid_with_stepped_round_hole.segments; - smaller, larger : positive_length_measure; - END_LOCAL; - - REPEAT i := 1 TO SIZEOF(cskhole.conical_transitions); - - -- First check whether transition i applies to the entry of the hole or - -- the exit of a through hole - those cases only need to be checked for - -- the sign of the cone apex angle. - - IF (((cskhole.conical_transitions[i].transition_number = 1) - AND (cskhole.conical_transitions[i].cone_apex_angle < 0)) - XOR ((cskhole.conical_transitions[i].transition_number = n) - AND (cskhole.conical_transitions[i].cone_apex_angle > 0))) - THEN RETURN(FALSE); - ELSE - IF ((cskhole.conical_transitions[i].transition_number <> 1) - AND (cskhole.conical_transitions[i].transition_number <> n)) - THEN - - -- For all remaining transitions, check that the cone base radius - -- lies in the range of validity. - - - BEGIN - j := cskhole.conical_transitions[i].transition_number; - IF cskhole\solid_with_stepped_round_hole.segment_radii[j] - > cskhole\solid_with_stepped_round_hole.segment_radii[j-1] - THEN - BEGIN - IF (cskhole.conical_transitions[i].cone_apex_angle > 0) - THEN RETURN(FALSE); - END_IF; - larger - := cskhole\solid_with_stepped_round_hole.segment_radii[j]; - smaller - := cskhole\solid_with_stepped_round_hole.segment_radii[j-1]; - END; - ELSE - BEGIN - IF (cskhole.conical_transitions[i].cone_apex_angle < 0) - THEN RETURN(FALSE); - END_IF; - larger - := cskhole\solid_with_stepped_round_hole.segment_radii[j-1]; - smaller - := cskhole\solid_with_stepped_round_hole.segment_radii[j]; - END; - END_IF; - IF ((cskhole.conical_transitions[i].cone_base_radius > larger) - OR (cskhole.conical_transitions[i].cone_base_radius < smaller)) - THEN RETURN(FALSE); - END_IF; - END; - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); - -END_FUNCTION; - -(* Implicit interfaced from: solid_shape_element_schema *) -FUNCTION check_continuous_edges (edges : LIST OF UNIQUE edge_curve) - : BOOLEAN; - - LOCAL - i : INTEGER; - next_vertex : vertex; - END_LOCAL; - - -- first check whether there is only one edge in the list: in this - -- case there is no connectivity to be checked. - - IF (SIZEOF(edges) = 1) - THEN RETURN(TRUE); - END_IF; - - -- otherwise, establish the matching vertices of edges 1 and 2 in - -- the list, and determine the vertex of edge 2 to which edge 3, - -- must be connected, if there are more than two edges in the list. - - IF ((edges[2].edge_start :=: edges[1].edge_end) - XOR (edges[2].edge_start :=: edges[1].edge_start)) - THEN next_vertex := edges[2].edge_end; - ELSE - IF ((edges[2].edge_end :=: edges[1].edge_end) - XOR (edges[2].edge_end :=: edges[1].edge_start)) - THEN next_vertex := edges[2].edge_start; - ELSE RETURN(FALSE); -- no match between any vertices of edges 1 and 2 - END_IF; - END_IF; - - -- exit if there are only two edges and they are connected - - IF (SIZEOF(edges) = 2) - THEN RETURN(TRUE); - END_IF; - - -- otherwise, check that any remaining edges are connected in list order. - - REPEAT i := 3 TO HIINDEX(edges); - IF (edges[i].edge_start :=: next_vertex) - THEN next_vertex := edges[i].edge_end; - ELSE - IF (edges[i].edge_end :=: next_vertex) - THEN next_vertex := edges[i].edge_start; - ELSE RETURN(FALSE); -- no match is found. - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); -- all edges have now been successfully checked. - -END_FUNCTION; - -(* Implicit interfaced from: presentation_definition_schema *) - FUNCTION control_characters_free - (s : STRING) : BOOLEAN; - - LOCAL - ch : STRING; - END_LOCAL; - - REPEAT i:=1 TO LENGTH(s); - ch := s[i]; - IF (ch = '\x9') OR (ch = '\xA') OR (ch = '\xD') THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_2d_wireframe *) -FUNCTION valid_basis_curve_in_2d_wireframe - (crv: curve) : BOOLEAN; - -- check for valid basic curve types - IF SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPSE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE'] * - TYPEOF (crv)) = 1 - THEN RETURN (TRUE); - ELSE - -- if the curve is a trimmed_curve - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE') - IN TYPEOF (crv)) THEN - -- if a line, parabola, or hyperbola is being trimmed, then valid - IF SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARABOLA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.HYPERBOLA'] * - TYPEOF(crv\trimmed_curve.basis_curve)) = 1 - THEN RETURN (TRUE); - -- otherwise, recursively check basis_curve - ELSE RETURN (valid_basis_curve_in_2d_wireframe - (crv\trimmed_curve.basis_curve)); - END_IF; - ELSE - -- recursively check the offset_curve basis curve - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_2D') - IN TYPEOF (crv)) - THEN RETURN (valid_basis_curve_in_2d_wireframe - (crv\offset_curve_2d.basis_curve)); - ELSE - -- recursively check the curve_replica parent curve - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA') - IN TYPEOF (crv)) - THEN RETURN (valid_basis_curve_in_2d_wireframe - (crv\curve_replica.parent_curve)); - ELSE - -- recursively check the composite_curve segments - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE') - IN TYPEOF (crv)) THEN - RETURN (SIZEOF (QUERY (ccs <* crv\composite_curve.segments | - NOT (valid_basis_curve_in_2d_wireframe - (ccs.parent_curve)))) = 0); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: sketch_schema *) -FUNCTION get_plane_of_implicit_geometry - (ps : positioned_sketch) : plane; - - LOCAL - sb : sketch_basis_select := ps.sketch_basis; - result : plane := ?; - END_LOCAL; - - -- determine plane of implicit geometry from the underlying entity data - -- type of its owning instance of positioned_sketch_representation. If - -- the sketch basis is of type planar_curve_select then the planarity - -- of the curve is guaranteed by a WHERE rule on the SELECT type of that - -- name. - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(sb)) THEN - result := sb\face_surface.face_geometry; - ELSE - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF(sb)) THEN - result := sb\curve_bounded_surface.basis_surface; - ELSE - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_CURVE_SELECT' IN TYPEOF(sb)) THEN - BEGIN - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC' IN TYPEOF(sb)) - THEN result := dummy_gri || surface() || - elementary_surface(sb\conic.position) || plane(); - END_IF; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF(sb)) - THEN - BEGIN - result := get_plane_of_implicit_geometry( - dummy_gri || positioned_sketch(sb\trimmed_curve.basis_curve,[])); - END; - END_IF; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(sb)) - THEN result := sb\pcurve.basis_surface; - END_IF; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(sb)) THEN - BEGIN - IF ((SIZEOF(sb\surface_curve.basis_surface) = 1) -- case of one basis surface - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[1]))) - THEN result := sb\surface_curve.basis_surface[1]; - ELSE -- case of two basis surfaces - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[1])) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[2]))) - THEN result := ?; - -- both basis surfaces are planes, their intersection curve - -- is a line, and no unique plane is defined - ELSE -- only one of the two basis surfaces is a plane - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[1])) - THEN result := sb\surface_curve.basis_surface[1]; - ELSE result := sb\surface_curve.basis_surface[2]; - END_IF; - END_IF; - END_IF; - END; - END_IF; - END; - END_IF; - END_IF; - END_IF; - - RETURN(result); - -END_FUNCTION; - -(* Implicit interfaced from: sketch_schema *) -FUNCTION get_relative_direction_2points - (cp1, cp2 : cartesian_point) : direction; - - LOCAL - d1, d2, d3, magnitude : REAL; - result : direction := ?; - END_LOCAL; - - -- check that input points are three-dimensional - - IF ((cp1.dim <> 3) OR (cp2.dim <> 3)) THEN - RETURN(result); - ELSE - - -- construct components of vector and compute its magnitude - - BEGIN - d1 := cp2.coordinates[1] - cp1.coordinates[1]; - d2 := cp2.coordinates[2] - cp1.coordinates[2]; - d3 := cp2.coordinates[3] - cp1.coordinates[3]; - magnitude := sqrt(d1*d1 + d2*d2 + d3*d3); - IF (magnitude = 0) THEN - return(result); -- direction is indeterminate in this case - END_IF; - result := dummy_gri || direction([d1, d2, d3]); - END; - END_IF; - RETURN(result); - -END_FUNCTION; - -(* Implicit interfaced from: sketch_schema *) -FUNCTION check_curve_planarity (checked_curve: curve) : BOOLEAN; - - LOCAL - crv : curve := checked_curve; - i,j : INTEGER; - result : BOOLEAN := FALSE; - END_LOCAL; - - -- Determine whether the curve lies on a plane, according to its type - - IF (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC','AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE'] * - TYPEOF(crv)) > 0) - THEN result := TRUE; - ELSE - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF(crv)) - AND check_curve_planarity(crv\trimmed_curve.basis_curve)) - THEN result := TRUE; - ELSE - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(crv)) - AND ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(crv\pcurve.basis_surface))) - THEN result := TRUE; - ELSE - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(crv)) - THEN - BEGIN - REPEAT j := 1 TO HIINDEX(crv\surface_curve.basis_surface); - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE' IN TYPEOF(crv\surface_curve.basis_surface[j])) - THEN result := TRUE; - END_IF; - END_REPEAT; - END; - END_IF; - END_IF; - END_IF; - END_IF; - - RETURN(result); - -END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION conditional_reverse (p : BOOLEAN; - an_item : reversible_topology) - : reversible_topology; - IF p THEN - RETURN (an_item); - ELSE - RETURN (topology_reversed (an_item)); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION topology_reversed (an_item : reversible_topology) - : reversible_topology; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE' IN TYPEOF (an_item)) THEN - RETURN (edge_reversed (an_item)); - END_IF; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH' IN TYPEOF (an_item)) THEN - RETURN (path_reversed (an_item)); - END_IF; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_BOUND' IN TYPEOF (an_item)) THEN - RETURN (face_bound_reversed (an_item)); - END_IF; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE' IN TYPEOF (an_item)) THEN - RETURN (face_reversed (an_item)); - END_IF; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL' IN TYPEOF (an_item)) THEN - RETURN (shell_reversed (an_item)); - END_IF; - - IF ('SET' IN TYPEOF (an_item)) THEN - RETURN (set_of_topology_reversed (an_item)); - END_IF; - - IF ('LIST' IN TYPEOF (an_item)) THEN - RETURN (list_of_topology_reversed (an_item)); - END_IF; - - RETURN (?); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION edge_reversed (an_edge : edge) : oriented_edge; - LOCAL - the_reverse : oriented_edge; - END_LOCAL; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_EDGE' IN TYPEOF (an_edge) ) THEN - the_reverse := dummy_tri || - edge(an_edge.edge_end, an_edge.edge_start) || - oriented_edge(an_edge\oriented_edge.edge_element, - NOT (an_edge\oriented_edge.orientation)) ; - ELSE - the_reverse := dummy_tri || - edge(an_edge.edge_end, an_edge.edge_start) || - oriented_edge(an_edge, FALSE); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) -FUNCTION path_reversed (a_path : path) : oriented_path; - LOCAL - the_reverse : oriented_path ; - END_LOCAL; - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF (a_path) ) THEN - the_reverse := dummy_tri || - path(list_of_topology_reversed (a_path.edge_list)) || - oriented_path(a_path\oriented_path.path_element, - NOT(a_path\oriented_path.orientation)) ; - ELSE - the_reverse := dummy_tri || - path(list_of_topology_reversed (a_path.edge_list)) || - oriented_path(a_path, FALSE); - END_IF; - - RETURN (the_reverse); -END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION list_of_topology_reversed (a_list - : list_of_reversible_topology_item) - : list_of_reversible_topology_item; - LOCAL - the_reverse : list_of_reversible_topology_item; - END_LOCAL; - - the_reverse := []; - REPEAT i := 1 TO SIZEOF (a_list); - the_reverse := topology_reversed (a_list [i]) + the_reverse; - END_REPEAT; - - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION face_bound_reversed (a_face_bound : face_bound) : face_bound; - LOCAL - the_reverse : face_bound ; - END_LOCAL; - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF (a_face_bound) ) THEN - the_reverse := dummy_tri || - face_bound(a_face_bound\face_bound.bound, - NOT (a_face_bound\face_bound.orientation)) - || face_outer_bound() ; - ELSE - the_reverse := dummy_tri || - face_bound(a_face_bound.bound, NOT(a_face_bound.orientation)); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION face_reversed (a_face : face) : oriented_face; - LOCAL - the_reverse : oriented_face ; - END_LOCAL; - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF (a_face) ) THEN - the_reverse := dummy_tri || - face(set_of_topology_reversed(a_face.bounds)) || - oriented_face(a_face\oriented_face.face_element, - NOT (a_face\oriented_face.orientation)) ; - ELSE - the_reverse := dummy_tri || - face(set_of_topology_reversed(a_face.bounds)) || - oriented_face(a_face, FALSE) ; - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION set_of_topology_reversed (a_set : set_of_reversible_topology_item) - : set_of_reversible_topology_item; - LOCAL - the_reverse : set_of_reversible_topology_item; - END_LOCAL; - - the_reverse := []; - REPEAT i := 1 TO SIZEOF (a_set); - the_reverse := the_reverse + topology_reversed (a_set [i]); - END_REPEAT; - - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION shell_reversed (a_shell : shell) : shell; - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_SHELL' IN TYPEOF (a_shell) ) THEN - RETURN (open_shell_reversed (a_shell)); - ELSE - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL' IN TYPEOF (a_shell) ) THEN - RETURN (closed_shell_reversed (a_shell)); - ELSE - RETURN (?); - END_IF; - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION open_shell_reversed ( a_shell : open_shell) : - oriented_open_shell; - LOCAL - the_reverse : oriented_open_shell; - END_LOCAL; - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_OPEN_SHELL' IN TYPEOF (a_shell) ) THEN - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - open_shell () || oriented_open_shell( - a_shell\oriented_open_shell.open_shell_element, - (NOT (a_shell\oriented_open_shell.orientation))); - ELSE - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - open_shell () || oriented_open_shell (a_shell, FALSE); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION closed_shell_reversed (a_shell : closed_shell) : - oriented_closed_shell; - LOCAL - the_reverse : oriented_closed_shell; - END_LOCAL; - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (a_shell) ) THEN - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - closed_shell () || oriented_closed_shell( - a_shell\oriented_closed_shell.closed_shell_element, - NOT(a_shell\oriented_closed_shell.orientation)); - ELSE - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - closed_shell () || oriented_closed_shell (a_shell, FALSE); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: geometric_model_schema *) -FUNCTION constraints_geometry_shell_based_surface_model - (m : shell_based_surface_model) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT j := 1 TO SIZEOF(m.sbsm_boundary); - IF (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OPEN_SHELL' IN - TYPEOF(m.sbsm_boundary[j])) AND - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLOSED_SHELL' IN - TYPEOF(m.sbsm_boundary[j])))) - THEN - result := FALSE; - RETURN(result); - (* A surface model is composed of OPEN_ and CLOSED_SHELLs. *) - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: parameterization_schema *) -FUNCTION make_numeric_set(start, delta : maths_number; - incs : positive_integer) - : SET [2:?] OF maths_number; - - LOCAL - i : INTEGER; - numeric_set : SET[2:?] OF maths_number := [start, (start + delta)]; - END_LOCAL; - - IF incs > 1 THEN REPEAT i := 2 TO incs; - numeric_set := numeric_set + (start + (i*delta)); - END_REPEAT; - END_IF; - RETURN(numeric_set); -END_FUNCTION; - -(* Implicit interfaced from: variational_representation_schema *) -FUNCTION invalidate_vrep_item(item : representation_item) - : BOOLEAN; - - LOCAL - reps : SET[1:?] OF representation := using_representations(item); - ri : SET[1:?] OF variational_representation_item; - iar : instance_attribute_reference; - i : INTEGER; - n : INTEGER := HIINDEX(reps); - END_LOCAL; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN TYPEOF(item)) - THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.INSTANCE_ATTRIBUTE_REFERENCE' - IN TYPEOF(item\generic_variable.interpretation\environment.semantics) - THEN - BEGIN - iar := item\generic_variable.interpretation\environment.semantics; - IF (reps <> using_representations(iar\instance_attribute_reference.owning_instance)) - THEN - RETURN(TRUE); - END_IF; - END; - ELSE RETURN(TRUE); -- parameter not attached to an instance attribute - END_IF; - END_IF; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN TYPEOF(item)) - THEN - BEGIN - REPEAT i := 1 TO n; - ri := QUERY(q <* reps[i]\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FREE_FORM_CONSTRAINT' IN TYPEOF(q)); - IF SIZEOF(QUERY(r <* ri | - item IN (r\free_form_constraint.reference_elements + r\free_form_constraint.constrained_elements))) = 0 - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - END; - END_IF; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' - IN TYPEOF(item)) - THEN - REPEAT i := 1 TO SIZEOF(item\fixed_instance_attribute_set.fixed_attributes); ---next line is previous --- IF (reps <> using_representations(item\fixed_instance_attribute_set.fixed_attributes[i])) ---is this intent? - IF (reps <> using_representations(item\fixed_instance_attribute_set.fixed_attributes[i]\instance_attribute_reference.owning_instance)) - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - END_IF; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXPLICIT_CONSTRAINT' IN TYPEOF(item)) - THEN - IF SIZEOF(QUERY(q <* - (item\explicit_constraint.reference_elements + item\explicit_constraint.constrained_elements) | - reps <> using_representations(q))) > 0 - THEN - RETURN(TRUE); - END_IF; - END_IF; - - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AUXILIARY_GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item)) - THEN - BEGIN - REPEAT i := 1 TO n; - ri := QUERY(q <* reps[i]\representation.items | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXPLICIT_GEOMETRIC_CONSTRAINT' IN TYPEOF(q)); - IF SIZEOF(QUERY(r <* ri | - item IN r\explicit_geometric_constraint.reference_elements)) = 0 - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - END; - END_IF; - - RETURN(FALSE); -- no invalid cases have been found - -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION using_shape_aspect_of_shape_representation - (item: shape_representation) : SET OF shape_aspect; -LOCAL - local_s_d_r: SET OF shape_definition_representation := []; - local_s_d_r2: BAG OF shape_definition_representation := []; - local_s_a: SET OF shape_aspect := []; - i : INTEGER; -END_LOCAL; --- find shape_definition_representations - local_s_d_r2 := local_s_d_r2 + QUERY(pdr <* USEDIN (item, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF(pdr)); - local_s_d_r := bag_to_set (local_s_d_r2); --- find shape_aspects -REPEAT i := 1 TO HIINDEX (local_s_d_r); - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF - (local_s_d_r[i]\property_definition_representation.definition\property_definition.definition)) - THEN local_s_a := local_s_a + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; - END_IF; -END_REPEAT; -RETURN (local_s_a); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_representative_shape_representation_of_product_definition - (item:product_definition) : shape_representation; -LOCAL - local_s_r: SET OF shape_representation := []; -END_LOCAL; --- find representative_shape_representation of the product_definition - local_s_r := QUERY - ( z <* find_shape_representation_of_product_definition (item)| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF(z)); - IF (SIZEOF (local_s_r) = 1) - THEN RETURN (local_s_r[1]); - ELSE RETURN(?); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_shape_representation_of_product_definition - (item:product_definition) : SET OF shape_representation; -LOCAL - local_p_d_s: SET OF product_definition_shape := []; - local_p_d_s2: BAG OF product_definition_shape := []; - local_s_d_r: SET OF shape_definition_representation := []; - local_s_d_r2: BAG OF shape_definition_representation := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; -END_LOCAL; --- find product_definition_shape representing the product_definiton - local_p_d_s2 := local_p_d_s2 + QUERY(pd <* USEDIN (item, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)); - local_p_d_s := bag_to_set(local_p_d_s2); --- find shape_definition_representations refereing to the local_p_d_s - REPEAT i := 1 to HIINDEX (local_p_d_s); - local_s_d_r2 := local_s_d_r2 + QUERY(pdr <* USEDIN (local_p_d_s[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF(pdr)); - END_REPEAT; - local_s_d_r := bag_to_set (local_s_d_r2); - REPEAT i := 1 to HIINDEX (local_s_d_r); - IF('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION' - IN TYPEOF (local_s_d_r[i].used_representation)) THEN - local_s_r := local_s_r + local_s_d_r[i].used_representation; - END_IF; - END_REPEAT; - RETURN (local_s_r); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION using_product_definition_of_shape_aspect - (item:shape_aspect) : product_definition ; - IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF - (item.of_shape.definition)) THEN - RETURN (item.of_shape.definition); - ELSE - RETURN (?); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_representative_shape_representation_of_shape_aspect - (item:shape_aspect) : shape_representation; -LOCAL - local_s_r: SET OF shape_representation := []; -END_LOCAL; --- find representative_shape_representation of the shape_aspect - local_s_r := QUERY ( z <* find_shape_representation_of_shape_aspect (item)| - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF(z)); - IF (SIZEOF (local_s_r) = 1) - THEN RETURN (local_s_r[1]); - ELSE RETURN(?); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_shape_representation_of_shape_aspect - (item:shape_aspect) : SET OF shape_representation; -LOCAL - local_p_d: SET OF property_definition:= []; - local_s_d_r: SET OF shape_definition_representation := []; - local_s_d_r2: BAG OF shape_definition_representation := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; -END_LOCAL; --- find property_definition representing the shape_aspect - local_p_d := bag_to_set (USEDIN (item, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')); --- find shape_definition_representations refereing to the local_p_d - REPEAT i := 1 to HIINDEX (local_p_d); - local_s_d_r2 := local_s_d_r2 + QUERY(pdr <* USEDIN (local_p_d[i], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF(pdr)); - END_REPEAT; - local_s_d_r := bag_to_set (local_s_d_r2); - REPEAT i := 1 to HIINDEX (local_s_d_r); - IF('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION' - IN TYPEOF (local_s_d_r[i].used_representation)) THEN - local_s_r := local_s_r + local_s_d_r[i].used_representation; - END_IF; - END_REPEAT; - RETURN (local_s_r); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_assembly_root - (constituent: SET OF product_definition) : SET OF product_definition; -LOCAL - local_relation: SET OF assembly_component_usage := []; - local_relation2: BAG OF assembly_component_usage := []; - local_parent: SET OF product_definition := []; - root : SET OF product_definition; - i : INTEGER := 0; - j : INTEGER := 0; -END_LOCAL; - --- Is constituent root ? -- -IF ((SIZEOF (constituent) = 1) AND assembly_root (constituent[1])) - THEN RETURN ([constituent [1]]); --- ERROR constituent is vacant -- - ELSE IF (SIZEOF (constituent) = 0 ) THEN RETURN ([]); - --- extraction of related assembly_component_relationships -- - ELSE - REPEAT j:= 1 TO HIINDEX(constituent); - local_relation2 := local_relation2 + QUERY(pdr <* USEDIN (constituent[j], - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' - +'RELATED_PRODUCT_DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN - TYPEOF(pdr)); - END_REPEAT; - local_relation := bag_to_set (local_relation2); - IF (SIZEOF(local_relation) = 0) THEN - IF (SIZEOF(constituent) = 1) THEN RETURN ([constituent[1]]); - ELSE RETURN ([]); - END_IF; - ELSE --- extraction of a set of parents -- - REPEAT i :=1 TO HIINDEX(local_relation); - REPEAT j := 1 TO HIINDEX(constituent); - IF (local_relation[i].relating_product_definition <> - constituent[j]) THEN - local_parent := local_parent + - local_relation[i].relating_product_definition; - END_IF; - END_REPEAT; - END_REPEAT; - IF ((SIZEOF (local_parent) = 1 ) AND - assembly_root (local_parent[1])) - THEN RETURN ([local_parent[1]]); - ELSE IF (SIZEOF (local_parent) = 0) THEN RETURN ([]); --- try again -- - ELSE - root := find_assembly_root(local_parent); - IF (SIZEOF (root) =1) THEN RETURN (root); - ELSE IF (SIZEOF (root) = 0) THEN RETURN ([]); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; -END_IF; -RETURN ([]); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION assembly_root - (item: product_definition) : BOOLEAN; --- extraction of related assembly_component_relationships -- -IF (SIZEOF(QUERY(pdr <* USEDIN (item, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATED_PRODUCT_DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN - TYPEOF(pdr))) - = 0) THEN RETURN(TRUE); -ELSE RETURN (FALSE); -END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION unique_in_product_definition - (item:representative_shape_representation) : BOOLEAN; -LOCAL - local_p_d: SET OF product_definition := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; - j : INTEGER; -END_LOCAL; --- find product_definitions represented by the input --- representative_shape_representation - local_p_d := using_product_definition_of_shape_representation (item); --- ERROR - IF (SIZEOF (local_p_d) <> 1) THEN RETURN (FALSE); - ELSE --- find shape_representation representing the product_definitions - REPEAT i := 1 to HIINDEX (local_p_d); - local_s_r := find_shape_representation_of_product_definition - (local_p_d[i]); - REPEAT j := 1 to HIINDEX (local_s_r); - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF (local_s_r[j])) - AND (local_s_r[j] :<>: item)) THEN RETURN (FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - END_IF; - RETURN (TRUE); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION unique_in_shape_aspect - (item:representative_shape_representation) : BOOLEAN; -LOCAL - local_s_a: SET OF shape_aspect := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; - j : INTEGER; -END_LOCAL; --- find shape_aspects represented by the input --- representative_shape_representation - local_s_a := using_shape_aspect_of_shape_representation (item); --- ERROR - IF (SIZEOF (local_s_a) <> 1) THEN RETURN (FALSE); - ELSE --- find shape_representation representing the shape_aspect - REPEAT i := 1 to HIINDEX (local_s_a); - local_s_r := find_shape_representation_of_shape_aspect - (local_s_a[i]); - REPEAT j := 1 to HIINDEX (local_s_r); - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF (local_s_r[j])) - AND (local_s_r[j] :<>: item)) THEN RETURN (FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - END_IF; - RETURN (TRUE); -END_FUNCTION; - -(* Implicit interfaced from: aic_edge_based_wireframe *) -FUNCTION valid_wireframe_edge_curve -( -crv : curve ) : BOOLEAN ; - IF SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' ] * TYPEOF (crv)) = 1 THEN - RETURN (TRUE); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN - RETURN (valid_wireframe_edge_curve(crv\curve_replica.parent_curve)); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (crv) THEN - RETURN (valid_wireframe_edge_curve(crv\offset_curve_3d.basis_curve)); - END_IF ; - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: aic_edge_based_wireframe *) -FUNCTION valid_wireframe_vertex_point -( -pnt : point ) : BOOLEAN ; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN - RETURN (TRUE); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF (pnt) THEN - RETURN (valid_wireframe_vertex_point(pnt\point_replica.parent_pt)); - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: aic_non_manifold_surface *) -FUNCTION nmsf_surface_check (surf : surface) : BOOLEAN; - -(* This function varifies the validity of a surface in the - context of a non-manifold surface model. -*) - - (* elementary_surfaces are valid surface types - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN - RETURN(TRUE); - ELSE - - (* a swept_surface shall have a valid sweeping curve - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (surf) THEN - RETURN (nmsf_curve_check(surf\swept_surface.swept_curve)); - ELSE - - (* an offset_surface shall not self-intersect and shall - reference a valid surface - *) - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF (surf)) AND - (surf\offset_surface.self_intersect = FALSE) OR - (surf\offset_surface.self_intersect = UNKNOWN)) THEN - RETURN (nmsf_surface_check(surf\offset_surface.basis_surface)); - ELSE - - (* a surface_replica shall have a valid parent surface - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF(surf) THEN - RETURN(nmsf_surface_check(surf\surface_replica.parent_surface)); - ELSE - - (* a b_spline_surface shall not self-intersect - *) - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(surf)) - AND - (surf\b_spline_surface.self_intersect = FALSE) OR - (surf\b_spline_surface.self_intersect = UNKNOWN)) THEN - RETURN(TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN(FALSE); -END_FUNCTION; - -(* Implicit interfaced from: aic_non_manifold_surface *) -FUNCTION nmsf_curve_check (cv : representation_item) : BOOLEAN; - -(* This function varifies the validity of a curve in the context of a - non-manifold surface model. Representation_items are - valid input, however, they are supposed to be curves; otherwise - this function will return false. -*) - - (* complex subtypes of curve that are both bounded_curve and - oneof conic, curve_replica, line, or offset_curve_3d are not - valid - *) - IF SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 - THEN RETURN(FALSE); - ELSE - - (* b_spline_curves shall not self-intersect - *) - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (cv)) AND - (cv\b_spline_curve.self_intersect = FALSE) OR - (cv\b_spline_curve.self_intersect = UNKNOWN)) - THEN RETURN(TRUE); - ELSE - - (* conics and lines are valid curve types - *) - IF SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE'] * TYPEOF (cv)) = 1 THEN - RETURN(TRUE); - ELSE - - (* a curve_replica shall reference a valid curve - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN - RETURN (nmsf_curve_check(cv\curve_replica.parent_curve)); - ELSE - - (* an offset_curve_3d shall not self-intersect and - shall reference a valid curve; a polyline is not a - valid basis_curve - *) - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (cv)) - AND - ((cv\offset_curve_3d.self_intersect = FALSE) OR - (cv\offset_curve_3d.self_intersect = UNKNOWN)) - AND - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF - (cv\offset_curve_3d.basis_curve)))) THEN - RETURN (nmsf_curve_check(cv\offset_curve_3d.basis_curve)); - ELSE - - (* a pcurve shall reference a valid curve and a valid - basis_surface - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv) THEN - RETURN ((nmsf_curve_check - (cv\pcurve.reference_to_curve\representation.items[1])) - AND - (nmsf_surface_check(cv\pcurve.basis_surface))); - ELSE - - (* a surface_curve references a curve_3d and one or - two pcurves or one or two surfaces or one of - each; all of these references shall be valid - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN - - (* if the curve reference is correct, check also the rest - *) - IF nmsf_curve_check(cv\surface_curve.curve_3d) THEN - REPEAT i := 1 TO SIZEOF - (cv\surface_curve.associated_geometry); - - (* do for one or two associated_geometrys: - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN - TYPEOF (cv\surface_curve.associated_geometry[i]) THEN - IF NOT nmsf_surface_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF - (cv\surface_curve.associated_geometry[i]) THEN - IF NOT nmsf_curve_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); - END_IF; - ELSE - - (* a polyline shall have at least 3 points - *) - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN - IF (SIZEOF (cv\polyline.points) >= 3) THEN RETURN (TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - (* FALSE is returned if the input parameter cv is not a valid curve. - *) - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: geometric_model_schema *) -FUNCTION acyclic_solid_replica - (rep : solid_replica; parent : solid_model) : BOOLEAN; -IF NOT (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SOLID_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type solid_replica. *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same solid_replica, otherwise, - call function again with the parents own parent_solid. *) - ELSE RETURN(acyclic_solid_replica(rep, - parent\solid_replica.parent_solid)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION constraints_param_b_spline - (degree : INTEGER; up_knots : INTEGER; up_cp : INTEGER; knot_mult : LIST[0:?] OF INTEGER; knots : LIST[0:?] OF parameter_value) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - k, sum : INTEGER; - END_LOCAL; - - (* Find sum of knot multiplicities. *) - sum := knot_mult[1]; - - REPEAT i := 2 TO up_knots; - sum := sum + knot_mult[i]; - END_REPEAT; - - (* Check limits holding for all B-spline parametrisations *) - IF (degree < 1) OR (up_knots < 2) OR (up_cp < degree) OR - (sum <> (degree + up_cp + 2)) THEN - result := FALSE; - RETURN(result); - END_IF; - - k := knot_mult[1]; - - IF (k < 1) OR (k > degree + 1) THEN - result := FALSE; - RETURN(result); - END_IF; - - REPEAT i := 2 TO up_knots; - IF (knot_mult[i] < 1) OR (knots[i] <= knots[i-1]) THEN - result := FALSE; - RETURN(result); - END_IF; - - k := knot_mult[i]; - - IF (i < up_knots) AND (k > degree) THEN - result := FALSE; - RETURN(result); - END_IF; - - IF (i = up_knots) AND (k > degree + 1) THEN - result := FALSE; - RETURN(result); - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION constraints_composite_curve_on_surface - (c : composite_curve_on_surface) : BOOLEAN; -LOCAL - n_segments : INTEGER := SIZEOF(c.segments); - END_LOCAL; - - REPEAT k := 1 TO n_segments; - IF (NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN - TYPEOF(c\composite_curve.segments[k].parent_curve))) AND - (NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN - TYPEOF(c\composite_curve.segments[k].parent_curve))) AND - (NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN - TYPEOF(c\composite_curve.segments[k].parent_curve))) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN(TRUE);END_FUNCTION; - -(* Implicit interfaced from: presentation_definition_schema *) - FUNCTION acyclic_composite_text(start_composite : composite_text; - child_text : SET [1:?] OF - text_or_character) : LOGICAL; - LOCAL - i : INTEGER; - local_composite_text : SET [0:?] OF composite_text; - local_annotation_text : SET [0:?] OF annotation_text; - local_children : SET [0:?] OF text_or_character; - END_LOCAL; - - local_composite_text := QUERY (child <* child_text | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (child))); - - IF (SIZEOF (local_composite_text) > 0) - THEN - REPEAT i := 1 TO HIINDEX (local_composite_text); - IF (start_composite :=: local_composite_text[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - END_IF; - - local_children := child_text; - - IF (SIZEOF (local_composite_text)) > 0 THEN - REPEAT i := 1 TO HIINDEX (local_composite_text); - local_children := local_children + - local_composite_text[i].collected_text; - END_REPEAT; - END_IF; - - local_annotation_text := QUERY (child <* child_text | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT' - IN TYPEOF (child))); - - IF (SIZEOF (local_annotation_text) > 0) THEN - REPEAT i := 1 TO HIINDEX (local_annotation_text); - local_children := local_children + - QUERY (item <* local_annotation_text[i]\mapped_item. - mapping_source.mapped_representation.items | - SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_TEXT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_TEXT'] * - TYPEOF(item)) > 0); - END_REPEAT; - END_IF; - - IF (local_children :<>: child_text) THEN - RETURN (acyclic_composite_text (start_composite, local_children)); - ELSE - RETURN (TRUE); - END_IF; - - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_surface *) -FUNCTION gbsf_check_point - (pnt : point) : BOOLEAN; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF(pnt) THEN - RETURN (TRUE); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' IN TYPEOF(pnt) THEN - RETURN (gbsf_check_curve(pnt\point_on_curve.basis_curve)); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_SURFACE' IN TYPEOF(pnt) THEN - RETURN (gbsf_check_surface(pnt\point_on_surface.basis_surface)); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DEGENERATE_PCURVE' IN TYPEOF(pnt) THEN - RETURN ((gbsf_check_curve(pnt\degenerate_pcurve.reference_to_curve\representation.items[1])) AND (gbsf_check_surface(pnt\degenerate_pcurve.basis_surface))); - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_surface *) -FUNCTION gbsf_check_curve - (cv : representation_item) : BOOLEAN; - IF SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOUNDED_CURVE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONIC', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN - RETURN (FALSE); - END_IF; - IF SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPSE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE'] * TYPEOF(cv)) = 1 THEN - RETURN (TRUE); - ELSE - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF(cv)) AND (cv\b_spline_curve.self_intersect = FALSE) OR (cv\b_spline_curve.self_intersect = UNKNOWN)) THEN - RETURN (TRUE); - ELSE - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF(cv)) AND (cv\composite_curve.self_intersect = FALSE) OR (cv\composite_curve.self_intersect = UNKNOWN)) THEN - RETURN (SIZEOF(QUERY(seg <* cv\composite_curve.segments | NOT (gbsf_check_curve(seg.parent_curve)))) = 0); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN - RETURN (gbsf_check_curve(cv\curve_replica.parent_curve)); - ELSE - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF(cv)) AND ((cv\offset_curve_3d.self_intersect = FALSE) OR (cv\offset_curve_3d.self_intersect = UNKNOWN)) AND (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv\offset_curve_3d.basis_curve)))) THEN - RETURN (gbsf_check_curve(cv\offset_curve_3d.basis_curve)); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv) THEN - RETURN ((gbsf_check_curve(cv\pcurve.reference_to_curve\representation.items[1])) AND (gbsf_check_surface(cv\pcurve.basis_surface))); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN - IF (SIZEOF(cv\polyline.points) >= 3) THEN - RETURN (TRUE); - END_IF; - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN - IF gbsf_check_curve(cv\surface_curve.curve_3d) THEN - REPEAT i := 1 TO SIZEOF(cv\surface_curve.associated_geometry); - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE' IN TYPEOF(cv\surface_curve.associated_geometry[i]) THEN - IF NOT gbsf_check_surface(cv\surface_curve.associated_geometry[i]) THEN - RETURN (FALSE); - END_IF; - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv\surface_curve.associated_geometry[i]) THEN - IF NOT gbsf_check_curve(cv\surface_curve.associated_geometry[i]) THEN - RETURN (FALSE); - END_IF; - END_IF; - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_surface *) -FUNCTION gbsf_check_surface - (sf : surface) : BOOLEAN; - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(sf)) AND (sf\b_spline_surface.self_intersect = FALSE) OR (sf\b_spline_surface.self_intersect = UNKNOWN)) THEN - RETURN (TRUE); - ELSE - IF SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SPHERICAL_SURFACE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TOROIDAL_SURFACE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_TRIMMED_SURFACE'] * TYPEOF(sf)) = 1 THEN - RETURN (TRUE); - ELSE - IF (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF(sf)) AND (sf\offset_surface.self_intersect = FALSE) OR (sf\offset_surface.self_intersect = UNKNOWN)) THEN - RETURN (gbsf_check_surface(sf\offset_surface.basis_surface)); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RECTANGULAR_COMPOSITE_SURFACE' IN TYPEOF(sf) THEN - REPEAT i := 1 TO SIZEOF(sf\rectangular_composite_surface.segments); - REPEAT j := 1 TO SIZEOF(sf\rectangular_composite_surface.segments[i]); - IF NOT (gbsf_check_surface(sf\rectangular_composite_surface.segments[i][j].parent_surface)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - RETURN (TRUE); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF(sf) THEN - RETURN (gbsf_check_surface(sf\surface_replica.parent_surface)); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF(sf) THEN - RETURN (gbsf_check_curve(sf\swept_surface.swept_curve)); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_wireframe *) -FUNCTION valid_geometrically_bounded_wf_curve -( -crv : curve ) : BOOLEAN ; - IF SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POLYLINE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.B_SPLINE_CURVE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELLIPSE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCLE' ] * TYPEOF (crv)) = 1 THEN - RETURN (TRUE); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF (crv) THEN - IF SIZEOF ([ 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARABOLA', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.HYPERBOLA' ] * TYPEOF (crv\trimmed_curve.basis_curve)) = 1 THEN - RETURN (TRUE); - ELSE - RETURN (valid_geometrically_bounded_wf_curve(crv\trimmed_curve.basis_curve)); - END_IF ; - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (crv) THEN - RETURN (valid_geometrically_bounded_wf_curve(crv\offset_curve_3d.basis_curve)); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN - RETURN (valid_geometrically_bounded_wf_curve(crv\curve_replica.parent_curve)); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (crv) THEN - RETURN ( SIZEOF ( -QUERY ( ccs <* crv\composite_curve.segments| NOT valid_geometrically_bounded_wf_curve(ccs.parent_curve) )) = 0); - END_IF ; - END_IF ; - END_IF ; - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: aic_geometrically_bounded_wireframe *) -FUNCTION valid_geometrically_bounded_wf_point -( -pnt : point ) : BOOLEAN ; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN - RETURN (TRUE); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_ON_CURVE' IN TYPEOF (pnt) THEN - RETURN (valid_geometrically_bounded_wf_curve(pnt\point_on_curve.basis_curve)); - ELSE - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF (pnt) THEN - RETURN (valid_geometrically_bounded_wf_point(pnt\point_replica.parent_pt)); - END_IF ; - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: parameterization_schema *) -FUNCTION validate_attribute_id(attid : attribute_identifier) : BOOLEAN; - - CONSTANT - letters : SET[52:52] OF STRING := - ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p', - 'q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F', - 'G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V', - 'W','X','Y','Z']; - numbers_etc : SET[15:15] OF STRING := - ['0','1','2','3','4','5','6','7','8','9','_','[',']','.','\']; - valid_chars : SET[67:67] OF STRING := letters + numbers_etc; - END_CONSTANT; - - LOCAL - id_length : INTEGER := LENGTH(attid); - id_valid : BOOLEAN := TRUE; - i : INTEGER; - END_LOCAL; - - -- check that indentifier starts with a letter - - IF NOT (attid[1] IN letters) THEN - id_valid := FALSE; - END_IF; - - -- check that no invalid characters occur subsequently - - REPEAT i := 2 TO id_length WHILE id_valid = TRUE; - IF NOT (attid[i] IN valid_chars) THEN - id_valid := FALSE; - END_IF; - END_REPEAT; - RETURN(id_valid); - -END_FUNCTION; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION collect_joints - (items : SET[1:?] OF pair_representation_relationship) : SET OF kinematic_joint; -LOCAL - result : SET OF kinematic_joint := []; -END_LOCAL; - REPEAT i := 1 TO HIINDEX(items); - result := result + items[i].transformation_operator.joint; - END_REPEAT; - RETURN(result); -END_FUNCTION; -(* REFERENCE FROM (kinematic_topology_schema); *) -FUNCTION get_kinematic_joints_from_oriented_joints(ors : SET OF oriented_joint) : SET OF kinematic_joint; - LOCAL - result : SET OF kinematic_joint := []; - END_LOCAL; - IF SIZEOF(ors) > 0 THEN - REPEAT i := 1 TO HIINDEX(ors); - result := result + ors[i].edge_element; - END_REPEAT; - END_IF; - RETURN (result); -END_FUNCTION; -(* REFERENCE FROM (kinematic_topology_schema); *) -FUNCTION get_kinematic_joints_from_kinematic_loops(kls : SET OF kinematic_loop) : SET OF kinematic_joint; - LOCAL - result : SET OF oriented_joint := []; - END_LOCAL; - IF SIZEOF(kls) > 0 THEN - REPEAT i := 1 TO HIINDEX(kls); - result := result + kls[i].edge_list; - END_REPEAT; - END_IF; - RETURN (get_kinematic_joints_from_oriented_joints(result)); -END_FUNCTION; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION sort_link_associations - (aprr : SET[1:?] OF pair_representation_relationship; one_not_two : boolean) : SET OF kinematic_link_representation; -LOCAL - result : SET OF kinematic_link_representation := []; -END_LOCAL; - IF one_not_two THEN - REPEAT i := 1 TO HIINDEX(aprr); - result := result + aprr[i].rep_1; - END_REPEAT; - ELSE - REPEAT i := 1 TO HIINDEX(aprr); - result := result + aprr[i].rep_2; - END_REPEAT; - END_IF; - RETURN(result); -END_FUNCTION; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION plane_angle_for_pair_in_radian - (pair : kinematic_pair; - angle : plane_angle_measure) : plane_angle_measure; - LOCAL - converted_angle : plane_angle_measure := angle; - link_rep : kinematic_link_representation - := representation_of_link (pair.joint.edge_start); - link_cntxt : representation_context; - pa_units : SET OF unit := []; - pau : unit; - END_LOCAL; - - link_cntxt := link_rep\representation.context_of_items; - - IF NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' - IN TYPEOF (link_cntxt)) THEN - RETURN (?); - END_IF; - - pa_units := QUERY (unit <* link_cntxt\global_unit_assigned_context.units | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF (unit)); - - IF SIZEOF (pa_units) <> 1 THEN - RETURN (?); - END_IF; - - pau := pa_units[1]; - - IF (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SI_UNIT' IN TYPEOF (pau)) AND - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF (pau))) THEN - RETURN (?); - END_IF; - - REPEAT WHILE ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF (pau)); - converted_angle := converted_angle * - pau\conversion_based_unit.conversion_factor. - value_component; - pau := pau\conversion_based_unit.conversion_factor.unit_component; - - IF ((NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SI_UNIT' IN TYPEOF (pau)) AND - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF (pau))) OR - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF (pau)))) THEN - RETURN (?); - END_IF; - END_REPEAT; - - IF (pau\si_unit.name <> si_unit_name.radian) THEN - RETURN (?); - END_IF; - - CASE pau\si_unit.prefix OF - si_prefix.exa : RETURN (1.E18 * converted_angle); - si_prefix.peta : RETURN (1.E15 * converted_angle); - si_prefix.tera : RETURN (1.E12 * converted_angle); - si_prefix.giga : RETURN (1.E9 * converted_angle); - si_prefix.mega : RETURN (1.E6 * converted_angle); - si_prefix.kilo : RETURN (1.E3 * converted_angle); - si_prefix.hecto : RETURN (1.E2 * converted_angle); - si_prefix.deca : RETURN (1.E1 * converted_angle); - si_prefix.deci : RETURN (1.E-1 * converted_angle); - si_prefix.centi : RETURN (1.E-2 * converted_angle); - si_prefix.milli : RETURN (1.E-3 * converted_angle); - si_prefix.micro : RETURN (1.E-6 * converted_angle); - si_prefix.nano : RETURN (1.E-9 * converted_angle); - si_prefix.pico : RETURN (1.E-12 * converted_angle); - si_prefix.femto : RETURN (1.E-15 * converted_angle); - si_prefix.atto : RETURN (1.E-18 * converted_angle); - OTHERWISE : RETURN (converted_angle); - END_CASE; - -END_FUNCTION; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION representation_of_link (link : kinematic_link) - : kinematic_link_representation; -(* - LOCAL - link_rep_rel : BAG OF kinematic_link_representation_relation; - END_LOCAL; - - link_rep_rel := USEDIN (link, 'KINEMATIC_STRUCTURE_SCHEMA.'+ - 'KINEMATIC_LINK_REPRESENTATION_RELATION.'+ - 'TOPOLOGICAL_ASPECTS'); - IF (SIZEOF (link_rep_rel) = 0) THEN - RETURN (?); - ELSE - RETURN (link_rep_rel[1].geometric_aspects); - END_IF; -*) - RETURN (?); -END_FUNCTION; - -(* Implicit interfaced from: kinematic_state_schema *) -FUNCTION convert_spatial_to_ypr_rotation (pair : kinematic_pair; - rotation : spatial_rotation) - : ypr_rotation; - LOCAL - axis : direction; - angle : plane_angle_measure; -- rotation angle in application - -- specific units - conv_angle : plane_angle_measure; -- rotation angle in radians - ya, pa, ra : plane_angle_measure; -- yaw, pitch, and roll angle - ucf : REAL; -- unit conversion factor - dx, dy, dz : REAL; -- components of direction vector - s_a, c_a : REAL; -- sine and cosine of rotation angle - rotmat : ARRAY [1 : 3] OF - ARRAY [1 : 3] OF REAL; -- rotation matrix - cm1 : REAL; - s_y, c_y : REAL; - s_r, c_r : REAL; - END_LOCAL; - - -- If rotation is already a ypr_rotation, return it immediately - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.YPR_ROTATION' IN TYPEOF (rotation) THEN - RETURN (rotation); - END_IF; - - -- rotation is a rotation_about_direction - - axis := normalise (rotation\rotation_about_direction.direction_of_axis); - angle := rotation\rotation_about_direction.rotation_angle; - - -- a zero rotation is converted trivially - IF (angle = 0.0) THEN - RETURN ([0.0, 0.0, 0.0]); - END_IF; - - dx := axis.direction_ratios[1]; - dy := axis.direction_ratios[2]; - dz := axis.direction_ratios[3]; - - -- provide angle measured in radian - - conv_angle := plane_angle_for_pair_in_radian (pair, angle); - - IF NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF(conv_angle)) THEN - RETURN (?); - END_IF; - - ucf := angle / conv_angle; - s_a := SIN (conv_angle); - c_a := COS (conv_angle); - - -- axis parallel either to x-axis or to z-axis? - IF (dy = 0.0) AND (dx * dz = 0.0) THEN - REPEAT WHILE (conv_angle <= - PI); - conv_angle := conv_angle + 2.0 * PI; - END_REPEAT; - REPEAT WHILE (conv_angle > PI); - conv_angle := conv_angle - 2.0 * PI; - END_REPEAT; - - ya := ucf * conv_angle; - IF (conv_angle <> PI) THEN - ra := - ya; - ELSE - ra := ya; - END_IF; - - IF (dx <> 0.0) THEN - -- axis parallel to x-axis - use x-axis as roll axis - IF (dx > 0.0) THEN - RETURN ([0.0, 0.0, ya]); - ELSE - RETURN ([0.0, 0.0, ra]); - END_IF; - ELSE - -- axis parallel to z-axis - use z-axis as yaw axis - IF (dz > 0.0) THEN - RETURN ([ya, 0.0, 0.0]); - ELSE - RETURN ([ra, 0.0, 0.0]); - END_IF; - END_IF; - END_IF; - - -- axis parallel to y-axis - use y-axis as pitch axis - IF ((dy <> 0.0) AND (dx = 0.0) AND (dz = 0.0)) THEN - IF (c_a >= 0.0) THEN - ya := 0.0; - ra := 0.0; - ELSE - ya := ucf * PI; - ra := ya; - END_IF; - - pa := ucf * ATAN (s_a, ABS (c_a)); - IF (dy < 0.0) THEN - pa := - pa; - END_IF; - - RETURN ([ya, pa, ra]); - END_IF; - - -- axis not parallel to any axis of coordinate system - -- compute rotation matrix - - cm1 := 1.0 - c_a; - - rotmat := [ [ dx * dx * cm1 + c_a, - dx * dy * cm1 - dz * s_a, - dx * dz * cm1 + dy * s_a ], - [ dx * dy * cm1 + dz * s_a, - dy * dy * cm1 + c_a, - dy * dz * cm1 - dx * s_a ], - [ dx * dz * cm1 - dy * s_a, - dy * dz * cm1 + dx * s_a, - dz * dz * cm1 + c_a ] ]; - - -- rotmat[1][3] equals SIN (pitch_angle) - IF (ABS (rotmat[1][3]) = 1.0) THEN - -- |pa| = PI/2 - BEGIN - IF (rotmat[1][3] = 1.0) THEN - pa := 0.5 * PI; - ELSE - pa := -0.5 * PI; - END_IF; - - -- In this case, only the sum or difference of roll and yaw angles - -- is relevant and can be evaluated from the matrix. - -- According to IP `rectangular pitch angle' for ypr_rotation, - - ra := 0.0; - ya := ATAN (rotmat[2][1], rotmat[2][2]); - - - IF (rotmat[2][2] < 0.0) THEN - IF ya <= 0.0 THEN - ya := ya + PI; - ELSE - ya := ya - PI; - END_IF; - END_IF; - END; - ELSE - BEGIN - ya := ATAN (- rotmat[1][2], rotmat[1][1]); - - IF (rotmat[1][1] < 0.0) THEN - IF (ya <= 0.0) THEN - ya := ya + PI; - ELSE - ya := ya - PI; - END_IF; - END_IF; - - ra := ATAN (-rotmat[2][3], rotmat[3][3]); - - IF (rotmat[3][3] < 0.0) THEN - IF (ra <= 0.0) THEN - ra := ra + PI; - ELSE - ra := ra - PI; - END_IF; - END_IF; - - s_y := SIN (ya); - c_y := COS (ya); - s_r := SIN (ra); - c_r := COS (ra); - - IF ((ABS (s_y) > ABS (c_y)) AND - (ABS (s_y) > ABS (s_r)) AND - (ABS (s_y) > ABS (c_r))) THEN - cm1 := - rotmat[1][2] / s_y; - ELSE - IF ((ABS (c_y) > ABS (s_r)) AND (ABS (c_y) > ABS (c_r))) THEN - cm1 := rotmat[1][1] / c_y; - ELSE - IF (ABS (s_r) > ABS (c_r)) THEN - cm1 := - rotmat[2][3] / s_r; - ELSE - cm1 := rotmat[3][3] / c_r; - END_IF; - END_IF; - END_IF; - - pa := ATAN (rotmat[1][3], cm1); - - END; - END_IF; - - ya := ya * ucf; - pa := pa * ucf; - ra := ra * ucf; - - RETURN ([ya, pa, ra]); - -END_FUNCTION; - -(* Implicit interfaced from: geometric_model_schema *) -FUNCTION constraints_geometry_shell_based_wireframe_model - (m : shell_based_wireframe_model) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT j := 1 TO SIZEOF(m.sbwm_boundary); - IF (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.WIRE_SHELL' IN - TYPEOF(m.sbwm_boundary[j])) AND - (NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VERTEX_SHELL' IN - TYPEOF(m.sbwm_boundary[j])))) - THEN - result := FALSE; - RETURN(result); - (* A wireframe model is composed of WIRE_ and VERTEX_SHELLs *) - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: kinematic_state_schema *) -FUNCTION ypr_index (ypr : ypr_enumeration) : INTEGER; - CASE ypr OF - yaw : RETURN (1); - pitch : RETURN (2); - roll : RETURN (3); - END_CASE; - RETURN (?); -END_FUNCTION; -(* REFERENCE FROM (support_resource_schema); *) - FUNCTION type_check_function (the_type : GENERIC; sub_names : SET OF STRING; criterion : INTEGER):LOGICAL; - IF ((NOT EXISTS(the_type)) OR (SIZEOF(sub_names) = 0)) THEN - RETURN (UNKNOWN); - ELSE - CASE criterion OF - 0: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) > 0); - 1: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) = 0); - 2: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) = 1); - 3: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) <= 1); - OTHERWISE : RETURN (UNKNOWN); - END_CASE; - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: Classification_with_attributes_mim *) -FUNCTION class_assignment_is_valid (aia: applied_classification_assignment): BOOLEAN; -LOCAL - item: classification_item; - role: classification_role; -END_LOCAL; - -role:= aia\classification_assignment.role; -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLASS_SYSTEM' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN - IF(role\classification_role.name <> 'class system membership') THEN - RETURN(FALSE); - END_IF; - REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items); - item:= aia\applied_classification_assignment.items[i]; - - IF (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTERIZED_CLASS'] * TYPEOF(item))=0) THEN --- item invalid if item does not belong to the types that may have a class_system - RETURN(FALSE); - END_IF; - END_REPEAT; -END_IF; - -IF ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CHARACTERIZED_CLASS' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN - IF NOT(role\classification_role.name IN ['definitional','non-definitional','']) THEN - RETURN(FALSE); - END_IF; - - - REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items); - item:= aia\applied_classification_assignment.items[i]; - - IF (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLASSIFIED_ITEM'] * TYPEOF(item))=0) THEN --- item invalid if item does not belong to the types that may have a characterized_class - RETURN(FALSE); - END_IF; - END_REPEAT; -END_IF; - - IF - (role\classification_role.name = 'definitional') - THEN - IF NOT - (SIZEOF(QUERY(it <* aia\applied_classification_assignment.items | NOT - (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION'] * TYPEOF(it)) = 1) - )) = 0 ) - THEN - RETURN(FALSE); - END_IF; - END_IF; - -RETURN(TRUE); -END_FUNCTION; - -(* Implicit interfaced from: Product_and_manufacturing_information_view_context_mim *) -FUNCTION get_associated_mandatory_document_ids(pdc : product_definition_context) : SET OF STRING; - LOCAL - result : SET OF STRING := []; - adrs_raw : SET OF applied_document_reference := bag_to_set(USEDIN(pdc, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS')); - adrs_filtered : SET OF applied_document_reference := []; - ras : SET OF role_association; - dpas : SET OF document_product_association; - END_LOCAL; - - -- scan adrs_raw for associated role 'mandatory' and fill adrs_filtered with results - REPEAT i := 1 TO HIINDEX(adrs_raw); - if adrs_raw[i]\document_reference.role\object_role.name = 'mandatory' THEN - adrs_filtered := adrs_filtered + adrs_raw[i]; - END_IF; - END_REPEAT; - - -- scan through adrs_filtered and access associated product.id s - REPEAT i := 1 TO HIINDEX(adrs_filtered); - dpas := bag_to_set(USEDIN(adrs_filtered[i]\document_reference.assigned_document, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DOCUMENT_PRODUCT_ASSOCIATION.RELATING_DOCUMENT')); - REPEAT j := 1 TO HIINDEX(dpas); - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DOCUMENT_PRODUCT_EQUIVALENCE' IN TYPEOF (dpas[j]) THEN - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF (dpas[j]\document_product_association.related_product) THEN - result := result + dpas[j]\document_product_association.related_product\product_definition_formation.of_product\product.id; - END_IF; - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT' IN TYPEOF (dpas[j].related_product) THEN - result := result + dpas[j]\document_product_association.related_product\product.id; - END_IF; - END_IF; - END_REPEAT; - END_REPEAT; - - RETURN (result); -END_FUNCTION; - -(* Implicit interfaced from: External_properties_mim *) - FUNCTION external_version_assignment_is_valid (aia: applied_external_identification_assignment): BOOLEAN; - LOCAL - item: external_identification_item; - role: identification_role; - END_LOCAL; - role:= aia.role; - IF role.name='version' THEN - REPEAT i := LOINDEX(aia\applied_external_identification_assignment.items) TO HIINDEX(aia\applied_external_identification_assignment.items); - item:= aia\applied_external_identification_assignment.items[i]; - IF (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTERNALLY_DEFINED_GENERAL_PROPERTY']*TYPEOF(item))=0) THEN - -- item invalid if item does not belong to versionable types - RETURN(FALSE); - END_IF; - END_REPEAT; - RETURN(TRUE); - ELSE -- case where aia does not convey a version id - RETURN(TRUE); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: Product_occurrence_mim *) - FUNCTION valid_selected_instance_representation (pd: product_definition_or_assembly_relationship): LOGICAL; - LOCAL - properties: SET OF property_definition := bag_to_set(QUERY( prd<* USEDIN ( pd ,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | - (prd.name = 'occurrence selection' ))); - property_definition_representations: SET OF property_definition_representation := bag_to_set(QUERY ( pdr <* USEDIN ( properties[1] , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ( pdr.used_representation.name = 'selection criteria' ))); - selected_representation: representation; - END_LOCAL; - IF (SIZEOF( properties)<>1) THEN - RETURN(FALSE); - END_IF; - IF (SIZEOF(property_definition_representations)<>1) THEN - RETURN(FALSE); - END_IF; - selected_representation := property_definition_representations[1]\property_definition_representation.used_representation; - IF (SIZEOF(selected_representation\representation.items) <1) OR (SIZEOF(selected_representation\representation.items) >2) THEN - RETURN(FALSE); - END_IF; - IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_RANGE']* TYPEOF ( i ) ) = 1) AND - ( i.name = 'selection quantity' ))) <> 1 ) THEN - RETURN(FALSE); - END_IF; - IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND - ( i.name = 'selection control' )))> 1) THEN - RETURN(FALSE); - END_IF; --the selection control is not specified then the quantity shall be a qualified_representation_item or a value_range - IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND - ( i.name = 'selection control' ) ))= 0) AND - (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( i.name = 'selection quantity' ) AND - ( SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.QUALIFIED_REPRESENTATION_ITEM' , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_RANGE']* TYPEOF ( i ) ) =0 ))) > 0 ) THEN - RETURN(FALSE); - END_IF; - RETURN(TRUE); - END_FUNCTION; -(* REFERENCE FROM (product_definition_schema); *) - FUNCTION categories_of_product - (obj : product) : SET OF STRING; - LOCAL - category_assignments: BAG OF product_category; - categories: SET OF STRING:=[]; - END_LOCAL; - category_assignments := USEDIN(obj, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS'); - REPEAT i := LOINDEX(category_assignments) TO HIINDEX(category_assignments) BY 1; - categories := categories + category_assignments[i].name; - END_REPEAT; - RETURN(categories); - END_FUNCTION; - -(* Implicit interfaced from: Surface_conditions_mim *) - FUNCTION surface_condition_correlation (pd: property_definition; rep: representation): LOGICAL; - CASE pd.name OF - 'visual appearance', 'tactile appearance', 'contact ratio', 'hardness', 'treatment result', 'surface texture' : - RETURN(pd.name = rep.name); - OTHERWISE : RETURN(UNKNOWN); - END_CASE; - END_FUNCTION; - -(* Implicit interfaced from: Specification_control_mim *) - RULE restrict_configuration_design_for_class_breakdown_association FOR - (configuration_design); - WHERE - WR1: SIZEOF ( QUERY ( cd <* configuration_design | - ( cd.name ='functionality' ) AND - ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd. design ) ) OR - ( cd.design\product_definition.frame_of_reference.name<> 'functional definition' ) ) - ) ) =0; - WR2: SIZEOF ( QUERY ( cd <* configuration_design | - ( cd.name='realization' ) AND - ( NOT ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR - ( cd.design\product_definition.frame_of_reference.name<> 'conceptual definition' ) ) - ) ) =0; - WR3: SIZEOF ( QUERY ( cd <* configuration_design | - ( cd.name IN ['functionality' , 'realization'] ) AND - ( NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_CLASS' IN TYPEOF ( cd.configuration.item_concept ) ) ) - ) ) =0; - END_RULE; - -(* Implicit interfaced from: Part_and_zone_laminate_tables_mim *) - RULE ply_reference FOR - (ply_laminate_sequence_definition, - next_assembly_usage_occurrence, - product_related_product_category); - LOCAL - i,j,k : INTEGER; - dkuhr : LOGICAL := TRUE; - nnauo : INTEGER; - nprpc : INTEGER := 0; - rp : product; - END_LOCAL; - REPEAT i:= LOINDEX (ply_laminate_sequence_definition) TO - HIINDEX (ply_laminate_sequence_definition); - nnauo := 0; - REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO - HIINDEX (next_assembly_usage_occurrence); - IF (ply_laminate_sequence_definition[i] = - next_assembly_usage_occurrence[j].relating_product_definition) THEN - rp := next_assembly_usage_occurrence[j].related_product_definition. - formation.of_product; - nprpc := 0; - REPEAT k:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - IF ((product_related_product_category[k].name = 'ply') AND - (rp IN product_related_product_category[k].products)) THEN - nprpc := nprpc + 1; - END_IF; - END_REPEAT; - IF (nprpc = 1) THEN - nnauo := nnauo + 1; - ELSE - dkuhr := FALSE; - ESCAPE; - END_IF; - END_IF; - END_REPEAT; - IF (dkuhr = FALSE) THEN - ESCAPE; - END_IF; - IF(nnauo = 0) THEN - dkuhr := FALSE; - ESCAPE; - END_IF; - END_REPEAT; - WHERE - WR1: dkuhr; - END_RULE; - -(* Implicit interfaced from: Ap242_managed_model_based_3d_engineering_mim *) - RULE application_definition_required FOR - (application_context); - WHERE - WR1: SIZEOF( QUERY( ac <* application_context | - (SIZEOF (QUERY (apd <* USEDIN(ac,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION') | - ((apd.application_interpreted_model_schema_name = 'ap242_managed_model_based_3d_engineering') - OR - (apd.application_interpreted_model_schema_name = 'Ap209_multidisciplinary_analysis_and_design')) - )) > 0) - )) > 0; - - END_RULE; - -(* Implicit interfaced from: geometry_schema *) -RULE compatible_dimension FOR -(cartesian_point,direction,representation_context,geometric_representation_context); -WHERE - WR1: SIZEOF(QUERY(x <* cartesian_point| SIZEOF(QUERY (y <* geometric_representation_context | item_in_context(x,y) AND (HIINDEX(x.coordinates) <> y.coordinate_space_dimension))) > 0 )) =0; - WR2: SIZEOF(QUERY(x <* direction | SIZEOF( QUERY (y <* geometric_representation_context | item_in_context(x,y) AND (HIINDEX(x.direction_ratios) <> y.coordinate_space_dimension))) > 0 )) = 0; -END_RULE; - -(* Implicit interfaced from: Qualified_measure_mim *) -RULE consistent_uncertainty - FOR (global_uncertainty_assigned_context, - qualified_representation_item, - uncertainty_assigned_representation); -WHERE -WR1: SIZEOF ( QUERY ( guac <* global_uncertainty_assigned_context | - SIZEOF ( QUERY ( u1 <* guac.uncertainty | - SIZEOF ( QUERY ( u2 <* guac.uncertainty | u2.name = u1.name ) ) >1 ) ) >0 ) ) = 0 ; -WR2: SIZEOF ( QUERY ( uar <* uncertainty_assigned_representation | - SIZEOF ( QUERY ( u1<* uar.uncertainty | - SIZEOF ( QUERY ( u2 <* uar.uncertainty | u2.name = u1.name ) ) >1 ) ) >0 ) ) = 0; -WR3: SIZEOF ( QUERY ( qri <* qualified_representation_item | - SIZEOF ( QUERY ( u1 <* qri.qualifiers | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' IN TYPEOF ( u1 ) ) AND - ( SIZEOF ( QUERY ( u2 <* qri.qualifiers | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' IN TYPEOF ( u2 ) ) AND - ( u2\uncertainty_qualifier.measure_name = u1\uncertainty_qualifier.measure_name ) ) - ) >1 ) ) ) >0 ) ) = 0; -END_RULE; - -(* Implicit interfaced from: Appearance_assignment_mim *) - RULE styled_curve FOR (styled_item); - WHERE - WR1: SIZEOF( QUERY( si <* styled_item | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE' IN TYPEOF (si.item)) AND (SIZEOF (QUERY (psa <* si.styles | (SIZEOF (QUERY (cs <* psa.styles | ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF (cs)) )) > 0) )) <> 1) )) = 0; - END_RULE; - -(* Implicit interfaced from: Ap242_managed_model_based_3d_engineering_mim *) - RULE dimensioning_data_requires_document FOR (applied_document_reference, product_definition_context_association, role_association); - LOCAL - adr : SET OF applied_document_reference := (QUERY(adr <* applied_document_reference | - (adr\document_reference.assigned_document\document.kind\document_type.product_data_type = 'Standards Document') AND - ((adr\document_reference.assigned_document\document.id = 'ASME Y14.41-2003') OR - (adr\document_reference.assigned_document\document.id = 'ASME Y14.5M-1994') OR - (adr\document_reference.assigned_document\document.id = 'ISO 1101: 2004')))); - pdca : SET OF product_definition_context_association := (QUERY(pdca <* product_definition_context_association | - (pdca\product_definition_context_association.role\product_definition_context_role.name = 'additional context') AND - (pdca\product_definition_context_association.frame_of_reference\application_context_element.name = 'Geometric Dimensioning and Tolerancing Product Specification'))); - ra : SET OF role_association := (QUERY(ra <* role_association | - ra\role_association.role\object_role.name = 'dimensioning standard')); - ra1 : SET OF role_association := []; - pdpdca : SET OF product_definition := []; - pdadr : SET OF product_definition := []; - pass : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT i := 1 TO HIINDEX(pdca); - pdpdca := pdpdca + pdca[i]\product_definition_context_association.definition; - END_REPEAT; - REPEAT i := 1 TO HIINDEX(adr); - ra1 := bag_to_set(USEDIN(adr[i],'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROLE_ASSOCIATION.ITEM_WITH_ROLE')); - IF (ra1 * ra) <> ra1 THEN - pass := FALSE; - END_IF; - REPEAT j := 1 to HIINDEX(adr[i]\applied_document_reference.items); - IF 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(adr[i]\applied_document_reference.items[j]) THEN - pdadr := pdadr + adr[i]\applied_document_reference.items[j]; - END_IF; - END_REPEAT; - END_REPEAT; - - WHERE - WR1 : pass; - WR2 : pdpdca = pdadr; - -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE chamfer_requires_faces FOR (chamfer, -property_definition_representation); -WHERE -WR1: (SIZEOF (QUERY (cf <* chamfer | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = cf) AND -('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'chamfer face')) -))) -))=0); -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE chamfer_offset_requires_faces FOR -(chamfer_offset, property_definition_representation); -WHERE -WR1: (SIZEOF (QUERY (co <* chamfer_offset | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = co) AND -('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF (pdr.used_representation)) AND -( ((pdr\property_definition_representation.definition\property_definition.definition.description = 'first offset') AND -(pdr.used_representation.name = 'first face shape')) -OR -((pdr\property_definition_representation.definition\property_definition.definition.description = 'second offset') AND -(pdr.used_representation.name = 'second face shape')) -)) -))) -))=0); -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE edge_round_requires_faces FOR -(edge_round, property_definition_representation); -WHERE -WR1: (0 = SIZEOF (QUERY (er <* edge_round | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = er) AND -('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'edge round face')) -))) -))); -WR2: (SIZEOF (QUERY (er <* edge_round | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = er) AND -('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'first face shape')) -))) -))=0); -WR3: (SIZEOF (QUERY (er <* edge_round | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = er) AND -('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'second face shape')) -))) -))=0); -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE transition_feature_life_cycle FOR -(transition_feature); -WHERE -WR1: SIZEOF (QUERY (tf <* transition_feature | -NOT (tf.of_shape.definition.frame_of_reference.life_cycle_stage = -'manufacturing planning'))) = 0; -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE transition_feature_on_part_boundary FOR -(transition_feature); -WHERE -WR1: SIZEOF (QUERY (tf <* transition_feature | -NOT (tf.product_definitional))) = 0; -END_RULE; - -(* Implicit interfaced from: Dimension_and_tolerance_callouts_mim *) -RULE draughting_model_items_constraint FOR (draughting_model); -WHERE - -- logic - there should be 0 items, which are annotation_occurrences and which are not draughting_annotation_occurrences - WR1: SIZEOF(QUERY(dm <* draughting_model | - NOT(SIZEOF(QUERY(it1 <* dm\representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANNOTATION_OCCURRENCE' IN TYPEOF(it1)) - AND - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'DRAUGHTING_ANNOTATION_OCCURRENCE' IN TYPEOF(it1))) - )) = 0) - )) = 0; - WR2: SIZEOF(QUERY(dm <* draughting_model | - NOT(SIZEOF(QUERY(it1 <* dm\representation.items | - (('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF(it1)) - AND - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DRAUGHTING_ELEMENTS' IN TYPEOF(it1))) - )) = 0) - )) = 0; -END_RULE; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -RULE unique_datum_system FOR -(datum_system); - -LOCAL - pass : BOOLEAN := TRUE; -END_LOCAL; -REPEAT i := 1 TO SIZEOF(datum_system); - REPEAT j := 1 TO SIZEOF(datum_system); - IF (i <> j) THEN - IF datum_system[i]\datum_system.constituents = - datum_system[j]\datum_system.constituents THEN - pass := FALSE; - END_IF; - END_IF; - END_REPEAT; -END_REPEAT;WHERE - WR1: pass; -END_RULE; - -(* Implicit interfaced from: shape_tolerance_schema *) -RULE subtype_exclusiveness_geometric_tolerance FOR -(geometric_tolerance); -WHERE - WR1: SIZEOF(QUERY (gt <* geometric_tolerance | NOT (type_check_function(gt, ['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ANGULARITY_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COAXIALITY_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CONCENTRICITY_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CYLINDRICITY_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FLATNESS_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LINE_PROFILE_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PARALLELISM_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PERPENDICULARITY_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POSITION_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDNESS_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STRAIGHTNESS_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SURFACE_PROFILE_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SYMMETRY_TOLERANCE', 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TOTAL_RUNOUT_TOLERANCE'] , 2 ) ))) = 0; -END_RULE; - -(* Implicit interfaced from: Geometric_tolerance_mim *) -RULE tolerance_zone_form_name_constraint for (tolerance_zone_form); -LOCAL - names : SET OF STRING := - [ 'within a circle', - 'between two concentric circles', - 'between two equidistant curves', - 'within a cylinder', - 'between two coaxial cylinders', - 'between two equidistant surfaces', - 'non uniform', - 'cylindrical or circular', - 'spherical', - 'unknown']; - pass : BOOLEAN := TRUE; -END_LOCAL; -REPEAT i := 1 to SIZEOF(tolerance_zone_form) WHILE pass; - pass := (tolerance_zone_form[i].name IN names); -END_REPEAT; -WHERE - WR1: pass; -END_RULE; - -(* Implicit interfaced from: Text_appearance_mim *) - RULE text_font_usage FOR - (externally_defined_text_font,pre_defined_text_font); - WHERE - WR1: SIZEOF (QUERY (pdtf <* pre_defined_text_font | SIZEOF (USEDIN (pdtf, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0; - WR2: SIZEOF (QUERY (edtf <* externally_defined_text_font | SIZEOF (USEDIN (edtf, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0; - END_RULE; - -(* Implicit interfaced from: External_properties_mim *) - RULE plib_property_reference_requires_name_scope FOR ( - externally_defined_general_property); - LOCAL - known_sourced_properties : SET OF externally_defined_general_property; - END_LOCAL; - known_sourced_properties := QUERY( edc <* externally_defined_general_property | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF(edc.source) ); - WHERE - WR1: SIZEOF ( QUERY ( edgp <* known_sourced_properties | - ( SIZEOF ( QUERY ( edir <* USEDIN ( edgp, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.RELATING_ITEM' )| - ( edir.name = 'name scope' ) AND - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EXTERNALLY_DEFINED_CLASS' IN TYPEOF ( edir.related_item ) ) AND - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF ( edir.related_item.source ) ) ) ) <>1 ) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: External_properties_mim *) - RULE plib_property_reference_requires_version FOR (externally_defined_general_property); - LOCAL - plib_properties : SET OF externally_defined_general_property := []; - END_LOCAL; - plib_properties := QUERY ( edgp <* externally_defined_general_property | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF ( edgp.source ) ) AND - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.KNOWN_SOURCE' + '.NAME' = 'ISO 13584 library' ) ); --tt found real problem here - WHERE - WR1: SIZEOF( QUERY( edgp <* plib_properties | - (SIZEOF( QUERY( edir <* USEDIN(edgp, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS') | - (edir.role.name = 'version') )) <> 1) )) = 0; - END_RULE; - -(* Implicit interfaced from: Product_class_mim *) -RULE product_concept_feature_requires_category FOR (product_concept_feature); -WHERE -WR1: SIZEOF ( QUERY ( pcf <* product_concept_feature | -(SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE', -'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE'] * TYPEOF(pcf)) = 0) AND -(SIZEOF ( QUERY ( aga <* USEDIN ( pcf , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT.' + 'ITEMS' ) | -(aga\group_assignment.role\object_role.name = 'specification category member' ) AND -('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF ( aga.assigned_group )))) <>1 ) ) ) = 0; -END_RULE; - -(* Implicit interfaced from: Product_class_mim *) -RULE restrict_concept_feature_operator FOR (concept_feature_operator); -WHERE - WR1: SIZEOF ( QUERY ( cfo <* concept_feature_operator | NOT - ( cfo.name IN ['and' , 'or' , 'oneof' , 'not' , 'implication'] ) ) ) = 0; - WR2: SIZEOF ( QUERY ( cfo <* concept_feature_operator | (cfo.name = 'implication' ) AND - ( SIZEOF ( QUERY (cfrwc <* USEDIN ( cfo , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' + - 'CONDITIONAL_OPERATOR' ) | - SIZEOF ( QUERY ( ccf <* USEDIN( cfrwc , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.CONDITION' ) | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( ccf )))) >0 )) >0 ))) = 0; - WR3: SIZEOF( QUERY (cfo <* concept_feature_operator | (cfo.name = 'not') - AND (SIZEOF(QUERY(cfrwc <* USEDIN(cfo, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.CONDITIONAL_OPERATOR') | - cfrwc.related_product_concept_feature :<>: cfrwc.relating_product_concept_feature)) >0 ))) = 0; -END_RULE; - -(* Implicit interfaced from: Multi_linguism_mim *) -RULE restrict_language_assignment_per_attribute FOR (attribute_language_assignment); -WHERE -WR1: SIZEOF ( QUERY ( ala1 <* attribute_language_assignment | - SIZEOF(QUERY( it <* ala1.items | - SIZEOF ( QUERY ( ala2 <* USEDIN ( it ,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ) | - ( ala1\attribute_classification_assignment.attribute_name = ala2\attribute_classification_assignment.attribute_name ) AND - ( ala1\attribute_classification_assignment.assigned_class :=: ala2\attribute_classification_assignment.assigned_class ) - )) >1 - )) >0 - )) =0; -END_RULE; - -(* Implicit interfaced from: Ap242_managed_model_based_3d_engineering_mim *) -RULE subtype_mandatory_shape_representation FOR - (shape_representation); -WHERE - WR1: SIZEOF (QUERY (sr <* shape_representation | - NOT ((SIZEOF ([ - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACETED_BREP_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SURFACE_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BEVELED_SHEET_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOSITE_SHEET_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOUND_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_2D_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CSG_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DIMENSION_REPRESENTATION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' - ] * TYPEOF (sr)) = 1) OR - (SIZEOF (QUERY (it <* sr\representation.items | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (it)))) - = 0) OR - (SIZEOF (QUERY (sdr <* QUERY (pdr <* USEDIN (sr, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + - 'USED_REPRESENTATION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF (pdr)) | - NOT (SIZEOF (['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP'] * TYPEOF - (sdr.definition)) = 1))) = 0)))) = 0; -END_RULE; -- subtype_mandatory_shape_representation - -(* Implicit interfaced from: Classification_with_attributes_mim *) -RULE restrict_classification_assignments FOR (applied_classification_assignment); -WHERE -WR1: SIZEOF(QUERY(aia <* applied_classification_assignment | - NOT class_assignment_is_valid(aia)))=0; -END_RULE; - -(* Implicit interfaced from: Stock_material_mim *) - RULE ply_stock_material_select FOR - (product_related_product_category, - make_from_usage_option); - LOCAL - i,j,k,kp : INTEGER; - dkuhr : LOGICAL; - nmfuo : INTEGER; - nprpc : INTEGER := 0; - rp : product; - END_LOCAL; - - dkuhr := TRUE; - REPEAT kp:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - - IF (product_related_product_category[kp].name = 'ply') THEN - REPEAT i:= LOINDEX (product_related_product_category[kp].products) TO - HIINDEX (product_related_product_category[kp].products); - - nmfuo := 0; - REPEAT j:= LOINDEX (make_from_usage_option) TO - HIINDEX (make_from_usage_option); - - rp := make_from_usage_option[j].related_product_definition. - formation.of_product; - - IF (product_related_product_category[kp].products[i] = rp) THEN - - REPEAT k:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - - IF ((rp IN product_related_product_category[k].products) AND - (product_related_product_category[k].name IN - ['isotropic material', 'filament assembly', - 'discontinuous fiber assembly'])) THEN - nprpc := nprpc + 1; - END_IF; - - END_REPEAT; - - IF (nprpc = 1) THEN - nmfuo := nmfuo + 1; - ELSE - dkuhr := FALSE; - ESCAPE; - END_IF; - - END_IF; - - END_REPEAT; - - IF (dkuhr = FALSE) THEN - ESCAPE; - END_IF; - IF(nmfuo <> 1) THEN - dkuhr := FALSE; - ESCAPE; - END_IF; - - END_REPEAT; - END_IF; - - END_REPEAT; - - WHERE - WR1: dkuhr; - END_RULE; - -(* Implicit interfaced from: Product_and_manufacturing_information_view_context_mim *) -RULE valid_product_and_manufacturing_information_view_contexts FOR (product_definition_context); -LOCAL - design_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.life_cycle_stage = 'design'); - gdt_representation_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'geometrical dimensioning and tolerancing representation'); - machining_feature_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'machining feature'); - material_specification_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'material specification'); - model_based_3d_annotation_presentation_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'model based 3D annotation presentation'); - model_based_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'model based product geometry'); - process_state_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'process state'); - surface_finish_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'surface finish'); - additional_view_contexts : SET OF product_definition_context := - gdt_representation_view_contexts + machining_feature_view_contexts + material_specification_view_contexts + - model_based_3d_annotation_presentation_view_contexts + process_state_view_contexts + surface_finish_view_contexts; - need_initial_model_based_view_contexts : SET OF product_definition_context := - gdt_representation_view_contexts + model_based_3d_annotation_presentation_view_contexts; -END_LOCAL; - -WHERE - WR1: SIZEOF(gdt_representation_view_contexts * design_view_contexts) = SIZEOF(gdt_representation_view_contexts); - WR2: SIZEOF(machining_feature_view_contexts * design_view_contexts) = SIZEOF(machining_feature_view_contexts); - WR3: SIZEOF(material_specification_view_contexts * design_view_contexts) = SIZEOF(material_specification_view_contexts); - WR4: SIZEOF(model_based_3d_annotation_presentation_view_contexts * design_view_contexts) = SIZEOF(model_based_3d_annotation_presentation_view_contexts); - WR5: SIZEOF(model_based_view_contexts * design_view_contexts) = SIZEOF(model_based_view_contexts); - WR6: SIZEOF(process_state_view_contexts * design_view_contexts) = SIZEOF(process_state_view_contexts); - WR7: SIZEOF(surface_finish_view_contexts * design_view_contexts) = SIZEOF(surface_finish_view_contexts); - WR8: -- not used as additional_contexts - SIZEOF(QUERY(mbvc <* model_based_view_contexts | - (SIZEOF(USEDIN(mbvc, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.FRAME_OF_REFERENCE')) = 0) - )) = SIZEOF(model_based_view_contexts); - WR9: -- not used as initial_context - SIZEOF(QUERY(avc <* additional_view_contexts | - (SIZEOF(USEDIN(avc, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION.FRAME_OF_REFERENCE')) = 0) - )) = SIZEOF(additional_view_contexts); - WR10: -- initial_context shall have a Model_based_view_context - SIZEOF(QUERY(nimbvc <* need_initial_model_based_view_contexts | NOT - (SIZEOF(QUERY(pdca <* USEDIN(nimbvc, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.FRAME_OF_REFERENCE') | - (pdca\product_definition_context_association.definition\product_definition.frame_of_reference IN model_based_view_contexts))) - = - SIZEOF(need_initial_model_based_view_contexts)) - )) = 0; - WR11: -- gdt_representation_view_contexts must have at least either ISO 1101 or ASME Y14.5 as associated dimension standard document - SIZEOF ( QUERY( gdt_pdc <* gdt_representation_view_contexts | - SIZEOF(['ISO 1101', 'ASME Y14.5'] * get_associated_mandatory_document_ids(gdt_pdc) ) = 0 ) - ) = 0; - WR12: -- model_based_3d_annotation_presentation_view_contexts must have at least either ISO 1101, ISO 16792, ASME Y14.41 or ASME Y14.5 as associated model standard document - SIZEOF ( QUERY( mb3d_pdc <* model_based_3d_annotation_presentation_view_contexts | - SIZEOF(['ISO 1101', 'ISO 16792', 'ASME Y14.41', 'ASME Y14.5'] * get_associated_mandatory_document_ids(mb3d_pdc) ) = 0) - ) = 0; -END_RULE; - -(* Implicit interfaced from: Classification_with_attributes_mim *) -RULE restrict_group_relationship_for_classification_hierarchy FOR (group_relationship); -WHERE -WR1: SIZEOF( QUERY( gr <* group_relationship | - (gr\group_relationship.name = 'class hierarchy') AND - (NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.related_group)) OR - NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.relating_group))) )) = 0; -END_RULE; - -(* Implicit interfaced from: Product_class_mim *) -RULE restrict_group_relationship_for_specification_category FOR (group_relationship); -WHERE -WR1 : SIZEOF( QUERY( gr <* group_relationship | - (gr.name = 'specification category hierarchy') AND - (NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.related_group)) - OR NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.relating_group))) )) = 0; -END_RULE; - -(* Implicit interfaced from: Part_and_zone_laminate_tables_mim *) - RULE component_class_for_assembly_select FOR - (composite_assembly_sequence_definition, - next_assembly_usage_occurrence, - product_related_product_category); - LOCAL - i,j,k : INTEGER :=0; - dkuhr : LOGICAL :=TRUE; - nnauo : INTEGER :=0; - nprpc : INTEGER :=0; - rp : product; - END_LOCAL; - REPEAT i:= LOINDEX (composite_assembly_sequence_definition) TO - HIINDEX (composite_assembly_sequence_definition); - nnauo := 0; - REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO - HIINDEX (next_assembly_usage_occurrence); - IF (composite_assembly_sequence_definition[i] = - next_assembly_usage_occurrence[j].relating_product_definition) THEN - rp := next_assembly_usage_occurrence[j].related_product_definition. - formation.of_product; - nprpc := 0; - REPEAT k:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - IF ((rp IN product_related_product_category[k].products) AND - (product_related_product_category[k].name IN ['ply', - 'ply laminate', 'filament laminate', 'processed core', - 'composite assembly'])) THEN - nprpc := nprpc + 1; - END_IF; - END_REPEAT; - IF (nprpc = 1) THEN - nnauo := nnauo + 1; - ELSE - dkuhr := FALSE; - ESCAPE; - END_IF; - END_IF; - END_REPEAT; - IF (dkuhr = FALSE) THEN - ESCAPE; - END_IF; - IF(nnauo = 0) THEN - dkuhr := FALSE; - ESCAPE; - END_IF; - END_REPEAT; - WHERE - WR1: dkuhr; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE restrict_configuration_design_for_design_constraint FOR (configuration_design); - WHERE - WR1: SIZEOF ( QUERY (cd <* configuration_design | - (cd.name = 'design constraint usage') AND - (NOT('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR - (cd.design\product_definition.frame_of_reference.name <> 'design constraint definition')))) = 0; - END_RULE; - -(* Implicit interfaced from: Geometric_tolerance_mim *) -RULE unique_gdt_element_id_constraint for ( - product_definition_shape, - dimensional_location, - dimensional_size, - shape_aspect, - shape_aspect_relationship); -LOCAL - bss : BAG OF STRING := []; - ds : SET OF dimensional_size := QUERY(ds <* dimensional_size | EXISTS(ds\dimensional_size.id)); - sa : SET OF shape_aspect := QUERY(sa <* shape_aspect | EXISTS(sa\shape_aspect.id)); - sar : SET OF shape_aspect_relationship := QUERY(sar <* shape_aspect_relationship | EXISTS(sar\shape_aspect_relationship.id)); - ssa : SET OF shape_aspect := []; - pass : BOOLEAN := TRUE; -END_LOCAL; -REPEAT ii := 1 TO SIZEOF (product_definition_shape) WHILE pass; - bss := []; - ssa := bag_to_set(USEDIN(product_definition_shape[ii], 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'SHAPE_ASPECT.' + 'OF_SHAPE')); - - REPEAT i := 1 to SIZEOF (ds); - IF (ds[i]\dimensional_size.applies_to IN ssa) THEN - bss := bss + ds[i]\dimensional_size.id; - END_IF; - END_REPEAT; - - REPEAT i := 1 to SIZEOF (sa); - IF (sa[i] IN ssa) THEN - bss := bss + sa[i]\shape_aspect.id; - END_IF; - END_REPEAT; - - REPEAT i := 1 to SIZEOF (sar); - IF (sar[i]\shape_aspect_relationship.relating_shape_aspect IN ssa) THEN - bss := bss + sar[i]\shape_aspect_relationship.id; - END_IF; - END_REPEAT; - - IF (SIZEOF(bag_to_set(bss)) <> SIZEOF(bss)) THEN pass := FALSE; - END_IF; -END_REPEAT; -WHERE - WR1 : pass; -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE machining_feature_life_cycle FOR -(instanced_feature); -WHERE -WR1: SIZEOF (QUERY (mf <* instanced_feature | -NOT (mf.of_shape.definition.frame_of_reference.life_cycle_stage = -'manufacturing planning'))) = 0; -END_RULE; - -(* Implicit interfaced from: External_properties_mim *) - RULE external_version_assignments_are_valid FOR (applied_external_identification_assignment); - WHERE - WR1: SIZEOF(QUERY(aia <* applied_external_identification_assignment | - NOT external_version_assignment_is_valid(aia)))=0; - END_RULE; - -(* Implicit interfaced from: Surface_conditions_mim *) - RULE restrict_treatment_result FOR (representation); - LOCAL - treatment_results: SET OF representation := []; - END_LOCAL; - treatment_results:= QUERY( r <* representation | - (r.name = 'treatment result') ); - WHERE - WR1: (SIZEOF( QUERY( r <* treatment_results | (SIZEOF(r.items) > 2) )) = 0) AND - (SIZEOF( QUERY( r <* treatment_results | - (SIZEOF( QUERY( i <* r.items | - NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) > 0) )) = 0); - WR2: SIZEOF( QUERY( r <* treatment_results | - (SIZEOF( QUERY( i <* r.items | i.name = 'result' )) = 0) )) = 0; - WR3: SIZEOF( QUERY( r <* treatment_results | - (SIZEOF( QUERY( i <* r.items | i.name = 'purpose' )) > 1) )) = 0; - END_RULE; - -(* Implicit interfaced from: Inertia_characteristics_mim *) -RULE restrict_centre_of_mass_representation FOR - (representation); -WHERE - WR1: SIZEOF ( QUERY ( r <* representation | - ( r.name ='centre of mass' ) AND - ( ( SIZEOF ( r.items ) <>1 ) OR - (SIZEOF ( QUERY ( i <* r.items | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'POINT' IN TYPEOF ( i ) ) AND - ( i.name = 'centre point' ) )) <>1 ) ) ) ) - =0; -END_RULE; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - RULE subtype_exclusiveness_representation_item FOR - (representation_item); - WHERE - WR1: SIZEOF(QUERY (cri <* representation_item | - NOT (type_check_function(cri,['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.COMPOUND_REPRESENTATION_ITEM'] , 3)))) = 0; - END_RULE; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE selected_instance_usage_requires_representation FOR (assembly_component_usage); - LOCAL - selected_instance_usages: SET OF assembly_component_usage := QUERY( acr <* assembly_component_usage| - (acr.name = 'selected instance usage')); - END_LOCAL; - WHERE - WR1: SIZEOF ( QUERY ( acr <* selected_instance_usages | - NOT valid_selected_instance_representation(acr) ))=0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE constraint_definition_requires_constraint_category FOR (product_definition); - LOCAL - constraint_definitions: SET OF product_definition := []; - END_LOCAL; - constraint_definitions := QUERY( pd <* product_definition | - (pd.frame_of_reference.name = 'design constraint definition')); - WHERE - WR1: SIZEOF ( QUERY ( pd <* constraint_definitions | - ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd.formation.of_product , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc. name ='requirement' ) ) =0 ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Item_definition_structure_mim *) - RULE restrict_assembly_category FOR (product_definition); - LOCAL - assembly_definitions: SET OF product_definition := []; - END_LOCAL; - assembly_definitions := QUERY( pd <* product_definition | - SIZEOF( QUERY( pdca <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | - pdca.frame_of_reference.name= 'assembly definition')) > 0 ); - WHERE - WR1: SIZEOF( QUERY( pd <* assembly_definitions | - NOT ('assembly' IN categories_of_product(pd.formation.of_product)) ))= 0; - END_RULE; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE restrict_part_occurrence FOR (product_definition); - LOCAL - part_occurrences: SET OF product_definition := QUERY(pd <* product_definition | - ( pd.frame_of_reference.name = 'part occurrence' )); - END_LOCAL; - WHERE - WR1: SIZEOF ( QUERY ( pd <* part_occurrences | - ( NOT( pd.name IN - ['single instance' , 'selected instance' ,'quantified instance' , 'specified instance' ] ) ) ) ) = 0; - WR2: SIZEOF ( QUERY ( pd <* part_occurrences | - (SIZEOF ( QUERY ( pdr <* USEDIN ( pd , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | - pdr.name = 'definition usage' ) ) <>1 ) AND - ( SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'CONFIGURATION_DESIGN.DESIGN' ) | - ( cd.name = 'occurrence usage definition' ) AND - ( NOT ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_IDENTIFICATION' IN TYPEOF( cd.configuration ) ) ) ) ) <>1 ) ) ) = 0; - WR3: SIZEOF ( QUERY ( pd <* part_occurrences | - (SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.'+ 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' +'PRODUCT_DEFINITION_USAGE' IN TYPEOF ( cd ) ) ) ) = 0 )AND - ( SIZEOF ( USEDIN ( pd , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) ) = 0 ) ) ) = 0; - WR4: SIZEOF ( QUERY ( pd <* part_occurrences | - ( pd.name = 'selected instance' ) AND - NOT valid_selected_instance_representation(pd) ))=0; - WR5: SIZEOF ( QUERY ( pd <* part_occurrences | - ( pd.name = 'quantified instance' ) AND - ( SIZEOF ( QUERY (ppd <* USEDIN ( pd , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' +'PROPERTY_DEFINITION.DEFINITION' ) | - ( ppd.name ='occurrence quantity' ) AND - ( SIZEOF ( QUERY ( pdr <*USEDIN ( ppd , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' +'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( - pdr.used_representation.name = 'quantity' ) AND - (SIZEOF ( pdr.used_representation.items ) = 1 ) AND - (SIZEOF ( QUERY ( i <* pdr.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND - ( i.name = 'quantity measure' ) ) ) = 1)))= 1 )))= 0 )))= 0; - WR6: SIZEOF ( QUERY ( pd <* part_occurrences | - ( pd.name = 'specified instance' ) AND - ( SIZEOF ( QUERY ( - pdor <* USEDIN ( pd , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' +'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' +'SPECIFIED_HIGHER_USAGE_OCCURRENCE' IN TYPEOF ( pdor.occurrence_usage ) ) ) = 0 ) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE restrict_part_occurrence_category FOR (product_definition); - LOCAL - part_occurrences: SET OF product_definition := QUERY( pd <* product_definition |( - pd.frame_of_reference.name = 'part occurrence')); - END_LOCAL; - WHERE - WR1: SIZEOF( QUERY( pd <* part_occurrences | - (SIZEOF( QUERY( prpc <* USEDIN(pd.formation.of_product, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | - prpc.name IN ['part','raw material','tool'] )) = 0 ) )) = 0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE breakdown_element_requires_product_definition FOR - (product_definition_formation); - WHERE - WR1: SIZEOF ( QUERY ( pdf <* product_definition_formation | - ( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc.name = 'functionality' ) ) = 1 ) AND - ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf ,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION') | - pd.frame_of_reference.name = 'functional definition' ) ) <1 ) ) ) = 0; - WR2: SIZEOF ( QUERY ( pdf <* product_definition_formation | - ( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc.name = 'conceptual design' ) ) = 1 ) AND - ( SIZEOF (QUERY ( pd <* USEDIN ( pdf , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | - pd.frame_of_reference.name = 'conceptual definition' ) ) <1) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE design_constraint_requires_product_definition FOR (product_definition_formation); - WHERE - WR1: SIZEOF ( QUERY ( pdf <* product_definition_formation | ( - SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc.name = 'requirement' ) ) >0 ) AND - ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION') | - pd.frame_of_reference.name = 'design constraint definition' ) ) <1 ) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: Item_definition_structure_mim *) - RULE product_definition_replacement_requires_effectivity_assignment FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF( QUERY( pdr <* product_definition_relationship | - (pdr.name = 'definition replacement') AND - (SIZEOF( USEDIN(pdr,'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT.ITEMS') ) = 0) )) - = 0; - END_RULE; - -(* Implicit interfaced from: Item_definition_structure_mim *) - RULE restrict_product_definitions_for_part_definition_relationship FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr.name IN [ 'geometrical relationship' , 'definition replacement' ] ) AND - ( ( pdr.relating_product_definition.frame_of_reference.name <>'part definition' ) OR - ( pdr.related_product_definition.frame_of_reference.name <>'part definition' ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE restrict_product_definitions_for_definition_usage FOR (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr.name = 'definition usage' ) AND - ( ( pdr.relating_product_definition.frame_of_reference.name<> 'part definition' ) OR - ( pdr.related_product_definition.frame_of_reference.name<>'part occurrence' )))) =0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE restrict_product_definitions_for_design_constraint_association FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr. name = 'design constraint association' ) AND - ( (pdr. relating_product_definition.frame_of_reference.name<>'design constraint definition' ) OR - NOT ( pdr.related_product_definition.frame_of_reference.name IN - ['alternative definition' , 'functional definition' ,'conceptual definition' ] ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Surface_conditions_mim *) - RULE restrict_representation_for_surface_condition FOR (property_definition_representation); - WHERE - WR1 : SIZEOF(QUERY(pdr <* property_definition_representation | - NOT surface_condition_correlation(pdr.definition, pdr.used_representation) ))=0; - END_RULE; - -(* Implicit interfaced from: Surface_conditions_mim *) - RULE material_for_coating_layer FOR (shape_aspect); - LOCAL - coating_layers: SET OF shape_aspect := []; - END_LOCAL; - coating_layers:= QUERY( r <* shape_aspect | - (r.name = 'coating layer') ); - WHERE - WR1: SIZEOF( QUERY( r <* coating_layers | - SIZEOF(USEDIN(r , 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MATERIAL_DESIGNATION.DEFINITIONS'))<>1 - )) = 0; - END_RULE; - -(* Implicit interfaced from: aic_machining_feature *) -RULE machining_feature_definition_constraints FOR (feature_definition); -LOCAL - mfds : SET OF feature_definition := []; -END_LOCAL; - mfds := QUERY(temp <* feature_definition | 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.MACHINING_FEATURE_DEFINITION' IN TYPEOF (temp) ); -WHERE - WR1: SIZEOF(QUERY( mfd <* mfds | NOT (SIZEOF(QUERY( pdr <* - get_property_definition_representations (mfd) | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF ( pdr.used_representation ) ) ) <=1 ) ) ) = 0; - WR2: SIZEOF(QUERY( mfd <* mfds | NOT (SIZEOF (QUERY (pd <* USEDIN (mfd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF (it)) AND (it.name = 'orientation'))) = 1))) = 0))) = 0 ) ) ) = 0; - WR3: SIZEOF(QUERY( mfd <* mfds | NOT ((NOT (SIZEOF(['AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUND_HOLE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.BOSS', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.OUTSIDE_PROFILE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.REMOVAL_VOLUME', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.FLAT_FACE', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.POCKET', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PROTRUSION', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.RIB_TOP', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.ROUNDED_END', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.SLOT', - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.STEP'] * TYPEOF(mfds)) = 1)) OR - ((SIZEOF(QUERY(pdr <* get_property_definition_representations (mfd) | - ( 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0)) ) ) ) = 0; -END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE restrict_alternative_definition FOR (product_definition); - LOCAL - solution_definitions: SET OF product_definition := []; - END_LOCAL; - solution_definitions := QUERY( pd <* product_definition | - (pd.frame_of_reference.name = 'alternative definition')); - WHERE - WR1: SIZEOF ( QUERY ( pd <* solution_definitions | - ( SIZEOF ( QUERY ( pdr <* USEDIN ( pd , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | - pdr.name = 'solution alternative definition' ) ) <>1 ) ) ) = 0; - WR2: SIZEOF ( QUERY ( pd <* solution_definitions | - NOT ( pd.name IN ['technical' , 'supplier' , 'technical supplier' , ''] ) ) ) = 0; - WR3: SIZEOF ( QUERY ( pd <* solution_definitions | - ( pd.name IN ['supplier' , 'technical supplier'] ) AND ( - SIZEOF ( QUERY ( aoa <* USEDIN ( pd.formation , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS' ) | - aoa.role.name = 'supplier' )) <>1 ) )) = 0; - END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE solution_definition_requires_solution_category FOR (product_definition); - LOCAL - solution_definitions: SET OF product_definition := []; - END_LOCAL; - solution_definitions := QUERY( pd <* product_definition | - (pd.frame_of_reference.name = 'alternative definition')); - WHERE - WR1: SIZEOF( QUERY( pd <* solution_definitions | - (SIZEOF( QUERY( prpc <* USEDIN(pd.formation.of_product, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | - prpc.name = 'alternative solution')) = 0 ) )) = 0; - END_RULE; - -(* Implicit interfaced from: Part_collection_mim *) - RULE restrict_collection_category FOR (product_definition); - LOCAL - collection_definitions: SET OF product_definition := []; - END_LOCAL; - collection_definitions := QUERY( pd <* product_definition | - SIZEOF( QUERY( pdca <* USEDIN( pd, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | - pdca.frame_of_reference.name= 'collection definition')) > 0 ); - WHERE - WR1: SIZEOF( QUERY( pd <* collection_definitions | - NOT ('collection' IN categories_of_product(pd.formation.of_product)) ))= 0; - END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE alternative_solution_requires_solution_definition FOR (product_definition_formation); - LOCAL - solution_versions: SET OF product_definition_formation := []; - END_LOCAL; - solution_versions := QUERY( pdf <* product_definition_formation | - SIZEOF( QUERY( prpc <* USEDIN(pdf.of_product, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | - prpc.name = 'alternative solution')) = 1); - WHERE - WR1: SIZEOF( QUERY( pdf <* solution_versions | - SIZEOF( QUERY( pd <* USEDIN(pdf, 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION.FORMATION') | - pd.frame_of_reference.name = 'alternative definition')) <> 1))= 0; - END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE restrict_product_definitions_for_base_element FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr. name = 'solution alternative definition' ) AND - ( NOT( pdr. relating_product_definition.frame_of_reference.name - IN [ 'alternative definition' , 'functional definition' , 'conceptual definition' ] ) OR - ( pdr.related_product_definition.frame_of_reference.name<>'alternative definition' ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Part_collection_mim *) - RULE restrict_product_definitions_for_collection FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr. name = 'collection membership' ) AND - ( ( pdr.relating_product_definition.frame_of_reference.name<>'part definition' ) OR - ( pdr.related_product_definition.frame_of_reference.name<>'part occurrence' ) OR - ( SIZEOF ( QUERY ( pdca <* USEDIN (pdr.relating_product_definition , - 'AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | - ( pdca.role.name = 'part definition type' ) AND - ( pdca.frame_of_reference.name = 'collection definition' ) )) =0 ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: kinematic_analysis_control_and_result_schema *) -(* E2: SUBTYPE_CONSTRAINT link_motion_representation_along_path_subtypes FOR LINK_MOTION_REPRESENTATION_ALONG_PATH; *) - -(* Implicit interfaced from: External_currency_mim *) -(* E2: SUBTYPE_CONSTRAINT currency_subtypes FOR CURRENCY; *) - -(* Implicit interfaced from: Part_and_zone_laminate_tables_mim *) -(* E2: SUBTYPE_CONSTRAINT pos_product_definition_subtypes FOR PRODUCT_DEFINITION; *) - -(* Implicit interfaced from: Ply_orientation_specification_mim *) -(* E2: SUBTYPE_CONSTRAINT pos_compound_representation_item_subtypes FOR COMPOUND_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: Change_management_mim *) -(* E2: SUBTYPE_CONSTRAINT cm_group_subtypes FOR GROUP; *) - -(* Implicit interfaced from: Change_management_mim *) -(* E2: SUBTYPE_CONSTRAINT cm_group_assignment_subtypes FOR GROUP_ASSIGNMENT; *) - -(* Implicit interfaced from: product_analysis_schema *) -(* E2: SUBTYPE_CONSTRAINT sc1_temporal_spatial_domain FOR TEMPORAL_SPATIAL_DOMAIN; *) - -(* Implicit interfaced from: conditions_schema *) -(* E2: SUBTYPE_CONSTRAINT sc1_mbna_bc_data FOR MBNA_BC_DATA; *) - -(* Implicit interfaced from: equations_schema *) -(* E2: SUBTYPE_CONSTRAINT sc1_mbna_behaviour_model FOR MBNA_BEHAVIOUR_MODEL; *) - -(* Implicit interfaced from: equations_schema *) -(* E2: SUBTYPE_CONSTRAINT sc1_mbna_equation FOR MBNA_EQUATION; *) - -(* Implicit interfaced from: results_schema *) -(* E2: SUBTYPE_CONSTRAINT sc1_mbna_result FOR MBNA_RESULT; *) - -(* Implicit interfaced from: mesh_function_schema *) -(* E2: SUBTYPE_CONSTRAINT sc1_application_defined_function FOR APPLICATION_DEFINED_FUNCTION; *) - -(* Implicit interfaced from: mesh_function_schema *) -(* E2: SUBTYPE_CONSTRAINT sc1_unary_generic_expression FOR UNARY_GENERIC_EXPRESSION; *) - -(* Implicit interfaced from: Ap242_managed_model_based_3d_engineering_mim *) -(* E2: SUBTYPE_CONSTRAINT ap242_founded_item_subtypes FOR FOUNDED_ITEM; *) - -(* Implicit interfaced from: presentation_appearance_schema *) -(* E2: SUBTYPE_CONSTRAINT founded_item_subtypes FOR FOUNDED_ITEM; *) - -(* Implicit interfaced from: Appearance_assignment_mim *) -(* E2: SUBTYPE_CONSTRAINT aa_representation_item_subtypes FOR REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: Document_assignment_mim *) -(* E2: SUBTYPE_CONSTRAINT subtype_mandatory_document_product_association FOR DOCUMENT_PRODUCT_ASSOCIATION; *) - -(* Implicit interfaced from: aic_machining_feature *) -(* E2: SUBTYPE_CONSTRAINT machining_feature_definition_subtypes FOR FEATURE_DEFINITION; *) - -(* Implicit interfaced from: analysis_schema *) -(* E2: SUBTYPE_CONSTRAINT sc1_numerical_model FOR NUMERICAL_MODEL; *) - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* E2: SUBTYPE_CONSTRAINT sads_shape_aspect_subtypes FOR SHAPE_ASPECT; *) - -(* Implicit interfaced from: presentation_organization_schema *) -(* E2: SUBTYPE_CONSTRAINT pos_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: presentation_definition_schema *) -(* E2: SUBTYPE_CONSTRAINT pds_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: Basic_data_representation_mim *) -(* E2: SUBTYPE_CONSTRAINT representation_item_subtypes FOR REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: draughting_element_schema *) -(* E2: SUBTYPE_CONSTRAINT annotation_occurrence_subtypes FOR ANNOTATION_OCCURRENCE; *) - -(* Implicit interfaced from: draughting_element_schema *) -(* E2: SUBTYPE_CONSTRAINT annotation_curve_subtypes FOR ANNOTATION_CURVE_OCCURRENCE; *) - -(* Implicit interfaced from: Characteristic_mim *) -(* E2: SUBTYPE_CONSTRAINT c_compound_representation_item_subtypes FOR COMPOUND_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: Tagged_text_representation_mim *) -(* E2: SUBTYPE_CONSTRAINT ttr_descriptive_representation_item_subtypes FOR DESCRIPTIVE_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: kinematic_motion_representation_schema *) -(* E2: SUBTYPE_CONSTRAINT kmr_representation_subtypes FOR REPRESENTATION; *) - -(* Implicit interfaced from: kinematic_motion_representation_schema *) -(* E2: SUBTYPE_CONSTRAINT kmr_geometric_representation_context_subtypes FOR GEOMETRIC_REPRESENTATION_CONTEXT; *) - -(* Implicit interfaced from: kinematic_motion_representation_schema *) -(* E2: SUBTYPE_CONSTRAINT kmr_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: presentation_appearance_schema *) -(* E2: SUBTYPE_CONSTRAINT pas_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: presentation_resource_schema *) -(* E2: SUBTYPE_CONSTRAINT prs_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: kinematic_structure_schema *) -(* E2: SUBTYPE_CONSTRAINT kss_representation_subtypes FOR REPRESENTATION; *) - -(* Implicit interfaced from: kinematic_property_schema *) -(* E2: SUBTYPE_CONSTRAINT kps_property_definition_subtypes FOR PROPERTY_DEFINITION; *) - -(* Implicit interfaced from: kinematic_state_schema *) -(* E2: SUBTYPE_CONSTRAINT kss_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: kinematic_topology_schema *) -(* E2: SUBTYPE_CONSTRAINT kts_representation_subtypes FOR REPRESENTATION; *) - -(*** 2003=>1994 conversion: insert a rule to control if instances are legal according to USE/REF clauses ***) - -RULE validate_dependently_instantiable_entity_data_types FOR - (action_method_role,action_resource_type,attribute_value_role,camera_model_d2,cartesian_transformation_operator,concept_feature_relationship,concept_feature_relationship_with_condition,document_usage_constraint,edge_blended_solid,effectivity_context_role,event_occurrence_role,explicit_procedural_representation_item_relationship,indirectly_selected_elements,maths_space_context,modified_solid_with_placed_configuration,one_direction_repeat_factor,oriented_open_shell,oriented_path,procedural_representation,procedural_representation_sequence,product_definition_effectivity,property_distribution_description,runout_zone_orientation,solid_with_depression,solid_with_hole,solid_with_pocket,solid_with_protrusion,solid_with_shape_element_pattern,solid_with_slot,state_type_role,swept_area_solid,symbol_target,two_direction_repeat_factor,user_selected_elements,volume -- - ); -LOCAL - number_of_input_instances : INTEGER; - previous_in_chain : LIST OF GENERIC := []; - set_of_input_types : SET OF STRING := []; - all_instances : SET OF GENERIC := []; -END_LOCAL; - - all_instances := all_instances + action_method_role; - all_instances := all_instances + action_resource_type; - all_instances := all_instances + attribute_value_role; - all_instances := all_instances + camera_model_d2; - all_instances := all_instances + cartesian_transformation_operator; - all_instances := all_instances + concept_feature_relationship; - all_instances := all_instances + concept_feature_relationship_with_condition; - all_instances := all_instances + document_usage_constraint; - all_instances := all_instances + edge_blended_solid; - all_instances := all_instances + effectivity_context_role; - all_instances := all_instances + event_occurrence_role; - all_instances := all_instances + explicit_procedural_representation_item_relationship; - all_instances := all_instances + indirectly_selected_elements; - all_instances := all_instances + maths_space_context; - all_instances := all_instances + modified_solid_with_placed_configuration; - all_instances := all_instances + one_direction_repeat_factor; - all_instances := all_instances + oriented_open_shell; - all_instances := all_instances + oriented_path; - all_instances := all_instances + procedural_representation; - all_instances := all_instances + procedural_representation_sequence; - all_instances := all_instances + product_definition_effectivity; - all_instances := all_instances + property_distribution_description; - all_instances := all_instances + runout_zone_orientation; - all_instances := all_instances + solid_with_depression; - all_instances := all_instances + solid_with_hole; - all_instances := all_instances + solid_with_pocket; - all_instances := all_instances + solid_with_protrusion; - all_instances := all_instances + solid_with_shape_element_pattern; - all_instances := all_instances + solid_with_slot; - all_instances := all_instances + state_type_role; - all_instances := all_instances + swept_area_solid; - all_instances := all_instances + symbol_target; - all_instances := all_instances + two_direction_repeat_factor; - all_instances := all_instances + user_selected_elements; - all_instances := all_instances + volume; -;-- -number_of_input_instances := SIZEOF(all_instances); -(* Collect all type strings of all FOR instances into one set. *) -REPEAT i:=1 TO number_of_input_instances; - set_of_input_types := set_of_input_types + TYPEOF(all_instances[i]); -END_REPEAT; - -WHERE - WR1: dependently_instantiated(all_instances, set_of_input_types, - previous_in_chain); -END_RULE; - -FUNCTION dependently_instantiated( - set_of_input_instances : SET OF GENERIC:igen; - set_of_input_types : SET OF STRING; - previous_in_chain : LIST OF GENERIC:cgen): BOOLEAN; -(*'dependently_instantiated' To test whether all instances in the - input set_of_input_instances are referenced by independently - instantiable instances. If so, this function returns true. - Set_of_input_types includes the type strings for all input instances. - The instances in previous_in_chain are used to detect cyclic - references during recursive calls to this function. The parameter - lists already tested instances in a chain of references. -*) -LOCAL - number_of_input_instances : INTEGER; - number_of_referring_instances : INTEGER; - bag_of_referring_instances : BAG OF GENERIC:igen := []; - dependently_instantiated_flag : BOOLEAN; - previous_in_chain_plus : LIST OF GENERIC:cgen := []; - result : BOOLEAN := true; - set_of_types : SET OF STRING := []; -END_LOCAL; - -IF EXISTS(set_of_input_instances) THEN - number_of_input_instances := SIZEOF(set_of_input_instances); - (* Add the declared type of bag_of_referring_instances to the set of - types of the REFERENCEd instances for the subset comparison later. - *) - set_of_input_types := set_of_input_types + 'GENERIC'; - REPEAT i:=1 TO number_of_input_instances; - (* Determine all references to the current input instance. *) - bag_of_referring_instances := USEDIN (set_of_input_instances[i] , ''); - IF EXISTS(bag_of_referring_instances) THEN - number_of_referring_instances := SIZEOF(bag_of_referring_instances); - dependently_instantiated_flag := false; - REPEAT j:=1 TO number_of_referring_instances; - (* Determine the type strings of the current referencing instance. - *) - set_of_types := TYPEOF(bag_of_referring_instances[j]); - (* If the referencing instance is of one of the types of the - only dependently instantiable select items, the current input - instance may still be invalidly instantiated. - Otherwise it is OK, and the next input instance is tested. - *) - IF set_of_types <= set_of_input_types THEN -- subset operator - (* The referring instance is of one of the restricted types. - However, it may itself be referred to by a valid instance; - then also the current instance would be valid. - Thus, call this function recursively with the referring - instance as input. - To avoid an infinite loop in case a set of instances - reference each other in a closed loop, test first whether - the current referencing instance is in the list of - previously processed chain members. - *) - IF NOT (bag_of_referring_instances[j] IN previous_in_chain) THEN - previous_in_chain_plus := previous_in_chain + - set_of_input_instances[i]; - IF dependently_instantiated([bag_of_referring_instances[j]], - set_of_input_types, - previous_in_chain_plus) THEN - dependently_instantiated_flag := true; - ESCAPE; -- dependently instantiated; next input instance - ELSE - (* Not dependently instantiated: go to next referring - instance. *) - SKIP; - END_IF; - END_IF; - ELSE - dependently_instantiated_flag := true; - ESCAPE; -- dependently instantiated; take next input instance - END_IF; - END_REPEAT; - IF NOT dependently_instantiated_flag THEN - RETURN(false); - END_IF; - ELSE - RETURN(false); -- not referenced at all => invalidly instantiated - END_IF; - END_REPEAT; -ELSE - RETURN(false); -- no input -END_IF; - -RETURN(true); -END_FUNCTION; -- end dependently_instantiated - - - -END_SCHEMA; - diff --git a/data/cd242/242_n2813_mim_lf.exp b/data/cd242/242_n2813_mim_lf.exp deleted file mode 100644 index 86cc4ac11..000000000 --- a/data/cd242/242_n2813_mim_lf.exp +++ /dev/null @@ -1,39060 +0,0 @@ -(* - $Id: mim_lf.exp,v 1.23 2013/02/20 01:09:48 thomasrthurman Exp $ -ISO TC184/SC4/WG3 N2813 - ISO/TS 10303-442 AP242 managed model based 3d engineering - EXPRESS MIM Long form -*) - -(* ===================================================================================== *) -(* Long form schema generated by The EXPRESS Data Manager compiler version 9.8.3B 20121030*) -(* Tue Feb 19 18:44:31 2013 *) -(* The schema is converted from ISO10303 P11-2003 to ISO10303 P11-1994 *) -(* ===================================================================================== *) - -SCHEMA Ap242_managed_model_based_3d_engineering_mim_LF; - - -(* -USE FROM Mating_structure_mim; -USE FROM Shape_data_quality_inspection_result_mim; -USE FROM Externally_conditioned_data_quality_inspection_result_mim; -USE FROM Geometric_constraints_mim; -USE FROM Machining_features_mim; -USE FROM Form_feature_in_panel_mim; -USE FROM Assembly_constraints_mim; -USE FROM Kinematic_analysis_control_and_result_mim; -USE FROM Process_plan_mim; - -USE FROM Constructive_solid_geometry_2d_mim; -USE FROM Product_as_individual_assembly_and_test_mim; - -USE FROM Characterized_representation_mim; -USE FROM Chemical_substance_mim; -USE FROM Composite_material_aspects_mim; -USE FROM Compound_shape_representation_mim; -USE FROM Constructive_solid_geometry_3d_mim; -USE FROM Curve_swept_solid_mim; -USE FROM Default_tolerance_mim; -USE FROM Design_product_data_management_mim; -USE FROM Dimension_and_tolerance_callouts_mim; -USE FROM Dimension_tolerance_mim; -USE FROM Drawing_definition_mim; -USE FROM Elementary_boundary_representation_mim; -USE FROM External_currency_mim; -USE FROM External_representation_item_mim; -USE FROM Geometric_tolerance_mim; -USE FROM Geometric_validation_property_representation_mim; -USE FROM Inertia_characteristics_mim; -USE FROM Manifold_subsurface_mim; -USE FROM Mechanical_design_presentation_representation_with_draughting_mim; -USE FROM Modified_swept_solid_mim; -USE FROM Part_and_zone_laminate_tables_mim; -USE FROM Picture_representation_mim; -USE FROM Planned_characteristic_mim; -USE FROM Ply_orientation_specification_mim; -USE FROM Shape_feature_mim; -USE FROM Solid_with_local_modification_mim; -USE FROM Surface_conditions_mim; -USE FROM Text_representation_mim; -USE FROM Thickened_face_solid_mim; -USE FROM Wireframe_2d_mim; -USE FROM Model_based_3d_geometrical_dimensioning_and_tolerancing_representation_mim; -USE FROM Product_and_manufacturing_annotation_presentation_mim; -USE FROM Change_management_mim; -USE FROM Sketch_mim; -USE FROM Tessellated_geometry_mim; -USE FROM Edge_shape_feature_mim; -USE FROM Point_direction_model_mim; -USE FROM Numerical_interface_mim; - - -USE FROM application_context_schema - (application_context, - application_protocol_definition, - product_context, - product_definition_context); -USE FROM product_concept_schema(product_concept_relationship); -USE FROM product_definition_schema( - product_definition_context_role, - product_category_relationship); -REFERENCE FROM support_resource_schema - (bag_to_set, - type_check_function); -USE FROM product_property_representation_schema - (item_identified_representation_usage_definition); -REFERENCE FROM representation_schema(founded_item); -*) - -CONSTANT -schema_date_stamp : STRING := 'Feb 19 18:28:57 2013'; - -(* Implicit interfaced from: mathematical_functions_schema *) - the_integer_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_integers); - - deprecated_constructed_data_types : SET OF STRING := - ['approved_item', - 'certified_item', - 'change_request_item', - 'contracted_item', - 'cc_classified_item', - 'date_time_item', - 'cc_person_organization_item', - 'cc_specified_item', - 'start_request_item', - 'work_item']; - - deprecated_entity_data_types : SET OF STRING := - ['cc_design_approval', - 'cc_design_certification', - 'cc_design_contract', - 'cc_design_date_and_time_assignment', - 'cc_design_person_and_organization_assignment', - 'cc_design_security_classification', - 'cc_design_specification_reference', - 'change', - 'change_request', - 'design_context', - 'design_make_from_relationship', - 'mechanical_context', - 'product_category_relationship', - 'start_request', - 'start_work', - 'supplied_part_relationship']; - -(* Implicit interfaced from: Picture_representation_mim *) - pre_defined_picture_representation_types : SET [0:?] OF STRING := [ 'JPEG', 'PNG', 'TIFF', 'BMP', 'GIF']; - -(* Implicit interfaced from: geometry_schema *) - dummy_gri : geometric_representation_item := representation_item('')|| geometric_representation_item(); - -(* Implicit interfaced from: mathematical_functions_schema *) schema_prefix : STRING := 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'; - -(* Implicit interfaced from: mathematical_functions_schema *) - the_empty_maths_tuple : maths_tuple := []; - -(* Implicit interfaced from: mathematical_functions_schema *) - the_empty_space : finite_space := make_finite_space([]); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_zero_tuple_space : listed_product_space := make_listed_product_space([]); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_reals : elementary_space := make_elementary_space(es_reals); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_generics); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_generics : elementary_space := make_elementary_space(es_generics); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_logicals : elementary_space := make_elementary_space(es_logicals); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_integers : elementary_space := make_elementary_space(es_integers); - - deprecated_interfaced_data_types : SET OF STRING := - ['document_with_class', - 'ordinal_date', - 'product_definition_formation_with_specified_source', - 'week_of_year_and_day_date']; - -(* Implicit interfaced from: mathematical_functions_schema *) - the_real_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_reals); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_nonnegative_reals : real_interval_from_min := - make_real_interval_from_min(0.0, closed); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_neg1_one_interval : finite_real_interval := make_finite_real_interval( - -1.0, closed, 1.0, closed); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_complex_numbers : elementary_space := make_elementary_space(es_complex_numbers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_complex_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_complex_numbers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_strings : elementary_space := make_elementary_space(es_strings); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_numbers : elementary_space := make_elementary_space(es_numbers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_binarys : elementary_space := make_elementary_space(es_binarys); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_maths_spaces : elementary_space := make_elementary_space(es_maths_spaces); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_booleans : elementary_space := make_elementary_space(es_booleans); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_zero_pi_interval : finite_real_interval := make_finite_real_interval( - 0.0, closed, pi, closed); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_neghalfpi_halfpi_interval : finite_real_interval := make_finite_real_interval( - -0.5*pi, closed, 0.5*pi, closed); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_negpi_pi_interval : finite_real_interval := make_finite_real_interval( - -pi, open, pi, closed); - -(* Implicit interfaced from: topology_schema *) - dummy_tri : topological_representation_item := representation_item('')|| - topological_representation_item(); - -END_CONSTANT; -(* USED FROM (measure_schema); *) - TYPE volume_measure = REAL; - END_TYPE; - -(* Pruned unused type: item_identified_representation_usage_definition_242 *) - - -(* Pruned unused type: draughting_model_item_definition_242 *) - - -(* Pruned unused type: ap242_change_management_object *) - - -(* Pruned unused type: ap242_change_relationship_select *) - - -(* Pruned unused type: action_request_item_242 *) - - -(* Pruned unused type: aliasable_item_242 *) - - -(* Pruned unused type: approval_item_242 *) - - - TYPE approved_item = SELECT - (certification, - change, - change_request, - configuration_effectivity, - configuration_item, - contract, - product, - security_classification, - start_request, - start_work); - END_TYPE; - -(* Pruned unused type: attribute_language_item_242 *) - - -(* Pruned unused type: certification_item_242 *) - - - TYPE certified_item = SELECT - (supplied_part_relationship); - END_TYPE; - - TYPE change_request_item = SELECT - (product_definition_formation); - END_TYPE; - - TYPE cc_classified_item = SELECT - (assembly_component_usage, - product_definition_formation); - END_TYPE; - -(* Pruned unused type: contract_item_242 *) - - - TYPE contracted_item = SELECT - (product_definition_formation); - END_TYPE; - -(* Pruned unused type: date_and_time_item_242 *) - - -(* Pruned unused type: date_item_242 *) - - - TYPE date_time_item = SELECT - (approval_person_organization, - certification, - change, - change_request, - contract, - product_definition, - security_classification, - start_request, - start_work); - END_TYPE; - -(* Pruned unused type: document_reference_item_242 *) - - -(* Pruned unused type: effectivity_item_242 *) - - -(* Pruned unused type: event_occurrence_item_242 *) - - -(* Pruned unused type: external_identification_item_242 *) - - -(* Pruned unused type: groupable_item_242 *) - - -(* Pruned unused type: identification_item_242 *) - - -(* Pruned unused type: multi_language_attribute_item_242 *) - - -(* Pruned unused type: organization_item_242 *) - - -(* Pruned unused type: organizational_project_item_242 *) - - -(* Pruned unused type: person_and_organization_item_242 *) - - - TYPE cc_person_organization_item = SELECT - (change, - change_request, - configuration_item, - contract, - product, - product_definition, - product_definition_formation, - security_classification, - start_request, - start_work); - END_TYPE; - -(* Pruned unused type: presented_item_select_242 *) - - -(* Pruned unused type: security_classification_item_242 *) - - - TYPE cc_specified_item = SELECT - (product_definition, - shape_aspect); - END_TYPE; - - TYPE start_request_item = SELECT - (product_definition_formation); - END_TYPE; - -(* Pruned unused type: time_interval_item_242 *) - - -(* Pruned unused type: action_items_242 *) - - -(* Pruned unused type: classification_item_242 *) - - -(* Pruned unused type: configured_effectivity_item_242 *) - - - TYPE work_item = SELECT - (product_definition_formation); - END_TYPE; -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE inspected_ecdq_element_select = inspected_element_select; -END_TYPE; - - -(* Pruned unused type: csg2d_bounded_primitive_2d *) - -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE boolean_operand_2d = SELECT ( - bounded_primitive_2d, - boolean_result_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE compound_inner_area_boundary = SELECT ( - set_inner_area_boundary); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE csg_2d_area_select = SELECT ( - axis2_placement_2d, - csg_primitive_solid_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE csg_2d_shape_select = SELECT ( - mapped_item, - axis2_placement_2d, - csg_solid_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE csg_select_2d = SELECT ( - bounded_primitive_2d, - boolean_result_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE set_inner_area_boundary = SET [1:?] OF bounded_primitive_2d; - END_TYPE; - -(* Pruned unused type: dt_document_reference_item *) - - -(* Pruned unused type: design_pdm_action_item *) - - -(* Pruned unused type: design_pdm_action_method_items *) - - -(* Pruned unused type: design_pdm_action_request_item *) - - -(* Pruned unused type: design_pdm_approval_item *) - - -(* Pruned unused type: design_pdm_attribute_classification_item *) - - -(* Pruned unused type: design_pdm_attribute_language_item *) - - -(* Pruned unused type: design_pdm_certification_item *) - - -(* Pruned unused type: design_pdm_classification_item *) - - -(* Pruned unused type: design_pdm_configured_effectivity_item *) - - -(* Pruned unused type: design_pdm_contract_item *) - - -(* Pruned unused type: design_pdm_date_and_time_item *) - - -(* Pruned unused type: design_pdm_date_item *) - - -(* Pruned unused type: design_pdm_document_reference_item *) - - -(* Pruned unused type: design_pdm_effectivity_item *) - - -(* Pruned unused type: design_pdm_event_occurrence_item *) - - -(* Pruned unused type: design_pdm_groupable_item *) - - -(* Pruned unused type: design_pdm_identification_item *) - - -(* Pruned unused type: design_pdm_ir_usage_item *) - - -(* Pruned unused type: design_pdm_multi_language_attribute_item *) - - -(* Pruned unused type: design_pdm_name_item *) - - -(* Pruned unused type: design_pdm_organization_item *) - - -(* Pruned unused type: design_pdm_project_item *) - - -(* Pruned unused type: design_pdm_person_and_organization_item *) - - -(* Pruned unused type: design_pdm_requirement_assigned_item *) - - -(* Pruned unused type: design_pdm_requirement_source_item *) - - -(* Pruned unused type: design_pdm_security_classification_item *) - - -(* Pruned unused type: promissory_usage_in_product_model_assigned_item *) - - -(* Pruned unused type: design_pdm_time_interval_item *) - - -(* Pruned unused type: datc_draughting_model_item_definition *) - - -(* Pruned unused type: dimensioning_standard_document_reference_item *) - - -(* Pruned unused type: dimension_identification_item *) - - -(* Pruned unused type: dimension_tolerance_document_reference_item *) - - -(* Pruned unused type: eri_external_identification *) - -(* USED FROM (Mechanical_design_presentation_representation_with_draughting_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE mechanical_design_and_draughting_relationship_select = SELECT ( - draughting_model, - mechanical_design_geometric_presentation_representation, - mechanical_design_presentation_representation_with_draughting, - mechanical_design_shaded_presentation_representation, - shape_representation); -END_TYPE; - -(* USED FROM (Picture_representation_mim); *) - TYPE picture_representation_item_select = SELECT ( - styled_item, - planar_box, - axis2_placement_2d); - END_TYPE; - -(* Pruned unused type: pr_external_identification_item *) - - -(* Pruned unused type: pc_action_items *) - -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE angle_direction_reference_select = SELECT ( - direction, - curve, - point_path); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE angle_direction_reference_with_a2p3d_select = SELECT ( - angle_direction_reference_select, - axis2_placement_3d); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE orientation_basis_select = SELECT ( - axis2_placement_3d, - min_and_major_ply_orientation_basis); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE point_and_vector_member = SELECT (point, direction); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE point_and_vector_members = LIST [2:3] OF point_and_vector_member; - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE point_path_members = LIST [1:?] OF point_and_vector; - END_TYPE; - -(* Pruned unused type: mb3dgdtr_geometric_model_item *) - - -(* Pruned unused type: cm_approval_item *) - -(* USED FROM (Change_management_mim); *) -TYPE previous_element_assignment_select = SELECT (modify_element, delete_element); -END_TYPE; -(* USED FROM (Change_management_mim); *) -TYPE current_element_assignment_select = SELECT (modify_element, add_element); -END_TYPE; -(* USED FROM (Change_management_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE change_relationship_select = SELECT ( - action_relationship, - product_definition_formation_relationship, - product_definition_relationship, - shape_aspect_relationship); -END_TYPE; - -(* USED FROM (Change_management_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE change_management_object = SELECT ( - action, - action_items, - action_relationship, - class, - event_occurrence, - project_item); -END_TYPE; - -(* USED FROM (Change_management_mim); *) -TYPE location_in_aggregate_item = LIST [1:?] OF integer_representation_item; -END_TYPE; -(* USED FROM (Point_direction_model_mim); *) -TYPE point_placement_shape_representation_item = SELECT ( - compound_representation_item, - mapped_item, - axis2_placement_3d); -END_TYPE; -(* USED FROM (Numerical_interface_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE property_variable_rep_select = SELECT ( - dimensional_size, - representation); -END_TYPE; - -(* USED FROM (Numerical_interface_mim); *) -TYPE expression_extension_select = SELECT ( - expression_extension_string, - expression_extension_numeric); -END_TYPE; -(* USED FROM (product_property_representation_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE item_identified_representation_usage_definition = SELECT ( - applied_action_assignment, - applied_action_method_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_classification_assignment, - applied_contract_assignment, - applied_date_and_time_assignment, - applied_date_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_group_assignment, - applied_identification_assignment, - applied_ineffectivity_assignment, - applied_name_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - applied_time_interval_assignment, - applied_usage_right, - dimensional_size, - geometric_tolerance, - product_definition_relationship, - property_definition, - represented_definition); -END_TYPE; - - -(* Pruned unused type: effectivity_item_for_replacement *) - -(* USED FROM (Effectivity_application_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE effectivity_item = SELECT ( - action, - action_method, - action_method_relationship, - action_property, - action_relationship, - assembly_component_usage_substitute, - class, - class_system, - configuration_design, - configuration_item, - configured_effectivity_assignment, - document_file, - draughting_model, - drawing_revision, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification, - shape_aspect, - shape_representation); -END_TYPE; - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE role_select = SELECT ( - action_assignment, - action_request_assignment, - approval_assignment, - approval_date_time, - certification_assignment, - contract_assignment, - document_reference, - effectivity_assignment, - group_assignment, - name_assignment, - security_classification_assignment); -END_TYPE; - -(* USED FROM (Product_occurrence_mim); *) - TYPE product_definition_or_assembly_relationship = SELECT (assembly_component_usage, product_definition); - END_TYPE; - -(* Pruned unused type: at_requirement_assigned_item *) - - -(* Pruned unused type: at_external_identification_item *) - - -(* Pruned unused type: cf_groupable_item *) - -(* USED FROM (Requirement_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE requirement_assigned_item = SELECT ( - assembly_joint, - configuration_item, - descriptive_representation_item, - product, - product_class, - product_definition, - product_definition_formation, - product_definition_relationship, - representation, - shape_aspect); -END_TYPE; - -(* USED FROM (Requirement_assignment_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE requirement_satisfaction_item = SELECT ( - requirement_assigned_item); -END_TYPE; - -(* USED FROM (Requirement_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE requirement_source_item = SELECT ( - characterized_object, - group, - group_relationship, - product, - product_definition, - product_definition_formation, - product_definition_relationship, - shape_aspect); -END_TYPE; - - -(* Pruned unused type: pie_external_identification_item *) - - -(* Pruned unused type: bc_external_identification_item *) - -(* USED FROM (External_item_identification_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE external_identification_item = SELECT ( - action_relationship, - action_request_status, - applied_organization_assignment, - applied_person_and_organization_assignment, - approval, - approval_status, - assembly_bond_definition, - date_and_time_assignment, - date_assignment, - document_file, - external_source, - externally_defined_class, - externally_defined_context_dependent_unit, - externally_defined_conversion_based_unit, - externally_defined_general_property, - externally_defined_picture_representation_item, - externally_defined_representation_item, - generic_product_definition_reference, - organizational_address, - product_definition, - security_classification, - trimmed_curve, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: representation_identification_item *) - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE description_attribute_select = SELECT ( - action_request_solution, - application_context, - approval_role, - configuration_design, - context_dependent_shape_representation, - date_role, - date_time_role, - effectivity, - external_source, - organization_role, - organizational_project, - person_and_organization, - person_and_organization_role, - property_definition_representation, - representation); -END_TYPE; - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE id_attribute_select = SELECT ( - action, - address, - application_context, - dimensional_size, - geometric_tolerance, - group, - organizational_project, - product_category, - property_definition, - representation, - shape_aspect, - shape_aspect_relationship); -END_TYPE; - -(* USED FROM (product_data_quality_criteria_schema); *) - TYPE detailed_report_type = ENUMERATION OF - (measured_element, - inferior_quality_element); - END_TYPE; -(* USED FROM (product_data_quality_criteria_schema); *) - TYPE summary_report_type = ENUMERATION OF - (unspecified, - conclusion_only, - number_of_quality_defects, - number_of_inspections_and_conclusion, - full_statistics); - END_TYPE; -(* USED FROM (product_data_quality_criteria_schema); *) - TYPE preferred_ordering = ENUMERATION OF - (extremity_order, - detected_order); - END_TYPE; - -(* Pruned unused type: pdq_date_and_time_item *) - - -(* Pruned unused type: pdq_person_and_organization_item *) - - -(* Pruned unused type: pdq_date_item *) - - -(* Pruned unused type: pqd_organization_item *) - -(* USED FROM (Date_time_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE date_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval_person_organization, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - directed_action, - document, - document_file, - draughting_model, - drawing_revision, - effectivity, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Date_time_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE date_and_time_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval_person_organization, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - directed_action, - document, - document_file, - draughting_model, - drawing_revision, - effectivity, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - rule_action, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Person_organization_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE organization_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - document_file, - document_type, - draughting_model, - drawing_revision, - effectivity, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - rule_action, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Person_organization_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE person_and_organization_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - document_file, - document_type, - draughting_model, - drawing_revision, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - rule_action, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE name_attribute_select = SELECT ( - action_request_solution, - address, - configuration_design, - context_dependent_shape_representation, - derived_unit, - effectivity, - person_and_organization, - product_definition, - product_definition_substitute, - property_definition_representation); -END_TYPE; - -(* USED FROM (product_data_quality_definition_schema); *) - TYPE used_quality_representation_select = SELECT - (data_quality_criteria_representation, - data_quality_inspection_result_representation); - END_TYPE; -(* USED FROM (product_data_quality_inspection_result_schema); *) - TYPE statistical_value_type = ENUMERATION OF - (number_of_inspected_instances, - number_of_quality_defects_detected); - END_TYPE; -(* USED FROM (product_data_quality_inspection_result_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE inspected_element_select = SELECT ( - assembly_component_usage, - axis2_placement_3d, - b_spline_or_composite_curve_select, - b_spline_or_rectangular_composite_surface_select, - cartesian_transformation_operator_3d, - closed_or_open_shell_select, - connected_face_set, - curve, - direction, - edge_curve, - edge_loop, - face_surface, - global_uncertainty_assigned_context, - global_unit_assigned_context, - group, - manifold_solid_brep, - placement, - point, - presentation_layer_assignment, - representation_item, - styled_item, - surface, - vertex_point); -END_TYPE; - -(* USED FROM (shape_data_quality_criteria_schema); *) - TYPE shape_data_quality_assessment_specification_select = SELECT - (shape_data_quality_assessment_by_logical_test, - shape_data_quality_assessment_by_numerical_test); - END_TYPE; -(* USED FROM (shape_data_quality_criteria_schema); *) - TYPE shape_data_quality_value_limit_type_select = SELECT - (shape_data_quality_value_range, - shape_data_quality_value_limit); - END_TYPE; -(* USED FROM (representation_schema); *) - TYPE compound_item_definition = SELECT - (list_representation_item, - set_representation_item); - END_TYPE; -(* USED FROM (representation_schema); *) - TYPE list_representation_item = LIST [1:?] OF representation_item; - END_TYPE; -(* USED FROM (representation_schema); *) - TYPE set_representation_item = SET [1:?] OF representation_item; - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE measured_value_select = SELECT - (boolean_value, - measure_value, - plane_angle_and_ratio_pair, - plane_angle_and_length_pair); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE boolean_value = BOOLEAN; - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE location_of_extreme_value_select = SELECT - (inspected_shape_element_select, - b_spline_surface_knot_locator, - b_spline_curve_knot_locator, - b_spline_curve_segment, - b_spline_surface_strip, - b_spline_surface_patch, - composite_curve_transition_locator, - rectangular_composite_surface_transition_locator, - boundary_curve_of_b_spline_or_rectangular_composite_surface, - oriented_edge, - face_bound, - point_on_edge_curve, - point_on_face_surface, - subedge, - subface); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE inspected_shape_element_select = inspected_element_select; -END_TYPE; - -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE closed_or_open_shell_select = SELECT - (closed_shell, - open_shell); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE b_spline_or_composite_curve_select = SELECT - (b_spline_curve, - composite_curve); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE b_spline_or_rectangular_composite_surface_select = SELECT - (b_spline_surface, - rectangular_composite_surface); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE u_or_v_parameter = ENUMERATION OF - (u_parameter, - v_parameter); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) -TYPE surface_boundary_type = ENUMERATION OF - (u_parameter_min, - v_parameter_min, - u_parameter_max, - v_parameter_max); - END_TYPE; -(* USED FROM (Shape_property_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE geometric_model_item = SELECT ( - connected_face_set, - edge_loop, - geometric_representation_item); -END_TYPE; - -(* USED FROM (Shape_property_assignment_mim); *) -TYPE geometric_item_specific_usage_select = SELECT - (shape_aspect, - shape_aspect_relationship); -END_TYPE; -(* USED FROM (Shape_property_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE shape_model = SELECT ( - constructive_geometry_representation, - shape_representation); -END_TYPE; - - -(* Pruned unused type: appearance_representation_identification_item *) - -(* USED FROM (presentation_appearance_schema); *) - TYPE style_context_select = SELECT - (group, - presentation_layer_assignment, - presentation_set, - representation, - representation_item, - representation_relationship); - END_TYPE; -(* USED FROM (Identification_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE identification_item = SELECT ( - action, - action_directive, - action_method, - action_property, - applied_identification_assignment, - approval_status, - characterized_class, - class, - class_system, - configuration_item, - contract, - dimensional_size, - document_file, - document_type, - draughting_model, - effectivity, - general_property, - group, - group_relationship, - information_right, - information_usage_right, - material_designation, - measure_representation_item, - mechanical_design_geometric_presentation_representation, - organization, - organizational_project, - person_and_organization, - presentation_area, - product, - product_category, - product_class, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_formation, - product_definition_relationship, - product_identification, - property_definition, - property_definition_relationship, - representation, - rule_set, - security_classification, - security_classification_level, - shape_aspect_relationship, - shape_representation, - usage_association, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: ecdq_document_reference_item *) - -(* USED FROM (Document_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE document_reference_item = SELECT ( - action_directive, - action_method, - action_relationship, - applied_action_assignment, - applied_external_identification_assignment, - approval, - assembly_component_usage, - certification, - characterized_class, - characterized_object, - class, - class_system, - configuration_design, - configuration_item, - contract, - descriptive_representation_item, - dimensional_size, - executed_action, - externally_conditioned_data_quality_criterion, - externally_defined_dimension_definition, - externally_defined_item, - feature_definition, - general_property, - group, - group_relationship, - information_right, - information_usage_right, - material_designation, - measure_representation_item, - organization, - organizational_project, - person, - presentation_area, - process_plan, - product, - product_category, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_process, - product_definition_relationship, - product_definition_substitute, - product_related_product_category, - property_definition, - representation, - representation_item, - resource_requirement_type, - retention, - rule_set, - security_classification, - shape_aspect, - shape_aspect_relationship, - usage_association, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: document_location_select *) - - -(* Pruned unused type: file_identification_item *) - - -(* Pruned unused type: file_location_select *) - -(* USED FROM (Group_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE groupable_item = SELECT ( - applied_identification_assignment, - applied_name_assignment, - component_feature, - geometric_representation_item, - group_relationship, - mapped_item, - package_product_concept_feature, - product_concept_feature, - product_definition, - product_definition_formation, - property_definition_representation, - representation, - representation_item, - representation_relationship_with_transformation, - shape_aspect, - shape_aspect_relationship, - shape_representation_relationship, - styled_item, - topological_representation_item); - WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GROUP' IN TYPEOF(SELF)); -END_TYPE; -(* USED FROM (explicit_constraint_schema); *) -TYPE constraint_group_member = SELECT - (explicit_constraint, - simultaneous_constraint_group); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE geometric_constraint_element = SELECT - (point, - curve, - surface, - vector, - direction); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE point_curve_or_surface_constraint_element = SELECT - (point, - curve, - surface); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE curve_or_surface_constraint_element = SELECT - (curve, - surface); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE linear_geometry_constraint_element = SELECT - (line, - plane, - direction, - vector); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE radial_geometry_constraint_element = SELECT - (circle, - cylindrical_surface, - conical_surface, - spherical_surface, - right_circular_cylinder, - right_circular_cone, - sphere); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE axial_geometry_constraint_element = SELECT - (point, - line, - circle, - plane, - cylindrical_surface, - conical_surface, - spherical_surface, - toroidal_surface, - surface_of_revolution, - sphere, - right_circular_cone, - right_circular_cylinder, - torus, - revolved_face_solid, - revolved_area_solid); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE swept_surface_or_solid = SELECT - (swept_surface, - swept_face_solid, - swept_area_solid); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE tangent_contact_type = ENUMERATION OF - (point_contact, - curve_contact, - surface_contact); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE parallel_offset_type = ENUMERATION OF - (curve_2d_offset, - curve_3d_offset, - surface_offset); -END_TYPE; -(* USED FROM (Specification_document_mim); *) - TYPE document_identifier_assigned_item = SELECT - (document); - END_TYPE; - -(* Pruned unused type: sd_document_reference_item *) - - -(* Pruned unused type: machining_feature_definition *) - -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -TYPE kinematic_analysis_definition = SELECT - (interpolated_configuration_sequence, - prescribed_path); -END_TYPE; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -TYPE kinematic_result = SELECT - (interpolated_configuration_sequence, - resulting_path); -END_TYPE; -(* USED FROM (Specification_control_mim); *) - TYPE class_usage_effectivity_context_item = SELECT - (product_definition); - END_TYPE; - -(* Pruned unused type: effectivity_specification_for_replacement *) - -(* USED FROM (Specification_control_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE instance_usage_context_select = SELECT ( - product_definition_relationship, - product_definition_usage); -END_TYPE; - -(* USED FROM (geometric_model_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE bounded_primitive_2d = SELECT ( - area_with_outer_boundary, - circular_area, - elliptic_area, - path_area_with_parameters, - polygonal_area, - rectangular_area); -END_TYPE; - - -(* Pruned unused type: pr_action_items *) - - -(* Pruned unused type: pr_date_and_time_item *) - - -(* Pruned unused type: pr_document_reference_item *) - - -(* Pruned unused type: pr_identification_item *) - - -(* Pruned unused type: pr_organization_item *) - - -(* Pruned unused type: pr_person_and_organization_item *) - -(* USED FROM (Production_rule_mim); *) -TYPE rule_superseded_item = SELECT - (product_definition_formation); -END_TYPE; - -(* Pruned unused type: product_as_individual_identification_item *) - -(* USED FROM (Activity_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE action_items = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_person_and_organization_assignment, - approval_status, - assembly_component_usage_substitute, - certification, - certification_item, - characterized_object, - class, - class_system, - classification_item, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - document_file, - document_reference_item, - draughting_model, - drawing_revision, - evaluated_characteristic, - executed_action, - general_property, - identification_item, - material_designation, - mechanical_design_geometric_presentation_representation, - organization, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_assigned_item, - requirement_for_action_resource, - resource_property, - security_classification, - security_classification_level, - shape_aspect, - shape_representation, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: classification_item_extended *) - - -(* Pruned unused type: classification_identification_item *) - - -(* Pruned unused type: classification_classification_item *) - -(* USED FROM (Classification_with_attributes_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE classified_item = SELECT ( - product, - product_definition, - product_definition_formation); -END_TYPE; - - -(* Pruned unused type: cwa_identification_item *) - -(* USED FROM (Classification_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE classification_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - action_request_status, - address, - alternate_product_relationship, - applied_action_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_contract_assignment, - applied_date_and_time_assignment, - applied_date_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval, - approval_person_organization, - approval_relationship, - approval_status, - assembly_component_usage_substitute, - calendar_date, - certification, - characterized_class, - characterized_object, - class, - classified_item, - configuration_item, - context_dependent_unit, - contract, - conversion_based_unit, - date_and_time, - date_and_time_assignment, - date_assignment, - derived_unit, - descriptive_representation_item, - directed_action, - document_file, - document_relationship, - document_type, - effectivity, - event_occurrence, - executed_action, - feature_definition, - general_feature, - general_property, - general_property_relationship, - group, - identification_assignment, - information_right, - information_usage_right, - language, - material_designation, - measure_representation_item, - measure_with_unit, - multi_language_attribute_assignment, - named_unit, - organization, - organization_relationship, - organizational_address, - organizational_project, - organizational_project_relationship, - person, - person_and_organization_address, - plus_minus_tolerance, - process_operation, - product, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - property_definition, - property_definition_representation, - representation, - representation_context, - representation_item, - resource_property, - security_classification, - security_classification_level, - shape_aspect, - uncertainty_measure_with_unit, - usage_association, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: plib_class_identification_item *) - - -(* Pruned unused type: plib_class_organization_item *) - - -(* Pruned unused type: ir_approval_item *) - - -(* Pruned unused type: ir_contract_item *) - - -(* Pruned unused type: ir_date_and_time_item *) - - -(* Pruned unused type: ir_date_item *) - - -(* Pruned unused type: ir_identification_item *) - - -(* Pruned unused type: ir_organization_item *) - - -(* Pruned unused type: ir_person_and_organization_item *) - -(* USED FROM (Information_rights_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE ir_usage_item = action_items; -END_TYPE; - - -(* Pruned unused type: pdpdms_person_and_organization_item *) - - -(* Pruned unused type: pdpdms_external_identification_item *) - - -(* Pruned unused type: pdm_action_items *) - - -(* Pruned unused type: pdm_action_request_item *) - - -(* Pruned unused type: pdm_approval_item *) - - -(* Pruned unused type: pdm_attribute_language_item *) - - -(* Pruned unused type: pdm_certification_item *) - - -(* Pruned unused type: pdm_classification_item *) - - -(* Pruned unused type: pdm_date_and_time_item *) - - -(* Pruned unused type: pdm_date_item *) - - -(* Pruned unused type: pdm_document_reference_item *) - - -(* Pruned unused type: pdm_effectivity_item *) - - -(* Pruned unused type: pdm_event_occurrence_item *) - - -(* Pruned unused type: pdm_external_class_name_item *) - - -(* Pruned unused type: pdm_identification_item *) - - -(* Pruned unused type: pdm_multi_language_attribute_item *) - - -(* Pruned unused type: pdm_organization_item *) - - -(* Pruned unused type: pdm_person_and_organization_item *) - - -(* Pruned unused type: pdm_project_item *) - - -(* Pruned unused type: pdm_security_classification_item *) - - -(* Pruned unused type: pdm_time_interval_item *) - -(* USED FROM (Activity_method_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE action_method_items = SELECT ( - action, - action_method, - action_property, - applied_action_assignment, - configuration_design, - contract, - document_file, - event_occurrence, - organization, - organizational_project, - person, - person_and_organization, - product, - product_concept, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - property_definition); -END_TYPE; - -(* USED FROM (Attribute_classification_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE attribute_classification_item = SELECT ( - action_directive, - action_method, - action_property, - action_property_representation, - action_relationship, - action_request_solution, - action_request_status, - alternate_product_relationship, - applied_action_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - approval, - approval_person_organization, - approval_relationship, - approval_status, - certification, - context_dependent_unit, - contract, - date_and_time_assignment, - date_assignment, - derived_unit, - descriptive_representation_item, - document_file, - document_relationship, - effectivity, - event_occurrence_relationship, - executed_action, - general_property, - general_property_relationship, - group, - group_relationship, - information_right, - information_usage_right, - language, - measure_representation_item, - measure_with_unit, - named_unit, - organization_relationship, - organizational_address, - organizational_project_relationship, - person_and_organization, - person_and_organization_address, - product, - product_category, - product_concept, - product_concept_context, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - property_definition, - property_definition_relationship, - property_definition_representation, - representation, - representation_context, - representation_item, - security_classification, - time_interval_relationship, - uncertainty_measure_with_unit, - usage_association, - versioned_action_request); -END_TYPE; - -(* USED FROM (Associative_draughting_elements_mim); *) -TYPE draughting_model_item_association_select = SELECT ( - annotation_occurrence, - draughting_callout); -END_TYPE; -(* USED FROM (Associative_draughting_elements_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE draughting_model_item_definition = SELECT ( - applied_action_assignment, - applied_action_method_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_classification_assignment, - applied_contract_assignment, - applied_date_and_time_assignment, - applied_date_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_group_assignment, - applied_identification_assignment, - applied_ineffectivity_assignment, - applied_name_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - applied_time_interval_assignment, - applied_usage_right, - dimensional_size, - geometric_tolerance, - product_definition_relationship, - product_definition_shape, - property_definition, - shape_aspect, - shape_aspect_relationship); -END_TYPE; - - -(* Pruned unused type: aade_annotation_representation_select *) - - -(* Pruned unused type: aade_invisibility_context *) - -(* USED FROM (aic_associative_draughting_elements); *) - TYPE draughting_model_item_select = SELECT - (mapped_item, - styled_item, - axis2_placement, - camera_model, - draughting_callout); - END_TYPE; -(* USED FROM (product_property_definition_schema); *) - TYPE shape_definition = SELECT (product_definition_shape, shape_aspect, shape_aspect_relationship); - END_TYPE; - -(* Pruned unused type: dse_shape_model *) - -(* USED FROM (Construction_geometry_mim); *) - TYPE constructive_geometry_representation_or_shape_represenation = SELECT - (constructive_geometry_representation, - shape_representation); - END_TYPE; - -(* Pruned unused type: sd_id_attribute_select *) - -(* USED FROM (shape_dimension_schema); *) -TYPE angle_relator = ENUMERATION OF - (equal, - large, - small); -END_TYPE; -(* USED FROM (shape_dimension_schema); *) -TYPE dimensional_characteristic = SELECT - (dimensional_location, - dimensional_size); -END_TYPE; - -(* Pruned unused type: sds_item_identified_representation_usage_definition *) - -(* USED FROM (shape_dimension_schema); *) -TYPE shape_dimension_representation_item = SELECT - (compound_representation_item, - descriptive_representation_item, - measure_representation_item, - placement); -END_TYPE; -(* USED FROM (shape_tolerance_schema); *) -TYPE tolerance_method_definition = SELECT - (limits_and_fits, - tolerance_value); -END_TYPE; -(* USED FROM (aic_draughting_annotation); *) -TYPE draughting_subfigure_representation_item = SELECT ( - annotation_occurrence, - draughting_callout, - axis2_placement); -END_TYPE; -(* USED FROM (aic_draughting_annotation); *) -TYPE draughting_symbol_representation_item = SELECT ( - annotation_curve_occurrence, - annotation_symbol_occurrence, - annotation_fill_area_occurrence, - annotation_text_occurrence, - axis2_placement); -END_TYPE; -(* USED FROM (Presentation_hierarchy_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE presented_item_select = SELECT ( - action, - action_method, - action_relationship, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_formation, - product_definition_relationship); -END_TYPE; - -(* USED FROM (drawing_definition_schema); *) -TYPE draughting_titled_item = SELECT - (drawing_revision, - drawing_sheet_revision); -END_TYPE; - -(* Pruned unused type: s_name_attribute_select *) - -(* USED FROM (measure_schema); *) - TYPE absorbed_dose_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) -TYPE acceleration_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE radioactivity_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) -TYPE amount_of_substance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE area_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE celsius_temperature_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE context_dependent_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE count_measure = NUMBER; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE descriptive_measure = STRING; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE capacitance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE dose_equivalent_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE electric_charge_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE electric_current_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE conductance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE electric_potential_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE energy_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE force_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE frequency_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE magnetic_flux_density_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE illuminance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE inductance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE length_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE luminous_intensity_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE luminous_flux_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE mass_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE measure_value = SELECT - (absorbed_dose_measure, - dose_equivalent_measure, - radioactivity_measure, - acceleration_measure, - amount_of_substance_measure, - area_measure, - celsius_temperature_measure, - context_dependent_measure, - count_measure, - descriptive_measure, - capacitance_measure, - electric_charge_measure, - conductance_measure, - electric_current_measure, - electric_potential_measure, - energy_measure, - magnetic_flux_density_measure, - force_measure, - frequency_measure, - illuminance_measure, - inductance_measure, - length_measure, - luminous_flux_measure, - luminous_intensity_measure, - magnetic_flux_measure, - mass_measure, - numeric_measure, - non_negative_length_measure, - parameter_value, - plane_angle_measure, - positive_length_measure, - positive_plane_angle_measure, - positive_ratio_measure, - power_measure, - pressure_measure, - ratio_measure, - resistance_measure, - solid_angle_measure, - thermodynamic_temperature_measure, - time_measure, - velocity_measure, - volume_measure); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE magnetic_flux_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE non_negative_length_measure = length_measure; - WHERE - WR1: SELF >= 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE numeric_measure = NUMBER; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE parameter_value = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE plane_angle_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE positive_length_measure = non_negative_length_measure; - WHERE - WR1: SELF > 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE positive_plane_angle_measure = plane_angle_measure; - WHERE - WR1: SELF > 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE positive_ratio_measure = ratio_measure; - WHERE - WR1: SELF > 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE power_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE pressure_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE ratio_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE resistance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE si_prefix = ENUMERATION OF (exa, peta, tera, giga, mega, kilo, hecto, deca, deci, centi, milli, micro, nano, pico, femto, atto); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE si_unit_name = ENUMERATION OF (metre, gram, second, ampere, kelvin, mole, candela, radian, steradian, hertz, newton, pascal, joule, watt, coulomb, volt, farad, ohm, siemens, weber, tesla, henry, degree_Celsius, lumen, lux, becquerel, gray, sievert); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE solid_angle_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE thermodynamic_temperature_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE time_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE unit = SELECT (derived_unit, named_unit); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE velocity_measure = REAL; - END_TYPE; - -(* Pruned unused type: property_variable_rep_select_242 *) - - -(* Pruned unused type: eu_external_identification_item *) - - -(* Pruned unused type: el_external_identification_item *) - - -(* Implicit interfaced from: geometry_schema *) -TYPE b_spline_curve_form = ENUMERATION OF - (polyline_form, - circular_arc, - elliptic_arc, - parabolic_arc, - hyperbolic_arc, - unspecified); -END_TYPE; -(* USED FROM (shape_aspect_definition_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE simple_datum_reference_modifier = ENUMERATION OF ( - any_cross_section, - any_longitudinal_section, - basic, - contacting_feature, - degree_of_freedom_constraint_u, - degree_of_freedom_constraint_v, - degree_of_freedom_constraint_w, - degree_of_freedom_constraint_x, - degree_of_freedom_constraint_y, - degree_of_freedom_constraint_z, - distance_variable, - free_state, - least_material_requirement, - line, - major_diameter, - maximum_material_requirement, - minor_diameter, - orientation, - pitch_diameter, - plane, - point, - translation); -END_TYPE; - -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - TYPE mechanical_design_geometric_presentation_area_items = SELECT( - axis2_placement, - mapped_item); - END_TYPE; -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - TYPE mechanical_design_geometric_presentation_representation_items = SELECT( - axis2_placement, - camera_model_d3, - mapped_item, - styled_item); - END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE trim_condition_select = SELECT - (length_measure, - plane_angle_measure, - generalized_surface_select, - solid_model); -END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE trim_intent = ENUMERATION OF - (blind, - offset, - through_all, - unspecified, - up_to_next); -END_TYPE; - -(* Pruned unused type: sm_approval_item *) - -(* USED FROM (support_resource_schema); *) - TYPE identifier = STRING; - END_TYPE; -(* USED FROM (procedural_shape_model_schema); *) -TYPE shape_representation_item = SELECT - (geometric_representation_item, - topological_representation_item); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -(* This SELECT set has been pruned. *) -TYPE csg_primitive = SELECT ( - block, - bounded_primitive_2d, - right_angular_wedge, - right_circular_cone, - right_circular_cylinder, - sphere, - torus); -END_TYPE; - -(* USED FROM (solid_shape_element_schema); *) -TYPE base_solid_select = SELECT - (solid_model, - csg_primitive, - boolean_result); -WHERE - WR1: NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRIMITIVE_2D' IN TYPEOF(SELF)); -END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE blend_radius_variation_type = ENUMERATION OF - (linear_blend, - cubic_blend, - unspecified_blend); -END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE blend_end_condition_select = SELECT - (point_on_curve, - edge_curve, - vertex); -END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_height = positive_ratio_measure; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_width = positive_ratio_measure; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_slant_angle = plane_angle_measure; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_rotate_angle = plane_angle_measure; - END_TYPE; -(* USED FROM (presentation_resource_schema); *) -TYPE font_select = SELECT - (pre_defined_text_font, - externally_defined_text_font, - text_font); -END_TYPE; -(* USED FROM (presentation_organization_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE annotation_representation_select = SELECT ( - draughting_model, - presentation_area, - presentation_view, - symbol_representation); -END_TYPE; - -(* USED FROM (Approval_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE approval_item = SELECT ( - action, - action_directive, - action_property, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_usage_right, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - date, - directed_action, - document, - document_file, - draughting_model, - drawing_revision, - effectivity, - executed_action, - frozen_assignment, - general_property, - general_property_relationship, - group, - group_relationship, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organizational_project, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - representation, - requirement_assignment, - resource_property, - security_classification, - shape_aspect_relationship, - shape_representation, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: date_and_time_item_approval *) - - -(* Pruned unused type: date_item_approval *) - -(* USED FROM (sketch_schema); *) -TYPE surface_or_solid_model = SELECT - (surface_model, - solid_model); -END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE presentation_style_select = SELECT ( - point_style, - curve_style, - surface_style_usage, - symbol_style, - fill_area_style, - text_style, - externally_defined_style, - null_style); -END_TYPE; - -(* USED FROM (sketch_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE sketch_element_select = SELECT ( - curve, - point); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(SELF); -END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE sketch_basis_select = SELECT - (planar_curve_select, - curve_bounded_surface, - face_surface); -END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE sketch_type_select = SELECT - (neutral_sketch_representation, - positioned_sketch, - subsketch); -END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE curves_or_area = ENUMERATION OF - (curves, area); -END_TYPE; - -(* Pruned unused type: terminator *) - -(* USED FROM (presentation_appearance_schema); *) - TYPE marker_select = SELECT - (marker_type, - pre_defined_marker); - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE marker_type = ENUMERATION OF - (dot, - x, - plus, - asterisk, - ring, - square, - triangle); - END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE edge_or_curve = SELECT - (curve, - edge); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE face_or_surface = SELECT - (face, - surface); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE path_or_composite_curve = SELECT - (composite_curve, - path); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE tessellated_edge_or_vertex = SELECT - (tessellated_edge, - tessellated_vertex); -END_TYPE; - -(* Pruned unused type: c_document_reference_item *) - - -(* Pruned unused type: external_identification_for_plib_property *) - - -(* Pruned unused type: event_occurrence_date_and_time_item *) - - -(* Pruned unused type: event_occurrence_date_item *) - - -(* Pruned unused type: id_for_product_identification *) - -(* USED FROM (product_property_definition_schema); *) - TYPE characterized_product_definition = SELECT ( - product_definition, - product_definition_relationship); - END_TYPE; - -(* Pruned unused type: spr_document_reference_item *) - - -(* Pruned unused type: spr_organization_item *) - - -(* Pruned unused type: spr_person_and_organization_item *) - -(* USED FROM (support_resource_schema); *) - TYPE label = STRING; - END_TYPE; -(* USED FROM (support_resource_schema); *) - TYPE text = STRING; - END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE product_space = SELECT - (uniform_product_space, - listed_product_space); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE tuple_space = SELECT - (product_space, - extended_tuple_space); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_number = NUMBER; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE elementary_space_enumerators = ENUMERATION OF - (es_numbers, - es_complex_numbers, - es_reals, - es_integers, - es_logicals, - es_booleans, - es_strings, - es_binarys, - es_maths_spaces, - es_maths_functions, - es_generics); -END_TYPE; -(* USED FROM (Tagged_text_representation_mim); *) -TYPE string_representation_item_select = SELECT( - descriptive_representation_item, - included_text_block, - structured_text_composition); -END_TYPE; - -(* Pruned unused type: representing_relationship *) - -(* USED FROM (kinematic_motion_representation_schema); *) -TYPE link_or_shape_representation = SELECT( - kinematic_link_representation, - shape_representation); -END_TYPE; -(* USED FROM (kinematic_motion_representation_schema); *) -TYPE interpolation_type = ENUMERATION OF - (undefined_interpolation_type, - discontinuous_interpolation_type, - synchronous_interpolation_type, - linear_interpolation_type); -END_TYPE; - -(* Pruned unused type: organization_item_solution *) - -(* USED FROM (Product_breakdown_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE product_definition_or_breakdown_element_usage = SELECT ( - product_definition, - product_definition_usage); -END_TYPE; - -(* USED FROM (Product_breakdown_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE product_definition_or_product_definition_relationship = SELECT ( - product_definition, - product_definition_usage); -END_TYPE; - - -(* Pruned unused type: requirement_identification_and_version_identification_item *) - -(* USED FROM (Specification_based_configuration_mim); *) -TYPE configured_effectivity_context_item = SELECT (product_concept_feature_association); -END_TYPE; -(* USED FROM (Specification_based_configuration_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE configured_effectivity_item = SELECT ( - action_relationship, - process_plan, - product_definition, - product_process_plan); -END_TYPE; - -(* USED FROM (Product_class_mim); *) -TYPE category_usage_item = SELECT (product_class); -END_TYPE; - -(* Pruned unused type: id_for_class *) - - -(* Pruned unused type: specification_for_category *) - -(* USED FROM (geometric_model_schema); *) -TYPE boolean_operand = SELECT - (boolean_result, - csg_primitive, - half_space_2d, - half_space_solid, - solid_model); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE boolean_operator = ENUMERATION OF - (union, - intersection, - difference); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE csg_select = SELECT - (boolean_result, - csg_primitive); -END_TYPE; - -(* Pruned unused type: external_class_name_item *) - -(* USED FROM (Name_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE name_item = SELECT ( - assembly_component_usage, - external_class_library, - group, - group_relationship, - product, - product_definition); -END_TYPE; - -(* USED FROM (Contract_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE contract_item = SELECT ( - action_directive, - alternate_product_relationship, - directed_action, - drawing_revision, - executed_action, - information_usage_right, - organization, - person_and_organization, - product, - product_definition_formation); -END_TYPE; - - -(* Pruned unused type: mri_aliasable_item *) - - -(* Pruned unused type: mri_approval_item *) - - -(* Pruned unused type: mri_attribute_language_item *) - - -(* Pruned unused type: mri_date_and_time_item *) - - -(* Pruned unused type: mri_date_item *) - - -(* Pruned unused type: mri_identification_item *) - - -(* Pruned unused type: mri_multi_language_attribute_item *) - - -(* Pruned unused type: mri_organization_item *) - - -(* Pruned unused type: mri_person_and_organization_item *) - -(* USED FROM (Security_classification_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE security_classification_item = SELECT ( - action, - action_directive, - action_property, - applied_action_assignment, - assembly_component_usage, - assembly_component_usage_substitute, - class_system, - configuration_design, - configuration_effectivity, - configured_effectivity_assignment, - document, - document_file, - draughting_model, - drawing_revision, - executed_action, - general_property, - make_from_usage_option, - material_designation, - mechanical_design_geometric_presentation_representation, - organizational_project, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_formation, - product_definition_relationship, - product_definition_usage, - property_definition, - resource_property, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Work_request_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE action_request_item = SELECT ( - action, - action_method, - action_property, - action_relationship, - alternate_product_relationship, - assembly_component_usage_substitute, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - document_file, - draughting_model, - drawing_revision, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - organizational_project, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - resource_property, - shape_aspect, - shape_representation, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: dm_aliasable_item *) - - -(* Pruned unused type: dm_approval_item *) - - -(* Pruned unused type: dm_attribute_language_item *) - - -(* Pruned unused type: dm_contract_item *) - - -(* Pruned unused type: dm_date_and_time_item *) - - -(* Pruned unused type: dm_date_item *) - - -(* Pruned unused type: dm_identification_item *) - - -(* Pruned unused type: dm_multi_language_attribute_item *) - - -(* Pruned unused type: dm_organization_item *) - - -(* Pruned unused type: dm_person_and_organization_item *) - - -(* Pruned unused type: dm_security_classification_item *) - - -(* Pruned unused type: idrm_marked_item *) - -(* USED FROM (process_property_schema); *) -TYPE characterized_action_definition = SELECT - (action, - action_method, - action_method_relationship, - action_relationship); -END_TYPE; -(* USED FROM (product_property_definition_schema); *) - TYPE derived_property_select = SELECT (property_definition, action_property, resource_property); - END_TYPE; -(* USED FROM (Time_interval_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE time_interval_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_person_and_organization_assignment, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - document_file, - draughting_model, - drawing_revision, - executed_action, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification, - security_classification_level, - shape_representation, - time_interval_based_effectivity, - versioned_action_request); -END_TYPE; - -(* USED FROM (geometry_schema); *) -TYPE axis2_placement = SELECT - (axis2_placement_2d, - axis2_placement_3d); -END_TYPE; -(* USED FROM (presentation_appearance_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE invisibility_context = SELECT ( - draughting_model, - presentation_representation, - presentation_set); -END_TYPE; - -(* USED FROM (presentation_appearance_schema); *) - TYPE null_style = ENUMERATION OF - (null); - END_TYPE; -(* USED FROM (presentation_definition_schema); *) - TYPE text_alignment = label; - END_TYPE; - -(* Pruned unused type: ers_description_attribute_select *) - -(* USED FROM (external_reference_schema); *) - TYPE message = STRING; - END_TYPE; -(* USED FROM (external_reference_schema); *) - TYPE source_item = SELECT (identifier, message); - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE surface_side = ENUMERATION OF - (positive, - negative, - both); - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE u_direction_count = INTEGER; - WHERE - WR1: SELF > 1; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE v_direction_count = INTEGER; - WHERE - WR1: SELF > 1; - END_TYPE; -(* USED FROM (aic_mechanical_design_shaded_presentation); *) - TYPE mechanical_design_shaded_presentation_area_items = SELECT( - axis2_placement, - mapped_item); - END_TYPE; -(* USED FROM (aic_mechanical_design_shaded_presentation); *) - TYPE mechanical_design_shaded_presentation_representation_items = SELECT( - axis2_placement, - camera_model_d3, - mapped_item, - styled_item); - END_TYPE; - -(* Pruned unused type: pamivc_document_reference_item *) - -(* USED FROM (date_time_schema); *) -TYPE day_in_month_number = INTEGER; -WHERE - WR1: {1 <= SELF <= 31}; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_boolean = BOOLEAN; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_integer = INTEGER; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_real = REAL; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_simple_atom = SELECT - (maths_number, - maths_real, - maths_integer, - maths_logical, - maths_boolean, - maths_string, - maths_binary); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE atom_based_tuple = LIST OF atom_based_value; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE atom_based_value = SELECT - (maths_atom, - atom_based_tuple); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_tuple = LIST [0:?] OF maths_value; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_value = SELECT - (atom_based_value, - maths_tuple, - generic_expression); -WHERE - constancy: NOT ('GENERIC_EXPRESSION' IN stripped_typeof(SELF)) OR - expression_is_constant(SELF); -END_TYPE; -(* USED FROM (kinematic_structure_schema); *) -TYPE rigid_placement = SELECT - (axis2_placement_3d, - su_parameters); -END_TYPE; -(* USED FROM (kinematic_structure_schema); *) -TYPE kinematic_link_representation_items = SELECT ( - curve, - point, - rigid_placement, - surface); -END_TYPE; -(* USED FROM (kinematic_structure_schema); *) -TYPE actuated_direction = ENUMERATION OF ( - bidirectional, - positive_only, - negative_only, - not_actuated); -END_TYPE; -(* USED FROM (kinematic_state_schema); *) -TYPE spatial_rotation = SELECT - (ypr_rotation, - rotation_about_direction); -END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE presentation_size_assignment_select = SELECT - (presentation_view, - presentation_area, - area_in_set); - END_TYPE; -(* USED FROM (kinematic_state_schema); *) -TYPE ypr_enumeration = ENUMERATION OF - (yaw, - pitch, - roll); -END_TYPE; -(* USED FROM (kinematic_state_schema); *) -TYPE spherical_pair_select = SELECT ( - spherical_pair, - spherical_pair_with_pin); -END_TYPE; - -(* Pruned unused type: aliasable_item *) - -(* USED FROM (Certification_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE certification_item = SELECT ( - alternate_product_relationship, - make_from_usage_option, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship); -END_TYPE; - -(* USED FROM (Multi_linguism_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE attribute_language_item = SELECT ( - action, - actuated_kinematic_pair, - alternate_product_relationship, - application_context, - applied_certification_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organizational_project_assignment, - applied_security_classification_assignment, - approval, - approval_relationship, - approval_status, - assembly_component_usage_substitute, - attribute_value_assignment, - certification, - certification_type, - configuration_design, - configuration_item, - contract, - data_environment, - date_role, - date_time_role, - descriptive_representation_item, - document_relationship, - document_usage_role, - draughting_title, - effectivity, - effectivity_relationship, - event_occurrence, - external_source, - general_property, - general_property_relationship, - geometric_representation_item, - geometric_tolerance, - group, - group_relationship, - identification_role, - information_right, - information_usage_right, - kinematic_pair, - make_from_usage_option, - mapped_item, - multi_language_attribute_assignment, - name_assignment, - object_role, - organization_relationship, - organization_role, - organizational_project, - organizational_project_relationship, - organizational_project_role, - person_and_organization, - person_and_organization_role, - presentation_layer_assignment, - process_product_association, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_relationship, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_shape, - product_definition_substitute, - product_related_product_category, - property_definition, - property_definition_relationship, - representation, - representation_relationship, - requirement_for_action_resource, - resource_property, - resource_requirement_type, - security_classification, - security_classification_assignment, - shape_aspect, - shape_aspect_relationship, - shape_representation, - styled_item, - time_interval_role, - topological_representation_item, - uncertainty_measure_with_unit, - uncertainty_qualifier, - usage_association, - versioned_action_request, - versioned_action_request_relationship); -END_TYPE; - -(* USED FROM (Multi_linguism_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE multi_language_attribute_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - actuated_kinematic_pair, - alternate_product_relationship, - application_context, - applied_certification_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organizational_project_assignment, - approval, - approval_relationship, - approval_status, - assembly_component_usage_substitute, - attribute_value_assignment, - certification, - certification_type, - colour, - configuration_design, - configuration_item, - contract, - data_environment, - date_role, - date_time_role, - descriptive_representation_item, - document_relationship, - document_usage_role, - draughting_title, - effectivity, - effectivity_relationship, - event_occurrence, - external_source, - general_property, - general_property_relationship, - geometric_representation_item, - geometric_tolerance, - group, - group_relationship, - identification_role, - information_right, - information_usage_right, - kinematic_pair, - make_from_usage_option, - mapped_item, - name_assignment, - object_role, - organization_relationship, - organization_role, - organizational_project, - organizational_project_relationship, - organizational_project_role, - person_and_organization, - person_and_organization_role, - presentation_layer_assignment, - process_product_association, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_relationship, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_shape, - product_definition_substitute, - product_related_product_category, - property_definition, - property_definition_relationship, - representation, - representation_relationship, - requirement_for_action_resource, - resource_property, - resource_requirement_type, - security_classification, - security_classification_assignment, - shape_aspect, - shape_aspect_relationship, - shape_representation, - styled_item, - time_interval_role, - topological_representation_item, - uncertainty_measure_with_unit, - uncertainty_qualifier, - usage_association, - versioned_action_request, - versioned_action_request_relationship); -END_TYPE; - - -(* Pruned unused type: project_as_date_and_time_item *) - - -(* Pruned unused type: project_as_date_item *) - - -(* Pruned unused type: project_event_occurrence_item *) - -(* USED FROM (Project_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE project_item = SELECT ( - assembly_component_usage, - configuration_item, - executed_action, - product, - product_concept, - product_definition, - product_definition_formation); -END_TYPE; - -(* USED FROM (kinematic_topology_schema); *) -TYPE kinematic_topology_representation_select = SELECT ( - kinematic_topology_structure, - kinematic_topology_directed_structure, - kinematic_topology_network_structure -); -END_TYPE; -(* USED FROM (Event_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE event_occurrence_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - draughting_model, - drawing_revision, - executed_action, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification_level, - shape_representation); -END_TYPE; - - -(* Implicit interfaced from: product_property_definition_schema *) - TYPE characterized_definition = SELECT ( - characterized_object, - characterized_product_definition, - shape_definition); - END_TYPE; - -(* Chained implicit interfaced from: date_time_schema *) -TYPE year_number = INTEGER; -END_TYPE; - -(* Chained implicit interfaced from: date_time_schema *) -TYPE date_time_or_event_occurrence = SELECT - (date_time_select, - event_occurrence); -END_TYPE; - -(* Implicit interfaced from: product_definition_schema *) - TYPE product_definition_or_reference = SELECT ( - product_definition, - generic_product_definition_reference); - END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE trimming_select = SELECT - (cartesian_point, - parameter_value); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE trimming_preference = ENUMERATION OF - (cartesian, - parameter, - unspecified); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE transition_code = ENUMERATION OF - (discontinuous, - continuous, - cont_same_gradient, - cont_same_gradient_same_curvature); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE pcurve_or_surface = SELECT - (pcurve, - surface); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE preferred_surface_curve_representation = ENUMERATION OF - (curve_3d, - pcurve_s1, - pcurve_s2); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE curve_on_surface = SELECT - (composite_curve_on_surface, - pcurve, - surface_curve); -END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_font_or_scaled_curve_font_select = SELECT - (curve_style_font_select, - curve_style_font_and_scaling); - END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE b_spline_surface_form = ENUMERATION OF - (plane_surf, - cylindrical_surf, - conical_surf, - spherical_surf, - toroidal_surf, - surf_of_revolution, - ruled_surf, - generalised_cone, - quadric_surf, - surf_of_linear_extrusion, - unspecified); -END_TYPE; - -(* Implicit interfaced from: representation_schema *) - TYPE founded_item_select = SELECT - (founded_item, - representation_item); - END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE month_in_year_number = INTEGER; -WHERE - WR1: { 1 <= SELF <= 12 }; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE ahead_or_behind = ENUMERATION OF - (ahead, - exact, - behind); -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE hour_in_day = INTEGER; -WHERE - WR1: { 0 <= SELF < 24 }; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE minute_in_hour = INTEGER; -WHERE - WR1: { 0 <= SELF <= 59 }; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE second_in_minute = REAL; -WHERE - WR1: { 0 <= SELF <= 60.0 }; -END_TYPE; - -(* Implicit interfaced from: qualified_measure_schema *) -TYPE value_qualifier = SELECT - (precision_qualifier, - type_qualifier, - uncertainty_qualifier, - value_format_type_qualifier); -END_TYPE; - -(* Implicit interfaced from: qualified_measure_schema *) -TYPE value_format_type = identifier; -WHERE - WR1: LENGTH(SELF) <= 80; -END_TYPE; -- value_format_type - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE invisible_item = SELECT ( - draughting_callout, - presentation_layer_assignment, - representation, - styled_item); -END_TYPE; - - -(* Implicit interfaced from: draughting_element_schema *) - TYPE annotation_plane_element = SELECT - (draughting_callout, - styled_item); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE styled_item_target = SELECT - (geometric_representation_item, - mapped_item, - representation); - END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE vector_or_direction = SELECT - (direction, - vector); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE dimension_count = INTEGER; -WHERE - WR1: SELF > 0; -END_TYPE; - -(* Implicit interfaced from: document_schema *) - TYPE product_or_formation_or_definition = SELECT (product, product_definition_formation, product_definition); - END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_function_select = SELECT - (maths_function, - elementary_function_enumerators); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_logical = LOGICAL; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_string = STRING; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_binary = BINARY; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -(* This SELECT set has been pruned. *) -TYPE maths_enum_atom = SELECT ( - elementary_space_enumerators, - ordering_type, - elementary_function_enumerators, - open_closed, - space_constraint_type, - repackage_options, - extension_options); -END_TYPE; - - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE positive_integer = nonnegative_integer; -WHERE positivity: SELF > 0; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE nonnegative_integer = INTEGER; -WHERE -nonnegativity: SELF >= 0; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE space_constraint_type = ENUMERATION OF - (sc_equal, - sc_subspace, - sc_member); -END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE reversible_topology_item = SELECT - (edge, - path, - face, - face_bound, - closed_shell, - open_shell); - END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_expression = SELECT - (atom_based_value, - maths_tuple, - generic_expression); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_space_or_function = SELECT - (maths_space, - maths_function); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE input_selector = positive_integer; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE elementary_function_enumerators = ENUMERATION OF - (ef_and, ef_or, ef_not, ef_xor, - ef_negate_i, ef_add_i, ef_subtract_i, ef_multiply_i, ef_divide_i, ef_mod_i, - ef_exponentiate_i, ef_eq_i, ef_ne_i, ef_gt_i, ef_lt_i, ef_ge_i, ef_le_i, - ef_abs_i, ef_max_i, ef_min_i, ef_if_i, - ef_negate_r, ef_reciprocal_r, ef_add_r, ef_subtract_r, ef_multiply_r, - ef_divide_r, ef_mod_r, ef_exponentiate_r, ef_exponentiate_ri, - ef_eq_r, ef_ne_r, ef_gt_r, ef_lt_r, ef_ge_r, ef_le_r, ef_abs_r, - ef_max_r, ef_min_r, ef_acos_r, ef_asin_r, ef_atan2_r, ef_cos_r, ef_exp_r, - ef_ln_r, ef_log2_r, ef_log10_r, ef_sin_r, ef_sqrt_r, ef_tan_r, ef_if_r, - ef_form_c, ef_rpart_c, ef_ipart_c, - ef_negate_c, ef_reciprocal_c, ef_add_c, ef_subtract_c, ef_multiply_c, - ef_divide_c, ef_exponentiate_c, ef_exponentiate_ci, ef_eq_c, ef_ne_c, - ef_conjugate_c, ef_abs_c, ef_arg_c, ef_cos_c, ef_exp_c, ef_ln_c, ef_sin_c, - ef_sqrt_c, ef_tan_c, ef_if_c, - ef_subscript_s, ef_eq_s, ef_ne_s, ef_gt_s, ef_lt_s, ef_ge_s, ef_le_s, - ef_subsequence_s, ef_concat_s, ef_size_s, ef_format, ef_value, ef_like, ef_if_s, - ef_subscript_b, ef_eq_b, ef_ne_b, ef_gt_b, ef_lt_b, ef_ge_b, ef_le_b, - ef_subsequence_b, ef_concat_b, ef_size_b, ef_if_b, - ef_subscript_t, ef_eq_t, ef_ne_t, ef_concat_t, ef_size_t, - ef_entuple, ef_detuple, ef_insert, ef_remove, ef_if_t, - ef_sum_it, ef_product_it, - ef_add_it, ef_subtract_it, ef_scalar_mult_it, ef_dot_prod_it, - ef_sum_rt, ef_product_rt, - ef_add_rt, ef_subtract_rt, ef_scalar_mult_rt, ef_dot_prod_rt, ef_norm_rt, - ef_sum_ct, ef_product_ct, - ef_add_ct, ef_subtract_ct, ef_scalar_mult_ct, ef_dot_prod_ct, ef_norm_ct, - ef_if, ef_ensemble, ef_member_of); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE open_closed = ENUMERATION OF - (open, - closed); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE repackage_options = ENUMERATION OF - (ro_nochange, - ro_wrap_as_tuple, - ro_unwrap_tuple); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE zero_or_one = nonnegative_integer; -WHERE in_range: (SELF = 0) OR (SELF = 1); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE one_or_two = positive_integer; -WHERE in_range: (SELF = 1) OR (SELF = 2); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE extension_options = ENUMERATION OF - (eo_none, - eo_cont, - eo_cont_right, - eo_cont_left); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE real_interval = SELECT - (real_interval_from_min, - real_interval_to_max, - finite_real_interval, - elementary_space); -WHERE - WR1: NOT ('ELEMENTARY_SPACE' IN stripped_typeof(SELF)) OR - (SELF\elementary_space.space_id = es_reals); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE ordering_type = ENUMERATION OF - (by_rows, - by_columns); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_atom = SELECT - (maths_simple_atom, - maths_enum_atom); -END_TYPE; - -(* Implicit interfaced from: action_schema *) - TYPE supported_item = SELECT (action_directive, action, action_method); - END_TYPE; - -(* Implicit interfaced from: process_property_schema *) -TYPE property_or_shape_select = SELECT - (property_definition, - shape_definition); -END_TYPE; - -(* Implicit interfaced from: process_property_schema *) -(* This SELECT set has been pruned. *) -TYPE characterized_resource_definition = SELECT ( - action_resource, - action_resource_requirement); -END_TYPE; - - -(* Implicit interfaced from: representation_schema *) - TYPE transformation = SELECT - (item_defined_transformation, - functionally_defined_transformation); - END_TYPE; - -(* Implicit interfaced from: configuration_management_schema *) -TYPE configuration_design_item = SELECT - (product_definition, - product_definition_formation); -END_TYPE; - -(* Implicit interfaced from: product_property_representation_schema *) - TYPE chained_representation_link = SELECT (mapped_item, representation_context, representation_relationship); - END_TYPE; - -(* Implicit interfaced from: material_property_definition_schema *) -(* This SELECT set has been pruned. *) -TYPE characterized_product_composition_value = SELECT ( - measure_with_unit); -END_TYPE; - - -(* Implicit interfaced from: product_property_representation_schema *) - TYPE represented_definition = SELECT ( - general_property, - property_definition, - property_definition_relationship, - shape_aspect, - shape_aspect_relationship); - END_TYPE; - -(* Implicit interfaced from: product_definition_schema *) - TYPE source = ENUMERATION OF (made, bought, not_known); - END_TYPE; - -(* Implicit interfaced from: draughting_element_schema *) - TYPE dimension_extent_usage = ENUMERATION OF - (origin, - target); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE annotation_symbol_occurrence_item = SELECT ( - annotation_symbol, - defined_symbol); - END_TYPE; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE datum_reference_modifier_type = ENUMERATION OF ( - circular_or_cylindrical, - distance, - projected, - spherical); -END_TYPE; - - -(* Implicit interfaced from: shape_aspect_definition_schema *) -TYPE datum_or_common_datum = SELECT - (common_datum_list, - datum); -END_TYPE; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE datum_reference_modifier = SELECT ( - datum_reference_modifier_with_value, - simple_datum_reference_modifier); -END_TYPE; - - -(* Implicit interfaced from: shape_aspect_definition_schema *) -TYPE limit_condition = ENUMERATION OF - (maximum_material_condition, - least_material_condition, - regardless_of_feature_size); -END_TYPE; - -(* Implicit interfaced from: shape_tolerance_schema *) -TYPE geometric_tolerance_target = SELECT - (dimensional_location, - dimensional_size, - product_definition_shape, - shape_aspect); -END_TYPE; - -(* Implicit interfaced from: shape_tolerance_schema *) -TYPE datum_system_or_reference = SELECT - (datum_reference, - datum_system); -END_TYPE; - -(* Implicit interfaced from: shape_tolerance_schema *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE area_unit_type = ENUMERATION OF ( - circular, - rectangular, - square); -END_TYPE; - - -(* Implicit interfaced from: shape_tolerance_schema *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE geometric_tolerance_modifier = ENUMERATION OF ( - any_cross_section, - common_zone, - each_radial_element, - free_state, - least_material_requirement, - line_element, - major_diameter, - maximum_material_requirement, - minor_diameter, - not_convex, - pitch_diameter, - reciprocity_requirement, - separate_requirement, - statistical_tolerance, - tangent_plane); -END_TYPE; - - -(* Implicit interfaced from: shape_tolerance_schema *) -TYPE tolerance_zone_target = SELECT ( - dimensional_location, - dimensional_size, - geometric_tolerance, - general_datum_reference); -END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE camera_model_d3_multi_clipping_interection_select = SELECT ( - camera_model_d3_multi_clipping_union, - plane); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE camera_model_d3_multi_clipping_union_select = SELECT ( - camera_model_d3_multi_clipping_intersection, - plane); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE central_or_parallel = ENUMERATION OF - (central, - parallel); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE surface_side_style_select = SELECT - (surface_side_style, - pre_defined_surface_side_style); - END_TYPE; - -(* Implicit interfaced from: solid_shape_element_schema *) -TYPE generalized_surface_select = SELECT - (surface, - face_surface, - surfaced_open_shell); -END_TYPE; - -(* Implicit interfaced from: material_property_definition_schema *) -TYPE characterized_material_property = SELECT - (material_property_representation, - product_material_composition_relationship); -END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE character_style_select = SELECT - (character_glyph_style_stroke, - character_glyph_style_outline, - text_style_for_defined_font); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE character_spacing_select = SELECT ( - length_measure, - ratio_measure, - measure_with_unit, - descriptive_measure); -END_TYPE; - - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_delineation = label; - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE defined_glyph_select = SELECT - (pre_defined_character_glyph, - externally_defined_character_glyph); - END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE day_in_year_number = INTEGER; -WHERE - WR1: {1 <= SELF <= 366}; -END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_path = ENUMERATION OF - (left, - right, - up, - down); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE annotation_text_occurrence_item = SELECT( - text_literal, - annotation_text, - annotation_text_character, - defined_character_glyph, - composite_text); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE curve_or_curve_set = SELECT ( - curve, - geometric_curve_set); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_string_representation_item = SELECT( - text_literal, - annotation_text, - annotation_text_character, - defined_character_glyph, - composite_text, - axis2_placement); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_style_font_select = SELECT - (curve_style_font, - pre_defined_curve_font, - externally_defined_curve_font); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE size_select = SELECT ( - positive_length_measure, - measure_with_unit, - descriptive_measure); -END_TYPE; - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE box_characteristic_select = SELECT - (box_height, - box_width, - box_slant_angle, - box_rotate_angle); - END_TYPE; - -(* Chained implicit interfaced from: date_time_schema *) -TYPE date_time_select = SELECT - (date, - date_and_time, - local_time); -END_TYPE; - -(* Chained implicit interfaced from: person_organization_schema *) - TYPE person_organization_select = SELECT ( - person, - organization, - person_and_organization); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE rendering_properties_select = SELECT - (surface_style_reflectance_ambient, - surface_style_transparent); - END_TYPE; - -(* Implicit interfaced from: draughting_element_schema *) - TYPE plane_or_planar_box = SELECT - (plane, - planar_box) ; - END_TYPE; - -(* Implicit interfaced from: draughting_element_schema *) - TYPE draughting_callout_element = SELECT - (annotation_curve_occurrence, - annotation_fill_area_occurrence, - annotation_symbol_occurrence, - annotation_text_occurrence, - tessellated_annotation_occurrence); - END_TYPE; - -(* Implicit interfaced from: product_property_definition_schema *) - TYPE multi_or_next_assembly_usage_occurrence = SELECT ( - multi_level_reference_designator, - next_assembly_usage_occurrence); - END_TYPE; - -(* Implicit interfaced from: product_property_definition_schema *) - TYPE internal_or_reflected_shape_aspect = SELECT ( - shape_aspect, - identifier); - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE reversible_topology = SELECT - (reversible_topology_item, - list_of_reversible_topology_item, - set_of_reversible_topology_item); - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE list_of_reversible_topology_item = - LIST [0:?] of reversible_topology_item; - END_TYPE; - -(* Pruned unused type: effs_description_attribute_select *) - - -(* Implicit interfaced from: topology_schema *) - TYPE set_of_reversible_topology_item = - SET [0:?] of reversible_topology_item; - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE shell = SELECT - (vertex_shell, - wire_shell, - open_shell, - closed_shell); - END_TYPE; - -(* Implicit interfaced from: product_property_representation_schema *) - TYPE item_identified_representation_usage_select = SELECT ( - representation_item, - list_representation_item, - set_representation_item); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE layered_item = SELECT - (presentation_representation, - representation_item); - END_TYPE; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE shape_representation_with_parameters_items = SELECT ( - descriptive_representation_item, - direction, - measure_representation_item, - placement); -END_TYPE; - - -(* Implicit interfaced from: geometry_schema *) -TYPE knot_type = ENUMERATION OF - (uniform_knots, - quasi_uniform_knots, - piecewise_bezier_knots, - unspecified); -END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE fill_style_select = SELECT ( - fill_area_style_colour, - externally_defined_tile_style, - fill_area_style_tiles, - externally_defined_hatch_style, - fill_area_style_hatching); -END_TYPE; - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE fill_area_style_tile_shape_select = SELECT - (fill_area_style_tile_curve_with_style, - fill_area_style_tile_coloured_region, - fill_area_style_tile_symbol_with_style, - pre_defined_tile, - externally_defined_tile); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE symbol_style_select = SELECT ( - symbol_colour); -END_TYPE; - - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_or_character = SELECT - (annotation_text, - annotation_text_character, - defined_character_glyph, - composite_text, - text_literal); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE defined_symbol_select = SELECT - (pre_defined_symbol, - externally_defined_symbol); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE presentation_representation_select = SELECT - (presentation_representation, - presentation_set); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_or_annotation_curve_occurrence = SELECT - (curve, - annotation_curve_occurrence); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE surface_style_element_select = SELECT - (surface_style_fill_area, - surface_style_boundary, - surface_style_silhouette, - surface_style_segmentation_curve, - surface_style_control_grid, - surface_style_parameter_line, - surface_style_rendering); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_or_render = SELECT - (curve_style, - curve_style_rendering); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE shading_surface_method = ENUMERATION OF - (constant_shading, - colour_shading, - dot_shading, - normal_shading); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE direction_count_select = SELECT - (u_direction_count, - v_direction_count); - END_TYPE; - -(* Pruned unused type: pds_id_attribute_select *) - - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE area_or_view = SELECT - (presentation_area, - presentation_view); - END_TYPE; - -(* Implicit interfaced from: geometric_model_schema *) -TYPE geometric_set_select = SELECT - (curve, - point, - surface); -END_TYPE; - -(* Pruned unused type: as_id_attribute_select *) - - -(* Implicit interfaced from: date_time_schema *) -TYPE week_in_year_number = INTEGER; -WHERE - WR1: { 1 <= SELF <= 53 }; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE day_in_week_number = INTEGER; -WHERE - WR1: { 1 <= SELF <= 7 }; -END_TYPE; - -(* Pruned unused type: cms_description_attribute_select *) - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE shading_curve_method = ENUMERATION OF - (constant_colour, - linear_colour); - END_TYPE; - -(* Pruned unused type: cms_name_attribute_select *) - - -(* Implicit interfaced from: management_resources_schema *) - TYPE attribute_type = SELECT (label, text); - END_TYPE; - -(* Pruned unused type: acs_description_attribute_select *) - - -(* Pruned unused type: acs_id_attribute_select *) - - -(* Pruned unused type: ppds_id_attribute_select *) - - -(* Pruned unused type: effs_name_attribute_select *) - - -(* Pruned unused type: mrs_role_select *) - - -(* Pruned unused type: rs_description_attribute_select *) - - -(* Pruned unused type: rs_id_attribute_select *) - - -(* Pruned unused type: dts_description_attribute_select *) - - -(* Pruned unused type: pos_id_attribute_select *) - - -(* Pruned unused type: pos_name_attribute_select *) - - -(* Pruned unused type: pos_description_attribute_select *) - - -(* Pruned unused type: shape_tolerance_select *) - - -(* Pruned unused type: st_id_attribute_select *) - - -(* Pruned unused type: gs_id_attribute_select *) - - -(* Pruned unused type: sts_item_identified_representation_usage_definition *) - - -(* Pruned unused type: as_description_attribute_select *) - - -(* Pruned unused type: pds_name_attribute_select *) - - -(* Pruned unused type: as_name_attribute_select *) - - -(* Pruned unused type: pprs_description_attribute_select *) - - -(* Pruned unused type: pprs_name_attribute_select *) - - -(* Pruned unused type: surface_boundary *) - - -(* Pruned unused type: wireframe_model *) - - -(* Pruned unused type: des_invisible_item *) - - -(* Pruned unused type: product_data_representation_view_item *) - - -(* Pruned unused type: apps_role_select *) - - -(* Pruned unused type: apps_description_attribute_select *) - - -(* Implicit interfaced from: geometric_model_schema *) -TYPE surface_model = SELECT - (face_based_surface_model, - shell_based_surface_model); -END_TYPE; -(* USED FROM (parameterization_schema); *) -TYPE attribute_identifier = identifier; -WHERE - WR1: validate_attribute_id(SELF); -END_TYPE; -(* USED FROM (kinematic_state_schema); *) -TYPE ypr_rotation = ARRAY [ypr_index(yaw) : ypr_index(roll)] - OF plane_angle_measure; -END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE presentable_text = STRING; - WHERE - WR1: control_characters_free(SELF); - END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE planar_curve_select = SELECT - (line, - conic, - trimmed_curve, - pcurve, - surface_curve); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; - WR2: check_curve_planarity(SELF); -END_TYPE; -(* USED FROM (shape_aspect_definition_schema); *) -TYPE common_datum_list = LIST[2:?] OF datum_reference_element; -WHERE - WR1: SIZEOF( QUERY(dre <* SELF | dre\shape_aspect.of_shape <> SELF[1]\shape_aspect.of_shape)) = 0; -END_TYPE; -(* USED FROM (measure_schema); *) - ENTITY illuminance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ILLUMINANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; - - ENTITY cc_design_certification - SUBTYPE OF (certification_assignment); - items : SET[1:?] OF certified_item; - END_ENTITY; - - ENTITY cc_design_contract - SUBTYPE OF (contract_assignment); - items : SET[1:?] OF contracted_item; - END_ENTITY; - - ENTITY cc_design_date_and_time_assignment - SUBTYPE OF (date_and_time_assignment); - items : SET[1:?] OF date_time_item; - END_ENTITY; - - ENTITY cc_design_person_and_organization_assignment - SUBTYPE OF (person_and_organization_assignment); - items : SET[1:?] OF cc_person_organization_item; - WHERE - WR1: cc_design_person_and_organization_correlation(SELF); - END_ENTITY; - - ENTITY cc_design_security_classification - SUBTYPE OF (security_classification_assignment); - items : SET[1:?] OF cc_classified_item; - END_ENTITY; - - ENTITY cc_design_specification_reference - SUBTYPE OF (document_reference); - items : SET[1:?] OF cc_specified_item; - END_ENTITY; - - ENTITY change - SUBTYPE OF (action_assignment); - items : SET[1:?] OF work_item; - END_ENTITY; - - ENTITY change_request - SUBTYPE OF (action_request_assignment); - items : SET[1:?] OF change_request_item; - END_ENTITY; - - ENTITY design_context - SUBTYPE OF (product_definition_context); - WHERE - WR1: SELF.life_cycle_stage = 'design'; - END_ENTITY; - - ENTITY design_make_from_relationship - SUBTYPE OF (product_definition_relationship); - END_ENTITY; - - ENTITY mechanical_context - SUBTYPE OF (product_context); - WHERE - WR1: SELF.discipline_type = 'mechanical'; - END_ENTITY; - - ENTITY start_request - SUBTYPE OF (action_request_assignment); - items : SET[1:?] OF start_request_item; - END_ENTITY; - - ENTITY start_work - SUBTYPE OF (action_assignment); - items : SET[1:?] OF work_item; - END_ENTITY; - - ENTITY supplied_part_relationship - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Mating_structure_mim); *) -ENTITY mated_part_relationship - SUBTYPE OF (group, group_assignment, product_definition_shape, product_definition_relationship, shape_aspect); - items : SET [0:?] OF product_definition; -DERIVE - SELF\group_assignment.assigned_group : mated_part_relationship := SELF; - SELF\property_definition.definition : mated_part_relationship := SELF; - SELF\shape_aspect.of_shape : mated_part_relationship := SELF; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_flux_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LUMINOUS_FLUX_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) - ENTITY externally_conditioned_data_quality_inspection_result - SUBTYPE OF(data_quality_inspection_result); - WHERE - WR1 : 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' IN TYPEOF - (SELF\data_quality_inspection_result.criterion_inspected); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_intensity_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LUMINOUS_INTENSITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (Machining_features_mim); *) -ENTITY face_shape_representation_relationship - SUBTYPE OF (representation_relationship); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(SELF.rep_1)); - WR2: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(SELF.rep_2)); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_intensity_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 1.0); - END_ENTITY; - -(* Implicit interfaced from: management_resources_schema *) - ENTITY attribute_value_role; - name : label; - description : OPTIONAL text; - END_ENTITY; - -(* Implicit interfaced from: presentation_definition_schema *) - ENTITY symbol_target - SUBTYPE OF (geometric_representation_item); - placement : axis2_placement; - x_scale : positive_ratio_measure; - y_scale : positive_ratio_measure; - END_ENTITY; -(* REFERENCE FROM (date_time_schema); *) -ENTITY event_occurrence_role; - name : label; - description : OPTIONAL text; -END_ENTITY; - -(* Implicit interfaced from: presentation_appearance_schema *) - ENTITY one_direction_repeat_factor - SUBTYPE OF (geometric_representation_item); - repeat_factor : vector; - END_ENTITY; -(* REFERENCE FROM (product_definition_schema); *) - ENTITY product_definition_effectivity - SUBTYPE OF (effectivity); - usage : product_definition_relationship; - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'EFFECTIVITY_ASSIGNMENT.ASSIGNED_EFFECTIVITY')) = 0; - END_ENTITY; - -(* Implicit interfaced from: presentation_appearance_schema *) - ENTITY two_direction_repeat_factor - SUBTYPE OF (one_direction_repeat_factor); - second_repeat_factor : vector; - END_ENTITY; - -(* Implicit interfaced from: management_resources_schema *) - ENTITY effectivity_context_role; - name : label; - description : OPTIONAL text; - END_ENTITY; - -(* Implicit interfaced from: product_concept_schema *) -ENTITY concept_feature_relationship; - name : label; - description : OPTIONAL text; - relating_product_concept_feature : product_concept_feature; - related_product_concept_feature : product_concept_feature; -END_ENTITY; - -(* Implicit interfaced from: geometric_model_schema *) -ENTITY swept_area_solid - SUPERTYPE OF (ONEOF ( - REVOLVED_AREA_SOLID, - EXTRUDED_AREA_SOLID, - SURFACE_CURVE_SWEPT_AREA_SOLID)) - SUBTYPE OF (solid_model); - swept_area : curve_bounded_surface; -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(swept_area.basis_surface); -END_ENTITY; - -(* Implicit interfaced from: topology_schema *) - ENTITY oriented_open_shell - SUBTYPE OF (open_shell); - open_shell_element : open_shell; - orientation : BOOLEAN; - DERIVE - SELF\connected_face_set.cfs_faces : SET [1:?] OF face - := conditional_reverse(SELF.orientation, - SELF.open_shell_element.cfs_faces); - WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_OPEN_SHELL' - IN TYPEOF (SELF.open_shell_element)); - END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY product_definition_resource - SUBTYPE OF (action_resource,product_definition); -WHERE - WR1: SIZEOF( USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'REQUIREMENT_FOR_ACTION_RESOURCE.RESOURCES') - ) > 0; - - WR2: SELF.frame_of_reference.name IN - ['part_definition','part occurrence','physical occurrence']; - -END_ENTITY; - -(* Implicit interfaced from: product_concept_schema *) -ENTITY concept_feature_relationship_with_condition - SUBTYPE OF (concept_feature_relationship); - conditional_operator : concept_feature_operator; -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY boolean_result_2d - SUBTYPE OF (boolean_result); - SELF\boolean_result.first_operand : boolean_operand_2d; - SELF\boolean_result.second_operand : boolean_operand_2d; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY closed_curve_style_parameters - SUBTYPE OF(curve_style_parameters_representation); - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY complex_area - ABSTRACT SUPERTYPE OF ( - PATH_AREA_WITH_PARAMETERS - ANDOR - PRIMITIVE_2D_WITH_INNER_BOUNDARY) - SUBTYPE OF (primitive_2d); - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY csg_primitive_solid_2d - SUBTYPE OF (csg_solid_2d); - SELF\csg_solid.tree_root_expression : bounded_primitive_2d; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAGNETIC_FLUX_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_magnetic_flux_unit - SUBTYPE OF (magnetic_flux_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.weber; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) -ENTITY curve_style_parameters_representation - SUBTYPE OF(representation); -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) -ENTITY curve_style_parameters_with_ends - SUBTYPE OF(curve_style_parameters_representation); -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) -ENTITY path_area_with_parameters - SUBTYPE OF (complex_area, mapped_item); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF(SELF\mapped_item.mapping_target); - -- the mapping source must be a curve (open or closed) - -- no the mapping target must be a curve (open or closed) - --wr2: -- the mapping_source.mapped_representation must be curve_style_parameters_representation; - WR2: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_PARAMETERS_REPRESENTATION' IN TYPEOF(SELF\mapped_item.mapping_source\representation_map.mapped_representation); - WR3: SELF\mapped_item.mapping_source\representation_map.mapping_origin\representation_item.name = 'curve width'; - --don't reall care on mapping_source.mapping_origin. Best to make it the line-width -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY mass_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 1.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY mass_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MASS_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_hole - ABSTRACT SUPERTYPE OF ( - SOLID_WITH_STEPPED_ROUND_HOLE) - SUBTYPE OF (solid_with_depression); -END_ENTITY; -(* USED FROM (Product_as_individual_assembly_and_test_mim); *) -ENTITY evaluated_characteristic_of_product_as_individual_test_result - SUBTYPE OF (evaluated_characteristic); -END_ENTITY; -(* USED FROM (Characterized_representation_mim); *) -ENTITY characterized_representation - SUBTYPE OF (representation, characterized_object); -DERIVE - SELF\characterized_object.name : label := SELF\representation.name; - SELF\characterized_object.description : text := SELF\representation.description; -END_ENTITY; -(* USED FROM (Composite_material_aspects_mim); *) - ENTITY composite_material_designation - SUBTYPE OF (material_designation); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY named_unit - SUPERTYPE OF (ONEOF ( - SI_UNIT, - CONVERSION_BASED_UNIT, - CONTEXT_DEPENDENT_UNIT) - ANDOR ONEOF ( - LENGTH_UNIT, - MASS_UNIT, - TIME_UNIT, - ELECTRIC_CURRENT_UNIT, - THERMODYNAMIC_TEMPERATURE_UNIT, - AMOUNT_OF_SUBSTANCE_UNIT, - LUMINOUS_FLUX_UNIT, - LUMINOUS_INTENSITY_UNIT, - PLANE_ANGLE_UNIT, - SOLID_ANGLE_UNIT, - RATIO_UNIT)); - dimensions : dimensional_exponents; - END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_depression - ABSTRACT SUPERTYPE OF ( - SOLID_WITH_THROUGH_DEPRESSION - ANDOR ONEOF ( - SOLID_WITH_HOLE, - SOLID_WITH_POCKET, - SOLID_WITH_SLOT, - SOLID_WITH_GROOVE)) - SUBTYPE OF (modified_solid_with_placed_configuration); - depth : positive_length_measure; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_pocket - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_RECTANGULAR_POCKET, - SOLID_WITH_CIRCULAR_POCKET, - SOLID_WITH_GENERAL_POCKET)) - -SUBTYPE OF (solid_with_depression); - floor_blend_radius : non_negative_length_measure; - draft_angle : plane_angle_measure; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_protrusion - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_CIRCULAR_PROTRUSION, - SOLID_WITH_RECTANGULAR_PROTRUSION, - SOLID_WITH_GENERAL_PROTRUSION)) - SUBTYPE OF (modified_solid_with_placed_configuration); - protrusion_height : positive_length_measure; - protrusion_draft_angle : plane_angle_measure; -END_ENTITY; -(* USED FROM (Dimension_and_tolerance_callouts_mim); *) -ENTITY dimension_curve_terminator_to_projection_curve_associativity - SUBTYPE OF(annotation_occurrence_associativity); - SELF\annotation_occurrence_relationship.relating_annotation_occurrence : dimension_curve_terminator; - SELF\annotation_occurrence_relationship.related_annotation_occurrence : projection_curve; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY plane_angle_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (Drawing_definition_mim); *) -ENTITY drawing_sheet_layout - SUBTYPE OF (draughting_symbol_representation); -END_ENTITY; -(* USED FROM (External_currency_mim); *) - ENTITY externally_defined_currency - SUBTYPE OF (currency, externally_defined_context_dependent_unit); - END_ENTITY; -(* USED FROM (External_representation_item_mim); *) - ENTITY externally_defined_representation_item - SUBTYPE OF (representation_item, externally_defined_item); - END_ENTITY; -(* USED FROM (External_representation_item_mim); *) - ENTITY externally_defined_string - SUBTYPE OF (externally_defined_representation_item); - END_ENTITY; -(* USED FROM (External_representation_item_mim); *) - ENTITY externally_defined_representation - SUBTYPE OF (representation, externally_defined_item); - SELF\representation.items : SET [1:?] OF externally_defined_representation_item; - END_ENTITY; -(* USED FROM (Geometric_tolerance_mim); *) -ENTITY feature_for_datum_target_relationship - SUBTYPE OF (shape_aspect_relationship); - SELF\shape_aspect_relationship.related_shape_aspect : datum_target; -UNIQUE - UR1: related_shape_aspect; -WHERE - WR1: relating_shape_aspect.of_shape :=: related_shape_aspect.of_shape; - WR2: relating_shape_aspect\shape_aspect.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY power_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POWER_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_power_unit - SUBTYPE OF (power_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.watt; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (Mechanical_design_presentation_representation_with_draughting_mim); *) - ENTITY mechanical_design_presentation_representation_with_draughting - SUBTYPE of (representation); - SELF\representation.items : SET[1:?] OF camera_model_d3; - END_ENTITY; -(* USED FROM (Mechanical_design_presentation_representation_with_draughting_mim); *) - ENTITY mechanical_design_and_draughting_relationship - SUBTYPE OF(definitional_representation_relationship_with_same_context); - SELF\representation_relationship.rep_1 : mechanical_design_and_draughting_relationship_select; - SELF\representation_relationship.rep_2 : mechanical_design_and_draughting_relationship_select; - WHERE - WR1: NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_2)) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_1)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); - WR2: NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); - WR3: NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY pressure_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.pascal); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY composite_assembly_table - SUBTYPE OF (part_laminate_table); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY laminate_table - SUPERTYPE OF (ONEOF ( - PART_LAMINATE_TABLE, - ZONE_STRUCTURAL_MAKEUP)) - SUBTYPE OF (product_definition); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY part_laminate_table - SUPERTYPE OF (ONEOF ( - COMPOSITE_ASSEMBLY_TABLE, - PLY_LAMINATE_TABLE)) - SUBTYPE OF (laminate_table); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY percentage_laminate_table - SUBTYPE OF (zone_structural_makeup); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY ratio_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY ply_laminate_table - SUBTYPE OF (part_laminate_table); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY smeared_material_definition - SUBTYPE OF (zone_structural_makeup); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY thickness_laminate_table - SUBTYPE OF (zone_structural_makeup); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY zone_structural_makeup - SUPERTYPE OF (ONEOF (( - SMEARED_MATERIAL_DEFINITION - AND - THICKNESS_LAMINATE_TABLE),( - SMEARED_MATERIAL_DEFINITION - AND - PERCENTAGE_LAMINATE_TABLE), - THICKNESS_LAMINATE_TABLE, - PERCENTAGE_LAMINATE_TABLE, - SMEARED_MATERIAL_DEFINITION)) - SUBTYPE OF (laminate_table); - END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY externally_defined_picture_representation_item - SUBTYPE OF (picture_representation_item); - INVERSE - source : applied_external_identification_assignment FOR items; - WHERE - WR1: NOT (SELF\representation_item.name IN pre_defined_picture_representation_types); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY resistance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RESISTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY picture_representation_item - ABSTRACT SUPERTYPE OF (ONEOF ( - EXTERNALLY_DEFINED_PICTURE_REPRESENTATION_ITEM, - PREDEFINED_PICTURE_REPRESENTATION_ITEM)) - SUBTYPE OF (bytes_representation_item); - END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY predefined_picture_representation_item - SUBTYPE OF (picture_representation_item); - WHERE - WR1: SELF\representation_item.name IN pre_defined_picture_representation_types; - END_ENTITY; -(* USED FROM (Planned_characteristic_mim); *) -ENTITY evaluated_characteristic - SUBTYPE OF (representation, representation_relationship); -UNIQUE - UR1: SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; -WHERE - WR1: SELF\representation_relationship.rep_1 <> - SELF\representation_relationship.rep_2; -END_ENTITY; -(* USED FROM (Planned_characteristic_mim); *) -ENTITY evaluation_product_definition - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY angle_direction_reference - SUBTYPE OF (representation_item_relationship, geometric_representation_item); - SELF\representation_item_relationship.relating_representation_item : orientation_basis_select; - SELF\representation_item_relationship.related_representation_item : angle_direction_reference_select; - WHERE - WR1: ((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MIN_AND_MAJOR_PLY_ORIENTATION_BASIS' IN TYPEOF(relating_representation_item))) - OR - (NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF(relating_representation_item)))); - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY draped_defined_transformation - SUBTYPE OF (transformation_with_derived_angle); - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY laid_defined_transformation - SUBTYPE OF (transformation_with_derived_angle); - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY min_and_major_ply_orientation_basis - SUBTYPE OF (representation_item_relationship, geometric_representation_item); - SELF\representation_item_relationship.relating_representation_item : axis2_placement_3d; -- minor_orientation_basis : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\representation_item_relationship.related_representation_item : axis2_placement_3d; -- major_orientation_basis : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - major_orientation_basis : AXIS2_PLACEMENT_3D := SELF\representation_item_relationship.related_representation_item; -- RELATED_REPRESENTATION_ITEM : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - minor_orientation_basis : AXIS2_PLACEMENT_3D := SELF\representation_item_relationship.relating_representation_item; -- RELATING_REPRESENTATION_ITEM : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY point_and_vector - SUBTYPE OF (compound_representation_item, geometric_representation_item); - SELF\compound_representation_item.item_element : point_and_vector_members; - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY point_path - SUBTYPE OF (compound_representation_item, geometric_representation_item); - SELF\compound_representation_item.item_element : point_path_members; - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY transformation_with_derived_angle - SUPERTYPE OF (ONEOF ( - DRAPED_DEFINED_TRANSFORMATION, - LAID_DEFINED_TRANSFORMATION)) - SUBTYPE OF (item_defined_transformation); - SELF\item_defined_transformation.transform_item_1 : angle_direction_reference_with_a2p3d_select; - SELF\item_defined_transformation.transform_item_2 : axis2_placement_3d; - DERIVE - orientation_angle : plane_angle_measure := derive_angle ( - SELF\item_defined_transformation.transform_item_1, - SELF\item_defined_transformation.transform_item_2); - WHERE - WR1: (SELF\item_defined_transformation.transform_item_1\ - axis2_placement_3d.p[3].direction_ratios[1] = - SELF\item_defined_transformation.transform_item_2\ - axis2_placement_3d.p[3].direction_ratios[1]) - AND - (SELF\item_defined_transformation.transform_item_1\ - axis2_placement_3d.p[3].direction_ratios[2] = - SELF\item_defined_transformation.transform_item_2\ - axis2_placement_3d.p[3].direction_ratios[2]) - AND - (SELF\item_defined_transformation.transform_item_1\ - axis2_placement_3d.p[3].direction_ratios[3] = - SELF\item_defined_transformation.transform_item_2\ - axis2_placement_3d.p[3].direction_ratios[3]); - END_ENTITY; -(* USED FROM (Shape_feature_mim); *) -ENTITY shape_feature_definition - SUBTYPE OF (feature_definition); -END_ENTITY; -(* USED FROM (Shape_feature_mim); *) -ENTITY placed_feature - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY time_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TIME_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY thermodynamic_temperature_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 1.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY modified_solid_with_placed_configuration - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_DEPRESSION, - SOLID_WITH_PROTRUSION, - SOLID_WITH_SHAPE_ELEMENT_PATTERN)) - SUBTYPE OF (modified_solid); - placing : axis2_placement_3d; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_shape_element_pattern - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_CIRCULAR_PATTERN, - SOLID_WITH_RECTANGULAR_PATTERN)) - SUBTYPE OF (modified_solid_with_placed_configuration); - replicated_element : modified_solid_with_placed_configuration; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY edge_blended_solid - ABSTRACT SUPERTYPE OF ( - TRACK_BLENDED_SOLID - ANDOR (ONEOF ( - SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND, - SOLID_WITH_CHAMFERED_EDGES))) - SUBTYPE OF (modified_solid); - blended_edges : LIST [1:?] OF UNIQUE edge_curve; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY thermodynamic_temperature_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_group - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_element - ABSTRACT SUPERTYPE OF (ONEOF ( - MODIFY_ELEMENT, - DELETE_ELEMENT, - ADD_ELEMENT)) - SUBTYPE OF (group, characterized_object); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY modify_element - SUBTYPE OF (change_element); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY delete_element - SUBTYPE OF (change_element); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY add_element - SUBTYPE OF (change_element); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_element_sequence - SUBTYPE OF (group_relationship); - SELF\group_relationship.relating_group : change_element; -- previous : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\group_relationship.related_group : change_element; -- next : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - next : CHANGE_ELEMENT := SELF\group_relationship.related_group; -- RELATED_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - previous : CHANGE_ELEMENT := SELF\group_relationship.relating_group; -- RELATING_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_composition_relationship - SUBTYPE OF (group_relationship); - SELF\group_relationship.relating_group : change_group; -- composition : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\group_relationship.related_group : change_element; -- element : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - composition : CHANGE_GROUP := SELF\group_relationship.relating_group; -- RELATING_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - element : CHANGE_ELEMENT := SELF\group_relationship.related_group; -- RELATED_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_group_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : change_group; - item : change_relationship_select; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY current_change_element_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : current_element_assignment_select; - items : SET [1:?] OF change_management_object; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY previous_change_element_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : previous_element_assignment_select; - items : SET [1:?] OF change_management_object; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY frozen_assignment - SUBTYPE OF (approval_assignment); - items : SET [1:?] OF change_management_object; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY location_in_aggregate_representation_item - SUBTYPE OF (compound_representation_item); - SELF\compound_representation_item.item_element : location_in_aggregate_item; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY volume_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VOLUME_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY expression_extension_numeric - SUBTYPE OF (measure_with_unit, numeric_expression); -END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY expression_extension_string - SUBTYPE OF (measure_with_unit, string_expression); -END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY expression_extension_to_select; - type_expression_associated: expression_extension_select; -END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY variable_expression - SUBTYPE OF (variable_semantics); - property_associated: property_variable_rep_select; -END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY application_context; - application : label; - DERIVE - description : text := get_description_value(SELF); - id : identifier := get_id_value(SELF); - INVERSE - context_elements : SET [1:?] OF application_context_element FOR frame_of_reference; - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY application_protocol_definition; - status : label; - application_interpreted_model_schema_name : label; - application_protocol_year : year_number; - application : application_context; - END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY product_context - SUBTYPE OF (application_context_element); - discipline_type : label; - END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY product_definition_context - SUBTYPE OF (application_context_element); - life_cycle_stage : label; - END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept_relationship; - name : label; - description : OPTIONAL text; - relating_product_concept : product_concept; - related_product_concept : product_concept; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_context_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY between_shape_aspect - SUBTYPE OF (continuous_shape_aspect); -END_ENTITY; -(* USED FROM (Effectivity_application_mim); *) -ENTITY applied_effectivity_assignment - SUBTYPE OF (effectivity_assignment); - items : SET[1:?] OF effectivity_item; -END_ENTITY; -(* USED FROM (Effectivity_application_mim); *) -ENTITY applied_ineffectivity_assignment - SUBTYPE OF (effectivity_assignment); - items : SET [1:?] OF effectivity_item; -WHERE - WR1: SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOT_EFFECTIVITY', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SERIAL_NUMBERED_EFFECTIVITY', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_EFFECTIVITY'] * - TYPEOF(SELF.assigned_effectivity) - ) = 0; -END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY object_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY role_association; - role : object_role; - item_with_role : role_select; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY dated_effectivity - SUBTYPE OF (effectivity); - effectivity_end_date : OPTIONAL date_time_or_event_occurrence; - effectivity_start_date : OPTIONAL date_time_or_event_occurrence; - WHERE - WR1: EXISTS(effectivity_end_date) OR EXISTS(effectivity_start_date); - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY effectivity - SUPERTYPE OF (ONEOF ( - SERIAL_NUMBERED_EFFECTIVITY, - DATED_EFFECTIVITY, - LOT_EFFECTIVITY, - TIME_INTERVAL_BASED_EFFECTIVITY)); - id : identifier; - DERIVE - name : label := get_name_value(SELF); - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY effectivity_relationship; - name : label; - description : OPTIONAL text; - related_effectivity : effectivity; - relating_effectivity : effectivity; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY lot_effectivity - SUBTYPE OF (effectivity); - effectivity_lot_id : identifier; - effectivity_lot_size : measure_with_unit; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY serial_numbered_effectivity - SUBTYPE OF (effectivity); - effectivity_start_id : identifier; - effectivity_end_id : OPTIONAL identifier; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY time_interval_based_effectivity - SUBTYPE OF (effectivity); - effectivity_period : time_interval; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY effectivity_assignment - ABSTRACT SUPERTYPE; - assigned_effectivity : effectivity; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY assembly_bond_definition - SUBTYPE OF (shape_aspect); -UNIQUE - UR1: SELF\shape_aspect.name; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY contacting_feature - SUBTYPE OF (shape_aspect); -WHERE - WR1: SELF\shape_aspect.product_definitional = FALSE; -END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY component_mating_constraint_condition - SUBTYPE OF (shape_aspect); -UNIQUE - UR1: SELF\shape_aspect.name, SELF\shape_aspect.of_shape; -END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY connection_zone_based_assembly_joint - SUBTYPE OF (assembly_joint); -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_feature - SUBTYPE OF (shape_aspect); - SELF\shape_aspect.of_shape : assembly_component; -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_feature_joint - SUBTYPE OF (shape_aspect_relationship, shape_aspect); - SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; - SELF\shape_aspect_relationship.related_shape_aspect : component_feature; -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_feature_relationship - SUBTYPE OF (shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; - SELF\shape_aspect_relationship.related_shape_aspect : component_feature; -WHERE - WR1: SELF\shape_aspect_relationship.related_shape_aspect :<>: - SELF\shape_aspect_relationship.relating_shape_aspect; -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_terminal - SUBTYPE OF (component_feature); -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY make_from_feature_relationship - SUBTYPE OF (component_feature_relationship); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY assigned_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_assignment; - items : SET[1:1] OF product_definition; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY requirement_assigned_object - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_assignment; - items : SET[1:1] OF requirement_assigned_item; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY requirement_assignment - SUBTYPE OF (characterized_object, group); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY requirement_source - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY satisfied_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : satisfies_requirement; - items : SET[1:1] OF product_definition; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY satisfies_requirement - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY satisfying_item - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : satisfies_requirement; - items : SET[1:1] OF requirement_satisfaction_item; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY source_for_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_source; - items : SET[1:1] OF requirement_source_item; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY sourced_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_source; - items : SET[1:1] OF product_definition; -END_ENTITY; -(* USED FROM (Physical_component_feature_mim); *) - ENTITY physical_component_feature - SUBTYPE OF (component_feature); - END_ENTITY; -(* USED FROM (Physical_component_feature_mim); *) - ENTITY physical_component_terminal - SUBTYPE OF (component_terminal, - physical_component_feature); - END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY array_placement_group - SUPERTYPE OF (ONEOF ( - LINEAR_ARRAY_PLACEMENT_GROUP_COMPONENT, - RECTANGULAR_ARRAY_PLACEMENT_GROUP_COMPONENT)) - SUBTYPE OF (assembly_group_component); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY assembly_group_component - SUBTYPE OF (assembly_component); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY referenced_modified_datum - SUBTYPE OF (datum_reference); - modifier : limit_condition; -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY interfaced_group_component - SUBTYPE OF (assembly_group_component); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY linear_array_component_definition_link - SUBTYPE OF (product_definition,product_definition_relationship); - SELF\product_definition_relationship.relating_product_definition : linear_array_placement_group_component; - SELF\product_definition_relationship.related_product_definition : linear_array_placement_group_component; -WHERE - WR1: SELF\product_definition_relationship.related_product_definition :<>: - SELF\product_definition_relationship.relating_product_definition; - WR2: acyclic_product_definition_relationship (SELF, - [SELF\product_definition_relationship.related_product_definition], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_ARRAY_COMPONENT_DEFINITION_LINK'); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY linear_array_placement_group_component - SUBTYPE OF (array_placement_group); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY rectangular_array_placement_group_component - SUBTYPE OF (array_placement_group); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY dimension_related_tolerance_zone_element; - related_dimension : dimensional_location; - related_element : tolerance_zone_definition; -END_ENTITY; -(* USED FROM (External_item_identification_assignment_mim); *) -ENTITY applied_external_identification_assignment -SUBTYPE OF (external_identification_assignment); - items : SET [1 : ?] OF external_identification_item; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY circle - SUBTYPE OF (conic); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY trimmed_curve - SUBTYPE OF (bounded_curve); - basis_curve : curve; - trim_1 : SET[1:2] OF trimming_select; - trim_2 : SET[1:2] OF trimming_select; - sense_agreement : BOOLEAN; - master_representation : trimming_preference; -WHERE - WR1: (HIINDEX(trim_1) = 1) OR (TYPEOF(trim_1[1]) <> TYPEOF(trim_1[2])); - WR2: (HIINDEX(trim_2) = 1) OR (TYPEOF(trim_2[1]) <> TYPEOF(trim_2[2])); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY line - SUBTYPE OF (curve); - pnt : cartesian_point; - dir : vector; -WHERE - WR1: dir.dim = pnt.dim; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_relationship; - name : label; - description : text; - relating_geometric_tolerance : geometric_tolerance; - related_geometric_tolerance : geometric_tolerance; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY composite_curve_segment - SUBTYPE OF (founded_item); - transition : transition_code; - same_sense : BOOLEAN; - parent_curve : curve; -INVERSE - using_curves : BAG[1:?] OF composite_curve FOR segments; -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE' IN TYPEOF(parent_curve)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY pcurve - SUBTYPE OF (curve); - basis_surface : surface; - reference_to_curve : definitional_representation; -WHERE - WR1: SIZEOF(reference_to_curve\representation.items) = 1; - WR2: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF (reference_to_curve\representation.items[1]); - WR3: reference_to_curve\representation.items[1]\ geometric_representation_item.dim =2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_curve - SUPERTYPE OF (ONEOF ( - INTERSECTION_CURVE, - SEAM_CURVE) - ANDOR - BOUNDED_SURFACE_CURVE) - SUBTYPE OF (curve); - curve_3d : curve; - associated_geometry : LIST[1:2] OF pcurve_or_surface; - master_representation : preferred_surface_curve_representation; -DERIVE - basis_surface : SET[1:2] OF surface := get_basis_surface(SELF); -WHERE - WR1: curve_3d.dim = 3; - WR2: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[1])) OR (master_representation <> pcurve_s1); - WR3: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[2])) OR (master_representation <> pcurve_s2); - WR4: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(curve_3d)); -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY edge_curve - SUBTYPE OF(edge,geometric_representation_item); - edge_geometry : curve; - same_sense : BOOLEAN; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face_surface - SUBTYPE OF(face,geometric_representation_item); - face_geometry : surface; - same_sense : BOOLEAN; - WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_SURFACE' IN TYPEOF(face_geometry)); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY poly_loop - SUBTYPE OF (loop,geometric_representation_item); - polygon : LIST [3:?] OF UNIQUE cartesian_point; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex_point - SUBTYPE OF(vertex,geometric_representation_item); - vertex_geometry : point; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_curve - SUPERTYPE OF (ONEOF ( - UNIFORM_CURVE, - B_SPLINE_CURVE_WITH_KNOTS, - QUASI_UNIFORM_CURVE, - BEZIER_CURVE) - ANDOR - RATIONAL_B_SPLINE_CURVE) - SUBTYPE OF (bounded_curve); - degree : INTEGER; - control_points_list : LIST[2:?] OF cartesian_point; - curve_form : b_spline_curve_form; - closed_curve : LOGICAL; - self_intersect : LOGICAL; -DERIVE - upper_index_on_control_points : INTEGER := (SIZEOF(control_points_list) - 1); - control_points : ARRAY[0:upper_index_on_control_points] OF cartesian_point := list_to_array(control_points_list,0, upper_index_on_control_points); -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNIFORM_CURVE' IN TYPEOF(self)) OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.QUASI_UNIFORM_CURVE' IN TYPEOF(self)) OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BEZIER_CURVE' IN TYPEOF(self)) OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF(self)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_surface - SUPERTYPE OF (ONEOF ( - B_SPLINE_SURFACE_WITH_KNOTS, - UNIFORM_SURFACE, - QUASI_UNIFORM_SURFACE, - BEZIER_SURFACE) - ANDOR - RATIONAL_B_SPLINE_SURFACE) - SUBTYPE OF (bounded_surface); - u_degree : INTEGER; - v_degree : INTEGER; - control_points_list : LIST[2:?] OF LIST[2:?] OF cartesian_point; - surface_form : b_spline_surface_form; - u_closed : LOGICAL; - v_closed : LOGICAL; - self_intersect : LOGICAL; -DERIVE - u_upper : INTEGER := SIZEOF(control_points_list) - 1; - v_upper : INTEGER := SIZEOF(control_points_list[1]) - 1; - control_points : ARRAY[0:u_upper] OF ARRAY[0:v_upper] OF cartesian_point := make_array_of_array(control_points_list, 0,u_upper,0,v_upper); -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.QUASI_UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BEZIER_SURFACE' IN TYPEOF(SELF)) OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bezier_curve - SUBTYPE OF (b_spline_curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bezier_surface - SUBTYPE OF (b_spline_surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY quasi_uniform_curve - SUBTYPE OF (b_spline_curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY quasi_uniform_surface - SUBTYPE OF (b_spline_surface); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY non_uniform_zone_definition - SUBTYPE OF (tolerance_zone_definition); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY projected_zone_definition - SUBTYPE OF (tolerance_zone_definition); - projection_end : shape_aspect; - projected_length : length_measure_with_unit; -WHERE - WR1: ('NUMBER' IN TYPEOF (projected_length\measure_with_unit.value_component)) AND (projected_length\measure_with_unit.value_component > 0.0); - WR2: (derive_dimensional_exponents (projected_length\measure_with_unit.unit_component)= dimensional_exponents(1,0,0,0,0,0,0)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY uniform_curve - SUBTYPE OF (b_spline_curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY uniform_surface - SUBTYPE OF (b_spline_surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_curve - SUPERTYPE OF (ONEOF ( - POLYLINE, - B_SPLINE_CURVE, - TRIMMED_CURVE, - BOUNDED_PCURVE, - BOUNDED_SURFACE_CURVE, - COMPOSITE_CURVE)) - SUBTYPE OF (curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_surface - SUPERTYPE OF (ONEOF ( - B_SPLINE_SURFACE, - RECTANGULAR_TRIMMED_SURFACE, - CURVE_BOUNDED_SURFACE, - RECTANGULAR_COMPOSITE_SURFACE)) - SUBTYPE OF (surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY conic - SUPERTYPE OF (ONEOF ( - CIRCLE, - ELLIPSE, - HYPERBOLA, - PARABOLA)) - SUBTYPE OF (curve); - position : axis2_placement; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY conical_surface - SUBTYPE OF (elementary_surface); - radius : length_measure; - semi_angle : plane_angle_measure; -WHERE - WR1: radius >= 0.0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY curve - SUPERTYPE OF (ONEOF ( - LINE, - CONIC, - PCURVE, - SURFACE_CURVE, - OFFSET_CURVE_2D, - OFFSET_CURVE_3D, - CURVE_REPLICA)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY cylindrical_surface - SUBTYPE OF (elementary_surface); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY ellipse - SUBTYPE OF (conic); - semi_axis_1 : positive_length_measure; - semi_axis_2 : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY hyperbola - SUBTYPE OF (conic); - semi_axis : positive_length_measure; - semi_imag_axis : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY oriented_surface - SUBTYPE OF (surface); - orientation : BOOLEAN; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY parabola - SUBTYPE OF (conic); - focal_dist : length_measure; -WHERE - WR1: focal_dist <> 0.0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY plane - SUBTYPE OF (elementary_surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY point_on_curve - SUBTYPE OF (point); - basis_curve : curve; - point_parameter : parameter_value; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY point_on_surface - SUBTYPE OF (point); - basis_surface : surface; - point_parameter_u : parameter_value; - point_parameter_v : parameter_value; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface - SUPERTYPE OF (ONEOF ( - ELEMENTARY_SURFACE, - SWEPT_SURFACE, - BOUNDED_SURFACE, - OFFSET_SURFACE, - SURFACE_REPLICA)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_of_linear_extrusion - SUBTYPE OF (swept_surface); - extrusion_axis : vector; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_of_revolution - SUBTYPE OF (swept_surface); - axis_position : axis1_placement; -DERIVE - axis_line : line := representation_item('')|| geometric_representation_item()|| curve()|| line(axis_position.location, representation_item('')|| geometric_representation_item()|| vector(axis_position.z, 1.0)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY swept_surface - SUPERTYPE OF (ONEOF ( - SURFACE_OF_LINEAR_EXTRUSION, - SURFACE_OF_REVOLUTION)) - SUBTYPE OF (surface); - swept_curve : curve; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY toroidal_surface - SUBTYPE OF (elementary_surface); - major_radius : positive_length_measure; - minor_radius : positive_length_measure; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY position_tolerance - SUBTYPE OF (geometric_tolerance); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rectangular_trimmed_surface - SUBTYPE OF (bounded_surface); - basis_surface : surface; - u1 : parameter_value; - u2 : parameter_value; - v1 : parameter_value; - v2 : parameter_value; - usense : BOOLEAN; - vsense : BOOLEAN; -WHERE - WR1: u1 <> u2; - WR2: v1 <> v2; - WR3: (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(basis_surface)) AND (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(basis_surface)))) OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF(basis_surface)) OR (usense = (u2 > u1)); - WR4: (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SPHERICAL_SURFACE' IN TYPEOF(basis_surface)) OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TOROIDAL_SURFACE' IN TYPEOF(basis_surface))) OR (vsense = (v2 > v1)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_patch - SUBTYPE OF (founded_item); - parent_surface : bounded_surface; - u_transition : transition_code; - v_transition : transition_code; - u_sense : BOOLEAN; - v_sense : BOOLEAN; -INVERSE - using_surfaces : BAG[1:?] OF rectangular_composite_surface FOR segments; -WHERE - WR1: (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF(parent_surface))); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY straightness_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY description_attribute; - attribute_value : text; - described_item : description_attribute_select; - END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY id_attribute; - attribute_value : identifier; - identified_item : id_attribute_select; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY global_unit_assigned_context - SUBTYPE OF (representation_context); - units : SET [1:?] OF unit; - END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY descriptive_representation_item - SUPERTYPE OF (ONEOF ( - TAGGED_TEXT_ITEM, - UNIFORM_RESOURCE_IDENTIFIER) ) - SUBTYPE OF (representation_item); - description : text; -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY global_uncertainty_assigned_context - SUBTYPE OF (representation_context); - uncertainty : SET [1:?] OF uncertainty_measure_with_unit; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation SUPERTYPE OF ( ( ONEOF ( - INTERPOLATED_CONFIGURATION_REPRESENTATION, - LINK_MOTION_REPRESENTATION_ALONG_PATH) )ANDOR( ONEOF ( - KINEMATIC_LINK_REPRESENTATION, - KINEMATIC_TOPOLOGY_STRUCTURE, - KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE, - KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE, - MECHANISM_REPRESENTATION, - SHAPE_REPRESENTATION) )ANDOR( ONEOF ( - KINEMATIC_TOPOLOGY_STRUCTURE, - KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE, - KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE) ) ) ; - name : label; - items : SET[1:?] OF representation_item; - context_of_items : representation_context; - DERIVE - id : identifier := get_id_value (SELF); - description : text := get_description_value (SELF); - WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) - <= 1; - WR2: SIZEOF (USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) - <= 1; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_context; - context_identifier : identifier; - context_type : text; - INVERSE - representations_in_context : SET [1:?] OF representation FOR context_of_items; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY coaxiality_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_relationship; - name : label; - description : OPTIONAL text; - rep_1 : representation; - rep_2 : representation; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY concentricity_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY circular_runout_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY externally_listed_data - SUBTYPE OF (explicit_table_function, generic_literal, externally_defined_item); - value_range : maths_space; -WHERE - WR1: expression_is_constant(value_range); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY application_defined_function - SUBTYPE OF (maths_function); - explicit_domain : tuple_space; - explicit_range : tuple_space; - parameters : LIST OF maths_value; -WHERE - WR1: expression_is_constant(explicit_domain); - WR2: expression_is_constant(explicit_range); -END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criterion_measurement_association - SUBTYPE OF(representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : data_quality_criterion; - SELF\representation_item_relationship.related_representation_item : data_quality_measurement_requirement; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_assessment_specification; - description : text; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criterion_assessment_association; - criterion : data_quality_criterion; - assessment_specification : data_quality_assessment_specification; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_assessment_measurement_association; - assessment_specification : data_quality_criterion_assessment_association; - measurement_requirement : data_quality_criterion_measurement_association; - WHERE - WR1 : SELF.measurement_requirement\representation_item_relationship. - relating_representation_item :=: - SELF.assessment_specification.criterion; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_report_request - ABSTRACT SUPERTYPE OF (ONEOF ( - SUMMARY_REPORT_REQUEST, - DETAILED_REPORT_REQUEST)); - description : text; - criterion_of_report_request : data_quality_criterion; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY summary_report_request - SUBTYPE OF(data_quality_report_request); - summary_report_request_type : summary_report_type; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY detailed_report_request - SUBTYPE OF(data_quality_report_request); - detailed_report_request_type : detailed_report_type; - report_sequence : preferred_ordering; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY detailed_report_request_with_number_of_data - SUBTYPE OF(detailed_report_request); - number_of_data : INTEGER; - DERIVE - SELF\detailed_report_request.detailed_report_request_type:detailed_report_type:= measured_element; - END_ENTITY; -(* USED FROM (Date_time_assignment_mim); *) -ENTITY applied_date_and_time_assignment - SUBTYPE OF (date_and_time_assignment); - items : SET [1:?] OF date_and_time_item; -END_ENTITY; -(* USED FROM (Date_time_assignment_mim); *) -ENTITY applied_date_assignment - SUBTYPE OF (date_assignment); - items : SET [1:?] OF date_item; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY total_runout_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date_and_time; - date_component : date; - time_component : local_time; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY coordinated_universal_time_offset; - hour_offset : INTEGER; - minute_offset : OPTIONAL INTEGER; - sense : ahead_or_behind; -DERIVE - actual_minute_offset : INTEGER := NVL(minute_offset,0); -WHERE - WR1: { 0 <= hour_offset < 24 }; - WR2: { 0 <= actual_minute_offset <= 59 }; - WR3: NOT (((hour_offset <> 0) OR (actual_minute_offset <>0)) AND (sense = exact)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY unequally_disposed_geometric_tolerance - SUBTYPE OF (geometric_tolerance); - displacement : length_measure_with_unit; -WHERE - WR1: ('NUMBER' IN TYPEOF (SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component)) AND (SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component > 0.0); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date - SUPERTYPE OF (ONEOF ( - CALENDAR_DATE, - ORDINAL_DATE, - WEEK_OF_YEAR_AND_DAY_DATE, - YEAR_MONTH)); - year_component : year_number; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date_role; - name : label; -DERIVE - description : text := get_description_value (SELF); -WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date_time_role; - name : label; -DERIVE - description : text := get_description_value (SELF); -WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY date_and_time_assignment - ABSTRACT SUPERTYPE; - assigned_date_and_time : date_and_time; - role : date_time_role; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY date_assignment - ABSTRACT SUPERTYPE; - assigned_date : date; - role : date_role; - END_ENTITY; -(* USED FROM (Person_organization_assignment_mim); *) -ENTITY applied_organization_assignment - SUBTYPE OF (organization_assignment); - items : SET[1:?] OF organization_item; -END_ENTITY; -(* USED FROM (Person_organization_assignment_mim); *) -ENTITY applied_person_and_organization_assignment - SUBTYPE OF (person_and_organization_assignment); - items : SET[1:?] OF person_and_organization_item; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY organization_assignment - ABSTRACT SUPERTYPE; - assigned_organization : organization; - role : organization_role; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY person_and_organization_assignment - ABSTRACT SUPERTYPE; - assigned_person_and_organization : person_and_organization; - role : person_and_organization_role; - END_ENTITY; -(* USED FROM (Colour_mim); *) - ENTITY externally_defined_colour - SUBTYPE OF (colour_specification,externally_defined_item); -END_ENTITY; -- externally_defined_colour -(* USED FROM (basic_attribute_schema); *) - ENTITY name_attribute; - attribute_value : label; - named_item : name_attribute_select; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY address; - internal_location : OPTIONAL label; - street_number : OPTIONAL label; - street : OPTIONAL label; - postal_box : OPTIONAL label; - town : OPTIONAL label; - region : OPTIONAL label; - postal_code : OPTIONAL label; - country : OPTIONAL label; - facsimile_number : OPTIONAL label; - telephone_number : OPTIONAL label; - electronic_mail_address : OPTIONAL label; - telex_number : OPTIONAL label; - DERIVE - name : label := get_name_value(SELF); - url : identifier := get_id_value(SELF); - WHERE - WR1: EXISTS(internal_location) OR EXISTS(street_number) OR EXISTS(street) OR EXISTS(postal_box) OR EXISTS(town) OR EXISTS(region) OR EXISTS(postal_code) OR EXISTS(country) OR EXISTS(facsimile_number) OR EXISTS(telephone_number) OR EXISTS(electronic_mail_address) OR EXISTS(telex_number); - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organization; - id : OPTIONAL identifier; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organization_relationship; - name : label; - description : OPTIONAL text; - relating_organization : organization; - related_organization : organization; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organizational_address - SUBTYPE OF (address); - organizations : SET [1:?] OF organization; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY person; - id : identifier; - last_name : OPTIONAL label; - first_name : OPTIONAL label; - middle_names : OPTIONAL LIST [1:?] OF label; - prefix_titles : OPTIONAL LIST [1:?] OF label; - suffix_titles : OPTIONAL LIST [1:?] OF label; - WHERE - WR1: EXISTS(last_name) OR EXISTS(first_name); - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY person_and_organization; - the_person : person; - the_organization : organization; - DERIVE - name : label := get_name_value(SELF); - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY personal_address - SUBTYPE OF (address); - people : SET [1:?] OF person; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organization_role; - name : label; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY person_and_organization_role; - name : label; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY data_quality_definition; - description : text; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY data_quality_definition_representation_relationship; - description : text; - definition : data_quality_definition; - used_representation : used_quality_representation_select; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY product_data_and_data_quality_relationship; - description : text; - product_data : product_definition; - data_quality : data_quality_definition; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY data_quality_definition_relationship; - description : text; - relating_data_quality_definition : data_quality_definition; - related_data_quality_definition : data_quality_definition; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY software_for_data_quality_check; - description : text; - software_name : text; - software_version : text; - data_quality : data_quality_definition_representation_relationship; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_image_3d_with_scale - SUBTYPE OF (camera_image); - DERIVE - scale: positive_ratio_measure := ((SELF\mapped_item.mapping_target\ - planar_extent.size_in_x) / (SELF\mapped_item.mapping_source. - mapping_origin\camera_model_d3.perspective_of_volume.view_window. - size_in_x)); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CAMERA_MODEL_D3' - IN TYPEOF (SELF\mapped_item.mapping_source.mapping_origin)); - WR2: aspect_ratio(SELF\mapped_item.mapping_target) = - aspect_ratio(SELF\mapped_item.mapping_source.mapping_origin\ - camera_model_d3.perspective_of_volume.view_window); - WR3: SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.front_plane_clipping - AND - SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.view_volume_sides_clipping; - WR4: (SELF\mapped_item.mapping_target\planar_extent.size_in_x > 0) - AND - (SELF\mapped_item.mapping_target\planar_extent.size_in_y > 0); - WR5: (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.view_window.size_in_x > 0) - AND - (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.view_window.size_in_y > 0); - WR6: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' IN TYPEOF (SELF\mapped_item. - mapping_target\planar_box.placement)) - AND NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AXIS2_PLACEMENT_3D' IN TYPEOF (SELF\mapped_item. - mapping_target\planar_box.placement)); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY view_volume - SUBTYPE OF (founded_item); - projection_type : central_or_parallel; - projection_point : cartesian_point; - view_plane_distance : length_measure; - front_plane_distance : length_measure; - front_plane_clipping : BOOLEAN; - back_plane_distance : length_measure; - back_plane_clipping : BOOLEAN; - view_volume_sides_clipping : BOOLEAN; - view_window : planar_box; - INVERSE - camera_usages : SET[1:?] OF camera_model_d3 FOR perspective_of_volume; - WHERE - WR1:('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_2D' IN TYPEOF(SELF\view_volume.view_window.placement)) OR - (dot_product ((representation_item(' ') || geometric_representation_item() || direction([0.0,0.0,1.0])), - SELF.view_window\planar_box.placement\axis2_placement_3d.p[3] ) = 1.0); - WR2: view_plane_distance = view_window.placement\placement.location.coordinates[3]; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_result_with_judgement - SUBTYPE OF(data_quality_inspection_result); - judgement : BOOLEAN; - END_ENTITY; -(* REFERENCE FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY volume - - SUBTYPE OF (geometric_representation_item); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY imported_volume_function - SUBTYPE OF (maths_function, generic_literal); - geometry : volume; - parametric_domain : tuple_space; -WHERE - WR1: expression_is_constant(parametric_domain); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY imported_surface_function - SUBTYPE OF (maths_function, generic_literal); - geometry : surface; - parametric_domain : tuple_space; -WHERE - WR1: expression_is_constant(parametric_domain); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY imported_curve_function - SUBTYPE OF (maths_function, generic_literal); - geometry : curve; - parametric_domain : tuple_space; -WHERE - WR1: expression_is_constant(parametric_domain); -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_with_hlhsr - SUBTYPE OF (camera_model_d3); - hidden_line_surface_removal : BOOLEAN; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_report_measurement_association - SUBTYPE OF(representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : data_quality_measurement_requirement; - SELF\representation_item_relationship.related_representation_item : data_quality_inspection_report; - END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY measure_representation_item - SUBTYPE OF (representation_item, measure_with_unit); -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_with_light_sources - SUBTYPE OF (camera_model_d3); - sources : SET [1:?] OF light_source; - END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY expanded_uncertainty - SUBTYPE OF (standard_uncertainty); - coverage_factor : REAL; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY cartesian_complex_number_region - SUBTYPE OF (maths_space, generic_literal); - real_constraint : real_interval; - imag_constraint : real_interval; -WHERE - WR1: min_exists(real_constraint) OR max_exists(real_constraint) OR - min_exists(imag_constraint) OR max_exists(imag_constraint); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY complex_number_literal - SUBTYPE OF (generic_literal); - real_part : REAL; - imag_part : REAL; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY qualitative_uncertainty - SUBTYPE OF (uncertainty_qualifier); - uncertainty_value : text; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY precision_qualifier; - precision_value : INTEGER; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY standard_uncertainty - SUPERTYPE OF ( - EXPANDED_UNCERTAINTY) - SUBTYPE OF (uncertainty_qualifier); - uncertainty_value : REAL; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY type_qualifier; - name : label; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY uncertainty_qualifier - SUPERTYPE OF (ONEOF ( - STANDARD_UNCERTAINTY, - QUALITATIVE_UNCERTAINTY)); - measure_name : label; - description : text; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY value_format_type_qualifier; - format_type : value_format_type; -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY uncertainty_assigned_representation - SUBTYPE OF (representation); - uncertainty : SET [1:?] OF uncertainty_measure_with_unit; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY restriction_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_space; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY elementary_function - SUBTYPE OF (maths_function, generic_literal); - func_id : elementary_function_enumerators; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_assessment_by_numerical_test - SUBTYPE OF(data_quality_assessment_specification); - threshold : shape_data_quality_value_limit_type_select; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -(* Pruned SUPERTYPE *) -ENTITY explicit_table_function - ABSTRACT SUPERTYPE OF (ONEOF ( - LISTED_DATA, - EXTERNALLY_LISTED_DATA, - LINEARIZED_TABLE_FUNCTION, - BASIC_SPARSE_MATRIX)) - SUBTYPE OF (maths_function); - index_base : zero_or_one; - shape : LIST [1:?] OF positive_integer; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_value_limit - ABSTRACT SUPERTYPE OF (ONEOF ( - SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT, - SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT)) - SUBTYPE OF(measure_representation_item, qualified_representation_item); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_upper_value_limit - SUBTYPE OF(shape_data_quality_value_limit); - WHERE - WR1 : SELF\qualified_representation_item.qualifiers[1].name = 'maximum'; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_lower_value_limit - SUBTYPE OF(shape_data_quality_value_limit); - WHERE - WR1 : SELF\qualified_representation_item.qualifiers[1].name = 'minimum'; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_summary_request_with_representative_value - SUBTYPE OF(summary_report_request); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_assessment_by_logical_test - SUBTYPE OF(data_quality_assessment_specification); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_data - ABSTRACT SUPERTYPE OF (ONEOF ( - ERRONEOUS_TOPOLOGY, - ERRONEOUS_GEOMETRY, - ERRONEOUS_TOPOLOGY_AND_GEOMETRY_RELATIONSHIP, - ERRONEOUS_MANIFOLD_SOLID_BREP)) - SUBTYPE OF(shape_data_quality_criterion); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_topology - ABSTRACT SUPERTYPE OF (ONEOF ( - OPEN_EDGE_LOOP, - OPEN_CLOSED_SHELL, - INCONSISTENT_ADJACENT_FACE_NORMALS, - DISCONNECTED_FACE_SET)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source - SUPERTYPE OF (ONEOF ( - LIGHT_SOURCE_AMBIENT, - LIGHT_SOURCE_DIRECTIONAL, - LIGHT_SOURCE_POSITIONAL, - LIGHT_SOURCE_SPOT)) - SUBTYPE OF (geometric_representation_item); - light_colour : colour; - WHERE - WR1: SIZEOF(USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'STYLED_ITEM.ITEM')) = 0; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY open_closed_shell - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_SHELL']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_adjacent_face_normals - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'CLOSED_OR_OPEN_SHELL_SELECT']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY disconnected_face_set - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - INCONSISTENT_CURVE_TRANSITION_CODE, - ERRONEOUS_B_SPLINE_CURVE_DEFINITION, - INCONSISTENT_SURFACE_TRANSITION_CODE, - ERRONEOUS_B_SPLINE_SURFACE_DEFINITION)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_curve_transition_code - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - angle_tolerance : plane_angle_measure; - curvature_ratio_tolerance : ratio_measure; - distance_tolerance : length_measure; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'COMPOSITE_CURVE_TRANSITION_LOCATOR']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_b_spline_curve_definition - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_surface_transition_code - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - angle_tolerance : plane_angle_measure; - curvature_ratio_tolerance : ratio_measure; - distance_tolerance : length_measure; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_COMPOSITE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'RECTANGULAR_COMPOSITE_SURFACE_TRANSITION_LOCATOR']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_b_spline_surface_definition - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_topology_and_geometry_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - INCONSISTENT_EDGE_AND_CURVE_DIRECTIONS, - INCONSISTENT_FACE_AND_SURFACE_NORMALS, - INCONSISTENT_FACE_AND_CLOSED_SHELL_NORMALS, - INTERSECTING_LOOPS_IN_FACE, - WRONGLY_PLACED_LOOP)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_edge_and_curve_directions - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - distance_tolerance : length_measure; -- ISO 10303-59 error! - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE') - ; - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE']) - ; - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_face_and_surface_normals - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_face_and_closed_shell_normals - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY intersecting_loops_in_face - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY wrongly_placed_loop - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BOUND']); - WR4 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_manifold_solid_brep - ABSTRACT SUPERTYPE OF (ONEOF ( - WRONGLY_ORIENTED_VOID, - WRONGLY_PLACED_VOID, - INTERSECTING_SHELLS_IN_SOLID, - SOLID_WITH_WRONG_NUMBER_OF_VOIDS)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY wrongly_oriented_void - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY wrongly_placed_void - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY intersecting_shells_in_solid - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY solid_with_wrong_number_of_voids - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_data - ABSTRACT SUPERTYPE OF (ONEOF ( - INAPT_TOPOLOGY, - INAPT_GEOMETRY, - INAPT_TOPOLOGY_AND_GEOMETRY_RELATIONSHIP, - INAPT_MANIFOLD_SOLID_BREP)) - SUBTYPE OF(shape_data_quality_criterion); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_topology - ABSTRACT SUPERTYPE OF (ONEOF ( - FREE_EDGE, - NON_MANIFOLD_AT_EDGE, - NON_MANIFOLD_AT_VERTEX, - OVER_USED_VERTEX)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (Composite_constituent_shape_mim); *) - ENTITY beveled_sheet_representation - SUBTYPE OF (shape_representation); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY non_manifold_at_edge - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY non_manifold_at_vertex - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY over_used_vertex - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - NEARLY_DEGENERATE_GEOMETRY, - DISCONTINUOUS_GEOMETRY, - SELF_INTERSECTING_GEOMETRY, - GEOMETRY_WITH_LOCAL_NEAR_DEGENERACY, - OVERLAPPING_GEOMETRY, - MULTIPLY_DEFINED_GEOMETRY, - GEOMETRY_WITH_LOCAL_IRREGULARITY, - OVERCOMPLEX_GEOMETRY)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY nearly_degenerate_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SMALL_AREA_SURFACE, - SHORT_LENGTH_CURVE, - ENTIRELY_NARROW_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_area_surface - SUBTYPE OF(nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY short_length_curve - SUBTYPE OF(nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY entirely_narrow_surface - SUBTYPE OF(nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY discontinuous_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - G1_DISCONTINUOUS_CURVE, - G2_DISCONTINUOUS_CURVE, - G1_DISCONTINUOUS_SURFACE, - G2_DISCONTINUOUS_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g1_discontinuous_curve - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_CURVE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g2_discontinuous_curve - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) ; - WR3 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'PLANE_ANGLE_AND_RATIO_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE']); - WR5 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_CURVE_KNOT_LOCATOR']); - WR6 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g1_discontinuous_surface - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) ; - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g2_discontinuous_surface - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)); - WR3 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'PLANE_ANGLE_AND_RATIO_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE']); - WR5 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR6 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE']) - ; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SELF_INTERSECTING_CURVE, - SELF_INTERSECTING_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_curve - SUBTYPE OF(self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - arc_length_separation_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE']); - WR4 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_surface - SUBTYPE OF(self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - geodesic_separation_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE']); - WR4 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY geometry_with_local_near_degeneracy - ABSTRACT SUPERTYPE OF (ONEOF ( - CURVE_WITH_SMALL_CURVATURE_RADIUS, - SHORT_LENGTH_CURVE_SEGMENT, - SURFACE_WITH_SMALL_CURVATURE_RADIUS, - SMALL_AREA_SURFACE_PATCH, - NARROW_SURFACE_PATCH, - INDISTINCT_SURFACE_KNOTS, - INDISTINCT_CURVE_KNOTS, - NEARLY_DEGENERATE_SURFACE_BOUNDARY, - NEARLY_DEGENERATE_SURFACE_PATCH)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY curve_with_small_curvature_radius - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY short_length_curve_segment - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_CURVE_SEGMENT']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY surface_with_small_curvature_radius - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_area_surface_patch - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_SURFACE_PATCH']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY narrow_surface_patch - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_SURFACE_PATCH']); - WR4 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY indistinct_surface_knots - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARAMETER_VALUE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARAMETER_VALUE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY indistinct_curve_knots - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARAMETER_VALUE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARAMETER_VALUE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_CURVE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY nearly_degenerate_surface_boundary - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_VALUE_RANGE' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'BOUNDARY_CURVE_OF_B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY nearly_degenerate_surface_patch - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_VALUE_RANGE' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_SURFACE_PATCH']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY overlapping_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - PARTLY_OVERLAPPING_CURVES, - PARTLY_OVERLAPPING_SURFACES)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_curves - SUBTYPE OF(overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_surfaces - SUBTYPE OF(overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - MULTIPLY_DEFINED_CURVES, - MULTIPLY_DEFINED_SURFACES, - MULTIPLY_DEFINED_CARTESIAN_POINTS, - MULTIPLY_DEFINED_DIRECTIONS, - MULTIPLY_DEFINED_PLACEMENTS)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_curves - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_surfaces - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_cartesian_points - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_directions - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY instanced_feature - SUBTYPE OF (feature_definition, shape_aspect); -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF (SELF.of_shape.definition); - WR2: SELF.product_definitional; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY geometry_with_local_irregularity - ABSTRACT SUPERTYPE OF (ONEOF ( - EXTREME_PATCH_WIDTH_VARIATION, - ZERO_SURFACE_NORMAL, - ABRUPT_CHANGE_OF_SURFACE_NORMAL)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY extreme_patch_width_variation - SUBTYPE OF(geometry_with_local_irregularity); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY zero_surface_normal - SUBTYPE OF(geometry_with_local_irregularity); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY abrupt_change_of_surface_normal - SUBTYPE OF(geometry_with_local_irregularity); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - small_vector_tolerance : length_measure; - test_point_distance_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY overcomplex_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - EXCESSIVELY_HIGH_DEGREE_CURVE, - EXCESSIVELY_HIGH_DEGREE_SURFACE, - SURFACE_WITH_EXCESSIVE_PATCHES_IN_ONE_DIRECTION, - CURVE_WITH_EXCESSIVE_SEGMENTS, - HIGH_DEGREE_LINEAR_CURVE, - HIGH_DEGREE_PLANAR_SURFACE, - HIGH_DEGREE_CONIC, - HIGH_DEGREE_AXI_SYMMETRIC_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY excessively_high_degree_curve - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY excessively_high_degree_surface - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY surface_with_excessive_patches_in_one_direction - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY curve_with_excessive_segments - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_OR_COMPOSITE_CURVE_SELECT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_linear_curve - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_planar_surface - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_conic - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_axi_symmetric_surface - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_topology_and_geometry_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - TOPOLOGY_RELATED_TO_NEARLY_DEGENERATE_GEOMETRY, - GEOMETRIC_GAP_IN_TOPOLOGY, - NON_SMOOTH_GEOMETRY_TRANSITION_ACROSS_EDGE, - TOPOLOGY_RELATED_TO_SELF_INTERSECTING_GEOMETRY, - STEEP_GEOMETRY_TRANSITION_ACROSS_EDGE, - TOPOLOGY_RELATED_TO_OVERLAPPING_GEOMETRY, - TOPOLOGY_RELATED_TO_MULTIPLY_DEFINED_GEOMETRY, - OVERCOMPLEX_TOPOLOGY_AND_GEOMETRY_RELATIONSHIP)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_nearly_degenerate_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SHORT_LENGTH_EDGE, - SMALL_AREA_FACE, - ENTIRELY_NARROW_FACE)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY short_length_edge - SUBTYPE OF(topology_related_to_nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_area_face - SUBTYPE OF(topology_related_to_nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY entirely_narrow_face - SUBTYPE OF(topology_related_to_nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY geometric_gap_in_topology - ABSTRACT SUPERTYPE OF (ONEOF ( - GAP_BETWEEN_ADJACENT_EDGES_IN_LOOP, - GAP_BETWEEN_VERTEX_AND_BASE_SURFACE, - GAP_BETWEEN_VERTEX_AND_EDGE, - GAP_BETWEEN_EDGE_AND_BASE_SURFACE, - GAP_BETWEEN_PCURVES_RELATED_TO_AN_EDGE, - GAP_BETWEEN_FACES_RELATED_TO_AN_EDGE)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_adjacent_edges_in_loop - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_vertex_and_base_surface - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_vertex_and_edge - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_edge_and_base_surface - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_pcurves_related_to_an_edge - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_faces_related_to_an_edge - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY non_smooth_geometry_transition_across_edge - ABSTRACT SUPERTYPE OF (ONEOF ( - G1_DISCONTINUITY_BETWEEN_ADJACENT_FACES, - G2_DISCONTINUITY_BETWEEN_ADJACENT_FACES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g1_discontinuity_between_adjacent_faces - SUBTYPE OF(non_smooth_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g2_discontinuity_between_adjacent_faces - SUBTYPE OF(non_smooth_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)); - WR3 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'PLANE_ANGLE_AND_RATIO_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET']); - WR5 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR6 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_self_intersecting_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SELF_INTERSECTING_LOOP, - SELF_INTERSECTING_SHELL, - INTERSECTING_CONNECTED_FACE_SETS)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_loop - SUBTYPE OF(topology_related_to_self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - arc_length_distance_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_shell - SUBTYPE OF(topology_related_to_self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - geodesic_separation_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR4 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY intersecting_connected_face_sets - SUBTYPE OF(topology_related_to_self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR4 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY steep_geometry_transition_across_edge - ABSTRACT SUPERTYPE OF (ONEOF ( - STEEP_ANGLE_BETWEEN_ADJACENT_EDGES, - STEEP_ANGLE_BETWEEN_ADJACENT_FACES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY steep_angle_between_adjacent_edges - SUBTYPE OF(steep_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY steep_angle_between_adjacent_faces - SUBTYPE OF(steep_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_overlapping_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - PARTLY_OVERLAPPING_FACES, - PARTLY_OVERLAPPING_EDGES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_faces - SUBTYPE OF(topology_related_to_overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_edges - SUBTYPE OF(topology_related_to_overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBEDGE','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBEDGE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_multiply_defined_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - MULTIPLY_DEFINED_FACES, - MULTIPLY_DEFINED_VERTICES, - MULTIPLY_DEFINED_EDGES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_faces - SUBTYPE OF(topology_related_to_multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_vertices - SUBTYPE OF(topology_related_to_multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_edges - SUBTYPE OF(topology_related_to_multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY overcomplex_topology_and_geometry_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - UNUSED_PATCHES, - EDGE_WITH_EXCESSIVE_SEGMENTS, - FACE_SURFACE_WITH_EXCESSIVE_PATCHES_IN_ONE_DIRECTION)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY unused_patches - SUBTYPE OF(overcomplex_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'B_SPLINE_SURFACE_STRIP']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY edge_with_excessive_segments - SUBTYPE OF(overcomplex_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY face_surface_with_excessive_patches_in_one_direction - SUBTYPE OF(overcomplex_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_manifold_solid_brep - ABSTRACT SUPERTYPE OF (ONEOF ( - PARTLY_OVERLAPPING_SOLIDS, - SMALL_VOLUME_SOLID, - MULTIPLY_DEFINED_SOLIDS, - ENTIRELY_NARROW_SOLID, - SOLID_WITH_EXCESSIVE_NUMBER_OF_VOIDS)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_solids - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_volume_solid - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VOLUME_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VOLUME_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VOLUME_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_solids - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY entirely_narrow_solid - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY solid_with_excessive_number_of_voids - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_criteria_representation_with_accuracy - SUBTYPE OF(shape_data_quality_criteria_representation); - required_general_accuracy : SET [1:?] OF shape_measurement_accuracy; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_measurement_accuracy; - description : text; - range : shape_data_quality_value_limit_type_select; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_criterion_and_accuracy_association; - required_specific_accuracy : shape_measurement_accuracy; - shape_data_quality_criterion : shape_data_quality_criterion; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY compound_representation_item - SUPERTYPE OF ( ( ONEOF ( - POINT_AND_VECTOR, - POINT_PATH) )ANDOR( (ONEOF ( - ROW_REPRESENTATION_ITEM, - TABLE_REPRESENTATION_ITEM)) ) ) - SUBTYPE OF (representation_item); - item_element : compound_item_definition; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_general_protrusion - SUBTYPE OF (solid_with_protrusion); - profile : positioned_sketch; - reference_point : point; -WHERE - WR1: SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE'] * TYPEOF(profile.sketch_basis)) = 1; - WR2: profile IN using_items(reference_point,[]); -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_inspection_result_representation_with_accuracy - SUBTYPE OF(shape_data_quality_inspection_result_representation); - applied_general_accuracy : SET [1:?] OF shape_measurement_accuracy; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_groove - SUBTYPE OF (solid_with_depression); - groove_radius : positive_length_measure; - groove_width : positive_length_measure; - draft_angle : plane_angle_measure; - floor_fillet_radius : non_negative_length_measure; - external_groove : BOOLEAN; -WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' - IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_result - SUBTYPE OF(data_quality_inspection_result); - SELF\data_quality_inspection_result.criterion_inspected:shape_data_quality_criterion; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_criterion_report - SUBTYPE OF(data_quality_inspection_criterion_report); - representative_measured_value : measured_value_select; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_inspection_result_accuracy_association; - applied_specific_accuracy : shape_measurement_accuracy; - shape_data_quality_result : shape_data_quality_inspection_result; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_instance_report - SUBTYPE OF(data_quality_inspection_instance_report); - SELF\data_quality_inspection_instance_report.inspected_instances : LIST [1:?] OF shape_data_quality_inspection_instance_report_item; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_instance_report_item - SUBTYPE OF(data_quality_inspection_instance_report_item); - SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1:?] OF inspected_shape_element_select; - measured_value : measured_value_select; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY instance_report_item_with_extreme_instances - SUBTYPE OF(shape_data_quality_inspection_instance_report_item); - extreme_instances : LIST [1:?] OF extreme_instance; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY extreme_instance; - locations_of_extreme_value : SET [1:?] OF location_of_extreme_value_select; - measured_value : measured_value_select; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_rectangular_pocket - SUBTYPE OF (solid_with_pocket); - pocket_length : positive_length_measure; - pocket_width : positive_length_measure; - corner_radius : non_negative_length_measure; -WHERE - WR1: (corner_radius < pocket_width/2) - AND (corner_radius < pocket_length/2); -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY point_on_face_surface - SUBTYPE OF(point_on_surface); - basis_face_surface : face_surface; - DERIVE - SELF\point_on_surface.basis_surface : surface := SELF.basis_face_surface.face_geometry; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_face_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY plane_angle_and_ratio_pair - SUBTYPE OF(founded_item); - plane_angle_value : plane_angle_measure; - ratio_value : ratio_measure; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY plane_angle_and_length_pair - SUBTYPE OF(founded_item); - plane_angle_value : plane_angle_measure; - length_value : length_measure; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_surface_knot_locator - SUBTYPE OF(founded_item); - basis_surface : b_spline_surface; - knot_index : INTEGER; - surface_parameter : u_or_v_parameter; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_surface_patch - SUBTYPE OF(founded_item); - basis_surface : b_spline_surface; - u_start_knot_index : INTEGER; - v_start_knot_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_curve_knot_locator - SUBTYPE OF(founded_item); - basis_curve : b_spline_curve; - knot_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_curve_segment - SUBTYPE OF(founded_item); - basis_curve : b_spline_curve; - start_knot_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_surface_strip - SUBTYPE OF(founded_item); - basis_surface : b_spline_surface; - start_knot_index : INTEGER; - surface_parameter : u_or_v_parameter; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY composite_curve_transition_locator - SUBTYPE OF(founded_item); - basis_curve : composite_curve; - transition_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY rectangular_composite_surface_transition_locator - SUBTYPE OF(founded_item); - basis_surface : rectangular_composite_surface; - surface_parameter : u_or_v_parameter; - u_transition_index : INTEGER; - v_transition_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY boundary_curve_of_b_spline_or_rectangular_composite_surface - SUBTYPE OF(founded_item); - basis_surface : b_spline_or_rectangular_composite_surface_select; - boundary_type : surface_boundary_type; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (Shape_property_assignment_mim); *) -ENTITY geometric_item_specific_usage - SUBTYPE OF(item_identified_representation_usage); - SELF\item_identified_representation_usage.definition : geometric_item_specific_usage_select; - SELF\item_identified_representation_usage.used_representation : shape_model; - SELF\item_identified_representation_usage.identified_item : geometric_model_item; - UNIQUE - UR1 : definition; -END_ENTITY; -(* USED FROM (Shape_property_assignment_mim); *) -ENTITY chain_based_geometric_item_specific_usage - SUBTYPE OF (geometric_item_specific_usage, - chain_based_item_identified_representation_usage); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_tee_section_slot - SUBTYPE OF (solid_with_slot); - tee_section_width : positive_length_measure; - collar_depth : positive_length_measure; -WHERE - WR1: collar_depth < SELF\solid_with_depression.depth; - WR2: tee_section_width > SELF\solid_with_slot.slot_width; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_colour; - name : label; - fill_colour : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY invisibility; - invisible_items : SET [1:?] OF invisible_item; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY over_riding_styled_item - SUBTYPE OF (styled_item); - over_ridden_style : styled_item; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_trapezoidal_section_slot -SUBTYPE OF (solid_with_slot); - draft_angle : plane_angle_measure; - floor_fillet_radius : non_negative_length_measure; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY presentation_style_by_context - SUBTYPE OF (presentation_style_assignment); - style_context : style_context_select; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_style - SUBTYPE OF (externally_defined_item, founded_item); - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_variable_radius_edge_blend - SUBTYPE OF (track_blended_solid); - point_list : LIST[2:?] OF point; - radius_list : LIST[2:?] OF positive_length_measure; - edge_function_list : LIST[1:?] OF blend_radius_variation_type; -WHERE - WR1: SIZEOF(point_list) = SIZEOF(radius_list); - WR2: SIZEOF(edge_function_list) = SIZEOF(radius_list) - 1; - WR3: NOT((point_list[1] = point_list[HIINDEX(point_list)]) AND NOT - (radius_list[1] = radius_list[HIINDEX(radius_list)])); -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY planar_box - SUBTYPE OF (planar_extent); - placement: axis2_placement; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY atom_based_literal - SUBTYPE OF (generic_literal); - lit_value : atom_based_value; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY assembly_component_usage - SUPERTYPE OF ( - QUANTIFIED_ASSEMBLY_COMPONENT_USAGE - ANDOR ONEOF ( - MULTI_LEVEL_REFERENCE_DESIGNATOR, - NEXT_ASSEMBLY_USAGE_OCCURRENCE, - PROMISSORY_USAGE_OCCURRENCE, - SPECIFIED_HIGHER_USAGE_OCCURRENCE)) - SUBTYPE OF (product_definition_usage); - reference_designator : OPTIONAL identifier; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY next_assembly_usage_occurrence - SUBTYPE OF (assembly_component_usage); -UNIQUE - UR1 : SELF\assembly_component_usage.reference_designator, SELF\product_definition_relationship.relating_product_definition; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY promissory_usage_occurrence - SUBTYPE OF (assembly_component_usage); -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY quantified_assembly_component_usage - SUBTYPE OF (assembly_component_usage); - quantity : measure_with_unit; -WHERE - WR1: (NOT ('NUMBER' IN TYPEOF(quantity.value_component))) - OR (quantity.value_component > 0); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY track_blended_solid_with_end_conditions - SUBTYPE OF (track_blended_solid); - end_conditions : LIST [2:2] OF blend_end_condition_select; -WHERE - WR1: SIZEOF(TYPEOF(SELF) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_VARIABLE_RADIUS_EDGE_BLEND', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_CHAMFERED_EDGES']) = 1; - WR2: NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1])) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2]))); - WR3: NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1])) - AND (NOT ((end_conditions[1] - :=: SELF\edge_blended_solid.blended_edges[1].edge_start) - XOR (end_conditions[1] - :=: SELF\edge_blended_solid.blended_edges[1].edge_end)))); - WR4: NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2])) - AND (NOT ((end_conditions[2] - :=: SELF\edge_blended_solid.blended_edges[HIINDEX( - SELF\edge_blended_solid.blended_edges)].edge_start) - XOR (end_conditions[2] - :=: SELF\edge_blended_solid.blended_edges[HIINDEX( - SELF\edge_blended_solid.blended_edges)].edge_end)))); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY binary_literal - SUBTYPE OF (generic_literal); - lit_value : BINARY; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY axis1_placement - SUBTYPE OF (placement); - axis : OPTIONAL direction; -DERIVE - z : direction := NVL(normalise(axis), dummy_gri || direction([0.0,0.0,1.0])); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY axis2_placement_2d - SUBTYPE OF (placement); - ref_direction : OPTIONAL direction; -DERIVE - p : LIST[2:2] OF direction := build_2axes(ref_direction); -WHERE - WR1: SELF\geometric_representation_item.dim = 2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY axis2_placement_3d - SUBTYPE OF (placement); - axis : OPTIONAL direction; - ref_direction : OPTIONAL direction; -DERIVE - p : LIST[3:3] OF direction := build_axes(axis,ref_direction); -WHERE - WR1: SELF\placement.location.dim = 3; - WR2: (NOT (EXISTS (axis))) OR (axis.dim = 3); - WR3: (NOT (EXISTS (ref_direction))) OR (ref_direction.dim = 3); - WR4: (NOT (EXISTS (axis))) OR (NOT (EXISTS (ref_direction))) OR (cross_product(axis,ref_direction).magnitude > 0.0); -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY cartesian_point - - SUBTYPE OF (point); - coordinates : LIST[1:3] OF length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY cartesian_transformation_operator_2d - SUBTYPE OF (cartesian_transformation_operator); -DERIVE - u : LIST[2:2] OF direction := base_axis(2,SELF\cartesian_transformation_operator.axis1, SELF\cartesian_transformation_operator.axis2,?); -WHERE - WR1: SELF\geometric_representation_item.dim = 2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY cartesian_transformation_operator_3d - SUBTYPE OF (cartesian_transformation_operator); - axis3 : OPTIONAL direction; -DERIVE - u : LIST[3:3] OF direction := base_axis(3,SELF\cartesian_transformation_operator.axis1, SELF\cartesian_transformation_operator.axis2,axis3); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; -END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY material_designation_characterization; - name : label; - description : text; - designation : material_designation; - property : characterized_material_property; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY geometric_representation_context - SUPERTYPE OF (ONEOF ( - GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER, - PATH_PARAMETER_REPRESENTATION_CONTEXT) ) - SUBTYPE OF (representation_context); - coordinate_space_dimension : dimension_count; -END_ENTITY; -(* REFERENCE FROM (representation_schema); *) - ENTITY founded_item SUPERTYPE OF ( ( ONEOF ( - B_SPLINE_CURVE_KNOT_LOCATOR, - B_SPLINE_CURVE_SEGMENT, - B_SPLINE_SURFACE_KNOT_LOCATOR, - B_SPLINE_SURFACE_PATCH, - B_SPLINE_SURFACE_STRIP, - BOUNDARY_CURVE_OF_B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE, - BOX_DOMAIN, - CHARACTER_GLYPH_STYLE_OUTLINE, - CHARACTER_GLYPH_STYLE_STROKE, - COMPOSITE_CURVE_SEGMENT, - COMPOSITE_CURVE_TRANSITION_LOCATOR, - CURVE_STYLE, - CURVE_STYLE_FONT, - CURVE_STYLE_FONT_AND_SCALING, - CURVE_STYLE_FONT_PATTERN, - EXTERNALLY_DEFINED_STYLE, - FILL_AREA_STYLE, - INTERPOLATED_CONFIGURATION_SEGMENT, - KINEMATIC_PATH_SEGMENT, - PLANE_ANGLE_AND_LENGTH_PAIR, - PLANE_ANGLE_AND_RATIO_PAIR, - POINT_STYLE, - PRESENTATION_STYLE_ASSIGNMENT, - RECTANGULAR_COMPOSITE_SURFACE_TRANSITION_LOCATOR, - SURFACE_PATCH, - SURFACE_SIDE_STYLE, - SURFACE_STYLE_BOUNDARY, - SURFACE_STYLE_CONTROL_GRID, - SURFACE_STYLE_FILL_AREA, - SURFACE_STYLE_PARAMETER_LINE, - SURFACE_STYLE_SEGMENTATION_CURVE, - SURFACE_STYLE_SILHOUETTE, - SURFACE_STYLE_USAGE, - SYMBOL_STYLE, - TEXT_STYLE, - VIEW_VOLUME) )ANDOR( ONEOF ( - CHARACTER_GLYPH_STYLE_OUTLINE, - CHARACTER_GLYPH_STYLE_STROKE, - CURVE_STYLE, - CURVE_STYLE_FONT, - CURVE_STYLE_FONT_AND_SCALING, - CURVE_STYLE_FONT_PATTERN, - EXTERNALLY_DEFINED_STYLE, - FILL_AREA_STYLE, - POINT_STYLE, - PRESENTATION_STYLE_ASSIGNMENT, - SURFACE_SIDE_STYLE, - SURFACE_STYLE_BOUNDARY, - SURFACE_STYLE_CONTROL_GRID, - SURFACE_STYLE_FILL_AREA, - SURFACE_STYLE_PARAMETER_LINE, - SURFACE_STYLE_SEGMENTATION_CURVE, - SURFACE_STYLE_SILHOUETTE, - SURFACE_STYLE_USAGE, - SYMBOL_STYLE, - TEXT_STYLE) ) ) ; - DERIVE - users : SET[0:?] OF founded_item_select := using_items(SELF,[]); - WHERE - WR1: SIZEOF(users) > 0; - WR2: NOT(SELF IN users); - END_ENTITY; -(* USED FROM (Identification_assignment_mim); *) -ENTITY applied_identification_assignment - SUBTYPE OF (identification_assignment); - items : SET[1:?] OF identification_item; -END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY shape_representation - SUBTYPE OF (representation); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY item_defined_transformation; - name : label; - description : OPTIONAL text; - transform_item_1 : representation_item; - transform_item_2 : representation_item; - END_ENTITY; -(* USED FROM (material_property_representation_schema); *) -ENTITY data_environment; - name : label; - description : text; - elements : SET [1:?] OF property_definition_representation; -END_ENTITY; - -(* Implicit interfaced from: geometry_schema *) -ENTITY cartesian_transformation_operator - SUPERTYPE OF (ONEOF ( - CARTESIAN_TRANSFORMATION_OPERATOR_2D, - CARTESIAN_TRANSFORMATION_OPERATOR_3D)) - SUBTYPE OF (functionally_defined_transformation, geometric_representation_item); - axis1 : OPTIONAL direction; - axis2 : OPTIONAL direction; - local_origin : cartesian_point; - scale : OPTIONAL REAL; -DERIVE - scl : REAL := NVL(scale, 1.0); -WHERE - WR1: scl > 0.0; -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY excessive_use_of_groups - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GROUP']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY excessive_use_of_layers - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_LAYER_ASSIGNMENT']); - END_ENTITY; -(* USED FROM (material_property_representation_schema); *) -ENTITY material_property_representation - SUBTYPE OF (property_definition_representation); - dependent_environment : data_environment; -END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organizational_project; - name : label; - description : OPTIONAL text; - responsible_organizations : SET [1:?] OF organization; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY inappropriate_element_visibility - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY inappropriate_use_of_layer - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_LAYER_ASSIGNMENT']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY inconsistent_element_reference - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_agreed_accuracy_parameter_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_agreed_scale_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_TRANSFORMATION_OPERATOR_3D']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_agreed_unit_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_referenced_coordinate_system - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY unused_shape_element - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY wrong_element_name - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM']); - END_ENTITY; -(* USED FROM (Document_assignment_mim); *) -ENTITY applied_document_reference - SUBTYPE OF (document_reference); - items : SET[1:?] OF document_reference_item; -END_ENTITY; -(* USED FROM (Document_assignment_mim); *) -ENTITY applied_document_usage_constraint_assignment - SUBTYPE OF (document_usage_constraint_assignment); - items : SET[1:?] OF document_reference_item; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_with_spacing - SUBTYPE OF (text_style); - character_spacing : character_spacing_select; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_category; - name : label; - description : OPTIONAL text; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_related_product_category - SUBTYPE OF (product_category); - products : SET [1:?] OF product; - END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_product_association - ABSTRACT SUPERTYPE; - name : label; - description : OPTIONAL text; - relating_document : document; - related_product : product_or_formation_or_definition; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_delineation - SUBTYPE OF (composite_text); - delineation : text_delineation; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY document_reference - ABSTRACT SUPERTYPE; - assigned_document : document; - source : label; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY document_usage_constraint_assignment - ABSTRACT SUPERTYPE; - assigned_document_usage : document_usage_constraint; - role : document_usage_role; - END_ENTITY; -(* USED FROM (Group_mim); *) -ENTITY applied_group_assignment - SUBTYPE OF (group_assignment); - items : SET[1:?] OF groupable_item; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY defined_character_glyph - SUBTYPE OF(geometric_representation_item); - definition : defined_glyph_select; - placement : axis2_placement; - END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY explicit_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - DEFINED_CONSTRAINT, - FREE_FORM_CONSTRAINT)) - SUBTYPE OF (variational_representation_item); - description : OPTIONAL text; - constrained_elements : SET[1:?] OF representation_item; - reference_elements : SET[0:?] OF representation_item; -WHERE - WR1: SIZEOF(constrained_elements * reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY defined_constraint - ABSTRACT SUPERTYPE OF ( - EQUAL_PARAMETER_CONSTRAINT) - SUBTYPE OF (explicit_constraint); -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY equal_parameter_constraint - SUBTYPE OF (defined_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF variational_parameter; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF variational_parameter; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements) >= 2; -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY free_form_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - FREE_FORM_ASSIGNMENT, - FREE_FORM_RELATION)) - SUBTYPE OF (explicit_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF variational_parameter; - SELF\explicit_constraint.reference_elements : - SET[0:?] OF variational_parameter; - constraining_expression : expression; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal - SUBTYPE OF (geometric_representation_item); - literal : presentable_text; - placement : axis2_placement; - alignment : text_alignment; - path : text_path; - font : font_select; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY externally_defined_character_glyph - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (Event_assignment_mim); *) -ENTITY applied_event_occurrence_assignment - SUBTYPE OF (event_occurrence_assignment); - items : SET[1:?] OF event_occurrence_item; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY explicit_geometric_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - FIXED_ELEMENT_GEOMETRIC_CONSTRAINT, - PARALLEL_GEOMETRIC_CONSTRAINT, - POINT_DISTANCE_GEOMETRIC_CONSTRAINT, - SKEW_LINE_DISTANCE_GEOMETRIC_CONSTRAINT, - CURVE_DISTANCE_GEOMETRIC_CONSTRAINT, - SURFACE_DISTANCE_GEOMETRIC_CONSTRAINT, - RADIUS_GEOMETRIC_CONSTRAINT, - CURVE_LENGTH_GEOMETRIC_CONSTRAINT, - PARALLEL_OFFSET_GEOMETRIC_CONSTRAINT, - ANGLE_GEOMETRIC_CONSTRAINT, - PERPENDICULAR_GEOMETRIC_CONSTRAINT, - INCIDENCE_GEOMETRIC_CONSTRAINT, - COAXIAL_GEOMETRIC_CONSTRAINT, - TANGENT_GEOMETRIC_CONSTRAINT, - SYMMETRY_GEOMETRIC_CONSTRAINT, - SWEPT_POINT_CURVE_GEOMETRIC_CONSTRAINT, - SWEPT_CURVE_SURFACE_GEOMETRIC_CONSTRAINT, - CURVE_SMOOTHNESS_GEOMETRIC_CONSTRAINT, - SURFACE_SMOOTHNESS_GEOMETRIC_CONSTRAINT)) - SUBTYPE OF (defined_constraint, geometric_representation_item); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF geometric_representation_item; - SELF\explicit_constraint.reference_elements : - SET[0:?] OF geometric_representation_item; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY fixed_element_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF geometric_constraint_element; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY parallel_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF linear_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF linear_geometry_constraint_element; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_delineation - SUBTYPE OF (text_literal); - delineation : text_delineation; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY point_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:?] OF point; - SELF\explicit_constraint.reference_elements : - SET[0:4] OF point_curve_or_surface_constraint_element; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PDGC_WITH_DIMENSION' - IN TYPEOF(SELF)) AND - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY pdgc_with_dimension - SUBTYPE OF (point_distance_geometric_constraint); - distance_value : non_negative_length_measure; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY skew_line_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:2] OF line; - SELF\explicit_constraint.reference_elements : SET[0:1] OF line; - distance_value : non_negative_length_measure; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements) = 2; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY near_point_relationship - SUBTYPE OF (representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : - curve_or_surface_constraint_element; - SELF\representation_item_relationship.related_representation_item : - point; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY colour_rgb - SUBTYPE OF (colour_specification); - red : REAL; - green : REAL; - blue : REAL; -WHERE - WR1: {0.0 <= red <= 1.0}; - WR2: {0.0 <= green <= 1.0}; - WR3: {0.0 <= blue <= 1.0}; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY cdgc_with_dimension - SUBTYPE OF (curve_distance_geometric_constraint); - distance_value : non_negative_length_measure; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY draughting_pre_defined_text_font - SUBTYPE of (pre_defined_text_font); -WHERE - WR1: SELF.name[1:8] = 'ISO 3098'; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY sdgc_with_dimension - SUBTYPE OF (surface_distance_geometric_constraint); - distance_value : non_negative_length_measure; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY radius_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF radial_geometry_constraint_element; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY rgc_with_dimension - SUBTYPE OF (radius_geometric_constraint); - radius_value : positive_length_measure; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_length_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF bounded_curve; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY clgc_with_dimension - SUBTYPE OF (curve_length_geometric_constraint); - length_value : positive_length_measure; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY pre_defined_text_font - SUBTYPE OF (pre_defined_item); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY pogc_with_dimension - SUBTYPE OF (parallel_offset_geometric_constraint); - offset_value : positive_length_measure; - offset_direction_constrained : BOOLEAN; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) = 1) - OR (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: (NOT (offset_direction_constrained = TRUE) - AND ((offset_type = curve_2d_offset) - OR (offset_type = surface_offset))); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY angle_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF linear_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF linear_geometry_constraint_element; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) = 1) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AGC_WITH_DIMENSION' - IN TYPEOF(SELF)) AND - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY agc_with_dimension - SUBTYPE OF (angle_geometric_constraint); - angle_value : plane_angle_measure; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_text - SUBTYPE OF (mapped_item); - SELF\mapped_item.mapping_target : axis2_placement; - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_STRING_REPRESENTATION' IN - TYPEOF( SELF\mapped_item.mapping_source.mapped_representation); - WR2: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF( SELF); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_text_occurrence - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : annotation_text_occurrence_item; - END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY kinematic_property_definition_representation - ABSTRACT SUPERTYPE OF (ONEOF ( - KINEMATIC_PROPERTY_TOPOLOGY_REPRESENTATION, - KINEMATIC_PROPERTY_MECHANISM_REPRESENTATION)) - SUBTYPE OF (property_definition_representation); - SELF\property_definition_representation.definition : product_definition_kinematics; -- LK -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY product_definition_kinematics - SUBTYPE OF (property_definition); - SELF\property_definition.definition : product_definition; -INVERSE - representation_relation : kinematic_property_definition_representation FOR definition; -UNIQUE - UR1 : definition; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY symmetry_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[2:2] OF geometric_representation_item; - mirror_element : linear_geometry_constraint_element; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; - WR2: SIZEOF(TYPEOF(mirror_element) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR']) = 0; - WR3: NOT ((SELF\geometric_representation_item.dim = 2) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(mirror_element))); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY swept_point_curve_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:?] OF curve; - SELF\explicit_constraint.reference_elements : - SET[1:1] OF swept_face_solid; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY swept_curve_surface_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:?] OF surface; - SELF\explicit_constraint.reference_elements : - SET[1:1] OF swept_surface_or_solid; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_segment_set - SUBTYPE OF (geometric_representation_item); - segments : SET[1:?] OF composite_curve_segment; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_smoothness_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:1] OF curve_segment_set; - smoothness : transition_code; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY surface_patch_set - SUBTYPE OF (geometric_representation_item); - patches : SET[1:?] OF surface_patch; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY surface_smoothness_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET [1:1] OF surface_patch_set; - u_smoothness : transition_code; - v_smoothness : transition_code; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (Feature_and_connection_zone_mim); *) -ENTITY connection_zone_interface_plane_relationship - SUBTYPE OF (shape_aspect, shape_aspect_relationship); -UNIQUE - UR1: SELF\shape_aspect_relationship.name; -END_ENTITY; -(* USED FROM (Feature_and_connection_zone_mim); *) -ENTITY feature_definition_with_connection_area - SUBTYPE OF (shape_feature_definition); -END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY document_identifier - SUBTYPE OF (group); - UNIQUE - UR1: SELF\group.name, SELF\group.description; - END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY document_identifier_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : document_identifier; - items : SET [1:?] OF document_identifier_assigned_item; - END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY partial_document_with_structured_text_representation_assignment - SUBTYPE OF (applied_document_usage_constraint_assignment, characterized_object); - END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY specification_definition - SUBTYPE OF (product_definition); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_with_mirror - SUBTYPE OF (text_style); - mirror_placement : axis2_placement; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_text_character - SUBTYPE OF (mapped_item); - alignment : text_alignment; - SELF\mapped_item.mapping_target : axis2_placement; - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTER_GLYPH_SYMBOL' IN - TYPEOF (SELF\mapped_item.mapping_source.mapped_representation); - WR2: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF (SELF); - END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_loop - SUBTYPE OF (edge_loop); - SELF\path.edge_list : LIST [1:?] OF UNIQUE oriented_joint; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_link - SUBTYPE OF (vertex); -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY oriented_joint - SUBTYPE OF (oriented_edge); - SELF\oriented_edge.edge_element : kinematic_joint; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_network_structure - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF kinematic_loop; - parent : kinematic_topology_structure; -WHERE - WR1: context_of_items :=: parent.context_of_items; - WR2: get_kinematic_joints_from_kinematic_loops(items) <= parent.items; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_tree_structure - SUBTYPE OF (kinematic_topology_directed_structure); -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_joint - SUBTYPE OF (edge); - SELF\edge.edge_start : kinematic_link; - SELF\edge.edge_end : kinematic_link; -UNIQUE - UR1: edge_start, edge_end; -WHERE - WR1: edge_start :<>: edge_end; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY value_function -SUPERTYPE OF ( - INT_VALUE_FUNCTION) - -SUBTYPE OF (numeric_expression, unary_generic_expression); - SELF\unary_generic_expression.operand: string_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY odd_function -SUBTYPE OF (unary_Boolean_expression); - SELF\unary_generic_expression.operand: numeric_expression; -WHERE - WR1: is_int_expr(operand); -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_substructure - SUBTYPE OF (kinematic_topology_structure); - parent : kinematic_topology_structure; -WHERE - WR1: context_of_items :=: parent.context_of_items; - WR2: SELF\kinematic_topology_structure.items <= parent\kinematic_topology_structure.items; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY int_value_function -SUBTYPE OF (value_function); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY unary_function_call - ABSTRACT SUPERTYPE OF (ONEOF ( - ABS_FUNCTION, - MINUS_FUNCTION, - SIN_FUNCTION, - COS_FUNCTION, - TAN_FUNCTION, - ASIN_FUNCTION, - ACOS_FUNCTION, - EXP_FUNCTION, - LOG_FUNCTION, - LOG2_FUNCTION, - LOG10_FUNCTION, - SQUARE_ROOT_FUNCTION)) - -SUBTYPE OF (unary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY length_function -SUBTYPE OF (numeric_expression, unary_generic_expression); - SELF\unary_generic_expression.operand: string_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY square_root_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY feature_component_relationship - SUPERTYPE OF (ONEOF ( - PATTERN_OMIT_MEMBERSHIP, - PATTERN_OFFSET_MEMBERSHIP)) - SUBTYPE OF (shape_aspect_relationship); - WHERE - WR1: ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPLICATE_FEATURE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRANSITION_FEATURE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MODIFIED_PATTERN'] * TYPEOF - (SELF.relating_shape_aspect)) = 1) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MACHINING_FEATURE_DEFINITION' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))); -END_ENTITY; -- feature_component_relationship -(* USED FROM (iso13584_expressions_schema); *) -ENTITY tan_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY sin_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY real_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (numeric_defined_function); -END_ENTITY ; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY numeric_defined_function - ABSTRACT SUPERTYPE OF (ONEOF ( - INTEGER_DEFINED_FUNCTION, - REAL_DEFINED_FUNCTION)) - -SUBTYPE OF (numeric_expression, defined_function); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY minus_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY minimum_function -SUBTYPE OF (multiple_arity_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY maximum_function -SUBTYPE OF (multiple_arity_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY log2_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY log10_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY log_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY integer_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (numeric_defined_function); -END_ENTITY ; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY exp_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY cos_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY atan_function -SUBTYPE OF (binary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY asin_function - SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY acos_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY abs_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY wire_shell - SUBTYPE OF (topological_representation_item); - wire_shell_extent : SET [1:?] OF loop; - WHERE - WR1: NOT mixed_loop_type_set(wire_shell_extent); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY reparametrised_composite_curve_segment - SUBTYPE OF (composite_curve_segment); - param_length : parameter_value; -WHERE - WR1: param_length > 0.0; -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex_shell - SUBTYPE OF (topological_representation_item); - vertex_shell_extent : vertex_loop; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_transparent; - transparency : REAL; - WHERE - WR1: {0.0 <= transparency <= 1.0}; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_rendering_with_properties - SUBTYPE OF (surface_style_rendering); - properties : SET [1:2] OF rendering_properties_select; - WHERE - WR1: (HIINDEX(SELF.properties) = 1) - XOR - (TYPEOF(SELF.properties[1]) <> TYPEOF(SELF.properties[2])); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY outer_boundary_curve - SUBTYPE OF (boundary_curve); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_reflectance_ambient_diffuse - SUBTYPE OF (surface_style_reflectance_ambient); - diffuse_reflectance : REAL; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_reflectance_ambient; - ambient_reflectance : REAL; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_reflectance_ambient_diffuse_specular - SUBTYPE OF (surface_style_reflectance_ambient_diffuse); - specular_reflectance : REAL; - specular_exponent : REAL; - specular_colour : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_for_defined_font; - text_colour : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_rendering; - rendering_method : shading_curve_method; - rendering_properties : surface_rendering_properties; - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY leader_terminator - SUBTYPE OF (terminator_symbol); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_CURVE' IN TYPEOF - (SELF\terminator_symbol.annotated_curve); - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY draughting_callout_relationship; - name : label; - description : text; - relating_draughting_callout : draughting_callout; - related_draughting_callout : draughting_callout; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY directed_action - SUBTYPE OF (executed_action); - directive : action_directive; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_directive; - name : label; - description : OPTIONAL text; - analysis : text; - comment : text; - requests : SET [1:?] OF versioned_action_request; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY time_interval_assignment - ABSTRACT SUPERTYPE; - assigned_time_interval : time_interval; - role : time_interval_role; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY shape_defining_relationship - SUBTYPE OF (shape_aspect_relationship); -END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_relationship; - name : label; - description : OPTIONAL text; - relating_document : document; - related_document : document; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY action_request_assignment - ABSTRACT SUPERTYPE; - assigned_action_request : versioned_action_request; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval_role; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY versioned_action_request; - id : identifier; - version : OPTIONAL label; - purpose : text; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_request_status; - status : label; - assigned_request : versioned_action_request; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY versioned_action_request_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_versioned_action_request : versioned_action_request; - related_versioned_action_request : versioned_action_request; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY security_classification_assignment - ABSTRACT SUPERTYPE; - assigned_security_classification : security_classification; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (security_classification_schema); *) - ENTITY security_classification_level; - name : label; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_request_solution; - method : action_method; - request : versioned_action_request; - DERIVE - description : text := get_description_value(SELF); - name : label := get_name_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY transition_feature - SUPERTYPE OF (ONEOF ( - CHAMFER, - EDGE_ROUND, - FILLET)) - SUBTYPE OF (shape_aspect); - WHERE - WR1: SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOUND_FEATURE'] - * TYPEOF(SELF.of_shape.definition)) = 1; - WR2: SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHAMFER', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_ROUND', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FILLET'] * - TYPEOF(SELF)) = 1; -END_ENTITY; -- transition_feature -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_rendering_properties; - rendered_colour : colour; - END_ENTITY; -(* USED FROM (Multi_linguism_mim); *) -ENTITY attribute_language_assignment -SUBTYPE OF (attribute_classification_assignment); - SELF\attribute_classification_assignment.assigned_class: language; - items : SET [1:?] OF attribute_language_item; -WHERE -WR1: SELF\attribute_classification_assignment.role.name IN ['primary', 'translated']; -WR2: SELF\attribute_classification_assignment.attribute_name<> ''; -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY expression_conversion_based_unit - SUBTYPE OF (context_dependent_unit, variable_semantics); -INVERSE - associated_variable_environment: environment FOR semantics; -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY dielectric_constant_measure_with_unit - SUBTYPE OF (ratio_measure_with_unit); -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY loss_tangent_measure_with_unit - SUBTYPE OF (ratio_measure_with_unit); -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY thermal_resistance_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.THERMAL_RESISTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (security_classification_schema); *) - ENTITY security_classification; - name : label; - purpose : text; - security_level : security_classification_level; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY connected_edge_set - SUBTYPE OF (topological_representation_item); - ces_edges : SET [1:?] OF edge; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY connected_face_set - SUPERTYPE OF (ONEOF ( - CLOSED_SHELL, - OPEN_SHELL)) - SUBTYPE OF (topological_representation_item); - cfs_faces : SET [1:?] OF face; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY edge - SUPERTYPE OF (ONEOF ( - EDGE_CURVE, - ORIENTED_EDGE, - SUBEDGE)) - SUBTYPE OF (topological_representation_item); - edge_start : vertex; - edge_end : vertex; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY edge_loop - SUBTYPE OF (loop,path); - DERIVE - ne : INTEGER := SIZEOF(SELF\path.edge_list); - WHERE - WR1: (SELF\path.edge_list[1].edge_start) :=: - (SELF\path.edge_list[ne].edge_end); - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_symbol - SUBTYPE OF (generic_character_glyph_symbol); - character_box : planar_extent; - baseline_ratio : ratio_measure; -DERIVE - box_height : length_measure := character_box.size_in_y; -WHERE - WR1: {0.0 <= baseline_ratio <= 1.0}; - WR2: item_in_context(SELF.character_box, - SELF\representation.context_of_items); - WR3: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' - IN TYPEOF (SELF.box_height); -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face_bound - SUBTYPE OF(topological_representation_item); - bound : loop; - orientation : BOOLEAN; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face_outer_bound - SUBTYPE OF (face_bound); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY loop - SUPERTYPE OF (ONEOF ( - VERTEX_LOOP, - EDGE_LOOP, - POLY_LOOP)) - SUBTYPE OF (topological_representation_item); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY oriented_edge - SUBTYPE OF (edge); - edge_element : edge; - orientation : BOOLEAN; - DERIVE - SELF\edge.edge_start : vertex := boolean_choose (SELF.orientation, - SELF.edge_element.edge_start, - SELF.edge_element.edge_end); - SELF\edge.edge_end : vertex := boolean_choose (SELF.orientation, - SELF.edge_element.edge_end, - SELF.edge_element.edge_start); - WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE' IN TYPEOF (SELF.edge_element)); - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_symbol_stroke - SUBTYPE OF (character_glyph_symbol); - strokes : SET [1:?] OF curve; -WHERE - WR1: SELF.strokes <= SELF\representation.items; -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY topological_representation_item - SUPERTYPE OF (ONEOF ( - VERTEX, - EDGE, - FACE_BOUND, - FACE, - VERTEX_SHELL, - WIRE_SHELL, - CONNECTED_EDGE_SET, - CONNECTED_FACE_SET,( - LOOP - ANDOR - PATH))) - SUBTYPE OF (representation_item); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex - SUBTYPE OF (topological_representation_item); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex_loop - SUBTYPE OF (loop); - loop_vertex : vertex; - END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY assembly_geometric_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - BINARY_ASSEMBLY_CONSTRAINT, - FIXED_CONSTITUENT_ASSEMBLY_CONSTRAINT)) - SUBTYPE OF (explicit_constraint); - -END_ENTITY;-- assembly_geometric_constraint -(* USED FROM (presentation_resource_schema); *) -ENTITY text_font_family; - id : identifier; - name : label; - description : text; -INVERSE - fonts : SET [1:?] OF text_font_in_family FOR family; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY text_font; - id : identifier; - name : label; - description : text; -INVERSE - glyphs : SET [1:?] OF character_glyph_font_usage FOR font; -END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY parallel_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - parallel_geometric_constraint); -END_ENTITY;-- parallel_assembly_constraint -(* USED FROM (assembly_constraint_schema); *) -ENTITY parallel_assembly_constraint_with_dimension - SUBTYPE OF (parallel_assembly_constraint, - pgc_with_dimension); -END_ENTITY;-- parallel_assembly_constraint_with_dimension -(* USED FROM (assembly_constraint_schema); *) -ENTITY surface_distance_assembly_constraint_with_dimension - SUBTYPE OF (binary_assembly_constraint, - sdgc_with_dimension); -END_ENTITY;-- surface_distance_assembly_constraint_with_dimension -(* USED FROM (assembly_constraint_schema); *) -ENTITY angle_assembly_constraint_with_dimension - SUBTYPE OF (binary_assembly_constraint, - agc_with_dimension); -END_ENTITY;-- angle_assembly_constraint_with_dimension -(* USED FROM (assembly_constraint_schema); *) -ENTITY perpendicular_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - perpendicular_geometric_constraint); -END_ENTITY;-- perpendicular_assembly_constraint -(* USED FROM (assembly_constraint_schema); *) -ENTITY incidence_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - incidence_geometric_constraint); -END_ENTITY;-- incidence_assembly_constraint -(* USED FROM (assembly_constraint_schema); *) -ENTITY coaxial_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - coaxial_geometric_constraint); -END_ENTITY;-- coaxial_assembly_constraint -(* USED FROM (assembly_constraint_schema); *) -ENTITY tangent_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - tangent_geometric_constraint); -END_ENTITY;-- tangent_assembly_constraint -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY kinematic_control; - controlled_mechanism : mechanism_representation; - contained_kinematic_programs : kinematic_analysis_definition; -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY prescribed_path - SUBTYPE OF (link_motion_representation_along_path); - controlling_joints : OPTIONAL SET [1 : 6] OF kinematic_joint; -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY kinematic_analysis_result; - analysed_mechanism : mechanism_representation; -- LK - result : kinematic_result; -(* -WHERE -WR1: ('KINEMATIC_ANALYSIS_CONTROL_AND_RESULT_SCHEMA.RESULTING_PATH' IN TYPEOF (result)) - XOR - (SIZEOF (QUERY (result <* contained_kinematic_results | - (('KINEMATIC_ANALYSIS_CONTROL_AND_RESULT_SCHEMA.'+ - 'INTERPOLATED_CONFIGURATION_SEQUENCE' IN TYPEOF (result)) - AND - (SIZEOF (QUERY (sequence <* result\ - interpolated_configuration_sequence.interpolation | - (sequence.interpolation <> undefined ))) > 0)))) = 0); -*) -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY kinematic_analysis_consistency; - control : kinematic_control; - result : kinematic_analysis_result; -WHERE - WR1: control.controlled_mechanism :=: result.analysed_mechanism; -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY resulting_path - SUBTYPE OF (link_motion_representation_along_path); - controlling_joints : SET [1 : ?] OF kinematic_joint; -END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_method; - name : label; - description : OPTIONAL text; - consequence : text; - purpose : text; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_person_organization; - person_organization : person_organization_select; - authorized_approval : approval; - role : approval_role; - END_ENTITY; -(* USED FROM (Specification_control_mim); *) - ENTITY instance_usage_context_assignment - SUBTYPE OF (product_definition_context); - items : SET [1:?] OF instance_usage_context_select; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action; - name : label; - description : OPTIONAL text; - chosen_method : action_method; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_method_relationship; - name : label; - description : OPTIONAL text; - relating_method : action_method; - related_method : action_method; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_resource; - name : label; - description : OPTIONAL text; - usage : SET [1:?] OF supported_item; - kind : action_resource_type; - END_ENTITY; -(* USED FROM (process_property_representation_schema); *) -ENTITY action_property_representation; - name : label; - description : text; - property : action_property; - representation : representation; -END_ENTITY; -(* USED FROM (process_property_representation_schema); *) -ENTITY resource_property_representation; - name : label; - description : text; - property : resource_property; - representation : representation; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY action_property; - name : label; - description : text; - definition : characterized_action_definition; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY action_resource_requirement; - name : label; - description : text; - kind : resource_requirement_type; - operations : SET [1:?] OF characterized_action_definition; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY process_product_association; - name : label; - description : text; - defined_product : characterized_product_definition; - process : product_definition_process; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY process_property_association; - name : label; - description : text; - process : property_process; - property_or_shape : property_or_shape_select; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY product_definition_process - SUBTYPE OF (action); - identification : identifier; -INVERSE - product_definitions : SET [1:?] OF process_product_association FOR process; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY property_process - SUBTYPE OF (action); - identification : identifier; -INVERSE - properties : SET [1:?] OF process_property_association FOR process; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY requirement_for_action_resource - SUBTYPE OF (action_resource_requirement); - resources : SET [1:?] OF action_resource; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY resource_property; - name : label; - description : text; - resource : characterized_resource_definition; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY resource_requirement_type; - name : label; - description : text; -END_ENTITY; -(* USED FROM (Extended_basic_geometry_mim); *) - ENTITY geometric_model_element_relationship - SUBTYPE OF (geometric_representation_item, representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : geometric_representation_item; - SELF\representation_item_relationship.related_representation_item: geometric_representation_item; - UNIQUE - UR1: SELF\representation_item_relationship.relating_representation_item, - SELF\representation_item_relationship.related_representation_item; - WHERE - WR1: SELF\representation_item_relationship.relating_representation_item :<>: - SELF\representation_item_relationship.related_representation_item; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY circular_area - SUBTYPE OF (primitive_2d); - centre : cartesian_point; - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY elliptic_area - SUBTYPE OF (primitive_2d); - position : axis2_placement_2d; - semi_axis_1 : positive_length_measure; - semi_axis_2 : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY polygonal_area - SUBTYPE OF (primitive_2d); - bounds : LIST[3:?] OF UNIQUE cartesian_point; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY primitive_2d - SUPERTYPE OF (ONEOF ( - CIRCULAR_AREA, - ELLIPTIC_AREA, - RECTANGULAR_AREA, - POLYGONAL_AREA, - HALF_SPACE_2D)) - SUBTYPE OF (geometric_representation_item); -WHERE - WR1: SELF\geometric_representation_item.dim = 2; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY rectangular_area - SUBTYPE OF (primitive_2d); - position : axis2_placement_2d; - x : positive_length_measure; - y : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY boolean_result - SUBTYPE OF (geometric_representation_item); - operator : boolean_operator; - first_operand : boolean_operand; - second_operand : boolean_operand; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY csg_solid - SUBTYPE OF (solid_model); - tree_root_expression : csg_select; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY half_space_2d - SUBTYPE OF (primitive_2d); - base_curve : curve; - agreement_flag : BOOLEAN; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY area_with_outer_boundary - SUBTYPE OF (half_space_2d); - SELF\half_space_2d.base_curve : composite_curve; -WHERE - WR1: base_curve\composite_curve.closed_curve = TRUE; -END_ENTITY; -(* USED FROM (group_schema); *) - ENTITY group SUPERTYPE OF (ONEOF ( - CHANGE_GROUP, - CHANGE_ELEMENT) ) ; - name : label; - description : OPTIONAL text; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (group_schema); *) - ENTITY group_relationship; - name : label; - description : OPTIONAL text; - relating_group : group; - related_group : group; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY group_assignment - ABSTRACT SUPERTYPE OF (ONEOF ( - CURRENT_CHANGE_ELEMENT_ASSIGNMENT, - PREVIOUS_CHANGE_ELEMENT_ASSIGNMENT, - CHANGE_GROUP_ASSIGNMENT) ) ; - assigned_group : group; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY abstract_variable - SUBTYPE OF (property_definition, property_definition_representation, representation, representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY atomic_formula - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY attribute_assertion - SUBTYPE OF (fact_type, property_definition_representation, representation); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY back_chaining_rule - SUBTYPE OF (rule_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY back_chaining_rule_body - SUBTYPE OF (property_definition, property_definition_representation, representation); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY complex_clause - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY complex_conjunctive_clause - SUBTYPE OF (complex_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY complex_disjunctive_clause - SUBTYPE OF (complex_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY entity_assertion - SUBTYPE OF (fact_type); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY enum_reference_prefix - SUBTYPE OF (descriptive_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY extent - SUBTYPE OF (characterized_object); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY fact_type - SUBTYPE OF (property_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY forward_chaining_rule - SUBTYPE OF (rule_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY forward_chaining_rule_premise - SUBTYPE OF (property_definition, property_definition_representation, representation); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY func - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY global_assignment - SUBTYPE OF (representation_item_relationship); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY ground_fact - SUBTYPE OF (atomic_formula); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY literal_conjunction - SUBTYPE OF (simple_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY literal_disjunction - SUBTYPE OF (simple_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY row_value - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY row_variable - SUBTYPE OF (abstract_variable); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_action - SUBTYPE OF (action); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_condition - SUBTYPE OF (atomic_formula); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_definition - SUBTYPE OF (rule_software_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_superseded_assignment - SUBTYPE OF (action_assignment); - items : SET [1:?] OF rule_superseded_item; -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_set - SUBTYPE OF (rule_software_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_software_definition - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_set_group -SUBTYPE OF (rule_software_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_supersedence - SUBTYPE OF (rule_action); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY scalar_variable - SUBTYPE OF (abstract_variable); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY simple_clause - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY symbol - SUBTYPE OF (representation_item); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_relationship_with_transformation - SUBTYPE OF (representation_relationship); - transformation_operator : transformation; - WHERE - WR1: SELF\representation_relationship.rep_1.context_of_items - :<>: SELF\representation_relationship.rep_2.context_of_items; - END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_design_version_to_individual - SUBTYPE OF (product_definition_formation_relationship); - - (* removed : SELF\product_definition_formation_relationship.individual_product : PRODUCT_DEFINITION_FORMATION *) - - (* removed : SELF\product_definition_formation_relationship.product_design_version : PRODUCT_DEFINITION_FORMATION *) - DERIVE - individual_product : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.related_product_definition_formation; -- RELATED_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - product_design_version : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.relating_product_definition_formation; -- RELATING_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_design_to_individual - SUBTYPE OF (product_relationship); - - (* removed : SELF\product_relationship.individual_product : PRODUCT *) - - (* removed : SELF\product_relationship.product_design : PRODUCT *) - DERIVE - individual_product : PRODUCT := SELF\product_relationship.related_product; -- RELATED_PRODUCT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - product_design : PRODUCT := SELF\product_relationship.relating_product; -- RELATING_PRODUCT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_planned_to_realized - SUBTYPE OF (product_definition_formation_relationship); - - (* removed : SELF\product_definition_formation_relationship.planned_product : PRODUCT_DEFINITION_FORMATION *) - - (* removed : SELF\product_definition_formation_relationship.realized_product : PRODUCT_DEFINITION_FORMATION *) - DERIVE - planned_product : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.relating_product_definition_formation; -- RELATING_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - realized_product : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.related_product_definition_formation; -- RELATED_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_as_planned - SUBTYPE OF (product_definition_formation); -END_ENTITY; -(* USED FROM (Configuration_item_mim); *) -ENTITY configuration_item_hierarchical_relationship - SUBTYPE OF (configuration_item_relationship); -END_ENTITY; -(* USED FROM (Configuration_item_mim); *) -ENTITY configuration_item_revision_sequence - SUBTYPE OF (configuration_item_relationship); -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_design; - configuration : configuration_item; - design : configuration_design_item; -DERIVE - name : label := get_name_value (SELF); - description : text := get_description_value (SELF); -UNIQUE - UR1: configuration, design; -WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - WR2: SIZEOF (USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_item; - id : identifier; - name : label; - description : OPTIONAL text; - item_concept : product_concept; - purpose : OPTIONAL label; -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_item_relationship; - name : label; - description : OPTIONAL text; - relating_configuration_item : configuration_item; - related_configuration_item : configuration_item; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY identification_assignment - ABSTRACT SUPERTYPE; - assigned_id : identifier; - role : identification_role; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product; - id : identifier; - name : label; - description : OPTIONAL text; - frame_of_reference : SET [1:?] OF product_context; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition SUPERTYPE OF (ONEOF ( - COMPOSITE_ASSEMBLY_SEQUENCE_DEFINITION, - LAMINATE_TABLE, - PLY_LAMINATE_SEQUENCE_DEFINITION) ) ; - id : identifier; - description : OPTIONAL text; - formation : product_definition_formation; - frame_of_reference : product_definition_context; - DERIVE - name : label := get_name_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_formation; - id : identifier; - description : OPTIONAL text; - of_product : product; - UNIQUE - UR1: id, of_product; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_formation_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_product_definition_formation : product_definition_formation; - related_product_definition_formation : product_definition_formation; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_product_definition : product_definition_or_reference; - related_product_definition : product_definition_or_reference; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_product : product; - related_product : product; - END_ENTITY; -(* USED FROM (Activity_mim); *) -ENTITY applied_action_assignment - SUBTYPE OF (action_assignment); - items : SET[1:?] OF action_items; -END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_relationship; - name : label; - description : OPTIONAL text; - relating_action : action; - related_action : action; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_status; - status : label; - assigned_action : executed_action; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY executed_action - SUBTYPE OF (action); - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY action_assignment - ABSTRACT SUPERTYPE; - assigned_action : action; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY characterized_object; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY characterized_item_within_representation - SUBTYPE OF (characterized_object); - item : representation_item; - rep : representation; - UNIQUE - WR1: item, rep; - WHERE - WR2: rep IN using_representations(item); - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY characterized_chain_based_item_within_representation - SUBTYPE OF (characterized_item_within_representation); - nodes : LIST[2:?] OF UNIQUE representation; - - undirected_link : LIST[1:?] OF chained_representation_link; - DERIVE - root : representation := nodes[1]; - - SELF\characterized_item_within_representation.rep : representation := nodes[HIINDEX(nodes)]; -- leaf : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - directed_link : LIST[1:?] OF representation_relationship := get_directed_link(nodes, undirected_link); - leaf : REPRESENTATION := SELF\characterized_item_within_representation.rep; -- REP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - WHERE - WR1 : EXISTS(directed_link); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY point_style - SUBTYPE OF (founded_item); - name : label; - marker : marker_select; - marker_size : size_select; - marker_colour : colour; - END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY product_material_composition_relationship -SUBTYPE OF (product_definition_relationship); - class : label; - constituent_amount : SET [1:?] OF characterized_product_composition_value; - composition_basis : label; - determination_method : text; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY make_from_usage_option - SUBTYPE OF (product_definition_usage); - ranking : INTEGER; - ranking_rationale : text; - quantity : measure_with_unit; -WHERE - WR1: (NOT ('NUMBER' IN TYPEOF(quantity.value_component))) - OR (quantity.value_component > 0); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_curve_font - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_marker - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (aic_curve_swept_solid); *) - ENTITY ruled_surface_swept_area_solid - SUBTYPE OF(surface_curve_swept_area_solid); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(SELF.reference_surface)) AND - (SELF.reference_surface\b_spline_surface.u_degree = 1); - WR2: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(SELF.directrix)) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF(SELF.directrix\surface_curve.curve_3d)) - AND - (SELF.directrix\surface_curve.curve_3d\b_spline_curve.degree = - SELF.reference_surface\b_spline_surface.v_degree)); - END_ENTITY; -(* USED FROM (Classification_with_attributes_mim); *) -ENTITY characterized_class -SUBTYPE OF (characterized_object, class); -END_ENTITY; -(* USED FROM (Classification_with_attributes_mim); *) -ENTITY class_system -SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Classification_assignment_mim); *) -ENTITY applied_classification_assignment - SUBTYPE OF (classification_assignment); - items : SET[1:?] OF classification_item; -END_ENTITY; -(* USED FROM (classification_schema); *) -ENTITY class - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (classification_schema); *) -ENTITY class_by_extension - SUBTYPE OF (class); -END_ENTITY; -(* USED FROM (classification_schema); *) -ENTITY class_by_intension - SUBTYPE OF (class); -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY classification_assignment - ABSTRACT SUPERTYPE; - assigned_class : group; - role : classification_role; - END_ENTITY; -(* USED FROM (certification_schema); *) - ENTITY certification; - name : label; - purpose : text; - kind : certification_type; - END_ENTITY; -(* USED FROM (Plib_class_reference_mim); *) - ENTITY known_source - SUBTYPE OF (external_source, pre_defined_item); - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY general_property; - id : identifier; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY general_property_association; - name : label; - description : OPTIONAL text; - base_definition : general_property; - derived_definition : derived_property_select; - WHERE - WR1: SIZEOF(USEDIN(derived_definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION')) = 1; - WR2: derived_definition.name = base_definition.name; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY property_definition SUPERTYPE OF (ONEOF ( - PRODUCT_DEFINITION_KINEMATICS, - PRODUCT_DEFINITION_RELATIONSHIP_KINEMATICS, - PRODUCT_DEFINITION_SHAPE) ) ; - name : label; - description : OPTIONAL text; - definition : characterized_definition; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY property_definition_representation; - definition : represented_definition; - used_representation : representation; - DERIVE - description : text := get_description_value(SELF); - name : label := get_name_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY classification_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY applied_usage_right - SUBTYPE OF (applied_action_assignment); - SELF\applied_action_assignment.items : SET[1:?] OF ir_usage_item; -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY information_right - SUBTYPE OF (action_method); -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY information_usage_right - SUBTYPE OF (action_method); -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY right_to_usage_association - SUBTYPE OF (action_method_relationship); - SELF\action_method_relationship.relating_method : information_usage_right; -- right_usage : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\action_method_relationship.related_method : information_right; -- right_applied : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - right_applied : INFORMATION_RIGHT := SELF\action_method_relationship.related_method; -- RELATED_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - right_usage : INFORMATION_USAGE_RIGHT := SELF\action_method_relationship.relating_method; -- RELATING_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY usage_association - SUBTYPE OF (action_method_relationship); - SELF\action_method_relationship.relating_method : information_usage_right; -- relating : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\action_method_relationship.related_method : information_usage_right; -- related : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - related : INFORMATION_USAGE_RIGHT := SELF\action_method_relationship.related_method; -- RELATED_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - relating : INFORMATION_USAGE_RIGHT := SELF\action_method_relationship.relating_method; -- RELATING_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Activity_method_assignment_mim); *) -ENTITY applied_action_method_assignment - SUBTYPE OF (action_method_assignment); - items : SET[1:?] OF action_method_items; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY action_method_assignment - ABSTRACT SUPERTYPE; - assigned_action_method : action_method; - role : action_method_role; - END_ENTITY; -(* USED FROM (Attribute_classification_mim); *) -ENTITY applied_attribute_classification_assignment - SUBTYPE OF (attribute_classification_assignment); - SELF\attribute_classification_assignment.assigned_class : class; - items : SET[1:?] OF attribute_classification_item; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY attribute_classification_assignment - ABSTRACT SUPERTYPE; - assigned_class : group; - attribute_name : label; - role : classification_role; - END_ENTITY; -(* USED FROM (contract_schema); *) - ENTITY contract_type; - description : label; - END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_type; - product_data_type : label; - END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY property_definition_relationship; - name : label; - description : text; - relating_property_definition : property_definition; - related_property_definition : property_definition; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_formation_with_specified_source - SUBTYPE OF (product_definition_formation); - make_or_buy : source; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY parametric_representation_context - SUBTYPE OF (representation_context); - END_ENTITY; -(* USED FROM (Associative_draughting_elements_mim); *) -ENTITY draughting_model_item_association - SUBTYPE OF(item_identified_representation_usage); - SELF\item_identified_representation_usage.definition : draughting_model_item_definition; - SELF\item_identified_representation_usage.used_representation : annotation_representation_select; - SELF\item_identified_representation_usage.identified_item : draughting_model_item_association_select; -END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY annotation_occurrence_associativity - SUBTYPE OF (annotation_occurrence_relationship); - WHERE - WR1: SIZEOF (TYPEOF (SELF.related_annotation_occurrence) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_CURVE']) = 1; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_wire - SUBTYPE OF (tessellated_item); - items : SET[1:?] OF tessellated_edge_or_vertex; - geometric_model_link : OPTIONAL path_or_composite_curve; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_curve_set - SUBTYPE OF (tessellated_item); - coordinates : coordinates_list; - line_strips : LIST[1:?] OF LIST[2:?] OF INTEGER; -END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY shape_aspect_associativity - SUBTYPE OF (shape_aspect_relationship); - WHERE - WR1: SELF.relating_shape_aspect.product_definitional; - WR2: NOT (SELF.related_shape_aspect.product_definitional); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_structured_item - SUPERTYPE OF (ONEOF ( - TESSELLATED_FACE, - TESSELLATED_EDGE, - TESSELLATED_VERTEX)) - SUBTYPE OF (tessellated_item); -END_ENTITY; -(* USED FROM (Draughting_annotation_mim); *) - ENTITY pre_defined_dimension_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN [ 'arc length' , 'conical taper' , 'counterbore' , 'countersink' , 'depth' , 'diameter' , 'plus minus' , 'radius' , 'slope' , 'spherical diameter' , 'spherical radius' , 'square']; - END_ENTITY; -(* USED FROM (Draughting_annotation_mim); *) - ENTITY pre_defined_geometrical_tolerance_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN ['angularity' , 'basic dimension' , 'blanked datum reference' , 'circular runout' , 'circularity' , 'concentricity' , 'cylindricity' , 'datum target identification' , 'diameter' , 'filled datum reference' , 'flatness' , 'least material condition' , 'maximum material condition' , 'parallelism' , 'perpendicularity' , 'position' , 'profile of a line' , 'profile of a surface' , 'projected tolerance zone' , 'regardless of feature size' , 'straightness' , 'symmetry' , 'total runout' ]; - END_ENTITY; -(* USED FROM (Draughting_annotation_mim); *) - ENTITY pre_defined_surface_condition_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN ['000' , '010' , '020' , '030' , '040' , '050' , '060' , '070' , '001' , '011' , '021' , '031' , '041' , '051' , '061' , '071' , '100' , '110' , '120' , '130' , '140' , '150' , '160' , '170' , '101' , '111' , '121' , '131' , '141' , '151' , '161' , '171' , '200' , '210' , '220' , '230' , '240' , '250' , '260' , '270' , '201' , '211' , '221' , '231' , '241' , '251' , '261' , '271']; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_connecting_edge - SUBTYPE OF (tessellated_edge); - smooth : LOGICAL; - face1 : tessellated_face; - face2 : tessellated_face; - line_strip_face1 : LIST[2:?] OF INTEGER; - line_strip_face2 : LIST[2:?] OF INTEGER; -WHERE - WR1: SIZEOF(line_strip_face1) = SIZEOF(line_strip_face2); - WR2: SIZEOF(line_strip_face1) = SIZEOF(SELF\tessellated_edge.line_strip); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_edge - SUBTYPE OF (tessellated_structured_item); - coordinates : coordinates_list; - geometric_link : OPTIONAL edge_or_curve; - line_strip : LIST[2:?] OF INTEGER; -END_ENTITY; -(* USED FROM (Construction_geometry_mim); *) - ENTITY constructive_geometry_representation_relationship - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 : constructive_geometry_representation_or_shape_represenation; - SELF\representation_relationship.rep_2 : constructive_geometry_representation; - WHERE - WR1: (SELF.rep_1.context_of_items :=: SELF.rep_2.context_of_items) AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.rep_1.context_of_items)); - WR2: NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF(SELF)); - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY name_assignment - ABSTRACT SUPERTYPE; - assigned_name : label; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_point_set - SUBTYPE OF (tessellated_item); - coordinates : coordinates_list; - point_list : LIST[1:?] OF INTEGER; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY face_based_surface_model - SUBTYPE OF (geometric_representation_item); - fbsm_faces : SET[1:?] OF connected_face_set; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY degenerate_pcurve - SUBTYPE OF (point); - basis_surface : surface; - reference_to_curve : definitional_representation; -WHERE - WR1: SIZEOF(reference_to_curve\representation.items) = 1; - WR2: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF (reference_to_curve\representation.items[1]); - WR3: reference_to_curve\representation. items[1]\geometric_representation_item.dim =2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY offset_curve_2d - SUBTYPE OF (curve); - basis_curve : curve; - distance : length_measure; - self_intersect : LOGICAL; -WHERE - WR1: basis_curve.dim = 2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY offset_curve_3d - SUBTYPE OF (curve); - basis_curve : curve; - distance : length_measure; - self_intersect : LOGICAL; - ref_direction : direction; -WHERE - WR1: (basis_curve.dim = 3) AND (ref_direction.dim = 3); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY offset_surface - SUBTYPE OF (surface); - basis_surface : surface; - distance : length_measure; - self_intersect : LOGICAL; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY placement - SUPERTYPE OF (ONEOF ( - AXIS1_PLACEMENT, - AXIS2_PLACEMENT_2D, - AXIS2_PLACEMENT_3D)) - SUBTYPE OF (geometric_representation_item); - location : cartesian_point; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_surface_set - ABSTRACT SUPERTYPE OF (ONEOF ( - TRIANGULATED_SURFACE_SET, - COMPLEX_TRIANGULATED_SURFACE_SET)) - SUBTYPE OF (tessellated_item); - coordinates : coordinates_list; - pnmax : INTEGER; - normals : LIST[0:?] OF LIST[3:3] OF REAL; -WHERE - WR1: ((SIZEOF(normals) = 0) OR (SIZEOF(normals) = 1) OR (SIZEOF(normals) = pnmax)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY polyline - SUBTYPE OF (bounded_curve); - points : LIST[2:?] OF cartesian_point; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY spherical_surface - SUBTYPE OF (elementary_surface); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY triangulated_surface_set - SUBTYPE OF (tessellated_surface_set); - pnindex : LIST[0:?] OF INTEGER; - triangles : LIST[1:?] OF LIST[3:3] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_surface_set.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_surface_set.pnmax <> coordinates.npoints)); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY apex - SUBTYPE OF (derived_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY centre_of_symmetry - SUBTYPE OF (derived_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY derived_shape_aspect - SUPERTYPE OF (ONEOF ( - APEX, - CENTRE_OF_SYMMETRY, - GEOMETRIC_ALIGNMENT, - GEOMETRIC_CONTACT, - GEOMETRIC_INTERSECTION, - PARALLEL_OFFSET, - PERPENDICULAR_TO, - EXTENSION, - TANGENT)) - SUBTYPE OF (shape_aspect); -INVERSE - deriving_relationships : SET[1:?] OF shape_aspect_deriving_relationship FOR relating_shape_aspect; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY extension - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY geometric_alignment - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY geometric_intersection - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY parallel_offset - SUBTYPE OF (derived_shape_aspect); - offset : measure_with_unit; -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY perpendicular_to - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY shape_aspect_deriving_relationship - SUBTYPE OF (shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : derived_shape_aspect; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY tangent - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY external_source; - source_id : source_item; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY externally_defined_item; - item_id : source_item; - source : external_source; - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY dimensional_location_with_datum_feature - SUBTYPE OF (datum_feature, dimensional_location); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY dimensional_size_with_datum_feature - SUBTYPE OF (datum_feature, dimensional_size); -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY angular_location - SUBTYPE OF (dimensional_location); - angle_selection : angle_relator; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY angular_size - SUBTYPE OF (dimensional_size); - angle_selection : angle_relator; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_characteristic_representation; - dimension : dimensional_characteristic; - representation : shape_dimension_representation; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_location - SUPERTYPE OF (ONEOF ( - ANGULAR_LOCATION, - DIMENSIONAL_LOCATION_WITH_PATH)) - SUBTYPE OF (shape_aspect_relationship); -WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect; - WR2: SELF\shape_aspect_relationship.relating_shape_aspect.of_shape :=: SELF\shape_aspect_relationship.related_shape_aspect.of_shape; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_location_with_path - SUBTYPE OF (dimensional_location); - path : shape_aspect; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_size - SUPERTYPE OF (ONEOF ( - ANGULAR_SIZE, - DIMENSIONAL_SIZE_WITH_PATH)); - applies_to : shape_aspect; - name : label; -DERIVE - id : identifier := get_id_value(SELF); -UNIQUE - UR1: id, applies_to; -WHERE - WR1: applies_to.product_definitional = TRUE; - WR2: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_size_with_path - SUBTYPE OF (dimensional_size); - path : shape_aspect; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY directed_dimensional_location - SUBTYPE OF (dimensional_location); -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY shape_dimension_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF shape_dimension_representation_item; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY limits_and_fits; - form_variance : label; - zone_variance : label; - grade : label; - source : text; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY plus_minus_tolerance; - range : tolerance_method_definition; - toleranced_dimension : dimensional_characteristic; -UNIQUE - UR1: toleranced_dimension; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_value; - lower_bound : measure_with_unit; - upper_bound : measure_with_unit; -DERIVE - ubvc : REAL := upper_bound\measure_with_unit.value_component; - lbvc : REAL := lower_bound\measure_with_unit.value_component; -WHERE - WR1: ubvc > lbvc; - WR2: upper_bound\measure_with_unit.unit_component = lower_bound\measure_with_unit.unit_component; -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY dimension_curve_terminator - SUBTYPE OF (terminator_symbol); - role : dimension_extent_usage; - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE' IN TYPEOF - (SELF\terminator_symbol.annotated_curve); - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY terminator_symbol - SUBTYPE OF (annotation_symbol_occurrence); - annotated_curve : annotation_curve_occurrence; - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY row_representation_item - SUBTYPE OF(compound_representation_item); - SELF\compound_representation_item.item_element : list_representation_item; - END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rotation_about_direction - SUBTYPE OF (geometric_representation_item); -- LK - direction_of_axis : direction; - rotation_angle : plane_angle_measure; -WHERE - WR1: SIZEOF (direction_of_axis.direction_ratios) = 3; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY point_on_planar_curve_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : point_on_planar_curve_pair; - actual_point_on_curve : point_on_curve; - input_orientation : spatial_rotation; -DERIVE - actual_orientation : ypr_rotation - := convert_spatial_to_ypr_rotation - (SELF\pair_value.applies_to_pair, - input_orientation); -WHERE - WR1: SELF\pair_value.applies_to_pair\point_on_planar_curve_pair.pair_curve - :=: actual_point_on_curve.basis_curve; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY point_on_surface_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : point_on_surface_pair; - actual_point_on_surface : point_on_surface; - input_orientation : spatial_rotation; -DERIVE - actual_orientation : ypr_rotation - := convert_spatial_to_ypr_rotation - (SELF\pair_value.applies_to_pair, - input_orientation); -WHERE - WR1: SELF\pair_value.applies_to_pair\point_on_surface_pair.pair_surface :=: - actual_point_on_surface.basis_surface; -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_text_literal_with_delineation - SUBTYPE OF (text_literal_with_delineation); -WHERE - WR1: SELF.delineation IN ['underline', 'overline']; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_symbol_occurrence - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : annotation_symbol_occurrence_item; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY pre_defined_symbol - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (Presentation_hierarchy_mim); *) - ENTITY applied_presented_item - SUBTYPE OF (presented_item); - items : SET[1:?] OF presented_item_select; - END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_definition; - drawing_number : identifier; - drawing_type : OPTIONAL label; -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_revision - SUBTYPE OF (presentation_set); - revision_identifier : identifier; - drawing_identifier : drawing_definition; - intended_scale : OPTIONAL text; -UNIQUE - UR1: revision_identifier, drawing_identifier; -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_revision_sequence; - predecessor : drawing_revision; - successor : drawing_revision; -WHERE - WR1: predecessor :<>: successor; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY environment; - syntactic_representation: generic_variable; - semantics: variable_semantics; -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_sheet_revision_sequence - SUBTYPE OF (representation_relationship); -WHERE - WR1: SELF\representation_relationship.rep_1 :<>: - SELF\representation_relationship.rep_2; - WR2: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAWING_SHEET_REVISION' - IN TYPEOF (SELF\representation_relationship.rep_1); - WR3: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAWING_SHEET_REVISION' - IN TYPEOF (SELF\representation_relationship.rep_2); -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_sheet_revision_usage - SUBTYPE OF (area_in_set); - sheet_number : identifier; -UNIQUE - UR1: sheet_number, SELF\area_in_set.in_set; -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAWING_SHEET_REVISION' IN - TYPEOF(SELF\area_in_set.area)) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAWING_REVISION' - IN TYPEOF (SELF\area_in_set.in_set)); -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY draughting_title; - items : SET [1:?] OF draughting_titled_item; - language : label; - contents : text; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY generic_literal - ABSTRACT SUPERTYPE - -SUBTYPE OF (simple_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY generic_variable - ABSTRACT SUPERTYPE - -SUBTYPE OF (simple_generic_expression); -INVERSE - interpretation : - environment FOR syntactic_representation; -END_ENTITY; -(* USED FROM (Currency_mim); *) - ENTITY currency - ABSTRACT SUPERTYPE OF ((ONEOF ( - EXTERNALLY_DEFINED_CURRENCY, - ISO4217_CURRENCY)) ) - SUBTYPE OF (context_dependent_unit); - WHERE - WR1: ((SELF\named_unit.dimensions.length_exponent = 0.0) AND - (SELF\named_unit.dimensions.mass_exponent = 0.0) AND - (SELF\named_unit.dimensions.time_exponent = 0.0) AND - (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND - (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND - (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND - (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0)); - END_ENTITY; -(* USED FROM (Currency_mim); *) - ENTITY currency_measure_with_unit - SUBTYPE OF (measure_with_unit); - SELF\measure_with_unit.unit_component : currency; - END_ENTITY; -(* USED FROM (Currency_mim); *) - ENTITY iso4217_currency - SUBTYPE OF (currency); - END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY absorbed_dose_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ABSORBED_DOSE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY simple_generic_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - GENERIC_LITERAL, - GENERIC_VARIABLE)) - -SUBTYPE OF (generic_expression); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_absorbed_dose_unit - SUBTYPE OF (absorbed_dose_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.gray; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY acceleration_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACCELERATION_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY acceleration_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 1.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY radioactivity_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RADIOACTIVITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY radioactivity_unit - SUBTYPE OF (derived_unit); -WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.becquerel); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_radioactivity_unit - SUBTYPE OF (radioactivity_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.becquerel; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY amount_of_substance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AMOUNT_OF_SUBSTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY amount_of_substance_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 1.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY area_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY area_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY celsius_temperature_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY context_dependent_unit - SUBTYPE OF (named_unit); - name : label; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY conversion_based_unit - SUBTYPE OF (named_unit); - name : label; - conversion_factor : measure_with_unit; - WHERE - WR1: SELF\named_unit.dimensions = derive_dimensional_exponents(conversion_factor\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY derived_unit - SUPERTYPE OF (ONEOF ( - ABSORBED_DOSE_UNIT, - ACCELERATION_UNIT, - RADIOACTIVITY_UNIT, - AREA_UNIT, - CAPACITANCE_UNIT, - DOSE_EQUIVALENT_UNIT, - ELECTRIC_CHARGE_UNIT, - CONDUCTANCE_UNIT, - ELECTRIC_POTENTIAL_UNIT, - ENERGY_UNIT, - MAGNETIC_FLUX_DENSITY_UNIT, - FORCE_UNIT, - FREQUENCY_UNIT, - ILLUMINANCE_UNIT, - INDUCTANCE_UNIT, - MAGNETIC_FLUX_UNIT, - POWER_UNIT, - PRESSURE_UNIT, - RESISTANCE_UNIT, - VELOCITY_UNIT, - VOLUME_UNIT)); - elements : SET [1:?] OF derived_unit_element; - DERIVE - name : label := get_name_value(SELF); - WHERE - WR1: (SIZEOF(elements) > 1) OR ((SIZEOF(elements) = 1) AND (elements[1].exponent <> 1.0)); - WR2: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY derived_unit_element; - unit : named_unit; - exponent : REAL; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY dimensional_exponents; - length_exponent : REAL; - mass_exponent : REAL; - time_exponent : REAL; - electric_current_exponent : REAL; - thermodynamic_temperature_exponent : REAL; - amount_of_substance_exponent : REAL; - luminous_intensity_exponent : REAL; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY capacitance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.farad); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY capacitance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CAPACITANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_capacitance_unit - SUBTYPE OF (capacitance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.farad; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY dose_equivalent_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DOSE_EQUIVALENT_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY dose_equivalent_unit - SUBTYPE OF (derived_unit); -WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.sievert); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_dose_equivalent_unit - SUBTYPE OF (dose_equivalent_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.sievert; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_charge_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.coulomb); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_charge_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_CHARGE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_electric_charge_unit - SUBTYPE OF (electric_charge_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.coulomb; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_current_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_CURRENT_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_current_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 1.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY conductance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.siemens); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY conductance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONDUCTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_conductance_unit - SUBTYPE OF (conductance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.siemens; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_potential_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.volt); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_potential_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_POTENTIAL_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_electric_potential_unit - SUBTYPE OF (electric_potential_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.volt; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY energy_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.joule); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY energy_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ENERGY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_energy_unit - SUBTYPE OF (energy_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.joule; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_density_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.tesla); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_density_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAGNETIC_FLUX_DENSITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_magnetic_flux_density_unit - SUBTYPE OF (magnetic_flux_density_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.tesla; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY force_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.newton); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY force_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FORCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_force_unit - SUBTYPE OF (force_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.newton; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY frequency_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.hertz); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY frequency_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FREQUENCY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_frequency_unit - SUBTYPE OF (frequency_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.hertz; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY illuminance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.lux); - END_ENTITY; - - ENTITY cc_design_approval - SUBTYPE OF (approval_assignment); - items : SET[1:?] OF approved_item; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_illuminance_unit - SUBTYPE OF (illuminance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.lux; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY inductance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.henry); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY inductance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INDUCTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_inductance_unit - SUBTYPE OF (inductance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.henry; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY length_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY length_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 1.0) AND - (SELF\named_unit.dimensions.mass_exponent = 0.0) AND - (SELF\named_unit.dimensions.time_exponent = 0.0) AND - (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND - (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND - (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND - (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_flux_unit - SUBTYPE OF(named_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.lumen); - END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY assembly_component - SUBTYPE OF (component_definition, product_definition_shape); - DERIVE - SELF\property_definition.definition : assembly_component := SELF; - WHERE - WR1: NOT EXISTS(SELF\property_definition.description); -END_ENTITY; - -(* Implicit interfaced from: topology_schema *) - ENTITY oriented_path - SUBTYPE OF (path); - path_element : path; - orientation : BOOLEAN; - DERIVE - SELF\path.edge_list : LIST [1:?] OF UNIQUE oriented_edge - := conditional_reverse(SELF.orientation, - SELF.path_element.edge_list); - WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_PATH' IN TYPEOF (SELF.path_element)); - END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY component_definition - SUBTYPE OF (product_definition, product_definition_relationship); - DERIVE - SELF\product_definition_relationship.related_product_definition : component_definition := SELF; - WHERE - WR1: NOT EXISTS(SELF\product_definition_relationship.description); - WR2: NOT EXISTS(SELF\property_definition.description); - WR3: SELF\product_definition_relationship.id = SELF\product_definition.id; - WR4: SELF\product_definition_relationship.name = 'definition usage'; - WR5: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_USAGE' IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.weber); - END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY physical_component - SUBTYPE OF (assembly_component); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY gear_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : gear_pair; - actual_rotation_1 : plane_angle_measure; -DERIVE - actual_rotation_2 : plane_angle_measure - := - actual_rotation_1 * - SELF\pair_value.applies_to_pair\ - gear_pair.gear_ratio; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_slot - ABSTRACT SUPERTYPE OF ((ONEOF ( - SOLID_WITH_TRAPEZOIDAL_SECTION_SLOT, - SOLID_WITH_TEE_SECTION_SLOT)) - AND (ONEOF ( - SOLID_WITH_STRAIGHT_SLOT, - SOLID_WITH_CURVED_SLOT))) - SUBTYPE OF (solid_with_depression); - slot_width : positive_length_measure; - closed_ends : LIST[2:2] OF LOGICAL; - end_exit_faces : LIST[2:2] OF SET[0:?] OF face_surface; -WHERE - WR1: NOT(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN - TYPEOF(SELF)) AND (closed_ends = [FALSE,FALSE])); - WR2: NOT(((closed_ends[1] = TRUE) AND (SIZEOF(end_exit_faces[1]) <> 0)) - OR ((closed_ends[2] = TRUE) AND (SIZEOF(end_exit_faces[2]) <> 0))); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rack_and_pinion_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : rack_and_pinion_pair; - actual_displacement : length_measure; -DERIVE - actual_rotation : plane_angle_measure - := 0.0; (* - := convert_plane_angle_for_pair_from_radian - (SELF\pair_value.applies_to_pair, - (- actual_displacement / - SELF\pair_value.applies_to_pair\ - rack_and_pinion_pair.pinion_radius)); *) -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rolling_curve_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : rolling_curve_pair; - actual_point_on_curve_1 : point_on_curve; -WHERE - WR1: SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: - actual_point_on_curve_1.basis_curve; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY sliding_curve_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : sliding_curve_pair; - actual_point_on_curve_1 : point_on_curve; - actual_point_on_curve_2 : point_on_curve; -WHERE - WR1: SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: - actual_point_on_curve_1.basis_curve; - WR2: SELF\pair_value.applies_to_pair\planar_curve_pair.curve_2 :=: - actual_point_on_curve_2.basis_curve; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY spherical_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : spherical_pair_select; - input_orientation : spatial_rotation; -DERIVE - actual_orientation : ypr_rotation - := convert_spatial_to_ypr_rotation - (SELF\pair_value.applies_to_pair, - input_orientation); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY plane_angle_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY power_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.watt); - END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY thermal_component - SUBTYPE OF (assembly_component); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY low_order_kinematic_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : low_order_kinematic_pair; - actual_translation_x : length_measure; - actual_translation_y : length_measure; - actual_translation_z : length_measure; - actual_rotation_x : plane_angle_measure; - actual_rotation_y : plane_angle_measure; - actual_rotation_z : plane_angle_measure; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY screw_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : screw_pair; - actual_rotation : plane_angle_measure; -DERIVE - actual_translation : length_measure - := SELF\pair_value.applies_to_pair\ - screw_pair.pitch * - plane_angle_for_pair_in_radian - (SELF\pair_value.applies_to_pair, - actual_rotation) / (2 * PI); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY pressure_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESSURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_pressure_unit - SUBTYPE OF (pressure_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.pascal; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY component_path_shape_aspect - SUBTYPE OF (shape_aspect); - location : multi_or_next_assembly_usage_occurrence; - component_shape_aspect : internal_or_reflected_shape_aspect; - UNIQUE - UR1 : location, component_shape_aspect; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY ratio_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY resistance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.ohm); - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY generic_product_definition_reference - ABSTRACT SUPERTYPE OF (ONEOF ( - PRODUCT_DEFINITION_REFERENCE, - PRODUCT_DEFINITION_REFERENCE_WITH_LOCAL_REPRESENTATION)); - source : external_source; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_resistance_unit - SUBTYPE OF (resistance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.ohm; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_unit - SUBTYPE OF (named_unit); - prefix : OPTIONAL si_prefix; - name : si_unit_name; - DERIVE - SELF\named_unit.dimensions : dimensional_exponents := dimensions_for_si_unit(name); - WHERE - WR1: NOT(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MASS_UNIT' IN TYPEOF(SELF)) AND - (SIZEOF(USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DERIVED_UNIT_ELEMENT.UNIT')) > 0)) OR - (prefix = si_prefix.kilo); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY solid_angle_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_ANGLE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY solid_angle_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; - -(* Implicit interfaced from: shape_tolerance_schema *) -ENTITY runout_zone_orientation; - angle : plane_angle_measure_with_unit; -END_ENTITY; - -(* Implicit interfaced from: procedural_model_schema *) -ENTITY user_selected_elements - SUBTYPE OF (representation_item); - picked_items : SET[1:?] OF representation_item; -END_ENTITY; -(* REFERENCE FROM (procedural_model_schema); *) -ENTITY indirectly_selected_elements - SUBTYPE OF (user_selected_elements); - indirectly_picked_items : SET[1:?] OF representation_item; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY time_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 1.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY velocity_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VELOCITY_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY velocity_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY closed_shell - SUBTYPE OF (connected_face_set); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY volume_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (External_unit_mim); *) - ENTITY externally_defined_context_dependent_unit - SUBTYPE OF (context_dependent_unit,externally_defined_item); - END_ENTITY; -(* USED FROM (External_unit_mim); *) - ENTITY externally_defined_conversion_based_unit - SUBTYPE OF (conversion_based_unit,externally_defined_item); - END_ENTITY; -(* USED FROM (Shape_composition_mim); *) -ENTITY composite_unit_shape_aspect - SUBTYPE OF (composite_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY all_around_shape_aspect - SUBTYPE OF (continuous_shape_aspect); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_pcurve - SUBTYPE OF (bounded_curve, pcurve); -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE' IN TYPEOF(SELF\pcurve.reference_to_curve.items[1])); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY continuous_shape_aspect - SUPERTYPE OF (ONEOF ( - BETWEEN_SHAPE_ASPECT, - ALL_AROUND_SHAPE_ASPECT)) - SUBTYPE OF (composite_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY composite_shape_aspect - SUPERTYPE OF (ONEOF ( - CONTINUOUS_SHAPE_ASPECT, - COMMON_DATUM, - COMPOSITE_GROUP_SHAPE_ASPECT)) - SUBTYPE OF (shape_aspect); -INVERSE - component_relationships : SET[2:?] OF shape_aspect_relationship FOR relating_shape_aspect; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY composite_group_shape_aspect - SUBTYPE OF (composite_shape_aspect); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY evaluated_degenerate_pcurve - SUBTYPE OF (degenerate_pcurve); - equivalent_point : cartesian_point; -END_ENTITY; - -(* Implicit interfaced from: management_resources_schema *) - ENTITY action_method_role; - name : label; - description : OPTIONAL text; - END_ENTITY; - -(* Implicit interfaced from: presentation_organization_schema *) - ENTITY camera_model_d2 - SUBTYPE OF (camera_model); - view_window : planar_box; - view_window_clipping : BOOLEAN; - WHERE - WR1: SELF\geometric_representation_item.dim = 2; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY seam_curve - SUBTYPE OF (surface_curve); -WHERE - WR1: SIZEOF(SELF\surface_curve.associated_geometry) = 2; - WR2: associated_surface(SELF\surface_curve.associated_geometry[1]) = associated_surface(SELF\surface_curve.associated_geometry[2]); - WR3: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(SELF\surface_curve.associated_geometry[1]); - WR4: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(SELF\surface_curve.associated_geometry[2]); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference_modifier_with_value; - modifier_type : datum_reference_modifier_type; - modifier_value : length_measure_with_unit; -WHERE - WR1: (modifier_value\measure_with_unit.value_component > 0.0); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference; - precedence : INTEGER; - referenced_datum : datum; -WHERE - WR1: precedence > 0; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference_compartment - SUBTYPE OF (general_datum_reference); -INVERSE - owner : datum_system FOR constituents; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference_element - SUBTYPE OF (general_datum_reference); -DERIVE - owner : general_datum_reference := sts_get_general_datum_reference(SELF); -WHERE - WR1: SELF <> owner; - WR2: EXISTS(owner); - WR3: SELF\shape_aspect.of_shape = owner\shape_aspect.of_shape; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_system - SUBTYPE OF (shape_aspect); - constituents : LIST[1:3] OF UNIQUE datum_reference_compartment; -UNIQUE - UR1: SELF\shape_aspect.of_shape,SELF\shape_aspect.name; -WHERE - WR1: SELF\shape_aspect.product_definitional = FALSE; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY product_definition_usage - SUPERTYPE OF (ONEOF ( - MAKE_FROM_USAGE_OPTION, - ASSEMBLY_COMPONENT_USAGE)) - SUBTYPE OF (product_definition_relationship); -UNIQUE - UR1: SELF\product_definition_relationship.id, - SELF\product_definition_relationship.relating_product_definition, - SELF\product_definition_relationship.related_product_definition; -WHERE - WR1: acyclic_product_definition_relationship - (SELF, - [SELF\product_definition_relationship.related_product_definition], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_USAGE'); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY general_datum_reference - ABSTRACT SUPERTYPE OF (ONEOF ( - DATUM_REFERENCE_COMPARTMENT, - DATUM_REFERENCE_ELEMENT)) - SUBTYPE OF (shape_aspect); - base : datum_or_common_datum; - modifiers : OPTIONAL SET[1:?] OF datum_reference_modifier; -WHERE - WR1: SELF\shape_aspect.name = ''; - WR2: NOT EXISTS(SELF\shape_aspect.description); - WR3: NOT EXISTS(SELF\shape_aspect.id); - WR4: SELF\shape_aspect.product_definitional = FALSE; - WR5: NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM' IN TYPEOF(base)) OR (SELF\shape_aspect.of_shape = base\shape_aspect.of_shape); - WR6: NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMMON_DATUM_LIST' IN TYPEOF(base)) OR (SELF\shape_aspect.of_shape = base[1]\shape_aspect.of_shape); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY geometric_contact - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 2; -END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY product_definition_shape - SUBTYPE OF (property_definition); - UNIQUE - UR1: SELF\property_definition.definition; - WHERE - WR1: SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTERIZED_PRODUCT_DEFINITION', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTERIZED_OBJECT'] * TYPEOF(SELF\property_definition.definition)) > 0; - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY symmetric_shape_aspect - SUBTYPE OF (shape_aspect); -INVERSE - basis_relationships : SET[1:?] OF shape_aspect_deriving_relationship FOR related_shape_aspect; -END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY shape_aspect_relationship; - name : label; - description : OPTIONAL text; - relating_shape_aspect : shape_aspect; - related_shape_aspect : shape_aspect; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance - ABSTRACT SUPERTYPE OF ( - GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE - ANDOR - GEOMETRIC_TOLERANCE_WITH_DEFINED_UNIT - ANDOR ONEOF ( - GEOMETRIC_TOLERANCE_WITH_MODIFIERS, - MODIFIED_GEOMETRIC_TOLERANCE) - ANDOR - UNEQUALLY_DISPOSED_GEOMETRIC_TOLERANCE - ANDOR ONEOF ( - CYLINDRICITY_TOLERANCE, - FLATNESS_TOLERANCE, - LINE_PROFILE_TOLERANCE, - POSITION_TOLERANCE, - ROUNDNESS_TOLERANCE, - STRAIGHTNESS_TOLERANCE, - SURFACE_PROFILE_TOLERANCE)); - name : label; - description : OPTIONAL text; - magnitude : OPTIONAL length_measure_with_unit; - toleranced_shape_aspect : geometric_tolerance_target; -DERIVE - controlling_shape : product_definition_shape := sts_get_product_definition_shape(toleranced_shape_aspect); - id : identifier := get_id_value(SELF); -UNIQUE - UR1: id, controlling_shape; -WHERE - WR1: magnitude\measure_with_unit.value_component >= 0.0; - WR2: EXISTS(controlling_shape); - WR3: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP' IN TYPEOF(toleranced_shape_aspect)) - OR (toleranced_shape_aspect\shape_aspect_relationship.relating_shape_aspect.of_shape :=: - toleranced_shape_aspect\shape_aspect_relationship.related_shape_aspect.of_shape); - WR4: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; -END_ENTITY; - -(* Implicit interfaced from: action_schema *) - ENTITY action_resource_type; - name : label; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY chain_based_item_identified_representation_usage - SUBTYPE OF (item_identified_representation_usage); - nodes : LIST [2:?] OF UNIQUE representation; - - undirected_link : LIST [1:?] OF chained_representation_link; - DERIVE - root : representation := nodes[1]; - - SELF\item_identified_representation_usage.used_representation : representation := nodes[HIINDEX(nodes)]; -- leaf : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - directed_link : LIST [1:?] OF representation_relationship := get_directed_link(nodes, undirected_link); - leaf : REPRESENTATION := SELF\item_identified_representation_usage.used_representation; -- USED_REPRESENTATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - WHERE - WR1 : EXISTS(directed_link); - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_defined_unit - SUBTYPE OF (geometric_tolerance); - unit_size : length_measure_with_unit; -WHERE - WR1: ('NUMBER' IN TYPEOF (unit_size\measure_with_unit.value_component)) AND (unit_size\measure_with_unit.value_component > 0.0); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_defined_area_unit - SUBTYPE OF (geometric_tolerance_with_defined_unit); - area_type : area_unit_type; - second_unit_size : OPTIONAL length_measure_with_unit; -WHERE - WR1: NOT (EXISTS(second_unit_size) XOR (area_type = area_unit_type.rectangular)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_maximum_tolerance - SUBTYPE OF (geometric_tolerance_with_modifiers); - maximum_upper_tolerance : length_measure_with_unit; -WHERE - WR1: (geometric_tolerance_modifier.maximum_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers) OR (geometric_tolerance_modifier.least_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers); - WR2: (maximum_upper_tolerance\measure_with_unit.unit_component = SELF\geometric_tolerance.magnitude\measure_with_unit.unit_component) AND (maximum_upper_tolerance\measure_with_unit.value_component > SELF\geometric_tolerance.magnitude\measure_with_unit.value_component); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_modifiers - SUBTYPE OF (geometric_tolerance); - modifiers : SET[1:?] OF geometric_tolerance_modifier; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY modified_geometric_tolerance - SUBTYPE OF (geometric_tolerance); - modifier : limit_condition; -END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_representation_type; - name : label; - represented_document : document; - END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document; - id : identifier; - name : label; - description : OPTIONAL text; - kind : document_type; - INVERSE - representation_types : SET [0:?] OF document_representation_type FOR represented_document; - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY projected_zone_definition_with_offset - SUBTYPE OF (projected_zone_definition); - offset : length_measure_with_unit; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY runout_zone_definition - SUBTYPE OF (tolerance_zone_definition); - orientation : runout_zone_orientation; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY runout_zone_orientation_reference_direction - SUBTYPE OF (runout_zone_orientation); - orientation_defining_relationship : shape_aspect_relationship; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_zone - SUBTYPE OF (shape_aspect); - defining_tolerance : SET[1:?] OF tolerance_zone_target; - form : tolerance_zone_form; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_zone_definition - SUPERTYPE OF (ONEOF ( - PROJECTED_ZONE_DEFINITION, - NON_UNIFORM_ZONE_DEFINITION, - RUNOUT_ZONE_DEFINITION)); - zone : tolerance_zone; - boundaries : SET[0:?] OF shape_aspect; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_zone_form; - name : label; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY cylindricity_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY flatness_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY line_profile_tolerance - SUBTYPE OF (geometric_tolerance); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY finite_real_interval - SUBTYPE OF (maths_space, generic_literal); - min : REAL; - min_closure : open_closed; - max : REAL; - max_closure : open_closed; -WHERE - WR1: min < max; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY roundness_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY pair_value - ABSTRACT SUPERTYPE OF (ONEOF ( - SLIDING_SURFACE_PAIR_VALUE, - ROLLING_SURFACE_PAIR_VALUE, - REVOLUTE_PAIR_VALUE, - PRISMATIC_PAIR_VALUE, - SCREW_PAIR_VALUE, - CYLINDRICAL_PAIR_VALUE, - SPHERICAL_PAIR_VALUE, - SLIDING_CURVE_PAIR_VALUE, - ROLLING_CURVE_PAIR_VALUE, - GEAR_PAIR_VALUE, - RACK_AND_PINION_PAIR_VALUE, - UNIVERSAL_PAIR_VALUE, - PLANAR_PAIR_VALUE, - UNCONSTRAINED_PAIR_VALUE, - POINT_ON_SURFACE_PAIR_VALUE, - POINT_ON_PLANAR_CURVE_PAIR_VALUE, - LOW_ORDER_KINEMATIC_PAIR_VALUE)) - SUBTYPE OF (geometric_representation_item); - applies_to_pair : kinematic_pair; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY surface_profile_tolerance - SUBTYPE OF (geometric_tolerance); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY angularity_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY sliding_surface_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : sliding_surface_pair; - actual_point_on_surface_1 : point_on_surface; - actual_point_on_surface_2 : point_on_surface; - actual_rotation : plane_angle_measure; -WHERE - WR1: SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: - actual_point_on_surface_1.basis_surface; - WR2: SELF\pair_value.applies_to_pair\surface_pair.surface_2 :=: - actual_point_on_surface_2.basis_surface; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY integer_interval_from_min - SUBTYPE OF (maths_space, generic_literal); - min : INTEGER; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY imported_point_function - SUBTYPE OF (maths_function, generic_literal); - geometry : point; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY parallelism_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY perpendicularity_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY symmetry_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY integer_interval_to_max - SUBTYPE OF (maths_space, generic_literal); - max : INTEGER; -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY product_definition_relationship_kinematics - SUBTYPE OF (property_definition); - SELF\property_definition.definition : product_definition_relationship; -UNIQUE - UR1 : definition; -END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY shape_aspect SUPERTYPE OF (ONEOF ( - CONTACTING_FEATURE, - DATUM, - DATUM_FEATURE, - DATUM_TARGET, - DATUM_SYSTEM, - GENERAL_DATUM_REFERENCE) ) ; - name : label; - description : OPTIONAL text; - of_shape : product_definition_shape; - product_definitional : LOGICAL; - DERIVE - id : identifier := get_id_value(SELF); - UNIQUE - UR1: id, of_shape; - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY shape_definition_representation - SUBTYPE OF (property_definition_representation); - SELF\property_definition_representation.definition : property_definition; - SELF\property_definition_representation.used_representation : shape_representation; - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(definition)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINITION' IN TYPEOF(definition\property_definition.definition)); - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_space - ABSTRACT SUPERTYPE OF (ONEOF ( - ELEMENTARY_SPACE, - FINITE_INTEGER_INTERVAL, - INTEGER_INTERVAL_FROM_MIN, - INTEGER_INTERVAL_TO_MAX, - FINITE_REAL_INTERVAL, - REAL_INTERVAL_FROM_MIN, - REAL_INTERVAL_TO_MAX, - CARTESIAN_COMPLEX_NUMBER_REGION, - POLAR_COMPLEX_NUMBER_REGION, - FINITE_SPACE, - UNIFORM_PRODUCT_SPACE, - LISTED_PRODUCT_SPACE, - EXTENDED_TUPLE_SPACE, - FUNCTION_SPACE)) - SUBTYPE OF (generic_expression); -END_ENTITY; -(* USED FROM (Camera_view_3d_mim); *) - ENTITY hidden_element_over_riding_styled_item - SUBTYPE OF (context_dependent_over_riding_styled_item); - SELF\context_dependent_over_riding_styled_item.style_context : LIST [1:1] OF presentation_view; - SELF\styled_item.item : camera_image; - INVERSE - container : SET[1:?] OF presentation_view FOR items; - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CAMERA_MODEL_D3_WITH_HLHSR' IN TYPEOF - (SELF.item\mapped_item.mapping_source.mapping_origin); - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY real_interval_from_min - SUBTYPE OF (maths_space, generic_literal); - min : REAL; - min_closure : open_closed; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_image - SUPERTYPE OF (ONEOF ( - CAMERA_IMAGE_2D_WITH_SCALE, - CAMERA_IMAGE_3D_WITH_SCALE)) - SUBTYPE OF (mapped_item); - SELF\mapped_item.mapping_source : camera_usage; - SELF\mapped_item.mapping_target : planar_box; - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' - IN TYPEOF (SELF); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3 - SUBTYPE OF (camera_model); - view_reference_system : axis2_placement_3d; - perspective_of_volume : view_volume; - WHERE - WR1: SELF\geometric_representation_item.dim = 3; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_multi_clipping - SUBTYPE OF (camera_model_d3); - shape_clipping : SET [1:?] OF camera_model_d3_multi_clipping_interection_select; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_multi_clipping_intersection - SUBTYPE OF (geometric_representation_item); - shape_clipping : SET [2:?] OF camera_model_d3_multi_clipping_interection_select; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_multi_clipping_union - SUBTYPE OF (geometric_representation_item); - shape_clipping : SET [2:?] OF camera_model_d3_multi_clipping_union_select; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY general_linear_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - sum_index : one_or_two; -DERIVE - mat : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_2d_table(mat); - WR2: (space_dimension(mat.range) = 1) AND - subspace_of_es(factor1(mat.range),es_numbers); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_variable - SUBTYPE OF (generic_variable); - values_space : maths_space; - name : label; -WHERE - WR1: expression_is_constant(values_space); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY variational_parameter - ABSTRACT SUPERTYPE OF (ONEOF ( - BOUND_VARIATIONAL_PARAMETER, - UNBOUND_VARIATIONAL_PARAMETER)) - SUBTYPE OF (variational_representation_item, maths_variable); - parameter_description : OPTIONAL text; - parameter_current_value : maths_value; -WHERE - WR1 : member_of(parameter_current_value, - SELF\maths_variable.values_space); - WR2 : SELF\maths_variable.name = SELF\representation_item.name; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY expression_denoted_function - SUBTYPE OF (maths_function, unary_generic_expression); -DERIVE - expr : generic_expression := SELF\unary_generic_expression.operand; -WHERE - WR1: (schema_prefix + 'FUNCTION_SPACE') IN TYPEOF (values_space_of(expr)); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY bound_variational_parameter - SUBTYPE OF (variational_parameter); -DERIVE - SELF\variational_parameter.parameter_current_value : maths_value := ?; -WHERE -WR1 : 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUND_PARAMETER_ENVIRONMENT' - IN TYPEOF(SELF\generic_variable.interpretation); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY uniform_product_space - SUBTYPE OF (maths_space, generic_literal); - base : maths_space; - exponent : positive_integer; -WHERE - WR1: expression_is_constant(base); - WR2: no_cyclic_space_reference(SELF, []); - WR3: base <> the_empty_space; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY gear_pair_with_range - SUBTYPE OF (gear_pair); - lower_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation_1) - OR - NOT EXISTS(upper_limit_actual_rotation_1)) - XOR - (lower_limit_actual_rotation_1 < upper_limit_actual_rotation_1); -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_ambient - SUBTYPE OF (light_source); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_directional - SUBTYPE OF (light_source); - orientation : direction; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_positional - SUBTYPE OF (light_source); - position : cartesian_point; - constant_attenuation : REAL; - distance_attenuation : REAL; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_spot - SUBTYPE OF (light_source); - position : cartesian_point; - orientation : direction; - concentration_exponent : REAL; - constant_attenuation : REAL; - distance_attenuation : REAL; - spread_angle : positive_plane_angle_measure; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY definitional_representation_relationship_with_same_context - SUBTYPE OF (definitional_representation_relationship); - WHERE - WR1: SELF\representation_relationship.rep_1.context_of_items :=: - SELF\representation_relationship.rep_2.context_of_items; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -(* Pruned SUPERTYPE *) -ENTITY solid_model - SUPERTYPE OF (ONEOF ( - CSG_SOLID, - MANIFOLD_SOLID_BREP, - SWEPT_FACE_SOLID, - SWEPT_AREA_SOLID, - SWEPT_DISK_SOLID, - SOLID_REPLICA)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY revolved_face_solid_with_trim_conditions - SUBTYPE OF(revolved_face_solid); - first_trim_condition : trim_condition_select; - second_trim_condition : trim_condition_select; -WHERE - WR1: NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition))); - WR2: NOT((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(first_trim_condition)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(second_trim_condition))) AND - (first_trim_condition = second_trim_condition)); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY extruded_face_solid_with_trim_conditions - SUPERTYPE OF (ONEOF ( - EXTRUDED_FACE_SOLID_WITH_DRAFT_ANGLE, - EXTRUDED_FACE_SOLID_WITH_MULTIPLE_DRAFT_ANGLES)) - SUBTYPE OF (extruded_face_solid); - first_trim_condition : trim_condition_select; - second_trim_condition : trim_condition_select; - first_trim_intent : trim_intent; - second_trim_intent : trim_intent; - first_offset : non_negative_length_measure; - second_offset : non_negative_length_measure; -WHERE - WR1: NOT(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(first_trim_condition)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(second_trim_condition))); - WR2: NOT ((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition)) AND - ((first_trim_intent = trim_intent.offset) - OR (first_trim_intent = trim_intent.up_to_next))) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition)) AND - ((second_trim_intent = trim_intent.offset) - OR (second_trim_intent = trim_intent.up_to_next)))); - WR3: NOT (((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition))) AND - ((first_trim_intent = trim_intent.blind) - OR (first_trim_intent = trim_intent.through_all))) OR - ((NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition))) AND - ((second_trim_intent = trim_intent.blind) - OR (second_trim_intent = trim_intent.through_all)))); - WR4: (((first_trim_intent = trim_intent.offset) - AND (first_offset > 0)) XOR - ((first_trim_intent <> trim_intent.offset) - AND (first_offset = 0))) AND - (((second_trim_intent = trim_intent.offset) - AND (second_offset > 0)) XOR - ((second_trim_intent <> trim_intent.offset) - AND (second_offset = 0))); - WR5: NOT((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition))) AND - (first_trim_condition = second_trim_condition)); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY extruded_face_solid_with_draft_angle - SUBTYPE OF (extruded_face_solid_with_trim_conditions); - draft_angle : plane_angle_measure; -WHERE - WR1: draft_angle <> 0; -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY unbound_parameter_environment - SUBTYPE OF (environment); -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN - TYPEOF(SELF\environment.syntactic_representation)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER_SEMANTICS' IN - TYPEOF(SELF\environment.semantics)); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rack_and_pinion_pair_with_range - SUBTYPE OF (rack_and_pinion_pair); - lower_limit_rack_displacement : OPTIONAL length_measure; - upper_limit_rack_displacement : OPTIONAL length_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_rack_displacement) - OR - NOT EXISTS(upper_limit_rack_displacement)) - XOR - (lower_limit_rack_displacement < upper_limit_rack_displacement); -END_ENTITY; -(* USED FROM (Composite_constituent_shape_mim); *) - ENTITY composite_sheet_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION'] * TYPEOF (SELF)) = 1; - END_ENTITY; -(* USED FROM (Composite_constituent_shape_mim); *) - ENTITY flat_pattern_ply_representation_relationship - SUBTYPE OF (shape_representation_relationship); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION' IN - (TYPEOF (SELF\representation_relationship.rep_1) * - TYPEOF (SELF\representation_relationship.rep_2)); - WR2: SELF\representation_relationship.rep_1. - context_of_items\geometric_representation_context. - coordinate_space_dimension = 3; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY shape_representation_relationship - SUBTYPE OF (representation_relationship); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION' IN (TYPEOF(SELF\representation_relationship.rep_1) + TYPEOF(SELF\representation_relationship.rep_2)); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY binary_representation_item - SUBTYPE OF (representation_item); - binary_value : BINARY; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY bytes_representation_item - SUBTYPE OF (binary_representation_item); - DERIVE - no_of_bytes : INTEGER := BLENGTH(SELF\binary_representation_item.binary_value) DIV 8; - WHERE - WR1: BLENGTH(SELF\binary_representation_item.binary_value) MOD 8 = 0; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY external_identification_assignment - ABSTRACT SUPERTYPE - SUBTYPE OF (identification_assignment); - source : external_source; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY sliding_curve_pair - SUBTYPE OF (planar_curve_pair); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY unbound_variational_parameter - SUBTYPE OF (variational_parameter); -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNBOUND_PARAMETER_ENVIRONMENT' - IN TYPEOF(SELF\generic_variable.interpretation); -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY area_in_set; - area : presentation_area; - in_set : presentation_set; - END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY point - SUPERTYPE OF (ONEOF ( - CARTESIAN_POINT, - POINT_ON_CURVE, - POINT_ON_SURFACE, - POINT_REPLICA, - DEGENERATE_PCURVE)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_item_relationship; - name : label; - description : OPTIONAL text; - relating_representation_item : representation_item; - related_representation_item : representation_item; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY context_dependent_shape_representation; - representation_relation : shape_representation_relationship; - represented_product_relation : product_definition_shape; - DERIVE - description : text := get_description_value(SELF); - name : label := get_name_value(SELF); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF.represented_product_relation.definition); - WR2: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR3: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY functionally_defined_transformation; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY general_property_relationship; - name : label; - description : OPTIONAL text; - relating_property : general_property; - related_property : general_property; - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY feature_definition - SUPERTYPE OF (ONEOF ( - BOSS, - COMPOUND_FEATURE, - EXTERNALLY_DEFINED_FEATURE_DEFINITION, - FLAT_FACE, - GEAR, - MARKING, - OUTER_ROUND, - OUTSIDE_PROFILE, - POCKET, - PROTRUSION, - REMOVAL_VOLUME, - REPLICATE_FEATURE, - REVOLVED_PROFILE, - RIB_TOP, - ROUND_HOLE, - ROUNDED_END, - SPHERICAL_CAP, - STEP, - SLOT, - THREAD, - TURNED_KNURL) ) - SUBTYPE OF (characterized_object); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY finite_function - SUBTYPE OF (maths_function, generic_literal); - pairs : SET [1:?] OF LIST [2:2] OF maths_value; -WHERE - WR1: VALUE_UNIQUE(list_selected_components(pairs, 1)); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY selector_function - SUBTYPE OF (maths_function, generic_literal); - selector : input_selector; - source_of_domain : maths_space_or_function; -WHERE - WR1: no_cyclic_domain_reference(source_of_domain, [SELF]); - WR2: expression_is_constant(domain_from(source_of_domain)); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY unbound_variational_parameter_semantics - SUBTYPE OF (variable_semantics); -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY explicit_procedural_shape_representation_relationship - SUBTYPE OF (explicit_procedural_representation_relationship); - SELF\representation_relationship.rep_1 : procedural_shape_representation; - SELF\representation_relationship.rep_2 : shape_representation; -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY indirectly_selected_shape_elements - SUBTYPE OF (indirectly_selected_elements, - user_selected_shape_elements); - SELF\indirectly_selected_elements.indirectly_picked_items : SET [1:?] OF shape_representation_item; -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY procedural_shape_representation - SUBTYPE OF (procedural_representation, shape_representation); - SELF\representation.items : - SET[1:?] OF procedural_shape_representation_sequence; -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY procedural_shape_representation_sequence - SUBTYPE OF (geometric_representation_item, - procedural_representation_sequence); - SELF\procedural_representation_sequence.elements : LIST [1:?] OF shape_representation_item; -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY user_selected_shape_elements - SUBTYPE OF (user_selected_elements); - SELF\user_selected_elements.picked_items : SET [1:?] OF shape_representation_item; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -(* Pruned SUPERTYPE *) -ENTITY modified_solid - ABSTRACT SUPERTYPE OF (ONEOF ( - EDGE_BLENDED_SOLID, - SCULPTURED_SOLID, - SHELLED_SOLID, - MODIFIED_SOLID_WITH_PLACED_CONFIGURATION)) - SUBTYPE OF (solid_model); - rationale : text; - base_solid : base_solid_select; -END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY auxiliary_geometric_representation_item - SUBTYPE OF (geometric_representation_item, - variational_representation_item); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY conical_stepped_hole_transition - SUBTYPE OF (geometric_representation_item); - transition_number : positive_integer; - cone_apex_angle : plane_angle_measure; - cone_base_radius : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY double_offset_shelled_solid - SUBTYPE OF (shelled_solid); - thickness2 : length_measure; -WHERE - WR1: thickness2 <> 0; - WR2: SELF\shelled_solid.thickness <> thickness2; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY sculptured_solid - SUBTYPE OF (modified_solid); - sculpturing_element : generalized_surface_select; - positive_side : BOOLEAN; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY shelled_solid - SUPERTYPE OF (ONEOF ( - DOUBLE_OFFSET_SHELLED_SOLID, - COMPLEX_SHELLED_SOLID)) - SUBTYPE OF (modified_solid); - deleted_face_set : SET [1:?] OF face_surface; - thickness : length_measure; -WHERE - WR1: thickness <> 0; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_angle_based_chamfer - SUBTYPE OF (solid_with_chamfered_edges); - offset_distance : positive_length_measure; - left_offset : BOOLEAN; - offset_angle : positive_plane_angle_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_chamfered_edges - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_SINGLE_OFFSET_CHAMFER, - SOLID_WITH_DOUBLE_OFFSET_CHAMFER, - SOLID_WITH_ANGLE_BASED_CHAMFER)) - SUBTYPE OF (edge_blended_solid); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_circular_pattern - SUPERTYPE OF ( - SOLID_WITH_INCOMPLETE_CIRCULAR_PATTERN) - SUBTYPE OF (solid_with_shape_element_pattern); - replicate_count : positive_integer; - angular_spacing : plane_angle_measure; - radial_alignment : BOOLEAN; - reference_point : point; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_circular_pocket - SUBTYPE OF (solid_with_pocket); - pocket_radius: positive_length_measure; -WHERE - WR1: SELF\solid_with_pocket.floor_blend_radius <= pocket_radius; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_circular_protrusion - SUBTYPE OF (solid_with_protrusion); - protrusion_radius : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_conical_bottom_round_hole - SUBTYPE OF (solid_with_stepped_round_hole); - semi_apex_angle : positive_plane_angle_measure; - tip_radius : non_negative_length_measure; -WHERE - WR1 : tip_radius < - SELF\solid_with_stepped_round_hole.segment_radii[segments]; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_constant_radius_edge_blend - SUBTYPE OF (edge_blended_solid); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_curved_slot - SUBTYPE OF (solid_with_slot); - slot_centreline : bounded_curve; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_double_offset_chamfer - SUBTYPE OF (solid_with_chamfered_edges); - left_offset_distance : positive_length_measure; - right_offset_distance : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_flat_bottom_round_hole - SUBTYPE OF (solid_with_stepped_round_hole); - fillet_radius : non_negative_length_measure; -WHERE - WR1 : fillet_radius < - SELF\solid_with_stepped_round_hole.segment_radii[segments]; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_general_pocket - SUBTYPE OF (solid_with_pocket); - profile : positioned_sketch; - reference_point : point; -WHERE - WR1: SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE'] * TYPEOF(profile.sketch_basis)) = 1; - WR2: profile IN using_items(reference_point,[]); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY maths_tuple_literal - SUBTYPE OF (generic_literal); - lit_value : LIST OF maths_value; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -(* Pruned SUPERTYPE *) -ENTITY swept_face_solid - SUPERTYPE OF (ONEOF ( - EXTRUDED_FACE_SOLID, - REVOLVED_FACE_SOLID)) - SUBTYPE OF (solid_model); - swept_face : face_surface; -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(swept_face.face_geometry); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY revolved_face_solid - SUBTYPE OF (swept_face_solid); - axis : axis1_placement; - angle : plane_angle_measure; -DERIVE - axis_line : line := representation_item('')|| geometric_representation_item()|| curve()|| line(axis.location, representation_item('')|| geometric_representation_item()|| vector(axis.z, 1.0)); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY maths_function - ABSTRACT SUPERTYPE OF (ONEOF ( - FINITE_FUNCTION, - CONSTANT_FUNCTION, - SELECTOR_FUNCTION, - ELEMENTARY_FUNCTION, - RESTRICTION_FUNCTION, - REPACKAGING_FUNCTION, - REINDEXED_ARRAY_FUNCTION, - SERIES_COMPOSED_FUNCTION, - PARALLEL_COMPOSED_FUNCTION, - EXPLICIT_TABLE_FUNCTION, - HOMOGENEOUS_LINEAR_FUNCTION, - GENERAL_LINEAR_FUNCTION, - B_SPLINE_BASIS, - B_SPLINE_FUNCTION, - RATIONALIZE_FUNCTION, - PARTIAL_DERIVATIVE_FUNCTION, - DEFINITE_INTEGRAL_FUNCTION, - ABSTRACTED_EXPRESSION_FUNCTION, - EXPRESSION_DENOTED_FUNCTION, - IMPORTED_POINT_FUNCTION, - IMPORTED_CURVE_FUNCTION, - IMPORTED_SURFACE_FUNCTION, - IMPORTED_VOLUME_FUNCTION, - APPLICATION_DEFINED_FUNCTION)) - SUBTYPE OF (generic_expression); -DERIVE - domain : tuple_space := derive_function_domain(SELF); - range : tuple_space := derive_function_range(SELF); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_rectangular_pattern - SUPERTYPE OF ( - SOLID_WITH_INCOMPLETE_RECTANGULAR_PATTERN) - SUBTYPE OF (solid_with_shape_element_pattern); - row_count : positive_integer; - column_count : positive_integer; - row_spacing : length_measure; - column_spacing : length_measure; -WHERE - WR1: (row_count * column_count) > 1; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY extruded_face_solid - SUBTYPE OF (swept_face_solid); - extruded_direction : direction; - depth : positive_length_measure; -WHERE - WR1: dot_product( (SELF\swept_face_solid.swept_face.face_geometry\ elementary_surface.position.p[3]), extruded_direction) <> 0.0; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_rectangular_protrusion - SUBTYPE OF (solid_with_protrusion); - protrusion_length : positive_length_measure; - protrusion_width : positive_length_measure; - protrusion_corner_radius : non_negative_length_measure; -WHERE - WR1: (protrusion_corner_radius <= protrusion_width/2) - AND (protrusion_corner_radius <= protrusion_length/2); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_single_offset_chamfer - SUBTYPE OF (solid_with_chamfered_edges); - offset_distance : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_spherical_bottom_round_hole - SUBTYPE OF (solid_with_stepped_round_hole); - sphere_radius : positive_length_measure; -WHERE - WR1 : sphere_radius >= - SELF\solid_with_stepped_round_hole.segment_radii[segments]; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_stepped_round_hole -SUPERTYPE OF ( - SOLID_WITH_STEPPED_ROUND_HOLE_AND_CONICAL_TRANSITIONS - ANDOR ONEOF ( - SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE, - SOLID_WITH_CONICAL_BOTTOM_ROUND_HOLE, - SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE)) - -SUBTYPE OF (solid_with_hole); - segments : positive_integer; - segment_radii : LIST[1:segments] OF positive_length_measure; - segment_depths : LIST[1:segments] OF positive_length_measure; -DERIVE - SELF\solid_with_depression.depth - : positive_length_measure := compute_total_depth(SELF); -WHERE - WR1: NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' - IN TYPEOF(SELF)) AND (SIZEOF(TYPEOF(SELF) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE']) - <> 0)); -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY structured_text_representation - SUBTYPE OF (representation); - SELF\Representation.items : SET [1:?] OF string_representation_item_select; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_straight_slot - SUBTYPE OF (solid_with_slot); - slot_length : positive_length_measure; -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY tagged_text_item - SUBTYPE OF (descriptive_representation_item); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_through_depression - SUBTYPE OF (solid_with_depression); - exit_faces : SET[1:?] OF face_surface; -WHERE - WR1: SIZEOF(TYPEOF(SELF) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_HOLE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_POCKET', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_SLOT']) = 1; -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY tagged_text_format - SUBTYPE OF (representation_context); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY real_tuple_literal - SUBTYPE OF (generic_literal); - lit_value : LIST [1:?] OF REAL; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY integer_tuple_literal - SUBTYPE OF (generic_literal); - lit_value : LIST [1:?] OF INTEGER; -END_ENTITY; -(* REFERENCE FROM (document_schema); *) - ENTITY document_usage_constraint; - source : document; - subject_element : label; - subject_element_value : text; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY maths_enum_literal - SUBTYPE OF (generic_literal); - lit_value : maths_enum_atom; -END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY material_designation; - name : label; - definitions : SET [1:?] OF characterized_definition; -END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organizational_project_relationship; - name : label; - description : OPTIONAL text; - relating_organizational_project : organizational_project; - related_organizational_project : organizational_project; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY organizational_project_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY event_occurrence_assignment - ABSTRACT SUPERTYPE; - assigned_event_occurrence : event_occurrence; - role : event_occurrence_role; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY organizational_project_assignment - ABSTRACT SUPERTYPE; - assigned_organizational_project : organizational_project; - role : organizational_project_role; - END_ENTITY; -(* USED FROM (application_context_schema); *) -(* Pruned SUPERTYPE *) - ENTITY application_context_element - SUPERTYPE OF (ONEOF ( - PRODUCT_CONCEPT_CONTEXT, - PRODUCT_CONTEXT, - PRODUCT_DEFINITION_CONTEXT)); - name : label; - frame_of_reference : application_context; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY character_glyph_style_stroke - SUBTYPE OF (founded_item); - stroke_style : curve_style; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY character_glyph_style_outline - SUBTYPE OF (founded_item); - outline_style : curve_style; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style - SUBTYPE OF (founded_item); - name : label; - character_appearance : character_style_select; - END_ENTITY; -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY free_kinematic_motion_representation - SUBTYPE OF (representation_relationship_with_transformation); -SELF\representation_relationship.rep_1: - representative_shape_representation; -SELF\representation_relationship.rep_2: - representative_shape_representation; - motion : kinematic_path; -WHERE -WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ITEM_DEFINED_TRANSFORMATION' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator); -WR2: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2)); -WR3: ((dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_1) = 3 ) AND - (dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_2) = 3 )); -WR4:(SELF\representation_relationship.rep_1 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1))) AND - (SELF\representation_relationship.rep_2 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2))); -END_ENTITY; -- free_kinematic_motion_representation -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_extent - SUBTYPE OF (composite_text); - extent : planar_extent; - END_ENTITY; -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY constrained_kinematic_motion_representation - SUBTYPE OF (representation_relationship_with_transformation); -SELF\representation_relationship.rep_1: - representative_shape_representation; -SELF\representation_relationship.rep_2: - representative_shape_representation; -WHERE -WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2)); -WR2: ((dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_1) = 3 ) AND - (dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_2) = 3 )); -WR3:(SELF\representation_relationship.rep_1 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1))) AND - (SELF\representation_relationship.rep_2 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2))); -WR4: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KINEMATIC_PAIR' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator); -END_ENTITY; -- constrained_kinematic_motion_representation -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_blanking_box - SUBTYPE OF (composite_text); - blanking : planar_box; - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY interpolated_configuration_representation - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context_with_parameter; - SELF\representation.items : SET[1:?] OF interpolated_configuration_sequence; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY pre_defined_character_glyph - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY attribute_value_assignment - ABSTRACT SUPERTYPE; - attribute_name : label; - attribute_value : attribute_type; - role : attribute_value_role; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_extent - SUBTYPE OF (text_literal); - extent : planar_extent; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_pair_with_range - SUBTYPE OF (planar_pair); - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; - lower_limit_actual_translation_x : OPTIONAL length_measure; - upper_limit_actual_translation_x : OPTIONAL length_measure; - lower_limit_actual_translation_y : OPTIONAL length_measure; - upper_limit_actual_translation_y : OPTIONAL length_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); - WR2: (NOT EXISTS(lower_limit_actual_translation_x) - OR - NOT EXISTS(upper_limit_actual_translation_x)) - XOR - (lower_limit_actual_translation_x < upper_limit_actual_translation_x); - WR3: (NOT EXISTS(lower_limit_actual_translation_y) - OR - NOT EXISTS(upper_limit_actual_translation_y)) - XOR - (lower_limit_actual_translation_y < upper_limit_actual_translation_y); -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_blanking_box - SUBTYPE OF (text_literal); - blanking : planar_box; - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY interpolated_configuration_segment - SUBTYPE OF (founded_item); - state : mechanism_state_representation; - t_parameter : parameter_value; - interpolation : interpolation_type; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY homokinetic_pair - SUBTYPE OF (universal_pair); -WHERE - WR1: NOT EXISTS(SELF.input_skew_angle); -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY externally_defined_text_font - SUBTYPE OF (externally_defined_item); -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY pre_defined_colour - SUBTYPE OF (pre_defined_item, colour); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY universal_pair_with_range - SUBTYPE OF (universal_pair); - lower_limit_first_rotation : OPTIONAL plane_angle_measure; - upper_limit_first_rotation : OPTIONAL plane_angle_measure; - lower_limit_second_rotation : OPTIONAL plane_angle_measure; - upper_limit_second_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_first_rotation) - OR - NOT EXISTS(upper_limit_first_rotation)) - XOR - (lower_limit_first_rotation < upper_limit_first_rotation); - WR2: (NOT EXISTS(lower_limit_second_rotation) - OR - NOT EXISTS(upper_limit_second_rotation)) - XOR - (lower_limit_second_rotation < upper_limit_second_rotation); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair_with_pin_and_range - SUBTYPE OF (spherical_pair_with_pin); - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR2: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair_with_range - SUBTYPE OF (spherical_pair); - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_pitch : OPTIONAL plane_angle_measure; - upper_limit_pitch : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR2: (NOT EXISTS(lower_limit_pitch) - OR - NOT EXISTS(upper_limit_pitch)) - XOR - (lower_limit_pitch < upper_limit_pitch); - WR3: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY kinematic_property_topology_representation - SUBTYPE OF (kinematic_property_definition_representation); - SELF\property_definition_representation.used_representation : kinematic_topology_representation_select; - base : kinematic_link; -WHERE - WR1: used_representation IN using_representations(base); -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_curve_occurrence - SUPERTYPE OF ((ONEOF ( - DIMENSION_CURVE, - LEADER_CURVE, - PROJECTION_CURVE)) ) - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : curve_or_curve_set; - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY link_motion_relationship - SUBTYPE OF (definitional_representation_relationship, representation_relationship_with_transformation); - SELF\representation_relationship.rep_1 : link_or_shape_representation; - SELF\representation_relationship.rep_2 : link_motion_representation_along_path; - SELF\representation_relationship_with_transformation.transformation_operator : link_motion_transformation; -WHERE - WR1: transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items; - WR2: transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style - SUBTYPE OF (founded_item); - name : label; - curve_font : curve_font_or_scaled_curve_font_select; - curve_width : size_select; - curve_colour : colour; - END_ENTITY; -(* USED FROM (Multi_linguism_mim); *) -ENTITY language -SUBTYPE OF (group); -WHERE -WR1: SELF\group.name <> ''; -END_ENTITY; -(* USED FROM (Project_mim); *) -ENTITY applied_organizational_project_assignment - SUBTYPE OF (organizational_project_assignment); - items : SET[1:?] OF project_item; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY link_motion_transformation - SUBTYPE OF (item_defined_transformation); - SELF\item_defined_transformation.transform_item_1 : rigid_placement; - SELF\item_defined_transformation.transform_item_2 : kinematic_path; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_directed_structure - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF oriented_joint; - parent : kinematic_topology_structure; -WHERE - WR1: context_of_items :=: parent.context_of_items; - WR2: get_kinematic_joints_from_oriented_joints(items) <= parent.items; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_font_usage; - character : generic_character_glyph_symbol; - font : text_font; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY geometric_representation_context_with_parameter - SUBTYPE OF (geometric_representation_context); - parameter_unit : OPTIONAL unit; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_symbol_outline - SUBTYPE OF (character_glyph_symbol); - outlines : SET [1:?] OF annotation_fill_area; -WHERE - WR1: SELF.outlines <= SELF\representation.items; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY cylindrical_pair_with_range - SUBTYPE OF (cylindrical_pair); - lower_limit_actual_translation : OPTIONAL length_measure; - upper_limit_actual_translation : OPTIONAL length_measure; - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_translation) - OR - NOT EXISTS(upper_limit_actual_translation)) - XOR - (lower_limit_actual_translation < upper_limit_actual_translation); - WR2: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY generic_character_glyph_symbol - ABSTRACT SUPERTYPE - SUBTYPE OF (symbol_representation); -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY certification_assignment - ABSTRACT SUPERTYPE; - assigned_certification : certification; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY identification_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY text_font_in_family; - font : text_font; - family : text_font_family; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY thickened_face_solid - SUBTYPE OF (solid_model); - base_element : generalized_surface_select; - offset1 : length_measure; - offset2 : length_measure; -WHERE - WR1: NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF(base_element)) AND - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(base_element)))); - WR2: offset1 <> offset2; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path_defined_by_curves - SUBTYPE OF (kinematic_path); - SELF\kinematic_path.segments : LIST [1:?] OF curve_based_path_with_orientation; -END_ENTITY; -(* USED FROM (Approval_mim); *) -ENTITY applied_approval_assignment - SUBTYPE OF (approval_assignment); - items : SET[1:?] OF approval_item; -END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval; - status : approval_status; - level : label; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_date_time; - date_time : date_time_select; - dated_approval : approval; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY path_parameter_representation - SUBTYPE OF (definitional_representation); - SELF\representation.context_of_items : path_parameter_representation_context; - SELF\representation.items : SET[1:?] OF bounded_curve; -WHERE - WR1: SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2; -END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_relationship; - name : label; - description : OPTIONAL text; - relating_approval : approval; - related_approval : approval; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_role; - role : label; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_status; - name : label; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY approval_assignment - ABSTRACT SUPERTYPE; - assigned_approval : approval; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY boolean_representation_item - SUBTYPE OF (representation_item, boolean_literal); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY date_representation_item - SUBTYPE OF (representation_item, date); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY date_time_representation_item - SUBTYPE OF (representation_item, date_and_time); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY integer_representation_item - SUBTYPE OF (representation_item, int_literal); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY logical_representation_item - SUBTYPE OF (representation_item, logical_literal); - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY linear_path - SUBTYPE OF (path_node); -DERIVE - SELF\kinematic_path_segment.transition : transition_code := continuous; -END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY real_representation_item - SUBTYPE OF (representation_item, real_literal); - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_literal -SUBTYPE OF (simple_Boolean_expression, generic_literal); - the_value: BOOLEAN; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY int_literal -SUBTYPE OF (literal_number); - SELF\literal_number.the_value: INTEGER; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY slash_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY real_literal -SUBTYPE OF (literal_number); - SELF\literal_number.the_value: REAL; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY binary_generic_expression - ABSTRACT SUPERTYPE - -SUBTYPE OF(generic_expression); - operands: LIST [2:2] OF generic_expression; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY logical_literal - SUBTYPE OF (generic_literal); - lit_value : LOGICAL; -END_ENTITY; -(* USED FROM (Functional_breakdown_mim); *) - ENTITY functional_breakdown_context - SUBTYPE OF (breakdown_context); - END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_planar_intersection_point - SUBTYPE OF (implicit_point_on_plane); - external_curve : curve; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_planar_projection_point - SUBTYPE OF (implicit_point_on_plane); - external_point : point; - projection_direction : direction; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_planar_curve - ABSTRACT SUPERTYPE OF (ONEOF ( - IMPLICIT_INTERSECTION_CURVE, - IMPLICIT_PROJECTED_CURVE, - IMPLICIT_MODEL_INTERSECTION_CURVE, - IMPLICIT_SILHOUETTE_CURVE)) - SUBTYPE OF (curve, auxiliary_geometric_representation_item); - using_sketch : positioned_sketch; - computed_representation : curve; -DERIVE - curve_plane : plane - := get_plane_of_implicit_geometry(using_sketch); -WHERE - WR1: SIZEOF(TYPEOF(computed_representation) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.IMPLICIT_PLANAR_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA']) = 0; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_intersection_curve - SUBTYPE of (implicit_planar_curve); - external_surface : surface; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_projected_curve - SUBTYPE of (implicit_planar_curve); - external_curve : curve; - projection_direction : direction; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_model_intersection_curve - SUBTYPE of (implicit_planar_curve); - intersected_model : surface_or_solid_model; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_silhouette_curve - SUBTYPE of (implicit_planar_curve); - silhouetted_model : surface_or_solid_model; - view_direction : direction; -END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_context - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Physical_breakdown_mim); *) - ENTITY physical_element_usage - SUBTYPE OF (breakdown_element_usage); - END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY repositioned_neutral_sketch - SUBTYPE OF (mapped_item, geometric_representation_item); -DERIVE - map : representation_map := SELF\mapped_item.mapping_source; -WHERE - WR1 : 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' - IN TYPEOF(map.mapped_representation); - WR2 : 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_2D' IN - TYPEOF(map.mapping_origin); - WR3 : 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN - TYPEOF(SELF\mapped_item.mapping_target); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY screw_pair_with_range - SUBTYPE OF (screw_pair); - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY prismatic_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY rigid_subsketch - SUBTYPE OF (subsketch); -END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY externally_defined_marker - SUBTYPE OF (externally_defined_symbol, pre_defined_marker); - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY externally_defined_terminator_symbol - SUBTYPE OF (externally_defined_symbol); - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY pre_defined_point_marker_symbol - SUBTYPE OF (pre_defined_marker, pre_defined_symbol); - WHERE - WR1: SELF.name IN ['asterisk','circle','dot','plus','square','triangle','x']; - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY pre_defined_terminator_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN ['blanked arrow', 'blanked box', 'blanked dot', 'blanked triangle', 'dimension origin', 'filled arrow', 'filled box', 'filled dot', 'integral symbol', 'open arrow', 'slash', 'unfilled arrow', 'unfilled triangle', 'filled triangle']; - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY user_defined_marker - SUBTYPE OF (mapped_item, pre_defined_marker); - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY user_defined_terminator_symbol - SUBTYPE OF (mapped_item, pre_defined_symbol); - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY vector_style - SUBTYPE OF (curve_style, pre_defined_terminator_symbol); - END_ENTITY; -(* USED FROM (Styled_curve_mim); *) - ENTITY solid_curve_font - SUBTYPE OF (pre_defined_curve_font); - END_ENTITY; -(* USED FROM (Styled_curve_mim); *) - ENTITY user_defined_curve_font - SUBTYPE OF (curve_style_font, mapped_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_font - SUBTYPE OF (founded_item); - name : label; - pattern_list : LIST [1:?] OF curve_style_font_pattern; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY draughting_pre_defined_curve_font - SUBTYPE OF (pre_defined_curve_font); - WHERE - WR1: SELF.name IN - ['continuous', - 'chain', - 'chain double dash', - 'dashed', - 'dotted']; - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY product_definition_group_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : product_definition_element_relationship; - items : SET[1:1] OF product_definition_or_product_definition_relationship; - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY product_definition_element_relationship - SUBTYPE OF (group); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY revolute_pair_with_range - SUBTYPE OF (revolute_pair); - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY externally_defined_symbol - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY annotation_plane - SUBTYPE OF (annotation_occurrence, geometric_representation_item); - elements : OPTIONAL SET[1:?] OF annotation_plane_element; - SELF\styled_item.item : plane_or_planar_box; - WHERE - WR1: SELF\geometric_representation_item.dim = 3; - WR2: NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'AXIS2_PLACEMENT_3D' IN TYPEOF(SELF\styled_item.item\planar_box.placement)); - WR3: (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'CURVE_STYLE' IN TYPEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles[1]))) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PLANE' IN TYPEOF(SELF\styled_item.item)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'FILL_AREA_STYLE' IN TYPEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles[1]))); - WR4: (SIZEOF(SELF\styled_item.styles) = 1) AND - (SIZEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles) = 1); - END_ENTITY; -(* USED FROM (Certification_mim); *) -ENTITY applied_certification_assignment - SUBTYPE OF (certification_assignment); - items : SET[1:?] OF certification_item; -END_ENTITY; -(* USED FROM (certification_schema); *) - ENTITY certification_type; - description : label; - END_ENTITY; -(* USED FROM (Property_as_definition_mim); *) -ENTITY representation_proxy_item -SUBTYPE OF (representation_item); --- item : representation_proxy_select; -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY projection_curve - SUBTYPE OF (annotation_curve_occurrence); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_fill_area_occurrence - SUBTYPE OF (annotation_occurrence); - fill_style_target : point; - SELF\styled_item.item : annotation_fill_area; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_shape_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF tessellated_item; -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF(SELF\representation.context_of_items); -END_ENTITY; -(* USED FROM (Property_as_definition_mim); *) -ENTITY single_property_is_definition - SUBTYPE OF (property_definition); - SELF\property_definition.definition : product_definition; -UNIQUE - UR1: SELF\property_definition.definition; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY repositioned_tessellated_item - SUBTYPE OF (tessellated_item); - location : axis2_placement_3d; -WHERE - WR1: NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_CURVE_SET', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_GEOMETRIC_SET', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_POINT_SET', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_SURFACE_SET', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_SHELL', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_SOLID', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_WIRE'] * TYPEOF(SELF)) = 0); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_geometric_set - SUBTYPE OF (tessellated_item); - children : SET[1:?] OF tessellated_item; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_solid - SUBTYPE OF (tessellated_item); - items : SET[1:?] OF tessellated_structured_item; - geometric_link : OPTIONAL manifold_solid_brep; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_shell - SUBTYPE OF (tessellated_item); - items : SET[1:?] OF tessellated_structured_item; - topological_link : OPTIONAL connected_face_set; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY low_order_kinematic_pair_with_range - SUBTYPE OF (low_order_kinematic_pair); - lower_limit_actual_rotation_x : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_x : OPTIONAL plane_angle_measure; - lower_limit_actual_rotation_y : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_y : OPTIONAL plane_angle_measure; - lower_limit_actual_rotation_z : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_z : OPTIONAL plane_angle_measure; - lower_limit_actual_translation_x : OPTIONAL length_measure; - upper_limit_actual_translation_x : OPTIONAL length_measure; - lower_limit_actual_translation_y : OPTIONAL length_measure; - upper_limit_actual_translation_y : OPTIONAL length_measure; - lower_limit_actual_translation_z : OPTIONAL length_measure; - upper_limit_actual_translation_z : OPTIONAL length_measure; -END_ENTITY; -(* USED FROM (Specification_based_configuration_mim); *) -ENTITY configured_effectivity_context_assignment -SUBTYPE OF (effectivity_context_assignment); - SELF\effectivity_context_assignment.assigned_effectivity_assignment: configured_effectivity_assignment; - items : SET [1:?] OF configured_effectivity_context_item; -WHERE -WR1: SIZEOF(SELF.items) = 1; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY kinematic_link_representation_association - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 : kinematic_link_representation; - SELF\representation_relationship.rep_2 : shape_representation; -WHERE - WR1: (SELF\representation_relationship.rep_2.context_of_items :=: - SELF\representation_relationship.rep_1.context_of_items) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY faceted_brep - SUBTYPE OF (manifold_solid_brep); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY edge_based_wireframe_model - SUBTYPE OF (geometric_representation_item); - ebwm_boundary : SET[1:?] OF connected_edge_set; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY elementary_surface - SUPERTYPE OF (ONEOF ( - PLANE, - CYLINDRICAL_SURFACE, - CONICAL_SURFACE, - SPHERICAL_SURFACE, - TOROIDAL_SURFACE)) - SUBTYPE OF (surface); - position : axis2_placement_3d; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_vertex - SUBTYPE OF (tessellated_structured_item); - coordinates : coordinates_list; - topological_link : OPTIONAL vertex_point; - point_index : INTEGER; -END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY exclusive_product_concept_feature_category - SUBTYPE OF (product_concept_feature_category); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY linear_flexible_link_representation - SUBTYPE OF (kinematic_link_representation); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY complex_triangulated_surface_set - SUBTYPE OF (tessellated_surface_set); - pnindex : LIST[0:?] OF INTEGER; - triangle_strips : LIST[0:?] OF LIST[3:?] OF INTEGER; - triangle_fans : LIST[0:?] OF LIST[3:?] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_surface_set.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_surface_set.pnmax <> coordinates.npoints)); - WR3: NOT ((SIZEOF(triangle_strips) = 0) AND (SIZEOF(triangle_fans) = 0)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_face - ABSTRACT SUPERTYPE OF (ONEOF ( - TRIANGULATED_FACE, - COMPLEX_TRIANGULATED_FACE)) - SUBTYPE OF (tessellated_structured_item); - coordinates : coordinates_list; - pnmax : INTEGER; - normals : LIST[0:?] OF LIST[3:3] OF REAL; - geometric_link : OPTIONAL face_or_surface; -WHERE - WR1: ((SIZEOF(normals) = 0) OR (SIZEOF(normals) = 1) OR (SIZEOF(normals) = pnmax)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY triangulated_face - SUBTYPE OF (tessellated_face); - pnindex : LIST[0:?] OF INTEGER; - triangles : LIST[1:?] OF LIST[3:3] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_face.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_face.pnmax <> coordinates.npoints)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY complex_triangulated_face - SUBTYPE OF (tessellated_face); - pnindex : LIST[0:?] OF INTEGER; - triangle_strips : LIST[0:?] OF LIST[3:?] OF INTEGER; - triangle_fans : LIST[0:?] OF LIST[3:?] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_face.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_face.pnmax <> coordinates.npoints)); - WR3: NOT ((SIZEOF(triangle_strips) = 0) AND (SIZEOF(triangle_fans) = 0)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY coordinates_list - SUBTYPE OF (tessellated_item); - npoints : INTEGER; - position_coords : LIST[1:?] OF LIST[3:3] OF REAL; -WHERE - WR1: npoints = SIZEOF(position_coords); - WR2: SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPOSITIONED_TESSELLATED_ITEM'] * TYPEOF(SELF)) = 0; -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY tessellated_annotation_occurrence - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : tessellated_geometric_set; - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_table_header - SUBTYPE OF (general_property); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_column_header - SUBTYPE OF (general_property); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_column_header_link - SUBTYPE OF (general_property_relationship); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_table_header_decomposition - SUBTYPE OF (general_property_relationship); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_type - SUBTYPE OF (group); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY null_representation_item - SUBTYPE OF (representation_item); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY range_characteristic - SUBTYPE OF (representation, descriptive_representation_item); - WHERE - WR1: NOT(SELF\representation.name IN ['tolerance', 'minimum tolerance', 'maximum tolerance', - 'nominal tolerance', 'plus minus tolerance', 'symmetrical tolerance', 'statistical tolerance']); - END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY unconstrained_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : unconstrained_pair; - actual_placement : axis2_placement_3d; -END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept_feature_association; - name : label; - description : OPTIONAL text; - concept : product_concept; - feature : product_concept_feature; -END_ENTITY; -(* USED FROM (External_properties_mim); *) - ENTITY externally_defined_general_property - SUBTYPE OF (general_property, externally_defined_item); - END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY universal_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : universal_pair; - first_rotation_angle : plane_angle_measure; - second_rotation_angle : plane_angle_measure; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY planar_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : planar_pair; - actual_rotation : plane_angle_measure; - actual_translation_x : length_measure; - actual_translation_y : length_measure; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY effectivity_context_assignment - ABSTRACT SUPERTYPE; - assigned_effectivity_assignment : effectivity_assignment; - role : effectivity_context_role; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_substitute; - description : OPTIONAL text; - context_relationship : product_definition_relationship; - substitute_definition : product_definition; - DERIVE - name : label := get_name_value(SELF); - WHERE - WR1: context_relationship.related_product_definition :<>: substitute_definition; - WR2: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY multiple_arity_generic_expression - ABSTRACT SUPERTYPE - -SUBTYPE OF(generic_expression); - operands: LIST [2:?] OF generic_expression; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY vector - SUBTYPE OF (geometric_representation_item); - orientation : direction; - magnitude : length_measure; -WHERE - WR1: magnitude >= 0.0; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY unary_generic_expression - ABSTRACT SUPERTYPE - -SUBTYPE OF(generic_expression); - operand: generic_expression; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY variable_semantics - ABSTRACT SUPERTYPE; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY variable - ABSTRACT SUPERTYPE OF (ONEOF ( - NUMERIC_VARIABLE, - BOOLEAN_VARIABLE, - STRING_VARIABLE)) - -SUBTYPE OF(generic_variable); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY concat_expression -SUBTYPE OF (string_expression, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands: - LIST [2 : ?] OF string_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY format_function -SUBTYPE OF (string_expression, binary_generic_expression); -DERIVE - value_to_format: generic_expression:= - SELF\binary_generic_expression.operands[1]; - format_string:generic_expression:= - SELF\binary_generic_expression.operands[2]; -WHERE - WR1: (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION') - IN TYPEOF(value_to_format)) - AND (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION') - IN TYPEOF(format_string)); -END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY product_concept_context - SUBTYPE OF (application_context_element); - market_segment_type : label; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY interval_expression -SUBTYPE OF (boolean_expression, multiple_arity_generic_expression) ; -DERIVE - interval_low: generic_expression - := SELF\multiple_arity_generic_expression.operands[1]; - interval_item:generic_expression - := SELF\multiple_arity_generic_expression.operands[2]; - interval_high:generic_expression - := SELF\multiple_arity_generic_expression.operands[3]; -WHERE - WR1:('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPRESSION' - IN TYPEOF(interval_low)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPRESSION' - IN TYPEOF(interval_item) ) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPRESSION' - IN TYPEOF(interval_high)); - WR2:(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' - IN TYPEOF (SELF.interval_low)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' - IN TYPEOF (SELF.interval_high)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' - IN TYPEOF (SELF.interval_item))) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(SELF.interval_low)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(SELF.interval_item)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(SELF.interval_high))); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY like_expression -SUBTYPE OF (comparison_expression); -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(SELF\binary_generic_expression.operands[1])) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(SELF\binary_generic_expression.operands[2])); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY simple_string_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - STRING_LITERAL, - STRING_VARIABLE)) - -SUBTYPE OF (string_expression, simple_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY SQL_mappable_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (defined_function); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (defined_function, string_expression); -END_ENTITY ; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_STRING_EXPRESSION, - INDEX_EXPRESSION, - SUBSTRING_EXPRESSION, - CONCAT_EXPRESSION, - FORMAT_FUNCTION, - STRING_DEFINED_FUNCTION)) - -SUBTYPE OF (expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_literal -SUBTYPE OF (simple_string_expression, generic_literal); - the_value: STRING; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_variable -SUBTYPE OF (simple_string_expression, variable); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY substring_expression -SUBTYPE OF (string_expression, multiple_arity_generic_expression); -DERIVE - operand:generic_expression:= - SELF\multiple_arity_generic_expression.operands[1]; - index1:generic_expression:= - SELF\multiple_arity_generic_expression.operands[2]; - index2:generic_expression:= - SELF\multiple_arity_generic_expression.operands[3]; -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(operand)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(index1)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(index2)); - WR2: SIZEOF(SELF\multiple_arity_generic_expression.operands)=3; - WR3: is_int_expr (index1); - WR4: is_int_expr (index2); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_NUMERIC_EXPRESSION, - UNARY_NUMERIC_EXPRESSION, - BINARY_NUMERIC_EXPRESSION, - MULTIPLE_ARITY_NUMERIC_EXPRESSION, - LENGTH_FUNCTION, - VALUE_FUNCTION, - NUMERIC_DEFINED_FUNCTION)) - -SUBTYPE OF (expression); -DERIVE - is_int: BOOLEAN := is_int_expr (SELF); - sql_mappable: BOOLEAN := is_SQL_mappable (SELF); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval; - id : identifier; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval_relationship; - name : label; - description : OPTIONAL text; - relating_time_interval : time_interval; - related_time_interval : time_interval; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval_with_bounds - SUBTYPE OF (time_interval); - primary_bound : OPTIONAL date_time_or_event_occurrence; - secondary_bound : OPTIONAL date_time_or_event_occurrence; - duration : OPTIONAL time_measure_with_unit; -WHERE - WR1: NOT (EXISTS(secondary_bound) AND EXISTS(duration)); - WR2: EXISTS(primary_bound) OR EXISTS(secondary_bound); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY event_occurrence; - id : identifier; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY event_occurrence_relationship; - name : label; - description : OPTIONAL text; - relating_event : event_occurrence; - related_event : event_occurrence; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY relative_event_occurrence - SUBTYPE OF (event_occurrence); - base_event : event_occurrence; - offset : time_measure_with_unit; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY right_angular_wedge - SUBTYPE OF (geometric_representation_item); - position : axis2_placement_3d; - x : positive_length_measure; - y : positive_length_measure; - z : positive_length_measure; - ltx : length_measure; -WHERE - WR1: ((0.0 <= ltx) AND (ltx < x)); -END_ENTITY; -(* USED FROM (Specified_product_mim); *) - ENTITY product_specification - SUBTYPE OF (product_identification, configurable_item); - END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY product_definition_occurrence_relationship; - name : label; - description : OPTIONAL text; - occurrence : product_definition; - occurrence_usage : assembly_component_usage; -WHERE - WR1: occurrence_usage.relating_product_definition :<>: - occurrence; - WR2: occurrence_usage.related_product_definition :<>: - occurrence; - WR3: occurrence.formation :=: - occurrence_usage.related_product_definition.formation; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY alternate_product_relationship; - name : label; - definition : OPTIONAL text; - alternate : product; - base : product; - basis : text; -UNIQUE - UR1: alternate, base; -WHERE - WR1: alternate :<>: base; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY assembly_component_usage_substitute; - name : label; - definition : OPTIONAL text; - base : assembly_component_usage; - substitute : assembly_component_usage; -UNIQUE - UR1: base,substitute; -WHERE - WR1: base.relating_product_definition :=: - substitute.relating_product_definition; - WR2: base :<>: substitute; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_surface_with_knots - SUBTYPE OF (b_spline_surface); - u_multiplicities : LIST[2:?] OF INTEGER; - v_multiplicities : LIST[2:?] OF INTEGER; - u_knots : LIST[2:?] OF parameter_value; - v_knots : LIST[2:?] OF parameter_value; - knot_spec : knot_type; -DERIVE - knot_u_upper : INTEGER := SIZEOF(u_knots); - knot_v_upper : INTEGER := SIZEOF(v_knots); -WHERE - WR1: constraints_param_b_spline(SELF\b_spline_surface.u_degree, knot_u_upper, SELF\b_spline_surface.u_upper, u_multiplicities, u_knots); - WR2: constraints_param_b_spline(SELF\b_spline_surface.v_degree, knot_v_upper, SELF\b_spline_surface.v_upper, v_multiplicities, v_knots); - WR3: SIZEOF(u_multiplicities) = knot_u_upper; - WR4: SIZEOF(v_multiplicities) = knot_v_upper; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY cylindrical_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : cylindrical_pair; - actual_translation : length_measure; - actual_rotation : plane_angle_measure; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY prismatic_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : prismatic_pair; - actual_translation : length_measure; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY unary_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - NOT_EXPRESSION, - ODD_FUNCTION)) - -SUBTYPE OF (boolean_expression, unary_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY simple_numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - LITERAL_NUMBER, - NUMERIC_VARIABLE)) - -SUBTYPE OF (numeric_expression, simple_generic_expression); -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_context_association; - definition : product_definition; - frame_of_reference : product_definition_context; - role : product_definition_context_role; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -(* Pruned SUPERTYPE *) -ENTITY unary_numeric_expression - ABSTRACT SUPERTYPE - -SUBTYPE OF (numeric_expression, unary_generic_expression); - SELF\unary_generic_expression.operand : numeric_expression; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_reference - SUBTYPE OF (generic_product_definition_reference); - product_id : identifier; - product_definition_formation_id : identifier; - product_definition_id : identifier; - id_owning_organization_name : OPTIONAL label; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_reference_with_local_representation - SUBTYPE OF (generic_product_definition_reference, product_definition); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY manifold_solid_brep - SUBTYPE OF (solid_model); - outer : closed_shell; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY brep_with_voids - SUBTYPE OF (manifold_solid_brep); - voids : SET[1:?] OF oriented_closed_shell; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY revolved_area_solid - SUBTYPE OF (swept_area_solid); - axis : axis1_placement; - angle : plane_angle_measure; -DERIVE - axis_line : line := representation_item('')|| geometric_representation_item()|| curve()|| line(axis.location, representation_item('')|| geometric_representation_item()|| vector(axis.z, 1.0)); -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY oriented_closed_shell - SUBTYPE OF (closed_shell); - closed_shell_element : closed_shell; - orientation : BOOLEAN; - DERIVE - SELF\connected_face_set.cfs_faces : SET [1:?] OF face - := conditional_reverse(SELF.orientation, - SELF.closed_shell_element.cfs_faces); - WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL' - IN TYPEOF (SELF.closed_shell_element)); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY surface_curve_swept_area_solid - SUBTYPE OF (swept_area_solid); - directrix : curve; - start_param : REAL; - end_param : REAL; - reference_surface : surface; -WHERE - WR1: (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF(directrix))) OR (reference_surface IN (directrix\surface_curve.basis_surface)); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY real_numeric_variable -SUBTYPE OF (numeric_variable); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_surface_curve - SUBTYPE OF (bounded_curve, surface_curve); -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE' IN TYPEOF(SELF\surface_curve.curve_3d)); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY simple_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - BOOLEAN_LITERAL, - BOOLEAN_VARIABLE)) - -SUBTYPE OF (boolean_expression, simple_generic_expression); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY intersection_curve - SUBTYPE OF (surface_curve); -WHERE - WR1: SIZEOF(SELF\surface_curve.associated_geometry) = 2; - WR2: associated_surface(SELF\surface_curve.associated_geometry[1]) <> associated_surface(SELF\surface_curve.associated_geometry[2]); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY swept_disk_solid - SUBTYPE OF (solid_model); - directrix : curve; - radius : positive_length_measure; - inner_radius : OPTIONAL positive_length_measure; - start_param : REAL; - end_param : REAL; -WHERE - WR1: directrix.dim = 3; - WR2: (NOT EXISTS(inner_radius)) OR (radius > inner_radius); -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY open_shell - SUBTYPE OF (connected_face_set); - END_ENTITY; -(* USED FROM (External_class_mim); *) - ENTITY external_class_library - SUBTYPE OF (external_source); - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY or_expression -SUBTYPE OF (multiple_arity_boolean_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY numeric_variable -SUPERTYPE OF (ONEOF ( - INT_NUMERIC_VARIABLE, - REAL_NUMERIC_VARIABLE)) - -SUBTYPE OF (simple_numeric_expression, variable); -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INT_NUMERIC_VARIABLE' - IN TYPEOF(SELF) ) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REAL_NUMERIC_VARIABLE' - IN TYPEOF(SELF) ); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY plus_expression -SUBTYPE OF (multiple_arity_numeric_expression); -END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY item_identified_representation_usage; - name : label; - description : OPTIONAL text; - definition : item_identified_representation_usage_definition; - used_representation : representation; - identified_item : item_identified_representation_usage_select; - WHERE - WR1: SELF.used_representation IN using_representations(SELF.identified_item); - END_ENTITY; -(* USED FROM (External_class_mim); *) - ENTITY externally_defined_class - SUBTYPE OF (class, externally_defined_item); - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_with_associated_documents - SUBTYPE OF (product_definition); - documentation_ids : SET [1:?] OF document; - END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rolling_surface_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : rolling_surface_pair; - actual_point_on_surface : point_on_surface; - actual_rotation : plane_angle_measure; -WHERE - WR1: SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: - actual_point_on_surface.basis_surface; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY revolute_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : revolute_pair; - actual_rotation : plane_angle_measure ; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_layer_assignment; - name : label; - description : text; - assigned_items : SET [1:?] OF layered_item; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY elementary_space - SUBTYPE OF (maths_space, generic_literal); - space_id : elementary_space_enumerators; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY finite_integer_interval - SUBTYPE OF (maths_space, generic_literal); - min : INTEGER; - max : INTEGER; -DERIVE - size : positive_integer := max - min + 1; -WHERE - WR1: min <= max; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY mechanism_state_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF pair_value; - represented_mechanism : mechanism_representation; -DERIVE - SELF\representation.context_of_items : geometric_representation_context := represented_mechanism.context_of_items; -END_ENTITY; -(* USED FROM (contract_schema); *) - ENTITY contract; - name : label; - purpose : text; - kind : contract_type; - END_ENTITY; -(* USED FROM (Contract_mim); *) -ENTITY applied_contract_assignment - SUBTYPE OF (contract_assignment); - items : SET[1:?] OF contract_item; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY not_expression -SUBTYPE OF (unary_Boolean_expression); -SELF\unary_generic_expression.operand: boolean_expression; -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY context_dependent_kinematic_link_representation; - representation_relation : kinematic_link_representation_association; - represented_product_relation : product_definition_relationship_kinematics; -END_ENTITY; -(* USED FROM (contract_schema); *) - ENTITY contract_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_contract : contract; - related_contract : contract; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY multiple_arity_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - AND_EXPRESSION, - OR_EXPRESSION)) - -SUBTYPE OF (boolean_expression, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : -LIST [2:?] OF boolean_expression; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY real_interval_to_max - SUBTYPE OF (maths_space, generic_literal); - max : REAL; - max_closure : open_closed; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rolling_curve_pair - SUBTYPE OF (planar_curve_pair); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY multiple_arity_function_call - ABSTRACT SUPERTYPE OF (ONEOF ( - MAXIMUM_FUNCTION, - MINIMUM_FUNCTION)) - -SUBTYPE OF (multiple_arity_numeric_expression); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY sliding_surface_pair - SUBTYPE OF (surface_pair); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rolling_surface_pair - SUBTYPE OF (surface_pair); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY fully_constrained_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY bound_parameter_environment - SUBTYPE OF (environment); -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN - TYPEOF(SELF\environment.syntactic_representation)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INSTANCE_ATTRIBUTE_REFERENCE' IN - TYPEOF(SELF\environment.semantics)); -END_ENTITY; -(* USED FROM (Work_request_mim); *) -ENTITY applied_action_request_assignment -SUBTYPE OF (action_request_assignment); - items : SET [1 : ?] OF action_request_item; -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY instance_attribute_reference - SUBTYPE OF (variable_semantics); - attribute_name : attribute_identifier; - owning_instance : representation_item; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY unconstrained_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_effectivity - SUBTYPE OF (product_definition_effectivity); - configuration : configuration_design; -UNIQUE - UR1: configuration, - SELF\product_definition_effectivity.usage, - SELF\effectivity.id; -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_USAGE' IN - TYPEOF (SELF\product_definition_effectivity.usage); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY generated_finite_numeric_space - SUBTYPE OF (finite_space); - start_value : maths_number; - increment_value : maths_number; - increment_number : positive_integer; -DERIVE - SELF\finite_space.members : SET [2:?] OF maths_number - := make_numeric_set(start_value, increment_value, increment_number); -WHERE - WR1: increment_value <> 0.0; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY document_usage_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (Time_interval_assignment_mim); *) -ENTITY applied_time_interval_assignment - SUBTYPE OF (time_interval_assignment); - items : SET[0:?] OF time_interval_item; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY minus_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY literal_number - ABSTRACT SUPERTYPE OF (ONEOF ( - INT_LITERAL, - REAL_LITERAL)) - -SUBTYPE OF (simple_numeric_expression, generic_literal); - the_value: NUMBER; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY block - SUBTYPE OF (geometric_representation_item); - position : axis2_placement_3d; - x : positive_length_measure; - y : positive_length_measure; - z : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY right_circular_cone - SUBTYPE OF (geometric_representation_item); - position : axis1_placement; - height : positive_length_measure; - radius : length_measure; - semi_angle : plane_angle_measure; -WHERE - WR1: radius >= 0.0; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY right_circular_cylinder - SUBTYPE OF (geometric_representation_item); - position : axis1_placement; - height : positive_length_measure; - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY sphere - SUBTYPE OF (geometric_representation_item); - radius : positive_length_measure; - centre : point; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY torus - SUBTYPE OF (geometric_representation_item); - position : axis1_placement; - major_radius : positive_length_measure; - minor_radius : positive_length_measure; -WHERE - WR1: major_radius > minor_radius; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model - ABSTRACT SUPERTYPE OF (ONEOF ( - CAMERA_MODEL_D2, - CAMERA_MODEL_D3)) - SUBTYPE OF (geometric_representation_item); - WHERE - WR1: (SIZEOF (USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ITEM_DEFINED_TRANSFORMATION.' + - 'TRANSFORM_ITEM_1')) + - SIZEOF (USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'REPRESENTATION_MAP.MAPPING_ORIGIN')) - ) > 0; - WR2: SIZEOF(USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'STYLED_ITEM.ITEM')) = 0; - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY angular_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY expression - ABSTRACT SUPERTYPE OF (ONEOF ( - NUMERIC_EXPRESSION, - BOOLEAN_EXPRESSION, - STRING_EXPRESSION)) - -SUBTYPE OF (generic_expression); -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY included_text_block - SUBTYPE of (mapped_item); - WHERE - WR1 : 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRUCTURED_TEXT_REPRESENTATION' IN TYPEOF(SELF\mapped_item.mapping_source.mapped_representation); -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY structured_text_composition - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY int_numeric_variable -SUBTYPE OF (numeric_variable); -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY curve_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY defined_function - ABSTRACT SUPERTYPE OF ((ONEOF ( - NUMERIC_DEFINED_FUNCTION, - STRING_DEFINED_FUNCTION, - BOOLEAN_DEFINED_FUNCTION)) - ANDOR - SQL_MAPPABLE_DEFINED_FUNCTION); -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY uniform_resource_identifier - SUBTYPE OF (descriptive_representation_item); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY shape_representation_with_parameters - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF shape_representation_with_parameters_items; -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY oriented_face - SUBTYPE OF (face); - face_element : face; - orientation : BOOLEAN; - DERIVE - SELF\face.bounds : SET[1:?] OF face_bound - := conditional_reverse(SELF.orientation,SELF.face_element.bounds); - WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_FACE' IN TYPEOF (SELF.face_element)); - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY complex_number_literal_polar - SUBTYPE OF (complex_number_literal); - modulus : REAL; -- was radius - argument : REAL; -- was angle -DERIVE - SELF\complex_number_literal.real_part : REAL := modulus * cos(argument); - SELF\complex_number_literal.imag_part : REAL := modulus * sin(argument); -WHERE - WR1: modulus >= 0; - WR2: {0 <= argument <= 2*PI}; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY datum_feature_callout - SUBTYPE OF (draughting_callout); -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY datum_target_callout - SUBTYPE OF (draughting_callout); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_less -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_greater_equal -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair_with_pin - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY diameter_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_less_equal -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY item_link_motion_relationship - SUBTYPE OF (link_motion_relationship); - SELF\representation_relationship.rep_1 : shape_representation; - item : geometric_representation_item; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_greater -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY link_motion_representation_along_path - SUPERTYPE OF (ONEOF ( - PRESCRIBED_PATH, - RESULTING_PATH) ) - SUBTYPE OF (representation); - SELF\representation.items : SET [1:?] OF kinematic_path; - SELF\representation.context_of_items : geometric_representation_context_with_parameter; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY cylindrical_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY dimension_callout_relationship - SUBTYPE OF (draughting_callout_relationship); -WHERE - WR1: SELF.name IN ['primary', 'secondary']; - WR2: SIZEOF (TYPEOF (SELF.relating_draughting_callout) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANGULAR_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIAMETER_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORDINATE_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RADIUS_DIMENSION'])>=1; - WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_DIRECTED_CALLOUT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_CALLOUT']) = 0; - WR4: SELF.related_draughting_callout.contents * - SELF.relating_draughting_callout.contents = - SELF.related_draughting_callout.contents; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path_defined_by_nodes - SUBTYPE OF (kinematic_path); - SELF\kinematic_path.segments : LIST [1:?] OF path_node; - placement_start : placement; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY dimension_pair - SUBTYPE OF (draughting_callout_relationship); -WHERE - WR1: SELF.name IN ['chained', 'parallel']; - WR2: SIZEOF (TYPEOF (SELF.relating_draughting_callout) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANGULAR_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIAMETER_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORDINATE_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RADIUS_DIMENSION'])=1; - WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANGULAR_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIAMETER_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORDINATE_DIMENSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RADIUS_DIMENSION'])=1; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path_segment - ABSTRACT SUPERTYPE OF (ONEOF ( - PATH_NODE, - CURVE_BASED_PATH_WITH_ORIENTATION)) - SUBTYPE OF (founded_item); - t_end : parameter_value; - transition : transition_code; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_equal -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY path_parameter_representation_context - SUBTYPE OF (geometric_representation_context, parametric_representation_context); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY path_node - ABSTRACT SUPERTYPE OF (ONEOF ( - POINT_TO_POINT_PATH, - CIRCULAR_PATH, - LINEAR_PATH, - CURVE_BASED_PATH)) - SUBTYPE OF (kinematic_path_segment); - placement_end : placement; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY point_to_point_path - SUBTYPE OF (path_node); -DERIVE - SELF\kinematic_path_segment.transition : transition_code := discontinuous; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY circular_path - SUBTYPE OF (path_node); - via_point : cartesian_point; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY geometrical_tolerance_callout - SUBTYPE OF (draughting_callout); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY curve_based_path - SUBTYPE OF (path_node); - path_curve : curve; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY curve_based_path_with_orientation - SUBTYPE OF (kinematic_path_segment); - position_curve : bounded_curve; - orientation_curve : bounded_curve; -WHERE - WR1: TYPEOF(position_curve) = TYPEOF(orientation_curve); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY curve_based_path_with_orientation_and_parameters - SUBTYPE OF (curve_based_path_with_orientation); - parameters : path_parameter_representation; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY linear_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (Functional_breakdown_mim); *) - ENTITY functional_element_usage - SUBTYPE OF (breakdown_element_usage); - END_ENTITY; -(* USED FROM (Physical_breakdown_mim); *) - ENTITY physical_breakdown_context - SUBTYPE OF (breakdown_context); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY prismatic_pair_with_range - SUBTYPE OF (prismatic_pair); - lower_limit_actual_translation : OPTIONAL length_measure; - upper_limit_actual_translation : OPTIONAL length_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_translation) - OR - NOT EXISTS(upper_limit_actual_translation)) - XOR - (lower_limit_actual_translation < upper_limit_actual_translation); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY revolute_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_element_group_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : product_definition_element_relationship; - items : SET[1:1] OF product_definition_or_breakdown_element_usage; - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_element_realization - SUBTYPE OF (characterized_object, product_definition_element_relationship); - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_element_usage - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_of - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY actuated_kinematic_pair - SUBTYPE OF (kinematic_pair); - t_x : OPTIONAL actuated_direction; - t_y : OPTIONAL actuated_direction; - t_z : OPTIONAL actuated_direction; - r_x : OPTIONAL actuated_direction; - r_y : OPTIONAL actuated_direction; - r_z : OPTIONAL actuated_direction; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY context_dependent_invisibility - SUBTYPE OF (invisibility); - presentation_context : invisibility_context; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY su_parameters - SUBTYPE OF (geometric_representation_item); - a : length_measure; - alpha : plane_angle_measure; - b : length_measure; - beta : plane_angle_measure; - c : length_measure; - gamma : plane_angle_measure; -WHERE - WR1: SELF\geometric_representation_item.dim=3; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY kinematic_pair - ABSTRACT SUPERTYPE OF (ONEOF ( - HIGH_ORDER_KINEMATIC_PAIR, - LOW_ORDER_KINEMATIC_PAIR_WITH_MOTION_COUPLING, - LOW_ORDER_KINEMATIC_PAIR) - ANDOR - ACTUATED_KINEMATIC_PAIR) - SUBTYPE OF (geometric_representation_item, item_defined_transformation); - joint : kinematic_joint; - SELF\item_defined_transformation.transform_item_1 : rigid_placement; - SELF\item_defined_transformation.transform_item_2 : rigid_placement; -DERIVE - associated_link_representations_1 : SET[1:?] OF kinematic_link_representation := - sort_link_associations(link_representation_associations, TRUE); - associated_link_representations_2 : SET[1:?] OF kinematic_link_representation := - sort_link_associations(link_representation_associations, FALSE); - SELF\item_defined_transformation.name : label := SELF\representation_item.name; -INVERSE - link_representation_associations : SET[1:?] OF pair_representation_relationship FOR transformation_operator; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rigid_link_representation - SUBTYPE OF (kinematic_link_representation); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_hatch_style - SUBTYPE OF (externally_defined_item, geometric_representation_item); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY kinematic_link_representation - ABSTRACT SUPERTYPE OF (ONEOF ( - LINEAR_FLEXIBLE_LINK_REPRESENTATION, - RIGID_LINK_REPRESENTATION)) - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context; - SELF\representation.items : SET[1:?] OF kinematic_link_representation_items; - represented_link : kinematic_link; -INVERSE - associated_shape_representation : SET[0:1] OF -- LK - kinematic_link_representation_association FOR rep_1; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_tile_style - SUBTYPE OF (externally_defined_item, geometric_representation_item); - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_BOOLEAN_EXPRESSION, - UNARY_BOOLEAN_EXPRESSION, - BINARY_BOOLEAN_EXPRESSION, - MULTIPLE_ARITY_BOOLEAN_EXPRESSION, - COMPARISON_EXPRESSION, - INTERVAL_EXPRESSION, - BOOLEAN_DEFINED_FUNCTION)) - -SUBTYPE OF (expression); -END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY product_class - SUBTYPE OF (product_concept,characterized_object); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (defined_function, boolean_expression); -END_ENTITY ; -(* USED FROM (Product_class_mim); *) -ENTITY product_concept_feature_category_usage - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : product_concept_feature_category; - items : SET [1:?] OF category_usage_item; -WHERE -WR1 : SELF.role.name IN [ 'mandatory category usage', 'optional category usage' ]; -END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY conditional_concept_feature - SUBTYPE OF (product_concept_feature); - condition : concept_feature_relationship_with_condition; -END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept_feature; - id : identifier; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_hatching - SUBTYPE OF (geometric_representation_item); - hatch_line_appearance : curve_style; - start_of_next_hatch_line : one_direction_repeat_factor; - point_of_reference_hatch_line : cartesian_point; - pattern_start : cartesian_point; - hatch_line_angle : plane_angle_measure; - END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY concept_feature_operator; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tile_symbol_with_style - SUBTYPE OF (geometric_representation_item); - symbol : annotation_symbol_occurrence; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tiles - SUBTYPE OF (geometric_representation_item); - tiling_pattern : two_direction_repeat_factor; - tiles : SET [1:?] OF fill_area_style_tile_shape_select; - tiling_scale : positive_ratio_measure; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY binary_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - XOR_EXPRESSION, - EQUALS_EXPRESSION)) - -SUBTYPE OF (boolean_expression, binary_generic_expression); -END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept; - id : identifier; - name : label; - description : OPTIONAL text; - market_context : product_concept_context; -UNIQUE - UR1: id; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY pair_representation_relationship - SUBTYPE OF (geometric_representation_item, representation_relationship_with_transformation); - SELF\representation_relationship.rep_1 : kinematic_link_representation; - SELF\representation_relationship.rep_2 : kinematic_link_representation; - SELF\representation_relationship_with_transformation.transformation_operator : kinematic_pair; -WHERE - WR1: transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items; - WR2: transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items; - WR3: rep_1\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_start; - WR4: rep_2\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_end; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -(* Pruned SUPERTYPE *) -ENTITY binary_function_call - ABSTRACT SUPERTYPE - -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY symbol_colour; - colour_of_symbol : colour; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY year_month - SUBTYPE OF (date); - month_component : month_in_year_number; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY week_of_year_and_day_date - SUBTYPE OF (date); - week_component : week_in_year_number; - day_component : OPTIONAL day_in_week_number; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY boxed_half_space - SUBTYPE OF (half_space_solid); - enclosure : box_domain; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY half_space_solid - SUBTYPE OF (geometric_representation_item); - base_surface : surface; - agreement_flag : BOOLEAN; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY xor_expression -SUBTYPE OF (binary_boolean_expression); - SELF\binary_generic_expression.operands: - LIST [2:2] OF boolean_expression; -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configurable_item - SUBTYPE OF (configuration_item); - item_concept_feature : SET[1:?] OF product_concept_feature_association; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY symbol_style - SUBTYPE OF (founded_item); - name : label; - style_of_symbol : symbol_style_select; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_font_and_scaling - SUBTYPE OF (founded_item); - name : label; - curve_font : curve_style_font_select; - curve_font_scaling : REAL; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -(* Pruned SUPERTYPE *) -ENTITY geometric_set - - SUBTYPE OF (geometric_representation_item); - elements : SET[1:?] OF geometric_set_select; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY degenerate_toroidal_surface - SUBTYPE OF (toroidal_surface); - select_outer : BOOLEAN; -WHERE - WR1: major_radius < minor_radius; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY extruded_area_solid - SUBTYPE OF (swept_area_solid); - extruded_direction : direction; - depth : positive_length_measure; -WHERE - WR1: dot_product( (SELF\swept_area_solid.swept_area.basis_surface\ elementary_surface.position.p[3]), extruded_direction) <> 0.0; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY power_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY and_expression -SUBTYPE OF (multiple_arity_boolean_expression); -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_usage - SUBTYPE OF (representation_map); - SELF\representation_map.mapping_origin : camera_model; - WHERE - WR1: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_REPRESENTATION' - IN TYPEOF(SELF\representation_map.mapped_representation)); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY background_colour - SUBTYPE OF (colour); - presentation : area_or_view; - UNIQUE - UR1: presentation; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_font_pattern - SUBTYPE OF (founded_item); - visible_segment_length : positive_length_measure; - invisible_segment_length : positive_length_measure; - END_ENTITY; -(* USED FROM (Name_assignment_mim); *) -ENTITY applied_name_assignment - SUBTYPE OF (name_assignment); - item : name_item; -END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY pre_defined_item; - name : label; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY multiple_arity_numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - PLUS_EXPRESSION, - MULT_EXPRESSION, - MULTIPLE_ARITY_FUNCTION_CALL)) - -SUBTYPE OF (numeric_expression, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF numeric_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY mult_expression -SUBTYPE OF (multiple_arity_numeric_expression); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY ordinal_date - SUBTYPE OF (date); - day_component : day_in_year_number; -WHERE - WR1: (NOT leap_year(SELF.year_component) AND { 1 <= day_component <= 365 }) OR (leap_year(SELF.year_component) AND { 1 <= day_component <= 366 }); -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY contract_assignment - ABSTRACT SUPERTYPE; - assigned_contract : contract; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (Security_classification_mim); *) -ENTITY applied_security_classification_assignment - SUBTYPE OF (security_classification_assignment); - items : SET [1:?] OF security_classification_item; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_symbol - SUBTYPE OF(mapped_item); - SELF\mapped_item.mapping_source : symbol_representation_map; - SELF\mapped_item.mapping_target : symbol_target; - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF (SELF); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY boundary_curve - SUBTYPE OF (composite_curve_on_surface); -WHERE - WR1: SELF\composite_curve.closed_curve; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_silhouette - SUBTYPE OF (founded_item); - style_of_silhouette : curve_or_render; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY mod_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_occurrence_relationship; - name : label; - description : text; - relating_annotation_occurrence : annotation_occurrence; - related_annotation_occurrence : annotation_occurrence; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY equals_expression -SUBTYPE OF (binary_boolean_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_not_equal - SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY div_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY defined_symbol - SUBTYPE OF(geometric_representation_item); - definition : defined_symbol_select; - target : symbol_target; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - COMPARISON_EQUAL, - COMPARISON_GREATER, - COMPARISON_GREATER_EQUAL, - COMPARISON_LESS, - COMPARISON_LESS_EQUAL, - COMPARISON_NOT_EQUAL, - LIKE_EXPRESSION)) - -SUBTYPE OF (boolean_expression, binary_generic_expression); - SELF\binary_generic_expression.operands : LIST [2:2] OF expression; -WHERE - WR1: (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[1])) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[2]))) -OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[1])) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_EXPRESSION' - IN TYPEOF(SELF\binary_generic_expression.operands[2]))) -OR -(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[1])) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[2]))) ; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY symbol_representation - SUBTYPE OF (representation); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_fill_area - SUBTYPE OF (founded_item); - fill_area : fill_area_style; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_rendering; - rendering_method : shading_surface_method; - surface_colour : colour; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_variable -SUBTYPE OF (simple_Boolean_expression, variable); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_parameter_line - SUBTYPE OF (founded_item); - style_of_parameter_lines : curve_or_render; - direction_counts : SET [1:2] OF direction_count_select; - WHERE - WR1: (HIINDEX(SELF.direction_counts) = 1) - XOR - (TYPEOF(SELF.direction_counts[1]) <> - TYPEOF(SELF.direction_counts[2])); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_control_grid - SUBTYPE OF (founded_item); - style_of_control_grid : curve_or_render; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_boundary - SUBTYPE OF (founded_item); - style_of_boundary : curve_or_render; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_tile - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY ordinate_dimension - SUBTYPE OF (projection_directed_callout); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_tile - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_surface_side_style - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY definitional_representation - SUBTYPE OF (representation); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN - TYPEOF (SELF\representation.context_of_items ); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tile_coloured_region - SUBTYPE OF (geometric_representation_item); - closed_curve : curve_or_annotation_curve_occurrence; - region_colour : colour; - WHERE - WR1: (NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF (closed_curve))) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE' IN TYPEOF (closed_curve)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPSE' IN TYPEOF (closed_curve)) OR - ( ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (closed_curve)) - AND (closed_curve\b_spline_curve.closed_curve = TRUE) ) OR - ( ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (closed_curve)) - AND (closed_curve\composite_curve.closed_curve = TRUE) ) OR - ( ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF (closed_curve)) - AND (closed_curve\polyline.points[LOINDEX(closed_curve\polyline.points)] = - closed_curve\polyline.points[HIINDEX(closed_curve\polyline.points)]) ); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_curve_font - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY colour_specification - SUBTYPE OF (colour); - name : label; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY binary_numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - MINUS_EXPRESSION, - DIV_EXPRESSION, - MOD_EXPRESSION, - SLASH_EXPRESSION, - POWER_EXPRESSION, - BINARY_FUNCTION_CALL)) - -SUBTYPE OF (numeric_expression, binary_generic_expression); - SELF\binary_generic_expression.operands : LIST [2:2] OF - numeric_expression; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY draughting_pre_defined_colour - SUBTYPE OF (pre_defined_colour); -WHERE - WR1: SELF.name IN - ['red', - 'green', - 'blue', - 'yellow', - 'magenta', - 'cyan', - 'black', - 'white']; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY colour; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_usage - SUBTYPE OF (founded_item); - side : surface_side; - style : surface_side_style_select; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY subface - SUBTYPE OF (face); - parent_face : face; - WHERE - WR1: NOT (mixed_loop_type_set(list_to_set(list_face_loops(SELF)) + - list_to_set(list_face_loops(parent_face)))); - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY planar_extent - SUBTYPE OF (geometric_representation_item); - size_in_x : length_measure; - size_in_y : length_measure; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_associated_curves - SUBTYPE OF (text_literal); - associated_curves : SET[1:?] of curve; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_segmentation_curve - SUBTYPE OF (founded_item); - style_of_segmentation_curve : curve_or_render; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_view - SUBTYPE OF (presentation_representation); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presented_item - ABSTRACT SUPERTYPE; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_associated_curves - SUBTYPE OF (composite_text); - associated_curves : SET[1:?] of curve; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tile_curve_with_style - SUBTYPE OF (geometric_representation_item); - styled_curve : annotation_curve_occurrence; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY subedge - SUBTYPE OF (edge); - parent_edge : edge; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presented_item_representation; - presentation : presentation_representation_select; - item : presented_item; - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY externally_defined_item_with_multiple_references - SUBTYPE OF (externally_defined_item); - references : LIST[1:?] OF UNIQUE source_item; - UNIQUE - UR1: references; - WHERE - WR1: NOT(SELF\externally_defined_item.item_id IN references); - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY externally_defined_item_relationship; - name : label; - description : OPTIONAL text; - relating_item : externally_defined_item; - related_item : externally_defined_item; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_set; - INVERSE - areas : SET [1:?] OF area_in_set FOR in_set; - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY external_source_relationship; - name : label; - description : OPTIONAL text; - relating_source : external_source; - related_source : external_source; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY connected_face_sub_set - SUBTYPE OF (connected_face_set); - parent_face_set : connected_face_set; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY open_edge_loop - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text - SUBTYPE OF (geometric_representation_item); - collected_text : SET[2:?] of text_or_character; - WHERE - WR1: acyclic_composite_text( SELF, SELF.collected_text); - END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY variational_current_representation_relationship - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 - : variational_representation; - current_result : representation; -UNIQUE - UR1: current_result; -WHERE - WR1: QUERY(q <* SELF\representation_relationship.rep_1.items | NOT - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' - IN TYPEOF(q))) = SELF\representation_relationship.rep_2.items; - WR2: SELF\representation_relationship.rep_1.context_of_items :=: - SELF\representation_relationship.rep_2.context_of_items; - WR3: SIZEOF(QUERY(q <* SELF\representation_relationship.rep_2.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' - IN TYPEOF(q))) = 0; - WR4: TYPEOF(SELF\representation_relationship.rep_1) - - TYPEOF(SELF\representation_relationship.rep_2) = - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VARIATIONAL_REPRESENTATION']; - WR5: current_result :=: SELF\representation_relationship.rep_2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY composite_curve - SUBTYPE OF (bounded_curve); - segments : LIST[1:?] OF composite_curve_segment; - self_intersect : LOGICAL; -DERIVE - n_segments : INTEGER := SIZEOF(segments); - closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous; -WHERE - WR1: ((NOT closed_curve) AND (SIZEOF(QUERY(temp <* segments | temp.transition = discontinuous)) = 1)) OR ((closed_curve) AND (SIZEOF(QUERY(temp <* segments | temp.transition = discontinuous)) = 0)); -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_symbol_representation - SUBTYPE of (symbol_representation); - SELF\representation.items : SET[1:?] OF draughting_symbol_representation_item; -UNIQUE - UR1: SELF\representation.name; -WHERE - WR1: - SIZEOF (QUERY (item <* SELF\representation.items | - (SIZEOF (TYPEOF (item) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_CURVE_OCCURRENCE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE']) = 1) - )) >= 1; - WR2: - SIZEOF (QUERY (item <* SELF\representation.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE' - IN TYPEOF (item))) = 0; - WR3: - SIZEOF ( QUERY (rm <* - USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SYMBOL_REPRESENTATION_MAP' - IN TYPEOF(rm)))) = 0; - WR4: - SIZEOF (SELF.context_of_items.representations_in_context) = 1; -END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY product_concept_feature_category - SUBTYPE OF (group); -WHERE - WR1 : SIZEOF(QUERY(aga <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GROUP_ASSIGNMENT.ASSIGNED_GROUP' ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'APPLIED_GROUP_ASSIGNMENT' IN TYPEOF(aga)) AND - (( aga\group_assignment.role\object_role.name <> 'specification category member' ) OR - ( SIZEOF(QUERY (i <* aga\applied_group_assignment.items | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( i ) ) AND - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF (i)))) <> SIZEOF (aga\applied_group_assignment.items) - )) - )) =0; -END_ENTITY; -(* USED FROM (aic_curve_swept_solid); *) - ENTITY curve_swept_solid_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_AREA_SOLID', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_DISK_SOLID', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D'] * - TYPEOF(it)) = 1))) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_AREA_SOLID', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_DISK_SOLID', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' IN - TYPEOF(mi\mapped_item.mapping_source. - mapped_representation)))) = 0; - WR4: SIZEOF (QUERY (scsas <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE_SWEPT_AREA_SOLID' IN - TYPEOF(it)) | - NOT(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN - TYPEOF(scsas\surface_curve_swept_area_solid.directrix)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN - TYPEOF(scsas\surface_curve_swept_area_solid.directrix))))) = 0; - END_ENTITY; -(* USED FROM (draughting_dimension_schema); *) -ENTITY dimension_callout - SUBTYPE OF (draughting_callout); -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_CALLOUT' - IN (TYPEOF (SELF))) XOR - (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_CURVE' - IN (TYPEOF(dce_1))))) = 0); - WR2: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_DIRECTED_CALLOUT' - IN (TYPEOF (SELF))) XOR - (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_CURVE' - IN (TYPEOF(dce_1))))) = 0); - WR3: -('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' - IN (TYPEOF (SELF))) XOR - (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE' - IN (TYPEOF(dce_1))))) = 0); -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_point_on_plane - ABSTRACT SUPERTYPE OF (ONEOF ( - IMPLICIT_PLANAR_INTERSECTION_POINT, - IMPLICIT_PLANAR_PROJECTION_POINT)) - SUBTYPE OF (point, auxiliary_geometric_representation_item); - using_sketch : positioned_sketch; - computed_representation - : cartesian_point; -DERIVE - plane_of_point : - plane := get_plane_of_implicit_geometry(using_sketch); -WHERE - WR1: (plane_of_point\elementary_surface.position.location = - computed_representation) XOR - (dot_product(plane_of_point\elementary_surface.position.p[3], - get_relative_direction_2points - (plane_of_point\elementary_surface.position.location, - computed_representation)) = 0); - WR2: SIZEOF(TYPEOF(computed_representation) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.IMPLICIT_POINT_ON_PLANE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_REPLICA']) = 0; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY structured_dimension_callout - SUBTYPE OF (draughting_callout); -WHERE - WR1: SIZEOF (TYPEOF (SELF) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM_FEATURE_CALLOUT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM_TARGET_CALLOUT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRICAL_TOLERANCE_CALLOUT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_CALLOUT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_DIRECTED_CALLOUT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT']) = 0; - WR2: SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (con))) | - NOT (ato.name IN - ['dimension value', 'tolerance value', 'unit text', - 'prefix text', 'suffix text']))) = 0; - WR3: SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (con))) | - (ato.name = 'dimension value') - )) >= 1; - WR4: SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'prefix') )) <= 1; - WR5: SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'suffix') )) <= 1; - WR6: NOT((SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con)) ) | - (ato.name = 'prefix text') - )) > 0)) OR - (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'prefix') )) = 1); - WR7: NOT(SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con))) | - (ato.name = 'suffix text') - )) > 0) OR - (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'suffix') )) = 1); -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY radius_dimension - SUBTYPE OF (dimension_curve_directed_callout); -WHERE - WR1: SIZEOF (QUERY (con <* SELF.contents | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_CURVE' IN TYPEOF (con)))<=1; -END_ENTITY; -(* USED FROM (topology_schema); *) -(* Pruned SUPERTYPE *) - ENTITY path - SUPERTYPE OF (ONEOF ( - EDGE_LOOP, - ORIENTED_PATH)) - SUBTYPE OF (topological_representation_item); - edge_list : LIST [1:?] OF UNIQUE oriented_edge; - WHERE - WR1: path_head_to_tail(SELF); - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY leader_directed_dimension - SUBTYPE OF (leader_directed_callout); -WHERE - WR1: SIZEOF (QUERY (con <* SELF.contents | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_CURVE' IN TYPEOF (con)))=1; -END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY rational_representation_item - SUBTYPE OF (representation_item, slash_expression); - WHERE - WR1: SIZEOF( QUERY( operand <* SELF\binary_generic_expression.operands | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INT_LITERAL' IN TYPEOF(operand)))) = 0; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_side_style - SUBTYPE OF (founded_item); - name : label; - styles : SET [1:7] OF surface_style_element_select; - WHERE - WR1: SIZEOF(QUERY( style1 <* SELF.styles | - SIZEOF(QUERY( style2 <* SELF.styles - style1 | - TYPEOF(style1) = TYPEOF(style2) - )) > 0 - )) = 0; - END_ENTITY; -(* USED FROM (Specification_control_mim); *) - ENTITY class_usage_effectivity_context_assignment - SUBTYPE OF (effectivity_context_assignment); - items : SET [1:?] OF class_usage_effectivity_context_item; - WHERE - WR1: SELF.role.name = 'class usage influence'; - WR2: SIZEOF( QUERY( i <* SELF.items | NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) )) = 0; - WR3: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF(SELF.assigned_effectivity_assignment)) AND - (SIZEOF(TYPEOF(SELF.assigned_effectivity_assignment.assigned_effectivity) ) = 1) AND - (SELF.assigned_effectivity_assignment.assigned_effectivity.id = 'class usage') AND - (SIZEOF( QUERY( i <* SELF.assigned_effectivity_assignment\applied_effectivity_assignment.items | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF(i)) )) = 0); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY symbol_representation_map - SUBTYPE OF (representation_map); - SELF\representation_map.mapped_representation : symbol_representation; - SELF\representation_map.mapping_origin : axis2_placement; - WHERE - WR1: SIZEOF( - QUERY(mi <* SELF\representation_map.map_usage | NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi))) - ) = 0; - END_ENTITY; -(* USED FROM (File_identification_mim); *) -ENTITY document_file - SUBTYPE OF (document, characterized_object); -WHERE - WR1: SELF\characterized_object.name = ''; - WR2: NOT EXISTS(SELF\characterized_object.description); - WR3: SIZEOF(QUERY(drt <* SELF\document.representation_types | drt.name IN ['digital', 'physical'])) = 1; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY dimension_callout_component_relationship - SUBTYPE OF (draughting_callout_relationship); -WHERE - WR1: SELF.name IN ['prefix', 'suffix']; - WR2: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRUCTURED_DIMENSION_CALLOUT' - IN TYPEOF (SELF.relating_draughting_callout); - WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_CALLOUT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_DIRECTED_CALLOUT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRUCTURED_DIMENSION_CALLOUT']) = 0; - WR4: SELF.related_draughting_callout.contents * - SELF.relating_draughting_callout.contents = - SELF.related_draughting_callout.contents; - WR5: ((SELF.name = 'prefix') AND - (SIZEOF (QUERY (ato <* QUERY (con <* - SELF.related_draughting_callout.contents | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con))) | - NOT (ato.name = 'prefix text') - )) = 0)); - - WR6: ((SELF.name = 'suffix') AND - (SIZEOF (QUERY (ato <* QUERY (con <* - SELF.related_draughting_callout.contents | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con))) | - NOT (ato.name = 'suffix text') - )) = 0)); -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY thermal_resistance_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( -1.0, -1.0, -3.0, 0.0, 1.0, 0.0, 0.0 ); -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_placements - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)); - WR3 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'PLANE_ANGLE_AND_LENGTH_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT']); - WR5 : validate_locations_of_extreme_value_type(SELF, - []); - WR6 : validate_accuracy_types(SELF, - []); - WR7 : SIZEOF(QUERY(sdqr <* bag_to_set(USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(sdqr)) AND - (SIZEOF(QUERY(sdqiir <* bag_to_set(USEDIN(sdqr, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(sdqiir)) AND - (SIZEOF(QUERY(sdqiri <* sdqiir.inspected_instances| - (TYPEOF(sdqiri.inspected_elements[1]) - <>TYPEOF(sdqiri.inspected_elements[2])))) = 0) - )) = 0) - )) = 0; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_size; - unit : presentation_size_assignment_select; - size : planar_box; - UNIQUE - UR1: unit; - WHERE - WR1: (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_REPRESENTATION' - IN TYPEOF (SELF.unit)) AND - item_in_context (SELF.size, - SELF.unit\representation.context_of_items) - ) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_IN_SET' - IN TYPEOF (SELF.unit)) AND - (SIZEOF (QUERY ( ais <* SELF.unit\area_in_set.in_set.areas | - NOT item_in_context (SELF.size, ais.area\representation. - context_of_items) )) = 0)); - END_ENTITY; -(* USED FROM (aic_advanced_brep); *) -ENTITY advanced_brep_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0; -WR3 : -SIZEOF ( -QUERY ( msb <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* msb_shells(msb)| NOT ( SIZEOF ( -QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fcs)) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( msb <* -QUERY ( it <* items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0; -WR5 : -SIZEOF ( -QUERY ( brv <* -QUERY ( it <* items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* brv\brep_with_voids.voids| csh\oriented_closed_shell.orientation )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; - END_ENTITY ; -(* USED FROM (Component_grouping_mim); *) -ENTITY assembly_group_component_definition_placement_link - SUBTYPE OF (product_definition,product_definition_relationship); - SELF\product_definition_relationship.relating_product_definition : assembly_component; - SELF\product_definition_relationship.related_product_definition : assembly_component; -WHERE - WR1: SELF\product_definition_relationship.related_product_definition :<>: - SELF\product_definition_relationship.relating_product_definition; - WR2: acyclic_product_definition_relationship (SELF, - [SELF\product_definition_relationship.related_product_definition], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASSEMBLY_GROUP_COMPONENT_DEFINITION_PLACEMENT_LINK'); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY box_domain - SUBTYPE OF (founded_item); - corner : cartesian_point; - xlength : positive_length_measure; - ylength : positive_length_measure; - zlength : positive_length_measure; -WHERE - WR1: SIZEOF(QUERY(item <* USEDIN(SELF,'')| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOXED_HALF_SPACE' IN TYPEOF(item)))) = 0; -END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY picture_representation - SUBTYPE OF (presentation_view); - SELF\representation.items : SET[2:?] OF picture_representation_item_select; - INVERSE - size : presentation_size FOR unit; - WHERE - WR1: SIZEOF(QUERY(item <* items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN TYPEOF(item))) = 1; - WR2: SIZEOF (QUERY (se <* QUERY (item <* SELF.items - | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN TYPEOF (item))) - | NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PICTURE_REPRESENTATION_ITEM' - IN TYPEOF (se\styled_item.item)) )) = 0; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) -(* Pruned SUPERTYPE *) - ENTITY presentation_representation - SUPERTYPE OF (ONEOF ( - PRESENTATION_AREA, - PRESENTATION_VIEW)) - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context; - WHERE - WR1: SELF\representation. - context_of_items\geometric_representation_context. - coordinate_space_dimension = 2; - WR2: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_AREA' IN TYPEOF (SELF)) - OR - (SIZEOF (QUERY (prr <* USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'REPRESENTATION_RELATIONSHIP.REP_2') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_REPRESENTATION' IN - TYPEOF (prr\representation_relationship.rep_1))) > 0) - OR - (SIZEOF(QUERY( rm <* USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'REPRESENTATION_MAP.'+ - 'MAPPED_REPRESENTATION') | - SIZEOF(QUERY( mi <* USEDIN(rm, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'MAPPED_ITEM.'+ - 'MAPPING_SOURCE') | - SIZEOF(QUERY( rep <* using_representations (mi) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'PRESENTATION_REPRESENTATION' IN - TYPEOF (rep))) > 0 - )) > 0)) - > 0); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY common_datum - SUBTYPE OF (composite_shape_aspect, datum); -WHERE - WR1: SIZEOF (SELF\composite_shape_aspect.component_relationships) = 2; - WR2: SIZEOF (QUERY ( sar <* SELF\composite_shape_aspect.component_relationships| NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM' IN TYPEOF (sar.related_shape_aspect)) AND NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMMON_DATUM' IN TYPEOF (sar.related_shape_aspect))) )) = 0; -END_ENTITY; -(* USED FROM (aic_mechanical_design_shaded_presentation); *) - ENTITY mechanical_design_shaded_presentation_area - SUBTYPE OF (presentation_area); - SELF\representation.items : SET[1:?] OF mechanical_design_shaded_presentation_area_items; - WHERE - WR1 : (* only presentation_views or axis2_placements in - mechanical_design_shaded_presentation_area *) - SIZEOF (QUERY (it1 <* SELF.items | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT' - IN TYPEOF (it1)) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF (it1)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it1\mapped_item.mapping_source.mapped_representation)))))) = 0; - WR2 : (* only mechanical_design_shaded_presentation_representation - via camera_image_3d_with_scale or axis2_placements in - presentation_views *) - SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF (it1)) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (mi1\mapped_item.mapping_source.mapped_representation)) | - (* search in all presentation_views for axis2_placements and - mapped_items and for the subtype of mapped_item, - camera_image_3d_with_scale; the latter shall reference - a mechanical_design_geometric_presentation_representation; - the supertype mapped_item shall reference presentation_view. *) - NOT (SIZEOF(QUERY(it2 <* pv\mapped_item.mapping_source. - mapped_representation\representation.items | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT' - IN TYPEOF(it2)) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it2)) AND NOT - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it2\mapped_item.mapping_source.mapped_representation))) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2)) - AND NOT ( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' - IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) )) - ))) = 0))) = 0; - WR3: (* Presentation_size shall be a positive rectangle for area and set. - Check for this presentation_area subtype first. *) - (SIZEOF (QUERY(ps <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - NOT ((ps\presentation_size.size.size_in_x > 0) - AND (ps\presentation_size.size.size_in_y > 0)) )) = 0) - AND - (* check secondly for presentation_set, via area_in_set *) - (SIZEOF (QUERY(pset <* QUERY(ais <* - USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AREA_IN_SET.AREA') - | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) | - (* after having collected all presentation_set, check their sizes *) - SIZEOF (QUERY(ps <* USEDIN(pset, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') - | NOT ((ps\presentation_size.size.size_in_x > 0) - AND (ps\presentation_size.size.size_in_y > 0)) )) = 0)) = 0); - WR4: (* Drawing space shall be defined in 2D. - Check for this presentation_area subtype first. *) - (SIZEOF(QUERY( psize <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') - | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' - IN TYPEOF (psize.size.placement))) = 1) - AND - (* check secondly for presentation_set, via area_in_set *) - (SIZEOF (QUERY(pset <* QUERY(ais <* - USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AREA_IN_SET.AREA') - | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) | - (* after having collected all presentation_set, check their - dimension *) - SIZEOF (QUERY(psize <* USEDIN(pset, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') - | NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' - IN TYPEOF (psize.size.placement)) )) = 0)) = 0); - WR5 : (* valid types of camera_models - get for all presentation_areas their presentation_views *) - SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF (it1)) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (mi1\mapped_item.mapping_source.mapped_representation)) | - (* search in all presentation_views for - mapped_items and for the subtype of mapped_item, - camera_image_3d_with_scale; the latter shall reference - a camera_usage that shall have as its mapping_origin either - camera_model_d3, camera_model_d3_with_hlhsr, or - camera_model_with_light_sources. *) - NOT (SIZEOF(QUERY(ci <* pv\mapped_item.mapping_source. - mapped_representation\representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(ci)) - AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'CAMERA_MODEL_D3', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'CAMERA_MODEL_D3_WITH_HLHSR', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'CAMERA_MODEL_WITH_LIGHT_SOURCES'] * TYPEOF - (ci\mapped_item.mapping_source.mapping_origin)) - = 1))) = 0))) = 0; - END_ENTITY; (* mechanical_design_shaded_presentation_area *) -(* USED FROM (aic_mechanical_design_shaded_presentation); *) -ENTITY mechanical_design_shaded_presentation_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF mechanical_design_shaded_presentation_representation_items; -WHERE - WR1: (* for all mapped_items check that only - shape_representations and - mechanical_design_shaded_presentation_representations - are referenced *) - SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it))) | NOT (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION'] - * TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) - = 1))) = 0; - WR2: (* for all styled_item.item check that in case they are - mapped_items that they are shape_representations *) - SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it))) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF(si\styled_item.item))) | NOT ( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item. - item\mapped_item.mapping_source.mapped_representation))) )) = 0; - WR3: (* for all styled_items get their styles via - presentation_style_assignment.styles and check for valid - style types *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (pss <* psa.styles | - NOT (SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_STYLE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE'] - * TYPEOF (pss)) = 1))) = 0))) = 0))) = 0; - WR4: (* for all styled_items get those assigned styles that - are presentation_style_by_contexts and ensure that - these reference only representation_items and - representations as valid contexts *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psbc <* QUERY (psa <* si\styled_item.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF (psa)) | - NOT (SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION'] - * TYPEOF (psbc\presentation_style_by_context.style_context)) = 1))) - = 0))) = 0; - WR5: (* for all styled_items get all assigned point_styles - and ensure that marker_select, marker_size and - marker_colour are valid *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ps <* QUERY (pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_STYLE' - IN TYPEOF (pss)) | - NOT ( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MARKER_TYPE' - IN TYPEOF (ps\point_style.marker)) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (ps\point_style.marker_size)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ps\point_style.marker_colour)) = 1)))) = 0))) = 0))) = 0; - WR6: (* for all styled_items get all assigned curve_styles - and ensure that curve_width, curve_font and - curve_colour are valid *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (cs <* QUERY (pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF (pss)) | - NOT ( - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (cs\curve_style.curve_colour)) = 1) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (cs\curve_style.curve_width)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0; - WR7: (* for all styled_items get all assigned surface_style_usages - and ensure that its style is a surface_side_style *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_SIDE_STYLE' - IN TYPEOF (ssu\surface_style_usage.style)) )) = 0))) = 0 ))) = 0; - WR8: (* for all styled_items get all assigned surface_style_usages - and the surface_side_styles that they reference, and ensure - that the styles referenced by those surface_side_styles - are among the valid subset *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - NOT (SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_PARAMETER_LINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_CONTROL_GRID', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_SILHOUETTE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_SEGMENTATION_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_BOUNDARY', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_FILL_AREA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_RENDERING'] * TYPEOF (sses)) = 1))) = 0))) = 0))) - = 0))) = 0; - WR9: (* for all surface_style_fill_areas that are referenced by - any surface_side_styles ensure that they are valid - with respect to their colour representation *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (ssfa <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_FILL_AREA' - IN TYPEOF (sses)) | - NOT (SIZEOF (QUERY (fss <* - ssfa\surface_style_fill_area.fill_area.fill_styles | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'FILL_AREA_STYLE_COLOUR' IN TYPEOF (fss)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (fss\fill_area_style_colour.fill_colour)) = 1)))) = 0))) = 0))) - = 0))) = 0))) = 0; - WR10: (* for all surface_style_parameter_lines that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sspl <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF (sses)) | - NOT (( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_colour)) = 1) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_width)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_font)) = 1)) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR11: (* for all surface_style_control_grids that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sscg <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF (sses)) | - NOT (( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_colour)) = 1) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_width)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_font)) = 1)) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sscg\surface_style_control_grid.style_of_control_grid\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR12: (* for all surface_style_silhouettes that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sssh <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF (sses)) | - NOT (( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_colour)) = 1) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_width)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_font)) = 1)) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssh\surface_style_silhouette.style_of_silhouette\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR13: (* for all surface_style_segmentation_curves that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sssc <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF (sses)) | - NOT (( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF - (sssc\surface_style_segmentation_curve.style_of_segmentation_curve)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_colour)) = 1) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_width)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_font)) = 1)) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssc\surface_style_segmentation_curve.style_of_segmentation_curve\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR14: (* for all surface_style_boundaries that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (ssbd <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_BOUNDARY' IN TYPEOF (sses)) | - NOT (( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_colour)) = 1) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_width)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_font)) = 1)) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ssbd\surface_style_boundary.style_of_boundary\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR15: (* for all surface_style_renderings that are referenced by - any surface_side_styles ensure that the colour - representation is valid *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (ssre <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SURFACE_STYLE_RENDERING' IN TYPEOF (sses)) | - NOT - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ssre\surface_style_rendering.surface_colour)) = 1))) - = 0))) = 0))) = 0))) = 0; - -END_ENTITY; -(* USED FROM (aic_geometrically_bounded_surface); *) -ENTITY geometrically_bounded_surface_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; - WR2: SIZEOF(QUERY(it <* SELF.items | SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0; - WR3: SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' IN TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) AND (SIZEOF(QUERY(mr_it <* mi\mapped_item.mapping_source.mapped_representation.items | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET' IN TYPEOF(mr_it)))) > 0)))) = 0; - WR4: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(pnt <* QUERY(gsel <* gs\geometric_set.elements | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT' IN TYPEOF(gsel)) | NOT (gbsf_check_point(pnt)))) = 0))) = 0; - WR5: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(cv <* QUERY(gsel <* gs\geometric_set.elements | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF(gsel)) | NOT (gbsf_check_curve(cv)))) = 0))) = 0; - WR6: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(sf <* QUERY(gsel <* gs\geometric_set.elements | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF(gsel)) | NOT (gbsf_check_surface(sf)))) = 0))) = 0; - WR7: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | SIZEOF(QUERY(gsel <* gs\geometric_set.elements | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF(gsel))) > 0)) > 0; -END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY ply_laminate_sequence_definition - SUBTYPE OF (product_definition); - WHERE - WR1: SIZEOF (QUERY (pdr <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATING_PRODUCT_DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN - TYPEOF (pdr))) > 0; - END_ENTITY; -(* USED FROM (Specified_product_mim); *) - ENTITY product_identification - SUBTYPE OF (configuration_item, characterized_object); - SELF\configuration_item.item_concept : product_class; - WHERE - WR1 : SIZEOF(QUERY - ( cd <* USEDIN ( SELF ,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONFIGURATION_DESIGN.CONFIGURATION' ) - | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF ( cd. design ) ) - AND - ( SIZEOF ( QUERY - ( - prpc <* USEDIN ( cd. design\product_definition_formation.of_product , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') - | - prpc. name IN ['part' , 'raw material' , 'tool'] ) ) >0 - ) - ) - ) <=1; - WR2 : NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'CONFIGURABLE_ITEM' IN TYPEOF( SELF ) ) - XOR ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'PRODUCT_SPECIFICATION' IN TYPEOF ( SELF ) ) ; - END_ENTITY; -(* USED FROM (aic_geometrically_bounded_wireframe); *) -ENTITY geometrically_bounded_wireframe_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ( TYPEOF (it) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ]) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ( TYPEOF (it) * [ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ]) = 1) )) >= 1; -WR3 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( crv <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_curve(crv) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( pnts <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_point(pnts) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( cnc <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC' IN TYPEOF (elem)) )| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (cnc\conic.position)) )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( pline <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF (elem)) )| NOT ( SIZEOF (pline\polyline.points) > 2) )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; - END_ENTITY ; -(* USED FROM (aic_shell_based_wireframe); *) -ENTITY shell_based_wireframe_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1; -WR3 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF (el.edge_element)) )) = 0) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( pline_el <* -QUERY ( el <* eloop\path.edge_list| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF (el.edge_element\edge_curve.edge_geometry)) )| NOT ( SIZEOF (pline_el.edge_element\edge_curve.edge_geometry\polyline.points) > 2) )) = 0) )) = 0) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT valid_wireframe_edge_curve(el.edge_element\edge_curve.edge_geometry) )) = 0) )) = 0) )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_start)) AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_end))) )) = 0) )) = 0) )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT (valid_wireframe_vertex_point(el.edge_element.edge_start\vertex_point.vertex_geometry) AND valid_wireframe_vertex_point(el.edge_element.edge_end\vertex_point.vertex_geometry)) )) = 0) )) = 0) )) = 0) )) = 0; -WR8 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( vloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF (vloop\vertex_loop.loop_vertex)) )) = 0) )) = 0) )) = 0; -WR9 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( vloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT valid_wireframe_vertex_point(vloop\vertex_loop.loop_vertex\vertex_point.vertex_geometry) )) = 0) )) = 0) )) = 0; -WR10 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( vs <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF (vs\vertex_shell.vertex_shell_extent.loop_vertex)) )) = 0) )) = 0; -WR11 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( vs <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT valid_wireframe_vertex_point(vs\vertex_shell.vertex_shell_extent.loop_vertex\vertex_point.vertex_geometry) )) = 0) )) = 0; -WR12 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; -WR13 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; - END_ENTITY ; -(* USED FROM (geometric_model_schema); *) -ENTITY geometric_curve_set - SUBTYPE OF (geometric_set); -WHERE - WR1: SIZEOF(QUERY(temp <* SELF\geometric_set.elements | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF(temp))) = 0; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_fill_area - SUBTYPE OF (geometric_representation_item); - boundaries : SET [1:?] OF curve; - WHERE - WR1: (SELF\geometric_representation_item.dim = 3) OR (SIZEOF (QUERY (curve <* SELF.boundaries | - NOT ( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE' IN TYPEOF (curve)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPSE' IN TYPEOF (curve)) OR - ( ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (curve)) - AND (curve\b_spline_curve.closed_curve = TRUE) ) OR - ( ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (curve)) - AND (curve\composite_curve.closed_curve = TRUE) ) OR - ( ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF (curve)) - AND (curve\polyline.points[LOINDEX(curve\polyline.points)] = - curve\polyline.points[HIINDEX(curve\polyline.points)]) ) - ) )) = 0); - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY index_expression -SUBTYPE OF (string_expression, binary_generic_expression); -DERIVE - operand:generic_expression:= -SELF\binary_generic_expression.operands[1]; - index:generic_expression:= -SELF\binary_generic_expression.operands[2]; -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(operand)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(index)); - WR2: is_int_expr (index); -END_ENTITY; -(* USED FROM (aic_faceted_brep); *) -ENTITY faceted_brep_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* items| NOT ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* items| ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0; -WR3 : -SIZEOF ( -QUERY ( fbrep <* -QUERY ( it <* items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* msb_shells(fbrep)| NOT ( SIZEOF ( -QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF (fcs)) AND (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF (fcs\face_surface.face_geometry)) AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF (fcs\face_surface.face_geometry\elementary_surface.position.location)))) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( fbrep <* -QUERY ( it <* items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* msb_shells(fbrep)| NOT ( SIZEOF ( -QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ( SIZEOF ( -QUERY ( bnds <* fcs.bounds| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF (bnds)) )) = 1) )) = 0) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( msb <* -QUERY ( it <* items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0; -WR6 : -SIZEOF ( -QUERY ( brv <* -QUERY ( it <* items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* brv\brep_with_voids.voids| csh\oriented_closed_shell.orientation )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; - END_ENTITY ; -(* USED FROM (aic_non_manifold_surface); *) -ENTITY non_manifold_surface_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1))) - = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' - IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) - AND - (SIZEOF(QUERY (mr_it <* - mi\mapped_item.mapping_source.mapped_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' - IN TYPEOF (mr_it)))) > 0 )))) = 0; - WR4: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_FACE'] * TYPEOF (fa)) = 1))) - = 0))) = 0))) = 0; - WR5: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (f_sf <* QUERY (fa <* cfs.cfs_faces | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF (fa))) | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (f_sf)) - OR - (nmsf_surface_check(f_sf\face_surface.face_geometry))))) = 0))) - = 0))) = 0; - WR6: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (o_fa <* QUERY (fa <* cfs.cfs_faces | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_FACE' IN TYPEOF (fa))) | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF - (o_fa\oriented_face.face_element)) - OR - (nmsf_surface_check - (o_fa\oriented_face.face_element\face_surface.face_geometry))))) - = 0))) = 0))) = 0; - WR7: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (bnds <* fa.bounds | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP'] - * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0; - WR8: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF - (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR9: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <* - elp_fbnds\path.edge_list | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE'] * - TYPEOF (oe_cv.edge_element\edge_curve.edge_geometry)) - = 1))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR10: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT (nmsf_curve_check (oe.edge_element\edge_curve.edge_geometry)))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR11: SIZEOF (QUERY(fbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list| - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF - (oe.edge_element.edge_start)) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN - TYPEOF (oe.edge_element.edge_end))))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR12: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ((SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_end\vertex_point.vertex_geometry)) = 1 - )))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR13: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0))) - = 0))) = 0; - WR14: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry)) - = 1))) = 0)))) = 0))) = 0))) = 0; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_image_2d_with_scale - SUBTYPE OF (camera_image); - DERIVE - scale : positive_ratio_measure := (SELF\mapped_item.mapping_target\planar_extent.size_in_x)/ - (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window\planar_extent.size_in_x); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CAMERA_MODEL_D2' IN TYPEOF(SELF\mapped_item.mapping_source.mapping_origin)); - WR2: aspect_ratio (SELF\mapped_item.mapping_target) = aspect_ratio (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window); - WR3: SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window_clipping; - END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY absorbed_dose_unit - SUBTYPE OF (derived_unit); -WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.gray); -END_ENTITY; -(* USED FROM (aic_elementary_brep); *) - ENTITY elementary_brep_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1 : SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D'] * - TYPEOF(it)) = 1))) = 0; - WR2 : SIZEOF (QUERY (it <* SELF.items | - SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; - WR3 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh.cfs_faces | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF(fcs)))) = 0 - ))) = 0 - ))) = 0; - WR4 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_SURFACE' IN - TYPEOF(fcs\face_surface.face_geometry)) - ))) = 0 - ))) = 0 - ))) = 0; - WR5 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN - TYPEOF(oe.edge_element)))) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR6 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE'] * - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) = 1 ) - )) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR7 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN - TYPEOF(oe.edge_end)) - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR8 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND - (NOT (SIZEOF (oe\oriented_edge.edge_element\ - edge_curve.edge_geometry\polyline.points) >= 3)) - )) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR9 : SIZEOF (QUERY (msb <* QUERY (it <* items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF - (msb\manifold_solid_brep.outer))) - = 0; - WR10 : SIZEOF (QUERY (brv <* QUERY (it <* items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* brv\brep_with_voids.voids | - csh\oriented_closed_shell.orientation)) = 0))) = 0; - WR11 : SIZEOF (QUERY (mi <* QUERY (it <* items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' IN - TYPEOF(mi\mapped_item.mapping_source. - mapped_representation)))) = 0; - WR12 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (vlp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' IN TYPEOF(bnds.bound)) | - NOT(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN - TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN - TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop. - loop_vertex\vertex_point.vertex_geometry)) - ))) = 0))) = 0))) = 0))) =0; - END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY package_product_concept_feature - SUBTYPE OF (product_concept_feature); -WHERE - WR1: NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF ( SELF ) ) ; - WR2: SIZEOF ( QUERY ( cfr <* USEDIN ( SELF , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.' +'RELATING_PRODUCT_CONCEPT_FEATURE' ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF (cfr ) ) AND - (SIZEOF ( QUERY (ipcf <* USEDIN ( cfr , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.' + 'CONDITION' ) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( ipcf ) - )) = 1) - )) > 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_replica - SUBTYPE OF (surface); - parent_surface : surface; - transformation : cartesian_transformation_operator_3d; -WHERE - WR1: acyclic_surface_replica(SELF, parent_surface); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style - SUBTYPE OF (founded_item); - name : label; - fill_styles : SET [1:?] OF fill_style_select; - WHERE - WR1: SIZEOF(QUERY(fill_style <* SELF.fill_styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'FILL_AREA_STYLE_COLOUR' IN - TYPEOF(fill_style) - )) <= 1; - END_ENTITY; -(* USED FROM (aic_geometrically_bounded_2d_wireframe); *) -ENTITY geometrically_bounded_2d_wireframe_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SELF.context_of_items\geometric_representation_context. - coordinate_space_dimension = 2; - WR2: SIZEOF (QUERY (item <* SELF.items | - NOT (SIZEOF (TYPEOF (item) * -['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_2D', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM']) = 1) - )) = 0; - WR3: SIZEOF (QUERY (item <* SELF.items | - SIZEOF (TYPEOF (item) * -['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM']) = 1 - )) >= 1; - WR4: SIZEOF (QUERY (mi <* QUERY (item <* SELF.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF (item))) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION' - IN TYPEOF - (mi\mapped_item.mapping_source.mapped_representation)) - )) = 0; - WR5: SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET' - IN TYPEOF (item))) | - NOT (SIZEOF (QUERY (elem <* gcs\geometric_set.elements | - NOT (SIZEOF (TYPEOF (elem) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPSE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_2D', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE']) = - 1) - )) = 0) - )) = 0; - WR6: SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET' - IN TYPEOF (item))) | - NOT (SIZEOF (QUERY (crv <* - QUERY (elem <* gcs\geometric_set.elements | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' - IN TYPEOF (elem))) | - NOT (valid_basis_curve_in_2d_wireframe - (crv)) - )) = 0) - )) = 0; - WR7: SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_CURVE_SET' - IN TYPEOF (item))) | - NOT (SIZEOF (QUERY (pnt <* - QUERY (elem <* gcs\geometric_set.elements | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT' - IN TYPEOF(elem))) | - NOT (SIZEOF (TYPEOF (pnt) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE']) - = 1) - )) = 0) - )) = 0; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY draughting_elements - SUBTYPE OF (draughting_callout); -WHERE - WR1: SIZEOF (QUERY (l_c <* QUERY (con <* SELF.contents | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_CURVE' IN TYPEOF(con))) | - NOT (SIZEOF (QUERY (ldc <* USEDIN (l_c, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_CALLOUT.CONTENTS') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_CALLOUT' - IN TYPEOF (ldc)))) <= 1)))=0; - WR2: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' - IN TYPEOF(SELF)) OR - (SIZEOF (QUERY (con <* SELF.contents | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_CURVE' IN - TYPEOF (con)))) <= 2); - WR3: SIZEOF (QUERY (rc <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND - (rc.name = 'primary') )) <= 1; - WR4: SIZEOF (QUERY (rc <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND - (rc.name = 'secondary') )) <= 1; - WR5: SIZEOF (QUERY (sec <* QUERY (rc <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND - (rc.name = 'secondary') ) | - NOT (SIZEOF (QUERY (prim <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (prim)) AND - (prim.name = 'primary') )) = 1))) = 0; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_string_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF text_string_representation_item; - WHERE - WR1: SIZEOF ( - QUERY (item <* SELF\representation.items | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_CHARACTER', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEFINED_CHARACTER_GLYPH', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT'] * - TYPEOF (item)) = 0) - )) >= 1; - WR2: SIZEOF ( - QUERY (a2p <* - QUERY (item <* SELF\representation.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF (item)) | - NOT ((SIZEOF ( - QUERY (at <* - QUERY (item <* SELF\representation.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ANNOTATION_TEXT' IN TYPEOF (item)) | - (at\mapped_item.mapping_target :=: a2p))) >= 1) OR - (SIZEOF ( - QUERY (atc <* - QUERY (item <* SELF\representation.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ANNOTATION_TEXT_CHARACTER' IN TYPEOF (item)) | - (atc\mapped_item.mapping_target :=: a2p))) >= 1) - ))) = 0; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY tangent_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF curve_or_surface_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:?] OF curve_or_surface_constraint_element; - near_points : SET[0:?] OF near_point_relationship; - tangent_contact : tangent_contact_type; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: NOT ((SELF\geometric_representation_item.dim = 2) - AND (tangent_contact = surface_contact)); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY shape_aspect_relationship_representation_association; - represented_shape_aspect_relationship: shape_aspect_relationship; - representing_representation_relationship : representation_relationship; -WHERE -WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN - TYPEOF(representing_representation_relationship\ - representation_relationship.rep_1)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN - TYPEOF(representing_representation_relationship\ - representation_relationship.rep_2)); -WR2: (represented_shape_aspect_relationship.relating_shape_aspect IN - using_shape_aspect_of_shape_representation - (representing_representation_relationship.rep_1)) AND - (represented_shape_aspect_relationship.related_shape_aspect IN - using_shape_aspect_of_shape_representation - (representing_representation_relationship.rep_2)); -WR3: ((find_representative_shape_representation_of_product_definition - (using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect)). - context_of_items) :=: - (find_representative_shape_representation_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect). - context_of_items)) AND - ((find_representative_shape_representation_of_product_definition - (using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect)). - context_of_items) :=: - (find_representative_shape_representation_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect). - context_of_items)); -WR4: using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect) :<>: - using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect); -WR5: find_assembly_root ([using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect)]) :=: - find_assembly_root ([using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect)]); -END_ENTITY; -- shape_aspect_relationship_representation_association -(* USED FROM (Document_assignment_mim); *) -ENTITY document_product_equivalence - SUBTYPE OF (document_product_association); -WHERE - WR1: SELF\document_product_association.name = 'equivalence'; - WR2: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT' IN TYPEOF(SELF\document_product_association.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF\document_product_association.related_product, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1)); - WR3: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document version') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF.related_product\product_definition_formation.of_product, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1)); - WR4: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document definition') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF\document_product_association.related_product\product_definition.formation.of_product, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1)); -END_ENTITY; -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY representative_shape_representation - SUBTYPE OF (shape_representation); -WHERE -WR1: unique_in_product_definition (SELF) OR unique_in_shape_aspect (SELF); -END_ENTITY; -- representative_shape_representation -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_stepped_round_hole_and_conical_transitions - SUBTYPE OF (solid_with_stepped_round_hole); - conical_transitions : SET[1:?] OF conical_stepped_hole_transition; -WHERE - WR1: SIZEOF (conical_transitions) <= - (SELF\solid_with_stepped_round_hole.segments + 1); - WR2: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' - IN TYPEOF(SELF)) XOR (SIZEOF(conical_transitions) <= - SELF\solid_with_stepped_round_hole.segments); - WR3: validate_countersink_radii(SELF); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY presentation_style_assignment - SUBTYPE OF (founded_item); - styles : SET [1:?] OF presentation_style_select; - WHERE - WR1: SIZEOF (QUERY (style1 <* SELF.styles | - NOT (SIZEOF (QUERY (style2 <* (SELF.styles - style1) | - NOT ((TYPEOF (style1) <> TYPEOF (style2)) OR - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_USAGE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'EXTERNALLY_DEFINED_STYLE'] * - TYPEOF (style1)) = 1) - ))) = 0 - ))) = 0; - WR2: SIZEOF (QUERY (style1 <* SELF.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN - TYPEOF(style1) - )) <= 2; - WR3: SIZEOF (QUERY (style1 <* SELF.styles | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF (style1)) AND - (SIZEOF (QUERY (style2 <* (SELF.styles - style1) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF (style2)) AND - ((style1\surface_style_usage.side = both) OR - (style2\surface_style_usage.side = both) OR - (style1\surface_style_usage.side = style2\surface_style_usage.side)) )) > 0))) = 0; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY context_dependent_over_riding_styled_item - SUBTYPE OF(over_riding_styled_item); - style_context : LIST[1:?] OF style_context_select; - WHERE - WR1: -(SIZEOF(QUERY(sc <* SELF.style_context | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(sc)))= 1) OR -(SIZEOF(QUERY(sc <* SELF.style_context | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF(sc)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF(sc)) )) - = SIZEOF(style_context)); - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspected_shape_and_result_relationship - SUBTYPE OF(shape_representation_relationship); - SELF\representation_relationship.rep_1 : shape_representation; - SELF\representation_relationship.rep_2 : shape_data_quality_inspection_result_representation; - WHERE - WR1 : SIZEOF( - using_product_definition_of_shape_representation(SELF.rep_1) - * - bag_to_set(inspected_product_definition(SELF.rep_2)) - ) > 0; - WR2 : SELF.rep_1\representation.context_of_items :=: - SELF.rep_2\representation.context_of_items; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY point_on_edge_curve - SUBTYPE OF(point_on_curve); - basis_edge_curve : edge_curve; - DERIVE - SELF\point_on_curve.basis_curve : curve := SELF.basis_edge_curve.edge_geometry; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_edge_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_incomplete_circular_pattern - SUBTYPE OF (solid_with_circular_pattern); - omitted_instances : SET[1:?] OF positive_integer; -WHERE - WR1: SIZEOF(omitted_instances) < - SELF\solid_with_circular_pattern.replicate_count; - WR2: SIZEOF(QUERY(q <* omitted_instances | q > - SELF\solid_with_circular_pattern.replicate_count)) = 0; -END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY variational_representation_item - ABSTRACT SUPERTYPE OF ( - AUXILIARY_GEOMETRIC_REPRESENTATION_ITEM) - SUBTYPE OF (representation_item); -WHERE - WR1: SIZEOF(QUERY(q <* using_representations(SELF) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VARIATIONAL_REPRESENTATION' - IN TYPEOF(q)))) = 0; - WR2: SIZEOF(QUERY(q <* using_representations(SELF) | - NOT (SELF IN q.items))) = 0; -END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY variational_representation - SUBTYPE OF (representation); -INVERSE - cm_link : variational_current_representation_relationship FOR rep_1; -WHERE - WR1: SIZEOF(QUERY(q <* SELF\representation.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' - IN TYPEOF(q))) > 0; - WR2: SIZEOF(QUERY(q <* (SELF\representation.items - - cm_link.rep_2.items) | invalidate_vrep_item(q))) = 0; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY complex_shelled_solid - SUBTYPE OF (shelled_solid); - thickened_face_list : LIST [1:?] OF SET[1:?] OF face_surface; - thickness_list : LIST [1:?] OF length_measure; -WHERE - WR1: SIZEOF(thickened_face_list) = SIZEOF(thickness_list); - WR2: SIZEOF(QUERY(q <* thickness_list | (q = 0))) = 0; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY local_time; - hour_component : hour_in_day; - minute_component : OPTIONAL minute_in_hour; - second_component : OPTIONAL second_in_minute; - zone : coordinated_universal_time_offset; -WHERE - WR1: valid_time (SELF); -END_ENTITY; -(* USED FROM (Person_organization_mim); *) -ENTITY person_and_organization_address - SUBTYPE OF (organizational_address, personal_address); - SELF\organizational_address.organizations : SET[1:1] OF organization; - SELF\personal_address.people : SET[1:1] OF person; -WHERE - WR1: SIZEOF(QUERY(pao <* USEDIN (SELF\personal_address.people[1], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PERSON_AND_ORGANIZATION.THE_PERSON') | pao.the_organization :=: SELF\organizational_address.organizations[1])) = 1; -END_ENTITY; -(* USED FROM (aic_manifold_subsurface); *) - ENTITY manifold_subsurface_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D'] * - TYPEOF(it)) = 1))) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN - TYPEOF(mi\mapped_item.mapping_source. - mapped_representation)))) = 0; - WR4: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_SHELL' IN TYPEOF(cfss)))) = 0; - WR5: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT( (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET' IN - TYPEOF(cfss\connected_face_sub_set.parent_face_set))AND - (SIZEOF(QUERY(fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | NOT - advanced_face_properties(fac))) = 0)) OR - (SIZEOF(QUERY(fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | NOT - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF(fac)))) = 0) - ))) = 0; - WR6: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - ( SIZEOF (QUERY (fac <* cfss\connected_face_set.cfs_faces | NOT - advanced_face_properties(fac))) = 0))) = 0; - WR7: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN - TYPEOF(oe.edge_element)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBEDGE' IN - TYPEOF(oe.edge_element)) ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR8: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN - TYPEOF(oe.edge_end)) - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR9: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - ( NOT (SIZEOF(QUERY (bnds <* fcs.bounds | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP'] * - TYPEOF(bnds.bound)) = 1 ) - )) = 0) - ))) = 0 - ))) = 0; - WR10: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - ( NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' ] * - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) = 1 ) - )) = 0 - ))) = 0 - )))) = 0 - ))) = 0; - WR11: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND - (NOT ((SIZEOF (QUERY (sc_ag <* - oe.edge_element\edge_curve.edge_geometry\ - surface_curve.associated_geometry | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN - TYPEOF(sc_ag)))) = 0))) - )) = 0 - ))) = 0 - )))) = 0 - ))) = 0; - WR12: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND - (NOT (SIZEOF (oe\oriented_edge.edge_element\ - edge_curve.edge_geometry\polyline.points) >= 3)) - )) = 0 - ))) = 0 - )))) = 0 - ))) = 0; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criterion - SUBTYPE OF(representation_item); - WHERE - WR1 : SIZEOF(QUERY(q <* - bag_to_set( USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS')) - |'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_measurement_requirement - SUBTYPE OF(representation_item); - WHERE - WR1 : SIZEOF(QUERY(q <* - bag_to_set( USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS')) - |'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_feature - SUPERTYPE OF (ONEOF ( - DIMENSIONAL_LOCATION_WITH_DATUM_FEATURE, - DIMENSIONAL_SIZE_WITH_DATUM_FEATURE)) - SUBTYPE OF (shape_aspect); -INVERSE - feature_basis_relationship : SET[1:?] OF shape_aspect_relationship FOR relating_shape_aspect; -WHERE - WR1: SIZEOF(QUERY(sar <* SELF\datum_feature.feature_basis_relationship | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM' IN TYPEOF (sar\shape_aspect_relationship.related_shape_aspect)))) = 1; - WR2: SELF\shape_aspect.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_target - SUBTYPE OF (shape_aspect); - target_id : identifier; -INVERSE - target_basis_relationship : SET[1:?] OF shape_aspect_relationship FOR relating_shape_aspect; -WHERE - WR1: SIZEOF(QUERY(sar <* SELF\datum_target.target_basis_relationship | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM' IN TYPEOF (sar\shape_aspect_relationship.related_shape_aspect)))) = 1; - WR2: SELF\shape_aspect.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY definitional_representation_relationship - SUBTYPE OF (representation_relationship); - WHERE - WR1: acyclic_representation_relationship(SELF, - [SELF\representation_relationship.rep_2], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'REPRESENTATION'); - END_ENTITY; -(* USED FROM (Point_direction_model_mim); *) -ENTITY point_placement_shape_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF point_placement_shape_representation_item; -WHERE - WR1: SIZEOF( QUERY( i <* SELF.items | - SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOUND_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] - * TYPEOF(i)) = 1 - )) > 0; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_category_relationship; - name : label; - description : OPTIONAL text; - category : product_category; - sub_category : product_category; - WHERE - WR1: acyclic_product_category_relationship(SELF, [SELF.sub_category]); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY shell_based_surface_model - SUBTYPE OF (geometric_representation_item); - sbsm_boundary : SET[1:?] OF shell; -WHERE - WR1: constraints_geometry_shell_based_surface_model(SELF); -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) - ENTITY externally_conditioned_data_quality_inspection_result_representation - SUBTYPE OF(data_quality_inspection_result_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' IN TYPEOF(q))) > 0; - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY composite_assembly_sequence_definition - SUBTYPE OF (product_definition); - WHERE - WR1: SIZEOF (QUERY (pdr <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATING_PRODUCT_DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN - TYPEOF (pdr))) > 0; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY composite_curve_on_surface - SUPERTYPE OF ( - BOUNDARY_CURVE) - SUBTYPE OF (composite_curve); -DERIVE - basis_surface : SET[0:2] OF surface := get_basis_surface(SELF); -WHERE - WR1: SIZEOF(basis_surface) > 0; - WR2: constraints_composite_curve_on_surface(SELF); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY solid_replica - SUBTYPE OF (solid_model); - parent_solid : solid_model; - transformation : cartesian_transformation_operator_3d; -WHERE - WR1: acyclic_solid_replica(SELF, parent_solid); - WR2: parent_solid\geometric_representation_item.dim = 3; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_curve_with_knots - SUBTYPE OF (b_spline_curve); - knot_multiplicities : LIST[2:?] OF INTEGER; - knots : LIST[2:?] OF parameter_value; - knot_spec : knot_type; -DERIVE - upper_index_on_knots : INTEGER := SIZEOF(knots); -WHERE - WR1: constraints_param_b_spline(degree, upper_index_on_knots, upper_index_on_control_points, knot_multiplicities, knots); - WR2: SIZEOF(knot_multiplicities) = upper_index_on_knots; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY mechanism_representation - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context; - SELF\representation.items : SET[1:?] OF pair_representation_relationship; - represented_topology : kinematic_topology_representation_select; -DERIVE - represented_joints : SET[1:?] OF kinematic_joint := collect_joints(items); -WHERE - WR1: (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KINEMATIC_TOPOLOGY_STRUCTURE' IN TYPEOF(represented_topology)) - AND (represented_joints :=: represented_topology.items)) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE' IN TYPEOF(represented_topology)) - AND (represented_joints :=: get_kinematic_joints_from_oriented_joints(represented_topology.items))) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE' IN TYPEOF(represented_topology)) - AND (represented_joints :=: get_kinematic_joints_from_kinematic_loops(represented_topology.items))); -END_ENTITY; -(* USED FROM (aic_edge_based_wireframe); *) -ENTITY edge_based_wireframe_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1; -WR3 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF (edges)) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( pline_edges <* -QUERY ( edges <* eb.ces_edges| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF (edges\edge_curve.edge_geometry)) )| NOT ( SIZEOF (pline_edges\edge_curve.edge_geometry\polyline.points) > 2) )) = 0) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_start)) AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_end))) )) = 0) )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT valid_wireframe_edge_curve(edges\edge_curve.edge_geometry) )) = 0) )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT (valid_wireframe_vertex_point(edges.edge_start\vertex_point.vertex_geometry) AND valid_wireframe_vertex_point(edges.edge_end\vertex_point.vertex_geometry)) )) = 0) )) = 0) )) = 0; -WR8 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; -WR9 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; - END_ENTITY ; -(* USED FROM (geometry_schema); *) -ENTITY point_replica - SUBTYPE OF (point); - parent_pt : point; - transformation : cartesian_transformation_operator; -WHERE - WR1: transformation.dim = parent_pt.dim; - WR2: acyclic_point_replica (SELF,parent_pt); -END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY inclusion_product_concept_feature - SUBTYPE OF (conditional_concept_feature); - WHERE - WR1: NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PACKAGE_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( SELF ) ) ; - WR2: SIZEOF (QUERY( cfr <* USEDIN( SELF ,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' ) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF( cfr ) - )) + - SIZEOF(QUERY( cfr <* USEDIN(SELF , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATED_PRODUCT_CONCEPT_FEATURE' ) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF(cfr) - )) = 0; - WR3: SELF.condition.conditional_operator.name = 'implication'; -END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY draughting_model - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF draughting_model_item_select; - UNIQUE - UR1: SELF\representation.name; - WHERE - WR1: SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF(it))) | - NOT ( - SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_MODEL'] * - TYPEOF (mi\mapped_item.mapping_source. - mapped_representation)) = 1 - ))) = 0; - WR2: SIZEOF (QUERY (smi <* QUERY (si <* QUERY (it <* SELF.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN TYPEOF(it))) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN - TYPEOF(si\styled_item.item))) | - (NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION' IN - TYPEOF(smi\styled_item.item\mapped_item. - mapping_source.mapped_representation)) - AND - (SIZEOF (QUERY (sty <* smi\styled_item.styles | - (NOT (SIZEOF (QUERY (psa <* sty.styles | - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF(psa))))) = 1 - )))) = 1))) - )) = 0; - END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY dimension_text_associativity - SUBTYPE OF (text_literal, mapped_item); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DIMENSION_REPRESENTATION' - IN TYPEOF (SELF\mapped_item. - mapping_source.mapped_representation)); - WR2: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT' - IN TYPEOF (SELF\mapped_item.mapping_target)); - WR3: SIZEOF (QUERY (ato <* QUERY (si <* - USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM.ITEM') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(si))) | - NOT (SIZEOF( QUERY (dc <* - USEDIN (ato, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_CALLOUT.CONTENTS') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT' - IN TYPEOF (dc))) - * [SELF\mapped_item.mapping_target]) = 1) - )) = 0; - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY dimension_curve - SUBTYPE OF (annotation_curve_occurrence); - WHERE - WR1: (SIZEOF( - QUERY(dct <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') - | (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct)) - )) - ) <= 2); - WR2: SIZEOF( - QUERY( dcdc <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_CALLOUT.CONTENTS') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF(dcdc))) - )>= 1; - WR3: (SIZEOF( - QUERY(dct1 <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') - | (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct1)) - AND (dct1\dimension_curve_terminator.role = dimension_extent_usage.origin))) - ) <= 1) - AND - (SIZEOF( - QUERY (dct2 <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') - | (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct2)) - AND (dct2\dimension_curve_terminator.role = dimension_extent_usage.target))) - ) <= 1); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_item - ABSTRACT SUPERTYPE OF (ONEOF ( - COORDINATES_LIST, - TESSELLATED_SOLID, - TESSELLATED_SHELL, - TESSELLATED_WIRE, - TESSELLATED_GEOMETRIC_SET, - TESSELLATED_CURVE_SET, - TESSELLATED_POINT_SET, - TESSELLATED_SURFACE_SET, - TESSELLATED_STRUCTURED_ITEM)) - SUBTYPE OF (geometric_representation_item); -WHERE - WR1: SIZEOF (QUERY (using_rep <* using_representations (SELF) | NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' IN TYPEOF(using_rep)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY high_order_kinematic_pair - ABSTRACT SUPERTYPE OF (ONEOF ( - LINEAR_FLEXIBLE_AND_PLANAR_CURVE_PAIR, - POINT_ON_SURFACE_PAIR, - POINT_ON_PLANAR_CURVE_PAIR, - PLANAR_CURVE_PAIR, - SURFACE_PAIR)) - SUBTYPE OF (kinematic_pair); -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_2 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY low_order_kinematic_pair_with_motion_coupling - ABSTRACT SUPERTYPE OF (ONEOF ( - GEAR_PAIR, - LINEAR_FLEXIBLE_AND_PINION_PAIR, - RACK_AND_PINION_PAIR, - SCREW_PAIR)) - SUBTYPE OF (kinematic_pair); -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_2 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY low_order_kinematic_pair - SUPERTYPE OF (ONEOF ( - REVOLUTE_PAIR, - CYLINDRICAL_PAIR, - SPHERICAL_PAIR, - SPHERICAL_PAIR_WITH_PIN, - PLANAR_PAIR, - UNCONSTRAINED_PAIR, - FULLY_CONSTRAINED_PAIR, - PRISMATIC_PAIR, - UNIVERSAL_PAIR, - LOW_ORDER_KINEMATIC_PAIR_WITH_RANGE)) - SUBTYPE OF (kinematic_pair); - t_x : BOOLEAN; - t_y : BOOLEAN; - t_z : BOOLEAN; - r_x : BOOLEAN; - r_y : BOOLEAN; - r_z : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_2 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (Specification_based_configuration_mim); *) -ENTITY configured_effectivity_assignment - SUBTYPE OF (effectivity_assignment); - items : SET [1:?] OF configured_effectivity_item; - WHERE - WR1: (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EFFECTIVITY'] * TYPEOF(SELF.assigned_effectivity) ) = 1) - AND (SELF.assigned_effectivity.id = 'configuration validity'); - WR2: SIZEOF(SELF.items) = 1; - WR3: SIZEOF( QUERY( i <* SELF.items | NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) - OR NOT (i\product_definition.frame_of_reference.name IN ['conceptual definition','part occurrence', 'functional definition','alternative definition']) )) = 0; - WR4: SELF.role.name IN ['design', 'usage']; - WR5: (SELF.role.name <> 'design') - OR (SIZEOF( QUERY( i <* SELF.items | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\product_definition.frame_of_reference.name = 'part occurrence') )) = 0); - WR6: (SELF.role.name <> 'usage') OR (SIZEOF( QUERY( i <* SELF.items | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\product_definition.frame_of_reference.name = 'conceptual definition') )) = 0); - WR7: SELF.role.description IN ['exception', 'inherited', 'local']; - WR8: SIZEOF( QUERY( x <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT') | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF(x) )) = 1; -END_ENTITY; -(* USED FROM (aic_csg); *) -ENTITY csg_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SOLID', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_REPLICA', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REVOLVED_FACE_SOLID', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (it)) <> 1) )) = 0; -WR3 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; -WR4 : -SIZEOF ( -QUERY ( sr <* -QUERY ( it <* SELF.items| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_REPLICA' IN TYPEOF (it)) )| ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SOLID', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REVOLVED_FACE_SOLID', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (sr\solid_replica.parent_solid)) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (it)) )) > 0; - END_ENTITY ; -(* USED FROM (Generic_material_aspects_mim); *) - ENTITY general_material_property - SUBTYPE OF (general_property); - WHERE - WR1: SIZEOF( QUERY( gpa <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GENERAL_PROPERTY_ASSOCIATION.BASE_DEFINITION') | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MATERIAL_PROPERTY' IN TYPEOF(gpa\general_property_association.derived_definition)) )) = 0; - END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY subsketch - SUBTYPE OF (geometric_representation_item); - subsketch_elements : SET[1:?] OF sketch_element_select; - owning_sketch : sketch_type_select; -WHERE - WR1: (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' - IN TYPEOF(owning_sketch)) AND (SIZEOF(QUERY(q <* - subsketch_elements | NOT (owning_sketch IN - using_representations(q)))) = 0)) - XOR - ((SIZEOF(TYPEOF(owning_sketch) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIONED_SKETCH','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBSKETCH']) = 1) - AND - (SIZEOF(QUERY(q <* subsketch_elements | - NOT (owning_sketch IN using_items(q,[])))) = 0)); -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_explicit_positioned_sketch_relationship - SUBTYPE OF (representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item - : repositioned_neutral_sketch; - SELF\representation_item_relationship.related_representation_item - : positioned_sketch; -WHERE - WR1: SIZEOF(QUERY(q <* using_representations( - SELF\representation_item_relationship.related_representation_item) | - item_in_context( - SELF\representation_item_relationship.relating_representation_item, - q.context_of_items))) > 0; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY positioned_sketch - SUBTYPE OF (geometric_representation_item); - sketch_basis : sketch_basis_select; - auxiliary_elements : - SET[0:?] OF auxiliary_geometric_representation_item; -WHERE - WR1: NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE' IN - TYPEOF(sketch_basis)) AND NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN - TYPEOF(sketch_basis\curve_bounded_surface.basis_surface))); - WR2: NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF(sketch_basis)) AND - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(sketch_basis\face_surface.face_geometry))); - WR3: SIZEOF(QUERY(q <* auxiliary_elements | (SIZEOF(TYPEOF(q) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE']) = 0))) = 0; - WR4: SIZEOF(QUERY(q <* auxiliary_elements | - q\geometric_representation_item.dim <> 3)) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY screw_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - pitch : length_measure; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY neutral_sketch_representation - SUBTYPE OF (shape_representation); - neutral_sketch_semantics : curves_or_area; - SELF\representation.items : SET[1:?] OF sketch_element_select; -WHERE - WR1: SIZEOF(QUERY(q <* items | NOT( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(q)) AND - (q\geometric_representation_item.dim = 3)))) = 0; -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face - SUPERTYPE OF (ONEOF ( - FACE_SURFACE, - SUBFACE, - ORIENTED_FACE)) - SUBTYPE OF (topological_representation_item); - bounds : SET[1:?] OF face_bound; - WHERE - WR1: NOT (mixed_loop_type_set(list_to_set(list_face_loops(SELF)))); - WR2: SIZEOF(QUERY(temp <* bounds | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_OUTER_BOUND' IN - TYPEOF(temp))) <= 1; - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path - ABSTRACT SUPERTYPE OF (ONEOF ( - KINEMATIC_PATH_DEFINED_BY_NODES, - KINEMATIC_PATH_DEFINED_BY_CURVES)) - SUBTYPE OF (geometric_representation_item); - segments : LIST [1:?] OF kinematic_path_segment; - t_start : parameter_value; -DERIVE - n_segments : INTEGER := SIZEOF(segments); - closed_path : LOGICAL := segments[n_segments].transition <> discontinuous; -WHERE - WR1: SIZEOF(QUERY(using_rep <* using_representations(SELF)| - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER' IN TYPEOF(using_rep.context_of_items))))= 0; - -- WR2 - parameters are increasing - -- WR3 - different end positions -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) -(* Pruned SUPERTYPE *) - ENTITY annotation_occurrence - SUPERTYPE OF ( ( ONEOF ( - ANNOTATION_CURVE_OCCURRENCE, - ANNOTATION_FILL_AREA_OCCURRENCE, - ANNOTATION_TEXT_OCCURRENCE, - ANNOTATION_SYMBOL_OCCURRENCE) )ANDOR( ONEOF ( - ANNOTATION_CURVE_OCCURRENCE, - ANNOTATION_FILL_AREA_OCCURRENCE, - ANNOTATION_PLANE, - ANNOTATION_SYMBOL_OCCURRENCE, - ANNOTATION_TEXT_OCCURRENCE, - TESSELLATED_ANNOTATION_OCCURRENCE) ) ) - SUBTYPE OF (styled_item); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF (SELF); - WR2: SIZEOF (QUERY (reps <* using_representations(SELF) | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_REPRESENTATION_SELECT' IN TYPEOF(reps)))) = 0; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY parallel_offset_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF curve_or_surface_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF curve_or_surface_constraint_element; - offset_type : parallel_offset_type; -WHERE - WR1: NOT(((offset_type = curve_2d_offset) - OR (offset_type = curve_3d_offset)) AND - (SIZEOF(QUERY( q <* (SELF\explicit_constraint.constrained_elements - + SELF\explicit_constraint.reference_elements) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF(q))) > 0)); - WR2: NOT((offset_type = surface_offset) AND (SIZEOF(QUERY( q <* - (SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF(q))) > 0)); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY pgc_with_dimension - SUBTYPE OF (parallel_geometric_constraint); - distance_value : non_negative_length_measure; - negative_direction : BOOLEAN; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) = 1) - OR (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: SIZEOF(QUERY(q <* (SELF\explicit_constraint.reference_elements + - SELF\explicit_constraint.constrained_elements) | SIZEOF(TYPEOF(q) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR']) > 0)) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY surface_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:2] OF surface; - SELF\explicit_constraint.reference_elements : - SET[0:4] OF point_curve_or_surface_constraint_element; - near_points : SET[0:4] OF near_point_relationship; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SDGC_WITH_DIMENSION' - IN TYPEOF(SELF)) - AND (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); - WR2: SIZEOF(near_points) <= - SIZEOF(SELF\explicit_constraint.reference_elements); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY universal_pair - SUBTYPE OF (low_order_kinematic_pair); - input_skew_angle : OPTIONAL plane_angle_measure; -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; - skew_angle : plane_angle_measure := NVL (input_skew_angle, 0.0); -WHERE - WR1: COS (plane_angle_for_pair_in_radian (SELF, skew_angle)) - > 0.0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:2] OF curve; - SELF\explicit_constraint.reference_elements : - SET[0:4] OF point_curve_or_surface_constraint_element; - near_points : SET[0:4] OF near_point_relationship; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CDGC_WITH_DIMENSION' - IN TYPEOF(SELF)) - AND (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); - WR2: SIZEOF(near_points) <= - SIZEOF(SELF\explicit_constraint.reference_elements); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (Layer_assignment_mim); *) - ENTITY rep_item_group - SUBTYPE OF (group, representation_item); - WHERE - WR1: SIZEOF(USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRESENTATION_LAYER_ASSIGNMENT.' + 'ASSIGNED_ITEMS')) > 0; - WR2: SIZEOF(QUERY(r <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION.' + 'ITEMS') | r.name = 'group representation')) > 0; - WR3: SIZEOF(QUERY(ga <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GROUP_ASSIGNMENT.' + 'ASSIGNED_GROUP') | ga.role.name <> 'group membership')) = 0; - WR4: SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'TOPOLOGICAL_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MAPPED_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'STYLED_ITEM'] * TYPEOF(SELF)) = 1; - END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY simultaneous_constraint_group - SUBTYPE OF (variational_representation_item); - constraint_group : SET[2:?] OF constraint_group_member; -WHERE - WR1: SIZEOF(QUERY(q <* using_representations(SELF) | - SIZEOF(QUERY(r <* q.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIMULTANEOUS_CONSTRAINT_GROUP' - IN TYPEOF(r)) AND (SIZEOF(QUERY(s <* constraint_group | - (s IN r\simultaneous_constraint_group.constraint_group) AND NOT (r :=: SELF))) > 0))) > 0)) = 0; - WR2: SIZEOF(QUERY(q <* using_representations(constraint_group[1]) | - (SIZEOF(QUERY(r <* constraint_group | - item_in_context(r,q.context_of_items))) - = SIZEOF(constraint_group)))) > 0; - WR3: SIZEOF(QUERY(q <* constraint_group | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPLICIT_CONSTRAINT' IN TYPEOF(q)) - AND (SIZEOF(QUERY(r <* q.constrained_elements | - SIZEOF(QUERY(s <* constraint_group | - r IN s.reference_elements)) > 0)) > 0)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY interpolated_configuration_sequence - SUBTYPE OF (representation_item); - segments : LIST[2:?] OF interpolated_configuration_segment; -DERIVE - n_segments : INTEGER := SIZEOF(segments); - closed_interpolation : LOGICAL := segments[n_segments].interpolation <> discontinuous_interpolation_type; - configured_mechanism : mechanism_representation := segments[1].state.represented_mechanism; -WHERE - WR1: SIZEOF( QUERY(ics <* segments | ics.state.represented_mechanism :<>: configured_mechanism)) = 0; -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY fixed_instance_attribute_set - SUBTYPE OF (variational_representation_item); - fixed_attributes : SET[1:?] OF instance_attribute_reference; -WHERE - WR1: SIZEOF(QUERY(q <* using_representations(SELF) | - SIZEOF(QUERY(r <* q.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' - IN TYPEOF(r))) > 1)) = 0; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_area - SUBTYPE OF (presentation_representation); - WHERE - WR1: ((SIZEOF (QUERY (ais <* USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AREA_IN_SET.AREA') | - SIZEOF (USEDIN (ais, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT')) =1)) > 0) OR - (SIZEOF (USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT')) =1)); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_surface_pair - SUBTYPE OF (high_order_kinematic_pair); - pair_surface : surface; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(pair_surface IN r.items))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_surface_pair_with_range - SUBTYPE OF (point_on_surface_pair); - range_on_pair_surface : rectangular_trimmed_surface; - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_pitch : OPTIONAL plane_angle_measure; - upper_limit_pitch : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_pitch) - OR - NOT EXISTS(upper_limit_pitch)) - XOR - (lower_limit_pitch < upper_limit_pitch); - WR2: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR3: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_pair_surface IN r.items))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY surface_pair - ABSTRACT SUPERTYPE OF (ONEOF ( - SLIDING_SURFACE_PAIR, - ROLLING_SURFACE_PAIR) - ANDOR - SURFACE_PAIR_WITH_RANGE) - SUBTYPE OF (high_order_kinematic_pair); - surface_1 : surface; - surface_2 : surface; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(surface_1 IN r.items))) = 0; - WR2: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(surface_2 IN r.items))) = 0; - WR3: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY surface_pair_with_range - SUBTYPE OF (surface_pair); - range_on_surface_1 : rectangular_trimmed_surface; - range_on_surface_2 : rectangular_trimmed_surface; - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: SELF\surface_pair.surface_1 :=: range_on_surface_1.basis_surface; - WR2: SELF\surface_pair.surface_2 :=: range_on_surface_2.basis_surface; - WR3: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_surface_1 IN r.items))) = 0; - WR5: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(range_on_surface_2 IN r.items))) = 0; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_criteria_representation - SUBTYPE OF(data_quality_criteria_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_CRITERION' IN TYPEOF(q))) > 0; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY free_edge - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - WR5 : SIZEOF(QUERY(sdqr <* bag_to_set(USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(sdqr)) AND - (SIZEOF(QUERY(sdqiir <* bag_to_set(USEDIN(sdqr, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(sdqiir)) AND - (SIZEOF(QUERY(sdqiri <* sdqiir.inspected_instances| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_SHELL' - IN TYPEOF(sdqiri.inspected_elements[1])))) = 0) - )) = 0) - )) = 0; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY linear_flexible_and_planar_curve_pair - SUBTYPE OF (high_order_kinematic_pair); - pair_curve : curve; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(pair_curve IN r.items))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_planar_curve_pair - SUBTYPE OF (high_order_kinematic_pair); - pair_curve : curve; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(pair_curve IN r.items))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_planar_curve_pair_with_range - SUBTYPE OF (point_on_planar_curve_pair); - range_on_pair_curve : trimmed_curve; - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_pitch : OPTIONAL plane_angle_measure; - upper_limit_pitch : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_pitch) - OR - NOT EXISTS(upper_limit_pitch)) - XOR - (lower_limit_pitch < upper_limit_pitch); - WR2: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR3: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_pair_curve IN r.items))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_curve_pair - SUPERTYPE OF (ONEOF ( - SLIDING_CURVE_PAIR, - ROLLING_CURVE_PAIR) - ANDOR - PLANAR_CURVE_PAIR_RANGE) - SUBTYPE OF (high_order_kinematic_pair); - curve_1 : curve; - curve_2 : curve; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(curve_1 IN r.items))) = 0; - WR2: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(curve_2 IN r.items))) = 0; - WR3: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_curve_pair_range - SUBTYPE OF (planar_curve_pair); - range_on_curve_1 : trimmed_curve; - range_on_curve_2 : trimmed_curve; -WHERE - WR1: SELF\planar_curve_pair.curve_1 :=: range_on_curve_1.basis_curve; - WR2: SELF\planar_curve_pair.curve_2 :=: range_on_curve_2.basis_curve; - WR3: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_curve_1 IN r.items))) = 0; - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(range_on_curve_2 IN r.items))) = 0; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY extruded_face_solid_with_multiple_draft_angles - SUBTYPE OF (extruded_face_solid_with_trim_conditions); - drafted_edges : LIST[2:?] OF SET[1:?] OF edge_curve; - draft_angles : LIST[2:?] OF plane_angle_measure; -WHERE - WR1: SIZEOF(drafted_edges) = SIZEOF(draft_angles); - WR2: SIZEOF(QUERY(q <* draft_angles | q = 0)) = 0; - WR3: SIZEOF(QUERY(q <* drafted_edges | (SIZEOF(QUERY(r <* q | NOT - (SELF\swept_face_solid.swept_face IN - using_items(r,[])))) > 0))) = 0; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_criterion - SUPERTYPE OF (ONEOF ( - ERRONEOUS_DATA, - INAPT_DATA)) - SUBTYPE OF(data_quality_criterion, data_quality_measurement_requirement); - assessment_specification : shape_data_quality_assessment_specification_select; - WHERE - WR1 : SIZEOF(USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.'+ - 'CRITERION' - )) = 0; - WR2 : SIZEOF(QUERY(i1<*bag_to_set( - USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ - 'RELATED_REPRESENTATION_ITEM'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - WR3 : SIZEOF(QUERY(i1<*bag_to_set( - USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ - 'RELATING_REPRESENTATION_ITEM'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY gear_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - radius_first_link : length_measure; - radius_second_link : length_measure; - bevel : plane_angle_measure; - helical_angle : plane_angle_measure; - gear_ratio : REAL; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_value_range - SUBTYPE OF(compound_representation_item); - WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SET_REPRESENTATION_ITEM' - IN TYPEOF (SELF\compound_representation_item.item_element)) AND - ((SIZEOF(SELF\compound_representation_item.item_element) = 2) AND - ((SIZEOF(QUERY (i1 <* SELF\compound_representation_item.item_element | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i1)))) = 2) - OR (SIZEOF(QUERY (i2 <* SELF\compound_representation_item.item_element | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF(i2)))) = 2))) ; - WR2 : (SIZEOF(QUERY (i <* SELF\compound_representation_item.item_element - | (i.name = 'upper limit'))) = 1) - AND (SIZEOF(QUERY (i <* SELF\compound_representation_item.item_element - | (i.name = 'lower limit'))) = 1); - WR3 : (SIZEOF(QUERY(i1 <* SELF\compound_representation_item.item_element | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND - (SIZEOF (QUERY (i2 <* SELF\compound_representation_item.item_element | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i2)) AND - (i1 :<>: i2) AND - (i1\measure_with_unit.unit_component :=: i2\measure_with_unit.unit_component))) = 1))) = 2) - OR - (SIZEOF(QUERY(i1 <* SELF\compound_representation_item.item_element | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND - (SIZEOF (QUERY (i2 <* SELF\compound_representation_item.item_element | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF (i2)) AND - (i1 :<>: i2) AND - (TYPEOF(i1\value_representation_item.value_component) = - TYPEOF(i2\value_representation_item.value_component))) - ) = 1))) = 2); - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rack_and_pinion_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - pinion_radius : length_measure; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_instance_report_item - SUBTYPE OF(representation_item); - inspected_elements : SET [1:?] OF inspected_element_select; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS')) - |'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY linear_flexible_and_pinion_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - pinion_radius : length_measure; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY calendar_date - SUBTYPE OF (date); - day_component : day_in_month_number; - month_component : month_in_year_number; -WHERE - WR1: valid_calendar_date (SELF); -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY kinematic_property_mechanism_representation - SUBTYPE OF (kinematic_property_definition_representation); - SELF\property_definition_representation.used_representation : mechanism_representation; - base : kinematic_link_representation; -WHERE - WR1: SIZEOF( QUERY( i <* used_representation.items | - (base :=: i\representation_relationship.rep_1) OR - (base :=: i\representation_relationship.rep_2))) > 0; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY listed_product_space - SUBTYPE OF (maths_space, generic_literal); - factors : LIST OF maths_space; -WHERE - WR1: SIZEOF (QUERY (space <* factors | - NOT (expression_is_constant(space)))) = 0; - WR2: no_cyclic_space_reference(SELF, []); - WR3: NOT (the_empty_space IN factors); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rectangular_composite_surface - SUBTYPE OF (bounded_surface); - segments : LIST[1:?] OF LIST[1:?] OF surface_patch; -DERIVE - n_u : INTEGER := SIZEOF(segments); - n_v : INTEGER := SIZEOF(segments[1]); -WHERE - WR1: SIZEOF(QUERY (s <* segments | n_v <> SIZEOF (s))) = 0; - WR2: constraints_rectangular_composite_surface(SELF); -END_ENTITY; -(* USED FROM (aic_manifold_surface); *) -ENTITY manifold_surface_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1))) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SURFACE_SHAPE_REPRESENTATION' - IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) - AND - (SIZEOF(QUERY (mr_it <* - mi\mapped_item.mapping_source.mapped_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' - IN TYPEOF (mr_it)))) > 0 )))) = 0; - WR4: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (sh <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_SHELL', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_SHELL'] - * TYPEOF (sh)) = 1))) = 0))) = 0; - WR5: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF (fa)) )) = 0))) - = 0))) = 0; - WR6: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (msf_surface_check(fa\face_surface.face_geometry))))) = 0))) - = 0))) = 0; - WR7: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (bnds <* fa.bounds | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP'] - * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0; - WR8: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF - (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR9: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <* - elp_fbnds\path.edge_list | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE'] * - TYPEOF (oe_cv.edge_element\edge_curve.edge_geometry)) - = 1))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR10: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT (msf_curve_check (oe.edge_element\edge_curve.edge_geometry)))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR11: SIZEOF (QUERY(sbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list| - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF - (oe.edge_element.edge_start)) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN - TYPEOF (oe.edge_element.edge_end))))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR12: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ((SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1) - AND - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_end\vertex_point.vertex_geometry)) = 1 - )))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR13: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0))) - = 0))) = 0; - WR14: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry)) - = 1))) = 0)))) = 0))) = 0))) = 0; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY finite_space - SUBTYPE OF (maths_space, generic_literal); - members : SET OF maths_value; -WHERE - WR1: VALUE_UNIQUE(members); - WR2: SIZEOF (QUERY (expr <* QUERY (member <* members | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GENERIC_EXPRESSION' IN TYPEOF (member)) - | NOT expression_is_constant(expr))) = 0; - WR3: no_cyclic_space_reference(SELF, []); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rational_b_spline_surface - SUBTYPE OF (b_spline_surface); - weights_data : LIST[2:?] OF LIST[2:?] OF REAL; -DERIVE - weights : ARRAY[0:u_upper] OF ARRAY[0:v_upper] OF REAL := make_array_of_array(weights_data,0,u_upper,0,v_upper); -WHERE - WR1: (SIZEOF(weights_data) = SIZEOF(SELF\b_spline_surface.control_points_list)) AND (SIZEOF(weights_data[1]) = SIZEOF(SELF\b_spline_surface.control_points_list[1])); - WR2: surface_weights_positive(SELF); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rational_b_spline_curve - SUBTYPE OF (b_spline_curve); - weights_data : LIST[2:?] OF REAL; -DERIVE - weights : ARRAY[0:upper_index_on_control_points] OF REAL := list_to_array(weights_data,0, upper_index_on_control_points); -WHERE - WR1: SIZEOF(weights_data) = SIZEOF(SELF\b_spline_curve. control_points_list); - WR2: curve_weights_positive(SELF); -END_ENTITY; -(* USED FROM (Inertia_characteristics_mim); *) -ENTITY moments_of_inertia_representation -SUBTYPE OF (representation); -WHERE -WR1: (SIZEOF(SELF.items) = 1) AND - (SIZEOF( QUERY( i <* SELF.items | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i.name = 'moments of inertia matrix') )) = 1); -WR2: SIZEOF( QUERY( i <* SELF.items | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'LIST_REPRESENTATION_ITEM' IN TYPEOF(i\compound_representation_item.item_element)) AND - value_range_aggregate_rep_item (i\compound_representation_item.item_element) )) = 1; -END_ENTITY; -(* USED FROM (Geometric_tolerance_mim); *) -ENTITY placed_datum_target_feature - SUBTYPE OF (datum_target); -DERIVE - representation_associations : SET[0:?] OF property_definition_representation := get_shape_aspect_property_definition_representations(SELF); -WHERE - WR1: SELF.description IN ['point','line','rectangle','circle','circular curve']; - WR2: SIZEOF (QUERY (pdr <* representation_associations | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF (pdr.used_representation) )) = 1; - WR3: valid_datum_target_parameters(SELF); -END_ENTITY; -(* USED FROM (Dimension_tolerance_mim); *) -ENTITY externally_defined_dimension_definition - SUBTYPE OF (dimensional_size, externally_defined_item); -WHERE - WR1: (SELF\externally_defined_item.item_id = 'external size dimension') AND (SELF\externally_defined_item.source.source_id = 'external size dimension specification'); - WR2: 1 >= SIZEOF(QUERY ( adr <* USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS')| (adr.assigned_document.description = 'external size dimension specification') )); -END_ENTITY; -(* USED FROM (Design_product_data_management_mim); *) -ENTITY retention - SUBTYPE OF (action); -WHERE - WR1: SIZEOF( QUERY( aa <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ACTION_ASSIGNMENT.ASSIGNED_ACTION') | - ('ACTIVITY.APPLIED_ACTION_ASSIGNMENT' IN - TYPEOF(aa)) AND - (aa.role.name = 'retention') - )) >= 1; - WR2: (SIZEOF( QUERY( atia <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia.role.name = 'minimum retention period') - )) = 1) AND - (SIZEOF( QUERY( atia <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia.role.name = 'maximum retention period') - )) = 1) AND - (SIZEOF( QUERY( atia1 <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia1.role.name = 'minimum retention period') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TIME_INTERVAL_WITH_BOUNDS' IN - TYPEOF(atia1.assigned_time_interval)) AND - (EXISTS(atia1.assigned_time_interval\time_interval_with_bounds.secondary_bound) OR - EXISTS(atia1.assigned_time_interval\time_interval_with_bounds.duration)) AND - (SIZEOF( QUERY( atia2 <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia2.role.name = 'maximum retention period') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TIME_INTERVAL_WITH_BOUNDS' IN - TYPEOF(atia2.assigned_time_interval)) AND - (EXISTS(atia2.assigned_time_interval\time_interval_with_bounds.secondary_bound) OR - EXISTS(atia2.assigned_time_interval\time_interval_with_bounds.duration)) AND - (atia1.assigned_time_interval\time_interval_with_bounds.primary_bound :=: - atia2.assigned_time_interval\time_interval_with_bounds.primary_bound) -)) = 1) - )) = 1); - - WR3: SIZEOF( USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION')) + - SIZEOF( USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATED_ACTION')) = 0; -END_ENTITY; -(* USED FROM (Default_tolerance_mim); *) -ENTITY default_tolerance_table_cell - SUBTYPE OF (compound_representation_item); -WHERE - WR1: SIZEOF(QUERY( x <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION.ITEMS') | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DEFAULT_TOLERANCE_TABLE' IN TYPEOF(x)))=1 ; - WR2: default_tolerance_table_cell_wr2(SELF\compound_representation_item.item_element); - WR3: default_tolerance_table_cell_wr3(SELF\compound_representation_item.item_element); - WR4: default_tolerance_table_cell_wr4(SELF\compound_representation_item.item_element); - WR5: default_tolerance_table_cell_wr5(SELF\compound_representation_item.item_element); -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY single_boundary_csg_2d_shape_representation - SUBTYPE OF (single_area_csg_2d_shape_representation); - WHERE - WR1: SIZEOF(QUERY ( it <* SELF.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_PRIMITIVE_SOLID_2D' IN TYPEOF(it)) - AND (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY') IN - TYPEOF(it\csg_primitive_solid_2d.tree_root_expression))) )) = 0; - END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY product_process_plan - SUBTYPE OF (product_definition_process); -WHERE - WR1: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATED_ACTION') | - SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_PLAN', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.relating_action) - ) <> 1 - )) = 0; - - WR2: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION') | - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_PLAN', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.related_action)) = 1) OR - ((ar.name = 'process operation occurrence') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(ar.related_action.chosen_method))) - )) = - SIZEOF(USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION')); - WR3: SIZEOF( QUERY( ppa <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PROCESS_PRODUCT_ASSOCIATION.PROCESS') | - (ppa.name <> 'produced output') OR - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN - TYPEOF(ppa.defined_product)) - )) = 0; - -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY csg_2d_shape_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF csg_2d_shape_select; - WHERE - WR1: SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 2; - WR2: SIZEOF(QUERY ( it <* SELF.items | - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SOLID'] - * TYPEOF(it)) = 1) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'CSG_2D_SHAPE_REPRESENTATION' - IN TYPEOF(it\mapped_item.mapping_source.mapped_representation))) - )) >= 1; - WR3: SIZEOF(QUERY ( it <* SELF.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it)) AND (NOT (( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'CSG_2D_SHAPE_REPRESENTATION') - IN TYPEOF(it\mapped_item.mapping_source.mapped_representation)))) )) = 0; - -- TODO does not work with the new introduced subtypes - -- WR4: SIZEOF(TYPEOF(SELF) - TYPEOF(SELF\shape_representation || - -- SELF\csg_2d_shape_representation || SELF\representation)) = 0; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY csg_solid_2d - SUBTYPE OF (csg_solid); - SELF\csg_solid.tree_root_expression : csg_select_2d; - WHERE - WR1: valid_csg_2d_primitives(SELF); - END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_sheet_revision - SUBTYPE OF (presentation_area); - revision_identifier : identifier; -WHERE - WR1: SIZEOF( QUERY(item <* SELF\representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN (TYPEOF(item))) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAWING_SHEET_REVISION' IN - (TYPEOF(item\mapped_item.mapping_source.mapped_representation)))))=0; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY generic_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_GENERIC_EXPRESSION, - UNARY_GENERIC_EXPRESSION, - BINARY_GENERIC_EXPRESSION, - MULTIPLE_ARITY_GENERIC_EXPRESSION)); -WHERE - WR1: is_acyclic(SELF); -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_subfigure_representation - SUBTYPE OF (symbol_representation); - SELF\representation.items : SET[1:?] OF draughting_subfigure_representation_item; -WHERE - WR1: SIZEOF (QUERY (item <* SELF\representation.items | - SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_OCCURRENCE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT'] * - TYPEOF (item)) = 1)) >= 1; - WR2: SIZEOF (QUERY (srm <* QUERY (rm <* - USEDIN (SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SYMBOL_REPRESENTATION_MAP' - IN TYPEOF(rm))) | - NOT (SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi))) - | NOT (SIZEOF (QUERY (aso <* - USEDIN (a_s, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'STYLED_ITEM.ITEM') | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE' - IN TYPEOF(aso)))) = 0))) = 0))) > 0; - WR3: SIZEOF (SELF.context_of_items.representations_in_context) = 1; -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_annotation_occurrence - SUBTYPE OF (annotation_occurrence); -WHERE - WR1: -- curve_has_curve_style: - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' - IN TYPEOF (SELF))) OR - (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF (sty.styles[1]))) )) = 0); - WR2: -- fill_area_has_fill_style: - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' - IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FILL_AREA_STYLE' - IN TYPEOF (sty.styles[1]))) )) = 0); - WR3: -- styled_fill_boundaries: - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' - IN TYPEOF (SELF))) OR (SIZEOF (QUERY (bound <* - SELF.item\annotation_fill_area.boundaries | - NOT (SIZEOF (QUERY (si <* - USEDIN (bound, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'STYLED_ITEM.ITEM') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF (si)))) > 0))) = 0); - WR4: -- symbol_has_symbol_style: - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' - IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) AND - (SIZEOF (TYPEOF (sty.styles[1]) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SYMBOL_STYLE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NULL_STYLE']) = 1)) )) = 0); - WR5: -- allowable_symbol_representations: - (NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL' - IN TYPEOF(SELF.item)))) OR - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_SYMBOL_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_SUBFIGURE_REPRESENTATION'] * - TYPEOF (SELF.item\mapped_item.mapping_source. - mapped_representation)) = 1); - WR6: -- text_has_text_style: - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF))) OR - (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_STYLE' - IN TYPEOF (sty.styles[1]))) )) = 0); - WR7: -- allowable_text: - (NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF))) OR - (SIZEOF (TYPEOF(SELF.item) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL']) = 1); - WR8: -- text_not_nested: - (NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item)))) OR (SIZEOF (QUERY (tl <* - SELF.item\composite_text.collected_text | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL' - IN TYPEOF (tl)) )) = 0); - WR9: -- text_alignment_literals: - (NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL' - IN TYPEOF (SELF.item)))) OR (SELF.item\text_literal.alignment - IN ['baseline left', 'baseline centre', 'baseline right']); - WR10: -- text_alignment_composites: - (NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (tl <* QUERY (text <* SELF. - item\composite_text.collected_text - |('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL' IN TYPEOF(text))) | - NOT (tl\text_literal.alignment IN - ['baseline left', 'baseline centre', 'baseline right']) )) = 0); - WR11: -- single_text_alignment: - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(SELF)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item))) OR check_text_alignment(SELF.item); - WR12: -- single_text_font: - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(SELF)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item))) OR check_text_font(SELF.item); - WR13: -- allowable_text_literals: - (NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(SELF)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (tl <* QUERY (text <* - SELF.item\composite_text.collected_text | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL' IN TYPEOF (text))) | - NOT (SIZEOF (TYPEOF(tl) * - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'TEXT_LITERAL_WITH_BLANKING_BOX', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'TEXT_LITERAL_WITH_ASSOCIATED_CURVES']) = 0) )) = 0); - WR14: -- styled_text_literal_curves: - (NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL_WITH_ASSOCIATED_CURVES' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (crv <* - SELF.item\text_literal_with_associated_curves. - associated_curves | - NOT (SIZEOF (QUERY (si <* USEDIN (crv, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM.ITEM') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' - IN TYPEOF (si)) )) > 0) )) = 0); - WR15: -- styled_composite_text_curves: - (NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT_WITH_ASSOCIATED_CURVES' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (crv <* - SELF.item\composite_text_with_associated_curves. - associated_curves | - NOT (SIZEOF (QUERY (si <* USEDIN (crv, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM.ITEM') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' - IN TYPEOF (si)) )) > 0) )) = 0); -WR16: -- curve_style_has_width: - SIZEOF (QUERY (cs <* QUERY (sty <* SELF.styles | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF (sty.styles[1]))) - | NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (cs.styles[1]\curve_style.curve_width)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' - IN TYPEOF (cs.styles[1]\curve_style. - curve_width\measure_with_unit.value_component))))) = 0; -WR17: -- tiling_constraints: - SIZEOF (QUERY (fas <* QUERY (sty <* SELF.styles | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FILL_AREA_STYLE' - IN TYPEOF (sty.styles[1]))) | - NOT ((SIZEOF (QUERY (fs <* fas.styles[1]\fill_area_style.fill_styles - | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FILL_AREA_STYLE_TILES' - IN TYPEOF (fs)))) <= 1) - AND (SIZEOF (QUERY (fst <* QUERY (fs <* - fas.styles[1]\fill_area_style.fill_styles | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FILL_AREA_STYLE_TILES' - IN TYPEOF (fs))) | - NOT (SIZEOF (fst\fill_area_style_tiles.tiles) = 1) - )) = 0)) - )) = 0; - WR18: -- hatching_constraints: - SIZEOF (QUERY (fas <* QUERY (sty <* SELF.styles | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FILL_AREA_STYLE' - IN TYPEOF (sty.styles[1]))) | - NOT (SIZEOF (QUERY (fsh <* QUERY (fs <* - fas.styles[1]\fill_area_style.fill_styles | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FILL_AREA_STYLE_HATCHING' - IN TYPEOF (fs))) | - NOT (fsh\fill_area_style_hatching.point_of_reference_hatch_line :=: - fsh\fill_area_style_hatching.pattern_start) )) = 0) )) = 0; - WR19: -- text_style_constraint: - SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_STYLE' - IN TYPEOF(sty.styles[1]))) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS' - IN TYPEOF (ts.styles[1])))) = 0; - WR20: -- text_style_characteristics: - SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_STYLE_WITH_BOX_CHARACTERISTICS' - IN TYPEOF (sty.styles[1]))) | - NOT (SIZEOF (ts.styles[1]\text_style_with_box_characteristics. - characteristics) = 4) )) = 0; -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY annotation_subfigure_occurrence - SUBTYPE OF (annotation_symbol_occurrence); -WHERE - WR1: SIZEOF (QUERY (sty <* SELF.styles | - NOT (SIZEOF (sty.styles) = 1) - )) = 0; - WR2: SIZEOF (QUERY (sty <* SELF.styles | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NULL_STYLE' - IN TYPEOF (sty.styles[1])) ))=0; - WR3: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_SYMBOL' - IN TYPEOF (SELF.item)); - WR4: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_SUBFIGURE_REPRESENTATION' - IN TYPEOF - (SELF.item\mapped_item.mapping_source.mapped_representation)); -END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY table_representation_item - SUBTYPE OF (compound_representation_item); - WHERE - WR1: SIZEOF(QUERY(itet <* SELF\compound_representation_item.item_element | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROW_REPRESENTATION_ITEM' IN TYPEOF(itet)) - )) = 0; - END_ENTITY; -(* USED FROM (aic_topologically_bounded_surface); *) -ENTITY advanced_face - SUBTYPE OF ( face_surface ); - WHERE -WR1 : -SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_SURFACE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_SURFACE' ] * TYPEOF (face_geometry)) = 1; -WR2 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element)) )) = 0) )) = 0; -WR3 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (oe.edge_element\edge_curve.edge_geometry)) = 1) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_start)) AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_start\vertex_point.vertex_geometry))) AND (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_end)) AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_end\vertex_point.vertex_geometry)))) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_PATH' IN TYPEOF (elp_fbnds.bound)) )) = 0; -WR6 : NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (face_geometry\swept_surface.swept_curve)) = 1); -WR7 : -SIZEOF ( -QUERY ( vlp_fbnds <* -QUERY ( bnds <* bounds| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) )| NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex\vertex_point.vertex_geometry))) )) = 0; -WR8 : -SIZEOF ( -QUERY ( bnd <* bounds| NOT ( SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_LOOP' ] * TYPEOF (bnd.bound)) = 1) )) = 0; -WR9 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry)) AND NOT ( SIZEOF ( -QUERY ( sc_ag <* oe.edge_element\edge_curve.edge_geometry\surface_curve.associated_geometry| NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF (sc_ag)) )) = 0) )) = 0) )) = 0; -WR10 : (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF (face_geometry\swept_surface.swept_curve)) OR ( SIZEOF (face_geometry\swept_surface.swept_curve\polyline.points) >= 3))) AND ( SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry)) AND NOT ( SIZEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry\polyline.points) >= 3) )) = 0) )) = 0); - END_ENTITY ; -(* USED FROM (geometry_schema); *) -ENTITY curve_replica - SUBTYPE OF (curve); - parent_curve : curve; - transformation : cartesian_transformation_operator; -WHERE - WR1: transformation.dim = parent_curve.dim; - WR2: acyclic_curve_replica (SELF, parent_curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY curve_bounded_surface - SUBTYPE OF (bounded_surface); - basis_surface : surface; - boundaries : SET[1:?] OF boundary_curve; - implicit_outer : BOOLEAN; -WHERE - WR1: (NOT implicit_outer) OR (SIZEOF (QUERY (temp <* boundaries | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) = 0); - WR2: (NOT(implicit_outer)) OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(basis_surface)); - WR3: SIZEOF(QUERY(temp <* boundaries | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) <= 1; - WR4: SIZEOF(QUERY(temp <* boundaries | (temp\composite_curve_on_surface.basis_surface [1] <> SELF.basis_surface))) = 0; -END_ENTITY; -(* USED FROM (Construction_geometry_mim); *) - ENTITY constructive_geometry_representation - SUBTYPE OF (representation); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.context_of_items)) AND ({2 <= SELF.context_of_items\geometric_representation_context. coordinate_space_dimension <= 3}); - WR2: SIZEOF( QUERY( cgr_i <* SELF.items | SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_POINT'] * TYPEOF(cgr_i)) <> 1 )) = 0; - WR3: SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) > 0; - WR4: SIZEOF( USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') ) = 0; - END_ENTITY; -(* USED FROM (Draughting_element_specialisations_mim); *) - ENTITY surface_condition_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF ( QUERY ( c <* SELF.contents | SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'ANNOTATION_CURVE_OCCURRENCE' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'ANNOTATION_SYMBOL_OCCURRENCE' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'ANNOTATION_TEXT_OCCURRENCE']* TYPEOF - ( c ) ) <>1 ) ) =0; - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY leader_curve - SUBTYPE OF (annotation_curve_occurrence); - WHERE - WR1: SIZEOF( - QUERY(ldc <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_CALLOUT.CONTENTS') - | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'LEADER_DIRECTED_CALLOUT' IN TYPEOF(ldc))) >= 1; - END_ENTITY; -(* USED FROM (Extended_measure_representation_mim); *) - ENTITY value_range - SUBTYPE OF (compound_representation_item); - WHERE - WR1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'SET_REPRESENTATION_ITEM' IN TYPEOF ( item_element ) ) AND value_range_wr1 ( item_element ); - WR2: value_range_wr2 ( item_element ); - WR3: value_range_wr3 ( item_element ); - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY draughting_callout - SUBTYPE OF (geometric_representation_item); - contents : SET [1:?] OF draughting_callout_element; - WHERE - WR1: (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) = 0) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND - (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(l_1)))) = 0) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND - (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(l_1)))) = 0) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN (TYPEOF(SELF))); - END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY fixed_constituent_assembly_constraint -SUBTYPE OF (assembly_geometric_constraint, - fixed_element_geometric_constraint); - fixed_constituent: representative_shape_representation; -WHERE -WR1: SELF\explicit_constraint.constrained_elements[1] - \geometric_representation_item.dim = 3; -WR2: (assembly_leaf (using_product_definition_of_shape_representation - (fixed_constituent)[1])); -WR3: (SIZEOF(SELF\explicit_constraint.constrained_elements) = 1) AND - (SIZEOF(SELF\explicit_constraint.reference_elements) = 0); -WR4: fixed_constituent IN (using_representations(SELF\explicit_constraint.constrained_elements[1]) + - using_representation_with_mapping(SELF\explicit_constraint.constrained_elements[1])); -END_ENTITY;-- fixed_constituent_assembly_constraint -(* USED FROM (assembly_constraint_schema); *) -ENTITY binary_assembly_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - PARALLEL_ASSEMBLY_CONSTRAINT, - SURFACE_DISTANCE_ASSEMBLY_CONSTRAINT_WITH_DIMENSION, - ANGLE_ASSEMBLY_CONSTRAINT_WITH_DIMENSION, - PERPENDICULAR_ASSEMBLY_CONSTRAINT, - INCIDENCE_ASSEMBLY_CONSTRAINT, - COAXIAL_ASSEMBLY_CONSTRAINT, - TANGENT_ASSEMBLY_CONSTRAINT)) - SUBTYPE OF (assembly_geometric_constraint, - representation_relationship_with_transformation); -SELF\representation_relationship.rep_1: representative_shape_representation; -SELF\representation_relationship.rep_2: representative_shape_representation; -WHERE -WR1: (SELF\explicit_constraint.constrained_elements[1] - \geometric_representation_item.dim = 3) AND - (SELF\explicit_constraint.reference_elements[1] - \geometric_representation_item.dim = 3); -WR2: (SELF\representation_relationship.rep_1 IN (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1))) AND - (SELF\representation_relationship.rep_2 IN (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2))); -WR3: (SIZEOF(SELF\explicit_constraint.constrained_elements)=1) AND - (SIZEOF(SELF\explicit_constraint.reference_elements)=1); -WR4: (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1 = - SELF\explicit_constraint.reference_elements[1]) AND - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2 = - SELF\explicit_constraint.constrained_elements[1]); - -END_ENTITY;-- binary_assembly_constraint -(* USED FROM (aic_machining_feature); *) -ENTITY thread - SUBTYPE OF (feature_definition); - WHERE - WR1 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) AND - (8 <= SIZEOF(pdr.used_representation.items)) AND - (SIZEOF(pdr.used_representation.items) <= 11)) )) = 1) )) = 1); - WR2 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'major diameter')) )) = 1)) )) - = 0)) )) = 0); - WR3 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'minor diameter')) )) - <= 1)) )) = 0)) )) = 0); - WR4 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'pitch diameter')) )) <= 1)) )) - = 0)) )) = 0); - WR5 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'number of threads')) )) - = 1)) )) = 0)) )) = 0); - WR6 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class')) )) = 1)) )) = 0)) )) - = 0); - WR7 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'form')) )) = 1)) )) = 0)) )) - = 0); - WR8 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'hand')AND - (it.description IN ['left', 'right']) ) )) = 1)) )) = 0)) )) - = 0); - WR9 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'qualifier')) )) <= 1)) )) - = 0)) )) = 0); - WR10: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'thread side') AND - ((it.description = 'internal') OR (it.description = 'external'))) )) - = 1)) )) = 0)) )) = 0); - WR11: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'crest')) )) <= 1)) )) - = 0)) )) = 0); - WR12: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial area occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied area usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_AREA' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR13: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR14 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class 2')) )) <= 1)) )) = 0)) )) - = 0); - WR15 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'nominal size')) )) - <= 1)) )) = 0)) )) = 0); - - WR16: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'thread runout') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'thread runout usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.THREAD_RUNOUT' - IN TYPEOF(sdr.relating_shape_aspect)) )) <= 1)) )) = 1)) )) = 0); - END_ENTITY; -- thread -(* USED FROM (aic_machining_feature); *) -ENTITY thread_runout - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(SELF.of_shape)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) = 3)) )) - = 0)) )) = 0); - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - NOT (srwp_i.name IN ['length of runout','pitch or dimension', - 'included or extra']) )) > 0 ) )) = 0 ) )) = 0; - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'length of runout')) )) = 1)) )) - = 0)) )) <= 1); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'pitch or dimension') - AND (it.description IN ['pitch','pitch or dimension'])) - )) = 1)) )) = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'included or extra') - AND (it.description IN ['included','extra'])) - )) = 1)) )) = 0)) )) = 0); -END_ENTITY; -- thread_runout -(* USED FROM (Multi_linguism_mim); *) -ENTITY multi_language_attribute_assignment -SUBTYPE OF (attribute_value_assignment); - items : SET [1:?] OF multi_language_attribute_item; - -DERIVE - translation_language : language := language_indication[1]\attribute_classification_assignment.assigned_class; - -INVERSE - language_indication: SET[1:1] OF attribute_language_assignment FOR items; - -WHERE -WR1: (SELF\attribute_value_assignment.role.name = 'alternate language'); -WR2: SIZEOF( QUERY( ala <* language_indication | - (ala\attribute_classification_assignment.attribute_name = 'attribute_value') AND - (ala\attribute_classification_assignment.role.name='translated') )) = 1 ; -WR3: SELF\attribute_value_assignment.attribute_name <> '' ; -WR4: SIZEOF(QUERY(ci <* items | -SIZEOF(QUERY(ata <* USEDIN(ci, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | -(ata\attribute_value_assignment.attribute_name = SELF\attribute_value_assignment.attribute_name) AND -(ata.translation_language :=: translation_language) ))>1 )) =0; -WR5: SIZEOF(QUERY(ci <* items | -SIZEOF(QUERY(ata <* USEDIN(ci, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | - (ata\attribute_classification_assignment.role.name='primary') AND - (ata\attribute_classification_assignment.attribute_name= SELF\attribute_value_assignment.attribute_name) AND - (ata\attribute_classification_assignment.assigned_class :=: translation_language) ))>0 )) =0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY vee_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF (impl_rep.used_representation.items) <= 6)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'profile angle') OR - (srwp_i.name = 'tilt angle') OR - (srwp_i.name = 'profile radius') OR - (srwp_i.name = 'first length') OR - (srwp_i.name = 'second length') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'profile radius'))) <= 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'profile angle'))) = 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'tilt angle'))) = 1))) = 0))) = 0; - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; - WR10: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'first length'))) <= 1))) = 0))) = 0; - WR11: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'second length'))) <= 1))) = 0))) = 0; -END_ENTITY; -- vee_profile -(* USED FROM (aic_machining_feature); *) -ENTITY turned_knurl - SUBTYPE OF (feature_definition); - WHERE - WR1: (SELF\characterized_object.description IN - ['diamond','diagonal','straight']); - WR2: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - ({6 <= SIZEOF(pdr.used_representation.items) <= 9}) )) = 1 )) = 1; - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of teeth')) )) <= 1)) )) = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'major diameter'))))= 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'nominal diameter')) )) = 1)) )) - = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | (NOT (SIZEOF(QUERY ( impl_rep <* - QUERY ( pdr <* USEDIN(pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'tooth depth')) )) <= 1)) )) - = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'root fillet')) )) <= 1)) )) - = 0)) )) = 0); - WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diametral pitch')) )) = 1)) )) - = 0)) )) = 0); - WR9: ((NOT (SELF\characterized_object.description IN - ['diamond','diagonal'])) OR ( - SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( - pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'helix angle')) )) = 1)) )) - = 0)) )) = 0)); - WR10: ((NOT (SELF\characterized_object.description = 'diagonal')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'helix hand')) )) = 1)) )) - = 0)) )) = 0)); - WR11: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial area occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied area usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') IN TYPEOF(sar))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_AREA' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR12: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); -END_ENTITY; -- turned_knurl -(* USED FROM (aic_machining_feature); *) -ENTITY slot_end - SUBTYPE OF (shape_aspect); - WHERE -WR1 : 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition); - -WR2 : SELF.description IN ['open','radiused','flat','woodruff', - 'loop']; - -WR3: (NOT (SELF.description IN ['open','radiused','loop'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 0)) )) = 0); - -WR4: (NOT (SELF.description IN ['flat','woodruff'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - -WR5: (NOT (SELF.description IN ['flat'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0); - -WR6: (NOT (SELF.description = 'flat')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) - = 2) AND - (it.name = 'first radius')) )) = 1)) )) = 0)) )) = 0); - -WR7: (NOT (SELF.description = 'flat')) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) - = 2) AND (it.name = 'second radius')) )) = 1)) )) = 0)) )) = 0); - -WR8: (NOT (SELF.description = 'woodruff')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF(it)) AND - (it.name = 'radius')) )) = 1)) )) = 0)) )) = 0); - -WR9: (NOT (SELF.description IN ['woodruff'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0); - -WR10: SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - (((fcr.related_shape_aspect.description = 'end condition occurrence') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect))) )) >= 1; - -END_ENTITY; -- slot_end -(* USED FROM (aic_machining_feature); *) -ENTITY tee_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 9) - AND (SIZEOF (impl_rep.used_representation.items) <= 10)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'width') OR - (srwp_i.name = 'depth') OR - (srwp_i.name = 'cross bar width') OR - (srwp_i.name = 'cross bar depth') OR - (srwp_i.name = 'first offset') OR - (srwp_i.name = 'second offset') OR - (srwp_i.name = 'first angle') OR - (srwp_i.name = 'second angle') OR - (srwp_i.name = 'radius') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'width'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'depth'))) = 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'cross bar width'))) = 1))) - = 0))) = 0; - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'cross bar depth'))) = 1))) - = 0))) = 0; - WR10: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first offset'))) = 1))) - = 0))) = 0; - WR11: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second offset'))) = 1))) - = 0))) = 0; - WR12: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first angle'))) = 1))) - = 0))) = 0; - WR13: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second angle'))) = 1))) - = 0))) = 0; - WR14: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) <= 1))) = 0))) = 0; - WR15: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; -END_ENTITY; -- tee_profile -(* USED FROM (aic_machining_feature); *) -ENTITY taper - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['angle taper','diameter taper', - 'directed taper']); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR5: ((NOT (SELF.description = 'angle taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'taper angle')) )) = 1)) )) - = 0)) )) = 0)); - WR6: ((NOT (SELF.description = 'diameter taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'final diameter')) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'directed taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'angle')) )) = 1)) )) - = 0)) )) = 0)); - WR8: ((NOT (SELF.description = 'directed taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'direction') )) - = 1)) )) = 0)); -END_ENTITY; -- taper -(* USED FROM (aic_machining_feature); *) -ENTITY square_u_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 4) - AND (SIZEOF (impl_rep.used_representation.items) <= 7)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'width') OR - (srwp_i.name = 'first angle') OR - (srwp_i.name = 'second angle') OR - (srwp_i.name = 'first radius') OR - (srwp_i.name = 'second radius') OR - (srwp_i.name = 'profile limit') OR - (srwp_i.name = 'depth') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'width'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'first radius'))) <= 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'second radius'))) <= 1))) = 0))) = 0; - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'first angle'))) = 1))) = 0))) = 0; - WR10: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'second angle'))) = 1))) = 0))) = 0; - WR11: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; - - WR12: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'depth'))) <= 1))) = 0))) = 0; -END_ENTITY; -- Square_U_profile -(* USED FROM (aic_machining_feature); *) - ENTITY slot - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF(QUERY ( pd <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(impl_rep. - used_representation.items) = 1)) )) = 0)) )) = 0; - WR2: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | (( - sa_occ.description = 'swept shape occurrence') AND (SIZEOF( - QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | ((sar.description = - 'profile usage') AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar))) ) | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF(sdr.relating_shape_aspect)) = 1) )) = 1)) )) = 1)) )) - = 0; - WR3: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | (( - sa_occ.description = 'course of travel occurrence') AND ( - SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | ((sar.description = - 'path feature component usage') AND ((sar.name = - 'course of travel') AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar)))) ) | ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0; - - WR4: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT((SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'end condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.relating_shape_aspect.description - IN ['open','radiused','flat','woodruff'])) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1) ) )) = 2) - OR - (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'end condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.relating_shape_aspect.description IN ['loop'])) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1) ) )) = 1))) )) =0; - - WR5: (NOT (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'end condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.relating_shape_aspect.description IN ['loop'])) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1)) )) = 1)) )) =0) - OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - ((sar.name = 'course of travel') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar)))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description - IN ['complex','complete circular'])) - )) = 1)) )) = 1)) )) = 0)); - - WR6: SIZEOF(QUERY ( pdr <* get_property_definition_representations( - SELF) | (( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND (pdr. - used_representation.name = 'maximum feature limit')) )) >= 0; - END_ENTITY; -- slot -(* USED FROM (aic_machining_feature); *) -ENTITY step - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear')) )) = 1)) )) - = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'removal boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; - WR5: SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(csa)) AND - (csa.name='uncut volume') AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROTRUSION'] * TYPEOF(sar. - related_shape_aspect)) = 1)) )) = 1)) )) <= 1)) )) = 1; -END_ENTITY; -- step -(* USED FROM (aic_machining_feature); *) -ENTITY rounded_u_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND (SIZEOF (impl_rep.used_representation.items) <= 2)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'depth') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'width'))))= 1))))= 0))))= 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'depth'))) <= 1))) = 0))) = 0; -END_ENTITY; -- rounded_u_profile -(* USED FROM (aic_machining_feature); *) -ENTITY spherical_cap - SUBTYPE OF (feature_definition); - WHERE - - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 3)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)))) - = 0)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'internal angle')))) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- spherical_cap -(* USED FROM (aic_machining_feature); *) -ENTITY rounded_end - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial circular boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) ) )) = 1)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear')) )) = 1)) )) - = 1)) )) = 0); - WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- rounded_end -(* USED FROM (aic_machining_feature); *) -ENTITY round_hole - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'diameter occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.name = 'diameter')) )) = 1)) )) = 1)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'hole depth occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.name = 'hole depth') AND - (sdr.relating_shape_aspect.description = 'linear')) )) = 1)) )) - = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'hole bottom usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.HOLE_BOTTOM' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUND_HOLE' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1)) )) = 1)) )) = 0); - WR4: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in diameter occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUND_HOLE' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) ) - )) = 1)) )) <= 1)) )) = 0); - WR5: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF ( pdr.used_representation ) ) )) =1; -END_ENTITY; -- round_hole -(* USED FROM (aic_machining_feature); *) -ENTITY rib_top_floor - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF (SELF.of_shape.definition); - WR2: SELF.description IN ['planar', 'complex']; - WR3: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'rib top usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - ((fcr.related_shape_aspect.description = 'rib top condition occurrence') - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIB_TOP' IN TYPEOF - (fcr.related_shape_aspect.of_shape.definition)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIB_TOP_FLOOR' IN TYPEOF - (fcr.relating_shape_aspect)) ) - )) >= 1; - WR4: (NOT (SELF.description = 'complex')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'rib top face'))) = 1))) = 0); - WR5: (NOT (SELF.description = 'planar')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'rib top face'))) = 1))) = 0); - WR6: (NOT (SELF.description = 'planar')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'rib top floor boundary'))) - = 1))) = 1))) = 0); -END_ENTITY; -- rib_top_floor -(* USED FROM (aic_machining_feature); *) -ENTITY rib_top - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'rib top condition occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'rib top usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIB_TOP_FLOOR' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIB_TOP' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition)) ) - )) = 1))) = 1))) = 0; - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'removal direction'))) = 1))) = 1; - WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- rib_top -(* USED FROM (draughting_element_schema); *) - ENTITY dimension_curve_directed_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF(QUERY(d_c<*SELF\draughting_callout.contents | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(d_c))))<=2; - WR2: SIZEOF(SELF\draughting_callout.contents) >= 2; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY revolved_profile - SUBTYPE OF (feature_definition); - WHERE - WR1: (SELF\characterized_object.description IN - ['groove','flat','round','open profile']); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')))) = 1)) )) - = 0)) )) = 0); - WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='removal direction'))) =1; - WR5: ((NOT (SELF\characterized_object.description = 'open profile')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'outer edge shape occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'outer edge shape')) )) - = 1)) )) = 1)) )) = 0)); - WR6: (NOT (SELF\characterized_object.description = 'flat')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (( sa_occ.description = 'flat edge shape occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'flat edge shape')) )) - = 1)) )) = 1)) )) = 0); - WR7: ((NOT (SELF\characterized_object.description = 'round')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'rounded edge shape occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'rounded edge shape')) )) - = 1)) )) = 1)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = 'groove')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'sweep occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ((SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF(sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'sweep')) )) = 1)) )) - = 1)) )) = 0)); - WR9: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- revolved_profile -(* USED FROM (draughting_element_schema); *) - ENTITY leader_directed_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) >= 1; - WR2: SIZEOF(SELF\draughting_callout.contents) >=2; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY rectangular_pattern - SUBTYPE OF (replicate_feature); - WHERE - WR1: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - ((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.related_shape_aspect)) )) = 1)) )) <= 5)) )) = 0); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'row layout direction') ) )) - = 1)) )) = 0); - WR3 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'column layout direction')) )) - = 1)) )) = 0); - WR4 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR5 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 5)) )) - = 0)) )) = 0); - WR6 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of rows')) )) = 1)) )) = 0)) )) = 0); - WR7 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of columns')) )) = 1)) )) = 0)) )) = 0); - WR8 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'row spacing')) )) = 1)) )) - = 0)) )) = 0); - WR9: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'column spacing'))))= 1)) )) - = 0)) )) = 0); - WR10: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' IN TYPEOF(it)) AND - (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0); -END_ENTITY; -- rectangular_pattern -(* USED FROM (draughting_element_schema); *) - ENTITY projection_directed_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF(QUERY(p_1<*SELF\draughting_callout.contents | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(p_1))))<=2; - WR2: SIZEOF(SELF\draughting_callout.contents) >=2; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY replicate_feature - SUPERTYPE OF (ONEOF ( - CIRCULAR_PATTERN, - RECTANGULAR_PATTERN, - FEATURE_PATTERN)) - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) )) = 1)) )) = 0); - WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* - USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) ) | - ((SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPLICATE_FEATURE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INSTANCED_FEATURE'] * - TYPEOF(fcr.related_shape_aspect)) >= 1) AND - (fcr.name = 'pattern basis')) )) = 1); - WR3: ((SIZEOF(QUERY ( sar <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (NOT - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) )) + - SIZEOF(QUERY ( sar <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - (NOT - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ))) = 0); -END_ENTITY; -- replicate_feature -(* USED FROM (aic_machining_feature); *) -ENTITY removal_volume - SUBTYPE OF (feature_definition); - WHERE - - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'shape volume occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'volume shape usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (sdr.relating_shape_aspect.description = 'volume shape') )) = 1)) )) - = 1)) )) = 0); -END_ENTITY; -- removal_volume -(* USED FROM (aic_machining_feature); *) -ENTITY profile_floor - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SELF.description IN ['planar', 'complex', 'through']; - WR3: (NOT (SELF.description IN ['planar', 'complex']) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0)); - WR4: (NOT (SELF.description IN ['planar', 'complex'])) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (impl_rep.used_representation.items) >= 1)AND - (SIZEOF (impl_rep.used_representation.items) <= 2))) = 0))) = 0); - WR5: (NOT (SELF.description = 'through') OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 0))) = 0)); - WR6: (NOT (SELF.description IN ['planar', 'complex'])) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0); - WR7: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'profile floor usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF (sar))) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OUTSIDE_PROFILE' IN TYPEOF - (fcr.related_shape_aspect.of_shape.definition))AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROFILE_FLOOR' IN TYPEOF - (fcr.relating_shape_aspect))) - )) >= 1; - WR8: ((NOT (SELF.description IN ['planar','complex'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'shape profile floor orientation') - AND (it.description IN ['shape profile start','shape profile end'])) - )) = 1)) )) = 0)) )) = 0)); - WR9: (NOT (SELF.description = 'complex')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name='floor'))) = 1))) = 1); - WR10: (NOT (SELF.description = 'planar')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name='floor'))) = 1))) = 1); -END_ENTITY; -- profile_floor -(* USED FROM (aic_machining_feature); *) -ENTITY rectangular_closed_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT ((SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF(impl_rep.used_representation.items) <= 4)))) = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* - USEDIN( SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'length') OR - (srwp_i.name = 'width') OR - (srwp_i.name = 'corner radius') )) = - SIZEOF(pdr.used_representation.items)) - )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'width'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'length'))) = 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'corner radius'))) <= 1))) = 0))) = 0; -END_ENTITY; -- rectangular_closed_profile -(* USED FROM (aic_machining_feature); *) -ENTITY protrusion - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'shape volume occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'volume shape usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (sdr.relating_shape_aspect.description = 'volume shape') )) = 1)) )) - = 1)) )) = 0); - WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- protrusion -(* USED FROM (aic_machining_feature); *) -ENTITY planar_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF (SELF.items) = 1; - WR2: SIZEOF (QUERY (it <* SELF.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF (it)))) = 1 ; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY pocket_bottom - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SELF.description IN ['planar', 'complex', 'through']; - WR3: ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'floor normal') )) = 1)) )) = 0)); - WR4 : ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOCATION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'floor location'))) = 1)) )) = 0)); - WR5 : ((NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'floor face') )) = 1)) )) = 0)); - WR6: (NOT (SELF.description IN ['planar', 'complex']) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0)); - WR7: (NOT (SELF.description IN ['planar', 'complex']) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (impl_rep.used_representation.items) - <= 1) )) = 0))) = 0)); - WR8: (NOT (SELF.description = 'through') OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 0))) = 0)); - WR9: (NOT (SELF.description IN ['planar', 'complex'])) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) <= 1))) = 0))) = 0); - WR10: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - ((fcr.related_shape_aspect.description = 'bottom condition occurrence') - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET_BOTTOM' - IN TYPEOF(fcr.relating_shape_aspect)) ) - )) >= 1; - WR11: ((NOT (SELF.description IN ['planar','complex'])) OR - (SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (fcr.related_shape_aspect.description = 'bottom condition occurrence') - AND - (fcr.related_shape_aspect.name IN - ['pocket depth start', 'pocket depth end']) - )) = 0)); -END_ENTITY; -- Pocket_bottom -(* USED FROM (aic_machining_feature); *) -ENTITY pocket - SUBTYPE OF (feature_definition); - WHERE - WR1: (SELF\characterized_object.description IN - ['closed rectangular','open rectangular', 'complex', - 'circular cutout', 'complex cutout', 'recess']); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'pocket depth occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (sar.name = 'pocket depth') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description ='linear')) )) - = 1)) )) = 1)) )) = 0); - WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF ( pdr.used_representation ) ) )) =1; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ({1 <= SIZEOF(pdr.used_representation.items) <= 2} ) )) = 1 )) = 1; - WR5: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'fillet radius'))) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'fillet radius'))) <= 1))) - = 0))) = 0; - WR7: ((NOT (SELF\characterized_object.description IN ['complex', - 'non-circular cutout','recess'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF(sdr.relating_shape_aspect)) = 1)) )) = 1)) )) - = 1)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = - 'closed rectangular')) - OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'closed boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect))) )) = 1)) )) - = 1)) )) = 0)); - WR9: ((NOT (SELF\characterized_object.description = 'open rectangular')) - OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'open boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect))) )) = 1)) )) - = 1)) )) = 0)); - WR10: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'pocket bottom usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET_BOTTOM' - IN TYPEOF(sdr.relating_shape_aspect)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' - IN TYPEOF(sdr.related_shape_aspect.of_shape.definition))) - )) = 1)) )) = 1)) )) = 0); - WR11: ((NOT (SELF\characterized_object.description IN ['complex', - 'non-circular cutout','recess'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in boundary occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - (fcr.related_shape_aspect.description - IN ['angle taper','directed taper'])) - )) = 1)) )) <= 1)) )) = 0)); - WR12: (NOT (SELF\characterized_object.description = 'circular cutout')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'enclosed boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE' - IN TYPEOF (sdr.relating_shape_aspect)))) - = 1))) = 1))) = 0); - WR13: (NOT (SELF\characterized_object.description IN - ['circular cutout','complex cutout'])) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET_BOTTOM' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition))AND - (sdr.relating_shape_aspect.description = 'through') ) - )) = 1))) = 1))) = 0); - WR14: (NOT (SELF\characterized_object.description = 'recess')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET_BOTTOM' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition)) AND - (sdr.relating_shape_aspect.description IN ['planar','complex']) ) - )) = 1))) = 1))) = 0); - WR15: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; - - WR16: ((NOT (SELF\characterized_object.description IN - ['closed rectangular','open rectangular', 'complex', - 'recess'])) OR - (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (csa.name='uncut volume') AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - ((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROTRUSION'] - * TYPEOF(sar.related_shape_aspect))=1) - ) ))) = 1)) )) <= 1)) )) = 1)); - - WR17: ((NOT (SELF\characterized_object.description IN - ['closed rectangular','open rectangular'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in boundary occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - (fcr.related_shape_aspect.description - IN ['angle taper','directed taper'])) - )) >= 1)) )) <=1)) )) = 0)); - -END_ENTITY; -- pocket -(* USED FROM (aic_machining_feature); *) -ENTITY pattern_omit_membership - SUBTYPE OF (feature_component_relationship); - WHERE - WR1: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.relating_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - ((SIZEOF (QUERY( pdr <*(QUERY(pd <* USEDIN - (fcr.related_shape_aspect.of_shape, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd))) | - SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN'] - * TYPEOF(pdr.definition)) =1 )) = 0 )) )) = 0); - WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (fcr.description='modified pattern') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) )) >= 1); - WR3: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (NOT (SIZEOF(QUERY ( modfcr <* QUERY ( modsar <* USEDIN( - fcr.relating_shape_aspect,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN'] * - TYPEOF(modsar.related_shape_aspect.of_shape.definition)) = 1) AND - (modsar :<>: fcr)) ) | - (NOT (modfcr.related_shape_aspect.of_shape.definition :=: - SELF.relating_shape_aspect.of_shape.definition)) )) - = 0))) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 1)) )) = 0); - WR5: ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (NOT (SIZEOF(pdr.used_representation.items) = 1)) )) = 0)) )) = 0)); - WR6: ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'index number')) )) = 1)) )) = 0)) )) = 0)); - WR7: ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (NOT (SIZEOF(pdr.used_representation.items) = 2)) )) = 0)) )) = 0)); - WR8: ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'row index')) )) = 1)) )) = 0)) )) = 0)); - WR9: ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'column index')) )) = 1)) )) = 0)) )) = 0)); -END_ENTITY; -- pattern_omit_membership -(* USED FROM (geometric_model_schema); *) -ENTITY shell_based_wireframe_model - SUBTYPE OF (geometric_representation_item); - sbwm_boundary : SET[1:?] OF shell; -WHERE - WR1: constraints_geometry_shell_based_wireframe_model(SELF); -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY pattern_offset_membership - SUBTYPE OF (feature_component_relationship); - WHERE - WR1 : (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.relating_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - ((SIZEOF (QUERY( pdr <*(QUERY(pd <* USEDIN - (fcr.related_shape_aspect.of_shape, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd))) | - SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN'] - * TYPEOF(pdr.definition)) =1 )) = 0 )) )) = 0); - WR2 : (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (fcr.description='modified pattern') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) )) >= 1); - WR3 : (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (NOT (SIZEOF(QUERY ( modfcr <* QUERY ( modsar <* USEDIN( - fcr.relating_shape_aspect,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN'] * - TYPEOF(modsar.related_shape_aspect.of_shape.definition)) = 1) AND - (modsar :<>: fcr)) ) | - (NOT (modfcr.related_shape_aspect.of_shape.definition :=: - SELF.relating_shape_aspect.of_shape.definition)) )) - = 0))) )) = 0); - WR4 : ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 2)) )) = 0)); - WR5 : ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 1)) )) = 0)); - WR6 : ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (NOT (SIZEOF(pdr.used_representation.items) = 2)) )) = 0)) )) - = 0)); - WR7 : ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'index number')) )) = 1)) )) = 0)) )) = 0)); - WR8 : ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' - IN TYPEOF(it)) AND (it.name = 'offset')) )) = 1)) )) = 0)) )) - = 0)); - WR9: ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items ) = 3)) )) - = 0)) )) = 0)); - WR10: ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'row index')) )) = 1)) )) = 0)) )) = 0)); - WR11: ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'column index')) )) = 1)) )) = 0)) )) = 0)); - WR12: ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF(it)) AND (it.name = 'offset distance')) )) = 1)) )) - = 0)) )) = 0)); - WR13: ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'offset direction')) )) = 1)) )) - = 0)); -END_ENTITY; -- pattern_offset_membership -(* USED FROM (aic_machining_feature); *) -ENTITY path_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: (SIZEOF(SELF.items) >= 1); - WR2: (SIZEOF(QUERY ( i <* SELF.items | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH'] * TYPEOF(i)) = - 1) )) >= 1); -END_ENTITY; -- path_shape_representation -(* USED FROM (aic_machining_feature); *) -ENTITY path_feature_component - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['partial circular','complete circular', - 'linear','complex']); - WR3: ((NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR4: ((SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0)); - WR5: ((NOT (SELF.description = 'partial circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 3)) )) - = 0)) )) = 0)); - WR6: ((NOT (SELF.description = 'partial circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'partial circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'sweep angle')) )) = 1)) )) - = 0)) )) = 0)); - WR8: ((NOT (SELF.description = 'complete circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0)); - WR9: ((NOT (SELF.description = 'complete circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) - = 0)) )) = 0)); - WR10: ((NOT (SELF.description = 'linear')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0)); - WR11: ((NOT (SELF.description = 'linear')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'distance')) )) = 1)) )) - = 0)) )) = 0)); - WR12: ((NOT (SELF.description = 'linear')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR13: ((NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'sweep path')AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'profile shape') )) = 1) - ) )) = 1)) )) = 0)); -END_ENTITY; -- path_feature_component -(* USED FROM (aic_machining_feature); *) -ENTITY partial_circular_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 3)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')))) = 1)) )) - = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'sweep angle')) )) = 1)) )) - = 0)) )) = 0); - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; -END_ENTITY; -- partial_circular_profile -(* USED FROM (aic_machining_feature); *) -ENTITY outside_profile - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF (pdr.used_representation.items) = 1) )) = 1 )) = 1; - WR2: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['boundary occurrence', - 'non-planar boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) )) =1) ))=0; - WR3: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'boundary occurrence') )) =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) | - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'outside boundary'))) - = 1))) = 1))) = 0); - WR4: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['complex boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) ))=1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - NOT(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile floor usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROFILE_FLOOR' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OUTSIDE_PROFILE' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition))) - )) = 1))) = 0))) = 0); - WR5: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['outside boundary', - 'complex boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) ))=1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'path feature component usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) | - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.name = 'profile swept shape') AND - (sdr.relating_shape_aspect.description='linear') )) = 1))) - = 1))) = 0); - WR6: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'complex boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) =1)) ) - = 1)))= 1))) = 0); - WR7: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'partial circular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)))) - = 1)))= 1))) = 0); - WR8: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'closed circular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)))) - = 1)))= 1))) = 0); - WR9: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'open rectangular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)))) - = 1)))= 1))) = 0); - WR10: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'closed rectangular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)) )) = 1))) - = 1))) = 0); - WR11: (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['boundary occurrence', - 'complex boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) )) =1) ))=0) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'removal direction')) )) = 1)) )) - = 0); - WR12: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- outside_profile -(* USED FROM (aic_machining_feature); *) -ENTITY outer_round - SUBTYPE OF (feature_definition); - WHERE - WR1: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF (pdr.used_representation.items) = 3) )) = 1 )) = 1)); - WR2: ((NOT (SELF\characterized_object.description - = 'outer diameter to shoulder')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ( {2 <= SIZEOF(pdr.used_representation.items) <= 3}) )) = 1 )) = 1)); - WR3: (SELF\characterized_object.description IN - ['outer diameter', 'outer diameter to shoulder']); - WR4: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR - (SIZEOF( QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'length')) )) = 1)) )) - = 0)) )) = 0)); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) = 1)) )) - = 0)) )) = 0); - WR6: ((NOT (SELF\characterized_object.description - = 'outer diameter to shoulder')) OR ( - SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'v-shape boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'v-shape')) )) = 1)) )) - = 1)) )) = 0)); - WR7: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'reduced size occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' - IN TYPEOF(sdr.relating_shape_aspect)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OUTER_ROUND' - IN TYPEOF(sdr.related_shape_aspect.of_shape.definition)) AND - (sdr.name = 'reduced size')) - )) = 1)) )) - <= 1)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = - 'outer diameter to shoulder')) OR - (SIZEOF( QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'length')) )) <= 1)) )) - = 0)) )) = 0)); - WR9: ((NOT (SELF\characterized_object.description = - 'outer diameter to shoulder')) OR - (SIZEOF( QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'feature length')) )) <= 1)) )) - = 0)) )) = 0)); -END_ENTITY; -- outer_round -(* USED FROM (aic_machining_feature); *) -ENTITY open_path_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND - (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit') )) <= 1))) = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY ngon_closed_profile - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT ((SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF(impl_rep.used_representation.items) <= 4)))) = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'number of sides') OR - (srwp_i.name = 'circumscribed diameter') OR - (srwp_i.name = 'corner radius') OR - (srwp_i.name = 'diameter across flats'))) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'number of sides'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name IN ['circumscribed diameter','diameter across flats']) )) - = 1) )) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'corner radius'))) <= 1))) = 0))) = 0; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY modified_pattern - SUBTYPE OF (shape_aspect); - WHERE - WR1: SIZEOF( QUERY (fcr <* QUERY(sar <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar)) | - (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPLICATE_FEATURE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INSTANCED_FEATURE'] * - TYPEOF (fcr.related_shape_aspect.of_shape.definition)) >= 1) AND - (fcr.description = 'base shape')) ) = 1; - WR2: SIZEOF( QUERY (fcr <* QUERY(sar <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar)) | - (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_PATTERN', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_PATTERN'] * - TYPEOF(fcr.related_shape_aspect.of_shape.definition)) = 1) AND - (fcr.description = 'base pattern')) ) = 1; - WR3: SIZEOF(QUERY ( sar <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (SIZEOF(QUERY ( msar <* USEDIN(sar.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATTERN_OFFSET_MEMBERSHIP', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATTERN_OMIT_MEMBERSHIP'] * - TYPEOF(sar)) = 1) AND (sar.description='modified pattern') - AND (sar :<>: msar) )) >= 1) )) = 0; -END_ENTITY; -- modified_pattern -(* USED FROM (aic_machining_feature); *) -ENTITY marking - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - ({2 <= SIZEOF(pdr.used_representation.items) <=6} ) )) - = 1 )) = 1; - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* - QUERY ( pdr <* USEDIN(pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'marking text')) )) = 1)) )) - = 0)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'special instructions')) )) <= 1)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'font name')))) <= 1)))) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'character height')) )) <= 1)) )) - = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'character spacing')) )) <= 1)) )) - = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); -END_ENTITY; -- marking -(* USED FROM (aic_machining_feature); *) -ENTITY location_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: (SIZEOF(SELF.items) = 1); - WR2: (SIZEOF(QUERY ( it <* SELF.items | - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT' - IN TYPEOF(it))) )) = 0); -END_ENTITY; -- location_shape_representation -(* USED FROM (aic_machining_feature); *) -ENTITY linear_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' IN TYPEOF(it)) AND - (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'profile length')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- linear_profile -(* USED FROM (aic_machining_feature); *) -ENTITY hole_bottom - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['through', 'flat', 'flat with radius', - 'flat with taper','spherical', 'conical']); - WR3: ((NOT (SELF.description = 'through')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 0)) )) - = 0)); - WR4: ((NOT (SELF.description IN ['flat with radius', - 'flat with taper', 'spherical','conical'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR5: ((NOT (SELF.description = 'flat')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 0)) )) - = 0)) )) = 0)); - WR6: ((NOT (SELF.description IN ['flat with radius','spherical'])) - OR (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'flat with taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0)); - WR8: ((NOT (SELF.description = 'conical')) OR (SIZEOF( - QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND (SIZEOF (impl_rep.used_representation.items) <= 2)) )) - = 0)) )) = 0)); - WR9: ((SELF.description = 'through') OR - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'hole bottom usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((fcr.name IN ['hole depth start','hole depth end'])) )) >= 1)); - WR10: ((NOT (SELF.description = 'flat with radius')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'corner radius')))) = 1)) )) - = 0)) )) = 0)); - WR11: ((NOT (SELF.description = 'spherical')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) = - 0)) )) = 0)); - WR12: ((NOT (SELF.description = 'conical')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'tip radius')) )) <= 1)) )) - = 0)) )) = 0)); - WR13: ((NOT (SELF.description = 'conical')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'tip angle')) )) = 1)) )) - = 0)) )) = 0)); - WR14: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'hole bottom usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((fcr.related_shape_aspect.description ='bottom condition occurrence') - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUND_HOLE' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.HOLE_BOTTOM' - IN TYPEOF(fcr.relating_shape_aspect))) - )) >= 1); - WR15: ((NOT (SELF.description = 'flat with taper')) OR (SIZEOF( - QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'final diameter')))) = 1)) )) - = 0)) )) = 0)); - WR16: ((NOT (SELF.description = 'flat with taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'taper diameter')) )) = 1)) )) - = 0)) )) = 0)); - END_ENTITY; -- hole_bottom -(* USED FROM (aic_machining_feature); *) -ENTITY gear - SUBTYPE OF (feature_definition); -WHERE - WR1 : SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF(QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) - AND (10 <= SIZEOF(pdr.used_representation.items)) AND - (SIZEOF(pdr.used_representation.items) <= 13))) = 1)) = 1; - - WR2 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | - (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND - (it.name = 'number of teeth'))) = 1))) = 0))) = 0); - - WR3 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'reference pressure angle'))) = 1))) = 0))) = 0); - - WR4 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND - (it.name = 'rake shift factor'))) = 1))) = 0))) = 0); - - WR5 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'nominal tooth depth'))) = 1))) = 0))) = 0); - - WR6 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'face width'))) = 1))) = 0))) = 0); - - WR7 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'tip diameter'))) = 1))) = 0))) = 0); - - WR8 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | -('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND - (it.name = 'module or diametral pitch') AND - ((it.description ='module') OR (it.description = 'diametral pitch')))) - = 1))) = 0))) = 0); - - WR9 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | -('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND - (it.name = 'internal or external gear') AND - ((it.description ='internal') OR (it.description = 'external')))) - = 1))) = 0))) = 0); - - WR10: NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'normal attribute'))) = 1))) = 0))) = 0); - - WR11 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'root fillet radius'))) <= 1))) = 0))) = 0); - - WR12 : NOT (SELF\characterized_object.description - IN ['helix gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'reference helix angle'))) = 1))) = 0))) = 0); - - WR13 : NOT (SELF\characterized_object.description - IN ['helix gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'gear tooth') AND - ((it.description = 'left hand tooth') OR - (it.description = 'right hand tooth')))) = 1))) = 0))) = 0); - - WR14 : NOT (SELF\characterized_object.description - IN ['straight bevel gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'tip angle'))) = 1))) = 0))) = 0); - - WR15 : NOT (SELF\characterized_object.description - IN ['straight bevel gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'root angle'))) = 1))) = 0))) = 0); - - WR16 : SIZEOF(QUERY(pds <* QUERY(pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) | NOT - (SIZEOF(QUERY(sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - SIZEOF( QUERY(sdr <* QUERY(sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'applied shape') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar))) | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect))) = 1)) = 1))) = 0; - -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY flat_face - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'removal direction')) )) = 1)) )) - = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear') AND - (sdr.name = 'course of travel')) )) = 1)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'removal boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINEAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.name = 'removal boundary')) )) = 1)) )) = 1)) )) = 0); - WR4: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'enclosed boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'boundary'))) - = 1))) <= 1))) = 0; - WR5: SIZEOF(QUERY( pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; - WR6: SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(csa)) AND - (csa.name='uncut volume') AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROTRUSION'] * TYPEOF(sar. - related_shape_aspect)) = 1)) )) = 1)) )) <= 1)) )) = 1; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'removal depth'))) <= 1))) - = 0))) = 0; - -END_ENTITY; -- flat_face -(* USED FROM (aic_machining_feature); *) -ENTITY fillet - SUBTYPE OF (transition_feature); - WHERE - WR1: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0); - WR2: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND(SIZEOF (impl_rep.used_representation.items) <= 3)))) - = 0))) = 0); - WR3: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0); - WR4: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first offset'))) <= 1))) - = 0))) = 0); - WR5: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second offset'))) <= 1))) - = 0))) = 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'fillet face'))) = 1))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'first face shape'))) = 1))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'second face shape'))) = 1))) = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY feature_pattern - SUBTYPE OF (replicate_feature); - WHERE - WR1: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' - IN TYPEOF(srwp_i)) )) > 0 ) )) > 0 )) = 0; - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' - IN TYPEOF (it)) AND (it.name = 'base feature placement'))) > 1))) - = 0))) = 0; -END_ENTITY; -- feature_pattern -(* USED FROM (aic_machining_feature); *) -ENTITY externally_defined_feature_definition - SUBTYPE OF (feature_definition, externally_defined_item); - WHERE - WR1: (((SELF\characterized_object.description = 'thread') AND - (SELF\externally_defined_item.item_id='external thread') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification') ) OR - ((SELF\characterized_object.description = 'gear') AND - (SELF\externally_defined_item.item_id='external gear') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification')) OR - ((SELF\characterized_object.description = 'marking') AND - (SELF\externally_defined_item.item_id='external marking') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification')) OR - ((SELF\characterized_object.description = 'knurl') AND - (SELF\externally_defined_item.item_id='external knurl') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification'))); - WR2: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ({5 <= SIZEOF(pdr.used_representation.items) <= 10} ) )) - = 1 )) = 1)); - WR3: ((NOT (SELF\characterized_object.description = 'marking')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 2) )) = 1 )) = 1)); - WR4: ((NOT (SELF\characterized_object.description = 'knurl')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 1) )) = 1 )) = 1)); - WR5: (NOT (SELF\characterized_object.description IN [ 'knurl', - 'thread'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial area occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied area usage') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_AREA' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) <= 1)) )) = 0); - - WR6: ((NOT (SELF\characterized_object.description = 'marking')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'marking text')) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'removal direction') AND - ((it.description = 'internal') OR - (it.description = 'external'))) )) = 1)) )) = 0)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'qualifier')) ))<= 1)) ))= 0)) )) - = 0)); - WR9: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'hand')) )) = 1)) )) = 0)) )) - = 0)); - WR10: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class')) )) = 1)) )) = - 0)) )) = 0)); - WR11: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'form')) )) = 1)) )) = 0)) )) - = 0)); - WR12: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'major diameter')) )) <= 1)) )) - = 0)) )) = 0)); - WR13: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'number of threads')) )) = 1)) )) - = 0)) )) = 0)); - WR14 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class 2')) )) <= 1)) )) = 0)) )) - = 0); - - WR15 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'nominal size')) )) - <= 1)) )) = 0)) )) = 0); - - WR16: (NOT (SELF\characterized_object.description IN [ 'knurl', - 'gear', 'thread'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) <= 1)) )) = 0); - WR17: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (10 <= SIZEOF(pdr.used_representation.items)) AND - (SIZEOF(pdr.used_representation.items) >= 11) - )) = 1 )) = 1)); - - WR18: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'number of teeth')) )) = 1)) )) - = 0)) )) = 0)); - - WR19: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'reference pressure angle')) )) = 1)) )) - = 0)) )) = 0)); - - WR20: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'rake shift factor')) )) = 1)) )) - = 0)) )) = 0)); - - WR21: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'nominal tooth depth')) )) = 1)) )) - = 0)) )) = 0)); - - WR22: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'face width')) )) = 1)) )) - = 0)) )) = 0)); - - WR23: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'tip diameter')) )) = 1)) )) - = 0)) )) = 0)); - - WR24: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'module or diametral pitch') AND - ((it.description = 'module') OR - (it.description = 'diametral pitch'))) )) = 1)) )) = 0)) )) = 0)); - - WR25: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'normal attribute')) )) = 1)) )) - = 0)) )) = 0)); - - WR26: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'internal or external gear') AND - ((it.description = 'internal') OR - (it.description = 'external'))) )) = 1)) )) = 0)) )) = 0)); - - WR27: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'root fillet radius')) )) <= 1)) )) - = 0)) )) = 0)); - -END_ENTITY; -- externally_defined_feature_definition -(* USED FROM (aic_machining_feature); *) -ENTITY feature_component_definition - SUBTYPE OF (characterized_object); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE')) = 1)) )) - = 0); -END_ENTITY; -- feature_component_definition -(* USED FROM (aic_machining_feature); *) -ENTITY face_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: (SIZEOF(SELF.items) >= 1); - WR2: (SIZEOF(QUERY ( it <* SELF.items | (NOT ( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF(it)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_FACE' IN TYPEOF(it)) )) - )) = 0); -END_ENTITY; -- face_shape_representation -(* USED FROM (aic_machining_feature); *) -ENTITY compound_feature - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF( QUERY( pds <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF( QUERY( csa <* USEDIN( pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((csa.name='compound feature in solid') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa))) )) = 1) )) = 1; - WR2: SIZEOF( QUERY( pds <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF( QUERY( csa <* USEDIN( pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa) )) = 1) )) = 1; - WR3: (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( fcr <* csa.component_relationships | - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(fcr))) )) = 0)) )) = 1)) )) = 1); - WR4: SIZEOF (QUERY (pds <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pds)) AND - (SIZEOF (QUERY (csa <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE')| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF (csa)) )) = 1) )) = 1; - WR5: (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.THREAD' - IN TYPEOF(sar.related_shape_aspect)) )) = 0) - ) )) = 1)) )) = 1); - WR6: (SIZEOF (QUERY (pds <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pds)) AND (SIZEOF (QUERY (csa <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE')| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF (csa)) AND - (SIZEOF (QUERY (sar <* csa.component_relationships | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOUND_FEATURE' - IN TYPEOF (sar.related_shape_aspect)) AND - (sar.related_shape_aspect\characterized_object.name <> - SELF\characterized_object.name)) )) = 0) )) = 1) )) = 1); -END_ENTITY; -- compound_feature -(* USED FROM (aic_machining_feature); *) -ENTITY edge_round - SUBTYPE OF (transition_feature); -WHERE - WR1: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0); - WR2: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND (SIZEOF (impl_rep.used_representation.items) <= 3)))) - = 0))) = 0); - WR3: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0); - WR4: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first offset'))) <= 1))) - = 0))) = 0); - WR5: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second offset'))) <= 1))) - = 0))) = 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'edge round face'))) <= 1))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'first face shape'))) <= 1))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'second face shape'))) <= 1))) = 0; -END_ENTITY; -- edge_round -(* USED FROM (aic_machining_feature); *) -ENTITY direction_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: (SIZEOF(SELF.items) = 1); - WR2: (SIZEOF(QUERY ( it <* SELF.items | - (NOT ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION' IN TYPEOF(it))) )) - = 0); -END_ENTITY; -- direction_shape_representation -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_with_box_characteristics - SUBTYPE OF (text_style); - characteristics : SET [1:4] OF box_characteristic_select; - WHERE - WR1: SIZEOF( QUERY( c1 <* SELF.characteristics | - SIZEOF( QUERY( c2 <* SELF.characteristics - c1 | - TYPEOF (c1) = TYPEOF (c2) - )) > 0 - )) = 0; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY circular_closed_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - NOT(SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' - IN TYPEOF(it)) - AND (it.name = 'orientation')) )) = 1) )) = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- circular_closed_profile -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_structure - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF kinematic_joint; -WHERE - WR1: SIZEOF (QUERY (item <* items | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE' in TYPEOF(item))) = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY composite_hole - SUBTYPE OF (compound_feature); - WHERE - WR1: (SELF\characterized_object.description IN ['counterbore', - 'countersunk']); - WR2: SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - ((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUND_HOLE' - IN TYPEOF(sar.related_shape_aspect))) - ))) = 2)) )) = 1)) )) = 1; - WR3: (NOT (SELF\characterized_object.description = 'countersunk')) OR - (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUND_HOLE' - IN TYPEOF(sar.related_shape_aspect)) AND - (NOT (SIZEOF(QUERY ( pds <* QUERY ( pd <* - USEDIN(sar.related_shape_aspect, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in diameter occurrence') AND - (SIZEOF(QUERY ( fcr2 <* QUERY ( sar2 <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar2.description = 'taper usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar2))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' IN TYPEOF(fcr2.related_shape_aspect)) - )) = 1)) )) = 0)) )) = 0))) )) = 1)) )) = 1)) )) = 1); -END_ENTITY; -- composite_hole -(* USED FROM (aic_machining_feature); *) -ENTITY closed_path_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); -END_ENTITY; -- closed_path_profile -(* USED FROM (aic_machining_feature); *) -ENTITY chamfer - SUBTYPE OF (transition_feature); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'chamfer face')) )) <= 1)) )) = 0); - WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHAMFER_OFFSET' - IN TYPEOF(fcr.related_shape_aspect))AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHAMFER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.related_shape_aspect.description = 'first offset') ) - )) = 1); - WR3: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHAMFER_OFFSET' - IN TYPEOF(fcr.related_shape_aspect)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHAMFER' - IN TYPEOF(fcr.relating_shape_aspect))AND - (fcr.related_shape_aspect.description = 'second offset')) - )) = 1); -END_ENTITY; -- chamfer -(* USED FROM (aic_machining_feature); *) -ENTITY circular_pattern - SUBTYPE OF (replicate_feature); - WHERE - WR1: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - ((('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.related_shape_aspect)) )) = 1)) )) <= 3)) )) = 0); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT ((SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF(impl_rep.used_representation.items) <= 5))) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) <= 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'base feature rotation')) )) - <= 1)) )) = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of features')) )) = 1)) )) = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'angular spacing'))))= 1)) )) - = 0)) )) = 0); - WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- circular_pattern -(* USED FROM (aic_machining_feature); *) -ENTITY chamfer_offset - SUBTYPE OF (shape_aspect); - WHERE - WR1: (SELF.description IN ['first offset','second offset']); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR4: ((NOT (SELF.description = 'first offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'offset amount')) )) = 1)) )) - = 0)) )) = 0)); - WR5: ((NOT (SELF.description = 'first offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'first face shape')) )) <= 1)) )) - = 0)); - WR6: ((NOT (SELF.description = 'second offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'offset amount')) OR - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'offset angle'))) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'second offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'second face shape')) )) <= 1)) )) - = 0)); - WR8: (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar)) ) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHAMFER' - IN TYPEOF(sdr.relating_shape_aspect))AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHAMFER_OFFSET' - IN TYPEOF(sdr.related_shape_aspect))) - )) = 1); -END_ENTITY; -- chamfer_offset -(* USED FROM (aic_machining_feature); *) -ENTITY applied_area - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(SELF.of_shape)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | - (NOT({2 <= SIZEOF(impl_rep.used_representation.items) <= 3} ) - ) )) = 0)) )) = 0); - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - NOT (srwp_i.name IN ['orientation','effective length', - 'maximum length']) )) > 0 ) )) = 0 ) )) = 0; - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'effective length')) )) = 1)) )) - = 0)) )) <= 1); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'maximum length')) )) <= 1)) )) - = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- applied_area -(* USED FROM (aic_machining_feature); *) -ENTITY boss_top - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['planar','complex']); - WR3: ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR4: ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOCATION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR5: (NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation) )) = 1)) )) = 0); - WR6: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + - 'RELATING_SHAPE_ASPECT') | - ((sar.description = 'boss top usage') AND - (sar.name IN ['boss height start','boss height end']))AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) | - ((fcr.related_shape_aspect.description = 'top condition occurrence') - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS_TOP' - IN TYPEOF(fcr.relating_shape_aspect)) ) - )) >= 1); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) <= 1)) )) = 0); - WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'top radius'))) <= 1))) - = 0))) = 0; -END_ENTITY; -- boss_top -(* USED FROM (aic_machining_feature); *) -ENTITY boss - SUBTYPE OF (feature_definition); - WHERE - WR1: SELF\characterized_object.description IN - ['circular', 'complex', 'rectangular']; - WR2: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'boss height occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'path feature component usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF (sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear') AND - (sdr.name = 'boss height'))) = 1))) = 1))) = 0; - WR3: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ({1 <= SIZEOF(pdr.used_representation.items) <= 2} ) )) = 1 )) = 1; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'fillet radius'))) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'fillet radius'))) <= 1))) - = 0))) = 0; - WR6: (NOT (SELF\characterized_object.description = 'circular')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'circular profile occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE' - IN TYPEOF (sdr.relating_shape_aspect))) = 1))) = 1))) = 0); - WR7: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'top condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'boss top usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS_TOP' - IN TYPEOF(fcr.relating_shape_aspect)) ) )) = 1)) )) = 1)) )) = 0; - WR8: (NOT (SELF\characterized_object.description = 'circular')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'change in diameter occurrence') AND - (SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'taper usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' IN TYPEOF (fcr.related_shape_aspect)) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS' IN TYPEOF (fcr.relating_shape_aspect))) - ) )= 1))) <= 1))) = 0); - WR9: (NOT (SELF\characterized_object.description = 'complex')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'enclosed boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1)) = 1)))= 1))) = 0); - WR10: (NOT (SELF\characterized_object.description - IN ['complex','rectangular'])) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'change in boundary occurrence') AND - (SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'taper usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAPER' IN TYPEOF (fcr.related_shape_aspect)) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS' IN TYPEOF (fcr.relating_shape_aspect)) - AND - (fcr.related_shape_aspect.description IN - ['angle taper','directed taper'])) - )) = 1))) <= 1))) = 0); - WR11: (NOT (SELF\characterized_object.description = 'rectangular')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'rectangular profile occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE' - IN TYPEOF (sdr.relating_shape_aspect))) = 1))) = 1))) = 0); - - WR12: SIZEOF (QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- Boss -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY perpendicular_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF linear_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:2] OF linear_geometry_constraint_element; -WHERE - WR1: NOT ((SIZEOF(SELF\explicit_constraint.reference_elements) = 2) AND - NOT ((SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE' IN TYPEOF(q))) = - SIZEOF(SELF\explicit_constraint.reference_elements + - SELF\explicit_constraint.constrained_elements)) XOR - (SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(q))) = - SIZEOF(SELF\explicit_constraint.reference_elements + - SELF\explicit_constraint.constrained_elements)))); - WR2: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (SIZEOF(SELF\explicit_constraint.constrained_elements) IN [2,3]); - WR3: NOT ((SIZEOF(SELF\explicit_constraint.reference_elements) = 0) AND - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 3)) AND NOT - ((SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE' IN TYPEOF(q))) = 3) XOR - (SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(q))) = 3)); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY coaxial_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF axial_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF axial_geometry_constraint_element; -WHERE - WR1: SIZEOF(QUERY(q <* SELF\explicit_constraint.reference_elements | - SIZEOF(TYPEOF(q) * ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SPHERICAL_SURFACE','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SPHERE']) - > 0)) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY incidence_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF geometric_constraint_element; - SELF\explicit_constraint.reference_elements : - SET [0:?] OF geometric_constraint_element; - near_points : SET[0:?] OF near_point_relationship; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) - OR (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: SIZEOF(near_points) <= - SIZEOF(SELF\explicit_constraint.reference_elements); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY free_form_relation - SUBTYPE OF (free_form_constraint); -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF - (SELF\free_form_constraint.constraining_expression); - WR2: SIZEOF(QUERY(q <* (SELF\free_form_constraint.constrained_elements + - SELF\free_form_constraint.reference_elements) | - NOT (q IN used_variables - (SELF\free_form_constraint.constraining_expression)))) = 0; -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY free_form_assignment - SUBTYPE OF (free_form_constraint); -WHERE - WR1: SIZEOF(QUERY(q <* SELF\free_form_constraint.constrained_elements | - q IN used_variables - (SELF\free_form_constraint.constraining_expression))) = 0; - WR2: SIZEOF(QUERY(q <* SELF\free_form_constraint.reference_elements | - NOT (q IN used_variables( - SELF\free_form_constraint.constraining_expression)))) = 0; - WR3: SIZEOF(SELF\free_form_constraint.reference_elements) >= 1; - WR4: SIZEOF(QUERY(q <* SELF\free_form_constraint.constrained_elements | - NOT (compatible_spaces(values_space_of( - SELF\free_form_constraint.constraining_expression), - q\maths_variable.values_space)))) = 0; -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY externally_conditioned_data_quality_criterion - SUBTYPE OF(Data_quality_criterion,Data_quality_measurement_requirement); - WHERE - WR1 : SIZEOF(USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.'+ - 'CRITERION')) = 0; - WR2 : SIZEOF(QUERY(i1<*bag_to_set( USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ 'RELATED_REPRESENTATION_ITEM'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - WR3 : SIZEOF(QUERY(i1<*bag_to_set( USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ 'RELATING_REPRESENTATION_ITEM'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY externally_conditioned_data_quality_criteria_representation - SUBTYPE OF(Data_quality_criteria_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' IN TYPEOF(q))) > 0; - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY disallowed_assembly_relationship_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASSEMBLY_COMPONENT_USAGE']); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_map; - mapping_origin : representation_item; - mapped_representation : representation; - INVERSE - map_usage : SET[1:?] OF mapped_item FOR mapping_source; - WHERE - WR1: item_in_context(SELF.mapping_origin, - SELF.mapped_representation.context_of_items); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY direction - SUBTYPE OF (geometric_representation_item); - direction_ratios : LIST[2:3] OF REAL; -WHERE - WR1: SIZEOF(QUERY(tmp <* direction_ratios | tmp <> 0.0)) > 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY geometric_representation_item - SUPERTYPE OF ( ( ONEOF ( - POINT, - DIRECTION, - VECTOR, - PLACEMENT, - CARTESIAN_TRANSFORMATION_OPERATOR, - CURVE, - SURFACE, - EDGE_CURVE, - FACE_SURFACE, - POLY_LOOP, - VERTEX_POINT, - SOLID_MODEL, - BOOLEAN_RESULT, - SPHERE, - RIGHT_CIRCULAR_CONE, - RIGHT_CIRCULAR_CYLINDER, - TORUS, - BLOCK, - PRIMITIVE_2D, - RIGHT_ANGULAR_WEDGE, - VOLUME, - HALF_SPACE_SOLID, - SHELL_BASED_SURFACE_MODEL, - FACE_BASED_SURFACE_MODEL, - SHELL_BASED_WIREFRAME_MODEL, - EDGE_BASED_WIREFRAME_MODEL, - GEOMETRIC_SET, - TESSELLATED_ITEM) )ANDOR( (ONEOF ( - CAMERA_MODEL, - CAMERA_MODEL_D3_MULTI_CLIPPING_INTERSECTION, - CAMERA_MODEL_D3_MULTI_CLIPPING_UNION, - CURVE, - DIRECTION, - LIGHT_SOURCE)) )ANDOR( (ONEOF ( - ANNOTATION_FILL_AREA, - COMPOSITE_TEXT, - CURVE, - DEFINED_CHARACTER_GLYPH, - DEFINED_SYMBOL, - POINT, - SYMBOL_TARGET, - TEXT_LITERAL)) )ANDOR( ONEOF ( - KINEMATIC_PATH, - PLACEMENT) )ANDOR( (ONEOF ( - CURVE, - EXTERNALLY_DEFINED_HATCH_STYLE, - EXTERNALLY_DEFINED_TILE_STYLE, - FILL_AREA_STYLE_HATCHING, - FILL_AREA_STYLE_TILE_COLOURED_REGION, - FILL_AREA_STYLE_TILE_CURVE_WITH_STYLE, - FILL_AREA_STYLE_TILE_SYMBOL_WITH_STYLE, - FILL_AREA_STYLE_TILES, - ONE_DIRECTION_REPEAT_FACTOR, - POINT, - VECTOR)) )ANDOR( (ONEOF ( - CURVE, - PLANAR_EXTENT)) )ANDOR( ONEOF ( - ROTATION_ABOUT_DIRECTION, - SU_PARAMETERS) ) ) - SUBTYPE OF (representation_item); -DERIVE - dim : dimension_count := dimension_of(SELF); -WHERE - WR1: SIZEOF (QUERY (using_rep <* using_representations (SELF) | NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF (using_rep.context_of_items)))) = 0; -END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY material_property -SUBTYPE OF (property_definition); -UNIQUE - UR1 : SELF\property_definition.name, SELF\property_definition.definition; -WHERE - WR1 : ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTERIZED_OBJECT' IN - TYPEOF(SELF\property_definition.definition)) OR - (SIZEOF(bag_to_set(USEDIN(SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) - - QUERY(temp <* bag_to_set(USEDIN(SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'MATERIAL_PROPERTY_REPRESENTATION' IN - TYPEOF(temp)))) = 0); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY track_blended_solid - ABSTRACT SUPERTYPE OF ( - TRACK_BLENDED_SOLID_WITH_END_CONDITIONS) - SUBTYPE OF (edge_blended_solid); -WHERE - WR1: check_continuous_edges(SELF\edge_blended_solid.blended_edges); -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY multi_level_reference_designator - SUBTYPE OF (assembly_component_usage); - location : LIST[1:?] OF UNIQUE next_assembly_usage_occurrence; - DERIVE - SELF\product_definition_relationship.relating_product_definition : product_definition := location[1]\product_definition_relationship.relating_product_definition; -- root : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\product_definition_relationship.related_product_definition : product_definition_or_reference := location[HIINDEX(location)]\product_definition_relationship.related_product_definition; -- leaf : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - leaf : PRODUCT_DEFINITION_OR_REFERENCE := SELF\product_definition_relationship.related_product_definition; -- RELATED_PRODUCT_DEFINITION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - root : PRODUCT_DEFINITION := SELF\product_definition_relationship.relating_product_definition; -- RELATING_PRODUCT_DEFINITION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -WHERE - WR1: unambiguously_specified_multi_level_reference_designator(location); - WR2: SIZEOF(QUERY(cp <* location | NOT ( - EXISTS(cp\assembly_component_usage.reference_designator)))) = 0; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY specified_higher_usage_occurrence - SUBTYPE OF (assembly_component_usage); - upper_usage : assembly_component_usage; - next_usage : next_assembly_usage_occurrence; -UNIQUE - UR1: upper_usage, next_usage; -WHERE - WR1: SELF :<>: upper_usage; - WR2: SELF\product_definition_relationship.relating_product_definition - :=: upper_usage.relating_product_definition; - WR3: SELF\product_definition_relationship.related_product_definition - :=: next_usage.related_product_definition; - WR4: (upper_usage.related_product_definition :=: - next_usage.relating_product_definition) OR - (SIZEOF (QUERY (pdr <* USEDIN (upper_usage.related_product_definition, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATED_PRODUCT_DEFINITION') | - pdr.relating_product_definition :=: - next_usage.relating_product_definition)) = 1); - WR5: SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NEXT_ASSEMBLY_USAGE_OCCURRENCE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SPECIFIED_HIGHER_USAGE_OCCURRENCE'] - * TYPEOF(upper_usage)) = 1; -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY mapped_item - SUBTYPE OF (representation_item); - mapping_source : representation_map; - mapping_target : representation_item; - WHERE - WR1: acyclic_mapped_representation(SELF); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY styled_item - SUBTYPE OF (representation_item); - styles : SET [1:?] OF presentation_style_assignment; - item : styled_item_target; - WHERE - WR1: (SIZEOF(SELF.styles) = 1) - XOR - (SIZEOF(QUERY(pres_style <* SELF.styles | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_STYLE_BY_CONTEXT' IN - TYPEOF(pres_style)) - )) = 0); - WR2: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' IN TYPEOF(item)); - WR3: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF(item)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONTEXT_DEPENDENT_OVER_RIDING_STYLED_ITEM' IN TYPEOF(SELF)); - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY surfaced_open_shell - SUBTYPE OF (open_shell); -WHERE - WR1: SIZEOF(QUERY(q <* SELF\connected_face_set.cfs_faces | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF(q)))) = 0; -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_result_representation - SUBTYPE OF(data_quality_inspection_result_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' IN TYPEOF(q))) > 0; - WR2 : 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN - TYPEOF(SELF\representation.context_of_items); - WR3 : SIZEOF(USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.'+ - 'REP_2'))>0; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY extended_tuple_space - SUBTYPE OF (maths_space, generic_literal); - base : product_space; - extender : maths_space; -WHERE - WR1: expression_is_constant(base) AND - expression_is_constant(extender); - WR2: no_cyclic_space_reference(SELF, []); - WR3: extender <> the_empty_space; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY quantifier_expression - ABSTRACT SUPERTYPE - SUBTYPE OF (multiple_arity_generic_expression); - variables : LIST [1:?] OF UNIQUE generic_variable; -WHERE - WR1: SIZEOF (QUERY (vrbl <* variables | NOT (vrbl IN - SELF\multiple_arity_generic_expression.operands))) = 0; - WR2: SIZEOF (QUERY (vrbl <* variables | NOT ((schema_prefix + - 'BOUND_VARIABLE_SEMANTICS') IN TYPEOF (vrbl.interpretation.semantics)))) = 0; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY function_space - SUBTYPE OF (maths_space, generic_literal); - domain_constraint : space_constraint_type; - domain_argument : maths_space; - range_constraint : space_constraint_type; - range_argument : maths_space; -WHERE - WR1: expression_is_constant(domain_argument) AND - expression_is_constant(range_argument); - WR2: (domain_argument <> the_empty_space) AND - (range_argument <> the_empty_space); - WR3: (domain_constraint <> sc_member) OR NOT - member_of(the_empty_space,domain_argument); - WR4: (range_constraint <> sc_member) OR NOT - member_of(the_empty_space,range_argument); - WR5: NOT (any_space_satisfies(domain_constraint,domain_argument) AND - any_space_satisfies(range_constraint,range_argument)); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY function_application - SUBTYPE OF (multiple_arity_generic_expression); - func : maths_function_select; - arguments : LIST [1:?] OF maths_expression; -DERIVE - SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF generic_expression - := [convert_to_maths_function(func)] + convert_to_operands(arguments); -WHERE - WR1: function_applicability(func, arguments); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_incomplete_rectangular_pattern - SUBTYPE OF (solid_with_rectangular_pattern); - omitted_instances : SET[1:?] OF LIST [2:2] OF positive_integer; -WHERE - WR1: NOT([1,1] IN omitted_instances); - WR2: SIZEOF(omitted_instances) < - ((SELF\solid_with_rectangular_pattern.row_count * - SELF\solid_with_rectangular_pattern.column_count) - 1); - WR3: SIZEOF(QUERY(q <* omitted_instances | - ((q[1] > SELF\solid_with_rectangular_pattern.row_count) OR - (q[2] > SELF\solid_with_rectangular_pattern.column_count)))) = 0; -END_ENTITY; -(* USED FROM (procedural_model_schema); *) -ENTITY explicit_procedural_representation_relationship - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 : procedural_representation; -WHERE - WR1 : (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCEDURAL_REPRESENTATION' - IN TYPEOF(SELF\representation_relationship.rep_2))) AND - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VARIATIONAL_REPRESENTATION' - IN TYPEOF(SELF\representation_relationship.rep_2))); - WR2 : SELF\representation_relationship.rep_1.context_of_items :=: - SELF\representation_relationship.rep_2.context_of_items; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY constant_function - SUBTYPE OF (maths_function, generic_literal); - sole_output : maths_value; - source_of_domain : maths_space_or_function; -WHERE - WR1: no_cyclic_domain_reference(source_of_domain, [SELF]); - WR2: expression_is_constant(domain_from(source_of_domain)); -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY explicit_procedural_geometric_representation_item_relationship - SUBTYPE OF (explicit_procedural_representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : - procedural_shape_representation_sequence; - SELF\representation_item_relationship.related_representation_item : - geometric_representation_item; -WHERE - WR1 : NOT ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION_SEQUENCE' - IN TYPEOF( - SELF\representation_item_relationship.related_representation_item)); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY parallel_composed_function - SUBTYPE OF (maths_function, multiple_arity_generic_expression); - source_of_domain : maths_space_or_function; - prep_functions : LIST [1:?] OF maths_function; - final_function : maths_function_select; -DERIVE - SELF\multiple_arity_generic_expression.operands : LIST [2:?] of generic_expression - := convert_to_operands_prcmfn(source_of_domain, prep_functions, final_function); -WHERE - WR1: no_cyclic_domain_reference(source_of_domain, [SELF]); - WR2: expression_is_constant(domain_from(source_of_domain)); - WR3: parallel_composed_function_domain_check(domain_from(source_of_domain), - prep_functions); - WR4: parallel_composed_function_composability_check(prep_functions, final_function); -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY qualified_representation_item - SUBTYPE OF (representation_item); - qualifiers : SET [1:?] OF value_qualifier; -WHERE - WR1: SIZEOF(QUERY(temp <* qualifiers | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRECISION_QUALIFIER' - IN TYPEOF(temp))) < 2; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY measure_qualification; - name : label; - description : text; - qualified_measure : measure_with_unit; - qualifiers : SET [1:?] OF value_qualifier; -WHERE - WR1: SIZEOF(QUERY(temp <* qualifiers | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRECISION_QUALIFIER' - IN TYPEOF(temp))) < 2; - WR2: NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM' - IN TYPEOF(SELF\measure_qualification.qualified_measure)); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY repackaging_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - input_repack : repackage_options; - output_repack : repackage_options; - selected_output : nonnegative_integer; -WHERE - WR1: (input_repack <> ro_wrap_as_tuple) OR - ((space_dimension(operand.domain) = 1) AND - ((schema_prefix + 'TUPLE_SPACE') IN TYPEOF (factor1(operand.domain)))); - WR2: (output_repack <> ro_unwrap_tuple) OR - ((space_dimension(operand.range) = 1) AND - ((schema_prefix + 'TUPLE_SPACE') IN TYPEOF (factor1(operand.range)))); - WR3: selected_output <= space_dimension( repackage( - operand.range, output_repack)); -END_ENTITY; -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - ENTITY mechanical_design_geometric_presentation_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF mechanical_design_geometric_presentation_representation_items; - WHERE - WR1: SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it))) | NOT (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION'] - * TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) - = 1))) = 0; - WR2: SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it))) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF(si\styled_item.item))) | NOT ( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item. - item\mapped_item.mapping_source.mapped_representation))) )) = 0; - WR3: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(pss <* psa.styles | NOT (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_STYLE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE'] - * TYPEOF(pss)) = 1))) = 0))) = 0))) = 0; - WR4: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | - NOT (SIZEOF(QUERY(psbc <* QUERY(psa <* si\styled_item.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF(psa)) | NOT (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION'] - * TYPEOF(psbc\presentation_style_by_context.style_context)) - = 1))) = 0))) = 0; - WR5: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ps <* QUERY(pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_STYLE' - IN TYPEOF(pss)) | NOT - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ps\point_style.marker_size)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(ps\point_style.marker_colour)) - = 1)))) = 0))) = 0))) = 0; - WR6: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(cs <* QUERY(pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF(pss)) | NOT((SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(cs\curve_style.curve_colour)) = 1) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (cs\curve_style.curve_width)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_FONT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0; - WR7: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_SIDE_STYLE' IN TYPEOF - (ssu\surface_style_usage.style)))) = 0))) = 0))) = 0; - WR8: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - NOT (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_PARAMETER_LINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_CONTROL_GRID', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_SILHOUETTE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_SEGMENTATION_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_FILL_AREA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_BOUNDARY'] - * TYPEOF(sses)) = 1))) = 0))) = 0))) = 0))) = 0; - WR9: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sspl <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF(sses)) | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_colour)) = 1) - AND ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_width)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_FONT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR10: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sscg <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF(sses)) | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_colour)) = 1) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_width)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_FONT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR11: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | - NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssh <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF(sses)) | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_colour)) = 1) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssh\surface_style_silhouette.style_of_silhouette\curve_style. - curve_width)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_FONT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR12: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssc <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF(sses)) | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF - (sssc\surface_style_segmentation_curve.style_of_segmentation_curve)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_colour)) = 1) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_width)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_FONT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR13: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(ssbd <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SURFACE_STYLE_BOUNDARY' IN TYPEOF(sses)) | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' - IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COLOUR_RGB', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_colour)) = 1) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_width)) - AND (SIZEOF( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE_FONT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_font)) = 1)))) = 0))) - = 0))) = 0))) = 0; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY reindexed_array_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - starting_indices : LIST [1:?] OF INTEGER; -WHERE - WR1: function_is_array(SELF\unary_generic_expression.operand); - WR2: SIZEOF(starting_indices) = SIZEOF(shape_of_array( - SELF\unary_generic_expression.operand)); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY series_composed_function - SUBTYPE OF (maths_function, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : LIST [2:?] of maths_function; -WHERE - WR1: composable_sequence(SELF\multiple_arity_generic_expression.operands); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY homogeneous_linear_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - sum_index : one_or_two; -DERIVE - mat : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_2d_table(mat); - WR2: (space_dimension(mat.range) = 1) AND - subspace_of_es(factor1(mat.range),es_numbers); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY partial_derivative_expression - SUBTYPE OF (unary_generic_expression); - d_variables : LIST [1:?] OF maths_variable; - extension : extension_options; -DERIVE - derivand : generic_expression := SELF\unary_generic_expression.operand; -WHERE - WR1: has_values_space (derivand); - WR2: space_is_continuum (values_space_of (derivand)); - WR3: SIZEOF (QUERY (vbl <* d_variables | (NOT subspace_of (values_space_of (vbl), - the_reals)) AND (NOT subspace_of (values_space_of (vbl), the_complex_numbers)) - )) = 0; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY polar_complex_number_region - SUBTYPE OF (maths_space, generic_literal); - centre : complex_number_literal; - distance_constraint : real_interval; - direction_constraint : finite_real_interval; -WHERE - WR1: min_exists(distance_constraint) AND (real_min(distance_constraint) >= 0.0); - WR2: {-PI <= direction_constraint.min < PI}; - WR3: direction_constraint.max - direction_constraint.min <= 2.0*PI; - WR4: (direction_constraint.max - direction_constraint.min < 2.0*PI) OR - (direction_constraint.min_closure = open); - WR5: (direction_constraint.max - direction_constraint.min < 2.0*PI) OR - (direction_constraint.max_closure = open) OR - (direction_constraint.min = -PI); - WR6: (real_min(distance_constraint) > 0.0) OR max_exists(distance_constraint) OR - (direction_constraint.max - direction_constraint.min < 2.0*PI) OR - (direction_constraint.max_closure = open); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY value_representation_item - SUBTYPE OF (representation_item); - value_component : measure_value; - WHERE - WR1: SIZEOF (QUERY (rep <* using_representations (SELF) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' - IN TYPEOF (rep.context_of_items) - ))) = 0; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_result_representation - SUBTYPE OF(representation); - criteria_inspected : data_quality_criteria_representation; - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DATA_QUALITY_INSPECTION_RESULT' IN TYPEOF(q))) > 0; - WR2 : SIZEOF(inspected_product_definition(SELF)) > 0; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY definite_integral_expression - SUBTYPE OF (quantifier_expression); - lower_limit_neg_infinity : BOOLEAN; - upper_limit_pos_infinity : BOOLEAN; -DERIVE - integrand : generic_expression - := SELF\multiple_arity_generic_expression.operands[1]; - variable_of_integration : maths_variable - := SELF\multiple_arity_generic_expression.operands[2]; - SELF\quantifier_expression.variables : LIST [1:1] OF UNIQUE generic_variable - := [variable_of_integration]; -WHERE - WR1: has_values_space (integrand); - WR2: space_is_continuum (values_space_of (integrand)); - WR3: definite_integral_expr_check (SELF\multiple_arity_generic_expression.operands, - lower_limit_neg_infinity, upper_limit_pos_infinity); -END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_instance_report - SUBTYPE OF(data_quality_inspection_report); - inspected_instances : LIST [1:?] OF data_quality_inspection_instance_report_item; - WHERE - WR1 : SIZEOF(QUERY(i1<*bag_to_set(USEDIN( - SELF\data_quality_inspection_report. - inspection_result.criterion_inspected, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_REPORT_REQUEST.CRITERION_OF_REPORT_REQUEST'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DETAILED_REPORT_REQUEST' - IN TYPEOF(i1)))>0; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY b_spline_basis - SUBTYPE OF (maths_function, generic_literal); - degree : nonnegative_integer; - repeated_knots : LIST [2:?] OF REAL; -DERIVE - order : positive_integer := degree + 1; - num_basis : positive_integer := SIZEOF (repeated_knots) - order; -WHERE - WR1: num_basis >= order; - WR2: nondecreasing(repeated_knots); - WR3: repeated_knots[order] < repeated_knots[num_basis+1]; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY b_spline_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - basis : LIST [1:?] OF b_spline_basis; -DERIVE - coef : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_table(coef); - WR2: (space_dimension(coef.range) = 1) AND - (number_superspace_of(factor1(coef.range)) = the_reals); - WR3: SIZEOF (basis) <= - SIZEOF (shape_of_array(coef)); - WR4: compare_basis_and_coef(basis, coef); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY rationalize_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; -DERIVE - fun : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: (space_dimension(fun.domain) = 1) AND (space_dimension(fun.range) = 1); - WR2: number_tuple_subspace_check(factor1(fun.range)); - WR3: space_dimension(factor1(fun.range)) > 1; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY partial_derivative_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - d_variables : LIST [1:?] OF input_selector; - extension : extension_options; -DERIVE - derivand : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: space_is_continuum (derivand.range); - WR2: partial_derivative_check (derivand.domain, d_variables); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY definite_integral_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - variable_of_integration : input_selector; - lower_limit_neg_infinity : BOOLEAN; - upper_limit_pos_infinity : BOOLEAN; -DERIVE - integrand : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: space_is_continuum (integrand.range); - WR2: definite_integral_check (integrand.domain, variable_of_integration, - lower_limit_neg_infinity, upper_limit_pos_infinity); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY abstracted_expression_function - SUBTYPE OF (maths_function, quantifier_expression); -DERIVE - SELF\quantifier_expression.variables : LIST [1:?] OF UNIQUE generic_variable := - remove_first(SELF\multiple_arity_generic_expression.operands); - expr : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; -WHERE - WR1: SIZEOF (QUERY ( operand <* - SELF\multiple_arity_generic_expression.operands | NOT ( - has_values_space( operand)))) = 0; -END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_criterion_report_item - SUBTYPE OF(representation_item); - statistical_value : INTEGER; - value_type : statistical_value_type; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS')) - |'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_criterion_report - SUBTYPE OF(data_quality_inspection_report); - statistical_values : SET [1:2] OF data_quality_inspection_criterion_report_item; - WHERE - WR1 : SIZEOF(QUERY(i1<*bag_to_set(USEDIN( - SELF\data_quality_inspection_report. - inspection_result.criterion_inspected, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_REPORT_REQUEST.CRITERION_OF_REPORT_REQUEST'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SUMMARY_REPORT_REQUEST' - IN TYPEOF(i1)))>0; - WR2 : (SIZEOF(SELF.statistical_values) = 1 ) OR - (SELF.statistical_values[1].value_type <> - SELF.statistical_values[2].value_type); - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_report - SUPERTYPE OF (ONEOF ( - DATA_QUALITY_INSPECTION_CRITERION_REPORT, - DATA_QUALITY_INSPECTION_INSTANCE_REPORT)) - SUBTYPE OF(representation_item); - inspection_result : data_quality_inspection_result; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS')) - |'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_result - SUBTYPE OF(representation_item); - criterion_inspected : data_quality_criterion; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS')) - |'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - ENTITY mechanical_design_geometric_presentation_area - SUBTYPE OF (presentation_area); - SELF\representation.items : SET[1:?] OF mechanical_design_geometric_presentation_area_items; - WHERE - WR1: -- only presentation_views or axis2_placements in - -- mechanical_design_geometric_presentation_area - SIZEOF(QUERY(it1 <* SELF.items | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it1)) - OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it1\mapped_item.mapping_source.mapped_representation)))) = 0; - WR2: -- only mechanical_design_geometric_presentation_representation - -- via camera_image_3d_with_scale or axis2_placements in - -- presentation_views - SIZEOF(QUERY(pv <* QUERY(mi1 <* QUERY(it1 <* SELF.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it1)) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (mi1\mapped_item.mapping_source.mapped_representation)) | - -- search in all presentation_views for axis2_placements and - -- mapped_items and for the subtype of mapped_item - -- camera_image_3d_with_scale; the latter shall reference - -- a mechanical_design_geometric_presentation_representation; - -- the supertype mapped_item shall reference presentation_view. - NOT (SIZEOF(QUERY(it2 <* pv\mapped_item.mapping_source. - mapped_representation\representation.items | - NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT' - IN TYPEOF(it2)) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it2)) AND NOT - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it2\mapped_item.mapping_source.mapped_representation))) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2)) - AND NOT ( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' - IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) )) - ))) = 0))) = 0; - WR3: (SIZEOF(QUERY(ps <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ((ps\presentation_size.size.size_in_x <= 0) - OR - (ps\presentation_size.size.size_in_y <= 0)))) = 0) - AND - (SIZEOF(QUERY(ais <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AREA_IN_SET.AREA') | - (SIZEOF(QUERY(ps <* USEDIN (ais, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ((ps\presentation_size.size.size_in_x <= 0) - OR - (ps\presentation_size.size.size_in_y <= 0)))) > 0))) = 0); - WR4: (SIZEOF(QUERY(ps <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1) - AND - (SIZEOF(QUERY(ps <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0) - OR - ((SIZEOF(QUERY(ais <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AREA_IN_SET.AREA') | - (SIZEOF(QUERY(ps <* USEDIN (ais, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1))) = 1) - AND - (SIZEOF(QUERY(ais <* USEDIN (SELF, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AREA_IN_SET.AREA') | - (SIZEOF(QUERY(ps <* USEDIN (ais, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0))) = 1)); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_item - SUPERTYPE OF ( ( ONEOF ( - BINARY_REPRESENTATION_ITEM, - COMPOUND_REPRESENTATION_ITEM, - MAPPED_ITEM, - VALUE_REPRESENTATION_ITEM) )ANDOR( ONEOF ( - MAPPED_ITEM, - STYLED_ITEM) )ANDOR( (ONEOF ( - BOOLEAN_REPRESENTATION_ITEM, - DATE_REPRESENTATION_ITEM, - DATE_TIME_REPRESENTATION_ITEM, - INTEGER_REPRESENTATION_ITEM, - LOGICAL_REPRESENTATION_ITEM, - RATIONAL_REPRESENTATION_ITEM, - REAL_REPRESENTATION_ITEM)) ) ) ; - name : label; - WHERE - WR1: SIZEOF(using_representations(SELF)) > 0; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY listed_data - SUBTYPE OF (explicit_table_function, generic_literal); - values : LIST [1:?] OF maths_value; - value_range : maths_space; -DERIVE - SELF\explicit_table_function.shape : LIST [1:?] OF positive_integer := - [SIZEOF (values)]; -WHERE - WR1: expression_is_constant(value_range); - WR2: SIZEOF (QUERY (val <* values | NOT (member_of( val, value_range)))) = 0; -END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criteria_representation - SUBTYPE OF(representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'DATA_QUALITY_CRITERION' IN TYPEOF(q))) > 0; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -(* Pruned SUPERTYPE *) -ENTITY linearized_table_function - - SUBTYPE OF (explicit_table_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - first : integer; -DERIVE - source : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_1d_array(source); - WR2: member_of(first, source\maths_function.domain); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY basic_sparse_matrix - SUBTYPE OF (explicit_table_function, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : LIST [3:3] OF maths_function; - default_entry : maths_value; - order : ordering_type; -DERIVE - index : maths_function := SELF\multiple_arity_generic_expression.operands[1]; - loc : maths_function := SELF\multiple_arity_generic_expression.operands[2]; - val : maths_function := SELF\multiple_arity_generic_expression.operands[3]; -WHERE - WR1: function_is_1d_table(index); - WR2: function_is_1d_table(loc); - WR3: function_is_1d_table(val); - WR4: check_sparse_index_domain(index.domain, index_base, shape, order); - WR5: check_sparse_index_to_loc(index.range, loc.domain); - WR6: loc.domain = val.domain; - WR7: check_sparse_loc_range(loc.range, index_base, shape, order); - WR8: member_of(default_entry, val.range); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY uncertainty_measure_with_unit - SUBTYPE OF (measure_with_unit); - name : label; - description : OPTIONAL text; - WHERE - WR1: valid_measure_value (SELF\measure_with_unit.value_component); - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_datum_reference - SUPERTYPE OF (ONEOF ( - ANGULARITY_TOLERANCE, - CIRCULAR_RUNOUT_TOLERANCE, - COAXIALITY_TOLERANCE, - CONCENTRICITY_TOLERANCE, - PARALLELISM_TOLERANCE, - PERPENDICULARITY_TOLERANCE, - SYMMETRY_TOLERANCE, - TOTAL_RUNOUT_TOLERANCE)) - SUBTYPE OF (geometric_tolerance); - datum_system : SET[1:?] OF datum_system_or_reference; -WHERE - WR1: (SIZEOF(QUERY(ds <* datum_system | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DATUM_SYSTEM' in TYPEOF(ds)))=0) OR (SIZEOF(datum_system)=1); -END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY assembly_joint - SUBTYPE OF (component_feature_joint); -WHERE - WR1: acyclic_shape_aspect_relationship(SELF, - [SELF\shape_aspect_relationship.related_shape_aspect], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'ASSEMBLY_JOINT'); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum - SUBTYPE OF (shape_aspect); - identification : identifier; -INVERSE - established_by_relationships : SET[1:?] OF shape_aspect_relationship FOR related_shape_aspect; -UNIQUE - UR1: identification,SELF\shape_aspect.of_shape; -WHERE - WR1: ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMMON_DATUM' IN TYPEOF(SELF)) - XOR ((SIZEOF(QUERY(x <* SELF\datum.established_by_relationships | - SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM_FEATURE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM_TARGET'] * - TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)) = 1)) >= 1)); - WR2: SIZEOF(QUERY(x <* SELF\datum.established_by_relationships | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DATUM_FEATURE' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) <= 1; - WR3: SELF\shape_aspect.product_definitional = FALSE; - WR4: SELF\shape_aspect.name = ''; -END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY visual_appearance_representation - SUBTYPE OF (representation); - WHERE - WR1: ( {3<= SIZEOF ( SELF.items ) <=9} ) AND ( SIZEOF ( QUERY ( - i <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( - i.name IN [ 'colour id' , 'colour name' , 'lustre' , 'pattern' , 'transparency', 'orientation'] ) ) - ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) - AND ( i.name IN ['refraction index' , 'opacity'] ) ) - ) + SIZEOF ( QUERY ( i <* items | ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'DOCUMENT_FILE' IN TYPEOF ( i ) ) - AND ( i.name IN [ 'texture map' ] ) ) ) - = SIZEOF ( SELF.items ) ); - WR2: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour id' )) =1; - WR3: SIZEOF ( QUERY ( i <* SELF.items | i.name ='lustre' ) )=1; - WR4: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour name') ) <=1; - WR5: SIZEOF ( QUERY ( i <* SELF.items | i.name ='pattern' ) )<=1; - WR6: SIZEOF ( QUERY ( i <* SELF.items | i.name ='transparency') ) <=1; - WR7: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'texture map') ) <=1; - WR8: SIZEOF ( QUERY ( i <* SELF.items | i.name ='refraction index' ) )<=1; - WR9: SIZEOF ( QUERY ( i <* SELF.items | i.name ='opacity') ) <=1; - WR10: SIZEOF ( QUERY ( i <* SELF.items | i.name ='orientation') ) <=1; - WR11: ( SIZEOF ( USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )) =1 ) ; - END_ENTITY; - -(* Implicit interfaced from: procedural_model_schema *) -ENTITY procedural_representation - SUBTYPE OF (representation); - SELF\representation.items : - SET[1:?] OF procedural_representation_sequence; -END_ENTITY; - -(* Implicit interfaced from: procedural_model_schema *) -ENTITY procedural_representation_sequence - SUBTYPE OF (representation_item); - elements : LIST[1:?] OF representation_item; - suppressed_items : SET[0:?] OF representation_item; - rationale : text; -WHERE - WR1: SIZEOF(QUERY(q <* suppressed_items | NOT (q IN elements))) = 0; -END_ENTITY; -(* REFERENCE FROM (procedural_model_schema); *) -ENTITY explicit_procedural_representation_item_relationship - SUBTYPE OF (representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : - procedural_representation_sequence; -WHERE - WR1 : NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCEDURAL_REPRESENTATION_SEQUENCE' - IN TYPEOF( - SELF\representation_item_relationship.related_representation_item)); - WR2 : SIZEOF(QUERY(q <* using_representations( - SELF\representation_item_relationship.related_representation_item) | - item_in_context( - SELF\representation_item_relationship.relating_representation_item, - q.context_of_items))) > 0; -END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY tactile_appearance_representation - SUBTYPE OF (representation); - WHERE - WR1: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) <>1 )) =0; - WR2: SIZEOF ( QUERY ( i <* SELF.items | name ='depth' ) ) <=1; - WR3: ( SIZEOF ( USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )) =1 ) ; - END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY surface_texture_representation - SUBTYPE OF (representation); - WHERE - WR1: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'VALUE_RANGE' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM']* TYPEOF ( i ) ) <>1 ) ) - =0; - WR2: ( SIZEOF ( QUERY ( i <* SELF.items | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) ) =1 ) - AND ( SIZEOF ( QUERY ( i <* SELF.items | ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN - TYPEOF ( i ) ) AND ( i.name = 'measuring method' ) ) ) =1 ); - WR3: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) ) - >0; - WR4: ( SIZEOF ( USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_1' ) ) <=1 ) AND ( SIZEOF ( USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_2' ) ) =0 ) AND ( SIZEOF ( QUERY ( rr <* USEDIN ( SELF - , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_1' ) | rr.rep_2.name = 'measuring direction' ) ) = - SIZEOF ( USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_1' ) ) ) ; - WR5: ( SIZEOF ( USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 ) - ) =1 ) ; - END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY hardness_representation - SUBTYPE OF (representation); - WHERE - WR1: ( {2<= SIZEOF ( SELF.items ) <=4} ) AND ( SIZEOF ( QUERY ( - i <* items | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( - i.name IN [ 'measuring method' , 'measuring position' ] ) ) - ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) - AND ( i.name IN ['depth' , 'hardness'] ) ) ) = SIZEOF ( - SELF.items ) ) ; - WR2: SIZEOF ( QUERY ( i <* SELF.items | i.name = - 'measuring method' ) ) =1; - WR3: SIZEOF ( QUERY ( i <* SELF.items | i.name ='hardness' ) ) - =1; - WR4: SIZEOF ( QUERY ( i <* SELF.items | i.name = - 'measuring position' ) ) <=1; - WR5: SIZEOF ( QUERY ( i <* SELF.items | i.name ='depth' ) ) - <=1; - WR6: ( SIZEOF ( USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 ) - ) =1 ) ; - END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY contact_ratio_representation - SUBTYPE OF (representation); - WHERE - WR1: (SIZEOF ( SELF.items ) =1 ) AND - (SIZEOF ( QUERY ( i <* SELF.items | - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'VALUE_RANGE']* TYPEOF(i)) = 1) AND - (i.name = 'ratio value'))) = 1); - WR2: (SIZEOF ( QUERY ( pdr <* USEDIN ( SELF ,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | - pdr\property_definition_representation.name = 'contact ratio reference' ) ) = 1 ) AND - (SIZEOF ( QUERY (pdr <* USEDIN ( SELF ,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | - (pdr\property_definition_representation.name = 'contact ratio reference' ) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'PRODUCT_DEFINITION' IN TYPEOF ( pdr\property_definition_representation.definition\property_definition.definition)) - )) = 1); - WR3:(SIZEOF(USEDIN(SELF ,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION')) = 1) AND - (SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (pdr.definition , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF (gpa\general_property_association.base_definition ) ) AND - (gpa\general_property_association.base_definition\general_property.name ='surface_condition') - )) = 1 - )) = 1); - END_ENTITY; -(* USED FROM (Shape_feature_mim); *) -ENTITY general_feature - SUBTYPE OF (shape_feature_definition); -WHERE - WR1: (SIZEOF(get_property_definition_representations(SELF)) <= 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation) - )) <= 1); - WR2: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - sa.description = 'course of travel occurrence')) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'course of travel occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'course of travel') - )) = 1 ))); - WR3: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - sa.description = 'course of travel occurrence')) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'course of travel occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ))); - WR4: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - sa.description = 'boundary occurrence')) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'boundary occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') - )) = 1 ))); - WR5: (SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(sa)) - )) <= 1 ) AND - (SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(sa)) AND - (sa.name = 'general compound feature') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INSTANCED_FEATURE' IN - TYPEOF(sar.related_shape_aspect)) - )) >= 2 ) - )) <= 1 ); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY measure_with_unit - SUPERTYPE OF (ONEOF ( - LENGTH_MEASURE_WITH_UNIT, - MASS_MEASURE_WITH_UNIT, - TIME_MEASURE_WITH_UNIT, - ELECTRIC_CURRENT_MEASURE_WITH_UNIT, - THERMODYNAMIC_TEMPERATURE_MEASURE_WITH_UNIT, - CELSIUS_TEMPERATURE_MEASURE_WITH_UNIT, - AMOUNT_OF_SUBSTANCE_MEASURE_WITH_UNIT, - LUMINOUS_INTENSITY_MEASURE_WITH_UNIT, - PLANE_ANGLE_MEASURE_WITH_UNIT, - SOLID_ANGLE_MEASURE_WITH_UNIT, - AREA_MEASURE_WITH_UNIT, - VOLUME_MEASURE_WITH_UNIT, - RATIO_MEASURE_WITH_UNIT, - ACCELERATION_MEASURE_WITH_UNIT, - CAPACITANCE_MEASURE_WITH_UNIT, - ELECTRIC_CHARGE_MEASURE_WITH_UNIT, - CONDUCTANCE_MEASURE_WITH_UNIT, - ELECTRIC_POTENTIAL_MEASURE_WITH_UNIT, - ENERGY_MEASURE_WITH_UNIT, - MAGNETIC_FLUX_DENSITY_MEASURE_WITH_UNIT, - FORCE_MEASURE_WITH_UNIT, - FREQUENCY_MEASURE_WITH_UNIT, - ILLUMINANCE_MEASURE_WITH_UNIT, - INDUCTANCE_MEASURE_WITH_UNIT, - LUMINOUS_FLUX_MEASURE_WITH_UNIT, - MAGNETIC_FLUX_MEASURE_WITH_UNIT, - POWER_MEASURE_WITH_UNIT, - PRESSURE_MEASURE_WITH_UNIT, - RESISTANCE_MEASURE_WITH_UNIT, - VELOCITY_MEASURE_WITH_UNIT, - ABSORBED_DOSE_MEASURE_WITH_UNIT, - RADIOACTIVITY_MEASURE_WITH_UNIT, - DOSE_EQUIVALENT_MEASURE_WITH_UNIT)); - value_component : measure_value; - unit_component : unit; - WHERE - WR1: valid_units(SELF); - END_ENTITY; -(* USED FROM (Default_tolerance_mim); *) -ENTITY default_tolerance_table - SUBTYPE OF (representation); -WHERE - WR1: SIZEOF( QUERY( i <* SELF.items | NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF(i)) )) = 0; - WR2: (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | rr.name < 'general tolerance definition' )) = 0) AND (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | (rr.name = 'general tolerance definition') AND (rr.rep_2.name < 'default tolerance') )) = 0) AND (SIZEOF( USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) = 0); -END_ENTITY; -(* USED FROM (Compound_shape_representation_mim); *) - ENTITY compound_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'GEOMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF ( SELF.context_of_items ) ) AND ( - SELF.context_of_items\ - geometric_representation_context.coordinate_space_dimension =3 ) ; - WR2: SIZEOF ( QUERY ( cbsr_i <* SELF.items | SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'MAPPED_ITEM' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'AXIS2_PLACEMENT_3D']* TYPEOF ( cbsr_i ) ) <>1 ) ) =0; - WR3: SIZEOF ( QUERY ( cbsr_i <* SELF.items | SIZEOF ( - ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'MAPPED_ITEM']* TYPEOF ( cbsr_i ) ) =1 ) ) >0; - WR4: SIZEOF ( QUERY ( cbsr_i <* SELF.items | ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'MAPPED_ITEM' IN TYPEOF ( cbsr_i ) ) - AND ( SIZEOF ( ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'COMPOUND_SHAPE_REPRESENTATION' , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION']* TYPEOF ( - cbsr_i\ mapped_item.mapping_source ) ) <>1 ) ) ) =0; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY single_area_csg_2d_shape_representation - SUBTYPE OF (csg_2d_shape_representation); - SELF\representation.items : SET[1:?] OF csg_2d_area_select; - WHERE - WR1: SIZEOF (QUERY (it <* SELF.items| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it)) )) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items| - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SOLID_2D' - IN TYPEOF(it)) )) = 1; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY primitive_2d_with_inner_boundary - SUBTYPE OF (complex_area, compound_representation_item); - - (* removed : SELF\compound_representation_item.inner_boundary : COMPOUND_INNER_AREA_BOUNDARY *) - DERIVE - inner_boundary : COMPOUND_INNER_AREA_BOUNDARY := SELF\compound_representation_item.item_element; -- ITEM_ELEMENT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - WHERE - WR1: SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_AREA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPTIC_AREA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_AREA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYGONAL_AREA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_WITH_OUTER_BOUNDARY', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_AREA_WITH_PARAMETERS'] * TYPEOF(SELF)) > 0; - WR2: SIZEOF(QUERY(inner <* inner_boundary | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY' IN TYPEOF(inner))) = 0; - WR3: open_path_based_inner_boundary(inner_boundary); - END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY locator - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - NOT ({2 <= SIZEOF(pdr.used_representation.items) <= 5}) - )) = 0; - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='diameter') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='tip radius') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='tip angle') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; -END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY process_plan - SUBTYPE OF (action); -WHERE - WR1: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATED_ACTION') | - SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_PLAN', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.relating_action)) <> 1 - )) = 0; - - WR2: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION') | - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_PLAN', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.related_action)) = 1) OR - ((ar.name = 'process operation occurrence') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(ar.related_action.chosen_method))) - )) = - SIZEOF(USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION')); -END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY process_operation - SUBTYPE OF (action_method); -WHERE - WR1: SIZEOF( QUERY( amr <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACTION_METHOD_RELATIONSHIP.' + - 'RELATING_METHOD') | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(amr\action_method_relationship.related_method)) OR - (SELF :=: amr\action_method_relationship.related_method) - )) = 0; - WR2: SIZEOF( QUERY( amr <* USEDIN(SELF,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACTION_METHOD_RELATIONSHIP.' + - 'RELATED_METHOD') | - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(amr\action_method_relationship.relating_method)) OR - (SELF :=: amr\action_method_relationship.relating_method) - )) = 0; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY hole_in_panel - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'hole profile') AND - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = 1; - WR2: SIZEOF( get_property_definition_representations(SELF)) = - SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - SIZEOF( pdr.used_representation.items) = 1)); -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY joggle_termination - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF(SELF.of_shape.definition); - WR2: SELF.description IN ['value termination','face termination']; - WR3: (SELF.description = 'value termination') XOR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) - )) = 0); - WR4: (SELF.description <> 'value termination') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 2) - )) = 1); - WR5: (SELF.description <> 'value termination') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='depth') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1); - WR6: (SELF.description <> 'value termination') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='angle') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1); - WR7: SIZEOF( QUERY( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'joggle termination usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.JOGGLE' IN TYPEOF(sar.related_shape_aspect.of_shape.definition)) AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.name = 'termination') AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.description = 'joggle termination occurrence') - )) = 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY joggle - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - NOT({5 <= SIZEOF(pdr.used_representation.items) <= 10}) - )) = 0; - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT(i.name IN ['orientation','base radius 1','base radius 2','direction angle 1', - 'direction angle 2','height','slope angle 1','slope angle 2', - 'top radius 1','top radius 2']) - )) > 0) - )) = 0; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='direction angle 1') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='direction angle 2') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='height') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR6: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='slope angle 1') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR7: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='slope angle 2') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR8: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'defining path') AND - (sa.description = 'path feature component occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'path feature component usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sar.relating_shape_aspect)) AND - (sar.relating_shape_aspect.description = 'linear') - )) = 1 ) - )) = 1; - WR9: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'termination') AND - (sa.description = 'joggle termination occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'joggle termination usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.JOGGLE_TERMINATION' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; - WR10: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius 1') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR11: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius 2') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR12: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='top radius 1') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR13: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='top radius 2') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY bead_end - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF(SELF.of_shape.definition); - WR2: SELF.description IN ['linear','open','radiused']; - - WR3: (SELF.description <> 'linear') XOR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) - )) > 0); - WR4: (SELF.description <> 'linear') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 2) - )) = 1); - WR5: (SELF.description <> 'linear') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='end length') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1); - WR6: (SELF.description <> 'linear') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name = 'end shape') AND - (i\descriptive_representation_item.description IN ['straight','tapered']) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(i)) - )) = 1) - )) = 1); - WR7: SIZEOF( QUERY( sar <* USEDIN( SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'bead end usage') AND - (sar.description IN ['starting' -,'ending' -]) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BEAD' IN - TYPEOF(sar.related_shape_aspect.of_shape.definition)) AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.name = 'end condition') AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.description = 'bead end occurrence') - )) = 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY feature_in_panel - SUBTYPE OF (feature_definition); -WHERE - WR1: SELF.description IN ['pocket','boss','stairstep']; - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - NOT ({2 <= SIZEOF(pdr.used_representation.items) <= 3}) - )) = 0; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT( i.name IN ['orientation','base radius','target radius']) - )) > 0) - )) = 0; - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='target radius') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR6: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'base boundary') AND - (sa.description IN ['directed angle occurrence','closed profile occurrence']) - )) = 1; - WR7: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'target boundary') AND - (sa.description IN ['directed angle occurrence','closed profile occurrence']) - )) = 1; - WR8: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'directed angle occurrence') - )) <= 1; - WR9: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'directed angle occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'directed angle usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTED_ANGLE' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'directed angle occurrence'))); - WR10: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'closed profile occurrence'))); - WR11: (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN - TYPEOF(pdr.used_representation) - )) <= 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN - TYPEOF(pdr.used_representation)) AND - NOT(pdr.used_representation.name = 'target face') - )) = 0); - WR12: (SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'target boundary') AND - (sa.description = 'directed angle occurrence') - )) = 0) OR - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN - TYPEOF(pdr.used_representation)) - )) = 1); -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY directed_angle - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF(SELF.of_shape.definition); - WR2: SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) - )) = 1; - WR3: SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 1) - )) = 1; - WR4: SELF.description IN ['punch direction','profile normal','surface normal']; - WR5: SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='angle') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) - ENTITY externally_conditioned_data_quality_inspection_instance_report_item - SUBTYPE OF(data_quality_inspection_instance_report_item); - SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1:?] OF inspected_ecdq_element_select; - WHERE - WR1 : SIZEOF(QUERY(i1 <* - bag_to_set(USEDIN(SELF, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT.'+ 'INSPECTED_INSTANCES'))| - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(i1.inspection_result))))=0; - END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY bead - SUBTYPE OF (feature_definition); -WHERE - WR1: (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation) - )) <= 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) > 2) - )) = 0); - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT( i.name IN ['orientation','base radius']) - )) > 0) - )) = 0; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) > 1) - )) = 0; - WR4: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'sweep path') AND - (sa.description = 'path feature component occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'path feature component usage') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; - WR5: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'bead profile') AND - (sa.description = 'open profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_PATH_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_U_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VEE_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = 1; - WR6: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'end condition') AND - (sa.description = 'bead end occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'bead end usage') AND - (sar.description = 'starting' -) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BEAD_END' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; - WR7: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'end condition') AND - (sa.description = 'bead end occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'bead end usage') AND - (sar.description = 'ending' -) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BEAD_END' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY barring_hole - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'hole profile') AND - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NGON_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_PATH_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = 1; - WR2: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'barring profile') AND - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') - )) = 1 ) - )) = 1; - WR3: (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation) - )) = 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - {1 <= SIZEOF(pdr.used_representation.items) <= 2} - )) = 1); - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT( i.name IN ['orientation','base radius']) - )) > 0) - )) = 0; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) <> 1) - )) = 0; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_cregion_pregion(crgn : cartesian_complex_number_region; - prgn : polar_complex_number_region) : LOGICAL; - LOCAL - arng, amin, xc, yc : REAL; - aitv, xitv, yitv : real_interval; - c_in : BOOLEAN; - END_LOCAL; - IF NOT EXISTS (crgn) OR NOT EXISTS (prgn) THEN RETURN (FALSE); END_IF; - IF max_exists(prgn.distance_constraint) THEN RETURN (FALSE); END_IF; - IF real_min(prgn.distance_constraint) <> 0.0 THEN RETURN (FALSE); END_IF; - c_in := min_included(prgn.distance_constraint); - aitv := prgn.direction_constraint; - amin := aitv.min; - arng := aitv.max - amin; - xc := prgn.centre.real_part; - yc := prgn.centre.imag_part; - xitv := crgn.real_constraint; - yitv := crgn.imag_constraint; - IF arng = 0.5*PI THEN - IF amin = 0.0 THEN -- quadrant to upper right - RETURN (NOT max_exists(xitv) AND NOT max_exists(yitv) AND min_exists(xitv) - AND min_exists(yitv) AND (real_min(xitv) = xc) AND (real_min(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND NOT min_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND NOT min_included(yitv)))); - END_IF; - IF amin = 0.5*PI THEN -- quadrant to upper left - RETURN (max_exists(xitv) AND NOT max_exists(yitv) AND NOT min_exists(xitv) - AND min_exists(yitv) AND (real_max(xitv) = xc) AND (real_min(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND NOT min_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND NOT min_included(yitv)))); - END_IF; - IF amin = -PI THEN -- quadrant to lower left - RETURN (max_exists(xitv) AND max_exists(yitv) AND NOT min_exists(xitv) - AND NOT min_exists(yitv) AND (real_max(xitv) = xc) AND (real_max(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND NOT max_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND NOT max_included(yitv)))); - END_IF; - IF amin = -0.5*PI THEN -- quadrant to lower right - RETURN (NOT max_exists(xitv) AND max_exists(yitv) AND min_exists(xitv) - AND NOT min_exists(yitv) AND (real_min(xitv) = xc) AND (real_max(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND NOT max_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND NOT max_included(yitv)))); - END_IF; - END_IF; - IF arng = PI THEN - IF amin = 0.0 THEN -- upper half space - RETURN (NOT max_exists(xitv) AND NOT max_exists(yitv) AND NOT min_exists(xitv) - AND min_exists(yitv) AND (real_min(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(yitv)))); - END_IF; - IF amin = 0.5*PI THEN -- left half space - RETURN (max_exists(xitv) AND NOT max_exists(yitv) AND NOT min_exists(xitv) - AND NOT min_exists(yitv) AND (real_max(xitv) = xc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(xitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv)))); - END_IF; - IF amin = -PI THEN -- lower half space - RETURN (NOT max_exists(xitv) AND max_exists(yitv) AND NOT min_exists(xitv) - AND NOT min_exists(yitv) AND (real_max(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(yitv)))); - END_IF; - IF amin = -0.5*PI THEN -- right half space - RETURN (NOT max_exists(xitv) AND NOT max_exists(yitv) AND min_exists(xitv) - AND NOT min_exists(yitv) AND (real_min(xitv) = xc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(xitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv)))); - END_IF; - END_IF; - RETURN (FALSE); -END_FUNCTION; -- equal_cregion_pregion -(* REFERENCE FROM (support_resource_schema); *) - FUNCTION bag_to_set (the_bag : BAG OF GENERIC:intype):SET OF GENERIC:intype; - LOCAL - the_set : SET OF GENERIC:intype := []; - END_LOCAL; - - IF SIZEOF(the_bag) > 0 THEN - REPEAT i := 1 TO HIINDEX(the_bag); - the_set := the_set + the_bag[i]; - END_REPEAT; - END_IF; - RETURN (the_set); - END_FUNCTION; -(* REFERENCE FROM (support_resource_schema); *) - FUNCTION type_check_function (the_type : GENERIC; sub_names : SET OF STRING; criterion : INTEGER):LOGICAL; - IF ((NOT EXISTS(the_type)) OR (SIZEOF(sub_names) = 0)) THEN - RETURN (UNKNOWN); - ELSE - CASE criterion OF - 0: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) > 0); - 1: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) = 0); - 2: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) = 1); - 3: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) <= 1); - OTHERWISE : RETURN (UNKNOWN); - END_CASE; - END_IF; - END_FUNCTION; -(* REFERENCE FROM (product_property_definition_schema); *) - FUNCTION get_shape_aspects (c_def_instance : characterized_definition):SET OF shape_aspect; - LOCAL - pd_set : SET OF product_definition_shape := []; - pdr_set : SET OF shape_aspect := []; - END_LOCAL; - - pd_set := bag_to_set(QUERY(pd <* USEDIN(c_def_instance, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd))); - IF (SIZEOF(pd_set) < 1) THEN - RETURN (pdr_set); - END_IF; - REPEAT i := 1 TO HIINDEX(pd_set); - pdr_set := pdr_set + bag_to_set(USEDIN(pd_set[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT.OF_SHAPE')); - END_REPEAT; - RETURN (pdr_set); - END_FUNCTION; -(* REFERENCE FROM (product_property_representation_schema); *) - FUNCTION get_property_definition_representations (c_def_instance : characterized_definition):SET OF property_definition_representation; - LOCAL - pd_set : SET OF property_definition := []; - pdr_set : SET OF property_definition_representation := []; - END_LOCAL; - - pd_set := bag_to_set(USEDIN(c_def_instance, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION')); - IF (SIZEOF(pd_set) < 1) THEN - RETURN (pdr_set); - END_IF; - REPEAT i := 1 TO HIINDEX(pd_set); - pdr_set := pdr_set + bag_to_set(USEDIN(pd_set[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')); - END_REPEAT; - RETURN (pdr_set); - END_FUNCTION; -(* REFERENCE FROM (Geometric_tolerance_mim); *) -FUNCTION get_shape_aspect_property_definition_representations - (s_a_instance : shape_aspect) : SET OF property_definition_representation; -LOCAL -pd_set : SET OF property_definition := []; -pdr_set : SET OF property_definition_representation := [] ; -END_LOCAL; -pd_set := bag_to_set(USEDIN(s_a_instance, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION')); -IF (SIZEOF(pd_set) < 1) THEN -RETURN (pdr_set); -END_IF; -REPEAT i := 1 TO HIINDEX(pd_set); -pdr_set := pdr_set + (QUERY(pdr <* USEDIN(pd_set[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'DEFINITION') | -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr))); -END_REPEAT; -RETURN (pdr_set); -END_FUNCTION; - -(* Implicit interfaced from: Constructive_solid_geometry_2d_mim *) -FUNCTION valid_csg_2d_primitives (input : csg_solid_2d) : BOOLEAN; -CASE TRUE OF - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRIMITIVE_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : - BEGIN - IF (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_AREA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPLEX_AREA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPTIC_AREA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYGONAL_AREA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_AREA'] * TYPEOF(input\csg_solid_2d.tree_root_expression)) > 0) - THEN - RETURN(TRUE); - ELSE - RETURN(FALSE); - END_IF; - END; - - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_RESULT_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : - RETURN (valid_csg_2d_primitives(input\csg_solid_2d.tree_root_expression\boolean_result_2d.first_operand) - AND valid_csg_2d_primitives(input\csg_solid_2d.tree_root_expression\boolean_result_2d.second_operand)); - - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.HALF_SPACE_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : RETURN(TRUE); - - OTHERWISE : RETURN(FALSE); -END_CASE; -END_FUNCTION; - -(* Implicit interfaced from: Constructive_solid_geometry_2d_mim *) -FUNCTION open_path_based_inner_boundary (input : SET OF primitive_2d) : BOOLEAN; - LOCAL - pass : BOOLEAN := TRUE; - END_LOCAL; - REPEAT i := 1 TO SIZEOF(input); - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_AREA_WITH_PARAMETERS' IN TYPEOF(input[i])) - AND ( - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE' IN TYPEOF(input[i]\mapped_item.mapping_source\representation_map.mapping_origin)) - OR - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE' IN TYPEOF(input[i]\mapped_item.mapping_source\representation_map.mapping_origin)) - AND - (input[i]\mapped_item.mapping_source\representation_map.mapping_origin\composite_curve.closed_curve = TRUE) - ) - ) - THEN - pass := FALSE; - END_IF; - END_REPEAT; - RETURN(pass); -END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr2 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF SIZEOF(agg) <= 5 THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr3 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF (SIZEOF(QUERY ( i <* agg | (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) - AND (i\representation_item.name = 'significant number of digits')) )) = 1) OR -((SIZEOF(QUERY ( i <* agg | (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'lower limit')) )) = 1) AND -(SIZEOF( QUERY ( i <* agg | (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'upper limit')) )) = 1)) THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr4 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF (SIZEOF(QUERY ( i <* agg | (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'plus minus tolerance value')) )) = 1) OR -((SIZEOF(QUERY ( i <* agg | (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ( - i\representation_item.name = 'lower tolerance value')) )) = 1) AND -(SIZEOF( QUERY ( i <* agg | (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ( - i\representation_item.name = 'upper tolerance value')) )) = 1)) THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr5 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF (SIZEOF(QUERY ( i <* agg | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) <= 1) AND -(SIZEOF(QUERY ( i <* agg | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) = - SIZEOF(QUERY ( i <* agg | (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'cell description'))) )) -THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Geometric_tolerance_mim *) -FUNCTION valid_datum_target_parameters (pdf : placed_datum_target_feature) : BOOLEAN; - LOCAL - rep_set : SET OF representation := [] ; - parameter_representations: SET OF representation; - END_LOCAL; - - REPEAT i := 1 TO HIINDEX(pdf.representation_associations); - rep_set := rep_set + pdf.representation_associations[i].used_representation; - END_REPEAT; - parameter_representations := QUERY(rep <* rep_set | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(rep))); - - IF (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='orientation') AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' IN TYPEOF(i)))) = 1))) <> 1) THEN - RETURN(FALSE); - END_IF; - CASE pdf\shape_aspect.description OF - 'point': RETURN(SIZEOF(QUERY( srwp <* parameter_representations | - (SIZEOF(srwp.items) = 1))) = 1); - 'circle', 'circular curve': RETURN((SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF(srwp.items) = 2))) = 1) AND - (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target diameter') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) )) = 1))) = 1)); - 'line': RETURN(SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target length') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) )) = 1))) = 1); - 'rectangle': RETURN((SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF(srwp.items)= 3))) = 1) AND - (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target length') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2))) = 1))) = 1) AND - (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target width') AND - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2))) = 1) )) = 1)); - OTHERWISE : RETURN(FALSE); - END_CASE; -END_FUNCTION; - -(* Implicit interfaced from: Inertia_characteristics_mim *) -FUNCTION value_range_aggregate_rep_item (agg : AGGREGATE OF representation_item) : BOOLEAN; - BEGIN - IF (SIZEOF(QUERY(i1 <* agg | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i1)) )) = 6) THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; - END; -END_FUNCTION; - -(* Implicit interfaced from: Ply_orientation_specification_mim *) - FUNCTION derive_angle (placement_1 : axis2_placement_3d; - placement_2 : axis2_placement_3d) : - plane_angle_measure; - LOCAL - v1 : direction; - v2 : direction; - mag_v1 : REAL; - mag_v2 : REAL; - theta : plane_angle_measure; - END_LOCAL; - v1 := placement_1.p[1]; - v2 := placement_2.p[1]; - mag_v1 := SQRT (v1.direction_ratios[1]*v1.direction_ratios[1] + - v1.direction_ratios[2]*v1.direction_ratios[2]); - mag_v2 := SQRT (v2.direction_ratios[1]*v2.direction_ratios[1] + - v2.direction_ratios[2]*v2.direction_ratios[2]); - IF ((mag_v1 = 0.0) OR (mag_v2 = 0.0)) THEN - theta := 0.0; - RETURN (theta); - END_IF; - theta := ACOS ((v1.direction_ratios[1]*v2.direction_ratios[1] + - v1.direction_ratios[2]*v2.direction_ratios[2]) / - (mag_v1*mag_v2)); - RETURN (theta); - END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_description_value (obj : description_attribute_select):text; - LOCAL - description_bag : BAG OF description_attribute := (USEDIN(obj, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + 'DESCRIBED_ITEM')); - END_LOCAL; - - IF SIZEOF(description_bag) = 1 THEN - RETURN (description_bag[1].attribute_value); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_id_value (obj : id_attribute_select):identifier; - LOCAL - id_bag : BAG OF id_attribute := (USEDIN(obj, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ID_ATTRIBUTE.' + 'IDENTIFIED_ITEM')); - END_LOCAL; - - IF SIZEOF(id_bag) = 1 THEN - RETURN (id_bag[1].attribute_value); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: product_definition_schema *) - FUNCTION acyclic_product_category_relationship (relation : product_category_relationship; children : SET OF product_category):BOOLEAN; - LOCAL - x : SET OF product_category_relationship; - local_children : SET OF product_category; - END_LOCAL; - - REPEAT i := 1 TO HIINDEX(children); - IF relation.category :=: children[i] THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - x := bag_to_set(USEDIN(relation.category, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_CATEGORY_RELATIONSHIP.SUB_CATEGORY')); - local_children := children + relation.category; - IF SIZEOF(x) > 0 THEN - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_product_category_relationship(x[i], local_children) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - END_IF; - RETURN (TRUE); - END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_name_value (obj : name_attribute_select):label; - LOCAL - name_bag : BAG OF name_attribute := (USEDIN(obj, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'NAME_ATTRIBUTE.' + 'NAMED_ITEM')); - END_LOCAL; - - IF SIZEOF(name_bag) = 1 THEN - RETURN (name_bag[1].attribute_value); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_role (obj : role_select):object_role; - LOCAL - role_bag : BAG OF role_association := (USEDIN(obj, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'ROLE_ASSOCIATION.' + 'ITEM_WITH_ROLE')); - END_LOCAL; - - IF SIZEOF(role_bag) = 1 THEN - RETURN (role_bag[1].role); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; -(* REFERENCE FROM (product_property_definition_schema); *) - FUNCTION acyclic_shape_aspect_relationship (relation : shape_aspect_relationship; relatives : SET [1:?] OF shape_aspect; specific_relation : STRING):BOOLEAN; - LOCAL - x : SET OF shape_aspect_relationship; - END_LOCAL; - - IF relation.relating_shape_aspect IN relatives THEN - RETURN (FALSE); - END_IF; - x := QUERY(sa <* bag_to_set(USEDIN(relation.relating_shape_aspect, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT')) | specific_relation IN TYPEOF(sa)); - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_shape_aspect_relationship(x[i], relatives + relation.relating_shape_aspect, specific_relation) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; -(* REFERENCE FROM (product_definition_schema); *) - FUNCTION acyclic_product_definition_relationship (relation : product_definition_relationship; relatives : SET [1:?] OF product_definition_or_reference; specific_relation : STRING):BOOLEAN; - LOCAL - x : SET OF product_definition_relationship; - END_LOCAL; - - IF relation.relating_product_definition IN relatives THEN - RETURN (FALSE); - END_IF; - x := QUERY(pd <* bag_to_set(USEDIN(relation.relating_product_definition, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION')) | specific_relation IN TYPEOF(pd)); - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_product_definition_relationship(x[i], relatives + relation.relating_product_definition, specific_relation) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; -(* REFERENCE FROM (geometric_model_schema); *) -FUNCTION msb_shells - (brep : manifold_solid_brep) : SET[1:?] OF closed_shell; -LOCAL - return_set: SET[1:?] OF closed_shell := [brep.outer]; - END_LOCAL; - - IF SIZEOF(QUERY(msbtype <* TYPEOF(brep) | - msbtype LIKE '*BREP_WITH_VOIDS')) >= 1 - THEN - return_set := return_set + brep\brep_with_voids.voids; - END_IF; - RETURN(return_set);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION get_basis_surface - (c : curve_on_surface) : SET[0:2] OF surface; -LOCAL - surfs : SET[0:2] OF surface; - n : INTEGER; - END_LOCAL; - surfs := []; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF (c) THEN - surfs := [c\pcurve.basis_surface]; - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF (c) THEN - n := SIZEOF(c\surface_curve.associated_geometry); - REPEAT i := 1 TO n; - surfs := surfs + - associated_surface(c\surface_curve.associated_geometry[i]); - END_REPEAT; - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF (c) THEN - (* For a composite_curve_on_surface the basis_surface is the intersection - of the basis_surfaces of all the segments. *) - n := SIZEOF(c\composite_curve.segments); - surfs := get_basis_surface( - c\composite_curve.segments[1].parent_curve); - IF n > 1 THEN - REPEAT i := 2 TO n; - surfs := surfs * get_basis_surface( - c\composite_curve.segments[i].parent_curve); - END_REPEAT; - END_IF; - - END_IF; - RETURN(surfs);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION associated_surface - (arg : pcurve_or_surface) : surface; -LOCAL - surf : surface; - END_LOCAL; - - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(arg) THEN - surf := arg\pcurve.basis_surface; - ELSE - surf := arg; - END_IF; - RETURN(surf);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION list_to_array - (lis : LIST[0:?] OF GENERIC : T; low : INTEGER; u : INTEGER) : ARRAY[low:u] OF GENERIC : T; -LOCAL - n : INTEGER; - res : ARRAY [low:u] OF GENERIC : T; - END_LOCAL; - - n := SIZEOF(lis); - IF (n <> (u-low +1)) THEN - RETURN(?); - ELSE - res := [lis[1] : n]; - REPEAT i := 2 TO n; - res[low+i-1] := lis[i]; - END_REPEAT; - RETURN(res); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION make_array_of_array - (lis : LIST[1:?] OF LIST[1:?] OF GENERIC : T; low1 : INTEGER; u1 : INTEGER; low2 : INTEGER; u2 : INTEGER) : ARRAY[low1:u1] OF ARRAY[low2:u2] OF GENERIC : T; -LOCAL - res : ARRAY[low1:u1] OF ARRAY [low2:u2] OF GENERIC : T; - END_LOCAL; - -(* Check input dimensions for consistency *) - IF (u1-low1+1) <> SIZEOF(lis) THEN - RETURN (?); - END_IF; - IF (u2 - low2 + 1 ) <> SIZEOF(lis[1]) THEN - RETURN (?) ; - END_IF; -(* Initialise res with values from lis[1] *) - res := [list_to_array(lis[1], low2, u2) : (u1-low1 + 1)]; - REPEAT i := 2 TO HIINDEX(lis); - IF (u2-low2+1) <> SIZEOF(lis[i]) THEN - RETURN (?); - END_IF; - res[low1+i-1] := list_to_array(lis[i], low2, u2); - END_REPEAT; - - RETURN (res);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION curve_weights_positive - (b : rational_b_spline_curve) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT i := 0 TO b.upper_index_on_control_points; - IF b.weights[i] <= 0.0 THEN - result := FALSE; - RETURN(result); - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION surface_weights_positive - (b : rational_b_spline_surface) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT i := 0 TO b.u_upper; - REPEAT j := 0 TO b.v_upper; - IF (b.weights[i][j] <= 0.0) THEN - result := FALSE; - RETURN(result); - END_IF; - END_REPEAT; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION constraints_rectangular_composite_surface - (s : rectangular_composite_surface) : BOOLEAN; -REPEAT i := 1 TO s.n_u; - REPEAT j := 1 TO s.n_v; - IF NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF - (s.segments[i][j].parent_surface)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_TRIMMED_SURFACE' IN TYPEOF - (s.segments[i][j].parent_surface))) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - (* Check the transition codes, omitting the last row or column *) - REPEAT i := 1 TO s.n_u-1; - REPEAT j := 1 TO s.n_v; - IF s.segments[i][j].u_transition = discontinuous THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - REPEAT i := 1 TO s.n_u; - REPEAT j := 1 TO s.n_v-1; - IF s.segments[i][j].v_transition = discontinuous THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - RETURN(TRUE);END_FUNCTION; - -(* Implicit interfaced from: aic_manifold_surface *) -FUNCTION msf_surface_check (surf : surface) : BOOLEAN; - -(* This function varifies the validity of a surface in the - context of a manifold surface model. -*) - - (* elementary_surfaces are valid surface types - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN - RETURN(TRUE); - ELSE - - (* a swept_surface shall have a valid sweeping curve - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_SURFACE' IN TYPEOF (surf) THEN - RETURN (msf_curve_check(surf\swept_surface.swept_curve)); - ELSE - - (* an offset_surface shall not self-intersect and shall - reference a valid surface - *) - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_SURFACE' IN TYPEOF (surf)) AND - (surf\offset_surface.self_intersect = FALSE) OR - (surf\offset_surface.self_intersect = UNKNOWN)) THEN - RETURN (msf_surface_check(surf\offset_surface.basis_surface)); - ELSE - - (* a surface_replica shall have a valid parent surface - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_REPLICA' IN TYPEOF(surf) THEN - RETURN(msf_surface_check(surf\surface_replica.parent_surface)); - ELSE - - (* a b_spline_surface shall not self-intersect - *) - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(surf)) AND - (surf\b_spline_surface.self_intersect = FALSE) OR - (surf\b_spline_surface.self_intersect = UNKNOWN)) THEN - RETURN(TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN(FALSE); -END_FUNCTION; - -(* Implicit interfaced from: aic_manifold_surface *) -FUNCTION msf_curve_check (cv : representation_item) : BOOLEAN; - -(* This function varifies the validity of a curve in the context of a - manifold surface model. Representation_items are - valid input, however, they are supposed to be curves; otherwise - this function will return false. -*) - -(* complex subtypes of curve that are both bounded_curve and - oneof conic, curve_replica, line, or offset_curve_3d are not - valid -*) -IF SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN - RETURN(FALSE); -END_IF; - -(* b_spline_curves shall not self-intersect - *) -IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (cv)) AND - (cv\b_spline_curve.self_intersect = FALSE)OR - (cv\b_spline_curve.self_intersect = UNKNOWN)) THEN - RETURN(TRUE); -ELSE - - (* conics and lines are valid curve types - *) - IF SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE'] - * TYPEOF (cv)) = 1 THEN - RETURN(TRUE); - ELSE - - (* a curve_replica shall reference a valid curve - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN - RETURN (msf_curve_check(cv\curve_replica.parent_curve)); - ELSE - - (* an offset_curve_3d shall not self-intersect and - shall reference a valid curve; a polyline is not a - valid basis_curve - *) - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (cv)) - AND - ((cv\offset_curve_3d.self_intersect = FALSE) OR - (cv\offset_curve_3d.self_intersect = UNKNOWN)) - AND - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF - (cv\offset_curve_3d.basis_curve)))) THEN - RETURN (msf_curve_check(cv\offset_curve_3d.basis_curve)); - ELSE - - (* a pcurve shall reference a valid curve and a valid - basis_surface - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(cv) THEN - RETURN ((msf_curve_check - (cv\pcurve.reference_to_curve\representation.items[1])) AND - (msf_surface_check(cv\pcurve.basis_surface))); - ELSE - - (* a surface_curve references a curve_3d and one or - two pcurves or one or two surfaces or one of - each; all of these references shall be valid - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN - - (* if the curve reference is correct, check also the rest - *) - IF msf_curve_check(cv\surface_curve.curve_3d) THEN - REPEAT i := 1 TO SIZEOF - (cv\surface_curve.associated_geometry); - - (* do for one or two associated_geometrys: - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN - TYPEOF (cv\surface_curve.associated_geometry[i]) THEN - IF NOT msf_surface_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF - (cv\surface_curve.associated_geometry[i]) THEN - IF NOT msf_curve_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); - END_IF; - ELSE - - (* a polyline shall have at least 3 points - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN - IF (SIZEOF (cv\polyline.points) >= 3) THEN RETURN (TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; -END_IF; -(* FALSE is returned if the input parameter cv is not a valid curve. - *) -RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION using_representations (item : founded_item_select) - : SET OF representation; - LOCAL - results : SET OF representation; - result_bag : BAG OF representation; - intermediate_items : SET OF founded_item_select; - END_LOCAL; - -- Find the representations in which the item is used and add to the - -- results set. - results := []; - result_bag := USEDIN(item,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS'); - IF SIZEOF(result_bag) > 0 THEN - REPEAT i := 1 TO HIINDEX(result_bag); - results := results + result_bag[i]; - END_REPEAT; - END_IF; - -- Find all representation_items or founded_items - -- by which item is referenced directly or indirectly. - intermediate_items := using_items(item,[]); - -- If the set of intermediate items is not empty; - IF SIZEOF(intermediate_items) > 0 THEN - -- For each element in the set, add the - -- representations of that element. - REPEAT i := 1 TO HIINDEX(intermediate_items); - result_bag := USEDIN(intermediate_items[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS'); - IF SIZEOF(result_bag) > 0 THEN - REPEAT j := 1 TO HIINDEX(result_bag); - results := results + result_bag[j]; - END_REPEAT; - END_IF; - END_REPEAT; - END_IF; - -- Return the set of representation in which the input item is - -- used directly and indirectly (through intervening - -- representation_items or founded items). - RETURN (results); - END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION using_items (item : founded_item_select; - checked_items: SET OF founded_item_select) - : SET OF founded_item_select; - LOCAL - new_check_items : SET OF founded_item_select; - result_items : SET OF founded_item_select; - next_items : SET OF founded_item_select; - END_LOCAL; - result_items := []; - new_check_items := checked_items + item; - -- Find the set of representation_items or founded_items - -- in which item is used directly. - next_items := QUERY(z <* bag_to_set( USEDIN(item , '')) | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)) OR - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FOUNDED_ITEM' IN TYPEOF(z))); - -- If the set of next_items is not empty; - IF SIZEOF(next_items) > 0 THEN - -- For each element in the set, find the using_items recursively - REPEAT i := 1 TO HIINDEX(next_items); - -- Check for loop in data model, i.e. one of the next_items - -- occurred earlier in the set of check_items; - IF NOT(next_items[i] IN new_check_items) THEN - result_items := result_items + next_items[i] + - using_items(next_items[i],new_check_items); - END_IF; - END_REPEAT; - END_IF; - -- return the set of representation_items or founded_items - -- in which the input item is used directly and indirectly. - RETURN (result_items); - END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION valid_measure_value - (m : measure_value) : BOOLEAN; - IF ('REAL' IN TYPEOF (m)) THEN - RETURN (m > 0.0); - ELSE - IF ('INTEGER' IN TYPEOF (m)) THEN - RETURN (m > 0); - ELSE - RETURN (TRUE); - END_IF; - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: date_time_schema *) -FUNCTION valid_calendar_date - (date : calendar_date) : LOGICAL; - CASE date.month_component OF - 1 : RETURN({ 1 <= date.day_component <= 31 }); - 2 : BEGIN - IF (leap_year(date.year_component)) THEN - RETURN({ 1 <= date.day_component <= 29 }); - ELSE - RETURN({ 1 <= date.day_component <= 28 }); - END_IF; - END; - 3 : RETURN({ 1 <= date.day_component <= 31 }); - 4 : RETURN({ 1 <= date.day_component <= 30 }); - 5 : RETURN({ 1 <= date.day_component <= 31 }); - 6 : RETURN({ 1 <= date.day_component <= 30 }); - 7 : RETURN({ 1 <= date.day_component <= 31 }); - 8 : RETURN({ 1 <= date.day_component <= 31 }); - 9 : RETURN({ 1 <= date.day_component <= 30 }); - 10 : RETURN({ 1 <= date.day_component <= 31 }); - 11 : RETURN({ 1 <= date.day_component <= 30 }); - 12 : RETURN({ 1 <= date.day_component <= 31 }); - END_CASE; - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: date_time_schema *) -FUNCTION leap_year - (year : year_number) : BOOLEAN; - IF ((((year MOD 4) = 0) AND ((year MOD 100) <> 0)) OR ((year MOD 400) = 0)) THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: date_time_schema *) -FUNCTION valid_time - (time : local_time) : BOOLEAN; - IF EXISTS(time.second_component) THEN - RETURN (EXISTS(time.minute_component)); - ELSE - RETURN (TRUE); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: product_data_quality_inspection_result_schema *) - FUNCTION inspected_product_definition - (dqir:data_quality_inspection_result_representation) - :BAG OF product_definition; - LOCAL - dqdr :BAG OF data_quality_definition_representation_relationship:= []; - pdqdr :BAG OF product_data_and_data_quality_relationship:= []; - pd :BAG OF product_definition:= []; - END_LOCAL; - dqdr := USEDIN(dqir,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' - +'DATA_QUALITY_DEFINITION_REPRESENTATION_RELATIONSHIP.' - +'USED_REPRESENTATION'); - REPEAT i:= 1 TO SIZEOF(dqdr); - pdqdr := USEDIN(dqdr[i].definition, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' - +'PRODUCT_DATA_AND_DATA_QUALITY_RELATIONSHIP.' - +'DATA_QUALITY'); - REPEAT j:= 1 TO SIZEOF(pdqdr); - pd := pd + pdqdr[j].product_data; - END_REPEAT; - END_REPEAT; - RETURN(pd); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_measured_data_type - (ei:shape_data_quality_criterion; - type_string: STRING):LOGICAL; - LOCAL - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - sdcr: SET OF - SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT:=[]; - sdir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdii: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[]; - sdei: BAG OF - INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES:=[]; - END_LOCAL; - - -- STEP-1 - -- collect all shape_data_quality_inspection_criterion_report instances, - -- all shape_data_quality_inspection_instance_report_item instances, and - -- instance_report_item_with_extreme_instances instances - -- associated with the given shape_data_quality_criterion - -- via shape_data_quality_inspection_result. - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdcr := sdcr + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT' - IN TYPEOF(q)); - END_REPEAT; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - - -- If there is no report, then return true. - IF((SIZEOF(sdcr) = 0) AND (SIZEOF(sdir) = 0)) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sdir); - sdii := sdii + QUERY(q <* sdir[i].inspected_instances| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' - IN TYPEOF(q)); - END_REPEAT; - REPEAT i:= 1 TO SIZEOF(sdir); - sdei := sdei + QUERY(q <* sdir[i].inspected_instances| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' - IN TYPEOF(q)); - END_REPEAT; - - -- When reports exist, then perform the following checking process. - -- Check representative_measured_value of - -- shape_data_quality_inspection_criterion_report - REPEAT i:= 1 TO SIZEOF(sdcr); - IF(NOT(type_string IN - TYPEOF(sdcr[i].representative_measured_value))) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - -- Check measured_value of shape_data_quality_inspection_ - -- instance_report_item - REPEAT i:= 1 TO SIZEOF(sdii); - IF(NOT(type_string IN - TYPEOF(sdii[i].measured_value))) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - -- Check measured_value of extreme_instances of - -- instance_report_item_with_extreme_instance - REPEAT i:= 1 TO SIZEOF(sdei); - REPEAT j:= 1 TO SIZEOF(sdei[i].extreme_instances); - IF(NOT(type_string IN - TYPEOF(sdei[i].extreme_instances[j].measured_value))) - THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - RETURN(TRUE); - - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_inspected_elements_type - (ei:shape_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - sdir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdiri: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[]; - t_type_list:BAG OF STRING:=[]; - END_LOCAL; - - -- STEP-1 - -- collect all shape_data_quality_inspection_instance_report_item - -- instances associated with the given shape_data_quality_criterion - -- via shape_data_quality_inspection_result and - -- shape_data_quality_inspection_instance_report - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - IF(SIZEOF(sdir) = 0) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sdir); - sdiri := sdiri + QUERY(q <* sdir[i].inspected_instances| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' - IN TYPEOF(q)); - END_REPEAT; - - -- STEP-2 - -- check if the types of inspected_elements of the collected - -- instances are exactly coincident with the type names in the - -- type list given as an input argument of this function. - - -- If there is no instance_report_item, then return true. - IF(SIZEOF(sdiri) = 0) THEN - RETURN(TRUE); - END_IF; - - -- When reports exist, then perform the following checking process. - REPEAT i:= 1 TO SIZEOF(sdiri); - -- If the size of inspected_elements is not equal to the size of - -- type_list, then return false. - IF(SIZEOF(sdiri[i].inspected_elements) <> - SIZEOF(type_list)) THEN - RETURN(FALSE); - END_IF; - -- check all elements in the type_list - -- for each element of inspected_elements. - t_type_list := type_list; - REPEAT j:= 1 TO SIZEOF(sdiri[i].inspected_elements); - REPEAT k:= 1 TO SIZEOF(t_type_list); - IF(t_type_list[k] IN - TYPEOF(sdiri[i].inspected_elements[j])) THEN - t_type_list := t_type_list - t_type_list[k]; - ESCAPE; - END_IF; - END_REPEAT; - END_REPEAT; - IF(SIZEOF(t_type_list) > 0) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_locations_of_extreme_value_type - (ei:shape_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - sdir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdei: SET OF - INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES:=[]; - t_type_list:BAG OF STRING:=[]; - END_LOCAL; - - -- STEP-1 - -- collect all instance_report_item_with_extreme_instances instances - -- associated with the given shape_data_quality_criterion - -- via shape_data_quality_inspection_result and - -- shape_data_quality_inspection_instance_report. - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - REPEAT i:= 1 TO SIZEOF(sdir); - sdei := sdei + QUERY(q <* sdir[i].inspected_instances| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' - IN TYPEOF(q)); - END_REPEAT; - - -- STEP-2 - -- check if the types of locations_of_extreme_value attributes - -- of all extreme_instances attributes of the collected instances are - -- exactly coincident with the type names in the type list given as an - -- input argument of this function. - - -- If there is no instance report, then return true. - IF(SIZEOF(sdei) = 0) THEN - RETURN(TRUE); - END_IF; - - -- If the type_list is empty and - -- instance_report_item_with_extreme_instances exists, then return false. - IF((SIZEOF(type_list) = 0) AND (SIZEOF(sdei) <> 0)) THEN - RETURN(FALSE); - END_IF; - - -- When report_items exist, then perform the following checking process. - REPEAT i:= 1 TO SIZEOF(sdei); - REPEAT j:= 1 TO SIZEOF(sdei[i].extreme_instances); - -- If the size of locations_of_extreme_value is not equal to - -- the size of type_list, then return false. - IF(SIZEOF(sdei[i].extreme_instances[j]. - locations_of_extreme_value) <> - SIZEOF(type_list)) THEN - RETURN(FALSE); - END_IF; - t_type_list := type_list; - -- check all elements of the type_list - -- for each element of locations_of_extreme_value. - REPEAT k:= 1 TO SIZEOF(sdei[i].extreme_instances[j] - .locations_of_extreme_value); - REPEAT l:= 1 TO SIZEOF(t_type_list); - IF(t_type_list[l] IN - TYPEOF(sdei[i].extreme_instances[j]. - locations_of_extreme_value[k])) THEN - t_type_list := t_type_list - t_type_list[l]; - ESCAPE; - END_IF; - END_REPEAT; - END_REPEAT; - IF(SIZEOF(t_type_list) > 0) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_accuracy_types - (ei:shape_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqca: BAG OF - SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION:=[]; - sma: BAG OF SHAPE_MEASUREMENT_ACCURACY:=[]; - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - scraa: BAG OF - SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATION:=[]; - t_logic:BOOLEAN; - END_LOCAL; - -- STEP-1 - -- collect types of range attribute of shape_measurement_accuracy - -- referred from shape_data_quality_criterion_and_accuracy_association - -- that refers to given shape_data_quality_criterion. - sdqca := USEDIN(ei, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION.'+ - 'SHAPE_DATA_QUALITY_CRITERION'); - IF(SIZEOF(sdqca) <> 0) THEN - REPEAT i:= 1 TO SIZEOF(sdqca); - sma := sma + sdqca[i].required_specific_accuracy; - END_REPEAT; - - -- STEP-2 - -- check whether the collected types include all the type names - -- in the type list given as an input argument of this function - -- and they do not include any other type names. - IF(SIZEOF(type_list) < SIZEOF(sma)) THEN - RETURN(FALSE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sma); - t_logic := FALSE; - REPEAT j:= 1 TO SIZEOF(type_list); - IF(type_list[j] IN value_limit_type(sma[i].range)) THEN - t_logic := TRUE; - ESCAPE; - END_IF; - END_REPEAT; - IF(NOT(t_logic)) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_IF; - - -- STEP-3 - -- collect types of range attribute of shape_measurement_accuracy - -- referred from shape_inspection_result_accuracy_association - -- that refers to shape_data_quality_inspection_result - -- for the given shape_data_quality_criterion. - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sdqir); - scraa := USEDIN(sdqir[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATION.'+ - 'SHAPE_DATA_QUALITY_RESULT'); - IF(SIZEOF(scraa) <> 0) THEN - sma := []; - REPEAT j:= 1 TO SIZEOF(scraa); - sma := sma + scraa[j].applied_specific_accuracy; - END_REPEAT; - - -- STEP-4 - -- check whether the collected types include all the type - -- names in the type list given as an input argument of - -- this function and they do not include any other type names. - IF(SIZEOF(type_list) < SIZEOF(sma)) THEN - RETURN(FALSE); - END_IF; - - REPEAT j:= 1 TO SIZEOF(sma); - t_logic := FALSE; - REPEAT k:= 1 TO SIZEOF(type_list); - IF(type_list[k] IN value_limit_type(sma[j].range)) THEN - t_logic := TRUE; - ESCAPE; - END_IF; - END_REPEAT; - IF(NOT(t_logic)) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_IF; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION value_limit_type - (iv:shape_data_quality_value_limit_type_select):SET OF STRING; - LOCAL - retval : SET OF STRING := []; - END_LOCAL; - IF(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' - +'SHAPE_DATA_QUALITY_VALUE_RANGE') IN TYPEOF(iv)) THEN - retval := TYPEOF(iv\compound_representation_item.item_element[1].value_component); - END_IF; - IF(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' - +'SHAPE_DATA_QUALITY_VALUE_LIMIT') IN TYPEOF(iv)) THEN - IF(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MEASURE_WITH_UNIT') IN TYPEOF(iv)) THEN - retval := TYPEOF(iv\measure_with_unit.value_component); - END_IF; - END_IF; - RETURN(retval); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_inspection_result_schema *) - FUNCTION using_product_definition_of_shape_representation - (item: shape_representation) : SET OF product_definition; - LOCAL - local_s_d_r: SET OF shape_definition_representation := []; - local_p_d: SET OF product_definition := []; - i : INTEGER; - END_LOCAL; - - -- find shape_definition_representations - local_s_d_r := QUERY(i1<* bag_to_set (USEDIN (item, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'SHAPE_DEFINITION_REPRESENTATION' - IN TYPEOF(i1)); - - -- find product_definition_shape & product_definitions - REPEAT i := 1 TO HIINDEX (local_s_d_r); - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION' IN - TYPEOF (local_s_d_r[i]\property_definition_representation.definition)) - THEN - IF('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF - (local_s_d_r[i]\property_definition_representation.definition\property_definition.definition)) - THEN - local_p_d := local_p_d + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; - END_IF; - END_IF; - END_REPEAT; - RETURN (local_p_d); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_inspection_result_schema *) - FUNCTION relating_shape_representations_of_extreme_values - (item:location_of_extreme_value_select) - : SET OF shape_representation; - - LOCAL - results : SET OF shape_representation:=[]; - exti : SET OF extreme_instance:=[]; - ii_ei : SET OF - instance_report_item_with_extreme_instances:=[]; - sdiir : SET OF - shape_data_quality_inspection_instance_report:=[]; - sdqr : SET OF - shape_data_quality_inspection_result_representation:=[]; - sdisr : SET OF - shape_data_quality_inspected_shape_and_result_relationship:=[]; - END_LOCAL; - -- find extreme_instances - exti := exti + - bag_to_set( USEDIN(item, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'EXTREME_INSTANCE.'+ - 'LOCATIONS_OF_EXTREME_VALUE')); - - -- find instance_report_item_with_extreme_instances - REPEAT i := 1 TO HIINDEX (exti); - ii_ei := ii_ei + - bag_to_set( USEDIN(exti[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES.'+ - 'EXTREME_INSTANCES')); - END_REPEAT; - - -- find shape_data_quality_inspection_instance_report - REPEAT i := 1 TO HIINDEX (ii_ei); - sdiir := sdiir + - bag_to_set( USEDIN(ii_ei[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT.'+ - 'INSPECTED_INSTANCES')); - END_REPEAT; - - -- find shape_data_quality_inspection_result_representation - REPEAT i := 1 TO HIINDEX (sdiir); - sdqr := sdqr + - QUERY(i1<* bag_to_set( USEDIN(sdiir[i].inspection_result, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' - IN TYPEOF(i1)); - END_REPEAT; - - -- find shape_data_quality_inspected_shape_and_result_relationship - REPEAT i := 1 TO HIINDEX (sdqr); - sdisr := sdisr + bag_to_set(USEDIN(sdqr[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.'+ - 'REP_2')); - END_REPEAT; - - -- find shape_representation - REPEAT i := 1 TO HIINDEX (sdisr); - results := results + sdisr[i].rep_1; - END_REPEAT; - - RETURN (results); - END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION acyclic_mapped_representation - (mi : mapped_item) : BOOLEAN; - LOCAL - rms : SET OF representation_map; - mis : SET OF mapped_item; - rs1, rs2 : SET OF representation; - END_LOCAL; - - rs1 := using_representations(mi); - rs2 := []; - -- loop as long as there are elements in rs1 - REPEAT WHILE SIZEOF(rs1) > 0; - REPEAT i := 1 TO HIINDEX(rs1); - -- Determine the set of representation_map that reference the parent_set - rms := bag_to_set(USEDIN(rs1[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION')); - IF SIZEOF(rms) > 0 THEN - REPEAT j := 1 TO HIINDEX(rms); - mis := bag_to_set(USEDIN(rms[i], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE')); - IF SIZEOF(mis) > 0 THEN - REPEAT j := 1 TO HIINDEX(mis); - -- check mis members for instance equal with mi. If so then there is a cycle - IF mis[i] :=: mi THEN - RETURN (FALSE); - END_IF; - rs2 := rs2 + using_representations(mis[i]); - END_REPEAT; - END_IF; - END_REPEAT; - END_IF; - END_REPEAT; - rs1 := rs2; - rs2 := []; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: product_structure_schema *) -FUNCTION unambiguously_specified_multi_level_reference_designator (links : LIST[1:?] OF next_assembly_usage_occurrence) : BOOLEAN; -REPEAT i := 1 to SIZEOF(links) - 1; ---case 1 all in one file; had to disambiguate link[i].relating instance type to distinguish case 1 from case 3. - CASE TRUE OF - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.relating_product_definition)) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition)) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i+1]\product_definition_relationship.relating_product_definition)) : - BEGIN - IF NOT ( - (links[i]\product_definition_relationship.related_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition) - OR - ((SIZEOF (QUERY (pdr <* USEDIN(links[i]\product_definition_relationship.related_product_definition, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION') | - pdr\product_definition_relationship.relating_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition)) = 1) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition.formation\product_definition_formation.of_product - :=: - links[i+1]\product_definition_relationship.relating_product_definition\product_definition.formation\product_definition_formation.of_product))) - THEN - RETURN(FALSE); - END_IF; - END; - ---case 2 ; intermediate node reference from main to external file or both node references in external file. links[i].relating instance can be either pd or pdref. - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition)) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[i+1]\product_definition_relationship.relating_product_definition)) : - BEGIN - IF NOT ( - (links[i]\product_definition_relationship.related_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition) - OR - ((SIZEOF (QUERY (pdr <* USEDIN(links[i]\product_definition_relationship.related_product_definition, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION') | - pdr\product_definition_relationship.relating_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition)) = 1) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.product_id - = - links[i+1]\product_definition_relationship.relating_product_definition\product_definition_reference.product_id) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.id_owning_organization_name - = - links[i+1]\product_definition_relationship.relating_product_definition\product_definition_reference.id_owning_organization_name) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.product_definition_id - <> - links[i+1]\product_definition_relationship.relating_product_definition\product_definition_reference.product_definition_id))) - THEN - RETURN(FALSE); - END_IF; - END; - ---case 3 should never see -- link in external file referencing a node in main assembly file. Note link is just links[i]. - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[i]\product_definition_relationship.relating_product_definition)) - AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition)) : - RETURN(FALSE); - - OTHERWISE : RETURN(FALSE); - END_CASE; - -END_REPEAT; -RETURN(TRUE); -END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION normalise - (arg : vector_or_direction) : vector_or_direction; -LOCAL - ndim : INTEGER; - v : direction := dummy_gri || direction ([1.0,0.0,0.0]); - result : vector_or_direction; - vec : vector := dummy_gri || vector (v, 1.0); - mag : REAL; - END_LOCAL; - - IF NOT EXISTS (arg) THEN - result := ?; - (* When function is called with invalid data a NULL result is returned *) - ELSE - ndim := arg.dim; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF(arg) THEN - BEGIN - v := dummy_gri || direction(arg\vector.orientation.direction_ratios); - IF arg\vector.magnitude = 0.0 THEN - RETURN(?); - ELSE - vec := dummy_gri || vector (v, 1.0); - END_IF; - END; - ELSE - v := dummy_gri || direction (arg.direction_ratios); - END_IF; - mag := 0.0; - REPEAT i := 1 TO ndim; - mag := mag + v.direction_ratios[i]*v.direction_ratios[i]; - END_REPEAT; - IF mag > 0.0 THEN - mag := SQRT(mag); - REPEAT i := 1 TO ndim; - v.direction_ratios[i] := v.direction_ratios[i]/mag; - END_REPEAT; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF(arg) THEN - vec.orientation := v; - result := vec; - ELSE - result := v; - END_IF; - ELSE - RETURN(?); - END_IF; - END_IF; - RETURN (result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION build_2axes - (ref_direction : direction) : LIST[2:2] OF direction; -LOCAL - d : direction := NVL(normalise(ref_direction), - dummy_gri || direction([1.0,0.0])); - END_LOCAL; - - RETURN([d, orthogonal_complement(d)]);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION orthogonal_complement - (vec : direction) : direction; -LOCAL - result : direction ; - END_LOCAL; - - IF (vec.dim <> 2) OR NOT EXISTS (vec) THEN - RETURN(?); - ELSE - result := dummy_gri || direction([-vec.direction_ratios[2], - vec.direction_ratios[1]]); - RETURN(result); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION build_axes - (axis : direction; ref_direction : direction) : LIST[3:3] OF direction; -LOCAL - d1, d2 : direction; - END_LOCAL; - d1 := NVL(normalise(axis), dummy_gri || direction([0.0,0.0,1.0])); - d2 := first_proj_axis(d1, ref_direction); - RETURN([d2, normalise(cross_product(d1,d2))\vector.orientation, d1]);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION first_proj_axis - (z_axis : direction; arg : direction) : direction; -LOCAL - x_axis : direction; - v : direction; - z : direction; - x_vec : vector; - END_LOCAL; - - IF (NOT EXISTS(z_axis)) THEN - RETURN (?) ; - ELSE - z := normalise(z_axis); - IF NOT EXISTS(arg) THEN - IF ((z.direction_ratios <> [1.0,0.0,0.0]) AND - (z.direction_ratios <> [-1.0,0.0,0.0])) THEN - v := dummy_gri || direction([1.0,0.0,0.0]); - ELSE - v := dummy_gri || direction([0.0,1.0,0.0]); - END_IF; - ELSE - IF (arg.dim <> 3) THEN - RETURN (?) ; - END_IF; - IF ((cross_product(arg,z).magnitude) = 0.0) THEN - RETURN (?); - ELSE - v := normalise(arg); - END_IF; - END_IF; - x_vec := scalar_times_vector(dot_product(v, z), z); - x_axis := vector_difference(v, x_vec).orientation; - x_axis := normalise(x_axis); - END_IF; - RETURN(x_axis);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION cross_product - (arg1 : direction; arg2 : direction) : vector; -LOCAL - mag : REAL; - res : direction; - v1,v2 : LIST[3:3] OF REAL; - result : vector; - END_LOCAL; - - IF ( NOT EXISTS (arg1) OR (arg1.dim = 2)) OR - ( NOT EXISTS (arg2) OR (arg2.dim = 2)) THEN - RETURN(?); - ELSE - BEGIN - v1 := normalise(arg1).direction_ratios; - v2 := normalise(arg2).direction_ratios; - res := dummy_gri || direction([(v1[2]*v2[3] - v1[3]*v2[2]), - (v1[3]*v2[1] - v1[1]*v2[3]), (v1[1]*v2[2] - v1[2]*v2[1])]); - mag := 0.0; - REPEAT i := 1 TO 3; - mag := mag + res.direction_ratios[i]*res.direction_ratios[i]; - END_REPEAT; - IF (mag > 0.0) THEN - result := dummy_gri || vector(res, SQRT(mag)); - ELSE - result := dummy_gri || vector(arg1, 0.0); - END_IF; - RETURN(result); - END; - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION scalar_times_vector - (scalar : REAL; vec : vector_or_direction) : vector; -LOCAL - v : direction; - mag : REAL; - result : vector; - END_LOCAL; - - IF NOT EXISTS (scalar) OR NOT EXISTS (vec) THEN - RETURN (?) ; - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF (vec) THEN - v := dummy_gri || direction(vec\vector.orientation.direction_ratios); - mag := scalar * vec\vector.magnitude; - ELSE - v := dummy_gri || direction(vec.direction_ratios); - mag := scalar; - END_IF; - IF (mag < 0.0 ) THEN - REPEAT i := 1 TO SIZEOF(v.direction_ratios); - v.direction_ratios[i] := -v.direction_ratios[i]; - END_REPEAT; - mag := -mag; - END_IF; - result := dummy_gri || vector(normalise(v), mag); - END_IF; - RETURN (result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION dot_product - (arg1 : direction; arg2 : direction) : REAL; -LOCAL - scalar : REAL; - vec1, vec2: direction; - ndim : INTEGER; - END_LOCAL; - - IF NOT EXISTS (arg1) OR NOT EXISTS (arg2) THEN - scalar := ?; - (* When function is called with invalid data an indeterminate result - is returned *) - ELSE - IF (arg1.dim <> arg2.dim) THEN - scalar := ?; - (* When function is called with invalid data an indeterminate result - is returned *) - ELSE - BEGIN - vec1 := normalise(arg1); - vec2 := normalise(arg2); - ndim := arg1.dim; - scalar := 0.0; - REPEAT i := 1 TO ndim; - scalar := scalar + - vec1.direction_ratios[i]*vec2.direction_ratios[i]; - END_REPEAT; - END; - END_IF; - END_IF; - RETURN (scalar);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION vector_difference - (arg1 : vector_or_direction; arg2 : vector_or_direction) : vector; -LOCAL - result : vector; - res, vec1, vec2 : direction; - mag, mag1, mag2 : REAL; - ndim : INTEGER; - END_LOCAL; - - IF ((NOT EXISTS (arg1)) OR (NOT EXISTS (arg2))) OR (arg1.dim <> arg2.dim) - THEN - RETURN (?) ; - ELSE - BEGIN - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF(arg1) THEN - mag1 := arg1\vector.magnitude; - vec1 := arg1\vector.orientation; - ELSE - mag1 := 1.0; - vec1 := arg1; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF(arg2) THEN - mag2 := arg2\vector.magnitude; - vec2 := arg2\vector.orientation; - ELSE - mag2 := 1.0; - vec2 := arg2; - END_IF; - vec1 := normalise (vec1); - vec2 := normalise (vec2); - ndim := SIZEOF(vec1.direction_ratios); - mag := 0.0; - res := dummy_gri || direction(vec1.direction_ratios); - REPEAT i := 1 TO ndim; - res.direction_ratios[i] := mag1*vec1.direction_ratios[i] - - mag2*vec2.direction_ratios[i]; - mag := mag + (res.direction_ratios[i]*res.direction_ratios[i]); - END_REPEAT; - IF (mag > 0.0 ) THEN - result := dummy_gri || vector( res, SQRT(mag)); - ELSE - result := dummy_gri || vector( vec1, 0.0); - END_IF; - END; - END_IF; - RETURN (result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION base_axis - (dim : INTEGER; axis1 : direction; axis2 : direction; axis3 : direction) : LIST[2:3] OF direction; -LOCAL - u : LIST [2:3] OF direction; - factor : REAL; - d1, d2 : direction; - END_LOCAL; - - IF (dim = 3) THEN - d1 := NVL(normalise(axis3), dummy_gri || direction([0.0,0.0,1.0])); - d2 := first_proj_axis(d1,axis1); - u := [d2, second_proj_axis(d1,d2,axis2), d1]; - ELSE - IF EXISTS(axis1) THEN - d1 := normalise(axis1); - u := [d1, orthogonal_complement(d1)]; - IF EXISTS(axis2) THEN - factor := dot_product(axis2,u[2]); - IF (factor < 0.0) THEN - u[2].direction_ratios[1] := -u[2].direction_ratios[1]; - u[2].direction_ratios[2] := -u[2].direction_ratios[2]; - END_IF; - END_IF; - ELSE - IF EXISTS(axis2) THEN - d1 := normalise(axis2); - u := [orthogonal_complement(d1), d1]; - u[1].direction_ratios[1] := -u[1].direction_ratios[1]; - u[1].direction_ratios[2] := -u[1].direction_ratios[2]; - ELSE - u := [dummy_gri || direction([1.0, 0.0]), dummy_gri || - direction([0.0, 1.0])]; - END_IF; - END_IF; - END_IF; - RETURN(u);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION second_proj_axis - (z_axis : direction; x_axis : direction; arg : direction) : direction; -LOCAL - y_axis : vector; - v : direction; - temp : vector; - END_LOCAL; - - IF NOT EXISTS(arg) THEN - v := dummy_gri || direction([0.0,1.0,0.0]); - ELSE - v := arg; - END_IF; - - temp := scalar_times_vector(dot_product(v, z_axis), z_axis); - y_axis := vector_difference(v, temp); - temp := scalar_times_vector(dot_product(v, x_axis), x_axis); - y_axis := vector_difference(y_axis, temp); - y_axis := normalise(y_axis); - RETURN(y_axis.orientation);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION dimension_of - (item : geometric_representation_item) : dimension_count; -LOCAL - x : SET OF representation; - y : representation_context; - dim : dimension_count; - END_LOCAL; - -- For cartesian_point, direction, or vector dimension is determined by - -- counting components. - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF(item) THEN - dim := SIZEOF(item\cartesian_point.coordinates); - RETURN(dim); - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION' IN TYPEOF(item) THEN - dim := SIZEOF(item\direction.direction_ratios); - RETURN(dim); - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VECTOR' IN TYPEOF(item) THEN - dim := SIZEOF(item\vector.orientation\direction.direction_ratios); - RETURN(dim); - END_IF; - -- For all other types of geometric_representation_item dim is obtained - -- via context. - -- Find the set of representation in which the item is used. - - x := using_representations(item); - - -- Determines the dimension_count of the - -- geometric_representation_context. Note that the - -- RULE compatible_dimension ensures that the context_of_items - -- is of type geometric_representation_context and has - -- the same dimension_count for all values of x. - -- The SET x is non-empty for legal instances since this is required by WR1 of - -- representation_item. - IF (SIZEOF(x) > 0) THEN - y := x[1].context_of_items; - dim := y\geometric_representation_context.coordinate_space_dimension; - RETURN (dim); - ELSE - RETURN(?); - -- mark error by returning indeterminate result - END_IF;END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION item_in_context - (item : representation_item; - cntxt : representation_context) : BOOLEAN; - LOCAL - y : BAG OF representation_item; - END_LOCAL; - -- If there is one or more representation using both the item - -- and cntxt return true. - IF SIZEOF(USEDIN(item,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION.ITEMS') - * cntxt.representations_in_context) > 0 THEN - RETURN (TRUE); - -- Determine the bag of representation_items that reference - -- item - ELSE y := QUERY(z <* USEDIN (item , '') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)); - -- Ensure that the bag is not empty - IF SIZEOF(y) > 0 THEN - -- For each element in the bag - REPEAT i := 1 TO HIINDEX(y); - -- Check to see it is an item in the input cntxt. - IF item_in_context(y[i], cntxt) THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - END_IF; - END_IF; - -- Return false when all possible branches have been checked - -- with no success. - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: Externally_conditioned_data_quality_criteria_mim *) - FUNCTION validate_ecdq_inspected_elements_type - (ei:Externally_conditioned_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqir: SET OF - EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT:=[]; - dir: SET OF - DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdiri: SET OF - EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[]; - t_type_list:BAG OF STRING:=[]; - END_LOCAL; - -- STEP-1 - -- collect all externally_conditioned_data_quality_inspection_instance_report_item - -- instances associated with the given externally_conditioned_data_quality_criterion - -- via externally_conditioned_data_quality_inspection_result and - -- data_quality_inspection_instance_report - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - dir := dir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - IF(SIZEOF(dir) = 0) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(dir); - sdiri := sdiri + QUERY(q <* dir[i].inspected_instances| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' - IN TYPEOF(q)); - END_REPEAT; - - -- STEP-2 - -- check if the types of inspected_elements of the collected - -- instances are exactly coincident with the type names in the - -- type list given as an input argument of this function. - - -- If there is no instance_report_item, then this function returns true. - IF(SIZEOF(sdiri) = 0) THEN - RETURN(TRUE); - END_IF; - - -- When reports exist, then perform the following checking process. - REPEAT i:= 1 TO SIZEOF(sdiri); - -- If the size of inspected_elements is not equal to the size of - -- type_list, then return false. - IF(SIZEOF(sdiri[i].inspected_elements) <> - SIZEOF(type_list)) THEN - RETURN(FALSE); - END_IF; - -- check all elements in the type_list - -- for each element of inspected_elements. - t_type_list := type_list; - REPEAT j:= 1 TO SIZEOF(sdiri[i].inspected_elements); - REPEAT k:= 1 TO SIZEOF(t_type_list); - IF(t_type_list[k] IN - TYPEOF(sdiri[i].inspected_elements[j])) THEN - t_type_list := t_type_list - t_type_list[k]; - ESCAPE; - END_IF; - END_REPEAT; - END_REPEAT; - IF(SIZEOF(t_type_list) > 0) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; -(* REFERENCE FROM (iso13584_generic_expressions_schema); *) -FUNCTION used_variables (arg : generic_expression) : - SET OF generic_variable; - -LOCAL - result : SET OF generic_variable := []; -END_LOCAL; - -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GENERIC_VARIABLE' - IN TYPEOF (arg) -THEN - RETURN ([arg]); -END_IF; - -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNARY_GENERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN (used_variables (arg\unary_generic_expression.operand)); -END_IF; - -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BINARY_GENERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN(used_variables(arg\binary_generic_expression.operands[1]) - + used_variables (arg\binary_generic_expression.operands[2])); -END_IF; - -IF -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - REPEAT i := 1 TO - SIZEOF(arg\multiple_arity_generic_expression.operands); - result := result + used_variables( - arg\multiple_arity_generic_expression.operands[i]); - END_REPEAT; - - RETURN (result); -END_IF; -RETURN ([ ]); -- in this case the subtype shall not contain - -- any variable (see IP1 in generic_expression) -END_FUNCTION; -- used_variables -(* REFERENCE FROM (mathematical_functions_schema); *) -FUNCTION compatible_spaces(sp1, sp2 : maths_space) : BOOLEAN; - LOCAL - types1 : SET OF STRING := stripped_typeof (sp1); - types2 : SET OF STRING := stripped_typeof (sp2); - lgcl : LOGICAL := UNKNOWN; - m, n : INTEGER; - s1, s2 : maths_space; - END_LOCAL; - IF 'FINITE_SPACE' IN types1 THEN - REPEAT i := 1 TO SIZEOF (sp1\finite_space.members); - lgcl := member_of(sp1\finite_space.members[i], sp2); - IF lgcl <> FALSE THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - RETURN (FALSE); - END_IF; - IF 'FINITE_SPACE' IN types2 THEN - REPEAT i := 1 TO SIZEOF (sp2\finite_space.members); - lgcl := member_of(sp2\finite_space.members[i], sp1); - IF lgcl <> FALSE THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - RETURN (FALSE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types1 THEN - IF sp1\elementary_space.space_id = es_generics THEN - RETURN (TRUE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types2 THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, - sp2\elementary_space.space_id)); - END_IF; - IF ('FINITE_INTEGER_INTERVAL' IN types2) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types2) OR - ('INTEGER_INTERVAL_TO_MAX' IN types2) THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, es_integers)); - END_IF; - IF ('FINITE_REAL_INTERVAL' IN types2) OR - ('REAL_INTERVAL_FROM_MIN' IN types2) OR - ('REAL_INTERVAL_TO_MAX' IN types2) THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, es_reals)); - END_IF; - IF ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types2) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types2) THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, es_complex_numbers)); - END_IF; - IF 'TUPLE_SPACE' IN types2 THEN - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - RETURN (bool(sp1\elementary_space.space_id = es_maths_functions)); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types2 THEN - IF sp2\elementary_space.space_id = es_generics THEN - RETURN (TRUE); - END_IF; - IF ('FINITE_INTEGER_INTERVAL' IN types1) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types1) OR - ('INTEGER_INTERVAL_TO_MAX' IN types1) THEN - RETURN (compatible_es_values(sp2\elementary_space.space_id, es_integers)); - END_IF; - IF ('FINITE_REAL_INTERVAL' IN types1) OR - ('REAL_INTERVAL_FROM_MIN' IN types1) OR - ('REAL_INTERVAL_TO_MAX' IN types1) THEN - RETURN (compatible_es_values(sp2\elementary_space.space_id, es_reals)); - END_IF; - IF ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types1) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types1) THEN - RETURN (compatible_es_values(sp2\elementary_space.space_id, es_complex_numbers)); - END_IF; - IF 'TUPLE_SPACE' IN types1 THEN - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN types1 THEN - RETURN (bool(sp2\elementary_space.space_id = es_maths_functions)); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF subspace_of_es(sp1,es_integers) THEN -- Note that sp1 finite already handled. - IF subspace_of_es(sp2,es_integers) THEN -- Note that sp2 finite already handled. - RETURN (compatible_intervals(sp1,sp2)); - END_IF; - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp2,es_integers) THEN - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp1,es_reals) THEN -- Note that sp1 finite already handled. - IF subspace_of_es(sp2,es_reals) THEN -- Note that sp2 finite already handled. - RETURN (compatible_intervals(sp1,sp2)); - END_IF; - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp2,es_reals) THEN - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp1,es_complex_numbers) THEN -- Note sp1 finite already handled. - IF subspace_of_es(sp2,es_complex_numbers) THEN -- Note sp2 finite already handled. - RETURN (compatible_complex_number_regions(sp1,sp2)); - END_IF; - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp2,es_complex_numbers) THEN - RETURN (FALSE); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN - IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN - IF sp1\uniform_product_space.exponent <> sp2\uniform_product_space.exponent THEN - RETURN (FALSE); - END_IF; - RETURN (compatible_spaces(sp1\uniform_product_space.base, - sp2\uniform_product_space.base)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types2 THEN - n := SIZEOF (sp2\listed_product_space.factors); - IF sp1\uniform_product_space.exponent <> n THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO n; - IF NOT compatible_spaces(sp1\uniform_product_space.base, - sp2\listed_product_space.factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - m := sp1\uniform_product_space.exponent; - n := space_dimension(sp2\extended_tuple_space.base); - IF m < n THEN - RETURN (FALSE); - END_IF; - IF m = n THEN - RETURN (compatible_spaces(sp1, sp2\extended_tuple_space.base)); - END_IF; - RETURN (compatible_spaces(sp1, assoc_product_space( - sp2\extended_tuple_space.base, make_uniform_product_space( - sp2\extended_tuple_space.extender, m - n)))); - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - RETURN (FALSE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types1 THEN - n := SIZEOF (sp1\listed_product_space.factors); - IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN - IF n <> sp2\uniform_product_space.exponent THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO n; - IF NOT compatible_spaces(sp2\uniform_product_space.base, - sp1\listed_product_space.factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types2 THEN - IF n <> SIZEOF (sp2\listed_product_space.factors) THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO n; - IF NOT compatible_spaces(sp1\listed_product_space.factors[i], - sp2\listed_product_space.factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - m := space_dimension(sp2\extended_tuple_space.base); - IF n < m THEN - RETURN (FALSE); - END_IF; - IF n = m THEN - RETURN (compatible_spaces(sp1, sp2\extended_tuple_space.base)); - END_IF; - RETURN (compatible_spaces(sp1, assoc_product_space( - sp2\extended_tuple_space.base, make_uniform_product_space( - sp2\extended_tuple_space.extender, n - m)))); - END_IF; - IF (schema_prefix + 'FUNCTION_SPACE') IN types2 THEN - RETURN (FALSE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN - IF ('UNIFORM_PRODUCT_SPACE' IN types2) OR - ('LISTED_PRODUCT_SPACE' IN types2) THEN - RETURN (compatible_spaces(sp2, sp1)); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - IF NOT compatible_spaces(sp1\extended_tuple_space.extender, - sp2\extended_tuple_space.extender) THEN - RETURN (FALSE); - END_IF; - n := space_dimension(sp1\extended_tuple_space.base); - m := space_dimension(sp2\extended_tuple_space.base); - IF n < m THEN - RETURN (compatible_spaces(assoc_product_space(sp1\extended_tuple_space.base, - make_uniform_product_space(sp1\extended_tuple_space.extender, m - n)), - sp2\extended_tuple_space.base)); - END_IF; - IF n = m THEN - RETURN (compatible_spaces(sp1\extended_tuple_space.base, - sp2\extended_tuple_space.base)); - END_IF; - IF n > m THEN - RETURN (compatible_spaces(sp1\extended_tuple_space.base, - assoc_product_space(sp2\extended_tuple_space.base, - make_uniform_product_space(sp2\extended_tuple_space.extender, n - m)))); - END_IF; - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - RETURN (FALSE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'FUNCTION_SPACE' IN types1 THEN - IF 'FUNCTION_SPACE' IN types2 THEN - s1 := sp1\function_space.domain_argument; - s2 := sp2\function_space.domain_argument; - CASE sp1\function_space.domain_constraint OF - sc_equal : BEGIN - CASE sp2\function_space.domain_constraint OF - sc_equal : lgcl := subspace_of(s1, s2) AND subspace_of(s2, s1); - sc_subspace : lgcl := subspace_of(s1, s2); - sc_member : lgcl := member_of(s1, s2); - END_CASE; - END; - sc_subspace :BEGIN - CASE sp2\function_space.domain_constraint OF - sc_equal : lgcl := subspace_of(s2, s1); - sc_subspace : lgcl := compatible_spaces(s1, s2); - sc_member : lgcl := UNKNOWN; - END_CASE; - END; - sc_member :BEGIN - CASE sp2\function_space.domain_constraint OF - sc_equal : lgcl := member_of(s2, s1); - sc_subspace : lgcl := UNKNOWN; - sc_member : lgcl := compatible_spaces(s1, s2); - END_CASE; - END; - END_CASE; - IF lgcl = FALSE THEN - RETURN (FALSE); - END_IF; - s1 := sp1\function_space.range_argument; - s2 := sp2\function_space.range_argument; - CASE sp1\function_space.range_constraint OF - sc_equal : BEGIN - CASE sp2\function_space.range_constraint OF - sc_equal : lgcl := subspace_of(s1, s2) AND subspace_of(s2, s1); - sc_subspace : lgcl := subspace_of(s1, s2); - sc_member : lgcl := member_of(s1, s2); - END_CASE; - END; - sc_subspace :BEGIN - CASE sp2\function_space.range_constraint OF - sc_equal : lgcl := subspace_of(s2, s1); - sc_subspace : lgcl := compatible_spaces(s1, s2); - sc_member : lgcl := UNKNOWN; - END_CASE; - END; - sc_member :BEGIN - CASE sp2\function_space.range_constraint OF - sc_equal : lgcl := member_of(s2, s1); - sc_subspace : lgcl := UNKNOWN; - sc_member : lgcl := compatible_spaces(s1, s2); - END_CASE; - END; - END_CASE; - IF lgcl = FALSE THEN - RETURN (FALSE); - END_IF; - RETURN (TRUE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); -END_FUNCTION; -- compatible_spaces - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION stripped_typeof(arg : GENERIC:G) : SET OF STRING; - LOCAL - types : SET OF STRING := TYPEOF (arg); - stypes : SET OF STRING := []; - n : INTEGER := LENGTH (schema_prefix); - END_LOCAL; - REPEAT i := 1 TO SIZEOF (types); - IF types[i][1:n] = schema_prefix THEN - stypes := stypes + types[i][n+1:LENGTH(types[i])]; - ELSE - stypes := stypes + types[i]; - END_IF; - END_REPEAT; - RETURN (stypes); -END_FUNCTION; -- stripped_typeof - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION member_of(val : GENERIC:G; - spc : maths_space) : LOGICAL; - - -- Trivial function introduced to avoid NIST Fedex compiler error - FUNCTION fedex(val : AGGREGATE OF GENERIC:X; - i : INTEGER) : GENERIC:X; - RETURN (val[i]); - END_FUNCTION; -- fedex - - LOCAL - v : maths_value := simplify_maths_value (convert_to_maths_value (val)); - vtypes : SET OF STRING := stripped_typeof (v); - s : maths_space := simplify_maths_space (spc); - stypes : SET OF STRING := stripped_typeof (s); - tmp_int : INTEGER; - tmp_real : REAL; - tmp_cmplx : complex_number_literal; - lgcl, cum : LOGICAL; - vspc, sspc : maths_space; - smem : SET OF maths_value; - factors : LIST OF maths_space; - END_LOCAL; - IF NOT EXISTS (s) THEN - RETURN (FALSE); - END_IF; - IF NOT EXISTS (v) THEN - RETURN (s = the_generics); - END_IF; - IF ('GENERIC_EXPRESSION' IN vtypes) AND - NOT ('MATHS_SPACE' IN vtypes) AND - NOT ('MATHS_FUNCTION' IN vtypes) AND - NOT ('COMPLEX_NUMBER_LITERAL' IN vtypes) THEN - IF has_values_space (v) THEN - vspc := values_space_of (v); - IF subspace_of (vspc, s) THEN - RETURN (TRUE); - END_IF; - IF NOT compatible_spaces (vspc, s) THEN - RETURN (FALSE); - END_IF; - RETURN (UNKNOWN); - END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'ELEMENTARY_SPACE' IN stypes THEN - CASE s\elementary_space.space_id OF - es_numbers : RETURN (('NUMBER' IN vtypes) OR - ('COMPLEX_NUMBER_LITERAL' IN vtypes)); - es_complex_numbers : RETURN ('COMPLEX_NUMBER_LITERAL' IN vtypes); - es_reals : RETURN (('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes)); - es_integers : RETURN ('INTEGER' IN vtypes); - es_logicals : RETURN ('LOGICAL' IN vtypes); - es_booleans : RETURN ('BOOLEAN' IN vtypes); - es_strings : RETURN ('STRING' IN vtypes); - es_binarys : RETURN ('BINARY' IN vtypes); - es_maths_spaces : RETURN ('MATHS_SPACE' IN vtypes); - es_maths_functions : RETURN ('MATHS_FUNCTION' IN vtypes); - es_generics : RETURN (TRUE); - END_CASE; - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN stypes THEN - IF 'INTEGER' IN vtypes THEN - tmp_int := v; - RETURN ({s\finite_integer_interval.min <= tmp_int <= - s\finite_integer_interval.max}); - END_IF; - RETURN (FALSE); - END_IF; - IF 'INTEGER_INTERVAL_FROM_MIN' IN stypes THEN - IF 'INTEGER' IN vtypes THEN - tmp_int := v; - RETURN (s\integer_interval_from_min.min <= tmp_int); - END_IF; - RETURN (FALSE); - END_IF; - IF 'INTEGER_INTERVAL_TO_MAX' IN stypes THEN - IF 'INTEGER' IN vtypes THEN - tmp_int := v; - RETURN (tmp_int <= s\integer_interval_to_max.max); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_REAL_INTERVAL' IN stypes THEN - IF ('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes) THEN - tmp_real := v; - IF s\finite_real_interval.min_closure = closed THEN - IF s\finite_real_interval.max_closure = closed THEN - RETURN ({s\finite_real_interval.min <= tmp_real <= - s\finite_real_interval.max}); - ELSE - RETURN ({s\finite_real_interval.min <= tmp_real < - s\finite_real_interval.max}); - END_IF; - ELSE - IF s\finite_real_interval.max_closure = closed THEN - RETURN ({s\finite_real_interval.min < tmp_real <= - s\finite_real_interval.max}); - ELSE - RETURN ({s\finite_real_interval.min < tmp_real < - s\finite_real_interval.max}); - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_FROM_MIN' IN stypes THEN - IF ('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes) THEN - tmp_real := v; - IF s\real_interval_from_min.min_closure = closed THEN - RETURN (s\real_interval_from_min.min <= tmp_real); - ELSE - RETURN (s\real_interval_from_min.min < tmp_real); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_TO_MAX' IN stypes THEN - IF ('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes) THEN - tmp_real := v; - IF s\real_interval_to_max.max_closure = closed THEN - RETURN (tmp_real <= s\real_interval_to_max.max); - ELSE - RETURN (tmp_real < s\real_interval_to_max.max); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN stypes THEN - IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN - RETURN (member_of(v\complex_number_literal.real_part, - s\cartesian_complex_number_region.real_constraint) AND - member_of(v\complex_number_literal.imag_part, - s\cartesian_complex_number_region.imag_constraint)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN stypes THEN - IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN - tmp_cmplx := v; - tmp_cmplx.real_part := tmp_cmplx.real_part - - s\polar_complex_number_region.centre.real_part; - tmp_cmplx.imag_part := tmp_cmplx.imag_part - - s\polar_complex_number_region.centre.imag_part; - tmp_real := SQRT (tmp_cmplx.real_part**2 + tmp_cmplx.imag_part**2); - IF NOT member_of(tmp_real, - s\polar_complex_number_region.distance_constraint) THEN - RETURN (FALSE); - END_IF; - IF tmp_real = 0.0 THEN - RETURN (TRUE); -- The centre has no direction. - END_IF; - tmp_real := atan2(tmp_cmplx.imag_part,tmp_cmplx.real_part); - RETURN (member_of(tmp_real, - s\polar_complex_number_region.direction_constraint) OR - member_of(tmp_real + 2.0*PI, - s\polar_complex_number_region.direction_constraint)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_SPACE' IN stypes THEN - smem := s\finite_space.members; - cum := FALSE; - REPEAT i := 1 TO SIZEOF (smem); - cum := cum OR equal_maths_values(v,smem[i]); - IF cum = TRUE THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN - IF 'LIST' IN vtypes THEN - IF SIZEOF (v) = s\uniform_product_space.exponent THEN - sspc := s\uniform_product_space.base; - cum := TRUE; - REPEAT i := 1 TO SIZEOF (v); - cum := cum AND member_of(v[i],sspc); --- cum := cum AND member_of (fedex (v, i), sspc); - -- See note above for explanation of fedex() - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN stypes THEN - IF 'LIST' IN vtypes THEN - factors := s\listed_product_space.factors; - IF SIZEOF (v) = SIZEOF (factors) THEN - cum := TRUE; - REPEAT i := 1 TO SIZEOF (v); - cum := cum AND member_of(v[i],factors[i]); --- cum := cum AND member_of (fedex (v, i), factors[i]); - -- See note above for explanation of fedex() - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN - IF 'LIST' IN vtypes THEN - sspc := s\extended_tuple_space.base; - tmp_int := space_dimension(sspc); - IF SIZEOF (v) >= tmp_int THEN - cum := TRUE; - REPEAT i := 1 TO tmp_int; - cum := cum AND member_of(v[i],factor_space(sspc,i)); --- cum := cum AND member_of (fedex (v, i), factor_space (sspc, i)); - -- See note above for explanation of fedex() - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - sspc := s\extended_tuple_space.extender; - REPEAT i := tmp_int+1 TO SIZEOF (v); - cum := cum AND member_of(v[i],sspc); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN stypes THEN - IF 'MATHS_FUNCTION' IN vtypes THEN - vspc := v\maths_function.domain; - sspc := s\function_space.domain_argument; - CASE s\function_space.domain_constraint OF - sc_equal : cum := equal_maths_spaces (vspc, sspc); - sc_subspace : cum := subspace_of (vspc, sspc); - sc_member : cum := member_of (vspc, sspc); - END_CASE; - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - vspc := v\maths_function.range; - sspc := s\function_space.range_argument; - CASE s\function_space.range_constraint OF - sc_equal : cum := cum AND equal_maths_spaces (vspc, sspc); - sc_subspace : cum := cum AND subspace_of (vspc, sspc); - sc_member : cum := cum AND member_of (vspc, sspc); - END_CASE; - RETURN (cum); - END_IF; - RETURN (FALSE); - END_IF; - -- Should be unreachable - RETURN (UNKNOWN); -END_FUNCTION; -- member_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_maths_value(val : maths_value) : maths_value; - LOCAL - vtypes : SET OF STRING := stripped_typeof(val); - vlist : LIST OF maths_value; - nlist : LIST OF maths_value := []; - END_LOCAL; - IF 'GENERIC_EXPRESSION' IN vtypes THEN - RETURN (simplify_generic_expression(val)); - END_IF; - IF 'LIST' IN vtypes THEN - vlist := val; - REPEAT i := 1 TO SIZEOF (vlist); - INSERT (nlist, simplify_maths_value(vlist[i]), i-1); - END_REPEAT; - RETURN (convert_to_maths_value(nlist)); - END_IF; - RETURN (val); -END_FUNCTION; -- simplify_maths_value - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_generic_expression(expr : generic_expression) : maths_value; - FUNCTION restore_unary(expr : unary_generic_expression; - opnd : generic_expression) : generic_expression; - expr.operand := opnd; - RETURN (expr); - END_FUNCTION; -- restore_unary - FUNCTION restore_binary(expr : binary_generic_expression; - opd1, opd2 : generic_expression) : generic_expression; - expr.operands[1] := opd1; - expr.operands[2] := opd2; - RETURN (expr); - END_FUNCTION; -- restore_binary - FUNCTION restore_mulary(expr : multiple_arity_generic_expression; - ops : LIST OF generic_expression) : generic_expression; - expr.operands := ops; - RETURN (expr); - END_FUNCTION; -- restore_mulary - FUNCTION make_number_literal(nmb : NUMBER) : generic_literal; - IF 'INTEGER' IN TYPEOF (nmb) THEN RETURN (make_int_literal(nmb)); END_IF; - RETURN (make_real_literal(nmb)); - END_FUNCTION; -- make_number_literal; - LOCAL - types : SET OF STRING := stripped_typeof (expr); - v1, v2 : maths_value; - vlist : LIST OF maths_value := []; - op1, op2 : generic_expression; - oplist : LIST OF generic_expression := []; - opnds : LIST [2:?] OF generic_expression; - n, m : INTEGER; - finfun : maths_function_select; - boo : BOOLEAN; - str : STRING; - nmb : NUMBER; - END_LOCAL; - -- Unwrap the elementary kinds of literals - IF 'INT_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\int_literal.the_value)); - END_IF; - IF 'REAL_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\real_literal.the_value)); - END_IF; - IF 'BOOLEAN_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\boolean_literal.the_value)); - END_IF; - IF 'STRING_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\string_literal.the_value)); - END_IF; - IF 'COMPLEX_NUMBER_LITERAL' IN types THEN - RETURN (expr); -- No simpler expression available - END_IF; - IF 'LOGICAL_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\logical_literal.lit_value)); - END_IF; - IF 'BINARY_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\binary_literal.lit_value)); - END_IF; - IF 'MATHS_ENUM_LITERAL' IN types THEN - RETURN (expr\maths_enum_literal.lit_value); - END_IF; - IF 'REAL_TUPLE_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\real_tuple_literal.lit_value)); - END_IF; - IF 'INTEGER_TUPLE_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\integer_tuple_literal.lit_value)); - END_IF; - IF 'ATOM_BASED_LITERAL' IN types THEN - RETURN (expr\atom_based_literal.lit_value); - END_IF; - IF 'MATHS_TUPLE_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\maths_tuple_literal.lit_value)); - END_IF; - -- Simplify one special class of literals - IF 'MATHS_SPACE' IN types THEN - RETURN (simplify_maths_space(expr)); - END_IF; - -- Simplify one special kind of expression - IF 'FUNCTION_APPLICATION' IN types THEN - RETURN (simplify_function_application(expr)); - END_IF; - -- Separate and simplify the operands - IF 'UNARY_GENERIC_EXPRESSION' IN types THEN - v1 := simplify_generic_expression(expr\unary_generic_expression.operand); - op1 := convert_to_operand(v1); - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN types THEN - v1 := simplify_generic_expression(expr\binary_generic_expression.operands[1]); - op1 := convert_to_operand(v1); - v2 := simplify_generic_expression(expr\binary_generic_expression.operands[2]); - op2 := convert_to_operand(v2); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN - opnds := expr\multiple_arity_generic_expression.operands; - REPEAT i := 1 TO SIZEOF (opnds); - v1 := simplify_generic_expression(opnds[i]); - INSERT (vlist, v1, i-1); - INSERT (oplist, convert_to_operand(v1), i-1); - END_REPEAT; - END_IF; - -- Simplify the one kind of maths_function which derives its operands. - IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN - v1 := vlist[1]; - n := SIZEOF (vlist); - finfun := vlist[n]; - REMOVE (vlist, n); - REMOVE (vlist, 1); - RETURN (make_parallel_composed_function(v1,vlist,finfun)); - END_IF; - -- Simplify individual kinds of expressions. It is not necessary to cover all cases. - IF ('ABS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ABS(v1))); - END_IF; - IF ('ACOS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ACOS(v1))); - END_IF; - IF 'AND_EXPRESSION' IN types THEN - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'BOOLEAN' IN TYPEOF (vlist[i]) THEN - boo := vlist[i]; - IF NOT boo THEN RETURN (convert_to_maths_value(FALSE)); END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(TRUE)); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('ASIN_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ASIN(v1))); - END_IF; - IF ('ATAN_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (ATAN(v1,v2))); - END_IF; - IF ('COMPARISON_EXPRESSION' IN types) AND ( - (('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2))) OR - (('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2))) OR - (('BOOLEAN' IN TYPEOF (v1)) AND ('BOOLEAN' IN TYPEOF (v2))) ) THEN - IF 'COMPARISON_EQUAL' IN types THEN boo := bool(v1 = v2); - ELSE IF 'COMPARISON_GREATER' IN types THEN boo := bool(v1 > v2); - ELSE IF 'COMPARISON_GREATER_EQUAL' IN types THEN boo := bool(v1 >= v2); - ELSE IF 'COMPARISON_LESS' IN types THEN boo := bool(v1 < v2); - ELSE IF 'COMPARISON_LESS_EQUAL' IN types THEN boo := bool(v1 <= v2); - ELSE IF 'COMPARISON_NOT_EQUAL' IN types THEN boo := bool(v1 <> v2); - ELSE IF 'LIKE_EXPRESSION' IN types THEN boo := bool(v1 LIKE v2); - ELSE RETURN (?); -- Unreachable - END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; - RETURN (convert_to_maths_value (boo)); - END_IF; - IF 'CONCAT_EXPRESSION' IN types THEN - str := ''; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'STRING' IN TYPEOF (vlist[i]) THEN - str := vlist[i] + str; - REMOVE (oplist, i); - ELSE IF LENGTH(str) > 0 THEN - INSERT (oplist, make_string_literal(str), i); - str := ''; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(str)); END_IF; - IF LENGTH(str) > 0 THEN INSERT (oplist, make_string_literal(str), 0); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('COS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (COS(v1))); - END_IF; - IF ('DIV_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 DIV v2)); - END_IF; - IF 'EQUALS_EXPRESSION' IN types THEN - opnds := expr\binary_generic_expression.operands; - RETURN (convert_to_maths_value (opnds[1] :=: opnds[2])); - END_IF; - IF ('EXP_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (EXP(v1))); - END_IF; - IF ('FORMAT_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (FORMAT(v1,v2))); - END_IF; - IF ('INDEX_EXPRESSION' IN types) AND - ('STRING' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - str := v1; n := v2; - RETURN (convert_to_maths_value (str[n])); - END_IF; - IF ('INT_VALUE_EXPRESSION' IN types) AND ('STRING' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (VALUE(v1))); - END_IF; - IF 'INTERVAL_EXPRESSION' IN types THEN - str := ''; - IF 'NUMBER' IN TYPEOF (vlist[1]) THEN str := 'NUMBER'; END_IF; - IF 'STRING' IN TYPEOF (vlist[1]) THEN str := 'STRING'; END_IF; - IF 'BOOLEAN' IN TYPEOF (vlist[1]) THEN str := 'BOOLEAN'; END_IF; - IF (LENGTH (str) > 0) AND (str IN TYPEOF (vlist[2])) AND - (str IN TYPEOF (vlist[3])) THEN - RETURN (convert_to_maths_value ({vlist[1] <= vlist[2] <= vlist[3]})); - END_IF; - END_IF; - IF ('LENGTH_EXPRESSION' IN types) AND ('STRING' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LENGTH(v1))); - END_IF; - IF ('LOG_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LOG(v1))); - END_IF; - IF ('LOG10_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LOG10(v1))); - END_IF; - IF ('LOG2_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LOG2(v1))); - END_IF; - IF 'MAXIMUM_EXPRESSION' IN types THEN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - IF boo THEN - IF nmb < vlist[i] THEN nmb := vlist[i]; END_IF; - ELSE - nmb := vlist[i]; boo := TRUE; - END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF boo THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - END_IF; - IF 'MINIMUM_EXPRESSION' IN types THEN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - IF boo THEN - IF nmb > vlist[i] THEN nmb := vlist[i]; END_IF; - ELSE - nmb := vlist[i]; boo := TRUE; - END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF boo THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - END_IF; - IF ('MINUS_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 - v2)); - END_IF; - IF ('MOD_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 MOD v2)); - END_IF; - IF 'MULT_EXPRESSION' IN types THEN - nmb := 1; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - nmb := nmb * vlist[i]; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF nmb <> 1 THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('NOT_EXPRESSION' IN types) AND ('BOOLEAN' IN TYPEOF (v1)) THEN - boo := v1; - RETURN (convert_to_maths_value (NOT(boo))); - END_IF; - IF ('ODD_EXPRESSION' IN types) AND ('INTEGER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ODD(v1))); - END_IF; - IF 'OR_EXPRESSION' IN types THEN - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'BOOLEAN' IN TYPEOF (vlist[i]) THEN - boo := vlist[i]; - IF boo THEN RETURN (convert_to_maths_value(TRUE)); END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(FALSE)); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF 'PLUS_EXPRESSION' IN types THEN - nmb := 0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - nmb := nmb + vlist[i]; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF nmb <> 0 THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('POWER_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 ** v2)); - END_IF; - IF ('SIN_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (SIN(v1))); - END_IF; - IF ('SLASH_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 / v2)); - END_IF; - IF ('SQUARE_ROOT_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (SQRT(v1))); - END_IF; - IF ('SUBSTRING_EXPRESSION' IN types) AND - ('STRING' IN TYPEOF (vlist[1])) AND ('NUMBER' IN TYPEOF (vlist[2])) AND - ('NUMBER' IN TYPEOF (vlist[3])) THEN - str := vlist[1]; n := vlist[2]; m := vlist[3]; - RETURN (convert_to_maths_value (str[n:m])); - END_IF; - IF ('TAN_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (TAN(v1))); - END_IF; - IF ('UNARY_MINUS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - nmb := v1; - RETURN (convert_to_maths_value (-nmb)); - END_IF; - IF ('VALUE_EXPRESSION' IN types) AND ('STRING' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (VALUE(v1))); - END_IF; - IF ('XOR_EXPRESSION' IN types) AND - ('BOOLEAN' IN TYPEOF (v1)) AND ('BOOLEAN' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 XOR v2)); - END_IF; - -- No special simplification defined, return same with simplified operands. - IF 'UNARY_GENERIC_EXPRESSION' IN types THEN - RETURN (restore_unary(expr,op1)); - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN types THEN - RETURN (restore_binary(expr,op1,op2)); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN - RETURN (restore_mulary(expr,oplist)); - END_IF; - -- Should be unreachable, but for safety, return unsimplified expression. - RETURN (expr); -END_FUNCTION; -- simplify_generic_expression - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_int_literal(lit_value : INTEGER) : int_literal; - RETURN (int_literal () - || literal_number(lit_value) - || simple_numeric_expression() - || numeric_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_int_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_real_literal(lit_value : REAL) : real_literal; - RETURN (real_literal () - || literal_number(lit_value) - || simple_numeric_expression() - || numeric_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_real_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_maths_value(val : GENERIC:G) : maths_value; - LOCAL - types : SET OF STRING := TYPEOF (val); - ival : maths_integer; - rval : maths_real; - nval : maths_number; - tfval : maths_boolean; - lval : maths_logical; - sval : maths_string; - bval : maths_binary; - tval : maths_tuple := the_empty_maths_tuple; - mval : maths_value; - END_LOCAL; - IF (schema_prefix + 'MATHS_VALUE') IN types THEN RETURN (val); END_IF; - IF 'INTEGER' IN types THEN ival := val; RETURN (ival); END_IF; - IF 'REAL' IN types THEN rval := val; RETURN (rval); END_IF; - IF 'NUMBER' IN types THEN nval := val; RETURN (nval); END_IF; - IF 'BOOLEAN' IN types THEN tfval := val; RETURN (tfval); END_IF; - IF 'LOGICAL' IN types THEN lval := val; RETURN (lval); END_IF; - IF 'STRING' IN types THEN sval := val; RETURN (sval); END_IF; - IF 'BINARY' IN types THEN bval := val; RETURN (bval); END_IF; - IF 'LIST' IN types THEN - REPEAT i := 1 TO SIZEOF (val); - mval := convert_to_maths_value (val[i]); - IF NOT EXISTS (mval) THEN RETURN (?); END_IF; - INSERT (tval, mval, i-1); - END_REPEAT; - RETURN (tval); - END_IF; - RETURN (?); -END_FUNCTION; -- convert_to_maths_value - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_maths_space(spc : maths_space) : maths_space; - LOCAL - stypes : SET OF STRING := stripped_typeof (spc); - sset : SET OF maths_value; - zset : SET OF maths_value := []; - zval : maths_value; - zspc : maths_space; - zallint : BOOLEAN := TRUE; - zint, zmin, zmax : INTEGER; - factors : LIST OF maths_space; - zfactors : LIST OF maths_space := []; - rspc : maths_space; - END_LOCAL; - IF 'FINITE_SPACE' IN stypes THEN - sset := spc\finite_space.members; - REPEAT i := 1 TO SIZEOF (sset); - zval := simplify_maths_value(sset[i]); - zset := zset + [zval]; - IF zallint AND ('INTEGER' IN TYPEOF (zval)) THEN - zint := zval; - IF i = 1 THEN - zmin := zint; - zmax := zint; - ELSE - IF zint < zmin THEN - zmin := zint; - END_IF; - IF zint > zmax THEN - zmax := zint; - END_IF; - END_IF; - ELSE - zallint := FALSE; - END_IF; - END_REPEAT; - IF zallint AND (SIZEOF(zset) = zmax-zmin+1) THEN - RETURN (make_finite_integer_interval(zmin,zmax)); - END_IF; - RETURN (make_finite_space(zset)); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN - zspc := simplify_maths_space(spc\uniform_product_space.base); - RETURN (make_uniform_product_space(zspc,spc\uniform_product_space.exponent)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN stypes THEN - factors := spc\listed_product_space.factors; - REPEAT i := 1 TO SIZEOF (factors); - INSERT (zfactors, simplify_maths_space(factors[i]), i-1); - END_REPEAT; - RETURN (make_listed_product_space(zfactors)); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN - zspc := simplify_maths_space(spc\extended_tuple_space.base); - rspc := simplify_maths_space(spc\extended_tuple_space.extender); - RETURN (make_extended_tuple_space(zspc,rspc)); - END_IF; - IF 'FUNCTION_SPACE' IN stypes THEN - zspc := simplify_maths_space(spc\function_space.domain_argument); - rspc := simplify_maths_space(spc\function_space.range_argument); - RETURN (make_function_space(spc\function_space.domain_constraint,zspc, - spc\function_space.range_constraint,rspc)); - END_IF; - RETURN (spc); -END_FUNCTION; -- simplify_maths_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_finite_integer_interval(min : INTEGER; - max : INTEGER) : finite_integer_interval; - RETURN (finite_integer_interval (min, max) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_finite_integer_interval - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_finite_space(members : SET OF maths_value) : finite_space; - RETURN (finite_space (members) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_finite_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_uniform_product_space(base : maths_space; - exponent : positive_integer) - : uniform_product_space; - RETURN (uniform_product_space (base, exponent) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_uniform_product_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_listed_product_space(factors : LIST OF maths_space) - : listed_product_space; - RETURN (listed_product_space (factors) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_listed_product_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION expression_is_constant(expr : generic_expression) : BOOLEAN; - RETURN (bool(SIZEOF (free_variables_of (expr)) = 0)); -END_FUNCTION; -- expression_is_constant - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION bool(lgcl: LOGICAL) : BOOLEAN; - IF NOT EXISTS (lgcl) THEN RETURN (FALSE); END_IF; - IF lgcl <> TRUE THEN RETURN (FALSE); END_IF; - RETURN (TRUE); -END_FUNCTION; -- bool - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION free_variables_of(expr : generic_expression) : SET OF generic_variable; - LOCAL - typenames : SET OF STRING := stripped_typeof(expr); - result : SET OF generic_variable := []; - exprs : LIST OF generic_expression := []; - END_LOCAL; - IF 'GENERIC_LITERAL' IN typenames THEN - RETURN (result); - END_IF; - IF 'GENERIC_VARIABLE' IN typenames THEN - result := result + expr; - RETURN (result); - END_IF; - IF 'QUANTIFIER_EXPRESSION' IN typenames THEN - exprs := QUERY (ge <* expr\multiple_arity_generic_expression.operands | - NOT (ge IN expr\quantifier_expression.variables)); - REPEAT i := 1 TO SIZEOF (exprs); - result := result + free_variables_of (exprs[i]); - END_REPEAT; - REPEAT i := 1 TO SIZEOF (expr\quantifier_expression.variables); - result := result - expr\quantifier_expression.variables[i]; - END_REPEAT; - RETURN (result); - END_IF; - IF 'UNARY_GENERIC_EXPRESSION' IN typenames THEN - RETURN (free_variables_of (expr\unary_generic_expression.operand)); - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN typenames THEN - result := free_variables_of (expr\binary_generic_expression.operands[1]); - RETURN (result + free_variables_of (expr\binary_generic_expression.operands[2])); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN typenames THEN - REPEAT i := 1 TO SIZEOF (expr\multiple_arity_generic_expression.operands); - result := result + free_variables_of ( - expr\multiple_arity_generic_expression.operands[i]); - END_REPEAT; - RETURN (result); - END_IF; - -- In this case the subtype shall not contain any variable (see IP1 in - -- generic_expression). - RETURN (result); -END_FUNCTION; -- free_variables_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION no_cyclic_space_reference(spc : maths_space; - refs : SET OF maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING; - refs_plus : SET OF maths_space; - END_LOCAL; - IF (spc IN refs) THEN - RETURN (FALSE); - END_IF; - types := TYPEOF (spc); - refs_plus := refs + spc; - IF (schema_prefix + 'FINITE_SPACE') IN types THEN - RETURN (bool(SIZEOF (QUERY (sp <* QUERY (mem <* spc\finite_space.members | - (schema_prefix + 'MATHS_SPACE') IN TYPEOF (mem)) | - NOT no_cyclic_space_reference (sp, refs_plus))) = 0)); - END_IF; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN types THEN - RETURN (no_cyclic_space_reference (spc\uniform_product_space.base, refs_plus)); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN types THEN - RETURN (bool(SIZEOF (QUERY (fac <* spc\listed_product_space.factors | - NOT no_cyclic_space_reference (fac, refs_plus))) = 0)); - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN types THEN - RETURN (no_cyclic_space_reference (spc\extended_tuple_space.base, refs_plus) - AND no_cyclic_space_reference (spc\extended_tuple_space.extender, refs_plus)); - END_IF; - -- spc contains no references to other spaces - RETURN (TRUE); -END_FUNCTION; -- no_cyclic_space_reference - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_extended_tuple_space(base : product_space; - extender : maths_space) : extended_tuple_space; - RETURN (extended_tuple_space (base, extender) - || maths_space () - || generic_expression() - || generic_literal () - || simple_generic_expression() ); -END_FUNCTION; -- make_extended_tuple_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION any_space_satisfies(sc : space_constraint_type; - spc : maths_space) : BOOLEAN; - LOCAL - spc_id : elementary_space_enumerators; - END_LOCAL; - IF (sc = sc_equal) OR NOT ('ELEMENTARY_SPACE' IN stripped_typeof(spc)) THEN - RETURN (FALSE); - END_IF; - spc_id := spc\elementary_space.space_id; - IF sc = sc_subspace THEN - RETURN (bool(spc_id = es_generics)); - END_IF; - IF sc = sc_member THEN - RETURN (bool((spc_id = es_generics) OR (spc_id = es_maths_spaces))); - END_IF; - -- Should be unreachable. - RETURN (?); -END_FUNCTION; -- any_space_satisfies - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_function_space(domain_constraint : space_constraint_type; - domain_argument : maths_space; - range_constraint : space_constraint_type; - range_argument : maths_space) : function_space; - RETURN (function_space (domain_constraint, domain_argument, range_constraint, - range_argument) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_function_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_function_application(expr : function_application) : maths_value; - FUNCTION ctmv(x : GENERIC:G) : maths_value; - RETURN (convert_to_maths_value(x)); - END_FUNCTION; -- local abbreviation for convert_to_maths_value function - PROCEDURE parts( c : complex_number_literal; - VAR x, y : REAL); - x := c.real_part; y := c.imag_part; - END_PROCEDURE; -- parts - FUNCTION makec(x, y : REAL) : complex_number_literal; - RETURN (make_complex_number_literal(x,y)); - END_FUNCTION; -- local abbreviation for make_complex_number_literal function - FUNCTION good_t(v : maths_value; - tn : STRING) : BOOLEAN; - LOCAL - tpl : LIST OF maths_value; - END_LOCAL; - IF 'LIST' IN TYPEOF (v) THEN - tpl := v; - REPEAT i := 1 TO SIZEOF (tpl); - IF NOT (tn IN TYPEOF (tpl[i])) THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - RETURN (FALSE); - END_FUNCTION; -- good_t - CONSTANT - cnlit : STRING := schema_prefix + 'COMPLEX_NUMBER_LITERAL'; - END_CONSTANT; - LOCAL - types : SET OF STRING := stripped_typeof(expr.func); - ef_val : elementary_function_enumerators; - is_elementary : BOOLEAN := FALSE; - v, v1, v2, v3 : maths_value; - vlist : LIST OF maths_value := []; - gexpr : generic_expression; - pairs : SET [1:?] OF LIST [2:2] OF maths_value; - boo : BOOLEAN; - lgc, cum : LOGICAL; - j, k, n : INTEGER; - p, q, r, s, t, u : REAL; - str, st2 : STRING; - bin, bi2 : BINARY; - tpl, tp2 : LIST OF maths_value; - mem :SET OF maths_value := []; - END_LOCAL; - REPEAT i := 1 TO SIZEOF (expr.arguments); - v := simplify_maths_value(expr.arguments[i]); - INSERT (vlist, v, i-1); - END_REPEAT; - IF SIZEOF (vlist) >= 1 THEN v1 := vlist[1]; END_IF; - IF SIZEOF (vlist) >= 2 THEN v2 := vlist[2]; END_IF; - IF SIZEOF (vlist) >= 3 THEN v3 := vlist[3]; END_IF; - IF 'ELEMENTARY_FUNCTION_ENUMERATORS' IN types THEN - ef_val := expr.func; - is_elementary := TRUE; - END_IF; - IF 'ELEMENTARY_FUNCTION' IN types THEN - ef_val := expr.func\elementary_function.func_id; - is_elementary := TRUE; - END_IF; - IF is_elementary THEN - CASE ef_val OF - ef_and : BEGIN - cum := TRUE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'LOGICAL' IN TYPEOF (vlist[i]) THEN - lgc := vlist[i]; cum := cum AND lgc; - IF lgc = FALSE THEN RETURN (ctmv(FALSE)); END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(cum)); END_IF; - IF cum <> TRUE THEN INSERT (vlist, ctmv(cum), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_or : BEGIN - cum := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'LOGICAL' IN TYPEOF (vlist[i]) THEN - lgc := vlist[i]; cum := cum OR lgc; - IF lgc = TRUE THEN RETURN (ctmv(TRUE)); END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(cum)); END_IF; - IF cum <> FALSE THEN INSERT (vlist, ctmv(cum), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_not : - IF 'LOGICAL' IN TYPEOF (v1) THEN lgc := v1; RETURN (ctmv(NOT lgc)); END_IF; - ef_xor : BEGIN - IF 'LOGICAL' IN TYPEOF (v1) THEN - lgc := v1; - IF 'LOGICAL' IN TYPEOF (v2) THEN cum := v2; RETURN (ctmv(lgc XOR cum)); - ELSE IF lgc = FALSE THEN RETURN (ctmv(v2)); - ELSE IF lgc = UNKNOWN THEN RETURN (ctmv(UNKNOWN)); - ELSE RETURN (make_function_application(ef_not,[v2])); - END_IF; END_IF; END_IF; - ELSE IF 'LOGICAL' IN TYPEOF (v2) THEN - lgc := v2; - IF lgc = FALSE THEN RETURN (ctmv(v1)); - ELSE IF lgc = UNKNOWN THEN RETURN (ctmv(UNKNOWN)); - ELSE RETURN (make_function_application(ef_not,[v1])); - END_IF; END_IF; - END_IF; END_IF; - END; - ef_negate_i : - IF 'INTEGER' IN TYPEOF (v1) THEN j := v1; RETURN (ctmv(-j)); END_IF; - ef_add_i : BEGIN - j := 0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - k := vlist[i]; j := j + k; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF j <> 0 THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j - k)); - END_IF; - ef_multiply_i : BEGIN - j := 1; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - k := vlist[i]; j := j * k; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF j <> 1 THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_divide_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j DIV k)); - END_IF; - ef_mod_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j MOD k)); - END_IF; - ef_exponentiate_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; n := 1; - REPEAT i := 1 TO ABS(k); n := n * j; END_REPEAT; - IF k < 0 THEN n := 1 DIV n; END_IF; - RETURN (ctmv(n)); - END_IF; - ef_eq_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j = k)); - END_IF; - ef_ne_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j <> k)); - END_IF; - ef_gt_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j > k)); - END_IF; - ef_lt_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j < k)); - END_IF; - ef_ge_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j >= k)); - END_IF; - ef_le_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j <= k)); - END_IF; - ef_abs_i : - IF 'INTEGER' IN TYPEOF (v1) THEN j := v1; RETURN (ctmv(ABS(j))); END_IF; - ef_max_i : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - IF boo THEN k := vlist[i]; IF k > j THEN j := k; END_IF; - ELSE j := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF boo THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_min_i : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - IF boo THEN k := vlist[i]; IF k < j THEN j := k; END_IF; - ELSE j := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF boo THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - -- ef_if_i : combined with ef_if - ef_negate_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(-r)); END_IF; - ef_reciprocal_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(1.0/r)); END_IF; - ef_add_r : BEGIN - r := 0.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - s := vlist[i]; r := r + s; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF r <> 0.0 THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r - s)); - END_IF; - ef_multiply_r : BEGIN - r := 1.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - s := vlist[i]; r := r * s; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF r <> 1.0 THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_divide_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r / s)); - END_IF; - ef_mod_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; t := r/s; j := t DIV 1; - IF (t < 0.0) AND (j <> t) THEN j := j - 1; END_IF; - RETURN (ctmv(r - j * s)); - END_IF; - ef_exponentiate_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r ** s)); - END_IF; - ef_exponentiate_ri : - IF ('REAL' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - r := v1; k := v2; t := 1.0; - REPEAT i := 1 TO ABS(k); t := t * r; END_REPEAT; - IF k < 0 THEN t := 1.0/t; END_IF; - RETURN (ctmv(t)); - END_IF; - ef_eq_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r = s)); - END_IF; - ef_ne_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r <> s)); - END_IF; - ef_gt_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r > s)); - END_IF; - ef_lt_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r < s)); - END_IF; - ef_ge_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r >= s)); - END_IF; - ef_le_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r <= s)); - END_IF; - ef_abs_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(ABS(r))); END_IF; - ef_max_r : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - IF boo THEN s := vlist[i]; IF s > r THEN r := s; END_IF; - ELSE r := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF boo THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_min_r : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - IF boo THEN s := vlist[i]; IF s < r THEN r := s; END_IF; - ELSE r := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF boo THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_acos_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(ACOS(r))); END_IF; - ef_asin_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(ASIN(r))); END_IF; - ef_atan2_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(atan2(r,s))); - END_IF; - ef_cos_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(COS(r))); END_IF; - ef_exp_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(EXP(r))); END_IF; - ef_ln_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(LOG(r))); END_IF; - ef_log2_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(LOG2(r))); END_IF; - ef_log10_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(LOG10(r))); END_IF; - ef_sin_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(SIN(r))); END_IF; - ef_sqrt_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(SQRT(r))); END_IF; - ef_tan_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(TAN(r))); END_IF; - -- ef_if_r : combined with ef_if - ef_form_c : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (makec(r,s)); - END_IF; - ef_rpart_c : - IF cnlit IN TYPEOF (v1) THEN - RETURN (ctmv(v1\complex_number_literal.real_part)); - END_IF; - ef_ipart_c : - IF cnlit IN TYPEOF (v1) THEN - RETURN (ctmv(v1\complex_number_literal.imag_part)); - END_IF; - ef_negate_c : - IF cnlit IN TYPEOF (v1) THEN parts(v1,p,q); RETURN (makec(-p,-q)); END_IF; - ef_reciprocal_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := p*p + q*q; RETURN (makec(p/t,-q/t)); - END_IF; - ef_add_c : BEGIN - p := 0.0; q := 0.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF cnlit IN TYPEOF (vlist[i]) THEN - parts(vlist[i],r,s); p := p + r; q := q + s; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (makec(p,q)); END_IF; - IF p*p+q*q <> 0.0 THEN INSERT (vlist, makec(p,q), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); RETURN (makec(p-r,q-s)); - END_IF; - ef_multiply_c : BEGIN - p := 1.0; q := 0.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF cnlit IN TYPEOF (vlist[i]) THEN - parts(vlist[i],r,s); p := p*r-q*s; q := p*s+q*r; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (makec(p,q)); END_IF; - IF (p <> 1.0) OR (q <> 0.0) THEN INSERT (vlist, makec(p,q), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_divide_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); t := r*r+s*s; - RETURN (makec((p*r+q*s)/t,(q*r-p*s)/t)); - END_IF; - ef_exponentiate_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); t := 0.5*LOG(p*p+q*q); u := atan2(q,p); - p := r*t-s*u; q := r*u+s*t; r := EXP(p); - RETURN (makec(r*COS(q),r*SIN(q))); - END_IF; - ef_exponentiate_ci : - IF (cnlit IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - parts(v1,p,q); k := v2; r := 1.0; s := 0.0; - REPEAT i := 1 TO ABS(k); r := p*r-q*s; s := p*s+q*r; END_REPEAT; - IF k < 0 THEN t := r*r+s*s; r := r/t; s := -s/t; END_IF; - RETURN (makec(r,s)); - END_IF; - ef_eq_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); RETURN (ctmv((p = r) AND (q = s))); - END_IF; - ef_ne_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); RETURN (ctmv((p <> r) OR (q <> s))); - END_IF; - ef_conjugate_c : - IF cnlit IN TYPEOF (v1) THEN parts(v1,p,q); RETURN (makec(p,-q)); END_IF; - ef_abs_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (ctmv(SQRT(p*p+q*q))); - END_IF; - ef_arg_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (ctmv(atan2(q,p))); - END_IF; - ef_cos_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := 0.5*EXP(-q); u := 0.5*EXP(q); - RETURN (makec((t+u)*COS(p),(t-u)*SIN(p))); - END_IF; - ef_exp_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (makec(EXP(p)*COS(q),EXP(p)*SIN(q))); - END_IF; - ef_ln_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (makec(0.5*LOG(p*p+q*q),atan2(q,p))); - END_IF; - ef_sin_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := 0.5*EXP(-q); u := 0.5*EXP(q); - RETURN (makec((t+u)*SIN(p),(u-t)*COS(p))); - END_IF; - ef_sqrt_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := SQRT(SQRT(p*p+q*q)); u := 0.5*atan2(q,p); - RETURN (makec(t*COS(u),t*SIN(u))); - END_IF; - ef_tan_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := EXP(2.0*q) + EXP(-2.0*q) + 2.0*COS(2.0*p); - RETURN (makec(2.0*SIN(2.0*p)/t,(EXP(-2.0*q)-EXP(2.0*q))/t)); - END_IF; - -- ef_if_c : combined with ef_if - ef_subscript_s : - IF ('STRING' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - str := v1; k := v2; RETURN (ctmv(str[k])); - END_IF; - ef_eq_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str = st2)); - END_IF; - ef_ne_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str <> st2)); - END_IF; - ef_gt_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str > st2)); - END_IF; - ef_lt_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str < st2)); - END_IF; - ef_ge_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str >= st2)); - END_IF; - ef_le_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str <= st2)); - END_IF; - ef_subsequence_s : - IF ('STRING' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) AND - ('INTEGER' IN TYPEOF (v3)) THEN - str := v1; j := v2; k := v3; RETURN (ctmv(str[j:k])); - END_IF; - ef_concat_s : BEGIN - str := ''; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'STRING' IN TYPEOF (vlist[i]) THEN - st2 := vlist[i]; str := str + st2; - REMOVE (vlist, i); - ELSE IF str <> '' THEN - INSERT (vlist, ctmv(str), i); - str := ''; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(str)); END_IF; - IF str <> '' THEN INSERT (vlist, ctmv(str), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_size_s : - IF 'STRING' IN TYPEOF (v1) THEN str:=v1; RETURN (ctmv(LENGTH(str))); END_IF; - ef_format : - IF ('NUMBER' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - RETURN (ctmv(FORMAT(v1,v2))); - END_IF; - ef_value : - IF 'STRING' IN TYPEOF (v1) THEN str:=v1; RETURN (ctmv(VALUE(str))); END_IF; - ef_like : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - RETURN (ctmv(v1 LIKE v2)); - END_IF; - -- ef_if_s : combined with ef_if - ef_subscript_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - bin := v1; k := v2; RETURN (ctmv(bin[k])); - END_IF; - ef_eq_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin = bi2)); - END_IF; - ef_ne_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin <> bi2)); - END_IF; - ef_gt_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin > bi2)); - END_IF; - ef_lt_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin < bi2)); - END_IF; - ef_ge_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin >= bi2)); - END_IF; - ef_le_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin <= bi2)); - END_IF; - ef_subsequence_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) AND - ('INTEGER' IN TYPEOF (v3)) THEN - bin := v1; j := v2; k := v3; RETURN (ctmv(bin[j:k])); - END_IF; - ef_concat_b : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'BINARY' IN TYPEOF (vlist[i]) THEN - IF boo THEN bi2 := vlist[i]; bin := bin + bi2; - ELSE bin := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - ELSE IF boo THEN - INSERT (vlist, ctmv(bin), i); - boo := FALSE; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(bin)); END_IF; - IF boo THEN INSERT (vlist, ctmv(bin), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_size_b : - IF 'BINARY' IN TYPEOF (v1) THEN bin:=v1; RETURN (ctmv(BLENGTH(bin))); END_IF; - -- ef_if_b : combined with ef_if - ef_subscript_t : - IF ('LIST' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - tpl := v1; k := v2; RETURN (ctmv(tpl[k])); - END_IF; - ef_eq_t : - IF ('LIST' IN TYPEOF (v1)) AND ('LIST' IN TYPEOF (v2)) THEN - lgc := equal_maths_values(v1,v2); - IF lgc <> UNKNOWN THEN RETURN (ctmv(lgc)); END_IF; - END_IF; - ef_ne_t : - IF ('LIST' IN TYPEOF (v1)) AND ('LIST' IN TYPEOF (v2)) THEN - lgc := equal_maths_values(v1,v2); - IF lgc <> UNKNOWN THEN RETURN (ctmv(NOT lgc)); END_IF; - END_IF; - ef_concat_t : BEGIN - tpl := []; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'STRING' IN TYPEOF (vlist[i]) THEN - tp2 := vlist[i]; tpl := tpl + tp2; - REMOVE (vlist, i); - ELSE IF SIZEOF (tpl) <> 0 THEN - INSERT (vlist, ctmv(tpl), i); - tpl := []; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF SIZEOF (tpl) <> 0 THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_size_t : - IF 'LIST' IN TYPEOF (v1) THEN tpl:=v1; RETURN (ctmv(SIZEOF(tpl))); END_IF; - ef_entuple : - RETURN (ctmv(vlist)); - ef_detuple : -- This can have multiple outputs, but the expression only - -- denotes the first. - IF 'LIST' IN TYPEOF (v1) THEN tpl:=v1; RETURN (ctmv(tpl[1])); END_IF; - ef_insert : - IF ('LIST' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v3)) THEN - tpl := v1; k := v3; INSERT (tpl, v2, k); RETURN (ctmv(tpl)); - END_IF; - ef_remove : - IF ('LIST' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - tpl := v1; k := v2; REMOVE (tpl, k); RETURN (ctmv(tpl)); - END_IF; - -- ef_if_t : combined with ef_if - ef_sum_it : - IF good_t(v1,'INTEGER') THEN - tpl := v1; j := 0; - REPEAT i := 1 TO SIZEOF (tpl); j := j + tpl[i]; END_REPEAT; - RETURN (ctmv(j)); - END_IF; - ef_product_it : - IF good_t(v1,'INTEGER') THEN - tpl := v1; j := 1; - REPEAT i := 1 TO SIZEOF (tpl); j := j * tpl[i]; END_REPEAT; - RETURN (ctmv(j)); - END_IF; - ef_add_it : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF good_t(vlist[i],'INTEGER') THEN - IF NOT boo THEN tpl := vlist[i]; boo := TRUE; - ELSE - tp2 := vlist[i]; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT l := 1 TO SIZEOF (tpl); tpl[j] := tpl[j] + tp2[j]; END_REPEAT; - END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF boo THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_it : - IF good_t(v1,'INTEGER') AND good_t(v2,'INTEGER') THEN - tpl := v1; tp2 := v2; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := tpl[i] - tp2[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_scalar_mult_it : - IF ('INTEGER' IN TYPEOF (v1)) AND good_t(v2,'INTEGER') THEN - j := v1; tpl := v2; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := j * tpl[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_dot_prod_it : - IF good_t(v1,'INTEGER') AND good_t(v2,'INTEGER') THEN - tpl := v1; tp2 := v2; j := 0; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); j := j + tpl[i] * tp2[i]; END_REPEAT; - RETURN (ctmv(j)); - END_IF; - ef_sum_rt : - IF good_t(v1,'REAL') THEN - tpl := v1; r := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); r := r + tpl[i]; END_REPEAT; - RETURN (ctmv(r)); - END_IF; - ef_product_rt : - IF good_t(v1,'REAL') THEN - tpl := v1; r := 1.0; - REPEAT i := 1 TO SIZEOF (tpl); r := r * tpl[i]; END_REPEAT; - RETURN (ctmv(r)); - END_IF; - ef_add_rt : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF good_t(vlist[i],'REAL') THEN - IF NOT boo THEN tpl := vlist[i]; boo := TRUE; - ELSE - tp2 := vlist[i]; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT l := 1 TO SIZEOF (tpl); tpl[j] := tpl[j] + tp2[j]; END_REPEAT; - END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF boo THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_rt : - IF good_t(v1,'REAL') AND good_t(v2,'REAL') THEN - tpl := v1; tp2 := v2; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := tpl[i] - tp2[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_scalar_mult_rt : - IF ('REAL' IN TYPEOF (v1)) AND good_t(v2,'REAL') THEN - r := v1; tpl := v2; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := r * tpl[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_dot_prod_rt : - IF good_t(v1,'REAL') AND good_t(v2,'REAL') THEN - tpl := v1; tp2 := v2; r := 0; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); r := r + tpl[i] * tp2[i]; END_REPEAT; - RETURN (ctmv(r)); - END_IF; - ef_norm_rt : - IF good_t(v1,'REAL') THEN - tpl := v1; r := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); r := r + tpl[i]*tpl[i]; END_REPEAT; - RETURN (ctmv(SQRT(r))); - END_IF; - ef_sum_ct : - IF good_t(v1,cnlit) THEN - tpl := v1; p := 0.0; q := 0.0; - REPEAT i:=1 TO SIZEOF (tpl); parts(tpl[i],r,s); p:=p+r; q:=q+s; END_REPEAT; - RETURN (makec(p,q)); - END_IF; - ef_product_ct : - IF good_t(v1,cnlit) THEN - tpl := v1; p := 1.0; q := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],r,s); p := p*r-q*s; q := p*s+q*r; - END_REPEAT; - RETURN (makec(p,q)); - END_IF; - ef_add_ct : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF good_t(vlist[i],cnlit) THEN - IF NOT boo THEN tpl := vlist[i]; boo := TRUE; - ELSE - tp2 := vlist[i]; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT l := 1 TO SIZEOF (tpl); - parts(tpl[j],p,q); parts(tp2[j],r,s); tpl[j] := makec(p+r,q+s); - END_REPEAT; - END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF boo THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_ct : - IF good_t(v1,cnlit) AND good_t(v2,cnlit) THEN - tpl := v1; tp2 := v2; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],p,q); parts(tp2[i],r,s); tpl[i] := makec(p-r,q-s); - END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_scalar_mult_ct : - IF (cnlit IN TYPEOF (v1)) AND good_t(v2,cnlit) THEN - parts(v1,p,q); tpl := v2; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],r,s); tpl[i] := makec(p*r-q*s,p*s+q*r); - END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_dot_prod_ct : - IF good_t(v1,cnlit) AND good_t(v2,cnlit) THEN - tpl := v1; tp2 := v2; t := 0.0; u := 0.0; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],p,q); parts(tp2[i],r,s); t := t + p*r+q*s; u := u + q*r-p*s; - END_REPEAT; - RETURN (makec(t,u)); - END_IF; - ef_norm_ct : - IF good_t(v1,cnlit) THEN - tpl := v1; r := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); parts(tpl[i],p,q); r:=r+p*p+q*q; END_REPEAT; - RETURN (ctmv(SQRT(r))); - END_IF; - ef_if, ef_if_i, ef_if_r, ef_if_c, ef_if_s, ef_if_b, ef_if_t : - IF 'LOGICAL' IN TYPEOF (v1) THEN - lgc := v1; IF lgc THEN RETURN (v2); ELSE RETURN (v3); END_IF; - END_IF; - ef_ensemble : -- (mem + vlist) effectively converts list to set - RETURN (make_finite_space(mem + vlist)); - ef_member_of : - IF (schema_prefix + 'MATHS_SPACE') IN TYPEOF (v2) THEN - lgc := member_of(v1,v2); - IF lgc <> UNKNOWN THEN RETURN (ctmv(lgc)); END_IF; - END_IF; - END_CASE; - RETURN (make_function_application(expr.func,vlist)); - END_IF; - IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN types THEN - gexpr := substitute(expr.func\abstracted_expression_function.expr, - expr.func\quantifier_expression.variables,vlist); - RETURN (simplify_generic_expression(gexpr)); - END_IF; - IF 'FINITE_FUNCTION' IN types THEN - pairs := expr.func\finite_function.pairs; - REPEAT i := 1 TO SIZEOF (pairs); - IF equal_maths_values(vlist[1],pairs[i][1]) THEN - RETURN (simplify_maths_value(pairs[i][2])); - END_IF; - END_REPEAT; - RETURN (make_function_application(expr.func,vlist)); - END_IF; - RETURN (expr); -END_FUNCTION; -- simplify_function_application - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_maths_function(func : maths_function_select) : maths_function; - LOCAL - efenum : elementary_function_enumerators; - mthfun : maths_function; - END_LOCAL; - IF (schema_prefix + 'MATHS_FUNCTION') IN TYPEOF (func) THEN - mthfun := func; - ELSE - efenum := func; - mthfun := make_elementary_function (efenum); - END_IF; - RETURN (mthfun); -END_FUNCTION; -- convert_to_maths_function - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_function_domain(func : maths_function) : tuple_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(func); - tspace : tuple_space := make_listed_product_space ([]); - shape : LIST OF positive_integer; - sidxs : LIST OF INTEGER := [0]; - itvl : finite_integer_interval; - factors : LIST OF finite_integer_interval := []; - is_uniform : BOOLEAN := TRUE; - END_LOCAL; - IF 'FINITE_FUNCTION' IN typenames THEN - RETURN (derive_finite_function_domain (func\finite_function.pairs)); - END_IF; - IF 'CONSTANT_FUNCTION' IN typenames THEN - RETURN (domain_from (func\constant_function.source_of_domain)); - END_IF; - IF 'SELECTOR_FUNCTION' IN typenames THEN - RETURN (domain_from (func\selector_function.source_of_domain)); - END_IF; - IF 'ELEMENTARY_FUNCTION' IN typenames THEN - RETURN (derive_elementary_function_domain (func\elementary_function.func_id)); - END_IF; - IF 'RESTRICTION_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (func\restriction_function.operand)); - END_IF; - IF 'REPACKAGING_FUNCTION' IN typenames THEN - IF func\repackaging_function.input_repack = ro_nochange THEN - RETURN (func\repackaging_function.operand.domain); - END_IF; - IF func\repackaging_function.input_repack = ro_wrap_as_tuple THEN - RETURN (factor1 (func\repackaging_function.operand.domain)); - END_IF; - IF func\repackaging_function.input_repack = ro_unwrap_tuple THEN - RETURN (one_tuples_of (func\repackaging_function.operand.domain)); - END_IF; - -- Unreachable, as there is no other possible value for input_repack. - RETURN (?); - END_IF; - IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN - shape := shape_of_array(func\unary_generic_expression.operand); - sidxs := func\reindexed_array_function.starting_indices; - REPEAT i := 1 TO SIZEOF (shape); - itvl := make_finite_integer_interval (sidxs[i], sidxs[i]+shape[i]-1); - INSERT (factors, itvl, i-1); - IF shape[i] <> shape[1] THEN is_uniform := FALSE; END_IF; - END_REPEAT; - IF is_uniform THEN - RETURN (make_uniform_product_space (factors[1], SIZEOF (shape))); - END_IF; - RETURN (make_listed_product_space (factors)); - END_IF; - IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN - RETURN (func\series_composed_function.operands[1].domain); - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN - RETURN (domain_from (func\parallel_composed_function.source_of_domain)); - END_IF; - IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN - shape := func\explicit_table_function.shape; - sidxs[1] := func\explicit_table_function.index_base; - REPEAT i := 1 TO SIZEOF (shape); - itvl := make_finite_integer_interval (sidxs[1], sidxs[1]+shape[i]-1); - INSERT (factors, itvl, i-1); - IF shape[i] <> shape[1] THEN is_uniform := FALSE; END_IF; - END_REPEAT; - IF is_uniform THEN - RETURN (make_uniform_product_space (factors[1], SIZEOF (shape))); - END_IF; - RETURN (make_listed_product_space (factors)); - END_IF; - IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\homogeneous_linear_function.mat.range), - func\homogeneous_linear_function.mat\explicit_table_function.shape - [func\homogeneous_linear_function.sum_index]))); - END_IF; - IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\general_linear_function.mat.range), - func\general_linear_function.mat\explicit_table_function.shape - [func\general_linear_function.sum_index] - 1))); - END_IF; - IF 'B_SPLINE_BASIS' IN typenames THEN - RETURN (one_tuples_of (make_finite_real_interval - (func\b_spline_basis.repeated_knots[func\b_spline_basis.order], closed, - func\b_spline_basis.repeated_knots[func\b_spline_basis.num_basis+1], closed))); - END_IF; - IF 'B_SPLINE_FUNCTION' IN typenames THEN - REPEAT i := 1 TO SIZEOF (func\b_spline_function.basis); - tspace := assoc_product_space (tspace, func\b_spline_function.basis[i].domain); - END_REPEAT; - RETURN (one_tuples_of (tspace)); - END_IF; - IF 'RATIONALIZE_FUNCTION' IN typenames THEN - RETURN (func\rationalize_function.fun.domain); - END_IF; - IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN - RETURN (func\partial_derivative_function.derivand.domain); - END_IF; - IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN - RETURN (derive_definite_integral_domain(func)); - END_IF; - IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN - REPEAT i := 1 TO SIZEOF (func\abstracted_expression_function.variables); - tspace := assoc_product_space (tspace, one_tuples_of (values_space_of - (func\abstracted_expression_function.variables[i]))); - END_REPEAT; - RETURN (tspace); - END_IF; - IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN - RETURN (values_space_of (func\expression_denoted_function.expr)\function_space. - domain_argument); - END_IF; - IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_listed_product_space ([]))); - END_IF; - IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN - RETURN (func\imported_curve_function.parametric_domain); - END_IF; - IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN - RETURN (func\imported_surface_function.parametric_domain); - END_IF; - IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN - RETURN (func\imported_volume_function.parametric_domain); - END_IF; - IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN - RETURN (func\application_defined_function.explicit_domain); - END_IF; - -- Unreachable, as no other subtypes of maths_function are permissible without - -- first modifying this function to account for them. - RETURN (?); -END_FUNCTION; -- derive_function_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_finite_function_domain(pairs : SET [1:?] OF LIST [2:2] OF maths_value) - : tuple_space; - LOCAL - result : SET OF maths_value := []; - END_LOCAL; --- An ambiguity in ISO 10303-11:1994 pages 99-101 leaves the result of the following --- three lines ambiguous in those cases where an operand is simultaneously a member --- of the base type and the aggregate type. --- REPEAT i := 1 TO SIZEOF (pairs); --- result := result + pairs[i][1]; --- END_REPEAT; --- The next line unions an empty set and the desired list to get the desired set. - result := result + list_selected_components (pairs, 1); - RETURN (one_tuples_of (make_finite_space (result))); -END_FUNCTION; -- derive_finite_function_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION list_selected_components(aggr : AGGREGATE OF LIST OF maths_value; - k : positive_integer) : LIST OF maths_value; - LOCAL - result : LIST OF maths_value := []; - j : INTEGER := 0; - END_LOCAL; - REPEAT i := LOINDEX (aggr) TO HIINDEX (aggr); - IF k <= SIZEOF (aggr[i]) THEN - INSERT (result, aggr[i][k], j); - j := j + 1; - END_IF; - END_REPEAT; - RETURN (result); -END_FUNCTION; -- list_selected_components - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION one_tuples_of(spc : maths_space) : tuple_space; - RETURN (make_uniform_product_space (spc, 1)); -END_FUNCTION; -- one_tuples_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION domain_from(ref : maths_space_or_function) : tuple_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(ref); - func : maths_function; - END_LOCAL; - IF NOT EXISTS (ref) THEN RETURN (?); END_IF; - IF 'TUPLE_SPACE' IN typenames THEN RETURN (ref); END_IF; - IF 'MATHS_SPACE' IN typenames THEN RETURN (one_tuples_of (ref)); END_IF; - func := ref; - IF 'CONSTANT_FUNCTION' IN typenames THEN - RETURN (domain_from (func\constant_function.source_of_domain)); - END_IF; - IF 'SELECTOR_FUNCTION' IN typenames THEN - RETURN (domain_from (func\selector_function.source_of_domain)); - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN - RETURN (domain_from (func\parallel_composed_function.source_of_domain)); - END_IF; - RETURN (func.domain); -END_FUNCTION; -- domain_from - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION no_cyclic_domain_reference(ref : maths_space_or_function; - used : SET OF maths_function) : BOOLEAN; - LOCAL - typenames : SET OF STRING := TYPEOF (ref); - func : maths_function; - END_LOCAL; - IF (NOT EXISTS (ref)) OR (NOT EXISTS (used)) THEN - RETURN (FALSE); - END_IF; - IF (schema_prefix + 'MATHS_SPACE') IN typenames THEN - RETURN (TRUE); - END_IF; - func := ref; - IF func IN used THEN - RETURN (FALSE); - END_IF; - IF (schema_prefix + 'CONSTANT_FUNCTION') IN typenames THEN - RETURN (no_cyclic_domain_reference (func\constant_function.source_of_domain, - used + [func])); - END_IF; - IF (schema_prefix + 'SELECTOR_FUNCTION') IN typenames THEN - RETURN (no_cyclic_domain_reference (func\selector_function.source_of_domain, - used + [func])); - END_IF; - IF (schema_prefix + 'PARALLEL_COMPOSED_FUNCTION') IN typenames THEN - RETURN (no_cyclic_domain_reference ( - func\parallel_composed_function.source_of_domain, used + [func])); - END_IF; - RETURN (TRUE); -END_FUNCTION; -- no_cyclic_domain_reference - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_operands_prcmfn(srcdom : maths_space_or_function; - prepfun : LIST OF maths_function; - finfun : maths_function_select) - : LIST [2:?] OF generic_expression; - LOCAL - operands : LIST OF generic_expression := []; - END_LOCAL; - INSERT (operands, srcdom, 0); - REPEAT i := 1 TO SIZEOF (prepfun); - INSERT (operands, prepfun[i], i); - END_REPEAT; - INSERT (operands, convert_to_maths_function (finfun), SIZEOF (prepfun)+1); - RETURN (operands); -END_FUNCTION; -- convert_to_operands_prcmfn - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION parallel_composed_function_domain_check( - comdom : tuple_space; - funcs : LIST OF maths_function) : BOOLEAN; - REPEAT i := 1 TO SIZEOF (funcs); - IF NOT (compatible_spaces (comdom, funcs[i].domain)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- parallel_composed_function_domain_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION parallel_composed_function_composability_check( - funcs : LIST OF maths_function; - final : maths_function_select) : BOOLEAN; - LOCAL - tplsp : tuple_space := the_zero_tuple_space; - finfun : maths_function := convert_to_maths_function (final); - END_LOCAL; - REPEAT i := 1 TO SIZEOF (funcs); - tplsp := assoc_product_space (tplsp, funcs[i].range); - END_REPEAT; - RETURN (compatible_spaces (tplsp, finfun.domain)); -END_FUNCTION; -- parallel_composed_function_composability_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION assoc_product_space(ts1, ts2 : tuple_space) : tuple_space; - LOCAL - types1 : SET OF STRING := stripped_typeof (ts1); - types2 : SET OF STRING := stripped_typeof (ts2); - up1, up2 : uniform_product_space := make_uniform_product_space(the_reals,1); - lp1, lp2, lps : listed_product_space := the_zero_tuple_space; - et1, et2, ets : extended_tuple_space := the_tuples; - use_up1, use_up2, use_lp1, use_lp2 : BOOLEAN; - factors : LIST OF maths_space := []; - tspace : tuple_space; - END_LOCAL; - -- Identify type of first operand - IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN - up1 := ts1; use_up1 := true; use_lp1 := false; - ELSE - IF 'LISTED_PRODUCT_SPACE' IN types1 THEN - lp1 := ts1; use_up1 := false; use_lp1 := true; - ELSE - IF NOT ('EXTENDED_TUPLE_SPACE' IN types1) THEN - -- Unreachable when this function was written. - RETURN (?); - END_IF; - et1 := ts1; use_up1 := false; use_lp1 := false; - END_IF; - END_IF; - -- Identify type of second operand - IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN - up2 := ts2; use_up2 := true; use_lp2 := false; - ELSE - IF 'LISTED_PRODUCT_SPACE' IN types2 THEN - lp2 := ts2; use_up2 := false; use_lp2 := true; - ELSE - IF NOT ('EXTENDED_TUPLE_SPACE' IN types2) THEN - -- Unreachable when this function was written. - RETURN (?); - END_IF; - et2 := ts2; use_up2 := false; use_lp2 := false; - END_IF; - END_IF; - -- Construction for each combination of cases - IF use_up1 THEN - IF use_up2 THEN - IF up1.base = up2.base THEN - tspace := make_uniform_product_space(up1.base, up1.exponent + up2.exponent); - ELSE - factors := [up1.base : up1.exponent, up2.base : up2.exponent]; - tspace := make_listed_product_space(factors); - END_IF; - ELSE - IF use_lp2 THEN - -- Avoid compiler confusion by breaking into two lines. - factors := [up1.base : up1.exponent]; - factors := factors + lp2.factors; - tspace := make_listed_product_space(factors); - ELSE - tspace := assoc_product_space(up1, et2.base); - tspace := make_extended_tuple_space(tspace, et2.extender); - END_IF; - END_IF; - ELSE - IF use_lp1 THEN - IF use_up2 THEN - -- Avoid compiler confusion by breaking into two lines. - factors := [up2.base : up2.exponent]; - factors := lp1.factors + factors; - tspace := make_listed_product_space(factors); - ELSE - IF use_lp2 THEN - tspace := make_listed_product_space(lp1.factors + lp2.factors); - ELSE - tspace := assoc_product_space(lp1, et2.base); - tspace := make_extended_tuple_space(tspace, et2.extender); - END_IF; - END_IF; - ELSE - IF use_up2 THEN - IF et1.extender = up2.base THEN - tspace := assoc_product_space(et1.base, up2); - tspace := make_extended_tuple_space(tspace, et1.extender); - ELSE - -- No subtype is available to represent this cartesian product. - RETURN (?); - END_IF; - ELSE - IF use_lp2 THEN - factors := lp2.factors; - REPEAT i := 1 TO SIZEOF (factors); - IF et1.extender <> factors[i] THEN - -- No subtype available to represent this cartesian product. - RETURN (?); - END_IF; - END_REPEAT; - tspace := assoc_product_space(et1.base, lp2); - tspace := make_extended_tuple_space(tspace, et1.extender); - ELSE - IF et1.extender = et2.extender THEN - -- Next line may assign indeterminate (?) to tspace. - tspace := assoc_product_space(et1, et2.base); - ELSE - -- No subtype available to represent this cartesian product. - RETURN (?); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (tspace); -END_FUNCTION; -- assoc_product_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_elementary_space(space_id : elementary_space_enumerators) - : elementary_space; - RETURN (elementary_space (space_id) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_elementary_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_elementary_function_domain(ef_val : elementary_function_enumerators) - : tuple_space; - IF NOT EXISTS (ef_val) THEN RETURN (?); END_IF; - CASE ef_val OF - ef_and : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_logicals)); - ef_or : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_logicals)); - ef_not : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_xor : RETURN (make_uniform_product_space (the_logicals, 2)); - ef_negate_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_add_i : RETURN (the_integer_tuples); - ef_subtract_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_multiply_i : RETURN (the_integer_tuples); - ef_divide_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_mod_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_exponentiate_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_eq_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_ne_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_gt_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_lt_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_ge_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_le_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_abs_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_if_i : RETURN (make_listed_product_space ([the_logicals, the_integers, - the_integers])); - ef_negate_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_reciprocal_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_add_r : RETURN (the_real_tuples); - ef_subtract_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_multiply_r : RETURN (the_real_tuples); - ef_divide_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_mod_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_exponentiate_r : RETURN (make_listed_product_space ([the_nonnegative_reals, - the_reals])); - ef_exponentiate_ri : RETURN (make_listed_product_space ([the_reals, the_integers])); - ef_eq_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_ne_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_gt_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_lt_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_ge_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_le_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_abs_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_acos_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_asin_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_atan2_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_cos_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_exp_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_ln_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_log2_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_log10_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_sin_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_sqrt_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_tan_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_if_r : RETURN (make_listed_product_space ([the_logicals, the_reals, the_reals])); - ef_negate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_reciprocal_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_add_c : RETURN (the_complex_tuples); - ef_subtract_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_multiply_c : RETURN (the_complex_tuples); - ef_divide_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_exponentiate_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_exponentiate_ci : RETURN (make_listed_product_space ([the_complex_numbers, - the_integers])); - ef_eq_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_ne_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_conjugate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_abs_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_arg_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_cos_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exp_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_ln_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sin_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sqrt_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_tan_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_if_c : RETURN (make_listed_product_space ([the_logicals, the_complex_numbers, - the_complex_numbers])); - ef_subscript_s : RETURN (make_listed_product_space ([the_strings, the_integers])); - ef_eq_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_ne_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_gt_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_lt_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_ge_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_le_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_subsequence_s : RETURN (make_listed_product_space ([the_strings, the_integers, - the_integers])); - ef_concat_s : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_strings)); - ef_size_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_format : RETURN (make_listed_product_space ([the_numbers, the_strings])); - ef_value : RETURN (make_uniform_product_space (the_strings, 1)); - ef_like : RETURN (make_uniform_product_space (the_strings, 2)); - ef_if_s : RETURN (make_listed_product_space ([the_logicals, the_strings, - the_strings])); - ef_subscript_b : RETURN (make_listed_product_space ([the_binarys, the_integers])); - ef_eq_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_ne_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_gt_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_lt_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_ge_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_le_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_subsequence_b : RETURN (make_listed_product_space ([the_binarys, the_integers, - the_integers])); - ef_concat_b : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_binarys)); - ef_size_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_if_b : RETURN (make_listed_product_space ([the_logicals, the_binarys, - the_binarys])); - ef_subscript_t : RETURN (make_listed_product_space ([the_tuples, the_integers])); - ef_eq_t : RETURN (make_uniform_product_space (the_tuples, 2)); - ef_ne_t : RETURN (make_uniform_product_space (the_tuples, 2)); - ef_concat_t : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_tuples)); - ef_size_t : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_entuple : RETURN (the_tuples); - ef_detuple : RETURN (make_uniform_product_space (the_generics, 1)); - ef_insert : RETURN (make_listed_product_space ([the_tuples, the_generics, - the_integers])); - ef_remove : RETURN (make_listed_product_space ([the_tuples, the_integers])); - ef_if_t : RETURN (make_listed_product_space ([the_logicals, the_tuples, - the_tuples])); - ef_sum_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_product_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_add_it : RETURN (make_extended_tuple_space (the_integer_tuples, - the_integer_tuples)); - ef_subtract_it : RETURN (make_uniform_product_space (the_integer_tuples, 2)); - ef_scalar_mult_it : RETURN (make_listed_product_space ([the_integers, - the_integer_tuples])); - ef_dot_prod_it : RETURN (make_uniform_product_space (the_integer_tuples, 2)); - ef_sum_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_product_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_add_rt : RETURN (make_extended_tuple_space (the_real_tuples, the_real_tuples)); - ef_subtract_rt : RETURN (make_uniform_product_space (the_real_tuples, 2)); - ef_scalar_mult_rt : RETURN (make_listed_product_space ([the_reals, - the_real_tuples])); - ef_dot_prod_rt : RETURN (make_uniform_product_space (the_real_tuples, 2)); - ef_norm_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_sum_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_product_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_add_ct : RETURN (make_extended_tuple_space (the_complex_tuples, - the_complex_tuples)); - ef_subtract_ct : RETURN (make_uniform_product_space (the_complex_tuples, 2)); - ef_scalar_mult_ct : RETURN (make_listed_product_space ([the_complex_numbers, - the_complex_tuples])); - ef_dot_prod_ct : RETURN (make_uniform_product_space (the_complex_tuples, 2)); - ef_norm_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_if : RETURN (make_listed_product_space ([the_logicals, the_generics, - the_generics])); - ef_ensemble : RETURN (the_tuples); - ef_member_of : RETURN (make_listed_product_space ([the_generics, the_maths_spaces])); - OTHERWISE : RETURN (?); - END_CASE; -END_FUNCTION; -- derive_elementary_function_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_real_interval_from_min(min : REAL; - minclo : open_closed) : real_interval_from_min; - RETURN (real_interval_from_min (min, minclo) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_real_interval_from_min - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_finite_real_interval(min : REAL; - minclo : open_closed; - max : REAL; - maxclo : open_closed) : finite_real_interval; - RETURN (finite_real_interval (min, minclo, max, maxclo) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_finite_real_interval - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION space_dimension(tspace : tuple_space) : nonnegative_integer; - LOCAL - types : SET OF STRING := TYPEOF (tspace); - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN types THEN - RETURN (tspace\uniform_product_space.exponent); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN types THEN - RETURN (SIZEOF (tspace\listed_product_space.factors)); - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN types THEN - -- In the case of an extended_tuple_space, the minimum dimension is returned. - RETURN (space_dimension (tspace\extended_tuple_space.base)); - END_IF; - -- Should be unreachable - RETURN (?); -END_FUNCTION; -- space_dimension - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION factor1(tspace : tuple_space) : maths_space; - LOCAL - typenames : SET OF STRING := TYPEOF (tspace); - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN typenames THEN - RETURN (tspace\uniform_product_space.base); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN typenames THEN - RETURN (tspace\listed_product_space.factors[1]); - -- This path could return the indeterminate value if the list is empty. - -- This is the correct result for this case. - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN typenames THEN - RETURN (factor1 (tspace\extended_tuple_space.base)); - END_IF; - -- Should not be reachable. - RETURN (?); -END_FUNCTION; -- factor1 - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION repackage(tspace : tuple_space; - repckg : repackage_options) : tuple_space; - CASE repckg OF - ro_nochange : RETURN (tspace); - ro_wrap_as_tuple : RETURN (one_tuples_of (tspace)); - ro_unwrap_tuple : RETURN (factor1 (tspace)); - OTHERWISE : RETURN (?); - END_CASE; -END_FUNCTION; -- repackage - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION shape_of_array(func : maths_function) : LIST OF positive_integer; - LOCAL - tspace : tuple_space; - temp : maths_space; - result : LIST OF positive_integer := []; - END_LOCAL; - IF (schema_prefix + 'EXPLICIT_TABLE_FUNCTION') IN TYPEOF (func) THEN - RETURN (func\explicit_table_function.shape); - END_IF; - tspace := func.domain; - IF (space_dimension (tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (tspace))) THEN - tspace := factor1 (tspace); - END_IF; - REPEAT i := 1 TO space_dimension (tspace); - temp := factor_space (tspace, i); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (?); - END_IF; - INSERT (result, temp\finite_integer_interval.size, i-1); - END_REPEAT; - RETURN (result); -END_FUNCTION; -- shape_of_array - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION factor_space(tspace : tuple_space; - idx : positive_integer) : maths_space; - LOCAL - typenames : SET OF STRING := TYPEOF (tspace); - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN typenames THEN - IF idx <= tspace\uniform_product_space.exponent THEN - RETURN (tspace\uniform_product_space.base); - END_IF; - RETURN (?); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN typenames THEN - IF idx <= SIZEOF (tspace\listed_product_space.factors) THEN - RETURN (tspace\listed_product_space.factors[idx]); - END_IF; - RETURN (?); - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN typenames THEN - IF idx <= space_dimension (tspace\extended_tuple_space.base) THEN - RETURN (factor_space (tspace\extended_tuple_space.base, idx)); - END_IF; - RETURN (tspace\extended_tuple_space.extender); - END_IF; - -- Should not be reachable. - RETURN (?); -END_FUNCTION; -- factor_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_array(func : maths_function) : BOOLEAN; - LOCAL - tspace : tuple_space; - temp : maths_space; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - tspace := func.domain; - IF (space_dimension (tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (tspace))) THEN - tspace := factor1 (tspace); - END_IF; - IF NOT ((schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (tspace)) THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO space_dimension (tspace); - temp := factor_space (tspace, i); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- function_is_array - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION composable_sequence(operands : LIST [2:?] OF maths_function) : BOOLEAN; - REPEAT i := 1 TO SIZEOF (operands) - 1; - IF NOT compatible_spaces (operands[i].range, operands[i+1].domain) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- composable_sequence - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_2d_table(func : maths_function) : BOOLEAN; - LOCAL - temp : maths_space; - pspace : product_space; - itvl1, itvl2 : finite_integer_interval; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - IF space_dimension (func.domain) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (func.domain); - IF NOT ('PRODUCT_SPACE' IN stripped_typeof(temp)) THEN RETURN (FALSE); END_IF; - pspace := temp; - IF space_dimension (pspace) <> 2 THEN RETURN (FALSE); END_IF; - temp := factor1 (pspace); - IF NOT ('FINITE_INTEGER_INTERVAL' IN stripped_typeof(temp)) THEN - RETURN (FALSE); - END_IF; - itvl1 := temp; - temp := factor_space (pspace, 2); - IF NOT ('FINITE_INTEGER_INTERVAL' IN stripped_typeof(temp)) THEN - RETURN (FALSE); - END_IF; - itvl2 := temp; - RETURN (bool((itvl1.min = itvl2.min) AND ((itvl1.min = 0) OR (itvl1.min = 1)))); -END_FUNCTION; -- function_is_2d_table - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION subspace_of_es(spc : maths_space; - es : elementary_space_enumerators) : LOGICAL; - LOCAL - types : SET OF STRING := stripped_typeof(spc); - END_LOCAL; - IF NOT EXISTS (spc) OR NOT EXISTS (es) THEN RETURN (FALSE); END_IF; - IF 'ELEMENTARY_SPACE' IN types THEN - RETURN (es_subspace_of_es(spc\elementary_space.space_id,es)); - END_IF; - IF 'FINITE_SPACE' IN types THEN - RETURN (all_members_of_es(spc\finite_space.members,es)); - END_IF; - CASE es OF - es_numbers : RETURN ( - ('FINITE_INTEGER_INTERVAL' IN types) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types) OR - ('INTEGER_INTERVAL_TO_MAX' IN types) OR - ('FINITE_REAL_INTERVAL' IN types) OR - ('REAL_INTERVAL_FROM_MIN' IN types) OR - ('REAL_INTERVAL_TO_MAX' IN types) OR - ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types) ); - es_complex_numbers : RETURN ( - ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types) ); - es_reals : RETURN ( - ('FINITE_REAL_INTERVAL' IN types) OR - ('REAL_INTERVAL_FROM_MIN' IN types) OR - ('REAL_INTERVAL_TO_MAX' IN types) ); - es_integers : RETURN ( - ('FINITE_INTEGER_INTERVAL' IN types) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types) OR - ('INTEGER_INTERVAL_TO_MAX' IN types) ); - es_logicals : RETURN (FALSE); - es_booleans : RETURN (FALSE); - es_strings : RETURN (FALSE); - es_binarys : RETURN (FALSE); - es_maths_spaces : RETURN (FALSE); - es_maths_functions : RETURN ('FUNCTION_SPACE' IN types); - es_generics : RETURN (TRUE); - END_CASE; - RETURN (UNKNOWN); -END_FUNCTION; -- subspace_of_es - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION es_subspace_of_es(es1, es2 : elementary_space_enumerators) : BOOLEAN; - IF NOT EXISTS (es1) OR NOT EXISTS (es2) THEN RETURN (FALSE); END_IF; - IF es1 = es2 THEN RETURN (TRUE); END_IF; - IF es2 = es_generics THEN RETURN (TRUE); END_IF; - IF (es1 = es_booleans) AND (es2 = es_logicals) THEN RETURN (TRUE); END_IF; - IF (es2 = es_numbers) AND ((es1 = es_complex_numbers) OR (es1 = es_reals) OR - (es1 = es_integers)) THEN RETURN (TRUE); END_IF; - RETURN (FALSE); -END_FUNCTION; -- es_subspace_of_es - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION all_members_of_es(sv : SET OF maths_value; - es : elementary_space_enumerators) : LOGICAL; - CONSTANT - base_types : SET OF STRING := ['NUMBER','COMPLEX_NUMBER_LITERAL','REAL', - 'INTEGER','LOGICAL','BOOLEAN','STRING','BINARY','MATHS_SPACE', - 'MATHS_FUNCTION','LIST','ELEMENTARY_SPACE_ENUMERATORS','ORDERING_TYPE', - 'LOWER_UPPER','SYMMETRY_TYPE','ELEMENTARY_FUNCTION_ENUMERATORS', - 'OPEN_CLOSED','SPACE_CONSTRAINT_TYPE','REPACKAGE_OPTIONS', - 'EXTENSION_OPTIONS']; - END_CONSTANT; - LOCAL - v : maths_value; - key_type : STRING := ''; - types : SET OF STRING; - ge : generic_expression; - cum : LOGICAL := TRUE; - vspc : maths_space; - END_LOCAL; - IF NOT EXISTS (sv) OR NOT EXISTS (es) THEN RETURN (FALSE); END_IF; - CASE es OF - es_numbers : key_type := 'NUMBER'; - es_complex_numbers : key_type := 'COMPLEX_NUMBER_LITERAL'; - es_reals : key_type := 'REAL'; - es_integers : key_type := 'INTEGER'; - es_logicals : key_type := 'LOGICAL'; - es_booleans : key_type := 'BOOLEAN'; - es_strings : key_type := 'STRING'; - es_binarys : key_type := 'BINARY'; - es_maths_spaces : key_type := 'MATHS_SPACE'; - es_maths_functions : key_type := 'MATHS_FUNCTION'; - es_generics : RETURN (TRUE); - END_CASE; - REPEAT i := 1 TO SIZEOF (sv); - IF NOT EXISTS (sv[i]) THEN RETURN (FALSE); END_IF; - v := simplify_maths_value(sv[i]); - types := stripped_typeof(v); - IF key_type IN types THEN SKIP; END_IF; - IF (es = es_numbers) AND ('COMPLEX_NUMBER_LITERAL' IN types) THEN SKIP; END_IF; - IF SIZEOF (base_types * types) > 0 THEN RETURN (FALSE); END_IF; - -- Must be a generic_expression which doesn't simplify and which is not a - ge := v; - IF has_values_space(ge) THEN - vspc := values_space_of(ge); - IF NOT subspace_of_es(vspc,es) THEN - IF NOT compatible_spaces(vspc,make_elementary_space(es)) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END_IF; - ELSE - cum := UNKNOWN; - END_IF; - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION values_space_of(expr : generic_expression) : maths_space; - LOCAL - e_prefix : STRING := 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'; - typenames : SET OF STRING := TYPEOF (expr); - END_LOCAL; - IF (schema_prefix + 'MATHS_VARIABLE') IN typenames THEN - RETURN (expr\maths_variable.values_space); - END_IF; - IF (e_prefix + 'EXPRESSION') IN typenames THEN - IF (e_prefix + 'NUMERIC_EXPRESSION') IN typenames THEN - IF expr\numeric_expression.is_int THEN - IF (e_prefix + 'INT_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\int_literal.the_value])); - ELSE - RETURN (the_integers); - END_IF; - ELSE - IF (e_prefix + 'REAL_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\real_literal.the_value])); - ELSE - RETURN (the_reals); - END_IF; - END_IF; - END_IF; - IF (e_prefix + 'BOOLEAN_EXPRESSION') IN typenames THEN - IF (e_prefix + 'BOOLEAN_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\boolean_literal.the_value])); - ELSE - RETURN (the_booleans); - END_IF; - END_IF; - IF (e_prefix + 'STRING_EXPRESSION') IN typenames THEN - IF (e_prefix + 'STRING_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\string_literal.the_value])); - ELSE - RETURN (the_strings); - END_IF; - END_IF; - RETURN (?); - END_IF; - IF (schema_prefix + 'MATHS_FUNCTION') IN typenames THEN - IF expression_is_constant (expr) THEN - RETURN (make_finite_space ([expr])); - ELSE - RETURN (make_function_space (sc_equal, expr\maths_function.domain, - sc_equal, expr\maths_function.range)); - END_IF; - END_IF; - IF (schema_prefix + 'FUNCTION_APPLICATION') IN typenames THEN - RETURN (expr\function_application.func.range); - END_IF; - IF (schema_prefix + 'MATHS_SPACE') IN typenames THEN - IF expression_is_constant (expr) THEN - RETURN (make_finite_space ([expr])); - ELSE - RETURN (make_elementary_space (es_maths_spaces)); - END_IF; - END_IF; - IF (schema_prefix + 'DEPENDENT_VARIABLE_DEFINITION') IN typenames THEN - RETURN (values_space_of (expr\unary_generic_expression.operand)); - END_IF; - IF (schema_prefix + 'COMPLEX_NUMBER_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr])); - END_IF; - IF (schema_prefix + 'LOGICAL_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\logical_literal.lit_value])); - END_IF; - IF (schema_prefix + 'BINARY_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\binary_literal.lit_value])); - END_IF; - IF (schema_prefix + 'MATHS_ENUM_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\maths_enum_literal.lit_value])); - END_IF; - IF (schema_prefix + 'REAL_TUPLE_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\real_tuple_literal.lit_value])); - END_IF; - IF (schema_prefix + 'INTEGER_TUPLE_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\integer_tuple_literal.lit_value])); - END_IF; - IF (schema_prefix + 'ATOM_BASED_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\atom_based_literal.lit_value])); - END_IF; - IF (schema_prefix + 'MATHS_TUPLE_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\maths_tuple_literal.lit_value])); - END_IF; - IF (schema_prefix + 'PARTIAL_DERIVATIVE_EXPRESSION') IN typenames THEN - RETURN (drop_numeric_constraints (values_space_of ( - expr\partial_derivative_expression.derivand))); - END_IF; - IF (schema_prefix + 'DEFINITE_INTEGRAL_EXPRESSION') IN typenames THEN - RETURN (drop_numeric_constraints (values_space_of ( - expr\definite_integral_expression.integrand))); - END_IF; - RETURN (?); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION drop_numeric_constraints(spc : maths_space) : maths_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(spc); - tspc : listed_product_space; - factors : LIST OF maths_space := []; - xspc : extended_tuple_space; - END_LOCAL; - IF 'UNIFORM_PRODUCT_SPACE' IN typenames THEN - RETURN (make_uniform_product_space (drop_numeric_constraints ( - spc\uniform_product_space.base), spc\uniform_product_space.exponent)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN typenames THEN - tspc := spc; - REPEAT i := 1 TO SIZEOF (tspc.factors); - INSERT (factors, drop_numeric_constraints (tspc.factors[i]), i-1); - END_REPEAT; - RETURN (make_listed_product_space (factors)); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN typenames THEN - xspc := spc; - RETURN (make_extended_tuple_space (drop_numeric_constraints (xspc.base), - drop_numeric_constraints (xspc.extender))); - END_IF; - IF subspace_of_es (spc, es_numbers) THEN - RETURN (number_superspace_of (spc)); - END_IF; - RETURN (spc); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION number_superspace_of(spc : maths_space) : elementary_space; - IF subspace_of_es(spc,es_integers) THEN RETURN (the_integers); END_IF; - IF subspace_of_es(spc,es_reals) THEN RETURN (the_reals); END_IF; - IF subspace_of_es(spc,es_complex_numbers) THEN RETURN (the_complex_numbers); END_IF; - IF subspace_of_es(spc,es_numbers) THEN RETURN (the_numbers); END_IF; - RETURN (?); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION has_values_space(expr : generic_expression) : BOOLEAN; - LOCAL - typenames : SET OF STRING := stripped_typeof (expr); - END_LOCAL; - IF 'EXPRESSION' IN typenames THEN - RETURN (bool(('NUMERIC_EXPRESSION' IN typenames) OR - ('STRING_EXPRESSION' IN typenames) OR - ('BOOLEAN_EXPRESSION' IN typenames))); - END_IF; - IF 'MATHS_FUNCTION' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'FUNCTION_APPLICATION' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_SPACE' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_VARIABLE' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'DEPENDENT_VARIABLE_DEFINITION' IN typenames THEN - RETURN (has_values_space (expr\unary_generic_expression.operand)); - END_IF; - IF 'COMPLEX_NUMBER_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'LOGICAL_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'BINARY_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_ENUM_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'REAL_TUPLE_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'INTEGER_TUPLE_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'ATOM_BASED_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_TUPLE_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'PARTIAL_DERIVATIVE_EXPRESSION' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'DEFINITE_INTEGRAL_EXPRESSION' IN typenames THEN - RETURN (TRUE); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- has_values_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION space_is_continuum(space : maths_space) : BOOLEAN; - LOCAL - typenames : SET OF STRING := TYPEOF (space); - factors : LIST OF maths_space; - END_LOCAL; - IF NOT EXISTS (space) THEN - RETURN (FALSE); - END_IF; - IF subspace_of_es(space,es_reals) OR subspace_of_es(space,es_complex_numbers) THEN - RETURN (TRUE); - END_IF; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN typenames THEN - RETURN (space_is_continuum(space\uniform_product_space.base)); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN typenames THEN - factors := space\listed_product_space.factors; - IF SIZEOF(factors) = 0 THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO SIZEOF (factors); - IF NOT space_is_continuum(factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- space_is_continuum - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION subspace_of(space1, space2 : maths_space) : LOGICAL; - LOCAL - spc1 : maths_space := simplify_maths_space(space1); - spc2 : maths_space := simplify_maths_space(space2); - types1 : SET OF STRING := stripped_typeof (spc1); - types2 : SET OF STRING := stripped_typeof (spc2); - lgcl, cum : LOGICAL; - es_val : elementary_space_enumerators; - bnd1, bnd2 : REAL; - n : INTEGER; - sp1, sp2 : maths_space; - prgn1, prgn2 : polar_complex_number_region; - aitv : finite_real_interval; - END_LOCAL; - IF NOT EXISTS (spc1) OR NOT EXISTS (spc2) THEN - RETURN (FALSE); - END_IF; - IF spc2 = the_generics THEN - RETURN (TRUE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types1 THEN - IF NOT ('ELEMENTARY_SPACE' IN types2) THEN - RETURN (FALSE); - END_IF; - es_val := spc2\elementary_space.space_id; - IF spc1\elementary_space.space_id = es_val THEN - RETURN (TRUE); - END_IF; - -- Note that the cases (spc2=the_generics) and (spc1=spc2) have been handled. - CASE spc1\elementary_space.space_id OF - es_numbers : RETURN (FALSE); - es_complex_numbers : RETURN (es_val = es_numbers); - es_reals : RETURN (es_val = es_numbers); - es_integers : RETURN (es_val = es_numbers); - es_logicals : RETURN (FALSE); - es_booleans : RETURN (es_val = es_logicals); - es_strings : RETURN (FALSE); - es_binarys : RETURN (FALSE); - es_maths_spaces : RETURN (FALSE); - es_maths_functions : RETURN (FALSE); - es_generics : RETURN (FALSE); - END_CASE; - -- Should be unreachable. - RETURN (UNKNOWN); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN types1 THEN - cum := TRUE; - REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max; - cum := cum AND member_of (i, spc2); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'INTEGER_INTERVAL_FROM_MIN' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_integers)); - END_IF; - IF 'INTEGER_INTERVAL_FROM_MIN' IN types2 THEN - RETURN (spc1\integer_interval_from_min.min>=spc2\integer_interval_from_min.min); - END_IF; - RETURN (FALSE); - END_IF; - IF 'INTEGER_INTERVAL_TO_MAX' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_integers)); - END_IF; - IF 'INTEGER_INTERVAL_TO_MAX' IN types2 THEN - RETURN (spc1\integer_interval_to_max.max <= spc2\integer_interval_to_max.max); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_REAL_INTERVAL' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_reals)); - END_IF; - IF ('FINITE_REAL_INTERVAL' IN types2) OR - ('REAL_INTERVAL_FROM_MIN' IN types2) OR - ('REAL_INTERVAL_TO_MAX' IN types2) THEN - IF min_exists (spc2) THEN - bnd1 := spc1\finite_real_interval.min; - bnd2 := real_min (spc2); - IF (bnd1 < bnd2) OR ((bnd1 = bnd2) AND min_included (spc1) AND NOT - min_included (spc2)) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF max_exists (spc2) THEN - bnd1 := spc1\finite_real_interval.max; - bnd2 := real_max (spc2); - IF (bnd1 > bnd2) OR ((bnd1 = bnd2) AND max_included (spc1) AND NOT - max_included (spc2)) THEN - RETURN (FALSE); - END_IF; - END_IF; - RETURN (TRUE); - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_FROM_MIN' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_reals)); - END_IF; - IF 'REAL_INTERVAL_FROM_MIN' IN types2 THEN - bnd1 := spc1\real_interval_from_min.min; - bnd2 := spc2\real_interval_from_min.min; - RETURN ((bnd2 < bnd1) OR ((bnd2 = bnd1) AND (min_included (spc2) OR - NOT min_included (spc1)))); - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_TO_MAX' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_reals)); - END_IF; - IF 'REAL_INTERVAL_TO_MAX' IN types2 THEN - bnd1 := spc1\real_interval_to_max.max; - bnd2 := spc2\real_interval_to_max.max; - RETURN ((bnd2 > bnd1) OR ((bnd2 = bnd1) AND (max_included (spc2) OR - NOT max_included (spc1)))); - END_IF; - RETURN (FALSE); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_complex_numbers)); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN - RETURN (subspace_of(spc1\cartesian_complex_number_region.real_constraint, - spc2\cartesian_complex_number_region.real_constraint) AND - subspace_of(spc1\cartesian_complex_number_region.imag_constraint, - spc2\cartesian_complex_number_region.imag_constraint)); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN - RETURN (subspace_of(enclose_cregion_in_pregion(spc1, - spc2\polar_complex_number_region.centre),spc2)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_complex_numbers)); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN - RETURN (subspace_of(enclose_pregion_in_cregion(spc1),spc2)); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN - prgn1 := spc1; - prgn2 := spc2; - IF prgn1.centre = prgn2.centre THEN - IF prgn2.direction_constraint.max > PI THEN - aitv := make_finite_real_interval(-PI,open,prgn2.direction_constraint.max - -2.0*PI,prgn2.direction_constraint.max_closure); - RETURN (subspace_of(prgn1.distance_constraint,prgn2.distance_constraint) - AND (subspace_of(prgn1.direction_constraint,prgn2.direction_constraint) - OR subspace_of(prgn1.direction_constraint,aitv))); - ELSE - RETURN (subspace_of(prgn1.distance_constraint,prgn2.distance_constraint) - AND subspace_of(prgn1.direction_constraint,prgn2.direction_constraint)); - END_IF; - END_IF; - RETURN (subspace_of(enclose_pregion_in_pregion(prgn1,prgn2.centre),prgn2)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_SPACE' IN types1 THEN - cum := TRUE; - REPEAT i := 1 TO SIZEOF (spc1\finite_space.members); - cum := cum AND member_of (spc1\finite_space.members[i], spc2); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'PRODUCT_SPACE' IN types1 THEN - IF 'PRODUCT_SPACE' IN types2 THEN - IF space_dimension (spc1) = space_dimension (spc2) THEN - cum := TRUE; - REPEAT i := 1 TO space_dimension (spc1); - cum := cum AND subspace_of (factor_space(spc1,i), factor_space(spc2,i)); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - IF space_dimension (spc1) >= space_dimension (spc2) THEN - cum := TRUE; - REPEAT i := 1 TO space_dimension (spc1); - cum := cum AND subspace_of (factor_space(spc1,i), factor_space(spc2,i)); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - n := space_dimension (spc1); - IF n < space_dimension (spc2) THEN - n := space_dimension (spc2); - END_IF; - cum := TRUE; - REPEAT i := 1 TO n+1; - cum := cum AND subspace_of (factor_space(spc1,i), factor_space(spc2,i)); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - RETURN (spc2\elementary_space.space_id = es_maths_functions); - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - cum := TRUE; - sp1 := spc1\function_space.domain_argument; - sp2 := spc2\function_space.domain_argument; - CASE spc1\function_space.domain_constraint OF - sc_equal : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : cum := cum AND equal_maths_spaces (sp1, sp2); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : cum := cum AND member_of (sp1, sp2); - END_CASE; - END; - sc_subspace : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : RETURN (FALSE); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : BEGIN - IF NOT member_of (sp1, sp2) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - END_CASE; - END; - sc_member : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : cum := cum AND space_is_singleton(sp1) AND - equal_maths_spaces(singleton_member_of(sp1),sp2); - sc_subspace : BEGIN - IF NOT member_of (sp2, sp1) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - sc_member : cum := cum AND (subspace_of (sp1, sp2)); - END_CASE; - END; - END_CASE; - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - sp1 := spc1\function_space.range_argument; - sp2 := spc2\function_space.range_argument; - CASE spc1\function_space.range_constraint OF - sc_equal : BEGIN - CASE spc2\function_space.range_constraint OF - sc_equal : cum := cum AND equal_maths_spaces (sp1, sp2); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : cum := cum AND member_of (sp1, sp2); - END_CASE; - END; - sc_subspace : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : RETURN (FALSE); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : BEGIN - IF NOT member_of (sp1, sp2) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - END_CASE; - END; - sc_member : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : cum := cum AND space_is_singleton(sp1) AND - equal_maths_spaces(singleton_member_of(sp1),sp2); - sc_subspace : BEGIN - IF NOT member_of (sp2, sp1) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - sc_member : cum := cum AND subspace_of (sp1, sp2); - END_CASE; - END; - END_CASE; - RETURN (cum); - END_IF; - RETURN (FALSE); - END_IF; - -- Should be unreachable - RETURN (UNKNOWN); -END_FUNCTION; -- subspace_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION min_exists(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - RETURN (bool(((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_FROM_MIN') IN types) OR - ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) OR - ((schema_prefix + 'REAL_INTERVAL_FROM_MIN') IN types))); -END_FUNCTION; -- min_exists - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION real_min(spc : maths_space) : REAL; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) THEN - RETURN (spc\finite_integer_interval.min); - END_IF; - IF ((schema_prefix + 'INTEGER_INTERVAL_FROM_MIN') IN types) THEN - RETURN (spc\integer_interval_from_min.min); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (spc\finite_real_interval.min); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_FROM_MIN') IN types) THEN - RETURN (spc\real_interval_from_min.min); - END_IF; - RETURN (?); -END_FUNCTION; -- real_min - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION max_exists(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - RETURN (bool(((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_TO_MAX') IN types) OR - ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) OR - ((schema_prefix + 'REAL_INTERVAL_TO_MAX') IN types))); -END_FUNCTION; -- max_exists - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION min_included(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_FROM_MIN') IN types) THEN - RETURN (TRUE); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (bool(spc\finite_real_interval.min_closure = closed)); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_FROM_MIN') IN types) THEN - RETURN (bool(spc\real_interval_from_min.min_closure = closed)); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- min_included - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION real_max(spc : maths_space) : REAL; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) THEN - RETURN (spc\finite_integer_interval.max); - END_IF; - IF ((schema_prefix + 'INTEGER_INTERVAL_TO_MAX') IN types) THEN - RETURN (spc\integer_interval_to_max.max); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (spc\finite_real_interval.max); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_TO_MAX') IN types) THEN - RETURN (spc\real_interval_to_max.max); - END_IF; - RETURN (?); -END_FUNCTION; -- real_max - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION max_included(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_TO_MAX') IN types) THEN - RETURN (TRUE); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (bool(spc\finite_real_interval.max_closure = closed)); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_TO_MAX') IN types) THEN - RETURN (bool(spc\real_interval_to_max.max_closure = closed)); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- max_included - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION enclose_cregion_in_pregion(crgn : cartesian_complex_number_region; - centre : complex_number_literal) - : polar_complex_number_region; - -- Find equivalent direction in range -PI < a <= PI. - FUNCTION angle(a : REAL) : REAL; - REPEAT WHILE a > PI; a := a - 2.0*PI; END_REPEAT; - REPEAT WHILE a <= -PI; a := a + 2.0*PI; END_REPEAT; - RETURN (a); - END_FUNCTION; - -- Determine whether a real is strictly within a real interval - FUNCTION strictly_in(z : REAL; - zitv : real_interval) : LOGICAL; - RETURN ((NOT min_exists(zitv) OR (z > real_min(zitv))) AND - (NOT max_exists(zitv) OR (z < real_max(zitv)))); - END_FUNCTION; - -- Include direction in minmax collection - PROCEDURE angle_minmax( ab, a : REAL; - a_in : BOOLEAN; - VAR amin, amax : REAL; - VAR amin_in, amax_in : BOOLEAN); - a := angle(a - ab); - IF amin = a THEN amin_in := amin_in OR a_in; END_IF; - IF amin > a THEN amin := a; amin_in := a_in; END_IF; - IF amax = a THEN amax_in := amax_in OR a_in; END_IF; - IF amax < a THEN amax := a; amax_in := a_in; END_IF; - END_PROCEDURE; - -- Include distance in max collection - PROCEDURE range_max( r : REAL; - incl : BOOLEAN; - VAR rmax : REAL; - VAR rmax_in : BOOLEAN); - IF rmax = r THEN rmax_in := rmax_in OR incl; END_IF; - IF rmax < r THEN rmax := r; rmax_in := incl; END_IF; - END_PROCEDURE; - -- Include distance in min collection - PROCEDURE range_min( r : REAL; - incl : BOOLEAN; - VAR rmin : REAL; - VAR rmin_in : BOOLEAN); - IF rmin = r THEN rmin_in := rmin_in OR incl; END_IF; - IF (rmin < 0.0) OR (rmin > r) THEN rmin := r; rmin_in := incl; END_IF; - END_PROCEDURE; - LOCAL - xitv, yitv : real_interval; - is_xmin, is_xmax, is_ymin, is_ymax : BOOLEAN; - xmin, xmax, ymin, ymax, xc, yc : REAL := 0.0; - xmin_in, xmax_in, ymin_in, ymax_in : BOOLEAN := FALSE; - rmin, rmax : REAL := -1.0; - amin : REAL := 4.0; - amax : REAL := -4.0; - rmax_exists, outside : BOOLEAN := TRUE; - rmin_in, rmax_in, amin_in, amax_in : BOOLEAN := FALSE; - ab, a, r : REAL := 0.0; - incl : BOOLEAN; - ritv : real_interval; - aitv : finite_real_interval; - minclo, maxclo : open_closed := open; - END_LOCAL; - IF NOT EXISTS (crgn) OR NOT EXISTS (centre) THEN RETURN (?); END_IF; - -- Extract elementary input information - xitv := crgn.real_constraint; - yitv := crgn.imag_constraint; - xc := centre.real_part; - yc := centre.imag_part; - is_xmin := min_exists(xitv); - is_xmax := max_exists(xitv); - is_ymin := min_exists(yitv); - is_ymax := max_exists(yitv); - IF is_xmin THEN xmin := real_min(xitv); xmin_in := min_included(xitv); END_IF; - IF is_xmax THEN xmax := real_max(xitv); xmax_in := max_included(xitv); END_IF; - IF is_ymin THEN ymin := real_min(yitv); ymin_in := min_included(yitv); END_IF; - IF is_ymax THEN ymax := real_max(yitv); ymax_in := max_included(yitv); END_IF; - rmax_exists := is_xmin AND is_xmax AND is_ymin AND is_ymax; - -- Identify base direction with respect to which all relevant directions lie - -- within +/- 0.5*PI, or that the centre lies properly inside crgn. - IF is_xmin AND (xc <= xmin) THEN ab := 0.0; - ELSE IF is_ymin AND (yc <= ymin) THEN ab := 0.5*PI; - ELSE IF is_ymax AND (yc >= ymax) THEN ab := -0.5*PI; - ELSE IF is_xmax AND (xc >= xmax) THEN ab := PI; - ELSE outside := FALSE; - END_IF; END_IF; END_IF; END_IF; - IF NOT outside AND NOT rmax_exists THEN - RETURN (?); -- No enclosing polar region exists (requires whole plane) - END_IF; - -- Identify any closest point on a side but not a corner. - IF is_xmin AND (xc <= xmin) AND strictly_in(yc,yitv) THEN - rmin := xmin - xc; rmin_in := xmin_in; - ELSE IF is_ymin AND (yc <= ymin) AND strictly_in(xc,xitv) THEN - rmin := ymin - yc; rmin_in := ymin_in; - ELSE IF is_ymax AND (yc >= ymax) AND strictly_in(xc,xitv) THEN - rmin := yc - ymax; rmin_in := ymax_in; - ELSE IF is_xmax AND (xc >= xmax) AND strictly_in(yc,yitv) THEN - rmin := xc - xmax; rmin_in := xmax_in; - END_IF; END_IF; END_IF; END_IF; - IF is_xmin THEN - IF is_ymin THEN -- Consider lower left corner - r := SQRT((xmin-xc)**2 + (ymin-yc)**2); - incl := xmin_in AND ymin_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymin-yc,xmin-xc) - ab); - IF xc = xmin THEN incl := xmin_in; END_IF; - IF yc = ymin THEN incl := ymin_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower left corner - rmin := 0.0; rmin_in := xmin_in AND ymin_in; - amin := angle(0.0-ab); amin_in := ymin_in; - amax := angle(0.5*PI-ab); amax_in := xmin_in; - END_IF; - END_IF; - ELSE IF xc <= xmin THEN -- Consider points near (xmin, -infinity) - angle_minmax(ab,-0.5*PI,(xc=xmin) AND xmin_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_ymax AND (xc <= xmin) THEN -- Consider points near (xmin, +infinity) - angle_minmax(ab,0.5*PI,(xc=xmin) AND xmin_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF is_ymin THEN - IF is_xmax THEN -- Consider lower right corner - r := SQRT((xmax-xc)**2 + (ymin-yc)**2); - incl := xmax_in AND ymin_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymin-yc,xmax-xc) - ab); - IF xc = xmax THEN incl := xmax_in; END_IF; - IF yc = ymin THEN incl := ymin_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower right corner - rmin := 0.0; rmin_in := xmax_in AND ymin_in; - amin := angle(0.5*PI-ab); amin_in := ymin_in; - amax := angle(PI-ab); amax_in := xmax_in; - END_IF; - END_IF; - ELSE IF yc <= ymin THEN -- Consider points near (+infinity, ymin) - angle_minmax(ab,0.0,(yc=ymin) AND ymin_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_xmin AND (yc <= ymin) THEN -- Consider points near (-infinity, ymin) - angle_minmax(ab,PI,(yc=ymin) AND ymin_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF is_xmax THEN - IF is_ymax THEN -- Consider upper right corner - r := SQRT((xmax-xc)**2 + (ymax-yc)**2); - incl := xmax_in AND ymax_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymax-yc,xmax-xc) - ab); - IF xc = xmax THEN incl := xmax_in; END_IF; - IF yc = ymax THEN incl := ymax_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower left corner - rmin := 0.0; rmin_in := xmax_in AND ymax_in; - amin := angle(-PI-ab); amin_in := ymax_in; - amax := angle(-0.5*PI-ab); amax_in := xmax_in; - END_IF; - END_IF; - ELSE IF xc >= xmax THEN -- Consider points near (xmax, +infinity) - angle_minmax(ab,0.5*PI,(xc=xmax) AND xmax_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_ymin AND (xc >= xmax) THEN -- Consider points near (xmax, -infinity) - angle_minmax(ab,-0.5*PI,(xc=xmax) AND xmax_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF is_ymax THEN - IF is_xmin THEN -- Consider upper left corner - r := SQRT((xmin-xc)**2 + (ymax-yc)**2); - incl := xmin_in AND ymax_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymax-yc,xmin-xc) - ab); - IF xc = xmin THEN incl := xmin_in; END_IF; - IF yc = ymax THEN incl := ymax_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower right corner - rmin := 0.0; rmin_in := xmin_in AND ymax_in; - amin := angle(0.5*PI-ab); amin_in := ymax_in; - amax := angle(PI-ab); amax_in := xmin_in; - END_IF; - END_IF; - ELSE IF yc >= ymax THEN -- Consider points near (-infinity, ymax) - angle_minmax(ab,PI,(yc=ymax) AND ymax_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_xmax AND (yc >= ymax) THEN -- Consider points near (+infinity, ymax) - angle_minmax(ab,0.0,(yc=ymax) AND ymax_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF outside THEN -- Change direction origin from ab back to zero - amin := angle(amin+ab); - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(amax+ab); - IF amax <= amin THEN amax := amax + 2.0*PI; END_IF; - ELSE - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := FALSE; - END_IF; - IF amin_in THEN minclo := closed; END_IF; - IF amax_in THEN maxclo := closed; END_IF; - aitv := make_finite_real_interval(amin,minclo,amax,maxclo); - minclo := open; - IF rmin_in THEN minclo := closed; END_IF; - IF rmax_exists THEN - maxclo := open; - IF rmax_in THEN maxclo := closed; END_IF; - ritv := make_finite_real_interval(rmin,minclo,rmax,maxclo); - ELSE - ritv := make_real_interval_from_min(rmin,minclo); - END_IF; - RETURN (make_polar_complex_number_region(centre,ritv,aitv)); -END_FUNCTION; -- enclose_cregion_in_pregion - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION atan2(y, x : REAL) : REAL; - LOCAL - r : REAL; - END_LOCAL; - IF (y = 0.0) AND (x = 0.0) THEN RETURN (?); END_IF; - r := atan(y,x); - IF x < 0.0 THEN - IF y < 0.0 THEN r := r - PI; - ELSE r := r + PI; END_IF; - END_IF; - RETURN (r); -END_FUNCTION; -- atan2 - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_polar_complex_number_region(centre : complex_number_literal; - dis_constraint : real_interval; - dir_constraint : finite_real_interval) - : polar_complex_number_region; - RETURN (polar_complex_number_region (centre, dis_constraint, dir_constraint) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_polar_complex_number_region - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION enclose_pregion_in_cregion(prgn : polar_complex_number_region) - : cartesian_complex_number_region; - PROCEDURE nearest_good_direction(acart : REAL; - aitv : finite_real_interval; - VAR a : REAL; - VAR a_in : BOOLEAN); - a := acart; a_in := TRUE; - IF a < aitv.min THEN - -- a+2.0*PI > aitv.min automatically! - IF a+2.0*PI < aitv.max THEN RETURN; END_IF; - IF a+2.0*PI = aitv.max THEN a_in := max_included(aitv); RETURN; END_IF; - ELSE IF a = aitv.min THEN a_in := min_included(aitv); RETURN; - ELSE IF a < aitv.max THEN RETURN; - ELSE IF a = aitv.max THEN a_in := max_included(aitv); RETURN; - END_IF; END_IF; END_IF; END_IF; - IF COS(acart - aitv.max) >= COS(acart - aitv.min) THEN - a := aitv.max; a_in := max_included(aitv); - ELSE - a := aitv.min; a_in := min_included(aitv); - END_IF; - END_PROCEDURE; - LOCAL - xc, yc, xmin, xmax, ymin, ymax : REAL := 0.0; - ritv, xitv, yitv : real_interval; - aitv : finite_real_interval; - xmin_exists, xmax_exists, ymin_exists, ymax_exists : BOOLEAN; - xmin_in, xmax_in, ymin_in, ymax_in : BOOLEAN := FALSE; - a, r : REAL := 0.0; - a_in : BOOLEAN := FALSE; - min_clo, max_clo : open_closed := open; - END_LOCAL; - IF NOT EXISTS (prgn) THEN RETURN (?); END_IF; - -- Extract elementary input data - xc := prgn.centre.real_part; - yc := prgn.centre.imag_part; - ritv := prgn.distance_constraint; - aitv := prgn.direction_constraint; - -- Determine xmin data - nearest_good_direction(PI,aitv,a,a_in); - IF COS(a) >= 0.0 THEN - xmin_exists := TRUE; - xmin := xc + real_min(ritv)*COS(a); - xmin_in := a_in AND (min_included(ritv) OR (COS(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - xmin_exists := TRUE; - xmin := xc + real_max(ritv)*COS(a); - xmin_in := a_in AND max_included(ritv); - ELSE - xmin_exists := FALSE; - END_IF; - END_IF; - -- Determine xmax data - nearest_good_direction(0.0,aitv,a,a_in); - IF COS(a) <= 0.0 THEN - xmax_exists := TRUE; - xmax := xc + real_min(ritv)*COS(a); - xmax_in := a_in AND (min_included(ritv) OR (COS(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - xmax_exists := TRUE; - xmax := xc + real_max(ritv)*COS(a); - xmax_in := a_in AND max_included(ritv); - ELSE - xmax_exists := FALSE; - END_IF; - END_IF; - -- Determine ymin data - nearest_good_direction(-0.5*PI,aitv,a,a_in); - IF SIN(a) >= 0.0 THEN - ymin_exists := TRUE; - ymin := yc + real_min(ritv)*SIN(a); - ymin_in := a_in AND (min_included(ritv) OR (SIN(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - ymin_exists := TRUE; - ymin := yc + real_max(ritv)*SIN(a); - ymin_in := a_in AND max_included(ritv); - ELSE - ymin_exists := FALSE; - END_IF; - END_IF; - -- Determine ymax data - nearest_good_direction(0.5*PI,aitv,a,a_in); - IF SIN(a) <= 0.0 THEN - ymax_exists := TRUE; - ymax := yc + real_min(ritv)*SIN(a); - ymax_in := a_in AND (min_included(ritv) OR (SIN(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - ymax_exists := TRUE; - ymax := yc + real_max(ritv)*SIN(a); - ymax_in := a_in AND max_included(ritv); - ELSE - ymax_exists := FALSE; - END_IF; - END_IF; - -- Construct result - IF NOT (xmin_exists OR xmax_exists OR ymin_exists OR ymax_exists) THEN - RETURN (?); -- No finite boundaries exist - END_IF; - -- Construct real_constraint - IF xmin_exists THEN - IF xmin_in THEN min_clo := closed; ELSE min_clo := open; END_IF; - IF xmax_exists THEN - IF xmax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - xitv := make_finite_real_interval(xmin,min_clo,xmax,max_clo); - ELSE - xitv := make_real_interval_from_min(xmin,min_clo); - END_IF; - ELSE - IF xmax_exists THEN - IF xmax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - xitv := make_real_interval_to_max(xmax,max_clo); - ELSE - xitv := the_reals; - END_IF; - END_IF; - -- Construct imag_constraint - IF ymin_exists THEN - IF ymin_in THEN min_clo := closed; ELSE min_clo := open; END_IF; - IF ymax_exists THEN - IF ymax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - yitv := make_finite_real_interval(ymin,min_clo,ymax,max_clo); - ELSE - yitv := make_real_interval_from_min(ymin,min_clo); - END_IF; - ELSE - IF ymax_exists THEN - IF ymax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - yitv := make_real_interval_to_max(ymax,max_clo); - ELSE - yitv := the_reals; - END_IF; - END_IF; - -- Construct cartesian region - RETURN (make_cartesian_complex_number_region(xitv,yitv)); -END_FUNCTION; -- enclose_pregion_in_cregion - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_real_interval_to_max(max : REAL; - maxclo : open_closed) : real_interval_to_max; - RETURN (real_interval_to_max (max, maxclo) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_real_interval_to_max - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_cartesian_complex_number_region(real_constraint : real_interval; - imag_constraint : real_interval) - : cartesian_complex_number_region; - RETURN (cartesian_complex_number_region (real_constraint, imag_constraint) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_cartesian_complex_number_region - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION enclose_pregion_in_pregion(prgn : polar_complex_number_region; - centre : complex_number_literal) - : polar_complex_number_region; - -- Find equivalent direction in range -PI < a <= PI. - FUNCTION angle(a : REAL) : REAL; - REPEAT WHILE a > PI; a := a - 2.0*PI; END_REPEAT; - REPEAT WHILE a <= -PI; a := a + 2.0*PI; END_REPEAT; - RETURN (a); - END_FUNCTION; - -- Find proper limits for direction interval - PROCEDURE angle_range(VAR amin, amax : REAL); - amin := angle(amin); - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(amax); - IF amax <= amin THEN amax := amax + 2.0*PI; END_IF; - END_PROCEDURE; - -- Determine whether a direction is strictly within a direction interval - FUNCTION strictly_in(a : REAL; - aitv : finite_real_interval) : LOGICAL; - a := angle(a); - RETURN ({aitv.min < a < aitv.max} OR {aitv.min < a+2.0*PI < aitv.max}); - END_FUNCTION; - -- Find min and max and related inclusion booleans among four candidates, - -- using a base direction chosen to ensure the algebraic comparisons are valid. - PROCEDURE find_aminmax( ab,a0,a1,a2,a3 : REAL; - in0,in1,in2,in3 : BOOLEAN; - VAR amin,amax : REAL; - VAR amin_in,amax_in : BOOLEAN); - LOCAL - a : REAL; - END_LOCAL; - amin := angle(a0-ab); amin_in := in0; - amax := amin; amax_in := in0; - a := angle(a1-ab); - IF a = amin THEN amin_in := amin_in OR in1; END_IF; - IF a < amin THEN amin := a; amin_in := in1; END_IF; - IF a = amax THEN amax_in := amax_in OR in1; END_IF; - IF a > amax THEN amax := a; amax_in := in1; END_IF; - a := angle(a2-ab); - IF a = amin THEN amin_in := amin_in OR in2; END_IF; - IF a < amin THEN amin := a; amin_in := in2; END_IF; - IF a = amax THEN amax_in := amax_in OR in2; END_IF; - IF a > amax THEN amax := a; amax_in := in2; END_IF; - a := angle(a3-ab); - IF a = amin THEN amin_in := amin_in OR in3; END_IF; - IF a < amin THEN amin := a; amin_in := in3; END_IF; - IF a = amax THEN amax_in := amax_in OR in3; END_IF; - IF a > amax THEN amax := a; amax_in := in3; END_IF; - amin := amin+ab; - amax := amax+ab; - angle_range(amin,amax); - END_PROCEDURE; - - LOCAL - ritp, ritv : real_interval; - aitp, aitv : finite_real_interval; - xp, yp, xc, yc, rmax, rmin, amin, amax, rc, acp, apc : REAL := 0.0; - rmax_in, rmin_in, amin_in, amax_in : BOOLEAN := FALSE; - rmxp, rmnp, x, y, r, a, ab, r0, a0, r1, a1, r2, a2, r3, a3 : REAL := 0.0; - in0, in1, in2, in3, inn : BOOLEAN := FALSE; - minclo, maxclo : open_closed := open; - END_LOCAL; - -- Extract elementary input information - IF NOT EXISTS (prgn) OR NOT EXISTS (centre) THEN RETURN (?); END_IF; - xp := prgn.centre.real_part; - yp := prgn.centre.imag_part; - ritp := prgn.distance_constraint; - aitp := prgn.direction_constraint; - xc := centre.real_part; - yc := centre.imag_part; - IF (xc = xp) AND (yc = yp) THEN RETURN (prgn); END_IF; - rc := SQRT((xp-xc)**2 + (yp-yc)**2); - acp := atan2(yp-yc,xp-xc); - apc := atan2(yc-yp,xc-xp); - rmnp := real_min(ritp); - -- Analyse cases by existence of max distance and direction limits - IF max_exists(ritp) THEN - rmxp := real_max(ritp); - IF aitp.max - aitp.min = 2.0*PI THEN - -- annulus or disk, with or without slot or puncture - inn := NOT max_included(aitp); -- slot exists; - a := angle(aitp.min); -- slot direction - rmax := rc+rmxp; rmax_in := max_included(ritp); - IF inn AND (acp = a) THEN rmax_in := FALSE; END_IF; - IF rc > rmxp THEN - a0 := ASIN(rmxp/rc); - amin := angle(acp-a0); amin_in := max_included(ritp); - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(acp+a0); amax_in := amin_in; - IF amax < amin THEN amax := amax + 2.0*PI; END_IF; - rmin := rc-rmxp; rmin_in := amin_in; - IF inn THEN - -- slotted case - IF apc = a THEN rmin_in := FALSE; END_IF; - IF angle(amin+0.5*PI) = a THEN amin_in := FALSE; END_IF; - IF angle(amax-0.5*PI) = a THEN amax_in := FALSE; END_IF; - END_IF; - ELSE IF rc = rmxp THEN - amin := angle(acp-0.5*PI); amin_in := FALSE; - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(acp+0.5*PI); amax_in := FALSE; - IF amax < amin THEN amax := amax + 2.0*PI; END_IF; - rmin := 0.0; rmin_in := max_included(ritp); - IF inn AND (apc = a) THEN rmin_in := FALSE; END_IF; - ELSE IF rc > rmnp THEN - IF inn AND (apc = a) THEN -- in the slot - rmin := 0.0; rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE - rmin := 0.0; rmin_in := TRUE; - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - END_IF; - ELSE - rmin := rmnp-rc; rmin_in := min_included(ritp); - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - IF inn THEN -- Special cases when aligned with slot - IF apc = a THEN - rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE IF acp = a THEN - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - END_IF; END_IF; - END_IF; - END_IF; END_IF; END_IF; - ELSE -- direction range < 2*PI - -- Compute data for corners with respect to xc,yc - x := xp + rmxp*cos(aitp.min) - xc; - y := yp + rmxp*sin(aitp.min) - yc; - r0 := SQRT(x**2 + y**2); - in0 := max_included(ritp) AND min_included(aitp); - IF r0 <> 0.0 THEN a0 := atan2(y,x); END_IF; - x := xp + rmxp*cos(aitp.max) - xc; - y := yp + rmxp*sin(aitp.max) - yc; - r1 := SQRT(x**2 + y**2); - in1 := max_included(ritp) AND max_included(aitp); - IF r1 <> 0.0 THEN a1 := atan2(y,x); END_IF; - x := xp + rmnp*cos(aitp.max) - xc; - y := yp + rmnp*sin(aitp.max) - yc; - r2 := SQRT(x**2 + y**2); - in2 := min_included(ritp) AND max_included(aitp); - IF r2 <> 0.0 THEN a2 := atan2(y,x); ELSE a2 := a1; in2 := in1; END_IF; - IF r1 = 0.0 THEN a1 := a2; in1 := in2; END_IF; - x := xp + rmnp*cos(aitp.min) - xc; - y := yp + rmnp*sin(aitp.min) - yc; - r3 := SQRT(x**2 + y**2); - in3 := min_included(ritp) AND min_included(aitp); - IF r3 <> 0.0 THEN a3 := atan2(y,x); ELSE a3 := a0; in3 := in0; END_IF; - IF r0 = 0.0 THEN a0 := a3; in0 := in3; END_IF; - IF rmnp = 0.0 THEN in2 := min_included(ritp); in3 := in2; END_IF; - IF (apc = angle(aitp.min)) OR (acp = angle(aitp.min)) THEN - in0 := min_included(aitp); - in3 := in0; - ELSE IF (apc = angle(aitp.max)) OR (acp = angle(aitp.max)) THEN - in1 := max_included(aitp); - in2 := in1; - END_IF; END_IF; - -- Find rmax - IF strictly_in(acp,aitp) THEN - rmax := rc+rmxp; rmax_in := max_included(ritp); - ELSE - rmax := r0; rmax_in := in0; - IF rmax = r1 THEN rmax_in := rmax_in OR in1; END_IF; - IF rmax < r1 THEN rmax := r1; rmax_in := in1; END_IF; - IF rmax = r2 THEN rmax_in := rmax_in OR in2; END_IF; - IF rmax < r2 THEN rmax := r2; rmax_in := in2; END_IF; - IF rmax = r3 THEN rmax_in := rmax_in OR in3; END_IF; - IF rmax < r3 THEN rmax := r3; rmax_in := in3; END_IF; - END_IF; - -- Find rmin - IF strictly_in(apc,aitp) THEN - IF rc >= rmxp THEN - rmin := rc-rmxp; rmin_in := max_included(ritp); - ELSE IF rc <= rmnp THEN - rmin := rmnp-rc; rmin_in := min_included(ritp); - ELSE - rmin := 0.0; rmin_in := TRUE; - END_IF; END_IF; - ELSE - rmin := r0; rmin_in := in0; - a := apc-aitp.min; - r := rc*COS(a); - IF {rmnp < r < rmxp} THEN -- use nearest point on line segment - rmin := rc*SIN(ABS(a)); rmin_in := min_included(aitp); - END_IF; - a := apc-aitp.max; - r := rc*COS(a); - IF {rmnp < r < rmxp} THEN -- try nearest point on line segment - r := rc*SIN(ABS(a)); inn := max_included(aitp); - IF r = rmin THEN rmin_in := rmin_in OR inn; END_IF; - IF r < rmin THEN rmin := r; rmin_in := inn; END_IF; - END_IF; - IF r1 = rmin THEN rmin_in := rmin_in OR in1; END_IF; - IF r1 < rmin THEN rmin := r1; rmin_in := in1; END_IF; - IF r2 = rmin THEN rmin_in := rmin_in OR in2; END_IF; - IF r2 < rmin THEN rmin := r2; rmin_in := in2; END_IF; - IF r3 = rmin THEN rmin_in := rmin_in OR in3; END_IF; - IF r3 < rmin THEN rmin := r3; rmin_in := in3; END_IF; - END_IF; - -- Find amin and amax, initially with respect to base direction ab. - IF rc >= rmxp THEN -- outside outer circle - ab := acp; - find_aminmax(ab,a0,a1,a2,a3,in0,in1,in2,in3,amin,amax,amin_in,amax_in); - a := ACOS(rmxp/rc); - IF strictly_in(apc-a,aitp) THEN - amin := ab-ASIN(rmxp/rc); amin_in := max_included(ritp); - END_IF; - IF strictly_in(apc+a,aitp) THEN - amax := ab+ASIN(rmxp/rc); amax_in := max_included(ritp); - END_IF; - angle_range(amin,amax); - ELSE IF rc > rmnp THEN - ab := angle(0.5*(aitp.min+aitp.max)); -- reference direction - find_aminmax(ab,a0,a1,a2,a3,in0,in1,in2,in3,amin,amax,amin_in,amax_in); - ELSE - -- Using base direction midway in prgn, compute all directions using - -- values which ensure a3 < a2 and a0 < a1 algebraically. - ab := angle(0.5*(aitp.min+aitp.max)); -- reference direction - a0 := angle(a0-ab); - a1 := angle(a1-ab); - a2 := angle(a2-ab); - a3 := angle(a3-ab); - IF a3 > a2 THEN a2 := a2 + 2.0*PI; END_IF; - IF a0 > a1 THEN a0 := a0 + 2.0*PI; END_IF; - IF a3 < a0 THEN amin := a3; amin_in := in3; - ELSE amin := a0; amin_in := in0; END_IF; - IF a2 > a1 THEN amax := a2; amax_in := in2; - ELSE amax := a1; amax_in := in1; END_IF; - IF (amax - amin > 2.0*PI) OR - ((amax - amin = 2.0*PI) AND (amin_in OR amax_in)) THEN - -- Cannot see out - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - ELSE - amin := amin + ab; - amax := amax + ab; - angle_range(amin,amax); - END_IF; - END_IF; END_IF; - END_IF; - IF rmin_in THEN minclo := closed; END_IF; - IF rmax_in THEN maxclo := closed; END_IF; - ritv := make_finite_real_interval(rmin,minclo,rmax,maxclo); - ELSE -- Not max_exists(ritp) - IF (rc > rmnp) AND strictly_in(apc,aitp) THEN - RETURN (?); -- No pregion exists. (Would require whole plane.) - END_IF; - IF aitp.max - aitp.min = 2.0*PI THEN - -- complement of disk, with or without slot - a := angle(aitp.min); -- slot direction - IF rc > rmnp THEN -- already excluded if not aligned with slot - IF max_included(aitp) THEN - RETURN (?); -- No pregion exists. (Would require whole plane.) - END_IF; - rmin := 0.0; rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE - rmin := rmnp-rc; rmin_in := min_included(ritp); - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - IF NOT max_included(aitp) THEN -- Special cases when aligned with slot - IF apc = a THEN - rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE IF acp = a THEN - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - END_IF; END_IF; - END_IF; - END_IF; - ELSE -- direction range < 2*PI - -- Compute data for corners with respect to xc,yc (two at infinity) - a0 := angle(aitp.min); - in0 := FALSE; - a1 := angle(aitp.max); - in1 := FALSE; - x := xp + rmnp*cos(aitp.max) - xc; - y := yp + rmnp*sin(aitp.max) - yc; - r2 := SQRT(x**2 + y**2); - in2 := min_included(ritp) AND max_included(aitp); - IF r2 <> 0.0 THEN a2 := atan2(y,x); ELSE a2 := a1; in2 := in1; END_IF; - x := xp + rmnp*cos(aitp.min) - xc; - y := yp + rmnp*sin(aitp.min) - yc; - r3 := SQRT(x**2 + y**2); - in3 := min_included(ritp) AND min_included(aitp); - IF r3 <> 0.0 THEN a3 := atan2(y,x); ELSE a3 := a0; in3 := in0; END_IF; - IF rmnp = 0.0 THEN in2 := min_included(ritp); in3 := in2; END_IF; - IF (apc = angle(aitp.min)) OR (acp = angle(aitp.min)) THEN - in0 := min_included(aitp); - in3 := in0; - ELSE IF (apc = angle(aitp.max)) OR (acp = angle(aitp.max)) THEN - in1 := max_included(aitp); - in2 := in1; - END_IF; END_IF; - -- Find rmin - IF strictly_in(apc,aitp) THEN - rmin := rmnp-rc; rmin_in := min_included(ritp); - ELSE - rmin := r2; rmin_in := in2; - a := apc-aitp.min; - r := rc*COS(a); - IF rmnp < r THEN -- use nearest point on aitp.min ray - rmin := rc*SIN(ABS(a)); rmin_in := min_included(aitp); - END_IF; - a := apc-aitp.max; - r := rc*COS(a); - IF rmnp < r THEN -- try nearest point on aitp.max ray - r := rc*SIN(ABS(a)); inn := max_included(aitp); - IF r = rmin THEN rmin_in := rmin_in OR inn; END_IF; - IF r < rmin THEN rmin := r; rmin_in := inn; END_IF; - END_IF; - IF r3 = rmin THEN rmin_in := rmin_in OR in3; END_IF; - IF r3 < rmin THEN rmin := r3; rmin_in := in3; END_IF; - END_IF; - -- Find amin and amax - ab := angle(0.5*(aitp.min+aitp.max)); -- reference direction - IF rc > rmnp THEN - find_aminmax(ab,a0,a1,a2,a3,in0,in1,in2,in3,amin,amax,amin_in,amax_in); - ELSE - -- Using base direction midway in prgn, compute all directions using - -- values which ensure a3 < a2 and a0 < a1 algebraically. - a0 := angle(a0-ab); - a1 := angle(a1-ab); - a2 := angle(a2-ab); - a3 := angle(a3-ab); - IF a3 > a2 THEN a2 := a2 + 2.0*PI; END_IF; - IF a0 > a1 THEN a0 := a0 + 2.0*PI; END_IF; - IF a3 < a0 THEN amin := a3; amin_in := in3; - ELSE amin := a0; amin_in := in0; END_IF; - IF a2 > a1 THEN amax := a2; amax_in := in2; - ELSE amax := a1; amax_in := in1; END_IF; - IF (amax - amin > 2.0*PI) OR - ((amax - amin = 2.0*PI) AND (amin_in OR amax_in)) THEN - -- Cannot see out - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - IF (rmin = 0.0) AND rmin_in THEN - RETURN (?); -- No pregion exists. (Would require whole plane.) - END_IF; - ELSE - amin := amin + ab; - amax := amax + ab; - angle_range(amin,amax); - END_IF; - END_IF; - END_IF; - IF rmin_in THEN minclo := closed; END_IF; - ritv := make_real_interval_from_min(rmin,minclo); - END_IF; - minclo := open; maxclo := open; - IF amin_in THEN minclo := closed; END_IF; - IF amax_in THEN maxclo := closed; END_IF; - aitv := make_finite_real_interval(amin,minclo,amax,maxclo); - -- Construct polar region - RETURN (make_polar_complex_number_region(centre,ritv,aitv)); -END_FUNCTION; -- enclose_pregion_in_pregion - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_maths_spaces(spc1, spc2 : maths_space) : LOGICAL; - LOCAL - spc1types : SET OF STRING := stripped_typeof(spc1); - spc2types : SET OF STRING := stripped_typeof(spc2); - set1, set2 : SET OF maths_value; - cum : LOGICAL := TRUE; - base : maths_space; - expnt : INTEGER; - factors : LIST OF maths_space; - factors2 : LIST OF maths_space; - fs1, fs2 : function_space; - cum2 : LOGICAL; - END_LOCAL; - IF spc1 = spc2 THEN RETURN (TRUE); END_IF; - -- Consider cases where it is not yet certain that spc1 <> spc2. - IF 'FINITE_SPACE' IN spc1types THEN - set1 := spc1\finite_space.members; - IF 'FINITE_SPACE' IN spc2types THEN - -- Members may have different but equivalent representations and in - -- different orders. May also have disguised repeats in same set of members. - set2 := spc2\finite_space.members; - REPEAT i := 1 TO SIZEOF (set1); - cum := cum AND member_of (set1[i], spc2); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - IF cum = TRUE THEN - REPEAT i := 1 TO SIZEOF (set2); - cum := cum AND member_of (set2[i], spc1); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - END_IF; - RETURN (cum); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN spc2types THEN - set2 := []; - REPEAT i := spc2\finite_integer_interval.min TO spc2\finite_integer_interval.max; - set2 := set2 + [i]; - END_REPEAT; - RETURN (equal_maths_spaces(spc1,make_finite_space(set2))); - END_IF; - END_IF; - IF ('FINITE_INTEGER_INTERVAL' IN spc1types) AND ('FINITE_SPACE' IN spc2types) THEN - set1 := []; - REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max; - set1 := set1 + [i]; - END_REPEAT; - RETURN (equal_maths_spaces(make_finite_space(set1),spc2)); - END_IF; - IF ('CARTESIAN_COMPLEX_NUMBER_REGION' IN spc1types) AND - ('POLAR_COMPLEX_NUMBER_REGION' IN spc2types) THEN - -- Quadrants and half spaces have two representations - RETURN (equal_cregion_pregion(spc1,spc2)); - END_IF; - IF ('POLAR_COMPLEX_NUMBER_REGION' IN spc1types) AND - ('CARTESIAN_COMPLEX_NUMBER_REGION' IN spc2types) THEN - -- Quadrants and half spaces have two representations - RETURN (equal_cregion_pregion(spc2,spc1)); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN spc1types THEN - base := spc1\uniform_product_space.base; - expnt := spc1\uniform_product_space.exponent; - IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN - IF expnt <> spc2\uniform_product_space.exponent THEN RETURN (FALSE); END_IF; - RETURN (equal_maths_spaces(base,spc2\uniform_product_space.base)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN - factors := spc2\listed_product_space.factors; - IF expnt <> SIZEOF (factors) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND equal_maths_spaces(base,factors[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN spc1types THEN - factors := spc1\listed_product_space.factors; - IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN - IF spc2\uniform_product_space.exponent <> SIZEOF (factors) THEN - RETURN (FALSE); - END_IF; - base := spc2\uniform_product_space.base; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND equal_maths_spaces(base,factors[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN - factors2 := spc2\listed_product_space.factors; - IF SIZEOF (factors) <> SIZEOF (factors2) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND equal_maths_spaces(factors[i],factors2[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - IF ('EXTENDED_TUPLE_SPACE' IN spc1types) AND - ('EXTENDED_TUPLE_SPACE' IN spc2types) THEN - RETURN (equal_maths_spaces(spc1\extended_tuple_space.extender, - spc2\extended_tuple_space.extender) AND equal_maths_spaces( - spc1\extended_tuple_space.base, spc2\extended_tuple_space.base)); - END_IF; - IF ('FUNCTION_SPACE' IN spc1types) AND - ('FUNCTION_SPACE' IN spc2types) THEN - fs1 := spc1; - fs2 := spc2; - IF fs1.domain_constraint <> fs2.domain_constraint THEN - IF (fs1.domain_constraint = sc_equal) OR (fs2.domain_constraint = sc_equal) THEN - RETURN (FALSE); - END_IF; - IF (fs1.domain_constraint <> sc_subspace) THEN - fs1 := spc2; - fs2 := spc1; - END_IF; - IF (fs1.domain_constraint <> sc_subspace) OR - (fs2.domain_constraint <> sc_member) THEN - -- Safety check. Should be unreachable. - RETURN (UNKNOWN); - END_IF; - IF any_space_satisfies(fs1.domain_constraint,fs1.domain_argument) <> - any_space_satisfies(fs2.domain_constraint,fs2.domain_argument) THEN - RETURN (FALSE); - END_IF; - IF NOT ('FINITE_SPACE' IN stripped_typeof(fs2.domain_argument)) THEN - RETURN (FALSE); - END_IF; - IF SIZEOF (['FINITE_SPACE','FINITE_INTEGER_INTERVAL'] * - stripped_typeof(fs1.domain_argument)) = 0 THEN - RETURN (FALSE); - END_IF; - -- Remaining cases too complex. - RETURN (UNKNOWN); - END_IF; - cum := equal_maths_spaces(fs1.domain_argument,fs2.domain_argument); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - IF fs1.range_constraint <> fs2.range_constraint THEN - IF (fs1.range_constraint = sc_equal) OR (fs2.range_constraint = sc_equal) THEN - RETURN (FALSE); - END_IF; - IF (fs1.range_constraint <> sc_subspace) THEN - fs1 := spc2; - fs2 := spc1; - END_IF; - IF (fs1.range_constraint <> sc_subspace) OR - (fs2.range_constraint <> sc_member) THEN - -- Safety check. Should be unreachable. - RETURN (UNKNOWN); - END_IF; - IF any_space_satisfies(fs1.range_constraint,fs1.range_argument) <> - any_space_satisfies(fs2.range_constraint,fs2.range_argument) THEN - RETURN (FALSE); - END_IF; - IF NOT ('FINITE_SPACE' IN stripped_typeof(fs2.range_argument)) THEN - RETURN (FALSE); - END_IF; - IF SIZEOF (['FINITE_SPACE','FINITE_INTEGER_INTERVAL'] * - stripped_typeof(fs1.range_argument)) = 0 THEN - RETURN (FALSE); - END_IF; - -- Remaining cases too complex. - RETURN (UNKNOWN); - END_IF; - cum := cum AND equal_maths_spaces(fs1.range_argument,fs2.range_argument); - RETURN (cum); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- equal_maths_spaces - - FUNCTION cc_design_person_and_organization_correlation - (e : cc_design_person_and_organization_assignment) : BOOLEAN; - LOCAL - po_role : STRING; - END_LOCAL; - po_role := e\person_and_organization_assignment.role.name; - CASE po_role OF - 'request_recipient' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'CHANGE_REQUEST', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'START_REQUEST'] * - TYPEOF (x)) = 1)) - THEN RETURN(FALSE); - END_IF; - 'initiator' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'CHANGE_REQUEST', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'START_REQUEST', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'START_WORK', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'CHANGE'] * - TYPEOF (x)) = 1)) - THEN RETURN(FALSE); - END_IF; - 'creator' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRODUCT_DEFINITION_FORMATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRODUCT_DEFINITION'] * - TYPEOF (x)) = 1)) - THEN RETURN (FALSE); - END_IF; - 'part_supplier' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRODUCT_DEFINITION_FORMATION' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'design_supplier' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'PRODUCT_DEFINITION_FORMATION' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'design_owner' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'configuration_manager' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'CONFIGURATION_ITEM' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'contractor' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONTRACT' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'classification_officer' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + - 'SECURITY_CLASSIFICATION' - IN TYPEOF (x))) THEN - RETURN(FALSE); - END_IF; - OTHERWISE : RETURN(TRUE); - END_CASE; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION space_is_singleton(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := stripped_typeof (spc); - END_LOCAL; - IF 'FINITE_SPACE' IN types THEN - RETURN (bool(SIZEOF (spc\finite_space.members) = 1)); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN types THEN - RETURN (bool(spc\finite_integer_interval.size = 1)); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- space_is_singleton - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION singleton_member_of(spc : maths_space) : maths_value; - LOCAL - types : SET OF STRING := stripped_typeof (spc); - END_LOCAL; - IF 'FINITE_SPACE' IN types THEN - IF SIZEOF (spc\finite_space.members) = 1 THEN - RETURN (spc\finite_space.members[1]); - END_IF; - RETURN (?); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN types THEN - IF spc\finite_integer_interval.size = 1 THEN - RETURN (spc\finite_integer_interval.min); - END_IF; - RETURN (?); - END_IF; - RETURN (?); -END_FUNCTION; -- singleton_member_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION definite_integral_expr_check(operands : LIST [2:?] OF generic_expression; - lowerinf : BOOLEAN; - upperinf : BOOLEAN) : BOOLEAN; - LOCAL - nops : INTEGER := 2; - vspc : maths_space; - dim : nonnegative_integer; - k : positive_integer; - bspc : maths_space; - END_LOCAL; - IF NOT lowerinf THEN nops := nops + 1; END_IF; - IF NOT upperinf THEN nops := nops + 1; END_IF; - IF SIZEOF (operands) <> nops THEN RETURN (FALSE); END_IF; - IF NOT ('GENERIC_VARIABLE' IN stripped_typeof(operands[2])) THEN - RETURN (FALSE); - END_IF; - IF NOT has_values_space (operands[2]) THEN RETURN (FALSE); END_IF; - vspc := values_space_of (operands[2]); - IF NOT ('REAL_INTERVAL' IN stripped_typeof(vspc)) THEN RETURN (FALSE); END_IF; - IF lowerinf THEN - IF min_exists (vspc) THEN RETURN (FALSE); END_IF; - k := 3; - ELSE - IF NOT has_values_space (operands[3]) THEN RETURN (FALSE); END_IF; - bspc := values_space_of (operands[3]); - IF NOT compatible_spaces (bspc, vspc) THEN RETURN (FALSE); END_IF; - k := 4; - END_IF; - IF upperinf THEN - IF max_exists (vspc) THEN RETURN (FALSE); END_IF; - ELSE - IF NOT has_values_space (operands[k]) THEN RETURN (FALSE); END_IF; - bspc := values_space_of (operands[k]); - IF NOT compatible_spaces (bspc, vspc) THEN RETURN (FALSE); END_IF; - END_IF; - RETURN (TRUE); -END_FUNCTION; -- definite_integral_expr_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION nondecreasing(lr : LIST OF REAL) : BOOLEAN; - IF NOT EXISTS (lr) THEN - RETURN (FALSE); - END_IF; - REPEAT j := 2 TO SIZEOF (lr); - IF lr[j] < lr[j-1] THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_table(func : maths_function) : BOOLEAN; - LOCAL - tspace : tuple_space; - temp : maths_space; - base : INTEGER; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - tspace := func.domain; - IF (space_dimension (tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (tspace))) THEN - tspace := factor1 (tspace); - END_IF; - IF NOT ((schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (tspace)) THEN - RETURN (FALSE); - END_IF; - temp := factor1 (tspace); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - base := temp\finite_integer_interval.min; - IF (base <> 0) AND (base <> 1) THEN - RETURN (FALSE); - END_IF; - REPEAT i := 2 TO space_dimension (tspace); - temp := factor_space (tspace, i); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - IF temp\finite_integer_interval.min <> base THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- function_is_table - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compare_basis_and_coef(basis : LIST [1:?] OF b_spline_basis; - coef : maths_function) : BOOLEAN; - LOCAL - shape : LIST OF positive_integer; - END_LOCAL; - IF NOT EXISTS (basis) OR NOT EXISTS (coef) THEN RETURN (FALSE); END_IF; - shape := shape_of_array(coef); - IF NOT EXISTS (shape) THEN RETURN (FALSE); END_IF; - IF SIZEOF (shape) < SIZEOF (basis) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (basis); - IF (basis[i].num_basis = shape[i]) <> TRUE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- compare_basis_and_coef - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION number_tuple_subspace_check(spc : maths_space) : LOGICAL; - LOCAL - types : SET OF STRING := stripped_typeof(spc); - factors : LIST OF maths_space; - cum : LOGICAL := TRUE; - END_LOCAL; - IF 'UNIFORM_PRODUCT_SPACE' IN types THEN - RETURN (subspace_of_es(spc\uniform_product_space.base,es_numbers)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types THEN - factors := spc\listed_product_space.factors; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND subspace_of_es(factors[i],es_numbers); - END_REPEAT; - RETURN (cum); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types THEN - cum := subspace_of_es(spc\extended_tuple_space.extender,es_numbers); - cum := cum AND number_tuple_subspace_check(spc\extended_tuple_space.base); - RETURN (cum); - END_IF; - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION partial_derivative_check(domain : tuple_space; - d_vars : LIST [1:?] OF input_selector) : BOOLEAN; - LOCAL - domn : tuple_space := domain; - fspc : maths_space; - dim : INTEGER; - k : INTEGER; - END_LOCAL; - IF (space_dimension (domain) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (domain))) THEN - domn := factor1 (domain); - END_IF; - dim := space_dimension (domn); - REPEAT i := 1 TO SIZEOF (d_vars); - k := d_vars[i]; - IF k > dim THEN - RETURN (FALSE); - END_IF; - fspc := factor_space (domn, k); - IF (NOT subspace_of_es (fspc,es_reals)) AND - (NOT subspace_of_es (fspc,es_complex_numbers)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- partial_derivative_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_definite_integral_domain(igrl : definite_integral_function) - : tuple_space; - - -- Internal utility function: - FUNCTION process_product_space(spc : product_space; - idx, prefix : INTEGER; - vdomn : maths_space) : product_space; - LOCAL - uspc : uniform_product_space; - expnt : INTEGER; - factors : LIST OF maths_space; - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN TYPEOF (spc) THEN - uspc := spc; - expnt := uspc.exponent + prefix; - IF idx <= uspc.exponent THEN expnt := expnt - 1; END_IF; - IF expnt = 0 THEN - RETURN (make_listed_product_space([])); - ELSE - RETURN (make_uniform_product_space(uspc.base,expnt)); - END_IF; - ELSE - factors := spc\listed_product_space.factors; - IF idx <= SIZEOF (factors) THEN REMOVE (factors, idx); END_IF; - IF prefix > 0 THEN - INSERT (factors, vdomn, 0); - IF prefix > 1 THEN INSERT (factors, vdomn, 0); END_IF; - END_IF; - RETURN (make_listed_product_space(factors)); - END_IF; - END_FUNCTION; -- process_product_space - - -- Resume body of derive_definite_integral_domain function - LOCAL - idomn : tuple_space := igrl.integrand.domain; - types : SET OF STRING := TYPEOF (idomn); - idx : INTEGER := igrl.variable_of_integration; - tupled : BOOLEAN := bool(((space_dimension(idomn) = 1) AND - ((schema_prefix + 'TUPLE_SPACE') IN types))); - prefix : INTEGER := 0; - espc : extended_tuple_space; - vdomn : maths_space; - END_LOCAL; - IF tupled THEN - idomn := factor1(idomn); - types := TYPEOF (idomn); - END_IF; - IF igrl.lower_limit_neg_infinity THEN prefix := prefix + 1; END_IF; - IF igrl.upper_limit_pos_infinity THEN prefix := prefix + 1; END_IF; - vdomn := factor_space(idomn,idx); - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN types THEN - espc := idomn; - idomn := make_extended_tuple_space(process_product_space(espc.base,idx, - prefix,vdomn),espc.extender); - ELSE - idomn := process_product_space(idomn,idx,prefix,vdomn); - END_IF; - IF tupled THEN RETURN (one_tuples_of(idomn)); - ELSE RETURN (idomn); END_IF; -END_FUNCTION; -- derive_definite_integral_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION definite_integral_check(domain : tuple_space; - vrblint : input_selector; - lowerinf : BOOLEAN; - upperinf : BOOLEAN) : BOOLEAN; - LOCAL - domn : tuple_space := domain; - fspc : maths_space; - dim : nonnegative_integer; - k : positive_integer; - END_LOCAL; - IF (space_dimension (domain) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (domain))) THEN - domn := factor1 (domain); - END_IF; - dim := space_dimension (domn); - k := vrblint; - IF k > dim THEN RETURN (FALSE); END_IF; - fspc := factor_space (domn, k); - IF NOT ((schema_prefix + 'REAL_INTERVAL') IN TYPEOF (fspc)) THEN - RETURN (FALSE); - END_IF; - IF lowerinf AND min_exists (fspc) THEN RETURN (FALSE); END_IF; - IF upperinf AND max_exists (fspc) THEN RETURN (FALSE); END_IF; - RETURN (TRUE); -END_FUNCTION; -- definite_integral_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION remove_first(alist : LIST OF GENERIC:GEN) : LIST OF GENERIC:GEN; - LOCAL - blist : LIST OF GENERIC:GEN := alist; - END_LOCAL; - IF SIZEOF (blist) > 0 THEN - REMOVE (blist, 1); - END_IF; - RETURN (blist); -END_FUNCTION; -- remove_first - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_function_range(func : maths_function) : tuple_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(func); - tspace : tuple_space := make_listed_product_space ([]); - m, n : nonnegative_integer := 0; - temp : INTEGER := 0; - END_LOCAL; - IF 'FINITE_FUNCTION' IN typenames THEN - RETURN (derive_finite_function_range (func\finite_function.pairs)); - END_IF; - IF 'CONSTANT_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_finite_space ([func\constant_function.sole_output]))); - END_IF; - IF 'SELECTOR_FUNCTION' IN typenames THEN - tspace := func.domain; - IF (space_dimension(tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (tspace)) THEN - tspace := factor1 (tspace); - END_IF; - RETURN (one_tuples_of (factor_space (tspace, func\selector_function.selector))); - END_IF; - IF 'ELEMENTARY_FUNCTION' IN typenames THEN - RETURN (derive_elementary_function_range (func\elementary_function.func_id)); - END_IF; - IF 'RESTRICTION_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (func\restriction_function.operand)); - END_IF; - IF 'REPACKAGING_FUNCTION' IN typenames THEN - tspace := func\repackaging_function.operand.range; - IF func\repackaging_function.output_repack = ro_wrap_as_tuple THEN - tspace := one_tuples_of (tspace); - END_IF; - IF func\repackaging_function.output_repack = ro_unwrap_tuple THEN - tspace := factor1 (tspace); - END_IF; - IF func\repackaging_function.selected_output > 0 THEN - tspace := one_tuples_of (factor_space (tspace, - func\repackaging_function.selected_output)); - END_IF; - RETURN (tspace); - END_IF; - IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN - RETURN (func\unary_generic_expression.operand\maths_function.range); - END_IF; - IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN - RETURN (func\series_composed_function.operands[SIZEOF - (func\series_composed_function.operands)].range); - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN - RETURN (func\parallel_composed_function.final_function.range); - END_IF; - IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN - IF 'LISTED_REAL_DATA' IN typenames THEN - RETURN (one_tuples_of (the_reals)); - END_IF; - IF 'LISTED_INTEGER_DATA' IN typenames THEN - RETURN (one_tuples_of (the_integers)); - END_IF; - IF 'LISTED_LOGICAL_DATA' IN typenames THEN - RETURN (one_tuples_of (the_logicals)); - END_IF; - IF 'LISTED_STRING_DATA' IN typenames THEN - RETURN (one_tuples_of (the_strings)); - END_IF; - IF 'LISTED_COMPLEX_NUMBER_DATA' IN typenames THEN - RETURN (one_tuples_of (the_complex_numbers)); - END_IF; - IF 'LISTED_DATA' IN typenames THEN - RETURN (one_tuples_of (func\listed_data.value_range)); - END_IF; - IF 'EXTERNALLY_LISTED_DATA' IN typenames THEN - RETURN (one_tuples_of (func\externally_listed_data.value_range)); - END_IF; - IF 'LINEARIZED_TABLE_FUNCTION' IN typenames THEN - RETURN (func\linearized_table_function.source.range); - END_IF; - IF 'BASIC_SPARSE_MATRIX' IN typenames THEN - RETURN (func\basic_sparse_matrix.val.range); - END_IF; - -- Unreachable, as no other subtypes of explicit_table_function are permissible - -- without first modifying this function to account for them. - RETURN (?); - END_IF; - IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\homogeneous_linear_function.mat.range), - func\homogeneous_linear_function.mat\explicit_table_function.shape - [3 - func\homogeneous_linear_function.sum_index]))); - END_IF; - IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\general_linear_function.mat.range), - func\general_linear_function.mat\explicit_table_function.shape - [3 - func\general_linear_function.sum_index]))); - END_IF; - IF 'B_SPLINE_BASIS' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space (the_reals, - func\b_spline_basis.num_basis))); - END_IF; - IF 'B_SPLINE_FUNCTION' IN typenames THEN - tspace := factor1 (func\b_spline_function.coef.domain); - m := SIZEOF (func\b_spline_function.basis); - n := space_dimension (tspace); - IF m = n THEN - RETURN (one_tuples_of (the_reals)); - END_IF; - IF m = n - 1 THEN - RETURN (one_tuples_of (make_uniform_product_space (the_reals, - factor_space (tspace, n)\finite_integer_interval.size))); - END_IF; - tspace := extract_factors (tspace, m+1, n); - RETURN (one_tuples_of (make_function_space (sc_equal, tspace, sc_subspace, - number_superspace_of (func\b_spline_function.coef.range)))); - END_IF; - IF 'RATIONALIZE_FUNCTION' IN typenames THEN - tspace := factor1 (func\rationalize_function.fun.range); - n := space_dimension (tspace); - RETURN (one_tuples_of (make_uniform_product_space (number_superspace_of ( - factor1 (tspace)), n-1))); - END_IF; - IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN - RETURN (drop_numeric_constraints ( - func\partial_derivative_function.derivand.range)); - END_IF; - IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN - RETURN (drop_numeric_constraints ( - func\definite_integral_function.integrand.range)); - END_IF; - IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN - RETURN (one_tuples_of(values_space_of(func\abstracted_expression_function.expr))); - END_IF; - IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN - RETURN (values_space_of (func\expression_denoted_function.expr)\function_space. - range_argument); - END_IF; - IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_point_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_curve_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_surface_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_volume_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN - RETURN (func\application_defined_function.explicit_range); - END_IF; - -- Unreachable, as no other subtypes of maths_function are permissible without - -- first modifying this function to account for them. - RETURN (?); -END_FUNCTION; -- derive_function_range - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_finite_function_range(pairs : SET [1:?] OF LIST [2:2] OF maths_value) - : tuple_space; - LOCAL - result : SET OF maths_value := []; - END_LOCAL; --- An ambiguity in ISO 10303-11:1994 pages 99-101 leaves the result of the following --- three lines ambiguous in those cases where an operand is simultaneously a member --- of the base type and the aggregate type. --- REPEAT i := 1 TO SIZEOF (pairs); --- result := result + pairs[i][2]; --- END_REPEAT; --- The next line unions an empty set and the desired list to get the desired set. - result := result + list_selected_components (pairs, 2); - RETURN (one_tuples_of (make_finite_space (result))); -END_FUNCTION; -- derive_finite_function_range - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_elementary_function_range(ef_val : elementary_function_enumerators) - : tuple_space; - IF NOT EXISTS (ef_val) THEN RETURN (?); END_IF; - CASE ef_val OF - ef_and : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_or : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_not : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_xor : RETURN (make_uniform_product_space (the_logicals, 2)); - ef_negate_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_add_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_subtract_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_multiply_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_divide_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_mod_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_exponentiate_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_eq_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_abs_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_if_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_negate_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_reciprocal_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_add_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_subtract_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_multiply_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_divide_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_mod_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_exponentiate_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_exponentiate_ri : RETURN (make_uniform_product_space (the_reals, 1)); - ef_eq_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_abs_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_acos_r : RETURN (make_uniform_product_space (the_zero_pi_interval, 1)); - ef_asin_r : RETURN (make_uniform_product_space (the_neghalfpi_halfpi_interval, 1)); - ef_atan2_r : RETURN (make_uniform_product_space (the_negpi_pi_interval, 1)); - ef_cos_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_exp_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_ln_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_log2_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_log10_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_sin_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_sqrt_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_tan_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_if_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_negate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_reciprocal_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_add_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_subtract_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_multiply_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_divide_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exponentiate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exponentiate_ci : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_eq_c : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_c : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_conjugate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_abs_c : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_arg_c : RETURN (make_uniform_product_space (the_negpi_pi_interval, 1)); - ef_cos_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exp_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_ln_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sin_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sqrt_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_tan_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_if_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_subscript_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_eq_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_subsequence_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_concat_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_size_s : RETURN (make_uniform_product_space (the_integers, 1)); - ef_format : RETURN (make_uniform_product_space (the_strings, 1)); - ef_value : RETURN (make_uniform_product_space (the_reals, 1)); - ef_like : RETURN (make_uniform_product_space (the_booleans, 1)); - ef_if_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_subscript_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_eq_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_subsequence_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_concat_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_size_b : RETURN (make_uniform_product_space (the_integers, 1)); - ef_if_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_subscript_t : RETURN (make_uniform_product_space (the_generics, 1)); - ef_eq_t : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_t : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_concat_t : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_size_t : RETURN (make_uniform_product_space (the_integers, 1)); - ef_entuple : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_detuple : RETURN (the_tuples); - ef_insert : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_remove : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_if_t : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_sum_it : RETURN (make_uniform_product_space (the_integers, 1)); - ef_product_it : RETURN (make_uniform_product_space (the_integers, 1)); - ef_add_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_subtract_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_scalar_mult_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_dot_prod_it : RETURN (make_uniform_product_space (the_integers, 1)); - ef_sum_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_product_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_add_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_subtract_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_scalar_mult_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_dot_prod_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_norm_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_sum_ct : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_product_ct : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_add_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_subtract_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_scalar_mult_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_dot_prod_ct : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_norm_ct : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_if : RETURN (make_uniform_product_space (the_generics, 1)); - ef_ensemble : RETURN (make_uniform_product_space (the_maths_spaces, 1)); - ef_member_of : RETURN (make_uniform_product_space (the_logicals, 1)); - OTHERWISE : RETURN (?); - END_CASE; -END_FUNCTION; -- derive_elementary_function_range - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_1d_array(func : maths_function) : BOOLEAN; - LOCAL - temp : maths_space; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - IF space_dimension (func.domain) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (func.domain); - IF (schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (temp) THEN - IF space_dimension (temp) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (temp); - END_IF; - IF (schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp) THEN - RETURN (TRUE); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- function_is_1d_array - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_1d_table(func : maths_function) : BOOLEAN; - LOCAL - temp : maths_space; - itvl : finite_integer_interval; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - IF space_dimension (func.domain) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (func.domain); - IF (schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (temp) THEN - IF space_dimension (temp) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (temp); - END_IF; - IF (schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp) THEN - itvl := temp; - RETURN (bool((itvl.min = 0) OR (itvl.min = 1))); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- function_is_1d_table - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION check_sparse_index_domain(idxdom : tuple_space; - base : zero_or_one; - shape : LIST [1:?] OF positive_integer; - order : ordering_type) : BOOLEAN; - LOCAL - mthspc : maths_space; - interval : finite_integer_interval; - i : INTEGER; - END_LOCAL; - mthspc := factor1(idxdom); - -- A consequence of WR1 of basic_sparse_matrix is that here we need only - -- consider the case that mthspc is a finite integer interval and is the only - -- factor space of idxdom. - interval := mthspc; - IF order = by_rows THEN i := 1; ELSE i := 2; END_IF; - RETURN (bool((interval.min <= base) AND (interval.max >= base + shape[i]))); - -- The index function is evaluated at (base+shape[i]) when determining the - -- upper search bound for entries of the last row or column, respectively. -END_FUNCTION; -- check_sparse_index_domain; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION check_sparse_index_to_loc(index_range, loc_domain : tuple_space) : BOOLEAN; - LOCAL - temp : maths_space; - idx_rng_itvl, loc_dmn_itvl : finite_integer_interval; - END_LOCAL; - temp := factor1 (index_range); - IF (schema_prefix + 'TUPLE_SPACE') IN TYPEOF (temp) THEN - temp := factor1 (temp); - END_IF; - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - idx_rng_itvl := temp; - temp := factor1 (loc_domain); - IF (schema_prefix + 'TUPLE_SPACE') IN TYPEOF (temp) THEN - temp := factor1 (temp); - END_IF; - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - loc_dmn_itvl := temp; - RETURN (bool((loc_dmn_itvl.min <= idx_rng_itvl.min) AND - (idx_rng_itvl.max <= loc_dmn_itvl.max+1))); -END_FUNCTION; -- check_sparse_index_to_loc - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION check_sparse_loc_range(locrng : tuple_space; - base : zero_or_one; - shape : LIST [1:?] OF positive_integer; - order : ordering_type) : BOOLEAN; - LOCAL - mthspc : maths_space; - interval : finite_integer_interval; - i : INTEGER; - END_LOCAL; - IF space_dimension(locrng) <> 1 THEN RETURN (FALSE); END_IF; - mthspc := factor1(locrng); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (mthspc)) THEN - RETURN (FALSE); - END_IF; - interval := mthspc; - IF order = by_rows THEN i := 2; ELSE i := 1; END_IF; - RETURN (bool((interval.min >= base) AND (interval.max <= base + shape[i] - 1))); -END_FUNCTION; -- check_sparse_loc_range; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION extract_factors(tspace : tuple_space; - m, n : INTEGER) : tuple_space; - LOCAL - tsp : tuple_space := the_zero_tuple_space; - END_LOCAL; - REPEAT i := m TO n; - tsp := assoc_product_space (tsp, factor_space (tspace, i)); - END_REPEAT; - RETURN (tsp); -END_FUNCTION; -- extract_factors - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_elementary_function(func_id : elementary_function_enumerators) - : elementary_function; - RETURN (elementary_function (func_id) - || maths_function() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_elementary_function - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_operands(values : AGGREGATE OF maths_value) - : LIST OF generic_expression; - LOCAL - operands : LIST OF generic_expression := []; - loc : INTEGER := 0; - END_LOCAL; - IF NOT EXISTS (values) THEN RETURN (?); END_IF; - REPEAT i := LOINDEX (values) TO HIINDEX (values); - INSERT (operands, convert_to_operand (values[i]), loc); - loc := loc + 1; - END_REPEAT; - RETURN (operands); -END_FUNCTION; -- convert_to_operands - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_operand(val : maths_value) : generic_expression; - LOCAL - types : SET OF STRING := stripped_typeof (val); - END_LOCAL; - -- Use intermediate variables of appropriate declared types to help the compilers. - IF 'GENERIC_EXPRESSION' IN types THEN RETURN (val); END_IF; - IF 'MATHS_ATOM' IN types THEN RETURN (convert_to_literal (val)); END_IF; - IF 'ATOM_BASED_VALUE' IN types THEN RETURN (make_atom_based_literal(val)); END_IF; - IF 'MATHS_TUPLE' IN types THEN RETURN (make_maths_tuple_literal(val)); END_IF; - -- Should be unreachable - RETURN (?); -END_FUNCTION; -- convert_to_operand - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_literal(val : maths_atom) : generic_literal; - LOCAL - types : SET OF STRING := TYPEOF (val); - END_LOCAL; - IF 'INTEGER' IN types THEN RETURN (make_int_literal (val)); END_IF; - IF 'REAL' IN types THEN RETURN (make_real_literal (val)); END_IF; - IF 'BOOLEAN' IN types THEN RETURN (make_boolean_literal (val)); END_IF; - IF 'STRING' IN types THEN RETURN (make_string_literal (val)); END_IF; - IF 'LOGICAL' IN types THEN RETURN (make_logical_literal (val)); END_IF; - IF 'BINARY' IN types THEN RETURN (make_binary_literal (val)); END_IF; - IF (schema_prefix + 'MATHS_ENUM_ATOM') IN types THEN - RETURN (make_maths_enum_literal (val)); - END_IF; - -- Should be unreachable - RETURN (?); -END_FUNCTION; -- convert_to_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_boolean_literal(lit_value : BOOLEAN) : boolean_literal; - RETURN (boolean_literal (lit_value) - || simple_boolean_expression() - || boolean_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_boolean_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_string_literal(lit_value : STRING) : string_literal; - RETURN (string_literal (lit_value) - || simple_string_expression() - || string_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_string_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_logical_literal(lit_value : LOGICAL) : logical_literal; - RETURN (logical_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_logical_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_binary_literal(lit_value : BINARY) : binary_literal; - RETURN (binary_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_binary_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_maths_enum_literal(lit_value : maths_enum_atom) : maths_enum_literal; - RETURN (maths_enum_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_maths_enum_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_atom_based_literal(lit_value : atom_based_value) : atom_based_literal; - RETURN (atom_based_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_atom_based_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_maths_tuple_literal(lit_value : LIST OF maths_value) - : maths_tuple_literal; - RETURN (maths_tuple_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_maths_tuple_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_applicability(func : maths_function_select; - arguments : LIST [1:?] OF maths_value) : BOOLEAN; - LOCAL - domain : tuple_space := convert_to_maths_function(func).domain; - domain_types : SET OF STRING := TYPEOF (domain); - narg : positive_integer := SIZEOF (arguments); - arg : generic_expression; - END_LOCAL; - IF (schema_prefix + 'PRODUCT_SPACE') IN domain_types THEN - IF space_dimension (domain) <> narg THEN RETURN (FALSE); END_IF; - ELSE - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN domain_types THEN - IF space_dimension (domain) > narg THEN RETURN (FALSE); END_IF; - ELSE - RETURN (FALSE); -- Should be unreachable - END_IF; - END_IF; - REPEAT i := 1 TO narg; - arg := convert_to_operand (arguments[i]); - IF NOT has_values_space (arg) THEN RETURN (FALSE); END_IF; - IF NOT compatible_spaces (factor_space (domain, i), values_space_of (arg)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- function_applicability - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_complex_number_literal(rpart, ipart : REAL) : complex_number_literal; - RETURN (complex_number_literal (rpart, ipart) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_complex_number_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_function_application(afunction : maths_function_select; - arguments : LIST [1:?] OF maths_value) - : function_application; - RETURN (function_application (afunction, arguments) - || multiple_arity_generic_expression (convert_to_maths_function (afunction) + - convert_to_operands (arguments)) -- derived - || generic_expression() ); -END_FUNCTION; -- make_function_application - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_maths_values(val1, val2 : maths_value) : LOGICAL; - FUNCTION mem_of_vs(val1, val2 : maths_value) : LOGICAL; - IF NOT has_values_space(val2) THEN RETURN (UNKNOWN); END_IF; - IF NOT member_of(val1,values_space_of(val2)) THEN RETURN (FALSE); END_IF; - RETURN (UNKNOWN); - END_FUNCTION; -- mem_of_vs - LOCAL - types1, types2 : SET OF STRING; - list1, list2 : LIST OF maths_value; - cum : LOGICAL := TRUE; - END_LOCAL; - IF NOT EXISTS (val1) OR NOT EXISTS (val2) THEN RETURN (FALSE); END_IF; - IF val1 = val2 THEN RETURN (TRUE); END_IF; - types1 := stripped_typeof (val1); - types2 := stripped_typeof (val2); - IF ('MATHS_ATOM' IN types1) OR ('COMPLEX_NUMBER_LITERAL' IN types1) THEN - IF 'MATHS_ATOM' IN types2 THEN RETURN (FALSE); END_IF; - IF 'COMPLEX_NUMBER_LITERAL' IN types2 THEN RETURN (FALSE); END_IF; - IF 'LIST' IN types2 THEN RETURN (FALSE); END_IF; - IF 'MATHS_SPACE' IN types2 THEN RETURN (FALSE); END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (FALSE); END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF ('MATHS_ATOM' IN types2) OR ('COMPLEX_NUMBER_LITERAL' IN types2) THEN - RETURN (equal_maths_values(val2,val1)); - END_IF; - IF 'LIST' IN types1 THEN - IF 'LIST' IN types2 THEN - list1 := val1; - list2 := val2; - IF SIZEOF (list1) <> SIZEOF (list2) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (list1); - cum := cum AND equal_maths_values (list1[i], list2[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'MATHS_SPACE' IN types2 THEN RETURN (FALSE); END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (FALSE); END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'LIST' IN types2 THEN RETURN (equal_maths_values(val2,val1)); END_IF; - IF 'MATHS_SPACE' IN types1 THEN - IF 'MATHS_SPACE' IN types2 THEN - RETURN (equal_maths_spaces(val1,val2)); - END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (FALSE); END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'MATHS_SPACE' IN types2 THEN RETURN (equal_maths_values(val2,val1)); END_IF; - IF 'MATHS_FUNCTION' IN types1 THEN - IF 'MATHS_FUNCTION' IN types2 THEN - RETURN (equal_maths_functions(val1,val2)); - END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (equal_maths_values(val2,val1)); END_IF; - IF ('GENERIC_EXPRESSION' IN types1) AND ('GENERIC_EXPRESSION' IN types2) THEN - IF NOT has_values_space(val1) OR NOT has_values_space(val2) THEN - RETURN (UNKNOWN); - END_IF; - IF NOT compatible_spaces(values_space_of(val1),values_space_of(val2)) THEN - RETURN (FALSE); - END_IF; - END_IF; - RETURN (UNKNOWN); -END_FUNCTION; -- equal_maths_values - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_maths_functions(fun1, fun2 : maths_function) : LOGICAL; - LOCAL - cum : LOGICAL; - END_LOCAL; - IF fun1 = fun2 THEN RETURN (TRUE); END_IF; - cum := equal_maths_spaces(fun1.domain,fun2.domain); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - cum := cum AND equal_maths_spaces(fun1.range,fun2.range); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - -- A lot of further analysis is possible, but not required. - RETURN (UNKNOWN); -END_FUNCTION; -- equal_maths_functions - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION substitute(expr : generic_expression; - vars : LIST [1:?] OF generic_variable; - vals : LIST [1:?] OF maths_value) : generic_expression; - LOCAL - types : SET OF STRING := stripped_typeof(expr); - opnds : LIST OF generic_expression; - op1, op2 : generic_expression; - qvars : LIST OF generic_variable; - srcdom : maths_space_or_function; - prpfun : LIST [1:?] OF maths_function; - finfun : maths_function_select; - END_LOCAL; - IF SIZEOF (vars) <> SIZEOF (vals) THEN RETURN (?); END_IF; - IF 'GENERIC_LITERAL' IN types THEN RETURN (expr); END_IF; - IF 'GENERIC_VARIABLE' IN types THEN - REPEAT i := 1 TO SIZEOF (vars); - IF expr :=: vars[i] THEN RETURN (vals[i]); END_IF; - END_REPEAT; - RETURN (expr); - END_IF; - IF 'QUANTIFIER_EXPRESSION' IN types THEN - qvars := expr\quantifier_expression.variables; - -- Variables subject to a quantifier do not participate in this kind of - -- substitution process. - REPEAT i := SIZEOF (vars) TO 1 BY -1; - IF vars[i] IN qvars THEN - REMOVE (vars, i); - REMOVE (vals, i); - END_IF; - END_REPEAT; - opnds := expr\multiple_arity_generic_expression.operands; - REPEAT i := 1 TO SIZEOF (opnds); - IF NOT (opnds[i] IN qvars) THEN - expr\multiple_arity_generic_expression.operands[i] := - substitute(opnds[i],vars,vals); - -- This technique will not work on subtypes of quantifier_expression - -- which derive their operands from other attributes! - END_IF; - END_REPEAT; - RETURN (expr); -- operands modified! - END_IF; - IF 'UNARY_GENERIC_EXPRESSION' IN types THEN - op1 := expr\unary_generic_expression.operand; - expr\unary_generic_expression.operand := substitute(op1, vars, vals); - -- This technique will not work on subtypes of unary_generic_expression - -- which derive their operands from other attributes! - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN types THEN - op1 := expr\binary_generic_expression.operands[1]; - expr\binary_generic_expression.operands[1] := substitute(op1, vars, vals); - op2 := expr\binary_generic_expression.operands[2]; - expr\binary_generic_expression.operands[2] := substitute(op2, vars, vals); - -- This technique will not work on subtypes of binary_generic_expression - -- which derive their operands from other attributes! - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN - -- Subtype of multiple_arity_generic_expression which derives its operands. - srcdom := expr\parallel_composed_function.source_of_domain; - prpfun := expr\parallel_composed_function.prep_functions; - finfun := expr\parallel_composed_function.final_function; - srcdom := substitute(srcdom,vars,vals); - REPEAT i := 1 TO SIZEOF (prpfun); - prpfun[i] := substitute(prpfun[i],vars,vals); - END_REPEAT; - IF 'MATHS_FUNCTION' IN stripped_typeof(finfun) THEN - finfun := substitute(finfun,vars,vals); - END_IF; - RETURN (make_parallel_composed_function(srcdom,prpfun,finfun)); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN - opnds := expr\multiple_arity_generic_expression.operands; - REPEAT i := 1 TO SIZEOF (opnds); - expr\multiple_arity_generic_expression.operands[i] := - substitute(opnds[i],vars,vals); - -- This technique will not work on subtypes of multiple_arity_generic_ - -- expression which derive their operands from other attributes! - END_REPEAT; - END_IF; - RETURN (expr); -END_FUNCTION; -- substitute - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_parallel_composed_function(srcdom : maths_space_or_function; - prepfuncs : LIST [2:?] OF maths_function; - finfunc : maths_function_select) - : parallel_composed_function; - RETURN (parallel_composed_function (srcdom, prepfuncs, finfunc) - || maths_function() - || generic_expression() - || multiple_arity_generic_expression (convert_to_operands_prcmfn ( - srcdom, prepfuncs, finfunc)) ); -- derived -END_FUNCTION; -- make_parallel_composed_function - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compatible_es_values(esval1, esval2 : elementary_space_enumerators) : BOOLEAN; - LOCAL - esval1_is_numeric, esval2_is_numeric : LOGICAL; - END_LOCAL; - IF (esval1 = esval2) OR (esval1 = es_generics) OR (esval2 = es_generics) THEN - RETURN (TRUE); - END_IF; - esval1_is_numeric := (esval1 >= es_numbers) AND (esval1 <= es_integers); - esval2_is_numeric := (esval2 >= es_numbers) AND (esval2 <= es_integers); - IF (esval1_is_numeric AND (esval2 = es_numbers)) OR - (esval2_is_numeric AND (esval1 = es_numbers)) THEN - RETURN (TRUE); - END_IF; - IF esval1_is_numeric XOR esval2_is_numeric THEN - RETURN (FALSE); - END_IF; - IF ((esval1 = es_logicals) AND (esval2 = es_booleans)) OR - ((esval1 = es_booleans) AND (esval2 = es_logicals)) THEN - RETURN (TRUE); - END_IF; - -- All other cases are incompatible - RETURN (FALSE); -END_FUNCTION; -- compatible_es_values - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compatible_intervals(sp1, sp2 : maths_space) : BOOLEAN; - LOCAL - amin, amax : REAL; - END_LOCAL; - IF min_exists(sp1) AND max_exists(sp2) THEN - amin := real_min(sp1); amax := real_max(sp2); - IF amin > amax THEN RETURN (FALSE); END_IF; - IF amin = amax THEN - RETURN (min_included(sp1) AND max_included(sp2)); - END_IF; - END_IF; - IF min_exists(sp2) AND max_exists(sp1) THEN - amin := real_min(sp2); amax := real_max(sp1); - IF amin > amax THEN RETURN (FALSE); END_IF; - IF amin = amax THEN - RETURN (min_included(sp2) AND max_included(sp1)); - END_IF; - END_IF; - RETURN (TRUE); -END_FUNCTION; -- compatible_intervals - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compatible_complex_number_regions(sp1, sp2 : maths_space) : BOOLEAN; - LOCAL - typenames : SET OF string := stripped_typeof (sp1); - crgn1, crgn2 : cartesian_complex_number_region; - prgn1, prgn2, prgn1c2, prgn2c1 : polar_complex_number_region; - sp1_is_crgn, sp2_is_crgn : BOOLEAN; - END_LOCAL; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN - sp1_is_crgn := TRUE; - crgn1 := sp1; - ELSE - IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN - sp1_is_crgn := FALSE; - prgn1 := sp1; - ELSE - -- Improper usage: Default response is to assume compatibility. - RETURN (TRUE); - END_IF; - END_IF; - typenames := stripped_typeof (sp2); - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN - sp2_is_crgn := TRUE; - crgn2 := sp2; - ELSE - IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN - sp2_is_crgn := FALSE; - prgn2 := sp2; - ELSE - -- Improper usage: Default response is to assume compatibility. - RETURN (TRUE); - END_IF; - END_IF; - IF sp1_is_crgn AND sp2_is_crgn THEN - -- two cartesian regions - RETURN (compatible_intervals(crgn1.real_constraint, crgn2.real_constraint) - AND compatible_intervals(crgn1.imag_constraint, crgn2.imag_constraint)); - END_IF; - IF NOT sp1_is_crgn AND NOT sp2_is_crgn AND - (prgn1.centre.real_part = prgn2.centre.real_part) AND - (prgn1.centre.imag_part = prgn2.centre.imag_part) THEN - -- two polar regions with common centre - IF NOT compatible_intervals(prgn1.distance_constraint, - prgn2.distance_constraint) THEN - RETURN (FALSE); - END_IF; - IF compatible_intervals(prgn1.direction_constraint, - prgn2.direction_constraint) THEN - RETURN (TRUE); - END_IF; - -- Deal with direction ambiguity by 2 pi. - IF (prgn1.direction_constraint.max > PI) AND (prgn2.direction_constraint.max < PI) - THEN - RETURN (compatible_intervals(prgn2.direction_constraint, - make_finite_real_interval(-PI,open,prgn1.direction_constraint.max-2.0*PI, - prgn1.direction_constraint.max_closure))); - END_IF; - IF (prgn2.direction_constraint.max > PI) AND (prgn1.direction_constraint.max < PI) - THEN - RETURN (compatible_intervals(prgn1.direction_constraint, - make_finite_real_interval(-PI,open,prgn2.direction_constraint.max-2.0*PI, - prgn2.direction_constraint.max_closure))); - END_IF; - RETURN (FALSE); - END_IF; - -- Make do with imperfect tests for remaining cases. - IF sp1_is_crgn AND NOT sp2_is_crgn THEN - crgn2 := enclose_pregion_in_cregion(prgn2); - prgn1 := enclose_cregion_in_pregion(crgn1,prgn2.centre); - RETURN (compatible_complex_number_regions(crgn1,crgn2) - AND compatible_complex_number_regions(prgn1,prgn2)); - END_IF; - IF NOT sp1_is_crgn AND sp2_is_crgn THEN - crgn1 := enclose_pregion_in_cregion(prgn1); - prgn2 := enclose_cregion_in_pregion(crgn2,prgn1.centre); - RETURN (compatible_complex_number_regions(crgn1,crgn2) - AND compatible_complex_number_regions(prgn1,prgn2)); - END_IF; - -- Two polar regions with different centres - prgn1c2 := enclose_pregion_in_pregion(prgn1,prgn2.centre); - prgn2c1 := enclose_pregion_in_pregion(prgn2,prgn1.centre); - RETURN (compatible_complex_number_regions(prgn1,prgn2c1) - AND compatible_complex_number_regions(prgn1c2,prgn2)); -END_FUNCTION; -- compatible_complex_number_regions -(* REFERENCE FROM (measure_schema); *) - FUNCTION derive_dimensional_exponents (x : unit):dimensional_exponents; - LOCAL - result : dimensional_exponents := dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); - END_LOCAL; - - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DERIVED_UNIT' IN TYPEOF(x) THEN - REPEAT i := LOINDEX(x\derived_unit.elements) TO HIINDEX(x\derived_unit.elements); - result.length_exponent := result.length_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.length_exponent); - result.mass_exponent := result.mass_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.mass_exponent); - result.time_exponent := result.time_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.time_exponent); - result.electric_current_exponent := result.electric_current_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.electric_current_exponent); - result.thermodynamic_temperature_exponent := result.thermodynamic_temperature_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.thermodynamic_temperature_exponent); - result.amount_of_substance_exponent := result.amount_of_substance_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.amount_of_substance_exponent); - result.luminous_intensity_exponent := result.luminous_intensity_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.luminous_intensity_exponent); - END_REPEAT; - ELSE - result := x\named_unit.dimensions; - END_IF; - RETURN (result); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION mixed_loop_type_set(l: SET[0:?] OF loop): LOGICAL; - LOCAL - poly_loop_type: LOGICAL; - END_LOCAL; - IF(SIZEOF(l) <= 1) THEN - RETURN(FALSE); - END_IF; - poly_loop_type := ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLY_LOOP' IN TYPEOF(l[1])); - REPEAT i := 2 TO SIZEOF(l); - IF(('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLY_LOOP' IN TYPEOF(l[i])) <> poly_loop_type) - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - RETURN(FALSE); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION list_to_set(l : LIST [0:?] OF GENERIC:T) : SET OF GENERIC:T; - LOCAL - s : SET OF GENERIC:T := []; - END_LOCAL; - - REPEAT i := 1 TO SIZEOF(l); - s := s + l[i]; - END_REPEAT; - - RETURN(s); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION list_face_loops(f: face) : LIST[0:?] OF loop; - LOCAL - loops : LIST[0:?] OF loop := []; - END_LOCAL; - - REPEAT i := 1 TO SIZEOF(f.bounds); - loops := loops +(f.bounds[i].bound); - END_REPEAT; - - RETURN(loops); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION boolean_choose (b : boolean; - choice1, choice2 : generic : item) : generic : item; - - IF b THEN - RETURN (choice1); - ELSE - RETURN (choice2); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION path_head_to_tail(a_path : path) : LOGICAL; - LOCAL - n : INTEGER; - p : LOGICAL := TRUE; - END_LOCAL; - - n := SIZEOF (a_path.edge_list); - REPEAT i := 2 TO n; - p := p AND (a_path.edge_list[i-1].edge_end :=: - a_path.edge_list[i].edge_start); - END_REPEAT; - - RETURN (p); - END_FUNCTION; -(* REFERENCE FROM (assembly_feature_relationship_schema); *) -FUNCTION using_representation_with_mapping (item : representation_item) - : SET OF representation; -LOCAL - results: SET OF representation := []; - local_results : SET OF representation := []; - local_representation_map : SET OF representation_map := []; - intermediate_items : SET OF representation_item := []; - i : INTEGER; - j : INTEGER; -END_LOCAL; --- find the representations in which the item is used --- and which is referenced from the representation_map - local_results := QUERY (z <* using_representations (item)| - SIZEOF (USEDIN (z, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_MAP.' + - 'MAPPED_REPRESENTATION')) > 0 ); - IF (SIZEOF (local_results) = 0) THEN RETURN ([]); - ELSE --- find the set of representation_map in which the local_results are used - REPEAT i := 1 TO HIINDEX(local_results); - local_representation_map := local_representation_map + - bag_to_set (USEDIN (local_results[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION')); - END_REPEAT; --- find the set of mapped_item - REPEAT i := 1 TO HIINDEX(local_representation_map); - intermediate_items := intermediate_items + - bag_to_set (USEDIN (local_representation_map[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE')); - END_REPEAT; --- repeat same manner - REPEAT j := 1 to HIINDEX(intermediate_items); - results := results + bag_to_set (using_representation_with_mapping - (intermediate_items[j])); - END_REPEAT; - END_IF; - RETURN (results); -END_FUNCTION; - -(* Implicit interfaced from: assembly_constraint_schema *) -FUNCTION assembly_leaf - (item: product_definition) : BOOLEAN; -LOCAL - local_relation: SET OF assembly_component_usage := []; - local_relation2: BAG OF assembly_component_usage := []; -END_LOCAL; --- extraction of related assembly_component_relationships -- -local_relation2 := local_relation2 + QUERY(pdr <* USEDIN (item, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN - TYPEOF(pdr)); -local_relation := bag_to_set (local_relation2); -IF (SIZEOF (local_relation) = 0) THEN RETURN (TRUE); - ELSE RETURN (FALSE); -END_IF; -END_FUNCTION; - -(* Implicit interfaced from: product_property_representation_schema *) - FUNCTION get_directed_link ( nodes : LIST OF representation; - undirected_link : LIST OF chained_representation_link) : LIST OF representation_relationship; - LOCAL - directed_link : LIST OF representation_relationship := []; - END_LOCAL; - - IF (SIZEOF(nodes) <> SIZEOF(undirected_link) + 1) OR - (value_unique(nodes) = FALSE) - THEN - RETURN(?); - END_IF; - - REPEAT i := 1 to SIZEOF(undirected_link); - CASE TRUE OF - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_CONTEXT' IN TYPEOF(undirected_link[i])) : - BEGIN - IF ((nodes[i]\representation.context_of_items :=: undirected_link[i]) AND - (nodes[i+1]\representation.context_of_items :=: undirected_link[i])) THEN - INSERT(directed_link, representation_relationship('','',nodes[i+1],nodes[i]), (i - 1)); - ELSE - RETURN(?); - END_IF; - END; - - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF(undirected_link[i])) : - BEGIN - IF (((nodes[i] :=: undirected_link[i]\representation_relationship.rep_1) AND - (nodes[i+1] :=: undirected_link[i]\representation_relationship.rep_2)) OR - ((nodes[i] :=: undirected_link[i]\representation_relationship.rep_2) AND - (nodes[i+1] :=: undirected_link[i]\representation_relationship.rep_1))) THEN - INSERT(directed_link, representation_relationship('','',nodes[i+1],nodes[i]), (i - 1)); - ELSE - RETURN(?); - END_IF; - END; - - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAPPED_ITEM' IN TYPEOF(undirected_link[i])) : - BEGIN - IF ((nodes[i] IN using_representations(undirected_link[i])) AND - (nodes[i+1] :=: undirected_link[i]\mapped_item.mapping_source\representation_map.mapped_representation)) THEN - INSERT(directed_link, representation_relationship('','',nodes[i+1],nodes[i]), (i - 1)); - ELSE - RETURN(?); - END_IF; - END; - - OTHERWISE : RETURN(?); - END_CASE; - END_REPEAT; - - IF (value_unique(directed_link) = FALSE) - THEN - RETURN(?); - END_IF; - - RETURN(directed_link); - END_FUNCTION; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - FUNCTION value_range_wr1 - (agg : compound_item_definition) : BOOLEAN; - BEGIN - IF (SIZEOF(agg) = 2) AND ((SIZEOF(QUERY (i1 <* agg | ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF - (i1)))) = 2) OR - (SIZEOF(QUERY (i2 <* agg | ( - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF - (i2)))) = 2)) - THEN - RETURN(TRUE); - ELSE - RETURN(FALSE); - END_IF; - END; - END_FUNCTION; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - FUNCTION value_range_wr2 - (agg : compound_item_definition) : BOOLEAN; - BEGIN - IF ((SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'upper limit'))) = 1) - AND (SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'lower limit'))) = 1)) - THEN - RETURN(TRUE); - ELSE - RETURN(FALSE); - END_IF; - END; - END_FUNCTION; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - FUNCTION value_range_wr3 - (agg : compound_item_definition) : BOOLEAN; - BEGIN - IF (SIZEOF(QUERY(i1 <* agg | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND - (SIZEOF (QUERY (i2 <* agg | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i2)) AND - (i1 :<>: i2) AND (i1\measure_with_unit.unit_component :=: i2\measure_with_unit.unit_component))) = 1))) = 2) - THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; - END; - END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION acyclic_curve_replica - (rep : curve_replica; parent : curve) : BOOLEAN; -IF NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type curve_replica *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same curve_replica, otherwise, - call function again with the parents own parent_curve. *) - ELSE - RETURN(acyclic_curve_replica(rep, - parent\curve_replica.parent_curve)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION acyclic_point_replica - (rep : point_replica; parent : point) : BOOLEAN; -IF NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type point_replica *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same point_replica, otherwise, - call function again with the parents own parent_pt. *) - ELSE RETURN(acyclic_point_replica(rep, parent\point_replica.parent_pt)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION acyclic_surface_replica - (rep : surface_replica; parent : surface) : BOOLEAN; -IF NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type surface_replica *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same surface_replica, otherwise, - call function again with the parents own parent_surface. *) - ELSE RETURN(acyclic_surface_replica(rep, - parent\surface_replica.parent_surface)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: aic_draughting_annotation *) -FUNCTION check_text_alignment (ct : composite_text) : BOOLEAN; - - LOCAL - a : SET OF text_alignment := []; - END_LOCAL; - - -- create a set of all the alignments - REPEAT i := 1 TO HIINDEX (ct.collected_text); - a := a + [ct.collected_text[i]\text_literal.alignment]; - END_REPEAT; - - -- if there is more than one element in the set - -- then not all alignments were the same - RETURN (SIZEOF(a) = 1); -END_FUNCTION; - -(* Implicit interfaced from: aic_draughting_annotation *) -FUNCTION check_text_font (ct : composite_text) : BOOLEAN; - - LOCAL - f : SET OF font_select := []; - END_LOCAL; - - -- build a set of all the fonts - REPEAT i := 1 TO HIINDEX (ct.collected_text); - f := f + [ct.collected_text[i]\text_literal.font]; - END_REPEAT; - - -- if there is more than one element in the set - -- then not all fonts were the same - RETURN (SIZEOF(f) <= 1); -END_FUNCTION; - -(* Implicit interfaced from: presentation_organization_schema *) - FUNCTION aspect_ratio (p : planar_box) : positive_ratio_measure; - IF (p.size_in_x > 0.) AND (p.size_in_y > 0.) THEN - RETURN (p.size_in_x / p.size_in_y); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: measure_schema *) - FUNCTION dimensions_for_si_unit (n : si_unit_name):dimensional_exponents; - CASE n OF - metre: - RETURN (dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - gram: - RETURN (dimensional_exponents(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - second: - RETURN (dimensional_exponents(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0)); - ampere: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0)); - kelvin: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0)); - mole: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)); - candela: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); - radian: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - steradian: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - hertz: - RETURN (dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0)); - newton: - RETURN (dimensional_exponents(1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - pascal: - RETURN (dimensional_exponents(-1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - joule: - RETURN (dimensional_exponents(2.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - watt: - RETURN (dimensional_exponents(2.0, 1.0, -3.0, 0.0, 0.0, 0.0, 0.0)); - coulomb: - RETURN (dimensional_exponents(0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0)); - volt: - RETURN (dimensional_exponents(2.0, 1.0, -3.0, -1.0, 0.0, 0.0, 0.0)); - farad: - RETURN (dimensional_exponents(-2.0, -1.0, 4.0, 2.0, 0.0, 0.0, 0.0)); - ohm: - RETURN (dimensional_exponents(2.0, 1.0, -3.0, -2.0, 0.0, 0.0, 0.0)); - siemens: - RETURN (dimensional_exponents(-2.0, -1.0, 3.0, 2.0, 0.0, 0.0, 0.0)); - weber: - RETURN (dimensional_exponents(2.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0)); - tesla: - RETURN (dimensional_exponents(0.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0)); - henry: - RETURN (dimensional_exponents(2.0, 1.0, -2.0, -2.0, 0.0, 0.0, 0.0)); - degree_Celsius: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0)); - lumen: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); - lux: - RETURN (dimensional_exponents(-2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); - becquerel: - RETURN (dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0)); - gray: - RETURN (dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - sievert: - RETURN (dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - OTHERWISE: - RETURN (?); - END_CASE; - END_FUNCTION; - -(* Implicit interfaced from: measure_schema *) - FUNCTION valid_units (m : measure_with_unit):BOOLEAN; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MASS_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TIME_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_CURRENT_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.THERMODYNAMIC_TEMPERATURE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CELSIUS_TEMPERATURE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AMOUNT_OF_SUBSTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LUMINOUS_INTENSITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AREA_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VOLUME_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RATIO_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITIVE_PLANE_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACCELERATION_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 1.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CAPACITANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -2.0, -1.0, 4.0, 2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_CHARGE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONDUCTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -2.0, -1.0, 3.0, 2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELECTRIC_POTENTIAL_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -3.0, -1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ENERGY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FORCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FREQUENCY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ILLUMINANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INDUCTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -2.0, -2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LUMINOUS_FLUX_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAGNETIC_FLUX_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAGNETIC_FLUX_DENSITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POWER_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -3.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRESSURE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RESISTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -3.0, -2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VELOCITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RADIOACTIVITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ABSORBED_DOSE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DOSE_EQUIVALENT_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -FUNCTION sts_get_general_datum_reference - (input : datum_reference_element) : general_datum_reference; -LOCAL - general_datum_reference_bag : BAG OF general_datum_reference := -(USEDIN(input, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'GENERAL_DATUM_REFERENCE.' + 'BASE')); - END_LOCAL; - - IF SIZEOF(general_datum_reference_bag) = 1 THEN - RETURN (general_datum_reference_bag[1]); - ELSE - RETURN (?); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: shape_tolerance_schema *) -FUNCTION sts_get_product_definition_shape - (input : geometric_tolerance_target) : product_definition_shape; -CASE TRUE OF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSIONAL_LOCATION' IN TYPEOF(input)) : - RETURN(input\shape_aspect_relationship.relating_shape_aspect\shape_aspect.of_shape); - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIMENSIONAL_SIZE' IN TYPEOF(input)) : - RETURN(input\dimensional_size.applies_to\shape_aspect.of_shape); - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(input)) : - RETURN(input); - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' IN TYPEOF(input)) : - RETURN(input\shape_aspect.of_shape); - OTHERWISE : RETURN(?); - END_CASE;END_FUNCTION; - -(* Implicit interfaced from: aic_manifold_subsurface *) -FUNCTION advanced_face_properties (testface : face) : BOOLEAN; -(* return TRUE if testface is of type advanced_face *) -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_FACE' IN TYPEOF(testface) THEN - RETURN (TRUE); -END_IF; -(* if testface is a subface recursively test the parent_face, -return FALSE for all other types of face *) -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBFACE' IN TYPEOF(testface)) THEN - RETURN(advanced_face_properties(testface\subface.parent_face)); - ELSE RETURN (FALSE); -END_IF; -END_FUNCTION; - -(* Implicit interfaced from: solid_shape_element_schema *) -FUNCTION compute_total_depth (swsrh : solid_with_stepped_round_hole) - : positive_length_measure; - -LOCAL -i : positive_integer; -n : positive_integer := swsrh.segments; -td : positive_length_measure := swsrh.segment_depths[1]; -END_LOCAL; - -IF n = 1 -THEN RETURN(td); -ELSE - REPEAT i := 2 TO n; - td := td + swsrh.segment_depths[i]; - END_REPEAT; -END_IF; -RETURN(td); - -END_FUNCTION; - -(* Implicit interfaced from: solid_shape_element_schema *) -FUNCTION validate_countersink_radii - (cskhole : solid_with_stepped_round_hole_and_conical_transitions) - : BOOLEAN; - - LOCAL - i,j : INTEGER; - n : INTEGER := 1 + - cskhole\solid_with_stepped_round_hole.segments; - smaller, larger : positive_length_measure; - END_LOCAL; - - REPEAT i := 1 TO SIZEOF(cskhole.conical_transitions); - - -- First check whether transition i applies to the entry of the hole or - -- the exit of a through hole - those cases only need to be checked for - -- the sign of the cone apex angle. - - IF (((cskhole.conical_transitions[i].transition_number = 1) - AND (cskhole.conical_transitions[i].cone_apex_angle < 0)) - XOR ((cskhole.conical_transitions[i].transition_number = n) - AND (cskhole.conical_transitions[i].cone_apex_angle > 0))) - THEN RETURN(FALSE); - ELSE - IF ((cskhole.conical_transitions[i].transition_number <> 1) - AND (cskhole.conical_transitions[i].transition_number <> n)) - THEN - - -- For all remaining transitions, check that the cone base radius - -- lies in the range of validity. - - - BEGIN - j := cskhole.conical_transitions[i].transition_number; - IF cskhole\solid_with_stepped_round_hole.segment_radii[j] - > cskhole\solid_with_stepped_round_hole.segment_radii[j-1] - THEN - BEGIN - IF (cskhole.conical_transitions[i].cone_apex_angle > 0) - THEN RETURN(FALSE); - END_IF; - larger - := cskhole\solid_with_stepped_round_hole.segment_radii[j]; - smaller - := cskhole\solid_with_stepped_round_hole.segment_radii[j-1]; - END; - ELSE - BEGIN - IF (cskhole.conical_transitions[i].cone_apex_angle < 0) - THEN RETURN(FALSE); - END_IF; - larger - := cskhole\solid_with_stepped_round_hole.segment_radii[j-1]; - smaller - := cskhole\solid_with_stepped_round_hole.segment_radii[j]; - END; - END_IF; - IF ((cskhole.conical_transitions[i].cone_base_radius > larger) - OR (cskhole.conical_transitions[i].cone_base_radius < smaller)) - THEN RETURN(FALSE); - END_IF; - END; - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); - -END_FUNCTION; - -(* Implicit interfaced from: solid_shape_element_schema *) -FUNCTION check_continuous_edges (edges : LIST OF UNIQUE edge_curve) - : BOOLEAN; - - LOCAL - i : INTEGER; - next_vertex : vertex; - END_LOCAL; - - -- first check whether there is only one edge in the list: in this - -- case there is no connectivity to be checked. - - IF (SIZEOF(edges) = 1) - THEN RETURN(TRUE); - END_IF; - - -- otherwise, establish the matching vertices of edges 1 and 2 in - -- the list, and determine the vertex of edge 2 to which edge 3, - -- must be connected, if there are more than two edges in the list. - - IF ((edges[2].edge_start :=: edges[1].edge_end) - XOR (edges[2].edge_start :=: edges[1].edge_start)) - THEN next_vertex := edges[2].edge_end; - ELSE - IF ((edges[2].edge_end :=: edges[1].edge_end) - XOR (edges[2].edge_end :=: edges[1].edge_start)) - THEN next_vertex := edges[2].edge_start; - ELSE RETURN(FALSE); -- no match between any vertices of edges 1 and 2 - END_IF; - END_IF; - - -- exit if there are only two edges and they are connected - - IF (SIZEOF(edges) = 2) - THEN RETURN(TRUE); - END_IF; - - -- otherwise, check that any remaining edges are connected in list order. - - REPEAT i := 3 TO HIINDEX(edges); - IF (edges[i].edge_start :=: next_vertex) - THEN next_vertex := edges[i].edge_end; - ELSE - IF (edges[i].edge_end :=: next_vertex) - THEN next_vertex := edges[i].edge_start; - ELSE RETURN(FALSE); -- no match is found. - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); -- all edges have now been successfully checked. - -END_FUNCTION; - -(* Implicit interfaced from: presentation_definition_schema *) - FUNCTION control_characters_free - (s : STRING) : BOOLEAN; - - LOCAL - ch : STRING; - END_LOCAL; - - REPEAT i:=1 TO LENGTH(s); - ch := s[i]; - IF (ch = '\x9') OR (ch = '\xA') OR (ch = '\xD') THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_2d_wireframe *) -FUNCTION valid_basis_curve_in_2d_wireframe - (crv: curve) : BOOLEAN; - -- check for valid basic curve types - IF SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPSE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE'] * - TYPEOF (crv)) = 1 - THEN RETURN (TRUE); - ELSE - -- if the curve is a trimmed_curve - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE') - IN TYPEOF (crv)) THEN - -- if a line, parabola, or hyperbola is being trimmed, then valid - IF SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARABOLA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.HYPERBOLA'] * - TYPEOF(crv\trimmed_curve.basis_curve)) = 1 - THEN RETURN (TRUE); - -- otherwise, recursively check basis_curve - ELSE RETURN (valid_basis_curve_in_2d_wireframe - (crv\trimmed_curve.basis_curve)); - END_IF; - ELSE - -- recursively check the offset_curve basis curve - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_2D') - IN TYPEOF (crv)) - THEN RETURN (valid_basis_curve_in_2d_wireframe - (crv\offset_curve_2d.basis_curve)); - ELSE - -- recursively check the curve_replica parent curve - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA') - IN TYPEOF (crv)) - THEN RETURN (valid_basis_curve_in_2d_wireframe - (crv\curve_replica.parent_curve)); - ELSE - -- recursively check the composite_curve segments - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE') - IN TYPEOF (crv)) THEN - RETURN (SIZEOF (QUERY (ccs <* crv\composite_curve.segments | - NOT (valid_basis_curve_in_2d_wireframe - (ccs.parent_curve)))) = 0); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: sketch_schema *) -FUNCTION get_plane_of_implicit_geometry - (ps : positioned_sketch) : plane; - - LOCAL - sb : sketch_basis_select := ps.sketch_basis; - result : plane := ?; - END_LOCAL; - - -- determine plane of implicit geometry from the underlying entity data - -- type of its owning instance of positioned_sketch_representation. If - -- the sketch basis is of type planar_curve_select then the planarity - -- of the curve is guaranteed by a WHERE rule on the SELECT type of that - -- name. - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SURFACE' IN TYPEOF(sb)) THEN - result := sb\face_surface.face_geometry; - ELSE - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF(sb)) THEN - result := sb\curve_bounded_surface.basis_surface; - ELSE - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_CURVE_SELECT' IN TYPEOF(sb)) THEN - BEGIN - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC' IN TYPEOF(sb)) - THEN result := dummy_gri || surface() || - elementary_surface(sb\conic.position) || plane(); - END_IF; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE' IN TYPEOF(sb)) - THEN - BEGIN - result := get_plane_of_implicit_geometry( - dummy_gri || positioned_sketch(sb\trimmed_curve.basis_curve,[])); - END; - END_IF; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(sb)) - THEN result := sb\pcurve.basis_surface; - END_IF; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF(sb)) THEN - BEGIN - IF ((SIZEOF(sb\surface_curve.basis_surface) = 1) -- case of one basis surface - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[1]))) - THEN result := sb\surface_curve.basis_surface[1]; - ELSE -- case of two basis surfaces - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[1])) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[2]))) - THEN result := ?; - -- both basis surfaces are planes, their intersection curve - -- is a line, and no unique plane is defined - ELSE -- only one of the two basis surfaces is a plane - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[1])) - THEN result := sb\surface_curve.basis_surface[1]; - ELSE result := sb\surface_curve.basis_surface[2]; - END_IF; - END_IF; - END_IF; - END; - END_IF; - END; - END_IF; - END_IF; - END_IF; - - RETURN(result); - -END_FUNCTION; - -(* Implicit interfaced from: sketch_schema *) -FUNCTION get_relative_direction_2points - (cp1, cp2 : cartesian_point) : direction; - - LOCAL - d1, d2, d3, magnitude : REAL; - result : direction := ?; - END_LOCAL; - - -- check that input points are three-dimensional - - IF ((cp1.dim <> 3) OR (cp2.dim <> 3)) THEN - RETURN(result); - ELSE - - -- construct components of vector and compute its magnitude - - BEGIN - d1 := cp2.coordinates[1] - cp1.coordinates[1]; - d2 := cp2.coordinates[2] - cp1.coordinates[2]; - d3 := cp2.coordinates[3] - cp1.coordinates[3]; - magnitude := sqrt(d1*d1 + d2*d2 + d3*d3); - IF (magnitude = 0) THEN - return(result); -- direction is indeterminate in this case - END_IF; - result := dummy_gri || direction([d1, d2, d3]); - END; - END_IF; - RETURN(result); - -END_FUNCTION; - -(* Implicit interfaced from: sketch_schema *) -FUNCTION check_curve_planarity (checked_curve: curve) : BOOLEAN; - - LOCAL - crv : curve := checked_curve; - i,j : INTEGER; - result : BOOLEAN := FALSE; - END_LOCAL; - - -- Determine whether the curve lies on a plane, according to its type - - IF (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE'] * - TYPEOF(crv)) > 0) - THEN result := TRUE; - ELSE - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE' IN TYPEOF(crv)) - AND check_curve_planarity(crv\trimmed_curve.basis_curve)) - THEN result := TRUE; - ELSE - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(crv)) - AND ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(crv\pcurve.basis_surface))) - THEN result := TRUE; - ELSE - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF(crv)) - THEN - BEGIN - REPEAT j := 1 TO HIINDEX(crv\surface_curve.basis_surface); - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE' IN TYPEOF(crv\surface_curve.basis_surface[j])) - THEN result := TRUE; - END_IF; - END_REPEAT; - END; - END_IF; - END_IF; - END_IF; - END_IF; - - RETURN(result); - -END_FUNCTION; - -(* Implicit interfaced from: iso13584_generic_expressions_schema *) -FUNCTION is_acyclic (arg: generic_expression): BOOLEAN; -RETURN (acyclic (arg, [])); -END_FUNCTION ; -- is_acyclic - -(* Implicit interfaced from: iso13584_generic_expressions_schema *) -FUNCTION acyclic (arg1: generic_expression; - arg2: SET OF generic_expression): BOOLEAN; - -LOCAL - result: BOOLEAN := TRUE; -END_LOCAL; - -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIMPLE_GENERIC_EXPRESSION' - IN TYPEOF (arg1)) -THEN - RETURN (TRUE); -END_IF; - -IF arg1 IN arg2 -THEN - RETURN (FALSE); -END_IF; - -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNARY_GENERIC_EXPRESSION' - IN TYPEOF (arg1) -THEN - RETURN - (acyclic(arg1\unary_generic_expression.operand,arg2+[arg1])); -END_IF; - -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BINARY_GENERIC_EXPRESSION' - IN TYPEOF (arg1) -THEN - RETURN - (acyclic(arg1\binary_generic_expression.operands[1],arg2+[arg1]) - AND - acyclic(arg1\binary_generic_expression.operands[2],arg2+[arg1])); -END_IF; - -IF -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' - IN TYPEOF (arg1) -THEN - result := TRUE; - REPEAT i := 1 TO - SIZEOF (arg1\multiple_arity_generic_expression.operands); - result := result AND - acyclic(arg1\multiple_arity_generic_expression.operands[i], arg2+[arg1]); - END_REPEAT; - - RETURN (result); -END_IF; - RETURN (result); -END_FUNCTION; -- acyclic - -(* Implicit interfaced from: iso13584_expressions_schema *) -FUNCTION is_int_expr (arg: numeric_expression) : BOOLEAN; - -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INT_LITERAL' IN TYPEOF(arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REAL_LITERAL' IN TYPEOF(arg) -THEN - RETURN (FALSE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF(arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF(arg) -THEN - RETURN (FALSE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (is_int_expr(arg\unary_numeric_expression.operand)); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (is_int_expr(arg\unary_numeric_expression.operand)); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COS_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_ROOT_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MULT_EXPRESSION' - IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAXIMUM_FUNCTION' - IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINIMUM_FUNCTION' - IN TYPEOF(arg)) -THEN - REPEAT i :=1 TO SIZEOF ( - arg\multiple_arity_numeric_expression.operands); - IF NOT - is_int_expr(arg\multiple_arity_numeric_expression.operands[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POWER_EXPRESSION' - IN TYPEOF(arg)) -THEN - RETURN (is_int_expr(arg\binary_numeric_expression.operands[1]) - AND is_int_expr(arg\binary_numeric_expression.operands[2])); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg)) -THEN - RETURN(TRUE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLASH_EXPRESSION' IN TYPEOF(arg) -THEN - RETURN (FALSE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg) -THEN - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INT_VALUE_FUNCTION' - IN TYPEOF(arg) - THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INTEGER_DEFINED_FUNCTION' - IN TYPEOF(arg) -THEN - RETURN(TRUE) ; -END_IF; -IF'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REAL_DEFINED_FUNCTION' IN TYPEOF(arg) -THEN - RETURN(FALSE) ; -END_IF ; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_DEFINED_FUNCTION' - IN TYPEOF(arg) -THEN - RETURN(FALSE) ; -END_IF ; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_DEFINED_FUNCTION' - IN TYPEOF(arg) -THEN - RETURN (FALSE) ; -END_IF ; - -RETURN (FALSE); - -END_FUNCTION; -- is_int_expr - -(* Implicit interfaced from: iso13584_expressions_schema *) -FUNCTION is_SQL_mappable (arg: expression) : BOOLEAN; - -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIMPLE_NUMERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQL_MAPPABLE_DEFINED_FUNCTION' - IN TYPEOF (arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (is_SQL_mappable(arg\unary_numeric_expression.operand)); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COS_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SQUARE_ROOT_FUNCTION' - IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LENGTH_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg)) - OR('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MULT_EXPRESSION' IN TYPEOF(arg)) - OR('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MAXIMUM_FUNCTION' - IN TYPEOF(arg)) - OR('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINIMUM_FUNCTION' - IN TYPEOF(arg)) -THEN - REPEAT i :=1 TO SIZEOF ( - arg\multiple_arity_numeric_expression.operands); - IF NOT is_SQL_mappable( - arg\multiple_arity_numeric_expression.operands[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; -RETURN (TRUE); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLASH_EXPRESSION' IN - TYPEOF(arg)) -THEN - RETURN (is_SQL_mappable( - arg\binary_numeric_expression.operands[1]) - AND is_SQL_mappable(arg\binary_numeric_expression.operands[2])); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg)) - OR('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POWER_EXPRESSION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIMPLE_BOOLEAN_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NOT_EXPRESSION' IN TYPEOF (arg) -THEN - RETURN (is_SQL_mappable (arg\UNARY_GENERIC_EXPRESSION.OPERAND)); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ODD_FUNCTION'IN TYPEOF (arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.XOR_EXPRESSION' - IN TYPEOF (arg)) -THEN - RETURN (FALSE); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AND_EXPRESSION' IN TYPEOF (arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OR_EXPRESSION' IN TYPEOF (arg)) -THEN - REPEAT i:=1 TO SIZEOF ( - arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS); - IF NOT is_SQL_mappable ( - arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EQUALS_EXPRESSION' IN TYPEOF (arg) -THEN - RETURN(is_SQL_mappable ( - arg\BINARY_GENERIC_EXPRESSION.OPERANDS [1]) - AND is_SQL_mappable( - arg\BINARY_GENERIC_EXPRESSION.OPERANDS [2])); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_EQUAL' IN TYPEOF (arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_GREATER' - IN TYPEOF (arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_GREATER_EQUAL' - IN TYPEOF (arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_LESS' - IN TYPEOF (arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_LESS_EQUAL' - IN TYPEOF (arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPARISON_NOT_EQUAL' - IN TYPEOF (arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LIKE_EXPRESSION' - IN TYPEOF (arg)) -THEN - RETURN (is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS[1]) - AND is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS[2])); -END_IF; -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INTERVAL_EXPRESSION' IN TYPEOF(arg) -THEN - RETURN (is_SQL_mappable(arg\interval_expression.interval_low) - AND is_SQL_mappable(arg\interval_expression.interval_high) - AND is_SQL_mappable(arg\interval_expression.interval_item)); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NUMERIC_DEFINED_FUNCTION' - IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOOLEAN_DEFINED_FUNCTION' - IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRING_DEFINED_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE) ; -END_IF; - -IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SIMPLE_STRING_EXPRESSION' - IN TYPEOF(ARG) -THEN - RETURN (TRUE); -END_IF; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INDEX_EXPRESSION' IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SUBSTRING_EXPRESSION' - IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONCAT_EXPRESSION' - IN TYPEOF(arg)) - OR ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FORMAT_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; - - RETURN (FALSE); -END_FUNCTION; -- is_SQL_mappable - -(* Implicit interfaced from: topology_schema *) - FUNCTION conditional_reverse (p : BOOLEAN; - an_item : reversible_topology) - : reversible_topology; - IF p THEN - RETURN (an_item); - ELSE - RETURN (topology_reversed (an_item)); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION topology_reversed (an_item : reversible_topology) - : reversible_topology; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE' IN TYPEOF (an_item)) THEN - RETURN (edge_reversed (an_item)); - END_IF; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH' IN TYPEOF (an_item)) THEN - RETURN (path_reversed (an_item)); - END_IF; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_BOUND' IN TYPEOF (an_item)) THEN - RETURN (face_bound_reversed (an_item)); - END_IF; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE' IN TYPEOF (an_item)) THEN - RETURN (face_reversed (an_item)); - END_IF; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL' IN TYPEOF (an_item)) THEN - RETURN (shell_reversed (an_item)); - END_IF; - - IF ('SET' IN TYPEOF (an_item)) THEN - RETURN (set_of_topology_reversed (an_item)); - END_IF; - - IF ('LIST' IN TYPEOF (an_item)) THEN - RETURN (list_of_topology_reversed (an_item)); - END_IF; - - RETURN (?); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION edge_reversed (an_edge : edge) : oriented_edge; - LOCAL - the_reverse : oriented_edge; - END_LOCAL; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_EDGE' IN TYPEOF (an_edge) ) THEN - the_reverse := dummy_tri || - edge(an_edge.edge_end, an_edge.edge_start) || - oriented_edge(an_edge\oriented_edge.edge_element, - NOT (an_edge\oriented_edge.orientation)) ; - ELSE - the_reverse := dummy_tri || - edge(an_edge.edge_end, an_edge.edge_start) || - oriented_edge(an_edge, FALSE); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) -FUNCTION path_reversed (a_path : path) : oriented_path; - LOCAL - the_reverse : oriented_path ; - END_LOCAL; - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_PATH' IN TYPEOF (a_path) ) THEN - the_reverse := dummy_tri || - path(list_of_topology_reversed (a_path.edge_list)) || - oriented_path(a_path\oriented_path.path_element, - NOT(a_path\oriented_path.orientation)) ; - ELSE - the_reverse := dummy_tri || - path(list_of_topology_reversed (a_path.edge_list)) || - oriented_path(a_path, FALSE); - END_IF; - - RETURN (the_reverse); -END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION list_of_topology_reversed (a_list - : list_of_reversible_topology_item) - : list_of_reversible_topology_item; - LOCAL - the_reverse : list_of_reversible_topology_item; - END_LOCAL; - - the_reverse := []; - REPEAT i := 1 TO SIZEOF (a_list); - the_reverse := topology_reversed (a_list [i]) + the_reverse; - END_REPEAT; - - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION face_bound_reversed (a_face_bound : face_bound) : face_bound; - LOCAL - the_reverse : face_bound ; - END_LOCAL; - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF (a_face_bound) ) THEN - the_reverse := dummy_tri || - face_bound(a_face_bound\face_bound.bound, - NOT (a_face_bound\face_bound.orientation)) - || face_outer_bound() ; - ELSE - the_reverse := dummy_tri || - face_bound(a_face_bound.bound, NOT(a_face_bound.orientation)); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION face_reversed (a_face : face) : oriented_face; - LOCAL - the_reverse : oriented_face ; - END_LOCAL; - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_FACE' IN TYPEOF (a_face) ) THEN - the_reverse := dummy_tri || - face(set_of_topology_reversed(a_face.bounds)) || - oriented_face(a_face\oriented_face.face_element, - NOT (a_face\oriented_face.orientation)) ; - ELSE - the_reverse := dummy_tri || - face(set_of_topology_reversed(a_face.bounds)) || - oriented_face(a_face, FALSE) ; - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION set_of_topology_reversed (a_set : set_of_reversible_topology_item) - : set_of_reversible_topology_item; - LOCAL - the_reverse : set_of_reversible_topology_item; - END_LOCAL; - - the_reverse := []; - REPEAT i := 1 TO SIZEOF (a_set); - the_reverse := the_reverse + topology_reversed (a_set [i]); - END_REPEAT; - - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION shell_reversed (a_shell : shell) : shell; - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_SHELL' IN TYPEOF (a_shell) ) THEN - RETURN (open_shell_reversed (a_shell)); - ELSE - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_SHELL' IN TYPEOF (a_shell) ) THEN - RETURN (closed_shell_reversed (a_shell)); - ELSE - RETURN (?); - END_IF; - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION open_shell_reversed ( a_shell : open_shell) : - oriented_open_shell; - LOCAL - the_reverse : oriented_open_shell; - END_LOCAL; - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_OPEN_SHELL' IN TYPEOF (a_shell) ) THEN - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - open_shell () || oriented_open_shell( - a_shell\oriented_open_shell.open_shell_element, - (NOT (a_shell\oriented_open_shell.orientation))); - ELSE - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - open_shell () || oriented_open_shell (a_shell, FALSE); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION closed_shell_reversed (a_shell : closed_shell) : - oriented_closed_shell; - LOCAL - the_reverse : oriented_closed_shell; - END_LOCAL; - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (a_shell) ) THEN - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - closed_shell () || oriented_closed_shell( - a_shell\oriented_closed_shell.closed_shell_element, - NOT(a_shell\oriented_closed_shell.orientation)); - ELSE - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - closed_shell () || oriented_closed_shell (a_shell, FALSE); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: geometric_model_schema *) -FUNCTION constraints_geometry_shell_based_surface_model - (m : shell_based_surface_model) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT j := 1 TO SIZEOF(m.sbsm_boundary); - IF (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OPEN_SHELL' IN - TYPEOF(m.sbsm_boundary[j])) AND - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLOSED_SHELL' IN - TYPEOF(m.sbsm_boundary[j])))) - THEN - result := FALSE; - RETURN(result); - (* A surface model is composed of OPEN_ and CLOSED_SHELLs. *) - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION acyclic_representation_relationship - (relation : representation_relationship; relatives : SET[1:?] OF representation; specific_relation : STRING) : BOOLEAN; - LOCAL - x : SET OF representation_relationship; - END_LOCAL; - - IF relation.rep_1 IN relatives THEN - RETURN (FALSE); - END_IF; - x := QUERY(r <* bag_to_set(USEDIN(relation.rep_1, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2')) | specific_relation IN TYPEOF(r)); - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_representation_relationship(x[i], relatives + relation.rep_1, specific_relation) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: parameterization_schema *) -FUNCTION make_numeric_set(start, delta : maths_number; - incs : positive_integer) - : SET [2:?] OF maths_number; - - LOCAL - i : INTEGER; - numeric_set : SET[2:?] OF maths_number := [start, (start + delta)]; - END_LOCAL; - - IF incs > 1 THEN REPEAT i := 2 TO incs; - numeric_set := numeric_set + (start + (i*delta)); - END_REPEAT; - END_IF; - RETURN(numeric_set); -END_FUNCTION; - -(* Implicit interfaced from: variational_representation_schema *) -FUNCTION invalidate_vrep_item(item : representation_item) - : BOOLEAN; - - LOCAL - reps : SET[1:?] OF representation := using_representations(item); - ri : SET[1:?] OF variational_representation_item; - iar : instance_attribute_reference; - i : INTEGER; - n : INTEGER := HIINDEX(reps); - END_LOCAL; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN TYPEOF(item)) - THEN - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.INSTANCE_ATTRIBUTE_REFERENCE' - IN TYPEOF(item\generic_variable.interpretation\environment.semantics) - THEN - BEGIN - iar := item\generic_variable.interpretation\environment.semantics; - IF (reps <> using_representations(iar\instance_attribute_reference.owning_instance)) - THEN - RETURN(TRUE); - END_IF; - END; - ELSE RETURN(TRUE); -- parameter not attached to an instance attribute - END_IF; - END_IF; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN TYPEOF(item)) - THEN - BEGIN - REPEAT i := 1 TO n; - ri := QUERY(q <* reps[i]\representation.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FREE_FORM_CONSTRAINT' IN TYPEOF(q)); - IF SIZEOF(QUERY(r <* ri | - item IN (r\free_form_constraint.reference_elements + r\free_form_constraint.constrained_elements))) = 0 - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - END; - END_IF; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' - IN TYPEOF(item)) - THEN - REPEAT i := 1 TO SIZEOF(item\fixed_instance_attribute_set.fixed_attributes); ---next line is previous --- IF (reps <> using_representations(item\fixed_instance_attribute_set.fixed_attributes[i])) ---is this intent? - IF (reps <> using_representations(item\fixed_instance_attribute_set.fixed_attributes[i]\instance_attribute_reference.owning_instance)) - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - END_IF; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPLICIT_CONSTRAINT' IN TYPEOF(item)) - THEN - IF SIZEOF(QUERY(q <* - (item\explicit_constraint.reference_elements + item\explicit_constraint.constrained_elements) | - reps <> using_representations(q))) > 0 - THEN - RETURN(TRUE); - END_IF; - END_IF; - - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AUXILIARY_GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item)) - THEN - BEGIN - REPEAT i := 1 TO n; - ri := QUERY(q <* reps[i]\representation.items | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPLICIT_GEOMETRIC_CONSTRAINT' IN TYPEOF(q)); - IF SIZEOF(QUERY(r <* ri | - item IN r\explicit_geometric_constraint.reference_elements)) = 0 - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - END; - END_IF; - - RETURN(FALSE); -- no invalid cases have been found - -END_FUNCTION; - -(* Implicit interfaced from: parameterization_schema *) -FUNCTION validate_attribute_id(attid : attribute_identifier) : BOOLEAN; - - CONSTANT - letters : SET[52:52] OF STRING := - ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p', - 'q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F', - 'G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V', - 'W','X','Y','Z']; - numbers_etc : SET[15:15] OF STRING := - ['0','1','2','3','4','5','6','7','8','9','_','[',']','.','\']; - valid_chars : SET[67:67] OF STRING := letters + numbers_etc; - END_CONSTANT; - - LOCAL - id_length : INTEGER := LENGTH(attid); - id_valid : BOOLEAN := TRUE; - i : INTEGER; - END_LOCAL; - - -- check that indentifier starts with a letter - - IF NOT (attid[1] IN letters) THEN - id_valid := FALSE; - END_IF; - - -- check that no invalid characters occur subsequently - - REPEAT i := 2 TO id_length WHILE id_valid = TRUE; - IF NOT (attid[i] IN valid_chars) THEN - id_valid := FALSE; - END_IF; - END_REPEAT; - RETURN(id_valid); - -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION using_shape_aspect_of_shape_representation - (item: shape_representation) : SET OF shape_aspect; -LOCAL - local_s_d_r: SET OF shape_definition_representation := []; - local_s_d_r2: BAG OF shape_definition_representation := []; - local_s_a: SET OF shape_aspect := []; - i : INTEGER; -END_LOCAL; --- find shape_definition_representations - local_s_d_r2 := local_s_d_r2 + QUERY(pdr <* USEDIN (item, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF(pdr)); - local_s_d_r := bag_to_set (local_s_d_r2); --- find shape_aspects -REPEAT i := 1 TO HIINDEX (local_s_d_r); - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT' IN TYPEOF - (local_s_d_r[i]\property_definition_representation.definition\property_definition.definition)) - THEN local_s_a := local_s_a + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; - END_IF; -END_REPEAT; -RETURN (local_s_a); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_representative_shape_representation_of_product_definition - (item:product_definition) : shape_representation; -LOCAL - local_s_r: SET OF shape_representation := []; -END_LOCAL; --- find representative_shape_representation of the product_definition - local_s_r := QUERY - ( z <* find_shape_representation_of_product_definition (item)| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF(z)); - IF (SIZEOF (local_s_r) = 1) - THEN RETURN (local_s_r[1]); - ELSE RETURN(?); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_shape_representation_of_product_definition - (item:product_definition) : SET OF shape_representation; -LOCAL - local_p_d_s: SET OF product_definition_shape := []; - local_p_d_s2: BAG OF product_definition_shape := []; - local_s_d_r: SET OF shape_definition_representation := []; - local_s_d_r2: BAG OF shape_definition_representation := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; -END_LOCAL; --- find product_definition_shape representing the product_definiton - local_p_d_s2 := local_p_d_s2 + QUERY(pd <* USEDIN (item, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)); - local_p_d_s := bag_to_set(local_p_d_s2); --- find shape_definition_representations refereing to the local_p_d_s - REPEAT i := 1 to HIINDEX (local_p_d_s); - local_s_d_r2 := local_s_d_r2 + QUERY(pdr <* USEDIN (local_p_d_s[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF(pdr)); - END_REPEAT; - local_s_d_r := bag_to_set (local_s_d_r2); - REPEAT i := 1 to HIINDEX (local_s_d_r); - IF('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION' - IN TYPEOF (local_s_d_r[i].used_representation)) THEN - local_s_r := local_s_r + local_s_d_r[i].used_representation; - END_IF; - END_REPEAT; - RETURN (local_s_r); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION using_product_definition_of_shape_aspect - (item:shape_aspect) : product_definition ; - IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF - (item.of_shape.definition)) THEN - RETURN (item.of_shape.definition); - ELSE - RETURN (?); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_representative_shape_representation_of_shape_aspect - (item:shape_aspect) : shape_representation; -LOCAL - local_s_r: SET OF shape_representation := []; -END_LOCAL; --- find representative_shape_representation of the shape_aspect - local_s_r := QUERY ( z <* find_shape_representation_of_shape_aspect (item)| - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF(z)); - IF (SIZEOF (local_s_r) = 1) - THEN RETURN (local_s_r[1]); - ELSE RETURN(?); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_shape_representation_of_shape_aspect - (item:shape_aspect) : SET OF shape_representation; -LOCAL - local_p_d: SET OF property_definition:= []; - local_s_d_r: SET OF shape_definition_representation := []; - local_s_d_r2: BAG OF shape_definition_representation := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; -END_LOCAL; --- find property_definition representing the shape_aspect - local_p_d := bag_to_set (USEDIN (item, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION')); --- find shape_definition_representations refereing to the local_p_d - REPEAT i := 1 to HIINDEX (local_p_d); - local_s_d_r2 := local_s_d_r2 + QUERY(pdr <* USEDIN (local_p_d[i], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF(pdr)); - END_REPEAT; - local_s_d_r := bag_to_set (local_s_d_r2); - REPEAT i := 1 to HIINDEX (local_s_d_r); - IF('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION' - IN TYPEOF (local_s_d_r[i].used_representation)) THEN - local_s_r := local_s_r + local_s_d_r[i].used_representation; - END_IF; - END_REPEAT; - RETURN (local_s_r); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_assembly_root - (constituent: SET OF product_definition) : SET OF product_definition; -LOCAL - local_relation: SET OF assembly_component_usage := []; - local_relation2: BAG OF assembly_component_usage := []; - local_parent: SET OF product_definition := []; - root : SET OF product_definition; - i : INTEGER := 0; - j : INTEGER := 0; -END_LOCAL; - --- Is constituent root ? -- -IF ((SIZEOF (constituent) = 1) AND assembly_root (constituent[1])) - THEN RETURN ([constituent [1]]); --- ERROR constituent is vacant -- - ELSE IF (SIZEOF (constituent) = 0 ) THEN RETURN ([]); - --- extraction of related assembly_component_relationships -- - ELSE - REPEAT j:= 1 TO HIINDEX(constituent); - local_relation2 := local_relation2 + QUERY(pdr <* USEDIN (constituent[j], - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' - +'RELATED_PRODUCT_DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN - TYPEOF(pdr)); - END_REPEAT; - local_relation := bag_to_set (local_relation2); - IF (SIZEOF(local_relation) = 0) THEN - IF (SIZEOF(constituent) = 1) THEN RETURN ([constituent[1]]); - ELSE RETURN ([]); - END_IF; - ELSE --- extraction of a set of parents -- - REPEAT i :=1 TO HIINDEX(local_relation); - REPEAT j := 1 TO HIINDEX(constituent); - IF (local_relation[i].relating_product_definition <> - constituent[j]) THEN - local_parent := local_parent + - local_relation[i].relating_product_definition; - END_IF; - END_REPEAT; - END_REPEAT; - IF ((SIZEOF (local_parent) = 1 ) AND - assembly_root (local_parent[1])) - THEN RETURN ([local_parent[1]]); - ELSE IF (SIZEOF (local_parent) = 0) THEN RETURN ([]); --- try again -- - ELSE - root := find_assembly_root(local_parent); - IF (SIZEOF (root) =1) THEN RETURN (root); - ELSE IF (SIZEOF (root) = 0) THEN RETURN ([]); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; -END_IF; -RETURN ([]); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION assembly_root - (item: product_definition) : BOOLEAN; --- extraction of related assembly_component_relationships -- -IF (SIZEOF(QUERY(pdr <* USEDIN (item, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATED_PRODUCT_DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN - TYPEOF(pdr))) - = 0) THEN RETURN(TRUE); -ELSE RETURN (FALSE); -END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION unique_in_product_definition - (item:representative_shape_representation) : BOOLEAN; -LOCAL - local_p_d: SET OF product_definition := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; - j : INTEGER; -END_LOCAL; --- find product_definitions represented by the input --- representative_shape_representation - local_p_d := using_product_definition_of_shape_representation (item); --- ERROR - IF (SIZEOF (local_p_d) <> 1) THEN RETURN (FALSE); - ELSE --- find shape_representation representing the product_definitions - REPEAT i := 1 to HIINDEX (local_p_d); - local_s_r := find_shape_representation_of_product_definition - (local_p_d[i]); - REPEAT j := 1 to HIINDEX (local_s_r); - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF (local_s_r[j])) - AND (local_s_r[j] :<>: item)) THEN RETURN (FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - END_IF; - RETURN (TRUE); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION unique_in_shape_aspect - (item:representative_shape_representation) : BOOLEAN; -LOCAL - local_s_a: SET OF shape_aspect := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; - j : INTEGER; -END_LOCAL; --- find shape_aspects represented by the input --- representative_shape_representation - local_s_a := using_shape_aspect_of_shape_representation (item); --- ERROR - IF (SIZEOF (local_s_a) <> 1) THEN RETURN (FALSE); - ELSE --- find shape_representation representing the shape_aspect - REPEAT i := 1 to HIINDEX (local_s_a); - local_s_r := find_shape_representation_of_shape_aspect - (local_s_a[i]); - REPEAT j := 1 to HIINDEX (local_s_r); - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF (local_s_r[j])) - AND (local_s_r[j] :<>: item)) THEN RETURN (FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - END_IF; - RETURN (TRUE); -END_FUNCTION; - -(* Implicit interfaced from: aic_edge_based_wireframe *) -FUNCTION valid_wireframe_edge_curve -( -crv : curve ) : BOOLEAN ; - IF SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' ] * TYPEOF (crv)) = 1 THEN - RETURN (TRUE); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN - RETURN (valid_wireframe_edge_curve(crv\curve_replica.parent_curve)); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (crv) THEN - RETURN (valid_wireframe_edge_curve(crv\offset_curve_3d.basis_curve)); - END_IF ; - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: aic_edge_based_wireframe *) -FUNCTION valid_wireframe_vertex_point -( -pnt : point ) : BOOLEAN ; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN - RETURN (TRUE); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_REPLICA' IN TYPEOF (pnt) THEN - RETURN (valid_wireframe_vertex_point(pnt\point_replica.parent_pt)); - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: aic_non_manifold_surface *) -FUNCTION nmsf_surface_check (surf : surface) : BOOLEAN; - -(* This function varifies the validity of a surface in the - context of a non-manifold surface model. -*) - - (* elementary_surfaces are valid surface types - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN - RETURN(TRUE); - ELSE - - (* a swept_surface shall have a valid sweeping curve - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SWEPT_SURFACE' IN TYPEOF (surf) THEN - RETURN (nmsf_curve_check(surf\swept_surface.swept_curve)); - ELSE - - (* an offset_surface shall not self-intersect and shall - reference a valid surface - *) - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_SURFACE' IN TYPEOF (surf)) AND - (surf\offset_surface.self_intersect = FALSE) OR - (surf\offset_surface.self_intersect = UNKNOWN)) THEN - RETURN (nmsf_surface_check(surf\offset_surface.basis_surface)); - ELSE - - (* a surface_replica shall have a valid parent surface - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_REPLICA' IN TYPEOF(surf) THEN - RETURN(nmsf_surface_check(surf\surface_replica.parent_surface)); - ELSE - - (* a b_spline_surface shall not self-intersect - *) - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(surf)) - AND - (surf\b_spline_surface.self_intersect = FALSE) OR - (surf\b_spline_surface.self_intersect = UNKNOWN)) THEN - RETURN(TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN(FALSE); -END_FUNCTION; - -(* Implicit interfaced from: aic_non_manifold_surface *) -FUNCTION nmsf_curve_check (cv : representation_item) : BOOLEAN; - -(* This function varifies the validity of a curve in the context of a - non-manifold surface model. Representation_items are - valid input, however, they are supposed to be curves; otherwise - this function will return false. -*) - - (* complex subtypes of curve that are both bounded_curve and - oneof conic, curve_replica, line, or offset_curve_3d are not - valid - *) - IF SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 - THEN RETURN(FALSE); - ELSE - - (* b_spline_curves shall not self-intersect - *) - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (cv)) AND - (cv\b_spline_curve.self_intersect = FALSE) OR - (cv\b_spline_curve.self_intersect = UNKNOWN)) - THEN RETURN(TRUE); - ELSE - - (* conics and lines are valid curve types - *) - IF SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE'] * TYPEOF (cv)) = 1 THEN - RETURN(TRUE); - ELSE - - (* a curve_replica shall reference a valid curve - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN - RETURN (nmsf_curve_check(cv\curve_replica.parent_curve)); - ELSE - - (* an offset_curve_3d shall not self-intersect and - shall reference a valid curve; a polyline is not a - valid basis_curve - *) - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (cv)) - AND - ((cv\offset_curve_3d.self_intersect = FALSE) OR - (cv\offset_curve_3d.self_intersect = UNKNOWN)) - AND - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF - (cv\offset_curve_3d.basis_curve)))) THEN - RETURN (nmsf_curve_check(cv\offset_curve_3d.basis_curve)); - ELSE - - (* a pcurve shall reference a valid curve and a valid - basis_surface - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(cv) THEN - RETURN ((nmsf_curve_check - (cv\pcurve.reference_to_curve\representation.items[1])) - AND - (nmsf_surface_check(cv\pcurve.basis_surface))); - ELSE - - (* a surface_curve references a curve_3d and one or - two pcurves or one or two surfaces or one of - each; all of these references shall be valid - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN - - (* if the curve reference is correct, check also the rest - *) - IF nmsf_curve_check(cv\surface_curve.curve_3d) THEN - REPEAT i := 1 TO SIZEOF - (cv\surface_curve.associated_geometry); - - (* do for one or two associated_geometrys: - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN - TYPEOF (cv\surface_curve.associated_geometry[i]) THEN - IF NOT nmsf_surface_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF - (cv\surface_curve.associated_geometry[i]) THEN - IF NOT nmsf_curve_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); - END_IF; - ELSE - - (* a polyline shall have at least 3 points - *) - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN - IF (SIZEOF (cv\polyline.points) >= 3) THEN RETURN (TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - (* FALSE is returned if the input parameter cv is not a valid curve. - *) - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: geometric_model_schema *) -FUNCTION acyclic_solid_replica - (rep : solid_replica; parent : solid_model) : BOOLEAN; -IF NOT (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SOLID_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type solid_replica. *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same solid_replica, otherwise, - call function again with the parents own parent_solid. *) - ELSE RETURN(acyclic_solid_replica(rep, - parent\solid_replica.parent_solid)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION constraints_param_b_spline - (degree : INTEGER; up_knots : INTEGER; up_cp : INTEGER; knot_mult : LIST[0:?] OF INTEGER; knots : LIST[0:?] OF parameter_value) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - k, sum : INTEGER; - END_LOCAL; - - (* Find sum of knot multiplicities. *) - sum := knot_mult[1]; - - REPEAT i := 2 TO up_knots; - sum := sum + knot_mult[i]; - END_REPEAT; - - (* Check limits holding for all B-spline parametrisations *) - IF (degree < 1) OR (up_knots < 2) OR (up_cp < degree) OR - (sum <> (degree + up_cp + 2)) THEN - result := FALSE; - RETURN(result); - END_IF; - - k := knot_mult[1]; - - IF (k < 1) OR (k > degree + 1) THEN - result := FALSE; - RETURN(result); - END_IF; - - REPEAT i := 2 TO up_knots; - IF (knot_mult[i] < 1) OR (knots[i] <= knots[i-1]) THEN - result := FALSE; - RETURN(result); - END_IF; - - k := knot_mult[i]; - - IF (i < up_knots) AND (k > degree) THEN - result := FALSE; - RETURN(result); - END_IF; - - IF (i = up_knots) AND (k > degree + 1) THEN - result := FALSE; - RETURN(result); - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION constraints_composite_curve_on_surface - (c : composite_curve_on_surface) : BOOLEAN; -LOCAL - n_segments : INTEGER := SIZEOF(c.segments); - END_LOCAL; - - REPEAT k := 1 TO n_segments; - IF (NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN - TYPEOF(c\composite_curve.segments[k].parent_curve))) AND - (NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN - TYPEOF(c\composite_curve.segments[k].parent_curve))) AND - (NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN - TYPEOF(c\composite_curve.segments[k].parent_curve))) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN(TRUE);END_FUNCTION; - -(* Implicit interfaced from: presentation_definition_schema *) - FUNCTION acyclic_composite_text(start_composite : composite_text; - child_text : SET [1:?] OF - text_or_character) : LOGICAL; - LOCAL - i : INTEGER; - local_composite_text : SET [0:?] OF composite_text; - local_annotation_text : SET [0:?] OF annotation_text; - local_children : SET [0:?] OF text_or_character; - END_LOCAL; - - local_composite_text := QUERY (child <* child_text | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (child))); - - IF (SIZEOF (local_composite_text) > 0) - THEN - REPEAT i := 1 TO HIINDEX (local_composite_text); - IF (start_composite :=: local_composite_text[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - END_IF; - - local_children := child_text; - - IF (SIZEOF (local_composite_text)) > 0 THEN - REPEAT i := 1 TO HIINDEX (local_composite_text); - local_children := local_children + - local_composite_text[i].collected_text; - END_REPEAT; - END_IF; - - local_annotation_text := QUERY (child <* child_text | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT' - IN TYPEOF (child))); - - IF (SIZEOF (local_annotation_text) > 0) THEN - REPEAT i := 1 TO HIINDEX (local_annotation_text); - local_children := local_children + - QUERY (item <* local_annotation_text[i]\mapped_item. - mapping_source.mapped_representation.items | - SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_TEXT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_TEXT'] * - TYPEOF(item)) > 0); - END_REPEAT; - END_IF; - - IF (local_children :<>: child_text) THEN - RETURN (acyclic_composite_text (start_composite, local_children)); - ELSE - RETURN (TRUE); - END_IF; - - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_surface *) -FUNCTION gbsf_check_point - (pnt : point) : BOOLEAN; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF(pnt) THEN - RETURN (TRUE); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' IN TYPEOF(pnt) THEN - RETURN (gbsf_check_curve(pnt\point_on_curve.basis_curve)); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_SURFACE' IN TYPEOF(pnt) THEN - RETURN (gbsf_check_surface(pnt\point_on_surface.basis_surface)); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DEGENERATE_PCURVE' IN TYPEOF(pnt) THEN - RETURN ((gbsf_check_curve(pnt\degenerate_pcurve.reference_to_curve\representation.items[1])) AND (gbsf_check_surface(pnt\degenerate_pcurve.basis_surface))); - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_surface *) -FUNCTION gbsf_check_curve - (cv : representation_item) : BOOLEAN; - IF SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUNDED_CURVE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONIC', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN - RETURN (FALSE); - END_IF; - IF SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPSE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE'] * TYPEOF(cv)) = 1 THEN - RETURN (TRUE); - ELSE - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE' IN TYPEOF(cv)) AND (cv\b_spline_curve.self_intersect = FALSE) OR (cv\b_spline_curve.self_intersect = UNKNOWN)) THEN - RETURN (TRUE); - ELSE - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE' IN TYPEOF(cv)) AND (cv\composite_curve.self_intersect = FALSE) OR (cv\composite_curve.self_intersect = UNKNOWN)) THEN - RETURN (SIZEOF(QUERY(seg <* cv\composite_curve.segments | NOT (gbsf_check_curve(seg.parent_curve)))) = 0); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN - RETURN (gbsf_check_curve(cv\curve_replica.parent_curve)); - ELSE - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF(cv)) AND ((cv\offset_curve_3d.self_intersect = FALSE) OR (cv\offset_curve_3d.self_intersect = UNKNOWN)) AND (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF(cv\offset_curve_3d.basis_curve)))) THEN - RETURN (gbsf_check_curve(cv\offset_curve_3d.basis_curve)); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(cv) THEN - RETURN ((gbsf_check_curve(cv\pcurve.reference_to_curve\representation.items[1])) AND (gbsf_check_surface(cv\pcurve.basis_surface))); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN - IF (SIZEOF(cv\polyline.points) >= 3) THEN - RETURN (TRUE); - END_IF; - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN - IF gbsf_check_curve(cv\surface_curve.curve_3d) THEN - REPEAT i := 1 TO SIZEOF(cv\surface_curve.associated_geometry); - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE' IN TYPEOF(cv\surface_curve.associated_geometry[i]) THEN - IF NOT gbsf_check_surface(cv\surface_curve.associated_geometry[i]) THEN - RETURN (FALSE); - END_IF; - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PCURVE' IN TYPEOF(cv\surface_curve.associated_geometry[i]) THEN - IF NOT gbsf_check_curve(cv\surface_curve.associated_geometry[i]) THEN - RETURN (FALSE); - END_IF; - END_IF; - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_surface *) -FUNCTION gbsf_check_surface - (sf : surface) : BOOLEAN; - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(sf)) AND (sf\b_spline_surface.self_intersect = FALSE) OR (sf\b_spline_surface.self_intersect = UNKNOWN)) THEN - RETURN (TRUE); - ELSE - IF SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SPHERICAL_SURFACE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TOROIDAL_SURFACE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_BOUNDED_SURFACE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_TRIMMED_SURFACE'] * TYPEOF(sf)) = 1 THEN - RETURN (TRUE); - ELSE - IF (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_SURFACE' IN TYPEOF(sf)) AND (sf\offset_surface.self_intersect = FALSE) OR (sf\offset_surface.self_intersect = UNKNOWN)) THEN - RETURN (gbsf_check_surface(sf\offset_surface.basis_surface)); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RECTANGULAR_COMPOSITE_SURFACE' IN TYPEOF(sf) THEN - REPEAT i := 1 TO SIZEOF(sf\rectangular_composite_surface.segments); - REPEAT j := 1 TO SIZEOF(sf\rectangular_composite_surface.segments[i]); - IF NOT (gbsf_check_surface(sf\rectangular_composite_surface.segments[i][j].parent_surface)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - RETURN (TRUE); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_REPLICA' IN TYPEOF(sf) THEN - RETURN (gbsf_check_surface(sf\surface_replica.parent_surface)); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF(sf) THEN - RETURN (gbsf_check_curve(sf\swept_surface.swept_curve)); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_wireframe *) -FUNCTION valid_geometrically_bounded_wf_curve -( -crv : curve ) : BOOLEAN ; - IF SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POLYLINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.B_SPLINE_CURVE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELLIPSE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCLE' ] * TYPEOF (crv)) = 1 THEN - RETURN (TRUE); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TRIMMED_CURVE' IN TYPEOF (crv) THEN - IF SIZEOF ([ 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARABOLA', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.HYPERBOLA' ] * TYPEOF (crv\trimmed_curve.basis_curve)) = 1 THEN - RETURN (TRUE); - ELSE - RETURN (valid_geometrically_bounded_wf_curve(crv\trimmed_curve.basis_curve)); - END_IF ; - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (crv) THEN - RETURN (valid_geometrically_bounded_wf_curve(crv\offset_curve_3d.basis_curve)); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN - RETURN (valid_geometrically_bounded_wf_curve(crv\curve_replica.parent_curve)); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (crv) THEN - RETURN ( SIZEOF ( -QUERY ( ccs <* crv\composite_curve.segments| NOT valid_geometrically_bounded_wf_curve(ccs.parent_curve) )) = 0); - END_IF ; - END_IF ; - END_IF ; - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: aic_geometrically_bounded_wireframe *) -FUNCTION valid_geometrically_bounded_wf_point -( -pnt : point ) : BOOLEAN ; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN - RETURN (TRUE); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_ON_CURVE' IN TYPEOF (pnt) THEN - RETURN (valid_geometrically_bounded_wf_curve(pnt\point_on_curve.basis_curve)); - ELSE - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POINT_REPLICA' IN TYPEOF (pnt) THEN - RETURN (valid_geometrically_bounded_wf_point(pnt\point_replica.parent_pt)); - END_IF ; - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION collect_joints - (items : SET[1:?] OF pair_representation_relationship) : SET OF kinematic_joint; -LOCAL - result : SET OF kinematic_joint := []; -END_LOCAL; - REPEAT i := 1 TO HIINDEX(items); - result := result + items[i].transformation_operator.joint; - END_REPEAT; - RETURN(result); -END_FUNCTION; -(* REFERENCE FROM (kinematic_topology_schema); *) -FUNCTION get_kinematic_joints_from_oriented_joints(ors : SET OF oriented_joint) : SET OF kinematic_joint; - LOCAL - result : SET OF kinematic_joint := []; - END_LOCAL; - IF SIZEOF(ors) > 0 THEN - REPEAT i := 1 TO HIINDEX(ors); - result := result + ors[i].edge_element; - END_REPEAT; - END_IF; - RETURN (result); -END_FUNCTION; -(* REFERENCE FROM (kinematic_topology_schema); *) -FUNCTION get_kinematic_joints_from_kinematic_loops(kls : SET OF kinematic_loop) : SET OF kinematic_joint; - LOCAL - result : SET OF oriented_joint := []; - END_LOCAL; - IF SIZEOF(kls) > 0 THEN - REPEAT i := 1 TO HIINDEX(kls); - result := result + kls[i].edge_list; - END_REPEAT; - END_IF; - RETURN (get_kinematic_joints_from_oriented_joints(result)); -END_FUNCTION; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION sort_link_associations - (aprr : SET[1:?] OF pair_representation_relationship; one_not_two : boolean) : SET OF kinematic_link_representation; -LOCAL - result : SET OF kinematic_link_representation := []; -END_LOCAL; - IF one_not_two THEN - REPEAT i := 1 TO HIINDEX(aprr); - result := result + aprr[i].rep_1; - END_REPEAT; - ELSE - REPEAT i := 1 TO HIINDEX(aprr); - result := result + aprr[i].rep_2; - END_REPEAT; - END_IF; - RETURN(result); -END_FUNCTION; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION plane_angle_for_pair_in_radian - (pair : kinematic_pair; - angle : plane_angle_measure) : plane_angle_measure; - LOCAL - converted_angle : plane_angle_measure := angle; - link_rep : kinematic_link_representation - := representation_of_link (pair.joint.edge_start); - link_cntxt : representation_context; - pa_units : SET OF unit := []; - pau : unit; - END_LOCAL; - - link_cntxt := link_rep\representation.context_of_items; - - IF NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' - IN TYPEOF (link_cntxt)) THEN - RETURN (?); - END_IF; - - pa_units := QUERY (unit <* link_cntxt\global_unit_assigned_context.units | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF (unit)); - - IF SIZEOF (pa_units) <> 1 THEN - RETURN (?); - END_IF; - - pau := pa_units[1]; - - IF (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SI_UNIT' IN TYPEOF (pau)) AND - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF (pau))) THEN - RETURN (?); - END_IF; - - REPEAT WHILE ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF (pau)); - converted_angle := converted_angle * - pau\conversion_based_unit.conversion_factor. - value_component; - pau := pau\conversion_based_unit.conversion_factor.unit_component; - - IF ((NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SI_UNIT' IN TYPEOF (pau)) AND - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF (pau))) OR - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF (pau)))) THEN - RETURN (?); - END_IF; - END_REPEAT; - - IF (pau\si_unit.name <> si_unit_name.radian) THEN - RETURN (?); - END_IF; - - CASE pau\si_unit.prefix OF - si_prefix.exa : RETURN (1.E18 * converted_angle); - si_prefix.peta : RETURN (1.E15 * converted_angle); - si_prefix.tera : RETURN (1.E12 * converted_angle); - si_prefix.giga : RETURN (1.E9 * converted_angle); - si_prefix.mega : RETURN (1.E6 * converted_angle); - si_prefix.kilo : RETURN (1.E3 * converted_angle); - si_prefix.hecto : RETURN (1.E2 * converted_angle); - si_prefix.deca : RETURN (1.E1 * converted_angle); - si_prefix.deci : RETURN (1.E-1 * converted_angle); - si_prefix.centi : RETURN (1.E-2 * converted_angle); - si_prefix.milli : RETURN (1.E-3 * converted_angle); - si_prefix.micro : RETURN (1.E-6 * converted_angle); - si_prefix.nano : RETURN (1.E-9 * converted_angle); - si_prefix.pico : RETURN (1.E-12 * converted_angle); - si_prefix.femto : RETURN (1.E-15 * converted_angle); - si_prefix.atto : RETURN (1.E-18 * converted_angle); - OTHERWISE : RETURN (converted_angle); - END_CASE; - -END_FUNCTION; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION representation_of_link (link : kinematic_link) - : kinematic_link_representation; -(* - LOCAL - link_rep_rel : BAG OF kinematic_link_representation_relation; - END_LOCAL; - - link_rep_rel := USEDIN (link, 'KINEMATIC_STRUCTURE_SCHEMA.'+ - 'KINEMATIC_LINK_REPRESENTATION_RELATION.'+ - 'TOPOLOGICAL_ASPECTS'); - IF (SIZEOF (link_rep_rel) = 0) THEN - RETURN (?); - ELSE - RETURN (link_rep_rel[1].geometric_aspects); - END_IF; -*) - RETURN (?); -END_FUNCTION; - -(* Implicit interfaced from: kinematic_state_schema *) -FUNCTION convert_spatial_to_ypr_rotation (pair : kinematic_pair; - rotation : spatial_rotation) - : ypr_rotation; - LOCAL - axis : direction; - angle : plane_angle_measure; -- rotation angle in application - -- specific units - conv_angle : plane_angle_measure; -- rotation angle in radians - ya, pa, ra : plane_angle_measure; -- yaw, pitch, and roll angle - ucf : REAL; -- unit conversion factor - dx, dy, dz : REAL; -- components of direction vector - s_a, c_a : REAL; -- sine and cosine of rotation angle - rotmat : ARRAY [1 : 3] OF - ARRAY [1 : 3] OF REAL; -- rotation matrix - cm1 : REAL; - s_y, c_y : REAL; - s_r, c_r : REAL; - END_LOCAL; - - -- If rotation is already a ypr_rotation, return it immediately - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.YPR_ROTATION' IN TYPEOF (rotation) THEN - RETURN (rotation); - END_IF; - - -- rotation is a rotation_about_direction - - axis := normalise (rotation\rotation_about_direction.direction_of_axis); - angle := rotation\rotation_about_direction.rotation_angle; - - -- a zero rotation is converted trivially - IF (angle = 0.0) THEN - RETURN ([0.0, 0.0, 0.0]); - END_IF; - - dx := axis.direction_ratios[1]; - dy := axis.direction_ratios[2]; - dz := axis.direction_ratios[3]; - - -- provide angle measured in radian - - conv_angle := plane_angle_for_pair_in_radian (pair, angle); - - IF NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF(conv_angle)) THEN - RETURN (?); - END_IF; - - ucf := angle / conv_angle; - s_a := SIN (conv_angle); - c_a := COS (conv_angle); - - -- axis parallel either to x-axis or to z-axis? - IF (dy = 0.0) AND (dx * dz = 0.0) THEN - REPEAT WHILE (conv_angle <= - PI); - conv_angle := conv_angle + 2.0 * PI; - END_REPEAT; - REPEAT WHILE (conv_angle > PI); - conv_angle := conv_angle - 2.0 * PI; - END_REPEAT; - - ya := ucf * conv_angle; - IF (conv_angle <> PI) THEN - ra := - ya; - ELSE - ra := ya; - END_IF; - - IF (dx <> 0.0) THEN - -- axis parallel to x-axis - use x-axis as roll axis - IF (dx > 0.0) THEN - RETURN ([0.0, 0.0, ya]); - ELSE - RETURN ([0.0, 0.0, ra]); - END_IF; - ELSE - -- axis parallel to z-axis - use z-axis as yaw axis - IF (dz > 0.0) THEN - RETURN ([ya, 0.0, 0.0]); - ELSE - RETURN ([ra, 0.0, 0.0]); - END_IF; - END_IF; - END_IF; - - -- axis parallel to y-axis - use y-axis as pitch axis - IF ((dy <> 0.0) AND (dx = 0.0) AND (dz = 0.0)) THEN - IF (c_a >= 0.0) THEN - ya := 0.0; - ra := 0.0; - ELSE - ya := ucf * PI; - ra := ya; - END_IF; - - pa := ucf * ATAN (s_a, ABS (c_a)); - IF (dy < 0.0) THEN - pa := - pa; - END_IF; - - RETURN ([ya, pa, ra]); - END_IF; - - -- axis not parallel to any axis of coordinate system - -- compute rotation matrix - - cm1 := 1.0 - c_a; - - rotmat := [ [ dx * dx * cm1 + c_a, - dx * dy * cm1 - dz * s_a, - dx * dz * cm1 + dy * s_a ], - [ dx * dy * cm1 + dz * s_a, - dy * dy * cm1 + c_a, - dy * dz * cm1 - dx * s_a ], - [ dx * dz * cm1 - dy * s_a, - dy * dz * cm1 + dx * s_a, - dz * dz * cm1 + c_a ] ]; - - -- rotmat[1][3] equals SIN (pitch_angle) - IF (ABS (rotmat[1][3]) = 1.0) THEN - -- |pa| = PI/2 - BEGIN - IF (rotmat[1][3] = 1.0) THEN - pa := 0.5 * PI; - ELSE - pa := -0.5 * PI; - END_IF; - - -- In this case, only the sum or difference of roll and yaw angles - -- is relevant and can be evaluated from the matrix. - -- According to IP `rectangular pitch angle' for ypr_rotation, - - ra := 0.0; - ya := ATAN (rotmat[2][1], rotmat[2][2]); - - - IF (rotmat[2][2] < 0.0) THEN - IF ya <= 0.0 THEN - ya := ya + PI; - ELSE - ya := ya - PI; - END_IF; - END_IF; - END; - ELSE - BEGIN - ya := ATAN (- rotmat[1][2], rotmat[1][1]); - - IF (rotmat[1][1] < 0.0) THEN - IF (ya <= 0.0) THEN - ya := ya + PI; - ELSE - ya := ya - PI; - END_IF; - END_IF; - - ra := ATAN (-rotmat[2][3], rotmat[3][3]); - - IF (rotmat[3][3] < 0.0) THEN - IF (ra <= 0.0) THEN - ra := ra + PI; - ELSE - ra := ra - PI; - END_IF; - END_IF; - - s_y := SIN (ya); - c_y := COS (ya); - s_r := SIN (ra); - c_r := COS (ra); - - IF ((ABS (s_y) > ABS (c_y)) AND - (ABS (s_y) > ABS (s_r)) AND - (ABS (s_y) > ABS (c_r))) THEN - cm1 := - rotmat[1][2] / s_y; - ELSE - IF ((ABS (c_y) > ABS (s_r)) AND (ABS (c_y) > ABS (c_r))) THEN - cm1 := rotmat[1][1] / c_y; - ELSE - IF (ABS (s_r) > ABS (c_r)) THEN - cm1 := - rotmat[2][3] / s_r; - ELSE - cm1 := rotmat[3][3] / c_r; - END_IF; - END_IF; - END_IF; - - pa := ATAN (rotmat[1][3], cm1); - - END; - END_IF; - - ya := ya * ucf; - pa := pa * ucf; - ra := ra * ucf; - - RETURN ([ya, pa, ra]); - -END_FUNCTION; - -(* Implicit interfaced from: kinematic_state_schema *) -FUNCTION ypr_index (ypr : ypr_enumeration) : INTEGER; - CASE ypr OF - yaw : RETURN (1); - pitch : RETURN (2); - roll : RETURN (3); - END_CASE; - RETURN (?); -END_FUNCTION; - -(* Implicit interfaced from: geometric_model_schema *) -FUNCTION constraints_geometry_shell_based_wireframe_model - (m : shell_based_wireframe_model) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT j := 1 TO SIZEOF(m.sbwm_boundary); - IF (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.WIRE_SHELL' IN - TYPEOF(m.sbwm_boundary[j])) AND - (NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VERTEX_SHELL' IN - TYPEOF(m.sbwm_boundary[j])))) - THEN - result := FALSE; - RETURN(result); - (* A wireframe model is composed of WIRE_ and VERTEX_SHELLs *) - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: Classification_with_attributes_mim *) -FUNCTION class_assignment_is_valid (aia: applied_classification_assignment): BOOLEAN; -LOCAL - item: classification_item; - role: classification_role; -END_LOCAL; - -role:= aia\classification_assignment.role; -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLASS_SYSTEM' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN - IF(role\classification_role.name <> 'class system membership') THEN - RETURN(FALSE); - END_IF; - REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items); - item:= aia\applied_classification_assignment.items[i]; - - IF (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTERIZED_CLASS'] * TYPEOF(item))=0) THEN --- item invalid if item does not belong to the types that may have a class_system - RETURN(FALSE); - END_IF; - END_REPEAT; -END_IF; - -IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CHARACTERIZED_CLASS' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN - IF NOT(role\classification_role.name IN ['definitional','non-definitional','']) THEN - RETURN(FALSE); - END_IF; - - - REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items); - item:= aia\applied_classification_assignment.items[i]; - - IF (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLASSIFIED_ITEM'] * TYPEOF(item))=0) THEN --- item invalid if item does not belong to the types that may have a characterized_class - RETURN(FALSE); - END_IF; - END_REPEAT; -END_IF; - - IF - (role\classification_role.name = 'definitional') - THEN - IF NOT - (SIZEOF(QUERY(it <* aia\applied_classification_assignment.items | NOT - (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_FORMATION', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION'] * TYPEOF(it)) = 1) - )) = 0 ) - THEN - RETURN(FALSE); - END_IF; - END_IF; - -RETURN(TRUE); -END_FUNCTION; - -(* Implicit interfaced from: Surface_conditions_mim *) - FUNCTION surface_condition_correlation (pd: property_definition; rep: representation): LOGICAL; - CASE pd.name OF - 'visual appearance', 'tactile appearance', 'contact ratio', 'hardness', 'treatment result', 'surface texture' : - RETURN(pd.name = rep.name); - OTHERWISE : RETURN(UNKNOWN); - END_CASE; - END_FUNCTION; - -(* Implicit interfaced from: Product_occurrence_mim *) - FUNCTION valid_selected_instance_representation (pd: product_definition_or_assembly_relationship): LOGICAL; - LOCAL - properties: SET OF property_definition := bag_to_set(QUERY( prd<* USEDIN ( pd ,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | - (prd.name = 'occurrence selection' ))); - property_definition_representations: SET OF property_definition_representation := bag_to_set(QUERY ( pdr <* USEDIN ( properties[1] , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ( pdr.used_representation.name = 'selection criteria' ))); - selected_representation: representation; - END_LOCAL; - IF (SIZEOF( properties)<>1) THEN - RETURN(FALSE); - END_IF; - IF (SIZEOF(property_definition_representations)<>1) THEN - RETURN(FALSE); - END_IF; - selected_representation := property_definition_representations[1]\property_definition_representation.used_representation; - IF (SIZEOF(selected_representation\representation.items) <1) OR (SIZEOF(selected_representation\representation.items) >2) THEN - RETURN(FALSE); - END_IF; - IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_RANGE']* TYPEOF ( i ) ) = 1) AND - ( i.name = 'selection quantity' ))) <> 1 ) THEN - RETURN(FALSE); - END_IF; - IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND - ( i.name = 'selection control' )))> 1) THEN - RETURN(FALSE); - END_IF; --the selection control is not specified then the quantity shall be a qualified_representation_item or a value_range - IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND - ( i.name = 'selection control' ) ))= 0) AND - (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( i.name = 'selection quantity' ) AND - ( SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.QUALIFIED_REPRESENTATION_ITEM' , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_RANGE']* TYPEOF ( i ) ) =0 ))) > 0 ) THEN - RETURN(FALSE); - END_IF; - RETURN(TRUE); - END_FUNCTION; - -(* Implicit interfaced from: Product_and_manufacturing_information_view_context_mim *) -FUNCTION get_associated_mandatory_document_ids(pdc : product_definition_context) : SET OF STRING; - LOCAL - result : SET OF STRING := []; - adrs_raw : SET OF applied_document_reference := bag_to_set(USEDIN(pdc, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS')); - adrs_filtered : SET OF applied_document_reference := []; - ras : SET OF role_association; - dpas : SET OF document_product_association; - END_LOCAL; - - -- scan adrs_raw for associated role 'mandatory' and fill adrs_filtered with results - REPEAT i := 1 TO HIINDEX(adrs_raw); - if adrs_raw[i]\document_reference.role\object_role.name = 'mandatory' THEN - adrs_filtered := adrs_filtered + adrs_raw[i]; - END_IF; - END_REPEAT; - - -- scan through adrs_filtered and access associated product.id s - REPEAT i := 1 TO HIINDEX(adrs_filtered); - dpas := bag_to_set(USEDIN(adrs_filtered[i]\document_reference.assigned_document, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DOCUMENT_PRODUCT_ASSOCIATION.RELATING_DOCUMENT')); - REPEAT j := 1 TO HIINDEX(dpas); - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DOCUMENT_PRODUCT_EQUIVALENCE' IN TYPEOF (dpas[j]) THEN - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF (dpas[j]\document_product_association.related_product) THEN - result := result + dpas[j]\document_product_association.related_product\product_definition_formation.of_product\product.id; - END_IF; - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT' IN TYPEOF (dpas[j].related_product) THEN - result := result + dpas[j]\document_product_association.related_product\product.id; - END_IF; - END_IF; - END_REPEAT; - END_REPEAT; - - RETURN (result); -END_FUNCTION; -(* REFERENCE FROM (product_definition_schema); *) - FUNCTION categories_of_product - (obj : product) : SET OF STRING; - LOCAL - category_assignments: BAG OF product_category; - categories: SET OF STRING:=[]; - END_LOCAL; - category_assignments := USEDIN(obj, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS'); - REPEAT i := LOINDEX(category_assignments) TO HIINDEX(category_assignments) BY 1; - categories := categories + category_assignments[i].name; - END_REPEAT; - RETURN(categories); - END_FUNCTION; - -(* Implicit interfaced from: External_properties_mim *) - FUNCTION external_version_assignment_is_valid (aia: applied_external_identification_assignment): BOOLEAN; - LOCAL - item: external_identification_item; - role: identification_role; - END_LOCAL; - role:= aia.role; - IF role.name='version' THEN - REPEAT i := LOINDEX(aia\applied_external_identification_assignment.items) TO HIINDEX(aia\applied_external_identification_assignment.items); - item:= aia\applied_external_identification_assignment.items[i]; - IF (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXTERNALLY_DEFINED_GENERAL_PROPERTY']*TYPEOF(item))=0) THEN - -- item invalid if item does not belong to versionable types - RETURN(FALSE); - END_IF; - END_REPEAT; - RETURN(TRUE); - ELSE -- case where aia does not convey a version id - RETURN(TRUE); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE selected_instance_usage_requires_representation FOR (assembly_component_usage); - LOCAL - selected_instance_usages: SET OF assembly_component_usage := QUERY( acr <* assembly_component_usage| - (acr.name = 'selected instance usage')); - END_LOCAL; - WHERE - WR1: SIZEOF ( QUERY ( acr <* selected_instance_usages | - NOT valid_selected_instance_representation(acr) ))=0; - END_RULE; - - RULE dimensioning_data_requires_document FOR (applied_document_reference, product_definition_context_association, role_association); - LOCAL - adr : SET OF applied_document_reference := (QUERY(adr <* applied_document_reference | - (adr\document_reference.assigned_document\document.kind\document_type.product_data_type = 'Standards Document') AND - ((adr\document_reference.assigned_document\document.id = 'ASME Y14.41-2003') OR - (adr\document_reference.assigned_document\document.id = 'ASME Y14.5M-1994') OR - (adr\document_reference.assigned_document\document.id = 'ISO 1101: 2004')))); - pdca : SET OF product_definition_context_association := (QUERY(pdca <* product_definition_context_association | - (pdca\product_definition_context_association.role\product_definition_context_role.name = 'additional context') AND - (pdca\product_definition_context_association.frame_of_reference\application_context_element.name = 'Geometric Dimensioning and Tolerancing Product Specification'))); - ra : SET OF role_association := (QUERY(ra <* role_association | - ra\role_association.role\object_role.name = 'dimensioning standard')); - ra1 : SET OF role_association := []; - pdpdca : SET OF product_definition := []; - pdadr : SET OF product_definition := []; - pass : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT i := 1 TO HIINDEX(pdca); - pdpdca := pdpdca + pdca[i]\product_definition_context_association.definition; - END_REPEAT; - REPEAT i := 1 TO HIINDEX(adr); - ra1 := bag_to_set(USEDIN(adr[i],'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROLE_ASSOCIATION.ITEM_WITH_ROLE')); - IF (ra1 * ra) <> ra1 THEN - pass := FALSE; - END_IF; - REPEAT j := 1 to HIINDEX(adr[i]\applied_document_reference.items); - IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(adr[i]\applied_document_reference.items[j]) THEN - pdadr := pdadr + adr[i]\applied_document_reference.items[j]; - END_IF; - END_REPEAT; - END_REPEAT; - - WHERE - WR1 : pass; - WR2 : pdpdca = pdadr; - -END_RULE; - - RULE application_protocol_definition_required FOR - (application_context); - WHERE - WR1: SIZEOF( QUERY( ac <* application_context | - (SIZEOF (QUERY (apd <* USEDIN(ac,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION') | - apd.application_interpreted_model_schema_name = 'ap242_managed_model_based_3d_engineering' - )) > 0) - )) > 0; - - END_RULE; - -(* Implicit interfaced from: Part_and_zone_laminate_tables_mim *) - RULE component_class_for_assembly_select FOR - (composite_assembly_sequence_definition, - next_assembly_usage_occurrence, - product_related_product_category); - LOCAL - i,j,k : INTEGER :=0; - dkuhr : LOGICAL :=TRUE; - nnauo : INTEGER :=0; - nprpc : INTEGER :=0; - rp : product; - END_LOCAL; - REPEAT i:= LOINDEX (composite_assembly_sequence_definition) TO - HIINDEX (composite_assembly_sequence_definition); - nnauo := 0; - REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO - HIINDEX (next_assembly_usage_occurrence); - IF (composite_assembly_sequence_definition[i] = - next_assembly_usage_occurrence[j].relating_product_definition) THEN - rp := next_assembly_usage_occurrence[j].related_product_definition. - formation.of_product; - nprpc := 0; - REPEAT k:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - IF ((rp IN product_related_product_category[k].products) AND - (product_related_product_category[k].name IN ['ply', - 'ply laminate', 'filament laminate', 'processed core', - 'composite assembly'])) THEN - nprpc := nprpc + 1; - END_IF; - END_REPEAT; - IF (nprpc = 1) THEN - nnauo := nnauo + 1; - ELSE - dkuhr := FALSE; - ESCAPE; - END_IF; - END_IF; - END_REPEAT; - IF (dkuhr = FALSE) THEN - ESCAPE; - END_IF; - IF(nnauo = 0) THEN - dkuhr := FALSE; - ESCAPE; - END_IF; - END_REPEAT; - WHERE - WR1: dkuhr; - END_RULE; - -(* Implicit interfaced from: Part_and_zone_laminate_tables_mim *) - RULE ply_reference FOR - (ply_laminate_sequence_definition, - next_assembly_usage_occurrence, - product_related_product_category); - LOCAL - i,j,k : INTEGER; - dkuhr : LOGICAL := TRUE; - nnauo : INTEGER; - nprpc : INTEGER := 0; - rp : product; - END_LOCAL; - REPEAT i:= LOINDEX (ply_laminate_sequence_definition) TO - HIINDEX (ply_laminate_sequence_definition); - nnauo := 0; - REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO - HIINDEX (next_assembly_usage_occurrence); - IF (ply_laminate_sequence_definition[i] = - next_assembly_usage_occurrence[j].relating_product_definition) THEN - rp := next_assembly_usage_occurrence[j].related_product_definition. - formation.of_product; - nprpc := 0; - REPEAT k:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - IF ((product_related_product_category[k].name = 'ply') AND - (rp IN product_related_product_category[k].products)) THEN - nprpc := nprpc + 1; - END_IF; - END_REPEAT; - IF (nprpc = 1) THEN - nnauo := nnauo + 1; - ELSE - dkuhr := FALSE; - ESCAPE; - END_IF; - END_IF; - END_REPEAT; - IF (dkuhr = FALSE) THEN - ESCAPE; - END_IF; - IF(nnauo = 0) THEN - dkuhr := FALSE; - ESCAPE; - END_IF; - END_REPEAT; - WHERE - WR1: dkuhr; - END_RULE; - -(* Implicit interfaced from: Qualified_measure_mim *) -RULE consistent_uncertainty - FOR (global_uncertainty_assigned_context, - qualified_representation_item, - uncertainty_assigned_representation); -WHERE -WR1: SIZEOF ( QUERY ( guac <* global_uncertainty_assigned_context | - SIZEOF ( QUERY ( u1 <* guac.uncertainty | - SIZEOF ( QUERY ( u2 <* guac.uncertainty | u2.name = u1.name ) ) >1 ) ) >0 ) ) = 0 ; -WR2: SIZEOF ( QUERY ( uar <* uncertainty_assigned_representation | - SIZEOF ( QUERY ( u1<* uar.uncertainty | - SIZEOF ( QUERY ( u2 <* uar.uncertainty | u2.name = u1.name ) ) >1 ) ) >0 ) ) = 0; -WR3: SIZEOF ( QUERY ( qri <* qualified_representation_item | - SIZEOF ( QUERY ( u1 <* qri.qualifiers | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' IN TYPEOF ( u1 ) ) AND - ( SIZEOF ( QUERY ( u2 <* qri.qualifiers | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' IN TYPEOF ( u2 ) ) AND - ( u2\uncertainty_qualifier.measure_name = u1\uncertainty_qualifier.measure_name ) ) - ) >1 ) ) ) >0 ) ) = 0; -END_RULE; - -(* Implicit interfaced from: Appearance_assignment_mim *) - RULE styled_curve FOR (styled_item); - WHERE - WR1: SIZEOF( QUERY( si <* styled_item | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE' IN TYPEOF (si.item)) AND (SIZEOF (QUERY (psa <* si.styles | (SIZEOF (QUERY (cs <* psa.styles | ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_STYLE' IN TYPEOF (cs)) )) > 0) )) <> 1) )) = 0; - END_RULE; - -(* Implicit interfaced from: geometry_schema *) -RULE compatible_dimension FOR -(cartesian_point,direction,representation_context,geometric_representation_context); -WHERE - WR1: SIZEOF(QUERY(x <* cartesian_point| SIZEOF(QUERY (y <* geometric_representation_context | item_in_context(x,y) AND (HIINDEX(x.coordinates) <> y.coordinate_space_dimension))) > 0 )) =0; - WR2: SIZEOF(QUERY(x <* direction | SIZEOF( QUERY (y <* geometric_representation_context | item_in_context(x,y) AND (HIINDEX(x.direction_ratios) <> y.coordinate_space_dimension))) > 0 )) = 0; -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE chamfer_requires_faces FOR (chamfer, -property_definition_representation); -WHERE -WR1: (SIZEOF (QUERY (cf <* chamfer | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = cf) AND -('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'chamfer face')) -))) -))=0); -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE chamfer_offset_requires_faces FOR -(chamfer_offset, property_definition_representation); -WHERE -WR1: (SIZEOF (QUERY (co <* chamfer_offset | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = co) AND -('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF (pdr.used_representation)) AND -( ((pdr\property_definition_representation.definition\property_definition.definition.description = 'first offset') AND -(pdr.used_representation.name = 'first face shape')) -OR -((pdr\property_definition_representation.definition\property_definition.definition.description = 'second offset') AND -(pdr.used_representation.name = 'second face shape')) -)) -))) -))=0); -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE edge_round_requires_faces FOR -(edge_round, property_definition_representation); -WHERE -WR1: (0 = SIZEOF (QUERY (er <* edge_round | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = er) AND -('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'edge round face')) -))) -))); -WR2: (SIZEOF (QUERY (er <* edge_round | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = er) AND -('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'first face shape')) -))) -))=0); -WR3: (SIZEOF (QUERY (er <* edge_round | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = er) AND -('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'second face shape')) -))) -))=0); -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE transition_feature_life_cycle FOR -(transition_feature); -WHERE -WR1: SIZEOF (QUERY (tf <* transition_feature | -NOT (tf.of_shape.definition.frame_of_reference.life_cycle_stage = -'manufacturing planning'))) = 0; -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE transition_feature_on_part_boundary FOR -(transition_feature); -WHERE -WR1: SIZEOF (QUERY (tf <* transition_feature | -NOT (tf.product_definitional))) = 0; -END_RULE; - -(* Implicit interfaced from: Classification_with_attributes_mim *) -RULE restrict_classification_assignments FOR (applied_classification_assignment); -WHERE -WR1: SIZEOF(QUERY(aia <* applied_classification_assignment | - NOT class_assignment_is_valid(aia)))=0; -END_RULE; - -(* Implicit interfaced from: Dimension_and_tolerance_callouts_mim *) -RULE draughting_model_items_constraint FOR (draughting_model); -WHERE - -- logic - there should be 0 items, which are annotation_occurrences and which are not draughting_annotation_occurrences - WR1: SIZEOF(QUERY(dm <* draughting_model | - NOT(SIZEOF(QUERY(it1 <* dm\representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANNOTATION_OCCURRENCE' IN TYPEOF(it1)) - AND - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'DRAUGHTING_ANNOTATION_OCCURRENCE' IN TYPEOF(it1))) - )) = 0) - )) = 0; - WR2: SIZEOF(QUERY(dm <* draughting_model | - NOT(SIZEOF(QUERY(it1 <* dm\representation.items | - (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF(it1)) - AND - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DRAUGHTING_ELEMENTS' IN TYPEOF(it1))) - )) = 0) - )) = 0; -END_RULE; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -RULE unique_datum_system FOR -(datum_system); - -LOCAL - pass : BOOLEAN := TRUE; -END_LOCAL; -REPEAT i := 1 TO SIZEOF(datum_system); - REPEAT j := 1 TO SIZEOF(datum_system); - IF (i <> j) THEN - IF datum_system[i]\datum_system.constituents = - datum_system[j]\datum_system.constituents THEN - pass := FALSE; - END_IF; - END_IF; - END_REPEAT; -END_REPEAT;WHERE - WR1: pass; -END_RULE; - -(* Implicit interfaced from: shape_tolerance_schema *) -RULE subtype_exclusiveness_geometric_tolerance FOR -(geometric_tolerance); -WHERE - WR1: SIZEOF(QUERY (gt <* geometric_tolerance | NOT (type_check_function(gt, ['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ANGULARITY_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COAXIALITY_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CONCENTRICITY_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CYLINDRICITY_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FLATNESS_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LINE_PROFILE_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PARALLELISM_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PERPENDICULARITY_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POSITION_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDNESS_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STRAIGHTNESS_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SURFACE_PROFILE_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SYMMETRY_TOLERANCE', 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TOTAL_RUNOUT_TOLERANCE'] , 2 ) ))) = 0; -END_RULE; - -(* Implicit interfaced from: Geometric_tolerance_mim *) -RULE tolerance_zone_form_name_constraint for (tolerance_zone_form); -LOCAL - names : SET OF STRING := - [ 'within a circle', - 'between two concentric circles', - 'between two equidistant curves', - 'within a cylinder', - 'between two coaxial cylinders', - 'between two equidistant surfaces', - 'non uniform', - 'cylindrical or circular', - 'spherical', - 'unknown']; - pass : BOOLEAN := TRUE; -END_LOCAL; -REPEAT i := 1 to SIZEOF(tolerance_zone_form) WHILE pass; - pass := (tolerance_zone_form[i].name IN names); -END_REPEAT; -WHERE - WR1: pass; -END_RULE; - -(* Implicit interfaced from: Text_appearance_mim *) - RULE text_font_usage FOR - (externally_defined_text_font,pre_defined_text_font); - WHERE - WR1: SIZEOF (QUERY (pdtf <* pre_defined_text_font | SIZEOF (USEDIN (pdtf, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0; - WR2: SIZEOF (QUERY (edtf <* externally_defined_text_font | SIZEOF (USEDIN (edtf, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0; - END_RULE; - -(* Implicit interfaced from: External_properties_mim *) - RULE plib_property_reference_requires_name_scope FOR ( - externally_defined_general_property); - LOCAL - known_sourced_properties : SET OF externally_defined_general_property; - END_LOCAL; - known_sourced_properties := QUERY( edc <* externally_defined_general_property | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KNOWN_SOURCE' IN TYPEOF(edc.source) ); - WHERE - WR1: SIZEOF ( QUERY ( edgp <* known_sourced_properties | - ( SIZEOF ( QUERY ( edir <* USEDIN ( edgp, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.RELATING_ITEM' )| - ( edir.name = 'name scope' ) AND - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXTERNALLY_DEFINED_CLASS' IN TYPEOF ( edir.related_item ) ) AND - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KNOWN_SOURCE' IN TYPEOF ( edir.related_item.source ) ) ) ) <>1 ) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: External_properties_mim *) - RULE plib_property_reference_requires_version FOR (externally_defined_general_property); - LOCAL - plib_properties : SET OF externally_defined_general_property := []; - END_LOCAL; - plib_properties := QUERY ( edgp <* externally_defined_general_property | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KNOWN_SOURCE' IN TYPEOF ( edgp.source ) ) AND - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.KNOWN_SOURCE' + '.NAME' = 'ISO 13584 library' ) ); --tt found real problem here - WHERE - WR1: SIZEOF( QUERY( edgp <* plib_properties | - (SIZEOF( QUERY( edir <* USEDIN(edgp, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS') | - (edir.role.name = 'version') )) <> 1) )) = 0; - END_RULE; - -(* Implicit interfaced from: Product_class_mim *) -RULE product_concept_feature_requires_category FOR (product_concept_feature); -WHERE -WR1: SIZEOF ( QUERY ( pcf <* product_concept_feature | -(SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE', -'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE'] * TYPEOF(pcf)) = 0) AND -(SIZEOF ( QUERY ( aga <* USEDIN ( pcf , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT.' + 'ITEMS' ) | -(aga\group_assignment.role\object_role.name = 'specification category member' ) AND -('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF ( aga.assigned_group )))) <>1 ) ) ) = 0; -END_RULE; - -(* Implicit interfaced from: Product_class_mim *) -RULE restrict_concept_feature_operator FOR (concept_feature_operator); -WHERE - WR1: SIZEOF ( QUERY ( cfo <* concept_feature_operator | NOT - ( cfo.name IN ['and' , 'or' , 'oneof' , 'not' , 'implication'] ) ) ) = 0; - WR2: SIZEOF ( QUERY ( cfo <* concept_feature_operator | (cfo.name = 'implication' ) AND - ( SIZEOF ( QUERY (cfrwc <* USEDIN ( cfo , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' + - 'CONDITIONAL_OPERATOR' ) | - SIZEOF ( QUERY ( ccf <* USEDIN( cfrwc , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.CONDITION' ) | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( ccf )))) >0 )) >0 ))) = 0; - WR3: SIZEOF( QUERY (cfo <* concept_feature_operator | (cfo.name = 'not') - AND (SIZEOF(QUERY(cfrwc <* USEDIN(cfo, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.CONDITIONAL_OPERATOR') | - cfrwc.related_product_concept_feature :<>: cfrwc.relating_product_concept_feature)) >0 ))) = 0; -END_RULE; - -(* Implicit interfaced from: Multi_linguism_mim *) -RULE restrict_language_assignment_per_attribute FOR (attribute_language_assignment); -WHERE -WR1: SIZEOF ( QUERY ( ala1 <* attribute_language_assignment | - SIZEOF(QUERY( it <* ala1.items | - SIZEOF ( QUERY ( ala2 <* USEDIN ( it ,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ) | - ( ala1\attribute_classification_assignment.attribute_name = ala2\attribute_classification_assignment.attribute_name ) AND - ( ala1\attribute_classification_assignment.assigned_class :=: ala2\attribute_classification_assignment.assigned_class ) - )) >1 - )) >0 - )) =0; -END_RULE; - -(* Implicit interfaced from: Classification_with_attributes_mim *) -RULE restrict_group_relationship_for_classification_hierarchy FOR (group_relationship); -WHERE -WR1: SIZEOF( QUERY( gr <* group_relationship | - (gr\group_relationship.name = 'class hierarchy') AND - (NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.related_group)) OR - NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.relating_group))) )) = 0; -END_RULE; - -(* Implicit interfaced from: Geometric_tolerance_mim *) -RULE unique_gdt_element_id_constraint for ( - product_definition_shape, - dimensional_location, - dimensional_size, - shape_aspect, - shape_aspect_relationship); -LOCAL - bss : BAG OF STRING := []; - ds : SET OF dimensional_size := QUERY(ds <* dimensional_size | EXISTS(ds\dimensional_size.id)); - sa : SET OF shape_aspect := QUERY(sa <* shape_aspect | EXISTS(sa\shape_aspect.id)); - sar : SET OF shape_aspect_relationship := QUERY(sar <* shape_aspect_relationship | EXISTS(sar\shape_aspect_relationship.id)); - ssa : SET OF shape_aspect := []; - pass : BOOLEAN := TRUE; -END_LOCAL; -REPEAT ii := 1 TO SIZEOF (product_definition_shape) WHILE pass; - bss := []; - ssa := bag_to_set(USEDIN(product_definition_shape[ii], 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'SHAPE_ASPECT.' + 'OF_SHAPE')); - - REPEAT i := 1 to SIZEOF (ds); - IF (ds[i]\dimensional_size.applies_to IN ssa) THEN - bss := bss + ds[i]\dimensional_size.id; - END_IF; - END_REPEAT; - - REPEAT i := 1 to SIZEOF (sa); - IF (sa[i] IN ssa) THEN - bss := bss + sa[i]\shape_aspect.id; - END_IF; - END_REPEAT; - - REPEAT i := 1 to SIZEOF (sar); - IF (sar[i]\shape_aspect_relationship.relating_shape_aspect IN ssa) THEN - bss := bss + sar[i]\shape_aspect_relationship.id; - END_IF; - END_REPEAT; - - IF (SIZEOF(bag_to_set(bss)) <> SIZEOF(bss)) THEN pass := FALSE; - END_IF; -END_REPEAT; -WHERE - WR1 : pass; -END_RULE; - -(* Implicit interfaced from: Surface_conditions_mim *) - RULE restrict_treatment_result FOR (representation); - LOCAL - treatment_results: SET OF representation := []; - END_LOCAL; - treatment_results:= QUERY( r <* representation | - (r.name = 'treatment result') ); - WHERE - WR1: (SIZEOF( QUERY( r <* treatment_results | (SIZEOF(r.items) > 2) )) = 0) AND - (SIZEOF( QUERY( r <* treatment_results | - (SIZEOF( QUERY( i <* r.items | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) > 0) )) = 0); - WR2: SIZEOF( QUERY( r <* treatment_results | - (SIZEOF( QUERY( i <* r.items | i.name = 'result' )) = 0) )) = 0; - WR3: SIZEOF( QUERY( r <* treatment_results | - (SIZEOF( QUERY( i <* r.items | i.name = 'purpose' )) > 1) )) = 0; - END_RULE; - -(* Implicit interfaced from: Surface_conditions_mim *) - RULE restrict_representation_for_surface_condition FOR (property_definition_representation); - WHERE - WR1 : SIZEOF(QUERY(pdr <* property_definition_representation | - NOT surface_condition_correlation(pdr.definition, pdr.used_representation) ))=0; - END_RULE; - -RULE subtype_mandatory_shape_representation FOR - (shape_representation); -WHERE - WR1: SIZEOF (QUERY (sr <* shape_representation | - NOT ((SIZEOF ([ - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACETED_BREP_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SURFACE_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BEVELED_SHEET_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOSITE_SHEET_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOUND_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_2D_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CSG_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.DIRECTION_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FACE_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.LOCATION_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PATH_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DIMENSION_REPRESENTATION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' - ] * TYPEOF (sr)) = 1) OR - (SIZEOF (QUERY (it <* sr\representation.items | - NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (it)))) - = 0) OR - (SIZEOF (QUERY (sdr <* QUERY (pdr <* USEDIN (sr, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + - 'USED_REPRESENTATION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF (pdr)) | - NOT (SIZEOF (['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_ASPECT_RELATIONSHIP'] * TYPEOF - (sdr.definition)) = 1))) = 0)))) = 0; -END_RULE; -- subtype_mandatory_shape_representation - -(* Implicit interfaced from: Item_definition_structure_mim *) - RULE product_definition_replacement_requires_effectivity_assignment FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF( QUERY( pdr <* product_definition_relationship | - (pdr.name = 'definition replacement') AND - (SIZEOF( USEDIN(pdr,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT.ITEMS') ) = 0) )) - = 0; - END_RULE; - -(* Implicit interfaced from: Item_definition_structure_mim *) - RULE restrict_product_definitions_for_part_definition_relationship FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr.name IN [ 'geometrical relationship' , 'definition replacement' ] ) AND - ( ( pdr.relating_product_definition.frame_of_reference.name <>'part definition' ) OR - ( pdr.related_product_definition.frame_of_reference.name <>'part definition' ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE restrict_product_definitions_for_definition_usage FOR (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr.name = 'definition usage' ) AND - ( ( pdr.relating_product_definition.frame_of_reference.name<> 'part definition' ) OR - ( pdr.related_product_definition.frame_of_reference.name<>'part occurrence' )))) =0; - END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE machining_feature_life_cycle FOR -(instanced_feature); -WHERE -WR1: SIZEOF (QUERY (mf <* instanced_feature | -NOT (mf.of_shape.definition.frame_of_reference.life_cycle_stage = -'manufacturing planning'))) = 0; -END_RULE; - -(* Implicit interfaced from: Product_class_mim *) -RULE restrict_group_relationship_for_specification_category FOR (group_relationship); -WHERE -WR1 : SIZEOF( QUERY( gr <* group_relationship | - (gr.name = 'specification category hierarchy') AND - (NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.related_group)) - OR NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.relating_group))) )) = 0; -END_RULE; - -(* Implicit interfaced from: Inertia_characteristics_mim *) -RULE restrict_centre_of_mass_representation FOR - (representation); -WHERE - WR1: SIZEOF ( QUERY ( r <* representation | - ( r.name ='centre of mass' ) AND - ( ( SIZEOF ( r.items ) <>1 ) OR - (SIZEOF ( QUERY ( i <* r.items | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'POINT' IN TYPEOF ( i ) ) AND - ( i.name = 'centre point' ) )) <>1 ) ) ) ) - =0; -END_RULE; - -(* Implicit interfaced from: Stock_material_mim *) - RULE ply_stock_material_select FOR - (product_related_product_category, - make_from_usage_option); - LOCAL - i,j,k,kp : INTEGER; - dkuhr : LOGICAL; - nmfuo : INTEGER; - nprpc : INTEGER := 0; - rp : product; - END_LOCAL; - - dkuhr := TRUE; - REPEAT kp:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - - IF (product_related_product_category[kp].name = 'ply') THEN - REPEAT i:= LOINDEX (product_related_product_category[kp].products) TO - HIINDEX (product_related_product_category[kp].products); - - nmfuo := 0; - REPEAT j:= LOINDEX (make_from_usage_option) TO - HIINDEX (make_from_usage_option); - - rp := make_from_usage_option[j].related_product_definition. - formation.of_product; - - IF (product_related_product_category[kp].products[i] = rp) THEN - - REPEAT k:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - - IF ((rp IN product_related_product_category[k].products) AND - (product_related_product_category[k].name IN - ['isotropic material', 'filament assembly', - 'discontinuous fiber assembly'])) THEN - nprpc := nprpc + 1; - END_IF; - - END_REPEAT; - - IF (nprpc = 1) THEN - nmfuo := nmfuo + 1; - ELSE - dkuhr := FALSE; - ESCAPE; - END_IF; - - END_IF; - - END_REPEAT; - - IF (dkuhr = FALSE) THEN - ESCAPE; - END_IF; - IF(nmfuo <> 1) THEN - dkuhr := FALSE; - ESCAPE; - END_IF; - - END_REPEAT; - END_IF; - - END_REPEAT; - - WHERE - WR1: dkuhr; - END_RULE; - -(* Implicit interfaced from: Surface_conditions_mim *) - RULE material_for_coating_layer FOR (shape_aspect); - LOCAL - coating_layers: SET OF shape_aspect := []; - END_LOCAL; - coating_layers:= QUERY( r <* shape_aspect | - (r.name = 'coating layer') ); - WHERE - WR1: SIZEOF( QUERY( r <* coating_layers | - SIZEOF(USEDIN(r , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MATERIAL_DESIGNATION.DEFINITIONS'))<>1 - )) = 0; - END_RULE; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - RULE subtype_exclusiveness_representation_item FOR - (representation_item); - WHERE - WR1: SIZEOF(QUERY (cri <* representation_item | - NOT (type_check_function(cri,['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.VALUE_REPRESENTATION_ITEM', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.COMPOUND_REPRESENTATION_ITEM'] , 3)))) = 0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE restrict_configuration_design_for_class_breakdown_association FOR - (configuration_design); - WHERE - WR1: SIZEOF ( QUERY ( cd <* configuration_design | - ( cd.name ='functionality' ) AND - ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd. design ) ) OR - ( cd.design\product_definition.frame_of_reference.name<> 'functional definition' ) ) - ) ) =0; - WR2: SIZEOF ( QUERY ( cd <* configuration_design | - ( cd.name='realization' ) AND - ( NOT ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR - ( cd.design\product_definition.frame_of_reference.name<> 'conceptual definition' ) ) - ) ) =0; - WR3: SIZEOF ( QUERY ( cd <* configuration_design | - ( cd.name IN ['functionality' , 'realization'] ) AND - ( NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_CLASS' IN TYPEOF ( cd.configuration.item_concept ) ) ) - ) ) =0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE restrict_configuration_design_for_design_constraint FOR (configuration_design); - WHERE - WR1: SIZEOF ( QUERY (cd <* configuration_design | - (cd.name = 'design constraint usage') AND - (NOT('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR - (cd.design\product_definition.frame_of_reference.name <> 'design constraint definition')))) = 0; - END_RULE; - -(* Implicit interfaced from: Product_and_manufacturing_information_view_context_mim *) -RULE valid_product_and_manufacturing_information_view_contexts FOR (product_definition_context); -LOCAL - design_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.life_cycle_stage = 'design'); - gdt_representation_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'geometrical dimensioning and tolerancing representation'); - machining_feature_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'machining feature'); - material_specification_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'material specification'); - model_based_3d_annotation_presentation_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'model based 3D annotation presentation'); - model_based_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'model based product geometry'); - process_state_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'process state'); - surface_finish_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'surface finish'); - additional_view_contexts : SET OF product_definition_context := - gdt_representation_view_contexts + machining_feature_view_contexts + material_specification_view_contexts + - model_based_3d_annotation_presentation_view_contexts + process_state_view_contexts + surface_finish_view_contexts; - need_initial_model_based_view_contexts : SET OF product_definition_context := - gdt_representation_view_contexts + model_based_3d_annotation_presentation_view_contexts; -END_LOCAL; - -WHERE - WR1: SIZEOF(gdt_representation_view_contexts * design_view_contexts) = SIZEOF(gdt_representation_view_contexts); - WR2: SIZEOF(machining_feature_view_contexts * design_view_contexts) = SIZEOF(machining_feature_view_contexts); - WR3: SIZEOF(material_specification_view_contexts * design_view_contexts) = SIZEOF(material_specification_view_contexts); - WR4: SIZEOF(model_based_3d_annotation_presentation_view_contexts * design_view_contexts) = SIZEOF(model_based_3d_annotation_presentation_view_contexts); - WR5: SIZEOF(model_based_view_contexts * design_view_contexts) = SIZEOF(model_based_view_contexts); - WR6: SIZEOF(process_state_view_contexts * design_view_contexts) = SIZEOF(process_state_view_contexts); - WR7: SIZEOF(surface_finish_view_contexts * design_view_contexts) = SIZEOF(surface_finish_view_contexts); - WR8: -- not used as additional_contexts - SIZEOF(QUERY(mbvc <* model_based_view_contexts | - (SIZEOF(USEDIN(mbvc, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.FRAME_OF_REFERENCE')) = 0) - )) = SIZEOF(model_based_view_contexts); - WR9: -- not used as initial_context - SIZEOF(QUERY(avc <* additional_view_contexts | - (SIZEOF(USEDIN(avc, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION.FRAME_OF_REFERENCE')) = 0) - )) = SIZEOF(additional_view_contexts); - WR10: -- initial_context shall have a Model_based_view_context - SIZEOF(QUERY(nimbvc <* need_initial_model_based_view_contexts | NOT - (SIZEOF(QUERY(pdca <* USEDIN(nimbvc, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.FRAME_OF_REFERENCE') | - (pdca\product_definition_context_association.definition\product_definition.frame_of_reference IN model_based_view_contexts))) - = - SIZEOF(need_initial_model_based_view_contexts)) - )) = 0; - WR11: -- gdt_representation_view_contexts must have at least either ISO 1101 or ASME Y14.5 as associated dimension standard document - SIZEOF ( QUERY( gdt_pdc <* gdt_representation_view_contexts | - SIZEOF(['ISO 1101', 'ASME Y14.5'] * get_associated_mandatory_document_ids(gdt_pdc) ) = 0 ) - ) = 0; - WR12: -- model_based_3d_annotation_presentation_view_contexts must have at least either ISO 1101, ISO 16792, ASME Y14.41 or ASME Y14.5 as associated model standard document - SIZEOF ( QUERY( mb3d_pdc <* model_based_3d_annotation_presentation_view_contexts | - SIZEOF(['ISO 1101', 'ISO 16792', 'ASME Y14.41', 'ASME Y14.5'] * get_associated_mandatory_document_ids(mb3d_pdc) ) = 0) - ) = 0; -END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE constraint_definition_requires_constraint_category FOR (product_definition); - LOCAL - constraint_definitions: SET OF product_definition := []; - END_LOCAL; - constraint_definitions := QUERY( pd <* product_definition | - (pd.frame_of_reference.name = 'design constraint definition')); - WHERE - WR1: SIZEOF ( QUERY ( pd <* constraint_definitions | - ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd.formation.of_product , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc. name ='requirement' ) ) =0 ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Item_definition_structure_mim *) - RULE restrict_assembly_category FOR (product_definition); - LOCAL - assembly_definitions: SET OF product_definition := []; - END_LOCAL; - assembly_definitions := QUERY( pd <* product_definition | - SIZEOF( QUERY( pdca <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | - pdca.frame_of_reference.name= 'assembly definition')) > 0 ); - WHERE - WR1: SIZEOF( QUERY( pd <* assembly_definitions | - NOT ('assembly' IN categories_of_product(pd.formation.of_product)) ))= 0; - END_RULE; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE restrict_part_occurrence FOR (product_definition); - LOCAL - part_occurrences: SET OF product_definition := QUERY(pd <* product_definition | - ( pd.frame_of_reference.name = 'part occurrence' )); - END_LOCAL; - WHERE - WR1: SIZEOF ( QUERY ( pd <* part_occurrences | - ( NOT( pd.name IN - ['single instance' , 'selected instance' ,'quantified instance' , 'specified instance' ] ) ) ) ) = 0; - WR2: SIZEOF ( QUERY ( pd <* part_occurrences | - (SIZEOF ( QUERY ( pdr <* USEDIN ( pd , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | - pdr.name = 'definition usage' ) ) <>1 ) AND - ( SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'CONFIGURATION_DESIGN.DESIGN' ) | - ( cd.name = 'occurrence usage definition' ) AND - ( NOT ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_IDENTIFICATION' IN TYPEOF( cd.configuration ) ) ) ) ) <>1 ) ) ) = 0; - WR3: SIZEOF ( QUERY ( pd <* part_occurrences | - (SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.'+ 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' +'PRODUCT_DEFINITION_USAGE' IN TYPEOF ( cd ) ) ) ) = 0 )AND - ( SIZEOF ( USEDIN ( pd , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) ) = 0 ) ) ) = 0; - WR4: SIZEOF ( QUERY ( pd <* part_occurrences | - ( pd.name = 'selected instance' ) AND - NOT valid_selected_instance_representation(pd) ))=0; - WR5: SIZEOF ( QUERY ( pd <* part_occurrences | - ( pd.name = 'quantified instance' ) AND - ( SIZEOF ( QUERY (ppd <* USEDIN ( pd , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' +'PROPERTY_DEFINITION.DEFINITION' ) | - ( ppd.name ='occurrence quantity' ) AND - ( SIZEOF ( QUERY ( pdr <*USEDIN ( ppd , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' +'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( - pdr.used_representation.name = 'quantity' ) AND - (SIZEOF ( pdr.used_representation.items ) = 1 ) AND - (SIZEOF ( QUERY ( i <* pdr.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND - ( i.name = 'quantity measure' ) ) ) = 1)))= 1 )))= 0 )))= 0; - WR6: SIZEOF ( QUERY ( pd <* part_occurrences | - ( pd.name = 'specified instance' ) AND - ( SIZEOF ( QUERY ( - pdor <* USEDIN ( pd , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' +'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' +'SPECIFIED_HIGHER_USAGE_OCCURRENCE' IN TYPEOF ( pdor.occurrence_usage ) ) ) = 0 ) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE restrict_part_occurrence_category FOR (product_definition); - LOCAL - part_occurrences: SET OF product_definition := QUERY( pd <* product_definition |( - pd.frame_of_reference.name = 'part occurrence')); - END_LOCAL; - WHERE - WR1: SIZEOF( QUERY( pd <* part_occurrences | - (SIZEOF( QUERY( prpc <* USEDIN(pd.formation.of_product, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | - prpc.name IN ['part','raw material','tool'] )) = 0 ) )) = 0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE breakdown_element_requires_product_definition FOR - (product_definition_formation); - WHERE - WR1: SIZEOF ( QUERY ( pdf <* product_definition_formation | - ( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc.name = 'functionality' ) ) = 1 ) AND - ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf ,'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION.FORMATION') | - pd.frame_of_reference.name = 'functional definition' ) ) <1 ) ) ) = 0; - WR2: SIZEOF ( QUERY ( pdf <* product_definition_formation | - ( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc.name = 'conceptual design' ) ) = 1 ) AND - ( SIZEOF (QUERY ( pd <* USEDIN ( pdf , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | - pd.frame_of_reference.name = 'conceptual definition' ) ) <1) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE design_constraint_requires_product_definition FOR (product_definition_formation); - WHERE - WR1: SIZEOF ( QUERY ( pdf <* product_definition_formation | ( - SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc.name = 'requirement' ) ) >0 ) AND - ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf , 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PRODUCT_DEFINITION.FORMATION') | - pd.frame_of_reference.name = 'design constraint definition' ) ) <1 ) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE restrict_product_definitions_for_design_constraint_association FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr. name = 'design constraint association' ) AND - ( (pdr. relating_product_definition.frame_of_reference.name<>'design constraint definition' ) OR - NOT ( pdr.related_product_definition.frame_of_reference.name IN - ['alternative definition' , 'functional definition' ,'conceptual definition' ] ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: aic_machining_feature *) -RULE machining_feature_definition_constraints FOR (feature_definition); -LOCAL - mfds : SET OF feature_definition := []; -END_LOCAL; - mfds := QUERY(temp <* feature_definition | 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.MACHINING_FEATURE_DEFINITION' IN TYPEOF (temp) ); -WHERE - WR1: SIZEOF(QUERY( mfd <* mfds | NOT (SIZEOF(QUERY( pdr <* - get_property_definition_representations (mfd) | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF ( pdr.used_representation ) ) ) <=1 ) ) ) = 0; - WR2: SIZEOF(QUERY( mfd <* mfds | NOT (SIZEOF (QUERY (pd <* USEDIN (mfd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLACEMENT' - IN TYPEOF (it)) AND (it.name = 'orientation'))) = 1))) = 0))) = 0 ) ) ) = 0; - WR3: SIZEOF(QUERY( mfd <* mfds | NOT ((NOT (SIZEOF(['AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUND_HOLE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOSS', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.OUTSIDE_PROFILE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.REMOVAL_VOLUME', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FLAT_FACE', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.POCKET', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PROTRUSION', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.RIB_TOP', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.ROUNDED_END', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.SLOT', - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.STEP'] * TYPEOF(mfds)) = 1)) OR - ((SIZEOF(QUERY(pdr <* get_property_definition_representations (mfd) | - ( 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0)) ) ) ) = 0; -END_RULE; - -(* Implicit interfaced from: External_properties_mim *) - RULE external_version_assignments_are_valid FOR (applied_external_identification_assignment); - WHERE - WR1: SIZEOF(QUERY(aia <* applied_external_identification_assignment | - NOT external_version_assignment_is_valid(aia)))=0; - END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE restrict_alternative_definition FOR (product_definition); - LOCAL - solution_definitions: SET OF product_definition := []; - END_LOCAL; - solution_definitions := QUERY( pd <* product_definition | - (pd.frame_of_reference.name = 'alternative definition')); - WHERE - WR1: SIZEOF ( QUERY ( pd <* solution_definitions | - ( SIZEOF ( QUERY ( pdr <* USEDIN ( pd , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | - pdr.name = 'solution alternative definition' ) ) <>1 ) ) ) = 0; - WR2: SIZEOF ( QUERY ( pd <* solution_definitions | - NOT ( pd.name IN ['technical' , 'supplier' , 'technical supplier' , ''] ) ) ) = 0; - WR3: SIZEOF ( QUERY ( pd <* solution_definitions | - ( pd.name IN ['supplier' , 'technical supplier'] ) AND ( - SIZEOF ( QUERY ( aoa <* USEDIN ( pd.formation , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS' ) | - aoa.role.name = 'supplier' )) <>1 ) )) = 0; - END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE solution_definition_requires_solution_category FOR (product_definition); - LOCAL - solution_definitions: SET OF product_definition := []; - END_LOCAL; - solution_definitions := QUERY( pd <* product_definition | - (pd.frame_of_reference.name = 'alternative definition')); - WHERE - WR1: SIZEOF( QUERY( pd <* solution_definitions | - (SIZEOF( QUERY( prpc <* USEDIN(pd.formation.of_product, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | - prpc.name = 'alternative solution')) = 0 ) )) = 0; - END_RULE; - -(* Implicit interfaced from: Part_collection_mim *) - RULE restrict_collection_category FOR (product_definition); - LOCAL - collection_definitions: SET OF product_definition := []; - END_LOCAL; - collection_definitions := QUERY( pd <* product_definition | - SIZEOF( QUERY( pdca <* USEDIN( pd, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | - pdca.frame_of_reference.name= 'collection definition')) > 0 ); - WHERE - WR1: SIZEOF( QUERY( pd <* collection_definitions | - NOT ('collection' IN categories_of_product(pd.formation.of_product)) ))= 0; - END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE alternative_solution_requires_solution_definition FOR (product_definition_formation); - LOCAL - solution_versions: SET OF product_definition_formation := []; - END_LOCAL; - solution_versions := QUERY( pdf <* product_definition_formation | - SIZEOF( QUERY( prpc <* USEDIN(pdf.of_product, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | - prpc.name = 'alternative solution')) = 1); - WHERE - WR1: SIZEOF( QUERY( pdf <* solution_versions | - SIZEOF( QUERY( pd <* USEDIN(pdf, 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION.FORMATION') | - pd.frame_of_reference.name = 'alternative definition')) <> 1))= 0; - END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE restrict_product_definitions_for_base_element FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr. name = 'solution alternative definition' ) AND - ( NOT( pdr. relating_product_definition.frame_of_reference.name - IN [ 'alternative definition' , 'functional definition' , 'conceptual definition' ] ) OR - ( pdr.related_product_definition.frame_of_reference.name<>'alternative definition' ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Part_collection_mim *) - RULE restrict_product_definitions_for_collection FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr. name = 'collection membership' ) AND - ( ( pdr.relating_product_definition.frame_of_reference.name<>'part definition' ) OR - ( pdr.related_product_definition.frame_of_reference.name<>'part occurrence' ) OR - ( SIZEOF ( QUERY ( pdca <* USEDIN (pdr.relating_product_definition , - 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | - ( pdca.role.name = 'part definition type' ) AND - ( pdca.frame_of_reference.name = 'collection definition' ) )) =0 ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Basic_data_representation_mim *) -(* E2: SUBTYPE_CONSTRAINT representation_item_subtypes FOR REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: External_currency_mim *) -(* E2: SUBTYPE_CONSTRAINT currency_subtypes FOR CURRENCY; *) - -(* Implicit interfaced from: Part_and_zone_laminate_tables_mim *) -(* E2: SUBTYPE_CONSTRAINT pos_product_definition_subtypes FOR PRODUCT_DEFINITION; *) - -(* Implicit interfaced from: Ply_orientation_specification_mim *) -(* E2: SUBTYPE_CONSTRAINT pos_compound_representation_item_subtypes FOR COMPOUND_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: Change_management_mim *) -(* E2: SUBTYPE_CONSTRAINT cm_group_subtypes FOR GROUP; *) - -(* Implicit interfaced from: Change_management_mim *) -(* E2: SUBTYPE_CONSTRAINT cm_group_assignment_subtypes FOR GROUP_ASSIGNMENT; *) - -(* Implicit interfaced from: presentation_appearance_schema *) -(* E2: SUBTYPE_CONSTRAINT founded_item_subtypes FOR FOUNDED_ITEM; *) - -(* Implicit interfaced from: Appearance_assignment_mim *) -(* E2: SUBTYPE_CONSTRAINT aa_representation_item_subtypes FOR REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: Document_assignment_mim *) -(* E2: SUBTYPE_CONSTRAINT subtype_mandatory_document_product_association FOR DOCUMENT_PRODUCT_ASSOCIATION; *) - -(* Implicit interfaced from: aic_machining_feature *) -(* E2: SUBTYPE_CONSTRAINT machining_feature_definition_subtypes FOR FEATURE_DEFINITION; *) - -(* Implicit interfaced from: kinematic_analysis_control_and_result_schema *) -(* E2: SUBTYPE_CONSTRAINT link_motion_representation_along_path_subtypes FOR LINK_MOTION_REPRESENTATION_ALONG_PATH; *) - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* E2: SUBTYPE_CONSTRAINT sads_shape_aspect_subtypes FOR SHAPE_ASPECT; *) - -(* Implicit interfaced from: presentation_organization_schema *) -(* E2: SUBTYPE_CONSTRAINT pos_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: presentation_definition_schema *) -(* E2: SUBTYPE_CONSTRAINT pds_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* E2: SUBTYPE_CONSTRAINT ap242_founded_item_subtypes FOR FOUNDED_ITEM; *) - -(* Implicit interfaced from: draughting_element_schema *) -(* E2: SUBTYPE_CONSTRAINT annotation_occurrence_subtypes FOR ANNOTATION_OCCURRENCE; *) - -(* Implicit interfaced from: draughting_element_schema *) -(* E2: SUBTYPE_CONSTRAINT annotation_curve_subtypes FOR ANNOTATION_CURVE_OCCURRENCE; *) - -(* Implicit interfaced from: Characteristic_mim *) -(* E2: SUBTYPE_CONSTRAINT c_compound_representation_item_subtypes FOR COMPOUND_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: Tagged_text_representation_mim *) -(* E2: SUBTYPE_CONSTRAINT ttr_descriptive_representation_item_subtypes FOR DESCRIPTIVE_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: kinematic_motion_representation_schema *) -(* E2: SUBTYPE_CONSTRAINT kmr_representation_subtypes FOR REPRESENTATION; *) - -(* Implicit interfaced from: kinematic_motion_representation_schema *) -(* E2: SUBTYPE_CONSTRAINT kmr_geometric_representation_context_subtypes FOR GEOMETRIC_REPRESENTATION_CONTEXT; *) - -(* Implicit interfaced from: kinematic_motion_representation_schema *) -(* E2: SUBTYPE_CONSTRAINT kmr_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: presentation_appearance_schema *) -(* E2: SUBTYPE_CONSTRAINT pas_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: presentation_resource_schema *) -(* E2: SUBTYPE_CONSTRAINT prs_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: kinematic_structure_schema *) -(* E2: SUBTYPE_CONSTRAINT kss_representation_subtypes FOR REPRESENTATION; *) - -(* Implicit interfaced from: kinematic_property_schema *) -(* E2: SUBTYPE_CONSTRAINT kps_property_definition_subtypes FOR PROPERTY_DEFINITION; *) - -(* Implicit interfaced from: kinematic_state_schema *) -(* E2: SUBTYPE_CONSTRAINT kss_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: kinematic_topology_schema *) -(* E2: SUBTYPE_CONSTRAINT kts_representation_subtypes FOR REPRESENTATION; *) - -(*** 2003=>1994 conversion: insert a rule to control if instances are legal according to USE/REF clauses ***) - -RULE validate_dependently_instantiable_entity_data_types FOR - (abstracted_expression_function,action_method_role,action_resource_type,application_defined_function,atom_based_literal,attribute_value_role,b_spline_basis,b_spline_function,basic_sparse_matrix,binary_literal,camera_model_d2,cartesian_complex_number_region,cartesian_transformation_operator,complex_number_literal,concept_feature_relationship,concept_feature_relationship_with_condition,constant_function,definite_integral_expression,definite_integral_function,document_usage_constraint,edge_blended_solid,effectivity_context_role,elementary_function,event_occurrence_role,explicit_procedural_representation_item_relationship,explicit_table_function,expression_denoted_function,extended_tuple_space,externally_listed_data,finite_function,founded_item,function_application,function_space,general_linear_function,homogeneous_linear_function,imported_curve_function,imported_point_function,imported_surface_function,imported_volume_function,indirectly_selected_elements,integer_tuple_literal,linearized_table_function,listed_data,maths_enum_literal,maths_function,maths_tuple_literal,modified_solid_with_placed_configuration,one_direction_repeat_factor,oriented_open_shell,oriented_path,parallel_composed_function,partial_derivative_expression,partial_derivative_function,polar_complex_number_region,procedural_representation,procedural_representation_sequence,product_definition_effectivity,quantifier_expression,rationalize_function,real_tuple_literal,reindexed_array_function,repackaging_function,restriction_function,runout_zone_orientation,selector_function,series_composed_function,solid_with_depression,solid_with_hole,solid_with_pocket,solid_with_protrusion,solid_with_shape_element_pattern,solid_with_slot,swept_area_solid,symbol_target,two_direction_repeat_factor,user_selected_elements,volume -- - ); -LOCAL - number_of_input_instances : INTEGER; - previous_in_chain : LIST OF GENERIC := []; - set_of_input_types : SET OF STRING := []; - all_instances : SET OF GENERIC := []; -END_LOCAL; - - all_instances := all_instances + abstracted_expression_function; - all_instances := all_instances + action_method_role; - all_instances := all_instances + action_resource_type; - all_instances := all_instances + application_defined_function; - all_instances := all_instances + atom_based_literal; - all_instances := all_instances + attribute_value_role; - all_instances := all_instances + b_spline_basis; - all_instances := all_instances + b_spline_function; - all_instances := all_instances + basic_sparse_matrix; - all_instances := all_instances + binary_literal; - all_instances := all_instances + camera_model_d2; - all_instances := all_instances + cartesian_complex_number_region; - all_instances := all_instances + cartesian_transformation_operator; - all_instances := all_instances + complex_number_literal; - all_instances := all_instances + concept_feature_relationship; - all_instances := all_instances + concept_feature_relationship_with_condition; - all_instances := all_instances + constant_function; - all_instances := all_instances + definite_integral_expression; - all_instances := all_instances + definite_integral_function; - all_instances := all_instances + document_usage_constraint; - all_instances := all_instances + edge_blended_solid; - all_instances := all_instances + effectivity_context_role; - all_instances := all_instances + elementary_function; - all_instances := all_instances + event_occurrence_role; - all_instances := all_instances + explicit_procedural_representation_item_relationship; - all_instances := all_instances + explicit_table_function; - all_instances := all_instances + expression_denoted_function; - all_instances := all_instances + extended_tuple_space; - all_instances := all_instances + externally_listed_data; - all_instances := all_instances + finite_function; - all_instances := all_instances + founded_item; - all_instances := all_instances + function_application; - all_instances := all_instances + function_space; - all_instances := all_instances + general_linear_function; - all_instances := all_instances + homogeneous_linear_function; - all_instances := all_instances + imported_curve_function; - all_instances := all_instances + imported_point_function; - all_instances := all_instances + imported_surface_function; - all_instances := all_instances + imported_volume_function; - all_instances := all_instances + indirectly_selected_elements; - all_instances := all_instances + integer_tuple_literal; - all_instances := all_instances + linearized_table_function; - all_instances := all_instances + listed_data; - all_instances := all_instances + maths_enum_literal; - all_instances := all_instances + maths_function; - all_instances := all_instances + maths_tuple_literal; - all_instances := all_instances + modified_solid_with_placed_configuration; - all_instances := all_instances + one_direction_repeat_factor; - all_instances := all_instances + oriented_open_shell; - all_instances := all_instances + oriented_path; - all_instances := all_instances + parallel_composed_function; - all_instances := all_instances + partial_derivative_expression; - all_instances := all_instances + partial_derivative_function; - all_instances := all_instances + polar_complex_number_region; - all_instances := all_instances + procedural_representation; - all_instances := all_instances + procedural_representation_sequence; - all_instances := all_instances + product_definition_effectivity; - all_instances := all_instances + quantifier_expression; - all_instances := all_instances + rationalize_function; - all_instances := all_instances + real_tuple_literal; - all_instances := all_instances + reindexed_array_function; - all_instances := all_instances + repackaging_function; - all_instances := all_instances + restriction_function; - all_instances := all_instances + runout_zone_orientation; - all_instances := all_instances + selector_function; - all_instances := all_instances + series_composed_function; - all_instances := all_instances + solid_with_depression; - all_instances := all_instances + solid_with_hole; - all_instances := all_instances + solid_with_pocket; - all_instances := all_instances + solid_with_protrusion; - all_instances := all_instances + solid_with_shape_element_pattern; - all_instances := all_instances + solid_with_slot; - all_instances := all_instances + swept_area_solid; - all_instances := all_instances + symbol_target; - all_instances := all_instances + two_direction_repeat_factor; - all_instances := all_instances + user_selected_elements; - all_instances := all_instances + volume; -;-- -number_of_input_instances := SIZEOF(all_instances); -(* Collect all type strings of all FOR instances into one set. *) -REPEAT i:=1 TO number_of_input_instances; - set_of_input_types := set_of_input_types + TYPEOF(all_instances[i]); -END_REPEAT; - -WHERE - WR1: dependently_instantiated(all_instances, set_of_input_types, - previous_in_chain); -END_RULE; - -FUNCTION dependently_instantiated( - set_of_input_instances : SET OF GENERIC:igen; - set_of_input_types : SET OF STRING; - previous_in_chain : LIST OF GENERIC:cgen): BOOLEAN; -(*'dependently_instantiated' To test whether all instances in the - input set_of_input_instances are referenced by independently - instantiable instances. If so, this function returns true. - Set_of_input_types includes the type strings for all input instances. - The instances in previous_in_chain are used to detect cyclic - references during recursive calls to this function. The parameter - lists already tested instances in a chain of references. -*) -LOCAL - number_of_input_instances : INTEGER; - number_of_referring_instances : INTEGER; - bag_of_referring_instances : BAG OF GENERIC:igen := []; - dependently_instantiated_flag : BOOLEAN; - previous_in_chain_plus : LIST OF GENERIC:cgen := []; - result : BOOLEAN := true; - set_of_types : SET OF STRING := []; -END_LOCAL; - -IF EXISTS(set_of_input_instances) THEN - number_of_input_instances := SIZEOF(set_of_input_instances); - (* Add the declared type of bag_of_referring_instances to the set of - types of the REFERENCEd instances for the subset comparison later. - *) - set_of_input_types := set_of_input_types + 'GENERIC'; - REPEAT i:=1 TO number_of_input_instances; - (* Determine all references to the current input instance. *) - bag_of_referring_instances := USEDIN (set_of_input_instances[i] , ''); - IF EXISTS(bag_of_referring_instances) THEN - number_of_referring_instances := SIZEOF(bag_of_referring_instances); - dependently_instantiated_flag := false; - REPEAT j:=1 TO number_of_referring_instances; - (* Determine the type strings of the current referencing instance. - *) - set_of_types := TYPEOF(bag_of_referring_instances[j]); - (* If the referencing instance is of one of the types of the - only dependently instantiable select items, the current input - instance may still be invalidly instantiated. - Otherwise it is OK, and the next input instance is tested. - *) - IF set_of_types <= set_of_input_types THEN -- subset operator - (* The referring instance is of one of the restricted types. - However, it may itself be referred to by a valid instance; - then also the current instance would be valid. - Thus, call this function recursively with the referring - instance as input. - To avoid an infinite loop in case a set of instances - reference each other in a closed loop, test first whether - the current referencing instance is in the list of - previously processed chain members. - *) - IF NOT (bag_of_referring_instances[j] IN previous_in_chain) THEN - previous_in_chain_plus := previous_in_chain + - set_of_input_instances[i]; - IF dependently_instantiated([bag_of_referring_instances[j]], - set_of_input_types, - previous_in_chain_plus) THEN - dependently_instantiated_flag := true; - ESCAPE; -- dependently instantiated; next input instance - ELSE - (* Not dependently instantiated: go to next referring - instance. *) - SKIP; - END_IF; - END_IF; - ELSE - dependently_instantiated_flag := true; - ESCAPE; -- dependently instantiated; take next input instance - END_IF; - END_REPEAT; - IF NOT dependently_instantiated_flag THEN - RETURN(false); - END_IF; - ELSE - RETURN(false); -- not referenced at all => invalidly instantiated - END_IF; - END_REPEAT; -ELSE - RETURN(false); -- no input -END_IF; - -RETURN(true); -END_FUNCTION; -- end dependently_instantiated - - - -END_SCHEMA; - diff --git a/data/wip210e3/210e3_v1_47_mim_lf.exp b/data/wip210e3/210e3_v1_47_mim_lf.exp deleted file mode 100644 index 3a2a16ff6..000000000 --- a/data/wip210e3/210e3_v1_47_mim_lf.exp +++ /dev/null @@ -1,42198 +0,0 @@ -(* - $Id: mim_lf.exp,v 1.47 2013/02/20 15:32:31 thomasrthurman Exp $ - ISO TC184/SC4/WG3 8232 - ISO/TS 10303-410 AP210 electronic assembly interconnect and packaging design - EXPRESS MIM Long form - Supersedes ISO TC184/SC4/WG3 N2601 -*) - -(* ===================================================================================== *) -(* Long form schema generated by The EXPRESS Data Manager compiler version 9.8.3B 20121030*) -(* Tue Feb 19 19:27:56 2013 *) -(* The schema is converted from ISO10303 P11-2003 to ISO10303 P11-1994 *) -(* ===================================================================================== *) - -SCHEMA Ap210_electronic_assembly_interconnect_and_packaging_design_mim_LF; - - -(* - USE FROM Ap242_managed_model_based_3d_engineering_mim; - - USE FROM Assembly_2d_shape_mim; - USE FROM Assembly_3d_shape_mim; - USE FROM Assembly_module_with_cable_component_2d_mim; - USE FROM Assembly_module_with_cable_component_3d_mim; - USE FROM Assembly_module_with_macro_component_mim; - USE FROM Assembly_physical_requirement_allocation_mim; - USE FROM Connectivity_allocation_to_physical_network_mim; - USE FROM Datum_difference_based_model_mim; - USE FROM Design_specific_assignment_to_assembly_usage_view_mim; - USE FROM Design_specific_assignment_to_interconnect_usage_view_mim; - USE FROM Device_marking_mim; - USE FROM Electrical_network_definition_mim; - USE FROM Fabrication_requirement_mim; - USE FROM Functional_decomposition_to_assembly_design_mim; - USE FROM Functional_decomposition_to_interconnect_design_mim; - USE FROM Functional_unit_requirement_allocation_mim; - USE FROM Interconnect_2d_shape_mim; - USE FROM Interconnect_module_to_assembly_module_relationship_mim; - USE FROM Interconnect_non_planar_shape_mim; - USE FROM Interconnect_placement_requirements_mim; - USE FROM Layered_interconnect_module_2d_design_mim; - USE FROM Layered_interconnect_module_3d_design_mim; - USE FROM Layout_macro_definition_mim; - USE FROM Packaged_part_white_box_model_mim; - USE FROM Part_feature_grouping_mim; - USE FROM Physical_node_requirement_to_implementing_component_allocation_mim; - USE FROM Physical_unit_interconnect_definition_mim; - USE FROM Pre_defined_datum_symbol_mim; - USE FROM Sequential_laminate_assembly_design_mim; - USE FROM Test_requirement_allocation_mim; - USE FROM Thermal_network_definition_mim; - USE FROM Via_component_mim; - USE FROM Interconnect_physical_requirement_allocation_mim; - - - REFERENCE FROM support_resource_schema(bag_to_set); - - USE FROM geometry_schema(offset_curve_2d); -*) - -CONSTANT -schema_date : STRING := 'Wed Feb 20 8:31:01 2013'; - -(* Implicit interfaced from: mathematical_functions_schema *) - the_nonnegative_reals : real_interval_from_min := - make_real_interval_from_min(0.0, closed); - -(* Implicit interfaced from: geometry_schema *) - dummy_gri : geometric_representation_item := representation_item('')|| geometric_representation_item(); - -(* Implicit interfaced from: mathematical_functions_schema *) schema_prefix : STRING := 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'; - -(* Implicit interfaced from: mathematical_functions_schema *) - the_empty_maths_tuple : maths_tuple := []; - -(* Implicit interfaced from: mathematical_functions_schema *) - the_empty_space : finite_space := make_finite_space([]); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_zero_tuple_space : listed_product_space := make_listed_product_space([]); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_reals : elementary_space := make_elementary_space(es_reals); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_generics); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_generics : elementary_space := make_elementary_space(es_generics); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_logicals : elementary_space := make_elementary_space(es_logicals); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_integers : elementary_space := make_elementary_space(es_integers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_integer_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_integers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_real_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_reals); - -(* Implicit interfaced from: Picture_representation_mim *) - pre_defined_picture_representation_types : SET [0:?] OF STRING := [ 'JPEG', 'PNG', 'TIFF', 'BMP', 'GIF']; - -(* Implicit interfaced from: mathematical_functions_schema *) - the_neg1_one_interval : finite_real_interval := make_finite_real_interval( - -1.0, closed, 1.0, closed); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_complex_numbers : elementary_space := make_elementary_space(es_complex_numbers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_complex_tuples : extended_tuple_space := make_extended_tuple_space( - the_zero_tuple_space, the_complex_numbers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_strings : elementary_space := make_elementary_space(es_strings); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_numbers : elementary_space := make_elementary_space(es_numbers); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_binarys : elementary_space := make_elementary_space(es_binarys); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_maths_spaces : elementary_space := make_elementary_space(es_maths_spaces); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_booleans : elementary_space := make_elementary_space(es_booleans); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_zero_pi_interval : finite_real_interval := make_finite_real_interval( - 0.0, closed, pi, closed); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_neghalfpi_halfpi_interval : finite_real_interval := make_finite_real_interval( - -0.5*pi, closed, 0.5*pi, closed); - -(* Implicit interfaced from: mathematical_functions_schema *) - the_negpi_pi_interval : finite_real_interval := make_finite_real_interval( - -pi, open, pi, closed); - -(* Implicit interfaced from: topology_schema *) - dummy_tri : topological_representation_item := representation_item('')|| - topological_representation_item(); - -END_CONSTANT; -(* USED FROM (measure_schema); *) -TYPE acceleration_measure = REAL; - END_TYPE; - -(* Pruned unused type: ap210_presented_item_select *) - - -(* Pruned unused type: property_variable_rep_select_242 *) - - -(* Pruned unused type: item_identified_representation_usage_definition_242 *) - - -(* Pruned unused type: draughting_model_item_definition_242 *) - - -(* Pruned unused type: ap242_change_management_object *) - - -(* Pruned unused type: ap242_change_relationship_select *) - - -(* Pruned unused type: action_request_item_242 *) - - -(* Pruned unused type: aliasable_item_242 *) - - -(* Pruned unused type: approval_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE approved_item = SELECT - (certification, - change, - change_request, - configuration_effectivity, - configuration_item, - contract, - product, - security_classification, - start_request, - start_work); - END_TYPE; - -(* Pruned unused type: attribute_language_item_242 *) - - -(* Pruned unused type: certification_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE certified_item = SELECT - (supplied_part_relationship); - END_TYPE; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE change_request_item = SELECT - (product_definition_formation); - END_TYPE; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE cc_classified_item = SELECT - (assembly_component_usage, - product_definition_formation); - END_TYPE; - -(* Pruned unused type: contract_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE contracted_item = SELECT - (product_definition_formation); - END_TYPE; - -(* Pruned unused type: date_and_time_item_242 *) - - -(* Pruned unused type: date_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE date_time_item = SELECT - (approval_person_organization, - certification, - change, - change_request, - contract, - product_definition, - security_classification, - start_request, - start_work); - END_TYPE; - -(* Pruned unused type: document_reference_item_242 *) - - -(* Pruned unused type: effectivity_item_242 *) - - -(* Pruned unused type: event_occurrence_item_242 *) - - -(* Pruned unused type: external_identification_item_242 *) - - -(* Pruned unused type: groupable_item_242 *) - - -(* Pruned unused type: identification_item_242 *) - - -(* Pruned unused type: multi_language_attribute_item_242 *) - - -(* Pruned unused type: organization_item_242 *) - - -(* Pruned unused type: organizational_project_item_242 *) - - -(* Pruned unused type: person_and_organization_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE cc_person_organization_item = SELECT - (change, - change_request, - configuration_item, - contract, - product, - product_definition, - product_definition_formation, - security_classification, - start_request, - start_work); - END_TYPE; - -(* Pruned unused type: presented_item_select_242 *) - - -(* Pruned unused type: security_classification_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE cc_specified_item = SELECT - (product_definition, - shape_aspect); - END_TYPE; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE start_request_item = SELECT - (product_definition_formation); - END_TYPE; - -(* Pruned unused type: time_interval_item_242 *) - - -(* Pruned unused type: action_items_242 *) - - -(* Pruned unused type: classification_item_242 *) - - -(* Pruned unused type: configured_effectivity_item_242 *) - -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - TYPE work_item = SELECT - (product_definition_formation); - END_TYPE; - -(* Pruned unused type: apra_groupable_item *) - - -(* Pruned unused type: apra_requirement_assigned_item *) - - -(* Pruned unused type: device_marking_approval_item *) - - -(* Pruned unused type: device_marking_organization_item *) - - -(* Pruned unused type: device_marking_document_reference_item *) - - -(* Pruned unused type: fura_requirement_assigned_item *) - - -(* Pruned unused type: imtamr_requirement_assigned_item *) - - -(* Pruned unused type: imtamr_document_reference_item *) - - -(* Pruned unused type: ipr_groupable_item *) - - -(* Pruned unused type: ipr_requirement_assigned_item *) - - -(* Pruned unused type: slad_groupable_item *) - - -(* Pruned unused type: slad_requirement_assigned_item *) - - -(* Pruned unused type: tra_groupable_item *) - - -(* Pruned unused type: tra_requirement_assigned_item *) - -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE inspected_ecdq_element_select = inspected_element_select; -END_TYPE; - - -(* Pruned unused type: csg2d_bounded_primitive_2d *) - -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE boolean_operand_2d = SELECT ( - bounded_primitive_2d, - boolean_result_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE compound_inner_area_boundary = SELECT ( - set_inner_area_boundary); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE csg_2d_area_select = SELECT ( - axis2_placement_2d, - csg_primitive_solid_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE csg_2d_shape_select = SELECT ( - mapped_item, - axis2_placement_2d, - csg_solid_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE csg_select_2d = SELECT ( - bounded_primitive_2d, - boolean_result_2d); - END_TYPE; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - TYPE set_inner_area_boundary = SET [1:?] OF bounded_primitive_2d; - END_TYPE; - -(* Pruned unused type: dt_document_reference_item *) - - -(* Pruned unused type: design_pdm_action_item *) - - -(* Pruned unused type: design_pdm_action_method_items *) - - -(* Pruned unused type: design_pdm_action_request_item *) - - -(* Pruned unused type: design_pdm_approval_item *) - - -(* Pruned unused type: design_pdm_attribute_classification_item *) - - -(* Pruned unused type: design_pdm_attribute_language_item *) - - -(* Pruned unused type: design_pdm_certification_item *) - - -(* Pruned unused type: design_pdm_classification_item *) - - -(* Pruned unused type: design_pdm_configured_effectivity_item *) - - -(* Pruned unused type: design_pdm_contract_item *) - - -(* Pruned unused type: design_pdm_date_and_time_item *) - - -(* Pruned unused type: design_pdm_date_item *) - - -(* Pruned unused type: design_pdm_document_reference_item *) - - -(* Pruned unused type: design_pdm_effectivity_item *) - - -(* Pruned unused type: design_pdm_event_occurrence_item *) - - -(* Pruned unused type: design_pdm_groupable_item *) - - -(* Pruned unused type: design_pdm_identification_item *) - - -(* Pruned unused type: design_pdm_ir_usage_item *) - - -(* Pruned unused type: design_pdm_multi_language_attribute_item *) - - -(* Pruned unused type: design_pdm_name_item *) - - -(* Pruned unused type: design_pdm_organization_item *) - - -(* Pruned unused type: design_pdm_project_item *) - - -(* Pruned unused type: design_pdm_person_and_organization_item *) - - -(* Pruned unused type: design_pdm_requirement_assigned_item *) - - -(* Pruned unused type: design_pdm_requirement_source_item *) - - -(* Pruned unused type: design_pdm_security_classification_item *) - - -(* Pruned unused type: promissory_usage_in_product_model_assigned_item *) - - -(* Pruned unused type: design_pdm_time_interval_item *) - - -(* Pruned unused type: datc_draughting_model_item_definition *) - - -(* Pruned unused type: dimensioning_standard_document_reference_item *) - - -(* Pruned unused type: dimension_identification_item *) - - -(* Pruned unused type: dimension_tolerance_document_reference_item *) - - -(* Pruned unused type: eri_external_identification *) - -(* USED FROM (Mechanical_design_presentation_representation_with_draughting_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE mechanical_design_and_draughting_relationship_select = SELECT ( - draughting_model, - mechanical_design_geometric_presentation_representation, - mechanical_design_presentation_representation_with_draughting, - mechanical_design_shaded_presentation_representation, - shape_representation); -END_TYPE; - -(* USED FROM (Picture_representation_mim); *) - TYPE picture_representation_item_select = SELECT ( - styled_item, - planar_box, - axis2_placement_2d); - END_TYPE; - -(* Pruned unused type: pr_external_identification_item *) - - -(* Pruned unused type: pc_action_items *) - -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE angle_direction_reference_select = SELECT ( - direction, - curve, - point_path); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE angle_direction_reference_with_a2p3d_select = SELECT ( - angle_direction_reference_select, - axis2_placement_3d); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE orientation_basis_select = SELECT ( - axis2_placement_3d, - min_and_major_ply_orientation_basis); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE point_and_vector_member = SELECT (point, direction); - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE point_and_vector_members = LIST [2:3] OF point_and_vector_member; - END_TYPE; -(* USED FROM (Ply_orientation_specification_mim); *) - TYPE point_path_members = LIST [1:?] OF point_and_vector; - END_TYPE; - -(* Pruned unused type: mb3dgdtr_geometric_model_item *) - - -(* Pruned unused type: cm_approval_item *) - -(* USED FROM (Change_management_mim); *) -TYPE previous_element_assignment_select = SELECT (modify_element, delete_element); -END_TYPE; -(* USED FROM (Change_management_mim); *) -TYPE current_element_assignment_select = SELECT (modify_element, add_element); -END_TYPE; -(* USED FROM (Change_management_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE change_relationship_select = SELECT ( - action_relationship, - product_definition_formation_relationship, - product_definition_relationship, - shape_aspect_relationship); -END_TYPE; - -(* USED FROM (Change_management_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE change_management_object = SELECT ( - action, - action_directive, - action_items, - action_relationship, - alternate_product_relationship, - analog_port_variable, - analytical_model_definition, - analytical_model_make_from_relationship, - analytical_model_port, - analytical_model_port_assignment, - analytical_representation, - applied_approval_assignment, - applied_date_and_time_assignment, - applied_document_reference, - applied_external_identification_assignment, - applied_group_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - approval, - approval_status, - assembly_bond_definition, - assembly_component, - assembly_component_usage, - assembly_component_usage_substitute, - assembly_group_component_definition_placement_link, - assembly_joint, - bus_element_link, - bus_structural_definition, - calendar_date, - certification, - characterized_object, - class, - complex_clause, - component_2d_location, - component_3d_location, - component_definition, - component_feature, - component_feature_relationship, - component_functional_terminal, - component_functional_unit, - component_terminal, - composite_curve_segment, - composite_signal_property_relationship, - conductive_interconnect_element_terminal_link, - configuration_effectivity, - configuration_item, - connection_zone_interface_plane_relationship, - connection_zone_map_identification, - connector_based_interconnect_definition, - contract, - curve_style, - curve_style_font, - curve_style_font_and_scaling, - curve_style_parameters_representation, - date, - date_and_time, - datum, - datum_difference_functional_unit_usage_view_terminal_assignment, - descriptive_representation_item, - design_composition_path, - device_terminal_map, - dielectric_crossover_area, - dimension_related_tolerance_zone_element, - dimensional_characteristic_representation, - dimensional_location, - dimensional_size, - direct_stratum_component_join_implementation, - direction, - document, - document_usage_constraint, - draughting_pre_defined_text_font, - effectivity, - evaluated_characteristic, - event_occurrence, - externally_defined_curve_font, - externally_defined_hatch_style, - externally_defined_item, - externally_defined_text_font, - externally_defined_tile_style, - fabrication_joint, - fill_area_style_hatching, - fill_area_style_tiles, - frozen_assignment, - func, - functional_specification, - functional_terminal_group, - functional_unit_terminal_definition, - general_property_relationship, - geometric_representation_context, - geometric_representation_item, - geometric_tolerance, - geometric_tolerance_relationship, - group, - group_product_definition, - group_shape_aspect, - interface_mounted_join, - item_defined_transformation, - join_shape_aspect, - layer_connection_point, - layout_junction, - linear_array_component_definition_link, - make_from_connectivity_relationship, - make_from_feature_relationship, - make_from_usage_option, - mapped_item, - material_designation, - measure_qualification, - measure_with_unit, - model_parameter, - network_node_definition, - operational_requirement_relationship, - organization, - packaged_connector_terminal_relationship, - parameter_assignment, - parameter_assignment_override, - part_connected_terminals_definition, - passage_technology, - person, - person_and_organization, - physical_connectivity_definition, - physical_connectivity_element, - physical_network, - physical_node_requirement_to_implementing_component_allocation, - plated_inter_stratum_feature, - plus_minus_tolerance, - pre_defined_item, - predefined_requirement_view_definition, - presentation_style_assignment, - printed_connector_template_terminal_relationship, - printed_part_template_connected_terminals_definition, - printed_part_template_material, - printed_part_template_material_link, - product, - product_category, - product_concept, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_with_associated_documents, - product_specific_parameter_value_assignment, - project_item, - projected_zone_definition, - promissory_usage_occurrence, - property_definition, - property_definition_relationship, - property_definition_representation, - range_characteristic, - reference_composition_path, - representation, - representation_context, - representation_item, - representation_relationship, - representation_relationship_with_transformation, - requirement_assignment, - rule_action, - runout_zone_orientation_reference_direction, - scalar_terminal_definition_link, - security_classification, - sequential_laminate_passage_based_fabrication_joint, - shape_aspect, - shape_aspect_relationship, - shape_dimension_representation, - shape_representation, - shape_representation_relationship, - signal, - simple_clause, - solid_curve_font, - specified_higher_usage_occurrence, - stratum_feature_based_derived_pattern, - stratum_feature_conductive_join, - stratum_surface, - stratum_technology, - stratum_technology_occurrence_link, - styled_item, - text_font, - tolerance_value, - tolerance_zone_definition, - tolerance_zone_form, - usage_view_connection_zone_terminal_shape_relationship, - vector, - versioned_action_request); -END_TYPE; - -(* USED FROM (Change_management_mim); *) -TYPE location_in_aggregate_item = LIST [1:?] OF integer_representation_item; -END_TYPE; -(* USED FROM (Point_direction_model_mim); *) -TYPE point_placement_shape_representation_item = SELECT ( - compound_representation_item, - mapped_item, - axis2_placement_3d); -END_TYPE; -(* USED FROM (Numerical_interface_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE property_variable_rep_select = SELECT ( - dimensional_size, - representation); -END_TYPE; - -(* USED FROM (Numerical_interface_mim); *) -TYPE expression_extension_select = SELECT ( - expression_extension_string, - expression_extension_numeric); -END_TYPE; -(* USED FROM (product_property_representation_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE item_identified_representation_usage_definition = SELECT ( - applied_action_assignment, - applied_action_method_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_classification_assignment, - applied_contract_assignment, - applied_date_and_time_assignment, - applied_date_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_group_assignment, - applied_identification_assignment, - applied_ineffectivity_assignment, - applied_name_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - applied_time_interval_assignment, - applied_usage_right, - dimensional_size, - geometric_tolerance, - product_definition_relationship, - property_definition, - represented_definition); -END_TYPE; - - -(* Pruned unused type: at_requirement_assigned_item *) - - -(* Pruned unused type: at_external_identification_item *) - - -(* Pruned unused type: pu3ds_external_identification_item *) - - -(* Pruned unused type: apir_requirement_assigned_item *) - - -(* Pruned unused type: apir_document_reference_item *) - - -(* Pruned unused type: afir_document_reference_item *) - - -(* Pruned unused type: ap_external_identification_item *) - - -(* Pruned unused type: ap_document_reference_item *) - - -(* Pruned unused type: p_groupable_item *) - - -(* Pruned unused type: pa_external_identification_item *) - - -(* Pruned unused type: pplt_groupable_item *) - - -(* Pruned unused type: fdwnrtpm_groupable_item *) - - -(* Pruned unused type: limd_requirement_assigned_item *) - - -(* Pruned unused type: limd_external_identification_item *) - - -(* Pruned unused type: limd_document_reference_item *) - - -(* Pruned unused type: limd_groupable_item *) - - -(* Pruned unused type: fuuv_classification_item *) - - -(* Pruned unused type: nfuv_groupable_item *) - - -(* Pruned unused type: list_external_identification_item *) - -(* USED FROM (Approval_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE approval_item = SELECT ( - action, - action_directive, - action_property, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_usage_right, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - date, - directed_action, - document, - document_file, - draughting_model, - drawing_revision, - effectivity, - executed_action, - frozen_assignment, - general_property, - general_property_relationship, - group, - group_relationship, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organizational_project, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - representation, - requirement_assignment, - resource_property, - security_classification, - shape_aspect_relationship, - shape_representation, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: date_and_time_item_approval *) - - -(* Pruned unused type: date_item_approval *) - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE role_select = SELECT ( - action_assignment, - action_request_assignment, - approval_assignment, - approval_date_time, - certification_assignment, - contract_assignment, - document_reference, - effectivity_assignment, - group_assignment, - name_assignment, - security_classification_assignment); -END_TYPE; - -(* USED FROM (Date_time_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE date_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval_person_organization, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - directed_action, - document, - document_file, - draughting_model, - drawing_revision, - effectivity, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Date_time_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE date_and_time_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval_person_organization, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - directed_action, - document, - document_file, - draughting_model, - drawing_revision, - effectivity, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - rule_action, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: ipra_requirement_assigned_item *) - - -(* Pruned unused type: lict_requirement_assigned_item *) - - -(* Pruned unused type: nfdv_requirement_assigned_item *) - - -(* Pruned unused type: ft_classification_item *) - - -(* Pruned unused type: ft_external_identification_item *) - - -(* Pruned unused type: ft_document_reference_item *) - - -(* Pruned unused type: ft_requirement_assigned_item *) - - -(* Pruned unused type: cf_groupable_item *) - -(* USED FROM (Requirement_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE requirement_assigned_item = SELECT ( - assembly_component_usage, - assembly_item_number, - assembly_joint, - component_functional_unit, - component_material_relationship, - configuration_item, - derived_laminate_assignment, - descriptive_representation_item, - dielectric_crossover_area, - group, - group_product_definition, - group_relationship, - group_shape_aspect, - layered_interconnect_module_design_view, - part_connected_terminals_definition, - part_connected_terminals_element, - passage_technology, - physical_connectivity_definition, - predefined_requirement_view_definition, - product, - product_class, - product_definition, - product_definition_formation, - product_definition_relationship, - representation, - shape_aspect, - shape_aspect_relationship, - shape_representation, - stratum_feature_conductive_join, - stratum_technology, - stratum_technology_occurrence, - stratum_technology_occurrence_relationship, - structured_template, - thermal_isolation_removal_template); -END_TYPE; - -(* USED FROM (Requirement_assignment_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE requirement_satisfaction_item = SELECT ( - requirement_assigned_item); -END_TYPE; - -(* USED FROM (Requirement_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE requirement_source_item = SELECT ( - characterized_object, - group, - group_relationship, - product, - product_definition, - product_definition_formation, - product_definition_relationship, - shape_aspect); -END_TYPE; - - -(* Pruned unused type: pie_external_identification_item *) - - -(* Pruned unused type: fdtd_change_management_object *) - - -(* Pruned unused type: fdtd_groupable_item *) - - -(* Pruned unused type: limwpcd_external_identification_item *) - -(* USED FROM (representation_schema); *) - TYPE compound_item_definition = SELECT - (list_representation_item, - set_representation_item); - END_TYPE; -(* USED FROM (representation_schema); *) - TYPE list_representation_item = LIST [1:?] OF representation_item; - END_TYPE; -(* USED FROM (Physical_unit_design_view_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE component_material_relationship_assignment_item = SELECT ( - assembly_component_usage, - assembly_item_number, - specification_definition); -END_TYPE; - - -(* Pruned unused type: pudv_groupable_item *) - - -(* Pruned unused type: pudv_requirement_assigned_item *) - - -(* Pruned unused type: imcr_requirement_assigned_item *) - - -(* Pruned unused type: fatp_groupable_item *) - - -(* Pruned unused type: fatp_requirement_assigned_item *) - - -(* Pruned unused type: puuv_groupable_item *) - - -(* Pruned unused type: puuv_requirement_assigned_item *) - - -(* Pruned unused type: puuv_document_reference_item *) - - -(* Pruned unused type: pcd_groupable_item *) - - -(* Pruned unused type: pcd_requirement_assigned_item *) - - -(* Pruned unused type: pcd_document_reference_item *) - - -(* Pruned unused type: am_document_reference_item *) - - -(* Pruned unused type: am_external_identification_item *) - - -(* Pruned unused type: am_parameter_assignment_select *) - - -(* Pruned unused type: mp_action_method_items *) - - -(* Pruned unused type: mp_groupable_item *) - - -(* Pruned unused type: mp_document_reference_item *) - -(* USED FROM (Model_parameter_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE parameter_assignment_select = SELECT ( - analytical_model_parameter, - model_parameter); -END_TYPE; - -(* USED FROM (Shape_property_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE geometric_model_item = SELECT ( - connected_face_set, - edge_loop, - geometric_representation_item); -END_TYPE; - -(* USED FROM (Shape_property_assignment_mim); *) -TYPE geometric_item_specific_usage_select = SELECT - (shape_aspect, - shape_aspect_relationship); -END_TYPE; -(* USED FROM (Shape_property_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE shape_model = SELECT ( - constructive_geometry_representation, - shape_representation); -END_TYPE; - - -(* Pruned unused type: dse_shape_model *) - -(* USED FROM (Construction_geometry_mim); *) - TYPE constructive_geometry_representation_or_shape_represenation = SELECT - (constructive_geometry_representation, - shape_representation); - END_TYPE; - -(* Pruned unused type: bc_external_identification_item *) - -(* USED FROM (External_item_identification_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE external_identification_item = SELECT ( - action_relationship, - action_request_status, - applied_organization_assignment, - applied_person_and_organization_assignment, - approval, - approval_status, - assembly_bond_definition, - assembly_component, - composite_signal_property_relationship, - date_and_time_assignment, - date_assignment, - digital_analytical_model_vector_port, - document_file, - external_source, - externally_defined_class, - externally_defined_context_dependent_unit, - externally_defined_conversion_based_unit, - externally_defined_general_property, - externally_defined_physical_network_group, - externally_defined_physical_network_group_element_relationship, - externally_defined_picture_representation_item, - externally_defined_representation_item, - functional_specification, - generic_product_definition_reference, - land_physical_template, - organizational_address, - package, - package_terminal_template_definition, - printed_component, - product_definition, - property_definition, - security_classification, - shape_representation, - signal, - stratum, - stratum_feature_based_derived_pattern, - stratum_technology, - trimmed_curve, - versioned_action_request); -END_TYPE; - -(* USED FROM (Document_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE document_reference_item = SELECT ( - action_directive, - action_method, - action_relationship, - analytical_model_definition, - applied_action_assignment, - applied_external_identification_assignment, - approval, - assembly_component, - assembly_component_usage, - certification, - characterized_class, - characterized_object, - class, - class_system, - component_feature, - configuration_design, - configuration_item, - contract, - descriptive_representation_item, - dimensional_size, - executed_action, - externally_conditioned_data_quality_criterion, - externally_defined_dimension_definition, - externally_defined_item, - feature_definition, - general_property, - group, - group_relationship, - information_right, - information_usage_right, - inter_stratum_feature, - material_designation, - measure_representation_item, - model_parameter, - organization, - organizational_project, - package_terminal, - passage_technology, - person, - physical_connectivity_definition, - physical_connectivity_element, - predefined_requirement_view_definition, - presentation_area, - process_plan, - product, - product_category, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_process, - product_definition_relationship, - product_definition_substitute, - product_related_product_category, - property_definition, - protocol_physical_layer_definition, - representation, - representation_item, - resource_requirement_type, - retention, - rule_set, - security_classification, - shape_aspect, - shape_aspect_relationship, - stratum, - stratum_feature, - stratum_surface, - stratum_technology, - structured_layout_component, - usage_association, - versioned_action_request); -END_TYPE; - -(* USED FROM (Identification_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE identification_item = SELECT ( - action, - action_directive, - action_method, - action_property, - applied_identification_assignment, - approval_status, - characterized_class, - class, - class_system, - configuration_item, - contract, - dimensional_size, - document_file, - document_type, - draughting_model, - effectivity, - general_property, - group, - group_relationship, - information_right, - information_usage_right, - material_designation, - measure_representation_item, - mechanical_design_geometric_presentation_representation, - organization, - organizational_project, - person_and_organization, - presentation_area, - product, - product_category, - product_class, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_formation, - product_definition_relationship, - product_identification, - property_definition, - property_definition_relationship, - representation, - rule_set, - security_classification, - security_classification_level, - shape_aspect_relationship, - shape_representation, - usage_association, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: sd_id_attribute_select *) - -(* USED FROM (shape_dimension_schema); *) -TYPE angle_relator = ENUMERATION OF - (equal, - large, - small); -END_TYPE; -(* USED FROM (shape_dimension_schema); *) -TYPE dimensional_characteristic = SELECT - (dimensional_location, - dimensional_size); -END_TYPE; - -(* Pruned unused type: sds_item_identified_representation_usage_definition *) - -(* USED FROM (shape_dimension_schema); *) -TYPE shape_dimension_representation_item = SELECT - (compound_representation_item, - descriptive_representation_item, - measure_representation_item, - placement); -END_TYPE; -(* USED FROM (shape_tolerance_schema); *) -TYPE tolerance_method_definition = SELECT - (limits_and_fits, - tolerance_value); -END_TYPE; -(* USED FROM (kinematic_motion_representation_schema); *) -TYPE interpolation_type = ENUMERATION OF - (undefined_interpolation_type, - discontinuous_interpolation_type, - synchronous_interpolation_type, - linear_interpolation_type); -END_TYPE; -(* USED FROM (shape_aspect_definition_schema); *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE simple_datum_reference_modifier = ENUMERATION OF ( - any_cross_section, - any_longitudinal_section, - basic, - contacting_feature, - degree_of_freedom_constraint_u, - degree_of_freedom_constraint_v, - degree_of_freedom_constraint_w, - degree_of_freedom_constraint_x, - degree_of_freedom_constraint_y, - degree_of_freedom_constraint_z, - distance_variable, - free_state, - least_material_requirement, - line, - major_diameter, - maximum_material_requirement, - minor_diameter, - orientation, - pitch_diameter, - plane, - point, - translation); -END_TYPE; - - -(* Pruned unused type: puswp_external_identification_item *) - - -(* Pruned unused type: puswp_requirement_assigned_item *) - - -(* Pruned unused type: pu2ds_external_identification_item *) - - -(* Pruned unused type: plt_groupable_item *) - - -(* Pruned unused type: effectivity_item_for_replacement *) - - -(* Pruned unused type: rd_document_reference_item *) - - -(* Pruned unused type: rd_groupable_item *) - - -(* Pruned unused type: rd_requirement_assigned_item *) - -(* USED FROM (Product_occurrence_mim); *) - TYPE product_definition_or_assembly_relationship = SELECT (assembly_component_usage, product_definition); - END_TYPE; -(* USED FROM (representation_schema); *) - TYPE set_representation_item = SET [1:?] OF representation_item; - END_TYPE; -(* USED FROM (geometric_model_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE bounded_primitive_2d = SELECT ( - area_with_outer_boundary, - circular_area, - elliptic_area, - path_area_with_parameters, - polygonal_area, - rectangular_area); -END_TYPE; - - -(* Pruned unused type: representation_identification_item *) - - -(* Pruned unused type: c_document_reference_item *) - - -(* Pruned unused type: el_external_identification_item *) - - -(* Pruned unused type: external_identification_for_plib_property *) - - -(* Pruned unused type: acpr_requirement_assigned_item *) - - -(* Pruned unused type: acpr_groupable_item *) - - -(* Pruned unused type: cma_classification_item *) - -(* USED FROM (Classification_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE classification_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - action_request_status, - address, - alternate_product_relationship, - applied_action_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_contract_assignment, - applied_date_and_time_assignment, - applied_date_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval, - approval_person_organization, - approval_relationship, - approval_status, - assembly_component_usage_substitute, - calendar_date, - certification, - characterized_class, - characterized_object, - class, - classified_item, - configuration_item, - context_dependent_unit, - contract, - conversion_based_unit, - date_and_time, - date_and_time_assignment, - date_assignment, - derived_unit, - descriptive_representation_item, - directed_action, - document_file, - document_relationship, - document_type, - effectivity, - event_occurrence, - executed_action, - feature_definition, - functional_unit_terminal_definition, - general_feature, - general_property, - general_property_relationship, - group, - identification_assignment, - information_right, - information_usage_right, - language, - material_designation, - measure_representation_item, - measure_with_unit, - multi_language_attribute_assignment, - named_unit, - organization, - organization_relationship, - organizational_address, - organizational_project, - organizational_project_relationship, - person, - person_and_organization_address, - plus_minus_tolerance, - process_operation, - product, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - property_definition, - property_definition_representation, - representation, - representation_context, - representation_item, - resource_property, - security_classification, - security_classification_level, - shape_aspect, - stratum_technology_occurrence_relationship, - uncertainty_measure_with_unit, - usage_association, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: fs_external_identification_item *) - - -(* Pruned unused type: fs_document_reference_item *) - - -(* Pruned unused type: s_external_identification_item *) - - -(* Pruned unused type: pr_action_items *) - - -(* Pruned unused type: pr_date_and_time_item *) - - -(* Pruned unused type: pr_document_reference_item *) - - -(* Pruned unused type: pr_identification_item *) - - -(* Pruned unused type: pr_organization_item *) - - -(* Pruned unused type: pr_person_and_organization_item *) - -(* USED FROM (Production_rule_mim); *) -TYPE rule_superseded_item = SELECT - (product_definition_formation); -END_TYPE; -(* USED FROM (Specification_document_mim); *) - TYPE document_identifier_assigned_item = SELECT - (document); - END_TYPE; - -(* Pruned unused type: sd_document_reference_item *) - -(* USED FROM (Activity_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE action_items = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_person_and_organization_assignment, - approval_status, - assembly_component_usage_substitute, - certification, - certification_item, - characterized_object, - class, - class_system, - classification_item, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - document_file, - document_reference_item, - draughting_model, - drawing_revision, - evaluated_characteristic, - executed_action, - general_property, - identification_item, - material_designation, - mechanical_design_geometric_presentation_representation, - organization, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_assigned_item, - requirement_for_action_resource, - resource_property, - security_classification, - security_classification_level, - shape_aspect, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Effectivity_application_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE effectivity_item = SELECT ( - action, - action_method, - action_method_relationship, - action_property, - action_relationship, - assembly_component_usage_substitute, - class, - class_system, - configuration_design, - configuration_item, - configured_effectivity_assignment, - document_file, - draughting_model, - drawing_revision, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification, - shape_aspect, - shape_representation); -END_TYPE; - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE description_attribute_select = SELECT ( - action_request_solution, - application_context, - approval_role, - configuration_design, - context_dependent_shape_representation, - date_role, - date_time_role, - effectivity, - external_source, - organization_role, - organizational_project, - person_and_organization, - person_and_organization_role, - property_definition_representation, - representation); -END_TYPE; - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE id_attribute_select = SELECT ( - action, - address, - application_context, - dimensional_size, - geometric_tolerance, - group, - organizational_project, - product_category, - property_definition, - representation, - shape_aspect, - shape_aspect_relationship); -END_TYPE; - -(* USED FROM (product_data_quality_criteria_schema); *) - TYPE detailed_report_type = ENUMERATION OF - (measured_element, - inferior_quality_element); - END_TYPE; -(* USED FROM (product_data_quality_criteria_schema); *) - TYPE summary_report_type = ENUMERATION OF - (unspecified, - conclusion_only, - number_of_quality_defects, - number_of_inspections_and_conclusion, - full_statistics); - END_TYPE; -(* USED FROM (product_data_quality_criteria_schema); *) - TYPE preferred_ordering = ENUMERATION OF - (extremity_order, - detected_order); - END_TYPE; - -(* Pruned unused type: pdq_date_and_time_item *) - - -(* Pruned unused type: pdq_person_and_organization_item *) - - -(* Pruned unused type: pdq_date_item *) - - -(* Pruned unused type: pqd_organization_item *) - -(* USED FROM (Person_organization_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE organization_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - document_file, - document_type, - draughting_model, - drawing_revision, - effectivity, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - representation, - requirement_for_action_resource, - resource_property, - rule_action, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Person_organization_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE person_and_organization_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - approval, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - data_quality_definition, - document_file, - document_type, - draughting_model, - drawing_revision, - event_occurrence, - executed_action, - general_property, - information_usage_right, - material_designation, - mechanical_design_geometric_presentation_representation, - organization, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - rule_action, - security_classification, - security_classification_level, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (basic_attribute_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE name_attribute_select = SELECT ( - action_request_solution, - address, - configuration_design, - context_dependent_shape_representation, - derived_unit, - effectivity, - person_and_organization, - product_definition, - product_definition_substitute, - property_definition_representation); -END_TYPE; - -(* USED FROM (product_data_quality_definition_schema); *) - TYPE used_quality_representation_select = SELECT - (data_quality_criteria_representation, - data_quality_inspection_result_representation); - END_TYPE; -(* USED FROM (product_data_quality_inspection_result_schema); *) - TYPE statistical_value_type = ENUMERATION OF - (number_of_inspected_instances, - number_of_quality_defects_detected); - END_TYPE; -(* USED FROM (product_data_quality_inspection_result_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE inspected_element_select = SELECT ( - assembly_component_usage, - axis2_placement_3d, - b_spline_or_composite_curve_select, - b_spline_or_rectangular_composite_surface_select, - cartesian_transformation_operator_3d, - closed_or_open_shell_select, - connected_face_set, - curve, - direction, - edge_curve, - edge_loop, - face_surface, - global_uncertainty_assigned_context, - global_unit_assigned_context, - group, - manifold_solid_brep, - placement, - point, - presentation_layer_assignment, - representation_item, - styled_item, - surface, - vertex_point); -END_TYPE; - -(* USED FROM (shape_data_quality_criteria_schema); *) - TYPE shape_data_quality_assessment_specification_select = SELECT - (shape_data_quality_assessment_by_logical_test, - shape_data_quality_assessment_by_numerical_test); - END_TYPE; -(* USED FROM (shape_data_quality_criteria_schema); *) - TYPE shape_data_quality_value_limit_type_select = SELECT - (shape_data_quality_value_range, - shape_data_quality_value_limit); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE measured_value_select = SELECT - (boolean_value, - measure_value, - plane_angle_and_ratio_pair, - plane_angle_and_length_pair); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE boolean_value = BOOLEAN; - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE location_of_extreme_value_select = SELECT - (inspected_shape_element_select, - b_spline_surface_knot_locator, - b_spline_curve_knot_locator, - b_spline_curve_segment, - b_spline_surface_strip, - b_spline_surface_patch, - composite_curve_transition_locator, - rectangular_composite_surface_transition_locator, - boundary_curve_of_b_spline_or_rectangular_composite_surface, - oriented_edge, - face_bound, - point_on_edge_curve, - point_on_face_surface, - subedge, - subface); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE inspected_shape_element_select = inspected_element_select; -END_TYPE; - -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE closed_or_open_shell_select = SELECT - (closed_shell, - open_shell); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE b_spline_or_composite_curve_select = SELECT - (b_spline_curve, - composite_curve); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE b_spline_or_rectangular_composite_surface_select = SELECT - (b_spline_surface, - rectangular_composite_surface); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - TYPE u_or_v_parameter = ENUMERATION OF - (u_parameter, - v_parameter); - END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) -TYPE surface_boundary_type = ENUMERATION OF - (u_parameter_min, - v_parameter_min, - u_parameter_max, - v_parameter_max); - END_TYPE; - -(* Pruned unused type: appearance_representation_identification_item *) - -(* USED FROM (presentation_appearance_schema); *) - TYPE style_context_select = SELECT - (group, - presentation_layer_assignment, - presentation_set, - representation, - representation_item, - representation_relationship); - END_TYPE; - -(* Pruned unused type: ecdq_document_reference_item *) - - -(* Pruned unused type: document_location_select *) - - -(* Pruned unused type: file_identification_item *) - - -(* Pruned unused type: file_location_select *) - -(* USED FROM (Group_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE groupable_item = SELECT ( - applied_identification_assignment, - applied_name_assignment, - assembly_component, - assembly_component_usage, - assembly_spacing_requirement, - component_feature, - component_functional_unit, - geometric_representation_item, - group_relationship, - group_shape_aspect, - layout_spacing_requirement, - mapped_item, - network_node_definition, - package_product_concept_feature, - part_connected_terminals_definition, - physical_connectivity_definition, - physical_network, - predefined_requirement_view_definition, - printed_part_template_terminal, - product_concept_feature, - product_definition, - product_definition_formation, - property_definition_representation, - representation, - representation_item, - representation_relationship_with_transformation, - shape_aspect, - shape_aspect_relationship, - shape_representation_relationship, - stratum, - styled_item, - topological_representation_item); - WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GROUP' IN TYPEOF(SELF)); -END_TYPE; -(* USED FROM (explicit_constraint_schema); *) -TYPE constraint_group_member = SELECT - (explicit_constraint, - simultaneous_constraint_group); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE geometric_constraint_element = SELECT - (point, - curve, - surface, - vector, - direction); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE point_curve_or_surface_constraint_element = SELECT - (point, - curve, - surface); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE curve_or_surface_constraint_element = SELECT - (curve, - surface); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE linear_geometry_constraint_element = SELECT - (line, - plane, - direction, - vector); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE radial_geometry_constraint_element = SELECT - (circle, - cylindrical_surface, - conical_surface, - spherical_surface, - right_circular_cylinder, - right_circular_cone, - sphere); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE axial_geometry_constraint_element = SELECT - (point, - line, - circle, - plane, - cylindrical_surface, - conical_surface, - spherical_surface, - toroidal_surface, - surface_of_revolution, - sphere, - right_circular_cone, - right_circular_cylinder, - torus, - revolved_face_solid, - revolved_area_solid); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE swept_surface_or_solid = SELECT - (swept_surface, - swept_face_solid, - swept_area_solid); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE tangent_contact_type = ENUMERATION OF - (point_contact, - curve_contact, - surface_contact); -END_TYPE; -(* USED FROM (explicit_geometric_constraint_schema); *) -TYPE parallel_offset_type = ENUMERATION OF - (curve_2d_offset, - curve_3d_offset, - surface_offset); -END_TYPE; - -(* Pruned unused type: machining_feature_definition *) - -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -TYPE kinematic_analysis_definition = SELECT - (interpolated_configuration_sequence, - prescribed_path); -END_TYPE; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -TYPE kinematic_result = SELECT - (interpolated_configuration_sequence, - resulting_path); -END_TYPE; -(* USED FROM (Specification_control_mim); *) - TYPE class_usage_effectivity_context_item = SELECT - (product_definition); - END_TYPE; - -(* Pruned unused type: effectivity_specification_for_replacement *) - -(* USED FROM (Specification_control_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE instance_usage_context_select = SELECT ( - product_definition_relationship, - product_definition_usage); -END_TYPE; - - -(* Pruned unused type: product_as_individual_identification_item *) - - -(* Pruned unused type: classification_item_extended *) - - -(* Pruned unused type: classification_identification_item *) - - -(* Pruned unused type: classification_classification_item *) - -(* USED FROM (Classification_with_attributes_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE classified_item = SELECT ( - product, - product_definition, - product_definition_formation); -END_TYPE; - - -(* Pruned unused type: cwa_identification_item *) - - -(* Pruned unused type: plib_class_identification_item *) - - -(* Pruned unused type: plib_class_organization_item *) - - -(* Pruned unused type: ir_approval_item *) - - -(* Pruned unused type: ir_contract_item *) - - -(* Pruned unused type: ir_date_and_time_item *) - - -(* Pruned unused type: ir_date_item *) - - -(* Pruned unused type: ir_identification_item *) - - -(* Pruned unused type: ir_organization_item *) - - -(* Pruned unused type: ir_person_and_organization_item *) - -(* USED FROM (Information_rights_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE ir_usage_item = action_items; -END_TYPE; - - -(* Pruned unused type: pdpdms_person_and_organization_item *) - - -(* Pruned unused type: pdpdms_external_identification_item *) - - -(* Pruned unused type: pdm_action_items *) - - -(* Pruned unused type: pdm_action_request_item *) - - -(* Pruned unused type: pdm_approval_item *) - - -(* Pruned unused type: pdm_attribute_language_item *) - - -(* Pruned unused type: pdm_certification_item *) - - -(* Pruned unused type: pdm_classification_item *) - - -(* Pruned unused type: pdm_date_and_time_item *) - - -(* Pruned unused type: pdm_date_item *) - - -(* Pruned unused type: pdm_document_reference_item *) - - -(* Pruned unused type: pdm_effectivity_item *) - - -(* Pruned unused type: pdm_event_occurrence_item *) - - -(* Pruned unused type: pdm_external_class_name_item *) - - -(* Pruned unused type: pdm_identification_item *) - - -(* Pruned unused type: pdm_multi_language_attribute_item *) - - -(* Pruned unused type: pdm_organization_item *) - - -(* Pruned unused type: pdm_person_and_organization_item *) - - -(* Pruned unused type: pdm_project_item *) - - -(* Pruned unused type: pdm_security_classification_item *) - - -(* Pruned unused type: pdm_time_interval_item *) - -(* USED FROM (Activity_method_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE action_method_items = SELECT ( - action, - action_method, - action_property, - applied_action_assignment, - configuration_design, - contract, - document_file, - event_occurrence, - organization, - organizational_project, - person, - person_and_organization, - product, - product_concept, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - property_definition, - test_method_based_parameter_assignment); -END_TYPE; - -(* USED FROM (Attribute_classification_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE attribute_classification_item = SELECT ( - action_directive, - action_method, - action_property, - action_property_representation, - action_relationship, - action_request_solution, - action_request_status, - alternate_product_relationship, - applied_action_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - approval, - approval_person_organization, - approval_relationship, - approval_status, - certification, - context_dependent_unit, - contract, - date_and_time_assignment, - date_assignment, - derived_unit, - descriptive_representation_item, - document_file, - document_relationship, - effectivity, - event_occurrence_relationship, - executed_action, - general_property, - general_property_relationship, - group, - group_relationship, - information_right, - information_usage_right, - language, - measure_representation_item, - measure_with_unit, - named_unit, - organization_relationship, - organizational_address, - organizational_project_relationship, - person_and_organization, - person_and_organization_address, - product, - product_category, - product_concept, - product_concept_context, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - property_definition, - property_definition_relationship, - property_definition_representation, - representation, - representation_context, - representation_item, - security_classification, - time_interval_relationship, - uncertainty_measure_with_unit, - usage_association, - versioned_action_request); -END_TYPE; - -(* USED FROM (Associative_draughting_elements_mim); *) -TYPE draughting_model_item_association_select = SELECT ( - annotation_occurrence, - draughting_callout); -END_TYPE; -(* USED FROM (Associative_draughting_elements_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE draughting_model_item_definition = SELECT ( - applied_action_assignment, - applied_action_method_assignment, - applied_action_request_assignment, - applied_approval_assignment, - applied_certification_assignment, - applied_classification_assignment, - applied_contract_assignment, - applied_date_and_time_assignment, - applied_date_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_effectivity_assignment, - applied_event_occurrence_assignment, - applied_external_identification_assignment, - applied_group_assignment, - applied_identification_assignment, - applied_ineffectivity_assignment, - applied_name_assignment, - applied_organization_assignment, - applied_organizational_project_assignment, - applied_person_and_organization_assignment, - applied_security_classification_assignment, - applied_time_interval_assignment, - applied_usage_right, - dimensional_size, - geometric_tolerance, - product_definition_relationship, - product_definition_shape, - property_definition, - shape_aspect, - shape_aspect_relationship); -END_TYPE; - - -(* Pruned unused type: aade_annotation_representation_select *) - - -(* Pruned unused type: aade_invisibility_context *) - -(* USED FROM (aic_associative_draughting_elements); *) - TYPE draughting_model_item_select = SELECT - (mapped_item, - styled_item, - axis2_placement, - camera_model, - draughting_callout); - END_TYPE; -(* USED FROM (product_property_definition_schema); *) - TYPE shape_definition = SELECT (product_definition_shape, shape_aspect, shape_aspect_relationship); - END_TYPE; -(* USED FROM (aic_draughting_annotation); *) -TYPE draughting_subfigure_representation_item = SELECT ( - annotation_occurrence, - draughting_callout, - axis2_placement); -END_TYPE; -(* USED FROM (aic_draughting_annotation); *) -TYPE draughting_symbol_representation_item = SELECT ( - annotation_curve_occurrence, - annotation_symbol_occurrence, - annotation_fill_area_occurrence, - annotation_text_occurrence, - axis2_placement); -END_TYPE; -(* USED FROM (Presentation_hierarchy_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE presented_item_select = SELECT ( - action, - action_method, - action_relationship, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_formation, - product_definition_relationship); -END_TYPE; - -(* USED FROM (drawing_definition_schema); *) -TYPE draughting_titled_item = SELECT - (drawing_revision, - drawing_sheet_revision); -END_TYPE; - -(* Pruned unused type: s_name_attribute_select *) - -(* USED FROM (measure_schema); *) - TYPE absorbed_dose_measure = REAL; - END_TYPE; - -(* Pruned unused type: ap210_change_management_object *) - -(* USED FROM (measure_schema); *) - TYPE radioactivity_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) -TYPE amount_of_substance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE area_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE celsius_temperature_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE context_dependent_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE count_measure = NUMBER; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE descriptive_measure = STRING; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE capacitance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE dose_equivalent_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE electric_charge_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE electric_current_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE conductance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE electric_potential_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE energy_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE force_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE frequency_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE magnetic_flux_density_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE illuminance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE inductance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE length_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE luminous_intensity_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE luminous_flux_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE mass_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE measure_value = SELECT - (absorbed_dose_measure, - dose_equivalent_measure, - radioactivity_measure, - acceleration_measure, - amount_of_substance_measure, - area_measure, - celsius_temperature_measure, - context_dependent_measure, - count_measure, - descriptive_measure, - capacitance_measure, - electric_charge_measure, - conductance_measure, - electric_current_measure, - electric_potential_measure, - energy_measure, - magnetic_flux_density_measure, - force_measure, - frequency_measure, - illuminance_measure, - inductance_measure, - length_measure, - luminous_flux_measure, - luminous_intensity_measure, - magnetic_flux_measure, - mass_measure, - numeric_measure, - non_negative_length_measure, - parameter_value, - plane_angle_measure, - positive_length_measure, - positive_plane_angle_measure, - positive_ratio_measure, - power_measure, - pressure_measure, - ratio_measure, - resistance_measure, - solid_angle_measure, - thermodynamic_temperature_measure, - time_measure, - velocity_measure, - volume_measure); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE magnetic_flux_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE non_negative_length_measure = length_measure; - WHERE - WR1: SELF >= 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE numeric_measure = NUMBER; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE parameter_value = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE plane_angle_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE positive_length_measure = non_negative_length_measure; - WHERE - WR1: SELF > 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE positive_plane_angle_measure = plane_angle_measure; - WHERE - WR1: SELF > 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE positive_ratio_measure = ratio_measure; - WHERE - WR1: SELF > 0.0; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE power_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE pressure_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE ratio_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE resistance_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE si_prefix = ENUMERATION OF (exa, peta, tera, giga, mega, kilo, hecto, deca, deci, centi, milli, micro, nano, pico, femto, atto); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE si_unit_name = ENUMERATION OF (metre, gram, second, ampere, kelvin, mole, candela, radian, steradian, hertz, newton, pascal, joule, watt, coulomb, volt, farad, ohm, siemens, weber, tesla, henry, degree_Celsius, lumen, lux, becquerel, gray, sievert); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE solid_angle_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE thermodynamic_temperature_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE time_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE unit = SELECT (derived_unit, named_unit); - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE velocity_measure = REAL; - END_TYPE; -(* USED FROM (measure_schema); *) - TYPE volume_measure = REAL; - END_TYPE; - -(* Pruned unused type: eu_external_identification_item *) - -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - TYPE mechanical_design_geometric_presentation_area_items = SELECT( - axis2_placement, - mapped_item); - END_TYPE; -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - TYPE mechanical_design_geometric_presentation_representation_items = SELECT( - axis2_placement, - camera_model_d3, - mapped_item, - styled_item); - END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE trim_condition_select = SELECT - (length_measure, - plane_angle_measure, - generalized_surface_select, - solid_model); -END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE trim_intent = ENUMERATION OF - (blind, - offset, - through_all, - unspecified, - up_to_next); -END_TYPE; - -(* Pruned unused type: sm_approval_item *) - -(* USED FROM (support_resource_schema); *) - TYPE identifier = STRING; - END_TYPE; -(* USED FROM (procedural_shape_model_schema); *) -TYPE shape_representation_item = SELECT - (geometric_representation_item, - topological_representation_item); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -(* This SELECT set has been pruned. *) -TYPE csg_primitive = SELECT ( - block, - bounded_primitive_2d, - right_angular_wedge, - right_circular_cone, - right_circular_cylinder, - sphere, - torus); -END_TYPE; - -(* USED FROM (solid_shape_element_schema); *) -TYPE base_solid_select = SELECT - (solid_model, - csg_primitive, - boolean_result); -WHERE - WR1: NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D' IN TYPEOF(SELF)); -END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE blend_radius_variation_type = ENUMERATION OF - (linear_blend, - cubic_blend, - unspecified_blend); -END_TYPE; -(* USED FROM (solid_shape_element_schema); *) -TYPE blend_end_condition_select = SELECT - (point_on_curve, - edge_curve, - vertex); -END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_height = positive_ratio_measure; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_width = positive_ratio_measure; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_slant_angle = plane_angle_measure; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE box_rotate_angle = plane_angle_measure; - END_TYPE; -(* USED FROM (presentation_resource_schema); *) -TYPE font_select = SELECT - (pre_defined_text_font, - externally_defined_text_font, - text_font); -END_TYPE; -(* USED FROM (presentation_organization_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE annotation_representation_select = SELECT ( - draughting_model, - presentation_area, - presentation_view, - symbol_representation); -END_TYPE; - -(* USED FROM (sketch_schema); *) -TYPE surface_or_solid_model = SELECT - (surface_model, - solid_model); -END_TYPE; - -(* Implicit interfaced from: shape_tolerance_schema *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE geometric_tolerance_modifier = ENUMERATION OF ( - any_cross_section, - common_zone, - each_radial_element, - free_state, - least_material_requirement, - line_element, - major_diameter, - maximum_material_requirement, - minor_diameter, - not_convex, - pitch_diameter, - reciprocity_requirement, - separate_requirement, - statistical_tolerance, - tangent_plane); -END_TYPE; - -(* USED FROM (sketch_schema); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE sketch_element_select = SELECT ( - curve, - point); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(SELF); -END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE sketch_basis_select = SELECT - (planar_curve_select, - curve_bounded_surface, - face_surface); -END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE sketch_type_select = SELECT - (neutral_sketch_representation, - positioned_sketch, - subsketch); -END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE curves_or_area = ENUMERATION OF - (curves, area); -END_TYPE; - -(* Pruned unused type: terminator *) - -(* USED FROM (presentation_appearance_schema); *) - TYPE marker_select = SELECT - (marker_type, - pre_defined_marker); - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE marker_type = ENUMERATION OF - (dot, - x, - plus, - asterisk, - ring, - square, - triangle); - END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE edge_or_curve = SELECT - (curve, - edge); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE face_or_surface = SELECT - (face, - surface); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE path_or_composite_curve = SELECT - (composite_curve, - path); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE tessellated_edge_or_vertex = SELECT - (tessellated_edge, - tessellated_vertex); -END_TYPE; - -(* Pruned unused type: ptswp_external_identification_item *) - - -(* Pruned unused type: ptswp_requirement_assigned_item *) - -(* USED FROM (product_property_definition_schema); *) - TYPE characterized_definition = SELECT ( - characterized_object, - characterized_product_definition, - shape_definition); - END_TYPE; -(* USED FROM (date_time_schema); *) -TYPE day_in_month_number = INTEGER; -WHERE - WR1: {1 <= SELF <= 31}; -END_TYPE; -(* USED FROM (support_resource_schema); *) - TYPE label = STRING; - END_TYPE; -(* USED FROM (support_resource_schema); *) - TYPE text = STRING; - END_TYPE; -(* USED FROM (product_property_definition_schema); *) - TYPE characterized_product_definition = SELECT ( - product_definition, - product_definition_relationship); - END_TYPE; - -(* Pruned unused type: id_for_product_identification *) - -(* USED FROM (Tagged_text_representation_mim); *) -TYPE string_representation_item_select = SELECT( - descriptive_representation_item, - included_text_block, - structured_text_composition); -END_TYPE; - -(* Pruned unused type: requirement_identification_and_version_identification_item *) - - -(* Pruned unused type: event_occurrence_date_and_time_item *) - - -(* Pruned unused type: event_occurrence_date_item *) - - -(* Pruned unused type: spr_document_reference_item *) - - -(* Pruned unused type: spr_organization_item *) - - -(* Pruned unused type: spr_person_and_organization_item *) - -(* USED FROM (mathematical_functions_schema); *) -TYPE product_space = SELECT - (uniform_product_space, - listed_product_space); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE tuple_space = SELECT - (product_space, - extended_tuple_space); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_number = NUMBER; -END_TYPE; - -(* Implicit interfaced from: qualified_measure_schema *) -TYPE value_qualifier = SELECT - (precision_qualifier, - type_qualifier, - uncertainty_qualifier, - value_format_type_qualifier); -END_TYPE; - -(* Pruned unused type: representing_relationship *) - -(* USED FROM (kinematic_motion_representation_schema); *) -TYPE link_or_shape_representation = SELECT( - kinematic_link_representation, - shape_representation); -END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE invisible_item = SELECT ( - draughting_callout, - presentation_layer_assignment, - representation, - styled_item); -END_TYPE; - - -(* Pruned unused type: organization_item_solution *) - -(* USED FROM (Product_breakdown_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE product_definition_or_breakdown_element_usage = SELECT ( - product_definition, - product_definition_usage); -END_TYPE; - -(* USED FROM (Product_breakdown_mim); *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE product_definition_or_product_definition_relationship = SELECT ( - product_definition, - product_definition_usage); -END_TYPE; - -(* USED FROM (Specification_based_configuration_mim); *) -TYPE configured_effectivity_context_item = SELECT (product_concept_feature_association); -END_TYPE; -(* USED FROM (Specification_based_configuration_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE configured_effectivity_item = SELECT ( - action_relationship, - process_plan, - product_definition, - product_process_plan); -END_TYPE; - -(* USED FROM (Product_class_mim); *) -TYPE category_usage_item = SELECT (product_class); -END_TYPE; - -(* Pruned unused type: id_for_class *) - - -(* Pruned unused type: specification_for_category *) - -(* USED FROM (geometric_model_schema); *) -TYPE boolean_operand = SELECT - (boolean_result, - csg_primitive, - half_space_2d, - half_space_solid, - solid_model); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE boolean_operator = ENUMERATION OF - (union, - intersection, - difference); -END_TYPE; -(* USED FROM (geometric_model_schema); *) -TYPE csg_select = SELECT - (boolean_result, - csg_primitive); -END_TYPE; - -(* Pruned unused type: external_class_name_item *) - -(* USED FROM (Name_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE name_item = SELECT ( - assembly_component_usage, - external_class_library, - group, - group_relationship, - product, - product_definition); -END_TYPE; - -(* USED FROM (Contract_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE contract_item = SELECT ( - action_directive, - alternate_product_relationship, - directed_action, - drawing_revision, - executed_action, - information_usage_right, - organization, - person_and_organization, - product, - product_definition_formation); -END_TYPE; - - -(* Pruned unused type: mri_aliasable_item *) - - -(* Pruned unused type: mri_approval_item *) - - -(* Pruned unused type: mri_attribute_language_item *) - - -(* Pruned unused type: mri_date_and_time_item *) - - -(* Pruned unused type: mri_date_item *) - - -(* Pruned unused type: mri_identification_item *) - - -(* Pruned unused type: mri_multi_language_attribute_item *) - - -(* Pruned unused type: mri_organization_item *) - - -(* Pruned unused type: mri_person_and_organization_item *) - -(* USED FROM (Security_classification_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE security_classification_item = SELECT ( - action, - action_directive, - action_property, - applied_action_assignment, - assembly_component_usage, - assembly_component_usage_substitute, - class_system, - configuration_design, - configuration_effectivity, - configured_effectivity_assignment, - document, - document_file, - draughting_model, - drawing_revision, - executed_action, - general_property, - make_from_usage_option, - material_designation, - mechanical_design_geometric_presentation_representation, - organizational_project, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_category, - product_definition, - product_definition_formation, - product_definition_relationship, - product_definition_usage, - property_definition, - resource_property, - shape_representation, - versioned_action_request); -END_TYPE; - -(* USED FROM (Work_request_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE action_request_item = SELECT ( - action, - action_method, - action_property, - action_relationship, - alternate_product_relationship, - assembly_component_usage_substitute, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - document_file, - draughting_model, - drawing_revision, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - organizational_project, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - resource_property, - shape_aspect, - shape_representation, - versioned_action_request); -END_TYPE; - - -(* Pruned unused type: dm_aliasable_item *) - - -(* Pruned unused type: dm_approval_item *) - - -(* Pruned unused type: dm_attribute_language_item *) - - -(* Pruned unused type: dm_contract_item *) - - -(* Pruned unused type: dm_date_and_time_item *) - - -(* Pruned unused type: dm_date_item *) - - -(* Pruned unused type: dm_identification_item *) - - -(* Pruned unused type: dm_multi_language_attribute_item *) - - -(* Pruned unused type: dm_organization_item *) - - -(* Pruned unused type: dm_person_and_organization_item *) - - -(* Pruned unused type: dm_security_classification_item *) - - -(* Pruned unused type: idrm_marked_item *) - -(* USED FROM (process_property_schema); *) -TYPE characterized_action_definition = SELECT - (action, - action_method, - action_method_relationship, - action_relationship); -END_TYPE; -(* USED FROM (product_property_definition_schema); *) - TYPE derived_property_select = SELECT (property_definition, action_property, resource_property); - END_TYPE; -(* USED FROM (Time_interval_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE time_interval_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - applied_person_and_organization_assignment, - approval_status, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - document_file, - draughting_model, - drawing_revision, - executed_action, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification, - security_classification_level, - shape_representation, - time_interval_based_effectivity, - versioned_action_request); -END_TYPE; - -(* USED FROM (geometry_schema); *) -TYPE axis2_placement = SELECT - (axis2_placement_2d, - axis2_placement_3d); -END_TYPE; -(* USED FROM (presentation_appearance_schema); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE invisibility_context = SELECT ( - draughting_model, - presentation_representation, - presentation_set); -END_TYPE; - -(* USED FROM (presentation_appearance_schema); *) - TYPE null_style = ENUMERATION OF - (null); - END_TYPE; -(* USED FROM (presentation_definition_schema); *) - TYPE text_alignment = label; - END_TYPE; - -(* Pruned unused type: ers_description_attribute_select *) - -(* USED FROM (external_reference_schema); *) - TYPE message = STRING; - END_TYPE; -(* USED FROM (external_reference_schema); *) - TYPE source_item = SELECT (identifier, message); - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE surface_side = ENUMERATION OF - (positive, - negative, - both); - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE u_direction_count = INTEGER; - WHERE - WR1: SELF > 1; - END_TYPE; -(* USED FROM (presentation_appearance_schema); *) - TYPE v_direction_count = INTEGER; - WHERE - WR1: SELF > 1; - END_TYPE; -(* USED FROM (aic_mechanical_design_shaded_presentation); *) - TYPE mechanical_design_shaded_presentation_area_items = SELECT( - axis2_placement, - mapped_item); - END_TYPE; -(* USED FROM (aic_mechanical_design_shaded_presentation); *) - TYPE mechanical_design_shaded_presentation_representation_items = SELECT( - axis2_placement, - camera_model_d3, - mapped_item, - styled_item); - END_TYPE; - -(* Pruned unused type: pamivc_document_reference_item *) - -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_boolean = BOOLEAN; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_integer = INTEGER; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_real = REAL; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_simple_atom = SELECT - (maths_number, - maths_real, - maths_integer, - maths_logical, - maths_boolean, - maths_string, - maths_binary); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE atom_based_tuple = LIST OF atom_based_value; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE atom_based_value = SELECT - (maths_atom, - atom_based_tuple); -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_tuple = LIST [0:?] OF maths_value; -END_TYPE; -(* USED FROM (mathematical_functions_schema); *) -TYPE maths_value = SELECT - (atom_based_value, - maths_tuple, - generic_expression); -WHERE - constancy: NOT ('GENERIC_EXPRESSION' IN stripped_typeof(SELF)) OR - expression_is_constant(SELF); -END_TYPE; -(* USED FROM (kinematic_structure_schema); *) -TYPE rigid_placement = SELECT - (axis2_placement_3d, - su_parameters); -END_TYPE; -(* USED FROM (kinematic_structure_schema); *) -TYPE kinematic_link_representation_items = SELECT ( - curve, - point, - rigid_placement, - surface); -END_TYPE; -(* USED FROM (kinematic_structure_schema); *) -TYPE actuated_direction = ENUMERATION OF ( - bidirectional, - positive_only, - negative_only, - not_actuated); -END_TYPE; -(* USED FROM (kinematic_state_schema); *) -TYPE spatial_rotation = SELECT - (ypr_rotation, - rotation_about_direction); -END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE annotation_symbol_occurrence_item = SELECT ( - annotation_symbol, - defined_symbol); - END_TYPE; -(* USED FROM (kinematic_state_schema); *) -TYPE ypr_enumeration = ENUMERATION OF - (yaw, - pitch, - roll); -END_TYPE; -(* USED FROM (kinematic_state_schema); *) -TYPE spherical_pair_select = SELECT ( - spherical_pair, - spherical_pair_with_pin); -END_TYPE; - -(* Pruned unused type: aliasable_item *) - -(* USED FROM (Certification_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE certification_item = SELECT ( - alternate_product_relationship, - make_from_usage_option, - product_definition, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship); -END_TYPE; - -(* USED FROM (Multi_linguism_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE attribute_language_item = SELECT ( - action, - actuated_kinematic_pair, - alternate_product_relationship, - application_context, - applied_certification_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organizational_project_assignment, - applied_security_classification_assignment, - approval, - approval_relationship, - approval_status, - assembly_component_usage_substitute, - attribute_value_assignment, - certification, - certification_type, - configuration_design, - configuration_item, - contract, - data_environment, - date_role, - date_time_role, - descriptive_representation_item, - document_relationship, - document_usage_role, - draughting_title, - effectivity, - effectivity_relationship, - event_occurrence, - external_source, - general_property, - general_property_relationship, - geometric_representation_item, - geometric_tolerance, - group, - group_relationship, - identification_role, - information_right, - information_usage_right, - kinematic_pair, - make_from_usage_option, - mapped_item, - multi_language_attribute_assignment, - name_assignment, - object_role, - organization_relationship, - organization_role, - organizational_project, - organizational_project_relationship, - organizational_project_role, - person_and_organization, - person_and_organization_role, - presentation_layer_assignment, - process_product_association, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_relationship, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_shape, - product_definition_substitute, - product_related_product_category, - property_definition, - property_definition_relationship, - representation, - representation_relationship, - requirement_for_action_resource, - resource_property, - resource_requirement_type, - security_classification, - security_classification_assignment, - shape_aspect, - shape_aspect_relationship, - shape_representation, - styled_item, - time_interval_role, - topological_representation_item, - uncertainty_measure_with_unit, - uncertainty_qualifier, - usage_association, - versioned_action_request, - versioned_action_request_relationship); -END_TYPE; - -(* USED FROM (Multi_linguism_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE multi_language_attribute_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_relationship, - actuated_kinematic_pair, - alternate_product_relationship, - application_context, - applied_certification_assignment, - applied_document_reference, - applied_document_usage_constraint_assignment, - applied_external_identification_assignment, - applied_identification_assignment, - applied_organizational_project_assignment, - approval, - approval_relationship, - approval_status, - assembly_component_usage_substitute, - attribute_value_assignment, - certification, - certification_type, - colour, - configuration_design, - configuration_item, - contract, - data_environment, - date_role, - date_time_role, - descriptive_representation_item, - document_relationship, - document_usage_role, - draughting_title, - effectivity, - effectivity_relationship, - event_occurrence, - external_source, - general_property, - general_property_relationship, - geometric_representation_item, - geometric_tolerance, - group, - group_relationship, - identification_role, - information_right, - information_usage_right, - kinematic_pair, - make_from_usage_option, - mapped_item, - name_assignment, - object_role, - organization_relationship, - organization_role, - organizational_project, - organizational_project_relationship, - organizational_project_role, - person_and_organization, - person_and_organization_role, - presentation_layer_assignment, - process_product_association, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_relationship, - product_definition, - product_definition_context, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_shape, - product_definition_substitute, - product_related_product_category, - property_definition, - property_definition_relationship, - representation, - representation_relationship, - requirement_for_action_resource, - resource_property, - resource_requirement_type, - security_classification, - security_classification_assignment, - shape_aspect, - shape_aspect_relationship, - shape_representation, - styled_item, - time_interval_role, - topological_representation_item, - uncertainty_measure_with_unit, - uncertainty_qualifier, - usage_association, - versioned_action_request, - versioned_action_request_relationship); -END_TYPE; - - -(* Pruned unused type: project_as_date_and_time_item *) - - -(* Pruned unused type: project_as_date_item *) - - -(* Pruned unused type: project_event_occurrence_item *) - -(* USED FROM (Project_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE project_item = SELECT ( - assembly_component_usage, - configuration_item, - executed_action, - product, - product_concept, - product_definition, - product_definition_formation); -END_TYPE; - -(* USED FROM (kinematic_topology_schema); *) -TYPE kinematic_topology_representation_select = SELECT ( - kinematic_topology_structure, - kinematic_topology_directed_structure, - kinematic_topology_network_structure -); -END_TYPE; -(* USED FROM (Event_assignment_mim); *) -(* This SELECT set has been been expanded or truncated for EXPRESS E1 layout. *) -TYPE event_occurrence_item = SELECT ( - action, - action_directive, - action_method, - action_property, - action_request_solution, - alternate_product_relationship, - applied_action_assignment, - applied_classification_assignment, - assembly_component_usage_substitute, - certification, - class, - class_system, - configuration_design, - configuration_effectivity, - configuration_item, - configured_effectivity_assignment, - contract, - draughting_model, - drawing_revision, - executed_action, - general_property, - material_designation, - mechanical_design_geometric_presentation_representation, - organization_relationship, - organizational_project, - person_and_organization, - presentation_area, - product, - product_concept, - product_concept_feature, - product_concept_feature_association, - product_concept_feature_category, - product_concept_feature_category_usage, - product_definition_formation, - product_definition_formation_relationship, - product_definition_relationship, - product_definition_substitute, - property_definition, - requirement_for_action_resource, - resource_property, - security_classification_level, - shape_representation); -END_TYPE; - - -(* Chained implicit interfaced from: date_time_schema *) -TYPE year_number = INTEGER; -END_TYPE; - -(* Chained implicit interfaced from: date_time_schema *) -TYPE date_time_select = SELECT - (date, - date_and_time, - local_time); -END_TYPE; - -(* Chained implicit interfaced from: person_organization_schema *) - TYPE person_organization_select = SELECT ( - person, - organization, - person_and_organization); - END_TYPE; - -(* Implicit interfaced from: product_definition_schema *) - TYPE product_definition_or_reference = SELECT ( - product_definition, - generic_product_definition_reference); - END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE trimming_select = SELECT - (cartesian_point, - parameter_value); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE trimming_preference = ENUMERATION OF - (cartesian, - parameter, - unspecified); -END_TYPE; - -(* Implicit interfaced from: representation_schema *) - TYPE founded_item_select = SELECT - (founded_item, - representation_item); - END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE transition_code = ENUMERATION OF - (discontinuous, - continuous, - cont_same_gradient, - cont_same_gradient_same_curvature); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE pcurve_or_surface = SELECT - (pcurve, - surface); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE preferred_surface_curve_representation = ENUMERATION OF - (curve_3d, - pcurve_s1, - pcurve_s2); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE curve_on_surface = SELECT - (composite_curve_on_surface, - pcurve, - surface_curve); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE b_spline_curve_form = ENUMERATION OF - (polyline_form, - circular_arc, - elliptic_arc, - parabolic_arc, - hyperbolic_arc, - unspecified); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE b_spline_surface_form = ENUMERATION OF - (plane_surf, - cylindrical_surf, - conical_surf, - spherical_surf, - toroidal_surf, - surf_of_revolution, - ruled_surf, - generalised_cone, - quadric_surf, - surf_of_linear_extrusion, - unspecified); -END_TYPE; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE datum_reference_modifier_type = ENUMERATION OF ( - circular_or_cylindrical, - distance, - projected, - spherical); -END_TYPE; - - -(* Implicit interfaced from: shape_aspect_definition_schema *) -TYPE datum_or_common_datum = SELECT - (common_datum_list, - datum); -END_TYPE; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE datum_reference_modifier = SELECT ( - datum_reference_modifier_with_value, - simple_datum_reference_modifier); -END_TYPE; - - -(* Implicit interfaced from: shape_aspect_definition_schema *) -TYPE limit_condition = ENUMERATION OF - (maximum_material_condition, - least_material_condition, - regardless_of_feature_size); -END_TYPE; - -(* Implicit interfaced from: shape_tolerance_schema *) -TYPE geometric_tolerance_target = SELECT - (dimensional_location, - dimensional_size, - product_definition_shape, - shape_aspect); -END_TYPE; - -(* Implicit interfaced from: shape_tolerance_schema *) -TYPE datum_system_or_reference = SELECT - (datum_reference, - datum_system); -END_TYPE; - -(* Implicit interfaced from: shape_tolerance_schema *) -(* This EXTENSIBLE ENUMERATION set has been replaced with plain ENUMERATION for EXPRESS E1 layout. *) -TYPE area_unit_type = ENUMERATION OF ( - circular, - rectangular, - square); -END_TYPE; - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_font_or_scaled_curve_font_select = SELECT - (curve_style_font_select, - curve_style_font_and_scaling); - END_TYPE; - -(* Implicit interfaced from: shape_tolerance_schema *) -TYPE tolerance_zone_target = SELECT ( - dimensional_location, - dimensional_size, - geometric_tolerance, - general_datum_reference); -END_TYPE; - -(* Implicit interfaced from: product_property_representation_schema *) - TYPE represented_definition = SELECT ( - general_property, - property_definition, - property_definition_relationship, - shape_aspect, - shape_aspect_relationship); - END_TYPE; - -(* Implicit interfaced from: product_property_definition_schema *) - TYPE multi_or_next_assembly_usage_occurrence = SELECT ( - multi_level_reference_designator, - next_assembly_usage_occurrence); - END_TYPE; - -(* Implicit interfaced from: product_property_definition_schema *) - TYPE internal_or_reflected_shape_aspect = SELECT ( - shape_aspect, - identifier); - END_TYPE; - -(* Implicit interfaced from: geometric_model_schema *) -TYPE geometric_set_select = SELECT - (curve, - point, - surface); -END_TYPE; - -(* Implicit interfaced from: representation_schema *) - TYPE transformation = SELECT - (item_defined_transformation, - functionally_defined_transformation); - END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE vector_or_direction = SELECT - (direction, - vector); -END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE dimension_count = INTEGER; -WHERE - WR1: SELF > 0; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE month_in_year_number = INTEGER; -WHERE - WR1: { 1 <= SELF <= 12 }; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE ahead_or_behind = ENUMERATION OF - (ahead, - exact, - behind); -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE hour_in_day = INTEGER; -WHERE - WR1: { 0 <= SELF < 24 }; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE minute_in_hour = INTEGER; -WHERE - WR1: { 0 <= SELF <= 59 }; -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE second_in_minute = REAL; -WHERE - WR1: { 0 <= SELF <= 60.0 }; -END_TYPE; - -(* Chained implicit interfaced from: date_time_schema *) -TYPE date_time_or_event_occurrence = SELECT - (date_time_select, - event_occurrence); -END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE week_in_year_number = INTEGER; -WHERE - WR1: { 1 <= SELF <= 53 }; -END_TYPE; - -(* Implicit interfaced from: qualified_measure_schema *) -TYPE value_format_type = identifier; -WHERE - WR1: LENGTH(SELF) <= 80; -END_TYPE; -- value_format_type - -(* Implicit interfaced from: date_time_schema *) -TYPE day_in_week_number = INTEGER; -WHERE - WR1: { 1 <= SELF <= 7 }; -END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE presentation_style_select = SELECT ( - point_style, - curve_style, - surface_style_usage, - symbol_style, - fill_area_style, - text_style, - externally_defined_style, - null_style); -END_TYPE; - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE styled_item_target = SELECT - (geometric_representation_item, - mapped_item, - representation); - END_TYPE; - -(* Implicit interfaced from: document_schema *) - TYPE product_or_formation_or_definition = SELECT (product, product_definition_formation, product_definition); - END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_function_select = SELECT - (maths_function, - elementary_function_enumerators); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_logical = LOGICAL; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_string = STRING; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_binary = BINARY; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -(* This SELECT set has been pruned. *) -TYPE maths_enum_atom = SELECT ( - elementary_space_enumerators, - ordering_type, - elementary_function_enumerators, - open_closed, - space_constraint_type, - repackage_options, - extension_options); -END_TYPE; - - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE positive_integer = nonnegative_integer; -WHERE positivity: SELF > 0; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE nonnegative_integer = INTEGER; -WHERE -nonnegativity: SELF >= 0; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE space_constraint_type = ENUMERATION OF - (sc_equal, - sc_subspace, - sc_member); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE elementary_space_enumerators = ENUMERATION OF - (es_numbers, - es_complex_numbers, - es_reals, - es_integers, - es_logicals, - es_booleans, - es_strings, - es_binarys, - es_maths_spaces, - es_maths_functions, - es_generics); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_expression = SELECT - (atom_based_value, - maths_tuple, - generic_expression); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_space_or_function = SELECT - (maths_space, - maths_function); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE input_selector = positive_integer; -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE elementary_function_enumerators = ENUMERATION OF - (ef_and, ef_or, ef_not, ef_xor, - ef_negate_i, ef_add_i, ef_subtract_i, ef_multiply_i, ef_divide_i, ef_mod_i, - ef_exponentiate_i, ef_eq_i, ef_ne_i, ef_gt_i, ef_lt_i, ef_ge_i, ef_le_i, - ef_abs_i, ef_max_i, ef_min_i, ef_if_i, - ef_negate_r, ef_reciprocal_r, ef_add_r, ef_subtract_r, ef_multiply_r, - ef_divide_r, ef_mod_r, ef_exponentiate_r, ef_exponentiate_ri, - ef_eq_r, ef_ne_r, ef_gt_r, ef_lt_r, ef_ge_r, ef_le_r, ef_abs_r, - ef_max_r, ef_min_r, ef_acos_r, ef_asin_r, ef_atan2_r, ef_cos_r, ef_exp_r, - ef_ln_r, ef_log2_r, ef_log10_r, ef_sin_r, ef_sqrt_r, ef_tan_r, ef_if_r, - ef_form_c, ef_rpart_c, ef_ipart_c, - ef_negate_c, ef_reciprocal_c, ef_add_c, ef_subtract_c, ef_multiply_c, - ef_divide_c, ef_exponentiate_c, ef_exponentiate_ci, ef_eq_c, ef_ne_c, - ef_conjugate_c, ef_abs_c, ef_arg_c, ef_cos_c, ef_exp_c, ef_ln_c, ef_sin_c, - ef_sqrt_c, ef_tan_c, ef_if_c, - ef_subscript_s, ef_eq_s, ef_ne_s, ef_gt_s, ef_lt_s, ef_ge_s, ef_le_s, - ef_subsequence_s, ef_concat_s, ef_size_s, ef_format, ef_value, ef_like, ef_if_s, - ef_subscript_b, ef_eq_b, ef_ne_b, ef_gt_b, ef_lt_b, ef_ge_b, ef_le_b, - ef_subsequence_b, ef_concat_b, ef_size_b, ef_if_b, - ef_subscript_t, ef_eq_t, ef_ne_t, ef_concat_t, ef_size_t, - ef_entuple, ef_detuple, ef_insert, ef_remove, ef_if_t, - ef_sum_it, ef_product_it, - ef_add_it, ef_subtract_it, ef_scalar_mult_it, ef_dot_prod_it, - ef_sum_rt, ef_product_rt, - ef_add_rt, ef_subtract_rt, ef_scalar_mult_rt, ef_dot_prod_rt, ef_norm_rt, - ef_sum_ct, ef_product_ct, - ef_add_ct, ef_subtract_ct, ef_scalar_mult_ct, ef_dot_prod_ct, ef_norm_ct, - ef_if, ef_ensemble, ef_member_of); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE open_closed = ENUMERATION OF - (open, - closed); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE repackage_options = ENUMERATION OF - (ro_nochange, - ro_wrap_as_tuple, - ro_unwrap_tuple); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE zero_or_one = nonnegative_integer; -WHERE in_range: (SELF = 0) OR (SELF = 1); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE one_or_two = positive_integer; -WHERE in_range: (SELF = 1) OR (SELF = 2); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE extension_options = ENUMERATION OF - (eo_none, - eo_cont, - eo_cont_right, - eo_cont_left); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE real_interval = SELECT - (real_interval_from_min, - real_interval_to_max, - finite_real_interval, - elementary_space); -WHERE - WR1: NOT ('ELEMENTARY_SPACE' IN stripped_typeof(SELF)) OR - (SELF\elementary_space.space_id = es_reals); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE ordering_type = ENUMERATION OF - (by_rows, - by_columns); -END_TYPE; - -(* Implicit interfaced from: mathematical_functions_schema *) -TYPE maths_atom = SELECT - (maths_simple_atom, - maths_enum_atom); -END_TYPE; - -(* Implicit interfaced from: action_schema *) - TYPE supported_item = SELECT (action_directive, action, action_method); - END_TYPE; - -(* Implicit interfaced from: process_property_schema *) -TYPE property_or_shape_select = SELECT - (property_definition, - shape_definition); -END_TYPE; - -(* Implicit interfaced from: process_property_schema *) -(* This SELECT set has been pruned. *) -TYPE characterized_resource_definition = SELECT ( - action_resource, - action_resource_requirement); -END_TYPE; - - -(* Implicit interfaced from: configuration_management_schema *) -TYPE configuration_design_item = SELECT - (product_definition, - product_definition_formation); -END_TYPE; - -(* Implicit interfaced from: product_property_representation_schema *) - TYPE chained_representation_link = SELECT (mapped_item, representation_context, representation_relationship); - END_TYPE; - -(* Implicit interfaced from: material_property_definition_schema *) -(* This SELECT set has been pruned. *) -TYPE characterized_product_composition_value = SELECT ( - measure_with_unit); -END_TYPE; - - -(* Implicit interfaced from: product_definition_schema *) - TYPE source = ENUMERATION OF (made, bought, not_known); - END_TYPE; - -(* Implicit interfaced from: draughting_element_schema *) - TYPE dimension_extent_usage = ENUMERATION OF - (origin, - target); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE surface_style_element_select = SELECT - (surface_style_fill_area, - surface_style_boundary, - surface_style_silhouette, - surface_style_segmentation_curve, - surface_style_control_grid, - surface_style_parameter_line, - surface_style_rendering); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE camera_model_d3_multi_clipping_interection_select = SELECT ( - camera_model_d3_multi_clipping_union, - plane); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE camera_model_d3_multi_clipping_union_select = SELECT ( - camera_model_d3_multi_clipping_intersection, - plane); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE central_or_parallel = ENUMERATION OF - (central, - parallel); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE presentation_size_assignment_select = SELECT - (presentation_view, - presentation_area, - area_in_set); - END_TYPE; - -(* Implicit interfaced from: solid_shape_element_schema *) -TYPE generalized_surface_select = SELECT - (surface, - face_surface, - surfaced_open_shell); -END_TYPE; - -(* Implicit interfaced from: material_property_definition_schema *) -TYPE characterized_material_property = SELECT - (material_property_representation, - product_material_composition_relationship); -END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE character_style_select = SELECT - (character_glyph_style_stroke, - character_glyph_style_outline, - text_style_for_defined_font); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE character_spacing_select = SELECT ( - length_measure, - ratio_measure, - measure_with_unit, - descriptive_measure); -END_TYPE; - - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_delineation = label; - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE defined_glyph_select = SELECT - (pre_defined_character_glyph, - externally_defined_character_glyph); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_style_font_select = SELECT - (curve_style_font, - pre_defined_curve_font, - externally_defined_curve_font); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_path = ENUMERATION OF - (left, - right, - up, - down); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE annotation_text_occurrence_item = SELECT( - text_literal, - annotation_text, - annotation_text_character, - defined_character_glyph, - composite_text); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE curve_or_curve_set = SELECT ( - curve, - geometric_curve_set); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_string_representation_item = SELECT( - text_literal, - annotation_text, - annotation_text_character, - defined_character_glyph, - composite_text, - axis2_placement); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE rendering_properties_select = SELECT - (surface_style_reflectance_ambient, - surface_style_transparent); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE size_select = SELECT ( - positive_length_measure, - measure_with_unit, - descriptive_measure); -END_TYPE; - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE box_characteristic_select = SELECT - (box_height, - box_width, - box_slant_angle, - box_rotate_angle); - END_TYPE; - -(* Implicit interfaced from: draughting_element_schema *) - TYPE annotation_plane_element = SELECT - (draughting_callout, - styled_item); - END_TYPE; - -(* Implicit interfaced from: draughting_element_schema *) - TYPE plane_or_planar_box = SELECT - (plane, - planar_box) ; - END_TYPE; - -(* Implicit interfaced from: draughting_element_schema *) - TYPE draughting_callout_element = SELECT - (annotation_curve_occurrence, - annotation_fill_area_occurrence, - annotation_symbol_occurrence, - annotation_text_occurrence, - tessellated_annotation_occurrence); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE fill_area_style_tile_shape_select = SELECT - (fill_area_style_tile_curve_with_style, - fill_area_style_tile_coloured_region, - fill_area_style_tile_symbol_with_style, - pre_defined_tile, - externally_defined_tile); - END_TYPE; - -(* Implicit interfaced from: date_time_schema *) -TYPE day_in_year_number = INTEGER; -WHERE - WR1: {1 <= SELF <= 366}; -END_TYPE; - -(* Pruned unused type: apps_role_select *) - - -(* Pruned unused type: apps_description_attribute_select *) - - -(* Implicit interfaced from: product_property_representation_schema *) - TYPE item_identified_representation_usage_select = SELECT ( - representation_item, - list_representation_item, - set_representation_item); - END_TYPE; - -(* Implicit interfaced from: geometry_schema *) -TYPE knot_type = ENUMERATION OF - (uniform_knots, - quasi_uniform_knots, - piecewise_bezier_knots, - unspecified); -END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE reversible_topology = SELECT - (reversible_topology_item, - list_of_reversible_topology_item, - set_of_reversible_topology_item); - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE list_of_reversible_topology_item = - LIST [0:?] of reversible_topology_item; - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE reversible_topology_item = SELECT - (edge, - path, - face, - face_bound, - closed_shell, - open_shell); - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE set_of_reversible_topology_item = - SET [0:?] of reversible_topology_item; - END_TYPE; - -(* Implicit interfaced from: topology_schema *) - TYPE shell = SELECT - (vertex_shell, - wire_shell, - open_shell, - closed_shell); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE layered_item = SELECT - (presentation_representation, - representation_item); - END_TYPE; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* This EXTENSIBLE SELECT have been replaced with plain SELECT for EXPRESS E1 layout. *) -TYPE shape_representation_with_parameters_items = SELECT ( - descriptive_representation_item, - direction, - measure_representation_item, - placement); -END_TYPE; - - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE fill_style_select = SELECT ( - fill_area_style_colour, - externally_defined_tile_style, - fill_area_style_tiles, - externally_defined_hatch_style, - fill_area_style_hatching); -END_TYPE; - - -(* Implicit interfaced from: presentation_appearance_schema *) -(* This SELECT set has been pruned. *) -TYPE symbol_style_select = SELECT ( - symbol_colour); -END_TYPE; - - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE text_or_character = SELECT - (annotation_text, - annotation_text_character, - defined_character_glyph, - composite_text, - text_literal); - END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE defined_symbol_select = SELECT - (pre_defined_symbol, - externally_defined_symbol); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE presentation_representation_select = SELECT - (presentation_representation, - presentation_set); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_or_annotation_curve_occurrence = SELECT - (curve, - annotation_curve_occurrence); - END_TYPE; - -(* Pruned unused type: shape_tolerance_select *) - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE curve_or_render = SELECT - (curve_style, - curve_style_rendering); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE shading_surface_method = ENUMERATION OF - (constant_shading, - colour_shading, - dot_shading, - normal_shading); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE direction_count_select = SELECT - (u_direction_count, - v_direction_count); - END_TYPE; - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE surface_side_style_select = SELECT - (surface_side_style, - pre_defined_surface_side_style); - END_TYPE; - -(* Implicit interfaced from: presentation_organization_schema *) - TYPE area_or_view = SELECT - (presentation_area, - presentation_view); - END_TYPE; - -(* Pruned unused type: pprs_description_attribute_select *) - - -(* Implicit interfaced from: presentation_appearance_schema *) - TYPE shading_curve_method = ENUMERATION OF - (constant_colour, - linear_colour); - END_TYPE; - -(* Pruned unused type: pprs_name_attribute_select *) - - -(* Implicit interfaced from: management_resources_schema *) - TYPE attribute_type = SELECT (label, text); - END_TYPE; - -(* Pruned unused type: acs_description_attribute_select *) - - -(* Pruned unused type: acs_id_attribute_select *) - - -(* Pruned unused type: as_id_attribute_select *) - - -(* Pruned unused type: pos_description_attribute_select *) - - -(* Pruned unused type: mrs_role_select *) - - -(* Pruned unused type: gs_id_attribute_select *) - - -(* Pruned unused type: rs_description_attribute_select *) - - -(* Pruned unused type: rs_id_attribute_select *) - - -(* Pruned unused type: dts_description_attribute_select *) - - -(* Pruned unused type: ppds_id_attribute_select *) - - -(* Pruned unused type: surface_boundary *) - - -(* Pruned unused type: pos_id_attribute_select *) - - -(* Pruned unused type: st_id_attribute_select *) - - -(* Pruned unused type: sts_item_identified_representation_usage_definition *) - - -(* Pruned unused type: pds_id_attribute_select *) - - -(* Pruned unused type: pos_name_attribute_select *) - - -(* Pruned unused type: as_description_attribute_select *) - - -(* Pruned unused type: as_name_attribute_select *) - - -(* Pruned unused type: effs_description_attribute_select *) - - -(* Pruned unused type: effs_name_attribute_select *) - - -(* Implicit interfaced from: geometric_model_schema *) -TYPE surface_model = SELECT - (face_based_surface_model, - shell_based_surface_model); -END_TYPE; - -(* Pruned unused type: wireframe_model *) - - -(* Pruned unused type: cms_description_attribute_select *) - - -(* Pruned unused type: cms_name_attribute_select *) - - -(* Pruned unused type: pds_name_attribute_select *) - - -(* Pruned unused type: product_data_representation_view_item *) - - -(* Pruned unused type: des_invisible_item *) - -(* USED FROM (kinematic_state_schema); *) -TYPE ypr_rotation = ARRAY [ypr_index(yaw) : ypr_index(roll)] - OF plane_angle_measure; -END_TYPE; -(* USED FROM (sketch_schema); *) -TYPE planar_curve_select = SELECT - (line, - conic, - trimmed_curve, - pcurve, - surface_curve); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; - WR2: check_curve_planarity(SELF); -END_TYPE; - -(* Implicit interfaced from: presentation_definition_schema *) - TYPE presentable_text = STRING; - WHERE - WR1: control_characters_free(SELF); - END_TYPE; -(* USED FROM (shape_aspect_definition_schema); *) -TYPE common_datum_list = LIST[2:?] OF datum_reference_element; -WHERE - WR1: SIZEOF( QUERY(dre <* SELF | dre\shape_aspect.of_shape <> SELF[1]\shape_aspect.of_shape)) = 0; -END_TYPE; -(* USED FROM (parameterization_schema); *) -TYPE attribute_identifier = identifier; -WHERE - WR1: validate_attribute_id(SELF); -END_TYPE; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_inspection_result_representation_with_accuracy - SUBTYPE OF(shape_data_quality_inspection_result_representation); - applied_general_accuracy : SET [1:?] OF shape_measurement_accuracy; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_certification - SUBTYPE OF (certification_assignment); - items : SET[1:?] OF certified_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_contract - SUBTYPE OF (contract_assignment); - items : SET[1:?] OF contracted_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_date_and_time_assignment - SUBTYPE OF (date_and_time_assignment); - items : SET[1:?] OF date_time_item; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_result - SUBTYPE OF(data_quality_inspection_result); - SELF\data_quality_inspection_result.criterion_inspected:shape_data_quality_criterion; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_security_classification - SUBTYPE OF (security_classification_assignment); - items : SET[1:?] OF cc_classified_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_specification_reference - SUBTYPE OF (document_reference); - items : SET[1:?] OF cc_specified_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY change - SUBTYPE OF (action_assignment); - items : SET[1:?] OF work_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY change_request - SUBTYPE OF (action_request_assignment); - items : SET[1:?] OF change_request_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY design_context - SUBTYPE OF (product_definition_context); - WHERE - WR1: SELF.life_cycle_stage = 'design'; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY design_make_from_relationship - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY mechanical_context - SUBTYPE OF (product_context); - WHERE - WR1: SELF.discipline_type = 'mechanical'; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY start_request - SUBTYPE OF (action_request_assignment); - items : SET[1:?] OF start_request_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY start_work - SUBTYPE OF (action_assignment); - items : SET[1:?] OF work_item; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY supplied_part_relationship - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Assembly_module_with_macro_component_mim); *) - ENTITY assembly_module_macro_component - SUBTYPE OF (physical_component); - END_ENTITY; -(* USED FROM (Assembly_module_with_macro_component_mim); *) -ENTITY assembly_module_macro_component_join_terminal - SUBTYPE OF (physical_component_terminal); -END_ENTITY; -(* USED FROM (Assembly_physical_requirement_allocation_mim); *) -ENTITY electromagnetic_compatibility_requirement_allocation - SUPERTYPE OF ( - ASSEMBLY_SHIELD_ALLOCATION) - SUBTYPE OF (requirement_assignment); -END_ENTITY; -(* USED FROM (Assembly_physical_requirement_allocation_mim); *) -ENTITY assembly_shield_allocation - SUBTYPE OF (electromagnetic_compatibility_requirement_allocation); -END_ENTITY; -(* USED FROM (Assembly_physical_requirement_allocation_mim); *) -ENTITY thermal_requirement_allocation - SUBTYPE OF (requirement_assignment); -END_ENTITY; -(* USED FROM (Datum_difference_based_model_mim); *) -ENTITY datum_difference_based_model_parameter - SUBTYPE OF (model_parameter); -END_ENTITY; -(* USED FROM (Datum_difference_based_model_mim); *) -ENTITY datum_difference_functional_unit_usage_view_terminal_assignment - SUBTYPE OF (shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : datum_difference; - SELF\shape_aspect_relationship.related_shape_aspect : functional_unit_terminal_definition; -END_ENTITY; -(* USED FROM (Datum_difference_based_model_mim); *) -ENTITY datum_difference - SUBTYPE OF (shape_aspect,shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : datum; - SELF\shape_aspect_relationship.related_shape_aspect : datum; -WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: - SELF\shape_aspect_relationship.related_shape_aspect; -END_ENTITY; -(* USED FROM (Electrical_network_definition_mim); *) -ENTITY electrical_network - SUBTYPE OF (functional_unit); -END_ENTITY; -(* USED FROM (Interconnect_non_planar_shape_mim); *) -ENTITY manifold_constraining_context_dependent_shape_representation - SUBTYPE OF (context_dependent_shape_representation, representation_relationship); -END_ENTITY; -(* USED FROM (Interconnect_non_planar_shape_mim); *) -ENTITY component_part_2d_non_planar_geometric_representation_relationship - SUBTYPE OF (shape_representation_relationship, representation_relationship_with_transformation); -END_ENTITY; -(* USED FROM (Interconnect_placement_requirements_mim); *) - ENTITY area_qualified_layout_spacing_requirement - SUBTYPE OF (layout_spacing_requirement); - END_ENTITY; -(* USED FROM (Interconnect_placement_requirements_mim); *) - ENTITY layout_spacing_contextual_area - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Interconnect_placement_requirements_mim); *) - ENTITY interconnect_module_design_object_category - SUBTYPE OF (characterized_object); - END_ENTITY; -(* USED FROM (Interconnect_placement_requirements_mim); *) - ENTITY layer_qualified_layout_spacing_requirement - SUBTYPE OF (layout_spacing_requirement); - END_ENTITY; -(* USED FROM (Interconnect_placement_requirements_mim); *) - ENTITY layout_spacing_requirement - SUBTYPE OF (predefined_requirement_view_definition); - END_ENTITY; -(* USED FROM (Layout_macro_definition_mim); *) -ENTITY layout_macro_component - SUBTYPE OF (printed_component); -END_ENTITY; -(* USED FROM (Layout_macro_definition_mim); *) -ENTITY layout_macro_definition - SUBTYPE OF (layered_interconnect_module_design_view); -END_ENTITY; -(* USED FROM (Layout_macro_definition_mim); *) -ENTITY layout_macro_definition_terminal_to_usage_terminal_assignment - SUBTYPE OF (shape_aspect, shape_aspect_relationship); - SELF\shape_aspect_relationship.related_shape_aspect : printed_part_template_terminal; -UNIQUE - UR1: SELF\shape_aspect_relationship.name; -END_ENTITY; -(* USED FROM (Layout_macro_definition_mim); *) -ENTITY layout_macro_floor_plan_template - SUBTYPE OF (printed_part_template); -END_ENTITY; -(* USED FROM (Packaged_part_white_box_model_mim); *) -ENTITY device_terminal_map - SUBTYPE OF (shape_aspect, shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : packaged_part_terminal; -UNIQUE - UR1: SELF\shape_aspect_relationship.related_shape_aspect, - SELF\shape_aspect_relationship.relating_shape_aspect; -END_ENTITY; -(* USED FROM (Part_feature_grouping_mim); *) -ENTITY composite_array_shape_aspect - SUPERTYPE OF (ONEOF ( - LINEAR_COMPOSITE_ARRAY_SHAPE_ASPECT, - RECTANGULAR_COMPOSITE_ARRAY_SHAPE_ASPECT)) - SUBTYPE OF (composite_shape_aspect); -END_ENTITY; -(* USED FROM (Part_feature_grouping_mim); *) -ENTITY composite_array_shape_aspect_link - SUBTYPE OF (shape_aspect,shape_aspect_relationship); -WHERE - WR1: SELF\shape_aspect_relationship.related_shape_aspect :<>: - SELF\shape_aspect_relationship.relating_shape_aspect; -END_ENTITY; -(* USED FROM (Part_feature_grouping_mim); *) -ENTITY linear_composite_array_shape_aspect - SUBTYPE OF (composite_array_shape_aspect); -END_ENTITY; -(* USED FROM (Part_feature_grouping_mim); *) -ENTITY linear_composite_array_shape_aspect_link - SUBTYPE OF (shape_aspect,shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : linear_composite_array_shape_aspect; - SELF\shape_aspect_relationship.related_shape_aspect : linear_composite_array_shape_aspect; -WHERE - WR1: SELF\shape_aspect_relationship.related_shape_aspect :<>: - SELF\shape_aspect_relationship.relating_shape_aspect; -END_ENTITY; -(* USED FROM (Part_feature_grouping_mim); *) -ENTITY rectangular_composite_array_shape_aspect - SUBTYPE OF (composite_array_shape_aspect); -END_ENTITY; -(* USED FROM (Physical_node_requirement_to_implementing_component_allocation_mim); *) - ENTITY assembly_to_part_connectivity_structure_allocation - SUBTYPE OF (shape_aspect_relationship, shape_aspect); - SELF\shape_aspect_relationship.related_shape_aspect : physical_connectivity_element; -- assembly_element : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\shape_aspect_relationship.relating_shape_aspect : part_connected_terminals_element; -- part_element : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - assembly_element : PHYSICAL_CONNECTIVITY_ELEMENT := SELF\shape_aspect_relationship.related_shape_aspect; -- RELATED_SHAPE_ASPECT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - part_element : PART_CONNECTED_TERMINALS_ELEMENT := SELF\shape_aspect_relationship.relating_shape_aspect; -- RELATING_SHAPE_ASPECT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - - END_ENTITY; -(* USED FROM (Physical_node_requirement_to_implementing_component_allocation_mim); *) - ENTITY physical_node_branch_requirement_to_implementing_component_allocation - SUBTYPE OF (shape_aspect_relationship, shape_aspect); - SELF\shape_aspect_relationship.related_shape_aspect : physical_connectivity_element; -- physical_node_branch_requirement : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\shape_aspect.of_shape : assembly_component; -- implementation_component : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\shape_aspect_relationship.relating_shape_aspect : part_connected_terminals_element; -- part_element : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - implementation_component : ASSEMBLY_COMPONENT := SELF\shape_aspect.of_shape; -- OF_SHAPE : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - part_element : PART_CONNECTED_TERMINALS_ELEMENT := SELF\shape_aspect_relationship.relating_shape_aspect; -- RELATING_SHAPE_ASPECT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - physical_node_branch_requirement : PHYSICAL_CONNECTIVITY_ELEMENT := SELF\shape_aspect_relationship.related_shape_aspect; -- RELATED_SHAPE_ASPECT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY boundary_curve_of_b_spline_or_rectangular_composite_surface - SUBTYPE OF(founded_item); - basis_surface : b_spline_or_rectangular_composite_surface_select; - boundary_type : surface_boundary_type; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (Physical_unit_interconnect_definition_mim); *) -ENTITY connector_based_interconnect_definition - SUBTYPE OF (property_definition); - SELF\property_definition.definition : physical_unit_interconnect_definition; -UNIQUE - UR1: SELF\property_definition.name,SELF\property_definition.definition; -END_ENTITY; -(* USED FROM (Physical_unit_interconnect_definition_mim); *) -ENTITY physical_unit_interconnect_definition - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (Pre_defined_datum_symbol_mim); *) -ENTITY pre_defined_parallel_datum_axis_symbol_3d_2d_relationship - SUBTYPE OF (shape_definition_3d_intersection); -END_ENTITY; -(* USED FROM (Pre_defined_datum_symbol_mim); *) -ENTITY pre_defined_perpendicular_datum_axis_symbol_3d_2d_relationship - SUBTYPE OF (shape_definition_3d_intersection); -END_ENTITY; -(* USED FROM (Pre_defined_datum_symbol_mim); *) -ENTITY pre_defined_perpendicular_datum_plane_symbol_3d_2d_relationship - SUBTYPE OF (shape_definition_3d_intersection); -END_ENTITY; -(* USED FROM (Sequential_laminate_assembly_design_mim); *) - ENTITY derived_laminate_assignment - SUBTYPE OF (property_definition_relationship); - END_ENTITY; -(* USED FROM (Sequential_laminate_assembly_design_mim); *) - ENTITY interconnect_module_stratum_based_terminal - SUBTYPE OF (interconnect_module_terminal); - END_ENTITY; -(* USED FROM (Sequential_laminate_assembly_design_mim); *) - ENTITY sequential_laminate_passage_based_fabrication_joint - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Sequential_laminate_assembly_design_mim); *) - ENTITY sequential_laminate_stackup_component - SUBTYPE OF(physical_component); - END_ENTITY; -(* USED FROM (Sequential_laminate_assembly_design_mim); *) - ENTITY sequential_laminate_stackup_definition - SUBTYPE OF(product_definition); - END_ENTITY; -(* USED FROM (Thermal_network_definition_mim); *) -ENTITY thermal_network - SUBTYPE OF (functional_unit); -END_ENTITY; -(* USED FROM (Thermal_network_definition_mim); *) -ENTITY thermal_network_node_definition - SUBTYPE OF (network_node_definition); -END_ENTITY; -(* USED FROM (Via_component_mim); *) - ENTITY blind_via - ABSTRACT SUPERTYPE OF (ONEOF ( - NON_CONDUCTIVE_BASE_BLIND_VIA, - PLATED_CONDUCTIVE_BASE_BLIND_VIA)) - SUBTYPE OF (via); - END_ENTITY; -(* USED FROM (Via_component_mim); *) - ENTITY buried_via - SUBTYPE OF (via); - END_ENTITY; -(* USED FROM (Via_component_mim); *) - ENTITY interfacial_connection - SUBTYPE OF (via); - END_ENTITY; -(* USED FROM (Via_component_mim); *) - ENTITY non_conductive_base_blind_via - SUBTYPE OF (blind_via); - END_ENTITY; -(* USED FROM (Via_component_mim); *) - ENTITY plated_conductive_base_blind_via - SUBTYPE OF (blind_via); - END_ENTITY; -(* USED FROM (Interconnect_physical_requirement_allocation_mim); *) - ENTITY interconnect_shield_allocation - SUBTYPE OF (requirement_assignment); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY offset_curve_2d - SUBTYPE OF (curve); - basis_curve : curve; - distance : length_measure; - self_intersect : LOGICAL; -WHERE - WR1: basis_curve.dim = 2; -END_ENTITY; -(* USED FROM (Mating_structure_mim); *) -ENTITY mated_part_relationship - SUBTYPE OF (group, group_assignment, product_definition_shape, product_definition_relationship, shape_aspect); - items : SET [0:?] OF product_definition; -DERIVE - SELF\group_assignment.assigned_group : mated_part_relationship := SELF; - SELF\property_definition.definition : mated_part_relationship := SELF; - SELF\shape_aspect.of_shape : mated_part_relationship := SELF; -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY excessive_use_of_groups - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GROUP']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) - ENTITY externally_conditioned_data_quality_inspection_result - SUBTYPE OF(data_quality_inspection_result); - WHERE - WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' IN TYPEOF - (SELF\data_quality_inspection_result.criterion_inspected); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY excessive_use_of_layers - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_LAYER_ASSIGNMENT']); - END_ENTITY; -(* USED FROM (Machining_features_mim); *) -ENTITY face_shape_representation_relationship - SUBTYPE OF (representation_relationship); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(SELF.rep_1)); - WR2: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(SELF.rep_2)); -END_ENTITY; - -(* Implicit interfaced from: presentation_definition_schema *) - ENTITY symbol_target - SUBTYPE OF (geometric_representation_item); - placement : axis2_placement; - x_scale : positive_ratio_measure; - y_scale : positive_ratio_measure; - END_ENTITY; -(* REFERENCE FROM (product_definition_schema); *) - ENTITY product_definition_effectivity - SUBTYPE OF (effectivity); - usage : product_definition_relationship; - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EFFECTIVITY_ASSIGNMENT.ASSIGNED_EFFECTIVITY')) = 0; - END_ENTITY; - -(* Implicit interfaced from: management_resources_schema *) - ENTITY effectivity_context_role; - name : label; - description : OPTIONAL text; - END_ENTITY; - -(* Implicit interfaced from: product_concept_schema *) -ENTITY concept_feature_relationship; - name : label; - description : OPTIONAL text; - relating_product_concept_feature : product_concept_feature; - related_product_concept_feature : product_concept_feature; -END_ENTITY; - -(* Implicit interfaced from: product_concept_schema *) -ENTITY concept_feature_relationship_with_condition - SUBTYPE OF (concept_feature_relationship); - conditional_operator : concept_feature_operator; -END_ENTITY; - -(* Implicit interfaced from: geometric_model_schema *) -ENTITY swept_area_solid - SUPERTYPE OF (ONEOF ( - REVOLVED_AREA_SOLID, - EXTRUDED_AREA_SOLID, - SURFACE_CURVE_SWEPT_AREA_SOLID)) - SUBTYPE OF (solid_model); - swept_area : curve_bounded_surface; -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(swept_area.basis_surface); -END_ENTITY; - -(* Implicit interfaced from: topology_schema *) - ENTITY oriented_open_shell - SUBTYPE OF (open_shell); - open_shell_element : open_shell; - orientation : BOOLEAN; - DERIVE - SELF\connected_face_set.cfs_faces : SET [1:?] OF face - := conditional_reverse(SELF.orientation, - SELF.open_shell_element.cfs_faces); - WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_OPEN_SHELL' - IN TYPEOF (SELF.open_shell_element)); - END_ENTITY; - -(* Implicit interfaced from: topology_schema *) - ENTITY oriented_path - SUBTYPE OF (path); - path_element : path; - orientation : BOOLEAN; - DERIVE - SELF\path.edge_list : LIST [1:?] OF UNIQUE oriented_edge - := conditional_reverse(SELF.orientation, - SELF.path_element.edge_list); - WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF (SELF.path_element)); - END_ENTITY; - -(* Implicit interfaced from: presentation_appearance_schema *) - ENTITY two_direction_repeat_factor - SUBTYPE OF (one_direction_repeat_factor); - second_repeat_factor : vector; - END_ENTITY; - -(* Implicit interfaced from: presentation_appearance_schema *) - ENTITY one_direction_repeat_factor - SUBTYPE OF (geometric_representation_item); - repeat_factor : vector; - END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_hole - ABSTRACT SUPERTYPE OF ( - SOLID_WITH_STEPPED_ROUND_HOLE) - SUBTYPE OF (solid_with_depression); -END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY product_definition_resource - SUBTYPE OF (action_resource,product_definition); -WHERE - WR1: SIZEOF( USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'REQUIREMENT_FOR_ACTION_RESOURCE.RESOURCES') - ) > 0; - - WR2: SELF.frame_of_reference.name IN - ['part_definition','part occurrence','physical occurrence']; - -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_slot - ABSTRACT SUPERTYPE OF ((ONEOF ( - SOLID_WITH_TRAPEZOIDAL_SECTION_SLOT, - SOLID_WITH_TEE_SECTION_SLOT)) - AND (ONEOF ( - SOLID_WITH_STRAIGHT_SLOT, - SOLID_WITH_CURVED_SLOT))) - SUBTYPE OF (solid_with_depression); - slot_width : positive_length_measure; - closed_ends : LIST[2:2] OF LOGICAL; - end_exit_faces : LIST[2:2] OF SET[0:?] OF face_surface; -WHERE - WR1: NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' IN - TYPEOF(SELF)) AND (closed_ends = [FALSE,FALSE])); - WR2: NOT(((closed_ends[1] = TRUE) AND (SIZEOF(end_exit_faces[1]) <> 0)) - OR ((closed_ends[2] = TRUE) AND (SIZEOF(end_exit_faces[2]) <> 0))); -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY boolean_result_2d - SUBTYPE OF (boolean_result); - SELF\boolean_result.first_operand : boolean_operand_2d; - SELF\boolean_result.second_operand : boolean_operand_2d; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY closed_curve_style_parameters - SUBTYPE OF(curve_style_parameters_representation); - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY complex_area - ABSTRACT SUPERTYPE OF ( - PATH_AREA_WITH_PARAMETERS - ANDOR - PRIMITIVE_2D_WITH_INNER_BOUNDARY) - SUBTYPE OF (primitive_2d); - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY csg_primitive_solid_2d - SUBTYPE OF (csg_solid_2d); - SELF\csg_solid.tree_root_expression : bounded_primitive_2d; - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY inappropriate_element_visibility - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM']); - END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_pocket - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_RECTANGULAR_POCKET, - SOLID_WITH_CIRCULAR_POCKET, - SOLID_WITH_GENERAL_POCKET)) - -SUBTYPE OF (solid_with_depression); - floor_blend_radius : non_negative_length_measure; - draft_angle : plane_angle_measure; -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) -ENTITY curve_style_parameters_representation - SUBTYPE OF(representation); -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) -ENTITY curve_style_parameters_with_ends - SUBTYPE OF(curve_style_parameters_representation); -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) -ENTITY path_area_with_parameters - SUBTYPE OF (complex_area, mapped_item); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF(SELF\mapped_item.mapping_target); - -- the mapping source must be a curve (open or closed) - -- no the mapping target must be a curve (open or closed) - --wr2: -- the mapping_source.mapped_representation must be curve_style_parameters_representation; - WR2: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_PARAMETERS_REPRESENTATION' IN TYPEOF(SELF\mapped_item.mapping_source\representation_map.mapped_representation); - WR3: SELF\mapped_item.mapping_source\representation_map.mapping_origin\representation_item.name = 'curve width'; - --don't reall care on mapping_source.mapping_origin. Best to make it the line-width -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY inappropriate_use_of_layer - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_LAYER_ASSIGNMENT']); - END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_depression - ABSTRACT SUPERTYPE OF ( - SOLID_WITH_THROUGH_DEPRESSION - ANDOR ONEOF ( - SOLID_WITH_HOLE, - SOLID_WITH_POCKET, - SOLID_WITH_SLOT, - SOLID_WITH_GROOVE)) - SUBTYPE OF (modified_solid_with_placed_configuration); - depth : positive_length_measure; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_shape_element_pattern - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_CIRCULAR_PATTERN, - SOLID_WITH_RECTANGULAR_PATTERN)) - SUBTYPE OF (modified_solid_with_placed_configuration); - replicated_element : modified_solid_with_placed_configuration; -END_ENTITY; -(* USED FROM (Product_as_individual_assembly_and_test_mim); *) -ENTITY evaluated_characteristic_of_product_as_individual_test_result - SUBTYPE OF (evaluated_characteristic); -END_ENTITY; -(* USED FROM (Characterized_representation_mim); *) -ENTITY characterized_representation - SUBTYPE OF (representation, characterized_object); -DERIVE - SELF\characterized_object.name : label := SELF\representation.name; - SELF\characterized_object.description : text := SELF\representation.description; -END_ENTITY; -(* USED FROM (Composite_material_aspects_mim); *) - ENTITY composite_material_designation - SUBTYPE OF (material_designation); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_agreed_accuracy_parameter_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY inconsistent_element_reference - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM']); - END_ENTITY; - -(* Implicit interfaced from: procedural_model_schema *) -ENTITY user_selected_elements - SUBTYPE OF (representation_item); - picked_items : SET[1:?] OF representation_item; -END_ENTITY; - -(* Implicit interfaced from: presentation_organization_schema *) - ENTITY camera_model_d2 - SUBTYPE OF (camera_model); - view_window : planar_box; - view_window_clipping : BOOLEAN; - WHERE - WR1: SELF\geometric_representation_item.dim = 2; - END_ENTITY; -(* USED FROM (Dimension_and_tolerance_callouts_mim); *) -ENTITY dimension_curve_terminator_to_projection_curve_associativity - SUBTYPE OF(annotation_occurrence_associativity); - SELF\annotation_occurrence_relationship.relating_annotation_occurrence : dimension_curve_terminator; - SELF\annotation_occurrence_relationship.related_annotation_occurrence : projection_curve; -END_ENTITY; -(* REFERENCE FROM (procedural_model_schema); *) -ENTITY indirectly_selected_elements - SUBTYPE OF (user_selected_elements); - indirectly_picked_items : SET[1:?] OF representation_item; -END_ENTITY; -(* USED FROM (Drawing_definition_mim); *) -ENTITY drawing_sheet_layout - SUBTYPE OF (draughting_symbol_representation); -END_ENTITY; -(* USED FROM (External_currency_mim); *) - ENTITY externally_defined_currency - SUBTYPE OF (currency, externally_defined_context_dependent_unit); - END_ENTITY; -(* USED FROM (External_representation_item_mim); *) - ENTITY externally_defined_representation_item - SUBTYPE OF (representation_item, externally_defined_item); - END_ENTITY; -(* USED FROM (External_representation_item_mim); *) - ENTITY externally_defined_string - SUBTYPE OF (externally_defined_representation_item); - END_ENTITY; -(* USED FROM (External_representation_item_mim); *) - ENTITY externally_defined_representation - SUBTYPE OF (representation, externally_defined_item); - SELF\representation.items : SET [1:?] OF externally_defined_representation_item; - END_ENTITY; -(* USED FROM (Geometric_tolerance_mim); *) -ENTITY feature_for_datum_target_relationship - SUBTYPE OF (shape_aspect_relationship); - SELF\shape_aspect_relationship.related_shape_aspect : datum_target; -UNIQUE - UR1: related_shape_aspect; -WHERE - WR1: relating_shape_aspect.of_shape :=: related_shape_aspect.of_shape; - WR2: relating_shape_aspect\shape_aspect.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_agreed_unit_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT']); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_referenced_coordinate_system - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D']); - END_ENTITY; -(* USED FROM (Mechanical_design_presentation_representation_with_draughting_mim); *) - ENTITY mechanical_design_presentation_representation_with_draughting - SUBTYPE of (representation); - SELF\representation.items : SET[1:?] OF camera_model_d3; - END_ENTITY; -(* USED FROM (Mechanical_design_presentation_representation_with_draughting_mim); *) - ENTITY mechanical_design_and_draughting_relationship - SUBTYPE OF(definitional_representation_relationship_with_same_context); - SELF\representation_relationship.rep_1 : mechanical_design_and_draughting_relationship_select; - SELF\representation_relationship.rep_2 : mechanical_design_and_draughting_relationship_select; - WHERE - WR1: NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_2)) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'DRAUGHTING_MODEL' IN TYPEOF(rep_1)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); - WR2: NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); - WR3: NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_2)) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' IN TYPEOF(rep_1)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'SHAPE_REPRESENTATION' IN TYPEOF(rep_1))); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY unused_shape_element - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM']); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY composite_assembly_table - SUBTYPE OF (part_laminate_table); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY laminate_table - SUPERTYPE OF (ONEOF ( - PART_LAMINATE_TABLE, - ZONE_STRUCTURAL_MAKEUP)) - SUBTYPE OF (product_definition); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY part_laminate_table - SUPERTYPE OF (ONEOF ( - COMPOSITE_ASSEMBLY_TABLE, - PLY_LAMINATE_TABLE)) - SUBTYPE OF (laminate_table); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY percentage_laminate_table - SUBTYPE OF (zone_structural_makeup); - END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_product_association - ABSTRACT SUPERTYPE; - name : label; - description : OPTIONAL text; - relating_document : document; - related_product : product_or_formation_or_definition; - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY ply_laminate_table - SUBTYPE OF (part_laminate_table); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY smeared_material_definition - SUBTYPE OF (zone_structural_makeup); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY thickness_laminate_table - SUBTYPE OF (zone_structural_makeup); - END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY zone_structural_makeup - SUPERTYPE OF (ONEOF (( - SMEARED_MATERIAL_DEFINITION - AND - THICKNESS_LAMINATE_TABLE),( - SMEARED_MATERIAL_DEFINITION - AND - PERCENTAGE_LAMINATE_TABLE), - THICKNESS_LAMINATE_TABLE, - PERCENTAGE_LAMINATE_TABLE, - SMEARED_MATERIAL_DEFINITION)) - SUBTYPE OF (laminate_table); - END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY externally_defined_picture_representation_item - SUBTYPE OF (picture_representation_item); - INVERSE - source : applied_external_identification_assignment FOR items; - WHERE - WR1: NOT (SELF\representation_item.name IN pre_defined_picture_representation_types); - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY document_usage_constraint_assignment - ABSTRACT SUPERTYPE; - assigned_document_usage : document_usage_constraint; - role : document_usage_role; - END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY picture_representation_item - ABSTRACT SUPERTYPE OF (ONEOF ( - EXTERNALLY_DEFINED_PICTURE_REPRESENTATION_ITEM, - PREDEFINED_PICTURE_REPRESENTATION_ITEM)) - SUBTYPE OF (bytes_representation_item); - END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY predefined_picture_representation_item - SUBTYPE OF (picture_representation_item); - WHERE - WR1: SELF\representation_item.name IN pre_defined_picture_representation_types; - END_ENTITY; -(* USED FROM (Planned_characteristic_mim); *) -ENTITY evaluated_characteristic - SUBTYPE OF (representation, representation_relationship); -UNIQUE - UR1: SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; -WHERE - WR1: SELF\representation_relationship.rep_1 <> - SELF\representation_relationship.rep_2; -END_ENTITY; -(* USED FROM (Planned_characteristic_mim); *) -ENTITY evaluation_product_definition - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY angle_direction_reference - SUBTYPE OF (representation_item_relationship, geometric_representation_item); - SELF\representation_item_relationship.relating_representation_item : orientation_basis_select; - SELF\representation_item_relationship.related_representation_item : angle_direction_reference_select; - WHERE - WR1: ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MIN_AND_MAJOR_PLY_ORIENTATION_BASIS' IN TYPEOF(relating_representation_item))) - OR - (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_PATH' IN TYPEOF(related_representation_item)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF(relating_representation_item)))); - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY draped_defined_transformation - SUBTYPE OF (transformation_with_derived_angle); - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY laid_defined_transformation - SUBTYPE OF (transformation_with_derived_angle); - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY min_and_major_ply_orientation_basis - SUBTYPE OF (representation_item_relationship, geometric_representation_item); - SELF\representation_item_relationship.relating_representation_item : axis2_placement_3d; -- minor_orientation_basis : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\representation_item_relationship.related_representation_item : axis2_placement_3d; -- major_orientation_basis : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - major_orientation_basis : AXIS2_PLACEMENT_3D := SELF\representation_item_relationship.related_representation_item; -- RELATED_REPRESENTATION_ITEM : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - minor_orientation_basis : AXIS2_PLACEMENT_3D := SELF\representation_item_relationship.relating_representation_item; -- RELATING_REPRESENTATION_ITEM : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY point_and_vector - SUBTYPE OF (compound_representation_item, geometric_representation_item); - SELF\compound_representation_item.item_element : point_and_vector_members; - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY point_path - SUBTYPE OF (compound_representation_item, geometric_representation_item); - SELF\compound_representation_item.item_element : point_path_members; - END_ENTITY; -(* USED FROM (Ply_orientation_specification_mim); *) - ENTITY transformation_with_derived_angle - SUPERTYPE OF (ONEOF ( - DRAPED_DEFINED_TRANSFORMATION, - LAID_DEFINED_TRANSFORMATION)) - SUBTYPE OF (item_defined_transformation); - SELF\item_defined_transformation.transform_item_1 : angle_direction_reference_with_a2p3d_select; - SELF\item_defined_transformation.transform_item_2 : axis2_placement_3d; - DERIVE - orientation_angle : plane_angle_measure := derive_angle ( - SELF\item_defined_transformation.transform_item_1, - SELF\item_defined_transformation.transform_item_2); - WHERE - WR1: (SELF\item_defined_transformation.transform_item_1\ - axis2_placement_3d.p[3].direction_ratios[1] = - SELF\item_defined_transformation.transform_item_2\ - axis2_placement_3d.p[3].direction_ratios[1]) - AND - (SELF\item_defined_transformation.transform_item_1\ - axis2_placement_3d.p[3].direction_ratios[2] = - SELF\item_defined_transformation.transform_item_2\ - axis2_placement_3d.p[3].direction_ratios[2]) - AND - (SELF\item_defined_transformation.transform_item_1\ - axis2_placement_3d.p[3].direction_ratios[3] = - SELF\item_defined_transformation.transform_item_2\ - axis2_placement_3d.p[3].direction_ratios[3]); - END_ENTITY; -(* USED FROM (Shape_feature_mim); *) -ENTITY shape_feature_definition - SUBTYPE OF (feature_definition); -END_ENTITY; -(* USED FROM (Shape_feature_mim); *) -ENTITY placed_feature - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY free_form_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - FREE_FORM_ASSIGNMENT, - FREE_FORM_RELATION)) - SUBTYPE OF (explicit_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF variational_parameter; - SELF\explicit_constraint.reference_elements : - SET[0:?] OF variational_parameter; - constraining_expression : expression; -END_ENTITY; - -(* Implicit interfaced from: action_schema *) - ENTITY action_resource_type; - name : label; - END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY equal_parameter_constraint - SUBTYPE OF (defined_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF variational_parameter; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF variational_parameter; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements) >= 2; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY imported_point_function - SUBTYPE OF (maths_function, generic_literal); - geometry : point; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY externally_listed_data - SUBTYPE OF (explicit_table_function, generic_literal, externally_defined_item); - value_range : maths_space; -WHERE - WR1: expression_is_constant(value_range); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY application_defined_function - SUBTYPE OF (maths_function); - explicit_domain : tuple_space; - explicit_range : tuple_space; - parameters : LIST OF maths_value; -WHERE - WR1: expression_is_constant(explicit_domain); - WR2: expression_is_constant(explicit_range); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_group - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_element - ABSTRACT SUPERTYPE OF (ONEOF ( - MODIFY_ELEMENT, - DELETE_ELEMENT, - ADD_ELEMENT)) - SUBTYPE OF (group, characterized_object); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY modify_element - SUBTYPE OF (change_element); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY delete_element - SUBTYPE OF (change_element); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY add_element - SUBTYPE OF (change_element); -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_element_sequence - SUBTYPE OF (group_relationship); - SELF\group_relationship.relating_group : change_element; -- previous : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\group_relationship.related_group : change_element; -- next : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - next : CHANGE_ELEMENT := SELF\group_relationship.related_group; -- RELATED_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - previous : CHANGE_ELEMENT := SELF\group_relationship.relating_group; -- RELATING_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_composition_relationship - SUBTYPE OF (group_relationship); - SELF\group_relationship.relating_group : change_group; -- composition : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\group_relationship.related_group : change_element; -- element : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - composition : CHANGE_GROUP := SELF\group_relationship.relating_group; -- RELATING_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - element : CHANGE_ELEMENT := SELF\group_relationship.related_group; -- RELATED_GROUP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY change_group_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : change_group; - item : change_relationship_select; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY current_change_element_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : current_element_assignment_select; - items : SET [1:?] OF change_management_object; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY previous_change_element_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : previous_element_assignment_select; - items : SET [1:?] OF change_management_object; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY frozen_assignment - SUBTYPE OF (approval_assignment); - items : SET [1:?] OF change_management_object; -END_ENTITY; -(* USED FROM (Change_management_mim); *) -ENTITY location_in_aggregate_representation_item - SUBTYPE OF (compound_representation_item); - SELF\compound_representation_item.item_element : location_in_aggregate_item; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY parallel_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF linear_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF linear_geometry_constraint_element; -END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY expression_extension_numeric - SUBTYPE OF (measure_with_unit, numeric_expression); -END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY expression_extension_string - SUBTYPE OF (measure_with_unit, string_expression); -END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY expression_extension_to_select; - type_expression_associated: expression_extension_select; -END_ENTITY; -(* USED FROM (Numerical_interface_mim); *) -ENTITY variable_expression - SUBTYPE OF (variable_semantics); - property_associated: property_variable_rep_select; -END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY application_context; - application : label; - DERIVE - description : text := get_description_value(SELF); - id : identifier := get_id_value(SELF); - INVERSE - context_elements : SET [1:?] OF application_context_element FOR frame_of_reference; - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY application_protocol_definition; - status : label; - application_interpreted_model_schema_name : label; - application_protocol_year : year_number; - application : application_context; - END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY product_context - SUBTYPE OF (application_context_element); - discipline_type : label; - END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY product_definition_context - SUBTYPE OF (application_context_element); - life_cycle_stage : label; - END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept_relationship; - name : label; - description : OPTIONAL text; - relating_product_concept : product_concept; - related_product_concept : product_concept; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_context_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY near_point_relationship - SUBTYPE OF (representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : - curve_or_surface_constraint_element; - SELF\representation_item_relationship.related_representation_item : - point; -END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY assembly_bond_definition - SUBTYPE OF (shape_aspect); -UNIQUE - UR1: SELF\shape_aspect.name; -END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY assembly_joint - SUBTYPE OF (component_feature_joint); -WHERE - WR1: acyclic_shape_aspect_relationship(SELF, - [SELF\shape_aspect_relationship.related_shape_aspect], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'ASSEMBLY_JOINT'); -END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY component_mating_constraint_condition - SUBTYPE OF (shape_aspect); -UNIQUE - UR1: SELF\shape_aspect.name, SELF\shape_aspect.of_shape; -END_ENTITY; -(* USED FROM (Assembly_technology_mim); *) -ENTITY connection_zone_based_assembly_joint - SUBTYPE OF (assembly_joint); -END_ENTITY; -(* USED FROM (Physical_unit_2d_design_view_mim); *) -ENTITY component_2d_location - SUBTYPE OF (context_dependent_shape_representation, shape_representation_relationship, representation_relationship_with_transformation, definitional_representation_relationship); - DERIVE - SELF\context_dependent_shape_representation.representation_relation : component_2d_location := SELF; -- NEW - WHERE - WR1: SELF\representation_relationship.name = 'component 2d location'; -END_ENTITY; -(* USED FROM (Assembly_module_with_cable_component_mim); *) - ENTITY cable_component - SUBTYPE OF (physical_component); - END_ENTITY; -(* USED FROM (Cable_mim); *) -ENTITY cable_terminal - SUBTYPE OF (shape_aspect); - SELF\shape_aspect.of_shape : cable_usage_view; -END_ENTITY; -(* USED FROM (Cable_mim); *) -ENTITY cable_usage_view - SUBTYPE OF (physical_unit); -END_ENTITY; -(* USED FROM (Physical_unit_3d_design_view_mim); *) -ENTITY component_3d_location - SUBTYPE OF (context_dependent_shape_representation, shape_representation_relationship, representation_relationship_with_transformation, definitional_representation_relationship); - DERIVE - SELF\context_dependent_shape_representation.representation_relation : component_3d_location := SELF; -- NEW - WHERE - WR1: SELF\representation_relationship.name = 'component 3d location'; -END_ENTITY; -(* USED FROM (Assembly_module_macro_definition_mim); *) -ENTITY assembly_module_macro_terminal - SUBTYPE OF (assembly_module_terminal); -END_ENTITY; -(* USED FROM (Interconnect_module_with_macros_mim); *) - ENTITY interconnect_module_macro_component - SUBTYPE OF (physical_component); - END_ENTITY; -(* USED FROM (Interconnect_module_with_macros_mim); *) - ENTITY interconnect_module_macro_component_join_terminal - SUBTYPE OF (physical_component_terminal); - END_ENTITY; -(* USED FROM (Assembly_module_with_subassembly_mim); *) - ENTITY assembly_module_component - SUBTYPE OF (physical_component); - END_ENTITY; -(* USED FROM (Assembly_functional_interface_requirement_mim); *) - ENTITY minimally_defined_connector - SUBTYPE OF (packaged_part); - END_ENTITY; -(* USED FROM (Assembly_functional_interface_requirement_mim); *) - ENTITY protocol_physical_layer_definition - SUBTYPE OF (product_definition); - END_ENTITY; -(* USED FROM (Assembly_functional_interface_requirement_mim); *) - ENTITY protocol_physical_layer_definition_with_characterization - SUBTYPE OF (protocol_physical_layer_definition); - END_ENTITY; -(* USED FROM (Assembly_functional_interface_requirement_mim); *) - ENTITY protocol_requirement_allocation_to_part_terminal - SUBTYPE OF (requirement_assignment); - END_ENTITY; -(* USED FROM (Altered_package_mim); *) -ENTITY altered_package_terminal - ABSTRACT SUPERTYPE OF (( - SHAPE_FORMED_TERMINAL - ANDOR - SURFACE_PREPPED_TERMINAL) - ANDOR - LENGTH_TRIMMED_TERMINAL) - SUBTYPE OF (package_terminal); -END_ENTITY; -(* USED FROM (Altered_package_mim); *) -ENTITY length_trimmed_terminal - SUBTYPE OF (altered_package_terminal); -END_ENTITY; -(* USED FROM (Altered_package_mim); *) -ENTITY shape_formed_terminal - SUBTYPE OF (altered_package_terminal); -END_ENTITY; -(* USED FROM (Altered_package_mim); *) -ENTITY surface_prepped_terminal - SUBTYPE OF (altered_package_terminal); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY visual_orientation_feature - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY guided_wave_terminal - SUBTYPE OF (package_terminal); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY package - SUBTYPE OF (physical_unit); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY package_body - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY package_body_bottom_surface - SUBTYPE OF (package_body_surface); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY package_body_edge_segment_surface - SUBTYPE OF (shape_aspect, shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; - SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; -WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: - SELF\shape_aspect_relationship.related_shape_aspect; -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY package_body_edge_surface - SUBTYPE OF (package_body_surface); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY package_body_surface - ABSTRACT SUPERTYPE OF (ONEOF ( - PACKAGE_BODY_TOP_SURFACE, - PACKAGE_BODY_EDGE_SURFACE, - PACKAGE_BODY_BOTTOM_SURFACE)) - - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY package_body_top_surface - SUBTYPE OF (package_body_surface); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY package_terminal_template_definition - SUBTYPE OF (part_feature_template_definition); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY package_terminal - SUPERTYPE OF ( - GUIDED_WAVE_TERMINAL - ANDOR - PRIMARY_REFERENCE_TERMINAL) - SUBTYPE OF (placed_feature); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY primary_orientation_feature - SUBTYPE OF (shape_aspect); -WHERE - WR1: SELF\shape_aspect.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY primary_reference_terminal - SUBTYPE OF (package_terminal); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY secondary_orientation_feature - SUBTYPE OF (shape_aspect); -WHERE - WR1: SELF.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY tertiary_orientation_feature - SUBTYPE OF (shape_aspect); -WHERE - WR1: SELF.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY wire_terminal - SUBTYPE OF (package_terminal); -END_ENTITY; -(* USED FROM (Package_mim); *) -ENTITY wire_terminal_template_definition - SUBTYPE OF (package_terminal_template_definition); -END_ENTITY; -(* USED FROM (Packaged_part_black_box_model_mim); *) -ENTITY packaged_part - SUPERTYPE OF ((ONEOF ( - MINIMALLY_DEFINED_CONNECTOR, - PACKAGED_CONNECTOR)) ) - - SUBTYPE OF (physical_unit); -END_ENTITY; -(* USED FROM (Packaged_part_black_box_model_mim); *) -ENTITY packaged_part_terminal - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Layered_3d_shape_mim); *) - ENTITY shape_definition_3d_intersection - SUPERTYPE OF ( ( (ONEOF ( - EDGE_SEGMENT_CROSS_SECTION, - PRE_DEFINED_PARALLEL_DATUM_AXIS_SYMBOL_3D_2D_RELATIONSHIP, - PRE_DEFINED_PERPENDICULAR_DATUM_AXIS_SYMBOL_3D_2D_RELATIONSHIP, - PRE_DEFINED_PERPENDICULAR_DATUM_PLANE_SYMBOL_3D_2D_RELATIONSHIP)) )ANDOR( (ONEOF ( - PRE_DEFINED_PARALLEL_DATUM_AXIS_SYMBOL_3D_2D_RELATIONSHIP, - PRE_DEFINED_PERPENDICULAR_DATUM_AXIS_SYMBOL_3D_2D_RELATIONSHIP, - PRE_DEFINED_PERPENDICULAR_DATUM_PLANE_SYMBOL_3D_2D_RELATIONSHIP)) ) ) - SUBTYPE OF (representation, - shape_representation_relationship, - representation_relationship_with_transformation); - SELF\representation_relationship_with_transformation.transformation_operator : item_defined_transformation; - UNIQUE - UR1: SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; - WHERE - WR1: SELF\representation_relationship.rep_1 :<>: SELF\representation_relationship.rep_2; - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY basic_multi_stratum_printed_part_template - SUBTYPE OF (printed_part_template); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY multi_stratum_printed_part_template - SUBTYPE OF (structured_printed_part_template, multi_stratum_structured_template); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY non_conductive_cross_section_template - SUBTYPE OF (part_template_definition); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY printed_connector_template - SUBTYPE OF (printed_part_template); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY printed_connector_template_terminal_relationship - SUBTYPE OF (shape_aspect, shape_aspect_relationship); - UNIQUE - UR1: SELF\shape_aspect_relationship.relating_shape_aspect, - SELF\shape_aspect_relationship.related_shape_aspect; - WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: - SELF\shape_aspect_relationship.related_shape_aspect; - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY printed_part_cross_section_template - SUBTYPE OF (printed_part_template); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY printed_part_cross_section_template_terminal - SUBTYPE OF (printed_part_template_terminal); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY printed_part_template - ABSTRACT SUPERTYPE OF (ONEOF ( - BASIC_MULTI_STRATUM_PRINTED_PART_TEMPLATE, - STRUCTURED_PRINTED_PART_TEMPLATE) - ANDOR - PRINTED_CONNECTOR_TEMPLATE) - SUBTYPE OF (part_template_definition); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY printed_part_template_connected_terminals_definition - SUBTYPE OF (shape_aspect); - UNIQUE - UR1: SELF\shape_aspect.name; - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY printed_part_template_material - SUBTYPE OF (product_definition); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY printed_part_template_material_link - SUBTYPE OF (shape_aspect,shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : template_material_cross_section_boundary; - SELF\shape_aspect_relationship.related_shape_aspect : template_material_cross_section_boundary; - UNIQUE - UR1: SELF\shape_aspect_relationship.related_shape_aspect, - SELF\shape_aspect_relationship.relating_shape_aspect; - WHERE - WR1: SELF\shape_aspect_relationship.related_shape_aspect :<>: - SELF\shape_aspect_relationship.relating_shape_aspect; - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY printed_part_template_terminal - SUPERTYPE OF ( - PRINTED_PART_CROSS_SECTION_TEMPLATE_TERMINAL - ANDOR - STRUCTURED_PRINTED_PART_TEMPLATE_TERMINAL) - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY printed_part_template_terminal_connection_zone_category - SUBTYPE OF (group); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY printed_tiebar_template - SUBTYPE OF (structured_printed_part_template); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY single_stratum_printed_part_template - SUBTYPE OF (structured_printed_part_template, single_stratum_structured_template); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY structured_printed_part_template - ABSTRACT SUPERTYPE OF (ONEOF ( - SINGLE_STRATUM_PRINTED_PART_TEMPLATE, - MULTI_STRATUM_PRINTED_PART_TEMPLATE)) - SUBTYPE OF (printed_part_template, structured_template); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY structured_printed_part_template_terminal - SUBTYPE OF (printed_part_template_terminal); - END_ENTITY; -(* USED FROM (Printed_physical_layout_template_mim); *) - ENTITY template_material_cross_section_boundary - SUBTYPE OF (shape_aspect); - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY imported_surface_function - SUBTYPE OF (maths_function, generic_literal); - geometry : surface; - parametric_domain : tuple_space; -WHERE - WR1: expression_is_constant(parametric_domain); -END_ENTITY; -(* USED FROM (Discrete_shield_mim); *) -ENTITY physical_shield - SUBTYPE OF (physical_component); -END_ENTITY; -(* USED FROM (Discrete_shield_mim); *) -ENTITY routed_physical_shield - SUBTYPE OF (physical_shield, routed_physical_component); -END_ENTITY; -(* USED FROM (Functional_decomposition_with_nodal_representation_to_packaged_mapping_mim); *) -ENTITY aggregate_connectivity_requirement - SUBTYPE OF (applied_group_assignment, product_definition); -END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY additive_laminate_text_component - SUBTYPE OF (generic_laminate_text_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY area_component - SUPERTYPE OF ( - CONNECTED_AREA_COMPONENT) - SUBTYPE OF (stratum_feature_template_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY breakout_occurrence - SUBTYPE OF (footprint_occurrence); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY component_termination_passage - SUBTYPE OF (plated_passage); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY conductive_interconnect_element - ABSTRACT SUPERTYPE OF (ONEOF ( - UNROUTED_CONDUCTIVE_INTERCONNECT_ELEMENT, - CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS)) - SUBTYPE OF (stratum_feature_template_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY conductive_interconnect_element_terminal_link - SUBTYPE OF (shape_aspect,shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : laminate_component_feature; - SELF\shape_aspect_relationship.related_shape_aspect : laminate_component_feature; - WHERE - WR1: SELF\shape_aspect_relationship.related_shape_aspect :<>: - SELF\shape_aspect_relationship.relating_shape_aspect; - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY conductive_interconnect_element_with_pre_defined_transitions - SUBTYPE OF (conductive_interconnect_element, item_identified_representation_usage); - DERIVE - SELF\item_identified_representation_usage.definition : property_definition := SELF; - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY connected_area_component - SUBTYPE OF (area_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY cutout - SUPERTYPE OF (ONEOF ( - PHYSICAL_CONNECTIVITY_INTERRUPTING_CUTOUT, - PLATED_CUTOUT, - PARTIALLY_PLATED_CUTOUT)) - SUBTYPE OF (inter_stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY cutout_edge_segment - SUPERTYPE OF ( - PLATED_CUTOUT_EDGE_SEGMENT) - SUBTYPE OF (inter_stratum_feature,shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; - SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; - WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: - SELF\shape_aspect_relationship.related_shape_aspect; - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY derived_stratum - SUBTYPE OF (stratum); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY design_layer_stratum - SUBTYPE OF (stratum); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY dielectric_material_passage - SUBTYPE OF (inter_stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY documentation_layer_stratum - SUBTYPE OF (stratum); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY electrical_isolation_laminate_component - SUBTYPE OF (material_removal_laminate_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY fiducial - SUBTYPE OF (laminate_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY fiducial_stratum_feature - SUBTYPE OF (stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY filled_via - SUBTYPE OF (via); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY footprint_occurrence - SUBTYPE OF (structured_layout_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY footprint_occurrence_product_definition_relationship - SUBTYPE OF (structured_layout_component_sub_assembly_relationship); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY inter_stratum_feature - SUPERTYPE OF (ONEOF ( - CUTOUT, - INTERCONNECT_MODULE_EDGE) ) - SUBTYPE OF (laminate_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY interconnect_module_design_view - SUPERTYPE OF ( - LAYERED_INTERCONNECT_MODULE_DESIGN_VIEW) - SUBTYPE OF (physical_unit); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY interconnect_module_edge - SUPERTYPE OF (ONEOF ( - PARTIALLY_PLATED_INTERCONNECT_MODULE_EDGE, - PLATED_INTERCONNECT_MODULE_EDGE)) - SUBTYPE OF (inter_stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY interconnect_module_edge_segment - SUPERTYPE OF (ONEOF ( - PLATED_INTERCONNECT_MODULE_EDGE_SEGMENT, - UNPLATED_INTERCONNECT_MODULE_EDGE_SEGMENT)) - SUBTYPE OF (inter_stratum_feature,shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; - SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; - WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: - SELF\shape_aspect_relationship.related_shape_aspect; - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY interconnect_module_macro_terminal - SUBTYPE OF (interconnect_module_terminal); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY interface_access_component_definition - SUBTYPE OF (laminate_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY interface_access_material_removal_laminate_component - SUBTYPE OF (material_removal_laminate_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY interface_access_stratum_feature_template_component - SUBTYPE OF (stratum_feature_template_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY internal_probe_access_area - SUBTYPE OF (probe_access_area); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY join_shape_aspect - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY laminate_component - SUPERTYPE OF (ONEOF ( - MATERIAL_REMOVAL_LAMINATE_COMPONENT, - STRATUM_FEATURE_TEMPLATE_COMPONENT - ANDOR - PROBE_ACCESS_AREA, - INTER_STRATUM_FEATURE, - GENERIC_LAMINATE_TEXT_COMPONENT, - LAMINATE_TEXT_STRING_COMPONENT) - ANDOR - FIDUCIAL) - SUBTYPE OF (assembly_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY laminate_component_feature - SUPERTYPE OF (ONEOF ( - LAMINATE_COMPONENT_INTERFACE_TERMINAL, - LAMINATE_COMPONENT_JOIN_TERMINAL)) - SUBTYPE OF (component_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY laminate_component_interface_terminal - SUBTYPE OF (laminate_component_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY laminate_component_join_terminal - SUBTYPE OF (laminate_component_feature, - component_terminal); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY laminate_group_component_make_from_relationship - SUBTYPE OF (make_from_usage_option); - SELF\product_definition_relationship.relating_product_definition : assembly_group_component; - SELF\product_definition_relationship.related_product_definition : assembly_group_component; - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY generic_laminate_text_component - ABSTRACT SUPERTYPE OF (ONEOF ( - ADDITIVE_LAMINATE_TEXT_COMPONENT, - MATERIAL_REMOVAL_LAMINATE_TEXT_COMPONENT)) - SUBTYPE OF (laminate_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY laminate_text_string_component - SUBTYPE OF (array_placement_group, laminate_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY layer_connection_point - SUBTYPE OF (shape_aspect); - UNIQUE - UR1: SELF\shape_aspect.name, SELF\shape_aspect.of_shape; - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY layout_junction - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY layer_stack_region - SUBTYPE OF (instanced_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY layered_interconnect_module_design_view - SUPERTYPE OF ( - LAYERED_INTERCONNECT_PANEL_DESIGN_VIEW) - SUBTYPE OF (interconnect_module_design_view); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY layered_interconnect_panel_design_view - SUBTYPE OF (layered_interconnect_module_design_view); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY material_removal_laminate_component - SUBTYPE OF (laminate_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY material_removal_structured_component - SUBTYPE OF (structured_layout_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY multi_layer_component_definition - SUBTYPE OF (laminate_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY multi_layer_material_removal_laminate_component - SUBTYPE OF (material_removal_laminate_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY multi_layer_stratum_feature_template_component - SUBTYPE OF (stratum_feature_template_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY multi_stratum_special_symbol_component - SUBTYPE OF (structured_layout_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY material_removal_laminate_text_component - SUBTYPE OF (generic_laminate_text_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY padstack_occurrence - SUBTYPE OF (structured_layout_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY padstack_occurrence_product_definition_relationship - SUBTYPE OF (property_definition, next_assembly_usage_occurrence_relationship); - WHERE - WR1: SELF\product_definition_relationship.related_product_definition :<>: - SELF\product_definition_relationship.relating_product_definition; - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY partially_plated_cutout - SUBTYPE OF (cutout); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY partially_plated_interconnect_module_edge - SUBTYPE OF (interconnect_module_edge); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY physical_connectivity_interrupting_cutout - SUBTYPE OF (cutout); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY physical_network - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY physical_network_group - ABSTRACT SUPERTYPE OF (ONEOF ( - PRE_DEFINED_PHYSICAL_NETWORK_GROUP, - EXTERNALLY_DEFINED_PHYSICAL_NETWORK_GROUP)) - SUBTYPE OF (group); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY pre_defined_physical_network_group - SUBTYPE OF (physical_network_group); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY externally_defined_physical_network_group - SUBTYPE OF (physical_network_group); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY physical_network_group_element_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - PRE_DEFINED_PHYSICAL_NETWORK_GROUP_ELEMENT_RELATIONSHIP, - EXTERNALLY_DEFINED_PHYSICAL_NETWORK_GROUP_ELEMENT_RELATIONSHIP)) - SUBTYPE OF (group_relationship); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY pre_defined_physical_network_group_element_relationship - SUBTYPE OF (physical_network_group_element_relationship); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY externally_defined_physical_network_group_element_relationship - SUBTYPE OF (physical_network_group_element_relationship); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY physical_network_supporting_inter_stratum_feature - SUBTYPE OF (plated_inter_stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY plated_cutout - SUBTYPE OF (cutout, plated_inter_stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY plated_cutout_edge_segment - SUBTYPE OF (cutout_edge_segment,plated_inter_stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY plated_interconnect_module_edge - SUBTYPE OF (interconnect_module_edge, plated_inter_stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY plated_interconnect_module_edge_segment - SUBTYPE OF (interconnect_module_edge_segment, - plated_inter_stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY plated_inter_stratum_feature - SUPERTYPE OF (ONEOF ( - PLATED_CUTOUT_EDGE_SEGMENT, - PLATED_INTERCONNECT_MODULE_EDGE_SEGMENT, - PLATED_PASSAGE)) - SUBTYPE OF (inter_stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY plated_passage - SUPERTYPE OF (ONEOF ( - COMPONENT_TERMINATION_PASSAGE, - VIA)) - SUBTYPE OF (plated_inter_stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY primary_stratum_indicator_symbol - SUBTYPE OF (single_stratum_special_symbol_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY probe_access_area - SUBTYPE OF (laminate_component, shape_aspect); - DERIVE - SELF\shape_aspect.of_shape : probe_access_area := SELF; - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY region_based_derived_pattern - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY single_stratum_special_symbol_component - SUPERTYPE OF ( - PRIMARY_STRATUM_INDICATOR_SYMBOL) - SUBTYPE OF (structured_layout_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY stratum - SUPERTYPE OF (ONEOF ( - DOCUMENTATION_LAYER_STRATUM, - DESIGN_LAYER_STRATUM)) - SUBTYPE OF (product_definition, product_definition_shape); - DERIVE - SELF\property_definition.definition : stratum := SELF; - UNIQUE - UR1: SELF\product_definition.id, SELF\product_definition.formation; - WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'NAME_ATTRIBUTE.NAMED_ITEM')) = 0; - WR2: NOT EXISTS(SELF\property_definition.description); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY stratum_feature - SUPERTYPE OF ( - FIDUCIAL_STRATUM_FEATURE) - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY stratum_feature_based_derived_pattern - SUBTYPE OF(characterized_object, property_definition_relationship); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY stratum_feature_conductive_join - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY stratum_feature_template_component - SUPERTYPE OF ( ( ONEOF ( - AREA_COMPONENT, - CONDUCTIVE_INTERCONNECT_ELEMENT) )ANDOR( (ONEOF ( - AREA_COMPONENT, - CONDUCTIVE_INTERCONNECT_ELEMENT, - LAND)) ) ) - SUBTYPE OF (laminate_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY stratum_feature_template_component_with_stratum_feature - SUBTYPE OF (stratum_feature_template_component, stratum_feature, shape_aspect_relationship); - DERIVE - SELF\shape_aspect_relationship.related_shape_aspect : stratum_feature_template_component_with_stratum_feature := SELF; - SELF\shape_aspect_relationship.relating_shape_aspect : stratum_feature_template_component_with_stratum_feature := SELF; - WHERE - WR1: SELF\shape_aspect_relationship.name = 'implementation'; - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY stratum_surface - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY structured_layout_component - ABSTRACT SUPERTYPE OF ( ( ONEOF ( - FOOTPRINT_OCCURRENCE, - MATERIAL_REMOVAL_STRUCTURED_COMPONENT, - MULTI_STRATUM_SPECIAL_SYMBOL_COMPONENT, - PADSTACK_OCCURRENCE, - SINGLE_STRATUM_SPECIAL_SYMBOL_COMPONENT) )ANDOR( (ONEOF ( - FOOTPRINT_OCCURRENCE, - MATERIAL_REMOVAL_STRUCTURED_COMPONENT, - MULTI_STRATUM_PRINTED_COMPONENT, - MULTI_STRATUM_SPECIAL_SYMBOL_COMPONENT, - PADSTACK_OCCURRENCE, - SINGLE_STRATUM_PRINTED_COMPONENT, - SINGLE_STRATUM_SPECIAL_SYMBOL_COMPONENT)) ) ) - SUBTYPE OF (assembly_group_component); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY structured_layout_component_sub_assembly_relationship - SUPERTYPE OF ( - FOOTPRINT_OCCURRENCE_PRODUCT_DEFINITION_RELATIONSHIP) - SUBTYPE OF (next_assembly_usage_occurrence_relationship); - WHERE - WR1: SELF\product_definition_relationship.related_product_definition :<>: - SELF\product_definition_relationship.relating_product_definition; - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY structured_layout_component_sub_assembly_relationship_with_component - SUBTYPE OF (structured_layout_component_sub_assembly_relationship, assembly_component); - DERIVE - SELF\product_definition_relationship.related_product_definition : assembly_component := SELF; - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY unplated_cutout_edge_segment - SUBTYPE OF (cutout_edge_segment); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY unplated_interconnect_module_edge_segment - SUBTYPE OF (interconnect_module_edge_segment); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY unrouted_conductive_interconnect_element - SUBTYPE OF (conductive_interconnect_element); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY unsupported_passage - SUBTYPE OF (inter_stratum_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_module_design_mim); *) - ENTITY via - ABSTRACT SUPERTYPE OF ( ( - FILLED_VIA )ANDOR( (ONEOF ( - BLIND_VIA, - BURIED_VIA, - INTERFACIAL_CONNECTION)) ) ) - SUBTYPE OF (plated_passage); - END_ENTITY; -(* USED FROM (Functional_usage_view_mim); *) - ENTITY functional_terminal_group - SUBTYPE OF (group); - UNIQUE - UR1: SELF\group.name; - END_ENTITY; -(* USED FROM (Functional_usage_view_mim); *) - ENTITY functional_unit - SUBTYPE OF (product_definition, product_definition_shape); - DERIVE - SELF\property_definition.definition : functional_unit := SELF; - WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'NAME_ATTRIBUTE.NAMED_ITEM')) = 0; - WR2: NOT EXISTS(SELF\property_definition.description); - END_ENTITY; -(* USED FROM (Functional_usage_view_mim); *) - ENTITY functional_unit_terminal_definition - SUBTYPE OF (shape_aspect); - SELF\shape_aspect.of_shape : functional_unit; - UNIQUE - UR1: SELF\shape_aspect.name, of_shape; - WHERE - WR1: SELF\shape_aspect.product_definitional = FALSE; - END_ENTITY; -(* USED FROM (Functional_usage_view_mim); *) - ENTITY make_from_functional_unit_terminal_definition_relationship - SUBTYPE OF (shape_aspect, shape_aspect_relationship); - UNIQUE - UR1: SELF\shape_aspect_relationship.relating_shape_aspect, - SELF\shape_aspect_relationship.related_shape_aspect; - WHERE - WR1: relating_shape_aspect.of_shape :<>: - related_shape_aspect.of_shape; - WR2: SELF\shape_aspect.product_definitional = FALSE; - END_ENTITY; -(* USED FROM (Functional_usage_view_mim); *) - ENTITY scalar_terminal_definition_link - SUBTYPE OF (shape_aspect,shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : functional_unit_terminal_definition; - UNIQUE - UR1: related_shape_aspect, relating_shape_aspect; - WHERE - WR1: SELF\shape_aspect_relationship.related_shape_aspect :<>: - SELF\shape_aspect_relationship.relating_shape_aspect; - END_ENTITY; -(* USED FROM (Assembly_module_with_interconnect_component_mim); *) -ENTITY interconnect_module_component - SUBTYPE OF (physical_component); -END_ENTITY; -(* USED FROM (Assembly_module_with_interconnect_component_mim); *) -ENTITY interconnect_module_component_surface_feature - SUBTYPE OF (physical_component_feature); -END_ENTITY; -(* USED FROM (Assembly_module_design_mim); *) -ENTITY assembly_module_design_view - SUPERTYPE OF (ONEOF ( - LAYERED_ASSEMBLY_PANEL_DESIGN_VIEW, - LAYERED_ASSEMBLY_MODULE_DESIGN_VIEW)) - SUBTYPE OF (physical_unit); -END_ENTITY; -(* USED FROM (Assembly_module_design_mim); *) -ENTITY bare_die_component - SUBTYPE OF (physical_component); -END_ENTITY; -(* USED FROM (Assembly_module_design_mim); *) -ENTITY component_mounting_feature - SUBTYPE OF (physical_component_feature); -END_ENTITY; -(* USED FROM (Assembly_module_design_mim); *) -ENTITY layered_assembly_panel_design_view - SUBTYPE OF (assembly_module_design_view); -END_ENTITY; -(* USED FROM (Assembly_module_design_mim); *) -ENTITY packaged_component - SUBTYPE OF (physical_component); -END_ENTITY; -(* USED FROM (Assembly_module_design_mim); *) -ENTITY layered_assembly_module_design_view - SUBTYPE OF (assembly_module_design_view); -END_ENTITY; -(* USED FROM (Assembly_module_design_mim); *) -ENTITY routed_interconnect_component - SUBTYPE OF (item_identified_representation_usage, physical_component); -END_ENTITY; -(* USED FROM (Assembly_module_design_mim); *) -ENTITY routed_physical_component - SUBTYPE OF (item_identified_representation_usage, physical_component); -END_ENTITY; -(* USED FROM (Assembly_module_usage_view_mim); *) -ENTITY assembly_module_interface_terminal - SUBTYPE OF (assembly_module_terminal); -END_ENTITY; -(* USED FROM (Assembly_module_usage_view_mim); *) -ENTITY assembly_module_terminal - SUPERTYPE OF ( ( - ASSEMBLY_MODULE_INTERFACE_TERMINAL )ANDOR( (ONEOF ( - ASSEMBLY_MODULE_INTERFACE_TERMINAL, - ASSEMBLY_MODULE_MACRO_TERMINAL)) ) ) - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Assembly_module_usage_view_mim); *) -ENTITY assembly_module_usage_view - SUPERTYPE OF ( - LAYERED_ASSEMBLY_MODULE_USAGE_VIEW) - SUBTYPE OF (physical_unit); -END_ENTITY; -(* USED FROM (Assembly_module_usage_view_mim); *) -ENTITY layered_assembly_module_usage_view - SUBTYPE OF (assembly_module_usage_view); -END_ENTITY; -(* USED FROM (Bare_die_mim); *) -ENTITY bare_die - SUBTYPE OF (physical_unit); -END_ENTITY; -(* USED FROM (Bare_die_mim); *) -ENTITY bare_die_bottom_surface - SUBTYPE OF (bare_die_surface); -END_ENTITY; -(* USED FROM (Bare_die_mim); *) -ENTITY bare_die_edge_segment_surface - SUBTYPE OF (shape_aspect, shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; - SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; -WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: - SELF\shape_aspect_relationship.related_shape_aspect; -END_ENTITY; -(* USED FROM (Bare_die_mim); *) -ENTITY bare_die_edge_surface - SUBTYPE OF (bare_die_surface); -WHERE - WR1: SELF\shape_aspect.product_definitional; - WR2: SIZEOF(TYPEOF(SELF) - TYPEOF(SELF\shape_aspect || - SELF\part_mounting_feature || - SELF\bare_die_edge_surface || - SELF\bare_die_surface)) = 0; -END_ENTITY; -(* USED FROM (Bare_die_mim); *) -ENTITY bare_die_surface - ABSTRACT SUPERTYPE OF (ONEOF ( - BARE_DIE_BOTTOM_SURFACE, - BARE_DIE_TOP_SURFACE, - BARE_DIE_EDGE_SURFACE)) - - SUBTYPE OF (part_mounting_feature); - SELF\shape_aspect.of_shape : bare_die; - WHERE - WR1: SELF\shape_aspect.product_definitional; -END_ENTITY; -(* USED FROM (Bare_die_mim); *) -ENTITY bare_die_terminal - SUBTYPE OF (minimally_defined_bare_die_terminal, placed_feature); -END_ENTITY; -(* USED FROM (Bare_die_mim); *) -ENTITY bare_die_template_terminal - SUBTYPE OF (part_feature_template_definition, shape_aspect); -END_ENTITY; -(* USED FROM (Bare_die_mim); *) -ENTITY bare_die_top_surface - SUBTYPE OF (bare_die_surface); -WHERE - WR1: SELF\shape_aspect.product_definitional; - WR2: SIZEOF(TYPEOF(SELF) - TYPEOF(SELF\shape_aspect || - SELF\part_mounting_feature || - SELF\bare_die_top_surface || - SELF\bare_die_surface)) = 0; -END_ENTITY; -(* USED FROM (Bare_die_mim); *) -ENTITY minimally_defined_bare_die_terminal - SUPERTYPE OF ( - BARE_DIE_TERMINAL) - SUBTYPE OF (shape_aspect); - SELF\shape_aspect.of_shape : bare_die; -END_ENTITY; -(* USED FROM (Physical_component_feature_mim); *) - ENTITY physical_component_feature - SUPERTYPE OF ((ONEOF ( - PHYSICAL_COMPONENT_TERMINAL, - PHYSICAL_COMPONENT_INTERFACE_TERMINAL)) ) - SUBTYPE OF (component_feature); - END_ENTITY; -(* USED FROM (Physical_component_feature_mim); *) - ENTITY physical_component_terminal - SUPERTYPE OF ((ONEOF ( - ASSEMBLY_MODULE_MACRO_COMPONENT_JOIN_TERMINAL, - INTERCONNECT_MODULE_MACRO_COMPONENT_JOIN_TERMINAL)) ) - SUBTYPE OF (component_terminal, - physical_component_feature); - END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY blind_passage_template - SUBTYPE OF (unsupported_passage_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY component_termination_passage_template - SUBTYPE OF (continuous_template, inter_stratum_feature_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY continuous_template - SUBTYPE OF (geometric_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY counterbore_passage_template - SUBTYPE OF (unsupported_passage_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY countersunk_passage_template - SUBTYPE OF (unsupported_passage_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY default_attachment_size_based_land_physical_template - SUBTYPE OF (land_physical_template, shape_aspect); - DERIVE - SELF\shape_aspect.of_shape : default_attachment_size_based_land_physical_template := SELF; -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY default_passage_based_land_physical_template - ABSTRACT SUPERTYPE OF (ONEOF ( - DEFAULT_PLATED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE, - DEFAULT_UNSUPPORTED_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE)) - SUBTYPE OF (land_physical_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY default_plated_passage_based_land_physical_template - SUBTYPE OF (default_passage_based_land_physical_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY default_trace_template - SUBTYPE OF (trace_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY default_unsupported_passage_based_land_physical_template - SUBTYPE OF (default_passage_based_land_physical_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY electrical_isolation_removal_template - SUBTYPE OF (material_removal_feature_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY inter_stratum_feature_edge_segment_template - SUBTYPE OF (part_template_definition,shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; - SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; -WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: - SELF\shape_aspect_relationship.related_shape_aspect; -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY inter_stratum_feature_edge_template - SUBTYPE OF (part_template_definition); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY inter_stratum_feature_template - SUPERTYPE OF (ONEOF ( - COMPONENT_TERMINATION_PASSAGE_TEMPLATE, - UNSUPPORTED_PASSAGE_TEMPLATE, - VIA_TEMPLATE)) - SUBTYPE OF (geometric_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY fill_area_template - SUBTYPE OF (parametric_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY hatch_area_template - SUBTYPE OF (fill_area_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY hatch_line_element - SUBTYPE OF (geometric_representation_item, representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : line; - SELF\representation_item_relationship.related_representation_item : measure_representation_item; -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY land_physical_template - SUPERTYPE OF (ONEOF ( - DEFAULT_PASSAGE_BASED_LAND_PHYSICAL_TEMPLATE, - DEFAULT_ATTACHMENT_SIZE_BASED_LAND_PHYSICAL_TEMPLATE)) - SUBTYPE OF (stratum_feature_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY land_template_terminal - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY material_removal_feature_template - SUBTYPE OF (single_stratum_continuous_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY parametric_template - ABSTRACT SUPERTYPE OF (ONEOF ( - FILL_AREA_TEMPLATE, - TEARDROP_TEMPLATE, - TRACE_TEMPLATE)) - SUBTYPE OF (part_template_definition); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY part_string_template - SUBTYPE OF (part_template_definition); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY part_text_template - SUBTYPE OF (part_template_definition); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY planar_path_shape_representation_with_parameters - SUBTYPE OF (single_area_csg_2d_shape_representation); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY planar_closed_path_shape_representation_with_parameters - SUBTYPE OF (planar_path_shape_representation_with_parameters); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY single_stratum_continuous_template - ABSTRACT SUPERTYPE OF (ONEOF ( - STRATUM_FEATURE_TEMPLATE, - MATERIAL_REMOVAL_FEATURE_TEMPLATE)) - SUBTYPE OF (continuous_template, single_stratum_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY single_stratum_template - ABSTRACT SUPERTYPE OF ( - SINGLE_STRATUM_CONTINUOUS_TEMPLATE) - SUBTYPE OF (part_template_definition); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY solid_character_glyph_2d_symbol - SUBTYPE OF (generic_character_glyph_symbol, csg_2d_shape_representation); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY snowball_template - SUBTYPE OF (teardrop_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY stratum_feature_template - SUBTYPE OF (single_stratum_continuous_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY teardrop_by_angle_template - SUBTYPE OF (teardrop_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY teardrop_by_length_template - SUBTYPE OF (teardrop_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY teardrop_template - ABSTRACT SUPERTYPE OF (ONEOF ( - SNOWBALL_TEMPLATE, - TEARDROP_BY_ANGLE_TEMPLATE, - TEARDROP_BY_LENGTH_TEMPLATE)) - SUBTYPE OF (parametric_template, single_stratum_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY tile_area_template - SUBTYPE OF (fill_area_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY trace_template - SUPERTYPE OF ( - DEFAULT_TRACE_TEMPLATE) - SUBTYPE OF (parametric_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY unsupported_passage_template - SUPERTYPE OF (ONEOF ( - COUNTERBORE_PASSAGE_TEMPLATE, - COUNTERSUNK_PASSAGE_TEMPLATE, - BLIND_PASSAGE_TEMPLATE)) - SUBTYPE OF (continuous_template, inter_stratum_feature_template); -END_ENTITY; -(* USED FROM (Layered_interconnect_simple_template_mim); *) -ENTITY via_template - SUBTYPE OF (continuous_template, inter_stratum_feature_template); -END_ENTITY; -(* USED FROM (Interconnect_module_usage_view_mim); *) -ENTITY interconnect_module_cutout_segment_surface - SUBTYPE OF (shape_aspect, shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; - SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; -WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: - SELF\shape_aspect_relationship.related_shape_aspect; -END_ENTITY; -(* USED FROM (Interconnect_module_usage_view_mim); *) -ENTITY interconnect_module_edge_segment_surface - SUBTYPE OF (shape_aspect, shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex; - SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex; -WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: - SELF\shape_aspect_relationship.related_shape_aspect; -END_ENTITY; -(* USED FROM (Interconnect_module_usage_view_mim); *) -ENTITY interconnect_module_interface_terminal - SUBTYPE OF (interconnect_module_terminal); -END_ENTITY; -(* USED FROM (Interconnect_module_usage_view_mim); *) -ENTITY interconnect_module_terminal - SUPERTYPE OF ( ( - INTERCONNECT_MODULE_INTERFACE_TERMINAL )ANDOR( (ONEOF ( - INTERCONNECT_MODULE_INTERFACE_TERMINAL, - INTERCONNECT_MODULE_MACRO_TERMINAL)) ) ) - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Interconnect_module_usage_view_mim); *) -ENTITY interconnect_module_usage_view - SUPERTYPE OF ( - LAYERED_INTERCONNECT_MODULE_USAGE_VIEW) - SUBTYPE OF (physical_unit); -END_ENTITY; -(* USED FROM (Interconnect_module_usage_view_mim); *) -ENTITY layered_interconnect_module_usage_view - SUBTYPE OF (interconnect_module_usage_view); -END_ENTITY; -(* USED FROM (Interface_component_mim); *) -ENTITY physical_component_interface_terminal - SUBTYPE OF (physical_component_feature); -END_ENTITY; -(* USED FROM (Interface_component_mim); *) -ENTITY interface_component - SUBTYPE OF (physical_component); -END_ENTITY; -(* USED FROM (Fabrication_joint_mim); *) -ENTITY connection_zone_based_fabrication_joint - SUBTYPE OF (fabrication_joint); -END_ENTITY; -(* USED FROM (Fabrication_joint_mim); *) -ENTITY fabrication_joint - SUBTYPE OF (component_feature_joint); -WHERE - WR1: acyclic_shape_aspect_relationship(SELF, - [SELF\shape_aspect_relationship.related_shape_aspect], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'FABRICATION_JOINT'); -END_ENTITY; -(* USED FROM (Fabrication_joint_mim); *) -ENTITY passage_terminal_based_fabrication_joint_link - SUBTYPE OF (shape_aspect, shape_aspect_relationship); -END_ENTITY; -(* USED FROM (Approval_mim); *) -ENTITY applied_approval_assignment - SUBTYPE OF (approval_assignment); - items : SET[1:?] OF approval_item; -END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval; - status : approval_status; - level : label; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_date_time; - date_time : date_time_select; - dated_approval : approval; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_person_organization; - person_organization : person_organization_select; - authorized_approval : approval; - role : approval_role; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_relationship; - name : label; - description : OPTIONAL text; - relating_approval : approval; - related_approval : approval; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_role; - role : label; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (approval_schema); *) - ENTITY approval_status; - name : label; - END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY object_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY role_association; - role : object_role; - item_with_role : role_select; - END_ENTITY; -(* USED FROM (Date_time_assignment_mim); *) -ENTITY applied_date_and_time_assignment - SUBTYPE OF (date_and_time_assignment); - items : SET [1:?] OF date_and_time_item; -END_ENTITY; -(* USED FROM (Date_time_assignment_mim); *) -ENTITY applied_date_assignment - SUBTYPE OF (date_assignment); - items : SET [1:?] OF date_item; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY approval_assignment - ABSTRACT SUPERTYPE; - assigned_approval : approval; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_resource; - name : label; - description : OPTIONAL text; - usage : SET [1:?] OF supported_item; - kind : action_resource_type; - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY complex_passage_padstack_definition - SUBTYPE OF (stratum_stack_dependent_template, passage_padstack_definition); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY dependent_electrical_isolation_removal_template - SUBTYPE OF (electrical_isolation_removal_template); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY dependent_thermal_isolation_removal_template - SUBTYPE OF (thermal_isolation_removal_template); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY design_specific_stratum_technology_mapping_relationship - SUBTYPE OF(stratum_technology_mapping_relationship, property_definition); - SELF\property_definition.definition : library_to_design_stack_model_mapping; -- scope : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - scope : LIBRARY_TO_DESIGN_STACK_MODEL_MAPPING := SELF\property_definition.definition; -- DEFINITION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY library_stack_model - SUBTYPE OF(stratum_stack_model); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY library_to_design_stack_model_mapping - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY material_removal_structured_template - SUBTYPE OF (single_stratum_structured_template); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY multi_stratum_special_symbol_template - SUBTYPE OF (multi_stratum_structured_template, special_symbol_template); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY multi_stratum_structured_template - ABSTRACT SUPERTYPE OF ( ( ONEOF ( - PADSTACK_DEFINITION, - MULTI_STRATUM_SPECIAL_SYMBOL_TEMPLATE) - ANDOR - STRATUM_STACK_DEPENDENT_TEMPLATE )ANDOR( (ONEOF ( - PADSTACK_DEFINITION, - GENERIC_FOOTPRINT_DEFINITION, - MULTI_STRATUM_SPECIAL_SYMBOL_TEMPLATE)) ) ) - SUBTYPE OF (structured_template); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY padstack_definition - SUPERTYPE OF ( - PASSAGE_PADSTACK_DEFINITION) - SUBTYPE OF (multi_stratum_structured_template); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY part_template_keepout_shape_allocation_to_stratum_stack - SUBTYPE OF (characterized_object, property_definition); - DERIVE - SELF\property_definition.definition : part_template_keepout_shape_allocation_to_stratum_stack := SELF; - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY passage_padstack_definition - SUBTYPE OF (padstack_definition); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY physical_unit_keepout_shape_allocation_to_stratum_stack - SUBTYPE OF (representation, representation_relationship); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY physical_unit_keepout_shape_allocation_to_stratum_technology - SUBTYPE OF (representation); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY single_stratum_special_symbol_template - SUBTYPE OF (single_stratum_structured_template, special_symbol_template); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY single_stratum_structured_template - ABSTRACT SUPERTYPE OF (ONEOF ( - MATERIAL_REMOVAL_STRUCTURED_TEMPLATE, - SINGLE_STRATUM_SPECIAL_SYMBOL_TEMPLATE)) - SUBTYPE OF (structured_template, single_stratum_template); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY special_symbol_template - ABSTRACT SUPERTYPE OF (ONEOF ( - SINGLE_STRATUM_SPECIAL_SYMBOL_TEMPLATE, - MULTI_STRATUM_SPECIAL_SYMBOL_TEMPLATE)) - SUBTYPE OF (part_template_definition); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY stratum_specific_template_location - SUBTYPE OF (assembly_component_usage, property_definition); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY stratum_stack_dependent_template - SUBTYPE OF (multi_stratum_structured_template); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY structured_inter_stratum_feature_template - SUBTYPE OF (inter_stratum_feature_template, stratum_stack_dependent_template); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY structured_template - ABSTRACT SUPERTYPE OF (ONEOF ( - SINGLE_STRATUM_STRUCTURED_TEMPLATE, - MULTI_STRATUM_STRUCTURED_TEMPLATE)) - SUBTYPE OF (geometric_template); - END_ENTITY; -(* USED FROM (Layered_interconnect_complex_template_mim); *) - ENTITY thermal_isolation_removal_template - SUBTYPE OF (material_removal_structured_template); - END_ENTITY; -(* USED FROM (Network_functional_design_view_mim); *) -ENTITY bus_element_link - SUBTYPE OF (product_definition,product_definition_relationship); -UNIQUE - UR1: SELF\product_definition_relationship.related_product_definition, - SELF\product_definition_relationship.relating_product_definition; -WHERE - WR1: SELF\product_definition_relationship.related_product_definition :<>: - SELF\product_definition_relationship.relating_product_definition; -END_ENTITY; -(* USED FROM (Network_functional_design_view_mim); *) -ENTITY bus_structural_definition - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (Network_functional_design_view_mim); *) -ENTITY component_functional_terminal - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Network_functional_design_view_mim); *) -ENTITY component_functional_unit - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (Network_functional_design_view_mim); *) -ENTITY network_node_definition - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY allocated_passage_minimum_annular_ring - SUBTYPE OF (characterized_object); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY copy_stratum_technology_occurrence_relationship - SUBTYPE OF (derived_stratum_technology_occurrence_relationship); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY derived_stratum_technology_occurrence_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - COPY_STRATUM_TECHNOLOGY_OCCURRENCE_RELATIONSHIP, - INVERSE_COPY_STRATUM_TECHNOLOGY_OCCURRENCE_RELATIONSHIP)) - SUBTYPE OF (stratum_technology_occurrence_relationship); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY design_stack_model - SUBTYPE OF(stratum_stack_model); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY equivalent_stackup_model_definition - SUBTYPE OF (product_definition, product_definition_relationship); - SELF\product_definition_relationship.relating_product_definition : stratum_stack_model; -- primary_stackup_model : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\product_definition_relationship.related_product_definition : stratum_stack_model; -- equivalent_stackup_model : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - equivalent_stackup_model : STRATUM_STACK_MODEL := SELF\product_definition_relationship.related_product_definition; -- RELATED_PRODUCT_DEFINITION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - primary_stackup_model : STRATUM_STACK_MODEL := SELF\product_definition_relationship.relating_product_definition; -- RELATING_PRODUCT_DEFINITION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - WHERE - WR1 : primary_stackup_model :<>: equivalent_stackup_model; -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY equivalent_sub_stack_definition - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY footprint_library_stratum_technology - SUBTYPE OF (stratum_technology); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY impedance_measurement_setup_requirement - SUBTYPE OF (predefined_requirement_view_definition); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY impedance_requirement - SUBTYPE OF (predefined_requirement_view_definition); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY inverse_copy_stratum_technology_occurrence_relationship - SUBTYPE OF (derived_stratum_technology_occurrence_relationship); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY local_linear_stack - SUBTYPE OF (stratum_sub_stack); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY passage_deposition_material_identification - SUBTYPE OF (material_designation); - SELF\material_designation.definitions : SET [1:?] OF passage_technology; -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY passage_filling_material_identification - SUBTYPE OF (material_designation); - SELF\material_designation.definitions : SET [1:?] OF passage_technology; -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY passage_technology - SUBTYPE OF (characterized_object, product_definition_shape); - DERIVE - SELF\property_definition.definition : characterized_definition := SELF; -UNIQUE - UR1: SELF\characterized_object.name; -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY passage_technology_allocation_to_stack_model - SUBTYPE OF (stratum_sub_stack); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY stratum_sub_stack - ABSTRACT SUPERTYPE OF (ONEOF ( - LOCAL_LINEAR_STACK, - PASSAGE_TECHNOLOGY_ALLOCATION_TO_STACK_MODEL)) - SUBTYPE OF (part_template_definition); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY stratum_stack_model - ABSTRACT SUPERTYPE - SUBTYPE OF(part_template_definition); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY stratum_surface_technology - SUBTYPE OF (shape_aspect); - SELF\shape_aspect.of_shape : stratum_technology; -- associated_technology : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - associated_technology : STRATUM_TECHNOLOGY := SELF\shape_aspect.of_shape; -- OF_SHAPE : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY stratum_technology - SUBTYPE OF (characterized_object, product_definition_shape); - DERIVE - SELF\property_definition.definition : characterized_definition := SELF; -UNIQUE - UR1: SELF\characterized_object.name; -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY stratum_technology_occurrence - SUBTYPE OF(property_definition); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY stratum_technology_occurrence_link - SUBTYPE OF(stratum_technology_occurrence_relationship); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY stratum_technology_occurrence_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - DERIVED_STRATUM_TECHNOLOGY_OCCURRENCE_RELATIONSHIP, - STRATUM_TECHNOLOGY_OCCURRENCE_LINK, - STRATUM_TECHNOLOGY_OCCURRENCE_FEATURE_CONSTRAINT, - STRATUM_TECHNOLOGY_OCCURRENCE_SWAP_RELATIONSHIP)) - SUBTYPE OF(property_definition, property_definition_relationship); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY stratum_technology_occurrence_feature_constraint - SUBTYPE OF (stratum_technology_occurrence_relationship); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY stratum_technology_occurrence_swap_relationship - SUBTYPE OF (stratum_technology_occurrence_relationship); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY stratum_technology_swap_relationship - SUBTYPE OF(property_definition_relationship); -END_ENTITY; -(* USED FROM (Fabrication_technology_mim); *) -ENTITY stratum_technology_mapping_relationship - SUBTYPE OF(property_definition_relationship); -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_feature - SUPERTYPE OF ((ONEOF ( - PHYSICAL_COMPONENT_FEATURE, - LAMINATE_COMPONENT_FEATURE)) ) - SUBTYPE OF (shape_aspect); - SELF\shape_aspect.of_shape : assembly_component; -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_feature_joint - SUBTYPE OF (shape_aspect_relationship, shape_aspect); - SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; - SELF\shape_aspect_relationship.related_shape_aspect : component_feature; -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_feature_relationship - SUBTYPE OF (shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : component_feature; - SELF\shape_aspect_relationship.related_shape_aspect : component_feature; -WHERE - WR1: SELF\shape_aspect_relationship.related_shape_aspect :<>: - SELF\shape_aspect_relationship.relating_shape_aspect; -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY component_terminal - SUPERTYPE OF ((ONEOF ( - PHYSICAL_COMPONENT_TERMINAL, - LAMINATE_COMPONENT_JOIN_TERMINAL)) ) - SUBTYPE OF (component_feature); -END_ENTITY; -(* USED FROM (Component_feature_mim); *) -ENTITY make_from_feature_relationship - SUBTYPE OF (component_feature_relationship); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY assigned_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_assignment; - items : SET[1:1] OF product_definition; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY requirement_assigned_object - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_assignment; - items : SET[1:1] OF requirement_assigned_item; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY requirement_assignment - SUBTYPE OF (characterized_object, group); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY requirement_source - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY satisfied_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : satisfies_requirement; - items : SET[1:1] OF product_definition; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY satisfies_requirement - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY satisfying_item - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : satisfies_requirement; - items : SET[1:1] OF requirement_satisfaction_item; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY source_for_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_source; - items : SET[1:1] OF requirement_source_item; -END_ENTITY; -(* USED FROM (Requirement_assignment_mim); *) -ENTITY sourced_requirement - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : requirement_source; - items : SET[1:1] OF product_definition; -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY array_placement_group - SUPERTYPE OF ( ( ONEOF ( - LINEAR_ARRAY_PLACEMENT_GROUP_COMPONENT, - RECTANGULAR_ARRAY_PLACEMENT_GROUP_COMPONENT) )ANDOR( (ONEOF ( - LAMINATE_TEXT_STRING_COMPONENT, - LINEAR_ARRAY_PLACEMENT_GROUP_COMPONENT, - RECTANGULAR_ARRAY_PLACEMENT_GROUP_COMPONENT)) ) ) - SUBTYPE OF (assembly_group_component); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY assembly_group_component - SUBTYPE OF (assembly_component); -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY classification_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY interfaced_group_component - SUBTYPE OF (assembly_group_component); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY linear_array_component_definition_link - SUBTYPE OF (product_definition,product_definition_relationship); - SELF\product_definition_relationship.relating_product_definition : linear_array_placement_group_component; - SELF\product_definition_relationship.related_product_definition : linear_array_placement_group_component; -WHERE - WR1: SELF\product_definition_relationship.related_product_definition :<>: - SELF\product_definition_relationship.relating_product_definition; - WR2: acyclic_product_definition_relationship (SELF, - [SELF\product_definition_relationship.related_product_definition], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_ARRAY_COMPONENT_DEFINITION_LINK'); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY linear_array_placement_group_component - SUBTYPE OF (array_placement_group); -END_ENTITY; -(* USED FROM (Component_grouping_mim); *) -ENTITY rectangular_array_placement_group_component - SUBTYPE OF (array_placement_group); -END_ENTITY; -(* USED FROM (Functional_decomposition_to_design_mim); *) -ENTITY design_composition_path - SUBTYPE OF (applied_group_assignment, product_definition); -END_ENTITY; -(* USED FROM (Functional_decomposition_to_design_mim); *) -ENTITY reference_composition_path - SUBTYPE OF (applied_group_assignment, product_definition); -END_ENTITY; -(* USED FROM (Land_mim); *) -ENTITY contact_size_dependent_land - SUBTYPE OF (land); -END_ENTITY; -(* USED FROM (Land_mim); *) -ENTITY dependent_electrical_isolation_removal_component - SUBTYPE OF (electrical_isolation_laminate_component); -END_ENTITY; -(* USED FROM (Land_mim); *) -ENTITY dependent_thermal_isolation_removal_component - SUBTYPE OF (thermal_isolation_removal_component); -END_ENTITY; -(* USED FROM (Land_mim); *) -ENTITY inter_stratum_feature_dependent_land - ABSTRACT SUPERTYPE OF (ONEOF ( - PLATED_PASSAGE_DEPENDENT_LAND, - UNSUPPORTED_PASSAGE_DEPENDENT_LAND)) - SUBTYPE OF (land); -END_ENTITY; -(* USED FROM (Land_mim); *) -ENTITY land - SUPERTYPE OF (ONEOF ( - CONTACT_SIZE_DEPENDENT_LAND, - INTER_STRATUM_FEATURE_DEPENDENT_LAND)) - SUBTYPE OF (stratum_feature_template_component); -END_ENTITY; -(* USED FROM (Land_mim); *) -ENTITY land_with_join_terminal - SUBTYPE OF (land, laminate_component_join_terminal); - DERIVE - SELF\shape_aspect.of_shape : land_with_join_terminal := SELF; -END_ENTITY; -(* USED FROM (Land_mim); *) -ENTITY plated_passage_dependent_land - SUBTYPE OF (inter_stratum_feature_dependent_land); -END_ENTITY; -(* USED FROM (Land_mim); *) -ENTITY thermal_isolation_removal_component - SUBTYPE OF (material_removal_structured_component); -END_ENTITY; -(* USED FROM (Land_mim); *) -ENTITY unsupported_passage_dependent_land - SUBTYPE OF (inter_stratum_feature_dependent_land); -END_ENTITY; -(* USED FROM (Layered_interconnect_module_with_printed_component_design_mim); *) -ENTITY basic_multi_stratum_printed_component - SUBTYPE OF (printed_component); -END_ENTITY; -(* USED FROM (Layered_interconnect_module_with_printed_component_design_mim); *) -ENTITY multi_stratum_printed_component - SUBTYPE OF (printed_component, structured_layout_component); -END_ENTITY; -(* USED FROM (Layered_interconnect_module_with_printed_component_design_mim); *) -ENTITY printed_connector_component - SUBTYPE OF (printed_component); -END_ENTITY; -(* USED FROM (Layered_interconnect_module_with_printed_component_design_mim); *) -ENTITY printed_component - ABSTRACT SUPERTYPE OF (ONEOF ( - SINGLE_STRATUM_PRINTED_COMPONENT, - BASIC_MULTI_STRATUM_PRINTED_COMPONENT, - MULTI_STRATUM_PRINTED_COMPONENT)) - SUBTYPE OF (assembly_component); -END_ENTITY; -(* USED FROM (Layered_interconnect_module_with_printed_component_design_mim); *) -ENTITY routed_transmission_line - SUBTYPE OF (assembly_component); -END_ENTITY; -(* USED FROM (Layered_interconnect_module_with_printed_component_design_mim); *) -ENTITY single_stratum_printed_component - SUBTYPE OF (printed_component, structured_layout_component); -END_ENTITY; -(* USED FROM (Layered_interconnect_module_with_printed_component_design_mim); *) -ENTITY tiebar_printed_component - SUBTYPE OF (printed_component, structured_layout_component); -END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY boolean_representation_item - SUBTYPE OF (representation_item, boolean_literal); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY date_representation_item - SUBTYPE OF (representation_item, date); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY date_time_representation_item - SUBTYPE OF (representation_item, date_and_time); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY integer_representation_item - SUBTYPE OF (representation_item, int_literal); - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY logical_representation_item - SUBTYPE OF (representation_item, logical_literal); - END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY annotation_occurrence_associativity - SUBTYPE OF (annotation_occurrence_relationship); - WHERE - WR1: SIZEOF (TYPEOF (SELF.related_annotation_occurrence) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE']) = 1; - END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY real_representation_item - SUBTYPE OF (representation_item, real_literal); - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_literal -SUBTYPE OF (simple_Boolean_expression, generic_literal); - the_value: BOOLEAN; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY int_literal -SUBTYPE OF (literal_number); - SELF\literal_number.the_value: INTEGER; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY slash_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY real_literal -SUBTYPE OF (literal_number); - SELF\literal_number.the_value: REAL; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY binary_generic_expression - ABSTRACT SUPERTYPE - -SUBTYPE OF(generic_expression); - operands: LIST [2:2] OF generic_expression; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY logical_literal - SUBTYPE OF (generic_literal); - lit_value : LOGICAL; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_product_definition : product_definition_or_reference; - related_product_definition : product_definition_or_reference; - END_ENTITY; -(* USED FROM (group_schema); *) - ENTITY group SUPERTYPE OF (ONEOF ( - CHANGE_GROUP, - CHANGE_ELEMENT) ) ; - name : label; - description : OPTIONAL text; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (group_schema); *) - ENTITY group_relationship; - name : label; - description : OPTIONAL text; - relating_group : group; - related_group : group; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY group_assignment - ABSTRACT SUPERTYPE OF (ONEOF ( - CURRENT_CHANGE_ELEMENT_ASSIGNMENT, - PREVIOUS_CHANGE_ELEMENT_ASSIGNMENT, - CHANGE_GROUP_ASSIGNMENT) ) ; - assigned_group : group; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY compound_representation_item - SUPERTYPE OF ( ( ONEOF ( - POINT_AND_VECTOR, - POINT_PATH) )ANDOR( (ONEOF ( - ROW_REPRESENTATION_ITEM, - TABLE_REPRESENTATION_ITEM)) ) ) - SUBTYPE OF (representation_item); - item_element : compound_item_definition; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation SUPERTYPE OF ( ( ONEOF ( - INTERPOLATED_CONFIGURATION_REPRESENTATION, - LINK_MOTION_REPRESENTATION_ALONG_PATH) )ANDOR( ONEOF ( - KINEMATIC_LINK_REPRESENTATION, - KINEMATIC_TOPOLOGY_STRUCTURE, - KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE, - KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE, - MECHANISM_REPRESENTATION, - SHAPE_REPRESENTATION) )ANDOR( ONEOF ( - KINEMATIC_TOPOLOGY_STRUCTURE, - KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE, - KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE) ) ) ; - name : label; - items : SET[1:?] OF representation_item; - context_of_items : representation_context; - DERIVE - id : identifier := get_id_value (SELF); - description : text := get_description_value (SELF); - WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) - <= 1; - WR2: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) - <= 1; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY characterized_object; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (Physical_unit_design_view_mim); *) - ENTITY assembly_item_number - SUBTYPE OF (group, applied_group_assignment); - SELF\applied_group_assignment.items : SET [1:?] OF assembly_component_usage; - DERIVE - SELF\group_assignment.assigned_group : group := SELF; - END_ENTITY; -(* USED FROM (Physical_unit_design_view_mim); *) - ENTITY component_material_relationship - SUBTYPE OF (group, property_definition); - SELF\property_definition.definition : physical_unit; - END_ENTITY; -(* USED FROM (Physical_unit_design_view_mim); *) - ENTITY component_material_relationship_assignment - SUBTYPE OF (group_assignment, role_association); - SELF\group_assignment.assigned_group : component_material_relationship; - items : SET [1:1] OF component_material_relationship_assignment_item; - DERIVE - SELF\role_association.item_with_role : component_material_relationship_assignment := SELF; - END_ENTITY; -(* USED FROM (Physical_unit_design_view_mim); *) - ENTITY next_assembly_usage_occurrence_relationship - SUBTYPE OF (next_assembly_usage_occurrence, - product_definition_occurrence_relationship); - DERIVE - SELF\product_definition_occurrence_relationship.occurrence_usage : next_assembly_usage_occurrence_relationship := SELF; - END_ENTITY; -(* USED FROM (Interconnect_module_connection_routing_mim); *) -ENTITY dielectric_crossover_area - SUBTYPE OF (shape_aspect, shape_aspect_relationship); -END_ENTITY; -(* USED FROM (Interconnect_module_connection_routing_mim); *) -ENTITY direct_stratum_component_join_implementation - SUBTYPE OF (shape_aspect_relationship); -END_ENTITY; -(* USED FROM (Interconnect_module_connection_routing_mim); *) -ENTITY indirect_stratum_component_join_implementation - SUBTYPE OF (plated_inter_stratum_feature); -END_ENTITY; -(* USED FROM (application_context_schema); *) -(* Pruned SUPERTYPE *) - ENTITY application_context_element - SUPERTYPE OF (ONEOF ( - PRODUCT_CONCEPT_CONTEXT, - PRODUCT_CONTEXT, - PRODUCT_DEFINITION_CONTEXT)); - name : label; - frame_of_reference : application_context; - END_ENTITY; -(* USED FROM (Non_feature_shape_element_mim); *) -ENTITY group_shape_aspect - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Non_feature_shape_element_mim); *) -ENTITY interface_plane - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Non_feature_shape_element_mim); *) -ENTITY edge_segment_vertex - SUBTYPE OF (shape_aspect); -WHERE - WR1: SELF\shape_aspect.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (Non_feature_shape_element_mim); *) -ENTITY reference_graphic_registration_mark - SUBTYPE OF (shape_aspect); -WHERE - WR1: SELF\shape_aspect.product_definitional = false; -END_ENTITY; -(* USED FROM (Non_feature_shape_element_mim); *) -ENTITY seating_plane - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Functional_assignment_to_part_mim); *) -ENTITY part_connected_terminals_definition - SUBTYPE OF (shape_aspect); -UNIQUE - UR1: SELF\shape_aspect.name; -END_ENTITY; -(* USED FROM (Functional_assignment_to_part_mim); *) -ENTITY part_connected_terminals_definition_domain - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Functional_assignment_to_part_mim); *) -ENTITY part_connected_terminals_element - SUBTYPE OF (shape_aspect, shape_aspect_relationship); -END_ENTITY; -(* USED FROM (Functional_assignment_to_part_mim); *) -ENTITY part_connected_terminals_structure_definition - SUBTYPE OF (part_connected_terminals_definition); -END_ENTITY; -(* USED FROM (Functional_assignment_to_part_mim); *) -ENTITY part_connected_terminals_layout_topology_requirement_assignment - SUBTYPE OF(requirement_assignment); -END_ENTITY; -(* USED FROM (Part_feature_function_mim); *) -ENTITY fiducial_part_feature - SUBTYPE OF (part_tooling_feature); -END_ENTITY; -(* USED FROM (Part_feature_function_mim); *) -ENTITY part_interface_access_feature - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Part_feature_function_mim); *) -ENTITY part_mating_feature - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Part_feature_function_mim); *) -ENTITY part_mounting_feature - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Part_feature_function_mim); *) -ENTITY part_tooling_feature - SUPERTYPE OF (ONEOF ( - FIDUCIAL_PART_FEATURE, - TOOL_REGISTRATION_MARK) - ANDOR - TEST_POINT_PART_FEATURE) - - SUBTYPE OF (shape_aspect); -WHERE - WR1: SELF\shape_aspect.product_definitional = true; -END_ENTITY; -(* USED FROM (Part_feature_function_mim); *) -ENTITY test_point_part_feature - SUBTYPE OF (part_tooling_feature); -END_ENTITY; -(* USED FROM (Part_feature_function_mim); *) -ENTITY thermal_feature - SUBTYPE OF (shape_aspect); -END_ENTITY; -(* USED FROM (Part_feature_function_mim); *) -ENTITY tool_registration_mark - SUBTYPE OF (part_tooling_feature); -END_ENTITY; -(* USED FROM (Physical_unit_usage_view_mim); *) - ENTITY connection_zone_map_identification - SUBTYPE OF (shape_aspect,representation_relationship); - SELF\representation_relationship.rep_1 : usage_view_connection_zone_terminal_shape_relationship; - SELF\representation_relationship.rep_2 : usage_view_connection_zone_terminal_shape_relationship; - WHERE - WR1: SELF\representation_relationship.rep_2 :<>: - SELF\representation_relationship.rep_1; - END_ENTITY; -(* USED FROM (Physical_unit_usage_view_mim); *) - ENTITY make_from_part_feature_relationship - SUBTYPE OF (shape_aspect, shape_aspect_relationship); - UNIQUE - UR1: SELF\shape_aspect_relationship.relating_shape_aspect, - SELF\shape_aspect_relationship.related_shape_aspect; - WHERE - WR1: SELF\shape_aspect.product_definitional = FALSE; - END_ENTITY; -(* USED FROM (Physical_unit_usage_view_mim); *) - ENTITY part_feature_template_definition - SUBTYPE OF (shape_feature_definition, group); - WHERE - WR1: SELF\group.name = SELF\characterized_object.name; - WR2: SELF\group.description = SELF\characterized_object.description; - END_ENTITY; -(* USED FROM (Physical_unit_usage_view_mim); *) - ENTITY physical_unit - SUPERTYPE OF ( ( (ONEOF ( - BARE_DIE, - PACKAGE, - PACKAGED_PART, - ASSEMBLY_MODULE_DESIGN_VIEW, - INTERCONNECT_MODULE_DESIGN_VIEW)) )ANDOR( ONEOF ( - PACKAGE, - BARE_DIE, - CABLE_USAGE_VIEW, - PACKAGED_PART) ) ) - SUBTYPE OF (product_definition, product_definition_shape); - DERIVE - SELF\property_definition.definition : physical_unit := SELF; - WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'NAME_ATTRIBUTE.NAMED_ITEM')) = 0; - WR2: NOT EXISTS(SELF\property_definition.description); - END_ENTITY; -(* USED FROM (Physical_unit_usage_view_mim); *) - ENTITY usage_view_connection_zone_terminal_shape_relationship - SUBTYPE OF (representation, representation_relationship_with_transformation); - SELF\representation_relationship.rep_1 : shape_representation; - SELF\representation_relationship.rep_2 : shape_representation; - UNIQUE - UR1: SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; - WHERE - WR1: SELF\representation_relationship.rep_1 <> - SELF\representation_relationship.rep_2; - END_ENTITY; -(* USED FROM (Physical_connectivity_definition_mim); *) -ENTITY make_from_connectivity_relationship - SUBTYPE OF (shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : physical_connectivity_definition; - SELF\shape_aspect_relationship.related_shape_aspect : physical_connectivity_definition; -END_ENTITY; -(* USED FROM (Physical_connectivity_definition_mim); *) -ENTITY physical_connectivity_definition - SUBTYPE OF (shape_aspect); -UNIQUE - UR1: SELF\shape_aspect.name,SELF\shape_aspect.of_shape; -END_ENTITY; -(* USED FROM (Physical_connectivity_definition_mim); *) -ENTITY physical_connectivity_definition_domain - SUBTYPE OF (property_definition); -END_ENTITY; -(* USED FROM (Physical_connectivity_definition_mim); *) -ENTITY physical_connectivity_element - SUBTYPE OF (shape_aspect_relationship, shape_aspect); -END_ENTITY; -(* USED FROM (Physical_connectivity_definition_mim); *) -ENTITY physical_unit_network_definition - SUBTYPE OF (physical_unit); -END_ENTITY; -(* USED FROM (Physical_connectivity_definition_mim); *) -ENTITY physical_connectivity_layout_topology_link - SUBTYPE OF(group_relationship); -END_ENTITY; -(* USED FROM (Physical_connectivity_definition_mim); *) -ENTITY physical_connectivity_layout_topology_node - SUBTYPE OF(group); -END_ENTITY; -(* USED FROM (Physical_connectivity_definition_mim); *) -ENTITY physical_connectivity_layout_topology_requirement - SUBTYPE OF(predefined_requirement_view_definition, group); -END_ENTITY; -(* USED FROM (Physical_connectivity_definition_mim); *) -ENTITY physical_connectivity_layout_topology_requirement_assignment - SUBTYPE OF(requirement_assignment); -END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY across_port_variable - SUBTYPE OF (port_variable); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY analog_analytical_model_port - SUBTYPE OF (analytical_model_port); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY analog_port_variable - SUBTYPE OF (representation, representation_item); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY analytical_model_definition - SUBTYPE OF (product_definition); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY analytical_model_make_from_relationship - SUBTYPE OF (product_definition_relationship); - SELF\product_definition_relationship.relating_product_definition : analytical_model_definition; - SELF\product_definition_relationship.related_product_definition : analytical_model_definition; - UNIQUE - UR1: SELF\product_definition_relationship.relating_product_definition, - SELF\product_definition_relationship.related_product_definition; - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY analytical_model_parameter - SUBTYPE OF (property_definition); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY analytical_model_port - SUBTYPE OF(property_definition, property_definition_representation, representation); - DERIVE - SELF\property_definition_representation.definition : property_definition :=SELF; - SELF\property_definition_representation.used_representation : representation := SELF; - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY analytical_model_port_assignment - SUBTYPE OF (property_definition_representation, representation_relationship); - SELF\property_definition_representation.used_representation : analytical_model_port; - SELF\representation_relationship.rep_1 : analytical_representation; - DERIVE - SELF\representation_relationship.rep_2 : analytical_model_port := SELF\property_definition_representation.used_representation; - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY analytical_model_scalar_port - SUBTYPE OF (analytical_model_vector_port); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY analytical_model_vector_port - SUBTYPE OF (analytical_model_port, compound_representation_item); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY analytical_representation - SUBTYPE OF (representation); - UNIQUE - UR1: SELF\representation.name; - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY digital_analytical_model_port - SUBTYPE OF (analytical_model_port); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY digital_analytical_model_scalar_port - SUBTYPE OF (digital_analytical_model_vector_port, analytical_model_scalar_port); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY digital_analytical_model_vector_port - SUBTYPE OF (analytical_model_vector_port); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY make_from_model_port_relationship - SUBTYPE OF (representation, representation_relationship); - SELF\representation_relationship.rep_1 : analytical_model_port; - SELF\representation_relationship.rep_2 : analytical_model_port; - UNIQUE - UR1: SELF\representation_relationship.rep_1, - SELF\representation_relationship.rep_2; - WHERE - WR1: rep_1 :<>: rep_2; - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY port_variable - SUPERTYPE OF (ONEOF ( - ACROSS_PORT_VARIABLE, - THROUGH_PORT_VARIABLE, - TRANSFORM_PORT_VARIABLE)) - SUBTYPE OF (representation, representation_item); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY through_port_variable - SUBTYPE OF (port_variable); - END_ENTITY; -(* USED FROM (Analytical_model_mim); *) - ENTITY transform_port_variable - SUBTYPE OF (port_variable); - END_ENTITY; -(* USED FROM (Model_parameter_mim); *) - ENTITY category_model_parameter - SUBTYPE OF (model_parameter); - END_ENTITY; -(* USED FROM (Model_parameter_mim); *) - ENTITY default_value_property_definition_representation - SUBTYPE OF (property_definition_representation); - END_ENTITY; -(* USED FROM (Model_parameter_mim); *) - ENTITY model_parameter - SUPERTYPE OF (ONEOF ( - DATUM_DIFFERENCE_BASED_MODEL_PARAMETER, - SCHEMA_BASED_MODEL_PARAMETER) ) - SUBTYPE OF (general_property); - END_ENTITY; -(* USED FROM (Model_parameter_mim); *) - ENTITY model_parameter_with_unit - SUBTYPE OF (model_parameter); - WHERE - WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SCHEMA_BASED_MODEL_PARAMETER' IN TYPEOF(SELF)); - END_ENTITY; -(* USED FROM (Model_parameter_mim); *) - ENTITY parameter_assignment_override - SUBTYPE OF (representation, representation_relationship); - SELF\representation_relationship.rep_1 : parameter_assignment; - SELF\representation_relationship.rep_2 : parameter_assignment; - UNIQUE - UR1: SELF\representation_relationship.rep_1, SELF\representation_relationship.rep_2; - WHERE - WR1: SELF\representation_relationship.rep_1 <> SELF\representation_relationship.rep_2; - END_ENTITY; -(* USED FROM (Model_parameter_mim); *) - ENTITY parameter_assignment - SUBTYPE OF (property_definition_representation, representation); - SELF\property_definition_representation.definition : parameter_assignment_select; - END_ENTITY; -(* USED FROM (Model_parameter_mim); *) - ENTITY product_specific_parameter_value_assignment - SUBTYPE OF (characterized_object, - product_related_product_category); - END_ENTITY; -(* USED FROM (Model_parameter_mim); *) - ENTITY schema_based_model_parameter - SUBTYPE OF (model_parameter); - END_ENTITY; -(* USED FROM (Model_parameter_mim); *) - ENTITY valid_range_property_definition_representation - SUBTYPE OF (property_definition_representation); - END_ENTITY; -(* USED FROM (Model_parameter_mim); *) - ENTITY test_method_based_parameter_assignment - SUBTYPE OF (parameter_assignment); - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_related_product_category - SUBTYPE OF (product_category); - products : SET [1:?] OF product; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date_time_role; - name : label; -DERIVE - description : text := get_description_value (SELF); -WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date_role; - name : label; -DERIVE - description : text := get_description_value (SELF); -WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (Shape_property_assignment_mim); *) -ENTITY geometric_item_specific_usage - SUBTYPE OF(item_identified_representation_usage); - SELF\item_identified_representation_usage.definition : geometric_item_specific_usage_select; - SELF\item_identified_representation_usage.used_representation : shape_model; - SELF\item_identified_representation_usage.identified_item : geometric_model_item; - UNIQUE - UR1 : definition; -END_ENTITY; -(* USED FROM (Shape_property_assignment_mim); *) -ENTITY chain_based_geometric_item_specific_usage - SUBTYPE OF (geometric_item_specific_usage, - chain_based_item_identified_representation_usage); -END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_type; - product_data_type : label; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY shape_aspect SUPERTYPE OF ( ( ONEOF ( - MINIMALLY_DEFINED_BARE_DIE_TERMINAL, - ASSEMBLY_MODULE_TERMINAL, - CABLE_TERMINAL, - INTERCONNECT_MODULE_TERMINAL, - PACKAGED_PART_TERMINAL) )ANDOR( ONEOF ( - MINIMALLY_DEFINED_BARE_DIE_TERMINAL, - ASSEMBLY_MODULE_TERMINAL, - CABLE_TERMINAL, - PACKAGED_PART_TERMINAL) )ANDOR( (ONEOF ( - PACKAGE_BODY, - PRIMARY_ORIENTATION_FEATURE, - SECONDARY_ORIENTATION_FEATURE, - TERTIARY_ORIENTATION_FEATURE)) )ANDOR( ONEOF ( - CONTACTING_FEATURE, - DATUM, - DATUM_FEATURE, - DATUM_TARGET, - DATUM_SYSTEM, - GENERAL_DATUM_REFERENCE) )ANDOR( (ONEOF ( - DERIVED_SHAPE_ASPECT, - SEATING_PLANE, - REFERENCE_GRAPHIC_REGISTRATION_MARK, - GROUP_SHAPE_ASPECT, - MOUNTING_RESTRICTION_AREA, - MOUNTING_RESTRICTION_VOLUME)) ) ) ; - name : label; - description : OPTIONAL text; - of_shape : product_definition_shape; - product_definitional : LOGICAL; - DERIVE - id : identifier := get_id_value(SELF); - UNIQUE - UR1: id, of_shape; - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY shape_aspect_relationship; - name : label; - description : OPTIONAL text; - relating_shape_aspect : shape_aspect; - related_shape_aspect : shape_aspect; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY property_definition_relationship SUPERTYPE OF ((ONEOF ( - STRATUM_TECHNOLOGY_OCCURRENCE_RELATIONSHIP, - STRATUM_TECHNOLOGY_SWAP_RELATIONSHIP)) ) ; - name : label; - description : text; - relating_property_definition : property_definition; - related_property_definition : property_definition; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY derived_unit - SUPERTYPE OF (ONEOF ( - ABSORBED_DOSE_UNIT, - ACCELERATION_UNIT, - RADIOACTIVITY_UNIT, - AREA_UNIT, - CAPACITANCE_UNIT, - DOSE_EQUIVALENT_UNIT, - ELECTRIC_CHARGE_UNIT, - CONDUCTANCE_UNIT, - ELECTRIC_POTENTIAL_UNIT, - ENERGY_UNIT, - MAGNETIC_FLUX_DENSITY_UNIT, - FORCE_UNIT, - FREQUENCY_UNIT, - ILLUMINANCE_UNIT, - INDUCTANCE_UNIT, - MAGNETIC_FLUX_UNIT, - POWER_UNIT, - PRESSURE_UNIT, - RESISTANCE_UNIT, - VELOCITY_UNIT, - VOLUME_UNIT)); - elements : SET [1:?] OF derived_unit_element; - DERIVE - name : label := get_name_value(SELF); - WHERE - WR1: (SIZEOF(elements) > 1) OR ((SIZEOF(elements) = 1) AND (elements[1].exponent <> 1.0)); - WR2: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (Construction_geometry_mim); *) - ENTITY constructive_geometry_representation_relationship - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 : constructive_geometry_representation_or_shape_represenation; - SELF\representation_relationship.rep_2 : constructive_geometry_representation; - WHERE - WR1: (SELF.rep_1.context_of_items :=: SELF.rep_2.context_of_items) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.rep_1.context_of_items)); - WR2: NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF(SELF)); - END_ENTITY; -(* USED FROM (External_item_identification_assignment_mim); *) -ENTITY applied_external_identification_assignment -SUBTYPE OF (external_identification_assignment); - items : SET [1 : ?] OF external_identification_item; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY circle - SUBTYPE OF (conic); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY trimmed_curve - SUBTYPE OF (bounded_curve); - basis_curve : curve; - trim_1 : SET[1:2] OF trimming_select; - trim_2 : SET[1:2] OF trimming_select; - sense_agreement : BOOLEAN; - master_representation : trimming_preference; -WHERE - WR1: (HIINDEX(trim_1) = 1) OR (TYPEOF(trim_1[1]) <> TYPEOF(trim_1[2])); - WR2: (HIINDEX(trim_2) = 1) OR (TYPEOF(trim_2[1]) <> TYPEOF(trim_2[2])); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY line - SUBTYPE OF (curve); - pnt : cartesian_point; - dir : vector; -WHERE - WR1: dir.dim = pnt.dim; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY capacitance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.farad); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY composite_curve_segment - SUBTYPE OF (founded_item); - transition : transition_code; - same_sense : BOOLEAN; - parent_curve : curve; -INVERSE - using_curves : BAG[1:?] OF composite_curve FOR segments; -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF(parent_curve)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY pcurve - SUBTYPE OF (curve); - basis_surface : surface; - reference_to_curve : definitional_representation; -WHERE - WR1: SIZEOF(reference_to_curve\representation.items) = 1; - WR2: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF (reference_to_curve\representation.items[1]); - WR3: reference_to_curve\representation.items[1]\ geometric_representation_item.dim =2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_curve - SUPERTYPE OF (ONEOF ( - INTERSECTION_CURVE, - SEAM_CURVE) - ANDOR - BOUNDED_SURFACE_CURVE) - SUBTYPE OF (curve); - curve_3d : curve; - associated_geometry : LIST[1:2] OF pcurve_or_surface; - master_representation : preferred_surface_curve_representation; -DERIVE - basis_surface : SET[1:2] OF surface := get_basis_surface(SELF); -WHERE - WR1: curve_3d.dim = 3; - WR2: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[1])) OR (master_representation <> pcurve_s1); - WR3: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(associated_geometry[2])) OR (master_representation <> pcurve_s2); - WR4: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(curve_3d)); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_capacitance_unit - SUBTYPE OF (capacitance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.farad; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_curve - SUPERTYPE OF (ONEOF ( - UNIFORM_CURVE, - B_SPLINE_CURVE_WITH_KNOTS, - QUASI_UNIFORM_CURVE, - BEZIER_CURVE) - ANDOR - RATIONAL_B_SPLINE_CURVE) - SUBTYPE OF (bounded_curve); - degree : INTEGER; - control_points_list : LIST[2:?] OF cartesian_point; - curve_form : b_spline_curve_form; - closed_curve : LOGICAL; - self_intersect : LOGICAL; -DERIVE - upper_index_on_control_points : INTEGER := (SIZEOF(control_points_list) - 1); - control_points : ARRAY[0:upper_index_on_control_points] OF cartesian_point := list_to_array(control_points_list,0, upper_index_on_control_points); -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNIFORM_CURVE' IN TYPEOF(self)) OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.QUASI_UNIFORM_CURVE' IN TYPEOF(self)) OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEZIER_CURVE' IN TYPEOF(self)) OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS' IN TYPEOF(self)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_surface - SUPERTYPE OF (ONEOF ( - B_SPLINE_SURFACE_WITH_KNOTS, - UNIFORM_SURFACE, - QUASI_UNIFORM_SURFACE, - BEZIER_SURFACE) - ANDOR - RATIONAL_B_SPLINE_SURFACE) - SUBTYPE OF (bounded_surface); - u_degree : INTEGER; - v_degree : INTEGER; - control_points_list : LIST[2:?] OF LIST[2:?] OF cartesian_point; - surface_form : b_spline_surface_form; - u_closed : LOGICAL; - v_closed : LOGICAL; - self_intersect : LOGICAL; -DERIVE - u_upper : INTEGER := SIZEOF(control_points_list) - 1; - v_upper : INTEGER := SIZEOF(control_points_list[1]) - 1; - control_points : ARRAY[0:u_upper] OF ARRAY[0:v_upper] OF cartesian_point := make_array_of_array(control_points_list, 0,u_upper,0,v_upper); -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.QUASI_UNIFORM_SURFACE' IN TYPEOF(SELF)) OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEZIER_SURFACE' IN TYPEOF(SELF)) OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS' IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY conical_surface - SUBTYPE OF (elementary_surface); - radius : length_measure; - semi_angle : plane_angle_measure; -WHERE - WR1: radius >= 0.0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY curve - SUPERTYPE OF (ONEOF ( - LINE, - CONIC, - PCURVE, - SURFACE_CURVE, - OFFSET_CURVE_2D, - OFFSET_CURVE_3D, - CURVE_REPLICA)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_dose_equivalent_unit - SUBTYPE OF (dose_equivalent_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.sievert; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY capacitance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAPACITANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY cylindrical_surface - SUBTYPE OF (elementary_surface); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY degenerate_pcurve - SUBTYPE OF (point); - basis_surface : surface; - reference_to_curve : definitional_representation; -WHERE - WR1: SIZEOF(reference_to_curve\representation.items) = 1; - WR2: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF (reference_to_curve\representation.items[1]); - WR3: reference_to_curve\representation. items[1]\geometric_representation_item.dim =2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY ellipse - SUBTYPE OF (conic); - semi_axis_1 : positive_length_measure; - semi_axis_2 : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY hyperbola - SUBTYPE OF (conic); - semi_axis : positive_length_measure; - semi_imag_axis : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY offset_curve_3d - SUBTYPE OF (curve); - basis_curve : curve; - distance : length_measure; - self_intersect : LOGICAL; - ref_direction : direction; -WHERE - WR1: (basis_curve.dim = 3) AND (ref_direction.dim = 3); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY offset_surface - SUBTYPE OF (surface); - basis_surface : surface; - distance : length_measure; - self_intersect : LOGICAL; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY oriented_surface - SUBTYPE OF (surface); - orientation : BOOLEAN; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY parabola - SUBTYPE OF (conic); - focal_dist : length_measure; -WHERE - WR1: focal_dist <> 0.0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY placement - SUPERTYPE OF (ONEOF ( - AXIS1_PLACEMENT, - AXIS2_PLACEMENT_2D, - AXIS2_PLACEMENT_3D)) - SUBTYPE OF (geometric_representation_item); - location : cartesian_point; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY plane - SUBTYPE OF (elementary_surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY point_on_curve - SUBTYPE OF (point); - basis_curve : curve; - point_parameter : parameter_value; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY point_on_surface - SUBTYPE OF (point); - basis_surface : surface; - point_parameter_u : parameter_value; - point_parameter_v : parameter_value; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_electric_charge_unit - SUBTYPE OF (electric_charge_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.coulomb; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY polyline - SUBTYPE OF (bounded_curve); - points : LIST[2:?] OF cartesian_point; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_current_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CURRENT_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rectangular_trimmed_surface - SUBTYPE OF (bounded_surface); - basis_surface : surface; - u1 : parameter_value; - u2 : parameter_value; - v1 : parameter_value; - v2 : parameter_value; - usense : BOOLEAN; - vsense : BOOLEAN; -WHERE - WR1: u1 <> u2; - WR2: v1 <> v2; - WR3: (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(basis_surface)) AND (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(basis_surface)))) OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF(basis_surface)) OR (usense = (u2 > u1)); - WR4: (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPHERICAL_SURFACE' IN TYPEOF(basis_surface)) OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TOROIDAL_SURFACE' IN TYPEOF(basis_surface))) OR (vsense = (v2 > v1)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY spherical_surface - SUBTYPE OF (elementary_surface); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface - SUPERTYPE OF (ONEOF ( - ELEMENTARY_SURFACE, - SWEPT_SURFACE, - BOUNDED_SURFACE, - OFFSET_SURFACE, - SURFACE_REPLICA)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_of_linear_extrusion - SUBTYPE OF (swept_surface); - extrusion_axis : vector; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_of_revolution - SUBTYPE OF (swept_surface); - axis_position : axis1_placement; -DERIVE - axis_line : line := representation_item('')|| geometric_representation_item()|| curve()|| line(axis_position.location, representation_item('')|| geometric_representation_item()|| vector(axis_position.z, 1.0)); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY conductance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONDUCTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY toroidal_surface - SUBTYPE OF (elementary_surface); - major_radius : positive_length_measure; - minor_radius : positive_length_measure; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_conductance_unit - SUBTYPE OF (conductance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.siemens; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY cartesian_complex_number_region - SUBTYPE OF (maths_space, generic_literal); - real_constraint : real_interval; - imag_constraint : real_interval; -WHERE - WR1: min_exists(real_constraint) OR max_exists(real_constraint) OR - min_exists(imag_constraint) OR max_exists(imag_constraint); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_relationship; - name : label; - description : OPTIONAL text; - rep_1 : representation; - rep_2 : representation; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY edge_curve - SUBTYPE OF(edge,geometric_representation_item); - edge_geometry : curve; - same_sense : BOOLEAN; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face_surface - SUBTYPE OF(face,geometric_representation_item); - face_geometry : surface; - same_sense : BOOLEAN; - WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_SURFACE' IN TYPEOF(face_geometry)); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex_point - SUBTYPE OF(vertex,geometric_representation_item); - vertex_geometry : point; - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY apex - SUBTYPE OF (derived_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY centre_of_symmetry - SUBTYPE OF (derived_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY derived_shape_aspect - SUPERTYPE OF (ONEOF ( - APEX, - CENTRE_OF_SYMMETRY, - GEOMETRIC_ALIGNMENT, - GEOMETRIC_CONTACT, - GEOMETRIC_INTERSECTION, - PARALLEL_OFFSET, - PERPENDICULAR_TO, - EXTENSION, - TANGENT)) - SUBTYPE OF (shape_aspect); -INVERSE - deriving_relationships : SET[1:?] OF shape_aspect_deriving_relationship FOR relating_shape_aspect; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY extension - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY geometric_alignment - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY geometric_intersection - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY parallel_offset - SUBTYPE OF (derived_shape_aspect); - offset : measure_with_unit; -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY perpendicular_to - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY shape_aspect_deriving_relationship - SUBTYPE OF (shape_aspect_relationship); - SELF\shape_aspect_relationship.relating_shape_aspect : derived_shape_aspect; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY tangent - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1; -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY expression_conversion_based_unit - SUBTYPE OF (context_dependent_unit, variable_semantics); -INVERSE - associated_variable_environment: environment FOR semantics; -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY dielectric_constant_measure_with_unit - SUBTYPE OF (ratio_measure_with_unit); -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY loss_tangent_measure_with_unit - SUBTYPE OF (ratio_measure_with_unit); -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY thermal_resistance_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMAL_RESISTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_density_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_DENSITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (Shape_composition_mim); *) -ENTITY composite_unit_shape_aspect - SUBTYPE OF (composite_shape_aspect); -END_ENTITY; -(* USED FROM (Document_assignment_mim); *) -ENTITY applied_document_reference - SUBTYPE OF (document_reference); - items : SET[1:?] OF document_reference_item; -END_ENTITY; -(* USED FROM (Document_assignment_mim); *) -ENTITY applied_document_usage_constraint_assignment - SUBTYPE OF (document_usage_constraint_assignment); - items : SET[1:?] OF document_reference_item; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY force_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.newton); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY force_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FORCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY external_source; - source_id : source_item; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY externally_defined_item; - item_id : source_item; - source : external_source; - END_ENTITY; -(* USED FROM (Identification_assignment_mim); *) -ENTITY applied_identification_assignment - SUBTYPE OF (identification_assignment); - items : SET[1:?] OF identification_item; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY dimensional_location_with_datum_feature - SUBTYPE OF (datum_feature, dimensional_location); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY dimensional_size_with_datum_feature - SUBTYPE OF (datum_feature, dimensional_size); -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY angular_location - SUBTYPE OF (dimensional_location); - angle_selection : angle_relator; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY angular_size - SUBTYPE OF (dimensional_size); - angle_selection : angle_relator; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_characteristic_representation; - dimension : dimensional_characteristic; - representation : shape_dimension_representation; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_location - SUPERTYPE OF (ONEOF ( - ANGULAR_LOCATION, - DIMENSIONAL_LOCATION_WITH_PATH)) - SUBTYPE OF (shape_aspect_relationship); -WHERE - WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect; - WR2: SELF\shape_aspect_relationship.relating_shape_aspect.of_shape :=: SELF\shape_aspect_relationship.related_shape_aspect.of_shape; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_location_with_path - SUBTYPE OF (dimensional_location); - path : shape_aspect; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_size - SUPERTYPE OF (ONEOF ( - ANGULAR_SIZE, - DIMENSIONAL_SIZE_WITH_PATH)); - applies_to : shape_aspect; - name : label; -DERIVE - id : identifier := get_id_value(SELF); -UNIQUE - UR1: id, applies_to; -WHERE - WR1: applies_to.product_definitional = TRUE; - WR2: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY dimensional_size_with_path - SUBTYPE OF (dimensional_size); - path : shape_aspect; -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY directed_dimensional_location - SUBTYPE OF (dimensional_location); -END_ENTITY; -(* USED FROM (shape_dimension_schema); *) -ENTITY shape_dimension_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF shape_dimension_representation_item; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY limits_and_fits; - form_variance : label; - zone_variance : label; - grade : label; - source : text; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY plus_minus_tolerance; - range : tolerance_method_definition; - toleranced_dimension : dimensional_characteristic; -UNIQUE - UR1: toleranced_dimension; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_value; - lower_bound : measure_with_unit; - upper_bound : measure_with_unit; -DERIVE - ubvc : REAL := upper_bound\measure_with_unit.value_component; - lbvc : REAL := lower_bound\measure_with_unit.value_component; -WHERE - WR1: ubvc > lbvc; - WR2: upper_bound\measure_with_unit.unit_component = lower_bound\measure_with_unit.unit_component; -END_ENTITY; -(* USED FROM (Feature_and_connection_zone_mim); *) -ENTITY connection_zone_interface_plane_relationship - SUBTYPE OF (shape_aspect, shape_aspect_relationship); -UNIQUE - UR1: SELF\shape_aspect_relationship.name; -END_ENTITY; -(* USED FROM (Feature_and_connection_zone_mim); *) -ENTITY feature_definition_with_connection_area - SUBTYPE OF (shape_feature_definition); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY all_around_shape_aspect - SUBTYPE OF (continuous_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY between_shape_aspect - SUBTYPE OF (continuous_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY continuous_shape_aspect - SUPERTYPE OF (ONEOF ( - BETWEEN_SHAPE_ASPECT, - ALL_AROUND_SHAPE_ASPECT)) - SUBTYPE OF (composite_shape_aspect); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY composite_shape_aspect - SUPERTYPE OF (ONEOF ( - CONTINUOUS_SHAPE_ASPECT, - COMMON_DATUM, - COMPOSITE_GROUP_SHAPE_ASPECT)) - SUBTYPE OF (shape_aspect); -INVERSE - component_relationships : SET[2:?] OF shape_aspect_relationship FOR relating_shape_aspect; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY composite_group_shape_aspect - SUBTYPE OF (composite_shape_aspect); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY length_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 1.0) AND - (SELF\named_unit.dimensions.mass_exponent = 0.0) AND - (SELF\named_unit.dimensions.time_exponent = 0.0) AND - (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND - (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND - (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND - (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY contacting_feature - SUBTYPE OF (shape_aspect); -WHERE - WR1: SELF\shape_aspect.product_definitional = FALSE; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_flux_unit - SUBTYPE OF(named_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.lumen); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_flux_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_FLUX_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference_modifier_with_value; - modifier_type : datum_reference_modifier_type; - modifier_value : length_measure_with_unit; -WHERE - WR1: (modifier_value\measure_with_unit.value_component > 0.0); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference; - precedence : INTEGER; - referenced_datum : datum; -WHERE - WR1: precedence > 0; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference_compartment - SUBTYPE OF (general_datum_reference); -INVERSE - owner : datum_system FOR constituents; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_reference_element - SUBTYPE OF (general_datum_reference); -DERIVE - owner : general_datum_reference := sts_get_general_datum_reference(SELF); -WHERE - WR1: SELF <> owner; - WR2: EXISTS(owner); - WR3: SELF\shape_aspect.of_shape = owner\shape_aspect.of_shape; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_system - SUBTYPE OF (shape_aspect); - constituents : LIST[1:3] OF UNIQUE datum_reference_compartment; -UNIQUE - UR1: SELF\shape_aspect.of_shape,SELF\shape_aspect.name; -WHERE - WR1: SELF\shape_aspect.product_definitional = FALSE; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.weber); - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY general_datum_reference - ABSTRACT SUPERTYPE OF (ONEOF ( - DATUM_REFERENCE_COMPARTMENT, - DATUM_REFERENCE_ELEMENT)) - SUBTYPE OF (shape_aspect); - base : datum_or_common_datum; - modifiers : OPTIONAL SET[1:?] OF datum_reference_modifier; -WHERE - WR1: SELF\shape_aspect.name = ''; - WR2: NOT EXISTS(SELF\shape_aspect.description); - WR3: NOT EXISTS(SELF\shape_aspect.id); - WR4: SELF\shape_aspect.product_definitional = FALSE; - WR5: NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM' IN TYPEOF(base)) OR (SELF\shape_aspect.of_shape = base\shape_aspect.of_shape); - WR6: NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMMON_DATUM_LIST' IN TYPEOF(base)) OR (SELF\shape_aspect.of_shape = base[1]\shape_aspect.of_shape); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY geometric_contact - SUBTYPE OF (derived_shape_aspect); -WHERE - WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 2; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY referenced_modified_datum - SUBTYPE OF (datum_reference); - modifier : limit_condition; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY symmetric_shape_aspect - SUBTYPE OF (shape_aspect); -INVERSE - basis_relationships : SET[1:?] OF shape_aspect_deriving_relationship FOR related_shape_aspect; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY dimension_related_tolerance_zone_element; - related_dimension : dimensional_location; - related_element : tolerance_zone_definition; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance - ABSTRACT SUPERTYPE OF ( - GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE - ANDOR - GEOMETRIC_TOLERANCE_WITH_DEFINED_UNIT - ANDOR ONEOF ( - GEOMETRIC_TOLERANCE_WITH_MODIFIERS, - MODIFIED_GEOMETRIC_TOLERANCE) - ANDOR - UNEQUALLY_DISPOSED_GEOMETRIC_TOLERANCE - ANDOR ONEOF ( - CYLINDRICITY_TOLERANCE, - FLATNESS_TOLERANCE, - LINE_PROFILE_TOLERANCE, - POSITION_TOLERANCE, - ROUNDNESS_TOLERANCE, - STRAIGHTNESS_TOLERANCE, - SURFACE_PROFILE_TOLERANCE)); - name : label; - description : OPTIONAL text; - magnitude : OPTIONAL length_measure_with_unit; - toleranced_shape_aspect : geometric_tolerance_target; -DERIVE - controlling_shape : product_definition_shape := sts_get_product_definition_shape(toleranced_shape_aspect); - id : identifier := get_id_value(SELF); -UNIQUE - UR1: id, controlling_shape; -WHERE - WR1: magnitude\measure_with_unit.value_component >= 0.0; - WR2: EXISTS(controlling_shape); - WR3: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP' IN TYPEOF(toleranced_shape_aspect)) - OR (toleranced_shape_aspect\shape_aspect_relationship.relating_shape_aspect.of_shape :=: - toleranced_shape_aspect\shape_aspect_relationship.related_shape_aspect.of_shape); - WR4: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_relationship; - name : label; - description : text; - relating_geometric_tolerance : geometric_tolerance; - related_geometric_tolerance : geometric_tolerance; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY mass_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 1.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_defined_unit - SUBTYPE OF (geometric_tolerance); - unit_size : length_measure_with_unit; -WHERE - WR1: ('NUMBER' IN TYPEOF (unit_size\measure_with_unit.value_component)) AND (unit_size\measure_with_unit.value_component > 0.0); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_defined_area_unit - SUBTYPE OF (geometric_tolerance_with_defined_unit); - area_type : area_unit_type; - second_unit_size : OPTIONAL length_measure_with_unit; -WHERE - WR1: NOT (EXISTS(second_unit_size) XOR (area_type = area_unit_type.rectangular)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_maximum_tolerance - SUBTYPE OF (geometric_tolerance_with_modifiers); - maximum_upper_tolerance : length_measure_with_unit; -WHERE - WR1: (geometric_tolerance_modifier.maximum_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers) OR (geometric_tolerance_modifier.least_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers); - WR2: (maximum_upper_tolerance\measure_with_unit.unit_component = SELF\geometric_tolerance.magnitude\measure_with_unit.unit_component) AND (maximum_upper_tolerance\measure_with_unit.value_component > SELF\geometric_tolerance.magnitude\measure_with_unit.value_component); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_modifiers - SUBTYPE OF (geometric_tolerance); - modifiers : SET[1:?] OF geometric_tolerance_modifier; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY modified_geometric_tolerance - SUBTYPE OF (geometric_tolerance); - modifier : limit_condition; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY non_uniform_zone_definition - SUBTYPE OF (tolerance_zone_definition); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY projected_zone_definition - SUBTYPE OF (tolerance_zone_definition); - projection_end : shape_aspect; - projected_length : length_measure_with_unit; -WHERE - WR1: ('NUMBER' IN TYPEOF (projected_length\measure_with_unit.value_component)) AND (projected_length\measure_with_unit.value_component > 0.0); - WR2: (derive_dimensional_exponents (projected_length\measure_with_unit.unit_component)= dimensional_exponents(1,0,0,0,0,0,0)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY projected_zone_definition_with_offset - SUBTYPE OF (projected_zone_definition); - offset : length_measure_with_unit; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY runout_zone_definition - SUBTYPE OF (tolerance_zone_definition); - orientation : runout_zone_orientation; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY runout_zone_orientation_reference_direction - SUBTYPE OF (runout_zone_orientation); - orientation_defining_relationship : shape_aspect_relationship; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_zone - SUBTYPE OF (shape_aspect); - defining_tolerance : SET[1:?] OF tolerance_zone_target; - form : tolerance_zone_form; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_zone_definition - SUPERTYPE OF (ONEOF ( - PROJECTED_ZONE_DEFINITION, - NON_UNIFORM_ZONE_DEFINITION, - RUNOUT_ZONE_DEFINITION)); - zone : tolerance_zone; - boundaries : SET[0:?] OF shape_aspect; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY tolerance_zone_form; - name : label; -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY cylindricity_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY flatness_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY line_profile_tolerance - SUBTYPE OF (geometric_tolerance); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY position_tolerance - SUBTYPE OF (geometric_tolerance); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY roundness_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY straightness_tolerance - SUBTYPE OF (geometric_tolerance); -WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF)); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY surface_profile_tolerance - SUBTYPE OF (geometric_tolerance); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY angularity_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY circular_runout_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY coaxiality_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY concentricity_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY parallelism_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY perpendicularity_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY symmetry_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY total_runout_tolerance - SUBTYPE OF (geometric_tolerance_with_datum_reference); -END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY unequally_disposed_geometric_tolerance - SUBTYPE OF (geometric_tolerance); - displacement : length_measure_with_unit; -WHERE - WR1: ('NUMBER' IN TYPEOF (SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component)) AND (SELF\geometric_tolerance_with_defined_unit.unit_size\measure_with_unit.value_component > 0.0); -END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY property_definition SUPERTYPE OF ( ( (ONEOF ( - STRATUM_TECHNOLOGY_OCCURRENCE_RELATIONSHIP, - STRATUM_TECHNOLOGY_OCCURRENCE)) )ANDOR( ONEOF ( - PRODUCT_DEFINITION_KINEMATICS, - PRODUCT_DEFINITION_RELATIONSHIP_KINEMATICS, - PRODUCT_DEFINITION_SHAPE) ) ) ; - name : label; - description : OPTIONAL text; - definition : characterized_definition; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY property_definition_representation; - definition : represented_definition; - used_representation : representation; - DERIVE - description : text := get_description_value(SELF); - name : label := get_name_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY shape_representation - SUBTYPE OF (representation); - END_ENTITY; -(* USED FROM (Part_external_reference_mim); *) - ENTITY part_terminal_external_reference - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Assembly_module_with_packaged_connector_component_mim); *) -ENTITY interface_mounted_join - SUBTYPE OF (shape_aspect_relationship,shape_aspect); -END_ENTITY; -(* USED FROM (Assembly_module_with_packaged_connector_component_mim); *) -ENTITY packaged_connector_component - SUBTYPE OF (interface_component, packaged_component); -END_ENTITY; -(* USED FROM (Part_template_mim); *) - ENTITY part_template_definition - SUPERTYPE OF ( ( ONEOF ( - PRINTED_PART_TEMPLATE, - NON_CONDUCTIVE_CROSS_SECTION_TEMPLATE) )ANDOR( (ONEOF ( - GEOMETRIC_TEMPLATE, - PARAMETRIC_TEMPLATE, - PART_STRING_TEMPLATE, - PART_TEXT_TEMPLATE, - SINGLE_STRATUM_TEMPLATE, - STRATUM_STACK_MODEL)) )ANDOR( (ONEOF (ONEOF ( - PRINTED_PART_TEMPLATE, - SPECIAL_SYMBOL_TEMPLATE) - ANDOR - GEOMETRIC_TEMPLATE, - NON_CONDUCTIVE_CROSS_SECTION_TEMPLATE, - PART_STRING_TEMPLATE, - PARAMETRIC_TEMPLATE, - PART_TEXT_TEMPLATE, - STRATUM_STACK_MODEL, - STRATUM_SUB_STACK)) ) ) - SUBTYPE OF (product_definition, product_definition_shape); - DERIVE - SELF\property_definition.definition : part_template_definition := SELF; - WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'NAME_ATTRIBUTE.NAMED_ITEM')) = 0; - WR2: NOT EXISTS(SELF\property_definition.description); - END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY assembly_component - SUPERTYPE OF ( ( (ONEOF ( - PHYSICAL_COMPONENT, - LAMINATE_COMPONENT)) )ANDOR( (ONEOF ( - PHYSICAL_COMPONENT, - PRINTED_COMPONENT, - LAMINATE_COMPONENT)) ) ) - SUBTYPE OF (component_definition, product_definition_shape); - DERIVE - SELF\property_definition.definition : assembly_component := SELF; - WHERE - WR1: NOT EXISTS(SELF\property_definition.description); -END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY component_definition - SUBTYPE OF (product_definition, product_definition_relationship); - DERIVE - SELF\product_definition_relationship.related_product_definition : component_definition := SELF; - WHERE - WR1: NOT EXISTS(SELF\product_definition_relationship.description); - WR2: NOT EXISTS(SELF\property_definition.description); - WR3: SELF\product_definition_relationship.id = SELF\product_definition.id; - WR4: SELF\product_definition_relationship.name = 'definition usage'; - WR5: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_USAGE' IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY physical_component - SUPERTYPE OF ( ( ONEOF ( - ASSEMBLY_MODULE_COMPONENT, - ASSEMBLY_MODULE_MACRO_COMPONENT, - BARE_DIE_COMPONENT, - CABLE_COMPONENT, - INTERCONNECT_MODULE_COMPONENT, - INTERCONNECT_MODULE_MACRO_COMPONENT, - PACKAGED_COMPONENT, - ROUTED_INTERCONNECT_COMPONENT, - ROUTED_PHYSICAL_COMPONENT, - SEQUENTIAL_LAMINATE_STACKUP_COMPONENT) )ANDOR( ONEOF ( - PACKAGED_COMPONENT, - ROUTED_PHYSICAL_COMPONENT) ) ) - SUBTYPE OF (assembly_component); -END_ENTITY; -(* USED FROM (Assembly_component_mim); *) -ENTITY thermal_component - SUBTYPE OF (assembly_component); -END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY component_path_shape_aspect - SUBTYPE OF (shape_aspect); - location : multi_or_next_assembly_usage_occurrence; - component_shape_aspect : internal_or_reflected_shape_aspect; - UNIQUE - UR1 : location, component_shape_aspect; - END_ENTITY; -(* USED FROM (Requirement_decomposition_mim); *) -ENTITY material_electrical_conductivity_category - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Requirement_decomposition_mim); *) -ENTITY operational_requirement_relationship - SUBTYPE OF (property_definition, product_definition_relationship); -END_ENTITY; -(* USED FROM (Requirement_decomposition_mim); *) -ENTITY predefined_requirement_view_definition - SUPERTYPE OF ( ( (ONEOF ( - ASSEMBLY_SPACING_REQUIREMENT, - ASSEMBLY_GROUP_SPACING_REQUIREMENT, - ITEM_RESTRICTED_REQUIREMENT, - LAYOUT_SPACING_REQUIREMENT)) )ANDOR( (ONEOF ( - ASSEMBLY_SPACING_REQUIREMENT, - ASSEMBLY_GROUP_SPACING_REQUIREMENT, - ITEM_RESTRICTED_REQUIREMENT)) ) ) - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY person_and_organization_role; - name : label; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organization_role; - name : label; - DERIVE - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_with_associated_documents - SUBTYPE OF (product_definition); - documentation_ids : SET [1:?] OF document; - END_ENTITY; -(* USED FROM (Extended_basic_geometry_mim); *) - ENTITY geometric_model_element_relationship - SUBTYPE OF (geometric_representation_item, representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : geometric_representation_item; - SELF\representation_item_relationship.related_representation_item: geometric_representation_item; - UNIQUE - UR1: SELF\representation_item_relationship.relating_representation_item, - SELF\representation_item_relationship.related_representation_item; - WHERE - WR1: SELF\representation_item_relationship.relating_representation_item :<>: - SELF\representation_item_relationship.related_representation_item; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY circular_area - SUBTYPE OF (primitive_2d); - centre : cartesian_point; - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY elliptic_area - SUBTYPE OF (primitive_2d); - position : axis2_placement_2d; - semi_axis_1 : positive_length_measure; - semi_axis_2 : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY polygonal_area - SUBTYPE OF (primitive_2d); - bounds : LIST[3:?] OF UNIQUE cartesian_point; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY primitive_2d - SUPERTYPE OF (ONEOF ( - CIRCULAR_AREA, - ELLIPTIC_AREA, - RECTANGULAR_AREA, - POLYGONAL_AREA, - HALF_SPACE_2D)) - SUBTYPE OF (geometric_representation_item); -WHERE - WR1: SELF\geometric_representation_item.dim = 2; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY rectangular_area - SUBTYPE OF (primitive_2d); - position : axis2_placement_2d; - x : positive_length_measure; - y : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY boolean_result - SUBTYPE OF (geometric_representation_item); - operator : boolean_operator; - first_operand : boolean_operand; - second_operand : boolean_operand; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY csg_solid - SUBTYPE OF (solid_model); - tree_root_expression : csg_select; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY half_space_2d - SUBTYPE OF (primitive_2d); - base_curve : curve; - agreement_flag : BOOLEAN; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY area_with_outer_boundary - SUBTYPE OF (half_space_2d); - SELF\half_space_2d.base_curve : composite_curve; -WHERE - WR1: base_curve\composite_curve.closed_curve = TRUE; -END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY shape_definition_representation - SUBTYPE OF (property_definition_representation); - SELF\property_definition_representation.definition : property_definition; - SELF\property_definition_representation.used_representation : shape_representation; - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(definition)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION' IN TYPEOF(definition\property_definition.definition)); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY volume_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (aic_curve_swept_solid); *) - ENTITY ruled_surface_swept_area_solid - SUBTYPE OF(surface_curve_swept_area_solid); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(SELF.reference_surface)) AND - (SELF.reference_surface\b_spline_surface.u_degree = 1); - WR2: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(SELF.directrix)) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF(SELF.directrix\surface_curve.curve_3d)) - AND - (SELF.directrix\surface_curve.curve_3d\b_spline_curve.degree = - SELF.reference_surface\b_spline_surface.v_degree)); - END_ENTITY; -(* USED FROM (External_unit_mim); *) - ENTITY externally_defined_context_dependent_unit - SUBTYPE OF (context_dependent_unit,externally_defined_item); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bezier_curve - SUBTYPE OF (b_spline_curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bezier_surface - SUBTYPE OF (b_spline_surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY quasi_uniform_curve - SUBTYPE OF (b_spline_curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY quasi_uniform_surface - SUBTYPE OF (b_spline_surface); -END_ENTITY; -(* USED FROM (External_unit_mim); *) - ENTITY externally_defined_conversion_based_unit - SUBTYPE OF (conversion_based_unit,externally_defined_item); - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY restriction_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_space; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY uniform_curve - SUBTYPE OF (b_spline_curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY uniform_surface - SUBTYPE OF (b_spline_surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY boundary_curve - SUBTYPE OF (composite_curve_on_surface); -WHERE - WR1: SELF\composite_curve.closed_curve; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -(* Pruned SUPERTYPE *) -ENTITY geometric_set - - SUBTYPE OF (geometric_representation_item); - elements : SET[1:?] OF geometric_set_select; -END_ENTITY; -(* USED FROM (Camera_view_3d_mim); *) - ENTITY hidden_element_over_riding_styled_item - SUBTYPE OF (context_dependent_over_riding_styled_item); - SELF\context_dependent_over_riding_styled_item.style_context : LIST [1:1] OF presentation_view; - SELF\styled_item.item : camera_image; - INVERSE - container : SET[1:?] OF presentation_view FOR items; - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAMERA_MODEL_D3_WITH_HLHSR' IN TYPEOF - (SELF.item\mapped_item.mapping_source.mapping_origin); - END_ENTITY; -(* USED FROM (Geometric_model_2d_3d_relationship_mim); *) -ENTITY axis_placement_2d_3d_mapping - SUBTYPE OF (item_defined_transformation); - SELF\item_defined_transformation.transform_item_1 : axis2_placement_2d; - SELF\item_defined_transformation.transform_item_2 : axis2_placement_3d; -END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY context_dependent_shape_representation; - representation_relation : shape_representation_relationship; - represented_product_relation : product_definition_shape; - DERIVE - description : text := get_description_value(SELF); - name : label := get_name_value(SELF); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF.represented_product_relation.definition); - WR2: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR3: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY functionally_defined_transformation; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_relationship_with_transformation - SUBTYPE OF (representation_relationship); - transformation_operator : transformation; - WHERE - WR1: SELF\representation_relationship.rep_1.context_of_items - :<>: SELF\representation_relationship.rep_2.context_of_items; - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_table_header - SUBTYPE OF (general_property); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_column_header - SUBTYPE OF (general_property); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_column_header_link - SUBTYPE OF (general_property_relationship); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_data_table_header_decomposition - SUBTYPE OF (general_property_relationship); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY characteristic_type - SUBTYPE OF (group); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY null_representation_item - SUBTYPE OF (representation_item); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY range_characteristic - SUBTYPE OF (representation, descriptive_representation_item); - WHERE - WR1: NOT(SELF\representation.name IN ['tolerance', 'minimum tolerance', 'maximum tolerance', - 'nominal tolerance', 'plus minus tolerance', 'symmetrical tolerance', 'statistical tolerance']); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY row_representation_item - SUBTYPE OF(compound_representation_item); - SELF\compound_representation_item.item_element : list_representation_item; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_with_hlhsr - SUBTYPE OF (camera_model_d3); - hidden_line_surface_removal : BOOLEAN; - END_ENTITY; -(* USED FROM (External_properties_mim); *) - ENTITY externally_defined_general_property - SUBTYPE OF (general_property, externally_defined_item); - END_ENTITY; -(* USED FROM (Footprint_definition_mim); *) -ENTITY breakout_footprint_definition - SUBTYPE OF (generic_footprint_definition); -END_ENTITY; -(* USED FROM (Footprint_definition_mim); *) -ENTITY footprint_definition - SUBTYPE OF (generic_footprint_definition); -END_ENTITY; -(* USED FROM (Footprint_definition_mim); *) -ENTITY generic_footprint_definition - ABSTRACT SUPERTYPE OF (ONEOF ( - FOOTPRINT_DEFINITION, - BREAKOUT_FOOTPRINT_DEFINITION)) - - SUBTYPE OF (multi_stratum_structured_template); -END_ENTITY; -(* USED FROM (Footprint_definition_mim); *) -ENTITY package_footprint_relationship_definition - SUBTYPE OF (part_template_definition); -END_ENTITY; -(* USED FROM (Assembly_component_placement_requirements_mim); *) - ENTITY assembly_group_spacing_requirement - SUBTYPE OF (predefined_requirement_view_definition); - END_ENTITY; -(* USED FROM (Assembly_component_placement_requirements_mim); *) - ENTITY assembly_spacing_requirement - SUBTYPE OF (predefined_requirement_view_definition); - END_ENTITY; -(* USED FROM (Assembly_component_placement_requirements_mim); *) - ENTITY group_product_definition - SUBTYPE OF (component_definition); - END_ENTITY; -(* USED FROM (Assembly_component_placement_requirements_mim); *) - ENTITY item_restricted_requirement - SUBTYPE OF (group, predefined_requirement_view_definition); - END_ENTITY; -(* USED FROM (Assembly_component_placement_requirements_mim); *) - ENTITY mounting_restriction_area - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Assembly_component_placement_requirements_mim); *) - ENTITY mounting_restriction_volume - SUBTYPE OF (shape_aspect); - END_ENTITY; -(* USED FROM (Conductivity_material_aspects_mim); *) - ENTITY material_designation_with_conductivity_classification - SUBTYPE OF (material_designation); - END_ENTITY; -(* USED FROM (Classification_assignment_mim); *) -ENTITY applied_classification_assignment - SUBTYPE OF (classification_assignment); - items : SET[1:?] OF classification_item; -END_ENTITY; -(* USED FROM (classification_schema); *) -ENTITY class - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (classification_schema); *) -ENTITY class_by_extension - SUBTYPE OF (class); -END_ENTITY; -(* USED FROM (classification_schema); *) -ENTITY class_by_intension - SUBTYPE OF (class); -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY classification_assignment - ABSTRACT SUPERTYPE; - assigned_class : group; - role : classification_role; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_positional - SUBTYPE OF (light_source); - position : cartesian_point; - constant_attenuation : REAL; - distance_attenuation : REAL; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY axis1_placement - SUBTYPE OF (placement); - axis : OPTIONAL direction; -DERIVE - z : direction := NVL(normalise(axis), dummy_gri || direction([0.0,0.0,1.0])); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY axis2_placement_2d - SUBTYPE OF (placement); - ref_direction : OPTIONAL direction; -DERIVE - p : LIST[2:2] OF direction := build_2axes(ref_direction); -WHERE - WR1: SELF\geometric_representation_item.dim = 2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY axis2_placement_3d - SUBTYPE OF (placement); - axis : OPTIONAL direction; - ref_direction : OPTIONAL direction; -DERIVE - p : LIST[3:3] OF direction := build_axes(axis,ref_direction); -WHERE - WR1: SELF\placement.location.dim = 3; - WR2: (NOT (EXISTS (axis))) OR (axis.dim = 3); - WR3: (NOT (EXISTS (ref_direction))) OR (ref_direction.dim = 3); - WR4: (NOT (EXISTS (axis))) OR (NOT (EXISTS (ref_direction))) OR (cross_product(axis,ref_direction).magnitude > 0.0); -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY cartesian_point - - SUBTYPE OF (point); - coordinates : LIST[1:3] OF length_measure; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY cartesian_transformation_operator_2d - SUBTYPE OF (cartesian_transformation_operator); -DERIVE - u : LIST[2:2] OF direction := base_axis(2,SELF\cartesian_transformation_operator.axis1, SELF\cartesian_transformation_operator.axis2,?); -WHERE - WR1: SELF\geometric_representation_item.dim = 2; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY cartesian_transformation_operator_3d - SUBTYPE OF (cartesian_transformation_operator); - axis3 : OPTIONAL direction; -DERIVE - u : LIST[3:3] OF direction := base_axis(3,SELF\cartesian_transformation_operator.axis1, SELF\cartesian_transformation_operator.axis2,axis3); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -(* Pruned SUPERTYPE *) -ENTITY solid_model - SUPERTYPE OF (ONEOF ( - CSG_SOLID, - MANIFOLD_SOLID_BREP, - SWEPT_FACE_SOLID, - SWEPT_AREA_SOLID, - SWEPT_DISK_SOLID, - SOLID_REPLICA)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY geometric_representation_context - SUPERTYPE OF (ONEOF ( - GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER, - PATH_PARAMETER_REPRESENTATION_CONTEXT) ) - SUBTYPE OF (representation_context); - coordinate_space_dimension : dimension_count; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY revolved_face_solid_with_trim_conditions - SUBTYPE OF(revolved_face_solid); - first_trim_condition : trim_condition_select; - second_trim_condition : trim_condition_select; -WHERE - WR1: NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition))); - WR2: NOT((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(first_trim_condition)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(second_trim_condition))) AND - (first_trim_condition = second_trim_condition)); -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY measure_representation_item - SUBTYPE OF (representation_item, measure_with_unit); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY item_defined_transformation; - name : label; - description : OPTIONAL text; - transform_item_1 : representation_item; - transform_item_2 : representation_item; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY extruded_face_solid_with_draft_angle - SUBTYPE OF (extruded_face_solid_with_trim_conditions); - draft_angle : plane_angle_measure; -WHERE - WR1: draft_angle <> 0; -END_ENTITY; -(* USED FROM (Functional_specification_mim); *) -ENTITY functional_specification - SUBTYPE OF (representation); -END_ENTITY; -(* USED FROM (Functional_specification_mim); *) -ENTITY functional_specification_definition - SUBTYPE OF (functional_unit); -END_ENTITY; -(* USED FROM (Signal_mim); *) -ENTITY composite_signal_property_relationship - SUBTYPE OF (property_definition, property_definition_relationship); -WHERE - WR1: SELF\property_definition_relationship.related_property_definition.definition :<>: - SELF\property_definition_relationship.relating_property_definition.definition; -END_ENTITY; -(* USED FROM (Signal_mim); *) -ENTITY signal - SUBTYPE OF (characterized_object); -END_ENTITY; -(* USED FROM (Signal_mim); *) -ENTITY signal_category - SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY abstract_variable - SUBTYPE OF (property_definition, property_definition_representation, representation, representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY atomic_formula - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY attribute_assertion - SUBTYPE OF (fact_type, property_definition_representation, representation); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY back_chaining_rule - SUBTYPE OF (rule_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY back_chaining_rule_body - SUBTYPE OF (property_definition, property_definition_representation, representation); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY complex_clause - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY complex_conjunctive_clause - SUBTYPE OF (complex_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY complex_disjunctive_clause - SUBTYPE OF (complex_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY entity_assertion - SUBTYPE OF (fact_type); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY enum_reference_prefix - SUBTYPE OF (descriptive_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY extent - SUBTYPE OF (characterized_object); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY fact_type - SUBTYPE OF (property_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY forward_chaining_rule - SUBTYPE OF (rule_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY forward_chaining_rule_premise - SUBTYPE OF (property_definition, property_definition_representation, representation); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY func - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY global_assignment - SUBTYPE OF (representation_item_relationship); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY ground_fact - SUBTYPE OF (atomic_formula); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY literal_conjunction - SUBTYPE OF (simple_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY literal_disjunction - SUBTYPE OF (simple_clause); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY row_value - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY row_variable - SUBTYPE OF (abstract_variable); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_action - SUBTYPE OF (action); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_condition - SUBTYPE OF (atomic_formula); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_definition - SUBTYPE OF (rule_software_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_superseded_assignment - SUBTYPE OF (action_assignment); - items : SET [1:?] OF rule_superseded_item; -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_set - SUBTYPE OF (rule_software_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_software_definition - SUBTYPE OF (product_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_set_group -SUBTYPE OF (rule_software_definition); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY rule_supersedence - SUBTYPE OF (rule_action); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY scalar_variable - SUBTYPE OF (abstract_variable); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY simple_clause - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Production_rule_mim); *) -ENTITY symbol - SUBTYPE OF (representation_item); -END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY document_identifier - SUBTYPE OF (group); - UNIQUE - UR1: SELF\group.name, SELF\group.description; - END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY document_identifier_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : document_identifier; - items : SET [1:?] OF document_identifier_assigned_item; - END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY partial_document_with_structured_text_representation_assignment - SUBTYPE OF (applied_document_usage_constraint_assignment, characterized_object); - END_ENTITY; -(* USED FROM (Specification_document_mim); *) - ENTITY specification_definition - SUBTYPE OF (product_definition); - END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY procedural_shape_representation_sequence - SUBTYPE OF (geometric_representation_item, - procedural_representation_sequence); - SELF\procedural_representation_sequence.elements : LIST [1:?] OF shape_representation_item; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date_and_time; - date_component : date; - time_component : local_time; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY coordinated_universal_time_offset; - hour_offset : INTEGER; - minute_offset : OPTIONAL INTEGER; - sense : ahead_or_behind; -DERIVE - actual_minute_offset : INTEGER := NVL(minute_offset,0); -WHERE - WR1: { 0 <= hour_offset < 24 }; - WR2: { 0 <= actual_minute_offset <= 59 }; - WR3: NOT (((hour_offset <> 0) OR (actual_minute_offset <>0)) AND (sense = exact)); -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY user_selected_shape_elements - SUBTYPE OF (user_selected_elements); - SELF\user_selected_elements.picked_items : SET [1:?] OF shape_representation_item; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY date - SUPERTYPE OF (ONEOF ( - CALENDAR_DATE, - ORDINAL_DATE, - WEEK_OF_YEAR_AND_DAY_DATE, - YEAR_MONTH)); - year_component : year_number; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY date_and_time_assignment - ABSTRACT SUPERTYPE; - assigned_date_and_time : date_and_time; - role : date_time_role; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY date_assignment - ABSTRACT SUPERTYPE; - assigned_date : date; - role : date_role; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY identification_assignment - ABSTRACT SUPERTYPE; - assigned_id : identifier; - role : identification_role; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product; - id : identifier; - name : label; - description : OPTIONAL text; - frame_of_reference : SET [1:?] OF product_context; - END_ENTITY; -(* USED FROM (Activity_mim); *) -ENTITY applied_action_assignment - SUBTYPE OF (action_assignment); - items : SET[1:?] OF action_items; -END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action; - name : label; - description : OPTIONAL text; - chosen_method : action_method; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_relationship; - name : label; - description : OPTIONAL text; - relating_action : action; - related_action : action; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_status; - status : label; - assigned_action : executed_action; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY executed_action - SUBTYPE OF (action); - END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY id_attribute; - attribute_value : identifier; - identified_item : id_attribute_select; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY action_assignment - ABSTRACT SUPERTYPE; - assigned_action : action; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_item_relationship; - name : label; - description : OPTIONAL text; - relating_representation_item : representation_item; - related_representation_item : representation_item; - END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY assembly_component_usage - SUPERTYPE OF ( - QUANTIFIED_ASSEMBLY_COMPONENT_USAGE - ANDOR ONEOF ( - MULTI_LEVEL_REFERENCE_DESIGNATOR, - NEXT_ASSEMBLY_USAGE_OCCURRENCE, - PROMISSORY_USAGE_OCCURRENCE, - SPECIFIED_HIGHER_USAGE_OCCURRENCE)) - SUBTYPE OF (product_definition_usage); - reference_designator : OPTIONAL identifier; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY next_assembly_usage_occurrence - SUBTYPE OF (assembly_component_usage); -UNIQUE - UR1 : SELF\assembly_component_usage.reference_designator, SELF\product_definition_relationship.relating_product_definition; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY promissory_usage_occurrence - SUBTYPE OF (assembly_component_usage); -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY quantified_assembly_component_usage - SUBTYPE OF (assembly_component_usage); - quantity : measure_with_unit; -WHERE - WR1: (NOT ('NUMBER' IN TYPEOF(quantity.value_component))) - OR (quantity.value_component > 0); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_circular_pattern - SUPERTYPE OF ( - SOLID_WITH_INCOMPLETE_CIRCULAR_PATTERN) - SUBTYPE OF (solid_with_shape_element_pattern); - replicate_count : positive_integer; - angular_spacing : plane_angle_measure; - radial_alignment : BOOLEAN; - reference_point : point; -END_ENTITY; -(* USED FROM (Integral_shield_mim); *) -ENTITY integral_shield - SUBTYPE OF (laminate_component); -END_ENTITY; -(* USED FROM (Integral_shield_mim); *) -ENTITY routed_shield - SUBTYPE OF (integral_shield); -END_ENTITY; -(* USED FROM (Effectivity_application_mim); *) -ENTITY applied_effectivity_assignment - SUBTYPE OF (effectivity_assignment); - items : SET[1:?] OF effectivity_item; -END_ENTITY; -(* USED FROM (Effectivity_application_mim); *) -ENTITY applied_ineffectivity_assignment - SUBTYPE OF (effectivity_assignment); - items : SET [1:?] OF effectivity_item; -WHERE - WR1: SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOT_EFFECTIVITY', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SERIAL_NUMBERED_EFFECTIVITY', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_EFFECTIVITY'] * - TYPEOF(SELF.assigned_effectivity) - ) = 0; -END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY dated_effectivity - SUBTYPE OF (effectivity); - effectivity_end_date : OPTIONAL date_time_or_event_occurrence; - effectivity_start_date : OPTIONAL date_time_or_event_occurrence; - WHERE - WR1: EXISTS(effectivity_end_date) OR EXISTS(effectivity_start_date); - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY effectivity - SUPERTYPE OF (ONEOF ( - SERIAL_NUMBERED_EFFECTIVITY, - DATED_EFFECTIVITY, - LOT_EFFECTIVITY, - TIME_INTERVAL_BASED_EFFECTIVITY)); - id : identifier; - DERIVE - name : label := get_name_value(SELF); - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY effectivity_relationship; - name : label; - description : OPTIONAL text; - related_effectivity : effectivity; - relating_effectivity : effectivity; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY lot_effectivity - SUBTYPE OF (effectivity); - effectivity_lot_id : identifier; - effectivity_lot_size : measure_with_unit; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY serial_numbered_effectivity - SUBTYPE OF (effectivity); - effectivity_start_id : identifier; - effectivity_end_id : OPTIONAL identifier; - END_ENTITY; -(* USED FROM (effectivity_schema); *) - ENTITY time_interval_based_effectivity - SUBTYPE OF (effectivity); - effectivity_period : time_interval; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY effectivity_assignment - ABSTRACT SUPERTYPE; - assigned_effectivity : effectivity; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY poly_loop - SUBTYPE OF (loop,geometric_representation_item); - polygon : LIST [3:?] OF UNIQUE cartesian_point; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_curve - SUPERTYPE OF (ONEOF ( - POLYLINE, - B_SPLINE_CURVE, - TRIMMED_CURVE, - BOUNDED_PCURVE, - BOUNDED_SURFACE_CURVE, - COMPOSITE_CURVE)) - SUBTYPE OF (curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_surface - SUPERTYPE OF (ONEOF ( - B_SPLINE_SURFACE, - RECTANGULAR_TRIMMED_SURFACE, - CURVE_BOUNDED_SURFACE, - RECTANGULAR_COMPOSITE_SURFACE)) - SUBTYPE OF (surface); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY conic - SUPERTYPE OF (ONEOF ( - CIRCLE, - ELLIPSE, - HYPERBOLA, - PARABOLA)) - SUBTYPE OF (curve); - position : axis2_placement; -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY swept_surface - SUPERTYPE OF (ONEOF ( - SURFACE_OF_LINEAR_EXTRUSION, - SURFACE_OF_REVOLUTION)) - SUBTYPE OF (surface); - swept_curve : curve; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_patch - SUBTYPE OF (founded_item); - parent_surface : bounded_surface; - u_transition : transition_code; - v_transition : transition_code; - u_sense : BOOLEAN; - v_sense : BOOLEAN; -INVERSE - using_surfaces : BAG[1:?] OF rectangular_composite_surface FOR segments; -WHERE - WR1: (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF(parent_surface))); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_general_protrusion - SUBTYPE OF (solid_with_protrusion); - profile : positioned_sketch; - reference_point : point; -WHERE - WR1: SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE'] * TYPEOF(profile.sketch_basis)) = 1; - WR2: profile IN using_items(reference_point,[]); -END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY description_attribute; - attribute_value : text; - described_item : description_attribute_select; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY global_unit_assigned_context - SUBTYPE OF (representation_context); - units : SET [1:?] OF unit; - END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY descriptive_representation_item - SUPERTYPE OF (ONEOF ( - TAGGED_TEXT_ITEM, - UNIFORM_RESOURCE_IDENTIFIER) ) - SUBTYPE OF (representation_item); - description : text; -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY global_uncertainty_assigned_context - SUBTYPE OF (representation_context); - uncertainty : SET [1:?] OF uncertainty_measure_with_unit; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_context; - context_identifier : identifier; - context_type : text; - INVERSE - representations_in_context : SET [1:?] OF representation FOR context_of_items; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY representation_item - SUPERTYPE OF ( ( ONEOF ( - BINARY_REPRESENTATION_ITEM, - COMPOUND_REPRESENTATION_ITEM, - MAPPED_ITEM, - VALUE_REPRESENTATION_ITEM) )ANDOR( (ONEOF ( - BOOLEAN_REPRESENTATION_ITEM, - DATE_REPRESENTATION_ITEM, - DATE_TIME_REPRESENTATION_ITEM, - INTEGER_REPRESENTATION_ITEM, - LOGICAL_REPRESENTATION_ITEM, - RATIONAL_REPRESENTATION_ITEM, - REAL_REPRESENTATION_ITEM)) )ANDOR( ONEOF ( - MAPPED_ITEM, - STYLED_ITEM) ) ) ; - name : label; - WHERE - WR1: SIZEOF(using_representations(SELF)) > 0; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_rectangular_pattern - SUPERTYPE OF ( - SOLID_WITH_INCOMPLETE_RECTANGULAR_PATTERN) - SUBTYPE OF (solid_with_shape_element_pattern); - row_count : positive_integer; - column_count : positive_integer; - row_spacing : length_measure; - column_spacing : length_measure; -WHERE - WR1: (row_count * column_count) > 1; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY finite_function - SUBTYPE OF (maths_function, generic_literal); - pairs : SET [1:?] OF LIST [2:2] OF maths_value; -WHERE - WR1: VALUE_UNIQUE(list_selected_components(pairs, 1)); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY maths_function - ABSTRACT SUPERTYPE OF (ONEOF ( - FINITE_FUNCTION, - CONSTANT_FUNCTION, - SELECTOR_FUNCTION, - ELEMENTARY_FUNCTION, - RESTRICTION_FUNCTION, - REPACKAGING_FUNCTION, - REINDEXED_ARRAY_FUNCTION, - SERIES_COMPOSED_FUNCTION, - PARALLEL_COMPOSED_FUNCTION, - EXPLICIT_TABLE_FUNCTION, - HOMOGENEOUS_LINEAR_FUNCTION, - GENERAL_LINEAR_FUNCTION, - B_SPLINE_BASIS, - B_SPLINE_FUNCTION, - RATIONALIZE_FUNCTION, - PARTIAL_DERIVATIVE_FUNCTION, - DEFINITE_INTEGRAL_FUNCTION, - ABSTRACTED_EXPRESSION_FUNCTION, - EXPRESSION_DENOTED_FUNCTION, - IMPORTED_POINT_FUNCTION, - IMPORTED_CURVE_FUNCTION, - IMPORTED_SURFACE_FUNCTION, - IMPORTED_VOLUME_FUNCTION, - APPLICATION_DEFINED_FUNCTION)) - SUBTYPE OF (generic_expression); -DERIVE - domain : tuple_space := derive_function_domain(SELF); - range : tuple_space := derive_function_range(SELF); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY selector_function - SUBTYPE OF (maths_function, generic_literal); - selector : input_selector; - source_of_domain : maths_space_or_function; -WHERE - WR1: no_cyclic_domain_reference(source_of_domain, [SELF]); - WR2: expression_is_constant(domain_from(source_of_domain)); -END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criterion_measurement_association - SUBTYPE OF(representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : data_quality_criterion; - SELF\representation_item_relationship.related_representation_item : data_quality_measurement_requirement; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_assessment_specification; - description : text; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criterion_assessment_association; - criterion : data_quality_criterion; - assessment_specification : data_quality_assessment_specification; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_assessment_measurement_association; - assessment_specification : data_quality_criterion_assessment_association; - measurement_requirement : data_quality_criterion_measurement_association; - WHERE - WR1 : SELF.measurement_requirement\representation_item_relationship. - relating_representation_item :=: - SELF.assessment_specification.criterion; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_report_request - ABSTRACT SUPERTYPE OF (ONEOF ( - SUMMARY_REPORT_REQUEST, - DETAILED_REPORT_REQUEST)); - description : text; - criterion_of_report_request : data_quality_criterion; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY summary_report_request - SUBTYPE OF(data_quality_report_request); - summary_report_request_type : summary_report_type; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY detailed_report_request - SUBTYPE OF(data_quality_report_request); - detailed_report_request_type : detailed_report_type; - report_sequence : preferred_ordering; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY detailed_report_request_with_number_of_data - SUBTYPE OF(detailed_report_request); - number_of_data : INTEGER; - DERIVE - SELF\detailed_report_request.detailed_report_request_type:detailed_report_type:= measured_element; - END_ENTITY; -(* USED FROM (Person_organization_assignment_mim); *) -ENTITY applied_organization_assignment - SUBTYPE OF (organization_assignment); - items : SET[1:?] OF organization_item; -END_ENTITY; -(* USED FROM (Person_organization_assignment_mim); *) -ENTITY applied_person_and_organization_assignment - SUBTYPE OF (person_and_organization_assignment); - items : SET[1:?] OF person_and_organization_item; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY organization_assignment - ABSTRACT SUPERTYPE; - assigned_organization : organization; - role : organization_role; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY person_and_organization_assignment - ABSTRACT SUPERTYPE; - assigned_person_and_organization : person_and_organization; - role : person_and_organization_role; - END_ENTITY; -(* USED FROM (basic_attribute_schema); *) - ENTITY name_attribute; - attribute_value : label; - named_item : name_attribute_select; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY address; - internal_location : OPTIONAL label; - street_number : OPTIONAL label; - street : OPTIONAL label; - postal_box : OPTIONAL label; - town : OPTIONAL label; - region : OPTIONAL label; - postal_code : OPTIONAL label; - country : OPTIONAL label; - facsimile_number : OPTIONAL label; - telephone_number : OPTIONAL label; - electronic_mail_address : OPTIONAL label; - telex_number : OPTIONAL label; - DERIVE - name : label := get_name_value(SELF); - url : identifier := get_id_value(SELF); - WHERE - WR1: EXISTS(internal_location) OR EXISTS(street_number) OR EXISTS(street) OR EXISTS(postal_box) OR EXISTS(town) OR EXISTS(region) OR EXISTS(postal_code) OR EXISTS(country) OR EXISTS(facsimile_number) OR EXISTS(telephone_number) OR EXISTS(electronic_mail_address) OR EXISTS(telex_number); - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organization; - id : OPTIONAL identifier; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organization_relationship; - name : label; - description : OPTIONAL text; - relating_organization : organization; - related_organization : organization; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organizational_address - SUBTYPE OF (address); - organizations : SET [1:?] OF organization; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY person; - id : identifier; - last_name : OPTIONAL label; - first_name : OPTIONAL label; - middle_names : OPTIONAL LIST [1:?] OF label; - prefix_titles : OPTIONAL LIST [1:?] OF label; - suffix_titles : OPTIONAL LIST [1:?] OF label; - WHERE - WR1: EXISTS(last_name) OR EXISTS(first_name); - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY person_and_organization; - the_person : person; - the_organization : organization; - DERIVE - name : label := get_name_value(SELF); - description : text := get_description_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY personal_address - SUBTYPE OF (address); - people : SET [1:?] OF person; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY data_quality_definition; - description : text; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY data_quality_definition_representation_relationship; - description : text; - definition : data_quality_definition; - used_representation : used_quality_representation_select; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY product_data_and_data_quality_relationship; - description : text; - product_data : product_definition; - data_quality : data_quality_definition; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY data_quality_definition_relationship; - description : text; - relating_data_quality_definition : data_quality_definition; - related_data_quality_definition : data_quality_definition; - END_ENTITY; -(* USED FROM (product_data_quality_definition_schema); *) - ENTITY software_for_data_quality_check; - description : text; - software_name : text; - software_version : text; - data_quality : data_quality_definition_representation_relationship; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_through_depression - SUBTYPE OF (solid_with_depression); - exit_faces : SET[1:?] OF face_surface; -WHERE - WR1: SIZEOF(TYPEOF(SELF) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_HOLE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_POCKET', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_SLOT']) = 1; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_trapezoidal_section_slot -SUBTYPE OF (solid_with_slot); - draft_angle : plane_angle_measure; - floor_fillet_radius : non_negative_length_measure; -END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_result_with_judgement - SUBTYPE OF(data_quality_inspection_result); - judgement : BOOLEAN; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_variable_radius_edge_blend - SUBTYPE OF (track_blended_solid); - point_list : LIST[2:?] OF point; - radius_list : LIST[2:?] OF positive_length_measure; - edge_function_list : LIST[1:?] OF blend_radius_variation_type; -WHERE - WR1: SIZEOF(point_list) = SIZEOF(radius_list); - WR2: SIZEOF(edge_function_list) = SIZEOF(radius_list) - 1; - WR3: NOT((point_list[1] = point_list[HIINDEX(point_list)]) AND NOT - (radius_list[1] = radius_list[HIINDEX(radius_list)])); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY integer_tuple_literal - SUBTYPE OF (generic_literal); - lit_value : LIST [1:?] OF INTEGER; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY real_tuple_literal - SUBTYPE OF (generic_literal); - lit_value : LIST [1:?] OF REAL; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY atom_based_literal - SUBTYPE OF (generic_literal); - lit_value : atom_based_value; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY binary_literal - SUBTYPE OF (generic_literal); - lit_value : BINARY; -END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_report_measurement_association - SUBTYPE OF(representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : data_quality_measurement_requirement; - SELF\representation_item_relationship.related_representation_item : data_quality_inspection_report; - END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY expanded_uncertainty - SUBTYPE OF (standard_uncertainty); - coverage_factor : REAL; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY maths_enum_literal - SUBTYPE OF (generic_literal); - lit_value : maths_enum_atom; -END_ENTITY; - -(* Implicit interfaced from: geometry_schema *) -ENTITY cartesian_transformation_operator - SUPERTYPE OF (ONEOF ( - CARTESIAN_TRANSFORMATION_OPERATOR_2D, - CARTESIAN_TRANSFORMATION_OPERATOR_3D)) - SUBTYPE OF (functionally_defined_transformation, geometric_representation_item); - axis1 : OPTIONAL direction; - axis2 : OPTIONAL direction; - local_origin : cartesian_point; - scale : OPTIONAL REAL; -DERIVE - scl : REAL := NVL(scale, 1.0); -WHERE - WR1: scl > 0.0; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY qualitative_uncertainty - SUBTYPE OF (uncertainty_qualifier); - uncertainty_value : text; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY precision_qualifier; - precision_value : INTEGER; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY standard_uncertainty - SUPERTYPE OF ( - EXPANDED_UNCERTAINTY) - SUBTYPE OF (uncertainty_qualifier); - uncertainty_value : REAL; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY type_qualifier; - name : label; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY uncertainty_qualifier - SUPERTYPE OF (ONEOF ( - STANDARD_UNCERTAINTY, - QUALITATIVE_UNCERTAINTY)); - measure_name : label; - description : text; -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY value_format_type_qualifier; - format_type : value_format_type; -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY uncertainty_assigned_representation - SUBTYPE OF (representation); - uncertainty : SET [1:?] OF uncertainty_measure_with_unit; - END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY material_designation; - name : label; - definitions : SET [1:?] OF characterized_definition; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY track_blended_solid_with_end_conditions - SUBTYPE OF (track_blended_solid); - end_conditions : LIST [2:2] OF blend_end_condition_select; -WHERE - WR1: SIZEOF(TYPEOF(SELF) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_VARIABLE_RADIUS_EDGE_BLEND', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_CHAMFERED_EDGES']) = 1; - WR2: NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1])) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2]))); - WR3: NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[1])) - AND (NOT ((end_conditions[1] - :=: SELF\edge_blended_solid.blended_edges[1].edge_start) - XOR (end_conditions[1] - :=: SELF\edge_blended_solid.blended_edges[1].edge_end)))); - WR4: NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX' IN TYPEOF(end_conditions[2])) - AND (NOT ((end_conditions[2] - :=: SELF\edge_blended_solid.blended_edges[HIINDEX( - SELF\edge_blended_solid.blended_edges)].edge_start) - XOR (end_conditions[2] - :=: SELF\edge_blended_solid.blended_edges[HIINDEX( - SELF\edge_blended_solid.blended_edges)].edge_end)))); -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_assessment_by_numerical_test - SUBTYPE OF(data_quality_assessment_specification); - threshold : shape_data_quality_value_limit_type_select; - END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organizational_project_relationship; - name : label; - description : OPTIONAL text; - relating_organizational_project : organizational_project; - related_organizational_project : organizational_project; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_value_limit - ABSTRACT SUPERTYPE OF (ONEOF ( - SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT, - SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT)) - SUBTYPE OF(measure_representation_item, qualified_representation_item); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_upper_value_limit - SUBTYPE OF(shape_data_quality_value_limit); - WHERE - WR1 : SELF\qualified_representation_item.qualifiers[1].name = 'maximum'; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_lower_value_limit - SUBTYPE OF(shape_data_quality_value_limit); - WHERE - WR1 : SELF\qualified_representation_item.qualifiers[1].name = 'minimum'; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_summary_request_with_representative_value - SUBTYPE OF(summary_report_request); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_assessment_by_logical_test - SUBTYPE OF(data_quality_assessment_specification); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_data - ABSTRACT SUPERTYPE OF (ONEOF ( - ERRONEOUS_TOPOLOGY, - ERRONEOUS_GEOMETRY, - ERRONEOUS_TOPOLOGY_AND_GEOMETRY_RELATIONSHIP, - ERRONEOUS_MANIFOLD_SOLID_BREP)) - SUBTYPE OF(shape_data_quality_criterion); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_topology - ABSTRACT SUPERTYPE OF (ONEOF ( - OPEN_EDGE_LOOP, - OPEN_CLOSED_SHELL, - INCONSISTENT_ADJACENT_FACE_NORMALS, - DISCONNECTED_FACE_SET)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (material_property_representation_schema); *) -ENTITY material_property_representation - SUBTYPE OF (property_definition_representation); - dependent_environment : data_environment; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY open_closed_shell - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_adjacent_face_normals - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'CLOSED_OR_OPEN_SHELL_SELECT']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY disconnected_face_set - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - INCONSISTENT_CURVE_TRANSITION_CODE, - ERRONEOUS_B_SPLINE_CURVE_DEFINITION, - INCONSISTENT_SURFACE_TRANSITION_CODE, - ERRONEOUS_B_SPLINE_SURFACE_DEFINITION)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_curve_transition_code - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - angle_tolerance : plane_angle_measure; - curvature_ratio_tolerance : ratio_measure; - distance_tolerance : length_measure; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'COMPOSITE_CURVE_TRANSITION_LOCATOR']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_b_spline_curve_definition - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_surface_transition_code - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - angle_tolerance : plane_angle_measure; - curvature_ratio_tolerance : ratio_measure; - distance_tolerance : length_measure; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_COMPOSITE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'RECTANGULAR_COMPOSITE_SURFACE_TRANSITION_LOCATOR']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_b_spline_surface_definition - SUBTYPE OF(erroneous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_topology_and_geometry_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - INCONSISTENT_EDGE_AND_CURVE_DIRECTIONS, - INCONSISTENT_FACE_AND_SURFACE_NORMALS, - INCONSISTENT_FACE_AND_CLOSED_SHELL_NORMALS, - INTERSECTING_LOOPS_IN_FACE, - WRONGLY_PLACED_LOOP)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_edge_and_curve_directions - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - distance_tolerance : length_measure; -- ISO 10303-59 error! - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE') - ; - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE']) - ; - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_face_and_surface_normals - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inconsistent_face_and_closed_shell_normals - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY intersecting_loops_in_face - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY wrongly_placed_loop - SUBTYPE OF(erroneous_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BOUND']); - WR4 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY erroneous_manifold_solid_brep - ABSTRACT SUPERTYPE OF (ONEOF ( - WRONGLY_ORIENTED_VOID, - WRONGLY_PLACED_VOID, - INTERSECTING_SHELLS_IN_SOLID, - SOLID_WITH_WRONG_NUMBER_OF_VOIDS)) - SUBTYPE OF(erroneous_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY wrongly_oriented_void - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY wrongly_placed_void - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY intersecting_shells_in_solid - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY solid_with_wrong_number_of_voids - SUBTYPE OF(erroneous_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE') ; - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BREP_WITH_VOIDS']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_data - ABSTRACT SUPERTYPE OF (ONEOF ( - INAPT_TOPOLOGY, - INAPT_GEOMETRY, - INAPT_TOPOLOGY_AND_GEOMETRY_RELATIONSHIP, - INAPT_MANIFOLD_SOLID_BREP)) - SUBTYPE OF(shape_data_quality_criterion); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_topology - ABSTRACT SUPERTYPE OF (ONEOF ( - FREE_EDGE, - NON_MANIFOLD_AT_EDGE, - NON_MANIFOLD_AT_VERTEX, - OVER_USED_VERTEX)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal - SUBTYPE OF (geometric_representation_item); - literal : presentable_text; - placement : axis2_placement; - alignment : text_alignment; - path : text_path; - font : font_select; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY non_manifold_at_edge - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY non_manifold_at_vertex - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY over_used_vertex - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - NEARLY_DEGENERATE_GEOMETRY, - DISCONTINUOUS_GEOMETRY, - SELF_INTERSECTING_GEOMETRY, - GEOMETRY_WITH_LOCAL_NEAR_DEGENERACY, - OVERLAPPING_GEOMETRY, - MULTIPLY_DEFINED_GEOMETRY, - GEOMETRY_WITH_LOCAL_IRREGULARITY, - OVERCOMPLEX_GEOMETRY)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY nearly_degenerate_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SMALL_AREA_SURFACE, - SHORT_LENGTH_CURVE, - ENTIRELY_NARROW_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_area_surface - SUBTYPE OF(nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY short_length_curve - SUBTYPE OF(nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY entirely_narrow_surface - SUBTYPE OF(nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY discontinuous_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - G1_DISCONTINUOUS_CURVE, - G2_DISCONTINUOUS_CURVE, - G1_DISCONTINUOUS_SURFACE, - G2_DISCONTINUOUS_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g1_discontinuous_curve - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_CURVE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g2_discontinuous_curve - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) ; - WR3 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'PLANE_ANGLE_AND_RATIO_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR5 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_CURVE_KNOT_LOCATOR']); - WR6 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g1_discontinuous_surface - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) ; - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g2_discontinuous_surface - SUBTYPE OF(discontinuous_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)); - WR3 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'PLANE_ANGLE_AND_RATIO_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR5 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR6 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE']) - ; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SELF_INTERSECTING_CURVE, - SELF_INTERSECTING_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_curve - SUBTYPE OF(self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - arc_length_separation_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE']); - WR4 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_surface - SUBTYPE OF(self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - geodesic_separation_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE']); - WR4 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY geometry_with_local_near_degeneracy - ABSTRACT SUPERTYPE OF (ONEOF ( - CURVE_WITH_SMALL_CURVATURE_RADIUS, - SHORT_LENGTH_CURVE_SEGMENT, - SURFACE_WITH_SMALL_CURVATURE_RADIUS, - SMALL_AREA_SURFACE_PATCH, - NARROW_SURFACE_PATCH, - INDISTINCT_SURFACE_KNOTS, - INDISTINCT_CURVE_KNOTS, - NEARLY_DEGENERATE_SURFACE_BOUNDARY, - NEARLY_DEGENERATE_SURFACE_PATCH)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY curve_with_small_curvature_radius - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY short_length_curve_segment - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_CURVE_SEGMENT']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY surface_with_small_curvature_radius - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_area_surface_patch - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_PATCH']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY narrow_surface_patch - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_PATCH']); - WR4 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY indistinct_surface_knots - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARAMETER_VALUE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARAMETER_VALUE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE_WITH_KNOTS']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY indistinct_curve_knots - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARAMETER_VALUE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARAMETER_VALUE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE_WITH_KNOTS']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_CURVE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY nearly_degenerate_surface_boundary - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_VALUE_RANGE' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'BOUNDARY_CURVE_OF_B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY nearly_degenerate_surface_patch - SUBTYPE OF(geometry_with_local_near_degeneracy); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_VALUE_RANGE' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_PATCH']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY overlapping_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - PARTLY_OVERLAPPING_CURVES, - PARTLY_OVERLAPPING_SURFACES)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_curves - SUBTYPE OF(overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_surfaces - SUBTYPE OF(overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - MULTIPLY_DEFINED_CURVES, - MULTIPLY_DEFINED_SURFACES, - MULTIPLY_DEFINED_CARTESIAN_POINTS, - MULTIPLY_DEFINED_DIRECTIONS, - MULTIPLY_DEFINED_PLACEMENTS)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_curves - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_surfaces - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_cartesian_points - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_directions - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_text_character - SUBTYPE OF (mapped_item); - alignment : text_alignment; - SELF\mapped_item.mapping_target : axis2_placement; - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTER_GLYPH_SYMBOL' IN - TYPEOF (SELF\mapped_item.mapping_source.mapped_representation); - WR2: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF (SELF); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY geometry_with_local_irregularity - ABSTRACT SUPERTYPE OF (ONEOF ( - EXTREME_PATCH_WIDTH_VARIATION, - ZERO_SURFACE_NORMAL, - ABRUPT_CHANGE_OF_SURFACE_NORMAL)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY extreme_patch_width_variation - SUBTYPE OF(geometry_with_local_irregularity); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_KNOT_LOCATOR']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY zero_surface_normal - SUBTYPE OF(geometry_with_local_irregularity); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY abrupt_change_of_surface_normal - SUBTYPE OF(geometry_with_local_irregularity); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - small_vector_tolerance : length_measure; - test_point_distance_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY overcomplex_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - EXCESSIVELY_HIGH_DEGREE_CURVE, - EXCESSIVELY_HIGH_DEGREE_SURFACE, - SURFACE_WITH_EXCESSIVE_PATCHES_IN_ONE_DIRECTION, - CURVE_WITH_EXCESSIVE_SEGMENTS, - HIGH_DEGREE_LINEAR_CURVE, - HIGH_DEGREE_PLANAR_SURFACE, - HIGH_DEGREE_CONIC, - HIGH_DEGREE_AXI_SYMMETRIC_SURFACE)) - SUBTYPE OF(inapt_geometry); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY excessively_high_degree_curve - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY excessively_high_degree_surface - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY surface_with_excessive_patches_in_one_direction - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE_SELECT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY curve_with_excessive_segments - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_OR_COMPOSITE_CURVE_SELECT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_linear_curve - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_planar_surface - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_conic - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY high_degree_axi_symmetric_surface - SUBTYPE OF(overcomplex_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - approximation_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_topology_and_geometry_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - TOPOLOGY_RELATED_TO_NEARLY_DEGENERATE_GEOMETRY, - GEOMETRIC_GAP_IN_TOPOLOGY, - NON_SMOOTH_GEOMETRY_TRANSITION_ACROSS_EDGE, - TOPOLOGY_RELATED_TO_SELF_INTERSECTING_GEOMETRY, - STEEP_GEOMETRY_TRANSITION_ACROSS_EDGE, - TOPOLOGY_RELATED_TO_OVERLAPPING_GEOMETRY, - TOPOLOGY_RELATED_TO_MULTIPLY_DEFINED_GEOMETRY, - OVERCOMPLEX_TOPOLOGY_AND_GEOMETRY_RELATIONSHIP)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_nearly_degenerate_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SHORT_LENGTH_EDGE, - SMALL_AREA_FACE, - ENTIRELY_NARROW_FACE)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY short_length_edge - SUBTYPE OF(topology_related_to_nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_area_face - SUBTYPE OF(topology_related_to_nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY entirely_narrow_face - SUBTYPE OF(topology_related_to_nearly_degenerate_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY geometric_gap_in_topology - ABSTRACT SUPERTYPE OF (ONEOF ( - GAP_BETWEEN_ADJACENT_EDGES_IN_LOOP, - GAP_BETWEEN_VERTEX_AND_BASE_SURFACE, - GAP_BETWEEN_VERTEX_AND_EDGE, - GAP_BETWEEN_EDGE_AND_BASE_SURFACE, - GAP_BETWEEN_PCURVES_RELATED_TO_AN_EDGE, - GAP_BETWEEN_FACES_RELATED_TO_AN_EDGE)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_adjacent_edges_in_loop - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_EDGE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_vertex_and_base_surface - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_vertex_and_edge - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_edge_and_base_surface - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_pcurves_related_to_an_edge - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY gap_between_faces_related_to_an_edge - SUBTYPE OF(geometric_gap_in_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY non_smooth_geometry_transition_across_edge - ABSTRACT SUPERTYPE OF (ONEOF ( - G1_DISCONTINUITY_BETWEEN_ADJACENT_FACES, - G2_DISCONTINUITY_BETWEEN_ADJACENT_FACES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g1_discontinuity_between_adjacent_faces - SUBTYPE OF(non_smooth_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY g2_discontinuity_between_adjacent_faces - SUBTYPE OF(non_smooth_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - flat_curvature_radius_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)); - WR3 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'PLANE_ANGLE_AND_RATIO_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR5 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR6 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_self_intersecting_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - SELF_INTERSECTING_LOOP, - SELF_INTERSECTING_SHELL, - INTERSECTING_CONNECTED_FACE_SETS)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_loop - SUBTYPE OF(topology_related_to_self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - arc_length_distance_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY self_intersecting_shell - SUBTYPE OF(topology_related_to_self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - geodesic_separation_factor : REAL; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR4 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY intersecting_connected_face_sets - SUBTYPE OF(topology_related_to_self_intersecting_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - interference_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_FACE_SURFACE']); - WR4 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY steep_geometry_transition_across_edge - ABSTRACT SUPERTYPE OF (ONEOF ( - STEEP_ANGLE_BETWEEN_ADJACENT_EDGES, - STEEP_ANGLE_BETWEEN_ADJACENT_FACES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY steep_angle_between_adjacent_edges - SUBTYPE OF(steep_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_EDGE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY steep_angle_between_adjacent_faces - SUBTYPE OF(steep_geometry_transition_across_edge); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'POINT_ON_EDGE_CURVE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_overlapping_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - PARTLY_OVERLAPPING_FACES, - PARTLY_OVERLAPPING_EDGES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_faces - SUBTYPE OF(topology_related_to_overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_edges - SUBTYPE OF(topology_related_to_overlapping_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBEDGE','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBEDGE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY topology_related_to_multiply_defined_geometry - ABSTRACT SUPERTYPE OF (ONEOF ( - MULTIPLY_DEFINED_FACES, - MULTIPLY_DEFINED_VERTICES, - MULTIPLY_DEFINED_EDGES)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_faces - SUBTYPE OF(topology_related_to_multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_vertices - SUBTYPE OF(topology_related_to_multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_edges - SUBTYPE OF(topology_related_to_multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY overcomplex_topology_and_geometry_relationship - ABSTRACT SUPERTYPE OF (ONEOF ( - UNUSED_PATCHES, - EDGE_WITH_EXCESSIVE_SEGMENTS, - FACE_SURFACE_WITH_EXCESSIVE_PATCHES_IN_ONE_DIRECTION)) - SUBTYPE OF(inapt_topology_and_geometry_relationship); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY unused_patches - SUBTYPE OF(overcomplex_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'B_SPLINE_SURFACE_STRIP']); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY edge_with_excessive_segments - SUBTYPE OF(overcomplex_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY face_surface_with_excessive_patches_in_one_direction - SUBTYPE OF(overcomplex_topology_and_geometry_relationship); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY inapt_manifold_solid_brep - ABSTRACT SUPERTYPE OF (ONEOF ( - PARTLY_OVERLAPPING_SOLIDS, - SMALL_VOLUME_SOLID, - MULTIPLY_DEFINED_SOLIDS, - ENTIRELY_NARROW_SOLID, - SOLID_WITH_EXCESSIVE_NUMBER_OF_VOIDS)) - SUBTYPE OF(inapt_data); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY partly_overlapping_solids - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - interference_tolerance : length_measure; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE']); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY small_volume_solid - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_solids - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY entirely_narrow_solid - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - width_tolerance : length_measure; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP']); - WR3 : validate_locations_of_extreme_value_type(SELF, - []); - WR4 : validate_accuracy_types(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE']); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY solid_with_excessive_number_of_voids - SUBTYPE OF(inapt_manifold_solid_brep); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_LOWER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE'); - WR3 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP']); - WR4 : validate_locations_of_extreme_value_type(SELF, - []); - WR5 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_criteria_representation_with_accuracy - SUBTYPE OF(shape_data_quality_criteria_representation); - required_general_accuracy : SET [1:?] OF shape_measurement_accuracy; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_measurement_accuracy; - description : text; - range : shape_data_quality_value_limit_type_select; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_criterion_and_accuracy_association; - required_specific_accuracy : shape_measurement_accuracy; - shape_data_quality_criterion : shape_data_quality_criterion; - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY pre_defined_terminator_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN ['blanked arrow', 'blanked box', 'blanked dot', 'blanked triangle', 'dimension origin', 'filled arrow', 'filled box', 'filled dot', 'integral symbol', 'open arrow', 'slash', 'unfilled arrow', 'unfilled triangle', 'filled triangle']; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_approval - SUBTYPE OF (approval_assignment); - items : SET[1:?] OF approved_item; - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY user_defined_marker - SUBTYPE OF (mapped_item, pre_defined_marker); - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY organizational_project_assignment - ABSTRACT SUPERTYPE; - assigned_organizational_project : organizational_project; - role : organizational_project_role; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_criterion_report - SUBTYPE OF(data_quality_inspection_criterion_report); - representative_measured_value : measured_value_select; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_inspection_result_accuracy_association; - applied_specific_accuracy : shape_measurement_accuracy; - shape_data_quality_result : shape_data_quality_inspection_result; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_instance_report - SUBTYPE OF(data_quality_inspection_instance_report); - SELF\data_quality_inspection_instance_report.inspected_instances : LIST [1:?] OF shape_data_quality_inspection_instance_report_item; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_instance_report_item - SUBTYPE OF(data_quality_inspection_instance_report_item); - SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1:?] OF inspected_shape_element_select; - measured_value : measured_value_select; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY instance_report_item_with_extreme_instances - SUBTYPE OF(shape_data_quality_inspection_instance_report_item); - extreme_instances : LIST [1:?] OF extreme_instance; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY extreme_instance; - locations_of_extreme_value : SET [1:?] OF location_of_extreme_value_select; - measured_value : measured_value_select; - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY vector_style - SUBTYPE OF (curve_style, pre_defined_terminator_symbol); - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY point_on_face_surface - SUBTYPE OF(point_on_surface); - basis_face_surface : face_surface; - DERIVE - SELF\point_on_surface.basis_surface : surface := SELF.basis_face_surface.face_geometry; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_face_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY plane_angle_and_ratio_pair - SUBTYPE OF(founded_item); - plane_angle_value : plane_angle_measure; - ratio_value : ratio_measure; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY plane_angle_and_length_pair - SUBTYPE OF(founded_item); - plane_angle_value : plane_angle_measure; - length_value : length_measure; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_surface_knot_locator - SUBTYPE OF(founded_item); - basis_surface : b_spline_surface; - knot_index : INTEGER; - surface_parameter : u_or_v_parameter; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_surface_patch - SUBTYPE OF(founded_item); - basis_surface : b_spline_surface; - u_start_knot_index : INTEGER; - v_start_knot_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_curve_knot_locator - SUBTYPE OF(founded_item); - basis_curve : b_spline_curve; - knot_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_curve_segment - SUBTYPE OF(founded_item); - basis_curve : b_spline_curve; - start_knot_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY b_spline_surface_strip - SUBTYPE OF(founded_item); - basis_surface : b_spline_surface; - start_knot_index : INTEGER; - surface_parameter : u_or_v_parameter; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY composite_curve_transition_locator - SUBTYPE OF(founded_item); - basis_curve : composite_curve; - transition_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY rectangular_composite_surface_transition_locator - SUBTYPE OF(founded_item); - basis_surface : rectangular_composite_surface; - surface_parameter : u_or_v_parameter; - u_transition_index : INTEGER; - v_transition_index : INTEGER; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_surface) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; - -(* Implicit interfaced from: management_resources_schema *) - ENTITY attribute_value_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* REFERENCE FROM (date_time_schema); *) -ENTITY event_occurrence_role; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_colour; - name : label; - fill_colour : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY invisibility; - invisible_items : SET [1:?] OF invisible_item; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY over_riding_styled_item - SUBTYPE OF (styled_item); - over_ridden_style : styled_item; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY externally_defined_symbol - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY presentation_style_by_context - SUBTYPE OF (presentation_style_assignment); - style_context : style_context_select; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_style - SUBTYPE OF (externally_defined_item, founded_item); - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY annotation_plane - SUBTYPE OF (annotation_occurrence, geometric_representation_item); - elements : OPTIONAL SET[1:?] OF annotation_plane_element; - SELF\styled_item.item : plane_or_planar_box; - WHERE - WR1: SELF\geometric_representation_item.dim = 3; - WR2: NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'AXIS2_PLACEMENT_3D' IN TYPEOF(SELF\styled_item.item\planar_box.placement)); - WR3: (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PLANAR_BOX' IN TYPEOF(SELF\styled_item.item)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'CURVE_STYLE' IN TYPEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles[1]))) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PLANE' IN TYPEOF(SELF\styled_item.item)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'FILL_AREA_STYLE' IN TYPEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles[1]))); - WR4: (SIZEOF(SELF\styled_item.styles) = 1) AND - (SIZEOF(SELF\styled_item.styles[1]\presentation_style_assignment.styles) = 1); - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY planar_box - SUBTYPE OF (planar_extent); - placement: axis2_placement; -END_ENTITY; -(* USED FROM (Event_assignment_mim); *) -ENTITY applied_event_occurrence_assignment - SUBTYPE OF (event_occurrence_assignment); - items : SET[1:?] OF event_occurrence_item; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY attribute_value_assignment - ABSTRACT SUPERTYPE; - attribute_name : label; - attribute_value : attribute_type; - role : attribute_value_role; - END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY solid_with_protrusion - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_CIRCULAR_PROTRUSION, - SOLID_WITH_RECTANGULAR_PROTRUSION, - SOLID_WITH_GENERAL_PROTRUSION)) - SUBTYPE OF (modified_solid_with_placed_configuration); - protrusion_height : positive_length_measure; - protrusion_draft_angle : plane_angle_measure; -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY kinematic_property_definition_representation - ABSTRACT SUPERTYPE OF (ONEOF ( - KINEMATIC_PROPERTY_TOPOLOGY_REPRESENTATION, - KINEMATIC_PROPERTY_MECHANISM_REPRESENTATION)) - SUBTYPE OF (property_definition_representation); - SELF\property_definition_representation.definition : product_definition_kinematics; -- LK -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY modified_solid_with_placed_configuration - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_DEPRESSION, - SOLID_WITH_PROTRUSION, - SOLID_WITH_SHAPE_ELEMENT_PATTERN)) - SUBTYPE OF (modified_solid); - placing : axis2_placement_3d; -END_ENTITY; - -(* Implicit interfaced from: solid_shape_element_schema *) -ENTITY edge_blended_solid - ABSTRACT SUPERTYPE OF ( - TRACK_BLENDED_SOLID - ANDOR (ONEOF ( - SOLID_WITH_CONSTANT_RADIUS_EDGE_BLEND, - SOLID_WITH_CHAMFERED_EDGES))) - SUBTYPE OF (modified_solid); - blended_edges : LIST [1:?] OF UNIQUE edge_curve; -END_ENTITY; - -(* Implicit interfaced from: management_resources_schema *) - ENTITY action_method_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY oriented_joint - SUBTYPE OF (oriented_edge); - SELF\oriented_edge.edge_element : kinematic_joint; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_loop - SUBTYPE OF (edge_loop); - SELF\path.edge_list : LIST [1:?] OF UNIQUE oriented_joint; -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY non_agreed_scale_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_TRANSFORMATION_OPERATOR_3D']); - END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_joint - SUBTYPE OF (edge); - SELF\edge.edge_start : kinematic_link; - SELF\edge.edge_end : kinematic_link; -UNIQUE - UR1: edge_start, edge_end; -WHERE - WR1: edge_start :<>: edge_end; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_network_structure - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF kinematic_loop; - parent : kinematic_topology_structure; -WHERE - WR1: context_of_items :=: parent.context_of_items; - WR2: get_kinematic_joints_from_kinematic_loops(items) <= parent.items; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_link - SUBTYPE OF (vertex); -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY wrong_element_name - SUBTYPE OF(Externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM']); - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_category; - name : label; - description : OPTIONAL text; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY projection_curve - SUBTYPE OF (annotation_curve_occurrence); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_fill_area_occurrence - SUBTYPE OF (annotation_occurrence); - fill_style_target : point; - SELF\styled_item.item : annotation_fill_area; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY document_reference - ABSTRACT SUPERTYPE; - assigned_document : document; - source : label; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_shape_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF tessellated_item; -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' IN TYPEOF(SELF\representation.context_of_items); -END_ENTITY; -(* USED FROM (Group_mim); *) -ENTITY applied_group_assignment - SUBTYPE OF (group_assignment); - items : SET[1:?] OF groupable_item; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_tree_structure - SUBTYPE OF (kinematic_topology_directed_structure); -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY explicit_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - DEFINED_CONSTRAINT, - FREE_FORM_CONSTRAINT)) - SUBTYPE OF (variational_representation_item); - description : OPTIONAL text; - constrained_elements : SET[1:?] OF representation_item; - reference_elements : SET[0:?] OF representation_item; -WHERE - WR1: SIZEOF(constrained_elements * reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY defined_constraint - ABSTRACT SUPERTYPE OF ( - EQUAL_PARAMETER_CONSTRAINT) - SUBTYPE OF (explicit_constraint); -END_ENTITY; -(* REFERENCE FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY volume - - SUBTYPE OF (geometric_representation_item); -WHERE - WR1: SELF\geometric_representation_item.dim = 3; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY repositioned_tessellated_item - SUBTYPE OF (tessellated_item); - location : axis2_placement_3d; -WHERE - WR1: NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_CURVE_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_GEOMETRIC_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_POINT_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_SURFACE_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_SHELL', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_SOLID', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_WIRE'] * TYPEOF(SELF)) = 0); -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_directed_structure - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF oriented_joint; - parent : kinematic_topology_structure; -WHERE - WR1: context_of_items :=: parent.context_of_items; - WR2: get_kinematic_joints_from_oriented_joints(items) <= parent.items; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY value_function -SUPERTYPE OF ( - INT_VALUE_FUNCTION) - -SUBTYPE OF (numeric_expression, unary_generic_expression); - SELF\unary_generic_expression.operand: string_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY odd_function -SUBTYPE OF (unary_Boolean_expression); - SELF\unary_generic_expression.operand: numeric_expression; -WHERE - WR1: is_int_expr(operand); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY explicit_geometric_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - FIXED_ELEMENT_GEOMETRIC_CONSTRAINT, - PARALLEL_GEOMETRIC_CONSTRAINT, - POINT_DISTANCE_GEOMETRIC_CONSTRAINT, - SKEW_LINE_DISTANCE_GEOMETRIC_CONSTRAINT, - CURVE_DISTANCE_GEOMETRIC_CONSTRAINT, - SURFACE_DISTANCE_GEOMETRIC_CONSTRAINT, - RADIUS_GEOMETRIC_CONSTRAINT, - CURVE_LENGTH_GEOMETRIC_CONSTRAINT, - PARALLEL_OFFSET_GEOMETRIC_CONSTRAINT, - ANGLE_GEOMETRIC_CONSTRAINT, - PERPENDICULAR_GEOMETRIC_CONSTRAINT, - INCIDENCE_GEOMETRIC_CONSTRAINT, - COAXIAL_GEOMETRIC_CONSTRAINT, - TANGENT_GEOMETRIC_CONSTRAINT, - SYMMETRY_GEOMETRIC_CONSTRAINT, - SWEPT_POINT_CURVE_GEOMETRIC_CONSTRAINT, - SWEPT_CURVE_SURFACE_GEOMETRIC_CONSTRAINT, - CURVE_SMOOTHNESS_GEOMETRIC_CONSTRAINT, - SURFACE_SMOOTHNESS_GEOMETRIC_CONSTRAINT)) - SUBTYPE OF (defined_constraint, geometric_representation_item); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF geometric_representation_item; - SELF\explicit_constraint.reference_elements : - SET[0:?] OF geometric_representation_item; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY fixed_element_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF geometric_constraint_element; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_substructure - SUBTYPE OF (kinematic_topology_structure); - parent : kinematic_topology_structure; -WHERE - WR1: context_of_items :=: parent.context_of_items; - WR2: SELF\kinematic_topology_structure.items <= parent\kinematic_topology_structure.items; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY length_function -SUBTYPE OF (numeric_expression, unary_generic_expression); - SELF\unary_generic_expression.operand: string_expression; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY point_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:?] OF point; - SELF\explicit_constraint.reference_elements : - SET[0:4] OF point_curve_or_surface_constraint_element; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PDGC_WITH_DIMENSION' - IN TYPEOF(SELF)) AND - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY pdgc_with_dimension - SUBTYPE OF (point_distance_geometric_constraint); - distance_value : non_negative_length_measure; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY skew_line_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:2] OF line; - SELF\explicit_constraint.reference_elements : SET[0:1] OF line; - distance_value : non_negative_length_measure; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements) = 2; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_geometric_set - SUBTYPE OF (tessellated_item); - children : SET[1:?] OF tessellated_item; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_solid - SUBTYPE OF (tessellated_item); - items : SET[1:?] OF tessellated_structured_item; - geometric_link : OPTIONAL manifold_solid_brep; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY cdgc_with_dimension - SUBTYPE OF (curve_distance_geometric_constraint); - distance_value : non_negative_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_shell - SUBTYPE OF (tessellated_item); - items : SET[1:?] OF tessellated_structured_item; - topological_link : OPTIONAL connected_face_set; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY sdgc_with_dimension - SUBTYPE OF (surface_distance_geometric_constraint); - distance_value : non_negative_length_measure; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY radius_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF radial_geometry_constraint_element; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY rgc_with_dimension - SUBTYPE OF (radius_geometric_constraint); - radius_value : positive_length_measure; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_length_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF bounded_curve; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY clgc_with_dimension - SUBTYPE OF (curve_length_geometric_constraint); - length_value : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_structured_item - SUPERTYPE OF (ONEOF ( - TESSELLATED_FACE, - TESSELLATED_EDGE, - TESSELLATED_VERTEX)) - SUBTYPE OF (tessellated_item); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY pogc_with_dimension - SUBTYPE OF (parallel_offset_geometric_constraint); - offset_value : positive_length_measure; - offset_direction_constrained : BOOLEAN; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) = 1) - OR (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: (NOT (offset_direction_constrained = TRUE) - AND ((offset_type = curve_2d_offset) - OR (offset_type = surface_offset))); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY angle_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF linear_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF linear_geometry_constraint_element; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) = 1) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AGC_WITH_DIMENSION' - IN TYPEOF(SELF)) AND - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY agc_with_dimension - SUBTYPE OF (angle_geometric_constraint); - angle_value : plane_angle_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_connecting_edge - SUBTYPE OF (tessellated_edge); - smooth : LOGICAL; - face1 : tessellated_face; - face2 : tessellated_face; - line_strip_face1 : LIST[2:?] OF INTEGER; - line_strip_face2 : LIST[2:?] OF INTEGER; -WHERE - WR1: SIZEOF(line_strip_face1) = SIZEOF(line_strip_face2); - WR2: SIZEOF(line_strip_face1) = SIZEOF(SELF\tessellated_edge.line_strip); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_edge - SUBTYPE OF (tessellated_structured_item); - coordinates : coordinates_list; - geometric_link : OPTIONAL edge_or_curve; - line_strip : LIST[2:?] OF INTEGER; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY square_root_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY sin_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY symmetry_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[2:2] OF geometric_representation_item; - mirror_element : linear_geometry_constraint_element; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; - WR2: SIZEOF(TYPEOF(mirror_element) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR']) = 0; - WR3: NOT ((SELF\geometric_representation_item.dim = 2) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(mirror_element))); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY swept_point_curve_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:?] OF curve; - SELF\explicit_constraint.reference_elements : - SET[1:1] OF swept_face_solid; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY swept_curve_surface_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:?] OF surface; - SELF\explicit_constraint.reference_elements : - SET[1:1] OF swept_surface_or_solid; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_segment_set - SUBTYPE OF (geometric_representation_item); - segments : SET[1:?] OF composite_curve_segment; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_smoothness_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:1] OF curve_segment_set; - smoothness : transition_code; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY surface_patch_set - SUBTYPE OF (geometric_representation_item); - patches : SET[1:?] OF surface_patch; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY surface_smoothness_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET [1:1] OF surface_patch_set; - u_smoothness : transition_code; - v_smoothness : transition_code; -WHERE - WR1: SIZEOF(SELF\explicit_constraint.reference_elements) = 0; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_surface_set - ABSTRACT SUPERTYPE OF (ONEOF ( - TRIANGULATED_SURFACE_SET, - COMPLEX_TRIANGULATED_SURFACE_SET)) - SUBTYPE OF (tessellated_item); - coordinates : coordinates_list; - pnmax : INTEGER; - normals : LIST[0:?] OF LIST[3:3] OF REAL; -WHERE - WR1: ((SIZEOF(normals) = 0) OR (SIZEOF(normals) = 1) OR (SIZEOF(normals) = pnmax)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY triangulated_surface_set - SUBTYPE OF (tessellated_surface_set); - pnindex : LIST[0:?] OF INTEGER; - triangles : LIST[1:?] OF LIST[3:3] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_surface_set.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_surface_set.pnmax <> coordinates.npoints)); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY minimum_function -SUBTYPE OF (multiple_arity_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY maximum_function -SUBTYPE OF (multiple_arity_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY minus_function -SUBTYPE OF (unary_function_call); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY imported_curve_function - SUBTYPE OF (maths_function, generic_literal); - geometry : curve; - parametric_domain : tuple_space; -WHERE - WR1: expression_is_constant(parametric_domain); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY imported_volume_function - SUBTYPE OF (maths_function, generic_literal); - geometry : volume; - parametric_domain : tuple_space; -WHERE - WR1: expression_is_constant(parametric_domain); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY complex_triangulated_surface_set - SUBTYPE OF (tessellated_surface_set); - pnindex : LIST[0:?] OF INTEGER; - triangle_strips : LIST[0:?] OF LIST[3:?] OF INTEGER; - triangle_fans : LIST[0:?] OF LIST[3:?] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_surface_set.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_surface_set.pnmax <> coordinates.npoints)); - WR3: NOT ((SIZEOF(triangle_strips) = 0) AND (SIZEOF(triangle_fans) = 0)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_face - ABSTRACT SUPERTYPE OF (ONEOF ( - TRIANGULATED_FACE, - COMPLEX_TRIANGULATED_FACE)) - SUBTYPE OF (tessellated_structured_item); - coordinates : coordinates_list; - pnmax : INTEGER; - normals : LIST[0:?] OF LIST[3:3] OF REAL; - geometric_link : OPTIONAL face_or_surface; -WHERE - WR1: ((SIZEOF(normals) = 0) OR (SIZEOF(normals) = 1) OR (SIZEOF(normals) = pnmax)); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY log10_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY log_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY log2_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY exp_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY cos_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY integer_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (numeric_defined_function); -END_ENTITY ; -(* USED FROM (aic_machining_feature); *) -ENTITY feature_component_relationship - SUPERTYPE OF (ONEOF ( - PATTERN_OMIT_MEMBERSHIP, - PATTERN_OFFSET_MEMBERSHIP)) - SUBTYPE OF (shape_aspect_relationship); - WHERE - WR1: ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPLICATE_FEATURE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRANSITION_FEATURE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MODIFIED_PATTERN'] * TYPEOF - (SELF.relating_shape_aspect)) = 1) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MACHINING_FEATURE_DEFINITION' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))); -END_ENTITY; -- feature_component_relationship -(* USED FROM (geometric_model_schema); *) -ENTITY triangulated_face - SUBTYPE OF (tessellated_face); - pnindex : LIST[0:?] OF INTEGER; - triangles : LIST[1:?] OF LIST[3:3] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_face.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_face.pnmax <> coordinates.npoints)); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY asin_function - SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY acos_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY atan_function -SUBTYPE OF (binary_function_call); -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY wire_shell - SUBTYPE OF (topological_representation_item); - wire_shell_extent : SET [1:?] OF loop; - WHERE - WR1: NOT mixed_loop_type_set(wire_shell_extent); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex_shell - SUBTYPE OF (topological_representation_item); - vertex_shell_extent : vertex_loop; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY abs_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_transparent; - transparency : REAL; - WHERE - WR1: {0.0 <= transparency <= 1.0}; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_rendering_with_properties - SUBTYPE OF (surface_style_rendering); - properties : SET [1:2] OF rendering_properties_select; - WHERE - WR1: (HIINDEX(SELF.properties) = 1) - XOR - (TYPEOF(SELF.properties[1]) <> TYPEOF(SELF.properties[2])); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_reflectance_ambient_diffuse_specular - SUBTYPE OF (surface_style_reflectance_ambient_diffuse); - specular_reflectance : REAL; - specular_exponent : REAL; - specular_colour : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_reflectance_ambient_diffuse - SUBTYPE OF (surface_style_reflectance_ambient); - diffuse_reflectance : REAL; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_reflectance_ambient; - ambient_reflectance : REAL; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_rendering_properties; - rendered_colour : colour; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY directed_action - SUBTYPE OF (executed_action); - directive : action_directive; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_directive; - name : label; - description : OPTIONAL text; - analysis : text; - comment : text; - requests : SET [1:?] OF versioned_action_request; - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY draughting_callout_relationship; - name : label; - description : text; - relating_draughting_callout : draughting_callout; - related_draughting_callout : draughting_callout; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval_role; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY action_request_assignment - ABSTRACT SUPERTYPE; - assigned_action_request : versioned_action_request; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY time_interval_assignment - ABSTRACT SUPERTYPE; - assigned_time_interval : time_interval; - role : time_interval_role; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY versioned_action_request; - id : identifier; - version : OPTIONAL label; - purpose : text; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_request_status; - status : label; - assigned_request : versioned_action_request; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY versioned_action_request_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_versioned_action_request : versioned_action_request; - related_versioned_action_request : versioned_action_request; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY security_classification_assignment - ABSTRACT SUPERTYPE; - assigned_security_classification : security_classification; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (security_classification_schema); *) - ENTITY security_classification_level; - name : label; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_request_solution; - method : action_method; - request : versioned_action_request; - DERIVE - description : text := get_description_value(SELF); - name : label := get_name_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; - WR2: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_vertex - SUBTYPE OF (tessellated_structured_item); - coordinates : coordinates_list; - topological_link : OPTIONAL vertex_point; - point_index : INTEGER; -END_ENTITY; -(* USED FROM (Project_mim); *) -ENTITY applied_organizational_project_assignment - SUBTYPE OF (organizational_project_assignment); - items : SET[1:?] OF project_item; -END_ENTITY; -(* USED FROM (Multi_linguism_mim); *) -ENTITY attribute_language_assignment -SUBTYPE OF (attribute_classification_assignment); - SELF\attribute_classification_assignment.assigned_class: language; - items : SET [1:?] OF attribute_language_item; -WHERE -WR1: SELF\attribute_classification_assignment.role.name IN ['primary', 'translated']; -WR2: SELF\attribute_classification_assignment.attribute_name<> ''; -END_ENTITY; -(* USED FROM (Multi_linguism_mim); *) -ENTITY language -SUBTYPE OF (group); -WHERE -WR1: SELF\group.name <> ''; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY identification_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY certification_assignment - ABSTRACT SUPERTYPE; - assigned_certification : certification; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (certification_schema); *) - ENTITY certification_type; - description : label; - END_ENTITY; -(* USED FROM (certification_schema); *) - ENTITY certification; - name : label; - purpose : text; - kind : certification_type; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY shape_defining_relationship - SUBTYPE OF (shape_aspect_relationship); -END_ENTITY; -(* USED FROM (security_classification_schema); *) - ENTITY security_classification; - name : label; - purpose : text; - security_level : security_classification_level; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY faceted_brep - SUBTYPE OF (manifold_solid_brep); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY elementary_surface - SUPERTYPE OF (ONEOF ( - PLANE, - CYLINDRICAL_SURFACE, - CONICAL_SURFACE, - SPHERICAL_SURFACE, - TOROIDAL_SURFACE)) - SUBTYPE OF (surface); - position : axis2_placement_3d; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY name_assignment - ABSTRACT SUPERTYPE; - assigned_name : label; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY edge_based_wireframe_model - SUBTYPE OF (geometric_representation_item); - ebwm_boundary : SET[1:?] OF connected_edge_set; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rotation_about_direction - SUBTYPE OF (geometric_representation_item); -- LK - direction_of_axis : direction; - rotation_angle : plane_angle_measure; -WHERE - WR1: SIZEOF (direction_of_axis.direction_ratios) = 3; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY face_based_surface_model - SUBTYPE OF (geometric_representation_item); - fbsm_faces : SET[1:?] OF connected_face_set; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY point_on_surface_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : point_on_surface_pair; - actual_point_on_surface : point_on_surface; - input_orientation : spatial_rotation; -DERIVE - actual_orientation : ypr_rotation - := convert_spatial_to_ypr_rotation - (SELF\pair_value.applies_to_pair, - input_orientation); -WHERE - WR1: SELF\pair_value.applies_to_pair\point_on_surface_pair.pair_surface :=: - actual_point_on_surface.basis_surface; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY unconstrained_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : unconstrained_pair; - actual_placement : axis2_placement_3d; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY transition_feature - SUPERTYPE OF (ONEOF ( - CHAMFER, - EDGE_ROUND, - FILLET)) - SUBTYPE OF (shape_aspect); - WHERE - WR1: SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOUND_FEATURE'] - * TYPEOF(SELF.of_shape.definition)) = 1; - WR2: SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_ROUND', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILLET'] * - TYPEOF(SELF)) = 1; -END_ENTITY; -- transition_feature -(* USED FROM (kinematic_state_schema); *) -ENTITY point_on_planar_curve_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : point_on_planar_curve_pair; - actual_point_on_curve : point_on_curve; - input_orientation : spatial_rotation; -DERIVE - actual_orientation : ypr_rotation - := convert_spatial_to_ypr_rotation - (SELF\pair_value.applies_to_pair, - input_orientation); -WHERE - WR1: SELF\pair_value.applies_to_pair\point_on_planar_curve_pair.pair_curve - :=: actual_point_on_curve.basis_curve; -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY leader_terminator - SUBTYPE OF (terminator_symbol); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF - (SELF\terminator_symbol.annotated_curve); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY connected_edge_set - SUBTYPE OF (topological_representation_item); - ces_edges : SET [1:?] OF edge; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY connected_face_set - SUPERTYPE OF (ONEOF ( - CLOSED_SHELL, - OPEN_SHELL)) - SUBTYPE OF (topological_representation_item); - cfs_faces : SET [1:?] OF face; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY edge - SUPERTYPE OF (ONEOF ( - EDGE_CURVE, - ORIENTED_EDGE, - SUBEDGE)) - SUBTYPE OF (topological_representation_item); - edge_start : vertex; - edge_end : vertex; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY edge_loop - SUBTYPE OF (loop,path); - DERIVE - ne : INTEGER := SIZEOF(SELF\path.edge_list); - WHERE - WR1: (SELF\path.edge_list[1].edge_start) :=: - (SELF\path.edge_list[ne].edge_end); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_rendering; - rendering_method : shading_curve_method; - rendering_properties : surface_rendering_properties; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face_bound - SUBTYPE OF(topological_representation_item); - bound : loop; - orientation : BOOLEAN; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face_outer_bound - SUBTYPE OF (face_bound); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY loop - SUPERTYPE OF (ONEOF ( - VERTEX_LOOP, - EDGE_LOOP, - POLY_LOOP)) - SUBTYPE OF (topological_representation_item); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY oriented_edge - SUBTYPE OF (edge); - edge_element : edge; - orientation : BOOLEAN; - DERIVE - SELF\edge.edge_start : vertex := boolean_choose (SELF.orientation, - SELF.edge_element.edge_start, - SELF.edge_element.edge_end); - SELF\edge.edge_end : vertex := boolean_choose (SELF.orientation, - SELF.edge_element.edge_end, - SELF.edge_element.edge_start); - WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_EDGE' IN TYPEOF (SELF.edge_element)); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY coordinates_list - SUBTYPE OF (tessellated_item); - npoints : INTEGER; - position_coords : LIST[1:?] OF LIST[3:3] OF REAL; -WHERE - WR1: npoints = SIZEOF(position_coords); - WR2: SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPOSITIONED_TESSELLATED_ITEM'] * TYPEOF(SELF)) = 0; -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY topological_representation_item - SUPERTYPE OF (ONEOF ( - VERTEX, - EDGE, - FACE_BOUND, - FACE, - VERTEX_SHELL, - WIRE_SHELL, - CONNECTED_EDGE_SET, - CONNECTED_FACE_SET,( - LOOP - ANDOR - PATH))) - SUBTYPE OF (representation_item); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex - SUBTYPE OF (topological_representation_item); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY vertex_loop - SUBTYPE OF (loop); - loop_vertex : vertex; - END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY assembly_geometric_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - BINARY_ASSEMBLY_CONSTRAINT, - FIXED_CONSTITUENT_ASSEMBLY_CONSTRAINT)) - SUBTYPE OF (explicit_constraint); - -END_ENTITY;-- assembly_geometric_constraint -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY environment; - syntactic_representation: generic_variable; - semantics: variable_semantics; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rack_and_pinion_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : rack_and_pinion_pair; - actual_displacement : length_measure; -DERIVE - actual_rotation : plane_angle_measure - := 0.0; (* - := convert_plane_angle_for_pair_from_radian - (SELF\pair_value.applies_to_pair, - (- actual_displacement / - SELF\pair_value.applies_to_pair\ - rack_and_pinion_pair.pinion_radius)); *) -END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY parallel_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - parallel_geometric_constraint); -END_ENTITY;-- parallel_assembly_constraint -(* USED FROM (assembly_constraint_schema); *) -ENTITY parallel_assembly_constraint_with_dimension - SUBTYPE OF (parallel_assembly_constraint, - pgc_with_dimension); -END_ENTITY;-- parallel_assembly_constraint_with_dimension -(* USED FROM (assembly_constraint_schema); *) -ENTITY surface_distance_assembly_constraint_with_dimension - SUBTYPE OF (binary_assembly_constraint, - sdgc_with_dimension); -END_ENTITY;-- surface_distance_assembly_constraint_with_dimension -(* USED FROM (assembly_constraint_schema); *) -ENTITY angle_assembly_constraint_with_dimension - SUBTYPE OF (binary_assembly_constraint, - agc_with_dimension); -END_ENTITY;-- angle_assembly_constraint_with_dimension -(* USED FROM (assembly_constraint_schema); *) -ENTITY perpendicular_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - perpendicular_geometric_constraint); -END_ENTITY;-- perpendicular_assembly_constraint -(* USED FROM (assembly_constraint_schema); *) -ENTITY incidence_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - incidence_geometric_constraint); -END_ENTITY;-- incidence_assembly_constraint -(* USED FROM (assembly_constraint_schema); *) -ENTITY coaxial_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - coaxial_geometric_constraint); -END_ENTITY;-- coaxial_assembly_constraint -(* USED FROM (assembly_constraint_schema); *) -ENTITY tangent_assembly_constraint - SUBTYPE OF (binary_assembly_constraint, - tangent_geometric_constraint); -END_ENTITY;-- tangent_assembly_constraint -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY kinematic_control; - controlled_mechanism : mechanism_representation; - contained_kinematic_programs : kinematic_analysis_definition; -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY prescribed_path - SUBTYPE OF (link_motion_representation_along_path); - controlling_joints : OPTIONAL SET [1 : 6] OF kinematic_joint; -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY kinematic_analysis_result; - analysed_mechanism : mechanism_representation; -- LK - result : kinematic_result; -(* -WHERE -WR1: ('KINEMATIC_ANALYSIS_CONTROL_AND_RESULT_SCHEMA.RESULTING_PATH' IN TYPEOF (result)) - XOR - (SIZEOF (QUERY (result <* contained_kinematic_results | - (('KINEMATIC_ANALYSIS_CONTROL_AND_RESULT_SCHEMA.'+ - 'INTERPOLATED_CONFIGURATION_SEQUENCE' IN TYPEOF (result)) - AND - (SIZEOF (QUERY (sequence <* result\ - interpolated_configuration_sequence.interpolation | - (sequence.interpolation <> undefined ))) > 0)))) = 0); -*) -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY kinematic_analysis_consistency; - control : kinematic_control; - result : kinematic_analysis_result; -WHERE - WR1: control.controlled_mechanism :=: result.analysed_mechanism; -END_ENTITY; -(* USED FROM (kinematic_analysis_control_and_result_schema); *) -ENTITY resulting_path - SUBTYPE OF (link_motion_representation_along_path); - controlling_joints : SET [1 : ?] OF kinematic_joint; -END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_method; - name : label; - description : OPTIONAL text; - consequence : text; - purpose : text; - END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY variable_semantics - ABSTRACT SUPERTYPE; -END_ENTITY; -(* USED FROM (Specification_control_mim); *) - ENTITY instance_usage_context_assignment - SUBTYPE OF (product_definition_context); - items : SET [1:?] OF instance_usage_context_select; - END_ENTITY; -(* USED FROM (action_schema); *) - ENTITY action_method_relationship; - name : label; - description : OPTIONAL text; - relating_method : action_method; - related_method : action_method; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY concat_expression -SUBTYPE OF (string_expression, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands: - LIST [2 : ?] OF string_expression; -END_ENTITY; -(* USED FROM (process_property_representation_schema); *) -ENTITY action_property_representation; - name : label; - description : text; - property : action_property; - representation : representation; -END_ENTITY; -(* USED FROM (process_property_representation_schema); *) -ENTITY resource_property_representation; - name : label; - description : text; - property : resource_property; - representation : representation; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY action_property; - name : label; - description : text; - definition : characterized_action_definition; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY action_resource_requirement; - name : label; - description : text; - kind : resource_requirement_type; - operations : SET [1:?] OF characterized_action_definition; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY process_product_association; - name : label; - description : text; - defined_product : characterized_product_definition; - process : product_definition_process; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY process_property_association; - name : label; - description : text; - process : property_process; - property_or_shape : property_or_shape_select; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY product_definition_process - SUBTYPE OF (action); - identification : identifier; -INVERSE - product_definitions : SET [1:?] OF process_product_association FOR process; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY property_process - SUBTYPE OF (action); - identification : identifier; -INVERSE - properties : SET [1:?] OF process_property_association FOR process; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY requirement_for_action_resource - SUBTYPE OF (action_resource_requirement); - resources : SET [1:?] OF action_resource; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY resource_property; - name : label; - description : text; - resource : characterized_resource_definition; -END_ENTITY; -(* USED FROM (process_property_schema); *) -ENTITY resource_requirement_type; - name : label; - description : text; -END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_design_version_to_individual - SUBTYPE OF (product_definition_formation_relationship); - - (* removed : SELF\product_definition_formation_relationship.individual_product : PRODUCT_DEFINITION_FORMATION *) - - (* removed : SELF\product_definition_formation_relationship.product_design_version : PRODUCT_DEFINITION_FORMATION *) - DERIVE - individual_product : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.related_product_definition_formation; -- RELATED_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - product_design_version : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.relating_product_definition_formation; -- RELATING_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_design_to_individual - SUBTYPE OF (product_relationship); - - (* removed : SELF\product_relationship.individual_product : PRODUCT *) - - (* removed : SELF\product_relationship.product_design : PRODUCT *) - DERIVE - individual_product : PRODUCT := SELF\product_relationship.related_product; -- RELATED_PRODUCT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - product_design : PRODUCT := SELF\product_relationship.relating_product; -- RELATING_PRODUCT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_planned_to_realized - SUBTYPE OF (product_definition_formation_relationship); - - (* removed : SELF\product_definition_formation_relationship.planned_product : PRODUCT_DEFINITION_FORMATION *) - - (* removed : SELF\product_definition_formation_relationship.realized_product : PRODUCT_DEFINITION_FORMATION *) - DERIVE - planned_product : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.relating_product_definition_formation; -- RELATING_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - realized_product : PRODUCT_DEFINITION_FORMATION := SELF\product_definition_formation_relationship.related_product_definition_formation; -- RELATED_PRODUCT_DEFINITION_FORMATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Product_as_individual_mim); *) -ENTITY product_as_planned - SUBTYPE OF (product_definition_formation); -END_ENTITY; -(* USED FROM (Configuration_item_mim); *) -ENTITY configuration_item_hierarchical_relationship - SUBTYPE OF (configuration_item_relationship); -END_ENTITY; -(* USED FROM (Configuration_item_mim); *) -ENTITY configuration_item_revision_sequence - SUBTYPE OF (configuration_item_relationship); -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_design; - configuration : configuration_item; - design : configuration_design_item; -DERIVE - name : label := get_name_value (SELF); - description : text := get_description_value (SELF); -UNIQUE - UR1: configuration, design; -WHERE - WR1: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - WR2: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_item; - id : identifier; - name : label; - description : OPTIONAL text; - item_concept : product_concept; - purpose : OPTIONAL label; -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_item_relationship; - name : label; - description : OPTIONAL text; - relating_configuration_item : configuration_item; - related_configuration_item : configuration_item; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition SUPERTYPE OF ( ( ONEOF ( - COMPOSITE_ASSEMBLY_SEQUENCE_DEFINITION, - LAMINATE_TABLE, - PLY_LAMINATE_SEQUENCE_DEFINITION) )ANDOR( (ONEOF ( - PHYSICAL_UNIT, - STRATUM)) ) ) ; - id : identifier; - description : OPTIONAL text; - formation : product_definition_formation; - frame_of_reference : product_definition_context; - DERIVE - name : label := get_name_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_formation; - id : identifier; - description : OPTIONAL text; - of_product : product; - UNIQUE - UR1: id, of_product; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_formation_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_product_definition_formation : product_definition_formation; - related_product_definition_formation : product_definition_formation; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_product : product; - related_product : product; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY characterized_item_within_representation - SUBTYPE OF (characterized_object); - item : representation_item; - rep : representation; - UNIQUE - WR1: item, rep; - WHERE - WR2: rep IN using_representations(item); - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY characterized_chain_based_item_within_representation - SUBTYPE OF (characterized_item_within_representation); - nodes : LIST[2:?] OF UNIQUE representation; - - undirected_link : LIST[1:?] OF chained_representation_link; - DERIVE - root : representation := nodes[1]; - - SELF\characterized_item_within_representation.rep : representation := nodes[HIINDEX(nodes)]; -- leaf : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - directed_link : LIST[1:?] OF representation_relationship := get_directed_link(nodes, undirected_link); - leaf : REPRESENTATION := SELF\characterized_item_within_representation.rep; -- REP : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - WHERE - WR1 : EXISTS(directed_link); - END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY product_material_composition_relationship -SUBTYPE OF (product_definition_relationship); - class : label; - constituent_amount : SET [1:?] OF characterized_product_composition_value; - composition_basis : label; - determination_method : text; -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY make_from_usage_option - SUBTYPE OF (product_definition_usage); - ranking : INTEGER; - ranking_rationale : text; - quantity : measure_with_unit; -WHERE - WR1: (NOT ('NUMBER' IN TYPEOF(quantity.value_component))) - OR (quantity.value_component > 0); -END_ENTITY; -(* USED FROM (Packaged_connector_model_mim); *) -ENTITY packaged_connector - SUBTYPE OF (packaged_part); -END_ENTITY; -(* USED FROM (Classification_with_attributes_mim); *) -ENTITY characterized_class -SUBTYPE OF (characterized_object, class); -END_ENTITY; -(* USED FROM (Classification_with_attributes_mim); *) -ENTITY class_system -SUBTYPE OF (group); -END_ENTITY; -(* USED FROM (Plib_class_reference_mim); *) - ENTITY known_source - SUBTYPE OF (external_source, pre_defined_item); - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY general_property; - id : identifier; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY general_property_association; - name : label; - description : OPTIONAL text; - base_definition : general_property; - derived_definition : derived_property_select; - WHERE - WR1: SIZEOF(USEDIN(derived_definition, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GENERAL_PROPERTY_ASSOCIATION.' + 'DERIVED_DEFINITION')) = 1; - WR2: derived_definition.name = base_definition.name; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_hatch_style - SUBTYPE OF (externally_defined_item, geometric_representation_item); - END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY applied_usage_right - SUBTYPE OF (applied_action_assignment); - SELF\applied_action_assignment.items : SET[1:?] OF ir_usage_item; -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY information_right - SUBTYPE OF (action_method); -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY information_usage_right - SUBTYPE OF (action_method); -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY right_to_usage_association - SUBTYPE OF (action_method_relationship); - SELF\action_method_relationship.relating_method : information_usage_right; -- right_usage : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\action_method_relationship.related_method : information_right; -- right_applied : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - right_applied : INFORMATION_RIGHT := SELF\action_method_relationship.related_method; -- RELATED_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - right_usage : INFORMATION_USAGE_RIGHT := SELF\action_method_relationship.relating_method; -- RELATING_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Information_rights_mim); *) -ENTITY usage_association - SUBTYPE OF (action_method_relationship); - SELF\action_method_relationship.relating_method : information_usage_right; -- relating : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\action_method_relationship.related_method : information_usage_right; -- related : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - DERIVE - related : INFORMATION_USAGE_RIGHT := SELF\action_method_relationship.related_method; -- RELATED_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - relating : INFORMATION_USAGE_RIGHT := SELF\action_method_relationship.relating_method; -- RELATING_METHOD : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -END_ENTITY; -(* USED FROM (Activity_method_assignment_mim); *) -ENTITY applied_action_method_assignment - SUBTYPE OF (action_method_assignment); - items : SET[1:?] OF action_method_items; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY action_method_assignment - ABSTRACT SUPERTYPE; - assigned_action_method : action_method; - role : action_method_role; - END_ENTITY; -(* USED FROM (Attribute_classification_mim); *) -ENTITY applied_attribute_classification_assignment - SUBTYPE OF (attribute_classification_assignment); - SELF\attribute_classification_assignment.assigned_class : class; - items : SET[1:?] OF attribute_classification_item; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY attribute_classification_assignment - ABSTRACT SUPERTYPE; - assigned_class : group; - attribute_name : label; - role : classification_role; - END_ENTITY; -(* USED FROM (contract_schema); *) - ENTITY contract_type; - description : label; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_formation_with_specified_source - SUBTYPE OF (product_definition_formation); - make_or_buy : source; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY parametric_representation_context - SUBTYPE OF (representation_context); - END_ENTITY; -(* USED FROM (Associative_draughting_elements_mim); *) -ENTITY draughting_model_item_association - SUBTYPE OF(item_identified_representation_usage); - SELF\item_identified_representation_usage.definition : draughting_model_item_definition; - SELF\item_identified_representation_usage.used_representation : annotation_representation_select; - SELF\item_identified_representation_usage.identified_item : draughting_model_item_association_select; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_context_association; - definition : product_definition; - frame_of_reference : product_definition_context; - role : product_definition_context_role; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY generic_product_definition_reference - ABSTRACT SUPERTYPE OF (ONEOF ( - PRODUCT_DEFINITION_REFERENCE, - PRODUCT_DEFINITION_REFERENCE_WITH_LOCAL_REPRESENTATION)); - source : external_source; - END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY sliding_curve_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : sliding_curve_pair; - actual_point_on_curve_1 : point_on_curve; - actual_point_on_curve_2 : point_on_curve; -WHERE - WR1: SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: - actual_point_on_curve_1.basis_curve; - WR2: SELF\pair_value.applies_to_pair\planar_curve_pair.curve_2 :=: - actual_point_on_curve_2.basis_curve; -END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY shape_aspect_associativity - SUBTYPE OF (shape_aspect_relationship); - WHERE - WR1: SELF.relating_shape_aspect.product_definitional; - WR2: NOT (SELF.related_shape_aspect.product_definitional); - END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rolling_curve_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : rolling_curve_pair; - actual_point_on_curve_1 : point_on_curve; -WHERE - WR1: SELF\pair_value.applies_to_pair\planar_curve_pair.curve_1 :=: - actual_point_on_curve_1.basis_curve; -END_ENTITY; -(* USED FROM (Draughting_annotation_mim); *) - ENTITY pre_defined_dimension_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN [ 'arc length' , 'conical taper' , 'counterbore' , 'countersink' , 'depth' , 'diameter' , 'plus minus' , 'radius' , 'slope' , 'spherical diameter' , 'spherical radius' , 'square']; - END_ENTITY; -(* USED FROM (Draughting_annotation_mim); *) - ENTITY pre_defined_geometrical_tolerance_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN ['angularity' , 'basic dimension' , 'blanked datum reference' , 'circular runout' , 'circularity' , 'concentricity' , 'cylindricity' , 'datum target identification' , 'diameter' , 'filled datum reference' , 'flatness' , 'least material condition' , 'maximum material condition' , 'parallelism' , 'perpendicularity' , 'position' , 'profile of a line' , 'profile of a surface' , 'projected tolerance zone' , 'regardless of feature size' , 'straightness' , 'symmetry' , 'total runout' ]; - END_ENTITY; -(* USED FROM (Draughting_annotation_mim); *) - ENTITY pre_defined_surface_condition_symbol - SUBTYPE OF (pre_defined_symbol); - WHERE - WR1: SELF.name IN ['000' , '010' , '020' , '030' , '040' , '050' , '060' , '070' , '001' , '011' , '021' , '031' , '041' , '051' , '061' , '071' , '100' , '110' , '120' , '130' , '140' , '150' , '160' , '170' , '101' , '111' , '121' , '131' , '141' , '151' , '161' , '171' , '200' , '210' , '220' , '230' , '240' , '250' , '260' , '270' , '201' , '211' , '221' , '231' , '241' , '251' , '261' , '271']; - END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_reference_with_local_representation - SUBTYPE OF (generic_product_definition_reference, product_definition); - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY dimension_curve_terminator - SUBTYPE OF (terminator_symbol); - role : dimension_extent_usage; - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' IN TYPEOF - (SELF\terminator_symbol.annotated_curve); - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY terminator_symbol - SUBTYPE OF (annotation_symbol_occurrence); - annotated_curve : annotation_curve_occurrence; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY ordinal_date - SUBTYPE OF (date); - day_component : day_in_year_number; -WHERE - WR1: (NOT leap_year(SELF.year_component) AND { 1 <= day_component <= 365 }) OR (leap_year(SELF.year_component) AND { 1 <= day_component <= 366 }); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY week_of_year_and_day_date - SUBTYPE OF (date); - week_component : week_in_year_number; - day_component : OPTIONAL day_in_week_number; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY cylindrical_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : cylindrical_pair; - actual_translation : length_measure; - actual_rotation : plane_angle_measure; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY screw_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : screw_pair; - actual_rotation : plane_angle_measure; -DERIVE - actual_translation : length_measure - := SELF\pair_value.applies_to_pair\ - screw_pair.pitch * - plane_angle_for_pair_in_radian - (SELF\pair_value.applies_to_pair, - actual_rotation) / (2 * PI); -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_text_literal_with_delineation - SUBTYPE OF (text_literal_with_delineation); -WHERE - WR1: SELF.delineation IN ['underline', 'overline']; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_symbol_occurrence - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : annotation_symbol_occurrence_item; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY pre_defined_symbol - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (Presentation_hierarchy_mim); *) - ENTITY applied_presented_item - SUBTYPE OF (presented_item); - items : SET[1:?] OF presented_item_select; - END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_definition; - drawing_number : identifier; - drawing_type : OPTIONAL label; -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_revision - SUBTYPE OF (presentation_set); - revision_identifier : identifier; - drawing_identifier : drawing_definition; - intended_scale : OPTIONAL text; -UNIQUE - UR1: revision_identifier, drawing_identifier; -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_revision_sequence; - predecessor : drawing_revision; - successor : drawing_revision; -WHERE - WR1: predecessor :<>: successor; -END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY item_identified_representation_usage; - name : label; - description : OPTIONAL text; - definition : item_identified_representation_usage_definition; - used_representation : representation; - identified_item : item_identified_representation_usage_select; - WHERE - WR1: SELF.used_representation IN using_representations(SELF.identified_item); - END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_sheet_revision_sequence - SUBTYPE OF (representation_relationship); -WHERE - WR1: SELF\representation_relationship.rep_1 :<>: - SELF\representation_relationship.rep_2; - WR2: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' - IN TYPEOF (SELF\representation_relationship.rep_1); - WR3: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' - IN TYPEOF (SELF\representation_relationship.rep_2); -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_sheet_revision_usage - SUBTYPE OF (area_in_set); - sheet_number : identifier; -UNIQUE - UR1: sheet_number, SELF\area_in_set.in_set; -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN - TYPEOF(SELF\area_in_set.area)) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_REVISION' - IN TYPEOF (SELF\area_in_set.in_set)); -END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY draughting_title; - items : SET [1:?] OF draughting_titled_item; - language : label; - contents : text; -END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_representation_type; - name : label; - represented_document : document; - END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_relationship; - name : label; - description : OPTIONAL text; - relating_document : document; - related_document : document; - END_ENTITY; -(* USED FROM (Currency_mim); *) - ENTITY currency - ABSTRACT SUPERTYPE OF ((ONEOF ( - EXTERNALLY_DEFINED_CURRENCY, - ISO4217_CURRENCY)) ) - SUBTYPE OF (context_dependent_unit); - WHERE - WR1: ((SELF\named_unit.dimensions.length_exponent = 0.0) AND - (SELF\named_unit.dimensions.mass_exponent = 0.0) AND - (SELF\named_unit.dimensions.time_exponent = 0.0) AND - (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND - (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND - (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND - (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0)); - END_ENTITY; -(* USED FROM (Currency_mim); *) - ENTITY currency_measure_with_unit - SUBTYPE OF (measure_with_unit); - SELF\measure_with_unit.unit_component : currency; - END_ENTITY; -(* USED FROM (Currency_mim); *) - ENTITY iso4217_currency - SUBTYPE OF (currency); - END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY absorbed_dose_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABSORBED_DOSE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY definitional_representation_relationship - SUBTYPE OF (representation_relationship); - WHERE - WR1: acyclic_representation_relationship(SELF, - [SELF\representation_relationship.rep_2], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION'); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_absorbed_dose_unit - SUBTYPE OF (absorbed_dose_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.gray; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY acceleration_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACCELERATION_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY acceleration_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 1.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY radioactivity_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIOACTIVITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY radioactivity_unit - SUBTYPE OF (derived_unit); -WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.becquerel); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_radioactivity_unit - SUBTYPE OF (radioactivity_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.becquerel; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY amount_of_substance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AMOUNT_OF_SUBSTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY amount_of_substance_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 1.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY area_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY area_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY celsius_temperature_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY context_dependent_unit - SUBTYPE OF (named_unit); - name : label; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY conversion_based_unit - SUBTYPE OF (named_unit); - name : label; - conversion_factor : measure_with_unit; - WHERE - WR1: SELF\named_unit.dimensions = derive_dimensional_exponents(conversion_factor\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY definitional_representation - SUBTYPE OF (representation); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARAMETRIC_REPRESENTATION_CONTEXT' IN - TYPEOF (SELF\representation.context_of_items ); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY derived_unit_element; - unit : named_unit; - exponent : REAL; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY dimensional_exponents; - length_exponent : REAL; - mass_exponent : REAL; - time_exponent : REAL; - electric_current_exponent : REAL; - thermodynamic_temperature_exponent : REAL; - amount_of_substance_exponent : REAL; - luminous_intensity_exponent : REAL; - END_ENTITY; -(* USED FROM (Shape_parameters_mim); *) -ENTITY keepout_design_object_category - SUBTYPE OF (characterized_object); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY general_linear_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - sum_index : one_or_two; -DERIVE - mat : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_2d_table(mat); - WR2: (space_dimension(mat.range) = 1) AND - subspace_of_es(factor1(mat.range),es_numbers); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY prismatic_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : prismatic_pair; - actual_translation : length_measure; -END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY dose_equivalent_measure_with_unit - SUBTYPE OF (measure_with_unit); -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DOSE_EQUIVALENT_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); -END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY dose_equivalent_unit - SUBTYPE OF (derived_unit); -WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.sievert); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY expression_denoted_function - SUBTYPE OF (maths_function, unary_generic_expression); -DERIVE - expr : generic_expression := SELF\unary_generic_expression.operand; -WHERE - WR1: (schema_prefix + 'FUNCTION_SPACE') IN TYPEOF (values_space_of(expr)); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_charge_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.coulomb); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_charge_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CHARGE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY product_definition_occurrence_relationship; - name : label; - description : OPTIONAL text; - occurrence : product_definition; - occurrence_usage : assembly_component_usage; -WHERE - WR1: occurrence_usage.relating_product_definition :<>: - occurrence; - WR2: occurrence_usage.related_product_definition :<>: - occurrence; - WR3: occurrence.formation :=: - occurrence_usage.related_product_definition.formation; -END_ENTITY; -(* USED FROM (Specified_product_mim); *) - ENTITY product_specification - SUBTYPE OF (product_identification, configurable_item); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_current_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 1.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY conductance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.siemens); - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY complex_number_literal - SUBTYPE OF (generic_literal); - real_part : REAL; - imag_part : REAL; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY manifold_solid_brep - SUBTYPE OF (solid_model); - outer : closed_shell; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_potential_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.volt); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY electric_potential_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_POTENTIAL_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_electric_potential_unit - SUBTYPE OF (electric_potential_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.volt; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY energy_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.joule); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY energy_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ENERGY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_energy_unit - SUBTYPE OF (energy_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.joule; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_density_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.tesla); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY extruded_area_solid - SUBTYPE OF (swept_area_solid); - extruded_direction : direction; - depth : positive_length_measure; -WHERE - WR1: dot_product( (SELF\swept_area_solid.swept_area.basis_surface\ elementary_surface.position.p[3]), extruded_direction) <> 0.0; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_magnetic_flux_density_unit - SUBTYPE OF (magnetic_flux_density_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.tesla; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY revolved_area_solid - SUBTYPE OF (swept_area_solid); - axis : axis1_placement; - angle : plane_angle_measure; -DERIVE - axis_line : line := representation_item('')|| geometric_representation_item()|| curve()|| line(axis.location, representation_item('')|| geometric_representation_item()|| vector(axis.z, 1.0)); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY surface_curve_swept_area_solid - SUBTYPE OF (swept_area_solid); - directrix : curve; - start_param : REAL; - end_param : REAL; - reference_surface : surface; -WHERE - WR1: (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(directrix))) OR (reference_surface IN (directrix\surface_curve.basis_surface)); -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_force_unit - SUBTYPE OF (force_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.newton; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY frequency_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.hertz); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY frequency_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FREQUENCY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_frequency_unit - SUBTYPE OF (frequency_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.hertz; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY illuminance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.lux); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY illuminance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ILLUMINANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_illuminance_unit - SUBTYPE OF (illuminance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.lux; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY inductance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.henry); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY inductance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INDUCTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_inductance_unit - SUBTYPE OF (inductance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.henry; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY length_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY outer_boundary_curve - SUBTYPE OF (boundary_curve); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY intersection_curve - SUBTYPE OF (surface_curve); -WHERE - WR1: SIZEOF(SELF\surface_curve.associated_geometry) = 2; - WR2: associated_surface(SELF\surface_curve.associated_geometry[1]) <> associated_surface(SELF\surface_curve.associated_geometry[2]); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY pair_value - ABSTRACT SUPERTYPE OF (ONEOF ( - SLIDING_SURFACE_PAIR_VALUE, - ROLLING_SURFACE_PAIR_VALUE, - REVOLUTE_PAIR_VALUE, - PRISMATIC_PAIR_VALUE, - SCREW_PAIR_VALUE, - CYLINDRICAL_PAIR_VALUE, - SPHERICAL_PAIR_VALUE, - SLIDING_CURVE_PAIR_VALUE, - ROLLING_CURVE_PAIR_VALUE, - GEAR_PAIR_VALUE, - RACK_AND_PINION_PAIR_VALUE, - UNIVERSAL_PAIR_VALUE, - PLANAR_PAIR_VALUE, - UNCONSTRAINED_PAIR_VALUE, - POINT_ON_SURFACE_PAIR_VALUE, - POINT_ON_PLANAR_CURVE_PAIR_VALUE, - LOW_ORDER_KINEMATIC_PAIR_VALUE)) - SUBTYPE OF (geometric_representation_item); - applies_to_pair : kinematic_pair; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_intensity_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_INTENSITY_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY luminous_intensity_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 1.0); - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY reparametrised_composite_curve_segment - SUBTYPE OF (composite_curve_segment); - param_length : parameter_value; -WHERE - WR1: param_length > 0.0; -END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY magnetic_flux_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_magnetic_flux_unit - SUBTYPE OF (magnetic_flux_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.weber; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY mass_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MASS_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY externally_defined_item_with_multiple_references - SUBTYPE OF (externally_defined_item); - references : LIST[1:?] OF UNIQUE source_item; - UNIQUE - UR1: references; - WHERE - WR1: NOT(SELF\externally_defined_item.item_id IN references); - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY externally_defined_item_relationship; - name : label; - description : OPTIONAL text; - relating_item : externally_defined_item; - related_item : externally_defined_item; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY named_unit - SUPERTYPE OF (ONEOF ( - SI_UNIT, - CONVERSION_BASED_UNIT, - CONTEXT_DEPENDENT_UNIT) - ANDOR ONEOF ( - LENGTH_UNIT, - MASS_UNIT, - TIME_UNIT, - ELECTRIC_CURRENT_UNIT, - THERMODYNAMIC_TEMPERATURE_UNIT, - AMOUNT_OF_SUBSTANCE_UNIT, - LUMINOUS_FLUX_UNIT, - LUMINOUS_INTENSITY_UNIT, - PLANE_ANGLE_UNIT, - SOLID_ANGLE_UNIT, - RATIO_UNIT)); - dimensions : dimensional_exponents; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY plane_angle_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY plane_angle_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY power_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.watt); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY power_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_power_unit - SUBTYPE OF (power_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.watt; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY pressure_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.pascal); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY pressure_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESSURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_pressure_unit - SUBTYPE OF (pressure_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.pascal; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY ratio_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY ratio_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY resistance_unit - SUBTYPE OF(derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.ohm); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY resistance_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RESISTANCE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_resistance_unit - SUBTYPE OF (resistance_unit,si_unit); - WHERE - WR1: SELF\si_unit.name = si_unit_name.ohm; - WR2: NOT EXISTS(SELF\derived_unit.name); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY si_unit - SUBTYPE OF (named_unit); - prefix : OPTIONAL si_prefix; - name : si_unit_name; - DERIVE - SELF\named_unit.dimensions : dimensional_exponents := dimensions_for_si_unit(name); - WHERE - WR1: NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MASS_UNIT' IN TYPEOF(SELF)) AND - (SIZEOF(USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DERIVED_UNIT_ELEMENT.UNIT')) > 0)) OR - (prefix = si_prefix.kilo); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY solid_angle_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_ANGLE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY solid_angle_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY thermodynamic_temperature_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY thermodynamic_temperature_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 0.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 1.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY time_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TIME_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY time_unit - SUBTYPE OF (named_unit); - WHERE - WR1: (SELF\named_unit.dimensions.length_exponent = 0.0) AND (SELF\named_unit.dimensions.mass_exponent = 0.0) AND (SELF\named_unit.dimensions.time_exponent = 1.0) AND (SELF\named_unit.dimensions.electric_current_exponent = 0.0) AND (SELF\named_unit.dimensions.thermodynamic_temperature_exponent = 0.0) AND (SELF\named_unit.dimensions.amount_of_substance_exponent = 0.0) AND (SELF\named_unit.dimensions.luminous_intensity_exponent = 0.0); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY velocity_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VELOCITY_UNIT' IN TYPEOF (SELF\measure_with_unit.unit_component); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY velocity_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ); - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY volume_measure_with_unit - SUBTYPE OF (measure_with_unit); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_UNIT' IN TYPEOF(SELF\measure_with_unit.unit_component); - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -(* Pruned SUPERTYPE *) -ENTITY explicit_table_function - ABSTRACT SUPERTYPE OF (ONEOF ( - LISTED_DATA, - EXTERNALLY_LISTED_DATA, - LINEARIZED_TABLE_FUNCTION, - BASIC_SPARSE_MATRIX)) - SUBTYPE OF (maths_function); - index_base : zero_or_one; - shape : LIST [1:?] OF positive_integer; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY event_occurrence; - id : identifier; - name : label; - description : OPTIONAL text; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY elementary_function - SUBTYPE OF (maths_function, generic_literal); - func_id : elementary_function_enumerators; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY event_occurrence_relationship; - name : label; - description : OPTIONAL text; - relating_event : event_occurrence; - related_event : event_occurrence; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval_with_bounds - SUBTYPE OF (time_interval); - primary_bound : OPTIONAL date_time_or_event_occurrence; - secondary_bound : OPTIONAL date_time_or_event_occurrence; - duration : OPTIONAL time_measure_with_unit; -WHERE - WR1: NOT (EXISTS(secondary_bound) AND EXISTS(duration)); - WR2: EXISTS(primary_bound) OR EXISTS(secondary_bound); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rack_and_pinion_pair_with_range - SUBTYPE OF (rack_and_pinion_pair); - lower_limit_rack_displacement : OPTIONAL length_measure; - upper_limit_rack_displacement : OPTIONAL length_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_rack_displacement) - OR - NOT EXISTS(upper_limit_rack_displacement)) - XOR - (lower_limit_rack_displacement < upper_limit_rack_displacement); -END_ENTITY; -(* USED FROM (Colour_mim); *) - ENTITY externally_defined_colour - SUBTYPE OF (colour_specification,externally_defined_item); -END_ENTITY; -- externally_defined_colour -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_image - SUPERTYPE OF (ONEOF ( - CAMERA_IMAGE_2D_WITH_SCALE, - CAMERA_IMAGE_3D_WITH_SCALE)) - SUBTYPE OF (mapped_item); - SELF\mapped_item.mapping_source : camera_usage; - SELF\mapped_item.mapping_target : planar_box; - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' - IN TYPEOF (SELF); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3 - SUBTYPE OF (camera_model); - view_reference_system : axis2_placement_3d; - perspective_of_volume : view_volume; - WHERE - WR1: SELF\geometric_representation_item.dim = 3; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_multi_clipping - SUBTYPE OF (camera_model_d3); - shape_clipping : SET [1:?] OF camera_model_d3_multi_clipping_interection_select; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_multi_clipping_intersection - SUBTYPE OF (geometric_representation_item); - shape_clipping : SET [2:?] OF camera_model_d3_multi_clipping_interection_select; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_d3_multi_clipping_union - SUBTYPE OF (geometric_representation_item); - shape_clipping : SET [2:?] OF camera_model_d3_multi_clipping_union_select; - END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY alternate_product_relationship; - name : label; - definition : OPTIONAL text; - alternate : product; - base : product; - basis : text; -UNIQUE - UR1: alternate, base; -WHERE - WR1: alternate :<>: base; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model_with_light_sources - SUBTYPE OF (camera_model_d3); - sources : SET [1:?] OF light_source; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_image_3d_with_scale - SUBTYPE OF (camera_image); - DERIVE - scale: positive_ratio_measure := ((SELF\mapped_item.mapping_target\ - planar_extent.size_in_x) / (SELF\mapped_item.mapping_source. - mapping_origin\camera_model_d3.perspective_of_volume.view_window. - size_in_x)); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAMERA_MODEL_D3' - IN TYPEOF (SELF\mapped_item.mapping_source.mapping_origin)); - WR2: aspect_ratio(SELF\mapped_item.mapping_target) = - aspect_ratio(SELF\mapped_item.mapping_source.mapping_origin\ - camera_model_d3.perspective_of_volume.view_window); - WR3: SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.front_plane_clipping - AND - SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.view_volume_sides_clipping; - WR4: (SELF\mapped_item.mapping_target\planar_extent.size_in_x > 0) - AND - (SELF\mapped_item.mapping_target\planar_extent.size_in_y > 0); - WR5: (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.view_window.size_in_x > 0) - AND - (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. - perspective_of_volume.view_window.size_in_y > 0); - WR6: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' IN TYPEOF (SELF\mapped_item. - mapping_target\planar_box.placement)) - AND NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_3D' IN TYPEOF (SELF\mapped_item. - mapping_target\planar_box.placement)); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY view_volume - SUBTYPE OF (founded_item); - projection_type : central_or_parallel; - projection_point : cartesian_point; - view_plane_distance : length_measure; - front_plane_distance : length_measure; - front_plane_clipping : BOOLEAN; - back_plane_distance : length_measure; - back_plane_clipping : BOOLEAN; - view_volume_sides_clipping : BOOLEAN; - view_window : planar_box; - INVERSE - camera_usages : SET[1:?] OF camera_model_d3 FOR perspective_of_volume; - WHERE - WR1:('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D' IN TYPEOF(SELF\view_volume.view_window.placement)) OR - (dot_product ((representation_item(' ') || geometric_representation_item() || direction([0.0,0.0,1.0])), - SELF.view_window\planar_box.placement\axis2_placement_3d.p[3] ) = 1.0); - WR2: view_plane_distance = view_window.placement\placement.location.coordinates[3]; - END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY assembly_component_usage_substitute; - name : label; - definition : OPTIONAL text; - base : assembly_component_usage; - substitute : assembly_component_usage; -UNIQUE - UR1: base,substitute; -WHERE - WR1: base.relating_product_definition :=: - substitute.relating_product_definition; - WR2: base :<>: substitute; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY gear_pair_with_range - SUBTYPE OF (gear_pair); - lower_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_1 : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation_1) - OR - NOT EXISTS(upper_limit_actual_rotation_1)) - XOR - (lower_limit_actual_rotation_1 < upper_limit_actual_rotation_1); -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source - SUPERTYPE OF (ONEOF ( - LIGHT_SOURCE_AMBIENT, - LIGHT_SOURCE_DIRECTIONAL, - LIGHT_SOURCE_POSITIONAL, - LIGHT_SOURCE_SPOT)) - SUBTYPE OF (geometric_representation_item); - light_colour : colour; - WHERE - WR1: SIZEOF(USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'STYLED_ITEM.ITEM')) = 0; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_ambient - SUBTYPE OF (light_source); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_directional - SUBTYPE OF (light_source); - orientation : direction; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY open_shell - SUBTYPE OF (connected_face_set); - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY light_source_spot - SUBTYPE OF (light_source); - position : cartesian_point; - orientation : direction; - concentration_exponent : REAL; - constant_attenuation : REAL; - distance_attenuation : REAL; - spread_angle : positive_plane_angle_measure; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY definitional_representation_relationship_with_same_context - SUBTYPE OF (definitional_representation_relationship); - WHERE - WR1: SELF\representation_relationship.rep_1.context_of_items :=: - SELF\representation_relationship.rep_2.context_of_items; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY elementary_space - SUBTYPE OF (maths_space, generic_literal); - space_id : elementary_space_enumerators; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_layer_assignment; - name : label; - description : text; - assigned_items : SET [1:?] OF layered_item; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY extruded_face_solid_with_trim_conditions - SUPERTYPE OF (ONEOF ( - EXTRUDED_FACE_SOLID_WITH_DRAFT_ANGLE, - EXTRUDED_FACE_SOLID_WITH_MULTIPLE_DRAFT_ANGLES)) - SUBTYPE OF (extruded_face_solid); - first_trim_condition : trim_condition_select; - second_trim_condition : trim_condition_select; - first_trim_intent : trim_intent; - second_trim_intent : trim_intent; - first_offset : non_negative_length_measure; - second_offset : non_negative_length_measure; -WHERE - WR1: NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(first_trim_condition)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN TYPEOF(second_trim_condition))); - WR2: NOT ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition)) AND - ((first_trim_intent = trim_intent.offset) - OR (first_trim_intent = trim_intent.up_to_next))) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition)) AND - ((second_trim_intent = trim_intent.offset) - OR (second_trim_intent = trim_intent.up_to_next)))); - WR3: NOT (((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition))) AND - ((first_trim_intent = trim_intent.blind) - OR (first_trim_intent = trim_intent.through_all))) OR - ((NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition))) AND - ((second_trim_intent = trim_intent.blind) - OR (second_trim_intent = trim_intent.through_all)))); - WR4: (((first_trim_intent = trim_intent.offset) - AND (first_offset > 0)) XOR - ((first_trim_intent <> trim_intent.offset) - AND (first_offset = 0))) AND - (((second_trim_intent = trim_intent.offset) - AND (second_offset > 0)) XOR - ((second_trim_intent <> trim_intent.offset) - AND (second_offset = 0))); - WR5: NOT((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(first_trim_condition)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN TYPEOF(second_trim_condition))) AND - (first_trim_condition = second_trim_condition)); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY relative_event_occurrence - SUBTYPE OF (event_occurrence); - base_event : event_occurrence; - offset : time_measure_with_unit; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY fully_constrained_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; -END_ENTITY; -(* USED FROM (Composite_constituent_shape_mim); *) - ENTITY beveled_sheet_representation - SUBTYPE OF (shape_representation); - END_ENTITY; -(* USED FROM (Composite_constituent_shape_mim); *) - ENTITY composite_sheet_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'MANIFOLD_SURFACE_SHAPE_REPRESENTATION'] * TYPEOF (SELF)) = 1; - END_ENTITY; -(* USED FROM (Composite_constituent_shape_mim); *) - ENTITY flat_pattern_ply_representation_relationship - SUBTYPE OF (shape_representation_relationship); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN - (TYPEOF (SELF\representation_relationship.rep_1) * - TYPEOF (SELF\representation_relationship.rep_2)); - WR2: SELF\representation_relationship.rep_1. - context_of_items\geometric_representation_context. - coordinate_space_dimension = 3; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY shape_representation_relationship - SUBTYPE OF (representation_relationship); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN (TYPEOF(SELF\representation_relationship.rep_1) + TYPEOF(SELF\representation_relationship.rep_2)); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY binary_representation_item - SUBTYPE OF (representation_item); - binary_value : BINARY; - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY bytes_representation_item - SUBTYPE OF (binary_representation_item); - DERIVE - no_of_bytes : INTEGER := BLENGTH(SELF\binary_representation_item.binary_value) DIV 8; - WHERE - WR1: BLENGTH(SELF\binary_representation_item.binary_value) MOD 8 = 0; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY external_identification_assignment - ABSTRACT SUPERTYPE - SUBTYPE OF (identification_assignment); - source : external_source; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rolling_surface_pair - SUBTYPE OF (surface_pair); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY unconstrained_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY area_in_set; - area : presentation_area; - in_set : presentation_set; - END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY point - SUPERTYPE OF (ONEOF ( - CARTESIAN_POINT, - POINT_ON_CURVE, - POINT_ON_SURFACE, - POINT_REPLICA, - DEGENERATE_PCURVE)) - SUBTYPE OF (geometric_representation_item); -END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY general_property_relationship; - name : label; - description : OPTIONAL text; - relating_property : general_property; - related_property : general_property; - END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY feature_definition - SUPERTYPE OF (ONEOF ( - BOSS, - COMPOUND_FEATURE, - EXTERNALLY_DEFINED_FEATURE_DEFINITION, - FLAT_FACE, - GEAR, - MARKING, - OUTER_ROUND, - OUTSIDE_PROFILE, - POCKET, - PROTRUSION, - REMOVAL_VOLUME, - REPLICATE_FEATURE, - REVOLVED_PROFILE, - RIB_TOP, - ROUND_HOLE, - ROUNDED_END, - SPHERICAL_CAP, - STEP, - SLOT, - THREAD, - TURNED_KNURL) ) - SUBTYPE OF (characterized_object); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY instanced_feature - SUBTYPE OF (feature_definition, shape_aspect); -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF (SELF.of_shape.definition); - WR2: SELF.product_definitional; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY finite_integer_interval - SUBTYPE OF (maths_space, generic_literal); - min : INTEGER; - max : INTEGER; -DERIVE - size : positive_integer := max - min + 1; -WHERE - WR1: min <= max; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY sliding_curve_pair - SUBTYPE OF (planar_curve_pair); -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY explicit_procedural_shape_representation_relationship - SUBTYPE OF (explicit_procedural_representation_relationship); - SELF\representation_relationship.rep_1 : procedural_shape_representation; - SELF\representation_relationship.rep_2 : shape_representation; -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY indirectly_selected_shape_elements - SUBTYPE OF (indirectly_selected_elements, - user_selected_shape_elements); - SELF\indirectly_selected_elements.indirectly_picked_items : SET [1:?] OF shape_representation_item; -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY procedural_shape_representation - SUBTYPE OF (procedural_representation, shape_representation); - SELF\representation.items : - SET[1:?] OF procedural_shape_representation_sequence; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY finite_real_interval - SUBTYPE OF (maths_space, generic_literal); - min : REAL; - min_closure : open_closed; - max : REAL; - max_closure : open_closed; -WHERE - WR1: min < max; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -(* Pruned SUPERTYPE *) -ENTITY modified_solid - ABSTRACT SUPERTYPE OF (ONEOF ( - EDGE_BLENDED_SOLID, - SCULPTURED_SOLID, - SHELLED_SOLID, - MODIFIED_SOLID_WITH_PLACED_CONFIGURATION)) - SUBTYPE OF (solid_model); - rationale : text; - base_solid : base_solid_select; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY universal_pair_with_range - SUBTYPE OF (universal_pair); - lower_limit_first_rotation : OPTIONAL plane_angle_measure; - upper_limit_first_rotation : OPTIONAL plane_angle_measure; - lower_limit_second_rotation : OPTIONAL plane_angle_measure; - upper_limit_second_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_first_rotation) - OR - NOT EXISTS(upper_limit_first_rotation)) - XOR - (lower_limit_first_rotation < upper_limit_first_rotation); - WR2: (NOT EXISTS(lower_limit_second_rotation) - OR - NOT EXISTS(upper_limit_second_rotation)) - XOR - (lower_limit_second_rotation < upper_limit_second_rotation); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY conical_stepped_hole_transition - SUBTYPE OF (geometric_representation_item); - transition_number : positive_integer; - cone_apex_angle : plane_angle_measure; - cone_base_radius : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY double_offset_shelled_solid - SUBTYPE OF (shelled_solid); - thickness2 : length_measure; -WHERE - WR1: thickness2 <> 0; - WR2: SELF\shelled_solid.thickness <> thickness2; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY sculptured_solid - SUBTYPE OF (modified_solid); - sculpturing_element : generalized_surface_select; - positive_side : BOOLEAN; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY shelled_solid - SUPERTYPE OF (ONEOF ( - DOUBLE_OFFSET_SHELLED_SOLID, - COMPLEX_SHELLED_SOLID)) - SUBTYPE OF (modified_solid); - deleted_face_set : SET [1:?] OF face_surface; - thickness : length_measure; -WHERE - WR1: thickness <> 0; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_angle_based_chamfer - SUBTYPE OF (solid_with_chamfered_edges); - offset_distance : positive_length_measure; - left_offset : BOOLEAN; - offset_angle : positive_plane_angle_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_chamfered_edges - ABSTRACT SUPERTYPE OF (ONEOF ( - SOLID_WITH_SINGLE_OFFSET_CHAMFER, - SOLID_WITH_DOUBLE_OFFSET_CHAMFER, - SOLID_WITH_ANGLE_BASED_CHAMFER)) - SUBTYPE OF (edge_blended_solid); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY integer_interval_to_max - SUBTYPE OF (maths_space, generic_literal); - max : INTEGER; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_circular_pocket - SUBTYPE OF (solid_with_pocket); - pocket_radius: positive_length_measure; -WHERE - WR1: SELF\solid_with_pocket.floor_blend_radius <= pocket_radius; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_circular_protrusion - SUBTYPE OF (solid_with_protrusion); - protrusion_radius : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_conical_bottom_round_hole - SUBTYPE OF (solid_with_stepped_round_hole); - semi_apex_angle : positive_plane_angle_measure; - tip_radius : non_negative_length_measure; -WHERE - WR1 : tip_radius < - SELF\solid_with_stepped_round_hole.segment_radii[segments]; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_constant_radius_edge_blend - SUBTYPE OF (edge_blended_solid); - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_curved_slot - SUBTYPE OF (solid_with_slot); - slot_centreline : bounded_curve; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_double_offset_chamfer - SUBTYPE OF (solid_with_chamfered_edges); - left_offset_distance : positive_length_measure; - right_offset_distance : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_flat_bottom_round_hole - SUBTYPE OF (solid_with_stepped_round_hole); - fillet_radius : non_negative_length_measure; -WHERE - WR1 : fillet_radius < - SELF\solid_with_stepped_round_hole.segment_radii[segments]; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_general_pocket - SUBTYPE OF (solid_with_pocket); - profile : positioned_sketch; - reference_point : point; -WHERE - WR1: SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE'] * TYPEOF(profile.sketch_basis)) = 1; - WR2: profile IN using_items(reference_point,[]); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY uniform_product_space - SUBTYPE OF (maths_space, generic_literal); - base : maths_space; - exponent : positive_integer; -WHERE - WR1: expression_is_constant(base); - WR2: no_cyclic_space_reference(SELF, []); - WR3: base <> the_empty_space; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_groove - SUBTYPE OF (solid_with_depression); - groove_radius : positive_length_measure; - groove_width : positive_length_measure; - draft_angle : plane_angle_measure; - floor_fillet_radius : non_negative_length_measure; - external_groove : BOOLEAN; -WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' - IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_variable - SUBTYPE OF (generic_variable); - values_space : maths_space; - name : label; -WHERE - WR1: expression_is_constant(values_space); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY cylindrical_pair_with_range - SUBTYPE OF (cylindrical_pair); - lower_limit_actual_translation : OPTIONAL length_measure; - upper_limit_actual_translation : OPTIONAL length_measure; - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_translation) - OR - NOT EXISTS(upper_limit_actual_translation)) - XOR - (lower_limit_actual_translation < upper_limit_actual_translation); - WR2: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_rectangular_pocket - SUBTYPE OF (solid_with_pocket); - pocket_length : positive_length_measure; - pocket_width : positive_length_measure; - corner_radius : non_negative_length_measure; -WHERE - WR1: (corner_radius < pocket_width/2) - AND (corner_radius < pocket_length/2); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_rectangular_protrusion - SUBTYPE OF (solid_with_protrusion); - protrusion_length : positive_length_measure; - protrusion_width : positive_length_measure; - protrusion_corner_radius : non_negative_length_measure; -WHERE - WR1: (protrusion_corner_radius <= protrusion_width/2) - AND (protrusion_corner_radius <= protrusion_length/2); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_single_offset_chamfer - SUBTYPE OF (solid_with_chamfered_edges); - offset_distance : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_spherical_bottom_round_hole - SUBTYPE OF (solid_with_stepped_round_hole); - sphere_radius : positive_length_measure; -WHERE - WR1 : sphere_radius >= - SELF\solid_with_stepped_round_hole.segment_radii[segments]; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_stepped_round_hole -SUPERTYPE OF ( - SOLID_WITH_STEPPED_ROUND_HOLE_AND_CONICAL_TRANSITIONS - ANDOR ONEOF ( - SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE, - SOLID_WITH_CONICAL_BOTTOM_ROUND_HOLE, - SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE)) - -SUBTYPE OF (solid_with_hole); - segments : positive_integer; - segment_radii : LIST[1:segments] OF positive_length_measure; - segment_depths : LIST[1:segments] OF positive_length_measure; -DERIVE - SELF\solid_with_depression.depth - : positive_length_measure := compute_total_depth(SELF); -WHERE - WR1: NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' - IN TYPEOF(SELF)) AND (SIZEOF(TYPEOF(SELF) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_SPHERICAL_BOTTOM_ROUND_HOLE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_FLAT_BOTTOM_ROUND_HOLE']) - <> 0)); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY bound_variational_parameter - SUBTYPE OF (variational_parameter); -DERIVE - SELF\variational_parameter.parameter_current_value : maths_value := ?; -WHERE -WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUND_PARAMETER_ENVIRONMENT' - IN TYPEOF(SELF\generic_variable.interpretation); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_straight_slot - SUBTYPE OF (solid_with_slot); - slot_length : positive_length_measure; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_tee_section_slot - SUBTYPE OF (solid_with_slot); - tee_section_width : positive_length_measure; - collar_depth : positive_length_measure; -WHERE - WR1: collar_depth < SELF\solid_with_depression.depth; - WR2: tee_section_width > SELF\solid_with_slot.slot_width; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY maths_tuple_literal - SUBTYPE OF (generic_literal); - lit_value : LIST OF maths_value; -END_ENTITY; - -(* Implicit interfaced from: shape_tolerance_schema *) -ENTITY runout_zone_orientation; - angle : plane_angle_measure_with_unit; -END_ENTITY; -(* REFERENCE FROM (representation_schema); *) - ENTITY founded_item SUPERTYPE OF ( ( ONEOF ( - B_SPLINE_CURVE_KNOT_LOCATOR, - B_SPLINE_CURVE_SEGMENT, - B_SPLINE_SURFACE_KNOT_LOCATOR, - B_SPLINE_SURFACE_PATCH, - B_SPLINE_SURFACE_STRIP, - BOUNDARY_CURVE_OF_B_SPLINE_OR_RECTANGULAR_COMPOSITE_SURFACE, - BOX_DOMAIN, - CHARACTER_GLYPH_STYLE_OUTLINE, - CHARACTER_GLYPH_STYLE_STROKE, - COMPOSITE_CURVE_SEGMENT, - COMPOSITE_CURVE_TRANSITION_LOCATOR, - CURVE_STYLE, - CURVE_STYLE_FONT, - CURVE_STYLE_FONT_AND_SCALING, - CURVE_STYLE_FONT_PATTERN, - EXTERNALLY_DEFINED_STYLE, - FILL_AREA_STYLE, - INTERPOLATED_CONFIGURATION_SEGMENT, - KINEMATIC_PATH_SEGMENT, - PLANE_ANGLE_AND_LENGTH_PAIR, - PLANE_ANGLE_AND_RATIO_PAIR, - POINT_STYLE, - PRESENTATION_STYLE_ASSIGNMENT, - RECTANGULAR_COMPOSITE_SURFACE_TRANSITION_LOCATOR, - SURFACE_PATCH, - SURFACE_SIDE_STYLE, - SURFACE_STYLE_BOUNDARY, - SURFACE_STYLE_CONTROL_GRID, - SURFACE_STYLE_FILL_AREA, - SURFACE_STYLE_PARAMETER_LINE, - SURFACE_STYLE_SEGMENTATION_CURVE, - SURFACE_STYLE_SILHOUETTE, - SURFACE_STYLE_USAGE, - SYMBOL_STYLE, - TEXT_STYLE, - VIEW_VOLUME) )ANDOR( ONEOF ( - CHARACTER_GLYPH_STYLE_OUTLINE, - CHARACTER_GLYPH_STYLE_STROKE, - CURVE_STYLE, - CURVE_STYLE_FONT, - CURVE_STYLE_FONT_AND_SCALING, - CURVE_STYLE_FONT_PATTERN, - EXTERNALLY_DEFINED_STYLE, - FILL_AREA_STYLE, - POINT_STYLE, - PRESENTATION_STYLE_ASSIGNMENT, - SURFACE_SIDE_STYLE, - SURFACE_STYLE_BOUNDARY, - SURFACE_STYLE_CONTROL_GRID, - SURFACE_STYLE_FILL_AREA, - SURFACE_STYLE_PARAMETER_LINE, - SURFACE_STYLE_SEGMENTATION_CURVE, - SURFACE_STYLE_SILHOUETTE, - SURFACE_STYLE_USAGE, - SYMBOL_STYLE, - TEXT_STYLE) ) ) ; - DERIVE - users : SET[0:?] OF founded_item_select := using_items(SELF,[]); - WHERE - WR1: SIZEOF(users) > 0; - WR2: NOT(SELF IN users); - END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY unbound_parameter_environment - SUBTYPE OF (environment); -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN - TYPEOF(SELF\environment.syntactic_representation)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER_SEMANTICS' IN - TYPEOF(SELF\environment.semantics)); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY instance_attribute_reference - SUBTYPE OF (variable_semantics); - attribute_name : attribute_identifier; - owning_instance : representation_item; -END_ENTITY; -(* USED FROM (person_organization_schema); *) - ENTITY organizational_project; - name : label; - description : OPTIONAL text; - responsible_organizations : SET [1:?] OF organization; - DERIVE - id : identifier := get_id_value(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY unbound_variational_parameter_semantics - SUBTYPE OF (variable_semantics); -END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY material_designation_characterization; - name : label; - description : text; - designation : material_designation; - property : characterized_material_property; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY cylindrical_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (material_property_representation_schema); *) -ENTITY data_environment; - name : label; - description : text; - elements : SET [1:?] OF property_definition_representation; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY screw_pair_with_range - SUBTYPE OF (screw_pair); - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY character_glyph_style_stroke - SUBTYPE OF (founded_item); - stroke_style : curve_style; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY character_glyph_style_outline - SUBTYPE OF (founded_item); - outline_style : curve_style; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style - SUBTYPE OF (founded_item); - name : label; - character_appearance : character_style_select; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_with_spacing - SUBTYPE OF (text_style); - character_spacing : character_spacing_select; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_extent - SUBTYPE OF (composite_text); - extent : planar_extent; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_delineation - SUBTYPE OF (composite_text); - delineation : text_delineation; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_blanking_box - SUBTYPE OF (composite_text); - blanking : planar_box; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY defined_character_glyph - SUBTYPE OF(geometric_representation_item); - definition : defined_glyph_select; - placement : axis2_placement; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY pre_defined_character_glyph - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY externally_defined_character_glyph - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY auxiliary_geometric_representation_item - SUBTYPE OF (geometric_representation_item, - variational_representation_item); -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_extent - SUBTYPE OF (text_literal); - extent : planar_extent; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_delineation - SUBTYPE OF (text_literal); - delineation : text_delineation; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_blanking_box - SUBTYPE OF (text_literal); - blanking : planar_box; - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY colour_rgb - SUBTYPE OF (colour_specification); - red : REAL; - green : REAL; - blue : REAL; -WHERE - WR1: {0.0 <= red <= 1.0}; - WR2: {0.0 <= green <= 1.0}; - WR3: {0.0 <= blue <= 1.0}; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY draughting_pre_defined_text_font - SUBTYPE of (pre_defined_text_font); -WHERE - WR1: SELF.name[1:8] = 'ISO 3098'; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY externally_defined_text_font - SUBTYPE OF (externally_defined_item); -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY pre_defined_colour - SUBTYPE OF (pre_defined_item, colour); -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY pre_defined_text_font - SUBTYPE OF (pre_defined_item); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY right_circular_cylinder - SUBTYPE OF (geometric_representation_item); - position : axis1_placement; - height : positive_length_measure; - radius : positive_length_measure; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_text - SUBTYPE OF (mapped_item); - SELF\mapped_item.mapping_target : axis2_placement; - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STRING_REPRESENTATION' IN - TYPEOF( SELF\mapped_item.mapping_source.mapped_representation); - WR2: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF( SELF); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_text_occurrence - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : annotation_text_occurrence_item; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_curve_occurrence - SUPERTYPE OF ((ONEOF ( - DIMENSION_CURVE, - LEADER_CURVE, - PROJECTION_CURVE)) ) - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : curve_or_curve_set; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY torus - SUBTYPE OF (geometric_representation_item); - position : axis1_placement; - major_radius : positive_length_measure; - minor_radius : positive_length_measure; -WHERE - WR1: major_radius > minor_radius; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style - SUBTYPE OF (founded_item); - name : label; - curve_font : curve_font_or_scaled_curve_font_select; - curve_width : size_select; - curve_colour : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_for_defined_font; - text_colour : colour; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -(* Pruned SUPERTYPE *) -ENTITY swept_face_solid - SUPERTYPE OF (ONEOF ( - EXTRUDED_FACE_SOLID, - REVOLVED_FACE_SOLID)) - SUBTYPE OF (solid_model); - swept_face : face_surface; -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(swept_face.face_geometry); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_with_mirror - SUBTYPE OF (text_style); - mirror_placement : axis2_placement; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY revolved_face_solid - SUBTYPE OF (swept_face_solid); - axis : axis1_placement; - angle : plane_angle_measure; -DERIVE - axis_line : line := representation_item('')|| geometric_representation_item()|| curve()|| line(axis.location, representation_item('')|| geometric_representation_item()|| vector(axis.z, 1.0)); -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_font_usage; - character : generic_character_glyph_symbol; - font : text_font; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_symbol - SUBTYPE OF (generic_character_glyph_symbol); - character_box : planar_extent; - baseline_ratio : ratio_measure; -DERIVE - box_height : length_measure := character_box.size_in_y; -WHERE - WR1: {0.0 <= baseline_ratio <= 1.0}; - WR2: item_in_context(SELF.character_box, - SELF\representation.context_of_items); - WR3: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' - IN TYPEOF (SELF.box_height); -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_symbol_outline - SUBTYPE OF (character_glyph_symbol); - outlines : SET [1:?] OF annotation_fill_area; -WHERE - WR1: SELF.outlines <= SELF\representation.items; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY character_glyph_symbol_stroke - SUBTYPE OF (character_glyph_symbol); - strokes : SET [1:?] OF curve; -WHERE - WR1: SELF.strokes <= SELF\representation.items; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY generic_character_glyph_symbol - ABSTRACT SUPERTYPE - SUBTYPE OF (symbol_representation); -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY text_font; - id : identifier; - name : label; - description : text; -INVERSE - glyphs : SET [1:?] OF character_glyph_font_usage FOR font; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY text_font_family; - id : identifier; - name : label; - description : text; -INVERSE - fonts : SET [1:?] OF text_font_in_family FOR family; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY text_font_in_family; - font : text_font; - family : text_font_family; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY thickened_face_solid - SUBTYPE OF (solid_model); - base_element : generalized_surface_select; - offset1 : length_measure; - offset2 : length_measure; -WHERE - WR1: NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF(base_element)) AND - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(base_element)))); - WR2: offset1 <> offset2; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY actuated_kinematic_pair - SUBTYPE OF (kinematic_pair); - t_x : OPTIONAL actuated_direction; - t_y : OPTIONAL actuated_direction; - t_z : OPTIONAL actuated_direction; - r_x : OPTIONAL actuated_direction; - r_y : OPTIONAL actuated_direction; - r_z : OPTIONAL actuated_direction; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY low_order_kinematic_pair_with_range - SUBTYPE OF (low_order_kinematic_pair); - lower_limit_actual_rotation_x : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_x : OPTIONAL plane_angle_measure; - lower_limit_actual_rotation_y : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_y : OPTIONAL plane_angle_measure; - lower_limit_actual_rotation_z : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation_z : OPTIONAL plane_angle_measure; - lower_limit_actual_translation_x : OPTIONAL length_measure; - upper_limit_actual_translation_x : OPTIONAL length_measure; - lower_limit_actual_translation_y : OPTIONAL length_measure; - upper_limit_actual_translation_y : OPTIONAL length_measure; - lower_limit_actual_translation_z : OPTIONAL length_measure; - upper_limit_actual_translation_z : OPTIONAL length_measure; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_planar_intersection_point - SUBTYPE OF (implicit_point_on_plane); - external_curve : curve; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_planar_projection_point - SUBTYPE OF (implicit_point_on_plane); - external_point : point; - projection_direction : direction; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_planar_curve - ABSTRACT SUPERTYPE OF (ONEOF ( - IMPLICIT_INTERSECTION_CURVE, - IMPLICIT_PROJECTED_CURVE, - IMPLICIT_MODEL_INTERSECTION_CURVE, - IMPLICIT_SILHOUETTE_CURVE)) - SUBTYPE OF (curve, auxiliary_geometric_representation_item); - using_sketch : positioned_sketch; - computed_representation : curve; -DERIVE - curve_plane : plane - := get_plane_of_implicit_geometry(using_sketch); -WHERE - WR1: SIZEOF(TYPEOF(computed_representation) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.IMPLICIT_PLANAR_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA']) = 0; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_intersection_curve - SUBTYPE of (implicit_planar_curve); - external_surface : surface; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_projected_curve - SUBTYPE of (implicit_planar_curve); - external_curve : curve; - projection_direction : direction; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_model_intersection_curve - SUBTYPE of (implicit_planar_curve); - intersected_model : surface_or_solid_model; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_silhouette_curve - SUBTYPE of (implicit_planar_curve); - silhouetted_model : surface_or_solid_model; - view_direction : direction; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY interpolated_configuration_representation - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context_with_parameter; - SELF\representation.items : SET[1:?] OF interpolated_configuration_sequence; -END_ENTITY; -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY constrained_kinematic_motion_representation - SUBTYPE OF (representation_relationship_with_transformation); -SELF\representation_relationship.rep_1: - representative_shape_representation; -SELF\representation_relationship.rep_2: - representative_shape_representation; -WHERE -WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2)); -WR2: ((dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_1) = 3 ) AND - (dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_2) = 3 )); -WR3:(SELF\representation_relationship.rep_1 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1))) AND - (SELF\representation_relationship.rep_2 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2))); -WR4: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KINEMATIC_PAIR' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator); -END_ENTITY; -- constrained_kinematic_motion_representation -(* USED FROM (sketch_schema); *) -ENTITY repositioned_neutral_sketch - SUBTYPE OF (mapped_item, geometric_representation_item); -DERIVE - map : representation_map := SELF\mapped_item.mapping_source; -WHERE - WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' - IN TYPEOF(map.mapped_representation); - WR2 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D' IN - TYPEOF(map.mapping_origin); - WR3 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN - TYPEOF(SELF\mapped_item.mapping_target); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY kinematic_pair - ABSTRACT SUPERTYPE OF (ONEOF ( - HIGH_ORDER_KINEMATIC_PAIR, - LOW_ORDER_KINEMATIC_PAIR_WITH_MOTION_COUPLING, - LOW_ORDER_KINEMATIC_PAIR) - ANDOR - ACTUATED_KINEMATIC_PAIR) - SUBTYPE OF (geometric_representation_item, item_defined_transformation); - joint : kinematic_joint; - SELF\item_defined_transformation.transform_item_1 : rigid_placement; - SELF\item_defined_transformation.transform_item_2 : rigid_placement; -DERIVE - associated_link_representations_1 : SET[1:?] OF kinematic_link_representation := - sort_link_associations(link_representation_associations, TRUE); - associated_link_representations_2 : SET[1:?] OF kinematic_link_representation := - sort_link_associations(link_representation_associations, FALSE); - SELF\item_defined_transformation.name : label := SELF\representation_item.name; -INVERSE - link_representation_associations : SET[1:?] OF pair_representation_relationship FOR transformation_operator; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY su_parameters - SUBTYPE OF (geometric_representation_item); - a : length_measure; - alpha : plane_angle_measure; - b : length_measure; - beta : plane_angle_measure; - c : length_measure; - gamma : plane_angle_measure; -WHERE - WR1: SELF\geometric_representation_item.dim=3; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY rigid_subsketch - SUBTYPE OF (subsketch); -END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY externally_defined_marker - SUBTYPE OF (externally_defined_symbol, pre_defined_marker); - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY externally_defined_terminator_symbol - SUBTYPE OF (externally_defined_symbol); - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY pre_defined_point_marker_symbol - SUBTYPE OF (pre_defined_marker, pre_defined_symbol); - WHERE - WR1: SELF.name IN ['asterisk','circle','dot','plus','square','triangle','x']; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY event_occurrence_assignment - ABSTRACT SUPERTYPE; - assigned_event_occurrence : event_occurrence; - role : event_occurrence_role; - END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY organizational_project_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (Curve_appearance_mim); *) - ENTITY user_defined_terminator_symbol - SUBTYPE OF (mapped_item, pre_defined_symbol); - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY link_motion_relationship - SUBTYPE OF (definitional_representation_relationship, representation_relationship_with_transformation); - SELF\representation_relationship.rep_1 : link_or_shape_representation; - SELF\representation_relationship.rep_2 : link_motion_representation_along_path; - SELF\representation_relationship_with_transformation.transformation_operator : link_motion_transformation; -WHERE - WR1: transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items; - WR2: transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items; -END_ENTITY; -(* USED FROM (Styled_curve_mim); *) - ENTITY solid_curve_font - SUBTYPE OF (pre_defined_curve_font); - END_ENTITY; -(* USED FROM (Styled_curve_mim); *) - ENTITY user_defined_curve_font - SUBTYPE OF (curve_style_font, mapped_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_font - SUBTYPE OF (founded_item); - name : label; - pattern_list : LIST [1:?] OF curve_style_font_pattern; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY draughting_pre_defined_curve_font - SUBTYPE OF (pre_defined_curve_font); - WHERE - WR1: SELF.name IN - ['continuous', - 'chain', - 'chain double dash', - 'dashed', - 'dotted']; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY point_style - SUBTYPE OF (founded_item); - name : label; - marker : marker_select; - marker_size : size_select; - marker_colour : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_curve_font - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_marker - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY geometric_representation_context_with_parameter - SUBTYPE OF (geometric_representation_context); - parameter_unit : OPTIONAL unit; -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY kinematic_property_topology_representation - SUBTYPE OF (kinematic_property_definition_representation); - SELF\property_definition_representation.used_representation : kinematic_topology_representation_select; - base : kinematic_link; -WHERE - WR1: used_representation IN using_representations(base); -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY product_definition_kinematics - SUBTYPE OF (property_definition); - SELF\property_definition.definition : product_definition; -INVERSE - representation_relation : kinematic_property_definition_representation FOR definition; -UNIQUE - UR1 : definition; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path_defined_by_nodes - SUBTYPE OF (kinematic_path); - SELF\kinematic_path.segments : LIST [1:?] OF path_node; - placement_start : placement; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY linear_flexible_link_representation - SUBTYPE OF (kinematic_link_representation); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY kinematic_link_representation - ABSTRACT SUPERTYPE OF (ONEOF ( - LINEAR_FLEXIBLE_LINK_REPRESENTATION, - RIGID_LINK_REPRESENTATION)) - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context; - SELF\representation.items : SET[1:?] OF kinematic_link_representation_items; - represented_link : kinematic_link; -INVERSE - associated_shape_representation : SET[0:1] OF -- LK - kinematic_link_representation_association FOR rep_1; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rigid_link_representation - SUBTYPE OF (kinematic_link_representation); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY int_value_function -SUBTYPE OF (value_function); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY tan_function -SUBTYPE OF (unary_function_call); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY unary_function_call - ABSTRACT SUPERTYPE OF (ONEOF ( - ABS_FUNCTION, - MINUS_FUNCTION, - SIN_FUNCTION, - COS_FUNCTION, - TAN_FUNCTION, - ASIN_FUNCTION, - ACOS_FUNCTION, - EXP_FUNCTION, - LOG_FUNCTION, - LOG2_FUNCTION, - LOG10_FUNCTION, - SQUARE_ROOT_FUNCTION)) - -SUBTYPE OF (unary_numeric_expression); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path_segment - ABSTRACT SUPERTYPE OF (ONEOF ( - PATH_NODE, - CURVE_BASED_PATH_WITH_ORIENTATION)) - SUBTYPE OF (founded_item); - t_end : parameter_value; - transition : transition_code; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path_defined_by_curves - SUBTYPE OF (kinematic_path); - SELF\kinematic_path.segments : LIST [1:?] OF curve_based_path_with_orientation; -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configurable_item - SUBTYPE OF (configuration_item); - item_concept_feature : SET[1:?] OF product_concept_feature_association; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_wire - SUBTYPE OF (tessellated_item); - items : SET[1:?] OF tessellated_edge_or_vertex; - geometric_model_link : OPTIONAL path_or_composite_curve; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_curve_set - SUBTYPE OF (tessellated_item); - coordinates : coordinates_list; - line_strips : LIST[1:?] OF LIST[2:?] OF INTEGER; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY path_parameter_representation - SUBTYPE OF (definitional_representation); - SELF\representation.context_of_items : path_parameter_representation_context; - SELF\representation.items : SET[1:?] OF bounded_curve; -WHERE - WR1: SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY numeric_defined_function - ABSTRACT SUPERTYPE OF (ONEOF ( - INTEGER_DEFINED_FUNCTION, - REAL_DEFINED_FUNCTION)) - -SUBTYPE OF (numeric_expression, defined_function); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY real_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (numeric_defined_function); -END_ENTITY ; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_point_set - SUBTYPE OF (tessellated_item); - coordinates : coordinates_list; - point_list : LIST[1:?] OF INTEGER; -END_ENTITY; -(* USED FROM (Certification_mim); *) -ENTITY applied_certification_assignment - SUBTYPE OF (certification_assignment); - items : SET[1:?] OF certification_item; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY path_node - ABSTRACT SUPERTYPE OF (ONEOF ( - POINT_TO_POINT_PATH, - CIRCULAR_PATH, - LINEAR_PATH, - CURVE_BASED_PATH)) - SUBTYPE OF (kinematic_path_segment); - placement_end : placement; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY point_to_point_path - SUBTYPE OF (path_node); -DERIVE - SELF\kinematic_path_segment.transition : transition_code := discontinuous; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -(* Pruned SUPERTYPE *) -ENTITY unary_numeric_expression - ABSTRACT SUPERTYPE - -SUBTYPE OF (numeric_expression, unary_generic_expression); - SELF\unary_generic_expression.operand : numeric_expression; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY universal_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : universal_pair; - first_rotation_angle : plane_angle_measure; - second_rotation_angle : plane_angle_measure; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY planar_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : planar_pair; - actual_rotation : plane_angle_measure; - actual_translation_x : length_measure; - actual_translation_y : length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY complex_triangulated_face - SUBTYPE OF (tessellated_face); - pnindex : LIST[0:?] OF INTEGER; - triangle_strips : LIST[0:?] OF LIST[3:?] OF INTEGER; - triangle_fans : LIST[0:?] OF LIST[3:?] OF INTEGER; -WHERE - WR1: ((SIZEOF(pnindex) = 0) OR (SIZEOF(pnindex) = SELF\tessellated_face.pnmax)); - WR2: NOT((SIZEOF(pnindex) = 0) AND (SELF\tessellated_face.pnmax <> coordinates.npoints)); - WR3: NOT ((SIZEOF(triangle_strips) = 0) AND (SIZEOF(triangle_fans) = 0)); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY circular_path - SUBTYPE OF (path_node); - via_point : cartesian_point; -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY tessellated_annotation_occurrence - SUBTYPE OF (annotation_occurrence); - SELF\styled_item.item : tessellated_geometric_set; - END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY gear_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : gear_pair; - actual_rotation_1 : plane_angle_measure; -DERIVE - actual_rotation_2 : plane_angle_measure - := - actual_rotation_1 * - SELF\pair_value.applies_to_pair\ - gear_pair.gear_ratio; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY linear_path - SUBTYPE OF (path_node); -DERIVE - SELF\kinematic_path_segment.transition : transition_code := continuous; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY generic_literal - ABSTRACT SUPERTYPE - -SUBTYPE OF (simple_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY generic_variable - ABSTRACT SUPERTYPE - -SUBTYPE OF (simple_generic_expression); -INVERSE - interpretation : - environment FOR syntactic_representation; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY multiple_arity_generic_expression - ABSTRACT SUPERTYPE - -SUBTYPE OF(generic_expression); - operands: LIST [2:?] OF generic_expression; -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY simple_generic_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - GENERIC_LITERAL, - GENERIC_VARIABLE)) - -SUBTYPE OF (generic_expression); -END_ENTITY; -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY unary_generic_expression - ABSTRACT SUPERTYPE - -SUBTYPE OF(generic_expression); - operand: generic_expression; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY curve_based_path_with_orientation_and_parameters - SUBTYPE OF (curve_based_path_with_orientation); - parameters : path_parameter_representation; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY variable - ABSTRACT SUPERTYPE OF (ONEOF ( - NUMERIC_VARIABLE, - BOOLEAN_VARIABLE, - STRING_VARIABLE)) - -SUBTYPE OF(generic_variable); -END_ENTITY; -(* USED FROM (Functional_breakdown_mim); *) - ENTITY functional_breakdown_context - SUBTYPE OF (breakdown_context); - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY format_function -SUBTYPE OF (string_expression, binary_generic_expression); -DERIVE - value_to_format: generic_expression:= - SELF\binary_generic_expression.operands[1]; - format_string:generic_expression:= - SELF\binary_generic_expression.operands[2]; -WHERE - WR1: (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION') - IN TYPEOF(value_to_format)) - AND (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION') - IN TYPEOF(format_string)); -END_ENTITY; -(* USED FROM (Functional_breakdown_mim); *) - ENTITY functional_element_usage - SUBTYPE OF (breakdown_element_usage); - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY interval_expression -SUBTYPE OF (boolean_expression, multiple_arity_generic_expression) ; -DERIVE - interval_low: generic_expression - := SELF\multiple_arity_generic_expression.operands[1]; - interval_item:generic_expression - := SELF\multiple_arity_generic_expression.operands[2]; - interval_high:generic_expression - := SELF\multiple_arity_generic_expression.operands[3]; -WHERE - WR1:('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPRESSION' - IN TYPEOF(interval_low)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPRESSION' - IN TYPEOF(interval_item) ) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPRESSION' - IN TYPEOF(interval_high)); - WR2:(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF (SELF.interval_low)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF (SELF.interval_high)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF (SELF.interval_item))) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(SELF.interval_low)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(SELF.interval_item)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(SELF.interval_high))); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY like_expression -SUBTYPE OF (comparison_expression); -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(SELF\binary_generic_expression.operands[1])) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(SELF\binary_generic_expression.operands[2])); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY simple_string_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - STRING_LITERAL, - STRING_VARIABLE)) - -SUBTYPE OF (string_expression, simple_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY SQL_mappable_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (defined_function); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (defined_function, string_expression); -END_ENTITY ; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_STRING_EXPRESSION, - INDEX_EXPRESSION, - SUBSTRING_EXPRESSION, - CONCAT_EXPRESSION, - FORMAT_FUNCTION, - STRING_DEFINED_FUNCTION)) - -SUBTYPE OF (expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_literal -SUBTYPE OF (simple_string_expression, generic_literal); - the_value: STRING; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY string_variable -SUBTYPE OF (simple_string_expression, variable); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY substring_expression -SUBTYPE OF (string_expression, multiple_arity_generic_expression); -DERIVE - operand:generic_expression:= - SELF\multiple_arity_generic_expression.operands[1]; - index1:generic_expression:= - SELF\multiple_arity_generic_expression.operands[2]; - index2:generic_expression:= - SELF\multiple_arity_generic_expression.operands[3]; -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(operand)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(index1)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(index2)); - WR2: SIZEOF(SELF\multiple_arity_generic_expression.operands)=3; - WR3: is_int_expr (index1); - WR4: is_int_expr (index2); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_NUMERIC_EXPRESSION, - UNARY_NUMERIC_EXPRESSION, - BINARY_NUMERIC_EXPRESSION, - MULTIPLE_ARITY_NUMERIC_EXPRESSION, - LENGTH_FUNCTION, - VALUE_FUNCTION, - NUMERIC_DEFINED_FUNCTION)) - -SUBTYPE OF (expression); -DERIVE - is_int: BOOLEAN := is_int_expr (SELF); - sql_mappable: BOOLEAN := is_SQL_mappable (SELF); -END_ENTITY; -(* USED FROM (Part_template_shape_with_parameters_mim); *) - ENTITY geometric_template - ABSTRACT SUPERTYPE - SUBTYPE OF (part_template_definition); - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_element_usage - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Packaged_connector_model_mim); *) -ENTITY packaged_connector_terminal_relationship - SUBTYPE OF (shape_aspect, shape_aspect_relationship); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY vector - SUBTYPE OF (geometric_representation_item); - orientation : direction; - magnitude : length_measure; -WHERE - WR1: magnitude >= 0.0; -END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY product_definition_element_relationship - SUBTYPE OF (group); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_tile_style - SUBTYPE OF (externally_defined_item, geometric_representation_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_hatching - SUBTYPE OF (geometric_representation_item); - hatch_line_appearance : curve_style; - start_of_next_hatch_line : one_direction_repeat_factor; - point_of_reference_hatch_line : cartesian_point; - pattern_start : cartesian_point; - hatch_line_angle : plane_angle_measure; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tiles - SUBTYPE OF (geometric_representation_item); - tiling_pattern : two_direction_repeat_factor; - tiles : SET [1:?] OF fill_area_style_tile_shape_select; - tiling_scale : positive_ratio_measure; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tile_symbol_with_style - SUBTYPE OF (geometric_representation_item); - symbol : annotation_symbol_occurrence; - END_ENTITY; -(* USED FROM (Part_template_3d_shape_mim); *) -ENTITY edge_segment_cross_section - SUBTYPE OF (shape_definition_3d_intersection); -END_ENTITY; -(* USED FROM (Part_template_3d_shape_mim); *) -ENTITY inter_stratum_feature_edge_segment_template_with_cross_section - SUBTYPE OF (inter_stratum_feature_edge_segment_template); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY spherical_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : spherical_pair_select; - input_orientation : spatial_rotation; -DERIVE - actual_orientation : ypr_rotation - := convert_spatial_to_ypr_rotation - (SELF\pair_value.applies_to_pair, - input_orientation); -END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY exclusive_product_concept_feature_category - SUBTYPE OF (product_concept_feature_category); -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_reference - SUBTYPE OF (generic_product_definition_reference); - product_id : identifier; - product_definition_formation_id : identifier; - product_definition_id : identifier; - id_owning_organization_name : OPTIONAL label; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY simple_numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - LITERAL_NUMBER, - NUMERIC_VARIABLE)) - -SUBTYPE OF (numeric_expression, simple_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY simple_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - BOOLEAN_LITERAL, - BOOLEAN_VARIABLE)) - -SUBTYPE OF (boolean_expression, simple_generic_expression); -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY low_order_kinematic_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : low_order_kinematic_pair; - actual_translation_x : length_measure; - actual_translation_y : length_measure; - actual_translation_z : length_measure; - actual_rotation_x : plane_angle_measure; - actual_rotation_y : plane_angle_measure; - actual_rotation_z : plane_angle_measure; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY year_month - SUBTYPE OF (date); - month_component : month_in_year_number; -END_ENTITY; -(* USED FROM (Part_feature_location_mim); *) - ENTITY usage_concept_usage_relationship - SUBTYPE OF (mapped_item, item_identified_representation_usage); - SELF\item_identified_representation_usage.used_representation : shape_representation; - SELF\item_identified_representation_usage.definition : shape_aspect; - DERIVE - SELF\item_identified_representation_usage.identified_item : usage_concept_usage_relationship := SELF; - WHERE - WR1: SELF IN SELF\item_identified_representation_usage.used_representation.items; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY power_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document; - id : identifier; - name : label; - description : OPTIONAL text; - kind : document_type; - INVERSE - representation_types : SET [0:?] OF document_representation_type FOR represented_document; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY real_numeric_variable -SUBTYPE OF (numeric_variable); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY plus_expression -SUBTYPE OF (multiple_arity_numeric_expression); -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY product_definition_usage - SUPERTYPE OF (ONEOF ( - MAKE_FROM_USAGE_OPTION, - ASSEMBLY_COMPONENT_USAGE)) - SUBTYPE OF (product_definition_relationship); -UNIQUE - UR1: SELF\product_definition_relationship.id, - SELF\product_definition_relationship.relating_product_definition, - SELF\product_definition_relationship.related_product_definition; -WHERE - WR1: acyclic_product_definition_relationship - (SELF, - [SELF\product_definition_relationship.related_product_definition], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_USAGE'); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY or_expression -SUBTYPE OF (multiple_arity_boolean_expression); -END_ENTITY; -(* USED FROM (product_property_definition_schema); *) - ENTITY product_definition_shape - SUBTYPE OF (property_definition); - UNIQUE - UR1: SELF\property_definition.definition; - WHERE - WR1: SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_PRODUCT_DEFINITION', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_OBJECT'] * TYPEOF(SELF\property_definition.definition)) > 0; - END_ENTITY; -(* USED FROM (product_property_representation_schema); *) - ENTITY chain_based_item_identified_representation_usage - SUBTYPE OF (item_identified_representation_usage); - nodes : LIST [2:?] OF UNIQUE representation; - - undirected_link : LIST [1:?] OF chained_representation_link; - DERIVE - root : representation := nodes[1]; - - SELF\item_identified_representation_usage.used_representation : representation := nodes[HIINDEX(nodes)]; -- leaf : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - directed_link : LIST [1:?] OF representation_relationship := get_directed_link(nodes, undirected_link); - leaf : REPRESENTATION := SELF\item_identified_representation_usage.used_representation; -- USED_REPRESENTATION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - WHERE - WR1 : EXISTS(directed_link); - END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY product_class - SUBTYPE OF (product_concept,characterized_object); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_surface_with_knots - SUBTYPE OF (b_spline_surface); - u_multiplicities : LIST[2:?] OF INTEGER; - v_multiplicities : LIST[2:?] OF INTEGER; - u_knots : LIST[2:?] OF parameter_value; - v_knots : LIST[2:?] OF parameter_value; - knot_spec : knot_type; -DERIVE - knot_u_upper : INTEGER := SIZEOF(u_knots); - knot_v_upper : INTEGER := SIZEOF(v_knots); -WHERE - WR1: constraints_param_b_spline(SELF\b_spline_surface.u_degree, knot_u_upper, SELF\b_spline_surface.u_upper, u_multiplicities, u_knots); - WR2: constraints_param_b_spline(SELF\b_spline_surface.v_degree, knot_v_upper, SELF\b_spline_surface.v_upper, v_multiplicities, v_knots); - WR3: SIZEOF(u_multiplicities) = knot_u_upper; - WR4: SIZEOF(v_multiplicities) = knot_v_upper; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY not_expression -SUBTYPE OF (unary_Boolean_expression); -SELF\unary_generic_expression.operand: boolean_expression; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY degenerate_toroidal_surface - SUBTYPE OF (toroidal_surface); - select_outer : BOOLEAN; -WHERE - WR1: major_radius < minor_radius; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY multiple_arity_numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - PLUS_EXPRESSION, - MULT_EXPRESSION, - MULTIPLE_ARITY_FUNCTION_CALL)) - -SUBTYPE OF (numeric_expression, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF numeric_expression; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY complex_number_literal_polar - SUBTYPE OF (complex_number_literal); - modulus : REAL; -- was radius - argument : REAL; -- was angle -DERIVE - SELF\complex_number_literal.real_part : REAL := modulus * cos(argument); - SELF\complex_number_literal.imag_part : REAL := modulus * sin(argument); -WHERE - WR1: modulus >= 0; - WR2: {0 <= argument <= 2*PI}; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY revolute_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : revolute_pair; - actual_rotation : plane_angle_measure ; -END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY conditional_concept_feature - SUBTYPE OF (product_concept_feature); - condition : concept_feature_relationship_with_condition; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY sliding_surface_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : sliding_surface_pair; - actual_point_on_surface_1 : point_on_surface; - actual_point_on_surface_2 : point_on_surface; - actual_rotation : plane_angle_measure; -WHERE - WR1: SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: - actual_point_on_surface_1.basis_surface; - WR2: SELF\pair_value.applies_to_pair\surface_pair.surface_2 :=: - actual_point_on_surface_2.basis_surface; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY rolling_surface_pair_value - SUBTYPE OF (pair_value); - SELF\pair_value.applies_to_pair : rolling_surface_pair; - actual_point_on_surface : point_on_surface; - actual_rotation : plane_angle_measure; -WHERE - WR1: SELF\pair_value.applies_to_pair\surface_pair.surface_1 :=: - actual_point_on_surface.basis_surface; -END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept_feature; - id : identifier; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY brep_with_voids - SUBTYPE OF (manifold_solid_brep); - voids : SET[1:?] OF oriented_closed_shell; -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY closed_shell - SUBTYPE OF (connected_face_set); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY oriented_closed_shell - SUBTYPE OF (closed_shell); - closed_shell_element : closed_shell; - orientation : BOOLEAN; - DERIVE - SELF\connected_face_set.cfs_faces : SET [1:?] OF face - := conditional_reverse(SELF.orientation, - SELF.closed_shell_element.cfs_faces); - WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' - IN TYPEOF (SELF.closed_shell_element)); - END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY concept_feature_operator; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY effectivity_context_assignment - ABSTRACT SUPERTYPE; - assigned_effectivity_assignment : effectivity_assignment; - role : effectivity_context_role; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY mult_expression -SUBTYPE OF (multiple_arity_numeric_expression); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY swept_disk_solid - SUBTYPE OF (solid_model); - directrix : curve; - radius : positive_length_measure; - inner_radius : OPTIONAL positive_length_measure; - start_param : REAL; - end_param : REAL; -WHERE - WR1: directrix.dim = 3; - WR2: (NOT EXISTS(inner_radius)) OR (radius > inner_radius); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_pcurve - SUBTYPE OF (bounded_curve, pcurve); -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF(SELF\pcurve.reference_to_curve.items[1])); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY bounded_surface_curve - SUBTYPE OF (bounded_curve, surface_curve); -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE' IN TYPEOF(SELF\surface_curve.curve_3d)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY evaluated_degenerate_pcurve - SUBTYPE OF (degenerate_pcurve); - equivalent_point : cartesian_point; -END_ENTITY; -(* USED FROM (kinematic_state_schema); *) -ENTITY mechanism_state_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF pair_value; - represented_mechanism : mechanism_representation; -DERIVE - SELF\representation.context_of_items : geometric_representation_context := represented_mechanism.context_of_items; -END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept; - id : identifier; - name : label; - description : OPTIONAL text; - market_context : product_concept_context; -UNIQUE - UR1: id; -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_definition_substitute; - description : OPTIONAL text; - context_relationship : product_definition_relationship; - substitute_definition : product_definition; - DERIVE - name : label := get_name_value(SELF); - WHERE - WR1: context_relationship.related_product_definition :<>: substitute_definition; - WR2: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1; - END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY seam_curve - SUBTYPE OF (surface_curve); -WHERE - WR1: SIZEOF(SELF\surface_curve.associated_geometry) = 2; - WR2: associated_surface(SELF\surface_curve.associated_geometry[1]) = associated_surface(SELF\surface_curve.associated_geometry[2]); - WR3: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(SELF\surface_curve.associated_geometry[1]); - WR4: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(SELF\surface_curve.associated_geometry[2]); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY minus_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (application_context_schema); *) - ENTITY product_concept_context - SUBTYPE OF (application_context_element); - market_segment_type : label; - END_ENTITY; -(* USED FROM (document_schema); *) - ENTITY document_usage_constraint; - source : document; - subject_element : label; - subject_element_value : text; - END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY included_text_block - SUBTYPE of (mapped_item); - WHERE - WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRUCTURED_TEXT_REPRESENTATION' IN TYPEOF(SELF\mapped_item.mapping_source.mapped_representation); -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY structured_text_composition - SUBTYPE OF (compound_representation_item); -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY structured_text_representation - SUBTYPE OF (representation); - SELF\Representation.items : SET [1:?] OF string_representation_item_select; -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY tagged_text_item - SUBTYPE OF (descriptive_representation_item); -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY tagged_text_format - SUBTYPE OF (representation_context); -END_ENTITY; -(* USED FROM (Tagged_text_representation_mim); *) -ENTITY uniform_resource_identifier - SUBTYPE OF (descriptive_representation_item); -END_ENTITY; -(* USED FROM (Property_as_definition_mim); *) -ENTITY single_property_is_definition - SUBTYPE OF (property_definition); - SELF\property_definition.definition : product_definition; -UNIQUE - UR1: SELF\property_definition.definition; -END_ENTITY; -(* USED FROM (Property_as_definition_mim); *) -ENTITY representation_proxy_item -SUBTYPE OF (representation_item); --- item : representation_proxy_select; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval; - id : identifier; - name : label; - description : OPTIONAL text; -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY time_interval_relationship; - name : label; - description : OPTIONAL text; - relating_time_interval : time_interval; - related_time_interval : time_interval; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY half_space_solid - SUBTYPE OF (geometric_representation_item); - base_surface : surface; - agreement_flag : BOOLEAN; -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY product_definition_relationship_kinematics - SUBTYPE OF (property_definition); - SELF\property_definition.definition : product_definition_relationship; -UNIQUE - UR1 : definition; -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY context_dependent_kinematic_link_representation; - representation_relation : kinematic_link_representation_association; - represented_product_relation : product_definition_relationship_kinematics; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY right_angular_wedge - SUBTYPE OF (geometric_representation_item); - position : axis2_placement_3d; - x : positive_length_measure; - y : positive_length_measure; - z : positive_length_measure; - ltx : length_measure; -WHERE - WR1: ((0.0 <= ltx) AND (ltx < x)); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY int_numeric_variable -SUBTYPE OF (numeric_variable); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY sliding_surface_pair - SUBTYPE OF (surface_pair); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_pair_with_range - SUBTYPE OF (planar_pair); - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; - lower_limit_actual_translation_x : OPTIONAL length_measure; - upper_limit_actual_translation_x : OPTIONAL length_measure; - lower_limit_actual_translation_y : OPTIONAL length_measure; - upper_limit_actual_translation_y : OPTIONAL length_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); - WR2: (NOT EXISTS(lower_limit_actual_translation_x) - OR - NOT EXISTS(upper_limit_actual_translation_x)) - XOR - (lower_limit_actual_translation_x < upper_limit_actual_translation_x); - WR3: (NOT EXISTS(lower_limit_actual_translation_y) - OR - NOT EXISTS(upper_limit_actual_translation_y)) - XOR - (lower_limit_actual_translation_y < upper_limit_actual_translation_y); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY expression - ABSTRACT SUPERTYPE OF (ONEOF ( - NUMERIC_EXPRESSION, - BOOLEAN_EXPRESSION, - STRING_EXPRESSION)) - -SUBTYPE OF (generic_expression); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rolling_curve_pair - SUBTYPE OF (planar_curve_pair); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY homokinetic_pair - SUBTYPE OF (universal_pair); -WHERE - WR1: NOT EXISTS(SELF.input_skew_angle); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair_with_pin_and_range - SUBTYPE OF (spherical_pair_with_pin); - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR2: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); -END_ENTITY; -(* USED FROM (External_class_mim); *) - ENTITY external_class_library - SUBTYPE OF (external_source); - END_ENTITY; -(* USED FROM (External_class_mim); *) - ENTITY externally_defined_class - SUBTYPE OF (class, externally_defined_item); - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY integer_interval_from_min - SUBTYPE OF (maths_space, generic_literal); - min : INTEGER; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair_with_pin - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (Name_assignment_mim); *) -ENTITY applied_name_assignment - SUBTYPE OF (name_assignment); - item : name_item; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY maths_space - ABSTRACT SUPERTYPE OF (ONEOF ( - ELEMENTARY_SPACE, - FINITE_INTEGER_INTERVAL, - INTEGER_INTERVAL_FROM_MIN, - INTEGER_INTERVAL_TO_MAX, - FINITE_REAL_INTERVAL, - REAL_INTERVAL_FROM_MIN, - REAL_INTERVAL_TO_MAX, - CARTESIAN_COMPLEX_NUMBER_REGION, - POLAR_COMPLEX_NUMBER_REGION, - FINITE_SPACE, - UNIFORM_PRODUCT_SPACE, - LISTED_PRODUCT_SPACE, - EXTENDED_TUPLE_SPACE, - FUNCTION_SPACE)) - SUBTYPE OF (generic_expression); -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY real_interval_from_min - SUBTYPE OF (maths_space, generic_literal); - min : REAL; - min_closure : open_closed; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY real_interval_to_max - SUBTYPE OF (maths_space, generic_literal); - max : REAL; - max_closure : open_closed; -END_ENTITY; -(* USED FROM (Contract_mim); *) -ENTITY applied_contract_assignment - SUBTYPE OF (contract_assignment); - items : SET[1:?] OF contract_item; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY spherical_pair_with_range - SUBTYPE OF (spherical_pair); - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_pitch : OPTIONAL plane_angle_measure; - upper_limit_pitch : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR2: (NOT EXISTS(lower_limit_pitch) - OR - NOT EXISTS(upper_limit_pitch)) - XOR - (lower_limit_pitch < upper_limit_pitch); - WR3: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY variational_parameter - ABSTRACT SUPERTYPE OF (ONEOF ( - BOUND_VARIATIONAL_PARAMETER, - UNBOUND_VARIATIONAL_PARAMETER)) - SUBTYPE OF (variational_representation_item, maths_variable); - parameter_description : OPTIONAL text; - parameter_current_value : maths_value; -WHERE - WR1 : member_of(parameter_current_value, - SELF\maths_variable.values_space); - WR2 : SELF\maths_variable.name = SELF\representation_item.name; -END_ENTITY; -(* USED FROM (contract_schema); *) - ENTITY contract_relationship; - id : identifier; - name : label; - description : OPTIONAL text; - relating_contract : contract; - related_contract : contract; - END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY unbound_variational_parameter - SUBTYPE OF (variational_parameter); -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNBOUND_PARAMETER_ENVIRONMENT' - IN TYPEOF(SELF\generic_variable.interpretation); -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY bound_parameter_environment - SUBTYPE OF (environment); -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN - TYPEOF(SELF\environment.syntactic_representation)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INSTANCE_ATTRIBUTE_REFERENCE' IN - TYPEOF(SELF\environment.semantics)); -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY contract_assignment - ABSTRACT SUPERTYPE; - assigned_contract : contract; - DERIVE - role : object_role := get_role(SELF); - WHERE - WR1: SIZEOF(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1; - END_ENTITY; -(* USED FROM (Security_classification_mim); *) -ENTITY applied_security_classification_assignment - SUBTYPE OF (security_classification_assignment); - items : SET [1:?] OF security_classification_item; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY prismatic_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := FALSE; -END_ENTITY; -(* USED FROM (Work_request_mim); *) -ENTITY applied_action_request_assignment -SUBTYPE OF (action_request_assignment); - items : SET [1 : ?] OF action_request_item; -END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY generated_finite_numeric_space - SUBTYPE OF (finite_space); - start_value : maths_number; - increment_value : maths_number; - increment_number : positive_integer; -DERIVE - SELF\finite_space.members : SET [2:?] OF maths_number - := make_numeric_set(start_value, increment_value, increment_number); -WHERE - WR1: increment_value <> 0.0; -END_ENTITY; -(* USED FROM (configuration_management_schema); *) -ENTITY configuration_effectivity - SUBTYPE OF (product_definition_effectivity); - configuration : configuration_design; -UNIQUE - UR1: configuration, - SELF\product_definition_effectivity.usage, - SELF\effectivity.id; -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_USAGE' IN - TYPEOF (SELF\product_definition_effectivity.usage); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY prismatic_pair_with_range - SUBTYPE OF (prismatic_pair); - lower_limit_actual_translation : OPTIONAL length_measure; - upper_limit_actual_translation : OPTIONAL length_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_translation) - OR - NOT EXISTS(upper_limit_actual_translation)) - XOR - (lower_limit_actual_translation < upper_limit_actual_translation); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY revolute_pair - SUBTYPE OF (low_order_kinematic_pair); -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; -END_ENTITY; -(* USED FROM (management_resources_schema); *) - ENTITY document_usage_role; - name : label; - description : OPTIONAL text; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY block - SUBTYPE OF (geometric_representation_item); - position : axis2_placement_3d; - x : positive_length_measure; - y : positive_length_measure; - z : positive_length_measure; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY right_circular_cone - SUBTYPE OF (geometric_representation_item); - position : axis1_placement; - height : positive_length_measure; - radius : length_measure; - semi_angle : plane_angle_measure; -WHERE - WR1: radius >= 0.0; -END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_occurrence_relationship; - name : label; - description : text; - relating_annotation_occurrence : annotation_occurrence; - related_annotation_occurrence : annotation_occurrence; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY sphere - SUBTYPE OF (geometric_representation_item); - radius : positive_length_measure; - centre : point; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_model - ABSTRACT SUPERTYPE OF (ONEOF ( - CAMERA_MODEL_D2, - CAMERA_MODEL_D3)) - SUBTYPE OF (geometric_representation_item); - WHERE - WR1: (SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ITEM_DEFINED_TRANSFORMATION.' + - 'TRANSFORM_ITEM_1')) + - SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'REPRESENTATION_MAP.MAPPING_ORIGIN')) - ) > 0; - WR2: SIZEOF(USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'STYLED_ITEM.ITEM')) = 0; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_not_equal - SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_less_equal -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY extruded_face_solid - SUBTYPE OF (swept_face_solid); - extruded_direction : direction; - depth : positive_length_measure; -WHERE - WR1: dot_product( (SELF\swept_face_solid.swept_face.face_geometry\ elementary_surface.position.p[3]), extruded_direction) <> 0.0; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY shape_representation_with_parameters - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF shape_representation_with_parameters_items; -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY oriented_face - SUBTYPE OF (face); - face_element : face; - orientation : BOOLEAN; - DERIVE - SELF\face.bounds : SET[1:?] OF face_bound - := conditional_reverse(SELF.orientation,SELF.face_element.bounds); - WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF (SELF.face_element)); - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY angular_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY revolute_pair_with_range - SUBTYPE OF (revolute_pair); - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); -END_ENTITY; -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY free_kinematic_motion_representation - SUBTYPE OF (representation_relationship_with_transformation); -SELF\representation_relationship.rep_1: - representative_shape_representation; -SELF\representation_relationship.rep_2: - representative_shape_representation; - motion : kinematic_path; -WHERE -WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ITEM_DEFINED_TRANSFORMATION' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator); -WR2: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2)); -WR3: ((dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_1) = 3 ) AND - (dimension_of - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation. - transform_item_2) = 3 )); -WR4:(SELF\representation_relationship.rep_1 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1))) AND - (SELF\representation_relationship.rep_2 IN - (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2))); -END_ENTITY; -- free_kinematic_motion_representation -(* USED FROM (kinematic_structure_schema); *) -ENTITY kinematic_link_representation_association - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 : kinematic_link_representation; - SELF\representation_relationship.rep_2 : shape_representation; -WHERE - WR1: (SELF\representation_relationship.rep_2.context_of_items :=: - SELF\representation_relationship.rep_1.context_of_items) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION' IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY datum_feature_callout - SUBTYPE OF (draughting_callout); -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY datum_target_callout - SUBTYPE OF (draughting_callout); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY interpolated_configuration_segment - SUBTYPE OF (founded_item); - state : mechanism_state_representation; - t_parameter : parameter_value; - interpolation : interpolation_type; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY diameter_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY item_link_motion_relationship - SUBTYPE OF (link_motion_relationship); - SELF\representation_relationship.rep_1 : shape_representation; - item : geometric_representation_item; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY link_motion_transformation - SUBTYPE OF (item_defined_transformation); - SELF\item_defined_transformation.transform_item_1 : rigid_placement; - SELF\item_defined_transformation.transform_item_2 : kinematic_path; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY link_motion_representation_along_path - SUPERTYPE OF (ONEOF ( - PRESCRIBED_PATH, - RESULTING_PATH) ) - SUBTYPE OF (representation); - SELF\representation.items : SET [1:?] OF kinematic_path; - SELF\representation.context_of_items : geometric_representation_context_with_parameter; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY dimension_callout_relationship - SUBTYPE OF (draughting_callout_relationship); -WHERE - WR1: SELF.name IN ['primary', 'secondary']; - WR2: SIZEOF (TYPEOF (SELF.relating_draughting_callout) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULAR_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIAMETER_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORDINATE_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIUS_DIMENSION'])>=1; - WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT']) = 0; - WR4: SELF.related_draughting_callout.contents * - SELF.relating_draughting_callout.contents = - SELF.related_draughting_callout.contents; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_greater_equal -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_greater -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_less -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY pair_representation_relationship - SUBTYPE OF (geometric_representation_item, representation_relationship_with_transformation); - SELF\representation_relationship.rep_1 : kinematic_link_representation; - SELF\representation_relationship.rep_2 : kinematic_link_representation; - SELF\representation_relationship_with_transformation.transformation_operator : kinematic_pair; -WHERE - WR1: transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items; - WR2: transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items; - WR3: rep_1\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_start; - WR4: rep_2\kinematic_link_representation.represented_link = transformation_operator\kinematic_pair.joint.edge_end; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY dimension_pair - SUBTYPE OF (draughting_callout_relationship); -WHERE - WR1: SELF.name IN ['chained', 'parallel']; - WR2: SIZEOF (TYPEOF (SELF.relating_draughting_callout) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULAR_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIAMETER_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORDINATE_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIUS_DIMENSION'])=1; - WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULAR_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIAMETER_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORDINATE_DIMENSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIUS_DIMENSION'])=1; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY path_parameter_representation_context - SUBTYPE OF (geometric_representation_context, parametric_representation_context); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY unary_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - NOT_EXPRESSION, - ODD_FUNCTION)) - -SUBTYPE OF (boolean_expression, unary_generic_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY xor_expression -SUBTYPE OF (binary_boolean_expression); - SELF\binary_generic_expression.operands: - LIST [2:2] OF boolean_expression; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY geometrical_tolerance_callout - SUBTYPE OF (draughting_callout); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_equal -SUBTYPE OF (comparison_expression); -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY curve_based_path - SUBTYPE OF (path_node); - path_curve : curve; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY curve_based_path_with_orientation - SUBTYPE OF (kinematic_path_segment); - position_curve : bounded_curve; - orientation_curve : bounded_curve; -WHERE - WR1: TYPEOF(position_curve) = TYPEOF(orientation_curve); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY comparison_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - COMPARISON_EQUAL, - COMPARISON_GREATER, - COMPARISON_GREATER_EQUAL, - COMPARISON_LESS, - COMPARISON_LESS_EQUAL, - COMPARISON_NOT_EQUAL, - LIKE_EXPRESSION)) - -SUBTYPE OF (boolean_expression, binary_generic_expression); - SELF\binary_generic_expression.operands : LIST [2:2] OF expression; -WHERE - WR1: (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[1])) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[2]))) -OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[1])) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' - IN TYPEOF(SELF\binary_generic_expression.operands[2]))) -OR -(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[1])) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' -IN TYPEOF(SELF\binary_generic_expression.operands[2]))) ; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_BOOLEAN_EXPRESSION, - UNARY_BOOLEAN_EXPRESSION, - BINARY_BOOLEAN_EXPRESSION, - MULTIPLE_ARITY_BOOLEAN_EXPRESSION, - COMPARISON_EXPRESSION, - INTERVAL_EXPRESSION, - BOOLEAN_DEFINED_FUNCTION)) - -SUBTYPE OF (expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_defined_function - ABSTRACT SUPERTYPE - -SUBTYPE OF (defined_function, boolean_expression); -END_ENTITY ; -(* USED FROM (Physical_breakdown_mim); *) - ENTITY physical_breakdown_context - SUBTYPE OF (breakdown_context); - END_ENTITY; -(* USED FROM (Physical_breakdown_mim); *) - ENTITY physical_element_usage - SUBTYPE OF (breakdown_element_usage); - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_context - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_element_group_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : product_definition_element_relationship; - items : SET[1:1] OF product_definition_or_breakdown_element_usage; - END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_element_realization - SUBTYPE OF (characterized_object, product_definition_element_relationship); - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY ordinate_dimension - SUBTYPE OF (projection_directed_callout); -END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY breakdown_of - SUBTYPE OF (product_definition_relationship); - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -(* Pruned SUPERTYPE *) -ENTITY binary_function_call - ABSTRACT SUPERTYPE - -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (Product_breakdown_mim); *) - ENTITY product_definition_group_assignment - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : product_definition_element_relationship; - items : SET[1:1] OF product_definition_or_product_definition_relationship; - END_ENTITY; -(* USED FROM (Specification_based_configuration_mim); *) -ENTITY configured_effectivity_context_assignment -SUBTYPE OF (effectivity_context_assignment); - SELF\effectivity_context_assignment.assigned_effectivity_assignment: configured_effectivity_assignment; - items : SET [1:?] OF configured_effectivity_context_item; -WHERE -WR1: SIZEOF(SELF.items) = 1; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY binary_numeric_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - MINUS_EXPRESSION, - DIV_EXPRESSION, - MOD_EXPRESSION, - SLASH_EXPRESSION, - POWER_EXPRESSION, - BINARY_FUNCTION_CALL)) - -SUBTYPE OF (numeric_expression, binary_generic_expression); - SELF\binary_generic_expression.operands : LIST [2:2] OF - numeric_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY and_expression -SUBTYPE OF (multiple_arity_boolean_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY numeric_variable -SUPERTYPE OF (ONEOF ( - INT_NUMERIC_VARIABLE, - REAL_NUMERIC_VARIABLE)) - -SUBTYPE OF (simple_numeric_expression, variable); -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_NUMERIC_VARIABLE' - IN TYPEOF(SELF) ) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REAL_NUMERIC_VARIABLE' - IN TYPEOF(SELF) ); -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY linear_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY multiple_arity_function_call - ABSTRACT SUPERTYPE OF (ONEOF ( - MAXIMUM_FUNCTION, - MINIMUM_FUNCTION)) - -SUBTYPE OF (multiple_arity_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY binary_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - XOR_EXPRESSION, - EQUALS_EXPRESSION)) - -SUBTYPE OF (boolean_expression, binary_generic_expression); -END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY product_concept_feature_category_usage - SUBTYPE OF (group_assignment); - SELF\group_assignment.assigned_group : product_concept_feature_category; - items : SET [1:?] OF category_usage_item; -WHERE -WR1 : SELF.role.name IN [ 'mandatory category usage', 'optional category usage' ]; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_font_and_scaling - SUBTYPE OF (founded_item); - name : label; - curve_font : curve_style_font_select; - curve_font_scaling : REAL; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_usage - SUBTYPE OF (representation_map); - SELF\representation_map.mapping_origin : camera_model; - WHERE - WR1: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' - IN TYPEOF(SELF\representation_map.mapped_representation)); - END_ENTITY; -(* USED FROM (product_concept_schema); *) -ENTITY product_concept_feature_association; - name : label; - description : OPTIONAL text; - concept : product_concept; - feature : product_concept_feature; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY mod_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY multiple_arity_boolean_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - AND_EXPRESSION, - OR_EXPRESSION)) - -SUBTYPE OF (boolean_expression, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : -LIST [2:?] OF boolean_expression; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY literal_number - ABSTRACT SUPERTYPE OF (ONEOF ( - INT_LITERAL, - REAL_LITERAL)) - -SUBTYPE OF (simple_numeric_expression, generic_literal); - the_value: NUMBER; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_usage - SUBTYPE OF (founded_item); - side : surface_side; - style : surface_side_style_select; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_silhouette - SUBTYPE OF (founded_item); - style_of_silhouette : curve_or_render; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY curve_style_font_pattern - SUBTYPE OF (founded_item); - visible_segment_length : positive_length_measure; - invisible_segment_length : positive_length_measure; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_parameter_line - SUBTYPE OF (founded_item); - style_of_parameter_lines : curve_or_render; - direction_counts : SET [1:2] OF direction_count_select; - WHERE - WR1: (HIINDEX(SELF.direction_counts) = 1) - XOR - (TYPEOF(SELF.direction_counts[1]) <> - TYPEOF(SELF.direction_counts[2])); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_fill_area - SUBTYPE OF (founded_item); - fill_area : fill_area_style; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_segmentation_curve - SUBTYPE OF (founded_item); - style_of_segmentation_curve : curve_or_render; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY boxed_half_space - SUBTYPE OF (half_space_solid); - enclosure : box_domain; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY context_dependent_invisibility - SUBTYPE OF (invisibility); - presentation_context : invisibility_context; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY div_expression -SUBTYPE OF (binary_numeric_expression); -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY equals_expression -SUBTYPE OF (binary_boolean_expression); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_curve_font - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_rendering; - rendering_method : shading_surface_method; - surface_colour : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_control_grid - SUBTYPE OF (founded_item); - style_of_control_grid : curve_or_render; - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY pre_defined_item; - name : label; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_tile - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (contract_schema); *) - ENTITY contract; - name : label; - purpose : text; - kind : contract_type; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY externally_defined_tile - SUBTYPE OF (externally_defined_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY pre_defined_surface_side_style - SUBTYPE OF (pre_defined_item); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tile_coloured_region - SUBTYPE OF (geometric_representation_item); - closed_curve : curve_or_annotation_curve_occurrence; - region_colour : colour; - WHERE - WR1: (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF (closed_curve))) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' IN TYPEOF (closed_curve)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE' IN TYPEOF (closed_curve)) OR - ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (closed_curve)) - AND (closed_curve\b_spline_curve.closed_curve = TRUE) ) OR - ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (closed_curve)) - AND (closed_curve\composite_curve.closed_curve = TRUE) ) OR - ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (closed_curve)) - AND (closed_curve\polyline.points[LOINDEX(closed_curve\polyline.points)] = - closed_curve\polyline.points[HIINDEX(closed_curve\polyline.points)]) ); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style_tile_curve_with_style - SUBTYPE OF (geometric_representation_item); - styled_curve : annotation_curve_occurrence; - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY draughting_pre_defined_colour - SUBTYPE OF (pre_defined_colour); -WHERE - WR1: SELF.name IN - ['red', - 'green', - 'blue', - 'yellow', - 'magenta', - 'cyan', - 'black', - 'white']; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY colour_specification - SUBTYPE OF (colour); - name : label; -END_ENTITY; -(* USED FROM (Time_interval_assignment_mim); *) -ENTITY applied_time_interval_assignment - SUBTYPE OF (time_interval_assignment); - items : SET[0:?] OF time_interval_item; -END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY colour; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY defined_function - ABSTRACT SUPERTYPE OF ((ONEOF ( - NUMERIC_DEFINED_FUNCTION, - STRING_DEFINED_FUNCTION, - BOOLEAN_DEFINED_FUNCTION)) - ANDOR - SQL_MAPPABLE_DEFINED_FUNCTION); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_style_boundary - SUBTYPE OF (founded_item); - style_of_boundary : curve_or_render; - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY curve_dimension - SUBTYPE OF (dimension_curve_directed_callout); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY symbol_colour; - colour_of_symbol : colour; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY symbol_style - SUBTYPE OF (founded_item); - name : label; - style_of_symbol : symbol_style_select; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY connected_face_sub_set - SUBTYPE OF (connected_face_set); - parent_face_set : connected_face_set; - END_ENTITY; -(* USED FROM (external_reference_schema); *) - ENTITY external_source_relationship; - name : label; - description : OPTIONAL text; - relating_source : external_source; - related_source : external_source; - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY subedge - SUBTYPE OF (edge); - parent_edge : edge; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_set; - INVERSE - areas : SET [1:?] OF area_in_set FOR in_set; - END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY boolean_variable -SUBTYPE OF (simple_Boolean_expression, variable); -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presented_item_representation; - presentation : presentation_representation_select; - item : presented_item; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presented_item - ABSTRACT SUPERTYPE; - END_ENTITY; -(* USED FROM (presentation_resource_schema); *) -ENTITY planar_extent - SUBTYPE OF (geometric_representation_item); - size_in_x : length_measure; - size_in_y : length_measure; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY background_colour - SUBTYPE OF (colour); - presentation : area_or_view; - UNIQUE - UR1: presentation; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_view - SUBTYPE OF (presentation_representation); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY symbol_representation - SUBTYPE OF (representation); - END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY subface - SUBTYPE OF (face); - parent_face : face; - WHERE - WR1: NOT (mixed_loop_type_set(list_to_set(list_face_loops(SELF)) + - list_to_set(list_face_loops(parent_face)))); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text_with_associated_curves - SUBTYPE OF (composite_text); - associated_curves : SET[1:?] of curve; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_literal_with_associated_curves - SUBTYPE OF (text_literal); - associated_curves : SET[1:?] of curve; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_symbol - SUBTYPE OF(mapped_item); - SELF\mapped_item.mapping_source : symbol_representation_map; - SELF\mapped_item.mapping_target : symbol_target; - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF (SELF); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY defined_symbol - SUBTYPE OF(geometric_representation_item); - definition : defined_symbol_select; - target : symbol_target; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY multiply_defined_placements - SUBTYPE OF(multiply_defined_geometry); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_numerical_test; - assessment_specification_2 : shape_data_quality_assessment_by_numerical_test; - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' - IN value_limit_type(SELF\shape_data_quality_criterion.assessment_specification\shape_data_quality_assessment_by_numerical_test.threshold)); - WR2 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_UPPER_VALUE_LIMIT' - IN TYPEOF(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' - IN value_limit_type(assessment_specification_2\shape_data_quality_assessment_by_numerical_test.threshold)); - WR3 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'PLANE_ANGLE_AND_LENGTH_PAIR'); - WR4 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT']); - WR5 : validate_locations_of_extreme_value_type(SELF, - []); - WR6 : validate_accuracy_types(SELF, - []); - WR7 : SIZEOF(QUERY(sdqr <* bag_to_set(USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(sdqr)) AND - (SIZEOF(QUERY(sdqiir <* bag_to_set(USEDIN(sdqr, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(sdqiir)) AND - (SIZEOF(QUERY(sdqiri <* sdqiir.inspected_instances| - (TYPEOF(sdqiri.inspected_elements[1]) - <>TYPEOF(sdqiri.inspected_elements[2])))) = 0) - )) = 0) - )) = 0; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY composite_text - SUBTYPE OF (geometric_representation_item); - collected_text : SET[2:?] of text_or_character; - WHERE - WR1: acyclic_composite_text( SELF, SELF.collected_text); - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY box_domain - SUBTYPE OF (founded_item); - corner : cartesian_point; - xlength : positive_length_measure; - ylength : positive_length_measure; - zlength : positive_length_measure; -WHERE - WR1: SIZEOF(QUERY(item <* USEDIN(SELF,'')| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOXED_HALF_SPACE' IN TYPEOF(item)))) = 0; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_point_on_plane - ABSTRACT SUPERTYPE OF (ONEOF ( - IMPLICIT_PLANAR_INTERSECTION_POINT, - IMPLICIT_PLANAR_PROJECTION_POINT)) - SUBTYPE OF (point, auxiliary_geometric_representation_item); - using_sketch : positioned_sketch; - computed_representation - : cartesian_point; -DERIVE - plane_of_point : - plane := get_plane_of_implicit_geometry(using_sketch); -WHERE - WR1: (plane_of_point\elementary_surface.position.location = - computed_representation) XOR - (dot_product(plane_of_point\elementary_surface.position.p[3], - get_relative_direction_2points - (plane_of_point\elementary_surface.position.location, - computed_representation)) = 0); - WR2: SIZEOF(TYPEOF(computed_representation) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.IMPLICIT_POINT_ON_PLANE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_REPLICA']) = 0; -END_ENTITY; -(* USED FROM (aic_faceted_brep); *) -ENTITY faceted_brep_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* items| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* items| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0; -WR3 : -SIZEOF ( -QUERY ( fbrep <* -QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* msb_shells(fbrep)| NOT ( SIZEOF ( -QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF (fcs)) AND (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF (fcs\face_surface.face_geometry)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (fcs\face_surface.face_geometry\elementary_surface.position.location)))) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( fbrep <* -QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* msb_shells(fbrep)| NOT ( SIZEOF ( -QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ( SIZEOF ( -QUERY ( bnds <* fcs.bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF (bnds)) )) = 1) )) = 0) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( msb <* -QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0; -WR6 : -SIZEOF ( -QUERY ( brv <* -QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* brv\brep_with_voids.voids| csh\oriented_closed_shell.orientation )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; - END_ENTITY ; -(* USED FROM (presentation_definition_schema); *) - ENTITY annotation_fill_area - SUBTYPE OF (geometric_representation_item); - boundaries : SET [1:?] OF curve; - WHERE - WR1: (SELF\geometric_representation_item.dim = 3) OR (SIZEOF (QUERY (curve <* SELF.boundaries | - NOT ( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' IN TYPEOF (curve)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE' IN TYPEOF (curve)) OR - ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (curve)) - AND (curve\b_spline_curve.closed_curve = TRUE) ) OR - ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (curve)) - AND (curve\composite_curve.closed_curve = TRUE) ) OR - ( ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (curve)) - AND (curve\polyline.points[LOINDEX(curve\polyline.points)] = - curve\polyline.points[HIINDEX(curve\polyline.points)]) ) - ) )) = 0); - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY symbol_representation_map - SUBTYPE OF (representation_map); - SELF\representation_map.mapped_representation : symbol_representation; - SELF\representation_map.mapping_origin : axis2_placement; - WHERE - WR1: SIZEOF( - QUERY(mi <* SELF\representation_map.map_usage | NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi))) - ) = 0; - END_ENTITY; -(* USED FROM (Person_organization_mim); *) -ENTITY person_and_organization_address - SUBTYPE OF (organizational_address, personal_address); - SELF\organizational_address.organizations : SET[1:1] OF organization; - SELF\personal_address.people : SET[1:1] OF person; -WHERE - WR1: SIZEOF(QUERY(pao <* USEDIN (SELF\personal_address.people[1], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PERSON_AND_ORGANIZATION.THE_PERSON') | pao.the_organization :=: SELF\organizational_address.organizations[1])) = 1; -END_ENTITY; -(* USED FROM (iso13584_expressions_schema); *) -ENTITY index_expression -SUBTYPE OF (string_expression, binary_generic_expression); -DERIVE - operand:generic_expression:= -SELF\binary_generic_expression.operands[1]; - index:generic_expression:= -SELF\binary_generic_expression.operands[2]; -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_EXPRESSION' - IN TYPEOF(operand)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_EXPRESSION' - IN TYPEOF(index)); - WR2: is_int_expr (index); -END_ENTITY; -(* USED FROM (File_identification_mim); *) -ENTITY document_file - SUBTYPE OF (document, characterized_object); -WHERE - WR1: SELF\characterized_object.name = ''; - WR2: NOT EXISTS(SELF\characterized_object.description); - WR3: SIZEOF(QUERY(drt <* SELF\document.representation_types | drt.name IN ['digital', 'physical'])) = 1; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY parallel_offset_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF curve_or_surface_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF curve_or_surface_constraint_element; - offset_type : parallel_offset_type; -WHERE - WR1: NOT(((offset_type = curve_2d_offset) - OR (offset_type = curve_3d_offset)) AND - (SIZEOF(QUERY( q <* (SELF\explicit_constraint.constrained_elements - + SELF\explicit_constraint.reference_elements) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF(q))) > 0)); - WR2: NOT((offset_type = surface_offset) AND (SIZEOF(QUERY( q <* - (SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF(q))) > 0)); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY surface_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:2] OF surface; - SELF\explicit_constraint.reference_elements : - SET[0:4] OF point_curve_or_surface_constraint_element; - near_points : SET[0:4] OF near_point_relationship; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SDGC_WITH_DIMENSION' - IN TYPEOF(SELF)) - AND (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); - WR2: SIZEOF(near_points) <= - SIZEOF(SELF\explicit_constraint.reference_elements); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY subsketch - SUBTYPE OF (geometric_representation_item); - subsketch_elements : SET[1:?] OF sketch_element_select; - owning_sketch : sketch_type_select; -WHERE - WR1: (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION' - IN TYPEOF(owning_sketch)) AND (SIZEOF(QUERY(q <* - subsketch_elements | NOT (owning_sketch IN - using_representations(q)))) = 0)) - XOR - ((SIZEOF(TYPEOF(owning_sketch) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIONED_SKETCH','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBSKETCH']) = 1) - AND - (SIZEOF(QUERY(q <* subsketch_elements | - NOT (owning_sketch IN using_items(q,[])))) = 0)); -END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY point_on_edge_curve - SUBTYPE OF(point_on_curve); - basis_edge_curve : edge_curve; - DERIVE - SELF\point_on_curve.basis_curve : curve := SELF.basis_edge_curve.edge_geometry; - WHERE - WR1 : SIZEOF( - using_representations(SELF.basis_edge_curve) * - relating_shape_representations_of_extreme_values(SELF))>0; - END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY positioned_sketch - SUBTYPE OF (geometric_representation_item); - sketch_basis : sketch_basis_select; - auxiliary_elements : - SET[0:?] OF auxiliary_geometric_representation_item; -WHERE - WR1: NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN - TYPEOF(sketch_basis)) AND NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN - TYPEOF(sketch_basis\curve_bounded_surface.basis_surface))); - WR2: NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(sketch_basis)) AND - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(sketch_basis\face_surface.face_geometry))); - WR3: SIZEOF(QUERY(q <* auxiliary_elements | (SIZEOF(TYPEOF(q) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE']) = 0))) = 0; - WR4: SIZEOF(QUERY(q <* auxiliary_elements | - q\geometric_representation_item.dim <> 3)) = 0; -END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY variational_current_representation_relationship - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 - : variational_representation; - current_result : representation; -UNIQUE - UR1: current_result; -WHERE - WR1: QUERY(q <* SELF\representation_relationship.rep_1.items | NOT - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' - IN TYPEOF(q))) = SELF\representation_relationship.rep_2.items; - WR2: SELF\representation_relationship.rep_1.context_of_items :=: - SELF\representation_relationship.rep_2.context_of_items; - WR3: SIZEOF(QUERY(q <* SELF\representation_relationship.rep_2.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' - IN TYPEOF(q))) = 0; - WR4: TYPEOF(SELF\representation_relationship.rep_1) - - TYPEOF(SELF\representation_relationship.rep_2) = - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION']; - WR5: current_result :=: SELF\representation_relationship.rep_2; -END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY variational_representation_item - ABSTRACT SUPERTYPE OF ( - AUXILIARY_GEOMETRIC_REPRESENTATION_ITEM) - SUBTYPE OF (representation_item); -WHERE - WR1: SIZEOF(QUERY(q <* using_representations(SELF) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION' - IN TYPEOF(q)))) = 0; - WR2: SIZEOF(QUERY(q <* using_representations(SELF) | - NOT (SELF IN q.items))) = 0; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY open_edge_loop - SUBTYPE OF(erroneous_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_EDGE']); - WR4 : validate_accuracy_types(SELF, - []); - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY track_blended_solid - ABSTRACT SUPERTYPE OF ( - TRACK_BLENDED_SOLID_WITH_END_CONDITIONS) - SUBTYPE OF (edge_blended_solid); -WHERE - WR1: check_continuous_edges(SELF\edge_blended_solid.blended_edges); -END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY qualified_representation_item - SUBTYPE OF (representation_item); - qualifiers : SET [1:?] OF value_qualifier; -WHERE - WR1: SIZEOF(QUERY(temp <* qualifiers | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRECISION_QUALIFIER' - IN TYPEOF(temp))) < 2; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_stepped_round_hole_and_conical_transitions - SUBTYPE OF (solid_with_stepped_round_hole); - conical_transitions : SET[1:?] OF conical_stepped_hole_transition; -WHERE - WR1: SIZEOF (conical_transitions) <= - (SELF\solid_with_stepped_round_hole.segments + 1); - WR2: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_WITH_THROUGH_DEPRESSION' - IN TYPEOF(SELF)) XOR (SIZEOF(conical_transitions) <= - SELF\solid_with_stepped_round_hole.segments); - WR3: validate_countersink_radii(SELF); -END_ENTITY; -(* USED FROM (Geometric_model_2d_3d_relationship_mim); *) -ENTITY coordinated_geometric_relationship_with_2d_3d_placement_transformation - SUBTYPE OF(shape_representation_relationship, - representation_relationship_with_transformation); - SELF\representation_relationship_with_transformation.transformation_operator : axis_placement_2d_3d_mapping; - WHERE - WR1: acyclic_representation_relationship(SELF, - [SELF\representation_relationship.rep_2], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION'); - WR2: NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEFINITIONAL_REPRESENTATION_RELATIONSHIP' IN TYPEOF(SELF)); -END_ENTITY; -(* USED FROM (product_structure_schema); *) -ENTITY multi_level_reference_designator - SUBTYPE OF (assembly_component_usage); - location : LIST[1:?] OF UNIQUE next_assembly_usage_occurrence; - DERIVE - SELF\product_definition_relationship.relating_product_definition : product_definition := location[1]\product_definition_relationship.relating_product_definition; -- root : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - SELF\product_definition_relationship.related_product_definition : product_definition_or_reference := location[HIINDEX(location)]\product_definition_relationship.related_product_definition; -- leaf : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, an attribute with the new name is in the DERIVE clause - leaf : PRODUCT_DEFINITION_OR_REFERENCE := SELF\product_definition_relationship.related_product_definition; -- RELATED_PRODUCT_DEFINITION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - root : PRODUCT_DEFINITION := SELF\product_definition_relationship.relating_product_definition; -- RELATING_PRODUCT_DEFINITION : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - -WHERE - WR1: unambiguously_specified_multi_level_reference_designator(location); - WR2: SIZEOF(QUERY(cp <* location | NOT ( - EXISTS(cp\assembly_component_usage.reference_designator)))) = 0; -END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criteria_representation - SUBTYPE OF(representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DATA_QUALITY_CRITERION' IN TYPEOF(q))) > 0; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY surface_side_style - SUBTYPE OF (founded_item); - name : label; - styles : SET [1:7] OF surface_style_element_select; - WHERE - WR1: SIZEOF(QUERY( style1 <* SELF.styles | - SIZEOF(QUERY( style2 <* SELF.styles - style1 | - TYPEOF(style1) = TYPEOF(style2) - )) > 0 - )) = 0; - END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY local_time; - hour_component : hour_in_day; - minute_component : OPTIONAL minute_in_hour; - second_component : OPTIONAL second_in_minute; - zone : coordinated_universal_time_offset; -WHERE - WR1: valid_time (SELF); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY complex_shelled_solid - SUBTYPE OF (shelled_solid); - thickened_face_list : LIST [1:?] OF SET[1:?] OF face_surface; - thickness_list : LIST [1:?] OF length_measure; -WHERE - WR1: SIZEOF(thickened_face_list) = SIZEOF(thickness_list); - WR2: SIZEOF(QUERY(q <* thickness_list | (q = 0))) = 0; -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY fill_area_style - SUBTYPE OF (founded_item); - name : label; - fill_styles : SET [1:?] OF fill_style_select; - WHERE - WR1: SIZEOF(QUERY(fill_style <* SELF.fill_styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'FILL_AREA_STYLE_COLOUR' IN - TYPEOF(fill_style) - )) <= 1; - END_ENTITY; -(* USED FROM (measure_schema); *) - ENTITY measure_with_unit - SUPERTYPE OF (ONEOF ( - LENGTH_MEASURE_WITH_UNIT, - MASS_MEASURE_WITH_UNIT, - TIME_MEASURE_WITH_UNIT, - ELECTRIC_CURRENT_MEASURE_WITH_UNIT, - THERMODYNAMIC_TEMPERATURE_MEASURE_WITH_UNIT, - CELSIUS_TEMPERATURE_MEASURE_WITH_UNIT, - AMOUNT_OF_SUBSTANCE_MEASURE_WITH_UNIT, - LUMINOUS_INTENSITY_MEASURE_WITH_UNIT, - PLANE_ANGLE_MEASURE_WITH_UNIT, - SOLID_ANGLE_MEASURE_WITH_UNIT, - AREA_MEASURE_WITH_UNIT, - VOLUME_MEASURE_WITH_UNIT, - RATIO_MEASURE_WITH_UNIT, - ACCELERATION_MEASURE_WITH_UNIT, - CAPACITANCE_MEASURE_WITH_UNIT, - ELECTRIC_CHARGE_MEASURE_WITH_UNIT, - CONDUCTANCE_MEASURE_WITH_UNIT, - ELECTRIC_POTENTIAL_MEASURE_WITH_UNIT, - ENERGY_MEASURE_WITH_UNIT, - MAGNETIC_FLUX_DENSITY_MEASURE_WITH_UNIT, - FORCE_MEASURE_WITH_UNIT, - FREQUENCY_MEASURE_WITH_UNIT, - ILLUMINANCE_MEASURE_WITH_UNIT, - INDUCTANCE_MEASURE_WITH_UNIT, - LUMINOUS_FLUX_MEASURE_WITH_UNIT, - MAGNETIC_FLUX_MEASURE_WITH_UNIT, - POWER_MEASURE_WITH_UNIT, - PRESSURE_MEASURE_WITH_UNIT, - RESISTANCE_MEASURE_WITH_UNIT, - VELOCITY_MEASURE_WITH_UNIT, - ABSORBED_DOSE_MEASURE_WITH_UNIT, - RADIOACTIVITY_MEASURE_WITH_UNIT, - DOSE_EQUIVALENT_MEASURE_WITH_UNIT)); - value_component : measure_value; - unit_component : unit; - WHERE - WR1: valid_units(SELF); - END_ENTITY; -(* USED FROM (aic_non_manifold_surface); *) -ENTITY non_manifold_surface_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1))) - = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION' - IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) - AND - (SIZEOF(QUERY (mr_it <* - mi\mapped_item.mapping_source.mapped_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' - IN TYPEOF (mr_it)))) > 0 )))) = 0; - WR4: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE'] * TYPEOF (fa)) = 1))) - = 0))) = 0))) = 0; - WR5: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (f_sf <* QUERY (fa <* cfs.cfs_faces | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF (fa))) | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (f_sf)) - OR - (nmsf_surface_check(f_sf\face_surface.face_geometry))))) = 0))) - = 0))) = 0; - WR6: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (o_fa <* QUERY (fa <* cfs.cfs_faces | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF (fa))) | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF - (o_fa\oriented_face.face_element)) - OR - (nmsf_surface_check - (o_fa\oriented_face.face_element\face_surface.face_geometry))))) - = 0))) = 0))) = 0; - WR7: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (bnds <* fa.bounds | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP'] - * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0; - WR8: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF - (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR9: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <* - elp_fbnds\path.edge_list | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE'] * - TYPEOF (oe_cv.edge_element\edge_curve.edge_geometry)) - = 1))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR10: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT (nmsf_curve_check (oe.edge_element\edge_curve.edge_geometry)))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR11: SIZEOF (QUERY(fbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list| - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF - (oe.edge_element.edge_start)) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN - TYPEOF (oe.edge_element.edge_end))))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR12: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ((SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_end\vertex_point.vertex_geometry)) = 1 - )))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR13: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0))) - = 0))) = 0; - WR14: SIZEOF (QUERY (fbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - fbsm\face_based_surface_model.fbsm_faces | - NOT (SIZEOF (QUERY (fa <* cfs.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry)) - = 1))) = 0)))) = 0))) = 0))) = 0; -END_ENTITY; -(* USED FROM (aic_edge_based_wireframe); *) -ENTITY edge_based_wireframe_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1; -WR3 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (edges)) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( pline_edges <* -QUERY ( edges <* eb.ces_edges| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (edges\edge_curve.edge_geometry)) )| NOT ( SIZEOF (pline_edges\edge_curve.edge_geometry\polyline.points) > 2) )) = 0) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_start)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (edges.edge_end))) )) = 0) )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT valid_wireframe_edge_curve(edges\edge_curve.edge_geometry) )) = 0) )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( ebwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( eb <* ebwm\edge_based_wireframe_model.ebwm_boundary| NOT ( SIZEOF ( -QUERY ( edges <* eb.ces_edges| NOT (valid_wireframe_vertex_point(edges.edge_start\vertex_point.vertex_geometry) AND valid_wireframe_vertex_point(edges.edge_end\vertex_point.vertex_geometry)) )) = 0) )) = 0) )) = 0; -WR8 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; -WR9 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; - END_ENTITY ; -(* USED FROM (representation_schema); *) - ENTITY representation_map; - mapping_origin : representation_item; - mapped_representation : representation; - INVERSE - map_usage : SET[1:?] OF mapped_item FOR mapping_source; - WHERE - WR1: item_in_context(SELF.mapping_origin, - SELF.mapped_representation.context_of_items); - END_ENTITY; -(* USED FROM (shape_tolerance_schema); *) -ENTITY geometric_tolerance_with_datum_reference - SUPERTYPE OF (ONEOF ( - ANGULARITY_TOLERANCE, - CIRCULAR_RUNOUT_TOLERANCE, - COAXIALITY_TOLERANCE, - CONCENTRICITY_TOLERANCE, - PARALLELISM_TOLERANCE, - PERPENDICULARITY_TOLERANCE, - SYMMETRY_TOLERANCE, - TOTAL_RUNOUT_TOLERANCE)) - SUBTYPE OF (geometric_tolerance); - datum_system : SET[1:?] OF datum_system_or_reference; -WHERE - WR1: (SIZEOF(QUERY(ds <* datum_system | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DATUM_SYSTEM' in TYPEOF(ds)))=0) OR (SIZEOF(datum_system)=1); -END_ENTITY; -(* USED FROM (measure_schema); *) -ENTITY absorbed_dose_unit - SUBTYPE OF (derived_unit); -WHERE - WR1: derive_dimensional_exponents(SELF) = dimensions_for_si_unit (si_unit_name.gray); -END_ENTITY; -(* USED FROM (Construction_geometry_mim); *) - ENTITY constructive_geometry_representation - SUBTYPE OF (representation); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF(SELF.context_of_items)) AND ({2 <= SELF.context_of_items\geometric_representation_context. coordinate_space_dimension <= 3}); - WR2: SIZEOF( QUERY( cgr_i <* SELF.items | SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT'] * TYPEOF(cgr_i)) <> 1 )) = 0; - WR3: SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) > 0; - WR4: SIZEOF( USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') ) = 0; - END_ENTITY; -(* USED FROM (aic_topologically_bounded_surface); *) -ENTITY advanced_face - SUBTYPE OF ( face_surface ); - WHERE -WR1 : -SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' ] * TYPEOF (face_geometry)) = 1; -WR2 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element)) )) = 0) )) = 0; -WR3 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (oe.edge_element\edge_curve.edge_geometry)) = 1) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| NOT ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_start)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_start\vertex_point.vertex_geometry))) AND (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (oe\edge.edge_end)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (oe\edge.edge_end\vertex_point.vertex_geometry)))) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF (elp_fbnds.bound)) )) = 0; -WR6 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * TYPEOF (face_geometry\swept_surface.swept_curve)) = 1); -WR7 : -SIZEOF ( -QUERY ( vlp_fbnds <* -QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) )| NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex\vertex_point.vertex_geometry))) )) = 0; -WR8 : -SIZEOF ( -QUERY ( bnd <* bounds| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' ] * TYPEOF (bnd.bound)) = 1) )) = 0; -WR9 : -SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry)) AND NOT ( SIZEOF ( -QUERY ( sc_ag <* oe.edge_element\edge_curve.edge_geometry\surface_curve.associated_geometry| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF (sc_ag)) )) = 0) )) = 0) )) = 0; -WR10 : (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (face_geometry)) OR (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (face_geometry\swept_surface.swept_curve)) OR ( SIZEOF (face_geometry\swept_surface.swept_curve\polyline.points) >= 3))) AND ( SIZEOF ( -QUERY ( elp_fbnds <* -QUERY ( bnds <* bounds| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) )| NOT ( SIZEOF ( -QUERY ( oe <* elp_fbnds.bound\path.edge_list| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry)) AND NOT ( SIZEOF (oe\oriented_edge.edge_element\edge_curve.edge_geometry\polyline.points) >= 3) )) = 0) )) = 0); - END_ENTITY ; -(* USED FROM (presentation_organization_schema); *) -(* Pruned SUPERTYPE *) - ENTITY presentation_representation - SUPERTYPE OF (ONEOF ( - PRESENTATION_AREA, - PRESENTATION_VIEW)) - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context; - WHERE - WR1: SELF\representation. - context_of_items\geometric_representation_context. - coordinate_space_dimension = 2; - WR2: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_AREA' IN TYPEOF (SELF)) - OR - (SIZEOF (QUERY (prr <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'REPRESENTATION_RELATIONSHIP.REP_2') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' IN - TYPEOF (prr\representation_relationship.rep_1))) > 0) - OR - (SIZEOF(QUERY( rm <* USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'REPRESENTATION_MAP.'+ - 'MAPPED_REPRESENTATION') | - SIZEOF(QUERY( mi <* USEDIN(rm, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'MAPPED_ITEM.'+ - 'MAPPING_SOURCE') | - SIZEOF(QUERY( rep <* using_representations (mi) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'PRESENTATION_REPRESENTATION' IN - TYPEOF (rep))) > 0 - )) > 0)) - > 0); - END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_symbol_representation - SUBTYPE of (symbol_representation); - SELF\representation.items : SET[1:?] OF draughting_symbol_representation_item; -UNIQUE - UR1: SELF\representation.name; -WHERE - WR1: - SIZEOF (QUERY (item <* SELF\representation.items | - (SIZEOF (TYPEOF (item) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE']) = 1) - )) >= 1; - WR2: - SIZEOF (QUERY (item <* SELF\representation.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE' - IN TYPEOF (item))) = 0; - WR3: - SIZEOF ( QUERY (rm <* - USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMBOL_REPRESENTATION_MAP' - IN TYPEOF(rm)))) = 0; - WR4: - SIZEOF (SELF.context_of_items.representations_in_context) = 1; -END_ENTITY; -(* USED FROM (aic_mechanical_design_shaded_presentation); *) - ENTITY mechanical_design_shaded_presentation_area - SUBTYPE OF (presentation_area); - SELF\representation.items : SET[1:?] OF mechanical_design_shaded_presentation_area_items; - WHERE - WR1 : (* only presentation_views or axis2_placements in - mechanical_design_shaded_presentation_area *) - SIZEOF (QUERY (it1 <* SELF.items | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT' - IN TYPEOF (it1)) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF (it1)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it1\mapped_item.mapping_source.mapped_representation)))))) = 0; - WR2 : (* only mechanical_design_shaded_presentation_representation - via camera_image_3d_with_scale or axis2_placements in - presentation_views *) - SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF (it1)) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (mi1\mapped_item.mapping_source.mapped_representation)) | - (* search in all presentation_views for axis2_placements and - mapped_items and for the subtype of mapped_item, - camera_image_3d_with_scale; the latter shall reference - a mechanical_design_geometric_presentation_representation; - the supertype mapped_item shall reference presentation_view. *) - NOT (SIZEOF(QUERY(it2 <* pv\mapped_item.mapping_source. - mapped_representation\representation.items | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT' - IN TYPEOF(it2)) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it2)) AND NOT - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it2\mapped_item.mapping_source.mapped_representation))) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2)) - AND NOT ( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION' - IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) )) - ))) = 0))) = 0; - WR3: (* Presentation_size shall be a positive rectangle for area and set. - Check for this presentation_area subtype first. *) - (SIZEOF (QUERY(ps <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - NOT ((ps\presentation_size.size.size_in_x > 0) - AND (ps\presentation_size.size.size_in_y > 0)) )) = 0) - AND - (* check secondly for presentation_set, via area_in_set *) - (SIZEOF (QUERY(pset <* QUERY(ais <* - USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') - | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) | - (* after having collected all presentation_set, check their sizes *) - SIZEOF (QUERY(ps <* USEDIN(pset, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') - | NOT ((ps\presentation_size.size.size_in_x > 0) - AND (ps\presentation_size.size.size_in_y > 0)) )) = 0)) = 0); - WR4: (* Drawing space shall be defined in 2D. - Check for this presentation_area subtype first. *) - (SIZEOF(QUERY( psize <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') - | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' - IN TYPEOF (psize.size.placement))) = 1) - AND - (* check secondly for presentation_set, via area_in_set *) - (SIZEOF (QUERY(pset <* QUERY(ais <* - USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') - | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SET' IN TYPEOF (ais.in_set)) | - (* after having collected all presentation_set, check their - dimension *) - SIZEOF (QUERY(psize <* USEDIN(pset, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') - | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' - IN TYPEOF (psize.size.placement)) )) = 0)) = 0); - WR5 : (* valid types of camera_models - get for all presentation_areas their presentation_views *) - SIZEOF (QUERY (pv <* QUERY (mi1 <* QUERY (it1 <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF (it1)) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (mi1\mapped_item.mapping_source.mapped_representation)) | - (* search in all presentation_views for - mapped_items and for the subtype of mapped_item, - camera_image_3d_with_scale; the latter shall reference - a camera_usage that shall have as its mapping_origin either - camera_model_d3, camera_model_d3_with_hlhsr, or - camera_model_with_light_sources. *) - NOT (SIZEOF(QUERY(ci <* pv\mapped_item.mapping_source. - mapped_representation\representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(ci)) - AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'CAMERA_MODEL_D3', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'CAMERA_MODEL_D3_WITH_HLHSR', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'CAMERA_MODEL_WITH_LIGHT_SOURCES'] * TYPEOF - (ci\mapped_item.mapping_source.mapping_origin)) - = 1))) = 0))) = 0; - END_ENTITY; (* mechanical_design_shaded_presentation_area *) -(* USED FROM (aic_mechanical_design_shaded_presentation); *) -ENTITY mechanical_design_shaded_presentation_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF mechanical_design_shaded_presentation_representation_items; -WHERE - WR1: (* for all mapped_items check that only - shape_representations and - mechanical_design_shaded_presentation_representations - are referenced *) - SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it))) | NOT (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'MECHANICAL_DESIGN_SHADED_PRESENTATION_REPRESENTATION'] - * TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) - = 1))) = 0; - WR2: (* for all styled_item.item check that in case they are - mapped_items that they are shape_representations *) - SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it))) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(si\styled_item.item))) | NOT ( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item. - item\mapped_item.mapping_source.mapped_representation))) )) = 0; - WR3: (* for all styled_items get their styles via - presentation_style_assignment.styles and check for valid - style types *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (pss <* psa.styles | - NOT (SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE'] - * TYPEOF (pss)) = 1))) = 0))) = 0))) = 0; - WR4: (* for all styled_items get those assigned styles that - are presentation_style_by_contexts and ensure that - these reference only representation_items and - representations as valid contexts *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psbc <* QUERY (psa <* si\styled_item.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF (psa)) | - NOT (SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION'] - * TYPEOF (psbc\presentation_style_by_context.style_context)) = 1))) - = 0))) = 0; - WR5: (* for all styled_items get all assigned point_styles - and ensure that marker_select, marker_size and - marker_colour are valid *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ps <* QUERY (pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE' - IN TYPEOF (pss)) | - NOT ( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MARKER_TYPE' - IN TYPEOF (ps\point_style.marker)) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (ps\point_style.marker_size)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ps\point_style.marker_colour)) = 1)))) = 0))) = 0))) = 0; - WR6: (* for all styled_items get all assigned curve_styles - and ensure that curve_width, curve_font and - curve_colour are valid *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (cs <* QUERY (pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (pss)) | - NOT ( - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (cs\curve_style.curve_colour)) = 1) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (cs\curve_style.curve_width)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0; - WR7: (* for all styled_items get all assigned surface_style_usages - and ensure that its style is a surface_side_style *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_SIDE_STYLE' - IN TYPEOF (ssu\surface_style_usage.style)) )) = 0))) = 0 ))) = 0; - WR8: (* for all styled_items get all assigned surface_style_usages - and the surface_side_styles that they reference, and ensure - that the styles referenced by those surface_side_styles - are among the valid subset *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - NOT (SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_PARAMETER_LINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_CONTROL_GRID', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_SILHOUETTE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_SEGMENTATION_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_BOUNDARY', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_FILL_AREA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_RENDERING'] * TYPEOF (sses)) = 1))) = 0))) = 0))) - = 0))) = 0; - WR9: (* for all surface_style_fill_areas that are referenced by - any surface_side_styles ensure that they are valid - with respect to their colour representation *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (ssfa <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_FILL_AREA' - IN TYPEOF (sses)) | - NOT (SIZEOF (QUERY (fss <* - ssfa\surface_style_fill_area.fill_area.fill_styles | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'FILL_AREA_STYLE_COLOUR' IN TYPEOF (fss)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (fss\fill_area_style_colour.fill_colour)) = 1)))) = 0))) = 0))) - = 0))) = 0))) = 0; - WR10: (* for all surface_style_parameter_lines that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sspl <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF (sses)) | - NOT (( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_colour)) = 1) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_width)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_font)) = 1)) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR11: (* for all surface_style_control_grids that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sscg <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF (sses)) | - NOT (( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_colour)) = 1) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_width)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_font)) = 1)) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sscg\surface_style_control_grid.style_of_control_grid\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR12: (* for all surface_style_silhouettes that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sssh <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF (sses)) | - NOT (( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_colour)) = 1) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_width)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_font)) = 1)) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssh\surface_style_silhouette.style_of_silhouette\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR13: (* for all surface_style_segmentation_curves that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (sssc <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF (sses)) | - NOT (( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF - (sssc\surface_style_segmentation_curve.style_of_segmentation_curve)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_colour)) = 1) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_width)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_font)) = 1)) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (sssc\surface_style_segmentation_curve.style_of_segmentation_curve\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR14: (* for all surface_style_boundaries that are referenced by - any surface_side_styles ensure that they are valid - with respect to the applied curve_style, which may include - rendering *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (ssbd <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_BOUNDARY' IN TYPEOF (sses)) | - NOT (( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_colour)) = 1) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF - (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_width)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'CURVE_STYLE_FONT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] * TYPEOF - (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_font)) = 1)) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_RENDERING' - IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ssbd\surface_style_boundary.style_of_boundary\ - curve_style_rendering.rendering_properties.rendered_colour)) - = 1))) )) = 0))) = 0))) = 0))) = 0; - WR15: (* for all surface_style_renderings that are referenced by - any surface_side_styles ensure that the colour - representation is valid *) - SIZEOF (QUERY (si <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (psa <* si\styled_item.styles | - NOT (SIZEOF (QUERY (ssu <* QUERY (pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF (pss)) | - NOT (SIZEOF (QUERY (ssre <* QUERY (sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SURFACE_STYLE_RENDERING' IN TYPEOF (sses)) | - NOT - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_COLOUR'] * TYPEOF - (ssre\surface_style_rendering.surface_colour)) = 1))) - = 0))) = 0))) = 0))) = 0; - -END_ENTITY; -(* USED FROM (aic_geometrically_bounded_wireframe); *) -ENTITY geometrically_bounded_wireframe_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ( TYPEOF (it) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ]) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ( TYPEOF (it) * [ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ]) = 1) )) >= 1; -WR3 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( crv <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_curve(crv) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( pnts <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' IN TYPEOF (elem)) )| NOT valid_geometrically_bounded_wf_point(pnts) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( cnc <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' IN TYPEOF (elem)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (cnc\conic.position)) )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( gcs <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( pline <* -QUERY ( elem <* gcs\geometric_set.elements| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (elem)) )| NOT ( SIZEOF (pline\polyline.points) > 2) )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; - END_ENTITY ; -(* USED FROM (aic_shell_based_wireframe); *) -ENTITY shell_based_wireframe_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) >= 1; -WR3 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (el.edge_element)) )) = 0) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( pline_el <* -QUERY ( el <* eloop\path.edge_list| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF (el.edge_element\edge_curve.edge_geometry)) )| NOT ( SIZEOF (pline_el.edge_element\edge_curve.edge_geometry\polyline.points) > 2) )) = 0) )) = 0) )) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT valid_wireframe_edge_curve(el.edge_element\edge_curve.edge_geometry) )) = 0) )) = 0) )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_start)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (el.edge_element.edge_end))) )) = 0) )) = 0) )) = 0) )) = 0; -WR7 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( eloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (wsb)) )| NOT ( SIZEOF ( -QUERY ( el <* eloop\path.edge_list| NOT (valid_wireframe_vertex_point(el.edge_element.edge_start\vertex_point.vertex_geometry) AND valid_wireframe_vertex_point(el.edge_element.edge_end\vertex_point.vertex_geometry)) )) = 0) )) = 0) )) = 0) )) = 0; -WR8 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( vloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (vloop\vertex_loop.loop_vertex)) )) = 0) )) = 0) )) = 0; -WR9 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( ws <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN TYPEOF (sb)) )| NOT ( SIZEOF ( -QUERY ( vloop <* -QUERY ( wsb <* ws\wire_shell.wire_shell_extent| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (wsb)) )| NOT valid_wireframe_vertex_point(vloop\vertex_loop.loop_vertex\vertex_point.vertex_geometry) )) = 0) )) = 0) )) = 0; -WR10 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( vs <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF (vs\vertex_shell.vertex_shell_extent.loop_vertex)) )) = 0) )) = 0; -WR11 : -SIZEOF ( -QUERY ( sbwm <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_MODEL' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( vs <* -QUERY ( sb <* sbwm\shell_based_wireframe_model.sbwm_boundary| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_SHELL' IN TYPEOF (sb)) )| NOT valid_wireframe_vertex_point(vs\vertex_shell.vertex_shell_extent.loop_vertex\vertex_point.vertex_geometry) )) = 0) )) = 0; -WR12 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; -WR13 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; - END_ENTITY ; -(* USED FROM (geometric_model_schema); *) -ENTITY geometric_curve_set - SUBTYPE OF (geometric_set); -WHERE - WR1: SIZEOF(QUERY(temp <* SELF\geometric_set.elements | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF(temp))) = 0; -END_ENTITY; -(* USED FROM (Specification_based_configuration_mim); *) -ENTITY configured_effectivity_assignment - SUBTYPE OF (effectivity_assignment); - items : SET [1:?] OF configured_effectivity_item; - WHERE - WR1: (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EFFECTIVITY'] * TYPEOF(SELF.assigned_effectivity) ) = 1) - AND (SELF.assigned_effectivity.id = 'configuration validity'); - WR2: SIZEOF(SELF.items) = 1; - WR3: SIZEOF( QUERY( i <* SELF.items | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) - OR NOT (i\product_definition.frame_of_reference.name IN ['conceptual definition','part occurrence', 'functional definition','alternative definition']) )) = 0; - WR4: SELF.role.name IN ['design', 'usage']; - WR5: (SELF.role.name <> 'design') - OR (SIZEOF( QUERY( i <* SELF.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\product_definition.frame_of_reference.name = 'part occurrence') )) = 0); - WR6: (SELF.role.name <> 'usage') OR (SIZEOF( QUERY( i <* SELF.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) AND (i\product_definition.frame_of_reference.name = 'conceptual definition') )) = 0); - WR7: SELF.role.description IN ['exception', 'inherited', 'local']; - WR8: SIZEOF( QUERY( x <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'EFFECTIVITY_CONTEXT_ASSIGNMENT.ASSIGNED_EFFECTIVITY_ASSIGNMENT') | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONFIGURED_EFFECTIVITY_CONTEXT_ASSIGNMENT' IN TYPEOF(x) )) = 1; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY structured_dimension_callout - SUBTYPE OF (draughting_callout); -WHERE - WR1: SIZEOF (TYPEOF (SELF) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_FEATURE_CALLOUT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_TARGET_CALLOUT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRICAL_TOLERANCE_CALLOUT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT']) = 0; - WR2: SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (con))) | - NOT (ato.name IN - ['dimension value', 'tolerance value', 'unit text', - 'prefix text', 'suffix text']))) = 0; - WR3: SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (con))) | - (ato.name = 'dimension value') - )) >= 1; - WR4: SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'prefix') )) <= 1; - WR5: SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'suffix') )) <= 1; - WR6: NOT((SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con)) ) | - (ato.name = 'prefix text') - )) > 0)) OR - (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'prefix') )) = 1); - WR7: NOT(SIZEOF (QUERY (ato <* QUERY (con <* SELF.contents | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con))) | - (ato.name = 'suffix text') - )) > 0) OR - (SIZEOF (QUERY (dcr <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT_RELATIONSHIP.' + - 'RELATING_DRAUGHTING_CALLOUT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_COMPONENT_RELATIONSHIP' IN TYPEOF (dcr)) AND - (dcr.name = 'suffix') )) = 1); -END_ENTITY; -(* USED FROM (aic_csg); *) -ENTITY csg_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 3; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SOLID', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_REPLICA', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REVOLVED_FACE_SOLID', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (it)) <> 1) )) = 0; -WR3 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; -WR4 : -SIZEOF ( -QUERY ( sr <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_REPLICA' IN TYPEOF (it)) )| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SOLID', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REVOLVED_FACE_SOLID', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTRUDED_FACE_SOLID' ] * TYPEOF (sr\solid_replica.parent_solid)) = 0) )) = 0; -WR5 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (it)) )) > 0; - END_ENTITY ; -(* USED FROM (Component_grouping_mim); *) -ENTITY assembly_group_component_definition_placement_link - SUBTYPE OF (product_definition,product_definition_relationship); - SELF\product_definition_relationship.relating_product_definition : assembly_component; - SELF\product_definition_relationship.related_product_definition : assembly_component; -WHERE - WR1: SELF\product_definition_relationship.related_product_definition :<>: - SELF\product_definition_relationship.relating_product_definition; - WR2: acyclic_product_definition_relationship (SELF, - [SELF\product_definition_relationship.related_product_definition], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASSEMBLY_GROUP_COMPONENT_DEFINITION_PLACEMENT_LINK'); -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY radius_dimension - SUBTYPE OF (dimension_curve_directed_callout); -WHERE - WR1: SIZEOF (QUERY (con <* SELF.contents | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN TYPEOF (con)))<=1; -END_ENTITY; -(* USED FROM (Specification_control_mim); *) - ENTITY class_usage_effectivity_context_assignment - SUBTYPE OF (effectivity_context_assignment); - items : SET [1:?] OF class_usage_effectivity_context_item; - WHERE - WR1: SELF.role.name = 'class usage influence'; - WR2: SIZEOF( QUERY( i <* SELF.items | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(i)) )) = 0; - WR3: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF(SELF.assigned_effectivity_assignment)) AND - (SIZEOF(TYPEOF(SELF.assigned_effectivity_assignment.assigned_effectivity) ) = 1) AND - (SELF.assigned_effectivity_assignment.assigned_effectivity.id = 'class usage') AND - (SIZEOF( QUERY( i <* SELF.assigned_effectivity_assignment\applied_effectivity_assignment.items | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF(i)) )) = 0); - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY leader_directed_dimension - SUBTYPE OF (leader_directed_callout); -WHERE - WR1: SIZEOF (QUERY (con <* SELF.contents | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF (con)))=1; -END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY draughting_elements - SUBTYPE OF (draughting_callout); -WHERE - WR1: SIZEOF (QUERY (l_c <* QUERY (con <* SELF.contents | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN TYPEOF(con))) | - NOT (SIZEOF (QUERY (ldc <* USEDIN (l_c, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_CALLOUT.CONTENTS') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' - IN TYPEOF (ldc)))) <= 1)))=0; - WR2: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' - IN TYPEOF(SELF)) OR - (SIZEOF (QUERY (con <* SELF.contents | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN - TYPEOF (con)))) <= 2); - WR3: SIZEOF (QUERY (rc <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND - (rc.name = 'primary') )) <= 1; - WR4: SIZEOF (QUERY (rc <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND - (rc.name = 'secondary') )) <= 1; - WR5: SIZEOF (QUERY (sec <* QUERY (rc <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (rc)) AND - (rc.name = 'secondary') ) | - NOT (SIZEOF (QUERY (prim <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT_' + - 'RELATIONSHIP.RELATING_DRAUGHTING_CALLOUT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DIMENSION_CALLOUT_RELATIONSHIP' IN TYPEOF (prim)) AND - (prim.name = 'primary') )) = 1))) = 0; -END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY fixed_constituent_assembly_constraint -SUBTYPE OF (assembly_geometric_constraint, - fixed_element_geometric_constraint); - fixed_constituent: representative_shape_representation; -WHERE -WR1: SELF\explicit_constraint.constrained_elements[1] - \geometric_representation_item.dim = 3; -WR2: (assembly_leaf (using_product_definition_of_shape_representation - (fixed_constituent)[1])); -WR3: (SIZEOF(SELF\explicit_constraint.constrained_elements) = 1) AND - (SIZEOF(SELF\explicit_constraint.reference_elements) = 0); -WR4: fixed_constituent IN (using_representations(SELF\explicit_constraint.constrained_elements[1]) + - using_representation_with_mapping(SELF\explicit_constraint.constrained_elements[1])); -END_ENTITY;-- fixed_constituent_assembly_constraint -(* USED FROM (topology_schema); *) -(* Pruned SUPERTYPE *) - ENTITY path - SUPERTYPE OF (ONEOF ( - EDGE_LOOP, - ORIENTED_PATH)) - SUBTYPE OF (topological_representation_item); - edge_list : LIST [1:?] OF UNIQUE oriented_edge; - WHERE - WR1: path_head_to_tail(SELF); - END_ENTITY; -(* USED FROM (aic_draughting_elements); *) -ENTITY dimension_callout_component_relationship - SUBTYPE OF (draughting_callout_relationship); -WHERE - WR1: SELF.name IN ['prefix', 'suffix']; - WR2: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRUCTURED_DIMENSION_CALLOUT' - IN TYPEOF (SELF.relating_draughting_callout); - WR3: SIZEOF (TYPEOF (SELF.related_draughting_callout) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRUCTURED_DIMENSION_CALLOUT']) = 0; - WR4: SELF.related_draughting_callout.contents * - SELF.relating_draughting_callout.contents = - SELF.related_draughting_callout.contents; - WR5: ((SELF.name = 'prefix') AND - (SIZEOF (QUERY (ato <* QUERY (con <* - SELF.related_draughting_callout.contents | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con))) | - NOT (ato.name = 'prefix text') - )) = 0)); - - WR6: ((SELF.name = 'suffix') AND - (SIZEOF (QUERY (ato <* QUERY (con <* - SELF.related_draughting_callout.contents | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(con))) | - NOT (ato.name = 'suffix text') - )) = 0)); -END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY ply_laminate_sequence_definition - SUBTYPE OF (product_definition); - WHERE - WR1: SIZEOF (QUERY (pdr <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATING_PRODUCT_DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN - TYPEOF (pdr))) > 0; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY presentation_style_assignment - SUBTYPE OF (founded_item); - styles : SET [1:?] OF presentation_style_select; - WHERE - WR1: SIZEOF (QUERY (style1 <* SELF.styles | - NOT (SIZEOF (QUERY (style2 <* (SELF.styles - style1) | - NOT ((TYPEOF (style1) <> TYPEOF (style2)) OR - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_USAGE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'EXTERNALLY_DEFINED_STYLE'] * - TYPEOF (style1)) = 1) - ))) = 0 - ))) = 0; - WR2: SIZEOF (QUERY (style1 <* SELF.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN - TYPEOF(style1) - )) <= 2; - WR3: SIZEOF (QUERY (style1 <* SELF.styles | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF (style1)) AND - (SIZEOF (QUERY (style2 <* (SELF.styles - style1) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' IN TYPEOF (style2)) AND - ((style1\surface_style_usage.side = both) OR - (style2\surface_style_usage.side = both) OR - (style1\surface_style_usage.side = style2\surface_style_usage.side)) )) > 0))) = 0; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) -(* Pruned SUPERTYPE *) - ENTITY annotation_occurrence - SUPERTYPE OF ( ( ONEOF ( - ANNOTATION_CURVE_OCCURRENCE, - ANNOTATION_FILL_AREA_OCCURRENCE, - ANNOTATION_TEXT_OCCURRENCE, - ANNOTATION_SYMBOL_OCCURRENCE) )ANDOR( ONEOF ( - ANNOTATION_CURVE_OCCURRENCE, - ANNOTATION_FILL_AREA_OCCURRENCE, - ANNOTATION_PLANE, - ANNOTATION_SYMBOL_OCCURRENCE, - ANNOTATION_TEXT_OCCURRENCE, - TESSELLATED_ANNOTATION_OCCURRENCE) ) ) - SUBTYPE OF (styled_item); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN - TYPEOF (SELF); - WR2: SIZEOF (QUERY (reps <* using_representations(SELF) | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_REPRESENTATION_SELECT' IN TYPEOF(reps)))) = 0; - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY text_style_with_box_characteristics - SUBTYPE OF (text_style); - characteristics : SET [1:4] OF box_characteristic_select; - WHERE - WR1: SIZEOF( QUERY( c1 <* SELF.characteristics | - SIZEOF( QUERY( c2 <* SELF.characteristics - c1 | - TYPEOF (c1) = TYPEOF (c2) - )) > 0 - )) = 0; - END_ENTITY; -(* USED FROM (presentation_definition_schema); *) - ENTITY text_string_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF text_string_representation_item; - WHERE - WR1: SIZEOF ( - QUERY (item <* SELF\representation.items | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_CHARACTER', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEFINED_CHARACTER_GLYPH', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT'] * - TYPEOF (item)) = 0) - )) >= 1; - WR2: SIZEOF ( - QUERY (a2p <* - QUERY (item <* SELF\representation.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT' IN TYPEOF (item)) | - NOT ((SIZEOF ( - QUERY (at <* - QUERY (item <* SELF\representation.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ANNOTATION_TEXT' IN TYPEOF (item)) | - (at\mapped_item.mapping_target :=: a2p))) >= 1) OR - (SIZEOF ( - QUERY (atc <* - QUERY (item <* SELF\representation.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ANNOTATION_TEXT_CHARACTER' IN TYPEOF (item)) | - (atc\mapped_item.mapping_target :=: a2p))) >= 1) - ))) = 0; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_size; - unit : presentation_size_assignment_select; - size : planar_box; - UNIQUE - UR1: unit; - WHERE - WR1: (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_REPRESENTATION' - IN TYPEOF (SELF.unit)) AND - item_in_context (SELF.size, - SELF.unit\representation.context_of_items) - ) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_IN_SET' - IN TYPEOF (SELF.unit)) AND - (SIZEOF (QUERY ( ais <* SELF.unit\area_in_set.in_set.areas | - NOT item_in_context (SELF.size, ais.area\representation. - context_of_items) )) = 0)); - END_ENTITY; -(* USED FROM (Characteristic_mim); *) - ENTITY table_representation_item - SUBTYPE OF (compound_representation_item); - WHERE - WR1: SIZEOF(QUERY(itet <* SELF\compound_representation_item.item_element | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROW_REPRESENTATION_ITEM' IN TYPEOF(itet)) - )) = 0; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY extruded_face_solid_with_multiple_draft_angles - SUBTYPE OF (extruded_face_solid_with_trim_conditions); - drafted_edges : LIST[2:?] OF SET[1:?] OF edge_curve; - draft_angles : LIST[2:?] OF plane_angle_measure; -WHERE - WR1: SIZEOF(drafted_edges) = SIZEOF(draft_angles); - WR2: SIZEOF(QUERY(q <* draft_angles | q = 0)) = 0; - WR3: SIZEOF(QUERY(q <* drafted_edges | (SIZEOF(QUERY(r <* q | NOT - (SELF\swept_face_solid.swept_face IN - using_items(r,[])))) > 0))) = 0; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY solid_replica - SUBTYPE OF (solid_model); - parent_solid : solid_model; - transformation : cartesian_transformation_operator_3d; -WHERE - WR1: acyclic_solid_replica(SELF, parent_solid); - WR2: parent_solid\geometric_representation_item.dim = 3; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_target - SUBTYPE OF (shape_aspect); - target_id : identifier; -INVERSE - target_basis_relationship : SET[1:?] OF shape_aspect_relationship FOR relating_shape_aspect; -WHERE - WR1: SIZEOF(QUERY(sar <* SELF\datum_target.target_basis_relationship | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM' IN TYPEOF (sar\shape_aspect_relationship.related_shape_aspect)))) = 1; - WR2: SELF\shape_aspect.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum_feature - SUPERTYPE OF (ONEOF ( - DIMENSIONAL_LOCATION_WITH_DATUM_FEATURE, - DIMENSIONAL_SIZE_WITH_DATUM_FEATURE)) - SUBTYPE OF (shape_aspect); -INVERSE - feature_basis_relationship : SET[1:?] OF shape_aspect_relationship FOR relating_shape_aspect; -WHERE - WR1: SIZEOF(QUERY(sar <* SELF\datum_feature.feature_basis_relationship | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM' IN TYPEOF (sar\shape_aspect_relationship.related_shape_aspect)))) = 1; - WR2: SELF\shape_aspect.product_definitional = TRUE; -END_ENTITY; -(* USED FROM (Value_with_unit_extension_mim); *) -ENTITY thermal_resistance_unit - SUBTYPE OF (derived_unit); - WHERE - WR1: derive_dimensional_exponents(SELF) = - dimensional_exponents ( -1.0, -1.0, -3.0, 0.0, 1.0, 0.0, 0.0 ); -END_ENTITY; -(* USED FROM (Extended_measure_representation_mim); *) - ENTITY value_range - SUBTYPE OF (compound_representation_item); - WHERE - WR1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'SET_REPRESENTATION_ITEM' IN TYPEOF ( item_element ) ) AND value_range_wr1 ( item_element ); - WR2: value_range_wr2 ( item_element ); - WR3: value_range_wr3 ( item_element ); - END_ENTITY; -(* USED FROM (Document_assignment_mim); *) -ENTITY document_product_equivalence - SUBTYPE OF (document_product_association); -WHERE - WR1: SELF\document_product_association.name = 'equivalence'; - WR2: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT' IN TYPEOF(SELF\document_product_association.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF\document_product_association.related_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1)); - WR3: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document version') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF.related_product\product_definition_formation.of_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1)); - WR4: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(SELF.related_product)) OR ((SELF\document_product_association.relating_document.kind.product_data_type = 'configuration controlled document definition') AND (SIZEOF(QUERY(prpc <* USEDIN(SELF\document_product_association.related_product\product_definition.formation.of_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | prpc.name = 'document')) = 1)); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY composite_curve_on_surface - SUPERTYPE OF ( - BOUNDARY_CURVE) - SUBTYPE OF (composite_curve); -DERIVE - basis_surface : SET[0:2] OF surface := get_basis_surface(SELF); -WHERE - WR1: SIZEOF(basis_surface) > 0; - WR2: constraints_composite_curve_on_surface(SELF); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY b_spline_curve_with_knots - SUBTYPE OF (b_spline_curve); - knot_multiplicities : LIST[2:?] OF INTEGER; - knots : LIST[2:?] OF parameter_value; - knot_spec : knot_type; -DERIVE - upper_index_on_knots : INTEGER := SIZEOF(knots); -WHERE - WR1: constraints_param_b_spline(degree, upper_index_on_knots, upper_index_on_control_points, knot_multiplicities, knots); - WR2: SIZEOF(knot_multiplicities) = upper_index_on_knots; -END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY product_concept_feature_category - SUBTYPE OF (group); -WHERE - WR1 : SIZEOF(QUERY(aga <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GROUP_ASSIGNMENT.ASSIGNED_GROUP' ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'APPLIED_GROUP_ASSIGNMENT' IN TYPEOF(aga)) AND - (( aga\group_assignment.role\object_role.name <> 'specification category member' ) OR - ( SIZEOF(QUERY (i <* aga\applied_group_assignment.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( i ) ) AND - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF (i)))) <> SIZEOF (aga\applied_group_assignment.items) - )) - )) =0; -END_ENTITY; -(* USED FROM (aic_elementary_brep); *) - ENTITY elementary_brep_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1 : SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * - TYPEOF(it)) = 1))) = 0; - WR2 : SIZEOF (QUERY (it <* SELF.items | - SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; - WR3 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh.cfs_faces | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(fcs)))) = 0 - ))) = 0 - ))) = 0; - WR4 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN - TYPEOF(fcs\face_surface.face_geometry)) - ))) = 0 - ))) = 0 - ))) = 0; - WR5 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN - TYPEOF(oe.edge_element)))) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR6 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE'] * - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) = 1 ) - )) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR7 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN - TYPEOF(oe.edge_end)) - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR8 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND - (NOT (SIZEOF (oe\oriented_edge.edge_element\ - edge_curve.edge_geometry\polyline.points) >= 3)) - )) = 0 - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR9 : SIZEOF (QUERY (msb <* QUERY (it <* items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF - (msb\manifold_solid_brep.outer))) - = 0; - WR10 : SIZEOF (QUERY (brv <* QUERY (it <* items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* brv\brep_with_voids.voids | - csh\oriented_closed_shell.orientation)) = 0))) = 0; - WR11 : SIZEOF (QUERY (mi <* QUERY (it <* items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION' IN - TYPEOF(mi\mapped_item.mapping_source. - mapped_representation)))) = 0; - WR12 : SIZEOF (QUERY (msb <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY (csh <* msb_shells(msb) | - NOT (SIZEOF (QUERY(fcs <* csh\connected_face_set.cfs_faces | - NOT (SIZEOF(QUERY (vlp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF(bnds.bound)) | - NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN - TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop.loop_vertex)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN - TYPEOF(vlp_fbnds\face_bound.bound\vertex_loop. - loop_vertex\vertex_point.vertex_geometry)) - ))) = 0))) = 0))) = 0))) =0; - END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY camera_image_2d_with_scale - SUBTYPE OF (camera_image); - DERIVE - scale : positive_ratio_measure := (SELF\mapped_item.mapping_target\planar_extent.size_in_x)/ - (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window\planar_extent.size_in_x); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAMERA_MODEL_D2' IN TYPEOF(SELF\mapped_item.mapping_source.mapping_origin)); - WR2: aspect_ratio (SELF\mapped_item.mapping_target) = aspect_ratio (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window); - WR3: SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window_clipping; - END_ENTITY; -(* USED FROM (Draughting_element_specialisations_mim); *) - ENTITY surface_condition_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF ( QUERY ( c <* SELF.contents | SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'ANNOTATION_CURVE_OCCURRENCE' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'ANNOTATION_SYMBOL_OCCURRENCE' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'ANNOTATION_TEXT_OCCURRENCE']* TYPEOF - ( c ) ) <>1 ) ) =0; - END_ENTITY; -(* USED FROM (drawing_definition_schema); *) -ENTITY drawing_sheet_revision - SUBTYPE OF (presentation_area); - revision_identifier : identifier; -WHERE - WR1: SIZEOF( QUERY(item <* SELF\representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN (TYPEOF(item))) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAWING_SHEET_REVISION' IN - (TYPEOF(item\mapped_item.mapping_source.mapped_representation)))))=0; -END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY package_product_concept_feature - SUBTYPE OF (product_concept_feature); -WHERE - WR1: NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE' IN TYPEOF ( SELF ) ) ; - WR2: SIZEOF ( QUERY ( cfr <* USEDIN ( SELF , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.' +'RELATING_PRODUCT_CONCEPT_FEATURE' ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF (cfr ) ) AND - (SIZEOF ( QUERY (ipcf <* USEDIN ( cfr , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.' + 'CONDITION' ) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( ipcf ) - )) = 1) - )) > 0; -END_ENTITY; -(* USED FROM (draughting_dimension_schema); *) -ENTITY dimension_callout - SUBTYPE OF (draughting_callout); -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' - IN (TYPEOF (SELF))) XOR - (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' - IN (TYPEOF(dce_1))))) = 0); - WR2: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' - IN (TYPEOF (SELF))) XOR - (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' - IN (TYPEOF(dce_1))))) = 0); - WR3: -('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' - IN (TYPEOF (SELF))) XOR - (SIZEOF (QUERY(dce_1 <* SELF\draughting_callout.contents | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' - IN (TYPEOF(dce_1))))) = 0); -END_ENTITY; -(* USED FROM (Product_class_mim); *) -ENTITY inclusion_product_concept_feature - SUBTYPE OF (conditional_concept_feature); - WHERE - WR1: NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PACKAGE_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( SELF ) ) ; - WR2: SIZEOF (QUERY( cfr <* USEDIN( SELF ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATING_PRODUCT_CONCEPT_FEATURE' ) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF( cfr ) - )) + - SIZEOF(QUERY( cfr <* USEDIN(SELF , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP.RELATED_PRODUCT_CONCEPT_FEATURE' ) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION' IN TYPEOF(cfr) - )) = 0; - WR3: SELF.condition.conditional_operator.name = 'implication'; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY thread_runout - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(SELF.of_shape)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) = 3)) )) - = 0)) )) = 0); - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - NOT (srwp_i.name IN ['length of runout','pitch or dimension', - 'included or extra']) )) > 0 ) )) = 0 ) )) = 0; - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'length of runout')) )) = 1)) )) - = 0)) )) <= 1); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'pitch or dimension') - AND (it.description IN ['pitch','pitch or dimension'])) - )) = 1)) )) = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'included or extra') - AND (it.description IN ['included','extra'])) - )) = 1)) )) = 0)) )) = 0); -END_ENTITY; -- thread_runout -(* USED FROM (aic_machining_feature); *) -ENTITY vee_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF (impl_rep.used_representation.items) <= 6)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'profile angle') OR - (srwp_i.name = 'tilt angle') OR - (srwp_i.name = 'profile radius') OR - (srwp_i.name = 'first length') OR - (srwp_i.name = 'second length') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'profile radius'))) <= 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'profile angle'))) = 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'tilt angle'))) = 1))) = 0))) = 0; - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; - WR10: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'first length'))) <= 1))) = 0))) = 0; - WR11: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'second length'))) <= 1))) = 0))) = 0; -END_ENTITY; -- vee_profile -(* USED FROM (aic_machining_feature); *) -ENTITY turned_knurl - SUBTYPE OF (feature_definition); - WHERE - WR1: (SELF\characterized_object.description IN - ['diamond','diagonal','straight']); - WR2: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - ({6 <= SIZEOF(pdr.used_representation.items) <= 9}) )) = 1 )) = 1; - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of teeth')) )) <= 1)) )) = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'major diameter'))))= 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'nominal diameter')) )) = 1)) )) - = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | (NOT (SIZEOF(QUERY ( impl_rep <* - QUERY ( pdr <* USEDIN(pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'tooth depth')) )) <= 1)) )) - = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'root fillet')) )) <= 1)) )) - = 0)) )) = 0); - WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diametral pitch')) )) = 1)) )) - = 0)) )) = 0); - WR9: ((NOT (SELF\characterized_object.description IN - ['diamond','diagonal'])) OR ( - SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( - pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'helix angle')) )) = 1)) )) - = 0)) )) = 0)); - WR10: ((NOT (SELF\characterized_object.description = 'diagonal')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'helix hand')) )) = 1)) )) - = 0)) )) = 0)); - WR11: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial area occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied area usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') IN TYPEOF(sar))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_AREA' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR12: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); -END_ENTITY; -- turned_knurl -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY curve_distance_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : SET[1:2] OF curve; - SELF\explicit_constraint.reference_elements : - SET[0:4] OF point_curve_or_surface_constraint_element; - near_points : SET[0:4] OF near_point_relationship; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CDGC_WITH_DIMENSION' - IN TYPEOF(SELF)) - AND (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2)); - WR2: SIZEOF(near_points) <= - SIZEOF(SELF\explicit_constraint.reference_elements); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY mechanism_representation - SUBTYPE OF (representation); - SELF\representation.context_of_items : geometric_representation_context; - SELF\representation.items : SET[1:?] OF pair_representation_relationship; - represented_topology : kinematic_topology_representation_select; -DERIVE - represented_joints : SET[1:?] OF kinematic_joint := collect_joints(items); -WHERE - WR1: (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KINEMATIC_TOPOLOGY_STRUCTURE' IN TYPEOF(represented_topology)) - AND (represented_joints :=: represented_topology.items)) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KINEMATIC_TOPOLOGY_DIRECTED_STRUCTURE' IN TYPEOF(represented_topology)) - AND (represented_joints :=: get_kinematic_joints_from_oriented_joints(represented_topology.items))) OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KINEMATIC_TOPOLOGY_NETWORK_STRUCTURE' IN TYPEOF(represented_topology)) - AND (represented_joints :=: get_kinematic_joints_from_kinematic_loops(represented_topology.items))); -END_ENTITY; -(* USED FROM (product_definition_schema); *) - ENTITY product_category_relationship; - name : label; - description : OPTIONAL text; - category : product_category; - sub_category : product_category; - WHERE - WR1: acyclic_product_category_relationship(SELF, [SELF.sub_category]); - END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY kinematic_path - ABSTRACT SUPERTYPE OF (ONEOF ( - KINEMATIC_PATH_DEFINED_BY_NODES, - KINEMATIC_PATH_DEFINED_BY_CURVES)) - SUBTYPE OF (geometric_representation_item); - segments : LIST [1:?] OF kinematic_path_segment; - t_start : parameter_value; -DERIVE - n_segments : INTEGER := SIZEOF(segments); - closed_path : LOGICAL := segments[n_segments].transition <> discontinuous; -WHERE - WR1: SIZEOF(QUERY(using_rep <* using_representations(SELF)| - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER' IN TYPEOF(using_rep.context_of_items))))= 0; - -- WR2 - parameters are increasing - -- WR3 - different end positions -END_ENTITY; -(* USED FROM (Part_and_zone_laminate_tables_mim); *) - ENTITY composite_assembly_sequence_definition - SUBTYPE OF (product_definition); - WHERE - WR1: SIZEOF (QUERY (pdr <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATING_PRODUCT_DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'NEXT_ASSEMBLY_USAGE_OCCURRENCE' IN - TYPEOF (pdr))) > 0; - END_ENTITY; -(* USED FROM (Inertia_characteristics_mim); *) -ENTITY moments_of_inertia_representation -SUBTYPE OF (representation); -WHERE -WR1: (SIZEOF(SELF.items) = 1) AND - (SIZEOF( QUERY( i <* SELF.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i.name = 'moments of inertia matrix') )) = 1); -WR2: SIZEOF( QUERY( i <* SELF.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'COMPOUND_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'LIST_REPRESENTATION_ITEM' IN TYPEOF(i\compound_representation_item.item_element)) AND - value_range_aggregate_rep_item (i\compound_representation_item.item_element) )) = 1; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY implicit_explicit_positioned_sketch_relationship - SUBTYPE OF (representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item - : repositioned_neutral_sketch; - SELF\representation_item_relationship.related_representation_item - : positioned_sketch; -WHERE - WR1: SIZEOF(QUERY(q <* using_representations( - SELF\representation_item_relationship.related_representation_item) | - item_in_context( - SELF\representation_item_relationship.relating_representation_item, - q.context_of_items))) > 0; -END_ENTITY; -(* USED FROM (sketch_schema); *) -ENTITY neutral_sketch_representation - SUBTYPE OF (shape_representation); - neutral_sketch_semantics : curves_or_area; - SELF\representation.items : SET[1:?] OF sketch_element_select; -WHERE - WR1: SIZEOF(QUERY(q <* items | NOT( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(q)) AND - (q\geometric_representation_item.dim = 3)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_motion_representation_schema); *) -ENTITY interpolated_configuration_sequence - SUBTYPE OF (representation_item); - segments : LIST[2:?] OF interpolated_configuration_segment; -DERIVE - n_segments : INTEGER := SIZEOF(segments); - closed_interpolation : LOGICAL := segments[n_segments].interpolation <> discontinuous_interpolation_type; - configured_mechanism : mechanism_representation := segments[1].state.represented_mechanism; -WHERE - WR1: SIZEOF( QUERY(ics <* segments | ics.state.represented_mechanism :<>: configured_mechanism)) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY high_order_kinematic_pair - ABSTRACT SUPERTYPE OF (ONEOF ( - LINEAR_FLEXIBLE_AND_PLANAR_CURVE_PAIR, - POINT_ON_SURFACE_PAIR, - POINT_ON_PLANAR_CURVE_PAIR, - PLANAR_CURVE_PAIR, - SURFACE_PAIR)) - SUBTYPE OF (kinematic_pair); -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_2 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY low_order_kinematic_pair_with_motion_coupling - ABSTRACT SUPERTYPE OF (ONEOF ( - GEAR_PAIR, - LINEAR_FLEXIBLE_AND_PINION_PAIR, - RACK_AND_PINION_PAIR, - SCREW_PAIR)) - SUBTYPE OF (kinematic_pair); -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_2 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY low_order_kinematic_pair - SUPERTYPE OF (ONEOF ( - REVOLUTE_PAIR, - CYLINDRICAL_PAIR, - SPHERICAL_PAIR, - SPHERICAL_PAIR_WITH_PIN, - PLANAR_PAIR, - UNCONSTRAINED_PAIR, - FULLY_CONSTRAINED_PAIR, - PRISMATIC_PAIR, - UNIVERSAL_PAIR, - LOW_ORDER_KINEMATIC_PAIR_WITH_RANGE)) - SUBTYPE OF (kinematic_pair); - t_x : BOOLEAN; - t_y : BOOLEAN; - t_z : BOOLEAN; - r_x : BOOLEAN; - r_y : BOOLEAN; - r_z : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_2 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY shape_aspect_relationship_representation_association; - represented_shape_aspect_relationship: shape_aspect_relationship; - representing_representation_relationship : representation_relationship; -WHERE -WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN - TYPEOF(representing_representation_relationship\ - representation_relationship.rep_1)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN - TYPEOF(representing_representation_relationship\ - representation_relationship.rep_2)); -WR2: (represented_shape_aspect_relationship.relating_shape_aspect IN - using_shape_aspect_of_shape_representation - (representing_representation_relationship.rep_1)) AND - (represented_shape_aspect_relationship.related_shape_aspect IN - using_shape_aspect_of_shape_representation - (representing_representation_relationship.rep_2)); -WR3: ((find_representative_shape_representation_of_product_definition - (using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect)). - context_of_items) :=: - (find_representative_shape_representation_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect). - context_of_items)) AND - ((find_representative_shape_representation_of_product_definition - (using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect)). - context_of_items) :=: - (find_representative_shape_representation_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect). - context_of_items)); -WR4: using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect) :<>: - using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect); -WR5: find_assembly_root ([using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.relating_shape_aspect)]) :=: - find_assembly_root ([using_product_definition_of_shape_aspect - (represented_shape_aspect_relationship.related_shape_aspect)]); -END_ENTITY; -- shape_aspect_relationship_representation_association -(* USED FROM (aic_geometrically_bounded_2d_wireframe); *) -ENTITY geometrically_bounded_2d_wireframe_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SELF.context_of_items\geometric_representation_context. - coordinate_space_dimension = 2; - WR2: SIZEOF (QUERY (item <* SELF.items | - NOT (SIZEOF (TYPEOF (item) * -['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_2D', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM']) = 1) - )) = 0; - WR3: SIZEOF (QUERY (item <* SELF.items | - SIZEOF (TYPEOF (item) * -['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM']) = 1 - )) >= 1; - WR4: SIZEOF (QUERY (mi <* QUERY (item <* SELF.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF (item))) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION' - IN TYPEOF - (mi\mapped_item.mapping_source.mapped_representation)) - )) = 0; - WR5: SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' - IN TYPEOF (item))) | - NOT (SIZEOF (QUERY (elem <* gcs\geometric_set.elements | - NOT (SIZEOF (TYPEOF (elem) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_2D', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE']) = - 1) - )) = 0) - )) = 0; - WR6: SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' - IN TYPEOF (item))) | - NOT (SIZEOF (QUERY (crv <* - QUERY (elem <* gcs\geometric_set.elements | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' - IN TYPEOF (elem))) | - NOT (valid_basis_curve_in_2d_wireframe - (crv)) - )) = 0) - )) = 0; - WR7: SIZEOF (QUERY (gcs <* QUERY (item <* SELF.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_CURVE_SET' - IN TYPEOF (item))) | - NOT (SIZEOF (QUERY (pnt <* - QUERY (elem <* gcs\geometric_set.elements | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' - IN TYPEOF(elem))) | - NOT (SIZEOF (TYPEOF (pnt) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE']) - = 1) - )) = 0) - )) = 0; -END_ENTITY; -(* USED FROM (assembly_feature_relationship_schema); *) -ENTITY representative_shape_representation - SUBTYPE OF (shape_representation); -WHERE -WR1: unique_in_product_definition (SELF) OR unique_in_shape_aspect (SELF); -END_ENTITY; -- representative_shape_representation -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY free_edge - SUBTYPE OF(inapt_topology); - SELF\shape_data_quality_criterion.assessment_specification : shape_data_quality_assessment_by_logical_test; - WHERE - WR1 : validate_measured_data_type(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_VALUE'); - WR2 : validate_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SET']); - WR3 : validate_locations_of_extreme_value_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE']); - WR4 : validate_accuracy_types(SELF, - []); - WR5 : SIZEOF(QUERY(sdqr <* bag_to_set(USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(sdqr)) AND - (SIZEOF(QUERY(sdqiir <* bag_to_set(USEDIN(sdqr, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(sdqiir)) AND - (SIZEOF(QUERY(sdqiri <* sdqiir.inspected_instances| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL' - IN TYPEOF(sdqiri.inspected_elements[1])))) = 0) - )) = 0) - )) = 0; - END_ENTITY; -(* USED FROM (variational_representation_schema); *) -ENTITY variational_representation - SUBTYPE OF (representation); -INVERSE - cm_link : variational_current_representation_relationship FOR rep_1; -WHERE - WR1: SIZEOF(QUERY(q <* SELF\representation.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION_ITEM' - IN TYPEOF(q))) > 0; - WR2: SIZEOF(QUERY(q <* (SELF\representation.items - - cm_link.rep_2.items) | invalidate_vrep_item(q))) = 0; -END_ENTITY; -(* USED FROM (material_property_definition_schema); *) -ENTITY material_property -SUBTYPE OF (property_definition); -UNIQUE - UR1 : SELF\property_definition.name, SELF\property_definition.definition; -WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_OBJECT' IN - TYPEOF(SELF\property_definition.definition)) OR - (SIZEOF(bag_to_set(USEDIN(SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) - - QUERY(temp <* bag_to_set(USEDIN(SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'MATERIAL_PROPERTY_REPRESENTATION' IN - TYPEOF(temp)))) = 0); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY screw_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - pitch : length_measure; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_value_range - SUBTYPE OF(compound_representation_item); - WHERE - WR1 : ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SET_REPRESENTATION_ITEM' - IN TYPEOF (SELF\compound_representation_item.item_element)) AND - ((SIZEOF(SELF\compound_representation_item.item_element) = 2) AND - ((SIZEOF(QUERY (i1 <* SELF\compound_representation_item.item_element | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i1)))) = 2) - OR (SIZEOF(QUERY (i2 <* SELF\compound_representation_item.item_element | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF(i2)))) = 2))) ; - WR2 : (SIZEOF(QUERY (i <* SELF\compound_representation_item.item_element - | (i.name = 'upper limit'))) = 1) - AND (SIZEOF(QUERY (i <* SELF\compound_representation_item.item_element - | (i.name = 'lower limit'))) = 1); - WR3 : (SIZEOF(QUERY(i1 <* SELF\compound_representation_item.item_element | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND - (SIZEOF (QUERY (i2 <* SELF\compound_representation_item.item_element | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i2)) AND - (i1 :<>: i2) AND - (i1\measure_with_unit.unit_component :=: i2\measure_with_unit.unit_component))) = 1))) = 2) - OR - (SIZEOF(QUERY(i1 <* SELF\compound_representation_item.item_element | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND - (SIZEOF (QUERY (i2 <* SELF\compound_representation_item.item_element | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF (i2)) AND - (i1 :<>: i2) AND - (TYPEOF(i1\value_representation_item.value_component) = - TYPEOF(i2\value_representation_item.value_component))) - ) = 1))) = 2); - END_ENTITY; -(* USED FROM (parameterization_schema); *) -ENTITY fixed_instance_attribute_set - SUBTYPE OF (variational_representation_item); - fixed_attributes : SET[1:?] OF instance_attribute_reference; -WHERE - WR1: SIZEOF(QUERY(q <* using_representations(SELF) | - SIZEOF(QUERY(r <* q.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' - IN TYPEOF(r))) > 1)) = 0; -END_ENTITY; -(* USED FROM (aic_manifold_surface); *) -ENTITY manifold_surface_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF (it)) = 1))) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF (it)) = 1)) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SURFACE_SHAPE_REPRESENTATION' - IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) - AND - (SIZEOF(QUERY (mr_it <* - mi\mapped_item.mapping_source.mapped_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' - IN TYPEOF (mr_it)))) > 0 )))) = 0; - WR4: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (sh <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL'] - * TYPEOF (sh)) = 1))) = 0))) = 0; - WR5: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF (fa)) )) = 0))) - = 0))) = 0; - WR6: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (msf_surface_check(fa\face_surface.face_geometry))))) = 0))) - = 0))) = 0; - WR7: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (bnds <* fa.bounds | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP'] - * TYPEOF (bnds.bound)) = 1))) = 0)))) = 0))) = 0))) = 0; - WR8: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF - (oe.edge_element)))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR9: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe_cv <* QUERY (oe <* - elp_fbnds\path.edge_list | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN TYPEOF (oe.edge_element)) | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE'] * - TYPEOF (oe_cv.edge_element\edge_curve.edge_geometry)) - = 1))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR10: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT (msf_curve_check (oe.edge_element\edge_curve.edge_geometry)))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR11: SIZEOF (QUERY(sbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list| - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF - (oe.edge_element.edge_start)) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN - TYPEOF (oe.edge_element.edge_end))))) - = 0))) = 0)))) = 0))) = 0))) = 0; - WR12: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (elp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds\path.edge_list | - NOT ((SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_start\vertex_point.vertex_geometry)) = 1) - AND - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (oe.edge_element.edge_end\vertex_point.vertex_geometry)) = 1 - )))) = 0))) = 0)))) = 0))) = 0))) = 0; - WR13: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex)))) = 0)))) = 0))) - = 0))) = 0; - WR14: SIZEOF (QUERY (sbsm <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_SURFACE_MODEL' IN TYPEOF (it)) | - NOT (SIZEOF (QUERY (cfs <* - sbsm\shell_based_surface_model.sbsm_boundary | - NOT (SIZEOF (QUERY (fa <* cfs\connected_face_set.cfs_faces | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fa)) - OR - (SIZEOF (QUERY (vlp_fbnds <* QUERY (bnds <* fa.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP' IN TYPEOF (bnds.bound)) | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE'] * TYPEOF - (vlp_fbnds\vertex_loop.loop_vertex\vertex_point.vertex_geometry)) - = 1))) = 0)))) = 0))) = 0))) = 0; -END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_measurement_requirement - SUBTYPE OF(representation_item); - WHERE - WR1 : SIZEOF(QUERY(q <* - bag_to_set( USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (product_data_quality_criteria_schema); *) - ENTITY data_quality_criterion - SUBTYPE OF(representation_item); - WHERE - WR1 : SIZEOF(QUERY(q <* - bag_to_set( USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY listed_product_space - SUBTYPE OF (maths_space, generic_literal); - factors : LIST OF maths_space; -WHERE - WR1: SIZEOF (QUERY (space <* factors | - NOT (expression_is_constant(space)))) = 0; - WR2: no_cyclic_space_reference(SELF, []); - WR3: NOT (the_empty_space IN factors); -END_ENTITY; -(* USED FROM (date_time_schema); *) -ENTITY calendar_date - SUBTYPE OF (date); - day_component : day_in_month_number; - month_component : month_in_year_number; -WHERE - WR1: valid_calendar_date (SELF); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY universal_pair - SUBTYPE OF (low_order_kinematic_pair); - input_skew_angle : OPTIONAL plane_angle_measure; -DERIVE - SELF\low_order_kinematic_pair.t_x : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.t_z : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_x : BOOLEAN := TRUE; - SELF\low_order_kinematic_pair.r_y : BOOLEAN := FALSE; - SELF\low_order_kinematic_pair.r_z : BOOLEAN := TRUE; - skew_angle : plane_angle_measure := NVL (input_skew_angle, 0.0); -WHERE - WR1: COS (plane_angle_for_pair_in_radian (SELF, skew_angle)) - > 0.0; -END_ENTITY; -(* USED FROM (mathematical_functions_schema); *) -ENTITY finite_space - SUBTYPE OF (maths_space, generic_literal); - members : SET OF maths_value; -WHERE - WR1: VALUE_UNIQUE(members); - WR2: SIZEOF (QUERY (expr <* QUERY (member <* members | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GENERIC_EXPRESSION' IN TYPEOF (member)) - | NOT expression_is_constant(expr))) = 0; - WR3: no_cyclic_space_reference(SELF, []); -END_ENTITY; -(* USED FROM (procedural_shape_model_schema); *) -ENTITY explicit_procedural_geometric_representation_item_relationship - SUBTYPE OF (explicit_procedural_representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : - procedural_shape_representation_sequence; - SELF\representation_item_relationship.related_representation_item : - geometric_representation_item; -WHERE - WR1 : NOT ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION_SEQUENCE' - IN TYPEOF( - SELF\representation_item_relationship.related_representation_item)); -END_ENTITY; -(* USED FROM (procedural_model_schema); *) -ENTITY explicit_procedural_representation_relationship - SUBTYPE OF (representation_relationship); - SELF\representation_relationship.rep_1 : procedural_representation; -WHERE - WR1 : (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCEDURAL_REPRESENTATION' - IN TYPEOF(SELF\representation_relationship.rep_2))) AND - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VARIATIONAL_REPRESENTATION' - IN TYPEOF(SELF\representation_relationship.rep_2))); - WR2 : SELF\representation_relationship.rep_1.context_of_items :=: - SELF\representation_relationship.rep_2.context_of_items; -END_ENTITY; -(* USED FROM (presentation_organization_schema); *) - ENTITY presentation_area - SUBTYPE OF (presentation_representation); - WHERE - WR1: ((SIZEOF (QUERY (ais <* USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') | - SIZEOF (USEDIN (ais, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT')) =1)) > 0) OR - (SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT')) =1)); - END_ENTITY; -(* USED FROM (Generic_material_aspects_mim); *) - ENTITY general_material_property - SUBTYPE OF (general_property); - WHERE - WR1: SIZEOF( QUERY( gpa <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GENERAL_PROPERTY_ASSOCIATION.BASE_DEFINITION') | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MATERIAL_PROPERTY' IN TYPEOF(gpa\general_property_association.derived_definition)) )) = 0; - END_ENTITY; -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - ENTITY mechanical_design_geometric_presentation_representation - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF mechanical_design_geometric_presentation_representation_items; - WHERE - WR1: SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it))) | NOT (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION'] - * TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) - = 1))) = 0; - WR2: SIZEOF(QUERY(smi <* QUERY(si <* QUERY(it <* SELF.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it))) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(si\styled_item.item))) | NOT ( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_REPRESENTATION' IN TYPEOF (smi\styled_item. - item\mapped_item.mapping_source.mapped_representation))) )) = 0; - WR3: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(pss <* psa.styles | NOT (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE'] - * TYPEOF(pss)) = 1))) = 0))) = 0))) = 0; - WR4: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | - NOT (SIZEOF(QUERY(psbc <* QUERY(psa <* si\styled_item.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF(psa)) | NOT (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION'] - * TYPEOF(psbc\presentation_style_by_context.style_context)) - = 1))) = 0))) = 0; - WR5: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ps <* QUERY(pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_STYLE' - IN TYPEOF(pss)) | NOT - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ps\point_style.marker_size)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(ps\point_style.marker_colour)) - = 1)))) = 0))) = 0))) = 0; - WR6: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(cs <* QUERY(pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF(pss)) | NOT((SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(cs\curve_style.curve_colour)) = 1) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (cs\curve_style.curve_width)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(cs\curve_style.curve_font)) = 1)))) = 0))) = 0))) = 0; - WR7: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_SIDE_STYLE' IN TYPEOF - (ssu\surface_style_usage.style)))) = 0))) = 0))) = 0; - WR8: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - NOT (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_PARAMETER_LINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_CONTROL_GRID', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_SILHOUETTE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_SEGMENTATION_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_FILL_AREA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_BOUNDARY'] - * TYPEOF(sses)) = 1))) = 0))) = 0))) = 0))) = 0; - WR9: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sspl <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_PARAMETER_LINE' IN TYPEOF(sses)) | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF - (sspl\surface_style_parameter_line.style_of_parameter_lines)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_colour)) = 1) - AND ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_width)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sspl\surface_style_parameter_line. - style_of_parameter_lines\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR10: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sscg <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_CONTROL_GRID' IN TYPEOF(sses)) | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (sscg\surface_style_control_grid.style_of_control_grid)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_colour)) = 1) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_width)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sscg\surface_style_control_grid. - style_of_control_grid\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR11: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | - NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssh <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_SILHOUETTE' IN TYPEOF(sses)) | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (sssh\surface_style_silhouette.style_of_silhouette)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_colour)) = 1) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssh\surface_style_silhouette.style_of_silhouette\curve_style. - curve_width)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sssh\surface_style_silhouette. - style_of_silhouette\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR12: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(sssc <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_SEGMENTATION_CURVE' IN TYPEOF(sses)) | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF - (sssc\surface_style_segmentation_curve.style_of_segmentation_curve)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_colour)) = 1) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF - (sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_width)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(sssc\surface_style_segmentation_curve. - style_of_segmentation_curve\curve_style.curve_font)) = 1)))) - = 0))) = 0))) = 0))) = 0; - WR13: SIZEOF(QUERY(si <* QUERY(it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' - IN TYPEOF(it)) | NOT (SIZEOF(QUERY(psa <* si\styled_item.styles | - NOT (SIZEOF(QUERY(ssu <* QUERY(pss <* psa.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_STYLE_USAGE' - IN TYPEOF(pss)) | NOT (SIZEOF(QUERY(ssbd <* QUERY(sses <* - ssu\surface_style_usage.style\surface_side_style.styles | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SURFACE_STYLE_BOUNDARY' IN TYPEOF(sses)) | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (ssbd\surface_style_boundary.style_of_boundary)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COLOUR_RGB', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_COLOUR'] - * TYPEOF(ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_colour)) = 1) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'POSITIVE_LENGTH_MEASURE' IN TYPEOF (ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_width)) - AND (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE_FONT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_PRE_DEFINED_CURVE_FONT'] - * TYPEOF(ssbd\surface_style_boundary. - style_of_boundary\curve_style.curve_font)) = 1)))) = 0))) - = 0))) = 0))) = 0; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_surface_pair - SUBTYPE OF (high_order_kinematic_pair); - pair_surface : surface; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(pair_surface IN r.items))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_surface_pair_with_range - SUBTYPE OF (point_on_surface_pair); - range_on_pair_surface : rectangular_trimmed_surface; - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_pitch : OPTIONAL plane_angle_measure; - upper_limit_pitch : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_pitch) - OR - NOT EXISTS(upper_limit_pitch)) - XOR - (lower_limit_pitch < upper_limit_pitch); - WR2: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR3: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_pair_surface IN r.items))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY surface_pair - ABSTRACT SUPERTYPE OF (ONEOF ( - SLIDING_SURFACE_PAIR, - ROLLING_SURFACE_PAIR) - ANDOR - SURFACE_PAIR_WITH_RANGE) - SUBTYPE OF (high_order_kinematic_pair); - surface_1 : surface; - surface_2 : surface; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(surface_1 IN r.items))) = 0; - WR2: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(surface_2 IN r.items))) = 0; - WR3: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY surface_pair_with_range - SUBTYPE OF (surface_pair); - range_on_surface_1 : rectangular_trimmed_surface; - range_on_surface_2 : rectangular_trimmed_surface; - lower_limit_actual_rotation : OPTIONAL plane_angle_measure; - upper_limit_actual_rotation : OPTIONAL plane_angle_measure; -WHERE - WR1: SELF\surface_pair.surface_1 :=: range_on_surface_1.basis_surface; - WR2: SELF\surface_pair.surface_2 :=: range_on_surface_2.basis_surface; - WR3: (NOT EXISTS(lower_limit_actual_rotation) - OR - NOT EXISTS(upper_limit_actual_rotation)) - XOR - (lower_limit_actual_rotation < upper_limit_actual_rotation); - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_surface_1 IN r.items))) = 0; - WR5: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(range_on_surface_2 IN r.items))) = 0; -END_ENTITY; -(* USED FROM (aic_mechanical_design_geometric_presentation); *) - ENTITY mechanical_design_geometric_presentation_area - SUBTYPE OF (presentation_area); - SELF\representation.items : SET[1:?] OF mechanical_design_geometric_presentation_area_items; - WHERE - WR1: -- only presentation_views or axis2_placements in - -- mechanical_design_geometric_presentation_area - SIZEOF(QUERY(it1 <* SELF.items | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it1)) - OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it1\mapped_item.mapping_source.mapped_representation)))) = 0; - WR2: -- only mechanical_design_geometric_presentation_representation - -- via camera_image_3d_with_scale or axis2_placements in - -- presentation_views - SIZEOF(QUERY(pv <* QUERY(mi1 <* QUERY(it1 <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it1)) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (mi1\mapped_item.mapping_source.mapped_representation)) | - -- search in all presentation_views for axis2_placements and - -- mapped_items and for the subtype of mapped_item - -- camera_image_3d_with_scale; the latter shall reference - -- a mechanical_design_geometric_presentation_representation; - -- the supertype mapped_item shall reference presentation_view. - NOT (SIZEOF(QUERY(it2 <* pv\mapped_item.mapping_source. - mapped_representation\representation.items | - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT' - IN TYPEOF(it2)) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it2)) AND NOT - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2))) AND NOT ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESENTATION_VIEW' - IN TYPEOF - (it2\mapped_item.mapping_source.mapped_representation))) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'CAMERA_IMAGE_3D_WITH_SCALE' IN TYPEOF(it2)) - AND NOT ( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION' - IN TYPEOF (it2\mapped_item.mapping_source.mapped_representation) )) - ))) = 0))) = 0; - WR3: (SIZEOF(QUERY(ps <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ((ps\presentation_size.size.size_in_x <= 0) - OR - (ps\presentation_size.size.size_in_y <= 0)))) = 0) - AND - (SIZEOF(QUERY(ais <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') | - (SIZEOF(QUERY(ps <* USEDIN (ais, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ((ps\presentation_size.size.size_in_x <= 0) - OR - (ps\presentation_size.size.size_in_y <= 0)))) > 0))) = 0); - WR4: (SIZEOF(QUERY(ps <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1) - AND - (SIZEOF(QUERY(ps <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0) - OR - ((SIZEOF(QUERY(ais <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') | - (SIZEOF(QUERY(ps <* USEDIN (ais, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' IN TYPEOF (ps.size.placement)))) = 1))) = 1) - AND - (SIZEOF(QUERY(ais <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AREA_IN_SET.AREA') | - (SIZEOF(QUERY(ps <* USEDIN (ais, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_SIZE.UNIT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_3D' IN TYPEOF (ps.size.placement)))) = 0))) = 1)); - END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY value_representation_item - SUBTYPE OF (representation_item); - value_component : measure_value; - WHERE - WR1: SIZEOF (QUERY (rep <* using_representations (SELF) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' - IN TYPEOF (rep.context_of_items) - ))) = 0; - END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY linear_flexible_and_planar_curve_pair - SUBTYPE OF (high_order_kinematic_pair); - pair_curve : curve; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(pair_curve IN r.items))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_planar_curve_pair - SUBTYPE OF (high_order_kinematic_pair); - pair_curve : curve; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(pair_curve IN r.items))) = 0; - WR2: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY point_on_planar_curve_pair_with_range - SUBTYPE OF (point_on_planar_curve_pair); - range_on_pair_curve : trimmed_curve; - lower_limit_yaw : OPTIONAL plane_angle_measure; - upper_limit_yaw : OPTIONAL plane_angle_measure; - lower_limit_pitch : OPTIONAL plane_angle_measure; - upper_limit_pitch : OPTIONAL plane_angle_measure; - lower_limit_roll : OPTIONAL plane_angle_measure; - upper_limit_roll : OPTIONAL plane_angle_measure; -WHERE - WR1: (NOT EXISTS(lower_limit_pitch) - OR - NOT EXISTS(upper_limit_pitch)) - XOR - (lower_limit_pitch < upper_limit_pitch); - WR2: (NOT EXISTS(lower_limit_yaw) - OR - NOT EXISTS(upper_limit_yaw)) - XOR - (lower_limit_yaw < upper_limit_yaw); - WR3: (NOT EXISTS(lower_limit_roll) - OR - NOT EXISTS(upper_limit_roll)) - XOR - (lower_limit_roll < upper_limit_roll); - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_pair_curve IN r.items))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_curve_pair - SUPERTYPE OF (ONEOF ( - SLIDING_CURVE_PAIR, - ROLLING_CURVE_PAIR) - ANDOR - PLANAR_CURVE_PAIR_RANGE) - SUBTYPE OF (high_order_kinematic_pair); - curve_1 : curve; - curve_2 : curve; - orientation : BOOLEAN; -WHERE - WR1: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(curve_1 IN r.items))) = 0; - WR2: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(curve_2 IN r.items))) = 0; - WR3: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY planar_curve_pair_range - SUBTYPE OF (planar_curve_pair); - range_on_curve_1 : trimmed_curve; - range_on_curve_2 : trimmed_curve; -WHERE - WR1: SELF\planar_curve_pair.curve_1 :=: range_on_curve_1.basis_curve; - WR2: SELF\planar_curve_pair.curve_2 :=: range_on_curve_2.basis_curve; - WR3: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_1 | NOT(range_on_curve_1 IN r.items))) = 0; - WR4: SIZEOF( QUERY(r <* SELF\kinematic_pair.associated_link_representations_2 | NOT(range_on_curve_2 IN r.items))) = 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -(* Pruned SUPERTYPE *) -ENTITY geometric_representation_item - SUPERTYPE OF ( ( ONEOF ( - POINT, - DIRECTION, - VECTOR, - PLACEMENT, - CARTESIAN_TRANSFORMATION_OPERATOR, - CURVE, - SURFACE, - EDGE_CURVE, - FACE_SURFACE, - POLY_LOOP, - VERTEX_POINT, - SOLID_MODEL, - BOOLEAN_RESULT, - SPHERE, - RIGHT_CIRCULAR_CONE, - RIGHT_CIRCULAR_CYLINDER, - TORUS, - BLOCK, - PRIMITIVE_2D, - RIGHT_ANGULAR_WEDGE, - VOLUME, - HALF_SPACE_SOLID, - SHELL_BASED_SURFACE_MODEL, - FACE_BASED_SURFACE_MODEL, - SHELL_BASED_WIREFRAME_MODEL, - EDGE_BASED_WIREFRAME_MODEL, - GEOMETRIC_SET, - TESSELLATED_ITEM) )ANDOR( (ONEOF ( - CAMERA_MODEL, - CAMERA_MODEL_D3_MULTI_CLIPPING_INTERSECTION, - CAMERA_MODEL_D3_MULTI_CLIPPING_UNION, - CURVE, - DIRECTION, - LIGHT_SOURCE)) )ANDOR( (ONEOF ( - ANNOTATION_FILL_AREA, - COMPOSITE_TEXT, - CURVE, - DEFINED_CHARACTER_GLYPH, - DEFINED_SYMBOL, - POINT, - SYMBOL_TARGET, - TEXT_LITERAL)) )ANDOR( (ONEOF ( - CURVE, - EXTERNALLY_DEFINED_HATCH_STYLE, - EXTERNALLY_DEFINED_TILE_STYLE, - FILL_AREA_STYLE_HATCHING, - FILL_AREA_STYLE_TILE_COLOURED_REGION, - FILL_AREA_STYLE_TILE_CURVE_WITH_STYLE, - FILL_AREA_STYLE_TILE_SYMBOL_WITH_STYLE, - FILL_AREA_STYLE_TILES, - ONE_DIRECTION_REPEAT_FACTOR, - POINT, - VECTOR)) )ANDOR( ONEOF ( - KINEMATIC_PATH, - PLACEMENT) )ANDOR( (ONEOF ( - CURVE, - PLANAR_EXTENT)) )ANDOR( ONEOF ( - ROTATION_ABOUT_DIRECTION, - SU_PARAMETERS) ) ) - SUBTYPE OF (representation_item); -DERIVE - dim : dimension_count := dimension_of(SELF); -WHERE - WR1: SIZEOF (QUERY (using_rep <* using_representations (SELF) | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF (using_rep.context_of_items)))) = 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY direction - SUBTYPE OF (geometric_representation_item); - direction_ratios : LIST[2:3] OF REAL; -WHERE - WR1: SIZEOF(QUERY(tmp <* direction_ratios | tmp <> 0.0)) > 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY gear_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - radius_first_link : length_measure; - radius_second_link : length_measure; - bevel : plane_angle_measure; - helical_angle : plane_angle_measure; - gear_ratio : REAL; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY shell_based_surface_model - SUBTYPE OF (geometric_representation_item); - sbsm_boundary : SET[1:?] OF shell; -WHERE - WR1: constraints_geometry_shell_based_surface_model(SELF); -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY rack_and_pinion_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - pinion_radius : length_measure; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIGID_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (aic_geometrically_bounded_surface); *) -ENTITY geometrically_bounded_surface_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF(QUERY(it <* SELF.items | NOT (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * TYPEOF(it)) = 1))) = 0; - WR2: SIZEOF(QUERY(it <* SELF.items | SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) = 1)) > 0; - WR3: SIZEOF(QUERY(mi <* QUERY(it <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION' IN TYPEOF(mi\mapped_item.mapping_source.mapped_representation)) AND (SIZEOF(QUERY(mr_it <* mi\mapped_item.mapping_source.mapped_representation.items | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(mr_it)))) > 0)))) = 0; - WR4: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(pnt <* QUERY(gsel <* gs\geometric_set.elements | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' IN TYPEOF(gsel)) | NOT (gbsf_check_point(pnt)))) = 0))) = 0; - WR5: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(cv <* QUERY(gsel <* gs\geometric_set.elements | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF(gsel)) | NOT (gbsf_check_curve(cv)))) = 0))) = 0; - WR6: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | NOT (SIZEOF(QUERY(sf <* QUERY(gsel <* gs\geometric_set.elements | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF(gsel)) | NOT (gbsf_check_surface(sf)))) = 0))) = 0; - WR7: SIZEOF(QUERY(gs <* QUERY(it <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_SET' IN TYPEOF(it)) | SIZEOF(QUERY(gsel <* gs\geometric_set.elements | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF(gsel))) > 0)) > 0; -END_ENTITY; -(* USED FROM (kinematic_structure_schema); *) -ENTITY linear_flexible_and_pinion_pair - SUBTYPE OF (low_order_kinematic_pair_with_motion_coupling); - pinion_radius : length_measure; -WHERE - WR1: SIZEOF( QUERY(lr <* SELF\kinematic_pair.associated_link_representations_1 | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_FLEXIBLE_LINK_REPRESENTATION' IN TYPEOF(lr)))) = 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rational_b_spline_curve - SUBTYPE OF (b_spline_curve); - weights_data : LIST[2:?] OF REAL; -DERIVE - weights : ARRAY[0:upper_index_on_control_points] OF REAL := list_to_array(weights_data,0, upper_index_on_control_points); -WHERE - WR1: SIZEOF(weights_data) = SIZEOF(SELF\b_spline_curve. control_points_list); - WR2: curve_weights_positive(SELF); -END_ENTITY; -(* USED FROM (kinematic_property_schema); *) -ENTITY kinematic_property_mechanism_representation - SUBTYPE OF (kinematic_property_definition_representation); - SELF\property_definition_representation.used_representation : mechanism_representation; - base : kinematic_link_representation; -WHERE - WR1: SIZEOF( QUERY( i <* used_representation.items | - (base :=: i\representation_relationship.rep_1) OR - (base :=: i\representation_relationship.rep_2))) > 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rational_b_spline_surface - SUBTYPE OF (b_spline_surface); - weights_data : LIST[2:?] OF LIST[2:?] OF REAL; -DERIVE - weights : ARRAY[0:u_upper] OF ARRAY[0:v_upper] OF REAL := make_array_of_array(weights_data,0,u_upper,0,v_upper); -WHERE - WR1: (SIZEOF(weights_data) = SIZEOF(SELF\b_spline_surface.control_points_list)) AND (SIZEOF(weights_data[1]) = SIZEOF(SELF\b_spline_surface.control_points_list[1])); - WR2: surface_weights_positive(SELF); -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY datum - SUBTYPE OF (shape_aspect); - identification : identifier; -INVERSE - established_by_relationships : SET[1:?] OF shape_aspect_relationship FOR related_shape_aspect; -UNIQUE - UR1: identification,SELF\shape_aspect.of_shape; -WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMMON_DATUM' IN TYPEOF(SELF)) - XOR ((SIZEOF(QUERY(x <* SELF\datum.established_by_relationships | - SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_FEATURE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_TARGET'] * - TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)) = 1)) >= 1)); - WR2: SIZEOF(QUERY(x <* SELF\datum.established_by_relationships | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM_FEATURE' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) <= 1; - WR3: SELF\shape_aspect.product_definitional = FALSE; - WR4: SELF\shape_aspect.name = ''; -END_ENTITY; -(* USED FROM (shape_aspect_definition_schema); *) -ENTITY common_datum - SUBTYPE OF (composite_shape_aspect, datum); -WHERE - WR1: SIZEOF (SELF\composite_shape_aspect.component_relationships) = 2; - WR2: SIZEOF (QUERY ( sar <* SELF\composite_shape_aspect.component_relationships| NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DATUM' IN TYPEOF (sar.related_shape_aspect)) AND NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMMON_DATUM' IN TYPEOF (sar.related_shape_aspect))) )) = 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY rectangular_composite_surface - SUBTYPE OF (bounded_surface); - segments : LIST[1:?] OF LIST[1:?] OF surface_patch; -DERIVE - n_u : INTEGER := SIZEOF(segments); - n_v : INTEGER := SIZEOF(segments[1]); -WHERE - WR1: SIZEOF(QUERY (s <* segments | n_v <> SIZEOF (s))) = 0; - WR2: constraints_rectangular_composite_surface(SELF); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY point_replica - SUBTYPE OF (point); - parent_pt : point; - transformation : cartesian_transformation_operator; -WHERE - WR1: transformation.dim = parent_pt.dim; - WR2: acyclic_point_replica (SELF,parent_pt); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY composite_curve - SUBTYPE OF (bounded_curve); - segments : LIST[1:?] OF composite_curve_segment; - self_intersect : LOGICAL; -DERIVE - n_segments : INTEGER := SIZEOF(segments); - closed_curve : LOGICAL := segments[n_segments].transition <> discontinuous; -WHERE - WR1: ((NOT closed_curve) AND (SIZEOF(QUERY(temp <* segments | temp.transition = discontinuous)) = 1)) OR ((closed_curve) AND (SIZEOF(QUERY(temp <* segments | temp.transition = discontinuous)) = 0)); -END_ENTITY; -(* USED FROM (Specified_product_mim); *) - ENTITY product_identification - SUBTYPE OF (configuration_item, characterized_object); - SELF\configuration_item.item_concept : product_class; - WHERE - WR1 : SIZEOF(QUERY - ( cd <* USEDIN ( SELF ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONFIGURATION_DESIGN.CONFIGURATION' ) - | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'PRODUCT_DEFINITION_FORMATION' IN TYPEOF ( cd. design ) ) - AND - ( SIZEOF ( QUERY - ( - prpc <* USEDIN ( cd. design\product_definition_formation.of_product , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') - | - prpc. name IN ['part' , 'raw material' , 'tool'] ) ) >0 - ) - ) - ) <=1; - WR2 : NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'CONFIGURABLE_ITEM' IN TYPEOF( SELF ) ) - XOR ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'PRODUCT_SPECIFICATION' IN TYPEOF ( SELF ) ) ; - END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY annotation_subfigure_occurrence - SUBTYPE OF (annotation_symbol_occurrence); -WHERE - WR1: SIZEOF (QUERY (sty <* SELF.styles | - NOT (SIZEOF (sty.styles) = 1) - )) = 0; - WR2: SIZEOF (QUERY (sty <* SELF.styles | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NULL_STYLE' - IN TYPEOF (sty.styles[1])) ))=0; - WR3: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' - IN TYPEOF (SELF.item)); - WR4: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_SUBFIGURE_REPRESENTATION' - IN TYPEOF - (SELF.item\mapped_item.mapping_source.mapped_representation)); -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_subfigure_representation - SUBTYPE OF (symbol_representation); - SELF\representation.items : SET[1:?] OF draughting_subfigure_representation_item; -WHERE - WR1: SIZEOF (QUERY (item <* SELF\representation.items | - SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_OCCURRENCE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT'] * - TYPEOF (item)) = 1)) >= 1; - WR2: SIZEOF (QUERY (srm <* QUERY (rm <* - USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'REPRESENTATION_MAP.MAPPED_REPRESENTATION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMBOL_REPRESENTATION_MAP' - IN TYPEOF(rm))) | - NOT (SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' IN TYPEOF(mi))) - | NOT (SIZEOF (QUERY (aso <* - USEDIN (a_s, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'STYLED_ITEM.ITEM') | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SUBFIGURE_OCCURRENCE' - IN TYPEOF(aso)))) = 0))) = 0))) > 0; - WR3: SIZEOF (SELF.context_of_items.representations_in_context) = 1; -END_ENTITY; -(* USED FROM (aic_draughting_annotation); *) -ENTITY draughting_annotation_occurrence - SUBTYPE OF (annotation_occurrence); -WHERE - WR1: -- curve_has_curve_style: - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' - IN TYPEOF (SELF))) OR - (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' - IN TYPEOF (sty.styles[1]))) )) = 0); - WR2: -- fill_area_has_fill_style: - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' - IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE' - IN TYPEOF (sty.styles[1]))) )) = 0); - WR3: -- styled_fill_boundaries: - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_FILL_AREA_OCCURRENCE' - IN TYPEOF (SELF))) OR (SIZEOF (QUERY (bound <* - SELF.item\annotation_fill_area.boundaries | - NOT (SIZEOF (QUERY (si <* - USEDIN (bound, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'STYLED_ITEM.ITEM') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF (si)))) > 0))) = 0); - WR4: -- symbol_has_symbol_style: - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' - IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) AND - (SIZEOF (TYPEOF (sty.styles[1]) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMBOL_STYLE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NULL_STYLE']) = 1)) )) = 0); - WR5: -- allowable_symbol_representations: - (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_SYMBOL' - IN TYPEOF(SELF.item)))) OR - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_SYMBOL_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_SUBFIGURE_REPRESENTATION'] * - TYPEOF (SELF.item\mapped_item.mapping_source. - mapped_representation)) = 1); - WR6: -- text_has_text_style: - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF))) OR - (SIZEOF (QUERY (sty <* SELF.styles | - NOT ((SIZEOF (sty.styles) = 1) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STYLE' - IN TYPEOF (sty.styles[1]))) )) = 0); - WR7: -- allowable_text: - (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF))) OR - (SIZEOF (TYPEOF(SELF.item) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL']) = 1); - WR8: -- text_not_nested: - (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item)))) OR (SIZEOF (QUERY (tl <* - SELF.item\composite_text.collected_text | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' - IN TYPEOF (tl)) )) = 0); - WR9: -- text_alignment_literals: - (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' - IN TYPEOF (SELF.item)))) OR (SELF.item\text_literal.alignment - IN ['baseline left', 'baseline centre', 'baseline right']); - WR10: -- text_alignment_composites: - (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (tl <* QUERY (text <* SELF. - item\composite_text.collected_text - |('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF(text))) | - NOT (tl\text_literal.alignment IN - ['baseline left', 'baseline centre', 'baseline right']) )) = 0); - WR11: -- single_text_alignment: - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(SELF)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item))) OR check_text_alignment(SELF.item); - WR12: -- single_text_font: - NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(SELF)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item))) OR check_text_font(SELF.item); - WR13: -- allowable_text_literals: - (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(SELF)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (tl <* QUERY (text <* - SELF.item\composite_text.collected_text | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL' IN TYPEOF (text))) | - NOT (SIZEOF (TYPEOF(tl) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'TEXT_LITERAL_WITH_BLANKING_BOX', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'TEXT_LITERAL_WITH_ASSOCIATED_CURVES']) = 0) )) = 0); - WR14: -- styled_text_literal_curves: - (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL_WITH_ASSOCIATED_CURVES' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (crv <* - SELF.item\text_literal_with_associated_curves. - associated_curves | - NOT (SIZEOF (QUERY (si <* USEDIN (crv, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM.ITEM') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' - IN TYPEOF (si)) )) > 0) )) = 0); - WR15: -- styled_composite_text_curves: - (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF (SELF)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT_WITH_ASSOCIATED_CURVES' - IN TYPEOF (SELF.item)))) OR - (SIZEOF (QUERY (crv <* - SELF.item\composite_text_with_associated_curves. - associated_curves | - NOT (SIZEOF (QUERY (si <* USEDIN (crv, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM.ITEM') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_CURVE_OCCURRENCE' - IN TYPEOF (si)) )) > 0) )) = 0); -WR16: -- curve_style_has_width: - SIZEOF (QUERY (cs <* QUERY (sty <* SELF.styles | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF (sty.styles[1]))) - | NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF (cs.styles[1]\curve_style.curve_width)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' - IN TYPEOF (cs.styles[1]\curve_style. - curve_width\measure_with_unit.value_component))))) = 0; -WR17: -- tiling_constraints: - SIZEOF (QUERY (fas <* QUERY (sty <* SELF.styles | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE' - IN TYPEOF (sty.styles[1]))) | - NOT ((SIZEOF (QUERY (fs <* fas.styles[1]\fill_area_style.fill_styles - | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE_TILES' - IN TYPEOF (fs)))) <= 1) - AND (SIZEOF (QUERY (fst <* QUERY (fs <* - fas.styles[1]\fill_area_style.fill_styles | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE_TILES' - IN TYPEOF (fs))) | - NOT (SIZEOF (fst\fill_area_style_tiles.tiles) = 1) - )) = 0)) - )) = 0; - WR18: -- hatching_constraints: - SIZEOF (QUERY (fas <* QUERY (sty <* SELF.styles | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE' - IN TYPEOF (sty.styles[1]))) | - NOT (SIZEOF (QUERY (fsh <* QUERY (fs <* - fas.styles[1]\fill_area_style.fill_styles | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FILL_AREA_STYLE_HATCHING' - IN TYPEOF (fs))) | - NOT (fsh\fill_area_style_hatching.point_of_reference_hatch_line :=: - fsh\fill_area_style_hatching.pattern_start) )) = 0) )) = 0; - WR19: -- text_style_constraint: - SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STYLE' - IN TYPEOF(sty.styles[1]))) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'TEXT_STYLE_WITH_BOX_CHARACTERISTICS' - IN TYPEOF (ts.styles[1])))) = 0; - WR20: -- text_style_characteristics: - SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_STYLE_WITH_BOX_CHARACTERISTICS' - IN TYPEOF (sty.styles[1]))) | - NOT (SIZEOF (ts.styles[1]\text_style_with_box_characteristics. - characteristics) = 4) )) = 0; -END_ENTITY; -(* USED FROM (Basic_data_representation_mim); *) - ENTITY rational_representation_item - SUBTYPE OF (representation_item, slash_expression); - WHERE - WR1: SIZEOF( QUERY( operand <* SELF\binary_generic_expression.operands | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_LITERAL' IN TYPEOF(operand)))) = 0; - END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY draughting_model - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF draughting_model_item_select; - UNIQUE - UR1: SELF\representation.name; - WHERE - WR1: SIZEOF (QUERY (mi <* QUERY (it <* SELF.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it))) | - NOT ( - SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_MODEL'] * - TYPEOF (mi\mapped_item.mapping_source. - mapped_representation)) = 1 - ))) = 0; - WR2: SIZEOF (QUERY (smi <* QUERY (si <* QUERY (it <* SELF.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF(it))) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN - TYPEOF(si\styled_item.item))) | - (NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' IN - TYPEOF(smi\styled_item.item\mapped_item. - mapping_source.mapped_representation)) - AND - (SIZEOF (QUERY (sty <* smi\styled_item.styles | - (NOT (SIZEOF (QUERY (psa <* sty.styles | - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF(psa))))) = 1 - )))) = 1))) - )) = 0; - END_ENTITY; -(* USED FROM (aic_associative_draughting_elements); *) - ENTITY dimension_text_associativity - SUBTYPE OF (text_literal, mapped_item); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DIMENSION_REPRESENTATION' - IN TYPEOF (SELF\mapped_item. - mapping_source.mapped_representation)); - WR2: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' - IN TYPEOF (SELF\mapped_item.mapping_target)); - WR3: SIZEOF (QUERY (ato <* QUERY (si <* - USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM.ITEM') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT_OCCURRENCE' - IN TYPEOF(si))) | - NOT (SIZEOF( QUERY (dc <* - USEDIN (ato, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT.CONTENTS') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' - IN TYPEOF (dc))) - * [SELF\mapped_item.mapping_target]) = 1) - )) = 0; - END_ENTITY; -(* USED FROM (assembly_constraint_schema); *) -ENTITY binary_assembly_constraint - ABSTRACT SUPERTYPE OF (ONEOF ( - PARALLEL_ASSEMBLY_CONSTRAINT, - SURFACE_DISTANCE_ASSEMBLY_CONSTRAINT_WITH_DIMENSION, - ANGLE_ASSEMBLY_CONSTRAINT_WITH_DIMENSION, - PERPENDICULAR_ASSEMBLY_CONSTRAINT, - INCIDENCE_ASSEMBLY_CONSTRAINT, - COAXIAL_ASSEMBLY_CONSTRAINT, - TANGENT_ASSEMBLY_CONSTRAINT)) - SUBTYPE OF (assembly_geometric_constraint, - representation_relationship_with_transformation); -SELF\representation_relationship.rep_1: representative_shape_representation; -SELF\representation_relationship.rep_2: representative_shape_representation; -WHERE -WR1: (SELF\explicit_constraint.constrained_elements[1] - \geometric_representation_item.dim = 3) AND - (SELF\explicit_constraint.reference_elements[1] - \geometric_representation_item.dim = 3); -WR2: (SELF\representation_relationship.rep_1 IN (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1))) AND - (SELF\representation_relationship.rep_2 IN (using_representations - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2) + - using_representation_with_mapping - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2))); -WR3: (SIZEOF(SELF\explicit_constraint.constrained_elements)=1) AND - (SIZEOF(SELF\explicit_constraint.reference_elements)=1); -WR4: (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_1 = - SELF\explicit_constraint.reference_elements[1]) AND - (SELF\representation_relationship_with_transformation. - transformation_operator\item_defined_transformation.transform_item_2 = - SELF\explicit_constraint.constrained_elements[1]); - -END_ENTITY;-- binary_assembly_constraint -(* USED FROM (iso13584_generic_expressions_schema); *) -ENTITY generic_expression - ABSTRACT SUPERTYPE OF (ONEOF ( - SIMPLE_GENERIC_EXPRESSION, - UNARY_GENERIC_EXPRESSION, - BINARY_GENERIC_EXPRESSION, - MULTIPLE_ARITY_GENERIC_EXPRESSION)); -WHERE - WR1: is_acyclic(SELF); -END_ENTITY; -(* USED FROM (topology_schema); *) - ENTITY face - SUPERTYPE OF (ONEOF ( - FACE_SURFACE, - SUBFACE, - ORIENTED_FACE)) - SUBTYPE OF (topological_representation_item); - bounds : SET[1:?] OF face_bound; - WHERE - WR1: NOT (mixed_loop_type_set(list_to_set(list_face_loops(SELF)))); - WR2: SIZEOF(QUERY(temp <* bounds | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN - TYPEOF(temp))) <= 1; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY partial_circular_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 3)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')))) = 1)) )) - = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'sweep angle')) )) = 1)) )) - = 0)) )) = 0); - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; -END_ENTITY; -- partial_circular_profile -(* USED FROM (aic_machining_feature); *) -ENTITY taper - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['angle taper','diameter taper', - 'directed taper']); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR5: ((NOT (SELF.description = 'angle taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'taper angle')) )) = 1)) )) - = 0)) )) = 0)); - WR6: ((NOT (SELF.description = 'diameter taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'final diameter')) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'directed taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'angle')) )) = 1)) )) - = 0)) )) = 0)); - WR8: ((NOT (SELF.description = 'directed taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'direction') )) - = 1)) )) = 0)); -END_ENTITY; -- taper -(* USED FROM (aic_machining_feature); *) -ENTITY thread - SUBTYPE OF (feature_definition); - WHERE - WR1 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) AND - (8 <= SIZEOF(pdr.used_representation.items)) AND - (SIZEOF(pdr.used_representation.items) <= 11)) )) = 1) )) = 1); - WR2 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'major diameter')) )) = 1)) )) - = 0)) )) = 0); - WR3 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'minor diameter')) )) - <= 1)) )) = 0)) )) = 0); - WR4 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'pitch diameter')) )) <= 1)) )) - = 0)) )) = 0); - WR5 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'number of threads')) )) - = 1)) )) = 0)) )) = 0); - WR6 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class')) )) = 1)) )) = 0)) )) - = 0); - WR7 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'form')) )) = 1)) )) = 0)) )) - = 0); - WR8 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'hand')AND - (it.description IN ['left', 'right']) ) )) = 1)) )) = 0)) )) - = 0); - WR9 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'qualifier')) )) <= 1)) )) - = 0)) )) = 0); - WR10: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'thread side') AND - ((it.description = 'internal') OR (it.description = 'external'))) )) - = 1)) )) = 0)) )) = 0); - WR11: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'crest')) )) <= 1)) )) - = 0)) )) = 0); - WR12: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial area occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied area usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_AREA' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR13: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR14 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class 2')) )) <= 1)) )) = 0)) )) - = 0); - WR15 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'nominal size')) )) - <= 1)) )) = 0)) )) = 0); - - WR16: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'thread runout') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'thread runout usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THREAD_RUNOUT' - IN TYPEOF(sdr.relating_shape_aspect)) )) <= 1)) )) = 1)) )) = 0); - END_ENTITY; -- thread -(* USED FROM (aic_machining_feature); *) -ENTITY tee_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 9) - AND (SIZEOF (impl_rep.used_representation.items) <= 10)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'width') OR - (srwp_i.name = 'depth') OR - (srwp_i.name = 'cross bar width') OR - (srwp_i.name = 'cross bar depth') OR - (srwp_i.name = 'first offset') OR - (srwp_i.name = 'second offset') OR - (srwp_i.name = 'first angle') OR - (srwp_i.name = 'second angle') OR - (srwp_i.name = 'radius') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'width'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'depth'))) = 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'cross bar width'))) = 1))) - = 0))) = 0; - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'cross bar depth'))) = 1))) - = 0))) = 0; - WR10: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first offset'))) = 1))) - = 0))) = 0; - WR11: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second offset'))) = 1))) - = 0))) = 0; - WR12: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first angle'))) = 1))) - = 0))) = 0; - WR13: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second angle'))) = 1))) - = 0))) = 0; - WR14: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) <= 1))) = 0))) = 0; - WR15: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; -END_ENTITY; -- tee_profile -(* USED FROM (aic_machining_feature); *) -ENTITY step - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear')) )) = 1)) )) - = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'removal boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); - WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; - WR5: SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(csa)) AND - (csa.name='uncut volume') AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROTRUSION'] * TYPEOF(sar. - related_shape_aspect)) = 1)) )) = 1)) )) <= 1)) )) = 1; -END_ENTITY; -- step -(* USED FROM (aic_machining_feature); *) -ENTITY slot_end - SUBTYPE OF (shape_aspect); - WHERE -WR1 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition); - -WR2 : SELF.description IN ['open','radiused','flat','woodruff', - 'loop']; - -WR3: (NOT (SELF.description IN ['open','radiused','loop'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 0)) )) = 0); - -WR4: (NOT (SELF.description IN ['flat','woodruff'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - -WR5: (NOT (SELF.description IN ['flat'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0); - -WR6: (NOT (SELF.description = 'flat')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) - = 2) AND - (it.name = 'first radius')) )) = 1)) )) = 0)) )) = 0); - -WR7: (NOT (SELF.description = 'flat')) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) - = 2) AND (it.name = 'second radius')) )) = 1)) )) = 0)) )) = 0); - -WR8: (NOT (SELF.description = 'woodruff')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF(it)) AND - (it.name = 'radius')) )) = 1)) )) = 0)) )) = 0); - -WR9: (NOT (SELF.description IN ['woodruff'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0); - -WR10: SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - (((fcr.related_shape_aspect.description = 'end condition occurrence') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect))) )) >= 1; - -END_ENTITY; -- slot_end -(* USED FROM (aic_machining_feature); *) - ENTITY slot - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF(QUERY ( pd <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(impl_rep. - used_representation.items) = 1)) )) = 0)) )) = 0; - WR2: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | (( - sa_occ.description = 'swept shape occurrence') AND (SIZEOF( - QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | ((sar.description = - 'profile usage') AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar))) ) | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF(sdr.relating_shape_aspect)) = 1) )) = 1)) )) = 1)) )) - = 0; - WR3: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | (( - sa_occ.description = 'course of travel occurrence') AND ( - SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | ((sar.description = - 'path feature component usage') AND ((sar.name = - 'course of travel') AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar)))) ) | ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0; - - WR4: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT((SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'end condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.relating_shape_aspect.description - IN ['open','radiused','flat','woodruff'])) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1) ) )) = 2) - OR - (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'end condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.relating_shape_aspect.description IN ['loop'])) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1) ) )) = 1))) )) =0; - - WR5: (NOT (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'end condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (((sar.description = 'slot end usage') AND - (sar.name IN ['course of travel start','course of travel end'])) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT_END' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.relating_shape_aspect.description IN ['loop'])) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1)) )) = 1)) )) =0) - OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - ((sar.name = 'course of travel') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar)))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description - IN ['complex','complete circular'])) - )) = 1)) )) = 1)) )) = 0)); - - WR6: SIZEOF(QUERY ( pdr <* get_property_definition_representations( - SELF) | (( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND (pdr. - used_representation.name = 'maximum feature limit')) )) >= 0; - END_ENTITY; -- slot -(* USED FROM (aic_machining_feature); *) -ENTITY rounded_u_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND (SIZEOF (impl_rep.used_representation.items) <= 2)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'depth') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'width'))))= 1))))= 0))))= 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'depth'))) <= 1))) = 0))) = 0; -END_ENTITY; -- rounded_u_profile -(* USED FROM (aic_machining_feature); *) -ENTITY square_u_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 4) - AND (SIZEOF (impl_rep.used_representation.items) <= 7)))) - = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'width') OR - (srwp_i.name = 'first angle') OR - (srwp_i.name = 'second angle') OR - (srwp_i.name = 'first radius') OR - (srwp_i.name = 'second radius') OR - (srwp_i.name = 'profile limit') OR - (srwp_i.name = 'depth') )) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'width'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'first radius'))) <= 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'second radius'))) <= 1))) = 0))) = 0; - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'first angle'))) = 1))) = 0))) = 0; - WR10: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'second angle'))) = 1))) = 0))) = 0; - WR11: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit'))) <= 1))) = 0; - - WR12: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'depth'))) <= 1))) = 0))) = 0; -END_ENTITY; -- Square_U_profile -(* USED FROM (aic_machining_feature); *) -ENTITY spherical_cap - SUBTYPE OF (feature_definition); - WHERE - - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 3)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)))) - = 0)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'internal angle')))) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- spherical_cap -(* USED FROM (aic_machining_feature); *) -ENTITY rounded_end - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial circular boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) ) )) = 1)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear')) )) = 1)) )) - = 1)) )) = 0); - WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- rounded_end -(* USED FROM (aic_machining_feature); *) -ENTITY round_hole - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'diameter occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.name = 'diameter')) )) = 1)) )) = 1)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'hole depth occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.name = 'hole depth') AND - (sdr.relating_shape_aspect.description = 'linear')) )) = 1)) )) - = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'hole bottom usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HOLE_BOTTOM' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) - )) = 1)) )) = 1)) )) = 0); - WR4: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in diameter occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) ) - )) = 1)) )) <= 1)) )) = 0); - WR5: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF ( pdr.used_representation ) ) )) =1; -END_ENTITY; -- round_hole -(* USED FROM (aic_machining_feature); *) -ENTITY rib_top_floor - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF (SELF.of_shape.definition); - WR2: SELF.description IN ['planar', 'complex']; - WR3: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'rib top usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - ((fcr.related_shape_aspect.description = 'rib top condition occurrence') - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIB_TOP' IN TYPEOF - (fcr.related_shape_aspect.of_shape.definition)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIB_TOP_FLOOR' IN TYPEOF - (fcr.relating_shape_aspect)) ) - )) >= 1; - WR4: (NOT (SELF.description = 'complex')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'rib top face'))) = 1))) = 0); - WR5: (NOT (SELF.description = 'planar')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'rib top face'))) = 1))) = 0); - WR6: (NOT (SELF.description = 'planar')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'rib top floor boundary'))) - = 1))) = 1))) = 0); -END_ENTITY; -- rib_top_floor -(* USED FROM (aic_machining_feature); *) -ENTITY rib_top - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'rib top condition occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'rib top usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIB_TOP_FLOOR' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIB_TOP' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition)) ) - )) = 1))) = 1))) = 0; - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'removal direction'))) = 1))) = 1; - WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- rib_top -(* USED FROM (aic_machining_feature); *) -ENTITY revolved_profile - SUBTYPE OF (feature_definition); - WHERE - WR1: (SELF\characterized_object.description IN - ['groove','flat','round','open profile']); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')))) = 1)) )) - = 0)) )) = 0); - WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='removal direction'))) =1; - WR5: ((NOT (SELF\characterized_object.description = 'open profile')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'outer edge shape occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'outer edge shape')) )) - = 1)) )) = 1)) )) = 0)); - WR6: (NOT (SELF\characterized_object.description = 'flat')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (( sa_occ.description = 'flat edge shape occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'flat edge shape')) )) - = 1)) )) = 1)) )) = 0); - WR7: ((NOT (SELF\characterized_object.description = 'round')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'rounded edge shape occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'rounded edge shape')) )) - = 1)) )) = 1)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = 'groove')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'sweep occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ((SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF(sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'sweep')) )) = 1)) )) - = 1)) )) = 0)); - WR9: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- revolved_profile -(* USED FROM (aic_machining_feature); *) -ENTITY replicate_feature - SUPERTYPE OF (ONEOF ( - CIRCULAR_PATTERN, - RECTANGULAR_PATTERN, - FEATURE_PATTERN)) - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) )) = 1)) )) = 0); - WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* - USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) ) | - ((SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPLICATE_FEATURE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INSTANCED_FEATURE'] * - TYPEOF(fcr.related_shape_aspect)) >= 1) AND - (fcr.name = 'pattern basis')) )) = 1); - WR3: ((SIZEOF(QUERY ( sar <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (NOT - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) )) + - SIZEOF(QUERY ( sar <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - (NOT - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ))) = 0); -END_ENTITY; -- replicate_feature -(* USED FROM (aic_machining_feature); *) -ENTITY rectangular_closed_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT ((SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF(impl_rep.used_representation.items) <= 4)))) = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* - USEDIN( SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'length') OR - (srwp_i.name = 'width') OR - (srwp_i.name = 'corner radius') )) = - SIZEOF(pdr.used_representation.items)) - )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'width'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'length'))) = 1))) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'corner radius'))) <= 1))) = 0))) = 0; -END_ENTITY; -- rectangular_closed_profile -(* USED FROM (Multi_linguism_mim); *) -ENTITY multi_language_attribute_assignment -SUBTYPE OF (attribute_value_assignment); - items : SET [1:?] OF multi_language_attribute_item; - -DERIVE - translation_language : language := language_indication[1]\attribute_classification_assignment.assigned_class; - -INVERSE - language_indication: SET[1:1] OF attribute_language_assignment FOR items; - -WHERE -WR1: (SELF\attribute_value_assignment.role.name = 'alternate language'); -WR2: SIZEOF( QUERY( ala <* language_indication | - (ala\attribute_classification_assignment.attribute_name = 'attribute_value') AND - (ala\attribute_classification_assignment.role.name='translated') )) = 1 ; -WR3: SELF\attribute_value_assignment.attribute_name <> '' ; -WR4: SIZEOF(QUERY(ci <* items | -SIZEOF(QUERY(ata <* USEDIN(ci, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | -(ata\attribute_value_assignment.attribute_name = SELF\attribute_value_assignment.attribute_name) AND -(ata.translation_language :=: translation_language) ))>1 )) =0; -WR5: SIZEOF(QUERY(ci <* items | -SIZEOF(QUERY(ata <* USEDIN(ci, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | - (ata\attribute_classification_assignment.role.name='primary') AND - (ata\attribute_classification_assignment.attribute_name= SELF\attribute_value_assignment.attribute_name) AND - (ata\attribute_classification_assignment.assigned_class :=: translation_language) ))>0 )) =0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY removal_volume - SUBTYPE OF (feature_definition); - WHERE - - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'shape volume occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'volume shape usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (sdr.relating_shape_aspect.description = 'volume shape') )) = 1)) )) - = 1)) )) = 0); -END_ENTITY; -- removal_volume -(* USED FROM (aic_machining_feature); *) -ENTITY rectangular_pattern - SUBTYPE OF (replicate_feature); - WHERE - WR1: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.related_shape_aspect)) )) = 1)) )) <= 5)) )) = 0); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'row layout direction') ) )) - = 1)) )) = 0); - WR3 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'column layout direction')) )) - = 1)) )) = 0); - WR4 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR5 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 5)) )) - = 0)) )) = 0); - WR6 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of rows')) )) = 1)) )) = 0)) )) = 0); - WR7 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of columns')) )) = 1)) )) = 0)) )) = 0); - WR8 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'row spacing')) )) = 1)) )) - = 0)) )) = 0); - WR9: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'column spacing'))))= 1)) )) - = 0)) )) = 0); - WR10: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF(it)) AND - (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0); -END_ENTITY; -- rectangular_pattern -(* USED FROM (aic_machining_feature); *) -ENTITY pocket_bottom - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SELF.description IN ['planar', 'complex', 'through']; - WR3: ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'floor normal') )) = 1)) )) = 0)); - WR4 : ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'floor location'))) = 1)) )) = 0)); - WR5 : ((NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'floor face') )) = 1)) )) = 0)); - WR6: (NOT (SELF.description IN ['planar', 'complex']) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0)); - WR7: (NOT (SELF.description IN ['planar', 'complex']) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (impl_rep.used_representation.items) - <= 1) )) = 0))) = 0)); - WR8: (NOT (SELF.description = 'through') OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 0))) = 0)); - WR9: (NOT (SELF.description IN ['planar', 'complex'])) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) <= 1))) = 0))) = 0); - WR10: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - ((fcr.related_shape_aspect.description = 'bottom condition occurrence') - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET_BOTTOM' - IN TYPEOF(fcr.relating_shape_aspect)) ) - )) >= 1; - WR11: ((NOT (SELF.description IN ['planar','complex'])) OR - (SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (fcr.related_shape_aspect.description = 'bottom condition occurrence') - AND - (fcr.related_shape_aspect.name IN - ['pocket depth start', 'pocket depth end']) - )) = 0)); -END_ENTITY; -- Pocket_bottom -(* USED FROM (aic_machining_feature); *) -ENTITY protrusion - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'shape volume occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'volume shape usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (sdr.relating_shape_aspect.description = 'volume shape') )) = 1)) )) - = 1)) )) = 0); - WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- protrusion -(* USED FROM (aic_machining_feature); *) -ENTITY profile_floor - SUBTYPE OF (shape_aspect); - WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SELF.description IN ['planar', 'complex', 'through']; - WR3: (NOT (SELF.description IN ['planar', 'complex']) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0)); - WR4: (NOT (SELF.description IN ['planar', 'complex'])) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (impl_rep.used_representation.items) >= 1)AND - (SIZEOF (impl_rep.used_representation.items) <= 2))) = 0))) = 0); - WR5: (NOT (SELF.description = 'through') OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 0))) = 0)); - WR6: (NOT (SELF.description IN ['planar', 'complex'])) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0); - WR7: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'profile floor usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF (sar))) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTSIDE_PROFILE' IN TYPEOF - (fcr.related_shape_aspect.of_shape.definition))AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROFILE_FLOOR' IN TYPEOF - (fcr.relating_shape_aspect))) - )) >= 1; - WR8: ((NOT (SELF.description IN ['planar','complex'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') - | (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | (NOT (SIZEOF(QUERY ( it <* - impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'shape profile floor orientation') - AND (it.description IN ['shape profile start','shape profile end'])) - )) = 1)) )) = 0)) )) = 0)); - WR9: (NOT (SELF.description = 'complex')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name='floor'))) = 1))) = 1); - WR10: (NOT (SELF.description = 'planar')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name='floor'))) = 1))) = 1); -END_ENTITY; -- profile_floor -(* USED FROM (aic_machining_feature); *) -ENTITY pattern_omit_membership - SUBTYPE OF (feature_component_relationship); - WHERE - WR1: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.relating_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - ((SIZEOF (QUERY( pdr <*(QUERY(pd <* USEDIN - (fcr.related_shape_aspect.of_shape, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd))) | - SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN'] - * TYPEOF(pdr.definition)) =1 )) = 0 )) )) = 0); - WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (fcr.description='modified pattern') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) )) >= 1); - WR3: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (NOT (SIZEOF(QUERY ( modfcr <* QUERY ( modsar <* USEDIN( - fcr.relating_shape_aspect,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN'] * - TYPEOF(modsar.related_shape_aspect.of_shape.definition)) = 1) AND - (modsar :<>: fcr)) ) | - (NOT (modfcr.related_shape_aspect.of_shape.definition :=: - SELF.relating_shape_aspect.of_shape.definition)) )) - = 0))) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 1)) )) = 0); - WR5: ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (NOT (SIZEOF(pdr.used_representation.items) = 1)) )) = 0)) )) = 0)); - WR6: ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'index number')) )) = 1)) )) = 0)) )) = 0)); - WR7: ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (NOT (SIZEOF(pdr.used_representation.items) = 2)) )) = 0)) )) = 0)); - WR8: ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'row index')) )) = 1)) )) = 0)) )) = 0)); - WR9: ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'column index')) )) = 1)) )) = 0)) )) = 0)); -END_ENTITY; -- pattern_omit_membership -(* USED FROM (aic_machining_feature); *) -ENTITY pocket - SUBTYPE OF (feature_definition); - WHERE - WR1: (SELF\characterized_object.description IN - ['closed rectangular','open rectangular', 'complex', - 'circular cutout', 'complex cutout', 'recess']); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'pocket depth occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (sar.name = 'pocket depth') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description ='linear')) )) - = 1)) )) = 1)) )) = 0); - WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF ( pdr.used_representation ) ) )) =1; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ({1 <= SIZEOF(pdr.used_representation.items) <= 2} ) )) = 1 )) = 1; - WR5: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'fillet radius'))) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'fillet radius'))) <= 1))) - = 0))) = 0; - WR7: ((NOT (SELF\characterized_object.description IN ['complex', - 'non-circular cutout','recess'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF(sdr.relating_shape_aspect)) = 1)) )) = 1)) )) - = 1)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = - 'closed rectangular')) - OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'closed boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect))) )) = 1)) )) - = 1)) )) = 0)); - WR9: ((NOT (SELF\characterized_object.description = 'open rectangular')) - OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'open boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect))) )) = 1)) )) - = 1)) )) = 0)); - WR10: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'pocket bottom usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET_BOTTOM' - IN TYPEOF(sdr.relating_shape_aspect)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' - IN TYPEOF(sdr.related_shape_aspect.of_shape.definition))) - )) = 1)) )) = 1)) )) = 0); - WR11: ((NOT (SELF\characterized_object.description IN ['complex', - 'non-circular cutout','recess'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in boundary occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - (fcr.related_shape_aspect.description - IN ['angle taper','directed taper'])) - )) = 1)) )) <= 1)) )) = 0)); - WR12: (NOT (SELF\characterized_object.description = 'circular cutout')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'enclosed boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' - IN TYPEOF (sdr.relating_shape_aspect)))) - = 1))) = 1))) = 0); - WR13: (NOT (SELF\characterized_object.description IN - ['circular cutout','complex cutout'])) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET_BOTTOM' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition))AND - (sdr.relating_shape_aspect.description = 'through') ) - )) = 1))) = 1))) = 0); - WR14: (NOT (SELF\characterized_object.description = 'recess')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'bottom condition occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'pocket bottom usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET_BOTTOM' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition)) AND - (sdr.relating_shape_aspect.description IN ['planar','complex']) ) - )) = 1))) = 1))) = 0); - WR15: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; - - WR16: ((NOT (SELF\characterized_object.description IN - ['closed rectangular','open rectangular', 'complex', - 'recess'])) OR - (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (csa.name='uncut volume') AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROTRUSION'] - * TYPEOF(sar.related_shape_aspect))=1) - ) ))) = 1)) )) <= 1)) )) = 1)); - - WR17: ((NOT (SELF\characterized_object.description IN - ['closed rectangular','open rectangular'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in boundary occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - (fcr.related_shape_aspect.description - IN ['angle taper','directed taper'])) - )) >= 1)) )) <=1)) )) = 0)); - -END_ENTITY; -- pocket -(* USED FROM (aic_machining_feature); *) -ENTITY planar_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: SIZEOF (SELF.items) = 1; - WR2: SIZEOF (QUERY (it <* SELF.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF (it)))) = 1 ; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY path_feature_component - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['partial circular','complete circular', - 'linear','complex']); - WR3: ((NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR4: ((SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0)); - WR5: ((NOT (SELF.description = 'partial circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 3)) )) - = 0)) )) = 0)); - WR6: ((NOT (SELF.description = 'partial circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'partial circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'sweep angle')) )) = 1)) )) - = 0)) )) = 0)); - WR8: ((NOT (SELF.description = 'complete circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0)); - WR9: ((NOT (SELF.description = 'complete circular')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) - = 0)) )) = 0)); - WR10: ((NOT (SELF.description = 'linear')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0)); - WR11: ((NOT (SELF.description = 'linear')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'distance')) )) = 1)) )) - = 0)) )) = 0)); - WR12: ((NOT (SELF.description = 'linear')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR13: ((NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'sweep path')AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'profile shape') )) = 1) - ) )) = 1)) )) = 0)); -END_ENTITY; -- path_feature_component -(* USED FROM (aic_machining_feature); *) -ENTITY pattern_offset_membership - SUBTYPE OF (feature_component_relationship); - WHERE - WR1 : (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.relating_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - ((SIZEOF (QUERY( pdr <*(QUERY(pd <* USEDIN - (fcr.related_shape_aspect.of_shape, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd))) | - SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN'] - * TYPEOF(pdr.definition)) =1 )) = 0 )) )) = 0); - WR2 : (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (fcr.description='modified pattern') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) )) >= 1); - WR3 : (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN( - SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (sar :<>: SELF)) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MODIFIED_PATTERN' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (NOT (SIZEOF(QUERY ( modfcr <* QUERY ( modsar <* USEDIN( - fcr.relating_shape_aspect,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN'] * - TYPEOF(modsar.related_shape_aspect.of_shape.definition)) = 1) AND - (modsar :<>: fcr)) ) | - (NOT (modfcr.related_shape_aspect.of_shape.definition :=: - SELF.relating_shape_aspect.of_shape.definition)) )) - = 0))) )) = 0); - WR4 : ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 2)) )) = 0)); - WR5 : ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 1)) )) = 0)); - WR6 : ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (NOT (SIZEOF(pdr.used_representation.items) = 2)) )) = 0)) )) - = 0)); - WR7 : ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'index number')) )) = 1)) )) = 0)) )) = 0)); - WR8 : ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT' - IN TYPEOF(it)) AND (it.name = 'offset')) )) = 1)) )) = 0)) )) - = 0)); - WR9: ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items ) = 3)) )) - = 0)) )) = 0)); - WR10: ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'row index')) )) = 1)) )) = 0)) )) = 0)); - WR11: ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'column index')) )) = 1)) )) = 0)) )) = 0)); - WR12: ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT' - IN TYPEOF(it)) AND (it.name = 'offset distance')) )) = 1)) )) - = 0)) )) = 0)); - WR13: ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN' - IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'offset direction')) )) = 1)) )) - = 0)); -END_ENTITY; -- pattern_offset_membership -(* USED FROM (aic_machining_feature); *) -ENTITY path_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: (SIZEOF(SELF.items) >= 1); - WR2: (SIZEOF(QUERY ( i <* SELF.items | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH'] * TYPEOF(i)) = - 1) )) >= 1); -END_ENTITY; -- path_shape_representation -(* USED FROM (aic_machining_feature); *) -ENTITY chamfer - SUBTYPE OF (transition_feature); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'chamfer face')) )) <= 1)) )) = 0); - WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER_OFFSET' - IN TYPEOF(fcr.related_shape_aspect))AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER' - IN TYPEOF(fcr.relating_shape_aspect)) AND - (fcr.related_shape_aspect.description = 'first offset') ) - )) = 1); - WR3: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER_OFFSET' - IN TYPEOF(fcr.related_shape_aspect)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER' - IN TYPEOF(fcr.relating_shape_aspect))AND - (fcr.related_shape_aspect.description = 'second offset')) - )) = 1); -END_ENTITY; -- chamfer -(* USED FROM (aic_machining_feature); *) -ENTITY chamfer_offset - SUBTYPE OF (shape_aspect); - WHERE - WR1: (SELF.description IN ['first offset','second offset']); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR4: ((NOT (SELF.description = 'first offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'offset amount')) )) = 1)) )) - = 0)) )) = 0)); - WR5: ((NOT (SELF.description = 'first offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'first face shape')) )) <= 1)) )) - = 0)); - WR6: ((NOT (SELF.description = 'second offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'offset amount')) OR - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'offset angle'))) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'second offset')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'second face shape')) )) <= 1)) )) - = 0)); - WR8: (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar)) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER' - IN TYPEOF(sdr.relating_shape_aspect))AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHAMFER_OFFSET' - IN TYPEOF(sdr.related_shape_aspect))) - )) = 1); -END_ENTITY; -- chamfer_offset -(* USED FROM (draughting_element_schema); *) - ENTITY dimension_curve_directed_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF(QUERY(d_c<*SELF\draughting_callout.contents | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(d_c))))<=2; - WR2: SIZEOF(SELF\draughting_callout.contents) >= 2; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY face_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: (SIZEOF(SELF.items) >= 1); - WR2: (SIZEOF(QUERY ( it <* SELF.items | (NOT ( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(it)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF(it)) )) - )) = 0); -END_ENTITY; -- face_shape_representation -(* USED FROM (draughting_element_schema); *) - ENTITY leader_directed_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) >= 1; - WR2: SIZEOF(SELF\draughting_callout.contents) >=2; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY outside_profile - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF (pdr.used_representation.items) = 1) )) = 1 )) = 1; - WR2: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['boundary occurrence', - 'non-planar boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) )) =1) ))=0; - WR3: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'boundary occurrence') )) =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) | - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'outside boundary'))) - = 1))) = 1))) = 0); - WR4: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['complex boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) ))=1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - NOT(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile floor usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROFILE_FLOOR' - IN TYPEOF (sdr.relating_shape_aspect)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTSIDE_PROFILE' - IN TYPEOF (sdr.related_shape_aspect.of_shape.definition))) - )) = 1))) = 0))) = 0); - WR5: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['outside boundary', - 'complex boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) ))=1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'path feature component usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) | - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.name = 'profile swept shape') AND - (sdr.relating_shape_aspect.description='linear') )) = 1))) - = 1))) = 0); - WR6: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'complex boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) =1)) ) - = 1)))= 1))) = 0); - WR7: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'partial circular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)))) - = 1)))= 1))) = 0); - WR8: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'closed circular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)))) - = 1)))= 1))) = 0); - WR9: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'open rectangular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)))) - = 1)))= 1))) = 0); - WR10: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'closed rectangular boundary occurrence') )) - =1) ))=0)) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' IN - TYPEOF (sdr.relating_shape_aspect)) )) = 1))) - = 1))) = 0); - WR11: (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description IN ['boundary occurrence', - 'complex boundary occurrence', - 'partial circular boundary occurrence', - 'closed circular boundary occurrence', - 'open rectangular boundary occurrence', - 'closed rectangular boundary occurrence']) )) =1) ))=0) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'removal direction')) )) = 1)) )) - = 0); - WR12: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- outside_profile -(* USED FROM (draughting_element_schema); *) - ENTITY projection_directed_callout - SUBTYPE OF (draughting_callout); - WHERE - WR1: SIZEOF(QUERY(p_1<*SELF\draughting_callout.contents | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(p_1))))<=2; - WR2: SIZEOF(SELF\draughting_callout.contents) >=2; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY outer_round - SUBTYPE OF (feature_definition); - WHERE - WR1: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF (pdr.used_representation.items) = 3) )) = 1 )) = 1)); - WR2: ((NOT (SELF\characterized_object.description - = 'outer diameter to shoulder')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ( {2 <= SIZEOF(pdr.used_representation.items) <= 3}) )) = 1 )) = 1)); - WR3: (SELF\characterized_object.description IN - ['outer diameter', 'outer diameter to shoulder']); - WR4: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR - (SIZEOF( QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'length')) )) = 1)) )) - = 0)) )) = 0)); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) = 1)) )) - = 0)) )) = 0); - WR6: ((NOT (SELF\characterized_object.description - = 'outer diameter to shoulder')) OR ( - SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'v-shape boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'v-shape')) )) = 1)) )) - = 1)) )) = 0)); - WR7: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'reduced size occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'taper usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' - IN TYPEOF(sdr.relating_shape_aspect)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTER_ROUND' - IN TYPEOF(sdr.related_shape_aspect.of_shape.definition)) AND - (sdr.name = 'reduced size')) - )) = 1)) )) - <= 1)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = - 'outer diameter to shoulder')) OR - (SIZEOF( QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'length')) )) <= 1)) )) - = 0)) )) = 0)); - WR9: ((NOT (SELF\characterized_object.description = - 'outer diameter to shoulder')) OR - (SIZEOF( QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'feature length')) )) <= 1)) )) - = 0)) )) = 0)); -END_ENTITY; -- outer_round -(* USED FROM (aic_machining_feature); *) -ENTITY open_path_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND - (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation))AND - (pdr.used_representation.name = 'profile limit') )) <= 1))) = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY ngon_closed_profile - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF (SELF.of_shape.definition); - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0; - WR3: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT ((SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF(impl_rep.used_representation.items) <= 4)))) = 0))) = 0; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'number of sides') OR - (srwp_i.name = 'circumscribed diameter') OR - (srwp_i.name = 'corner radius') OR - (srwp_i.name = 'diameter across flats'))) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF (it)) AND - (it.name = 'orientation'))) = 1))) = 0))) = 0; - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF (it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF (it\measure_with_unit.value_component)) AND - (it.name = 'number of sides'))) = 1))) = 0))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name IN ['circumscribed diameter','diameter across flats']) )) - = 1) )) = 0))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND - (it.name = 'corner radius'))) <= 1))) = 0))) = 0; - END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY modified_pattern - SUBTYPE OF (shape_aspect); - WHERE - WR1: SIZEOF( QUERY (fcr <* QUERY(sar <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar)) | - (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPLICATE_FEATURE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INSTANCED_FEATURE'] * - TYPEOF (fcr.related_shape_aspect.of_shape.definition)) >= 1) AND - (fcr.description = 'base shape')) ) = 1; - WR2: SIZEOF( QUERY (fcr <* QUERY(sar <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar)) | - (SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_PATTERN', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_PATTERN'] * - TYPEOF(fcr.related_shape_aspect.of_shape.definition)) = 1) AND - (fcr.description = 'base pattern')) ) = 1; - WR3: SIZEOF(QUERY ( sar <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (SIZEOF(QUERY ( msar <* USEDIN(sar.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATTERN_OFFSET_MEMBERSHIP', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATTERN_OMIT_MEMBERSHIP'] * - TYPEOF(sar)) = 1) AND (sar.description='modified pattern') - AND (sar :<>: msar) )) >= 1) )) = 0; -END_ENTITY; -- modified_pattern -(* USED FROM (aic_machining_feature); *) -ENTITY marking - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - ({2 <= SIZEOF(pdr.used_representation.items) <=6} ) )) - = 1 )) = 1; - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* - QUERY ( pdr <* USEDIN(pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'marking text')) )) = 1)) )) - = 0)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'special instructions')) )) <= 1)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'font name')))) <= 1)))) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'character height')) )) <= 1)) )) - = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'character spacing')) )) <= 1)) )) - = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0); -END_ENTITY; -- marking -(* USED FROM (aic_machining_feature); *) -ENTITY linear_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF(it)) AND - (it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'profile length')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- linear_profile -(* USED FROM (aic_machining_feature); *) -ENTITY location_shape_representation - SUBTYPE OF (shape_representation); -WHERE - WR1: (SIZEOF(SELF.items) = 1); - WR2: (SIZEOF(QUERY ( it <* SELF.items | - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT' - IN TYPEOF(it))) )) = 0); -END_ENTITY; -- location_shape_representation -(* USED FROM (geometric_model_schema); *) -ENTITY shell_based_wireframe_model - SUBTYPE OF (geometric_representation_item); - sbwm_boundary : SET[1:?] OF shell; -WHERE - WR1: constraints_geometry_shell_based_wireframe_model(SELF); -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY flat_face - SUBTYPE OF (feature_definition); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION' - IN TYPEOF(pdr.used_representation)) AND - (pdr.used_representation.name = 'removal direction')) )) = 1)) )) - = 0); - WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'course of travel occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'path feature component usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear') AND - (sdr.name = 'course of travel')) )) = 1)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'removal boundary occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'profile usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINEAR_PROFILE' - IN TYPEOF(sdr.relating_shape_aspect)) AND - (sdr.name = 'removal boundary')) )) = 1)) )) = 1)) )) = 0); - WR4: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'enclosed boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1) AND - (sdr.relating_shape_aspect.description = 'boundary'))) - = 1))) <= 1))) = 0; - WR5: SIZEOF(QUERY( pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; - WR6: SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(csa)) AND - (csa.name='uncut volume') AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROTRUSION'] * TYPEOF(sar. - related_shape_aspect)) = 1)) )) = 1)) )) <= 1)) )) = 1; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'removal depth'))) <= 1))) - = 0))) = 0; - -END_ENTITY; -- flat_face -(* USED FROM (aic_machining_feature); *) -ENTITY hole_bottom - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['through', 'flat', 'flat with radius', - 'flat with taper','spherical', 'conical']); - WR3: ((NOT (SELF.description = 'through')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 0)) )) - = 0)); - WR4: ((NOT (SELF.description IN ['flat with radius', - 'flat with taper', 'spherical','conical'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR5: ((NOT (SELF.description = 'flat')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 0)) )) - = 0)) )) = 0)); - WR6: ((NOT (SELF.description IN ['flat with radius','spherical'])) - OR (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF.description = 'flat with taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0)); - WR8: ((NOT (SELF.description = 'conical')) OR (SIZEOF( - QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND (SIZEOF (impl_rep.used_representation.items) <= 2)) )) - = 0)) )) = 0)); - WR9: ((SELF.description = 'through') OR - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'hole bottom usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((fcr.name IN ['hole depth start','hole depth end'])) )) >= 1)); - WR10: ((NOT (SELF.description = 'flat with radius')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'corner radius')))) = 1)) )) - = 0)) )) = 0)); - WR11: ((NOT (SELF.description = 'spherical')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) = - 0)) )) = 0)); - WR12: ((NOT (SELF.description = 'conical')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'tip radius')) )) <= 1)) )) - = 0)) )) = 0)); - WR13: ((NOT (SELF.description = 'conical')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'tip angle')) )) = 1)) )) - = 0)) )) = 0)); - WR14: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar.description = 'hole bottom usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | - ((fcr.related_shape_aspect.description ='bottom condition occurrence') - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HOLE_BOTTOM' - IN TYPEOF(fcr.relating_shape_aspect))) - )) >= 1); - WR15: ((NOT (SELF.description = 'flat with taper')) OR (SIZEOF( - QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'final diameter')))) = 1)) )) - = 0)) )) = 0)); - WR16: ((NOT (SELF.description = 'flat with taper')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'taper diameter')) )) = 1)) )) - = 0)) )) = 0)); - END_ENTITY; -- hole_bottom -(* USED FROM (aic_machining_feature); *) -ENTITY gear - SUBTYPE OF (feature_definition); -WHERE - WR1 : SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF(QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) - AND (10 <= SIZEOF(pdr.used_representation.items)) AND - (SIZEOF(pdr.used_representation.items) <= 13))) = 1)) = 1; - - WR2 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | - (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND - (it.name = 'number of teeth'))) = 1))) = 0))) = 0); - - WR3 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'reference pressure angle'))) = 1))) = 0))) = 0); - - WR4 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND - (it.name = 'rake shift factor'))) = 1))) = 0))) = 0); - - WR5 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'nominal tooth depth'))) = 1))) = 0))) = 0); - - WR6 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'face width'))) = 1))) = 0))) = 0); - - WR7 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'tip diameter'))) = 1))) = 0))) = 0); - - WR8 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | -('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND - (it.name = 'module or diametral pitch') AND - ((it.description ='module') OR (it.description = 'diametral pitch')))) - = 1))) = 0))) = 0); - - WR9 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | -('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND - (it.name = 'internal or external gear') AND - ((it.description ='internal') OR (it.description = 'external')))) - = 1))) = 0))) = 0); - - WR10: NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'normal attribute'))) = 1))) = 0))) = 0); - - WR11 : NOT (SELF\characterized_object.description - IN ['straight bevel gear', 'helical bevel gear', - 'spur gear', 'helical gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND - (it.name = 'root fillet radius'))) <= 1))) = 0))) = 0); - - WR12 : NOT (SELF\characterized_object.description - IN ['helix gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'reference helix angle'))) = 1))) = 0))) = 0); - - WR13 : NOT (SELF\characterized_object.description - IN ['helix gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | NOT - (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation))| NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'gear tooth') AND - ((it.description = 'left hand tooth') OR - (it.description = 'right hand tooth')))) = 1))) = 0))) = 0); - - WR14 : NOT (SELF\characterized_object.description - IN ['straight bevel gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'tip angle'))) = 1))) = 0))) = 0); - - WR15 : NOT (SELF\characterized_object.description - IN ['straight bevel gear','helical bevel gear']) OR - (SIZEOF(QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) | NOT - (SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND - (it.name = 'root angle'))) = 1))) = 0))) = 0); - - WR16 : SIZEOF(QUERY(pds <* QUERY(pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) | NOT - (SIZEOF(QUERY(sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - SIZEOF( QUERY(sdr <* QUERY(sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'applied shape') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF(sar))) | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect))) = 1)) = 1))) = 0; - -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY feature_component_definition - SUBTYPE OF (characterized_object); - WHERE - WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE')) = 1)) )) - = 0); -END_ENTITY; -- feature_component_definition -(* USED FROM (aic_machining_feature); *) -ENTITY fillet - SUBTYPE OF (transition_feature); - WHERE - WR1: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0); - WR2: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND(SIZEOF (impl_rep.used_representation.items) <= 3)))) - = 0))) = 0); - WR3: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0); - WR4: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first offset'))) <= 1))) - = 0))) = 0); - WR5: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second offset'))) <= 1))) - = 0))) = 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'fillet face'))) = 1))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'first face shape'))) = 1))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'second face shape'))) = 1))) = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY feature_pattern - SUBTYPE OF (replicate_feature); - WHERE - WR1: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(srwp_i)) )) > 0 ) )) > 0 )) = 0; - WR2: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF (it)) AND (it.name = 'base feature placement'))) > 1))) - = 0))) = 0; -END_ENTITY; -- feature_pattern -(* USED FROM (aic_machining_feature); *) -ENTITY direction_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: (SIZEOF(SELF.items) = 1); - WR2: (SIZEOF(QUERY ( it <* SELF.items | - (NOT ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION' IN TYPEOF(it))) )) - = 0); -END_ENTITY; -- direction_shape_representation -(* USED FROM (aic_machining_feature); *) -ENTITY externally_defined_feature_definition - SUBTYPE OF (feature_definition, externally_defined_item); - WHERE - WR1: (((SELF\characterized_object.description = 'thread') AND - (SELF\externally_defined_item.item_id='external thread') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification') ) OR - ((SELF\characterized_object.description = 'gear') AND - (SELF\externally_defined_item.item_id='external gear') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification')) OR - ((SELF\characterized_object.description = 'marking') AND - (SELF\externally_defined_item.item_id='external marking') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification')) OR - ((SELF\characterized_object.description = 'knurl') AND - (SELF\externally_defined_item.item_id='external knurl') AND - (SELF\externally_defined_item.source.source_id= - 'external feature specification'))); - WR2: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ({5 <= SIZEOF(pdr.used_representation.items) <= 10} ) )) - = 1 )) = 1)); - WR3: ((NOT (SELF\characterized_object.description = 'marking')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 2) )) = 1 )) = 1)); - WR4: ((NOT (SELF\characterized_object.description = 'knurl')) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 1) )) = 1 )) = 1)); - WR5: (NOT (SELF\characterized_object.description IN [ 'knurl', - 'thread'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'partial area occurrence') AND - (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied area usage') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_AREA' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) <= 1)) )) = 0); - - WR6: ((NOT (SELF\characterized_object.description = 'marking')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'marking text')) )) = 1)) )) - = 0)) )) = 0)); - WR7: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'removal direction') AND - ((it.description = 'internal') OR - (it.description = 'external'))) )) = 1)) )) = 0)) )) = 0)); - WR8: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'qualifier')) ))<= 1)) ))= 0)) )) - = 0)); - WR9: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'hand')) )) = 1)) )) = 0)) )) - = 0)); - WR10: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class')) )) = 1)) )) = - 0)) )) = 0)); - WR11: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'form')) )) = 1)) )) = 0)) )) - = 0)); - WR12: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'major diameter')) )) <= 1)) )) - = 0)) )) = 0)); - WR13: ((NOT (SELF\characterized_object.description = 'thread')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'number of threads')) )) = 1)) )) - = 0)) )) = 0)); - WR14 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'fit class 2')) )) <= 1)) )) = 0)) )) - = 0); - - WR15 : (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] - * TYPEOF(it)) = 2) AND (it.name = 'nominal size')) )) - <= 1)) )) = 0)) )) = 0); - - WR16: (NOT (SELF\characterized_object.description IN [ 'knurl', - 'gear', 'thread'])) OR - (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATED_SHAPE_ASPECT') | - ((sar.description = 'applied shape') AND - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) <= 1)) )) = 0); - WR17: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (10 <= SIZEOF(pdr.used_representation.items)) AND - (SIZEOF(pdr.used_representation.items) >= 11) - )) = 1 )) = 1)); - - WR18: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'number of teeth')) )) = 1)) )) - = 0)) )) = 0)); - - WR19: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'reference pressure angle')) )) = 1)) )) - = 0)) )) = 0)); - - WR20: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'rake shift factor')) )) = 1)) )) - = 0)) )) = 0)); - - WR21: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'nominal tooth depth')) )) = 1)) )) - = 0)) )) = 0)); - - WR22: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'face width')) )) = 1)) )) - = 0)) )) = 0)); - - WR23: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'tip diameter')) )) = 1)) )) - = 0)) )) = 0)); - - WR24: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'module or diametral pitch') AND - ((it.description = 'module') OR - (it.description = 'diametral pitch'))) )) = 1)) )) = 0)) )) = 0)); - - WR25: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'normal attribute')) )) = 1)) )) - = 0)) )) = 0)); - - WR26: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND (it.name = 'internal or external gear') AND - ((it.description = 'internal') OR - (it.description = 'external'))) )) = 1)) )) = 0)) )) = 0)); - - WR27: ((NOT (SELF\characterized_object.description - IN ['gear'])) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN - (pd,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'root fillet radius')) )) <= 1)) )) - = 0)) )) = 0)); - -END_ENTITY; -- externally_defined_feature_definition -(* USED FROM (aic_machining_feature); *) -ENTITY edge_round - SUBTYPE OF (transition_feature); -WHERE - WR1: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation))) = 1))) = 0); - WR2: (NOT (SELF\shape_aspect.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - (NOT (SIZEOF (impl_rep.used_representation.items) >= 1) - AND (SIZEOF (impl_rep.used_representation.items) <= 3)))) - = 0))) = 0); - WR3: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0); - WR4: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'first offset'))) <= 1))) - = 0))) = 0); - WR5: (NOT (SELF.description = 'constant radius')) OR - (SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF - (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'second offset'))) <= 1))) - = 0))) = 0); - WR6: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'edge round face'))) <= 1))) = 0; - WR7: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'first face shape'))) <= 1))) = 0; - WR8: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' - IN TYPEOF (pdr.used_representation)) AND - (pdr.used_representation.name = 'second face shape'))) <= 1))) = 0; -END_ENTITY; -- edge_round -(* USED FROM (aic_machining_feature); *) -ENTITY closed_path_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); -END_ENTITY; -- closed_path_profile -(* USED FROM (aic_machining_feature); *) -ENTITY compound_feature - SUBTYPE OF (feature_definition); - WHERE - WR1: SIZEOF( QUERY( pds <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF( QUERY( csa <* USEDIN( pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((csa.name='compound feature in solid') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa))) )) = 1) )) = 1; - WR2: SIZEOF( QUERY( pds <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF( QUERY( csa <* USEDIN( pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa) )) = 1) )) = 1; - WR3: (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( fcr <* csa.component_relationships | - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(fcr))) )) = 0)) )) = 1)) )) = 1); - WR4: SIZEOF (QUERY (pds <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pds)) AND - (SIZEOF (QUERY (csa <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE')| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF (csa)) )) = 1) )) = 1; - WR5: (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THREAD' - IN TYPEOF(sar.related_shape_aspect)) )) = 0) - ) )) = 1)) )) = 1); - WR6: (SIZEOF (QUERY (pds <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pds)) AND (SIZEOF (QUERY (csa <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE')| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF (csa)) AND - (SIZEOF (QUERY (sar <* csa.component_relationships | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOUND_FEATURE' - IN TYPEOF (sar.related_shape_aspect)) AND - (sar.related_shape_aspect\characterized_object.name <> - SELF\characterized_object.name)) )) = 0) )) = 1) )) = 1); -END_ENTITY; -- compound_feature -(* USED FROM (aic_machining_feature); *) -ENTITY composite_hole - SUBTYPE OF (compound_feature); - WHERE - WR1: (SELF\characterized_object.description IN ['counterbore', - 'countersunk']); - WR2: SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar)) AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE' - IN TYPEOF(sar.related_shape_aspect))) - ))) = 2)) )) = 1)) )) = 1; - WR3: (NOT (SELF\characterized_object.description = 'countersunk')) OR - (SIZEOF(QUERY ( pds <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pds)) AND - (SIZEOF(QUERY ( csa <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' - IN TYPEOF(csa)) AND - (SIZEOF(QUERY ( sar <* csa.component_relationships | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE' - IN TYPEOF(sar.related_shape_aspect)) AND - (NOT (SIZEOF(QUERY ( pds <* QUERY ( pd <* - USEDIN(sar.related_shape_aspect, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'change in diameter occurrence') AND - (SIZEOF(QUERY ( fcr2 <* QUERY ( sar2 <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ((sar2.description = 'taper usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar2))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' IN TYPEOF(fcr2.related_shape_aspect)) - )) = 1)) )) = 0)) )) = 0))) )) = 1)) )) = 1)) )) = 1); -END_ENTITY; -- composite_hole -(* USED FROM (aic_machining_feature); *) -ENTITY applied_area - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(SELF.of_shape)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr. - used_representation)) ) | - (NOT({2 <= SIZEOF(impl_rep.used_representation.items) <= 3} ) - ) )) = 0)) )) = 0); - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - NOT (srwp_i.name IN ['orientation','effective length', - 'maximum length']) )) > 0 ) )) = 0 ) )) = 0; - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'effective length')) )) = 1)) )) - = 0)) )) <= 1); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'maximum length')) )) <= 1)) )) - = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- applied_area -(* USED FROM (aic_machining_feature); *) -ENTITY boss_top - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SELF.description IN ['planar','complex']); - WR3: ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR4: ((NOT (SELF.description = 'planar')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0)); - WR5: (NOT (SELF.description = 'complex')) OR - (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION') - IN TYPEOF(pdr.used_representation) )) = 1)) )) = 0); - WR6: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' + - 'RELATING_SHAPE_ASPECT') | - ((sar.description = 'boss top usage') AND - (sar.name IN ['boss height start','boss height end']))AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) | - ((fcr.related_shape_aspect.description = 'top condition occurrence') - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS' - IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS_TOP' - IN TYPEOF(fcr.relating_shape_aspect)) ) - )) >= 1); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) <= 1)) )) = 0); - WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) - = 0)) )) = 0); - WR9: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'top radius'))) <= 1))) - = 0))) = 0; -END_ENTITY; -- boss_top -(* USED FROM (aic_machining_feature); *) -ENTITY boss - SUBTYPE OF (feature_definition); - WHERE - WR1: SELF\characterized_object.description IN - ['circular', 'complex', 'rectangular']; - WR2: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'boss height occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'path feature component usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF (sdr.relating_shape_aspect)) AND - (sdr.relating_shape_aspect.description = 'linear') AND - (sdr.name = 'boss height'))) = 1))) = 1))) = 0; - WR3: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) AND - ({1 <= SIZEOF(pdr.used_representation.items) <= 2} ) )) = 1 )) = 1; - WR4: SIZEOF( QUERY( pd <* USEDIN( SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - SIZEOF( QUERY( pdr <* USEDIN( pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( srwp_i <* pdr.used_representation.items | - (srwp_i.name = 'orientation') OR - (srwp_i.name = 'fillet radius'))) - = SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1; - WR5: SIZEOF (QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - (SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF (it)) = 2) AND (it.name = 'fillet radius'))) <= 1))) - = 0))) = 0; - WR6: (NOT (SELF\characterized_object.description = 'circular')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'circular profile occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE' - IN TYPEOF (sdr.relating_shape_aspect))) = 1))) = 1))) = 0); - WR7: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | - (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((sa_occ.description = 'top condition occurrence') AND - (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ((sar.description = 'boss top usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF(sar))) ) | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS_TOP' - IN TYPEOF(fcr.relating_shape_aspect)) ) )) = 1)) )) = 1)) )) = 0; - WR8: (NOT (SELF\characterized_object.description = 'circular')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'change in diameter occurrence') AND - (SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'taper usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' IN TYPEOF (fcr.related_shape_aspect)) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS' IN TYPEOF (fcr.relating_shape_aspect))) - ) )= 1))) <= 1))) = 0); - WR9: (NOT (SELF\characterized_object.description = 'complex')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'enclosed boundary occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] * - TYPEOF (sdr.relating_shape_aspect)) = 1)) = 1)))= 1))) = 0); - WR10: (NOT (SELF\characterized_object.description - IN ['complex','rectangular'])) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'change in boundary occurrence') AND - (SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - (sar.description = 'taper usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' - IN TYPEOF (sar))) | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAPER' IN TYPEOF (fcr.related_shape_aspect)) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS' IN TYPEOF (fcr.relating_shape_aspect)) - AND - (fcr.related_shape_aspect.description IN - ['angle taper','directed taper'])) - )) = 1))) <= 1))) = 0); - WR11: (NOT (SELF\characterized_object.description = 'rectangular')) OR - (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF (pd)) | - NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - (sa_occ.description = 'rectangular profile occurrence') AND - (SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - (sar.description = 'profile usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' - IN TYPEOF (sar))) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE' - IN TYPEOF (sdr.relating_shape_aspect))) = 1))) = 1))) = 0); - - WR12: SIZEOF (QUERY(pdr <* get_property_definition_representations (SELF) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0; -END_ENTITY; -- Boss -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY tangent_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF curve_or_surface_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:?] OF curve_or_surface_constraint_element; - near_points : SET[0:?] OF near_point_relationship; - tangent_contact : tangent_contact_type; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: NOT ((SELF\geometric_representation_item.dim = 2) - AND (tangent_contact = surface_contact)); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY coaxial_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF axial_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:1] OF axial_geometry_constraint_element; -WHERE - WR1: SIZEOF(QUERY(q <* SELF\explicit_constraint.reference_elements | - SIZEOF(TYPEOF(q) * ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPHERICAL_SURFACE','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPHERE']) - > 0)) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY incidence_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF geometric_constraint_element; - SELF\explicit_constraint.reference_elements : - SET [0:?] OF geometric_constraint_element; - near_points : SET[0:?] OF near_point_relationship; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) - OR (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: SIZEOF(near_points) <= - SIZEOF(SELF\explicit_constraint.reference_elements); - WR3: SIZEOF(QUERY(q <* near_points | NOT - (q\representation_item_relationship.relating_representation_item - IN SELF\explicit_constraint.reference_elements))) = 0; -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY perpendicular_geometric_constraint - SUBTYPE OF (explicit_geometric_constraint); - SELF\explicit_constraint.constrained_elements : - SET[1:?] OF linear_geometry_constraint_element; - SELF\explicit_constraint.reference_elements : - SET[0:2] OF linear_geometry_constraint_element; -WHERE - WR1: NOT ((SIZEOF(SELF\explicit_constraint.reference_elements) = 2) AND - NOT ((SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' IN TYPEOF(q))) = - SIZEOF(SELF\explicit_constraint.reference_elements + - SELF\explicit_constraint.constrained_elements)) XOR - (SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements + - SELF\explicit_constraint.reference_elements | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(q))) = - SIZEOF(SELF\explicit_constraint.reference_elements + - SELF\explicit_constraint.constrained_elements)))); - WR2: (SIZEOF(SELF\explicit_constraint.reference_elements) > 0) OR - (SIZEOF(SELF\explicit_constraint.constrained_elements) IN [2,3]); - WR3: NOT ((SIZEOF(SELF\explicit_constraint.reference_elements) = 0) AND - (SIZEOF(SELF\explicit_constraint.constrained_elements) = 3)) AND NOT - ((SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE' IN TYPEOF(q))) = 3) XOR - (SIZEOF(QUERY(q <* SELF\explicit_constraint.constrained_elements | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(q))) = 3)); -END_ENTITY; -(* USED FROM (explicit_geometric_constraint_schema); *) -ENTITY pgc_with_dimension - SUBTYPE OF (parallel_geometric_constraint); - distance_value : non_negative_length_measure; - negative_direction : BOOLEAN; -WHERE - WR1: (SIZEOF(SELF\explicit_constraint.reference_elements) = 1) - OR (SIZEOF(SELF\explicit_constraint.constrained_elements) = 2); - WR2: SIZEOF(QUERY(q <* (SELF\explicit_constraint.reference_elements + - SELF\explicit_constraint.constrained_elements) | SIZEOF(TYPEOF(q) * - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR']) > 0)) = 0; -END_ENTITY; -(* USED FROM (Point_direction_model_mim); *) -ENTITY point_placement_shape_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF point_placement_shape_representation_item; -WHERE - WR1: SIZEOF( QUERY( i <* SELF.items | - SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOUND_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] - * TYPEOF(i)) = 1 - )) > 0; -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY simultaneous_constraint_group - SUBTYPE OF (variational_representation_item); - constraint_group : SET[2:?] OF constraint_group_member; -WHERE - WR1: SIZEOF(QUERY(q <* using_representations(SELF) | - SIZEOF(QUERY(r <* q.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMULTANEOUS_CONSTRAINT_GROUP' - IN TYPEOF(r)) AND (SIZEOF(QUERY(s <* constraint_group | - (s IN r\simultaneous_constraint_group.constraint_group) AND NOT (r :=: SELF))) > 0))) > 0)) = 0; - WR2: SIZEOF(QUERY(q <* using_representations(constraint_group[1]) | - (SIZEOF(QUERY(r <* constraint_group | - item_in_context(r,q.context_of_items))) - = SIZEOF(constraint_group)))) > 0; - WR3: SIZEOF(QUERY(q <* constraint_group | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPLICIT_CONSTRAINT' IN TYPEOF(q)) - AND (SIZEOF(QUERY(r <* q.constrained_elements | - SIZEOF(QUERY(s <* constraint_group | - r IN s.reference_elements)) > 0)) > 0)))) = 0; -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY free_form_relation - SUBTYPE OF (free_form_constraint); -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_EXPRESSION' IN TYPEOF - (SELF\free_form_constraint.constraining_expression); - WR2: SIZEOF(QUERY(q <* (SELF\free_form_constraint.constrained_elements + - SELF\free_form_constraint.reference_elements) | - NOT (q IN used_variables - (SELF\free_form_constraint.constraining_expression)))) = 0; -END_ENTITY; -(* USED FROM (Layer_assignment_mim); *) - ENTITY rep_item_group - SUBTYPE OF (group, representation_item); - WHERE - WR1: SIZEOF(USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRESENTATION_LAYER_ASSIGNMENT.' + 'ASSIGNED_ITEMS')) > 0; - WR2: SIZEOF(QUERY(r <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION.' + 'ITEMS') | r.name = 'group representation')) > 0; - WR3: SIZEOF(QUERY(ga <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GROUP_ASSIGNMENT.' + 'ASSIGNED_GROUP') | ga.role.name <> 'group membership')) = 0; - WR4: SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GEOMETRIC_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'TOPOLOGICAL_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MAPPED_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'STYLED_ITEM'] * TYPEOF(SELF)) = 1; - END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY hardness_representation - SUBTYPE OF (representation); - WHERE - WR1: ( {2<= SIZEOF ( SELF.items ) <=4} ) AND ( SIZEOF ( QUERY ( - i <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( - i.name IN [ 'measuring method' , 'measuring position' ] ) ) - ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) - AND ( i.name IN ['depth' , 'hardness'] ) ) ) = SIZEOF ( - SELF.items ) ) ; - WR2: SIZEOF ( QUERY ( i <* SELF.items | i.name = - 'measuring method' ) ) =1; - WR3: SIZEOF ( QUERY ( i <* SELF.items | i.name ='hardness' ) ) - =1; - WR4: SIZEOF ( QUERY ( i <* SELF.items | i.name = - 'measuring position' ) ) <=1; - WR5: SIZEOF ( QUERY ( i <* SELF.items | i.name ='depth' ) ) - <=1; - WR6: ( SIZEOF ( USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 ) - ) =1 ) ; - END_ENTITY; -(* USED FROM (kinematic_topology_schema); *) -ENTITY kinematic_topology_structure - SUBTYPE OF (representation); - SELF\representation.items : SET[1:?] OF kinematic_joint; -WHERE - WR1: SIZEOF (QUERY (item <* items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_EDGE' in TYPEOF(item))) = 0; -END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY visual_appearance_representation - SUBTYPE OF (representation); - WHERE - WR1: ( {3<= SIZEOF ( SELF.items ) <=9} ) AND ( SIZEOF ( QUERY ( - i <* items | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND ( - i.name IN [ 'colour id' , 'colour name' , 'lustre' , 'pattern' , 'transparency', 'orientation'] ) ) - ) + SIZEOF ( QUERY ( i <* items | ( SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) - AND ( i.name IN ['refraction index' , 'opacity'] ) ) - ) + SIZEOF ( QUERY ( i <* items | ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'DOCUMENT_FILE' IN TYPEOF ( i ) ) - AND ( i.name IN [ 'texture map' ] ) ) ) - = SIZEOF ( SELF.items ) ); - WR2: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour id' )) =1; - WR3: SIZEOF ( QUERY ( i <* SELF.items | i.name ='lustre' ) )=1; - WR4: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'colour name') ) <=1; - WR5: SIZEOF ( QUERY ( i <* SELF.items | i.name ='pattern' ) )<=1; - WR6: SIZEOF ( QUERY ( i <* SELF.items | i.name ='transparency') ) <=1; - WR7: SIZEOF ( QUERY ( i <* SELF.items | i.name = 'texture map') ) <=1; - WR8: SIZEOF ( QUERY ( i <* SELF.items | i.name ='refraction index' ) )<=1; - WR9: SIZEOF ( QUERY ( i <* SELF.items | i.name ='opacity') ) <=1; - WR10: SIZEOF ( QUERY ( i <* SELF.items | i.name ='orientation') ) <=1; - WR11: ( SIZEOF ( USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )) =1 ) ; - END_ENTITY; -(* USED FROM (Picture_representation_mim); *) - ENTITY picture_representation - SUBTYPE OF (presentation_view); - SELF\representation.items : SET[2:?] OF picture_representation_item_select; - INVERSE - size : presentation_size FOR unit; - WHERE - WR1: SIZEOF(QUERY(item <* items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF(item))) = 1; - WR2: SIZEOF (QUERY (se <* QUERY (item <* SELF.items - | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF (item))) - | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PICTURE_REPRESENTATION_ITEM' - IN TYPEOF (se\styled_item.item)) )) = 0; - END_ENTITY; -(* USED FROM (geometric_model_schema); *) -ENTITY tessellated_item - ABSTRACT SUPERTYPE OF (ONEOF ( - COORDINATES_LIST, - TESSELLATED_SOLID, - TESSELLATED_SHELL, - TESSELLATED_WIRE, - TESSELLATED_GEOMETRIC_SET, - TESSELLATED_CURVE_SET, - TESSELLATED_POINT_SET, - TESSELLATED_SURFACE_SET, - TESSELLATED_STRUCTURED_ITEM)) - SUBTYPE OF (geometric_representation_item); -WHERE - WR1: SIZEOF (QUERY (using_rep <* using_representations (SELF) | NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' IN TYPEOF(using_rep)))) = 0; -END_ENTITY; -(* USED FROM (Design_product_data_management_mim); *) -ENTITY retention - SUBTYPE OF (action); -WHERE - WR1: SIZEOF( QUERY( aa <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ACTION_ASSIGNMENT.ASSIGNED_ACTION') | - ('ACTIVITY.APPLIED_ACTION_ASSIGNMENT' IN - TYPEOF(aa)) AND - (aa.role.name = 'retention') - )) >= 1; - WR2: (SIZEOF( QUERY( atia <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia.role.name = 'minimum retention period') - )) = 1) AND - (SIZEOF( QUERY( atia <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia.role.name = 'maximum retention period') - )) = 1) AND - (SIZEOF( QUERY( atia1 <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia1.role.name = 'minimum retention period') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TIME_INTERVAL_WITH_BOUNDS' IN - TYPEOF(atia1.assigned_time_interval)) AND - (EXISTS(atia1.assigned_time_interval\time_interval_with_bounds.secondary_bound) OR - EXISTS(atia1.assigned_time_interval\time_interval_with_bounds.duration)) AND - (SIZEOF( QUERY( atia2 <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'APPLIED_TIME_INTERVAL_ASSIGNMENT.ITEMS') | - (atia2.role.name = 'maximum retention period') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TIME_INTERVAL_WITH_BOUNDS' IN - TYPEOF(atia2.assigned_time_interval)) AND - (EXISTS(atia2.assigned_time_interval\time_interval_with_bounds.secondary_bound) OR - EXISTS(atia2.assigned_time_interval\time_interval_with_bounds.duration)) AND - (atia1.assigned_time_interval\time_interval_with_bounds.primary_bound :=: - atia2.assigned_time_interval\time_interval_with_bounds.primary_bound) -)) = 1) - )) = 1); - - WR3: SIZEOF( USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION')) + - SIZEOF( USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATED_ACTION')) = 0; -END_ENTITY; -(* USED FROM (Geometric_tolerance_mim); *) -ENTITY placed_datum_target_feature - SUBTYPE OF (datum_target); -DERIVE - representation_associations : SET[0:?] OF property_definition_representation := get_shape_aspect_property_definition_representations(SELF); -WHERE - WR1: SELF.description IN ['point','line','rectangle','circle','circular curve']; - WR2: SIZEOF (QUERY (pdr <* representation_associations | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF (pdr.used_representation) )) = 1; - WR3: valid_datum_target_parameters(SELF); -END_ENTITY; -(* USED FROM (Dimension_tolerance_mim); *) -ENTITY externally_defined_dimension_definition - SUBTYPE OF (dimensional_size, externally_defined_item); -WHERE - WR1: (SELF\externally_defined_item.item_id = 'external size dimension') AND (SELF\externally_defined_item.source.source_id = 'external size dimension specification'); - WR2: 1 >= SIZEOF(QUERY ( adr <* USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS')| (adr.assigned_document.description = 'external size dimension specification') )); -END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY product_process_plan - SUBTYPE OF (product_definition_process); -WHERE - WR1: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATED_ACTION') | - SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_PLAN', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.relating_action) - ) <> 1 - )) = 0; - - WR2: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION') | - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_PLAN', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.related_action)) = 1) OR - ((ar.name = 'process operation occurrence') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(ar.related_action.chosen_method))) - )) = - SIZEOF(USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION')); - WR3: SIZEOF( QUERY( ppa <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PROCESS_PRODUCT_ASSOCIATION.PROCESS') | - (ppa.name <> 'produced output') OR - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN - TYPEOF(ppa.defined_product)) - )) = 0; - -END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY dimension_curve - SUBTYPE OF (annotation_curve_occurrence); - WHERE - WR1: (SIZEOF( - QUERY(dct <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') - | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct)) - )) - ) <= 2); - WR2: SIZEOF( - QUERY( dcdc <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT.CONTENTS') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DIMENSION_CURVE_DIRECTED_CALLOUT' IN TYPEOF(dcdc))) - )>= 1; - WR3: (SIZEOF( - QUERY(dct1 <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') - | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct1)) - AND (dct1\dimension_curve_terminator.role = dimension_extent_usage.origin))) - ) <= 1) - AND - (SIZEOF( - QUERY (dct2 <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'TERMINATOR_SYMBOL.ANNOTATED_CURVE') - | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DIMENSION_CURVE_TERMINATOR' IN TYPEOF(dct2)) - AND (dct2\dimension_curve_terminator.role = dimension_extent_usage.target))) - ) <= 1); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) - ENTITY externally_conditioned_data_quality_inspection_result_representation - SUBTYPE OF(data_quality_inspection_result_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' IN TYPEOF(q))) > 0; - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY draughting_callout - SUBTYPE OF (geometric_representation_item); - contents : SET [1:?] OF draughting_callout_element; - WHERE - WR1: (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_CURVE' IN (TYPEOF(l_1)))) = 0) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LEADER_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND - (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_CURVE' IN (TYPEOF(l_1)))) = 0) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROJECTION_DIRECTED_CALLOUT' IN (TYPEOF(SELF))) AND - (SIZEOF (QUERY (l_1 <* SELF\draughting_callout.contents | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE' IN (TYPEOF(l_1)))) = 0) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSION_CURVE_DIRECTED_CALLOUT' IN (TYPEOF(SELF))); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY disallowed_assembly_relationship_usage - SUBTYPE OF(externally_conditioned_data_quality_criterion); - WHERE - WR1: validate_ecdq_inspected_elements_type(SELF, - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE']); - END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY styled_item - SUBTYPE OF (representation_item); - styles : SET [1:?] OF presentation_style_assignment; - item : styled_item_target; - WHERE - WR1: (SIZEOF(SELF.styles) = 1) - XOR - (SIZEOF(QUERY(pres_style <* SELF.styles | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRESENTATION_STYLE_BY_CONTEXT' IN - TYPEOF(pres_style)) - )) = 0); - WR2: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STYLED_ITEM' IN TYPEOF(item)); - WR3: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(item)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONTEXT_DEPENDENT_OVER_RIDING_STYLED_ITEM' IN TYPEOF(SELF)); - END_ENTITY; -(* USED FROM (draughting_element_schema); *) - ENTITY leader_curve - SUBTYPE OF (annotation_curve_occurrence); - WHERE - WR1: SIZEOF( - QUERY(ldc <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DRAUGHTING_CALLOUT.CONTENTS') - | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'LEADER_DIRECTED_CALLOUT' IN TYPEOF(ldc))) >= 1; - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspection_result_representation - SUBTYPE OF(data_quality_inspection_result_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' IN TYPEOF(q))) > 0; - WR2 : 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRIC_REPRESENTATION_CONTEXT' IN - TYPEOF(SELF\representation.context_of_items); - WR3 : SIZEOF(USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.'+ - 'REP_2'))>0; - END_ENTITY; -(* USED FROM (Ap242_managed_model_based_3d_engineering_mim); *) - ENTITY cc_design_person_and_organization_assignment - SUBTYPE OF (person_and_organization_assignment); - items : SET[1:?] OF cc_person_organization_item; - WHERE - WR1: cc_design_person_and_organization_correlation(SELF); - END_ENTITY; -(* USED FROM (shape_data_quality_inspection_result_schema); *) - ENTITY shape_data_quality_inspected_shape_and_result_relationship - SUBTYPE OF(shape_representation_relationship); - SELF\representation_relationship.rep_1 : shape_representation; - SELF\representation_relationship.rep_2 : shape_data_quality_inspection_result_representation; - WHERE - WR1 : SIZEOF( - using_product_definition_of_shape_representation(SELF.rep_1) - * - bag_to_set(inspected_product_definition(SELF.rep_2)) - ) > 0; - WR2 : SELF.rep_1\representation.context_of_items :=: - SELF.rep_2\representation.context_of_items; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_criterion - SUPERTYPE OF (ONEOF ( - ERRONEOUS_DATA, - INAPT_DATA)) - SUBTYPE OF(data_quality_criterion, data_quality_measurement_requirement); - assessment_specification : shape_data_quality_assessment_specification_select; - WHERE - WR1 : SIZEOF(USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.'+ - 'CRITERION' - )) = 0; - WR2 : SIZEOF(QUERY(i1<*bag_to_set( - USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ - 'RELATED_REPRESENTATION_ITEM'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - WR3 : SIZEOF(QUERY(i1<*bag_to_set( - USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ - 'RELATING_REPRESENTATION_ITEM'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - END_ENTITY; -(* USED FROM (shape_data_quality_criteria_schema); *) - ENTITY shape_data_quality_criteria_representation - SUBTYPE OF(data_quality_criteria_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_CRITERION' IN TYPEOF(q))) > 0; - END_ENTITY; -(* USED FROM (qualified_measure_schema); *) -ENTITY measure_qualification; - name : label; - description : text; - qualified_measure : measure_with_unit; - qualifiers : SET [1:?] OF value_qualifier; -WHERE - WR1: SIZEOF(QUERY(temp <* qualifiers | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRECISION_QUALIFIER' - IN TYPEOF(temp))) < 2; - WR2: NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM' - IN TYPEOF(SELF\measure_qualification.qualified_measure)); -END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_result_representation - SUBTYPE OF(representation); - criteria_inspected : data_quality_criteria_representation; - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'DATA_QUALITY_INSPECTION_RESULT' IN TYPEOF(q))) > 0; - WR2 : SIZEOF(inspected_product_definition(SELF)) > 0; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_criterion_report_item - SUBTYPE OF(representation_item); - statistical_value : INTEGER; - value_type : statistical_value_type; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_instance_report_item - SUBTYPE OF(representation_item); - inspected_elements : SET [1:?] OF inspected_element_select; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_instance_report - SUBTYPE OF(data_quality_inspection_report); - inspected_instances : LIST [1:?] OF data_quality_inspection_instance_report_item; - WHERE - WR1 : SIZEOF(QUERY(i1<*bag_to_set(USEDIN( - SELF\data_quality_inspection_report. - inspection_result.criterion_inspected, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_REPORT_REQUEST.CRITERION_OF_REPORT_REQUEST'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DETAILED_REPORT_REQUEST' - IN TYPEOF(i1)))>0; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_result - SUBTYPE OF(representation_item); - criterion_inspected : data_quality_criterion; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_criterion_report - SUBTYPE OF(data_quality_inspection_report); - statistical_values : SET [1:2] OF data_quality_inspection_criterion_report_item; - WHERE - WR1 : SIZEOF(QUERY(i1<*bag_to_set(USEDIN( - SELF\data_quality_inspection_report. - inspection_result.criterion_inspected, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_REPORT_REQUEST.CRITERION_OF_REPORT_REQUEST'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SUMMARY_REPORT_REQUEST' - IN TYPEOF(i1)))>0; - WR2 : (SIZEOF(SELF.statistical_values) = 1 ) OR - (SELF.statistical_values[1].value_type <> - SELF.statistical_values[2].value_type); - END_ENTITY; -(* USED FROM (product_data_quality_inspection_result_schema); *) - ENTITY data_quality_inspection_report - SUPERTYPE OF (ONEOF ( - DATA_QUALITY_INSPECTION_CRITERION_REPORT, - DATA_QUALITY_INSPECTION_INSTANCE_REPORT)) - SUBTYPE OF(representation_item); - inspection_result : data_quality_inspection_result; - WHERE - WR1 : SIZEOF(QUERY(q <* bag_to_set( USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS')) - |'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERIA_REPRESENTATION' - IN TYPEOF(q)))=0; - END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY surfaced_open_shell - SUBTYPE OF (open_shell); -WHERE - WR1: SIZEOF(QUERY(q <* SELF\connected_face_set.cfs_faces | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(q)))) = 0; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY extended_tuple_space - SUBTYPE OF (maths_space, generic_literal); - base : product_space; - extender : maths_space; -WHERE - WR1: expression_is_constant(base) AND - expression_is_constant(extender); - WR2: no_cyclic_space_reference(SELF, []); - WR3: extender <> the_empty_space; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY quantifier_expression - ABSTRACT SUPERTYPE - SUBTYPE OF (multiple_arity_generic_expression); - variables : LIST [1:?] OF UNIQUE generic_variable; -WHERE - WR1: SIZEOF (QUERY (vrbl <* variables | NOT (vrbl IN - SELF\multiple_arity_generic_expression.operands))) = 0; - WR2: SIZEOF (QUERY (vrbl <* variables | NOT ((schema_prefix + - 'BOUND_VARIABLE_SEMANTICS') IN TYPEOF (vrbl.interpretation.semantics)))) = 0; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY function_space - SUBTYPE OF (maths_space, generic_literal); - domain_constraint : space_constraint_type; - domain_argument : maths_space; - range_constraint : space_constraint_type; - range_argument : maths_space; -WHERE - WR1: expression_is_constant(domain_argument) AND - expression_is_constant(range_argument); - WR2: (domain_argument <> the_empty_space) AND - (range_argument <> the_empty_space); - WR3: (domain_constraint <> sc_member) OR NOT - member_of(the_empty_space,domain_argument); - WR4: (range_constraint <> sc_member) OR NOT - member_of(the_empty_space,range_argument); - WR5: NOT (any_space_satisfies(domain_constraint,domain_argument) AND - any_space_satisfies(range_constraint,range_argument)); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY function_application - SUBTYPE OF (multiple_arity_generic_expression); - func : maths_function_select; - arguments : LIST [1:?] OF maths_expression; -DERIVE - SELF\multiple_arity_generic_expression.operands : LIST [2:?] OF generic_expression - := [convert_to_maths_function(func)] + convert_to_operands(arguments); -WHERE - WR1: function_applicability(func, arguments); -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_incomplete_circular_pattern - SUBTYPE OF (solid_with_circular_pattern); - omitted_instances : SET[1:?] OF positive_integer; -WHERE - WR1: SIZEOF(omitted_instances) < - SELF\solid_with_circular_pattern.replicate_count; - WR2: SIZEOF(QUERY(q <* omitted_instances | q > - SELF\solid_with_circular_pattern.replicate_count)) = 0; -END_ENTITY; -(* USED FROM (solid_shape_element_schema); *) -ENTITY solid_with_incomplete_rectangular_pattern - SUBTYPE OF (solid_with_rectangular_pattern); - omitted_instances : SET[1:?] OF LIST [2:2] OF positive_integer; -WHERE - WR1: NOT([1,1] IN omitted_instances); - WR2: SIZEOF(omitted_instances) < - ((SELF\solid_with_rectangular_pattern.row_count * - SELF\solid_with_rectangular_pattern.column_count) - 1); - WR3: SIZEOF(QUERY(q <* omitted_instances | - ((q[1] > SELF\solid_with_rectangular_pattern.row_count) OR - (q[2] > SELF\solid_with_rectangular_pattern.column_count)))) = 0; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY constant_function - SUBTYPE OF (maths_function, generic_literal); - sole_output : maths_value; - source_of_domain : maths_space_or_function; -WHERE - WR1: no_cyclic_domain_reference(source_of_domain, [SELF]); - WR2: expression_is_constant(domain_from(source_of_domain)); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY uncertainty_measure_with_unit - SUBTYPE OF (measure_with_unit); - name : label; - description : OPTIONAL text; - WHERE - WR1: valid_measure_value (SELF\measure_with_unit.value_component); - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY parallel_composed_function - SUBTYPE OF (maths_function, multiple_arity_generic_expression); - source_of_domain : maths_space_or_function; - prep_functions : LIST [1:?] OF maths_function; - final_function : maths_function_select; -DERIVE - SELF\multiple_arity_generic_expression.operands : LIST [2:?] of generic_expression - := convert_to_operands_prcmfn(source_of_domain, prep_functions, final_function); -WHERE - WR1: no_cyclic_domain_reference(source_of_domain, [SELF]); - WR2: expression_is_constant(domain_from(source_of_domain)); - WR3: parallel_composed_function_domain_check(domain_from(source_of_domain), - prep_functions); - WR4: parallel_composed_function_composability_check(prep_functions, final_function); -END_ENTITY; -(* USED FROM (aic_curve_swept_solid); *) - ENTITY curve_swept_solid_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_AREA_SOLID', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_DISK_SOLID', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * - TYPEOF(it)) = 1))) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_AREA_SOLID', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_DISK_SOLID', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION' IN - TYPEOF(mi\mapped_item.mapping_source. - mapped_representation)))) = 0; - WR4: SIZEOF (QUERY (scsas <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE_SWEPT_AREA_SOLID' IN - TYPEOF(it)) | - NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN - TYPEOF(scsas\surface_curve_swept_area_solid.directrix)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN - TYPEOF(scsas\surface_curve_swept_area_solid.directrix))))) = 0; - END_ENTITY; -(* USED FROM (aic_manifold_subsurface); *) - ENTITY manifold_subsurface_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: SIZEOF (QUERY (it <* SELF.items | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D'] * - TYPEOF(it)) = 1))) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items | - SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM'] * TYPEOF(it)) =1 )) > 0; - WR3: SIZEOF (QUERY (mi <* QUERY (it <* items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(it)) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION' IN - TYPEOF(mi\mapped_item.mapping_source. - mapped_representation)))) = 0; - WR4: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL' IN TYPEOF(cfss)))) = 0; - WR5: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT( (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN - TYPEOF(cfss\connected_face_sub_set.parent_face_set))AND - (SIZEOF(QUERY(fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | NOT - advanced_face_properties(fac))) = 0)) OR - (SIZEOF(QUERY(fac <* cfss\connected_face_sub_set.parent_face_set\connected_face_set.cfs_faces | NOT - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF(fac)))) = 0) - ))) = 0; - WR6: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - ( SIZEOF (QUERY (fac <* cfss\connected_face_set.cfs_faces | NOT - advanced_face_properties(fac))) = 0))) = 0; - WR7: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_CURVE' IN - TYPEOF(oe.edge_element)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBEDGE' IN - TYPEOF(oe.edge_element)) ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR8: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN TYPEOF(oe.edge_start)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_POINT' IN - TYPEOF(oe.edge_end)) - ))) = 0 - ))) = 0 - ))) = 0 - ))) = 0; - WR9: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - ( NOT (SIZEOF(QUERY (bnds <* fcs.bounds | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_LOOP'] * - TYPEOF(bnds.bound)) = 1 ) - )) = 0) - ))) = 0 - ))) = 0; - WR10: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - ( NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' ] * - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) = 1 ) - )) = 0 - ))) = 0 - )))) = 0 - ))) = 0; - WR11: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND - (NOT ((SIZEOF (QUERY (sc_ag <* - oe.edge_element\edge_curve.edge_geometry\ - surface_curve.associated_geometry | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN - TYPEOF(sc_ag)))) = 0))) - )) = 0 - ))) = 0 - )))) = 0 - ))) = 0; - WR12: SIZEOF (QUERY (cfss <* QUERY (it <* SELF.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONNECTED_FACE_SUB_SET' IN TYPEOF(it)) | - NOT (SIZEOF (QUERY(fcs <* cfss\connected_face_set.cfs_faces | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(fcs)) AND - (NOT (SIZEOF(QUERY (elp_fbnds <* QUERY (bnds <* fcs.bounds | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_LOOP' IN TYPEOF(bnds.bound)) | - NOT (SIZEOF (QUERY (oe <* elp_fbnds.bound\path.edge_list | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN - TYPEOF(oe.edge_element\edge_curve.edge_geometry)) AND - (NOT (SIZEOF (oe\oriented_edge.edge_element\ - edge_curve.edge_geometry\polyline.points) >= 3)) - )) = 0 - ))) = 0 - )))) = 0 - ))) = 0; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY repackaging_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - input_repack : repackage_options; - output_repack : repackage_options; - selected_output : nonnegative_integer; -WHERE - WR1: (input_repack <> ro_wrap_as_tuple) OR - ((space_dimension(operand.domain) = 1) AND - ((schema_prefix + 'TUPLE_SPACE') IN TYPEOF (factor1(operand.domain)))); - WR2: (output_repack <> ro_unwrap_tuple) OR - ((space_dimension(operand.range) = 1) AND - ((schema_prefix + 'TUPLE_SPACE') IN TYPEOF (factor1(operand.range)))); - WR3: selected_output <= space_dimension( repackage( - operand.range, output_repack)); -END_ENTITY; -(* USED FROM (aic_advanced_brep); *) -ENTITY advanced_brep_shape_representation - SUBTYPE OF ( shape_representation ); - WHERE -WR1 : -SIZEOF ( -QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0; -WR2 : -SIZEOF ( -QUERY ( it <* SELF.items| ( SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0; -WR3 : -SIZEOF ( -QUERY ( msb <* -QUERY ( it <* SELF.items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* msb_shells(msb)| NOT ( SIZEOF ( -QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF (fcs)) )) = 0) )) = 0) )) = 0; -WR4 : -SIZEOF ( -QUERY ( msb <* -QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0; -WR5 : -SIZEOF ( -QUERY ( brv <* -QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BREP_WITH_VOIDS' IN TYPEOF (it)) )| NOT ( SIZEOF ( -QUERY ( csh <* brv\brep_with_voids.voids| csh\oriented_closed_shell.orientation )) = 0) )) = 0; -WR6 : -SIZEOF ( -QUERY ( mi <* -QUERY ( it <* items| ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0; - END_ENTITY ; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY reindexed_array_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - starting_indices : LIST [1:?] OF INTEGER; -WHERE - WR1: function_is_array(SELF\unary_generic_expression.operand); - WR2: SIZEOF(starting_indices) = SIZEOF(shape_of_array( - SELF\unary_generic_expression.operand)); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY series_composed_function - SUBTYPE OF (maths_function, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : LIST [2:?] of maths_function; -WHERE - WR1: composable_sequence(SELF\multiple_arity_generic_expression.operands); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY homogeneous_linear_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - sum_index : one_or_two; -DERIVE - mat : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_2d_table(mat); - WR2: (space_dimension(mat.range) = 1) AND - subspace_of_es(factor1(mat.range),es_numbers); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY partial_derivative_expression - SUBTYPE OF (unary_generic_expression); - d_variables : LIST [1:?] OF maths_variable; - extension : extension_options; -DERIVE - derivand : generic_expression := SELF\unary_generic_expression.operand; -WHERE - WR1: has_values_space (derivand); - WR2: space_is_continuum (values_space_of (derivand)); - WR3: SIZEOF (QUERY (vbl <* d_variables | (NOT subspace_of (values_space_of (vbl), - the_reals)) AND (NOT subspace_of (values_space_of (vbl), the_complex_numbers)) - )) = 0; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY polar_complex_number_region - SUBTYPE OF (maths_space, generic_literal); - centre : complex_number_literal; - distance_constraint : real_interval; - direction_constraint : finite_real_interval; -WHERE - WR1: min_exists(distance_constraint) AND (real_min(distance_constraint) >= 0.0); - WR2: {-PI <= direction_constraint.min < PI}; - WR3: direction_constraint.max - direction_constraint.min <= 2.0*PI; - WR4: (direction_constraint.max - direction_constraint.min < 2.0*PI) OR - (direction_constraint.min_closure = open); - WR5: (direction_constraint.max - direction_constraint.min < 2.0*PI) OR - (direction_constraint.max_closure = open) OR - (direction_constraint.min = -PI); - WR6: (real_min(distance_constraint) > 0.0) OR max_exists(distance_constraint) OR - (direction_constraint.max - direction_constraint.min < 2.0*PI) OR - (direction_constraint.max_closure = open); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY surface_replica - SUBTYPE OF (surface); - parent_surface : surface; - transformation : cartesian_transformation_operator_3d; -WHERE - WR1: acyclic_surface_replica(SELF, parent_surface); -END_ENTITY; -(* USED FROM (representation_schema); *) - ENTITY mapped_item - SUBTYPE OF (representation_item); - mapping_source : representation_map; - mapping_target : representation_item; - WHERE - WR1: acyclic_mapped_representation(SELF); - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY definite_integral_expression - SUBTYPE OF (quantifier_expression); - lower_limit_neg_infinity : BOOLEAN; - upper_limit_pos_infinity : BOOLEAN; -DERIVE - integrand : generic_expression - := SELF\multiple_arity_generic_expression.operands[1]; - variable_of_integration : maths_variable - := SELF\multiple_arity_generic_expression.operands[2]; - SELF\quantifier_expression.variables : LIST [1:1] OF UNIQUE generic_variable - := [variable_of_integration]; -WHERE - WR1: has_values_space (integrand); - WR2: space_is_continuum (values_space_of (integrand)); - WR3: definite_integral_expr_check (SELF\multiple_arity_generic_expression.operands, - lower_limit_neg_infinity, upper_limit_pos_infinity); -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY curve_replica - SUBTYPE OF (curve); - parent_curve : curve; - transformation : cartesian_transformation_operator; -WHERE - WR1: transformation.dim = parent_curve.dim; - WR2: acyclic_curve_replica (SELF, parent_curve); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY b_spline_basis - SUBTYPE OF (maths_function, generic_literal); - degree : nonnegative_integer; - repeated_knots : LIST [2:?] OF REAL; -DERIVE - order : positive_integer := degree + 1; - num_basis : positive_integer := SIZEOF (repeated_knots) - order; -WHERE - WR1: num_basis >= order; - WR2: nondecreasing(repeated_knots); - WR3: repeated_knots[order] < repeated_knots[num_basis+1]; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY b_spline_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - basis : LIST [1:?] OF b_spline_basis; -DERIVE - coef : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_table(coef); - WR2: (space_dimension(coef.range) = 1) AND - (number_superspace_of(factor1(coef.range)) = the_reals); - WR3: SIZEOF (basis) <= - SIZEOF (shape_of_array(coef)); - WR4: compare_basis_and_coef(basis, coef); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY rationalize_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; -DERIVE - fun : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: (space_dimension(fun.domain) = 1) AND (space_dimension(fun.range) = 1); - WR2: number_tuple_subspace_check(factor1(fun.range)); - WR3: space_dimension(factor1(fun.range)) > 1; -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY partial_derivative_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - d_variables : LIST [1:?] OF input_selector; - extension : extension_options; -DERIVE - derivand : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: space_is_continuum (derivand.range); - WR2: partial_derivative_check (derivand.domain, d_variables); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY definite_integral_function - SUBTYPE OF (maths_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - variable_of_integration : input_selector; - lower_limit_neg_infinity : BOOLEAN; - upper_limit_pos_infinity : BOOLEAN; -DERIVE - integrand : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: space_is_continuum (integrand.range); - WR2: definite_integral_check (integrand.domain, variable_of_integration, - lower_limit_neg_infinity, upper_limit_pos_infinity); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY abstracted_expression_function - SUBTYPE OF (maths_function, quantifier_expression); -DERIVE - SELF\quantifier_expression.variables : LIST [1:?] OF UNIQUE generic_variable := - remove_first(SELF\multiple_arity_generic_expression.operands); - expr : generic_expression := SELF\multiple_arity_generic_expression.operands[1]; -WHERE - WR1: SIZEOF (QUERY ( operand <* - SELF\multiple_arity_generic_expression.operands | NOT ( - has_values_space( operand)))) = 0; -END_ENTITY; -(* USED FROM (geometry_schema); *) -ENTITY curve_bounded_surface - SUBTYPE OF (bounded_surface); - basis_surface : surface; - boundaries : SET[1:?] OF boundary_curve; - implicit_outer : BOOLEAN; -WHERE - WR1: (NOT implicit_outer) OR (SIZEOF (QUERY (temp <* boundaries | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) = 0); - WR2: (NOT(implicit_outer)) OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_SURFACE' IN TYPEOF(basis_surface)); - WR3: SIZEOF(QUERY(temp <* boundaries | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTER_BOUNDARY_CURVE' IN TYPEOF(temp))) <= 1; - WR4: SIZEOF(QUERY(temp <* boundaries | (temp\composite_curve_on_surface.basis_surface [1] <> SELF.basis_surface))) = 0; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY circular_pattern - SUBTYPE OF (replicate_feature); - WHERE - WR1: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' - IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN - (pds,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE') | - ((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.' - + 'RELATING_SHAPE_ASPECT') | - ((('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP') - IN TYPEOF(sar))) ) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' - IN TYPEOF(sdr.related_shape_aspect)) )) = 1)) )) <= 3)) )) = 0); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT ((SIZEOF (impl_rep.used_representation.items) >= 3) - AND (SIZEOF(impl_rep.used_representation.items) <= 5))) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) <= 1)) )) - = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'base feature rotation')) )) - <= 1)) )) = 0)) )) = 0); - WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' - IN TYPEOF(it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COUNT_MEASURE' - IN TYPEOF(it\measure_with_unit.value_component)) AND - (it.name = 'number of features')) )) = 1)) )) = 0)) )) = 0); - WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'angular spacing'))))= 1)) )) - = 0)) )) = 0); - WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- circular_pattern -(* USED FROM (product_structure_schema); *) -ENTITY specified_higher_usage_occurrence - SUBTYPE OF (assembly_component_usage); - upper_usage : assembly_component_usage; - next_usage : next_assembly_usage_occurrence; -UNIQUE - UR1: upper_usage, next_usage; -WHERE - WR1: SELF :<>: upper_usage; - WR2: SELF\product_definition_relationship.relating_product_definition - :=: upper_usage.relating_product_definition; - WR3: SELF\product_definition_relationship.related_product_definition - :=: next_usage.related_product_definition; - WR4: (upper_usage.related_product_definition :=: - next_usage.relating_product_definition) OR - (SIZEOF (QUERY (pdr <* USEDIN (upper_usage.related_product_definition, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATED_PRODUCT_DEFINITION') | - pdr.relating_product_definition :=: - next_usage.relating_product_definition)) = 1); - WR5: SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NEXT_ASSEMBLY_USAGE_OCCURRENCE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPECIFIED_HIGHER_USAGE_OCCURRENCE'] - * TYPEOF(upper_usage)) = 1; -END_ENTITY; -(* USED FROM (aic_machining_feature); *) -ENTITY circular_closed_profile - SUBTYPE OF (shape_aspect); - WHERE - WR1: ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' - IN TYPEOF(SELF.of_shape.definition)); - WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0); - WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | (( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) - = 0)) )) = 0); - WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - NOT(SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF(it)) - AND (it.name = 'orientation')) )) = 1) )) = 0)) )) = 0); - WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS') - IN TYPEOF(pdr.used_representation)) ) | - (NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items | - ((SIZEOF([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT'] * - TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) = 1)) )) - = 0)) )) = 0); -END_ENTITY; -- circular_closed_profile -(* USED FROM (Surface_conditions_mim); *) - ENTITY tactile_appearance_representation - SUBTYPE OF (representation); - WHERE - WR1: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) <>1 )) =0; - WR2: SIZEOF ( QUERY ( i <* SELF.items | name ='depth' ) ) <=1; - WR3: ( SIZEOF ( USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 )) =1 ) ; - END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY surface_texture_representation - SUBTYPE OF (representation); - WHERE - WR1: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'VALUE_RANGE' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM']* TYPEOF ( i ) ) <>1 ) ) - =0; - WR2: ( SIZEOF ( QUERY ( i <* SELF.items | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) ) =1 ) - AND ( SIZEOF ( QUERY ( i <* SELF.items | ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN - TYPEOF ( i ) ) AND ( i.name = 'measuring method' ) ) ) =1 ); - WR3: SIZEOF ( QUERY ( i <* SELF.items | SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'VALUE_RANGE']* TYPEOF ( i ) ) =1 ) ) - >0; - WR4: ( SIZEOF ( USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_1' ) ) <=1 ) AND ( SIZEOF ( USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_2' ) ) =0 ) AND ( SIZEOF ( QUERY ( rr <* USEDIN ( SELF - , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_1' ) | rr.rep_2.name = 'measuring direction' ) ) = - SIZEOF ( USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'REPRESENTATION_RELATIONSHIP.'+ - 'REP_1' ) ) ) ; - WR5: ( SIZEOF ( USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) ) =1 ) AND ( SIZEOF ( QUERY ( pdr - <* USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN ( - pdr.definition , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF ( gpa.base_definition ) ) AND - ( gpa\general_property_association.base_definition\general_property.name ='surface_condition' ) ) ) =1 ) - ) =1 ) ; - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY listed_data - SUBTYPE OF (explicit_table_function, generic_literal); - values : LIST [1:?] OF maths_value; - value_range : maths_space; -DERIVE - SELF\explicit_table_function.shape : LIST [1:?] OF positive_integer := - [SIZEOF (values)]; -WHERE - WR1: expression_is_constant(value_range); - WR2: SIZEOF (QUERY (val <* values | NOT (member_of( val, value_range)))) = 0; -END_ENTITY; -(* USED FROM (Surface_conditions_mim); *) - ENTITY contact_ratio_representation - SUBTYPE OF (representation); - WHERE - WR1: (SIZEOF ( SELF.items ) =1 ) AND - (SIZEOF ( QUERY ( i <* SELF.items | - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MEASURE_REPRESENTATION_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'VALUE_RANGE']* TYPEOF(i)) = 1) AND - (i.name = 'ratio value'))) = 1); - WR2: (SIZEOF ( QUERY ( pdr <* USEDIN ( SELF ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | - pdr\property_definition_representation.name = 'contact ratio reference' ) ) = 1 ) AND - (SIZEOF ( QUERY (pdr <* USEDIN ( SELF ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION' ) | - (pdr\property_definition_representation.name = 'contact ratio reference' ) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'PRODUCT_DEFINITION' IN TYPEOF ( pdr\property_definition_representation.definition\property_definition.definition)) - )) = 1); - WR3:(SIZEOF(USEDIN(SELF ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ 'USED_REPRESENTATION')) = 1) AND - (SIZEOF ( QUERY ( pdr <* USEDIN ( SELF , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'PROPERTY_DEFINITION_REPRESENTATION.'+ - 'USED_REPRESENTATION' ) | SIZEOF ( QUERY ( gpa <* USEDIN (pdr.definition , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+'GENERAL_PROPERTY_ASSOCIATION.'+ - 'DERIVED_DEFINITION' ) | ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'GENERAL_PROPERTY' IN TYPEOF (gpa\general_property_association.base_definition ) ) AND - (gpa\general_property_association.base_definition\general_property.name ='surface_condition') - )) = 1 - )) = 1); - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -(* Pruned SUPERTYPE *) -ENTITY linearized_table_function - - SUBTYPE OF (explicit_table_function, unary_generic_expression); - SELF\unary_generic_expression.operand : maths_function; - first : integer; -DERIVE - source : maths_function := SELF\unary_generic_expression.operand; -WHERE - WR1: function_is_1d_array(source); - WR2: member_of(first, source\maths_function.domain); -END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -ENTITY basic_sparse_matrix - SUBTYPE OF (explicit_table_function, multiple_arity_generic_expression); - SELF\multiple_arity_generic_expression.operands : LIST [3:3] OF maths_function; - default_entry : maths_value; - order : ordering_type; -DERIVE - index : maths_function := SELF\multiple_arity_generic_expression.operands[1]; - loc : maths_function := SELF\multiple_arity_generic_expression.operands[2]; - val : maths_function := SELF\multiple_arity_generic_expression.operands[3]; -WHERE - WR1: function_is_1d_table(index); - WR2: function_is_1d_table(loc); - WR3: function_is_1d_table(val); - WR4: check_sparse_index_domain(index.domain, index_base, shape, order); - WR5: check_sparse_index_to_loc(index.range, loc.domain); - WR6: loc.domain = val.domain; - WR7: check_sparse_loc_range(loc.range, index_base, shape, order); - WR8: member_of(default_entry, val.range); -END_ENTITY; -(* USED FROM (Shape_feature_mim); *) -ENTITY general_feature - SUBTYPE OF (shape_feature_definition); -WHERE - WR1: (SIZEOF(get_property_definition_representations(SELF)) <= 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation) - )) <= 1); - WR2: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - sa.description = 'course of travel occurrence')) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'course of travel occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'course of travel') - )) = 1 ))); - WR3: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - sa.description = 'course of travel occurrence')) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'course of travel occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ))); - WR4: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - sa.description = 'boundary occurrence')) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'boundary occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') - )) = 1 ))); - WR5: (SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(sa)) - )) <= 1 ) AND - (SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHAPE_ASPECT' IN - TYPEOF(sa)) AND - (sa.name = 'general compound feature') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INSTANCED_FEATURE' IN - TYPEOF(sar.related_shape_aspect)) - )) >= 2 ) - )) <= 1 ); -END_ENTITY; -(* USED FROM (explicit_constraint_schema); *) -ENTITY free_form_assignment - SUBTYPE OF (free_form_constraint); -WHERE - WR1: SIZEOF(QUERY(q <* SELF\free_form_constraint.constrained_elements | - q IN used_variables - (SELF\free_form_constraint.constraining_expression))) = 0; - WR2: SIZEOF(QUERY(q <* SELF\free_form_constraint.reference_elements | - NOT (q IN used_variables( - SELF\free_form_constraint.constraining_expression)))) = 0; - WR3: SIZEOF(SELF\free_form_constraint.reference_elements) >= 1; - WR4: SIZEOF(QUERY(q <* SELF\free_form_constraint.constrained_elements | - NOT (compatible_spaces(values_space_of( - SELF\free_form_constraint.constraining_expression), - q\maths_variable.values_space)))) = 0; -END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY single_boundary_csg_2d_shape_representation - SUBTYPE OF (single_area_csg_2d_shape_representation); - WHERE - WR1: SIZEOF(QUERY ( it <* SELF.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_PRIMITIVE_SOLID_2D' IN TYPEOF(it)) - AND (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY') IN - TYPEOF(it\csg_primitive_solid_2d.tree_root_expression))) )) = 0; - END_ENTITY; -(* USED FROM (Default_tolerance_mim); *) -ENTITY default_tolerance_table_cell - SUBTYPE OF (compound_representation_item); -WHERE - WR1: SIZEOF(QUERY( x <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION.ITEMS') | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DEFAULT_TOLERANCE_TABLE' IN TYPEOF(x)))=1 ; - WR2: default_tolerance_table_cell_wr2(SELF\compound_representation_item.item_element); - WR3: default_tolerance_table_cell_wr3(SELF\compound_representation_item.item_element); - WR4: default_tolerance_table_cell_wr4(SELF\compound_representation_item.item_element); - WR5: default_tolerance_table_cell_wr5(SELF\compound_representation_item.item_element); -END_ENTITY; - -(* Implicit interfaced from: procedural_model_schema *) -ENTITY procedural_representation - SUBTYPE OF (representation); - SELF\representation.items : - SET[1:?] OF procedural_representation_sequence; -END_ENTITY; - -(* Implicit interfaced from: procedural_model_schema *) -ENTITY procedural_representation_sequence - SUBTYPE OF (representation_item); - elements : LIST[1:?] OF representation_item; - suppressed_items : SET[0:?] OF representation_item; - rationale : text; -WHERE - WR1: SIZEOF(QUERY(q <* suppressed_items | NOT (q IN elements))) = 0; -END_ENTITY; -(* REFERENCE FROM (procedural_model_schema); *) -ENTITY explicit_procedural_representation_item_relationship - SUBTYPE OF (representation_item_relationship); - SELF\representation_item_relationship.relating_representation_item : - procedural_representation_sequence; -WHERE - WR1 : NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCEDURAL_REPRESENTATION_SEQUENCE' - IN TYPEOF( - SELF\representation_item_relationship.related_representation_item)); - WR2 : SIZEOF(QUERY(q <* using_representations( - SELF\representation_item_relationship.related_representation_item) | - item_in_context( - SELF\representation_item_relationship.relating_representation_item, - q.context_of_items))) > 0; -END_ENTITY; -(* USED FROM (Default_tolerance_mim); *) -ENTITY default_tolerance_table - SUBTYPE OF (representation); -WHERE - WR1: SIZEOF( QUERY( i <* SELF.items | NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEFAULT_TOLERANCE_TABLE_CELL' IN TYPEOF(i)) )) = 0; - WR2: (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | rr.name < 'general tolerance definition' )) = 0) AND (SIZEOF( QUERY( rr <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_1') | (rr.name = 'general tolerance definition') AND (rr.rep_2.name < 'default tolerance') )) = 0) AND (SIZEOF( USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.REP_2') ) = 0); -END_ENTITY; -(* USED FROM (Compound_shape_representation_mim); *) - ENTITY compound_shape_representation - SUBTYPE OF (shape_representation); - WHERE - WR1: ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'GEOMETRIC_REPRESENTATION_CONTEXT' - IN TYPEOF ( SELF.context_of_items ) ) AND ( - SELF.context_of_items\ - geometric_representation_context.coordinate_space_dimension =3 ) ; - WR2: SIZEOF ( QUERY ( cbsr_i <* SELF.items | SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MAPPED_ITEM' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'AXIS2_PLACEMENT_3D']* TYPEOF ( cbsr_i ) ) <>1 ) ) =0; - WR3: SIZEOF ( QUERY ( cbsr_i <* SELF.items | SIZEOF ( - ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'EDGE_BASED_WIREFRAME_MODEL' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'FACE_BASED_SURFACE_MODEL' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MAPPED_ITEM']* TYPEOF ( cbsr_i ) ) =1 ) ) >0; - WR4: SIZEOF ( QUERY ( cbsr_i <* SELF.items | ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'MAPPED_ITEM' IN TYPEOF ( cbsr_i ) ) - AND ( SIZEOF ( ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'COMPOUND_SHAPE_REPRESENTATION' , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION']* TYPEOF ( - cbsr_i\ mapped_item.mapping_source ) ) <>1 ) ) ) =0; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY single_area_csg_2d_shape_representation - SUBTYPE OF (csg_2d_shape_representation); - SELF\representation.items : SET[1:?] OF csg_2d_area_select; - WHERE - WR1: SIZEOF (QUERY (it <* SELF.items| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it)) )) = 0; - WR2: SIZEOF (QUERY (it <* SELF.items| - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SOLID_2D' - IN TYPEOF(it)) )) = 1; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY primitive_2d_with_inner_boundary - SUBTYPE OF (complex_area, compound_representation_item); - - (* removed : SELF\compound_representation_item.inner_boundary : COMPOUND_INNER_AREA_BOUNDARY *) - DERIVE - inner_boundary : COMPOUND_INNER_AREA_BOUNDARY := SELF\compound_representation_item.item_element; -- ITEM_ELEMENT : This ATTRIBUTE was RENAMED in the EXPRESS E2 source, this is the new name implemented as DERIVE - WHERE - WR1: SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_AREA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPTIC_AREA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_AREA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYGONAL_AREA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_WITH_OUTER_BOUNDARY', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_AREA_WITH_PARAMETERS'] * TYPEOF(SELF)) > 0; - WR2: SIZEOF(QUERY(inner <* inner_boundary | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY' IN TYPEOF(inner))) = 0; - WR3: open_path_based_inner_boundary(inner_boundary); - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY externally_conditioned_data_quality_criterion - SUBTYPE OF(Data_quality_criterion,Data_quality_measurement_requirement); - WHERE - WR1 : SIZEOF(USEDIN(SELF, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_CRITERION_ASSESSMENT_ASSOCIATION.'+ - 'CRITERION')) = 0; - WR2 : SIZEOF(QUERY(i1<*bag_to_set( USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ 'RELATED_REPRESENTATION_ITEM'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - WR3 : SIZEOF(QUERY(i1<*bag_to_set( USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'REPRESENTATION_ITEM_RELATIONSHIP.'+ 'RELATING_REPRESENTATION_ITEM'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'DATA_QUALITY_CRITERION_MEASUREMENT_ASSOCIATION' - IN TYPEOF(i1))) = 0; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY csg_2d_shape_representation - SUBTYPE OF (shape_representation); - SELF\representation.items : SET[1:?] OF csg_2d_shape_select; - WHERE - WR1: SELF.context_of_items\geometric_representation_context.coordinate_space_dimension = 2; - WR2: SIZEOF(QUERY ( it <* SELF.items | - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SOLID'] - * TYPEOF(it)) = 1) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'CSG_2D_SHAPE_REPRESENTATION' - IN TYPEOF(it\mapped_item.mapping_source.mapped_representation))) - )) >= 1; - WR3: SIZEOF(QUERY ( it <* SELF.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' - IN TYPEOF(it)) AND (NOT (( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'CSG_2D_SHAPE_REPRESENTATION') - IN TYPEOF(it\mapped_item.mapping_source.mapped_representation)))) )) = 0; - -- TODO does not work with the new introduced subtypes - -- WR4: SIZEOF(TYPEOF(SELF) - TYPEOF(SELF\shape_representation || - -- SELF\csg_2d_shape_representation || SELF\representation)) = 0; - END_ENTITY; -(* USED FROM (Constructive_solid_geometry_2d_mim); *) - ENTITY csg_solid_2d - SUBTYPE OF (csg_solid); - SELF\csg_solid.tree_root_expression : csg_select_2d; - WHERE - WR1: valid_csg_2d_primitives(SELF); - END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY process_plan - SUBTYPE OF (action); -WHERE - WR1: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATED_ACTION') | - SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_PLAN', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.relating_action)) <> 1 - )) = 0; - - WR2: SIZEOF( QUERY( ar <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION') | - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_PLAN', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_PROCESS_PLAN'] * - TYPEOF(ar.related_action)) = 1) OR - ((ar.name = 'process operation occurrence') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(ar.related_action.chosen_method))) - )) = - SIZEOF(USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'ACTION_RELATIONSHIP.RELATING_ACTION')); -END_ENTITY; -(* USED FROM (Process_plan_mim); *) -ENTITY process_operation - SUBTYPE OF (action_method); -WHERE - WR1: SIZEOF( QUERY( amr <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACTION_METHOD_RELATIONSHIP.' + - 'RELATING_METHOD') | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(amr\action_method_relationship.related_method)) OR - (SELF :=: amr\action_method_relationship.related_method) - )) = 0; - WR2: SIZEOF( QUERY( amr <* USEDIN(SELF,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACTION_METHOD_RELATIONSHIP.' + - 'RELATED_METHOD') | - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCESS_OPERATION' IN - TYPEOF(amr\action_method_relationship.relating_method)) OR - (SELF :=: amr\action_method_relationship.relating_method) - )) = 0; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY locator - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - NOT ({2 <= SIZEOF(pdr.used_representation.items) <= 5}) - )) = 0; - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='diameter') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='tip radius') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='tip angle') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY joggle_termination - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF(SELF.of_shape.definition); - WR2: SELF.description IN ['value termination','face termination']; - WR3: (SELF.description = 'value termination') XOR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) - )) = 0); - WR4: (SELF.description <> 'value termination') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 2) - )) = 1); - WR5: (SELF.description <> 'value termination') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='depth') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1); - WR6: (SELF.description <> 'value termination') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='angle') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1); - WR7: SIZEOF( QUERY( sar <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'joggle termination usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.JOGGLE' IN TYPEOF(sar.related_shape_aspect.of_shape.definition)) AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.name = 'termination') AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.description = 'joggle termination occurrence') - )) = 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY joggle - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - NOT({5 <= SIZEOF(pdr.used_representation.items) <= 10}) - )) = 0; - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT(i.name IN ['orientation','base radius 1','base radius 2','direction angle 1', - 'direction angle 2','height','slope angle 1','slope angle 2', - 'top radius 1','top radius 2']) - )) > 0) - )) = 0; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='direction angle 1') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='direction angle 2') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='height') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR6: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='slope angle 1') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR7: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='slope angle 2') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR8: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'defining path') AND - (sa.description = 'path feature component occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'path feature component usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sar.relating_shape_aspect)) AND - (sar.relating_shape_aspect.description = 'linear') - )) = 1 ) - )) = 1; - WR9: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'termination') AND - (sa.description = 'joggle termination occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'joggle termination usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.JOGGLE_TERMINATION' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; - WR10: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius 1') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR11: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius 2') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR12: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='top radius 1') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; - WR13: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='top radius 2') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) <= 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY hole_in_panel - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'hole profile') AND - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = 1; - WR2: SIZEOF( get_property_definition_representations(SELF)) = - SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - SIZEOF( pdr.used_representation.items) = 1)); -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY feature_in_panel - SUBTYPE OF (feature_definition); -WHERE - WR1: SELF.description IN ['pocket','boss','stairstep']; - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - NOT ({2 <= SIZEOF(pdr.used_representation.items) <= 3}) - )) = 0; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT( i.name IN ['orientation','base radius','target radius']) - )) > 0) - )) = 0; - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='target radius') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; - WR6: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'base boundary') AND - (sa.description IN ['directed angle occurrence','closed profile occurrence']) - )) = 1; - WR7: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'target boundary') AND - (sa.description IN ['directed angle occurrence','closed profile occurrence']) - )) = 1; - WR8: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'directed angle occurrence') - )) <= 1; - WR9: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'directed angle occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'directed angle usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTED_ANGLE' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'directed angle occurrence'))); - WR10: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = - SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.description = 'closed profile occurrence'))); - WR11: (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN - TYPEOF(pdr.used_representation) - )) <= 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN - TYPEOF(pdr.used_representation)) AND - NOT(pdr.used_representation.name = 'target face') - )) = 0); - WR12: (SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'target boundary') AND - (sa.description = 'directed angle occurrence') - )) = 0) OR - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN - TYPEOF(pdr.used_representation)) - )) = 1); -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY directed_angle - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF(SELF.of_shape.definition); - WR2: SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) - )) = 1; - WR3: SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 1) - )) = 1; - WR4: SELF.description IN ['punch direction','profile normal','surface normal']; - WR5: SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='angle') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY bead_end - SUBTYPE OF (shape_aspect); -WHERE - WR1: 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_DEFINITION' IN - TYPEOF(SELF.of_shape.definition); - WR2: SELF.description IN ['linear','open','radiused']; - - WR3: (SELF.description <> 'linear') XOR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) - )) > 0); - WR4: (SELF.description <> 'linear') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) = 2) - )) = 1); - WR5: (SELF.description <> 'linear') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='end length') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) = 1) - )) = 1); - WR6: (SELF.description <> 'linear') OR - (SIZEOF( QUERY( pdr <* get_shape_aspect_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name = 'end shape') AND - (i\descriptive_representation_item.description IN ['straight','tapered']) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' - IN TYPEOF(i)) - )) = 1) - )) = 1); - WR7: SIZEOF( QUERY( sar <* USEDIN( SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'bead end usage') AND - (sar.description IN ['starting' -,'ending' -]) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEAD' IN - TYPEOF(sar.related_shape_aspect.of_shape.definition)) AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.name = 'end condition') AND - (sar.related_shape_aspect.of_shape.definition\characterized_object.description = 'bead end occurrence') - )) = 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY bead - SUBTYPE OF (feature_definition); -WHERE - WR1: (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation) - )) <= 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF(pdr.used_representation.items) > 2) - )) = 0); - WR2: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT( i.name IN ['orientation','base radius']) - )) > 0) - )) = 0; - WR3: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) > 1) - )) = 0; - WR4: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'sweep path') AND - (sa.description = 'path feature component occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'path feature component usage') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_FEATURE_COMPONENT' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; - WR5: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'bead profile') AND - (sa.description = 'open profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_PATH_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARTIAL_CIRCULAR_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_U_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VEE_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = 1; - WR6: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'end condition') AND - (sa.description = 'bead end occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'bead end usage') AND - (sar.description = 'starting' -) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEAD_END' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; - WR7: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'end condition') AND - (sa.description = 'bead end occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FEATURE_COMPONENT_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.name = 'bead end usage') AND - (sar.description = 'ending' -) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEAD_END' IN - TYPEOF(sar.relating_shape_aspect)) - )) = 1 ) - )) = 1; -END_ENTITY; -(* USED FROM (Form_feature_in_panel_mim); *) -ENTITY barring_hole - SUBTYPE OF (feature_definition); -WHERE - WR1: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'hole profile') AND - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NGON_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_CLOSED_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_PATH_PROFILE'] - * TYPEOF(sar.relating_shape_aspect) - ) = 1 ) - )) = 1 ) - )) = 1; - WR2: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | - (sa.name = 'barring profile') AND - (sa.description = 'closed profile occurrence') AND - (SIZEOF( QUERY( sar <* USEDIN( sa, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINING_RELATIONSHIP' IN - TYPEOF(sar)) AND - (sar.description = 'profile usage') - )) = 1 ) - )) = 1; - WR3: (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation) - )) = 1) AND - (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - {1 <= SIZEOF(pdr.used_representation.items) <= 2} - )) = 1); - WR4: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - NOT( i.name IN ['orientation','base radius']) - )) > 0) - )) = 0; - WR5: SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN - TYPEOF(pdr.used_representation)) AND - (SIZEOF( QUERY( i <* pdr.used_representation.items | - (i.name='base radius') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) - )) <> 1) - )) = 0; -END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_inspection_result_mim); *) - ENTITY externally_conditioned_data_quality_inspection_instance_report_item - SUBTYPE OF(data_quality_inspection_instance_report_item); - SELF\data_quality_inspection_instance_report_item.inspected_elements : SET [1:?] OF inspected_ecdq_element_select; - WHERE - WR1 : SIZEOF(QUERY(i1 <* - bag_to_set(USEDIN(SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT.'+ 'INSPECTED_INSTANCES'))| - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(i1.inspection_result))))=0; - END_ENTITY; -(* USED FROM (Externally_conditioned_data_quality_criteria_mim); *) - ENTITY externally_conditioned_data_quality_criteria_representation - SUBTYPE OF(Data_quality_criteria_representation); - WHERE - WR1 : SIZEOF( QUERY( q <* SELF\representation.items| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_CRITERION' IN TYPEOF(q))) > 0; - END_ENTITY; -(* USED FROM (Physical_node_requirement_to_implementing_component_allocation_mim); *) -ENTITY physical_node_requirement_to_implementing_component_allocation - SUBTYPE OF (shape_aspect_relationship, shape_aspect); - SELF\shape_aspect_relationship.relating_shape_aspect : physical_connectivity_definition; -WHERE - WR1: acyclic_shape_aspect_relationship(SELF, - [SELF\shape_aspect_relationship.related_shape_aspect], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'PHYSICAL_NODE_REQUIREMENT_TO_IMPLEMENTING_COMPONENT_ALLOCATION'); -END_ENTITY; -(* USED FROM (presentation_appearance_schema); *) - ENTITY context_dependent_over_riding_styled_item - SUBTYPE OF(over_riding_styled_item); - style_context : LIST[1:?] OF style_context_select; - WHERE - WR1: -(SIZEOF(QUERY(sc <* SELF.style_context | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(sc)))= 1) OR -(SIZEOF(QUERY(sc <* SELF.style_context | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(sc)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF(sc)) )) - = SIZEOF(style_context)); - END_ENTITY; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION real_min(spc : maths_space) : REAL; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) THEN - RETURN (spc\finite_integer_interval.min); - END_IF; - IF ((schema_prefix + 'INTEGER_INTERVAL_FROM_MIN') IN types) THEN - RETURN (spc\integer_interval_from_min.min); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (spc\finite_real_interval.min); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_FROM_MIN') IN types) THEN - RETURN (spc\real_interval_from_min.min); - END_IF; - RETURN (?); -END_FUNCTION; -- real_min - -FUNCTION apeaid_is_base(input : area_component) : LOGICAL; -LOCAL - pd : SET OF property_definition := bag_to_set(QUERY(pd <* USEDIN(input,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - pd\property_definition.name = 'is base')); -END_LOCAL; - RETURN(pd[1].description = 'true'); -END_FUNCTION; -(* REFERENCE FROM (support_resource_schema); *) - FUNCTION bag_to_set (the_bag : BAG OF GENERIC:intype):SET OF GENERIC:intype; - LOCAL - the_set : SET OF GENERIC:intype := []; - END_LOCAL; - - IF SIZEOF(the_bag) > 0 THEN - REPEAT i := 1 TO HIINDEX(the_bag); - the_set := the_set + the_bag[i]; - END_REPEAT; - END_IF; - RETURN (the_set); - END_FUNCTION; - -(* Implicit interfaced from: Ap242_managed_model_based_3d_engineering_mim *) - FUNCTION cc_design_person_and_organization_correlation - (e : cc_design_person_and_organization_assignment) : BOOLEAN; - LOCAL - po_role : STRING; - END_LOCAL; - po_role := e\person_and_organization_assignment.role.name; - CASE po_role OF - 'request_recipient' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'CHANGE_REQUEST', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'START_REQUEST'] * - TYPEOF (x)) = 1)) - THEN RETURN(FALSE); - END_IF; - 'initiator' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'CHANGE_REQUEST', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'START_REQUEST', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'START_WORK', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'CHANGE'] * - TYPEOF (x)) = 1)) - THEN RETURN(FALSE); - END_IF; - 'creator' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION_FORMATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION'] * - TYPEOF (x)) = 1)) - THEN RETURN (FALSE); - END_IF; - 'part_supplier' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION_FORMATION' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'design_supplier' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PRODUCT_DEFINITION_FORMATION' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'design_owner' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'configuration_manager' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'CONFIGURATION_ITEM' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'contractor' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONTRACT' - IN TYPEOF (x))) - THEN RETURN(FALSE); - END_IF; - 'classification_officer' : IF SIZEOF (e.items) <> - SIZEOF (QUERY (x <* e.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SECURITY_CLASSIFICATION' - IN TYPEOF (x))) THEN - RETURN(FALSE); - END_IF; - OTHERWISE : RETURN(TRUE); - END_CASE; - RETURN (TRUE); - END_FUNCTION; -(* REFERENCE FROM (product_property_definition_schema); *) - FUNCTION acyclic_shape_aspect_relationship (relation : shape_aspect_relationship; relatives : SET [1:?] OF shape_aspect; specific_relation : STRING):BOOLEAN; - LOCAL - x : SET OF shape_aspect_relationship; - END_LOCAL; - - IF relation.relating_shape_aspect IN relatives THEN - RETURN (FALSE); - END_IF; - x := QUERY(sa <* bag_to_set(USEDIN(relation.relating_shape_aspect, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT_RELATIONSHIP.' + 'RELATED_SHAPE_ASPECT')) | specific_relation IN TYPEOF(sa)); - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_shape_aspect_relationship(x[i], relatives + relation.relating_shape_aspect, specific_relation) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; -(* REFERENCE FROM (product_property_definition_schema); *) - FUNCTION get_shape_aspects (c_def_instance : characterized_definition):SET OF shape_aspect; - LOCAL - pd_set : SET OF product_definition_shape := []; - pdr_set : SET OF shape_aspect := []; - END_LOCAL; - - pd_set := bag_to_set(QUERY(pd <* USEDIN(c_def_instance, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd))); - IF (SIZEOF(pd_set) < 1) THEN - RETURN (pdr_set); - END_IF; - REPEAT i := 1 TO HIINDEX(pd_set); - pdr_set := pdr_set + bag_to_set(USEDIN(pd_set[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT.OF_SHAPE')); - END_REPEAT; - RETURN (pdr_set); - END_FUNCTION; -(* REFERENCE FROM (product_property_representation_schema); *) - FUNCTION get_property_definition_representations (c_def_instance : characterized_definition):SET OF property_definition_representation; - LOCAL - pd_set : SET OF property_definition := []; - pdr_set : SET OF property_definition_representation := []; - END_LOCAL; - - pd_set := bag_to_set(USEDIN(c_def_instance, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')); - IF (SIZEOF(pd_set) < 1) THEN - RETURN (pdr_set); - END_IF; - REPEAT i := 1 TO HIINDEX(pd_set); - pdr_set := pdr_set + bag_to_set(USEDIN(pd_set[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')); - END_REPEAT; - RETURN (pdr_set); - END_FUNCTION; -(* REFERENCE FROM (Geometric_tolerance_mim); *) -FUNCTION get_shape_aspect_property_definition_representations - (s_a_instance : shape_aspect) : SET OF property_definition_representation; -LOCAL -pd_set : SET OF property_definition := []; -pdr_set : SET OF property_definition_representation := [] ; -END_LOCAL; -pd_set := bag_to_set(USEDIN(s_a_instance, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')); -IF (SIZEOF(pd_set) < 1) THEN -RETURN (pdr_set); -END_IF; -REPEAT i := 1 TO HIINDEX(pd_set); -pdr_set := pdr_set + (QUERY(pdr <* USEDIN(pd_set[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PROPERTY_DEFINITION_REPRESENTATION.' + 'DEFINITION') | -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr))); -END_REPEAT; -RETURN (pdr_set); -END_FUNCTION; - -(* Implicit interfaced from: Constructive_solid_geometry_2d_mim *) -FUNCTION valid_csg_2d_primitives (input : csg_solid_2d) : BOOLEAN; -CASE TRUE OF - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : - BEGIN - IF (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_AREA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPLEX_AREA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPTIC_AREA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYGONAL_AREA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRIMITIVE_2D_WITH_INNER_BOUNDARY', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_AREA'] * TYPEOF(input\csg_solid_2d.tree_root_expression)) > 0) - THEN - RETURN(TRUE); - ELSE - RETURN(FALSE); - END_IF; - END; - - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_RESULT_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : - RETURN (valid_csg_2d_primitives(input\csg_solid_2d.tree_root_expression\boolean_result_2d.first_operand) - AND valid_csg_2d_primitives(input\csg_solid_2d.tree_root_expression\boolean_result_2d.second_operand)); - - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HALF_SPACE_2D' IN TYPEOF(input\csg_solid_2d.tree_root_expression)) : RETURN(TRUE); - - OTHERWISE : RETURN(FALSE); -END_CASE; -END_FUNCTION; - -(* Implicit interfaced from: Constructive_solid_geometry_2d_mim *) -FUNCTION open_path_based_inner_boundary (input : SET OF primitive_2d) : BOOLEAN; - LOCAL - pass : BOOLEAN := TRUE; - END_LOCAL; - REPEAT i := 1 TO SIZEOF(input); - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_AREA_WITH_PARAMETERS' IN TYPEOF(input[i])) - AND ( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' IN TYPEOF(input[i]\mapped_item.mapping_source\representation_map.mapping_origin)) - OR - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF(input[i]\mapped_item.mapping_source\representation_map.mapping_origin)) - AND - (input[i]\mapped_item.mapping_source\representation_map.mapping_origin\composite_curve.closed_curve = TRUE) - ) - ) - THEN - pass := FALSE; - END_IF; - END_REPEAT; - RETURN(pass); -END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr2 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF SIZEOF(agg) <= 5 THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr3 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF (SIZEOF(QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) - AND (i\representation_item.name = 'significant number of digits')) )) = 1) OR -((SIZEOF(QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'lower limit')) )) = 1) AND -(SIZEOF( QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'upper limit')) )) = 1)) THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr4 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF (SIZEOF(QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'plus minus tolerance value')) )) = 1) OR -((SIZEOF(QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ( - i\representation_item.name = 'lower tolerance value')) )) = 1) AND -(SIZEOF( QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND ( - i\representation_item.name = 'upper tolerance value')) )) = 1)) THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Default_tolerance_mim *) -FUNCTION default_tolerance_table_cell_wr5 - (agg : compound_item_definition) : BOOLEAN; -BEGIN -IF (SIZEOF(QUERY ( i <* agg | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) <= 1) AND -(SIZEOF(QUERY ( i <* agg | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) = - SIZEOF(QUERY ( i <* agg | (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) AND - (i\representation_item.name = 'cell description'))) )) -THEN - RETURN(TRUE); -ELSE - RETURN(FALSE); -END_IF; -END; - END_FUNCTION; - -(* Implicit interfaced from: Geometric_tolerance_mim *) -FUNCTION valid_datum_target_parameters (pdf : placed_datum_target_feature) : BOOLEAN; - LOCAL - rep_set : SET OF representation := [] ; - parameter_representations: SET OF representation; - END_LOCAL; - - REPEAT i := 1 TO HIINDEX(pdf.representation_associations); - rep_set := rep_set + pdf.representation_associations[i].used_representation; - END_REPEAT; - parameter_representations := QUERY(rep <* rep_set | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(rep))); - - IF (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='orientation') AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' IN TYPEOF(i)))) = 1))) <> 1) THEN - RETURN(FALSE); - END_IF; - CASE pdf\shape_aspect.description OF - 'point': RETURN(SIZEOF(QUERY( srwp <* parameter_representations | - (SIZEOF(srwp.items) = 1))) = 1); - 'circle', 'circular curve': RETURN((SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF(srwp.items) = 2))) = 1) AND - (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target diameter') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) )) = 1))) = 1)); - 'line': RETURN(SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target length') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2) )) = 1))) = 1); - 'rectangle': RETURN((SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF(srwp.items)= 3))) = 1) AND - (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target length') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2))) = 1))) = 1) AND - (SIZEOF( QUERY( srwp <* parameter_representations | - (SIZEOF( QUERY( i <* srwp.items | - (i.name='target width') AND - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE_WITH_UNIT']*TYPEOF(i) - ) = 2))) = 1) )) = 1)); - OTHERWISE : RETURN(FALSE); - END_CASE; -END_FUNCTION; - -(* Implicit interfaced from: Inertia_characteristics_mim *) -FUNCTION value_range_aggregate_rep_item (agg : AGGREGATE OF representation_item) : BOOLEAN; - BEGIN - IF (SIZEOF(QUERY(i1 <* agg | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF(i1)) )) = 6) THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; - END; -END_FUNCTION; - -(* Implicit interfaced from: Ply_orientation_specification_mim *) - FUNCTION derive_angle (placement_1 : axis2_placement_3d; - placement_2 : axis2_placement_3d) : - plane_angle_measure; - LOCAL - v1 : direction; - v2 : direction; - mag_v1 : REAL; - mag_v2 : REAL; - theta : plane_angle_measure; - END_LOCAL; - v1 := placement_1.p[1]; - v2 := placement_2.p[1]; - mag_v1 := SQRT (v1.direction_ratios[1]*v1.direction_ratios[1] + - v1.direction_ratios[2]*v1.direction_ratios[2]); - mag_v2 := SQRT (v2.direction_ratios[1]*v2.direction_ratios[1] + - v2.direction_ratios[2]*v2.direction_ratios[2]); - IF ((mag_v1 = 0.0) OR (mag_v2 = 0.0)) THEN - theta := 0.0; - RETURN (theta); - END_IF; - theta := ACOS ((v1.direction_ratios[1]*v2.direction_ratios[1] + - v1.direction_ratios[2]*v2.direction_ratios[2]) / - (mag_v1*mag_v2)); - RETURN (theta); - END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_description_value (obj : description_attribute_select):text; - LOCAL - description_bag : BAG OF description_attribute := (USEDIN(obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DESCRIPTION_ATTRIBUTE.' + 'DESCRIBED_ITEM')); - END_LOCAL; - - IF SIZEOF(description_bag) = 1 THEN - RETURN (description_bag[1].attribute_value); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_id_value (obj : id_attribute_select):identifier; - LOCAL - id_bag : BAG OF id_attribute := (USEDIN(obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ID_ATTRIBUTE.' + 'IDENTIFIED_ITEM')); - END_LOCAL; - - IF SIZEOF(id_bag) = 1 THEN - RETURN (id_bag[1].attribute_value); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: product_definition_schema *) - FUNCTION acyclic_product_category_relationship (relation : product_category_relationship; children : SET OF product_category):BOOLEAN; - LOCAL - x : SET OF product_category_relationship; - local_children : SET OF product_category; - END_LOCAL; - - REPEAT i := 1 TO HIINDEX(children); - IF relation.category :=: children[i] THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - x := bag_to_set(USEDIN(relation.category, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_CATEGORY_RELATIONSHIP.SUB_CATEGORY')); - local_children := children + relation.category; - IF SIZEOF(x) > 0 THEN - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_product_category_relationship(x[i], local_children) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - END_IF; - RETURN (TRUE); - END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_role (obj : role_select):object_role; - LOCAL - role_bag : BAG OF role_association := (USEDIN(obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'ROLE_ASSOCIATION.' + 'ITEM_WITH_ROLE')); - END_LOCAL; - - IF SIZEOF(role_bag) = 1 THEN - RETURN (role_bag[1].role); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; -(* REFERENCE FROM (product_definition_schema); *) - FUNCTION acyclic_product_definition_relationship (relation : product_definition_relationship; relatives : SET [1:?] OF product_definition_or_reference; specific_relation : STRING):BOOLEAN; - LOCAL - x : SET OF product_definition_relationship; - END_LOCAL; - - IF relation.relating_product_definition IN relatives THEN - RETURN (FALSE); - END_IF; - x := QUERY(pd <* bag_to_set(USEDIN(relation.relating_product_definition, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION')) | specific_relation IN TYPEOF(pd)); - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_product_definition_relationship(x[i], relatives + relation.relating_product_definition, specific_relation) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION using_items (item : founded_item_select; - checked_items: SET OF founded_item_select) - : SET OF founded_item_select; - LOCAL - new_check_items : SET OF founded_item_select; - result_items : SET OF founded_item_select; - next_items : SET OF founded_item_select; - END_LOCAL; - result_items := []; - new_check_items := checked_items + item; - -- Find the set of representation_items or founded_items - -- in which item is used directly. - next_items := QUERY(z <* bag_to_set( USEDIN(item , '')) | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FOUNDED_ITEM' IN TYPEOF(z))); - -- If the set of next_items is not empty; - IF SIZEOF(next_items) > 0 THEN - -- For each element in the set, find the using_items recursively - REPEAT i := 1 TO HIINDEX(next_items); - -- Check for loop in data model, i.e. one of the next_items - -- occurred earlier in the set of check_items; - IF NOT(next_items[i] IN new_check_items) THEN - result_items := result_items + next_items[i] + - using_items(next_items[i],new_check_items); - END_IF; - END_REPEAT; - END_IF; - -- return the set of representation_items or founded_items - -- in which the input item is used directly and indirectly. - RETURN (result_items); - END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION get_basis_surface - (c : curve_on_surface) : SET[0:2] OF surface; -LOCAL - surfs : SET[0:2] OF surface; - n : INTEGER; - END_LOCAL; - surfs := []; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF (c) THEN - surfs := [c\pcurve.basis_surface]; - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF (c) THEN - n := SIZEOF(c\surface_curve.associated_geometry); - REPEAT i := 1 TO n; - surfs := surfs + - associated_surface(c\surface_curve.associated_geometry[i]); - END_REPEAT; - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN TYPEOF (c) THEN - (* For a composite_curve_on_surface the basis_surface is the intersection - of the basis_surfaces of all the segments. *) - n := SIZEOF(c\composite_curve.segments); - surfs := get_basis_surface( - c\composite_curve.segments[1].parent_curve); - IF n > 1 THEN - REPEAT i := 2 TO n; - surfs := surfs * get_basis_surface( - c\composite_curve.segments[i].parent_curve); - END_REPEAT; - END_IF; - - END_IF; - RETURN(surfs);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION associated_surface - (arg : pcurve_or_surface) : surface; -LOCAL - surf : surface; - END_LOCAL; - - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(arg) THEN - surf := arg\pcurve.basis_surface; - ELSE - surf := arg; - END_IF; - RETURN(surf);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION list_to_array - (lis : LIST[0:?] OF GENERIC : T; low : INTEGER; u : INTEGER) : ARRAY[low:u] OF GENERIC : T; -LOCAL - n : INTEGER; - res : ARRAY [low:u] OF GENERIC : T; - END_LOCAL; - - n := SIZEOF(lis); - IF (n <> (u-low +1)) THEN - RETURN(?); - ELSE - res := [lis[1] : n]; - REPEAT i := 2 TO n; - res[low+i-1] := lis[i]; - END_REPEAT; - RETURN(res); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION make_array_of_array - (lis : LIST[1:?] OF LIST[1:?] OF GENERIC : T; low1 : INTEGER; u1 : INTEGER; low2 : INTEGER; u2 : INTEGER) : ARRAY[low1:u1] OF ARRAY[low2:u2] OF GENERIC : T; -LOCAL - res : ARRAY[low1:u1] OF ARRAY [low2:u2] OF GENERIC : T; - END_LOCAL; - -(* Check input dimensions for consistency *) - IF (u1-low1+1) <> SIZEOF(lis) THEN - RETURN (?); - END_IF; - IF (u2 - low2 + 1 ) <> SIZEOF(lis[1]) THEN - RETURN (?) ; - END_IF; -(* Initialise res with values from lis[1] *) - res := [list_to_array(lis[1], low2, u2) : (u1-low1 + 1)]; - REPEAT i := 2 TO HIINDEX(lis); - IF (u2-low2+1) <> SIZEOF(lis[i]) THEN - RETURN (?); - END_IF; - res[low1+i-1] := list_to_array(lis[i], low2, u2); - END_REPEAT; - - RETURN (res);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION acyclic_curve_replica - (rep : curve_replica; parent : curve) : BOOLEAN; -IF NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type curve_replica *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same curve_replica, otherwise, - call function again with the parents own parent_curve. *) - ELSE - RETURN(acyclic_curve_replica(rep, - parent\curve_replica.parent_curve)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION acyclic_point_replica - (rep : point_replica; parent : point) : BOOLEAN; -IF NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type point_replica *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same point_replica, otherwise, - call function again with the parents own parent_pt. *) - ELSE RETURN(acyclic_point_replica(rep, parent\point_replica.parent_pt)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION constraints_rectangular_composite_surface - (s : rectangular_composite_surface) : BOOLEAN; -REPEAT i := 1 TO s.n_u; - REPEAT j := 1 TO s.n_v; - IF NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF - (s.segments[i][j].parent_surface)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_TRIMMED_SURFACE' IN TYPEOF - (s.segments[i][j].parent_surface))) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - (* Check the transition codes, omitting the last row or column *) - REPEAT i := 1 TO s.n_u-1; - REPEAT j := 1 TO s.n_v; - IF s.segments[i][j].u_transition = discontinuous THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - REPEAT i := 1 TO s.n_u; - REPEAT j := 1 TO s.n_v-1; - IF s.segments[i][j].v_transition = discontinuous THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - RETURN(TRUE);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION acyclic_surface_replica - (rep : surface_replica; parent : surface) : BOOLEAN; -IF NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type surface_replica *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same surface_replica, otherwise, - call function again with the parents own parent_surface. *) - ELSE RETURN(acyclic_surface_replica(rep, - parent\surface_replica.parent_surface)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION acyclic_mapped_representation - (mi : mapped_item) : BOOLEAN; - LOCAL - rms : SET OF representation_map; - mis : SET OF mapped_item; - rs1, rs2 : SET OF representation; - END_LOCAL; - - rs1 := using_representations(mi); - rs2 := []; - -- loop as long as there are elements in rs1 - REPEAT WHILE SIZEOF(rs1) > 0; - REPEAT i := 1 TO HIINDEX(rs1); - -- Determine the set of representation_map that reference the parent_set - rms := bag_to_set(USEDIN(rs1[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION')); - IF SIZEOF(rms) > 0 THEN - REPEAT j := 1 TO HIINDEX(rms); - mis := bag_to_set(USEDIN(rms[i], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE')); - IF SIZEOF(mis) > 0 THEN - REPEAT j := 1 TO HIINDEX(mis); - -- check mis members for instance equal with mi. If so then there is a cycle - IF mis[i] :=: mi THEN - RETURN (FALSE); - END_IF; - rs2 := rs2 + using_representations(mis[i]); - END_REPEAT; - END_IF; - END_REPEAT; - END_IF; - END_REPEAT; - rs1 := rs2; - rs2 := []; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION using_representations (item : founded_item_select) - : SET OF representation; - LOCAL - results : SET OF representation; - result_bag : BAG OF representation; - intermediate_items : SET OF founded_item_select; - END_LOCAL; - -- Find the representations in which the item is used and add to the - -- results set. - results := []; - result_bag := USEDIN(item,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS'); - IF SIZEOF(result_bag) > 0 THEN - REPEAT i := 1 TO HIINDEX(result_bag); - results := results + result_bag[i]; - END_REPEAT; - END_IF; - -- Find all representation_items or founded_items - -- by which item is referenced directly or indirectly. - intermediate_items := using_items(item,[]); - -- If the set of intermediate items is not empty; - IF SIZEOF(intermediate_items) > 0 THEN - -- For each element in the set, add the - -- representations of that element. - REPEAT i := 1 TO HIINDEX(intermediate_items); - result_bag := USEDIN(intermediate_items[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS'); - IF SIZEOF(result_bag) > 0 THEN - REPEAT j := 1 TO HIINDEX(result_bag); - results := results + result_bag[j]; - END_REPEAT; - END_IF; - END_REPEAT; - END_IF; - -- Return the set of representation in which the input item is - -- used directly and indirectly (through intervening - -- representation_items or founded items). - RETURN (results); - END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION item_in_context - (item : representation_item; - cntxt : representation_context) : BOOLEAN; - LOCAL - y : BAG OF representation_item; - END_LOCAL; - -- If there is one or more representation using both the item - -- and cntxt return true. - IF SIZEOF(USEDIN(item,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS') - * cntxt.representations_in_context) > 0 THEN - RETURN (TRUE); - -- Determine the bag of representation_items that reference - -- item - ELSE y := QUERY(z <* USEDIN (item , '') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)); - -- Ensure that the bag is not empty - IF SIZEOF(y) > 0 THEN - -- For each element in the bag - REPEAT i := 1 TO HIINDEX(y); - -- Check to see it is an item in the input cntxt. - IF item_in_context(y[i], cntxt) THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - END_IF; - END_IF; - -- Return false when all possible branches have been checked - -- with no success. - RETURN (FALSE); - END_FUNCTION; -(* REFERENCE FROM (measure_schema); *) - FUNCTION derive_dimensional_exponents (x : unit):dimensional_exponents; - LOCAL - result : dimensional_exponents := dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); - END_LOCAL; - - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DERIVED_UNIT' IN TYPEOF(x) THEN - REPEAT i := LOINDEX(x\derived_unit.elements) TO HIINDEX(x\derived_unit.elements); - result.length_exponent := result.length_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.length_exponent); - result.mass_exponent := result.mass_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.mass_exponent); - result.time_exponent := result.time_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.time_exponent); - result.electric_current_exponent := result.electric_current_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.electric_current_exponent); - result.thermodynamic_temperature_exponent := result.thermodynamic_temperature_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.thermodynamic_temperature_exponent); - result.amount_of_substance_exponent := result.amount_of_substance_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.amount_of_substance_exponent); - result.luminous_intensity_exponent := result.luminous_intensity_exponent + - (x\derived_unit.elements[i]\derived_unit_element.exponent * - x\derived_unit.elements[i]\derived_unit_element.unit\named_unit.dimensions.luminous_intensity_exponent); - END_REPEAT; - ELSE - result := x\named_unit.dimensions; - END_IF; - RETURN (result); - END_FUNCTION; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - FUNCTION value_range_wr1 - (agg : compound_item_definition) : BOOLEAN; - BEGIN - IF (SIZEOF(agg) = 2) AND ((SIZEOF(QUERY (i1 <* agg | ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF - (i1)))) = 2) OR - (SIZEOF(QUERY (i2 <* agg | ( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM' IN TYPEOF - (i2)))) = 2)) - THEN - RETURN(TRUE); - ELSE - RETURN(FALSE); - END_IF; - END; - END_FUNCTION; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - FUNCTION value_range_wr2 - (agg : compound_item_definition) : BOOLEAN; - BEGIN - IF ((SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'upper limit'))) = 1) - AND (SIZEOF(QUERY (i <* agg | (i\representation_item.name = 'lower limit'))) = 1)) - THEN - RETURN(TRUE); - ELSE - RETURN(FALSE); - END_IF; - END; - END_FUNCTION; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - FUNCTION value_range_wr3 - (agg : compound_item_definition) : BOOLEAN; - BEGIN - IF (SIZEOF(QUERY(i1 <* agg | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i1)) AND - (SIZEOF (QUERY (i2 <* agg | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' IN TYPEOF (i2)) AND - (i1 :<>: i2) AND (i1\measure_with_unit.unit_component :=: i2\measure_with_unit.unit_component))) = 1))) = 2) - THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; - END; - END_FUNCTION; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -FUNCTION sts_get_general_datum_reference - (input : datum_reference_element) : general_datum_reference; -LOCAL - general_datum_reference_bag : BAG OF general_datum_reference := -(USEDIN(input, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'GENERAL_DATUM_REFERENCE.' + 'BASE')); - END_LOCAL; - - IF SIZEOF(general_datum_reference_bag) = 1 THEN - RETURN (general_datum_reference_bag[1]); - ELSE - RETURN (?); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: shape_tolerance_schema *) -FUNCTION sts_get_product_definition_shape - (input : geometric_tolerance_target) : product_definition_shape; -CASE TRUE OF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSIONAL_LOCATION' IN TYPEOF(input)) : - RETURN(input\shape_aspect_relationship.relating_shape_aspect\shape_aspect.of_shape); - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIMENSIONAL_SIZE' IN TYPEOF(input)) : - RETURN(input\dimensional_size.applies_to\shape_aspect.of_shape); - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(input)) : - RETURN(input); - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF(input)) : - RETURN(input\shape_aspect.of_shape); - OTHERWISE : RETURN(?); - END_CASE;END_FUNCTION; -(* REFERENCE FROM (basic_attribute_schema); *) - FUNCTION get_name_value (obj : name_attribute_select):label; - LOCAL - name_bag : BAG OF name_attribute := (USEDIN(obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'NAME_ATTRIBUTE.' + 'NAMED_ITEM')); - END_LOCAL; - - IF SIZEOF(name_bag) = 1 THEN - RETURN (name_bag[1].attribute_value); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; -(* REFERENCE FROM (geometric_model_schema); *) -FUNCTION msb_shells - (brep : manifold_solid_brep) : SET[1:?] OF closed_shell; -LOCAL - return_set: SET[1:?] OF closed_shell := [brep.outer]; - END_LOCAL; - - IF SIZEOF(QUERY(msbtype <* TYPEOF(brep) | - msbtype LIKE '*BREP_WITH_VOIDS')) >= 1 - THEN - return_set := return_set + brep\brep_with_voids.voids; - END_IF; - RETURN(return_set);END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_surface *) -FUNCTION gbsf_check_point - (pnt : point) : BOOLEAN; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF(pnt) THEN - RETURN (TRUE); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' IN TYPEOF(pnt) THEN - RETURN (gbsf_check_curve(pnt\point_on_curve.basis_curve)); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_SURFACE' IN TYPEOF(pnt) THEN - RETURN (gbsf_check_surface(pnt\point_on_surface.basis_surface)); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DEGENERATE_PCURVE' IN TYPEOF(pnt) THEN - RETURN ((gbsf_check_curve(pnt\degenerate_pcurve.reference_to_curve\representation.items[1])) AND (gbsf_check_surface(pnt\degenerate_pcurve.basis_surface))); - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_surface *) -FUNCTION gbsf_check_curve - (cv : representation_item) : BOOLEAN; - IF SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN - RETURN (FALSE); - END_IF; - IF SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE'] * TYPEOF(cv)) = 1 THEN - RETURN (TRUE); - ELSE - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF(cv)) AND (cv\b_spline_curve.self_intersect = FALSE) OR (cv\b_spline_curve.self_intersect = UNKNOWN)) THEN - RETURN (TRUE); - ELSE - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF(cv)) AND (cv\composite_curve.self_intersect = FALSE) OR (cv\composite_curve.self_intersect = UNKNOWN)) THEN - RETURN (SIZEOF(QUERY(seg <* cv\composite_curve.segments | NOT (gbsf_check_curve(seg.parent_curve)))) = 0); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN - RETURN (gbsf_check_curve(cv\curve_replica.parent_curve)); - ELSE - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF(cv)) AND ((cv\offset_curve_3d.self_intersect = FALSE) OR (cv\offset_curve_3d.self_intersect = UNKNOWN)) AND (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv\offset_curve_3d.basis_curve)))) THEN - RETURN (gbsf_check_curve(cv\offset_curve_3d.basis_curve)); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv) THEN - RETURN ((gbsf_check_curve(cv\pcurve.reference_to_curve\representation.items[1])) AND (gbsf_check_surface(cv\pcurve.basis_surface))); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN - IF (SIZEOF(cv\polyline.points) >= 3) THEN - RETURN (TRUE); - END_IF; - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN - IF gbsf_check_curve(cv\surface_curve.curve_3d) THEN - REPEAT i := 1 TO SIZEOF(cv\surface_curve.associated_geometry); - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN TYPEOF(cv\surface_curve.associated_geometry[i]) THEN - IF NOT gbsf_check_surface(cv\surface_curve.associated_geometry[i]) THEN - RETURN (FALSE); - END_IF; - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv\surface_curve.associated_geometry[i]) THEN - IF NOT gbsf_check_curve(cv\surface_curve.associated_geometry[i]) THEN - RETURN (FALSE); - END_IF; - END_IF; - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_surface *) -FUNCTION gbsf_check_surface - (sf : surface) : BOOLEAN; - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(sf)) AND (sf\b_spline_surface.self_intersect = FALSE) OR (sf\b_spline_surface.self_intersect = UNKNOWN)) THEN - RETURN (TRUE); - ELSE - IF SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SPHERICAL_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TOROIDAL_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_TRIMMED_SURFACE'] * TYPEOF(sf)) = 1 THEN - RETURN (TRUE); - ELSE - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF(sf)) AND (sf\offset_surface.self_intersect = FALSE) OR (sf\offset_surface.self_intersect = UNKNOWN)) THEN - RETURN (gbsf_check_surface(sf\offset_surface.basis_surface)); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RECTANGULAR_COMPOSITE_SURFACE' IN TYPEOF(sf) THEN - REPEAT i := 1 TO SIZEOF(sf\rectangular_composite_surface.segments); - REPEAT j := 1 TO SIZEOF(sf\rectangular_composite_surface.segments[i]); - IF NOT (gbsf_check_surface(sf\rectangular_composite_surface.segments[i][j].parent_surface)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - RETURN (TRUE); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF(sf) THEN - RETURN (gbsf_check_surface(sf\surface_replica.parent_surface)); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_OF_REVOLUTION' IN TYPEOF(sf) THEN - RETURN (gbsf_check_curve(sf\swept_surface.swept_curve)); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION curve_weights_positive - (b : rational_b_spline_curve) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT i := 0 TO b.upper_index_on_control_points; - IF b.weights[i] <= 0.0 THEN - result := FALSE; - RETURN(result); - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION surface_weights_positive - (b : rational_b_spline_surface) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT i := 0 TO b.u_upper; - REPEAT j := 0 TO b.v_upper; - IF (b.weights[i][j] <= 0.0) THEN - result := FALSE; - RETURN(result); - END_IF; - END_REPEAT; - END_REPEAT; - RETURN(result);END_FUNCTION; -(* REFERENCE FROM (representation_schema); *) - FUNCTION acyclic_representation_relationship - (relation : representation_relationship; relatives : SET[1:?] OF representation; specific_relation : STRING) : BOOLEAN; - LOCAL - x : SET OF representation_relationship; - END_LOCAL; - - IF relation.rep_1 IN relatives THEN - RETURN (FALSE); - END_IF; - x := QUERY(r <* bag_to_set(USEDIN(relation.rep_1, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2')) | specific_relation IN TYPEOF(r)); - REPEAT i := 1 TO HIINDEX(x); - IF NOT acyclic_representation_relationship(x[i], relatives + relation.rep_1, specific_relation) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION normalise - (arg : vector_or_direction) : vector_or_direction; -LOCAL - ndim : INTEGER; - v : direction := dummy_gri || direction ([1.0,0.0,0.0]); - result : vector_or_direction; - vec : vector := dummy_gri || vector (v, 1.0); - mag : REAL; - END_LOCAL; - - IF NOT EXISTS (arg) THEN - result := ?; - (* When function is called with invalid data a NULL result is returned *) - ELSE - ndim := arg.dim; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg) THEN - BEGIN - v := dummy_gri || direction(arg\vector.orientation.direction_ratios); - IF arg\vector.magnitude = 0.0 THEN - RETURN(?); - ELSE - vec := dummy_gri || vector (v, 1.0); - END_IF; - END; - ELSE - v := dummy_gri || direction (arg.direction_ratios); - END_IF; - mag := 0.0; - REPEAT i := 1 TO ndim; - mag := mag + v.direction_ratios[i]*v.direction_ratios[i]; - END_REPEAT; - IF mag > 0.0 THEN - mag := SQRT(mag); - REPEAT i := 1 TO ndim; - v.direction_ratios[i] := v.direction_ratios[i]/mag; - END_REPEAT; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg) THEN - vec.orientation := v; - result := vec; - ELSE - result := v; - END_IF; - ELSE - RETURN(?); - END_IF; - END_IF; - RETURN (result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION build_2axes - (ref_direction : direction) : LIST[2:2] OF direction; -LOCAL - d : direction := NVL(normalise(ref_direction), - dummy_gri || direction([1.0,0.0])); - END_LOCAL; - - RETURN([d, orthogonal_complement(d)]);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION orthogonal_complement - (vec : direction) : direction; -LOCAL - result : direction ; - END_LOCAL; - - IF (vec.dim <> 2) OR NOT EXISTS (vec) THEN - RETURN(?); - ELSE - result := dummy_gri || direction([-vec.direction_ratios[2], - vec.direction_ratios[1]]); - RETURN(result); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION build_axes - (axis : direction; ref_direction : direction) : LIST[3:3] OF direction; -LOCAL - d1, d2 : direction; - END_LOCAL; - d1 := NVL(normalise(axis), dummy_gri || direction([0.0,0.0,1.0])); - d2 := first_proj_axis(d1, ref_direction); - RETURN([d2, normalise(cross_product(d1,d2))\vector.orientation, d1]);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION first_proj_axis - (z_axis : direction; arg : direction) : direction; -LOCAL - x_axis : direction; - v : direction; - z : direction; - x_vec : vector; - END_LOCAL; - - IF (NOT EXISTS(z_axis)) THEN - RETURN (?) ; - ELSE - z := normalise(z_axis); - IF NOT EXISTS(arg) THEN - IF ((z.direction_ratios <> [1.0,0.0,0.0]) AND - (z.direction_ratios <> [-1.0,0.0,0.0])) THEN - v := dummy_gri || direction([1.0,0.0,0.0]); - ELSE - v := dummy_gri || direction([0.0,1.0,0.0]); - END_IF; - ELSE - IF (arg.dim <> 3) THEN - RETURN (?) ; - END_IF; - IF ((cross_product(arg,z).magnitude) = 0.0) THEN - RETURN (?); - ELSE - v := normalise(arg); - END_IF; - END_IF; - x_vec := scalar_times_vector(dot_product(v, z), z); - x_axis := vector_difference(v, x_vec).orientation; - x_axis := normalise(x_axis); - END_IF; - RETURN(x_axis);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION cross_product - (arg1 : direction; arg2 : direction) : vector; -LOCAL - mag : REAL; - res : direction; - v1,v2 : LIST[3:3] OF REAL; - result : vector; - END_LOCAL; - - IF ( NOT EXISTS (arg1) OR (arg1.dim = 2)) OR - ( NOT EXISTS (arg2) OR (arg2.dim = 2)) THEN - RETURN(?); - ELSE - BEGIN - v1 := normalise(arg1).direction_ratios; - v2 := normalise(arg2).direction_ratios; - res := dummy_gri || direction([(v1[2]*v2[3] - v1[3]*v2[2]), - (v1[3]*v2[1] - v1[1]*v2[3]), (v1[1]*v2[2] - v1[2]*v2[1])]); - mag := 0.0; - REPEAT i := 1 TO 3; - mag := mag + res.direction_ratios[i]*res.direction_ratios[i]; - END_REPEAT; - IF (mag > 0.0) THEN - result := dummy_gri || vector(res, SQRT(mag)); - ELSE - result := dummy_gri || vector(arg1, 0.0); - END_IF; - RETURN(result); - END; - END_IF;END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION scalar_times_vector - (scalar : REAL; vec : vector_or_direction) : vector; -LOCAL - v : direction; - mag : REAL; - result : vector; - END_LOCAL; - - IF NOT EXISTS (scalar) OR NOT EXISTS (vec) THEN - RETURN (?) ; - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF (vec) THEN - v := dummy_gri || direction(vec\vector.orientation.direction_ratios); - mag := scalar * vec\vector.magnitude; - ELSE - v := dummy_gri || direction(vec.direction_ratios); - mag := scalar; - END_IF; - IF (mag < 0.0 ) THEN - REPEAT i := 1 TO SIZEOF(v.direction_ratios); - v.direction_ratios[i] := -v.direction_ratios[i]; - END_REPEAT; - mag := -mag; - END_IF; - result := dummy_gri || vector(normalise(v), mag); - END_IF; - RETURN (result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION dot_product - (arg1 : direction; arg2 : direction) : REAL; -LOCAL - scalar : REAL; - vec1, vec2: direction; - ndim : INTEGER; - END_LOCAL; - - IF NOT EXISTS (arg1) OR NOT EXISTS (arg2) THEN - scalar := ?; - (* When function is called with invalid data an indeterminate result - is returned *) - ELSE - IF (arg1.dim <> arg2.dim) THEN - scalar := ?; - (* When function is called with invalid data an indeterminate result - is returned *) - ELSE - BEGIN - vec1 := normalise(arg1); - vec2 := normalise(arg2); - ndim := arg1.dim; - scalar := 0.0; - REPEAT i := 1 TO ndim; - scalar := scalar + - vec1.direction_ratios[i]*vec2.direction_ratios[i]; - END_REPEAT; - END; - END_IF; - END_IF; - RETURN (scalar);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION vector_difference - (arg1 : vector_or_direction; arg2 : vector_or_direction) : vector; -LOCAL - result : vector; - res, vec1, vec2 : direction; - mag, mag1, mag2 : REAL; - ndim : INTEGER; - END_LOCAL; - - IF ((NOT EXISTS (arg1)) OR (NOT EXISTS (arg2))) OR (arg1.dim <> arg2.dim) - THEN - RETURN (?) ; - ELSE - BEGIN - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg1) THEN - mag1 := arg1\vector.magnitude; - vec1 := arg1\vector.orientation; - ELSE - mag1 := 1.0; - vec1 := arg1; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF(arg2) THEN - mag2 := arg2\vector.magnitude; - vec2 := arg2\vector.orientation; - ELSE - mag2 := 1.0; - vec2 := arg2; - END_IF; - vec1 := normalise (vec1); - vec2 := normalise (vec2); - ndim := SIZEOF(vec1.direction_ratios); - mag := 0.0; - res := dummy_gri || direction(vec1.direction_ratios); - REPEAT i := 1 TO ndim; - res.direction_ratios[i] := mag1*vec1.direction_ratios[i] - - mag2*vec2.direction_ratios[i]; - mag := mag + (res.direction_ratios[i]*res.direction_ratios[i]); - END_REPEAT; - IF (mag > 0.0 ) THEN - result := dummy_gri || vector( res, SQRT(mag)); - ELSE - result := dummy_gri || vector( vec1, 0.0); - END_IF; - END; - END_IF; - RETURN (result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION base_axis - (dim : INTEGER; axis1 : direction; axis2 : direction; axis3 : direction) : LIST[2:3] OF direction; -LOCAL - u : LIST [2:3] OF direction; - factor : REAL; - d1, d2 : direction; - END_LOCAL; - - IF (dim = 3) THEN - d1 := NVL(normalise(axis3), dummy_gri || direction([0.0,0.0,1.0])); - d2 := first_proj_axis(d1,axis1); - u := [d2, second_proj_axis(d1,d2,axis2), d1]; - ELSE - IF EXISTS(axis1) THEN - d1 := normalise(axis1); - u := [d1, orthogonal_complement(d1)]; - IF EXISTS(axis2) THEN - factor := dot_product(axis2,u[2]); - IF (factor < 0.0) THEN - u[2].direction_ratios[1] := -u[2].direction_ratios[1]; - u[2].direction_ratios[2] := -u[2].direction_ratios[2]; - END_IF; - END_IF; - ELSE - IF EXISTS(axis2) THEN - d1 := normalise(axis2); - u := [orthogonal_complement(d1), d1]; - u[1].direction_ratios[1] := -u[1].direction_ratios[1]; - u[1].direction_ratios[2] := -u[1].direction_ratios[2]; - ELSE - u := [dummy_gri || direction([1.0, 0.0]), dummy_gri || - direction([0.0, 1.0])]; - END_IF; - END_IF; - END_IF; - RETURN(u);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION second_proj_axis - (z_axis : direction; x_axis : direction; arg : direction) : direction; -LOCAL - y_axis : vector; - v : direction; - temp : vector; - END_LOCAL; - - IF NOT EXISTS(arg) THEN - v := dummy_gri || direction([0.0,1.0,0.0]); - ELSE - v := arg; - END_IF; - - temp := scalar_times_vector(dot_product(v, z_axis), z_axis); - y_axis := vector_difference(v, temp); - temp := scalar_times_vector(dot_product(v, x_axis), x_axis); - y_axis := vector_difference(y_axis, temp); - y_axis := normalise(y_axis); - RETURN(y_axis.orientation);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION dimension_of - (item : geometric_representation_item) : dimension_count; -LOCAL - x : SET OF representation; - y : representation_context; - dim : dimension_count; - END_LOCAL; - -- For cartesian_point, direction, or vector dimension is determined by - -- counting components. - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF(item) THEN - dim := SIZEOF(item\cartesian_point.coordinates); - RETURN(dim); - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION' IN TYPEOF(item) THEN - dim := SIZEOF(item\direction.direction_ratios); - RETURN(dim); - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VECTOR' IN TYPEOF(item) THEN - dim := SIZEOF(item\vector.orientation\direction.direction_ratios); - RETURN(dim); - END_IF; - -- For all other types of geometric_representation_item dim is obtained - -- via context. - -- Find the set of representation in which the item is used. - - x := using_representations(item); - - -- Determines the dimension_count of the - -- geometric_representation_context. Note that the - -- RULE compatible_dimension ensures that the context_of_items - -- is of type geometric_representation_context and has - -- the same dimension_count for all values of x. - -- The SET x is non-empty for legal instances since this is required by WR1 of - -- representation_item. - IF (SIZEOF(x) > 0) THEN - y := x[1].context_of_items; - dim := y\geometric_representation_context.coordinate_space_dimension; - RETURN (dim); - ELSE - RETURN(?); - -- mark error by returning indeterminate result - END_IF;END_FUNCTION; - -(* Implicit interfaced from: date_time_schema *) -FUNCTION valid_calendar_date - (date : calendar_date) : LOGICAL; - CASE date.month_component OF - 1 : RETURN({ 1 <= date.day_component <= 31 }); - 2 : BEGIN - IF (leap_year(date.year_component)) THEN - RETURN({ 1 <= date.day_component <= 29 }); - ELSE - RETURN({ 1 <= date.day_component <= 28 }); - END_IF; - END; - 3 : RETURN({ 1 <= date.day_component <= 31 }); - 4 : RETURN({ 1 <= date.day_component <= 30 }); - 5 : RETURN({ 1 <= date.day_component <= 31 }); - 6 : RETURN({ 1 <= date.day_component <= 30 }); - 7 : RETURN({ 1 <= date.day_component <= 31 }); - 8 : RETURN({ 1 <= date.day_component <= 31 }); - 9 : RETURN({ 1 <= date.day_component <= 30 }); - 10 : RETURN({ 1 <= date.day_component <= 31 }); - 11 : RETURN({ 1 <= date.day_component <= 30 }); - 12 : RETURN({ 1 <= date.day_component <= 31 }); - END_CASE; - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: date_time_schema *) -FUNCTION leap_year - (year : year_number) : BOOLEAN; - IF ((((year MOD 4) = 0) AND ((year MOD 100) <> 0)) OR ((year MOD 400) = 0)) THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: date_time_schema *) -FUNCTION valid_time - (time : local_time) : BOOLEAN; - IF EXISTS(time.second_component) THEN - RETURN (EXISTS(time.minute_component)); - ELSE - RETURN (TRUE); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: product_structure_schema *) -FUNCTION unambiguously_specified_multi_level_reference_designator (links : LIST[1:?] OF next_assembly_usage_occurrence) : BOOLEAN; -REPEAT i := 1 to SIZEOF(links) - 1; ---case 1 all in one file; had to disambiguate link[i].relating instance type to distinguish case 1 from case 3. - CASE TRUE OF - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.relating_product_definition)) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition)) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i+1]\product_definition_relationship.relating_product_definition)) : - BEGIN - IF NOT ( - (links[i]\product_definition_relationship.related_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition) - OR - ((SIZEOF (QUERY (pdr <* USEDIN(links[i]\product_definition_relationship.related_product_definition, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION') | - pdr\product_definition_relationship.relating_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition)) = 1) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition.formation\product_definition_formation.of_product - :=: - links[i+1]\product_definition_relationship.relating_product_definition\product_definition.formation\product_definition_formation.of_product))) - THEN - RETURN(FALSE); - END_IF; - END; - ---case 2 ; intermediate node reference from main to external file or both node references in external file. links[i].relating instance can be either pd or pdref. - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition)) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[i+1]\product_definition_relationship.relating_product_definition)) : - BEGIN - IF NOT ( - (links[i]\product_definition_relationship.related_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition) - OR - ((SIZEOF (QUERY (pdr <* USEDIN(links[i]\product_definition_relationship.related_product_definition, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION') | - pdr\product_definition_relationship.relating_product_definition :=: - links[i+1]\product_definition_relationship.relating_product_definition)) = 1) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.product_id - = - links[i+1]\product_definition_relationship.relating_product_definition\product_definition_reference.product_id) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.id_owning_organization_name - = - links[i+1]\product_definition_relationship.relating_product_definition\product_definition_reference.id_owning_organization_name) - AND - (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.product_definition_id - <> - links[i+1]\product_definition_relationship.relating_product_definition\product_definition_reference.product_definition_id))) - THEN - RETURN(FALSE); - END_IF; - END; - ---case 3 should never see -- link in external file referencing a node in main assembly file. Note link is just links[i]. - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[i]\product_definition_relationship.relating_product_definition)) - AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition)) : - RETURN(FALSE); - - OTHERWISE : RETURN(FALSE); - END_CASE; - -END_REPEAT; -RETURN(TRUE); -END_FUNCTION; - -(* Implicit interfaced from: aic_manifold_surface *) -FUNCTION msf_surface_check (surf : surface) : BOOLEAN; - -(* This function varifies the validity of a surface in the - context of a manifold surface model. -*) - - (* elementary_surfaces are valid surface types - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN - RETURN(TRUE); - ELSE - - (* a swept_surface shall have a valid sweeping curve - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (surf) THEN - RETURN (msf_curve_check(surf\swept_surface.swept_curve)); - ELSE - - (* an offset_surface shall not self-intersect and shall - reference a valid surface - *) - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF (surf)) AND - (surf\offset_surface.self_intersect = FALSE) OR - (surf\offset_surface.self_intersect = UNKNOWN)) THEN - RETURN (msf_surface_check(surf\offset_surface.basis_surface)); - ELSE - - (* a surface_replica shall have a valid parent surface - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF(surf) THEN - RETURN(msf_surface_check(surf\surface_replica.parent_surface)); - ELSE - - (* a b_spline_surface shall not self-intersect - *) - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(surf)) AND - (surf\b_spline_surface.self_intersect = FALSE) OR - (surf\b_spline_surface.self_intersect = UNKNOWN)) THEN - RETURN(TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN(FALSE); -END_FUNCTION; - -(* Implicit interfaced from: aic_manifold_surface *) -FUNCTION msf_curve_check (cv : representation_item) : BOOLEAN; - -(* This function varifies the validity of a curve in the context of a - manifold surface model. Representation_items are - valid input, however, they are supposed to be curves; otherwise - this function will return false. -*) - -(* complex subtypes of curve that are both bounded_curve and - oneof conic, curve_replica, line, or offset_curve_3d are not - valid -*) -IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 THEN - RETURN(FALSE); -END_IF; - -(* b_spline_curves shall not self-intersect - *) -IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (cv)) AND - (cv\b_spline_curve.self_intersect = FALSE)OR - (cv\b_spline_curve.self_intersect = UNKNOWN)) THEN - RETURN(TRUE); -ELSE - - (* conics and lines are valid curve types - *) - IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE'] - * TYPEOF (cv)) = 1 THEN - RETURN(TRUE); - ELSE - - (* a curve_replica shall reference a valid curve - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN - RETURN (msf_curve_check(cv\curve_replica.parent_curve)); - ELSE - - (* an offset_curve_3d shall not self-intersect and - shall reference a valid curve; a polyline is not a - valid basis_curve - *) - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (cv)) - AND - ((cv\offset_curve_3d.self_intersect = FALSE) OR - (cv\offset_curve_3d.self_intersect = UNKNOWN)) - AND - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF - (cv\offset_curve_3d.basis_curve)))) THEN - RETURN (msf_curve_check(cv\offset_curve_3d.basis_curve)); - ELSE - - (* a pcurve shall reference a valid curve and a valid - basis_surface - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv) THEN - RETURN ((msf_curve_check - (cv\pcurve.reference_to_curve\representation.items[1])) AND - (msf_surface_check(cv\pcurve.basis_surface))); - ELSE - - (* a surface_curve references a curve_3d and one or - two pcurves or one or two surfaces or one of - each; all of these references shall be valid - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN - - (* if the curve reference is correct, check also the rest - *) - IF msf_curve_check(cv\surface_curve.curve_3d) THEN - REPEAT i := 1 TO SIZEOF - (cv\surface_curve.associated_geometry); - - (* do for one or two associated_geometrys: - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN - TYPEOF (cv\surface_curve.associated_geometry[i]) THEN - IF NOT msf_surface_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF - (cv\surface_curve.associated_geometry[i]) THEN - IF NOT msf_curve_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); - END_IF; - ELSE - - (* a polyline shall have at least 3 points - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN - IF (SIZEOF (cv\polyline.points) >= 3) THEN RETURN (TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; -END_IF; -(* FALSE is returned if the input parameter cv is not a valid curve. - *) -RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: representation_schema *) - FUNCTION valid_measure_value - (m : measure_value) : BOOLEAN; - IF ('REAL' IN TYPEOF (m)) THEN - RETURN (m > 0.0); - ELSE - IF ('INTEGER' IN TYPEOF (m)) THEN - RETURN (m > 0); - ELSE - RETURN (TRUE); - END_IF; - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: product_data_quality_inspection_result_schema *) - FUNCTION inspected_product_definition - (dqir:data_quality_inspection_result_representation) - :BAG OF product_definition; - LOCAL - dqdr :BAG OF data_quality_definition_representation_relationship:= []; - pdqdr :BAG OF product_data_and_data_quality_relationship:= []; - pd :BAG OF product_definition:= []; - END_LOCAL; - dqdr := USEDIN(dqir,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' - +'DATA_QUALITY_DEFINITION_REPRESENTATION_RELATIONSHIP.' - +'USED_REPRESENTATION'); - REPEAT i:= 1 TO SIZEOF(dqdr); - pdqdr := USEDIN(dqdr[i].definition, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' - +'PRODUCT_DATA_AND_DATA_QUALITY_RELATIONSHIP.' - +'DATA_QUALITY'); - REPEAT j:= 1 TO SIZEOF(pdqdr); - pd := pd + pdqdr[j].product_data; - END_REPEAT; - END_REPEAT; - RETURN(pd); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_measured_data_type - (ei:shape_data_quality_criterion; - type_string: STRING):LOGICAL; - LOCAL - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - sdcr: SET OF - SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT:=[]; - sdir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdii: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[]; - sdei: BAG OF - INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES:=[]; - END_LOCAL; - - -- STEP-1 - -- collect all shape_data_quality_inspection_criterion_report instances, - -- all shape_data_quality_inspection_instance_report_item instances, and - -- instance_report_item_with_extreme_instances instances - -- associated with the given shape_data_quality_criterion - -- via shape_data_quality_inspection_result. - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdcr := sdcr + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT' - IN TYPEOF(q)); - END_REPEAT; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - - -- If there is no report, then return true. - IF((SIZEOF(sdcr) = 0) AND (SIZEOF(sdir) = 0)) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sdir); - sdii := sdii + QUERY(q <* sdir[i].inspected_instances| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' - IN TYPEOF(q)); - END_REPEAT; - REPEAT i:= 1 TO SIZEOF(sdir); - sdei := sdei + QUERY(q <* sdir[i].inspected_instances| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' - IN TYPEOF(q)); - END_REPEAT; - - -- When reports exist, then perform the following checking process. - -- Check representative_measured_value of - -- shape_data_quality_inspection_criterion_report - REPEAT i:= 1 TO SIZEOF(sdcr); - IF(NOT(type_string IN - TYPEOF(sdcr[i].representative_measured_value))) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - -- Check measured_value of shape_data_quality_inspection_ - -- instance_report_item - REPEAT i:= 1 TO SIZEOF(sdii); - IF(NOT(type_string IN - TYPEOF(sdii[i].measured_value))) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - -- Check measured_value of extreme_instances of - -- instance_report_item_with_extreme_instance - REPEAT i:= 1 TO SIZEOF(sdei); - REPEAT j:= 1 TO SIZEOF(sdei[i].extreme_instances); - IF(NOT(type_string IN - TYPEOF(sdei[i].extreme_instances[j].measured_value))) - THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - RETURN(TRUE); - - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_inspected_elements_type - (ei:shape_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - sdir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdiri: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[]; - t_type_list:BAG OF STRING:=[]; - END_LOCAL; - - -- STEP-1 - -- collect all shape_data_quality_inspection_instance_report_item - -- instances associated with the given shape_data_quality_criterion - -- via shape_data_quality_inspection_result and - -- shape_data_quality_inspection_instance_report - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - IF(SIZEOF(sdir) = 0) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sdir); - sdiri := sdiri + QUERY(q <* sdir[i].inspected_instances| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' - IN TYPEOF(q)); - END_REPEAT; - - -- STEP-2 - -- check if the types of inspected_elements of the collected - -- instances are exactly coincident with the type names in the - -- type list given as an input argument of this function. - - -- If there is no instance_report_item, then return true. - IF(SIZEOF(sdiri) = 0) THEN - RETURN(TRUE); - END_IF; - - -- When reports exist, then perform the following checking process. - REPEAT i:= 1 TO SIZEOF(sdiri); - -- If the size of inspected_elements is not equal to the size of - -- type_list, then return false. - IF(SIZEOF(sdiri[i].inspected_elements) <> - SIZEOF(type_list)) THEN - RETURN(FALSE); - END_IF; - -- check all elements in the type_list - -- for each element of inspected_elements. - t_type_list := type_list; - REPEAT j:= 1 TO SIZEOF(sdiri[i].inspected_elements); - REPEAT k:= 1 TO SIZEOF(t_type_list); - IF(t_type_list[k] IN - TYPEOF(sdiri[i].inspected_elements[j])) THEN - t_type_list := t_type_list - t_type_list[k]; - ESCAPE; - END_IF; - END_REPEAT; - END_REPEAT; - IF(SIZEOF(t_type_list) > 0) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_locations_of_extreme_value_type - (ei:shape_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - sdir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdei: SET OF - INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES:=[]; - t_type_list:BAG OF STRING:=[]; - END_LOCAL; - - -- STEP-1 - -- collect all instance_report_item_with_extreme_instances instances - -- associated with the given shape_data_quality_criterion - -- via shape_data_quality_inspection_result and - -- shape_data_quality_inspection_instance_report. - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - REPEAT i:= 1 TO SIZEOF(sdir); - sdei := sdei + QUERY(q <* sdir[i].inspected_instances| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' - IN TYPEOF(q)); - END_REPEAT; - - -- STEP-2 - -- check if the types of locations_of_extreme_value attributes - -- of all extreme_instances attributes of the collected instances are - -- exactly coincident with the type names in the type list given as an - -- input argument of this function. - - -- If there is no instance report, then return true. - IF(SIZEOF(sdei) = 0) THEN - RETURN(TRUE); - END_IF; - - -- If the type_list is empty and - -- instance_report_item_with_extreme_instances exists, then return false. - IF((SIZEOF(type_list) = 0) AND (SIZEOF(sdei) <> 0)) THEN - RETURN(FALSE); - END_IF; - - -- When report_items exist, then perform the following checking process. - REPEAT i:= 1 TO SIZEOF(sdei); - REPEAT j:= 1 TO SIZEOF(sdei[i].extreme_instances); - -- If the size of locations_of_extreme_value is not equal to - -- the size of type_list, then return false. - IF(SIZEOF(sdei[i].extreme_instances[j]. - locations_of_extreme_value) <> - SIZEOF(type_list)) THEN - RETURN(FALSE); - END_IF; - t_type_list := type_list; - -- check all elements of the type_list - -- for each element of locations_of_extreme_value. - REPEAT k:= 1 TO SIZEOF(sdei[i].extreme_instances[j] - .locations_of_extreme_value); - REPEAT l:= 1 TO SIZEOF(t_type_list); - IF(t_type_list[l] IN - TYPEOF(sdei[i].extreme_instances[j]. - locations_of_extreme_value[k])) THEN - t_type_list := t_type_list - t_type_list[l]; - ESCAPE; - END_IF; - END_REPEAT; - END_REPEAT; - IF(SIZEOF(t_type_list) > 0) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION validate_accuracy_types - (ei:shape_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqca: BAG OF - SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION:=[]; - sma: BAG OF SHAPE_MEASUREMENT_ACCURACY:=[]; - sdqir: SET OF - SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[]; - scraa: BAG OF - SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATION:=[]; - t_logic:BOOLEAN; - END_LOCAL; - -- STEP-1 - -- collect types of range attribute of shape_measurement_accuracy - -- referred from shape_data_quality_criterion_and_accuracy_association - -- that refers to given shape_data_quality_criterion. - sdqca := USEDIN(ei, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION.'+ - 'SHAPE_DATA_QUALITY_CRITERION'); - IF(SIZEOF(sdqca) <> 0) THEN - REPEAT i:= 1 TO SIZEOF(sdqca); - sma := sma + sdqca[i].required_specific_accuracy; - END_REPEAT; - - -- STEP-2 - -- check whether the collected types include all the type names - -- in the type list given as an input argument of this function - -- and they do not include any other type names. - IF(SIZEOF(type_list) < SIZEOF(sma)) THEN - RETURN(FALSE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sma); - t_logic := FALSE; - REPEAT j:= 1 TO SIZEOF(type_list); - IF(type_list[j] IN value_limit_type(sma[i].range)) THEN - t_logic := TRUE; - ESCAPE; - END_IF; - END_REPEAT; - IF(NOT(t_logic)) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_IF; - - -- STEP-3 - -- collect types of range attribute of shape_measurement_accuracy - -- referred from shape_inspection_result_accuracy_association - -- that refers to shape_data_quality_inspection_result - -- for the given shape_data_quality_criterion. - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(sdqir); - scraa := USEDIN(sdqir[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATION.'+ - 'SHAPE_DATA_QUALITY_RESULT'); - IF(SIZEOF(scraa) <> 0) THEN - sma := []; - REPEAT j:= 1 TO SIZEOF(scraa); - sma := sma + scraa[j].applied_specific_accuracy; - END_REPEAT; - - -- STEP-4 - -- check whether the collected types include all the type - -- names in the type list given as an input argument of - -- this function and they do not include any other type names. - IF(SIZEOF(type_list) < SIZEOF(sma)) THEN - RETURN(FALSE); - END_IF; - - REPEAT j:= 1 TO SIZEOF(sma); - t_logic := FALSE; - REPEAT k:= 1 TO SIZEOF(type_list); - IF(type_list[k] IN value_limit_type(sma[j].range)) THEN - t_logic := TRUE; - ESCAPE; - END_IF; - END_REPEAT; - IF(NOT(t_logic)) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - END_IF; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_criteria_schema *) - FUNCTION value_limit_type - (iv:shape_data_quality_value_limit_type_select):SET OF STRING; - LOCAL - retval : SET OF STRING := []; - END_LOCAL; - IF(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' - +'SHAPE_DATA_QUALITY_VALUE_RANGE') IN TYPEOF(iv)) THEN - retval := TYPEOF(iv\compound_representation_item.item_element[1].value_component); - END_IF; - IF(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' - +'SHAPE_DATA_QUALITY_VALUE_LIMIT') IN TYPEOF(iv)) THEN - IF(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MEASURE_WITH_UNIT') IN TYPEOF(iv)) THEN - retval := TYPEOF(iv\measure_with_unit.value_component); - END_IF; - END_IF; - RETURN(retval); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_inspection_result_schema *) - FUNCTION using_product_definition_of_shape_representation - (item: shape_representation) : SET OF product_definition; - LOCAL - local_s_d_r: SET OF shape_definition_representation := []; - local_p_d: SET OF product_definition := []; - i : INTEGER; - END_LOCAL; - - -- find shape_definition_representations - local_s_d_r := QUERY(i1<* bag_to_set (USEDIN (item, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'SHAPE_DEFINITION_REPRESENTATION' - IN TYPEOF(i1)); - - -- find product_definition_shape & product_definitions - REPEAT i := 1 TO HIINDEX (local_s_d_r); - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION' IN - TYPEOF (local_s_d_r[i]\property_definition_representation.definition)) - THEN - IF('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF - (local_s_d_r[i]\property_definition_representation.definition\property_definition.definition)) - THEN - local_p_d := local_p_d + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; - END_IF; - END_IF; - END_REPEAT; - RETURN (local_p_d); - END_FUNCTION; - -(* Implicit interfaced from: shape_data_quality_inspection_result_schema *) - FUNCTION relating_shape_representations_of_extreme_values - (item:location_of_extreme_value_select) - : SET OF shape_representation; - - LOCAL - results : SET OF shape_representation:=[]; - exti : SET OF extreme_instance:=[]; - ii_ei : SET OF - instance_report_item_with_extreme_instances:=[]; - sdiir : SET OF - shape_data_quality_inspection_instance_report:=[]; - sdqr : SET OF - shape_data_quality_inspection_result_representation:=[]; - sdisr : SET OF - shape_data_quality_inspected_shape_and_result_relationship:=[]; - END_LOCAL; - -- find extreme_instances - exti := exti + - bag_to_set( USEDIN(item, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'EXTREME_INSTANCE.'+ - 'LOCATIONS_OF_EXTREME_VALUE')); - - -- find instance_report_item_with_extreme_instances - REPEAT i := 1 TO HIINDEX (exti); - ii_ei := ii_ei + - bag_to_set( USEDIN(exti[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES.'+ - 'EXTREME_INSTANCES')); - END_REPEAT; - - -- find shape_data_quality_inspection_instance_report - REPEAT i := 1 TO HIINDEX (ii_ei); - sdiir := sdiir + - bag_to_set( USEDIN(ii_ei[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT.'+ - 'INSPECTED_INSTANCES')); - END_REPEAT; - - -- find shape_data_quality_inspection_result_representation - REPEAT i := 1 TO HIINDEX (sdiir); - sdqr := sdqr + - QUERY(i1<* bag_to_set( USEDIN(sdiir[i].inspection_result, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION.ITEMS'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTION_RESULT_REPRESENTATION' - IN TYPEOF(i1)); - END_REPEAT; - - -- find shape_data_quality_inspected_shape_and_result_relationship - REPEAT i := 1 TO HIINDEX (sdqr); - sdisr := sdisr + bag_to_set(USEDIN(sdqr[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SHAPE_DATA_QUALITY_INSPECTED_SHAPE_AND_RESULT_RELATIONSHIP.'+ - 'REP_2')); - END_REPEAT; - - -- find shape_representation - REPEAT i := 1 TO HIINDEX (sdisr); - results := results + sdisr[i].rep_1; - END_REPEAT; - - RETURN (results); - END_FUNCTION; - -(* Implicit interfaced from: Externally_conditioned_data_quality_criteria_mim *) - FUNCTION validate_ecdq_inspected_elements_type - (ei:Externally_conditioned_data_quality_criterion; - type_list:BAG OF STRING):LOGICAL; - LOCAL - sdqir: SET OF - EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT:=[]; - dir: SET OF - DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[]; - sdiri: SET OF - EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[]; - t_type_list:BAG OF STRING:=[]; - END_LOCAL; - -- STEP-1 - -- collect all externally_conditioned_data_quality_inspection_instance_report_item - -- instances associated with the given externally_conditioned_data_quality_criterion - -- via externally_conditioned_data_quality_inspection_result and - -- data_quality_inspection_instance_report - - sdqir := QUERY(q <* bag_to_set(USEDIN(ei, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_RESULT.'+ - 'CRITERION_INSPECTED'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_RESULT' - IN TYPEOF(q)); - IF(SIZEOF(sdqir) = 0) THEN - RETURN(TRUE); - END_IF; - REPEAT i:= 1 TO SIZEOF(sdqir); - dir := dir + QUERY(q <* bag_to_set(USEDIN(sdqir[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_REPORT.'+ - 'INSPECTION_RESULT'))| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'DATA_QUALITY_INSPECTION_INSTANCE_REPORT' - IN TYPEOF(q)); - END_REPEAT; - IF(SIZEOF(dir) = 0) THEN - RETURN(TRUE); - END_IF; - - REPEAT i:= 1 TO SIZEOF(dir); - sdiri := sdiri + QUERY(q <* dir[i].inspected_instances| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ - 'EXTERNALLY_CONDITIONED_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM' - IN TYPEOF(q)); - END_REPEAT; - - -- STEP-2 - -- check if the types of inspected_elements of the collected - -- instances are exactly coincident with the type names in the - -- type list given as an input argument of this function. - - -- If there is no instance_report_item, then this function returns true. - IF(SIZEOF(sdiri) = 0) THEN - RETURN(TRUE); - END_IF; - - -- When reports exist, then perform the following checking process. - REPEAT i:= 1 TO SIZEOF(sdiri); - -- If the size of inspected_elements is not equal to the size of - -- type_list, then return false. - IF(SIZEOF(sdiri[i].inspected_elements) <> - SIZEOF(type_list)) THEN - RETURN(FALSE); - END_IF; - -- check all elements in the type_list - -- for each element of inspected_elements. - t_type_list := type_list; - REPEAT j:= 1 TO SIZEOF(sdiri[i].inspected_elements); - REPEAT k:= 1 TO SIZEOF(t_type_list); - IF(t_type_list[k] IN - TYPEOF(sdiri[i].inspected_elements[j])) THEN - t_type_list := t_type_list - t_type_list[k]; - ESCAPE; - END_IF; - END_REPEAT; - END_REPEAT; - IF(SIZEOF(t_type_list) > 0) THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - - RETURN(TRUE); - END_FUNCTION; -(* REFERENCE FROM (iso13584_generic_expressions_schema); *) -FUNCTION used_variables (arg : generic_expression) : - SET OF generic_variable; - -LOCAL - result : SET OF generic_variable := []; -END_LOCAL; - -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GENERIC_VARIABLE' - IN TYPEOF (arg) -THEN - RETURN ([arg]); -END_IF; - -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNARY_GENERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN (used_variables (arg\unary_generic_expression.operand)); -END_IF; - -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BINARY_GENERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN(used_variables(arg\binary_generic_expression.operands[1]) - + used_variables (arg\binary_generic_expression.operands[2])); -END_IF; - -IF -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - REPEAT i := 1 TO - SIZEOF(arg\multiple_arity_generic_expression.operands); - result := result + used_variables( - arg\multiple_arity_generic_expression.operands[i]); - END_REPEAT; - - RETURN (result); -END_IF; -RETURN ([ ]); -- in this case the subtype shall not contain - -- any variable (see IP1 in generic_expression) -END_FUNCTION; -- used_variables -(* REFERENCE FROM (mathematical_functions_schema); *) -FUNCTION compatible_spaces(sp1, sp2 : maths_space) : BOOLEAN; - LOCAL - types1 : SET OF STRING := stripped_typeof (sp1); - types2 : SET OF STRING := stripped_typeof (sp2); - lgcl : LOGICAL := UNKNOWN; - m, n : INTEGER; - s1, s2 : maths_space; - END_LOCAL; - IF 'FINITE_SPACE' IN types1 THEN - REPEAT i := 1 TO SIZEOF (sp1\finite_space.members); - lgcl := member_of(sp1\finite_space.members[i], sp2); - IF lgcl <> FALSE THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - RETURN (FALSE); - END_IF; - IF 'FINITE_SPACE' IN types2 THEN - REPEAT i := 1 TO SIZEOF (sp2\finite_space.members); - lgcl := member_of(sp2\finite_space.members[i], sp1); - IF lgcl <> FALSE THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - RETURN (FALSE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types1 THEN - IF sp1\elementary_space.space_id = es_generics THEN - RETURN (TRUE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types2 THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, - sp2\elementary_space.space_id)); - END_IF; - IF ('FINITE_INTEGER_INTERVAL' IN types2) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types2) OR - ('INTEGER_INTERVAL_TO_MAX' IN types2) THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, es_integers)); - END_IF; - IF ('FINITE_REAL_INTERVAL' IN types2) OR - ('REAL_INTERVAL_FROM_MIN' IN types2) OR - ('REAL_INTERVAL_TO_MAX' IN types2) THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, es_reals)); - END_IF; - IF ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types2) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types2) THEN - RETURN (compatible_es_values(sp1\elementary_space.space_id, es_complex_numbers)); - END_IF; - IF 'TUPLE_SPACE' IN types2 THEN - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - RETURN (bool(sp1\elementary_space.space_id = es_maths_functions)); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types2 THEN - IF sp2\elementary_space.space_id = es_generics THEN - RETURN (TRUE); - END_IF; - IF ('FINITE_INTEGER_INTERVAL' IN types1) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types1) OR - ('INTEGER_INTERVAL_TO_MAX' IN types1) THEN - RETURN (compatible_es_values(sp2\elementary_space.space_id, es_integers)); - END_IF; - IF ('FINITE_REAL_INTERVAL' IN types1) OR - ('REAL_INTERVAL_FROM_MIN' IN types1) OR - ('REAL_INTERVAL_TO_MAX' IN types1) THEN - RETURN (compatible_es_values(sp2\elementary_space.space_id, es_reals)); - END_IF; - IF ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types1) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types1) THEN - RETURN (compatible_es_values(sp2\elementary_space.space_id, es_complex_numbers)); - END_IF; - IF 'TUPLE_SPACE' IN types1 THEN - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN types1 THEN - RETURN (bool(sp2\elementary_space.space_id = es_maths_functions)); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF subspace_of_es(sp1,es_integers) THEN -- Note that sp1 finite already handled. - IF subspace_of_es(sp2,es_integers) THEN -- Note that sp2 finite already handled. - RETURN (compatible_intervals(sp1,sp2)); - END_IF; - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp2,es_integers) THEN - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp1,es_reals) THEN -- Note that sp1 finite already handled. - IF subspace_of_es(sp2,es_reals) THEN -- Note that sp2 finite already handled. - RETURN (compatible_intervals(sp1,sp2)); - END_IF; - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp2,es_reals) THEN - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp1,es_complex_numbers) THEN -- Note sp1 finite already handled. - IF subspace_of_es(sp2,es_complex_numbers) THEN -- Note sp2 finite already handled. - RETURN (compatible_complex_number_regions(sp1,sp2)); - END_IF; - RETURN (FALSE); - END_IF; - IF subspace_of_es(sp2,es_complex_numbers) THEN - RETURN (FALSE); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN - IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN - IF sp1\uniform_product_space.exponent <> sp2\uniform_product_space.exponent THEN - RETURN (FALSE); - END_IF; - RETURN (compatible_spaces(sp1\uniform_product_space.base, - sp2\uniform_product_space.base)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types2 THEN - n := SIZEOF (sp2\listed_product_space.factors); - IF sp1\uniform_product_space.exponent <> n THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO n; - IF NOT compatible_spaces(sp1\uniform_product_space.base, - sp2\listed_product_space.factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - m := sp1\uniform_product_space.exponent; - n := space_dimension(sp2\extended_tuple_space.base); - IF m < n THEN - RETURN (FALSE); - END_IF; - IF m = n THEN - RETURN (compatible_spaces(sp1, sp2\extended_tuple_space.base)); - END_IF; - RETURN (compatible_spaces(sp1, assoc_product_space( - sp2\extended_tuple_space.base, make_uniform_product_space( - sp2\extended_tuple_space.extender, m - n)))); - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - RETURN (FALSE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types1 THEN - n := SIZEOF (sp1\listed_product_space.factors); - IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN - IF n <> sp2\uniform_product_space.exponent THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO n; - IF NOT compatible_spaces(sp2\uniform_product_space.base, - sp1\listed_product_space.factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types2 THEN - IF n <> SIZEOF (sp2\listed_product_space.factors) THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO n; - IF NOT compatible_spaces(sp1\listed_product_space.factors[i], - sp2\listed_product_space.factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - m := space_dimension(sp2\extended_tuple_space.base); - IF n < m THEN - RETURN (FALSE); - END_IF; - IF n = m THEN - RETURN (compatible_spaces(sp1, sp2\extended_tuple_space.base)); - END_IF; - RETURN (compatible_spaces(sp1, assoc_product_space( - sp2\extended_tuple_space.base, make_uniform_product_space( - sp2\extended_tuple_space.extender, n - m)))); - END_IF; - IF (schema_prefix + 'FUNCTION_SPACE') IN types2 THEN - RETURN (FALSE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN - IF ('UNIFORM_PRODUCT_SPACE' IN types2) OR - ('LISTED_PRODUCT_SPACE' IN types2) THEN - RETURN (compatible_spaces(sp2, sp1)); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - IF NOT compatible_spaces(sp1\extended_tuple_space.extender, - sp2\extended_tuple_space.extender) THEN - RETURN (FALSE); - END_IF; - n := space_dimension(sp1\extended_tuple_space.base); - m := space_dimension(sp2\extended_tuple_space.base); - IF n < m THEN - RETURN (compatible_spaces(assoc_product_space(sp1\extended_tuple_space.base, - make_uniform_product_space(sp1\extended_tuple_space.extender, m - n)), - sp2\extended_tuple_space.base)); - END_IF; - IF n = m THEN - RETURN (compatible_spaces(sp1\extended_tuple_space.base, - sp2\extended_tuple_space.base)); - END_IF; - IF n > m THEN - RETURN (compatible_spaces(sp1\extended_tuple_space.base, - assoc_product_space(sp2\extended_tuple_space.base, - make_uniform_product_space(sp2\extended_tuple_space.extender, n - m)))); - END_IF; - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - RETURN (FALSE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - IF 'FUNCTION_SPACE' IN types1 THEN - IF 'FUNCTION_SPACE' IN types2 THEN - s1 := sp1\function_space.domain_argument; - s2 := sp2\function_space.domain_argument; - CASE sp1\function_space.domain_constraint OF - sc_equal : BEGIN - CASE sp2\function_space.domain_constraint OF - sc_equal : lgcl := subspace_of(s1, s2) AND subspace_of(s2, s1); - sc_subspace : lgcl := subspace_of(s1, s2); - sc_member : lgcl := member_of(s1, s2); - END_CASE; - END; - sc_subspace :BEGIN - CASE sp2\function_space.domain_constraint OF - sc_equal : lgcl := subspace_of(s2, s1); - sc_subspace : lgcl := compatible_spaces(s1, s2); - sc_member : lgcl := UNKNOWN; - END_CASE; - END; - sc_member :BEGIN - CASE sp2\function_space.domain_constraint OF - sc_equal : lgcl := member_of(s2, s1); - sc_subspace : lgcl := UNKNOWN; - sc_member : lgcl := compatible_spaces(s1, s2); - END_CASE; - END; - END_CASE; - IF lgcl = FALSE THEN - RETURN (FALSE); - END_IF; - s1 := sp1\function_space.range_argument; - s2 := sp2\function_space.range_argument; - CASE sp1\function_space.range_constraint OF - sc_equal : BEGIN - CASE sp2\function_space.range_constraint OF - sc_equal : lgcl := subspace_of(s1, s2) AND subspace_of(s2, s1); - sc_subspace : lgcl := subspace_of(s1, s2); - sc_member : lgcl := member_of(s1, s2); - END_CASE; - END; - sc_subspace :BEGIN - CASE sp2\function_space.range_constraint OF - sc_equal : lgcl := subspace_of(s2, s1); - sc_subspace : lgcl := compatible_spaces(s1, s2); - sc_member : lgcl := UNKNOWN; - END_CASE; - END; - sc_member :BEGIN - CASE sp2\function_space.range_constraint OF - sc_equal : lgcl := member_of(s2, s1); - sc_subspace : lgcl := UNKNOWN; - sc_member : lgcl := compatible_spaces(s1, s2); - END_CASE; - END; - END_CASE; - IF lgcl = FALSE THEN - RETURN (FALSE); - END_IF; - RETURN (TRUE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); - END_IF; - -- Should be unreachable. - RETURN (TRUE); -END_FUNCTION; -- compatible_spaces - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION stripped_typeof(arg : GENERIC:G) : SET OF STRING; - LOCAL - types : SET OF STRING := TYPEOF (arg); - stypes : SET OF STRING := []; - n : INTEGER := LENGTH (schema_prefix); - END_LOCAL; - REPEAT i := 1 TO SIZEOF (types); - IF types[i][1:n] = schema_prefix THEN - stypes := stypes + types[i][n+1:LENGTH(types[i])]; - ELSE - stypes := stypes + types[i]; - END_IF; - END_REPEAT; - RETURN (stypes); -END_FUNCTION; -- stripped_typeof - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION member_of(val : GENERIC:G; - spc : maths_space) : LOGICAL; - - -- Trivial function introduced to avoid NIST Fedex compiler error - FUNCTION fedex(val : AGGREGATE OF GENERIC:X; - i : INTEGER) : GENERIC:X; - RETURN (val[i]); - END_FUNCTION; -- fedex - - LOCAL - v : maths_value := simplify_maths_value (convert_to_maths_value (val)); - vtypes : SET OF STRING := stripped_typeof (v); - s : maths_space := simplify_maths_space (spc); - stypes : SET OF STRING := stripped_typeof (s); - tmp_int : INTEGER; - tmp_real : REAL; - tmp_cmplx : complex_number_literal; - lgcl, cum : LOGICAL; - vspc, sspc : maths_space; - smem : SET OF maths_value; - factors : LIST OF maths_space; - END_LOCAL; - IF NOT EXISTS (s) THEN - RETURN (FALSE); - END_IF; - IF NOT EXISTS (v) THEN - RETURN (s = the_generics); - END_IF; - IF ('GENERIC_EXPRESSION' IN vtypes) AND - NOT ('MATHS_SPACE' IN vtypes) AND - NOT ('MATHS_FUNCTION' IN vtypes) AND - NOT ('COMPLEX_NUMBER_LITERAL' IN vtypes) THEN - IF has_values_space (v) THEN - vspc := values_space_of (v); - IF subspace_of (vspc, s) THEN - RETURN (TRUE); - END_IF; - IF NOT compatible_spaces (vspc, s) THEN - RETURN (FALSE); - END_IF; - RETURN (UNKNOWN); - END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'ELEMENTARY_SPACE' IN stypes THEN - CASE s\elementary_space.space_id OF - es_numbers : RETURN (('NUMBER' IN vtypes) OR - ('COMPLEX_NUMBER_LITERAL' IN vtypes)); - es_complex_numbers : RETURN ('COMPLEX_NUMBER_LITERAL' IN vtypes); - es_reals : RETURN (('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes)); - es_integers : RETURN ('INTEGER' IN vtypes); - es_logicals : RETURN ('LOGICAL' IN vtypes); - es_booleans : RETURN ('BOOLEAN' IN vtypes); - es_strings : RETURN ('STRING' IN vtypes); - es_binarys : RETURN ('BINARY' IN vtypes); - es_maths_spaces : RETURN ('MATHS_SPACE' IN vtypes); - es_maths_functions : RETURN ('MATHS_FUNCTION' IN vtypes); - es_generics : RETURN (TRUE); - END_CASE; - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN stypes THEN - IF 'INTEGER' IN vtypes THEN - tmp_int := v; - RETURN ({s\finite_integer_interval.min <= tmp_int <= - s\finite_integer_interval.max}); - END_IF; - RETURN (FALSE); - END_IF; - IF 'INTEGER_INTERVAL_FROM_MIN' IN stypes THEN - IF 'INTEGER' IN vtypes THEN - tmp_int := v; - RETURN (s\integer_interval_from_min.min <= tmp_int); - END_IF; - RETURN (FALSE); - END_IF; - IF 'INTEGER_INTERVAL_TO_MAX' IN stypes THEN - IF 'INTEGER' IN vtypes THEN - tmp_int := v; - RETURN (tmp_int <= s\integer_interval_to_max.max); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_REAL_INTERVAL' IN stypes THEN - IF ('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes) THEN - tmp_real := v; - IF s\finite_real_interval.min_closure = closed THEN - IF s\finite_real_interval.max_closure = closed THEN - RETURN ({s\finite_real_interval.min <= tmp_real <= - s\finite_real_interval.max}); - ELSE - RETURN ({s\finite_real_interval.min <= tmp_real < - s\finite_real_interval.max}); - END_IF; - ELSE - IF s\finite_real_interval.max_closure = closed THEN - RETURN ({s\finite_real_interval.min < tmp_real <= - s\finite_real_interval.max}); - ELSE - RETURN ({s\finite_real_interval.min < tmp_real < - s\finite_real_interval.max}); - END_IF; - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_FROM_MIN' IN stypes THEN - IF ('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes) THEN - tmp_real := v; - IF s\real_interval_from_min.min_closure = closed THEN - RETURN (s\real_interval_from_min.min <= tmp_real); - ELSE - RETURN (s\real_interval_from_min.min < tmp_real); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_TO_MAX' IN stypes THEN - IF ('REAL' IN vtypes) AND NOT ('INTEGER' IN vtypes) THEN - tmp_real := v; - IF s\real_interval_to_max.max_closure = closed THEN - RETURN (tmp_real <= s\real_interval_to_max.max); - ELSE - RETURN (tmp_real < s\real_interval_to_max.max); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN stypes THEN - IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN - RETURN (member_of(v\complex_number_literal.real_part, - s\cartesian_complex_number_region.real_constraint) AND - member_of(v\complex_number_literal.imag_part, - s\cartesian_complex_number_region.imag_constraint)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN stypes THEN - IF 'COMPLEX_NUMBER_LITERAL' IN vtypes THEN - tmp_cmplx := v; - tmp_cmplx.real_part := tmp_cmplx.real_part - - s\polar_complex_number_region.centre.real_part; - tmp_cmplx.imag_part := tmp_cmplx.imag_part - - s\polar_complex_number_region.centre.imag_part; - tmp_real := SQRT (tmp_cmplx.real_part**2 + tmp_cmplx.imag_part**2); - IF NOT member_of(tmp_real, - s\polar_complex_number_region.distance_constraint) THEN - RETURN (FALSE); - END_IF; - IF tmp_real = 0.0 THEN - RETURN (TRUE); -- The centre has no direction. - END_IF; - tmp_real := atan2(tmp_cmplx.imag_part,tmp_cmplx.real_part); - RETURN (member_of(tmp_real, - s\polar_complex_number_region.direction_constraint) OR - member_of(tmp_real + 2.0*PI, - s\polar_complex_number_region.direction_constraint)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_SPACE' IN stypes THEN - smem := s\finite_space.members; - cum := FALSE; - REPEAT i := 1 TO SIZEOF (smem); - cum := cum OR equal_maths_values(v,smem[i]); - IF cum = TRUE THEN - RETURN (TRUE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN - IF 'LIST' IN vtypes THEN - IF SIZEOF (v) = s\uniform_product_space.exponent THEN - sspc := s\uniform_product_space.base; - cum := TRUE; - REPEAT i := 1 TO SIZEOF (v); - cum := cum AND member_of(v[i],sspc); --- cum := cum AND member_of (fedex (v, i), sspc); - -- See note above for explanation of fedex() - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN stypes THEN - IF 'LIST' IN vtypes THEN - factors := s\listed_product_space.factors; - IF SIZEOF (v) = SIZEOF (factors) THEN - cum := TRUE; - REPEAT i := 1 TO SIZEOF (v); - cum := cum AND member_of(v[i],factors[i]); --- cum := cum AND member_of (fedex (v, i), factors[i]); - -- See note above for explanation of fedex() - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN - IF 'LIST' IN vtypes THEN - sspc := s\extended_tuple_space.base; - tmp_int := space_dimension(sspc); - IF SIZEOF (v) >= tmp_int THEN - cum := TRUE; - REPEAT i := 1 TO tmp_int; - cum := cum AND member_of(v[i],factor_space(sspc,i)); --- cum := cum AND member_of (fedex (v, i), factor_space (sspc, i)); - -- See note above for explanation of fedex() - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - sspc := s\extended_tuple_space.extender; - REPEAT i := tmp_int+1 TO SIZEOF (v); - cum := cum AND member_of(v[i],sspc); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN stypes THEN - IF 'MATHS_FUNCTION' IN vtypes THEN - vspc := v\maths_function.domain; - sspc := s\function_space.domain_argument; - CASE s\function_space.domain_constraint OF - sc_equal : cum := equal_maths_spaces (vspc, sspc); - sc_subspace : cum := subspace_of (vspc, sspc); - sc_member : cum := member_of (vspc, sspc); - END_CASE; - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - vspc := v\maths_function.range; - sspc := s\function_space.range_argument; - CASE s\function_space.range_constraint OF - sc_equal : cum := cum AND equal_maths_spaces (vspc, sspc); - sc_subspace : cum := cum AND subspace_of (vspc, sspc); - sc_member : cum := cum AND member_of (vspc, sspc); - END_CASE; - RETURN (cum); - END_IF; - RETURN (FALSE); - END_IF; - -- Should be unreachable - RETURN (UNKNOWN); -END_FUNCTION; -- member_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_maths_value(val : maths_value) : maths_value; - LOCAL - vtypes : SET OF STRING := stripped_typeof(val); - vlist : LIST OF maths_value; - nlist : LIST OF maths_value := []; - END_LOCAL; - IF 'GENERIC_EXPRESSION' IN vtypes THEN - RETURN (simplify_generic_expression(val)); - END_IF; - IF 'LIST' IN vtypes THEN - vlist := val; - REPEAT i := 1 TO SIZEOF (vlist); - INSERT (nlist, simplify_maths_value(vlist[i]), i-1); - END_REPEAT; - RETURN (convert_to_maths_value(nlist)); - END_IF; - RETURN (val); -END_FUNCTION; -- simplify_maths_value - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_generic_expression(expr : generic_expression) : maths_value; - FUNCTION restore_unary(expr : unary_generic_expression; - opnd : generic_expression) : generic_expression; - expr.operand := opnd; - RETURN (expr); - END_FUNCTION; -- restore_unary - FUNCTION restore_binary(expr : binary_generic_expression; - opd1, opd2 : generic_expression) : generic_expression; - expr.operands[1] := opd1; - expr.operands[2] := opd2; - RETURN (expr); - END_FUNCTION; -- restore_binary - FUNCTION restore_mulary(expr : multiple_arity_generic_expression; - ops : LIST OF generic_expression) : generic_expression; - expr.operands := ops; - RETURN (expr); - END_FUNCTION; -- restore_mulary - FUNCTION make_number_literal(nmb : NUMBER) : generic_literal; - IF 'INTEGER' IN TYPEOF (nmb) THEN RETURN (make_int_literal(nmb)); END_IF; - RETURN (make_real_literal(nmb)); - END_FUNCTION; -- make_number_literal; - LOCAL - types : SET OF STRING := stripped_typeof (expr); - v1, v2 : maths_value; - vlist : LIST OF maths_value := []; - op1, op2 : generic_expression; - oplist : LIST OF generic_expression := []; - opnds : LIST [2:?] OF generic_expression; - n, m : INTEGER; - finfun : maths_function_select; - boo : BOOLEAN; - str : STRING; - nmb : NUMBER; - END_LOCAL; - -- Unwrap the elementary kinds of literals - IF 'INT_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\int_literal.the_value)); - END_IF; - IF 'REAL_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\real_literal.the_value)); - END_IF; - IF 'BOOLEAN_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\boolean_literal.the_value)); - END_IF; - IF 'STRING_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\string_literal.the_value)); - END_IF; - IF 'COMPLEX_NUMBER_LITERAL' IN types THEN - RETURN (expr); -- No simpler expression available - END_IF; - IF 'LOGICAL_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\logical_literal.lit_value)); - END_IF; - IF 'BINARY_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\binary_literal.lit_value)); - END_IF; - IF 'MATHS_ENUM_LITERAL' IN types THEN - RETURN (expr\maths_enum_literal.lit_value); - END_IF; - IF 'REAL_TUPLE_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\real_tuple_literal.lit_value)); - END_IF; - IF 'INTEGER_TUPLE_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\integer_tuple_literal.lit_value)); - END_IF; - IF 'ATOM_BASED_LITERAL' IN types THEN - RETURN (expr\atom_based_literal.lit_value); - END_IF; - IF 'MATHS_TUPLE_LITERAL' IN types THEN - RETURN (convert_to_maths_value (expr\maths_tuple_literal.lit_value)); - END_IF; - -- Simplify one special class of literals - IF 'MATHS_SPACE' IN types THEN - RETURN (simplify_maths_space(expr)); - END_IF; - -- Simplify one special kind of expression - IF 'FUNCTION_APPLICATION' IN types THEN - RETURN (simplify_function_application(expr)); - END_IF; - -- Separate and simplify the operands - IF 'UNARY_GENERIC_EXPRESSION' IN types THEN - v1 := simplify_generic_expression(expr\unary_generic_expression.operand); - op1 := convert_to_operand(v1); - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN types THEN - v1 := simplify_generic_expression(expr\binary_generic_expression.operands[1]); - op1 := convert_to_operand(v1); - v2 := simplify_generic_expression(expr\binary_generic_expression.operands[2]); - op2 := convert_to_operand(v2); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN - opnds := expr\multiple_arity_generic_expression.operands; - REPEAT i := 1 TO SIZEOF (opnds); - v1 := simplify_generic_expression(opnds[i]); - INSERT (vlist, v1, i-1); - INSERT (oplist, convert_to_operand(v1), i-1); - END_REPEAT; - END_IF; - -- Simplify the one kind of maths_function which derives its operands. - IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN - v1 := vlist[1]; - n := SIZEOF (vlist); - finfun := vlist[n]; - REMOVE (vlist, n); - REMOVE (vlist, 1); - RETURN (make_parallel_composed_function(v1,vlist,finfun)); - END_IF; - -- Simplify individual kinds of expressions. It is not necessary to cover all cases. - IF ('ABS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ABS(v1))); - END_IF; - IF ('ACOS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ACOS(v1))); - END_IF; - IF 'AND_EXPRESSION' IN types THEN - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'BOOLEAN' IN TYPEOF (vlist[i]) THEN - boo := vlist[i]; - IF NOT boo THEN RETURN (convert_to_maths_value(FALSE)); END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(TRUE)); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('ASIN_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ASIN(v1))); - END_IF; - IF ('ATAN_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (ATAN(v1,v2))); - END_IF; - IF ('COMPARISON_EXPRESSION' IN types) AND ( - (('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2))) OR - (('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2))) OR - (('BOOLEAN' IN TYPEOF (v1)) AND ('BOOLEAN' IN TYPEOF (v2))) ) THEN - IF 'COMPARISON_EQUAL' IN types THEN boo := bool(v1 = v2); - ELSE IF 'COMPARISON_GREATER' IN types THEN boo := bool(v1 > v2); - ELSE IF 'COMPARISON_GREATER_EQUAL' IN types THEN boo := bool(v1 >= v2); - ELSE IF 'COMPARISON_LESS' IN types THEN boo := bool(v1 < v2); - ELSE IF 'COMPARISON_LESS_EQUAL' IN types THEN boo := bool(v1 <= v2); - ELSE IF 'COMPARISON_NOT_EQUAL' IN types THEN boo := bool(v1 <> v2); - ELSE IF 'LIKE_EXPRESSION' IN types THEN boo := bool(v1 LIKE v2); - ELSE RETURN (?); -- Unreachable - END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; END_IF; - RETURN (convert_to_maths_value (boo)); - END_IF; - IF 'CONCAT_EXPRESSION' IN types THEN - str := ''; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'STRING' IN TYPEOF (vlist[i]) THEN - str := vlist[i] + str; - REMOVE (oplist, i); - ELSE IF LENGTH(str) > 0 THEN - INSERT (oplist, make_string_literal(str), i); - str := ''; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(str)); END_IF; - IF LENGTH(str) > 0 THEN INSERT (oplist, make_string_literal(str), 0); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('COS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (COS(v1))); - END_IF; - IF ('DIV_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 DIV v2)); - END_IF; - IF 'EQUALS_EXPRESSION' IN types THEN - opnds := expr\binary_generic_expression.operands; - RETURN (convert_to_maths_value (opnds[1] :=: opnds[2])); - END_IF; - IF ('EXP_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (EXP(v1))); - END_IF; - IF ('FORMAT_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (FORMAT(v1,v2))); - END_IF; - IF ('INDEX_EXPRESSION' IN types) AND - ('STRING' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - str := v1; n := v2; - RETURN (convert_to_maths_value (str[n])); - END_IF; - IF ('INT_VALUE_EXPRESSION' IN types) AND ('STRING' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (VALUE(v1))); - END_IF; - IF 'INTERVAL_EXPRESSION' IN types THEN - str := ''; - IF 'NUMBER' IN TYPEOF (vlist[1]) THEN str := 'NUMBER'; END_IF; - IF 'STRING' IN TYPEOF (vlist[1]) THEN str := 'STRING'; END_IF; - IF 'BOOLEAN' IN TYPEOF (vlist[1]) THEN str := 'BOOLEAN'; END_IF; - IF (LENGTH (str) > 0) AND (str IN TYPEOF (vlist[2])) AND - (str IN TYPEOF (vlist[3])) THEN - RETURN (convert_to_maths_value ({vlist[1] <= vlist[2] <= vlist[3]})); - END_IF; - END_IF; - IF ('LENGTH_EXPRESSION' IN types) AND ('STRING' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LENGTH(v1))); - END_IF; - IF ('LOG_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LOG(v1))); - END_IF; - IF ('LOG10_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LOG10(v1))); - END_IF; - IF ('LOG2_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (LOG2(v1))); - END_IF; - IF 'MAXIMUM_EXPRESSION' IN types THEN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - IF boo THEN - IF nmb < vlist[i] THEN nmb := vlist[i]; END_IF; - ELSE - nmb := vlist[i]; boo := TRUE; - END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF boo THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - END_IF; - IF 'MINIMUM_EXPRESSION' IN types THEN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - IF boo THEN - IF nmb > vlist[i] THEN nmb := vlist[i]; END_IF; - ELSE - nmb := vlist[i]; boo := TRUE; - END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF boo THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - END_IF; - IF ('MINUS_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 - v2)); - END_IF; - IF ('MOD_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 MOD v2)); - END_IF; - IF 'MULT_EXPRESSION' IN types THEN - nmb := 1; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - nmb := nmb * vlist[i]; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF nmb <> 1 THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('NOT_EXPRESSION' IN types) AND ('BOOLEAN' IN TYPEOF (v1)) THEN - boo := v1; - RETURN (convert_to_maths_value (NOT(boo))); - END_IF; - IF ('ODD_EXPRESSION' IN types) AND ('INTEGER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (ODD(v1))); - END_IF; - IF 'OR_EXPRESSION' IN types THEN - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'BOOLEAN' IN TYPEOF (vlist[i]) THEN - boo := vlist[i]; - IF boo THEN RETURN (convert_to_maths_value(TRUE)); END_IF; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(FALSE)); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF 'PLUS_EXPRESSION' IN types THEN - nmb := 0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'NUMBER' IN TYPEOF (vlist[i]) THEN - nmb := nmb + vlist[i]; - REMOVE (oplist, i); - END_IF; - END_REPEAT; - IF SIZEOF (oplist) = 0 THEN RETURN (convert_to_maths_value(nmb)); END_IF; - IF nmb <> 0 THEN INSERT (oplist, make_number_literal(nmb), 0); END_IF; - IF SIZEOF (oplist) = 1 THEN RETURN (oplist[1]); END_IF; - END_IF; - IF ('POWER_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 ** v2)); - END_IF; - IF ('SIN_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (SIN(v1))); - END_IF; - IF ('SLASH_EXPRESSION' IN types) AND - ('NUMBER' IN TYPEOF (v1)) AND ('NUMBER' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 / v2)); - END_IF; - IF ('SQUARE_ROOT_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (SQRT(v1))); - END_IF; - IF ('SUBSTRING_EXPRESSION' IN types) AND - ('STRING' IN TYPEOF (vlist[1])) AND ('NUMBER' IN TYPEOF (vlist[2])) AND - ('NUMBER' IN TYPEOF (vlist[3])) THEN - str := vlist[1]; n := vlist[2]; m := vlist[3]; - RETURN (convert_to_maths_value (str[n:m])); - END_IF; - IF ('TAN_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (TAN(v1))); - END_IF; - IF ('UNARY_MINUS_EXPRESSION' IN types) AND ('NUMBER' IN TYPEOF (v1)) THEN - nmb := v1; - RETURN (convert_to_maths_value (-nmb)); - END_IF; - IF ('VALUE_EXPRESSION' IN types) AND ('STRING' IN TYPEOF (v1)) THEN - RETURN (convert_to_maths_value (VALUE(v1))); - END_IF; - IF ('XOR_EXPRESSION' IN types) AND - ('BOOLEAN' IN TYPEOF (v1)) AND ('BOOLEAN' IN TYPEOF (v2)) THEN - RETURN (convert_to_maths_value (v1 XOR v2)); - END_IF; - -- No special simplification defined, return same with simplified operands. - IF 'UNARY_GENERIC_EXPRESSION' IN types THEN - RETURN (restore_unary(expr,op1)); - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN types THEN - RETURN (restore_binary(expr,op1,op2)); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN - RETURN (restore_mulary(expr,oplist)); - END_IF; - -- Should be unreachable, but for safety, return unsimplified expression. - RETURN (expr); -END_FUNCTION; -- simplify_generic_expression - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_int_literal(lit_value : INTEGER) : int_literal; - RETURN (int_literal () - || literal_number(lit_value) - || simple_numeric_expression() - || numeric_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_int_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_real_literal(lit_value : REAL) : real_literal; - RETURN (real_literal () - || literal_number(lit_value) - || simple_numeric_expression() - || numeric_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_real_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_maths_value(val : GENERIC:G) : maths_value; - LOCAL - types : SET OF STRING := TYPEOF (val); - ival : maths_integer; - rval : maths_real; - nval : maths_number; - tfval : maths_boolean; - lval : maths_logical; - sval : maths_string; - bval : maths_binary; - tval : maths_tuple := the_empty_maths_tuple; - mval : maths_value; - END_LOCAL; - IF (schema_prefix + 'MATHS_VALUE') IN types THEN RETURN (val); END_IF; - IF 'INTEGER' IN types THEN ival := val; RETURN (ival); END_IF; - IF 'REAL' IN types THEN rval := val; RETURN (rval); END_IF; - IF 'NUMBER' IN types THEN nval := val; RETURN (nval); END_IF; - IF 'BOOLEAN' IN types THEN tfval := val; RETURN (tfval); END_IF; - IF 'LOGICAL' IN types THEN lval := val; RETURN (lval); END_IF; - IF 'STRING' IN types THEN sval := val; RETURN (sval); END_IF; - IF 'BINARY' IN types THEN bval := val; RETURN (bval); END_IF; - IF 'LIST' IN types THEN - REPEAT i := 1 TO SIZEOF (val); - mval := convert_to_maths_value (val[i]); - IF NOT EXISTS (mval) THEN RETURN (?); END_IF; - INSERT (tval, mval, i-1); - END_REPEAT; - RETURN (tval); - END_IF; - RETURN (?); -END_FUNCTION; -- convert_to_maths_value - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_maths_space(spc : maths_space) : maths_space; - LOCAL - stypes : SET OF STRING := stripped_typeof (spc); - sset : SET OF maths_value; - zset : SET OF maths_value := []; - zval : maths_value; - zspc : maths_space; - zallint : BOOLEAN := TRUE; - zint, zmin, zmax : INTEGER; - factors : LIST OF maths_space; - zfactors : LIST OF maths_space := []; - rspc : maths_space; - END_LOCAL; - IF 'FINITE_SPACE' IN stypes THEN - sset := spc\finite_space.members; - REPEAT i := 1 TO SIZEOF (sset); - zval := simplify_maths_value(sset[i]); - zset := zset + [zval]; - IF zallint AND ('INTEGER' IN TYPEOF (zval)) THEN - zint := zval; - IF i = 1 THEN - zmin := zint; - zmax := zint; - ELSE - IF zint < zmin THEN - zmin := zint; - END_IF; - IF zint > zmax THEN - zmax := zint; - END_IF; - END_IF; - ELSE - zallint := FALSE; - END_IF; - END_REPEAT; - IF zallint AND (SIZEOF(zset) = zmax-zmin+1) THEN - RETURN (make_finite_integer_interval(zmin,zmax)); - END_IF; - RETURN (make_finite_space(zset)); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN stypes THEN - zspc := simplify_maths_space(spc\uniform_product_space.base); - RETURN (make_uniform_product_space(zspc,spc\uniform_product_space.exponent)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN stypes THEN - factors := spc\listed_product_space.factors; - REPEAT i := 1 TO SIZEOF (factors); - INSERT (zfactors, simplify_maths_space(factors[i]), i-1); - END_REPEAT; - RETURN (make_listed_product_space(zfactors)); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN stypes THEN - zspc := simplify_maths_space(spc\extended_tuple_space.base); - rspc := simplify_maths_space(spc\extended_tuple_space.extender); - RETURN (make_extended_tuple_space(zspc,rspc)); - END_IF; - IF 'FUNCTION_SPACE' IN stypes THEN - zspc := simplify_maths_space(spc\function_space.domain_argument); - rspc := simplify_maths_space(spc\function_space.range_argument); - RETURN (make_function_space(spc\function_space.domain_constraint,zspc, - spc\function_space.range_constraint,rspc)); - END_IF; - RETURN (spc); -END_FUNCTION; -- simplify_maths_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_finite_integer_interval(min : INTEGER; - max : INTEGER) : finite_integer_interval; - RETURN (finite_integer_interval (min, max) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_finite_integer_interval - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_finite_space(members : SET OF maths_value) : finite_space; - RETURN (finite_space (members) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_finite_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_uniform_product_space(base : maths_space; - exponent : positive_integer) - : uniform_product_space; - RETURN (uniform_product_space (base, exponent) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_uniform_product_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_listed_product_space(factors : LIST OF maths_space) - : listed_product_space; - RETURN (listed_product_space (factors) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_listed_product_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION expression_is_constant(expr : generic_expression) : BOOLEAN; - RETURN (bool(SIZEOF (free_variables_of (expr)) = 0)); -END_FUNCTION; -- expression_is_constant - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION bool(lgcl: LOGICAL) : BOOLEAN; - IF NOT EXISTS (lgcl) THEN RETURN (FALSE); END_IF; - IF lgcl <> TRUE THEN RETURN (FALSE); END_IF; - RETURN (TRUE); -END_FUNCTION; -- bool - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION free_variables_of(expr : generic_expression) : SET OF generic_variable; - LOCAL - typenames : SET OF STRING := stripped_typeof(expr); - result : SET OF generic_variable := []; - exprs : LIST OF generic_expression := []; - END_LOCAL; - IF 'GENERIC_LITERAL' IN typenames THEN - RETURN (result); - END_IF; - IF 'GENERIC_VARIABLE' IN typenames THEN - result := result + expr; - RETURN (result); - END_IF; - IF 'QUANTIFIER_EXPRESSION' IN typenames THEN - exprs := QUERY (ge <* expr\multiple_arity_generic_expression.operands | - NOT (ge IN expr\quantifier_expression.variables)); - REPEAT i := 1 TO SIZEOF (exprs); - result := result + free_variables_of (exprs[i]); - END_REPEAT; - REPEAT i := 1 TO SIZEOF (expr\quantifier_expression.variables); - result := result - expr\quantifier_expression.variables[i]; - END_REPEAT; - RETURN (result); - END_IF; - IF 'UNARY_GENERIC_EXPRESSION' IN typenames THEN - RETURN (free_variables_of (expr\unary_generic_expression.operand)); - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN typenames THEN - result := free_variables_of (expr\binary_generic_expression.operands[1]); - RETURN (result + free_variables_of (expr\binary_generic_expression.operands[2])); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN typenames THEN - REPEAT i := 1 TO SIZEOF (expr\multiple_arity_generic_expression.operands); - result := result + free_variables_of ( - expr\multiple_arity_generic_expression.operands[i]); - END_REPEAT; - RETURN (result); - END_IF; - -- In this case the subtype shall not contain any variable (see IP1 in - -- generic_expression). - RETURN (result); -END_FUNCTION; -- free_variables_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION no_cyclic_space_reference(spc : maths_space; - refs : SET OF maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING; - refs_plus : SET OF maths_space; - END_LOCAL; - IF (spc IN refs) THEN - RETURN (FALSE); - END_IF; - types := TYPEOF (spc); - refs_plus := refs + spc; - IF (schema_prefix + 'FINITE_SPACE') IN types THEN - RETURN (bool(SIZEOF (QUERY (sp <* QUERY (mem <* spc\finite_space.members | - (schema_prefix + 'MATHS_SPACE') IN TYPEOF (mem)) | - NOT no_cyclic_space_reference (sp, refs_plus))) = 0)); - END_IF; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN types THEN - RETURN (no_cyclic_space_reference (spc\uniform_product_space.base, refs_plus)); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN types THEN - RETURN (bool(SIZEOF (QUERY (fac <* spc\listed_product_space.factors | - NOT no_cyclic_space_reference (fac, refs_plus))) = 0)); - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN types THEN - RETURN (no_cyclic_space_reference (spc\extended_tuple_space.base, refs_plus) - AND no_cyclic_space_reference (spc\extended_tuple_space.extender, refs_plus)); - END_IF; - -- spc contains no references to other spaces - RETURN (TRUE); -END_FUNCTION; -- no_cyclic_space_reference - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_extended_tuple_space(base : product_space; - extender : maths_space) : extended_tuple_space; - RETURN (extended_tuple_space (base, extender) - || maths_space () - || generic_expression() - || generic_literal () - || simple_generic_expression() ); -END_FUNCTION; -- make_extended_tuple_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION any_space_satisfies(sc : space_constraint_type; - spc : maths_space) : BOOLEAN; - LOCAL - spc_id : elementary_space_enumerators; - END_LOCAL; - IF (sc = sc_equal) OR NOT ('ELEMENTARY_SPACE' IN stripped_typeof(spc)) THEN - RETURN (FALSE); - END_IF; - spc_id := spc\elementary_space.space_id; - IF sc = sc_subspace THEN - RETURN (bool(spc_id = es_generics)); - END_IF; - IF sc = sc_member THEN - RETURN (bool((spc_id = es_generics) OR (spc_id = es_maths_spaces))); - END_IF; - -- Should be unreachable. - RETURN (?); -END_FUNCTION; -- any_space_satisfies - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_function_space(domain_constraint : space_constraint_type; - domain_argument : maths_space; - range_constraint : space_constraint_type; - range_argument : maths_space) : function_space; - RETURN (function_space (domain_constraint, domain_argument, range_constraint, - range_argument) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_function_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION simplify_function_application(expr : function_application) : maths_value; - FUNCTION ctmv(x : GENERIC:G) : maths_value; - RETURN (convert_to_maths_value(x)); - END_FUNCTION; -- local abbreviation for convert_to_maths_value function - PROCEDURE parts( c : complex_number_literal; - VAR x, y : REAL); - x := c.real_part; y := c.imag_part; - END_PROCEDURE; -- parts - FUNCTION makec(x, y : REAL) : complex_number_literal; - RETURN (make_complex_number_literal(x,y)); - END_FUNCTION; -- local abbreviation for make_complex_number_literal function - FUNCTION good_t(v : maths_value; - tn : STRING) : BOOLEAN; - LOCAL - tpl : LIST OF maths_value; - END_LOCAL; - IF 'LIST' IN TYPEOF (v) THEN - tpl := v; - REPEAT i := 1 TO SIZEOF (tpl); - IF NOT (tn IN TYPEOF (tpl[i])) THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - RETURN (FALSE); - END_FUNCTION; -- good_t - CONSTANT - cnlit : STRING := schema_prefix + 'COMPLEX_NUMBER_LITERAL'; - END_CONSTANT; - LOCAL - types : SET OF STRING := stripped_typeof(expr.func); - ef_val : elementary_function_enumerators; - is_elementary : BOOLEAN := FALSE; - v, v1, v2, v3 : maths_value; - vlist : LIST OF maths_value := []; - gexpr : generic_expression; - pairs : SET [1:?] OF LIST [2:2] OF maths_value; - boo : BOOLEAN; - lgc, cum : LOGICAL; - j, k, n : INTEGER; - p, q, r, s, t, u : REAL; - str, st2 : STRING; - bin, bi2 : BINARY; - tpl, tp2 : LIST OF maths_value; - mem :SET OF maths_value := []; - END_LOCAL; - REPEAT i := 1 TO SIZEOF (expr.arguments); - v := simplify_maths_value(expr.arguments[i]); - INSERT (vlist, v, i-1); - END_REPEAT; - IF SIZEOF (vlist) >= 1 THEN v1 := vlist[1]; END_IF; - IF SIZEOF (vlist) >= 2 THEN v2 := vlist[2]; END_IF; - IF SIZEOF (vlist) >= 3 THEN v3 := vlist[3]; END_IF; - IF 'ELEMENTARY_FUNCTION_ENUMERATORS' IN types THEN - ef_val := expr.func; - is_elementary := TRUE; - END_IF; - IF 'ELEMENTARY_FUNCTION' IN types THEN - ef_val := expr.func\elementary_function.func_id; - is_elementary := TRUE; - END_IF; - IF is_elementary THEN - CASE ef_val OF - ef_and : BEGIN - cum := TRUE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'LOGICAL' IN TYPEOF (vlist[i]) THEN - lgc := vlist[i]; cum := cum AND lgc; - IF lgc = FALSE THEN RETURN (ctmv(FALSE)); END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(cum)); END_IF; - IF cum <> TRUE THEN INSERT (vlist, ctmv(cum), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_or : BEGIN - cum := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'LOGICAL' IN TYPEOF (vlist[i]) THEN - lgc := vlist[i]; cum := cum OR lgc; - IF lgc = TRUE THEN RETURN (ctmv(TRUE)); END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(cum)); END_IF; - IF cum <> FALSE THEN INSERT (vlist, ctmv(cum), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_not : - IF 'LOGICAL' IN TYPEOF (v1) THEN lgc := v1; RETURN (ctmv(NOT lgc)); END_IF; - ef_xor : BEGIN - IF 'LOGICAL' IN TYPEOF (v1) THEN - lgc := v1; - IF 'LOGICAL' IN TYPEOF (v2) THEN cum := v2; RETURN (ctmv(lgc XOR cum)); - ELSE IF lgc = FALSE THEN RETURN (ctmv(v2)); - ELSE IF lgc = UNKNOWN THEN RETURN (ctmv(UNKNOWN)); - ELSE RETURN (make_function_application(ef_not,[v2])); - END_IF; END_IF; END_IF; - ELSE IF 'LOGICAL' IN TYPEOF (v2) THEN - lgc := v2; - IF lgc = FALSE THEN RETURN (ctmv(v1)); - ELSE IF lgc = UNKNOWN THEN RETURN (ctmv(UNKNOWN)); - ELSE RETURN (make_function_application(ef_not,[v1])); - END_IF; END_IF; - END_IF; END_IF; - END; - ef_negate_i : - IF 'INTEGER' IN TYPEOF (v1) THEN j := v1; RETURN (ctmv(-j)); END_IF; - ef_add_i : BEGIN - j := 0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - k := vlist[i]; j := j + k; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF j <> 0 THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j - k)); - END_IF; - ef_multiply_i : BEGIN - j := 1; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - k := vlist[i]; j := j * k; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF j <> 1 THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_divide_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j DIV k)); - END_IF; - ef_mod_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j MOD k)); - END_IF; - ef_exponentiate_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; n := 1; - REPEAT i := 1 TO ABS(k); n := n * j; END_REPEAT; - IF k < 0 THEN n := 1 DIV n; END_IF; - RETURN (ctmv(n)); - END_IF; - ef_eq_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j = k)); - END_IF; - ef_ne_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j <> k)); - END_IF; - ef_gt_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j > k)); - END_IF; - ef_lt_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j < k)); - END_IF; - ef_ge_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j >= k)); - END_IF; - ef_le_i : - IF ('INTEGER' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - j := v1; k := v2; RETURN (ctmv(j <= k)); - END_IF; - ef_abs_i : - IF 'INTEGER' IN TYPEOF (v1) THEN j := v1; RETURN (ctmv(ABS(j))); END_IF; - ef_max_i : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - IF boo THEN k := vlist[i]; IF k > j THEN j := k; END_IF; - ELSE j := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF boo THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_min_i : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'INTEGER' IN TYPEOF (vlist[i]) THEN - IF boo THEN k := vlist[i]; IF k < j THEN j := k; END_IF; - ELSE j := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(j)); END_IF; - IF boo THEN INSERT (vlist, ctmv(j), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - -- ef_if_i : combined with ef_if - ef_negate_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(-r)); END_IF; - ef_reciprocal_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(1.0/r)); END_IF; - ef_add_r : BEGIN - r := 0.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - s := vlist[i]; r := r + s; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF r <> 0.0 THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r - s)); - END_IF; - ef_multiply_r : BEGIN - r := 1.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - s := vlist[i]; r := r * s; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF r <> 1.0 THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_divide_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r / s)); - END_IF; - ef_mod_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; t := r/s; j := t DIV 1; - IF (t < 0.0) AND (j <> t) THEN j := j - 1; END_IF; - RETURN (ctmv(r - j * s)); - END_IF; - ef_exponentiate_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r ** s)); - END_IF; - ef_exponentiate_ri : - IF ('REAL' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - r := v1; k := v2; t := 1.0; - REPEAT i := 1 TO ABS(k); t := t * r; END_REPEAT; - IF k < 0 THEN t := 1.0/t; END_IF; - RETURN (ctmv(t)); - END_IF; - ef_eq_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r = s)); - END_IF; - ef_ne_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r <> s)); - END_IF; - ef_gt_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r > s)); - END_IF; - ef_lt_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r < s)); - END_IF; - ef_ge_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r >= s)); - END_IF; - ef_le_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(r <= s)); - END_IF; - ef_abs_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(ABS(r))); END_IF; - ef_max_r : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - IF boo THEN s := vlist[i]; IF s > r THEN r := s; END_IF; - ELSE r := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF boo THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_min_r : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'REAL' IN TYPEOF (vlist[i]) THEN - IF boo THEN s := vlist[i]; IF s < r THEN r := s; END_IF; - ELSE r := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(r)); END_IF; - IF boo THEN INSERT (vlist, ctmv(r), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_acos_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(ACOS(r))); END_IF; - ef_asin_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(ASIN(r))); END_IF; - ef_atan2_r : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (ctmv(atan2(r,s))); - END_IF; - ef_cos_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(COS(r))); END_IF; - ef_exp_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(EXP(r))); END_IF; - ef_ln_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(LOG(r))); END_IF; - ef_log2_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(LOG2(r))); END_IF; - ef_log10_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(LOG10(r))); END_IF; - ef_sin_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(SIN(r))); END_IF; - ef_sqrt_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(SQRT(r))); END_IF; - ef_tan_r : - IF 'REAL' IN TYPEOF (v1) THEN r := v1; RETURN (ctmv(TAN(r))); END_IF; - -- ef_if_r : combined with ef_if - ef_form_c : - IF ('REAL' IN TYPEOF (v1)) AND ('REAL' IN TYPEOF (v2)) THEN - r := v1; s := v2; RETURN (makec(r,s)); - END_IF; - ef_rpart_c : - IF cnlit IN TYPEOF (v1) THEN - RETURN (ctmv(v1\complex_number_literal.real_part)); - END_IF; - ef_ipart_c : - IF cnlit IN TYPEOF (v1) THEN - RETURN (ctmv(v1\complex_number_literal.imag_part)); - END_IF; - ef_negate_c : - IF cnlit IN TYPEOF (v1) THEN parts(v1,p,q); RETURN (makec(-p,-q)); END_IF; - ef_reciprocal_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := p*p + q*q; RETURN (makec(p/t,-q/t)); - END_IF; - ef_add_c : BEGIN - p := 0.0; q := 0.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF cnlit IN TYPEOF (vlist[i]) THEN - parts(vlist[i],r,s); p := p + r; q := q + s; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (makec(p,q)); END_IF; - IF p*p+q*q <> 0.0 THEN INSERT (vlist, makec(p,q), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); RETURN (makec(p-r,q-s)); - END_IF; - ef_multiply_c : BEGIN - p := 1.0; q := 0.0; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF cnlit IN TYPEOF (vlist[i]) THEN - parts(vlist[i],r,s); p := p*r-q*s; q := p*s+q*r; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (makec(p,q)); END_IF; - IF (p <> 1.0) OR (q <> 0.0) THEN INSERT (vlist, makec(p,q), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_divide_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); t := r*r+s*s; - RETURN (makec((p*r+q*s)/t,(q*r-p*s)/t)); - END_IF; - ef_exponentiate_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); t := 0.5*LOG(p*p+q*q); u := atan2(q,p); - p := r*t-s*u; q := r*u+s*t; r := EXP(p); - RETURN (makec(r*COS(q),r*SIN(q))); - END_IF; - ef_exponentiate_ci : - IF (cnlit IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - parts(v1,p,q); k := v2; r := 1.0; s := 0.0; - REPEAT i := 1 TO ABS(k); r := p*r-q*s; s := p*s+q*r; END_REPEAT; - IF k < 0 THEN t := r*r+s*s; r := r/t; s := -s/t; END_IF; - RETURN (makec(r,s)); - END_IF; - ef_eq_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); RETURN (ctmv((p = r) AND (q = s))); - END_IF; - ef_ne_c : - IF (cnlit IN TYPEOF (v1)) AND (cnlit IN TYPEOF (v2)) THEN - parts(v1,p,q); parts(v2,r,s); RETURN (ctmv((p <> r) OR (q <> s))); - END_IF; - ef_conjugate_c : - IF cnlit IN TYPEOF (v1) THEN parts(v1,p,q); RETURN (makec(p,-q)); END_IF; - ef_abs_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (ctmv(SQRT(p*p+q*q))); - END_IF; - ef_arg_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (ctmv(atan2(q,p))); - END_IF; - ef_cos_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := 0.5*EXP(-q); u := 0.5*EXP(q); - RETURN (makec((t+u)*COS(p),(t-u)*SIN(p))); - END_IF; - ef_exp_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (makec(EXP(p)*COS(q),EXP(p)*SIN(q))); - END_IF; - ef_ln_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); RETURN (makec(0.5*LOG(p*p+q*q),atan2(q,p))); - END_IF; - ef_sin_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := 0.5*EXP(-q); u := 0.5*EXP(q); - RETURN (makec((t+u)*SIN(p),(u-t)*COS(p))); - END_IF; - ef_sqrt_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := SQRT(SQRT(p*p+q*q)); u := 0.5*atan2(q,p); - RETURN (makec(t*COS(u),t*SIN(u))); - END_IF; - ef_tan_c : - IF cnlit IN TYPEOF (v1) THEN - parts(v1,p,q); t := EXP(2.0*q) + EXP(-2.0*q) + 2.0*COS(2.0*p); - RETURN (makec(2.0*SIN(2.0*p)/t,(EXP(-2.0*q)-EXP(2.0*q))/t)); - END_IF; - -- ef_if_c : combined with ef_if - ef_subscript_s : - IF ('STRING' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - str := v1; k := v2; RETURN (ctmv(str[k])); - END_IF; - ef_eq_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str = st2)); - END_IF; - ef_ne_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str <> st2)); - END_IF; - ef_gt_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str > st2)); - END_IF; - ef_lt_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str < st2)); - END_IF; - ef_ge_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str >= st2)); - END_IF; - ef_le_s : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - str := v1; st2 := v2; RETURN (ctmv(str <= st2)); - END_IF; - ef_subsequence_s : - IF ('STRING' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) AND - ('INTEGER' IN TYPEOF (v3)) THEN - str := v1; j := v2; k := v3; RETURN (ctmv(str[j:k])); - END_IF; - ef_concat_s : BEGIN - str := ''; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'STRING' IN TYPEOF (vlist[i]) THEN - st2 := vlist[i]; str := str + st2; - REMOVE (vlist, i); - ELSE IF str <> '' THEN - INSERT (vlist, ctmv(str), i); - str := ''; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(str)); END_IF; - IF str <> '' THEN INSERT (vlist, ctmv(str), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_size_s : - IF 'STRING' IN TYPEOF (v1) THEN str:=v1; RETURN (ctmv(LENGTH(str))); END_IF; - ef_format : - IF ('NUMBER' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - RETURN (ctmv(FORMAT(v1,v2))); - END_IF; - ef_value : - IF 'STRING' IN TYPEOF (v1) THEN str:=v1; RETURN (ctmv(VALUE(str))); END_IF; - ef_like : - IF ('STRING' IN TYPEOF (v1)) AND ('STRING' IN TYPEOF (v2)) THEN - RETURN (ctmv(v1 LIKE v2)); - END_IF; - -- ef_if_s : combined with ef_if - ef_subscript_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - bin := v1; k := v2; RETURN (ctmv(bin[k])); - END_IF; - ef_eq_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin = bi2)); - END_IF; - ef_ne_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin <> bi2)); - END_IF; - ef_gt_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin > bi2)); - END_IF; - ef_lt_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin < bi2)); - END_IF; - ef_ge_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin >= bi2)); - END_IF; - ef_le_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('BINARY' IN TYPEOF (v2)) THEN - bin := v1; bi2 := v2; RETURN (ctmv(bin <= bi2)); - END_IF; - ef_subsequence_b : - IF ('BINARY' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) AND - ('INTEGER' IN TYPEOF (v3)) THEN - bin := v1; j := v2; k := v3; RETURN (ctmv(bin[j:k])); - END_IF; - ef_concat_b : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'BINARY' IN TYPEOF (vlist[i]) THEN - IF boo THEN bi2 := vlist[i]; bin := bin + bi2; - ELSE bin := vlist[i]; boo := TRUE; END_IF; - REMOVE (vlist, i); - ELSE IF boo THEN - INSERT (vlist, ctmv(bin), i); - boo := FALSE; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(bin)); END_IF; - IF boo THEN INSERT (vlist, ctmv(bin), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_size_b : - IF 'BINARY' IN TYPEOF (v1) THEN bin:=v1; RETURN (ctmv(BLENGTH(bin))); END_IF; - -- ef_if_b : combined with ef_if - ef_subscript_t : - IF ('LIST' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - tpl := v1; k := v2; RETURN (ctmv(tpl[k])); - END_IF; - ef_eq_t : - IF ('LIST' IN TYPEOF (v1)) AND ('LIST' IN TYPEOF (v2)) THEN - lgc := equal_maths_values(v1,v2); - IF lgc <> UNKNOWN THEN RETURN (ctmv(lgc)); END_IF; - END_IF; - ef_ne_t : - IF ('LIST' IN TYPEOF (v1)) AND ('LIST' IN TYPEOF (v2)) THEN - lgc := equal_maths_values(v1,v2); - IF lgc <> UNKNOWN THEN RETURN (ctmv(NOT lgc)); END_IF; - END_IF; - ef_concat_t : BEGIN - tpl := []; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF 'STRING' IN TYPEOF (vlist[i]) THEN - tp2 := vlist[i]; tpl := tpl + tp2; - REMOVE (vlist, i); - ELSE IF SIZEOF (tpl) <> 0 THEN - INSERT (vlist, ctmv(tpl), i); - tpl := []; - END_IF; END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF SIZEOF (tpl) <> 0 THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_size_t : - IF 'LIST' IN TYPEOF (v1) THEN tpl:=v1; RETURN (ctmv(SIZEOF(tpl))); END_IF; - ef_entuple : - RETURN (ctmv(vlist)); - ef_detuple : -- This can have multiple outputs, but the expression only - -- denotes the first. - IF 'LIST' IN TYPEOF (v1) THEN tpl:=v1; RETURN (ctmv(tpl[1])); END_IF; - ef_insert : - IF ('LIST' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v3)) THEN - tpl := v1; k := v3; INSERT (tpl, v2, k); RETURN (ctmv(tpl)); - END_IF; - ef_remove : - IF ('LIST' IN TYPEOF (v1)) AND ('INTEGER' IN TYPEOF (v2)) THEN - tpl := v1; k := v2; REMOVE (tpl, k); RETURN (ctmv(tpl)); - END_IF; - -- ef_if_t : combined with ef_if - ef_sum_it : - IF good_t(v1,'INTEGER') THEN - tpl := v1; j := 0; - REPEAT i := 1 TO SIZEOF (tpl); j := j + tpl[i]; END_REPEAT; - RETURN (ctmv(j)); - END_IF; - ef_product_it : - IF good_t(v1,'INTEGER') THEN - tpl := v1; j := 1; - REPEAT i := 1 TO SIZEOF (tpl); j := j * tpl[i]; END_REPEAT; - RETURN (ctmv(j)); - END_IF; - ef_add_it : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF good_t(vlist[i],'INTEGER') THEN - IF NOT boo THEN tpl := vlist[i]; boo := TRUE; - ELSE - tp2 := vlist[i]; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT l := 1 TO SIZEOF (tpl); tpl[j] := tpl[j] + tp2[j]; END_REPEAT; - END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF boo THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_it : - IF good_t(v1,'INTEGER') AND good_t(v2,'INTEGER') THEN - tpl := v1; tp2 := v2; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := tpl[i] - tp2[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_scalar_mult_it : - IF ('INTEGER' IN TYPEOF (v1)) AND good_t(v2,'INTEGER') THEN - j := v1; tpl := v2; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := j * tpl[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_dot_prod_it : - IF good_t(v1,'INTEGER') AND good_t(v2,'INTEGER') THEN - tpl := v1; tp2 := v2; j := 0; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); j := j + tpl[i] * tp2[i]; END_REPEAT; - RETURN (ctmv(j)); - END_IF; - ef_sum_rt : - IF good_t(v1,'REAL') THEN - tpl := v1; r := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); r := r + tpl[i]; END_REPEAT; - RETURN (ctmv(r)); - END_IF; - ef_product_rt : - IF good_t(v1,'REAL') THEN - tpl := v1; r := 1.0; - REPEAT i := 1 TO SIZEOF (tpl); r := r * tpl[i]; END_REPEAT; - RETURN (ctmv(r)); - END_IF; - ef_add_rt : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF good_t(vlist[i],'REAL') THEN - IF NOT boo THEN tpl := vlist[i]; boo := TRUE; - ELSE - tp2 := vlist[i]; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT l := 1 TO SIZEOF (tpl); tpl[j] := tpl[j] + tp2[j]; END_REPEAT; - END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF boo THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_rt : - IF good_t(v1,'REAL') AND good_t(v2,'REAL') THEN - tpl := v1; tp2 := v2; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := tpl[i] - tp2[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_scalar_mult_rt : - IF ('REAL' IN TYPEOF (v1)) AND good_t(v2,'REAL') THEN - r := v1; tpl := v2; - REPEAT i := 1 TO SIZEOF (tpl); tpl[i] := r * tpl[i]; END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_dot_prod_rt : - IF good_t(v1,'REAL') AND good_t(v2,'REAL') THEN - tpl := v1; tp2 := v2; r := 0; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); r := r + tpl[i] * tp2[i]; END_REPEAT; - RETURN (ctmv(r)); - END_IF; - ef_norm_rt : - IF good_t(v1,'REAL') THEN - tpl := v1; r := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); r := r + tpl[i]*tpl[i]; END_REPEAT; - RETURN (ctmv(SQRT(r))); - END_IF; - ef_sum_ct : - IF good_t(v1,cnlit) THEN - tpl := v1; p := 0.0; q := 0.0; - REPEAT i:=1 TO SIZEOF (tpl); parts(tpl[i],r,s); p:=p+r; q:=q+s; END_REPEAT; - RETURN (makec(p,q)); - END_IF; - ef_product_ct : - IF good_t(v1,cnlit) THEN - tpl := v1; p := 1.0; q := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],r,s); p := p*r-q*s; q := p*s+q*r; - END_REPEAT; - RETURN (makec(p,q)); - END_IF; - ef_add_ct : BEGIN - boo := FALSE; - REPEAT i := SIZEOF (vlist) TO 1 BY -1; - IF good_t(vlist[i],cnlit) THEN - IF NOT boo THEN tpl := vlist[i]; boo := TRUE; - ELSE - tp2 := vlist[i]; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT l := 1 TO SIZEOF (tpl); - parts(tpl[j],p,q); parts(tp2[j],r,s); tpl[j] := makec(p+r,q+s); - END_REPEAT; - END_IF; - REMOVE (vlist, i); - END_IF; - END_REPEAT; - IF SIZEOF (vlist) = 0 THEN RETURN (ctmv(tpl)); END_IF; - IF boo THEN INSERT (vlist, ctmv(tpl), 0); END_IF; - IF SIZEOF (vlist) = 1 THEN RETURN (vlist[1]); END_IF; - END; - ef_subtract_ct : - IF good_t(v1,cnlit) AND good_t(v2,cnlit) THEN - tpl := v1; tp2 := v2; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],p,q); parts(tp2[i],r,s); tpl[i] := makec(p-r,q-s); - END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_scalar_mult_ct : - IF (cnlit IN TYPEOF (v1)) AND good_t(v2,cnlit) THEN - parts(v1,p,q); tpl := v2; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],r,s); tpl[i] := makec(p*r-q*s,p*s+q*r); - END_REPEAT; - RETURN (ctmv(tpl)); - END_IF; - ef_dot_prod_ct : - IF good_t(v1,cnlit) AND good_t(v2,cnlit) THEN - tpl := v1; tp2 := v2; t := 0.0; u := 0.0; - IF SIZEOF (tpl) <> SIZEOF (tp2) THEN RETURN (?); END_IF; - REPEAT i := 1 TO SIZEOF (tpl); - parts(tpl[i],p,q); parts(tp2[i],r,s); t := t + p*r+q*s; u := u + q*r-p*s; - END_REPEAT; - RETURN (makec(t,u)); - END_IF; - ef_norm_ct : - IF good_t(v1,cnlit) THEN - tpl := v1; r := 0.0; - REPEAT i := 1 TO SIZEOF (tpl); parts(tpl[i],p,q); r:=r+p*p+q*q; END_REPEAT; - RETURN (ctmv(SQRT(r))); - END_IF; - ef_if, ef_if_i, ef_if_r, ef_if_c, ef_if_s, ef_if_b, ef_if_t : - IF 'LOGICAL' IN TYPEOF (v1) THEN - lgc := v1; IF lgc THEN RETURN (v2); ELSE RETURN (v3); END_IF; - END_IF; - ef_ensemble : -- (mem + vlist) effectively converts list to set - RETURN (make_finite_space(mem + vlist)); - ef_member_of : - IF (schema_prefix + 'MATHS_SPACE') IN TYPEOF (v2) THEN - lgc := member_of(v1,v2); - IF lgc <> UNKNOWN THEN RETURN (ctmv(lgc)); END_IF; - END_IF; - END_CASE; - RETURN (make_function_application(expr.func,vlist)); - END_IF; - IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN types THEN - gexpr := substitute(expr.func\abstracted_expression_function.expr, - expr.func\quantifier_expression.variables,vlist); - RETURN (simplify_generic_expression(gexpr)); - END_IF; - IF 'FINITE_FUNCTION' IN types THEN - pairs := expr.func\finite_function.pairs; - REPEAT i := 1 TO SIZEOF (pairs); - IF equal_maths_values(vlist[1],pairs[i][1]) THEN - RETURN (simplify_maths_value(pairs[i][2])); - END_IF; - END_REPEAT; - RETURN (make_function_application(expr.func,vlist)); - END_IF; - RETURN (expr); -END_FUNCTION; -- simplify_function_application - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_maths_function(func : maths_function_select) : maths_function; - LOCAL - efenum : elementary_function_enumerators; - mthfun : maths_function; - END_LOCAL; - IF (schema_prefix + 'MATHS_FUNCTION') IN TYPEOF (func) THEN - mthfun := func; - ELSE - efenum := func; - mthfun := make_elementary_function (efenum); - END_IF; - RETURN (mthfun); -END_FUNCTION; -- convert_to_maths_function - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_function_domain(func : maths_function) : tuple_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(func); - tspace : tuple_space := make_listed_product_space ([]); - shape : LIST OF positive_integer; - sidxs : LIST OF INTEGER := [0]; - itvl : finite_integer_interval; - factors : LIST OF finite_integer_interval := []; - is_uniform : BOOLEAN := TRUE; - END_LOCAL; - IF 'FINITE_FUNCTION' IN typenames THEN - RETURN (derive_finite_function_domain (func\finite_function.pairs)); - END_IF; - IF 'CONSTANT_FUNCTION' IN typenames THEN - RETURN (domain_from (func\constant_function.source_of_domain)); - END_IF; - IF 'SELECTOR_FUNCTION' IN typenames THEN - RETURN (domain_from (func\selector_function.source_of_domain)); - END_IF; - IF 'ELEMENTARY_FUNCTION' IN typenames THEN - RETURN (derive_elementary_function_domain (func\elementary_function.func_id)); - END_IF; - IF 'RESTRICTION_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (func\restriction_function.operand)); - END_IF; - IF 'REPACKAGING_FUNCTION' IN typenames THEN - IF func\repackaging_function.input_repack = ro_nochange THEN - RETURN (func\repackaging_function.operand.domain); - END_IF; - IF func\repackaging_function.input_repack = ro_wrap_as_tuple THEN - RETURN (factor1 (func\repackaging_function.operand.domain)); - END_IF; - IF func\repackaging_function.input_repack = ro_unwrap_tuple THEN - RETURN (one_tuples_of (func\repackaging_function.operand.domain)); - END_IF; - -- Unreachable, as there is no other possible value for input_repack. - RETURN (?); - END_IF; - IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN - shape := shape_of_array(func\unary_generic_expression.operand); - sidxs := func\reindexed_array_function.starting_indices; - REPEAT i := 1 TO SIZEOF (shape); - itvl := make_finite_integer_interval (sidxs[i], sidxs[i]+shape[i]-1); - INSERT (factors, itvl, i-1); - IF shape[i] <> shape[1] THEN is_uniform := FALSE; END_IF; - END_REPEAT; - IF is_uniform THEN - RETURN (make_uniform_product_space (factors[1], SIZEOF (shape))); - END_IF; - RETURN (make_listed_product_space (factors)); - END_IF; - IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN - RETURN (func\series_composed_function.operands[1].domain); - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN - RETURN (domain_from (func\parallel_composed_function.source_of_domain)); - END_IF; - IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN - shape := func\explicit_table_function.shape; - sidxs[1] := func\explicit_table_function.index_base; - REPEAT i := 1 TO SIZEOF (shape); - itvl := make_finite_integer_interval (sidxs[1], sidxs[1]+shape[i]-1); - INSERT (factors, itvl, i-1); - IF shape[i] <> shape[1] THEN is_uniform := FALSE; END_IF; - END_REPEAT; - IF is_uniform THEN - RETURN (make_uniform_product_space (factors[1], SIZEOF (shape))); - END_IF; - RETURN (make_listed_product_space (factors)); - END_IF; - IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\homogeneous_linear_function.mat.range), - func\homogeneous_linear_function.mat\explicit_table_function.shape - [func\homogeneous_linear_function.sum_index]))); - END_IF; - IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\general_linear_function.mat.range), - func\general_linear_function.mat\explicit_table_function.shape - [func\general_linear_function.sum_index] - 1))); - END_IF; - IF 'B_SPLINE_BASIS' IN typenames THEN - RETURN (one_tuples_of (make_finite_real_interval - (func\b_spline_basis.repeated_knots[func\b_spline_basis.order], closed, - func\b_spline_basis.repeated_knots[func\b_spline_basis.num_basis+1], closed))); - END_IF; - IF 'B_SPLINE_FUNCTION' IN typenames THEN - REPEAT i := 1 TO SIZEOF (func\b_spline_function.basis); - tspace := assoc_product_space (tspace, func\b_spline_function.basis[i].domain); - END_REPEAT; - RETURN (one_tuples_of (tspace)); - END_IF; - IF 'RATIONALIZE_FUNCTION' IN typenames THEN - RETURN (func\rationalize_function.fun.domain); - END_IF; - IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN - RETURN (func\partial_derivative_function.derivand.domain); - END_IF; - IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN - RETURN (derive_definite_integral_domain(func)); - END_IF; - IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN - REPEAT i := 1 TO SIZEOF (func\abstracted_expression_function.variables); - tspace := assoc_product_space (tspace, one_tuples_of (values_space_of - (func\abstracted_expression_function.variables[i]))); - END_REPEAT; - RETURN (tspace); - END_IF; - IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN - RETURN (values_space_of (func\expression_denoted_function.expr)\function_space. - domain_argument); - END_IF; - IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_listed_product_space ([]))); - END_IF; - IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN - RETURN (func\imported_curve_function.parametric_domain); - END_IF; - IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN - RETURN (func\imported_surface_function.parametric_domain); - END_IF; - IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN - RETURN (func\imported_volume_function.parametric_domain); - END_IF; - IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN - RETURN (func\application_defined_function.explicit_domain); - END_IF; - -- Unreachable, as no other subtypes of maths_function are permissible without - -- first modifying this function to account for them. - RETURN (?); -END_FUNCTION; -- derive_function_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_finite_function_domain(pairs : SET [1:?] OF LIST [2:2] OF maths_value) - : tuple_space; - LOCAL - result : SET OF maths_value := []; - END_LOCAL; --- An ambiguity in ISO 10303-11:1994 pages 99-101 leaves the result of the following --- three lines ambiguous in those cases where an operand is simultaneously a member --- of the base type and the aggregate type. --- REPEAT i := 1 TO SIZEOF (pairs); --- result := result + pairs[i][1]; --- END_REPEAT; --- The next line unions an empty set and the desired list to get the desired set. - result := result + list_selected_components (pairs, 1); - RETURN (one_tuples_of (make_finite_space (result))); -END_FUNCTION; -- derive_finite_function_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION list_selected_components(aggr : AGGREGATE OF LIST OF maths_value; - k : positive_integer) : LIST OF maths_value; - LOCAL - result : LIST OF maths_value := []; - j : INTEGER := 0; - END_LOCAL; - REPEAT i := LOINDEX (aggr) TO HIINDEX (aggr); - IF k <= SIZEOF (aggr[i]) THEN - INSERT (result, aggr[i][k], j); - j := j + 1; - END_IF; - END_REPEAT; - RETURN (result); -END_FUNCTION; -- list_selected_components - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION one_tuples_of(spc : maths_space) : tuple_space; - RETURN (make_uniform_product_space (spc, 1)); -END_FUNCTION; -- one_tuples_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION domain_from(ref : maths_space_or_function) : tuple_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(ref); - func : maths_function; - END_LOCAL; - IF NOT EXISTS (ref) THEN RETURN (?); END_IF; - IF 'TUPLE_SPACE' IN typenames THEN RETURN (ref); END_IF; - IF 'MATHS_SPACE' IN typenames THEN RETURN (one_tuples_of (ref)); END_IF; - func := ref; - IF 'CONSTANT_FUNCTION' IN typenames THEN - RETURN (domain_from (func\constant_function.source_of_domain)); - END_IF; - IF 'SELECTOR_FUNCTION' IN typenames THEN - RETURN (domain_from (func\selector_function.source_of_domain)); - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN - RETURN (domain_from (func\parallel_composed_function.source_of_domain)); - END_IF; - RETURN (func.domain); -END_FUNCTION; -- domain_from - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION no_cyclic_domain_reference(ref : maths_space_or_function; - used : SET OF maths_function) : BOOLEAN; - LOCAL - typenames : SET OF STRING := TYPEOF (ref); - func : maths_function; - END_LOCAL; - IF (NOT EXISTS (ref)) OR (NOT EXISTS (used)) THEN - RETURN (FALSE); - END_IF; - IF (schema_prefix + 'MATHS_SPACE') IN typenames THEN - RETURN (TRUE); - END_IF; - func := ref; - IF func IN used THEN - RETURN (FALSE); - END_IF; - IF (schema_prefix + 'CONSTANT_FUNCTION') IN typenames THEN - RETURN (no_cyclic_domain_reference (func\constant_function.source_of_domain, - used + [func])); - END_IF; - IF (schema_prefix + 'SELECTOR_FUNCTION') IN typenames THEN - RETURN (no_cyclic_domain_reference (func\selector_function.source_of_domain, - used + [func])); - END_IF; - IF (schema_prefix + 'PARALLEL_COMPOSED_FUNCTION') IN typenames THEN - RETURN (no_cyclic_domain_reference ( - func\parallel_composed_function.source_of_domain, used + [func])); - END_IF; - RETURN (TRUE); -END_FUNCTION; -- no_cyclic_domain_reference - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_operands_prcmfn(srcdom : maths_space_or_function; - prepfun : LIST OF maths_function; - finfun : maths_function_select) - : LIST [2:?] OF generic_expression; - LOCAL - operands : LIST OF generic_expression := []; - END_LOCAL; - INSERT (operands, srcdom, 0); - REPEAT i := 1 TO SIZEOF (prepfun); - INSERT (operands, prepfun[i], i); - END_REPEAT; - INSERT (operands, convert_to_maths_function (finfun), SIZEOF (prepfun)+1); - RETURN (operands); -END_FUNCTION; -- convert_to_operands_prcmfn - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION parallel_composed_function_domain_check( - comdom : tuple_space; - funcs : LIST OF maths_function) : BOOLEAN; - REPEAT i := 1 TO SIZEOF (funcs); - IF NOT (compatible_spaces (comdom, funcs[i].domain)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- parallel_composed_function_domain_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION parallel_composed_function_composability_check( - funcs : LIST OF maths_function; - final : maths_function_select) : BOOLEAN; - LOCAL - tplsp : tuple_space := the_zero_tuple_space; - finfun : maths_function := convert_to_maths_function (final); - END_LOCAL; - REPEAT i := 1 TO SIZEOF (funcs); - tplsp := assoc_product_space (tplsp, funcs[i].range); - END_REPEAT; - RETURN (compatible_spaces (tplsp, finfun.domain)); -END_FUNCTION; -- parallel_composed_function_composability_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION assoc_product_space(ts1, ts2 : tuple_space) : tuple_space; - LOCAL - types1 : SET OF STRING := stripped_typeof (ts1); - types2 : SET OF STRING := stripped_typeof (ts2); - up1, up2 : uniform_product_space := make_uniform_product_space(the_reals,1); - lp1, lp2, lps : listed_product_space := the_zero_tuple_space; - et1, et2, ets : extended_tuple_space := the_tuples; - use_up1, use_up2, use_lp1, use_lp2 : BOOLEAN; - factors : LIST OF maths_space := []; - tspace : tuple_space; - END_LOCAL; - -- Identify type of first operand - IF 'UNIFORM_PRODUCT_SPACE' IN types1 THEN - up1 := ts1; use_up1 := true; use_lp1 := false; - ELSE - IF 'LISTED_PRODUCT_SPACE' IN types1 THEN - lp1 := ts1; use_up1 := false; use_lp1 := true; - ELSE - IF NOT ('EXTENDED_TUPLE_SPACE' IN types1) THEN - -- Unreachable when this function was written. - RETURN (?); - END_IF; - et1 := ts1; use_up1 := false; use_lp1 := false; - END_IF; - END_IF; - -- Identify type of second operand - IF 'UNIFORM_PRODUCT_SPACE' IN types2 THEN - up2 := ts2; use_up2 := true; use_lp2 := false; - ELSE - IF 'LISTED_PRODUCT_SPACE' IN types2 THEN - lp2 := ts2; use_up2 := false; use_lp2 := true; - ELSE - IF NOT ('EXTENDED_TUPLE_SPACE' IN types2) THEN - -- Unreachable when this function was written. - RETURN (?); - END_IF; - et2 := ts2; use_up2 := false; use_lp2 := false; - END_IF; - END_IF; - -- Construction for each combination of cases - IF use_up1 THEN - IF use_up2 THEN - IF up1.base = up2.base THEN - tspace := make_uniform_product_space(up1.base, up1.exponent + up2.exponent); - ELSE - factors := [up1.base : up1.exponent, up2.base : up2.exponent]; - tspace := make_listed_product_space(factors); - END_IF; - ELSE - IF use_lp2 THEN - -- Avoid compiler confusion by breaking into two lines. - factors := [up1.base : up1.exponent]; - factors := factors + lp2.factors; - tspace := make_listed_product_space(factors); - ELSE - tspace := assoc_product_space(up1, et2.base); - tspace := make_extended_tuple_space(tspace, et2.extender); - END_IF; - END_IF; - ELSE - IF use_lp1 THEN - IF use_up2 THEN - -- Avoid compiler confusion by breaking into two lines. - factors := [up2.base : up2.exponent]; - factors := lp1.factors + factors; - tspace := make_listed_product_space(factors); - ELSE - IF use_lp2 THEN - tspace := make_listed_product_space(lp1.factors + lp2.factors); - ELSE - tspace := assoc_product_space(lp1, et2.base); - tspace := make_extended_tuple_space(tspace, et2.extender); - END_IF; - END_IF; - ELSE - IF use_up2 THEN - IF et1.extender = up2.base THEN - tspace := assoc_product_space(et1.base, up2); - tspace := make_extended_tuple_space(tspace, et1.extender); - ELSE - -- No subtype is available to represent this cartesian product. - RETURN (?); - END_IF; - ELSE - IF use_lp2 THEN - factors := lp2.factors; - REPEAT i := 1 TO SIZEOF (factors); - IF et1.extender <> factors[i] THEN - -- No subtype available to represent this cartesian product. - RETURN (?); - END_IF; - END_REPEAT; - tspace := assoc_product_space(et1.base, lp2); - tspace := make_extended_tuple_space(tspace, et1.extender); - ELSE - IF et1.extender = et2.extender THEN - -- Next line may assign indeterminate (?) to tspace. - tspace := assoc_product_space(et1, et2.base); - ELSE - -- No subtype available to represent this cartesian product. - RETURN (?); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (tspace); -END_FUNCTION; -- assoc_product_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_elementary_space(space_id : elementary_space_enumerators) - : elementary_space; - RETURN (elementary_space (space_id) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_elementary_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_elementary_function_domain(ef_val : elementary_function_enumerators) - : tuple_space; - IF NOT EXISTS (ef_val) THEN RETURN (?); END_IF; - CASE ef_val OF - ef_and : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_logicals)); - ef_or : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_logicals)); - ef_not : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_xor : RETURN (make_uniform_product_space (the_logicals, 2)); - ef_negate_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_add_i : RETURN (the_integer_tuples); - ef_subtract_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_multiply_i : RETURN (the_integer_tuples); - ef_divide_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_mod_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_exponentiate_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_eq_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_ne_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_gt_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_lt_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_ge_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_le_i : RETURN (make_uniform_product_space (the_integers, 2)); - ef_abs_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_if_i : RETURN (make_listed_product_space ([the_logicals, the_integers, - the_integers])); - ef_negate_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_reciprocal_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_add_r : RETURN (the_real_tuples); - ef_subtract_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_multiply_r : RETURN (the_real_tuples); - ef_divide_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_mod_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_exponentiate_r : RETURN (make_listed_product_space ([the_nonnegative_reals, - the_reals])); - ef_exponentiate_ri : RETURN (make_listed_product_space ([the_reals, the_integers])); - ef_eq_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_ne_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_gt_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_lt_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_ge_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_le_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_abs_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_acos_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_asin_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_atan2_r : RETURN (make_uniform_product_space (the_reals, 2)); - ef_cos_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_exp_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_ln_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_log2_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_log10_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_sin_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_sqrt_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_tan_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_if_r : RETURN (make_listed_product_space ([the_logicals, the_reals, the_reals])); - ef_negate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_reciprocal_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_add_c : RETURN (the_complex_tuples); - ef_subtract_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_multiply_c : RETURN (the_complex_tuples); - ef_divide_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_exponentiate_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_exponentiate_ci : RETURN (make_listed_product_space ([the_complex_numbers, - the_integers])); - ef_eq_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_ne_c : RETURN (make_uniform_product_space (the_complex_numbers, 2)); - ef_conjugate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_abs_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_arg_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_cos_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exp_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_ln_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sin_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sqrt_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_tan_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_if_c : RETURN (make_listed_product_space ([the_logicals, the_complex_numbers, - the_complex_numbers])); - ef_subscript_s : RETURN (make_listed_product_space ([the_strings, the_integers])); - ef_eq_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_ne_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_gt_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_lt_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_ge_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_le_s : RETURN (make_uniform_product_space (the_strings, 2)); - ef_subsequence_s : RETURN (make_listed_product_space ([the_strings, the_integers, - the_integers])); - ef_concat_s : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_strings)); - ef_size_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_format : RETURN (make_listed_product_space ([the_numbers, the_strings])); - ef_value : RETURN (make_uniform_product_space (the_strings, 1)); - ef_like : RETURN (make_uniform_product_space (the_strings, 2)); - ef_if_s : RETURN (make_listed_product_space ([the_logicals, the_strings, - the_strings])); - ef_subscript_b : RETURN (make_listed_product_space ([the_binarys, the_integers])); - ef_eq_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_ne_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_gt_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_lt_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_ge_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_le_b : RETURN (make_uniform_product_space (the_binarys, 2)); - ef_subsequence_b : RETURN (make_listed_product_space ([the_binarys, the_integers, - the_integers])); - ef_concat_b : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_binarys)); - ef_size_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_if_b : RETURN (make_listed_product_space ([the_logicals, the_binarys, - the_binarys])); - ef_subscript_t : RETURN (make_listed_product_space ([the_tuples, the_integers])); - ef_eq_t : RETURN (make_uniform_product_space (the_tuples, 2)); - ef_ne_t : RETURN (make_uniform_product_space (the_tuples, 2)); - ef_concat_t : RETURN (make_extended_tuple_space (the_zero_tuple_space, the_tuples)); - ef_size_t : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_entuple : RETURN (the_tuples); - ef_detuple : RETURN (make_uniform_product_space (the_generics, 1)); - ef_insert : RETURN (make_listed_product_space ([the_tuples, the_generics, - the_integers])); - ef_remove : RETURN (make_listed_product_space ([the_tuples, the_integers])); - ef_if_t : RETURN (make_listed_product_space ([the_logicals, the_tuples, - the_tuples])); - ef_sum_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_product_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_add_it : RETURN (make_extended_tuple_space (the_integer_tuples, - the_integer_tuples)); - ef_subtract_it : RETURN (make_uniform_product_space (the_integer_tuples, 2)); - ef_scalar_mult_it : RETURN (make_listed_product_space ([the_integers, - the_integer_tuples])); - ef_dot_prod_it : RETURN (make_uniform_product_space (the_integer_tuples, 2)); - ef_sum_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_product_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_add_rt : RETURN (make_extended_tuple_space (the_real_tuples, the_real_tuples)); - ef_subtract_rt : RETURN (make_uniform_product_space (the_real_tuples, 2)); - ef_scalar_mult_rt : RETURN (make_listed_product_space ([the_reals, - the_real_tuples])); - ef_dot_prod_rt : RETURN (make_uniform_product_space (the_real_tuples, 2)); - ef_norm_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_sum_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_product_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_add_ct : RETURN (make_extended_tuple_space (the_complex_tuples, - the_complex_tuples)); - ef_subtract_ct : RETURN (make_uniform_product_space (the_complex_tuples, 2)); - ef_scalar_mult_ct : RETURN (make_listed_product_space ([the_complex_numbers, - the_complex_tuples])); - ef_dot_prod_ct : RETURN (make_uniform_product_space (the_complex_tuples, 2)); - ef_norm_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_if : RETURN (make_listed_product_space ([the_logicals, the_generics, - the_generics])); - ef_ensemble : RETURN (the_tuples); - ef_member_of : RETURN (make_listed_product_space ([the_generics, the_maths_spaces])); - OTHERWISE : RETURN (?); - END_CASE; -END_FUNCTION; -- derive_elementary_function_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_real_interval_from_min(min : REAL; - minclo : open_closed) : real_interval_from_min; - RETURN (real_interval_from_min (min, minclo) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_real_interval_from_min - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_finite_real_interval(min : REAL; - minclo : open_closed; - max : REAL; - maxclo : open_closed) : finite_real_interval; - RETURN (finite_real_interval (min, minclo, max, maxclo) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_finite_real_interval - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION space_dimension(tspace : tuple_space) : nonnegative_integer; - LOCAL - types : SET OF STRING := TYPEOF (tspace); - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN types THEN - RETURN (tspace\uniform_product_space.exponent); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN types THEN - RETURN (SIZEOF (tspace\listed_product_space.factors)); - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN types THEN - -- In the case of an extended_tuple_space, the minimum dimension is returned. - RETURN (space_dimension (tspace\extended_tuple_space.base)); - END_IF; - -- Should be unreachable - RETURN (?); -END_FUNCTION; -- space_dimension - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION factor1(tspace : tuple_space) : maths_space; - LOCAL - typenames : SET OF STRING := TYPEOF (tspace); - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN typenames THEN - RETURN (tspace\uniform_product_space.base); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN typenames THEN - RETURN (tspace\listed_product_space.factors[1]); - -- This path could return the indeterminate value if the list is empty. - -- This is the correct result for this case. - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN typenames THEN - RETURN (factor1 (tspace\extended_tuple_space.base)); - END_IF; - -- Should not be reachable. - RETURN (?); -END_FUNCTION; -- factor1 - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION repackage(tspace : tuple_space; - repckg : repackage_options) : tuple_space; - CASE repckg OF - ro_nochange : RETURN (tspace); - ro_wrap_as_tuple : RETURN (one_tuples_of (tspace)); - ro_unwrap_tuple : RETURN (factor1 (tspace)); - OTHERWISE : RETURN (?); - END_CASE; -END_FUNCTION; -- repackage - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION shape_of_array(func : maths_function) : LIST OF positive_integer; - LOCAL - tspace : tuple_space; - temp : maths_space; - result : LIST OF positive_integer := []; - END_LOCAL; - IF (schema_prefix + 'EXPLICIT_TABLE_FUNCTION') IN TYPEOF (func) THEN - RETURN (func\explicit_table_function.shape); - END_IF; - tspace := func.domain; - IF (space_dimension (tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (tspace))) THEN - tspace := factor1 (tspace); - END_IF; - REPEAT i := 1 TO space_dimension (tspace); - temp := factor_space (tspace, i); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (?); - END_IF; - INSERT (result, temp\finite_integer_interval.size, i-1); - END_REPEAT; - RETURN (result); -END_FUNCTION; -- shape_of_array - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION factor_space(tspace : tuple_space; - idx : positive_integer) : maths_space; - LOCAL - typenames : SET OF STRING := TYPEOF (tspace); - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN typenames THEN - IF idx <= tspace\uniform_product_space.exponent THEN - RETURN (tspace\uniform_product_space.base); - END_IF; - RETURN (?); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN typenames THEN - IF idx <= SIZEOF (tspace\listed_product_space.factors) THEN - RETURN (tspace\listed_product_space.factors[idx]); - END_IF; - RETURN (?); - END_IF; - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN typenames THEN - IF idx <= space_dimension (tspace\extended_tuple_space.base) THEN - RETURN (factor_space (tspace\extended_tuple_space.base, idx)); - END_IF; - RETURN (tspace\extended_tuple_space.extender); - END_IF; - -- Should not be reachable. - RETURN (?); -END_FUNCTION; -- factor_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_array(func : maths_function) : BOOLEAN; - LOCAL - tspace : tuple_space; - temp : maths_space; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - tspace := func.domain; - IF (space_dimension (tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (tspace))) THEN - tspace := factor1 (tspace); - END_IF; - IF NOT ((schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (tspace)) THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO space_dimension (tspace); - temp := factor_space (tspace, i); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- function_is_array - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION composable_sequence(operands : LIST [2:?] OF maths_function) : BOOLEAN; - REPEAT i := 1 TO SIZEOF (operands) - 1; - IF NOT compatible_spaces (operands[i].range, operands[i+1].domain) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- composable_sequence - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_2d_table(func : maths_function) : BOOLEAN; - LOCAL - temp : maths_space; - pspace : product_space; - itvl1, itvl2 : finite_integer_interval; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - IF space_dimension (func.domain) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (func.domain); - IF NOT ('PRODUCT_SPACE' IN stripped_typeof(temp)) THEN RETURN (FALSE); END_IF; - pspace := temp; - IF space_dimension (pspace) <> 2 THEN RETURN (FALSE); END_IF; - temp := factor1 (pspace); - IF NOT ('FINITE_INTEGER_INTERVAL' IN stripped_typeof(temp)) THEN - RETURN (FALSE); - END_IF; - itvl1 := temp; - temp := factor_space (pspace, 2); - IF NOT ('FINITE_INTEGER_INTERVAL' IN stripped_typeof(temp)) THEN - RETURN (FALSE); - END_IF; - itvl2 := temp; - RETURN (bool((itvl1.min = itvl2.min) AND ((itvl1.min = 0) OR (itvl1.min = 1)))); -END_FUNCTION; -- function_is_2d_table - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION subspace_of_es(spc : maths_space; - es : elementary_space_enumerators) : LOGICAL; - LOCAL - types : SET OF STRING := stripped_typeof(spc); - END_LOCAL; - IF NOT EXISTS (spc) OR NOT EXISTS (es) THEN RETURN (FALSE); END_IF; - IF 'ELEMENTARY_SPACE' IN types THEN - RETURN (es_subspace_of_es(spc\elementary_space.space_id,es)); - END_IF; - IF 'FINITE_SPACE' IN types THEN - RETURN (all_members_of_es(spc\finite_space.members,es)); - END_IF; - CASE es OF - es_numbers : RETURN ( - ('FINITE_INTEGER_INTERVAL' IN types) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types) OR - ('INTEGER_INTERVAL_TO_MAX' IN types) OR - ('FINITE_REAL_INTERVAL' IN types) OR - ('REAL_INTERVAL_FROM_MIN' IN types) OR - ('REAL_INTERVAL_TO_MAX' IN types) OR - ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types) ); - es_complex_numbers : RETURN ( - ('CARTESIAN_COMPLEX_NUMBER_REGION' IN types) OR - ('POLAR_COMPLEX_NUMBER_REGION' IN types) ); - es_reals : RETURN ( - ('FINITE_REAL_INTERVAL' IN types) OR - ('REAL_INTERVAL_FROM_MIN' IN types) OR - ('REAL_INTERVAL_TO_MAX' IN types) ); - es_integers : RETURN ( - ('FINITE_INTEGER_INTERVAL' IN types) OR - ('INTEGER_INTERVAL_FROM_MIN' IN types) OR - ('INTEGER_INTERVAL_TO_MAX' IN types) ); - es_logicals : RETURN (FALSE); - es_booleans : RETURN (FALSE); - es_strings : RETURN (FALSE); - es_binarys : RETURN (FALSE); - es_maths_spaces : RETURN (FALSE); - es_maths_functions : RETURN ('FUNCTION_SPACE' IN types); - es_generics : RETURN (TRUE); - END_CASE; - RETURN (UNKNOWN); -END_FUNCTION; -- subspace_of_es - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION es_subspace_of_es(es1, es2 : elementary_space_enumerators) : BOOLEAN; - IF NOT EXISTS (es1) OR NOT EXISTS (es2) THEN RETURN (FALSE); END_IF; - IF es1 = es2 THEN RETURN (TRUE); END_IF; - IF es2 = es_generics THEN RETURN (TRUE); END_IF; - IF (es1 = es_booleans) AND (es2 = es_logicals) THEN RETURN (TRUE); END_IF; - IF (es2 = es_numbers) AND ((es1 = es_complex_numbers) OR (es1 = es_reals) OR - (es1 = es_integers)) THEN RETURN (TRUE); END_IF; - RETURN (FALSE); -END_FUNCTION; -- es_subspace_of_es - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION all_members_of_es(sv : SET OF maths_value; - es : elementary_space_enumerators) : LOGICAL; - CONSTANT - base_types : SET OF STRING := ['NUMBER','COMPLEX_NUMBER_LITERAL','REAL', - 'INTEGER','LOGICAL','BOOLEAN','STRING','BINARY','MATHS_SPACE', - 'MATHS_FUNCTION','LIST','ELEMENTARY_SPACE_ENUMERATORS','ORDERING_TYPE', - 'LOWER_UPPER','SYMMETRY_TYPE','ELEMENTARY_FUNCTION_ENUMERATORS', - 'OPEN_CLOSED','SPACE_CONSTRAINT_TYPE','REPACKAGE_OPTIONS', - 'EXTENSION_OPTIONS']; - END_CONSTANT; - LOCAL - v : maths_value; - key_type : STRING := ''; - types : SET OF STRING; - ge : generic_expression; - cum : LOGICAL := TRUE; - vspc : maths_space; - END_LOCAL; - IF NOT EXISTS (sv) OR NOT EXISTS (es) THEN RETURN (FALSE); END_IF; - CASE es OF - es_numbers : key_type := 'NUMBER'; - es_complex_numbers : key_type := 'COMPLEX_NUMBER_LITERAL'; - es_reals : key_type := 'REAL'; - es_integers : key_type := 'INTEGER'; - es_logicals : key_type := 'LOGICAL'; - es_booleans : key_type := 'BOOLEAN'; - es_strings : key_type := 'STRING'; - es_binarys : key_type := 'BINARY'; - es_maths_spaces : key_type := 'MATHS_SPACE'; - es_maths_functions : key_type := 'MATHS_FUNCTION'; - es_generics : RETURN (TRUE); - END_CASE; - REPEAT i := 1 TO SIZEOF (sv); - IF NOT EXISTS (sv[i]) THEN RETURN (FALSE); END_IF; - v := simplify_maths_value(sv[i]); - types := stripped_typeof(v); - IF key_type IN types THEN SKIP; END_IF; - IF (es = es_numbers) AND ('COMPLEX_NUMBER_LITERAL' IN types) THEN SKIP; END_IF; - IF SIZEOF (base_types * types) > 0 THEN RETURN (FALSE); END_IF; - -- Must be a generic_expression which doesn't simplify and which is not a - ge := v; - IF has_values_space(ge) THEN - vspc := values_space_of(ge); - IF NOT subspace_of_es(vspc,es) THEN - IF NOT compatible_spaces(vspc,make_elementary_space(es)) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END_IF; - ELSE - cum := UNKNOWN; - END_IF; - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION values_space_of(expr : generic_expression) : maths_space; - LOCAL - e_prefix : STRING := 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'; - typenames : SET OF STRING := TYPEOF (expr); - END_LOCAL; - IF (schema_prefix + 'MATHS_VARIABLE') IN typenames THEN - RETURN (expr\maths_variable.values_space); - END_IF; - IF (e_prefix + 'EXPRESSION') IN typenames THEN - IF (e_prefix + 'NUMERIC_EXPRESSION') IN typenames THEN - IF expr\numeric_expression.is_int THEN - IF (e_prefix + 'INT_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\int_literal.the_value])); - ELSE - RETURN (the_integers); - END_IF; - ELSE - IF (e_prefix + 'REAL_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\real_literal.the_value])); - ELSE - RETURN (the_reals); - END_IF; - END_IF; - END_IF; - IF (e_prefix + 'BOOLEAN_EXPRESSION') IN typenames THEN - IF (e_prefix + 'BOOLEAN_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\boolean_literal.the_value])); - ELSE - RETURN (the_booleans); - END_IF; - END_IF; - IF (e_prefix + 'STRING_EXPRESSION') IN typenames THEN - IF (e_prefix + 'STRING_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\string_literal.the_value])); - ELSE - RETURN (the_strings); - END_IF; - END_IF; - RETURN (?); - END_IF; - IF (schema_prefix + 'MATHS_FUNCTION') IN typenames THEN - IF expression_is_constant (expr) THEN - RETURN (make_finite_space ([expr])); - ELSE - RETURN (make_function_space (sc_equal, expr\maths_function.domain, - sc_equal, expr\maths_function.range)); - END_IF; - END_IF; - IF (schema_prefix + 'FUNCTION_APPLICATION') IN typenames THEN - RETURN (expr\function_application.func.range); - END_IF; - IF (schema_prefix + 'MATHS_SPACE') IN typenames THEN - IF expression_is_constant (expr) THEN - RETURN (make_finite_space ([expr])); - ELSE - RETURN (make_elementary_space (es_maths_spaces)); - END_IF; - END_IF; - IF (schema_prefix + 'DEPENDENT_VARIABLE_DEFINITION') IN typenames THEN - RETURN (values_space_of (expr\unary_generic_expression.operand)); - END_IF; - IF (schema_prefix + 'COMPLEX_NUMBER_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr])); - END_IF; - IF (schema_prefix + 'LOGICAL_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\logical_literal.lit_value])); - END_IF; - IF (schema_prefix + 'BINARY_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\binary_literal.lit_value])); - END_IF; - IF (schema_prefix + 'MATHS_ENUM_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\maths_enum_literal.lit_value])); - END_IF; - IF (schema_prefix + 'REAL_TUPLE_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\real_tuple_literal.lit_value])); - END_IF; - IF (schema_prefix + 'INTEGER_TUPLE_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\integer_tuple_literal.lit_value])); - END_IF; - IF (schema_prefix + 'ATOM_BASED_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\atom_based_literal.lit_value])); - END_IF; - IF (schema_prefix + 'MATHS_TUPLE_LITERAL') IN typenames THEN - RETURN (make_finite_space ([expr\maths_tuple_literal.lit_value])); - END_IF; - IF (schema_prefix + 'PARTIAL_DERIVATIVE_EXPRESSION') IN typenames THEN - RETURN (drop_numeric_constraints (values_space_of ( - expr\partial_derivative_expression.derivand))); - END_IF; - IF (schema_prefix + 'DEFINITE_INTEGRAL_EXPRESSION') IN typenames THEN - RETURN (drop_numeric_constraints (values_space_of ( - expr\definite_integral_expression.integrand))); - END_IF; - RETURN (?); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION drop_numeric_constraints(spc : maths_space) : maths_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(spc); - tspc : listed_product_space; - factors : LIST OF maths_space := []; - xspc : extended_tuple_space; - END_LOCAL; - IF 'UNIFORM_PRODUCT_SPACE' IN typenames THEN - RETURN (make_uniform_product_space (drop_numeric_constraints ( - spc\uniform_product_space.base), spc\uniform_product_space.exponent)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN typenames THEN - tspc := spc; - REPEAT i := 1 TO SIZEOF (tspc.factors); - INSERT (factors, drop_numeric_constraints (tspc.factors[i]), i-1); - END_REPEAT; - RETURN (make_listed_product_space (factors)); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN typenames THEN - xspc := spc; - RETURN (make_extended_tuple_space (drop_numeric_constraints (xspc.base), - drop_numeric_constraints (xspc.extender))); - END_IF; - IF subspace_of_es (spc, es_numbers) THEN - RETURN (number_superspace_of (spc)); - END_IF; - RETURN (spc); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION number_superspace_of(spc : maths_space) : elementary_space; - IF subspace_of_es(spc,es_integers) THEN RETURN (the_integers); END_IF; - IF subspace_of_es(spc,es_reals) THEN RETURN (the_reals); END_IF; - IF subspace_of_es(spc,es_complex_numbers) THEN RETURN (the_complex_numbers); END_IF; - IF subspace_of_es(spc,es_numbers) THEN RETURN (the_numbers); END_IF; - RETURN (?); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION has_values_space(expr : generic_expression) : BOOLEAN; - LOCAL - typenames : SET OF STRING := stripped_typeof (expr); - END_LOCAL; - IF 'EXPRESSION' IN typenames THEN - RETURN (bool(('NUMERIC_EXPRESSION' IN typenames) OR - ('STRING_EXPRESSION' IN typenames) OR - ('BOOLEAN_EXPRESSION' IN typenames))); - END_IF; - IF 'MATHS_FUNCTION' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'FUNCTION_APPLICATION' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_SPACE' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_VARIABLE' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'DEPENDENT_VARIABLE_DEFINITION' IN typenames THEN - RETURN (has_values_space (expr\unary_generic_expression.operand)); - END_IF; - IF 'COMPLEX_NUMBER_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'LOGICAL_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'BINARY_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_ENUM_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'REAL_TUPLE_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'INTEGER_TUPLE_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'ATOM_BASED_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'MATHS_TUPLE_LITERAL' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'PARTIAL_DERIVATIVE_EXPRESSION' IN typenames THEN - RETURN (TRUE); - END_IF; - IF 'DEFINITE_INTEGRAL_EXPRESSION' IN typenames THEN - RETURN (TRUE); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- has_values_space - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION space_is_continuum(space : maths_space) : BOOLEAN; - LOCAL - typenames : SET OF STRING := TYPEOF (space); - factors : LIST OF maths_space; - END_LOCAL; - IF NOT EXISTS (space) THEN - RETURN (FALSE); - END_IF; - IF subspace_of_es(space,es_reals) OR subspace_of_es(space,es_complex_numbers) THEN - RETURN (TRUE); - END_IF; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN typenames THEN - RETURN (space_is_continuum(space\uniform_product_space.base)); - END_IF; - IF (schema_prefix + 'LISTED_PRODUCT_SPACE') IN typenames THEN - factors := space\listed_product_space.factors; - IF SIZEOF(factors) = 0 THEN - RETURN (FALSE); - END_IF; - REPEAT i := 1 TO SIZEOF (factors); - IF NOT space_is_continuum(factors[i]) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- space_is_continuum - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION subspace_of(space1, space2 : maths_space) : LOGICAL; - LOCAL - spc1 : maths_space := simplify_maths_space(space1); - spc2 : maths_space := simplify_maths_space(space2); - types1 : SET OF STRING := stripped_typeof (spc1); - types2 : SET OF STRING := stripped_typeof (spc2); - lgcl, cum : LOGICAL; - es_val : elementary_space_enumerators; - bnd1, bnd2 : REAL; - n : INTEGER; - sp1, sp2 : maths_space; - prgn1, prgn2 : polar_complex_number_region; - aitv : finite_real_interval; - END_LOCAL; - IF NOT EXISTS (spc1) OR NOT EXISTS (spc2) THEN - RETURN (FALSE); - END_IF; - IF spc2 = the_generics THEN - RETURN (TRUE); - END_IF; - IF 'ELEMENTARY_SPACE' IN types1 THEN - IF NOT ('ELEMENTARY_SPACE' IN types2) THEN - RETURN (FALSE); - END_IF; - es_val := spc2\elementary_space.space_id; - IF spc1\elementary_space.space_id = es_val THEN - RETURN (TRUE); - END_IF; - -- Note that the cases (spc2=the_generics) and (spc1=spc2) have been handled. - CASE spc1\elementary_space.space_id OF - es_numbers : RETURN (FALSE); - es_complex_numbers : RETURN (es_val = es_numbers); - es_reals : RETURN (es_val = es_numbers); - es_integers : RETURN (es_val = es_numbers); - es_logicals : RETURN (FALSE); - es_booleans : RETURN (es_val = es_logicals); - es_strings : RETURN (FALSE); - es_binarys : RETURN (FALSE); - es_maths_spaces : RETURN (FALSE); - es_maths_functions : RETURN (FALSE); - es_generics : RETURN (FALSE); - END_CASE; - -- Should be unreachable. - RETURN (UNKNOWN); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN types1 THEN - cum := TRUE; - REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max; - cum := cum AND member_of (i, spc2); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'INTEGER_INTERVAL_FROM_MIN' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_integers)); - END_IF; - IF 'INTEGER_INTERVAL_FROM_MIN' IN types2 THEN - RETURN (spc1\integer_interval_from_min.min>=spc2\integer_interval_from_min.min); - END_IF; - RETURN (FALSE); - END_IF; - IF 'INTEGER_INTERVAL_TO_MAX' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_integers)); - END_IF; - IF 'INTEGER_INTERVAL_TO_MAX' IN types2 THEN - RETURN (spc1\integer_interval_to_max.max <= spc2\integer_interval_to_max.max); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_REAL_INTERVAL' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_reals)); - END_IF; - IF ('FINITE_REAL_INTERVAL' IN types2) OR - ('REAL_INTERVAL_FROM_MIN' IN types2) OR - ('REAL_INTERVAL_TO_MAX' IN types2) THEN - IF min_exists (spc2) THEN - bnd1 := spc1\finite_real_interval.min; - bnd2 := real_min (spc2); - IF (bnd1 < bnd2) OR ((bnd1 = bnd2) AND min_included (spc1) AND NOT - min_included (spc2)) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF max_exists (spc2) THEN - bnd1 := spc1\finite_real_interval.max; - bnd2 := real_max (spc2); - IF (bnd1 > bnd2) OR ((bnd1 = bnd2) AND max_included (spc1) AND NOT - max_included (spc2)) THEN - RETURN (FALSE); - END_IF; - END_IF; - RETURN (TRUE); - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_FROM_MIN' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_reals)); - END_IF; - IF 'REAL_INTERVAL_FROM_MIN' IN types2 THEN - bnd1 := spc1\real_interval_from_min.min; - bnd2 := spc2\real_interval_from_min.min; - RETURN ((bnd2 < bnd1) OR ((bnd2 = bnd1) AND (min_included (spc2) OR - NOT min_included (spc1)))); - END_IF; - RETURN (FALSE); - END_IF; - IF 'REAL_INTERVAL_TO_MAX' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_reals)); - END_IF; - IF 'REAL_INTERVAL_TO_MAX' IN types2 THEN - bnd1 := spc1\real_interval_to_max.max; - bnd2 := spc2\real_interval_to_max.max; - RETURN ((bnd2 > bnd1) OR ((bnd2 = bnd1) AND (max_included (spc2) OR - NOT max_included (spc1)))); - END_IF; - RETURN (FALSE); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_complex_numbers)); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN - RETURN (subspace_of(spc1\cartesian_complex_number_region.real_constraint, - spc2\cartesian_complex_number_region.real_constraint) AND - subspace_of(spc1\cartesian_complex_number_region.imag_constraint, - spc2\cartesian_complex_number_region.imag_constraint)); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN - RETURN (subspace_of(enclose_cregion_in_pregion(spc1, - spc2\polar_complex_number_region.centre),spc2)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - es_val := spc2\elementary_space.space_id; - RETURN ((es_val = es_numbers) OR (es_val = es_complex_numbers)); - END_IF; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN types2 THEN - RETURN (subspace_of(enclose_pregion_in_cregion(spc1),spc2)); - END_IF; - IF 'POLAR_COMPLEX_NUMBER_REGION' IN types2 THEN - prgn1 := spc1; - prgn2 := spc2; - IF prgn1.centre = prgn2.centre THEN - IF prgn2.direction_constraint.max > PI THEN - aitv := make_finite_real_interval(-PI,open,prgn2.direction_constraint.max - -2.0*PI,prgn2.direction_constraint.max_closure); - RETURN (subspace_of(prgn1.distance_constraint,prgn2.distance_constraint) - AND (subspace_of(prgn1.direction_constraint,prgn2.direction_constraint) - OR subspace_of(prgn1.direction_constraint,aitv))); - ELSE - RETURN (subspace_of(prgn1.distance_constraint,prgn2.distance_constraint) - AND subspace_of(prgn1.direction_constraint,prgn2.direction_constraint)); - END_IF; - END_IF; - RETURN (subspace_of(enclose_pregion_in_pregion(prgn1,prgn2.centre),prgn2)); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FINITE_SPACE' IN types1 THEN - cum := TRUE; - REPEAT i := 1 TO SIZEOF (spc1\finite_space.members); - cum := cum AND member_of (spc1\finite_space.members[i], spc2); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'PRODUCT_SPACE' IN types1 THEN - IF 'PRODUCT_SPACE' IN types2 THEN - IF space_dimension (spc1) = space_dimension (spc2) THEN - cum := TRUE; - REPEAT i := 1 TO space_dimension (spc1); - cum := cum AND subspace_of (factor_space(spc1,i), factor_space(spc2,i)); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - IF space_dimension (spc1) >= space_dimension (spc2) THEN - cum := TRUE; - REPEAT i := 1 TO space_dimension (spc1); - cum := cum AND subspace_of (factor_space(spc1,i), factor_space(spc2,i)); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - RETURN (FALSE); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types1 THEN - IF 'EXTENDED_TUPLE_SPACE' IN types2 THEN - n := space_dimension (spc1); - IF n < space_dimension (spc2) THEN - n := space_dimension (spc2); - END_IF; - cum := TRUE; - REPEAT i := 1 TO n+1; - cum := cum AND subspace_of (factor_space(spc1,i), factor_space(spc2,i)); - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - RETURN (FALSE); - END_IF; - IF 'FUNCTION_SPACE' IN types1 THEN - IF 'ELEMENTARY_SPACE' IN types2 THEN - RETURN (spc2\elementary_space.space_id = es_maths_functions); - END_IF; - IF 'FUNCTION_SPACE' IN types2 THEN - cum := TRUE; - sp1 := spc1\function_space.domain_argument; - sp2 := spc2\function_space.domain_argument; - CASE spc1\function_space.domain_constraint OF - sc_equal : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : cum := cum AND equal_maths_spaces (sp1, sp2); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : cum := cum AND member_of (sp1, sp2); - END_CASE; - END; - sc_subspace : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : RETURN (FALSE); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : BEGIN - IF NOT member_of (sp1, sp2) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - END_CASE; - END; - sc_member : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : cum := cum AND space_is_singleton(sp1) AND - equal_maths_spaces(singleton_member_of(sp1),sp2); - sc_subspace : BEGIN - IF NOT member_of (sp2, sp1) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - sc_member : cum := cum AND (subspace_of (sp1, sp2)); - END_CASE; - END; - END_CASE; - IF cum = FALSE THEN - RETURN (FALSE); - END_IF; - sp1 := spc1\function_space.range_argument; - sp2 := spc2\function_space.range_argument; - CASE spc1\function_space.range_constraint OF - sc_equal : BEGIN - CASE spc2\function_space.range_constraint OF - sc_equal : cum := cum AND equal_maths_spaces (sp1, sp2); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : cum := cum AND member_of (sp1, sp2); - END_CASE; - END; - sc_subspace : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : RETURN (FALSE); - sc_subspace : cum := cum AND subspace_of (sp1, sp2); - sc_member : BEGIN - IF NOT member_of (sp1, sp2) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - END_CASE; - END; - sc_member : BEGIN - CASE spc2\function_space.domain_constraint OF - sc_equal : cum := cum AND space_is_singleton(sp1) AND - equal_maths_spaces(singleton_member_of(sp1),sp2); - sc_subspace : BEGIN - IF NOT member_of (sp2, sp1) THEN - RETURN (FALSE); - END_IF; - cum := UNKNOWN; - END; - sc_member : cum := cum AND subspace_of (sp1, sp2); - END_CASE; - END; - END_CASE; - RETURN (cum); - END_IF; - RETURN (FALSE); - END_IF; - -- Should be unreachable - RETURN (UNKNOWN); -END_FUNCTION; -- subspace_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION min_exists(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - RETURN (bool(((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_FROM_MIN') IN types) OR - ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) OR - ((schema_prefix + 'REAL_INTERVAL_FROM_MIN') IN types))); -END_FUNCTION; -- min_exists - -FUNCTION valid_2d_wireframe_edge_curve - (crv : curve; schma : STRING) : BOOLEAN; - - -- recursively check for valid basic curve types - IF SIZEOF ([schma + '.LINE', - schma + '.B_SPLINE_CURVE', - schma + '.CIRCLE', - schma + '.HYPERBOLA', - schma + '.ELLIPSE', - schma + '.PARABOLA', - schma + '.POLYLINE'] * TYPEOF (crv)) = 1 - THEN RETURN (TRUE); - ELSE - -- recursively check for valid basic curves for curve_replicas - IF (schma + '.CURVE_REPLICA') IN TYPEOF (crv) - THEN RETURN (valid_2d_wireframe_edge_curve - (crv\curve_replica.parent_curve, schma)); - -- recursively check for valid basis curves for offset_curves - ELSE - IF (schma + '.OFFSET_CURVE_2D') IN TYPEOF (crv) - THEN RETURN (valid_2d_wireframe_edge_curve - (crv\offset_curve_2d.basis_curve, schma)); - END_IF; - END_IF; - END_IF; - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION max_exists(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - RETURN (bool(((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_TO_MAX') IN types) OR - ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) OR - ((schema_prefix + 'REAL_INTERVAL_TO_MAX') IN types))); -END_FUNCTION; -- max_exists - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION min_included(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_FROM_MIN') IN types) THEN - RETURN (TRUE); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (bool(spc\finite_real_interval.min_closure = closed)); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_FROM_MIN') IN types) THEN - RETURN (bool(spc\real_interval_from_min.min_closure = closed)); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- min_included - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION real_max(spc : maths_space) : REAL; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) THEN - RETURN (spc\finite_integer_interval.max); - END_IF; - IF ((schema_prefix + 'INTEGER_INTERVAL_TO_MAX') IN types) THEN - RETURN (spc\integer_interval_to_max.max); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (spc\finite_real_interval.max); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_TO_MAX') IN types) THEN - RETURN (spc\real_interval_to_max.max); - END_IF; - RETURN (?); -END_FUNCTION; -- real_max - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION max_included(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := TYPEOF (spc); - END_LOCAL; - IF ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN types) OR - ((schema_prefix + 'INTEGER_INTERVAL_TO_MAX') IN types) THEN - RETURN (TRUE); - END_IF; - IF ((schema_prefix + 'FINITE_REAL_INTERVAL') IN types) THEN - RETURN (bool(spc\finite_real_interval.max_closure = closed)); - END_IF; - IF ((schema_prefix + 'REAL_INTERVAL_TO_MAX') IN types) THEN - RETURN (bool(spc\real_interval_to_max.max_closure = closed)); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- max_included - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION enclose_cregion_in_pregion(crgn : cartesian_complex_number_region; - centre : complex_number_literal) - : polar_complex_number_region; - -- Find equivalent direction in range -PI < a <= PI. - FUNCTION angle(a : REAL) : REAL; - REPEAT WHILE a > PI; a := a - 2.0*PI; END_REPEAT; - REPEAT WHILE a <= -PI; a := a + 2.0*PI; END_REPEAT; - RETURN (a); - END_FUNCTION; - -- Determine whether a real is strictly within a real interval - FUNCTION strictly_in(z : REAL; - zitv : real_interval) : LOGICAL; - RETURN ((NOT min_exists(zitv) OR (z > real_min(zitv))) AND - (NOT max_exists(zitv) OR (z < real_max(zitv)))); - END_FUNCTION; - -- Include direction in minmax collection - PROCEDURE angle_minmax( ab, a : REAL; - a_in : BOOLEAN; - VAR amin, amax : REAL; - VAR amin_in, amax_in : BOOLEAN); - a := angle(a - ab); - IF amin = a THEN amin_in := amin_in OR a_in; END_IF; - IF amin > a THEN amin := a; amin_in := a_in; END_IF; - IF amax = a THEN amax_in := amax_in OR a_in; END_IF; - IF amax < a THEN amax := a; amax_in := a_in; END_IF; - END_PROCEDURE; - -- Include distance in max collection - PROCEDURE range_max( r : REAL; - incl : BOOLEAN; - VAR rmax : REAL; - VAR rmax_in : BOOLEAN); - IF rmax = r THEN rmax_in := rmax_in OR incl; END_IF; - IF rmax < r THEN rmax := r; rmax_in := incl; END_IF; - END_PROCEDURE; - -- Include distance in min collection - PROCEDURE range_min( r : REAL; - incl : BOOLEAN; - VAR rmin : REAL; - VAR rmin_in : BOOLEAN); - IF rmin = r THEN rmin_in := rmin_in OR incl; END_IF; - IF (rmin < 0.0) OR (rmin > r) THEN rmin := r; rmin_in := incl; END_IF; - END_PROCEDURE; - LOCAL - xitv, yitv : real_interval; - is_xmin, is_xmax, is_ymin, is_ymax : BOOLEAN; - xmin, xmax, ymin, ymax, xc, yc : REAL := 0.0; - xmin_in, xmax_in, ymin_in, ymax_in : BOOLEAN := FALSE; - rmin, rmax : REAL := -1.0; - amin : REAL := 4.0; - amax : REAL := -4.0; - rmax_exists, outside : BOOLEAN := TRUE; - rmin_in, rmax_in, amin_in, amax_in : BOOLEAN := FALSE; - ab, a, r : REAL := 0.0; - incl : BOOLEAN; - ritv : real_interval; - aitv : finite_real_interval; - minclo, maxclo : open_closed := open; - END_LOCAL; - IF NOT EXISTS (crgn) OR NOT EXISTS (centre) THEN RETURN (?); END_IF; - -- Extract elementary input information - xitv := crgn.real_constraint; - yitv := crgn.imag_constraint; - xc := centre.real_part; - yc := centre.imag_part; - is_xmin := min_exists(xitv); - is_xmax := max_exists(xitv); - is_ymin := min_exists(yitv); - is_ymax := max_exists(yitv); - IF is_xmin THEN xmin := real_min(xitv); xmin_in := min_included(xitv); END_IF; - IF is_xmax THEN xmax := real_max(xitv); xmax_in := max_included(xitv); END_IF; - IF is_ymin THEN ymin := real_min(yitv); ymin_in := min_included(yitv); END_IF; - IF is_ymax THEN ymax := real_max(yitv); ymax_in := max_included(yitv); END_IF; - rmax_exists := is_xmin AND is_xmax AND is_ymin AND is_ymax; - -- Identify base direction with respect to which all relevant directions lie - -- within +/- 0.5*PI, or that the centre lies properly inside crgn. - IF is_xmin AND (xc <= xmin) THEN ab := 0.0; - ELSE IF is_ymin AND (yc <= ymin) THEN ab := 0.5*PI; - ELSE IF is_ymax AND (yc >= ymax) THEN ab := -0.5*PI; - ELSE IF is_xmax AND (xc >= xmax) THEN ab := PI; - ELSE outside := FALSE; - END_IF; END_IF; END_IF; END_IF; - IF NOT outside AND NOT rmax_exists THEN - RETURN (?); -- No enclosing polar region exists (requires whole plane) - END_IF; - -- Identify any closest point on a side but not a corner. - IF is_xmin AND (xc <= xmin) AND strictly_in(yc,yitv) THEN - rmin := xmin - xc; rmin_in := xmin_in; - ELSE IF is_ymin AND (yc <= ymin) AND strictly_in(xc,xitv) THEN - rmin := ymin - yc; rmin_in := ymin_in; - ELSE IF is_ymax AND (yc >= ymax) AND strictly_in(xc,xitv) THEN - rmin := yc - ymax; rmin_in := ymax_in; - ELSE IF is_xmax AND (xc >= xmax) AND strictly_in(yc,yitv) THEN - rmin := xc - xmax; rmin_in := xmax_in; - END_IF; END_IF; END_IF; END_IF; - IF is_xmin THEN - IF is_ymin THEN -- Consider lower left corner - r := SQRT((xmin-xc)**2 + (ymin-yc)**2); - incl := xmin_in AND ymin_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymin-yc,xmin-xc) - ab); - IF xc = xmin THEN incl := xmin_in; END_IF; - IF yc = ymin THEN incl := ymin_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower left corner - rmin := 0.0; rmin_in := xmin_in AND ymin_in; - amin := angle(0.0-ab); amin_in := ymin_in; - amax := angle(0.5*PI-ab); amax_in := xmin_in; - END_IF; - END_IF; - ELSE IF xc <= xmin THEN -- Consider points near (xmin, -infinity) - angle_minmax(ab,-0.5*PI,(xc=xmin) AND xmin_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_ymax AND (xc <= xmin) THEN -- Consider points near (xmin, +infinity) - angle_minmax(ab,0.5*PI,(xc=xmin) AND xmin_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF is_ymin THEN - IF is_xmax THEN -- Consider lower right corner - r := SQRT((xmax-xc)**2 + (ymin-yc)**2); - incl := xmax_in AND ymin_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymin-yc,xmax-xc) - ab); - IF xc = xmax THEN incl := xmax_in; END_IF; - IF yc = ymin THEN incl := ymin_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower right corner - rmin := 0.0; rmin_in := xmax_in AND ymin_in; - amin := angle(0.5*PI-ab); amin_in := ymin_in; - amax := angle(PI-ab); amax_in := xmax_in; - END_IF; - END_IF; - ELSE IF yc <= ymin THEN -- Consider points near (+infinity, ymin) - angle_minmax(ab,0.0,(yc=ymin) AND ymin_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_xmin AND (yc <= ymin) THEN -- Consider points near (-infinity, ymin) - angle_minmax(ab,PI,(yc=ymin) AND ymin_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF is_xmax THEN - IF is_ymax THEN -- Consider upper right corner - r := SQRT((xmax-xc)**2 + (ymax-yc)**2); - incl := xmax_in AND ymax_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymax-yc,xmax-xc) - ab); - IF xc = xmax THEN incl := xmax_in; END_IF; - IF yc = ymax THEN incl := ymax_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower left corner - rmin := 0.0; rmin_in := xmax_in AND ymax_in; - amin := angle(-PI-ab); amin_in := ymax_in; - amax := angle(-0.5*PI-ab); amax_in := xmax_in; - END_IF; - END_IF; - ELSE IF xc >= xmax THEN -- Consider points near (xmax, +infinity) - angle_minmax(ab,0.5*PI,(xc=xmax) AND xmax_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_ymin AND (xc >= xmax) THEN -- Consider points near (xmax, -infinity) - angle_minmax(ab,-0.5*PI,(xc=xmax) AND xmax_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF is_ymax THEN - IF is_xmin THEN -- Consider upper left corner - r := SQRT((xmin-xc)**2 + (ymax-yc)**2); - incl := xmin_in AND ymax_in; - IF rmax_exists THEN range_max(r,incl,rmax,rmax_in); END_IF; - IF outside THEN - IF r > 0.0 THEN - range_min(r,incl,rmin,rmin_in); - a := angle(atan2(ymax-yc,xmin-xc) - ab); - IF xc = xmin THEN incl := xmin_in; END_IF; - IF yc = ymax THEN incl := ymax_in; END_IF; - angle_minmax(ab,a,incl,amin,amax,amin_in,amax_in); - ELSE -- Centre at lower right corner - rmin := 0.0; rmin_in := xmin_in AND ymax_in; - amin := angle(0.5*PI-ab); amin_in := ymax_in; - amax := angle(PI-ab); amax_in := xmin_in; - END_IF; - END_IF; - ELSE IF yc >= ymax THEN -- Consider points near (-infinity, ymax) - angle_minmax(ab,PI,(yc=ymax) AND ymax_in,amin,amax,amin_in,amax_in); - END_IF; END_IF; - IF NOT is_xmax AND (yc >= ymax) THEN -- Consider points near (+infinity, ymax) - angle_minmax(ab,0.0,(yc=ymax) AND ymax_in,amin,amax,amin_in,amax_in); - END_IF; - END_IF; - IF outside THEN -- Change direction origin from ab back to zero - amin := angle(amin+ab); - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(amax+ab); - IF amax <= amin THEN amax := amax + 2.0*PI; END_IF; - ELSE - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := FALSE; - END_IF; - IF amin_in THEN minclo := closed; END_IF; - IF amax_in THEN maxclo := closed; END_IF; - aitv := make_finite_real_interval(amin,minclo,amax,maxclo); - minclo := open; - IF rmin_in THEN minclo := closed; END_IF; - IF rmax_exists THEN - maxclo := open; - IF rmax_in THEN maxclo := closed; END_IF; - ritv := make_finite_real_interval(rmin,minclo,rmax,maxclo); - ELSE - ritv := make_real_interval_from_min(rmin,minclo); - END_IF; - RETURN (make_polar_complex_number_region(centre,ritv,aitv)); -END_FUNCTION; -- enclose_cregion_in_pregion - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION atan2(y, x : REAL) : REAL; - LOCAL - r : REAL; - END_LOCAL; - IF (y = 0.0) AND (x = 0.0) THEN RETURN (?); END_IF; - r := atan(y,x); - IF x < 0.0 THEN - IF y < 0.0 THEN r := r - PI; - ELSE r := r + PI; END_IF; - END_IF; - RETURN (r); -END_FUNCTION; -- atan2 - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_polar_complex_number_region(centre : complex_number_literal; - dis_constraint : real_interval; - dir_constraint : finite_real_interval) - : polar_complex_number_region; - RETURN (polar_complex_number_region (centre, dis_constraint, dir_constraint) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_polar_complex_number_region - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION enclose_pregion_in_cregion(prgn : polar_complex_number_region) - : cartesian_complex_number_region; - PROCEDURE nearest_good_direction(acart : REAL; - aitv : finite_real_interval; - VAR a : REAL; - VAR a_in : BOOLEAN); - a := acart; a_in := TRUE; - IF a < aitv.min THEN - -- a+2.0*PI > aitv.min automatically! - IF a+2.0*PI < aitv.max THEN RETURN; END_IF; - IF a+2.0*PI = aitv.max THEN a_in := max_included(aitv); RETURN; END_IF; - ELSE IF a = aitv.min THEN a_in := min_included(aitv); RETURN; - ELSE IF a < aitv.max THEN RETURN; - ELSE IF a = aitv.max THEN a_in := max_included(aitv); RETURN; - END_IF; END_IF; END_IF; END_IF; - IF COS(acart - aitv.max) >= COS(acart - aitv.min) THEN - a := aitv.max; a_in := max_included(aitv); - ELSE - a := aitv.min; a_in := min_included(aitv); - END_IF; - END_PROCEDURE; - LOCAL - xc, yc, xmin, xmax, ymin, ymax : REAL := 0.0; - ritv, xitv, yitv : real_interval; - aitv : finite_real_interval; - xmin_exists, xmax_exists, ymin_exists, ymax_exists : BOOLEAN; - xmin_in, xmax_in, ymin_in, ymax_in : BOOLEAN := FALSE; - a, r : REAL := 0.0; - a_in : BOOLEAN := FALSE; - min_clo, max_clo : open_closed := open; - END_LOCAL; - IF NOT EXISTS (prgn) THEN RETURN (?); END_IF; - -- Extract elementary input data - xc := prgn.centre.real_part; - yc := prgn.centre.imag_part; - ritv := prgn.distance_constraint; - aitv := prgn.direction_constraint; - -- Determine xmin data - nearest_good_direction(PI,aitv,a,a_in); - IF COS(a) >= 0.0 THEN - xmin_exists := TRUE; - xmin := xc + real_min(ritv)*COS(a); - xmin_in := a_in AND (min_included(ritv) OR (COS(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - xmin_exists := TRUE; - xmin := xc + real_max(ritv)*COS(a); - xmin_in := a_in AND max_included(ritv); - ELSE - xmin_exists := FALSE; - END_IF; - END_IF; - -- Determine xmax data - nearest_good_direction(0.0,aitv,a,a_in); - IF COS(a) <= 0.0 THEN - xmax_exists := TRUE; - xmax := xc + real_min(ritv)*COS(a); - xmax_in := a_in AND (min_included(ritv) OR (COS(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - xmax_exists := TRUE; - xmax := xc + real_max(ritv)*COS(a); - xmax_in := a_in AND max_included(ritv); - ELSE - xmax_exists := FALSE; - END_IF; - END_IF; - -- Determine ymin data - nearest_good_direction(-0.5*PI,aitv,a,a_in); - IF SIN(a) >= 0.0 THEN - ymin_exists := TRUE; - ymin := yc + real_min(ritv)*SIN(a); - ymin_in := a_in AND (min_included(ritv) OR (SIN(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - ymin_exists := TRUE; - ymin := yc + real_max(ritv)*SIN(a); - ymin_in := a_in AND max_included(ritv); - ELSE - ymin_exists := FALSE; - END_IF; - END_IF; - -- Determine ymax data - nearest_good_direction(0.5*PI,aitv,a,a_in); - IF SIN(a) <= 0.0 THEN - ymax_exists := TRUE; - ymax := yc + real_min(ritv)*SIN(a); - ymax_in := a_in AND (min_included(ritv) OR (SIN(a) = 0.0)); - ELSE - IF max_exists(ritv) THEN - ymax_exists := TRUE; - ymax := yc + real_max(ritv)*SIN(a); - ymax_in := a_in AND max_included(ritv); - ELSE - ymax_exists := FALSE; - END_IF; - END_IF; - -- Construct result - IF NOT (xmin_exists OR xmax_exists OR ymin_exists OR ymax_exists) THEN - RETURN (?); -- No finite boundaries exist - END_IF; - -- Construct real_constraint - IF xmin_exists THEN - IF xmin_in THEN min_clo := closed; ELSE min_clo := open; END_IF; - IF xmax_exists THEN - IF xmax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - xitv := make_finite_real_interval(xmin,min_clo,xmax,max_clo); - ELSE - xitv := make_real_interval_from_min(xmin,min_clo); - END_IF; - ELSE - IF xmax_exists THEN - IF xmax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - xitv := make_real_interval_to_max(xmax,max_clo); - ELSE - xitv := the_reals; - END_IF; - END_IF; - -- Construct imag_constraint - IF ymin_exists THEN - IF ymin_in THEN min_clo := closed; ELSE min_clo := open; END_IF; - IF ymax_exists THEN - IF ymax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - yitv := make_finite_real_interval(ymin,min_clo,ymax,max_clo); - ELSE - yitv := make_real_interval_from_min(ymin,min_clo); - END_IF; - ELSE - IF ymax_exists THEN - IF ymax_in THEN max_clo := closed; ELSE max_clo := open; END_IF; - yitv := make_real_interval_to_max(ymax,max_clo); - ELSE - yitv := the_reals; - END_IF; - END_IF; - -- Construct cartesian region - RETURN (make_cartesian_complex_number_region(xitv,yitv)); -END_FUNCTION; -- enclose_pregion_in_cregion - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_real_interval_to_max(max : REAL; - maxclo : open_closed) : real_interval_to_max; - RETURN (real_interval_to_max (max, maxclo) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_real_interval_to_max - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_cartesian_complex_number_region(real_constraint : real_interval; - imag_constraint : real_interval) - : cartesian_complex_number_region; - RETURN (cartesian_complex_number_region (real_constraint, imag_constraint) - || maths_space() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_cartesian_complex_number_region - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION enclose_pregion_in_pregion(prgn : polar_complex_number_region; - centre : complex_number_literal) - : polar_complex_number_region; - -- Find equivalent direction in range -PI < a <= PI. - FUNCTION angle(a : REAL) : REAL; - REPEAT WHILE a > PI; a := a - 2.0*PI; END_REPEAT; - REPEAT WHILE a <= -PI; a := a + 2.0*PI; END_REPEAT; - RETURN (a); - END_FUNCTION; - -- Find proper limits for direction interval - PROCEDURE angle_range(VAR amin, amax : REAL); - amin := angle(amin); - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(amax); - IF amax <= amin THEN amax := amax + 2.0*PI; END_IF; - END_PROCEDURE; - -- Determine whether a direction is strictly within a direction interval - FUNCTION strictly_in(a : REAL; - aitv : finite_real_interval) : LOGICAL; - a := angle(a); - RETURN ({aitv.min < a < aitv.max} OR {aitv.min < a+2.0*PI < aitv.max}); - END_FUNCTION; - -- Find min and max and related inclusion booleans among four candidates, - -- using a base direction chosen to ensure the algebraic comparisons are valid. - PROCEDURE find_aminmax( ab,a0,a1,a2,a3 : REAL; - in0,in1,in2,in3 : BOOLEAN; - VAR amin,amax : REAL; - VAR amin_in,amax_in : BOOLEAN); - LOCAL - a : REAL; - END_LOCAL; - amin := angle(a0-ab); amin_in := in0; - amax := amin; amax_in := in0; - a := angle(a1-ab); - IF a = amin THEN amin_in := amin_in OR in1; END_IF; - IF a < amin THEN amin := a; amin_in := in1; END_IF; - IF a = amax THEN amax_in := amax_in OR in1; END_IF; - IF a > amax THEN amax := a; amax_in := in1; END_IF; - a := angle(a2-ab); - IF a = amin THEN amin_in := amin_in OR in2; END_IF; - IF a < amin THEN amin := a; amin_in := in2; END_IF; - IF a = amax THEN amax_in := amax_in OR in2; END_IF; - IF a > amax THEN amax := a; amax_in := in2; END_IF; - a := angle(a3-ab); - IF a = amin THEN amin_in := amin_in OR in3; END_IF; - IF a < amin THEN amin := a; amin_in := in3; END_IF; - IF a = amax THEN amax_in := amax_in OR in3; END_IF; - IF a > amax THEN amax := a; amax_in := in3; END_IF; - amin := amin+ab; - amax := amax+ab; - angle_range(amin,amax); - END_PROCEDURE; - - LOCAL - ritp, ritv : real_interval; - aitp, aitv : finite_real_interval; - xp, yp, xc, yc, rmax, rmin, amin, amax, rc, acp, apc : REAL := 0.0; - rmax_in, rmin_in, amin_in, amax_in : BOOLEAN := FALSE; - rmxp, rmnp, x, y, r, a, ab, r0, a0, r1, a1, r2, a2, r3, a3 : REAL := 0.0; - in0, in1, in2, in3, inn : BOOLEAN := FALSE; - minclo, maxclo : open_closed := open; - END_LOCAL; - -- Extract elementary input information - IF NOT EXISTS (prgn) OR NOT EXISTS (centre) THEN RETURN (?); END_IF; - xp := prgn.centre.real_part; - yp := prgn.centre.imag_part; - ritp := prgn.distance_constraint; - aitp := prgn.direction_constraint; - xc := centre.real_part; - yc := centre.imag_part; - IF (xc = xp) AND (yc = yp) THEN RETURN (prgn); END_IF; - rc := SQRT((xp-xc)**2 + (yp-yc)**2); - acp := atan2(yp-yc,xp-xc); - apc := atan2(yc-yp,xc-xp); - rmnp := real_min(ritp); - -- Analyse cases by existence of max distance and direction limits - IF max_exists(ritp) THEN - rmxp := real_max(ritp); - IF aitp.max - aitp.min = 2.0*PI THEN - -- annulus or disk, with or without slot or puncture - inn := NOT max_included(aitp); -- slot exists; - a := angle(aitp.min); -- slot direction - rmax := rc+rmxp; rmax_in := max_included(ritp); - IF inn AND (acp = a) THEN rmax_in := FALSE; END_IF; - IF rc > rmxp THEN - a0 := ASIN(rmxp/rc); - amin := angle(acp-a0); amin_in := max_included(ritp); - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(acp+a0); amax_in := amin_in; - IF amax < amin THEN amax := amax + 2.0*PI; END_IF; - rmin := rc-rmxp; rmin_in := amin_in; - IF inn THEN - -- slotted case - IF apc = a THEN rmin_in := FALSE; END_IF; - IF angle(amin+0.5*PI) = a THEN amin_in := FALSE; END_IF; - IF angle(amax-0.5*PI) = a THEN amax_in := FALSE; END_IF; - END_IF; - ELSE IF rc = rmxp THEN - amin := angle(acp-0.5*PI); amin_in := FALSE; - IF amin = PI THEN amin := -PI; END_IF; - amax := angle(acp+0.5*PI); amax_in := FALSE; - IF amax < amin THEN amax := amax + 2.0*PI; END_IF; - rmin := 0.0; rmin_in := max_included(ritp); - IF inn AND (apc = a) THEN rmin_in := FALSE; END_IF; - ELSE IF rc > rmnp THEN - IF inn AND (apc = a) THEN -- in the slot - rmin := 0.0; rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE - rmin := 0.0; rmin_in := TRUE; - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - END_IF; - ELSE - rmin := rmnp-rc; rmin_in := min_included(ritp); - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - IF inn THEN -- Special cases when aligned with slot - IF apc = a THEN - rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE IF acp = a THEN - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - END_IF; END_IF; - END_IF; - END_IF; END_IF; END_IF; - ELSE -- direction range < 2*PI - -- Compute data for corners with respect to xc,yc - x := xp + rmxp*cos(aitp.min) - xc; - y := yp + rmxp*sin(aitp.min) - yc; - r0 := SQRT(x**2 + y**2); - in0 := max_included(ritp) AND min_included(aitp); - IF r0 <> 0.0 THEN a0 := atan2(y,x); END_IF; - x := xp + rmxp*cos(aitp.max) - xc; - y := yp + rmxp*sin(aitp.max) - yc; - r1 := SQRT(x**2 + y**2); - in1 := max_included(ritp) AND max_included(aitp); - IF r1 <> 0.0 THEN a1 := atan2(y,x); END_IF; - x := xp + rmnp*cos(aitp.max) - xc; - y := yp + rmnp*sin(aitp.max) - yc; - r2 := SQRT(x**2 + y**2); - in2 := min_included(ritp) AND max_included(aitp); - IF r2 <> 0.0 THEN a2 := atan2(y,x); ELSE a2 := a1; in2 := in1; END_IF; - IF r1 = 0.0 THEN a1 := a2; in1 := in2; END_IF; - x := xp + rmnp*cos(aitp.min) - xc; - y := yp + rmnp*sin(aitp.min) - yc; - r3 := SQRT(x**2 + y**2); - in3 := min_included(ritp) AND min_included(aitp); - IF r3 <> 0.0 THEN a3 := atan2(y,x); ELSE a3 := a0; in3 := in0; END_IF; - IF r0 = 0.0 THEN a0 := a3; in0 := in3; END_IF; - IF rmnp = 0.0 THEN in2 := min_included(ritp); in3 := in2; END_IF; - IF (apc = angle(aitp.min)) OR (acp = angle(aitp.min)) THEN - in0 := min_included(aitp); - in3 := in0; - ELSE IF (apc = angle(aitp.max)) OR (acp = angle(aitp.max)) THEN - in1 := max_included(aitp); - in2 := in1; - END_IF; END_IF; - -- Find rmax - IF strictly_in(acp,aitp) THEN - rmax := rc+rmxp; rmax_in := max_included(ritp); - ELSE - rmax := r0; rmax_in := in0; - IF rmax = r1 THEN rmax_in := rmax_in OR in1; END_IF; - IF rmax < r1 THEN rmax := r1; rmax_in := in1; END_IF; - IF rmax = r2 THEN rmax_in := rmax_in OR in2; END_IF; - IF rmax < r2 THEN rmax := r2; rmax_in := in2; END_IF; - IF rmax = r3 THEN rmax_in := rmax_in OR in3; END_IF; - IF rmax < r3 THEN rmax := r3; rmax_in := in3; END_IF; - END_IF; - -- Find rmin - IF strictly_in(apc,aitp) THEN - IF rc >= rmxp THEN - rmin := rc-rmxp; rmin_in := max_included(ritp); - ELSE IF rc <= rmnp THEN - rmin := rmnp-rc; rmin_in := min_included(ritp); - ELSE - rmin := 0.0; rmin_in := TRUE; - END_IF; END_IF; - ELSE - rmin := r0; rmin_in := in0; - a := apc-aitp.min; - r := rc*COS(a); - IF {rmnp < r < rmxp} THEN -- use nearest point on line segment - rmin := rc*SIN(ABS(a)); rmin_in := min_included(aitp); - END_IF; - a := apc-aitp.max; - r := rc*COS(a); - IF {rmnp < r < rmxp} THEN -- try nearest point on line segment - r := rc*SIN(ABS(a)); inn := max_included(aitp); - IF r = rmin THEN rmin_in := rmin_in OR inn; END_IF; - IF r < rmin THEN rmin := r; rmin_in := inn; END_IF; - END_IF; - IF r1 = rmin THEN rmin_in := rmin_in OR in1; END_IF; - IF r1 < rmin THEN rmin := r1; rmin_in := in1; END_IF; - IF r2 = rmin THEN rmin_in := rmin_in OR in2; END_IF; - IF r2 < rmin THEN rmin := r2; rmin_in := in2; END_IF; - IF r3 = rmin THEN rmin_in := rmin_in OR in3; END_IF; - IF r3 < rmin THEN rmin := r3; rmin_in := in3; END_IF; - END_IF; - -- Find amin and amax, initially with respect to base direction ab. - IF rc >= rmxp THEN -- outside outer circle - ab := acp; - find_aminmax(ab,a0,a1,a2,a3,in0,in1,in2,in3,amin,amax,amin_in,amax_in); - a := ACOS(rmxp/rc); - IF strictly_in(apc-a,aitp) THEN - amin := ab-ASIN(rmxp/rc); amin_in := max_included(ritp); - END_IF; - IF strictly_in(apc+a,aitp) THEN - amax := ab+ASIN(rmxp/rc); amax_in := max_included(ritp); - END_IF; - angle_range(amin,amax); - ELSE IF rc > rmnp THEN - ab := angle(0.5*(aitp.min+aitp.max)); -- reference direction - find_aminmax(ab,a0,a1,a2,a3,in0,in1,in2,in3,amin,amax,amin_in,amax_in); - ELSE - -- Using base direction midway in prgn, compute all directions using - -- values which ensure a3 < a2 and a0 < a1 algebraically. - ab := angle(0.5*(aitp.min+aitp.max)); -- reference direction - a0 := angle(a0-ab); - a1 := angle(a1-ab); - a2 := angle(a2-ab); - a3 := angle(a3-ab); - IF a3 > a2 THEN a2 := a2 + 2.0*PI; END_IF; - IF a0 > a1 THEN a0 := a0 + 2.0*PI; END_IF; - IF a3 < a0 THEN amin := a3; amin_in := in3; - ELSE amin := a0; amin_in := in0; END_IF; - IF a2 > a1 THEN amax := a2; amax_in := in2; - ELSE amax := a1; amax_in := in1; END_IF; - IF (amax - amin > 2.0*PI) OR - ((amax - amin = 2.0*PI) AND (amin_in OR amax_in)) THEN - -- Cannot see out - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - ELSE - amin := amin + ab; - amax := amax + ab; - angle_range(amin,amax); - END_IF; - END_IF; END_IF; - END_IF; - IF rmin_in THEN minclo := closed; END_IF; - IF rmax_in THEN maxclo := closed; END_IF; - ritv := make_finite_real_interval(rmin,minclo,rmax,maxclo); - ELSE -- Not max_exists(ritp) - IF (rc > rmnp) AND strictly_in(apc,aitp) THEN - RETURN (?); -- No pregion exists. (Would require whole plane.) - END_IF; - IF aitp.max - aitp.min = 2.0*PI THEN - -- complement of disk, with or without slot - a := angle(aitp.min); -- slot direction - IF rc > rmnp THEN -- already excluded if not aligned with slot - IF max_included(aitp) THEN - RETURN (?); -- No pregion exists. (Would require whole plane.) - END_IF; - rmin := 0.0; rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE - rmin := rmnp-rc; rmin_in := min_included(ritp); - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - IF NOT max_included(aitp) THEN -- Special cases when aligned with slot - IF apc = a THEN - rmin_in := FALSE; - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - ELSE IF acp = a THEN - amin := aitp.min; amin_in := FALSE; - amax := aitp.max; amax_in := FALSE; - END_IF; END_IF; - END_IF; - END_IF; - ELSE -- direction range < 2*PI - -- Compute data for corners with respect to xc,yc (two at infinity) - a0 := angle(aitp.min); - in0 := FALSE; - a1 := angle(aitp.max); - in1 := FALSE; - x := xp + rmnp*cos(aitp.max) - xc; - y := yp + rmnp*sin(aitp.max) - yc; - r2 := SQRT(x**2 + y**2); - in2 := min_included(ritp) AND max_included(aitp); - IF r2 <> 0.0 THEN a2 := atan2(y,x); ELSE a2 := a1; in2 := in1; END_IF; - x := xp + rmnp*cos(aitp.min) - xc; - y := yp + rmnp*sin(aitp.min) - yc; - r3 := SQRT(x**2 + y**2); - in3 := min_included(ritp) AND min_included(aitp); - IF r3 <> 0.0 THEN a3 := atan2(y,x); ELSE a3 := a0; in3 := in0; END_IF; - IF rmnp = 0.0 THEN in2 := min_included(ritp); in3 := in2; END_IF; - IF (apc = angle(aitp.min)) OR (acp = angle(aitp.min)) THEN - in0 := min_included(aitp); - in3 := in0; - ELSE IF (apc = angle(aitp.max)) OR (acp = angle(aitp.max)) THEN - in1 := max_included(aitp); - in2 := in1; - END_IF; END_IF; - -- Find rmin - IF strictly_in(apc,aitp) THEN - rmin := rmnp-rc; rmin_in := min_included(ritp); - ELSE - rmin := r2; rmin_in := in2; - a := apc-aitp.min; - r := rc*COS(a); - IF rmnp < r THEN -- use nearest point on aitp.min ray - rmin := rc*SIN(ABS(a)); rmin_in := min_included(aitp); - END_IF; - a := apc-aitp.max; - r := rc*COS(a); - IF rmnp < r THEN -- try nearest point on aitp.max ray - r := rc*SIN(ABS(a)); inn := max_included(aitp); - IF r = rmin THEN rmin_in := rmin_in OR inn; END_IF; - IF r < rmin THEN rmin := r; rmin_in := inn; END_IF; - END_IF; - IF r3 = rmin THEN rmin_in := rmin_in OR in3; END_IF; - IF r3 < rmin THEN rmin := r3; rmin_in := in3; END_IF; - END_IF; - -- Find amin and amax - ab := angle(0.5*(aitp.min+aitp.max)); -- reference direction - IF rc > rmnp THEN - find_aminmax(ab,a0,a1,a2,a3,in0,in1,in2,in3,amin,amax,amin_in,amax_in); - ELSE - -- Using base direction midway in prgn, compute all directions using - -- values which ensure a3 < a2 and a0 < a1 algebraically. - a0 := angle(a0-ab); - a1 := angle(a1-ab); - a2 := angle(a2-ab); - a3 := angle(a3-ab); - IF a3 > a2 THEN a2 := a2 + 2.0*PI; END_IF; - IF a0 > a1 THEN a0 := a0 + 2.0*PI; END_IF; - IF a3 < a0 THEN amin := a3; amin_in := in3; - ELSE amin := a0; amin_in := in0; END_IF; - IF a2 > a1 THEN amax := a2; amax_in := in2; - ELSE amax := a1; amax_in := in1; END_IF; - IF (amax - amin > 2.0*PI) OR - ((amax - amin = 2.0*PI) AND (amin_in OR amax_in)) THEN - -- Cannot see out - amin := -PI; amin_in := FALSE; - amax := PI; amax_in := TRUE; - IF (rmin = 0.0) AND rmin_in THEN - RETURN (?); -- No pregion exists. (Would require whole plane.) - END_IF; - ELSE - amin := amin + ab; - amax := amax + ab; - angle_range(amin,amax); - END_IF; - END_IF; - END_IF; - IF rmin_in THEN minclo := closed; END_IF; - ritv := make_real_interval_from_min(rmin,minclo); - END_IF; - minclo := open; maxclo := open; - IF amin_in THEN minclo := closed; END_IF; - IF amax_in THEN maxclo := closed; END_IF; - aitv := make_finite_real_interval(amin,minclo,amax,maxclo); - -- Construct polar region - RETURN (make_polar_complex_number_region(centre,ritv,aitv)); -END_FUNCTION; -- enclose_pregion_in_pregion - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_maths_spaces(spc1, spc2 : maths_space) : LOGICAL; - LOCAL - spc1types : SET OF STRING := stripped_typeof(spc1); - spc2types : SET OF STRING := stripped_typeof(spc2); - set1, set2 : SET OF maths_value; - cum : LOGICAL := TRUE; - base : maths_space; - expnt : INTEGER; - factors : LIST OF maths_space; - factors2 : LIST OF maths_space; - fs1, fs2 : function_space; - cum2 : LOGICAL; - END_LOCAL; - IF spc1 = spc2 THEN RETURN (TRUE); END_IF; - -- Consider cases where it is not yet certain that spc1 <> spc2. - IF 'FINITE_SPACE' IN spc1types THEN - set1 := spc1\finite_space.members; - IF 'FINITE_SPACE' IN spc2types THEN - -- Members may have different but equivalent representations and in - -- different orders. May also have disguised repeats in same set of members. - set2 := spc2\finite_space.members; - REPEAT i := 1 TO SIZEOF (set1); - cum := cum AND member_of (set1[i], spc2); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - IF cum = TRUE THEN - REPEAT i := 1 TO SIZEOF (set2); - cum := cum AND member_of (set2[i], spc1); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - END_IF; - RETURN (cum); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN spc2types THEN - set2 := []; - REPEAT i := spc2\finite_integer_interval.min TO spc2\finite_integer_interval.max; - set2 := set2 + [i]; - END_REPEAT; - RETURN (equal_maths_spaces(spc1,make_finite_space(set2))); - END_IF; - END_IF; - IF ('FINITE_INTEGER_INTERVAL' IN spc1types) AND ('FINITE_SPACE' IN spc2types) THEN - set1 := []; - REPEAT i := spc1\finite_integer_interval.min TO spc1\finite_integer_interval.max; - set1 := set1 + [i]; - END_REPEAT; - RETURN (equal_maths_spaces(make_finite_space(set1),spc2)); - END_IF; - IF ('CARTESIAN_COMPLEX_NUMBER_REGION' IN spc1types) AND - ('POLAR_COMPLEX_NUMBER_REGION' IN spc2types) THEN - -- Quadrants and half spaces have two representations - RETURN (equal_cregion_pregion(spc1,spc2)); - END_IF; - IF ('POLAR_COMPLEX_NUMBER_REGION' IN spc1types) AND - ('CARTESIAN_COMPLEX_NUMBER_REGION' IN spc2types) THEN - -- Quadrants and half spaces have two representations - RETURN (equal_cregion_pregion(spc2,spc1)); - END_IF; - IF 'UNIFORM_PRODUCT_SPACE' IN spc1types THEN - base := spc1\uniform_product_space.base; - expnt := spc1\uniform_product_space.exponent; - IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN - IF expnt <> spc2\uniform_product_space.exponent THEN RETURN (FALSE); END_IF; - RETURN (equal_maths_spaces(base,spc2\uniform_product_space.base)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN - factors := spc2\listed_product_space.factors; - IF expnt <> SIZEOF (factors) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND equal_maths_spaces(base,factors[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN spc1types THEN - factors := spc1\listed_product_space.factors; - IF 'UNIFORM_PRODUCT_SPACE' IN spc2types THEN - IF spc2\uniform_product_space.exponent <> SIZEOF (factors) THEN - RETURN (FALSE); - END_IF; - base := spc2\uniform_product_space.base; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND equal_maths_spaces(base,factors[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN spc2types THEN - factors2 := spc2\listed_product_space.factors; - IF SIZEOF (factors) <> SIZEOF (factors2) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND equal_maths_spaces(factors[i],factors2[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - END_IF; - IF ('EXTENDED_TUPLE_SPACE' IN spc1types) AND - ('EXTENDED_TUPLE_SPACE' IN spc2types) THEN - RETURN (equal_maths_spaces(spc1\extended_tuple_space.extender, - spc2\extended_tuple_space.extender) AND equal_maths_spaces( - spc1\extended_tuple_space.base, spc2\extended_tuple_space.base)); - END_IF; - IF ('FUNCTION_SPACE' IN spc1types) AND - ('FUNCTION_SPACE' IN spc2types) THEN - fs1 := spc1; - fs2 := spc2; - IF fs1.domain_constraint <> fs2.domain_constraint THEN - IF (fs1.domain_constraint = sc_equal) OR (fs2.domain_constraint = sc_equal) THEN - RETURN (FALSE); - END_IF; - IF (fs1.domain_constraint <> sc_subspace) THEN - fs1 := spc2; - fs2 := spc1; - END_IF; - IF (fs1.domain_constraint <> sc_subspace) OR - (fs2.domain_constraint <> sc_member) THEN - -- Safety check. Should be unreachable. - RETURN (UNKNOWN); - END_IF; - IF any_space_satisfies(fs1.domain_constraint,fs1.domain_argument) <> - any_space_satisfies(fs2.domain_constraint,fs2.domain_argument) THEN - RETURN (FALSE); - END_IF; - IF NOT ('FINITE_SPACE' IN stripped_typeof(fs2.domain_argument)) THEN - RETURN (FALSE); - END_IF; - IF SIZEOF (['FINITE_SPACE','FINITE_INTEGER_INTERVAL'] * - stripped_typeof(fs1.domain_argument)) = 0 THEN - RETURN (FALSE); - END_IF; - -- Remaining cases too complex. - RETURN (UNKNOWN); - END_IF; - cum := equal_maths_spaces(fs1.domain_argument,fs2.domain_argument); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - IF fs1.range_constraint <> fs2.range_constraint THEN - IF (fs1.range_constraint = sc_equal) OR (fs2.range_constraint = sc_equal) THEN - RETURN (FALSE); - END_IF; - IF (fs1.range_constraint <> sc_subspace) THEN - fs1 := spc2; - fs2 := spc1; - END_IF; - IF (fs1.range_constraint <> sc_subspace) OR - (fs2.range_constraint <> sc_member) THEN - -- Safety check. Should be unreachable. - RETURN (UNKNOWN); - END_IF; - IF any_space_satisfies(fs1.range_constraint,fs1.range_argument) <> - any_space_satisfies(fs2.range_constraint,fs2.range_argument) THEN - RETURN (FALSE); - END_IF; - IF NOT ('FINITE_SPACE' IN stripped_typeof(fs2.range_argument)) THEN - RETURN (FALSE); - END_IF; - IF SIZEOF (['FINITE_SPACE','FINITE_INTEGER_INTERVAL'] * - stripped_typeof(fs1.range_argument)) = 0 THEN - RETURN (FALSE); - END_IF; - -- Remaining cases too complex. - RETURN (UNKNOWN); - END_IF; - cum := cum AND equal_maths_spaces(fs1.range_argument,fs2.range_argument); - RETURN (cum); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- equal_maths_spaces - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_cregion_pregion(crgn : cartesian_complex_number_region; - prgn : polar_complex_number_region) : LOGICAL; - LOCAL - arng, amin, xc, yc : REAL; - aitv, xitv, yitv : real_interval; - c_in : BOOLEAN; - END_LOCAL; - IF NOT EXISTS (crgn) OR NOT EXISTS (prgn) THEN RETURN (FALSE); END_IF; - IF max_exists(prgn.distance_constraint) THEN RETURN (FALSE); END_IF; - IF real_min(prgn.distance_constraint) <> 0.0 THEN RETURN (FALSE); END_IF; - c_in := min_included(prgn.distance_constraint); - aitv := prgn.direction_constraint; - amin := aitv.min; - arng := aitv.max - amin; - xc := prgn.centre.real_part; - yc := prgn.centre.imag_part; - xitv := crgn.real_constraint; - yitv := crgn.imag_constraint; - IF arng = 0.5*PI THEN - IF amin = 0.0 THEN -- quadrant to upper right - RETURN (NOT max_exists(xitv) AND NOT max_exists(yitv) AND min_exists(xitv) - AND min_exists(yitv) AND (real_min(xitv) = xc) AND (real_min(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND NOT min_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND NOT min_included(yitv)))); - END_IF; - IF amin = 0.5*PI THEN -- quadrant to upper left - RETURN (max_exists(xitv) AND NOT max_exists(yitv) AND NOT min_exists(xitv) - AND min_exists(yitv) AND (real_max(xitv) = xc) AND (real_min(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND NOT min_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND NOT min_included(yitv)))); - END_IF; - IF amin = -PI THEN -- quadrant to lower left - RETURN (max_exists(xitv) AND max_exists(yitv) AND NOT min_exists(xitv) - AND NOT min_exists(yitv) AND (real_max(xitv) = xc) AND (real_max(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND max_included(xitv) AND NOT max_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv) AND NOT max_included(yitv)))); - END_IF; - IF amin = -0.5*PI THEN -- quadrant to lower right - RETURN (NOT max_exists(xitv) AND max_exists(yitv) AND min_exists(xitv) - AND NOT min_exists(yitv) AND (real_min(xitv) = xc) AND (real_max(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND max_included(aitv) - AND min_included(xitv) AND NOT max_included(yitv)) - OR (NOT c_in AND min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv) AND NOT max_included(yitv)))); - END_IF; - END_IF; - IF arng = PI THEN - IF amin = 0.0 THEN -- upper half space - RETURN (NOT max_exists(xitv) AND NOT max_exists(yitv) AND NOT min_exists(xitv) - AND min_exists(yitv) AND (real_min(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(yitv)))); - END_IF; - IF amin = 0.5*PI THEN -- left half space - RETURN (max_exists(xitv) AND NOT max_exists(yitv) AND NOT min_exists(xitv) - AND NOT min_exists(yitv) AND (real_max(xitv) = xc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(xitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(xitv)))); - END_IF; - IF amin = -PI THEN -- lower half space - RETURN (NOT max_exists(xitv) AND max_exists(yitv) AND NOT min_exists(xitv) - AND NOT min_exists(yitv) AND (real_max(yitv) = yc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND max_included(yitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT max_included(yitv)))); - END_IF; - IF amin = -0.5*PI THEN -- right half space - RETURN (NOT max_exists(xitv) AND NOT max_exists(yitv) AND min_exists(xitv) - AND NOT min_exists(yitv) AND (real_min(xitv) = xc) - AND ((c_in AND min_included(aitv) AND max_included(aitv) - AND min_included(xitv)) - OR (NOT c_in AND NOT min_included(aitv) AND NOT max_included(aitv) - AND NOT min_included(xitv)))); - END_IF; - END_IF; - RETURN (FALSE); -END_FUNCTION; -- equal_cregion_pregion - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION space_is_singleton(spc : maths_space) : BOOLEAN; - LOCAL - types : SET OF STRING := stripped_typeof (spc); - END_LOCAL; - IF 'FINITE_SPACE' IN types THEN - RETURN (bool(SIZEOF (spc\finite_space.members) = 1)); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN types THEN - RETURN (bool(spc\finite_integer_interval.size = 1)); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- space_is_singleton - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION singleton_member_of(spc : maths_space) : maths_value; - LOCAL - types : SET OF STRING := stripped_typeof (spc); - END_LOCAL; - IF 'FINITE_SPACE' IN types THEN - IF SIZEOF (spc\finite_space.members) = 1 THEN - RETURN (spc\finite_space.members[1]); - END_IF; - RETURN (?); - END_IF; - IF 'FINITE_INTEGER_INTERVAL' IN types THEN - IF spc\finite_integer_interval.size = 1 THEN - RETURN (spc\finite_integer_interval.min); - END_IF; - RETURN (?); - END_IF; - RETURN (?); -END_FUNCTION; -- singleton_member_of - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION definite_integral_expr_check(operands : LIST [2:?] OF generic_expression; - lowerinf : BOOLEAN; - upperinf : BOOLEAN) : BOOLEAN; - LOCAL - nops : INTEGER := 2; - vspc : maths_space; - dim : nonnegative_integer; - k : positive_integer; - bspc : maths_space; - END_LOCAL; - IF NOT lowerinf THEN nops := nops + 1; END_IF; - IF NOT upperinf THEN nops := nops + 1; END_IF; - IF SIZEOF (operands) <> nops THEN RETURN (FALSE); END_IF; - IF NOT ('GENERIC_VARIABLE' IN stripped_typeof(operands[2])) THEN - RETURN (FALSE); - END_IF; - IF NOT has_values_space (operands[2]) THEN RETURN (FALSE); END_IF; - vspc := values_space_of (operands[2]); - IF NOT ('REAL_INTERVAL' IN stripped_typeof(vspc)) THEN RETURN (FALSE); END_IF; - IF lowerinf THEN - IF min_exists (vspc) THEN RETURN (FALSE); END_IF; - k := 3; - ELSE - IF NOT has_values_space (operands[3]) THEN RETURN (FALSE); END_IF; - bspc := values_space_of (operands[3]); - IF NOT compatible_spaces (bspc, vspc) THEN RETURN (FALSE); END_IF; - k := 4; - END_IF; - IF upperinf THEN - IF max_exists (vspc) THEN RETURN (FALSE); END_IF; - ELSE - IF NOT has_values_space (operands[k]) THEN RETURN (FALSE); END_IF; - bspc := values_space_of (operands[k]); - IF NOT compatible_spaces (bspc, vspc) THEN RETURN (FALSE); END_IF; - END_IF; - RETURN (TRUE); -END_FUNCTION; -- definite_integral_expr_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION nondecreasing(lr : LIST OF REAL) : BOOLEAN; - IF NOT EXISTS (lr) THEN - RETURN (FALSE); - END_IF; - REPEAT j := 2 TO SIZEOF (lr); - IF lr[j] < lr[j-1] THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_table(func : maths_function) : BOOLEAN; - LOCAL - tspace : tuple_space; - temp : maths_space; - base : INTEGER; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - tspace := func.domain; - IF (space_dimension (tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (tspace))) THEN - tspace := factor1 (tspace); - END_IF; - IF NOT ((schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (tspace)) THEN - RETURN (FALSE); - END_IF; - temp := factor1 (tspace); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - base := temp\finite_integer_interval.min; - IF (base <> 0) AND (base <> 1) THEN - RETURN (FALSE); - END_IF; - REPEAT i := 2 TO space_dimension (tspace); - temp := factor_space (tspace, i); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - IF temp\finite_integer_interval.min <> base THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- function_is_table - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compare_basis_and_coef(basis : LIST [1:?] OF b_spline_basis; - coef : maths_function) : BOOLEAN; - LOCAL - shape : LIST OF positive_integer; - END_LOCAL; - IF NOT EXISTS (basis) OR NOT EXISTS (coef) THEN RETURN (FALSE); END_IF; - shape := shape_of_array(coef); - IF NOT EXISTS (shape) THEN RETURN (FALSE); END_IF; - IF SIZEOF (shape) < SIZEOF (basis) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (basis); - IF (basis[i].num_basis = shape[i]) <> TRUE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- compare_basis_and_coef - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION number_tuple_subspace_check(spc : maths_space) : LOGICAL; - LOCAL - types : SET OF STRING := stripped_typeof(spc); - factors : LIST OF maths_space; - cum : LOGICAL := TRUE; - END_LOCAL; - IF 'UNIFORM_PRODUCT_SPACE' IN types THEN - RETURN (subspace_of_es(spc\uniform_product_space.base,es_numbers)); - END_IF; - IF 'LISTED_PRODUCT_SPACE' IN types THEN - factors := spc\listed_product_space.factors; - REPEAT i := 1 TO SIZEOF (factors); - cum := cum AND subspace_of_es(factors[i],es_numbers); - END_REPEAT; - RETURN (cum); - END_IF; - IF 'EXTENDED_TUPLE_SPACE' IN types THEN - cum := subspace_of_es(spc\extended_tuple_space.extender,es_numbers); - cum := cum AND number_tuple_subspace_check(spc\extended_tuple_space.base); - RETURN (cum); - END_IF; - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION partial_derivative_check(domain : tuple_space; - d_vars : LIST [1:?] OF input_selector) : BOOLEAN; - LOCAL - domn : tuple_space := domain; - fspc : maths_space; - dim : INTEGER; - k : INTEGER; - END_LOCAL; - IF (space_dimension (domain) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (domain))) THEN - domn := factor1 (domain); - END_IF; - dim := space_dimension (domn); - REPEAT i := 1 TO SIZEOF (d_vars); - k := d_vars[i]; - IF k > dim THEN - RETURN (FALSE); - END_IF; - fspc := factor_space (domn, k); - IF (NOT subspace_of_es (fspc,es_reals)) AND - (NOT subspace_of_es (fspc,es_complex_numbers)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- partial_derivative_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_definite_integral_domain(igrl : definite_integral_function) - : tuple_space; - - -- Internal utility function: - FUNCTION process_product_space(spc : product_space; - idx, prefix : INTEGER; - vdomn : maths_space) : product_space; - LOCAL - uspc : uniform_product_space; - expnt : INTEGER; - factors : LIST OF maths_space; - END_LOCAL; - IF (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN TYPEOF (spc) THEN - uspc := spc; - expnt := uspc.exponent + prefix; - IF idx <= uspc.exponent THEN expnt := expnt - 1; END_IF; - IF expnt = 0 THEN - RETURN (make_listed_product_space([])); - ELSE - RETURN (make_uniform_product_space(uspc.base,expnt)); - END_IF; - ELSE - factors := spc\listed_product_space.factors; - IF idx <= SIZEOF (factors) THEN REMOVE (factors, idx); END_IF; - IF prefix > 0 THEN - INSERT (factors, vdomn, 0); - IF prefix > 1 THEN INSERT (factors, vdomn, 0); END_IF; - END_IF; - RETURN (make_listed_product_space(factors)); - END_IF; - END_FUNCTION; -- process_product_space - - -- Resume body of derive_definite_integral_domain function - LOCAL - idomn : tuple_space := igrl.integrand.domain; - types : SET OF STRING := TYPEOF (idomn); - idx : INTEGER := igrl.variable_of_integration; - tupled : BOOLEAN := bool(((space_dimension(idomn) = 1) AND - ((schema_prefix + 'TUPLE_SPACE') IN types))); - prefix : INTEGER := 0; - espc : extended_tuple_space; - vdomn : maths_space; - END_LOCAL; - IF tupled THEN - idomn := factor1(idomn); - types := TYPEOF (idomn); - END_IF; - IF igrl.lower_limit_neg_infinity THEN prefix := prefix + 1; END_IF; - IF igrl.upper_limit_pos_infinity THEN prefix := prefix + 1; END_IF; - vdomn := factor_space(idomn,idx); - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN types THEN - espc := idomn; - idomn := make_extended_tuple_space(process_product_space(espc.base,idx, - prefix,vdomn),espc.extender); - ELSE - idomn := process_product_space(idomn,idx,prefix,vdomn); - END_IF; - IF tupled THEN RETURN (one_tuples_of(idomn)); - ELSE RETURN (idomn); END_IF; -END_FUNCTION; -- derive_definite_integral_domain - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION definite_integral_check(domain : tuple_space; - vrblint : input_selector; - lowerinf : BOOLEAN; - upperinf : BOOLEAN) : BOOLEAN; - LOCAL - domn : tuple_space := domain; - fspc : maths_space; - dim : nonnegative_integer; - k : positive_integer; - END_LOCAL; - IF (space_dimension (domain) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (factor1 (domain))) THEN - domn := factor1 (domain); - END_IF; - dim := space_dimension (domn); - k := vrblint; - IF k > dim THEN RETURN (FALSE); END_IF; - fspc := factor_space (domn, k); - IF NOT ((schema_prefix + 'REAL_INTERVAL') IN TYPEOF (fspc)) THEN - RETURN (FALSE); - END_IF; - IF lowerinf AND min_exists (fspc) THEN RETURN (FALSE); END_IF; - IF upperinf AND max_exists (fspc) THEN RETURN (FALSE); END_IF; - RETURN (TRUE); -END_FUNCTION; -- definite_integral_check - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION remove_first(alist : LIST OF GENERIC:GEN) : LIST OF GENERIC:GEN; - LOCAL - blist : LIST OF GENERIC:GEN := alist; - END_LOCAL; - IF SIZEOF (blist) > 0 THEN - REMOVE (blist, 1); - END_IF; - RETURN (blist); -END_FUNCTION; -- remove_first - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_function_range(func : maths_function) : tuple_space; - LOCAL - typenames : SET OF STRING := stripped_typeof(func); - tspace : tuple_space := make_listed_product_space ([]); - m, n : nonnegative_integer := 0; - temp : INTEGER := 0; - END_LOCAL; - IF 'FINITE_FUNCTION' IN typenames THEN - RETURN (derive_finite_function_range (func\finite_function.pairs)); - END_IF; - IF 'CONSTANT_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_finite_space ([func\constant_function.sole_output]))); - END_IF; - IF 'SELECTOR_FUNCTION' IN typenames THEN - tspace := func.domain; - IF (space_dimension(tspace) = 1) AND ((schema_prefix + 'TUPLE_SPACE') IN - TYPEOF (tspace)) THEN - tspace := factor1 (tspace); - END_IF; - RETURN (one_tuples_of (factor_space (tspace, func\selector_function.selector))); - END_IF; - IF 'ELEMENTARY_FUNCTION' IN typenames THEN - RETURN (derive_elementary_function_range (func\elementary_function.func_id)); - END_IF; - IF 'RESTRICTION_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (func\restriction_function.operand)); - END_IF; - IF 'REPACKAGING_FUNCTION' IN typenames THEN - tspace := func\repackaging_function.operand.range; - IF func\repackaging_function.output_repack = ro_wrap_as_tuple THEN - tspace := one_tuples_of (tspace); - END_IF; - IF func\repackaging_function.output_repack = ro_unwrap_tuple THEN - tspace := factor1 (tspace); - END_IF; - IF func\repackaging_function.selected_output > 0 THEN - tspace := one_tuples_of (factor_space (tspace, - func\repackaging_function.selected_output)); - END_IF; - RETURN (tspace); - END_IF; - IF 'REINDEXED_ARRAY_FUNCTION' IN typenames THEN - RETURN (func\unary_generic_expression.operand\maths_function.range); - END_IF; - IF 'SERIES_COMPOSED_FUNCTION' IN typenames THEN - RETURN (func\series_composed_function.operands[SIZEOF - (func\series_composed_function.operands)].range); - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN typenames THEN - RETURN (func\parallel_composed_function.final_function.range); - END_IF; - IF 'EXPLICIT_TABLE_FUNCTION' IN typenames THEN - IF 'LISTED_REAL_DATA' IN typenames THEN - RETURN (one_tuples_of (the_reals)); - END_IF; - IF 'LISTED_INTEGER_DATA' IN typenames THEN - RETURN (one_tuples_of (the_integers)); - END_IF; - IF 'LISTED_LOGICAL_DATA' IN typenames THEN - RETURN (one_tuples_of (the_logicals)); - END_IF; - IF 'LISTED_STRING_DATA' IN typenames THEN - RETURN (one_tuples_of (the_strings)); - END_IF; - IF 'LISTED_COMPLEX_NUMBER_DATA' IN typenames THEN - RETURN (one_tuples_of (the_complex_numbers)); - END_IF; - IF 'LISTED_DATA' IN typenames THEN - RETURN (one_tuples_of (func\listed_data.value_range)); - END_IF; - IF 'EXTERNALLY_LISTED_DATA' IN typenames THEN - RETURN (one_tuples_of (func\externally_listed_data.value_range)); - END_IF; - IF 'LINEARIZED_TABLE_FUNCTION' IN typenames THEN - RETURN (func\linearized_table_function.source.range); - END_IF; - IF 'BASIC_SPARSE_MATRIX' IN typenames THEN - RETURN (func\basic_sparse_matrix.val.range); - END_IF; - -- Unreachable, as no other subtypes of explicit_table_function are permissible - -- without first modifying this function to account for them. - RETURN (?); - END_IF; - IF 'HOMOGENEOUS_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\homogeneous_linear_function.mat.range), - func\homogeneous_linear_function.mat\explicit_table_function.shape - [3 - func\homogeneous_linear_function.sum_index]))); - END_IF; - IF 'GENERAL_LINEAR_FUNCTION' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space - (factor1 (func\general_linear_function.mat.range), - func\general_linear_function.mat\explicit_table_function.shape - [3 - func\general_linear_function.sum_index]))); - END_IF; - IF 'B_SPLINE_BASIS' IN typenames THEN - RETURN (one_tuples_of (make_uniform_product_space (the_reals, - func\b_spline_basis.num_basis))); - END_IF; - IF 'B_SPLINE_FUNCTION' IN typenames THEN - tspace := factor1 (func\b_spline_function.coef.domain); - m := SIZEOF (func\b_spline_function.basis); - n := space_dimension (tspace); - IF m = n THEN - RETURN (one_tuples_of (the_reals)); - END_IF; - IF m = n - 1 THEN - RETURN (one_tuples_of (make_uniform_product_space (the_reals, - factor_space (tspace, n)\finite_integer_interval.size))); - END_IF; - tspace := extract_factors (tspace, m+1, n); - RETURN (one_tuples_of (make_function_space (sc_equal, tspace, sc_subspace, - number_superspace_of (func\b_spline_function.coef.range)))); - END_IF; - IF 'RATIONALIZE_FUNCTION' IN typenames THEN - tspace := factor1 (func\rationalize_function.fun.range); - n := space_dimension (tspace); - RETURN (one_tuples_of (make_uniform_product_space (number_superspace_of ( - factor1 (tspace)), n-1))); - END_IF; - IF 'PARTIAL_DERIVATIVE_FUNCTION' IN typenames THEN - RETURN (drop_numeric_constraints ( - func\partial_derivative_function.derivand.range)); - END_IF; - IF 'DEFINITE_INTEGRAL_FUNCTION' IN typenames THEN - RETURN (drop_numeric_constraints ( - func\definite_integral_function.integrand.range)); - END_IF; - IF 'ABSTRACTED_EXPRESSION_FUNCTION' IN typenames THEN - RETURN (one_tuples_of(values_space_of(func\abstracted_expression_function.expr))); - END_IF; - IF 'EXPRESSION_DENOTED_FUNCTION' IN typenames THEN - RETURN (values_space_of (func\expression_denoted_function.expr)\function_space. - range_argument); - END_IF; - IF 'IMPORTED_POINT_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_point_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'IMPORTED_CURVE_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_curve_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'IMPORTED_SURFACE_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_surface_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'IMPORTED_VOLUME_FUNCTION' IN typenames THEN - temp := dimension_of (func\imported_volume_function.geometry); - RETURN (one_tuples_of (make_uniform_product_space (the_reals, temp))); - END_IF; - IF 'APPLICATION_DEFINED_FUNCTION' IN typenames THEN - RETURN (func\application_defined_function.explicit_range); - END_IF; - -- Unreachable, as no other subtypes of maths_function are permissible without - -- first modifying this function to account for them. - RETURN (?); -END_FUNCTION; -- derive_function_range - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_finite_function_range(pairs : SET [1:?] OF LIST [2:2] OF maths_value) - : tuple_space; - LOCAL - result : SET OF maths_value := []; - END_LOCAL; --- An ambiguity in ISO 10303-11:1994 pages 99-101 leaves the result of the following --- three lines ambiguous in those cases where an operand is simultaneously a member --- of the base type and the aggregate type. --- REPEAT i := 1 TO SIZEOF (pairs); --- result := result + pairs[i][2]; --- END_REPEAT; --- The next line unions an empty set and the desired list to get the desired set. - result := result + list_selected_components (pairs, 2); - RETURN (one_tuples_of (make_finite_space (result))); -END_FUNCTION; -- derive_finite_function_range - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION derive_elementary_function_range(ef_val : elementary_function_enumerators) - : tuple_space; - IF NOT EXISTS (ef_val) THEN RETURN (?); END_IF; - CASE ef_val OF - ef_and : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_or : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_not : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_xor : RETURN (make_uniform_product_space (the_logicals, 2)); - ef_negate_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_add_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_subtract_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_multiply_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_divide_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_mod_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_exponentiate_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_eq_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_i : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_abs_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_if_i : RETURN (make_uniform_product_space (the_integers, 1)); - ef_negate_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_reciprocal_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_add_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_subtract_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_multiply_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_divide_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_mod_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_exponentiate_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_exponentiate_ri : RETURN (make_uniform_product_space (the_reals, 1)); - ef_eq_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_r : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_abs_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_acos_r : RETURN (make_uniform_product_space (the_zero_pi_interval, 1)); - ef_asin_r : RETURN (make_uniform_product_space (the_neghalfpi_halfpi_interval, 1)); - ef_atan2_r : RETURN (make_uniform_product_space (the_negpi_pi_interval, 1)); - ef_cos_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_exp_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_ln_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_log2_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_log10_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_sin_r : RETURN (make_uniform_product_space (the_neg1_one_interval, 1)); - ef_sqrt_r : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_tan_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_if_r : RETURN (make_uniform_product_space (the_reals, 1)); - ef_negate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_reciprocal_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_add_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_subtract_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_multiply_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_divide_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exponentiate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exponentiate_ci : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_eq_c : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_c : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_conjugate_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_abs_c : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_arg_c : RETURN (make_uniform_product_space (the_negpi_pi_interval, 1)); - ef_cos_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_exp_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_ln_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sin_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_sqrt_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_tan_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_if_c : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_subscript_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_eq_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_s : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_subsequence_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_concat_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_size_s : RETURN (make_uniform_product_space (the_integers, 1)); - ef_format : RETURN (make_uniform_product_space (the_strings, 1)); - ef_value : RETURN (make_uniform_product_space (the_reals, 1)); - ef_like : RETURN (make_uniform_product_space (the_booleans, 1)); - ef_if_s : RETURN (make_uniform_product_space (the_strings, 1)); - ef_subscript_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_eq_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_gt_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_lt_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ge_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_le_b : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_subsequence_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_concat_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_size_b : RETURN (make_uniform_product_space (the_integers, 1)); - ef_if_b : RETURN (make_uniform_product_space (the_binarys, 1)); - ef_subscript_t : RETURN (make_uniform_product_space (the_generics, 1)); - ef_eq_t : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_ne_t : RETURN (make_uniform_product_space (the_logicals, 1)); - ef_concat_t : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_size_t : RETURN (make_uniform_product_space (the_integers, 1)); - ef_entuple : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_detuple : RETURN (the_tuples); - ef_insert : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_remove : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_if_t : RETURN (make_uniform_product_space (the_tuples, 1)); - ef_sum_it : RETURN (make_uniform_product_space (the_integers, 1)); - ef_product_it : RETURN (make_uniform_product_space (the_integers, 1)); - ef_add_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_subtract_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_scalar_mult_it : RETURN (make_uniform_product_space (the_integer_tuples, 1)); - ef_dot_prod_it : RETURN (make_uniform_product_space (the_integers, 1)); - ef_sum_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_product_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_add_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_subtract_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_scalar_mult_rt : RETURN (make_uniform_product_space (the_real_tuples, 1)); - ef_dot_prod_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_norm_rt : RETURN (make_uniform_product_space (the_reals, 1)); - ef_sum_ct : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_product_ct : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_add_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_subtract_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_scalar_mult_ct : RETURN (make_uniform_product_space (the_complex_tuples, 1)); - ef_dot_prod_ct : RETURN (make_uniform_product_space (the_complex_numbers, 1)); - ef_norm_ct : RETURN (make_uniform_product_space (the_nonnegative_reals, 1)); - ef_if : RETURN (make_uniform_product_space (the_generics, 1)); - ef_ensemble : RETURN (make_uniform_product_space (the_maths_spaces, 1)); - ef_member_of : RETURN (make_uniform_product_space (the_logicals, 1)); - OTHERWISE : RETURN (?); - END_CASE; -END_FUNCTION; -- derive_elementary_function_range - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_1d_array(func : maths_function) : BOOLEAN; - LOCAL - temp : maths_space; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - IF space_dimension (func.domain) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (func.domain); - IF (schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (temp) THEN - IF space_dimension (temp) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (temp); - END_IF; - IF (schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp) THEN - RETURN (TRUE); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- function_is_1d_array - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_is_1d_table(func : maths_function) : BOOLEAN; - LOCAL - temp : maths_space; - itvl : finite_integer_interval; - END_LOCAL; - IF NOT EXISTS (func) THEN RETURN (FALSE); END_IF; - IF space_dimension (func.domain) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (func.domain); - IF (schema_prefix + 'PRODUCT_SPACE') IN TYPEOF (temp) THEN - IF space_dimension (temp) <> 1 THEN RETURN (FALSE); END_IF; - temp := factor1 (temp); - END_IF; - IF (schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp) THEN - itvl := temp; - RETURN (bool((itvl.min = 0) OR (itvl.min = 1))); - END_IF; - RETURN (FALSE); -END_FUNCTION; -- function_is_1d_table - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION check_sparse_index_domain(idxdom : tuple_space; - base : zero_or_one; - shape : LIST [1:?] OF positive_integer; - order : ordering_type) : BOOLEAN; - LOCAL - mthspc : maths_space; - interval : finite_integer_interval; - i : INTEGER; - END_LOCAL; - mthspc := factor1(idxdom); - -- A consequence of WR1 of basic_sparse_matrix is that here we need only - -- consider the case that mthspc is a finite integer interval and is the only - -- factor space of idxdom. - interval := mthspc; - IF order = by_rows THEN i := 1; ELSE i := 2; END_IF; - RETURN (bool((interval.min <= base) AND (interval.max >= base + shape[i]))); - -- The index function is evaluated at (base+shape[i]) when determining the - -- upper search bound for entries of the last row or column, respectively. -END_FUNCTION; -- check_sparse_index_domain; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION check_sparse_index_to_loc(index_range, loc_domain : tuple_space) : BOOLEAN; - LOCAL - temp : maths_space; - idx_rng_itvl, loc_dmn_itvl : finite_integer_interval; - END_LOCAL; - temp := factor1 (index_range); - IF (schema_prefix + 'TUPLE_SPACE') IN TYPEOF (temp) THEN - temp := factor1 (temp); - END_IF; - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - idx_rng_itvl := temp; - temp := factor1 (loc_domain); - IF (schema_prefix + 'TUPLE_SPACE') IN TYPEOF (temp) THEN - temp := factor1 (temp); - END_IF; - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (temp)) THEN - RETURN (FALSE); - END_IF; - loc_dmn_itvl := temp; - RETURN (bool((loc_dmn_itvl.min <= idx_rng_itvl.min) AND - (idx_rng_itvl.max <= loc_dmn_itvl.max+1))); -END_FUNCTION; -- check_sparse_index_to_loc - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION check_sparse_loc_range(locrng : tuple_space; - base : zero_or_one; - shape : LIST [1:?] OF positive_integer; - order : ordering_type) : BOOLEAN; - LOCAL - mthspc : maths_space; - interval : finite_integer_interval; - i : INTEGER; - END_LOCAL; - IF space_dimension(locrng) <> 1 THEN RETURN (FALSE); END_IF; - mthspc := factor1(locrng); - IF NOT ((schema_prefix + 'FINITE_INTEGER_INTERVAL') IN TYPEOF (mthspc)) THEN - RETURN (FALSE); - END_IF; - interval := mthspc; - IF order = by_rows THEN i := 2; ELSE i := 1; END_IF; - RETURN (bool((interval.min >= base) AND (interval.max <= base + shape[i] - 1))); -END_FUNCTION; -- check_sparse_loc_range; - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION extract_factors(tspace : tuple_space; - m, n : INTEGER) : tuple_space; - LOCAL - tsp : tuple_space := the_zero_tuple_space; - END_LOCAL; - REPEAT i := m TO n; - tsp := assoc_product_space (tsp, factor_space (tspace, i)); - END_REPEAT; - RETURN (tsp); -END_FUNCTION; -- extract_factors - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_elementary_function(func_id : elementary_function_enumerators) - : elementary_function; - RETURN (elementary_function (func_id) - || maths_function() - || generic_expression() - || generic_literal() - || simple_generic_expression() ); -END_FUNCTION; -- make_elementary_function - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_operands(values : AGGREGATE OF maths_value) - : LIST OF generic_expression; - LOCAL - operands : LIST OF generic_expression := []; - loc : INTEGER := 0; - END_LOCAL; - IF NOT EXISTS (values) THEN RETURN (?); END_IF; - REPEAT i := LOINDEX (values) TO HIINDEX (values); - INSERT (operands, convert_to_operand (values[i]), loc); - loc := loc + 1; - END_REPEAT; - RETURN (operands); -END_FUNCTION; -- convert_to_operands - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_operand(val : maths_value) : generic_expression; - LOCAL - types : SET OF STRING := stripped_typeof (val); - END_LOCAL; - -- Use intermediate variables of appropriate declared types to help the compilers. - IF 'GENERIC_EXPRESSION' IN types THEN RETURN (val); END_IF; - IF 'MATHS_ATOM' IN types THEN RETURN (convert_to_literal (val)); END_IF; - IF 'ATOM_BASED_VALUE' IN types THEN RETURN (make_atom_based_literal(val)); END_IF; - IF 'MATHS_TUPLE' IN types THEN RETURN (make_maths_tuple_literal(val)); END_IF; - -- Should be unreachable - RETURN (?); -END_FUNCTION; -- convert_to_operand - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION convert_to_literal(val : maths_atom) : generic_literal; - LOCAL - types : SET OF STRING := TYPEOF (val); - END_LOCAL; - IF 'INTEGER' IN types THEN RETURN (make_int_literal (val)); END_IF; - IF 'REAL' IN types THEN RETURN (make_real_literal (val)); END_IF; - IF 'BOOLEAN' IN types THEN RETURN (make_boolean_literal (val)); END_IF; - IF 'STRING' IN types THEN RETURN (make_string_literal (val)); END_IF; - IF 'LOGICAL' IN types THEN RETURN (make_logical_literal (val)); END_IF; - IF 'BINARY' IN types THEN RETURN (make_binary_literal (val)); END_IF; - IF (schema_prefix + 'MATHS_ENUM_ATOM') IN types THEN - RETURN (make_maths_enum_literal (val)); - END_IF; - -- Should be unreachable - RETURN (?); -END_FUNCTION; -- convert_to_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_boolean_literal(lit_value : BOOLEAN) : boolean_literal; - RETURN (boolean_literal (lit_value) - || simple_boolean_expression() - || boolean_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_boolean_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_string_literal(lit_value : STRING) : string_literal; - RETURN (string_literal (lit_value) - || simple_string_expression() - || string_expression() - || expression() - || generic_expression() - || simple_generic_expression() - || generic_literal() ); -END_FUNCTION; -- make_string_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_logical_literal(lit_value : LOGICAL) : logical_literal; - RETURN (logical_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_logical_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_binary_literal(lit_value : BINARY) : binary_literal; - RETURN (binary_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_binary_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_maths_enum_literal(lit_value : maths_enum_atom) : maths_enum_literal; - RETURN (maths_enum_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_maths_enum_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_atom_based_literal(lit_value : atom_based_value) : atom_based_literal; - RETURN (atom_based_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_atom_based_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_maths_tuple_literal(lit_value : LIST OF maths_value) - : maths_tuple_literal; - RETURN (maths_tuple_literal (lit_value) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_maths_tuple_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION function_applicability(func : maths_function_select; - arguments : LIST [1:?] OF maths_value) : BOOLEAN; - LOCAL - domain : tuple_space := convert_to_maths_function(func).domain; - domain_types : SET OF STRING := TYPEOF (domain); - narg : positive_integer := SIZEOF (arguments); - arg : generic_expression; - END_LOCAL; - IF (schema_prefix + 'PRODUCT_SPACE') IN domain_types THEN - IF space_dimension (domain) <> narg THEN RETURN (FALSE); END_IF; - ELSE - IF (schema_prefix + 'EXTENDED_TUPLE_SPACE') IN domain_types THEN - IF space_dimension (domain) > narg THEN RETURN (FALSE); END_IF; - ELSE - RETURN (FALSE); -- Should be unreachable - END_IF; - END_IF; - REPEAT i := 1 TO narg; - arg := convert_to_operand (arguments[i]); - IF NOT has_values_space (arg) THEN RETURN (FALSE); END_IF; - IF NOT compatible_spaces (factor_space (domain, i), values_space_of (arg)) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_FUNCTION; -- function_applicability - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_complex_number_literal(rpart, ipart : REAL) : complex_number_literal; - RETURN (complex_number_literal (rpart, ipart) - || generic_literal() - || simple_generic_expression() - || generic_expression() ); -END_FUNCTION; -- make_complex_number_literal - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_function_application(afunction : maths_function_select; - arguments : LIST [1:?] OF maths_value) - : function_application; - RETURN (function_application (afunction, arguments) - || multiple_arity_generic_expression (convert_to_maths_function (afunction) + - convert_to_operands (arguments)) -- derived - || generic_expression() ); -END_FUNCTION; -- make_function_application - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_maths_values(val1, val2 : maths_value) : LOGICAL; - FUNCTION mem_of_vs(val1, val2 : maths_value) : LOGICAL; - IF NOT has_values_space(val2) THEN RETURN (UNKNOWN); END_IF; - IF NOT member_of(val1,values_space_of(val2)) THEN RETURN (FALSE); END_IF; - RETURN (UNKNOWN); - END_FUNCTION; -- mem_of_vs - LOCAL - types1, types2 : SET OF STRING; - list1, list2 : LIST OF maths_value; - cum : LOGICAL := TRUE; - END_LOCAL; - IF NOT EXISTS (val1) OR NOT EXISTS (val2) THEN RETURN (FALSE); END_IF; - IF val1 = val2 THEN RETURN (TRUE); END_IF; - types1 := stripped_typeof (val1); - types2 := stripped_typeof (val2); - IF ('MATHS_ATOM' IN types1) OR ('COMPLEX_NUMBER_LITERAL' IN types1) THEN - IF 'MATHS_ATOM' IN types2 THEN RETURN (FALSE); END_IF; - IF 'COMPLEX_NUMBER_LITERAL' IN types2 THEN RETURN (FALSE); END_IF; - IF 'LIST' IN types2 THEN RETURN (FALSE); END_IF; - IF 'MATHS_SPACE' IN types2 THEN RETURN (FALSE); END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (FALSE); END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF ('MATHS_ATOM' IN types2) OR ('COMPLEX_NUMBER_LITERAL' IN types2) THEN - RETURN (equal_maths_values(val2,val1)); - END_IF; - IF 'LIST' IN types1 THEN - IF 'LIST' IN types2 THEN - list1 := val1; - list2 := val2; - IF SIZEOF (list1) <> SIZEOF (list2) THEN RETURN (FALSE); END_IF; - REPEAT i := 1 TO SIZEOF (list1); - cum := cum AND equal_maths_values (list1[i], list2[i]); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - END_REPEAT; - RETURN (cum); - END_IF; - IF 'MATHS_SPACE' IN types2 THEN RETURN (FALSE); END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (FALSE); END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'LIST' IN types2 THEN RETURN (equal_maths_values(val2,val1)); END_IF; - IF 'MATHS_SPACE' IN types1 THEN - IF 'MATHS_SPACE' IN types2 THEN - RETURN (equal_maths_spaces(val1,val2)); - END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (FALSE); END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'MATHS_SPACE' IN types2 THEN RETURN (equal_maths_values(val2,val1)); END_IF; - IF 'MATHS_FUNCTION' IN types1 THEN - IF 'MATHS_FUNCTION' IN types2 THEN - RETURN (equal_maths_functions(val1,val2)); - END_IF; - IF 'GENERIC_EXPRESSION' IN types2 THEN RETURN (mem_of_vs(val1,val2)); END_IF; - RETURN (UNKNOWN); - END_IF; - IF 'MATHS_FUNCTION' IN types2 THEN RETURN (equal_maths_values(val2,val1)); END_IF; - IF ('GENERIC_EXPRESSION' IN types1) AND ('GENERIC_EXPRESSION' IN types2) THEN - IF NOT has_values_space(val1) OR NOT has_values_space(val2) THEN - RETURN (UNKNOWN); - END_IF; - IF NOT compatible_spaces(values_space_of(val1),values_space_of(val2)) THEN - RETURN (FALSE); - END_IF; - END_IF; - RETURN (UNKNOWN); -END_FUNCTION; -- equal_maths_values - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION equal_maths_functions(fun1, fun2 : maths_function) : LOGICAL; - LOCAL - cum : LOGICAL; - END_LOCAL; - IF fun1 = fun2 THEN RETURN (TRUE); END_IF; - cum := equal_maths_spaces(fun1.domain,fun2.domain); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - cum := cum AND equal_maths_spaces(fun1.range,fun2.range); - IF cum = FALSE THEN RETURN (FALSE); END_IF; - -- A lot of further analysis is possible, but not required. - RETURN (UNKNOWN); -END_FUNCTION; -- equal_maths_functions - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION substitute(expr : generic_expression; - vars : LIST [1:?] OF generic_variable; - vals : LIST [1:?] OF maths_value) : generic_expression; - LOCAL - types : SET OF STRING := stripped_typeof(expr); - opnds : LIST OF generic_expression; - op1, op2 : generic_expression; - qvars : LIST OF generic_variable; - srcdom : maths_space_or_function; - prpfun : LIST [1:?] OF maths_function; - finfun : maths_function_select; - END_LOCAL; - IF SIZEOF (vars) <> SIZEOF (vals) THEN RETURN (?); END_IF; - IF 'GENERIC_LITERAL' IN types THEN RETURN (expr); END_IF; - IF 'GENERIC_VARIABLE' IN types THEN - REPEAT i := 1 TO SIZEOF (vars); - IF expr :=: vars[i] THEN RETURN (vals[i]); END_IF; - END_REPEAT; - RETURN (expr); - END_IF; - IF 'QUANTIFIER_EXPRESSION' IN types THEN - qvars := expr\quantifier_expression.variables; - -- Variables subject to a quantifier do not participate in this kind of - -- substitution process. - REPEAT i := SIZEOF (vars) TO 1 BY -1; - IF vars[i] IN qvars THEN - REMOVE (vars, i); - REMOVE (vals, i); - END_IF; - END_REPEAT; - opnds := expr\multiple_arity_generic_expression.operands; - REPEAT i := 1 TO SIZEOF (opnds); - IF NOT (opnds[i] IN qvars) THEN - expr\multiple_arity_generic_expression.operands[i] := - substitute(opnds[i],vars,vals); - -- This technique will not work on subtypes of quantifier_expression - -- which derive their operands from other attributes! - END_IF; - END_REPEAT; - RETURN (expr); -- operands modified! - END_IF; - IF 'UNARY_GENERIC_EXPRESSION' IN types THEN - op1 := expr\unary_generic_expression.operand; - expr\unary_generic_expression.operand := substitute(op1, vars, vals); - -- This technique will not work on subtypes of unary_generic_expression - -- which derive their operands from other attributes! - END_IF; - IF 'BINARY_GENERIC_EXPRESSION' IN types THEN - op1 := expr\binary_generic_expression.operands[1]; - expr\binary_generic_expression.operands[1] := substitute(op1, vars, vals); - op2 := expr\binary_generic_expression.operands[2]; - expr\binary_generic_expression.operands[2] := substitute(op2, vars, vals); - -- This technique will not work on subtypes of binary_generic_expression - -- which derive their operands from other attributes! - END_IF; - IF 'PARALLEL_COMPOSED_FUNCTION' IN types THEN - -- Subtype of multiple_arity_generic_expression which derives its operands. - srcdom := expr\parallel_composed_function.source_of_domain; - prpfun := expr\parallel_composed_function.prep_functions; - finfun := expr\parallel_composed_function.final_function; - srcdom := substitute(srcdom,vars,vals); - REPEAT i := 1 TO SIZEOF (prpfun); - prpfun[i] := substitute(prpfun[i],vars,vals); - END_REPEAT; - IF 'MATHS_FUNCTION' IN stripped_typeof(finfun) THEN - finfun := substitute(finfun,vars,vals); - END_IF; - RETURN (make_parallel_composed_function(srcdom,prpfun,finfun)); - END_IF; - IF 'MULTIPLE_ARITY_GENERIC_EXPRESSION' IN types THEN - opnds := expr\multiple_arity_generic_expression.operands; - REPEAT i := 1 TO SIZEOF (opnds); - expr\multiple_arity_generic_expression.operands[i] := - substitute(opnds[i],vars,vals); - -- This technique will not work on subtypes of multiple_arity_generic_ - -- expression which derive their operands from other attributes! - END_REPEAT; - END_IF; - RETURN (expr); -END_FUNCTION; -- substitute - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION make_parallel_composed_function(srcdom : maths_space_or_function; - prepfuncs : LIST [2:?] OF maths_function; - finfunc : maths_function_select) - : parallel_composed_function; - RETURN (parallel_composed_function (srcdom, prepfuncs, finfunc) - || maths_function() - || generic_expression() - || multiple_arity_generic_expression (convert_to_operands_prcmfn ( - srcdom, prepfuncs, finfunc)) ); -- derived -END_FUNCTION; -- make_parallel_composed_function - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compatible_es_values(esval1, esval2 : elementary_space_enumerators) : BOOLEAN; - LOCAL - esval1_is_numeric, esval2_is_numeric : LOGICAL; - END_LOCAL; - IF (esval1 = esval2) OR (esval1 = es_generics) OR (esval2 = es_generics) THEN - RETURN (TRUE); - END_IF; - esval1_is_numeric := (esval1 >= es_numbers) AND (esval1 <= es_integers); - esval2_is_numeric := (esval2 >= es_numbers) AND (esval2 <= es_integers); - IF (esval1_is_numeric AND (esval2 = es_numbers)) OR - (esval2_is_numeric AND (esval1 = es_numbers)) THEN - RETURN (TRUE); - END_IF; - IF esval1_is_numeric XOR esval2_is_numeric THEN - RETURN (FALSE); - END_IF; - IF ((esval1 = es_logicals) AND (esval2 = es_booleans)) OR - ((esval1 = es_booleans) AND (esval2 = es_logicals)) THEN - RETURN (TRUE); - END_IF; - -- All other cases are incompatible - RETURN (FALSE); -END_FUNCTION; -- compatible_es_values - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compatible_intervals(sp1, sp2 : maths_space) : BOOLEAN; - LOCAL - amin, amax : REAL; - END_LOCAL; - IF min_exists(sp1) AND max_exists(sp2) THEN - amin := real_min(sp1); amax := real_max(sp2); - IF amin > amax THEN RETURN (FALSE); END_IF; - IF amin = amax THEN - RETURN (min_included(sp1) AND max_included(sp2)); - END_IF; - END_IF; - IF min_exists(sp2) AND max_exists(sp1) THEN - amin := real_min(sp2); amax := real_max(sp1); - IF amin > amax THEN RETURN (FALSE); END_IF; - IF amin = amax THEN - RETURN (min_included(sp2) AND max_included(sp1)); - END_IF; - END_IF; - RETURN (TRUE); -END_FUNCTION; -- compatible_intervals - -(* Implicit interfaced from: mathematical_functions_schema *) -FUNCTION compatible_complex_number_regions(sp1, sp2 : maths_space) : BOOLEAN; - LOCAL - typenames : SET OF string := stripped_typeof (sp1); - crgn1, crgn2 : cartesian_complex_number_region; - prgn1, prgn2, prgn1c2, prgn2c1 : polar_complex_number_region; - sp1_is_crgn, sp2_is_crgn : BOOLEAN; - END_LOCAL; - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN - sp1_is_crgn := TRUE; - crgn1 := sp1; - ELSE - IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN - sp1_is_crgn := FALSE; - prgn1 := sp1; - ELSE - -- Improper usage: Default response is to assume compatibility. - RETURN (TRUE); - END_IF; - END_IF; - typenames := stripped_typeof (sp2); - IF 'CARTESIAN_COMPLEX_NUMBER_REGION' IN typenames THEN - sp2_is_crgn := TRUE; - crgn2 := sp2; - ELSE - IF 'POLAR_COMPLEX_NUMBER_REGION' IN typenames THEN - sp2_is_crgn := FALSE; - prgn2 := sp2; - ELSE - -- Improper usage: Default response is to assume compatibility. - RETURN (TRUE); - END_IF; - END_IF; - IF sp1_is_crgn AND sp2_is_crgn THEN - -- two cartesian regions - RETURN (compatible_intervals(crgn1.real_constraint, crgn2.real_constraint) - AND compatible_intervals(crgn1.imag_constraint, crgn2.imag_constraint)); - END_IF; - IF NOT sp1_is_crgn AND NOT sp2_is_crgn AND - (prgn1.centre.real_part = prgn2.centre.real_part) AND - (prgn1.centre.imag_part = prgn2.centre.imag_part) THEN - -- two polar regions with common centre - IF NOT compatible_intervals(prgn1.distance_constraint, - prgn2.distance_constraint) THEN - RETURN (FALSE); - END_IF; - IF compatible_intervals(prgn1.direction_constraint, - prgn2.direction_constraint) THEN - RETURN (TRUE); - END_IF; - -- Deal with direction ambiguity by 2 pi. - IF (prgn1.direction_constraint.max > PI) AND (prgn2.direction_constraint.max < PI) - THEN - RETURN (compatible_intervals(prgn2.direction_constraint, - make_finite_real_interval(-PI,open,prgn1.direction_constraint.max-2.0*PI, - prgn1.direction_constraint.max_closure))); - END_IF; - IF (prgn2.direction_constraint.max > PI) AND (prgn1.direction_constraint.max < PI) - THEN - RETURN (compatible_intervals(prgn1.direction_constraint, - make_finite_real_interval(-PI,open,prgn2.direction_constraint.max-2.0*PI, - prgn2.direction_constraint.max_closure))); - END_IF; - RETURN (FALSE); - END_IF; - -- Make do with imperfect tests for remaining cases. - IF sp1_is_crgn AND NOT sp2_is_crgn THEN - crgn2 := enclose_pregion_in_cregion(prgn2); - prgn1 := enclose_cregion_in_pregion(crgn1,prgn2.centre); - RETURN (compatible_complex_number_regions(crgn1,crgn2) - AND compatible_complex_number_regions(prgn1,prgn2)); - END_IF; - IF NOT sp1_is_crgn AND sp2_is_crgn THEN - crgn1 := enclose_pregion_in_cregion(prgn1); - prgn2 := enclose_cregion_in_pregion(crgn2,prgn1.centre); - RETURN (compatible_complex_number_regions(crgn1,crgn2) - AND compatible_complex_number_regions(prgn1,prgn2)); - END_IF; - -- Two polar regions with different centres - prgn1c2 := enclose_pregion_in_pregion(prgn1,prgn2.centre); - prgn2c1 := enclose_pregion_in_pregion(prgn2,prgn1.centre); - RETURN (compatible_complex_number_regions(prgn1,prgn2c1) - AND compatible_complex_number_regions(prgn1c2,prgn2)); -END_FUNCTION; -- compatible_complex_number_regions - -(* Implicit interfaced from: topology_schema *) - FUNCTION mixed_loop_type_set(l: SET[0:?] OF loop): LOGICAL; - LOCAL - poly_loop_type: LOGICAL; - END_LOCAL; - IF(SIZEOF(l) <= 1) THEN - RETURN(FALSE); - END_IF; - poly_loop_type := ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLY_LOOP' IN TYPEOF(l[1])); - REPEAT i := 2 TO SIZEOF(l); - IF(('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLY_LOOP' IN TYPEOF(l[i])) <> poly_loop_type) - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - RETURN(FALSE); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION list_to_set(l : LIST [0:?] OF GENERIC:T) : SET OF GENERIC:T; - LOCAL - s : SET OF GENERIC:T := []; - END_LOCAL; - - REPEAT i := 1 TO SIZEOF(l); - s := s + l[i]; - END_REPEAT; - - RETURN(s); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION list_face_loops(f: face) : LIST[0:?] OF loop; - LOCAL - loops : LIST[0:?] OF loop := []; - END_LOCAL; - - REPEAT i := 1 TO SIZEOF(f.bounds); - loops := loops +(f.bounds[i].bound); - END_REPEAT; - - RETURN(loops); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION boolean_choose (b : boolean; - choice1, choice2 : generic : item) : generic : item; - - IF b THEN - RETURN (choice1); - ELSE - RETURN (choice2); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION path_head_to_tail(a_path : path) : LOGICAL; - LOCAL - n : INTEGER; - p : LOGICAL := TRUE; - END_LOCAL; - - n := SIZEOF (a_path.edge_list); - REPEAT i := 2 TO n; - p := p AND (a_path.edge_list[i-1].edge_end :=: - a_path.edge_list[i].edge_start); - END_REPEAT; - - RETURN (p); - END_FUNCTION; -(* REFERENCE FROM (assembly_feature_relationship_schema); *) -FUNCTION using_representation_with_mapping (item : representation_item) - : SET OF representation; -LOCAL - results: SET OF representation := []; - local_results : SET OF representation := []; - local_representation_map : SET OF representation_map := []; - intermediate_items : SET OF representation_item := []; - i : INTEGER; - j : INTEGER; -END_LOCAL; --- find the representations in which the item is used --- and which is referenced from the representation_map - local_results := QUERY (z <* using_representations (item)| - SIZEOF (USEDIN (z, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_MAP.' + - 'MAPPED_REPRESENTATION')) > 0 ); - IF (SIZEOF (local_results) = 0) THEN RETURN ([]); - ELSE --- find the set of representation_map in which the local_results are used - REPEAT i := 1 TO HIINDEX(local_results); - local_representation_map := local_representation_map + - bag_to_set (USEDIN (local_results[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_MAP.MAPPED_REPRESENTATION')); - END_REPEAT; --- find the set of mapped_item - REPEAT i := 1 TO HIINDEX(local_representation_map); - intermediate_items := intermediate_items + - bag_to_set (USEDIN (local_representation_map[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM.MAPPING_SOURCE')); - END_REPEAT; --- repeat same manner - REPEAT j := 1 to HIINDEX(intermediate_items); - results := results + bag_to_set (using_representation_with_mapping - (intermediate_items[j])); - END_REPEAT; - END_IF; - RETURN (results); -END_FUNCTION; - -(* Implicit interfaced from: assembly_constraint_schema *) -FUNCTION assembly_leaf - (item: product_definition) : BOOLEAN; -LOCAL - local_relation: SET OF assembly_component_usage := []; - local_relation2: BAG OF assembly_component_usage := []; -END_LOCAL; --- extraction of related assembly_component_relationships -- -local_relation2 := local_relation2 + QUERY(pdr <* USEDIN (item, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN - TYPEOF(pdr)); -local_relation := bag_to_set (local_relation2); -IF (SIZEOF (local_relation) = 0) THEN RETURN (TRUE); - ELSE RETURN (FALSE); -END_IF; -END_FUNCTION; - -(* Implicit interfaced from: product_property_representation_schema *) - FUNCTION get_directed_link ( nodes : LIST OF representation; - undirected_link : LIST OF chained_representation_link) : LIST OF representation_relationship; - LOCAL - directed_link : LIST OF representation_relationship := []; - END_LOCAL; - - IF (SIZEOF(nodes) <> SIZEOF(undirected_link) + 1) OR - (value_unique(nodes) = FALSE) - THEN - RETURN(?); - END_IF; - - REPEAT i := 1 to SIZEOF(undirected_link); - CASE TRUE OF - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_CONTEXT' IN TYPEOF(undirected_link[i])) : - BEGIN - IF ((nodes[i]\representation.context_of_items :=: undirected_link[i]) AND - (nodes[i+1]\representation.context_of_items :=: undirected_link[i])) THEN - INSERT(directed_link, representation_relationship('','',nodes[i+1],nodes[i]), (i - 1)); - ELSE - RETURN(?); - END_IF; - END; - - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATION_RELATIONSHIP' IN TYPEOF(undirected_link[i])) : - BEGIN - IF (((nodes[i] :=: undirected_link[i]\representation_relationship.rep_1) AND - (nodes[i+1] :=: undirected_link[i]\representation_relationship.rep_2)) OR - ((nodes[i] :=: undirected_link[i]\representation_relationship.rep_2) AND - (nodes[i+1] :=: undirected_link[i]\representation_relationship.rep_1))) THEN - INSERT(directed_link, representation_relationship('','',nodes[i+1],nodes[i]), (i - 1)); - ELSE - RETURN(?); - END_IF; - END; - - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM' IN TYPEOF(undirected_link[i])) : - BEGIN - IF ((nodes[i] IN using_representations(undirected_link[i])) AND - (nodes[i+1] :=: undirected_link[i]\mapped_item.mapping_source\representation_map.mapped_representation)) THEN - INSERT(directed_link, representation_relationship('','',nodes[i+1],nodes[i]), (i - 1)); - ELSE - RETURN(?); - END_IF; - END; - - OTHERWISE : RETURN(?); - END_CASE; - END_REPEAT; - - IF (value_unique(directed_link) = FALSE) - THEN - RETURN(?); - END_IF; - - RETURN(directed_link); - END_FUNCTION; - -(* Implicit interfaced from: aic_draughting_annotation *) -FUNCTION check_text_alignment (ct : composite_text) : BOOLEAN; - - LOCAL - a : SET OF text_alignment := []; - END_LOCAL; - - -- create a set of all the alignments - REPEAT i := 1 TO HIINDEX (ct.collected_text); - a := a + [ct.collected_text[i]\text_literal.alignment]; - END_REPEAT; - - -- if there is more than one element in the set - -- then not all alignments were the same - RETURN (SIZEOF(a) = 1); -END_FUNCTION; - -(* Implicit interfaced from: aic_draughting_annotation *) -FUNCTION check_text_font (ct : composite_text) : BOOLEAN; - - LOCAL - f : SET OF font_select := []; - END_LOCAL; - - -- build a set of all the fonts - REPEAT i := 1 TO HIINDEX (ct.collected_text); - f := f + [ct.collected_text[i]\text_literal.font]; - END_REPEAT; - - -- if there is more than one element in the set - -- then not all fonts were the same - RETURN (SIZEOF(f) <= 1); -END_FUNCTION; - -(* Implicit interfaced from: presentation_organization_schema *) - FUNCTION aspect_ratio (p : planar_box) : positive_ratio_measure; - IF (p.size_in_x > 0.) AND (p.size_in_y > 0.) THEN - RETURN (p.size_in_x / p.size_in_y); - ELSE - RETURN (?); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: measure_schema *) - FUNCTION dimensions_for_si_unit (n : si_unit_name):dimensional_exponents; - CASE n OF - metre: - RETURN (dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - gram: - RETURN (dimensional_exponents(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - second: - RETURN (dimensional_exponents(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0)); - ampere: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0)); - kelvin: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0)); - mole: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)); - candela: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); - radian: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - steradian: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - hertz: - RETURN (dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0)); - newton: - RETURN (dimensional_exponents(1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - pascal: - RETURN (dimensional_exponents(-1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - joule: - RETURN (dimensional_exponents(2.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - watt: - RETURN (dimensional_exponents(2.0, 1.0, -3.0, 0.0, 0.0, 0.0, 0.0)); - coulomb: - RETURN (dimensional_exponents(0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0)); - volt: - RETURN (dimensional_exponents(2.0, 1.0, -3.0, -1.0, 0.0, 0.0, 0.0)); - farad: - RETURN (dimensional_exponents(-2.0, -1.0, 4.0, 2.0, 0.0, 0.0, 0.0)); - ohm: - RETURN (dimensional_exponents(2.0, 1.0, -3.0, -2.0, 0.0, 0.0, 0.0)); - siemens: - RETURN (dimensional_exponents(-2.0, -1.0, 3.0, 2.0, 0.0, 0.0, 0.0)); - weber: - RETURN (dimensional_exponents(2.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0)); - tesla: - RETURN (dimensional_exponents(0.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0)); - henry: - RETURN (dimensional_exponents(2.0, 1.0, -2.0, -2.0, 0.0, 0.0, 0.0)); - degree_Celsius: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0)); - lumen: - RETURN (dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); - lux: - RETURN (dimensional_exponents(-2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0)); - becquerel: - RETURN (dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0)); - gray: - RETURN (dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - sievert: - RETURN (dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0)); - OTHERWISE: - RETURN (?); - END_CASE; - END_FUNCTION; - -(* Implicit interfaced from: measure_schema *) - FUNCTION valid_units (m : measure_with_unit):BOOLEAN; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MASS_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TIME_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CURRENT_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.THERMODYNAMIC_TEMPERATURE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CELSIUS_TEMPERATURE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AMOUNT_OF_SUBSTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_INTENSITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AREA_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VOLUME_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RATIO_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_LENGTH_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITIVE_PLANE_ANGLE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACCELERATION_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 1.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CAPACITANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -2.0, -1.0, 4.0, 2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_CHARGE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONDUCTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -2.0, -1.0, 3.0, 2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELECTRIC_POTENTIAL_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -3.0, -1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ENERGY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FORCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FREQUENCY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ILLUMINANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INDUCTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -2.0, -2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LUMINOUS_FLUX_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAGNETIC_FLUX_DENSITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 0.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -3.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRESSURE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( -1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RESISTANCE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 2.0, 1.0, -3.0, -2.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VELOCITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents( 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RADIOACTIVITY_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABSORBED_DOSE_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DOSE_EQUIVALENT_MEASURE' IN TYPEOF(m.value_component) THEN - IF derive_dimensional_exponents(m.unit_component) <> - dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN - RETURN (FALSE); - END_IF; - END_IF; - RETURN (TRUE); - END_FUNCTION; - -(* Implicit interfaced from: aic_manifold_subsurface *) -FUNCTION advanced_face_properties (testface : face) : BOOLEAN; -(* return TRUE if testface is of type advanced_face *) -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_FACE' IN TYPEOF(testface) THEN - RETURN (TRUE); -END_IF; -(* if testface is a subface recursively test the parent_face, -return FALSE for all other types of face *) -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBFACE' IN TYPEOF(testface)) THEN - RETURN(advanced_face_properties(testface\subface.parent_face)); - ELSE RETURN (FALSE); -END_IF; -END_FUNCTION; - -(* Implicit interfaced from: solid_shape_element_schema *) -FUNCTION compute_total_depth (swsrh : solid_with_stepped_round_hole) - : positive_length_measure; - -LOCAL -i : positive_integer; -n : positive_integer := swsrh.segments; -td : positive_length_measure := swsrh.segment_depths[1]; -END_LOCAL; - -IF n = 1 -THEN RETURN(td); -ELSE - REPEAT i := 2 TO n; - td := td + swsrh.segment_depths[i]; - END_REPEAT; -END_IF; -RETURN(td); - -END_FUNCTION; - -(* Implicit interfaced from: solid_shape_element_schema *) -FUNCTION validate_countersink_radii - (cskhole : solid_with_stepped_round_hole_and_conical_transitions) - : BOOLEAN; - - LOCAL - i,j : INTEGER; - n : INTEGER := 1 + - cskhole\solid_with_stepped_round_hole.segments; - smaller, larger : positive_length_measure; - END_LOCAL; - - REPEAT i := 1 TO SIZEOF(cskhole.conical_transitions); - - -- First check whether transition i applies to the entry of the hole or - -- the exit of a through hole - those cases only need to be checked for - -- the sign of the cone apex angle. - - IF (((cskhole.conical_transitions[i].transition_number = 1) - AND (cskhole.conical_transitions[i].cone_apex_angle < 0)) - XOR ((cskhole.conical_transitions[i].transition_number = n) - AND (cskhole.conical_transitions[i].cone_apex_angle > 0))) - THEN RETURN(FALSE); - ELSE - IF ((cskhole.conical_transitions[i].transition_number <> 1) - AND (cskhole.conical_transitions[i].transition_number <> n)) - THEN - - -- For all remaining transitions, check that the cone base radius - -- lies in the range of validity. - - - BEGIN - j := cskhole.conical_transitions[i].transition_number; - IF cskhole\solid_with_stepped_round_hole.segment_radii[j] - > cskhole\solid_with_stepped_round_hole.segment_radii[j-1] - THEN - BEGIN - IF (cskhole.conical_transitions[i].cone_apex_angle > 0) - THEN RETURN(FALSE); - END_IF; - larger - := cskhole\solid_with_stepped_round_hole.segment_radii[j]; - smaller - := cskhole\solid_with_stepped_round_hole.segment_radii[j-1]; - END; - ELSE - BEGIN - IF (cskhole.conical_transitions[i].cone_apex_angle < 0) - THEN RETURN(FALSE); - END_IF; - larger - := cskhole\solid_with_stepped_round_hole.segment_radii[j-1]; - smaller - := cskhole\solid_with_stepped_round_hole.segment_radii[j]; - END; - END_IF; - IF ((cskhole.conical_transitions[i].cone_base_radius > larger) - OR (cskhole.conical_transitions[i].cone_base_radius < smaller)) - THEN RETURN(FALSE); - END_IF; - END; - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); - -END_FUNCTION; - -(* Implicit interfaced from: solid_shape_element_schema *) -FUNCTION check_continuous_edges (edges : LIST OF UNIQUE edge_curve) - : BOOLEAN; - - LOCAL - i : INTEGER; - next_vertex : vertex; - END_LOCAL; - - -- first check whether there is only one edge in the list: in this - -- case there is no connectivity to be checked. - - IF (SIZEOF(edges) = 1) - THEN RETURN(TRUE); - END_IF; - - -- otherwise, establish the matching vertices of edges 1 and 2 in - -- the list, and determine the vertex of edge 2 to which edge 3, - -- must be connected, if there are more than two edges in the list. - - IF ((edges[2].edge_start :=: edges[1].edge_end) - XOR (edges[2].edge_start :=: edges[1].edge_start)) - THEN next_vertex := edges[2].edge_end; - ELSE - IF ((edges[2].edge_end :=: edges[1].edge_end) - XOR (edges[2].edge_end :=: edges[1].edge_start)) - THEN next_vertex := edges[2].edge_start; - ELSE RETURN(FALSE); -- no match between any vertices of edges 1 and 2 - END_IF; - END_IF; - - -- exit if there are only two edges and they are connected - - IF (SIZEOF(edges) = 2) - THEN RETURN(TRUE); - END_IF; - - -- otherwise, check that any remaining edges are connected in list order. - - REPEAT i := 3 TO HIINDEX(edges); - IF (edges[i].edge_start :=: next_vertex) - THEN next_vertex := edges[i].edge_end; - ELSE - IF (edges[i].edge_end :=: next_vertex) - THEN next_vertex := edges[i].edge_start; - ELSE RETURN(FALSE); -- no match is found. - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); -- all edges have now been successfully checked. - -END_FUNCTION; - -(* Implicit interfaced from: presentation_definition_schema *) - FUNCTION control_characters_free - (s : STRING) : BOOLEAN; - - LOCAL - ch : STRING; - END_LOCAL; - - REPEAT i:=1 TO LENGTH(s); - ch := s[i]; - IF (ch = '\x9') OR (ch = '\xA') OR (ch = '\xD') THEN - RETURN(FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); - - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_2d_wireframe *) -FUNCTION valid_basis_curve_in_2d_wireframe - (crv: curve) : BOOLEAN; - -- check for valid basic curve types - IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE'] * - TYPEOF (crv)) = 1 - THEN RETURN (TRUE); - ELSE - -- if the curve is a trimmed_curve - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE') - IN TYPEOF (crv)) THEN - -- if a line, parabola, or hyperbola is being trimmed, then valid - IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARABOLA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HYPERBOLA'] * - TYPEOF(crv\trimmed_curve.basis_curve)) = 1 - THEN RETURN (TRUE); - -- otherwise, recursively check basis_curve - ELSE RETURN (valid_basis_curve_in_2d_wireframe - (crv\trimmed_curve.basis_curve)); - END_IF; - ELSE - -- recursively check the offset_curve basis curve - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_2D') - IN TYPEOF (crv)) - THEN RETURN (valid_basis_curve_in_2d_wireframe - (crv\offset_curve_2d.basis_curve)); - ELSE - -- recursively check the curve_replica parent curve - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA') - IN TYPEOF (crv)) - THEN RETURN (valid_basis_curve_in_2d_wireframe - (crv\curve_replica.parent_curve)); - ELSE - -- recursively check the composite_curve segments - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE') - IN TYPEOF (crv)) THEN - RETURN (SIZEOF (QUERY (ccs <* crv\composite_curve.segments | - NOT (valid_basis_curve_in_2d_wireframe - (ccs.parent_curve)))) = 0); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: sketch_schema *) -FUNCTION get_plane_of_implicit_geometry - (ps : positioned_sketch) : plane; - - LOCAL - sb : sketch_basis_select := ps.sketch_basis; - result : plane := ?; - END_LOCAL; - - -- determine plane of implicit geometry from the underlying entity data - -- type of its owning instance of positioned_sketch_representation. If - -- the sketch basis is of type planar_curve_select then the planarity - -- of the curve is guaranteed by a WHERE rule on the SELECT type of that - -- name. - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SURFACE' IN TYPEOF(sb)) THEN - result := sb\face_surface.face_geometry; - ELSE - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_BOUNDED_SURFACE' IN TYPEOF(sb)) THEN - result := sb\curve_bounded_surface.basis_surface; - ELSE - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_CURVE_SELECT' IN TYPEOF(sb)) THEN - BEGIN - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC' IN TYPEOF(sb)) - THEN result := dummy_gri || surface() || - elementary_surface(sb\conic.position) || plane(); - END_IF; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF(sb)) - THEN - BEGIN - result := get_plane_of_implicit_geometry( - dummy_gri || positioned_sketch(sb\trimmed_curve.basis_curve,[])); - END; - END_IF; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(sb)) - THEN result := sb\pcurve.basis_surface; - END_IF; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(sb)) THEN - BEGIN - IF ((SIZEOF(sb\surface_curve.basis_surface) = 1) -- case of one basis surface - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[1]))) - THEN result := sb\surface_curve.basis_surface[1]; - ELSE -- case of two basis surfaces - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[1])) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[2]))) - THEN result := ?; - -- both basis surfaces are planes, their intersection curve - -- is a line, and no unique plane is defined - ELSE -- only one of the two basis surfaces is a plane - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(sb\surface_curve.basis_surface[1])) - THEN result := sb\surface_curve.basis_surface[1]; - ELSE result := sb\surface_curve.basis_surface[2]; - END_IF; - END_IF; - END_IF; - END; - END_IF; - END; - END_IF; - END_IF; - END_IF; - - RETURN(result); - -END_FUNCTION; - -(* Implicit interfaced from: sketch_schema *) -FUNCTION get_relative_direction_2points - (cp1, cp2 : cartesian_point) : direction; - - LOCAL - d1, d2, d3, magnitude : REAL; - result : direction := ?; - END_LOCAL; - - -- check that input points are three-dimensional - - IF ((cp1.dim <> 3) OR (cp2.dim <> 3)) THEN - RETURN(result); - ELSE - - -- construct components of vector and compute its magnitude - - BEGIN - d1 := cp2.coordinates[1] - cp1.coordinates[1]; - d2 := cp2.coordinates[2] - cp1.coordinates[2]; - d3 := cp2.coordinates[3] - cp1.coordinates[3]; - magnitude := sqrt(d1*d1 + d2*d2 + d3*d3); - IF (magnitude = 0) THEN - return(result); -- direction is indeterminate in this case - END_IF; - result := dummy_gri || direction([d1, d2, d3]); - END; - END_IF; - RETURN(result); - -END_FUNCTION; - -(* Implicit interfaced from: iso13584_generic_expressions_schema *) -FUNCTION is_acyclic (arg: generic_expression): BOOLEAN; -RETURN (acyclic (arg, [])); -END_FUNCTION ; -- is_acyclic - -(* Implicit interfaced from: iso13584_generic_expressions_schema *) -FUNCTION acyclic (arg1: generic_expression; - arg2: SET OF generic_expression): BOOLEAN; - -LOCAL - result: BOOLEAN := TRUE; -END_LOCAL; - -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_GENERIC_EXPRESSION' - IN TYPEOF (arg1)) -THEN - RETURN (TRUE); -END_IF; - -IF arg1 IN arg2 -THEN - RETURN (FALSE); -END_IF; - -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNARY_GENERIC_EXPRESSION' - IN TYPEOF (arg1) -THEN - RETURN - (acyclic(arg1\unary_generic_expression.operand,arg2+[arg1])); -END_IF; - -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BINARY_GENERIC_EXPRESSION' - IN TYPEOF (arg1) -THEN - RETURN - (acyclic(arg1\binary_generic_expression.operands[1],arg2+[arg1]) - AND - acyclic(arg1\binary_generic_expression.operands[2],arg2+[arg1])); -END_IF; - -IF -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULTIPLE_ARITY_GENERIC_EXPRESSION' - IN TYPEOF (arg1) -THEN - result := TRUE; - REPEAT i := 1 TO - SIZEOF (arg1\multiple_arity_generic_expression.operands); - result := result AND - acyclic(arg1\multiple_arity_generic_expression.operands[i], arg2+[arg1]); - END_REPEAT; - - RETURN (result); -END_IF; - RETURN (result); -END_FUNCTION; -- acyclic - -(* Implicit interfaced from: iso13584_expressions_schema *) -FUNCTION is_int_expr (arg: numeric_expression) : BOOLEAN; - -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_LITERAL' IN TYPEOF(arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REAL_LITERAL' IN TYPEOF(arg) -THEN - RETURN (FALSE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_NUMERIC_VARIABLE' IN TYPEOF(arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REAL_NUMERIC_VARIABLE' IN TYPEOF(arg) -THEN - RETURN (FALSE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (is_int_expr(arg\unary_numeric_expression.operand)); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (is_int_expr(arg\unary_numeric_expression.operand)); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COS_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_ROOT_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULT_EXPRESSION' - IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAXIMUM_FUNCTION' - IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINIMUM_FUNCTION' - IN TYPEOF(arg)) -THEN - REPEAT i :=1 TO SIZEOF ( - arg\multiple_arity_numeric_expression.operands); - IF NOT - is_int_expr(arg\multiple_arity_numeric_expression.operands[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_EXPRESSION' - IN TYPEOF(arg)) -THEN - RETURN (is_int_expr(arg\binary_numeric_expression.operands[1]) - AND is_int_expr(arg\binary_numeric_expression.operands[2])); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg)) -THEN - RETURN(TRUE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLASH_EXPRESSION' IN TYPEOF(arg) -THEN - RETURN (FALSE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg) -THEN - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INT_VALUE_FUNCTION' - IN TYPEOF(arg) - THEN - RETURN (TRUE); - ELSE - RETURN (FALSE); - END_IF; -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INTEGER_DEFINED_FUNCTION' - IN TYPEOF(arg) -THEN - RETURN(TRUE) ; -END_IF; -IF'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REAL_DEFINED_FUNCTION' IN TYPEOF(arg) -THEN - RETURN(FALSE) ; -END_IF ; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_DEFINED_FUNCTION' - IN TYPEOF(arg) -THEN - RETURN(FALSE) ; -END_IF ; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_DEFINED_FUNCTION' - IN TYPEOF(arg) -THEN - RETURN (FALSE) ; -END_IF ; - -RETURN (FALSE); - -END_FUNCTION; -- is_int_expr - -(* Implicit interfaced from: iso13584_expressions_schema *) -FUNCTION is_SQL_mappable (arg: expression) : BOOLEAN; - -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_NUMERIC_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQL_MAPPABLE_DEFINED_FUNCTION' - IN TYPEOF (arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_FUNCTION' IN TYPEOF(arg) -THEN - RETURN (is_SQL_mappable(arg\unary_numeric_expression.operand)); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ABS_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COS_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASIN_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ACOS_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ATAN_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXP_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG2_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOG10_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SQUARE_ROOT_FUNCTION' - IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_FUNCTION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLUS_EXPRESSION' IN TYPEOF(arg)) - OR('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MULT_EXPRESSION' IN TYPEOF(arg)) - OR('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAXIMUM_FUNCTION' - IN TYPEOF(arg)) - OR('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINIMUM_FUNCTION' - IN TYPEOF(arg)) -THEN - REPEAT i :=1 TO SIZEOF ( - arg\multiple_arity_numeric_expression.operands); - IF NOT is_SQL_mappable( - arg\multiple_arity_numeric_expression.operands[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; -RETURN (TRUE); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MINUS_EXPRESSION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLASH_EXPRESSION' IN - TYPEOF(arg)) -THEN - RETURN (is_SQL_mappable( - arg\binary_numeric_expression.operands[1]) - AND is_SQL_mappable(arg\binary_numeric_expression.operands[2])); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIV_EXPRESSION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MOD_EXPRESSION' IN TYPEOF(arg)) - OR('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POWER_EXPRESSION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_BOOLEAN_EXPRESSION' - IN TYPEOF (arg) -THEN - RETURN (TRUE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NOT_EXPRESSION' IN TYPEOF (arg) -THEN - RETURN (is_SQL_mappable (arg\UNARY_GENERIC_EXPRESSION.OPERAND)); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ODD_FUNCTION'IN TYPEOF (arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.XOR_EXPRESSION' - IN TYPEOF (arg)) -THEN - RETURN (FALSE); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AND_EXPRESSION' IN TYPEOF (arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OR_EXPRESSION' IN TYPEOF (arg)) -THEN - REPEAT i:=1 TO SIZEOF ( - arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS); - IF NOT is_SQL_mappable ( - arg\MULTIPLE_ARITY_BOOLEAN_EXPRESSION.OPERANDS[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN (TRUE); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EQUALS_EXPRESSION' IN TYPEOF (arg) -THEN - RETURN(is_SQL_mappable ( - arg\BINARY_GENERIC_EXPRESSION.OPERANDS [1]) - AND is_SQL_mappable( - arg\BINARY_GENERIC_EXPRESSION.OPERANDS [2])); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_EQUAL' IN TYPEOF (arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_GREATER' - IN TYPEOF (arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_GREATER_EQUAL' - IN TYPEOF (arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_LESS' - IN TYPEOF (arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_LESS_EQUAL' - IN TYPEOF (arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPARISON_NOT_EQUAL' - IN TYPEOF (arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LIKE_EXPRESSION' - IN TYPEOF (arg)) -THEN - RETURN (is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS[1]) - AND is_SQL_mappable (arg\COMPARISON_EXPRESSION.OPERANDS[2])); -END_IF; -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INTERVAL_EXPRESSION' IN TYPEOF(arg) -THEN - RETURN (is_SQL_mappable(arg\interval_expression.interval_low) - AND is_SQL_mappable(arg\interval_expression.interval_high) - AND is_SQL_mappable(arg\interval_expression.interval_item)); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NUMERIC_DEFINED_FUNCTION' - IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOOLEAN_DEFINED_FUNCTION' - IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRING_DEFINED_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE) ; -END_IF; - -IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SIMPLE_STRING_EXPRESSION' - IN TYPEOF(ARG) -THEN - RETURN (TRUE); -END_IF; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INDEX_EXPRESSION' IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SUBSTRING_EXPRESSION' - IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONCAT_EXPRESSION' - IN TYPEOF(arg)) - OR ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FORMAT_FUNCTION' - IN TYPEOF(arg)) -THEN - RETURN (FALSE); -END_IF; - - RETURN (FALSE); -END_FUNCTION; -- is_SQL_mappable - -(* Implicit interfaced from: sketch_schema *) -FUNCTION check_curve_planarity (checked_curve: curve) : BOOLEAN; - - LOCAL - crv : curve := checked_curve; - i,j : INTEGER; - result : BOOLEAN := FALSE; - END_LOCAL; - - -- Determine whether the curve lies on a plane, according to its type - - IF (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC','AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE'] * - TYPEOF(crv)) > 0) - THEN result := TRUE; - ELSE - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF(crv)) - AND check_curve_planarity(crv\trimmed_curve.basis_curve)) - THEN result := TRUE; - ELSE - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(crv)) - AND ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(crv\pcurve.basis_surface))) - THEN result := TRUE; - ELSE - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(crv)) - THEN - BEGIN - REPEAT j := 1 TO HIINDEX(crv\surface_curve.basis_surface); - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE' IN TYPEOF(crv\surface_curve.basis_surface[j])) - THEN result := TRUE; - END_IF; - END_REPEAT; - END; - END_IF; - END_IF; - END_IF; - END_IF; - - RETURN(result); - -END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION constraints_param_b_spline - (degree : INTEGER; up_knots : INTEGER; up_cp : INTEGER; knot_mult : LIST[0:?] OF INTEGER; knots : LIST[0:?] OF parameter_value) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - k, sum : INTEGER; - END_LOCAL; - - (* Find sum of knot multiplicities. *) - sum := knot_mult[1]; - - REPEAT i := 2 TO up_knots; - sum := sum + knot_mult[i]; - END_REPEAT; - - (* Check limits holding for all B-spline parametrisations *) - IF (degree < 1) OR (up_knots < 2) OR (up_cp < degree) OR - (sum <> (degree + up_cp + 2)) THEN - result := FALSE; - RETURN(result); - END_IF; - - k := knot_mult[1]; - - IF (k < 1) OR (k > degree + 1) THEN - result := FALSE; - RETURN(result); - END_IF; - - REPEAT i := 2 TO up_knots; - IF (knot_mult[i] < 1) OR (knots[i] <= knots[i-1]) THEN - result := FALSE; - RETURN(result); - END_IF; - - k := knot_mult[i]; - - IF (i < up_knots) AND (k > degree) THEN - result := FALSE; - RETURN(result); - END_IF; - - IF (i = up_knots) AND (k > degree + 1) THEN - result := FALSE; - RETURN(result); - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: geometry_schema *) -FUNCTION constraints_composite_curve_on_surface - (c : composite_curve_on_surface) : BOOLEAN; -LOCAL - n_segments : INTEGER := SIZEOF(c.segments); - END_LOCAL; - - REPEAT k := 1 TO n_segments; - IF (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN - TYPEOF(c\composite_curve.segments[k].parent_curve))) AND - (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN - TYPEOF(c\composite_curve.segments[k].parent_curve))) AND - (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE_ON_SURFACE' IN - TYPEOF(c\composite_curve.segments[k].parent_curve))) THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - RETURN(TRUE);END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION conditional_reverse (p : BOOLEAN; - an_item : reversible_topology) - : reversible_topology; - IF p THEN - RETURN (an_item); - ELSE - RETURN (topology_reversed (an_item)); - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION topology_reversed (an_item : reversible_topology) - : reversible_topology; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE' IN TYPEOF (an_item)) THEN - RETURN (edge_reversed (an_item)); - END_IF; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH' IN TYPEOF (an_item)) THEN - RETURN (path_reversed (an_item)); - END_IF; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_BOUND' IN TYPEOF (an_item)) THEN - RETURN (face_bound_reversed (an_item)); - END_IF; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE' IN TYPEOF (an_item)) THEN - RETURN (face_reversed (an_item)); - END_IF; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL' IN TYPEOF (an_item)) THEN - RETURN (shell_reversed (an_item)); - END_IF; - - IF ('SET' IN TYPEOF (an_item)) THEN - RETURN (set_of_topology_reversed (an_item)); - END_IF; - - IF ('LIST' IN TYPEOF (an_item)) THEN - RETURN (list_of_topology_reversed (an_item)); - END_IF; - - RETURN (?); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION edge_reversed (an_edge : edge) : oriented_edge; - LOCAL - the_reverse : oriented_edge; - END_LOCAL; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_EDGE' IN TYPEOF (an_edge) ) THEN - the_reverse := dummy_tri || - edge(an_edge.edge_end, an_edge.edge_start) || - oriented_edge(an_edge\oriented_edge.edge_element, - NOT (an_edge\oriented_edge.orientation)) ; - ELSE - the_reverse := dummy_tri || - edge(an_edge.edge_end, an_edge.edge_start) || - oriented_edge(an_edge, FALSE); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) -FUNCTION path_reversed (a_path : path) : oriented_path; - LOCAL - the_reverse : oriented_path ; - END_LOCAL; - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_PATH' IN TYPEOF (a_path) ) THEN - the_reverse := dummy_tri || - path(list_of_topology_reversed (a_path.edge_list)) || - oriented_path(a_path\oriented_path.path_element, - NOT(a_path\oriented_path.orientation)) ; - ELSE - the_reverse := dummy_tri || - path(list_of_topology_reversed (a_path.edge_list)) || - oriented_path(a_path, FALSE); - END_IF; - - RETURN (the_reverse); -END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION list_of_topology_reversed (a_list - : list_of_reversible_topology_item) - : list_of_reversible_topology_item; - LOCAL - the_reverse : list_of_reversible_topology_item; - END_LOCAL; - - the_reverse := []; - REPEAT i := 1 TO SIZEOF (a_list); - the_reverse := topology_reversed (a_list [i]) + the_reverse; - END_REPEAT; - - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION face_bound_reversed (a_face_bound : face_bound) : face_bound; - LOCAL - the_reverse : face_bound ; - END_LOCAL; - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_OUTER_BOUND' IN TYPEOF (a_face_bound) ) THEN - the_reverse := dummy_tri || - face_bound(a_face_bound\face_bound.bound, - NOT (a_face_bound\face_bound.orientation)) - || face_outer_bound() ; - ELSE - the_reverse := dummy_tri || - face_bound(a_face_bound.bound, NOT(a_face_bound.orientation)); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION face_reversed (a_face : face) : oriented_face; - LOCAL - the_reverse : oriented_face ; - END_LOCAL; - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_FACE' IN TYPEOF (a_face) ) THEN - the_reverse := dummy_tri || - face(set_of_topology_reversed(a_face.bounds)) || - oriented_face(a_face\oriented_face.face_element, - NOT (a_face\oriented_face.orientation)) ; - ELSE - the_reverse := dummy_tri || - face(set_of_topology_reversed(a_face.bounds)) || - oriented_face(a_face, FALSE) ; - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION set_of_topology_reversed (a_set : set_of_reversible_topology_item) - : set_of_reversible_topology_item; - LOCAL - the_reverse : set_of_reversible_topology_item; - END_LOCAL; - - the_reverse := []; - REPEAT i := 1 TO SIZEOF (a_set); - the_reverse := the_reverse + topology_reversed (a_set [i]); - END_REPEAT; - - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION shell_reversed (a_shell : shell) : shell; - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL' IN TYPEOF (a_shell) ) THEN - RETURN (open_shell_reversed (a_shell)); - ELSE - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL' IN TYPEOF (a_shell) ) THEN - RETURN (closed_shell_reversed (a_shell)); - ELSE - RETURN (?); - END_IF; - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION open_shell_reversed ( a_shell : open_shell) : - oriented_open_shell; - LOCAL - the_reverse : oriented_open_shell; - END_LOCAL; - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_OPEN_SHELL' IN TYPEOF (a_shell) ) THEN - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - open_shell () || oriented_open_shell( - a_shell\oriented_open_shell.open_shell_element, - (NOT (a_shell\oriented_open_shell.orientation))); - ELSE - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - open_shell () || oriented_open_shell (a_shell, FALSE); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: topology_schema *) - FUNCTION closed_shell_reversed (a_shell : closed_shell) : - oriented_closed_shell; - LOCAL - the_reverse : oriented_closed_shell; - END_LOCAL; - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ORIENTED_CLOSED_SHELL' IN TYPEOF (a_shell) ) THEN - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - closed_shell () || oriented_closed_shell( - a_shell\oriented_closed_shell.closed_shell_element, - NOT(a_shell\oriented_closed_shell.orientation)); - ELSE - the_reverse := dummy_tri || - connected_face_set ( - a_shell\connected_face_set.cfs_faces) || - closed_shell () || oriented_closed_shell (a_shell, FALSE); - END_IF; - RETURN (the_reverse); - END_FUNCTION; - -(* Implicit interfaced from: geometric_model_schema *) -FUNCTION constraints_geometry_shell_based_surface_model - (m : shell_based_surface_model) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT j := 1 TO SIZEOF(m.sbsm_boundary); - IF (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OPEN_SHELL' IN - TYPEOF(m.sbsm_boundary[j])) AND - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLOSED_SHELL' IN - TYPEOF(m.sbsm_boundary[j])))) - THEN - result := FALSE; - RETURN(result); - (* A surface model is composed of OPEN_ and CLOSED_SHELLs. *) - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: parameterization_schema *) -FUNCTION make_numeric_set(start, delta : maths_number; - incs : positive_integer) - : SET [2:?] OF maths_number; - - LOCAL - i : INTEGER; - numeric_set : SET[2:?] OF maths_number := [start, (start + delta)]; - END_LOCAL; - - IF incs > 1 THEN REPEAT i := 2 TO incs; - numeric_set := numeric_set + (start + (i*delta)); - END_REPEAT; - END_IF; - RETURN(numeric_set); -END_FUNCTION; - -(* Implicit interfaced from: variational_representation_schema *) -FUNCTION invalidate_vrep_item(item : representation_item) - : BOOLEAN; - - LOCAL - reps : SET[1:?] OF representation := using_representations(item); - ri : SET[1:?] OF variational_representation_item; - iar : instance_attribute_reference; - i : INTEGER; - n : INTEGER := HIINDEX(reps); - END_LOCAL; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN TYPEOF(item)) - THEN - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.INSTANCE_ATTRIBUTE_REFERENCE' - IN TYPEOF(item\generic_variable.interpretation\environment.semantics) - THEN - BEGIN - iar := item\generic_variable.interpretation\environment.semantics; - IF (reps <> using_representations(iar\instance_attribute_reference.owning_instance)) - THEN - RETURN(TRUE); - END_IF; - END; - ELSE RETURN(TRUE); -- parameter not attached to an instance attribute - END_IF; - END_IF; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN TYPEOF(item)) - THEN - BEGIN - REPEAT i := 1 TO n; - ri := QUERY(q <* reps[i]\representation.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FREE_FORM_CONSTRAINT' IN TYPEOF(q)); - IF SIZEOF(QUERY(r <* ri | - item IN (r\free_form_constraint.reference_elements + r\free_form_constraint.constrained_elements))) = 0 - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - END; - END_IF; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET' - IN TYPEOF(item)) - THEN - REPEAT i := 1 TO SIZEOF(item\fixed_instance_attribute_set.fixed_attributes); ---next line is previous --- IF (reps <> using_representations(item\fixed_instance_attribute_set.fixed_attributes[i])) ---is this intent? - IF (reps <> using_representations(item\fixed_instance_attribute_set.fixed_attributes[i]\instance_attribute_reference.owning_instance)) - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - END_IF; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPLICIT_CONSTRAINT' IN TYPEOF(item)) - THEN - IF SIZEOF(QUERY(q <* - (item\explicit_constraint.reference_elements + item\explicit_constraint.constrained_elements) | - reps <> using_representations(q))) > 0 - THEN - RETURN(TRUE); - END_IF; - END_IF; - - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AUXILIARY_GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item)) - THEN - BEGIN - REPEAT i := 1 TO n; - ri := QUERY(q <* reps[i]\representation.items | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXPLICIT_GEOMETRIC_CONSTRAINT' IN TYPEOF(q)); - IF SIZEOF(QUERY(r <* ri | - item IN r\explicit_geometric_constraint.reference_elements)) = 0 - THEN - RETURN(TRUE); - END_IF; - END_REPEAT; - END; - END_IF; - - RETURN(FALSE); -- no invalid cases have been found - -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION using_shape_aspect_of_shape_representation - (item: shape_representation) : SET OF shape_aspect; -LOCAL - local_s_d_r: SET OF shape_definition_representation := []; - local_s_d_r2: BAG OF shape_definition_representation := []; - local_s_a: SET OF shape_aspect := []; - i : INTEGER; -END_LOCAL; --- find shape_definition_representations - local_s_d_r2 := local_s_d_r2 + QUERY(pdr <* USEDIN (item, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF(pdr)); - local_s_d_r := bag_to_set (local_s_d_r2); --- find shape_aspects -REPEAT i := 1 TO HIINDEX (local_s_d_r); - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT' IN TYPEOF - (local_s_d_r[i]\property_definition_representation.definition\property_definition.definition)) - THEN local_s_a := local_s_a + local_s_d_r[i]\property_definition_representation.definition\property_definition.definition; - END_IF; -END_REPEAT; -RETURN (local_s_a); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_representative_shape_representation_of_product_definition - (item:product_definition) : shape_representation; -LOCAL - local_s_r: SET OF shape_representation := []; -END_LOCAL; --- find representative_shape_representation of the product_definition - local_s_r := QUERY - ( z <* find_shape_representation_of_product_definition (item)| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF(z)); - IF (SIZEOF (local_s_r) = 1) - THEN RETURN (local_s_r[1]); - ELSE RETURN(?); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_shape_representation_of_product_definition - (item:product_definition) : SET OF shape_representation; -LOCAL - local_p_d_s: SET OF product_definition_shape := []; - local_p_d_s2: BAG OF product_definition_shape := []; - local_s_d_r: SET OF shape_definition_representation := []; - local_s_d_r2: BAG OF shape_definition_representation := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; -END_LOCAL; --- find product_definition_shape representing the product_definiton - local_p_d_s2 := local_p_d_s2 + QUERY(pd <* USEDIN (item, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_SHAPE' IN - TYPEOF(pd)); - local_p_d_s := bag_to_set(local_p_d_s2); --- find shape_definition_representations refereing to the local_p_d_s - REPEAT i := 1 to HIINDEX (local_p_d_s); - local_s_d_r2 := local_s_d_r2 + QUERY(pdr <* USEDIN (local_p_d_s[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF(pdr)); - END_REPEAT; - local_s_d_r := bag_to_set (local_s_d_r2); - REPEAT i := 1 to HIINDEX (local_s_d_r); - IF('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' - IN TYPEOF (local_s_d_r[i].used_representation)) THEN - local_s_r := local_s_r + local_s_d_r[i].used_representation; - END_IF; - END_REPEAT; - RETURN (local_s_r); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION using_product_definition_of_shape_aspect - (item:shape_aspect) : product_definition ; - IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF - (item.of_shape.definition)) THEN - RETURN (item.of_shape.definition); - ELSE - RETURN (?); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_representative_shape_representation_of_shape_aspect - (item:shape_aspect) : shape_representation; -LOCAL - local_s_r: SET OF shape_representation := []; -END_LOCAL; --- find representative_shape_representation of the shape_aspect - local_s_r := QUERY ( z <* find_shape_representation_of_shape_aspect (item)| - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF(z)); - IF (SIZEOF (local_s_r) = 1) - THEN RETURN (local_s_r[1]); - ELSE RETURN(?); - END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_shape_representation_of_shape_aspect - (item:shape_aspect) : SET OF shape_representation; -LOCAL - local_p_d: SET OF property_definition:= []; - local_s_d_r: SET OF shape_definition_representation := []; - local_s_d_r2: BAG OF shape_definition_representation := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; -END_LOCAL; --- find property_definition representing the shape_aspect - local_p_d := bag_to_set (USEDIN (item, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION')); --- find shape_definition_representations refereing to the local_p_d - REPEAT i := 1 to HIINDEX (local_p_d); - local_s_d_r2 := local_s_d_r2 + QUERY(pdr <* USEDIN (local_p_d[i], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF(pdr)); - END_REPEAT; - local_s_d_r := bag_to_set (local_s_d_r2); - REPEAT i := 1 to HIINDEX (local_s_d_r); - IF('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION' - IN TYPEOF (local_s_d_r[i].used_representation)) THEN - local_s_r := local_s_r + local_s_d_r[i].used_representation; - END_IF; - END_REPEAT; - RETURN (local_s_r); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION find_assembly_root - (constituent: SET OF product_definition) : SET OF product_definition; -LOCAL - local_relation: SET OF assembly_component_usage := []; - local_relation2: BAG OF assembly_component_usage := []; - local_parent: SET OF product_definition := []; - root : SET OF product_definition; - i : INTEGER := 0; - j : INTEGER := 0; -END_LOCAL; - --- Is constituent root ? -- -IF ((SIZEOF (constituent) = 1) AND assembly_root (constituent[1])) - THEN RETURN ([constituent [1]]); --- ERROR constituent is vacant -- - ELSE IF (SIZEOF (constituent) = 0 ) THEN RETURN ([]); - --- extraction of related assembly_component_relationships -- - ELSE - REPEAT j:= 1 TO HIINDEX(constituent); - local_relation2 := local_relation2 + QUERY(pdr <* USEDIN (constituent[j], - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' - +'RELATED_PRODUCT_DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN - TYPEOF(pdr)); - END_REPEAT; - local_relation := bag_to_set (local_relation2); - IF (SIZEOF(local_relation) = 0) THEN - IF (SIZEOF(constituent) = 1) THEN RETURN ([constituent[1]]); - ELSE RETURN ([]); - END_IF; - ELSE --- extraction of a set of parents -- - REPEAT i :=1 TO HIINDEX(local_relation); - REPEAT j := 1 TO HIINDEX(constituent); - IF (local_relation[i].relating_product_definition <> - constituent[j]) THEN - local_parent := local_parent + - local_relation[i].relating_product_definition; - END_IF; - END_REPEAT; - END_REPEAT; - IF ((SIZEOF (local_parent) = 1 ) AND - assembly_root (local_parent[1])) - THEN RETURN ([local_parent[1]]); - ELSE IF (SIZEOF (local_parent) = 0) THEN RETURN ([]); --- try again -- - ELSE - root := find_assembly_root(local_parent); - IF (SIZEOF (root) =1) THEN RETURN (root); - ELSE IF (SIZEOF (root) = 0) THEN RETURN ([]); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; -END_IF; -RETURN ([]); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION assembly_root - (item: product_definition) : BOOLEAN; --- extraction of related assembly_component_relationships -- -IF (SIZEOF(QUERY(pdr <* USEDIN (item, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.' + - 'RELATED_PRODUCT_DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ASSEMBLY_COMPONENT_USAGE' IN - TYPEOF(pdr))) - = 0) THEN RETURN(TRUE); -ELSE RETURN (FALSE); -END_IF; -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION unique_in_product_definition - (item:representative_shape_representation) : BOOLEAN; -LOCAL - local_p_d: SET OF product_definition := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; - j : INTEGER; -END_LOCAL; --- find product_definitions represented by the input --- representative_shape_representation - local_p_d := using_product_definition_of_shape_representation (item); --- ERROR - IF (SIZEOF (local_p_d) <> 1) THEN RETURN (FALSE); - ELSE --- find shape_representation representing the product_definitions - REPEAT i := 1 to HIINDEX (local_p_d); - local_s_r := find_shape_representation_of_product_definition - (local_p_d[i]); - REPEAT j := 1 to HIINDEX (local_s_r); - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF (local_s_r[j])) - AND (local_s_r[j] :<>: item)) THEN RETURN (FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - END_IF; - RETURN (TRUE); -END_FUNCTION; - -(* Implicit interfaced from: assembly_feature_relationship_schema *) -FUNCTION unique_in_shape_aspect - (item:representative_shape_representation) : BOOLEAN; -LOCAL - local_s_a: SET OF shape_aspect := []; - local_s_r: SET OF shape_representation := []; - i : INTEGER; - j : INTEGER; -END_LOCAL; --- find shape_aspects represented by the input --- representative_shape_representation - local_s_a := using_shape_aspect_of_shape_representation (item); --- ERROR - IF (SIZEOF (local_s_a) <> 1) THEN RETURN (FALSE); - ELSE --- find shape_representation representing the shape_aspect - REPEAT i := 1 to HIINDEX (local_s_a); - local_s_r := find_shape_representation_of_shape_aspect - (local_s_a[i]); - REPEAT j := 1 to HIINDEX (local_s_r); - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION' IN TYPEOF (local_s_r[j])) - AND (local_s_r[j] :<>: item)) THEN RETURN (FALSE); - END_IF; - END_REPEAT; - END_REPEAT; - END_IF; - RETURN (TRUE); -END_FUNCTION; - -(* Implicit interfaced from: aic_edge_based_wireframe *) -FUNCTION valid_wireframe_edge_curve -( -crv : curve ) : BOOLEAN ; - IF SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' ] * TYPEOF (crv)) = 1 THEN - RETURN (TRUE); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN - RETURN (valid_wireframe_edge_curve(crv\curve_replica.parent_curve)); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (crv) THEN - RETURN (valid_wireframe_edge_curve(crv\offset_curve_3d.basis_curve)); - END_IF ; - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: aic_edge_based_wireframe *) -FUNCTION valid_wireframe_vertex_point -( -pnt : point ) : BOOLEAN ; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN - RETURN (TRUE); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF (pnt) THEN - RETURN (valid_wireframe_vertex_point(pnt\point_replica.parent_pt)); - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: aic_non_manifold_surface *) -FUNCTION nmsf_surface_check (surf : surface) : BOOLEAN; - -(* This function varifies the validity of a surface in the - context of a non-manifold surface model. -*) - - (* elementary_surfaces are valid surface types - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_SURFACE' IN TYPEOF(surf) THEN - RETURN(TRUE); - ELSE - - (* a swept_surface shall have a valid sweeping curve - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SWEPT_SURFACE' IN TYPEOF (surf) THEN - RETURN (nmsf_curve_check(surf\swept_surface.swept_curve)); - ELSE - - (* an offset_surface shall not self-intersect and shall - reference a valid surface - *) - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_SURFACE' IN TYPEOF (surf)) AND - (surf\offset_surface.self_intersect = FALSE) OR - (surf\offset_surface.self_intersect = UNKNOWN)) THEN - RETURN (nmsf_surface_check(surf\offset_surface.basis_surface)); - ELSE - - (* a surface_replica shall have a valid parent surface - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_REPLICA' IN TYPEOF(surf) THEN - RETURN(nmsf_surface_check(surf\surface_replica.parent_surface)); - ELSE - - (* a b_spline_surface shall not self-intersect - *) - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_SURFACE' IN TYPEOF(surf)) - AND - (surf\b_spline_surface.self_intersect = FALSE) OR - (surf\b_spline_surface.self_intersect = UNKNOWN)) THEN - RETURN(TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - RETURN(FALSE); -END_FUNCTION; - -(* Implicit interfaced from: aic_non_manifold_surface *) -FUNCTION nmsf_curve_check (cv : representation_item) : BOOLEAN; - -(* This function varifies the validity of a curve in the context of a - non-manifold surface model. Representation_items are - valid input, however, they are supposed to be curves; otherwise - this function will return false. -*) - - (* complex subtypes of curve that are both bounded_curve and - oneof conic, curve_replica, line, or offset_curve_3d are not - valid - *) - IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOUNDED_CURVE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D'] * TYPEOF(cv)) > 1 - THEN RETURN(FALSE); - ELSE - - (* b_spline_curves shall not self-intersect - *) - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF (cv)) AND - (cv\b_spline_curve.self_intersect = FALSE) OR - (cv\b_spline_curve.self_intersect = UNKNOWN)) - THEN RETURN(TRUE); - ELSE - - (* conics and lines are valid curve types - *) - IF SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONIC', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE'] * TYPEOF (cv)) = 1 THEN - RETURN(TRUE); - ELSE - - (* a curve_replica shall reference a valid curve - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF(cv) THEN - RETURN (nmsf_curve_check(cv\curve_replica.parent_curve)); - ELSE - - (* an offset_curve_3d shall not self-intersect and - shall reference a valid curve; a polyline is not a - valid basis_curve - *) - IF (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (cv)) - AND - ((cv\offset_curve_3d.self_intersect = FALSE) OR - (cv\offset_curve_3d.self_intersect = UNKNOWN)) - AND - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF - (cv\offset_curve_3d.basis_curve)))) THEN - RETURN (nmsf_curve_check(cv\offset_curve_3d.basis_curve)); - ELSE - - (* a pcurve shall reference a valid curve and a valid - basis_surface - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF(cv) THEN - RETURN ((nmsf_curve_check - (cv\pcurve.reference_to_curve\representation.items[1])) - AND - (nmsf_surface_check(cv\pcurve.basis_surface))); - ELSE - - (* a surface_curve references a curve_3d and one or - two pcurves or one or two surfaces or one of - each; all of these references shall be valid - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_CURVE' IN TYPEOF(cv) THEN - - (* if the curve reference is correct, check also the rest - *) - IF nmsf_curve_check(cv\surface_curve.curve_3d) THEN - REPEAT i := 1 TO SIZEOF - (cv\surface_curve.associated_geometry); - - (* do for one or two associated_geometrys: - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE' IN - TYPEOF (cv\surface_curve.associated_geometry[i]) THEN - IF NOT nmsf_surface_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PCURVE' IN TYPEOF - (cv\surface_curve.associated_geometry[i]) THEN - IF NOT nmsf_curve_check - (cv\surface_curve.associated_geometry[i]) THEN - RETURN(FALSE); - END_IF; - END_IF; - END_IF; - END_REPEAT; - RETURN(TRUE); - END_IF; - ELSE - - (* a polyline shall have at least 3 points - *) - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE' IN TYPEOF(cv) THEN - IF (SIZEOF (cv\polyline.points) >= 3) THEN RETURN (TRUE); - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - END_IF; - (* FALSE is returned if the input parameter cv is not a valid curve. - *) - RETURN (FALSE); -END_FUNCTION; - -(* Implicit interfaced from: geometric_model_schema *) -FUNCTION acyclic_solid_replica - (rep : solid_replica; parent : solid_model) : BOOLEAN; -IF NOT (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SOLID_REPLICA') IN TYPEOF(parent)) THEN - RETURN (TRUE); - END_IF; - (* Return TRUE if the parent is not of type solid_replica. *) - IF (parent :=: rep) THEN - RETURN (FALSE); - (* Return FALSE if the parent is the same solid_replica, otherwise, - call function again with the parents own parent_solid. *) - ELSE RETURN(acyclic_solid_replica(rep, - parent\solid_replica.parent_solid)); - END_IF;END_FUNCTION; - -(* Implicit interfaced from: presentation_definition_schema *) - FUNCTION acyclic_composite_text(start_composite : composite_text; - child_text : SET [1:?] OF - text_or_character) : LOGICAL; - LOCAL - i : INTEGER; - local_composite_text : SET [0:?] OF composite_text; - local_annotation_text : SET [0:?] OF annotation_text; - local_children : SET [0:?] OF text_or_character; - END_LOCAL; - - local_composite_text := QUERY (child <* child_text | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT' - IN TYPEOF (child))); - - IF (SIZEOF (local_composite_text) > 0) - THEN - REPEAT i := 1 TO HIINDEX (local_composite_text); - IF (start_composite :=: local_composite_text[i]) - THEN - RETURN (FALSE); - END_IF; - END_REPEAT; - END_IF; - - local_children := child_text; - - IF (SIZEOF (local_composite_text)) > 0 THEN - REPEAT i := 1 TO HIINDEX (local_composite_text); - local_children := local_children + - local_composite_text[i].collected_text; - END_REPEAT; - END_IF; - - local_annotation_text := QUERY (child <* child_text | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT' - IN TYPEOF (child))); - - IF (SIZEOF (local_annotation_text) > 0) THEN - REPEAT i := 1 TO HIINDEX (local_annotation_text); - local_children := local_children + - QUERY (item <* local_annotation_text[i]\mapped_item. - mapping_source.mapped_representation.items | - SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_TEXT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_TEXT'] * - TYPEOF(item)) > 0); - END_REPEAT; - END_IF; - - IF (local_children :<>: child_text) THEN - RETURN (acyclic_composite_text (start_composite, local_children)); - ELSE - RETURN (TRUE); - END_IF; - - END_FUNCTION; - -(* Implicit interfaced from: aic_geometrically_bounded_wireframe *) -FUNCTION valid_geometrically_bounded_wf_curve -( -crv : curve ) : BOOLEAN ; - IF SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POLYLINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELLIPSE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCLE' ] * TYPEOF (crv)) = 1 THEN - RETURN (TRUE); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TRIMMED_CURVE' IN TYPEOF (crv) THEN - IF SIZEOF ([ 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARABOLA', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.HYPERBOLA' ] * TYPEOF (crv\trimmed_curve.basis_curve)) = 1 THEN - RETURN (TRUE); - ELSE - RETURN (valid_geometrically_bounded_wf_curve(crv\trimmed_curve.basis_curve)); - END_IF ; - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OFFSET_CURVE_3D' IN TYPEOF (crv) THEN - RETURN (valid_geometrically_bounded_wf_curve(crv\offset_curve_3d.basis_curve)); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_REPLICA' IN TYPEOF (crv) THEN - RETURN (valid_geometrically_bounded_wf_curve(crv\curve_replica.parent_curve)); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_CURVE' IN TYPEOF (crv) THEN - RETURN ( SIZEOF ( -QUERY ( ccs <* crv\composite_curve.segments| NOT valid_geometrically_bounded_wf_curve(ccs.parent_curve) )) = 0); - END_IF ; - END_IF ; - END_IF ; - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: aic_geometrically_bounded_wireframe *) -FUNCTION valid_geometrically_bounded_wf_point -( -pnt : point ) : BOOLEAN ; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CARTESIAN_POINT' IN TYPEOF (pnt) THEN - RETURN (TRUE); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_ON_CURVE' IN TYPEOF (pnt) THEN - RETURN (valid_geometrically_bounded_wf_curve(pnt\point_on_curve.basis_curve)); - ELSE - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POINT_REPLICA' IN TYPEOF (pnt) THEN - RETURN (valid_geometrically_bounded_wf_point(pnt\point_replica.parent_pt)); - END_IF ; - END_IF ; - END_IF ; - RETURN (FALSE); - END_FUNCTION ; - -(* Implicit interfaced from: parameterization_schema *) -FUNCTION validate_attribute_id(attid : attribute_identifier) : BOOLEAN; - - CONSTANT - letters : SET[52:52] OF STRING := - ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p', - 'q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F', - 'G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V', - 'W','X','Y','Z']; - numbers_etc : SET[15:15] OF STRING := - ['0','1','2','3','4','5','6','7','8','9','_','[',']','.','\']; - valid_chars : SET[67:67] OF STRING := letters + numbers_etc; - END_CONSTANT; - - LOCAL - id_length : INTEGER := LENGTH(attid); - id_valid : BOOLEAN := TRUE; - i : INTEGER; - END_LOCAL; - - -- check that indentifier starts with a letter - - IF NOT (attid[1] IN letters) THEN - id_valid := FALSE; - END_IF; - - -- check that no invalid characters occur subsequently - - REPEAT i := 2 TO id_length WHILE id_valid = TRUE; - IF NOT (attid[i] IN valid_chars) THEN - id_valid := FALSE; - END_IF; - END_REPEAT; - RETURN(id_valid); - -END_FUNCTION; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION collect_joints - (items : SET[1:?] OF pair_representation_relationship) : SET OF kinematic_joint; -LOCAL - result : SET OF kinematic_joint := []; -END_LOCAL; - REPEAT i := 1 TO HIINDEX(items); - result := result + items[i].transformation_operator.joint; - END_REPEAT; - RETURN(result); -END_FUNCTION; -(* REFERENCE FROM (kinematic_topology_schema); *) -FUNCTION get_kinematic_joints_from_oriented_joints(ors : SET OF oriented_joint) : SET OF kinematic_joint; - LOCAL - result : SET OF kinematic_joint := []; - END_LOCAL; - IF SIZEOF(ors) > 0 THEN - REPEAT i := 1 TO HIINDEX(ors); - result := result + ors[i].edge_element; - END_REPEAT; - END_IF; - RETURN (result); -END_FUNCTION; -(* REFERENCE FROM (kinematic_topology_schema); *) -FUNCTION get_kinematic_joints_from_kinematic_loops(kls : SET OF kinematic_loop) : SET OF kinematic_joint; - LOCAL - result : SET OF oriented_joint := []; - END_LOCAL; - IF SIZEOF(kls) > 0 THEN - REPEAT i := 1 TO HIINDEX(kls); - result := result + kls[i].edge_list; - END_REPEAT; - END_IF; - RETURN (get_kinematic_joints_from_oriented_joints(result)); -END_FUNCTION; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION sort_link_associations - (aprr : SET[1:?] OF pair_representation_relationship; one_not_two : boolean) : SET OF kinematic_link_representation; -LOCAL - result : SET OF kinematic_link_representation := []; -END_LOCAL; - IF one_not_two THEN - REPEAT i := 1 TO HIINDEX(aprr); - result := result + aprr[i].rep_1; - END_REPEAT; - ELSE - REPEAT i := 1 TO HIINDEX(aprr); - result := result + aprr[i].rep_2; - END_REPEAT; - END_IF; - RETURN(result); -END_FUNCTION; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION plane_angle_for_pair_in_radian - (pair : kinematic_pair; - angle : plane_angle_measure) : plane_angle_measure; - LOCAL - converted_angle : plane_angle_measure := angle; - link_rep : kinematic_link_representation - := representation_of_link (pair.joint.edge_start); - link_cntxt : representation_context; - pa_units : SET OF unit := []; - pau : unit; - END_LOCAL; - - link_cntxt := link_rep\representation.context_of_items; - - IF NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GLOBAL_UNIT_ASSIGNED_CONTEXT' - IN TYPEOF (link_cntxt)) THEN - RETURN (?); - END_IF; - - pa_units := QUERY (unit <* link_cntxt\global_unit_assigned_context.units | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF (unit)); - - IF SIZEOF (pa_units) <> 1 THEN - RETURN (?); - END_IF; - - pau := pa_units[1]; - - IF (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SI_UNIT' IN TYPEOF (pau)) AND - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF (pau))) THEN - RETURN (?); - END_IF; - - REPEAT WHILE ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF (pau)); - converted_angle := converted_angle * - pau\conversion_based_unit.conversion_factor. - value_component; - pau := pau\conversion_based_unit.conversion_factor.unit_component; - - IF ((NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SI_UNIT' IN TYPEOF (pau)) AND - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONVERSION_BASED_UNIT' IN TYPEOF (pau))) OR - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_UNIT' IN TYPEOF (pau)))) THEN - RETURN (?); - END_IF; - END_REPEAT; - - IF (pau\si_unit.name <> si_unit_name.radian) THEN - RETURN (?); - END_IF; - - CASE pau\si_unit.prefix OF - si_prefix.exa : RETURN (1.E18 * converted_angle); - si_prefix.peta : RETURN (1.E15 * converted_angle); - si_prefix.tera : RETURN (1.E12 * converted_angle); - si_prefix.giga : RETURN (1.E9 * converted_angle); - si_prefix.mega : RETURN (1.E6 * converted_angle); - si_prefix.kilo : RETURN (1.E3 * converted_angle); - si_prefix.hecto : RETURN (1.E2 * converted_angle); - si_prefix.deca : RETURN (1.E1 * converted_angle); - si_prefix.deci : RETURN (1.E-1 * converted_angle); - si_prefix.centi : RETURN (1.E-2 * converted_angle); - si_prefix.milli : RETURN (1.E-3 * converted_angle); - si_prefix.micro : RETURN (1.E-6 * converted_angle); - si_prefix.nano : RETURN (1.E-9 * converted_angle); - si_prefix.pico : RETURN (1.E-12 * converted_angle); - si_prefix.femto : RETURN (1.E-15 * converted_angle); - si_prefix.atto : RETURN (1.E-18 * converted_angle); - OTHERWISE : RETURN (converted_angle); - END_CASE; - -END_FUNCTION; - -(* Implicit interfaced from: kinematic_structure_schema *) -FUNCTION representation_of_link (link : kinematic_link) - : kinematic_link_representation; -(* - LOCAL - link_rep_rel : BAG OF kinematic_link_representation_relation; - END_LOCAL; - - link_rep_rel := USEDIN (link, 'KINEMATIC_STRUCTURE_SCHEMA.'+ - 'KINEMATIC_LINK_REPRESENTATION_RELATION.'+ - 'TOPOLOGICAL_ASPECTS'); - IF (SIZEOF (link_rep_rel) = 0) THEN - RETURN (?); - ELSE - RETURN (link_rep_rel[1].geometric_aspects); - END_IF; -*) - RETURN (?); -END_FUNCTION; - -(* Implicit interfaced from: kinematic_state_schema *) -FUNCTION convert_spatial_to_ypr_rotation (pair : kinematic_pair; - rotation : spatial_rotation) - : ypr_rotation; - LOCAL - axis : direction; - angle : plane_angle_measure; -- rotation angle in application - -- specific units - conv_angle : plane_angle_measure; -- rotation angle in radians - ya, pa, ra : plane_angle_measure; -- yaw, pitch, and roll angle - ucf : REAL; -- unit conversion factor - dx, dy, dz : REAL; -- components of direction vector - s_a, c_a : REAL; -- sine and cosine of rotation angle - rotmat : ARRAY [1 : 3] OF - ARRAY [1 : 3] OF REAL; -- rotation matrix - cm1 : REAL; - s_y, c_y : REAL; - s_r, c_r : REAL; - END_LOCAL; - - -- If rotation is already a ypr_rotation, return it immediately - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.YPR_ROTATION' IN TYPEOF (rotation) THEN - RETURN (rotation); - END_IF; - - -- rotation is a rotation_about_direction - - axis := normalise (rotation\rotation_about_direction.direction_of_axis); - angle := rotation\rotation_about_direction.rotation_angle; - - -- a zero rotation is converted trivially - IF (angle = 0.0) THEN - RETURN ([0.0, 0.0, 0.0]); - END_IF; - - dx := axis.direction_ratios[1]; - dy := axis.direction_ratios[2]; - dz := axis.direction_ratios[3]; - - -- provide angle measured in radian - - conv_angle := plane_angle_for_pair_in_radian (pair, angle); - - IF NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANE_ANGLE_MEASURE' IN TYPEOF(conv_angle)) THEN - RETURN (?); - END_IF; - - ucf := angle / conv_angle; - s_a := SIN (conv_angle); - c_a := COS (conv_angle); - - -- axis parallel either to x-axis or to z-axis? - IF (dy = 0.0) AND (dx * dz = 0.0) THEN - REPEAT WHILE (conv_angle <= - PI); - conv_angle := conv_angle + 2.0 * PI; - END_REPEAT; - REPEAT WHILE (conv_angle > PI); - conv_angle := conv_angle - 2.0 * PI; - END_REPEAT; - - ya := ucf * conv_angle; - IF (conv_angle <> PI) THEN - ra := - ya; - ELSE - ra := ya; - END_IF; - - IF (dx <> 0.0) THEN - -- axis parallel to x-axis - use x-axis as roll axis - IF (dx > 0.0) THEN - RETURN ([0.0, 0.0, ya]); - ELSE - RETURN ([0.0, 0.0, ra]); - END_IF; - ELSE - -- axis parallel to z-axis - use z-axis as yaw axis - IF (dz > 0.0) THEN - RETURN ([ya, 0.0, 0.0]); - ELSE - RETURN ([ra, 0.0, 0.0]); - END_IF; - END_IF; - END_IF; - - -- axis parallel to y-axis - use y-axis as pitch axis - IF ((dy <> 0.0) AND (dx = 0.0) AND (dz = 0.0)) THEN - IF (c_a >= 0.0) THEN - ya := 0.0; - ra := 0.0; - ELSE - ya := ucf * PI; - ra := ya; - END_IF; - - pa := ucf * ATAN (s_a, ABS (c_a)); - IF (dy < 0.0) THEN - pa := - pa; - END_IF; - - RETURN ([ya, pa, ra]); - END_IF; - - -- axis not parallel to any axis of coordinate system - -- compute rotation matrix - - cm1 := 1.0 - c_a; - - rotmat := [ [ dx * dx * cm1 + c_a, - dx * dy * cm1 - dz * s_a, - dx * dz * cm1 + dy * s_a ], - [ dx * dy * cm1 + dz * s_a, - dy * dy * cm1 + c_a, - dy * dz * cm1 - dx * s_a ], - [ dx * dz * cm1 - dy * s_a, - dy * dz * cm1 + dx * s_a, - dz * dz * cm1 + c_a ] ]; - - -- rotmat[1][3] equals SIN (pitch_angle) - IF (ABS (rotmat[1][3]) = 1.0) THEN - -- |pa| = PI/2 - BEGIN - IF (rotmat[1][3] = 1.0) THEN - pa := 0.5 * PI; - ELSE - pa := -0.5 * PI; - END_IF; - - -- In this case, only the sum or difference of roll and yaw angles - -- is relevant and can be evaluated from the matrix. - -- According to IP `rectangular pitch angle' for ypr_rotation, - - ra := 0.0; - ya := ATAN (rotmat[2][1], rotmat[2][2]); - - - IF (rotmat[2][2] < 0.0) THEN - IF ya <= 0.0 THEN - ya := ya + PI; - ELSE - ya := ya - PI; - END_IF; - END_IF; - END; - ELSE - BEGIN - ya := ATAN (- rotmat[1][2], rotmat[1][1]); - - IF (rotmat[1][1] < 0.0) THEN - IF (ya <= 0.0) THEN - ya := ya + PI; - ELSE - ya := ya - PI; - END_IF; - END_IF; - - ra := ATAN (-rotmat[2][3], rotmat[3][3]); - - IF (rotmat[3][3] < 0.0) THEN - IF (ra <= 0.0) THEN - ra := ra + PI; - ELSE - ra := ra - PI; - END_IF; - END_IF; - - s_y := SIN (ya); - c_y := COS (ya); - s_r := SIN (ra); - c_r := COS (ra); - - IF ((ABS (s_y) > ABS (c_y)) AND - (ABS (s_y) > ABS (s_r)) AND - (ABS (s_y) > ABS (c_r))) THEN - cm1 := - rotmat[1][2] / s_y; - ELSE - IF ((ABS (c_y) > ABS (s_r)) AND (ABS (c_y) > ABS (c_r))) THEN - cm1 := rotmat[1][1] / c_y; - ELSE - IF (ABS (s_r) > ABS (c_r)) THEN - cm1 := - rotmat[2][3] / s_r; - ELSE - cm1 := rotmat[3][3] / c_r; - END_IF; - END_IF; - END_IF; - - pa := ATAN (rotmat[1][3], cm1); - - END; - END_IF; - - ya := ya * ucf; - pa := pa * ucf; - ra := ra * ucf; - - RETURN ([ya, pa, ra]); - -END_FUNCTION; - -(* Implicit interfaced from: geometric_model_schema *) -FUNCTION constraints_geometry_shell_based_wireframe_model - (m : shell_based_wireframe_model) : BOOLEAN; -LOCAL - result : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT j := 1 TO SIZEOF(m.sbwm_boundary); - IF (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.WIRE_SHELL' IN - TYPEOF(m.sbwm_boundary[j])) AND - (NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VERTEX_SHELL' IN - TYPEOF(m.sbwm_boundary[j])))) - THEN - result := FALSE; - RETURN(result); - (* A wireframe model is composed of WIRE_ and VERTEX_SHELLs *) - END_IF; - END_REPEAT; - RETURN(result);END_FUNCTION; - -(* Implicit interfaced from: kinematic_state_schema *) -FUNCTION ypr_index (ypr : ypr_enumeration) : INTEGER; - CASE ypr OF - yaw : RETURN (1); - pitch : RETURN (2); - roll : RETURN (3); - END_CASE; - RETURN (?); -END_FUNCTION; -(* REFERENCE FROM (support_resource_schema); *) - FUNCTION type_check_function (the_type : GENERIC; sub_names : SET OF STRING; criterion : INTEGER):LOGICAL; - IF ((NOT EXISTS(the_type)) OR (SIZEOF(sub_names) = 0)) THEN - RETURN (UNKNOWN); - ELSE - CASE criterion OF - 0: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) > 0); - 1: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) = 0); - 2: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) = 1); - 3: RETURN (SIZEOF(sub_names * TYPEOF(the_type)) <= 1); - OTHERWISE : RETURN (UNKNOWN); - END_CASE; - END_IF; - END_FUNCTION; - -(* Implicit interfaced from: Classification_with_attributes_mim *) -FUNCTION class_assignment_is_valid (aia: applied_classification_assignment): BOOLEAN; -LOCAL - item: classification_item; - role: classification_role; -END_LOCAL; - -role:= aia\classification_assignment.role; -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLASS_SYSTEM' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN - IF(role\classification_role.name <> 'class system membership') THEN - RETURN(FALSE); - END_IF; - REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items); - item:= aia\applied_classification_assignment.items[i]; - - IF (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_CLASS'] * TYPEOF(item))=0) THEN --- item invalid if item does not belong to the types that may have a class_system - RETURN(FALSE); - END_IF; - END_REPEAT; -END_IF; - -IF ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CHARACTERIZED_CLASS' IN TYPEOF(aia\classification_assignment.assigned_class)) THEN - IF NOT(role\classification_role.name IN ['definitional','non-definitional','']) THEN - RETURN(FALSE); - END_IF; - - - REPEAT i:=LOINDEX(aia\applied_classification_assignment.items) TO HIINDEX(aia\applied_classification_assignment.items); - item:= aia\applied_classification_assignment.items[i]; - - IF (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLASSIFIED_ITEM'] * TYPEOF(item))=0) THEN --- item invalid if item does not belong to the types that may have a characterized_class - RETURN(FALSE); - END_IF; - END_REPEAT; -END_IF; - - IF - (role\classification_role.name = 'definitional') - THEN - IF NOT - (SIZEOF(QUERY(it <* aia\applied_classification_assignment.items | NOT - (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION'] * TYPEOF(it)) = 1) - )) = 0 ) - THEN - RETURN(FALSE); - END_IF; - END_IF; - -RETURN(TRUE); -END_FUNCTION; - -(* Implicit interfaced from: Product_occurrence_mim *) - FUNCTION valid_selected_instance_representation (pd: product_definition_or_assembly_relationship): LOGICAL; - LOCAL - properties: SET OF property_definition := bag_to_set(QUERY( prd<* USEDIN ( pd ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION' ) | - (prd.name = 'occurrence selection' ))); - property_definition_representations: SET OF property_definition_representation := bag_to_set(QUERY ( pdr <* USEDIN ( properties[1] , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - ( pdr.used_representation.name = 'selection criteria' ))); - selected_representation: representation; - END_LOCAL; - IF (SIZEOF( properties)<>1) THEN - RETURN(FALSE); - END_IF; - IF (SIZEOF(property_definition_representations)<>1) THEN - RETURN(FALSE); - END_IF; - selected_representation := property_definition_representations[1]\property_definition_representation.used_representation; - IF (SIZEOF(selected_representation\representation.items) <1) OR (SIZEOF(selected_representation\representation.items) >2) THEN - RETURN(FALSE); - END_IF; - IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_RANGE']* TYPEOF ( i ) ) = 1) AND - ( i.name = 'selection quantity' ))) <> 1 ) THEN - RETURN(FALSE); - END_IF; - IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND - ( i.name = 'selection control' )))> 1) THEN - RETURN(FALSE); - END_IF; --the selection control is not specified then the quantity shall be a qualified_representation_item or a value_range - IF (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF( i ) ) AND - ( i.name = 'selection control' ) ))= 0) AND - (SIZEOF ( QUERY ( i <* selected_representation\representation.items | - ( i.name = 'selection quantity' ) AND - ( SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.QUALIFIED_REPRESENTATION_ITEM' , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_RANGE']* TYPEOF ( i ) ) =0 ))) > 0 ) THEN - RETURN(FALSE); - END_IF; - RETURN(TRUE); - END_FUNCTION; - -(* Implicit interfaced from: Product_and_manufacturing_information_view_context_mim *) -FUNCTION get_associated_mandatory_document_ids(pdc : product_definition_context) : SET OF STRING; - LOCAL - result : SET OF STRING := []; - adrs_raw : SET OF applied_document_reference := bag_to_set(USEDIN(pdc, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_DOCUMENT_REFERENCE.ITEMS')); - adrs_filtered : SET OF applied_document_reference := []; - ras : SET OF role_association; - dpas : SET OF document_product_association; - END_LOCAL; - - -- scan adrs_raw for associated role 'mandatory' and fill adrs_filtered with results - REPEAT i := 1 TO HIINDEX(adrs_raw); - if adrs_raw[i]\document_reference.role\object_role.name = 'mandatory' THEN - adrs_filtered := adrs_filtered + adrs_raw[i]; - END_IF; - END_REPEAT; - - -- scan through adrs_filtered and access associated product.id s - REPEAT i := 1 TO HIINDEX(adrs_filtered); - dpas := bag_to_set(USEDIN(adrs_filtered[i]\document_reference.assigned_document, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DOCUMENT_PRODUCT_ASSOCIATION.RELATING_DOCUMENT')); - REPEAT j := 1 TO HIINDEX(dpas); - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DOCUMENT_PRODUCT_EQUIVALENCE' IN TYPEOF (dpas[j]) THEN - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_FORMATION' IN TYPEOF (dpas[j]\document_product_association.related_product) THEN - result := result + dpas[j]\document_product_association.related_product\product_definition_formation.of_product\product.id; - END_IF; - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT' IN TYPEOF (dpas[j].related_product) THEN - result := result + dpas[j]\document_product_association.related_product\product.id; - END_IF; - END_IF; - END_REPEAT; - END_REPEAT; - - RETURN (result); -END_FUNCTION; - -(* Implicit interfaced from: Surface_conditions_mim *) - FUNCTION surface_condition_correlation (pd: property_definition; rep: representation): LOGICAL; - CASE pd.name OF - 'visual appearance', 'tactile appearance', 'contact ratio', 'hardness', 'treatment result', 'surface texture' : - RETURN(pd.name = rep.name); - OTHERWISE : RETURN(UNKNOWN); - END_CASE; - END_FUNCTION; -(* REFERENCE FROM (product_definition_schema); *) - FUNCTION categories_of_product - (obj : product) : SET OF STRING; - LOCAL - category_assignments: BAG OF product_category; - categories: SET OF STRING:=[]; - END_LOCAL; - category_assignments := USEDIN(obj, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS'); - REPEAT i := LOINDEX(category_assignments) TO HIINDEX(category_assignments) BY 1; - categories := categories + category_assignments[i].name; - END_REPEAT; - RETURN(categories); - END_FUNCTION; - -(* Implicit interfaced from: External_properties_mim *) - FUNCTION external_version_assignment_is_valid (aia: applied_external_identification_assignment): BOOLEAN; - LOCAL - item: external_identification_item; - role: identification_role; - END_LOCAL; - role:= aia.role; - IF role.name='version' THEN - REPEAT i := LOINDEX(aia\applied_external_identification_assignment.items) TO HIINDEX(aia\applied_external_identification_assignment.items); - item:= aia\applied_external_identification_assignment.items[i]; - IF (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTERNALLY_DEFINED_GENERAL_PROPERTY']*TYPEOF(item))=0) THEN - -- item invalid if item does not belong to versionable types - RETURN(FALSE); - END_IF; - END_REPEAT; - RETURN(TRUE); - ELSE -- case where aia does not convey a version id - RETURN(TRUE); - END_IF; - END_FUNCTION; - -RULE not_instantiable_pre_defined_surface_side_style FOR - (pre_defined_surface_side_style); -WHERE - WR1: SIZEOF (pre_defined_surface_side_style) = 0; -END_RULE; - -RULE cartesian_coordinate_system_constraint FOR - (global_unit_assigned_context, - geometric_representation_context); -LOCAL - guac_inst : SET OF global_unit_assigned_context := - QUERY ( guac <* global_unit_assigned_context | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'GEOMETRIC_REPRESENTATION_CONTEXT' IN TYPEOF (guac))); -END_LOCAL; -WHERE - WR1: SIZEOF (QUERY (guac <* guac_inst | - NOT (SIZEOF (guac.units) <= 3))) = 0; - WR2: SIZEOF (QUERY (guac <* guac_inst | (NOT ( - (SIZEOF (QUERY (u <* guac.units | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LENGTH_UNIT' - IN TYPEOF (u)))) = 1) - AND - (SIZEOF (QUERY (u <* guac.units | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PLANE_ANGLE_UNIT' - IN TYPEOF (u)))) = 1) - AND - (SIZEOF (QUERY (u <* guac.units | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'SOLID_ANGLE_UNIT' - IN TYPEOF (u)) )) <= 1) - )))) = 0; - WR3: SIZEOF( QUERY( grc <* guac_inst | - NOT( (grc.coordinate_space_dimension = 2) OR - (grc.coordinate_space_dimension = 3)))) = 0; - WR4: SIZEOF (QUERY (guac <* guac_inst | - NOT (SIZEOF (QUERY (u <* guac.units |NOT( - NOT(( - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PLANE_ANGLE_UNIT' IN TYPEOF(u)) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'CONVERSION_BASED_UNIT' IN TYPEOF(u)) AND - (u\conversion_based_unit.name = 'degree')) - OR - ((abs(u\conversion_based_unit. - conversion_factor\measure_with_unit.value_component - - 0.0174532925) <= 0.001) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'PLANE_ANGLE_MEASURE_WITH_UNIT' - IN TYPEOF(u\conversion_based_unit.conversion_factor))) - ))) = 0) - )) = 0; -END_RULE; - -RULE area_component_shape_constraint FOR - (area_component); -WHERE - WR1: SIZEOF( QUERY( ac <* area_component | - NOT(SIZEOF (QUERY (pdr <* USEDIN(ac,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - NOT(NOT(pdr\property_definition_representation.used_representation\representation.id = 'ac2dsm') OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SINGLE_AREA_CSG_2D_SHAPE_REPRESENTATION' IN TYPEOF(pdr\property_definition_representation.used_representation))) - )) = 0) - )) = 0; - WR2: SIZEOF( QUERY( ac <* area_component | - NOT(apeaid_is_base(ac)) OR - NOT(SIZEOF (QUERY (pdr <* USEDIN(ac,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - NOT(NOT(pdr\property_definition_representation.used_representation\representation.id = 'ac2dsm') OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SINGLE_BOUNDARY_CSG_2D_SHAPE_REPRESENTATION' IN TYPEOF(pdr\property_definition_representation.used_representation))) - )) = 0) - )) = 0; -END_RULE; - -(* Implicit interfaced from: Classification_with_attributes_mim *) -RULE restrict_group_relationship_for_classification_hierarchy FOR (group_relationship); -WHERE -WR1: SIZEOF( QUERY( gr <* group_relationship | - (gr\group_relationship.name = 'class hierarchy') AND - (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.related_group)) OR - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CLASS' IN TYPEOF(gr\group_relationship.relating_group))) )) = 0; -END_RULE; - -RULE shape_representation_requires_origin FOR (shape_representation); -WHERE - WR1: -(* -pseudocode -co:FOREACH (sr <* shape_representation |c1); -c1:EXACTLYONE(it <* sr\representation.items |c2) - or ATLEASTONE(it <* sr\representation.items |c3) - or EXACTLYNONE(it <* sr\representation.items |c4); -c2:((it.name = 'origin') or (it.name = 'orientation')) and - (AXIS2_PLACEMENT_2D in TYPEOF(it) OR - AXIS2_PLACEMENT_3D in TYPEOF(it)); -c3:STYLED_ITEM in TYPEOF(it); -c4:((it.name = 'origin') or (it.name = 'orientation')) and - ((sr.name = 'zone shape') or - (sr.context_of_items.context_type = 'connection zone colour')); -*) -SIZEOF(QUERY ( sr <* shape_representation | NOT( -(SIZEOF(QUERY ( it <* sr\representation.items | ( -((it\representation_item.name = 'origin') or (it\representation_item.name = 'orientation')) and - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' in TYPEOF(it)) OR - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'AXIS2_PLACEMENT_2D' in TYPEOF(it))) -))) = 1 -) -OR -(SIZEOF(QUERY ( it <* sr\representation.items | ( - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + - 'STYLED_ITEM' in TYPEOF(it)) -))) >= 1 -) -OR -(SIZEOF(QUERY ( it <* sr\representation.items | ( -((it\representation_item.name = 'origin') or (it\representation_item.name = 'orientation')) and - ((sr\representation.name = 'zone shape') or - (sr.context_of_items\representation_context.context_type = 'connection zone colour')) -))) = 0 -) -))) = 0; -END_RULE; - -RULE spline_curve_population_constraint FOR - (curve); -WHERE - WR1: SIZEOF( QUERY( cu <* curve | -('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.B_SPLINE_CURVE' IN TYPEOF(cu)) - )) = 0; -END_RULE; - -(* Implicit interfaced from: Part_and_zone_laminate_tables_mim *) - RULE component_class_for_assembly_select FOR - (composite_assembly_sequence_definition, - next_assembly_usage_occurrence, - product_related_product_category); - LOCAL - i,j,k : INTEGER :=0; - dkuhr : LOGICAL :=TRUE; - nnauo : INTEGER :=0; - nprpc : INTEGER :=0; - rp : product; - END_LOCAL; - REPEAT i:= LOINDEX (composite_assembly_sequence_definition) TO - HIINDEX (composite_assembly_sequence_definition); - nnauo := 0; - REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO - HIINDEX (next_assembly_usage_occurrence); - IF (composite_assembly_sequence_definition[i] = - next_assembly_usage_occurrence[j].relating_product_definition) THEN - rp := next_assembly_usage_occurrence[j].related_product_definition. - formation.of_product; - nprpc := 0; - REPEAT k:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - IF ((rp IN product_related_product_category[k].products) AND - (product_related_product_category[k].name IN ['ply', - 'ply laminate', 'filament laminate', 'processed core', - 'composite assembly'])) THEN - nprpc := nprpc + 1; - END_IF; - END_REPEAT; - IF (nprpc = 1) THEN - nnauo := nnauo + 1; - ELSE - dkuhr := FALSE; - ESCAPE; - END_IF; - END_IF; - END_REPEAT; - IF (dkuhr = FALSE) THEN - ESCAPE; - END_IF; - IF(nnauo = 0) THEN - dkuhr := FALSE; - ESCAPE; - END_IF; - END_REPEAT; - WHERE - WR1: dkuhr; - END_RULE; - -(* Implicit interfaced from: Part_and_zone_laminate_tables_mim *) - RULE ply_reference FOR - (ply_laminate_sequence_definition, - next_assembly_usage_occurrence, - product_related_product_category); - LOCAL - i,j,k : INTEGER; - dkuhr : LOGICAL := TRUE; - nnauo : INTEGER; - nprpc : INTEGER := 0; - rp : product; - END_LOCAL; - REPEAT i:= LOINDEX (ply_laminate_sequence_definition) TO - HIINDEX (ply_laminate_sequence_definition); - nnauo := 0; - REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO - HIINDEX (next_assembly_usage_occurrence); - IF (ply_laminate_sequence_definition[i] = - next_assembly_usage_occurrence[j].relating_product_definition) THEN - rp := next_assembly_usage_occurrence[j].related_product_definition. - formation.of_product; - nprpc := 0; - REPEAT k:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - IF ((product_related_product_category[k].name = 'ply') AND - (rp IN product_related_product_category[k].products)) THEN - nprpc := nprpc + 1; - END_IF; - END_REPEAT; - IF (nprpc = 1) THEN - nnauo := nnauo + 1; - ELSE - dkuhr := FALSE; - ESCAPE; - END_IF; - END_IF; - END_REPEAT; - IF (dkuhr = FALSE) THEN - ESCAPE; - END_IF; - IF(nnauo = 0) THEN - dkuhr := FALSE; - ESCAPE; - END_IF; - END_REPEAT; - WHERE - WR1: dkuhr; - END_RULE; - -(* Implicit interfaced from: Ap242_managed_model_based_3d_engineering_mim *) -(* Name in originating schema: APPLICATION_PROTOCOL_DEFINITION_REQUIRED *) - RULE Ap210_electronic_assembly_interconnect_and_packaging_design_mim_dot_application_protocol_definition_required FOR - (application_context); - WHERE - WR1: SIZEOF( QUERY( ac <* application_context | - (SIZEOF (QUERY (apd <* USEDIN(ac,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION') | - ((apd.application_interpreted_model_schema_name = 'ap242_managed_model_based_3d_engineering') - OR - (apd.application_interpreted_model_schema_name = 'ap210_electronic_assembly_interconnect_and_packaging_design')) - )) > 0) - )) > 0; - - END_RULE; - -(* Implicit interfaced from: Geometric_tolerance_mim *) -RULE unique_gdt_element_id_constraint for ( - product_definition_shape, - dimensional_location, - dimensional_size, - shape_aspect, - shape_aspect_relationship); -LOCAL - bss : BAG OF STRING := []; - ds : SET OF dimensional_size := QUERY(ds <* dimensional_size | EXISTS(ds\dimensional_size.id)); - sa : SET OF shape_aspect := QUERY(sa <* shape_aspect | EXISTS(sa\shape_aspect.id)); - sar : SET OF shape_aspect_relationship := QUERY(sar <* shape_aspect_relationship | EXISTS(sar\shape_aspect_relationship.id)); - ssa : SET OF shape_aspect := []; - pass : BOOLEAN := TRUE; -END_LOCAL; -REPEAT ii := 1 TO SIZEOF (product_definition_shape) WHILE pass; - bss := []; - ssa := bag_to_set(USEDIN(product_definition_shape[ii], 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'SHAPE_ASPECT.' + 'OF_SHAPE')); - - REPEAT i := 1 to SIZEOF (ds); - IF (ds[i]\dimensional_size.applies_to IN ssa) THEN - bss := bss + ds[i]\dimensional_size.id; - END_IF; - END_REPEAT; - - REPEAT i := 1 to SIZEOF (sa); - IF (sa[i] IN ssa) THEN - bss := bss + sa[i]\shape_aspect.id; - END_IF; - END_REPEAT; - - REPEAT i := 1 to SIZEOF (sar); - IF (sar[i]\shape_aspect_relationship.relating_shape_aspect IN ssa) THEN - bss := bss + sar[i]\shape_aspect_relationship.id; - END_IF; - END_REPEAT; - - IF (SIZEOF(bag_to_set(bss)) <> SIZEOF(bss)) THEN pass := FALSE; - END_IF; -END_REPEAT; -WHERE - WR1 : pass; -END_RULE; - -(* Implicit interfaced from: shape_aspect_definition_schema *) -RULE unique_datum_system FOR -(datum_system); - -LOCAL - pass : BOOLEAN := TRUE; -END_LOCAL; -REPEAT i := 1 TO SIZEOF(datum_system); - REPEAT j := 1 TO SIZEOF(datum_system); - IF (i <> j) THEN - IF datum_system[i]\datum_system.constituents = - datum_system[j]\datum_system.constituents THEN - pass := FALSE; - END_IF; - END_IF; - END_REPEAT; -END_REPEAT;WHERE - WR1: pass; -END_RULE; - -(* Implicit interfaced from: shape_tolerance_schema *) -RULE subtype_exclusiveness_geometric_tolerance FOR -(geometric_tolerance); -WHERE - WR1: SIZEOF(QUERY (gt <* geometric_tolerance | NOT (type_check_function(gt, ['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANGULARITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CIRCULAR_RUNOUT_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COAXIALITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CONCENTRICITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CYLINDRICITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FLATNESS_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LINE_PROFILE_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PARALLELISM_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PERPENDICULARITY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POSITION_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDNESS_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STRAIGHTNESS_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SURFACE_PROFILE_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SYMMETRY_TOLERANCE', 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TOTAL_RUNOUT_TOLERANCE'] , 2 ) ))) = 0; -END_RULE; - -(* Implicit interfaced from: Geometric_tolerance_mim *) -RULE tolerance_zone_form_name_constraint for (tolerance_zone_form); -LOCAL - names : SET OF STRING := - [ 'within a circle', - 'between two concentric circles', - 'between two equidistant curves', - 'within a cylinder', - 'between two coaxial cylinders', - 'between two equidistant surfaces', - 'non uniform', - 'cylindrical or circular', - 'spherical', - 'unknown']; - pass : BOOLEAN := TRUE; -END_LOCAL; -REPEAT i := 1 to SIZEOF(tolerance_zone_form) WHILE pass; - pass := (tolerance_zone_form[i].name IN names); -END_REPEAT; -WHERE - WR1: pass; -END_RULE; - -(* Implicit interfaced from: External_properties_mim *) - RULE plib_property_reference_requires_name_scope FOR ( - externally_defined_general_property); - LOCAL - known_sourced_properties : SET OF externally_defined_general_property; - END_LOCAL; - known_sourced_properties := QUERY( edc <* externally_defined_general_property | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF(edc.source) ); - WHERE - WR1: SIZEOF ( QUERY ( edgp <* known_sourced_properties | - ( SIZEOF ( QUERY ( edir <* USEDIN ( edgp, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.RELATING_ITEM' )| - ( edir.name = 'name scope' ) AND - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EXTERNALLY_DEFINED_CLASS' IN TYPEOF ( edir.related_item ) ) AND - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF ( edir.related_item.source ) ) ) ) <>1 ) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: External_properties_mim *) - RULE plib_property_reference_requires_version FOR (externally_defined_general_property); - LOCAL - plib_properties : SET OF externally_defined_general_property := []; - END_LOCAL; - plib_properties := QUERY ( edgp <* externally_defined_general_property | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KNOWN_SOURCE' IN TYPEOF ( edgp.source ) ) AND - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.KNOWN_SOURCE' + '.NAME' = 'ISO 13584 library' ) ); --tt found real problem here - WHERE - WR1: SIZEOF( QUERY( edgp <* plib_properties | - (SIZEOF( QUERY( edir <* USEDIN(edgp, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_EXTERNAL_IDENTIFICATION_ASSIGNMENT.ITEMS') | - (edir.role.name = 'version') )) <> 1) )) = 0; - END_RULE; - -(* Implicit interfaced from: geometry_schema *) -RULE compatible_dimension FOR -(cartesian_point,direction,representation_context,geometric_representation_context); -WHERE - WR1: SIZEOF(QUERY(x <* cartesian_point| SIZEOF(QUERY (y <* geometric_representation_context | item_in_context(x,y) AND (HIINDEX(x.coordinates) <> y.coordinate_space_dimension))) > 0 )) =0; - WR2: SIZEOF(QUERY(x <* direction | SIZEOF( QUERY (y <* geometric_representation_context | item_in_context(x,y) AND (HIINDEX(x.direction_ratios) <> y.coordinate_space_dimension))) > 0 )) = 0; -END_RULE; - -(* Implicit interfaced from: Qualified_measure_mim *) -RULE consistent_uncertainty - FOR (global_uncertainty_assigned_context, - qualified_representation_item, - uncertainty_assigned_representation); -WHERE -WR1: SIZEOF ( QUERY ( guac <* global_uncertainty_assigned_context | - SIZEOF ( QUERY ( u1 <* guac.uncertainty | - SIZEOF ( QUERY ( u2 <* guac.uncertainty | u2.name = u1.name ) ) >1 ) ) >0 ) ) = 0 ; -WR2: SIZEOF ( QUERY ( uar <* uncertainty_assigned_representation | - SIZEOF ( QUERY ( u1<* uar.uncertainty | - SIZEOF ( QUERY ( u2 <* uar.uncertainty | u2.name = u1.name ) ) >1 ) ) >0 ) ) = 0; -WR3: SIZEOF ( QUERY ( qri <* qualified_representation_item | - SIZEOF ( QUERY ( u1 <* qri.qualifiers | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' IN TYPEOF ( u1 ) ) AND - ( SIZEOF ( QUERY ( u2 <* qri.qualifiers | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'UNCERTAINTY_QUALIFIER' IN TYPEOF ( u2 ) ) AND - ( u2\uncertainty_qualifier.measure_name = u1\uncertainty_qualifier.measure_name ) ) - ) >1 ) ) ) >0 ) ) = 0; -END_RULE; - -(* Implicit interfaced from: Appearance_assignment_mim *) - RULE styled_curve FOR (styled_item); - WHERE - WR1: SIZEOF( QUERY( si <* styled_item | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE' IN TYPEOF (si.item)) AND (SIZEOF (QUERY (psa <* si.styles | (SIZEOF (QUERY (cs <* psa.styles | ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_STYLE' IN TYPEOF (cs)) )) > 0) )) <> 1) )) = 0; - END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE chamfer_requires_faces FOR (chamfer, -property_definition_representation); -WHERE -WR1: (SIZEOF (QUERY (cf <* chamfer | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = cf) AND -('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'chamfer face')) -))) -))=0); -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE chamfer_offset_requires_faces FOR -(chamfer_offset, property_definition_representation); -WHERE -WR1: (SIZEOF (QUERY (co <* chamfer_offset | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = co) AND -('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' IN TYPEOF (pdr.used_representation)) AND -( ((pdr\property_definition_representation.definition\property_definition.definition.description = 'first offset') AND -(pdr.used_representation.name = 'first face shape')) -OR -((pdr\property_definition_representation.definition\property_definition.definition.description = 'second offset') AND -(pdr.used_representation.name = 'second face shape')) -)) -))) -))=0); -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE edge_round_requires_faces FOR -(edge_round, property_definition_representation); -WHERE -WR1: (0 = SIZEOF (QUERY (er <* edge_round | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = er) AND -('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'edge round face')) -))) -))); -WR2: (SIZEOF (QUERY (er <* edge_round | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = er) AND -('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'first face shape')) -))) -))=0); -WR3: (SIZEOF (QUERY (er <* edge_round | -NOT (1 = SIZEOF (QUERY (pdr <* property_definition_representation | -((pdr\property_definition_representation.definition\property_definition.definition = er) AND -('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION' -IN TYPEOF (pdr.used_representation)) AND -(pdr.used_representation.name = 'second face shape')) -))) -))=0); -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE transition_feature_life_cycle FOR -(transition_feature); -WHERE -WR1: SIZEOF (QUERY (tf <* transition_feature | -NOT (tf.of_shape.definition.frame_of_reference.life_cycle_stage = -'manufacturing planning'))) = 0; -END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE transition_feature_on_part_boundary FOR -(transition_feature); -WHERE -WR1: SIZEOF (QUERY (tf <* transition_feature | -NOT (tf.product_definitional))) = 0; -END_RULE; - -(* Implicit interfaced from: Dimension_and_tolerance_callouts_mim *) -RULE draughting_model_items_constraint FOR (draughting_model); -WHERE - -- logic - there should be 0 items, which are annotation_occurrences and which are not draughting_annotation_occurrences - WR1: SIZEOF(QUERY(dm <* draughting_model | - NOT(SIZEOF(QUERY(it1 <* dm\representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ANNOTATION_OCCURRENCE' IN TYPEOF(it1)) - AND - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'DRAUGHTING_ANNOTATION_OCCURRENCE' IN TYPEOF(it1))) - )) = 0) - )) = 0; - WR2: SIZEOF(QUERY(dm <* draughting_model | - NOT(SIZEOF(QUERY(it1 <* dm\representation.items | - (('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_CALLOUT' IN TYPEOF(it1)) - AND - NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DRAUGHTING_ELEMENTS' IN TYPEOF(it1))) - )) = 0) - )) = 0; -END_RULE; - -(* Implicit interfaced from: Text_appearance_mim *) - RULE text_font_usage FOR - (externally_defined_text_font,pre_defined_text_font); - WHERE - WR1: SIZEOF (QUERY (pdtf <* pre_defined_text_font | SIZEOF (USEDIN (pdtf, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0; - WR2: SIZEOF (QUERY (edtf <* externally_defined_text_font | SIZEOF (USEDIN (edtf, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TEXT_LITERAL.FONT')) = 0 )) = 0; - END_RULE; - -(* Implicit interfaced from: Product_class_mim *) -RULE product_concept_feature_requires_category FOR (product_concept_feature); -WHERE -WR1: SIZEOF ( QUERY ( pcf <* product_concept_feature | -(SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE', -'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE'] * TYPEOF(pcf)) = 0) AND -(SIZEOF ( QUERY ( aga <* USEDIN ( pcf , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'APPLIED_GROUP_ASSIGNMENT.' + 'ITEMS' ) | -(aga\group_assignment.role\object_role.name = 'specification category member' ) AND -('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF ( aga.assigned_group )))) <>1 ) ) ) = 0; -END_RULE; - -(* Implicit interfaced from: Product_class_mim *) -RULE restrict_concept_feature_operator FOR (concept_feature_operator); -WHERE - WR1: SIZEOF ( QUERY ( cfo <* concept_feature_operator | NOT - ( cfo.name IN ['and' , 'or' , 'oneof' , 'not' , 'implication'] ) ) ) = 0; - WR2: SIZEOF ( QUERY ( cfo <* concept_feature_operator | (cfo.name = 'implication' ) AND - ( SIZEOF ( QUERY (cfrwc <* USEDIN ( cfo , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.' + - 'CONDITIONAL_OPERATOR' ) | - SIZEOF ( QUERY ( ccf <* USEDIN( cfrwc , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONDITIONAL_CONCEPT_FEATURE.CONDITION' ) | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'INCLUSION_PRODUCT_CONCEPT_FEATURE' IN TYPEOF ( ccf )))) >0 )) >0 ))) = 0; - WR3: SIZEOF( QUERY (cfo <* concept_feature_operator | (cfo.name = 'not') - AND (SIZEOF(QUERY(cfrwc <* USEDIN(cfo, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONCEPT_FEATURE_RELATIONSHIP_WITH_CONDITION.CONDITIONAL_OPERATOR') | - cfrwc.related_product_concept_feature :<>: cfrwc.relating_product_concept_feature)) >0 ))) = 0; -END_RULE; - -(* Implicit interfaced from: Multi_linguism_mim *) -RULE restrict_language_assignment_per_attribute FOR (attribute_language_assignment); -WHERE -WR1: SIZEOF ( QUERY ( ala1 <* attribute_language_assignment | - SIZEOF(QUERY( it <* ala1.items | - SIZEOF ( QUERY ( ala2 <* USEDIN ( it ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS' ) | - ( ala1\attribute_classification_assignment.attribute_name = ala2\attribute_classification_assignment.attribute_name ) AND - ( ala1\attribute_classification_assignment.assigned_class :=: ala2\attribute_classification_assignment.assigned_class ) - )) >1 - )) >0 - )) =0; -END_RULE; - -(* Implicit interfaced from: Ap242_managed_model_based_3d_engineering_mim *) - RULE dimensioning_data_requires_document FOR (applied_document_reference, product_definition_context_association, role_association); - LOCAL - adr : SET OF applied_document_reference := (QUERY(adr <* applied_document_reference | - (adr\document_reference.assigned_document\document.kind\document_type.product_data_type = 'Standards Document') AND - ((adr\document_reference.assigned_document\document.id = 'ASME Y14.41-2003') OR - (adr\document_reference.assigned_document\document.id = 'ASME Y14.5M-1994') OR - (adr\document_reference.assigned_document\document.id = 'ISO 1101: 2004')))); - pdca : SET OF product_definition_context_association := (QUERY(pdca <* product_definition_context_association | - (pdca\product_definition_context_association.role\product_definition_context_role.name = 'additional context') AND - (pdca\product_definition_context_association.frame_of_reference\application_context_element.name = 'Geometric Dimensioning and Tolerancing Product Specification'))); - ra : SET OF role_association := (QUERY(ra <* role_association | - ra\role_association.role\object_role.name = 'dimensioning standard')); - ra1 : SET OF role_association := []; - pdpdca : SET OF product_definition := []; - pdadr : SET OF product_definition := []; - pass : BOOLEAN := TRUE; - END_LOCAL; - - REPEAT i := 1 TO HIINDEX(pdca); - pdpdca := pdpdca + pdca[i]\product_definition_context_association.definition; - END_REPEAT; - REPEAT i := 1 TO HIINDEX(adr); - ra1 := bag_to_set(USEDIN(adr[i],'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROLE_ASSOCIATION.ITEM_WITH_ROLE')); - IF (ra1 * ra) <> ra1 THEN - pass := FALSE; - END_IF; - REPEAT j := 1 to HIINDEX(adr[i]\applied_document_reference.items); - IF 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF(adr[i]\applied_document_reference.items[j]) THEN - pdadr := pdadr + adr[i]\applied_document_reference.items[j]; - END_IF; - END_REPEAT; - END_REPEAT; - - WHERE - WR1 : pass; - WR2 : pdpdca = pdadr; - -END_RULE; - -(* Implicit interfaced from: Ap242_managed_model_based_3d_engineering_mim *) -RULE subtype_mandatory_shape_representation FOR - (shape_representation); -WHERE - WR1: SIZEOF (QUERY (sr <* shape_representation | - NOT ((SIZEOF ([ - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ADVANCED_BREP_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACETED_BREP_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SURFACE_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SUBSURFACE_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHELL_BASED_WIREFRAME_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BEVELED_SHEET_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOSITE_SHEET_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOUND_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_2D_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CSG_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.CURVE_SWEPT_SOLID_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DIRECTION_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ELEMENTARY_BREP_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FACE_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.GEOMETRICALLY_BOUNDED_2D_WIREFRAME_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.LOCATION_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NEUTRAL_SKETCH_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.NON_MANIFOLD_SURFACE_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PATH_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROCEDURAL_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REPRESENTATIVE_SHAPE_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DIMENSION_REPRESENTATION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.TESSELLATED_SHAPE_REPRESENTATION' - ] * TYPEOF (sr)) = 1) OR - (SIZEOF (QUERY (it <* sr\representation.items | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.AXIS2_PLACEMENT_3D' IN TYPEOF (it)))) - = 0) OR - (SIZEOF (QUERY (sdr <* QUERY (pdr <* USEDIN (sr, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.' + - 'USED_REPRESENTATION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_DEFINITION_REPRESENTATION' IN - TYPEOF (pdr)) | - NOT (SIZEOF (['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_ASPECT_RELATIONSHIP'] * TYPEOF - (sdr.definition)) = 1))) = 0)))) = 0; -END_RULE; -- subtype_mandatory_shape_representation - -(* Implicit interfaced from: Classification_with_attributes_mim *) -RULE restrict_classification_assignments FOR (applied_classification_assignment); -WHERE -WR1: SIZEOF(QUERY(aia <* applied_classification_assignment | - NOT class_assignment_is_valid(aia)))=0; -END_RULE; - -RULE application_protocol_definition_required FOR - (application_context); -WHERE - WR1: SIZEOF( QUERY( ac <* application_context | - (SIZEOF (QUERY (apd <* USEDIN(ac,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLICATION_PROTOCOL_DEFINITION.APPLICATION') | - (apd.application_interpreted_model_schema_name = 'ap210_electronic_assembly_interconnect_and_packaging_design') - )) > 0) - )) > 0; -END_RULE; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE selected_instance_usage_requires_representation FOR (assembly_component_usage); - LOCAL - selected_instance_usages: SET OF assembly_component_usage := QUERY( acr <* assembly_component_usage| - (acr.name = 'selected instance usage')); - END_LOCAL; - WHERE - WR1: SIZEOF ( QUERY ( acr <* selected_instance_usages | - NOT valid_selected_instance_representation(acr) ))=0; - END_RULE; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE restrict_product_definitions_for_definition_usage FOR (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr.name = 'definition usage' ) AND - ( ( pdr.relating_product_definition.frame_of_reference.name<> 'part definition' ) OR - ( pdr.related_product_definition.frame_of_reference.name<>'part occurrence' )))) =0; - END_RULE; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE restrict_part_occurrence FOR (product_definition); - LOCAL - part_occurrences: SET OF product_definition := QUERY(pd <* product_definition | - ( pd.frame_of_reference.name = 'part occurrence' )); - END_LOCAL; - WHERE - WR1: SIZEOF ( QUERY ( pd <* part_occurrences | - ( NOT( pd.name IN - ['single instance' , 'selected instance' ,'quantified instance' , 'specified instance' ] ) ) ) ) = 0; - WR2: SIZEOF ( QUERY ( pd <* part_occurrences | - (SIZEOF ( QUERY ( pdr <* USEDIN ( pd , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | - pdr.name = 'definition usage' ) ) <>1 ) AND - ( SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'CONFIGURATION_DESIGN.DESIGN' ) | - ( cd.name = 'occurrence usage definition' ) AND - ( NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_IDENTIFICATION' IN TYPEOF( cd.configuration ) ) ) ) ) <>1 ) ) ) = 0; - WR3: SIZEOF ( QUERY ( pd <* part_occurrences | - (SIZEOF ( QUERY ( cd <* USEDIN ( pd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'PRODUCT_DEFINITION_USAGE' IN TYPEOF ( cd ) ) ) ) = 0 )AND - ( SIZEOF ( USEDIN ( pd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) ) = 0 ) ) ) = 0; - WR4: SIZEOF ( QUERY ( pd <* part_occurrences | - ( pd.name = 'selected instance' ) AND - NOT valid_selected_instance_representation(pd) ))=0; - WR5: SIZEOF ( QUERY ( pd <* part_occurrences | - ( pd.name = 'quantified instance' ) AND - ( SIZEOF ( QUERY (ppd <* USEDIN ( pd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'PROPERTY_DEFINITION.DEFINITION' ) | - ( ppd.name ='occurrence quantity' ) AND - ( SIZEOF ( QUERY ( pdr <*USEDIN ( ppd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION' ) | ( - pdr.used_representation.name = 'quantity' ) AND - (SIZEOF ( pdr.used_representation.items ) = 1 ) AND - (SIZEOF ( QUERY ( i <* pdr.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'MEASURE_REPRESENTATION_ITEM' IN TYPEOF ( i ) ) AND - ( i.name = 'quantity measure' ) ) ) = 1)))= 1 )))= 0 )))= 0; - WR6: SIZEOF ( QUERY ( pd <* part_occurrences | - ( pd.name = 'specified instance' ) AND - ( SIZEOF ( QUERY ( - pdor <* USEDIN ( pd , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'PRODUCT_DEFINITION_OCCURRENCE_RELATIONSHIP.OCCURRENCE' ) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' +'SPECIFIED_HIGHER_USAGE_OCCURRENCE' IN TYPEOF ( pdor.occurrence_usage ) ) ) = 0 ) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: Product_occurrence_mim *) - RULE restrict_part_occurrence_category FOR (product_definition); - LOCAL - part_occurrences: SET OF product_definition := QUERY( pd <* product_definition |( - pd.frame_of_reference.name = 'part occurrence')); - END_LOCAL; - WHERE - WR1: SIZEOF( QUERY( pd <* part_occurrences | - (SIZEOF( QUERY( prpc <* USEDIN(pd.formation.of_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | - prpc.name IN ['part','raw material','tool'] )) = 0 ) )) = 0; - END_RULE; - -(* Implicit interfaced from: Extended_measure_representation_mim *) - RULE subtype_exclusiveness_representation_item FOR - (representation_item); - WHERE - WR1: SIZEOF(QUERY (cri <* representation_item | - NOT (type_check_function(cri,['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MEASURE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.VALUE_REPRESENTATION_ITEM', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.COMPOUND_REPRESENTATION_ITEM'] , 3)))) = 0; - END_RULE; - -(* Implicit interfaced from: Product_class_mim *) -RULE restrict_group_relationship_for_specification_category FOR (group_relationship); -WHERE -WR1 : SIZEOF( QUERY( gr <* group_relationship | - (gr.name = 'specification category hierarchy') AND - (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.related_group)) - OR NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_CONCEPT_FEATURE_CATEGORY' IN TYPEOF(gr.relating_group))) )) = 0; -END_RULE; - -(* Implicit interfaced from: Product_and_manufacturing_information_view_context_mim *) -RULE valid_product_and_manufacturing_information_view_contexts FOR (product_definition_context); -LOCAL - design_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.life_cycle_stage = 'design'); - gdt_representation_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'geometrical dimensioning and tolerancing representation'); - machining_feature_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'machining feature'); - material_specification_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'material specification'); - model_based_3d_annotation_presentation_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'model based 3D annotation presentation'); - model_based_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'model based product geometry'); - process_state_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'process state'); - surface_finish_view_contexts : SET OF product_definition_context := - QUERY( pdc <* product_definition_context | pdc.frame_of_reference.application = 'surface finish'); - additional_view_contexts : SET OF product_definition_context := - gdt_representation_view_contexts + machining_feature_view_contexts + material_specification_view_contexts + - model_based_3d_annotation_presentation_view_contexts + process_state_view_contexts + surface_finish_view_contexts; - need_initial_model_based_view_contexts : SET OF product_definition_context := - gdt_representation_view_contexts + model_based_3d_annotation_presentation_view_contexts; -END_LOCAL; - -WHERE - WR1: SIZEOF(gdt_representation_view_contexts * design_view_contexts) = SIZEOF(gdt_representation_view_contexts); - WR2: SIZEOF(machining_feature_view_contexts * design_view_contexts) = SIZEOF(machining_feature_view_contexts); - WR3: SIZEOF(material_specification_view_contexts * design_view_contexts) = SIZEOF(material_specification_view_contexts); - WR4: SIZEOF(model_based_3d_annotation_presentation_view_contexts * design_view_contexts) = SIZEOF(model_based_3d_annotation_presentation_view_contexts); - WR5: SIZEOF(model_based_view_contexts * design_view_contexts) = SIZEOF(model_based_view_contexts); - WR6: SIZEOF(process_state_view_contexts * design_view_contexts) = SIZEOF(process_state_view_contexts); - WR7: SIZEOF(surface_finish_view_contexts * design_view_contexts) = SIZEOF(surface_finish_view_contexts); - WR8: -- not used as additional_contexts - SIZEOF(QUERY(mbvc <* model_based_view_contexts | - (SIZEOF(USEDIN(mbvc, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.FRAME_OF_REFERENCE')) = 0) - )) = SIZEOF(model_based_view_contexts); - WR9: -- not used as initial_context - SIZEOF(QUERY(avc <* additional_view_contexts | - (SIZEOF(USEDIN(avc, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION.FRAME_OF_REFERENCE')) = 0) - )) = SIZEOF(additional_view_contexts); - WR10: -- initial_context shall have a Model_based_view_context - SIZEOF(QUERY(nimbvc <* need_initial_model_based_view_contexts | NOT - (SIZEOF(QUERY(pdca <* USEDIN(nimbvc, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.FRAME_OF_REFERENCE') | - (pdca\product_definition_context_association.definition\product_definition.frame_of_reference IN model_based_view_contexts))) - = - SIZEOF(need_initial_model_based_view_contexts)) - )) = 0; - WR11: -- gdt_representation_view_contexts must have at least either ISO 1101 or ASME Y14.5 as associated dimension standard document - SIZEOF ( QUERY( gdt_pdc <* gdt_representation_view_contexts | - SIZEOF(['ISO 1101', 'ASME Y14.5'] * get_associated_mandatory_document_ids(gdt_pdc) ) = 0 ) - ) = 0; - WR12: -- model_based_3d_annotation_presentation_view_contexts must have at least either ISO 1101, ISO 16792, ASME Y14.41 or ASME Y14.5 as associated model standard document - SIZEOF ( QUERY( mb3d_pdc <* model_based_3d_annotation_presentation_view_contexts | - SIZEOF(['ISO 1101', 'ISO 16792', 'ASME Y14.41', 'ASME Y14.5'] * get_associated_mandatory_document_ids(mb3d_pdc) ) = 0) - ) = 0; -END_RULE; - -(* Implicit interfaced from: Surface_conditions_mim *) - RULE restrict_treatment_result FOR (representation); - LOCAL - treatment_results: SET OF representation := []; - END_LOCAL; - treatment_results:= QUERY( r <* representation | - (r.name = 'treatment result') ); - WHERE - WR1: (SIZEOF( QUERY( r <* treatment_results | (SIZEOF(r.items) > 2) )) = 0) AND - (SIZEOF( QUERY( r <* treatment_results | - (SIZEOF( QUERY( i <* r.items | - NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.'+ 'DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(i)) )) > 0) )) = 0); - WR2: SIZEOF( QUERY( r <* treatment_results | - (SIZEOF( QUERY( i <* r.items | i.name = 'result' )) = 0) )) = 0; - WR3: SIZEOF( QUERY( r <* treatment_results | - (SIZEOF( QUERY( i <* r.items | i.name = 'purpose' )) > 1) )) = 0; - END_RULE; - -(* Implicit interfaced from: Surface_conditions_mim *) - RULE material_for_coating_layer FOR (shape_aspect); - LOCAL - coating_layers: SET OF shape_aspect := []; - END_LOCAL; - coating_layers:= QUERY( r <* shape_aspect | - (r.name = 'coating layer') ); - WHERE - WR1: SIZEOF( QUERY( r <* coating_layers | - SIZEOF(USEDIN(r , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MATERIAL_DESIGNATION.DEFINITIONS'))<>1 - )) = 0; - END_RULE; - -(* Implicit interfaced from: Surface_conditions_mim *) - RULE restrict_representation_for_surface_condition FOR (property_definition_representation); - WHERE - WR1 : SIZEOF(QUERY(pdr <* property_definition_representation | - NOT surface_condition_correlation(pdr.definition, pdr.used_representation) ))=0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE restrict_configuration_design_for_class_breakdown_association FOR - (configuration_design); - WHERE - WR1: SIZEOF ( QUERY ( cd <* configuration_design | - ( cd.name ='functionality' ) AND - ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd. design ) ) OR - ( cd.design\product_definition.frame_of_reference.name<> 'functional definition' ) ) - ) ) =0; - WR2: SIZEOF ( QUERY ( cd <* configuration_design | - ( cd.name='realization' ) AND - ( NOT ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR - ( cd.design\product_definition.frame_of_reference.name<> 'conceptual definition' ) ) - ) ) =0; - WR3: SIZEOF ( QUERY ( cd <* configuration_design | - ( cd.name IN ['functionality' , 'realization'] ) AND - ( NOT ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_CLASS' IN TYPEOF ( cd.configuration.item_concept ) ) ) - ) ) =0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE restrict_configuration_design_for_design_constraint FOR (configuration_design); - WHERE - WR1: SIZEOF ( QUERY (cd <* configuration_design | - (cd.name = 'design constraint usage') AND - (NOT('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR - (cd.design\product_definition.frame_of_reference.name <> 'design constraint definition')))) = 0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE constraint_definition_requires_constraint_category FOR (product_definition); - LOCAL - constraint_definitions: SET OF product_definition := []; - END_LOCAL; - constraint_definitions := QUERY( pd <* product_definition | - (pd.frame_of_reference.name = 'design constraint definition')); - WHERE - WR1: SIZEOF ( QUERY ( pd <* constraint_definitions | - ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd.formation.of_product , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc. name ='requirement' ) ) =0 ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Item_definition_structure_mim *) - RULE restrict_assembly_category FOR (product_definition); - LOCAL - assembly_definitions: SET OF product_definition := []; - END_LOCAL; - assembly_definitions := QUERY( pd <* product_definition | - SIZEOF( QUERY( pdca <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | - pdca.frame_of_reference.name= 'assembly definition')) > 0 ); - WHERE - WR1: SIZEOF( QUERY( pd <* assembly_definitions | - NOT ('assembly' IN categories_of_product(pd.formation.of_product)) ))= 0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE breakdown_element_requires_product_definition FOR - (product_definition_formation); - WHERE - WR1: SIZEOF ( QUERY ( pdf <* product_definition_formation | - ( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc.name = 'functionality' ) ) = 1 ) AND - ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf ,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION') | - pd.frame_of_reference.name = 'functional definition' ) ) <1 ) ) ) = 0; - WR2: SIZEOF ( QUERY ( pdf <* product_definition_formation | - ( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc.name = 'conceptual design' ) ) = 1 ) AND - ( SIZEOF (QUERY ( pd <* USEDIN ( pdf , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION' ) | - pd.frame_of_reference.name = 'conceptual definition' ) ) <1) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE design_constraint_requires_product_definition FOR (product_definition_formation); - WHERE - WR1: SIZEOF ( QUERY ( pdf <* product_definition_formation | ( - SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | - prpc.name = 'requirement' ) ) >0 ) AND - ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf , 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PRODUCT_DEFINITION.FORMATION') | - pd.frame_of_reference.name = 'design constraint definition' ) ) <1 ) ) ) = 0; - END_RULE; - -(* Implicit interfaced from: Stock_material_mim *) - RULE ply_stock_material_select FOR - (product_related_product_category, - make_from_usage_option); - LOCAL - i,j,k,kp : INTEGER; - dkuhr : LOGICAL; - nmfuo : INTEGER; - nprpc : INTEGER := 0; - rp : product; - END_LOCAL; - - dkuhr := TRUE; - REPEAT kp:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - - IF (product_related_product_category[kp].name = 'ply') THEN - REPEAT i:= LOINDEX (product_related_product_category[kp].products) TO - HIINDEX (product_related_product_category[kp].products); - - nmfuo := 0; - REPEAT j:= LOINDEX (make_from_usage_option) TO - HIINDEX (make_from_usage_option); - - rp := make_from_usage_option[j].related_product_definition. - formation.of_product; - - IF (product_related_product_category[kp].products[i] = rp) THEN - - REPEAT k:= LOINDEX (product_related_product_category) TO - HIINDEX (product_related_product_category); - - IF ((rp IN product_related_product_category[k].products) AND - (product_related_product_category[k].name IN - ['isotropic material', 'filament assembly', - 'discontinuous fiber assembly'])) THEN - nprpc := nprpc + 1; - END_IF; - - END_REPEAT; - - IF (nprpc = 1) THEN - nmfuo := nmfuo + 1; - ELSE - dkuhr := FALSE; - ESCAPE; - END_IF; - - END_IF; - - END_REPEAT; - - IF (dkuhr = FALSE) THEN - ESCAPE; - END_IF; - IF(nmfuo <> 1) THEN - dkuhr := FALSE; - ESCAPE; - END_IF; - - END_REPEAT; - END_IF; - - END_REPEAT; - - WHERE - WR1: dkuhr; - END_RULE; - -(* Implicit interfaced from: Machining_features_mim *) -RULE machining_feature_life_cycle FOR -(instanced_feature); -WHERE -WR1: SIZEOF (QUERY (mf <* instanced_feature | -NOT (mf.of_shape.definition.frame_of_reference.life_cycle_stage = -'manufacturing planning'))) = 0; -END_RULE; - -(* Implicit interfaced from: Inertia_characteristics_mim *) -RULE restrict_centre_of_mass_representation FOR - (representation); -WHERE - WR1: SIZEOF ( QUERY ( r <* representation | - ( r.name ='centre of mass' ) AND - ( ( SIZEOF ( r.items ) <>1 ) OR - (SIZEOF ( QUERY ( i <* r.items | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'POINT' IN TYPEOF ( i ) ) AND - ( i.name = 'centre point' ) )) <>1 ) ) ) ) - =0; -END_RULE; - -(* Implicit interfaced from: Item_definition_structure_mim *) - RULE product_definition_replacement_requires_effectivity_assignment FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF( QUERY( pdr <* product_definition_relationship | - (pdr.name = 'definition replacement') AND - (SIZEOF( USEDIN(pdr,'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.APPLIED_EFFECTIVITY_ASSIGNMENT.ITEMS') ) = 0) )) - = 0; - END_RULE; - -(* Implicit interfaced from: Item_definition_structure_mim *) - RULE restrict_product_definitions_for_part_definition_relationship FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr.name IN [ 'geometrical relationship' , 'definition replacement' ] ) AND - ( ( pdr.relating_product_definition.frame_of_reference.name <>'part definition' ) OR - ( pdr.related_product_definition.frame_of_reference.name <>'part definition' ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Specification_control_mim *) - RULE restrict_product_definitions_for_design_constraint_association FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr. name = 'design constraint association' ) AND - ( (pdr. relating_product_definition.frame_of_reference.name<>'design constraint definition' ) OR - NOT ( pdr.related_product_definition.frame_of_reference.name IN - ['alternative definition' , 'functional definition' ,'conceptual definition' ] ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: External_properties_mim *) - RULE external_version_assignments_are_valid FOR (applied_external_identification_assignment); - WHERE - WR1: SIZEOF(QUERY(aia <* applied_external_identification_assignment | - NOT external_version_assignment_is_valid(aia)))=0; - END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE restrict_alternative_definition FOR (product_definition); - LOCAL - solution_definitions: SET OF product_definition := []; - END_LOCAL; - solution_definitions := QUERY( pd <* product_definition | - (pd.frame_of_reference.name = 'alternative definition')); - WHERE - WR1: SIZEOF ( QUERY ( pd <* solution_definitions | - ( SIZEOF ( QUERY ( pdr <* USEDIN ( pd , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION' ) | - pdr.name = 'solution alternative definition' ) ) <>1 ) ) ) = 0; - WR2: SIZEOF ( QUERY ( pd <* solution_definitions | - NOT ( pd.name IN ['technical' , 'supplier' , 'technical supplier' , ''] ) ) ) = 0; - WR3: SIZEOF ( QUERY ( pd <* solution_definitions | - ( pd.name IN ['supplier' , 'technical supplier'] ) AND ( - SIZEOF ( QUERY ( aoa <* USEDIN ( pd.formation , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'APPLIED_ORGANIZATION_ASSIGNMENT.ITEMS' ) | - aoa.role.name = 'supplier' )) <>1 ) )) = 0; - END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE solution_definition_requires_solution_category FOR (product_definition); - LOCAL - solution_definitions: SET OF product_definition := []; - END_LOCAL; - solution_definitions := QUERY( pd <* product_definition | - (pd.frame_of_reference.name = 'alternative definition')); - WHERE - WR1: SIZEOF( QUERY( pd <* solution_definitions | - (SIZEOF( QUERY( prpc <* USEDIN(pd.formation.of_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | - prpc.name = 'alternative solution')) = 0 ) )) = 0; - END_RULE; - -(* Implicit interfaced from: Part_collection_mim *) - RULE restrict_collection_category FOR (product_definition); - LOCAL - collection_definitions: SET OF product_definition := []; - END_LOCAL; - collection_definitions := QUERY( pd <* product_definition | - SIZEOF( QUERY( pdca <* USEDIN( pd, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | - pdca.frame_of_reference.name= 'collection definition')) > 0 ); - WHERE - WR1: SIZEOF( QUERY( pd <* collection_definitions | - NOT ('collection' IN categories_of_product(pd.formation.of_product)) ))= 0; - END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE alternative_solution_requires_solution_definition FOR (product_definition_formation); - LOCAL - solution_versions: SET OF product_definition_formation := []; - END_LOCAL; - solution_versions := QUERY( pdf <* product_definition_formation | - SIZEOF( QUERY( prpc <* USEDIN(pdf.of_product, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS') | - prpc.name = 'alternative solution')) = 1); - WHERE - WR1: SIZEOF( QUERY( pdf <* solution_versions | - SIZEOF( QUERY( pd <* USEDIN(pdf, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION.FORMATION') | - pd.frame_of_reference.name = 'alternative definition')) <> 1))= 0; - END_RULE; - -(* Implicit interfaced from: aic_machining_feature *) -RULE machining_feature_definition_constraints FOR (feature_definition); -LOCAL - mfds : SET OF feature_definition := []; -END_LOCAL; - mfds := QUERY(temp <* feature_definition | 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MACHINING_FEATURE_DEFINITION' IN TYPEOF (temp) ); -WHERE - WR1: SIZEOF(QUERY( mfd <* mfds | NOT (SIZEOF(QUERY( pdr <* - get_property_definition_representations (mfd) | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF ( pdr.used_representation ) ) ) <=1 ) ) ) = 0; - WR2: SIZEOF(QUERY( mfd <* mfds | NOT (SIZEOF (QUERY (pd <* USEDIN (mfd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION.DEFINITION') | - NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd, - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SHAPE_REPRESENTATION_WITH_PARAMETERS' - IN TYPEOF (pdr.used_representation)) | - NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items | - ('AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLACEMENT' - IN TYPEOF (it)) AND (it.name = 'orientation'))) = 1))) = 0))) = 0 ) ) ) = 0; - WR3: SIZEOF(QUERY( mfd <* mfds | NOT ((NOT (SIZEOF(['AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUND_HOLE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.BOSS', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.OUTSIDE_PROFILE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.REMOVAL_VOLUME', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.FLAT_FACE', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.POCKET', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PROTRUSION', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.RIB_TOP', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.ROUNDED_END', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.SLOT', - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.STEP'] * TYPEOF(mfds)) = 1)) OR - ((SIZEOF(QUERY(pdr <* get_property_definition_representations (mfd) | - ( 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.PLANAR_SHAPE_REPRESENTATION' - IN TYPEOF ( pdr.used_representation ) ) AND - ( pdr.used_representation.name ='maximum feature limit'))) >=0)) ) ) ) = 0; -END_RULE; - -(* Implicit interfaced from: Alternative_solution_mim *) - RULE restrict_product_definitions_for_base_element FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr. name = 'solution alternative definition' ) AND - ( NOT( pdr. relating_product_definition.frame_of_reference.name - IN [ 'alternative definition' , 'functional definition' , 'conceptual definition' ] ) OR - ( pdr.related_product_definition.frame_of_reference.name<>'alternative definition' ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Part_collection_mim *) - RULE restrict_product_definitions_for_collection FOR - (product_definition_relationship); - WHERE - WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | - ( pdr. name = 'collection membership' ) AND - ( ( pdr.relating_product_definition.frame_of_reference.name<>'part definition' ) OR - ( pdr.related_product_definition.frame_of_reference.name<>'part occurrence' ) OR - ( SIZEOF ( QUERY ( pdca <* USEDIN (pdr.relating_product_definition , - 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + 'PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION') | - ( pdca.role.name = 'part definition type' ) AND - ( pdca.frame_of_reference.name = 'collection definition' ) )) =0 ) ) ) ) =0; - END_RULE; - -(* Implicit interfaced from: Fabrication_technology_mim *) -(* E2: SUBTYPE_CONSTRAINT ft_property_definition_relationship_subtypes FOR PROPERTY_DEFINITION_RELATIONSHIP; *) - -(* E2: SUBTYPE_CONSTRAINT part_terminal_subtypes FOR SHAPE_ASPECT; *) - -(* E2: SUBTYPE_CONSTRAINT physical_unit_subtypes FOR PHYSICAL_UNIT; *) - -(* E2: SUBTYPE_CONSTRAINT aeaiapd_shape_definition_3d_intersection_subtypes FOR SHAPE_DEFINITION_3D_INTERSECTION; *) - -(* E2: SUBTYPE_CONSTRAINT packaged_part_subtypes FOR PACKAGED_PART; *) - -(* E2: SUBTYPE_CONSTRAINT ap210_apd_physical_component_subtypes FOR PHYSICAL_COMPONENT; *) - -(* E2: SUBTYPE_CONSTRAINT part_usage_view_subtypes FOR PHYSICAL_UNIT; *) - -(* Implicit interfaced from: Datum_difference_based_model_mim *) -(* E2: SUBTYPE_CONSTRAINT ddbm_model_parameter_subtypes FOR MODEL_PARAMETER; *) - -(* Implicit interfaced from: Interconnect_placement_requirements_mim *) -(* E2: SUBTYPE_CONSTRAINT ipr_predefined_requirement_view_definition_subtypes FOR PREDEFINED_REQUIREMENT_VIEW_DEFINITION; *) - -(* Implicit interfaced from: Pre_defined_datum_symbol_mim *) -(* E2: SUBTYPE_CONSTRAINT pdds_shape_definition_3d_intersection_subtypes FOR SHAPE_DEFINITION_3D_INTERSECTION; *) - -(* Implicit interfaced from: Via_component_mim *) -(* E2: SUBTYPE_CONSTRAINT via_subtypes FOR VIA; *) - -(* Implicit interfaced from: External_currency_mim *) -(* E2: SUBTYPE_CONSTRAINT currency_subtypes FOR CURRENCY; *) - -(* Implicit interfaced from: Part_and_zone_laminate_tables_mim *) -(* E2: SUBTYPE_CONSTRAINT pos_product_definition_subtypes FOR PRODUCT_DEFINITION; *) - -(* Implicit interfaced from: Ply_orientation_specification_mim *) -(* E2: SUBTYPE_CONSTRAINT pos_compound_representation_item_subtypes FOR COMPOUND_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: Change_management_mim *) -(* E2: SUBTYPE_CONSTRAINT cm_group_subtypes FOR GROUP; *) - -(* Implicit interfaced from: Change_management_mim *) -(* E2: SUBTYPE_CONSTRAINT cm_group_assignment_subtypes FOR GROUP_ASSIGNMENT; *) - -(* Implicit interfaced from: Assembly_module_with_cable_component_mim *) -(* E2: SUBTYPE_CONSTRAINT amwcc_shape_aspect_subtypes FOR SHAPE_ASPECT; *) - -(* Implicit interfaced from: Assembly_module_macro_definition_mim *) -(* E2: SUBTYPE_CONSTRAINT assembly_module_terminal_subtypes FOR ASSEMBLY_MODULE_TERMINAL; *) - -(* Implicit interfaced from: Package_mim *) -(* E2: SUBTYPE_CONSTRAINT package_part_feature_subtypes FOR SHAPE_ASPECT; *) - -(* Implicit interfaced from: Printed_physical_layout_template_mim *) -(* E2: SUBTYPE_CONSTRAINT pplt_part_template_definition_subtypes FOR PART_TEMPLATE_DEFINITION; *) - -(* Implicit interfaced from: Layered_interconnect_module_design_mim *) -(* E2: SUBTYPE_CONSTRAINT inter_stratum_feature_subtypes FOR INTER_STRATUM_FEATURE; *) - -(* Implicit interfaced from: Layered_interconnect_module_design_mim *) -(* E2: SUBTYPE_CONSTRAINT interconnect_module_terminal_subtypes FOR INTERCONNECT_MODULE_TERMINAL; *) - -(* Implicit interfaced from: Layered_interconnect_module_design_mim *) -(* E2: SUBTYPE_CONSTRAINT assembly_component_subtypes FOR ASSEMBLY_COMPONENT; *) - -(* Implicit interfaced from: Layered_interconnect_module_design_mim *) -(* E2: SUBTYPE_CONSTRAINT component_feature_subtypes FOR COMPONENT_FEATURE; *) - -(* Implicit interfaced from: Layered_interconnect_module_design_mim *) -(* E2: SUBTYPE_CONSTRAINT limd_component_terminal_subtypes FOR COMPONENT_TERMINAL; *) - -(* Implicit interfaced from: Layered_interconnect_module_design_mim *) -(* E2: SUBTYPE_CONSTRAINT array_placement_group_subtypes FOR ARRAY_PLACEMENT_GROUP; *) - -(* Implicit interfaced from: Layered_interconnect_module_design_mim *) -(* E2: SUBTYPE_CONSTRAINT limd_product_definition_subtypes FOR PRODUCT_DEFINITION; *) - -(* Implicit interfaced from: Assembly_module_design_mim *) -(* E2: SUBTYPE_CONSTRAINT amd_physical_component_subtypes FOR PHYSICAL_COMPONENT; *) - -(* Implicit interfaced from: Layered_interconnect_simple_template_mim *) -(* E2: SUBTYPE_CONSTRAINT list_template_definition_subtypes FOR PART_TEMPLATE_DEFINITION; *) - -(* Implicit interfaced from: Interface_component_mim *) -(* E2: SUBTYPE_CONSTRAINT physical_component_feature_subtypes FOR PHYSICAL_COMPONENT_FEATURE; *) - -(* Implicit interfaced from: Fabrication_technology_mim *) -(* E2: SUBTYPE_CONSTRAINT ft_property_definition_subtypes FOR PROPERTY_DEFINITION; *) - -(* E2: SUBTYPE_CONSTRAINT aeaiapd_component_terminal_subtypes FOR PHYSICAL_COMPONENT_TERMINAL; *) - -(* Implicit interfaced from: Land_mim *) -(* E2: SUBTYPE_CONSTRAINT stratum_feature_template_component_subtypes FOR STRATUM_FEATURE_TEMPLATE_COMPONENT; *) - -(* Implicit interfaced from: Layered_interconnect_module_with_printed_component_design_mim *) -(* E2: SUBTYPE_CONSTRAINT limwpcd_structured_layout_component_subtypes FOR STRUCTURED_LAYOUT_COMPONENT; *) - -(* Implicit interfaced from: Layered_interconnect_module_with_printed_component_design_mim *) -(* E2: SUBTYPE_CONSTRAINT limwpcd_assembly_component_subtypes FOR ASSEMBLY_COMPONENT; *) - -(* Implicit interfaced from: Basic_data_representation_mim *) -(* E2: SUBTYPE_CONSTRAINT representation_item_subtypes FOR REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: shape_aspect_definition_schema *) -(* E2: SUBTYPE_CONSTRAINT sads_shape_aspect_subtypes FOR SHAPE_ASPECT; *) - -(* Implicit interfaced from: Characteristic_mim *) -(* E2: SUBTYPE_CONSTRAINT c_compound_representation_item_subtypes FOR COMPOUND_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: Footprint_definition_mim *) -(* E2: SUBTYPE_CONSTRAINT multi_stratum_structured_template_subtypes FOR MULTI_STRATUM_STRUCTURED_TEMPLATE; *) - -(* Implicit interfaced from: Assembly_component_placement_requirements_mim *) -(* E2: SUBTYPE_CONSTRAINT acpr_predefined_requirement_view_definition_subtypes FOR PREDEFINED_REQUIREMENT_VIEW_DEFINITION; *) - -(* Implicit interfaced from: Ap242_managed_model_based_3d_engineering_mim *) -(* E2: SUBTYPE_CONSTRAINT ap242_founded_item_subtypes FOR FOUNDED_ITEM; *) - -(* Implicit interfaced from: presentation_appearance_schema *) -(* E2: SUBTYPE_CONSTRAINT founded_item_subtypes FOR FOUNDED_ITEM; *) - -(* Implicit interfaced from: Appearance_assignment_mim *) -(* E2: SUBTYPE_CONSTRAINT aa_representation_item_subtypes FOR REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: Document_assignment_mim *) -(* E2: SUBTYPE_CONSTRAINT subtype_mandatory_document_product_association FOR DOCUMENT_PRODUCT_ASSOCIATION; *) - -(* Implicit interfaced from: aic_machining_feature *) -(* E2: SUBTYPE_CONSTRAINT machining_feature_definition_subtypes FOR FEATURE_DEFINITION; *) - -(* Implicit interfaced from: kinematic_analysis_control_and_result_schema *) -(* E2: SUBTYPE_CONSTRAINT link_motion_representation_along_path_subtypes FOR LINK_MOTION_REPRESENTATION_ALONG_PATH; *) - -(* Implicit interfaced from: presentation_organization_schema *) -(* E2: SUBTYPE_CONSTRAINT pos_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: presentation_definition_schema *) -(* E2: SUBTYPE_CONSTRAINT pds_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: draughting_element_schema *) -(* E2: SUBTYPE_CONSTRAINT annotation_occurrence_subtypes FOR ANNOTATION_OCCURRENCE; *) - -(* Implicit interfaced from: draughting_element_schema *) -(* E2: SUBTYPE_CONSTRAINT annotation_curve_subtypes FOR ANNOTATION_CURVE_OCCURRENCE; *) - -(* Implicit interfaced from: presentation_appearance_schema *) -(* E2: SUBTYPE_CONSTRAINT pas_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: Tagged_text_representation_mim *) -(* E2: SUBTYPE_CONSTRAINT ttr_descriptive_representation_item_subtypes FOR DESCRIPTIVE_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: kinematic_motion_representation_schema *) -(* E2: SUBTYPE_CONSTRAINT kmr_representation_subtypes FOR REPRESENTATION; *) - -(* Implicit interfaced from: kinematic_motion_representation_schema *) -(* E2: SUBTYPE_CONSTRAINT kmr_geometric_representation_context_subtypes FOR GEOMETRIC_REPRESENTATION_CONTEXT; *) - -(* Implicit interfaced from: kinematic_motion_representation_schema *) -(* E2: SUBTYPE_CONSTRAINT kmr_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: presentation_resource_schema *) -(* E2: SUBTYPE_CONSTRAINT prs_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: kinematic_structure_schema *) -(* E2: SUBTYPE_CONSTRAINT kss_representation_subtypes FOR REPRESENTATION; *) - -(* Implicit interfaced from: kinematic_property_schema *) -(* E2: SUBTYPE_CONSTRAINT kps_property_definition_subtypes FOR PROPERTY_DEFINITION; *) - -(* Implicit interfaced from: kinematic_state_schema *) -(* E2: SUBTYPE_CONSTRAINT kss_geometric_representation_item_subtypes FOR GEOMETRIC_REPRESENTATION_ITEM; *) - -(* Implicit interfaced from: kinematic_topology_schema *) -(* E2: SUBTYPE_CONSTRAINT kts_representation_subtypes FOR REPRESENTATION; *) - -(* Implicit interfaced from: Layered_interconnect_module_design_mim *) -(* E2: SUBTYPE_CONSTRAINT limd_part_template_definition_subtypes FOR PART_TEMPLATE_DEFINITION; *) - -(* Implicit interfaced from: Interconnect_placement_requirements_mim *) -(* E2: SUBTYPE_CONSTRAINT ipr_non_feature_shape_element_subtypes FOR SHAPE_ASPECT; *) - -(* Implicit interfaced from: Requirement_decomposition_mim *) -(* E2: SUBTYPE_CONSTRAINT rd_model_parameter_subtypes FOR MODEL_PARAMETER; *) - -(*** 2003=>1994 conversion: insert a rule to control if instances are legal according to USE/REF clauses ***) - -RULE validate_dependently_instantiable_entity_data_types FOR - (abstracted_expression_function,action_method_role,action_resource_type,application_defined_function,atom_based_literal,attribute_value_role,b_spline_basis,b_spline_function,basic_sparse_matrix,binary_literal,camera_model_d2,cartesian_complex_number_region,cartesian_transformation_operator,complex_number_literal,concept_feature_relationship,concept_feature_relationship_with_condition,constant_function,definite_integral_expression,definite_integral_function,edge_blended_solid,effectivity_context_role,elementary_function,event_occurrence_role,explicit_procedural_representation_item_relationship,explicit_table_function,expression_denoted_function,extended_tuple_space,externally_listed_data,finite_function,founded_item,function_application,function_space,general_linear_function,homogeneous_linear_function,imported_curve_function,imported_point_function,imported_surface_function,imported_volume_function,indirectly_selected_elements,integer_tuple_literal,linearized_table_function,listed_data,maths_enum_literal,maths_function,maths_tuple_literal,modified_solid_with_placed_configuration,one_direction_repeat_factor,oriented_open_shell,oriented_path,parallel_composed_function,partial_derivative_expression,partial_derivative_function,polar_complex_number_region,procedural_representation,procedural_representation_sequence,product_definition_effectivity,quantifier_expression,rationalize_function,real_tuple_literal,reindexed_array_function,repackaging_function,restriction_function,runout_zone_orientation,selector_function,series_composed_function,solid_with_depression,solid_with_hole,solid_with_pocket,solid_with_protrusion,solid_with_shape_element_pattern,solid_with_slot,swept_area_solid,symbol_target,two_direction_repeat_factor,user_selected_elements,volume -- - ); -LOCAL - number_of_input_instances : INTEGER; - previous_in_chain : LIST OF GENERIC := []; - set_of_input_types : SET OF STRING := []; - all_instances : SET OF GENERIC := []; -END_LOCAL; - - all_instances := all_instances + abstracted_expression_function; - all_instances := all_instances + action_method_role; - all_instances := all_instances + action_resource_type; - all_instances := all_instances + application_defined_function; - all_instances := all_instances + atom_based_literal; - all_instances := all_instances + attribute_value_role; - all_instances := all_instances + b_spline_basis; - all_instances := all_instances + b_spline_function; - all_instances := all_instances + basic_sparse_matrix; - all_instances := all_instances + binary_literal; - all_instances := all_instances + camera_model_d2; - all_instances := all_instances + cartesian_complex_number_region; - all_instances := all_instances + cartesian_transformation_operator; - all_instances := all_instances + complex_number_literal; - all_instances := all_instances + concept_feature_relationship; - all_instances := all_instances + concept_feature_relationship_with_condition; - all_instances := all_instances + constant_function; - all_instances := all_instances + definite_integral_expression; - all_instances := all_instances + definite_integral_function; - all_instances := all_instances + edge_blended_solid; - all_instances := all_instances + effectivity_context_role; - all_instances := all_instances + elementary_function; - all_instances := all_instances + event_occurrence_role; - all_instances := all_instances + explicit_procedural_representation_item_relationship; - all_instances := all_instances + explicit_table_function; - all_instances := all_instances + expression_denoted_function; - all_instances := all_instances + extended_tuple_space; - all_instances := all_instances + externally_listed_data; - all_instances := all_instances + finite_function; - all_instances := all_instances + founded_item; - all_instances := all_instances + function_application; - all_instances := all_instances + function_space; - all_instances := all_instances + general_linear_function; - all_instances := all_instances + homogeneous_linear_function; - all_instances := all_instances + imported_curve_function; - all_instances := all_instances + imported_point_function; - all_instances := all_instances + imported_surface_function; - all_instances := all_instances + imported_volume_function; - all_instances := all_instances + indirectly_selected_elements; - all_instances := all_instances + integer_tuple_literal; - all_instances := all_instances + linearized_table_function; - all_instances := all_instances + listed_data; - all_instances := all_instances + maths_enum_literal; - all_instances := all_instances + maths_function; - all_instances := all_instances + maths_tuple_literal; - all_instances := all_instances + modified_solid_with_placed_configuration; - all_instances := all_instances + one_direction_repeat_factor; - all_instances := all_instances + oriented_open_shell; - all_instances := all_instances + oriented_path; - all_instances := all_instances + parallel_composed_function; - all_instances := all_instances + partial_derivative_expression; - all_instances := all_instances + partial_derivative_function; - all_instances := all_instances + polar_complex_number_region; - all_instances := all_instances + procedural_representation; - all_instances := all_instances + procedural_representation_sequence; - all_instances := all_instances + product_definition_effectivity; - all_instances := all_instances + quantifier_expression; - all_instances := all_instances + rationalize_function; - all_instances := all_instances + real_tuple_literal; - all_instances := all_instances + reindexed_array_function; - all_instances := all_instances + repackaging_function; - all_instances := all_instances + restriction_function; - all_instances := all_instances + runout_zone_orientation; - all_instances := all_instances + selector_function; - all_instances := all_instances + series_composed_function; - all_instances := all_instances + solid_with_depression; - all_instances := all_instances + solid_with_hole; - all_instances := all_instances + solid_with_pocket; - all_instances := all_instances + solid_with_protrusion; - all_instances := all_instances + solid_with_shape_element_pattern; - all_instances := all_instances + solid_with_slot; - all_instances := all_instances + swept_area_solid; - all_instances := all_instances + symbol_target; - all_instances := all_instances + two_direction_repeat_factor; - all_instances := all_instances + user_selected_elements; - all_instances := all_instances + volume; -;-- -number_of_input_instances := SIZEOF(all_instances); -(* Collect all type strings of all FOR instances into one set. *) -REPEAT i:=1 TO number_of_input_instances; - set_of_input_types := set_of_input_types + TYPEOF(all_instances[i]); -END_REPEAT; - -WHERE - WR1: dependently_instantiated(all_instances, set_of_input_types, - previous_in_chain); -END_RULE; - -FUNCTION dependently_instantiated( - set_of_input_instances : SET OF GENERIC:igen; - set_of_input_types : SET OF STRING; - previous_in_chain : LIST OF GENERIC:cgen): BOOLEAN; -(*'dependently_instantiated' To test whether all instances in the - input set_of_input_instances are referenced by independently - instantiable instances. If so, this function returns true. - Set_of_input_types includes the type strings for all input instances. - The instances in previous_in_chain are used to detect cyclic - references during recursive calls to this function. The parameter - lists already tested instances in a chain of references. -*) -LOCAL - number_of_input_instances : INTEGER; - number_of_referring_instances : INTEGER; - bag_of_referring_instances : BAG OF GENERIC:igen := []; - dependently_instantiated_flag : BOOLEAN; - previous_in_chain_plus : LIST OF GENERIC:cgen := []; - result : BOOLEAN := true; - set_of_types : SET OF STRING := []; -END_LOCAL; - -IF EXISTS(set_of_input_instances) THEN - number_of_input_instances := SIZEOF(set_of_input_instances); - (* Add the declared type of bag_of_referring_instances to the set of - types of the REFERENCEd instances for the subset comparison later. - *) - set_of_input_types := set_of_input_types + 'GENERIC'; - REPEAT i:=1 TO number_of_input_instances; - (* Determine all references to the current input instance. *) - bag_of_referring_instances := USEDIN (set_of_input_instances[i] , ''); - IF EXISTS(bag_of_referring_instances) THEN - number_of_referring_instances := SIZEOF(bag_of_referring_instances); - dependently_instantiated_flag := false; - REPEAT j:=1 TO number_of_referring_instances; - (* Determine the type strings of the current referencing instance. - *) - set_of_types := TYPEOF(bag_of_referring_instances[j]); - (* If the referencing instance is of one of the types of the - only dependently instantiable select items, the current input - instance may still be invalidly instantiated. - Otherwise it is OK, and the next input instance is tested. - *) - IF set_of_types <= set_of_input_types THEN -- subset operator - (* The referring instance is of one of the restricted types. - However, it may itself be referred to by a valid instance; - then also the current instance would be valid. - Thus, call this function recursively with the referring - instance as input. - To avoid an infinite loop in case a set of instances - reference each other in a closed loop, test first whether - the current referencing instance is in the list of - previously processed chain members. - *) - IF NOT (bag_of_referring_instances[j] IN previous_in_chain) THEN - previous_in_chain_plus := previous_in_chain + - set_of_input_instances[i]; - IF dependently_instantiated([bag_of_referring_instances[j]], - set_of_input_types, - previous_in_chain_plus) THEN - dependently_instantiated_flag := true; - ESCAPE; -- dependently instantiated; next input instance - ELSE - (* Not dependently instantiated: go to next referring - instance. *) - SKIP; - END_IF; - END_IF; - ELSE - dependently_instantiated_flag := true; - ESCAPE; -- dependently instantiated; take next input instance - END_IF; - END_REPEAT; - IF NOT dependently_instantiated_flag THEN - RETURN(false); - END_IF; - ELSE - RETURN(false); -- not referenced at all => invalidly instantiated - END_IF; - END_REPEAT; -ELSE - RETURN(false); -- no input -END_IF; - -RETURN(true); -END_FUNCTION; -- end dependently_instantiated - - - -END_SCHEMA; - diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index c69eaf910..30ba3e5bd 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,14 +1,20 @@ -SET(sc_MANS - man/man1/dataprobe.1 - man/man1/fedex.1 - man/man1/fedex_plus.1 - man/man1/mkProbe.1 -) +set(sc_MANS + man/man1/fedex.1 + man/man1/exp2cxx.1 + ) if(NOT DEFINED MAN_DIR) set(MAN_DIR share/man) endif(NOT DEFINED MAN_DIR) -IF(NOT WIN32) - INSTALL(FILES ${sc_MANS} DESTINATION ${MAN_DIR}/man1) -ENDIF(NOT WIN32) +if(NOT WIN32) + install(FILES ${sc_MANS} DESTINATION ${MAN_DIR}/man1) +endif(NOT WIN32) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/doc/Doxyfile b/doc/Doxyfile index df15bc299..65302c7b4 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.7.4 +# Doxyfile 1.7.6.1 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project @@ -22,22 +22,23 @@ DOXYFILE_ENCODING = UTF-8 -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. +# The PROJECT_NAME tag is a single word (or sequence of words) that should +# identify the project. Note that if you do not use Doxywizard you need +# to put quotes around the project name if it contains spaces. -PROJECT_NAME = scl +PROJECT_NAME = SC # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 3.2 +PROJECT_NUMBER = 0.8 # Using the PROJECT_BRIEF tag one can provide an optional one line description # 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 = STEPcode # 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 @@ -51,7 +52,7 @@ PROJECT_LOGO = # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. -OUTPUT_DIRECTORY = . +OUTPUT_DIRECTORY = /mnt/raid/mark/sc-doxygen # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output @@ -204,6 +205,13 @@ TAB_SIZE = 8 ALIASES = +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding +# "class=itcl::class" will allow you to use the command class in the +# itcl::class meaning. + +TCL_SUBST = + # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list @@ -293,6 +301,15 @@ SUBGROUPING = YES INLINE_GROUPED_CLASSES = NO +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and +# unions with only public data fields will be shown inline in the documentation +# of the scope in which they are defined (i.e. file, namespace, or group +# documentation), provided this scope is documented. If set to NO (the default), +# structs, classes, and unions are shown on a separate page (for HTML and Man +# pages) or section (for LaTeX and RTF). + +INLINE_SIMPLE_STRUCTS = NO + # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct @@ -315,10 +332,21 @@ TYPEDEF_HIDES_STRUCT = NO # a logarithmic scale so increasing the size by one will roughly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols +# corresponding to a cache size of 2^16 = 65536 symbols. SYMBOL_CACHE_SIZE = 0 +# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be +# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given +# their name and scope. Since this can be an expensive process and often the +# same symbol appear multiple times in the code, doxygen keeps a cache of +# pre-resolved symbols. If the cache is too small doxygen will become slower. +# If the cache is too large, memory is wasted. The cache size is given by this +# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols. + +LOOKUP_CACHE_SIZE = 0 + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- @@ -338,7 +366,7 @@ EXTRACT_PRIVATE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. -EXTRACT_STATIC = NO +EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. @@ -559,6 +587,16 @@ FILE_VERSION_FILTER = LAYOUT_FILE = +# The CITE_BIB_FILES tag can be used to specify one or more bib files +# containing the references data. This must be a list of .bib files. The +# .bib extension is automatically appended if omitted. Using this command +# requires the bibtex tool to be installed. See also +# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style +# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this +# feature you need bibtex and perl available in the search path. + +CITE_BIB_FILES = + #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -621,7 +659,8 @@ WARN_LOGFILE = INPUT = src \ include \ - build/src/express + build/src/express \ + build/include # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -677,13 +716,16 @@ FILE_PATTERNS = *.c \ RECURSIVE = YES -# The EXCLUDE tag can be used to specify files and/or directories that should +# The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# Note that relative paths are relative to the directory from which doxygen is +# run. -EXCLUDE = +EXCLUDE = .git \ + cmake/ -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. @@ -773,7 +815,7 @@ FILTER_SOURCE_PATTERNS = # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. -SOURCE_BROWSER = NO +SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. @@ -865,13 +907,13 @@ HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible +# standard header. Note that when using a custom header you are responsible # for the proper inclusion of any scripts and style sheets that doxygen # needs, which is dependent on the configuration options used. -# It is adviced to generate a default header using "doxygen -w html +# It is advised to generate a default header using "doxygen -w html # header.html footer.html stylesheet.css YourConfigFile" and then modify # that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when +# have to redo this when upgrading to a newer version of doxygen or when # changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = @@ -887,7 +929,7 @@ HTML_FOOTER = # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! +# style sheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = @@ -901,7 +943,7 @@ HTML_STYLESHEET = HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the stylesheet and background images +# Doxygen will adjust the colors in the style sheet and background images # according to this color. Hue is specified as an angle on a colorwheel, # see http://en.wikipedia.org/wiki/Hue for more information. # For instance the value 0 represents red, 60 is yellow, 120 is green, @@ -1096,29 +1138,33 @@ GENERATE_ECLIPSEHELP = NO ECLIPSE_DOC_ID = org.doxygen.Project -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. +# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) +# at top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. Since the tabs have the same information as the +# navigation tree you can set this option to NO if you already set +# GENERATE_TREEVIEW to YES. DISABLE_INDEX = NO -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. +# Windows users are probably better off using the HTML help feature. +# Since the tree basically has the same information as the tab index you +# could consider to set DISABLE_INDEX to NO when enabling this option. GENERATE_TREEVIEW = YES +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. + +ENUM_VALUES_PER_LINE = 4 + # By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, # and Class Hierarchy pages using a tree view instead of an ordered list. @@ -1171,6 +1217,11 @@ USE_MATHJAX = NO MATHJAX_RELPATH = http://www.mathjax.org/mathjax +# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension +# names that should be enabled during MathJax rendering. + +MATHJAX_EXTENSIONS = + # When the SEARCHENGINE tag is enabled doxygen will generate a search box # for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using @@ -1179,7 +1230,7 @@ MATHJAX_RELPATH = http://www.mathjax.org/mathjax # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. -SEARCHENGINE = NO +SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be # implemented using a PHP enabled web server instead of at the web client @@ -1284,6 +1335,12 @@ LATEX_HIDE_INDICES = NO LATEX_SOURCE_CODE = NO +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See +# http://en.wikipedia.org/wiki/BibTeX for more info. + +LATEX_BIB_STYLE = plain + #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -1315,7 +1372,7 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's +# Load style sheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. @@ -1585,32 +1642,30 @@ HAVE_DOT = YES DOT_NUM_THREADS = 0 -# By default doxygen will write a font called Helvetica to the output -# directory and reference it in all dot files that doxygen generates. -# When you want a differently looking font you can specify the font name -# using DOT_FONTNAME. You need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. +# By default doxygen will use the Helvetica font for all dot files that +# doxygen generates. When you want a differently looking font you can specify +# the font name using DOT_FONTNAME. You need to make sure dot is able to find +# the font, which can be done by putting it in a standard location or by setting +# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. -DOT_FONTNAME = FreeSans +DOT_FONTNAME = Roboto # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. +# By default doxygen will tell dot to use the Helvetica font. +# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to +# set the path where dot can find it. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. +# CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES @@ -1681,10 +1736,21 @@ DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. +# If left blank png will be used. If you choose svg you need to set +# HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible in IE 9+ (other browsers do not have this requirement). DOT_IMAGE_FORMAT = png +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# Note that this requires a modern browser other than Internet Explorer. +# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you +# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible. Older versions of IE do not have SVG support. + +INTERACTIVE_SVG = NO + # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. @@ -1735,7 +1801,7 @@ DOT_TRANSPARENT = NO # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. -DOT_MULTI_TARGETS = NO +DOT_MULTI_TARGETS = YES # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and diff --git a/doc/doxyassist.xml b/doc/doxyassist.xml index 6484493a5..3eb5f8ac3 100644 --- a/doc/doxyassist.xml +++ b/doc/doxyassist.xml @@ -36,7 +36,7 @@ English - @@ -132,7 +132,7 @@ ./src/clutils ./src/exppp ./src/express - ./src/fedex_plus + ./src/exp2cxx ./src/test--> inst???? } -SDAI_Application_instance * lazyInstMgr::loadInstance( instanceID id ) { +SDAI_Application_instance * lazyInstMgr::loadInstance( instanceID id, bool reSeek ) { assert( _mainRegistry && "Main registry has not been initialized. Do so with initRegistry() or setRegistry()." ); - SDAI_Application_instance * inst = 0; + std::streampos oldPos; positionAndSection ps; - long int off; sectionID sid; - inst = _instancesLoaded.find( id ); + SDAI_Application_instance * inst = _instancesLoaded.find( id ); + if( inst ) { + return inst; + } instanceStreamPos_t::cvector * cv; - if( !inst && 0 != ( cv = _instanceStreamPos.find( id ) ) ) { - //FIXME _instanceStreamPos.find( id ) can return nonzero for nonexistent key?! + if( 0 != ( cv = _instanceStreamPos.find( id ) ) ) { switch( cv->size() ) { case 0: std::cerr << "Instance #" << id << " not found in any section." << std::endl; break; case 1: + long int off; ps = cv->at( 0 ); - off = ps & 0xFFFFFFFFFFFF; + off = ps & 0xFFFFFFFFFFFFULL; sid = ps >> 48; assert( _dataSections.size() > sid ); + if( reSeek ) { + oldPos = _dataSections[sid]->tellg(); + } inst = _dataSections[sid]->getRealInstance( _mainRegistry, off, id ); + if( reSeek ) { + _dataSections[sid]->seekg( oldPos ); + } break; default: std::cerr << "Instance #" << id << " exists in multiple sections. This is not yet supported." << std::endl; break; } - if( ( inst ) && ( inst != & NilSTEPentity ) ) { + if( !isNilSTEPentity( inst ) ) { _instancesLoaded.insert( id, inst ); _loadedInstanceCount++; + lazyRefs lr( this, inst ); + lazyRefs::referentInstances_t insts = lr.result(); } else { std::cerr << "Error loading instance #" << id << "." << std::endl; } @@ -124,3 +152,34 @@ SDAI_Application_instance * lazyInstMgr::loadInstance( instanceID id ) { } return inst; } + + +instanceSet * lazyInstMgr::instanceDependencies( instanceID id ) { + instanceSet * checkedDependencies = new instanceSet(); + instanceRefs dependencies; //Acts as queue for checking duplicated dependency + + instanceRefs_t * _fwdRefs = getFwdRefs(); + instanceRefs_t::cvector * _fwdRefsVec = _fwdRefs->find( id ); + //Initially populating direct dependencies of id into the queue + if( _fwdRefsVec != 0 ) { + dependencies.insert( dependencies.end(), _fwdRefsVec->begin(), _fwdRefsVec->end() ); + } + + size_t curPos = 0; + while( curPos < dependencies.size() ) { + + bool isNewElement = ( checkedDependencies->insert( dependencies.at( curPos ) ) ).second; + if( isNewElement ) { + _fwdRefsVec = _fwdRefs->find( dependencies.at( curPos ) ); + + if( _fwdRefsVec != 0 ) { + dependencies.insert( dependencies.end(), _fwdRefsVec->begin(), _fwdRefsVec->end() ); + } + } + + curPos++; + } + + return checkedDependencies; +} + diff --git a/src/cllazyfile/lazyP21DataSectionReader.cc b/src/cllazyfile/lazyP21DataSectionReader.cc index 2ac5def8a..0716f5c5f 100644 --- a/src/cllazyfile/lazyP21DataSectionReader.cc +++ b/src/cllazyfile/lazyP21DataSectionReader.cc @@ -1,7 +1,7 @@ #include #include -#include "lazyP21DataSectionReader.h" -#include "lazyInstMgr.h" +#include "cllazyfile/lazyP21DataSectionReader.h" +#include "cllazyfile/lazyInstMgr.h" lazyP21DataSectionReader::lazyP21DataSectionReader( lazyFileReader * parent, std::ifstream & file, std::streampos start, sectionID sid ): @@ -11,6 +11,15 @@ lazyP21DataSectionReader::lazyP21DataSectionReader( lazyFileReader * parent, std while( nl = nextInstance(), ( ( nl.loc.begin > 0 ) && ( nl.name != 0 ) ) ) { parent->getInstMgr()->addLazyInstance( nl ); } + + if( sectionReader::_error->severity() <= SEVERITY_WARNING ) { + sectionReader::_error->PrintContents( std::cerr ); + if( sectionReader::_error->severity() <= SEVERITY_INPUT_ERROR ) { + _error = true; + return; + } + } + if( !_file.good() ) { _error = true; return; @@ -34,17 +43,18 @@ lazyP21DataSectionReader::lazyP21DataSectionReader( lazyFileReader * parent, std } // part of readdata1 +//if this changes, probably need to change sectionReader::getType() const namedLazyInstance lazyP21DataSectionReader::nextInstance() { std::streampos end = -1; namedLazyInstance i; i.refs = 0; + i.loc.section = 0; i.loc.begin = _file.tellg(); i.loc.instance = readInstanceNumber(); if( ( _file.good() ) && ( i.loc.instance > 0 ) ) { skipWS(); i.loc.section = _sectionID; - skipWS(); i.name = getDelimitedKeyword( ";( /\\" ); if( _file.good() ) { end = seekInstanceEnd( & i.refs ); @@ -61,3 +71,4 @@ const namedLazyInstance lazyP21DataSectionReader::nextInstance() { } return i; } + diff --git a/src/cllazyfile/lazyRefs.h b/src/cllazyfile/lazyRefs.h new file mode 100644 index 000000000..b8daff295 --- /dev/null +++ b/src/cllazyfile/lazyRefs.h @@ -0,0 +1,302 @@ +#ifndef LAZYREFS_H +#define LAZYREFS_H + +#include +#include +#include +#include + +#include "sc_export.h" +#include "cllazyfile/lazyTypes.h" +#include "cllazyfile/lazyInstMgr.h" +#include "clstepcore/ExpDict.h" +#include "clstepcore/SubSuperIterators.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/STEPaggregate.h" + +#ifdef _WIN32 +#define strcasecmp _strcmpi +#endif // _WIN32 + +class SDAI_Application_instance; +/* + * given inverted attr ia: + * attr method value + * ----------- ----- + * ia->Name() isdefinedby + * ia->inverted_attr_id_() relatedobjects + * ia->inverted_entity_id_() reldefinesbytype + * + * 1. for the instance in question, find inverse attrs with recursion + * 2. look up references to the current instance (_r) + * a. for each item in _r, look up its type and add mapping (instanceID -> char* typestring) to _refMap + * 3. for each ia, + * a. entity name is returned by ia->inverted_entity_id_() + * b. add this entity and its children to a list ( edL ) + * c. compare the type of each item in _refMap with types in edL; for types in both, remember the instance number ( _referentInstances ) + * d. load each instance in _referentInstances + * e. check if the relevant inverted attr of instances loaded from _referentInstances reference the instance in step 1; if not, unload **IF** the instance hadn't been loaded + * --> if it was loaded, this implies that it is used elsewhere + * f. (optional / TODO ) for performance, cache list edL - it may be useful in the future + * -- best to store such that the most recently (frequently?) used lists are retained and others are discarded + */ + /* **** + * ALTERNATE for 2a, 3c: + * for each type t in edL, use lim->getInstances( t ) to get a list of instances of that type, Lt + * for each instance i in Lt, check if it is in _r + * if so, load it + * BENEFIT: no need to write lazyInstMgr::getTypeStr() (however, it might be necessary in the future regardless) + */ + +//TODO screen out instances that appear to be possible inverse refs but aren't actually +// note - doing this well will require major changes, since each inst automatically loads every instance that it references +//TODO what about complex instances? scanning each on disk could be a bitch; should the compositional types be scanned during lazy loading? + +//TODO/FIXME in generated code, store ia data in map and eliminate data members that are currently used. modify accessors to use map. +class SC_LAZYFILE_EXPORT lazyRefs { + public: + typedef std::set< instanceID > referentInstances_t; + protected: + typedef std::set< const Inverse_attribute * > iaList_t; + typedef judyLArray< instanceID, std::string * > refMap_t; + typedef std::set< const EntityDescriptor * > edList_t; +#ifdef _MSC_VER +#pragma warning( push ) +#pragma warning( disable: 4251 ) +#endif + iaList_t _iaList; + lazyInstMgr * _lim; + instanceID _id; + refMap_t _refMap; + referentInstances_t _referentInstances; + SDAI_Application_instance * _inst; +#ifdef _MSC_VER +#pragma warning( pop ) +#endif + + void checkAnInvAttr( const Inverse_attribute * ia ) { + const EntityDescriptor * ed; + const Registry * reg = _lim->getMainRegistry(); + ed = reg->FindEntity( ia->_inverted_entity_id ); + subtypesIterator subtypeIter( ed ); + edList_t edL; + edL.insert( ed ); + // 3b - use subtypeIter to add to edL + for( ; !subtypeIter.empty(); ++subtypeIter ) { + edL.insert( *subtypeIter ); + } + //3c - for each item in both _refMap and edL, add it to _referentInstances + potentialReferentInsts( edL ); + //3d - load each inst + iAstruct ias = invAttr( _inst, ia ); + referentInstances_t::iterator insts = _referentInstances.begin(); + for( ; insts != _referentInstances.end(); ++insts ) { + loadInstIFFreferent( *insts, ias, ia ); + } + //3f - cache edL - TODO + } + + void loadInstIFFreferent( instanceID inst, iAstruct ias, const Inverse_attribute * ia ) { + bool prevLoaded = _lim->isLoaded( inst ); + SDAI_Application_instance * rinst = _lim->loadInstance( inst ); + bool ref = refersToCurrentInst( ia, rinst ); + if( ref ) { + if( ia->inverted_attr_()->IsAggrType() ) { + if( !ias.a ) { + ias.a = new EntityAggregate; + _inst->setInvAttr( ia, ias ); + assert( invAttr( _inst, ia ).a == ias.a ); + } + EntityAggregate * ea = ias.a; + //TODO check if duplicate + ea->AddNode( new EntityNode( rinst ) ); + } else { + SDAI_Application_instance * ai = ias.i; + if( !ai ) { + ias.i = rinst; + _inst->setInvAttr( ia, ias ); + } else if( ai->GetFileId() != ( int )inst ) { + std::cerr << "ERROR: two instances (" << rinst << ", #" << rinst->GetFileId() << "=" << rinst->eDesc->Name(); + std::cerr << " and " << ai << ", #" << ai->GetFileId() << "=" << ai->eDesc->Name() << ") refer to inst "; + std::cerr << _inst->GetFileId() << ", but its inverse attribute is not an aggregation type!" << std::endl; + // TODO _error->GreaterSeverity( SEVERITY_INPUT_ERROR ); + } + } + } else { + if( !prevLoaded ) { + //TODO _lim->unload( inst ); //this should keep the inst loaded for now, but put it in a list of ones that can be unloaded if not accessed + } + } + } + + ///3e - check if actually inverse ref + bool refersToCurrentInst( const Inverse_attribute * ia, SDAI_Application_instance * referrer ) { + //find the attr + int rindex = attrIndex( referrer, ia->_inverted_attr_id, ia->_inverted_entity_id ); + STEPattribute sa = referrer->attributes[ rindex ]; + assert( sa.getADesc()->BaseType() == ENTITY_TYPE ); + bool found = false; + if( sa.getADesc()->IsAggrType() ) { + //aggregate - search for current inst id + EntityAggregate * aggr = dynamic_cast< EntityAggregate * >( sa.Aggregate() ); + assert( aggr ); + EntityNode * en = ( EntityNode * ) aggr->GetHead(); + while( en ) { + if( en->node == _inst ) { + found = true; + break; + } + en = ( EntityNode * ) en->NextNode(); + } + } else { + //single instance + assert( sa.getADesc()->NonRefType() == ENTITY_TYPE ); + if( sa.Entity() == _inst ) { + found = true; + } + } + if( !found ) { + std::cerr << "inst #" << _inst->FileId() << " not found in #" << referrer->FileId(); + std::cerr << ", attr #" << rindex << " [contents: "; + referrer->STEPwrite( std::cerr ); + std::cerr << "]" << std::endl; + } + return found; + } + + int attrIndex( SDAI_Application_instance * inst, const char * name, const char * entity ) { + for( int i = 0; i < inst->attributes.list_length(); i++ ) { +// std::cout << "attr " << i << " name " << inst->attributes[i].Name() << ", entity " << inst->EntityName() << std::endl; + if( ( strcasecmp( name, inst->attributes[i].Name() ) == 0 ) && + ( strcasecmp( entity, inst->attributes[i].getADesc()->Owner().Name() ) == 0 ) ) { + return i; + } + } + return -1; + } + + iAstruct invAttr( SDAI_Application_instance * inst, const Inverse_attribute * ia /*, iaList_t & iaList */ ) { + SDAI_Application_instance::iAMap_t map = inst->getInvAttrs(); + SDAI_Application_instance::iAMap_t::iterator iai = map.begin(); + while( iai != map.end() ) { + if( iai->first == ia ) { + return iai->second; + } + ++iai; + } + std::cerr << "Error! inverse attr " << ia->Name() << " (" << ia << ") not found in iAMap for entity " << inst->eDesc->Name() << std::endl; + abort(); + iAstruct nil = {nullptr}; + return nil; + } + + /** 3c. compare the type of each item in R with types in A + * for items that match, remember the instance number (list C) + */ + void potentialReferentInsts( edList_t & edL ) { + refMap_t::pair kv = _refMap.begin(); + while( kv.value != 0 ) { + std::set< const EntityDescriptor * >::iterator edi = edL.begin(); + for( ; edi != edL.end(); ++edi ) { + if( 0 == strcasecmp( kv.value->c_str(), ( *edi )->Name() ) ) { + _referentInstances.insert( kv.key ); + break; + } + } + kv = _refMap.next(); + } + } + + ///find any inverse attributes, put in `iaList` + /// attrs not necessarily in order! + void getInverseAttrs( const EntityDescriptor * ed, iaList_t & iaList ) { + iaList.clear(); + supertypesIterator supersIter( ed ); + const Inverse_attribute * iAttr; + for( ; !supersIter.empty(); ++supersIter ) { + //look at attrs of *si + InverseAItr iai( &( ( *supersIter )->InverseAttr() ) ); + while( 0 != ( iAttr = iai.NextInverse_attribute() ) ) { + iaList.insert( iAttr ); + } + } + // look at our own attrs + InverseAItr invAttrIter( &( ed->InverseAttr() ) ); + while( 0 != ( iAttr = invAttrIter.NextInverse_attribute() ) ) { + iaList.insert( iAttr ); + } + } + + // 2. find reverse refs + //2a. convert to map where K=instanceID and V=char* + // rather than keeping each V in memory or trying to free non-unique ones, look up each type in the Registry and use that pointer + bool mapRefsToTypes() { + _refMap.clear( true ); // true -> use delete on pointers + instanceRefs_t::cvector * refs = _lim->getRevRefs()->find( _id ); + if( !refs || refs->empty() ) { + return false; + } + instanceRefs_t::cvector::const_iterator it; + for( it = refs->begin(); it != refs->end(); ++it ) { + const char * type = _lim->typeFromFile( *it ); + _refMap.insert( *it, new std::string( type ) ); + } + return true; + } + public: + lazyRefs( lazyInstMgr * lmgr ): _lim( lmgr ), _id( 0 ) { + _iaList.clear(); + } + lazyRefs( lazyInstMgr * lmgr, SDAI_Application_instance * ai ): _lim( lmgr ), _id( 0 ) { + _iaList.clear(); + init( 0, ai ); + } + lazyRefs( lazyInstMgr * lmgr, instanceID iid ): _lim( lmgr ) { + _iaList.clear(); + init( iid, 0 ); + } + + ~lazyRefs() { + // delete strings in refMap + _refMap.clear( true ); + } + + /// initialize with the given instance; will use ai if given, else loads instance iid + void init( instanceID iid, SDAI_Application_instance * ai = 0 ) { + if( iid == 0 && ai == 0 ) { + std::cerr << "Error at " << __FILE__ << ":" << __LINE__ << " - both args are null" << std::endl; + return; + } + + if( !ai ) { + _inst = _lim->loadInstance( iid ); + _id = iid; + } else { + _inst = ai; + _id = _inst->GetFileId(); + } + _refMap.clear( true ); + + + // 1. find inverse attrs with recursion + getInverseAttrs( ai->eDesc, _iaList ); + + //2. find reverse refs, map id to type (stop if there are no inverse attrs or no refs) + if( _iaList.size() == 0 || !mapRefsToTypes() ) { + return; + } + + iaList_t::iterator iai = _iaList.begin(); + for( ; iai != _iaList.end(); ++iai ) { + // 3. for each IA, ... + checkAnInvAttr( *iai ); + } + } + + referentInstances_t result() { + return _referentInstances; + } + + +}; +#endif //LAZYREFS_H diff --git a/src/cllazyfile/lazyRefs.txt b/src/cllazyfile/lazyRefs.txt new file mode 100644 index 000000000..8aae078b8 --- /dev/null +++ b/src/cllazyfile/lazyRefs.txt @@ -0,0 +1,74 @@ +for inverse attrs, we have the attr name and the type of the instance + +--load instance, find inverse attr(s) +--for each inverse attr: +--find all instance types that inherit from the inverted attr's owner (list A) +--look up instances that reference the one in question (list B) - use memoization +--find instances that match both lists, put in list C +--load instances in list C +--for list C, check that the relevant attr references the original instance - if not, unload (?) +-- + +--when done with this inverse attr, cache list A + + + + +EXAMPLE +******* + +information model +----------------- + ENTITY Object; + ObjectType : OPTIONAL STRING; + INVERSE + IsDefinedBy : SET [0:?] OF RelDefinesByType FOR RelatedObjects; + END_ENTITY; + + ENTITY RelDefinesByType; + RelatedObjects : SET [1:?] OF Object; + END_ENTITY; + + ENTITY Window + SUBTYPE OF (Object); + Description : OPTIONAL string; + END_ENTITY; + +data file +--------- + #1=OBJECT('one'); + #2=RELDEFINESBYTYPE((#1)); + #3=RELDEFINESBYTYPE((#4)); + #4=WINDOW('two','blah'); + +#1 and #4 have an inverse attr, but this is not visible in the data file +#2 and #3 have #1 and #4, respectively, in an aggregate (thus the parenthesis around the instance); in this case, a SET called RelatedObjects +RelatedObjects is the inverted attr that the inverse attr IsDefinedBy links to + +looking at the entity descriptor for WINDOW, it is not apparent that there is an inverse attr; its parents must be examined + + +given inverted attr ia: +attr method value +----------- ----- +ia->Name() isdefinedby +ia->inverted_attr_id_() relatedobjects +ia->inverted_entity_id_() reldefinesbytype + +1. for the instance in question, find inverse attrs with recursion +2. for each ia, + a. entity name is returned by ia->inverted_entity_id_() + b. add this entity and its children to a list (list A) + c. look up references to the current instance (list B) + d. for each item in B, look up its type; if its type is present in A, remember the instance number (list C) + e. load each instance in C + f. (optional) check if the relevant inverted attr of instances loaded from list C reference the instance in step 1; if not, unload **IF** the instance hadn't been loaded + --> if it was loaded, this implies that it is used elsewhere + g. cache list A, since it may be useful in the future + -- best to store such that the most recently (frequently?) used lists are retained and others are discarded + + +NEED TO DO +---------- +make it possible to access inverse attrs without knowing their names +probably best to do this much like explicit attrs - creating an array. each element should have a pointer to the inverted attr desc, a pointer to the setter, and a pointer to the getter diff --git a/src/cllazyfile/lazy_test.cc b/src/cllazyfile/lazy_test.cc index a5a85a804..d5ce6081a 100644 --- a/src/cllazyfile/lazy_test.cc +++ b/src/cllazyfile/lazy_test.cc @@ -1,8 +1,7 @@ -#include "lazyInstMgr.h" -#include -#include "SdaiSchemaInit.h" -#include "sc_memmgr.h" -#include +#include "cllazyfile/lazyInstMgr.h" +#include "./sc_benchmark.h" +#include "cleditor/SdaiSchemaInit.h" +#include "config.h" #ifndef NO_REGISTRY # include "schema.h" @@ -71,21 +70,60 @@ instanceID printRefs( lazyInstMgr & mgr ) { return id; } +/// prints dependencies of an instance +void printDeps( lazyInstMgr & mgr ) { + const int displayInstances = 10; + instanceRefs_t * refs = mgr.getFwdRefs(); + instanceRefs_t::cpair p = refs->end(); + + instanceID id = p.key; + instanceSet * dependencies = mgr.instanceDependencies( id ); + + std::cout << std::endl <<"Dependencies" << std::endl << "==============" << std::endl; + instanceSet::const_iterator it( dependencies->begin() ), end( dependencies->end() ); + + std::cout << "Example: Instance #" << id << " is recursively dependent on " << dependencies->size() << " instances: "; + int i; + for(i = 0; it != end && i < displayInstances; it++, i++ ) { + std::cout << *it << " "; + } + + if( dependencies->size() > displayInstances ) { + std::cout << ".... (Displaying only " << displayInstances << " instances) "; + } + + std::cout << std::endl; + std::cout << std::endl; + + delete dependencies; +} + ///prints info about a complex instance -void dumpComplexInst( STEPcomplex * c, unsigned int depth ) { +void dumpComplexInst( STEPcomplex * c ) { + int depth = 0; if( c ) { - std::cout << "attr list size: " << c->_attr_data_list.size() << ", depth " << depth << std::endl; - STEPcomplex_attr_data_list::iterator it; - for( it = c->_attr_data_list.begin(); it != c->_attr_data_list.end(); it++ ) { - std::cout << "*** Not printing complex instance attribute info - many eDesc pointers are invalid. ***" << std::endl; //FIXME! +// std::cout << "attr list size: " << c->_attr_data_list.size() << ", depth " << depth << std::endl; +// STEPcomplex_attr_data_list::iterator it; +// for( it = c->_attr_data_list.begin(); it != c->_attr_data_list.end(); it++ ) { +// std::cout << "*** Not printing complex instance attribute info - many eDesc pointers are invalid. ***" << std::endl; //FIXME! // SDAI_Application_instance * attr = ( SDAI_Application_instance * ) *it; -// if( attr->IsComplex() ) { -// dumpComplexInst( dynamic_cast( attr ), depth + 1 ); -// } else if( attr->eDesc > ( void * ) 0xFF ) { //arbitrary number - invalid ones are usually 0x51 -// std::cout << "attr " << attr->eDesc->Name() << std::endl; -// } else { -// std::cout << "attr has eDesc with pointer " << attr->eDesc << std::endl; -// } + STEPcomplex * complex = c->head; + while( complex ) { + if( complex->IsComplex() ) { + std::cout << "Complex component " << complex->eDesc->Name() << " at depth " << depth << " with attr list size "; + std::cout << complex->_attr_data_list.size() << std::endl; +// dumpComplexInst( complex, depth + 1 ); + } else { + //probably won't ever get here... + SDAI_Application_instance * ai = dynamic_cast< SDAI_Application_instance * >( complex ); + if( ai ) { + std::cout << "non-complex component at depth " << depth << ", " << ai->eDesc->Name() << std::endl; + } else { + std::cout << "unknown component at depth " << depth << ": " << complex << std::endl; + } + } + complex = complex->sc; + depth++; } } } @@ -115,6 +153,7 @@ int main( int argc, char ** argv ) { std::cout << ( float )( scanStats.physMemKB * 1000 ) / instances << " bytes per instance)" << std::endl << std::endl; fileInfo( *mgr, 0 ); + //these are just common types countTypeInstances( *mgr, "CARTESIAN_POINT" ); countTypeInstances( *mgr, "POSITIVE_LENGTH_MEASURE" ); countTypeInstances( *mgr, "VERTEX_POINT" ); @@ -127,6 +166,7 @@ int main( int argc, char ** argv ) { // std::cout << "Total types: " << mgr->getNumTypes() << std::endl; instWithRef = printRefs( *mgr ); + printDeps( *mgr ); #ifndef NO_REGISTRY if( instWithRef ) { @@ -139,11 +179,13 @@ int main( int argc, char ** argv ) { instanceTypes_t::cvector * complexInsts = mgr->getInstances( "" ); if( complexInsts && complexInsts->size() > 0 ) { - std::cout << "loading lazy instance #" << complexInsts->at( 0 ) << "." << std::endl; + std::cout << "loading complex instance #" << complexInsts->at( 0 ) << "." << std::endl; STEPcomplex * c = dynamic_cast( mgr->loadInstance( complexInsts->at( 0 ) ) ); - dumpComplexInst( c, 0 ); + dumpComplexInst( c ); std::cout << "Number of instances loaded now: " << mgr->loadedInstanceCount() << std::endl; } +#else + (void) instWithRef; // unused #endif //NO_REGISTRY stats.out(); @@ -151,3 +193,4 @@ int main( int argc, char ** argv ) { delete mgr; //stats will print from its destructor } + diff --git a/src/cllazyfile/p21HeaderSectionReader.cc b/src/cllazyfile/p21HeaderSectionReader.cc index 9bbd8d783..037604fc4 100644 --- a/src/cllazyfile/p21HeaderSectionReader.cc +++ b/src/cllazyfile/p21HeaderSectionReader.cc @@ -1,11 +1,11 @@ #include #include -#include "p21HeaderSectionReader.h" -#include "headerSectionReader.h" -#include "sectionReader.h" -#include "lazyInstMgr.h" -#include "judyL2Array.h" +#include "cllazyfile/p21HeaderSectionReader.h" +#include "cllazyfile/headerSectionReader.h" +#include "cllazyfile/sectionReader.h" +#include "cllazyfile/lazyInstMgr.h" +#include "cllazyfile/judyL2Array.h" void p21HeaderSectionReader::findSectionStart() { @@ -33,6 +33,7 @@ const namedLazyInstance p21HeaderSectionReader::nextInstance() { namedLazyInstance i; static instanceID nextFreeInstance = 4; // 1-3 are reserved per 10303-21 + i.refs = 0; i.loc.begin = _file.tellg(); i.loc.section = _sectionID; skipWS(); @@ -54,11 +55,12 @@ const namedLazyInstance p21HeaderSectionReader::nextInstance() { assert( strlen( i.name ) > 0 ); std::streampos end = seekInstanceEnd( 0 ); //no references in file header - if( ( end == -1 ) || ( end >= _sectionEnd ) ) { + if( ( (signed long int)end == -1 ) || ( end >= _sectionEnd ) ) { //invalid instance, so clear everything i.loc.begin = -1; i.name = 0; } } return i; -} \ No newline at end of file +} + diff --git a/src/base/sc_benchmark.cc b/src/cllazyfile/sc_benchmark.cc similarity index 90% rename from src/base/sc_benchmark.cc rename to src/cllazyfile/sc_benchmark.cc index abd6d21eb..2f00cd5a4 100644 --- a/src/base/sc_benchmark.cc +++ b/src/cllazyfile/sc_benchmark.cc @@ -1,10 +1,9 @@ /// \file sc_benchmark.cc memory info, timers, etc for benchmarking -#include "sc_benchmark.h" -#include "sc_memmgr.h" +#include "./sc_benchmark.h" -#ifdef __WIN32__ -#include +#ifdef _WIN32 +#include #include #else #include @@ -12,11 +11,13 @@ #include #endif +#include #include #include #include #include #include +#include /// mem values in kb, times in ms (granularity may be higher than 1ms) benchVals getMemAndTime( ) { @@ -47,11 +48,12 @@ benchVals getMemAndTime( ) { vals.sysMilliseconds = ( stime * 1000 ) / sysconf( _SC_CLK_TCK ); #elif defined(__APPLE__) // http://stackoverflow.com/a/1911863/382458 -#elif defined(__WIN32__) +#elif defined(_WIN32) // http://stackoverflow.com/a/282220/382458 and http://stackoverflow.com/a/64166/382458 PROCESS_MEMORY_COUNTERS MemoryCntrs; FILETIME CreationTime, ExitTime, KernelTime, UserTime; long page_size_kb = 1024; + ULARGE_INTEGER kTime, uTime; if( GetProcessMemoryInfo( GetCurrentProcess(), &MemoryCntrs, sizeof( MemoryCntrs ) ) ) { vals.physMemKB = MemoryCntrs.PeakWorkingSetSize / page_size_kb; @@ -62,8 +64,11 @@ benchVals getMemAndTime( ) { } if( GetProcessTimes( GetCurrentProcess(), &CreationTime, &ExitTime, &KernelTime, &UserTime ) ) { - vals.userMilliseconds = ( long )( ( ( ULARGE_INTEGER * ) &UserTime )->QuadPart / 100000L ); - vals.sysMilliseconds = ( long )( ( ( ULARGE_INTEGER * ) &KernelTime )->QuadPart / 100000L ); + assert( sizeof( FILETIME ) == sizeof( ULARGE_INTEGER ) ); + memcpy( &kTime, &KernelTime, sizeof( FILETIME ) ); + memcpy( &uTime, &UserTime, sizeof( FILETIME ) ); + vals.userMilliseconds = ( long )( uTime.QuadPart / 100000L ); + vals.sysMilliseconds = ( long )( kTime.QuadPart / 100000L ); } else { vals.userMilliseconds = 0; vals.sysMilliseconds = 0; diff --git a/src/base/sc_benchmark.h b/src/cllazyfile/sc_benchmark.h similarity index 90% rename from src/base/sc_benchmark.h rename to src/cllazyfile/sc_benchmark.h index e886f12b0..5b77317c4 100644 --- a/src/base/sc_benchmark.h +++ b/src/cllazyfile/sc_benchmark.h @@ -2,13 +2,11 @@ #define SC_BENCHMARK_H /// \file sc_benchmark.h memory info, timers, etc for benchmarking -#include "sc_export.h" - #ifdef __cplusplus #include +#include #include -#include "sc_memmgr.h" extern "C" { #endif @@ -22,7 +20,7 @@ extern "C" { * * not yet implemented for OSX or Windows. */ - SC_BASE_EXPORT benchVals getMemAndTime( ); + benchVals getMemAndTime( ); #ifdef __cplusplus } @@ -37,11 +35,19 @@ extern "C" { * * depends on getMemAndTime() above - may not work on all platforms. */ -class SC_BASE_EXPORT benchmark { + +class benchmark { protected: benchVals initialVals, laterVals; +#ifdef _MSC_VER +#pragma warning( push ) +#pragma warning( disable: 4251 ) +#endif std::ostream & ostr; std::string descr; +#ifdef _MSC_VER +#pragma warning( pop ) +#endif bool debug, stopped; public: benchmark( std::string description = "", bool debugMessages = true, std::ostream & o_stream = std::cout ); diff --git a/src/cllazyfile/sectionReader.cc b/src/cllazyfile/sectionReader.cc index b78915f8c..bfa8a2a12 100644 --- a/src/cllazyfile/sectionReader.cc +++ b/src/cllazyfile/sectionReader.cc @@ -5,31 +5,40 @@ #include #include #include +#include -#include "Registry.h" -#include "sdaiApplication_instance.h" -#include "read_func.h" -#include "SdaiSchemaInit.h" -#include "STEPcomplex.h" +#ifdef _WIN32 +# define strtoull _strtoui64 +# define ULLONG_MAX _UI64_MAX +#endif -#include "sectionReader.h" -#include "lazyFileReader.h" -#include "lazyInstMgr.h" -#include "lazyTypes.h" -#include "instMgrHelper.h" +#include "clstepcore/Registry.h" +#include "clstepcore/sdaiApplication_instance.h" +#include "clstepcore/read_func.h" +#include "cleditor/SdaiSchemaInit.h" +#include "clstepcore/STEPcomplex.h" + +#include "cllazyfile/sectionReader.h" +#include "cllazyfile/lazyFileReader.h" +#include "cllazyfile/lazyInstMgr.h" +#include "cllazyfile/lazyTypes.h" #include "current_function.hpp" sectionReader::sectionReader( lazyFileReader * parent, std::ifstream & file, std::streampos start, sectionID sid ): _lazyFile( parent ), _file( file ), _sectionStart( start ), _sectionID( sid ) { _fileID = _lazyFile->ID(); + _error = new ErrorDescriptor(); } +sectionReader::~sectionReader() { + delete _error; +} std::streampos sectionReader::findNormalString( const std::string & str, bool semicolon ) { std::streampos found = -1, startPos = _file.tellg(), nextTry = startPos; int i = 0, l = str.length(); - char c; + int c; //i is reset every time a character doesn't match; if i == l, this means that we've found the entire string while( i < l || semicolon ) { @@ -46,7 +55,7 @@ std::streampos sectionReader::findNormalString( const std::string & str, bool se } if( c == '\'' ) { //push past string - _file.unget(); + _file.seekg( _file.tellg() - std::streampos(1) ); GetLiteralStr( _file, _lazyFile->getInstMgr()->getErrorDesc() ); } if( ( c == '/' ) && ( _file.peek() == '*' ) ) { @@ -80,10 +89,11 @@ std::streampos sectionReader::findNormalString( const std::string & str, bool se //NOTE different behavior than const char * GetKeyword( istream & in, const char * delims, ErrorDescriptor & err ) in read_func.cc +// returns pointer to the contents of a static std::string const char * sectionReader::getDelimitedKeyword( const char * delimiters ) { static std::string str; - char c; - str.assign( 0, 0 ); //clear() frees the memory + int c; + str.clear(); str.reserve( 100 ); skipWS(); while( c = _file.get(), _file.good() ) { @@ -112,7 +122,7 @@ const char * sectionReader::getDelimitedKeyword( const char * delimiters ) { /// be the opening parenthesis; otherwise, it is likely to fail. ///NOTE *must* check return value! std::streampos sectionReader::seekInstanceEnd( instanceRefs ** refs ) { - char c; + int c; int parenDepth = 0; while( c = _file.get(), _file.good() ) { switch( c ) { @@ -127,7 +137,7 @@ std::streampos sectionReader::seekInstanceEnd( instanceRefs ** refs ) { } break; case '\'': - _file.unget(); + _file.seekg( _file.tellg() - std::streampos(1) ); GetLiteralStr( _file, _lazyFile->getInstMgr()->getErrorDesc() ); break; case '=': @@ -153,7 +163,7 @@ std::streampos sectionReader::seekInstanceEnd( instanceRefs ** refs ) { if( _file.get() == ';' ) { return _file.tellg(); } else { - _file.unget(); + _file.seekg( _file.tellg() - std::streampos(1) ); } } default: @@ -174,9 +184,8 @@ void sectionReader::locateAllInstances() { } instanceID sectionReader::readInstanceNumber() { - std::streampos start, end; - char c; - int digits = 0; + int c; + size_t digits = 0; instanceID id = 0; //find instance number ("# nnnn ="), where ' ' is any whitespace found by isspace() @@ -185,7 +194,7 @@ instanceID sectionReader::readInstanceNumber() { if( ( c == '/' ) && ( _file.peek() == '*' ) ) { findNormalString( "*/" ); } else { - _file.unget(); + _file.seekg( _file.tellg() - std::streampos(1) ); } skipWS(); c = _file.get(); @@ -193,35 +202,67 @@ instanceID sectionReader::readInstanceNumber() { return 0; } skipWS(); - start = _file.tellg(); + + // The largest instance ID yet supported is the maximum value of unsigned long long int + assert( std::numeric_limits::max() <= std::numeric_limits::max() ); + + size_t instanceIDLength = std::numeric_limits::digits10 + 1; + char * buffer = new char[ instanceIDLength + 1 ]; // +1 for the terminating character + + std::stringstream errorMsg; + do { c = _file.get(); if( isdigit( c ) ) { + buffer[ digits ] = c; //copy the character into the buffer digits++; + } else { - _file.unget(); + _file.seekg( _file.tellg() - std::streampos(1) ); break; } + + if( digits > instanceIDLength ) { + errorMsg << "A very large instance ID of string length greater then " << instanceIDLength << " found. Skipping data section " << _sectionID << "."; + + _error->GreaterSeverity( SEVERITY_INPUT_ERROR ); + _error->UserMsg( "A very large instance ID encountered" ); + _error->DetailMsg( errorMsg.str() ); + + delete[] buffer; + return 0; + } + } while( _file.good() ); + buffer[ digits ] = '\0'; //Append the terminating character skipWS(); if( _file.good() && ( digits > 0 ) && ( _file.get() == '=' ) ) { - end = _file.tellg(); - _file.seekg( start ); - _file >> id; - _file.seekg( end ); + id = strtoull( buffer, NULL, 10); + if( id == std::numeric_limits::max() ) { + //Handling those cases where although the number of digits is equal, but the id value is greater then equal to the maximum allowed value. + errorMsg << "A very large instance ID caused an overflow. Skipping data section " << _sectionID << "."; + + _error->GreaterSeverity( SEVERITY_INPUT_ERROR ); + _error->UserMsg( "A very large instance ID encountered" ); + _error->DetailMsg( errorMsg.str() ); + } + assert( id > 0 ); } + delete [] buffer; return id; } -//TODO: most of the rest of readdata1, all of readdata2 +/** load an instance and return a pointer to it. + * side effect: recursively loads any instances the specified instance depends upon + */ SDAI_Application_instance * sectionReader::getRealInstance( const Registry * reg, long int begin, instanceID instance, const std::string & typeName, const std::string & schName, bool header ) { - char c; + int c; const char * tName = 0, * sName = 0; //these are necessary since typeName and schName are const std::string comment; - Severity sev; + Severity sev = SEVERITY_NULL; SDAI_Application_instance * inst = 0; tName = typeName.c_str(); @@ -269,28 +310,29 @@ SDAI_Application_instance * sectionReader::getRealInstance( const Registry * reg inst = reg->ObjCreate( tName, sName ); break; } - - if( inst != & NilSTEPentity ) { + if( !isNilSTEPentity( inst ) ) { if( !comment.empty() ) { inst->AddP21Comment( comment ); } assert( inst->eDesc ); _file.seekg( begin ); findNormalString( "(" ); - _file.unget(); - //TODO do something with 'sev' + _file.seekg( _file.tellg() - std::streampos(1) ); sev = inst->STEPread( instance, 0, _lazyFile->getInstMgr()->getAdapter(), _file, sName, true, false ); + //TODO do something with 'sev' + inst->InitIAttrs(); } return inst; } -STEPcomplex * sectionReader::CreateSubSuperInstance( const Registry * reg, instanceID fileid, Severity & sev ) { +STEPcomplex * sectionReader::CreateSubSuperInstance( const Registry * reg, instanceID fileid, Severity & ) { std::string buf; ErrorDescriptor err; std::vector typeNames; _file.get(); //move past the first '(' + skipWS(); while( _file.good() && ( _file.peek() != ')' ) ) { - typeNames.push_back( new std::string( getDelimitedKeyword( ";( /\\" ) ) ); + typeNames.push_back( new std::string( getDelimitedKeyword( ";( /\\\n" ) ) ); if( typeNames.back()->empty() ) { delete typeNames.back(); typeNames.pop_back(); @@ -312,5 +354,9 @@ STEPcomplex * sectionReader::CreateSubSuperInstance( const Registry * reg, insta names[ i ] = typeNames[i]->c_str(); } //TODO still need the schema name - return new STEPcomplex( ( const_cast( reg ) ), ( const char ** ) names, ( int ) fileid /*, schnm*/ ); + STEPcomplex * sc = new STEPcomplex( ( const_cast( reg ) ), names, ( int ) fileid /*, schnm*/ ); + delete[] names; + //TODO also delete contents of typeNames! + return sc; } + diff --git a/src/clprobe-ui/dpmenuitem.cc b/src/clprobe-ui/dpmenuitem.cc deleted file mode 100644 index 7a050bee4..000000000 --- a/src/clprobe-ui/dpmenuitem.cc +++ /dev/null @@ -1,7 +0,0 @@ - -#include - -void -DPMenuItem::Do() { - ( owner->*func )(); -} diff --git a/src/clprobe-ui/dpmenuitem.h b/src/clprobe-ui/dpmenuitem.h deleted file mode 100644 index f3803adb2..000000000 --- a/src/clprobe-ui/dpmenuitem.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef dpmenuitem_h -#define dpmenuitem_h - -/* -* NIST Data Probe Class Library -* clprobe-ui/dpmenuitem.h -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: dpmenuitem.h,v 3.0.1.2 1997/11/05 23:01:04 sauderd DP3.1 $ */ - -/* - * DPMenuItem - a MyMenuItem that when chosen calls the function - * pointed to by func which you must define and - * pass to the constructor. - */ - -#include -#include - -#include - -typedef void ( Probe::*DPMenuFunc )(); - -struct DPMenuInfo { - const char * lbl; - DPMenuFunc func; -}; - -class DPMenuItem : public MyMenuItem { - public: - DPMenuItem( const char * lbl, DPMenuFunc funcPtr, Probe * dp ); - - virtual void Do(); - private: - Probe * owner; - DPMenuFunc func; -}; - -inline DPMenuItem::DPMenuItem( const char * lbl, DPMenuFunc funcPtr, - Probe * dp ) - : MyMenuItem( new Message( lbl, Left, 2, hfil, 0 ) ) -// Probe *dp) : MyMenuItem((Interactor*) nil) -{ -// Insert(new Message(lbl, Center, 2, 3)); -// Insert(new Message(lbl, Center, 2, hfil, 0)); - func = funcPtr; - owner = dp; -} - -#include - -#endif diff --git a/src/clprobe-ui/headerdisp.cc b/src/clprobe-ui/headerdisp.cc deleted file mode 100644 index 39c8e47a5..000000000 --- a/src/clprobe-ui/headerdisp.cc +++ /dev/null @@ -1,196 +0,0 @@ - -/* -* NIST Data Probe Class Library -* clprobe-ui/headerdisp.cc -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: headerdisp.cc,v 3.0.1.1 1997/11/05 23:01:05 sauderd DP3.1 $ */ - -#include -#include -#include - -/* -// in order to include xcanvas.h you will need to have a -I option -// for /usr/local/include because from /usr/local/include/ -// gets included from InterViews/include/IV-X11/Xlib.h -#include -#include -// xcanvas.h and window.h were included so I could write the -// function IsMapped() -*/ -#include -#include - -#define iv2_6_compatible - -#include -#include -#include -#include - -#include // "~pdevel/src/probe-ui/headerdisp.h" -#include // "./probe.h" -#include -#include // "~pdevel/src/clivfasd/variousmessage.h" -#include - -#include - -const char carriageReturn = '\r'; - -static const char RingBell = '\007'; // G - -extern Probe * dp; - -#define HD_VSPACE (round(.08*inch)) -#define HD_HSPACE (round(.05*inch)) - -/////////////////////////////////////////////////////////////////////////////// - -HeaderDisplay::HeaderDisplay( InstMgr * him, Probe * probe, int pinBool ) { -// IVBUG // SetName("Data Probe Header Editor"); -// IVBUG // SetIconName("DP Header Editor"); - - headerIM = him; - dp = probe; - - CreateButtons( pinBool ); - -// static Frame *HeaderEditor = 0; - MgrNode * headerNode1, *headerNode2, *headerNode3; - STEPentity * headerEntity1, *headerEntity2, *headerEntity3; - -// headerIM needs to be removed if a file is read since this won't point at -// the right header entities (they are recreated). - - int instCount = headerIM->InstanceCount(); - if( instCount ) { - headerNode1 = headerIM -> GetMgrNode( 0 ); - headerNode2 = headerIM -> GetMgrNode( 1 ); - headerNode3 = headerIM -> GetMgrNode( 2 ); - } else { - headerEntity1 = new p21DIS_File_description; - headerEntity2 = new p21DIS_File_name; - headerEntity3 = new p21DIS_File_schema; - headerNode1 = headerIM->Append( headerEntity1, newSE ); - headerNode2 = headerIM->Append( headerEntity2, newSE ); - headerNode3 = headerIM->Append( headerEntity3, newSE ); - - } - hee1 = new HeaderEntityEditor( headerNode1, headerIM, 0 ); - hee2 = new HeaderEntityEditor( headerNode2, headerIM, 0 ); - hee3 = new HeaderEntityEditor( headerNode3, headerIM, 0 ); - - VBox * HeaderEditorBox = new VBox( - hee1, - new HBorder( 2 ), - hee2, - new HBorder( 2 ), - hee3 - ); - Scene::Insert( - new VBox( - new VGlue( HD_VSPACE, HD_VSPACE, 0 ), - new HBox( - new HBox( - new HGlue( HD_HSPACE, HD_HSPACE, hfil ), - pinTogBut, - new HGlue( HD_HSPACE, HD_HSPACE, hfil ), - new BigBoldMessage( " Header Editor " ), - new HGlue( HD_HSPACE, HD_HSPACE, hfil ), - saveCompleteBut - ), - new HBox( - new HGlue( HD_HSPACE, HD_HSPACE, hfil ), - saveIncompleteBut, - new HGlue( HD_HSPACE, HD_HSPACE, hfil ), - cancelBut, - new HGlue( HD_HSPACE, HD_HSPACE, hfil ) - ) - ), - new VGlue( HD_VSPACE, HD_VSPACE, 0 ), - new HBorder( 2 ), - HeaderEditorBox - ) - ); -} - -HeaderDisplay::~HeaderDisplay() { - if( IsMapped() ) { - dp->RemoveHeaderEditor(); -// dp->Sync(); - dp->Flush(); - } -} - -void HeaderDisplay::CreateButtons( int pinBool ) { - buttonsButSt = new ButtonState( 0 ); - buttonsButSt->Attach( this ); - - if( pinBool ) { - pinTogButSt = new ButtonState( SEE_PIN ); - } else { - pinTogButSt = new ButtonState( SEE_NOT_PIN ); - } - pinTogButSt->Attach( this ); - pinTogBut = new PinCheckBox( "", pinTogButSt, - SEE_PIN, SEE_NOT_PIN ); - - saveCompleteBut = new MyPushButton( "save all", buttonsButSt, - SEE_SAVE_COMPLETE ); - saveIncompleteBut = new MyPushButton( "save all incomplete", buttonsButSt, - SEE_SAVE_INCOMPLETE ); - cancelBut = new MyPushButton( "cancel all", buttonsButSt, - SEE_CANCEL ); -} - -int HeaderDisplay::ExecuteCommand( int v ) { - hee1->PressButton( v ); - hee2->PressButton( v ); - hee3->PressButton( v ); - - int val; - pinTogButSt->GetValue( val ); - if( val == SEE_NOT_PIN ) { - dp->RemoveHeaderEditor(); - } - return v; -} - -void HeaderDisplay::Update() { - int v; - // don't need a SubordinateInfo object because the buttons set their - // ButtonState subject to a unique value that identifies one button. - - buttonsButSt->GetValue( v ); - if( v ) { - ExecuteCommand( v ); - } - buttonsButSt->SetValue( 0 ); -} - -// boolean i.e. true = 1 and false = 0 -boolean HeaderDisplay::IsMapped() { - return ( canvas != nil && canvas->status() == Canvas::mapped ); - /* - if(canvas) - { - // this doesn't work... seems to always return false DAS - int bool = canvas->window()->is_mapped(); - return bool; - // return canvas->rep()->window_->is_mapped(); - } - else - return false; - */ -} -/* DAVETMP -DAVETMP */ - -#include diff --git a/src/clprobe-ui/headerdisp.h b/src/clprobe-ui/headerdisp.h deleted file mode 100644 index f8f9af84d..000000000 --- a/src/clprobe-ui/headerdisp.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef headerdisp_h -#define headerdisp_h - -/* -* NIST Data Probe Class Library -* clprobe-ui/headerdisp.h -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: headerdisp.h,v 3.0.1.1 1997/11/05 23:01:05 sauderd DP3.1 $ */ - -#define iv2_6_compatible - -#include -#include -#include // ivfasd/mystrbrowser.h -#include -#include - -class Probe; -class HeaderEntityEditor; - -#include - -#include - -//#define HD_FORWARD_SEARCH '\023' -//#define HD_BACKWARD_SEARCH '\022' - -#define HD_MODIFY_ACTION 1 -#define HD_INFO_ACTION 2 - -class HeaderDisplay : public Frame { - public: - HeaderDisplay( InstMgr * him, Probe * probe, int pinBool = 1 ); - virtual ~HeaderDisplay(); - // overrule scene's virtual function to do nothing - void Insert( Interactor * ) { }; - - void Update(); - virtual int ExecuteCommand( int v ); - - InstMgr * HeaderIM() { - return headerIM; - } - void HeaderIM( InstMgr * him ) { - headerIM = him; - } - - boolean IsMapped(); - - private: - void CreateButtons( int pinBool ); - - protected: - - Probe * dp; - InstMgr * headerIM; - HeaderEntityEditor * hee1, *hee2, *hee3; - - ButtonState * buttonsButSt; // subject set by save & abort buttons - - MyPushButton * saveCompleteBut; // sets buttonsButSt - MyPushButton * saveIncompleteBut; // sets buttonsButSt - MyPushButton * cancelBut; // sets buttonsButSt - - ButtonState * pinTogButSt; // subject set by pinTogBut - PinCheckBox * pinTogBut; // toggle pin(stay mapped)/unmap with - // save, cancel, and delete buttons -}; - -#include - -#endif diff --git a/src/clprobe-ui/instcmdbufdisp.cc b/src/clprobe-ui/instcmdbufdisp.cc deleted file mode 100644 index e32012e63..000000000 --- a/src/clprobe-ui/instcmdbufdisp.cc +++ /dev/null @@ -1,103 +0,0 @@ - -/* -* NIST Data Probe Class Library -* clprobe-ui/instcmdbufdisp.cc -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: instcmdbufdisp.cc,v 3.0.1.1 1997/11/05 23:01:06 sauderd DP3.1 $ */ - -/* - * InstCmdBufDisp - an object that let's you manage a list. Meaning that you - * can mark an entry on the list for: - * 1) v(iew) or m(odify) - * 2) r(eplicate) or d(elete) - * 3) p(rint) - * 4) c(hoose) - * 5) h(ide) - * 6) s(ave complete) - * 7) i(save incomplete) - */ - -#include -#include -#include -#include - -#include // ivfasd/listmgrcore.h -#include // probe-ui/instcmdbufdisp.h -#include - -const int defaultCmdSize = 18; -lmCommand defaultCmds[defaultCmdSize] = { - lmCommand( 's', SAVE_COMPLETE_CMD_COL ), - lmCommand( 'S', SAVE_COMPLETE_CMD_COL ), - lmCommand( 'i', SAVE_INCOMPLETE_CMD_COL ), - lmCommand( 'I', SAVE_INCOMPLETE_CMD_COL ), - lmCommand( 'm', MODIFY_CMD_COL ), - lmCommand( 'M', MODIFY_CMD_COL ), - lmCommand( 'v', VIEW_CMD_COL ), - lmCommand( 'V', VIEW_CMD_COL ), - lmCommand( 'd', DELETE_CMD_COL ), - lmCommand( 'D', DELETE_CMD_COL ), - lmCommand( 'c', CLOSE_CMD_COL ), - lmCommand( 'C', CLOSE_CMD_COL ), - lmCommand( 'r', REPLICATE_CMD_COL ), - lmCommand( 'R', REPLICATE_CMD_COL ), - lmCommand( 'x', EXECUTE_CMD_COL ), - lmCommand( 'X', EXECUTE_CMD_COL ), - lmCommand( 'u', UNMARK_CMD_COL ), - lmCommand( 'U', UNMARK_CMD_COL ) -}; - -extern Probe * dp; - -InstCmdBufDisp::InstCmdBufDisp( ButtonState * bs, int Rows, int Cols, - const char * Done ) : - ListMgrCore( bs, Rows, Cols, defaultCmds, defaultCmdSize, Done ) { - Init(); -} -////////////////////////////////////////// - -/* -InstCmdBufDisp::InstCmdBufDisp(const char* name, ButtonState* bs, - int rows, int cols, const char* done) : - ListMgrCore(bs, rows, cols, defaultCmds, defaultCmdSize, done) -{ - Init(); -} -*/ -////////////////////////////////////////// - -void InstCmdBufDisp::Init() { - SetClassName( "InstCmdBufDisp" ); -} - -void InstCmdBufDisp::Choose() { - printf( "choose command\n" ); -} - -void InstCmdBufDisp::AdvanceSelection( int index ) { - Unselect( index ); - index = max( 0, min( ++index, strcount - 1 ) ); - Select( index ); - ScrollTo( index ); -} - - -void InstCmdBufDisp::DoCommand( lmCommand lm, int index ) { -//printf("InstCmdBufDisp doCommand() - char '%c', col: %d, index: %d\n", -// lm.cmdChar, lm.cmdCol, index); - - char ch = tolower( lm.cmdChar ); - if( index >= 0 ) { - dp->UpdateCmdList( index, ch, lm.cmdCol ); - if( ch != 'x' && ch != 'X' ) { - AdvanceSelection( index ); - } - } -} diff --git a/src/clprobe-ui/instcmdbufdisp.h b/src/clprobe-ui/instcmdbufdisp.h deleted file mode 100644 index c26eea7a1..000000000 --- a/src/clprobe-ui/instcmdbufdisp.h +++ /dev/null @@ -1,66 +0,0 @@ - -/* -* NIST Data Probe Class Library -* clprobe-ui/instcmdbufdisp.h -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: instcmdbufdisp.h,v 3.0.1.1 1997/11/05 23:01:06 sauderd DP3.1 $ */ - -/* - * InstCmdBufDisp - an object that let's you manage a list. Meaning that you - * can mark an entry on the list for: - * 1) v(iew) or m(odify) - * 2) r(eplicate) or d(elete) - * 3) p(rint) - * 4) c(hoose) - * 5) h(ide) - * 6) s(ave complete) - * 7) i(save incomplete) - */ - -#ifndef instcmdbufdisp_h -#define instcmdbufdisp_h - -#include - -#include -#include -#include -#include - -#include - -/////////////////////////////////////////////////////////////////////////////// -// -// InstCmdBufDisp class -// -/////////////////////////////////////////////////////////////////////////////// - -class InstCmdBufDisp : public ListMgrCore { - public: - InstCmdBufDisp( ButtonState * bs, int Rows, int Cols, - const char * Done = mySBDone ); - ~InstCmdBufDisp() {}; - - void AdvanceSelection( int index ); - virtual void DoCommand( lmCommand lm, int index ); - virtual void Choose(); - protected: - - private: - void Init(); -}; - -/////////////////////////////////////////////////////////////////////////////// -// -// InstCmdBufDisp inline member functions -// -/////////////////////////////////////////////////////////////////////////////// - -////////////////////////////////////////// -#endif diff --git a/src/clprobe-ui/probe.cc b/src/clprobe-ui/probe.cc deleted file mode 100644 index 48657bd8d..000000000 --- a/src/clprobe-ui/probe.cc +++ /dev/null @@ -1,3081 +0,0 @@ - -/* -* NIST Data Probe Class Library -* clprobe-ui/probe.cc -* February, 1994 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: probe.cc,v 3.0.1.6 1997/11/05 23:01:07 sauderd DP3.2 $ */ - - - -#define EXCHANGE_FILE_DIR "~pdevel/src/probe/data" -#define WORKING_FILE_DIR "~pdevel/src/probe/data" -#define MAX_PATH_LEN 80 -#define MAX_PATH_AND_FILE_LEN 120 -#define vspace .25 -#define hspace .5 -#define VERSION "Data Probe Version 3.2" - -#include -#include -#include -#include -#include - -//#include "interactor.h" -//#include "canvas.h" -//#include "event.h" - -/* -// in order to include xcanvas.h you will need to have a -I option -// for /usr/local/include because from /usr/local/include/ -// gets included from InterViews/include/IV-X11/Xlib.h -#include -#include -// xcanvas.h and window.h were included so I could write the -// function IsMapped() -*/ - -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#undef Action - -#include -#include -#include - -PulldownMenu * MakePulldown2( const char * name, struct DPMenuInfo * item ); - -// declared and defined in libInterViews/cursor.c -// function that creates it is called when World is created -extern Cursor * hourglass; - -extern void SchemaInit( Registry & ); - -extern Probe * dp; -extern Interactor * AddScroller( Interactor * grid ); -extern World * world; - -int Probe::autoSaveCount = 0; -char * Probe::autoSaveFile = 0; // This is the Auto Save File. - -/////////////////////////////////////////////////////////////////////////////// -// debug_level >= 2 => tells when a command is chosen -// debug_level >= 3 => prints values within functions: -// e.g. 1) entity type list when read -// 2) entity instance list when read -/////////////////////////////////////////////////////////////////////////////// -static int debug_level = 1; -// if debug_level is greater than this number then -// function names get printed out when executed -static int PrintFunctionTrace = 2; -// if debug_level is greater than this number then -// values within functions get printed out -static int PrintValues = 3; -static const char RingBell = '\007'; // G - -static DPMenuInfo quit_menu[] = { -// { "Refresh", &Probe::Refresh}, - { "Quit ", &Probe::Quit}, - { 0 } -}; - -static DPMenuInfo schema_mgmt_menu[] = { - { "List of Entities", &Probe::ListEntityTypesCmd}, - { "Describe Entity ", &Probe::DescribeEntityCmd}, -// { "Select Schema ", &Probe::SelectSchemaCmd}, - { 0 } -}; - -static DPMenuInfo instance_mgmt_menu[] = { - { "Create ", Probe::CreateInstanceCmd}, - { "Modify ", Probe::ModifyInstanceCmd}, - { "View ", Probe::ViewInstanceCmd}, - { "Close ", Probe::CloseInstanceCmd}, - { "Save Complete ", Probe::SaveComplInstanceCmd}, - { "Save Incomplete ", Probe::SaveIncomplInstanceCmd}, - { "Replicate ", Probe::ReplicateInstanceCmd}, - { "Unmark ", Probe::UnmarkInstanceCmd}, - { "Delete ", Probe::DeleteInstanceCmd}, -// { "Print ", Probe::PrintInstanceCmd}, - { "Select from List ", Probe::SelectInstanceCmd}, -// { "Incomplete Instance List", Probe::IncompleteInstanceCmd}, - { 0 } -}; - -static DPMenuInfo file_mgmt_menu[] = { - { "Read Exchange File ", Probe::ReadExchangeFileCmd }, - { "read Exchange File (pre-TC) ", Probe::ReadExchangeFileCmdPreTC }, - { "Append From Exchange File", Probe::AppendExchangeFileCmd }, - { "Write Exchange File ", Probe::WriteExchangeFileCmd }, - { " ", Probe::DoNothing }, - { "Read Working File ", Probe::ReadWorkingFileCmd }, - { "Read Working File (pre-TC) ", Probe::ReadWorkingFileCmdPreTC }, - { "Append From Working File ", Probe::AppendWorkingFileCmd }, - { "Write Working File ", Probe::WriteWorkingFileCmd }, - { " ", Probe::DoNothing }, - { "Choose Backup File", &Probe::ChooseBackupFileCmd}, - { "Write Backup File", &Probe::WriteBackupFileCmd}, - { " ", Probe::DoNothing }, - { "Verify Instances ", Probe::VerifyInstsCmd }, - { "Remove Deleted Instances ", Probe::RemoveDelInstsCmd }, - { "Clear Entity Instance List ", Probe::ClearInstanceListCmd }, - { " ", Probe::DoNothing }, - { "Edit Header Instances ", Probe::EditHeaderInstancesCmd }, - { 0 } -}; - -void Probe::AssignFileId( STEPentity * se ) { - int fId = instMgr->MaxFileId() + 1; - se->STEPfile_id = ( fId > 0 ) ? fId : 1; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// Constructors, Destructors, Init and Builder functions, and Run. -// -/////////////////////////////////////////////////////////////////////////////// - -void Probe::Run() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::Run()\n"; - } - Event e; - static int saveCount = 0; - - do { - Read( e ); - if( e.leftmouse ) { - cout << "left\n"; - } else if( e.middlemouse ) { - cout << "middle\n"; - } else if( e.rightmouse ) { - cout << "right\n"; - } - switch( e.eventType ) { - case MotionEvent: - cout << "Motion Event\n\n"; - break; - case DownEvent: - cout << "Down Event\n\n"; - break; - case UpEvent: - cout << "Up Event\n\n"; - break; - case KeyEvent: - cout << "Key Event\n\n"; - break; - case EnterEvent: - cout << "Enter Event\n\n"; - break; - case LeaveEvent: - cout << "Leave Event\n\n"; - break; - case FocusInEvent: - cout << "Focus In Event\n\n"; - break; - case FocusOutEvent: - cout << "Focus Out Event\n\n"; - break; - default: - cout << "? Event\n\n"; - break; - } - e.target->Handle( e ); - if( saveCount++ >= autoSaveCount ) { - AutoSave(); - saveCount = 0; - } - } while( e.target != nil ); -} -////////////////////////////////// - -int Probe::ChooseAutoSaveFile() { - static Interactor * root; - - static MyFileChooser * writeChooser; - -// World *worldPtr = GetWorld(); - World * worldPtr = ::world; - - const char * restrict = worldPtr->GetAttribute( "Restrict" ); - - if( !writeChooser ) { - char * dir = 0; - const int maxPath = MAX_PATH_LEN + 2; - char dirAlt[maxPath]; - - if( getcwd( dirAlt, maxPath ) ) { - dir = dirAlt; - } else { - dir = "~"; - } - int rows = 10, cols = 24; - writeChooser = new MyFileChooser( - "Please select a BACKUP file: ", - " ", - ( const char * )dir, rows, cols, " Select " ); -//IVBUG writeChooser->SetName("Write Backup File Selector"); -//IVBUG writeChooser->SetIconName("WBFS"); - root = InsertInteractor( writeChooser, Center ); - if( restrict[0] == '1' ) { - writeChooser->Restrict( 1 ); - } - } else { - root = InsertInteractor( writeChooser, Center ); -// writeChooser->Map(root, true); - } - writeChooser->UpdateDir(); - writeChooser->SelectFile(); - if( writeChooser->Accept() ) { - autoSaveFile = ( char * )writeChooser->Choice(); -// writeChooser->Unmap(root); // RemoveInteractor(writeChooser); - RemoveInteractor( writeChooser ); - return 1; - } - RemoveInteractor( writeChooser ); -// writeChooser->Unmap(root); // RemoveInteractor(writeChooser); - return 0; -} - -int Probe::AutoSave() { - cout << "auto saving\n"; -// ostream* out = new ostream(autoSaveFile, io_writeonly, -// a_create); - ofstream * out = new ofstream( autoSaveFile ); -// if(out->is_open() && out->writable()) - if( ( !( *out ) ) == 0 ) { - Severity sev = fileMgr->WriteWorkingFile( *out ); - if( sev < SEVERITY_NULL ) { - ErrorMsg( fileMgr->Error().UserMsg() ); - cerr << fileMgr->Error().DetailMsg(); - fileMgr->Error().ClearErrorMsg(); - } else { - char asStr[BUFSIZ]; - asStr[0] = '\0'; - sprintf( asStr, - "Successfully wrote backup file to: %s", autoSaveFile ); - ErrorMsg( asStr ); - } - delete out; - return 1; - } else { - delete out; - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - char asStr[BUFSIZ]; - asStr[0] = '\0'; - sprintf( asStr, "Backup file: %s could not be opened for writing.", - autoSaveFile ); - ErrorMsg( asStr ); - if( ChooseAutoSaveFile() ) { - return AutoSave(); - } else { - ErrorMsg( "Skipping Backup for now." ); - return 0; - } - - } -} -////////////////////////////////// - -Probe::Probe() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::Probe()\n"; - } - - readUsingTC = 1; // read using technical corrigendum - instMgr = new InstMgr(); - registry = new Registry( SchemaInit ); - fileMgr = new STEPfile( *registry, *instMgr ); - cmdMgr = new CmdMgr; - headerDisplay = 0; - -// World *worldPtr = GetWorld(); - World * worldPtr = ::world; - - const char * restrict = worldPtr->GetAttribute( "Restrict" ); - -// static char* dir = EXCHANGE_FILE_DIR; - char * dir = 0; - const int maxPath = MAX_PATH_LEN + 2; - char dirAlt[maxPath]; - - if( getcwd( dirAlt, maxPath ) ) { - dir = dirAlt; - } else { - dir = "~"; - } - int rows = 10, cols = 24; - fileChooser = new sclFileChooser( "Read Exchange File", - "Please select an exchange file: ", - ( const char * )dir, rows, cols, " Execute " ); -// Center, restrict); - if( restrict[0] == '1' ) { - fileChooser->Restrict( 1 ); - } -//IVBUG fileChooser->SetName(" File Chooser"); -//IVBUG fileChooser->SetIconName("FileChooser"); - - Init(); - - b = ProbeBody(); - Insert( b ); -} -////////////////////////////////// - -Probe::~Probe() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::~Probe()\n"; - } - - delete instMgr; - delete registry; - - delete entityInstanceList; - - delete entityTypeList; - - delete functionsMenuBar; - delete functionsMenu; - - delete schemaMgmtMenuBar; - delete schemaMgmtMenu; - - delete instanceMgmtMenuBar; - delete instanceMgmtMenu; - - delete fileMgmtMenuBar; - delete fileMgmtMenu; - - delete errorDisp; -} -////////////////////////////////// - -void Probe::InitMenus() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::InitMenus()\n"; - } - - functionsMenuBar = new MyMenuBar; - functionsMenu = MakePulldown( " Quit ", quit_menu ); - functionsMenuBar->Include( functionsMenu ); - - schemaMgmtMenuBar = new MyMenuBar; - schemaMgmtMenu = MakePulldown( " Schema Mgmt ", schema_mgmt_menu ); - schemaMgmtMenuBar->Include( schemaMgmtMenu ); - - instanceMgmtMenuBar = new MyMenuBar; - instanceMgmtMenu = - MakePulldown( " Instance Mgmt ", instance_mgmt_menu ); - instanceMgmtMenuBar->Include( instanceMgmtMenu ); - - fileMgmtMenuBar = new MyMenuBar; - fileMgmtMenu = MakePulldown( " File Management ", file_mgmt_menu ); -// fileMgmtMenuBar = new MenuBar; -// fileMgmtMenu = MakePulldown2(" File Management ", file_mgmt_menu); - - fileMgmtMenuBar->Include( fileMgmtMenu ); -} -////////////////////////////////// -extern const int defaultCmdSize; -extern lmCommand defaultCmds[]; - -void Probe::InitEntityInstanceList() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::InitEntityInstanceList()\n"; - } -// World *worldPtr = GetWorld(); - World * worldPtr = ::world; - - - defaultCmds[0] = lmCommand( 's', SAVE_COMPLETE_CMD_COL ); - defaultCmds[1] = lmCommand( 'S', SAVE_COMPLETE_CMD_COL ); - defaultCmds[2] = lmCommand( 'i', SAVE_INCOMPLETE_CMD_COL ); - defaultCmds[3] = lmCommand( 'I', SAVE_INCOMPLETE_CMD_COL ); - defaultCmds[4] = lmCommand( 'm', MODIFY_CMD_COL ); - defaultCmds[5] = lmCommand( 'M', MODIFY_CMD_COL ); - defaultCmds[6] = lmCommand( 'v', VIEW_CMD_COL ); - defaultCmds[7] = lmCommand( 'V', VIEW_CMD_COL ); - defaultCmds[8] = lmCommand( 'd', DELETE_CMD_COL ); - defaultCmds[9] = lmCommand( 'D', DELETE_CMD_COL ); - defaultCmds[10] = lmCommand( 'c', CLOSE_CMD_COL ); - defaultCmds[11] = lmCommand( 'C', CLOSE_CMD_COL ); - defaultCmds[12] = lmCommand( 'r', REPLICATE_CMD_COL ); - defaultCmds[13] = lmCommand( 'R', REPLICATE_CMD_COL ); - defaultCmds[14] = lmCommand( 'x', EXECUTE_CMD_COL ); - defaultCmds[15] = lmCommand( 'X', EXECUTE_CMD_COL ); - defaultCmds[16] = lmCommand( 'u', UNMARK_CMD_COL ); - defaultCmds[17] = lmCommand( 'U', UNMARK_CMD_COL ); - - entityInstanceList = new seInstListDisplay(); -// entityInstanceList->SetInitSize(); - worldPtr->InsertToplevel( entityInstanceList, this, 0, 0, - 6 /* 6 is BottomLeft */ ); -// entityInstanceList->SendResize(0, 19, 623, 802); - - const char * initEfile = worldPtr->GetAttribute( "ExchangeFile" ); - const char * initWfile = worldPtr->GetAttribute( "WorkFile" ); - if( initWfile && initEfile ) { - cerr << "** Error ** Please supply only one initial file."; - fflush( stderr ); - exit( -1 ); - } else if( initWfile ) { - Severity sev = fileMgr -> ReadWorkingFile( initWfile ); - if( sev < SEVERITY_NULL ) { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( fileMgr->Error().UserMsg() ); - cerr << fileMgr->Error().DetailMsg(); - fileMgr->Error().ClearErrorMsg(); - } - ListEntityInstances(); - } else if( initEfile ) { - Severity sev = fileMgr -> ReadExchangeFile( initEfile ); - if( sev < SEVERITY_NULL ) { - // read NOT successful - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( fileMgr->Error().UserMsg() ); - cerr << fileMgr->Error().DetailMsg(); - fileMgr->Error().ClearErrorMsg(); - } - ListEntityInstances(); - } -} -////////////////////////////////// - -void Probe::InitEntityTypeList() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::InitEntityTypeList()\n"; - } -// World *worldPtr = GetWorld(); - World * worldPtr = ::world; - -// Coord l, b; - - entityTypeList = new seTypeListDisplay(); - - Shape * s = entityTypeList->GetShape(); -// worldPtr->Align(BottomRight, s->width, s->height, l, b); -// worldPtr->InsertToplevel(entityTypeList, this, l, b, BottomRight); - worldPtr->InsertToplevel( entityTypeList, this, ( int )( worldPtr->width() ), 0, - 8 /* 8 is BottomRight */ ); -} -////////////////////////////////// - -void Probe::Init() { -// World *worldPtr = GetWorld(); - World * worldPtr = ::world; - - - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::Init()\n"; - } -//IVBUG SetName("Data Probe"); -//IVBUG SetIconName("Data Probe"); - - errorDisp = new ErrorDisplay( "Messages:", "Clear" ); - - const char * freqStr = worldPtr->GetAttribute( "AutoSaveFreq" ); - if( sscanf( ( char * )freqStr, "%d", &autoSaveCount ) < 1 ) { - cout << "error no initialized number for saving.\n"; - autoSaveCount = 30; - } - autoSaveFile = ( char * )worldPtr->GetAttribute( "AutoSaveFile" ); - - static char auto_save_file[MAX_PATH_AND_FILE_LEN + 2]; - auto_save_file[0] = '\0'; - if( !autoSaveFile ) { - char * saveFileDir; - const int maxPath = MAX_PATH_LEN + 2; - if( getcwd( auto_save_file, maxPath ) ) { - strcat( auto_save_file, "/" ); - } else { - saveFileDir = ( char * )worldPtr->GetAttribute( "AutoSaveFileDir" ); - DirObj saveDir( saveFileDir ); - strcpy( auto_save_file, saveDir.Normalize( saveFileDir ) ); - } - char * saveFileName = ( char * )worldPtr->GetAttribute( "AutoSaveFileName" ); - strcat( auto_save_file, saveFileName ); - autoSaveFile = auto_save_file; - } - - cout << VERSION << endl; - - InitMenus(); - InitEntityInstanceList(); - InitEntityTypeList(); -} -////////////////////////////////// -PulldownMenu * MakePulldown2( const char * name, struct DPMenuInfo * item ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::MakePulldown()\n"; - } - Message * m = new Message( name, Center ); - -// MyPulldownMenu* menu = new MyPulldownMenu(m); - PulldownMenu * menu = new PulldownMenu( m ); - - for( DPMenuInfo * i = item; i->lbl != 0; i++ ) { -// menu->Include(new DPMenuItem(i->lbl, i->func, this)); - menu->Include( new MenuItem( ( const char * )i->lbl ) ); - } - return menu; -} - -MyPulldownMenu * Probe::MakePulldown( const char * name, struct DPMenuInfo * item ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::MakePulldown()\n"; - } - Message * m = new Message( name, Center ); - - MyPulldownMenu * menu = new MyPulldownMenu( m ); - - for( DPMenuInfo * i = item; i->lbl != 0; i++ ) { - menu->Include( new DPMenuItem( i->lbl, i->func, this ) ); - } - return menu; -} -////////////////////////////////// - -Interactor * Probe::SEEHelpBody() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::SEEHelpBody()\n"; - } - return new MarginFrame( - new VBox( - new HBox( - new HGlue, - new BoldMessage( - "Key Bindings & Button Codes for Step Entity Editor Windows:" ), - new HGlue - ), - new VGlue( round( .1 * inch ), round( .1 * inch ), 0 ), - new Message( - "Press a button or type control-x followed by the appropriate key below to execute a command." ), - new VGlue( round( .1 * inch ), round( .1 * inch ), 0 ), - new HBox( - new VBox( - new BoldMessage( "closes existing window" ), - new HBox( - new VBox( - new BoldMessage( "s" ), - new BoldMessage( "i" ), - new BoldMessage( "c" ), - new BoldMessage( "d" ) - ), - new VBox( - new Message( " - save complete" ), - new Message( " - save incomplete" ), - new Message( " - cancel edits" ), - new Message( " - delete STEP entity" ) - ) - ) - ), - new HGlue( round( .1 * inch ) ), - new VBox( - new BoldMessage( "opens a new window" ), - new HBox( - new VBox( - new BoldMessage( "r" ), - new BoldMessage( "e" ), - new Message( " " ), - new BoldMessage( "t" ) - ), - new VBox( - new Message( " - replicate instance" ), - new Message( " - edit existing instance/" ), - new Message( " create and edit new instance" ), - new Message( " - describe STEP entity type" ) - ) - ) - ), - new HGlue( round( .1 * inch ) ), - new VBox( - new BoldMessage( "get value from list" ), - new HBox( - new VBox( - new BoldMessage( "m" ), - new BoldMessage( "l" ), - new Message( " " ), - new BoldMessage( "a" ) - ), - new VBox( - new Message( - " - select marked instance from instance list" ), - new Message( - " - pop up list of valid attribute values" ), - new Message( " " ), - new Message( " - describe attribute type" ) - ) - ) - ) - ) - ), 5 - ); -} - -/////////////////////////////////////////////////////////////////////////////// - -Interactor * Probe::ProbeBody() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::ProbeBody()\n"; - } - static char schemaName[BUFSIZ]; - int count = 0, length = 0; - const SchemaDescriptor * schemaDesc; - - registry -> ResetSchemas(); - - while( schemaDesc = registry -> NextSchema() ) { -// printf("found schema '%s'\n",schemaDesc->Name()); - if( debug_level >= PrintValues ) { - cout << schemaDesc->Name() << "\n"; - } - if( count ) { - strcat( schemaName, ", " ); - } - count++; - strcat( schemaName, schemaDesc->Name() ); - } - // DAR - temp fix so that main win won't be too wide: - schemaName[82] = '\0'; -// printf("found schema '%s' : %d\n",schemaName, strlen(schemaName)); - - return new Frame( - new VBox( - new VBox( - new VGlue( round( .1 * inch ), 0 ), - new HBox( - new HGlue, - new Banner( "", " Data Probe ", "" ), - new HGlue - ), - new VGlue( round( .01 * inch ), 0 ), - new HBox( - new HGlue, -// (strlen(schemaName) > 40)?new Message(schemaName, Center): -// new Banner("", schemaName, ""), - new Banner( "", schemaName, "" ), - new HGlue - ), - new VGlue( round( .1 * inch ), 0 ) - ), - new HBorder, - new HBox( - new HGlue( round( .1 * inch ), 0 ), - new Frame( functionsMenuBar ), - new HGlue( round( hspace * inch ), 0 ), - new Frame( fileMgmtMenuBar ), - new HGlue( round( .1 * inch ), 0 ) - /* - new HBox ( - new HGlue (round(.1 * inch), 0), - new Frame(functionsMenuBar), - new HGlue (round(hspace * inch), 0), - new Frame(schemaMgmtMenuBar) - ), - new HBox ( - // new HGlue (round(hspace * inch), 0), - // new Frame(instanceMgmtMenuBar), - new HGlue (round(hspace * inch), 0), - new Frame(fileMgmtMenuBar), - new HGlue (round(.1 * inch), 0) - ) - */ - ), - new HBorder, - SEEHelpBody(), - new HBorder, - new MarginFrame( errorDisp, 5 ) - ) - ); -} - -void Probe::SetProbeCursor( Cursor * c ) { - SetCursor( c ); - entityInstanceList->SetCursor( c ); - entityTypeList->SetCursor( c ); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// Insert objects into world etc. -// -/////////////////////////////////////////////////////////////////////////////// - -void Probe::InsertSEE( StepEntityEditor * see ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::InsertSEE()\n"; - } - - Frame * framedSEE = new Frame( see, 2 ); -// World *worldPtr = GetWorld(); - World * worldPtr = ::world; - -// Coord x, y; - -// Align(Center, 0, 0, x, y); -// GetRelative(x, y, worldPtr); -// worldPtr->InsertTransient(framedSEE, this, x, y, Center); -// worldPtr->InsertTransient(framedSEE, this); - char iconName[128]; - char winName[128]; - iconName[0] = '\0'; - winName[0] = '\0'; - - const char * seName = see->GetStepEntity()->EntityName(); - if( seName ) { - sprintf( iconName, "#%d %s", see->GetStepEntity()->STEPfile_id, - seName ); - } else { - sprintf( iconName, "#%d", see->GetStepEntity()->STEPfile_id ); - } - sprintf( winName, "dp - %s", iconName ); - -// framedSEE->SetName("Data Probe STEP entity"); -//IVBUG framedSEE->SetName(winName); -//IVBUG framedSEE->SetIconName(iconName); - - worldPtr->InsertToplevel( framedSEE, this ); - - /* - if(framedSEE->AttributeIsSet("iconName")) - cout << "icon Name is set.\n"; - else - cout << "icon Name is NOT set.\n"; - cout << "attribute Icon Name: '" << framedSEE->GetAttribute("iconName") - << "'\n"; - Style *st = framedSEE->GetTopLevelWindow()->style(); - if(st) - { - if(st->value_is_on("iconName")) - { - cout << "managed window's icon Name is set.\n"; - String str; - st->find_attribute("iconName", str); - cout << "attribute Icon Name: '" << str.string() << "'\n"; - } - else - { - cout << "managed window's icon Name is NOT set.\n"; - st->attribute("iconName", "Dave"); - String str; - st->find_attribute("iconName", str); - cout << "attribute Icon Name: '" << str.string() << "'\n"; - } - } - else - cout << "managed window's icon Name is NOT set.\n"; - // framedSEE->GetTopLevelWindow()->iconify(); - // framedSEE->GetTopLevelWindow()->icon_bitmap(); - */ - -//SetIconName(iconName); -// worldPtr->InsertToplevel(framedSEE, this); -} - -////////////////////////////////// - -void Probe::RemoveSEE( StepEntityEditor * see ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::RemoveSEE()\n"; - } - -// World *worldPtr = GetWorld(); - World * worldPtr = ::world; - - Frame * framedSEE = ( Frame * ) see->Parent(); - - int ismapped = see->IsMapped(); - if( ismapped ) { - worldPtr->Remove( framedSEE ); - framedSEE->Remove( see ); - delete framedSEE; - } -// SetSEEDelete(see); -} - -void Probe::InsertSED( StepEntityDescriptor * sed ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::InsertSED()\n"; - } - - Frame * framedSED = new Frame( sed, 2 ); -// World* worldPtr = GetWorld(); - World * worldPtr = ::world; - -// Coord x, y; - -// Align(Center, 0, 0, x, y); -// GetRelative(x, y, worldPtr); -// worldPtr->InsertTransient(framedSEE, this, x, y, Center); -// worldPtr->InsertTransient(framedSEE, this); - char iconName[128]; - char winName[128]; - iconName[0] = '\0'; - winName[0] = '\0'; - - const char * edName = sed->EntityDesc()->Name(); - if( edName ) { - sprintf( iconName, "%s", edName ); - } - sprintf( winName, "dp - %s", iconName ); - -// framedSED->SetName("Data Probe STEP entity"); -//IVBUG framedSED->SetName(winName); -//IVBUG framedSED->SetIconName(iconName); - worldPtr->InsertToplevel( framedSED, this ); -} - -////////////////////////////////// - -void Probe::RemoveSED( StepEntityDescriptor * sed ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::RemoveSED()\n"; - } - -// World* worldPtr = GetWorld(); - World * worldPtr = ::world; - - Frame * framedSED = ( Frame * ) sed->Parent(); - - int ismapped = sed->IsMapped(); - if( ismapped ) { - worldPtr->Remove( framedSED ); - framedSED->Remove( sed ); - delete framedSED; - } -} - -////////////////////////////////// - -Interactor * Probe::InsertInteractor( Interactor * i, Alignment align, - Interactor * alignTo ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::InsertInteractor()\n"; - } -// World* worldPtr = GetWorld(); - World * worldPtr = ::world; - - - Frame * framedInteractor = new Frame( i, 2 ); - Coord x, y; - - /* - if(IsMapped()){ - Align(BottomCenter, i->GetShape()->width, i->GetShape()->height, x, y); - GetRelative(x, y, worldPtr); - worldPtr->InsertTransient(framedInteractor, this, x, y, align); - } else { - x = y = 0; - worldPtr->InsertTransient(framedInteractor, this, x, y, align); - } - */ - if( alignTo ) { - alignTo->Align( align, i->GetShape()->width, i->GetShape()->height, - x, y ); -// cout << "align X: " << x << " align Y: " << y << "\n"; - alignTo->GetRelative( x, y, worldPtr ); -// cout << "relative X: " << x << " relative Y: " << y << "\n"; -// worldPtr->InsertTransient(framedInteractor, this, x, y, align); - worldPtr->InsertTransient( framedInteractor, alignTo, x, y, align ); - } else { - x = ( int )( worldPtr->width() / 2 ); - y = ( int )( worldPtr->height() / 2 ); - worldPtr->InsertTransient( framedInteractor, this, x, y, align ); - } - return( framedInteractor ); -} - -////////////////////////////////// - -void Probe::RemoveInteractor( Interactor * i ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::RemoveInteractor()\n"; - } -// World* worldPtr = GetWorld(); - World * worldPtr = ::world; - - Frame * framedInteractor = ( Frame * ) i->Parent(); - - worldPtr->Remove( framedInteractor ); - framedInteractor->Remove( i ); - delete framedInteractor; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// StepEntityEditor management functions -// -/////////////////////////////////////////////////////////////////////////////// - -StepEntityEditor * Probe::GetStepEntityEditor( MgrNode * mn, - int modifyBool, int pinBool ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::GetStepEntityEditor()\n"; - } - StepEntityEditor * tempSEE; - - tempSEE = new StepEntityEditor( mn, instMgr, modifyBool, pinBool ); -// tempSEE->SetInstMgr(instMgr); - tempSEE->SetProbe( this ); - - Font * f = new Font( "*fixed-medium-r-normal--13*" ); - tempSEE->GetShape()->hunits = f->Width( "n" ); - tempSEE->GetShape()->vunits = f->Height(); - - return tempSEE; -} -////////////////////////////////// - -StepEntityEditor * Probe::GetStepEntityEditor( STEPentity * se, - int modifyBool, int pinBool ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::GetStepEntityEditor()\n"; - } - StepEntityEditor * tempSEE; - - tempSEE = new StepEntityEditor( se, modifyBool, pinBool ); - tempSEE->SetInstMgr( instMgr ); - tempSEE->SetProbe( this ); - Font * f = new Font( "*fixed-medium-r-normal--13*" ); - tempSEE->GetShape()->hunits = f->Width( "n" ); - tempSEE->GetShape()->vunits = f->Height(); - - return tempSEE; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// command options called from the StepEntityEditor -// -/////////////////////////////////////////////////////////////////////////////// - -void Probe::RemoveSeeIfNotPinned( StepEntityEditor * see, MgrNode * mn ) { - if( ( ( mn->DisplayState() == mappedWrite ) || - ( mn->DisplayState() == mappedView ) - ) && !see->Pinned() ) { - RemoveSEE( see ); - int index = mn->ArrayIndex(); - entityInstanceList->WriteCmdChar( ' ', MODIFY_STATE_COL, index ); -// not sure we want to do this. If this is done, would need to do more than -// this. i.e. if a 'v', 'm', or 'c' happens to be here, would need to remove -// the entity from the appropriate 'cmd-to-do' list in the CmdMgr. -// entityInstanceList->WriteCmdChar(' ', MODIFY_CMD_COL, index); - mn->ChangeState( notMapped ); - } -} -////////////////////////////////// - -// boolean i.e. true = 1 and false = 0 -boolean Probe::IsMapped() { - return ( canvas != nil && canvas->status() == Canvas::mapped ); - /* // this doesn't work - if(canvas) - { - int bool = canvas->window()->is_mapped(); - return bool; - } - else - return false; - */ -} -////////////////////////////////// - -void Probe::seeSaveComplete( StepEntityEditor * see ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::seeSaveComplete()\n"; - } - /* ErrorMsg("STEPentity saved complete.\n"); */ - - MgrNode * mn = see->GetMgrNode(); - int index = mn->ArrayIndex(); - mn->ChangeState( completeSE ); - -// dangerous because it messes up the execution of Probe::ExecuteInstanceCmds() -// no it doesn't not now - DAS - mn->Remove(); // remove from list of intended actions for CmdMgr - // this writes over the: 'd' for delete, 's' for save, or 'i' for incomplete - entityInstanceList->WriteCmdChar( ' ', SAVE_COMPLETE_CMD_COL, index ); - - RemoveSeeIfNotPinned( see, mn ); - - std::string seText; - see->GetStepEntity()->STEPwrite( seText ); - entityInstanceList->ReplaceText( seText.c_str(), index ) ; - - entityInstanceList->WriteCmdChar( SAVE_COMPLETE_STATE_CHAR, - SAVE_COMPLETE_STATE_COL, index ); // write the state char -} -////////////////////////////////// - -void Probe::seeSaveIncomplete( StepEntityEditor * see ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::seeSaveIncomplete()\n"; - } - /* ErrorMsg("STEPentity saved incomplete.\n");*/ - - MgrNode * mn = see->GetMgrNode(); - int index = mn->ArrayIndex(); - mn->ChangeState( incompleteSE ); -// dangerous because it messes up the execution of Probe::ExecuteInstanceCmds() -// no it doesn't not now - DAS - mn->Remove(); // remove from list of intended actions for CmdMgr - // this writes over the: 'd' for delete, 's' for save, or 'i' for incomplete - entityInstanceList->WriteCmdChar( ' ', SAVE_INCOMPLETE_CMD_COL, index ); - - RemoveSeeIfNotPinned( see, mn ); - - std::string seText; - see->GetStepEntity()->STEPwrite( seText ); - entityInstanceList->ReplaceText( seText.c_str(), index ); - - entityInstanceList->WriteCmdChar( SAVE_INCOMPLETE_STATE_CHAR, - SAVE_INCOMPLETE_STATE_COL, index ); // write the state char -} -////////////////////////////////// - -void Probe::seeCancel( StepEntityEditor * see ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::seeCancel()\n"; - } - /* ErrorMsg("STEPentity canceled edit.");*/ - - MgrNode * mn = see->GetMgrNode(); - RemoveSeeIfNotPinned( see, mn ); -} -////////////////////////////////// - -void Probe::seeDelete( StepEntityEditor * see ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::seeDelete()\n"; - } - /* ErrorMsg("STEPentity delete.");*/ - - MgrNode * mn = see->GetMgrNode(); - int index = mn->ArrayIndex(); - mn->ChangeState( deleteSE ); -// dangerous because it messes up the execution of Probe::ExecuteInstanceCmds() -// no it doesn't not now - DAS - mn->Remove(); // remove from list of intended actions for CmdMgr - // this writes over the: 'd' for delete, 's' for save, or 'i' for incomplete - entityInstanceList->WriteCmdChar( ' ', DELETE_CMD_COL, index ); - - RemoveSeeIfNotPinned( see, mn ); - - entityInstanceList->WriteCmdChar( DELETE_STATE_CHAR, DELETE_STATE_COL, - index ); // write the state char -} -////////////////////////////////// - -void Probe::seeOpenSED( StepEntityEditor * see ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::seeOpenSED()\n"; - } - /* ErrorMsg("SEE Open SED.");*/ - StepEntityDescriptor * sed = - new StepEntityDescriptor( see->GetStepEntity()->eDesc ); - /* new StepEntityDescriptor( see->GetStepEntity()->EntityDescriptor );*/ - - InsertSED( sed ); -} - -void Probe::seeReplicate( StepEntityEditor * see ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::seeReplicate()\n"; - } - /* ErrorMsg("SEE replicate.");*/ - STEPentity * seExist = see->GetStepEntity(); - /* EntityDescriptor *ed = see->GetStepEntity()->EntityDescriptor;*/ - EntityDescriptor * ed = see->GetStepEntity()->eDesc; -// STEPentity *se = ed->NewSTEPentity(); - STEPentity * seNew; -// if(seNew = ed->NewSTEPentity()){ - if( seNew = seExist->Replicate() ) { - std::string instanceInfo; - - // BUG remove the next line when it is generated by the core - AssignFileId( seNew ); - // this will probably be replaced with an InstanceMgr function. - // also this probably doesn't make sense until the se can be - // marked as incomplete since it doesn't have any values yet - MgrNode * mn = instMgr->Append( seNew, newSE ); - if( !mn->displayNode() ) { - mn->displayNode() = new DisplayNode( mn ); - } - DisplayNode * dn = mn->displayNode(); - dn->SEE( GetStepEntityEditor( mn, 0 ) ); - see = ( StepEntityEditor * )dn->SEE(); - - seNew->STEPwrite( instanceInfo ); - int index = entityInstanceList->Append( instanceInfo.c_str() ); - mn->ArrayIndex( index ); - entityInstanceList->WriteCmdChar( NEW_STATE_CHAR, - NEW_STATE_COL, index ); - entityInstanceList->WriteCmdChar( MODIFY_STATE_CHAR, - MODIFY_STATE_COL, index ); - - mn->ChangeState( mappedWrite ); - InsertSEE( see ); -// see->Validate(); - see->Edit(); - } else { - ErrorMsg( "Could not replicate selected instance." ); - } -} - -////////////////////////////////// -void Probe::BuildSubtypeList( ListItemChooser * lic, EntityDescriptor * ed ) { -// EntityDescriptor *ed = -// (EntityDescriptor *)td->NonRefTypeDescriptor(); -// int choiceCount = 0; - const char * entityTypeName = ed->Name(); - - // add the entity type referenced by the attribute to choices - // available to be created if it is not an abstract entity - if( ( ( EntityDescriptor * )ed )->AbstractEntity().asInt() == LFalse ) { - lic->Append( entityTypeName ); -// choiceCount++; - } - - // add the 1st generation subtypes of the attribute's ref entity - const EntityDescriptorList * subtypeList = - &( ( ( EntityDescriptor * )ed )->Subtypes() ); - EntityDescLinkNode * subtypePtr = - ( EntityDescLinkNode * )subtypeList->GetHead(); -// EntityDescLinkNode *subtypePtr = subtypeList->GetHead(); - EntityDescriptor * entDesc = 0; - while( subtypePtr != 0 ) { - entDesc = subtypePtr->EntityDesc(); - BuildSubtypeList( lic, entDesc ); - /* - LOGICAL logi = entDesc->AbstractEntity().asInt(); - // if(entDesc->AbstractEntity().asInt() == F) - if(logi == F) - { - lic->Append(entDesc->Name()); - // choiceCount++; - } - */ - subtypePtr = ( EntityDescLinkNode * )subtypePtr->NextNode(); - } -} - -int Probe::seeEdit( StepEntityEditor * see ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::seeEdit()\n"; - } - /* ErrorMsg("SEE edit.");*/ - - seeAttrRow * attrRow = see->AttrRowList()->CurRow(); - /* const AttrDescriptor *ad = attrRow->StepAttr()->AttrDescriptor;*/ - const AttrDescriptor * ad = attrRow->StepAttr()->aDesc; - - switch( ad->NonRefType() ) { - case ENUM_TYPE: - case LOGICAL_TYPE: - case BOOLEAN_TYPE: - return seeEnumEdit( see ); - case ENTITY_TYPE: - return seeEntityEdit( see ); - case SELECT_TYPE: - return seeSelectEdit( see ); - default: - see->NotifyUser( "Attribute base type needs to be ENUM or ENTITY", 1 ); - return 0; - } -} - -int Probe::seeSelectEdit( StepEntityEditor * see ) { - int rval = 0; - seeAttrRow * attrRow = see->AttrRowList()->CurRow(); - STEPattribute * sa = attrRow->StepAttr(); - const TypeDescriptor * td = sa->ReferentType(); - if( td && td->NonRefType() == SELECT_TYPE ) { - ListItemChooser * lic = - new ListItemChooser( new ButtonState( 0 ), - "Choose the underlying type for the SELECT", - 8, 24, " Choose " ); - - td = td->NonRefTypeDescriptor(); - SelectTypeDescriptor * std = ( SelectTypeDescriptor * )td; - - // the TypeDescriptor for the current type of the select - const TypeDescriptor * curType = sa->ptr.sh->CurrentUnderlyingType(); - const TypeDescriptor * tmp = 0; - int curTypeIndex = -1; - int index = 0; - - std::string s; - TypeDescLinkNode * tdln = ( TypeDescLinkNode * )std->Elements().GetHead(); - while( tdln ) { - tmp = tdln->TypeDesc(); - if( tmp == curType ) { - curTypeIndex = index; - } - lic->Append( tmp->AttrTypeName( s ) ); - tdln = ( TypeDescLinkNode * )tdln->NextNode(); - index++; - } - InsertInteractor( lic, 2, see ); -// int SearchForward(char *substr, int startIndex, int ignoreCase = 1); - if( !( curTypeIndex == -1 ) ) { - lic->Select( curTypeIndex ); - } - if( lic->Accept() ) { - int choice = lic->Choice(); - if( 0 <= choice ) { - istrstream oldAttr( ( const char * )attrRow->GetEditFieldText() ); - strstreambuf oldValbuf; - ostrstream newType; - ostrstream newVal; // new attribute field value - - // get selected type name and descriptor - newType << ( const char * )lic->String( choice ) << ends; - const TypeDescriptor * td = registry->FindType( newType.str(), 0 ); - - // get the proper value from the old attribute - - int c = oldAttr.peek(); - // if attribute is a literal string or an aggregate - // it might/will contain parentheses, so just read it. - // literal strings start with single-quote, aggrs with '('. - if( c == '\'' || c == '(' ) { - oldAttr.get( oldValbuf ); - oldValbuf.sputc( '\0' ); - } - - // otherwise, if the selected type is a SELECT, the user - // probably wants the given field to be specified within - // the select, e.g., Str('foo') --> Sel1(Str('foo')) - // ---FIX--- : it would be better if it checked that - // the given field's type is a valid subtype of the SELECT - // (this is why I made this a seperate case from above, - // even though the 'then' code is the same...) - else if( td && ( td->Type() == SELECT_TYPE ) ) { - oldAttr.get( oldValbuf ); - oldValbuf.sputc( '\0' ); - } - - // otherwise, read up until a possible open paren - // this means we already have a type specified, and - // need to replace it. - else { - oldAttr.get( oldValbuf, '(' ); // read until a '(' - if( ( ( c = oldAttr.peek() ) != EOF ) && ( c != '\0' ) ) { - // if we're not at EOF or null, we hit a '(', - // and want to keep the value in the parens only. - oldAttr.get(); // skip '(' - oldValbuf.seekpos( 0 ); // reset buffer; - oldAttr.get( oldValbuf ); // get attribute - - // remove trailing right-paren ')' - oldValbuf.seekoff( -1, ios::end, ios::out ); - oldValbuf.sputc( '\0' ); - } else { - oldValbuf.sputc( '\0' ); - } - } - -// cout << "oldValbuf: " << oldValbuf.str() << endl; - - // re-write the attribute entry, with specified type - // e.g., .FOOBAR. --> myenum(.FOOBAR.) - ostrstream oldValstr; - oldValstr << oldValbuf.str() << ends; - newVal << newType.str() << "(" << oldValstr.str() - << ")" << ends; - -// cout << "newVal: " << newVal.str() << endl; - - // put new attribute entry into field... validation - // will happen on return to StepEntityEditor::ExecuteCommand() - attrRow->SetEditFieldText( newVal.str() ); - rval = 1; - } - RemoveInteractor( lic ); - lic->Flush(); - - delete lic; - } else { - RemoveInteractor( lic ); - lic->Flush(); - - delete lic; - } - } - return rval; -} - -int Probe::seeEntityEdit( StepEntityEditor * see ) { - seeAttrRow * attrRow = see->AttrRowList()->CurRow(); - const char * existFileIdStr = attrRow->GetEditFieldText(); - int fileId = 0; - MgrNode * mn = 0; - - if( ( 1 == sscanf( ( char * )existFileIdStr, " #%d", &fileId ) ) || - ( 1 == sscanf( ( char * )existFileIdStr, " %d", &fileId ) ) ) { - mn = instMgr->FindFileId( fileId ); - if( mn ) { - int index = mn->ArrayIndex(); - sedlModify( mn, index ); - return 1; - } else { - see->NotifyUser( "Cannot edit STEPentity... invalid File Id.", 1 ); -// ErrorMsg("Cannot edit STEPentity... invalid File Id."); -// fprintf(stderr, "%c" , RingBell); -// fflush(stderr); - return 0; - } - } else { - const char * entityTypeName = attrRow->GetAttrTypeName(); - STEPentity * newEntity; - - const TypeDescriptor * td = attrRow->StepAttr()->ReferentType(); - if( td && td->NonRefType() == ENTITY_TYPE ) { - ListItemChooser * lic = - new ListItemChooser( new ButtonState( 0 ), - "Choose the ENTITY type to create", - 8, 24, " Create " ); - EntityDescriptor * ed = - ( EntityDescriptor * )td->NonRefTypeDescriptor(); - BuildSubtypeList( lic, ed ); - /* - EntityDescriptor *ed = - (EntityDescriptor *)td->NonRefTypeDescriptor(); - int choiceCount = 0; - - // add the entity type referenced by the attribute to choices - // available to be created if it is not an abstract entity - if(((EntityDescriptor *)ed)->AbstractEntity().asInt() == F) - { - lic->Append(entityTypeName); - choiceCount++; - } - - // add the 1st generation subtypes of the attribute's ref entity - const EntityDescriptorList *subtypeList = - &( ((EntityDescriptor *)ed)->Subtypes()); - EntityDescLinkNode *subtypePtr = - (EntityDescLinkNode *)subtypeList->GetHead(); - EntityDescriptor *entDesc = 0; - while( subtypePtr != 0) - { - entDesc = subtypePtr->EntityDesc(); - LOGICAL logi = entDesc->AbstractEntity().asInt(); - // if(entDesc->AbstractEntity().asInt() == F) - if(logi == F) - { - lic->Append(entDesc->Name()); - choiceCount++; - } - subtypePtr = (EntityDescLinkNode *)subtypePtr->NextNode(); - } - */ - - /* - static const unsigned TopLeft = 0; - static const unsigned TopCenter = 1; - static const unsigned TopRight = 2; - static const unsigned CenterLeft = 3; - static const unsigned Center = 4; - static const unsigned CenterRight = 5; - static const unsigned BottomLeft = 6; - static const unsigned BottomCenter = 7; - static const unsigned BottomRight = 8; - static const unsigned Left = 9; - static const unsigned Right = 10; - static const unsigned Top = 11; - static const unsigned Bottom = 12; - static const unsigned HorizCenter = 13; - static const unsigned VertCenter = 14; - */ -// InsertInteractor(lic, TopRight, see); - InsertInteractor( lic, 2, see ); - lic->Select( 0 ); -// lic->Browse(); - if( lic->Accept() ) { - int choice = lic->Choice(); - if( 0 <= choice && choice < lic->Count() ) { - entityTypeName = ( const char * )lic->String( choice ); - } - RemoveInteractor( lic ); - lic->Flush(); - - delete lic; - } else { - entityTypeName = 0; - - RemoveInteractor( lic ); - lic->Flush(); - - delete lic; - } - } - - if( entityTypeName != 0 && - ( newEntity = registry->ObjCreate( ( char * )entityTypeName ) ) && - ( newEntity != S_ENTITY_NULL ) ) { - // BUG remove the next line when it is generated by the core? - // this may be replaced with an InstMgr function. - AssignFileId( newEntity ); // assign fileId to new entity - - // append the new instance to the InstMgr - mn = instMgr->Append( newEntity, newSE ); - - // assign fileId to the attr. field of the SEE - fileId = newEntity->GetFileId(); - char fileIdStr[20]; - sprintf( fileIdStr, "#%d", fileId ); - attrRow->SetEditFieldText( ( const char * )fileIdStr ); - - // write the new instance to the instance display list - std::string instanceInfo; - newEntity->STEPwrite( instanceInfo ); - int index = entityInstanceList->Append( instanceInfo.c_str() ); - mn->ArrayIndex( index ); - entityInstanceList->WriteCmdChar( NEW_STATE_CHAR, - NEW_STATE_COL, index ); -// entityInstanceList->WriteCmdChar(MODIFY_STATE_CHAR, -// MODIFY_STATE_COL, index); - - sedlModify( mn, index ); - return 1; - } else { - see->NotifyUser( "Selected type is not a STEPentity.", 1 ); -// ErrorMsg("Selected type is not a STEPentity."); -// fprintf(stderr, "%c" , RingBell); -// fflush(stderr); - return 0; - } - } -// return 0; -} -////////////////////////////////// - -int Probe::seeEnumEdit( StepEntityEditor * see ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::seeList()\n"; - } - /* ErrorMsg("SEE list enumeration.");*/ - - char fileIdStr[20]; - - seeAttrRow * attrRow = see->AttrRowList()->CurRow(); - -// ObjType type = attrRow->GetType(); -// const char *attrTypeName = attrRow->GetAttrTypeName(); - STEPattribute * currAttr = attrRow->StepAttr(); - - switch( currAttr->BaseType() ) { - case ENUM_TYPE: - case LOGICAL_TYPE: - case BOOLEAN_TYPE: { - ListItemChooser * lic = new ListItemChooser( new ButtonState( 0 ) ); - int numElements = currAttr->ptr.e->no_elements(); - int i; - int currValue = currAttr->ptr.e->asInt(); - std::string tmp; - - if( currAttr->BaseType() == LOGICAL_TYPE ) { - lic->Append( "F" ); - lic->Append( "T" ); - lic->Append( "U" ); - } else { - for( i = 0; i < numElements; i++ ) { - currAttr->ptr.e->put( i ); - lic->Append( currAttr->ptr.e->asStr( tmp ) ); - } - } - InsertInteractor( lic, 2, see ); - lic->Select( 0 ); -// lic->Browse(); - if( lic->Accept() ) { - int choice = lic->Choice(); - if( 0 <= choice && choice < numElements ) { - if( currAttr->BaseType() == LOGICAL_TYPE && - choice == 2 ) { - currAttr->ptr.e->put( LUnknown ); - } else { - currAttr->ptr.e->put( choice ); - } - attrRow->SetEditFieldText( ( const char * )lic->String( choice ) ); - } else { - currAttr->ptr.e->put( currValue ); - } - RemoveInteractor( lic ); - lic->Flush(); - - delete lic; - return 1; - } else { - currAttr->ptr.e->put( currValue ); - RemoveInteractor( lic ); - lic->Flush(); - - delete lic; - return 0; - } - } - default: - see->NotifyUser( "Wrong attribute type.", 1 ); -// fprintf(stderr, "%c" , RingBell); -// fflush(stderr); - return 0; - } // end switch(type) - /* - STEPentity *se; - int fileId; - char *entityName; - const char *attrName = attrRow->GetAttrName(); - cout << "attribute Name: " << attrName << "\n"; - cout << "attribute Type Name: " << attrTypeName << "\n"; - cout << "chosen entity Name: " << entityName << "\n"; - cout << "chosen entity file id: " << fileIdStr << "\n"; - */ -} - -////////////////////////////////// - -int Probe::seeSelectMark( StepEntityEditor * see ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::seeSelectMark()\n"; - } - /* ErrorMsg("SEE select mark.");*/ - int index = entityInstanceList->Selection(); - if( 0 <= index ) { // if there is a selected instance. - MgrNode * mn; - STEPentity * se; - int fileId; - char fileIdStr[20]; - const char * entityName; - - seeAttrRow * attrRow = see->AttrRowList()->CurRow(); - - BASE_TYPE type = attrRow->GetType(); - const char * attrTypeName = attrRow->GetAttrTypeName(); - - switch( type ) { - case ENTITY_TYPE: - mn = instMgr -> GetMgrNode( index ); - se = mn->GetSTEPentity(); - - fileId = se->GetFileId(); - sprintf( fileIdStr, "#%d", fileId ); - entityName = se->EntityName(); - - if( strcmp( attrTypeName, entityName ) ) { - fprintf( stderr, "%c" , RingBell ); - ErrorMsg( - "Possible type mismatch for selected instance." ); - } - - attrRow->SetEditFieldText( ( const char * )fileIdStr ); - return 1; - case AGGREGATE_TYPE: { - mn = instMgr -> GetMgrNode( index ); - se = mn->GetSTEPentity(); - - fileId = se->GetFileId(); - sprintf( fileIdStr, "#%d", fileId ); - - char attrVal[BUFSIZ]; - attrVal[0] = 0; - strcpy( attrVal, attrRow->GetEditFieldText() ); - int i = 0; - for( i = 0; attrVal[i] != '\0'; i++ ) { - ; - } - if( i > 0 && !isspace( attrVal[i - 1] ) ) { - strcat( attrVal, ", " ); - } - strcat( attrVal, fileIdStr ); - attrRow->SetEditFieldText( ( const char * )attrVal ); - } - return 0; - default: - ErrorMsg( "Wrong attribute type." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - return 0; - } // end switch(type) - /* - const char *attrName = attrRow->GetAttrName(); - cout << "attribute Name: " << attrName << "\n"; - cout << "attribute Type Name: " << attrTypeName << "\n"; - cout << "chosen entity Name: " << entityName << "\n"; - cout << "chosen entity file id: " << fileIdStr << "\n"; - */ - } - return 0; -} -////////////////////////////////// - -void Probe::seeToggle( StepEntityEditor * see, int code ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::seeToggle()\n"; - } - MgrNode * mn = see->GetMgrNode(); - int index = mn->ArrayIndex(); - if( code == SEE_MODIFY ) { - mn->ChangeState( mappedWrite ); - entityInstanceList->WriteCmdChar( MODIFY_STATE_CHAR, - MODIFY_STATE_COL, index ); - } else if( code == SEE_VIEW ) { - mn->ChangeState( mappedView ); - entityInstanceList->WriteCmdChar( VIEW_STATE_CHAR, - VIEW_STATE_COL, index ); - } -} - -/////////////////////////////////////////////////////////////////////////////// -// -// Helper type functions -// -/////////////////////////////////////////////////////////////////////////////// -void Probe::WriteInstance( int index ) { - std::string instanceInfo; - MgrNode * mn = instMgr -> GetMgrNode( index ); - - mn->GetSTEPentity()->STEPwrite( instanceInfo ); - entityInstanceList->Append( instanceInfo.c_str() ); - switch( mn->CurrState() ) { - /* - case completeSE: - entityInstanceList->WriteCmdChar(SAVE_COMPLETE_STATE_CHAR, - SAVE_COMPLETE_STATE_COL, index); - break; - */ - case incompleteSE: - entityInstanceList->WriteCmdChar( SAVE_INCOMPLETE_STATE_CHAR, - SAVE_INCOMPLETE_STATE_COL, index ); - break; - case deleteSE: -// entityInstanceList->WriteCmdChar(DELETE_CMD_CHAR, -// DELETE_CMD_COL, index); - entityInstanceList->WriteCmdChar( DELETE_STATE_CHAR, - DELETE_STATE_COL, index ); - break; - case newSE: - entityInstanceList->WriteCmdChar( NEW_STATE_CHAR, - NEW_STATE_COL, index ); - break; - default: - break; - } - switch( instMgr -> GetMgrNode( index ) ->DisplayState() ) { - case mappedWrite: - entityInstanceList->WriteCmdChar( MODIFY_STATE_CHAR, - MODIFY_STATE_COL, index ); - break; - case mappedView: - entityInstanceList->WriteCmdChar( VIEW_STATE_CHAR, - VIEW_STATE_COL, index ); - break; - default: - break; - } -} - -void Probe::ListEntityInstances() { - - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::ListEntityInstances()\n"; - } - - if( entityInstanceList->Count() > 0 ) { - entityInstanceList->Clear(); - } - if( instMgr->InstanceCount() > 0 ) { - if( debug_level >= PrintValues ) { - cout << "Entity Instances:\n"; - } - - int count = instMgr->InstanceCount(); - int i = 0; - while( i < count ) { - WriteInstance( i ); - i++; - } - char tmpStr[BUFSIZ]; - sprintf( tmpStr, "\n\nCreated %d ENTITY instances.\n", count ); - cout << tmpStr << "\n"; - } //else ErrorMsg("Must read in a step file first"); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// functions from the schema_mgmt_menu. -// -/////////////////////////////////////////////////////////////////////////////// - -void ShellSort( const char ** a, int count ) { - int i, j, incr; - const char * tmp; - - incr = ( int )( count / 2 ); - while( incr > 0 ) { - for( i = incr + 1; i <= count; i++ ) { - j = i - incr; - while( j > 0 ) { - if( strcmp( a[j], a[j + incr] ) > 0 ) { - tmp = a[j]; - a[j] = a[j + incr]; - a[j + incr] = tmp; - j = j - incr; - } else { - j = 0; - } - } // while - } // for - incr = ( int )( incr / 2 ); - } -} - -void Probe::ListEntityTypesCmd() { - char * entityName = 0; - - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::ListEntityTypesCmd()\n"; - } - - // This does not check the Registry to see if it's been - // initialized for a schema. - if( entityTypeList->Count() > 0 ) { - entityTypeList->Clear(); - } - - int count, abstractCount = 0; - // DAR - actually "abstractCount" (and related vars) also keep track of - // ents which can't be instantiated without external mapping - 5/21/97 - const EntityDescriptor * enDesc; - int arrSize = 0; - registry -> ResetEntities(); - - count = registry -> GetFullEntCnt(); - -// const char *EntityNameArray[count + 1]; - const char ** EntityNameArray = new const char *[count + 1]; - char ** AbstractEntityArray = new char *[count + 1]; - - while( count > 0 ) { - enDesc = registry -> NextEntity(); - // I am purposely assigning this array starting at index 1 instead of 0 - if( enDesc ) { - if( ( Logical )( - ( ( EntityDescriptor * )enDesc )->AbstractEntity() ) - == LTrue ) { - arrSize = strlen( enDesc->Name() ) + 2; - AbstractEntityArray[abstractCount] = new char[arrSize]; - - strcpy( AbstractEntityArray[abstractCount], enDesc->Name() ); - AbstractEntityArray[abstractCount][arrSize - 2] = '*'; - AbstractEntityArray[abstractCount][arrSize - 1] = 0; - - EntityNameArray[count] = AbstractEntityArray[abstractCount]; - abstractCount++; - } else if( ( Logical )( - ( ( EntityDescriptor * )enDesc )->ExtMapping() ) - == LTrue ) { - arrSize = strlen( enDesc->Name() ) + 2; - AbstractEntityArray[abstractCount] = new char[arrSize]; - - strcpy( AbstractEntityArray[abstractCount], enDesc->Name() ); - AbstractEntityArray[abstractCount][arrSize - 2] = '%'; - AbstractEntityArray[abstractCount][arrSize - 1] = 0; - - EntityNameArray[count] = AbstractEntityArray[abstractCount]; - abstractCount++; - } else { - EntityNameArray[count] = enDesc->Name(); - } - } else { - EntityNameArray[count] = "There is a BUG in this program."; - } - -- count; - } - count = registry -> GetFullEntCnt(); - - // sort names alphabetically - ShellSort( EntityNameArray, count ); - - int i = 1; - while( i <= count ) { - if( debug_level >= PrintValues ) { - cout << EntityNameArray[i] << "\n"; - } - if( i == 1 || strcmp( EntityNameArray[i], EntityNameArray[i - 1] ) ) { - // If this ent has the same name as the previous, skip it. This - // may happen if an entity has "clones" of an entity, or if it's - // stored in the Registry's hash table under >1 name. This is done - // if an entity has additional names used by other schemas which - // USE or REFERENCE the entity and rename it in the process. - entityTypeList->Append( EntityNameArray[i] ); - } - i++; - } - - // delete all the space created to hold the modified name for - // abstract entities - for( i = 0; i < abstractCount; i++ ) { - delete AbstractEntityArray[i]; - } - - delete [] EntityNameArray; - delete [] AbstractEntityArray; - - char tmpStr[BUFSIZ]; - sprintf( tmpStr, "Listed %d entity types.", registry->GetEntityCnt() ); - cout << tmpStr << "\n"; -} - -////////////////////////////////// - -void Probe::DescribeEntityCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::DescribeEntityCmd()\n"; - } - int index = entityTypeList->Selection(); - if( 0 <= index ) { // if there is a selected instance. - char * entPtr = entityTypeList->String( index ); - // abstract entities are marked with an asterisk at end of entity name - if( entPtr[strlen( entPtr ) - 1] == '*' ) { - char ent[512]; - strncpy( ent, entPtr, 512 ); - ent[strlen( entPtr ) - 1] = '\0'; // get rid of trailing * indicating - // it is an abstract entity type - entPtr = ent; - } - // entities requiring external mapping have an '%' at the end - else if( entPtr[strlen( entPtr ) - 1] == '%' ) { - char ent[512]; - strncpy( ent, entPtr, 512 ); - ent[strlen( entPtr ) - 1] = '\0'; - entPtr = ent; - } - StepEntityDescriptor * sed = - new StepEntityDescriptor( registry->FindEntity( entPtr ) ); - /* - StepEntityDescriptor * sed = - new StepEntityDescriptor - ( registry -> FindEntity(entityTypeList->String(index)) ); */ - InsertSED( sed ); - } -} - -////////////////////////////////// - -void Probe::SelectSchemaCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::SelectSchemaCmd()\n"; - } -} - -/////////////////////////////////////////////////////////////////////////////// -// -// functions from the instance_mgmt_menu. -// -/////////////////////////////////////////////////////////////////////////////// -////////////////////////////////// - -void Probe::CreateInstanceCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::CreateInstanceCmd()\n"; - } - - StepEntityEditor * see; - STEPentity * se; - - if( entityTypeList->Selections() ) { - char * entityTypeName = - entityTypeList->String( entityTypeList->Selection() ); - -// if( (LOGICAL)( ((EntityDescriptor*)enDesc)->AbstractEntity() ) -// == sdaiTRUE ) - if( entityTypeName[strlen( entityTypeName ) - 1] == '*' ) { - ErrorMsg( "Selected type is an ABSTRACT entity type." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } else if( entityTypeName[strlen( entityTypeName ) - 1] == '%' ) { - ErrorMsg( "Selected type can only be instantiated using external mapping." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } else if( ( se = registry->ObjCreate( entityTypeName ) ) && - ( se != S_ENTITY_NULL ) ) { - std::string instanceInfo; - - // BUG remove the next line when it is generated by the core - AssignFileId( se ); - // this will probably be replaced with an InstanceMgr function. - // also this probably doesn't make sense until the se can be - // marked as incomplete since it doesn't have any values yet - MgrNode * mn = instMgr->Append( se, newSE ); - if( !mn->displayNode() ) { - mn->displayNode() = new DisplayNode( mn ); - } - DisplayNode * dn = mn->displayNode(); - dn->SEE( GetStepEntityEditor( mn, 0 ) ); - see = ( StepEntityEditor * )dn->SEE(); - - se->STEPwrite( instanceInfo ); - int index = entityInstanceList->Append( instanceInfo.c_str() ); - mn->ArrayIndex( index ); - entityInstanceList->WriteCmdChar( NEW_STATE_CHAR, - NEW_STATE_COL, index ); - entityInstanceList->WriteCmdChar( MODIFY_STATE_CHAR, - MODIFY_STATE_COL, index ); - - mn->ChangeState( mappedWrite ); - InsertSEE( see ); -// see->Validate(); - see->Edit(); - } else { - ErrorMsg( "Could not create selected type." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } - } else { - ErrorMsg( "Select a type from the Entity Type List window first." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } -} - -////////////////////////////////// - -void Probe::ModifyInstanceCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::ModifyInstanceCmd()\n"; - } - - int index; - if( entityInstanceList->Selections() && - ( index = entityInstanceList->Selection() ) >= 0 ) { - MgrNode * mn = instMgr -> GetMgrNode( index ); - - sedlModify( mn, index ); - DisplayNode * dn = mn->displayNode(); -// dangerous because it messes up the execution of Probe::ExecuteInstanceCmds() -// if(dn) -// dn->Remove(); // remove from list of intended actions for CmdMgr - entityInstanceList->AdvanceSelection( index ); - } else { - ErrorMsg( "Select an instance from the Entity Instance List first." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } -} -////////////////////////////////// - -void Probe::ViewInstanceCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::ViewInstanceCmd()\n"; - } - - int index; - if( entityInstanceList->Selections() && - ( index = entityInstanceList->Selection() ) >= 0 ) { - MgrNode * mn = instMgr -> GetMgrNode( index ); - - sedlView( mn, index ); - DisplayNode * dn = mn->displayNode(); -// dangerous because it messes up the execution of Probe::ExecuteInstanceCmds() -// if(dn) -// dn->Remove(); // remove from list of intended actions for CmdMgr - entityInstanceList->AdvanceSelection( index ); - } else { - ErrorMsg( "Select an instance from the Entity Instance List first." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } -} -////////////////////////////////// - -void Probe::CloseInstanceCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::CloseInstanceCmd()\n"; - } - - int index; - if( entityInstanceList->Selections() && - ( index = entityInstanceList->Selection() ) >= 0 ) { - MgrNode * mn = instMgr -> GetMgrNode( index ); - - sedlClose( mn, index ); - /* ErrorMsg("Close Instance");*/ - DisplayNode * dn = mn->displayNode(); -// dangerous because it messes up the execution of Probe::ExecuteInstanceCmds() -// if(dn) -// dn->Remove(); // remove from list of intended actions for CmdMgr - entityInstanceList->AdvanceSelection( index ); - } else { - ErrorMsg( "Select an instance from the Entity Instance List first." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } -} -////////////////////////////////// - -void Probe::SaveComplInstanceCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::SaveComplInstanceCmd()\n"; - } - - int index; - if( entityInstanceList->Selections() && - ( index = entityInstanceList->Selection() ) >= 0 ) { - MgrNode * mn = instMgr -> GetMgrNode( index ); - sedlSaveComplete( mn, index ); - /* ErrorMsg("Save Instance Complete");*/ - mn->Remove(); // remove from list of intended actions for CmdMgr - entityInstanceList->AdvanceSelection( index ); - } else { - ErrorMsg( "Select an instance from the Entity Instance List first." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } -} -////////////////////////////////// - -void Probe::SaveIncomplInstanceCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::SaveIncomplInstanceCmd()\n"; - } - - int index; - if( entityInstanceList->Selections() && - ( index = entityInstanceList->Selection() ) >= 0 ) { - MgrNode * mn = instMgr -> GetMgrNode( index ); - sedlSaveIncomplete( mn, index ); - /* ErrorMsg("Save Instance Incomplete");*/ - mn->Remove(); // remove from list of intended actions for CmdMgr - entityInstanceList->AdvanceSelection( index ); - } else { - ErrorMsg( "Select an instance from the Entity Instance List first." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } -} -////////////////////////////////// - -void Probe::ReplicateInstanceCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::ReplicateInstanceCmd()\n"; - } - - int index; - if( entityInstanceList->Selections() && - ( index = entityInstanceList->Selection() ) >= 0 ) { - MgrNode * mn = instMgr -> GetMgrNode( index ); - sedlReplicate( mn, index ); - /* ErrorMsg("Replicate Instance");*/ - cmdMgr->RepList()->Remove( mn ); -// mn->Remove(); // remove from list of intended actions for CmdMgr - entityInstanceList->AdvanceSelection( index ); - } else { - ErrorMsg( "Select an instance from the Entity Instance List first." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } -} -////////////////////////////////// - -void Probe::UnmarkInstanceCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::UnmarkInstanceCmd()\n"; - } - - int index; - if( entityInstanceList->Selections() && - ( index = entityInstanceList->Selection() ) >= 0 ) { - MgrNode * mn = instMgr -> GetMgrNode( index ); - sedlUnmark( mn, index ); - /* ErrorMsg("Unmark Instance Entry on Instance List Display");*/ - entityInstanceList->AdvanceSelection( index ); - } else { - ErrorMsg( "Select an instance from the Entity Instance List first." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } -} -////////////////////////////////// - -void Probe::DeleteInstanceCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::DeleteInstanceCmd()\n"; - } - - int index; - if( entityInstanceList->Selections() && - ( index = entityInstanceList->Selection() ) >= 0 ) { - MgrNode * mn = instMgr -> GetMgrNode( index ); - sedlDelete( mn, index ); - /* ErrorMsg("Delete Instance");*/ - mn->Remove(); // remove from list of intended actions for CmdMgr - entityInstanceList->AdvanceSelection( index ); - } else { - ErrorMsg( "Select an instance from the Entity Instance List first." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } -} -////////////////////////////////// - -/* -void Probe::PrintInstanceCmd() -{ - if(debug_level >= PrintFunctionTrace) - cout << "Probe::PrintInstanceCmd()\n"; -} -*/ -////////////////////////////////// - -void Probe::SelectInstanceCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::SelectInstanceCmd()\n"; - } -} - -/////////////////////////////////////////////////////////////////////////////// -// -// functions from the file_mgmt_menu. -// -/////////////////////////////////////////////////////////////////////////////// - -/////////////////////////////////////////////////////////////////////////////// -// The next 3 functions are used by the functions that follow them. -/////////////////////////////////////////////////////////////////////////////// - -void -Probe::ReadFile() { - fileChooser->SetTitle( "Read File" ); - fileChooser->SetSubtitle( "Please select a file" ); - InsertInteractor( fileChooser, Center ); - - fileChooser->UpdateDir(); - fileChooser->SelectFile(); - if( fileChooser->Accept() ) { - Cursor * origCursor = GetCursor(); - SetProbeCursor( hourglass ); - fileChooser->SetCursor( hourglass ); - - const char * fileName = fileChooser->Choice(); - int fileType = fileChooser->FileType(); - - if( fileType == CHOOSER_EXCHANGE ) { - if( headerDisplay ) { - delete headerDisplay; - headerDisplay = 0; - } - Severity sev; - if( readUsingTC ) { - sev = fileMgr -> ReadExchangeFile( fileName ); - } else { - sev = fileMgr -> ReadExchangeFile( fileName, 0 ); - } - if( sev < SEVERITY_NULL ) { - // read NOT successful - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( fileMgr->Error().UserMsg() ); - cerr << fileMgr->Error().DetailMsg(); - fileMgr->Error().ClearErrorMsg(); - } - ListEntityInstances(); - } else if( fileType == CHOOSER_WORKING ) { - if( headerDisplay ) { - delete headerDisplay; - headerDisplay = 0; - } - Severity sev; - if( readUsingTC ) { - sev = fileMgr -> ReadWorkingFile( fileName ); - } else { - sev = fileMgr -> ReadWorkingFile( fileName, 0 ); - } - if( sev < SEVERITY_NULL ) { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( fileMgr->Error().UserMsg() ); - cerr << fileMgr->Error().DetailMsg(); - fileMgr->Error().ClearErrorMsg(); - } - ListEntityInstances(); - } else { - cerr << "Internal problem - send mail to dp1-bugs@cme.nist.gov\n"; - } - SetProbeCursor( origCursor ); - fileChooser->SetCursor( origCursor ); - } - RemoveInteractor( fileChooser ); -} - -void -Probe::AppendFile() { - Severity sev ; - fileChooser->SetTitle( "Append File to Instance List" ); - fileChooser->SetSubtitle( "Please select a file" ); - InsertInteractor( fileChooser, Center ); - - fileChooser->UpdateDir(); - fileChooser->SelectFile(); - if( fileChooser->Accept() ) { - Cursor * origCursor = GetCursor(); - SetProbeCursor( hourglass ); - fileChooser->SetCursor( hourglass ); - - const char * fileName = fileChooser->Choice(); - int fileType = fileChooser->FileType(); - - if( fileType == CHOOSER_EXCHANGE ) { - if( headerDisplay ) { - delete headerDisplay; - headerDisplay = 0; - } - sev = fileMgr -> AppendExchangeFile( fileName ); - if( sev < SEVERITY_NULL ) { - // read NOT successful - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( fileMgr->Error().UserMsg() ); - cerr << fileMgr->Error().DetailMsg(); - fileMgr->Error().ClearErrorMsg(); - } - ListEntityInstances(); - } else if( fileType == CHOOSER_WORKING ) { - if( headerDisplay ) { - delete headerDisplay; - headerDisplay = 0; - } - Severity sev = fileMgr -> AppendWorkingFile( fileName ); - if( sev < SEVERITY_NULL ) { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( fileMgr->Error().UserMsg() ); - cerr << fileMgr->Error().DetailMsg(); - fileMgr->Error().ClearErrorMsg(); - } - ListEntityInstances(); - } else { - cerr << "Internal problem - send mail to dp1-bugs@cme.nist.gov\n"; - } - SetProbeCursor( origCursor ); - fileChooser->SetCursor( origCursor ); - } - RemoveInteractor( fileChooser ); -} - -void -Probe::WriteFile() { - fileChooser->SetTitle( "Write File" ); - fileChooser->SetSubtitle( "Please select a file" ); - InsertInteractor( fileChooser, Center ); - - fileChooser->UpdateDir(); - fileChooser->SelectFile(); - if( fileChooser->Accept() ) { - Cursor * origCursor = GetCursor(); - SetProbeCursor( hourglass ); - fileChooser->SetCursor( hourglass ); - - const char * fileName = fileChooser->Choice(); - int fileType = fileChooser->FileType(); - - if( fileType == CHOOSER_EXCHANGE ) { - //VALIDATE instances on exchange file - ErrorDescriptor e; - Severity sev = instMgr->VerifyInstances( e ); - if( sev < SEVERITY_USERMSG ) { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( - "Contains invalid instances. File not written. Save as a working file.\n" ); - cerr << e.UserMsg(); - cerr << e.DetailMsg(); - } else { -// ostream* out = new ostream(fileName, io_writeonly, a_create); - ofstream * out = new ofstream( fileName ); -// if(out->is_open() && out->writable()) - if( ( !( *out ) ) == 0 ) { - if( fileMgr->WriteExchangeFile( *out, 0 ) < SEVERITY_NULL ) { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( fileMgr->Error().UserMsg() ); - cerr << fileMgr->Error().DetailMsg(); - fileMgr->Error().ClearErrorMsg(); - } - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( "Exchange File could not be opened for writing." ); - } - delete out; - } - } else if( fileType == CHOOSER_WORKING ) { -// ostream* out = new ostream(fileName, io_writeonly, a_create); - ofstream * out = new ofstream( fileName ); -// if(out->is_open() && out->writable()) - if( ( !( *out ) ) == 0 ) { - if( fileMgr->WriteWorkingFile( *out ) < SEVERITY_NULL ) { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( fileMgr->Error().UserMsg() ); - cerr << fileMgr->Error().DetailMsg(); - fileMgr->Error().ClearErrorMsg(); - } - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( "Working File could not be opened for writing." ); - } - delete out; - } else { - cerr << "Internal problem - send mail to dp1-bugs@cme.nist.gov\n"; - } - SetProbeCursor( origCursor ); - fileChooser->SetCursor( origCursor ); - } - RemoveInteractor( fileChooser ); -} - -void Probe::ReadExchangeFileCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::ReadExchangeFileCmd()\n"; - } - - fileChooser->SetFileType( CHOOSER_EXCHANGE ); - readUsingTC = 1; - ReadFile(); -} -////////////////////////////////// - -void Probe::ReadExchangeFileCmdPreTC() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::ReadExchangeFileCmd()\n"; - } - - fileChooser->SetFileType( CHOOSER_EXCHANGE ); - readUsingTC = 0; - ReadFile(); -} -////////////////////////////////// - -void Probe::AppendExchangeFileCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::AppendExchangeFileCmd()\n"; - } - - fileChooser->SetFileType( CHOOSER_EXCHANGE ); - readUsingTC = 1; - AppendFile(); -} - -////////////////////////////////// - -void Probe::WriteExchangeFileCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::WriteExchangeFileCmd()\n"; - } - - fileChooser->SetFileType( CHOOSER_EXCHANGE ); - WriteFile(); -} - -////////////////////////////////// - -void Probe::ReadWorkingFileCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::ReadWorkingFileCmd()\n"; - } - - fileChooser->SetFileType( CHOOSER_WORKING ); - readUsingTC = 1; - ReadFile(); -} -////////////////////////////////// - -void Probe::ReadWorkingFileCmdPreTC() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::ReadWorkingFileCmd()\n"; - } - - fileChooser->SetFileType( CHOOSER_WORKING ); - readUsingTC = 0; - ReadFile(); -} -////////////////////////////////// - -void Probe::AppendWorkingFileCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::AppendWorkingFileCmd()\n"; - } - - fileChooser->SetFileType( CHOOSER_WORKING ); - readUsingTC = 1; - AppendFile(); -} -////////////////////////////////// - -void Probe::WriteWorkingFileCmd() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::WriteWorkingFileCmd()\n"; - } - - fileChooser->SetFileType( CHOOSER_WORKING ); - WriteFile(); -} - -void Probe::VerifyInstsCmd() { - ErrorDescriptor e; - - Severity sev = instMgr->VerifyInstances( e ); - - if( sev < SEVERITY_NULL ) { - ErrorMsg( e.UserMsg() ); - cerr << e.DetailMsg(); - } else { - ErrorMsg( "All instances are complete." ); - } -} - -void Probe::RemoveDelInstsCmd() { - char str[BUFSIZ]; - str[0] = '\0'; - - sprintf( str, "%s.del", autoSaveFile ); - - Cursor * origCursor = GetCursor(); - SetProbeCursor( hourglass ); - - Severity sev = fileMgr->WriteWorkingFile( str ); - if( sev < SEVERITY_NULL ) { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ErrorMsg( fileMgr->Error().UserMsg() ); - cerr << fileMgr->Error().DetailMsg(); - fileMgr->Error().ClearErrorMsg(); - } - - // might want to check (based on sev) whether user wants to continue - // if (sev < SEVERITY_USER_MSG) return ; - - fileMgr->ReadWorkingFile( str ); - ListEntityInstances(); - - SetProbeCursor( origCursor ); -} - -void Probe::ClearInstanceListCmd() { - if( headerDisplay ) { - delete headerDisplay; - headerDisplay = 0; - } - entityInstanceList->Clear(); - instMgr->ClearInstances(); -} - -void -Probe::InsertHeaderEditor() { - if( !headerDisplay ) { - InstMgr * headerIM = fileMgr->HeaderInstances(); - headerDisplay = new HeaderDisplay( headerIM, this, 0 ); - } - - if( headerDisplay->IsMapped() ) { - ErrorMsg( "Header Editor is already on the screen." ); - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } else { - Frame * framedHE = new Frame( headerDisplay, 2 ); -// World* worldPtr = GetWorld(); - World * worldPtr = ::world; - -// Coord x, y; - -// char winName[128]; -// winName[0] = '\0'; -// sprintf(winName, "dp - %s", "Header Editor"); -//IVBUG framedHE->SetName(winName); -//IVBUG framedHE->SetIconName("Header Editor"); - - worldPtr->InsertToplevel( framedHE, this, - ( int )( worldPtr->Width() / 2 ), ( int )( worldPtr->Height() / 2 ), - Center ); -// worldPtr->InsertToplevel(framedHE, this); - } -} - -void -Probe::RemoveHeaderEditor() { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::RemoveHeaderEditor()\n"; - } - -// World* worldPtr = GetWorld(); - World * worldPtr = ::world; - - if( headerDisplay ) { - Frame * framedHE = ( Frame * ) headerDisplay->Parent(); - - if( headerDisplay->IsMapped() ) { - worldPtr->Remove( framedHE ); - framedHE->Remove( headerDisplay ); - delete framedHE; - } - } -// delete headerDisplay; -} - -void Probe::EditHeaderInstancesCmd() { - InsertHeaderEditor(); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// Command options called from the Main STEPentity display list -// -/////////////////////////////////////////////////////////////////////////////// - -void Probe::UpdateCmdList( int index, char cmd, int cmdCol ) { - MgrNode * mn = instMgr -> GetMgrNode( index ); - - switch( cmd ) { - case SAVE_COMPLETE_CMD_CHAR: -// if(mn->CurrState() == completeSE) - cmdMgr->SaveCompleteCmdList( mn ); - entityInstanceList->WriteCmdChar( cmd, cmdCol, index ); - break; - case SAVE_INCOMPLETE_CMD_CHAR: - cmdMgr->SaveIncompleteCmdList( mn ); - entityInstanceList->WriteCmdChar( cmd, cmdCol, index ); - break; - case DELETE_CMD_CHAR: - cmdMgr->DeleteCmdList( mn ); - entityInstanceList->WriteCmdChar( cmd, cmdCol, index ); - break; - case MODIFY_CMD_CHAR: - if( mn->DisplayState() != mappedWrite ) { - cmdMgr->ModifyCmdList( mn ); - entityInstanceList->WriteCmdChar( cmd, cmdCol, index ); - } - break; - case VIEW_CMD_CHAR: - if( mn->DisplayState() != mappedView ) { - cmdMgr->ViewCmdList( mn ); - entityInstanceList->WriteCmdChar( cmd, cmdCol, index ); - } - break; - case CLOSE_CMD_CHAR: - if( ( mn->DisplayState() == mappedWrite ) || - ( mn->DisplayState() == mappedView ) ) { - cmdMgr->CloseCmdList( mn ); - entityInstanceList->WriteCmdChar( cmd, cmdCol, index ); - } - break; - case REPLICATE_CMD_CHAR: - cmdMgr->ReplicateCmdList( mn ); - entityInstanceList->WriteCmdChar( cmd, cmdCol, index ); - break; - case EXECUTE_CMD_CHAR: - ExecuteInstanceCmds(); - break; - case UNMARK_CMD_CHAR: - sedlUnmark( mn, index ); - break; -// case CANCEL_CMD_CHAR: -// cmdMgr->CancelCmdList(mn); -// break; -// case NEW_CMD_CHAR: - } - -} - -////////////////////////////////// - -void Probe::ExecuteInstanceCmds() { - ExecuteDelete(); - ExecuteSaveComplete(); - ExecuteSaveIncomplete(); - ExecuteModify(); - ExecuteView(); - ExecuteClose(); - ExecuteReplicate(); -} -////////////////////////////////// - -void Probe::ExecuteSaveComplete() { - MgrNode * listHead = cmdMgr->GetHead( completeSE ); - MgrNode * mn = ( MgrNode * )listHead->Next(); - int index; - MgrNode * mnNext; - while( mn && mn != listHead ) { - index = mn->ArrayIndex(); - mnNext = ( MgrNode * )mn->Next(); - sedlSaveComplete( mn, index ); - mn = mnNext; - } - cmdMgr->ClearEntries( completeSE ); -} -////////////////////////////////// - -void Probe::ExecuteSaveIncomplete() { - MgrNode * listHead = cmdMgr->GetHead( incompleteSE ); - MgrNode * mn = ( MgrNode * )listHead->Next(); - int index; - MgrNode * mnNext; - while( mn && mn != listHead ) { - index = mn->ArrayIndex(); - mnNext = ( MgrNode * )mn->Next(); - sedlSaveIncomplete( mn, index ); - mn = mnNext; - } - cmdMgr->ClearEntries( incompleteSE ); -} -////////////////////////////////// - -void Probe::ExecuteDelete() { - MgrNode * listHead = cmdMgr->GetHead( deleteSE ); - MgrNode * mn = ( MgrNode * )listHead->Next(); - int index; - MgrNode * mnNext; - while( mn && mn != listHead ) { - index = mn->ArrayIndex(); - mnNext = ( MgrNode * )mn->Next(); - mn->ChangeState( deleteSE ); - entityInstanceList->WriteCmdChar( DELETE_STATE_CHAR, - DELETE_STATE_COL, index ); - entityInstanceList->WriteCmdChar( ' ', DELETE_CMD_COL, - index ); - mn = mnNext; - } - cmdMgr->ClearEntries( deleteSE ); -} -////////////////////////////////// - -void Probe::ExecuteReplicate() { - ReplicateLinkNode * rn = cmdMgr->GetReplicateHead(); - MgrNode * mn; - int index; - while( rn ) { - mn = rn->ReplicateNode(); - index = mn->ArrayIndex(); - // this assignment must be before the sedlReplicate() call - rn = ( ReplicateLinkNode * )rn->NextNode(); - sedlReplicate( mn, index ); - } -// cmdMgr->ClearReplicateEntries(); -} -////////////////////////////////// - -void Probe::ExecuteModify() { - DisplayNode * listHead = cmdMgr->GetHead( mappedWrite ); - DisplayNode * dn = ( DisplayNode * )listHead->Next(); - MgrNode * mn = dn->mgrNode(); - int index; - while( dn && dn != listHead ) { - index = mn->ArrayIndex(); - sedlModify( mn, index ); - dn = ( DisplayNode * )dn->Next(); - mn = dn->mgrNode(); - } - cmdMgr->ClearEntries( mappedWrite ); -} -////////////////////////////////// - -void Probe::ExecuteView() { - DisplayNode * listHead = cmdMgr->GetHead( mappedView ); - DisplayNode * dn = ( DisplayNode * )listHead->Next(); - MgrNode * mn = dn->mgrNode(); - int index; - while( dn && dn != listHead ) { - index = mn->ArrayIndex(); - sedlView( mn, index ); - dn = ( DisplayNode * )dn->Next(); - mn = dn->mgrNode(); - } - cmdMgr->ClearEntries( mappedView ); -} -////////////////////////////////// - -void Probe::ExecuteClose() { - DisplayNode * listHead = cmdMgr->GetHead( notMapped ); - DisplayNode * dn = ( DisplayNode * )listHead->Next(); - MgrNode * mn = dn->mgrNode(); - int index; - while( dn && dn != listHead ) { - index = mn->ArrayIndex(); - sedlClose( mn, index ); - dn = ( DisplayNode * )dn->Next(); - mn = dn->mgrNode(); - } - cmdMgr->ClearEntries( notMapped ); -} -////////////////////////////////// - -boolean Probe::sedlSaveComplete( MgrNode * mn, int index ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::sedlSaveComplete()\n"; - } - - if( index >= 0 ) { -// MgrNode *mn = (*instMgr)[index]; - if( mn->IsDisplayState( mappedWrite ) || mn->IsDisplayState( mappedView ) || - mn->IsDisplayState( notMapped ) ) -// if(mn->IsDisplayState(mappedWrite) || mn->IsDisplayState(mappedView) ) - { - DisplayNode * dn = mn->displayNode(); - ( ( StepEntityEditor * )dn->SEE() )->PressButton( SEE_SAVE_COMPLETE ); - if( mn->CurrState() == completeSE ) { - // BUG not really, decide if seeSave will remove this node from - // the entity instance list save command list. - it does DAS - - // remove from save to do list -// mn->Remove(); - // remove indicator of being on list -// entityInstanceList->WriteCmdChar(' ', SAVE_COMPLETE_CMD_COL, -// index); - return true; - } else { - return false; - } - } else { - STEPentity * entity = mn->GetSTEPentity(); - Severity s = entity->ValidLevel( &( entity->Error() ), instMgr, 1 ); - if( s >= SEVERITY_USERMSG ) { - mn->ChangeState( completeSE ); - entityInstanceList->WriteCmdChar( SAVE_COMPLETE_STATE_CHAR, - SAVE_COMPLETE_STATE_COL, index ); - // remove from save to do list - mn->Remove(); - // remove indicator of being on list - entityInstanceList->WriteCmdChar( ' ', SAVE_COMPLETE_CMD_COL, - index ); - return true; - } else { - mn->ChangeState( incompleteSE ); - entityInstanceList->WriteCmdChar( SAVE_INCOMPLETE_STATE_CHAR, - SAVE_INCOMPLETE_STATE_COL, index ); - // (if it's on) to do list for saving complete, leave on -// entityInstanceList->WriteCmdChar(' ', SAVE_INCOMPLETE_CMD_COL, -// index); - return false; // else else => end result couldn't save complete - } - } - } else { - return false; - } -} -////////////////////////////////// - -boolean Probe::sedlSaveIncomplete( MgrNode * mn, int index ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::sedlSaveIncomplete()\n"; - } - if( index >= 0 ) { - if( mn->IsDisplayState( mappedWrite ) || mn->IsDisplayState( mappedView ) || - mn->IsDisplayState( notMapped ) ) -// if(mn->IsDisplayState(mappedWrite) || mn->IsDisplayState(mappedView)) - { - DisplayNode * dn = mn->displayNode(); - ( ( StepEntityEditor * )dn->SEE() )->PressButton( SEE_SAVE_INCOMPLETE ); - if( mn->CurrState() == incompleteSE ) { - // BUG not really, decide if seeSave will remove this node from - // the entity instance list save command list. - it does DAS - - // remove from save to do list -// mn->Remove(); - // remove indicator of being on list -// entityInstanceList->WriteCmdChar(' ', SAVE_INCOMPLETE_CMD_COL, -// index); -// return true; - } -// else -// return false; -// seeSaveIncomplete() doesn't copy the values from the SEE -// seeSaveIncomplete(mn->SEE()); - } else { - mn->ChangeState( incompleteSE ); - entityInstanceList->WriteCmdChar( SAVE_INCOMPLETE_STATE_CHAR, - SAVE_INCOMPLETE_STATE_COL, index ); - // remove from save to do list - mn->Remove(); - // remove indicator of being on list - entityInstanceList->WriteCmdChar( ' ', SAVE_INCOMPLETE_CMD_COL, - index ); - } - return 1; - } else { - return false; - } -} -////////////////////////////////// - -void Probe::sedlUnmark( MgrNode * mn, int index ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::sedlUnmark()\n"; - } - - // remove any change edit state cmd and write over cmd char. - mn->Remove(); // remove from list of intended actions for CmdMgr - entityInstanceList->WriteCmdChar( ' ', SAVE_COMPLETE_CMD_COL, index ); - - // remove any change display state cmd and write over cmd char. - DisplayNode * dn = mn->displayNode(); - if( dn ) { - dn->Remove(); // remove from list of intended actions for CmdMgr - } - entityInstanceList->WriteCmdChar( ' ', MODIFY_CMD_COL, index ); - - // remove from the list of entities to replicate and write over cmd char - entityInstanceList->WriteCmdChar( ' ', REPLICATE_CMD_COL, index ); -} -////////////////////////////////// - -void Probe::sedlDelete( MgrNode * mn, int index ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::sedlDelete()\n"; - } - if( index >= 0 ) { - if( mn->IsDisplayState( mappedWrite ) || mn->IsDisplayState( mappedView ) || - mn->IsDisplayState( notMapped ) ) { - DisplayNode * dn = mn->displayNode(); - ( ( StepEntityEditor * )dn->SEE() )->PressButton( SEE_DELETE ); - // BUG not really, decide if seeSave will remove this node from - // the entity instance list save command list. - it does DAS - - // remove from save to do list -// mn->Remove(); - // remove indicator of being on list -// entityInstanceList->WriteCmdChar(' ', DELETE_CMD_COL, -// index); - } else { - mn->ChangeState( deleteSE ); - // remove from save to do list - mn->Remove(); - entityInstanceList->WriteCmdChar( DELETE_STATE_CHAR, - DELETE_STATE_COL, index ); - // remove indicator of being on list - entityInstanceList->WriteCmdChar( ' ', DELETE_CMD_COL, - index ); - } -// return 1; - }// else return false; -} -////////////////////////////////// - -void Probe::sedlReplicate( MgrNode * existMN, int index ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::sedlReplicate()\n"; - } - -// entityInstanceList->WriteCmdChar(' ', REPLICATE_CMD_COL, index); - - STEPentity * seExist = existMN->GetSTEPentity(); - STEPentity * seNew; -// EntityDescriptor *ed = seExist->EntityDescriptor; - -// if(seNew = ed->NewSTEPentity()){ - if( seNew = seExist->Replicate() ) { - - cmdMgr->RepList()->Remove( existMN ); - entityInstanceList->WriteCmdChar( ' ', REPLICATE_CMD_COL, index ); - - std::string instanceInfo; - - // BUG remove the next line when it is generated by the core - AssignFileId( seNew ); - // this will probably be replaced with an InstanceMgr function. - // also this probably doesn't make sense until the se can be - // marked as incomplete since it doesn't have any values yet - MgrNode * mn = instMgr->Append( seNew, newSE ); - if( !mn->displayNode() ) { - mn->displayNode() = new DisplayNode( mn ); - } - DisplayNode * dn = mn->displayNode(); - dn->SEE( GetStepEntityEditor( mn, 0 ) ); - StepEntityEditor * see = ( StepEntityEditor * )dn->SEE(); - - seNew->STEPwrite( instanceInfo ); - int newIndex = entityInstanceList->Append( instanceInfo.c_str() ); - mn->ArrayIndex( newIndex ); - entityInstanceList->WriteCmdChar( NEW_STATE_CHAR, - NEW_STATE_COL, newIndex ); - entityInstanceList->WriteCmdChar( MODIFY_STATE_CHAR, - MODIFY_STATE_COL, newIndex ); - - mn->ChangeState( mappedWrite ); - InsertSEE( see ); -// see->Validate(); -// see->Edit(); - } else { - ErrorMsg( "Could not replicate selected instance." ); - } -} -////////////////////////////////// - -void Probe::sedlModify( MgrNode * mn, int index ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::sedlModify()\n"; - } - - StepEntityEditor * see; - if( index >= 0 ) { -// MgrNode *mn = (*instMgr)[index]; - DisplayNode * dn = mn->displayNode(); - - switch( mn->DisplayState() ) { - case mappedView: - ( ( StepEntityEditor * )dn->SEE() )->PressButton( SEE_MODIFY ); - mn->ChangeState( mappedWrite ); - entityInstanceList->WriteCmdChar( MODIFY_STATE_CHAR, - MODIFY_STATE_COL, index ); - entityInstanceList->WriteCmdChar( ' ', MODIFY_CMD_COL, - index ); - break; - case noMapState: - if( !dn ) { - mn->displayNode() = new DisplayNode( mn ); - } - dn = mn->displayNode(); - dn->SEE( GetStepEntityEditor( mn, 0 ) ); -// ((StepEntityEditor *)dn->SEE())->Validate(); - case notMapped: - see = ( StepEntityEditor * )dn->SEE(); - InsertSEE( see ); - see->PressButton( SEE_MODIFY ); - mn->ChangeState( mappedWrite ); - entityInstanceList->WriteCmdChar( MODIFY_STATE_CHAR, - MODIFY_STATE_COL, index ); - entityInstanceList->WriteCmdChar( ' ', MODIFY_CMD_COL, - index ); - break; - case mappedWrite: - if( GetTopLevelWindow() ) { - GetTopLevelWindow()->raise(); - } - break; - default: - break; - } - } else { - ErrorMsg( "Select an instance from the Entity Instance List first." ); - } -} -////////////////////////////////// - -void Probe::sedlView( MgrNode * mn, int index ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::sedlView()\n"; - } - - StepEntityEditor * see; - if( index >= 0 ) { -// MgrNode *mn = (*instMgr)[index]; - DisplayNode * dn = mn->displayNode(); - - switch( mn->DisplayState() ) { - case mappedWrite: - ( ( StepEntityEditor * )dn->SEE() )->PressButton( SEE_VIEW ); - mn->ChangeState( mappedView ); - entityInstanceList->WriteCmdChar( VIEW_STATE_CHAR, - VIEW_STATE_COL, index ); - entityInstanceList->WriteCmdChar( ' ', VIEW_CMD_COL, - index ); - break; - case noMapState: - if( !dn ) { - mn->displayNode() = new DisplayNode( mn ); - } - dn = mn->displayNode(); - dn->SEE( GetStepEntityEditor( mn, 0 ) ); -// ((StepEntityEditor *)dn->SEE())->Validate(); -// dn->SEE(GetStepEntityEditor(mn, 0, 0)); - case notMapped: - see = ( StepEntityEditor * )dn->SEE(); - InsertSEE( see ); - see->PressButton( SEE_VIEW ); - mn->ChangeState( mappedView ); - entityInstanceList->WriteCmdChar( VIEW_STATE_CHAR, - VIEW_STATE_COL, index ); - entityInstanceList->WriteCmdChar( ' ', VIEW_CMD_COL, - index ); - break; - case mappedView: - canvas->window()->raise(); -// if(GetTopLevelWindow()) -// GetTopLevelWindow()->raise(); - break; - default: - break; - } - } else { - ErrorMsg( "Select an instance from the Entity Instance List first." ); - } -} -////////////////////////////////// - -void Probe::sedlClose( MgrNode * mn, int index ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "Probe::sedlClose()\n"; - } - - StepEntityEditor * see; - if( index >= 0 ) { -// MgrNode *mn = (*instMgr)[index]; - DisplayNode * dn = mn->displayNode(); - - switch( mn->DisplayState() ) { - case mappedWrite: - case mappedView: - see = ( StepEntityEditor * )dn->SEE(); - mn->ChangeState( notMapped ); - RemoveSEE( see ); - // write over the cmd and the state indicator in type list - entityInstanceList->WriteCmdChar( ' ', VIEW_STATE_COL, - index ); - entityInstanceList->WriteCmdChar( ' ', VIEW_CMD_COL, index ); - break; - case notMapped: - default: - // write over the cmd and state indicator in instance list - entityInstanceList->WriteCmdChar( ' ', VIEW_STATE_COL, - index ); - entityInstanceList->WriteCmdChar( ' ', VIEW_CMD_COL, index ); - break; - } - } else { - ErrorMsg( "Select an instance from the Entity Instance List first." ); - } -} -////////////////////////////////// diff --git a/src/clprobe-ui/probe.h b/src/clprobe-ui/probe.h deleted file mode 100644 index 52f8346ed..000000000 --- a/src/clprobe-ui/probe.h +++ /dev/null @@ -1,238 +0,0 @@ -#ifndef probe_h -#define probe_h - -/* -* NIST Data Probe Class Library -* clprobe-ui/probe.h -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: probe.h,v 1.1 1998/02/27 17:52:00 sauderd Exp $ */ - -class Probe; - -#include -#include -#include -#include -#include // ivfasd/mystrbrowser.h - -// SCL -#include - -#include -#include -#include // ivfasd/errordisplay.h -#include // "./seinstdisp.h" -#include // "./setypedisp.h" -#include // "./stepenteditor.h" -#include // "./stepenteditor.h" -#include -#include -#include -#include -#include - -#include - -#include - -class ListItemChooser; - -/////////////////////////////////////////////////////////////////////////////// -// -// Class Probe definition -// -/////////////////////////////////////////////////////////////////////////////// - -class Probe : public MonoScene { - private: - int readUsingTC; - InstMgr * instMgr; - Registry * registry; - STEPfile * fileMgr; - CmdMgr * cmdMgr; - sclFileChooser * fileChooser; - HeaderDisplay * headerDisplay; - - seInstListDisplay * entityInstanceList; - seTypeListDisplay * entityTypeList; - - MyMenuBar * functionsMenuBar; - MyMenu * functionsMenu; - - MyMenuBar * schemaMgmtMenuBar; - MyMenu * schemaMgmtMenu; - - MyMenuBar * instanceMgmtMenuBar; - MyMenu * instanceMgmtMenu; - - MyMenuBar * fileMgmtMenuBar; - MyMenu * fileMgmtMenu; - - ErrorDisplay * errorDisp; - // Auto Save happens after every AutoSaveCount loops in Probe::Run() - static int autoSaveCount; - static char * autoSaveFile; // This is the Auto Save File. - - Interactor * b; - - public: - - Probe(); - ~Probe(); - void Run(); - - int AutoSave(); - int ChooseAutoSaveFile(); - void WriteBackupFileCmd() { - AutoSave(); - } - void ChooseBackupFileCmd() { - ChooseAutoSaveFile(); - } - - void ErrorMsg( const char * msg ) { - errorDisp->ErrorMsg( msg ); - }; - - InstMgr * GetInstMgr() { - return instMgr; - } - void AssignFileId( STEPentity * se ); - -//NEW (below) - void UpdateCmdList( int index, char cmd, int cmdCol ); - void ExecuteInstanceCmds(); - void ExecuteSaveComplete(); - void ExecuteSaveIncomplete(); - void ExecuteDelete(); - void ExecuteCancel(); - void ExecuteReplicate(); - void ExecuteModify(); - void ExecuteView(); - void ExecuteClose(); - void ExecuteUnmark(); - -//NEW (above) - - // SEE mgmt functions - void seeSaveComplete( StepEntityEditor * see ); - void seeSaveIncomplete( StepEntityEditor * see ); - void seeCancel( StepEntityEditor * see ); - void seeDelete( StepEntityEditor * see ); - void seeReplicate( StepEntityEditor * see ); - void seeOpenSED( StepEntityEditor * see ); - - int seeEdit( StepEntityEditor * see ); - int seeEntityEdit( StepEntityEditor * see ); - int seeEnumEdit( StepEntityEditor * see ); - int seeSelectEdit( StepEntityEditor * see ); - - int seeSelectMark( StepEntityEditor * see ); -// int seeList(StepEntityEditor *see); - void seeToggle( StepEntityEditor * see, int code ); - - // command options called from the STEPentity display list - boolean sedlSaveComplete( MgrNode * mn, int index ); - boolean sedlSaveIncomplete( MgrNode * mn, int index ); - void sedlCancel( MgrNode * mn, int index ); - void sedlDelete( MgrNode * mn, int index ); - void sedlReplicate( MgrNode * mn, int index ); - void sedlModify( MgrNode * mn, int index ); - void sedlView( MgrNode * mn, int index ); - void sedlClose( MgrNode * mn, int index ); - void sedlUnmark( MgrNode * mn, int index ); - /* these are missing because they act on an STEPattribute not a STEPentity - void sedlEdit(int index); - void sedlChooseMark(int index); - void sedlList(int index); - */ - // place objects into the world - Interactor * InsertInteractor( Interactor * i, Alignment align = Center, - Interactor * alignTo = 0 ); - void RemoveInteractor( Interactor * i ); - - void InsertHeaderEditor(); - void RemoveHeaderEditor(); - - void InsertSED( StepEntityDescriptor * sed ); - void RemoveSED( StepEntityDescriptor * sed ); - - void InsertSEE( StepEntityEditor * i ); - void RemoveSEE( StepEntityEditor * i ); - void RemoveSeeIfNotPinned( StepEntityEditor * see, MgrNode * mn ); - void SetProbeCursor( Cursor * c ); - - boolean IsMapped(); - - void ReadFile(); - void AppendFile(); - void WriteFile(); - // functions_menu - void Quit() { - exit( 0 ); - }; - void Refresh() { }; - // schema_mgmt_menu - void ListEntityTypesCmd(); - void DescribeEntityCmd(); - void SelectSchemaCmd(); - // instance_mgmt_menu - void CreateInstanceCmd(); - void ModifyInstanceCmd(); - void ViewInstanceCmd(); - void CloseInstanceCmd(); - void SaveComplInstanceCmd(); - void SaveIncomplInstanceCmd(); - void ReplicateInstanceCmd(); - void UnmarkInstanceCmd(); - void DeleteInstanceCmd(); - void PrintInstanceCmd(); - void SelectInstanceCmd(); - // file_mgmt_menu - void ReadExchangeFileCmd(); - void ReadExchangeFileCmdPreTC(); - void AppendExchangeFileCmd(); - void WriteExchangeFileCmd(); - - void ReadWorkingFileCmd(); - void ReadWorkingFileCmdPreTC(); - void AppendWorkingFileCmd(); - void WriteWorkingFileCmd(); - - void VerifyInstsCmd(); - void RemoveDelInstsCmd(); - void ClearInstanceListCmd(); - void EditHeaderInstancesCmd(); - void DoNothing() {} - protected: - void WriteInstance( int index ); - void ListEntityInstances(); - StepEntityEditor * GetStepEntityEditor( STEPentity * se, - int modifyBool = 1, int pinBool = 1 ); - StepEntityEditor * GetStepEntityEditor( MgrNode * mn, - int modifyBool = 1, int pinBool = 1 ); - - void BuildSubtypeList( ListItemChooser * lic, EntityDescriptor * ed ); - - private: - void Init(); - void InitEntityInstanceList(); - void InitEntityTypeList(); - void InitMenus(); - - Interactor * ProbeBody(); - Interactor * SEEHelpBody(); - MyPulldownMenu * MakePulldown( const char * name, struct DPMenuInfo * item ); - -}; - -#include - -#endif - diff --git a/src/clprobe-ui/probemain.cc b/src/clprobe-ui/probemain.cc deleted file mode 100644 index c78685f1f..000000000 --- a/src/clprobe-ui/probemain.cc +++ /dev/null @@ -1,137 +0,0 @@ - -/* -* NIST Data Probe Class Library -* clprobe-ui/probemain.cc -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: probemain.cc,v 3.0.1.1 1997/11/05 23:01:08 sauderd DP3.1 $ */ - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -#include - -//#include // included from world.h - -#include // "./probe.h" - -#include - -#ifdef SCL_LOGGING -#include -ofstream * logStream; -#endif - -static PropertyData properties[] = { - { "*font", "*fixed-medium-r-normal--13*"}, - { "myLabel*font", "*fixed-medium-r-normal--13*"}, - { "*SEEtitle*font", "*helvetica-bold-r-normal--12*"}, - { "*Message*font", "*helvetica-medium-r-normal--12*"}, - { "*Button*font", "*helvetica-medium-r-normal--12*"}, - { "*Banner*font", "*helvetica-bold-r-normal--24-*" }, - { "*Dialog*PushButton*font", "*helvetica-bold-r-normal--12*" }, - //the following entries make the following classes do something. - { "*GenTitleMessage*font", "*times-bold-r-normal--24*" }, - { "*GenTitleItalMessage*font", "*times-medium-i-normal--24*" }, - { "*GenTitleItalMenu*font", "*times-medium-i-normal--14*" }, - { "*BoldMessage*font", "*helvetica-bold-r-normal--12*" }, - { "*BoldMyMessage*font", "*helvetica-bold-r-normal--12*" }, - { "*BigBoldMessage*font", "*helvetica-bold-r-normal--18*" }, - { "*BigBoldMyMessage*font", "*helvetica-bold-r-normal--18*" }, - { "Probe*AutoSaveFreq", "30" }, - { "Probe*AutoSaveFileName", "dpAutoSave.wf" }, - { "Probe*AutoSaveFileDir", "~" }, - { "Probe*Restrict", "0" }, - { nil } -}; - -static OptionDesc options[] = { - { "-saveFile", "Probe*AutoSaveFile", OptionValueNext }, - { "-s", "Probe*AutoSaveFile", OptionValueNext }, - { "-saveFreq", "Probe*AutoSaveFreq", OptionValueNext }, - { "-sf", "Probe*AutoSaveFreq", OptionValueNext }, - { "-restrict", "Probe*Restrict", OptionValueImplicit, "1" }, - { "-r", "Probe*Restrict", OptionValueImplicit, "1" }, - { "-workFile", "Probe*WorkFile", OptionValueNext, }, - { "-wf", "Probe*WorkFile", OptionValueNext, }, - { "-exchangeFile", "Probe*ExchangeFile", OptionValueNext, }, - { "-ef", "Probe*ExchangeFile", OptionValueNext, }, - { nil } -}; - -Probe * dp; -World * world; // warning this variable is used in other files. - -Interactor * AddScroller( Interactor * grid ) { - return new HBox( - new VBox( - new UpMover( grid, 1 ), - new HBorder, - new VScroller( grid ), - new HBorder, - new DownMover( grid, 1 ) - ), - new VBorder, - new MarginFrame( grid, 10 ) - ); -} - - -/***********************************/ - -int main( int argc, char * argv[] ) { -#ifdef SCL_LOGGING - logStream = new ofstream( "scl.log", ios::noreplace ); - if( !*logStream ) { - cerr << "error opening scl.log with ios::noreplace option ; open with ios::ate" << endl ; - ( *logStream ).open( "scl.log", ios::ate ); - } - if( !*logStream ) { - cerr << "error opening scl.log" << endl; - logStream = 0; - } -#endif - world = new World( "Probe", argc, argv, options, properties ); - - Session * session = world->session(); - - dp = new Probe(); - - Shape * s = dp->GetShape(); -// Coord l, b; -//IVBUG world->Align(TopCenter, s->width, s->height, l, b); - // insert main probe window at the TopRight of the root window -// dp->Align(Center, world->Width(), world->Height(), l, b); -// world->InsertApplication(dp, l, b, TopCenter); - world->InsertApplication( dp, ( int )( world->Width() ), ( int )( world->Height() ), - TopRight ); - -// world->InsertApplication(dp); - dp->ListEntityTypesCmd(); - -// dp->Run(); - session->run(); - -}/* end of main */ - -#include diff --git a/src/clprobe-ui/sclfilechooser.cc b/src/clprobe-ui/sclfilechooser.cc deleted file mode 100644 index d62655ff0..000000000 --- a/src/clprobe-ui/sclfilechooser.cc +++ /dev/null @@ -1,118 +0,0 @@ - -/* -* NIST Data Probe Class Library -* clprobe-ui/sclfilechooser.cc -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: sclfilechooser.cc,v 3.0.1.1 1997/11/05 23:01:13 sauderd DP3.1 $ */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -sclFileChooser::sclFileChooser( - const char * title_, const char * subtitle_, const char * dir, - int rows, int cols, const char * acceptLabel, Alignment a, - int restrictBool ) - : MyFileChooser( title_, subtitle_, dir, rows, cols, acceptLabel, a, restrictBool ) { - fileButtonsButSt = new ButtonState( CHOOSER_EXCHANGE ); - exchangeBut = new MyRadioButton( " STEP Exchange File ", - fileButtonsButSt, CHOOSER_EXCHANGE ); - workingBut = new MyRadioButton( " Working File ", - fileButtonsButSt, CHOOSER_WORKING ); - Interactor ** i; - int index = 0; - addButsArea->GetComponents( 0, 0, i, index ); - addButsArea->Remove( i[0] ); -// delete i[0]; -// delete i; - addButsArea->Insert( new VBox( - exchangeBut, - workingBut - ) ); -// addButsArea->Propagate(true); -// addButsArea->Change(); -} - -sclFileChooser::sclFileChooser( - const char * name, const char * title_, const char * subtitle_, - const char * dir, int rows, int cols, const char * acceptLabel, - Alignment a, int restrictBool -) - : MyFileChooser( name, title_, subtitle_, dir, rows, cols, acceptLabel, a, - restrictBool ) { - fileButtonsButSt = new ButtonState( CHOOSER_EXCHANGE ); - exchangeBut = new MyRadioButton( " STEP Exchange File ", - fileButtonsButSt, CHOOSER_EXCHANGE ); - workingBut = new MyRadioButton( " Working File ", - fileButtonsButSt, CHOOSER_WORKING ); - Interactor ** i; - int index = 0; - addButsArea->GetComponents( 0, 0, i, index ); - Remove( i[0] ); -// delete i[0]; -// delete i; - addButsArea->Insert( new VBox( - exchangeBut, - workingBut - ) ); - addButsArea->Propagate( true ); - addButsArea->Change(); -} - - -Interactor * sclFileChooser::Interior( const char * acptLbl ) { - const int space = round( .5 * cm ); - VBox * titleblock = new VBox( - new HBox( title, new HGlue ), - new HBox( subtitle, new HGlue ) - ); - - return new MarginFrame( - new VBox( - titleblock, - new VGlue( space, 0 ), - new Frame( new MarginFrame( _sedit, 2 ) ), - new VGlue( space, 0 ), - new Frame( AddScroller( browser() ) ), - new VGlue( space, 0 ), - new HBox( - new VGlue( space, 0 ), - new HGlue, - new VBox( - new VGlue( round( .05 * inch ), 0 ), - exchangeBut, - new VGlue( round( .05 * inch ), 0 ), - workingBut, - new VGlue( round( .05 * inch ), 0 ) - ), - new HGlue( space, 0 ), - new PushButton( "Cancel", state, '\007' ), - new HGlue( space, 0 ), - new PushButton( acptLbl, state, '\r' ) - ) - ), space, space / 2, 0 - ); -} - -#include diff --git a/src/clprobe-ui/sclfilechooser.h b/src/clprobe-ui/sclfilechooser.h deleted file mode 100644 index d717cc7f2..000000000 --- a/src/clprobe-ui/sclfilechooser.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef SCLFILECHOOSER_H -#define SCLFILECHOOSER_H - -/* -* NIST Data Probe Class Library -* clprobe-ui/sclfilechooser.h -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: sclfilechooser.h,v 3.0.1.1 1997/11/05 23:01:13 sauderd DP3.1 $ */ - -#define CHOOSER_EXCHANGE 1 -#define CHOOSER_WORKING 2 - -#include -class MyFileChooser; -#include - -#include - -class sclFileChooser : public MyFileChooser { - public: - sclFileChooser( - const char * title_ = "Please select a file:", - const char * subtitle_ = "", - const char * dir = "~", - int rows = 10, int cols = 24, - const char * acceptLabel = " Open ", - Alignment a = Center, - int restrictBool = 0 - ); - sclFileChooser( - const char * name, const char * title_, const char * subtitle_, - const char * dir, int rows, int cols, const char * acceptLabel, - Alignment a, int restrictBool = 0 - ); - // the 2 functs below use the defines above: - // CHOOSER_EXCHANGE and CHOOSER_WORKING - int FileType() { - int val = 0; - fileButtonsButSt->GetValue( val ); - return val; - } - void SetFileType( int fileType ) { - fileButtonsButSt->SetValue( fileType ); - } - - protected: - virtual Interactor * Interior( const char * acptlbl ); - - ButtonState * fileButtonsButSt; - MyRadioButton * exchangeBut; - MyRadioButton * workingBut; - - private: - -}; - -#include - -#endif diff --git a/src/clprobe-ui/seedefines.h b/src/clprobe-ui/seedefines.h deleted file mode 100644 index 60bea00d8..000000000 --- a/src/clprobe-ui/seedefines.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef seedefines_h -#define seedefines_h - -/* -* NIST Data Probe Class Library -* clprobe-ui/seedefines.h -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: seedefines.h,v 3.0.1.1 1997/11/05 23:01:08 sauderd DP3.1 $ */ - -#define SEE_SAVE_COMPLETE 1001 -#define SEE_SAVE_INCOMPLETE 1002 -#define SEE_CANCEL 1003 -#define SEE_DELETE 1004 -#define SEE_REPLICATE 1005 -#define SEE_EDIT 1006 -#define SEE_MARK 1007 -#define SEE_LIST 1008 -#define SEE_MODIFY 1009 -#define SEE_VIEW 1010 -#define SEE_ATTR_UNDO 1011 -#define SEE_PIN 1012 -#define SEE_NOT_PIN 1013 -#define SEE_OPEN_SED 1016 -#define SEE_ATTR_INFO 1017 - -#define SEE_NEXT 1014 -#define SEE_PREV 1015 - -#define CONTROL_A ('\001') -#define CONTROL_C ('\003') -#define CONTROL_D ('\004') -#define CONTROL_E ('\005') -#define CONTROL_I ('\011') -#define CONTROL_L ('\f') -#define CONTROL_M ('\r') -#define CONTROL_N ('\016') -#define CARRAIGE_RETURN ('\r') -#define CONTROL_P ('\020') -#define CONTROL_R ('\022') -#define CONTROL_S ('\023') -#define CONTROL_T ('\024') -#define CONTROL_U ('\025') -#define CONTROL_X ('\030') - -// single terminating characters for see editors -static const char * seeTermChars = "\r\016\020\021"; - -#endif diff --git a/src/clprobe-ui/seestreditors.cc b/src/clprobe-ui/seestreditors.cc deleted file mode 100644 index 4cf9fc9f5..000000000 --- a/src/clprobe-ui/seestreditors.cc +++ /dev/null @@ -1,979 +0,0 @@ - -/* -* NIST Data Probe Class Library -* clprobe-ui/seestreditors.cc -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: seestreditors.cc,v 3.0.1.1 1997/11/05 23:01:09 sauderd DP3.1 $ */ - -#include // for printf() -#include // for iscntrl() -#include // for strchr() -#include -#include -#include - -const char RingBell = '\007'; // G -const char Pound = '#'; -const char CommaSpace[] = ", "; -const char CommaSpacePound[] = ", #"; -const char OpenParen = '('; -const char CloseParen = ')'; - -#define EDITOR_TYPE_CHECKING 0 - -int CheckTermChar( char c, const char lastChar, const char * done ) { - if( lastChar == CONTROL_X ) { - switch( c ) { - case CONTROL_S: - case 's': - case 'S': -// printf("^x s - SAVE COMPLETE\n"); - return SEE_SAVE_COMPLETE; - case CONTROL_I: - case 'i': - case 'I': -// printf("^x i - SAVE INCOMPLETE\n"); - return SEE_SAVE_INCOMPLETE; - case CONTROL_C: - case 'c': - case 'C': -// printf("^x c - CANCEL\n"); - return SEE_CANCEL; - case CONTROL_D: - case 'd': - case 'D': -// printf("^x d - DELETE\n"); - return SEE_DELETE; - case CONTROL_R: - case 'r': - case 'R': -// printf("^x r - REPLICATE\n"); - return SEE_REPLICATE; - case CONTROL_E: - case 'e': - case 'E': -// printf("^x e - EDIT\n"); - return SEE_EDIT; - case CONTROL_M: - case 'm': - case 'M': -// printf("^x m - MARK\n"); - return SEE_MARK; - case CONTROL_L: - case 'l': - case 'L': -// printf("^x l - LIST\n"); - return SEE_LIST; - case CONTROL_A: - case 'a': - case 'A': -// printf("^x a - ATTR_INFO\n"); - return SEE_ATTR_INFO; - case CONTROL_T: - case 't': - case 'T': -// printf("^x t - OPEN_SED\n"); - return SEE_OPEN_SED; - case CONTROL_U: - case 'u': - case 'U': -// printf("^x u - ATTRIBUTE UNDO\n"); - return SEE_ATTR_UNDO; - case CONTROL_P: - case 'p': - case 'P': - return SEE_PIN; - } - } else if( strchr( done, c ) != nil ) { - switch( c ) { - case CONTROL_N: - case CARRAIGE_RETURN: - return SEE_NEXT; - case CONTROL_P: - return SEE_PREV; - } - return c; - } - return 0; -}; - -/////////////////////////////////////////////////////////////////////////////// -// -// seeStringEditor class member functions -// -/////////////////////////////////////////////////////////////////////////////// - -seeStringEditor::~seeStringEditor() { -} - -/* - this is defined so the supervisor will be notified before this - seeStringEditor handles it's own event. Since this is defined - StringEditor2::Handle() needs to be called for this object when the - supervisor has done what it wanted to do before this object handled it's - event. You will need to read the event if you don't call Handle() for this - object otherwise this function will cause an infinite loop (i.e. read the - event, unread the event, read the event, unread the event, etc) -*/ -void seeStringEditor::Handle( Event & e ) { - if( e.eventType == DownEvent || e.eventType == KeyEvent ) -// if(e.eventType == 2 || e.eventType == 4) - { - UnRead( e ); - subInfo->SetValue( '\001' ); - subject->SetValue( subInfo ); // don't cast this to (void*) -// setting a value for 'subject' will cause the subject to call -// Notify() which calls StepEntityEditor::Update() since -// StepEntityEditor is Attach()ed to the subject -// StringEditor2::Handle(e); - } else { - StringEditor2::Handle( e ); - } - /* - if (e.target == this) { - } - else - UnRead(e); - */ -} - -void seeStringEditor::NewEdit() { - Event e; - e.target = nil; - e.eventType = EnterEvent; - StringEditor2::Handle( e ); -} - -/////////////////////////////////////////////////////////////////////////////// -// This checks for valid keystrokes that won't be entered into -// the text of the editor. This function is defined for these reasons: -// 1) in order to add two keystroke commands you don't have to -// redefine InsertValidChar() (can use the derived one) -// 2) logically groups the group of non-terminating characters in -// multiple character cmds -// 3) keeps InsertValidChar() from beeping when you type -// non-terminating chars in a 2 char cmd. -/////////////////////////////////////////////////////////////////////////////// - -boolean seeStringEditor::CheckForCmdChars( char c ) { -// if(c == CONTROL_X && lastChar != CONTROL_X) - if( c == CONTROL_X ) { - return true; - } else { // added else because CenterLine could not handle inline without it - return false; - } -} - -int seeStringEditor::TermChar( char c ) { - int rc = CheckTermChar( c, ( const char )lastChar, done ); - if( rc ) { - lastChar = rc; - } - return rc; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeIntEditor class member functions -// -/////////////////////////////////////////////////////////////////////////////// - -seeIntEditor::~seeIntEditor() { -} - -/* - this is defined so the supervisor will be notified before this - seeIntEditor handles it's own event. Since this is defined - StringEditor2::Handle() needs to be called for this object when the - supervisor has done what it wanted to do before this object handled it's - event. You will need to read the event if you don't call Handle() for this - object otherwise this function will cause an infinite loop (i.e. read the - event, unread the event, read the event, unread the event, etc) -*/ -void seeIntEditor::Handle( Event & e ) { - if( e.eventType == DownEvent || e.eventType == KeyEvent ) -// if(e.eventType == 2 || e.eventType == 4) - { - UnRead( e ); - subInfo->SetValue( '\001' ); - subject->SetValue( subInfo ); // don't cast this to (void*) -// call notify for subject (which calls see update) -// StringEditor2::Handle(e); - } else { - StringEditor2::Handle( e ); - } - /* - if (e.target == this) { - } - else - UnRead(e); - */ -} - -void seeIntEditor::NewEdit() { - Event e; - e.target = nil; - e.eventType = EnterEvent; - StringEditor2::Handle( e ); -} - -/////////////////////////////////////////////////////////////////////////////// -// This checks for valid keystrokes that won't be entered into -// the text of the editor. This function is defined for these reasons: -// 1) in order to add two keystroke commands you don't have to -// redefine InsertValidChar() (can use the derived one) -// 2) logically groups the group of non-terminating characters in -// multiple character cmds -// 3) keeps InsertValidChar() from beeping when you type -// non-terminating chars in a 2 char cmd. -/////////////////////////////////////////////////////////////////////////////// - -boolean seeIntEditor::CheckForCmdChars( char c ) { -// if(c == CONTROL_X && lastChar != CONTROL_X) - if( c == CONTROL_X ) { - return true; - } else { // added else because CenterLine could not handle inline without it - return false; - } -} - -int seeIntEditor::TermChar( char c ) { - int rc = CheckTermChar( c, ( const char )lastChar, done ); - if( rc ) { - lastChar = rc; - } - return rc; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeIntAggrEditor class member functions -// -/////////////////////////////////////////////////////////////////////////////// - -seeIntAggrEditor::~seeIntAggrEditor() { - delete subInfo; -} - -void seeIntAggrEditor::Handle( Event & e ) { - if( e.eventType == DownEvent || e.eventType == KeyEvent ) -// if(e.eventType == 2 || e.eventType == 4) - { - UnRead( e ); - subInfo->SetValue( '\001' ); - subject->SetValue( subInfo ); // don't cast this to (void*) -// call notify for subject (which calls see update) -// StringEditor2::Handle(e); - } else { - StringEditor2::Handle( e ); - } - /* - if (e.target == this) { - } - else - UnRead(e); - */ -} - -void seeIntAggrEditor::NewEdit() { - Event e; - e.target = nil; - e.eventType = EnterEvent; - StringEditor2::Handle( e ); -} - -int seeIntAggrEditor::TypeCheck() { - -#if EDITOR_TYPE_CHECKING - - const char * attrVal = text->Text(); - char * curAttr = ( char * )attrVal; - - long int tmpI = 0; - char tmpstr[3]; - int numFound = 0; - char prevCh = '\0'; - while( curAttr ) { - - tmpI = 0; - numFound = sscanf( curAttr, " %ld %1s", &tmpI, tmpstr ); - switch( numFound ) { - case 0: - // 0 => invalid beginning; - numFound = sscanf( curAttr, " %1s", tmpstr ); - if( numFound && tmpstr[0] == ',' ) { - // found null int value - curAttr = strchr( curAttr, ',' ); - curAttr++; - prevCh = ','; - } else { - fprintf( stderr, "%c invalid int aggregate attr value\n", - RingBell ); - fflush( stderr ); - return 0; - } - break; - case 2: - // 2 => invalid ending - if( tmpstr[0] == ',' ) { - curAttr = strchr( curAttr, ',' ); - curAttr++; - prevCh = ','; - } else { - fprintf( stderr, "%c invalid int attr value: '%c'\n", - RingBell, tmpstr[0] ); - fflush( stderr ); - return 0; - } - break; - case EOF: - // EOF => blank field - if( prevCh == '\0' || prevCh == ',' ) { - return SETYPE_SIGNED_INTEGER; - } else { - fprintf( stderr, "%c invalid int attr value: '%c'\n", - RingBell, prevCh ); - fflush( stderr ); - return 0; - } - case 1: - // 1 => success -// printf("edit results returned %s\n", attrVal); - return SETYPE_SIGNED_INTEGER; - } - } -#else - return SETYPE_SIGNED_INTEGER; -#endif -} - -boolean seeIntAggrEditor::InsertValidChar( char c ) { - switch( c ) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case '-': - case '+': - InsertText( &c, 1 ); - return true; - case ' ': - case ',': -// if(left != 0){ // do not insert initial commas - InsertText( CommaSpace, 2 ); - return true; -// } else -// return false; - case OpenParen: // '(' - if( left == 0 ) { - InsertText( &OpenParen, 1 ); - return true; - } else { - return false; - } - case CloseParen: { // ')' - int lastCharIndex = text->Width(); - if( left == lastCharIndex ) { - InsertText( &CloseParen, 1 ); - return true; - } else { - return false; - } - } - default: - return false; - } -} - -void seeIntAggrEditor::SetSubject( int c ) { - if( subject != nil ) { - subInfo->SetValue( c ); - subject->SetValue( subInfo ); // don't cast this to (void*) - // it makes it not work. - } -} - -/////////////////////////////////////////////////////////////////////////////// -// This checks for valid keystrokes that won't be entered into -// the text of the editor. This function is defined for these reasons: -// 1) in order to add two keystroke commands you don't have to -// redefine InsertValidChar() (can use the derived one) -// 2) logically groups the group of non-terminating characters in -// multiple character cmds -// 3) keeps InsertValidChar() from beeping when you type -// non-terminating chars in a 2 char cmd. -/////////////////////////////////////////////////////////////////////////////// - -boolean seeIntAggrEditor::CheckForCmdChars( char c ) { -// if(c == CONTROL_X && lastChar != CONTROL_X) - if( c == CONTROL_X ) { - return true; - } else { // added else because CenterLine could not handle inline without it - return false; - } -} - -int seeIntAggrEditor::TermChar( char c ) { - int rc = CheckTermChar( c, ( const char )lastChar, done ); - if( rc ) { - lastChar = rc; - } - return rc; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeRealEditor class member functions -// -/////////////////////////////////////////////////////////////////////////////// - -seeRealEditor::~seeRealEditor() { -} - -/* - this is defined so the supervisor will be notified before this - seeRealEditor handles it's own event. Since this is defined - StringEditor2::Handle() needs to be called for this object when the - supervisor has done what it wanted to do before this object handled it's - event. You will need to read the event if you don't call Handle() for this - object otherwise this function will cause an infinite loop (i.e. read the - event, unread the event, read the event, unread the event, etc) -*/ -void seeRealEditor::Handle( Event & e ) { - if( e.eventType == DownEvent || e.eventType == KeyEvent ) -// if(e.eventType == 2 || e.eventType == 4) - { - UnRead( e ); - subInfo->SetValue( '\001' ); - subject->SetValue( subInfo ); // don't cast this to (void*) -// call notify for subject (which calls see update) -// StringEditor2::Handle(e); - } else { - StringEditor2::Handle( e ); - } - /* - if (e.target == this) { - } - else - UnRead(e); - */ -} - -void seeRealEditor::NewEdit() { - Event e; - e.target = nil; - e.eventType = EnterEvent; - StringEditor2::Handle( e ); -} - -/////////////////////////////////////////////////////////////////////////////// -// This checks for valid keystrokes that won't be entered into -// the text of the editor. This function is defined for these reasons: -// 1) in order to add two keystroke commands you don't have to -// redefine InsertValidChar() (can use the derived one) -// 2) logically groups the group of non-terminating characters in -// multiple character cmds -// 3) keeps InsertValidChar() from beeping when you type -// non-terminating chars in a 2 char cmd. -/////////////////////////////////////////////////////////////////////////////// - -boolean seeRealEditor::CheckForCmdChars( char c ) { -// if(c == CONTROL_X && lastChar != CONTROL_X) - if( c == CONTROL_X ) { - return true; - } else { // added else because CenterLine could not handle inline without it - return false; - } -} - -int seeRealEditor::TermChar( char c ) { - int rc = CheckTermChar( c, ( const char )lastChar, done ); - if( rc ) { - lastChar = rc; - } - return rc; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeRealAggrEditor class member functions -// -/////////////////////////////////////////////////////////////////////////////// - -seeRealAggrEditor::~seeRealAggrEditor() { - delete subInfo; -} - -void seeRealAggrEditor::Handle( Event & e ) { - if( e.eventType == DownEvent || e.eventType == KeyEvent ) -// if(e.eventType == 2 || e.eventType == 4) - { - UnRead( e ); - subInfo->SetValue( '\001' ); - subject->SetValue( subInfo ); // don't cast this to (void*) -// call notify for subject (which calls see update) -// StringEditor2::Handle(e); - } else { - StringEditor2::Handle( e ); - } - /* - if (e.target == this) { - } - else - UnRead(e); - */ -} - -void seeRealAggrEditor::NewEdit() { - Event e; - e.target = nil; - e.eventType = EnterEvent; - StringEditor2::Handle( e ); -} - -int seeRealAggrEditor::TypeCheck() { - -#if EDITOR_TYPE_CHECKING - - const char * attrVal = text->Text(); - char * curAttr = ( char * )attrVal; - - double tmpD = 0; - char tmpstr[3]; - int numFound = 0; - char prevCh = '\0'; - while( curAttr ) { - - tmpD = 0; - numFound = sscanf( ( char * )text->Text(), "%lf%1s", &tmpD, - tmpstr ); - numFound = sscanf( curAttr, " %lf %1s", &tmpD, tmpstr ); - switch( numFound ) { - case 0: - // 0 => invalid beginning; - numFound = sscanf( curAttr, " %1s", tmpstr ); - if( numFound && tmpstr[0] == ',' ) { - // found null int value - curAttr = strchr( curAttr, ',' ); - curAttr++; - prevCh = ','; - } else { - fprintf( stderr, "%c invalid real aggregate attr value\n", - RingBell ); - fflush( stderr ); - return 0; - } - break; - case 2: - // 2 => invalid ending - if( tmpstr[0] == ',' ) { - curAttr = strchr( curAttr, ',' ); - curAttr++; - prevCh = ','; - } else { - fprintf( stderr, - "%c invalid real aggregate attr value: '%c'\n", - RingBell, tmpstr[0] ); - fflush( stderr ); - return 0; - } - break; - case EOF: - // EOF => blank field - if( prevCh == '\0' || prevCh == ',' ) { - return SETYPE_REAL; - } else { - fprintf( stderr, - "%c invalid real aggregate attr value: '%c'\n", - RingBell, prevCh ); - fflush( stderr ); - return 0; - } - case 1: - // 1 => success -// printf("edit results returned %s\n", attrVal); - return SETYPE_REAL; - } - } -#else - return SETYPE_REAL; -#endif -} - -boolean seeRealAggrEditor::InsertValidChar( char c ) { - switch( c ) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case 'e': - case 'E': - case '.': - case '-': - case '+': - InsertText( &c, 1 ); - return true; - case ' ': - case ',': -// if(left != 0){ // do not insert initial commas - InsertText( CommaSpace, 2 ); - return true; -// } else -// return false; - case OpenParen: // '(' - if( left == 0 ) { - InsertText( &OpenParen, 1 ); - return true; - } else { - return false; - } - case CloseParen: { // ')' - int lastCharIndex = text->Width(); - if( left == lastCharIndex ) { - InsertText( &CloseParen, 1 ); - return true; - } else { - return false; - } - } - default: - return false; - } -} - -void seeRealAggrEditor::SetSubject( int c ) { - if( subject != nil ) { - subInfo->SetValue( c ); - subject->SetValue( subInfo ); // don't cast this to (void*) - // it makes it not work. - } -} - -/////////////////////////////////////////////////////////////////////////////// -// This checks for valid keystrokes that won't be entered into -// the text of the editor. This function is defined for these reasons: -// 1) in order to add two keystroke commands you don't have to -// redefine InsertValidChar() (can use the derived one) -// 2) logically groups the group of non-terminating characters in -// multiple character cmds -// 3) keeps InsertValidChar() from beeping when you type -// non-terminating chars in a 2 char cmd. -/////////////////////////////////////////////////////////////////////////////// - -boolean seeRealAggrEditor::CheckForCmdChars( char c ) { -// if(c == CONTROL_X && lastChar != CONTROL_X) - if( c == CONTROL_X ) { - return true; - } else { // added else because CenterLine could not handle inline without it - return false; - } -} - -int seeRealAggrEditor::TermChar( char c ) { - int rc = CheckTermChar( c, ( const char )lastChar, done ); - if( rc ) { - lastChar = rc; - } - return rc; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeEntityEditor member functions. -// -/////////////////////////////////////////////////////////////////////////////// - -seeEntityEditor::~seeEntityEditor() { - delete subInfo; -} - -void seeEntityEditor::NewEdit() { - Event e; - e.target = nil; - e.eventType = EnterEvent; - StringEditor2::Handle( e ); -} - -void seeEntityEditor::Handle( Event & e ) { - if( e.eventType == DownEvent || e.eventType == KeyEvent ) -// if(e.eventType == 2 || e.eventType == 4) - { - UnRead( e ); - subInfo->SetValue( '\001' ); - subject->SetValue( subInfo ); // don't cast this to (void*) -// call notify for subject (which calls see update) -// StringEditor2::Handle(e); - } else { - StringEditor2::Handle( e ); - } - /* - if (e.target == this) { - } - else - UnRead(e); - */ -} - -int seeEntityEditor::TypeCheck() { -#if EDITOR_TYPE_CHECKING - long int tmpI = 0; - char tmpstr[3]; - int numFound = sscanf( ( char * )text->Text(), "#%ld%1s", &tmpI, - tmpstr ); - switch( numFound ) { - case 0: - // 0 => invalid beginning; - fprintf( stderr, "%c invalid entity attr value\n" , RingBell ); - fflush( stderr ); - return 0; - case 2: - // 2 => invalid ending - fprintf( stderr, "%c invalid entity attr value: '%c'\n", - RingBell, tmpstr[0] ); - fflush( stderr ); - return 0; - case 1: - // 1 => success; -// printf("edit results returned %d\n", numFound); -// printf("attr value: %ld\n", tmpI); - return SETYPE_ENTITY; - case EOF: - // EOF => blank field -// printf("edit results returned %d\n", numFound); -// printf("attr value: %ld\n", tmpI); - return SETYPE_ENTITY; - } -#else - return SETYPE_ENTITY; -#endif -} - -boolean seeEntityEditor::InsertValidChar( char c ) { - switch( c ) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - InsertText( &c, 1 ); - return true; - case ' ': - case Pound: - if( left == 0 ) { - InsertText( &Pound, 1 ); - return true; - } else { - return false; - } - default: - return false; - } -} - - -void seeEntityEditor::SetSubject( int c ) { - if( subject != nil ) { - subInfo->SetValue( c ); - subject->SetValue( subInfo ); // don't cast this to (void*) - // it makes it not work. - } -} - -/////////////////////////////////////////////////////////////////////////////// -// This checks for valid keystrokes that won't be entered into -// the text of the editor. This function is defined for these reasons: -// 1) in order to add two keystroke commands you don't have to -// redefine InsertValidChar() (can use the derived one) -// 2) logically groups the group of non-terminating characters in -// multiple character cmds -// 3) keeps InsertValidChar() from beeping when you type -// non-terminating chars in a 2 char cmd. -/////////////////////////////////////////////////////////////////////////////// - -boolean seeEntityEditor::CheckForCmdChars( char c ) { -// if(c == CONTROL_X && lastChar != CONTROL_X) - if( c == CONTROL_X ) { - return true; - } else { // added else because CenterLine could not handle inline without it - return false; - } -} - -int seeEntityEditor::TermChar( char c ) { - int rc = CheckTermChar( c, ( const char )lastChar, done ); - if( rc ) { - lastChar = rc; - } - return rc; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeEntAggrEditor member functions. -// -/////////////////////////////////////////////////////////////////////////////// - -seeEntAggrEditor::~seeEntAggrEditor() { - delete subInfo; -} - -void seeEntAggrEditor::Handle( Event & e ) { - if( e.eventType == DownEvent || e.eventType == KeyEvent ) -// if(e.eventType == 2 || e.eventType == 4) - { - UnRead( e ); - subInfo->SetValue( '\001' ); - subject->SetValue( subInfo ); // don't cast this to (void*) -// call notify for subject (which calls see update) -// StringEditor2::Handle(e); - } else { - StringEditor2::Handle( e ); - } - /* - if (e.target == this) { - } - else - UnRead(e); - */ -} - -void seeEntAggrEditor::NewEdit() { - Event e; - e.target = nil; - e.eventType = EnterEvent; - StringEditor2::Handle( e ); -} - -int seeEntAggrEditor::TypeCheck() { -#if EDITOR_TYPE_CHECKING - long int tmpI = 0; - char tmpstr[3]; - int numFound = sscanf( ( char * )text->Text(), "#%ld%1s", &tmpI, - tmpstr ); - switch( numFound ) { - case 0: - // 0 => invalid beginning; - fprintf( stderr, "%c invalid entity aggregate attr value\n" , - RingBell ); - fflush( stderr ); - return 0; - case 2: - // 2 => invalid ending - fprintf( stderr, - "%c invalid entity aggregate attr value: '%c'\n", - RingBell, tmpstr[0] ); - fflush( stderr ); - return 0; - case 1: - case EOF: - // 1 => success; EOF => blank field -// printf("edit results returned %d\n", numFound); -// printf("attr value: %ld\n", tmpI); - return SETYPE_ENTITY_AGGR; - } -#else - return SETYPE_ENTITY_AGGR; -#endif -} - -boolean seeEntAggrEditor::InsertValidChar( char c ) { - switch( c ) { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - InsertText( &c, 1 ); - return true; - case OpenParen: // '(' - if( left == 0 ) { - InsertText( &OpenParen, 1 ); - return true; - } else { - return false; - } - case ' ': - case '#': - InsertText( &Pound, 1 ); - return true; - case ',': - InsertText( CommaSpacePound, 3 ); - return true; - case CloseParen: { // ')' - int lastCharIndex = text->Width(); - if( left == lastCharIndex ) { - InsertText( &CloseParen, 1 ); - return true; - } else { - return false; - } - } - default: - return false; - } -} - - -void seeEntAggrEditor::SetSubject( int c ) { - if( subject != nil ) { - subInfo->SetValue( c ); - subject->SetValue( subInfo ); // don't cast this to (void*) - // it makes it not work. - } -} - -/////////////////////////////////////////////////////////////////////////////// -// This checks for valid keystrokes that won't be entered into -// the text of the editor. This function is defined for these reasons: -// 1) in order to add two keystroke commands you don't have to -// redefine InsertValidChar() (can use the derived one) -// 2) logically groups the group of non-terminating characters in -// multiple character cmds -// 3) keeps InsertValidChar() from beeping when you type -// non-terminating chars in a 2 char cmd. -/////////////////////////////////////////////////////////////////////////////// - -boolean seeEntAggrEditor::CheckForCmdChars( char c ) { -// if(c == CONTROL_X && lastChar != CONTROL_X) - if( c == CONTROL_X ) { - return true; - } else { // added else because CenterLine could not handle inline without it - return false; - } -} - -int seeEntAggrEditor::TermChar( char c ) { - int rc = CheckTermChar( c, ( const char )lastChar, done ); - if( rc ) { - lastChar = rc; - } - return rc; -} diff --git a/src/clprobe-ui/seestreditors.h b/src/clprobe-ui/seestreditors.h deleted file mode 100644 index b99fd3abc..000000000 --- a/src/clprobe-ui/seestreditors.h +++ /dev/null @@ -1,443 +0,0 @@ - -#ifndef seestreditors_h -#define seestreditors_h - -/* -* NIST Data Probe Class Library -* clprobe-ui/seestreditors.h -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: seestreditors.h,v 3.0.1.1 1997/11/05 23:01:09 sauderd DP3.1 $ */ - -/* - * seeStringEditor - Interactive editor for strings based on StringEditor2Sub. - * This object adds checking for two character terminating - * characters such a ^X^S or ^X S. - * - * seeIntEditor - Interactive editor for strings of integers based - * on IntStringEditorSub. This object adds checking for - * two character terminating characters such a ^X^S or - * ^X S. - * - * seeRealEditor - Same as above except for real numbers and based - * on RealStringEditorSub. - * - * seeEntityEditor - Interactive editor for character strings based on - * on StringEditor2. This object accepts only entity - * references (i.e. #number). This is - * done by redefining InsertValidChar(char c). It - * performs type checking when a terminating char is - * typed by redefining TypeCheck(). - * - * seeEntAggrEditor - Interactive editor for character strings based - * on EntityStringEditor. This one is sociable with - * a supervisor. In addition to supplying the - * supervisor with the terminating char it also - * returns a pointer to itself. - * It does this by redefining SetSubject() to - * communicate with the supervisor supplying the - * fields contained in class SubordinateInfo. - * - */ - -#include // ivfasd/intstreditorsub.h -#include // ivfasd/streditor2sub.h -#include // ivfasd/intstreditor2sub.h - -int CheckTermChar( char c, const char lastChar, const char * done ); -#define SETYPE_ENTITY 7 -#define SETYPE_ENTITY_AGGR 8 - -#include - -/////////////////////////////////////////////////////////////////////////////// -// -// seeStringEditor class definition -// -/////////////////////////////////////////////////////////////////////////////// - -class seeStringEditor : public StringEditor2Sub { - public: - seeStringEditor( ButtonState * bs, const char * sample, int width = 0, - const char * singleTermChars = seeTermChars ); - seeStringEditor( const char * name, ButtonState * bs, const char * sample, - int width = 0, const char * singleTermChars = seeTermChars ); - virtual ~seeStringEditor(); - virtual void Handle( Event & ); - virtual void NewEdit(); - virtual int TypeCheck() { - return SETYPE_STRING; - } - - protected: - boolean CheckForCmdChars( char c ); - int TermChar( char c ); - - private: - void Init(); -}; - -/////////////////////////////////////////////////////////////////////////////// -// -// seeIntEditor class definition -// -/////////////////////////////////////////////////////////////////////////////// - -class seeIntEditor : public IntStringEditorSub { - public: - seeIntEditor( ButtonState * bs, const char * sample, int width = 0, - const char * singleTermChars = seeTermChars ); - seeIntEditor( const char * name, ButtonState * bs, const char * sample, - int width = 0, const char * singleTermChars = seeTermChars ); - virtual ~seeIntEditor(); - virtual void Handle( Event & ); - virtual void NewEdit(); - virtual int TypeCheck() { - return SETYPE_SIGNED_INTEGER; - } - - protected: - boolean CheckForCmdChars( char c ); - int TermChar( char c ); - - private: - void Init(); -}; - -/////////////////////////////////////////////////////////////////////////////// -// -// seeIntAggrEditor class definition -// -/////////////////////////////////////////////////////////////////////////////// - -class seeIntAggrEditor : public StringEditor2 { - protected: - SubordinateInfo * subInfo; - public: - seeIntAggrEditor( ButtonState * bs, const char * sample, int width = 0, - const char * singleTermChars = seeTermChars ); - seeIntAggrEditor( const char * name, ButtonState * bs, const char * sample, - int width = 0, const char * singleTermChars = seeTermChars ); - virtual ~seeIntAggrEditor(); - - // returns SETYPE_ for success - // otherwise returns zero. - virtual int TypeCheck(); - virtual void SetSubject( int c ); - virtual void Handle( Event & ); - virtual void NewEdit(); - - protected: - virtual boolean InsertValidChar( char c ); - boolean CheckForCmdChars( char c ); - int TermChar( char c ); - private: - void Init(); -}; - -/////////////////////////////////////////////////////////////////////////////// -// -// seeRealEditor class definition -// -/////////////////////////////////////////////////////////////////////////////// - -class seeRealEditor : public RealStringEditorSub { - public: - seeRealEditor( ButtonState * bs, const char * sample, int width = 0, - const char * singleTermChars = seeTermChars ); - seeRealEditor( const char * name, ButtonState * bs, const char * sample, - int width = 0, const char * singleTermChars = seeTermChars ); - virtual ~seeRealEditor(); - virtual void Handle( Event & ); - virtual void NewEdit(); - virtual int TypeCheck() { - return SETYPE_REAL; - } - - protected: - boolean CheckForCmdChars( char c ); - int TermChar( char c ); - - private: - void Init(); -}; - -/////////////////////////////////////////////////////////////////////////////// -// -// seeRealAggrEditor class definition -// -/////////////////////////////////////////////////////////////////////////////// - -class seeRealAggrEditor : public StringEditor2 { - protected: - SubordinateInfo * subInfo; - public: - seeRealAggrEditor( ButtonState * bs, const char * sample, int width = 0, - const char * singleTermChars = seeTermChars ); - seeRealAggrEditor( const char * name, ButtonState * bs, const char * sample, - int width = 0, const char * singleTermChars = seeTermChars ); - virtual ~seeRealAggrEditor(); - - // returns SETYPE_ for success - // otherwise returns zero. - virtual int TypeCheck(); - virtual void SetSubject( int c ); - virtual void Handle( Event & ); - virtual void NewEdit(); - - protected: - virtual boolean InsertValidChar( char c ); - boolean CheckForCmdChars( char c ); - int TermChar( char c ); - private: - void Init(); -}; - -/////////////////////////////////////////////////////////////////////////////// -// -// seeEntityEditor class definition -// -/////////////////////////////////////////////////////////////////////////////// - -class seeEntityEditor : public StringEditor2 { - protected: - SubordinateInfo * subInfo; - public: - seeEntityEditor( ButtonState * bs, const char * sample, int width = 0, - const char * singleTermChars = seeTermChars ); - seeEntityEditor( const char * name, ButtonState * bs, const char * sample, - int width = 0, const char * singleTermChars = seeTermChars ); - virtual ~seeEntityEditor(); - - // returns SETYPE_ENTITY for success - // otherwise returns zero. - virtual int TypeCheck(); - virtual void SetSubject( int c ); - virtual void Handle( Event & ); - virtual void NewEdit(); - - protected: - virtual boolean InsertValidChar( char c ); - boolean CheckForCmdChars( char c ); - int TermChar( char c ); - private: - void Init(); -}; - -/////////////////////////////////////////////////////////////////////////////// -// -// seeEntAggrEditor class definition -// -/////////////////////////////////////////////////////////////////////////////// - -class seeEntAggrEditor : public StringEditor2 { - protected: - SubordinateInfo * subInfo; - public: - seeEntAggrEditor( ButtonState * bs, const char * sample, int width = 0, - const char * singleTermChars = seeTermChars ); - seeEntAggrEditor( const char * name, ButtonState * bs, const char * sample, - int width = 0, const char * singleTermChars = seeTermChars ); - virtual ~seeEntAggrEditor(); - - // returns SETYPE_ENTITY - // otherwise returns zero. - virtual int TypeCheck(); - virtual void SetSubject( int c ); - virtual void Handle( Event & ); - virtual void NewEdit(); - - protected: - virtual boolean InsertValidChar( char c ); - boolean CheckForCmdChars( char c ); - int TermChar( char c ); - private: - void Init(); -}; - -/////////////////////////////////////////////////////////////////////////////// -// -// seeStringEditor class inline member functions -// -/////////////////////////////////////////////////////////////////////////////// - -inline void seeStringEditor::Init() { - SetClassName( "seeStringEditor" ); -} - -inline seeStringEditor::seeStringEditor( - ButtonState * bs, const char * Sample, int width, const char * singleTermChars -) : StringEditor2Sub( bs, Sample, singleTermChars, width ) { - Init(); -} - -inline seeStringEditor::seeStringEditor( - const char * name, ButtonState * bs, const char * Sample, int width, - const char * singleTermChars -) : StringEditor2Sub( bs, Sample, singleTermChars, width ) { - SetInstance( name ); - Init(); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeIntEditor class inline member functions -// -/////////////////////////////////////////////////////////////////////////////// - -inline void seeIntEditor::Init() { - SetClassName( "seeIntEditor" ); -} - -inline seeIntEditor::seeIntEditor( - ButtonState * bs, const char * Sample, int width, const char * singleTermChars -) : IntStringEditorSub( bs, Sample, singleTermChars, width ) { - Init(); -} - -inline seeIntEditor::seeIntEditor( - const char * name, ButtonState * bs, const char * Sample, int width, - const char * singleTermChars -) : IntStringEditorSub( bs, Sample, singleTermChars, width ) { - SetInstance( name ); - Init(); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeIntAggrEditor inline functions -// -/////////////////////////////////////////////////////////////////////////////// - -inline void seeIntAggrEditor::Init() { - SetClassName( "seeIntAggrEditor" ); - subInfo = new SubordinateInfo( 0, this ); -} - -inline seeIntAggrEditor::seeIntAggrEditor( - ButtonState * bs, const char * Sample, int width, const char * singleTermChars -) : StringEditor2( bs, Sample, singleTermChars, width ) { - Init(); -} - -inline seeIntAggrEditor::seeIntAggrEditor( - const char * name, ButtonState * bs, const char * Sample, int width, - const char * singleTermChars -) : StringEditor2( bs, Sample, singleTermChars, width ) { - SetInstance( name ); - Init(); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeRealEditor class inline member functions -// -/////////////////////////////////////////////////////////////////////////////// - -inline void seeRealEditor::Init() { - SetClassName( "seeRealEditor" ); -} - -inline seeRealEditor::seeRealEditor( - ButtonState * bs, const char * Sample, int width, const char * singleTermChars ) - : RealStringEditorSub( bs, Sample, singleTermChars, width ) { - Init(); -} - -inline seeRealEditor::seeRealEditor( - const char * name, ButtonState * bs, const char * Sample, int width, - const char * singleTermChars -) : RealStringEditorSub( bs, Sample, singleTermChars, width ) { - SetInstance( name ); - Init(); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeRealAggrEditor class inline member functions -// -/////////////////////////////////////////////////////////////////////////////// - -/////////////////////////////////////////////////////////////////////////////// -// -// seeRealAggrEditor inline functions -// -/////////////////////////////////////////////////////////////////////////////// - -inline void seeRealAggrEditor::Init() { - SetClassName( "seeRealAggrEditor" ); - subInfo = new SubordinateInfo( 0, this ); -} - -inline seeRealAggrEditor::seeRealAggrEditor( - ButtonState * bs, const char * Sample, int width, const char * singleTermChars -) : StringEditor2( bs, Sample, singleTermChars, width ) { - Init(); -} - -inline seeRealAggrEditor::seeRealAggrEditor( - const char * name, ButtonState * bs, const char * Sample, int width, - const char * singleTermChars -) : StringEditor2( bs, Sample, singleTermChars, width ) { - SetInstance( name ); - Init(); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeEntityEditor inline functions -// -/////////////////////////////////////////////////////////////////////////////// - -inline void seeEntityEditor::Init() { - SetClassName( "seeEntityEditor" ); - subInfo = new SubordinateInfo( 0, this ); -} - -inline seeEntityEditor::seeEntityEditor( - ButtonState * bs, const char * Sample, int width, const char * singleTermChars -) : StringEditor2( bs, Sample, singleTermChars, width ) { - Init(); -} - -inline seeEntityEditor::seeEntityEditor( - const char * name, ButtonState * bs, const char * Sample, int width, - const char * singleTermChars -) : StringEditor2( bs, Sample, singleTermChars, width ) { - SetInstance( name ); - Init(); -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeEntAggrEditor inline functions -// -/////////////////////////////////////////////////////////////////////////////// - -inline void seeEntAggrEditor::Init() { - SetClassName( "seeEntAggrEditor" ); - subInfo = new SubordinateInfo( 0, this ); -} - -inline seeEntAggrEditor::seeEntAggrEditor( - ButtonState * bs, const char * Sample, int width, const char * singleTermChars -) : StringEditor2( bs, Sample, singleTermChars, width ) { - Init(); -} - -inline seeEntAggrEditor::seeEntAggrEditor( - const char * name, ButtonState * bs, const char * Sample, int width, - const char * singleTermChars -) : StringEditor2( bs, Sample, singleTermChars, width ) { - SetInstance( name ); - Init(); -} - -#include - -#endif diff --git a/src/clprobe-ui/seinstdisp.cc b/src/clprobe-ui/seinstdisp.cc deleted file mode 100644 index 24c39a663..000000000 --- a/src/clprobe-ui/seinstdisp.cc +++ /dev/null @@ -1,317 +0,0 @@ - -/* -* NIST Data Probe Class Library -* clprobe-ui/seinstdisp.cc -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: seinstdisp.cc,v 3.0.1.1 1997/11/05 23:01:10 sauderd DP3.1 $ */ - -#include -#include - -#include -#include -#include -#include // ivfasd/variousmessage.h -#include // probe-ui/seinstdisp.h -#include // "./probe.h" - -// these have been moved to instcmdbufdisp.cc -//const int OrigColSize = 80; // this is the num of cols in the orig window -//const int OrigRowSize = 40; // this is the num of rows in the orig window - -const char carriageReturn = '\r'; - -const int entityInstanceListRows = 40; // any number of rows are allowed -const int entityInstanceListCols = 157; // this is the num of cols allowed -const boolean entityInstanceListUnique = true; -//const char entityInstanceListDone[] = "\r\022\023"; -const char entityInstanceListDone[5] = { - ILD_MODIFY_ACTION, - carriageReturn, - ILD_FORWARD_SEARCH, - ILD_BACKWARD_SEARCH, - 0 -}; - -const int entityInstanceListHighlight = Reversed; - -const char searchDone[4] = { ILD_FORWARD_SEARCH, ILD_BACKWARD_SEARCH, - carriageReturn, 0 - }; - -static const char RingBell = '\007'; // G - -extern Interactor * AddScroller( Interactor * grid ); -extern Probe * dp; - -/////////////////////////////////////////////////////////////////////////////// - -seInstListDisplay::seInstListDisplay() { -//IVBUG SetName("Data Probe Instances List"); -//IVBUG SetIconName("DP Instances List"); - - input = new Sensor; - // this object won't use key events but it will catch them only to be - // stolen by other object that use them. This e.g. enables the user to - // type chars into the search box without the cursor being inside it. - input->Catch( KeyEvent ); - entityInstanceListButSt = new ButtonState( 0 ); - entityInstanceListButSt->Attach( this ); - entityInstanceList = new InstCmdBufDisp( entityInstanceListButSt, - entityInstanceListRows, entityInstanceListCols, - entityInstanceListDone ); -// entityInstanceList = new MyStringBrowser(entityInstanceListButSt, -// entityInstanceListRows, entityInstanceListCols, -// entityInstanceListUnique, entityInstanceListHighlight, -// entityInstanceListDone); - - CreateButtons(); - Scene::Insert( new MarginFrame( - new VBox( - new BigBoldMessage( " Entity Instance List " ), - new Frame( AddScroller( entityInstanceList ) ), - new VGlue( ILD_VSPACE, ILD_VSPACE, 0 ), - new VBox( - new HBox( - new VBox( - new HBox( - new HGlue( round( .01 * inch ) ), - new Message( "Search Substring " ), - new HGlue( round( .01 * inch ) ), - caseSearchBut, - new HGlue( round( .01 * inch ) ) - ), - new VGlue( round( .01 * inch ) ), - new Frame( searchBuf ) - ), - new HGlue( ILD_HSPACE ), - new VBox( - forwardSearchBut, - new VGlue( round( .01 * inch ), round( .01 * inch ), 0 ), - backwardSearchBut - ) - ), - new VGlue( ILD_VSPACE, ILD_VSPACE, 0 ), - new Message( - "Each button executes its action immediately on the" ), - new Message( - "selected instance. The 'Execute' button executes all" ), - new Message( - "of the marks next to the instances. Use the key" ), - new Message( - "bindings to mark the instances" ) - ), - new VGlue( ILD_VSPACE, ILD_VSPACE, 0 ), - new HBox( - new VBox( - completeBut, - new VGlue( ILD_VSPACE, ILD_VSPACE, 0 ), - incompleteBut, - new VGlue( ILD_VSPACE, ILD_VSPACE, 0 ), - replicateBut, - new VGlue( ILD_VSPACE, ILD_VSPACE, 0 ) - ), - new HGlue( ILD_HSPACE, ILD_HSPACE, 0 ), - new VBox( - executeBut, - new VGlue( ILD_VSPACE, ILD_VSPACE, 0 ), - unmarkBut, - new VGlue( ILD_VSPACE, ILD_VSPACE, 0 ), - deleteBut, - new VGlue( ILD_VSPACE, ILD_VSPACE, vfil ) - ), - new HGlue( ILD_HSPACE, ILD_HSPACE, 0 ), - new VBox( - modifyBut, - new VGlue( ILD_VSPACE, ILD_VSPACE, 0 ), - viewBut, - new VGlue( ILD_VSPACE, ILD_VSPACE, 0 ), - closeBut, - new VGlue( ILD_VSPACE, ILD_VSPACE, vfil ) - ), - new HGlue( ILD_HSPACE, ILD_HSPACE, hfil ) - ) - ), 5 ) ); -} - -void seInstListDisplay::CreateButtons() { - - searchBufButSt = new ButtonState( 0 ); - searchBufButSt->Attach( this ); - searchBuf = new StringEditor2( searchBufButSt, "", searchDone, 30 ); - - searchButtonsButSt = new ButtonState( ILD_FORWARD_SEARCH ); - forwardSearchBut = new MyRadioButton( "Search Forward (^s)", - searchButtonsButSt, ILD_FORWARD_SEARCH ); - backwardSearchBut = new MyRadioButton( "Reverse Search (^r)", - searchButtonsButSt, ILD_BACKWARD_SEARCH ); - - caseButtonButSt = new ButtonState( ILD_IGNORE_CASE ); - caseSearchBut = new MyCheckBox( "Consider Case", - caseButtonButSt, - ILD_CONSIDER_CASE, ILD_IGNORE_CASE ); - - buttonsButSt = new ButtonState( 0 ); - buttonsButSt->Attach( this ); - - completeBut = new MyPushButton( "Save Complete (s)", buttonsButSt, - ILD_COMPLETE_ACTION ); - incompleteBut = new MyPushButton( "Save Incomplete (i)", buttonsButSt, - ILD_INCOMPLETE_ACTION ); - replicateBut = new MyPushButton( "Replicate (r)", buttonsButSt, - ILD_REPLICATE_ACTION ); -// replicateBut->Disable(); - executeBut = new MyPushButton( "Execute (x)", buttonsButSt, - ILD_EXECUTE_ACTION ); - unmarkBut = new MyPushButton( "Unmark (u)", buttonsButSt, - ILD_UNMARK_ACTION ); - deleteBut = new MyPushButton( "Delete (d)", buttonsButSt, ILD_DELETE_ACTION ); - - viewBut = new MyPushButton( "View (v)", buttonsButSt, ILD_VIEW_ACTION ); - modifyBut = new MyPushButton( "Modify (m)", buttonsButSt, ILD_MODIFY_ACTION ); - closeBut = new MyPushButton( "Close (c)", buttonsButSt, ILD_CLOSE_ACTION ); -} - -void seInstListDisplay::Update() { - int value = 0; - int ignoreCase = 0; - int startIndex; - int indexFound; - - entityInstanceListButSt->GetValue( value ); -// if(value == '\r') { - if( value == ILD_MODIFY_ACTION ) { - dp->ErrorMsg( "Modify Instance" ); - entityInstanceListButSt->Detach( this ); - entityInstanceListButSt->SetValue( 0 ); - entityInstanceListButSt->Attach( this ); - dp->ModifyInstanceCmd(); - } else { -// if(value != ILD_BACKWARD_SEARCH && value != ILD_FORWARD_SEARCH) - if( value != ILD_BACKWARD_SEARCH && value != ILD_FORWARD_SEARCH && - value != ILD_MODIFY_ACTION && value != '\r' ) { - searchBufButSt->GetValue( value ); - searchBufButSt->Detach( this ); - searchBufButSt->SetValue( 0 ); - searchBufButSt->Attach( this ); - if( value == '\r' ) { - searchButtonsButSt->GetValue( value ); - } - } else { - if( value == '\r' ) { - searchButtonsButSt->GetValue( value ); - } - entityInstanceListButSt->Detach( this ); - entityInstanceListButSt->SetValue( 0 ); - entityInstanceListButSt->Attach( this ); - } - switch( value ) { - case ILD_FORWARD_SEARCH: - caseButtonButSt->GetValue( ignoreCase ); - - startIndex = entityInstanceList->Selection() + 1; - if( startIndex > entityInstanceList->Count() - 1 ) { - startIndex = 0; - } - if( ignoreCase == TLD_IGNORE_CASE ) - indexFound = entityInstanceList->SearchForward( - ( char * )searchBuf->Text(), startIndex, - 1 ); - else - indexFound = entityInstanceList->SearchForward( - ( char * )searchBuf->Text(), startIndex, - 0 ); - - if( indexFound >= 0 ) { - entityInstanceList->UnselectAll(); - entityInstanceList->Select( indexFound ); - entityInstanceList->ScrollTo( indexFound ); - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } - break; - case ILD_BACKWARD_SEARCH: - startIndex = entityInstanceList->Selection() - 1; - if( startIndex < 0 ) { - startIndex = entityInstanceList->Count() - 1; - } - indexFound = entityInstanceList->SearchBackward( - ( char * )searchBuf->Text(), startIndex ); - if( indexFound >= 0 ) { - entityInstanceList->UnselectAll(); - entityInstanceList->Select( indexFound ); - entityInstanceList->ScrollTo( indexFound ); - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } - break; - default: - CheckButtons(); - break; - } - } -} - - -void seInstListDisplay::Insert( const char * s, int index ) { - entityInstanceList->Insert( s, index ); -} - -int seInstListDisplay::Append( const char * s ) { - entityInstanceList->Append( s ); - return entityInstanceList->MaxIndex(); -} - -void seInstListDisplay::Remove( int index ) { - entityInstanceList->Remove( index ); -} - -void seInstListDisplay::ReplaceText( const char * s, int index ) { - entityInstanceList->ReplaceText( s, index ); -} - -void seInstListDisplay::CheckButtons() { - int value; - buttonsButSt->GetValue( value ); - buttonsButSt->Detach( this ); - buttonsButSt->SetValue( 0 ); - buttonsButSt->Attach( this ); - int index = 0; - switch( value ) { - case ILD_COMPLETE_ACTION : - dp->SaveComplInstanceCmd(); - break; - case ILD_INCOMPLETE_ACTION : - dp->SaveIncomplInstanceCmd(); - break; - case ILD_REPLICATE_ACTION : - dp->ReplicateInstanceCmd(); - break; - case ILD_EXECUTE_ACTION : - dp->ExecuteInstanceCmds(); - break; - case ILD_UNMARK_ACTION : - dp->UnmarkInstanceCmd(); - break; - case ILD_DELETE_ACTION : - dp->DeleteInstanceCmd(); - break; - case ILD_VIEW_ACTION : - dp->ViewInstanceCmd(); - break; - case ILD_MODIFY_ACTION : - dp->ModifyInstanceCmd(); - break; - case ILD_CLOSE_ACTION : - dp->CloseInstanceCmd(); - break; - } -} diff --git a/src/clprobe-ui/seinstdisp.h b/src/clprobe-ui/seinstdisp.h deleted file mode 100644 index ce4f0e032..000000000 --- a/src/clprobe-ui/seinstdisp.h +++ /dev/null @@ -1,172 +0,0 @@ - -#ifndef seinstdisp_h -#define seinstdisp_h - -/* -* NIST Data Probe Class Library -* clprobe-ui/seinstdisp.h -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: seinstdisp.h,v 3.0.1.1 1997/11/05 23:01:10 sauderd DP3.1 $ */ - -#include -#include -#include // ivfasd/mystrbrowser.h -#include -#include - -#include - -#include - -// forward is ^s - backward is ^r -#define ILD_FORWARD_SEARCH '\023' -#define ILD_BACKWARD_SEARCH '\022' -#define ILD_CONSIDER_CASE '\000' -#define ILD_IGNORE_CASE '\001' - -#define ILD_COMPLETE_ACTION 1 -#define ILD_INCOMPLETE_ACTION 2 -#define ILD_REPLICATE_ACTION 3 - -#define ILD_EXECUTE_ACTION 4 -#define ILD_UNMARK_ACTION 5 -#define ILD_DELETE_ACTION 6 - -#define ILD_VIEW_ACTION 7 -#define ILD_MODIFY_ACTION 8 -#define ILD_CLOSE_ACTION 9 - -#define ILD_VSPACE (round(.15*inch)) -#define ILD_HSPACE (round(.15*inch)) - -class seInstListDisplay : public Frame { - public: - seInstListDisplay(); - // overrule scene's virtual function to do nothing - void Insert( Interactor * ) { }; - - void Update(); - -// operations on the list - void Browse(); - virtual void Insert( const char *, int index ); - virtual int Append( const char * ); // returns the index where appended - virtual void Remove( int index ); - virtual void ReplaceText( const char * s, int index ); - InstCmdBufDisp * GetInstCmdBuf() { - return entityInstanceList; - } - char * CmdString( int index, char * str, int strSize ) { - return entityInstanceList->CmdString( index, str, strSize ); - } - void AdvanceSelection( int index ) { - entityInstanceList->AdvanceSelection( index ); - } - - void WriteCmdChar( char ch, int cmdColIndex, int rowIndex ) { - entityInstanceList->WriteChar( ch, cmdColIndex, rowIndex ); - } - int Index( const char * ); - char * String( int ); - int Count(); - void Clear(); - - void Select( int index ); - void Unselect( int index ); - void UnselectAll(); - int Selection( int selindex = 0 ); - int SelectionIndex( int index ); - int Selections(); - boolean Selected( int index ); - void CheckButtons(); - - private: - void CreateButtons(); - - private: -// MyStringBrowser *entityInstanceList; - InstCmdBufDisp * entityInstanceList; - ButtonState * entityInstanceListButSt; - - StringEditor2 * searchBuf; - ButtonState * searchBufButSt; - ButtonState * searchButtonsButSt; - MyRadioButton * forwardSearchBut; - MyRadioButton * backwardSearchBut; - ButtonState * caseButtonButSt; - MyCheckBox * caseSearchBut; - - ButtonState * buttonsButSt; - - MyPushButton * completeBut; - MyPushButton * incompleteBut; - MyPushButton * replicateBut; - - MyPushButton * executeBut; - MyPushButton * unmarkBut; - MyPushButton * deleteBut; - - MyPushButton * viewBut; - MyPushButton * modifyBut; - MyPushButton * closeBut; -}; - -/////////////////////////////////////////////////////////////////////////////// - -inline void seInstListDisplay::Browse() { - entityInstanceList->Browse(); -} - -inline int seInstListDisplay::Index( const char * s ) { - return entityInstanceList->Index( s ); -} - -inline char * seInstListDisplay::String( int index ) { - return entityInstanceList->String( index ); -} - -inline int seInstListDisplay::Count() { - return entityInstanceList->Count(); -} - -inline void seInstListDisplay::Clear() { - entityInstanceList->Clear(); -} - -inline void seInstListDisplay::Select( int index ) { - entityInstanceList->Select( index ); -} - -inline void seInstListDisplay::Unselect( int index ) { - entityInstanceList->Unselect( index ); -} - -inline void seInstListDisplay::UnselectAll() { - entityInstanceList->UnselectAll(); -} - -inline int seInstListDisplay::Selection( int selindex ) { - return entityInstanceList->Selection( selindex ); -} - -inline int seInstListDisplay::SelectionIndex( int index ) { - return entityInstanceList->SelectionIndex( index ); -} - -inline int seInstListDisplay::Selections() { - return entityInstanceList->Selections(); -} - -inline boolean seInstListDisplay::Selected( int index ) { - return entityInstanceList->Selected( index ); -} - -#include - -#endif diff --git a/src/clprobe-ui/setypedisp.cc b/src/clprobe-ui/setypedisp.cc deleted file mode 100644 index e4d41505e..000000000 --- a/src/clprobe-ui/setypedisp.cc +++ /dev/null @@ -1,341 +0,0 @@ - -/* -* NIST Data Probe Class Library -* clprobe-ui/setypedisp.cc -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: setypedisp.cc,v 3.0.1.1 1997/11/05 23:01:11 sauderd DP3.1 $ */ - -#include -#include - -#include -#include -#include // ivfasd/variousmessage.h -#include // ./setypedisp.h -#include // "./probe.h" - -#include - -const char carriageReturn = '\r'; -static const char searchDone[4] = { TLD_FORWARD_SEARCH, TLD_BACKWARD_SEARCH, - carriageReturn, 0 - }; - -const int entityTypeListRows = 36; -const int entityTypeListCols = 50; -const boolean entityTypeListUnique = true; -const char entityTypeListDone[6] = { - 'c', - 't', - TLD_FORWARD_SEARCH, - TLD_BACKWARD_SEARCH, - carriageReturn, - 0 -}; -// TLD_CREATE_ACTION, -// TLD_INFO_ACTION, -//const char entityTypeListDone[] = "\r\022\023"; -const int entityTypeListHighlight = Reversed; - -static const char RingBell = '\007'; // G - -extern Interactor * AddScroller( Interactor * grid ); -extern Probe * dp; - -/////////////////////////////////////////////////////////////////////////////// - -seTypeListDisplay::seTypeListDisplay() { -//IVBUG SetName("Data Probe Types List"); -//IVBUG SetIconName("DP Types List"); - - entityTypeListButSt = new ButtonState( 0 ); - entityTypeListButSt->Attach( this ); - entityTypeList = new MyStringBrowser( entityTypeListButSt, - entityTypeListRows, entityTypeListCols, - entityTypeListUnique, entityTypeListHighlight, - entityTypeListDone ); - - CreateButtons(); - Scene::Insert( new MarginFrame( - new VBox( - new BigBoldMessage( " Entity Type List " ), - new Frame( AddScroller( entityTypeList ) ), - new VGlue( TLD_VSPACE, TLD_VSPACE, 0 ), - new HBox( - new VBox( - new HBox( - new HGlue( round( .01 * inch ) ), - new Message( "Search Substring " ), - new HGlue( round( .01 * inch ) ), - caseSearchBut, - new HGlue( round( .01 * inch ) ) - ), - new VGlue( round( .01 * inch ) ), - new Frame( searchBuf ) - ), - new HGlue( TLD_HSPACE ), - new VBox( - forwardSearchBut, - new VGlue( round( .01 * inch ), round( .01 * inch ), 0 ), - backwardSearchBut - ) - ), - new VGlue( TLD_VSPACE, TLD_VSPACE, 0 ), - new HBox( - new HGlue( TLD_HSPACE, TLD_HSPACE, hfil ), - createBut, - new HGlue( TLD_HSPACE, TLD_HSPACE, hfil ), - infoBut, - new HGlue( TLD_HSPACE, TLD_HSPACE, hfil ) - ) - ), 5 ) ); -} - -void seTypeListDisplay::CreateButtons() { - searchBufButSt = new ButtonState( 0 ); - searchBufButSt->Attach( this ); - searchBuf = new StringEditor2( searchBufButSt, "", searchDone, 30 ); - - searchButtonsButSt = new ButtonState( TLD_FORWARD_SEARCH ); - forwardSearchBut = new MyRadioButton( "Search Forward (^s)", - searchButtonsButSt, TLD_FORWARD_SEARCH ); - backwardSearchBut = new MyRadioButton( "Reverse Search (^r)", - searchButtonsButSt, TLD_BACKWARD_SEARCH ); - - caseButtonButSt = new ButtonState( TLD_IGNORE_CASE ); - caseSearchBut = new MyCheckBox( "Consider Case", - caseButtonButSt, - TLD_CONSIDER_CASE, TLD_IGNORE_CASE ); - - buttonsButSt = new ButtonState( 0 ); - buttonsButSt->Attach( this ); - - infoBut = new MyPushButton( "Type Information (t)", buttonsButSt, - TLD_INFO_ACTION ); - createBut = new MyPushButton( "Create (c)", buttonsButSt, - TLD_CREATE_ACTION ); -} - -void seTypeListDisplay::Update() { - int value = 0; - int ignoreCase = 0; - int startIndex; - int indexFound; - - entityTypeListButSt->GetValue( value ); -// if(value == '\r') { -// if(value == TLD_CREATE_ACTION) { - if( value == 'c' ) { - dp->ErrorMsg( "Create Instance" ); - entityTypeListButSt->Detach( this ); - entityTypeListButSt->SetValue( 0 ); - entityTypeListButSt->Attach( this ); - dp->CreateInstanceCmd(); - } else { - if( value != ILD_BACKWARD_SEARCH && value != ILD_FORWARD_SEARCH && - value != 'c' && value != 't' && value != '\r' ) { - searchBufButSt->GetValue( value ); - searchBufButSt->Detach( this ); - searchBufButSt->SetValue( 0 ); - searchBufButSt->Attach( this ); - if( value == '\r' ) { - searchButtonsButSt->GetValue( value ); - } - } else { - if( value == '\r' ) { - searchButtonsButSt->GetValue( value ); - } - entityTypeListButSt->Detach( this ); - entityTypeListButSt->SetValue( 0 ); - entityTypeListButSt->Attach( this ); - } - switch( value ) { - case TLD_FORWARD_SEARCH : - caseButtonButSt->GetValue( ignoreCase ); - - searchBufButSt->Detach( this ); - searchBufButSt->SetValue( 0 ); - searchBufButSt->Attach( this ); - startIndex = entityTypeList->Selection() + 1; - if( startIndex > entityTypeList->Count() - 1 ) { - startIndex = 0; - } - if( ignoreCase == TLD_IGNORE_CASE ) - indexFound = entityTypeList->SearchForward( - ( char * )searchBuf->Text(), startIndex, - 1 ); - else - indexFound = entityTypeList->SearchForward( - ( char * )searchBuf->Text(), startIndex, - 0 ); - if( indexFound >= 0 ) { - entityTypeList->UnselectAll(); - entityTypeList->Select( indexFound ); - entityTypeList->ScrollTo( indexFound ); - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } - break; - case TLD_BACKWARD_SEARCH : - caseButtonButSt->GetValue( ignoreCase ); - - searchBufButSt->Detach( this ); - searchBufButSt->SetValue( 0 ); - searchBufButSt->Attach( this ); - startIndex = entityTypeList->Selection() - 1; - if( startIndex < 0 ) { - startIndex = entityTypeList->Count() - 1; - } - if( ignoreCase == TLD_IGNORE_CASE ) - indexFound = entityTypeList->SearchBackward( - ( char * )searchBuf->Text(), startIndex, - 1 ); - else - indexFound = entityTypeList->SearchBackward( - ( char * )searchBuf->Text(), startIndex, - 0 ); - if( indexFound >= 0 ) { - entityTypeList->UnselectAll(); - entityTypeList->Select( indexFound ); - entityTypeList->ScrollTo( indexFound ); - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } - break; - case 'c': - dp->ErrorMsg( "Create Instance" ); - dp->CreateInstanceCmd(); - break; - case 't': - dp->ErrorMsg( "Display STEP entity type info." ); - dp->DescribeEntityCmd(); - break; - default: - buttonsButSt->GetValue( value ); - buttonsButSt->Detach( this ); - buttonsButSt->SetValue( 0 ); - buttonsButSt->Attach( this ); -// if(value == TLD_CREATE_ACTION || value == '\r') { - if( value == TLD_CREATE_ACTION ) { - dp->ErrorMsg( "Create Instance" ); - dp->CreateInstanceCmd(); - } else if( value == TLD_INFO_ACTION ) { - dp->ErrorMsg( "Display STEP entity type info." ); - dp->DescribeEntityCmd(); - } - break; - } - } - /***************************** - if(value == '\r') { - dp->ErrorMsg("Create Instance"); - entityTypeListButSt->Detach(this); - entityTypeListButSt->SetValue(0); - entityTypeListButSt->Attach(this); - dp->CreateInstanceCmd(); - } - else - { - if(value != ILD_BACKWARD_SEARCH && value != ILD_FORWARD_SEARCH) - { - searchBufButSt->GetValue(value); - searchBufButSt->Detach(this); - searchBufButSt->SetValue(0); - searchBufButSt->Attach(this); - if(value == '\r') - searchButtonsButSt->GetValue(value); - } - else - { - entityTypeListButSt->Detach(this); - entityTypeListButSt->SetValue(0); - entityTypeListButSt->Attach(this); - } - switch(value) - { - case TLD_FORWARD_SEARCH : - searchBufButSt->Detach(this); - searchBufButSt->SetValue(0); - searchBufButSt->Attach(this); - startIndex = entityTypeList->Selection() + 1; - if(startIndex > entityTypeList->Count() - 1) - startIndex = 0; - indexFound = entityTypeList->SearchForward( - (char *)searchBuf->Text(), startIndex); - if(indexFound >= 0) - { - entityTypeList->UnselectAll(); - entityTypeList->Select(indexFound); - entityTypeList->ScrollTo(indexFound); - } - else - { - fprintf(stderr, "%c" , RingBell); - fflush(stderr); - } - break; - case TLD_BACKWARD_SEARCH : - searchBufButSt->Detach(this); - searchBufButSt->SetValue(0); - searchBufButSt->Attach(this); - startIndex = entityTypeList->Selection() - 1; - if(startIndex < 0) - startIndex = entityTypeList->Count() - 1; - indexFound = entityTypeList->SearchBackward( - (char *)searchBuf->Text(), startIndex); - if(indexFound >= 0) - { - entityTypeList->UnselectAll(); - entityTypeList->Select(indexFound); - entityTypeList->ScrollTo(indexFound); - } - else - { - fprintf(stderr, "%c" , RingBell); - fflush(stderr); - } - break; - default: - buttonsButSt->GetValue(value); - buttonsButSt->Detach(this); - buttonsButSt->SetValue(0); - buttonsButSt->Attach(this); - if(value == TLD_CREATE_ACTION || value == '\r') { - dp->ErrorMsg("Create Instance"); - dp->CreateInstanceCmd(); - } - else if(value == TLD_INFO_ACTION) { - dp->ErrorMsg( - "Display STEP entity type info not implemented yet."); - } - break; - } - } - *********************/ -} - -void seTypeListDisplay::Insert( const char * s, int index ) { - entityTypeList->Insert( s, index ); -} - -void seTypeListDisplay::Append( const char * s ) { - entityTypeList->Append( s ); -} - -void seTypeListDisplay::Remove( int index ) { - entityTypeList->Remove( index ); -} - -void seTypeListDisplay::ReplaceText( const char * s, int index ) { - entityTypeList->ReplaceText( s, index ); -} - -#include diff --git a/src/clprobe-ui/setypedisp.h b/src/clprobe-ui/setypedisp.h deleted file mode 100644 index 4a2717c14..000000000 --- a/src/clprobe-ui/setypedisp.h +++ /dev/null @@ -1,143 +0,0 @@ - -#ifndef setypedisp_h -#define setypedisp_h - -/* -* NIST Data Probe Class Library -* clprobe-ui/setypedisp.h -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: setypedisp.h,v 3.0.1.1 1997/11/05 23:01:11 sauderd DP3.1 $ */ - -#include -#include // ivfasd/mystrbrowser.h -#include - -#include - -#include - -#define TLD_FORWARD_SEARCH '\023' -#define TLD_BACKWARD_SEARCH '\022' -#define TLD_CONSIDER_CASE '\000' -#define TLD_IGNORE_CASE '\001' - -#define TLD_CREATE_ACTION 1 -#define TLD_INFO_ACTION 2 - -#define TLD_VSPACE (round(.15*inch)) -#define TLD_HSPACE (round(.15*inch)) - -class seTypeListDisplay : public Frame { - public: - seTypeListDisplay(); - // overrule scene's virtual function to do nothing - void Insert( Interactor * ) { }; - - void Update(); - -// operations on the list - void Browse(); - virtual void Insert( const char *, int index ); - virtual void Append( const char * ); - virtual void Remove( int index ); - virtual void ReplaceText( const char * s, int index ); - - void Bold( int index ); - - int Index( const char * ); - char * String( int ); - int Count(); - void Clear(); - - void Select( int index ); - void Unselect( int index ); - void UnselectAll(); - int Selection( int selindex = 0 ); - int SelectionIndex( int index ); - int Selections(); - boolean Selected( int index ); - - private: - void CreateButtons(); - - private: - MyStringBrowser * entityTypeList; - ButtonState * entityTypeListButSt; - - StringEditor2 * searchBuf; - ButtonState * searchBufButSt; - ButtonState * searchButtonsButSt; - MyRadioButton * forwardSearchBut; - MyRadioButton * backwardSearchBut; - ButtonState * caseButtonButSt; - MyCheckBox * caseSearchBut; - - ButtonState * buttonsButSt; - - MyPushButton * createBut; - MyPushButton * infoBut; -}; - -/////////////////////////////////////////////////////////////////////////////// - -inline void seTypeListDisplay::Browse() { - entityTypeList->Browse(); -} - -inline void seTypeListDisplay::Bold( int index ) { - entityTypeList->Bold( index ); -} - -inline int seTypeListDisplay::Index( const char * s ) { - return entityTypeList->Index( s ); -} - -inline char * seTypeListDisplay::String( int index ) { - return entityTypeList->String( index ); -} - -inline int seTypeListDisplay::Count() { - return entityTypeList->Count(); -} - -inline void seTypeListDisplay::Clear() { - entityTypeList->Clear(); -} - -inline void seTypeListDisplay::Select( int index ) { - entityTypeList->Select( index ); -} - -inline void seTypeListDisplay::Unselect( int index ) { - entityTypeList->Unselect( index ); -} - -inline void seTypeListDisplay::UnselectAll() { - entityTypeList->UnselectAll(); -} - -inline int seTypeListDisplay::Selection( int selindex ) { - return entityTypeList->Selection( selindex ); -} - -inline int seTypeListDisplay::SelectionIndex( int index ) { - return entityTypeList->SelectionIndex( index ); -} - -inline int seTypeListDisplay::Selections() { - return entityTypeList->Selections(); -} - -inline boolean seTypeListDisplay::Selected( int index ) { - return entityTypeList->Selected( index ); -} - -#include - -#endif diff --git a/src/clprobe-ui/stepentdescriptor.cc b/src/clprobe-ui/stepentdescriptor.cc deleted file mode 100644 index 7b1e74841..000000000 --- a/src/clprobe-ui/stepentdescriptor.cc +++ /dev/null @@ -1,505 +0,0 @@ - -/* -* NIST Data Probe Class Library -* clprobe-ui/stepentdescriptor.cc -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: stepentdescriptor.cc,v 3.0.1.4 1997/11/05 23:01:12 sauderd DP3.1 $ */ - -#include -#include - -#include -#include - -/* -// in order to include xcanvas.h you will need to have a -I option -// for /usr/local/include because from /usr/local/include/ -// gets included from InterViews/include/IV-X11/Xlib.h -#include -#include -// xcanvas.h and window.h were included so I could write the -// function IsMapped() -*/ -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -extern struct Hash_Table * EntityDictionary; -extern struct Hash_Table * TypeDictionary; - -extern Probe * dp; - -void RemoveInteractor( Interactor * i, Interactor * i2 ) { - Frame * framedInteractor = ( Frame * ) i->Parent(); - - i2->GetWorld()->Remove( framedInteractor ); - framedInteractor->Remove( i ); - delete framedInteractor; -} - -Interactor * AddRightScroller( Interactor * grid ) { - return new HBox( - new MarginFrame( grid, 10 ), - new VBorder, - new VBox( - new UpMover( grid, 1 ), - new HBorder, - new VScroller( grid ), - new HBorder, - new DownMover( grid, 1 ) - ) - ); -} - -EntityDescriptorBlock::EntityDescriptorBlock( const EntityDescriptor * e, - int maxAttrLen, int maxSubtypeLen ) { - Init( e, 0, maxAttrLen, maxSubtypeLen ); - MonoScene::Insert( Body() ); -} - -EntityDescriptorBlock::EntityDescriptorBlock( const EntityDescriptor * e, - ButtonState * typeMessage, - int maxAttrLen, int maxSubtypeLen ) { - Init( e, typeMessage, maxAttrLen, maxSubtypeLen ); - MonoScene::Insert( Body() ); -} - -void EntityDescriptorBlock::Init( const EntityDescriptor * e, ButtonState * typeMessage, - int maxAttrLen, int maxSubtypeLen ) { - ////////////////////////////////////////////// - // initialize the member variables - ////////////////////////////////////////////// - ed = e; - typeMsg = typeMessage; - name = new BoldMessage( ( const char * )( ed->Name() ) ); - - attrBS = new ButtonState( 0 ); - attrBS->Attach( this ); - attrList = &( ( ( EntityDescriptor * )ed )->ExplicitAttr() ); - - subtypeBS = new ButtonState; - subtypeBS->Attach( this ); - subtypeList = &( ( ( EntityDescriptor * )ed )->Subtypes() ); - - // lastCloseVal needs to be set the same as the ButtonState's orig. value - lastCloseVal = 2; - openCloseBS = new ButtonState( 2 ); - openCloseBS->Attach( this ); - openCloseBut = new CheckBox( "collapse", openCloseBS, 1, 2 ); - - ////////////////////////////////////////////// - // find out how many attrs there are - ////////////////////////////////////////////// - int attrCount = attrList->EntryCount(); - if( attrCount < 2 ) { - attrCount = 2; - } - - ////////////////////////////////////////////// - // find out how many subtypes there are - ////////////////////////////////////////////// - int subtypeCount = subtypeList->EntryCount(); - - // determine the height of the box as the highest of the attribute - // box or subtype box. - int entryCount = max( attrCount, subtypeCount ); - - std::string str; - char endchar; - - attrListBrowser = new StringBrowser( attrBS, entryCount, maxAttrLen ); - AttrDescLinkNode * attrPtr = ( AttrDescLinkNode * )attrList->GetHead(); - while( attrPtr != 0 ) { - endchar = '\0'; - str.set_null(); - - const AttrDescriptor * ad = attrPtr->AttrDesc(); - - if( ad->Derived() == LTrue ) { - str.Append( '<' ); - endchar = '>'; - } - std::string tmp; - str.Append( ad->AttrExprDefStr( tmp ) ); - str.Append( endchar ); - - attrListBrowser->Append( str.c_str() ); - - attrPtr = ( AttrDescLinkNode * )attrPtr->NextNode(); - } - - subtypeListBrowser = new StringBrowser( subtypeBS, entryCount, maxSubtypeLen ); - EntityDescLinkNode * subtypePtr = - ( EntityDescLinkNode * )subtypeList->GetHead(); - while( subtypePtr != 0 ) { - subtypeListBrowser->Append( subtypePtr->EntityDesc()->Name() ); - subtypePtr = ( EntityDescLinkNode * )subtypePtr->NextNode(); - } -} - -Interactor * EntityDescriptorBlock::Body() { - attrSubtypeBox = new HBox( - AddRightScroller( attrListBrowser ), - new VBorder, - AddRightScroller( subtypeListBrowser ) - ); - - char schemaStr[BUFSIZ]; - schemaStr[0] = '\0'; - const char * schemaStrPtr = ed->OriginatingSchema()->Name(); - if( schemaStrPtr ) { - strcpy( schemaStr, schemaStrPtr ); - } else { - strcpy( schemaStr, " " ); - } - MyMessage * schemaMessage = new MyMessage( schemaStr ); - - bodyBox = new VBox( - new HBox( - name, - new HBox( - new HGlue( round( .5 * inch ), round( .5 * inch ), hfil ), - schemaMessage, - new HGlue( round( .2 * inch ), round( .2 * inch ), 0 ), - openCloseBut - ), - new HGlue( round( .02 * inch ), round( .02 * inch ), 0 ) - ), - new HBorder, - attrSubtypeBox - ); - return bodyBox; -} - -void EntityDescriptorBlock::Update() { - int val = 0; - - // check to see if the subtype ButtonState was set... i.e. - // that means an event happened saying the user wanted to pop up a SED - subtypeBS->GetValue( val ); - if( val ) { // if the value is set (not zero) - subtypeBS->SetValue( 0 ); // reset the value to zero - if( val == '\r' ) { - // get the string the user selected - int index = subtypeListBrowser->Selection(); - char * entity = subtypeListBrowser->String( index ); - - // get the head of the subtype list - SingleLinkNode * temp = - ( ( EntityDescriptor * )ed )->Subtypes().GetHead(); - - const EntityDescriptor * subtypeED; - if( !temp ) { // set error -- no subtypes found - ; - } else { - subtypeED = ( ( EntityDescLinkNode * )temp ) -> EntityDesc(); - } - - // find the EntityDescriptor for the entity the user selected - while( temp && strcmp( subtypeED -> Name(), entity ) ) - // go thru subtypes until the right one is found - { - temp = temp -> NextNode(); - subtypeED = ( ( EntityDescLinkNode * )temp ) -> EntityDesc(); - } - - if( !temp ) { // set error -- subtype not found - ; - } else { - subtypeED = ( ( EntityDescLinkNode * )temp ) -> EntityDesc(); - } - - dp->InsertSED( new StepEntityDescriptor( subtypeED ) ); - } - } - - - // check to see if the attribute list ButtonState was set... i.e. - // that means an event happened saying the user wanted info on an attribute - attrBS->GetValue( val ); - if( val ) { - attrBS->SetValue( 0 ); - if( val == '\r' ) { - int index = attrListBrowser->Selection(); - - AttrDescLinkNode * attrPtr = ( AttrDescLinkNode * ) - ( ( ( EntityDescriptor * )ed )->ExplicitAttr().GetHead() ); - - char attrStr[BUFSIZ]; - attrStr[0] = 0; - while( attrPtr != 0 && index > 0 ) { - index--; - attrPtr = ( AttrDescLinkNode * )attrPtr->NextNode(); - } - std::string tmp; - std::string tmp2; - strncpy( attrStr, - attrPtr->AttrDesc()->DomainType()->TypeString( tmp2 ), - BUFSIZ ); - attrStr[BUFSIZ - 1] = 0; - - typeMsg->SetValue( ( char * )attrStr ); - cout << "Selected attr: '" << attrStr << "'\n"; - } - } - - openCloseBS->GetValue( val ); - if( val != lastCloseVal ) { - if( val == 1 ) { - bodyBox->Remove( attrSubtypeBox ); - Change(); - } else if( val == 2 ) { - bodyBox->Insert( attrSubtypeBox ); - bodyBox->Change(); - Change(); - } - } - lastCloseVal = val; -} - -EntityDescBlockNode * -EntityDescBlockList::PrependNode( EntityDescriptorBlock * edb ) { - EntityDescBlockNode * node = ( EntityDescBlockNode * ) NewNode(); - node->EDBlock( edb ); - if( head ) { - node->next = head; - head = node; - } else { - head = tail = node; - } - - return node; -} - -char * -StepEntityDescriptor::LongestAttrInBlock( const EntityDescriptor * entity ) { - int longestLen = 0; - static char longestAttrStr[BUFSIZ]; - longestAttrStr[0] = 0; - - const char * attrStr; - int attrLen; - - if( entity ) { - AttrDescLinkNode * attrPtr = - ( AttrDescLinkNode * )( ( ( EntityDescriptor * )entity )->ExplicitAttr().GetHead() ); - std::string tmp; - while( attrPtr != 0 ) { - attrStr = attrPtr->AttrDesc()->AttrExprDefStr( tmp ); - attrLen = strlen( attrStr ); - if( attrPtr->AttrDesc()->Derived() == LTrue ) { - attrLen = attrLen + 2; - } - - if( attrLen > longestLen ) { - strcpy( longestAttrStr, attrStr ); - longestLen = attrLen; - } - attrPtr = ( AttrDescLinkNode * )attrPtr->NextNode(); - } - } - return longestAttrStr; -} - -char * -StepEntityDescriptor::FindLongestAttribute() { - int longestLen = 0; - static char longestAttrStr[BUFSIZ]; - longestAttrStr[0] = 0; - - const EntityDescriptor * ed = entDesc; - - strcpy( longestAttrStr, LongestAttrInBlock( entDesc ) ); - longestLen = strlen( longestAttrStr ); - - char * attrStr = 0; - int attrLen = 0; - - EntityDescLinkNode * edNode = - ( EntityDescLinkNode * )( ( entDesc->Supertypes() ).GetHead() ); - while( edNode ) { - ed = edNode->EntityDesc(); - - if( ed ) { - attrStr = LongestAttrInBlock( ed ); - attrLen = strlen( attrStr ); - if( attrLen > longestLen ) { - strcpy( longestAttrStr, attrStr ); - longestLen = attrLen; - } - edNode = ( EntityDescLinkNode * )( ( ed->Supertypes() ).GetHead() ); - } else { - edNode = 0; - } - } - return longestAttrStr; -} - -char * -StepEntityDescriptor::LongestSubtNameInBlock( const EntityDescriptor * entity ) { - int longestLen = 0; - static char longestSubtypeStr[BUFSIZ]; - longestSubtypeStr[0] = 0; - - const char * subtypeStr; - int subtypeLen; - - if( entity ) { - EntityDescLinkNode * subtypePtr = - ( EntityDescLinkNode * )( ( ( EntityDescriptor * )entity )->Subtypes().GetHead() ); - while( subtypePtr != 0 ) { - subtypeStr = subtypePtr->EntityDesc()->Name(); - subtypeLen = strlen( subtypeStr ); - if( subtypeLen > longestLen ) { - strcpy( longestSubtypeStr, subtypeStr ); - longestLen = subtypeLen; - } - subtypePtr = ( EntityDescLinkNode * )subtypePtr->NextNode(); - } - } - return longestSubtypeStr; -} - -char * -StepEntityDescriptor::FindLongestSubtName() { - int longestLen = 0; - static char longestSubtypeStr[BUFSIZ]; - longestSubtypeStr[0] = 0; - - const EntityDescriptor * ed = entDesc; - - strcpy( longestSubtypeStr, LongestSubtNameInBlock( entDesc ) ); - longestLen = strlen( longestSubtypeStr ); - - char * subtypeStr = 0; - int subtypeLen = 0; - - EntityDescLinkNode * edNode = - ( EntityDescLinkNode * )( ( entDesc->Supertypes() ).GetHead() ); - while( edNode ) { - ed = edNode->EntityDesc(); - - subtypeStr = LongestSubtNameInBlock( ed ); - subtypeLen = strlen( subtypeStr ); - if( subtypeLen > longestLen ) { - strcpy( longestSubtypeStr, subtypeStr ); - longestLen = subtypeLen; - } - edNode = ( EntityDescLinkNode * )( ( ( ( EntityDescriptor * )ed )->Supertypes() ).GetHead() ); - } - return longestSubtypeStr; -} - -StepEntityDescriptor::StepEntityDescriptor( const EntityDescriptor * ed ) { - entDesc = ed; - edbList = new EntityDescBlockList; - closeBS = new ButtonState( 0 ); - closeBS->Attach( this ); - close = new PushButton( "close", closeBS, 1 ); - - Scene::Insert( - new HBox( - new HGlue( round( .01 * inch ), round( .01 * inch ), 0 ), - close, - new HGlue( round( .3 * inch ), round( .3 * inch ), 0 ), - new Message( "attributes" ), - new HGlue( round( 1 * inch ), round( 1 * inch ), hfil ), - new Message( "subtypes" ), - new HGlue( round( .5 * inch ), round( .5 * inch ), 0 ) - ) - ); - - int maxAttrLen = strlen( FindLongestAttribute() ); - int len = 5; - maxAttrLen = max( maxAttrLen, len ); - - int maxSubtypeLen = strlen( FindLongestSubtName() ); - maxSubtypeLen = max( maxSubtypeLen, len ); - - strDispBS = new ButtonState( 0 ); - strDispBS->Attach( this ); - strDisp = new StringDisplay( strDispBS, " " ); - edbList->PrependNode( new EntityDescriptorBlock( ed, strDispBS, maxAttrLen, - maxSubtypeLen ) ); - - EntityDescLinkNode * parentNode = - ( EntityDescLinkNode * )( ( ( ( EntityDescriptor * )ed )->Supertypes() ).GetHead() ); - const EntityDescriptor * Parent; - while( parentNode ) { - Parent = parentNode->EntityDesc(); - - edbList->PrependNode( new EntityDescriptorBlock( Parent, strDispBS, - maxAttrLen, maxSubtypeLen ) ); - parentNode = - ( EntityDescLinkNode * )( ( ( ( EntityDescriptor * )Parent )->Supertypes() ).GetHead() ); - } - EntityDescBlockNode * edbNode; - - for( edbNode = ( EntityDescBlockNode * )edbList->GetHead(); - edbNode; - edbNode = ( EntityDescBlockNode * )( edbNode->NextNode() ) ) { - Scene::Insert( new HBorder( 2 ) ); - Scene::Insert( edbNode->EDBlock() ); - } - Scene::Insert( new HBorder( 2 ) ); - Scene::Insert( - new MarginFrame( - new HBox( - new Message( "Attr. Type: " ), - new HGlue( round( .05 * inch ), round( .05 * inch ), 0 ), - new Frame( strDisp ) - ), 2 ) - ); -} - -void StepEntityDescriptor::Insert( Interactor * i ) { - Scene::Insert( i ); - Scene::Insert( new HBorder( 2 ) ); -} - -void StepEntityDescriptor::Insert( EntityDescriptorBlock * edb ) { - edbList->PrependNode( edb ); - - Scene::Insert( edb ); - Scene::Insert( new HBorder( 2 ) ); -} -void StepEntityDescriptor::Update() { - int val = 0; - closeBS->GetValue( val ); - closeBS->SetValue( 0 ); - if( val == 1 ) { - dp->RemoveSED( this ); - cout << "close entity display" << "\n"; - } - char * strVal = 0; - void * tmpVoidPtr = 0; - strDispBS->GetValue( tmpVoidPtr ); - strVal = ( char * ) tmpVoidPtr; - - strDispBS->SetValue( 0 ); - if( strVal ) { - strDisp->Message( strVal ); - } -} - -boolean StepEntityDescriptor::IsMapped() { - return ( canvas != nil && canvas->status() == Canvas::mapped ); -} diff --git a/src/clprobe-ui/stepentdescriptor.h b/src/clprobe-ui/stepentdescriptor.h deleted file mode 100644 index 8aeb55290..000000000 --- a/src/clprobe-ui/stepentdescriptor.h +++ /dev/null @@ -1,170 +0,0 @@ -#ifndef stepentdescriptor_h -#define stepentdescriptor_h - -/* -* NIST Data Probe Class Library -* clprobe-ui/stepentdescriptor.h -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: stepentdescriptor.h,v 3.0.1.2 1997/11/05 23:01:11 sauderd DP3.1 $ */ - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include - -class EntityDescriptorBlock : public MonoScene { - public: - - protected: - const EntityDescriptor * ed; - - ButtonState * typeMsg; - - BoldMessage * name; - - ButtonState * attrBS; - StringBrowser * attrListBrowser; - const AttrDescriptorList * attrList; - - ButtonState * subtypeBS; - StringBrowser * subtypeListBrowser; - const EntityDescriptorList * subtypeList; - - ButtonState * openCloseBS; - CheckBox * openCloseBut; - int lastCloseVal; - - VBox * bodyBox; - HBox * attrSubtypeBox; - - private: - - public: - EntityDescriptorBlock() { } - EntityDescriptorBlock( const EntityDescriptor * e, - int maxAttrLen = 30, int maxSubtypeLen = 30 ); - EntityDescriptorBlock( const EntityDescriptor * e, ButtonState * typeMessage, - int maxAttrLen = 30, int maxSubtypeLen = 30 ); - ~EntityDescriptorBlock() { } - - const EntityDescriptor * EntityDesc() const { - return ed; - } -// void EntityDesc(EntityDescriptor *e) { ed = e; } - - virtual void Update(); - - protected: - - private: - Interactor * Body(); - void Init( const EntityDescriptor * e, ButtonState * typeMessage, - int maxAttrLen = 30, int maxSubtypeLen = 30 ); - -}; - -class EntityDescBlockList; - -class EntityDescBlockNode : public SingleLinkNode { - friend EntityDescBlockList; - - private: - protected: - EntityDescriptorBlock * edBlock; - public: - char * ClassName() { - return "EntityDescBlockNode"; - } - - EntityDescriptorBlock * EDBlock() { - return edBlock; - } - void EDBlock( EntityDescriptorBlock * edb ) { - edBlock = edb; - } - - EntityDescBlockNode() { - edBlock = 0; - } - EntityDescBlockNode( EntityDescriptorBlock * edb ) { - edBlock = edb; - } - ~EntityDescBlockNode() { } -}; - -class EntityDescBlockList : public SingleLinkList { - private: - protected: - public: - EntityDescBlockList() { } - ~EntityDescBlockList() { } - char * ClassName() { - return "EntityDescBlockList"; - } - - virtual SingleLinkNode * NewNode() { - return new EntityDescBlockNode; - } - EntityDescBlockNode * PrependNode( EntityDescriptorBlock * edb ); - void PrependNode( EntityDescBlockNode * node ) { - if( head ) { - node->next = head; - head = node; - } else { - head = tail = node; - } - } -}; - -class StepEntityDescriptor : public VBox { - private: - - protected: - EntityDescBlockList * edbList; - PushButton * close; - ButtonState * closeBS; - const EntityDescriptor * entDesc; - - StringDisplay * strDisp; - ButtonState * strDispBS; - - public: - StepEntityDescriptor( const EntityDescriptor * ed ); - ~StepEntityDescriptor() { } - - const EntityDescriptor * EntityDesc() { - return entDesc; - } - - void Insert( EntityDescriptorBlock * edb ); - void Insert( Interactor * i ); - virtual void Update(); - - char * LongestAttrInBlock( const EntityDescriptor * entity ); - char * FindLongestAttribute(); - - char * LongestSubtNameInBlock( const EntityDescriptor * entity ); - char * FindLongestSubtName(); - - boolean IsMapped(); - -}; - -#include - -#endif diff --git a/src/clprobe-ui/stepenteditor.cc b/src/clprobe-ui/stepenteditor.cc deleted file mode 100644 index 7006a8163..000000000 --- a/src/clprobe-ui/stepenteditor.cc +++ /dev/null @@ -1,2610 +0,0 @@ - -/* -* NIST Data Probe Class Library -* clprobe-ui/stepenteditor.cc -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: stepenteditor.cc,v 3.0.1.1 1998/02/17 19:42:07 sauderd DP3.1 $ */ - -#include -#include -#include -#include - -/* -// in order to include xcanvas.h you will need to have a -I option -// for /usr/local/include because from /usr/local/include/ -// gets included from InterViews/include/IV-X11/Xlib.h -#include -#include -// xcanvas.h and window.h were included so I could write the -// function IsMapped() -*/ - -#include -#include - -#include // "./stepenteditor.h" -#include // "./probe.h" - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include // "~sauderd/src/iv/hfiles/mybuttonstate.h" -#include // "~sauderd/src/iv/hfiles/subinfo.h" -#include // "~sauderd/src/iv/hfiles/instreditor.h" -#include // "./seestreditors.h" -//#include // "~sauderd/src/iv/hfiles/streditor2sub.h" -#include // "~sauderd/src/iv/hfiles/label.h" -#include // "~sauderd/src/iv/hfiles/variousmessage.h" -//#include // "./entitystreditor.h" - -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// debug_level >= 2 => tells when a command is chosen -// debug_level >= 3 => prints values within functions: -/////////////////////////////////////////////////////////////////////////////// -static int debug_level = 1; -// if debug_level is greater than this number then -// function names get printed out when executed -static int PrintFunctionTrace = 2; -// if debug_level is greater than this number then -// values within functions get printed out -static int PrintValues = 3; - -#define CNTRL_Q '\021' - -//#define LABEL_WIDTH 30 -// default width for the editable attribute StringEditor -#define EDIT_WIDTH 20 -//#define TYPE_WIDTH 23 - -// this is the label that appears to the left of the editor to type in comments -// on a SEE -// Comments must be typed in as valid part 21 comments or they will not be -// saved to the file. -#define COMMENT_LABEL "Comments:" - -#define MAX_ATTR_NAME_SIZE 80 - -#define SEE_VSPACE (round(.07 * inch)) -#define SEE_ATTR_VSPACE (round(.01 * inch)) -#define SEE_HSPACE (round(.07 * inch)) - -const char RingBell = '\007'; // G -extern Probe * dp; - -////////////////////////////////////////////////////////////////////////////// -// char *QuotedString(const char *str) -// This function returns 'str' in a string with single quotes added around -// it and all inside single quotes doubled. If the returned str is to -// be saved it must be copied. -////////////////////////////////////////////////////////////////////////////// - -char * QuotedString( const char * str ) { - static char * quotedStr = 0; - static int len = 0; - - int quoteCount = 0; - char * sPtr = ( char * )str; - while( sPtr ) { - sPtr = strchr( sPtr, '\'' ); // returns 0 if single quote not found - if( sPtr ) { - sPtr++; - quoteCount++; - } - } - -// delete [len] quotedStr; - delete [] quotedStr; - len = strlen( str ) + 3 + quoteCount; - quotedStr = new char[len]; - quotedStr[0] = '\''; - int i; - for( i = 1, sPtr = ( char * )str; *sPtr; sPtr++, i++ ) { - if( *sPtr == '\'' ) { - quotedStr[i++] = '\''; - } - quotedStr[i] = *sPtr; - } - quotedStr[len - 2] = '\''; - quotedStr[len - 1] = '\0'; - return quotedStr; -} - -/////////////////////////////////////////////////////////////////////////////// -// -// seeAttrRow member functions -// -/////////////////////////////////////////////////////////////////////////////// - - -// boolean i.e. true = 1 and false = 0 -boolean seeAttrRow::IsMapped() { - return ( canvas != nil && canvas->status() == Canvas::mapped ); - /* // this doesn't work - if(canvas) - { - int bool = canvas->window()->is_mapped(); - return bool; - } - else - return false; - */ -} - -char * seeAttrRow::IndicateOptionality( const char * aName ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRow::IndicateOptionality()\n"; - } - static char name[MAX_ATTR_NAME_SIZE + 3]; - -// if(aName[0] != "\0") -// { - if( stepAttr->Nullable() ) { - name[0] = '['; - name[1] = '\0'; - strncat( name, aName, MAX_ATTR_NAME_SIZE ); - strcat( name, "]" ); - return name; - } -// } - return ( char * )aName; -} - -const char * seeAttrRow::GetAttrName() { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRow::GetAttrName()\n"; - } - if( stepAttr ) { - const char * attrName = stepAttr->Name(); - if( attrName ) { - return attrName; - } - } - return ""; -} - -const char * seeAttrRow::GetAttrTypeName() { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRow::GetAttrTypeName()\n"; - } - if( stepAttr ) { - const char * n = stepAttr->TypeName(); - if( n ) { - return n; - } - } - return ""; -} - -BASE_TYPE seeAttrRow::GetType() { - return stepAttr->Type(); -} - -seeAttrRow::seeAttrRow( STEPattribute * sAttr, InstMgr * im, ButtonState * b, - int nameWidth, int editWidth, int typeWidth ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRow::seeAttrRow()\n"; - } - stepAttr = sAttr; // IMPORTANT - do this before calling GetAttrName() - // or GetAttrTypeName() - - butSt = b; - butSt->Reference(); - - - // create attribute name label - nameField = new myLabel( IndicateOptionality( GetAttrName() ), Right, - nameWidth ); - -// static ButtonState *bs = new ButtonState; - stepAttr->ClearErrorMsg(); - std::string attrVal; - /* - // make sure you check redef and derive first!! - if(stepAttr->_redefAttr) - { - attrVal = "REDEFINED"; - } - else if(stepAttr->IsDerived()) - { - // these are always mapped to Part 21 as an asterisk DAS - attrVal = "*"; - } - else - { - stepAttr->asStr(attrVal); - } - // the above are taken care of below - */ - stepAttr->asStr( attrVal ); - // need to do the above assignment to save return val from asStr - - Severity sev; - // make sure you check redef and derive first!! - if( stepAttr->_redefAttr ) { - sev = SEVERITY_NULL; - } else if( stepAttr->IsDerived() ) { - sev = SEVERITY_NULL; - } else if( ( stepAttr->NonRefType() == STRING_TYPE ) && - stepAttr->ptr.S->is_undefined() ) { - sev = stepAttr->ValidLevel( 0, &( stepAttr->Error() ), im ); - } else { - sev = stepAttr->ValidLevel( attrVal, &( stepAttr->Error() ), im ); - } - - if( sev > SEVERITY_INCOMPLETE ) { - statusMarker = new MyMessage( " " ); - } -// statusMarker = new StringDisplay(bs, " "); - else { - statusMarker = new MyMessage( "*" ); - } -// statusMarker = new StringDisplay(bs, "*"); - // create attribute type label -// typeField = new myLabel(GetAttrTypeName(), Left, typeWidth); - typeField = new myLabel( ( char * )GetAttrTypeName(), Left, typeWidth ); - -// const char *attrVal = stepAttr->asStr(); - - //printf("attrVal from asStr: '%s'\n", attrVal); - - // make sure you check redef and derive first!! - if( stepAttr->IsDerived() ) { - attrVal = "*"; - editField = new seeStringEditor( butSt, attrVal, editWidth ); - } else if( stepAttr->_redefAttr ) { - attrVal = "REDEFINED"; - editField = new seeStringEditor( butSt, attrVal, editWidth ); - } else - switch( stepAttr->NonRefType() ) { - case INTEGER_TYPE: - editField = new seeIntEditor( butSt, attrVal, editWidth ); - ( ( seeIntEditor * )editField )->AcceptSigns(); - break; - case STRING_TYPE: { - std::string tmp( attrVal ); - attrVal = StrEditorVal( tmp ); - /* - if(stepAttr->ptr.S->is_undefined()) - attrVal = "$"; - */ - editField = new seeStringEditor( butSt, attrVal, editWidth ); - break; - } - case REAL_TYPE: - case NUMBER_TYPE: - editField = new seeRealEditor( butSt, attrVal, editWidth ); - break; - case ENTITY_TYPE: - editField = new seeEntityEditor( butSt, attrVal, editWidth ); - break; - case AGGREGATE_TYPE: { - PrimitiveType aggrElemType = - /* stepAttr->AttrDescriptor->AggrElemType();*/ - stepAttr->aDesc->AggrElemType(); - switch( aggrElemType ) -// switch(stepAttr->BaseType()) - { - case INTEGER_TYPE: - editField = - new seeIntAggrEditor( butSt, attrVal, editWidth ); - break; - case REAL_TYPE: - case NUMBER_TYPE: - editField = - new seeRealAggrEditor( butSt, attrVal, editWidth ); - break; - case ENTITY_TYPE: - // save this for when we handle aggregate better - editField = - new seeEntAggrEditor( butSt, attrVal, editWidth ); - break; - default: - editField = - new seeStringEditor( butSt, attrVal, editWidth ); - break; - } - break; - } - case ENUM_TYPE: - case LOGICAL_TYPE: - case BOOLEAN_TYPE: - editField = new seeStringEditor( butSt, attrVal, editWidth ); - break; - case REFERENCE_TYPE: - cout << "BUG should not have type REFERENCE_TYPE in " << - "seeAttrRow::seeAttrRow() \n"; - editField = new seeStringEditor( butSt, attrVal, editWidth ); - break; - - case SELECT_TYPE: - case BINARY_TYPE: - case GENERIC_TYPE: - case UNKNOWN_TYPE: - default: - editField = new seeStringEditor( butSt, attrVal, editWidth ); - break; - } - Insert( nameField ); - Insert( new HGlue( SEE_HSPACE, 0, 0 ) ); - Insert( statusMarker ); - Insert( new Frame( editField ) ); - Insert( new HGlue( SEE_HSPACE, 0, 0 ) ); - Insert( typeField ); -// Insert(new HGlue(SEE_HSPACE)); -} -/* - TypeDescriptor *aggrTD = - stepAttr->AttrDescriptor->NonRefTypeDescriptor(); - TypeDescriptor *aggrElemTD = aggrTD->ReferentType(); - enum BASE_TYPE aggrElemType; - if(aggrElemTD) - { - aggrElemType = aggrElemTD->NonRefType(); - } - else - { - aggrElemType = ENTITY_TYPE; - } -*/ - -seeAttrRow::~seeAttrRow() { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRow::~seeAttrRow()\n"; - } - Unref( butSt ); - if( previous != nil && previous != this ) { - previous->next = next; - } - if( next != nil && next != this ) { - next->previous = previous; - } -} - -void seeAttrRow::UndoChanges() { -// char * attrVal = stepAttr->asStr(); - std::string attrVal; - stepAttr->asStr( attrVal ); - if( stepAttr->NonRefType() == STRING_TYPE ) { - std::string tmp( attrVal ); - attrVal = StrEditorVal( tmp ); - } - // need to do the above assignment to save return val from asStr - editField->Message( attrVal ); -} - -Severity seeAttrRow::Validate( InstMgr * instMgr, int setMark, - Severity setMarkAtSev ) { - Severity s; - stepAttr->ClearErrorMsg(); - - // make sure you check redef and derive first!! - if( stepAttr->_redefAttr ) { - editField->Message( "REDEFINED" ); - s = SEVERITY_NULL; - } else if( stepAttr->IsDerived() ) { - // these are always mapped to Part 21 as an asterisk DAS - editField->Message( "*" ); - s = SEVERITY_NULL; - } else if( stepAttr->NonRefType() == STRING_TYPE ) { - s = stepAttr->ValidLevel( StrAttrAssignVal( ( char * )GetEditFieldText() ), - &( stepAttr->Error() ), instMgr ); - } else - s = stepAttr->ValidLevel( ( char * )( GetEditFieldText() ), - &( stepAttr->Error() ), instMgr ); - if( setMark && IsMapped() ) { - if( s <= setMarkAtSev ) { - statusMarker->NewMessage( "*" ); - } else { - statusMarker->NewMessage( " " ); - } - } - return s; -} - -//used to convert data probe values to string to assign to attr -char * seeAttrRow::StrEditorVal( std::string & s ) { - if( stepAttr->ptr.S->is_undefined() ) { - s = "$"; - } else { - char * str = ( char * )s.c_str(); - while( isspace( *str ) ) { - str++; - } - if( str[0] == '$' ) { - str++; - while( isspace( *str ) ) { - str++; - } - if( *str == '\0' ) { - s = "\\$"; // call value \$ a string with a single $ - } - } - } - return ( char * )s.c_str(); -} - -// it was decided that attributes in the Data Probe of type string with value -// $ => string does not exist -// no value => they mean the string to exist but contain no chars (except of -// coursethe terminating null character which is not written into -// the part 21 file). -// a value => does not contain the surrounding delimiter single quotes, any -// internal single quotes will be interpreted as internal quotes -// and hence the resulting single quotes in this string value -// will end up quoted in the part 21 file. -// If you call this function for an attribute which is not of type string it -// returns -1 otherwise it returns the string value to be assigned which -// is 0 if the string is meant to not exist, "" if it is meant to exist but -// contain no chars, or the char * otherwise. - -char * seeAttrRow::StrAttrAssignVal( const char * s ) { - if( stepAttr->NonRefType() == sdaiSTRING ) { - char * str = ( char * )s; - while( isspace( *str ) ) { - str++; - } - if( *str == '$' ) { - str++; - while( isspace( *str ) ) { - str++; - } - if( *str == '\0' ) { // we will call value $ a string with nothing in it - return 0; - } else { // a string value starting with a $ with following chars. - return ( char * )s; - } -// return QuotedString(s); - } else if( *str == '\0' ) { - // no value will be absence of a string - return ""; - } else { - if( ( str[0] == '\\' ) && ( str[1] == '$' ) ) { - str = str + 2; - while( isspace( *str ) ) { - str++; - } - if( *str == '\0' ) { - return "$"; // call value \$ a string with a single $ - } - } - // a string value - nothing out of the ordinary - return ( char * )s; - } - } else { - cerr << "Programmer error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - return ( char * ) - 1; // this is an error... funct should not have been - // called. read documentation a top of function - } -} - -#if 0 -// it was decided that attributes in the Data Probe of type string with value -// no value => string does not exist -// '' => they mean the string to exist but contain no chars (except of course -// the terminating null character which is not written into the -// part 21 file). -// a value => does not contain the surrounding delimiter single quotes, any -// internal single quotes will be interpreted as internal quotes -// and hence the resulting single quotes in this string value -// will end up quoted in the part 21 file. -// If you call this function for an attribute which is not of type string it -// returns -1 otherwise it returns the string value to be assigned which -// is 0 if the string is meant to not exist, "" if it is meant to exist but -// contain no chars, or the char * otherwise. -other possible way of doing the function -char * seeAttrRow::StrAttrAssignVal( const char * s ) { - if( stepAttr->NonRefType() == sdaiSTRING ) { - char * str = ( char * )s; - while( isspace( *str ) ) { - str++; - } - if( *str == '\'' ) { - str++; - if( *str == '\'' ) { - str++; - while( isspace( *str ) ) { - str++; - } - // we will call value '' a string with nothing in it - if( *str == '\0' ) { -// stepAttr->ptr.S->set_null(); // this effect - not exactly - return ""; - } else // a string value starting with two single quotes with - // following chars. -// stepAttr->StrToVal(QuotedString(s), dp->GetInstMgr(), 0); - { - return QuotedString( s ); - } - } else // a string value starting with one single quote (not a - // delimiter) with following chars. -// stepAttr->StrToVal(QuotedString(s), dp->GetInstMgr(), 0); - { - return QuotedString( s ); - } - } else if( *str == '\0' ) { - // no value will be absence of a string -// stepAttr->ptr.S->set_undefined(); - return 0; - } else { - // a string value - nothing out of the ordinary - return QuotedString( s ); - } - } else { - return ( char * ) - 1; // this is an error... funct should not have been called - } -} -#endif - -Severity seeAttrRow::SaveAttr( InstMgr * instMgr, Severity setMarkAtSev ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRow::SaveAttr()\n"; - } - - Severity s = SEVERITY_NULL; - const char * str = editField->Text(); - if( str > ( const char * )0 ) { - s = Validate( instMgr, 1, setMarkAtSev ); - if( s >= SEVERITY_INCOMPLETE ) { - // make sure you check redef and derive first!! - if( stepAttr->_redefAttr ) { - editField->Message( "REDEFINED" ); - } else if( stepAttr->IsDerived() ) { - // these are always mapped to Part 21 as an asterisk DAS - editField->Message( "*" ); - } else if( stepAttr->NonRefType() == sdaiSTRING ) { - stepAttr->StrToVal( StrAttrAssignVal( str ), dp->GetInstMgr(), 0 ); - } else { - stepAttr->StrToVal( str, dp->GetInstMgr(), 0 ); - } - /* - char *strptr = (char *)str; - while(isspace(*strptr)) strptr++; - if(*strptr == '\'') - { - strptr++; - if(*strptr == '\'') - { - strptr++; - while(isspace(*strptr)) strptr++; - // we will call value '' a string with nothing in it - if(*strptr == '\0') - stepAttr->ptr.S->set_null(); - else - stepAttr->StrToVal(QuotedString(str), dp->GetInstMgr(), 0); - } - else // a string value starting with a quote (not delimiter) - stepAttr->StrToVal(QuotedString(str), dp->GetInstMgr(), 0); - } - else if(*strptr == '\0') - { // no value will be absence of a string - stepAttr->ptr.S->set_undefined(); - } - else - stepAttr->StrToVal(QuotedString(str), dp->GetInstMgr(), 0); - */ - } - } else if( !stepAttr->Nullable() ) { - return SEVERITY_INCOMPLETE; - } - return s; -} - -/* -// Severity seeAttrRow::SaveAttr(InstMgr *instMgr, Severity setMarkAtSev) -/// has replaced the following two functions -Severity seeAttrRow::SaveComplete(InstMgr *instMgr) -{ - if(debug_level >= PrintFunctionTrace) - cout << "seeAttrRow::SaveComplete()\n"; - - const char *str = editField->Text(); - if(str){ - s = ValidateAttr(this, 1); - if(stepAttr->Type() == TYPE_STRING) - { - char *strptr = str; - while(isspace(*strptr)) strptr++; - if(*strptr == '\'') - { - strptr++; - if(*strptr == '\'') - { - while(isspace(*strptr)) strptr++; - // we will call value '' a string with nothing in it - if(*strptr == '\0') - stepAttr->ptr.S->set_null(); - else - stepAttr->StrToVal(QuotedString(str), dp->GetInstMgr(), 0); - } - else // a string value starting with a quote (not delimiter) - stepAttr->StrToVal(QuotedString(str), dp->GetInstMgr(), 0); - } - else if(*strptr == '\0') - { // no value will be absence of a string - stepAttr->ptr.S->set_undefined(); - } - else - stepAttr->StrToVal(QuotedString(str), dp->GetInstMgr(), 0); - } - else - { - stepAttr->StrToVal(str, dp->GetInstMgr(), 0); - } - } - if(s == SEVERITY_NULL) - rowHead->SaveComplete(); - else if(s <= SEVERITY_NULL) - ok = 0; -} - -boolean seeAttrRow::SaveIncomplete() -{ - if(debug_level >= PrintFunctionTrace) - cout << "seeAttrRow::SaveIncomplete()\n"; - const char *str = editField->Text(); - if(str){ - if(stepAttr->Type() == TYPE_STRING) - { - stepAttr->StrToVal(QuotedString(str), dp->GetInstMgr(), 0); - } - else - { - stepAttr->StrToVal(str, dp->GetInstMgr(), 0); - } - } -} -*/ -/////////////////////////////////////////////////////////////////////////////// -// -// seeAttrRowList member functions -// -/////////////////////////////////////////////////////////////////////////////// - -seeAttrRowList::seeAttrRowList() { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRowList::seeAttrRowList()\n"; - } - currentRow = head = nil; - rowCount = 0; -} - -seeAttrRowList::~seeAttrRowList() { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRowList::~seeAttrRowList()\n"; - } - currentRow = head->Next(); - seeAttrRow * ptr = currentRow; - - if( currentRow == head ) { // one element list - delete head; - } else { - do { - currentRow = currentRow->Next(); - delete ptr; - ptr = currentRow; - } while( currentRow != head ); - delete currentRow; - } -} - -int seeAttrRowList::SetCurRow( int index ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRowList::SetCurRow()\n"; - } - int i; - - if( currentRow && index > 0 && index <= rowCount ) { - currentRow->NameField()->Highlight( false ); - currentRow->TypeField()->Highlight( false ); - for( i = 1, currentRow = head; i < index; - i++, currentRow = currentRow->next ) { - ; // happily loop - } - currentRow->NameField()->Highlight( true ); - currentRow->TypeField()->Highlight( true ); - return ( i ); - } - return ( 0 ); -} - -seeAttrRow * seeAttrRowList::FindEditField( Interactor * targetStrEd ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRowList::FindEditField()\n"; - } - if( currentRow ) { - if( targetStrEd == currentRow->EditField() ) { - return( currentRow ); - } else { - seeAttrRow * ptr; - for( ptr = currentRow->Next(); - targetStrEd != ptr->EditField() && ptr != currentRow; - ptr = ptr->Next() ) { - ; // continue search - } - if( targetStrEd == ptr->EditField() ) { - return( ptr ); - } - } - } - return ( 0 ); -} - -int seeAttrRowList::Find( seeAttrRow * r ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRowList::Find()\n"; - } - seeAttrRow * ptr; - int i; - - if( r == nil || head == nil ) { - return ( 0 ); - } else if( r == head ) { - return ( 1 ); - } else { - for( ptr = head->next, i = 2; - ptr != r && ptr != head; - ptr = ptr->next, i++ - ) { - ; // loop away - } - if( ptr == head ) { - return ( 0 ); - } else { - return ( i ); - } - } -} - -int seeAttrRowList::InsertAfter( seeAttrRow * newRow, seeAttrRow * existingRow ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRowList::InsertAfter()\n"; - } - if( newRow ) { - int index; - - // check to see if existingRow exists - if( existingRow == LastRow() ) { // check this to speed up Append() - index = rowCount; - } else { - index = Find( existingRow ); - } - if( index ) { // existingRow exists - newRow->next = existingRow->next; - newRow->next->previous = newRow; - newRow->previous = existingRow; - existingRow->next = newRow; - rowCount++; - return( index + 1 ); - } else if( head == nil ) { - head = newRow; - head->next = head->previous = head; - currentRow = head; -// currentRow->NameField()->Highlight(true); -// currentRow->TypeField()->Highlight(true); - rowCount++; - return( 1 ); - } - } - return( 0 ); // error -} - -int seeAttrRowList::InsertBefore( seeAttrRow * newRow, seeAttrRow * existingRow ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRowList::InsertBefore()\n"; - } - if( newRow ) { - int index; - - // check to see if existingRow exists - if( existingRow == Head() ) { // may want to insert to front of the list often? - index = 1; - } else { - index = Find( existingRow ); - } - if( index ) { // existingRow exists - newRow->previous = existingRow->previous; - newRow->previous->next = newRow; - newRow->next = existingRow; - existingRow->previous = newRow; - rowCount++; - return( index ); - } else if( head == nil ) { - head = newRow; - head->next = head->previous = head; - currentRow = head; -// currentRow->NameField()->Highlight(true); -// currentRow->TypeField()->Highlight(true); - rowCount++; - return( 1 ); - } - } - return( 0 ); // error -} - -void seeAttrRowList::ComponentsIgnore() { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRowList::ComponentsIgnore()\n"; - } - seeAttrRow * ptr = head; - extern Sensor * noEvents; - - if( ptr ) { - ptr->EditField()->Listen( noEvents ); - for( ptr = ptr->Next(); ptr != head; ptr = ptr->Next() ) { - ptr->EditField()->Listen( noEvents ); - } - } -} - -void seeAttrRowList::ComponentsListen() { - if( debug_level >= PrintFunctionTrace ) { - cout << "seeAttrRowList::ComponentsListen()\n"; - } - seeAttrRow * ptr = head; - static Sensor * s = 0; - - if( ptr ) { - if( !s ) { - s = new Sensor(); - s->Catch( KeyEvent ); - s->Catch( DownEvent ); - } - ptr->EditField()->Listen( s ); - for( ptr = ptr->Next(); ptr != head; ptr = ptr->Next() ) { - ptr->EditField()->Listen( s ); - } - } -} - -/////////////////////////////////////////////////////////////////////////////// -// -// StepEntityEditor member functions -// -/////////////////////////////////////////////////////////////////////////////// - -StepEntityEditor::StepEntityEditor( MgrNode * mn, InstMgr * im, int pinBool, - int modifyBool ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::StepEntityEditor()\n"; - } - mgrNode = mn; - stepEnt = mgrNode->GetSTEPentity(); - instMgr = im; - // this ButtonState is needed for below but is not of any real use. - dispButSt = new ButtonState(); - messageDisp = new StringDisplay( dispButSt, - " " ); -//mdisp - CreateButtonsAndStates( modifyBool, pinBool ); - input = new Sensor(); - input->Catch( DownEvent ); - input->Catch( KeyEvent ); - attrRowList = new seeAttrRowList(); - - CreateHeading(); - CreateInsertAttributeEditors(); - InsertButtons(); - if( !modifyBool ) { - ComponentsIgnore(); - } - editorsButSt->Reference(); - buttonsButSt->Reference(); - modifyTogButSt->Reference(); - pinTogButSt->Reference(); -} - -StepEntityEditor::StepEntityEditor( STEPentity * se, int pinBool, int modifyBool ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::StepEntityEditor()\n"; - } - mgrNode = 0; - stepEnt = se; - // this ButtonState is needed for below but is not of any real use. - dispButSt = new ButtonState(); - messageDisp = new StringDisplay( dispButSt, - " " ); - - CreateButtonsAndStates( modifyBool, pinBool ); - input = new Sensor(); - input->Catch( DownEvent ); - input->Catch( KeyEvent ); - attrRowList = new seeAttrRowList(); - - CreateHeading(); - CreateInsertAttributeEditors(); - InsertButtons(); - if( !modifyBool ) { - ComponentsIgnore(); - } - editorsButSt->Reference(); - buttonsButSt->Reference(); - modifyTogButSt->Reference(); - pinTogButSt->Reference(); -} - -void DeleteSEE( StepEntityEditor * se ) { - delete se; -} - -StepEntityEditor::~StepEntityEditor() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::~StepEntityEditor()\n"; - } - -// extern World *world; -// if(IsMapped()) - if( ( GetMgrNode()->DisplayState() == mappedWrite ) || - ( GetMgrNode()->DisplayState() == mappedView ) ) { - dp->RemoveSEE( this ); - } - Unref( editorsButSt ); - Unref( buttonsButSt ); - Unref( modifyTogButSt ); - Unref( pinTogButSt ); -// Unref(dispButSt); - - /* don't need these since these are inserted into - StepEntityEditor which is a VBox. VBox deletes all of its components. - delete attrRowList; - delete label; - delete saveCompleteBut; - delete saveIncompleteBut; - delete cancelBut; - delete deleteBut; - delete replicateBut; - delete editBut; - delete markBut; - delete listBut; - delete modifyTogBut; - delete pinTogBut; - */ -} - -void StepEntityEditor::CreateHeading() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::CreateHeading()\n"; - } - VBox::Insert( new VGlue( SEE_VSPACE, 0 ) ); - - char * str = new char[BUFSIZ]; - sprintf( str, "#%d", stepEnt->STEPfile_id ); - - Message * titleMsg = new Message( stepEnt->EntityName() ); -//BUG needed to set the fontin the see window. -// titleMsg->SetClassName("SEEtitle"); - VBox::Insert( new HBox( - new HGlue( round( .08 * inch ), 0, 0 ), - pinTogBut, -// modifyTogBut, - new Message( str ), - new HGlue( round( .08 * inch ), 0, 0 ), - titleMsg, - new HBox( - new HGlue, - sedBut, - new HGlue( round( .2 * inch ), round( .2 * inch ), 0 ) - ) - ) - ); - VBox::Insert( new VGlue( SEE_VSPACE, 0 ) ); -} - -void StepEntityEditor::CreateButtonsAndStates( int modifyBool, int pinBool ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::CreateButtonsAndStates()\n"; - } - editorsButSt = new MyButtonState( 0 ); - editorsButSt->Attach( this ); - - buttonsButSt = new ButtonState( 0 ); - buttonsButSt->Attach( this ); - - if( modifyBool ) { - modifyTogVal = SEE_MODIFY; // set modifyTogButSt to same value as this - modifyTogButSt = new ButtonState( SEE_MODIFY ); - } else { - modifyTogVal = SEE_VIEW; // set modifyTogButSt to same value as this - modifyTogButSt = new ButtonState( SEE_VIEW ); - } - modifyTogButSt->Attach( this ); - - if( pinBool ) { - pinTogButSt = new ButtonState( SEE_PIN ); - } else { - pinTogButSt = new ButtonState( SEE_NOT_PIN ); - } - pinTogButSt->Attach( this ); - - saveCompleteBut = new MyPushButton( "save", buttonsButSt, - SEE_SAVE_COMPLETE ); - saveIncompleteBut = new MyPushButton( "i", buttonsButSt, - SEE_SAVE_INCOMPLETE ); - cancelBut = new MyPushButton( "c", buttonsButSt, - SEE_CANCEL ); - deleteBut = new MyPushButton( "d", buttonsButSt, - SEE_DELETE ); - replicateBut = new MyPushButton( "r", buttonsButSt, - SEE_REPLICATE ); -// replicateBut->Disable(); // BUG since we haven't implemented this yet - editBut = new MyPushButton( "e", buttonsButSt, - SEE_EDIT ); - markBut = new MyPushButton( "m", buttonsButSt, - SEE_MARK ); -// listBut = new MyPushButton("l", buttonsButSt, -// SEE_LIST); - sedBut = new MyPushButton( "type information", buttonsButSt, - SEE_OPEN_SED ); - attrInfoBut = new MyPushButton( "a", buttonsButSt, - SEE_ATTR_INFO ); - modifyTogBut = new ModifyViewCheckBox( " ", modifyTogButSt, - SEE_MODIFY, SEE_VIEW ); - pinTogBut = new PinCheckBox( " ", pinTogButSt, - SEE_PIN, SEE_NOT_PIN ); -} - -void StepEntityEditor::InsertButtons() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::InsertButtons()\n"; - } - VBox::Insert( new VGlue( SEE_VSPACE, 0 ) ); - VBox::Insert( new HBox( - new HGlue( round( .05 * inch ), 0, 0 ), - new Frame( messageDisp ), - new HGlue( round( .05 * inch ), 0, 0 ) - ) ); - VBox::Insert( new VGlue( SEE_VSPACE, 0 ) ); - - VBox::Insert( - new HBox( - new HBox( - new HGlue( round( .1 * inch ) ), -// pinTogBut, - modifyTogBut, - new HGlue( round( .1 * inch ) ), - saveCompleteBut, - new HGlue( round( .1 * inch ) ), - saveIncompleteBut, - new HGlue( round( .1 * inch ) ) - ), - new HBox( - cancelBut, - new HGlue( round( .1 * inch ) ), - deleteBut, - new HGlue( round( .1 * inch ) ), - replicateBut, - new HGlue( round( .1 * inch ) ) - ), - new HBox( - editBut, - new HGlue( round( .1 * inch ) ), - markBut, - new HGlue( round( .1 * inch ) ) - ), - new HBox( -// listBut, -// new HGlue(round(.1*inch)), - attrInfoBut, - new HGlue( round( .1 * inch ) ) - ) - ) - ); - /* - new HBox( - new HGlue(round(.2*inch)), - new VBox( - new HBox( - new HGlue(round(.1*inch)), - saveCompleteBut, - new HGlue - ), - new VGlue(SEE_VSPACE, 0), - new HBox( - new HGlue(round(.1*inch)), - saveIncompleteBut, - new HGlue - ), - new VGlue(SEE_VSPACE, 0), - new HBox( - new HGlue(round(.1*inch)), - cancelBut, - new HGlue - ), - new VGlue(SEE_VSPACE, 0), - new HBox( - new HGlue(round(.1*inch)), - deleteBut, - new HGlue - ) - ), // end VBox - new HGlue(round(.2*inch)), - new VBox( - new HBox( - new HGlue(round(.1*inch)), - selectBut, - new HGlue - ), - new VGlue(SEE_VSPACE, 0), - new HBox( - new HGlue(round(.1*inch)), - createBut, - new HGlue - ), - new VGlue(SEE_VSPACE, 0), - new HBox( - new HGlue(round(.1*inch)), - modifyTogBut, - new HGlue - ) - ), // end VBox - new HGlue - ) - */ - VBox::Insert( new VGlue( SEE_VSPACE, 0 ) ); -} - -void StepEntityEditor::CreateInsertAttributeEditors() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::CreateInsertAttributeEditors()\n"; - } - STEPattribute * attr; - STEPcomplex * sc = 0; - - int maxAttrNameWidth = strlen( COMMENT_LABEL ); - int maxAttrTypeNameWidth = 1; -// label = new StringEditor2Sub(editorsButSt, " ", "\r\016\020\021", -// EDIT_WIDTH); - - if( stepEnt->IsComplex() ) { - sc = ( ( STEPcomplex * )stepEnt )->head; - while( sc ) { - sc->ResetAttributes(); - while( attr = sc->NextAttribute() ) { - maxAttrNameWidth = max( maxAttrNameWidth, - ( int )strlen( attr->Name() ) + 2 ); - maxAttrTypeNameWidth = max( maxAttrTypeNameWidth, - ( int )strlen( attr->TypeName() ) ); - } - sc = sc->sc; - } - } else { - stepEnt->ResetAttributes(); - while( attr = stepEnt->NextAttribute() ) { - maxAttrNameWidth = max( maxAttrNameWidth, - ( int )strlen( attr->Name() ) + 2 ); - maxAttrTypeNameWidth = max( maxAttrTypeNameWidth, - ( int )strlen( attr->TypeName() ) ); - } - } - - if( stepEnt->P21CommentRep() ) { - std::string ss; - const char * s = stepEnt->P21Comment(); - while( *s ) { // get rid of newlines since editor can't handle them - if( *s != '\n' ) { - ss.Append( *s ); - } - s++; - } - label = new seeStringEditor( editorsButSt, ss, EDIT_WIDTH ); - } else { - label = new seeStringEditor( editorsButSt, " ", EDIT_WIDTH ); - } - VBox::Insert( - new HBox( - // edit maxAttrNameWidth + 1 extra for marker field. - new myLabel( COMMENT_LABEL, Right, maxAttrNameWidth + 1 + 1 ), - new HGlue( SEE_HSPACE, 0, 0 ), - new Frame( label ) - ) - ); - VBox::Insert( new VGlue( SEE_VSPACE, 0 ) ); - - if( stepEnt->IsComplex() ) { - sc = ( ( STEPcomplex * )stepEnt )->head; - while( sc ) { - sc->ResetAttributes(); - while( attr = sc->NextAttribute() ) { - Insert( attr, maxAttrNameWidth + 1, EDIT_WIDTH, - maxAttrTypeNameWidth + 3 ); - } - sc = sc->sc; - } - } else { - stepEnt->ResetAttributes(); - while( attr = stepEnt->NextAttribute() ) { - Insert( attr, maxAttrNameWidth + 1, EDIT_WIDTH, - maxAttrTypeNameWidth + 3 ); - } - } -} - -// boolean i.e. true = 1 and false = 0 -boolean StepEntityEditor::IsMapped() { - return ( canvas != nil && canvas->status() == Canvas::mapped ); - /* // this doesn't work - if(canvas) - { - int bool = canvas->window()->is_mapped(); - return bool; - } - else - return false; - */ -} - -int StepEntityEditor::ExecuteTermChar() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::ExecuteTermChar()\n"; - } - // need a SubordinateInfo object because the editors set their - // ButtonState subject to the same set of terminating values - // and it's necessary to know which editor set it to know which - // editor will next be edited. - int termCode = 0; - SubordinateInfo * si = 0; - - if( debug_level >= PrintValues && attrRowList->CurRow() ) { - cout << " curr attr value: '" << - attrRowList->CurRow()->GetEditFieldText() << "'\n"; - } - -// editorsButSt->GetValue(si); // this no longer works with Sun C++ => error - // Must assign as below DAS - void * tmpVoidPtr = 0; - editorsButSt->GetValue( tmpVoidPtr ); - si = ( SubordinateInfo * ) tmpVoidPtr; - - if( si ) { -// editorsButSt->SetValue(0); - editorsButSt->SetNull(); - si->GetValue( termCode ); - ExecuteCommand( termCode ); - } - // this would highlight the editable field's text which would be - // deleted if a char was typed before a valid cntrl char -// attrRowList->CurRow()->EditField()->Select(0, -// strlen(attrRowList->CurRow()->GetEditFieldText())); - return ( termCode ); -}; - -/////////////////////////////////////////////////////////////////////////////// -// -// I made this function because most of these actions which could only occur -// when a button was chosen, can now occur when a keystroke is typed inside -// one of the editors in the SEE. So I pulled out this common code. -// -/////////////////////////////////////////////////////////////////////////////// - -int StepEntityEditor::ExecuteCommand( int v ) { - int rc = 0; - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::ExecuteCommand()\n"; - } - switch( v ) { - case SEE_PIN : - int prevVal; - pinTogButSt->GetValue( prevVal ); - if( prevVal == SEE_PIN ) { - pinTogButSt->SetValue( SEE_NOT_PIN ); - } else { - pinTogButSt->SetValue( SEE_PIN ); - } - - return( v ); - - case SEE_SAVE_COMPLETE : -// if(attrRowList->CurRow()){ -// } else dp->ErrorMsg("Entity has no attributes"); - - if( SaveComplete() ) { - dp->seeSaveComplete( this ); - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - dp->seeSaveIncomplete( this ); - } - buttonsButSt->SetValue( 0 ); - // don't do this since buttons need to be notified to redraw themselves -// buttonsButSt->SetNull(); - return( v ); - case SEE_SAVE_INCOMPLETE : -// if(attrRowList->CurRow()){ -// } else dp->ErrorMsg("Entity has no attributes"); - - if( !SaveIncomplete() ) { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } - dp->seeSaveIncomplete( this ); - buttonsButSt->SetValue( 0 ); - return( v ); - case SEE_CANCEL : - UndoChanges(); - messageDisp->Message( - "Entity values reverted to last saved state." ); - dp->seeCancel( this ); - buttonsButSt->SetValue( 0 ); - return( v ); - case SEE_DELETE : - messageDisp->Message( "Entity changed to a DELETE state." ); - dp->seeDelete( this ); - buttonsButSt->SetValue( 0 ); - return( v ); - case SEE_REPLICATE : - dp->seeReplicate( this ); - buttonsButSt->SetValue( 0 ); - return( v ); - case SEE_EDIT : - if( attrRowList->CurRow() ) { - if( dp->seeEdit( this ) ) { - Severity s = ValidateAttr( attrRowList->CurRow(), - SEVERITY_INCOMPLETE, 1 ); - if( s >= SEVERITY_INCOMPLETE ) { - attrRowList->SetCurRow( attrRowList->NextRow() ); - } - } - } else - messageDisp->Message( - "Select an attribute to edit first" ); - buttonsButSt->SetValue( 0 ); - return( v ); - case SEE_MARK : - if( attrRowList->CurRow() ) { - if( dp->seeSelectMark( this ) ) { - Severity s = ValidateAttr( attrRowList->CurRow(), - SEVERITY_INCOMPLETE, 1 ); - if( s >= SEVERITY_INCOMPLETE ) { - attrRowList->SetCurRow( attrRowList->NextRow() ); - } - } - } else - messageDisp->Message( - "Select an attribute to assign value to first" ); - buttonsButSt->SetValue( 0 ); - return( v ); - case SEE_ATTR_UNDO : { - seeAttrRow * row = attrRowList->CurRow(); - if( row ) { - row->UndoChanges(); - } - buttonsButSt->SetValue( 0 ); - return( v ); - } - case SEE_MODIFY : - dp->seeToggle( this, SEE_MODIFY ); - ComponentsListen(); - return( v ); - case SEE_VIEW : - if( attrRowList->CurRow() ) { - attrRowList->CurRow()->NameField()->Highlight( false ); - attrRowList->CurRow()->TypeField()->Highlight( false ); - } - dp->seeToggle( this, SEE_VIEW ); -// SetPinned(0); - ComponentsIgnore(); - return( v ); - case SEE_OPEN_SED: { - dp->seeOpenSED( this ); - buttonsButSt->SetValue( 0 ); - return( v ); - } - case SEE_ATTR_INFO: { - SetAttrTypeMessage( attrRowList->CurRow() ); -// dp->seeOpenSED(this); - buttonsButSt->SetValue( 0 ); - return( v ); - } - case SEE_NEXT: { - Severity s = ValidateAttr( attrRowList->CurRow(), - SEVERITY_INCOMPLETE, 1 ); - if( s >= SEVERITY_INCOMPLETE ) { - attrRowList->SetCurRow( attrRowList->NextRow() ); - SetAttrTypeMessage( attrRowList->CurRow() ); - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } - return( v ); - } - case SEE_PREV: { - Severity s = ValidateAttr( attrRowList->CurRow(), - SEVERITY_INCOMPLETE, 1 ); - if( s >= SEVERITY_INCOMPLETE ) { - attrRowList->SetCurRow( attrRowList->PreviousRow() ); - SetAttrTypeMessage( attrRowList->CurRow() ); - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } - return( v ); - } - case SEE_LIST : - /* - if(attrRowList->CurRow()){ - if(dp->seeList(this)) - { - Severity s = ValidateAttr(attrRowList->CurRow(), - SEVERITY_INCOMPLETE, 1); - if(s >= SEVERITY_INCOMPLETE) - attrRowList->SetCurRow(attrRowList->NextRow()); - } - } else - messageDisp->Message( - "Select an attribute to list for first"); - buttonsButSt->SetValue(0); - return(v); - */ - return( 0 ); - default: - buttonsButSt->SetValue( 0 ); - return( 0 ); - } -} - -void StepEntityEditor::NotifyUser( const char * msg, int numBellRings ) { -// dp->ErrorMsg(msg); - messageDisp->Message( msg ); - int i; - for( i = 0; i < numBellRings; i++ ) { - fprintf( stderr, "%c" , RingBell ); - } - fflush( stderr ); -} - -void StepEntityEditor::SetAttrTypeMessage( seeAttrRow * row ) { -// const AttrDescriptor *ad = row->StepAttr()->AttrDescriptor; -// NotifyUser((char *)TypeString(ad), 0); - std::string tmp2; - std::string tmp( - row->StepAttr()->aDesc->DomainType()->TypeString( tmp2 ) ); - NotifyUser( tmp, 0 ); -} - -Severity StepEntityEditor::ValidateAttr( seeAttrRow * row, Severity setMarkAtSev, - int notifyUser ) { - Severity sev = SEVERITY_NULL; - STEPattribute * sa = row->StepAttr(); - sa->ClearErrorMsg(); - - // make sure you check redef and derive first!! - if( sa->_redefAttr ) { - sev = SEVERITY_NULL; - } else if( sa->IsDerived() ) { - // these are always mapped to Part 21 as an asterisk DAS - sev = SEVERITY_NULL; - } else if( sa->NonRefType() == STRING_TYPE ) - sev = sa->ValidLevel( - row->StrAttrAssignVal( ( char * )( row->GetEditFieldText() ) ), - &( sa->Error() ), instMgr ); - else - sev = sa->ValidLevel( ( char * )( row->GetEditFieldText() ), - &( sa->Error() ), instMgr ); - - if( sev <= setMarkAtSev ) { - if( notifyUser ) { -// NotifyUser((char *)sa->Error().UserMsg(), 0); - NotifyUser( ( char * )sa->Error().DetailMsg(), 0 ); - } - row->StatusMarker()->NewMessage( "*" ); - } else { - NotifyUser( " ", 0 ); - row->StatusMarker()->NewMessage( " " ); - } - return sev; -} - -int StepEntityEditor::CheckButtons() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::CheckButtons()\n"; - } - int v; - int v2; - // don't need a SubordinateInfo object because the buttons set their - // ButtonState subject to a unique value that identifies one button. - - buttonsButSt->GetValue( v ); - modifyTogButSt->GetValue( v2 ); - // The modify/view checkbox has to have its own ButtonState. - // The reason: It sets its value based on the previous value. - // If it didn't have its own ButtonState then the previous - // value would be lost when the other buttons set the ButtonState. - // So what we have to do is see which ButtonState was set. - // That's the reason why below we have to see if the - // modifyTogButState set its value. - if( modifyTogVal != v2 ) { - - v = modifyTogVal = v2; - } - if( v ) { - return ExecuteCommand( v ); - } - buttonsButSt->SetValue( 0 ); - return( 0 ); -} - -void StepEntityEditor::UndoChanges() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::UndoChanges()\n"; - } - seeAttrRow * rowHead = attrRowList->Head(); - if( rowHead ) { - rowHead->UndoChanges(); - seeAttrRow * row = rowHead->Next(); - while( row != rowHead ) { - row->UndoChanges(); - row = row->Next(); - } - } -} - -Severity StepEntityEditor::Validate() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::Validate()\n"; - } - - Severity s; - Severity level = SEVERITY_NULL; - seeAttrRow * rowHead = attrRowList->Head(); - - if( rowHead ) { - s = rowHead->Validate( instMgr, 1, SEVERITY_INCOMPLETE ); - if( s < level ) { - level = s; - } - seeAttrRow * row = rowHead->Next(); - while( row != rowHead ) { - s = row->Validate( instMgr, 1, SEVERITY_INCOMPLETE ); - if( s < level ) { - level = s; - } - row = row->Next(); - } - } - return level; -} - -// returns whether all values were successfully saved complete -boolean StepEntityEditor::SaveComplete() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::SaveComplete()\n"; - } - - Severity s; - Severity worst = SEVERITY_NULL; - seeAttrRow * rowHead = attrRowList->Head(); - - const char * text = label->Text(); - if( stepEnt && text ) { - std::string ss; - const char * sTmp = ReadComment( ss, text ); - while( *sTmp ) { - sTmp = ReadComment( ss, sTmp ); - } - if( ss.rep() ) { - stepEnt->AddP21Comment( ss ); - } - } - - if( rowHead ) { - s = rowHead->SaveAttr( instMgr, SEVERITY_INCOMPLETE ); - if( s < worst ) { - worst = s; - } - seeAttrRow * row = rowHead->Next(); - while( row != rowHead ) { - if( debug_level >= PrintValues ) - cout << "check to see if lastChar: '" - << ( int )( ( ( StringEditor2 * )row->EditField() )->LastChar() ) - << "' has a value. \n" - << "If it does then it doesn't need to be type checked.\n"; - - s = row->SaveAttr( instMgr, SEVERITY_INCOMPLETE ); - if( s < worst ) { - worst = s; - } - row = row->Next(); - } - } - - if( worst < SEVERITY_USERMSG ) { - messageDisp->Message( "Entity saved to an INCOMPLETE state." ); - return 0; - } - messageDisp->Message( "Entity saved to a COMPLETE state." ); - return 1; - -/////////////////////////////////////////////////////////////////////////////// - /* - seeAttrRow *rowHead = attrRowList->Head(); - if(rowHead){ - rowHead->SaveComplete(); - seeAttrRow *row = rowHead->Next(); - while(row != rowHead){ - if(debug_level >= PrintValues) - cout << "check to see if lastChar: '" - << (int)(((StringEditor2 *)row->EditField())->LastChar()) - << "' has a value. \n" - << "If it does then it doesn't need to be type checked.\n"; - row->SaveComplete(); - row = row->Next(); - } - } - */ -} - -// returns whether all values were successfully saved incomplete -boolean StepEntityEditor::SaveIncomplete() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::SaveIncomplete()\n"; - } - - Severity s; - Severity worst = SEVERITY_NULL; - seeAttrRow * rowHead = attrRowList->Head(); - - const char * text = label->Text(); - if( stepEnt && text ) { - std::string ss; - const char * sTmp = ReadComment( ss, text ); - while( *sTmp ) { - sTmp = ReadComment( ss, sTmp ); - } - if( ss.rep() ) { - stepEnt->AddP21Comment( ss ); - } - } - - if( rowHead ) { - s = rowHead->SaveAttr( instMgr, SEVERITY_INCOMPLETE ); - if( s < worst ) { - worst = s; - } - seeAttrRow * row = rowHead->Next(); - while( row != rowHead ) { - if( debug_level >= PrintValues ) - cout << "check to see if lastChar: '" - << ( int )( ( ( StringEditor2 * )row->EditField() )->LastChar() ) - << "' has a value. \n" - << "If it does then it doesn't need to be type checked.\n"; - - s = row->SaveAttr( instMgr, SEVERITY_INCOMPLETE ); - if( s < worst ) { - worst = s; - } - row = row->Next(); - } - } - messageDisp->Message( "Entity saved to an INCOMPLETE state." ); - if( worst < SEVERITY_INCOMPLETE ) { - return 0; - } - return 1; -/////////////////////////////////////////////////////////////////////////////// - /* - if(debug_level >= PrintFunctionTrace) - cout << "StepEntityEditor::SaveIncomplete()\n"; - seeAttrRow *rowHead = attrRowList->Head(); - if(rowHead){ - rowHead->SaveIncomplete(); - seeAttrRow *row = rowHead->Next(); - while(row != rowHead){ - row->SaveIncomplete(); - row = row->Next(); - } - } - */ -} - -// edit the rows until an event other than a key event is received -void StepEntityEditor::EditRows() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::EditRows()\n"; - } - attrRowList->CurRow()->Edit(); - while( ExecuteTermChar() ) { - attrRowList->CurRow()->Edit(); - } -} - -void PrintEvent( Event * e ) { - Interactor * target = e->target; - EventType et = e->eventType; - char * ks = e->keystring; -} - -/* -int StepEntityEditor::Edit(Event &e) -{ - if(debug_level >= PrintFunctionTrace) - cout << "StepEntityEditor::Edit()\n"; - if(attrRowList->RowCount() > 0) - { - static Event e2; - if(e.eventType == KeyEvent) - e2 = e; - else - { - e2.poll(); - e2.eventType = FocusInEvent; -// e2.eventType = 5; // i.e. enum value other_event in class Event - } - e2.target = attrRowList->CurRow()->EditField(); - PrintEvent(&e2); - attrRowList->CurRow()->NameField()->Highlight(true); - attrRowList->CurRow()->TypeField()->Highlight(true); - UnRead(e2); - return 1; - } - return 0; -} -*/ - -int StepEntityEditor::Edit() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::Edit()\n"; - } - if( attrRowList->RowCount() > 0 ) { - static Event e2; - e2.poll(); - e2.eventType = FocusInEvent; -// e2.eventType = 5; // i.e. enum value other_event in class Event - e2.target = attrRowList->CurRow()->EditField(); - PrintEvent( &e2 ); - attrRowList->CurRow()->NameField()->Highlight( true ); - attrRowList->CurRow()->TypeField()->Highlight( true ); - UnRead( e2 ); - return 1; - } - return 0; -} - -#ifdef otherEditSEE -int StepEntityEditor::Edit() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::Edit()\n"; - } - - seeAttrRow * ptr; - Event e; - - if( attrRowList->CurRow() ) { - if( debug_level >= PrintValues ) { - cout << "attrRowList->Head(): " << ( int )attrRowList->Head() << "\n"; - } - -// ComponentsListen(); - buttonsButSt->Detach( this ); - editorsButSt->Detach( this ); - - buttonsButSt->SetValue( 0 ); -// editorsButSt->SetValue(0); - editorsButSt->SetNull(); - input->Ignore( DownEvent ); - attrRowList->CurRow()->NameField()->Highlight( true ); - attrRowList->CurRow()->TypeField()->Highlight( true ); - - EditRows(); - for( ; ; ) { - Read( e ); - ptr = attrRowList->FindEditField( e.target ); - if( ptr ) { - attrRowList->SetCurRow( ptr ); - // call handle() instead of EditRows() so it sets - // the cursor correctly - ( ( StringEditor2 * )e.target )->Handle( e ); - if( ExecuteTermChar() ) { - EditRows(); - } - } else if( e.target == saveCompleteBut || e.target == saveIncompleteBut || - e.target == cancelBut || e.target == deleteBut ) { - e.target->Handle( e ); - int v; - if( v = CheckButtons() ) { - if( !Pinned() ) { - //ComponentsIgnore(); - buttonsButSt->Attach( this ); - editorsButSt->Attach( this ); - input->Catch( DownEvent ); - return( v ); - } - EditRows(); - } - } - /* - else if(e.target == replicateBut || e.target == editBut || - e.target == markBut || e.target == listBut || - e.target == pinTogBut || e.target == modifyTogBut) - */ - else if( e.target == replicateBut || e.target == editBut || - e.target == markBut || e.target == pinTogBut || - e.target == modifyTogBut ) { - e.target->Handle( e ); - if( CheckButtons() ) { - EditRows(); - } - } else { - UnRead( e ); - if( debug_level >= PrintFunctionTrace ) { - cout << "leaving StepEntityEditor::Handle() \n"; - } -// ComponentsIgnore(); - buttonsButSt->SetValue( 0 ); - editorsButSt->SetNull(); -// editorsButSt->SetValue(0); - buttonsButSt->Attach( this ); - editorsButSt->Attach( this ); - - input->Catch( DownEvent ); - attrRowList->CurRow()->NameField()->Highlight( false ); - attrRowList->CurRow()->TypeField()->Highlight( false ); - return( 0 ); - } - } - } else { - dp->ErrorMsg( "Entity has no attributes" ); - } -}; -#endif - -/////////////////////////////////////////////////////////////////////////////// -// Update() -// this function is called whenever either of editorsButSt's or buttonsButSt's -// values change (as long as the SEE is attached to them) -/////////////////////////////////////////////////////////////////////////////// - -void StepEntityEditor::Update() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::Update()\n"; - } - seeAttrRow * ptr; - Event e; - - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::Update()\n"; - } - SubordinateInfo * si = 0; - -// editorsButSt->GetValue((void*)si); // the cast makes this not work -// editorsButSt->GetValue(si); // this no longer works with Sun C++ => error - // Must assign as below DAS - void * tmpVoidPtr = 0; - editorsButSt->GetValue( tmpVoidPtr ); - si = ( SubordinateInfo * ) tmpVoidPtr; - - if( si ) { - if( debug_level >= PrintValues ) - cout << "subordinate term char: " << ( int )si->GetValue() - << " sub: " << ( int )si->GetSubordinate() << "\n"; - - int v; - si->GetValue( v ); - // the following instance is derived from StringEditor2 - StringEditor2 * se = ( StringEditor2 * )si->GetSubordinate(); - - // this follows the initial hit in one of the SEE editors, this moves - // focus from the other object to the SEE. - if( v == '\001' ) { -// messageDisp->Message(" "); - Read( e ); - if( e.eventType == DownEvent ) { - ptr = attrRowList->FindEditField( se ); - if( ptr ) { - // set current row and highlight it - // set row to one just chosen - attrRowList->SetCurRow( ptr ); - SetAttrTypeMessage( attrRowList->CurRow() ); - } - } - editorsButSt->SetNull(); - - if( se != label ) { - attrRowList->CurRow()->EditField()->StringEditor2::Handle( e ); - } else { - se->StringEditor2::Handle( e ); - } - - editorsButSt->SetNull(); - - /* - if(se != label) - { - messageDisp->Message(" "); - ptr = attrRowList->FindEditField(se); - if(ptr) { - // set current row and highlight it - // set row to one just chosen - attrRowList->SetCurRow(ptr); - ((StringEditor2*)(attrRowList->CurRow()->EditField()))->StringEditor2::Handle(e); - } - } - */ - } -// else if(v == SEE_NEXT || v == SEE_PREV) // wrong: could be any cmd! - else if( v != 0 ) { - // This initiates the edit of the next editor field in the SEE - // based on the terminating char of the previous editor. - // It initiates the edit by preloading an event for that editor. -// se->RemoveCursor(); // remove cursor from current editor. - StringEditor * nextEditor; - static Event e; - if( se == label ) { - attrRowList->SetCurRow( attrRowList->Head() ); - nextEditor = attrRowList->Head()->EditField(); - e.poll(); - e.target = nextEditor; - e.eventType = FocusInEvent; -// e.eventType = 5; // i.e. enum value other_event in class Event - UnRead( e ); - } else if( ExecuteTermChar() ) { - nextEditor = attrRowList->CurRow()->EditField(); - e.poll(); - e.target = nextEditor; - e.eventType = FocusInEvent; -// e.eventType = 5; // i.e. enum value other_event in class Event - UnRead( e ); - } - } -// editorsButSt->Detach(this); -// editorsButSt->SetValue(0); - editorsButSt->SetNull(); -// editorsButSt->Attach(this); - } else { - CheckButtons(); - } -#ifdef firstWaySEEUpdate - seeAttrRow * ptr; - SubordinateInfo * si = 0; - -// editorsButSt->GetValue((void*)si); // the cast makes this not work - editorsButSt->GetValue( si ); - if( si ) { - int v; - si->GetValue( v ); - // the following instance is derived from StringEditor2 - StringEditor2 * se = ( StringEditor2 * )si->GetSubordinate(); - if( v == '\001' ) { - if( se != label ) { - ptr = attrRowList->FindEditField( se ); - if( ptr ) { - // set current row and highlight it - // set row to one just chosen - attrRowList->SetCurRow( ptr ); - } - } - editorsButSt->Detach( this ); -// editorsButSt->SetValue(0); - editorsButSt->SetNull(); - editorsButSt->Attach( this ); - } -// else if(v == '\r' || v == '\016' || v == '\020') - else if( v == SEE_NEXT || v == SEE_PREV ) { - // set row based on editing termination - editorsButSt->Detach( this ); - // remove cursor - se->RemoveCursor(); - if( se == label ) { - attrRowList->SetCurRow( attrRowList->Head() ); - EditRows(); - } else if( ExecuteTermChar() ) { - EditRows(); - } -// editorsButSt->SetValue(0); - editorsButSt->SetNull(); - editorsButSt->Attach( this ); - } - } else { - CheckButtons(); - } -#endif -#ifdef secondWaySEEUpdate - seeAttrRow * ptr; - Event e; - - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::Update()\n"; - } - SubordinateInfo * si = 0; - -// editorsButSt->GetValue((void*)si); // the cast makes this not work - editorsButSt->GetValue( si ); - if( si ) { - if( debug_level >= PrintValues ) - cout << "subordinate term value: " << ( int )si->GetValue() - << " sub: " << ( int )si->GetSubordinate() << "\n"; - - // the following instance is derived from StringEditor2 - StringEditor2 * se = ( StringEditor2 * )si->GetSubordinate(); - ptr = attrRowList->FindEditField( se ); - if( ptr ) { - if( debug_level >= PrintValues ) - cout << "found the editor you choose, now remove " - << "cursor from previous editor\n"; - // remove cursor - se->RemoveCursor(); - // set current row and highlight it - - attrRowList->SetCurRow( ptr ); // set row to one just chosen - editorsButSt->Detach( this ); -// editorsButSt->SetValue(0); - editorsButSt->SetNull(); - Read( e ); // re-read event - ( ( StringEditor2 * )e.target )->Handle( e ); - - if( ExecuteTermChar() ) { // set row based on editing termination - Edit(); // continue editing at current row - } else { -// editorsButSt->SetValue(0); - editorsButSt->SetNull(); - editorsButSt->Attach( this ); - } - } else if( se == label ) { -// editorsButSt->Detach(this); -// editorsButSt->SetValue(0); - Read( e ); // re-read event - ( ( StringEditor2Sub * )e.target )->StringEditor2::Handle( e ); - - SubordinateInfo * si; - editorsButSt->GetValue( si ); - if( si ) { -// int termCode = 0; -// si->GetValue(termCode); - attrRowList->SetCurRow( attrRowList->Head() ); - Edit(); // continue editing at current row - } - /* - else - { - // editorsButSt->SetValue(0); - // editorsButSt->Attach(this); - } - */ - } - } else { - CheckButtons(); - } -#endif -} - -void StepEntityEditor::Handle( Event & e ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::Handle()\n"; - } - if( attrRowList->RowCount() > 0 ) { - static Event e2; - if( e.eventType == KeyEvent ) { - // copy the event info. (most importantly the keystroke info.) - e2 = e; - } else { - // just to make sure everything gets assigned that needs to -// e2.poll(); //DAS IVBUG - e2 = e; - e2.eventType = FocusInEvent; // assign some harmless event type -// e2.eventType = 5; // i.e. enum value other_event in class Event - } - /* assign the attr. editor for the current attr to receive the event */ - e2.target = attrRowList->CurRow()->EditField(); - PrintEvent( &e2 ); - attrRowList->CurRow()->NameField()->Highlight( true ); - attrRowList->CurRow()->TypeField()->Highlight( true ); - if( e2.target ) -// UnRead(e2); - { - e2.target->Handle( e2 ); - } - } -} - -void -StepEntityEditor::Insert( STEPattribute * attr, int nameWidth, int editWidth, - int typeWidth ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::Insert()\n"; - } -// extern Sensor *noEvents; - seeAttrRow * temp; - - temp = new seeAttrRow( attr, instMgr, editorsButSt, nameWidth, editWidth, - typeWidth ); -// temp->EditField()->Listen(noEvents); - attrRowList->InsertAfter( temp, attrRowList->LastRow() ); - if( temp != attrRowList->Head() ) { - VBox::Insert( new VGlue( SEE_ATTR_VSPACE, SEE_ATTR_VSPACE ) ); - VBox::Insert( temp ); - } else { - VBox::Insert( temp ); - } -} - -void StepEntityEditor::ComponentsIgnore() { - /* - static Sensor *sensor = 0; - if(!sensor) - { - sensor = new Sensor(); - sensor->Ignore(DownEvent); - sensor->Ignore(KeyEvent); - } - */ - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::ComponentsIgnore()\n"; - } - attrRowList->ComponentsIgnore(); -// saveCompleteBut->Disable(); -// saveIncompleteBut->Disable(); -// cancelBut->Disable(); -// deleteBut->Disable(); - -// replicateBut->Disable(); // BUG since we haven't implemented this yet - editBut->Disable(); - markBut->Disable(); -// listBut->Disable(); -// pinTogBut->Disable(); - -// input = sensor; - input->Ignore( DownEvent ); - input->Ignore( KeyEvent ); -}; - -void StepEntityEditor::ComponentsListen() { - /* - static Sensor *sensor = 0; - if(!sensor) - { - sensor = new Sensor(); - sensor->Catch(DownEvent); - sensor->Catch(KeyEvent); - } - */ - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::ComponentsListen()\n"; - } - attrRowList->ComponentsListen(); -// saveCompleteBut->Enable(); -// saveIncompleteBut->Enable(); -// cancelBut->Enable(); -// deleteBut->Enable(); - -// replicateBut->Enable(); // BUG since we haven't implemented this yet - editBut->Enable(); - markBut->Enable(); -// listBut->Enable(); -// pinTogBut->Enable(); - -// input = sensor; - input->Catch( DownEvent ); - input->Catch( KeyEvent ); -}; - -void StepEntityEditor::PressButton( int butCode ) { - switch( butCode ) { - case SEE_SAVE_COMPLETE: - case SEE_SAVE_INCOMPLETE: - case SEE_CANCEL: - case SEE_DELETE: - case SEE_REPLICATE: - case SEE_EDIT: - case SEE_MARK: - case SEE_LIST: - buttonsButSt->SetValue( butCode ); - break; - case SEE_MODIFY: - case SEE_VIEW: - modifyTogButSt->SetValue( butCode ); - break; - case SEE_PIN: - case SEE_NOT_PIN: - pinTogButSt->SetValue( butCode ); - break; - } -} - -// the constructor StepEntityEditor() {} gets called for this class. -HeaderEntityEditor::HeaderEntityEditor( MgrNode * mn, InstMgr * im, int pinBool, - int modifyBool ) { - mgrNode = mn; - stepEnt = mgrNode->GetSTEPentity(); - instMgr = im; - // this ButtonState is needed for below but is not of any real use. - dispButSt = new ButtonState(); - messageDisp = new StringDisplay( dispButSt, - " " ); - CreateButtonsAndStates( modifyBool, pinBool ); - input = new Sensor(); - input->Catch( DownEvent ); - input->Catch( KeyEvent ); - attrRowList = new seeAttrRowList(); - - CreateHeading(); - CreateInsertAttributeEditors(); - InsertButtons(); - if( !modifyBool ) { - ComponentsIgnore(); - } - - editorsButSt->Reference(); - buttonsButSt->Reference(); - modifyTogButSt->Reference(); - pinTogButSt->Reference(); -} - - -HeaderEntityEditor::~HeaderEntityEditor() { - if( debug_level >= PrintFunctionTrace ) { - cout << "HeaderEntityEditor::~HeaderEntityEditor()\n"; - } - -// these don't get called by StepEntityEditor's destructor this redefines it. - Unref( editorsButSt ); - Unref( buttonsButSt ); - Unref( modifyTogButSt ); - Unref( pinTogButSt ); -} - -void HeaderEntityEditor::ComponentsIgnore() { - if( debug_level >= PrintFunctionTrace ) { - cout << "HeaderEntityEditor::ComponentsIgnore()\n"; - } - attrRowList->ComponentsIgnore(); - - input->Ignore( DownEvent ); - input->Ignore( KeyEvent ); -} - -void HeaderEntityEditor::ComponentsListen() { - if( debug_level >= PrintFunctionTrace ) { - cout << "HeaderEntityEditor::ComponentsListen()\n"; - } - attrRowList->ComponentsListen(); - - input->Catch( DownEvent ); - input->Catch( KeyEvent ); -} - -void HeaderEntityEditor::PressButton( int butCode ) { - switch( butCode ) { - case SEE_SAVE_COMPLETE: - case SEE_SAVE_INCOMPLETE: - case SEE_CANCEL: - buttonsButSt->SetValue( butCode ); - break; - case SEE_MODIFY: - case SEE_VIEW: - modifyTogButSt->SetValue( butCode ); - break; - case SEE_PIN: - case SEE_NOT_PIN: - pinTogButSt->SetValue( butCode ); - break; - } -} - -// Called when a subject (buttonsButSt or editorsButSt) is set to -// a NEW value. StepEntityEditor is 'Subject::Attach()ed' to the -// two subjects except during the scope of StepEntityEditor::Edit() -// when it is 'Subject::Detach()ed'. This means that it's called -// when (inside a SEE) a button is pushed or an attribute field is -// changed (and terminated by a terminating char) outside of -// the scope of StepEntityEditor::Edit(). It does the appropriate -// action associated with the button or the term char for an attribute -// edit. - -void HeaderEntityEditor::Update() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::Update()\n"; - } - seeAttrRow * ptr; - Event e; - - if( debug_level >= PrintFunctionTrace ) { - cout << "HeaderEntityEditor::Update()\n"; - } - SubordinateInfo * si = 0; - -// editorsButSt->GetValue((void*)si); // the cast makes this not work -// editorsButSt->GetValue(si); - void * tmpVoidPtr = 0; - editorsButSt->GetValue( tmpVoidPtr ); - si = ( SubordinateInfo * ) tmpVoidPtr; - - if( si ) { - if( debug_level >= PrintValues ) - cout << "subordinate term char: " << ( int )si->GetValue() - << " sub: " << ( int )si->GetSubordinate() << "\n"; - - int v; - si->GetValue( v ); - // the following instance is derived from StringEditor2 - StringEditor2 * se = ( StringEditor2 * )si->GetSubordinate(); - // this follows the initial hit in one of the SEE editors, this moves - // focus from the other object to the SEE. - if( v == '\001' ) { - messageDisp->Message( " " ); - Read( e ); - if( e.eventType == DownEvent ) { - ptr = attrRowList->FindEditField( se ); - if( ptr ) { - // set current row and highlight it - // set row to one just chosen - attrRowList->SetCurRow( ptr ); - } - } - editorsButSt->SetNull(); - - if( se != label ) { - attrRowList->CurRow()->EditField()->StringEditor2::Handle( e ); - } else { - se->StringEditor2::Handle( e ); - } - - editorsButSt->SetNull(); - /******************************************** - if(se != label) - { - messageDisp->Message(" "); - ptr = attrRowList->FindEditField(se); - if(ptr) { - // set current row and highlight it - // set row to one just chosen - attrRowList->SetCurRow(ptr); - Read(e); - ((StringEditor2*)(attrRowList->CurRow()->EditField()))->StringEditor2::Handle(e); - } - } - ********************************************/ - } -// else if(v == SEE_NEXT || v == SEE_PREV) // wrong: could be any cmd! - else if( v != 0 ) { - // This initiates the edit of the next editor field in the SEE - // based on the terminating char of the previous editor. - // It initiates the edit by preloading an event for that editor. -// se->RemoveCursor(); // remove cursor from current editor. - StringEditor * nextEditor; - static Event e; - if( se == label ) { - attrRowList->SetCurRow( attrRowList->Head() ); - nextEditor = attrRowList->Head()->EditField(); - e.poll(); - e.target = nextEditor; - e.eventType = FocusInEvent; -// e.eventType = 5; // i.e. enum value other_event in class Event - UnRead( e ); - } else if( ExecuteTermChar() ) { - nextEditor = attrRowList->CurRow()->EditField(); - e.poll(); - e.target = nextEditor; - e.eventType = FocusInEvent; -// e.eventType = 5; // i.e. enum value other_event in class Event - UnRead( e ); - } - } -// editorsButSt->Detach(this); -// editorsButSt->SetValue(0); - editorsButSt->SetNull(); -// editorsButSt->Attach(this); - } else { - CheckButtons(); - } -} - -void HeaderEntityEditor::CreateHeading() { - if( debug_level >= PrintFunctionTrace ) { - cout << "HeaderEntityEditor::CreateHeading()\n"; - } - VBox::Insert( new VGlue( SEE_VSPACE, 0 ) ); - - Message * titleMsg = new Message( stepEnt->EntityName() ); -//BUG need this to set the font of the title? -// titleMsg->SetClassName("SEEtitle"); - VBox::Insert( new HBox( - new HGlue( round( .08 * inch ), 0, 0 ), - titleMsg, - new HGlue - ) - ); - VBox::Insert( new VGlue( SEE_VSPACE, 0 ) ); -} - -void HeaderEntityEditor::CreateButtonsAndStates( int modifyBool, int pinBool ) { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::CreateButtonsAndStates()\n"; - } - editorsButSt = new MyButtonState( 0 ); - editorsButSt->Attach( this ); - - buttonsButSt = new ButtonState( 0 ); - buttonsButSt->Attach( this ); - - if( modifyBool ) { - modifyTogVal = SEE_MODIFY; // set modifyTogButSt to same value as this - modifyTogButSt = new ButtonState( SEE_MODIFY ); - } else { - modifyTogVal = SEE_VIEW; // set modifyTogButSt to same value as this - modifyTogButSt = new ButtonState( SEE_VIEW ); - } - modifyTogButSt->Attach( this ); - - if( pinBool ) { - pinTogButSt = new ButtonState( SEE_PIN ); - } else { - pinTogButSt = new ButtonState( SEE_NOT_PIN ); - } - pinTogButSt->Attach( this ); - - saveCompleteBut = new MyPushButton( "save", buttonsButSt, - SEE_SAVE_COMPLETE ); - saveIncompleteBut = new MyPushButton( "i", buttonsButSt, - SEE_SAVE_INCOMPLETE ); - cancelBut = new MyPushButton( "c", buttonsButSt, - SEE_CANCEL ); -// editBut = new MyPushButton("e", buttonsButSt, -// SEE_EDIT); - attrInfoBut = new MyPushButton( "a", buttonsButSt, - SEE_ATTR_INFO ); - modifyTogBut = new ModifyViewCheckBox( " ", modifyTogButSt, - SEE_MODIFY, SEE_VIEW ); - pinTogBut = new PinCheckBox( " ", pinTogButSt, - SEE_PIN, SEE_NOT_PIN ); -} - -void HeaderEntityEditor::InsertButtons() { - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::InsertButtons()\n"; - } - VBox::Insert( new VGlue( SEE_VSPACE, 0 ) ); - VBox::Insert( new HBox( - new HGlue( round( .05 * inch ), 0, 0 ), - new Frame( messageDisp ), - new HGlue( round( .05 * inch ), 0, 0 ) - ) ); - VBox::Insert( new VGlue( SEE_VSPACE, 0 ) ); - - VBox::Insert( - new HBox( - new HBox( - new HGlue( round( .1 * inch ) ), - modifyTogBut, - new HGlue( round( .1 * inch ) ), - saveCompleteBut, - new HGlue( round( .1 * inch ) ), - saveIncompleteBut, - new HGlue( round( .1 * inch ) ) - ), - new HBox( - cancelBut, - new HGlue( round( .1 * inch ) ) - ), - new HBox( -// editBut, -// new HGlue(round(.1*inch)), - attrInfoBut, - new HGlue( round( .1 * inch ) ) - ) - ) - ); - VBox::Insert( new VGlue( SEE_VSPACE, 0 ) ); -} - -int HeaderEntityEditor::ExecuteCommand( int v ) { - int rc = 0; - if( debug_level >= PrintFunctionTrace ) { - cout << "StepEntityEditor::ExecuteCommand()\n"; - } - switch( v ) { - case SEE_PIN : - int prevVal; - pinTogButSt->GetValue( prevVal ); - if( prevVal == SEE_PIN ) { - pinTogButSt->SetValue( SEE_NOT_PIN ); - } else { - pinTogButSt->SetValue( SEE_PIN ); - } - - return( v ); - - case SEE_SAVE_COMPLETE : - - if( SaveComplete() ) { - ; // dp->seeSaveComplete(this); - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - ;// dp->seeSaveIncomplete(this); - } - buttonsButSt->SetValue( 0 ); - // don't do this since buttons need to be notified to redraw themselves -// buttonsButSt->SetNull(); - return( v ); - case SEE_SAVE_INCOMPLETE : - - if( !SaveIncomplete() ) { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } - ;// dp->seeSaveIncomplete(this); - buttonsButSt->SetValue( 0 ); - return( v ); - case SEE_CANCEL : - UndoChanges(); - messageDisp->Message( - "Entity values reverted to last saved state." ); - ;// dp->seeCancel(this); - buttonsButSt->SetValue( 0 ); - return( v ); - case SEE_ATTR_UNDO : { - seeAttrRow * row = attrRowList->CurRow(); - if( row ) { - row->UndoChanges(); - } - buttonsButSt->SetValue( 0 ); - return( v ); - } - case SEE_MODIFY : -// dp->seeToggle(this, SEE_MODIFY); - ComponentsListen(); - return( v ); - case SEE_VIEW : - if( attrRowList->CurRow() ) { - attrRowList->CurRow()->NameField()->Highlight( false ); - attrRowList->CurRow()->TypeField()->Highlight( false ); - } -// dp->seeToggle(this, SEE_VIEW); -// SetPinned(0); - ComponentsIgnore(); - return( v ); - case SEE_ATTR_INFO: { - SetAttrTypeMessage( attrRowList->CurRow() ); -// dp->seeOpenSED(this); - buttonsButSt->SetValue( 0 ); - return( v ); - } - case SEE_NEXT: { - Severity s = ValidateAttr( attrRowList->CurRow(), - SEVERITY_INCOMPLETE, 1 ); - if( s >= SEVERITY_INCOMPLETE ) { - attrRowList->SetCurRow( attrRowList->NextRow() ); - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } - return( v ); - } - case SEE_PREV: { - Severity s = ValidateAttr( attrRowList->CurRow(), - SEVERITY_INCOMPLETE, 1 ); - if( s >= SEVERITY_INCOMPLETE ) { - attrRowList->SetCurRow( attrRowList->PreviousRow() ); - } else { - fprintf( stderr, "%c" , RingBell ); - fflush( stderr ); - } - return( v ); - } - default: - buttonsButSt->SetValue( 0 ); - return( 0 ); - } -} - - diff --git a/src/clprobe-ui/stepenteditor.h b/src/clprobe-ui/stepenteditor.h deleted file mode 100644 index 79474280d..000000000 --- a/src/clprobe-ui/stepenteditor.h +++ /dev/null @@ -1,434 +0,0 @@ -#ifndef stepenteditor_h -#define stepenteditor_h - -/* -* NIST Data Probe Class Library -* clprobe-ui/stepenteditor.h -* April 1997 -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -/* $Id: stepenteditor.h,v 3.0.1.1 1997/11/05 23:01:12 sauderd DP3.1 $ */ - -#include // to get iscntrl() - -#include -// #include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include // "~sauderd/src/iv/hfiles/streditor2sub.h" - -#include -#include -#include - -class Probe; -class MyButtonState; - -#include - -////////////////////////////////////////////////////////////////////////////// -// -// This is a horizontal box object that represents a STEPattribute in a -// STEPentity (a row in the StepEntityEditor's (SEE's) list of STEPattributes) -// It's a Horizontal box containing a myLabel (attr name), StringEditor -// (editable attribute field), and another myLabel (attr type). -// Note that these rows correspond to STEPattributes for a STEPentity; -// it does not mean that when the values are changed the STEPentity's -// STEPattribute values are changed. The value for the attribute in -// this object can be saved complete, saved incomplete, or aborted by the -// StepEntityEditor. -// -////////////////////////////////////////////////////////////////////////////// - -class seeAttrRow : public HBox { - public: - seeAttrRow( STEPattribute * sAttr, InstMgr * im, ButtonState * b, - int nameWidth, int editWidth, int typeWidth ); - virtual ~seeAttrRow(); - - const char * GetAttrName(); - const char * GetAttrTypeName(); - BASE_TYPE GetType(); - // return aName with brackets around it if attribute is optional - char * IndicateOptionality( const char * aName ); - enum Severity Validate( InstMgr * instMgr, int setMark = 1, - enum Severity setMarkAtSev = SEVERITY_INCOMPLETE ); - enum Severity SaveAttr( InstMgr * instMgr, - enum Severity setMarkAtSev = SEVERITY_INCOMPLETE ); - void UndoChanges(); - - char * StrAttrAssignVal( const char * s ); - char * StrEditorVal( std::string & s ); - - // return private class members - STEPattribute * StepAttr() { - return stepAttr; - } - MyMessage * StatusMarker() { - return statusMarker; - } - myLabel * NameField() { - return nameField; - }; - StringEditor2 * EditField() { - return editField; - }; - myLabel * TypeField() { - return typeField; - }; - ButtonState * ButtonSt() { - return butSt; - }; - seeAttrRow * Next() { - return next; - }; - seeAttrRow * Previous() { - return previous; - }; - - // get or set the text in the editable field - const char * GetEditFieldText() { - return editField->Text(); - }; - void SetEditFieldText( const char * str ) { - editField->Message( str ); - }; - - // initiate an edit for the attribute editable field and get - // or set the terminating char for an edit - void Edit() { - butSt->SetValue( 0 ); - editField->NewEdit(); - }; - int GetTerminatingChar() { - int v; - butSt->GetValue( v ); - return ( v ); - }; - void SetTerminatingChar( int v ) { - butSt->SetValue( v ); - }; - - boolean IsMapped(); - - private: - friend class seeAttrRowList; - -// StringDisplay *statusMarker; // a marker for indicating invalid data, etc. - MyMessage * statusMarker; // a marker for indicating invalid data, etc. - myLabel * nameField; // label for STEPattribute name - StringEditor2 * editField; // editable (Step attribute) field - myLabel * typeField; // label for STEPattribute type - ButtonState * butSt; // set by editField to char terminating edit - - seeAttrRow * next; // next row in SEE's list of STEPattributes - seeAttrRow * previous; // previous row in SEE's list of STEPattributes - STEPattribute * stepAttr; // STEPattribute represented by this row -}; - -////////////////////////////////////////////////////////////////////////////// -// -// This is a list of seeAttrRow's (i.e. a list of editable STEPattribute's) -// in the order returned by STEPentity's NextAttribute() for a single -// STEPentity. It has the idea of a current row to indicate, for instance, -// where the previous edit was done or where the current edit is being done. -// -////////////////////////////////////////////////////////////////////////////// - -class seeAttrRowList { - public: - seeAttrRowList(); - virtual ~seeAttrRowList(); - - // access members in the list. - seeAttrRow * Head() { - return head; - }; - seeAttrRow * LastRow() { - return ( head ? ( head->Previous() ) : nil ); - }; - seeAttrRow * CurRow() { - return currentRow; - }; - seeAttrRow * NextRow(); // following current row - seeAttrRow * PreviousRow(); // preceding current row - - // set the current row in the list by index, returns index or 0 (error) - int SetCurRow( int index ); - // set the current row in the list to existingRow, - // returns the row object -- does not check if existingRow is in list. - seeAttrRow * SetCurRow( seeAttrRow * existingRow ); - - // return the number of members (rows) in the list - int RowCount() { - return rowCount; - }; - - // Find() returns the index in the list (found) if found - // otherwise zero (not found) - int Find( seeAttrRow * r ); - // returns the row object containing the editable attribute field - seeAttrRow * FindEditField( Interactor * targetStrEd ); - - // Append() and Insert() add a row object to the end of the list. - void Append( seeAttrRow * newRow ) { - InsertAfter( newRow, LastRow() ); - }; - void Insert( seeAttrRow * newRow ) { - InsertAfter( newRow, LastRow() ); - }; - // insert a row object into the list before or after existingRow. - // returns the index of the new object in the list or zero (error) - int InsertAfter( seeAttrRow * newRow, seeAttrRow * existingRow ); - int InsertBefore( seeAttrRow * newRow, seeAttrRow * existingRow ); - /* - int InsertAfter(seeAttrRow *newRow, seeAttrRow *existingRow = LastRow()); - int InsertBefore(seeAttrRow *newRow, seeAttrRow *existingRow = Head()); - - int InsertAfter(seeAttrRow *newRow, - seeAttrRow *existingRow = (head ? (head->previous) : nil) ); - int InsertBefore(seeAttrRow *newRow, seeAttrRow *existingRow = head); - */ - // causes the editable attribute fields in the list to ignore events. - void ComponentsIgnore(); - void ComponentsListen(); - private: - seeAttrRow * head; - seeAttrRow * currentRow; - int rowCount; // number of objects (rows/attributes) in the list -}; - -inline seeAttrRow * seeAttrRowList::PreviousRow() { - return ( currentRow ? ( currentRow->Previous() ) : nil ); -}; - -inline seeAttrRow * seeAttrRowList::NextRow() { - return ( currentRow ? ( currentRow->Next() ) : nil ); -}; - -inline seeAttrRow * seeAttrRowList::SetCurRow( seeAttrRow * row ) { - if( currentRow ) { - currentRow->NameField()->Highlight( false ); - currentRow->TypeField()->Highlight( false ); - currentRow = row; - currentRow->NameField()->Highlight( true ); - currentRow->TypeField()->Highlight( true ); - return ( currentRow ); - } else { - return 0; - } -}; - -////////////////////////////////////////////////////////////////////////////// -// -// This is a vertical box object that represents a STEPentity. The vertical -// box has inserted (in order top to bottom) the following objects : -// 1) STEPentity name -// 2) step file id -// 3) label field for this instance of STEPentity -// 4) a seeAttrRow for each attribute in a STEPentity in the -// order returned by STEPentity::NextAttribute(). -// these objects are accessed through attrRowList (a list -// of seeAttrRows) -// 5) a button for saving completed modifications -// 6) a button for saving incompleted modifications -// 7) a button for aborting modifications -// -// Note that this corresponds to a STEPentity; it does not mean that -// when it's attribute values are changed the STEPentity's values are -// changed. The modified values for the attributes in this object can -// be saved complete, saved incomplete, or aborted by the StepEntityEditor. -// -////////////////////////////////////////////////////////////////////////////// - -class StepEntityEditor : public VBox { - public: - StepEntityEditor( MgrNode * mn, InstMgr * im, int pinBool = 1, - int modifyBool = 1 ); - StepEntityEditor( STEPentity * se, int pinBool = 1, - int modifyBool = 1 ); - virtual ~StepEntityEditor(); - - boolean IsMapped(); - - virtual void Handle( Event & e ); // handle down events to grab focus - // initiate editing starting at currentRow (attribute) in attrRowList - virtual int Edit(); - // append a seeAttrRow (HBox representing an attribute) to end of - // seeAttrRowList and insert seeAttrRow into end of StepEntityEditor - // (VBox representing a STEPentity) - void NotifyUser( const char * msg, int numBellRings = 1 ); - - void SetAttrTypeMessage( seeAttrRow * row ); - enum Severity ValidateAttr( seeAttrRow * row, - enum Severity setMarkAtSev = SEVERITY_INCOMPLETE, - int notifyUser = 1 ); - enum Severity Validate(); - boolean SaveComplete(); - boolean SaveIncomplete(); - void UndoChanges(); - - void Insert( STEPattribute * attr, int nameWidth, int editWidth, int typeWidth ); -//DAS seeAttrRowList *AttrRowList() { return attrRowList; }; - seeAttrRowList * & AttrRowList() { - return attrRowList; - }; - - int Pinned(); - void SetPinned( int pinnedBool = 1 ); - virtual void ComponentsIgnore(); - virtual void ComponentsListen(); - virtual void PressButton( int butCode ); - virtual void DisableSave() { - saveCompleteBut->Disable(); - saveIncompleteBut->Disable(); - }; - virtual void EnableSave() { - saveCompleteBut->Enable(); - saveIncompleteBut->Enable(); - }; -// int GetTerminatingChar() { int v; editorsButSt->GetValue(v); return (v);}; - // Called when a subject (buttonsButSt or editorsButSt) is set to - // a NEW value. StepEntityEditor is 'Subject::Attach()ed' to the - // two subjects except during the scope of StepEntityEditor::Edit() - // when it is 'Subject::Detach()ed'. This means that it's called - // when (inside a SEE) a button is pushed or an attribute field is - // changed (and terminated by a terminating char) outside of - // the scope of StepEntityEditor::Edit(). It does the appropriate - // action associated with the button or the term char for an attribute - // edit. - void Update(); - ButtonState * GetButtonState() { - return buttonsButSt; - }; - STEPentity * GetStepEntity() { - return stepEnt; - }; - MgrNode * GetMgrNode() { - return mgrNode; - }; - - void SetProbe( Probe * p ) { - dp = p; - } - Probe * GetProbe() { - return dp; - } - - void SetInstMgr( InstMgr * im ) { - instMgr = im; - } - InstMgr * GetInstMgr() { - return instMgr; - } - - protected: - StepEntityEditor() { } - - void EditRows(); - - virtual void CreateHeading(); - virtual void CreateButtonsAndStates( int modifyBool = 1, int pinBool = 1 ); - virtual void InsertButtons(); - void CreateInsertAttributeEditors(); - // checks editorsButSt & assigns new currentRow (in attrRowList) - // being edited based on terminating char of edit - virtual int ExecuteTermChar(); -// int AssignCurRow(); - // checks buttonsButSt & does appropriate action if a button was pushed - int CheckButtons(); - virtual int ExecuteCommand( int v ); - - protected: - // list of contained seeAttrRow's (HBox's) representing attributes - seeAttrRowList * attrRowList; // members set editorsButSt - - MyButtonState * editorsButSt; // subject set by editable attr fields - ButtonState * buttonsButSt; // subject set by save & abort buttons - MyPushButton * saveCompleteBut; // sets buttonsButSt - MyPushButton * saveIncompleteBut; // sets buttonsButSt - MyPushButton * cancelBut; // sets buttonsButSt - MyPushButton * deleteBut; // sets buttonsButSt - - MyPushButton * replicateBut; // sets buttonsButSt - MyPushButton * editBut; // sets buttonsButSt - MyPushButton * markBut; // sets buttonsButSt - MyPushButton * listBut; // sets buttonsButSt - - MyPushButton * sedBut; // sets buttonsButSt - MyPushButton * attrInfoBut; // sets buttonsButSt - - int modifyTogVal; // used to remember the previous modify/view state - ButtonState * modifyTogButSt; // subject set by modifyTogBut - ModifyViewCheckBox * modifyTogBut; // toggle modify/view of window - - ButtonState * pinTogButSt; // subject set by pinTogBut - PinCheckBox * pinTogBut; // toggle pin(stay mapped)/unmap with - // save, cancel, and delete buttons - Probe * dp; - InstMgr * instMgr; - MgrNode * mgrNode; // MgrNode containing stepEnt - STEPentity * stepEnt; // represented STEPentity - StringEditor2Sub * label; // label field associated with this STEPentity - StringDisplay * messageDisp; - ButtonState * dispButSt; -}; - -inline int StepEntityEditor::Pinned() { - int v; - pinTogButSt->GetValue( v ); - return ( v == SEE_PIN ); -} - -inline void StepEntityEditor::SetPinned( int pinnedBool ) { - if( pinnedBool ) { - pinTogButSt->SetValue( SEE_PIN ); - } else { - pinTogButSt->SetValue( SEE_NOT_PIN ); - } -} - - -class HeaderEntityEditor : public StepEntityEditor { - public: - HeaderEntityEditor( MgrNode * mn, InstMgr * im, int pinBool = 1, - int modifyBool = 1 ); - virtual ~HeaderEntityEditor(); - - void ComponentsIgnore(); - void ComponentsListen(); - void PressButton( int butCode ); - // Called when a subject (buttonsButSt or editorsButSt) is set to - // a NEW value. StepEntityEditor is 'Subject::Attach()ed' to the - // two subjects except during the scope of StepEntityEditor::Edit() - // when it is 'Subject::Detach()ed'. This means that it's called - // when (inside a SEE) a button is pushed or an attribute field is - // changed (and terminated by a terminating char) outside of - // the scope of StepEntityEditor::Edit(). It does the appropriate - // action associated with the button or the term char for an attribute - // edit. - void Update(); - - protected: - void CreateHeading(); - void CreateButtonsAndStates( int modifyBool = 1, int pinBool = 1 ); - void InsertButtons(); - // checks buttonsButSt & does appropriate action if a button was pushed - int ExecuteCommand( int v ); -}; - -#include - -#endif diff --git a/src/clstepcore/CMakeLists.txt b/src/clstepcore/CMakeLists.txt index d929a8083..e31f8ad8e 100644 --- a/src/clstepcore/CMakeLists.txt +++ b/src/clstepcore/CMakeLists.txt @@ -1,70 +1,92 @@ - -set(LIBSTEPCORE_SRCS - sdaiApplication_instance.cc - STEPcomplex.cc - STEPattribute.cc - STEPattribute.inline.cc - sdai.cc - sdaiSelect.cc - STEPaggregate.cc - STEPundefined.cc - STEPattributeList.cc - SingleLinkList.cc - SingleLinkList.inline.cc - Registry.inline.cc - ExpDict.cc - ExpDict.inline.cc - read_func.cc - collect.cc - complexlist.cc - entlist.cc - multlist.cc - orlist.cc - entnode.cc - non-ors.cc - match-ors.cc - trynext.cc - print.cc - instmgr.cc - mgrnode.cc - mgrnodearray.cc - mgrnodelist.cc - dispnode.cc - dispnodelist.cc - needFunc.cc -) - -SET(LIBSTEPCORE_PRIVATE_HDRS - baseType.h - complexSupport.h - dictdefs.h - ExpDict.h - read_func.h - Registry.h - sdaiApplication_instance.h - sdai.h - sdaiSelect.h - SingleLinkList.h - STEPaggregate.h - STEPattribute.h - STEPattributeList.h - STEPcomplex.h - STEPundefined.h - instmgr.h - mgrnode.h - mgrnodearray.h - mgrnodelist.h - dispnode.h - dispnodelist.h - needFunc.h +set(CORE_SRCS + aggrTypeDescriptor.cc + attrDescriptor.cc + attrDescriptorList.cc + collect.cc + complexlist.cc + create_Aggr.cc + derivedAttribute.cc + dictSchema.cc + dispnode.cc + dispnodelist.cc + entityDescriptor.cc + entityDescriptorList.cc + entlist.cc + entnode.cc + enumTypeDescriptor.cc + explicitItemId.cc + globalRule.cc + implicitItemId.cc + instmgr.cc + interfaceSpec.cc + interfacedItem.cc + inverseAttribute.cc + inverseAttributeList.cc + match-ors.cc + mgrnode.cc + mgrnodearray.cc + mgrnodelist.cc + multlist.cc + needFunc.cc + non-ors.cc + orlist.cc + print.cc + read_func.cc + Registry.cc + schRename.cc + sdai.cc + sdaiApplication_instance.cc + sdaiSelect.cc + selectTypeDescriptor.cc + SingleLinkList.cc + STEPaggregate.cc + STEPaggrBinary.cc + STEPaggrEntity.cc + STEPaggrEnum.cc + STEPaggrGeneric.cc + STEPaggrInt.cc + STEPaggrReal.cc + STEPaggrSelect.cc + STEPaggrString.cc + STEPattribute.cc + STEPattributeList.cc + STEPcomplex.cc + STEPinvAttrList.cc + STEPundefined.cc + trynext.cc + typeDescriptor.cc + typeDescriptorList.cc + typeOrRuleVar.cc + uniquenessRule.cc + whereRule.cc ) include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${SC_SOURCE_DIR}/src/base - ${SC_SOURCE_DIR}/src/cldai - ${SC_SOURCE_DIR}/src/cleditor - ${SC_SOURCE_DIR}/src/clutils -) + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_SOURCE_DIR}/include/stepcode + ) + +set(_libdeps steputils stepdai) + +if(BUILD_SHARED_LIBS) + SC_ADDLIB(stepcore SHARED SOURCES ${CORE_SRCS} LINK_LIBRARIES ${_libdeps}) + if(WIN32) + target_compile_definitions(stepcore PRIVATE SC_CORE_DLL_EXPORTS) + endif() +endif() + +if(BUILD_STATIC_LIBS) + SC_ADDLIB(stepcore-static STATIC SOURCES ${CORE_SRCS} LINK_LIBRARIES $-static) +endif() + +if(SC_ENABLE_TESTING) + add_subdirectory(test) +endif(SC_ENABLE_TESTING) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 -SC_ADDLIB(stepcore "${LIBSTEPCORE_SRCS}" "steputils;stepdai;base") diff --git a/src/clstepcore/ExpDict.cc b/src/clstepcore/ExpDict.cc index da5bd3310..edb617ffc 100644 --- a/src/clstepcore/ExpDict.cc +++ b/src/clstepcore/ExpDict.cc @@ -10,1778 +10,13 @@ * and is not subject to copyright. */ -#include - -#include -#include -#include - -#include -#include -#include "sc_memmgr.h" - - -Explicit_item_id__set::Explicit_item_id__set( int defaultSize ) { - _bufsize = defaultSize; - _buf = new Explicit_item_id_ptr[_bufsize]; - _count = 0; -} - -Explicit_item_id__set::~Explicit_item_id__set() { - delete [] _buf; -} - -void Explicit_item_id__set::Check( int index ) { - Explicit_item_id_ptr * newbuf; - - if( index >= _bufsize ) { - _bufsize = ( index + 1 ) * 2; - newbuf = new Explicit_item_id_ptr[_bufsize]; - memmove( newbuf, _buf, _count * sizeof( Explicit_item_id_ptr ) ); - delete _buf; - _buf = newbuf; - } -} - -void Explicit_item_id__set::Insert( Explicit_item_id_ptr v, int index ) { - Explicit_item_id_ptr * spot; - index = ( index < 0 ) ? _count : index; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Explicit_item_id_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Explicit_item_id__set::Append( Explicit_item_id_ptr v ) { - int index = _count; - Explicit_item_id_ptr * spot; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Explicit_item_id_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Explicit_item_id__set::Remove( int index ) { - if( 0 <= index && index < _count ) { - --_count; - Explicit_item_id_ptr * spot = &_buf[index]; - memmove( spot, spot + 1, ( _count - index )*sizeof( Explicit_item_id_ptr ) ); - } -} - -int Explicit_item_id__set::Index( Explicit_item_id_ptr v ) { - for( int i = 0; i < _count; ++i ) { - if( _buf[i] == v ) { - return i; - } - } - return -1; -} - -Explicit_item_id_ptr & Explicit_item_id__set::operator[]( int index ) { - Check( index ); - _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); - return _buf[index]; -} - -int Explicit_item_id__set::Count() { - return _count; -} - -void Explicit_item_id__set::Clear() { - _count = 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -Implicit_item_id__set::Implicit_item_id__set( int defaultSize ) { - _bufsize = defaultSize; - _buf = new Implicit_item_id_ptr[_bufsize]; - _count = 0; -} - -Implicit_item_id__set::~Implicit_item_id__set() { - delete _buf; -} - -void Implicit_item_id__set::Check( int index ) { - Implicit_item_id_ptr * newbuf; - - if( index >= _bufsize ) { - _bufsize = ( index + 1 ) * 2; - newbuf = new Implicit_item_id_ptr[_bufsize]; - memmove( newbuf, _buf, _count * sizeof( Implicit_item_id_ptr ) ); - delete _buf; - _buf = newbuf; - } -} - -void Implicit_item_id__set::Insert( Implicit_item_id_ptr v, int index ) { - Implicit_item_id_ptr * spot; - index = ( index < 0 ) ? _count : index; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Implicit_item_id_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Implicit_item_id__set::Append( Implicit_item_id_ptr v ) { - int index = _count; - Implicit_item_id_ptr * spot; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Implicit_item_id_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Implicit_item_id__set::Remove( int index ) { - if( 0 <= index && index < _count ) { - --_count; - Implicit_item_id_ptr * spot = &_buf[index]; - memmove( spot, spot + 1, ( _count - index )*sizeof( Implicit_item_id_ptr ) ); - } -} - -int Implicit_item_id__set::Index( Implicit_item_id_ptr v ) { - for( int i = 0; i < _count; ++i ) { - if( _buf[i] == v ) { - return i; - } - } - return -1; -} - -Implicit_item_id_ptr & Implicit_item_id__set::operator[]( int index ) { - Check( index ); - _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); - return _buf[index]; -} - -int Implicit_item_id__set::Count() { - return _count; -} - -void Implicit_item_id__set::Clear() { - _count = 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -Interface_spec__set::Interface_spec__set( int defaultSize ) { - _bufsize = defaultSize; - _buf = new Interface_spec_ptr[_bufsize]; - _count = 0; -} - -Interface_spec__set::~Interface_spec__set() { - delete [] _buf; -} - -void Interface_spec__set::Check( int index ) { - Interface_spec_ptr * newbuf; - - if( index >= _bufsize ) { - _bufsize = ( index + 1 ) * 2; - newbuf = new Interface_spec_ptr[_bufsize]; - memmove( newbuf, _buf, _count * sizeof( Interface_spec_ptr ) ); - delete _buf; - _buf = newbuf; - } -} - -void Interface_spec__set::Insert( Interface_spec_ptr v, int index ) { - Interface_spec_ptr * spot; - index = ( index < 0 ) ? _count : index; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Interface_spec_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Interface_spec__set::Append( Interface_spec_ptr v ) { - int index = _count; - Interface_spec_ptr * spot; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Interface_spec_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Interface_spec__set::Remove( int index ) { - if( 0 <= index && index < _count ) { - --_count; - Interface_spec_ptr * spot = &_buf[index]; - memmove( spot, spot + 1, ( _count - index )*sizeof( Interface_spec_ptr ) ); - } -} - -int Interface_spec__set::Index( Interface_spec_ptr v ) { - for( int i = 0; i < _count; ++i ) { - if( _buf[i] == v ) { - return i; - } - } - return -1; -} - -Interface_spec_ptr & Interface_spec__set::operator[]( int index ) { - Check( index ); - _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); - return _buf[index]; -} - -int Interface_spec__set::Count() { - return _count; -} - -void Interface_spec__set::Clear() { - _count = 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -Interface_spec::Interface_spec() - : _explicit_items( new Explicit_item_id__set ), - _implicit_items( 0 ), _all_objects( 0 ) { -} - -/// not tested -Interface_spec::Interface_spec( Interface_spec & is ) { - _explicit_items = new Explicit_item_id__set; - int count = is._explicit_items->Count(); - int i; - for( i = 0; i < count; i++ ) { - ( *_explicit_items )[i] = - ( *( is._explicit_items ) )[i]; - } - _current_schema_id = is._current_schema_id; - _foreign_schema_id = is._foreign_schema_id; - _all_objects = is._all_objects; - _implicit_items = 0; -} - -Interface_spec::Interface_spec( const char * cur_sch_id, - const char * foreign_sch_id, int all_objects ) - : _current_schema_id( cur_sch_id ), _explicit_items( new Explicit_item_id__set ), - _implicit_items( 0 ), _foreign_schema_id( foreign_sch_id ), - _all_objects( all_objects ) { -} - -Interface_spec::~Interface_spec() { - delete _explicit_items; - delete _implicit_items; -} - -////////////////////////////////////////////////////////////////////////////// -void Schema::AddFunction( const std::string & f ) { - _function_list.push_back( f ); -} - -void Schema::AddGlobal_rule( Global_rule_ptr gr ) { - if( _global_rules == 0 ) { - _global_rules = new Global_rule__set; - } - _global_rules->Append( gr ); -} - -/// not implemented -void Schema::global_rules_( Global_rule__set_var & grs ) { -} - -void Schema::AddProcedure( const std::string & p ) { - _procedure_list.push_back( p ); -} - -/// the whole schema -void Schema::GenerateExpress( ostream & out ) const { - std::string tmp; - out << endl << "(* Generating: " << Name() << " *)" << endl; - out << endl << "SCHEMA " << StrToLower( Name(), tmp ) << ";" << endl; - GenerateUseRefExpress( out ); - // print TYPE definitions - out << endl << "(* ////////////// TYPE Definitions *)" << endl; - GenerateTypesExpress( out ); - - // print Entity definitions - out << endl << "(* ////////////// ENTITY Definitions *)" << endl; - GenerateEntitiesExpress( out ); - - int count, i; - if( _global_rules != 0 ) { - out << endl << "(* *************RULES************* *)" << endl; - count = _global_rules->Count(); - for( i = 0; i < count; i++ ) { - out << endl << ( *_global_rules )[i]->rule_text_() << endl; - } - } - if( !_function_list.empty() ) { - out << "(* *************FUNCTIONS************* *)" << endl; - count = _function_list.size(); - for( i = 0; i < count; i++ ) { - out << endl << _function_list[i] << endl; - } - } - if( !_procedure_list.empty() ) { - out << "(* *************PROCEDURES************* *)" << endl; - count = _procedure_list.size(); - for( i = 0; i < count; i++ ) { - out << endl << _procedure_list[i] << endl; - } - } - out << endl << "END_SCHEMA;" << endl; -} - -/// USE, REFERENCE definitions -void Schema::GenerateUseRefExpress( ostream & out ) const { - int i, k; - int intf_count; - int count; - Interface_spec_ptr is; - int first_time; - std::string tmp; - - /////////////////////// print USE statements - - intf_count = _use_interface_list->Count(); - if( intf_count ) { // there is at least 1 USE interface to a foreign schema - for( i = 0; i < intf_count; i++ ) { // print out each USE interface - is = ( *_use_interface_list )[i]; // the 1st USE interface - - // count is # of USE items in interface - count = is->explicit_items_()->Count(); - - if( count > 0 ) { - out << endl << " USE FROM " - << StrToLower( is->foreign_schema_id_().c_str(), tmp ) << endl; - out << " ("; - - first_time = 1; - for( k = 0; k < count; k++ ) { // print out each USE item - if( first_time ) { - first_time = 0; - } else { - out << "," << endl << "\t"; - } - if( !( ( *( is->explicit_items_() ) )[k]->original_id_().size() ) ) { - // not renamed - out << ( *( is->explicit_items_() ) )[k]->new_id_(); - } else { // renamed - out << ( *( is->explicit_items_() ) )[k]->original_id_(); - out << " AS " << ( *( is->explicit_items_() ) )[k]->new_id_(); - } - } - out << ");" << endl; - } else if( is->all_objects_() ) { - out << endl << " USE FROM " - << StrToLower( is->foreign_schema_id_().c_str(), tmp ) << ";" - << endl; - } - } - } - - /////////////////////// print REFERENCE stmts - - intf_count = _ref_interface_list->Count(); - if( intf_count ) { //there is at least 1 REFERENCE interface to a foreign schema - for( i = 0; i < intf_count; i++ ) { // print out each REFERENCE interface - is = ( *_ref_interface_list )[i]; // the 1st REFERENCE interface - - // count is # of REFERENCE items in interface - count = is->explicit_items_()->Count(); - - - if( count > 0 ) { - out << endl << " REFERENCE FROM " - << StrToLower( is->foreign_schema_id_().c_str(), tmp ) << endl; - out << " ("; - - first_time = 1; - for( k = 0; k < count; k++ ) { // print out each REFERENCE item - if( first_time ) { - first_time = 0; - } else { - out << "," << endl << "\t"; - } - if( ( !( *( is->explicit_items_() ) )[k]->original_id_().size() ) ) { - // not renamed - out << ( *( is->explicit_items_() ) )[k]->new_id_(); - } else { // renamed - out << ( *( is->explicit_items_() ) )[k]->original_id_(); - out << " AS " - << ( *( is->explicit_items_() ) )[k]->new_id_(); - } - } - out << ");" << endl; - } else if( is->all_objects_() ) { - out << endl << " REFERENCE FROM " - << StrToLower( is->foreign_schema_id_().c_str(), tmp ) << ";" - << endl; - } - } - } -} - -/// TYPE definitions -void Schema::GenerateTypesExpress( ostream & out ) const { - TypeDescItr tdi( _typeList ); - tdi.ResetItr(); - std::string tmp; - - const TypeDescriptor * td = tdi.NextTypeDesc(); - while( td ) { - out << endl << td->GenerateExpress( tmp ); - td = tdi.NextTypeDesc(); - } -} - -/// Entity definitions -void Schema::GenerateEntitiesExpress( ostream & out ) const { - EntityDescItr edi( _entList ); - edi.ResetItr(); - std::string tmp; - - const EntityDescriptor * ed = edi.NextEntityDesc(); - while( ed ) { - out << endl << ed->GenerateExpress( tmp ); - ed = edi.NextEntityDesc(); - } -} - -/////////////////////////////////////////////////////////////////////////////// - -EnumAggregate * create_EnumAggregate() { - return new EnumAggregate; -} - -GenericAggregate * create_GenericAggregate() { - return new GenericAggregate; -} - -EntityAggregate * create_EntityAggregate() { - return new EntityAggregate; -} - -SelectAggregate * create_SelectAggregate() { - return new SelectAggregate; -} - -StringAggregate * create_StringAggregate() { - return new StringAggregate; -} - -BinaryAggregate * create_BinaryAggregate() { - return new BinaryAggregate; -} - -RealAggregate * create_RealAggregate() { - return new RealAggregate; -} - -IntAggregate * create_IntAggregate() { - return new IntAggregate; -} - -const EntityDescriptor * EntityDescItr::NextEntityDesc() { - if( cur ) { - const EntityDescriptor * ed = cur->EntityDesc(); - cur = ( EntityDescLinkNode * )( cur->NextNode() ); - return ed; - } - return 0; -} - -const AttrDescriptor * AttrDescItr::NextAttrDesc() { - if( cur ) { - const AttrDescriptor * ad = cur->AttrDesc(); - cur = ( AttrDescLinkNode * )( cur->NextNode() ); - return ad; - } - return 0; -} - -const Inverse_attribute * InverseAItr::NextInverse_attribute() { - if( cur ) { - const Inverse_attribute * ia = cur->Inverse_attr(); - cur = ( Inverse_attributeLinkNode * )( cur->NextNode() ); - return ia; - } - return 0; -} - -const TypeDescriptor * TypeDescItr::NextTypeDesc() { - if( cur ) { - const TypeDescriptor * td = cur->TypeDesc(); - cur = ( TypeDescLinkNode * )( cur->NextNode() ); - return td; - } - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// -// AttrDescriptor functions -/////////////////////////////////////////////////////////////////////////////// - -const char * AttrDescriptor::AttrExprDefStr( std::string & s ) const { - std::string buf; - - s = Name(); - s.append( " : " ); - if( _optional.asInt() == LTrue ) { - s.append( "OPTIONAL " ); - } - if( DomainType() ) { - s.append( DomainType()->AttrTypeName( buf ) ); - } - return const_cast( s.c_str() ); -} - -PrimitiveType AttrDescriptor::BaseType() const { - if( _domainType ) { - return _domainType->BaseType(); - } - return UNKNOWN_TYPE; -} - -int AttrDescriptor::IsAggrType() const { - return ReferentType()->IsAggrType(); -} - -PrimitiveType AttrDescriptor::AggrElemType() const { - if( IsAggrType() ) { - return ReferentType()->AggrElemType(); - } - return UNKNOWN_TYPE; -} - -const TypeDescriptor * AttrDescriptor::AggrElemTypeDescriptor() const { - if( IsAggrType() ) { - return ReferentType()->AggrElemTypeDescriptor(); - } - return 0; -} - -const TypeDescriptor * AttrDescriptor::NonRefTypeDescriptor() const { - if( _domainType ) { - return _domainType->NonRefTypeDescriptor(); - } - return 0; -} - -PrimitiveType -AttrDescriptor::NonRefType() const { - if( _domainType ) { - return _domainType->NonRefType(); - } - return UNKNOWN_TYPE; -} - -PrimitiveType -AttrDescriptor::Type() const { - if( _domainType ) { - return _domainType->Type(); - } - return UNKNOWN_TYPE; -} - -/** - * right side of attr def - * NOTE this returns a \'const char * \' instead of an std::string - */ -const char * AttrDescriptor::TypeName() const { - std::string buf; - - if( _domainType ) { - return _domainType->AttrTypeName( buf ); - } else { - return ""; - } -} - -/// an expanded right side of attr def -const char * -AttrDescriptor::ExpandedTypeName( std::string & s ) const { - s.clear(); - if( Derived() == LTrue ) { - s = "DERIVE "; - } - if( _domainType ) { - std::string tmp; - return const_cast( ( s.append( _domainType->TypeString( tmp ) ).c_str() ) ); - } else { - return 0; - } -} - -const char * AttrDescriptor::GenerateExpress( std::string & buf ) const { - std::string sstr; - buf = AttrExprDefStr( sstr ); - buf.append( ";\n" ); - return const_cast( buf.c_str() ); -} - -/////////////////////////////////////////////////////////////////////////////// -// Derived_attribute functions -/////////////////////////////////////////////////////////////////////////////// - -const char * Derived_attribute::AttrExprDefStr( std::string & s ) const { - std::string buf; - - s.clear(); - if( Name() && strchr( Name(), '.' ) ) { - s = "SELF\\"; - } - s.append( Name() ); - s.append( " : " ); - if( DomainType() ) { - s.append( DomainType()->AttrTypeName( buf ) ); - } - if( _initializer ) { // this is supposed to exist for a derived attribute. - s.append( " \n\t\t:= " ); - s.append( _initializer ); - } - return const_cast( s.c_str() ); -} - -/////////////////////////////////////////////////////////////////////////////// -// Inverse_attribute functions -/////////////////////////////////////////////////////////////////////////////// - -const char * Inverse_attribute::AttrExprDefStr( std::string & s ) const { - std::string buf; - - s = Name(); - s.append( " : " ); - if( _optional.asInt() == LTrue ) { - s.append( "OPTIONAL " ); - } - if( DomainType() ) { - s.append( DomainType()->AttrTypeName( buf ) ); - } - s.append( " FOR " ); - s.append( _inverted_attr_id ); - return const_cast( s.c_str() ); -} - -/////////////////////////////////////////////////////////////////////////////// -// EnumDescriptor functions -/////////////////////////////////////////////////////////////////////////////// - -EnumTypeDescriptor::EnumTypeDescriptor( const char * nm, PrimitiveType ft, - Schema * origSchema, - const char * d, EnumCreator f ) - : TypeDescriptor( nm, ft, origSchema, d ), CreateNewEnum( f ) { -} - -SDAI_Enum * EnumTypeDescriptor::CreateEnum() { - if( CreateNewEnum ) { - return CreateNewEnum(); - } else { - return 0; - } -} - -const char * EnumTypeDescriptor::GenerateExpress( std::string & buf ) const { - char tmp[BUFSIZ]; - buf = "TYPE "; - buf.append( StrToLower( Name(), tmp ) ); - buf.append( " = ENUMERATION OF \n (" ); - const char * desc = Description(); - const char * ptr = &( desc[16] ); - int all_comments = 1; - - while( *ptr != '\0' ) { - if( *ptr == ',' ) { - buf.append( ",\n " ); - } else if( isupper( *ptr ) ) { - buf += ( char )tolower( *ptr ); - } else { - buf += *ptr; - } - ptr++; - } - buf.append( ";\n" ); -/////////////// - // count is # of WHERE rules - if( _where_rules != 0 ) { - int count = _where_rules->Count(); - for( int i = 0; i < count; i++ ) { // print out each UNIQUE rule - if( !( *( _where_rules ) )[i]->_label.size() ) { - all_comments = 0; - } - } - - if( all_comments ) { - buf.append( " (* WHERE *)\n" ); - } else { - buf.append( " WHERE\n" ); - } - - for( int i = 0; i < count; i++ ) { // print out each WHERE rule - if( !( *( _where_rules ) )[i]->_comment.empty() ) { - buf.append( " " ); - buf.append( ( *( _where_rules ) )[i]->comment_() ); - } - if( ( *( _where_rules ) )[i]->_label.size() ) { - buf.append( " " ); - buf.append( ( *( _where_rules ) )[i]->label_() ); - } - } - } - - buf.append( "END_TYPE;\n" ); - return const_cast( buf.c_str() ); -} - -/////////////////////////////////////////////////////////////////////////////// -// EntityDescriptor functions -/////////////////////////////////////////////////////////////////////////////// - -EntityDescriptor::EntityDescriptor( ) - : _abstractEntity( LUnknown ), _extMapping( LUnknown ), - _uniqueness_rules( ( Uniqueness_rule__set_var )0 ), NewSTEPentity( 0 ) { -} - -EntityDescriptor::EntityDescriptor( const char * name, // i.e. char * - Schema * origSchema, - Logical abstractEntity, // F U or T - Logical extMapping, - Creator f - ) - : TypeDescriptor( name, ENTITY_TYPE, origSchema, name ), - _abstractEntity( abstractEntity ), _extMapping( extMapping ), - _uniqueness_rules( ( Uniqueness_rule__set_var )0 ), NewSTEPentity( f ) { -} - -EntityDescriptor::~EntityDescriptor() { - delete _uniqueness_rules; -} - -const char * EntityDescriptor::GenerateExpress( std::string & buf ) const { - std::string sstr; - int count; - int i; - int all_comments = 1; - - buf = "ENTITY "; - buf.append( StrToLower( Name(), sstr ) ); - - if( strlen( _supertype_stmt.c_str() ) > 0 ) { - buf.append( "\n " ); - } - buf.append( _supertype_stmt ); - - const EntityDescriptor * ed = 0; - - EntityDescItr edi_super( _supertypes ); - edi_super.ResetItr(); - ed = edi_super.NextEntityDesc(); - int supertypes = 0; - if( ed ) { - buf.append( "\n SUBTYPE OF (" ); - buf.append( StrToLower( ed->Name(), sstr ) ); - supertypes = 1; - } - ed = edi_super.NextEntityDesc(); - while( ed ) { - buf.append( ",\n\t\t" ); - buf.append( StrToLower( ed->Name(), sstr ) ); - ed = edi_super.NextEntityDesc(); - } - if( supertypes ) { - buf.append( ")" ); - } - - buf.append( ";\n" ); - - AttrDescItr adi( _explicitAttr ); - - adi.ResetItr(); - const AttrDescriptor * ad = adi.NextAttrDesc(); - - while( ad ) { - if( ad->AttrType() == AttrType_Explicit ) { - buf.append( " " ); - buf.append( ad->GenerateExpress( sstr ) ); - } - ad = adi.NextAttrDesc(); - } - - adi.ResetItr(); - ad = adi.NextAttrDesc(); - - count = 1; - while( ad ) { - if( ad->AttrType() == AttrType_Deriving ) { - if( count == 1 ) { - buf.append( " DERIVE\n" ); - } - buf.append( " " ); - buf.append( ad->GenerateExpress( sstr ) ); - count++; - } - ad = adi.NextAttrDesc(); - } -///////// - - InverseAItr iai( _inverseAttr ); - - iai.ResetItr(); - const Inverse_attribute * ia = iai.NextInverse_attribute(); - - if( ia ) { - buf.append( " INVERSE\n" ); - } - - while( ia ) { - buf.append( " " ); - buf.append( ia->GenerateExpress( sstr ) ); - ia = iai.NextInverse_attribute(); - } -/////////////// - // count is # of UNIQUE rules - if( _uniqueness_rules != 0 ) { - count = _uniqueness_rules->Count(); - for( i = 0; i < count; i++ ) { // print out each UNIQUE rule - if( !( *( _uniqueness_rules ) )[i]->_label.size() ) { - all_comments = 0; - } - } - - if( all_comments ) { - buf.append( " (* UNIQUE *)\n" ); - } else { - buf.append( " UNIQUE\n" ); - } - for( i = 0; i < count; i++ ) { // print out each UNIQUE rule - if( !( *( _uniqueness_rules ) )[i]->_comment.empty() ) { - buf.append( " " ); - buf.append( ( *( _uniqueness_rules ) )[i]->comment_() ); - buf.append( "\n" ); - } - if( ( *( _uniqueness_rules ) )[i]->_label.size() ) { - buf.append( " " ); - buf.append( ( *( _uniqueness_rules ) )[i]->label_() ); - buf.append( "\n" ); - } - } - } - -/////////////// - // count is # of WHERE rules - if( _where_rules != 0 ) { - all_comments = 1; - count = _where_rules->Count(); - for( i = 0; i < count; i++ ) { // print out each UNIQUE rule - if( !( *( _where_rules ) )[i]->_label.size() ) { - all_comments = 0; - } - } - - if( !all_comments ) { - buf.append( " WHERE\n" ); - } else { - buf.append( " (* WHERE *)\n" ); - } - for( i = 0; i < count; i++ ) { // print out each WHERE rule - if( !( *( _where_rules ) )[i]->_comment.empty() ) { - buf.append( " " ); - buf.append( ( *( _where_rules ) )[i]->comment_() ); - buf.append( "\n" ); - } - if( ( *( _where_rules ) )[i]->_label.size() ) { - buf.append( " " ); - buf.append( ( *( _where_rules ) )[i]->label_() ); - buf.append( "\n" ); - } - } - } - - buf.append( "END_ENTITY;\n" ); - - return const_cast( buf.c_str() ); -} - -const char * EntityDescriptor::QualifiedName( std::string & s ) const { - s.clear(); - EntityDescItr edi( _supertypes ); - - int count = 1; - const EntityDescriptor * ed = edi.NextEntityDesc(); - while( ed ) { - if( count > 1 ) { - s.append( "&" ); - } - s.append( ed->Name() ); - count++; - ed = edi.NextEntityDesc(); - } - if( count > 1 ) { - s.append( "&" ); - } - s.append( Name() ); - return const_cast( s.c_str() ); -} - -const TypeDescriptor * EntityDescriptor::IsA( const TypeDescriptor * td ) const { - if( td -> NonRefType() == ENTITY_TYPE ) { - return IsA( ( EntityDescriptor * ) td ); - } else { - return 0; - } -} - -const EntityDescriptor * EntityDescriptor::IsA( const EntityDescriptor * other ) const { - const EntityDescriptor * found = 0; - const EntityDescLinkNode * link = ( const EntityDescLinkNode * )( GetSupertypes().GetHead() ); - - if( this == other ) { - return other; - } else { - while( link && ! found ) { - found = link -> EntityDesc() -> IsA( other ); - link = ( EntityDescLinkNode * ) link -> NextNode(); - } - } - return found; -} - -Type_or_rule::Type_or_rule() { -} - -Type_or_rule::Type_or_rule( const Type_or_rule & tor ) { -} - -Type_or_rule::~Type_or_rule() { -} - -Where_rule::Where_rule() { - _type_or_rule = 0; -} - -Where_rule::Where_rule( const Where_rule & wr ) { - _label = wr._label; - _type_or_rule = wr._type_or_rule; -} - -Where_rule::~Where_rule() { -} - -/////////////////////////////////////////////////////////////////////////////// - -Where_rule__list::Where_rule__list( int defaultSize ) { - _bufsize = defaultSize; - _buf = new Where_rule_ptr[_bufsize]; - _count = 0; -} - -Where_rule__list::~Where_rule__list() { - Clear(); - - delete _buf; -} - -void Where_rule__list::Check( int index ) { - Where_rule_ptr * newbuf; - - if( index >= _bufsize ) { - _bufsize = ( index + 1 ) * 2; - newbuf = new Where_rule_ptr[_bufsize]; - memmove( newbuf, _buf, _count * sizeof( Where_rule_ptr ) ); - delete _buf; - _buf = newbuf; - } -} - -void Where_rule__list::Insert( Where_rule_ptr v, int index ) { - Where_rule_ptr * spot; - index = ( index < 0 ) ? _count : index; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Where_rule_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Where_rule__list::Append( Where_rule_ptr v ) { - int index = _count; - Where_rule_ptr * spot; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Where_rule_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Where_rule__list::Remove( int index ) { - if( 0 <= index && index < _count ) { - --_count; - Where_rule_ptr * spot = &_buf[index]; - memmove( spot, spot + 1, ( _count - index )*sizeof( Where_rule_ptr ) ); - } -} - -int Where_rule__list::Index( Where_rule_ptr v ) { - for( int i = 0; i < _count; ++i ) { - if( _buf[i] == v ) { - return i; - } - } - return -1; -} - -Where_rule_ptr & Where_rule__list::operator[]( int index ) { - Check( index ); - _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); - return _buf[index]; -} - -int Where_rule__list::Count() { - return _count; -} - -void Where_rule__list::Clear() { - for( int i = 0; i < _count ; i ++ ) { - delete _buf[i]; - } - _count = 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -Uniqueness_rule::Uniqueness_rule() - : _parent_entity( 0 ) { -} - -Uniqueness_rule::Uniqueness_rule( const Uniqueness_rule & ur ) { - _label = ur._label; - _parent_entity = ur._parent_entity; -} - -Uniqueness_rule::~Uniqueness_rule() { - // don't delete _parent_entity -} - -/////////////////////////////////////////////////////////////////////////////// - -Uniqueness_rule__set::Uniqueness_rule__set( int defaultSize ) { - _bufsize = defaultSize; - _buf = new Uniqueness_rule_ptr[_bufsize]; - _count = 0; -} - -Uniqueness_rule__set::~Uniqueness_rule__set() { - Clear(); - - delete _buf; -} - -void Uniqueness_rule__set::Check( int index ) { - Uniqueness_rule_ptr * newbuf; - - if( index >= _bufsize ) { - _bufsize = ( index + 1 ) * 2; - newbuf = new Uniqueness_rule_ptr[_bufsize]; - memmove( newbuf, _buf, _count * sizeof( Uniqueness_rule_ptr ) ); - delete _buf; - _buf = newbuf; - } -} - -void Uniqueness_rule__set::Insert( Uniqueness_rule_ptr v, int index ) { - Uniqueness_rule_ptr * spot; - index = ( index < 0 ) ? _count : index; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Uniqueness_rule_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Uniqueness_rule__set::Append( Uniqueness_rule_ptr v ) { - int index = _count; - Uniqueness_rule_ptr * spot; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Uniqueness_rule_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Uniqueness_rule__set::Remove( int index ) { - if( 0 <= index && index < _count ) { - --_count; - Uniqueness_rule_ptr * spot = &_buf[index]; - memmove( spot, spot + 1, ( _count - index )*sizeof( Uniqueness_rule_ptr ) ); - } -} - -int Uniqueness_rule__set::Index( Uniqueness_rule_ptr v ) { - for( int i = 0; i < _count; ++i ) { - if( _buf[i] == v ) { - return i; - } - } - return -1; -} - -Uniqueness_rule_ptr & Uniqueness_rule__set::operator[]( int index ) { - Check( index ); - _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); - return _buf[index]; -} - -int Uniqueness_rule__set::Count() { - return _count; -} - -void Uniqueness_rule__set::Clear() { - for( int i = 0; i < _count; i ++ ) { - delete _buf[i]; - } - _count = 0; -} - -/////////////////////////////////////////////////////////////////////////////// - -Global_rule::Global_rule() - : _entities( 0 ), _where_rules( 0 ), _parent_schema( 0 ) { -} - -Global_rule::Global_rule( const char * n, Schema_ptr parent_sch, const std::string & rt ) - : _name( n ), _entities( 0 ), _where_rules( 0 ), _parent_schema( parent_sch ), - _rule_text( rt ) { -} - -/// not fully implemented -Global_rule::Global_rule( Global_rule & gr ) { - _name = gr._name; - _parent_schema = gr._parent_schema; -} - -Global_rule::~Global_rule() { - delete _entities; - delete _where_rules; -} - -void Global_rule::entities_( const Entity__set_var & e ) { -} - -void Global_rule::where_rules_( const Where_rule__list_var & wrl ) { -} - -/////////////////////////////////////////////////////////////////////////////// - -Global_rule__set::Global_rule__set( int defaultSize ) { - _bufsize = defaultSize; - _buf = new Global_rule_ptr[_bufsize]; - _count = 0; -} - -Global_rule__set::~Global_rule__set() { - Clear(); - delete _buf; -} - -void Global_rule__set::Check( int index ) { - Global_rule_ptr * newbuf; - - if( index >= _bufsize ) { - _bufsize = ( index + 1 ) * 2; - newbuf = new Global_rule_ptr[_bufsize]; - memmove( newbuf, _buf, _count * sizeof( Global_rule_ptr ) ); - delete [] _buf; - _buf = newbuf; - } -} - -void Global_rule__set::Insert( Global_rule_ptr v, int index ) { - Global_rule_ptr * spot; - index = ( index < 0 ) ? _count : index; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Global_rule_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Global_rule__set::Append( Global_rule_ptr v ) { - int index = _count; - Global_rule_ptr * spot; - - if( index < _count ) { - Check( _count + 1 ); - spot = &_buf[index]; - memmove( spot + 1, spot, ( _count - index )*sizeof( Global_rule_ptr ) ); - - } else { - Check( index ); - spot = &_buf[index]; - } - *spot = v; - ++_count; -} - -void Global_rule__set::Remove( int index ) { - if( 0 <= index && index < _count ) { - --_count; - Global_rule_ptr * spot = &_buf[index]; - memmove( spot, spot + 1, ( _count - index )*sizeof( Global_rule_ptr ) ); - } -} - -int Global_rule__set::Index( Global_rule_ptr v ) { - for( int i = 0; i < _count; ++i ) { - if( _buf[i] == v ) { - return i; - } - } - return -1; -} - -Global_rule_ptr & Global_rule__set::operator[]( int index ) { - Check( index ); - _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); - return _buf[index]; -} - -int Global_rule__set::Count() { - return _count; -} - -void Global_rule__set::Clear() { - for( int i = 0; i < _count; i ++ ) { - delete _buf[i]; - } - _count = 0; -} - - -/////////////////////////////////////////////////////////////////////////////// -// TypeDescriptor functions -/////////////////////////////////////////////////////////////////////////////// - -const char * TypeDescriptor::AttrTypeName( std::string & buf, const char * schnm ) const { - std::string sstr; - buf = Name( schnm ) ? StrToLower( Name( schnm ), sstr ) : _description; - return const_cast( buf.c_str() ); -} - -const char * TypeDescriptor::GenerateExpress( std::string & buf ) const { - char tmp[BUFSIZ]; - buf = "TYPE "; - buf.append( StrToLower( Name(), tmp ) ); - buf.append( " = " ); - const char * desc = Description(); - const char * ptr = desc; - int all_comments = 1; - - while( *ptr != '\0' ) { - if( *ptr == ',' ) { - buf.append( ",\n " ); - } else if( *ptr == '(' ) { - buf.append( "\n (" ); - } else if( isupper( *ptr ) ) { - buf += ( char )tolower( *ptr ); - } else { - buf += *ptr; - } - ptr++; - } - buf.append( ";\n" ); -/////////////// - // count is # of WHERE rules - if( _where_rules != 0 ) { - int count = _where_rules->Count(); - for( int i = 0; i < count; i++ ) { // print out each UNIQUE rule - if( !( *( _where_rules ) )[i]->_label.size() ) { - all_comments = 0; - } - } - - if( all_comments ) { - buf.append( " (* WHERE *)\n" ); - } else { - buf.append( " WHERE\n" ); - } - - for( int i = 0; i < count; i++ ) { // print out each WHERE rule - if( !( *( _where_rules ) )[i]->_comment.empty() ) { - buf.append( " " ); - buf.append( ( *( _where_rules ) )[i]->comment_() ); - } - if( ( *( _where_rules ) )[i]->_label.size() ) { - buf.append( " " ); - buf.append( ( *( _where_rules ) )[i]->label_() ); - } - } - } - - buf.append( "END_TYPE;\n" ); - return const_cast( buf.c_str() ); -} - -/** - * This is a fully expanded description of the type. - * This returns a string like the _description member variable - * except it is more thorough of a description where possible - * e.g. if the description contains a TYPE name it will also - * be explained. - */ -const char * TypeDescriptor::TypeString( std::string & s ) const { - switch( Type() ) { - case REFERENCE_TYPE: - if( Name() ) { - s.append( "TYPE " ); - s.append( Name() ); - s.append( " = " ); - } - if( Description() ) { - s.append( Description() ); - } - if( ReferentType() ) { - s.append( " -- " ); - std::string tmp; - s.append( ReferentType()->TypeString( tmp ) ); - } - return const_cast( s.c_str() ); - - case INTEGER_TYPE: - s.clear(); - if( _referentType != 0 ) { - s = "TYPE "; - s.append( Name() ); - s.append( " = " ); - } - s.append( "Integer" ); - break; - - case STRING_TYPE: - s.clear(); - if( _referentType != 0 ) { - s = "TYPE "; - s.append( Name() ); - s.append( " = " ); - } - s.append( "String" ); - break; - - case REAL_TYPE: - s.clear(); - if( _referentType != 0 ) { - s = "TYPE "; - s.append( Name() ); - s.append( " = " ); - } - s.append( "Real" ); - break; - - case ENUM_TYPE: - s = "Enumeration: "; - if( Name() ) { - s.append( "TYPE " ); - s.append( Name() ); - s.append( " = " ); - } - if( Description() ) { - s.append( Description() ); - } - break; - - case BOOLEAN_TYPE: - s.clear(); - if( _referentType != 0 ) { - s = "TYPE "; - s.append( Name() ); - s.append( " = " ); - } - s.append( "Boolean: F, T" ); - break; - case LOGICAL_TYPE: - s.clear(); - if( _referentType != 0 ) { - s = "TYPE "; - s.append( Name() ); - s.append( " = " ); - } - s.append( "Logical: F, T, U" ); - break; - case NUMBER_TYPE: - s.clear(); - if( _referentType != 0 ) { - s = "TYPE "; - s.append( Name() ); - s.append( " = " ); - } - s.append( "Number" ); - break; - case BINARY_TYPE: - s.clear(); - if( _referentType != 0 ) { - s = "TYPE "; - s.append( Name() ); - s.append( " = " ); - } - s.append( "Binary" ); - break; - case ENTITY_TYPE: - s = "Entity: "; - if( Name() ) { - s.append( Name() ); - } - break; - case AGGREGATE_TYPE: - case ARRAY_TYPE: // DAS - case BAG_TYPE: // DAS - case SET_TYPE: // DAS - case LIST_TYPE: // DAS - s = Description(); - if( ReferentType() ) { - s.append( " -- " ); - std::string tmp; - s.append( ReferentType()->TypeString( tmp ) ); - } - break; - case SELECT_TYPE: - s.append( Description() ); - break; - case GENERIC_TYPE: - case UNKNOWN_TYPE: - s = "Unknown"; - break; - } // end switch - return const_cast( s.c_str() ); - -} - -const TypeDescriptor * TypeDescriptor::IsA( const TypeDescriptor * other ) const { - if( this == other ) { - return other; - } - return 0; -} - -const TypeDescriptor * TypeDescriptor::IsA( const char * other ) const { - if( !Name() ) { - return 0; - } - if( !StrCmpIns( _name, other ) ) { // this is the type - return this; - } - return ( ReferentType() ? ReferentType() -> IsA( other ) : 0 ); -} - -/** - * the first PrimitiveType that is not REFERENCE_TYPE (the first - * TypeDescriptor *_referentType that does not have REFERENCE_TYPE - * for it's fundamentalType variable). This would return the same - * as BaseType() for fundamental types. An aggregate type - * would return AGGREGATE_TYPE then you could find out the type of - * an element by calling AggrElemType(). Select types - * would work the same? - */ -PrimitiveType TypeDescriptor::NonRefType() const { - const TypeDescriptor * td = NonRefTypeDescriptor(); - if( td ) { - return td->FundamentalType(); - } - return UNKNOWN_TYPE; -} - - -const TypeDescriptor * TypeDescriptor::NonRefTypeDescriptor() const { - const TypeDescriptor * td = this; - - while( td->ReferentType() ) { - if( td->Type() != REFERENCE_TYPE ) { - return td; - } - td = td->ReferentType(); - } - - return td; -} - -/// This returns the PrimitiveType of the first non-aggregate element of an aggregate -int TypeDescriptor::IsAggrType() const { - switch( NonRefType() ) { - case AGGREGATE_TYPE: - case ARRAY_TYPE: // DAS - case BAG_TYPE: // DAS - case SET_TYPE: // DAS - case LIST_TYPE: // DAS - return 1; - - default: - return 0; - } -} - -PrimitiveType TypeDescriptor::AggrElemType() const { - const TypeDescriptor * aggrElemTD = AggrElemTypeDescriptor(); - if( aggrElemTD ) { - return aggrElemTD->Type(); - } - return UNKNOWN_TYPE; -} - -const TypeDescriptor * TypeDescriptor::AggrElemTypeDescriptor() const { - const TypeDescriptor * aggrTD = NonRefTypeDescriptor(); - const TypeDescriptor * aggrElemTD = aggrTD->ReferentType(); - if( aggrElemTD ) { - aggrElemTD = aggrElemTD->NonRefTypeDescriptor(); - } - return aggrElemTD; -} - -/** - * This is the underlying type of this type. For instance: - * TYPE count = INTEGER; - * TYPE ref_count = count; - * TYPE count_set = SET OF ref_count; - * each of the above will generate a TypeDescriptor and for - * each one, PrimitiveType BaseType() will return INTEGER_TYPE - * TypeDescriptor *BaseTypeDescriptor() returns the TypeDescriptor - * for Integer - */ -PrimitiveType TypeDescriptor::BaseType() const { - const TypeDescriptor * td = BaseTypeDescriptor(); - if( td ) { - return td->FundamentalType(); - } else { - return ENTITY_TYPE; - } -} - -const TypeDescriptor * TypeDescriptor::BaseTypeDescriptor() const { - const TypeDescriptor * td = this; - - while( td -> ReferentType() ) { - td = td->ReferentType(); - } - return td; -} - -/** FIXME - * #ifdef NOT_YET - /////////////////////////////////////////////////////////////////////////////// - // EnumerationTypeDescriptor functions - /////////////////////////////////////////////////////////////////////////////// - EnumerationTypeDescriptor::EnumerationTypeDescriptor( ) { - _elements = new StringAggregate; - } - * #endif - */ - -/////////////////////////////////////////////////////////////////////////////// -// SelectTypeDescriptor functions -/////////////////////////////////////////////////////////////////////////////// - -SDAI_Select * SelectTypeDescriptor::CreateSelect() { - if( CreateNewSelect ) { - return CreateNewSelect(); - } else { - return 0; - } -} - -const TypeDescriptor * SelectTypeDescriptor::IsA( const TypeDescriptor * other ) const { - return TypeDescriptor::IsA( other ); -} - -/** - * returns the td among the choices of tds describing elements of this select - * type but only at this unexpanded level. The td ultimately describing the - * type may be an element of a td for a select that is returned. - */ -const TypeDescriptor * SelectTypeDescriptor::CanBe( const TypeDescriptor * other ) const { - if( this == other ) { - return other; - } - - TypeDescItr elements( GetElements() ) ; - const TypeDescriptor * td = elements.NextTypeDesc(); - while( td ) { - if( td -> CanBe( other ) ) { - return td; - } - td = elements.NextTypeDesc(); - } - return 0; -} - -/** - * returns the td among the choices of tds describing elements of this select - * type but only at this unexpanded level. The td ultimately describing the - * type may be an element of a td for a select that is returned. - */ -const TypeDescriptor * SelectTypeDescriptor::CanBe( const char * other ) const { - TypeDescItr elements( GetElements() ) ; - const TypeDescriptor * td = 0; - - // see if other is the select - if( !StrCmpIns( _name, other ) ) { - return this; - } - - // see if other is one of the elements - while( td = elements.NextTypeDesc() ) { - if( td -> CanBe( other ) ) { - return td; - } - } - return 0; -} - -/** - * A modified CanBe, used to determine if "other", a string we have just read, - * is a possible type-choice of this. (I.e., our select "CanBeSet" to this - * choice.) This deals with the following issue, based on the Tech Corrigendum - * to Part 21: Say our select ("selP") has an item which is itself a select - * ("selQ"). Say it has another select item which is a redefinition of another - * select ("TYPE selR = selS;"). According to the T.C., if selP is set to one - * of the members of selQ, "selQ(...)" may not appear in the instantiation. - * If, however, selP is set to a member of selR, "selR(...)" must appear first. - * The code below checks if "other" = one of our possible choices. If one of - * our choices is a select like selQ, we recurse to see if other matches a - * member of selQ (and don't look for "selQ"). If we have a choice like selR, - * we check if other = "selR", but do not look at selR's members. This func- - * tion also takes into account schNm, the name of the current schema. If - * schNm does not = the schema in which this type was declared, it's possible - * that it should be referred to with a different name. This would be the case - * if schNm = a schema which USEs or REFERENCEs this and renames it (e.g., "USE - * from XX (A as B)"). +/* + * \file ExpDict.cc + * this file has been split into many smaller files, organized by class rather than by member: + * + * aggrTypeDescriptor.cc dictSchema.cc globalRule.cc inverseAttributeList.cc typeOrRuleVar.cc + * attrDescriptor.cc entityDescriptor.cc implicitItemId.cc schRename.cc uniquenessRule.cc + * attrDescriptorList.cc entityDescriptorList.cc interfaceSpec.cc selectTypeDescriptor.cc whereRule.cc + * create_Aggr.cc enumTypeDescriptor.cc interfacedItem.cc typeDescriptor.cc + * derivedAttribute.cc explicitItemId.cc inverseAttribute.cc typeDescriptorList.cc */ -const TypeDescriptor * SelectTypeDescriptor::CanBeSet( const char * other, const char * schNm ) const { - TypeDescItr elements( GetElements() ) ; - const TypeDescriptor * td = elements.NextTypeDesc(); - - while( td ) { - if( td->Type() == REFERENCE_TYPE && td->NonRefType() == sdaiSELECT ) { - // Just look at this level, don't look at my items (see intro). - if( td->CurrName( other, schNm ) ) { - return td; - } - } else if( td->CanBeSet( other, schNm ) ) { - return td; - } - td = elements.NextTypeDesc(); - } - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// -// AggrTypeDescriptor functions -/////////////////////////////////////////////////////////////////////////////// - -STEPaggregate * AggrTypeDescriptor::CreateAggregate() { - if( CreateNewAggr ) { - return CreateNewAggr(); - } else { - return 0; - } -} - -void AggrTypeDescriptor::AssignAggrCreator( AggregateCreator f ) { - CreateNewAggr = f; -} - -AggrTypeDescriptor::AggrTypeDescriptor( ) : - _uniqueElements( "UNKNOWN_TYPE" ) { - _bound1 = -1; - _bound2 = -1; - _aggrDomainType = 0; -} - -AggrTypeDescriptor::AggrTypeDescriptor( SDAI_Integer b1, - SDAI_Integer b2, - Logical uniqElem, - TypeDescriptor * aggrDomType ) - : _bound1( b1 ), _bound2( b2 ), _uniqueElements( uniqElem ) { - _aggrDomainType = aggrDomType; -} - -AggrTypeDescriptor::~AggrTypeDescriptor() { -} diff --git a/src/clstepcore/ExpDict.h b/src/clstepcore/ExpDict.h deleted file mode 100644 index 4f1bb9394..000000000 --- a/src/clstepcore/ExpDict.h +++ /dev/null @@ -1,1952 +0,0 @@ -#ifndef EXPDICT_H -#define EXPDICT_H - -/* -* NIST STEP Core Class Library -* clstepcore/ExpDict.h -* April, 1997 -* K. C. Morris -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -#include -#include - -#include -#include -#include - -typedef SDAI_Application_instance * ( * Creator )(); - -enum AttrType_Enum { - AttrType_Explicit = 0, - AttrType_Inverse, - AttrType_Deriving, - AttrType_Redefining -}; - -enum AggrBoundTypeEnum { - bound_unset = 0, - bound_constant, - bound_runtime, - bound_funcall -}; - -#include - -#include -#include -#include - -// defined and created in Registry.inline.cc -extern SC_CORE_EXPORT const TypeDescriptor * t_sdaiINTEGER; -extern SC_CORE_EXPORT const TypeDescriptor * t_sdaiREAL; -extern SC_CORE_EXPORT const TypeDescriptor * t_sdaiNUMBER; -extern SC_CORE_EXPORT const TypeDescriptor * t_sdaiSTRING; -extern SC_CORE_EXPORT const TypeDescriptor * t_sdaiBINARY; -extern SC_CORE_EXPORT const TypeDescriptor * t_sdaiBOOLEAN; -extern SC_CORE_EXPORT const TypeDescriptor * t_sdaiLOGICAL; - -/////////////////////////////////////////////////////////////////////////////// -// Dictionary_instance -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT Dictionary_instance { - - protected: - Dictionary_instance() {} - Dictionary_instance( const Dictionary_instance & ) {} - - virtual ~Dictionary_instance(); -}; - -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT TypeDescLinkNode : public SingleLinkNode { - private: - protected: - TypeDescriptor * _typeDesc; - public: - TypeDescLinkNode(); - virtual ~TypeDescLinkNode(); - - const TypeDescriptor * TypeDesc() const { - return _typeDesc; - } - void TypeDesc( TypeDescriptor * td ) { - _typeDesc = td; - } -}; - -class SC_CORE_EXPORT TypeDescriptorList : public SingleLinkList { - private: - protected: - public: - TypeDescriptorList(); - virtual ~TypeDescriptorList(); - - virtual SingleLinkNode * NewNode() { - return new TypeDescLinkNode; - } - - TypeDescLinkNode * AddNode( TypeDescriptor * td ) { - TypeDescLinkNode * node = ( TypeDescLinkNode * ) NewNode(); - node->TypeDesc( td ); - SingleLinkList::AppendNode( node ); - return node; - } -}; - -class SC_CORE_EXPORT TypeDescItr { - protected: - const TypeDescriptorList & tdl; - const TypeDescLinkNode * cur; - - public: - TypeDescItr( const TypeDescriptorList & tdList ); - virtual ~TypeDescItr(); - - void ResetItr() { - cur = ( TypeDescLinkNode * )( tdl.GetHead() ); - } - - const TypeDescriptor * NextTypeDesc(); -}; - -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT EntityDescLinkNode : public SingleLinkNode { - - private: - protected: - EntityDescriptor * _entityDesc; - - public: - EntityDescLinkNode(); - virtual ~EntityDescLinkNode(); - - EntityDescriptor * EntityDesc() const { - return _entityDesc; - } - void EntityDesc( EntityDescriptor * ed ) { - _entityDesc = ed; - } -}; - -class SC_CORE_EXPORT EntityDescriptorList : public SingleLinkList { - - private: - protected: - public: - EntityDescriptorList(); - virtual ~EntityDescriptorList(); - - virtual SingleLinkNode * NewNode() { - return new EntityDescLinkNode; - } - - EntityDescLinkNode * AddNode( EntityDescriptor * ed ) { - EntityDescLinkNode * node = ( EntityDescLinkNode * ) NewNode(); - node->EntityDesc( ed ); - SingleLinkList::AppendNode( node ); - return node; - } -}; - -typedef EntityDescriptorList * Entity__set_ptr; -typedef Entity__set_ptr Entity__set_var; - -class SC_CORE_EXPORT EntityDescItr { - protected: - const EntityDescriptorList & edl; - const EntityDescLinkNode * cur; - - public: - EntityDescItr( const EntityDescriptorList & edList ); - virtual ~EntityDescItr(); - - void ResetItr() { - cur = ( EntityDescLinkNode * )( edl.GetHead() ); - } - - const EntityDescriptor * NextEntityDesc(); -}; - - -/////////////////////////////////////////////////////////////////////////////// - - -/////////////////////////////////////////////////////////////////////////////// -// Interfaced_item -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT Interfaced_item : public Dictionary_instance { - protected: - Interfaced_item(); - Interfaced_item( const Interfaced_item & ); - Interfaced_item( const char * foreign_schema ); - virtual ~Interfaced_item(); - public: - Express_id _foreign_schema; - - const Express_id foreign_schema_(); -// private: - void foreign_schema_( const Express_id & ); -}; - -/////////////////////////////////////////////////////////////////////////////// -// Explicit_item_id -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT Explicit_item_id : public Interfaced_item { - protected: - Explicit_item_id(); - Explicit_item_id( const Explicit_item_id & ); - Explicit_item_id( const char * foreign_schema, TypeDescriptor * ld, - const char * oi, const char * ni ) - : Interfaced_item( foreign_schema ), _local_definition( ld ), _original_id( oi ), _new_id( ni ) {} - virtual ~Explicit_item_id(); - public: - // definition in the local schema. The TypeDescriptor (or subtype) is not - // implemented quite right - the name in it is the original (foreign - // schema) name. The USE or REFERENCED renames are listed in - // TypeDescriptor's altNames member variable. - // Warning: This is currently a null ptr for objects other than - // types and entities - that is - if this is a USEd FUNCTION or PROCEDURE - // this ptr will be null. - const TypeDescriptor * _local_definition; - - // name in originating schema - only exists if it has been renamed. - Express_id _original_id; - - Express_id _new_id; // original or renamed name via USE or REFERENCE (non-SDAI) - - const TypeDescriptor * local_definition_() const { - return _local_definition; - } - - const Express_id original_id_() const { - return _original_id; - } - - // non-sdai, renamed name - const Express_id new_id_() const { - return _new_id; - } - - // return string "USE" or "REFERENCE" - virtual const char * EXPRESS_type() = 0; - -// private: - void local_definition_( const TypeDescriptor * td ) { - _local_definition = td; - } - void original_id_( const Express_id & ei ) { - _original_id = ei; - } - - // non-sdai - void new_id_( const Express_id & ni ) { - _new_id = ni; - } -}; - -typedef Explicit_item_id * Explicit_item_id_ptr; - -class SC_CORE_EXPORT Used_item : public Explicit_item_id { - public: - Used_item() {} - Used_item( const char * foreign_schema, TypeDescriptor * ld, - const char * oi, const char * ni ) - : Explicit_item_id( foreign_schema, ld, oi, ni ) {} - virtual ~Used_item(); - - const char * EXPRESS_type() { - return "USE"; - } -}; - -typedef Used_item * Used_item_ptr; - -class SC_CORE_EXPORT Referenced_item : public Explicit_item_id { - public: - Referenced_item() {} - Referenced_item( const char * foreign_schema, TypeDescriptor * ld, - const char * oi, const char * ni ) - : Explicit_item_id( foreign_schema, ld, oi, ni ) {} - virtual ~Referenced_item(); - - const char * EXPRESS_type() { - return "REFERENCE"; - } -}; - -typedef Referenced_item * Referenced_item_ptr; - -class SC_CORE_EXPORT Explicit_item_id__set { - public: - Explicit_item_id__set( int = 16 ); - ~Explicit_item_id__set(); - - Explicit_item_id_ptr & operator[]( int index ); - void Insert( Explicit_item_id_ptr, int index ); - void Append( Explicit_item_id_ptr ); - void Remove( int index ); - int Index( Explicit_item_id_ptr ); - - int Count(); - void Clear(); - private: - void Check( int index ); - private: - Explicit_item_id_ptr * _buf; - int _bufsize; - int _count; -}; - -typedef Explicit_item_id__set * Explicit_item_id__set_ptr; -typedef Explicit_item_id__set_ptr Explicit_item_id__set_var; - -/////////////////////////////////////////////////////////////////////////////// -// Implicit_item_id -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT Implicit_item_id : public Interfaced_item { - protected: - Implicit_item_id(); - Implicit_item_id( Implicit_item_id & ); - virtual ~Implicit_item_id(); - public: - const TypeDescriptor * _local_definition; - - const TypeDescriptor * local_definition_() const { - return _local_definition; - } - -// private: - void local_definition_( const TypeDescriptor * td ) { - _local_definition = td; - } -}; - -typedef Implicit_item_id * Implicit_item_id_ptr; - -/////////////////////////////////////////////////////////////////////////////// -// Implicit_item_id__set -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT Implicit_item_id__set { - public: - Implicit_item_id__set( int = 16 ); - ~Implicit_item_id__set(); - - Implicit_item_id_ptr & operator[]( int index ); - void Insert( Implicit_item_id_ptr, int index ); - void Append( Implicit_item_id_ptr ); - void Remove( int index ); - int Index( Implicit_item_id_ptr ); - - int Count(); - void Clear(); - private: - void Check( int index ); - private: - Implicit_item_id_ptr * _buf; - int _bufsize; - int _count; -}; - -typedef Implicit_item_id__set * Implicit_item_id__set_ptr; -typedef Implicit_item_id__set_ptr Implicit_item_id__set_var; - -/////////////////////////////////////////////////////////////////////////////// -// Interface_spec -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT Interface_spec : public Dictionary_instance { - public: - Express_id _current_schema_id; // schema containing the USE/REF stmt - // set of objects from USE/REFERENCE stmt(s) - Explicit_item_id__set_var _explicit_items; - Implicit_item_id__set_var _implicit_items; //not yet initialized for schema - - // non-SDAI, not useful for SDAI use of Interface_spec (it would need to - // be a list). - // schema that defined the USE/REFd objects - Express_id _foreign_schema_id; - - // non-SDAI, not useful for SDAI use of Interface_spec (it would need to - // be a list of ints). - // schema USEs or REFERENCEs all objects from foreign schema - int _all_objects; - - Interface_spec(); - Interface_spec( Interface_spec & ); // not tested - Interface_spec( const char * cur_sch_id, const char * foreign_sch_id, - int all_objects = 0 ); - virtual ~Interface_spec(); - - Express_id current_schema_id_() { - return _current_schema_id; - } - Express_id foreign_schema_id_() { - return _foreign_schema_id; - } - - Explicit_item_id__set_var explicit_items_() { - return _explicit_items; - } - - // this is not yet initialized for the schema - Implicit_item_id__set_var implicit_items_() { - return _implicit_items; - } - -// private: - void current_schema_id_( const Express_id & ei ) { - _current_schema_id = ei; - } - void foreign_schema_id_( const Express_id & fi ) { - _foreign_schema_id = fi; - } - - int all_objects_() { - return _all_objects; - } - void all_objects_( int ao ) { - _all_objects = ao; - } -}; - -typedef Interface_spec * Interface_spec_ptr; - -class SC_CORE_EXPORT Interface_spec__set { - public: - Interface_spec__set( int = 16 ); - ~Interface_spec__set(); - - Interface_spec_ptr & operator[]( int index ); - void Insert( Interface_spec_ptr, int index ); - void Append( Interface_spec_ptr ); - void Remove( int index ); - int Index( Interface_spec_ptr ); - - int Count(); - void Clear(); - private: - void Check( int index ); - private: - Interface_spec_ptr * _buf; - int _bufsize; - int _count; -}; - -typedef Interface_spec__set * Interface_spec__set_ptr; -typedef Interface_spec__set_ptr Interface_spec__set_var; - - -class SC_CORE_EXPORT Type_or_rule : public Dictionary_instance { - public: - Type_or_rule(); - Type_or_rule( const Type_or_rule & ); - virtual ~Type_or_rule(); -}; - -typedef Type_or_rule * Type_or_rule_ptr; -typedef Type_or_rule_ptr Type_or_rule_var; - -class SC_CORE_EXPORT Where_rule : public Dictionary_instance { - public: - Express_id _label; - Type_or_rule_var _type_or_rule; - - // non-SDAI - std::string _comment; // Comment contained in the EXPRESS. - // Should be properly formatted to include (* *) - // Will be written to EXPRESS as-is (w/out formatting) - - Where_rule(); - Where_rule( const Where_rule & ); - Where_rule( const char * label, Type_or_rule_var tor = 0 ) - : _label( label ), _type_or_rule( tor ) { } - virtual ~Where_rule(); - - Express_id label_() const { - return _label; - } - Type_or_rule_var parent_item() const { - return _type_or_rule; - } - std::string comment_() const { - return _comment; - } - - void label_( const Express_id & ei ) { - _label = ei; - } - void parent_item( const Type_or_rule_var & tor ) { - _type_or_rule = tor; - } - void comment_( const char * c ) { - _comment = c; - } -}; - -typedef Where_rule * Where_rule_ptr; - -class SC_CORE_EXPORT Where_rule__list { - public: - Where_rule__list( int = 16 ); - ~Where_rule__list(); - - Where_rule_ptr & operator[]( int index ); - void Insert( Where_rule_ptr, int index ); - void Append( Where_rule_ptr ); - void Remove( int index ); - int Index( Where_rule_ptr ); - - int Count(); - void Clear(); - private: - void Check( int index ); - private: - Where_rule_ptr * _buf; - int _bufsize; - int _count; -}; - -typedef Where_rule__list * Where_rule__list_ptr; -typedef Where_rule__list_ptr Where_rule__list_var; - -class SC_CORE_EXPORT Global_rule : public Dictionary_instance { - public: - Express_id _name; - Entity__set_var _entities; // not implemented - Where_rule__list_var _where_rules; - Schema_ptr _parent_schema; - std::string _rule_text; // non-SDAI - - Global_rule(); - Global_rule( const char * n, Schema_ptr parent_sch, const std::string & rt ); - Global_rule( Global_rule & ); // not fully implemented - virtual ~Global_rule(); - - Express_id name_() const { - return _name; - } - Entity__set_var entities_() const { - return _entities; - } - Where_rule__list_var where_rules_() const { - return _where_rules; - } - Schema_ptr parent_schema_() const { - return _parent_schema; - } - const char * rule_text_() { - return _rule_text.c_str(); - } - - void name_( Express_id & n ) { - _name = n; - } - void entities_( const Entity__set_var & e ); // not implemented - void where_rules_( const Where_rule__list_var & wrl ); // not implemented - void parent_schema_( const Schema_ptr & s ) { - _parent_schema = s; - } - void rule_text_( const char * rt ) { - _rule_text = rt; - } - -}; - -typedef Global_rule * Global_rule_ptr; - -class SC_CORE_EXPORT Global_rule__set { - public: - Global_rule__set( int = 16 ); - ~Global_rule__set(); - - Global_rule_ptr & operator[]( int index ); - void Insert( Global_rule_ptr, int index ); - void Append( Global_rule_ptr ); - void Remove( int index ); - int Index( Global_rule_ptr ); - - int Count(); - void Clear(); - private: - void Check( int index ); - private: - Global_rule_ptr * _buf; - int _bufsize; - int _count; -}; - -typedef Global_rule__set * Global_rule__set_ptr; -typedef Global_rule__set_ptr Global_rule__set_var; - -class SC_CORE_EXPORT Uniqueness_rule : public Dictionary_instance { - public: - Express_id _label; - const EntityDescriptor * _parent_entity; - - // non-SDAI - std::string _comment; // Comment contained in the EXPRESS. - // Should be properly formatted to include (* *) - // Will be written to EXPRESS as-is (w/out formatting) - - Uniqueness_rule(); - Uniqueness_rule( const Uniqueness_rule & ); - Uniqueness_rule( const char * label, EntityDescriptor * pe = 0 ) - : _label( label ), _parent_entity( pe ) { } - virtual ~Uniqueness_rule(); - - Express_id label_() const { - return _label; - } - const EntityDescriptor * parent_() const { - return _parent_entity; - } - std::string & comment_() { - return _comment; - } - - void label_( const Express_id & ei ) { - _label = ei; - } - void parent_( const EntityDescriptor * pe ) { - _parent_entity = pe; - } - void comment_( const char * c ) { - _comment = c; - } - -}; - -typedef Uniqueness_rule * Uniqueness_rule_ptr; - -class SC_CORE_EXPORT Uniqueness_rule__set { - public: - Uniqueness_rule__set( int = 16 ); - ~Uniqueness_rule__set(); - - Uniqueness_rule_ptr & operator[]( int index ); - void Insert( Uniqueness_rule_ptr, int index ); - void Append( Uniqueness_rule_ptr ); - void Remove( int index ); - int Index( Uniqueness_rule_ptr ); - - int Count(); - void Clear(); - private: - void Check( int index ); - private: - Uniqueness_rule_ptr * _buf; - int _bufsize; - int _count; -}; - -typedef Uniqueness_rule__set * Uniqueness_rule__set_ptr; -typedef Uniqueness_rule__set_ptr Uniqueness_rule__set_var; - -typedef SDAI_Model_contents_ptr( * ModelContentsCreator )(); - -/** - * \class Schema (was SchemaDescriptor) - a class of this type is generated and contains schema info. - */ -class SC_CORE_EXPORT Schema : public Dictionary_instance { - - protected: - const char * _name; - EntityDescriptorList _entList; // list of entities in the schema - TypeDescriptorList _typeList; // list of types in the schema - TypeDescriptorList _unnamed_typeList; // list of unnamed types in the schema (for cleanup) - Interface_spec _interface; // list of USE and REF interfaces (SDAI) - - // non-SDAI lists - Interface_spec__set_var _use_interface_list; // list of USE interfaces - Interface_spec__set_var _ref_interface_list; // list of REFERENCE interfaces - std::vector< std::string > _function_list; // of EXPRESS functions - std::vector< std::string > _procedure_list; // of EXPRESS procedures - - Global_rule__set_var _global_rules; - - public: - ModelContentsCreator CreateNewModelContents; - - Schema( const char * schemaName ); - virtual ~Schema(); - - void AssignModelContentsCreator( ModelContentsCreator f = 0 ) { - CreateNewModelContents = f; - } - - const char * Name() const { - return _name; - } - void Name( const char * n ) { - _name = n; - } - - Interface_spec & interface_() { - return _interface; - } - - Interface_spec__set_var use_interface_list_() { - return - _use_interface_list; - } - - Interface_spec__set_var ref_interface_list_() { - return _ref_interface_list; - } - - std::vector< std::string > function_list_() { - return _function_list; - } - - void AddFunction( const std::string & f ); - - Global_rule__set_var global_rules_() { // const - return _global_rules; - } - - void AddGlobal_rule( Global_rule_ptr gr ); - - void global_rules_( Global_rule__set_var & grs ); // not implemented - - std::vector< std::string > procedure_list_() { - return _procedure_list; - } - - void AddProcedure( const std::string & p ); - - EntityDescLinkNode * AddEntity( EntityDescriptor * ed ) { - return _entList.AddNode( ed ); - } - - TypeDescLinkNode * AddType( TypeDescriptor * td ) { - return _typeList.AddNode( td ); - } - - TypeDescLinkNode * AddUnnamedType( TypeDescriptor * td ) { - return _unnamed_typeList.AddNode( td ); - } - - // the whole schema - void GenerateExpress( ostream & out ) const; - - // USE, REFERENCE definitions - void GenerateUseRefExpress( ostream & out ) const; - - // TYPE definitions - void GenerateTypesExpress( ostream & out ) const; - - // Entity definitions - void GenerateEntitiesExpress( ostream & out ) const; -}; - -typedef Schema SchemaDescriptor; - -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT AttrDescLinkNode : public SingleLinkNode { - private: - protected: - AttrDescriptor * _attrDesc; - public: - AttrDescLinkNode(); - virtual ~AttrDescLinkNode(); - - const AttrDescriptor * AttrDesc() const { - return _attrDesc; - } - void AttrDesc( AttrDescriptor * ad ) { - _attrDesc = ad; - } -}; - -class SC_CORE_EXPORT AttrDescriptorList : public SingleLinkList { - private: - protected: - public: - AttrDescriptorList(); - virtual ~AttrDescriptorList(); - - virtual SingleLinkNode * NewNode() { - return new AttrDescLinkNode; - } - - AttrDescLinkNode * AddNode( AttrDescriptor * ad ); -}; - -class SC_CORE_EXPORT AttrDescItr { - protected: - const AttrDescriptorList & adl; - const AttrDescLinkNode * cur; - - public: - AttrDescItr( const AttrDescriptorList & adList ); - virtual ~AttrDescItr(); - - void ResetItr() { - cur = ( AttrDescLinkNode * )( adl.GetHead() ); - } - - const AttrDescriptor * NextAttrDesc(); -}; - -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT Inverse_attributeLinkNode : public SingleLinkNode { - private: - protected: - Inverse_attribute * _invAttr; - public: - Inverse_attributeLinkNode(); - virtual ~Inverse_attributeLinkNode(); - - const Inverse_attribute * Inverse_attr() const { - return _invAttr; - } - void Inverse_attr( Inverse_attribute * ia ) { - _invAttr = ia; - } -}; - -class SC_CORE_EXPORT Inverse_attributeList : public SingleLinkList { - private: - protected: - public: - Inverse_attributeList(); - virtual ~Inverse_attributeList(); - - virtual SingleLinkNode * NewNode() { - return new Inverse_attributeLinkNode; - } - Inverse_attributeLinkNode * AddNode( Inverse_attribute * ia ); -}; - -class SC_CORE_EXPORT InverseAItr { - protected: - const Inverse_attributeList & ial; - const Inverse_attributeLinkNode * cur; - - public: - InverseAItr( const Inverse_attributeList & iaList ); - virtual ~InverseAItr(); - - void ResetItr() { - cur = ( Inverse_attributeLinkNode * )( ial.GetHead() ); - } - - const Inverse_attribute * NextInverse_attribute(); -}; - -/** - * \class AttrDescriptor - * An instance of this class will be generated for each attribute for - * an Entity. They will be pointed to by the EntityTypeDescriptors. - */ -class SC_CORE_EXPORT AttrDescriptor { - - protected: - const char * _name; // the attributes name - // this defines the domain of the attribute - const TypeDescriptor * _domainType; - SDAI_LOGICAL _optional; - SDAI_LOGICAL _unique; - AttrType_Enum _attrType; // former attribute _derived - const EntityDescriptor & _owner; // the owning entityDescriptor - public: - - AttrDescriptor( - const char * name, // i.e. char * - const TypeDescriptor * domainType, - Logical optional, // i.e. F U or T - Logical unique, // i.e. F U or T - AttrType_Enum at,// AttrType_Explicit, AttrType_Inverse, - // AttrType_Deriving,AttrType_Redefining - const EntityDescriptor & owner - ); - virtual ~AttrDescriptor(); - - const char * GenerateExpress( std::string & buf ) const; - - // the attribute Express def - virtual const char * AttrExprDefStr( std::string & s ) const; - - // left side of attr def - const char * Name() const { - return _name; - } - void Name( const char * n ) { - _name = n; - } - - // BaseType() is the underlying type of this attribute. - // NonRefType() is the first non REFERENCE_TYPE type - // e.g. Given attributes of each of the following types - // TYPE count = INTEGER; - // TYPE ref_count = count; - // TYPE count_set = SET OF ref_count; - // BaseType() will return INTEGER_TYPE for an attr of each type. - // BaseTypeDescriptor() returns the TypeDescriptor for Integer - // NonRefType() will return INTEGER_TYPE for the first two. For an - // attribute of type count_set NonRefType() would return - // AGGREGATE_TYPE - // NonRefTypeDescriptor() returns the TypeDescriptor for Integer - // for the first two and a TypeDescriptor for an - // aggregate for the last. - - PrimitiveType BaseType() const; - const TypeDescriptor * BaseTypeDescriptor() const; - - // the first PrimitiveType that is not REFERENCE_TYPE (the first - // TypeDescriptor *_referentType that does not have REFERENCE_TYPE - // for it's fundamentalType variable). This would return the same - // as BaseType() for fundamental types. An aggregate type - // would return AGGREGATE_TYPE then you could find out the type of - // an element by calling AggrElemType(). Select types - // would work the same? - - PrimitiveType NonRefType() const; - const TypeDescriptor * NonRefTypeDescriptor() const; - - int IsAggrType() const; - PrimitiveType AggrElemType() const; - const TypeDescriptor * AggrElemTypeDescriptor() const; - - // The type of the attributes TypeDescriptor - PrimitiveType Type() const; - const char * TypeName() const; // right side of attr def - - // an expanded right side of attr def - const char * ExpandedTypeName( std::string & s ) const; - - int RefersToType() const { - return !( _domainType == 0 ); - } - - const TypeDescriptor * ReferentType() const { - return _domainType; - } - const TypeDescriptor * DomainType() const { - return _domainType; - } - void DomainType( const TypeDescriptor * td ) { - _domainType = td; - } - void ReferentType( const TypeDescriptor * td ) { - _domainType = td; - } - - const SDAI_LOGICAL & Optional() const { - return _optional; - } - void Optional( SDAI_LOGICAL & opt ) { - _optional.put( opt.asInt() ); - } - - void Optional( Logical opt ) { - _optional.put( opt ); - } - void Optional( const char * opt ) { - _optional.put( opt ); - } - - const SDAI_LOGICAL & Unique() const { - return _unique; - } - void Unique( SDAI_LOGICAL uniq ) { - _unique.put( uniq.asInt() ); - } - void Unique( Logical uniq ) { - _unique.put( uniq ); - } - void Unique( const char * uniq ) { - _unique.put( uniq ); - } - - void AttrType( enum AttrType_Enum ate ) { - _attrType = ate; - } - enum AttrType_Enum AttrType() const { - return _attrType; - } - - Logical Explicit() const; - Logical Inverse() const; - Logical Redefining() const; - Logical Deriving() const; - - //outdated functions, use AttrType func above, new support of redefined - Logical Derived() const { - return Deriving(); - } - void Derived( Logical x ); // outdated DAS - void Derived( SDAI_LOGICAL x ); // outdated DAS - void Derived( const char * x ); // outdated DAS - - const SDAI_LOGICAL & Optionality() const { - return _optional; - } - void Optionality( SDAI_LOGICAL & opt ) { - _optional.put( opt.asInt() ); - } - void Optionality( Logical opt ) { - _optional.put( opt ); - } - void Optionality( const char * opt ) { - _optional.put( opt ); - } - - const SDAI_LOGICAL & Uniqueness() const { - return _unique; - } - void Uniqueness( SDAI_LOGICAL uniq ) { - _unique.put( uniq.asInt() ); - } - void Uniqueness( Logical uniq ) { - _unique.put( uniq ); - } - void Uniqueness( const char * uniq ) { - _unique.put( uniq ); - } - - const EntityDescriptor & Owner() const { - return _owner; - } -}; - - -/////////////////////////////////////////////////////////////////////////////// -// Derived_attribute -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT Derived_attribute : public AttrDescriptor { - public: - const char * _initializer; - - Derived_attribute( - const char * name, // i.e. char * - const TypeDescriptor * domainType, - Logical optional, // i.e. F U or T - Logical unique, // i.e. F U or T - AttrType_Enum at,// AttrType_Explicit, AttrType_Inverse, - // AttrType_Deriving,AttrType_Redefining - const EntityDescriptor & owner - ); - virtual ~Derived_attribute(); - const char * AttrExprDefStr( std::string & s ) const; - - const char * initializer_() { - return _initializer; - } - void initializer_( const char * i ) { - _initializer = i; - } -}; - -/////////////////////////////////////////////////////////////////////////////// -// Inverse_attribute -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT Inverse_attribute : public AttrDescriptor { - - public: - const char * _inverted_attr_id; - const char * _inverted_entity_id; - protected: - AttrDescriptor * _inverted_attr; // not implemented - public: - - Inverse_attribute( - const char * name, // i.e. char * - TypeDescriptor * domainType, - Logical optional, // i.e. F U or T*/ - Logical unique, // i.e. F U or T - const EntityDescriptor & owner, - const char * inverted_attr_id = 0 - ) : AttrDescriptor( name, domainType, optional, unique, - AttrType_Inverse, owner ), - _inverted_attr_id( inverted_attr_id ), - _inverted_entity_id( 0 ), _inverted_attr( 0 ) - { } - virtual ~Inverse_attribute() { } - - const char * AttrExprDefStr( std::string & s ) const; - - const char * inverted_attr_id_() const { - return _inverted_attr_id; - } - - void inverted_attr_id_( const char * iai ) { - _inverted_attr_id = iai; - } - - const char * inverted_entity_id_() const { - return _inverted_entity_id; - } - - void inverted_entity_id_( const char * iei ) { - _inverted_entity_id = iei; - } - - /// FIXME not implemented - class AttrDescriptor * inverted_attr_() { - return _inverted_attr; - } - - void inverted_attr_( AttrDescriptor * ia ) { - _inverted_attr = ia; - } - - // below are obsolete (and not implemented anyway) - class AttrDescriptor * InverseAttribute() { - return _inverted_attr; - } - void InverseOf( AttrDescriptor * invAttr ) { - _inverted_attr = invAttr; - } -}; - -/** \class SchRename - * SchRename is a structure which partially support the concept of USE and RE- - * FERENCE in EXPRESS. Say schema A USEs object X from schema B and renames it - * to Y (i.e., "USE (X as Y);"). SchRename stores the name of the schema (B) - * plus the new object name for that schema (Y). Each TypeDescriptor has a - * SchRename object (actually a linked list of SchRenames) corresponding to all - * the possible different names of itself depending on the current schema (the - * schema which is currently reading or writing this object). (The current - * schema is determined by the file schema section of the header section of a - * part21 file (the _headerInstances of STEPfile). - */ -class SC_CORE_EXPORT SchRename { - public: - SchRename( const char * sch = "\0", const char * newnm = "\0" ) : next( 0 ) { - strcpy( schName, sch ); - strcpy( newName, newnm ); - } - ~SchRename() { - delete next; - } - const char * objName() const { - return newName; - } - int operator< ( SchRename & schrnm ) { - return ( strcmp( schName, schrnm.schName ) < 0 ); - } - bool choice( const char * nm ) const; - // is nm one of our possible choices? - char * rename( const char * schm, char * newnm ) const; - // given a schema name, returns new object name if exists - SchRename * next; - - private: - char schName[BUFSIZ]; - char newName[BUFSIZ]; -}; - -/** - * TypeDescriptor - * This class and the classes inherited from this class are used to describe - * all types (base types and created types). There will be an instance of this - * class generated for each type found in the schema. - * A TypeDescriptor will be generated in three contexts: - * 1) to describe a base type - e.g. INTEGER, REAL, STRING. There is only one - * TypeDescriptor created for each Express base type. Each of these will - * be pointed to by several other AttrDescriptors and TypeDescriptors) - * 2) to describe a type created by an Express TYPE statement. - * e.g. TYPE label = STRING END_TYPE; - * These TypeDescriptors will be pointed to by other AttrDescriptors (and - * TypeDescriptors) representing attributes (and Express TYPEs) that are - * of the type created by this Express TYPE. - * 3) to describe a type created in an attribute definition - * e.g. part_label_grouping : ARRAY [1.10] label; - * or part_codes : ARRAY [1.10] INTEGER; - * In this #3 context there will not be a name associated with the type. - * The TypeDescriptor created in this case will only be pointed to by the - * single AttrDescriptor associated with the attribute it was created for. - * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * - * \var _name - * \brief the name of the type. - * In the case of the TypeDescriptors representing the Express base - * types this will be the name of the base type. - * In the case where this TypeDescriptor is representing an Express - * TYPE it is the LEFT side of an Express TYPE statement (i.e. label - * as in TYPE label = STRING END_TYPE;) This name would in turn be - * found on the RIGHT side of an Express attribute definition (e.g. - * attr defined as part_label : label; ) - * In the case where this TypeDescriptor was generated to describe a - * type created in an attr definition, it will be a null pointer (e.g - * attr defined as part_label_grouping : ARRAY [1..10] label) - * \var _fundamentalType - * the 'type' of the type being represented by - * the TypeDescriptor . i.e. the following 2 stmts - * would cause 2 TypeDescriptors to be generated - the 1st having - * _fundamentalType set to STRING_TYPE and for the 2nd to - * REFERENCE_TYPE. - * TYPE label = STRING END_TYPE; - * TYPE part_label = label END_TYPE; - * part_label and label would be the value of the respective - * _name member variables for the 2 TypeDescriptors. - * \var _referentType - * will point at another TypeDescriptor furthur specifying - * the type in all cases except when the type is directly - * an enum or select. i.e. in the following... _referentType for - * the 1st type does not point at anything and for the 2nd it does: - * TYPE color = ENUMERATION OF (red, blue); END_TYPE; - * TYPE color_ref = color; END_TYPE; - ** var _fundamentalType - * being REFERENCE_TYPE (as would be the case for - * part_label and color_ref above) means that the _referentType - * member variable points at a TypeDescriptor representing a type - * that has been defined in an Express TYPE stmt. - * Otherwise _fundamental type reflects - * the type directly as in the type label above. type label above - * has a _referentType that points at a TypeDescriptor for STRING - * described in the next sentence (also see #1 above). - * A TypeDescriptor would be generated for each of the EXPRESS base - * types (int, string, real, etc) having _fundamentalType member - * variables set to match the EXPRESS base type being represented. - ** var _referentType - * For the TypeDescriptors describing the EXPRESS base types this will - * be a null pointer. For all other TypeDescriptors this will point - * to another TypeDescriptor which furthur describes the type. e.g. - * TYPE part_label = label END_TYPE; TYPE label = STRING END_TYPE; - * part_label's _referentType will point to the TypeDescriptor for - * label. label's _referentType will point to the TypeDescriptor - * for STRING. The _fundamentalType for part_label will be - * REFERENCE_TYPE and for label will be STRING_TYPE. - * The _fundamentalType for the EXPRESS base type STRING's - * TypeDescriptor will be STRING_TYPE. - * The _referentType member variable will in most cases point to - * a subtype of TypeDescriptor. - * \var _description - * This is the string description of the type as found in the - * EXPRESS file. e.g. aggr of [aggr of ...] [list of ...] someType - * It is the RIGHT side of an Express TYPE statement - * (i.e. LIST OF STRING as in - * TYPE label_group = LIST OF STRING END_TYPE;) - * It is the same as _name for EXPRESS base types TypeDescriptors (with - * the possible exception of upper or lower case differences). -*/ -class SC_CORE_EXPORT TypeDescriptor { - - protected: - - // the name of the type (see above) - // - // NOTE - memory is not allocated for this, or for _description - // below. It is assumed that at creation, _name will be made - // to point to a static location in memory. The fedex_plus - // generated code, for example, places a literal string in its - // TypeDesc constructor calls. This creates a location in me- - // mory static throughout the lifetime of the calling program. - const char * _name ; - - // an alternate name of type - such as one given by a different - // schema which USEs/ REFERENCEs this. (A complete list of - // alternate names is stored in altNames below. _altname pro- - // vides storage space for the currently used one.) - char _altname[BUFSIZ]; - - // contains list of renamings of type - used by other schemas - // which USE/ REFERENCE this - const SchRename * altNames; - - // the type of the type (see above). - // it is an enum see file clstepcore/baseType.h - PrimitiveType _fundamentalType; - - const Schema * _originatingSchema; - - // further describes the type (see above) - // most often (or always) points at a subtype. - const TypeDescriptor * _referentType; - - // Express file description (see above) - // e.g. the right side of an Express TYPE stmt - // (See note above by _name regarding memory allocation.) - const char * _description; - - public: - // a Where_rule may contain only a comment - Where_rule__list_var _where_rules; // initially a null pointer - - Where_rule__list_var & where_rules_() { - return _where_rules; - } - - void where_rules_( Where_rule__list * wrl ) { - _where_rules = wrl; - } - - protected: - // Functions used to check the current name of the type (may - // != _name if altNames has diff name for current schema). - bool PossName( const char * ) const; - bool OurName( const char * ) const; - bool AltName( const char * ) const; - - public: - - TypeDescriptor( const char * nm, PrimitiveType ft, const char * d ); - TypeDescriptor( const char * nm, PrimitiveType ft, - Schema * origSchema, const char * d ); - TypeDescriptor( ); - virtual ~TypeDescriptor(); - - virtual const char * GenerateExpress( std::string & buf ) const; - - // The name of this type. If schnm != NULL, the name we're - // referred to by schema schnm (may be diff name in our alt- - // names list (based on schnm's USE/REF list)). - const char * Name( const char * schnm = NULL ) const; - - // The name that would be found on the right side of an - // attribute definition. In the case of a type defined like - // TYPE name = STRING END_TYPE; - // with attribute definition employee_name : name; - // it would be the _name member variable. If it was a type - // defined in an attribute it will be the _description - // member variable since _name will be null. e.g. attr. def. - // project_names : ARRAY [1..10] name; - const char * AttrTypeName( std::string & buf, const char * schnm = NULL ) const; - - // Linked link of alternate names for the type: - const SchRename * AltNameList() const { - return altNames; - } - - // This is a fully expanded description of the type. - // This returns a string like the _description member variable - // except it is more thorough of a description where possible - // e.g. if the description contains a TYPE name it will also - // be explained. - const char * TypeString( std::string & s ) const; - - // This TypeDescriptor's type - PrimitiveType Type() const { - return _fundamentalType; - } - void Type( const PrimitiveType type ) { - _fundamentalType = type; - } - - // This is the underlying Express base type of this type. It will - // be the type of the last TypeDescriptor following the - // _referentType member variable pointers. e.g. - // TYPE count = INTEGER; - // TYPE ref_count = count; - // TYPE count_set = SET OF ref_count; - // each of the above will generate a TypeDescriptor and for - // each one, PrimitiveType BaseType() will return INTEGER_TYPE. - // TypeDescriptor *BaseTypeDescriptor() returns the TypeDescriptor - // for Integer. - PrimitiveType BaseType() const; - const TypeDescriptor * BaseTypeDescriptor() const; - const char * BaseTypeName() const; - - // the first PrimitiveType that is not REFERENCE_TYPE (the first - // TypeDescriptor *_referentType that does not have REFERENCE_TYPE - // for it's fundamentalType variable). This would return the same - // as BaseType() for fundamental types. An aggregate type - // would return AGGREGATE_TYPE then you could find out the type of - // an element by calling AggrElemType(). Select types - // would work the same? - - PrimitiveType NonRefType() const; - const TypeDescriptor * NonRefTypeDescriptor() const; - - int IsAggrType() const; - PrimitiveType AggrElemType() const; - const TypeDescriptor * AggrElemTypeDescriptor() const; - - PrimitiveType FundamentalType() const { - return _fundamentalType; - } - void FundamentalType( PrimitiveType ftype ) { - _fundamentalType = ftype; - } - - // The TypeDescriptor for the type this type is based on - const TypeDescriptor * ReferentType() const { - return _referentType; - } - void ReferentType( const TypeDescriptor * rtype ) { - _referentType = rtype; - } - - - const Schema * OriginatingSchema() const { - return _originatingSchema; - } - void OriginatingSchema( const Schema * os ) { - _originatingSchema = os; - } - const char * schemaName() const { - if( _originatingSchema ) { - return _originatingSchema->Name(); - } else { - return ""; - } - } - - // A description of this type's type. Basically you - // get the right side of a TYPE statement minus END_TYPE. - // For base type TypeDescriptors it is the same as _name. - const char * Description() const { - return _description; - } - void Description( const char * desc ) { - _description = desc; - } - - virtual const TypeDescriptor * IsA( const TypeDescriptor * ) const; - virtual const TypeDescriptor * BaseTypeIsA( const TypeDescriptor * ) - const; - virtual const TypeDescriptor * IsA( const char * ) const; - virtual const TypeDescriptor * CanBe( const TypeDescriptor * n ) const { - return IsA( n ); - } - virtual const TypeDescriptor * CanBe( const char * n ) const { - return IsA( n ); - } - virtual const TypeDescriptor * CanBeSet( const char * n, - const char * schNm = 0 ) const { - return ( CurrName( n, schNm ) ? this : 0 ); - } - bool CurrName( const char *, const char * = 0 ) const; - void addAltName( const char * schnm, const char * newnm ); - // Adds an additional name, newnm, to be use when schema schnm - // is USE/REFERENCE'ing us (added to altNames). -}; - -typedef SDAI_Enum * ( * EnumCreator )(); - -class SC_CORE_EXPORT EnumTypeDescriptor : public TypeDescriptor { - public: - EnumCreator CreateNewEnum; - - const char * GenerateExpress( std::string & buf ) const; - - void AssignEnumCreator( EnumCreator f = 0 ) { - CreateNewEnum = f; - } - - SDAI_Enum * CreateEnum(); - - EnumTypeDescriptor( ) { } - EnumTypeDescriptor( const char * nm, PrimitiveType ft, - Schema * origSchema, const char * d, - EnumCreator f = 0 ); - - virtual ~EnumTypeDescriptor() { } -}; - - - -/** - * EntityDescriptor - * An instance of this class will be generated for each entity type - * found in the schema. This should probably be derived from the - * CreatorEntry class (see sdaiApplicaton_instance.h). Then the binary tree - * that the current software builds up containing the entities in the schema - * will be building the same thing but using the new schema info. - * nodes (i.e. EntityDesc nodes) for each entity. - */ -class SC_CORE_EXPORT EntityDescriptor : public TypeDescriptor { - - protected: - SDAI_LOGICAL _abstractEntity; - SDAI_LOGICAL _extMapping; - // does external mapping have to be used to create an instance of - // us (see STEP Part 21, sect 11.2.5.1) - - EntityDescriptorList _subtypes; // OPTIONAL - EntityDescriptorList _supertypes; // OPTIONAL - AttrDescriptorList _explicitAttr; // OPTIONAL - Inverse_attributeList _inverseAttr; // OPTIONAL - std::string _supertype_stmt; - public: - Uniqueness_rule__set_var _uniqueness_rules; // initially a null pointer - - // pointer to a function that will create a new instance of a SDAI_Application_instance - Creator NewSTEPentity; - - EntityDescriptor( ); - EntityDescriptor( const char * name, // i.e. char * - Schema * origSchema, - Logical abstractEntity, // i.e. F U or T - Logical extMapping, - Creator f = 0 - ); - - virtual ~EntityDescriptor(); - - const char * GenerateExpress( std::string & buf ) const; - - const char * QualifiedName( std::string & s ) const; - - const SDAI_LOGICAL & AbstractEntity() const { - return _abstractEntity; - } - const SDAI_LOGICAL & ExtMapping() const { - return _extMapping; - } - void AbstractEntity( SDAI_LOGICAL & ae ) { - _abstractEntity.put( ae.asInt() ); - } - void ExtMapping( SDAI_LOGICAL & em ) { - _extMapping.put( em.asInt() ); - } - void AbstractEntity( Logical ae ) { - _abstractEntity.put( ae ); - } - void ExtMapping( Logical em ) { - _extMapping.put( em ); - } - void ExtMapping( const char * em ) { - _extMapping.put( em ); - } - - const EntityDescriptorList & Subtypes() const { - return _subtypes; - } - - const EntityDescriptorList & Supertypes() const { - return _supertypes; - } - - const EntityDescriptorList & GetSupertypes() const { - return _supertypes; - } - - const AttrDescriptorList & ExplicitAttr() const { - return _explicitAttr; - } - - const Inverse_attributeList & InverseAttr() const { - return _inverseAttr; - } - - virtual const EntityDescriptor * IsA( const EntityDescriptor * ) const; - virtual const TypeDescriptor * IsA( const TypeDescriptor * td ) const; - virtual const TypeDescriptor * IsA( const char * n ) const { - return TypeDescriptor::IsA( n ); - } - virtual const TypeDescriptor * CanBe( const TypeDescriptor * o ) const { - return o -> IsA( this ); - } - - virtual const TypeDescriptor * CanBe( const char * n ) const { - return TypeDescriptor::CanBe( n ); - } - - // The following will be used by schema initialization functions - - void AddSubtype( EntityDescriptor * ed ) { - _subtypes.AddNode( ed ); - } - void AddSupertype_Stmt( const std::string & s ) { - _supertype_stmt = s; - } - const char * Supertype_Stmt() { - return _supertype_stmt.c_str(); - } - std::string & supertype_stmt_() { - return _supertype_stmt; - } - - void AddSupertype( EntityDescriptor * ed ) { - _supertypes.AddNode( ed ); - } - - void AddExplicitAttr( AttrDescriptor * ad ) { - _explicitAttr.AddNode( ad ); - } - - void AddInverseAttr( Inverse_attribute * ia ) { - _inverseAttr.AddNode( ia ); - } - void uniqueness_rules_( Uniqueness_rule__set * urs ) { - _uniqueness_rules = urs; - } - Uniqueness_rule__set_var & uniqueness_rules_() { - return _uniqueness_rules; - } - -}; - -/** \class EnumerationTypeDescriptor - * FIXME not implemented -*/ -#ifdef NOT_YET -class SC_CORE_EXPORT EnumerationTypeDescriptor : public TypeDescriptor { - - protected: - StringAggregate * _elements; // of (null) - - public: - EnumerationTypeDescriptor( ); - virtual ~EnumerationTypeDescriptor() { } - - - StringAggregate & Elements() { - return *_elements; - } -// void Elements (StringAggregate e); -}; -#endif - -class STEPaggregate; -class EnumAggregate; -class GenericAggregate; -class EntityAggregate; -class SelectAggregate; -class StringAggregate; -class BinaryAggregate; -class RealAggregate; -class IntAggregate; - -typedef STEPaggregate * ( * AggregateCreator )(); -typedef EnumAggregate * ( * EnumAggregateCreator )(); -typedef GenericAggregate * ( * GenericAggregateCreator )(); -typedef EntityAggregate * ( * EntityAggregateCreator )(); -typedef SelectAggregate * ( * SelectAggregateCreator )(); -typedef StringAggregate * ( * StringAggregateCreator )(); -typedef BinaryAggregate * ( * BinaryAggregateCreator )(); -typedef RealAggregate * ( * RealAggregateCreator )(); -typedef IntAggregate * ( * IntAggregateCreator )(); - -SC_CORE_EXPORT EnumAggregate * create_EnumAggregate(); - -SC_CORE_EXPORT GenericAggregate * create_GenericAggregate(); - -SC_CORE_EXPORT EntityAggregate * create_EntityAggregate(); - -SC_CORE_EXPORT SelectAggregate * create_SelectAggregate(); - -SC_CORE_EXPORT StringAggregate * create_StringAggregate(); - -SC_CORE_EXPORT BinaryAggregate * create_BinaryAggregate(); - -SC_CORE_EXPORT RealAggregate * create_RealAggregate(); - -SC_CORE_EXPORT IntAggregate * create_IntAggregate(); - -typedef SDAI_Integer( *boundCallbackFn )( SDAI_Application_instance * ); - -/** - * \class AggrTypeDescriptor - * I think we decided on a simplistic representation of aggr. types for now? - * i.e. just have one AggrTypeDesc for Array of [list of] [set of] someType - * the inherited variable _referentType will point to the TypeDesc for someType - * So I don't believe this class was necessary. If we were to retain - * info for each of the [aggr of]'s in the example above then there would be - * one of these for each [aggr of] above and they would be strung - * together by the _aggrDomainType variables. If you can make this - * work then go for it. - */ -class SC_CORE_EXPORT AggrTypeDescriptor : public TypeDescriptor { - - protected: - - SDAI_Integer _bound1, _bound2; - SDAI_LOGICAL _uniqueElements; - TypeDescriptor * _aggrDomainType; - AggregateCreator CreateNewAggr; - - AggrBoundTypeEnum _bound1_type, _bound2_type; - boundCallbackFn _bound1_callback, _bound2_callback; - std::string _bound1_str, _bound2_str; - - public: - - void AssignAggrCreator( AggregateCreator f = 0 ); - - STEPaggregate * CreateAggregate(); - - AggrTypeDescriptor( ); - AggrTypeDescriptor( SDAI_Integer b1, SDAI_Integer b2, - Logical uniqElem, - TypeDescriptor * aggrDomType ); - AggrTypeDescriptor( const char * nm, PrimitiveType ft, - Schema * origSchema, const char * d, - AggregateCreator f = 0 ) - : TypeDescriptor( nm, ft, origSchema, d ), _bound1( 0 ), _bound2( 0 ), _uniqueElements( 0 ), _aggrDomainType( NULL ), CreateNewAggr( f ) { } - virtual ~AggrTypeDescriptor(); - - - /// find bound type - AggrBoundTypeEnum Bound1Type() const { - return _bound1_type; - }; - /// get a constant bound - SDAI_Integer Bound1( ) const { - assert( _bound1_type == bound_constant ); - return _bound1; - } - /// get a runtime bound using an object's 'this' pointer - SDAI_Integer Bound1Runtime( SDAI_Application_instance * this_ptr ) const { - assert( this_ptr && ( _bound1_type == bound_runtime ) ); - return _bound1_callback( this_ptr ) ; - } - /// get a bound's EXPRESS function call string - std::string Bound1Funcall() const { - return _bound1_str; - } - /// set bound to a constant - void SetBound1( SDAI_Integer b1 ) { - _bound1 = b1; - _bound1_type = bound_constant; - } - ///set bound's callback fn. only for bounds dependent on an attribute - void SetBound1FromMemberAccessor( boundCallbackFn callback ) { - _bound1_callback = callback; - _bound1_type = bound_runtime; - } - ///set bound from express function call. currently, this only stores the function call as a string. - void SetBound1FromExpressFuncall( std::string s ) { - _bound1_str = s; - _bound1_type = bound_funcall; - } - - /// find bound type - AggrBoundTypeEnum Bound2Type() const { - return _bound2_type; - }; - /// get a constant bound - SDAI_Integer Bound2( ) const { - assert( _bound2_type == bound_constant ); - return _bound2; - } - /// get a runtime bound using an object's 'this' pointer - SDAI_Integer Bound2Runtime( SDAI_Application_instance * this_ptr ) const { - assert( this_ptr && ( _bound2_type == bound_runtime ) ); - return _bound2_callback( this_ptr ) ; - } - /// get a bound's EXPRESS function call string - std::string Bound2Funcall() const { - return _bound2_str; - } - /// set bound to a constant - void SetBound2( SDAI_Integer b2 ) { - _bound2 = b2; - _bound2_type = bound_constant; - } - ///set bound's callback fn - void SetBound2FromMemberAccessor( boundCallbackFn callback ) { - _bound2_callback = callback; - _bound2_type = bound_runtime; - } - ///set bound from express function call. currently, this only stores the function call as a string. - void SetBound2FromExpressFuncall( std::string s ) { - _bound2_str = s; - _bound2_type = bound_funcall; - } - - SDAI_LOGICAL & UniqueElements() { - return _uniqueElements; - } - void UniqueElements( SDAI_LOGICAL & ue ) { - _uniqueElements.put( ue.asInt() ); - } - void UniqueElements( Logical ue ) { - _uniqueElements.put( ue ); - } - void UniqueElements( const char * ue ) { - _uniqueElements.put( ue ); - } - - class TypeDescriptor * AggrDomainType() { - return _aggrDomainType; - } - void AggrDomainType( TypeDescriptor * adt ) { - _aggrDomainType = adt; - } -}; - -/////////////////////////////////////////////////////////////////////////////// -// ArrayTypeDescriptor -/////////////////////////////////////////////////////////////////////////////// -class SC_CORE_EXPORT ArrayTypeDescriptor : public AggrTypeDescriptor { - - protected: - SDAI_LOGICAL _optionalElements; - public: - - ArrayTypeDescriptor( ) : _optionalElements( "UNKNOWN_TYPE" ) { } - ArrayTypeDescriptor( Logical optElem ) : _optionalElements( optElem ) - { } - ArrayTypeDescriptor( const char * nm, PrimitiveType ft, - Schema * origSchema, const char * d, - AggregateCreator f = 0 ) - : AggrTypeDescriptor( nm, ft, origSchema, d, f ), - _optionalElements( "UNKNOWN_TYPE" ) - { } - - virtual ~ArrayTypeDescriptor() {} - - - SDAI_LOGICAL & OptionalElements() { - return _optionalElements; - } - void OptionalElements( SDAI_LOGICAL & oe ) { - _optionalElements.put( oe.asInt() ); - } - void OptionalElements( Logical oe ) { - _optionalElements.put( oe ); - } - void OptionalElements( const char * oe ) { - _optionalElements.put( oe ); - } -}; - -class SC_CORE_EXPORT ListTypeDescriptor : public AggrTypeDescriptor { - - protected: - public: - ListTypeDescriptor( ) { } - ListTypeDescriptor( const char * nm, PrimitiveType ft, - Schema * origSchema, const char * d, - AggregateCreator f = 0 ) - : AggrTypeDescriptor( nm, ft, origSchema, d, f ) { } - virtual ~ListTypeDescriptor() { } - -}; - -class SC_CORE_EXPORT SetTypeDescriptor : public AggrTypeDescriptor { - - protected: - public: - - SetTypeDescriptor( ) { } - SetTypeDescriptor( const char * nm, PrimitiveType ft, - Schema * origSchema, const char * d, - AggregateCreator f = 0 ) - : AggrTypeDescriptor( nm, ft, origSchema, d, f ) { } - virtual ~SetTypeDescriptor() { } - -}; - -class SC_CORE_EXPORT BagTypeDescriptor : public AggrTypeDescriptor { - - protected: - public: - - BagTypeDescriptor( ) { } - BagTypeDescriptor( const char * nm, PrimitiveType ft, - Schema * origSchema, const char * d, - AggregateCreator f = 0 ) - : AggrTypeDescriptor( nm, ft, origSchema, d, f ) { } - virtual ~BagTypeDescriptor() { } - -}; - -typedef SDAI_Select * ( * SelectCreator )(); - -class SC_CORE_EXPORT SelectTypeDescriptor : public TypeDescriptor { - - protected: - TypeDescriptorList _elements; // of TYPE_DESCRIPTOR - int _unique_elements; - - public: - - SelectCreator CreateNewSelect; - - void AssignSelectCreator( SelectCreator f = 0 ) { - CreateNewSelect = f; - } - - SDAI_Select * CreateSelect(); - - SelectTypeDescriptor( int b, const char * nm, PrimitiveType ft, - Schema * origSchema, - const char * d, SelectCreator f = 0 ) - : TypeDescriptor( nm, ft, origSchema, d ), - _unique_elements( b ), CreateNewSelect( f ) - { } - virtual ~SelectTypeDescriptor() { } - - TypeDescriptorList & Elements() { - return _elements; - } - const TypeDescriptorList & GetElements() const { - return _elements; - } - int UniqueElements() const { - return _unique_elements; - } - virtual const TypeDescriptor * IsA( const TypeDescriptor * ) const; - virtual const TypeDescriptor * IsA( const char * n ) const { - return TypeDescriptor::IsA( n ); - } - virtual const TypeDescriptor * CanBe( const TypeDescriptor * ) const; - virtual const TypeDescriptor * CanBe( const char * n ) const; - virtual const TypeDescriptor * CanBeSet( const char *, const char * ) - const; -}; - -class SC_CORE_EXPORT StringTypeDescriptor : public TypeDescriptor { - - protected: - SDAI_Integer _width; // OPTIONAL - SDAI_LOGICAL _fixedSize; - public: - - StringTypeDescriptor( ) : _fixedSize( "UNKNOWN_TYPE" ) { - _width = 0; - } - virtual ~StringTypeDescriptor() { } - - - SDAI_Integer Width() { - return _width; - } - void Width( SDAI_Integer w ) { - _width = w; - } - - SDAI_LOGICAL & FixedSize() { - return _fixedSize; - } - void FixedSize( SDAI_LOGICAL fs ) { - _fixedSize.put( fs.asInt() ); - } - void FixedSize( Logical fs ) { - _fixedSize.put( fs ); - } -}; - -class SC_CORE_EXPORT RealTypeDescriptor : public TypeDescriptor { - - protected: - SDAI_Integer _precisionSpec; // OPTIONAL - public: - - RealTypeDescriptor( ) { - _precisionSpec = 0; - } - virtual ~RealTypeDescriptor() { } - - SDAI_Integer PrecisionSpec() { - return _precisionSpec; - } - void PrecisionSpec( SDAI_Integer ps ) { - _precisionSpec = ps; - } -}; - - -#endif diff --git a/src/clstepcore/ExpDict.inline.cc b/src/clstepcore/ExpDict.inline.cc deleted file mode 100644 index 442769aca..000000000 --- a/src/clstepcore/ExpDict.inline.cc +++ /dev/null @@ -1,414 +0,0 @@ - -/* -* NIST STEP Core Class Library -* clstepcore/ExpDict.inline.cc -* April 1997 -* K. C. Morris -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -#include -#include "sc_memmgr.h" - -Dictionary_instance::~Dictionary_instance() { -} - - -Schema::Schema( const char * schemaName ) - : _use_interface_list( new Interface_spec__set ), - _ref_interface_list( new Interface_spec__set ), - _function_list( 0 ), _procedure_list( 0 ), _global_rules( 0 ) { - _name = schemaName; -} - -Schema::~Schema() { - TypeDescLinkNode * node; - - if( _use_interface_list != 0 ) { - delete _use_interface_list; - } - if( _ref_interface_list != 0 ) { - delete _ref_interface_list; - } - if( _global_rules != 0 ) { - delete _global_rules; - } - node = ( TypeDescLinkNode * ) _unnamed_typeList.GetHead(); - while( node ) { - delete node->TypeDesc(); - node = ( TypeDescLinkNode * ) node->NextNode(); - } -} - -Interfaced_item::Interfaced_item() { -} - -Interfaced_item::Interfaced_item( const Interfaced_item & ii ) { - _foreign_schema = ii._foreign_schema; -} - -Interfaced_item::Interfaced_item( const char * foreign_schema ) - : _foreign_schema( foreign_schema ) { -} - -Interfaced_item::~Interfaced_item() { -} - -const Express_id Interfaced_item::foreign_schema_() { - return _foreign_schema; -} - -void Interfaced_item::foreign_schema_( const Express_id & fs ) { - _foreign_schema = fs; -} - -Explicit_item_id::Explicit_item_id() { - _local_definition = 0; -} - -Explicit_item_id::Explicit_item_id( const Explicit_item_id & eii ) - : Interfaced_item( eii ) { - _local_definition = eii._local_definition; - _original_id = eii._original_id; - _new_id = eii._new_id; -} - -Explicit_item_id::~Explicit_item_id() { - _local_definition = 0; -} - -Used_item::~Used_item() { -} - -Referenced_item::~Referenced_item() { -} - -Implicit_item_id::Implicit_item_id() { - _local_definition = 0; -} - -Implicit_item_id::Implicit_item_id( Implicit_item_id & iii ) - : Interfaced_item( iii ) { - _local_definition = iii._local_definition; -} - -Implicit_item_id::~Implicit_item_id() { - _local_definition = 0; -} - -EntityDescLinkNode::EntityDescLinkNode() { - _entityDesc = 0; -} - -EntityDescLinkNode::~EntityDescLinkNode() { -} - -EntityDescriptorList::EntityDescriptorList() { -} - -EntityDescriptorList::~EntityDescriptorList() { -} - -EntityDescItr::EntityDescItr( const EntityDescriptorList & edList ) : edl( edList ) { - cur = ( EntityDescLinkNode * )( edl.GetHead() ); -} -EntityDescItr::~EntityDescItr() { -} - -AttrDescLinkNode::AttrDescLinkNode() { - _attrDesc = 0; -} - -AttrDescLinkNode::~AttrDescLinkNode() { - if( _attrDesc ) { - delete _attrDesc; - } -} - -AttrDescItr::AttrDescItr( const AttrDescriptorList & adList ) : adl( adList ) { - cur = ( AttrDescLinkNode * )( adl.GetHead() ); -} - -AttrDescItr::~AttrDescItr() { -} - -Inverse_attributeLinkNode::Inverse_attributeLinkNode() { - _invAttr = 0; -} - -Inverse_attributeLinkNode::~Inverse_attributeLinkNode() { -} - -Inverse_attributeList::Inverse_attributeList() { -} - -Inverse_attributeList::~Inverse_attributeList() { - Inverse_attributeLinkNode * node; - - node = ( Inverse_attributeLinkNode * ) head; - while( node ) { - delete node->Inverse_attr(); - node = ( Inverse_attributeLinkNode * ) node->NextNode(); - } -} - -Inverse_attributeLinkNode * Inverse_attributeList::AddNode( Inverse_attribute * ad ) { - Inverse_attributeLinkNode * node = ( Inverse_attributeLinkNode * ) NewNode(); - node->Inverse_attr( ad ); - SingleLinkList::AppendNode( node ); - return node; -} - -InverseAItr::InverseAItr( const Inverse_attributeList & iaList ) - : ial( iaList ) { - cur = ( Inverse_attributeLinkNode * )( ial.GetHead() ); -} - -InverseAItr::~InverseAItr() { -} - -TypeDescLinkNode::TypeDescLinkNode() { - _typeDesc = 0; -} - -TypeDescLinkNode::~TypeDescLinkNode() { -} - -TypeDescriptorList::TypeDescriptorList() { -} - -TypeDescriptorList::~TypeDescriptorList() { -} - -TypeDescItr::TypeDescItr( const TypeDescriptorList & tdList ) : tdl( tdList ) { - cur = ( TypeDescLinkNode * )( tdl.GetHead() ); -} - -TypeDescItr::~TypeDescItr() { -} - -/////////////////////////////////////////////////////////////////////////////// -// TypeDescriptor functions -/////////////////////////////////////////////////////////////////////////////// - -AttrDescriptorList::AttrDescriptorList() { -} - -AttrDescriptorList::~AttrDescriptorList() { -} - -AttrDescLinkNode * -AttrDescriptorList::AddNode( AttrDescriptor * ad ) { - AttrDescLinkNode * node = ( AttrDescLinkNode * ) NewNode(); - node->AttrDesc( ad ); - SingleLinkList::AppendNode( node ); - return node; -} - -TypeDescriptor::TypeDescriptor( ) - : _name( 0 ), altNames( 0 ), _fundamentalType( UNKNOWN_TYPE ), - _originatingSchema( 0 ), _referentType( 0 ), _description( 0 ), _where_rules( 0 ) { -} - -TypeDescriptor::TypeDescriptor -( const char * nm, PrimitiveType ft, Schema * origSchema, - const char * d ) - : _name( nm ), altNames( 0 ), _fundamentalType( ft ), - _originatingSchema( origSchema ), _referentType( 0 ), _description( d ), - _where_rules( 0 ) { -} - -TypeDescriptor::~TypeDescriptor() { - if( _where_rules ) { - delete _where_rules; - } -} - -/** - * Determines the current name of this. Normally, this is simply _name. - * If "schnm" is set to a value, however, then this function becomes a - * request for our name when referenced by schnm. (This will be diff from - * our original name if schnm USEs or REFERENCEs us and renames us (e.g., - * "USE (xx as yy)").) In such a case, this function searches through our - * altNames list to see if schema schnm refers to us with a different name - * and returns the new name if found. (See header comments to function - * SchRename::rename().) - */ -const char * TypeDescriptor::Name( const char * schnm ) const { - if( schnm == NULL ) { - return _name; - } - if( altNames && altNames->rename( schnm, ( char * )_altname ) ) { - // If our altNames list has an alternate for schnm, copy it into - // _altname, and return it: - return _altname; - } - return _name; -} - -const char * TypeDescriptor::BaseTypeName() const { - return BaseTypeDescriptor() ? BaseTypeDescriptor() -> Name() : 0; -} - -const TypeDescriptor * TypeDescriptor::BaseTypeIsA( const TypeDescriptor * td ) const { - switch( NonRefType() ) { - case AGGREGATE_TYPE: - return AggrElemTypeDescriptor() -> IsA( td ); - case ENTITY_TYPE: - case SELECT_TYPE: - default: - return IsA( td ); - } -} - -/** - * Check if our "current" name = other. CurrName may be different from - * _name if schNm tells us the current schema is a different one from the - * one in which we're defined. If so, we may have an alternate name for - * that schema (it may be listed in our altNames list). This would be the - * case if schNm USEs or REFERENCEs type and renames it in the process - * (e.g., "USE (X as Y)". - */ -bool TypeDescriptor::CurrName( const char * other, const char * schNm ) const { - if( !schNm || *schNm == '\0' ) { - // If there's no current schema, accept any possible name of this. - // (I.e., accept its actual name or any substitute): - return ( PossName( other ) ); - } - if( altNames && altNames->rename( schNm, ( char * )_altname ) ) { - // If we have a different name when the current schema = schNm, then - // other better = the alt name. - return ( !StrCmpIns( _altname, other ) ); - } else { - // If we have no desginated alternate name when the current schema = - // schNm, other must = our _name. - return ( OurName( other ) ); - } -} - -/** - * return true if nm is either our name or one of the possible alternates. - */ -bool TypeDescriptor::PossName( const char * nm ) const { - return ( OurName( nm ) || AltName( nm ) ); -} - -bool TypeDescriptor::OurName( const char * nm ) const { - return !StrCmpIns( nm, _name ); -} - -bool TypeDescriptor::AltName( const char * nm ) const { - if( altNames ) { - return ( altNames->choice( nm ) ); - } - return false; -} - -/** - * Creates a SchRename consisting of schnm & newnm. Places it in alphabe- - * tical order in this's altNames list. - */ -void TypeDescriptor::addAltName( const char * schnm, const char * newnm ) { - SchRename * newpair = new SchRename( schnm, newnm ), - *node = ( SchRename * )altNames, *prev = NULL; - - while( node && *node < *newpair ) { - prev = node; - node = node->next; - } - newpair->next = node; // node may = NULL - if( prev ) { - // Will be the case if new node should not be first (and above while - // loop was entered). - prev->next = newpair; - } else { - // put newpair first - altNames = newpair; - } -} - -/** - * See if nm = one of our choices (either ours or that of a SchRename - * later in the list. - */ -bool SchRename::choice( const char * nm ) const { - if( !StrCmpIns( nm, newName ) ) { - return true; - } - if( next ) { - return ( next->choice( nm ) ); - } - return false; -} - -/** - * Check if this SchRename represents the rename of its owning TypeDesc for - * schema schnm. (This will be the case if schnm = schName.) If so, the - * new name is returned and copied into newnm. If not, ::rename is called - * on next. Thus, this function will tell us if this or any later SchRe- - * name in this list provide a new name for TypeDesc for schema schnm. - */ -char * SchRename::rename( const char * schnm, char * newnm ) const { - if( !StrCmpIns( schnm, schName ) ) { - strcpy( newnm, newName ); - return newnm; - } - if( next ) { - return ( next->rename( schnm, newnm ) ); - } - return NULL; -} - -/////////////////////////////////////////////////////////////////////////////// -// AttrDescriptor functions -/////////////////////////////////////////////////////////////////////////////// - -AttrDescriptor::AttrDescriptor( const char * name, const TypeDescriptor * domainType, - Logical optional, Logical unique, AttrType_Enum at, - const EntityDescriptor & owner ) - : _name( name ), _domainType( domainType ), _optional( optional ), - _unique( unique ), _attrType( at ), _owner( ( EntityDescriptor & )owner ) { -} - -AttrDescriptor::~AttrDescriptor() { -} - -Logical AttrDescriptor::Explicit() const { - if( _attrType == AttrType_Explicit ) { - return LTrue; - } - return LFalse; -} - -Logical AttrDescriptor::Inverse() const { - if( _attrType == AttrType_Inverse ) { - return LTrue; - } - return LFalse; -} - -Logical AttrDescriptor::Redefining() const { - if( _attrType == AttrType_Redefining ) { - return LTrue; - } - return LFalse; -} - -Logical AttrDescriptor::Deriving() const { - if( _attrType == AttrType_Deriving ) { - return LTrue; - } - return LFalse; -} - -Derived_attribute::Derived_attribute( const char * name, const TypeDescriptor * domainType, - Logical optional, Logical unique, AttrType_Enum at, const EntityDescriptor & owner ) - : AttrDescriptor( name, domainType, optional, unique, at, owner ) { - _initializer = ( const char * )0; -} - -Derived_attribute::~Derived_attribute() { -} diff --git a/src/clstepcore/Registry.inline.cc b/src/clstepcore/Registry.cc similarity index 76% rename from src/clstepcore/Registry.inline.cc rename to src/clstepcore/Registry.cc index 4b1edece5..9eeb975e0 100644 --- a/src/clstepcore/Registry.inline.cc +++ b/src/clstepcore/Registry.cc @@ -1,6 +1,6 @@ /* * NIST STEP Core Class Library -* clstepcore/Registry.inline.cc +* clstepcore/Registry.cc * April 1997 * K. C. Morris * David Sauder @@ -9,17 +9,18 @@ * and is not subject to copyright. */ -#include -#include -#include "sc_memmgr.h" +#include "clstepcore/ExpDict.h" +#include "clstepcore/Registry.h" -const TypeDescriptor * t_sdaiINTEGER = NULL; -const TypeDescriptor * t_sdaiREAL = NULL; -const TypeDescriptor * t_sdaiNUMBER = NULL; -const TypeDescriptor * t_sdaiSTRING = NULL; -const TypeDescriptor * t_sdaiBINARY = NULL; -const TypeDescriptor * t_sdaiBOOLEAN = NULL; -const TypeDescriptor * t_sdaiLOGICAL = NULL; +/* these may be shared between multiple Registry instances, so don't create/destroy in Registry ctor/dtor + * Name, FundamentalType, Originating Schema, Description */ +const TypeDescriptor * const t_sdaiINTEGER = new TypeDescriptor( "INTEGER", sdaiINTEGER, 0, "INTEGER" ); +const TypeDescriptor * const t_sdaiREAL = new TypeDescriptor( "REAL", sdaiREAL, 0, "Real" ); +const TypeDescriptor * const t_sdaiNUMBER = new TypeDescriptor( "NUMBER", sdaiNUMBER, 0, "Number" ); +const TypeDescriptor * const t_sdaiSTRING = new TypeDescriptor( "STRING", sdaiSTRING, 0, "String" ); +const TypeDescriptor * const t_sdaiBINARY = new TypeDescriptor( "BINARY", sdaiBINARY, 0, "Binary" ); +const TypeDescriptor * const t_sdaiBOOLEAN = new TypeDescriptor( "BOOLEAN", sdaiBOOLEAN, 0, "Boolean" ); +const TypeDescriptor * const t_sdaiLOGICAL = new TypeDescriptor( "LOGICAL", sdaiLOGICAL, 0, "Logical" ); static int uniqueNames( const char *, const SchRename * ); @@ -30,43 +31,6 @@ Registry::Registry( CF_init initFunct ) active_schemas = SC_HASHcreate( 10 ); active_types = SC_HASHcreate( 100 ); - if( !t_sdaiINTEGER ) { - t_sdaiINTEGER = new TypeDescriptor( "INTEGER", // Name - sdaiINTEGER, // FundamentalType - 0, // Originating Schema - "INTEGER" ); // Description; - } - if( !t_sdaiREAL ) { - t_sdaiREAL = new TypeDescriptor( "REAL", sdaiREAL, - 0, // Originating Schema - "Real" ); - } - if( !t_sdaiSTRING ) { - t_sdaiSTRING = new TypeDescriptor( "STRING", sdaiSTRING, - 0, // Originating Schema - "String" ); - } - if( !t_sdaiBINARY ) { - t_sdaiBINARY = new TypeDescriptor( "BINARY", sdaiBINARY, - 0, // Originating Schema - "Binary" ); - } - if( !t_sdaiBOOLEAN ) { - t_sdaiBOOLEAN = new TypeDescriptor( "BOOLEAN", sdaiBOOLEAN, - 0, // Originating Schema - "Boolean" ); - } - if( !t_sdaiLOGICAL ) { - t_sdaiLOGICAL = new TypeDescriptor( "LOGICAL", sdaiLOGICAL, - 0, // Originating Schema - "Logical" ); - } - if( !t_sdaiNUMBER ) { - t_sdaiNUMBER = new TypeDescriptor( "NUMBER", sdaiNUMBER, - 0, // Originating Schema - "Number" ); - } - initFunct( *this ); SC_HASHlistinit( active_types, &cur_type ); SC_HASHlistinit( primordialSwamp, &cur_entity ); // initialize cur's @@ -80,35 +44,6 @@ Registry::~Registry() { SC_HASHdestroy( active_schemas ); SC_HASHdestroy( active_types ); delete col; - - if( t_sdaiINTEGER ) { - delete t_sdaiINTEGER; - t_sdaiINTEGER = NULL; - } - if( t_sdaiREAL ) { - delete t_sdaiREAL; - t_sdaiREAL = NULL; - } - if( t_sdaiSTRING ) { - delete t_sdaiSTRING; - t_sdaiSTRING = NULL; - } - if( t_sdaiBINARY ) { - delete t_sdaiBINARY; - t_sdaiBINARY = NULL; - } - if( t_sdaiBOOLEAN ) { - delete t_sdaiBOOLEAN; - t_sdaiBOOLEAN = NULL; - } - if( t_sdaiLOGICAL ) { - delete t_sdaiLOGICAL; - t_sdaiLOGICAL = NULL; - } - if( t_sdaiNUMBER ) { - delete t_sdaiNUMBER; - t_sdaiNUMBER = NULL; - } } void Registry::DeleteContents() { @@ -143,7 +78,7 @@ void Registry::DeleteContents() { const EntityDescriptor * Registry::FindEntity( const char * e, const char * schNm, int check_case ) const { const EntityDescriptor * entd; const SchRename * altlist; - char schformat[BUFSIZ], altName[BUFSIZ]; + char schformat[BUFSIZ+1], altName[BUFSIZ+1]; if( check_case ) { entd = ( EntityDescriptor * )SC_HASHfind( primordialSwamp, ( char * )e ); @@ -299,13 +234,13 @@ void Registry::RemoveType( const char * n ) { */ void Registry::RemoveClones( const EntityDescriptor & e ) { const SchRename * alts = e.AltNameList(); - struct Element * tmp; while( alts ) { - tmp = new Element; + struct Element * tmp = new Element; tmp->key = ( char * ) alts->objName(); SC_HASHsearch( primordialSwamp, tmp, HASH_DELETE ); alts = alts->next; + delete tmp; } } diff --git a/src/clstepcore/STEPaggrBinary.cc b/src/clstepcore/STEPaggrBinary.cc new file mode 100644 index 000000000..f1170926c --- /dev/null +++ b/src/clstepcore/STEPaggrBinary.cc @@ -0,0 +1,109 @@ +#include "clstepcore/STEPaggrBinary.h" +#include + +/** \file STEPaggrBinary.cc + * implement classes BinaryAggregate, BinaryNode + */ + + +BinaryAggregate::BinaryAggregate() { +} + +BinaryAggregate::~BinaryAggregate() { +} + +STEPaggregate & BinaryAggregate::ShallowCopy( const STEPaggregate & a ) { + Empty(); + + SingleLinkNode * next = a.GetHead(); + SingleLinkNode * copy; + + while( next ) { + copy = new BinaryNode( *( BinaryNode * )next ); + AddNode( copy ); + next = next->NextNode(); + } + if( head ) { + _null = 0; + } else { + _null = 1; + } + return *this; + +} + +SingleLinkNode * BinaryAggregate::NewNode() { + return new BinaryNode(); +} + + +BinaryNode::BinaryNode() { + value = 0; +} + +BinaryNode::~BinaryNode() { +} + +BinaryNode::BinaryNode( BinaryNode & bn ) { + value = bn.value.c_str(); +} + +BinaryNode::BinaryNode( const char * sStr ) { + // value is an SDAI_Binary (the memory is copied) + value = sStr; +} + +SingleLinkNode * +BinaryNode::NewNode() { + return new BinaryNode(); +} + +/** + * non-whitespace chars following s are considered garbage and is an error. + * a valid value will still be assigned if it exists before the garbage. + */ +Severity BinaryNode::StrToVal( const char * s, ErrorDescriptor * err ) { + return STEPread( s, err ); +} + +/** + * this function assumes you will check for garbage following input + */ +Severity BinaryNode::StrToVal( istream & in, ErrorDescriptor * err ) { + return value.STEPread( in, err ); +} + +/** + * non-whitespace chars following s are considered garbage and is an error. + * a valid value will still be assigned if it exists before the garbage. + */ +Severity BinaryNode::STEPread( const char * s, ErrorDescriptor * err ) { + istringstream in( ( char * )s ); + + value.STEPread( in, err ); + CheckRemainingInput( in, err, "binary", ",)" ); + return err->severity(); +} + +/** + * this function assumes you will check for garbage following input + */ +Severity BinaryNode::STEPread( istream & in, ErrorDescriptor * err ) { + return value.STEPread( in, err ); +} + +const char * BinaryNode::asStr( std::string & s ) { + s = value.c_str(); + return const_cast( s.c_str() ); +} + +const char * BinaryNode::STEPwrite( std::string & s, const char * ) { + value.STEPwrite( s ); + return const_cast( s.c_str() ); +} + +void BinaryNode::STEPwrite( ostream & out ) { + value.STEPwrite( out ); +} + + diff --git a/src/clstepcore/STEPaggrEntity.cc b/src/clstepcore/STEPaggrEntity.cc new file mode 100644 index 000000000..02bfa3fb2 --- /dev/null +++ b/src/clstepcore/STEPaggrEntity.cc @@ -0,0 +1,247 @@ +#include "clstepcore/STEPaggrEntity.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/typeDescriptor.h" +#include + +/** \file STEPaggrEntity.cc + * implement classes EntityAggregate, EntityNode + */ + + +EntityAggregate::EntityAggregate() { +} + +EntityAggregate::~EntityAggregate() { +} + + +/// if exchangeFileFormat == 1 then delims are required. +Severity EntityAggregate::ReadValue( istream & in, ErrorDescriptor * err, + const TypeDescriptor * elem_type, InstMgrBase * insts, + int addFileId, int assignVal, + int exchangeFileFormat, const char * ) { + ErrorDescriptor errdesc; + char errmsg[BUFSIZ+1]; + int value_cnt = 0; + std::string buf; + bool free_item = false; + + if( assignVal ) { + Empty(); // read new values and discard existing ones + } + + char c; + + in >> ws; // skip white space + + c = in.peek(); // does not advance input + + if( in.eof() || ( c == '$' ) ) { + _null = 1; + err->GreaterSeverity( SEVERITY_INCOMPLETE ); + return SEVERITY_INCOMPLETE; + } + + if( c == '(' ) { + in.get( c ); + } else if( exchangeFileFormat ) { + // error did not find opening delim + // give up because you do not know where to stop reading. + err->GreaterSeverity( SEVERITY_INPUT_ERROR ); + return SEVERITY_INPUT_ERROR; + } else if( !in.good() ) { + // this should actually have been caught by skipping white space above + err->GreaterSeverity( SEVERITY_INCOMPLETE ); + return SEVERITY_INCOMPLETE; + } + + EntityNode * item = 0; + + in >> ws; + // take a peek to see if there are any elements before committing to an + // element + c = in.peek(); // does not advance input + if( c == ')' ) { + in.get( c ); + } + // if not assigning values only need one node. So only one node is created. + // It is used to read the values + else if( !assignVal ) { + item = new EntityNode(); + free_item = true; + } + + while( in.good() && ( c != ')' ) ) { + value_cnt++; + if( assignVal ) { // create a new node each time through the loop + item = new EntityNode(); + } + + errdesc.ClearErrorMsg(); + + if( exchangeFileFormat ) { + item->STEPread( in, &errdesc, elem_type, insts, addFileId ); + } else { + item->StrToVal( in, &errdesc, elem_type, insts, addFileId ); + } + + elem_type->AttrTypeName( buf ); + // read up to the next delimiter and set errors if garbage is + // found before specified delims (i.e. comma and quote) + CheckRemainingInput( in, &errdesc, buf, ",)" ); + + if( errdesc.severity() < SEVERITY_INCOMPLETE ) { + sprintf( errmsg, " index: %d\n", value_cnt ); + errdesc.PrependToDetailMsg( errmsg ); + err->AppendFromErrorArg( &errdesc ); + } + if( assignVal ) { + AddNode( item ); + } + + in >> ws; // skip white space (although should already be skipped) + in.get( c ); // read delim + + // CheckRemainingInput should have left the input right at the delim + // so that it would be read in in.get() above. Since it did not find + // the delim this does not know how to find it either! + if( ( c != ',' ) && ( c != ')' ) ) { + // cannot recover so give up and let STEPattribute recover + err->GreaterSeverity( SEVERITY_INPUT_ERROR ); + return SEVERITY_INPUT_ERROR; + } + } + if( c == ')' ) { + _null = 0; + } else { // expectation for end paren delim has not been met + err->GreaterSeverity( SEVERITY_INPUT_ERROR ); + err->AppendToUserMsg( "Missing close paren for aggregate value" ); + if (free_item) + delete item; + return SEVERITY_INPUT_ERROR; + } + if (free_item) + delete item; + return err->severity(); +} + + +STEPaggregate & EntityAggregate::ShallowCopy( const STEPaggregate & a ) { + const EntityNode * tmp = ( const EntityNode * ) a.GetHead(); + while( tmp ) { + AddNode( new EntityNode( tmp -> node ) ); + tmp = ( const EntityNode * ) tmp -> NextNode(); + } + if( head ) { + _null = 0; + } else { + _null = 1; + } + + return *this; +} + + +SingleLinkNode * EntityAggregate::NewNode() { + return new EntityNode(); +} + +EntityNode::EntityNode() { +} + +EntityNode::~EntityNode() { +} + +EntityNode::EntityNode( SDAI_Application_instance * e ) : node( e ) { +} + +SingleLinkNode * EntityNode::NewNode() { + return new EntityNode(); +} +/////////////////////////////////////////////////////////////////////////////// + +Severity EntityNode::StrToVal( const char * s, ErrorDescriptor * err, + const TypeDescriptor * elem_type, + InstMgrBase * insts, int addFileId ) { + SDAI_Application_instance * se = ReadEntityRef( s, err, ",)", insts, + addFileId ); + if( se != S_ENTITY_NULL ) { + ErrorDescriptor error; + if( EntityValidLevel( se, elem_type, &error ) == SEVERITY_NULL ) { + node = se; + } else { + node = S_ENTITY_NULL; + err->AppendToDetailMsg( error.DetailMsg() ); + err->AppendToUserMsg( error.UserMsg() ); + err->GreaterSeverity( error.severity() ); + } + } else { + node = S_ENTITY_NULL; + } + return err->severity(); +} + +Severity EntityNode::StrToVal( istream & in, ErrorDescriptor * err, + const TypeDescriptor * elem_type, + InstMgrBase * insts, int addFileId ) { + return STEPread( in, err, elem_type, insts, addFileId ); +} + +Severity EntityNode::STEPread( const char * s, ErrorDescriptor * err, + const TypeDescriptor * elem_type, + InstMgrBase * insts, int addFileId ) { + istringstream in( ( char * )s ); + return STEPread( in, err, elem_type, insts, addFileId ); +} + +Severity EntityNode::STEPread( istream & in, ErrorDescriptor * err, + const TypeDescriptor * elem_type, + InstMgrBase * insts, int addFileId ) { + SDAI_Application_instance * se = ReadEntityRef( in, err, ",)", insts, + addFileId ); + if( se != S_ENTITY_NULL ) { + ErrorDescriptor error; + if( EntityValidLevel( se, elem_type, &error ) == SEVERITY_NULL ) { + node = se; + } else { + node = S_ENTITY_NULL; + err->AppendToDetailMsg( error.DetailMsg() ); + err->AppendToUserMsg( error.UserMsg() ); + err->GreaterSeverity( error.severity() ); + } + } else { + node = S_ENTITY_NULL; + } + return err->severity(); +} + +const char * EntityNode::asStr( std::string & s ) { + s.clear(); + if( !node || ( node == S_ENTITY_NULL ) ) { // nothing + return ""; + } else { // otherwise return entity id + char tmp [64]; + sprintf( tmp, "#%d", node->STEPfile_id ); + s = tmp; + } + return const_cast( s.c_str() ); +} + +const char * EntityNode::STEPwrite( std::string & s, const char * ) { + if( !node || ( node == S_ENTITY_NULL ) ) { // nothing + s = "$"; + return const_cast( s.c_str() ); + } + asStr( s ); + return const_cast( s.c_str() ); +} + +void EntityNode::STEPwrite( ostream & out ) { + if( !node || ( node == S_ENTITY_NULL ) ) { // nothing + out << "$"; + } + std::string s; + out << asStr( s ); +} + + diff --git a/src/clstepcore/STEPaggrEnum.cc b/src/clstepcore/STEPaggrEnum.cc new file mode 100644 index 000000000..01ac21e4a --- /dev/null +++ b/src/clstepcore/STEPaggrEnum.cc @@ -0,0 +1,145 @@ +#include "clstepcore/STEPaggrEnum.h" +#include + +/** \file StepaggrEnum.cc + * implement classes EnumAggregate, LOGICALS, BOOLEANS, EnumNode + */ + + +/// COPY +STEPaggregate & EnumAggregate::ShallowCopy( const STEPaggregate & a ) { + const EnumNode * tmp = ( const EnumNode * ) a.GetHead(); + EnumNode * to; + + while( tmp ) { + to = ( EnumNode * ) NewNode(); + to -> node -> put( tmp -> node ->asInt() ); + AddNode( to ); + tmp = ( const EnumNode * ) tmp -> NextNode(); + } + if( head ) { + _null = 0; + } else { + _null = 1; + } + + return *this; +} + +EnumAggregate::EnumAggregate() { + +} + +EnumAggregate::~EnumAggregate() { + +} + +/****************************************************************** + * * \returns a new EnumNode which is of the correct derived type + ** \details creates a node to put in an list of enumerated values + ** function is virtual so that the right node will be + ** created + ** Status: ok 2/91 + ******************************************************************/ +SingleLinkNode * EnumAggregate::NewNode() { + // defined in subclass + cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" ; + cerr << "function: EnumAggregate::NewNode () called instead of virtual function. \n" + << _POC_ << "\n"; + return 0; +} + +LOGICALS::LOGICALS() { +} + +LOGICALS::~LOGICALS() { +} + +SingleLinkNode * LOGICALS::NewNode() { + return new EnumNode( new SDAI_LOGICAL ); +} + +LOGICALS * create_LOGICALS() { + return new LOGICALS; +} + +BOOLEANS::BOOLEANS() { +} + +BOOLEANS::~BOOLEANS() { +} + +SingleLinkNode * BOOLEANS::NewNode() { + return new EnumNode( new SDAI_BOOLEAN ); +} + +BOOLEANS * create_BOOLEANS() { + return new BOOLEANS ; +} + +EnumNode::EnumNode( SDAI_Enum * e ) : node( e ) { +} + +EnumNode::EnumNode() { +} + +EnumNode::~EnumNode() { +} + +/// defined in subclass +SingleLinkNode * EnumNode::NewNode() { + cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" ; + cerr << "function: EnumNode::NewNode () called instead of virtual function. \n" + << _POC_ << "\n"; + return 0; +} + +/** + * non-whitespace chars following s are considered garbage and is an error. + * a valid value will still be assigned if it exists before the garbage. + */ +Severity EnumNode::StrToVal( const char * s, ErrorDescriptor * err ) { + return STEPread( s, err ); +} +/** + * this function assumes you will check for garbage following input + */ +Severity EnumNode::StrToVal( istream & in, ErrorDescriptor * err ) { + return node->STEPread( in, err ); +} + +/** + * non-whitespace chars following s are considered garbage and is an error. + * a valid value will still be assigned if it exists before the garbage. + */ +Severity EnumNode::STEPread( const char * s, ErrorDescriptor * err ) { + istringstream in( ( char * )s ); // sz defaults to length of s + + int nullable = 0; + node->STEPread( in, err, nullable ); + CheckRemainingInput( in, err, "enumeration", ",)" ); + return err->severity(); +} + +/** + * this function assumes you will check for garbage following input + */ +Severity EnumNode::STEPread( istream & in, ErrorDescriptor * err ) { + int nullable = 0; + node->STEPread( in, err, nullable ); + return err->severity(); +} + +const char * EnumNode::asStr( std::string & s ) { + node -> asStr( s ); + return const_cast( s.c_str() ); +} + +const char * EnumNode::STEPwrite( std::string & s, const char * ) { + node->STEPwrite( s ); + return const_cast( s.c_str() ); +} + +void EnumNode::STEPwrite( ostream & out ) { + node->STEPwrite( out ); +} diff --git a/src/clstepcore/STEPaggrGeneric.cc b/src/clstepcore/STEPaggrGeneric.cc new file mode 100644 index 000000000..5db812b27 --- /dev/null +++ b/src/clstepcore/STEPaggrGeneric.cc @@ -0,0 +1,87 @@ +#include "clstepcore/STEPaggrGeneric.h" +#include + +/** \file STEPaggrGeneric.cc + * implement classes GenericAggregate, GenericAggrNode + */ + +GenericAggregate::GenericAggregate() { +} + +GenericAggregate::~GenericAggregate() { +} + +SingleLinkNode * GenericAggregate::NewNode() { + return new GenericAggrNode(); +} + +STEPaggregate & GenericAggregate::ShallowCopy( const STEPaggregate & a ) { + Empty(); + + SingleLinkNode * next = a.GetHead(); + SingleLinkNode * copy; + + while( next ) { + copy = new GenericAggrNode( *( GenericAggrNode * )next ); + AddNode( copy ); + next = next->NextNode(); + } + if( head ) { + _null = 0; + } else { + _null = 1; + } + return *this; + +} + +GenericAggrNode::GenericAggrNode( const char * str ) { + value = str; +} + +GenericAggrNode::GenericAggrNode( GenericAggrNode & gan ) { + value = gan.value; +} + +GenericAggrNode::GenericAggrNode() { +} + +GenericAggrNode::~GenericAggrNode() { +} + +SingleLinkNode * GenericAggrNode::NewNode() { + return new GenericAggrNode(); +} + +Severity GenericAggrNode::StrToVal( const char * s, ErrorDescriptor * err ) { + return value.STEPread( s, err ); +} + +//TODO +Severity GenericAggrNode::StrToVal( istream & in, ErrorDescriptor * err ) { + return value.STEPread( in, err ); +} + +Severity GenericAggrNode::STEPread( const char * s, ErrorDescriptor * err ) { + istringstream in( ( char * ) s ); + return value.STEPread( in, err ); +} + +Severity GenericAggrNode::STEPread( istream & in, ErrorDescriptor * err ) { + return value.STEPread( in, err ); +} + +const char * GenericAggrNode::asStr( std::string & s ) { + s.clear(); + value.asStr( s ); + return const_cast( s.c_str() ); +} + +const char * GenericAggrNode::STEPwrite( std::string & s, const char * currSch ) { + (void) currSch; //unused + return value.STEPwrite( s ); +} + +void GenericAggrNode::STEPwrite( ostream & out ) { + value.STEPwrite( out ); +} diff --git a/src/clstepcore/STEPaggrInt.cc b/src/clstepcore/STEPaggrInt.cc new file mode 100644 index 000000000..936ab36d8 --- /dev/null +++ b/src/clstepcore/STEPaggrInt.cc @@ -0,0 +1,110 @@ +#include "clstepcore/STEPaggrInt.h" + + +IntAggregate::IntAggregate() { +} + +IntAggregate::~IntAggregate() { +} + +SingleLinkNode * IntAggregate::NewNode() { + return new IntNode(); +} + +/// COPY +STEPaggregate & IntAggregate::ShallowCopy( const STEPaggregate & a ) { + const IntNode * tmp = ( const IntNode * ) a.GetHead(); + IntNode * to; + + while( tmp ) { + to = ( IntNode * ) NewNode(); + to -> value = tmp -> value; + AddNode( to ); + tmp = ( const IntNode * ) tmp -> NextNode(); + } + if( head ) { + _null = 0; + } else { + _null = 1; + } + return *this; +} + + + + +IntNode::IntNode() { + value = S_INT_NULL; +} + +IntNode::IntNode( SDAI_Integer v ) { + value = v; +} + +IntNode::~IntNode() { +} + +SingleLinkNode * IntNode::NewNode() { + return new IntNode(); +} + +Severity IntNode::StrToVal( const char * s, ErrorDescriptor * err ) { + if( ReadInteger( value, s, err, ",)" ) ) { // returns true if value is assigned + _null = 0; + } else { + set_null(); + value = S_INT_NULL; + } + return err->severity(); +} + +Severity IntNode::StrToVal( istream & in, ErrorDescriptor * err ) { + if( ReadInteger( value, in, err, ",)" ) ) { // returns true if value is assigned + _null = 0; + } else { + set_null(); + value = S_INT_NULL; + } + return err->severity(); +} + +Severity IntNode::STEPread( const char * s, ErrorDescriptor * err ) { + if( ReadInteger( value, s, err, ",)" ) ) { // returns true if value is assigned + _null = 0; + } else { + set_null(); + value = S_INT_NULL; + } + return err->severity(); +} + +Severity IntNode::STEPread( istream & in, ErrorDescriptor * err ) { + if( ReadInteger( value, in, err, ",)" ) ) { // returns true if value is assigned + _null = 0; + } else { + set_null(); + value = S_INT_NULL; + } + return err->severity(); +} + +const char * IntNode::asStr( std::string & s ) { + STEPwrite( s ); + return const_cast( s.c_str() ); +} + +const char * IntNode::STEPwrite( std::string & s, const char * ) { + char tmp[BUFSIZ+1]; + if( value != S_INT_NULL ) { + sprintf( tmp, "%ld", value ); + s = tmp; + } else { + s.clear(); + } + return const_cast( s.c_str() ); +} + +void IntNode::STEPwrite( ostream & out ) { + std::string s; + out << STEPwrite( s ); +} diff --git a/src/clstepcore/STEPaggrReal.cc b/src/clstepcore/STEPaggrReal.cc new file mode 100644 index 000000000..96ae53406 --- /dev/null +++ b/src/clstepcore/STEPaggrReal.cc @@ -0,0 +1,111 @@ +#include "clstepcore/STEPaggrReal.h" + +/** \file STEPaggrReal.cc + * implementation of classes RealAggregate and RealNode + */ + +RealAggregate::RealAggregate() { +} + +RealAggregate::~RealAggregate() { +} + +SingleLinkNode * RealAggregate::NewNode() { + return new RealNode(); +} + +// COPY +STEPaggregate & RealAggregate::ShallowCopy( const STEPaggregate & a ) { + const RealNode * tmp = ( const RealNode * ) a.GetHead(); + RealNode * to; + + while( tmp ) { + to = ( RealNode * ) NewNode(); + to -> value = tmp -> value; + AddNode( to ); + tmp = ( const RealNode * ) tmp -> NextNode(); + } + if( head ) { + _null = 0; + } else { + _null = 1; + } + return *this; +} + + +RealNode::RealNode() { + value = S_REAL_NULL; +} + +RealNode::RealNode( SDAI_Real v) { + value = v; +} + +RealNode::~RealNode() { +} + +SingleLinkNode * RealNode::NewNode() { + return new RealNode(); +} + +Severity RealNode::StrToVal( const char * s, ErrorDescriptor * err ) { + if( ReadReal( value, s, err, ",)" ) ) { // returns true if value is assigned + _null = 0; + } else { + set_null(); + value = S_REAL_NULL; + } + return err->severity(); +} + +Severity RealNode::StrToVal( istream & in, ErrorDescriptor * err ) { + if( ReadReal( value, in, err, ",)" ) ) { // returns true if value is assigned + _null = 0; + } else { + set_null(); + value = S_REAL_NULL; + } + return err->severity(); +} + +Severity RealNode::STEPread( const char * s, ErrorDescriptor * err ) { + if( ReadReal( value, s, err, ",)" ) ) { // returns true if value is assigned + _null = 0; + } else { + set_null(); + value = S_REAL_NULL; + } + return err->severity(); +} + +Severity RealNode::STEPread( istream & in, ErrorDescriptor * err ) { + if( ReadReal( value, in, err, ",)" ) ) { // returns true if value is assigned + _null = 0; + } else { + set_null(); + value = S_REAL_NULL; + } + return err->severity(); +} + +const char * RealNode::asStr( std::string & s ) { + STEPwrite( s ); + return const_cast( s.c_str() ); +} + +const char * RealNode::STEPwrite( std::string & s, const char * ) { + //use memcmp to work around -Wfloat-equal warning + SDAI_Real z = S_REAL_NULL; + if( 0 != memcmp( &value, &z, sizeof z ) ) { + s = WriteReal( value ); + } else { + s.clear(); + } + return s.c_str(); +} + +void RealNode::STEPwrite( ostream & out ) { + std::string s; + out << STEPwrite( s ); +} diff --git a/src/clstepcore/STEPaggrSelect.cc b/src/clstepcore/STEPaggrSelect.cc new file mode 100644 index 000000000..73fe97176 --- /dev/null +++ b/src/clstepcore/STEPaggrSelect.cc @@ -0,0 +1,224 @@ +#include "clstepcore/STEPaggrSelect.h" +#include "clstepcore/typeDescriptor.h" +#include + +/** \file STEPaggrSelect.cc + * implement classes SelectAggregate, SelectNode + */ + +SelectAggregate::SelectAggregate() { +} + +SelectAggregate::~SelectAggregate() { +} + + +/// if exchangeFileFormat == 1 then delims are required. +Severity SelectAggregate::ReadValue( istream & in, ErrorDescriptor * err, + const TypeDescriptor * elem_type, InstMgrBase * insts, + int addFileId, int assignVal, + int exchangeFileFormat, const char * currSch ) { + ErrorDescriptor errdesc; + char errmsg[BUFSIZ+1]; + int value_cnt = 0; + std::string buf; + + if( assignVal ) { + Empty(); // read new values and discard existing ones + } + + char c; + + in >> ws; // skip white space + + c = in.peek(); // does not advance input + + if( in.eof() || ( c == '$' ) ) { + _null = 1; + err->GreaterSeverity( SEVERITY_INCOMPLETE ); + return SEVERITY_INCOMPLETE; + } + + if( c == '(' ) { + in.get( c ); + } else if( exchangeFileFormat ) { + // error did not find opening delim + // give up because you do not know where to stop reading. + err->GreaterSeverity( SEVERITY_INPUT_ERROR ); + return SEVERITY_INPUT_ERROR; + } else if( !in.good() ) { + // this should actually have been caught by skipping white space above + err->GreaterSeverity( SEVERITY_INCOMPLETE ); + return SEVERITY_INCOMPLETE; + } + + SelectNode * item = 0; + + in >> ws; + // take a peek to see if there are any elements before committing to an + // element + c = in.peek(); // does not advance input + if( c == ')' ) { + in.get( c ); + } + // if not assigning values only need one node. So only one node is created. + // It is used to read the values + else if( !assignVal ) { + item = ( SelectNode * ) NewNode(); + } + + while( in.good() && ( c != ')' ) ) { + value_cnt++; + if( assignVal ) { // create a new node each time through the loop + item = ( SelectNode * ) NewNode(); + } + + errdesc.ClearErrorMsg(); + + if( exchangeFileFormat ) { + item->STEPread( in, &errdesc, elem_type, insts, addFileId, currSch ); + } else { + item->StrToVal( in, &errdesc, elem_type, insts, addFileId, currSch ); + } + + elem_type->AttrTypeName( buf ); + // read up to the next delimiter and set errors if garbage is + // found before specified delims (i.e. comma and quote) + CheckRemainingInput( in, &errdesc, buf, ",)" ); + + if( errdesc.severity() < SEVERITY_INCOMPLETE ) { + sprintf( errmsg, " index: %d\n", value_cnt ); + errdesc.PrependToDetailMsg( errmsg ); + err->AppendFromErrorArg( &errdesc ); + } + if( assignVal ) { + AddNode( item ); + } + + in >> ws; // skip white space (although should already be skipped) + in.get( c ); // read delim + + // CheckRemainingInput should have left the input right at the delim + // so that it would be read in in.get() above. Since it did not find + // the delim this does not know how to find it either! + if( ( c != ',' ) && ( c != ')' ) ) { + // cannot recover so give up and let STEPattribute recover + err->GreaterSeverity( SEVERITY_INPUT_ERROR ); + return SEVERITY_INPUT_ERROR; + } + } + if( c == ')' ) { + _null = 0; + } else { // expectation for end paren delim has not been met + err->GreaterSeverity( SEVERITY_INPUT_ERROR ); + err->AppendToUserMsg( "Missing close paren for aggregate value" ); + return SEVERITY_INPUT_ERROR; + } + return err->severity(); +} + + +STEPaggregate & SelectAggregate::ShallowCopy( const STEPaggregate & a ) { + const SelectNode * tmp = ( const SelectNode * ) a.GetHead(); + while( tmp ) { + AddNode( new SelectNode( tmp -> node ) ); + + tmp = ( const SelectNode * ) tmp -> NextNode(); + } + if( head ) { + _null = 0; + } else { + _null = 1; + } + + return *this; +} + + +SingleLinkNode * SelectAggregate::NewNode() { + return new SelectNode(); +} + + +SelectNode::SelectNode( SDAI_Select * s ) : node( s ) { +} + +SelectNode::SelectNode() { +} + +SelectNode::~SelectNode() { + delete node; +} + +SingleLinkNode * SelectNode::NewNode() { + return new SelectNode(); +} + +Severity SelectNode::StrToVal( const char * s, ErrorDescriptor * err, + const TypeDescriptor * elem_type, + InstMgrBase * insts, int addFileId ) { + (void) elem_type; //unused + (void) addFileId; //unused + istringstream in( ( char * )s ); + if( err->severity( node->STEPread( in, err, insts ) ) != SEVERITY_NULL ) { + err->AppendToDetailMsg( node ->Error() ); + } + return err->severity(); +} + +Severity SelectNode::StrToVal( istream & in, ErrorDescriptor * err, + const TypeDescriptor * elem_type, + InstMgrBase * insts, int addFileId, const char * currSch ) { + return STEPread( in, err, elem_type, insts, addFileId, currSch ); +} + +Severity SelectNode::STEPread( const char * s, ErrorDescriptor * err, + const TypeDescriptor * elem_type, + InstMgrBase * insts, int addFileId ) { + istringstream in( ( char * )s ); + return STEPread( in, err, elem_type, insts, addFileId ); +} + +Severity SelectNode::STEPread( istream & in, ErrorDescriptor * err, + const TypeDescriptor * elem_type, + InstMgrBase * insts, int addFileId, const char * currSch ) { + (void) elem_type; //unused + if( !node ) { + cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" + << _POC_ "\n"; + cerr << "function: SelectNode::STEPread \n" << "\n"; + return SEVERITY_BUG; + } + err->severity( node->STEPread( in, err, insts, 0, addFileId, currSch ) ); + CheckRemainingInput( in, err, "select", ",)" ); + return err->severity(); +} + +const char * SelectNode::asStr( std::string & s ) { + s.clear(); + if( !node || ( node->is_null() ) ) { // nothing + return ""; + } else { // otherwise return entity id + node -> STEPwrite( s ); + return const_cast( s.c_str() ); + } +} + +const char * SelectNode::STEPwrite( std::string & s, const char * currSch ) { + s.clear(); + if( !node || ( node->is_null() ) ) { // nothing + s = "$"; + return "$"; + } + node -> STEPwrite( s, currSch ); + return const_cast( s.c_str() ); +} + +void SelectNode::STEPwrite( ostream & out ) { + if( !node || ( node->is_null() ) ) { // nothing + out << "$"; + } + std::string s; + out << asStr( s ); +} + diff --git a/src/clstepcore/STEPaggrString.cc b/src/clstepcore/STEPaggrString.cc new file mode 100644 index 000000000..1aaf752e1 --- /dev/null +++ b/src/clstepcore/STEPaggrString.cc @@ -0,0 +1,107 @@ +#include "clstepcore/STEPaggrString.h" +#include + +/** \file STEPaggrString.cc + * implement classes StringAggregate, StringNode + */ + + +StringAggregate::StringAggregate() { +} + +StringAggregate::~StringAggregate() { +} + +STEPaggregate & StringAggregate::ShallowCopy( const STEPaggregate & a ) { + Empty(); + + SingleLinkNode * next = a.GetHead(); + SingleLinkNode * copy; + + while( next ) { + copy = new StringNode( *( StringNode * )next ); + AddNode( copy ); + next = next->NextNode(); + } + if( head ) { + _null = 0; + } else { + _null = 1; + } + return *this; + +} + +SingleLinkNode * StringAggregate::NewNode() { + return new StringNode(); +} + + +StringNode::StringNode() { + value = ""; +} + +StringNode::~StringNode() { +} + +StringNode::StringNode( StringNode & sn ) { + value = sn.value.c_str(); +} + +StringNode::StringNode( const char * sStr ) { + // value is an SDAI_String (the memory is copied) + value = sStr; +} + +SingleLinkNode * StringNode::NewNode() { + return new StringNode(); +} + +/** + * non-whitespace chars following s are considered garbage and is an error. + * a valid value will still be assigned if it exists before the garbage. + */ +Severity StringNode::StrToVal( const char * s, ErrorDescriptor * err ) { + return STEPread( s, err ); +} + +/** + * this function assumes you will check for garbage following input + */ +Severity StringNode::StrToVal( istream & in, ErrorDescriptor * err ) { + return value.STEPread( in, err ); +} + +/** + * non-whitespace chars following s are considered garbage and is an error. + * a valid value will still be assigned if it exists before the garbage. + */ +Severity StringNode::STEPread( const char * s, ErrorDescriptor * err ) { + istringstream in( ( char * )s ); + + value.STEPread( in, err ); + CheckRemainingInput( in, err, "string", ",)" ); + return err->severity(); +} + +/** + * this function assumes you will check for garbage following input + */ +Severity StringNode::STEPread( istream & in, ErrorDescriptor * err ) { + return value.STEPread( in, err ); +} + +const char * StringNode::asStr( std::string & s ) { + value.asStr( s ); + return const_cast( s.c_str() ); +} + +const char * StringNode::STEPwrite( std::string & s, const char * ) { + value.STEPwrite( s ); + return const_cast( s.c_str() ); +} + +void StringNode::STEPwrite( ostream & out ) { + value.STEPwrite( out ); +} + diff --git a/src/clstepcore/STEPaggregate.cc b/src/clstepcore/STEPaggregate.cc index 08a4e3f49..4336aa6f6 100644 --- a/src/clstepcore/STEPaggregate.cc +++ b/src/clstepcore/STEPaggregate.cc @@ -12,29 +12,29 @@ #include -#include -#include -#include -#include -#include -#include "sc_memmgr.h" +#include "clstepcore/read_func.h" +#include "clstepcore/STEPaggregate.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/instmgr.h" +#include "clstepcore/ExpDict.h" -const int Real_Num_Precision = REAL_NUM_PRECISION; // from STEPattribute.h - -/****************************************************************************** -** \file STEPaggregate.cc Functions for manipulating aggregate attributes -** FIXME KNOWN BUGs: -** -- treatment of aggregates of reals or ints is inconsistent with -** other aggregates (there's no classes for these) -** -- no two- dimensional aggregates are implemented -**/ +/** + * \file STEPaggregate.cc Functions for manipulating aggregate attributes + * + * Most of the classes from here were moved into smaller files STEPaggr*.h,.cc 2/12/15 -- MP + * + * FIXME KNOWN BUGs: + * -- treatment of aggregates of reals or ints is inconsistent with + * other aggregates (there's no classes for these) + * -- no two- dimensional aggregates are implemented + */ STEPaggregate NilSTEPaggregate; STEPaggregate::STEPaggregate() { - _null = 1; + _null = true; } STEPaggregate::~STEPaggregate() { @@ -49,6 +49,7 @@ STEPaggregate::~STEPaggregate() { } STEPaggregate & STEPaggregate::ShallowCopy( const STEPaggregate & a ) { + (void) a; // unused cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" << _POC_ "\n"; cerr << "function: STEPaggregate::ShallowCopy \n" << "\n"; @@ -57,7 +58,7 @@ STEPaggregate & STEPaggregate::ShallowCopy( const STEPaggregate & a ) { /// do not require exchange file format Severity STEPaggregate::AggrValidLevel( const char * value, ErrorDescriptor * err, - const TypeDescriptor * elem_type, InstMgr * insts, + const TypeDescriptor * elem_type, InstMgrBase * insts, int optional, char * tokenList, int addFileId, int clearError ) { std::string buf; @@ -68,7 +69,8 @@ Severity STEPaggregate::AggrValidLevel( const char * value, ErrorDescriptor * er istringstream in( ( char * )value ); // sz defaults to length of s ReadValue( in, err, elem_type, insts, addFileId, 0, 0 ); - CheckRemainingInput( in, err, elem_type->AttrTypeName( buf ), tokenList ); + elem_type->AttrTypeName( buf ); + CheckRemainingInput( in, err, buf, tokenList ); if( optional && ( err->severity() == SEVERITY_INCOMPLETE ) ) { err->severity( SEVERITY_NULL ); } @@ -77,7 +79,7 @@ Severity STEPaggregate::AggrValidLevel( const char * value, ErrorDescriptor * er /// require exchange file format Severity STEPaggregate::AggrValidLevel( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, InstMgr * insts, + const TypeDescriptor * elem_type, InstMgrBase * insts, int optional, char * tokenList, int addFileId, int clearError ) { std::string buf; @@ -86,7 +88,8 @@ Severity STEPaggregate::AggrValidLevel( istream & in, ErrorDescriptor * err, } ReadValue( in, err, elem_type, insts, addFileId, 0, 1 ); - CheckRemainingInput( in, err, elem_type->AttrTypeName( buf ), tokenList ); + elem_type->AttrTypeName( buf ); + CheckRemainingInput( in, err, buf, tokenList ); if( optional && ( err->severity() == SEVERITY_INCOMPLETE ) ) { err->severity( SEVERITY_NULL ); } @@ -94,13 +97,15 @@ Severity STEPaggregate::AggrValidLevel( istream & in, ErrorDescriptor * err, } /// if exchangeFileFormat == 1 then paren delims are required. - Severity STEPaggregate::ReadValue( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, InstMgr * insts, + const TypeDescriptor * elem_type, InstMgrBase * insts, int addFileId, int assignVal, int exchangeFileFormat, const char * ) { + (void) insts; //not used in ReadValue() for this class + (void) addFileId; //not used in ReadValue() for this class + ErrorDescriptor errdesc; - char errmsg[BUFSIZ]; + char errmsg[BUFSIZ+1]; int value_cnt = 0; std::string buf; @@ -115,7 +120,7 @@ Severity STEPaggregate::ReadValue( istream & in, ErrorDescriptor * err, c = in.peek(); // does not advance input if( in.eof() || c == '$' ) { - _null = 1; + _null = true; err->GreaterSeverity( SEVERITY_INCOMPLETE ); return SEVERITY_INCOMPLETE; } @@ -165,7 +170,8 @@ Severity STEPaggregate::ReadValue( istream & in, ErrorDescriptor * err, // read up to the next delimiter and set errors if garbage is // found before specified delims (i.e. comma and quote) - CheckRemainingInput( in, &errdesc, elem_type->AttrTypeName( buf ), ",)" ); + elem_type->AttrTypeName( buf ); + CheckRemainingInput( in, &errdesc, buf, ",)" ); if( errdesc.severity() < SEVERITY_INCOMPLETE ) { sprintf( errmsg, " index: %d\n", value_cnt ); @@ -189,7 +195,7 @@ Severity STEPaggregate::ReadValue( istream & in, ErrorDescriptor * err, } } if( c == ')' ) { - _null = 0; + _null = false; } else { // expectation for end paren delim has not been met err->GreaterSeverity( SEVERITY_INPUT_ERROR ); err->AppendToUserMsg( "Missing close paren for aggregate value" ); @@ -199,7 +205,7 @@ Severity STEPaggregate::ReadValue( istream & in, ErrorDescriptor * err, } Severity STEPaggregate::StrToVal( const char * s, ErrorDescriptor * err, - const TypeDescriptor * elem_type, InstMgr * insts, + const TypeDescriptor * elem_type, InstMgrBase * insts, int addFileId ) { istringstream in( ( char * )s ); return ReadValue( in, err, elem_type, insts, addFileId, 1, 0 ); @@ -208,7 +214,7 @@ Severity STEPaggregate::StrToVal( const char * s, ErrorDescriptor * err, /////////////////////////////////////////////////////////////////////////////// Severity STEPaggregate::STEPread( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, InstMgr * insts, + const TypeDescriptor * elem_type, InstMgrBase * insts, int addFileId, const char * currSch ) { return ReadValue( in, err, elem_type, insts, addFileId, 1, 1, currSch ); } @@ -258,12 +264,12 @@ SingleLinkNode * STEPaggregate::NewNode() { void STEPaggregate::AddNode( SingleLinkNode * n ) { SingleLinkList::AppendNode( n ); - _null = 0; + _null = false; } void STEPaggregate::Empty() { SingleLinkList::Empty(); - _null = 1; + _null = true; } @@ -273,6 +279,7 @@ void STEPaggregate::Empty() { Severity STEPnode::StrToVal( const char * s, ErrorDescriptor * err ) { // defined in subtypes + (void) s; //unused cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" ; err->AppendToDetailMsg( " function: STEPnode::StrToVal() called instead of virtual function.\n" @@ -286,6 +293,7 @@ Severity STEPnode::StrToVal( const char * s, ErrorDescriptor * err ) { Severity STEPnode::StrToVal( istream & in, ErrorDescriptor * err ) { // defined in subtypes + (void) in; //unused cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" ; err->AppendToDetailMsg( " function: STEPnode::StrToVal() called instead of virtual function.\n" @@ -299,6 +307,7 @@ Severity STEPnode::StrToVal( istream & in, ErrorDescriptor * err ) { Severity STEPnode::STEPread( const char * s, ErrorDescriptor * err ) { // defined in subclasses + (void) s; //unused cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" ; cerr << "function: STEPnode::STEPread called instead of virtual function.\n" << _POC_ << "\n"; @@ -313,6 +322,7 @@ Severity STEPnode::STEPread( const char * s, ErrorDescriptor * err ) { } Severity STEPnode::STEPread( istream & in, ErrorDescriptor * err ) { + (void) in; //unused cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" ; cerr << "function: STEPnode::STEPread called instead of virtual function.\n" << _POC_ << "\n"; @@ -327,6 +337,7 @@ Severity STEPnode::STEPread( istream & in, ErrorDescriptor * err ) { const char * STEPnode::asStr( std::string & s ) { // defined in subclasses + (void) s; //unused cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" ; cerr << "function: STEPnode::asStr called instead of virtual function.\n" << _POC_ << "\n"; @@ -343,13 +354,15 @@ const char * STEPnode::asStr( std::string & s ) { * cause e.g. type X may be defined in schema A, and may be USEd in schema * B and renamed to Y (i.e., "USE from A (X as Y)"). Thus, if currSch = B, * Y will have to be written out rather than X. Actually, this concern - * only applies for SelectNode. To accomodate those cases, all the signa- + * only applies for SelectNode. To accommodate those cases, all the signa- * tures of STEPwrite(std::string) contain currSch. (As an additional note, * 2D aggregates should make use of currSch in case they are 2D aggrs of * selects. But since currently (3/27/97) the SCL handles 2D+ aggrs using * SCLundefined's, this is not implemented.) */ const char * STEPnode::STEPwrite( std::string & s, const char * currSch ) { + (void) s; //unused + (void) currSch; //unused cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" ; cerr << "function: STEPnode::STEPwrite called instead of virtual function.\n" << _POC_ << "\n"; @@ -357,1139 +370,9 @@ const char * STEPnode::STEPwrite( std::string & s, const char * currSch ) { } void STEPnode::STEPwrite( ostream & out ) { + (void) out; //unused cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" ; cerr << "function: STEPnode::STEPwrite called instead of virtual function.\n" << _POC_ << "\n"; } -/////////////////////////////////////////////////////////////////////////////// -// GenericAggregate -/////////////////////////////////////////////////////////////////////////////// - -GenericAggregate::GenericAggregate() { -} - -GenericAggregate::~GenericAggregate() { -} - -SingleLinkNode * GenericAggregate::NewNode() { - return new GenericAggrNode(); -} - -STEPaggregate & GenericAggregate::ShallowCopy( const STEPaggregate & a ) { - Empty(); - - SingleLinkNode * next = a.GetHead(); - SingleLinkNode * copy; - - while( next ) { - copy = new GenericAggrNode( *( GenericAggrNode * )next ); - AddNode( copy ); - next = next->NextNode(); - } - if( head ) { - _null = 0; - } else { - _null = 1; - } - return *this; - -} - -/////////////////////////////////////////////////////////////////////////////// -// GenericAggrNode -/////////////////////////////////////////////////////////////////////////////// - -GenericAggrNode::GenericAggrNode( const char * str ) { - value = str; -} - -GenericAggrNode::GenericAggrNode( GenericAggrNode & gan ) { - value = gan.value; -} - -GenericAggrNode::GenericAggrNode() { -} - -GenericAggrNode::~GenericAggrNode() { -} - -SingleLinkNode * GenericAggrNode::NewNode() { - return new GenericAggrNode(); -} - -Severity GenericAggrNode::StrToVal( const char * s, ErrorDescriptor * err ) { - return value.STEPread( s, err ); -} - -//TODO -Severity GenericAggrNode::StrToVal( istream & in, ErrorDescriptor * err ) { - return value.STEPread( in, err ); -} - -Severity GenericAggrNode::STEPread( const char * s, ErrorDescriptor * err ) { - istringstream in( ( char * ) s ); - return value.STEPread( in, err ); -} - -Severity GenericAggrNode::STEPread( istream & in, ErrorDescriptor * err ) { - return value.STEPread( in, err ); -} - -const char * GenericAggrNode::asStr( std::string & s ) { - s.clear(); - value.asStr( s ); - return const_cast( s.c_str() ); -} - -const char * GenericAggrNode::STEPwrite( std::string & s, const char * currSch ) { - return value.STEPwrite( s ); -} - -void GenericAggrNode::STEPwrite( ostream & out ) { - value.STEPwrite( out ); -} - -/////////////////////////////////////////////////////////////////////////////// -// EntityAggregate -/////////////////////////////////////////////////////////////////////////////// - -EntityAggregate::EntityAggregate() { -} - -EntityAggregate::~EntityAggregate() { -} - - -/// if exchangeFileFormat == 1 then delims are required. -Severity EntityAggregate::ReadValue( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, InstMgr * insts, - int addFileId, int assignVal, - int exchangeFileFormat, const char * ) { - ErrorDescriptor errdesc; - char errmsg[BUFSIZ]; - int value_cnt = 0; - std::string buf; - - if( assignVal ) { - Empty(); // read new values and discard existing ones - } - - char c; - int validDelims = 1; - - in >> ws; // skip white space - - c = in.peek(); // does not advance input - - if( in.eof() || ( c == '$' ) ) { - _null = 1; - err->GreaterSeverity( SEVERITY_INCOMPLETE ); - return SEVERITY_INCOMPLETE; - } - - if( c == '(' ) { - in.get( c ); - validDelims = 0; // signal expectation for end delim - } else if( exchangeFileFormat ) { - // error did not find opening delim - // give up because you do not know where to stop reading. - err->GreaterSeverity( SEVERITY_INPUT_ERROR ); - return SEVERITY_INPUT_ERROR; - } else if( !in.good() ) { - // this should actually have been caught by skipping white space above - err->GreaterSeverity( SEVERITY_INCOMPLETE ); - return SEVERITY_INCOMPLETE; - } - - EntityNode * item = 0; - - in >> ws; - // take a peek to see if there are any elements before committing to an - // element - c = in.peek(); // does not advance input - if( c == ')' ) { - in.get( c ); - } - // if not assigning values only need one node. So only one node is created. - // It is used to read the values - else if( !assignVal ) { - item = new EntityNode(); - } - - while( in.good() && ( c != ')' ) ) { - value_cnt++; - if( assignVal ) { // create a new node each time through the loop - item = new EntityNode(); - } - - errdesc.ClearErrorMsg(); - - if( exchangeFileFormat ) { - item->STEPread( in, &errdesc, elem_type, insts, addFileId ); - } else { - item->StrToVal( in, &errdesc, elem_type, insts, addFileId ); - } - - // read up to the next delimiter and set errors if garbage is - // found before specified delims (i.e. comma and quote) - CheckRemainingInput( in, &errdesc, elem_type->AttrTypeName( buf ), ",)" ); - - if( errdesc.severity() < SEVERITY_INCOMPLETE ) { - sprintf( errmsg, " index: %d\n", value_cnt ); - errdesc.PrependToDetailMsg( errmsg ); - err->AppendFromErrorArg( &errdesc ); - } - if( assignVal ) { - AddNode( item ); - } - - in >> ws; // skip white space (although should already be skipped) - in.get( c ); // read delim - - // CheckRemainingInput should have left the input right at the delim - // so that it would be read in in.get() above. Since it did not find - // the delim this does not know how to find it either! - if( ( c != ',' ) && ( c != ')' ) ) { - // cannot recover so give up and let STEPattribute recover - err->GreaterSeverity( SEVERITY_INPUT_ERROR ); - return SEVERITY_INPUT_ERROR; - } - } - if( c == ')' ) { - _null = 0; - } else { // expectation for end paren delim has not been met - err->GreaterSeverity( SEVERITY_INPUT_ERROR ); - err->AppendToUserMsg( "Missing close paren for aggregate value" ); - return SEVERITY_INPUT_ERROR; - } - return err->severity(); -} - - -STEPaggregate & EntityAggregate::ShallowCopy( const STEPaggregate & a ) { - const EntityNode * tmp = ( const EntityNode * ) a.GetHead(); - while( tmp ) { - AddNode( new EntityNode( tmp -> node ) ); - tmp = ( const EntityNode * ) tmp -> NextNode(); - } - if( head ) { - _null = 0; - } else { - _null = 1; - } - - return *this; -} - - -SingleLinkNode * EntityAggregate::NewNode() { - return new EntityNode(); -} - -/////////////////////////////////////////////////////////////////////////////// -// EntityNode -/////////////////////////////////////////////////////////////////////////////// - -EntityNode::EntityNode() { -} - -EntityNode::~EntityNode() { -} - -EntityNode::EntityNode( SDAI_Application_instance * e ) : node( e ) { -} - -SingleLinkNode * EntityNode::NewNode() { - return new EntityNode(); -} -/////////////////////////////////////////////////////////////////////////////// - -Severity EntityNode::StrToVal( const char * s, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId ) { - SDAI_Application_instance * se = ReadEntityRef( s, err, ",)", insts, - addFileId ); - if( se != S_ENTITY_NULL ) { - ErrorDescriptor error; - if( EntityValidLevel( se, elem_type, &error ) == SEVERITY_NULL ) { - node = se; - } else { - node = S_ENTITY_NULL; - err->AppendToDetailMsg( error.DetailMsg() ); - err->AppendToUserMsg( error.UserMsg() ); - err->GreaterSeverity( error.severity() ); - } - } else { - node = S_ENTITY_NULL; - } - return err->severity(); -} - -Severity EntityNode::StrToVal( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId ) { - return STEPread( in, err, elem_type, insts, addFileId ); -} - -Severity EntityNode::STEPread( const char * s, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId ) { - istringstream in( ( char * )s ); - return STEPread( in, err, elem_type, insts, addFileId ); -} - -Severity EntityNode::STEPread( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId ) { - SDAI_Application_instance * se = ReadEntityRef( in, err, ",)", insts, - addFileId ); - if( se != S_ENTITY_NULL ) { - ErrorDescriptor error; - if( EntityValidLevel( se, elem_type, &error ) == SEVERITY_NULL ) { - node = se; - } else { - node = S_ENTITY_NULL; - err->AppendToDetailMsg( error.DetailMsg() ); - err->AppendToUserMsg( error.UserMsg() ); - err->GreaterSeverity( error.severity() ); - } - } else { - node = S_ENTITY_NULL; - } - return err->severity(); -} - -const char * EntityNode::asStr( std::string & s ) { - s.clear(); - if( !node || ( node == S_ENTITY_NULL ) ) { // nothing - return ""; - } else { // otherwise return entity id - char tmp [64]; - sprintf( tmp, "#%d", node->STEPfile_id ); - s = tmp; - } - return const_cast( s.c_str() ); -} - -const char * EntityNode::STEPwrite( std::string & s, const char * ) { - if( !node || ( node == S_ENTITY_NULL ) ) { // nothing - s = "$"; - return const_cast( s.c_str() ); - } - asStr( s ); - return const_cast( s.c_str() ); -} - -void EntityNode::STEPwrite( ostream & out ) { - if( !node || ( node == S_ENTITY_NULL ) ) { // nothing - out << "$"; - } - std::string s; - out << asStr( s ); -} - - -/////////////////////////////////////////////////////////////////////////////// -// SelectAggregate -/////////////////////////////////////////////////////////////////////////////// - -SelectAggregate::SelectAggregate() { -} - -SelectAggregate::~SelectAggregate() { -} - - -/// if exchangeFileFormat == 1 then delims are required. -Severity SelectAggregate::ReadValue( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, InstMgr * insts, - int addFileId, int assignVal, - int exchangeFileFormat, const char * currSch ) { - ErrorDescriptor errdesc; - char errmsg[BUFSIZ]; - int value_cnt = 0; - std::string buf; - - if( assignVal ) { - Empty(); // read new values and discard existing ones - } - - char c; - int validDelims = 1; - - in >> ws; // skip white space - - c = in.peek(); // does not advance input - - if( in.eof() || ( c == '$' ) ) { - _null = 1; - err->GreaterSeverity( SEVERITY_INCOMPLETE ); - return SEVERITY_INCOMPLETE; - } - - if( c == '(' ) { - in.get( c ); - validDelims = 0; // signal expectation for end delim - } else if( exchangeFileFormat ) { - // error did not find opening delim - // give up because you do not know where to stop reading. - err->GreaterSeverity( SEVERITY_INPUT_ERROR ); - return SEVERITY_INPUT_ERROR; - } else if( !in.good() ) { - // this should actually have been caught by skipping white space above - err->GreaterSeverity( SEVERITY_INCOMPLETE ); - return SEVERITY_INCOMPLETE; - } - - SelectNode * item = 0; - - in >> ws; - // take a peek to see if there are any elements before committing to an - // element - c = in.peek(); // does not advance input - if( c == ')' ) { - in.get( c ); - } - // if not assigning values only need one node. So only one node is created. - // It is used to read the values - else if( !assignVal ) { - item = ( SelectNode * ) NewNode(); - } - - while( in.good() && ( c != ')' ) ) { - value_cnt++; - if( assignVal ) { // create a new node each time through the loop - item = ( SelectNode * ) NewNode(); - } - - errdesc.ClearErrorMsg(); - - if( exchangeFileFormat ) { - item->STEPread( in, &errdesc, elem_type, insts, addFileId, currSch ); - } else { - item->StrToVal( in, &errdesc, elem_type, insts, addFileId, currSch ); - } - - // read up to the next delimiter and set errors if garbage is - // found before specified delims (i.e. comma and quote) - CheckRemainingInput( in, &errdesc, elem_type->AttrTypeName( buf ), ",)" ); - - if( errdesc.severity() < SEVERITY_INCOMPLETE ) { - sprintf( errmsg, " index: %d\n", value_cnt ); - errdesc.PrependToDetailMsg( errmsg ); - err->AppendFromErrorArg( &errdesc ); - } - if( assignVal ) { - AddNode( item ); - } - - in >> ws; // skip white space (although should already be skipped) - in.get( c ); // read delim - - // CheckRemainingInput should have left the input right at the delim - // so that it would be read in in.get() above. Since it did not find - // the delim this does not know how to find it either! - if( ( c != ',' ) && ( c != ')' ) ) { - // cannot recover so give up and let STEPattribute recover - err->GreaterSeverity( SEVERITY_INPUT_ERROR ); - return SEVERITY_INPUT_ERROR; - } - } - if( c == ')' ) { - _null = 0; - } else { // expectation for end paren delim has not been met - err->GreaterSeverity( SEVERITY_INPUT_ERROR ); - err->AppendToUserMsg( "Missing close paren for aggregate value" ); - return SEVERITY_INPUT_ERROR; - } - return err->severity(); -} - - -STEPaggregate & SelectAggregate::ShallowCopy( const STEPaggregate & a ) { - const SelectNode * tmp = ( const SelectNode * ) a.GetHead(); - while( tmp ) { - AddNode( new SelectNode( tmp -> node ) ); - - tmp = ( const SelectNode * ) tmp -> NextNode(); - } - if( head ) { - _null = 0; - } else { - _null = 1; - } - - return *this; -} - - -SingleLinkNode * SelectAggregate::NewNode() { - return new SelectNode(); -} - -/////////////////////////////////////////////////////////////////////////////// -// SelectNode -/////////////////////////////////////////////////////////////////////////////// - -SelectNode::SelectNode( SDAI_Select * s ) : node( s ) { -} - -SelectNode::SelectNode() { -} - -SelectNode::~SelectNode() { - delete node; -} - -SingleLinkNode * SelectNode::NewNode() { - return new SelectNode(); -} -/////////////////////////////////////////////////////////////////////////////// - -Severity SelectNode::StrToVal( const char * s, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId ) { - istringstream in( ( char * )s ); - if( err->severity( node->STEPread( in, err, insts ) ) != SEVERITY_NULL ) { - err->AppendToDetailMsg( node ->Error() ); - } - return err->severity(); -} - -Severity SelectNode::StrToVal( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId, const char * currSch ) { - return STEPread( in, err, elem_type, insts, addFileId, currSch ); -} - -Severity SelectNode::STEPread( const char * s, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId ) { - istringstream in( ( char * )s ); - return STEPread( in, err, elem_type, insts, addFileId ); -} - -Severity SelectNode::STEPread( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId, const char * currSch ) { - if( !node ) { - cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" - << _POC_ "\n"; - cerr << "function: SelectNode::STEPread \n" << "\n"; - return SEVERITY_BUG; - } - err->severity( node->STEPread( in, err, insts, 0, addFileId, currSch ) ); - CheckRemainingInput( in, err, "select", ",)" ); - return err->severity(); -} - -const char * SelectNode::asStr( std::string & s ) { - s.clear(); - if( !node || ( node->is_null() ) ) { // nothing - return ""; - } else { // otherwise return entity id - node -> STEPwrite( s ); - return const_cast( s.c_str() ); - } -} - -const char * SelectNode::STEPwrite( std::string & s, const char * currSch ) { - s.clear(); - if( !node || ( node->is_null() ) ) { // nothing - s = "$"; - return "$"; - } - node -> STEPwrite( s, currSch ); - return const_cast( s.c_str() ); -} - -void SelectNode::STEPwrite( ostream & out ) { - if( !node || ( node->is_null() ) ) { // nothing - out << "$"; - } - std::string s; - out << asStr( s ); -} - -/////////////////////////////////////////////////////////////////////////////// -// StringAggregate -/////////////////////////////////////////////////////////////////////////////// - -StringAggregate::StringAggregate() { -} - -StringAggregate::~StringAggregate() { -} - -STEPaggregate & StringAggregate::ShallowCopy( const STEPaggregate & a ) { - Empty(); - - SingleLinkNode * next = a.GetHead(); - SingleLinkNode * copy; - - while( next ) { - copy = new StringNode( *( StringNode * )next ); - AddNode( copy ); - next = next->NextNode(); - } - if( head ) { - _null = 0; - } else { - _null = 1; - } - return *this; - -} - -SingleLinkNode * StringAggregate::NewNode() { - return new StringNode(); -} - -/////////////////////////////////////////////////////////////////////////////// -// StringNode -/////////////////////////////////////////////////////////////////////////////// - -StringNode::StringNode() { - value = ""; -} - -StringNode::~StringNode() { -} - -StringNode::StringNode( StringNode & sn ) { - value = sn.value.c_str(); -} - -StringNode::StringNode( const char * sStr ) { - // value is an SDAI_String (the memory is copied) - value = sStr; -} - -SingleLinkNode * StringNode::NewNode() { - return new StringNode(); -} - -/** - * non-whitespace chars following s are considered garbage and is an error. - * a valid value will still be assigned if it exists before the garbage. - */ -Severity StringNode::StrToVal( const char * s, ErrorDescriptor * err ) { - return STEPread( s, err ); -} - -/** - * this function assumes you will check for garbage following input - */ -Severity StringNode::StrToVal( istream & in, ErrorDescriptor * err ) { - return value.STEPread( in, err ); -} - -/** - * non-whitespace chars following s are considered garbage and is an error. - * a valid value will still be assigned if it exists before the garbage. - */ -Severity StringNode::STEPread( const char * s, ErrorDescriptor * err ) { - istringstream in( ( char * )s ); - - value.STEPread( in, err ); - CheckRemainingInput( in, err, "string", ",)" ); - return err->severity(); -} - -/** - * this function assumes you will check for garbage following input - */ -Severity StringNode::STEPread( istream & in, ErrorDescriptor * err ) { - return value.STEPread( in, err ); -} - -const char * StringNode::asStr( std::string & s ) { - value.asStr( s ); - return const_cast( s.c_str() ); -} - -const char * StringNode::STEPwrite( std::string & s, const char * ) { - value.STEPwrite( s ); - return const_cast( s.c_str() ); -} - -void StringNode::STEPwrite( ostream & out ) { - value.STEPwrite( out ); -} -/////////////////////////////////////////////////////////////////////////////// -// BinaryAggregate -/////////////////////////////////////////////////////////////////////////////// - -BinaryAggregate::BinaryAggregate() { -} - -BinaryAggregate::~BinaryAggregate() { -} - -STEPaggregate & BinaryAggregate::ShallowCopy( const STEPaggregate & a ) { - Empty(); - - SingleLinkNode * next = a.GetHead(); - SingleLinkNode * copy; - - while( next ) { - copy = new BinaryNode( *( BinaryNode * )next ); - AddNode( copy ); - next = next->NextNode(); - } - if( head ) { - _null = 0; - } else { - _null = 1; - } - return *this; - -} - -SingleLinkNode * BinaryAggregate::NewNode() { - return new BinaryNode(); -} - -/////////////////////////////////////////////////////////////////////////////// -// BinaryNode -/////////////////////////////////////////////////////////////////////////////// - -BinaryNode::BinaryNode() { - value = 0; -} - -BinaryNode::~BinaryNode() { -} - -BinaryNode::BinaryNode( BinaryNode & bn ) { - value = bn.value.c_str(); -} - -BinaryNode::BinaryNode( const char * sStr ) { - // value is an SDAI_Binary (the memory is copied) - value = sStr; -} - -SingleLinkNode * -BinaryNode::NewNode() { - return new BinaryNode(); -} - -/** - * non-whitespace chars following s are considered garbage and is an error. - * a valid value will still be assigned if it exists before the garbage. - */ -Severity BinaryNode::StrToVal( const char * s, ErrorDescriptor * err ) { - return STEPread( s, err ); -} - -/** - * this function assumes you will check for garbage following input - */ -Severity BinaryNode::StrToVal( istream & in, ErrorDescriptor * err ) { - return value.STEPread( in, err ); -} - -/** - * non-whitespace chars following s are considered garbage and is an error. - * a valid value will still be assigned if it exists before the garbage. - */ -Severity BinaryNode::STEPread( const char * s, ErrorDescriptor * err ) { - istringstream in( ( char * )s ); - - value.STEPread( in, err ); - CheckRemainingInput( in, err, "binary", ",)" ); - return err->severity(); -} - -/** - * this function assumes you will check for garbage following input - */ -Severity BinaryNode::STEPread( istream & in, ErrorDescriptor * err ) { - return value.STEPread( in, err ); -} - -const char * BinaryNode::asStr( std::string & s ) { - s = value.c_str(); - return const_cast( s.c_str() ); -} - -const char * BinaryNode::STEPwrite( std::string & s, const char * ) { - value.STEPwrite( s ); - return const_cast( s.c_str() ); -} - -void BinaryNode::STEPwrite( ostream & out ) { - value.STEPwrite( out ); -} - -/////////////////////////////////////////////////////////////////////////////// -// EnumAggregate -/////////////////////////////////////////////////////////////////////////////// - -/// COPY -STEPaggregate & EnumAggregate::ShallowCopy( const STEPaggregate & a ) { - const EnumNode * tmp = ( const EnumNode * ) a.GetHead(); - EnumNode * to; - - while( tmp ) { - to = ( EnumNode * ) NewNode(); - to -> node -> put( tmp -> node ->asInt() ); - AddNode( to ); - tmp = ( const EnumNode * ) tmp -> NextNode(); - } - if( head ) { - _null = 0; - } else { - _null = 1; - } - - return *this; -} - -EnumAggregate::EnumAggregate() { - -} - -EnumAggregate::~EnumAggregate() { - -} - -/****************************************************************** - ** \returns a new EnumNode which is of the correct derived type - ** \details creates a node to put in an list of enumerated values - ** function is virtual so that the right node will be - ** created - ** Status: ok 2/91 - ******************************************************************/ -SingleLinkNode * EnumAggregate::NewNode() { - // defined in subclass - cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" ; - cerr << "function: EnumAggregate::NewNode () called instead of virtual function. \n" - << _POC_ << "\n"; - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// -// EnumNode -/////////////////////////////////////////////////////////////////////////////// - -EnumNode::EnumNode( SDAI_Enum * e ) : node( e ) { -} - -EnumNode::EnumNode() { -} - -EnumNode::~EnumNode() { -} - -/// defined in subclass -SingleLinkNode * EnumNode::NewNode() { - cerr << "Internal error: " << __FILE__ << ": " << __LINE__ << "\n" ; - cerr << "function: EnumNode::NewNode () called instead of virtual function. \n" - << _POC_ << "\n"; - return 0; -} - -/** - * non-whitespace chars following s are considered garbage and is an error. - * a valid value will still be assigned if it exists before the garbage. - */ -Severity EnumNode::StrToVal( const char * s, ErrorDescriptor * err ) { - return STEPread( s, err ); -} -/** - * this function assumes you will check for garbage following input - */ -Severity EnumNode::StrToVal( istream & in, ErrorDescriptor * err ) { - return node->STEPread( in, err ); -} - -/** - * non-whitespace chars following s are considered garbage and is an error. - * a valid value will still be assigned if it exists before the garbage. - */ -Severity EnumNode::STEPread( const char * s, ErrorDescriptor * err ) { - istringstream in( ( char * )s ); // sz defaults to length of s - - int nullable = 0; - node->STEPread( in, err, nullable ); - CheckRemainingInput( in, err, "enumeration", ",)" ); - return err->severity(); -} - -/** - * this function assumes you will check for garbage following input - */ -Severity EnumNode::STEPread( istream & in, ErrorDescriptor * err ) { - int nullable = 0; - node->STEPread( in, err, nullable ); - return err->severity(); -} - -const char * EnumNode::asStr( std::string & s ) { - node -> asStr( s ); - return const_cast( s.c_str() ); -} - -const char * EnumNode::STEPwrite( std::string & s, const char * ) { - node->STEPwrite( s ); - return const_cast( s.c_str() ); -} - -void EnumNode::STEPwrite( ostream & out ) { - node->STEPwrite( out ); -} - -/////////////////////////////////////////////////////////////////////////////// -// LOGICALS -/////////////////////////////////////////////////////////////////////////////// - -LOGICALS::LOGICALS() { -} - -LOGICALS::~LOGICALS() { -} - -SingleLinkNode * LOGICALS::NewNode() { - return new EnumNode( new SDAI_LOGICAL ); -} - -LOGICALS * create_LOGICALS() { - return new LOGICALS; -} - -/////////////////////////////////////////////////////////////////////////////// -// BOOLEANS -/////////////////////////////////////////////////////////////////////////////// - -BOOLEANS::BOOLEANS() { -} - -BOOLEANS::~BOOLEANS() { -} - -SingleLinkNode * BOOLEANS::NewNode() { - return new EnumNode( new SDAI_BOOLEAN ); -} - -BOOLEANS * create_BOOLEANS() { - return new BOOLEANS ; -} - -/////////////////////////////////////////////////////////////////////////////// -// RealAggregate -/////////////////////////////////////////////////////////////////////////////// - -RealAggregate::RealAggregate() { -} - -RealAggregate::~RealAggregate() { -} - -SingleLinkNode * RealAggregate::NewNode() { - return new RealNode(); -} - -// COPY -STEPaggregate & RealAggregate::ShallowCopy( const STEPaggregate & a ) { - const RealNode * tmp = ( const RealNode * ) a.GetHead(); - RealNode * to; - - while( tmp ) { - to = ( RealNode * ) NewNode(); - to -> value = tmp -> value; - AddNode( to ); - tmp = ( const RealNode * ) tmp -> NextNode(); - } - if( head ) { - _null = 0; - } else { - _null = 1; - } - return *this; -} - -/////////////////////////////////////////////////////////////////////////////// -// IntAggregate -/////////////////////////////////////////////////////////////////////////////// - -IntAggregate::IntAggregate() { -} - -IntAggregate::~IntAggregate() { -} - -SingleLinkNode * IntAggregate::NewNode() { - return new IntNode(); -} - -/// COPY -STEPaggregate & IntAggregate::ShallowCopy( const STEPaggregate & a ) { - const IntNode * tmp = ( const IntNode * ) a.GetHead(); - IntNode * to; - - while( tmp ) { - to = ( IntNode * ) NewNode(); - to -> value = tmp -> value; - AddNode( to ); - tmp = ( const IntNode * ) tmp -> NextNode(); - } - if( head ) { - _null = 0; - } else { - _null = 1; - } - return *this; -} - -/////////////////////////////////////////////////////////////////////////////// -// RealNode -/////////////////////////////////////////////////////////////////////////////// - -RealNode::RealNode() { - value = S_REAL_NULL; -} - -RealNode::~RealNode() { -} - -SingleLinkNode * RealNode::NewNode() { - return new RealNode(); -} - -Severity RealNode::StrToVal( const char * s, ErrorDescriptor * err ) { - if( ReadReal( value, s, err, ",)" ) ) { // returns true if value is assigned - _null = 0; - } else { - set_null(); - value = S_REAL_NULL; - } - return err->severity(); -} - -Severity RealNode::StrToVal( istream & in, ErrorDescriptor * err ) { - if( ReadReal( value, in, err, ",)" ) ) { // returns true if value is assigned - _null = 0; - } else { - set_null(); - value = S_REAL_NULL; - } - return err->severity(); -} - -Severity RealNode::STEPread( const char * s, ErrorDescriptor * err ) { - if( ReadReal( value, s, err, ",)" ) ) { // returns true if value is assigned - _null = 0; - } else { - set_null(); - value = S_REAL_NULL; - } - return err->severity(); -} - -Severity RealNode::STEPread( istream & in, ErrorDescriptor * err ) { - if( ReadReal( value, in, err, ",)" ) ) { // returns true if value is assigned - _null = 0; - } else { - set_null(); - value = S_REAL_NULL; - } - return err->severity(); -} - -const char * RealNode::asStr( std::string & s ) { - STEPwrite( s ); - return const_cast( s.c_str() ); -} - -const char * RealNode::STEPwrite( std::string & s, const char * ) { - if( value != S_REAL_NULL ) { - s = WriteReal( value ); - } else { - s.clear(); - } - return s.c_str(); -} - -void RealNode::STEPwrite( ostream & out ) { - std::string s; - out << STEPwrite( s ); -} - -/////////////////////////////////////////////////////////////////////////////// -// IntNode -/////////////////////////////////////////////////////////////////////////////// - -IntNode::IntNode() { - value = S_INT_NULL; -} - -IntNode::~IntNode() { -} - -SingleLinkNode * IntNode::NewNode() { - return new IntNode(); -} - -Severity IntNode::StrToVal( const char * s, ErrorDescriptor * err ) { - if( ReadInteger( value, s, err, ",)" ) ) { // returns true if value is assigned - _null = 0; - } else { - set_null(); - value = S_INT_NULL; - } - return err->severity(); -} - -Severity IntNode::StrToVal( istream & in, ErrorDescriptor * err ) { - if( ReadInteger( value, in, err, ",)" ) ) { // returns true if value is assigned - _null = 0; - } else { - set_null(); - value = S_INT_NULL; - } - return err->severity(); -} - -Severity IntNode::STEPread( const char * s, ErrorDescriptor * err ) { - if( ReadInteger( value, s, err, ",)" ) ) { // returns true if value is assigned - _null = 0; - } else { - set_null(); - value = S_INT_NULL; - } - return err->severity(); -} - -Severity IntNode::STEPread( istream & in, ErrorDescriptor * err ) { - if( ReadInteger( value, in, err, ",)" ) ) { // returns true if value is assigned - _null = 0; - } else { - set_null(); - value = S_INT_NULL; - } - return err->severity(); -} - -const char * IntNode::asStr( std::string & s ) { - STEPwrite( s ); - return const_cast( s.c_str() ); -} - -const char * IntNode::STEPwrite( std::string & s, const char * ) { - char tmp[BUFSIZ]; - if( value != S_INT_NULL ) { - sprintf( tmp, "%ld", value ); - s = tmp; - } else { - s.clear(); - } - return const_cast( s.c_str() ); -} - -void IntNode::STEPwrite( ostream & out ) { - std::string s; - out << STEPwrite( s ); -} diff --git a/src/clstepcore/STEPaggregate.h b/src/clstepcore/STEPaggregate.h deleted file mode 100644 index 072a725e9..000000000 --- a/src/clstepcore/STEPaggregate.h +++ /dev/null @@ -1,579 +0,0 @@ -#ifndef STEPAGGREGATE_H -#define STEPAGGREGATE_H - -/* -* NIST STEP Core Class Library -* clstepcore/STEPaggregate.h -* April 1997 -* K. C. Morris -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -class InstMgr; -class STEPaggregate; -class TypeDescriptor; - -#include -#include -#include -#include -#include -#include -#include - -#define AGGR_NULL &NilSTEPaggregate -extern STEPaggregate NilSTEPaggregate; - -class SingleLinkNode; - - -typedef STEPaggregate * STEPaggregateH; -typedef STEPaggregate * STEPaggregate_ptr; -typedef STEPaggregate_ptr STEPaggregate_var; - -class SC_CORE_EXPORT STEPaggregate : public SingleLinkList { - protected: - int _null; - - protected: - - virtual Severity ReadValue( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId = 0, - int assignVal = 1, int ExchangeFileFormat = 1, - const char * currSch = 0 ); - public: - - int is_null() { - return _null; - } - - virtual Severity AggrValidLevel( const char * value, ErrorDescriptor * err, - const TypeDescriptor * elem_type, InstMgr * insts, - int optional, char * tokenList, int addFileId = 0, - int clearError = 0 ); - - virtual Severity AggrValidLevel( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, InstMgr * insts, - int optional, char * tokenList, int addFileId = 0, - int clearError = 0 ); - -// INPUT - virtual Severity StrToVal( const char * s, ErrorDescriptor * err = 0, - const TypeDescriptor * elem_type = 0, - InstMgr * insts = 0, int addFileId = 0 ); - virtual Severity STEPread( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type = 0, - InstMgr * insts = 0, int addFileId = 0, - const char * currSch = 0 ); -// OUTPUT - virtual const char * asStr( std::string & s ) const; - virtual void STEPwrite( ostream & out = cout, const char * = 0 ) const; - - virtual SingleLinkNode * NewNode(); - void AddNode( SingleLinkNode * ); - void Empty(); - - STEPaggregate(); - virtual ~STEPaggregate(); - -// COPY - defined in subtypes - virtual STEPaggregate & ShallowCopy( const STEPaggregate & ); -}; - -/****************************************************************//** - ** \class GenericAggregate - ** This class supports LIST OF: - ** SELECT_TYPE, BINARY_TYPE, GENERIC_TYPE, ENUM_TYPE, UNKNOWN_TYPE type - ******************************************************************/ -class SC_CORE_EXPORT GenericAggregate : public STEPaggregate { - public: - virtual SingleLinkNode * NewNode(); - virtual STEPaggregate & ShallowCopy( const STEPaggregate & ); - - GenericAggregate(); - virtual ~GenericAggregate(); -}; -typedef GenericAggregate * GenericAggregateH; -typedef GenericAggregate * GenericAggregate_ptr; -typedef GenericAggregate_ptr GenericAggregate_var; - -/****************************************************************************** - ** - *****************************************************************************/ - -class SC_CORE_EXPORT EntityAggregate : public STEPaggregate { - public: - virtual Severity ReadValue( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId = 0, - int assignVal = 1, int ExchangeFileFormat = 1, - const char * currSch = 0 ); - - virtual SingleLinkNode * NewNode(); - virtual STEPaggregate & ShallowCopy( const STEPaggregate & ); - - EntityAggregate(); - virtual ~EntityAggregate(); -}; -typedef EntityAggregate * EntityAggregateH; -typedef EntityAggregate * EntityAggregate_ptr; -typedef EntityAggregate_ptr EntityAggregate_var; - -/****************************************************************//** - ** \class SelectAggregate - ** This is a minimal represention for a collection of SDAI_Select - ******************************************************************/ -class SC_CORE_EXPORT SelectAggregate : public STEPaggregate { - public: - virtual Severity ReadValue( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId = 0, - int assignVal = 1, int ExchangeFileFormat = 1, - const char * currSch = 0 ); - - virtual SingleLinkNode * NewNode(); - virtual STEPaggregate & ShallowCopy( const STEPaggregate & ); - - SelectAggregate(); - virtual ~SelectAggregate(); -}; -typedef SelectAggregate * SelectAggregateH; -typedef SelectAggregate * SelectAggregate_ptr; -typedef SelectAggregate_ptr SelectAggregate_var; - -/****************************************************************//** -** \class StringAggregate -** This class supports LIST OF STRING type -******************************************************************/ -class SC_CORE_EXPORT StringAggregate : public STEPaggregate { - public: - virtual SingleLinkNode * NewNode(); - virtual STEPaggregate & ShallowCopy( const STEPaggregate & ); - - StringAggregate(); - virtual ~StringAggregate(); -}; -typedef StringAggregate * StringAggregateH; -typedef StringAggregate * StringAggregate_ptr; -typedef StringAggregate_ptr StringAggregate_var; - - -/****************************************************************//** -** \class BinaryAggregate -** This class supports LIST OF BINARY type -******************************************************************/ -class SC_CORE_EXPORT BinaryAggregate : public STEPaggregate { - public: - virtual SingleLinkNode * NewNode(); - virtual STEPaggregate & ShallowCopy( const STEPaggregate & ); - - BinaryAggregate(); - virtual ~BinaryAggregate(); -}; -typedef BinaryAggregate * BinaryAggregateH; -typedef BinaryAggregate * BinaryAggregate_ptr; -typedef BinaryAggregate_ptr BinaryAggregate_var; - -/**************************************************************//** -** \class EnumAggregate -** This is a minimal representions for a collection ofSDAI_Enum -******************************************************************/ -class SC_CORE_EXPORT EnumAggregate : public STEPaggregate { - public: - virtual SingleLinkNode * NewNode(); - virtual STEPaggregate & ShallowCopy( const STEPaggregate & ); - - EnumAggregate(); - virtual ~EnumAggregate(); -}; -typedef EnumAggregate * EnumAggregateH; -typedef EnumAggregate * EnumAggregate_ptr; -typedef EnumAggregate_ptr EnumAggregate_var; - -class SC_CORE_EXPORT LOGICALS : public EnumAggregate { - public: - virtual SingleLinkNode * NewNode(); - - LOGICALS(); - virtual ~LOGICALS(); -}; -typedef LOGICALS * LogicalsH; -typedef LOGICALS * LOGICALS_ptr; -typedef LOGICALS_ptr LOGICALS_var; -SC_CORE_EXPORT LOGICALS * create_LOGICALS(); - - -class SC_CORE_EXPORT BOOLEANS : public EnumAggregate { - public: - virtual SingleLinkNode * NewNode(); - - BOOLEANS(); - virtual ~BOOLEANS(); -}; - -typedef BOOLEANS * BOOLEANS_ptr; -typedef BOOLEANS_ptr BOOLEANS_var; - -SC_CORE_EXPORT BOOLEANS * create_BOOLEANS(); - -class SC_CORE_EXPORT RealAggregate : public STEPaggregate { - - public: - virtual SingleLinkNode * NewNode(); - virtual STEPaggregate & ShallowCopy( const STEPaggregate & ); - - RealAggregate(); - virtual ~RealAggregate(); -}; -typedef RealAggregate * RealAggregateH; -typedef RealAggregate * RealAggregate_ptr; -typedef RealAggregate_ptr RealAggregate_var; - -class SC_CORE_EXPORT IntAggregate : public STEPaggregate { - - public: - virtual SingleLinkNode * NewNode(); - virtual STEPaggregate & ShallowCopy( const STEPaggregate & ); - - IntAggregate(); - virtual ~IntAggregate(); -}; -typedef IntAggregate * IntAggregateH; -typedef IntAggregate * IntAggregate_ptr; -typedef IntAggregate_ptr IntAggregate_var; - -/////////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT STEPnode : public SingleLinkNode { - protected: - int _null; - - public: - int is_null() { - return _null; - } - void set_null() { - _null = 1; - } - -// INPUT - virtual Severity StrToVal( const char * s, ErrorDescriptor * err ); - virtual Severity StrToVal( istream & in, ErrorDescriptor * err ); - - virtual Severity STEPread( const char * s, ErrorDescriptor * err ); - virtual Severity STEPread( istream & in, ErrorDescriptor * err ); - -// OUTPUT - virtual const char * asStr( std::string & s ); - virtual const char * STEPwrite( std::string & s, const char * = 0 ); - virtual void STEPwrite( ostream & out = cout ); -}; - -/**************************************************************//** -** \class GenericAggregate -** This class is for the Nodes of GenericAggregates -******************************************************************/ -typedef STEPnode * STEPnodeH; -class SC_CORE_EXPORT GenericAggrNode : public STEPnode { - public: - SCLundefined value; -// INPUT - virtual Severity StrToVal( const char * s, ErrorDescriptor * err ); - virtual Severity StrToVal( istream & in, ErrorDescriptor * err ); - - virtual Severity STEPread( const char * s, ErrorDescriptor * err ); - virtual Severity STEPread( istream & in, ErrorDescriptor * err ); - -// OUTPUT - virtual const char * asStr( std::string & s ); - virtual const char * STEPwrite( std::string & s, const char * = 0 ); - virtual void STEPwrite( ostream & out = cout ); - -// CONSTRUCTORS - GenericAggrNode( const char * str ); - GenericAggrNode( GenericAggrNode & gan ); - GenericAggrNode(); - ~GenericAggrNode(); - - virtual SingleLinkNode * NewNode(); -}; - -///////////////////////////////////////////////////////////////////////////// - -class SC_CORE_EXPORT EntityNode : public STEPnode { - public: - SDAI_Application_instance * node; - -// INPUT - virtual Severity StrToVal( const char * s, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId = 0 ); - virtual Severity StrToVal( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId = 0 ); - - virtual Severity STEPread( const char * s, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId = 0 ); - virtual Severity STEPread( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId = 0 ); -// OUTPUT - virtual const char * asStr( std::string & s ); - virtual const char * STEPwrite( std::string & s, const char * = 0 ); - virtual void STEPwrite( ostream & out = cout ); - -// CONSTRUCTORS - EntityNode( SDAI_Application_instance * e ); - EntityNode(); - ~EntityNode(); - - virtual SingleLinkNode * NewNode(); - - // Calling these funtions is an error. - Severity StrToVal( const char * s, ErrorDescriptor * err ) { - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - return StrToVal( s, err, 0, 0, 0 ); - } - Severity StrToVal( istream & in, ErrorDescriptor * err ) { - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - return StrToVal( in, err, 0, 0, 0 ); - } - - Severity STEPread( const char * s, ErrorDescriptor * err ) { - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - return STEPread( s, err, 0, 0, 0 ); - } - Severity STEPread( istream & in, ErrorDescriptor * err ) { - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - return STEPread( in, err, 0, 0, 0 ); - } -}; - -/////////////////////////////////////////////////////////////////////////// - -/**************************************************************//** -** \class SelectNode -** This is a minimal representions for node in lists of SDAI_Select -******************************************************************/ -class SC_CORE_EXPORT SelectNode : public STEPnode { - public: - SDAI_Select * node; -// INPUT - virtual Severity StrToVal( const char * s, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId = 0 ); - virtual Severity StrToVal( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId = 0, - const char * currSch = 0 ); - - virtual Severity STEPread( const char * s, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId = 0 ); - virtual Severity STEPread( istream & in, ErrorDescriptor * err, - const TypeDescriptor * elem_type, - InstMgr * insts, int addFileId = 0, - const char * currSch = 0 ); -// OUTPUT - virtual const char * asStr( std::string & s ); - virtual const char * STEPwrite( std::string & s, const char * = 0 ); - virtual void STEPwrite( ostream & out = cout ); - -// CONSTRUCTORS - SelectNode( SDAI_Select * s ); - SelectNode(); - ~SelectNode(); - - virtual SingleLinkNode * NewNode(); - - // Calling these funtions is an error. - Severity StrToVal( const char * s, ErrorDescriptor * err ) { - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - return StrToVal( s, err, 0, 0, 0 ); - } - Severity StrToVal( istream & in, ErrorDescriptor * err ) { - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - return StrToVal( in, err, 0, 0, 0 ); - } - - Severity STEPread( const char * s, ErrorDescriptor * err ) { - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - return STEPread( s, err, 0, 0, 0 ); - } - Severity STEPread( istream & in, ErrorDescriptor * err ) { - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - return STEPread( in, err, 0, 0, 0 ); - } -}; - -/**************************************************************//** -** \class StringNode -** This class is for the Nodes of StringAggregates -******************************************************************/ -class SC_CORE_EXPORT StringNode : public STEPnode { - public: - SDAI_String value; -// INPUT - virtual Severity StrToVal( const char * s, ErrorDescriptor * err ); - virtual Severity StrToVal( istream & in, ErrorDescriptor * err ); - - virtual Severity STEPread( const char * s, ErrorDescriptor * err ); - virtual Severity STEPread( istream & in, ErrorDescriptor * err ); - -// OUTPUT - virtual const char * asStr( std::string & s ); - virtual const char * STEPwrite( std::string & s, const char * = 0 ); - virtual void STEPwrite( ostream & out = cout ); - -// CONSTRUCTORS - StringNode( StringNode & sn ); - StringNode( const char * sStr ); - StringNode(); - ~StringNode(); - - virtual SingleLinkNode * NewNode(); -}; - -/////////////////////////////////////////////////////////////////////////// - -/**************************************************************//** -** \class BinaryNode -** This class is for the Nodes of BinaryAggregates -******************************************************************/ -class SC_CORE_EXPORT BinaryNode : public STEPnode { - public: - SDAI_Binary value; -// INPUT - virtual Severity StrToVal( const char * s, ErrorDescriptor * err ); - virtual Severity StrToVal( istream & in, ErrorDescriptor * err ); - - virtual Severity STEPread( const char * s, ErrorDescriptor * err ); - virtual Severity STEPread( istream & in, ErrorDescriptor * err ); - -// OUTPUT - virtual const char * asStr( std::string & s ); - virtual const char * STEPwrite( std::string & s, const char * = 0 ); - virtual void STEPwrite( ostream & out = cout ); - -// CONSTRUCTORS - BinaryNode( BinaryNode & bn ); - BinaryNode( const char * sStr ); - BinaryNode(); - ~BinaryNode(); - - virtual SingleLinkNode * NewNode(); -}; - -/**************************************************************//** -** \class EnumNode -** This is a minimal representions for node in lists of SDAI_Enum -******************************************************************/ -class SC_CORE_EXPORT EnumNode : public STEPnode { - public: - SDAI_Enum * node; -// INPUT - virtual Severity StrToVal( const char * s, ErrorDescriptor * err ); - virtual Severity StrToVal( istream & in, ErrorDescriptor * err ); - - virtual Severity STEPread( const char * s, ErrorDescriptor * err ); - virtual Severity STEPread( istream & in, ErrorDescriptor * err ); - -// OUTPUT - virtual const char * asStr( std::string & s ); - virtual const char * STEPwrite( std::string & s, const char * = 0 ); - virtual void STEPwrite( ostream & out = cout ); - -// CONSTRUCTORS - EnumNode( SDAI_Enum * e ); - EnumNode(); - ~EnumNode(); - - virtual SingleLinkNode * NewNode(); -}; - -class SC_CORE_EXPORT RealNode : public STEPnode { - public: - SDAI_Real value; // double -// INPUT - virtual Severity StrToVal( const char * s, ErrorDescriptor * err ); - virtual Severity StrToVal( istream & in, ErrorDescriptor * err ); - - virtual Severity STEPread( const char * s, ErrorDescriptor * err ); - virtual Severity STEPread( istream & in, ErrorDescriptor * err ); - -// OUTPUT - virtual const char * asStr( std::string & s ); - virtual const char * STEPwrite( std::string & s, const char * = 0 ); - virtual void STEPwrite( ostream & out = cout ); - -// CONSTRUCTORS - RealNode(); - ~RealNode(); - - virtual SingleLinkNode * NewNode(); -}; - -class SC_CORE_EXPORT IntNode : public STEPnode { - public: - SDAI_Integer value; // long int -// INPUT - virtual Severity StrToVal( const char * s, ErrorDescriptor * err ); - virtual Severity StrToVal( istream & in, ErrorDescriptor * err ); - - virtual Severity STEPread( const char * s, ErrorDescriptor * err ); - virtual Severity STEPread( istream & in, ErrorDescriptor * err ); - -// OUTPUT - virtual const char * asStr( std::string & s ); - virtual const char * STEPwrite( std::string & s, const char * = 0 ); - virtual void STEPwrite( ostream & out = cout ); - -// CONSTRUCTORS - IntNode(); - ~IntNode(); - - virtual SingleLinkNode * NewNode(); -}; - -/****************************************************************** - ** FIXME The following classes are currently stubs - ** -**/ -/* -class Array : public STEPaggregate { - public: - int lowerBound; - int upperBound; -}; - -class Bag : public STEPaggregate { - public: - int min_ele; - int max_ele; -}; - -class List : public STEPaggregate { - int min_ele; - int max_ele; - List *prev; -}; - -class Set : -public STEPaggregate { - int cnt; -}; -*/ -#endif diff --git a/src/clstepcore/STEPattribute.cc b/src/clstepcore/STEPattribute.cc index c1c277dc0..ff07d55b7 100644 --- a/src/clstepcore/STEPattribute.cc +++ b/src/clstepcore/STEPattribute.cc @@ -10,23 +10,21 @@ */ #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include "sc_memmgr.h" +#include "clstepcore/read_func.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/instmgr.h" +#include "clstepcore/STEPundefined.h" +#include "clstepcore/STEPaggregate.h" +#include "clstepcore/ExpDict.h" +#include "clstepcore/sdai.h" // REAL_NUM_PRECISION is defined in STEPattribute.h, and is also used // in aggregate real handling (STEPaggregate.cc) -- IMS 6 Jun 95 const int Real_Num_Precision = REAL_NUM_PRECISION; -/**************************************************************//** +/** ** \class STEPattribute ** Functions for manipulating attribute ** @@ -39,16 +37,10 @@ const int Real_Num_Precision = REAL_NUM_PRECISION; **/ -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// -// STEPattribute Functions -/////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// - /// the value of the attribute is assigned from the supplied string -Severity STEPattribute::StrToVal( const char * s, InstMgr * instances, int addFileId ) { - if( RedefiningAttr() ) { - return RedefiningAttr()->StrToVal( s, instances, addFileId ); +Severity STEPattribute::StrToVal( const char * s, InstMgrBase * instances, int addFileId ) { + if( _redefAttr ) { + return _redefAttr->StrToVal( s, instances, addFileId ); } _error.ClearErrorMsg(); // also sets Severity to SEVERITY_NULL @@ -194,13 +186,13 @@ Severity STEPattribute::StrToVal( const char * s, InstMgr * instances, int addFi ** value >= SEVERITY_WARNING means program can continue parsing input, ** value <= SEVERITY_INPUT_ERROR is fatal read error ******************************************************************/ -Severity STEPattribute::STEPread( istream & in, InstMgr * instances, int addFileId, +Severity STEPattribute::STEPread( istream & in, InstMgrBase * instances, int addFileId, const char * currSch, bool strict ) { // The attribute has been redefined by the attribute pointed // to by _redefAttr so write the redefined value. - if( RedefiningAttr() ) { - return RedefiningAttr()->STEPread( in, instances, addFileId, currSch ); + if( _redefAttr ) { + return _redefAttr->STEPread( in, instances, addFileId, currSch ); } _error.ClearErrorMsg(); // also sets Severity to SEVERITY_NULL @@ -482,9 +474,117 @@ const char * STEPattribute::asStr( std::string & str, const char * currSch ) con return const_cast( str.c_str() ); } + +/*****************************************************************//** + ** \fn asStr + ** \param currSch - used for select type writes. See commenting in SDAI_Select::STEPwrite(). + ** \returns the value of the attribute + ** Status: complete 3/91 + *********************************************************************/ +std::string STEPattribute::asStr( const char * currSch ) const { + ostringstream ss; + std::string str; + + // The attribute has been derived by a subtype's attribute + if( IsDerived() ) { + str = "*"; + return str; + } + + // The attribute has been redefined by the attribute pointed + // to by _redefAttr so write the redefined value. + if( _redefAttr ) { + return _redefAttr->asStr( currSch ); + } + + if( is_null() ) { + return str; + } + + switch( NonRefType() ) { + case INTEGER_TYPE: + ss << *( ptr.i ); + str += ss.str(); + break; + + case NUMBER_TYPE: + case REAL_TYPE: + + ss.precision( ( int ) Real_Num_Precision ); + ss << *( ptr.r ); + str += ss.str(); + break; + + case ENTITY_TYPE: + // print instance id only if not empty pointer + // and has value assigned + if( ( *( ptr.c ) == S_ENTITY_NULL ) || ( *( ptr.c ) == 0 ) ) { + break; + } else { + ( *( ptr.c ) )->STEPwrite_reference( str ); + } + break; + + case BINARY_TYPE: + if( !( ptr.b->empty() ) ) { + ptr.b->STEPwrite( str ); + } + break; + + case STRING_TYPE: + if( !( ( ptr.S )->empty() ) ) { + ptr.S->asStr( str ); + } + break; + + case AGGREGATE_TYPE: + case ARRAY_TYPE: // DAS + case BAG_TYPE: // DAS + case SET_TYPE: // DAS + case LIST_TYPE: // DAS + ptr.a->asStr( str ); + break; + + case ENUM_TYPE: + case BOOLEAN_TYPE: + case LOGICAL_TYPE: + ptr.e->asStr( str ); + break; + + case SELECT_TYPE: + ptr.sh->STEPwrite( str, currSch ); + break; + + case REFERENCE_TYPE: + case GENERIC_TYPE: + cerr << "Internal error: " << __FILE__ << __LINE__ + << "\n" << _POC_ "\n"; + str.clear(); + break; + + case UNKNOWN_TYPE: + default: + ptr.u->asStr( str ); + } + return str; +} + +/// write '$' to out, put message in error, write brief error to stderr +void STEPattribute::STEPwriteError( ostream & out, unsigned int line, const char* desc ) { + out << "$"; + cerr << "Internal error: " << __FILE__ << ":" << line << "\n" << _POC_ "\n"; + + _error.GreaterSeverity( SEVERITY_BUG ); + std::stringstream ss; + ss << " Warning: attribute '" << Name() << " : " << TypeName() << "' " << desc << std::endl; + _error.AppendToUserMsg( ss.str() ); + _error.AppendToDetailMsg( ss.str() ); +} + /** * The value of the attribute is printed to the output stream specified by out. * The output is in physical file format. + * */ void STEPattribute::STEPwrite( ostream & out, const char * currSch ) { // The attribute has been derived by a subtype's attribute @@ -494,8 +594,8 @@ void STEPattribute::STEPwrite( ostream & out, const char * currSch ) { } // The attribute has been redefined by the attribute pointed // to by _redefAttr so write the redefined value. - if( RedefiningAttr() ) { - RedefiningAttr()->STEPwrite( out ); + if( _redefAttr ) { + _redefAttr->STEPwrite( out ); return; } @@ -517,21 +617,10 @@ void STEPattribute::STEPwrite( ostream & out, const char * currSch ) { case ENTITY_TYPE: // print instance id only if not empty pointer - if( ( *( ptr.c ) == 0 ) || + if( ( ptr.c == 0 ) || ( *( ptr.c ) == 0 ) || // no value was assigned <-- this would be a BUG ( *( ptr.c ) == S_ENTITY_NULL ) ) { - out << "$"; - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - - char errStr[BUFSIZ]; - errStr[0] = '\0'; - _error.GreaterSeverity( SEVERITY_BUG ); - sprintf( errStr, - " Warning: attribute '%s : %s' is null and shouldn't be.\n", - Name(), TypeName() ); - _error.AppendToUserMsg( errStr ); - _error.AppendToDetailMsg( errStr ); + STEPwriteError( out, __LINE__, "is null and shouldn't be." ); } else { ( *( ptr.c ) ) -> STEPwrite_reference( out ); } @@ -542,18 +631,7 @@ void STEPattribute::STEPwrite( ostream & out, const char * currSch ) { if( ptr.S ) { ( ptr.S ) -> STEPwrite( out ); } else { - out << "$"; - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - - char errStr[BUFSIZ]; - errStr[0] = '\0'; - _error.GreaterSeverity( SEVERITY_BUG ); - sprintf( errStr, - " Warning: attribute '%s : %s' should be pointing at %s", - Name(), TypeName(), "an SDAI_String.\n" ); - _error.AppendToUserMsg( errStr ); - _error.AppendToDetailMsg( errStr ); + STEPwriteError( out, __LINE__, "should be pointing at an SDAI_String." ); } break; @@ -562,18 +640,7 @@ void STEPattribute::STEPwrite( ostream & out, const char * currSch ) { if( ptr.b ) { ( ptr.b ) -> STEPwrite( out ); } else { - out << "$"; - cerr << "Internal error: " << __FILE__ << ": " << __LINE__ - << "\n" << _POC_ "\n"; - - char errStr[BUFSIZ]; - errStr[0] = '\0'; - _error.GreaterSeverity( SEVERITY_BUG ); - sprintf( errStr, - " Warning: attribute '%s : %s' should be pointing at %s", - Name(), TypeName(), "an SDAI_Binary.\n" ); - _error.AppendToUserMsg( errStr ); - _error.AppendToDetailMsg( errStr ); + STEPwriteError( out, __LINE__, "should be pointing at an SDAI_Binary." ); } break; @@ -591,18 +658,7 @@ void STEPattribute::STEPwrite( ostream & out, const char * currSch ) { if( ptr.e ) { ptr.e -> STEPwrite( out ); } else { - out << "$"; - cerr << "Internal error: " << __FILE__ << ": " << __LINE__ - << "\n" << _POC_ "\n"; - - char errStr[BUFSIZ]; - errStr[0] = '\0'; - _error.GreaterSeverity( SEVERITY_BUG ); - sprintf( errStr, - " Warning: attribute '%s : %s' should be pointing at %s", - Name(), TypeName(), "a SDAI_Enum class.\n" ); - _error.AppendToUserMsg( errStr ); - _error.AppendToDetailMsg( errStr ); + STEPwriteError( out, __LINE__, "should be pointing at a SDAI_Enum class." ); } break; @@ -610,25 +666,13 @@ void STEPattribute::STEPwrite( ostream & out, const char * currSch ) { if( ptr.sh ) { ptr.sh -> STEPwrite( out, currSch ); } else { - out << "$"; - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; - - char errStr[BUFSIZ]; - errStr[0] = '\0'; - _error.GreaterSeverity( SEVERITY_BUG ); - sprintf( errStr, - " Warning: attribute '%s : %s' should be pointing at %s", - Name(), TypeName(), "a SDAI_Select class.\n" ); - _error.AppendToUserMsg( errStr ); - _error.AppendToDetailMsg( errStr ); + STEPwriteError( out, __LINE__, "should be pointing at a SDAI_Select class." ); } break; case REFERENCE_TYPE: case GENERIC_TYPE: - cerr << "Internal error: " << __FILE__ << ": " << __LINE__ - << "\n" << _POC_ "\n"; + cerr << "Internal error: " << __FILE__ << ":" << __LINE__ << "\n" << _POC_ "\n"; _error.GreaterSeverity( SEVERITY_BUG ); return; @@ -641,48 +685,100 @@ void STEPattribute::STEPwrite( ostream & out, const char * currSch ) { } -int STEPattribute::ShallowCopy( STEPattribute * sa ) { - if( RedefiningAttr() ) { - return RedefiningAttr()->ShallowCopy( sa ); +void STEPattribute::ShallowCopy( const STEPattribute * sa ) { + _mustDeletePtr = false; + aDesc = sa->aDesc; + refCount = 0; + _derive = sa->_derive; + _redefAttr = sa->_redefAttr; + if( _redefAttr ) { + _redefAttr->ShallowCopy( sa ); } + //Should we just use memcpy()? That would be a true shallowCopy switch( sa->NonRefType() ) { case INTEGER_TYPE: - *ptr.i = *( sa->ptr.i ); + ptr.i = sa->ptr.i; break; case BINARY_TYPE: - *( ptr.b ) = *( sa->ptr.b ); + ptr.b = sa->ptr.b; break; case STRING_TYPE: - *( ptr.S ) = *( sa->ptr.S ); + ptr.S = sa->ptr.S; break; case REAL_TYPE: case NUMBER_TYPE: - *ptr.r = *( sa->ptr.r ); + ptr.r = sa->ptr.r; break; case ENTITY_TYPE: - *ptr.c = *( sa->ptr.c ); + ptr.c = sa->ptr.c; break; - case AGGREGATE_TYPE: case ARRAY_TYPE: // DAS case BAG_TYPE: // DAS case SET_TYPE: // DAS case LIST_TYPE: // DAS - ptr.a -> ShallowCopy( *( sa -> ptr.a ) ); + switch( sa->BaseType() ) { + case sdaiAGGR: + ptr.a = new GenericAggregate; + break; + case sdaiINSTANCE: + ptr.a = new EntityAggregate; + break; + case sdaiSELECT: + ptr.a = new SelectAggregate; + break; + case sdaiSTRING: + ptr.a = new StringAggregate; + break; + case sdaiBINARY: + ptr.a = new BinaryAggregate; + break; + case sdaiENUMERATION: + ptr.a = new EnumAggregate; + break; + case sdaiBOOLEAN: + ptr.a = new BOOLEANS; + break; + case sdaiLOGICAL: + ptr.a = new LOGICALS; + break; + case sdaiREAL: + case sdaiNUMBER: + ptr.a = new RealAggregate; + break; + case sdaiINTEGER: + ptr.a = new IntAggregate; + break; + default: + std::cerr << "WARNING: Reached default case for BaseType() in STEPattribute::" + << "ShallowCopy(). New attribute may be invalid." << std::endl; + ptr.a = new STEPaggregate; + break; + } + ptr.a->ShallowCopy( *( sa->ptr.a ) ); + _mustDeletePtr = true; break; case SELECT_TYPE: - *ptr.sh = *( sa->ptr.sh ); + ptr.sh = sa->ptr.sh; break; - case ENUM_TYPE: case BOOLEAN_TYPE: + ptr.e = new SDAI_BOOLEAN; + ptr.e->put( sa->ptr.e->asInt() ); + _mustDeletePtr = true; + break; case LOGICAL_TYPE: + ptr.e = new SDAI_LOGICAL; ptr.e->put( sa->ptr.e->asInt() ); + _mustDeletePtr = true; break; + case AGGREGATE_TYPE: + case ENUM_TYPE: default: - *ptr.u = *( sa->ptr.u ); + std::cerr << "WARNING: Reached default case for NonRefType() in STEPattribute::" + << "ShallowCopy(). New attribute may be invalid." << std::endl; + memcpy( & ptr, & ( sa->ptr ), sizeof( sa->ptr ) ); break; } - return 1; } /** @@ -691,8 +787,8 @@ int STEPattribute::ShallowCopy( STEPattribute * sa ) { * as not containing a value (even a value of no chars). */ Severity STEPattribute::set_null() { - if( RedefiningAttr() ) { - return RedefiningAttr()->set_null(); + if( _redefAttr ) { + return _redefAttr->set_null(); } switch( NonRefType() ) { case INTEGER_TYPE: @@ -740,22 +836,18 @@ Severity STEPattribute::set_null() { case REFERENCE_TYPE: case GENERIC_TYPE: - cerr << "Internal error: " << __FILE__ << __LINE__ - << "\n" << _POC_ "\n"; + cerr << "Internal error: " << __FILE__ << ":" << __LINE__ << "\n" << _POC_ "\n"; return SEVERITY_BUG; case UNKNOWN_TYPE: - default: { + default: ptr.u -> set_null(); - char errStr[BUFSIZ]; - errStr[0] = '\0'; - sprintf( errStr, " Warning: attribute '%s : %s : %d' - %s.\n", - Name(), TypeName(), Type(), - "Don't know how to make attribute NULL" ); - _error.AppendToDetailMsg( errStr ); + std::stringstream err; + err << " Warning: attribute '" << Name() << " : " << TypeName() << " : "; + err << Type() << "' - " << "Don't know how to make attribute NULL" << std::endl; + _error.AppendToDetailMsg( err.str() ); _error.GreaterSeverity( SEVERITY_WARNING ); return SEVERITY_WARNING; - } } if( Nullable() ) { return SEVERITY_NULL; @@ -768,19 +860,25 @@ Severity STEPattribute::set_null() { * For a string value this reports whether the string exists (as reported by * SDAI_String ) not whether SDAI_String contains a null string. */ -int STEPattribute::is_null() const { +bool STEPattribute::is_null() const { if( _redefAttr ) { return _redefAttr->is_null(); } + /* for NUMBER_TYPE and REAL_TYPE, we want an exact comparison. however, doing so causes a compiler warning. + * workaround is to use memcmp. need a variable, but can't declare it within the switch without errors. + */ + SDAI_Real z; switch( NonRefType() ) { case INTEGER_TYPE: return ( *( ptr.i ) == S_INT_NULL ); case NUMBER_TYPE: - return ( *( ptr.r ) == S_NUMBER_NULL ); + z = S_NUMBER_NULL; + return ( 0 == memcmp( ptr.r, &z, sizeof z ) ); case REAL_TYPE: - return ( *( ptr.r ) == S_REAL_NULL ); + z = S_REAL_NULL; + return ( 0 == memcmp( ptr.r, &z, sizeof z ) ); case ENTITY_TYPE: return ( *( ptr.c ) == S_ENTITY_NULL ); @@ -809,22 +907,247 @@ int STEPattribute::is_null() const { case REFERENCE_TYPE: case GENERIC_TYPE: - cerr << "Internal error: " << __FILE__ << ": " << __LINE__ - << "\n" << _POC_ "\n"; - return SEVERITY_BUG; - + //should be an error, but this is a const function - no way to report. + return true; case UNKNOWN_TYPE: default: return ( ptr.u -> is_null() ); } } -/**************************************************************//** -** evaluates the equality of two attributes -** Side Effects: none -** \return bool -- if false => not equal -******************************************************************/ -bool operator == ( STEPattribute & a1, STEPattribute & a2 ) { +// these get the attr value + +SDAI_Integer * STEPattribute::Integer(){ + if( NonRefType() == INTEGER_TYPE ) { + return ptr.i; + } + return 0; +} + +SDAI_Real * STEPattribute::Number() { + if( NonRefType() == NUMBER_TYPE ) { + return ptr.r; + } + return 0; +} + +SDAI_Real * STEPattribute::Real() { + if( NonRefType() == REAL_TYPE ) { + return ptr.r; + } + return 0; +} + +SDAI_Application_instance * STEPattribute::Entity() { + if( NonRefType() == ENTITY_TYPE ) { + return *( ptr.c ); + } + return 0; +} + +SDAI_String * STEPattribute::String() { + if( NonRefType() == STRING_TYPE ) { + return ptr.S; + } + return 0; +} + +SDAI_Binary * STEPattribute::Binary() { + if( NonRefType() == BINARY_TYPE ) { + return ptr.b; + } + return 0; +} + +STEPaggregate * STEPattribute::Aggregate() { + if( ( NonRefType() == AGGREGATE_TYPE ) || ( NonRefType() == ARRAY_TYPE ) || ( NonRefType() == BAG_TYPE ) + || ( NonRefType() == SET_TYPE ) || ( NonRefType() == LIST_TYPE ) ) { + return ptr.a; + } + return 0; +} + +SDAI_BOOLEAN * STEPattribute::Boolean() { + if( NonRefType() == BOOLEAN_TYPE ) { + return ( SDAI_BOOLEAN * ) ptr.e; + } + return 0; +} + +SDAI_LOGICAL * STEPattribute::Logical() { + if( NonRefType() == LOGICAL_TYPE ) { + return ( SDAI_LOGICAL * ) ptr.e; + } + return 0; +} + +SDAI_Enum * STEPattribute::Enum() { + if( NonRefType() == ENUM_TYPE ) { + return ptr.e; + } + return 0; +} + +SDAI_Select * STEPattribute::Select() { + if( NonRefType() == SELECT_TYPE ) { + return ptr.sh; + } + return 0; +} + +SCLundefined * STEPattribute::Undefined() { + if( ( NonRefType() != REFERENCE_TYPE ) && ( NonRefType() != GENERIC_TYPE ) ) { + return ptr.u; + } + return 0; +} + +// these set the attr value + +void STEPattribute::Integer( SDAI_Integer * n ) { + assert( NonRefType() == INTEGER_TYPE ); + if( ptr.i ) { + *( ptr.i ) = * n; + } else { + ptr.i = n; + } +} + +void STEPattribute::Real( SDAI_Real * n ) { + assert( NonRefType() == REAL_TYPE ); + if( ptr.r ) { + *( ptr.r ) = * n; + } else { + ptr.r = n; + } +} + +void STEPattribute::Number( SDAI_Real * n ) { + assert( NonRefType() == NUMBER_TYPE ); + if( ptr.r ) { + *( ptr.r ) = * n; + } else { + ptr.r = n; + } +} + +void STEPattribute::String( SDAI_String * str ) { + assert( NonRefType() == STRING_TYPE ); + if( ptr.S ) { + *( ptr.S ) = * str; + } else { + ptr.S = str; + } +} + +void STEPattribute::Binary( SDAI_Binary * bin ) { + assert( NonRefType() == BINARY_TYPE ); + if( ptr.b ) { + *( ptr.b ) = * bin; + } else { + ptr.b = bin; + } +} + +void STEPattribute::Entity( SDAI_Application_instance * ent ) { + assert( NonRefType() == ENTITY_TYPE ); + if( ptr.c ) { + delete ptr.c; + } + ptr.c = new (SDAI_Application_instance * ); + *( ptr.c ) = ent; +} + +void STEPattribute::Aggregate( STEPaggregate * aggr ) { + assert( ( NonRefType() == AGGREGATE_TYPE ) || ( NonRefType() == ARRAY_TYPE ) || ( NonRefType() == BAG_TYPE ) + || ( NonRefType() == SET_TYPE ) || ( NonRefType() == LIST_TYPE ) ); + if( ptr.a ) { + *( ptr.a ) = * aggr; + } else { + ptr.a = aggr; + } +} + +void STEPattribute::Enum( SDAI_Enum * enu ) { + assert( NonRefType() == ENUM_TYPE ); + if( ptr.e ) { + ptr.e->set_null(); + *( ptr.e ) = * enu; + } else { + ptr.e = enu; + } +} + +void STEPattribute::Logical( SDAI_LOGICAL * log ) { + assert( NonRefType() == LOGICAL_TYPE ); + if( ptr.e ) { + ptr.e->set_null(); + *( ptr.e ) = * log; + } else { + ptr.e = log; + } +} + +void STEPattribute::Boolean( SDAI_BOOLEAN * boo ) { + assert( NonRefType() == BOOLEAN_TYPE ); + if( ptr.e ) { + ptr.e->set_null(); + *( ptr.e ) = *boo; + } else { + ptr.e = boo; + } +} + +void STEPattribute::Select( SDAI_Select * sel ) { + assert( NonRefType() == SELECT_TYPE ); + if( ptr.sh ) { + ptr.sh->set_null(); + *( ptr.sh ) = * sel; + } else { + ptr.sh = sel; + } +} + +void STEPattribute::Undefined( SCLundefined * undef ) { + //FIXME is this right, or is the Undefined() above right? + assert( NonRefType() == REFERENCE_TYPE || NonRefType() == UNKNOWN_TYPE ); + if( ptr.u ) { + *( ptr.u ) = * undef; + } else { + ptr.u = undef; + } +} + + +/** evaluate the equality of two attributes + * ignores _error and refCount, since those are ancillary + * \return true if equal + */ +bool operator == ( const STEPattribute & a1, const STEPattribute & a2 ) { + if( & a1 == & a2 ) { + return true; + } + if( a1._derive == a2._derive && a1.aDesc == a2.aDesc && a1._redefAttr == a2._redefAttr ){ + if( 0 == memcmp( & a1.ptr, & a2.ptr, sizeof( a1.ptr ) ) ) { + return true; + } else { + //ptr differs between a1 and a2, but contents aren't necessarily different + return a1.asStr() == a2.asStr(); + } + } + return false; +} + +/** evaluate the equality of two attributes + * ignores _error and refCount, since those are ancillary + * \return true if not equal + */ +bool operator != ( const STEPattribute & a1, const STEPattribute & a2 ) { + return !( a1 == a2 ); +} + +/// return true if the attr descriptor is identical +bool sameADesc( const STEPattribute & a1, const STEPattribute & a2 ) { return a1.aDesc == a2.aDesc; } @@ -836,15 +1159,15 @@ bool operator == ( STEPattribute & a1, STEPattribute & a2 ) { * *note* for string values - (attrValue = 0) => string value does not exist, * attrValue exists it is valid. ******************************************************************/ -Severity STEPattribute::ValidLevel( const char * attrValue, ErrorDescriptor * error, InstMgr * im, int clearError ) { +Severity STEPattribute::ValidLevel( const char * attrValue, ErrorDescriptor * error, InstMgrBase * im, bool clearError ) { if( clearError ) { ClearErrorMsg(); } - if( RedefiningAttr() ) { - return RedefiningAttr()->ValidLevel( attrValue, error, im, clearError ); + if( _redefAttr ) { + return _redefAttr->ValidLevel( attrValue, error, im, clearError ); } - int optional = Nullable(); + bool optional = Nullable(); if( !attrValue ) { if( optional ) { @@ -913,7 +1236,7 @@ Severity STEPattribute::ValidLevel( const char * attrValue, ErrorDescriptor * er case LOGICAL_TYPE: return ptr.e->EnumValidLevel( attrValue, error, optional, 0, 0, 1 ); case SELECT_TYPE: - return ptr.sh->SelectValidLevel( attrValue, error, im, 0 ); + return ptr.sh->SelectValidLevel( attrValue, error, im ); default: cerr << "Internal error: " << __FILE__ << __LINE__ @@ -939,20 +1262,20 @@ ostream & operator<< ( ostream & out, STEPattribute & a ) { * value. ******************************************************************/ void STEPattribute::AddErrorInfo() { - char errStr[BUFSIZ]; + char errStr[BUFSIZ+1]; errStr[0] = '\0'; if( SEVERITY_INPUT_ERROR < _error.severity() && _error.severity() < SEVERITY_NULL ) { sprintf( errStr, " Warning: ATTRIBUTE '%s : %s : %d' - ", - Name(), TypeName(), Type() ); + Name(), TypeName().c_str(), Type() ); _error.PrependToDetailMsg( errStr ); } else if( _error.severity() == SEVERITY_INPUT_ERROR ) { sprintf( errStr, " Error: ATTRIBUTE '%s : %s : %d' - ", - Name(), TypeName(), Type() ); + Name(), TypeName().c_str(), Type() ); _error.PrependToDetailMsg( errStr ); } else if( _error.severity() <= SEVERITY_BUG ) { sprintf( errStr, " BUG: ATTRIBUTE '%s : %s : %d' - ", - Name(), TypeName(), Type() ); + Name(), TypeName().c_str(), Type() ); _error.PrependToDetailMsg( errStr ); } } @@ -969,7 +1292,7 @@ char STEPattribute::SkipBadAttr( istream & in, char * StopChars ) { // read bad data until end of this attribute or entity. char * foundCh = 0; char c = '\0'; - char errStr[BUFSIZ]; + char errStr[BUFSIZ+1]; errStr[0] = '\0'; _error.GreaterSeverity( SEVERITY_WARNING ); @@ -980,15 +1303,207 @@ char STEPattribute::SkipBadAttr( istream & in, char * StopChars ) { if( in.eof() ) { _error.GreaterSeverity( SEVERITY_INPUT_ERROR ); sprintf( errStr, " Error: attribute '%s : %s : %d' - %s.\n", - Name(), TypeName(), Type(), + Name(), TypeName().c_str(), Type(), "Unexpected EOF when skipping bad attr value" ); _error.AppendToDetailMsg( errStr ); } else { sprintf( errStr, " Error: attribute '%s : %s : %d' - %s.\n", - Name(), TypeName(), Type(), "Invalid value" ); + Name(), TypeName().c_str(), Type(), "Invalid value" ); _error.AppendToDetailMsg( errStr ); } in.putback( c ); in.flags( flbuf ); // set skip whitespace to its original state return c; } + + +/********************************************************************* + * The following functions were moved from clstepcore/STEPattribute.inline.cc + * + * NIST STEP Core Class Library + * clstepcore/STEPattribute.inline.cc + * April 1997 + * K. C. Morris + * David Sauder + * + * Development of this software was funded by the United States Government, + * and is not subject to copyright. + */ + +/// This is needed so that STEPattribute's can be passed as references to inline functions +/// NOTE this code only does shallow copies. It may be necessary to do more, in which case +/// the destructor and assignment operator will also need examined. +STEPattribute::STEPattribute( const STEPattribute & a ) : _derive( a._derive ), _mustDeletePtr( false ), +_redefAttr( a._redefAttr ), aDesc( a.aDesc ), refCount( a.refCount ) { + ShallowCopy( & a ); + + //NOTE may need to do a deep copy for the following types since they are classes + /* + * switch( NonRefType() ) { + * case BINARY_TYPE: + * + * case STRING_TYPE: + * + * case ENTITY_TYPE: + * + * case AGGREGATE_TYPE: + * case ARRAY_TYPE: // DAS + * case BAG_TYPE: // DAS + * case SET_TYPE: // DAS + * case LIST_TYPE: // DAS + * + * case SELECT_TYPE: + * + * case ENUM_TYPE: + * case BOOLEAN_TYPE: + * case LOGICAL_TYPE: + * + * default: + * break; +} +*/ +} + +/// INTEGER +STEPattribute::STEPattribute( const class AttrDescriptor & d, SDAI_Integer * p ): _derive( false ), +_mustDeletePtr( false ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { + ptr.i = p; + assert( &d ); //ensure that the AttrDescriptor is not a null pointer +} + +/// BINARY +STEPattribute::STEPattribute( const class AttrDescriptor & d, SDAI_Binary * p ): _derive( false ), +_mustDeletePtr( false ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { + ptr.b = p; + assert( &d ); //ensure that the AttrDescriptor is not a null pointer +} + +/// STRING +STEPattribute::STEPattribute( const class AttrDescriptor & d, SDAI_String * p ): _derive( false ), +_mustDeletePtr( false ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { + ptr.S = p; + assert( &d ); //ensure that the AttrDescriptor is not a null pointer +} + +/// REAL & NUMBER +STEPattribute::STEPattribute( const class AttrDescriptor & d, SDAI_Real * p ): _derive( false ), +_mustDeletePtr( false ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { + ptr.r = p; + assert( &d ); //ensure that the AttrDescriptor is not a null pointer +} + +/// ENTITY +STEPattribute::STEPattribute( const class AttrDescriptor & d, SDAI_Application_instance * *p ): +_derive( false ), _mustDeletePtr( false ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { + ptr.c = p; + assert( &d ); //ensure that the AttrDescriptor is not a null pointer +} + +/// AGGREGATE +STEPattribute::STEPattribute( const class AttrDescriptor & d, STEPaggregate * p ): _derive( false ), +_mustDeletePtr( false ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { + ptr.a = p; + assert( &d ); //ensure that the AttrDescriptor is not a null pointer +} + +/// ENUMERATION and Logical +STEPattribute::STEPattribute( const class AttrDescriptor & d, SDAI_Enum * p ): _derive( false ), +_mustDeletePtr( false ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { + ptr.e = p; + assert( &d ); //ensure that the AttrDescriptor is not a null pointer +} + +/// SELECT +STEPattribute::STEPattribute( const class AttrDescriptor & d, class SDAI_Select * p ): _derive( false ), +_mustDeletePtr( false ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { + ptr.sh = p; + assert( &d ); //ensure that the AttrDescriptor is not a null pointer +} + +/// UNDEFINED +STEPattribute::STEPattribute( const class AttrDescriptor & d, SCLundefined * p ): _derive( false ), +_mustDeletePtr( false ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { + ptr.u = p; + assert( &d ); //ensure that the AttrDescriptor is not a null pointer +} + +/// the destructor conditionally deletes the object in ptr +STEPattribute::~STEPattribute() { + if( _mustDeletePtr ) { + switch( NonRefType() ) { + case AGGREGATE_TYPE: + case ARRAY_TYPE: // DAS + case BAG_TYPE: // DAS + case SET_TYPE: // DAS + case LIST_TYPE: // DAS + if( ptr.a ) { + delete ptr.a; + ptr.a = 0; + } + break; + case BOOLEAN_TYPE: + if( ptr.e ) { + delete ( SDAI_BOOLEAN * ) ptr.e; + ptr.e = 0; + } + break; + case LOGICAL_TYPE: + if( ptr.e ) { + delete ( SDAI_LOGICAL * ) ptr.e; + ptr.e = 0; + } + break; + default: + break; + } + } +} + +/// name is the same even if redefined +const char * STEPattribute::Name() const { + return aDesc->Name(); +} + +std::string STEPattribute::TypeName() const { + if( _redefAttr ) { + return _redefAttr->TypeName(); + } + return aDesc->TypeName(); +} + +BASE_TYPE STEPattribute::Type() const { + if( _redefAttr ) { + return _redefAttr->Type(); + } + return aDesc->Type(); +} + +BASE_TYPE STEPattribute::NonRefType() const { + if( _redefAttr ) { + return _redefAttr->NonRefType(); + } else if( aDesc ) { + return aDesc->NonRefType(); + } + return UNKNOWN_TYPE; +} + +BASE_TYPE STEPattribute::BaseType() const { + if( _redefAttr ) { + return _redefAttr->BaseType(); + } + return aDesc->BaseType(); +} + +const TypeDescriptor * STEPattribute::ReferentType() const { + if( _redefAttr ) { + return _redefAttr->ReferentType(); + } + return aDesc->ReferentType(); +} + +bool STEPattribute::Nullable() const { + if( _redefAttr ) { + return _redefAttr->Nullable(); + } + return ( aDesc->Optionality().asInt() == LTrue ); +} diff --git a/src/clstepcore/STEPattribute.inline.cc b/src/clstepcore/STEPattribute.inline.cc deleted file mode 100644 index 74be85cf2..000000000 --- a/src/clstepcore/STEPattribute.inline.cc +++ /dev/null @@ -1,136 +0,0 @@ - -/* -* NIST STEP Core Class Library -* clstepcore/STEPattribute.inline.cc -* April 1997 -* K. C. Morris -* David Sauder - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -#include -#include -#include -#include -#include "sc_memmgr.h" - -/// This is needed so that STEPattribute's can be passed as references to inline functions -STEPattribute::STEPattribute( const STEPattribute & a ) - : _derive( 0 ), _redefAttr( 0 ), aDesc( a.aDesc ), refCount( 0 ) {} - -/// INTEGER -STEPattribute::STEPattribute( const class AttrDescriptor & d, SDAI_Integer * p ) - : _derive( 0 ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { - ptr.i = p; - assert( &d ); //ensure that the AttrDescriptor is not a null pointer -} - -/// BINARY -STEPattribute::STEPattribute( const class AttrDescriptor & d, SDAI_Binary * p ) - : _derive( 0 ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { - ptr.b = p; - assert( &d ); //ensure that the AttrDescriptor is not a null pointer -} - -/// STRING -STEPattribute::STEPattribute( const class AttrDescriptor & d, SDAI_String * p ) - : _derive( 0 ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { - ptr.S = p; - assert( &d ); //ensure that the AttrDescriptor is not a null pointer -} - -/// REAL & NUMBER -STEPattribute::STEPattribute( const class AttrDescriptor & d, SDAI_Real * p ) - : _derive( 0 ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { - ptr.r = p; - assert( &d ); //ensure that the AttrDescriptor is not a null pointer -} - -/// ENTITY -STEPattribute::STEPattribute( const class AttrDescriptor & d, - SDAI_Application_instance * *p ) - : _derive( 0 ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { - ptr.c = p; - assert( &d ); //ensure that the AttrDescriptor is not a null pointer -} - -/// AGGREGATE -STEPattribute::STEPattribute( const class AttrDescriptor & d, STEPaggregate * p ) - : _derive( 0 ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { - ptr.a = p; - assert( &d ); //ensure that the AttrDescriptor is not a null pointer -} - -/// ENUMERATION and Logical -STEPattribute::STEPattribute( const class AttrDescriptor & d, SDAI_Enum * p ) - : _derive( 0 ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { - ptr.e = p; - assert( &d ); //ensure that the AttrDescriptor is not a null pointer -} - -/// SELECT -STEPattribute::STEPattribute( const class AttrDescriptor & d, - class SDAI_Select * p ) - : _derive( 0 ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { - ptr.sh = p; - assert( &d ); //ensure that the AttrDescriptor is not a null pointer -} - -/// UNDEFINED -STEPattribute::STEPattribute( const class AttrDescriptor & d, SCLundefined * p ) - : _derive( 0 ), _redefAttr( 0 ), aDesc( &d ), refCount( 0 ) { - ptr.u = p; - assert( &d ); //ensure that the AttrDescriptor is not a null pointer -} - - -/// name is the same even if redefined -const char * STEPattribute::Name() const { - return aDesc->Name(); -} - -const char * STEPattribute::TypeName() const { - if( _redefAttr ) { - return _redefAttr->TypeName(); - } - return aDesc->TypeName(); -} - -BASE_TYPE STEPattribute::Type() const { - if( _redefAttr ) { - return _redefAttr->Type(); - } - return aDesc->Type(); -} - -BASE_TYPE STEPattribute::NonRefType() const { - if( _redefAttr ) { - return _redefAttr->NonRefType(); - } else if( aDesc ) { - return aDesc->NonRefType(); - } - return UNKNOWN_TYPE; -} - -BASE_TYPE STEPattribute::BaseType() const { - if( _redefAttr ) { - return _redefAttr->BaseType(); - } - return aDesc->BaseType(); -} - -const TypeDescriptor * STEPattribute::ReferentType() const { - if( _redefAttr ) { - return _redefAttr->ReferentType(); - } - return aDesc->ReferentType(); -} - -int STEPattribute::Nullable() const { - if( _redefAttr ) { - return _redefAttr->Nullable(); - } - return ( aDesc->Optionality().asInt() == LTrue ); -} diff --git a/src/clstepcore/STEPattributeList.cc b/src/clstepcore/STEPattributeList.cc index b2664d321..2993dd275 100644 --- a/src/clstepcore/STEPattributeList.cc +++ b/src/clstepcore/STEPattributeList.cc @@ -10,9 +10,8 @@ * and is not subject to copyright. */ -#include -#include -#include "sc_memmgr.h" +#include "clstepcore/STEPattributeList.h" +#include "clstepcore/STEPattribute.h" AttrListNode::AttrListNode( STEPattribute * a ) { attr = a; @@ -32,11 +31,12 @@ STEPattribute & STEPattributeList::operator []( int n ) { int x = 0; AttrListNode * a = ( AttrListNode * )head; int cnt = EntryCount(); - if( n < cnt ) + if( n < cnt ) { while( a && ( x < n ) ) { a = ( AttrListNode * )( a->next ); x++; } + } if( a ) { return *( a->attr ); } @@ -52,22 +52,16 @@ int STEPattributeList::list_length() { } void STEPattributeList::push( STEPattribute * a ) { - bool push = true; - - // if the attribute already exists in the list, we don't push it - // TODO: does it break anything? AttrListNode * a2 = ( AttrListNode * )head; - while( a2 && push ) { + + // if the attribute already exists in the list, don't push it + while( a2 ) { if( *a == *( a2 -> attr ) ) { - push = false; - break; + return; } a2 = ( AttrListNode * )( a2->next ); } - - if( push ) { - a->refCount ++; - AttrListNode * saln = new AttrListNode( a ); - AppendNode( saln ); - } + a->incrRefCount(); + AttrListNode * saln = new AttrListNode( a ); + AppendNode( saln ); } diff --git a/src/clstepcore/STEPcomplex.cc b/src/clstepcore/STEPcomplex.cc index 5d582f398..9451d6df6 100644 --- a/src/clstepcore/STEPcomplex.cc +++ b/src/clstepcore/STEPcomplex.cc @@ -1,25 +1,25 @@ #include -#include -#include -#include +#include "clstepcore/STEPcomplex.h" +#include "clstepcore/complexSupport.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/STEPaggregate.h" #include -#include "sc_memmgr.h" extern const char * ReadStdKeyword( istream & in, std::string & buf, int skipInitWS ); STEPcomplex::STEPcomplex( Registry * registry, int fileid ) - : SDAI_Application_instance( fileid, 1 ), sc( 0 ), _registry( registry ), visited( 0 ) { + : SDAI_Application_instance( fileid, true ), sc( 0 ), _registry( registry ), visited( 0 ) { head = this; } STEPcomplex::STEPcomplex( Registry * registry, const std::string ** names, int fileid, const char * schnm ) - : SDAI_Application_instance( fileid, 1 ), sc( 0 ), _registry( registry ), visited( 0 ) { - char * nms[BUFSIZ]; + : SDAI_Application_instance( fileid, true ), sc( 0 ), _registry( registry ), visited( 0 ) { + char * nms[BUFSIZ+1]; int j, k; head = this; @@ -38,7 +38,7 @@ STEPcomplex::STEPcomplex( Registry * registry, const std::string ** names, STEPcomplex::STEPcomplex( Registry * registry, const char ** names, int fileid, const char * schnm ) - : SDAI_Application_instance( fileid, 1 ), sc( 0 ), _registry( registry ), visited( 0 ) { + : SDAI_Application_instance( fileid, true ), sc( 0 ), _registry( registry ), visited( 0 ) { head = this; Initialize( names, schnm ); @@ -60,7 +60,7 @@ void STEPcomplex::Initialize( const char ** names, const char * schnm ) { EntNode * ents = new EntNode( names ), *eptr = ents, *prev = NULL, *enext; const EntityDescriptor * enDesc; - char nm[BUFSIZ]; + char nm[BUFSIZ+1]; bool invalid = false, outOfOrder = false; // Splice out the invalid names from our list: @@ -148,15 +148,61 @@ void STEPcomplex::Initialize( const char ** names, const char * schnm ) { } STEPcomplex::~STEPcomplex() { - STEPcomplex_attr_data attr_data; + STEPcomplex_attr_data_iter attr_data; if( sc ) { delete sc; } - for( attr_data = _attr_data_list.begin(); - attr_data != _attr_data_list.end(); - attr_data ++ ) { - delete *attr_data; + for( attr_data = _attr_data_list.begin(); attr_data != _attr_data_list.end(); attr_data ++ ) { + attrData_t attrData = *attr_data; + switch( attrData.type ) { + case INTEGER_TYPE: + delete attrData.i; + break; + case STRING_TYPE: + delete attrData.str; + break; + case BINARY_TYPE: + delete attrData.bin; + break; + case REAL_TYPE: + case NUMBER_TYPE: + delete attrData.r; + break; + case BOOLEAN_TYPE: + delete attrData.b; + break; + case LOGICAL_TYPE: + delete attrData.l; + break; + case ENTITY_TYPE: + delete attrData.ai; + break; + case ENUM_TYPE: + if( attrData.e ) { + delete attrData.e; + } + break; + case SELECT_TYPE: + if( attrData.s ) { + delete attrData.s; + } + break; + case AGGREGATE_TYPE: + case ARRAY_TYPE: // DAS + case BAG_TYPE: // DAS + case SET_TYPE: // DAS + case LIST_TYPE: // DAS + if( attrData.a ) { + delete attrData.a; + } + break; + + default: + //should not be possible to get here. + std::cerr << "Possible data corruption detected: invalid attr data encountered in STEPcomplex destructor." << std::endl; + abort(); + } } _attr_data_list.clear(); } @@ -204,17 +250,14 @@ void STEPcomplex::AssignDerives() { } } -/** \fn STEPcomplex::AddEntityPart -** this function should only be called for the head entity -** in the list of entity parts. -*/ +/** this function should only be called for the head entity in the list of entity parts. */ void STEPcomplex::AddEntityPart( const char * name ) { STEPcomplex * scomplex; - if( name ) { scomplex = new STEPcomplex( _registry, STEPfile_id ); scomplex->BuildAttrs( name ); if( scomplex->eDesc ) { + scomplex->InitIAttrs(); scomplex->head = this; AppendEntity( scomplex ); } else { @@ -226,15 +269,15 @@ void STEPcomplex::AddEntityPart( const char * name ) { STEPcomplex * STEPcomplex::EntityPart( const char * name, const char * currSch ) { STEPcomplex * scomp = head; - std::string s1, s2; while( scomp ) { if( scomp->eDesc ) { if( scomp->eDesc->CurrName( name, currSch ) ) { return scomp; } - } else + } else { cout << "Bug in STEPcomplex::EntityPart(): entity part has " << "no EntityDescriptor\n"; + } scomp = scomp->sc; } return 0; @@ -259,8 +302,11 @@ const EntityDescriptor * STEPcomplex::IsA( const EntityDescriptor * ed ) const { } } -Severity STEPcomplex::ValidLevel( ErrorDescriptor * error, InstMgr * im, +Severity STEPcomplex::ValidLevel( ErrorDescriptor * error, InstMgrBase * im, int clearError ) { + (void) error; //unused + (void) im; + (void) clearError; cout << "STEPcomplex::ValidLevel() not implemented.\n"; return SEVERITY_NULL; } @@ -274,7 +320,7 @@ void STEPcomplex::AppendEntity( STEPcomplex * stepc ) { } // READ -Severity STEPcomplex::STEPread( int id, int addFileId, class InstMgr * instance_set, +Severity STEPcomplex::STEPread( int id, int addFileId, class InstMgrBase * instance_set, istream & in, const char * currSch, bool /*useTechCor*/, bool /*strict*/ ) { char c; std::string typeNm; @@ -301,8 +347,7 @@ Severity STEPcomplex::STEPread( int id, int addFileId, class InstMgr * instance_ in >> ws; c = in.peek(); if( c != '(' ) { - _error.AppendToDetailMsg( - "Missing open paren before entity attr values.\n" ); + _error.AppendToDetailMsg( "Missing open paren before entity attr values.\n" ); cout << "ERROR: missing open paren\n"; _error.GreaterSeverity( SEVERITY_INPUT_ERROR ); STEPread_error( c, 0, in, currSch ); @@ -310,15 +355,12 @@ Severity STEPcomplex::STEPread( int id, int addFileId, class InstMgr * instance_ } stepc = EntityPart( typeNm.c_str(), currSch ); - if( stepc ) - stepc->SDAI_Application_instance::STEPread( id, addFileId, - instance_set, in, - currSch ); - else { - cout << "ERROR: complex entity part \"" << typeNm - << "\" does not exist.\n"; - _error.AppendToDetailMsg( - "Complex entity part of instance does not exist.\n" ); + if( stepc ) { + //WARNING need to seek to the correct position when this is done... how? + stepc->SDAI_Application_instance::STEPread( id, addFileId, instance_set, in, currSch ); + } else { + cout << "ERROR: complex entity part \"" << typeNm << "\" does not exist." << endl;; + _error.AppendToDetailMsg( "Complex entity part of instance does not exist.\n" ); _error.GreaterSeverity( SEVERITY_INPUT_ERROR ); STEPread_error( c, 0, in, currSch ); return _error.severity(); @@ -326,12 +368,16 @@ Severity STEPcomplex::STEPread( int id, int addFileId, class InstMgr * instance_ in >> ws; c = in.peek(); } - if( c != ')' ) - cout << - "ERROR: missing ending paren for complex entity instance.\n"; - else { + if( c != ')' ) { + cout << "ERROR: missing ending paren for complex entity instance." << endl; + } else { in.get( c ); // read the closing paren } + } else { + _error.AppendToDetailMsg( "Complex instances must begin with '('. Found '" ); + _error.AppendToDetailMsg( c ); + _error.AppendToDetailMsg( "' instead.\n" ); + _error.GreaterSeverity( SEVERITY_INPUT_ERROR ); } return _error.severity(); } @@ -339,7 +385,7 @@ Severity STEPcomplex::STEPread( int id, int addFileId, class InstMgr * instance_ //FIXME delete this? #ifdef buildwhileread // READ -Severity STEPcomplex::STEPread( int id, int addFileId, class InstMgr * instance_set, +Severity STEPcomplex::STEPread( int id, int addFileId, class InstMgrBase * instance_set, istream & in, const char * currSch ) { ClearError( 1 ); STEPfile_id = id; @@ -428,18 +474,7 @@ void STEPcomplex::BuildAttrs( const char * s ) { eDesc = ( class EntityDescriptor * )_registry->FindEntity( s ); if( eDesc ) { - const AttrDescriptorList * attrList; - SDAI_Integer * integer_data; - SDAI_String * string_data; - SDAI_Binary * binary_data; - SDAI_Real * real_data; - SDAI_BOOLEAN * boolean_data; - SDAI_LOGICAL * logical_data; - SDAI_Application_instance ** entity_data; - SDAI_Enum * enum_data; - SDAI_Select * select_data; - STEPaggregate * aggr_data; - attrList = &( eDesc->ExplicitAttr() ); + const AttrDescriptorList * attrList = &( eDesc->ExplicitAttr() ); ////////////////////////////////////////////// // find out how many attrs there are @@ -447,70 +482,61 @@ void STEPcomplex::BuildAttrs( const char * s ) { STEPattribute * a = 0; + //_attr_data_list used to store everything as void *, but we couldn't correctly delete the contents in the dtor. AttrDescLinkNode * attrPtr = ( AttrDescLinkNode * )attrList->GetHead(); while( attrPtr != 0 ) { const AttrDescriptor * ad = attrPtr->AttrDesc(); if( ( ad->Derived() ) != LTrue ) { - - switch( ad->NonRefType() ) { + attrData_t attrData; + attrData.type = ad->NonRefType(); + switch( attrData.type ) { case INTEGER_TYPE: - integer_data = new SDAI_Integer; - _attr_data_list.push_back( ( void * ) integer_data ); - a = new STEPattribute( *ad, integer_data ); + attrData.i = new SDAI_Integer; + a = new STEPattribute( *ad, attrData.i ); break; case STRING_TYPE: - string_data = new SDAI_String; - _attr_data_list.push_back( ( void * ) string_data ); - a = new STEPattribute( *ad, string_data ); + attrData.str = new SDAI_String; + a = new STEPattribute( *ad, attrData.str ); break; case BINARY_TYPE: - binary_data = new SDAI_Binary; - _attr_data_list.push_back( ( void * ) binary_data ); - a = new STEPattribute( *ad, binary_data ); + attrData.bin = new SDAI_Binary; + a = new STEPattribute( *ad, attrData.bin ); break; case REAL_TYPE: case NUMBER_TYPE: - real_data = new SDAI_Real; - _attr_data_list.push_back( ( void * ) real_data ); - a = new STEPattribute( *ad, real_data ); + attrData.r = new SDAI_Real; + a = new STEPattribute( *ad, attrData.r ); break; case BOOLEAN_TYPE: - boolean_data = new SDAI_BOOLEAN; - _attr_data_list.push_back( ( void * ) boolean_data ); - a = new STEPattribute( *ad, boolean_data ); + attrData.b = new SDAI_BOOLEAN; + a = new STEPattribute( *ad, attrData.b ); break; case LOGICAL_TYPE: - logical_data = new SDAI_LOGICAL; - _attr_data_list.push_back( ( void * ) logical_data ); - a = new STEPattribute( *ad, logical_data ); + attrData.l = new SDAI_LOGICAL; + a = new STEPattribute( *ad, attrData.l ); break; case ENTITY_TYPE: - entity_data = new( SDAI_Application_instance * ); - _attr_data_list.push_back( ( void * ) entity_data ); - a = new STEPattribute( *ad, entity_data ); + attrData.ai = new( SDAI_Application_instance * ); + a = new STEPattribute( *ad, attrData.ai ); break; case ENUM_TYPE: { - EnumTypeDescriptor * enumD = - ( EnumTypeDescriptor * )ad->ReferentType(); - enum_data = enumD->CreateEnum(); - _attr_data_list.push_back( ( void * ) enum_data ); - a = new STEPattribute( *ad, enum_data ); + EnumTypeDescriptor * enumD = ( EnumTypeDescriptor * )ad->ReferentType(); + attrData.e = enumD->CreateEnum(); + a = new STEPattribute( *ad, attrData.e ); break; } case SELECT_TYPE: { - SelectTypeDescriptor * selectD = - ( SelectTypeDescriptor * )ad->ReferentType(); - select_data = selectD->CreateSelect(); - _attr_data_list.push_back( ( void * ) select_data ); - a = new STEPattribute( *ad, select_data ); + SelectTypeDescriptor * selectD = ( SelectTypeDescriptor * )ad->ReferentType(); + attrData.s = selectD->CreateSelect(); + a = new STEPattribute( *ad, attrData.s ); break; } case AGGREGATE_TYPE: @@ -518,18 +544,19 @@ void STEPcomplex::BuildAttrs( const char * s ) { case BAG_TYPE: // DAS case SET_TYPE: // DAS case LIST_TYPE: { // DAS - AggrTypeDescriptor * aggrD = - ( AggrTypeDescriptor * )ad->ReferentType(); - aggr_data = aggrD->CreateAggregate(); - //_attr_data_list.push_back( ( void * ) aggr_data ); - _attr_data_list.push_back( aggr_data ); - a = new STEPattribute( *ad, aggr_data ); + AggrTypeDescriptor * aggrD = ( AggrTypeDescriptor * )ad->ReferentType(); + attrData.a = aggrD->CreateAggregate(); + a = new STEPattribute( *ad, attrData.a ); break; } default: _error.AppendToDetailMsg( "STEPcomplex::BuildAttrs: Found attribute of unknown type. Creating default attribute.\n" ); _error.GreaterSeverity( SEVERITY_WARNING ); a = new STEPattribute(); + attrData.type = UNKNOWN_TYPE; //don't add to attr list + } + if( attrData.type != UNKNOWN_TYPE ) { + _attr_data_list.push_back( attrData ); } a -> set_null(); @@ -566,7 +593,7 @@ void STEPcomplex::STEPwrite( ostream & out, const char * currSch, int writeComme if( writeComment && !p21Comment.empty() ) { out << p21Comment; } - out << "#" << STEPfile_id << "=("; + out << "#" << STEPfile_id << "=(\n"; WriteExtMapEntities( out, currSch ); out << ");\n"; } @@ -598,7 +625,7 @@ void STEPcomplex::WriteExtMapEntities( ostream & out, const char * currSch ) { out << ","; } } - out << ")"; + out << ")\n"; if( sc ) { sc->WriteExtMapEntities( out, currSch ); } @@ -606,33 +633,32 @@ void STEPcomplex::WriteExtMapEntities( ostream & out, const char * currSch ) { /** \copydoc STEPcomplex::STEPwrite */ const char * STEPcomplex::WriteExtMapEntities( std::string & buf, const char * currSch ) { - std::string tmp; - buf.append( ( char * )StrToUpper( EntityName( currSch ), tmp ) ); + StrToUpper( EntityName( currSch ), tmp ); + buf.append( tmp ); buf.append( "i" ); int n = attributes.list_length(); for( int i = 0 ; i < n; i++ ) { - attributes[i].asStr( tmp, currSch ) ; - buf.append( tmp ); + buf.append( attributes[i].asStr( currSch ) ); if( i < n - 1 ) { buf.append( "," ); } } - buf.append( ")" ); + buf.append( ")\n" ); if( sc ) { sc->WriteExtMapEntities( buf, currSch ); } - return const_cast( buf.c_str() ); + return buf.c_str(); } void STEPcomplex::CopyAs( SDAI_Application_instance * se ) { if( !se->IsComplex() ) { - char errStr[BUFSIZ]; + char errStr[BUFSIZ+1]; cerr << "STEPcomplex::CopyAs() called with non-complex entity: " << __FILE__ << __LINE__ << "\n" << _POC_ "\n"; sprintf( errStr, @@ -673,7 +699,7 @@ SDAI_Application_instance * STEPcomplex::Replicate() { } nameList[i] = ( std::string * )0; if( i == 63 ) { - char errStr[BUFSIZ]; + char errStr[BUFSIZ+1]; cerr << "STEPcomplex::Replicate() name buffer too small: " << __FILE__ << __LINE__ << "\n" << _POC_ "\n"; sprintf( errStr, diff --git a/src/clstepcore/STEPinvAttrList.cc b/src/clstepcore/STEPinvAttrList.cc new file mode 100644 index 000000000..3eaa9d352 --- /dev/null +++ b/src/clstepcore/STEPinvAttrList.cc @@ -0,0 +1,65 @@ + +/** \file STEPinvAttrList.cc + * derived from STEPattributeList.cc + */ + +#include "clstepcore/STEPinvAttrList.h" +#include "clstepcore/ExpDict.h" + +invAttrListNodeI::invAttrListNodeI(Inverse_attribute* a, setterI_t s, getterI_t g): invAttrListNode(a), set( s ), get( g ) {} +invAttrListNodeA::invAttrListNodeA(Inverse_attribute* a, setterA_t s, getterA_t g): invAttrListNode(a), set( s ), get( g ) {} + +invAttrListNodeI::~invAttrListNodeI() {} +invAttrListNodeA::~invAttrListNodeA() {} + +STEPinvAttrList::STEPinvAttrList() {} +STEPinvAttrList::~STEPinvAttrList() {} + +invAttrListNode * STEPinvAttrList::operator []( int n ) { + int x = 0; + invAttrListNode * a = ( invAttrListNode * )head; + int cnt = EntryCount(); + if( n < cnt ) { + while( a && ( x < n ) ) { + a = ( invAttrListNode * )( a->next ); + x++; + } + } + if( !a ) { + cerr << "\nERROR in STEP Core library: " << __FILE__ << ":" + << __LINE__ << "\n" << _POC_ << "\n\n"; + } + return a; +} + +int STEPinvAttrList::list_length() { + return EntryCount(); +} + +void STEPinvAttrList::push( Inverse_attribute * a, setterA_t s, getterA_t g ) { + invAttrListNode * an = ( invAttrListNode * )head; + + // if the attribute already exists in the list, don't push it + while( an ) { + if( a == ( an -> attr ) ) { + return; + } + an = ( invAttrListNode * )( an->next ); + } + invAttrListNode * ialn = (invAttrListNode *) new invAttrListNodeA( a, s, g ); + AppendNode( ialn ); +} + +void STEPinvAttrList::push( Inverse_attribute * a, setterI_t s, getterI_t g ) { + invAttrListNode * an = ( invAttrListNode * )head; + + // if the attribute already exists in the list, don't push it + while( an ) { + if( a == ( an -> attr ) ) { + return; + } + an = ( invAttrListNode * )( an->next ); + } + invAttrListNode * ialn = (invAttrListNode *) new invAttrListNodeI( a, s, g ); + AppendNode( ialn ); +} diff --git a/src/clstepcore/STEPundefined.cc b/src/clstepcore/STEPundefined.cc index cfbd3a372..19c63f37d 100644 --- a/src/clstepcore/STEPundefined.cc +++ b/src/clstepcore/STEPundefined.cc @@ -11,15 +11,15 @@ */ #include // to get the BUFSIZ #define -#include -#include -#include "sc_memmgr.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/STEPundefined.h" /** \class SCLundefined ** helper functions for reading unknown types */ Severity SCLundefined::StrToVal( const char * s, ErrorDescriptor * err ) { + (void) err; //unused val = s; return SEVERITY_NULL; } @@ -148,6 +148,7 @@ int SCLundefined::set_null() { return 1; } -int SCLundefined::is_null() { +bool SCLundefined::is_null() { return ( val.empty() ); -} \ No newline at end of file +} + diff --git a/src/clstepcore/SingleLinkList.cc b/src/clstepcore/SingleLinkList.cc index 79796509e..19a1f82e7 100644 --- a/src/clstepcore/SingleLinkList.cc +++ b/src/clstepcore/SingleLinkList.cc @@ -10,8 +10,47 @@ * and is not subject to copyright. */ -#include -#include "sc_memmgr.h" +#include "clstepcore/SingleLinkList.h" +#include + + +SingleLinkList::SingleLinkList() : head( 0 ), tail( 0 ) { +} + +SingleLinkList::~SingleLinkList() { + Empty(); +} + +void SingleLinkList::Empty() { + SingleLinkNode * tmp = head; + while( tmp ) { + tmp = head -> NextNode(); + delete head; + head = tmp; + } +} + +SingleLinkNode * SingleLinkList::NewNode() { + // defined in subtypes + std::cerr << "\n\n******BUG****** a virtually defined function should \n" + << "be called for SingleLinkList::NewNode()\n\n"; + return new SingleLinkNode(); +} + +SingleLinkNode * SingleLinkList::GetHead() const { + return ( head ); +} + +int SingleLinkList::EntryCount() const { + int entryCount = 0; + SingleLinkNode * entryPtr = head; + + while( entryPtr != 0 ) { + entryPtr = entryPtr->NextNode(); + entryCount++; + } + return entryCount; +} void SingleLinkList::DeleteFollowingNodes( SingleLinkNode * item ) { if( head ) { @@ -55,7 +94,7 @@ void SingleLinkList::AppendNode( SingleLinkNode * item ) { } void SingleLinkList::DeleteNode( SingleLinkNode * item ) { - if( head ) { + if( head && item ) { SingleLinkNode * trailer = 0; SingleLinkNode * leader = head; while( leader ) { @@ -71,6 +110,7 @@ void SingleLinkList::DeleteNode( SingleLinkNode * item ) { tail = trailer; } delete item; + return; } else { if( trailer ) { trailer = trailer->NextNode(); diff --git a/src/clstepcore/SingleLinkList.inline.cc b/src/clstepcore/SingleLinkList.inline.cc deleted file mode 100644 index 3a5c4815a..000000000 --- a/src/clstepcore/SingleLinkList.inline.cc +++ /dev/null @@ -1,59 +0,0 @@ - -/* -* NIST STEP Core Class Library -* clstepcore/SingleLinkList.inline.cc -* April 1997 -* David Sauder -* KC Morris - -* Development of this software was funded by the United States Government, -* and is not subject to copyright. -*/ - -#include -#include -#include "sc_memmgr.h" - -SingleLinkNode * -SingleLinkNode::NextNode() const { - return next; -} - -SingleLinkList::SingleLinkList() - : head( 0 ), tail( 0 ) { -} - -SingleLinkList::~SingleLinkList() { - Empty(); -} - -void SingleLinkList::Empty() { - SingleLinkNode * tmp = head; - while( tmp ) { - tmp = head -> NextNode(); - delete head; - head = tmp; - } -} - -SingleLinkNode * SingleLinkList::NewNode() { - // defined in subtypes - std::cerr << "\n\n******BUG****** a virtually defined function should \n" - << "be called for SingleLinkList::NewNode()\n\n"; - return new SingleLinkNode(); -} - -SingleLinkNode * SingleLinkList::GetHead() const { - return ( head ); -} - -int SingleLinkList::EntryCount() const { - int entryCount = 0; - SingleLinkNode * entryPtr = head; - - while( entryPtr != 0 ) { - entryPtr = entryPtr->NextNode(); - entryCount++; - } - return entryCount; -} diff --git a/src/clstepcore/aggrTypeDescriptor.cc b/src/clstepcore/aggrTypeDescriptor.cc new file mode 100644 index 000000000..b61b08f72 --- /dev/null +++ b/src/clstepcore/aggrTypeDescriptor.cc @@ -0,0 +1,31 @@ +#include "clstepcore/aggrTypeDescriptor.h" + +STEPaggregate * AggrTypeDescriptor::CreateAggregate() { + if( CreateNewAggr ) { + return CreateNewAggr(); + } else { + return 0; + } +} + +void AggrTypeDescriptor::AssignAggrCreator( AggregateCreator f ) { + CreateNewAggr = f; +} + +AggrTypeDescriptor::AggrTypeDescriptor( ) : +_uniqueElements( "UNKNOWN_TYPE" ) { + _bound1 = -1; + _bound2 = -1; + _aggrDomainType = 0; +} + +AggrTypeDescriptor::AggrTypeDescriptor( SDAI_Integer b1, + SDAI_Integer b2, + Logical uniqElem, + TypeDescriptor * aggrDomType ) +: _bound1( b1 ), _bound2( b2 ), _uniqueElements( uniqElem ) { + _aggrDomainType = aggrDomType; +} + +AggrTypeDescriptor::~AggrTypeDescriptor() { +} diff --git a/src/clstepcore/attrDescriptor.cc b/src/clstepcore/attrDescriptor.cc new file mode 100644 index 000000000..a6a71b65a --- /dev/null +++ b/src/clstepcore/attrDescriptor.cc @@ -0,0 +1,138 @@ +#include "clstepcore/attrDescriptor.h" + +AttrDescriptor::AttrDescriptor( const char * name, const TypeDescriptor * domainType, + Logical optional, Logical unique, AttrType_Enum at, + const EntityDescriptor & owner ) + : _name( name ), _domainType( domainType ), _optional( optional ), + _unique( unique ), _attrType( at ), _owner( ( EntityDescriptor & )owner ) { +} + +AttrDescriptor::~AttrDescriptor() { +} + +Logical AttrDescriptor::Explicit() const { + if( _attrType == AttrType_Explicit ) { + return LTrue; + } + return LFalse; +} + +Logical AttrDescriptor::Inverse() const { + if( _attrType == AttrType_Inverse ) { + return LTrue; + } + return LFalse; +} + +Logical AttrDescriptor::Redefining() const { + if( _attrType == AttrType_Redefining ) { + return LTrue; + } + return LFalse; +} + +Logical AttrDescriptor::Deriving() const { + if( _attrType == AttrType_Deriving ) { + return LTrue; + } + return LFalse; +} + +const char * AttrDescriptor::AttrExprDefStr( std::string & s ) const { + std::string buf; + + s = Name(); + s.append( " : " ); + if( _optional.asInt() == LTrue ) { + s.append( "OPTIONAL " ); + } + if( DomainType() ) { + DomainType()->AttrTypeName( buf ); + s.append( buf ); + } + return const_cast( s.c_str() ); +} + +PrimitiveType AttrDescriptor::BaseType() const { + if( _domainType ) { + return _domainType->BaseType(); + } + return UNKNOWN_TYPE; +} + +int AttrDescriptor::IsAggrType() const { + return ReferentType()->IsAggrType(); +} + +PrimitiveType AttrDescriptor::AggrElemType() const { + if( IsAggrType() ) { + return ReferentType()->AggrElemType(); + } + return UNKNOWN_TYPE; +} + +const TypeDescriptor * AttrDescriptor::AggrElemTypeDescriptor() const { + if( IsAggrType() ) { + return ReferentType()->AggrElemTypeDescriptor(); + } + return 0; +} + +const TypeDescriptor * AttrDescriptor::NonRefTypeDescriptor() const { + if( _domainType ) { + return _domainType->NonRefTypeDescriptor(); + } + return 0; +} + +PrimitiveType +AttrDescriptor::NonRefType() const { + if( _domainType ) { + return _domainType->NonRefType(); + } + return UNKNOWN_TYPE; +} + +PrimitiveType +AttrDescriptor::Type() const { + if( _domainType ) { + return _domainType->Type(); + } + return UNKNOWN_TYPE; +} + +/** + * right side of attr def + * NOTE this returns a \'const char * \' instead of an std::string + */ +const std::string AttrDescriptor::TypeName() const { + std::string buf; + + if( _domainType ) { + _domainType->AttrTypeName( buf ); + } + return buf; +} + +/// an expanded right side of attr def +const char * +AttrDescriptor::ExpandedTypeName( std::string & s ) const { + s.clear(); + if( Derived() == LTrue ) { + s = "DERIVE "; + } + if( _domainType ) { + std::string tmp; + return const_cast( ( s.append( _domainType->TypeString( tmp ) ).c_str() ) ); + } else { + return 0; + } +} + +const char * AttrDescriptor::GenerateExpress( std::string & buf ) const { + std::string sstr; + buf = AttrExprDefStr( sstr ); + buf.append( ";\n" ); + return const_cast( buf.c_str() ); +} + diff --git a/src/clstepcore/attrDescriptorList.cc b/src/clstepcore/attrDescriptorList.cc new file mode 100644 index 000000000..903180c5b --- /dev/null +++ b/src/clstepcore/attrDescriptorList.cc @@ -0,0 +1,42 @@ +#include "clstepcore/attrDescriptorList.h" + +#include "clstepcore/attrDescriptor.h" + +AttrDescriptorList::AttrDescriptorList() { +} + +AttrDescriptorList::~AttrDescriptorList() { +} + +AttrDescLinkNode * AttrDescriptorList::AddNode( AttrDescriptor * ad ) { + AttrDescLinkNode * node = ( AttrDescLinkNode * ) NewNode(); + node->AttrDesc( ad ); + SingleLinkList::AppendNode( node ); + return node; +} + +AttrDescLinkNode::AttrDescLinkNode() { + _attrDesc = 0; +} + +AttrDescLinkNode::~AttrDescLinkNode() { + if( _attrDesc ) { + delete _attrDesc; + } +} + +AttrDescItr::AttrDescItr( const AttrDescriptorList & adList ) : adl( adList ) { + cur = ( AttrDescLinkNode * )( adl.GetHead() ); +} + +AttrDescItr::~AttrDescItr() { +} + +const AttrDescriptor * AttrDescItr::NextAttrDesc() { + if( cur ) { + const AttrDescriptor * ad = cur->AttrDesc(); + cur = ( AttrDescLinkNode * )( cur->NextNode() ); + return ad; + } + return 0; +} diff --git a/src/clstepcore/collect.cc b/src/clstepcore/collect.cc index 08f2131bb..7a952f556 100644 --- a/src/clstepcore/collect.cc +++ b/src/clstepcore/collect.cc @@ -1,7 +1,7 @@ /*************************************************************************//** * collect.cc \class ComplexCollect * * * - * Description: ComplexCollect is the container structure for all ofthe com- * + * Description: ComplexCollect is the container structure for all of the com-* * plex entity information in a schema. It contains a list of * * ComplexList structures each of which corresponds to one set * * of subtype/supertype information about the schema. This file * @@ -11,8 +11,7 @@ * Date: 11/14/96 * *****************************************************************************/ -#include "complexSupport.h" -#include "sc_memmgr.h" +#include "clstepcore/complexSupport.h" /** * Inserts a new ComplexList to our list. The ComplexLists are ordered by @@ -85,8 +84,8 @@ ComplexList * ComplexCollect::find( char * name ) { /** * Determines if the parent schema supports the instantiation of a complex - * type consisting of the the entities named in ents. Does so by attempt- - * ing to match ents against the ComplexLists in clists. If one of the + * type consisting of the entities named in ents. Does so by attempting + * to match ents against the ComplexLists in clists. If one of the * nodes of ents has multSupers set to true (it has >1 supertype), it * should be included in >1 CList. A more complicated algorithm is applied * to match it, as described in the commenting. diff --git a/src/clstepcore/complexlist.cc b/src/clstepcore/complexlist.cc index aa5a60d20..3dcdff482 100644 --- a/src/clstepcore/complexlist.cc +++ b/src/clstepcore/complexlist.cc @@ -10,8 +10,7 @@ * Date: 01/07/97 * *****************************************************************************/ -#include "complexSupport.h" -#include "sc_memmgr.h" +#include "clstepcore/complexSupport.h" /** * Destructor for ComplexList. @@ -47,7 +46,7 @@ bool ComplexList::toplevel( const char * name ) { EntList * slist = head->childList; while( slist ) { - if( *( SimpleList * )slist == name ) { + if( * dynamic_cast< SimpleList * >(slist) == name ) { return true; } slist = slist->next; @@ -76,8 +75,7 @@ void ComplexList::buildList() { } // Add first node based on supertype: - list = new EntNode( ( ( SimpleList * )head->childList )->name ); - + list = new EntNode( ( dynamic_cast< SimpleList * >(head->childList ))->name ); // Recursively add all descendents: while( sibling ) { addChildren( sibling ); @@ -106,7 +104,7 @@ void ComplexList::addChildren( EntList * ent ) { child = child->next; } } else { - nm = ( ( SimpleList * )ent )->name; + nm = ( dynamic_cast(ent) )->name; while( prev != NULL && ( comp = strcmp( prev->name, nm ) ) < 0 ) { prev2 = prev; prev = prev->next; @@ -145,7 +143,7 @@ bool ComplexList::contains( EntNode * ents ) { ours = ours->next; } if( ours == NULL || *ours > *theirs ) { - // If either of these occured, we couldn't find one of ours which + // If either of these occurred, we couldn't find one of ours which // matched the current "theirs". return false; } @@ -164,7 +162,7 @@ bool ComplexList::contains( EntNode * ents ) { * when the schema was read; false otherwise. */ bool ComplexList::matches( EntNode * ents ) { - MatchType retval, otherChoices = NEWCHOICE; + MatchType retval; int result = false; // First check if this ComplexList at least contains all the nodes of ents. @@ -190,6 +188,7 @@ bool ComplexList::matches( EntNode * ents ) { } else if( retval >= MATCHSOME ) { // We have a partial answer. Check if other solutions exist (i.e., // if there are OR's with other choices): + MatchType otherChoices = NEWCHOICE; while( otherChoices == NEWCHOICE ) { otherChoices = head->tryNext( ents ); if( otherChoices == MATCHALL ) { diff --git a/src/clstepcore/create_Aggr.cc b/src/clstepcore/create_Aggr.cc new file mode 100644 index 000000000..e71cfbc86 --- /dev/null +++ b/src/clstepcore/create_Aggr.cc @@ -0,0 +1,34 @@ +#include "clstepcore/create_Aggr.h" +#include "clstepcore/STEPaggregate.h" + +EnumAggregate * create_EnumAggregate() { + return new EnumAggregate; +} + +GenericAggregate * create_GenericAggregate() { + return new GenericAggregate; +} + +EntityAggregate * create_EntityAggregate() { + return new EntityAggregate; +} + +SelectAggregate * create_SelectAggregate() { + return new SelectAggregate; +} + +StringAggregate * create_StringAggregate() { + return new StringAggregate; +} + +BinaryAggregate * create_BinaryAggregate() { + return new BinaryAggregate; +} + +RealAggregate * create_RealAggregate() { + return new RealAggregate; +} + +IntAggregate * create_IntAggregate() { + return new IntAggregate; +} diff --git a/src/clstepcore/derivedAttribute.cc b/src/clstepcore/derivedAttribute.cc new file mode 100644 index 000000000..8d21b0884 --- /dev/null +++ b/src/clstepcore/derivedAttribute.cc @@ -0,0 +1,30 @@ +#include "clstepcore/derivedAttribute.h" + +Derived_attribute::Derived_attribute( const char * name, const TypeDescriptor * domainType, + Logical optional, Logical unique, AttrType_Enum at, const EntityDescriptor & owner ) + : AttrDescriptor( name, domainType, optional, unique, at, owner ) { + _initializer = ( const char * )0; +} + +Derived_attribute::~Derived_attribute() { +} + +const char * Derived_attribute::AttrExprDefStr( std::string & s ) const { + std::string buf; + + s.clear(); + if( Name() && strchr( Name(), '.' ) ) { + s = "SELF\\"; + } + s.append( Name() ); + s.append( " : " ); + if( DomainType() ) { + DomainType()->AttrTypeName( buf ); + s.append( buf ); + } + if( _initializer ) { // this is supposed to exist for a derived attribute. + s.append( " \n\t\t:= " ); + s.append( _initializer ); + } + return const_cast( s.c_str() ); +} diff --git a/src/clstepcore/dict-pic.txt b/src/clstepcore/dict-pic.txt index aea7a746e..79f3399ad 100644 --- a/src/clstepcore/dict-pic.txt +++ b/src/clstepcore/dict-pic.txt @@ -9,7 +9,7 @@ Jeff, This is the layout of the dictionary classes in our toolkit (when the new changes get integrated). This matches Part 23. -// The classes in the heirarchy are the new names for our classes. +// The classes in the hierarchy are the new names for our classes. // DictionaryInstance // | diff --git a/src/clstepcore/dictSchema.cc b/src/clstepcore/dictSchema.cc new file mode 100644 index 000000000..aa87b4586 --- /dev/null +++ b/src/clstepcore/dictSchema.cc @@ -0,0 +1,211 @@ +#include "clstepcore/dictSchema.h" + +#include "clstepcore/typeDescriptor.h" +#include "clstepcore/entityDescriptor.h" + +Schema::Schema( const char * schemaName ) +: _use_interface_list( new Interface_spec__set ), +_ref_interface_list( new Interface_spec__set ), +_function_list( 0 ), _procedure_list( 0 ), _global_rules( 0 ) { + _name = schemaName; +} + +Schema::~Schema() { + TypeDescLinkNode * node; + + if( _use_interface_list != 0 ) { + delete _use_interface_list; + } + if( _ref_interface_list != 0 ) { + delete _ref_interface_list; + } + if( _global_rules != 0 ) { + delete _global_rules; + } + node = ( TypeDescLinkNode * ) _unnamed_typeList.GetHead(); + while( node ) { + delete node->TypeDesc(); + node = ( TypeDescLinkNode * ) node->NextNode(); + } +} + +void Schema::AddFunction( const std::string & f ) { + _function_list.push_back( f ); +} + +void Schema::AddGlobal_rule( Global_rule_ptr gr ) { + if( _global_rules == 0 ) { + _global_rules = new Global_rule__set; + } + _global_rules->Append( gr ); +} + +/// hope I did this right (MP) - was "not implemented" +void Schema::global_rules_( Global_rule__set_var & grs ) { + if( _global_rules ) { + if( _global_rules->Count() > 0 ) { + std::cerr << "In " << __FILE__ << ", Schema::global_rules_(): overwriting non-empty global rule set!" << std::endl; + } + delete _global_rules; + } + _global_rules = grs; +} + +void Schema::AddProcedure( const std::string & p ) { + _procedure_list.push_back( p ); +} + +/// the whole schema +void Schema::GenerateExpress( ostream & out ) const { + std::string tmp; + out << endl << "(* Generating: " << Name() << " *)" << endl; + out << endl << "SCHEMA " << StrToLower( Name(), tmp ) << ";" << endl; + GenerateUseRefExpress( out ); + // print TYPE definitions + out << endl << "(* ////////////// TYPE Definitions *)" << endl; + GenerateTypesExpress( out ); + + // print Entity definitions + out << endl << "(* ////////////// ENTITY Definitions *)" << endl; + GenerateEntitiesExpress( out ); + + int count, i; + if( _global_rules != 0 ) { + out << endl << "(* *************RULES************* *)" << endl; + count = _global_rules->Count(); + for( i = 0; i < count; i++ ) { + out << endl << ( *_global_rules )[i]->rule_text_() << endl; + } + } + if( !_function_list.empty() ) { + out << "(* *************FUNCTIONS************* *)" << endl; + count = _function_list.size(); + for( i = 0; i < count; i++ ) { + out << endl << _function_list[i] << endl; + } + } + if( !_procedure_list.empty() ) { + out << "(* *************PROCEDURES************* *)" << endl; + count = _procedure_list.size(); + for( i = 0; i < count; i++ ) { + out << endl << _procedure_list[i] << endl; + } + } + out << endl << "END_SCHEMA;" << endl; +} + +/// USE, REFERENCE definitions +void Schema::GenerateUseRefExpress( ostream & out ) const { + int i, k; + int intf_count; + int count; + Interface_spec_ptr is; + int first_time; + std::string tmp; + + /////////////////////// print USE statements + + intf_count = _use_interface_list->Count(); + if( intf_count ) { // there is at least 1 USE interface to a foreign schema + for( i = 0; i < intf_count; i++ ) { // print out each USE interface + is = ( *_use_interface_list )[i]; // the 1st USE interface + + // count is # of USE items in interface + count = is->explicit_items_()->Count(); + + if( count > 0 ) { + out << endl << " USE FROM " + << StrToLower( is->foreign_schema_id_().c_str(), tmp ) << endl; + out << " ("; + + first_time = 1; + for( k = 0; k < count; k++ ) { // print out each USE item + if( first_time ) { + first_time = 0; + } else { + out << "," << endl << "\t"; + } + if( !( ( *( is->explicit_items_() ) )[k]->original_id_().size() ) ) { + // not renamed + out << ( *( is->explicit_items_() ) )[k]->new_id_(); + } else { // renamed + out << ( *( is->explicit_items_() ) )[k]->original_id_(); + out << " AS " << ( *( is->explicit_items_() ) )[k]->new_id_(); + } + } + out << ");" << endl; + } else if( is->all_objects_() ) { + out << endl << " USE FROM " + << StrToLower( is->foreign_schema_id_().c_str(), tmp ) << ";" + << endl; + } + } + } + + /////////////////////// print REFERENCE stmts + + intf_count = _ref_interface_list->Count(); + if( intf_count ) { //there is at least 1 REFERENCE interface to a foreign schema + for( i = 0; i < intf_count; i++ ) { // print out each REFERENCE interface + is = ( *_ref_interface_list )[i]; // the 1st REFERENCE interface + + // count is # of REFERENCE items in interface + count = is->explicit_items_()->Count(); + + + if( count > 0 ) { + out << endl << " REFERENCE FROM " + << StrToLower( is->foreign_schema_id_().c_str(), tmp ) << endl; + out << " ("; + + first_time = 1; + for( k = 0; k < count; k++ ) { // print out each REFERENCE item + if( first_time ) { + first_time = 0; + } else { + out << "," << endl << "\t"; + } + if( ( !( *( is->explicit_items_() ) )[k]->original_id_().size() ) ) { + // not renamed + out << ( *( is->explicit_items_() ) )[k]->new_id_(); + } else { // renamed + out << ( *( is->explicit_items_() ) )[k]->original_id_(); + out << " AS " + << ( *( is->explicit_items_() ) )[k]->new_id_(); + } + } + out << ");" << endl; + } else if( is->all_objects_() ) { + out << endl << " REFERENCE FROM " + << StrToLower( is->foreign_schema_id_().c_str(), tmp ) << ";" + << endl; + } + } + } +} + +/// TYPE definitions +void Schema::GenerateTypesExpress( ostream & out ) const { + TypeDescItr tdi( _typeList ); + tdi.ResetItr(); + std::string tmp; + + const TypeDescriptor * td = tdi.NextTypeDesc(); + while( td ) { + out << endl << td->GenerateExpress( tmp ); + td = tdi.NextTypeDesc(); + } +} + +/// Entity definitions +void Schema::GenerateEntitiesExpress( ostream & out ) const { + EntityDescItr edi( _entList ); + edi.ResetItr(); + std::string tmp; + + const EntityDescriptor * ed = edi.NextEntityDesc(); + while( ed ) { + out << endl << ed->GenerateExpress( tmp ); + ed = edi.NextEntityDesc(); + } +} diff --git a/src/clstepcore/dispnode.cc b/src/clstepcore/dispnode.cc index 2590e034c..15f249d37 100644 --- a/src/clstepcore/dispnode.cc +++ b/src/clstepcore/dispnode.cc @@ -12,13 +12,12 @@ /* $Id: dispnode.cc,v 3.0.1.2 1997/11/05 22:11:39 sauderd DP3.1 $ */ -#include -#include +#include "clutils/gennode.h" +#include "clutils/gennodelist.h" //#include -#include -#include -#include "sc_memmgr.h" +#include "clstepcore/dispnode.h" +#include "clstepcore/dispnodelist.h" // define this to be the name of the display object class StepEntityEditor; diff --git a/src/clstepcore/dispnodelist.cc b/src/clstepcore/dispnodelist.cc index f4d00a6aa..7fbd788c3 100644 --- a/src/clstepcore/dispnodelist.cc +++ b/src/clstepcore/dispnodelist.cc @@ -12,14 +12,13 @@ /* $Id: dispnodelist.cc,v 3.0.1.2 1997/11/05 22:11:40 sauderd DP3.1 $ */ -#include -#include - -#include -#include -#include -#include -#include "sc_memmgr.h" +#include "clutils/gennode.h" +#include "clutils/gennodelist.h" + +#include "clstepcore/mgrnode.h" +#include "clstepcore/mgrnodelist.h" +#include "clstepcore/dispnode.h" +#include "clstepcore/dispnodelist.h" void DisplayNodeList::Remove( GenericNode * node ) { GenNodeList::Remove( node ); diff --git a/src/clstepcore/entityDescriptor.cc b/src/clstepcore/entityDescriptor.cc new file mode 100644 index 000000000..764d77066 --- /dev/null +++ b/src/clstepcore/entityDescriptor.cc @@ -0,0 +1,257 @@ +#include + +#include "clstepcore/entityDescriptor.h" +#include "clstepcore/Registry.h" +#include "clstepcore/attrDescriptor.h" +#include "clstepcore/inverseAttribute.h" +#include "clstepcore/SubSuperIterators.h" + +EntityDescriptor::EntityDescriptor( ) + : _abstractEntity( LUnknown ), _extMapping( LUnknown ), + _uniqueness_rules( ( Uniqueness_rule__set_var )0 ), NewSTEPentity( 0 ) { +} + +EntityDescriptor::EntityDescriptor( const char * name, // i.e. char * + Schema * origSchema, + Logical abstractEntity, // F U or T + Logical extMapping, + Creator f + ) + : TypeDescriptor( name, ENTITY_TYPE, origSchema, name ), + _abstractEntity( abstractEntity ), _extMapping( extMapping ), + _uniqueness_rules( ( Uniqueness_rule__set_var )0 ), NewSTEPentity( f ) { +} + +EntityDescriptor::~EntityDescriptor() { + delete _uniqueness_rules; +} + +// initialize one inverse attr; used in InitIAttrs, below +void initIAttr( Inverse_attribute * ia, Registry & reg, const char * schNm, const char * name ) { + const AttrDescriptor * ad; + const char * aid = ia->inverted_attr_id_(); + const char * eid = ia->inverted_entity_id_(); + const EntityDescriptor * e = reg.FindEntity( eid, schNm ); + AttrDescItr adl( e->ExplicitAttr() ); + while( 0 != ( ad = adl.NextAttrDesc() ) ) { + if( !strcmp( aid, ad->Name() ) ) { + ia->inverted_attr_( ad ); + return; + } + } + supertypesIterator sit( e ); + for( ; !sit.empty(); ++sit ) { + AttrDescItr adi( sit.current()->ExplicitAttr() ); + while( 0 != ( ad = adi.NextAttrDesc() ) ) { + if( !strcmp( aid, ad->Name() ) ) { + ia->inverted_attr_( ad ); + return; + } + } + } + std::cerr << "Inverse attr " << ia->Name() << " for " << name << ": cannot find AttrDescriptor " << aid << " for entity " << eid << "." << std::endl; + //FIXME should we abort? or is there a sensible recovery path? + abort(); +} + +/** initialize inverse attrs + * call once per eDesc (once per EXPRESS entity type) + * must be called _after_ init_Sdai* functions for any ia->inverted_entity_id_'s + * + */ +void EntityDescriptor::InitIAttrs( Registry & reg, const char * schNm ) { + InverseAItr iai( &( InverseAttr() ) ); + Inverse_attribute * ia; + while( 0 != ( ia = iai.NextInverse_attribute() ) ) { + initIAttr( ia, reg, schNm, _name ); + } +} + +const char * EntityDescriptor::GenerateExpress( std::string & buf ) const { + std::string sstr; + int count; + int i; + int all_comments = 1; + + buf = "ENTITY "; + buf.append( StrToLower( Name(), sstr ) ); + + if( strlen( _supertype_stmt.c_str() ) > 0 ) { + buf.append( "\n " ); + } + buf.append( _supertype_stmt ); + + const EntityDescriptor * ed = 0; + + EntityDescItr edi_super( _supertypes ); + edi_super.ResetItr(); + ed = edi_super.NextEntityDesc(); + int supertypes = 0; + if( ed ) { + buf.append( "\n SUBTYPE OF (" ); + buf.append( StrToLower( ed->Name(), sstr ) ); + supertypes = 1; + } + ed = edi_super.NextEntityDesc(); + while( ed ) { + buf.append( ",\n\t\t" ); + buf.append( StrToLower( ed->Name(), sstr ) ); + ed = edi_super.NextEntityDesc(); + } + if( supertypes ) { + buf.append( ")" ); + } + + buf.append( ";\n" ); + + AttrDescItr adi( _explicitAttr ); + + adi.ResetItr(); + const AttrDescriptor * ad = adi.NextAttrDesc(); + + while( ad ) { + if( ad->AttrType() == AttrType_Explicit ) { + buf.append( " " ); + buf.append( ad->GenerateExpress( sstr ) ); + } + ad = adi.NextAttrDesc(); + } + + adi.ResetItr(); + ad = adi.NextAttrDesc(); + + count = 1; + while( ad ) { + if( ad->AttrType() == AttrType_Deriving ) { + if( count == 1 ) { + buf.append( " DERIVE\n" ); + } + buf.append( " " ); + buf.append( ad->GenerateExpress( sstr ) ); + count++; + } + ad = adi.NextAttrDesc(); + } + ///////// + + InverseAItr iai( &_inverseAttr ); + + iai.ResetItr(); + const Inverse_attribute * ia = iai.NextInverse_attribute(); + + if( ia ) { + buf.append( " INVERSE\n" ); + } + + while( ia ) { + buf.append( " " ); + buf.append( ia->GenerateExpress( sstr ) ); + ia = iai.NextInverse_attribute(); + } + /////////////// + // count is # of UNIQUE rules + if( _uniqueness_rules != 0 ) { + count = _uniqueness_rules->Count(); + for( i = 0; i < count; i++ ) { // print out each UNIQUE rule + if( !( *( _uniqueness_rules ) )[i]->_label.size() ) { + all_comments = 0; + } + } + + if( all_comments ) { + buf.append( " (* UNIQUE *)\n" ); + } else { + buf.append( " UNIQUE\n" ); + } + for( i = 0; i < count; i++ ) { // print out each UNIQUE rule + if( !( *( _uniqueness_rules ) )[i]->_comment.empty() ) { + buf.append( " " ); + buf.append( ( *( _uniqueness_rules ) )[i]->comment_() ); + buf.append( "\n" ); + } + if( ( *( _uniqueness_rules ) )[i]->_label.size() ) { + buf.append( " " ); + buf.append( ( *( _uniqueness_rules ) )[i]->label_() ); + buf.append( "\n" ); + } + } + } + + /////////////// + // count is # of WHERE rules + if( _where_rules != 0 ) { + all_comments = 1; + count = _where_rules->Count(); + for( i = 0; i < count; i++ ) { // print out each UNIQUE rule + if( !( *( _where_rules ) )[i]->_label.size() ) { + all_comments = 0; + } + } + + if( !all_comments ) { + buf.append( " WHERE\n" ); + } else { + buf.append( " (* WHERE *)\n" ); + } + for( i = 0; i < count; i++ ) { // print out each WHERE rule + if( !( *( _where_rules ) )[i]->_comment.empty() ) { + buf.append( " " ); + buf.append( ( *( _where_rules ) )[i]->comment_() ); + buf.append( "\n" ); + } + if( ( *( _where_rules ) )[i]->_label.size() ) { + buf.append( " " ); + buf.append( ( *( _where_rules ) )[i]->label_() ); + buf.append( "\n" ); + } + } + } + + buf.append( "END_ENTITY;\n" ); + + return const_cast( buf.c_str() ); +} + +const char * EntityDescriptor::QualifiedName( std::string & s ) const { + s.clear(); + EntityDescItr edi( _supertypes ); + + int count = 1; + const EntityDescriptor * ed = edi.NextEntityDesc(); + while( ed ) { + if( count > 1 ) { + s.append( "&" ); + } + s.append( ed->Name() ); + count++; + ed = edi.NextEntityDesc(); + } + if( count > 1 ) { + s.append( "&" ); + } + s.append( Name() ); + return const_cast( s.c_str() ); +} + +const TypeDescriptor * EntityDescriptor::IsA( const TypeDescriptor * td ) const { + if( td -> NonRefType() == ENTITY_TYPE ) { + return IsA( ( EntityDescriptor * ) td ); + } else { + return 0; + } +} + +const EntityDescriptor * EntityDescriptor::IsA( const EntityDescriptor * other ) const { + const EntityDescriptor * found = 0; + const EntityDescLinkNode * link = ( const EntityDescLinkNode * )( GetSupertypes().GetHead() ); + + if( this == other ) { + return other; + } else { + while( link && ! found ) { + found = link -> EntityDesc() -> IsA( other ); + link = ( EntityDescLinkNode * ) link -> NextNode(); + } + } + return found; +} diff --git a/src/clstepcore/entityDescriptorList.cc b/src/clstepcore/entityDescriptorList.cc new file mode 100644 index 000000000..e23baeabb --- /dev/null +++ b/src/clstepcore/entityDescriptorList.cc @@ -0,0 +1,30 @@ +#include "clstepcore/entityDescriptorList.h" + +EntityDescLinkNode::EntityDescLinkNode() { + _entityDesc = 0; +} + +EntityDescLinkNode::~EntityDescLinkNode() { +} + +EntityDescriptorList::EntityDescriptorList() { +} + +EntityDescriptorList::~EntityDescriptorList() { +} + +EntityDescItr::EntityDescItr( const EntityDescriptorList & edList ) : edl( edList ) { + cur = ( EntityDescLinkNode * )( edl.GetHead() ); +} +EntityDescItr::~EntityDescItr() { +} + + +EntityDescriptor * EntityDescItr::NextEntityDesc_nc() { + if( cur ) { + EntityDescriptor * ed = cur->EntityDesc(); + cur = ( EntityDescLinkNode * )( cur->NextNode() ); + return ed; + } + return 0; +} diff --git a/src/clstepcore/entlist.cc b/src/clstepcore/entlist.cc index 0dd35803a..e7c0d7c89 100644 --- a/src/clstepcore/entlist.cc +++ b/src/clstepcore/entlist.cc @@ -13,8 +13,7 @@ * Date: 9/18/96 * *****************************************************************************/ -#include "complexSupport.h" -#include "sc_memmgr.h" +#include "clstepcore/complexSupport.h" /** * Returns the number of EntLists in this's list (EntList->next, next->next diff --git a/src/clstepcore/entnode.cc b/src/clstepcore/entnode.cc index 792489e4b..bc2141360 100644 --- a/src/clstepcore/entnode.cc +++ b/src/clstepcore/entnode.cc @@ -11,8 +11,7 @@ * Date: 9/18/96 * *****************************************************************************/ -#include "complexSupport.h" -#include "sc_memmgr.h" +#include "clstepcore/complexSupport.h" /** * Given a list of entity names, creates a sorted linked list of EntNodes diff --git a/src/clstepcore/enumTypeDescriptor.cc b/src/clstepcore/enumTypeDescriptor.cc new file mode 100644 index 000000000..61c4eef0f --- /dev/null +++ b/src/clstepcore/enumTypeDescriptor.cc @@ -0,0 +1,77 @@ +#include "clstepcore/enumTypeDescriptor.h" + +/* + * why have EnumTypeDescriptor + EnumerationTypeDescriptor ??? + * this was in ExpDict.cc before splitting it up + */ +#ifdef NOT_YET +EnumerationTypeDescriptor::EnumerationTypeDescriptor( ) { + _elements = new StringAggregate; +} +#endif + +EnumTypeDescriptor::EnumTypeDescriptor( const char * nm, PrimitiveType ft, + Schema * origSchema, + const char * d, EnumCreator f ) + : TypeDescriptor( nm, ft, origSchema, d ), CreateNewEnum( f ) { +} + +SDAI_Enum * EnumTypeDescriptor::CreateEnum() { + if( CreateNewEnum ) { + return CreateNewEnum(); + } else { + return 0; + } +} + +const char * EnumTypeDescriptor::GenerateExpress( std::string & buf ) const { + char tmp[BUFSIZ+1]; + buf = "TYPE "; + buf.append( StrToLower( Name(), tmp ) ); + buf.append( " = ENUMERATION OF \n (" ); + const char * desc = Description(); + const char * ptr = &( desc[16] ); + + while( *ptr != '\0' ) { + if( *ptr == ',' ) { + buf.append( ",\n " ); + } else if( isupper( *ptr ) ) { + buf += ( char )tolower( *ptr ); + } else { + buf += *ptr; + } + ptr++; + } + buf.append( ";\n" ); + /////////////// + // count is # of WHERE rules + if( _where_rules != 0 ) { + int all_comments = 1; + int count = _where_rules->Count(); + for( int i = 0; i < count; i++ ) { // print out each UNIQUE rule + if( !( *( _where_rules ) )[i]->_label.size() ) { + all_comments = 0; + } + } + + if( all_comments ) { + buf.append( " (* WHERE *)\n" ); + } else { + buf.append( " WHERE\n" ); + } + + for( int i = 0; i < count; i++ ) { // print out each WHERE rule + if( !( *( _where_rules ) )[i]->_comment.empty() ) { + buf.append( " " ); + buf.append( ( *( _where_rules ) )[i]->comment_() ); + } + if( ( *( _where_rules ) )[i]->_label.size() ) { + buf.append( " " ); + buf.append( ( *( _where_rules ) )[i]->label_() ); + } + } + } + + buf.append( "END_TYPE;\n" ); + return const_cast( buf.c_str() ); +} diff --git a/src/clstepcore/explicitItemId.cc b/src/clstepcore/explicitItemId.cc new file mode 100644 index 000000000..b7177c189 --- /dev/null +++ b/src/clstepcore/explicitItemId.cc @@ -0,0 +1,103 @@ +#include "clstepcore/explicitItemId.h" + +Explicit_item_id::Explicit_item_id() { + _local_definition = 0; +} + +Explicit_item_id::Explicit_item_id( const Explicit_item_id & eii ) +: Interfaced_item( eii ) { + _local_definition = eii._local_definition; + _original_id = eii._original_id; + _new_id = eii._new_id; +} + +Explicit_item_id::~Explicit_item_id() { + _local_definition = 0; +} + +Explicit_item_id__set::Explicit_item_id__set( int defaultSize ) { + _bufsize = defaultSize; + _buf = new Explicit_item_id_ptr[_bufsize]; + _count = 0; +} + +Explicit_item_id__set::~Explicit_item_id__set() { + delete[] _buf; +} + +void Explicit_item_id__set::Check( int index ) { + Explicit_item_id_ptr * newbuf; + + if( index >= _bufsize ) { + _bufsize = ( index + 1 ) * 2; + newbuf = new Explicit_item_id_ptr[_bufsize]; + memmove( newbuf, _buf, _count * sizeof( Explicit_item_id_ptr ) ); + delete[] _buf; + _buf = newbuf; + } +} + +void Explicit_item_id__set::Insert( Explicit_item_id_ptr v, int index ) { + Explicit_item_id_ptr * spot; + index = ( index < 0 ) ? _count : index; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Explicit_item_id_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Explicit_item_id__set::Append( Explicit_item_id_ptr v ) { + int index = _count; + Explicit_item_id_ptr * spot; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Explicit_item_id_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Explicit_item_id__set::Remove( int index ) { + if( 0 <= index && index < _count ) { + --_count; + Explicit_item_id_ptr * spot = &_buf[index]; + memmove( spot, spot + 1, ( _count - index )*sizeof( Explicit_item_id_ptr ) ); + } +} + +int Explicit_item_id__set::Index( Explicit_item_id_ptr v ) { + for( int i = 0; i < _count; ++i ) { + if( _buf[i] == v ) { + return i; + } + } + return -1; +} + +Explicit_item_id_ptr & Explicit_item_id__set::operator[]( int index ) { + Check( index ); + _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); + return _buf[index]; +} + +int Explicit_item_id__set::Count() { + return _count; +} + +void Explicit_item_id__set::Clear() { + _count = 0; +} diff --git a/src/clstepcore/globalRule.cc b/src/clstepcore/globalRule.cc new file mode 100644 index 000000000..227562faa --- /dev/null +++ b/src/clstepcore/globalRule.cc @@ -0,0 +1,134 @@ +#include "clstepcore/globalRule.h" + +Global_rule::Global_rule() +: _entities( 0 ), _where_rules( 0 ), _parent_schema( 0 ) { +} + +Global_rule::Global_rule( const char * n, Schema_ptr parent_sch, const std::string & rt ) +: _name( n ), _entities( 0 ), _where_rules( 0 ), _parent_schema( parent_sch ), +_rule_text( rt ) { +} + +/// not fully implemented +Global_rule::Global_rule( Global_rule & gr ): Dictionary_instance() { + _name = gr._name; + _parent_schema = gr._parent_schema; +} + +Global_rule::~Global_rule() { + delete _entities; + delete _where_rules; +} + +void Global_rule::entities_( const Entity__set_var & e ) { + if( _entities ) { + if( _entities->EntryCount() > 0 ) { + std::cerr << "In " << __FILE__ << ", Global_rule::entities_(): overwriting non-empty entity set!" << std::endl; + } + delete _entities; + } + _entities = e; +} + +void Global_rule::where_rules_( const Where_rule__list_var & wrl ) { + if( _where_rules ) { + if( _where_rules->Count() > 0 ) { + std::cerr << "In " << __FILE__ << ", Global_rule::where_rules_(): overwriting non-empty rule set!" << std::endl; + } + delete _where_rules; + } + _where_rules = wrl; +} + +/////////////////////////////////////////////////////////////////////////////// + +Global_rule__set::Global_rule__set( int defaultSize ) { + _bufsize = defaultSize; + _buf = new Global_rule_ptr[_bufsize]; + _count = 0; +} + +Global_rule__set::~Global_rule__set() { + Clear(); + delete[] _buf; +} + +void Global_rule__set::Check( int index ) { + Global_rule_ptr * newbuf; + + if( index >= _bufsize ) { + _bufsize = ( index + 1 ) * 2; + newbuf = new Global_rule_ptr[_bufsize]; + memmove( newbuf, _buf, _count * sizeof( Global_rule_ptr ) ); + delete[] _buf; + _buf = newbuf; + } +} + +void Global_rule__set::Insert( Global_rule_ptr v, int index ) { + Global_rule_ptr * spot; + index = ( index < 0 ) ? _count : index; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Global_rule_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Global_rule__set::Append( Global_rule_ptr v ) { + int index = _count; + Global_rule_ptr * spot; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Global_rule_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Global_rule__set::Remove( int index ) { + if( 0 <= index && index < _count ) { + --_count; + Global_rule_ptr * spot = &_buf[index]; + memmove( spot, spot + 1, ( _count - index )*sizeof( Global_rule_ptr ) ); + } +} + +int Global_rule__set::Index( Global_rule_ptr v ) { + for( int i = 0; i < _count; ++i ) { + if( _buf[i] == v ) { + return i; + } + } + return -1; +} + +Global_rule_ptr & Global_rule__set::operator[]( int index ) { + Check( index ); + _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); + return _buf[index]; +} + +int Global_rule__set::Count() { + return _count; +} + +void Global_rule__set::Clear() { + for( int i = 0; i < _count; i ++ ) { + delete _buf[i]; + } + _count = 0; +} diff --git a/src/clstepcore/implicitItemId.cc b/src/clstepcore/implicitItemId.cc new file mode 100644 index 000000000..963844314 --- /dev/null +++ b/src/clstepcore/implicitItemId.cc @@ -0,0 +1,101 @@ +#include "clstepcore/implicitItemId.h" + +Implicit_item_id::Implicit_item_id() { + _local_definition = 0; +} + +Implicit_item_id::Implicit_item_id( Implicit_item_id & iii ) +: Interfaced_item( iii ) { + _local_definition = iii._local_definition; +} + +Implicit_item_id::~Implicit_item_id() { + _local_definition = 0; +} + +Implicit_item_id__set::Implicit_item_id__set( int defaultSize ) { + _bufsize = defaultSize; + _buf = new Implicit_item_id_ptr[_bufsize]; + _count = 0; +} + +Implicit_item_id__set::~Implicit_item_id__set() { + delete[] _buf; +} + +void Implicit_item_id__set::Check( int index ) { + Implicit_item_id_ptr * newbuf; + + if( index >= _bufsize ) { + _bufsize = ( index + 1 ) * 2; + newbuf = new Implicit_item_id_ptr[_bufsize]; + memmove( newbuf, _buf, _count * sizeof( Implicit_item_id_ptr ) ); + delete[]_buf; + _buf = newbuf; + } +} + +void Implicit_item_id__set::Insert( Implicit_item_id_ptr v, int index ) { + Implicit_item_id_ptr * spot; + index = ( index < 0 ) ? _count : index; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Implicit_item_id_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Implicit_item_id__set::Append( Implicit_item_id_ptr v ) { + int index = _count; + Implicit_item_id_ptr * spot; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Implicit_item_id_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Implicit_item_id__set::Remove( int index ) { + if( 0 <= index && index < _count ) { + --_count; + Implicit_item_id_ptr * spot = &_buf[index]; + memmove( spot, spot + 1, ( _count - index )*sizeof( Implicit_item_id_ptr ) ); + } +} + +int Implicit_item_id__set::Index( Implicit_item_id_ptr v ) { + for( int i = 0; i < _count; ++i ) { + if( _buf[i] == v ) { + return i; + } + } + return -1; +} + +Implicit_item_id_ptr & Implicit_item_id__set::operator[]( int index ) { + Check( index ); + _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); + return _buf[index]; +} + +int Implicit_item_id__set::Count() { + return _count; +} + +void Implicit_item_id__set::Clear() { + _count = 0; +} diff --git a/src/clstepcore/instmgr.cc b/src/clstepcore/instmgr.cc index e0d822b0e..6b6cc6a7e 100644 --- a/src/clstepcore/instmgr.cc +++ b/src/clstepcore/instmgr.cc @@ -16,9 +16,8 @@ // ////////////////////////////////////////////////////////////////////////////// -#include -#include -#include "sc_memmgr.h" +#include "clstepcore/sdai.h" +#include "clstepcore/instmgr.h" /////////////////////////////////////////////////////////////////////////////// // debug_level >= 2 => tells when a command is chosen @@ -49,7 +48,7 @@ InstMgr::PrintSortedFileIds() { InstMgr::InstMgr( int ownsInstances ) : maxFileId( -1 ), _ownsInstances( ownsInstances ) { master = new MgrNodeArray(); - sortedMaster = new MgrNodeArraySorted(); + sortedMaster = new std::map; } InstMgr::~InstMgr() { @@ -58,7 +57,8 @@ InstMgr::~InstMgr() { } else { master->ClearEntries(); } - sortedMaster->ClearEntries(); + sortedMaster->clear(); + std::map::iterator iter; delete master; delete sortedMaster; @@ -68,13 +68,13 @@ InstMgr::~InstMgr() { void InstMgr::ClearInstances() { master->ClearEntries(); - sortedMaster->ClearEntries(); + sortedMaster->clear(); maxFileId = -1; } void InstMgr::DeleteInstances() { master->DeleteEntries(); - sortedMaster->ClearEntries(); + sortedMaster->clear(); maxFileId = -1; } @@ -93,7 +93,7 @@ void InstMgr::DeleteInstances() { enum Severity InstMgr::VerifyInstances( ErrorDescriptor & err ) { int errorCount = 0; - char errbuf[BUFSIZ]; + char errbuf[BUFSIZ+1]; int n = InstanceCount(); MgrNode * mn; @@ -164,12 +164,10 @@ InstMgr::VerifyInstances( ErrorDescriptor & err ) { /////////////////////////////////////////////////////////////////////////////// MgrNode * InstMgr::FindFileId( int fileId ) { - int index = sortedMaster->MgrNodeIndex( fileId ); - if( index >= 0 ) { - return ( MgrNode * )( *sortedMaster )[index]; - } else { - return ( MgrNode * )0; - } + std::map::iterator it; + it=sortedMaster->find(fileId); + if (it == sortedMaster->end()) return ( MgrNode * )0; + return it->second; } /////////////////////////////////////////////////////////////////////////////// @@ -182,13 +180,6 @@ int InstMgr::GetIndex( MgrNode * mn ) { /////////////////////////////////////////////////////////////////////////////// -int InstMgr::GetIndex( SDAI_Application_instance * se ) { - int fileId = se->StepFileId(); - return sortedMaster->MgrNodeIndex( fileId ); -} - -/////////////////////////////////////////////////////////////////////////////// - int InstMgr::VerifyEntity( int fileId, const char * expectedType ) { MgrNode * mn = FindFileId( fileId ); if( mn ) { @@ -210,7 +201,6 @@ MgrNode * InstMgr::Append( SDAI_Application_instance * se, stateEnum listState ) if( debug_level > 3 ) { cout << "#" << se->StepFileId() << " append node to InstMgr" << endl; } - MgrNode * mn = 0; if( se->StepFileId() == 0 ) { // no id assigned @@ -240,8 +230,8 @@ MgrNode * InstMgr::Append( SDAI_Application_instance * se, stateEnum listState ) cout << "append to InstMgr **ERROR ** node #" << se->StepFileId() << " doesn't have state information" << endl; master->Append( mn ); - sortedMaster->Insert( mn ); -//PrintSortedFileIds(); + (*sortedMaster)[mn->GetFileId()] = mn; + //PrintSortedFileIds(); return mn; } @@ -251,15 +241,11 @@ void InstMgr::Delete( MgrNode * node ) { // delete the node from its current state list node->Remove(); - int index; - - // get the index of the node in the sorted master array - index = sortedMaster->MgrNodeIndex( node->GetFileId() ); // remove the node from the sorted master array - sortedMaster->Remove( index ); + sortedMaster->erase( node->GetFileId() ); // get the index into the master array by ptr arithmetic - index = node->ArrayIndex(); + int index = node->ArrayIndex(); master->Remove( index ); delete node; @@ -321,11 +307,11 @@ InstMgr::EntityKeywordCount( const char * name ) { MgrNode * node; SDAI_Application_instance * se; int n = InstanceCount(); + const char *pretty_name = PrettyTmpName( name ); for( int j = 0; j < n; ++j ) { node = GetMgrNode( j ); se = node->GetApplication_instance(); - if( !strcmp( se->EntityName(), - PrettyTmpName( name ) ) ) { + if( !strcmp( se->EntityName(), pretty_name ) ) { ++count; } } @@ -370,13 +356,13 @@ SDAI_Application_instance * InstMgr::GetApplication_instance( const char * entityKeyword, int starting_index ) { MgrNode * node; SDAI_Application_instance * se; + const char *pretty_name = PrettyTmpName( entityKeyword ); int count = InstanceCount(); for( int j = starting_index; j < count; ++j ) { node = GetMgrNode( j ); se = node->GetApplication_instance(); - if( !strcmp( se->EntityName(), - PrettyTmpName( entityKeyword ) ) ) { + if( !strcmp( se->EntityName(), pretty_name ) ) { return se; } } @@ -387,13 +373,13 @@ SDAI_Application_instance * InstMgr::GetSTEPentity( const char * entityKeyword, int starting_index ) { MgrNode * node; SDAI_Application_instance * se; + const char *pretty_name = PrettyTmpName( entityKeyword ); int count = InstanceCount(); for( int j = starting_index; j < count; ++j ) { node = GetMgrNode( j ); se = node->GetApplication_instance(); - if( !strcmp( se->EntityName(), - PrettyTmpName( entityKeyword ) ) ) { + if( !strcmp( se->EntityName(), pretty_name ) ) { return se; } } diff --git a/src/clstepcore/interfaceSpec.cc b/src/clstepcore/interfaceSpec.cc new file mode 100644 index 000000000..b0ed39bc5 --- /dev/null +++ b/src/clstepcore/interfaceSpec.cc @@ -0,0 +1,122 @@ +#include "clstepcore/interfaceSpec.h" + +Interface_spec__set::Interface_spec__set( int defaultSize ) { + _bufsize = defaultSize; + _buf = new Interface_spec_ptr[_bufsize]; + _count = 0; +} + +Interface_spec__set::~Interface_spec__set() { + delete[] _buf; +} + +void Interface_spec__set::Check( int index ) { + Interface_spec_ptr * newbuf; + + if( index >= _bufsize ) { + _bufsize = ( index + 1 ) * 2; + newbuf = new Interface_spec_ptr[_bufsize]; + memmove( newbuf, _buf, _count * sizeof( Interface_spec_ptr ) ); + delete[] _buf; + _buf = newbuf; + } +} + +void Interface_spec__set::Insert( Interface_spec_ptr v, int index ) { + Interface_spec_ptr * spot; + index = ( index < 0 ) ? _count : index; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Interface_spec_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Interface_spec__set::Append( Interface_spec_ptr v ) { + int index = _count; + Interface_spec_ptr * spot; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Interface_spec_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Interface_spec__set::Remove( int index ) { + if( 0 <= index && index < _count ) { + --_count; + Interface_spec_ptr * spot = &_buf[index]; + memmove( spot, spot + 1, ( _count - index )*sizeof( Interface_spec_ptr ) ); + } +} + +int Interface_spec__set::Index( Interface_spec_ptr v ) { + for( int i = 0; i < _count; ++i ) { + if( _buf[i] == v ) { + return i; + } + } + return -1; +} + +Interface_spec_ptr & Interface_spec__set::operator[]( int index ) { + Check( index ); + _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); + return _buf[index]; +} + +int Interface_spec__set::Count() { + return _count; +} + +void Interface_spec__set::Clear() { + _count = 0; +} + +/////////////////////////////////////////////////////////////////////////////// + +Interface_spec::Interface_spec() +: _explicit_items( new Explicit_item_id__set ), +_implicit_items( 0 ), _all_objects( 0 ) { +} + +/// not tested +Interface_spec::Interface_spec( Interface_spec & is ): Dictionary_instance() { + _explicit_items = new Explicit_item_id__set; + int count = is._explicit_items->Count(); + int i; + for( i = 0; i < count; i++ ) { + ( *_explicit_items )[i] = + ( *( is._explicit_items ) )[i]; + } + _current_schema_id = is._current_schema_id; + _foreign_schema_id = is._foreign_schema_id; + _all_objects = is._all_objects; + _implicit_items = 0; +} + +Interface_spec::Interface_spec( const char * cur_sch_id, + const char * foreign_sch_id, int all_objects ) +: _current_schema_id( cur_sch_id ), _explicit_items( new Explicit_item_id__set ), +_implicit_items( 0 ), _foreign_schema_id( foreign_sch_id ), +_all_objects( all_objects ) { +} + +Interface_spec::~Interface_spec() { + delete _explicit_items; + delete _implicit_items; +} diff --git a/src/clstepcore/interfacedItem.cc b/src/clstepcore/interfacedItem.cc new file mode 100644 index 000000000..9ddb5b5a5 --- /dev/null +++ b/src/clstepcore/interfacedItem.cc @@ -0,0 +1,24 @@ +#include "clstepcore/interfacedItem.h" + +Interfaced_item::Interfaced_item() { +} + +Interfaced_item::Interfaced_item( const Interfaced_item & ii ): Dictionary_instance() { + _foreign_schema = ii._foreign_schema; +} + +Interfaced_item::Interfaced_item( const char * foreign_schema ) +: _foreign_schema( foreign_schema ) { +} + +Interfaced_item::~Interfaced_item() { +} + +const Express_id Interfaced_item::foreign_schema_() { + return _foreign_schema; +} + +void Interfaced_item::foreign_schema_( const Express_id & fs ) { + _foreign_schema = fs; +} + diff --git a/src/clstepcore/inverseAttribute.cc b/src/clstepcore/inverseAttribute.cc new file mode 100644 index 000000000..512c71c34 --- /dev/null +++ b/src/clstepcore/inverseAttribute.cc @@ -0,0 +1,19 @@ +#include "clstepcore/inverseAttribute.h" +#include + +const char * Inverse_attribute::AttrExprDefStr( std::string & s ) const { + std::string buf; + + s = Name(); + s.append( " : " ); + if( _optional.asInt() == LTrue ) { + s.append( "OPTIONAL " ); + } + if( DomainType() ) { + DomainType()->AttrTypeName( buf ); + s.append( buf ); + } + s.append( " FOR " ); + s.append( _inverted_attr_id ); + return const_cast( s.c_str() ); +} diff --git a/src/clstepcore/inverseAttributeList.cc b/src/clstepcore/inverseAttributeList.cc new file mode 100644 index 000000000..2dd7d46b0 --- /dev/null +++ b/src/clstepcore/inverseAttributeList.cc @@ -0,0 +1,46 @@ +#include "clstepcore/inverseAttributeList.h" +#include "clstepcore/inverseAttribute.h" + +Inverse_attributeLinkNode::Inverse_attributeLinkNode() { + _invAttr = 0; +} + +Inverse_attributeLinkNode::~Inverse_attributeLinkNode() { +} + +Inverse_attributeList::Inverse_attributeList() { +} + +Inverse_attributeList::~Inverse_attributeList() { + Inverse_attributeLinkNode * node; + + node = ( Inverse_attributeLinkNode * ) head; + while( node ) { + delete node->Inverse_attr(); + node = ( Inverse_attributeLinkNode * ) node->NextNode(); + } +} + +Inverse_attributeLinkNode * Inverse_attributeList::AddNode( Inverse_attribute * ad ) { + Inverse_attributeLinkNode * node = ( Inverse_attributeLinkNode * ) NewNode(); + node->Inverse_attr( ad ); + SingleLinkList::AppendNode( node ); + return node; +} + +InverseAItr::InverseAItr( const Inverse_attributeList * iaList ) + : ial( iaList ) { + cur = ( Inverse_attributeLinkNode * )( ial->GetHead() ); +} + +InverseAItr::~InverseAItr() { +} + +Inverse_attribute * InverseAItr::NextInverse_attribute() { + if( cur ) { + Inverse_attribute * ia = cur->Inverse_attr(); + cur = ( Inverse_attributeLinkNode * )( cur->NextNode() ); + return ia; + } + return 0; +} diff --git a/src/clstepcore/match-ors.cc b/src/clstepcore/match-ors.cc index 2c724b54c..72427ca6b 100644 --- a/src/clstepcore/match-ors.cc +++ b/src/clstepcore/match-ors.cc @@ -13,8 +13,7 @@ * Date: 10/17/96 * *****************************************************************************/ -#include "complexSupport.h" -#include "sc_memmgr.h" +#include "clstepcore/complexSupport.h" /** * Loops through descendants of this, invoking their matchOR functions. @@ -29,7 +28,7 @@ MatchType AndOrList::matchORs( EntNode * ents ) { EntList * child = childList->firstWanted( UNKNOWN ); while( child != NULL ) { - if( ( ( MultList * )child )->matchORs( ents ) == UNSATISFIED ) { + if( ( dynamic_cast< MultList * >(child))->matchORs( ents ) == UNSATISFIED ) { // Unmark whatever we may have marked. (E.g., there may have // been an AND beneath and it started marking and then found one // it couldn't match.) @@ -56,7 +55,7 @@ MatchType AndList::matchORs( EntNode * ents ) { EntList * child = childList->firstWanted( UNKNOWN ); while( child != NULL ) { - if( ( ( MultList * )child )->matchORs( ents ) == UNSATISFIED ) { + if( ( dynamic_cast< MultList * >(child) )->matchORs( ents ) == UNSATISFIED ) { viable = UNSATISFIED; return UNSATISFIED; // This means the whole AndList has failed, by definition. @@ -102,7 +101,7 @@ MatchType OrList::matchORs( EntNode * ents ) { // running matchNonORs() above. (We also exclude the case of an // AND child who may have OR desc's, but already determined that // it can't satisfy one of its paths and so returned UNSAT.) - retval = ( ( MultList * )child )->matchORs( ents ); + retval = ( dynamic_cast< MultList * >(child) )->matchORs( ents ); } // Now register the result: diff --git a/src/clstepcore/mgrnode.cc b/src/clstepcore/mgrnode.cc index 8e44443ee..a7d13b538 100644 --- a/src/clstepcore/mgrnode.cc +++ b/src/clstepcore/mgrnode.cc @@ -12,17 +12,16 @@ /* $Id: mgrnode.cc,v 3.0.1.3 1997/11/05 22:11:37 sauderd DP3.1 $ */ -#include -#include -#include -#include +#include "clstepcore/mgrnode.h" +#include "clstepcore/mgrnodelist.h" +#include "clstepcore/dispnode.h" +#include "clstepcore/dispnodelist.h" -#include +#include "clstepcore/instmgr.h" //#include -#include +#include "clstepcore/sdai.h" #include -#include "sc_memmgr.h" void * MgrNode::SEE() { return ( di ? di->SEE() : 0 ); diff --git a/src/clstepcore/mgrnodearray.cc b/src/clstepcore/mgrnodearray.cc index 23069f02b..d777b596f 100644 --- a/src/clstepcore/mgrnodearray.cc +++ b/src/clstepcore/mgrnodearray.cc @@ -32,12 +32,11 @@ static int PrintFunctionTrace = 2; // values within functions get printed out //static int PrintValues = 3; -#include +#include "clstepcore/mgrnodearray.h" //#include -#include +#include "clstepcore/sdai.h" #include // to get bcopy() - ANSI -#include "sc_memmgr.h" ////////////////////////////////////////////////////////////////////////////// // class MgrNodeArray member functions diff --git a/src/clstepcore/mgrnodelist.cc b/src/clstepcore/mgrnodelist.cc index 9bff8e254..77ee20100 100644 --- a/src/clstepcore/mgrnodelist.cc +++ b/src/clstepcore/mgrnodelist.cc @@ -12,11 +12,10 @@ /* $Id: mgrnodelist.cc,v 3.0.1.2 1997/11/05 22:11:39 sauderd DP3.1 $ */ -#include -#include -#include -#include -#include "sc_memmgr.h" +#include "clstepcore/mgrnode.h" +#include "clstepcore/mgrnodelist.h" +#include "clstepcore/dispnode.h" +#include "clstepcore/dispnodelist.h" MgrNodeList::MgrNodeList( stateEnum type ) : GenNodeList( new MgrNode() ) { // if(debug_level >= PrintFunctionTrace) diff --git a/src/clstepcore/multlist.cc b/src/clstepcore/multlist.cc index b1c566ef8..b36488377 100644 --- a/src/clstepcore/multlist.cc +++ b/src/clstepcore/multlist.cc @@ -13,8 +13,7 @@ * Date: 9/18/96 * *****************************************************************************/ -#include "complexSupport.h" -#include "sc_memmgr.h" +#include "clstepcore/complexSupport.h" /** * Deletes the childList of this, before this is deleted. @@ -119,7 +118,7 @@ EntList * MultList::copyList( EntList * ent ) { switch( ent->join ) { case SIMPLE: - newlist = new SimpleList( ( ( SimpleList * )ent )->Name() ); + newlist = new SimpleList( ( dynamic_cast(ent) )->Name() ); break; case AND: newlist = new AndList; @@ -134,9 +133,9 @@ EntList * MultList::copyList( EntList * ent ) { appendList( newlist ); if( ent->multiple() ) { // For the multlists, we must recurse for all their children: - child = ( ( MultList * )ent )->childList; + child = ( dynamic_cast< MultList * >(ent) )->childList; while( child ) { - ( ( MultList * )newlist )->copyList( child ); + ( dynamic_cast< MultList * >(newlist) )->copyList( child ); child = child->next; } } @@ -218,7 +217,7 @@ bool JoinList::acceptChoice( EntNode * ents ) { if( child->viable >= MATCHSOME ) { // Only mark children which have new nodes they can mark. (This // condition is important. Sometimes, there will be children who - // can mark but whose vaiable val = SATISFIED. This will be the + // can mark but whose variable val = SATISFIED. This will be the // case if there's another EntList with higher priority which can // also mark this node. (For example, if an AND has an OR and a // SIMPLE child, the SIMPLE wins so that we'll have fewer OR diff --git a/src/clstepcore/needFunc.cc b/src/clstepcore/needFunc.cc index eea46ddb5..e72215fed 100644 --- a/src/clstepcore/needFunc.cc +++ b/src/clstepcore/needFunc.cc @@ -1,5 +1,4 @@ -#include -#include "sc_memmgr.h" +#include "clstepcore/needFunc.h" /////////////////////////////////////////////////////////////////////////////// // Function defined as a stub (necessary to use the scl) diff --git a/src/clstepcore/non-ors.cc b/src/clstepcore/non-ors.cc index 14607f606..14b6a4f6c 100644 --- a/src/clstepcore/non-ors.cc +++ b/src/clstepcore/non-ors.cc @@ -10,8 +10,7 @@ * Date: 10/17/96 * *****************************************************************************/ -#include "complexSupport.h" -#include "sc_memmgr.h" +#include "clstepcore/complexSupport.h" /** * Checks if we match the nodes of ents. If only one unmarked is left diff --git a/src/clstepcore/orlist.cc b/src/clstepcore/orlist.cc index b820bea53..f5fa185b0 100644 --- a/src/clstepcore/orlist.cc +++ b/src/clstepcore/orlist.cc @@ -10,8 +10,7 @@ * Date: 9/18/96 * *****************************************************************************/ -#include "complexSupport.h" -#include "sc_memmgr.h" +#include "clstepcore/complexSupport.h" /** * Check if we matched nm. We have two possibilities here: If we have a diff --git a/src/clstepcore/print.cc b/src/clstepcore/print.cc index 2139d1f61..63759b9fc 100644 --- a/src/clstepcore/print.cc +++ b/src/clstepcore/print.cc @@ -7,8 +7,7 @@ * Date: 10/31/96 * *****************************************************************************/ -#include "complexSupport.h" -#include "sc_memmgr.h" +#include "clstepcore/complexSupport.h" // Local function prototypes: static char * joinText( JoinType, char * ); diff --git a/src/clstepcore/read_func.cc b/src/clstepcore/read_func.cc index 3f3c4b1df..9f31db401 100644 --- a/src/clstepcore/read_func.cc +++ b/src/clstepcore/read_func.cc @@ -1,11 +1,10 @@ -#include +#include "clutils/errordesc.h" #include -#include -#include -#include -#include "Str.h" -#include "sc_memmgr.h" +#include "clstepcore/sdai.h" +#include "clstepcore/read_func.h" +#include "clstepcore/STEPattribute.h" +#include "clutils/Str.h" const int RealNumPrecision = REAL_NUM_PRECISION; @@ -467,7 +466,7 @@ void PushPastString( istream & in, std::string & s, ErrorDescriptor * err ) { * This is used to read aggregates that are part of multidimensional aggregates. */ void PushPastImbedAggr( istream & in, std::string & s, ErrorDescriptor * err ) { - char messageBuf[BUFSIZ]; + char messageBuf[BUFSIZ+1]; messageBuf[0] = '\0'; char c; @@ -506,7 +505,7 @@ void PushPastImbedAggr( istream & in, std::string & s, ErrorDescriptor * err ) { * to contain an aggregate as an element. */ void PushPastAggr1Dim( istream & in, std::string & s, ErrorDescriptor * err ) { - char messageBuf[BUFSIZ]; + char messageBuf[BUFSIZ+1]; messageBuf[0] = '\0'; char c; @@ -727,7 +726,7 @@ const char * GetKeyword( istream & in, const char * delims, ErrorDescriptor & er * next chars are DATA; for the beginning of the data section). * FIXME putback() doesn't work well on all platforms */ -int FoundEndSecKywd( istream & in, ErrorDescriptor & err ) { +int FoundEndSecKywd( istream & in ) { char c; in >> ws; in.get( c ); @@ -781,9 +780,9 @@ int FoundEndSecKywd( istream & in, ErrorDescriptor & err ) { // after the comment that is appended. const char * ReadComment( std::string & ss, const char * s ) { std::string ssTmp; - int endComment = 0; if( s ) { + int endComment = 0; while( *s && *s != '/' ) { s++; // skip leading everything } @@ -831,7 +830,6 @@ const char * ReadComment( std::string & ss, const char * s ) { ***************************/ const char * ReadComment( istream & in, std::string & s ) { char c = '\0'; - int commentLength = 0; in >> ws; in >> c; @@ -840,6 +838,7 @@ const char * ReadComment( istream & in, std::string & s ) { in.get( c ); // won't skip space if( c == '*' ) { // it is a comment in >> ws; // skip leading comment space + int commentLength = 0; // only to keep it from completely gobbling up input while( commentLength <= MAX_COMMENT_LENGTH ) { diff --git a/src/clstepcore/schRename.cc b/src/clstepcore/schRename.cc new file mode 100644 index 000000000..6e5e12686 --- /dev/null +++ b/src/clstepcore/schRename.cc @@ -0,0 +1,34 @@ +#include "clstepcore/schRename.h" + + +/** + * See if nm = one of our choices (either ours or that of a SchRename + * later in the list. + */ +bool SchRename::choice( const char * nm ) const { + if( !StrCmpIns( nm, newName ) ) { + return true; + } + if( next ) { + return ( next->choice( nm ) ); + } + return false; +} + +/** + * Check if this SchRename represents the rename of its owning TypeDesc for + * schema schnm. (This will be the case if schnm = schName.) If so, the + * new name is returned and copied into newnm. If not, ::rename is called + * on next. Thus, this function will tell us if this or any later SchRe- + * name in this list provide a new name for TypeDesc for schema schnm. + */ +char * SchRename::rename( const char * schnm, char * newnm ) const { + if( !StrCmpIns( schnm, schName ) ) { + strcpy( newnm, newName ); + return newnm; + } + if( next ) { + return ( next->rename( schnm, newnm ) ); + } + return NULL; +} diff --git a/src/clstepcore/sdai.cc b/src/clstepcore/sdai.cc index 731a381f5..ec96a63b3 100644 --- a/src/clstepcore/sdai.cc +++ b/src/clstepcore/sdai.cc @@ -1,8 +1,7 @@ #include #include -#include -#include "sc_memmgr.h" +#include "clstepcore/sdai.h" const char * SCLversion = "STEPcode, github.com/stepcode/stepcode"; diff --git a/src/clstepcore/sdaiApplication_instance.cc b/src/clstepcore/sdaiApplication_instance.cc index 3fca3418a..c44a2c5ea 100644 --- a/src/clstepcore/sdaiApplication_instance.cc +++ b/src/clstepcore/sdaiApplication_instance.cc @@ -10,15 +10,25 @@ * and is not subject to copyright. */ +#include +#include "clstepcore/sdai.h" +#include "clstepcore/instmgr.h" +#include "clstepcore/STEPcomplex.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/read_func.h" //for ReadTokenSeparator, used when comments are inside entities -#include -#include -#include -#include -#include //for ReadTokenSeparator, used when comments are inside entities +#include "clstepcore/sdaiApplication_instance.h" +#include "superInvAttrIter.h" SDAI_Application_instance NilSTEPentity; +bool isNilSTEPentity( const SDAI_Application_instance * ai ) { + if( ai && ai == &NilSTEPentity ) { + return true; + } + return false; +} + /**************************************************************//** ** \file sdaiApplication_instance.cc Functions for manipulating entities ** @@ -32,22 +42,22 @@ SDAI_Application_instance NilSTEPentity; SDAI_Application_instance::SDAI_Application_instance() : _cur( 0 ), + eDesc( NULL ), + _complex( false ), STEPfile_id( 0 ), p21Comment( std::string( "" ) ), - eDesc( NULL ), headMiEntity( 0 ), - nextMiEntity( 0 ), - _complex( 0 ) { + nextMiEntity( 0 ) { } SDAI_Application_instance::SDAI_Application_instance( int fileid, int complex ) : _cur( 0 ), + eDesc( NULL ), + _complex( complex ), STEPfile_id( fileid ), p21Comment( std::string( "" ) ), - eDesc( NULL ), headMiEntity( 0 ), - nextMiEntity( 0 ), - _complex( complex ) { + nextMiEntity( 0 ) { } SDAI_Application_instance::~SDAI_Application_instance() { @@ -70,8 +80,29 @@ SDAI_Application_instance::~SDAI_Application_instance() { } } + +/// initialize inverse attrs +/// eDesc->InitIAttrs() must have been called previously +/// call once per instance (*not* once per class) +void SDAI_Application_instance::InitIAttrs() { + assert( eDesc && "eDesc must be set; please report this bug." ); + InverseAItr iai( &( eDesc->InverseAttr() ) ); + const Inverse_attribute * ia; + iAstruct s; + memset( &s, 0, sizeof s ); + while( 0 != ( ia = iai.NextInverse_attribute() ) ) { + iAMap.insert( iAMap_t::value_type( ia, s ) ); + } + superInvAttrIter siai( eDesc ); + while( !siai.empty() ) { + ia = siai.next(); + assert( ia && "Null inverse attr!" ); + iAMap.insert( iAMap_t::value_type( ia, s ) ); + } +} + SDAI_Application_instance * SDAI_Application_instance::Replicate() { - char errStr[BUFSIZ]; + char errStr[BUFSIZ+1]; if( IsComplex() ) { cerr << "STEPcomplex::Replicate() should be called: " << __FILE__ << __LINE__ << "\n" << _POC_ "\n"; @@ -140,7 +171,6 @@ void SDAI_Application_instance::AppendMultInstance( SDAI_Application_instance * } // BUG implement this -- FIXME function is never used - SDAI_Application_instance * SDAI_Application_instance::GetMiEntity( char * entName ) { std::string s1, s2; @@ -167,17 +197,25 @@ SDAI_Application_instance * SDAI_Application_instance::GetMiEntity( char * entNa } - -STEPattribute * SDAI_Application_instance::GetSTEPattribute( const char * nm ) { +/** + * Returns a STEPattribute or NULL + * \param nm The name to search for. + * \param entity If not null, check that the attribute comes from this entity. When MakeDerived is called from generated code, this is used to ensure that the correct attr is marked as derived. Issue #232 + */ +STEPattribute * SDAI_Application_instance::GetSTEPattribute( const char * nm, const char * entity ) { if( !nm ) { return 0; } STEPattribute * a = 0; ResetAttributes(); - while( ( a = NextAttribute() ) - && strcmp( nm, a ->Name() ) ) { - ; // keep going until no more attributes or attribute is found + // keep going until no more attributes, or attribute is found + while( ( a = NextAttribute() ) ) { + if( 0 == strcmp( nm, a ->Name() ) && + //if entity isn't null, check for a match. NOTE: should we use IsA(), CanBe(), or Name()? + ( entity ? ( 0 != a->aDesc->Owner().IsA( entity ) ) : true ) ) { + break; + } } return a; @@ -194,8 +232,13 @@ STEPattribute * SDAI_Application_instance::MakeRedefined( STEPattribute * redefi return a; } -STEPattribute * SDAI_Application_instance::MakeDerived( const char * nm ) { - STEPattribute * a = GetSTEPattribute( nm ); +/** + * Returns a STEPattribute or NULL. If found, marks as derived. + * \param nm The name to search for. + * \param entity If not null, check that the attribute comes from this entity. When called from generated code, this is used to ensure that the correct attr is marked as derived. Issue #232 + */ +STEPattribute * SDAI_Application_instance::MakeDerived( const char * nm, const char * entity ) { + STEPattribute * a = GetSTEPattribute( nm, entity ); if( a ) { a ->Derive(); } @@ -238,18 +281,17 @@ const EntityDescriptor * SDAI_Application_instance::IsA( const EntityDescriptor /** * Checks the validity of the current attribute values for the entity */ -Severity SDAI_Application_instance::ValidLevel( ErrorDescriptor * error, InstMgr * im, +Severity SDAI_Application_instance::ValidLevel( ErrorDescriptor * error, InstMgrBase * im, int clearError ) { ErrorDescriptor err; if( clearError ) { ClearError(); } int n = attributes.list_length(); - std::string tmp; for( int i = 0 ; i < n; i++ ) { if( !( attributes[i].aDesc->AttrType() == AttrType_Redefining ) ) error->GreaterSeverity( attributes[i].ValidLevel( - attributes[i].asStr( tmp ), &err, im, 0 ) ); + attributes[i].asStr().c_str(), &err, im, 0 ) ); } return error->severity(); } @@ -374,7 +416,7 @@ void SDAI_Application_instance::WriteValuePairs( ostream & out, const char * SDAI_Application_instance::STEPwrite( std::string & buf, const char * currSch ) { buf.clear(); - char instanceInfo[BUFSIZ]; + char instanceInfo[BUFSIZ+1]; std::string tmp; sprintf( instanceInfo, "#%d=%s(", STEPfile_id, StrToUpper( EntityName( currSch ), tmp ) ); @@ -387,7 +429,7 @@ const char * SDAI_Application_instance::STEPwrite( std::string & buf, const char if( i > 0 ) { buf.append( "," ); } - attributes[i].asStr( tmp, currSch ) ; + tmp = attributes[i].asStr( currSch ) ; buf.append( tmp ); } } @@ -396,7 +438,7 @@ const char * SDAI_Application_instance::STEPwrite( std::string & buf, const char } void SDAI_Application_instance::PrependEntityErrMsg() { - char errStr[BUFSIZ]; + char errStr[BUFSIZ+1]; errStr[0] = '\0'; if( _error.severity() == SEVERITY_NULL ) { @@ -417,7 +459,7 @@ void SDAI_Application_instance::PrependEntityErrMsg() { ******************************************************************/ void SDAI_Application_instance::STEPread_error( char c, int i, istream & in, const char * schnm ) { (void) in; - char errStr[BUFSIZ]; + char errStr[BUFSIZ+1]; errStr[0] = '\0'; if( _error.severity() == SEVERITY_NULL ) { @@ -430,7 +472,7 @@ void SDAI_Application_instance::STEPread_error( char c, int i, istream & in, con if( ( i >= 0 ) && ( i < attributes.list_length() ) ) { // i is an attribute Error().GreaterSeverity( SEVERITY_WARNING ); sprintf( errStr, " invalid data before type \'%s\'\n", - attributes[i].TypeName() ); + attributes[i].TypeName().c_str() ); _error.AppendToDetailMsg( errStr ); } else { Error().GreaterSeverity( SEVERITY_INPUT_ERROR ); @@ -465,11 +507,11 @@ void SDAI_Application_instance::STEPread_error( char c, int i, istream & in, con ** Status: ******************************************************************/ Severity SDAI_Application_instance::STEPread( int id, int idIncr, - InstMgr * instance_set, istream & in, + InstMgrBase * instance_set, istream & in, const char * currSch, bool useTechCor, bool strict ) { STEPfile_id = id; char c = '\0'; - char errStr[BUFSIZ]; + char errStr[BUFSIZ+1]; errStr[0] = '\0'; Severity severe; int i = 0; @@ -619,19 +661,19 @@ Severity SDAI_Application_instance::STEPread( int id, int idIncr, /// read an entity reference and return a pointer to the SDAI_Application_instance SDAI_Application_instance * ReadEntityRef( istream & in, ErrorDescriptor * err, const char * tokenList, - InstMgr * instances, int addFileId ) { + InstMgrBase * instances, int addFileId ) { char c; - char errStr[BUFSIZ]; + char errStr[BUFSIZ+1]; errStr[0] = '\0'; in >> ws; in >> c; switch( c ) { case '@': - err->AppendToDetailMsg( - "Use of @ instead of # to identify entity.\n" ); + err->AppendToDetailMsg( "Use of @ instead of # to identify entity.\n" ); err->GreaterSeverity( SEVERITY_WARNING ); // no break statement here on purpose + [[gnu::fallthrough]]; case '#': { int id = -1; in >> id; @@ -663,7 +705,7 @@ SDAI_Application_instance * ReadEntityRef( istream & in, ErrorDescriptor * err, // lookup which object has id as its instance id SDAI_Application_instance * inst; /* If there is a ManagerNode it should have a SDAI_Application_instance */ - MgrNode * mn = 0; + MgrNodeBase * mn = 0; mn = instances->FindFileId( id ); if( mn ) { inst = mn->GetSTEPentity() ; @@ -703,7 +745,7 @@ SDAI_Application_instance * ReadEntityRef( istream & in, ErrorDescriptor * err, /// read an entity reference and return a pointer to the SDAI_Application_instance SDAI_Application_instance * ReadEntityRef( const char * s, ErrorDescriptor * err, const char * tokenList, - InstMgr * instances, int addFileId ) { + InstMgrBase * instances, int addFileId ) { istringstream in( ( char * )s ); return ReadEntityRef( in, err, tokenList, instances, addFileId ); } @@ -714,7 +756,7 @@ Severity EntityValidLevel( SDAI_Application_instance * se, // to match. (this must be an // EntityDescriptor) ErrorDescriptor * err ) { - char messageBuf [BUFSIZ]; + char messageBuf [BUFSIZ+1]; messageBuf[0] = '\0'; if( !ed || ( ed->NonRefType() != ENTITY_TYPE ) ) { @@ -724,7 +766,7 @@ Severity EntityValidLevel( SDAI_Application_instance * se, "missing or invalid EntityDescriptor\n" ); err->AppendToUserMsg( messageBuf ); err->AppendToDetailMsg( messageBuf ); - cerr << "Internal error: " << __FILE__ << __LINE__ + cerr << "Internal error: " << __FILE__ << ":" << __LINE__ << "\n" << _POC_ "\n"; return SEVERITY_BUG; } @@ -735,7 +777,7 @@ Severity EntityValidLevel( SDAI_Application_instance * se, "for SDAI_Application_instance argument." ); err->AppendToUserMsg( messageBuf ); err->AppendToDetailMsg( messageBuf ); - cerr << "Internal error: " << __FILE__ << __LINE__ + cerr << "Internal error: " << __FILE__ << ":" << __LINE__ << "\n" << _POC_ "\n"; return SEVERITY_BUG; } @@ -783,10 +825,15 @@ Severity EntityValidLevel( SDAI_Application_instance * se, * DAVE: Is this needed will sscanf return 1 if assignment suppression is used? */ int SetErrOnNull( const char * attrValue, ErrorDescriptor * error ) { - char scanBuf[BUFSIZ]; + char scanBuf[BUFSIZ+1]; scanBuf[0] = '\0'; - int numFound = sscanf( ( char * )attrValue, " %s", scanBuf ); + std::stringstream fmtstr; + fmtstr << " %" << BUFSIZ -1 << "s "; + //fmtstr contains " %ns " where n is BUFSIZ -1 + + int numFound = sscanf( ( char * )attrValue , fmtstr.str().c_str() , scanBuf ); + if( numFound == EOF ) { error->GreaterSeverity( SEVERITY_INCOMPLETE ); return 1; @@ -805,28 +852,38 @@ Severity EntityValidLevel( const char * attrValue, // string contain entity ref // attrValue (if it exists) needs // to match. (this must be an // EntityDescriptor) - ErrorDescriptor * err, InstMgr * im, int clearError ) { - char tmp [BUFSIZ]; + ErrorDescriptor * err, InstMgrBase * im, int clearError ) { + char tmp [BUFSIZ+1]; tmp[0] = '\0'; - char messageBuf [BUFSIZ]; + char messageBuf [BUFSIZ+1]; messageBuf[0] = '\0'; + std::stringstream fmtstr1, fmtstr2; if( clearError ) { err->ClearErrorMsg(); } int fileId; - MgrNode * mn = 0; + MgrNodeBase * mn = 0; + // fmtstr1 contains "#%d %ns" where n is BUFSIZ-1 + fmtstr1 << " #%d %" << BUFSIZ - 1 << "s "; + + // fmtstr2 contains "%d %ns" where n is BUFSIZ-1 + fmtstr2 << " %d %" << BUFSIZ - 1 << "s "; + // check for both forms: #id or id - int found1 = sscanf( ( char * )attrValue, " #%d %s", &fileId, tmp ); - int found2 = sscanf( ( char * )attrValue, " %d %s", &fileId, tmp ); + int found1 = sscanf( ( char * )attrValue, fmtstr1.str().c_str() , &fileId, tmp ); + int found2 = sscanf( ( char * )attrValue, fmtstr2.str().c_str() , &fileId, tmp ); if( ( found1 > 0 ) || ( found2 > 0 ) ) { if( ( found1 == 2 ) || ( found2 == 2 ) ) { - sprintf( messageBuf, - " Attribute's Entity Reference %s is %s data \'%s\'.\n", - attrValue, "followed by invalid", tmp ); + int ocnt = snprintf( messageBuf, BUFSIZ, + " Attribute's Entity Reference %s is %s data \'%s\'.\n", + attrValue, "followed by invalid", tmp ); + if( ocnt < BUFSIZ ) { + fprintf( stderr, "Warning - truncation of Attribute's Entry Reference msg\n" ); + } err->AppendToUserMsg( messageBuf ); err->AppendToDetailMsg( messageBuf ); err->GreaterSeverity( SEVERITY_WARNING ); @@ -872,9 +929,40 @@ STEPattribute * SDAI_Application_instance::NextAttribute() { return 0; } return &attributes [_cur - 1]; - } int SDAI_Application_instance::AttributeCount() { return attributes.list_length(); } + +const iAstruct SDAI_Application_instance::getInvAttr( const Inverse_attribute * const ia ) const { + iAstruct ias; + memset( &ias, 0, sizeof ias ); + iAMap_t::const_iterator it = iAMap.find( ia ); + if( it != iAMap.end() ) { + ias = (*it).second; + } + return ias; +} + +const SDAI_Application_instance::iAMap_t::value_type SDAI_Application_instance::getInvAttr( const char * name ) const { + iAMap_t::const_iterator it = iAMap.begin(); + for( ; it != iAMap.end(); ++it ) { + if( 0 == strcmp( it->first->Name(), name) ) { + return *it; + } + } + iAstruct z; + memset( &z, 0, sizeof z ); + iAMap_t::value_type nil( ( Inverse_attribute * ) NULL, z ); + return nil; +} + +void SDAI_Application_instance::setInvAttr( const Inverse_attribute * const ia, const iAstruct ias ) { + iAMap_t::iterator it = iAMap.find(ia); + if( it != iAMap.end() ) { + it->second = ias; + } else { + iAMap.insert( iAMap_t::value_type( ia, ias ) ); + } +} diff --git a/src/clstepcore/sdaiSelect.cc b/src/clstepcore/sdaiSelect.cc index 3b774be48..95e6d83bc 100644 --- a/src/clstepcore/sdaiSelect.cc +++ b/src/clstepcore/sdaiSelect.cc @@ -11,11 +11,11 @@ */ #include // to get the BUFSIZ #define -#include +#include "clstepcore/ExpDict.h" #include #include -#include -#include +#include "clstepcore/sdai.h" +#include "clstepcore/STEPattribute.h" #ifdef SC_LOGGING #include @@ -33,9 +33,29 @@ SDAI_Select::SDAI_Select( const SelectTypeDescriptor * s, #endif } +SDAI_Select::SDAI_Select( const SDAI_Select & other ) { + underlying_type = other.underlying_type; + base_type = other.base_type; + _type = other._type; +#ifdef SC_LOGGING + *logStream << "Exiting SDAI_Select constructor." << endl; +#endif +} + SDAI_Select::~SDAI_Select() { } +SDAI_Select & SDAI_Select::operator=( const SDAI_Select & other ) { + if( &other != this ) { + _error = other._error; + _type = other._type; + base_type = other.base_type; + underlying_type = other.underlying_type; + val = other.val; + } + return *this; +} + Severity SDAI_Select::severity() const { return _error.severity(); } @@ -135,7 +155,7 @@ void SDAI_Select::nullify() { } Severity SDAI_Select::SelectValidLevel( const char * attrValue, ErrorDescriptor * err, - InstMgr * im, int clearError ) { + InstMgrBase * im ) { SDAI_Select * tmp = NewSelect(); Severity s = SEVERITY_NULL; @@ -146,7 +166,7 @@ Severity SDAI_Select::SelectValidLevel( const char * attrValue, ErrorDescriptor } Severity SDAI_Select::StrToVal( const char * Val, const char * selectType, - ErrorDescriptor * err, InstMgr * instances ) { + ErrorDescriptor * err, InstMgrBase * instances ) { severity( SEVERITY_NULL ); if( SetUnderlyingType( CanBe( selectType ) ) ) @@ -208,7 +228,7 @@ Severity SDAI_Select::StrToVal( const char * Val, const char * selectType, * This function does the following: */ Severity SDAI_Select::STEPread( istream & in, ErrorDescriptor * err, - InstMgr * instances, const char * utype, + InstMgrBase * instances, const char * utype, int addFileId, const char * currSch ) { char c = '\0'; std::string tmp; @@ -222,7 +242,7 @@ Severity SDAI_Select::STEPread( istream & in, ErrorDescriptor * err, /** ** This section of code is used to read a value belonging to a select ** contained in another select. If you have read the text part of the - ** TYPED_PARAMETER and it needs to fall down thru some levels of contained + ** TYPED_PARAMETER and it needs to fall down through some levels of contained ** select types, then the text is passed down to each select in the utype ** parameter as STEPread is called on each contained select type.DAS 2/4/97 */ @@ -471,11 +491,11 @@ Severity SDAI_Select::STEPread( istream & in, ErrorDescriptor * err, } if( base_type == ENTITY_TYPE ) { - // you don\'t know if this is an ENTITY or a SELECT + // you don't know if this is an ENTITY or a SELECT // have to do this here - not in STEPread_content - STEPentity * tmp = + STEPentity * temp = ReadEntityRef( in, err, ",)", instances, addFileId ); - if( tmp && ( tmp != ENTITY_NULL ) && AssignEntity( tmp ) ) { + if( temp && ( temp != ENTITY_NULL ) && AssignEntity( temp ) ) { #ifdef SC_LOGGING // *logStream << "DAVE ERR Exiting SDAI_Select::STEPread for " << _type->Name() << endl; #endif @@ -494,7 +514,7 @@ Severity SDAI_Select::STEPread( istream & in, ErrorDescriptor * err, STEPread_content( in, instances, 0, addFileId ); } - else { // ERROR -- the type wasn\'t one of the choices + else { // ERROR -- the type wasn't one of the choices err->AppendToDetailMsg( "The type of the SELECT type is not valid.\n" ); err->GreaterSeverity( SEVERITY_WARNING ); @@ -572,11 +592,11 @@ const char * SDAI_Select::STEPwrite( std::string & s, const char * currSch ) co return const_cast( s.c_str() ); } -int SDAI_Select::set_null() { +bool SDAI_Select::set_null() { nullify(); - return 1; + return true; } -int SDAI_Select::is_null() { +bool SDAI_Select::is_null() { return ( !exists() ); } diff --git a/src/clstepcore/selectTypeDescriptor.cc b/src/clstepcore/selectTypeDescriptor.cc new file mode 100644 index 000000000..e143a3a30 --- /dev/null +++ b/src/clstepcore/selectTypeDescriptor.cc @@ -0,0 +1,98 @@ +#include "clstepcore/selectTypeDescriptor.h" + +/////////////////////////////////////////////////////////////////////////////// +// SelectTypeDescriptor functions +/////////////////////////////////////////////////////////////////////////////// + +SDAI_Select * SelectTypeDescriptor::CreateSelect() { + if( CreateNewSelect ) { + return CreateNewSelect(); + } else { + return 0; + } +} + +const TypeDescriptor * SelectTypeDescriptor::IsA( const TypeDescriptor * other ) const { + return TypeDescriptor::IsA( other ); +} + +/** + * returns the td among the choices of tds describing elements of this select + * type but only at this unexpanded level. The td ultimately describing the + * type may be an element of a td for a select that is returned. + */ +const TypeDescriptor * SelectTypeDescriptor::CanBe( const TypeDescriptor * other ) const { + if( this == other ) { + return other; + } + + TypeDescItr elements( GetElements() ) ; + const TypeDescriptor * td = elements.NextTypeDesc(); + while( td ) { + if( td -> CanBe( other ) ) { + return td; + } + td = elements.NextTypeDesc(); + } + return 0; +} + +/** + * returns the td among the choices of tds describing elements of this select + * type but only at this unexpanded level. The td ultimately describing the + * type may be an element of a td for a select that is returned. + */ +const TypeDescriptor * SelectTypeDescriptor::CanBe( const char * other ) const { + TypeDescItr elements( GetElements() ) ; + const TypeDescriptor * td = 0; + + // see if other is the select + if( !StrCmpIns( _name, other ) ) { + return this; + } + + // see if other is one of the elements + while( ( td = elements.NextTypeDesc() ) ) { + if( td -> CanBe( other ) ) { + return td; + } + } + return 0; +} + +/** + * A modified CanBe, used to determine if "other", a string we have just read, + * is a possible type-choice of this. (I.e., our select "CanBeSet" to this + * choice.) This deals with the following issue, based on the Tech Corrigendum + * to Part 21: Say our select ("selP") has an item which is itself a select + * ("selQ"). Say it has another select item which is a redefinition of another + * select ("TYPE selR = selS;"). According to the T.C., if selP is set to one + * of the members of selQ, "selQ(...)" may not appear in the instantiation. + * If, however, selP is set to a member of selR, "selR(...)" must appear first. + * The code below checks if "other" = one of our possible choices. If one of + * our choices is a select like selQ, we recurse to see if other matches a + * member of selQ (and don't look for "selQ"). If we have a choice like selR, + * we check if other = "selR", but do not look at selR's members. This func- + * tion also takes into account schNm, the name of the current schema. If + * schNm does not = the schema in which this type was declared, it's possible + * that it should be referred to with a different name. This would be the case + * if schNm = a schema which USEs or REFERENCEs this and renames it (e.g., "USE + * from XX (A as B)"). + */ +const TypeDescriptor * SelectTypeDescriptor::CanBeSet( const char * other, const char * schNm ) const { + TypeDescItr elements( GetElements() ) ; + const TypeDescriptor * td = elements.NextTypeDesc(); + + while( td ) { + if( td->Type() == REFERENCE_TYPE && td->NonRefType() == sdaiSELECT ) { + // Just look at this level, don't look at my items (see intro). + if( td->CurrName( other, schNm ) ) { + return td; + } + } else if( td->CanBeSet( other, schNm ) ) { + return td; + } + td = elements.NextTypeDesc(); + } + return 0; +} diff --git a/src/clstepcore/superInvAttrIter.h b/src/clstepcore/superInvAttrIter.h new file mode 100644 index 000000000..6228b67be --- /dev/null +++ b/src/clstepcore/superInvAttrIter.h @@ -0,0 +1,72 @@ +#ifndef SUPERINVATTRITER_H +#define SUPERINVATTRITER_H + +#include "clstepcore/SubSuperIterators.h" +#include "clstepcore/ExpDict.h" + +/** + * this class implements an iterator for inverse attributes in an EntityDescriptor's supertypes + * makes use of supertypesIterator and InverseAItr + * + * TODO verify that this iterates correctly! + */ +class superInvAttrIter { +protected: + supertypesIterator sit; + InverseAItr * invIter; + const Inverse_attribute * nextInv; + bool isempty; ///< if true, don't try to access invIter - it is not initialized +public: + /// WARNING this will not iterate over the ia's in the first ed, only in its supertypes! change that? + superInvAttrIter( const EntityDescriptor * ed ): sit( ed ), invIter(0), nextInv( 0 ), isempty( false ) { + reset(); + } + void reset( const EntityDescriptor * ed = 0 ) { + sit.reset( ed ); + if( invIter ) { + delete invIter; + invIter = 0; + } + if( sit.empty() ) { + isempty = true; + } else { + invIter = new InverseAItr( &( sit.current()->InverseAttr() ) ); + nextInv = invIter->NextInverse_attribute(); + if( !nextInv ) { + next(); + } + } + } + ~superInvAttrIter() { + if( invIter ) { + delete invIter; + invIter = 0; + } + } + const EntityDescriptor * currentEDesc() { + if( isempty ) { + return NULL; + } + return sit.current(); + } + bool empty() { + if( isempty ) { + return true; + } + return ( !sit.hasNext() && !nextInv ); + } + const Inverse_attribute * next() { + if( isempty ) { + return NULL; + } + const Inverse_attribute * ia = nextInv; + /* if we're on the last inverse attr for the current super, go to the next super + * keep going until we find an ia or run out of supers */ + while( ( 0 == ( nextInv = invIter->NextInverse_attribute() ) ) && sit.hasNext() ) { + invIter->ResetItr( &( sit.next()->InverseAttr() ) ); + } + return ia; + } +}; + +#endif //SUPERINVATTRITER_H diff --git a/src/clstepcore/test/CMakeLists.txt b/src/clstepcore/test/CMakeLists.txt new file mode 100644 index 000000000..ea37cb0cd --- /dev/null +++ b/src/clstepcore/test/CMakeLists.txt @@ -0,0 +1,33 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 3.12) +#c++ tests for clstepcore + +include_directories( + ${SC_SOURCE_DIR}/src/cldai ${SC_SOURCE_DIR}/src/cleditor + ${SC_SOURCE_DIR}/src/clstepcore +) + +function(add_stepcore_test name libs) + SC_ADDEXEC(tst_${name} SOURCES test_${name}.cc LINK_LIBRARIES ${libs} TESTABLE) + add_test(NAME build_cpp_${name} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target tst_${name} + --config $) + add_test(NAME test_${name} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND $) + set_tests_properties(build_cpp_${name} PROPERTIES LABELS cpp_unit_stepcore DEPENDS stepcore) + set_tests_properties(test_${name} PROPERTIES LABELS cpp_unit_stepcore DEPENDS build_cpp_${name}) +endfunction(add_stepcore_test name libs) + +add_stepcore_test("SupertypesIterator" "stepcore;steputils;stepeditor;stepdai") #all these libs are necessary? +add_stepcore_test("operators_STEPattribute" "stepcore;steputils;stepeditor;stepdai") +add_stepcore_test("operators_SDAI_Select" "stepcore;steputils;stepeditor;stepdai") +add_stepcore_test("null_attr" "stepcore;steputils;stepeditor;stepdai") + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 diff --git a/test/cpp/stepcore/test_SupertypesIterator.cc b/src/clstepcore/test/test_SupertypesIterator.cc similarity index 98% rename from test/cpp/stepcore/test_SupertypesIterator.cc rename to src/clstepcore/test/test_SupertypesIterator.cc index f557d7c72..084189bf0 100644 --- a/test/cpp/stepcore/test_SupertypesIterator.cc +++ b/src/clstepcore/test/test_SupertypesIterator.cc @@ -4,8 +4,8 @@ //subtypesiterator shouldn't need tested separately from supertypesiterator since there is very little difference -#include "SubSuperIterators.h" -#include "ExpDict.h" +#include "clstepcore/SubSuperIterators.h" +#include "clstepcore/ExpDict.h" #include int main( int /*argc*/, char ** /*argv*/ ) { diff --git a/src/clstepcore/test/test_null_attr.cc b/src/clstepcore/test/test_null_attr.cc new file mode 100644 index 000000000..95c7dcd02 --- /dev/null +++ b/src/clstepcore/test/test_null_attr.cc @@ -0,0 +1,24 @@ +#include "clstepcore/ExpDict.h" +#include "clstepcore/STEPattribute.h" +#include "cldai/sdaiString.h" + +AttrDescriptor *ad = 0; +EntityDescriptor *ed = 0; +TypeDescriptor *td; +Schema *sch = 0; + +int main () { + SDAI_String _description; + sch = new Schema( "Ifc2x3" ); + td = new TypeDescriptor( "Ifctext", sdaiSTRING, sch, "STRING" ); + ed = new EntityDescriptor( "Ifcroot", sch, LTrue, LFalse ); + ad = new AttrDescriptor( "description", td, LTrue, LFalse, AttrType_Explicit, *ed ); + ed->AddExplicitAttr( ad ); + STEPattribute *a = new STEPattribute(*ad, &_description); + a -> set_null(); + delete a; + //delete ad; //this is deleted in EntityDescriptor dtor + delete ed; + delete td; + delete sch; +} diff --git a/src/clstepcore/test/test_operators_SDAI_Select.cc b/src/clstepcore/test/test_operators_SDAI_Select.cc new file mode 100644 index 000000000..b82d20ddc --- /dev/null +++ b/src/clstepcore/test/test_operators_SDAI_Select.cc @@ -0,0 +1,84 @@ +/** \file test_operators_SDAI_Select.cc + * tests for SDAI_Select operators + * currently only implements a test for operator= + * TODO implement others + */ + +#include + +#include "clstepcore/ExpDict.h" +#include "clstepcore/baseType.h" +#include "clstepcore/sdaiSelect.h" + +using namespace std; + +class TestSdaiSelect: public SDAI_Select { + public: + TestSdaiSelect( SelectTypeDescriptor * s, TypeDescriptor * t, BASE_TYPE b, SDAI_String v, ErrorDescriptor e ): + SDAI_Select( s, t ) { + base_type = b; + val = v; + _error = e; + } + TestSdaiSelect(): SDAI_Select() {} + TestSdaiSelect & operator=( const TestSdaiSelect & other ) { + SDAI_Select::operator=( other ); + return *this; + } + SDAI_Select& operator=( const SDAI_Select& other ) { + SDAI_Select::operator=( other ); + return *this; + } + + /// \return true for match + bool compare( SelectTypeDescriptor * s, TypeDescriptor * t, BASE_TYPE b, SDAI_String * v, ErrorDescriptor * e ) { + bool pass = _type == s; + pass &= underlying_type == t; + pass &= base_type == b; + pass &= val == v->c_str(); + pass &= ( _error.severity() == e->severity() ) && ( _error.debug_level() == e->debug_level() ); + return pass; + } + + // dummy implementations of pure virtual funcs + const TypeDescriptor* AssignEntity( SDAI_Application_instance * /*i*/ ) { return (TypeDescriptor *)0; } + SDAI_Select* NewSelect(){ return (SDAI_Select *)0; } + BASE_TYPE ValueType() const { return sdaiBOOLEAN; } + void STEPwrite_content( std::ostream& /*o*/, const char* /*a*/ ) const {} + Severity StrToVal_content( const char* /*a*/, InstMgrBase* /*m*/ ) { return SEVERITY_NULL; } + Severity STEPread_content(std::istream& i, InstMgrBase* m, const char* c, int n, const char* d) { + (void)i; (void)m; (void)c; (void)n; (void)d; return SEVERITY_NULL; + } +}; + +/// \return true for success +bool testOperatorEq() { + Schema * sch = 0; + SelectTypeDescriptor s( 5, "a", sdaiBOOLEAN, sch, "b" ); + TypeDescriptor t; + BASE_TYPE b = sdaiAGGR; + SDAI_String v( "test string" ); + ErrorDescriptor e( SEVERITY_MAX, 99 ); + TestSdaiSelect s1( &s, &t, b, v, e ); + TestSdaiSelect s2; + + s2 = s1; + if( s2.compare( &s, &t, b, &v, &e ) ) { + return true; + } else { + cerr << __FILE__ << ":" << __LINE__ << " - error: test for SDAI_Select::operator= failed" << endl; + return false; + } +} + +int main( int /*argc*/, char ** /*argv*/ ) { + bool pass = true; + pass &= testOperatorEq(); + //TODO test other operators + cerr << "FIXME this test is incomplete!" << endl; + if( pass ) { + exit( EXIT_SUCCESS ); + } else { + exit( EXIT_FAILURE ); + } +} diff --git a/src/clstepcore/test/test_operators_STEPattribute.cc b/src/clstepcore/test/test_operators_STEPattribute.cc new file mode 100644 index 000000000..a64d274de --- /dev/null +++ b/src/clstepcore/test/test_operators_STEPattribute.cc @@ -0,0 +1,73 @@ +///test constructors, destructor, shallow copy, assignment operators for STEPattribute + +#include "clstepcore/STEPattribute.h" +#include "clstepcore/ExpDict.h" +#include + + +/// test copying a STEPattribute; returns true on success +bool testCopy( STEPattribute & attr, const char * desc ) { + bool pass = true; + STEPattribute b = attr; + STEPattribute c; + + + if( !( attr == attr ) ) { + std::cerr << "test class initialization failed " << desc << std::endl; + pass = false; + } + + if( !( attr == b ) ) { + std::cerr << "assignment operator failed " << desc << std::endl; + pass = false; + } + + c.ShallowCopy( & attr ); + if( !( attr == c ) ) { + std::cerr << "ShallowCopy() failed " << desc << std::endl; + pass = false; + } + + return pass; +} + +bool testEqu( const STEPattribute & a1, const STEPattribute & a2, bool invert, const char * desc ) { + bool pass = ( invert ? ( !( a1 == a2 ) ) : ( a1 == a2 ) ); + if( !pass ) { + std::cerr << "Comparison test " << desc << " failed." << std::endl; + } + return pass; +} + +int main( int /*argc*/, char ** /*argv*/ ) { + bool pass = true; + EntityDescriptor ed( "ename", 0, LFalse, LFalse ); + + // used to test copying without operator new + TypeDescriptor tdi( "tint", sdaiINTEGER, 0, "int" ); + AttrDescriptor adi( "aint", & tdi, LFalse, LFalse, AttrType_Explicit, ed ); + SDAI_Integer sint = 1234L, s2int = 123L; + STEPattribute ai( adi, & sint ); + + //test copying with operator new (SDAI_Logical requires new) + TypeDescriptor tdl( "tlog", sdaiLOGICAL, 0, "str" ); + AttrDescriptor adl( "alog", & tdl, LFalse, LFalse, AttrType_Explicit, ed ); + SDAI_LOGICAL slog( LTrue ); + STEPattribute al( adl, & slog ); + + pass &= testCopy( ai, "without operator new" ); + pass &= testCopy( al, "with operator new" ); + + pass &= testEqu( al, al, false, "LOGICAL ==" ); + pass &= testEqu( ai, ai, false, "int ==" ); + pass &= testEqu( ai, al, true, "int != LOGICAL" ); + + STEPattribute aii( adi, & s2int ); + pass &= testEqu( ai, aii, true, "ints !=" ); + + if( pass ) { + exit( EXIT_SUCCESS ); + } + exit( EXIT_FAILURE ); +} + diff --git a/src/clstepcore/trynext.cc b/src/clstepcore/trynext.cc index d2de63d89..dd2941edd 100644 --- a/src/clstepcore/trynext.cc +++ b/src/clstepcore/trynext.cc @@ -11,8 +11,7 @@ * Date: 10/24/96 * *****************************************************************************/ -#include "complexSupport.h" -#include "sc_memmgr.h" +#include "clstepcore/complexSupport.h" // Local function prototypes: static EntList * firstCandidate( EntList * ); @@ -34,7 +33,7 @@ MatchType MultList::tryNext( EntNode * ents ) { child = firstCandidate( child ); while( child != NULL ) { - if( ( retval = ( ( MultList * )child )->tryNext( ents ) ) == MATCHALL ) { + if( ( retval = ( dynamic_cast< MultList * >(child) )->tryNext( ents ) ) == MATCHALL ) { // We're done - a good solution was found. return MATCHALL; } @@ -100,7 +99,6 @@ static EntList * nextCandidate( EntList * child ) { * and then to try our next choice. */ MatchType OrList::tryNext( EntNode * ents ) { - MatchType retval; EntList * child; @@ -115,6 +113,7 @@ MatchType OrList::tryNext( EntNode * ents ) { // I.e., if there are (or may be) more choices within the current // choice, try those first. We must be sure to exhaust all choices in // our descendants before moving on. + MatchType retval; retval = ( ( MultList * )child )->tryNext( ents ); if( retval == MATCHALL ) { return MATCHALL; diff --git a/src/clstepcore/typeDescriptor.cc b/src/clstepcore/typeDescriptor.cc new file mode 100644 index 000000000..1d654f609 --- /dev/null +++ b/src/clstepcore/typeDescriptor.cc @@ -0,0 +1,427 @@ +#include "clstepcore/typeDescriptor.h" + +TypeDescriptor::TypeDescriptor( ) + : _name( 0 ), altNames( 0 ), _fundamentalType( UNKNOWN_TYPE ), + _originatingSchema( 0 ), _referentType( 0 ), _description( 0 ), _where_rules( 0 ) { +} + +TypeDescriptor::TypeDescriptor +( const char * nm, PrimitiveType ft, Schema * origSchema, + const char * d ) + : _name( nm ), altNames( 0 ), _fundamentalType( ft ), + _originatingSchema( origSchema ), _referentType( 0 ), _description( d ), + _where_rules( 0 ) { +} + +TypeDescriptor::~TypeDescriptor() { + if( _where_rules ) { + delete _where_rules; + } +} + +/** + * Determines the current name of this. Normally, this is simply _name. + * If "schnm" is set to a value, however, then this function becomes a + * request for our name when referenced by schnm. (This will be diff from + * our original name if schnm USEs or REFERENCEs us and renames us (e.g., + * "USE (xx as yy)").) In such a case, this function searches through our + * altNames list to see if schema schnm refers to us with a different name + * and returns the new name if found. (See header comments to function + * SchRename::rename().) + */ +const char * TypeDescriptor::Name( const char * schnm ) const { + if( schnm == NULL ) { + return _name; + } + if( altNames && altNames->rename( schnm, ( char * )_altname ) ) { + // If our altNames list has an alternate for schnm, copy it into + // _altname, and return it: + return _altname; + } + return _name; +} + +const char * TypeDescriptor::BaseTypeName() const { + return BaseTypeDescriptor() ? BaseTypeDescriptor() -> Name() : 0; +} + +const TypeDescriptor * TypeDescriptor::BaseTypeIsA( const TypeDescriptor * td ) const { + switch( NonRefType() ) { + case AGGREGATE_TYPE: + return AggrElemTypeDescriptor() -> IsA( td ); + case ENTITY_TYPE: + case SELECT_TYPE: + default: + return IsA( td ); + } +} + +/** + * Check if our "current" name = other. CurrName may be different from + * _name if schNm tells us the current schema is a different one from the + * one in which we're defined. If so, we may have an alternate name for + * that schema (it may be listed in our altNames list). This would be the + * case if schNm USEs or REFERENCEs type and renames it in the process + * (e.g., "USE (X as Y)". + */ +bool TypeDescriptor::CurrName( const char * other, const char * schNm ) const { + if( !schNm || *schNm == '\0' ) { + // If there's no current schema, accept any possible name of this. + // (I.e., accept its actual name or any substitute): + return ( PossName( other ) ); + } + if( altNames && altNames->rename( schNm, ( char * )_altname ) ) { + // If we have a different name when the current schema = schNm, then + // other better = the alt name. + return ( !StrCmpIns( _altname, other ) ); + } else { + // If we have no designated alternate name when the current schema = + // schNm, other must = our _name. + return ( OurName( other ) ); + } +} + +/** + * return true if nm is either our name or one of the possible alternates. + */ +bool TypeDescriptor::PossName( const char * nm ) const { + return ( OurName( nm ) || AltName( nm ) ); +} + +bool TypeDescriptor::OurName( const char * nm ) const { + return !StrCmpIns( nm, _name ); +} + +bool TypeDescriptor::AltName( const char * nm ) const { + if( altNames ) { + return ( altNames->choice( nm ) ); + } + return false; +} + +/** + * Creates a SchRename consisting of schnm & newnm. Places it in alphabe- + * tical order in this's altNames list. + */ +void TypeDescriptor::addAltName( const char * schnm, const char * newnm ) { + SchRename * newpair = new SchRename( schnm, newnm ), + *node = ( SchRename * )altNames, *prev = NULL; + + while( node && *node < *newpair ) { + prev = node; + node = node->next; + } + newpair->next = node; // node may = NULL + if( prev ) { + // Will be the case if new node should not be first (and above while + // loop was entered). + prev->next = newpair; + } else { + // put newpair first + altNames = newpair; + } +} + +void TypeDescriptor::AttrTypeName( std::string & buf, const char * schnm ) const { + const char * sn = Name( schnm ); + if( sn ) { + StrToLower( sn , buf ); + } else { + buf = _description; + } +} + +const char * TypeDescriptor::GenerateExpress( std::string & buf ) const { + char tmp[BUFSIZ+1]; + buf = "TYPE "; + buf.append( StrToLower( Name(), tmp ) ); + buf.append( " = " ); + const char * desc = Description(); + const char * ptr = desc; + + while( *ptr != '\0' ) { + if( *ptr == ',' ) { + buf.append( ",\n " ); + } else if( *ptr == '(' ) { + buf.append( "\n (" ); + } else if( isupper( *ptr ) ) { + buf += ( char )tolower( *ptr ); + } else { + buf += *ptr; + } + ptr++; + } + buf.append( ";\n" ); + /////////////// + // count is # of WHERE rules + if( _where_rules != 0 ) { + int all_comments = 1; + int count = _where_rules->Count(); + for( int i = 0; i < count; i++ ) { // print out each UNIQUE rule + if( !( *( _where_rules ) )[i]->_label.size() ) { + all_comments = 0; + } + } + + if( all_comments ) { + buf.append( " (* WHERE *)\n" ); + } else { + buf.append( " WHERE\n" ); + } + + for( int i = 0; i < count; i++ ) { // print out each WHERE rule + if( !( *( _where_rules ) )[i]->_comment.empty() ) { + buf.append( " " ); + buf.append( ( *( _where_rules ) )[i]->comment_() ); + } + if( ( *( _where_rules ) )[i]->_label.size() ) { + buf.append( " " ); + buf.append( ( *( _where_rules ) )[i]->label_() ); + } + } + } + + buf.append( "END_TYPE;\n" ); + return const_cast( buf.c_str() ); +} + +/** + * This is a fully expanded description of the type. + * This returns a string like the _description member variable + * except it is more thorough of a description where possible + * e.g. if the description contains a TYPE name it will also + * be explained. + */ +const char * TypeDescriptor::TypeString( std::string & s ) const { + switch( Type() ) { + case REFERENCE_TYPE: + if( Name() ) { + s.append( "TYPE " ); + s.append( Name() ); + s.append( " = " ); + } + if( Description() ) { + s.append( Description() ); + } + if( ReferentType() ) { + s.append( " -- " ); + std::string tmp; + s.append( ReferentType()->TypeString( tmp ) ); + } + return const_cast( s.c_str() ); + + case INTEGER_TYPE: + s.clear(); + if( _referentType != 0 ) { + s = "TYPE "; + s.append( Name() ); + s.append( " = " ); + } + s.append( "Integer" ); + break; + + case STRING_TYPE: + s.clear(); + if( _referentType != 0 ) { + s = "TYPE "; + s.append( Name() ); + s.append( " = " ); + } + s.append( "String" ); + break; + + case REAL_TYPE: + s.clear(); + if( _referentType != 0 ) { + s = "TYPE "; + s.append( Name() ); + s.append( " = " ); + } + s.append( "Real" ); + break; + + case ENUM_TYPE: + s = "Enumeration: "; + if( Name() ) { + s.append( "TYPE " ); + s.append( Name() ); + s.append( " = " ); + } + if( Description() ) { + s.append( Description() ); + } + break; + + case BOOLEAN_TYPE: + s.clear(); + if( _referentType != 0 ) { + s = "TYPE "; + s.append( Name() ); + s.append( " = " ); + } + s.append( "Boolean: F, T" ); + break; + case LOGICAL_TYPE: + s.clear(); + if( _referentType != 0 ) { + s = "TYPE "; + s.append( Name() ); + s.append( " = " ); + } + s.append( "Logical: F, T, U" ); + break; + case NUMBER_TYPE: + s.clear(); + if( _referentType != 0 ) { + s = "TYPE "; + s.append( Name() ); + s.append( " = " ); + } + s.append( "Number" ); + break; + case BINARY_TYPE: + s.clear(); + if( _referentType != 0 ) { + s = "TYPE "; + s.append( Name() ); + s.append( " = " ); + } + s.append( "Binary" ); + break; + case ENTITY_TYPE: + s = "Entity: "; + if( Name() ) { + s.append( Name() ); + } + break; + case AGGREGATE_TYPE: + case ARRAY_TYPE: // DAS + case BAG_TYPE: // DAS + case SET_TYPE: // DAS + case LIST_TYPE: // DAS + s = Description(); + if( ReferentType() ) { + s.append( " -- " ); + std::string tmp; + s.append( ReferentType()->TypeString( tmp ) ); + } + break; + case SELECT_TYPE: + s.append( Description() ); + break; + case GENERIC_TYPE: + case UNKNOWN_TYPE: + s = "Unknown"; + break; + } // end switch + return const_cast( s.c_str() ); + +} + +const TypeDescriptor * TypeDescriptor::IsA( const TypeDescriptor * other ) const { + if( this == other ) { + return other; + } + return 0; +} + +const TypeDescriptor * TypeDescriptor::IsA( const char * other ) const { + if( !Name() ) { + return 0; + } + if( !StrCmpIns( _name, other ) ) { // this is the type + return this; + } + return ( ReferentType() ? ReferentType() -> IsA( other ) : 0 ); +} + +/** + * the first PrimitiveType that is not REFERENCE_TYPE (the first + * TypeDescriptor *_referentType that does not have REFERENCE_TYPE + * for it's fundamentalType variable). This would return the same + * as BaseType() for fundamental types. An aggregate type + * would return AGGREGATE_TYPE then you could find out the type of + * an element by calling AggrElemType(). Select types + * would work the same? + */ +PrimitiveType TypeDescriptor::NonRefType() const { + const TypeDescriptor * td = NonRefTypeDescriptor(); + if( td ) { + return td->FundamentalType(); + } + return UNKNOWN_TYPE; +} + + +const TypeDescriptor * TypeDescriptor::NonRefTypeDescriptor() const { + const TypeDescriptor * td = this; + + while( td->ReferentType() ) { + if( td->Type() != REFERENCE_TYPE ) { + return td; + } + td = td->ReferentType(); + } + + return td; +} + +/// This returns the PrimitiveType of the first non-aggregate element of an aggregate +int TypeDescriptor::IsAggrType() const { + switch( NonRefType() ) { + case AGGREGATE_TYPE: + case ARRAY_TYPE: // DAS + case BAG_TYPE: // DAS + case SET_TYPE: // DAS + case LIST_TYPE: // DAS + return 1; + + default: + return 0; + } +} + +PrimitiveType TypeDescriptor::AggrElemType() const { + const TypeDescriptor * aggrElemTD = AggrElemTypeDescriptor(); + if( aggrElemTD ) { + return aggrElemTD->Type(); + } + return UNKNOWN_TYPE; +} + +const TypeDescriptor * TypeDescriptor::AggrElemTypeDescriptor() const { + const TypeDescriptor * aggrTD = NonRefTypeDescriptor(); + const TypeDescriptor * aggrElemTD = aggrTD->ReferentType(); + if( aggrElemTD ) { + aggrElemTD = aggrElemTD->NonRefTypeDescriptor(); + } + return aggrElemTD; +} + +/** + * This is the underlying type of this type. For instance: + * TYPE count = INTEGER; + * TYPE ref_count = count; + * TYPE count_set = SET OF ref_count; + * each of the above will generate a TypeDescriptor and for + * each one, PrimitiveType BaseType() will return INTEGER_TYPE + * TypeDescriptor *BaseTypeDescriptor() returns the TypeDescriptor + * for Integer + */ +PrimitiveType TypeDescriptor::BaseType() const { + const TypeDescriptor * td = BaseTypeDescriptor(); + if( td ) { + return td->FundamentalType(); + } else { + return ENTITY_TYPE; + } +} + +const TypeDescriptor * TypeDescriptor::BaseTypeDescriptor() const { + const TypeDescriptor * td = this; + + while( td -> ReferentType() ) { + td = td->ReferentType(); + } + return td; +} diff --git a/src/clstepcore/typeDescriptorList.cc b/src/clstepcore/typeDescriptorList.cc new file mode 100644 index 000000000..bbc91de9e --- /dev/null +++ b/src/clstepcore/typeDescriptorList.cc @@ -0,0 +1,30 @@ +#include "clstepcore/typeDescriptorList.h" + +TypeDescLinkNode::TypeDescLinkNode() { + _typeDesc = 0; +} + +TypeDescLinkNode::~TypeDescLinkNode() { +} + +TypeDescriptorList::TypeDescriptorList() { +} + +TypeDescriptorList::~TypeDescriptorList() { +} + +TypeDescItr::TypeDescItr( const TypeDescriptorList & tdList ) : tdl( tdList ) { + cur = ( TypeDescLinkNode * )( tdl.GetHead() ); +} + +TypeDescItr::~TypeDescItr() { +} + +const TypeDescriptor * TypeDescItr::NextTypeDesc() { + if( cur ) { + const TypeDescriptor * td = cur->TypeDesc(); + cur = ( TypeDescLinkNode * )( cur->NextNode() ); + return td; + } + return 0; +} diff --git a/src/clstepcore/typeOrRuleVar.cc b/src/clstepcore/typeOrRuleVar.cc new file mode 100644 index 000000000..c9b823cbf --- /dev/null +++ b/src/clstepcore/typeOrRuleVar.cc @@ -0,0 +1,14 @@ +#include "clstepcore/typeOrRuleVar.h" + +#include + +Type_or_rule::Type_or_rule() { + std::cerr << "WARNING - Type_or_rule class doesn't seem to be complete - it has no members!" << std::endl; +} + +Type_or_rule::Type_or_rule( const Type_or_rule & tor ): Dictionary_instance() { + ( void ) tor; //TODO once this class has some members, we'll actually have something to copy +} + +Type_or_rule::~Type_or_rule() { +} diff --git a/src/clstepcore/uniquenessRule.cc b/src/clstepcore/uniquenessRule.cc new file mode 100644 index 000000000..d22bf2c2c --- /dev/null +++ b/src/clstepcore/uniquenessRule.cc @@ -0,0 +1,108 @@ +#include "clstepcore/uniquenessRule.h" + +#include + +Uniqueness_rule::Uniqueness_rule() +: _parent_entity( 0 ) { +} + +Uniqueness_rule::Uniqueness_rule( const Uniqueness_rule & ur ): Dictionary_instance() { + _label = ur._label; + _parent_entity = ur._parent_entity; +} + +Uniqueness_rule::~Uniqueness_rule() { + // don't delete _parent_entity +} + +Uniqueness_rule__set::Uniqueness_rule__set( int defaultSize ) { + _bufsize = defaultSize; + _buf = new Uniqueness_rule_ptr[_bufsize]; + _count = 0; +} + +Uniqueness_rule__set::~Uniqueness_rule__set() { + Clear(); + + delete[] _buf; +} + +void Uniqueness_rule__set::Check( int index ) { + Uniqueness_rule_ptr * newbuf; + + if( index >= _bufsize ) { + _bufsize = ( index + 1 ) * 2; + newbuf = new Uniqueness_rule_ptr[_bufsize]; + memmove( newbuf, _buf, _count * sizeof( Uniqueness_rule_ptr ) ); + delete[] _buf; + _buf = newbuf; + } +} + +void Uniqueness_rule__set::Insert( Uniqueness_rule_ptr v, int index ) { + Uniqueness_rule_ptr * spot; + index = ( index < 0 ) ? _count : index; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Uniqueness_rule_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Uniqueness_rule__set::Append( Uniqueness_rule_ptr v ) { + int index = _count; + Uniqueness_rule_ptr * spot; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Uniqueness_rule_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Uniqueness_rule__set::Remove( int index ) { + if( 0 <= index && index < _count ) { + --_count; + Uniqueness_rule_ptr * spot = &_buf[index]; + memmove( spot, spot + 1, ( _count - index )*sizeof( Uniqueness_rule_ptr ) ); + } +} + +int Uniqueness_rule__set::Index( Uniqueness_rule_ptr v ) { + for( int i = 0; i < _count; ++i ) { + if( _buf[i] == v ) { + return i; + } + } + return -1; +} + +Uniqueness_rule_ptr & Uniqueness_rule__set::operator[]( int index ) { + Check( index ); + _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); + return _buf[index]; +} + +int Uniqueness_rule__set::Count() { + return _count; +} + +void Uniqueness_rule__set::Clear() { + for( int i = 0; i < _count; i ++ ) { + delete _buf[i]; + } + _count = 0; +} diff --git a/src/clstepcore/whereRule.cc b/src/clstepcore/whereRule.cc new file mode 100644 index 000000000..191b1ec36 --- /dev/null +++ b/src/clstepcore/whereRule.cc @@ -0,0 +1,107 @@ +#include "clstepcore/whereRule.h" + +Where_rule::Where_rule() { + _type_or_rule = 0; +} + +Where_rule::Where_rule( const Where_rule & wr ): Dictionary_instance() { + _label = wr._label; + _type_or_rule = wr._type_or_rule; +} + +Where_rule::~Where_rule() { +} + +/////////////////////////////////////////////////////////////////////////////// + +Where_rule__list::Where_rule__list( int defaultSize ) { + _bufsize = defaultSize; + _buf = new Where_rule_ptr[_bufsize]; + _count = 0; +} + +Where_rule__list::~Where_rule__list() { + Clear(); + + delete[] _buf; +} + +void Where_rule__list::Check( int index ) { + Where_rule_ptr * newbuf; + + if( index >= _bufsize ) { + _bufsize = ( index + 1 ) * 2; + newbuf = new Where_rule_ptr[_bufsize]; + memmove( newbuf, _buf, _count * sizeof( Where_rule_ptr ) ); + delete[] _buf; + _buf = newbuf; + } +} + +void Where_rule__list::Insert( Where_rule_ptr v, int index ) { + Where_rule_ptr * spot; + index = ( index < 0 ) ? _count : index; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Where_rule_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Where_rule__list::Append( Where_rule_ptr v ) { + int index = _count; + Where_rule_ptr * spot; + + if( index < _count ) { + Check( _count + 1 ); + spot = &_buf[index]; + memmove( spot + 1, spot, ( _count - index )*sizeof( Where_rule_ptr ) ); + + } else { + Check( index ); + spot = &_buf[index]; + } + *spot = v; + ++_count; +} + +void Where_rule__list::Remove( int index ) { + if( 0 <= index && index < _count ) { + --_count; + Where_rule_ptr * spot = &_buf[index]; + memmove( spot, spot + 1, ( _count - index )*sizeof( Where_rule_ptr ) ); + } +} + +int Where_rule__list::Index( Where_rule_ptr v ) { + for( int i = 0; i < _count; ++i ) { + if( _buf[i] == v ) { + return i; + } + } + return -1; +} + +Where_rule_ptr & Where_rule__list::operator[]( int index ) { + Check( index ); + _count = ( ( _count > index + 1 ) ? _count : ( index + 1 ) ); + return _buf[index]; +} + +int Where_rule__list::Count() { + return _count; +} + +void Where_rule__list::Clear() { + for( int i = 0; i < _count ; i ++ ) { + delete _buf[i]; + } + _count = 0; +} diff --git a/src/clutils/CMakeLists.txt b/src/clutils/CMakeLists.txt index 132938613..27cb08745 100644 --- a/src/clutils/CMakeLists.txt +++ b/src/clutils/CMakeLists.txt @@ -1,32 +1,37 @@ +set(UTILS_SRCS + Str.cc + dirobj.cc + gennode.cc + gennodelist.cc + gennodearray.cc + sc_hash.cc + errordesc.cc + ) -set(LIBSTEPUTILS_SRCS - Str.cc - dirobj.cc - gennode.cc - gennodelist.cc - gennodearray.cc - sc_hash.cc - errordesc.cc -) +include_directories( + ${SC_BINARY_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR} + ) -SET(LIBSTEPUTILS_PRIVATE_HDRS - dirobj.h - errordesc.h - gennodearray.h - gennode.h - gennodelist.h - sc_hash.h - Str.h -) +if(BUILD_SHARED_LIBS) + SC_ADDLIB(steputils SHARED SOURCES ${UTILS_SRCS}) + if(WIN32) + target_compile_definitions(steputils PRIVATE SC_UTILS_DLL_EXPORTS) + target_link_libraries(steputils shlwapi) + endif() +endif() -include_directories( - ${SC_SOURCE_DIR}/src/base - ${SC_BINARY_DIR}/include - ${CMAKE_CURRENT_SOURCE_DIR} -) +if(BUILD_STATIC_LIBS) + SC_ADDLIB(steputils-static STATIC SOURCES ${UTILS_SRCS}) + if(WIN32) + target_link_libraries(steputils-static shlwapi) + endif() +endif() -SC_ADDLIB(steputils "${LIBSTEPUTILS_SRCS}" "base") +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 -IF(MINGW OR MSVC OR BORLAND) - TARGET_LINK_LIBRARIES(steputils shlwapi.lib) -ENDIF() diff --git a/src/clutils/Str.cc b/src/clutils/Str.cc index 89633f571..1f6a3dce3 100644 --- a/src/clutils/Str.cc +++ b/src/clutils/Str.cc @@ -9,7 +9,7 @@ * and is not subject to copyright. */ -#include "Str.h" +#include "clutils/Str.h" #include #include @@ -53,7 +53,7 @@ char * StrToLower( const char * strOld, char * strNew ) { } const char * StrToLower( const char * word, std::string & s ) { - char newword [BUFSIZ]; + char newword [BUFSIZ+1]; int i = 0; while( word [i] != '\0' ) { @@ -66,7 +66,7 @@ const char * StrToLower( const char * word, std::string & s ) { } const char * StrToUpper( const char * word, std::string & s ) { - char newword [BUFSIZ]; + char newword [BUFSIZ+1]; int i = 0; while( word [i] != '\0' ) { @@ -79,7 +79,7 @@ const char * StrToUpper( const char * word, std::string & s ) { } const char * StrToConstant( const char * word, std::string & s ) { - char newword [BUFSIZ]; + char newword [BUFSIZ+1]; int i = 0; while( word [i] != '\0' ) { @@ -179,7 +179,7 @@ std::string GetLiteralStr( istream & in, ErrorDescriptor * err ) { ******************************************************************/ const char * PrettyTmpName( const char * oldname ) { int i = 0; - static char newname [BUFSIZ]; + static char newname [BUFSIZ+1]; newname [0] = '\0'; while( ( oldname [i] != '\0' ) && ( i < BUFSIZ ) ) { newname [i] = ToLower( oldname [i] ); @@ -228,7 +228,7 @@ char * PrettyNewName( const char * oldname ) { *** the value. *** If the input stream can be readable again then -*** - any error states set for the the stream are cleared. +*** - any error states set for the stream are cleared. *** - white space skipped in the input stream *** - if EOF is encountered it returns *** otherwise it peeks at the next character @@ -318,3 +318,7 @@ Severity CheckRemainingInput( istream & in, ErrorDescriptor * err, } return err->severity(); } + +Severity CheckRemainingInput( std::istream & in, ErrorDescriptor * err, const std::string typeName, const char * tokenList ) { + return CheckRemainingInput( in, err, typeName.c_str(), tokenList ); +} diff --git a/src/clutils/dirobj.cc b/src/clutils/dirobj.cc index 1e741dfb7..e0e3f970a 100644 --- a/src/clutils/dirobj.cc +++ b/src/clutils/dirobj.cc @@ -39,8 +39,8 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include -#include +#include "config.h" +#include "clutils/dirobj.h" #ifdef HAVE_DIRENT_H # include #endif @@ -52,13 +52,12 @@ #include #include +#include -#if defined(__WIN32__) +#ifdef _WIN32 #include #endif -#include - /////////////////////////////////////////////////////////////////////////////// // // Create a new DirObj object. @@ -145,7 +144,7 @@ int DirObj::Index( const char * name ) { bool DirObj::Reset( const std::string & path ) { bool successful = IsADirectory( path.c_str() ); if( successful ) { -#ifdef __WIN32__ +#ifdef _WIN32 WIN32_FIND_DATA FindFileData; HANDLE hFind; @@ -182,7 +181,7 @@ bool DirObj::Reset( const std::string & path ) { /////////////////////////////////////////////////////////////////////////////// bool DirObj::IsADirectory( const char * path ) { -#if defined(__WIN32__) +#ifdef _WIN32 if( PathIsDirectory( path ) ) { return true; } @@ -217,7 +216,7 @@ bool DirObj::IsADirectory( const char * path ) { std::string DirObj::Normalize( const std::string & path ) { std::string buf; const char * slash; -#if defined(__WIN32__) +#ifdef _WIN32 char b[MAX_PATH]; PathCanonicalize( b, path.c_str() ); slash = "\\"; @@ -230,6 +229,10 @@ std::string DirObj::Normalize( const std::string & path ) { buf.clear(); } else { buf.assign( b ); + +#if !defined(_WIN32) + free(b); +#endif } if( buf.empty() ) { @@ -250,12 +253,13 @@ std::string DirObj::Normalize( const std::string & path ) { /////////////////////////////////////////////////////////////////////////////// const char * DirObj::ValidDirectories( const char * path ) { -#ifdef __WIN32__ +#ifdef _WIN32 static char buf[MAX_PATH + 1]; + strncpy(buf, path, MAX_PATH); #else static char buf[MAXPATHLEN + 1]; + strncpy(buf, path, MAXPATHLEN); #endif - strcpy( buf, path ); int i = strlen( path ); while( !IsADirectory( RealPath( buf ) ) && i >= 0 ) { @@ -281,7 +285,7 @@ void DirObj::CheckIndex( int index ) { fileListSize = ( index + 1 ) * 2; newstrbuf = new char*[fileListSize]; memmove( newstrbuf, fileList, fileCount * sizeof( char * ) ); - delete fileList; + delete [] fileList; fileList = newstrbuf; } } @@ -304,7 +308,7 @@ void DirObj::InsertFile( const char * f, int index ) { CheckIndex( index ); spot = &fileList[index]; } -#ifdef __MSVC__ +#ifdef _MSC_VER char * string = _strdup( f ); #else char * string = strdup( f ); @@ -321,8 +325,8 @@ void DirObj::InsertFile( const char * f, int index ) { void DirObj::RemoveFile( int index ) { if( index < --fileCount ) { + free(fileList[index]); const char ** spot = ( const char ** )&fileList[index]; - delete spot; memmove( spot, spot + 1, ( fileCount - index )*sizeof( char * ) ); } } diff --git a/src/clutils/errordesc.cc b/src/clutils/errordesc.cc index 061b9a4e9..17a2de465 100644 --- a/src/clutils/errordesc.cc +++ b/src/clutils/errordesc.cc @@ -10,9 +10,8 @@ * and is not subject to copyright. */ -#include -#include -#include +#include "clutils/errordesc.h" +#include "clutils/Str.h" DebugLevel ErrorDescriptor::_debug_level = DEBUG_OFF; ostream * ErrorDescriptor::_out = 0; @@ -131,7 +130,7 @@ void ErrorDescriptor::PrependToUserMsg( const char * msg ) { } void ErrorDescriptor::AppendToUserMsg( const char c ) { - _userMsg.append( &c ); + _userMsg.push_back( c ); } void ErrorDescriptor::AppendToUserMsg( const char * msg ) { @@ -147,7 +146,7 @@ void ErrorDescriptor::PrependToDetailMsg( const char * msg ) { } void ErrorDescriptor::AppendToDetailMsg( const char c ) { - _detailMsg.append( &c ); + _detailMsg.push_back( c ); } void ErrorDescriptor::AppendToDetailMsg( const char * msg ) { diff --git a/src/clutils/gennode.cc b/src/clutils/gennode.cc index 3036ab19d..c8a993632 100644 --- a/src/clutils/gennode.cc +++ b/src/clutils/gennode.cc @@ -12,9 +12,8 @@ /* $Id: gennode.cc,v 3.0.1.4 1997/11/05 22:33:47 sauderd DP3.1 $ */ -#include -#include -#include +#include "clutils/gennode.h" +#include "clutils/gennodelist.h" ////////////////////////////////////////////////////////////////////////////// // class GenericNode inline functions that depend on other classes diff --git a/src/clutils/gennodearray.cc b/src/clutils/gennodearray.cc index f78acbd14..22a9a73d3 100644 --- a/src/clutils/gennodearray.cc +++ b/src/clutils/gennodearray.cc @@ -11,12 +11,11 @@ */ -#include +#include "config.h" -#include -#include -#include -#include +#include "clutils/gennode.h" +#include "clutils/gennodelist.h" +#include "clutils/gennodearray.h" #ifndef HAVE_MEMMOVE extern "C" { diff --git a/src/clutils/gennodelist.cc b/src/clutils/gennodelist.cc index 9560a72b1..c75d7a712 100644 --- a/src/clutils/gennodelist.cc +++ b/src/clutils/gennodelist.cc @@ -12,11 +12,10 @@ /* $Id: gennodelist.cc,v 3.0.1.2 1997/11/05 22:33:49 sauderd DP3.1 $ */ -#include -#include +#include "clutils/gennode.h" +#include "clutils/gennodelist.h" //#include -#include -#include +#include "clutils/gennodearray.h" // inserts after existNode void GenNodeList::InsertAfter( GenericNode * newNode, diff --git a/src/clutils/sc_hash.cc b/src/clutils/sc_hash.cc index 6b87a3ae5..8ed4c54ab 100644 --- a/src/clutils/sc_hash.cc +++ b/src/clutils/sc_hash.cc @@ -1,93 +1,75 @@ -/* "$Id: sc_hash.cc,v 3.0.1.2 1997/11/05 22:33:50 sauderd DP3.1 $"; */ - -/* +/** \file sc_hash.cc * Dynamic hashing, after CACM April 1988 pp 446-457, by Per-Ake Larson. * Coded into C, with minor code improvements, and with hsearch(3) interface, * by ejp@ausmelb.oz, Jul 26, 1988: 13:16; * also, hcreate/hdestroy routines added to simulate hsearch(3). */ -#include +#include "clutils/sc_hash.h" #include #include #include -#include -/*************/ /* constants */ -/*************/ - #define HASH_NULL (Hash_TableP)NULL - #define SEGMENT_SIZE 256 #define SEGMENT_SIZE_SHIFT 8 /* log2(SEGMENT_SIZE) */ #define PRIME1 37 #define PRIME2 1048583 #define MAX_LOAD_FACTOR 5 -/************/ -/* typedefs */ -/************/ - -typedef unsigned long Address; - -/******************************/ /* macro function definitions */ -/******************************/ - -/* -** Fast arithmetic, relying on powers of 2 -*/ - -#define MUL(x,y) ((x) << (y##_SHIFT)) -#define DIV(x,y) ((x) >> (y##_SHIFT)) -#define MOD(x,y) ((x) & ((y)-1)) - #define SC_HASH_Table_new() new Hash_Table #define SC_HASH_Table_destroy(x) delete x #define SC_HASH_Element_new() new Element #define SC_HASH_Element_destroy(x) delete x +/* Macros for fast arithmetic, relying on powers of 2 */ +#define MUL(x,y) ((x) << (y##_SHIFT)) +#define DIV(x,y) ((x) >> (y##_SHIFT)) +#define MOD(x,y) ((x) & ((y)-1)) + +/* typedefs */ +typedef unsigned long Address; typedef struct Element * ElementP; typedef struct Hash_Table * Hash_TableP; -/* -** Internal routines -*/ - +/* Internal routines */ Address SC_HASHhash( char *, Hash_TableP ); static void SC_HASHexpand_table( Hash_TableP ); -# if HASH_STATISTICS +# ifdef HASH_STATISTICS static long HashAccesses, HashCollisions; # endif -void * -SC_HASHfind( Hash_TableP t, char * s ) { +/// find entry in given hash table +void * SC_HASHfind( Hash_TableP t, char * s ) { struct Element e; struct Element * ep; e.key = s; e.symbol = 0; /* initialize to 0 - 25-Apr-1994 - kcm */ + e.type = '*'; ep = SC_HASHsearch( t, &e, HASH_FIND ); return( ep ? ep->data : 0 ); } -void -SC_HASHinsert( Hash_TableP t, char * s, void * data ) { +/// insert entry into given hash table +void SC_HASHinsert( Hash_TableP t, char * s, void * data ) { struct Element e, *e2; e.key = s; e.data = data; e.symbol = 0; + e.type = '*'; e2 = SC_HASHsearch( t, &e, HASH_INSERT ); if( e2 ) { - printf( "Redeclaration of %s\n", s ); + fprintf( stderr, "%s: Redeclaration of %s\n", __func__, s ); } } -Hash_TableP -SC_HASHcreate( unsigned count ) { +/// create a hash table +Hash_TableP SC_HASHcreate( unsigned count ) { unsigned int i; Hash_TableP table; @@ -124,7 +106,7 @@ SC_HASHcreate( unsigned count ) { table->maxp = MUL( count, SEGMENT_SIZE ); table->MinLoadFactor = 1; table->MaxLoadFactor = MAX_LOAD_FACTOR; -# if DEBUG +# ifdef DEBUG fprintf( stderr, "[HASHcreate] table %x count %d maxp %d SegmentCount %d\n", table, @@ -132,16 +114,15 @@ SC_HASHcreate( unsigned count ) { table->maxp, table->SegmentCount ); # endif -# if HASH_STATISTICS +# ifdef HASH_STATISTICS HashAccesses = HashCollisions = 0; # endif return( table ); } -/* initialize pointer to beginning of hash table so we can step through it */ -/* on repeated calls to HASHlist - DEL */ -void -SC_HASHlistinit( Hash_TableP table, HashEntry * he ) { +/** initialize pointer to beginning of hash table so we can + * step through it on repeated calls to HASHlist - DEL */ +void SC_HASHlistinit( Hash_TableP table, HashEntry * he ) { he->i = he->j = 0; he->p = 0; he->table = table; @@ -149,8 +130,7 @@ SC_HASHlistinit( Hash_TableP table, HashEntry * he ) { he->e = 0; } -void -SC_HASHlistinit_by_type( Hash_TableP table, HashEntry * he, char type ) { +void SC_HASHlistinit_by_type( Hash_TableP table, HashEntry * he, char type ) { he->i = he->j = 0; he->p = 0; he->table = table; @@ -158,9 +138,8 @@ SC_HASHlistinit_by_type( Hash_TableP table, HashEntry * he, char type ) { he->e = 0; } -/* provide a way to step through the hash */ -struct Element * -SC_HASHlist( HashEntry * he ) { +/** provide a way to step through the hash */ +struct Element * SC_HASHlist( HashEntry * he ) { int i2 = he->i; int j2 = he->j; struct Element ** s; @@ -202,13 +181,13 @@ SC_HASHlist( HashEntry * he ) { return( he->e ); } -void -SC_HASHdestroy( Hash_TableP table ) { - unsigned int i, j; +/// destroy all elements in given table, then the table itself +void SC_HASHdestroy( Hash_TableP table ) { struct Element ** s; struct Element * p, *q; if( table != HASH_NULL ) { + unsigned int i, j; for( i = 0; i < table->SegmentCount; i++ ) { /* test probably unnecessary */ if( ( s = table->Directory[i] ) != NULL ) { @@ -225,17 +204,14 @@ SC_HASHdestroy( Hash_TableP table ) { } } SC_HASH_Table_destroy( table ); -# if HASH_STATISTICS && DEBUG - fprintf( stderr, - "[hdestroy] Accesses %ld Collisions %ld\n", - HashAccesses, - HashCollisions ); +# if defined(HASH_STATISTICS) && defined(DEBUG) + fprintf( stderr, "[hdestroy] Accesses %ld Collisions %ld\n", HashAccesses, HashCollisions ); # endif } } -struct Element * -SC_HASHsearch( Hash_TableP table, const struct Element * item, Action action ) { +/// search table for 'item', perform 'action' (find/insert/delete) +struct Element * SC_HASHsearch( Hash_TableP table, const struct Element * item, Action action ) { Address h; struct Element ** CurrentSegment; int SegmentIndex; @@ -244,7 +220,7 @@ SC_HASHsearch( Hash_TableP table, const struct Element * item, Action action ) { struct Element * q; struct Element * deleteme; -# if HASH_STATISTICS +# ifdef HASH_STATISTICS HashAccesses++; # endif h = SC_HASHhash( item->key, table ); @@ -265,7 +241,7 @@ SC_HASHsearch( Hash_TableP table, const struct Element * item, Action action ) { while( q != NULL && strcmp( q->key, item->key ) ) { p = &q->next; q = *p; -# if HASH_STATISTICS +# ifdef HASH_STATISTICS HashCollisions++; # endif } @@ -283,6 +259,9 @@ SC_HASHsearch( Hash_TableP table, const struct Element * item, Action action ) { /*STRINGfree(deleteme->key);*/ SC_HASH_Element_destroy( deleteme ); --table->KeyCount; + // TODO - we shouldn't be returning this pointer - it invites a + // USE_AFTER_FREE error. Could we just replace SC_HASH completely + // with one of the C++ containers? return( deleteme ); /* of course, user shouldn't deref this! */ case HASH_INSERT: /* if trying to insert it (twice), let them know */ @@ -317,10 +296,9 @@ SC_HASHsearch( Hash_TableP table, const struct Element * item, Action action ) { ** Internal routines */ -Address -SC_HASHhash( char * Key, Hash_TableP table ) { +Address SC_HASHhash( char * Key, Hash_TableP table ) { Address h, address; - register unsigned char * k = ( unsigned char * )Key; + unsigned char * k = ( unsigned char * )Key; h = 0; /* @@ -337,12 +315,7 @@ SC_HASHhash( char * Key, Hash_TableP table ) { return( address ); } -static -void -SC_HASHexpand_table( Hash_TableP table ) { - Address NewAddress; - int OldSegmentIndex, NewSegmentIndex; - int OldSegmentDir, NewSegmentDir; +static void SC_HASHexpand_table( Hash_TableP table ) { struct Element ** OldSegment, **NewSegment; struct Element * Current, **Previous, **LastOfNew; @@ -350,6 +323,9 @@ SC_HASHexpand_table( Hash_TableP table ) { /* ** Locate the bucket to be split */ + Address NewAddress; + int OldSegmentIndex, NewSegmentIndex; + int OldSegmentDir, NewSegmentDir; OldSegmentDir = DIV( table->p, SEGMENT_SIZE ); OldSegment = table->Directory[OldSegmentDir]; OldSegmentIndex = MOD( table->p, SEGMENT_SIZE ); @@ -407,7 +383,7 @@ SC_HASHexpand_table( Hash_TableP table ) { } } -/* following code is for testing hash package */ +/* for testing sc_hash */ #ifdef HASHTEST struct Element e1, e2, e3, *e; struct Hash_Table * t; diff --git a/src/exp2cxx/CMakeLists.txt b/src/exp2cxx/CMakeLists.txt new file mode 100644 index 000000000..6ccebb17a --- /dev/null +++ b/src/exp2cxx/CMakeLists.txt @@ -0,0 +1,53 @@ +set(FEDEX_COMMON_SRCS + classes_misc.c + ../express/fedex.c + ) + +set(exp2cxx_SOURCES + ${FEDEX_COMMON_SRCS} + trace_fprintf.c + fedex_main.c + classes_wrapper.cc + classes.c + classes_attribute.c + classes_entity.c + classes_type.c + class_strings.c + selects.c + multpass.c + rules.c + collect.cc + complexlist.cc + entlist.cc + multlist.cc + orlist.cc + entnode.cc + expressbuild.cc + non-ors.cc + match-ors.cc + trynext.cc + write.cc + print.cc + genCxxFilenames.c + ) + +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} + ${SC_SOURCE_DIR}/include + ${SC_SOURCE_DIR}/include/exppp + ${SC_SOURCE_DIR}/include/express + ) + +SC_ADDEXEC(exp2cxx SOURCES ${exp2cxx_SOURCES} LINK_LIBRARIES libexppp express) + +if(SC_ENABLE_TESTING) + add_subdirectory(test) +endif(SC_ENABLE_TESTING) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/src/exp2cxx/class_strings.c b/src/exp2cxx/class_strings.c new file mode 100644 index 000000000..7058e4719 --- /dev/null +++ b/src/exp2cxx/class_strings.c @@ -0,0 +1,237 @@ +#include +#include + +#include "class_strings.h" +#include "express/type.h" + +const char * ClassName( const char * oldname ) { + int i = 0, j = 0; + static char newname [BUFSIZ+1]; + if( !oldname ) { + return ( "" ); + } + strcpy( newname, ENTITYCLASS_PREFIX ) ; + j = strlen( ENTITYCLASS_PREFIX ) ; + newname [j] = ToUpper( oldname [i] ); + ++i; + ++j; + while( oldname [i] != '\0' ) { + newname [j] = ToLower( oldname [i] ); + /* if (oldname [i] == '_') */ + /* character is '_' */ + /* newname [++j] = ToUpper (oldname [++i]);*/ + ++i; + ++j; + } + newname [j] = '\0'; + return ( newname ); +} + +const char * ENTITYget_classname( Entity ent ) { + const char * oldname = ENTITYget_name( ent ); + return ( ClassName( oldname ) ); +} + +/** like TYPEget_ctype, but caller must alloc a buffer of at least buf_siz + * in many circumstances, this func will return a short string rather than using that buffer + * buf_siz is ignored in those cases since it is meaningless + */ +const char * TYPE_get_ctype( const Type t, char * retval, size_t buf_siz ) { + const char * ptr = "_ptr", * var = "_var", * agg = "_agg"; + const char * overflowMsg = "buffer overflow detected at %s:%d!"; + Class_Of_Type ctype; + Type bt; + + if( TYPEinherits_from( t, aggregate_ ) ) { + bt = TYPEget_body( t )->base; + if( TYPEinherits_from( bt, aggregate_ ) ) { + return( "GenericAggregate" ); + } + + ctype = TYPEget_type( bt ); + if( ctype == integer_ ) { + return ( "IntAggregate" ); + } + if( ( ctype == number_ ) || ( ctype == real_ ) ) { + return ( "RealAggregate" ); + } + if( ctype == entity_ ) { + return( "EntityAggregate" ); + } + if( ( ctype == enumeration_ ) || ( ctype == select_ ) ) { + const char * tmp = TYPE_get_ctype( bt, retval, buf_siz - strlen( retval ) - 1 ); + if( tmp != retval ) { + strncpy( retval, tmp, buf_siz - strlen( retval ) - 1 ); + } + if( strlen( retval ) + strlen( agg ) < buf_siz ) { + strcat( retval, agg ); + } else { + fprintf( stderr, overflowMsg, __FILE__, __LINE__ ); + abort(); + } + return ( retval ); + } + if( ctype == logical_ ) { + return ( "LOGICALS" ); + } + if( ctype == boolean_ ) { + return ( "BOOLEANS" ); + } + if( ctype == string_ ) { + return( "StringAggregate" ); + } + if( ctype == binary_ ) { + return( "BinaryAggregate" ); + } + } + + /* the rest is for things that are not aggregates */ + ctype = TYPEget_type( t ); + + /* case TYPE_LOGICAL: */ + if( ctype == logical_ ) { + return ( "SDAI_LOGICAL" ); + } + + /* case TYPE_BOOLEAN: */ + if( ctype == boolean_ ) { + return ( "SDAI_BOOLEAN" ); + } + + /* case TYPE_INTEGER: */ + if( ctype == integer_ ) { + return ( "SDAI_Integer" ); + } + + /* case TYPE_REAL: + * case TYPE_NUMBER: */ + if( ( ctype == number_ ) || ( ctype == real_ ) ) { + return ( "SDAI_Real" ); + } + + /* case TYPE_STRING: */ + if( ctype == string_ ) { + return ( "SDAI_String" ); + } + + /* case TYPE_BINARY: */ + if( ctype == binary_ ) { + return ( "SDAI_Binary" ); + } + + /* case TYPE_ENTITY: */ + if( ctype == entity_ ) { + strncpy( retval, TypeName( t ), buf_siz - strlen( retval ) - 1 ); + if( strlen( retval ) + strlen( ptr ) < buf_siz ) { + strcat( retval, ptr ); + } else { + fprintf( stderr, overflowMsg, __FILE__, __LINE__ ); + abort(); + } + return retval; + /* return ("STEPentityH"); */ + } + /* case TYPE_ENUM: */ + /* case TYPE_SELECT: */ + if( ctype == enumeration_ ) { + strncpy( retval, TypeName( t ), buf_siz - strlen( retval ) - 1 ); + if( strlen( retval ) + strlen( var ) < buf_siz ) { + strcat( retval, var ); + } else { + fprintf( stderr, overflowMsg, __FILE__, __LINE__ ); + abort(); + } + return retval; + } + if( ctype == select_ ) { + return ( TypeName( t ) ); + } + + /* default returns undefined */ + return ( "SCLundefined" ); +} + +const char * TYPEget_ctype( const Type t ) { + static char retval [BUFSIZ+1] = {0}; + return TYPE_get_ctype( t, retval, BUFSIZ ); +} + +const char * TypeName( Type t ) { + static char name [BUFSIZ+1]; + strcpy( name, TYPE_PREFIX ); + if( TYPEget_name( t ) ) { + strncat( name, FirstToUpper( TYPEget_name( t ) ), BUFSIZ - strlen( TYPE_PREFIX ) - 1 ); + } else { + return TYPEget_ctype( t ); + } + return name; +} + +char ToLower( char c ) { + if( isupper( c ) ) { + return ( tolower( c ) ); + } else { + return ( c ); + } + +} + +char ToUpper( char c ) { + if( islower( c ) ) { + return ( toupper( c ) ); + } else { + return ( c ); + } +} + +const char * StrToLower( const char * word ) { + static char newword [MAX_LEN+1]; + int i = 0; + if( !word ) { + return 0; + } + while( word [i] != '\0' ) { + newword [i] = ToLower( word [i] ); + ++i; + } + newword [i] = '\0'; + return ( newword ) ; + +} + +const char * StrToUpper( const char * word ) { + static char newword [MAX_LEN+1]; + int i = 0; + + while( word [i] != '\0' ) { + newword [i] = ToUpper( word [i] ); + ++i; + } + newword [i] = '\0'; + return ( newword ); +} + +const char * StrToConstant( const char * word ) { + static char newword[MAX_LEN+1]; + int i = 0; + + while( word [i] != '\0' ) { + if( word [i] == '/' || word [i] == '.' ) { + newword [i] = '_'; + } else { + newword [i] = ToUpper( word [i] ); + } + ++i; + + } + newword [i] = '\0'; + return ( newword ); +} + +const char * FirstToUpper( const char * word ) { + static char newword [MAX_LEN+1]; + + strncpy( newword, word, MAX_LEN ); + newword[0] = ToUpper( newword[0] ); + return ( newword ); +} diff --git a/src/exp2cxx/class_strings.h b/src/exp2cxx/class_strings.h new file mode 100644 index 000000000..147c970fb --- /dev/null +++ b/src/exp2cxx/class_strings.h @@ -0,0 +1,52 @@ +#ifndef CLASS_STRINGS_H +#define CLASS_STRINGS_H + +/** \file class_strings.h + * These functions are all required to generate class names, so they + * are used by the configure-time schema scanner to determine what + * filenames will be used for a given schema. They are grouped here + * to reduce the number of source files the scanner depends upon. + * + * Functions prototyped here are implemented in class_strings.c + */ + +#include +#include + +#define MAX_LEN 240 +#define TYPE_PREFIX "Sdai" +#define ENTITYCLASS_PREFIX TYPE_PREFIX + +/** \returns: temporary copy of name suitable for use as a class name + * Side Effects: erases the name created by a previous call to this function + */ +const char * ClassName( const char * oldname ); + +/** \returns the name of the c++ class representing the entity */ +const char * ENTITYget_classname( Entity ent ); + +/** supplies the type of a data member for the c++ class + * \returns: a string which is the type of the data member in the c++ class + */ +const char * TYPEget_ctype( const Type t ); + +/** name of type as defined in SDAI C++ binding 4-Nov-1993 */ +const char * TypeName( Type t ); + +/** These functions take a character or a string and return + ** a temporary copy of the string with the function applied to it. + ** + ** Side Effects: character or string returned persists until the + ** next invocation of the function + ** + ** \returns a temporary copy of characters + ** @{ + */ +char ToLower( char c ); +char ToUpper( char c ); +const char * StrToLower( const char * word ); +const char * StrToUpper( const char * word ); +const char * StrToConstant( const char * word ); +const char * FirstToUpper( const char * word ); +/* @} */ +#endif /* CLASS_STRINGS_H */ diff --git a/src/exp2cxx/classes.c b/src/exp2cxx/classes.c new file mode 100644 index 000000000..40dcf46c2 --- /dev/null +++ b/src/exp2cxx/classes.c @@ -0,0 +1,247 @@ +/* +** Fed-x parser output module for generating C++ class definitions +** December 5, 1989 +** release 2 17-Feb-1992 +** release 3 March 1993 +** release 4 December 1993 +** K. C. Morris +** +** Development of Fed-x was funded by the United States Government, +** and is not subject to copyright. + +******************************************************************* +The conventions used in this binding follow the proposed specification +for the STEP Standard Data Access Interface as defined in document +N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. +*******************************************************************/ + +/**************************************************************//** + * \file classes.c +*** The functions in this file generate the C++ code for ENTITY ** +*** classes, TYPEs, and TypeDescriptors. *** + ** **/ + + +/* this is used to add new dictionary calls */ +/* #define NEWDICT */ + +#include +#include +#include "classes.h" +#include + +#include "./trace_fprintf.h" + +int multiple_inheritance = 1; +int print_logging = 0; +int old_accessors = 0; + +/** + * Turn the string into a new string that will be printed the same as the + * original string. That is, turn backslash into a quoted backslash and + * turn \n into "\n" (i.e. 2 chars). + * + * Mostly replaced by format_for_std_stringout, below. This function is + * still used in one place in ENTITYincode_print(). + */ +char * format_for_stringout( char * orig_buf, char * return_buf ) { + char * optr = orig_buf; + char * rptr = return_buf; + while( *optr ) { + if( *optr == '\n' ) { + *rptr = '\\'; + rptr++; + *rptr = 'n'; + } else if( *optr == '\\' ) { + *rptr = '\\'; + rptr++; + *rptr = '\\'; + } else { + *rptr = *optr; + } + rptr++; + optr++; + } + *rptr = '\0'; + return return_buf; +} + +/** + * Like format_for_stringout above, but splits the static string up + * into numerous small ones that are appended to a std::string named + * 'str'. It is assumed that this string already exists and is empty. + * + * This version takes a file pointer and eliminates use of the temp buffer. + */ +void format_for_std_stringout( FILE * f, char * orig_buf ) { + const char * optr = orig_buf; + char * s_end = "\\n\" );\n"; + char * s_begin = " str.append( \""; + fprintf( f, "%s", s_begin ); + while( *optr ) { + if( *optr == '\n' ) { + if( * ( optr + 1 ) == '\n' ) { /* skip blank lines */ + optr++; + continue; + } + fprintf( f, "%s", s_end ); + fprintf( f, "%s", s_begin ); + } else if( *optr == '\\' ) { + fprintf( f, "\\\\" ); + } else { + fprintf( f, "%c", *optr ); + } + optr++; + } + fprintf( f, "%s", s_end ); + free( orig_buf ); +} + +void USEREFout( Schema schema, Dictionary refdict, Linked_List reflist, char * type, FILE * file ) { + Dictionary dict; + DictionaryEntry de; + struct Rename * r; + Linked_List list; + char td_name[BUFSIZ+1]; + char sch_name[BUFSIZ+1]; + + strncpy( sch_name, PrettyTmpName( SCHEMAget_name( schema ) ), BUFSIZ ); + + LISTdo( reflist, s, Schema ) { + fprintf( file, " // %s FROM %s; (all objects)\n", type, s->symbol.name ); + fprintf( file, " is = new Interface_spec(\"%s\",\"%s\");\n", sch_name, PrettyTmpName( s->symbol.name ) ); + fprintf( file, " is->all_objects_(1);\n" ); + if( !strcmp( type, "USE" ) ) { + fprintf( file, " %s::schema->use_interface_list_()->Append(is);\n", SCHEMAget_name( schema ) ); + } else { + fprintf( file, " %s::schema->ref_interface_list_()->Append(is);\n", SCHEMAget_name( schema ) ); + } + } LISTod + + if( !refdict ) { + return; + } + dict = DICTcreate( 10 ); + + /* sort each list by schema */ + + /* step 1: for each entry, store it in a schema-specific list */ + DICTdo_init( refdict, &de ); + while( 0 != ( r = ( struct Rename * )DICTdo( &de ) ) ) { + Linked_List wlist; + + wlist = ( Linked_List )DICTlookup( dict, r->schema->symbol.name ); + if( !wlist ) { + wlist = LISTcreate(); + DICTdefine( dict, r->schema->symbol.name, wlist, NULL, OBJ_UNKNOWN ); + } + LISTadd_last( wlist, r ); + } + + /* step 2: for each list, print out the renames */ + DICTdo_init( dict, &de ); + while( 0 != ( list = ( Linked_List )DICTdo( &de ) ) ) { + bool first_time = true; + LISTdo( list, re, struct Rename * ) { + + /* note: SCHEMAget_name(r->schema) equals r->schema->symbol.name) */ + if( first_time ) { + fprintf( file, " // %s FROM %s (selected objects)\n", type, re->schema->symbol.name ); + fprintf( file, " is = new Interface_spec(\"%s\",\"%s\");\n", sch_name, PrettyTmpName( re->schema->symbol.name ) ); + if( !strcmp( type, "USE" ) ) { + fprintf( file, " %s::schema->use_interface_list_()->Append(is);\n", SCHEMAget_name( schema ) ); + } else { + fprintf( file, " %s::schema->ref_interface_list_()->Append(is);\n", SCHEMAget_name( schema ) ); + } + } + + if( first_time ) { + first_time = false; + } + if( re->type == OBJ_TYPE ) { + sprintf( td_name, "%s", TYPEtd_name( ( Type )re->object ) ); + } else if( re->type == OBJ_FUNCTION ) { + sprintf( td_name, "/* Function not implemented */ 0" ); + } else if( re->type == OBJ_PROCEDURE ) { + sprintf( td_name, "/* Procedure not implemented */ 0" ); + } else if( re->type == OBJ_RULE ) { + sprintf( td_name, "/* Rule not implemented */ 0" ); + } else if( re->type == OBJ_ENTITY ) { + sprintf( td_name, "%s%s%s", + SCOPEget_name( ( ( Entity )re->object )->superscope ), + ENT_PREFIX, ENTITYget_name( ( Entity )re->object ) ); + } else { + sprintf( td_name, "/* %c from OBJ_? in expbasic.h not implemented */ 0", re->type ); + } + if( re->old != re->nnew ) { + fprintf( file, " // object %s AS %s\n", re->old->name, + re->nnew->name ); + if( !strcmp( type, "USE" ) ) { + fprintf( file, " ui = new Used_item(\"%s\", %s, \"%s\", \"%s\");\n", re->schema->symbol.name, td_name, re->old->name, re->nnew->name ); + fprintf( file, " is->explicit_items_()->Append(ui);\n" ); + fprintf( file, " %s::schema->interface_().explicit_items_()->Append(ui);\n", SCHEMAget_name( schema ) ); + } else { + fprintf( file, " ri = new Referenced_item(\"%s\", %s, \"%s\", \"%s\");\n", re->schema->symbol.name, td_name, re->old->name, re->nnew->name ); + fprintf( file, " is->explicit_items_()->Append(ri);\n" ); + fprintf( file, " %s::schema->interface_().explicit_items_()->Append(ri);\n", SCHEMAget_name( schema ) ); + } + } else { + fprintf( file, " // object %s\n", re->old->name ); + if( !strcmp( type, "USE" ) ) { + fprintf( file, " ui = new Used_item(\"%s\", %s, \"\", \"%s\");\n", re->schema->symbol.name, td_name, re->nnew->name ); + fprintf( file, " is->explicit_items_()->Append(ui);\n" ); + fprintf( file, " %s::schema->interface_().explicit_items_()->Append(ui);\n", SCHEMAget_name( schema ) ); + } else { + fprintf( file, " ri = new Referenced_item(\"%s\", %s, \"\", \"%s\");\n", re->schema->symbol.name, td_name, re->nnew->name ); + fprintf( file, " is->explicit_items_()->Append(ri);\n" ); + fprintf( file, " %s::schema->interface_().explicit_items_()->Append(ri);\n", SCHEMAget_name( schema ) ); + } + } + } LISTod + } + HASHdestroy( dict ); +} + +int Handle_FedPlus_Args( int i, char * arg ) { + (void) arg; /* unused */ + if( ( ( char )i == 's' ) || ( ( char )i == 'S' ) ) { + multiple_inheritance = 0; + } + if( ( ( char )i == 'a' ) || ( ( char )i == 'A' ) ) { + old_accessors = 1; + } + if( ( ( char )i == 'l' ) || ( ( char )i == 'L' ) ) { + print_logging = 1; + } + return 0; +} + +void MODELPrintConstructorBody( Entity entity, FILES * files, Schema schema ) { + const char * n; + DEBUG( "Entering MODELPrintConstructorBody for %s\n", n ); + + n = ENTITYget_classname( entity ); + + fprintf( files->lib, " eep = new SDAI_Entity_extent;\n" ); + + fprintf( files->lib, " eep->definition_(%s::%s%s);\n", SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); + fprintf( files->lib, " _folders.Append(eep);\n\n" ); +} + +void MODELPrint( Entity entity, FILES * files, Schema schema, int index ) { + + const char * n; + DEBUG( "Entering MODELPrint for %s\n", n ); + + n = ENTITYget_classname( entity ); + fprintf( files->lib, "\n%s__set_var SdaiModel_contents_%s::%s_get_extents() {\n", n, SCHEMAget_name( schema ), n ); + fprintf( files->lib, "\n return (%s__set_var)((_folders.retrieve(%d))->instances_());\n}\n", n, index ); + DEBUG( "DONE MODELPrint\n" ) ; +} + +void MODELprint_new( Entity entity, FILES * files ) { + const char * n; + + n = ENTITYget_classname( entity ); + fprintf( files->inc, "\n %s__set_var %s_get_extents();\n", n, n ); +} diff --git a/src/exp2cxx/classes.h b/src/exp2cxx/classes.h new file mode 100644 index 000000000..462e22687 --- /dev/null +++ b/src/exp2cxx/classes.h @@ -0,0 +1,140 @@ +#ifndef CLASSES_H +#define CLASSES_H +/* +** Fed-x parser output module for generating C++ class definitions +** December 5, 1989 +** release 2 17-Feb-1992 +** release 3 March 1993 +** release 4 December 1993 +** K. C. Morris +** +** Development of Fed-x was funded by the United States Government, +** and is not subject to copyright. + +******************************************************************* +The conventions used in this binding follow the proposed specification +for the STEP Standard Data Access Interface as defined in document +N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. +*******************************************************************/ + +#include +#include +#include + + +#include "express/express.h" +#include "exppp/exppp.h" +#include "express/dict.h" + +#define DEBUG if (0) printf + +/* Values for multiple schema support: */ +#define NOTKNOWN 1 +#define UNPROCESSED 2 +#define CANTPROCESS 3 +#define CANPROCESS 4 +#define PROCESSED 5 + +#define TD_PREFIX "t_" +#define ATTR_PREFIX "a_" +#define ENT_PREFIX "e_" +#define SCHEMA_PREFIX "s_" + +#define TYPEprefix(t) (TYPEis_entity (t) ? ENT_PREFIX : TD_PREFIX) + +#define SCHEMA_FILE_PREFIX "Sdai" +#define ENUM_PREFIX "" + +#define move(b) (b = (b + strlen(b))) +#define TYPEtd_name(t) TypeDescriptorName (t) + +Variable VARis_type_shifter( Variable a ); +int isAggregateType( const Type t ); +int isAggregate( Variable a ); + +typedef struct file_holder { + FILE * inc; /**< include file */ + FILE * lib; /**< library file */ + FILE * incall; /**< include file for collecting all include files */ + FILE * initall; /**< for registering all entities from all schemas */ + FILE * init; /**< contains function to initialize program to use schema's entities */ + FILE * create; /**< DAR - added - to create all schema & ent descriptors. In multiple + * interrelated schemas, must be done before attribute descriptors and + * sub-super links created. + */ + FILE * classes; /**< DAR - added - a new .h file to contain declarations of all the + * classes, so that all the .h files can refer any of the entity classes. + * Nec. if ent1 of schemaA has attribute ent2 from schemaB. + */ + FILE * names; /**< MAP Nov 2011 - header with namespace for entity and attr descriptors */ + struct { + struct { + FILE * impl; + FILE * hdr; + } entity, type; + } unity; +} File_holder, FILES; + +/** these fields are used so that ENTITY types are processed in order + * when appearing in different schemas + */ +typedef struct EntityTag_ * EntityTag; +struct EntityTag_ { + unsigned int started : 1; /**< marks the beginning of processing */ + unsigned int complete : 1; /**< marks the end of processing */ + Entity superclass; /**< the entity being used as the supertype - with multiple inheritance only chose one */ +}; + +/** these fields are used so that SELECT types are processed in order */ +typedef struct SelectTag_ * SelectTag; +struct SelectTag_ { + unsigned int started : 1; /**< marks the beginning of processing */ + unsigned int complete : 1; /**< marks the end of processing */ +}; + +const char * GetTypeDescriptorName( Type t ); +char * format_for_stringout( char * orig_buf, char * return_buf ); +void format_for_std_stringout( FILE* f, char* orig_buf ); +const char * CheckWord( const char * ); +const char * StrToLower( const char * ); +const char * StrToUpper( const char * ); +const char * FirstToUpper( const char * ); +const char * SelectName( const char * ); +FILE * FILEcreate( const char * ); +void FILEclose( FILE * ); +const char * ClassName( const char * ); +void FUNCPrint( Function, FILES *, Schema ); +void RULEPrint( Rule, FILES *, Schema ); +const char * StrToConstant( const char * ); +void MODELPrint( Entity, FILES *, Schema, int ); +void MODELprint_new( Entity entity, FILES* files ); +void MODELPrintConstructorBody( Entity, FILES *, Schema/*, int*/ ); +const char * PrettyTmpName( const char * oldname ); +const char * EnumName( const char * oldname ); +void print_file( Express ); +void resolution_success( void ); +void SCHEMAprint( Schema schema, FILES* files, void* complexCol, int suffix ); +const char * FundamentalType( const Type t, int report_reftypes ); +void numberAttributes( Scope scope ); + +/*Variable*/ +#define VARis_simple_explicit(a) (!VARis_type_shifter(a)) + +/*Variable*/ +#define VARis_simple_derived(a) (!VARis_overrider(a)) + +Variable VARis_overrider( Entity e, Variable a ); + +/* Added for multiple schema support: */ +void print_schemas_separate( Express, void *, FILES * ); +void getMCPrint( Express, FILE *, FILE * ); +int sameSchema( Scope, Scope ); + +void USEREFout( Schema schema, Dictionary refdict, Linked_List reflist, char * type, FILE * file ); + +#include "classes_attribute.h" +#include "classes_type.h" +#include "classes_entity.h" + +#endif + diff --git a/src/exp2cxx/classes_attribute.c b/src/exp2cxx/classes_attribute.c new file mode 100644 index 000000000..cf2de189d --- /dev/null +++ b/src/exp2cxx/classes_attribute.c @@ -0,0 +1,627 @@ +/** ***************************************************************** +** \file classes_attribute.c +** FedEx parser output module for generating C++ class definitions +** +** Development of FedEx was funded by the United States Government, +** and is not subject to copyright. + +******************************************************************* +The conventions used in this binding follow the proposed specification +for the STEP Standard Data Access Interface as defined in document +N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. +*******************************************************************/ +#include +#include +#include +#include +#include +#include "classes.h" +#include "classes_attribute.h" + +#include "./trace_fprintf.h" + +extern int old_accessors; +extern int print_logging; + +/**************************************************************//** + ** Procedure: generate_attribute_name + ** Parameters: Variable a, an Express attribute; char *out, the C++ name + ** Description: converts an Express name into the corresponding C++ name + ** see relation to generate_dict_attr_name() DAS + ** Side Effects: + ** Status: complete 8/5/93 + ******************************************************************/ +char * generate_attribute_name( Variable a, char * out ) { + char * temp, *q; + const char * p; + int i; + + temp = EXPRto_string( VARget_name( a ) ); + p = StrToLower( temp ); + if( ! strncmp( p, "self\\", 5 ) ) { + p += 5; + } + /* copy p to out */ + /* DAR - fixed so that '\n's removed */ + for( i = 0, q = out; *p != '\0' && i < BUFSIZ; p++ ) { + /* copy p to out, 1 char at time. Skip \n's and spaces, convert + * '.' to '_', and convert to lowercase. */ + if( ( *p != '\n' ) && ( *p != ' ' ) ) { + if( *p == '.' ) { + *q = '_'; + } else { + *q = *p; + } + i++; + q++; + } + } + *q = '\0'; + free( temp ); + return out; +} + +char * generate_attribute_func_name( Variable a, char * out ) { + generate_attribute_name( a, out ); + strncpy( out, StrToLower( out ), BUFSIZ ); + if( old_accessors ) { + out[0] = toupper( out[0] ); + } else { + out[strlen( out )] = '_'; + } + return out; +} + +/* return true if attr needs const and non-const getters */ +bool attrIsObj( Type t ) { + /* if( TYPEis_select( t ) || TYPEis_aggregate( t ) ) { + / * const doesn't make sense for pointer types * / + return false; + } else */ + Class_Of_Type class = TYPEget_type( t ); + switch( class ) { + case number_: + case real_: + case integer_: + case boolean_: + case logical_: + return false; + default: + return true; + } +} + +/** print attr descriptors to the namespace + * \p attr_count_tmp is a _copy_ of attr_count + */ +void ATTRnames_print( Entity entity, FILE* file ) { + char attrnm [BUFSIZ+1]; + + LISTdo( ENTITYget_attributes( entity ), v, Variable ) { + generate_attribute_name( v, attrnm ); + fprintf( file, " extern %s *%s%d%s%s;\n", + ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), + ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : ( VARis_type_shifter( v ) ? "R" : ( VARget_inverse( v ) ? "I" : "" ) ) ), + attrnm ); + } LISTod +} + +/** prints out the current attribute for an entity's c++ class definition + * skips inverse attrs, since they are now stored in a map + * \param entity entity being processed + * \param a attribute being processed + * \param file file being written to + */ +void DataMemberPrintAttr( Entity entity, Variable a, FILE * file ) { + char attrnm [BUFSIZ+1]; + const char * ctype, * etype; + if( !VARget_inverse( a ) && ( VARget_initializer( a ) == EXPRESSION_NULL ) ) { + ctype = TYPEget_ctype( VARget_type( a ) ); + generate_attribute_name( a, attrnm ); + if( !strcmp( ctype, "SCLundefined" ) ) { + fprintf( stderr, "Warning: in entity %s, the type for attribute %s is not fully implemented\n", ENTITYget_name( entity ), attrnm ); + } + if( TYPEis_entity( VARget_type( a ) ) ) { + fprintf( file, " SDAI_Application_instance_ptr _%s = NULL;", attrnm ); + } else if( TYPEis_aggregate( VARget_type( a ) ) ) { + fprintf( file, " %s_ptr _%s = NULL;", ctype, attrnm ); + } else { + Class_Of_Type class = TYPEget_type(VARget_type(a)); + switch (class) { + case boolean_: + fprintf(file, " %s _%s = false;", ctype, attrnm); + break; + case integer_: + fprintf(file, " %s _%s = 0;", ctype, attrnm); + break; + case real_: + fprintf(file, " %s _%s = 0.0;", ctype, attrnm); + break; + default: + fprintf(file, " %s _%s;", ctype, attrnm); + } + } + if( VARget_optional( a ) ) { + fprintf( file, " // OPTIONAL" ); + } + if( isAggregate( a ) ) { + /* if it's a named type, comment the type */ + if( ( etype = TYPEget_name ( TYPEget_nonaggregate_base_type( VARget_type( a ) ) ) ) ) { + fprintf( file, " // of %s\n", etype ); + } + } + fprintf( file, "\n" ); + } +} + +/**************************************************************//** + ** Procedure: ATTRsign_access_methods + ** Parameters: const Variable a -- attribute to print + access method signature for + ** FILE* file -- file being written to + ** Returns: nothing + ** Description: prints the signature for an access method + ** based on the attribute type + ** DAS i.e. prints the header for the attr. access functions + ** (get and put attr value) in the entity class def in .h file + ** Side Effects: + ** Status: complete 17-Feb-1992 + ******************************************************************/ +void ATTRsign_access_methods( Variable a, FILE * file ) { + + Type t = VARget_type( a ); + char ctype [BUFSIZ+1]; + char attrnm [BUFSIZ+1]; + + generate_attribute_func_name( a, attrnm ); + + strncpy( ctype, AccessType( t ), BUFSIZ ); + ctype[BUFSIZ-1] = '\0'; + + if( attrIsObj( t ) ) { + /* object or pointer, so provide const and non-const methods */ + if( TYPEis_entity( t ) || TYPEis_select( t ) || TYPEis_aggregate( t ) ) { + /* it's a typedef, so prefacing with 'const' won't do what we desire */ + fprintf( file, " %s_c %s() const;\n", ctype, attrnm ); + } else { + fprintf( file, " const %s %s() const;\n", ctype, attrnm ); + } + fprintf( file, " %s %s();\n", ctype, attrnm ); + } else { + fprintf( file, " %s %s() const;\n", ctype, attrnm ); + } + fprintf( file, " void %s( const %s x );\n", attrnm, ctype ); + fprintf( file, "\n" ); + return; +} + +/**************************************************************//** + ** Procedure: ATTRprint_access_methods_get_head + ** Parameters: const Variable a -- attribute to find the type for + ** FILE* file -- file being written + ** Type t - type of the attribute + ** Class_Of_Type class -- type name of the class + ** const char *attrnm -- name of the attribute + ** char *ctype -- (possibly returned) name of the attribute c++ type + ** Returns: name to be used for the type of the c++ access functions + ** Description: prints the access method get head based on the attribute type + ** DAS which being translated is it prints the function header + ** for the get attr value access function defined for an + ** entity class. This is the .cc file version. + ** Side Effects: + ** Status: complete 7/15/93 by DDH + ******************************************************************/ +void ATTRprint_access_methods_get_head( const char * classnm, Variable a, FILE * file, bool returnsConst ) { + Type t = VARget_type( a ); + char ctype [BUFSIZ+1]; /* return type of the get function */ + char funcnm [BUFSIZ+1]; /* name of member function */ + generate_attribute_func_name( a, funcnm ); + strncpy( ctype, AccessType( t ), BUFSIZ ); + ctype[BUFSIZ-1] = '\0'; + if( TYPEis_entity( t ) || TYPEis_select( t ) || TYPEis_aggregate( t ) ) { + fprintf( file, "\n%s%s %s::%s() ", ctype, ( returnsConst ? "_c" : "" ), classnm, funcnm ); + } else { + fprintf( file, "\n%s%s %s::%s() ", ( returnsConst ? "const " : "" ), ctype, classnm, funcnm ); + } + return; +} + +/**************************************************************//** + ** Procedure: ATTRprint_access_methods_put_head + ** Parameters: const Variable a -- attribute to find the type for + ** FILE* file -- file being written to + ** Type t - type of the attribute + ** Class_Of_Type class -- type name of the class + ** const char *attrnm -- name of the attribute + ** char *ctype -- name of the attribute c++ type + ** Returns: name to be used for the type of the c++ access functions + ** Description: prints the access method put head based on the attribute type + ** DAS which being translated is it prints the function header + ** for the put attr value access function defined for an + ** entity class. This is the .cc file version. + ** Side Effects: + ** Status: complete 7/15/93 by DDH + ******************************************************************/ +void ATTRprint_access_methods_put_head( const char * entnm, Variable a, FILE * file ) { + + Type t = VARget_type( a ); + char ctype [BUFSIZ+1]; + char funcnm [BUFSIZ+1]; + + generate_attribute_func_name( a, funcnm ); + + strncpy( ctype, AccessType( t ), BUFSIZ ); + ctype[BUFSIZ-1] = '\0'; + fprintf( file, "\nvoid %s::%s( const %s x ) ", entnm, funcnm, ctype ); + + return; +} + +/** print access methods for aggregate attribute */ +void AGGRprint_access_methods( const char * entnm, Variable a, FILE * file, + char * ctype, char * attrnm ) { + ATTRprint_access_methods_get_head( entnm, a, file, false ); + fprintf( file, "{\n if( !_%s ) {\n _%s = new %s;\n }\n", attrnm, attrnm, TypeName( a->type ) ); + fprintf( file, " return ( %s ) %s_%s;\n}\n", ctype, ( ( a->type->u.type->body->base ) ? "" : "& " ), attrnm ); + ATTRprint_access_methods_get_head( entnm, a, file, true ); + fprintf( file, "const {\n" ); + fprintf( file, " return ( %s ) %s_%s;\n}\n", ctype, ( ( a->type->u.type->body->base ) ? "" : "& " ), attrnm ); + ATTRprint_access_methods_put_head( entnm, a, file ); + fprintf( file, "{\n if( !_%s ) {\n _%s = new %s;\n }\n", attrnm, attrnm, TypeName( a->type ) ); + fprintf( file, " _%s%sShallowCopy( * x );\n}\n", attrnm, ( ( a->type->u.type->body->base ) ? "->" : "." ) ); + return; +} + +/** print logging code for access methods for attrs that are entities + * \p var is the variable name, minus preceding underscore, or null if 'x' is to be used + * \p dir is either "returned" or "assigned" + */ +void ATTRprint_access_methods_entity_logging( const char * entnm, const char * funcnm, const char * nm, + const char * var, const char * dir, FILE * file ) { + if( print_logging ) { + fprintf( file, "#ifdef SC_LOGGING\n" ); + fprintf( file, " if( *logStream ) {\n" ); + fprintf( file, " logStream -> open( SCLLOGFILE, ios::app );\n" ); + fprintf( file, " if( !( %s%s == S_ENTITY_NULL ) )\n {\n", ( var ? "_" : "" ), ( var ? var : "x" ) ); + fprintf( file, " *logStream << time( NULL ) << \" SDAI %s::%s() %s: \";\n", entnm, funcnm, dir ); + fprintf( file, " *logStream << \"reference to Sdai%s entity #\"", nm ); + fprintf( file, " << %s%s->STEPfile_id << std::endl;\n", ( var ? "_" : "" ), ( var ? var : "x" ) ); + fprintf( file, " } else {\n" ); + fprintf( file, " *logStream << time( NULL ) << \" SDAI %s::%s() %s: \";\n", entnm, funcnm, dir ); + fprintf( file, " *logStream << \"null entity\" << std::endl;\n }\n" ); + fprintf( file, " logStream->close();\n" ); + fprintf( file, " }\n" ); + fprintf( file, "#endif\n" ); + } +} + +/** print access methods for attrs that are entities + * prints const and non-const getters and a setter + */ +void ATTRprint_access_methods_entity( const char * entnm, const char * attrnm, const char * funcnm, const char * nm, + const char * ctype, Variable a, FILE * file ) { + fprintf( file, "{\n" ); + ATTRprint_access_methods_entity_logging( entnm, funcnm, nm, attrnm, "returned", file); + fprintf( file, " if( !_%s ) {\n _%s = new %s;\n }\n", attrnm, attrnm, TypeName( a->type ) ); + fprintf( file, " return (%s) _%s;\n}\n", ctype, attrnm ); + + ATTRprint_access_methods_get_head( entnm, a, file, true ); + fprintf( file, "const {\n" ); + ATTRprint_access_methods_entity_logging( entnm, funcnm, nm, attrnm, "returned", file); + fprintf( file, " return (%s) _%s;\n}\n", ctype, attrnm ); + + ATTRprint_access_methods_put_head( entnm, a, file ); + fprintf( file, "{\n" ); + ATTRprint_access_methods_entity_logging( entnm, funcnm, nm, 0, "assigned", file); + fprintf( file, " _%s = x;\n}\n", attrnm ); + return; +} + +/** logging code for string and binary attribute access methods */ +void ATTRprint_access_methods_str_bin_logging( const char * entnm, const char * attrnm, const char * funcnm, FILE * file, bool setter ) { + if( print_logging ) { + const char * direction = ( setter ? "assigned" : "returned" ); + fprintf( file, "#ifdef SC_LOGGING\n" ); + fprintf( file, " if(*logStream)\n {\n" ); + if( setter ) { + fprintf( file, " if(!_%s.is_null())\n {\n", attrnm ); + } else { + fprintf( file, " if(x)\n {\n" ); + } + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() %s: \";\n", entnm, funcnm, direction ); + if( setter ) { + fprintf( file, " *logStream << _%s << std::endl;\n", attrnm ); + } else { + fprintf( file, " *logStream << x << std::endl;\n" ); + } + fprintf( file, " }\n else\n {\n" ); + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() %s: \";\n", entnm, funcnm, direction ); + fprintf( file, " *logStream << \"unset\" << std::endl;\n }\n }\n" ); + fprintf( file, "#endif\n" ); + } +} + +/** print access methods for string or bin attribute */ +void ATTRprint_access_methods_str_bin( const char * entnm, const char * attrnm, const char * funcnm, + const char * ctype, Variable a, FILE * file ) { + fprintf( file, "{\n" ); + ATTRprint_access_methods_str_bin_logging( entnm, attrnm, funcnm, file, true ); + fprintf( file, " return _%s;\n}\n", attrnm ); + ATTRprint_access_methods_get_head( entnm, a, file, true ); + fprintf( file, "const {\n" ); + ATTRprint_access_methods_str_bin_logging( entnm, attrnm, funcnm, file, true ); + fprintf( file, " return (const %s) _%s;\n}\n", ctype, attrnm ); + ATTRprint_access_methods_put_head( entnm, a, file ); + fprintf( file, "{\n" ); + ATTRprint_access_methods_str_bin_logging( entnm, attrnm, funcnm, file, false ); + fprintf( file, " _%s = x;\n}\n", attrnm ); + return; +} + +/** print logging code for access methods for enumeration attribute */ +void ATTRprint_access_methods_enum_logging( const char * entnm, const char * attrnm, const char * funcnm, FILE * file, bool setter ) { + if( print_logging ) { + const char * direction = ( setter ? "assigned" : "returned" ); + fprintf( file, "#ifdef SC_LOGGING\n" ); + fprintf( file, " if(*logStream)\n {\n" ); + if( !setter ) { + fprintf( file, " if(!_%s.is_null())\n {\n", attrnm ); + } + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() %s: \";\n", entnm, funcnm, direction ); + if( setter ) { + fprintf( file, " *logStream << _%s.element_at(x) << std::endl;\n", attrnm ); + } else { + fprintf( file, " *logStream << _%s.element_at(_%s.asInt()) << std::endl;\n", attrnm, attrnm ); + fprintf( file, " }\n else\n {\n" ); + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() %s: \";\n", entnm, funcnm, direction ); + fprintf( file, " *logStream << \"unset\" << std::endl;\n }\n" ); + } + fprintf( file, " }\n#endif\n" ); + } +} + +/** print access methods for enumeration attribute */ +void ATTRprint_access_methods_enum( const char * entnm, const char * attrnm, const char * funcnm, + Variable a, Type t, FILE * file ) { + fprintf( file, "{\n" ); + ATTRprint_access_methods_enum_logging( entnm, attrnm, funcnm, file, false ); + fprintf( file, " return (%s) _%s;\n}\n", EnumName( TYPEget_name( t ) ), attrnm ); + + ATTRprint_access_methods_get_head( entnm, a, file, true ); + fprintf( file, "const {\n" ); + ATTRprint_access_methods_enum_logging( entnm, attrnm, funcnm, file, false ); + fprintf( file, " return (const %s) _%s;\n}\n", EnumName( TYPEget_name( t ) ), attrnm ); + + ATTRprint_access_methods_put_head( entnm, a, file ); + fprintf( file, "{\n" ); + ATTRprint_access_methods_enum_logging( entnm, attrnm, funcnm, file, true ); + fprintf( file, " _%s.put( x );\n}\n", attrnm ); + return; +} + +/** print logging code for access methods for logical or boolean attribute */ +void ATTRprint_access_methods_log_bool_logging( const char * entnm, const char * attrnm, const char * funcnm, FILE * file, bool setter ) { + if( print_logging ) { + const char * direction = ( setter ? "assigned" : "returned" ); + fprintf( file, "#ifdef SC_LOGGING\n" ); + fprintf( file, " if(*logStream)\n {\n" ); + if( !setter ) { + /* fprintf( file, " logStream->open(SCLLOGFILE,ios::app);\n" ); */ + fprintf( file, " if(!_%s.is_null())\n {\n", attrnm ); + } + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() %s: \";\n", entnm, funcnm, direction ); + if( setter ) { + fprintf( file, " *logStream << _%s.element_at(x) << std::endl;\n", attrnm ); + } else { + fprintf( file, " *logStream << _%s.element_at(_%s.asInt()) << std::endl;\n", attrnm, attrnm ); + fprintf( file, " }\n else\n {\n" ); + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() %s: \";\n", entnm, funcnm, direction ); + fprintf( file, " *logStream << \"unset\" << std::endl;\n }\n" ); + /* fprintf( file, " logStream->close();\n" ); */ + } + fprintf( file, " }\n" ); + fprintf( file, "#endif\n" ); + } +} + +/** print access methods for logical or boolean attribute */ +void ATTRprint_access_methods_log_bool( const char * entnm, const char * attrnm, const char * funcnm, + const char * ctype, Variable a, FILE * file ) { + fprintf( file, "const {\n" ); + ATTRprint_access_methods_log_bool_logging( entnm, attrnm, funcnm, file, false ); + fprintf( file, " return (const %s) _%s;\n}\n", ctype, attrnm ); + +/* don't need a const method for logical or boolean + * ATTRprint_access_methods_get_head( entnm, a, file, true ); + * fprintf( file, "const {\n" ); + * ATTRprint_access_methods_log_bool_logging( entnm, attrnm, funcnm, file, false ); + * fprintf( file, " return (const %s) _%s;\n}\n", ctype, attrnm ); +*/ + ATTRprint_access_methods_put_head( entnm, a, file ); + fprintf( file, "{\n" ); + ATTRprint_access_methods_log_bool_logging( entnm, attrnm, funcnm, file, true ); + fprintf( file, " _%s.put (x);\n}\n", attrnm ); + return; +} + +/** print access methods for inverse attrs, using iAMap */ +void INVprint_access_methods( const char * entnm, const char * attrnm, const char * funcnm, const char * nm, + const char * ctype, Variable a, FILE * file, Schema schema ) { + char iaName[BUFSIZ+1] = {0}; + snprintf( iaName, BUFSIZ - 1, "%s::%s%d%s%s", SCHEMAget_name( schema ), ATTR_PREFIX, a->idx, + /* can it ever be anything but "I"? */ + ( VARis_derived( a ) ? "D" : ( VARis_type_shifter( a ) ? "R" : ( VARget_inverse( a ) ? "I" : "" ) ) ), attrnm ); + + if( isAggregate( a ) ) { + /* following started as AGGRprint_access_methods() */ + ATTRprint_access_methods_get_head( entnm, a, file, false ); + fprintf( file, "{\n iAstruct ias = getInvAttr( %s );\n if( !ias.a ) {\n", iaName ); + fprintf( file, " ias.a = new EntityAggregate;\n setInvAttr( %s, ias );\n }\n", iaName ); + fprintf( file, " return ias.a;\n}\n" ); + ATTRprint_access_methods_get_head( entnm, a, file, true ); + fprintf( file, "const {\n" ); + fprintf( file, " return getInvAttr( %s ).a;\n}\n", iaName ); + ATTRprint_access_methods_put_head( entnm, a, file ); + fprintf( file, "{\n iAstruct ias;\n ias.a = x;\n setInvAttr( %s, ias );\n}\n", iaName ); + } else { + ATTRprint_access_methods_get_head( entnm, a, file, false ); + /* following started as ATTRprint_access_methods_entity() */ + fprintf( file, "{\n" ); + ATTRprint_access_methods_entity_logging( entnm, funcnm, nm, attrnm, "returned", file); + fprintf( file, " iAstruct ias = getInvAttr( %s );\n", iaName ); + fprintf( file, " /* no 'new' - doesn't make sense to create an SDAI_Application_instance\n * since it isn't generic like EntityAggregate */\n"); + fprintf( file, " return (%s) ias.i;\n}\n", ctype ); + + ATTRprint_access_methods_get_head( entnm, a, file, true ); + fprintf( file, "const {\n" ); + ATTRprint_access_methods_entity_logging( entnm, funcnm, nm, attrnm, "returned", file); + fprintf( file, " iAstruct ias = getInvAttr( %s );\n", iaName ); + fprintf( file, " return (%s) ias.i;\n}\n", ctype ); + + ATTRprint_access_methods_put_head( entnm, a, file ); + fprintf( file, "{\n" ); + ATTRprint_access_methods_entity_logging( entnm, funcnm, nm, 0, "assigned", file); + fprintf( file, " iAstruct ias;\n ias.i = x; setInvAttr( %s, ias );\n}\n", iaName ); + } +} + +/** prints the access method based on the attribute type + * i.e. get and put value access functions defined in a class + * generated for an entity. + * \param entnm the name of the current entity + * \param a attribute to print methods for + * \param file file being written to + */ +void ATTRprint_access_methods( const char * entnm, Variable a, FILE * file, Schema schema ) { + Type t = VARget_type( a ); + Class_Of_Type classType; + char ctype [BUFSIZ+1]; /* type of data member */ + char attrnm [BUFSIZ+1]; + char membernm[BUFSIZ+1]; + char funcnm [BUFSIZ+1]; /* name of member function */ + + char nm [BUFSIZ+1]; + /* I believe nm has the name of the underlying type without Sdai in front of it */ + if( TYPEget_name( t ) ) { + strncpy( nm, FirstToUpper( TYPEget_name( t ) ), BUFSIZ - 1 ); + } + + generate_attribute_func_name( a, funcnm ); + generate_attribute_name( a, attrnm ); + strcpy( membernm, attrnm ); + membernm[0] = toupper( membernm[0] ); + classType = TYPEget_type( t ); + strncpy( ctype, AccessType( t ), BUFSIZ ); + if( VARget_inverse( a ) ) { + INVprint_access_methods( entnm, attrnm, funcnm, nm, ctype, a, file, schema ); + return; + } + if( isAggregate( a ) ) { + AGGRprint_access_methods( entnm, a, file, ctype, attrnm ); + return; + } + ATTRprint_access_methods_get_head( entnm, a, file, false ); + + /* case TYPE_ENTITY: */ + if( classType == entity_ ) { + ATTRprint_access_methods_entity( entnm, attrnm, funcnm, nm, ctype, a, file ); + return; + } + /* case TYPE_LOGICAL: */ + if( ( classType == boolean_ ) || ( classType == logical_ ) ) { + ATTRprint_access_methods_log_bool( entnm, attrnm, funcnm, ctype, a, file ); + } + /* case TYPE_ENUM: */ + if( classType == enumeration_ ) { + ATTRprint_access_methods_enum( entnm, attrnm, funcnm, a, t, file ); + } + /* case TYPE_SELECT: */ + if( classType == select_ ) { + fprintf( file, " {\n return &_%s;\n}\n", attrnm ); + ATTRprint_access_methods_get_head( entnm, a, file, true ); + fprintf( file, "const {\n return (const %s) &_%s;\n}\n", ctype, attrnm ); + ATTRprint_access_methods_put_head( entnm, a, file ); + fprintf( file, " {\n _%s = x;\n}\n", attrnm ); + return; + } + /* case TYPE_AGGRETATES: */ + /* handled in AGGRprint_access_methods(entnm, a, file, t, ctype, attrnm) */ + + + /* case STRING:*/ + /* case TYPE_BINARY: */ + if( ( classType == string_ ) || ( classType == binary_ ) ) { + ATTRprint_access_methods_str_bin( entnm, attrnm, funcnm, ctype, a, file ); + } + /* case TYPE_INTEGER: */ + if( classType == integer_ ) { + fprintf( file, "const {\n" ); + if( print_logging ) { + fprintf( file, "#ifdef SC_LOGGING\n" ); + fprintf( file, " if(*logStream)\n {\n" ); + fprintf( file, " if(!(_%s == S_INT_NULL) )\n {\n", attrnm ); + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", + entnm, funcnm ); + fprintf( file, + " *logStream << _%s << std::endl;\n", attrnm ); + fprintf( file, " }\n else\n {\n" ); + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", + entnm, funcnm ); + fprintf( file, + " *logStream << \"unset\" << std::endl;\n }\n }\n" ); + fprintf( file, "#endif\n" ); + } + /* default: INTEGER */ + /* is the same type as the data member */ + fprintf( file, " return (const %s) _%s;\n}\n", ctype, attrnm ); + ATTRprint_access_methods_put_head( entnm, a, file ); + fprintf( file, "{\n" ); + if( print_logging ) { + fprintf( file, "#ifdef SC_LOGGING\n" ); + fprintf( file, " if(*logStream)\n {\n" ); + fprintf( file, " if(!(x == S_INT_NULL) )\n {\n" ); + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", entnm, funcnm ); + fprintf( file, " *logStream << x << std::endl;\n" ); + fprintf( file, " }\n else\n {\n" ); + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", entnm, funcnm ); + fprintf( file, " *logStream << \"unset\" << std::endl;\n }\n }\n" ); + fprintf( file, "#endif\n" ); + /* default: INTEGER */ + /* is the same type as the data member */ + } + fprintf( file, " _%s = x;\n}\n", attrnm ); + } + + /* case TYPE_REAL: + case TYPE_NUMBER: */ + if( ( classType == number_ ) || ( classType == real_ ) ) { + fprintf( file, "const {\n" ); + if( print_logging ) { + fprintf( file, "#ifdef SC_LOGGING\n" ); + fprintf( file, " if(*logStream)\n {\n" ); + fprintf( file, " if(!(_%s == S_REAL_NULL) )\n {\n", attrnm ); + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", entnm, funcnm ); + fprintf( file, " *logStream << _%s << std::endl;\n", attrnm ); + fprintf( file, " }\n else\n {\n" ); + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", entnm, funcnm ); + fprintf( file, " *logStream << \"unset\" << std::endl;\n }\n }\n" ); + fprintf( file, "#endif\n" ); + } + fprintf( file, " return (%s) _%s;\n}\n", ctype, attrnm ); + ATTRprint_access_methods_put_head( entnm, a, file ); + fprintf( file, "{\n" ); + if( print_logging ) { + fprintf( file, "#ifdef SC_LOGGING\n" ); + fprintf( file, " if(*logStream)\n {\n" ); + fprintf( file, " if(!(_%s == S_REAL_NULL) )\n {\n", attrnm ); + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", entnm, funcnm ); + fprintf( file, " *logStream << _%s << std::endl;\n", attrnm ); + fprintf( file, " }\n else\n {\n" ); + fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", entnm, funcnm ); + fprintf( file, " *logStream << \"unset\" << std::endl;\n }\n }\n" ); + fprintf( file, "#endif\n" ); + } + fprintf( file, " _%s = x;\n}\n", attrnm ); + } +} diff --git a/src/exp2cxx/classes_attribute.h b/src/exp2cxx/classes_attribute.h new file mode 100644 index 000000000..5a32b3074 --- /dev/null +++ b/src/exp2cxx/classes_attribute.h @@ -0,0 +1,17 @@ +#ifndef CLASSES_ATTRIBUTE_H +#define CLASSES_ATTRIBUTE_H + +char * generate_attribute_name( Variable a, char * out ); +char * generate_attribute_func_name( Variable a, char * out ); + +void DataMemberPrintAttr( Entity entity, Variable a, FILE * file ); +void ATTRnames_print( Entity entity, FILE * file ); +void ATTRprint_access_methods_get_head( const char * classnm, Variable a, FILE * file, bool returnsConst ); +void ATTRprint_access_methods_put_head( const char * entnm, Variable a, FILE * file ); +void ATTRsign_access_methods( Variable a, FILE* file ); +void ATTRprint_access_methods( const char * entnm, Variable a, FILE * file, Schema schema ); + +/** return true if attr needs const and non-const getters */ +bool attrIsObj( Type t ); + +#endif diff --git a/src/exp2cxx/classes_entity.c b/src/exp2cxx/classes_entity.c new file mode 100644 index 000000000..39e69c8a1 --- /dev/null +++ b/src/exp2cxx/classes_entity.c @@ -0,0 +1,1167 @@ +/** ***************************************************************** +** \file classes_entity.c +** FedEx parser output module for generating C++ class definitions +** +** Development of FedEx was funded by the United States Government, +** and is not subject to copyright. + +******************************************************************* +The conventions used in this binding follow the proposed specification +for the STEP Standard Data Access Interface as defined in document +N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. +*******************************************************************/ + +/* this is used to add new dictionary calls */ +/* #define NEWDICT */ + +#define _XOPEN_SOURCE /* for S_IFDIR */ +#include +#include +#include +#ifdef _WIN32 +# include +#endif /* _WIN32 */ +#include +#include +#include +#include "classes.h" +#include "classes_entity.h" +#include "class_strings.h" +#include "genCxxFilenames.h" +#include +#include "rules.h" + +#include "./trace_fprintf.h" + +extern int multiple_inheritance; +extern int old_accessors; + +/* cross-platform mkdir */ +static int sc_mkdir( const char * path ) { + #ifdef _WIN32 + return mkdir( path ); + #else + return mkdir( path, 0777 ); + #endif /* _WIN32 */ +} + +/* return -1 if error, 0 if created, 1 if dir existed already */ +static int mkDirIfNone( const char * path ) { + struct stat s; + if( stat( path, &s ) != 0 ) { + if( errno == ENOENT ) { + return sc_mkdir( path ); + } + } else if( s.st_mode & S_IFDIR ) { + return 1; + } + /* either stat returned an error other than ENOENT, or 'path' exists but isn't a dir */ + return -1; +} + +/* attribute numbering used to use a global variable attr_count. + * it could be tricky keep the numbering consistent when making + * changes, so this has been replaced with an added member in the + * Variable_ struct, idx, which is now set by numberAttributes() + * in classes_wrapper + */ + +/************* Entity Generation *************/ + +/** print entity descriptors to the namespace in files->names + * + * Nov 2011 - MAP - This function was split out of ENTITYhead_print to enable + * use of a separate header with a namespace. + */ +void ENTITYnames_print( Entity entity, FILE * file ) { + fprintf( file, " extern EntityDescriptor *%s%s;\n", ENT_PREFIX, ENTITYget_name( entity ) ); +} + +/** declares the global pointer to the EntityDescriptor representing a particular entity + * + * DAS: also prints the attr descs and inverse attr descs. This function creates the storage space + * for the externs defs that were defined in the .h file. These global vars go in the .cc file. + * + * \param entity entity being processed + * \param file file being written to + * \param schema schema being processed + */ +void LIBdescribe_entity( Entity entity, FILE * file, Schema schema ) { + char attrnm [BUFSIZ+1]; + + fprintf( file, "EntityDescriptor * %s::%s%s = 0;\n", SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); + LISTdo( ENTITYget_attributes( entity ), v, Variable ) { + generate_attribute_name( v, attrnm ); + fprintf( file, "%s * %s::%s%d%s%s = 0;\n", + ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), + SCHEMAget_name( schema ), ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : ( VARis_type_shifter( v ) ? "R" : ( VARget_inverse( v ) ? "I" : "" ) ) ), attrnm ); + } LISTod + fprintf( file, "\n"); +} + +/** prints the member functions for the class representing an entity. These go in the .cc file + * \param entity entity being processed + * \param neededAttr attr's needed but not inherited through c++ + * \param file file being written to + * \param schema needed for name of namespace + */ +void LIBmemberFunctionPrint( Entity entity, Linked_List neededAttr, FILE * file, Schema schema ) { + + Linked_List attr_list; + char entnm [BUFSIZ+1]; + + strncpy( entnm, ENTITYget_classname( entity ), BUFSIZ ); /* assign entnm */ + + /* 1. put in member functions which belong to all entities */ + /* the common function are still in the class definition 17-Feb-1992 */ + + /* 2. print access functions for attributes */ + attr_list = ENTITYget_attributes( entity ); + LISTdo( attr_list, a, Variable ) { + /* do for EXPLICIT, REDEFINED, and INVERSE attributes - but not DERIVED */ + if( ! VARis_derived( a ) ) { + + /* retrieval and assignment */ + ATTRprint_access_methods( entnm, a, file, schema ); + } + } LISTod + /* //////////////// */ + if( multiple_inheritance ) { + LISTdo( neededAttr, attr, Variable ) { + if( ! VARis_derived( attr ) && ! VARis_overrider( entity, attr ) ) { + ATTRprint_access_methods( entnm, attr, file, schema ); + } + } LISTod + } + /* //////////////// */ + + fprintf( file, "\n" ); +} + +int get_attribute_number( Entity entity ) { + int i = 0; + int found = 0; + Linked_List local, complete; + complete = ENTITYget_all_attributes( entity ); + local = ENTITYget_attributes( entity ); + + LISTdo( local, a, Variable ) { + /* go to the child's first explicit attribute */ + if( ( ! VARget_inverse( a ) ) && ( ! VARis_derived( a ) ) ) { + LISTdo_n( complete, p, Variable, b ) { + /* cycle through all the explicit attributes until the + child's attribute is found */ + if( !found && ( ! VARget_inverse( p ) ) && ( ! VARis_derived( p ) ) ) { + if( p != a ) { + ++i; + } else { + found = 1; + } + } + } LISTod + if( found ) { + return i; + } else { + fprintf( stderr, "Internal error at %s:%d: attribute %s not found\n", __FILE__, __LINE__, EXPget_name( VARget_name( a ) ) ); + } + } + } LISTod + return -1; +} + +/** prints the beginning of the entity class definition for the c++ code and the declaration + * of attr descriptors for the registry in the .h file + * + * \p entity entity to print + * \p file file being written to + */ +void ENTITYhead_print( Entity entity, FILE * file ) { + char entnm [BUFSIZ+1]; + Linked_List list; + Entity super = 0; + + strncpy( entnm, ENTITYget_classname( entity ), BUFSIZ ); + entnm[BUFSIZ-1] = '\0'; + + /* inherit from either supertype entity class or root class of + all - i.e. SDAI_Application_instance */ + + if( multiple_inheritance ) { + list = ENTITYget_supertypes( entity ); + if( ! LISTempty( list ) ) { + super = ( Entity )LISTpeek_first( list ); + } + } else { /* the old way */ + super = ENTITYput_superclass( entity ); + } + + fprintf( file, "class SC_SCHEMA_EXPORT %s : ", entnm ); + if( super ) { + fprintf( file, "public %s {\n ", ENTITYget_classname( super ) ); + } else { + fprintf( file, "public SDAI_Application_instance {\n" ); + } +} + +/** print an attr initializer + * skip inverse attrs + */ +void DataMemberInit( bool * first, Variable a, FILE * lib ) { + char attrnm [BUFSIZ+1]; + if( VARis_derived( a ) || VARget_inverse( a ) ) { + return; + } + if( TYPEis_entity( VARget_type( a ) ) || TYPEis_aggregate( VARget_type( a ) ) ) { + if( *first ) { + *first = false; + fprintf( lib, " :" ); + } else { + fprintf( lib, "," ); + } + generate_attribute_name( a, attrnm ); + fprintf( lib, " _%s( 0 )", attrnm ); + } +} + +/** print attribute initializers; call before printing constructor body + * \param first true if this is the first initializer + */ +void DataMemberInitializers( Entity entity, bool * first, Linked_List neededAttr, FILE * lib ) { + Linked_List attr_list = ENTITYget_attributes( entity ); + LISTdo( attr_list, attr, Variable ) { + DataMemberInit( first, attr, lib ); + } LISTod; + if( multiple_inheritance ) { + LISTdo( neededAttr, attr, Variable ) { + DataMemberInit( first, attr, lib ); + } LISTod + } +} + +/** prints out the data members for an entity's c++ class definition + * \param entity entity being processed + * \param file file being written to + */ +void DataMemberPrint( Entity entity, Linked_List neededAttr, FILE * file ) { + Linked_List attr_list; + + /* print list of attributes in the protected access area */ + fprintf( file, " protected:\n" ); + + attr_list = ENTITYget_attributes( entity ); + LISTdo( attr_list, attr, Variable ) { + DataMemberPrintAttr( entity, attr, file ); + } + LISTod; + + /* add attributes for parent attributes not inherited through C++ inheritance. */ + if( multiple_inheritance ) { + LISTdo( neededAttr, attr, Variable ) { + DataMemberPrintAttr( entity, attr, file ); + } + LISTod; + } +} + +/** prints the signature for member functions of an entity's class definition + * \param entity entity being processed + * \param file file being written to + */ +void MemberFunctionSign( Entity entity, Linked_List neededAttr, FILE * file ) { + + Linked_List attr_list; + static int entcode = 0; + char entnm [BUFSIZ+1]; + + strncpy( entnm, ENTITYget_classname( entity ), BUFSIZ ); /* assign entnm */ + entnm[BUFSIZ-1] = '\0'; + + fprintf( file, " public: \n" ); + + /* put in member functions which belong to all entities */ + /* constructors: */ + fprintf( file, " %s();\n", entnm ); + fprintf( file, " %s( SDAI_Application_instance *se, bool addAttrs = true );\n", entnm ); + /* copy constructor */ + fprintf( file, " %s( %s & e );\n", entnm, entnm ); + /* destructor: */ + fprintf( file, " ~%s();\n", entnm ); + + fprintf( file, " int opcode() {\n return %d;\n }\n", entcode++ ); + + /* print signature of access functions for attributes */ + attr_list = ENTITYget_attributes( entity ); + LISTdo( attr_list, a, Variable ) { + if( VARget_initializer( a ) == EXPRESSION_NULL ) { + /* retrieval and assignment */ + ATTRsign_access_methods( a, file ); + } + } LISTod + + /* //////////////// */ + if( multiple_inheritance ) { + /* add the EXPRESS inherited attributes which are non */ + /* inherited in C++ */ + LISTdo( neededAttr, attr, Variable ) { + if( ! VARis_derived( attr ) && ! VARis_overrider( entity, attr ) ) { + ATTRsign_access_methods( attr, file ); + } + } LISTod + } + /* //////////////// */ + fprintf( file, "};\n\n" ); + + /* print creation function for class */ + fprintf( file, "inline %s * create_%s() {\n return new %s;\n}\n\n", entnm, entnm, entnm ); +} + +/** drives the generation of the c++ class definition code + * + * Side Effects: prints segment of the c++ .h file + * + * \param entity entity being processed + * \param file file being written to + */ +void ENTITYinc_print( Entity entity, Linked_List neededAttr, FILE * file ) { + ENTITYhead_print( entity, file ); + DataMemberPrint( entity, neededAttr, file ); + MemberFunctionSign( entity, neededAttr, file ); +} + +/** initialize attributes in the constructor; used for two different constructors */ +void initializeAttrs( Entity e, FILE* file ) { + const orderedAttr * oa; + orderedAttrsInit( e ); + while( 0 != ( oa = nextAttr() ) ) { + if( oa->deriver ) { + fprintf( file, " MakeDerived( \"%s\", \"%s\" );\n", oa->attr->name->symbol.name, oa->creator->symbol.name ); + } + } + orderedAttrsCleanup(); +} + +/** prints the c++ code for entity class's constructor and destructor. goes to .cc file + * Side Effects: generates codes segment in c++ .cc file + * + * Changes: Modified generator to initialize attributes to NULL based + * on the NULL symbols defined in "SDAI C++ Binding for PDES, + * Inc. Prototyping" by Stephen Clark. + * Change Date: 5/22/91 CD + * Changes: Modified STEPattribute constructors to take fewer arguments + * 21-Dec-1992 -kcm + * \param entity entity being processed + * \param file file being written to + */ +void LIBstructor_print( Entity entity, Linked_List neededAttr, FILE * file, Schema schema ) { + Linked_List attr_list; + Type t; + char attrnm [BUFSIZ+1]; + + Linked_List list; + Entity principalSuper = 0; + + const char * entnm = ENTITYget_classname( entity ); + bool first = true; + + /* constructor definition */ + + /* parent class initializer (if any) and '{' printed below */ + fprintf( file, "%s::%s()", entnm, entnm ); + + /* ////MULTIPLE INHERITANCE//////// */ + + if( multiple_inheritance ) { + int super_cnt = 0; + list = ENTITYget_supertypes( entity ); + if( ! LISTempty( list ) ) { + LISTdo( list, e, Entity ) { + /* if there's no super class yet, + or the super class doesn't have any attributes + */ + + super_cnt++; + if( super_cnt == 1 ) { + bool firstInitializer = false; + /* ignore the 1st parent */ + const char * parent = ENTITYget_classname( e ); + + /* parent class initializer */ + fprintf( file, ": %s()", parent ); + DataMemberInitializers( entity, &firstInitializer, neededAttr, file ); + fprintf( file, " {\n" ); + fprintf( file, " /* parent: %s */\n%s\n%s\n", parent, + " /* Ignore the first parent since it is */", + " /* part of the main inheritance hierarchy */" ); + principalSuper = e; /* principal SUPERTYPE */ + } else { + fprintf( file, " /* parent: %s */\n", ENTITYget_classname( e ) ); + fprintf( file, " HeadEntity(this);\n" ); + fprintf( file, " AppendMultInstance(new %s(this));\n", + ENTITYget_classname( e ) ); + + if( super_cnt == 2 ) { + printf( "\nMULTIPLE INHERITANCE for entity: %s\n", + ENTITYget_name( entity ) ); + printf( " SUPERTYPE 1: %s (principal supertype)\n", + ENTITYget_name( principalSuper ) ); + } + printf( " SUPERTYPE %d: %s\n", super_cnt, ENTITYget_name( e ) ); + } + } LISTod; + + } else { /* if entity has no supertypes, it's at top of hierarchy */ + /* no parent class constructor has been printed, so still need an opening brace */ + bool firstInitializer = true; + DataMemberInitializers( entity, &firstInitializer, neededAttr, file ); + fprintf( file, " {\n" ); + fprintf( file, " /* no SuperTypes */\n" ); + } + } + + /* what if entity comes from other schema? + * It appears that entity.superscope.symbol.name is the schema name (but only if entity.superscope.type == 's'?) --MAP 27Nov11 + */ + fprintf( file, "\n eDesc = %s::%s%s;\n", + SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); + + attr_list = ENTITYget_attributes( entity ); + + LISTdo( attr_list, a, Variable ) { + if( VARget_initializer( a ) == EXPRESSION_NULL ) { + /* include attribute if it is not derived */ + generate_attribute_name( a, attrnm ); + t = VARget_type( a ); + + if( !VARget_inverse( a ) && !VARis_derived( a ) ) { + /* 1. create a new STEPattribute */ + + /* if type is aggregate, the variable is a pointer and needs initialized */ + if( TYPEis_aggregate( t ) ) { + fprintf( file, " _%s = new %s;\n", attrnm, TYPEget_ctype( t ) ); + } + fprintf( file, " %sa = new STEPattribute( * %s::", + ( first ? "STEPattribute * " : "" ), /* first time through, declare 'a' */ + SCHEMAget_name( schema ) ); + fprintf( file, "%s%d%s%s", ATTR_PREFIX, a->idx, ( VARis_type_shifter( a ) ? "R" : "" ), attrnm ); + fprintf( file, ", %s%s_%s );\n", + ( TYPEis_entity( t ) ? "( SDAI_Application_instance_ptr * ) " : "" ), + ( TYPEis_aggregate( t ) ? "" : "& " ), attrnm ); + if( first ) { + first = false; + } + /* 2. initialize everything to NULL (even if not optional) */ + + fprintf( file, " a->set_null();\n" ); + + /* 3. put attribute on attributes list */ + fprintf( file, " attributes.push( a );\n" ); + + /* if it is redefining another attribute make connection of + redefined attribute to redefining attribute */ + if( VARis_type_shifter( a ) ) { + fprintf( file, " MakeRedefined( a, \"%s\" );\n", + VARget_simple_name( a ) ); + } + } + } + } LISTod; + + initializeAttrs( entity, file ); + + fprintf( file, "}\n\n" ); + + /* copy constructor */ + entnm = ENTITYget_classname( entity ); + fprintf( file, "%s::%s ( %s & e ) : ", entnm, entnm, entnm ); + + /* include explicit initialization of base class */ + if( principalSuper ) { + fprintf( file, "%s()", ENTITYget_classname( principalSuper ) ); + } else { + fprintf( file, "SDAI_Application_instance()" ); + } + + fprintf( file, " {\n CopyAs( ( SDAI_Application_instance_ptr ) & e );\n}\n\n" ); + + /* print destructor */ + /* currently empty, but should check to see if any attributes need + to be deleted -- attributes will need reference count */ + + entnm = ENTITYget_classname( entity ); + fprintf( file, "%s::~%s() {\n", entnm, entnm ); + + attr_list = ENTITYget_attributes( entity ); + + LISTdo( attr_list, a, Variable ) + if( VARget_initializer( a ) == EXPRESSION_NULL ) { + generate_attribute_name( a, attrnm ); + t = VARget_type( a ); + + if( ( ! VARget_inverse( a ) ) && ( ! VARis_derived( a ) ) ) { + if( TYPEis_aggregate( t ) ) { + fprintf( file, " delete _%s;\n", attrnm ); + } + } + } + LISTod; + + fprintf( file, "}\n\n" ); +} + +/********************/ +/** print the constructor that accepts a SDAI_Application_instance as an argument used + when building multiply inherited entities. + \sa LIBstructor_print() +*/ +void LIBstructor_print_w_args( Entity entity, Linked_List neededAttr, FILE * file, Schema schema ) { + Linked_List attr_list; + Type t; + char attrnm [BUFSIZ+1]; + + Linked_List list; + int super_cnt = 0; + + /* added for calling parents constructor if there is one */ + char parentnm [BUFSIZ+1]; + char * parent = 0; + + const char * entnm; + bool first = true; + + if( multiple_inheritance ) { + bool firstInitializer = true; + Entity parentEntity = 0; + list = ENTITYget_supertypes( entity ); + if( ! LISTempty( list ) ) { + parentEntity = ( Entity )LISTpeek_first( list ); + if( parentEntity ) { + strcpy( parentnm, ENTITYget_classname( parentEntity ) ); + parent = parentnm; + } else { + parent = 0; /* no parent */ + } + } else { + parent = 0; /* no parent */ + } + + /* ENTITYget_classname returns a static buffer so don't call it twice + before it gets used - (I didn't write it) - I had to move it below + the above use. DAS */ + entnm = ENTITYget_classname( entity ); + /* constructor definition */ + if( parent ) { + firstInitializer = false; + fprintf( file, "%s::%s( SDAI_Application_instance * se, bool addAttrs ) : %s( se, addAttrs )", entnm, entnm, parentnm ); + } else { + fprintf( file, "%s::%s( SDAI_Application_instance * se, bool addAttrs )", entnm, entnm ); + } + DataMemberInitializers( entity, &firstInitializer, neededAttr, file ); + fprintf( file, " {\n" ); + + fprintf( file, " /* Set this to point to the head entity. */\n" ); + fprintf( file, " HeadEntity(se);\n" ); + if( !parent ) { + fprintf( file, " ( void ) addAttrs; /* quell potentially unused var */\n\n" ); + } + + list = ENTITYget_supertypes( entity ); + if( ! LISTempty( list ) ) { + LISTdo( list, e, Entity ) + /* if there's no super class yet, + or the super class doesn't have any attributes + */ + fprintf( file, " /* parent: %s */\n", ENTITYget_classname( e ) ); + + super_cnt++; + if( super_cnt == 1 ) { + /* ignore the 1st parent */ + fprintf( file, + " /* Ignore the first parent since it is part *\n%s\n", + " ** of the main inheritance hierarchy */" ); + } else { + fprintf( file, " se->AppendMultInstance( new %s( se, addAttrs ) );\n", + ENTITYget_classname( e ) ); + } + LISTod; + + } else { /* if entity has no supertypes, it's at top of hierarchy */ + fprintf( file, " /* no SuperTypes */\n" ); + } + + /* what if entity comes from other schema? */ + fprintf( file, "\n eDesc = %s::%s%s;\n", + SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); + + attr_list = ENTITYget_attributes( entity ); + + LISTdo( attr_list, a, Variable ) { + if( VARget_initializer( a ) == EXPRESSION_NULL ) { + /* include attribute if it is not derived */ + generate_attribute_name( a, attrnm ); + t = VARget_type( a ); + if( !VARget_inverse( a ) && !VARis_derived( a ) ) { + /* 1. create a new STEPattribute */ + + /* if type is aggregate, the variable is a pointer and needs initialized */ + if( TYPEis_aggregate( t ) ) { + fprintf( file, " _%s = new %s;\n", attrnm, TYPEget_ctype( t ) ); + } + fprintf( file, " %sa = new STEPattribute( * %s::%s%d%s%s, %s %s_%s );\n", + ( first ? "STEPattribute * " : "" ), /* first time through, declare a */ + SCHEMAget_name( schema ), + ATTR_PREFIX, a->idx, + ( VARis_type_shifter( a ) ? "R" : "" ), + attrnm, + ( TYPEis_entity( t ) ? "( SDAI_Application_instance_ptr * )" : "" ), + ( TYPEis_aggregate( t ) ? "" : "&" ), + attrnm ); + + if( first ) { + first = false; + } + + fprintf( file, " /* initialize to NULL (even if not optional) */\n" ); + fprintf( file, " a ->set_null();\n" ); + + fprintf( file, " /* Put attribute on this class' attributes list so the access functions still work. */\n" ); + fprintf( file, " attributes.push( a );\n" ); + + fprintf( file, " /* Put attribute on the attributes list for the main inheritance hierarchy. */\n" ); + fprintf( file, " /* The push method rejects duplicates found by comparing attrDescriptor's. */\n" ); + fprintf( file, " if( addAttrs ) {\n" ); + fprintf( file, " se->attributes.push( a );\n }\n" ); + + /* if it is redefining another attribute make connection of redefined attribute to redefining attribute */ + if( VARis_type_shifter( a ) ) { + fprintf( file, " MakeRedefined( a, \"%s\" );\n", + VARget_simple_name( a ) ); + } + } + } + } LISTod + + initializeAttrs( entity, file ); + + fprintf( file, "}\n\n" ); + } /* end if(multiple_inheritance) */ + +} + +/** return 1 if types are predefined by us */ +bool TYPEis_builtin( const Type t ) { + switch( TYPEget_body( t )->type ) { /* dunno if correct*/ + case integer_: + case real_: + case string_: + case binary_: + case boolean_: + case number_: + case logical_: + return true; + default: + break; + } + return false; +} + +/** converts an Express name into the corresponding SC + * dictionary name. The difference between this and the + * generate_attribute_name() function is that for derived + * attributes the name will have the form . + * where is the name of the parent containing the + * attribute being derived and is the name of the + * derived attribute. Both and may + * contain underscores but and will be + * separated by a period. generate_attribute_name() generates + * the same name except and will be + * separated by an underscore since it is illegal to have a + * period in a variable name. This function is used for the + * dictionary name (a string) and generate_attribute_name() + * will be used for variable and access function names. + * \param a, an Express attribute + * \param out, the C++ name + */ +char * generate_dict_attr_name( Variable a, char * out ) { + char * temp, *p, *q; + int j; + + temp = EXPRto_string( VARget_name( a ) ); + p = temp; + if( ! strncmp( StrToLower( p ), "self\\", 5 ) ) { + p = p + 5; + } + /* copy p to out */ + strncpy( out, StrToLower( p ), BUFSIZ ); + /* DAR - fixed so that '\n's removed */ + for( j = 0, q = out; *p != '\0' && j < BUFSIZ; p++ ) { + /* copy p to out, 1 char at time. Skip \n's, and convert to lc. */ + if( *p != '\n' ) { + *q = tolower( *p ); + j++; + q++; + } + } + *q = '\0'; + + free( temp ); + return out; +} + +/** generates code to add entity to STEP registry + * + * \param entity entity being processed + * \param header header being written to + * \param impl implementation file being written to + * \param schema schema the entity is in + */ +void ENTITYincode_print( Entity entity, FILE * header, FILE * impl, Schema schema ) { +#define entity_name ENTITYget_name(entity) +#define schema_name SCHEMAget_name(schema) + char attrnm [BUFSIZ+1]; + char dict_attrnm [BUFSIZ+1]; + const char * super_schema; + char * tmp, *tmp2; + bool hasInverse = false; + +#ifdef NEWDICT + /* DAS New SDAI Dictionary 5/95 */ + /* insert the entity into the schema descriptor */ + fprintf( impl, + " ((SDAIAGGRH(Set,EntityH))%s::schema->Entities())->Add(%s::%s%s);\n", + schema_name, schema_name, ENT_PREFIX, entity_name ); +#endif + + if( ENTITYget_abstract( entity ) ) { + if( entity->u.entity->subtype_expression ) { + + fprintf( impl, " str.clear();\n str.append( \"ABSTRACT SUPERTYPE OF ( \" );\n" ); + + format_for_std_stringout( impl, SUBTYPEto_string( entity->u.entity->subtype_expression ) ); + fprintf( impl, " str.append( \")\" );\n" ); + fprintf( impl, " %s::%s%s->AddSupertype_Stmt( str );\n", schema_name, ENT_PREFIX, entity_name ); + } else { + fprintf( impl, " %s::%s%s->AddSupertype_Stmt( \"ABSTRACT SUPERTYPE\" );\n", + schema_name, ENT_PREFIX, entity_name ); + } + } else { + if( entity->u.entity->subtype_expression ) { + fprintf( impl, " str.clear();\n str.append( \"SUPERTYPE OF ( \" );\n" ); + format_for_std_stringout( impl, SUBTYPEto_string( entity->u.entity->subtype_expression ) ); + fprintf( impl, " str.append( \")\" );\n" ); + fprintf( impl, " %s::%s%s->AddSupertype_Stmt( str );\n", schema_name, ENT_PREFIX, entity_name ); + } + } + LISTdo( ENTITYget_supertypes( entity ), sup, Entity ) + /* set the owning schema of the supertype */ + super_schema = SCHEMAget_name( ENTITYget_schema( sup ) ); + /* print the supertype list for this entity */ + fprintf( impl, " %s::%s%s->AddSupertype(%s::%s%s);\n", + schema_name, ENT_PREFIX, entity_name, + super_schema, + ENT_PREFIX, ENTITYget_name( sup ) ); + + /* add this entity to the subtype list of it's supertype */ + fprintf( impl, " %s::%s%s->AddSubtype(%s::%s%s);\n", + super_schema, + ENT_PREFIX, ENTITYget_name( sup ), + schema_name, ENT_PREFIX, entity_name ); + LISTod + + LISTdo( ENTITYget_attributes( entity ), v, Variable ) + if( VARget_inverse( v ) ) { + hasInverse = true; + } + generate_attribute_name( v, attrnm ); + /* do EXPLICIT and DERIVED attributes first */ + /* if ( ! VARget_inverse (v)) {*/ + /* first make sure that type descriptor exists */ + if( TYPEget_name( v->type ) ) { + if( ( !TYPEget_head( v->type ) ) && + ( TYPEget_body( v->type )->type == entity_ ) ) { + fprintf( impl, " %s::%s%d%s%s =", SCHEMAget_name( schema ), ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : ( VARis_type_shifter( v ) ? "R" : ( VARget_inverse( v ) ? "I" : "" ) ) ), + attrnm ); + fprintf( impl, "\n new %s( \"%s\",", + ( VARget_inverse( v ) ? "Inverse_attribute" : + ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), + /* attribute name param */ + generate_dict_attr_name( v, dict_attrnm ) ); + + /* following assumes we are not in a nested */ + /* entity otherwise we should search upward */ + /* for schema */ + /* attribute's type */ + fprintf( impl, " %s::%s%s, %s,\n", TYPEget_name( TYPEget_body( v->type )->entity->superscope ), + ENT_PREFIX, TYPEget_name( v->type ), ( VARget_optional( v ) ? "LTrue" : "LFalse" ) ); + fprintf( impl, " %s%s, *%s::%s%s);\n", ( VARget_unique( v ) ? "LTrue" : "LFalse" ), + /* Support REDEFINED */ + ( VARget_inverse( v ) ? "" : ( VARis_derived( v ) ? ", AttrType_Deriving" : + ( VARis_type_shifter( v ) ? ", AttrType_Redefining" : ", AttrType_Explicit" ) ) ), + schema_name, ENT_PREFIX, TYPEget_name( entity ) ); + } else { + /* type reference */ + fprintf( impl, " %s::%s%d%s%s =\n new %s" + "(\"%s\",%s::%s%s,\n %s,%s%s,\n *%s::%s%s);\n", + SCHEMAget_name( schema ), ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : + ( VARis_type_shifter( v ) ? "R" : + ( VARget_inverse( v ) ? "I" : "" ) ) ), + attrnm, + + ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), + + /* attribute name param */ + generate_dict_attr_name( v, dict_attrnm ), + + SCHEMAget_name( v->type->superscope ), + TD_PREFIX, TYPEget_name( v->type ), + + ( VARget_optional( v ) ? "LTrue" : "LFalse" ), + + ( VARget_unique( v ) ? "LTrue" : "LFalse" ), + + ( VARget_inverse( v ) ? "" : + ( VARis_derived( v ) ? ", AttrType_Deriving" : + ( VARis_type_shifter( v ) ? ", AttrType_Redefining" : ", AttrType_Explicit" ) ) ), + + schema_name, ENT_PREFIX, TYPEget_name( entity ) + ); + } + } else if( TYPEis_builtin( v->type ) ) { + /* the type wasn't named -- it must be built in or aggregate */ + + fprintf( impl, " %s::%s%d%s%s =\n new %s" + "(\"%s\",%s%s,\n %s,%s%s,\n *%s::%s%s);\n", + SCHEMAget_name( schema ), ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : + ( VARis_type_shifter( v ) ? "R" : + ( VARget_inverse( v ) ? "I" : "" ) ) ), + attrnm, + ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), + /* attribute name param */ + generate_dict_attr_name( v, dict_attrnm ), + /* not sure about 0 here */ TD_PREFIX, FundamentalType( v->type, 0 ), + ( VARget_optional( v ) ? "LTrue" : + "LFalse" ), + ( VARget_unique( v ) ? "LTrue" : + "LFalse" ), + ( VARget_inverse( v ) ? "" : + ( VARis_derived( v ) ? ", AttrType_Deriving" : + ( VARis_type_shifter( v ) ? + ", AttrType_Redefining" : + ", AttrType_Explicit" ) ) ), + schema_name, ENT_PREFIX, TYPEget_name( entity ) + ); + } else { + /* manufacture new one(s) on the spot */ + char typename_buf[MAX_LEN+1]; + print_typechain( header, impl, v->type, typename_buf, schema, v->name->symbol.name ); + fprintf( impl, " %s::%s%d%s%s =\n new %s" + "(\"%s\",%s,%s,%s%s,\n *%s::%s%s);\n", + SCHEMAget_name( schema ), ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : + ( VARis_type_shifter( v ) ? "R" : + ( VARget_inverse( v ) ? "I" : "" ) ) ), + attrnm, + ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), + /* attribute name param */ + generate_dict_attr_name( v, dict_attrnm ), + typename_buf, + ( VARget_optional( v ) ? "LTrue" : + "LFalse" ), + ( VARget_unique( v ) ? "LTrue" : + "LFalse" ), + ( VARget_inverse( v ) ? "" : + ( VARis_derived( v ) ? ", AttrType_Deriving" : + ( VARis_type_shifter( v ) ? + ", AttrType_Redefining" : + ", AttrType_Explicit" ) ) ), + schema_name, ENT_PREFIX, TYPEget_name( entity ) + ); + } + + fprintf( impl, " %s::%s%s->Add%sAttr (%s::%s%d%s%s);\n", + schema_name, ENT_PREFIX, TYPEget_name( entity ), + ( VARget_inverse( v ) ? "Inverse" : "Explicit" ), + SCHEMAget_name( schema ), ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : + ( VARis_type_shifter( v ) ? "R" : + ( VARget_inverse( v ) ? "I" : "" ) ) ), + attrnm ); + + if( VARis_derived( v ) && v->initializer ) { + tmp = EXPRto_string( v->initializer ); + tmp2 = ( char * )malloc( sizeof( char ) * ( strlen( tmp ) + BUFSIZ ) ); + fprintf( impl, " %s::%s%d%s%s->initializer_(\"%s\");\n", + schema_name, ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : + ( VARis_type_shifter( v ) ? "R" : + ( VARget_inverse( v ) ? "I" : "" ) ) ), + attrnm, format_for_stringout( tmp, tmp2 ) ); + free( tmp ); + free( tmp2 ); + } + if( VARget_inverse( v ) ) { + fprintf( impl, " %s::%s%d%s%s->inverted_attr_id_(\"%s\");\n", + schema_name, ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : + ( VARis_type_shifter( v ) ? "R" : + ( VARget_inverse( v ) ? "I" : "" ) ) ), + attrnm, v->inverse_attribute->name->symbol.name ); + if( v->type->symbol.name ) { + fprintf( impl, + " %s::%s%d%s%s->inverted_entity_id_(\"%s\");\n", + schema_name, ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : + ( VARis_type_shifter( v ) ? "R" : + ( VARget_inverse( v ) ? "I" : "" ) ) ), attrnm, + v->type->symbol.name ); + fprintf( impl, "// inverse entity 1 %s\n", v->type->symbol.name ); + } else { + switch( TYPEget_body( v->type )->type ) { + case entity_: + fprintf( impl, + " %s%d%s%s->inverted_entity_id_(\"%s\");\n", + ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : + ( VARis_type_shifter( v ) ? "R" : + ( VARget_inverse( v ) ? "I" : "" ) ) ), attrnm, + TYPEget_body( v->type )->entity->symbol.name ); + fprintf( impl, "// inverse entity 2 %s\n", TYPEget_body( v->type )->entity->symbol.name ); + break; + case aggregate_: + case array_: + case bag_: + case set_: + case list_: + fprintf( impl, + " %s::%s%d%s%s->inverted_entity_id_(\"%s\");\n", + schema_name, ATTR_PREFIX, v->idx, + ( VARis_derived( v ) ? "D" : + ( VARis_type_shifter( v ) ? "R" : + ( VARget_inverse( v ) ? "I" : "" ) ) ), attrnm, + TYPEget_body( v->type )->base->symbol.name ); + fprintf( impl, "// inverse entity 3 %s\n", TYPEget_body( v->type )->base->symbol.name ); + break; + default: + fprintf(stderr, "Error: reached default case at %s:%d", __FILE__, __LINE__ ); + abort(); + } + } + } + + LISTod + + fprintf( impl, " reg.AddEntity( *%s::%s%s );\n", schema_name, ENT_PREFIX, entity_name ); + if( hasInverse ) { + fprintf( impl, " %s::schema->AddEntityWInverse( %s::%s%s );\n", schema_name, schema_name, ENT_PREFIX, entity_name ); + } + +#undef schema_name +} + +void ENTITYPrint_h( const Entity entity, FILE * header, Linked_List neededAttr, Schema schema ) { + const char *name = ENTITYget_classname( entity ); + DEBUG( "Entering ENTITYPrint_h for %s\n", name ); + + ENTITYhead_print( entity, header ); + DataMemberPrint( entity, neededAttr, header ); + MemberFunctionSign( entity, neededAttr, header ); + + fprintf( header, "void init_%s(Registry& reg);\n\n", name ); + + fprintf( header, "namespace %s {\n", SCHEMAget_name( schema ) ); + ENTITYnames_print( entity, header ); + ATTRnames_print( entity, header ); + fprintf( header, "}\n\n" ); + + DEBUG( "DONE ENTITYPrint_h\n" ); +} + +void ENTITYPrint_cc( const Entity entity, FILE * createall, FILE * header, FILE * impl, Linked_List neededAttr, Schema schema, bool externMap ) { + const char * name = ENTITYget_classname( entity ); + + DEBUG( "Entering ENTITYPrint_cc for %s\n", name ); + + fprintf( impl, "#include \"schema.h\"\n" ); + fprintf( impl, "#include \"entity/%s.h\"\n\n", name ); + + LIBdescribe_entity( entity, impl, schema ); + LIBstructor_print( entity, neededAttr, impl, schema ); + if( multiple_inheritance ) { + LIBstructor_print_w_args( entity, neededAttr, impl, schema ); + } + LIBmemberFunctionPrint( entity, neededAttr, impl, schema ); + + fprintf( impl, "void init_%s( Registry& reg ) {\n", name ); + fprintf( impl, " std::string str;\n\n" ); + ENTITYprint_descriptors( entity, createall, impl, schema, externMap ); + ENTITYincode_print( entity, header, impl, schema ); + fprintf( impl, "}\n\n" ); + + DEBUG( "DONE ENTITYPrint_cc\n" ); +} + +/** \sa collectAttributes */ +enum CollectType { ALL, ALL_BUT_FIRST, FIRST_ONLY }; + +/** Retrieve the list of inherited attributes of an entity + * \param curList current list to store the attributes + * \param curEntity current Entity being processed + * \param collect selects attrs to be collected + */ +static void collectAttributes( Linked_List curList, const Entity curEntity, enum CollectType collect ) { + Linked_List parent_list = ENTITYget_supertypes( curEntity ); + + if( ! LISTempty( parent_list ) ) { + if( collect != FIRST_ONLY ) { + /* collect attributes from parents and their supertypes */ + LISTdo( parent_list, e, Entity ) { + if( collect == ALL_BUT_FIRST ) { + /* skip first and collect from the rest */ + collect = ALL; + } else { + /* collect attributes of this parent and its supertypes */ + collectAttributes( curList, e, ALL ); + } + } + LISTod; + } else { + /* collect attributes of only first parent and its supertypes */ + collectAttributes( curList, ( Entity ) LISTpeek_first( parent_list ), ALL ); + } + } + /* prepend this entity's attributes to the result list */ + LISTdo( ENTITYget_attributes( curEntity ), attr, Variable ) { + LISTadd_first( curList, attr ); + } LISTod; +} + +static bool listContainsVar( Linked_List l, Variable v ) { + const char * vName = VARget_simple_name( v ); + LISTdo( l, curr, Variable ) { + if( !strcmp( vName, VARget_simple_name( curr ) ) ) { + return true; + } + } + LISTod; + return false; +} + +/** drives the printing of the code for the class library + * additional member functions can be generated by writing a routine + * to generate the code and calling that routine from this procedure + * + * ** Side Effects: generates code segment for c++ library file + * + * \param entity entity being processed + * \param file file being written to + */ +void ENTITYlib_print( Entity entity, Linked_List neededAttr, FILE * file, Schema schema ) { + LIBdescribe_entity( entity, file, schema ); + LIBstructor_print( entity, neededAttr, file, schema ); + if( multiple_inheritance ) { + LIBstructor_print_w_args( entity, neededAttr, file, schema ); + } + LIBmemberFunctionPrint( entity, neededAttr, file, schema ); +} + +/** drives the functions for printing out code in lib, + * include, and initialization files for a specific entity class + * \p entity entity being processed + * \p files files being written to + * \p schema name of the schema + * \p col the ComplexCollect + */ +void ENTITYPrint( Entity entity, FILES * files, Schema schema, bool externMap ) { + FILE * hdr, * impl; + char * n = ENTITYget_name( entity ); + Linked_List remaining = LISTcreate(); + filenames_t names = getEntityFilenames( entity ); + + DEBUG( "Entering ENTITYPrint for %s\n", n ); + + if( multiple_inheritance ) { + Linked_List existing = LISTcreate(); + Linked_List required = LISTcreate(); + + /* create list of attr inherited from the parents in C++ */ + collectAttributes( existing, entity, FIRST_ONLY ); + + /* create list of attr that have to be inherited in EXPRESS */ + collectAttributes( required, entity, ALL_BUT_FIRST ); + + /* build list of unique attr that are required but haven't been */ + /* inherited */ + LISTdo( required, attr, Variable ) { + if( !listContainsVar( existing, attr ) && + !listContainsVar( remaining, attr ) ) { + LISTadd_first( remaining, attr ); + } + } + LISTod; + LIST_destroy( existing ); + LIST_destroy( required ); + } + if( mkDirIfNone( "entity" ) == -1 ) { + fprintf( stderr, "At %s:%d - mkdir() failed with error ", __FILE__, __LINE__); + perror( 0 ); + abort(); + } + + hdr = FILEcreate( names.header ); + impl = FILEcreate( names.impl ); + assert( hdr && impl && "error creating files" ); + fprintf( files->unity.entity.hdr, "#include \"%s\"\n", names.header ); /* TODO this is not necessary? */ + fprintf( files->unity.entity.impl, "#include \"%s\"\n", names.impl ); + + ENTITYPrint_h( entity, hdr, remaining, schema ); + ENTITYPrint_cc( entity, files->create, hdr, impl, remaining, schema, externMap ); + FILEclose( hdr ); + FILEclose( impl ); + + fprintf( files->inc, "#include \"entity/%s.h\"\n", ENTITYget_classname( entity ) ); + fprintf( files->init, " init_%s( reg );\n", ENTITYget_classname( entity ) ); + + DEBUG( "DONE ENTITYPrint\n" ); + LIST_destroy( remaining ); +} + +/** create entity descriptors + * + * originally part of ENTITYprint_new(), along with ENTITYprint_classes() + * + * \p entity the entity to print + * \p createall the file to write eDesc into + * \p impl the file to write rules into + * \p schema the current schema + * \p externMap true if entity must be instantiated with external mapping (see Part 21, sect 11.2.5.1). + * + * eDesc is printed into createall because it must be initialized before other entity init fn's are called + * alternative is two init fn's per ent. call init1 for each ent, then repeat with init2 + */ +void ENTITYprint_descriptors( Entity entity, FILE * createall, FILE * impl, Schema schema, bool externMap ) { + fprintf( createall, " %s::%s%s = new EntityDescriptor( ", SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); + fprintf( createall, "\"%s\", %s::schema, %s, ", PrettyTmpName( ENTITYget_name( entity ) ), SCHEMAget_name( schema ), ( ENTITYget_abstract( entity ) ? "LTrue" : "LFalse" ) ); + fprintf( createall, "%s, (Creator) create_%s );\n", externMap ? "LTrue" : "LFalse", ENTITYget_classname( entity ) ); + /* add the entity to the Schema dictionary entry */ + fprintf( createall, " %s::schema->AddEntity(%s::%s%s);\n", SCHEMAget_name( schema ), SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); + + WHEREprint( ENTITYget_name( entity ), TYPEget_where( entity ), impl, schema, true ); + UNIQUEprint( entity, impl, schema ); +} + +/** print in classes file: class forward prototype, class typedefs + * split out of ENTITYprint_new, which is now ENTITYprint_descriptors + */ +void ENTITYprint_classes( Entity entity, FILE * classes ) { + const char * n = ENTITYget_classname( entity ); + fprintf( classes, "\nclass %s;\n", n ); + fprintf( classes, "typedef %s * %sH;\n", n, n ); + fprintf( classes, "typedef %s * %s_ptr;\n", n, n ); + fprintf( classes, "typedef const %s * %s_ptr_c;\n", n, n ); + fprintf( classes, "typedef %s_ptr %s_var;\n", n, n ); + fprintf( classes, "#define %s__set SDAI_DAObject__set\n", n ); + fprintf( classes, "#define %s__set_var SDAI_DAObject__set_var\n", n ); +} diff --git a/src/exp2cxx/classes_entity.h b/src/exp2cxx/classes_entity.h new file mode 100644 index 000000000..8e1c6e0be --- /dev/null +++ b/src/exp2cxx/classes_entity.h @@ -0,0 +1,12 @@ +#ifndef CLASSES_ENTITY_H +#define CLASSES_ENTITY_H + +const char * ENTITYget_classname( Entity ); +Entity ENTITYget_superclass( Entity entity ); +Entity ENTITYput_superclass( Entity entity ); +int ENTITYhas_explicit_attributes( Entity e ); +void ENTITYget_first_attribs( Entity entity, Linked_List result ); +void ENTITYPrint( Entity entity, FILES * files, Schema schema, bool externMap ); +void ENTITYprint_descriptors( Entity entity, FILE * createall, FILE * impl, Schema schema, bool externMap ); +void ENTITYprint_classes( Entity entity, FILE * classes ); +#endif diff --git a/src/exp2cxx/classes_misc.c b/src/exp2cxx/classes_misc.c new file mode 100644 index 000000000..9db5e7eb7 --- /dev/null +++ b/src/exp2cxx/classes_misc.c @@ -0,0 +1,422 @@ +#define CLASSES_MISC_C +#include +#include "classes.h" + +#include "class_strings.h" + +/** \file classes_misc.c +** FedEx parser output module for generating C++ class definitions +** December 5, 1989 +** release 2 17-Feb-1992 +** release 3 March 1993 +** release 4 December 1993 +** K. C. Morris +** +** Development of FedEx was funded by the United States Government, +** and is not subject to copyright. + +******************************************************************* +The conventions used in this binding follow the proposed specification +for the STEP Standard Data Access Interface as defined in document +N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. +*******************************************************************/ + +extern int multiple_inheritance; + +/** + * creates a file for c++ header definitions, with name filename + * Returns: FILE* pointer to file created or NULL + * Status: complete + */ +FILE * FILEcreate( const char * filename ) { + FILE * file; + const char * fn; + + if( ( file = fopen( filename, "w" ) ) == NULL ) { + fprintf( stderr, "**Error in SCHEMAprint: unable to create file %s ** \n", filename ); + return ( NULL ); + } + + fn = StrToConstant ( filename ); + fprintf( file, "#ifndef %s\n", fn ); + fprintf( file, "#define %s\n\n", fn ); + + fprintf( file, "// This file was generated by exp2cxx,\n// %s.\n", SC_VERSION ); + fprintf( file, "// You probably don't want to edit it since your modifications\n" ); + fprintf( file, "// will be lost if exp2cxx is used to regenerate it.\n\n" ); + return ( file ); + +} + +/** closes a file opened with FILEcreate */ +void FILEclose( FILE * file ) { + fprintf( file, "#endif\n" ); + fclose( file ); +} + + +/** indicates whether the attribute is an aggregate */ +int isAggregate( Variable a ) { + return( TYPEinherits_from( VARget_type( a ), aggregate_ ) ); +} + +/** indicates whether the attribute is an aggregate */ +int isAggregateType( const Type t ) { + return( TYPEinherits_from( t, aggregate_ ) ); +} + +/** \returns a pointer to a static buffer, containing a string which is the type used by the c++ data member access functions */ +const char * AccessType( Type t ) { + Class_Of_Type class; + static char nm [BUFSIZ+1]; + strncpy( nm, TypeName( t ), BUFSIZ - 4 ); + if( TYPEis_entity( t ) ) { + strcat( nm, "_ptr" ); + return nm; + } else if( TYPEis_select( t ) || TYPEis_aggregate( t ) ) { + strcat( nm, "_ptr" ); + return nm; + } + class = TYPEget_type( t ); + if( class == enumeration_ ) { + strncpy( nm, TypeName( t ), BUFSIZ - 2 ); + strcat( nm, "_var" ); + return nm; + } + if( class == logical_ ) { + strncpy( nm, "Logical", BUFSIZ - 2 ); + } + + /* case TYPE_BOOLEAN: */ + if( class == boolean_ ) { + strncpy( nm, "Boolean", BUFSIZ - 2 ); + } + return nm; +} + +/** \returns pointer to a static buffer, containing a new capitalized name + * + * creates a new name with first character's in caps + */ +const char * PrettyTmpName( const char * oldname ) { + int i = 0; + static char newname [BUFSIZ+1]; + newname [0] = '\0'; + while( ( oldname [i] != '\0' ) && ( i < BUFSIZ ) ) { + newname [i] = ToLower( oldname [i] ); + if( oldname [i] == '_' ) { /* character is '_' */ + ++i; + newname [i] = ToUpper( oldname [i] ); + } + if( oldname [i] != '\0' ) { + ++i; + } + } + + newname [0] = ToUpper( oldname [0] ); + newname [i] = '\0'; + return newname; +} + +/* This function is out of date DAS */ +const char * EnumName( const char * oldname ) { + int j = 0; + static char newname [MAX_LEN+1]; + if( !oldname ) { + return ( "" ); + } + + strcpy( newname, ENUM_PREFIX ); + j = strlen( ENUM_PREFIX ); + newname [j] = ToUpper( oldname [0] ); + strncpy( newname + j + 1, StrToLower( oldname + 1 ), MAX_LEN - j - 1 ); + j = strlen( newname ); + newname [j] = '\0'; + return ( newname ); +} + +const char * SelectName( const char * oldname ) { + int j = 0; + static char newname [MAX_LEN+1]; + if( !oldname ) { + return ( "" ); + } + + strcpy( newname, TYPE_PREFIX ); + newname [0] = ToUpper( newname [0] ); + j = strlen( TYPE_PREFIX ); + newname [j] = ToUpper( oldname [0] ); + strncpy( newname + j + 1, StrToLower( oldname + 1 ), MAX_LEN - j - 1 ); + j = strlen( newname ); + newname [j] = '\0'; + return ( newname ); +} + +/** \return fundamental type but as the string which corresponds to the appropriate type descriptor + * if report_reftypes is true, report REFERENCE_TYPE when appropriate + */ +const char * FundamentalType( const Type t, int report_reftypes ) { + if( report_reftypes && TYPEget_head( t ) ) { + return( "REFERENCE_TYPE" ); + } + switch( TYPEget_body( t )->type ) { + case integer_: + return( "sdaiINTEGER" ); + case real_: + return( "sdaiREAL" ); + case string_: + return( "sdaiSTRING" ); + case binary_: + return( "sdaiBINARY" ); + case boolean_: + return( "sdaiBOOLEAN" ); + case logical_: + return( "sdaiLOGICAL" ); + case number_: + return( "sdaiNUMBER" ); + case generic_: + return( "GENERIC_TYPE" ); + case aggregate_: + return( "AGGREGATE_TYPE" ); + case array_: + return( "ARRAY_TYPE" ); + case bag_: + return( "BAG_TYPE" ); + case set_: + return( "SET_TYPE" ); + case list_: + return( "LIST_TYPE" ); + case entity_: + return( "sdaiINSTANCE" ); + case enumeration_: + return( "sdaiENUMERATION" ); + case select_: + return ( "sdaiSELECT" ); + default: + return( "UNKNOWN_TYPE" ); + } +} + +/** this actually gets you the name of the variable that will be generated to be a + * TypeDescriptor or subtype of TypeDescriptor to represent Type t in the dictionary. + */ +const char * TypeDescriptorName( Type t ) { + static char b [BUFSIZ+1]; + Schema parent = t->superscope; + /* NOTE - I corrected a prev bug here in which the *current* schema was + ** passed to this function. Now we take "parent" - the schema in which + ** Type t was defined - which was actually used to create t's name. DAR */ + + if( !parent ) { + parent = TYPEget_body( t )->entity->superscope; + /* This works in certain cases that don't work otherwise (basically a + ** kludge). For some reason types which are really entity choices of + ** a select have no superscope value, but their super may be tracked + ** by following through the entity they reference, as above. */ + } + + sprintf( b, "%s::%s%s", SCHEMAget_name( parent ), TYPEprefix( t ), + TYPEget_name( t ) ); + return b; +} + +/** this gets you the name of the type of TypeDescriptor (or subtype) that a + * variable generated to represent Type t would be an instance of. + */ +const char * GetTypeDescriptorName( Type t ) { + switch( TYPEget_body( t )->type ) { + case aggregate_: + return "AggrTypeDescriptor"; + + case list_: + return "ListTypeDescriptor"; + + case set_: + return "SetTypeDescriptor"; + + case bag_: + return "BagTypeDescriptor"; + + case array_: + return "ArrayTypeDescriptor"; + + case select_: + return "SelectTypeDescriptor"; + + case boolean_: + case logical_: + case enumeration_: + return "EnumTypeDescriptor"; + + case entity_: + return "EntityDescriptor"; + + case integer_: + case real_: + case string_: + case binary_: + case number_: + case generic_: + return "TypeDescriptor"; + default: + fprintf( stderr, "Error at %s:%d - type %d not handled by switch statement.", __FILE__, __LINE__, TYPEget_body( t )->type ); + abort(); + } + /* NOTREACHED */ + return ""; +} + +int ENTITYhas_explicit_attributes( Entity e ) { + Linked_List l = ENTITYget_attributes( e ); + int cnt = 0; + LISTdo( l, a, Variable ) + if( VARget_initializer( a ) == EXPRESSION_NULL ) { + ++cnt; + } + LISTod; + return cnt; + +} + +Entity ENTITYput_superclass( Entity entity ) { +#define ENTITYget_type(e) ((e)->u.entity->type) + + Linked_List l = ENTITYget_supertypes( entity ); + EntityTag tag; + + if( ! LISTempty( l ) ) { + Entity super = 0; + + if( multiple_inheritance ) { + Linked_List list = 0; + list = ENTITYget_supertypes( entity ); + if( ! LISTempty( list ) ) { + /* assign superclass to be the first one on the list of parents */ + super = ( Entity )LISTpeek_first( list ); + } + } else { + Entity ignore = 0; + int super_cnt = 0; + /* find the first parent that has attributes (in the parent or any of its + ancestors). Make super point at that parent and print warnings for + all the rest of the parents. DAS */ + LISTdo( l, e, Entity ) + /* if there's no super class yet, + or if the entity super class [the variable] super is pointing at + doesn't have any attributes: make super point at the current parent. + As soon as the parent pointed to by super has attributes, stop + assigning super and print ignore messages for the remaining parents. + */ + if( ( ! super ) || ( ! ENTITYhas_explicit_attributes( super ) ) ) { + ignore = super; + super = e; + ++ super_cnt; + } else { + ignore = e; + } + if( ignore ) { + fprintf( stderr, "WARNING: multiple inheritance not implemented. In ENTITY %s, SUPERTYPE %s ignored.\n", ENTITYget_name( entity ), ENTITYget_name( e ) ); + } + LISTod; + } + + tag = ( EntityTag ) malloc( sizeof( struct EntityTag_ ) ); + tag -> superclass = super; + TYPEput_clientData( ENTITYget_type( entity ), ( ClientData ) tag ); + return super; + } + return 0; +} + +Entity ENTITYget_superclass( Entity entity ) { + EntityTag tag; + tag = ( EntityTag ) TYPEget_clientData( ENTITYget_type( entity ) ); + return ( tag ? tag -> superclass : 0 ); +} + +void ENTITYget_first_attribs( Entity entity, Linked_List result ) { + Linked_List supers; + + LISTdo( ENTITYget_attributes( entity ), attr, void * ) + LISTadd_last( result, attr ); + LISTod; + supers = ENTITYget_supertypes( entity ); + if( supers ) { + ENTITYget_first_attribs( ( Entity )LISTget_first( supers ), result ); + } +} + +/** Attributes are divided into four categories: +** these are not exclusive as far as I can tell! I added defs below DAS +** +** . simple explicit +** +** . type shifters // not DERIVEd - redefines type in ancestor +** // VARget_initializer(v) returns null +** +** . simple derived // DERIVEd - is calculated - VARget_initializer(v) +** // returns non-zero, VARis_derived(v) is non-zero +** +** . overriding // includes type shifters and derived +** +** All of them are added to the dictionary. +** Only type shifters generate a new STEPattribute. +** Type shifters generate access functions and data members, for now. +** Overriding generate access functions and data members, for now. ???? DAS +** +** type shifting attributes +** ------------------------ +** before printing new STEPattribute +** check to see if it's already printed in supertype +** still add new access function +** +** overriding attributes +** --------------------- +** go through derived attributes +** if STEPattribute found with same name +** tell it to be * for reading and writing +**/ +Variable VARis_type_shifter( Variable a ) { + char * temp; + if( VARis_derived( a ) || VARget_inverse( a ) ) { + return 0; + } + temp = EXPRto_string( VARget_name( a ) ); + if( ! strncmp( StrToLower( temp ), "self\\", 5 ) ) { + /* a is a type shifter */ + free( temp ); + return a; + } + free( temp ); + return 0; +} + +Variable VARis_overrider( Entity e, Variable a ) { + Variable other; + char * tmp; + tmp = VARget_simple_name( a ); + LISTdo( ENTITYget_supertypes( e ), s, Entity ) + if( ( other = ENTITYget_named_attribute( s, tmp ) ) + && other != a ) { + return other; + } + LISTod; + return 0; +} + +/** For a renamed type, returns the original (ancestor) type + * from which t descends. Return NULL if t is top level. + */ +Type TYPEget_ancestor( Type t ) { + Type i = t; + + if( !TYPEget_head( i ) ) { + return NULL; + } + + while( TYPEget_head( i ) ) { + i = TYPEget_head( i ); + } + + return i; +} diff --git a/src/exp2cxx/classes_type.c b/src/exp2cxx/classes_type.c new file mode 100644 index 000000000..bce1d34fb --- /dev/null +++ b/src/exp2cxx/classes_type.c @@ -0,0 +1,1410 @@ +/** ***************************************************************** +** \file classes_type.c +** FedEx parser output module for generating C++ class definitions +** +** Development of FedEx was funded by the United States Government, +** and is not subject to copyright. + +******************************************************************* +The conventions used in this binding follow the proposed specification +for the STEP Standard Data Access Interface as defined in document +N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. +*******************************************************************/ + +/* this is used to add new dictionary calls */ +/* #define NEWDICT */ + +#define _XOPEN_SOURCE /* for S_IFDIR */ +#include +#include +#include +#ifdef _WIN32 +# include +#endif /* _WIN32 */ + +#include +#include +#include +#include "classes.h" +#include "class_strings.h" +#include "genCxxFilenames.h" +#include +#include "rules.h" + +#include "./trace_fprintf.h" + +static int type_count; /**< number each temporary type for same reason as \sa attr_count */ + +extern char * non_unique_types_string( const Type type ); + +static void printEnumCreateHdr( FILE *, const Type ); +static void printEnumCreateBody( FILE *, const Type ); +static void printEnumAggrCrHdr( FILE *, const Type ); +static void printEnumAggrCrBody( FILE *, const Type ); + +int TYPEget_RefTypeVarNm( const Type t, char * buf, Schema schema ); + +int isMultiDimAggregateType( const Type t ); + +void Type_Description( const Type, char * ); +void TypeBody_Description( TypeBody body, char * buf ); + +/* cross-platform mkdir */ +static int sc_mkdir( const char * path ) { + #ifdef _WIN32 + return mkdir( path ); + #else + return mkdir( path, 0777 ); + #endif /* _WIN32 */ +} + +/* return -1 if error, 0 if created, 1 if dir existed already */ +static int mkDirIfNone( const char * path ) { + struct stat s; + if( stat( path, &s ) != 0 ) { + if( errno == ENOENT ) { + return sc_mkdir( path ); + } + } else if( s.st_mode & S_IFDIR ) { + return 1; + } + /* either stat returned an error other than ENOENT, or 'path' exists but isn't a dir */ + return -1; +} + +#ifdef _WIN32 +/* for windows, rewrite backslashes in paths + * that will be written to generated code + */ +static const char * path2str_fn( const char * fileMacro ) { + static char * result = 0; + static size_t rlen = 0; + char * p; + if( rlen < strlen( fileMacro ) ) { + if( result ) { + free( result ); + } + rlen = strlen( fileMacro ); + result = ( char * )malloc( rlen * sizeof( char ) + 1 ); + } + strcpy( result, fileMacro ); + p = result; + while( *p ) { + if( *p == '\\' ) { + *p = '/'; + } + p++; + } + return result; +} +# define path2str(path) path2str_fn(path) +#else +# define path2str(path) path +#endif + +/** write representation of expression to end of buf + * + * TODO: add buflen arg and check for overflow + */ +void strcat_expr( Expression e, char * buf ) { + if( e == LITERAL_INFINITY ) { + strcat( buf, "?" ); + } else if( e == LITERAL_PI ) { + strcat( buf, "PI" ); + } else if( e == LITERAL_E ) { + strcat( buf, "E" ); + } else if( e == LITERAL_ZERO ) { + strcat( buf, "0" ); + } else if( e == LITERAL_ONE ) { + strcat( buf, "1" ); + } else if( TYPEget_name( e ) ) { + strcat( buf, TYPEget_name( e ) ); + } else if( TYPEget_body( e->type )->type == integer_ ) { + char tmpbuf[30]; + sprintf( tmpbuf, "%d", e->u.integer ); + strcat( buf, tmpbuf ); + } else { + strcat( buf, "??" ); + } +} + +/** print t's bounds to end of buf + * + * TODO: add buflen arg and check for overflow + */ +void strcat_bounds( TypeBody b, char * buf ) { + if( !b->upper ) { + return; + } + + strcat( buf, " [" ); + strcat_expr( b->lower, buf ); + strcat( buf, ":" ); + strcat_expr( b->upper, buf ); + strcat( buf, "]" ); +} + +/****************************************************************** + ** Procedure: TYPEprint_enum + ** Parameters: const Type type - type to print + ** FILE* f - file on which to print + ** Returns: + ** Requires: TYPEget_class(type) == TYPE_ENUM + ** Description: prints code to represent an enumerated type in c++ + ** Side Effects: prints to header file + ** Status: ok 1/15/91 + ** Changes: Modified to check for appropriate key words as described + ** in "SDAI C++ Binding for PDES, Inc. Prototyping" by + ** Stephen Clark. + ** - Changed to match CD2 Part 23, 1/14/97 DAS + ** Change Date: 5/22/91 CD + ******************************************************************/ +const char * EnumCElementName( Type type, Expression expr ) { + static char buf [BUFSIZ+1]; + sprintf( buf, "%s__", + EnumName( TYPEget_name( type ) ) ); + strncat( buf, StrToLower( EXPget_name( expr ) ), BUFSIZ ); + return buf; +} + +char * CheckEnumSymbol( char * s ) { + static char b [BUFSIZ+1]; + if( strcmp( s, "sdaiTRUE" ) + && strcmp( s, "sdaiFALSE" ) + && strcmp( s, "sdaiUNKNOWN" ) ) { + /* if the symbol is not a reserved one */ + return ( s ); + + } else { + strcpy( b, s ); + strcat( b, "_" ); + fprintf( stderr, "Warning in %s: the enumerated value %s is already being used and has been changed to %s\n", __func__, s, b ); + return ( b ); + } +} + +/** + * return printable version of entire type definition + * return it in static buffer + */ +char * TypeDescription( const Type t ) { + static char buf[6000]; + + buf[0] = '\0'; + + if( TYPEget_head( t ) ) { + Type_Description( TYPEget_head( t ), buf ); + } else { + TypeBody_Description( TYPEget_body( t ), buf ); + } + + /* should also print out where clause here */ + + return buf + 1; +} + +/**************************************************************//** + ** Procedure: TYPEenum_inc_print + ** Description: Writes enum type descriptors and classes. + ** Change Date: + ********************************************************************/ +void TYPEenum_inc_print( const Type type, FILE * inc ) { + Expression expr; + + char tdnm[BUFSIZ+1], + enumAggrNm[BUFSIZ+1]; + const char * n; /* pointer to class name */ + int cnt = 0; + + /* print c++ enumerated values for class */ + fprintf( inc, "enum %s {\n", EnumName( TYPEget_name( type ) ) ); + + LISTdo_links( TYPEget_body( type )->list, link ) + /* print the elements of the c++ enum type */ + expr = ( Expression )link->data; + if( cnt != 0 ) { + fprintf( inc, ",\n" ); + } + ++cnt; + fprintf( inc, " %s", EnumCElementName( type, expr ) ); + + LISTod + + fprintf( inc, ",\n %s_unset\n};\n", EnumName( TYPEget_name( type ) ) ); + + /* print class for enumeration */ + n = TYPEget_ctype( type ); + fprintf( inc, "\nclass SC_SCHEMA_EXPORT %s : public SDAI_Enum {\n", n ); + + fprintf( inc, " protected:\n EnumTypeDescriptor *type;\n\n" ); + + /* constructors */ + strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); + tdnm[BUFSIZ - 1] = '\0'; + fprintf( inc, " public:\n %s (const char * n =0, EnumTypeDescriptor *et =%s);\n", n, tdnm ); + fprintf( inc, " %s (%s e, EnumTypeDescriptor *et =%s)\n" + " : type(et) { set_value (e); }\n", + n, EnumName( TYPEget_name( type ) ), tdnm ); + fprintf( inc, " %s (const %s &e) { set_value(e); }\n", n, TYPEget_ctype( type ) ); + + /* destructor */ + fprintf( inc, " ~%s () { }\n", n ); + + /* operator = */ + fprintf( inc, " %s& operator= (const %s& e)\n", + n, TYPEget_ctype( type ) ); + fprintf( inc, " { set_value (e); return *this; }\n" ); + + /* operator to cast to an enumerated type */ + fprintf( inc, " operator %s () const;\n", + EnumName( TYPEget_name( type ) ) ); + + /* others */ + fprintf( inc, "\n inline virtual const char * Name () const\n" ); + fprintf( inc, " { return type->Name(); }\n" ); + fprintf( inc, " inline virtual int no_elements () const" + " { return %d; }\n", cnt ); + fprintf( inc, " virtual const char * element_at (int n) const;\n" ); + + /* end class definition */ + fprintf( inc, "};\n" ); + + fprintf( inc, "\ntypedef %s * %s_ptr;\n", n, n ); + fprintf( inc, "\ntypedef const %s * %s_ptr_c;\n", n, n ); + + + /* Print ObjectStore Access Hook function */ + printEnumCreateHdr( inc, type ); + + /* DAS brandnew above */ + + /* print things for aggregate class */ + sprintf( enumAggrNm, "%s_agg", n ); + + fprintf( inc, "\nclass %s_agg : public EnumAggregate {\n", n ); + + fprintf( inc, " protected:\n EnumTypeDescriptor *enum_type;\n\n" ); + fprintf( inc, " public:\n" ); + fprintf( inc, " %s_agg( EnumTypeDescriptor * =%s);\n", n, tdnm ); + fprintf( inc, " virtual ~%s_agg();\n", n ); + fprintf( inc, " virtual SingleLinkNode * NewNode()\n" ); + fprintf( inc, " { return new EnumNode (new %s( \"\", enum_type )); }" + "\n", n ); + + fprintf( inc, "};\n" ); + + fprintf( inc, "\ntypedef %s_agg * %s_agg_ptr;\n", n, n ); + fprintf( inc, "\ntypedef const %s_agg * %s_agg_ptr_c;\n", n, n ); + + /* DAS brandnew below */ + + /* DAS creation function for enum aggregate class */ + printEnumAggrCrHdr( inc, type ); + + /* DAS brandnew above */ +} + +void TYPEenum_lib_print( const Type type, FILE * f ) { + DictionaryEntry de; + Expression expr; + const char * n; /* pointer to class name */ + char c_enum_ele [BUFSIZ+1]; + + n = TYPEget_ctype( type ); + + /* set up the dictionary info */ + + fprintf( f, "const char *\n%s::element_at (int n) const {\n", n ); + fprintf( f, " switch (n) {\n" ); + DICTdo_type_init( ENUM_TYPEget_items( type ), &de, OBJ_ENUM ); + while( 0 != ( expr = ( Expression )DICTdo( &de ) ) ) { + strncpy( c_enum_ele, EnumCElementName( type, expr ), BUFSIZ ); + c_enum_ele[BUFSIZ-1] = '\0'; + fprintf( f, " case %s: return \"%s\";\n", + c_enum_ele, + StrToUpper( EXPget_name( expr ) ) ); + } + fprintf( f, " case %s_unset :\n", EnumName( TYPEget_name( type ) ) ); + fprintf( f, " default : return \"UNSET\";\n }\n}\n" ); + + /* constructors */ + /* construct with character string */ + fprintf( f, "\n%s::%s (const char * n, EnumTypeDescriptor *et)\n" + " : type(et)\n{\n", n, n ); + fprintf( f, " set_value (n);\n}\n" ); + + /* cast operator to an enumerated type */ + fprintf( f, "\n%s::operator %s () const {\n", n, + EnumName( TYPEget_name( type ) ) ); + fprintf( f, " switch (v) {\n" ); + DICTdo_type_init( ENUM_TYPEget_items( type ), &de, OBJ_ENUM ); + while( 0 != ( expr = ( Expression )DICTdo( &de ) ) ) { + strncpy( c_enum_ele, EnumCElementName( type, expr ), BUFSIZ ); + fprintf( f, " case %s : ", c_enum_ele ); + fprintf( f, "return %s;\n", c_enum_ele ); + } + /* print the last case with the default so sun c++ doesn't complain */ + fprintf( f, " case %s_unset :\n", EnumName( TYPEget_name( type ) ) ); + fprintf( f, " default : return %s_unset;\n }\n}\n", EnumName( TYPEget_name( type ) ) ); + + printEnumCreateBody( f, type ); + + /* print the enum aggregate functions */ + + fprintf( f, "\n%s_agg::%s_agg( EnumTypeDescriptor *et )\n", n, n ); + fprintf( f, " : enum_type(et)\n{\n}\n\n" ); + fprintf( f, "%s_agg::~%s_agg()\n{\n}\n", n, n ); + + printEnumAggrCrBody( f, type ); +} + +void TYPEPrint_h( const Type type, FILE * file ) { + DEBUG( "Entering TYPEPrint_h for %s\n", TYPEget_ctype( type ) ); + + if ( TYPEis_enumeration( type ) ) { + TYPEenum_inc_print( type, file ); + } else if ( TYPEis_select( type ) ) { + TYPEselect_inc_print( type, file ); + } + + fprintf( file, "void init_%s(Registry& reg);\n\n", TYPEget_ctype( type ) ); + + DEBUG( "DONE TYPEPrint_h\n" ); +} + +void TYPEPrint_cc( const Type type, const filenames_t * names, FILE * hdr, FILE * impl, Schema schema ) { + DEBUG( "Entering TYPEPrint_cc for %s\n", names->impl ); + + fprintf( impl, "#include \"schema.h\"\n" ); + fprintf( impl, "#include \"%s\"\n\n", names->header ); + + if ( TYPEis_enumeration( type ) ) { + TYPEenum_lib_print( type, impl ); + } else if ( TYPEis_select( type ) ) { + TYPEselect_lib_print( type, impl ); + } + + fprintf( impl, "\nvoid init_%s( Registry& reg ) {\n", TYPEget_ctype( type ) ); + fprintf( impl, " std::string str;\n" ); + /* moved from SCOPEPrint in classes_wrapper */ + TYPEprint_new( type, impl, schema, true ); + TYPEprint_init( type, hdr, impl, schema ); + fprintf( impl, "}\n\n" ); + + DEBUG( "DONE TYPEPrint_cc\n" ); +} + +void TYPEPrint( const Type type, FILES *files, Schema schema ) { + FILE * hdr, * impl; + filenames_t names = getTypeFilenames( type ); + + fprintf( files->inc, "#include \"%s\"\n", names.header ); + + fprintf( files->init, " init_%s( reg );\n", TYPEget_ctype( type ) ); + + if( mkDirIfNone( "type" ) == -1 ) { + fprintf( stderr, "At %s:%d - mkdir() failed with error ", __FILE__, __LINE__); + perror( 0 ); + abort(); + } + hdr = FILEcreate( names.header ); + impl = FILEcreate( names.impl ); + assert( hdr && impl && "error creating files" ); + fprintf( files->unity.type.hdr, "#include \"%s\"\n", names.header ); + fprintf( files->unity.type.impl, "#include \"%s\"\n", names.impl ); + + TYPEPrint_h( type, hdr ); + TYPEPrint_cc( type, &names, hdr, impl, schema ); + + FILEclose( hdr ); + FILEclose( impl ); +} + +/** + * Prints a bunch of lines for enumeration creation functions (i.e., "cre- + * ate_SdaiEnum1()"). Since this is done both for an enum and for "copies" + * of it (when "TYPE enum2 = enum1"), I placed this code in a separate fn. + * + * NOTE - "Print ObjectStore Access Hook function" comment seen at one of + * the calls seems to imply it's ObjectStore specific... + */ +static void printEnumCreateHdr( FILE * inc, const Type type ) { + const char * nm = TYPEget_ctype( type ); + + fprintf( inc, " SDAI_Enum * create_%s();\n", nm ); +} + +/** See header comment above by printEnumCreateHdr. */ +static void printEnumCreateBody( FILE * lib, const Type type ) { + const char * nm = TYPEget_ctype( type ); + char tdnm[BUFSIZ+1]; + tdnm[BUFSIZ-1] = '\0'; + + strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); + tdnm[BUFSIZ-1] = '\0'; + + fprintf( lib, "\nSDAI_Enum *\ncreate_%s ()\n{\n", nm ); + fprintf( lib, " return new %s( \"\", %s );\n}\n\n", nm, tdnm ); +} + +/** Similar to printEnumCreateHdr above for the enum aggregate. */ +static void printEnumAggrCrHdr( FILE * inc, const Type type ) { + const char * n = TYPEget_ctype( type ); + /* const char *n = ClassName( TYPEget_name(type) ));*/ + fprintf( inc, " STEPaggregate * create_%s_agg ();\n", n ); +} + +static void printEnumAggrCrBody( FILE * lib, const Type type ) { + const char * n = TYPEget_ctype( type ); + char tdnm[BUFSIZ+1]; + + strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); + tdnm[BUFSIZ-1] = '\0'; + + fprintf( lib, "\nSTEPaggregate *\ncreate_%s_agg ()\n{\n", n ); + fprintf( lib, " return new %s_agg( %s );\n}\n", n, tdnm ); +} + +/** ************************************************************************ + ** Procedure: TYPEprint_typedefs + ** Parameters: const Type type + ** Returns: + ** Description: + ** Prints in Sdaiclasses.h typedefs, forward declarations, and externs + ** for user-defined types. Only a fraction of the typedefs and decla- + ** rations are needed in Sdaiclasses.h. Enum's and selects must actu- + ** ally be defined before objects (such as entities) which use it can + ** be defined. So forward declarations will not serve any purpose. + ** Other redefined types and aggregate types may be declared here. + ** Side Effects: + ** Status: 16-Mar-1993 kcm; updated 04-Feb-1997 dar + ** Dec 2011 - MAP - remove goto + **************************************************************************/ +void TYPEprint_typedefs( Type t, FILE * classes ) { + char nm [BUFSIZ+1]; + Type i; + bool aggrNot1d = true; /* added so I can get rid of a goto */ + + /* Print the typedef statement (poss also a forward class def: */ + if( TYPEis_enumeration( t ) ) { + /* For enums and sels (else clause below), we need forward decl's so + that if we later come across a type which is an aggregate of one of + them, we'll be able to process it. For selects, we also need a decl + of the class itself, while for enum's we don't. Objects which con- + tain an enum can't be generated until the enum is generated. (The + same is basically true for the select, but a sel containing an ent + containing a sel needs the forward decl (trust me ;-) ). + */ + if( !TYPEget_head( t ) ) { + /* Only print this enum if it is an actual type and not a redefi- + nition of another enum. (Those are printed at the end of the + classes file - after all the actual enum's. They must be + printed last since they depend on the others.) + */ + strncpy( nm, TYPEget_ctype( t ), BUFSIZ ); + nm[BUFSIZ-1] = '\0'; + fprintf( classes, "class %s_agg;\n", nm ); + } + } else if( TYPEis_select( t ) ) { + if( !TYPEget_head( t ) ) { + /* Same comment as above. */ + strncpy( nm, SelectName( TYPEget_name( t ) ), BUFSIZ ); + nm[BUFSIZ-1] = '\0'; + fprintf( classes, "class %s;\n", nm ); + fprintf( classes, "typedef %s * %s_ptr;\n", nm, nm ); + fprintf( classes, "typedef const %s * %s_ptr_c;\n", nm, nm ); + fprintf( classes, "class %s_agg;\n", nm ); + fprintf( classes, "typedef %s_agg * %s_agg_ptr;\n", nm, nm ); + fprintf( classes, "typedef const %s_agg * %s_agg_ptr_c;\n", nm, nm ); + } + } else { + if( TYPEis_aggregate( t ) ) { + i = TYPEget_base_type( t ); + if( TYPEis_enumeration( i ) || TYPEis_select( i ) ) { + /* One exceptional case - a 1d aggregate of an enum or select. + We must wait till the enum/sel itself has been processed. + To ensure this, we process all such 1d aggrs in a special + loop at the end (in multpass.c). 2d aggrs (or higher), how- + ever, can be processed now - they only require GenericAggr + for their definition here. + */ + aggrNot1d = false; + } + } + if( aggrNot1d ) { + /* At this point, we'll print typedefs for types which are redefined + fundamental types and their aggregates, and for 2D aggregates(aggre- + gates of aggregates) of enum's and selects. + */ + strncpy( nm, ClassName( TYPEget_name( t ) ), BUFSIZ ); + nm[BUFSIZ-1] = '\0'; + fprintf( classes, "typedef %s %s;\n", TYPEget_ctype( t ), nm ); + if( TYPEis_aggregate( t ) ) { + fprintf( classes, "typedef %s * %sH;\n", nm, nm ); + fprintf( classes, "typedef %s * %s_ptr;\n", nm, nm ); + fprintf( classes, "typedef const %s * %s_ptr_c;\n", nm, nm ); + fprintf( classes, "typedef %s_ptr %s_var;\n", nm, nm ); + } + } + } + + /* Print the extern statement: */ + strncpy( nm, TYPEtd_name( t ), BUFSIZ ); + fprintf( classes, "extern SC_SCHEMA_EXPORT %s *%s;\n", GetTypeDescriptorName( t ), nm ); +} + +/** ** + print stuff for types that are declared in Express TYPE statements... i.e. + extern descriptor declaration in .h file - MOVED BY DAR to TYPEprint_type- + defs - in order to print all the Sdaiclasses.h stuff in exp2cxx's + first pass through each schema. + descriptor definition in the .cc file + initialize it in the .init.cc file (DAR - all initialization done in fn + TYPEprint_init() (below) which is done in exp2cxx's 1st pass only.) +*****/ +void TYPEprint_descriptions( const Type type, FILES * files, Schema schema ) { + char tdnm [BUFSIZ+1], + typename_buf [MAX_LEN+1], + base [BUFSIZ+1], + nm [BUFSIZ+1]; + Type i; + + strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); + tdnm[BUFSIZ-1] = '\0'; + + /* define type descriptor pointer */ + /* in source - declare the real definition of the pointer */ + /* i.e. in the .cc file */ + fprintf( files -> lib, "%s *%s;\n", GetTypeDescriptorName( type ), tdnm ); + + if( isAggregateType( type ) ) { + const char * ctype = TYPEget_ctype( type ); + + fprintf( files->inc, "STEPaggregate * create_%s ();\n\n", + ClassName( TYPEget_name( type ) ) ); + + fprintf( files->lib, + "STEPaggregate *\ncreate_%s () { return create_%s(); }\n", + ClassName( TYPEget_name( type ) ), ctype ); + + /* this function is assigned to the aggrCreator var in TYPEprint_new */ + } + + if( TYPEis_enumeration( type ) && ( i = TYPEget_ancestor( type ) ) != NULL ) { + /* If we're a renamed enum type, just print a few typedef's to the + * original and some specialized create functions: + */ + strncpy( base, EnumName( TYPEget_name( i ) ), BUFSIZ ); + strncpy( nm, EnumName( TYPEget_name( type ) ), BUFSIZ ); + fprintf( files->inc, "typedef %s %s;\n", base, nm ); + strncpy( base, TYPEget_ctype( i ), BUFSIZ ); + strncpy( nm, TYPEget_ctype( type ), BUFSIZ ); + fprintf( files->inc, "typedef %s %s;\n", base, nm ); + printEnumCreateHdr( files->inc, type ); + printEnumCreateBody( files->lib, type ); + fprintf( files->inc, "typedef %s_agg * %s_agg_ptr;\n", nm, nm ); + fprintf( files->inc, "typedef const %s_agg * %s_agg_ptr_c;\n", nm, nm ); + printEnumAggrCrHdr( files->inc, type ); + printEnumAggrCrBody( files->lib, type ); + return; + } + + if( !TYPEget_RefTypeVarNm( type, typename_buf, schema ) ) { + if( TYPEis_enumeration( type ) ) { + TYPEPrint( type, files, schema ); + } /* so we don't do anything for non-enums??? */ + } else { + TYPEprint_new( type, files->create, schema, false ); + TYPEprint_init( type, files->inc, files->init, schema ); + } +} + +void TYPEprint_init( const Type type, FILE * header, FILE * impl, Schema schema ) { + char tdnm [BUFSIZ+1]; + char typename_buf[MAX_LEN+1]; + + strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); + + if( isAggregateType( type ) ) { + AGGRprint_init( header, impl, type, tdnm, type->symbol.name ); + } + + /* fill in the TD's values in the SchemaInit function (it is already + declared with basic values) */ + + if( TYPEget_RefTypeVarNm( type, typename_buf, schema ) ) { + fprintf( impl, " %s->ReferentType(%s);\n", tdnm, typename_buf ); + } else { + switch( TYPEget_body( type )->type ) { + case aggregate_: /* aggregate_ should not happen? DAS */ + case array_: + case bag_: + case set_: + case list_: { + if( isMultiDimAggregateType( type ) ) { + print_typechain( header, impl, TYPEget_body( type )->base, + typename_buf, schema, type->symbol.name ); + fprintf( impl, " %s->ReferentType(%s);\n", tdnm, + typename_buf ); + } + break; + } + default: + break; + } + } + + /* DAR - moved fn call below from TYPEselect_print to here to put all init + ** info together. */ + if( TYPEis_select( type ) ) { + TYPEselect_init_print( type, impl ); + } +#ifdef NEWDICT + /* DAS New SDAI Dictionary 5/95 */ + /* insert the type into the schema descriptor */ + fprintf( impl, + " ((SDAIAGGRH(Set,DefinedTypeH))%s::schema->Types())->Add((DefinedTypeH)%s);\n", + SCHEMAget_name( schema ), tdnm ); +#endif + /* insert into type dictionary */ + fprintf( impl, " reg.AddType (*%s);\n", tdnm ); +} + +/** print name, fundamental type, and description initialization function calls */ +void TYPEprint_nm_ft_desc( Schema schema, const Type type, FILE * f, char * endChars ) { + fprintf( f, " \"%s\", // Name\n", PrettyTmpName( TYPEget_name( type ) ) ); + fprintf( f, " %s, // FundamentalType\n", FundamentalType( type, 1 ) ); + fprintf( f, " %s::schema, // Originating Schema\n", SCHEMAget_name( schema ) ); + fprintf( f, " \"%s\"%s // Description\n", TypeDescription( type ), endChars ); +} + +/** new space for a variable of type TypeDescriptor (or subtype). This + * function is called for Types that have an Express name. + */ +void TYPEprint_new( const Type type, FILE * create, Schema schema, bool needWR ) { + Type tmpType = TYPEget_head( type ); + Type bodyType = tmpType; + + /* define type definition */ + /* in source - the real definition of the TypeDescriptor */ + + if( TYPEis_select( type ) ) { + char * temp; + temp = non_unique_types_string( type ); + fprintf( create, " %s = new SelectTypeDescriptor (\n ~%s, //unique elements,\n", TYPEtd_name( type ), temp ); + free( temp ); + TYPEprint_nm_ft_desc( schema, type, create, "," ); + fprintf( create, " (SelectCreator) create_%s); // Creator function\n", SelectName( TYPEget_name( type ) ) ); + } else { + switch( TYPEget_body( type )->type ) { + case boolean_: + fprintf( create, " %s = new EnumTypeDescriptor (\n", TYPEtd_name( type ) ); + TYPEprint_nm_ft_desc( schema, type, create, "," ); + fprintf( create, " (EnumCreator) create_BOOLEAN); // Creator function\n" ); + break; + case logical_: + fprintf( create, " %s = new EnumTypeDescriptor (\n", TYPEtd_name( type ) ); + TYPEprint_nm_ft_desc( schema, type, create, "," ); + fprintf( create, " (EnumCreator) create_LOGICAL); // Creator function\n" ); + break; + case enumeration_: + fprintf( create, " %s = new EnumTypeDescriptor (\n", TYPEtd_name( type ) ); + TYPEprint_nm_ft_desc( schema, type, create, "," ); + /* get the type name of the underlying type - it is the type that needs to get created */ + tmpType = TYPEget_head( type ); + if( tmpType ) { + bodyType = tmpType; + while( tmpType ) { + bodyType = tmpType; + tmpType = TYPEget_head( tmpType ); + } + fprintf( create, " (EnumCreator) create_%s); // Creator function\n", TYPEget_ctype( bodyType ) ); + } else { + fprintf( create, " (EnumCreator) create_%s); // Creator function\n", TYPEget_ctype( type ) ); + } + break; + case aggregate_: + case array_: + case bag_: + case set_: + case list_: + fprintf( create, "\n %s = new %s (\n", TYPEtd_name( type ), GetTypeDescriptorName( type ) ); + TYPEprint_nm_ft_desc( schema, type, create, "," ); + fprintf( create, " (AggregateCreator) create_%s); // Creator function\n\n", ClassName( TYPEget_name( type ) ) ); + break; + default: + fprintf( create, " %s = new TypeDescriptor (\n", TYPEtd_name( type ) ); + TYPEprint_nm_ft_desc( schema, type, create, ");" ); + break; + } + } + /* add the type to the Schema dictionary entry */ + fprintf( create, " %s::schema->AddType(%s);\n", SCHEMAget_name( schema ), TYPEtd_name( type ) ); + + WHEREprint( TYPEtd_name( type ), type->where, create, 0, needWR ); +} + +/** Get the TypeDescriptor variable name that t's TypeDescriptor references (if + possible). + pass space in through buf, buff will be filled in with the name of the + TypeDescriptor (TD) that needs to be referenced by the TD that is + generated for Type t. Return 1 if buf has been filled in with the name + of a TD. Return 0 if it hasn't for these reasons: Enumeration TDs don't + reference another TD, select TDs reference several TDs and are handled + separately, Multidimensional aggregates generate unique intermediate TD + variables that are referenced - when these don't have an Express related + name this function can't know about them - e.g. + TYPE listSetAggr = LIST OF SET OF STRING; This function won't fill in the + name that listSetAggr's ListTypeDescriptor will reference. + TYPE arrListSetAggr = ARRAY [1:4] of listSetAggr; This function will + return the name of the TD that arrlistSetAggr's ArrayTypeDescriptor should + reference since it has an Express name associated with it. + * + Nov 2011 - MAP - modified to insert scope operator into variable name. + Reason: use of namespace for global variables +*/ +int TYPEget_RefTypeVarNm( const Type t, char * buf, Schema schema ) { + + /* It looks like TYPEget_head(t) is true when processing a type + that refers to another type. e.g. when processing "name" in: + TYPE name = label; ENDTYPE; TYPE label = STRING; ENDTYPE; DAS */ + if( TYPEget_head( t ) ) { + /* this means that it is defined in an Express TYPE stmt and + it refers to another Express TYPE stmt */ + /* it would be a reference_ type */ + /* a TypeDescriptor of the form t_ */ + sprintf( buf, "%s::%s%s", + SCHEMAget_name( TYPEget_head( t )->superscope ), + TYPEprefix( t ), TYPEget_name( TYPEget_head( t ) ) ); + return 1; + } else { + switch( TYPEget_body( t )->type ) { + case integer_: + case real_: + case boolean_: + case logical_: + case string_: + case binary_: + case number_: + /* one of the SCL builtin TypeDescriptors of the form + t_STRING_TYPE, or t_REAL_TYPE */ + sprintf( buf, "%s%s", TD_PREFIX, FundamentalType( t, 0 ) ); + return 1; + break; + + case enumeration_: /* enums don't have a referent type */ + case select_: /* selects are handled differently elsewhere, they + refer to several TypeDescriptors */ + return 0; + break; + + case entity_: + sprintf( buf, "%s", TYPEtd_name( t ) ); + /* following assumes we are not in a nested entity */ + /* otherwise we should search upward for schema */ + return 1; + break; + + case aggregate_: + case array_: + case bag_: + case set_: + case list_: + /* referent TypeDescriptor will be the one for the element unless it + is a multidimensional aggregate then return 0 */ + + if( isMultiDimAggregateType( t ) ) { + if( TYPEget_name( TYPEget_body( t )->base ) ) { + sprintf( buf, "%s::%s%s", + SCHEMAget_name( TYPEget_body( t )->base->superscope ), + TYPEprefix( t ), TYPEget_name( TYPEget_body( t )->base ) ); + return 1; + } + + /* if the multi aggr doesn't have a name then we are out of scope + of what this function can do */ + return 0; + } else { + /* for a single dimensional aggregate return TypeDescriptor + for element */ + /* being an aggregate implies that base below is not 0 */ + + if( TYPEget_body( TYPEget_body( t )->base )->type == enumeration_ || + TYPEget_body( TYPEget_body( t )->base )->type == select_ ) { + + sprintf( buf, "%s", TYPEtd_name( TYPEget_body( t )->base ) ); + return 1; + } else if( TYPEget_name( TYPEget_body( t )->base ) ) { + if( TYPEget_body( TYPEget_body( t )->base )->type == entity_ ) { + sprintf( buf, "%s", TYPEtd_name( TYPEget_body( t )->base ) ); + return 1; + } + sprintf( buf, "%s::%s%s", + SCHEMAget_name( TYPEget_body( t )->base->superscope ), + TYPEprefix( t ), TYPEget_name( TYPEget_body( t )->base ) ); + return 1; + } + return TYPEget_RefTypeVarNm( TYPEget_body( t )->base, buf, schema ); + } + break; + default: + return 0; + } + } + /* NOTREACHED */ + return 0; +} + +/** go down through a type's base type chain, + make and print new TypeDescriptors for each type with no name. + + This function should only be called for types that don't have an + associated Express name. Currently this only includes aggregates. + If this changes this function needs to be changed to support the type + that changed. This function prints TypeDescriptors for types + without names and it will go down through the type chain until it hits + a type that has a name. i.e. when it hits a type with a name it stops. + There are only two places where a type can not have a name - both + cases are aggregate types. + 1. an aggregate created in an attr declaration + e.g. names : ARRAY [1:3] of STRING; + 2. an aggregate that is an element of another aggregate. + e.g. TYPE Label = STRING; END_TYPE; + TYPE listSetOfLabel = LIST of SET of Label; END_TYPE; + LIST of SET of Label has a name i.e. listSetOfReal + SET of Label does not have a name and this function should be called + to generate one. + This function will not generate the code to handle Label. + + Type t contains the Type with no Express name that needs to have + TypeDecriptor[s] generated for it. + buf needs to have space declared enough to hold the name of the var + that can be referenced to refer to the type that was created for + Type t. +*/ +void print_typechain( FILE * header, FILE * impl, const Type t, char * buf, Schema schema, const char * type_name ) { + /* if we've been called, current type has no name */ + /* nor is it a built-in type */ + /* the type_count variable is there for debugging purposes */ + + const char * ctype = TYPEget_ctype( t ); + int count = type_count++; + char name_buf[MAX_LEN+1]; + int s; + + switch( TYPEget_body( t )->type ) { + case aggregate_: + case array_: + case bag_: + case set_: + case list_: + /* create a new TypeDescriptor variable, e.g. t1, and new space for it */ + fprintf( impl, " %s * %s%d = new %s;\n", + GetTypeDescriptorName( t ), TD_PREFIX, count, + GetTypeDescriptorName( t ) ); + + fprintf( impl, + " %s%d->AssignAggrCreator((AggregateCreator) create_%s);%s", + TD_PREFIX, count, ctype, " // Creator function\n" ); + + s = sprintf( name_buf, "%s%d", TD_PREFIX, count ); + assert( ( s > 0 ) && ( s < MAX_LEN ) ); + AGGRprint_init( header, impl, t, name_buf, type_name ); + + break; + + default: /* this should not happen since only aggregates are allowed to + not have a name. This funct should only be called for aggrs + without names. */ + fprintf( impl, " TypeDescriptor * %s%d = new TypeDescriptor;\n", + TD_PREFIX, count ); + } + + /* there is no name so name doesn't need to be initialized */ + + fprintf( impl, " %s%d->FundamentalType(%s);\n", TD_PREFIX, count, + FundamentalType( t, 1 ) ); + fprintf( impl, " %s%d->Description(\"%s\");\n", TD_PREFIX, count, + TypeDescription( t ) ); + + /* DAS ORIG SCHEMA FIX */ + fprintf( impl, " %s%d->OriginatingSchema(%s::schema);\n", TD_PREFIX, count, SCHEMAget_name( schema ) ); + + if( TYPEget_RefTypeVarNm( t, name_buf, schema ) ) { + fprintf( impl, " %s%d->ReferentType(%s);\n", TD_PREFIX, count, name_buf ); + } else { + Type base = 0; + /* no name, recurse */ + char callee_buffer[MAX_LEN+1]; + if( TYPEget_body( t ) ) { + base = TYPEget_body( t )->base; + } + print_typechain( header, impl, base, callee_buffer, schema, type_name ); + fprintf( impl, " %s%d->ReferentType(%s);\n", TD_PREFIX, count, callee_buffer ); + } + sprintf( buf, "%s%d", TD_PREFIX, count ); + + /* Types */ + fprintf( impl, " %s::schema->AddUnnamedType(%s%d);\n", SCHEMAget_name( schema ), TD_PREFIX, count ); +} + +/** return 1 if it is a multidimensional aggregate at the level passed in + otherwise return 0; If it refers to a type that is a multidimensional + aggregate 0 is still returned. */ +int isMultiDimAggregateType( const Type t ) { + if( TYPEget_body( t )->base ) + if( isAggregateType( TYPEget_body( t )->base ) ) { + return 1; + } + return 0; +} + +void Type_Description( const Type t, char * buf ) { + if( TYPEget_name( t ) ) { + strcat( buf, " " ); + strcat( buf, TYPEget_name( t ) ); + } else { + TypeBody_Description( TYPEget_body( t ), buf ); + } +} + +void TypeBody_Description( TypeBody body, char * buf ) { + char * s; + + switch( body->type ) { + case integer_: + strcat( buf, " INTEGER" ); + break; + case real_: + strcat( buf, " REAL" ); + break; + case string_: + strcat( buf, " STRING" ); + break; + case binary_: + strcat( buf, " BINARY" ); + break; + case boolean_: + strcat( buf, " BOOLEAN" ); + break; + case logical_: + strcat( buf, " LOGICAL" ); + break; + case number_: + strcat( buf, " NUMBER" ); + break; + case entity_: + strcat( buf, " " ); + strcat( buf, PrettyTmpName( TYPEget_name( body->entity ) ) ); + break; + case aggregate_: + case array_: + case bag_: + case set_: + case list_: + switch( body->type ) { + /* ignore the aggregate bounds for now */ + case aggregate_: + strcat( buf, " AGGREGATE OF" ); + break; + case array_: + strcat( buf, " ARRAY" ); + strcat_bounds( body, buf ); + strcat( buf, " OF" ); + if( body->flags.optional ) { + strcat( buf, " OPTIONAL" ); + } + if( body->flags.unique ) { + strcat( buf, " UNIQUE" ); + } + break; + case bag_: + strcat( buf, " BAG" ); + strcat_bounds( body, buf ); + strcat( buf, " OF" ); + break; + case set_: + strcat( buf, " SET" ); + strcat_bounds( body, buf ); + strcat( buf, " OF" ); + break; + case list_: + strcat( buf, " LIST" ); + strcat_bounds( body, buf ); + strcat( buf, " OF" ); + if( body->flags.unique ) { + strcat( buf, " UNIQUE" ); + } + break; + default: + fprintf(stderr, "Error: reached default case at %s:%d", __FILE__, __LINE__ ); + abort(); + } + + Type_Description( body->base, buf ); + break; + case enumeration_: + strcat( buf, " ENUMERATION of (" ); + LISTdo( body->list, e, Expression ) + strcat( buf, ENUMget_name( e ) ); + strcat( buf, ", " ); + LISTod + /* find last comma and replace with ')' */ + s = strrchr( buf, ',' ); + if( s ) { + strcpy( s, ")" ); + } + break; + + case select_: + strcat( buf, " SELECT (" ); + LISTdo( body->list, t, Type ) + strcat( buf, PrettyTmpName( TYPEget_name( t ) ) ); + strcat( buf, ", " ); + LISTod + /* find last comma and replace with ')' */ + s = strrchr( buf, ',' ); + if( s ) { + strcpy( s, ")" ); + } + break; + default: + strcat( buf, " UNKNOWN" ); + } + + if( body->precision ) { + strcat( buf, " (" ); + strcat_expr( body->precision, buf ); + strcat( buf, ")" ); + } + if( body->flags.fixed ) { + strcat( buf, " FIXED" ); + } +} + +const char * IdlEntityTypeName( Type t ) { + static char name [BUFSIZ+1]; + strncpy( name, TYPE_PREFIX, BUFSIZ ); + if( TYPEget_name( t ) ) { + strncpy( name, FirstToUpper( TYPEget_name( t ) ), BUFSIZ ); + } else { + return TYPEget_ctype( t ); + } + return name; +} + +const char * GetAggrElemType( const Type type ) { + Class_Of_Type class; + Type bt; + static char retval [BUFSIZ+1]; + + if( isAggregateType( type ) ) { + bt = TYPEget_nonaggregate_base_type( type ); + if( isAggregateType( bt ) ) { + strcpy( retval, "ERROR_aggr_of_aggr" ); + } + + class = TYPEget_type( bt ); + + /* case TYPE_INTEGER: */ + if( class == integer_ ) { + strcpy( retval, "long" ); + } + + /* case TYPE_REAL: + case TYPE_NUMBER: */ + if( ( class == number_ ) || ( class == real_ ) ) { + strcpy( retval, "double" ); + } + + /* case TYPE_ENTITY: */ + if( class == entity_ ) { + strncpy( retval, IdlEntityTypeName( bt ), BUFSIZ ); + } + + /* case TYPE_ENUM: */ + /* case TYPE_SELECT: */ + if( ( class == enumeration_ ) + || ( class == select_ ) ) { + strncpy( retval, TYPEget_ctype( bt ), BUFSIZ ); + } + + /* case TYPE_LOGICAL: */ + if( class == logical_ ) { + strcpy( retval, "Logical" ); + } + + /* case TYPE_BOOLEAN: */ + if( class == boolean_ ) { + strcpy( retval, "Bool" ); + } + + /* case TYPE_STRING: */ + if( class == string_ ) { + strcpy( retval, "string" ); + } + + /* case TYPE_BINARY: */ + if( class == binary_ ) { + strcpy( retval, "binary" ); + } + } + return retval; +} + +const char * TYPEget_idl_type( const Type t ) { + Class_Of_Type class; + static char retval [BUFSIZ+1]; + + /* aggregates are based on their base type + case TYPE_ARRAY: + case TYPE_BAG: + case TYPE_LIST: + case TYPE_SET: + */ + + if( isAggregateType( t ) ) { + strcpy( retval, GetAggrElemType( t ) ); + + /* case TYPE_ARRAY: */ + if( TYPEget_type( t ) == array_ ) { + strcat( retval, "__array" ); + } + /* case TYPE_LIST: */ + if( TYPEget_type( t ) == list_ ) { + strcat( retval, "__list" ); + } + /* case TYPE_SET: */ + if( TYPEget_type( t ) == set_ ) { + strcat( retval, "__set" ); + } + /* case TYPE_BAG: */ + if( TYPEget_type( t ) == bag_ ) { + strcat( retval, "__bag" ); + } + return retval; + } + + /* the rest is for things that are not aggregates */ + + class = TYPEget_type( t ); + + /* case TYPE_LOGICAL: */ + if( class == logical_ ) { + return ( "Logical" ); + } + + /* case TYPE_BOOLEAN: */ + if( class == boolean_ ) { + return ( "Boolean" ); + } + + /* case TYPE_INTEGER: */ + if( class == integer_ ) { + return ( "SDAI_Integer" ); + } + + /* case TYPE_REAL: + case TYPE_NUMBER: */ + if( ( class == number_ ) || ( class == real_ ) ) { + return ( "SDAI_Real" ); + } + + /* case TYPE_STRING: */ + if( class == string_ ) { + return ( "char *" ); + } + + /* case TYPE_BINARY: */ + if( class == binary_ ) { + return ( AccessType( t ) ); + } + + /* case TYPE_ENTITY: */ + if( class == entity_ ) { + /* better do this because the return type might go away */ + strncpy( retval, IdlEntityTypeName( t ), BUFSIZ - 4 ); + strcat( retval, "_ptr" ); + return retval; + } + /* case TYPE_ENUM: */ + /* case TYPE_SELECT: */ + if( class == enumeration_ ) { + snprintf( retval, BUFSIZ, "%s /*%s*/ ", EnumName(TYPEget_name(t)), IdlEntityTypeName(t) ); + return retval; + } + if( class == select_ ) { + return ( IdlEntityTypeName( t ) ); + } + + /* default returns undefined */ + return ( "SCLundefined" ); +} + +/**************************************************************//** + ** Procedure: TYPEget_express_type (const Type t) + ** Parameters: const Type t -- type for attribute + ** Returns: a string which is the type as it would appear in Express + ** Description: supplies the type for error messages + and to register the entity + - calls itself recursively to create a description of + aggregate types + ** Side Effects: + ** Status: new 1/24/91 + ******************************************************************/ +char * TYPEget_express_type( const Type t ) { + Class_Of_Type class; + Type bt; + char retval [BUFSIZ+1] = {'\0'}; + char * n = NULL, * permval = NULL, * aggr_type = NULL; + + /* 1. "DEFINED" types */ + /* case TYPE_ENUM: */ + /* case TYPE_ENTITY: */ + /* case TYPE_SELECT: */ + + n = TYPEget_name( t ); + if( n ) { + PrettyTmpName( n ); + } + + /* 2. "BASE" types */ + class = TYPEget_type( t ); + + /* case TYPE_LOGICAL: */ + if( ( class == boolean_ ) || ( class == logical_ ) ) { + return ( "Logical" ); + } + + /* case TYPE_INTEGER: */ + if( class == integer_ ) { + return ( "Integer " ); + } + + /* case TYPE_REAL: + case TYPE_NUMBER: */ + if( ( class == number_ ) || ( class == real_ ) ) { + return ( "Real " ); + } + + /* case TYPE_STRING: */ + if( class == string_ ) { + return ( "String " ) ; + } + + /* case TYPE_BINARY: */ + if( class == binary_ ) { + return ( "Binary " ) ; + } + + /* AGGREGATES + case TYPE_ARRAY: + case TYPE_BAG: + case TYPE_LIST: + case TYPE_SET: + */ + if( isAggregateType( t ) ) { + bt = TYPEget_nonaggregate_base_type( t ); + class = TYPEget_type( bt ); + + /* case TYPE_ARRAY: */ + if( TYPEget_type( t ) == array_ ) { + aggr_type = "Array"; + } + /* case TYPE_LIST: */ + if( TYPEget_type( t ) == list_ ) { + aggr_type = "List"; + } + /* case TYPE_SET: */ + if( TYPEget_type( t ) == set_ ) { + aggr_type = "Set"; + } + /* case TYPE_BAG: */ + if( TYPEget_type( t ) == bag_ ) { + aggr_type = "Bag"; + } + + sprintf( retval, "%s of %s", + aggr_type, TYPEget_express_type( bt ) ); + + /* this will declare extra memory when aggregate is > 1D */ + + permval = ( char * )malloc( strlen( retval ) * sizeof( char ) + 1 ); + strcpy( permval, retval ); + return permval; + + } + + /* default returns undefined */ + + fprintf( stderr, "Warning in %s: type %s is undefined\n", __func__, TYPEget_name( t ) ); + return ( "SCLundefined" ); + +} + +/** Initialize an upper or lower bound for an aggregate. \sa AGGRprint_init */ +void AGGRprint_bound( FILE * header, FILE * impl, const char * var_name, const char * aggr_name, const char * cname, Expression bound, int boundNr ) { + if( bound->symbol.resolved ) { + if( bound->type == Type_Funcall ) { + char *bound_str = EXPRto_string(bound); + fprintf( impl, " %s->SetBound%dFromExpressFuncall( \"%s\" );\n", var_name, boundNr, bound_str ); + free(bound_str); + } else { + fprintf( impl, " %s->SetBound%d( %d );\n", var_name, boundNr, bound->u.integer ); + } + } else { /* resolved == 0 seems to mean that this is Type_Runtime */ + assert( cname && ( bound->e.op2 ) && ( bound->e.op2->symbol.name ) ); + fprintf( impl, " %s->SetBound%dFromMemberAccessor( &getBound%d_%s__%s );\n", var_name, boundNr, boundNr, cname, aggr_name ); + fprintf( header, "inline SDAI_Integer getBound%d_%s__%s( SDAI_Application_instance* this_ptr ) {\n", boundNr, cname, aggr_name ); + fprintf( header, " %s * ths = (%s *) this_ptr;\n", cname, cname ); + fprintf( header, " ths->ResetAttributes();\n" ); + fprintf( header, " STEPattribute * a = ths->NextAttribute();\n" ); + fprintf( header, " while( strcmp( a->Name(), \"%s\" ) != 0 ) {\n", bound->e.op2->symbol.name ); + fprintf( header, " a = ths->NextAttribute();\n" ); + fprintf( header, " if( !a ) {\n" ); + fprintf( header, " break;\n" ); + fprintf( header, " }\n" ); + fprintf( header, " }\n" ); + fprintf( header, " assert( a->NonRefType() == INTEGER_TYPE && \"Error in schema or in exp2cxx at %s:%d %s\" );\n", path2str( __FILE__ ), + __LINE__, "(incorrect assumption of integer type?) Please report error to STEPcode: scl-dev at groups.google.com." ); + fprintf( header, " return *( a->Integer() );\n" ); /* always an integer? if not, would need to translate somehow due to return type... */ + fprintf( header, "}\n" ); + } + +} + +/** + * For aggregates, initialize Bound1, Bound2, OptionalElements, UniqueElements. + * Handles bounds that depend on attributes (via SetBound1FromMemberAccessor() ), or + * on function calls (via SetBound1FromExpressFuncall() ). In C++, runtime bounds + * look like `t_0->SetBound2FromMemberAccessor(SdaiStructured_mesh::index_count_);` + * \param header the header to write attr callback members to + * \param impl the file to write to + * \param t the Type + * \param var_name the name of the C++ variable, such as t_1 or schema::t_name + */ +void AGGRprint_init( FILE * header, FILE * impl, const Type t, const char * var_name, const char * aggr_name ) { + if( !header ) { + fprintf( stderr, "ERROR at %s:%d! 'header' is null for aggregate %s.", __FILE__, __LINE__, t->symbol.name ); + abort(); + } + if( !TYPEget_head( t ) ) { + const char * cname = 0; + if( ( t->superscope ) && ( t->superscope->symbol.name ) ) { + cname = ClassName( t->superscope->symbol.name ); + } + + if( TYPEget_body( t )->lower ) { + AGGRprint_bound( header, impl, var_name, aggr_name, cname, TYPEget_body( t )->lower, 1 ); + } + if( TYPEget_body( t )->upper ) { + AGGRprint_bound( header, impl, var_name, aggr_name, cname, TYPEget_body( t )->upper, 2 ); + } + if( TYPEget_body( t )->flags.unique ) { + fprintf( impl, " %s->UniqueElements(LTrue);\n", var_name ); + } + if( TYPEget_body( t )->flags.optional ) { + fprintf( impl, " %s->OptionalElements(LTrue);\n", var_name ); + } + } +} diff --git a/src/exp2cxx/classes_type.h b/src/exp2cxx/classes_type.h new file mode 100644 index 000000000..a15815b07 --- /dev/null +++ b/src/exp2cxx/classes_type.h @@ -0,0 +1,31 @@ +#ifndef CLASSES_TYPE_H +#define CLASSES_TYPE_H + +Type TYPEget_ancestor( Type ); + +const char * TypeName( Type t ); +const char * TypeDescriptorName( Type ); +char * TypeDescription( const Type t ); +const char * AccessType( Type t ); +const char * TYPEget_ctype( const Type t ); + +void TYPEPrint( const Type type, FILES *files, Schema schema ); +void TYPEprint_descriptions( const Type, FILES *, Schema ); +void TYPEprint_definition( Type, FILES *, Schema ); +void TYPEprint_typedefs( Type, FILE * ); +void TYPEprint_new( const Type type, FILE* create, Schema schema, bool needWR ); +void TYPEprint_init( const Type type, FILE * header, FILE * impl, Schema schema ); + +void TYPEenum_inc_print( const Type type, FILE * inc ); +void TYPEenum_lib_print( const Type type, FILE * f ); + +void TYPEselect_print( Type, FILES *, Schema ); +void TYPEselect_init_print( const Type type, FILE* f ); +void TYPEselect_inc_print( const Type type, FILE * f ); +void TYPEselect_lib_print( const Type type, FILE * f ); + +void AGGRprint_init( FILE * header, FILE * impl, const Type t, const char * var_name, const char * aggr_name ); + +void print_typechain( FILE * header, FILE * impl, const Type t, char * buf, Schema schema, const char * type_name ); + +#endif diff --git a/src/fedex_plus/classes_wrapper.cc b/src/exp2cxx/classes_wrapper.cc similarity index 62% rename from src/fedex_plus/classes_wrapper.cc rename to src/exp2cxx/classes_wrapper.cc index b01f3a96e..ef874a790 100644 --- a/src/fedex_plus/classes_wrapper.cc +++ b/src/exp2cxx/classes_wrapper.cc @@ -3,9 +3,9 @@ #include #include "complexSupport.h" -#include +#include "class_strings.h" -#include +#include "./trace_fprintf.h" /******************************************************************* ** FedEx parser output module for generating C++ class definitions @@ -54,35 +54,33 @@ void create_builtin_type_defn( FILES * files, char * name ) { ** In this case the file schema.h is initiated ** Status: ok 1/15/91 ******************************************************************/ -void print_file_header( Express express, FILES * files ) { +void print_file_header( FILES * files ) { /* open file which unifies all schema specific header files of input Express source */ files -> incall = FILEcreate( "schema.h" ); - fprintf( files->incall, "\n// in the fedex_plus source code, this file is generally referred to as files->incall or schemafile\n" ); - - fprintf( files->incall, "\n#ifndef SC_%s_EXPORT\n", "SCHEMA" ); - fprintf( files->incall, "# if defined(SC_%s_DLL_EXPORTS) && defined(SC_%s_DLL_IMPORTS)\n", "SCHEMA", "SCHEMA" ); - fprintf( files->incall, "# error \"SC_%s_DLL_EXPORTS or SC_%s_DLL_IMPORTS can be defined, not both.\"\n", "SCHEMA", "SCHEMA" ); - fprintf( files->incall, "# elif defined(SC_%s_DLL_EXPORTS)\n", "SCHEMA" ); - fprintf( files->incall, "# define SC_%s_EXPORT __declspec(dllexport)\n", "SCHEMA" ); - fprintf( files->incall, "# elif defined(SC_%s_DLL_IMPORTS)\n", "SCHEMA" ); - fprintf( files->incall, "# define SC_%s_EXPORT __declspec(dllimport)\n", "SCHEMA" ); + fprintf( files->incall, "\n// in the exp2cxx source code, this file is generally referred to as files->incall or schemafile\n" ); + + fprintf( files->incall, "\n#if !defined(SC_STATIC) && defined(_WIN32)\n" ); + fprintf( files->incall, "# if defined(SC_SCHEMA_DLL_EXPORTS)\n" ); + fprintf( files->incall, "# define SC_SCHEMA_EXPORT __declspec(dllexport)\n" ); fprintf( files->incall, "# else\n" ); - fprintf( files->incall, "# define SC_%s_EXPORT\n", "SCHEMA" ); + fprintf( files->incall, "# define SC_SCHEMA_EXPORT __declspec(dllimport)\n" ); fprintf( files->incall, "# endif\n" ); + fprintf( files->incall, "#else\n" ); + fprintf( files->incall, "# define SC_SCHEMA_EXPORT\n" ); fprintf( files->incall, "#endif\n\n" ); fprintf( files->incall, "#ifdef SC_LOGGING\n" ); fprintf( files->incall, "#include \n" ); fprintf( files->incall, "#endif\n" ); - fprintf( files->incall, "#include \n\n" ); - fprintf( files->incall, "\n#include \n" ); - fprintf( files->incall, "\n#include \n" ); - fprintf( files->incall, "\n#include \n" ); - fprintf( files->incall, "\n#include \n" ); - fprintf( files->incall, "\n#include \n" ); + fprintf( files->incall, "#include \"clstepcore/sdai.h\"\n\n" ); + fprintf( files->incall, "\n#include \"clstepcore/Registry.h\"\n" ); + fprintf( files->incall, "\n#include \"clstepcore/STEPaggregate.h\"\n" ); + fprintf( files->incall, "\n#include \"clstepcore/STEPundefined.h\"\n" ); + fprintf( files->incall, "\n#include \"clstepcore/ExpDict.h\"\n" ); + fprintf( files->incall, "\n#include \"clstepcore/STEPattribute.h\"\n" ); fprintf( files->incall, "\n#include \n" ); @@ -90,9 +88,8 @@ void print_file_header( Express express, FILES * files ) { fprintf( files->incall, "extern SC_%s_EXPORT void InitSchemasAndEnts (Registry &);\n", "SCHEMA" ); files -> initall = FILEcreate( "schema.cc" ); - fprintf( files->initall, "\n// in the fedex_plus source code, this file is generally referred to as files->initall or schemainit\n" ); + fprintf( files->initall, "\n// in the exp2cxx source code, this file is generally referred to as files->initall or schemainit\n" ); fprintf( files->initall, "#include \"schema.h\"\n" ); - fprintf( files->initall, "#include \"sc_memmgr.h\"\n" ); fprintf( files->initall, "class Registry;\n" ); fprintf( files->initall, "\nvoid SchemaInit (Registry & reg) {\n" ); @@ -104,16 +101,15 @@ void print_file_header( Express express, FILES * files ) { // entities in the express file. (They must all be in separate function // called first by SchemaInit() so that all entities will exist files -> create = FILEcreate( "SdaiAll.cc" ); - fprintf( files->create, "\n// in the fedex_plus source code, this file is generally referred to as files->create or createall\n" ); + fprintf( files->create, "\n// in the exp2cxx source code, this file is generally referred to as files->create or createall\n" ); fprintf( files->create, "#include \"schema.h\"\n" ); - fprintf( files->create, "#include \"sc_memmgr.h\"\n" ); fprintf( files->create, "\nvoid InitSchemasAndEnts (Registry & reg) {\n" ); // This file declares all entity classes as incomplete types. This will // allow all the .h files to reference all .h's. We can then have e.g., // entX from schemaA have attribute attr1 = entY from schemaB. files -> classes = FILEcreate( "Sdaiclasses.h" ); - fprintf( files->classes, "\n// in the fedex_plus source code, this file is generally referred to as files->classes\n" ); + fprintf( files->classes, "\n// in the exp2cxx source code, this file is generally referred to as files->classes\n" ); fprintf( files->classes, "#include \"schema.h\"\n" ); } @@ -125,7 +121,7 @@ void print_file_header( Express express, FILES * files ) { ** Description: handles cleaning up things at end of processing ** Status: ok 1/15/91 ******************************************************************/ -void print_file_trailer( Express express, FILES * files ) { +void print_file_trailer( FILES * files ) { FILEclose( files->incall ); FILEclose( files->initall ); fprintf( files->create, "}\n\n" ); @@ -136,6 +132,19 @@ void print_file_trailer( Express express, FILES * files ) { FILEclose( files->names ); } +/* set attribute index to simplify attrdescriptor name calculation + * and reduce/eliminate use of global attr_count + */ +void numberAttributes( Scope scope ) { + int count = 0; + Linked_List list = SCOPEget_entities_superclass_order( scope ); + LISTdo( list, e, Entity ) { + LISTdo_n( ENTITYget_attributes( e ), v, Variable, b ) { + v->idx = count++; + } LISTod + } LISTod +} + /****************************************************************** ** SCHEMA SECTION **/ @@ -151,12 +160,11 @@ void print_file_trailer( Express express, FILES * files ) { ** and what the relationship is between this organization and the ** organization of the schemas in the input Express ******************************************************************/ -void SCOPEPrint( Scope scope, FILES * files, Schema schema, Express model, - ComplexCollect * col, int cnt ) { +void SCOPEPrint( Scope scope, FILES * files, Schema schema, ComplexCollect * col, int cnt ) { Linked_List list = SCOPEget_entities_superclass_order( scope ); DictionaryEntry de; Type i; - int redefs = 0, index = 0; + int redefs = 0; if( cnt <= 1 ) { /* This will be the case if this is the first time we are generating a @@ -173,38 +181,20 @@ void SCOPEPrint( Scope scope, FILES * files, Schema schema, Express model, classes.h (files->classes)). */ fprintf( files->create, "\n // ***** Initialize the Types\n" ); fprintf( files->classes, "\n// Types:\n" ); - SCOPEdo_types( scope, t, de ) - TYPEprint_new( t, files->create, schema ); - TYPEprint_typedefs( t, files->classes ); - - //print in namespace. Some logic copied from TypeDescriptorName() - fprintf( files->names, " extern %s * %s%s;\n", GetTypeDescriptorName( t ), TYPEprefix( t ), TYPEget_name( t ) ); - - SCOPEod; - - /* do \'new\'s for entity descriptors */ - fprintf( files->create, "\n // ***** Initialize the Entities\n" ); - fprintf( files->classes, "\n// Entities:" ); - LISTdo( list, e, Entity ); - /* Print in include file: class forward prototype, class typedefs, - and extern EntityDescriptor. (ENTITYprint_new() combines the - functionality of TYPEprint_new() & print_typedefs() above.) */ - ENTITYprint_new( e, files, schema, - col->externMapping( ENTITYget_name( e ) ) ); - LISTod; - fprintf( files->create, "\n" ); - - // Write the SdaixxxInit() fn (in .init.cc file): - // Do the types: SCOPEdo_types( scope, t, de ) { - TYPEprint_init( t, files, schema ); - } - SCOPEod; - // (The entities are done as a part of ENTITYPrint() below.) + //TYPEprint_new moved to TYPEPrint_cc and TYPEprint_descriptions in classes_type.c + TYPEprint_typedefs( t, files->classes ); + //print in namespace. Some logic copied from TypeDescriptorName() + fprintf( files->names, " extern SC_SCHEMA_EXPORT %s * %s%s;\n", GetTypeDescriptorName( t ), TYPEprefix( t ), TYPEget_name( t ) ); + } SCOPEod + + fprintf( files->classes, "\n// Entity class typedefs:" ); + LISTdo( list, e, Entity ) { + ENTITYprint_classes( e, files->classes ); + } LISTod } - /* fill in the values for the type descriptors */ - /* and print the enumerations */ + /* fill in the values for the type descriptors and print the enumerations */ fprintf( files -> inc, "\n/* ************** TYPES */\n" ); fprintf( files -> lib, "\n/* ************** TYPES */\n" ); /* The following was `SCOPEdo_types( scope, t, de ) ... SCOPEod;` @@ -228,18 +218,18 @@ void SCOPEPrint( Scope scope, FILES * files, Schema schema, Express model, } } - SCOPEdo_types( scope, t, de ) - /* NOTE the following comment seems to contradict the logic below it (... && !( TYPEis_enumeration( t ) && ...) - // Do the non-redefined enumerations:*/ - if( ( t->search_id == CANPROCESS ) - && !( TYPEis_enumeration( t ) && TYPEget_head( t ) ) ) { - TYPEprint_descriptions( t, files, schema ); - if( !TYPEis_select( t ) ) { - // Selects have a lot more processing and are done below. - t->search_id = PROCESSED; + SCOPEdo_types( scope, t, de ) { + /* NOTE the following comment seems to contradict the logic below it (... && !( TYPEis_enumeration( t ) && ...) + // Do the non-redefined enumerations:*/ + if( ( t->search_id == CANPROCESS ) + && !( TYPEis_enumeration( t ) && TYPEget_head( t ) ) ) { + TYPEprint_descriptions( t, files, schema ); + if( !TYPEis_select( t ) ) { + // Selects have a lot more processing and are done below. + t->search_id = PROCESSED; + } } - } - SCOPEod; + } SCOPEod if( redefs ) { // Here we process redefined enumerations. See note, 2 loops ago. @@ -247,13 +237,11 @@ void SCOPEPrint( Scope scope, FILES * files, Schema schema, Express model, /* The following was `SCOPEdo_types( scope, t, de ) ... SCOPEod;` * Modified Jan 2012 by MAP - moving enums to own dictionary */ HASHlistinit_by_type( scope->enum_table, &de, OBJ_TYPE ); - { - Type t; - while( 0 != ( t = ( Type ) DICTdo( &de ) ) ) { - if( t->search_id == CANPROCESS && TYPEis_enumeration( t ) ) { - TYPEprint_descriptions( t, files, schema ); - t->search_id = PROCESSED; - } + Type t; + while( 0 != ( t = ( Type ) DICTdo( &de ) ) ) { + if( t->search_id == CANPROCESS && TYPEis_enumeration( t ) ) { + TYPEprint_descriptions( t, files, schema ); + t->search_id = PROCESSED; } } } @@ -263,87 +251,121 @@ void SCOPEPrint( Scope scope, FILES * files, Schema schema, Express model, // Note - say we have sel B, rename of sel A (as above by enum's). Here // we don't have to worry about printing B before A. This is checked in // TYPEselect_print(). - SCOPEdo_types( scope, t, de ) - if( t->search_id == CANPROCESS ) { - // Only selects haven't been processed yet and may still be set to - // CANPROCESS. - if( TYPEis_select( t ) ) { - TYPEselect_print( t, files, schema ); - } - if( TYPEis_enumeration( t ) ) { - TYPEprint_descriptions( t, files, schema ); - } + SCOPEdo_types( scope, t, de ) { + if( t->search_id == CANPROCESS ) { + // Only selects haven't been processed yet and may still be set to + // CANPROCESS. + if( TYPEis_select( t ) ) { + TYPEselect_print( t, files, schema ); + } + if( TYPEis_enumeration( t ) ) { + TYPEprint_descriptions( t, files, schema ); + } - t->search_id = PROCESSED; - } - SCOPEod; + t->search_id = PROCESSED; + } + } SCOPEod fprintf( files -> inc, "\n/* ************** ENTITIES */\n" ); fprintf( files -> lib, "\n/* ************** ENTITIES */\n" ); fprintf( files->inc, "\n// ***** Print Entity Classes \n" ); - LISTdo( list, e, Entity ); - if( e->search_id == CANPROCESS ) { - ENTITYPrint( e, files, schema ); - e->search_id = PROCESSED; - } - LISTod; + LISTdo( list, e, Entity ) { + if( e->search_id == CANPROCESS ) { + ENTITYPrint( e, files, schema, col->externMapping( ENTITYget_name( e ) ) ); + e->search_id = PROCESSED; + } + } LISTod if( cnt <= 1 ) { + int index = 0; + // Do the model stuff: fprintf( files->inc, "\n// ***** generate Model related pieces\n" ); - fprintf( files->inc, - "\nclass SdaiModel_contents_%s : public SDAI_Model_contents {\n", - SCHEMAget_name( schema ) ); + fprintf( files->inc, "\nclass SdaiModel_contents_%s : public SDAI_Model_contents {\n", SCHEMAget_name( schema ) ); fprintf( files -> inc, "\n public:\n" ); - fprintf( files -> inc, " SdaiModel_contents_%s();\n", - SCHEMAget_name( schema ) ); - LISTdo( list, e, Entity ); - MODELprint_new( e, files, schema ); - LISTod; - - fprintf( files->inc, "\n};\n" ); - - fprintf( files->inc, "\n\ntypedef SdaiModel_contents_%s * SdaiModel_contents_%s_ptr;\n", SCHEMAget_name( schema ), SCHEMAget_name( schema ) ); - fprintf( files->inc, "typedef SdaiModel_contents_%s_ptr SdaiModel_contents_%s_var;\n", SCHEMAget_name( schema ), SCHEMAget_name( schema ) ); - - fprintf( files -> inc, - "SDAI_Model_contents_ptr create_SdaiModel_contents_%s();\n", - SCHEMAget_name( schema ) ); - fprintf( files -> lib, - "\nSDAI_Model_contents_ptr create_SdaiModel_contents_%s()\n", - SCHEMAget_name( schema ) ); - fprintf( files -> lib, "{ return new SdaiModel_contents_%s ; }\n", - SCHEMAget_name( schema ) ); - - fprintf( files -> lib, "\nSdaiModel_contents_%s::SdaiModel_contents_%s()\n", - SCHEMAget_name( schema ), SCHEMAget_name( schema ) ); - fprintf( files -> lib, - "{\n SDAI_Entity_extent_ptr eep = (SDAI_Entity_extent_ptr)0;\n\n" ); - LISTdo( list, e, Entity ); - MODELPrintConstructorBody( e, files, schema ); - LISTod; + fprintf( files -> inc, " SdaiModel_contents_%s();\n", SCHEMAget_name( schema ) ); + LISTdo( list, e, Entity ) { + MODELprint_new( e, files ); + } LISTod + + fprintf( files->inc, "\n};\n\n" ); + + fprintf( files->inc, "typedef SdaiModel_contents_%s * SdaiModel_contents_%s_ptr;\n", SCHEMAget_name( schema ), SCHEMAget_name( schema ) ); + fprintf( files->inc, "typedef const SdaiModel_contents_%s * SdaiModel_contents_%s_ptr_c;\n", SCHEMAget_name( schema ), SCHEMAget_name( schema ) ); + fprintf( files->inc, "typedef SdaiModel_contents_%s_ptr SdaiModel_contents_%s_var;\n", SCHEMAget_name( schema ), SCHEMAget_name( schema ) ); + fprintf( files->inc, "SDAI_Model_contents_ptr create_SdaiModel_contents_%s();\n", SCHEMAget_name( schema ) ); + + fprintf( files->lib, "\nSDAI_Model_contents_ptr create_SdaiModel_contents_%s() {\n", SCHEMAget_name( schema ) ); + fprintf( files->lib, " return new SdaiModel_contents_%s;\n}\n", SCHEMAget_name( schema ) ); + + fprintf( files->lib, "\nSdaiModel_contents_%s::SdaiModel_contents_%s() {\n", SCHEMAget_name( schema ), SCHEMAget_name( schema ) ); + fprintf( files->lib, " SDAI_Entity_extent_ptr eep = (SDAI_Entity_extent_ptr)0;\n\n" ); + LISTdo( list, e, Entity ) { + MODELPrintConstructorBody( e, files, schema ); + } LISTod fprintf( files -> lib, "}\n" ); index = 0; - LISTdo( list, e, Entity ); - MODELPrint( e, files, schema, index ); - index++; - LISTod; + LISTdo( list, e, Entity ) { + MODELPrint( e, files, schema, index ); + index++; + } LISTod } LISTfree( list ); +} -#if following_should_be_done_in_caller - list = SCOPEget_schemata( scope ); - fprintf( files -> inc, "\n/* ************** SCOPE */\n" ); - fprintf( files -> lib, "\n/* ************** SCOPE */\n" ); +/** open/init unity files which allow faster compilation with fewer translation units */ +void initUnityFiles( const char * schName, FILES * files ) { + const char * unity = "\n/** this file is for unity builds, which allow faster compilation\n" + " * with fewer translation units. not compatible with all compilers!\n */\n\n" + "#include \"schema.h\"\n"; + std::string name = schName; + name.append( "_unity_" ); + size_t prefixLen = name.length(); - LISTdo( list, s, Schema ) - sprintf( nm, "%s::schema", SCHEMAget_name( s ) ); - fprintf( files->inc, "// include definitions for %s \n", nm ); - fprintf( files->inc, "#include <%s.h> \n", nm ); - LISTod; -#endif + name.append( "entities.cc" ); + files->unity.entity.impl = FILEcreate( name.c_str() ); + + name.resize( name.length() - 2 ); + name.append( "h" ); + fprintf( files->unity.entity.impl, "%s#include \"%s\"\n", unity, name.c_str() ); + + files->unity.entity.hdr = FILEcreate( name.c_str() ); + fprintf( files->unity.entity.hdr, "%s\n", unity ); + + name.resize( prefixLen ); + name.append( "types.cc" ); + files->unity.type.impl = FILEcreate( name.c_str() ); + + name.resize( name.length() - 2 ); + name.append( "h" ); + fprintf( files->unity.type.impl, "%s#include \"%s\"\n", unity, name.c_str() ); + + files->unity.type.hdr = FILEcreate( name.c_str() ); + fprintf( files->unity.type.hdr, "%s\n", unity ); +} + +/** close unity files + * \sa initUnityFiles() + */ +void closeUnityFiles( FILES * files ) { + FILEclose( files->unity.type.hdr ); + FILEclose( files->unity.type.impl ); + FILEclose( files->unity.entity.hdr ); + FILEclose( files->unity.entity.impl ); +} + +///write tail of initfile, close it +void INITFileFinish( FILE * initfile, Schema schema ) { + fprintf( initfile, "\n /* loop through any entities with inverse attrs, calling InitIAttrs */\n"); + fprintf( initfile, " EntityDescItr edi( *%s::schema->EntsWInverse() );\n", SCHEMAget_name( schema ) ); + fprintf( initfile, " EntityDescriptor * ed;\n"); + fprintf( initfile, " const char * nm = %s::schema->Name();\n", SCHEMAget_name( schema ) ); + fprintf( initfile, " while( 0 != ( ed = edi.NextEntityDesc_nc() ) ) {\n"); + fprintf( initfile, " ed->InitIAttrs( reg, nm );\n"); + fprintf( initfile, " }\n}\n" ); + FILEclose( initfile ); } /** **************************************************************** @@ -359,16 +381,16 @@ void SCOPEPrint( Scope scope, FILES * files, Schema schema, Express model, ** Side Effects: ** Status: ******************************************************************/ -void SCHEMAprint( Schema schema, FILES * files, Express model, void * complexCol, - int suffix ) { - char schnm[MAX_LEN], sufnm[MAX_LEN], fnm[MAX_LEN], *np; +void SCHEMAprint( Schema schema, FILES * files, void * complexCol, int suffix ) { + int ocnt = 0; + char schnm[MAX_LEN+1], sufnm[MAX_LEN+1], fnm[MAX_LEN+1], *np; /* sufnm = schema name + suffix */ FILE * libfile, * incfile, * schemafile = files->incall, - * schemainit = files->initall, - * initfile, - * createall = files->create; + * schemainit = files->initall, + * initfile, + * createall = files->create; Rule r; Function f; Procedure p; @@ -376,31 +398,40 @@ void SCHEMAprint( Schema schema, FILES * files, Express model, void * complexCol /********** create files based on name of schema ***********/ /* return if failure */ /* 1. header file */ - sprintf( schnm, "%s%s", SCHEMA_FILE_PREFIX, - StrToUpper( SCHEMAget_name( schema ) ) ); //TODO change file names to CamelCase? + sprintf( schnm, "%s%s", SCHEMA_FILE_PREFIX, StrToUpper( SCHEMAget_name( schema ) ) ); //TODO change file names to CamelCase? if( suffix == 0 ) { - sprintf( sufnm, "%s", schnm ); + ocnt = snprintf( sufnm, MAX_LEN, "%s", schnm ); + if( ocnt > MAX_LEN ) { + std::cerr << "Warning - " << __FILE__ << " line " << __LINE__ << " - sufnm not large enough to hold schnm\n"; + } } else { - sprintf( sufnm, "%s_%d", schnm, suffix ); + ocnt = snprintf( sufnm, MAX_LEN, "%s_%d", schnm, suffix ); + if( ocnt > MAX_LEN ) { + std::cerr << "Warning - " << __FILE__ << " line " << __LINE__ << " - sufnm not large enough to hold string\n"; + } + } + ocnt = snprintf( fnm, MAX_LEN, "%s.h", sufnm ); + if( ocnt > MAX_LEN ) { + std::cerr << "Warning - " << __FILE__ << " line " << __LINE__ << " - sufnm not large enough to hold string\n"; } - sprintf( fnm, "%s.h", sufnm ); if( !( incfile = ( files -> inc ) = FILEcreate( fnm ) ) ) { return; } - fprintf( files->inc, "\n// in the fedex_plus source code, this file is generally referred to as files->inc or incfile\n" ); + fprintf( files->inc, "\n// in the exp2cxx source code, this file is generally referred to as files->inc or incfile\n" ); fprintf( incfile, "#include \"schema.h\"\n" ); - fprintf( incfile, "#include \"sc_memmgr.h\"\n" ); np = fnm + strlen( fnm ) - 1; /* point to end of constant part of string */ + /* 1.9 open/init unity files which allow faster compilation with fewer translation units */ + initUnityFiles( sufnm, files ); /* 2. class source file */ sprintf( np, "cc" ); if( !( libfile = ( files -> lib ) = FILEcreate( fnm ) ) ) { return; } - fprintf( files->lib, "\n// in the fedex_plus source code, this file is generally referred to as files->lib or libfile\n" ); + fprintf( files->lib, "\n// in the exp2cxx source code, this file is generally referred to as files->lib or libfile\n" ); //TODO: Looks like this switches between 'schema.h' and a non-generic name. What is that name, //and how do we fully enable this feature (i.e. how to write the file with different name)? @@ -410,7 +441,6 @@ void SCHEMAprint( Schema schema, FILES * files, Express model, void * complexCol #else fprintf( libfile, "#include \"schema.h\"\n" ); #endif - fprintf( libfile, "#include \"sc_memmgr.h\"\n" ); fprintf( libfile, "\n#ifdef SC_LOGGING \n" @@ -422,12 +452,16 @@ void SCHEMAprint( Schema schema, FILES * files, Express model, void * complexCol fprintf( libfile, "\n#include \"%s.h\"\n", schnm ); // 3. header for namespace to contain all formerly-global variables - sprintf( fnm, "%sNames.h", schnm ); + ocnt = snprintf( fnm, MAX_LEN, "%sNames.h", schnm ); + if( ocnt > MAX_LEN ) { + std::cerr << "Warning - " << __FILE__ << " line " << __LINE__ << " - fnm not large enough to hold schnm\n"; + } + if( !( files->names = FILEcreate( fnm ) ) ) { return; } fprintf( libfile, "#include \"%sNames.h\"\n", schnm ); - fprintf( files->names, "\n// In the fedex_plus source code, this file is referred to as files->names.\n// This line printed at %s:%d (one of two possible locations).\n\n", __FILE__, __LINE__ ); + fprintf( files->names, "\n// In the exp2cxx source code, this file is referred to as files->names.\n// This line printed at %s:%d (one of two possible locations).\n\n", __FILE__, __LINE__ ); fprintf( files->names, "//this file contains a namespace for all formerly-global variables\n\n" ); fprintf( files->names, "namespace %s {\n\n", SCHEMAget_name( schema ) ); fprintf( files->names, " extern Schema * schema;\n\n" ); @@ -437,13 +471,17 @@ void SCHEMAprint( Schema schema, FILES * files, Express model, void * complexCol if( suffix <= 1 ) { /* I.e., if this is our first pass with schema */ - sprintf( fnm, "%s.init.cc", schnm ); + ocnt = snprintf( fnm, MAX_LEN, "%s.init.cc", schnm ); + if( ocnt > MAX_LEN ) { + std::cerr << "Warning - " << __FILE__ << " line " << __LINE__ << " - fnm not large enough to hold string\n"; + } + /* Note - We use schnm (without the "_x" suffix sufnm has) since we ** only generate a single init.cc file. */ if( !( initfile = ( files -> init ) = FILEcreate( fnm ) ) ) { return; } - fprintf( files->init, "\n// in the fedex_plus source code, this file is generally referred to as files->init or initfile\n" ); + fprintf( files->init, "\n// in the exp2cxx source code, this file is generally referred to as files->init or initfile\n" ); #ifdef SCHEMA_HANDLING if( suffix == 0 ) { fprintf( initfile, "#include <%s.h>\n", schnm ); @@ -456,15 +494,12 @@ void SCHEMAprint( Schema schema, FILES * files, Express model, void * complexCol "#include \"schema.h\"\n" "#endif\n" ); #endif - fprintf( initfile, "#include \n#include \n" ); - fprintf( initfile, "#include \n" ); - fprintf( files->init, "\n#include \"%sHelpers.h\"\n", schnm ); + fprintf( initfile, "#include \"clstepcore/Registry.h\"\n#include \n" ); - fprintf( initfile, "\nvoid %sInit (Registry& reg) {\n std::string str;\n", schnm ); + fprintf( initfile, "\nvoid %sInit (Registry& reg) {\n", schnm ); fprintf( createall, "// Schema: %s\n", schnm ); - fprintf( createall, " %s::schema = new Schema(\"%s\");\n", - SCHEMAget_name( schema ), PrettyTmpName( SCHEMAget_name( schema ) ) ); + fprintf( createall, " %s::schema = new Schema(\"%s\");\n", SCHEMAget_name( schema ), PrettyTmpName( SCHEMAget_name( schema ) ) ); /* Add the SdaiModel_contents_ class constructor to the schema descriptor create function for it */ @@ -478,8 +513,7 @@ void SCHEMAprint( Schema schema, FILES * files, Express model, void * complexCol while( 0 != ( r = ( Rule )DICTdo( &de ) ) ) { fprintf( createall, " str.clear();\n" ); format_for_std_stringout( createall, RULEto_string( r ) ); - fprintf( createall, "gr = new Global_rule(\"%s\",%s::schema, str );\n", - r->symbol.name, SCHEMAget_name( schema ) ); + fprintf( createall, "gr = new Global_rule(\"%s\",%s::schema, str );\n", r->symbol.name, SCHEMAget_name( schema ) ); fprintf( createall, "%s::schema->AddGlobal_rule(gr);\n", SCHEMAget_name( schema ) ); } /**************/ @@ -503,18 +537,13 @@ void SCHEMAprint( Schema schema, FILES * files, Express model, void * complexCol fprintf( files->classes, "\n#include \"%sNames.h\"\n", schnm ); } else { /* Just reopen the .init.cc (in append mode): */ - sprintf( fnm, "%s.init.cc", schnm ); - initfile = files->init = fopen( fnm, "a" ); - } + ocnt = snprintf( fnm, MAX_LEN, "%s.init.cc", schnm ); + if( ocnt > MAX_LEN ) { + std::cerr << "Warning - " << __FILE__ << " line " << __LINE__ << " - sufnm not large enough to hold string\n"; + } - // 5. header containing inline helper functions (for runtime aggregate bounds, possibly other uses) - sprintf( fnm, "%sHelpers.h", schnm ); - if( !( files->helpers = FILEcreate( fnm ) ) ) { - return; + initfile = files->init = fopen( fnm, "a" ); } - fprintf( files->helpers, "\n// In the fedex_plus source code, this file is referred to as files->helpers.\n// This line printed at %s:%d (one of two possible locations).\n\n", __FILE__, __LINE__ ); - fprintf( files->helpers, "//this file contains inline helper functions (for runtime aggregate bounds, possibly other uses)\n\n" ); - /********** record in files relating to entire input ***********/ @@ -530,20 +559,18 @@ void SCHEMAprint( Schema schema, FILES * files, Express model, void * complexCol /********** do the schemas ***********/ /* really, create calls for entity constructors */ - SCOPEPrint( schema, files, schema, model, ( ComplexCollect * )complexCol, - suffix ); + SCOPEPrint( schema, files, schema, ( ComplexCollect * )complexCol, suffix ); /********** close the files ***********/ + closeUnityFiles( files ); FILEclose( libfile ); FILEclose( incfile ); if( schema->search_id == PROCESSED ) { - fprintf( initfile, "\n}\n" ); - FILEclose( initfile ); + INITFileFinish( initfile, schema ); } else { fclose( initfile ); } - FILEclose( files->helpers ); } /** **************************************************************** @@ -563,31 +590,21 @@ void getMCPrint( Express express, FILE * schema_h, FILE * schema_cc ) { DictionaryEntry de; Schema schema; - fprintf( schema_h, - "\nSDAI_Model_contents_ptr GetModelContents(char *schemaName);\n" ); + fprintf( schema_h, "\nSDAI_Model_contents_ptr GetModelContents(char *schemaName);\n" ); fprintf( schema_cc, "/* Generated at %s:%d. */\n\n", __FILE__, __LINE__ ); fprintf( schema_cc, "%s%s%s%s", "// Generate a function to be called by Model to help it\n", "// create the necessary Model_contents without the\n", "// dictionary (Registry) handle since it doesn't have a\n", "// predetermined way to access to the handle.\n" ); - fprintf( schema_cc, - "\nSDAI_Model_contents_ptr GetModelContents(char *schemaName) {\n" ); + fprintf( schema_cc, "\nSDAI_Model_contents_ptr GetModelContents(char *schemaName) {\n" ); DICTdo_type_init( express->symbol_table, &de, OBJ_SCHEMA ); schema = ( Scope )DICTdo( &de ); - fprintf( schema_cc, - " if(!strcmp(schemaName, \"%s\"))\n", - SCHEMAget_name( schema ) ); - fprintf( schema_cc, - " return (SDAI_Model_contents_ptr) new SdaiModel_contents_%s; \n", - SCHEMAget_name( schema ) ); + fprintf( schema_cc, " if(!strcmp(schemaName, \"%s\"))\n", SCHEMAget_name( schema ) ); + fprintf( schema_cc, " return (SDAI_Model_contents_ptr) new SdaiModel_contents_%s; \n", SCHEMAget_name( schema ) ); while( ( schema = ( Scope )DICTdo( &de ) ) != 0 ) { - fprintf( schema_cc, - " else if(!strcmp(schemaName, \"%s\"))\n", - SCHEMAget_name( schema ) ); - fprintf( schema_cc, - " return (SDAI_Model_contents_ptr) new SdaiModel_contents_%s; \n", - SCHEMAget_name( schema ) ); + fprintf( schema_cc, " else if(!strcmp(schemaName, \"%s\"))\n", SCHEMAget_name( schema ) ); + fprintf( schema_cc, " return (SDAI_Model_contents_ptr) new SdaiModel_contents_%s; \n", SCHEMAget_name( schema ) ); } fprintf( schema_cc, " else return (SDAI_Model_contents_ptr) 0;\n}\n" ); } @@ -604,9 +621,8 @@ void getMCPrint( Express express, FILE * schema_h, FILE * schema_cc ) { ** Side Effects: generates code ** Status: 24-Feb-1992 new -kcm ******************************************************************/ -void -EXPRESSPrint( Express express, ComplexCollect & col, FILES * files ) { - char fnm [MAX_LEN], *np; +void EXPRESSPrint( Express express, ComplexCollect & col, FILES * files ) { + char fnm [MAX_LEN+1], *np; const char * schnm; /* schnm is really "express name" */ FILE * libfile; FILE * incfile; @@ -625,18 +641,19 @@ EXPRESSPrint( Express express, ComplexCollect & col, FILES * files ) { if( !( incfile = ( files -> inc ) = FILEcreate( fnm ) ) ) { return; } - fprintf( files->inc, "\n// in the fedex_plus source code, this file is generally referred to as files->inc or incfile\n" ); + fprintf( files->inc, "\n// in the exp2cxx source code, this file is generally referred to as files->inc or incfile\n" ); - fprintf( incfile, "#include \n" ); + fprintf( incfile, "#include \"core/sdai.h\" \n" ); np = fnm + strlen( fnm ) - 1; /* point to end of constant part of string */ - + /* 1.9 init unity files (large translation units, faster compilation) */ + initUnityFiles( schnm, files ); /* 2. class source file */ sprintf( np, "cc" ); if( !( libfile = ( files -> lib ) = FILEcreate( fnm ) ) ) { return; } - fprintf( files->lib, "\n// in the fedex_plus source code, this file is generally referred to as files->lib or libfile\n" ); + fprintf( files->lib, "\n// in the exp2cxx source code, this file is generally referred to as files->lib or libfile\n" ); fprintf( libfile, "#include \"%s.h\" n", schnm ); @@ -646,7 +663,7 @@ EXPRESSPrint( Express express, ComplexCollect & col, FILES * files ) { return; } fprintf( libfile, "#include \"%sNames.h\"\n", schnm ); - fprintf( files->names, "\n// In the fedex_plus source code, this file is referred to as files->names.\n// This line printed at %s:%d (one of two possible locations).\n\n", __FILE__, __LINE__ ); + fprintf( files->names, "\n// In the exp2cxx source code, this file is referred to as files->names.\n// This line printed at %s:%d (one of two possible locations).\n\n", __FILE__, __LINE__ ); fprintf( files->names, "//this file contains a namespace for all formerly-global variables\n\n" ); //the next line in this file depends on the schema name, so printing continues in the while loop ~25 lines below @@ -657,21 +674,11 @@ EXPRESSPrint( Express express, ComplexCollect & col, FILES * files ) { if( !( initfile = ( files -> init ) = FILEcreate( fnm ) ) ) { return; } - fprintf( files->init, "\n// in the fedex_plus source code, this file is generally referred to as files->init or initfile\n" ); + fprintf( files->init, "\n// in the exp2cxx source code, this file is generally referred to as files->init or initfile\n" ); fprintf( initfile, "#include \"%s.h\"\n\n", schnm ); - fprintf( files->init, "\n#include \"%sHelpers.h\"\n", schnm ); fprintf( initfile, "void \n%sInit (Registry& reg)\n{\n", schnm ); - // 5. header containing inline helper functions (for runtime aggregate bounds, possibly other uses) - sprintf( fnm, "%sHelpers.h", schnm ); - if( !( files->helpers = FILEcreate( fnm ) ) ) { - return; - } - fprintf( files->helpers, "\n// In the fedex_plus source code, this file is referred to as files->helpers.\n// This line printed at %s:%d (one of two possible locations).\n\n", __FILE__, __LINE__ ); - fprintf( files->helpers, "//this file contains inline helper functions (for runtime aggregate bounds, possibly other uses)\n\n" ); - - /********** record in files relating to entire input ***********/ /* add to schema's include and initialization file */ @@ -682,6 +689,11 @@ EXPRESSPrint( Express express, ComplexCollect & col, FILES * files ) { fprintf( schemainit, " %sInit (reg);\n", schnm ); /********** do all schemas ***********/ + DICTdo_type_init( express->symbol_table, &de, OBJ_SCHEMA ); + while( ( schema = ( Scope )DICTdo( &de ) ) != 0 ) { + numberAttributes( schema ); + } + DICTdo_init( express->symbol_table, &de ); bool first = true; while( 0 != ( schema = ( Scope )DICTdo( &de ) ) ) { @@ -692,16 +704,14 @@ EXPRESSPrint( Express express, ComplexCollect & col, FILES * files ) { fprintf( files->names, "namespace %s {\n\n", SCHEMAget_name( schema ) ); fprintf( files->names, " extern Schema * schema;\n\n" ); - SCOPEPrint( schema, files, schema, express, &col, 0 ); + SCOPEPrint( schema, files, schema, &col, 0 ); } - /********** close the files ***********/ + closeUnityFiles( files ); FILEclose( libfile ); FILEclose( incfile ); - fprintf( initfile, "\n}\n" ); - FILEclose( initfile ); - + INITFileFinish( initfile, schema ); } /** @@ -722,17 +732,16 @@ void print_file( Express express ) { extern void RESOLUTIONsucceed( void ); int separate_schemas = 1; ComplexCollect col( express ); - File_holder files; resolution_success(); - print_file_header( express, &files ); + print_file_header( &files ); if( separate_schemas ) { - print_schemas_separate( express, ( void * )&col, &files ); + print_schemas_separate( express, &col, &files ); } else { print_schemas_combined( express, col, &files ); } - print_file_trailer( express, &files ); + print_file_trailer( &files ); print_complex( col, "compstructs.cc" ); } diff --git a/src/fedex_plus/collect.cc b/src/exp2cxx/collect.cc similarity index 97% rename from src/fedex_plus/collect.cc rename to src/exp2cxx/collect.cc index 2d3c352f3..a50b808be 100644 --- a/src/fedex_plus/collect.cc +++ b/src/exp2cxx/collect.cc @@ -1,7 +1,7 @@ /***************************************************************************** * collect.cc * * * - * Description: ComplexCollect is the container structure for all ofthe com- * + * Description: ComplexCollect is the container structure for all of the com-* * plex entity information in a schema. It contains a list of * * ComplexList structures each of which corresponds to one set * * of subtype/supertype information about the schema. This file * @@ -12,7 +12,6 @@ *****************************************************************************/ #include "complexSupport.h" -#include void ComplexCollect::insert( ComplexList * c ) /* @@ -89,8 +88,8 @@ ComplexList * ComplexCollect::find( char * name ) int ComplexCollect::supports( EntNode * ents ) /* * Determines if the parent schema supports the instantiation of a complex - * type consisting of the the entities named in ents. Does so by attempt- - * ing to match ents against the ComplexLists in clists. If one of the + * type consisting of the entities named in ents. Does so by attempting + * to match ents against the ComplexLists in clists. If one of the * nodes of ents has multSupers set to TRUE (it has >1 supertype), it * should be included in >1 CList. A more complicated algorithm is applied * to match it, as described in the commenting. diff --git a/src/exp2cxx/complexSupport.h b/src/exp2cxx/complexSupport.h new file mode 100644 index 000000000..f285c506d --- /dev/null +++ b/src/exp2cxx/complexSupport.h @@ -0,0 +1,432 @@ +#ifndef COMPLEXSUP_H +#define COMPLEXSUP_H + +#include +#include +using namespace std; + +extern "C" +{ +#include +#include "classes.h" +#include "../express/express.h" +#include "../exppp/exppp.h" +#include "../express/dict.h" +} + +#define FALSE 0 +#define TRUE 1 +#define DONT_KNOW -1 +#define LISTEND 999 +// LISTEND signifies that an OrList has gone beyond its last viable choice +// among its children. + +enum MarkType { + NOMARK, ORMARK, MARK +}; +// MARK is the usual value we'd mark with. If we mark with ORMARK, it means +// an OrList marked this node, so we'll know it may become unmarked later if +// we try another choice. + +enum MatchType { + UNKNOWN, UNSATISFIED, SATISFIED, MATCHSOME, MATCHALL, NEWCHOICE, NOMORE +}; +// These are the conditions the EntList::match() functions may return. They +// are also the assigned values to EntList::viable. +// +// UNKNOWN - The default EntList::viable value - before any matching +// has been attempted. +// UNSATISFIED - EntList had conditions that EntNode did not satisfy (e.g., +// EntList specified A AND B while EntNode only contained an +// A). +// SATISFIED - EntList had no conditions EntNode did not meet. But, +// EntList did not match (mark) any nodes of EntNode which +// were not already matched. +// MATCHSOME - EntList matched some of the nodes in EntNode. +// MATCHALL - EntList matched all the nodes in EntNode (complex entity +// can be instantiated). +// MORECHOICES - Special case - when trying alternate OR paths, this return +// value signifies that we have found another choice. +// NOMORE - Special case - when trying alternate OR paths, this return +// value signifies that no more alternates within this path. + +enum JoinType { + SIMPLE, AND, OR, ANDOR +}; + +class SimpleList; +class MultList; +class JoinList; +class AndOrList; +class AndList; +class OrList; +class ComplexList; +class ComplexCollect; + +class EntNode { + friend class SimpleList; + friend class AndOrList; + friend class AndList; + friend class OrList; + friend class ComplexList; + + public: + EntNode( const char * nm = "" ) : next( 0 ), mark( NOMARK ), + multSupers( 0 ) { + strncpy( name, nm, BUFSIZ ); + } + EntNode( char *[] ); // given a list, create a linked list of EntNodes + ~EntNode() { + if( next ) { + delete next; + } + } + operator const char * () { + return name; + } + int operator== ( EntNode & ent ) { + return ( strcmp( name, ent.name ) == 0 ); + } + int operator< ( EntNode & ent ) { + return ( strcmp( name, ent.name ) < 0 ); + } + int operator> ( EntNode & ent ) { + return ( strcmp( name, ent.name ) > 0 ); + } + void setmark( MarkType stamp = MARK ) { + mark = stamp; + } + void markAll( MarkType = MARK ); + void unmarkAll() { + markAll( NOMARK ); + } + int marked( MarkType base = ORMARK ) { + return ( mark >= base ); + } + int allMarked(); // returns TRUE if all nodes in list are marked + int unmarkedCount(); + int multSuprs() { + return multSupers; + } + void multSuprs( int j ) { + multSupers = j; + } + + EntNode * next; + + private: + MarkType mark; + char name[BUFSIZ+1]; + int multSupers; // do I correspond to an entity with >1 supertype? +}; + +class EntList { + friend class MultList; + friend class JoinList; + friend class OrList; + friend class ComplexList; + friend class ComplexCollect; + friend ostream & operator<< ( ostream &, EntList & ); + friend ostream & operator<< ( ostream &, MultList & ); + + public: + EntList( JoinType j ) : join( j ), prev( 0 ), next( 0 ), viable( UNKNOWN ), + level( 0 ) {} + virtual ~EntList() {} + MatchType viableVal() { + return viable; + } + virtual void setLevel( int l ) { + level = l; + } + virtual int getMaxLevel() { + return level; + } + virtual int contains( const char * ) = 0; + virtual int hit( const char * ) = 0; + virtual int isDependent( const char * ) = 0; + virtual MatchType matchNonORs( EntNode * ) { + return UNKNOWN; + } + virtual int acceptChoice( EntNode * ) = 0; + virtual void unmarkAll( EntNode * ) = 0; + virtual void reset() { + viable = UNKNOWN; + } + int siblings(); + virtual void write( ostream & ) = 0; + // write out my contents to stream + + // List access functions. They access desired children based on their + // join or viable values. Below is an incomplete list of possible fns, + // but all we need. + EntList * firstNot( JoinType ); + EntList * nextNot( JoinType j ) { + return next->firstNot( j ); + } + EntList * firstWanted( MatchType ); + EntList * nextWanted( MatchType mat ) { + return next->firstWanted( mat ); + } + EntList * lastNot( JoinType ); + EntList * prevNot( JoinType j ) { + return prev->lastNot( j ); + } + EntList * lastWanted( MatchType ); + EntList * prevWanted( MatchType mat ) { + return prev->lastWanted( mat ); + } + + JoinType join; + int multiple() { + return ( join != SIMPLE ); + } + EntList * prev, * next; + + protected: + MatchType viable; + // How does this EntList match the complex type. Used especially if Ent- + // List's parent is an OrList or AndOrList to record if this child is an + // acceptable choice or not. For an AndOr, viable children are accepted + // right away. For Or, only one is accepted, but we keep track of the + // other possible solutions in case we'll want to try them. + int level; // How many levels deep are we (main use for printing). +}; + +class SimpleList : public EntList { + friend class ComplexList; + friend ostream & operator<< ( ostream &, SimpleList & ); + + public: + SimpleList( const char * n ) : EntList( SIMPLE ), I_marked( NOMARK ) { + strcpy( name, n ); + } + ~SimpleList() {} + int operator== ( const char * nm ) { + return ( strcmp( name, nm ) == 0 ); + } + const char * Name() { + return name; + } + int contains( const char * nm ) { + return *this == nm; + } + int hit( const char * nm ) { + return *this == nm; + } + int isDependent( const char * ); + MatchType matchNonORs( EntNode * ); + int acceptChoice( EntNode * ); + void unmarkAll( EntNode * ); + void reset() { + viable = UNKNOWN; + I_marked = NOMARK; + } + void write( ostream & ); + + private: + char name[BUFSIZ+1]; // Name of entity we correspond to. + MarkType I_marked; // Did I mark, and with what type of mark. +}; + +class MultList : public EntList { + // Supports concepts and functionality common to all the compound list + // types, especially AND and ANDOR. + + friend class ComplexList; + friend class ComplexCollect; + friend ostream & operator<< ( ostream &, MultList & ); + + public: + MultList( JoinType j ) : EntList( j ), numchildren( 0 ), childList( 0 ) {} + ~MultList(); + void setLevel( int ); + int getMaxLevel(); + int contains( const char * ); + int hit( const char * ); + int isDependent( const char * ); + void appendList( EntList * ); + EntList * copyList( EntList * ); + void processSubExp( Expression, Entity, ComplexCollect * ); + void addSimpleAndSubs( Entity, ComplexCollect * ); + virtual MatchType matchORs( EntNode * ) = 0; + virtual MatchType tryNext( EntNode * ); + + int childCount() { + return numchildren; + } +// EntList *operator[]( int ); + EntList * getChild( int ); + EntList * getLast() { + return ( getChild( numchildren - 1 ) ); + } + void unmarkAll( EntNode * ); + int prevKnown( EntList * ); + void reset(); + void write( ostream & ); + + protected: + int numchildren; + EntList * childList; + // Points to a list of "children" of this EntList. E.g., if join = + // AND, it would point to a list of the entity types we are AND'ing. + // The children may be SIMPLE EntLists (contain entity names) or may + // themselves be And-, Or-, or AndOrLists. +}; + +class JoinList : public MultList { + // A specialized MultList, super for subtypes AndOrList and AndList, or + // ones which join their multiple children. + public: + JoinList( JoinType j ) : MultList( j ) {} + ~JoinList() {} + void setViableVal( EntNode * ); + int acceptChoice( EntNode * ); +}; + +class AndOrList : public JoinList { + friend class ComplexList; + + public: + AndOrList() : JoinList( ANDOR ) {} + ~AndOrList() {} + MatchType matchNonORs( EntNode * ); + MatchType matchORs( EntNode * ); +}; + +class AndList : public JoinList { + friend class MultList; + friend class ComplexList; + friend ostream & operator<< ( ostream &, ComplexList & ); + + public: + AndList() : JoinList( AND ), supertype( 0 ) {} + ~AndList() {} + int isDependent( const char * ); + MatchType matchNonORs( EntNode * ); + MatchType matchORs( EntNode * ); + + private: + int supertype; // do I represent a supertype? +}; + +class OrList : public MultList { + public: + OrList() : MultList( OR ), choice( -1 ), choice1( -2 ), choiceCount( 0 ) {} + ~OrList() {} + int hit( const char * ); + MatchType matchORs( EntNode * ); + MatchType tryNext( EntNode * ); + void unmarkAll( EntNode * ); + int acceptChoice( EntNode * ); + int acceptNextChoice( EntNode * ents ) { + choice++; + return ( acceptChoice( ents ) ); + } + void reset() { + choice = -1; + choice1 = -2; + choiceCount = 0; + MultList::reset(); + } + + private: + int choice, choice1, choiceCount; + // Which choice of our childList did we select from this OrList; what's + // the first viable choice; and how many choices are there entirely. +}; + +class ComplexList { + // Contains the entire list of EntLists which describe the set of + // instantiable complex entities defined by an EXPRESS expression. + + friend class MultList; + friend class ComplexCollect; + friend ostream & operator<< ( ostream &, ComplexList & ); + + public: + ComplexList( AndList * alist = NULL ) : list( 0 ), head( alist ), next( 0 ), + abstract( 0 ), dependent( 0 ), + multSupers( 0 ) {} + ComplexList( Entity, ComplexCollect * ); + ~ComplexList(); + void buildList(); + void remove(); + int operator< ( ComplexList & c ) { + return ( strcmp( supertype(), c.supertype() ) < 0 ); + } + int operator< ( char * name ) { + return ( strcmp( supertype(), name ) < 0 ); + } + int operator== ( char * name ) { + return ( strcmp( supertype(), name ) == 0 ); + } + const char * supertype() { + return ( ( SimpleList * )head->childList )->name; + } + // Based on knowledge that ComplexList always created by ANDing supertype + // with subtypes. + int toplevel( const char * ); + int contains( EntNode * ); + int matches( EntNode * ); + int isDependent( const char * ); + + EntNode * list; // List of all entities contained in this complex type, + // regardless of how. (Used as a quick way of determining + // if this List *may* contain a certain complex type.) + AndList * head; + ComplexList * next; + int Dependent() { + return dependent; + } + void write( ostream & ); + int getEntListMaxLevel() { + return head->getMaxLevel(); + } + + private: + void addSuper( Entity ); + void addSubExp( Expression ); + void addImplicitSubs( Linked_List, ComplexCollect * ); + void addChildren( EntList * ); + int hitMultNodes( EntNode * ); + int abstract; // is our supertype abstract? + int dependent; // is our supertype also a subtype of other supertype(s)? + int multSupers; // am I a combo-CList created to test a subtype which has + int maxlevel; +}; // >1 supertypes? + +class ComplexCollect { + // The collection of all the ComplexLists defined by the current schema. + public: + ComplexCollect( ComplexList * c = NULL ) : clists( c ) { + count = ( c ? 1 : 0 ); + } + ComplexCollect( Express ); + ~ComplexCollect() { + delete clists; + } + void insert( ComplexList * ); + void remove( ComplexList * ); + // Remove this list but don't delete its hierarchy structure, because + // it's used elsewhere. + ComplexList * find( char * ); + int supports( EntNode * ); + bool externMapping( const char * ent ) { + return ( clists ? clists->isDependent( ent ) : 0 ); + } + // One of our clists shows that ent will have to be instantiated + // using external mapping (see Part 21, sect 11.2.5.1). + void write( const char * ); + + ComplexList * clists; + + private: + int count; // # of clist children +}; + +// Standalone function which can be used to print out the complex info in an +// express file (prints out CCollect, CList & EntList instant. statements): +void print_complex( ComplexCollect &, const char * ); + +#endif diff --git a/src/fedex_plus/complexlist.cc b/src/exp2cxx/complexlist.cc similarity index 98% rename from src/fedex_plus/complexlist.cc rename to src/exp2cxx/complexlist.cc index 1e98168e9..485f0609d 100644 --- a/src/fedex_plus/complexlist.cc +++ b/src/exp2cxx/complexlist.cc @@ -11,7 +11,6 @@ *****************************************************************************/ #include "complexSupport.h" -#include ComplexList::~ComplexList() /* @@ -111,7 +110,7 @@ void ComplexList::addChildren( EntList * ent ) child = child->next; } } else { - nm = ( ( SimpleList * )ent )->name; + nm = ( dynamic_cast< SimpleList * >(ent) )->name; while( prev != NULL && ( comp = strcmp( prev->name, nm ) ) < 0 ) { prev2 = prev; prev = prev->next; @@ -151,7 +150,7 @@ int ComplexList::contains( EntNode * ents ) ours = ours->next; } if( ours == NULL || *ours > *theirs ) { - // If either of these occured, we couldn't find one of ours which + // If either of these occurred, we couldn't find one of ours which // matched the current "theirs". return FALSE; } @@ -171,7 +170,7 @@ int ComplexList::matches( EntNode * ents ) * when the schema was read; FALSE otherwise. */ { - MatchType retval, otherChoices = NEWCHOICE; + MatchType retval; int result = FALSE; // First check if this ComplexList at least contains all the nodes of ents. @@ -195,6 +194,7 @@ int ComplexList::matches( EntNode * ents ) // hitMultNodes()). result = TRUE; } else if( retval >= MATCHSOME ) { + MatchType otherChoices = NEWCHOICE; // We have a partial answer. Check if other solutions exist (i.e., // if there are OR's with other choices): while( otherChoices == NEWCHOICE ) { diff --git a/src/fedex_plus/entlist.cc b/src/exp2cxx/entlist.cc similarity index 99% rename from src/fedex_plus/entlist.cc rename to src/exp2cxx/entlist.cc index e27114294..bd45be671 100644 --- a/src/fedex_plus/entlist.cc +++ b/src/exp2cxx/entlist.cc @@ -14,7 +14,6 @@ *****************************************************************************/ #include "complexSupport.h" -#include int EntList::siblings() /* diff --git a/src/fedex_plus/entnode.cc b/src/exp2cxx/entnode.cc similarity index 99% rename from src/fedex_plus/entnode.cc rename to src/exp2cxx/entnode.cc index 50f3a8659..569dcde87 100644 --- a/src/fedex_plus/entnode.cc +++ b/src/exp2cxx/entnode.cc @@ -12,7 +12,6 @@ *****************************************************************************/ #include "complexSupport.h" -#include EntNode::EntNode( char * namelist[] ) /* diff --git a/src/fedex_plus/expressbuild.cc b/src/exp2cxx/expressbuild.cc similarity index 99% rename from src/fedex_plus/expressbuild.cc rename to src/exp2cxx/expressbuild.cc index b1baa1c82..d55465eef 100644 --- a/src/fedex_plus/expressbuild.cc +++ b/src/exp2cxx/expressbuild.cc @@ -12,7 +12,6 @@ *****************************************************************************/ #include "complexSupport.h" -#include // Local function prototypes: static void initEnts( Express ); @@ -188,7 +187,7 @@ void MultList::processSubExp( Expression exp, Entity super, break; case op_: if( join == AND ) { - supertype = ( ( AndList * )this )->supertype; + supertype = ( dynamic_cast< AndList * >(this) )->supertype; } if( ! supertype && ( ( oe->op_code == OP_AND && join == AND ) @@ -286,7 +285,7 @@ void ComplexList::addImplicitSubs( Linked_List subs, ComplexCollect * col ) AndOrList * ao = 0; LISTdo( subs, subEnt, Entity ) - strcpy( node.name, ENTITYget_name( subEnt ) ); + strncpy( node.name, ENTITYget_name( subEnt ), BUFSIZ ); if( !contains( &node ) ) { // We've found an implicit subtype. #ifdef COMPLEX_INFO diff --git a/src/fedex_plus/fedex_main.c b/src/exp2cxx/fedex_main.c similarity index 85% rename from src/fedex_plus/fedex_main.c rename to src/exp2cxx/fedex_main.c index 05077221f..b83976daf 100644 --- a/src/fedex_plus/fedex_main.c +++ b/src/exp2cxx/fedex_main.c @@ -29,17 +29,17 @@ * STEP Class Library Pre Release 3.0 * * Revision 2.1.0.5 1997/03/11 15:33:59 sauderd - * Changed code so that if fedex_plus is passed the -c or -C option it would + * Changed code so that if exp2cxx is passed the -c or -C option it would * generate implementation objects for Orbix (CORBA). Look for code that is * inside stmts such as if(corba_binding) * * Revision 2.1.0.4 1996/09/25 22:56:55 sauderd * Added a command line argument for logging SCL use. The option added is -l or - * -L. It also says the option in the usage stmt when you run fedex_plus without + * -L. It also says the option in the usage stmt when you run exp2cxx without * an argument. Added the options to the EXPRESSgetopt_options string. * * Revision 2.1.0.3 1996/06/18 18:14:17 sauderd - * Changed the line that gets printed when you run fedex_plus with no + * Changed the line that gets printed when you run exp2cxx with no * arguments to include the option for single inheritance. * * Revision 2.1.0.2 1995/05/19 22:40:03 sauderd @@ -72,21 +72,20 @@ * Added * to typedefs. Replaced warning kludges with ERRORoption. */ -#include #include #include #include "../express/express.h" #include "../express/resolve.h" -#include +#include "./trace_fprintf.h" extern void print_fedex_version( void ); -static void fedex_plus_usage( void ) { - fprintf( stderr, "usage: %s [-s|-S] [-a|-A] [-c|-C] [-L] [-v] [-d # | -d 9 -l nnn -u nnn] [-n] [-p ] {-w|-i } express_file\n", EXPRESSprogram_name ); +static void exp2cxx_usage( void ) { + char *warnings_help_msg = ERRORget_warnings_help("\t", "\n"); + fprintf( stderr, "usage: %s [-s|-S] [-a|-A] [-L] [-v] [-d # | -d 9 -l nnn -u nnn] [-n] [-p ] {-w|-i } express_file\n", EXPRESSprogram_name ); fprintf( stderr, "where\t-s or -S uses only single inheritance in the generated C++ classes\n" ); fprintf( stderr, "\t-a or -A generates the early bound access functions for entity classes the old way (without an underscore)\n" ); - fprintf( stderr, "\t-c or -C generates C++ classes for use with CORBA (Orbix)\n" ); fprintf( stderr, "\t-L prints logging code in the generated C++ classes\n" ); fprintf( stderr, "\t-v produces the version description below\n" ); fprintf( stderr, "\t-d turns on debugging (\"-d 0\" describes this further\n" ); @@ -96,9 +95,7 @@ static void fedex_plus_usage( void ) { fprintf( stderr, "\t-i warning ignore\n" ); fprintf( stderr, "and is one of:\n" ); fprintf( stderr, "\tnone\n\tall\n" ); - LISTdo( ERRORwarnings, opt, Error_Warning ) - fprintf( stderr, "\t%s\n", opt->name ); - LISTod + fprintf( stderr, "%s", warnings_help_msg); fprintf( stderr, "and is one or more of:\n" ); fprintf( stderr, " e entity\n" ); fprintf( stderr, " p procedure\n" ); @@ -120,6 +117,7 @@ void resolution_success( void ) { } int success( Express model ) { + (void) model; /* unused */ printf( "Finished writing files.\n" ); return( 0 ); } @@ -131,7 +129,7 @@ void EXPRESSinit_init( void ) { EXPRESSsucceed = success; EXPRESSgetopt = Handle_FedPlus_Args; /* so the function getopt (see man 3 getopt) will not report an error */ - strcat( EXPRESSgetopt_options, "sSlLcCaA" ); - ERRORusage_function = fedex_plus_usage; + strcat( EXPRESSgetopt_options, "sSlLaA" ); + ERRORusage_function = exp2cxx_usage; } diff --git a/src/exp2cxx/genCxxFilenames.c b/src/exp2cxx/genCxxFilenames.c new file mode 100644 index 000000000..14bee4295 --- /dev/null +++ b/src/exp2cxx/genCxxFilenames.c @@ -0,0 +1,34 @@ +#include "genCxxFilenames.h" +#include "class_strings.h" + +/** \file genCxxFilenames.c + * functions shared by exp2cxx and the schema scanner. + * The latter creates, at configuration time, a list + * of file names so CMake knows how to compile the + * generated libs. + * exp2cxx is supposed to write to files with the same + * names, but it doesn't have access to the list the + * scanner created. + */ + +/* these buffers are shared amongst (and potentially overwritten by) all functions in this file */ +char impl[ BUFSIZ+1 ] = {0}; +char header[ BUFSIZ+1 ] = {0}; + +/* struct containing pointers to above buffers. pointers are 'const char *' */ +filenames_t fnames = { impl, header }; + + +filenames_t getEntityFilenames( Entity e ) { + const char * name = ENTITYget_classname( e ); + snprintf( header, BUFSIZ-1, "entity/%s.h", name ); + snprintf( impl, BUFSIZ-1, "entity/%s.cc", name ); + return fnames; +} + +filenames_t getTypeFilenames( Type t ) { + const char * name = TYPEget_ctype( t ); + snprintf( header, BUFSIZ-1, "type/%s.h", name ); + snprintf( impl, BUFSIZ-1, "type/%s.cc", name ); + return fnames; +} diff --git a/src/exp2cxx/genCxxFilenames.h b/src/exp2cxx/genCxxFilenames.h new file mode 100644 index 000000000..f79d33cd6 --- /dev/null +++ b/src/exp2cxx/genCxxFilenames.h @@ -0,0 +1,34 @@ +#ifndef GENCXXFILENAMES_H +#define GENCXXFILENAMES_H + +/** \file genCxxFilenames.c + * functions shared by exp2cxx and the schema + * scanner which determines, at configuration time, + * the names of the files exp2cxx will generate - + * as well as a relative path, if any + */ + +#include "express/entity.h" +#include "express/type.h" + +typedef struct { + /* will we ever need more file names? */ + const char * impl; + const char * header; +} filenames_t; + +/** write entity filenames to a pair of shared static buffers. + * names will be overwritten by next call to a function using those buffers! + * + * \sa getTypeFilenames() + */ +filenames_t getEntityFilenames( Entity e ); + +/** write type filenames to a pair of shared static buffers. + * names will be overwritten by next call to a function using those buffers! + * + * \sa getEntityFilenames() + */ +filenames_t getTypeFilenames( Type t ); + +#endif /* GENCXXFILENAMES_H */ diff --git a/src/fedex_plus/match-ors.cc b/src/exp2cxx/match-ors.cc similarity index 96% rename from src/fedex_plus/match-ors.cc rename to src/exp2cxx/match-ors.cc index 282fe0bf1..41d5af88c 100644 --- a/src/fedex_plus/match-ors.cc +++ b/src/exp2cxx/match-ors.cc @@ -14,7 +14,6 @@ *****************************************************************************/ #include "complexSupport.h" -#include MatchType AndOrList::matchORs( EntNode * ents ) /* @@ -30,7 +29,7 @@ MatchType AndOrList::matchORs( EntNode * ents ) EntList * child = childList->firstWanted( UNKNOWN ); while( child != NULL ) { - if( ( ( MultList * )child )->matchORs( ents ) == UNSATISFIED ) { + if( ( dynamic_cast< MultList * >(child) )->matchORs( ents ) == UNSATISFIED ) { // Unmark whatever we may have marked. (E.g., there may have // been an AND beneath and it started marking and then found one // it couldn't match.) @@ -58,7 +57,7 @@ MatchType AndList::matchORs( EntNode * ents ) EntList * child = childList->firstWanted( UNKNOWN ); while( child != NULL ) { - if( ( ( MultList * )child )->matchORs( ents ) == UNSATISFIED ) { + if( ( dynamic_cast< MultList * >(child) )->matchORs( ents ) == UNSATISFIED ) { viable = UNSATISFIED; return UNSATISFIED; // This means the whole AndList has failed, by definition. @@ -105,7 +104,7 @@ MatchType OrList::matchORs( EntNode * ents ) // running matchNonORs() above. (We also exclude the case of an // AND child who may have OR desc's, but already determined that // it can't satisfy one of its paths and so returned UNSAT.) - retval = ( ( MultList * )child )->matchORs( ents ); + retval = ( dynamic_cast< MultList * >(child) )->matchORs( ents ); } // Now register the result: diff --git a/src/fedex_plus/multlist.cc b/src/exp2cxx/multlist.cc similarity index 96% rename from src/fedex_plus/multlist.cc rename to src/exp2cxx/multlist.cc index 4b14f68a5..5d2cade84 100644 --- a/src/fedex_plus/multlist.cc +++ b/src/exp2cxx/multlist.cc @@ -13,7 +13,6 @@ *****************************************************************************/ #include "complexSupport.h" -#include MultList::~MultList() /* @@ -232,11 +231,11 @@ EntList * MultList::copyList( EntList * ent ) switch( ent->join ) { case SIMPLE: - newlist = new SimpleList( ( ( SimpleList * )ent )->Name() ); + newlist = new SimpleList( ( dynamic_cast< SimpleList * >(ent) )->Name() ); break; case AND: newlist = new AndList; - ( ( AndList * )newlist )->supertype = ( ( AndList * )ent )->supertype; + ( ( AndList * )newlist )->supertype = ( dynamic_cast< AndList * >(ent) )->supertype; break; case OR: newlist = new OrList; @@ -248,9 +247,9 @@ EntList * MultList::copyList( EntList * ent ) appendList( newlist ); if( ent->multiple() ) { // For the multlists, we must recurse for all their children: - child = ( ( MultList * )ent )->childList; + child = ( dynamic_cast< MultList * >(ent) )->childList; while( child ) { - ( ( MultList * )newlist )->copyList( child ); + ( dynamic_cast< MultList * >(newlist) )->copyList( child ); child = child->next; } } @@ -336,7 +335,7 @@ int JoinList::acceptChoice( EntNode * ents ) if( child->viable >= MATCHSOME ) { // Only mark children which have new nodes they can mark. (This // condition is important. Sometimes, there will be children who - // can mark but whose vaiable val = SATISFIED. This will be the + // can mark but whose variable val = SATISFIED. This will be the // case if there's another EntList with higher priority which can // also mark this node. (For example, if an AND has an OR and a // SIMPLE child, the SIMPLE wins so that we'll have fewer OR diff --git a/src/fedex_plus/multpass.c b/src/exp2cxx/multpass.c similarity index 73% rename from src/fedex_plus/multpass.c rename to src/exp2cxx/multpass.c index 5e7e5b0e3..03e1eb885 100644 --- a/src/fedex_plus/multpass.c +++ b/src/exp2cxx/multpass.c @@ -2,9 +2,9 @@ * multpass.c * * * * Description: * - * Adds multi-schema support enhancement to fedex_plus parser. Allows the * + * Adds multi-schema support enhancement to exp2cxx parser. Allows the * * generation of C++ representations for multiple EXPRESS schemas without * - * creating conflicting header files. Previously, fedex_plus would gene- * + * creating conflicting header files. Previously, exp2cxx would gene- * * rate a single set of files (.h, .cc, .init.cc) for each schema found in * * the processed EXPRESS file. A number of problem situations occurred: * * * @@ -31,14 +31,10 @@ * Date: 04/09/97 * *****************************************************************************/ -#include #include #include "classes.h" -#include - -#define FALSE 0 -#define TRUE 1 +#include "./trace_fprintf.h" int isAggregateType( const Type t ); @@ -46,39 +42,44 @@ int isAggregateType( const Type t ); static void initializeMarks( Express ); static void cleanupMarks( Express ); static void unsetObjs( Schema ); -static int checkTypes( Schema ); -static int checkEnts( Schema ); +static bool checkTypes( Schema ); +static bool checkEnts( Schema ); static void markDescs( Entity ); -static int checkItem( Type, Scope, Schema, int *, int ); +static bool checkItem( Type, Scope, Schema, int *, int ); static int ENUMcanBeProcessed( Type, Schema ); static int inSchema( Scope, Scope ); static void addRenameTypedefs( Schema, FILE * ); static void addAggrTypedefs( Schema , FILE * ); static void addUseRefNames( Schema, FILE * ); -void print_schemas_separate( Express express, void * complexCol, FILES * files ) -/* +/** * Generates the C++ files corresponding to a list of schemas. Does so in * multiple passes through the schemas. In each pass it checks for enti- - * ties which are subtypes of entites in other schemas which have not yet + * ties which are subtypes of entities in other schemas which have not yet * been processed. Such entities cannot be processed in that pass until * their supertypes have been defined. It also checks for entities which * have enum or select attributes which have not been processed, and for * select types which have enum or select items (or entities containing * enums) which have not been processed. */ -{ - int complete = FALSE, val1, val2, suffix; +void print_schemas_separate( Express express, void * complexCol, FILES * files ) { + bool complete = false; + int val1, val2, suffix; DictionaryEntry de; Schema schema; /* First set all marks we'll be using to UNPROCESSED/NOTKNOWN: */ initializeMarks( express ); - fprintf( files->create, " Uniqueness_rule_ptr ur;\n Where_rule_ptr wr;\n Global_rule_ptr gr;\n" - " std::string str; //for large strings such as functions or global rules\n" ); + /* TODO only print gr, wr, str as needed, from SCHEMAprint in classes_wrapper.cc? */ + fprintf( files->create, " Global_rule_ptr gr;\n Where_rule_ptr wr;\n std::string str; //for large strings such as functions or global rules\n" ); + + DICTdo_type_init( express->symbol_table, &de, OBJ_SCHEMA ); + while( ( schema = ( Scope )DICTdo( &de ) ) != 0 ) { + numberAttributes( schema ); + } while( !complete ) { - complete = TRUE; + complete = true; DICTdo_type_init( express->symbol_table, &de, OBJ_SCHEMA ); while( ( schema = ( Scope )DICTdo( &de ) ) != 0 ) { if( schema->search_id == UNPROCESSED ) { @@ -109,10 +110,9 @@ void print_schemas_separate( Express express, void * complexCol, FILES * files ) // will create files with the suffixes "_1", "_2", etc. // If not, no file suffix will be added. */ suffix = ++*( int * )schema->clientData; - SCHEMAprint( schema, files, express, complexCol, - suffix ); + SCHEMAprint( schema, files, complexCol, suffix ); } else { - SCHEMAprint( schema, files, express, complexCol, 0 ); + SCHEMAprint( schema, files, complexCol, 0 ); } } complete = complete && ( schema->search_id == PROCESSED ); @@ -159,7 +159,7 @@ void print_schemas_separate( Express express, void * complexCol, FILES * files ) // which hasn't been closed yet. (That's done on 2nd line below.)) */ fprintf( files->initall, " reg.SetCompCollect( gencomplex() );\n" ); fprintf( files->initall, "}\n\n" ); - fprintf( files->incall, "\n#include \n" ); + fprintf( files->incall, "\n#include \"clstepcore/complexSupport.h\"\n" ); fprintf( files->incall, "ComplexCollect *gencomplex();\n" ); /* Function GetModelContents() is printed at the end of the schema.xx @@ -188,7 +188,7 @@ static void initializeMarks( Express express ) DICTdo_type_init( express->symbol_table, &de_sch, OBJ_SCHEMA ); while( ( schema = ( Scope )DICTdo( &de_sch ) ) != 0 ) { schema->search_id = UNPROCESSED; - schema->clientData = ( int * )sc_malloc( sizeof( int ) ); + schema->clientData = ( int * )malloc( sizeof( int ) ); *( int * )schema->clientData = 0; SCOPEdo_entities( schema, ent, de_ent ) ent->search_id = NOTKNOWN; @@ -200,13 +200,13 @@ static void initializeMarks( Express express ) } static void cleanupMarks( Express express ) { - DictionaryEntry de_sch, de_ent, de_type; + DictionaryEntry de_sch; Schema schema; DICTdo_type_init( express->symbol_table, &de_sch, OBJ_SCHEMA ); while( ( schema = ( Scope )DICTdo( &de_sch ) ) != 0 ) { if( schema->clientData ) { - sc_free( schema->clientData ); + free( schema->clientData ); schema->clientData = NULL; } } @@ -237,8 +237,7 @@ static void unsetObjs( Schema schema ) SCOPEod } -static int checkTypes( Schema schema ) -/* +/** * Goes through the types contained in this schema checking for ones which * can't be processed. This may be the case if: (1) We have a select type * which has enumeration or select items which have not yet been defined @@ -250,97 +249,98 @@ static int checkTypes( Schema schema ) * CANTPROCESS. If some types in schema *can* be processed now, we return * TRUE. (See relevant header comments of checkEnts() below.) */ -{ +static bool checkTypes( Schema schema ) { DictionaryEntry de; - int retval = FALSE, unknowncnt; + bool retval = false; + int unknowncnt; Type i; Entity ent; Linked_List attribs; do { unknowncnt = 0; - SCOPEdo_types( schema, type, de ) - if( type->search_id != NOTKNOWN ) { - continue; - } - /* We're only interested in the ones which haven't been processed - // already or accepted (set to CANPROCESS in a previous pass thru - // the do loop) already. */ - type->search_id = CANPROCESS; - /* Assume this until disproven. */ - - if( TYPEis_enumeration( type ) && TYPEget_head( type ) ) { - i = TYPEget_ancestor( type ); - if( !sameSchema( i, type ) && i->search_id != PROCESSED ) { - /* Note - if, however, i is in same schema, we're safe: We - // know it'll be processed this pass because enum's are - // always processed on the first pass. (We do have to take - // care to process the original enum before the redefined. - // This is done in SCOPEPrint, in classes_wrapper.cc.) */ - type->search_id = CANTPROCESS; - schema->search_id = UNPROCESSED; + SCOPEdo_types( schema, type, de ) { + if( type->search_id != NOTKNOWN ) { + continue; } - } else if( TYPEis_select( type ) ) { - LISTdo( SEL_TYPEget_items( type ), i, Type ) - if( !TYPEis_entity( i ) ) { - if( checkItem( i, type, schema, &unknowncnt, 0 ) ) { - break; - } - /* checkItem does most of the work of determining if - // an item of a select will make the select type un- - // processable. It checks for conditions which would - // make this true and sets values in type, schema, and - // unknowncnt accordingly. (See checkItem's commenting - // below.) It also return TRUE if i has made type un- - // processable. If so, we break - there's no point - // checking the other items of type any more. */ - } else { - /* Check if our select has an entity item which itself - // has unprocessed selects or enums. */ - ent = ENT_TYPEget_entity( i ); - if( ent->search_id == PROCESSED ) { - continue; + /* We're only interested in the ones which haven't been processed + // already or accepted (set to CANPROCESS in a previous pass thru + // the do loop) already. */ + type->search_id = CANPROCESS; + /* Assume this until disproven. */ + + if( TYPEis_enumeration( type ) && TYPEget_head( type ) ) { + i = TYPEget_ancestor( type ); + if( !sameSchema( i, type ) && i->search_id != PROCESSED ) { + /* Note - if, however, i is in same schema, we're safe: We + // know it'll be processed this pass because enum's are + // always processed on the first pass. (We do have to take + // care to process the original enum before the redefined. + // This is done in SCOPEPrint, in classes_wrapper.cc.) */ + type->search_id = CANTPROCESS; + schema->search_id = UNPROCESSED; } - /* If entity has been processed already, things must be - // okay. (Note - but if it hasn't been processed yet we - // may still be able to process type. This is because - // a sel type will only contain a pointer to an entity- - // item (and we can create a pointer to a not-yet-pro- - // cessed object), while it will contain actual objects - // for the enum and select attributes of ent.) */ - attribs = ENTITYget_all_attributes( ent ); - LISTdo( attribs, attr, Variable ) - if( checkItem( attr->type, type, schema, - &unknowncnt, 1 ) ) { - break; + } else if( TYPEis_select( type ) ) { + LISTdo( SEL_TYPEget_items( type ), ii, Type ) { + if( !TYPEis_entity( ii ) ) { + if( checkItem( ii, type, schema, &unknowncnt, 0 ) ) { + break; + } + /* checkItem does most of the work of determining if + // an item of a select will make the select type un- + // processable. It checks for conditions which would + // make this true and sets values in type, schema, and + // unknowncnt accordingly. (See checkItem's commenting + // below.) It also return TRUE if ii has made type un- + // processable. If so, we break - there's no point + // checking the other items of type any more. */ + } else { + /* Check if our select has an entity item which itself + // has unprocessed selects or enums. */ + ent = ENT_TYPEget_entity( ii ); + if( ent->search_id == PROCESSED ) { + continue; + } + /* If entity has been processed already, things must be + // okay. (Note - but if it hasn't been processed yet we + // may still be able to process type. This is because + // a sel type will only contain a pointer to an entity- + // item (and we can create a pointer to a not-yet-pro- + // cessed object), while it will contain actual objects + // for the enum and select attributes of ent.) */ + attribs = ENTITYget_all_attributes( ent ); + LISTdo_n( attribs, attr, Variable, z ) { + if( checkItem( attr->type, type, schema, + &unknowncnt, 1 ) ) { + break; + } + } LISTod + LISTfree( attribs ); + } + } LISTod + /* One more condition - if we're a select which is a rename of + // another select - we must also make sure the original select + // is in this schema or has been processed. Since a rename- + // select is defined with typedef's to the original, we can't + // do that if the original hasn't been defined. */ + if( ( type->search_id == CANPROCESS ) + && ( ( i = TYPEget_ancestor( type ) ) != NULL ) + && ( !sameSchema( i, type ) ) + && ( i->search_id != PROCESSED ) ) { + type->search_id = CANTPROCESS; + schema->search_id = UNPROCESSED; } - LISTod - LISTfree( attribs ); - } - LISTod - /* One more condition - if we're a select which is a rename of - // another select - we must also make sure the original select - // is in this schema or has been processed. Since a rename- - // select is defined with typedef's to the original, we can't - // do that if the original hasn't been defined. */ - if( ( type->search_id == CANPROCESS ) - && ( ( i = TYPEget_ancestor( type ) ) != NULL ) - && ( !sameSchema( i, type ) ) - && ( i->search_id != PROCESSED ) ) { - type->search_id = CANTPROCESS; - schema->search_id = UNPROCESSED; } - } - if( type->search_id == CANPROCESS ) { - /* NOTE - This condition will be met if type isn't a select or - // enum at all and above if was never entered (and it's our - // first pass so type hasn't been processed). So for non-enums - // and selects, checkTypes() will simply check the type off and - // go on. */ - retval = TRUE; - } - SCOPEod + if( type->search_id == CANPROCESS ) { + /* NOTE - This condition will be met if type isn't a select or + // enum at all and above if was never entered (and it's our + // first pass so type hasn't been processed). So for non-enums + // and selects, checkTypes() will simply check the type off and + // go on. */ + retval = true; + } + } SCOPEod } while( unknowncnt > 0 ); /* We loop to deal with the following situation: Say sel A contains enum B // as an item, but A appears earlier in the EXPRESS file than B. In such a @@ -359,13 +359,12 @@ static int checkTypes( Schema schema ) return retval; } -static int checkEnts( Schema schema ) -/* +/** * Goes through the entities contained in this schema checking for ones * which can't be processed. It checks for two situations: (1) If we find * an entity which is a subtype of a not-yet-processed entity in another * schema. (2) If an entity has an attribute which is an enumeration or - * select type (which is implemented by fedex_plus as a C++ class), and the + * select type (which is implemented by exp2cxx as a C++ class), and the * enum or select class has not yet been defined. For each entity which * satisfies one of the above conditions, we set its mark and the marks of * all its subtype descendents to CANTPROCESS. Later, when C++ files are @@ -376,9 +375,10 @@ static int checkEnts( Schema schema ) * of the inline commenting of checkTypes() is applicable here and is not * repeated.) */ -{ +static bool checkEnts( Schema schema ) { DictionaryEntry de; - int retval = FALSE, ignore = 0; + bool retval = false; + int ignore = 0; /* Loop through schema's entities: */ SCOPEdo_entities( schema, ent, de ) @@ -421,7 +421,7 @@ static int checkEnts( Schema schema ) /* If ent's mark still = CANPROCESS and not CANTPROCESS, it // must still be processable. Set retval to TRUE signifying // that there are ent's we'll be able to process. */ - retval = TRUE; + retval = true; } SCOPEod /* NOTE - We don't have to loop here as in checkTypes() (see long comment @@ -433,22 +433,19 @@ static int checkEnts( Schema schema ) return retval; } -static void markDescs( Entity ent ) -/* +/** * Sets the mark value of ent and all its subtypes to CANTPROCESS. This * function is called if we've determined that ent is a subtype of an * entity defined in a different schema which has not yet been processed. */ -{ +static void markDescs( Entity ent ) { ent->search_id = CANTPROCESS; - LISTdo( ENTITYget_subtypes( ent ), sub, Entity ) - markDescs( sub ); - LISTod + LISTdo( ENTITYget_subtypes( ent ), sub, Entity ) { + markDescs( sub ); + } LISTod } -static int checkItem( Type t, Scope parent, Schema schema, int * unknowncnt, - int noSel ) -/* +/** * Function with a lot of side effects: Checks if type t, a member of * `parent' makes parent unprocessable. parent may be an entity and t is * its attribute. parent may be a select type and t is one of its items. @@ -470,7 +467,7 @@ static int checkItem( Type t, Scope parent, Schema schema, int * unknowncnt, * noSel is set to 1 to tell it to worry about t if it's an enum but not * if it's a select. */ -{ +static bool checkItem( Type t, Scope parent, Schema schema, int * unknowncnt, int noSel ) { Type i = t; if( isAggregateType( t ) ) { @@ -497,7 +494,7 @@ static int checkItem( Type t, Scope parent, Schema schema, int * unknowncnt, } parent->search_id = CANTPROCESS; schema->search_id = UNPROCESSED; - return TRUE; + return true; } else if( TYPEis_select( i ) && !noSel ) { if( !sameSchema( i, parent ) ) { if( i->search_id != PROCESSED ) { @@ -506,7 +503,7 @@ static int checkItem( Type t, Scope parent, Schema schema, int * unknowncnt, } parent->search_id = CANTPROCESS; schema->search_id = UNPROCESSED; - return TRUE; + return true; } } else { /* We have another sel in the same schema. This gets complicated - @@ -519,7 +516,7 @@ static int checkItem( Type t, Scope parent, Schema schema, int * unknowncnt, } parent->search_id = CANTPROCESS; schema->search_id = UNPROCESSED; - return TRUE; + return true; } else if( i->search_id == NOTKNOWN ) { /* We haven't processed i this pass. */ if( parent->search_id != NOTKNOWN ) { @@ -534,7 +531,7 @@ static int checkItem( Type t, Scope parent, Schema schema, int * unknowncnt, } } } - return FALSE; + return false; } static int ENUMcanBeProcessed( Type e, Schema s ) @@ -571,14 +568,14 @@ static int ENUMcanBeProcessed( Type e, Schema s ) // processable. Figure that out now: */ if( ( a = TYPEget_ancestor( e ) ) == NULL ) { /* If e is not a rename of anything, it should be processed now. */ - return TRUE; + return true; } if( inSchema( a, s ) || a->search_id == PROCESSED ) { /* If e's ancestor (the one it's a rename of) is in our schema it will // be processed now. If not, it must have been processed already. */ - return TRUE; + return true; } - return FALSE; + return false; } int sameSchema( Scope sc1, Scope sc2 ) @@ -600,85 +597,88 @@ static int inSchema( Scope scope, Scope super ) SCOPEget_name( super ) ) ); } -static void addRenameTypedefs( Schema schema, FILE * classes ) -/* +/** * Prints typedefs at the end of Sdaiclasses.h for enumeration or select * types which are renamed from other enum/sel's. Since the original e/s * may be in any schema, this must be done at the end of all the schemas. * (Actually, for the enum only the aggregate class name is written in * Sdaiclasses.h (needs to have forward declarations here).) */ -{ +static void addRenameTypedefs( Schema schema, FILE * classes ) { DictionaryEntry de; Type i; - char nm[BUFSIZ], basenm[BUFSIZ]; - static int firsttime = TRUE; - - SCOPEdo_types( schema, t, de ) - if( ( TYPEis_enumeration( t ) || TYPEis_select( t ) ) - && ( ( i = TYPEget_ancestor( t ) ) != NULL ) ) { - /* I.e., t is a renamed enum/sel type. i is set to the orig enum/ - // sel t is based on (in case it's a rename of a rename etc). */ - if( firsttime ) { - fprintf( classes, "\n// Renamed enum and select" ); - fprintf( classes, " types (from all schemas):\n" ); - firsttime = FALSE; - } - if( TYPEis_enumeration( t ) ) { - strncpy( nm, TYPEget_ctype( t ), BUFSIZ - 1 ); - strncpy( basenm, TYPEget_ctype( i ), BUFSIZ - 1 ); - fprintf( classes, "typedef %s_agg %s_agg;\n", basenm, nm ); - } else { - strncpy( nm, SelectName( TYPEget_name( t ) ), BUFSIZ - 1 ); - strncpy( basenm, SelectName( TYPEget_name( i ) ), BUFSIZ - 1 ); - fprintf( classes, "typedef %s %s;\n", basenm, nm ); - fprintf( classes, "typedef %s * %s_ptr;\n", nm, nm ); - fprintf( classes, "typedef %s_agg %s_agg;\n", basenm, nm ); - fprintf( classes, "typedef %s_agg * %s_agg_ptr;\n", nm, nm ); + char nm[BUFSIZ+1], basenm[BUFSIZ+1]; + static bool firsttime = true; + + SCOPEdo_types( schema, t, de ) { + if( ( TYPEis_enumeration( t ) || TYPEis_select( t ) ) + && ( ( i = TYPEget_ancestor( t ) ) != NULL ) ) { + /* I.e., t is a renamed enum/sel type. i is set to the orig enum/ + // sel t is based on (in case it's a rename of a rename etc). */ + if( firsttime ) { + fprintf( classes, "\n// Renamed enum and select" ); + fprintf( classes, " types (from all schemas):\n" ); + firsttime = false; + } + if( TYPEis_enumeration( t ) ) { + strncpy( nm, TYPEget_ctype( t ), BUFSIZ - 1 ); + nm[BUFSIZ-1] = '\0'; + strncpy( basenm, TYPEget_ctype( i ), BUFSIZ - 1 ); + basenm[BUFSIZ-1] = '\0'; + fprintf( classes, "typedef %s_agg %s_agg;\n", basenm, nm ); + } else { + strncpy( nm, SelectName( TYPEget_name( t ) ), BUFSIZ - 1 ); + nm[BUFSIZ-1] = '\0'; + strncpy( basenm, SelectName( TYPEget_name( i ) ), BUFSIZ - 1 ); + basenm[BUFSIZ-1] = '\0'; + fprintf( classes, "typedef %s %s;\n", basenm, nm ); + fprintf( classes, "typedef %s_agg %s_agg;\n\n", basenm, nm ); + fprintf( classes, "typedef %s * %s_ptr;\n", nm, nm ); + fprintf( classes, "typedef const %s * %s_ptr_c;\n", nm, nm ); + fprintf( classes, "typedef %s_agg * %s_agg_ptr;\n", nm, nm ); + fprintf( classes, "typedef const %s_agg * %s_agg_ptr_c;\n", nm, nm ); + } } - } - SCOPEod + } SCOPEod } -static void addAggrTypedefs( Schema schema, FILE * classes ) -/* +/** * Print typedefs at the end of Sdiaclasses.h for aggregates of enum's and * selects. Since the underlying enum/sel may appear in any schema, this * must be done at the end of all the schemas. Note that this function is * called after addRenameTypedefs() since an aggregate may also be based on * one of the renamed enum/sel's defined there. */ -{ +static void addAggrTypedefs( Schema schema, FILE * classes ) { DictionaryEntry de; Type i; - static int firsttime = TRUE; - char nm[BUFSIZ]; - - SCOPEdo_types( schema, t, de ) - if( TYPEis_aggregate( t ) ) { - i = TYPEget_base_type( t ); - if( TYPEis_enumeration( i ) || TYPEis_select( i ) ) { - /* This if will pass if t was a 1D aggregate only. They are - // the only types which had to wait for their underlying type. - // 2D aggr's and higher only need type GenericAggr defined - // which is built-in. */ - if( firsttime ) { - fprintf( classes, "\n// Aggregate types (from all sche" ); - fprintf( classes, "mas) which depend on other types:\n" ); - firsttime = FALSE; + static bool firsttime = true; + char nm[BUFSIZ+1]; + + SCOPEdo_types( schema, t, de ) { + if( TYPEis_aggregate( t ) ) { + i = TYPEget_base_type( t ); + if( TYPEis_enumeration( i ) || TYPEis_select( i ) ) { + /* This if will pass if t was a 1D aggregate only. They are + // the only types which had to wait for their underlying type. + // 2D aggr's and higher only need type GenericAggr defined + // which is built-in. */ + if( firsttime ) { + fprintf( classes, "\n// Aggregate types (from all schemas) which depend on other types:\n" ); + firsttime = false; + } + strncpy( nm, ClassName( TYPEget_name( t ) ), BUFSIZ ); + nm[BUFSIZ-1] = '\0'; + fprintf( classes, "typedef %s %s;\n", TYPEget_ctype( t ), nm ); + fprintf( classes, "typedef %s * %sH;\n", nm, nm ); + fprintf( classes, "typedef %s * %s_ptr;\n", nm, nm ); + fprintf( classes, "typedef const %s * %s_ptr_c;\n", nm, nm ); } - strncpy( nm, ClassName( TYPEget_name( t ) ), BUFSIZ ); - fprintf( classes, "typedef %s %s;\n", - TYPEget_ctype( t ), nm ); - fprintf( classes, "typedef %s * %sH;\n", nm, nm ); - fprintf( classes, "typedef %s * %s_ptr;\n", nm, nm ); } - } - SCOPEod + } SCOPEod } -static void addUseRefNames( Schema schema, FILE * create ) -/* +/** * Checks the USE and REFERENCE dicts contained in schema. If either dict * contains items (types or entities) which are renamed in this schema, * code is written to add another member to the "altNames" list of the @@ -686,12 +686,12 @@ static void addUseRefNames( Schema schema, FILE * create ) * list will be used in the SCL to use the correct name of this type or * entity when reading and writing files. */ -{ +static void addUseRefNames( Schema schema, FILE * create ) { Dictionary useRefDict; DictionaryEntry de; Rename * rnm; - char * oldnm, schNm[BUFSIZ]; - static int firsttime = TRUE; + char * oldnm, schNm[BUFSIZ+1]; + static bool firsttime = true; if( ( useRefDict = schema->u.schema->usedict ) != NULL ) { DICTdo_init( useRefDict, &de ); @@ -705,9 +705,8 @@ static void addUseRefNames( Schema schema, FILE * create ) // from X. nnew would = old, but name would not be same // as rnm->object's name. */ if( firsttime ) { - fprintf( create, " // Alternate names for types and " ); - fprintf( create, "entities when used in other schemas:\n" ); - firsttime = FALSE; + fprintf( create, " // Alternate names for types and entities when used in other schemas:\n" ); + firsttime = false; } if( rnm->type == OBJ_TYPE ) { fprintf( create, " %s", TYPEtd_name( ( Type )rnm->object ) ); @@ -731,7 +730,7 @@ static void addUseRefNames( Schema schema, FILE * create ) if( firsttime ) { fprintf( create, " // Alternate names for types and " ); fprintf( create, "entities when used in other schemas:\n" ); - firsttime = FALSE; + firsttime = false; } if( rnm->type == OBJ_TYPE ) { fprintf( create, " %s", TYPEtd_name( ( Type )rnm->object ) ); diff --git a/src/fedex_plus/non-ors.cc b/src/exp2cxx/non-ors.cc similarity index 99% rename from src/fedex_plus/non-ors.cc rename to src/exp2cxx/non-ors.cc index 2ef5dd803..6b05bb378 100644 --- a/src/fedex_plus/non-ors.cc +++ b/src/exp2cxx/non-ors.cc @@ -11,7 +11,6 @@ *****************************************************************************/ #include "complexSupport.h" -#include MatchType SimpleList::matchNonORs( EntNode * ents ) /* diff --git a/src/fedex_plus/orlist.cc b/src/exp2cxx/orlist.cc similarity index 99% rename from src/fedex_plus/orlist.cc rename to src/exp2cxx/orlist.cc index dd0c9db88..809804320 100644 --- a/src/fedex_plus/orlist.cc +++ b/src/exp2cxx/orlist.cc @@ -11,7 +11,6 @@ *****************************************************************************/ #include "complexSupport.h" -#include int OrList::hit( const char * nm ) /* diff --git a/src/fedex_plus/print.cc b/src/exp2cxx/print.cc similarity index 99% rename from src/fedex_plus/print.cc rename to src/exp2cxx/print.cc index 0b1398a6d..b338c5954 100644 --- a/src/fedex_plus/print.cc +++ b/src/exp2cxx/print.cc @@ -8,7 +8,6 @@ *****************************************************************************/ #include "complexSupport.h" -#include // Local function prototypes: static char * joinText( JoinType, char * ); diff --git a/src/exp2cxx/rules.c b/src/exp2cxx/rules.c new file mode 100644 index 000000000..6dfe7aa96 --- /dev/null +++ b/src/exp2cxx/rules.c @@ -0,0 +1,61 @@ +#include "rules.h" +#include +#include "classes.h" + +#include + +/* print Where_rule's. for types, schema should be null - tename will include schema name */ +void WHEREprint( const char * tename, Linked_List wheres, FILE * impl, Schema schema, bool needWR ) { + if( wheres ) { + fprintf( impl, " %s%s%s->_where_rules = new Where_rule__list;\n", ( schema ? SCHEMAget_name( schema ) : "" ), ( schema ? "::" ENT_PREFIX : "" ), tename ); + if( needWR ) { + fprintf( impl, " Where_rule * wr;\n" ); + } + + LISTdo( wheres, w, Where ) { + fprintf( impl, " str.clear();\n"); + if( w->label ) { + fprintf( impl, " str.append( \"%s: (\" );\n", w->label->name ); + } else { + /* no label */ + fprintf( impl, " str.append( \"(\" );\n"); + } + format_for_std_stringout( impl, EXPRto_string( w->expr ) ); + + fprintf( impl, " str.append( \");\\n\" );\n"); + + fprintf( impl, " wr = new Where_rule( str.c_str() );\n" ); + fprintf( impl, " %s%s%s->_where_rules->Append( wr );\n", ( schema ? SCHEMAget_name( schema ) : "" ), ( schema ? "::" ENT_PREFIX : "" ), tename ); + + } LISTod + } +} + +/* print Uniqueness_rule's */ +void UNIQUEprint( Entity entity, FILE * impl, Schema schema ) { + Linked_List uniqs = entity->u.entity->unique; + if( uniqs ) { + fprintf( impl, " %s::%s%s->_uniqueness_rules = new Uniqueness_rule__set;\n", SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); + fprintf( impl, " Uniqueness_rule * ur;\n" ); + LISTdo( uniqs, list, Linked_List ) { + int i = 0; + fprintf( impl, " str.clear();\n"); + LISTdo_n( list, e, Expression, b ) { + i++; + if( i == 1 ) { + /* print label if present */ + if( e ) { + fprintf( impl, " str.append( \"%s : \" );\n", StrToUpper( ( ( Symbol * )e )->name ) ); + } + } else { + if( i > 2 ) { + fprintf( impl, " str.append( \", \" );\n"); + } + format_for_std_stringout( impl, EXPRto_string( e ) ); + } + } LISTod + fprintf( impl, " ur = new Uniqueness_rule( str.c_str() );\n" ); + fprintf( impl, " %s::%s%s->_uniqueness_rules->Append(ur);\n", SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); + } LISTod + } +} diff --git a/src/exp2cxx/rules.h b/src/exp2cxx/rules.h new file mode 100644 index 000000000..6f6e77cfb --- /dev/null +++ b/src/exp2cxx/rules.h @@ -0,0 +1,13 @@ +#ifndef RULES_H +#define RULES_H + +#include + +/** print Where_rule's. for types, schema should be null - tename will include schema name + type prefix */ +void WHEREprint( const char * tename, Linked_List wheres, FILE * impl, Schema schema, bool needWR ); + +/** print Uniqueness_rule's. only Entity type has them? */ +void UNIQUEprint( Entity entity, FILE * impl, Schema schema ); + + +#endif /* RULES_H */ diff --git a/src/fedex_plus/selects.c b/src/exp2cxx/selects.c similarity index 58% rename from src/fedex_plus/selects.c rename to src/exp2cxx/selects.c index c36a0a1c2..5d975cdde 100644 --- a/src/fedex_plus/selects.c +++ b/src/exp2cxx/selects.c @@ -1,10 +1,8 @@ -/** ***************************************************************** +/** ** \file selects.c ** FedEx parser output module for generating C++ class definitions -** December 5, 1989 -** release 2 17-Feb-1992 -** release 3 March 1993 -** release 4 December 1993 +** The functions in this file gener*ate C++ code for representing EXPRESS SELECT types. +** ** K. C. Morris ** ** Development of FedEx was funded by the United States Government, @@ -18,22 +16,12 @@ N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. extern int multiple_inheritance; -/************************************************************************** -******** The functions in this file generate C++ code for representing -******** EXPRESS SELECT types. -**************************************************************************/ -#include #include #include "classes.h" +#include "classes_type.h" +#include "classes_attribute.h" -#include - -int isAggregateType( const Type t ); -char * generate_attribute_name( Variable a, char * out ); -void ATTRsign_access_methods( Variable a, FILE * file ); -char * generate_attribute_func_name( Variable a, char * out ); -void ATTRprint_access_methods_get_head( const char * classnm, Variable a, FILE * file ); -void ATTRprint_access_methods_put_head( const char * entnm, Variable a, FILE * file ); +#include "./trace_fprintf.h" #define BASE_SELECT "SDAI_Select" @@ -45,7 +33,7 @@ void ATTRprint_access_methods_put_head( const char * entnm, Variable a, FILE * f ((t)->u.type->body->type == integer_) || \ ((t)->u.type->body->type == number_) ) #define PRINT_BUG_REPORT \ - fprintf( f, " std::cerr << __FILE__ << \":\" << __LINE__ << \": ERROR" \ + fprintf( f, "std::cerr << __FILE__ << \":\" << __LINE__ << \": ERROR" \ " in schema library: \\n\" \n << _POC_ << \"\\n\\n\";\n"); #define PRINT_SELECTBUG_WARNING(f) \ @@ -65,34 +53,20 @@ void ATTRprint_access_methods_put_head( const char * entnm, Variable a, FILE * f static void initSelItems( const Type, FILE * ); -const char * -SEL_ITEMget_enumtype( Type t ) { +const char * SEL_ITEMget_enumtype( Type t ) { return StrToUpper( TYPEget_name( t ) ); } - -/****************************************************************** - ** Procedure: TYPEget_utype - ** Parameters: Type t - ** Returns: type used to represent the underlying type in a select class - ** Description: - ** Side Effects: - ** Status: - ******************************************************************/ - -const char * -TYPEget_utype( Type t ) { +/** \returns type used to represent the underlying type in a select class + */ +const char * TYPEget_utype( Type t ) { return ( TYPEis_entity( t ) ? "SDAI_Application_instance_ptr" : TYPEget_ctype( t ) ); } -/******************* -LISTmember - -determines if the given entity is a member of the list. +/** determines if the given entity is a member of the list. RETURNS the member if it is a member; otherwise 0 is returned. -*******************/ -Generic -LISTmember( const Linked_List list, Generic e ) { +*/ +void *LISTmember( const Linked_List list, void *e ) { Link node; for( node = list->mark->next; node != list->mark; node = node->next ) if( e == node -> data ) { @@ -101,19 +75,15 @@ LISTmember( const Linked_List list, Generic e ) { return ( 0 ); } -/******************* - compareOrigTypes - - Specialized function to catch if two enumerations, two selects, or two aggrs +/** Specialized function to catch if two enumerations, two selects, or two aggrs of either, are of the same type. The issue is that e.g. select B may be a rename of sel A (i.e., TYPE B = A;). Such renamed types are implemented by - fedex_plus with typedefs, so that they are in fact the same type. TYPEget_- + exp2cxx with typedefs, so that they are in fact the same type. TYPEget_- ctype() is used for most type comparisons and does not consider renamed types equivalent. This function is called in instances when they should be consi- dered equivalent. One such case is the generation of duplicate lists. - *******************/ -static int -compareOrigTypes( Type a, Type b ) { + */ +static int compareOrigTypes( Type a, Type b ) { Type t, u; if( ( TYPEis_select( a ) && TYPEis_select( b ) ) @@ -127,9 +97,9 @@ compareOrigTypes( Type a, Type b ) { || ( TYPEis_enumeration( t ) && TYPEis_enumeration( u ) ) ) ) { return FALSE; /* Only go further with 1D aggregates of sels or enums. Note that - // for 2D aggrs and higher we do not continue. These are all recog- - // nized to be the same type ("GenericAggregate") by TYPEget_ctype(), - // and do not have to be handled specially here. */ + for 2D aggrs and higher we do not continue. These are all recog- + nized to be the same type ("GenericAggregate") by TYPEget_ctype(), + and do not have to be handled specially here. */ } } else { return FALSE; @@ -144,19 +114,15 @@ compareOrigTypes( Type a, Type b ) { return ( !strcmp( TYPEget_name( t ), TYPEget_name( u ) ) ); } -/******************* - utype_member - - determines if the given "link's" underlying type is a member of the list. +/** determines if the given "link's" underlying type is a member of the list. RETURNS the underlying type if it is a member; otherwise 0 is returned. If "rename" is TRUE, we also consider check to match in certain cases where list already has an item that check is a renaming of (see header comments to compareOrigTypes() above). - *******************/ -const char * -utype_member( const Linked_List list, const Type check, int rename ) { - static char r [BUFSIZ]; + */ +const char * utype_member( const Linked_List list, const Type check, int rename ) { + static char r [BUFSIZ+1]; bool checkIsEntity = TYPEis_entity( check ); LISTdo( list, t, Type ) { @@ -175,18 +141,13 @@ utype_member( const Linked_List list, const Type check, int rename ) { return 0; } -/** -*** SELgetnew_dmlist (const Type type) -*** Returns a list of types which have unique underlying types -*** The returned list includes all the types which have a data members -*** in the select type. -*** -*** The list that is returned needs to be freed by the caller. -***/ - - -Linked_List -SELgetnew_dmlist( const Type type ) { +/** Returns a list of types which have unique underlying types + * The returned list includes all the types which have a data members + * in the select type. + * + * The list that is returned needs to be freed by the caller. + */ +Linked_List SELgetnew_dmlist( const Type type ) { Linked_List complete = SEL_TYPEget_items( type ); Linked_List newlist = LISTcreate(); @@ -194,7 +155,7 @@ SELgetnew_dmlist( const Type type ) { /* if t\'s underlying type is not already in newlist, */ if( ! utype_member( newlist, t, 0 ) ) { - LISTadd_last( newlist, ( Generic ) t ); + LISTadd_last( newlist, t ); } LISTod; @@ -203,24 +164,18 @@ SELgetnew_dmlist( const Type type ) { } -const char * -SEL_ITEMget_dmtype( Type t, const Linked_List l ) { +const char * SEL_ITEMget_dmtype( Type t, const Linked_List l ) { const char * r = utype_member( l, t, 0 ); return StrToLower( r ? r : TYPEget_utype( t ) ); } - -/** -*** SEL_ITEMget_dmname (Type t) -*** Returns the name of the data member in the select class for the item of -*** the select having the type t. -*** Logical and boolean are handled as exceptions because TYPEget_utype() -*** returns "PSDAI::..." for them which is not a legal variable name. -***/ - -const char * -SEL_ITEMget_dmname( Type t ) { +/** Returns the name of the data member in the select class for the item of + * the select having the type t. + * Logical and boolean are handled as exceptions because TYPEget_utype() + * returns "PSDAI::..." for them which is not a legal variable name. + */ +const char * SEL_ITEMget_dmname( Type t ) { Class_Of_Type class = TYPEget_type( t ); if( class == integer_ ) { @@ -250,15 +205,11 @@ SEL_ITEMget_dmname( Type t ) { return ( StrToLower( TYPEget_utype( t ) ) ); } -/******************* -duplicate_in_express_list - -determines if the given "link's" underlying type is a multiple member +/** determines if the given "link's" underlying type is a multiple member of the list. RETURNS 1 if true, else 0. -*******************/ -int -duplicate_in_express_list( const Linked_List list, const Type check ) { +*/ +int duplicate_in_express_list( const Linked_List list, const Type check ) { if( TYPEis_entity( check ) ) { return FALSE; } @@ -274,15 +225,11 @@ duplicate_in_express_list( const Linked_List list, const Type check ) { return FALSE; } -/******************* -unique_types ( const Linked_List list ) - -determines if any of the types in a select type resolve to the same +/** determines if any of the types in a select type resolve to the same underlying Express type. RETURNS 1 if true, else 0. -*******************/ -int -unique_types( const Linked_List list ) { +*/ +int unique_types( const Linked_List list ) { LISTdo( list, t, Type ) if( duplicate_in_express_list( list, t ) ) { return FALSE; @@ -292,15 +239,11 @@ unique_types( const Linked_List list ) { } -/******************* -duplicate_utype_member - -determines if the given "link's" C++ representation is used again in the list. +/** determines if the given "link's" C++ representation is used again in the list. RETURNS 1 if true, else 0. -*******************/ -int -duplicate_utype_member( const Linked_List list, const Type check ) { - char b [BUFSIZ]; +*/ +int duplicate_utype_member( const Linked_List list, const Type check ) { + char b [BUFSIZ+1]; if( TYPEis_entity( check ) ) { return FALSE; @@ -331,15 +274,11 @@ duplicate_utype_member( const Linked_List list, const Type check ) { return FALSE; } -/******************* -any_duplicates_in_select - -determines if any of the types in a select type resolve to the same +/** determines if any of the types in a select type resolve to the same C++ representation for the underlying Express type. RETURNS 1 if true, else 0. -*******************/ -int -any_duplicates_in_select( const Linked_List list ) { +*/ +int any_duplicates_in_select( const Linked_List list ) { LISTdo( list, t, Type ) if( duplicate_utype_member( list, t ) ) { return TRUE; @@ -348,16 +287,12 @@ any_duplicates_in_select( const Linked_List list ) { return FALSE; } -/******************* -find_duplicate_list - -finds an instance of each kind of duplicate type found in the given list. +/** finds an instance of each kind of duplicate type found in the given list. This list is returned as dup_list. If a duplicate exists, the function returns TRUE, else FALSE. list should be unbound before calling, and freed afterwards. -*******************/ -int -find_duplicate_list( const Type type, Linked_List * duplicate_list ) { +*/ +int find_duplicate_list( const Type type, Linked_List * duplicate_list ) { Linked_List temp; /** temporary list for comparison **/ *duplicate_list = LISTcreate(); @@ -368,9 +303,9 @@ find_duplicate_list( const Type type, Linked_List * duplicate_list ) { if( !utype_member( *duplicate_list, u, 1 ) ) { /** if not already a duplicate **/ if( utype_member( temp, u, 1 ) ) { - LISTadd_first( *duplicate_list, ( Generic ) u ); + LISTadd_first( *duplicate_list, u ); } else { - LISTadd_first( temp, ( Generic ) u ); + LISTadd_first( temp, u ); } } LISTod; @@ -380,13 +315,7 @@ find_duplicate_list( const Type type, Linked_List * duplicate_list ) { return FALSE; } -/******************* -non_unique_types_string ( const Type type ) - -returns a string containing the non-unique EXPRESS types deriveable -from a select. the returned string is in the form (TYPE | TYPE |...) -*******************/ -/* In the functions below, we use a vector of ints to count paths in the +/** In the functions below, we use a vector of ints to count paths in the select-graph to base types. The names in this enum correspond to the indices in the vector, i.e., tvec[treal] == tvec[1], and contains the number of paths to REAL in the graph @@ -404,12 +333,11 @@ enum __types { tnumber /* NUMBER */ }; -/* This function gets called recursively, to follow a select-graph to its +/** This function gets called recursively, to follow a select-graph to its leaves. It passes around the vector described above, to track paths to the leaf nodes. */ -void -non_unique_types_vector( const Type type, int * tvec ) { +void non_unique_types_vector( const Type type, int * tvec ) { LISTdo( SEL_TYPEget_items( type ), t, Type ) switch( TYPEget_body( t )->type ) { case integer_: @@ -447,20 +375,19 @@ non_unique_types_vector( const Type type, int * tvec ) { tvec[tnumber]++; break; default: - fprintf( stderr, "non_unique_types_vector: can't handle unknow type %d\n", + fprintf( stderr, "non_unique_types_vector: can't handle unknown type %d\n", TYPEget_body( t )->type ); abort(); } LISTod; } -/* Uses non_unique_types_vector on the select to get a vector of base-type +/** Uses non_unique_types_vector on the select to get a vector of base-type reference counts, then uses that to make a string of types, of the form (FOO_TYPE | BAR_TYPE | BAZ_TYPE), where FOO, BAR, and BAZ are EXPRESS types. If all types are unique, the string (0) is generated. */ -char * -non_unique_types_string( const Type type ) { +char * non_unique_types_string( const Type type ) { int tvec[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; char * typestr; int first = 1; @@ -469,7 +396,7 @@ non_unique_types_string( const Type type ) { non_unique_types_vector( type, tvec ); /* build type string from vector */ - typestr = ( char * )sc_malloc( BUFSIZ ); + typestr = ( char * )malloc( BUFSIZ + 1 ); typestr[0] = '\0'; strcat( typestr, ( char * )"(" ); for( i = 0; i <= tnumber; i++ ) { @@ -518,61 +445,45 @@ non_unique_types_string( const Type type ) { -/****************************************************************** - ** Procedure: ATTR_LISTmember - ** Parameters: Linked_List l, Variable check - ** Returns: the attribute if an attribute with the same name as "check" - ** is on the list, 0 otherwise - ** Description: checks to see if an attribute is a member of the list - ** Side Effects: - ** Status: 26-Oct-1993 done - ******************************************************************/ - -Variable -ATTR_LISTmember( Linked_List l, Variable check ) { - char nm [BUFSIZ]; - char cur [BUFSIZ]; +/** checks to see if an attribute is a member of the list + * \returns the attribute 'check' if an attribute with the same name is on the list, 0 otherwise + */ +Variable ATTR_LISTmember( Linked_List l, Variable check ) { + char nm [BUFSIZ+1]; + char cur [BUFSIZ+1]; generate_attribute_name( check, nm ); - LISTdo( l, a, Variable ) - generate_attribute_name( a, cur ); - if( ! strcmp( nm, cur ) ) { - return check; - } - LISTod; + LISTdo( l, a, Variable ) { + generate_attribute_name( a, cur ); + if( ! strcmp( nm, cur ) ) { + return check; + } + } LISTod; return ( 0 ); } -/****************************************************************** - ** Procedure: SEL_TYPEgetnew_attribute_list - ** Parameters: const Type type - ** Returns: Returns a list of all the attributes for a select type. - ** The list is the union of all the attributes of the underlying types. - ** Description: - ** Side Effects: -*** The list that is returned needs to be freed by the caller. - ** Status: - ******************************************************************/ - -Linked_List -SEL_TYPEgetnew_attribute_list( const Type type ) { +/** \returns a list that is the union of all the attributes for a select type. + * Side Effects: + * The list that is returned needs to be freed by the caller. + */ +Linked_List SEL_TYPEgetnew_attribute_list( const Type type ) { Linked_List complete = SEL_TYPEget_items( type ); Linked_List newlist = LISTcreate(); Linked_List attrs; Entity cur; - LISTdo( complete, t, Type ) - if( TYPEis_entity( t ) ) { - cur = ENT_TYPEget_entity( t ); - attrs = ENTITYget_all_attributes( cur ); - LISTdo( attrs, a, Variable ) - if( ! ATTR_LISTmember( newlist, a ) ) { - LISTadd_first( newlist, ( Generic ) a ); + LISTdo( complete, t, Type ) { + if( TYPEis_entity( t ) ) { + cur = ENT_TYPEget_entity( t ); + attrs = ENTITYget_all_attributes( cur ); + LISTdo_n( attrs, a, Variable, b ) { + if( ! ATTR_LISTmember( newlist, a ) ) { + LISTadd_first( newlist, a ); + } + } LISTod } - LISTod; - } - LISTod; + } LISTod return newlist; } @@ -582,16 +493,18 @@ SEL_TYPEgetnew_attribute_list( const Type type ) { void TYPEselect_inc_print_vars( const Type type, FILE * f, Linked_List dups ) { int size, j; Linked_List data_members = SELgetnew_dmlist( type ); - char dmname [BUFSIZ], - classnm [BUFSIZ], - tdnm [BUFSIZ]; + char dmname [BUFSIZ+1], + classnm [BUFSIZ+1], + tdnm [BUFSIZ+1]; strncpy( classnm, SelectName( TYPEget_name( type ) ), BUFSIZ ); + classnm[BUFSIZ-1] = '\0'; strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); + tdnm[BUFSIZ-1] = '\0'; size = strlen( classnm ) + 2; /* for formatting output */ fprintf( f, "\n////////// SELECT TYPE %s\n", SelectName( TYPEget_name( type ) ) ); - fprintf( f, "class %s : public " BASE_SELECT " {\n", classnm ); + fprintf( f, "class SC_SCHEMA_EXPORT %s : public " BASE_SELECT " {\n", classnm ); fprintf( f, " protected:\n" ); fprintf( f, " // types in SELECT \n" ); LISTdo( SEL_TYPEget_items( type ), t, Type ) { @@ -620,12 +533,12 @@ void TYPEselect_inc_print_vars( const Type type, FILE * f, Linked_List dups ) { fprintf( f, " virtual void STEPwrite_verbose (ostream& out =std::cout,\n" " const char *currSch =0) const;\n" ); fprintf( f, " virtual Severity STEPread_content (istream& in =cin,\n" - " InstMgr * instances =0, const char *utype =0,\n" + " InstMgrBase * instances =0, const char *utype =0,\n" " int addFileId =0, const char *currSch =0);\n" ); /* read StrToVal_content */ fprintf( f, " virtual Severity StrToVal_content " - "(const char *,\n InstMgr * instances =0);\n" ); + "(const char *,\n InstMgrBase * instances =0);\n" ); /* constructor(s) */ fprintf( f, "\n// STEP Part 22: SDAI\n" ); @@ -664,14 +577,13 @@ void TYPEselect_inc_print_vars( const Type type, FILE * f, Linked_List dups ) { LISTfree( data_members ); } -/******************* -TYPEselect_inc_print prints the class member function declarations of a select -class. -*******************/ -void -TYPEselect_inc_print( const Type type, FILE * f ) { - char n[BUFSIZ]; /* class name */ - char tdnm [BUFSIZ]; /* TypeDescriptor name */ +/** +* TYPEselect_inc_print prints the class member function declarations of a select +* class. +*/ +void TYPEselect_inc_print( const Type type, FILE * f ) { + char n[BUFSIZ+1]; /* class name */ + char tdnm [BUFSIZ+1]; /* TypeDescriptor name */ Linked_List dups; int dup_result; Linked_List attrs; @@ -788,16 +700,15 @@ TYPEselect_inc_print( const Type type, FILE * f ) { } -/******************* -TYPEselect_lib_print_part_one prints constructor(s)/destructor of a select -class. -*******************/ -void -TYPEselect_lib_print_part_one( const Type type, FILE * f, Schema schema, +/** +* TYPEselect_lib_print_part_one prints constructor(s)/destructor of a select +* class. +*/ +void TYPEselect_lib_print_part_one( const Type type, FILE * f, Linked_List dups, char * n ) { #define schema_name SCHEMAget_name(schema) - char tdnm[BUFSIZ], - nm[BUFSIZ]; + char tdnm[BUFSIZ+1], + nm[BUFSIZ+1]; int size = strlen( n ) * 2 + 4, j; /* size - for formatting output */ strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); @@ -816,13 +727,26 @@ TYPEselect_lib_print_part_one( const Type type, FILE * f, Schema schema, fprintf( f, " *logStream << \"DAVE ERR entering %s constructor.\" << std::endl;\n", n ); fprintf( f, " }\n#endif\n" ); - //create objects for data member pointers. also in two more ctors below, and deleted in dtor which is printed at end of this function. + /* create objects for data member pointers. also in two more ctors below, and deleted in dtor which is printed at end of this function. */ LISTdo( dups, t, Type ) { if( isAggregateType( t ) && t->u.type->body->base ) { fprintf( f, " _%s = new %s;\n", SEL_ITEMget_dmname( t ), TYPEget_utype( t ) ); } - } - LISTod; + } LISTod + /* above misses some attr's that are initialized in part 1 ctor below. + * hopefully this won't add duplicates... + */ + LISTdo( SEL_TYPEget_items( type ), t, Type ) { + if( ( TYPEis_entity( t ) ) || ( !utype_member( dups, t, 1 ) ) ) { + if( isAggregateType( t ) && ( t->u.type->body->base ) ) { + fprintf( f, " _%s = new %s;\n", SEL_ITEMget_dmname( t ), TYPEget_utype( t ) ); + } else if (TYPEis_entity(t)) { + // Per TYPEget_utype, any TYPEis_entity is an + // SDAI_Application_instance_ptr - initialize it here. + fprintf(f, " _%s = NULL;\n", SEL_ITEMget_dmname(t)); + } + } + } LISTod fprintf( f, " nullify();\n" ); fprintf( f, "#ifdef SC_LOGGING\n if( *logStream )\n {\n" ); fprintf( f, "// *logStream << \"DAVE ERR exiting %s constructor.\" << std::endl;\n", n ); @@ -831,102 +755,96 @@ TYPEselect_lib_print_part_one( const Type type, FILE * f, Schema schema, /* constructors with underlying types */ fprintf( f, "\n // part 1\n" ); - LISTdo( SEL_TYPEget_items( type ), t, Type ) - if( ( TYPEis_entity( t ) ) - || ( !utype_member( dups, t, 1 ) ) ) { - /* if there is not more than one underlying type that maps to the same - * base type print out the constructor using the type from the TYPE - * statement as the underlying type. Also skip enums/sels which are - * renames of other items. That would create redundant constructors - * since renames are typedef'ed to the original type. - */ - fprintf( f, "%s::%s( const %s& o,\n", n, n, AccessType( t ) ); - for( j = 0; j < size; j++ ) { - fprintf( f, " " ); - } - /* Did this for the heck of it, and to show how easy it would have - been to make it all pretty - DAR. ;-) */ - fprintf( f, "const SelectTypeDescriptor *typedescript )\n" ); - - fprintf( f, " : " BASE_SELECT " (typedescript, %s)", - TYPEtd_name( t ) ); - initSelItems( type, f ); - fprintf( f, "\n{\n" ); - fprintf( f, "#ifdef SC_LOGGING\n if( *logStream )\n {\n" ); - fprintf( f, - " *logStream << \"DAVE ERR entering %s constructor.\"" - " << std::endl;\n", n ); - fprintf( f, " }\n#endif\n" ); - - if( isAggregateType( t ) ) { - if( t->u.type->body->base ) { - fprintf( f, " _%s = new %s;\n", SEL_ITEMget_dmname( t ), TYPEget_utype( t ) ); - } - fprintf( f, " _%s%sShallowCopy (*o);\n", SEL_ITEMget_dmname( t ), - ( ( t->u.type->body->base ) ? "->" : "." ) ); - } else { - fprintf( f, " _%s = o;\n", SEL_ITEMget_dmname( t ) ); - } - fprintf( f, "#ifdef SC_LOGGING\n if( *logStream )\n {\n" ); - fprintf( f, - "// *logStream << \"DAVE ERR exiting %s constructor.\"" - " << std::endl;\n", n ); - fprintf( f, " }\n#endif\n" ); - - fprintf( f, "}\n\n" ); - } - LISTod; - LISTdo( dups, t, Type ) - /* if there is more than one underlying type that maps to the - * same base type, print a constructor using the base type. - */ - if( ! TYPEis_entity( t ) ) { /* entities were done already */ - if( isAggregateType( t ) ) { + LISTdo( SEL_TYPEget_items( type ), t, Type ) { + if( ( TYPEis_entity( t ) ) || ( !utype_member( dups, t, 1 ) ) ) { + /* if there is not more than one underlying type that maps to the same + * base type print out the constructor using the type from the TYPE + * statement as the underlying type. Also skip enums/sels which are + * renames of other items. That would create redundant constructors + * since renames are typedef'ed to the original type. + */ fprintf( f, "%s::%s( const %s& o,\n", n, n, AccessType( t ) ); for( j = 0; j < size; j++ ) { fprintf( f, " " ); } + /* Did this for the heck of it, and to show how easy it would have + been to make it all pretty - DAR. ;-) */ fprintf( f, "const SelectTypeDescriptor *typedescript )\n" ); - fprintf( f, " : " BASE_SELECT " ( typedescript, %s )", - TYPEtd_name( t ) ); + + fprintf( f, " : " BASE_SELECT " (typedescript, %s)", TYPEtd_name( t ) ); initSelItems( type, f ); fprintf( f, "\n{\n" ); + fprintf( f, "#ifdef SC_LOGGING\n if( *logStream ) { " ); + fprintf( f, "*logStream << \"DAVE ERR entering %s constructor.\" << std::endl; }\n", n ); + fprintf( f, "#endif\n" ); + + if( isAggregateType( t ) ) { + if( t->u.type->body->base ) { + fprintf( f, " _%s = new %s;\n", SEL_ITEMget_dmname( t ), TYPEget_utype( t ) ); + } + fprintf( f, " _%s%sShallowCopy (*o);\n", SEL_ITEMget_dmname( t ), + ( ( t->u.type->body->base ) ? "->" : "." ) ); + } else { + fprintf( f, " _%s = o;\n", SEL_ITEMget_dmname( t ) ); + } + fprintf( f, "#ifdef SC_LOGGING\n if( *logStream ) { " ); + fprintf( f, "*logStream << \"DAVE ERR exiting %s constructor.\" << std::endl; }\n", n ); + fprintf( f, "#endif\n" ); + + fprintf( f, "}\n\n" ); + } + } LISTod + LISTdo( dups, t, Type ) { + /* if there is more than one underlying type that maps to the + * same base type, print a constructor using the base type. + */ + if( ! TYPEis_entity( t ) ) { /* entities were done already */ + if( isAggregateType( t ) ) { + fprintf( f, "%s::%s( const %s& o,\n", n, n, AccessType( t ) ); + for( j = 0; j < size; j++ ) { + fprintf( f, " " ); + } + fprintf( f, "const SelectTypeDescriptor *typedescript )\n" ); + fprintf( f, " : " BASE_SELECT " ( typedescript, %s )", + TYPEtd_name( t ) ); + initSelItems( type, f ); + fprintf( f, "\n{\n" ); + fprintf( f, "#ifdef SC_LOGGING\n if( *logStream )\n {\n" ); + fprintf( f, + " *logStream << \"DAVE ERR entering %s constructor.\"" + " << std::endl;\n", n ); + fprintf( f, " }\n#endif\n" ); + if( t->u.type->body->base ) { + fprintf( f, " _%s = new %s;\n", SEL_ITEMget_dmname( t ), TYPEget_utype( t ) ); + } + fprintf( f, " _%s%sShallowCopy (*o);\n", SEL_ITEMget_dmname( t ), ( ( t->u.type->body->base ) ? "->" : "." ) ); + } else { + fprintf( f, "%s::%s( const %s& o,\n", n, n, TYPEget_utype( t ) ); + for( j = 0; j < size; j++ ) { + fprintf( f, " " ); + } + fprintf( f, "const SelectTypeDescriptor *typedescript )\n" ); + fprintf( f, " : " BASE_SELECT " ( typedescript, %s )", + TYPEtd_name( t ) ); + initSelItems( type, f ); + fprintf( f, "\n{\n" ); + fprintf( f, " _%s = o;\n", SEL_ITEMget_dmname( t ) ); + } + fprintf( f, + "// NOTE: Underlying type defaults to %s instead of NULL\n", + TYPEtd_name( t ) ); fprintf( f, "#ifdef SC_LOGGING\n if( *logStream )\n {\n" ); fprintf( f, - " *logStream << \"DAVE ERR entering %s constructor.\"" - " << std::endl;\n", n ); + "// *logStream << \"DAVE ERR exiting %s constructor.\"" + " << std::endl;\n", n ); fprintf( f, " }\n#endif\n" ); - if( t->u.type->body->base ) { - fprintf( f, " _%s = new %s;\n", SEL_ITEMget_dmname( t ), TYPEget_utype( t ) ); - } - fprintf( f, " _%s%sShallowCopy (*o);\n", SEL_ITEMget_dmname( t ), ( ( t->u.type->body->base ) ? "->" : "." ) ); - } else { - fprintf( f, "%s::%s( const %s& o,\n", n, n, TYPEget_utype( t ) ); - for( j = 0; j < size; j++ ) { - fprintf( f, " " ); - } - fprintf( f, "const SelectTypeDescriptor *typedescript )\n" ); - fprintf( f, " : " BASE_SELECT " ( typedescript, %s )", - TYPEtd_name( t ) ); - initSelItems( type, f ); - fprintf( f, "\n{\n" ); - fprintf( f, " _%s = o;\n", SEL_ITEMget_dmname( t ) ); + fprintf( f, "}\n\n" ); } - fprintf( f, - "// NOTE: Underlying type defaults to %s instead of NULL\n", - TYPEtd_name( t ) ); - fprintf( f, "#ifdef SC_LOGGING\n if( *logStream )\n {\n" ); - fprintf( f, - "// *logStream << \"DAVE ERR exiting %s constructor.\"" - " << std::endl;\n", n ); - fprintf( f, " }\n#endif\n" ); - fprintf( f, "}\n\n" ); - } - LISTod; + } LISTod - //dtor - fprintf( f, "%s::~%s()\n{\n", n, n ); - //delete objects that data members point to + /* dtor */ + fprintf( f, "%s::~%s() {\n", n, n ); + /* delete objects that data members point to */ LISTdo( dups, t, Type ) { if( isAggregateType( t ) && t->u.type->body->base ) { fprintf( f, " if( _%s ) {\n", SEL_ITEMget_dmname( t ) ); @@ -935,6 +853,16 @@ TYPEselect_lib_print_part_one( const Type type, FILE * f, Schema schema, } } LISTod; + LISTdo( SEL_TYPEget_items( type ), t, Type ) { + if( ( TYPEis_entity( t ) ) || ( !utype_member( dups, t, 1 ) ) ) { + if( isAggregateType( t ) && ( t->u.type->body->base ) ) { + fprintf( f, " if( _%s ) {\n", SEL_ITEMget_dmname( t ) ); + fprintf( f, " delete _%s;\n", SEL_ITEMget_dmname( t ) ); + fprintf( f, " _%s = 0;\n }\n", SEL_ITEMget_dmname( t ) ); + } + } + } LISTod + fprintf( f, "}\n\n" ); fprintf( f, "%s_agg::%s_agg( SelectTypeDescriptor *s)\n" @@ -943,15 +871,13 @@ TYPEselect_lib_print_part_one( const Type type, FILE * f, Schema schema, #undef schema_name } -static void -initSelItems( const Type type, FILE * f ) -/* +/** * Creates initialization functions for the select items of a select. The * selects must have their typedescriptors set properly. If a select is a * renaming of another select ("TYPE selB = selA") its td would default to * selA's, so it must be set specifically. */ -{ +static void initSelItems( const Type type, FILE * f ) { Linked_List data_members = SELgetnew_dmlist( type ); LISTdo( data_members, t, Type ) @@ -962,17 +888,16 @@ initSelItems( const Type type, FILE * f ) LISTod; } -Linked_List -ENTITYget_expanded_entities( Entity e, Linked_List l ) { +Linked_List ENTITYget_expanded_entities( Entity e, Linked_List l ) { Linked_List supers; - int super_cnt = 0; Entity super; - if( ! LISTmember( l, ( Generic ) e ) ) { - LISTadd_first( l, ( Generic ) e ); + if( ! LISTmember( l, e ) ) { + LISTadd_first( l, e ); } if( multiple_inheritance ) { + int super_cnt = 0; supers = ENTITYget_supertypes( e ); LISTdo( supers, s, Entity ) /* ignore the more than one supertype @@ -991,8 +916,7 @@ ENTITYget_expanded_entities( Entity e, Linked_List l ) { return l; } -Linked_List -SELget_entity_itemlist( const Type type ) { +Linked_List SELget_entity_itemlist( const Type type ) { Linked_List complete = SEL_TYPEget_items( type ); Linked_List newlist = LISTcreate(); Entity cur; @@ -1007,382 +931,348 @@ SELget_entity_itemlist( const Type type ) { } -static int -memberOfEntPrimary( Entity ent, Variable uattr ) -/* +/** * Specialized function used in function TYPEselect_lib_print_part_three * below. Calls a function to check if an attribute of an entity belongs * to its primary path (is its own attr, that of its first super, that of * its first super's first super etc), and does necessary housekeeping. */ -{ +static int memberOfEntPrimary( Entity ent, Variable uattr ) { Linked_List attrlist = LISTcreate(); int result; ENTITYget_first_attribs( ent, attrlist ); - result = ( LISTmember( attrlist, ( Generic ) uattr ) != 0 ); + result = ( LISTmember( attrlist, uattr ) != 0 ); LIST_destroy( attrlist ); return result; } -/******************* -TYPEselect_lib_print_part_three prints part 3) of the SDAI C++ binding for -a select class -- access functions for the data members of underlying entity -types. -*******************/ -void -TYPEselect_lib_print_part_three( const Type type, FILE * f, Schema schema, - char * classnm ) { -#define ENTITYget_type(e) ((e)->u.entity->type) - - char uent[BUFSIZ], /* name of underlying entity type */ - utype[BUFSIZ], /* underlying type name */ - attrnm [BUFSIZ], /* attribute name -> data member = _attrnm */ - funcnm[BUFSIZ]; /* access function name = Attrnm */ - Linked_List items = SEL_TYPEget_items( type ); - /* all the items in the select type */ - Linked_List attrs = SEL_TYPEgetnew_attribute_list( type ); - /* list of attributes with unique names */ - Entity ent; - Variable uattr; /* attribute in underlying type */ - - fprintf( f, "\n // part 3\n" ); +void TYPEselect_lib_part_three_getter( const Type type, const char * classnm, const char * attrnm, const char * utype, char * uent, char * funcnm, + Linked_List items, Variable a, Variable uattr, Entity ent, FILE * f, bool returnConst ) { + /* return a const value? */ + const char * constStr = "const "; + const char * constReturn = ( returnConst ? constStr : "" ); + /* method can be const or non-const? */ + bool notAlwaysConst = attrIsObj( VARget_type( a ) ); - LISTdo( attrs, a, Variable ) - /* go through all the unique attributes */ - if( VARget_initializer( a ) == EXPRESSION_NULL ) { - /* only do for explicit attributes */ - generate_attribute_func_name( a, funcnm ); - generate_attribute_name( a, attrnm ); - /* - strncpy (funcnm, attrnm, BUFSIZ); - funcnm [0] = toupper (funcnm[0]); - */ - /* use the ctype since utype will be the same for all entities */ - strncpy( utype, TYPEget_ctype( VARget_type( a ) ), BUFSIZ ); + ATTRprint_access_methods_get_head( classnm, a, f, returnConst ); - /* get method */ - ATTRprint_access_methods_get_head( classnm, a, f ); - fprintf( f, "{\n" ); + /* if there will not be const and non-const getters, then this method should be const */ + fprintf( f, "%s{\n", ( notAlwaysConst ? constReturn : constStr ) ); - LISTdo( items, t, Type ) - if( TYPEis_entity( t ) && - ( uattr = ENTITYget_named_attribute - ( ( ent = ENT_TYPEget_entity( t ) ), - ( char * ) StrToLower( attrnm ) ) ) ) - - { + LISTdo( items, t, Type ) { + if( TYPEis_entity( t ) && ( uattr = ENTITYget_named_attribute( + ( ent = ENT_TYPEget_entity( t ) ), ( char * ) StrToLower( attrnm ) ) ) ) { /* for the select items which have the current attribute */ if( !multiple_inheritance ) { if( !memberOfEntPrimary( ent, uattr ) ) { - /* If multiple inheritance is not supported, we must addi- - tionally check that uattr is a member of the entity's - primary inheritance path (i.e., the entity, its first - supertype, the super's first super, etc). The above - `if' is commented out, because currently mult inher is - not supported to the extent of handling accessor func- - tions for non-primary supertypes. */ + /* If multiple inheritance is not supported, we must additionally check + * that uattr is a member of the entity's primary inheritance path + * (i.e., the entity, its first supertype, the super's first super, + * etc). The above `if' is commented out, because currently mult inher + * is not supported to the extent of handling accessor functions for + * non-primary supertypes. */ continue; } } if( ! VARis_derived( uattr ) ) { if( !strcmp( utype, TYPEget_ctype( VARget_type( uattr ) ) ) ) { - /* check to make sure the underlying attribute\'s type is - the same as the current attribute. - */ + /* check to make sure the underlying attribute\'s type is + * the same as the current attribute. */ strncpy( uent, TYPEget_ctype( t ), BUFSIZ ); - /* if the underlying type is that item\'s type - call the underlying_item\'s member function */ - // if it is the same attribute + /* if the underlying type is that item's type, call the underlying_item's + * member function if it is the same attribute */ if( VARis_overrider( ENT_TYPEget_entity( t ), uattr ) ) { - // update attribute_func_name because is has been overrid + /* update attribute_func_name because is has been overridden */ generate_attribute_func_name( uattr, funcnm ); } else { generate_attribute_func_name( a, funcnm ); } - fprintf( f, - " if( CurrentUnderlyingType () == %s ) \n // %s\n", - TYPEtd_name( t ), StrToUpper( TYPEget_name( t ) ) ); - fprintf( f, " return ((%s) _%s) ->%s();\n", - uent, SEL_ITEMget_dmname( t ), funcnm ); + fprintf( f, " if( CurrentUnderlyingType () == %s ) \n // %s\n", + TYPEtd_name( t ), StrToUpper( TYPEget_name( t ) ) ); + fprintf( f, " return ((%s%s) _%s) ->%s();\n", constReturn, uent, SEL_ITEMget_dmname( t ), funcnm ); } else { /* types are not the same issue a warning */ fprintf( stderr, - "WARNING: in SELECT TYPE %s: ambiguous " - "attribute \"%s\" from underlying type \"%s\".\n\n", - TYPEget_name( type ), attrnm, TYPEget_name( t ) ); + "WARNING: in SELECT TYPE %s: ambiguous " + "attribute \"%s\" from underlying type \"%s\".\n\n", + TYPEget_name( type ), attrnm, TYPEget_name( t ) ); fprintf( f, " // %s\n // attribute access function" - " has a different return type\n", - StrToUpper( TYPEget_name( t ) ) ); + " has a different return type\n", + StrToUpper( TYPEget_name( t ) ) ); } } else /* derived attributes */ fprintf( f, " // for %s attribute is derived\n", - StrToUpper( TYPEget_name( t ) ) ); - } - LISTod; - PRINT_BUG_REPORT - - /* If the return type is an enumeration class then you can\'t - return NULL. Instead I made the return type the - enumeration value. This causes a WARNING about going from - int (NULL) to the enumeration type. To get rid of the - WARNING you could add an explicit cast (using the code - commented out below. - - Another option is to have the return type be the - enumeration class and create special "NULL" instances of - the class for every enumeration. This option was not - implemented. - - kcm 28-Mar-1995 - */ - - + StrToUpper( TYPEget_name( t ) ) ); + } + } LISTod; + PRINT_BUG_REPORT - /* EnumName (TYPEget_name (VARget_type (a)))*/ - switch( TYPEget_body( VARget_type( a ) ) -> type ) { - case enumeration_: - fprintf( f, " return (%s) 0;\n}\n\n", - EnumName( TYPEget_name( VARget_type( a ) ) ) ); - break; + /* If the return type is an enumeration class then you can\'t + * return NULL. Instead I made the return type the + * enumeration value. This causes a WARNING about going from + * int (NULL) to the enumeration type. To get rid of the + * WARNING you could add an explicit cast (using the code + * commented out below. + * + * Another option is to have the return type be the + * enumeration class and create special "NULL" instances of + * the class for every enumeration. This option was not + * implemented. + * + * kcm 28-Mar-1995 + */ - case boolean_: - fprintf( f, " return (Boolean) 0;\n}\n\n" ); - break; + /* EnumName (TYPEget_name (VARget_type (a)))*/ + switch( TYPEget_body( VARget_type( a ) ) -> type ) { + case enumeration_: + fprintf( f, " return (%s) 0;\n}\n\n", EnumName( TYPEget_name( VARget_type( a ) ) ) ); + break; + case boolean_: + fprintf( f, " return (Boolean) 0;\n}\n\n" ); + break; + case logical_: + fprintf( f, " return (Logical) 0;\n}\n\n" ); + break; + default: + fprintf( f, " return 0;\n}\n\n" ); + } +} - case logical_: - fprintf( f, " return (Logical) 0;\n}\n\n" ); - break; +/** +* TYPEselect_lib_print_part_three prints part 3) of the SDAI C++ binding for +* a select class -- access functions for the data members of underlying entity +* types. +*/ +void TYPEselect_lib_print_part_three( const Type type, FILE * f, char * classnm ) { +#define ENTITYget_type(e) ((e)->u.entity->type) - default: - fprintf( f, " return 0;\n}\n\n" ); - } + char uent[BUFSIZ+1], /* name of underlying entity type */ + utype[BUFSIZ+1], /* underlying type name */ + attrnm [BUFSIZ+1], /* attribute name -> data member = _attrnm */ + funcnm[BUFSIZ+1]; /* access function name = Attrnm */ + Linked_List items = SEL_TYPEget_items( type ); + /* all the items in the select type */ + Linked_List attrs = SEL_TYPEgetnew_attribute_list( type ); + /* list of attributes with unique names */ + Entity ent = NULL; + Variable uattr = NULL; /* attribute in underlying type */ - /* put method */ - ATTRprint_access_methods_put_head( classnm, a, f ); - fprintf( f, "{\n" ); - LISTdo( items, t, Type ) - if( TYPEis_entity( t ) && - ( uattr = ENTITYget_named_attribute( - ( ent = ENT_TYPEget_entity( t ) ), - ( char * ) StrToLower( attrnm ) ) ) ) + fprintf( f, "\n // part 3\n" ); - { - /* for the select items which have the current attribute */ + /* go through all the unique attributes */ + LISTdo_n( attrs, a, Variable, b ) { + bool putVarIsUsed = false; /* used to suppress unused var warning */ + if( VARget_initializer( a ) == EXPRESSION_NULL ) { + /* only do for explicit attributes */ + generate_attribute_func_name( a, funcnm ); + generate_attribute_name( a, attrnm ); + /* + strncpy (funcnm, attrnm, BUFSIZ); + funcnm [0] = toupper (funcnm[0]); + */ + /* use the ctype since utype will be the same for all entities */ + strncpy( utype, TYPEget_ctype( VARget_type( a ) ), BUFSIZ ); - if( !multiple_inheritance ) { - if( !memberOfEntPrimary( ent, uattr ) ) { - /* See note for similar code segment in 1st part of fn. */ - continue; - } + /* get methods */ + TYPEselect_lib_part_three_getter( type, classnm, attrnm, utype, uent, funcnm, items, a, uattr, ent, f, false ); + if( attrIsObj( VARget_type( a ) ) ) { + TYPEselect_lib_part_three_getter( type, classnm, attrnm, utype, uent, funcnm, items, a, uattr, ent, f, true ); } + /* put method */ + ATTRprint_access_methods_put_head( classnm, a, f ); + fprintf( f, "{\n" ); + LISTdo( items, t, Type ) { + if( TYPEis_entity( t ) && + ( uattr = ENTITYget_named_attribute( + ( ent = ENT_TYPEget_entity( t ) ), + ( char * ) StrToLower( attrnm ) ) ) ) + + { + /* for the select items which have the current attribute */ + + if( !multiple_inheritance ) { + if( !memberOfEntPrimary( ent, uattr ) ) { + /* See note for similar code segment in 1st part of fn. */ + continue; + } + } - if( ! VARis_derived( uattr ) ) { - - if( !strcmp( utype, TYPEget_ctype( VARget_type( uattr ) ) ) ) { - /* check to make sure the underlying attribute\'s type is - the same as the current attribute. - */ - - /* if the underlying type is that item\'s type - call the underlying_item\'s member function */ - // if it is the same attribute - if( VARis_overrider( ENT_TYPEget_entity( t ), uattr ) ) { - // update attribute_func_name because is has been overrid - generate_attribute_func_name( uattr, funcnm ); + if( ! VARis_derived( uattr ) ) { + + if( !strcmp( utype, TYPEget_ctype( VARget_type( uattr ) ) ) ) { + /* check to make sure the underlying attribute\'s type is + the same as the current attribute. + */ + + /* if the underlying type is that item\'s type + call the underlying_item\'s member function */ + /* if it is the same attribute */ + if( VARis_overrider( ENT_TYPEget_entity( t ), uattr ) ) { + /* update attribute_func_name because is has been overrid */ + generate_attribute_func_name( uattr, funcnm ); + } else { + generate_attribute_func_name( a, funcnm ); + } + + strncpy( uent, TYPEget_ctype( t ), BUFSIZ ); + fprintf( f, + " if( CurrentUnderlyingType () == %s ) \n // %s\n", + TYPEtd_name( t ), StrToUpper( TYPEget_name( t ) ) ); + fprintf( f, " { ((%s) _%s) ->%s( x );\n return;\n }\n", + uent, SEL_ITEMget_dmname( t ), funcnm ); + putVarIsUsed = true; + } else { + /* warning printed above */ + fprintf( f, " // for %s attribute access function" + " has a different argument type\n", + SEL_ITEMget_enumtype( t ) ); + } } else { - generate_attribute_func_name( a, funcnm ); + /* derived attributes */ + fprintf( f, " // for %s attribute is derived\n", + SEL_ITEMget_enumtype( t ) ); } - - strncpy( uent, TYPEget_ctype( t ), BUFSIZ ); - fprintf( f, - " if( CurrentUnderlyingType () == %s ) \n // %s\n", - TYPEtd_name( t ), StrToUpper( TYPEget_name( t ) ) ); - fprintf( f, " { ((%s) _%s) ->%s( x );\n return;\n }\n", - uent, SEL_ITEMget_dmname( t ), funcnm ); - } else { - /* warning printed above */ - fprintf( f, " // for %s attribute access function" - " has a different argument type\n", - SEL_ITEMget_enumtype( t ) ); } - } else { - /* derived attributes */ - fprintf( f, " // for %s attribute is derived\n", - SEL_ITEMget_enumtype( t ) ); + } LISTod; + if( !putVarIsUsed ) { + fprintf(f, " (void) x; //suppress unused var warning\n"); } + PRINT_SELECTBUG_WARNING( f ); + fprintf( f, "}\n" ); } - LISTod; - PRINT_SELECTBUG_WARNING( f ); - fprintf( f, "}\n" ); - } - LISTod; + } LISTod; LISTfree( attrs ); } -/******************* -TYPEselect_lib_print_part_four prints part 4 of the SDAI document of a select -class. -*******************/ -void -TYPEselect_lib_print_part_four( const Type type, FILE * f, Schema schema, - Linked_List dups, char * n ) { - char x[BUFSIZ]; - int firsttime = 1; +/** + * TYPEselect_lib_print_part_four prints part 4 of the SDAI document of a select class. + */ +void TYPEselect_lib_print_part_four( const Type type, FILE * f, Linked_List dups, char * n ) { + char x[BUFSIZ+1]; fprintf( f, "\n // part 4\n" ); - LISTdo( SEL_TYPEget_items( type ), t, Type ) - if( ( TYPEis_entity( t ) ) - || ( !utype_member( dups, t, 1 ) ) ) { - fprintf( f, "%s& %s::operator =( const %s& o )\n{\n" - " nullify ();\n", - n, n, AccessType( t ) ); + LISTdo( SEL_TYPEget_items( type ), t, Type ) { + if( ( TYPEis_entity( t ) ) + || ( !utype_member( dups, t, 1 ) ) ) { + fprintf( f, "%s& %s::operator =( const %s& o )\n{\n" + " nullify ();\n", + n, n, AccessType( t ) ); + + if( isAggregateType( t ) ) { + fprintf( f, " _%s%sShallowCopy( *o );\n", SEL_ITEMget_dmname( t ), + ( ( t->u.type->body->base ) ? "->" : "." ) ); + } else { + fprintf( f, " _%s = o;\n", SEL_ITEMget_dmname( t ) ); + } - if( isAggregateType( t ) ) { - fprintf( f, " _%s%sShallowCopy (*o);\n", SEL_ITEMget_dmname( t ), - ( ( t->u.type->body->base ) ? "->" : "." ) ); - } else { - fprintf( f, " _%s = o;\n", SEL_ITEMget_dmname( t ) ); + fprintf( f, " SetUnderlyingType( %s );\n", TYPEtd_name( t ) ); + fprintf( f, " return *this;\n}\n\n" ); } + } LISTod + LISTdo( dups, t, Type ) { + if( ! TYPEis_entity( t ) ) { /* entities were done already */ + if( isAggregateType( t ) ) { + fprintf( f, "%s& %s::operator =( const %s& o )\n{\n", + n, n, AccessType( t ) ); + fprintf( f, " _%s%sShallowCopy (*o);\n", SEL_ITEMget_dmname( t ), ( ( t->u.type->body->base ) ? "->" : "." ) ); + } else { + fprintf( f, "%s& %s::operator =( const %s& o )\n{\n", + n, n, TYPEget_utype( t ) ); + fprintf( f, " _%s = o;\n", SEL_ITEMget_dmname( t ) ); + } - fprintf( f, " SetUnderlyingType (%s);\n", TYPEtd_name( t ) ); - fprintf( f, " return *this;\n}\n\n" ); - } - LISTod; - LISTdo( dups, t, Type ) - if( ! TYPEis_entity( t ) ) { /* entities were done already */ - if( isAggregateType( t ) ) { - fprintf( f, "%s& %s::operator =( const %s& o )\n{\n", - n, n, AccessType( t ) ); - fprintf( f, " _%s%sShallowCopy (*o);\n", SEL_ITEMget_dmname( t ), ( ( t->u.type->body->base ) ? "->" : "." ) ); - } else { - fprintf( f, "%s& %s::operator =( const %s& o )\n{\n", - n, n, TYPEget_utype( t ) ); - fprintf( f, " _%s = o;\n", SEL_ITEMget_dmname( t ) ); + fprintf( f, " underlying_type = 0; // MUST BE SET BY USER\n" ); + fprintf( f, " // discriminator = UNSET\n" ); + fprintf( f, " return *this;\n}\n" ); } + } LISTod - fprintf( f, " underlying_type = 0; // MUST BE SET BY USER\n" ); - fprintf( f, " // discriminator = UNSET\n" ); - fprintf( f, " return *this;\n}\n" ); - } - LISTod; - - fprintf( f, "\n#ifdef COMPILER_DEFINES_OPERATOR_EQ\n#else\n\n" ); - fprintf( f, "%s& %s::operator =( const %s_ptr& o )\n{\n", n, n, n ); - - LISTdo( SEL_TYPEget_items( type ), t, Type ) - strncpy( x, TYPEget_name( t ), BUFSIZ ); - fprintf( f, " if ( o -> CurrentUnderlyingType () == %s ) {\n", - TYPEtd_name( t ) ); - if( TYPEis_select( t ) ) { - if( utype_member( dups, t, 1 ) ) - /** if in the dup list **/ - fprintf( f, " _%s = &(o -> _%s);\n", - SEL_ITEMget_dmname( t ), - StrToLower( TYPEget_utype( t ) ) ); - else - fprintf( f, " _%s = &(o -> _%s);\n", - SEL_ITEMget_dmname( t ), - SEL_ITEMget_dmname( t ) ); - } else { - if( utype_member( dups, t, 1 ) ) - /** if in the dup list **/ - fprintf( f, " _%s = o -> _%s;\n", - SEL_ITEMget_dmname( t ), - SEL_ITEMget_dmname( t ) ); - /* I changed this although I'm not sure how the if and else differ */ - /* StrToLower(TYPEget_utype(t)) ); */ - else - fprintf( f, " _%s = o -> _%s;\n", - SEL_ITEMget_dmname( t ), - SEL_ITEMget_dmname( t ) ); - } + fprintf( f, "\n#ifndef COMPILER_DEFINES_OPERATOR_EQ\n\n" ); + fprintf( f, "%s& %s::operator =( const %s_ptr& o ) {\n", n, n, n ); + fprintf( f, " SDAI_Select::operator=( *o );\n"); - fprintf( f, " underlying_type = o -> CurrentUnderlyingType ();\n" ); - fprintf( f, " return *this;\n" ); - fprintf( f, " }\n" ); + LISTdo( SEL_TYPEget_items( type ), t, Type ) { + strncpy( x, TYPEget_name( t ), BUFSIZ ); + fprintf( f, " if ( o -> CurrentUnderlyingType() == %s ) {\n", + TYPEtd_name( t ) ); + if( TYPEis_select( t ) ) { + if( utype_member( dups, t, 1 ) ) + /** if in the dup list **/ + fprintf( f, " _%s = &( o -> _%s );\n", + SEL_ITEMget_dmname( t ), + StrToLower( TYPEget_utype( t ) ) ); + else + fprintf( f, " _%s = &( o -> _%s );\n", + SEL_ITEMget_dmname( t ), + SEL_ITEMget_dmname( t ) ); + } else { + if( utype_member( dups, t, 1 ) ) { + /** if in the dup list **/ + fprintf( f, " _%s = o -> _%s;\n", SEL_ITEMget_dmname( t ), SEL_ITEMget_dmname( t ) ); + /* I changed this although I'm not sure how the if and else differ */ + /* StrToLower(TYPEget_utype(t)) ); */ + } else { + fprintf( f, " _%s = o -> _%s;\n", SEL_ITEMget_dmname( t ), SEL_ITEMget_dmname( t ) ); + } + } - LISTod; - fprintf( f, " underlying_type = o -> CurrentUnderlyingType ();\n" ); + fprintf( f, " return *this;\n" ); + fprintf( f, " }\n" ); + } LISTod; fprintf( f, " return *this;\n}\n\n" ); fprintf( f, "SDAI_Select& %s::operator =( const SDAI_Select& o ) {\n", n ); + fprintf( f, " SDAI_Select::operator=( o );\n"); - firsttime = 1; - LISTdo( SEL_TYPEget_items( type ), t, Type ) - strncpy( x, TYPEget_name( t ), BUFSIZ ); - fprintf( f, " if ( o.CurrentUnderlyingType () == %s ) {\n", - TYPEtd_name( t ) ); - if( TYPEis_select( t ) ) { - if( utype_member( dups, t, 1 ) ) - /** if in the dup list **/ - fprintf( f, " _%s = ((%s&) o)._%s;\n", - SEL_ITEMget_dmname( t ), - n, - SEL_ITEMget_dmname( t ) ); - else - fprintf( f, " _%s = &(((%s&) o)._%s);\n", - SEL_ITEMget_dmname( t ), - n, - SEL_ITEMget_dmname( t ) ); - } else { - if( utype_member( dups, t, 1 ) ) - /** if in the dup list **/ - fprintf( f, " _%s = ((%s&) o)._%s;\n", - SEL_ITEMget_dmname( t ), - n, - SEL_ITEMget_dmname( t ) ); - else - fprintf( f, " _%s = ((%s&) o)._%s;\n", - SEL_ITEMget_dmname( t ), - n, - SEL_ITEMget_dmname( t ) ); - } - fprintf( f, " underlying_type = o.CurrentUnderlyingType ();\n" ); - fprintf( f, " return *this;\n" ); - fprintf( f, " }\n" ); - LISTod; - fprintf( f, " underlying_type = o.CurrentUnderlyingType ();\n" ); + LISTdo( SEL_TYPEget_items( type ), t, Type ) { + strncpy( x, TYPEget_name( t ), BUFSIZ ); + x[BUFSIZ-1] = '\0'; + fprintf( f, " if ( o.CurrentUnderlyingType() == %s ) {\n", + TYPEtd_name( t ) ); + if( TYPEis_select( t ) ) { + if( utype_member( dups, t, 1 ) ) + /** if in the dup list **/ + fprintf( f, " _%s = ( ( %s& ) o )._%s;\n", + SEL_ITEMget_dmname( t ), + n, + SEL_ITEMget_dmname( t ) ); + else + fprintf( f, " _%s = &( ( ( %s& ) o )._%s );\n", + SEL_ITEMget_dmname( t ), + n, + SEL_ITEMget_dmname( t ) ); + } else { + if( utype_member( dups, t, 1 ) ) + /** if in the dup list **/ + fprintf( f, " _%s = ( ( %s& ) o )._%s;\n", + SEL_ITEMget_dmname( t ), + n, + SEL_ITEMget_dmname( t ) ); + else + fprintf( f, " _%s = ( ( %s& ) o )._%s;\n", + SEL_ITEMget_dmname( t ), + n, + SEL_ITEMget_dmname( t ) ); + } + fprintf( f, " return *this;\n" ); + fprintf( f, " }\n" ); + } LISTod fprintf( f, " return *this;\n}\n\n" ); - fprintf( f, "#endif\n" ); - -#ifdef JNK - /* define ShallowCopy because operator= does not always act virtual */ - fprintf( f, "SDAI_Select& %s::ShallowCopy ( const SDAI_Select& o )\n{\n", n ); - - LISTdo( SEL_TYPEget_items( type ), t, Type ) - strncpy( x, TYPEget_name( t ), BUFSIZ ); - fprintf( f, " if( o.CurrentUnderlyingType () == %s )\n", - TYPEtd_name( t ) ); - if( utype_member( dups, t, 1 ) ) - /** if in the dup list **/ - fprintf( f, " _%s = o._%s;\n", - SEL_ITEMget_dmname( t ), - StrToLower( TYPEget_utype( t ) ) ); - else - fprintf( f, " _%s = o._%s;\n", - SEL_ITEMget_dmname( t ), - SEL_ITEMget_dmname( t ) ); - LISTod; - fprintf( f, " underlying_type = o.CurrentUnderlyingType ();\n" ); - fprintf( f, " return *this;\n}\n" ); -#endif + fprintf( f, "#endif //ndef COMPILER_DEFINES_OPERATOR_EQ\n" ); } -/******************* -TYPEselect_init_print prints the types that belong to the select type -*******************/ - -void -TYPEselect_init_print( const Type type, FILE * f, Schema schema ) { -#define schema_name SCHEMAget_name(schema) +/** +* TYPEselect_init_print prints the types that belong to the select type +*/ +void TYPEselect_init_print( const Type type, FILE * f ) { LISTdo( SEL_TYPEget_items( type ), t, Type ) fprintf( f, " %s -> Elements ().AddNode", @@ -1390,16 +1280,15 @@ TYPEselect_init_print( const Type type, FILE * f, Schema schema ) { fprintf( f, " (%s);\n", TYPEtd_name( t ) ); LISTod; -#undef schema_name } -void -TYPEselect_lib_part21( const Type type, FILE * f, Schema schema ) { - char n[BUFSIZ]; /* pointers to class name(s) */ +void TYPEselect_lib_part21( const Type type, FILE * f ) { + char n[BUFSIZ+1]; /* pointers to class name(s) */ const char * dm; /* data member name */ Linked_List data_members = SELgetnew_dmlist( type ); strncpy( n, SelectName( TYPEget_name( type ) ), BUFSIZ ); + n[BUFSIZ-1] = '\0'; fprintf( f, "\n\n// STEP Part 21\n" ); /* write part 21 */ @@ -1441,12 +1330,13 @@ TYPEselect_lib_part21( const Type type, FILE * f, Schema schema ) { case select_: fprintf( f, " _%s.STEPwrite (out, currSch);\n", dm ); /* Select type needs currSch passed too. A Select writes the name of its - // current choice when it writes itself out (e.g. "DATA(33.5)"). Since - // the current choice name may depend on our current schema (it may be a - // schema which USEs "DATA" and renames it to "VAL"), we pass currSch. */ + current choice when it writes itself out (e.g. "DATA(33.5)"). Since + the current choice name may depend on our current schema (it may be a + schema which USEs "DATA" and renames it to "VAL"), we pass currSch. + */ break; - // aggregate, array, bag, set, and list were above with string, binary, etc. moved them because they will be pointers + /* aggregate, array, bag, set, and list were above with string, binary, etc. moved them because they will be pointers */ case aggregate_: case array_: case bag_: @@ -1568,7 +1458,7 @@ TYPEselect_lib_part21( const Type type, FILE * f, Schema schema ) { fprintf( f, " return;\n}\n" ); /* Read part 21 */ - fprintf( f, "\nSeverity\n%s::STEPread_content (istream& in, InstMgr * instances,\n" + fprintf( f, "\nSeverity\n%s::STEPread_content (istream& in, InstMgrBase * instances,\n" " const char *utype, int addFileId, const char *currSch)\n{\n" " (void)instances;\n (void)utype;\n (void)addFileId;\n (void)currSch;\n ", n ); @@ -1603,22 +1493,18 @@ TYPEselect_lib_part21( const Type type, FILE * f, Schema schema ) { /* if it's an entity, use Assign - done in Select class */ fprintf( f, " // set Underlying Type in Select class\n" - " _%s = ReadEntityRef(in, &_error, \",)\", instances, addFileId);\n", - dm ); + " _%s = ReadEntityRef(in, &_error, \",)\", instances, addFileId);\n", dm ); fprintf( f, - " if (_%s && (_%s != S_ENTITY_NULL)\n " - " && (CurrentUnderlyingType () -> CanBe (_%s -> eDesc )) )\n" - " return severity ();\n", - dm, dm, dm ); + " if( _%s && ( _%s != S_ENTITY_NULL) &&\n " + " ( CurrentUnderlyingType()->CanBe( _%s->eDesc ) ) ) {\n" + " return severity();\n", dm, dm, dm ); fprintf( f, - " else {\n " + " } else {\n " " Error (\"Reference to instance that is not indicated type\\n\");\n" " _%s = 0;\n" " nullify ();\n" " return severity (SEVERITY_USERMSG);\n" - " }\n", - dm - ); + " }\n", dm ); break; case string_: @@ -1670,17 +1556,17 @@ TYPEselect_lib_part21( const Type type, FILE * f, Schema schema ) { } -void -TYPEselect_lib_StrToVal( const Type type, FILE * f, Schema schema ) { - char n[BUFSIZ]; /* pointers to class name */ +void TYPEselect_lib_StrToVal( const Type type, FILE * f ) { + char n[BUFSIZ+1]; /* pointers to class name */ Linked_List data_members = SELgetnew_dmlist( type ); int enum_cnt = 0; strncpy( n, SelectName( TYPEget_name( type ) ), BUFSIZ ); + n[BUFSIZ-1] = '\0'; /* read StrToVal_content */ fprintf( f, "\nSeverity\n%s::StrToVal_content " - "(const char * str, InstMgr * instances)" + "(const char * str, InstMgrBase * instances)" "\n{\n (void)str;\n (void)instances;\n", n ); fprintf( f, " switch (base_type) {\n" ); @@ -1761,14 +1647,12 @@ TYPEselect_lib_StrToVal( const Type type, FILE * f, Schema schema ) { "\n}\n" ); } -void -TYPEselect_lib_virtual( const Type type, FILE * f, Schema schema ) { - TYPEselect_lib_part21( type, f, schema ); - TYPEselect_lib_StrToVal( type, f, schema ); +void TYPEselect_lib_virtual( const Type type, FILE * f ) { + TYPEselect_lib_part21( type, f ); + TYPEselect_lib_StrToVal( type, f ); } -void -SELlib_print_protected( const Type type, FILE * f, const Schema schema ) { +void SELlib_print_protected( const Type type, FILE * f ) { const char * snm; /* SELECT::AssignEntity */ @@ -1798,12 +1682,11 @@ SELlib_print_protected( const Type type, FILE * f, const Schema schema ) { } if( TYPEis_select( t ) ) { fprintf( f, - " // %s\n" /* item name */ - " if (%s -> CanBe (se -> eDesc))\n" - " { \n" - " _%s.AssignEntity (se);\n" /* underlying data member */ - " return SetUnderlyingType (%s);\n" /* td */ - " }\n", + " // %s\n" /* item name */ + " if( %s->CanBe( se->eDesc ) ) {\n" + " _%s.AssignEntity (se);\n" /* underlying data member */ + " return SetUnderlyingType (%s);\n" /* td */ + " }\n", StrToUpper( TYPEget_name( t ) ), TYPEtd_name( t ), SEL_ITEMget_dmname( t ), @@ -1829,13 +1712,11 @@ SELlib_print_protected( const Type type, FILE * f, const Schema schema ) { } -/******************* -TYPEselect_lib_print prints the member functions (definitions) of a select -class. -*******************/ -void -TYPEselect_lib_print( const Type type, FILE * f, Schema schema ) { - char n[BUFSIZ], m[BUFSIZ]; +/** +* TYPEselect_lib_print prints the member functions (definitions) of a select class. +*/ +void TYPEselect_lib_print( const Type type, FILE * f ) { + char n[BUFSIZ+1], m[BUFSIZ+1]; const char * z; /* pointers to class name(s) */ Linked_List dups; int dup_result; @@ -1844,70 +1725,70 @@ TYPEselect_lib_print( const Type type, FILE * f, Schema schema ) { strncpy( n, SelectName( TYPEget_name( type ) ), BUFSIZ ); fprintf( f, "\n////////// SELECT TYPE %s\n", TYPEget_name( type ) ); - SELlib_print_protected( type, f, schema ) ; - TYPEselect_lib_virtual( type, f, schema ); - TYPEselect_lib_print_part_one( type, f, schema, dups, n ); + SELlib_print_protected( type, f ) ; + TYPEselect_lib_virtual( type, f ); + TYPEselect_lib_print_part_one( type, f, dups, n ); fprintf( f, "\n // part 2\n" ); - LISTdo( SEL_TYPEget_items( type ), t, Type ) - if( TYPEis_entity( t ) ) { - /* if an entity */ - fprintf( f, "%s::operator %s_ptr()\n{\n", n, ClassName( TYPEget_name( t ) ) ); - fprintf( f, " if( CurrentUnderlyingType () == %s )\n", TYPEtd_name( t ) ); - fprintf( f, " return ((%s_ptr) _%s);\n", ClassName( TYPEget_name( t ) ), SEL_ITEMget_dmname( t ) ); - PRINT_SELECTBUG_WARNING( f ); - fprintf( f, " return NULL;\n}\n\n" ); - } else if( !utype_member( dups, t, 1 ) ) { - /** if not in the dup list **/ - fprintf( f, "%s::operator %s()\n{\n", n, AccessType( t ) ); - fprintf( f, " if( CurrentUnderlyingType () == %s )\n", TYPEtd_name( t ) ); - fprintf( f, " return %s _%s;\n", ( ( TYPEis_select( t ) ) ? "&" : "" ), SEL_ITEMget_dmname( t ) ); - fprintf( f, "\n severity( SEVERITY_WARNING );\n" ); - fprintf( f, " Error( \"Underlying type is not %s\" );\n", AccessType( t ) ); - PRINT_SELECTBUG_WARNING( f ) ; - if( TYPEis_boolean( t ) || TYPEis_logical( t ) ) { - fprintf( f, " return (%s)0;\n}\n\n", TYPEget_utype( t ) ); - } else { - fprintf( f, " return 0;\n}\n\n" ); + LISTdo( SEL_TYPEget_items( type ), t, Type ) { + if( TYPEis_entity( t ) ) { + /* if an entity */ + fprintf( f, "%s::operator %s_ptr()\n{\n", n, ClassName( TYPEget_name( t ) ) ); + fprintf( f, " if( CurrentUnderlyingType () == %s )\n", TYPEtd_name( t ) ); + fprintf( f, " return ((%s_ptr) _%s);\n", ClassName( TYPEget_name( t ) ), SEL_ITEMget_dmname( t ) ); + PRINT_SELECTBUG_WARNING( f ); + fprintf( f, " return NULL;\n}\n\n" ); + } else if( !utype_member( dups, t, 1 ) ) { + /** if not in the dup list **/ + fprintf( f, "%s::operator %s()\n{\n", n, AccessType( t ) ); + fprintf( f, " if( CurrentUnderlyingType () == %s )\n", TYPEtd_name( t ) ); + fprintf( f, " return %s _%s;\n", ( ( TYPEis_select( t ) ) ? "&" : "" ), SEL_ITEMget_dmname( t ) ); + fprintf( f, "\n severity( SEVERITY_WARNING );\n" ); + fprintf( f, " Error( \"Underlying type is not %s\" );\n", AccessType( t ) ); + PRINT_SELECTBUG_WARNING( f ) ; + if( TYPEis_boolean( t ) || TYPEis_logical( t ) ) { + fprintf( f, " return (%s)0;\n}\n\n", TYPEget_utype( t ) ); + } else { + fprintf( f, " return 0;\n}\n\n" ); + } } - } - LISTod; - LISTdo( dups, t, Type ) - if( ! TYPEis_entity( t ) ) { /* entities were done already */ - fprintf( f, "%s::operator %s()\n{\n", n, - ( TYPEis_aggregate( t ) || TYPEis_select( t ) ) ? - AccessType( t ) : TYPEget_utype( t ) ); - strncpy( m, TYPEget_utype( t ), BUFSIZ ); - - /**** MUST CHANGE FOR multiple big types ****/ - LISTdo( SEL_TYPEget_items( type ), x, Type ) - if( ( strcmp( m, TYPEget_utype( x ) ) == 0 ) - || ( compareOrigTypes( t, x ) ) ) { - /* If this is one of the dups. compareOrigTypes checks - if x\'s type is a rename of t\'s (see comments there). - */ - fprintf( f, " if( CurrentUnderlyingType () == %s )\n", - TYPEtd_name( x ) ); - fprintf( f, " return %s _%s;\n", - ( ( TYPEis_select( x ) ) ? "&" : "" ), - SEL_ITEMget_dmname( x ) ); + } LISTod + LISTdo( dups, t, Type ) { + if( ! TYPEis_entity( t ) ) { /* entities were done already */ + fprintf( f, "%s::operator %s()\n{\n", n, + ( TYPEis_aggregate( t ) || TYPEis_select( t ) ) ? + AccessType( t ) : TYPEget_utype( t ) ); + strncpy( m, TYPEget_utype( t ), BUFSIZ ); + + /**** MUST CHANGE FOR multiple big types ****/ + LISTdo_n( SEL_TYPEget_items( type ), x, Type, b ) { + if( ( strcmp( m, TYPEget_utype( x ) ) == 0 ) + || ( compareOrigTypes( t, x ) ) ) { + /* If this is one of the dups. compareOrigTypes checks + if x\'s type is a rename of t\'s (see comments there). + */ + fprintf( f, " if( CurrentUnderlyingType () == %s )\n", + TYPEtd_name( x ) ); + fprintf( f, " return %s _%s;\n", + ( ( TYPEis_select( x ) ) ? "&" : "" ), + SEL_ITEMget_dmname( x ) ); + } + } LISTod + fprintf( f, "\n severity( SEVERITY_WARNING );\n" ); + fprintf( f, " Error( \"Underlying type is not %s\" );\n", + TYPEis_aggregate( t ) ? + AccessType( t ) : TYPEget_utype( t ) ); + PRINT_SELECTBUG_WARNING( f ) ; + fprintf( f, " return (%s)0;\n}\n\n", + TYPEis_aggregate( t ) ? + AccessType( t ) : TYPEget_utype( t ) ); + /* fprintf( f, " return NULL;\n}\n\n" ); */ } - LISTod; - fprintf( f, "\n severity( SEVERITY_WARNING );\n" ); - fprintf( f, " Error( \"Underlying type is not %s\" );\n", - TYPEis_aggregate( t ) ? - AccessType( t ) : TYPEget_utype( t ) ); - PRINT_SELECTBUG_WARNING( f ) ; - fprintf( f, " return (%s)0;\n}\n\n", - TYPEis_aggregate( t ) ? - AccessType( t ) : TYPEget_utype( t ) ); - /* fprintf( f, " return NULL;\n}\n\n" ); */ - } - LISTod; + } LISTod - TYPEselect_lib_print_part_three( type, f, schema, n ); - TYPEselect_lib_print_part_four( type, f, schema, dups, n ); + TYPEselect_lib_print_part_three( type, f, n ); + TYPEselect_lib_print_part_four( type, f, dups, n ); fprintf( f, "\n // part 5\n" ); LISTdo( SEL_TYPEget_items( type ), t, Type ) @@ -1969,15 +1850,14 @@ TYPEselect_lib_print( const Type type, FILE * f, Schema schema ) { } -void -TYPEselect_print( Type t, FILES * files, Schema schema ) { +void TYPEselect_print( Type t, FILES * files, Schema schema ) { SelectTag tag, tmp; Type i, bt; /* type of elements in an aggregate */ - char nm[BUFSIZ], tdnm[BUFSIZ]; + char nm[BUFSIZ+1], tdnm[BUFSIZ+1]; FILE * inc = files->inc; /* if type is already marked, return */ - if( tmp = ( SelectTag ) TYPEget_clientData( t ) ) { + if( ( tmp = ( SelectTag ) TYPEget_clientData( t ) ) ) { if( ( tmp ->started ) && ( ! tmp ->complete ) ) fprintf( stderr, "WARNING: SELECT type %s causes circular references\n", TYPEget_name( t ) ); @@ -1985,16 +1865,17 @@ TYPEselect_print( Type t, FILES * files, Schema schema ) { } /* mark the type as being processed */ - tag = ( SelectTag ) sc_malloc( sizeof( struct SelectTag_ ) ); + tag = ( SelectTag ) malloc( sizeof( struct SelectTag_ ) ); tag -> started = 1; tag -> complete = 0; TYPEput_clientData( t, ( ClientData ) tag ); /* Check if we're a renamed type, e.g., TYPE B (sel) = A. If so, if A has - // been defined, we process B differently (with a couple of typedef's - - // some are printed in files->classes rather than here). If A has not been - // defined, we must recurse. */ + been defined, we process B differently (with a couple of typedef's - + some are printed in files->classes rather than here). If A has not been + defined, we must recurse. + */ if( ( i = TYPEget_ancestor( t ) ) != NULL ) { if( !TYPEget_clientData( i ) ) { TYPEselect_print( i, files, schema ); @@ -2004,10 +1885,11 @@ TYPEselect_print( Type t, FILES * files, Schema schema ) { fprintf( inc, "typedef %s * %sH;\n", nm, nm ); fprintf( inc, "typedef %s_ptr * %s_var;\n", nm, nm ); /* Below are specialized create functions for the renamed sel type (both - // single and aggregate). The functions call the original sel's con- - // structor, passing the new sel's typedescriptor to create a hybrid - // entity - the original select pointing to a new typedesc. These fns - // give the user an easy way to create the renamed type properly. */ + single and aggregate). The functions call the original sel's con- + structor, passing the new sel's typedescriptor to create a hybrid + entity - the original select pointing to a new typedesc. These fns + give the user an easy way to create the renamed type properly. + */ fprintf( inc, "inline SDAI_Select *\ncreate_%s ()", nm ); fprintf( inc, " { return new %s( %s ); }\n\n", nm, tdnm ); fprintf( inc, "inline STEPaggregate *\ncreate_%s_agg ()", nm ); @@ -2015,60 +1897,51 @@ TYPEselect_print( Type t, FILES * files, Schema schema ) { return; } - LISTdo( SEL_TYPEget_items( t ), i, Type ) - - /* check the items for select types */ - /* and do the referenced select types first */ - - /* check aggregates too */ - /* set i to the bt and catch in next ifs */ - if( isAggregateType( i ) ) { - bt = TYPEget_base_type( i ); - /* DAR - corrected - prev'ly above line retrieved non-aggr base type. - // But unnec - we only need the item defined if it's a select or a 1D - // aggregate. If bt is also an aggr, we go on. */ - if( TYPEis_select( bt ) ) { - i = bt; - } else if( TYPEis_entity( bt ) ) { - i = bt; - } - } + LISTdo( SEL_TYPEget_items( t ), ii, Type ) { - if( TYPEis_select( i ) && !TYPEget_clientData( i ) ) { - TYPEselect_print( i, files, schema ); - } - /* NOTE - there was a bug here because above if did not take into account - that i came from a different schema (and above loop would have printed - it here!). Taken care of by code in multpass.c which would not allow - us to get this far (wouldn't have called the type_print() fn's) if a - select has members in other schemas which haven't been processed. So, - now by definition i must have been processed already if it's in another - schema. So the above if will only reorder the printing of the sel's in - this schema, which is the intent. DAR */ - -#ifdef OBSOLETE - /* check the attributes to see if a select is referenced */ - if( TYPEis_entity( i ) ) { - LISTdo( ENTITYget_all_attributes( ENT_TYPEget_entity( i ) ), a, Variable ) - if( TYPEis_select( VARget_type( a ) ) ) { - TYPEselect_print( VARget_type( a ), files, schema ); + /* check the items for select types */ + /* and do the referenced select types first */ + + /* check aggregates too */ + /* set ii to the bt and catch in next ifs */ + if( isAggregateType( ii ) ) { + bt = TYPEget_base_type( ii ); + /* DAR - corrected - prev'ly above line retrieved non-aggr base type. + But unnec - we only need the item defined if it's a select or a 1D + aggregate. If bt is also an aggr, we go on. */ + if( TYPEis_select( bt ) ) { + ii = bt; + } else if( TYPEis_entity( bt ) ) { + ii = bt; + } } - LISTod - } -#endif - LISTod - TYPEselect_inc_print( t, files -> inc ); - TYPEselect_lib_print( t, files -> lib, schema ); + if( TYPEis_select( ii ) && !TYPEget_clientData( ii ) ) { + TYPEselect_print( ii, files, schema ); + } + /* NOTE - there was a bug here because above if did not take into account + that ii came from a different schema (and above loop would have printed + it here!). Taken care of by code in multpass.c which would not allow + us to get this far (wouldn't have called the type_print() fn's) if a + select has members in other schemas which haven't been processed. So, + now by definition ii must have been processed already if it's in another + schema. So the above if will only reorder the printing of the sel's in + this schema, which is the intent. DAR */ + + } LISTod + + TYPEPrint(t, files, schema ); + /* TYPEselect_inc_print( t, files -> inc ); */ + /* TYPEselect_lib_print( t, files -> lib ); */ /* TYPEselect_init_print (t, files -> init, schema); DAR - moved to TYPEprint_init() - to keep init info together. */ tag -> complete = 1; - sc_free( tag ); + free( tag ); } #undef BASE_SELECT /************************************************************************** -******** END of SELECT TYPE +******** END of SELECT TYPE **************************************************************************/ diff --git a/src/exp2cxx/test/CMakeLists.txt b/src/exp2cxx/test/CMakeLists.txt new file mode 100644 index 000000000..51053757d --- /dev/null +++ b/src/exp2cxx/test/CMakeLists.txt @@ -0,0 +1,33 @@ +#tests specific to exp2cxx + +set(unitary_dir ${SC_SOURCE_DIR}/test/unitary_schemas) + +add_test(NAME build_exp2cxx + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target exp2cxx + --config $ + ) + +add_test(NAME test_exp2cxx_unique_qualifiers + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -DEXE=$ + -DINFILE=${unitary_dir}/unique_qualifiers.exp + -P ${CMAKE_CURRENT_SOURCE_DIR}/unique_qualifiers.cmake + ) + +add_test(NAME test_exp2cxx_inverse_qualifiers + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -DEXE=$ + -DINFILE=${unitary_dir}/inverse_qualifiers.exp + -P ${CMAKE_CURRENT_SOURCE_DIR}/inverse_qualifiers.cmake + ) +set_tests_properties(test_exp2cxx_unique_qualifiers test_exp2cxx_inverse_qualifiers PROPERTIES DEPENDS build_exp2cxx) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/src/exp2cxx/test/inverse_qualifiers.cmake b/src/exp2cxx/test/inverse_qualifiers.cmake new file mode 100644 index 000000000..ed26e0b75 --- /dev/null +++ b/src/exp2cxx/test/inverse_qualifiers.cmake @@ -0,0 +1,27 @@ +cmake_minimum_required( VERSION 3.12 ) + +# executable is ${EXE}, input file is ${INFILE} + +set( ofile "entity/SdaiAssembly_component.cc" ) +execute_process( COMMAND ${EXE} ${INFILE} + RESULT_VARIABLE CMD_RESULT ) +if( NOT ${CMD_RESULT} EQUAL 0 ) + message(FATAL_ERROR "Error running ${EXE} on ${INFILE}") +endif( NOT ${CMD_RESULT} EQUAL 0 ) + +file( READ ${ofile} cxx LIMIT 10240 ) #9051 bytes now + +# new Inverse_attribute("product_occurrence.occurrence_contexts" +string( REGEX MATCH "new *Inverse_attribute *\\\( *\\\" *product_occurrence *\\. *occurrence_contexts" match_result ${cxx} ) + +if( match_result STREQUAL "" ) + message( FATAL_ERROR "exp2cxx output does not match input schema." ) +endif( match_result STREQUAL "" ) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/src/exp2cxx/test/missing_init.exp b/src/exp2cxx/test/missing_init.exp new file mode 100644 index 000000000..77077ab79 --- /dev/null +++ b/src/exp2cxx/test/missing_init.exp @@ -0,0 +1,19 @@ +SCHEMA missing_init; + +TYPE surface_tolerance_deviation = positive_length_measure; +END_TYPE; -- 10303-46: presentation_appearance_schema + +TYPE positive_length_measure = non_negative_length_measure; +WHERE + wr1 : SELF > 0.0; +END_TYPE; -- 10303-41: measure_schema + +TYPE non_negative_length_measure = length_measure; +WHERE + wr1 : SELF >= 0.0; +END_TYPE; -- 10303-41: measure_schema + +TYPE length_measure = REAL; +END_TYPE; -- 10303-41: measure_schema + +END_SCHEMA; diff --git a/src/exp2cxx/test/unique_qualifiers.cmake b/src/exp2cxx/test/unique_qualifiers.cmake new file mode 100644 index 000000000..13225bd6a --- /dev/null +++ b/src/exp2cxx/test/unique_qualifiers.cmake @@ -0,0 +1,31 @@ +cmake_minimum_required( VERSION 3.12 ) + +# executable is ${EXE}, input file is ${INFILE} + +# set( ofile "SdaiAll.cc" ) +set(ofile "entity/SdaiConnection_zone_interface_plane_relationship.cc") +execute_process( COMMAND ${EXE} ${INFILE} + RESULT_VARIABLE CMD_RESULT ) +if( NOT ${CMD_RESULT} EQUAL 0 ) + message(FATAL_ERROR "Error running ${EXE} on ${INFILE}") +endif( NOT ${CMD_RESULT} EQUAL 0 ) + +file( READ ${ofile} cxx LIMIT 4096 ) + +# ur = new Uniqueness_rule("UR1 : SELF\shape_aspect_relationship.name;\n"); +#entity/SdaiConnection_zone_interface_plane_relationship.cc:57: str.append( "SELF\\shape_aspect_relationship.name\n" ); + +# string( REGEX MATCH "new *Uniqueness_rule *\\\( *\\\" *[uU][rR]1 *: *SELF *\\\\ *shape_aspect_relationship *\\. *name" match_result ${cxx} ) +string( REGEX MATCH "str.append *\\\( *\\\" *SELF *\\\\\\\\ *shape_aspect_relationship *\\. *name" match_result ${cxx} ) + +if( match_result STREQUAL "" ) + message( FATAL_ERROR "exp2cxx output does not match input schema." ) +endif( match_result STREQUAL "" ) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/src/base/sc_trace_fprintf.c b/src/exp2cxx/trace_fprintf.c similarity index 92% rename from src/base/sc_trace_fprintf.c rename to src/exp2cxx/trace_fprintf.c index 95ca6b9c6..3a3838d67 100644 --- a/src/base/sc_trace_fprintf.c +++ b/src/exp2cxx/trace_fprintf.c @@ -1,8 +1,7 @@ - #include #include -#include "sc_trace_fprintf.h" +#include "trace_fprintf.h" void trace_fprintf( char const * sourcefile, int line, FILE * file, const char * format, ... ) { va_list args; diff --git a/src/base/sc_trace_fprintf.h b/src/exp2cxx/trace_fprintf.h similarity index 65% rename from src/base/sc_trace_fprintf.h rename to src/exp2cxx/trace_fprintf.h index dae83d4a4..9e5c2f073 100644 --- a/src/base/sc_trace_fprintf.h +++ b/src/exp2cxx/trace_fprintf.h @@ -1,26 +1,26 @@ #ifndef SC_TRACE_FPRINTF_H #define SC_TRACE_FPRINTF_H -/** \file sc_trace_fprintf.h +/** \file trace_fprintf.h * Used to track the source file and line where generated code is printed from * When enabled, comments are printed into the generated files for every 'fprintf': - * / * source: scl/src/fedex_plus/selects.c:1375 * / + * / * source: scl/src/exp2cxx/selects.c:1375 * / * To enable, configure with 'cmake .. -DSC_TRACE_FPRINTF=ON' * * This header must be included *after* all other headers, otherwise the compiler will * report errors in system headers. - * \sa trace_fprintf + * \sa trace_fprintf() **/ #include "sc_export.h" -/** used to find where generated c++ originates from in fedex_plus - * To enable, configure with 'cmake .. -DSC_TRACE_FPRINTF=ON' - */ #ifdef __cplusplus extern "C" { #endif - SC_BASE_EXPORT void trace_fprintf( char const * sourcefile, int line, FILE * file, const char * format, ... ); + /** Used to find where generated c++ originates from in exp2cxx. + * To enable, configure with 'cmake .. -DSC_TRACE_FPRINTF=ON' + */ + void trace_fprintf( char const * sourcefile, int line, FILE * file, const char * format, ... ); #ifdef __cplusplus } #endif diff --git a/src/fedex_plus/trynext.cc b/src/exp2cxx/trynext.cc similarity index 96% rename from src/fedex_plus/trynext.cc rename to src/exp2cxx/trynext.cc index 93833b6f1..e2c0a0edf 100644 --- a/src/fedex_plus/trynext.cc +++ b/src/exp2cxx/trynext.cc @@ -12,7 +12,6 @@ *****************************************************************************/ #include "complexSupport.h" -#include // Local function prototypes: static EntList * firstCandidate( EntList * ); @@ -35,7 +34,7 @@ MatchType MultList::tryNext( EntNode * ents ) child = firstCandidate( child ); while( child != NULL ) { - if( ( retval = ( ( MultList * )child )->tryNext( ents ) ) == MATCHALL ) { + if( ( retval = ( dynamic_cast< MultList * >(child) )->tryNext( ents ) ) == MATCHALL ) { // We're done - a good solution was found. return MATCHALL; } @@ -104,7 +103,6 @@ MatchType OrList::tryNext( EntNode * ents ) * and then to try our next choice. */ { - MatchType retval; EntList * child; @@ -116,10 +114,11 @@ MatchType OrList::tryNext( EntNode * ents ) // First try other choices of descendants of current choice: child = getChild( choice ); if( child->multiple() ) { + MatchType retval; // I.e., if there are (or may be) more choices within the current // choice, try those first. We must be sure to exhaust all choices in // our descendants before moving on. - retval = ( ( MultList * )child )->tryNext( ents ); + retval = ( dynamic_cast< MultList * >(child) )->tryNext( ents ); if( retval == MATCHALL ) { return MATCHALL; } diff --git a/src/fedex_plus/write.cc b/src/exp2cxx/write.cc similarity index 95% rename from src/fedex_plus/write.cc rename to src/exp2cxx/write.cc index c3a3eb52e..da1ecb747 100644 --- a/src/fedex_plus/write.cc +++ b/src/exp2cxx/write.cc @@ -11,14 +11,13 @@ *****************************************************************************/ #include "complexSupport.h" -#include // Local function prototypes: static void writeheader( ostream &, int ); void print_complex( ComplexCollect & collect, const char * filename ) /* - * Standalone function called from fedex_plus. Takes a ComplexCollect + * Standalone function called from exp2cxx. Takes a ComplexCollect * and writes its contents to a file (filename) which can be used to * recreate this CCollect. */ @@ -117,7 +116,7 @@ static void writeheader( ostream & os, int noLists ) << " * file, however, there are no complex entities, so this\n" << " * function is a stub.\n" << " */" << endl << endl; - os << "#include \"complexSupport.h\"\n#include \"sc_memmgr.h\"\n\n"; + os << "#include \"clstepcore/complexSupport.h\"\n\n"; os << "ComplexCollect *gencomplex()" << endl; os << "{" << endl; return; @@ -129,10 +128,10 @@ static void writeheader( ostream & os, int noLists ) << " * support structures. The structures will be used in the SCL to\n" << " * validate user requests to instantiate complex entities.\n" << " */" << endl << endl; - os << "#include \"complexSupport.h\"\n#include \"sc_memmgr.h\"\n\n"; + os << "#include \"clstepcore/complexSupport.h\"\n\n"; os << "ComplexCollect *gencomplex()" << endl; os << " /*" << endl - << " * This function contains instantiation statments for all the\n" + << " * This function contains instantiation statements for all the\n" << " * ComplexLists and EntLists in a ComplexCollect. The instan-\n" << " * stiation statements were generated in order of lower to\n" << " * higher, and last to first to simplify creating some of the\n" diff --git a/src/exp2python/CMakeLists.txt b/src/exp2python/CMakeLists.txt new file mode 100644 index 000000000..60ced2d77 --- /dev/null +++ b/src/exp2python/CMakeLists.txt @@ -0,0 +1,41 @@ +if(SC_PYTHON_GENERATOR) + + include_directories( + ${SC_SOURCE_DIR}/include + ${SC_SOURCE_DIR}/include/express + ) + + add_definitions(-DHAVE_CONFIG_H) + + set(exp2python_SOURCES + src/classes_misc_python.c + ../express/fedex.c + src/fedex_main_python.c + src/classes_wrapper_python.cc + src/classes_python.c + src/selects_python.c + src/multpass_python.c + ../exp2cxx/collect.cc + ../exp2cxx/complexlist.cc + ../exp2cxx/entlist.cc + ../exp2cxx/multlist.cc + ../exp2cxx/orlist.cc + ../exp2cxx/entnode.cc + ../exp2cxx/expressbuild.cc + ../exp2cxx/non-ors.cc + ../exp2cxx/match-ors.cc + ../exp2cxx/trynext.cc + ../exp2cxx/write.cc + ../exp2cxx/print.cc + ) + SC_ADDEXEC(exp2python SOURCES ${exp2python_SOURCES} LINK_LIBRARIES express) + +endif(SC_PYTHON_GENERATOR) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/src/exp2python/DESIGN.txt b/src/exp2python/DESIGN.txt new file mode 100644 index 000000000..0481bef18 --- /dev/null +++ b/src/exp2python/DESIGN.txt @@ -0,0 +1,76 @@ +This is an experimental alternate Parser implementation, with a view to facilitating the integration +of Part21 and Part28 exchange structures with other schema (such as AP203, AP214 and AP242). + +The idea is to build a base Part21 parser implementation implemented using Ply (such as the one you +can now find in SCL.Part21 in this branch). + +Exp2Python would be enhanced to subclass this parser and implement parser rules based on Part21 +type / parameter mapping of schemas. + +Exp2Python output Entity classes would be minimal, implementing all calculated attributes and +automatic type conversion from Part21 parameter types to the schema defined types. DERIVED +attributes would be implemented in the output class (as they are now). + +Validating and non-validating versions of the parser would be generated. + +For the validating parser all type checking / compatibility would be implemented by parser rules and +callbacks. Callbacks would be run after the first parser run, or sooner if a way could be found to +trigger them when appropriate. + +Some pseudo code is given below (see comments): + +import SCL.Part21 + +# entity classes would be fully implemented by exp2python +class RepresentationItem: + def __init__(self, name): + pass + +# complete implementation not shown here! +class GeometricRepresentationItem(RepresentationItem): + def __init__(self, name): + RepresentationItem.__init__(self, name) + +class Curve(GeometricRepresentationItem): + def __init__(self, name): + GeometricRepresentationItem.__init__(self, name) + +class Conic(Curve): + def __init__(self, name, position): + Curve.__init__(self, name, position) + +class Circle(Conic): + def __init__(self, name, position, radius): + Conic.__init__(self, name, position, radius) + + +class AP203Parser(SCL.Part21.Parser): + entities = ['ABSORBED_DOSE_MEASURE_WITH_UNIT', + 'ABSORBED_DOSE_UNIT', + ..., + 'AXIS1_PLACEMENT', + 'AXIS2_PLACEMENT_2D', + 'AXIS2_PLACEMENT_3D', + ..., + 'CIRCLE', + 'CIRCULAR_RUNOUT_TOLERANCE', + 'YEAR_MONTH', + ..., + 'ZONE_STRUCTURAL_MAKEUP'] + + def __init__(self, ...): + SCL.Part21.Parser.__init__(self) + # schema entities would be passed to the underlying lexer to facilitate exact rule matches + self.lexer.register_entities(self.entities) + + # validating form + def p_circle_entity(self, p): + r"""simple_record : CIRCLE '(' STRING ',' ENTITY_INSTANCE_NAME ',' REAL ')'""" + p[0] = Circle(p[3], p[5], p[7]) + self.add_instance_validation(p[5], lambda x: isinstance(x, Axis2Placement)) + + # non validating form + def p_circle_entity(self, p): + r"""simple_record : CIRCLE '(' parameter_list ')'""" + p[0] = Circle(*p[3]) + diff --git a/src/exp2python/python/.gitignore b/src/exp2python/python/.gitignore new file mode 100644 index 000000000..a7747886c --- /dev/null +++ b/src/exp2python/python/.gitignore @@ -0,0 +1,2 @@ +/build + diff --git a/src/fedex_python/python/setup.py b/src/exp2python/python/LICENSE similarity index 81% rename from src/fedex_python/python/setup.py rename to src/exp2python/python/LICENSE index bda974879..6e4fe3b3b 100644 --- a/src/fedex_python/python/setup.py +++ b/src/exp2python/python/LICENSE @@ -1,9 +1,10 @@ -#!/usr/bin/env python - # Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) +# Copyright (c) 2014, Christopher HORLER (cshorler@googlemail.com) +# Copyright (c) 2021, Devon Sparks (devonsparks.com) + # All rights reserved. -# This file is part StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -29,15 +30,4 @@ # 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. - -from distutils.core import setup - -setup(name='SCL', - version='0.5', - description='Python STEP Class Library', - author='Thomas Paviot', - author_email='tpaviot@gmail.com', - url='https://github.com/mpictor/StepClassLibrary', - packages=['SCL'], - ) \ No newline at end of file +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/src/exp2python/python/README.md b/src/exp2python/python/README.md new file mode 100644 index 000000000..20278a512 --- /dev/null +++ b/src/exp2python/python/README.md @@ -0,0 +1,22 @@ +# stepcode - A Python3 STEP Library + +STEPCODE Python is a Python3-based library for parsing and manipulating ISO 10303 Part 21 ("STEP") files. + +# Use + +To parse a ISO 10303 Part 21 file, use the `Parser` class of `stepcode.Part21`. On a successful parse, the result will be a Part 21 parse tree and associated STEP instances. + +See [test_parser](tests/test_parser.py) for use of the `stepcode.Part21` parser with a sample STEP file. + + +# Building + +The stepcode Python package can be built directly using [PyPA's build module](https://github.com/pypa/build). Run `python3 -m build` from this directory. + +# Testing + +STEPCODE Python comes with a small test suite (additions welcome!) From this directory, `python3 -m unittest discover`. + +# License + +See [LICENSE](LICENSE) \ No newline at end of file diff --git a/src/exp2python/python/pyproject.toml b/src/exp2python/python/pyproject.toml new file mode 100644 index 000000000..8d4a680fe --- /dev/null +++ b/src/exp2python/python/pyproject.toml @@ -0,0 +1,6 @@ +[build-system] +requires = [ + "setuptools>=40", + "wheel" +] +build-backend = "setuptools.build_meta" \ No newline at end of file diff --git a/src/exp2python/python/setup.cfg b/src/exp2python/python/setup.cfg new file mode 100644 index 000000000..3a05fbf27 --- /dev/null +++ b/src/exp2python/python/setup.cfg @@ -0,0 +1,22 @@ +[metadata] +name = stepcode +version = 0.7.0 +author = Thomas Paviot , Christopher HORLER (cshorler@googlemail.com), Devon Sparks (devonsparks.com) +description = stepcode is a Python3-based library for parsing and manipulating ISO 10303 Part 21 ("STEP") files. +long_description = file: README.md +long_description_content_type = text/markdown + +url = https://github.com/stepcode/stepcode +project_urls = + Bug Tracker = https://github.com/stepcode/stepcode/issues +classifiers = + Programming Language :: Python :: 3 + +[options] +package_dir = + =. +packages = stepcode +python_requires = >=3.6 +install_requires = + ply + diff --git a/src/fedex_python/python/SCL/AggregationDataTypes.py b/src/exp2python/python/stepcode/AggregationDataTypes.py similarity index 89% rename from src/fedex_python/python/SCL/AggregationDataTypes.py rename to src/exp2python/python/stepcode/AggregationDataTypes.py index 0c324f56a..9dfd1b1a0 100644 --- a/src/fedex_python/python/SCL/AggregationDataTypes.py +++ b/src/exp2python/python/stepcode/AggregationDataTypes.py @@ -1,7 +1,7 @@ # Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) # All rights reserved. -# This file is part of the StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -29,11 +29,11 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from SimpleDataTypes import * -from TypeChecker import check_type -import BaseType +from .SimpleDataTypes import * +from .TypeChecker import check_type +from . import BaseType -class BaseAggregate(object): +class BaseAggregate: """ A class that define common properties to ARRAY, LIST, SET and BAG. """ def __init__( self , bound1 , bound2 , base_type ): @@ -69,7 +69,7 @@ class ARRAY(BaseType.Type, BaseType.Aggregate): """ EXPRESS definition: ================== - An array data type has as its domain indexed, fixed-size collections of like elements. The lower + An array data type has as its domain indexed, fixed-size collections of like elements. The lower and upper bounds, which are integer-valued expressions, define the range of index values, and thus the size of each array collection. An array data type definition may optionally specify @@ -93,21 +93,21 @@ class ARRAY(BaseType.Type, BaseType.Aggregate): NOTE 1 { The bounds may be positive, negative or zero, but may not be indeterminate (?) (see 14.2). Rules and restrictions: - a) Both expressions in the bound speci cation, bound_1 and bound_2, shall evaluate to + a) Both expressions in the bound specification, bound_1 and bound_2, shall evaluate to integer values. Neither shall evaluate to the indeterminate (?) value. b) bound_1 gives the lower bound of the array. This shall be the lowest index which is valid for an array value of this data type. c) bound_2 gives the upper bound of the array. This shall be the highest index which is valid for an array value of this data type. d) bound_1 shall be less than or equal to bound_2. - e) If the optional keyword is speci ed, an array value of this data type may have the + e) If the optional keyword is specified, an array value of this data type may have the indeterminate (?) value at one or more index positions. - f) If the optional keyword is not speci ed, an array value of this data type shall not + f) If the optional keyword is not specified, an array value of this data type shall not contain an indeterminate (?) value at any index position. - g) If the unique keyword is speci ed, each element in an array value of this data type - shall be di erent from (i.e., not instance equal to) every other element in the same array + g) If the unique keyword is specified, each element in an array value of this data type + shall be different from (i.e., not instance equal to) every other element in the same array value. - NOTE 2 : Both optional and unique may be speci ed in the same array data type definition. + NOTE 2 : Both optional and unique may be specified in the same array data type definition. This does not preclude multiple indeterminate (?) values from occurring in a single array value. This is because comparisons between indeterminate (?) values result in unknown so the uniqueness constraint is not violated. @@ -115,7 +115,7 @@ class ARRAY(BaseType.Type, BaseType.Aggregate): sectors : ARRAY [ 1 : 10 ] OF -- first dimension ARRAY [ 11 : 14 ] OF -- second dimension UNIQUE something; - The first array has 10 elements of data type ARRAY[11:14] OF UNIQUE something. There is + The first array has 10 elements of data type ARRAY[11:14] OF UNIQUE something. There is a total of 40 elements of data type something in the attribute named sectors. Within each ARRAY[11:14], no duplicates may occur; however, the same something instance may occur in two different ARRAY[11:14] values within a single value for the attribute named sectors. @@ -126,9 +126,9 @@ class ARRAY(BaseType.Type, BaseType.Aggregate): """ def __init__( self , bound_1 , bound_2 , base_type , UNIQUE = False, OPTIONAL=False, scope = None): BaseType.Type.__init__(self, base_type, scope) - if not type(bound_1)==int: + if not isinstance(bound_1, int): raise TypeError("ARRAY lower bound must be an integer") - if not type(bound_2)==int: + if not isinstance(bound_2, int): raise TypeError("ARRAY upper bound must be an integer") if not (bound_1 <= bound_2): raise AssertionError("ARRAY lower bound must be less than or equal to upper bound") @@ -179,7 +179,7 @@ def __getitem__(self, index): raise IndexError("ARRAY index out of bound (upper bound is %i, passed %i)"%(self._bound_2,index)) else: value = self._container[index-self._bound_1] - if not self._optional and value==None: + if not self._optional and value is None: raise AssertionError("Not OPTIONAL prevent the value with index %i from being None (default). Please set the value first."%index) return value @@ -223,10 +223,10 @@ class LIST(BaseType.Type, BaseType.Aggregate): If this value is indeterminate (?) the number of elements in a list value of this data type is not bounded from above. c) If the bound_spec is omitted, the limits are [0:?]. - d) If the unique keyword is speci ed, each element in a list value of this data type shall - be di erent from (i.e., not instance equal to) every other element in the same list value. - EXAMPLE 28 { This example de nes a list of arrays. The list can contain zero to ten arrays. Each - array of ten integers shall be di erent from all other arrays in a particular list. + d) If the unique keyword is specified, each element in a list value of this data type shall + be different from (i.e., not instance equal to) every other element in the same list value. + EXAMPLE 28 { This example defines a list of arrays. The list can contain zero to ten arrays. Each + array of ten integers shall be different from all other arrays in a particular list. complex_list : LIST[0:10] OF UNIQUE ARRAY[1:10] OF INTEGER; Python definition: @@ -235,17 +235,17 @@ class LIST(BaseType.Type, BaseType.Aggregate): """ def __init__( self , bound_1 , bound_2 , base_type , UNIQUE = False, scope = None): BaseType.Type.__init__(self, base_type, scope) - if not type(bound_1)==int: + if not isinstance(bound_1, int): raise TypeError("LIST lower bound must be an integer") # bound_2 can be set to None self._unbounded = False - if bound_2 == None: + if bound_2 is None: self._unbounded = True - elif not type(bound_2)==int: + elif not isinstance(bound_2, int): raise TypeError("LIST upper bound must be an integer") if not bound_1>=0: raise AssertionError("LIST lower bound must be greater of equal to 0") - if (type(bound_2)==int and not (bound_1 <= bound_2)): + if (isinstance(bound_2, int) and not (bound_1 <= bound_2)): raise AssertionError("ARRAY lower bound must be less than or equal to upper bound") # set up class attributes self._bound_1 = bound_1 @@ -282,14 +282,14 @@ def get_loindex(self): def get_hibound(self): hibound = self._bound_2 - if type(hibound)==int: + if isinstance(hibound, int): return INTEGER(hibound) else: return hibound def get_lobound(self): lobound = self._bound_1 - if type(lobound)==int: + if isinstance(lobound, int): return INTEGER(lobound) else: return lobound @@ -313,7 +313,7 @@ def __getitem__(self, index): raise IndexError("ARRAY index out of bound (upper bound is %i, passed %i)"%(self._bound_2,index)) else: value = self._container[index-self._bound_1] - if value == None: + if value is None: raise AssertionError("Value with index %i not defined. Please set the value first."%index) return value #case unbounded @@ -322,7 +322,7 @@ def __getitem__(self, index): raise AssertionError("Value with index %i not defined. Please set the value first."%index) else: value = self._container[index-self._bound_1] - if value == None: + if value is None: raise AssertionError("Value with index %i not defined. Please set the value first."%index) return value @@ -374,7 +374,7 @@ class BAG(BaseType.Type, BaseType.Aggregate): ================== A bag data type has as its domain unordered collections of like elements. The optional lower and upper bounds, which are integer-valued expressions, define the minimum and maximum - number of elements that can be held in the collection de ned by a bag data type. + number of elements that can be held in the collection defined by a bag data type. Syntax: 170 bag_type = BAG [ bound_spec ] OF base_type . @@ -409,17 +409,17 @@ class BAG(BaseType.Type, BaseType.Aggregate): """ def __init__( self , bound_1 , bound_2 , base_type , scope = None): BaseType.Type.__init__(self, base_type, scope) - if not type(bound_1)==int: + if not isinstance(bound_1, int): raise TypeError("LIST lower bound must be an integer") # bound_2 can be set to None self._unbounded = False - if bound_2 == None: + if bound_2 is None: self._unbounded = True - elif not type(bound_2)==int: + elif not isinstance(bound_2, int): raise TypeError("LIST upper bound must be an integer") if not bound_1>=0: raise AssertionError("LIST lower bound must be greater of equal to 0") - if (type(bound_2)==int and not (bound_1 <= bound_2)): + if (isinstance(bound_2, int) and not (bound_1 <= bound_2)): raise AssertionError("ARRAY lower bound must be less than or equal to upper bound") # set up class attributes self._bound_1 = bound_1 @@ -462,14 +462,14 @@ def get_loindex(self): def get_hibound(self): hibound = self._bound_2 - if type(hibound)==int: + if isinstance(hibound, int): return INTEGER(hibound) else: return hibound def get_lobound(self): lobound = self._bound_1 - if type(lobound)==int: + if isinstance(lobound, int): return INTEGER(lobound) else: return lobound @@ -490,8 +490,8 @@ class SET(BaseType.Type, BaseType.Aggregate): ================== A set data type has as its domain unordered collections of like elements. The set data type is a specialization of the bag data type. The optional lower and upper bounds, which are integer- - valued expressions, de ne the minimum and maximum number of elements that can be held in - the collection de ned by a set data type. The collection de ned by set data type shall not + valued expressions, define the minimum and maximum number of elements that can be held in + the collection defined by a set data type. The collection defined by set data type shall not contain two or more elements which are instance equal. Syntax: 285 set_type = SET [ bound_spec ] OF base_type . @@ -509,14 +509,14 @@ class SET(BaseType.Type, BaseType.Aggregate): If this value is indeterminate (?) the number of elements in a set value of this data type is not be bounded from above. c) If the bound_spec is omitted, the limits are [0:?]. - d) Each element in an occurrence of a set data type shall be di erent from (i.e., not + d) Each element in an occurrence of a set data type shall be different from (i.e., not instance equal to) every other element in the same set value. - EXAMPLE 30 { This example de nes an attribute as a set of points (a named data type assumed + EXAMPLE 30 { This example defines an attribute as a set of points (a named data type assumed to have been declared elsewhere). a_set_of_points : SET OF point; The attribute named a_set_of_points can contain zero or more points. Each point instance (in - the set value) is required to be di erent from every other point in the set. - If the value is required to have no more than 15 points, the speci cation can provide an upper bound, + the set value) is required to be different from every other point in the set. + If the value is required to have no more than 15 points, the specification can provide an upper bound, as in: a_set_of_points : SET [0:15] OF point; The value of the attribute named a_set_of_points now may contain no more than 15 points. @@ -527,17 +527,17 @@ class SET(BaseType.Type, BaseType.Aggregate): """ def __init__( self , bound_1 , bound_2 , base_type , scope = None): BaseType.Type.__init__(self, base_type, scope) - if not type(bound_1)==int: + if not isinstance(bound_1, int): raise TypeError("LIST lower bound must be an integer") # bound_2 can be set to None self._unbounded = False - if bound_2 == None: + if bound_2 is None: self._unbounded = True - elif not type(bound_2)==int: + elif not isinstance(bound_2, int): raise TypeError("LIST upper bound must be an integer") if not bound_1>=0: raise AssertionError("LIST lower bound must be greater of equal to 0") - if (type(bound_2)==int and not (bound_1 <= bound_2)): + if (isinstance(bound_2, int) and not (bound_1 <= bound_2)): raise AssertionError("ARRAY lower bound must be less than or equal to upper bound") # set up class attributes self._bound_1 = bound_1 @@ -581,14 +581,14 @@ def get_loindex(self): def get_hibound(self): hibound = self._bound_2 - if type(hibound)==int: + if isinstance(hibound, int): return INTEGER(hibound) else: return hibound def get_lobound(self): lobound = self._bound_1 - if type(lobound)==int: + if isinstance(lobound, int): return INTEGER(lobound) else: return lobound diff --git a/src/fedex_python/python/SCL/BaseType.py b/src/exp2python/python/stepcode/BaseType.py similarity index 91% rename from src/fedex_python/python/SCL/BaseType.py rename to src/exp2python/python/stepcode/BaseType.py index 0698ba89b..64bf779f2 100644 --- a/src/fedex_python/python/SCL/BaseType.py +++ b/src/exp2python/python/stepcode/BaseType.py @@ -1,7 +1,7 @@ # Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) # All rights reserved. -# This file is part of the StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -29,7 +29,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -class Type(object): +class Type: ''' A type can be defined from its name and scope Looking into the scope dict returns the python type class. @@ -43,10 +43,10 @@ def get_scope(self): return self._scope def get_type(self): - if type(self._typedef) == str: - if self._scope == None: + if isinstance(self._typedef, str): + if self._scope is None: raise AssertionError('No scope defined for this type') - elif vars(self._scope).has_key(self._typedef): + elif self._typedef in vars(self._scope): return vars(self._scope)[self._typedef] else: raise TypeError("Type '%s' is not defined in given scope"%self._typedef) @@ -65,5 +65,5 @@ class Aggregate: class line: pass new_type = Type('lie',scp) - print new_type.get_type() + print(new_type.get_type()) \ No newline at end of file diff --git a/src/fedex_python/python/SCL/Builtin.py b/src/exp2python/python/stepcode/Builtin.py similarity index 92% rename from src/fedex_python/python/SCL/Builtin.py rename to src/exp2python/python/stepcode/Builtin.py index 69376e83e..0d71466a1 100644 --- a/src/fedex_python/python/SCL/Builtin.py +++ b/src/exp2python/python/stepcode/Builtin.py @@ -1,7 +1,7 @@ # Copyright (c) 2011-2012, Thomas Paviot (tpaviot@gmail.com) # All rights reserved. -# This file is part of the StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -32,9 +32,9 @@ __doc__ = "This module defines EXPRESS built in constants and functions" import math -from SimpleDataTypes import * -from BaseType import Aggregate -from AggregationDataTypes import * +from .SimpleDataTypes import * +from .BaseType import Aggregate +from .AggregationDataTypes import * SCL_float_epsilon = 1e-7 # Builtin constants @@ -50,8 +50,8 @@ #14.2 Indeterminate #The indeterminate symbol (?) stands for an ambiguous value. It is compatible with all data #types. -#NOTE - The most common use of indeterminate (?) is as the upper bound speci cation of a bag, -#list or set. This usage represents the notion that the size of the aggregate value de ned by the +#NOTE - The most common use of indeterminate (?) is as the upper bound specification of a bag, +#list or set. This usage represents the notion that the size of the aggregate value defined by the #aggregation data type is unbounded. # python note: indeterminate value is mapped to None in aggregate bounds @@ -65,7 +65,7 @@ # EXPRESS definition: # =================== #14.4 Pi -#PI is a REAL constant representing the mathematical value , the ratio of a circle's circumference +#PI is a REAL constant representing the mathematical value π, the ratio of a circle's circumference #to its diameter. PI = REAL(math.pi) @@ -74,7 +74,7 @@ #14.5 Self #SELF refers to the current entity instance or type value. self may appear within an entity #declaration, a type declaration or an entity constructor. -#NOTE - sSELF is not a constant, but behaves as one in every context in which it can appear. +#NOTE - SELF is not a constant, but behaves as one in every context in which it can appear. # python note: SELF is not mapped to any constant, but is mapper to self # EXPRESS definition: @@ -87,7 +87,7 @@ # EXPRESS definition: # =================== #14.7 Unknown -#unknown is a logical constant representing that there is insucient information available to +#unknown is a logical constant representing that there is insufficient information available to #be able to evaluate a logical condition. It is compatible with the logical data type, but not #with the boolean data type. # @TODO: define UNKNOWN in python @@ -122,7 +122,7 @@ def ABS(V): #FUNCTION ACOS ( V:NUMBER ) : REAL; #The acos function returns the angle given a cosine value. #Parameters : V is a number which is the cosine of an angle. -#Result : The angle in radians (0  result  ) whose cosine is V. +#Result : The angle in radians (0 <= result <= pi) whose cosine is V. #Conditions : -1.0= 1.266103... # Python definition: @@ -149,7 +149,7 @@ def ASIN(V): #a) V1 is a number. #b) V2 is a number. #Result : The angle in radians (-pi/2<=result<=pi/2) whose tangent is V. If V2 is zero, the result -#is pi/2 or -pi/2 depending on the sign of V1. +#is pi/2 or -pi/2 depending on the sign of V1. #Conditions : Both V1 and V2 shall not be zero. #EXAMPLE 128 { ATAN ( -5.5, 3.0 ) --> -1.071449... def ATAN(V1,V2): @@ -197,7 +197,7 @@ def BLENGTH(V): #FUNCTION SIN ( V:NUMBER ) : REAL; #The sin function returns the sine of an angle. #Parameters : V is a number representing an angle expressed in radians. -#Result : The sine of V (-1.0  result  1.0). +#Result : The sine of V (-1.0 <= result <= 1.0). #EXAMPLE 144 { SIN ( PI ) --> 0.0 # def COS(V): @@ -220,7 +220,7 @@ def SIN(V): #Result : true or false depending on whether V has an actual or indeterminate (?) value. #EXAMPLE 131 { IF EXISTS ( a ) THEN ... def EXISTS(V): - if V==None: + if V is None: return False else: return True @@ -487,14 +487,14 @@ def ODD(V): # =================== #15.20 RolesOf - general function #FUNCTION ROLESOF ( V:GENERIC ) : SET OF STRING; -#The rolesof function returns a set of strings containing the fully quali ed names of the roles -#played by the speci ed entity instance. A fully quali ed name is de ned to be the name of the -#attribute quali ed by the name of the schema and entity in which this attribute is declared (i.e. +#The rolesof function returns a set of strings containing the fully qualified names of the roles +#played by the specified entity instance. A fully qualified name is defined to be the name of the +#attribute qualified by the name of the schema and entity in which this attribute is declared (i.e. #'SCHEMA.ENTITY.ATTRIBUTE'). #Parameters : V is any instance of an entity data type. -#Result : A set of string values (in upper case) containing the fully quali ed names of the +#Result : A set of string values (in upper case) containing the fully qualified names of the #attributes of the entity instances which use the instance V. -#When a named data type is use'd or reference'd, the schema and the name in that schema, +#When a named data type is used or referenced, the schema and the name in that schema, #if renamed, are also returned. Since use statements may be chained, all the chained schema #names and the name in each schema are returned. #EXAMPLE 143 { This example shows that a point might be used as the centre of a circle. The @@ -536,7 +536,7 @@ def ODD(V): # Python note: # @TODO: implement the ROLESOF function def ROLESOF(V): - raise NotImplemented("Function ROLESOF not implemented") + raise NotImplementedError("Function ROLESOF not implemented") # EXPRESS definition: # =================== @@ -567,7 +567,7 @@ def SIZEOF(V): #The sqrt function returns the non-negative square root of a number. #Parameters : V is any non-negative number. #Result : The non-negative square root of V. -#Conditions : V  0:0 +#Conditions : V >= 0:0 #EXAMPLE 146 - SQRT ( 121 ) --> 11.0 def SQRT(V): if not isinstance(V,NUMBER): @@ -580,7 +580,7 @@ def SQRT(V): # =================== #15.24 Tan - arithmetic function #FUNCTION TAN ( V:NUMBER ) : REAL; -#The tan function returns the tangent of of an angle. +#The tan function returns the tangent of an angle. #Parameters : V is a number representing an angle expressed in radians. #Result : The tangent of the angle. If the angle is npi/2, where n is an odd integer, indeterminate #(?) is returned. @@ -602,16 +602,16 @@ def TAN(V): #The typeof function returns a set of strings that contains the names of all the data types #of which the parameter is a member. Except for the simple data types (binary, boolean, #integer, logical, number, real, and string) and the aggregation data types (array, bag, -#list, set) these names are quali ed by the name of the schema which contains the de nition of +#list, set) these names are qualified by the name of the schema which contains the definition of #the type. #NOTE 1 { The primary purpose of this function is to check whether a given value (variable, at- #tribute value) can be used for a certain purpose, e.g. to ensure assignment compatibility between -#two values. It may also be used if di erent subtypes or specializations of a given type have to be -#treated di erently in some context. +#two values. It may also be used if different subtypes or specializations of a given type have to be +#treated differently in some context. #Parameters : V is a value of any type. #Result : The contents of the returned set of string values are the names (in upper case) of all -#types the value V is a member of. Such names are quali ed by the name of the schema which -#contains the de nition of the type ('SCHEMA.TYPE') if it is neither a simple data type nor an +#types the value V is a member of. Such names are qualified by the name of the schema which +#contains the definition of the type ('SCHEMA.TYPE') if it is neither a simple data type nor an #aggregation data type. It may be derived by the following algorithm (which is given here for #specification purposes rather than to prescribe any particular type of implementation) def TYPEOF(V): @@ -636,10 +636,10 @@ def TYPEOF(V): # =================== #15.26 UsedIn - general function #FUNCTION USEDIN ( T:GENERIC; R:STRING) : BAG OF GENERIC; -#The usedin function returns each entity instance that uses a speci ed entity instance in a -#speci ed role. +#The usedin function returns each entity instance that uses a specified entity instance in a +#specified role. def USEDIN(T,R): - raise NotImplemented("USEDIN function not yet implemented.") + raise NotImplementedError("USEDIN function not yet implemented.") # EXPRESS definition: # =================== @@ -654,8 +654,8 @@ def USEDIN(T,R): #VALUE ( 'abc' ) --> ? null def VALUE(V): if not isinstance(V,STRING): - raise TypeError("VALULE function takes a NUMBER parameter") - # first try to instanciate an INTEGER from the string: + raise TypeError("VALUE function takes a NUMBER parameter") + # first try to instantiate an INTEGER from the string: try: return INTEGER(V) except: @@ -691,7 +691,7 @@ def VALUE(V): def VALUE_IN(C,V): if not isinstance(C,Aggregate): raise TypeError("VALUE_IN method takes an aggregate as first parameter") - raise NotImplemented("VALUE_IN function not et implemented") + raise NotImplementedError("VALUE_IN function not yet implemented") # EXPRESS definition: # =================== @@ -705,12 +705,12 @@ def VALUE_IN(C,V): #b) If any any two elements of V are value equal, false is returned. #c) If any element of V is indeterminate (?), unknown is returned. #d) Otherwise true is returned. -#EXAMPLE 153 { The following test ensures tht each point is a set is at a di erent position, (by -#de nition they are distinct, i.e., instance unique). +#EXAMPLE 153 { The following test ensures that each point is placed at a different position, (by +#definition they are distinct, i.e., instance unique). #IF VALUE_UNIQUE(points) THEN ... def VALUE_UNIQUE(V): if not isinstance(V,Aggregate): raise TypeError("VALUE_UNIQUE method takes an aggregate as first parameter") return V.get_value_unique() - \ No newline at end of file + diff --git a/src/fedex_python/python/SCL/ConstructedDataTypes.py b/src/exp2python/python/stepcode/ConstructedDataTypes.py similarity index 56% rename from src/fedex_python/python/SCL/ConstructedDataTypes.py rename to src/exp2python/python/stepcode/ConstructedDataTypes.py index 72ace3401..9b9d8bc5e 100644 --- a/src/fedex_python/python/SCL/ConstructedDataTypes.py +++ b/src/exp2python/python/stepcode/ConstructedDataTypes.py @@ -1,7 +1,7 @@ # Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) # All rights reserved. -# This file is part of the StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -29,20 +29,10 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import sys -import BaseType +from enum import Enum +from . import BaseType -class EnumerationId(object): - """ - EXPRESS definition: - =================== - An enumeration data type has as its domain an ordered set of names. The names represent - values of the enumeration data type. These names are designated by enumeration_ids and are - referred to as enumeration items. - """ - pass - -class ENUMERATION(object): +class ENUMERATION(Enum): """ EXPRESS definition: =================== @@ -57,59 +47,25 @@ class ENUMERATION(object): (ahead, behind); END_TYPE; -- ahead_or_behind + + Scoping and visibility of ENUMERATIONS is similar in EXPRESS and Python - is implemented in python with the line: - >>> ahead_of_behind = ENUMERATION('ahead','behind', the_current_scope) - >>> ahead_or_behind.ahead - >>> ahead_of_behind.behind - - And, if and only if ahead and/or behind are not in scope (e.g. they are not entity names, - and/or many enums define the same enumeration identifier): - >>> ahead - >>> behind + Enum implemented as per Standard Library / PEP 435 + >>> ahead_or_behind = ENUMERATION('ahead_or_behind', 'ahead behind') + >>> race_position = ahead_or_behind.ahead + >>> if race_position == ahead_or_behind.ahead: + ... # do stuff! """ - def __init__(self,*kargs,**args): - # first defining the scope - if args.has_key('scope'): - self._scope = args['scope'] - else: - self._scope = None - # store passed enum identifiers - self._enum_id_names = list(kargs) - self._enum_ids = [] - # we create enums id from names, and create attributes - # for instance, from the identifier name 'ahead', - # we create an attribute ahead with which is a new - # instance of EnumerationId - for enum_id_name in self._enum_id_names: - setattr(self,enum_id_name,EnumerationId()) - # we store this new attributes to the enum_ids list, which - # will be accessed by the type checker with the get_enum_ids method - self._enum_ids.append(self.__getattribute__(enum_id_name)) - # - # Then we check if the enums names can be added to the current scope: - # if the name is already in the scope, then another enums id or select - # has the same name -> we do nothing, enums will be called - # with ahead_of_behind.ahead or ahead_or_behind.behind. - # otherwise, they can be called as only ahead or behind - # Note: since ENUMERATIONS are defined *before* entities, if an entity - # has the same name as an enum id, it will replace it in the current scope. - # - for enum_id_name in self._enum_id_names: - if not vars(self._scope).has_key(enum_id_name): - vars(self._scope)[enum_id_name] = self.__getattribute__(enum_id_name) - - def get_enum_ids(self): - return self._enum_ids - -class SELECT(object): + pass + +class SELECT: """ A select data type has as its domain the union of the domains of the named data types in its select list. The select data type is a generalization of each of the named data types in its select list. """ def __init__(self,*kargs,**args): # first defining the scope - if args.has_key('scope'): + if 'scope' in args: self._scope = args['scope'] else: self._scope = None @@ -127,7 +83,7 @@ def get_allowed_types(self): def get_allowed_basic_types(self): ''' if a select contains some subselect, goes down through the different - sublayers untill there is no more ''' + sublayers until there is no more ''' b = [] _auth_types = self.get_allowed_types() for _auth_type in _auth_types: diff --git a/src/fedex_python/python/SCL/Model.py b/src/exp2python/python/stepcode/Model.py similarity index 95% rename from src/fedex_python/python/SCL/Model.py rename to src/exp2python/python/stepcode/Model.py index 9a3f0e87b..0a2d20aca 100644 --- a/src/fedex_python/python/SCL/Model.py +++ b/src/exp2python/python/stepcode/Model.py @@ -1,7 +1,7 @@ # Copyright (c) 2011-2012, Thomas Paviot (tpaviot@gmail.com) # All rights reserved. -# This file is part of the StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -29,11 +29,11 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -class Model(objet): +class Model: """ The container for entity instances """ def __init_(self): - print "Model initialized" + print("Model initialized") self._instances = [] def add_instance(self, entity_instance): diff --git a/src/exp2python/python/stepcode/Part21.py b/src/exp2python/python/stepcode/Part21.py new file mode 100644 index 000000000..8c8be8fef --- /dev/null +++ b/src/exp2python/python/stepcode/Part21.py @@ -0,0 +1,563 @@ +# +# STEP Part 21 Parser +# +# Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) +# Copyright (c) 2014, Christopher HORLER (cshorler@googlemail.com) +# +# All rights reserved. +# +# This file is part of the STEPCODE project. +# +# 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. +# +# Neither the name of the nor the names of its contributors may +# 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. + +import logging + +import ply.lex as lex +import ply.yacc as yacc +from ply.lex import LexError + +logger = logging.getLogger(__name__) +logger.addHandler(logging.NullHandler()) + +#################################################################################################### +# Common Code for Lexer / Parser +#################################################################################################### +base_tokens = ['INTEGER', 'REAL', 'USER_DEFINED_KEYWORD', 'STANDARD_KEYWORD', 'STRING', 'BINARY', + 'ENTITY_INSTANCE_NAME', 'ENUMERATION', 'PART21_END', 'PART21_START', 'HEADER_SEC', + 'ENDSEC', 'DATA'] + +#################################################################################################### +# Lexer +#################################################################################################### +class Lexer: + tokens = list(base_tokens) + states = (('slurp', 'exclusive'),) + + def __init__(self, debug=False, optimize=False, compatibility_mode=False, header_limit=4096): + self.base_tokens = list(base_tokens) + self.schema_dict = {} + self.active_schema = {} + self.input_length = 0 + self.compatibility_mode = compatibility_mode + self.header_limit = header_limit + self.lexer = lex.lex(module=self, debug=debug, optimize=optimize, lextab='l21tab', + debuglog=logger, errorlog=logger) + self.reset() + + def __getattr__(self, name): + if name == 'lineno': + return self.lexer.lineno + elif name == 'lexpos': + return self.lexer.lexpos + else: + raise AttributeError + + def input(self, s): + self.lexer.input(s) + self.input_length += len(s) + + def reset(self): + self.lexer.lineno = 1 + self.lexer.begin('slurp') + + def token(self): + return self.lexer.token() + + def activate_schema(self, schema_name): + if schema_name in self.schema_dict: + self.active_schema = self.schema_dict[schema_name] + else: + raise ValueError('schema not registered') + + def register_schema(self, schema_name, entities): + if schema_name in self.schema_dict: + raise ValueError('schema already registered') + + for k in entities: + if k in self.base_tokens: raise ValueError('schema cannot override base_tokens') + + if isinstance(entities, list): + entities = dict((k, k) for k in entities) + + self.schema_dict[schema_name] = entities + + def t_slurp_PART21_START(self, t): + r'ISO-10303-21;' + t.lexer.begin('INITIAL') + return t + + def t_slurp_error(self, t): + offset = t.value.find('\nISO-10303-21;', 0, self.header_limit) + if offset == -1 and self.header_limit < len(t.value): # not found within header_limit + raise LexError("Scanning error. try increasing lexer header_limit parameter", + "{0}...".format(t.value[0:20])) + elif offset == -1: # not found before EOF + t.lexer.lexpos = self.input_length + else: # found ISO-10303-21; + offset += 1 # also skip the \n + t.lexer.lineno += t.value[0:offset].count('\n') + t.lexer.skip(offset) + + def t_error(self, t): + raise LexError("Scanning error, invalid input", "{0}...".format(t.value[0:20])) + + # Comment (ignored) + def t_COMMENT(self, t): + r'/\*(.|\n)*?\*/' + t.lexer.lineno += t.value.count('\n') + + def t_PART21_END(self, t): + r'END-ISO-10303-21;' + t.lexer.begin('slurp') + return t + + def t_HEADER_SEC(self, t): + r'HEADER;' + return t + + def t_ENDSEC(self, t): + r'ENDSEC;' + return t + + # Keywords + def t_STANDARD_KEYWORD(self, t): + r'(?:!|)[A-Za-z_][0-9A-Za-z_]*' + if self.compatibility_mode: + t.value = t.value.upper() + elif not t.value.isupper(): + raise LexError('Scanning error. Mixed/lower case keyword detected, please use compatibility_mode=True', t.value) + + if t.value in self.base_tokens: + t.type = t.value + elif t.value in self.active_schema: + t.type = self.active_schema[t.value] + elif t.value.startswith('!'): + t.type = 'USER_DEFINED_KEYWORD' + return t + + def t_newline(self, t): + r'\n+' + t.lexer.lineno += len(t.value) + + # Simple Data Types + def t_REAL(self, t): + r'[+-]*[0-9][0-9]*\.[0-9]*(?:E[+-]*[0-9][0-9]*)?' + t.value = float(t.value) + return t + + def t_INTEGER(self, t): + r'[+-]*[0-9][0-9]*' + t.value = int(t.value) + return t + + def t_STRING(self, t): + r"'(?:[][!\"*$%&.#+,\-()?/:;<=>@{}|^`~0-9a-zA-Z_\\ ]|'')*'" + t.value = t.value[1:-1] + return t + + def t_BINARY(self, t): + r'"[0-3][0-9A-F]*"' + try: + t.value = int(t.value[2:-1], base=16) + except ValueError: + t.value = None + return t + + t_ENTITY_INSTANCE_NAME = r'\#[0-9]+' + t_ENUMERATION = r'\.[A-Z_][A-Z0-9_]*\.' + + # Punctuation + literals = '()=;,*$' + + t_ANY_ignore = ' \t\r' + + +#################################################################################################### +# Simple Model +#################################################################################################### +class P21File: + def __init__(self, header, *sections): + self.header = header + self.sections = list(*sections) + +class P21Header: + def __init__(self, file_description, file_name, file_schema): + self.file_description = file_description + self.file_name = file_name + self.file_schema = file_schema + self.extra_headers = [] + +class HeaderEntity: + def __init__(self, type_name, params): + self.type_name = type_name + self.params = params + +class Section: + def __init__(self, entities): + self.entities = entities + +class SimpleEntity: + def __init__(self, ref, type_name, params): + self.ref = ref + self.type_name = type_name + self.params = params + +class ComplexEntity: + def __init__(self, ref, params): + self.ref = ref + self.params = params + +class TypedParameter: + def __init__(self, type_name, *params): + self.type_name = type_name + self.params = list(params) if params else None + +#################################################################################################### +# Parser +#################################################################################################### +class Parser: + tokens = list(base_tokens) + + def __init__(self, lexer=None, debug=False, tabmodule=None, start=None, optimize=False): + # defaults + start_tabs = {'exchange_file': 'p21tab', 'extract_header': 'p21hdrtab'} + if start and tabmodule: start_tabs[start] = tabmodule + if not start: start = 'exchange_file' + if start not in start_tabs: raise ValueError('please pass (dedicated) tabmodule') + + # lexer may provide a more specialised set of tokens for use in (subclassed) parser + try: self.tokens = lexer.tokens + except AttributeError: pass + + self.lexer = lexer if lexer else Lexer() + self.parser = yacc.yacc(debug=debug, module=self, tabmodule=start_tabs[start], start=start, + optimize=optimize, debuglog=logger, errorlog=logger) + self.reset() + + def parse(self, p21_data, **kwargs): + #TODO: will probably need to change this function if the lexer is ever to support t_eof + self.lexer.reset() + self.lexer.input(p21_data) + + if 'debug' in kwargs: + result = self.parser.parse(lexer=self.lexer, debug=logger, + ** dict((k, v) for k, v in kwargs.items() if k != 'debug')) + else: + result = self.parser.parse(lexer=self.lexer, **kwargs) + return result + + def reset(self): + self.refs = {} + self.is_in_exchange_structure = False + + def p_exchange_file(self, p): + """exchange_file : check_p21_start_token header_section data_section_list check_p21_end_token""" + p[0] = P21File(p[2], p[3]) + + def p_extract_header(self, p): + """extract_header : check_p21_start_token header_section DATA""" + p[0] = P21File(p[2], []) + # clear input to avoid trailing context errors + p.lexer.input('') + + def p_check_start_token(self, p): + """check_p21_start_token : PART21_START""" + self.is_in_exchange_structure = True + p[0] = p[1] + + def p_check_end_token(self, p): + """check_p21_end_token : PART21_END""" + self.is_in_exchange_structure = False + p[0] = p[1] + + # TODO: Specialise the first 3 header entities + def p_header_section(self, p): + """header_section : HEADER_SEC header_entity header_entity header_entity ENDSEC""" + p[0] = P21Header(p[2], p[3], p[4]) + + def p_header_section_with_entity_list(self, p): + """header_section : HEADER_SEC header_entity header_entity header_entity header_entity_list ENDSEC""" + p[0] = P21Header(p[2], p[3], p[4]) + p[0].extra_headers.extend(p[5]) + + def p_header_entity(self, p): + """header_entity : keyword '(' parameter_list ')' ';'""" + p[0] = HeaderEntity(p[1], p[3]) + + def p_check_entity_instance_name(self, p): + """check_entity_instance_name : ENTITY_INSTANCE_NAME""" + if p[1] in self.refs: + logger.error('Line: {0}, SyntaxError - Duplicate Entity Instance Name: {1}'.format(p.lineno(1), p[1])) + raise SyntaxError + else: + self.refs[p[1]] = None + p[0] = p[1] + + def p_simple_entity_instance(self, p): + """simple_entity_instance : check_entity_instance_name '=' simple_record ';'""" + p[0] = SimpleEntity(p[1], *p[3]) + + def p_entity_instance_error(self, p): + """entity_instance : check_entity_instance_name '=' error ';'""" + logger.error('resyncing parser, check input between lineno %d and %d', p.lineno(2), p.lineno(4)) + + def p_complex_entity_instance(self, p): + """complex_entity_instance : check_entity_instance_name '=' subsuper_record ';'""" + p[0] = ComplexEntity(p[1], p[3]) + + def p_subsuper_record(self, p): + """subsuper_record : '(' simple_record_list ')'""" + p[0] = [SimpleEntity(None, *x) for x in p[2]] + + def p_data_section_list_init(self, p): + """data_section_list : data_section""" + p[0] = [p[1],] + + def p_data_section_list(self, p): + """data_section_list : data_section_list data_section""" + p[0] = p[1] + p[0].append(p[2]) + + def p_header_entity_list_init(self, p): + """header_entity_list : header_entity""" + p[0] = [p[1],] + + def p_header_entity_list(self, p): + """header_entity_list : header_entity_list header_entity""" + p[0] = p[1] + p[0].append(p[2]) + + def p_parameter_list_init(self, p): + """parameter_list : parameter""" + p[0] = [p[1],] + + def p_parameter_list(self, p): + """parameter_list : parameter_list ',' parameter""" + p[0] = p[1] + p[0].append(p[3]) + + def p_keyword(self, p): + """keyword : USER_DEFINED_KEYWORD + | STANDARD_KEYWORD""" + p[0] = p[1] + + def p_parameter_simple(self, p): + """parameter : STRING + | INTEGER + | REAL + | ENTITY_INSTANCE_NAME + | ENUMERATION + | BINARY + | '*' + | '$' + | typed_parameter + | list_parameter""" + p[0] = p[1] + + def p_list_parameter(self, p): + """list_parameter : '(' parameter_list ')'""" + p[0] = p[2] + + def p_typed_parameter(self, p): + """typed_parameter : keyword '(' parameter ')'""" + p[0] = TypedParameter(p[1], p[3]) + + def p_parameter_empty_list(self, p): + """parameter : '(' ')'""" + p[0] = [] + + def p_data_start(self, p): + """data_start : DATA '(' parameter_list ')' ';'""" + pass # TODO: do something with the parameters + + def p_data_start_empty(self, p): + """data_start : DATA '(' ')' ';' + | DATA ';'""" + pass + + def p_data_section(self, p): + """data_section : data_start entity_instance_list ENDSEC""" + p[0] = Section(p[2]) + + def p_entity_instance_list_init(self, p): + """entity_instance_list : entity_instance""" + p[0] = [p[1],] + + def p_entity_instance_list(self, p): + """entity_instance_list : entity_instance_list entity_instance""" + p[0] = p[1] + p[0].append(p[2]) + + def p_entity_instance_list_empty(self, p): + """entity_instance_list : empty""" + p[0] = [] + + def p_entity_instance(self, p): + """entity_instance : simple_entity_instance + | complex_entity_instance""" + p[0] = p[1] + + + def p_simple_record_empty(self, p): + """simple_record : keyword '(' ')'""" + p[0] = (p[1], []) + + def p_simple_record_with_params(self, p): + """simple_record : keyword '(' parameter_list ')'""" + p[0] = (p[1], p[3]) + + def p_simple_record_list_init(self, p): + """simple_record_list : simple_record""" + p[0] = [p[1],] + + def p_simple_record_list(self, p): + """simple_record_list : simple_record_list simple_record""" + p[0] = p[1] + p[0].append(p[2]) + + def p_empty(self, p): + """empty :""" + pass + + +def debug_lexer(): + import codecs + from os.path import normpath, expanduser + + logging.basicConfig() + logger.setLevel(logging.DEBUG) + + lexer = Lexer(debug=True) + + p = normpath(expanduser('~/projects/src/stepcode/data/ap209/ATS7-out.stp')) + with codecs.open(p, 'r', encoding='iso-8859-1') as f: + s = f.read() + lexer.input(s) + while True: + tok = lexer.token() + if not tok: break + print(tok) + +def debug_parser(): + import codecs + from os.path import normpath, expanduser + + logging.basicConfig() + logger.setLevel(logging.DEBUG) + + parser = Parser() + parser.reset() + + logger.info("***** parser debug *****") + p = normpath(expanduser('~/projects/src/stepcode/data/ap214e3/s1-c5-214/s1-c5-214.stp')) + with codecs.open(p, 'r', encoding='iso-8859-1') as f: + s = f.read() + parser.parse(s, debug=1) + + logger.info("***** finished *****") + +def test(): + import os, codecs + from os.path import normpath, expanduser + + logging.basicConfig() + logger.setLevel(logging.INFO) + + lexer = Lexer(optimize=True) + parser = Parser(lexer=lexer, optimize=True) + compat_list = [] + + def parse_check(p): + logger.info("processing {0}".format(p)) + parser.reset() + with codecs.open(p, 'r', encoding='iso-8859-1') as f: + s = f.read() + parser.parse(s) + + logger.info("***** standard test *****") + stepcode_dir = normpath(os.path.expanduser('~/projects/src/stepcode')) + for d, _, files in os.walk(stepcode_dir): + for f in filter(lambda x: x.endswith('.stp'), files): + p = os.path.join(d, f) + try: + parse_check(p) + except LexError: + logger.exception('Lexer issue, adding {0} to compatibility test list'.format(os.path.basename(p))) + compat_list.append(p) + + lexer = Lexer(optimize=True, compatibility_mode=True) + parser = Parser(lexer=lexer, optimize=True) + + logger.info("***** compatibility test *****") + for p in compat_list: + parse_check(p) + + logger.info("***** finished *****") + +def test_header_only(): + import os, codecs + from os.path import normpath, expanduser + + logging.basicConfig() + logger.setLevel(logging.INFO) + + lexer = Lexer(optimize=True) + parser = Parser(start='extract_header', optimize=True) + compat_list = [] + + def parse_check(p): + logger.info("processing {0}".format(p)) + parser.reset() + with codecs.open(p, 'r', encoding='iso-8859-1') as f: + s = f.read() + parser.parse(s) + + logger.info("***** standard test *****") + stepcode_dir = normpath(os.path.expanduser('~/projects/src/stepcode')) + for d, _, files in os.walk(stepcode_dir): + for f in filter(lambda x: x.endswith('.stp'), files): + p = os.path.join(d, f) + try: + parse_check(p) + except LexError: + logger.exception('Lexer issue, adding {0} to compatibility test list'.format(os.path.basename(p))) + compat_list.append(p) + + lexer = Lexer(optimize=True, compatibility_mode=True) + parser = Parser(lexer=lexer, start='extract_header', optimize=True) + + logger.info("***** compatibility test *****") + for p in compat_list: + parse_check(p) + + logger.info("***** finished *****") + +if __name__ == '__main__': + #debug_lexer() + #debug_parser() + test() + #test_header_only() diff --git a/src/fedex_python/python/SCL/Rules.py b/src/exp2python/python/stepcode/Rules.py similarity index 95% rename from src/fedex_python/python/SCL/Rules.py rename to src/exp2python/python/stepcode/Rules.py index 1267a99d6..4c01e15a0 100644 --- a/src/fedex_python/python/SCL/Rules.py +++ b/src/exp2python/python/stepcode/Rules.py @@ -1,7 +1,7 @@ # Copyright (c) 2011-2012, Thomas Paviot (tpaviot@gmail.com) # All rights reserved. -# This file is part of the StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -31,7 +31,7 @@ __doc__ = "This module defines EXPRESS rules" -class Rule(object): +class Rule: ''' This class describes a RULE @TODO: to be implemented diff --git a/src/fedex_python/python/SCL/SCLBase.py b/src/exp2python/python/stepcode/SCLBase.py similarity index 91% rename from src/fedex_python/python/SCL/SCLBase.py rename to src/exp2python/python/stepcode/SCLBase.py index 617c816ad..aebc880f3 100644 --- a/src/fedex_python/python/SCL/SCLBase.py +++ b/src/exp2python/python/stepcode/SCLBase.py @@ -1,7 +1,8 @@ # Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) +# Copyright (c) 2022, Chris Horler (cshorler@googlemail.com) # All rights reserved. -# This file is part of the StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -29,7 +30,12 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -class BaseEntityClass(object): +__all__ = ['BaseEntityClass'] + +def raise_(exc): + raise exc + +class BaseEntityClass: """ A class that allows advanced __repr__ features for entity instances """ def __repr__(self): diff --git a/src/fedex_python/python/SCL/SimpleDataTypes.py b/src/exp2python/python/stepcode/SimpleDataTypes.py similarity index 84% rename from src/fedex_python/python/SCL/SimpleDataTypes.py rename to src/exp2python/python/stepcode/SimpleDataTypes.py index 124c2483c..4e1d0a508 100644 --- a/src/fedex_python/python/SCL/SimpleDataTypes.py +++ b/src/exp2python/python/stepcode/SimpleDataTypes.py @@ -1,7 +1,7 @@ # Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) # All rights reserved. -# This file is part of the StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -38,7 +38,7 @@ class NUMBER: EXPRESS definition: =================== The number data type has as its domain all numeric values in the language. The number data - type shall be used when a more speci c numeric representation is not important. + type shall be used when a more specific numeric representation is not important. Syntax: 248 number_type = NUMBER . EXAMPLE 15 - Since we may not know the context of size we do not know how to correctly @@ -56,7 +56,7 @@ class REAL(float,NUMBER): """ EXPRESS definition: =================== - The real data type has as its domain all rational, irrational and scientfic real numbers. It is + The real data type has as its domain all rational, irrational and scientific real numbers. It is a specialization of the number data type. Syntax: 265 real_type = REAL [ '(' precision_spec ')' ] . @@ -110,23 +110,23 @@ class INTEGER(int,NUMBER): class STRING(str): """ The string data type has as its domain sequences of characters. The characters which are - permitted to form part of a string value are de ned in ISO 10646. + permitted to form part of a string value are defined in ISO 10646. Syntax: 293 string_type = STRING [ width_spec ] . 318 width_spec = '(' width ')' [ FIXED ] . 317 width = numeric_expression . - A string data type may be de ned as either xed or varying width (number of characters). If - it is not specfically defined as fixed width (by using the fixed reserved word in the dfinition) + A string data type may be defined as either fixed or varying width (number of characters). If + it is not specifically defined as fixed width (by using the fixed reserved word in the definition) the string has varying width. - The domain of a xed width string data type is the set of all character sequences of exactly - the width speci ed in the type de nition. + The domain of a fixed width string data type is the set of all character sequences of exactly + the width specified in the type definition. The domain of a varying width string data type is the set of all character sequences of width - less than or equal to the maximum width speci ed in the type de nition. - If no width is speci ed, the domain is the set of all character sequences, with no constraint on + less than or equal to the maximum width specified in the type definition. + If no width is specified, the domain is the set of all character sequences, with no constraint on the width of these sequences. Substrings and individual characters may be addressed using subscripts as described in 12.5. - The case (upper or lower) of letters within a string is signi cant. + The case (upper or lower) of letters within a string is significant. Python mapping: INTEGER is mapped the 'str' type. An additional width_spec parameter can be passed to handle the FIXED length constraint @@ -166,10 +166,10 @@ class BINARY(str): A binary data type may be defined as either fixed or varying width (number of bits). If it is not specifically defined as fixed width (by using the fixed reserved word in the definition) the binary data type has varying width. - The domain of a fixed width binary data type is the set of all bit sequences of exactly the width - speci ed in the type definition. + The domain of a fixed width binary data type is the set of all bit sequences of exactly the width + specified in the type definition. The domain of a varying width binary data type is the set of all bit sequences of width less - than or equal to the maximum width speci ed in the type de nition. If no width is specified, + than or equal to the maximum width specified in the type definition. If no width is specified, the domain is the set of all bit sequences, with no constraint on the width of these sequences. Subbinaries and individual bits may be addressed using subscripts as described in 12.3. @@ -180,12 +180,12 @@ def __new__(self, value, width=-1, fixed=False): return str.__new__(self, value) def __init__(self, value, width=-1, fixed=False): - """ By default, lenght is set to None""" + """ By default, length is set to None""" self._specified_width = width self._fixed = fixed # Check implicit width if (width!=-1) and not fixed: - raise ValueError("The 'width' parameter is passed but 'fixed' is still false. Please explicitely set 'fixed' to True to avoid implicit declaration") + raise ValueError("The 'width' parameter is passed but 'fixed' is still false. Please explicitly set 'fixed' to True to avoid implicit declaration") # First check the string length if 'fixed' is set to True if fixed: if len(value) != width: @@ -198,19 +198,19 @@ def __init__(self, value, width=-1, fixed=False): if __name__=="__main__": - print "Creating REAL from float value" + print("Creating REAL from float value") a = REAL(1.5) - print a*2 - print "Creating REAL from string value" + print(a*2) + print("Creating REAL from string value") a = REAL("1.2") - print a*3 - print "Creating INTEGER from int value" + print(a*3) + print("Creating INTEGER from int value") b = INTEGER(2) c = INTEGER(3) - print b+c - print "Creating INTEGER from string value" + print(b+c) + print("Creating INTEGER from string value") e = INTEGER("5") f = INTEGER("8") - print e*f + print(e*f) \ No newline at end of file diff --git a/src/fedex_python/python/SCL/TypeChecker.py b/src/exp2python/python/stepcode/TypeChecker.py similarity index 89% rename from src/fedex_python/python/SCL/TypeChecker.py rename to src/exp2python/python/stepcode/TypeChecker.py index 2c04faed5..c97d7c11f 100644 --- a/src/fedex_python/python/SCL/TypeChecker.py +++ b/src/exp2python/python/stepcode/TypeChecker.py @@ -1,7 +1,7 @@ # Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) # All rights reserved. -# This file is part of the StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -29,8 +29,8 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -from ConstructedDataTypes import ENUMERATION, SELECT -import BaseType +from .ConstructedDataTypes import ENUMERATION, SELECT +from . import BaseType RAISE_EXCEPTION_IF_TYPE_DOES_NOT_MATCH = True DEBUG = False @@ -40,20 +40,20 @@ def cast_python_object_to_aggregate(obj, aggregate): [1.,2.,3.]-> ARRAY(1,3,REAL)""" aggregate_lower_bound = aggregate.bound_1() aggregate_upper_bound = aggregate.bound_2() - if type(obj)==list: + if isinstance(obj, list): for idx in range(aggregate_lower_bound,aggregate_upper_bound+1): aggregate[idx] = obj[idx-aggregate_lower_bound] return aggregate def check_type(instance, expected_type): - """ This function checks wether an object is an instance of a given class + """ This function checks whether an object is an instance of a given class returns False or True """ type_match = False #by default, will be set to True if any match if DEBUG: - print "===" - print "Instance passed: ",instance - print "Expected type: ", expected_type + print("===") + print("Instance passed: ",instance) + print("Expected type: ", expected_type) # in the case of an enumeration, we have to check if the instance is in the list if (isinstance(expected_type,ENUMERATION)): allowed_ids = expected_type.get_enum_ids() @@ -71,11 +71,11 @@ def check_type(instance, expected_type): if RAISE_EXCEPTION_IF_TYPE_DOES_NOT_MATCH: raise TypeError('Argument type must be %s (you passed %s)'%(allowed_types,type(instance))) else: - print "WARNING: expected '%s' but passed a '%s', casting from python value to EXPRESS type"%(allowed_types, type(instance)) + print("WARNING: expected '%s' but passed a '%s', casting from python value to EXPRESS type"%(allowed_types, type(instance))) return False elif (isinstance(expected_type, BaseType.Aggregate)): # first check that they are instance of the same class - if not (type(instance) == type(expected_type)): + if not (isinstance(instance, type(expected_type))): raise TypeError('Expected %s but passed %s'%(type(expected_type),type(instance))) # then check that the base type is the same elif not (instance.get_type() == expected_type.get_type()): @@ -96,6 +96,6 @@ def check_type(instance, expected_type): if RAISE_EXCEPTION_IF_TYPE_DOES_NOT_MATCH: raise TypeError('Argument type must be %s (you passed %s)'%(expected_type,type(instance))) else: - print "WARNING: expected '%s' but passed a '%s', casting from python value to EXPRESS type"%(expected_type, type(instance)) + print("WARNING: expected '%s' but passed a '%s', casting from python value to EXPRESS type"%(expected_type, type(instance))) return False return True diff --git a/src/fedex_python/python/SCL/Utils.py b/src/exp2python/python/stepcode/Utils.py similarity index 88% rename from src/fedex_python/python/SCL/Utils.py rename to src/exp2python/python/stepcode/Utils.py index 7cce22494..76e352fc3 100644 --- a/src/fedex_python/python/SCL/Utils.py +++ b/src/exp2python/python/stepcode/Utils.py @@ -1,7 +1,9 @@ # Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) +# Copyright (c) 2021, Devon Sparks (devonsparks.com) + # All rights reserved. -# This file is part of the StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -61,10 +63,10 @@ def process_nested_parent_str(attr_str,idx=0): return params,k if __name__=="__main__": - print process_nested_parent_str2("'A'")[0] - print process_nested_parent_str2("30.0,0.0,5.0")[0] - print process_nested_parent_str2("1,2,(3,4,5),6,7,8")[0] - print process_nested_parent_str2("(#9149,#9166),#9142,.T.")[0] + print(process_nested_parent_str("'A'")[0]) + print(process_nested_parent_str("30.0,0.0,5.0")[0]) + print(process_nested_parent_str("1,2,(3,4,5),6,7,8")[0]) + print(process_nested_parent_str("(#9149,#9166),#9142,.T.")[0]) diff --git a/src/fedex_python/python/SCL/__init__.py b/src/exp2python/python/stepcode/__init__.py similarity index 55% rename from src/fedex_python/python/SCL/__init__.py rename to src/exp2python/python/stepcode/__init__.py index ebced4874..0bb38afaa 100644 --- a/src/fedex_python/python/SCL/__init__.py +++ b/src/exp2python/python/stepcode/__init__.py @@ -1 +1 @@ -__all__ = ['SCLBase','SimpleDataTypes','AggregationDataTypes','TypeChecker','ConstructedDataTypes','Expr','Part21'] +__all__ = ['SCLBase','SimpleDataTypes','AggregationDataTypes','TypeChecker','ConstructedDataTypes','Part21'] diff --git a/src/exp2python/python/stepcode/_cPart21.c b/src/exp2python/python/stepcode/_cPart21.c new file mode 100644 index 000000000..2b93ac7ca --- /dev/null +++ b/src/exp2python/python/stepcode/_cPart21.c @@ -0,0 +1,4694 @@ +/* Generated by re2c 1.2.1 on Mon May 18 17:14:55 2020 */ +/* + * STEP Part 21 Parser + * + * Copyright (c) 2020, Christopher HORLER (cshorler@googlemail.com) + * + * All rights reserved. + * + * This file is part of the STEPCODE project. + * + * 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. + * + * Neither the name of the nor the names of its contributors may + * 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. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define YYCTYPE unsigned char +#define YYCURSOR in->cur +#define YYLIMIT in->lim +#define YYMARKER in->mrk +#define YYCTXMARKER in->ctxmrk +#define YYFILL(n) do { \ + if (fill(in, n) != 0) { \ + fprintf(stderr, "lexer fill(...) failed, exiting\n"); \ + exit(1); \ + } \ + } while (0) + +#define YYMAXFILL 17 + +#define INIT_BUF_SZ 4096 +#define INIT_STACK_SZ 64 + +/* reserved literals '(' ')' ';' '=' */ +#define T_P21_START 'S' +#define T_P21_END 'X' +#define T_HEADER 'H' +#define T_DATA 'D' +#define T_ENDSEC 'E' +#define T_EID 'I' +#define T_KEYWORD 'K' +#define T_VARIANT 'V' +#define T_EOF '\x00' +#define T_ERROR '\x01' + +#define V_REAL 'r' +#define V_INTEGER 'i' +#define V_STRING 's' +#define V_BINARY 'b' +#define V_ENUMERATION 'e' +#define V_EID T_EID +#define V_DERIVED '*' +#define V_EMPTY '$' + +#define P_FILE 'f' +#define P_HEADERSECTION 'h' +#define P_DATASECTION 'd' +#define P_HEADERENTITY 'x' +#define P_SIMPLEENTITY 's' +#define P_COMPLEXENTITY 'c' +#define P_SIMPLERECORD 'u' +#define P_LIST 'l' +#define P_PARAMETER 'p' + +int debug = 1; +#define dprintf(fmt, ...) \ + do { if (debug) fprintf(stderr, "%s:%3d " fmt, __FILE__, __LINE__, ##__VA_ARGS__); } while (0) + +/* ppfu https://stackoverflow.com/a/11763277/1162349 */ +#define GET_MACRO(_1, _2, _3, _4, NAME, ...) NAME +#define _EXPAND(x) x + +/* for lookahead */ +#define PUSH_SYMBOL(...) _EXPAND(GET_MACRO(__VA_ARGS__, _4, _3, _PUSH_SYMBOL2, _PUSH_SYMBOL1)(__VA_ARGS__)) +#define _PUSH_SYMBOL1(token) in->sym[in->nsym++] = (Symbol){(token), 0, n, in->lineno, in->sp - in->basemrk} +#define _PUSH_SYMBOL2(token, vtype) in->sym[in->nsym++] = (Symbol){(token), (vtype), n, in->lineno, in->sp - in->basemrk} + +/* for parse stack */ +#define PUSH_TERMINAL(stack, sym) do { \ + Symbol it = (sym); \ + push((stack), it); \ + if (it.token == T_ERROR) goto err; \ + } while (0) + +#define PUSH_TERMINAL_EXT(cxt, stack, sym) do { \ + Symbol it = (sym); \ + push((stack), it); \ + if (it.token == T_ERROR) goto err; \ + else if (it.token == '(') (cxt) = (stack)->idx_top - 1; \ + else if (it.token == ')') (stack)->items[(cxt)].n = (stack)->idx_top - (cxt) - 1; \ + } while (0) + +/* test for one in a set of 1 to 4 e.g. {t0, t1, t2, t3} */ +#define LOOKAHEAD(x, ...) _EXPAND(GET_MACRO(__VA_ARGS__, _LOOKAHEAD4, _LOOKAHEAD3, _LOOKAHEAD2, _LOOKAHEAD1)(x, __VA_ARGS__)) +#define _LOOKAHEAD1(x, t0) ((t0) == (x).token) +#define _LOOKAHEAD2(x, t0, t1) ((t0) == (x).token || (t1) == (x).token) +#define _LOOKAHEAD3(x, t0, t1, t2) (_LOOKAHEAD2(x, t0, t1) || (t2) == (x).token) +#define _LOOKAHEAD4(x, t0, t1, t2, t3) (_LOOKAHEAD2(x, t0, t1) || _LOOKAHEAD2(x, t2, t3)) + + + + + +/* lexeme */ +typedef struct { + uint8_t token; + union { + uint8_t vtype; + uint8_t errtoken; + }; + uint16_t n; + uint32_t lineno; + union { + ptrdiff_t offset; /* from basemrk */ + void *data; /* production allocation if applicable */ + }; +} Symbol; + +typedef struct SimpleRecord_ { + Symbol *kw; /* 'KEYWORD' */ + Symbol *args;/* '(' */ +} SimpleRecord; + +typedef struct SimpleRecord_ HeaderEntity; + +typedef struct { + Symbol *eid; /* '#' */ + Symbol *eq; /* '=' */ + Symbol *kw; /* 'KEYWORD' */ + Symbol *args;/* '(' */ +} SimpleEntity; + +typedef struct { + Symbol *eid; /* '#' */ + Symbol *eq; /* '=' */ + Symbol *subsupers;/* '(' */ +} ComplexEntity; + + +typedef struct { + FILE *file; + size_t bufsz; + unsigned char *cur, *mrk, *ctxmrk, *lim; + unsigned char *sp, *basemrk; + int eof; + uint32_t lineno; + int nsym; + Symbol sym[3]; + unsigned char *buf; +} Input; + +typedef struct { + int idx_top; + int idx_lim; + Symbol *items; +} Stack; + +/* LL(3) parser */ +typedef struct { + bool error; + bool hold; + Input *in; + Stack *stack; +} P21Parser; + +typedef void (p21_action_cb_t) (P21Parser *, int, void *); +typedef void (p21_error_cb_t) (P21Parser *, int, uint8_t); +typedef void (p21_ud_cb_t) (void *); + +typedef struct { + void *userdata; + p21_error_cb_t *error_cb; + p21_ud_cb_t *ud_init_cb; + p21_ud_cb_t *ud_exit_cb; + p21_action_cb_t *exchange_file_cb; + p21_action_cb_t *header_start_cb; + p21_action_cb_t *header_entity_list_cb; + p21_action_cb_t *data_section_list_cb; + p21_action_cb_t *data_start_cb; + p21_action_cb_t *header_entity_cb; + p21_action_cb_t *simple_entity_instance_cb; + p21_action_cb_t *complex_entity_instance_cb; + p21_action_cb_t *parameter_list_cb; + p21_action_cb_t *parameter_cb; + p21_action_cb_t *entity_instance_list_cb; + p21_action_cb_t *entity_instance_cb; + p21_action_cb_t *simple_record_list_cb; + p21_action_cb_t *simple_record_cb; +} P21ParserActions; + + +void report_error(P21Parser *, const char *); +void _recover(Input *, uint8_t, uint8_t, uint8_t); +Symbol lpop(Input *, uint8_t); + +void p21_parse(P21Parser *, P21ParserActions *); +void p21_exchange_file(P21Parser *, P21ParserActions *); +void p21_header_section(P21Parser *, P21ParserActions *); +void p21_header_entity_list(P21Parser *, P21ParserActions *); +void p21_header_entity(P21Parser *, P21ParserActions *); +void p21_data_section_list(P21Parser *, P21ParserActions *); +void p21_data_section(P21Parser *, P21ParserActions *); +void p21_entity_instance(P21Parser *, P21ParserActions *); +void p21_simple_entity_instance(P21Parser *, P21ParserActions *); +void p21_complex_entity_instance(P21Parser *, P21ParserActions *); +void p21_entity_instance_list(P21Parser *, P21ParserActions *); +void p21_parameter(P21Parser *, P21ParserActions *); +void p21_parameter_list(P21Parser *, P21ParserActions *); +void p21_simple_record(P21Parser *, P21ParserActions *); +void p21_simple_record_list(P21Parser *, P21ParserActions *); + + +void push(Stack *stack, Symbol it) { + if (stack->idx_top == stack->idx_lim) { + Symbol *nitems = realloc(stack->items, 2 * stack->idx_lim * sizeof stack->items[0]); + if (!nitems) { + fprintf(stderr, "failed to grow parser stack, memory exhausted\n"); + exit(1); + } + stack->items = nitems; + stack->idx_lim *= 2; + } + + stack->items[stack->idx_top++] = it; +} + +/* mock implementations */ +void drop(Stack *stack, uint32_t n) { + assert(stack->idx_top >= n); + stack->idx_top -= n; +} + +void unwind(Stack *stack, int bsp) { + stack->idx_top = bsp; +} + +Symbol *pop(Stack *stack) { + assert(stack->idx_top >= 1); + stack->idx_top--; + return stack->items + stack->idx_top; +} + +Symbol *peek(Stack *stack) { + assert(stack->idx_top >= 1); + return stack->items + stack->idx_top - 1; +} + +Symbol lpop(Input *in, uint8_t token) { + Symbol *stack = in->sym; + Symbol sym = stack[0]; + + /* missing input or unexpected lookahead token */ + if (in->nsym == 0) + return (Symbol){T_ERROR, token, 0, in->lineno}; + else if (sym.token != token) + return (Symbol){T_ERROR, token, 0, sym.lineno}; + + if (!--in->nsym) { + memset(&in->sym[0], 0, sizeof in->sym[0]); + } else { + memmove(&in->sym[0], &in->sym[1], in->nsym * sizeof in->sym[0]); + memset(&in->sym[in->nsym], 0, sizeof in->sym[0]); + } + + return sym; +} + +static int fill(Input *in, size_t need) +{ + size_t free; + unsigned char *newbuf; + + if (in->eof) { + return 1; + } + free = in->basemrk - in->buf; + if (free < need) { + newbuf = realloc(in->buf, 2 * in->bufsz + YYMAXFILL); + if (!newbuf) { + fprintf(stderr, "fatal - buffer memory exhausted, exiting\n"); + return 2; + } + in->bufsz *= 2; + in->lim = newbuf + (in->lim - in->buf); + in->cur = newbuf + (in->cur - in->buf); + in->mrk = newbuf + (in->mrk - in->buf); + in->ctxmrk = newbuf + (in->ctxmrk - in->buf); + in->basemrk = newbuf + (in->basemrk - in->buf); + in->sp = newbuf + (in->sp - in->buf); + in->buf = newbuf; + + /* don't memmove() here! */ + free = (in->buf + in->bufsz) - in->lim; + } else { + memmove(in->buf, in->basemrk, in->lim - in->basemrk); + in->lim -= free; + in->cur -= free; + in->mrk -= free; + in->ctxmrk -= free; + in->basemrk -= free; + in->sp -= free; + } + + in->lim += fread(in->lim, 1, free, in->file); + if (in->lim < in->buf + in->bufsz) { + in->eof = 1; + memset(in->lim, 0, YYMAXFILL); + in->lim += YYMAXFILL; + } + return 0; +} + +static void p21_init(P21Parser *p, FILE *file) +{ + Stack *stack; + Input *in; + + in = malloc(sizeof *in); + if (!in) + goto err; + memset(in, 0, sizeof *in); + in->bufsz = INIT_BUF_SZ; + in->buf = malloc(INIT_BUF_SZ + YYMAXFILL); + if (!in->buf) + goto err; + in->file = file; + in->cur = in->basemrk = in->sp = in->lim = in->buf + INIT_BUF_SZ; + in->lineno = 1; + fill(in, 1); + + stack = malloc(sizeof *stack); + if (!stack) + goto err; + memset(stack, 0, sizeof *stack); + stack->idx_lim = 16; + stack->idx_top = 0; + stack->items = malloc(stack->idx_lim * sizeof stack->items[0]); + if (!stack->items) + goto err; + + p->in = in; + p->stack = stack; + p->error = false; + + return; + +err: + fprintf(stderr, "failed to initialise parser\n"); + exit(1); +} + +/* noop error handler */ +void default_error_handler(P21Parser *p, int bsp, uint8_t t) { + Symbol *sym = peek(p->stack); + if (sym->token == T_ERROR) + pop(p->stack); + push(p->stack, (Symbol){t}); +} + +/* TODO: this needs to be reworked */ +void report_error(P21Parser *p, const char *cxt) { + Input *in = p->in; + Symbol *it = peek(p->stack); + int lineno; + unsigned char *cur; + + fprintf(stderr, cxt); + + if (it->token == T_ERROR) { + fprintf(stderr, " syntax error - line: %d\n", it->lineno); + fprintf(stderr, " expected '%c' (token type) ", it->errtoken); + } else { + cur = in->cur; + lineno = in->lineno; + while (1) { + if (*(cur - 2) == '\r' && *(cur - 1) == '\n') { cur -= 2; --lineno; } + else if (*(cur - 1) == '\n') { --cur; --lineno; } + else { break; } + } + fprintf(stderr, " syntax error - line: %d\n", lineno); + } + + if (!in->nsym) { + cur = in->cur; + lineno = in->lineno; + while (1) { + if (*cur == '\r' && *(cur + 1) == '\n') { cur -= 2; --lineno; } + else if (*cur == '\n') { --cur; --lineno; } + else { break; } + } + fprintf(stderr, " unexpected character '%c' (line: %d)\n", *cur, lineno); + } else { + fprintf(stderr, " got '%c' (token type)\n", in->sym[0].token); + } +} + + +void lex_comment(Input *in) { + size_t n; + int comment_lvl = 1; + + while (1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= '*') { + if (yych <= '\r') { + if (yych == '\n') goto yy4; + if (yych >= '\r') goto yy6; + } else { + if (yych <= 0x001F) goto yy2; + if (yych <= ' ') goto yy7; + if (yych <= ')') goto yy10; + goto yy13; + } + } else { + if (yych <= '[') { + if (yych == '/') goto yy16; + if (yych <= 'Z') goto yy10; + } else { + if (yych == ']') goto yy2; + if (yych <= '~') goto yy10; + } + } +yy2: + ++YYCURSOR; +yy3: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy4: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy6: + yych = *++YYCURSOR; + if (yych == '\n') goto yy4; + goto yy3; +yy7: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') { + if (yych <= ')') { + if (yych <= 0x001F) goto yy9; + if (yych <= ' ') goto yy7; + goto yy10; + } else { + if (yych <= '*') goto yy9; + if (yych <= '.') goto yy10; + } + } else { + if (yych <= '\\') { + if (yych != '[') goto yy10; + } else { + if (yych <= ']') goto yy9; + if (yych <= '~') goto yy10; + } + } +yy9: + { n = in->cur - in->sp; } + { continue; } +yy10: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') { + if (yych <= ')') { + if (yych >= ' ') goto yy10; + } else { + if (yych <= '*') goto yy12; + if (yych <= '.') goto yy10; + } + } else { + if (yych <= '\\') { + if (yych != '[') goto yy10; + } else { + if (yych <= ']') goto yy12; + if (yych <= '~') goto yy10; + } + } +yy12: + { n = in->cur - in->sp; } + { continue; } +yy13: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '*') goto yy13; + if (yych == '/') goto yy18; + { n = in->cur - in->sp; } + { continue; } +yy16: + yych = *++YYCURSOR; + if (yych == '*') goto yy20; + { n = in->cur - in->sp; } + { continue; } +yy18: + ++YYCURSOR; + { n = in->cur - in->sp; } + { + if (!--comment_lvl) { break; } + else { continue; } + } +yy20: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +} + + } + + return; + +err: + fprintf(stderr, "invalid character in comment, exiting\n"); + exit(1); +} + +#define recover(in, ...) GET_MACRO(__VA_ARGS__, _4, _RECOVER3, _RECOVER2, _RECOVER1)(in, __VA_ARGS__) +#define _RECOVER1(in, u0) _recover((in), (u0), 0U, 0U) +#define _RECOVER2(in, u0, u1) _recover((in), (u0), (u1), 0U) +#define _RECOVER3(in, u0, u1, u2) _recover((in), (u0), (u1), (u2)) + +void _recover(Input *in, uint8_t u0, uint8_t u1, uint8_t u2) { + size_t n; + Symbol sym; + + while (in->nsym) { + if (LOOKAHEAD(in->sym[0], u0, u1, u2, T_EOF)) + break; + --in->nsym; + memmove(&in->sym[0], &in->sym[1], in->nsym * sizeof in->sym[0]); + memset(&in->sym[in->nsym], 0, sizeof in->sym[0]); + } + + if (in->nsym) + return; + + while (1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + unsigned int yyaccept = 0; + if ((YYLIMIT - YYCURSOR) < 17) YYFILL(17); + yych = *YYCURSOR; + if (yych <= '-') { + if (yych <= '"') { + if (yych <= '\r') { + if (yych == '\n') goto yy26; + if (yych >= '\r') goto yy28; + } else { + if (yych <= 0x001F) goto yy24; + if (yych <= ' ') goto yy29; + if (yych <= '!') goto yy32; + goto yy33; + } + } else { + if (yych <= '\'') { + if (yych <= '#') goto yy34; + if (yych <= '$') goto yy35; + if (yych >= '\'') goto yy37; + } else { + if (yych <= '*') { + if (yych <= ')') goto yy38; + goto yy40; + } else { + if (yych != ',') goto yy42; + } + } + } + } else { + if (yych <= 'E') { + if (yych <= ':') { + if (yych <= '.') goto yy43; + if (yych <= '/') goto yy44; + if (yych <= '9') goto yy45; + } else { + if (yych <= '@') { + if (yych <= ';') goto yy38; + } else { + if (yych <= 'C') goto yy48; + if (yych <= 'D') goto yy51; + goto yy52; + } + } + } else { + if (yych <= 'Z') { + if (yych <= 'G') goto yy48; + if (yych <= 'H') goto yy53; + if (yych <= 'I') goto yy54; + goto yy48; + } else { + if (yych <= '_') { + if (yych >= '_') goto yy48; + } else { + if (yych <= '`') goto yy24; + if (yych <= 'z') goto yy48; + } + } + } + } +yy24: + ++YYCURSOR; +yy25: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy26: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy28: + yych = *++YYCURSOR; + if (yych == '\n') goto yy26; + goto yy25; +yy29: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy29; + { n = in->cur - in->sp; } + { continue; } +yy32: + yych = *++YYCURSOR; + if (yych <= '^') { + if (yych <= '@') goto yy25; + if (yych <= 'Z') goto yy48; + goto yy25; + } else { + if (yych == '`') goto yy25; + if (yych <= 'z') goto yy48; + goto yy25; + } +yy33: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy25; + if (yych <= '3') goto yy55; + goto yy25; +yy34: + yych = *++YYCURSOR; + if (yych <= '/') goto yy25; + if (yych <= '9') goto yy58; + goto yy25; +yy35: + ++YYCURSOR; + { n = in->cur - in->sp; } + { sym = (Symbol){T_VARIANT, V_EMPTY}; goto check; } +yy37: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '[') { + if (yych <= 0x001F) goto yy25; + if (yych <= 'Z') goto yy62; + goto yy25; + } else { + if (yych == ']') goto yy25; + if (yych <= '~') goto yy62; + goto yy25; + } +yy38: + ++YYCURSOR; + { n = in->cur - in->sp; } + { sym = (Symbol){*in->sp}; goto check; } +yy40: + ++YYCURSOR; + { n = in->cur - in->sp; } + { sym = (Symbol){T_VARIANT, V_DERIVED}; goto check; } +yy42: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych == '+') goto yy66; + goto yy25; + } else { + if (yych <= '-') goto yy66; + if (yych <= '/') goto yy25; + if (yych <= '9') goto yy45; + goto yy25; + } +yy43: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') goto yy25; + if (yych <= 'Z') goto yy68; + if (yych == '_') goto yy68; + goto yy25; +yy44: + yych = *++YYCURSOR; + if (yych == '*') goto yy70; + goto yy25; +yy45: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '.') goto yy72; + if (yych <= '/') goto yy47; + if (yych <= '9') goto yy45; +yy47: + { n = in->cur - in->sp; } + { sym = (Symbol){T_VARIANT, V_INTEGER}; goto check; } +yy48: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy49: + if (yych <= 'Z') { + if (yych <= '/') goto yy50; + if (yych <= '9') goto yy48; + if (yych >= 'A') goto yy48; + } else { + if (yych <= '_') { + if (yych >= '_') goto yy48; + } else { + if (yych <= '`') goto yy50; + if (yych <= 'z') goto yy48; + } + } +yy50: + { n = in->cur - in->sp; } + { sym = (Symbol){T_KEYWORD}; goto check; } +yy51: + yych = *++YYCURSOR; + if (yych == 'A') goto yy75; + goto yy49; +yy52: + yych = *++YYCURSOR; + if (yych == 'N') goto yy76; + goto yy49; +yy53: + yych = *++YYCURSOR; + if (yych == 'E') goto yy77; + goto yy49; +yy54: + yych = *++YYCURSOR; + if (yych == 'S') goto yy78; + goto yy49; +yy55: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') { + if (yych == '"') goto yy79; + } else { + if (yych <= '9') goto yy55; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy55; + } +yy57: + YYCURSOR = YYMARKER; + if (yyaccept <= 1) { + if (yyaccept == 0) { + goto yy25; + } else { + goto yy64; + } + } else { + if (yyaccept == 2) { + goto yy74; + } else { + goto yy50; + } + } +yy58: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy60; + if (yych <= '9') goto yy58; +yy60: + { n = in->cur - in->sp; } + { sym = (Symbol){T_EID}; goto check; } +yy61: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy62: + if (yych <= 'Z') { + if (yych <= 0x001F) goto yy57; + if (yych != '\'') goto yy61; + } else { + if (yych <= '\\') { + if (yych <= '[') goto yy57; + goto yy65; + } else { + if (yych <= ']') goto yy57; + if (yych <= '~') goto yy61; + goto yy57; + } + } + yyaccept = 1; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\'') goto yy61; +yy64: + { n = in->cur - in->sp; } + { sym = (Symbol){T_VARIANT, V_STRING}; goto check; } +yy65: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= 'S') { + if (yych <= '@') goto yy57; + if (yych <= 'I') goto yy81; + if (yych <= 'R') goto yy57; + goto yy82; + } else { + if (yych <= 'X') { + if (yych <= 'W') goto yy57; + goto yy83; + } else { + if (yych == '\\') goto yy61; + goto yy57; + } + } +yy66: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= ',') { + if (yych == '+') goto yy66; + goto yy57; + } else { + if (yych <= '-') goto yy66; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy45; + goto yy57; + } +yy68: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '9') { + if (yych == '.') goto yy84; + if (yych <= '/') goto yy57; + goto yy68; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy57; + goto yy68; + } else { + if (yych == '_') goto yy68; + goto yy57; + } + } +yy70: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +yy72: + yyaccept = 2; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy74; + if (yych <= '9') goto yy72; + if (yych == 'E') goto yy86; +yy74: + { n = in->cur - in->sp; } + { sym = (Symbol){T_VARIANT, V_REAL}; goto check; } +yy75: + yych = *++YYCURSOR; + if (yych == 'T') goto yy88; + goto yy49; +yy76: + yych = *++YYCURSOR; + if (yych == 'D') goto yy89; + goto yy49; +yy77: + yych = *++YYCURSOR; + if (yych == 'A') goto yy90; + goto yy49; +yy78: + yych = *++YYCURSOR; + if (yych == 'O') goto yy91; + goto yy49; +yy79: + ++YYCURSOR; + { n = in->cur - in->sp; } + { sym = (Symbol){T_VARIANT, V_BINARY}; goto check; } +yy81: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yy61; + goto yy57; +yy82: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yy92; + goto yy57; +yy83: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '3') { + if (yych == '2') goto yy93; + goto yy57; + } else { + if (yych <= '4') goto yy94; + if (yych == '\\') goto yy95; + goto yy57; + } +yy84: + ++YYCURSOR; + { n = in->cur - in->sp; } + { sym = (Symbol){T_VARIANT, V_ENUMERATION}; goto check; } +yy86: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= ',') { + if (yych == '+') goto yy86; + goto yy57; + } else { + if (yych <= '-') goto yy86; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy96; + goto yy57; + } +yy88: + yych = *++YYCURSOR; + if (yych == 'A') goto yy98; + goto yy49; +yy89: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy99; + if (yych == 'S') goto yy100; + goto yy49; +yy90: + yych = *++YYCURSOR; + if (yych == 'D') goto yy101; + goto yy49; +yy91: + yyaccept = 3; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == '-') goto yy102; + goto yy49; +yy92: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '[') { + if (yych <= 0x001F) goto yy57; + if (yych <= 'Z') goto yy61; + goto yy57; + } else { + if (yych == ']') goto yy57; + if (yych <= '~') goto yy61; + goto yy57; + } +yy93: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yy103; + goto yy57; +yy94: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yy104; + goto yy57; +yy95: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy105; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy105; + goto yy57; +yy96: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy74; + if (yych <= '9') goto yy96; + goto yy74; +yy98: + yych = *++YYCURSOR; + if (yych <= ')') { + if (yych == ' ') goto yy106; + if (yych <= '\'') goto yy49; + goto yy106; + } else { + if (yych <= '/') { + if (yych <= '.') goto yy49; + goto yy106; + } else { + if (yych == ';') goto yy106; + goto yy49; + } + } +yy99: + yych = *++YYCURSOR; + if (yych == 'I') goto yy108; + goto yy57; +yy100: + yych = *++YYCURSOR; + if (yych == 'E') goto yy109; + goto yy49; +yy101: + yych = *++YYCURSOR; + if (yych == 'E') goto yy110; + goto yy49; +yy102: + yych = *++YYCURSOR; + if (yych == '1') goto yy111; + goto yy57; +yy103: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy112; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy112; + goto yy57; +yy104: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy113; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy113; + goto yy57; +yy105: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy61; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy61; + goto yy57; +yy106: + ++YYCURSOR; + YYCURSOR -= 1; + { n = in->cur - in->sp; } + { sym = (Symbol){T_DATA}; goto check; } +yy108: + yych = *++YYCURSOR; + if (yych == 'S') goto yy114; + goto yy57; +yy109: + yych = *++YYCURSOR; + if (yych == 'C') goto yy115; + goto yy49; +yy110: + yych = *++YYCURSOR; + if (yych == 'R') goto yy116; + goto yy49; +yy111: + yych = *++YYCURSOR; + if (yych == '0') goto yy117; + goto yy57; +yy112: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy118; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy118; + goto yy57; +yy113: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy119; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy119; + goto yy57; +yy114: + yych = *++YYCURSOR; + if (yych == 'O') goto yy120; + goto yy57; +yy115: + yych = *++YYCURSOR; + if (yych == ';') goto yy121; + goto yy49; +yy116: + yych = *++YYCURSOR; + if (yych == ';') goto yy123; + goto yy49; +yy117: + yych = *++YYCURSOR; + if (yych == '3') goto yy125; + goto yy57; +yy118: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy126; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy126; + goto yy57; +yy119: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy127; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy127; + goto yy57; +yy120: + yych = *++YYCURSOR; + if (yych == '-') goto yy128; + goto yy57; +yy121: + ++YYCURSOR; + { n = in->cur - in->sp; } + { sym = (Symbol){T_ENDSEC}; goto check; } +yy123: + ++YYCURSOR; + { n = in->cur - in->sp; } + { sym = (Symbol){T_HEADER}; goto check; } +yy125: + yych = *++YYCURSOR; + if (yych == '0') goto yy129; + goto yy57; +yy126: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy130; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy130; + goto yy57; +yy127: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy131; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy131; + goto yy57; +yy128: + yych = *++YYCURSOR; + if (yych == '1') goto yy132; + goto yy57; +yy129: + yych = *++YYCURSOR; + if (yych == '3') goto yy133; + goto yy57; +yy130: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy112; + goto yy57; + } else { + if (yych <= 'F') goto yy112; + if (yych == '\\') goto yy134; + goto yy57; + } +yy131: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy135; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy135; + goto yy57; +yy132: + yych = *++YYCURSOR; + if (yych == '0') goto yy136; + goto yy57; +yy133: + yych = *++YYCURSOR; + if (yych == '-') goto yy137; + goto yy57; +yy134: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == 'X') goto yy138; + goto yy57; +yy135: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy139; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy139; + goto yy57; +yy136: + yych = *++YYCURSOR; + if (yych == '3') goto yy140; + goto yy57; +yy137: + yych = *++YYCURSOR; + if (yych == '2') goto yy141; + goto yy57; +yy138: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '0') goto yy81; + goto yy57; +yy139: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy142; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy142; + goto yy57; +yy140: + yych = *++YYCURSOR; + if (yych == '0') goto yy143; + goto yy57; +yy141: + yych = *++YYCURSOR; + if (yych == '1') goto yy144; + goto yy57; +yy142: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy145; + if (yych <= '@') goto yy57; + if (yych <= 'F') goto yy145; + goto yy57; +yy143: + yych = *++YYCURSOR; + if (yych == '3') goto yy146; + goto yy57; +yy144: + yych = *++YYCURSOR; + if (yych == ';') goto yy147; + goto yy57; +yy145: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yy57; + if (yych <= '9') goto yy113; + goto yy57; + } else { + if (yych <= 'F') goto yy113; + if (yych == '\\') goto yy134; + goto yy57; + } +yy146: + yych = *++YYCURSOR; + if (yych == '-') goto yy149; + goto yy57; +yy147: + ++YYCURSOR; + { n = in->cur - in->sp; } + { sym = (Symbol){T_P21_START}; goto check; } +yy149: + yych = *++YYCURSOR; + if (yych != '2') goto yy57; + yych = *++YYCURSOR; + if (yych != '1') goto yy57; + yych = *++YYCURSOR; + if (yych != ';') goto yy57; + ++YYCURSOR; + { n = in->cur - in->sp; } + { sym = (Symbol){T_P21_END}; goto check; } +} + +check: + if (LOOKAHEAD(sym, u0, u1, u2, T_EOF)) { + PUSH_SYMBOL(sym.token, sym.vtype); + break; + } + } + + return; + +err: + fprintf(stderr, "fatal, failed to resolve follow set (%c, %c, %c)\n", u0, u1, u2); + exit(1); +} + + +/* + * P21Parser + */ +void p21_parse(P21Parser *p, P21ParserActions *act) { + if (act->ud_init_cb) + act->ud_init_cb(act->userdata); + + p21_exchange_file(p, act); + + if (act->ud_exit_cb) + act->ud_exit_cb(act->userdata); + + assert(p->stack->idx_top == 1); + return; + +err: + report_error(p, "exchange_file' << 0 >>\n"); +} + +void p21_exchange_file(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); + yych = *YYCURSOR; + if (yych <= 0x001F) { + if (yych <= '\n') { + if (yych >= '\n') goto yy158; + } else { + if (yych == '\r') goto yy160; + } + } else { + if (yych <= '/') { + if (yych <= ' ') goto yy161; + if (yych >= '/') goto yy164; + } else { + if (yych == 'I') goto yy165; + } + } + ++YYCURSOR; +yy157: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy158: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy160: + yych = *++YYCURSOR; + if (yych == '\n') goto yy158; + goto yy157; +yy161: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy161; + { n = in->cur - in->sp; } + { continue; } +yy164: + yych = *++YYCURSOR; + if (yych == '*') goto yy166; + goto yy157; +yy165: + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'S') goto yy168; + goto yy157; +yy166: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +yy168: + yych = *++YYCURSOR; + if (yych == 'O') goto yy170; +yy169: + YYCURSOR = YYMARKER; + goto yy157; +yy170: + yych = *++YYCURSOR; + if (yych != '-') goto yy169; + yych = *++YYCURSOR; + if (yych != '1') goto yy169; + yych = *++YYCURSOR; + if (yych != '0') goto yy169; + yych = *++YYCURSOR; + if (yych != '3') goto yy169; + yych = *++YYCURSOR; + if (yych != '0') goto yy169; + yych = *++YYCURSOR; + if (yych != '3') goto yy169; + yych = *++YYCURSOR; + if (yych != '-') goto yy169; + yych = *++YYCURSOR; + if (yych != '2') goto yy169; + yych = *++YYCURSOR; + if (yych != '1') goto yy169; + yych = *++YYCURSOR; + if (yych != ';') goto yy169; + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_P21_START); continue;} +} + + } + PUSH_TERMINAL(p->stack, lpop(in, T_P21_START)); + + p21_header_section(p, act); + p21_data_section_list(p, act); + + PUSH_TERMINAL(p->stack, lpop(in, T_P21_END)); + + if (p->error) + goto err; + + /* user action */ + if (act->exchange_file_cb) + act->exchange_file_cb(p, bsp, act->userdata); + + /* default reduction */ + p->stack->items[bsp] = (Symbol){P_FILE}; + drop(p->stack, p->stack->idx_top - bsp - 1); + + return; + +err: + report_error(p, "exchange_file << 1 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_FILE); + else default_error_handler(p, bsp, P_FILE); + recover(in, T_EOF); +} + +void p21_header_section(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); + yych = *YYCURSOR; + if (yych <= 0x001F) { + if (yych <= '\n') { + if (yych >= '\n') goto yya186; + } else { + if (yych == '\r') goto yya188; + } + } else { + if (yych <= '/') { + if (yych <= ' ') goto yya189; + if (yych >= '/') goto yya192; + } else { + if (yych == 'H') goto yya193; + } + } + ++YYCURSOR; +yya185: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yya186: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yya188: + yych = *++YYCURSOR; + if (yych == '\n') goto yya186; + goto yya185; +yya189: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yya189; + { n = in->cur - in->sp; } + { continue; } +yya192: + yych = *++YYCURSOR; + if (yych == '*') goto yya194; + goto yya185; +yya193: + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'E') goto yya196; + goto yya185; +yya194: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +yya196: + yych = *++YYCURSOR; + if (yych == 'A') goto yya198; +yya197: + YYCURSOR = YYMARKER; + goto yya185; +yya198: + yych = *++YYCURSOR; + if (yych != 'D') goto yya197; + yych = *++YYCURSOR; + if (yych != 'E') goto yya197; + yych = *++YYCURSOR; + if (yych != 'R') goto yya197; + yych = *++YYCURSOR; + if (yych != ';') goto yya197; + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_HEADER); continue; } +} + + } + PUSH_TERMINAL(p->stack, lpop(in, T_HEADER)); + + /* section callback */ + if (act->header_start_cb) + act->header_start_cb(p, bsp, act->userdata); + + /* mandatory headers */ + p21_header_entity(p, act); + p21_header_entity(p, act); + p21_header_entity(p, act); + + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); + yych = *YYCURSOR; + if (yych <= '/') { + if (yych <= '\r') { + if (yych == '\n') goto yyb208; + if (yych >= '\r') goto yyb210; + } else { + if (yych <= ' ') { + if (yych >= ' ') goto yyb211; + } else { + if (yych <= '!') goto yyb214; + if (yych >= '/') goto yyb215; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yyb206; + if (yych == 'E') goto yyb219; + goto yyb216; + } else { + if (yych <= '_') { + if (yych >= '_') goto yyb216; + } else { + if (yych <= '`') goto yyb206; + if (yych <= 'z') goto yyb216; + } + } + } +yyb206: + ++YYCURSOR; +yyb207: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yyb208: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yyb210: + yych = *++YYCURSOR; + if (yych == '\n') goto yyb208; + goto yyb207; +yyb211: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yyb211; + { n = in->cur - in->sp; } + { continue; } +yyb214: + yych = *++YYCURSOR; + if (yych <= '^') { + if (yych <= '@') goto yyb207; + if (yych <= 'Z') goto yyb216; + goto yyb207; + } else { + if (yych == '`') goto yyb207; + if (yych <= 'z') goto yyb216; + goto yyb207; + } +yyb215: + yych = *++YYCURSOR; + if (yych == '*') goto yyb220; + goto yyb207; +yyb216: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yyb217: + if (yych <= 'Z') { + if (yych <= '/') goto yyb218; + if (yych <= '9') goto yyb216; + if (yych >= 'A') goto yyb216; + } else { + if (yych <= '_') { + if (yych >= '_') goto yyb216; + } else { + if (yych <= '`') goto yyb218; + if (yych <= 'z') goto yyb216; + } + } +yyb218: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_KEYWORD); continue; } +yyb219: + yych = *++YYCURSOR; + if (yych == 'N') goto yyb222; + goto yyb217; +yyb220: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +yyb222: + yych = *++YYCURSOR; + if (yych != 'D') goto yyb217; + yych = *++YYCURSOR; + if (yych != 'S') goto yyb217; + yych = *++YYCURSOR; + if (yych != 'E') goto yyb217; + yych = *++YYCURSOR; + if (yych != 'C') goto yyb217; + yych = *++YYCURSOR; + if (yych != ';') goto yyb217; + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_ENDSEC); continue; } +} + + } + + /* optional headers */ + if (LOOKAHEAD(in->sym[0], T_KEYWORD)) + p21_header_entity_list(p, act); + + PUSH_TERMINAL(p->stack, lpop(in, T_ENDSEC)); + + if (p->error) + goto err; + + /* default reduction */ + p->stack->items[bsp] = (Symbol){P_HEADERSECTION}; + drop(p->stack, p->stack->idx_top - bsp - 1); + + return; + +err: + report_error(p, "header_section << 2 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_HEADERSECTION); + else default_error_handler(p, bsp, P_HEADERSECTION); + recover(in, T_DATA); +} + +void p21_data_section_list(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + uint32_t len = 0; + Input *in = p->in; + + do { + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 17) YYFILL(17); + yych = *YYCURSOR; + if (yych <= ' ') { + if (yych <= '\f') { + if (yych == '\n') goto yy233; + } else { + if (yych <= '\r') goto yy235; + if (yych >= ' ') goto yy236; + } + } else { + if (yych <= 'C') { + if (yych == '/') goto yy239; + } else { + if (yych <= 'D') goto yy240; + if (yych <= 'E') goto yy241; + } + } + ++YYCURSOR; +yy232: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy233: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy235: + yych = *++YYCURSOR; + if (yych == '\n') goto yy233; + goto yy232; +yy236: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy236; + { n = in->cur - in->sp; } + { continue; } +yy239: + yych = *++YYCURSOR; + if (yych == '*') goto yy242; + goto yy232; +yy240: + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'A') goto yy244; + goto yy232; +yy241: + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'N') goto yy246; + goto yy232; +yy242: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +yy244: + yych = *++YYCURSOR; + if (yych == 'T') goto yy247; +yy245: + YYCURSOR = YYMARKER; + goto yy232; +yy246: + yych = *++YYCURSOR; + if (yych == 'D') goto yy248; + goto yy245; +yy247: + yych = *++YYCURSOR; + if (yych == 'A') goto yy249; + goto yy245; +yy248: + yych = *++YYCURSOR; + if (yych == '-') goto yy250; + goto yy245; +yy249: + yych = *++YYCURSOR; + if (yych <= ')') { + if (yych == ' ') goto yy251; + if (yych <= '\'') goto yy245; + goto yy251; + } else { + if (yych <= '/') { + if (yych <= '.') goto yy245; + goto yy251; + } else { + if (yych == ';') goto yy251; + goto yy245; + } + } +yy250: + yych = *++YYCURSOR; + if (yych == 'I') goto yy253; + goto yy245; +yy251: + ++YYCURSOR; + YYCURSOR -= 1; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_DATA); continue; } +yy253: + yych = *++YYCURSOR; + if (yych != 'S') goto yy245; + yych = *++YYCURSOR; + if (yych != 'O') goto yy245; + yych = *++YYCURSOR; + if (yych != '-') goto yy245; + yych = *++YYCURSOR; + if (yych != '1') goto yy245; + yych = *++YYCURSOR; + if (yych != '0') goto yy245; + yych = *++YYCURSOR; + if (yych != '3') goto yy245; + yych = *++YYCURSOR; + if (yych != '0') goto yy245; + yych = *++YYCURSOR; + if (yych != '3') goto yy245; + yych = *++YYCURSOR; + if (yych != '-') goto yy245; + yych = *++YYCURSOR; + if (yych != '2') goto yy245; + yych = *++YYCURSOR; + if (yych != '1') goto yy245; + yych = *++YYCURSOR; + if (yych != ';') goto yy245; + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_P21_END); continue; } +} + + } + if (!LOOKAHEAD(in->sym[0], T_DATA)) + break; + p21_data_section(p, act); + } while (++len); + + /* one or more */ + if (!len) { + push(p->stack, (Symbol){T_ERROR, T_DATA, 0, in->sym[0].lineno}); + p->error = true; + } + + if(p->error) + goto err; + + /* user action */ + if (act->data_section_list_cb) + act->data_section_list_cb(p, bsp, act->userdata); + + /* default reduction */ + p->stack->items[bsp] = (Symbol){P_LIST}; + drop(p->stack, p->stack->idx_top - bsp - 1); + + return; + +err: + report_error(p, "data_section_list << 3 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, T_P21_END); +} + +void p21_data_section(P21Parser *p, P21ParserActions *act) { + size_t n, cxt; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + while (in->nsym < 2) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= ' ') { + if (yych <= '\f') { + if (yych == '\n') goto yya271; + } else { + if (yych <= '\r') goto yya273; + if (yych >= ' ') goto yya274; + } + } else { + if (yych <= '.') { + if (yych == '(') goto yya277; + } else { + if (yych <= '/') goto yya279; + if (yych == ';') goto yya277; + } + } + ++YYCURSOR; +yya270: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yya271: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yya273: + yych = *++YYCURSOR; + if (yych == '\n') goto yya271; + goto yya270; +yya274: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yya274; + { n = in->cur - in->sp; } + { continue; } +yya277: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(*in->sp); continue; } +yya279: + yych = *++YYCURSOR; + if (yych != '*') goto yya270; + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +} + + } + PUSH_TERMINAL(p->stack, lpop(in, T_DATA)); + + if (LOOKAHEAD(in->sym[0], '(')) { + PUSH_TERMINAL(p->stack, lpop(in, '(')); + + p21_parameter_list(p, act); + while (in->nsym < 2) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= 0x001F) { + if (yych <= '\n') { + if (yych >= '\n') goto yyb286; + } else { + if (yych == '\r') goto yyb288; + } + } else { + if (yych <= '/') { + if (yych <= ' ') goto yyb289; + if (yych >= '/') goto yyb292; + } else { + if (yych == ';') goto yyb293; + } + } + ++YYCURSOR; +yyb285: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yyb286: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yyb288: + yych = *++YYCURSOR; + if (yych == '\n') goto yyb286; + goto yyb285; +yyb289: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yyb289; + { n = in->cur - in->sp; } + { continue; } +yyb292: + yych = *++YYCURSOR; + if (yych == '*') goto yyb295; + goto yyb285; +yyb293: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(';'); continue; } +yyb295: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +} + + } + + PUSH_TERMINAL(p->stack, lpop(in, ')')); + } + PUSH_TERMINAL(p->stack, lpop(in, ';')); + + if (act->data_start_cb) + act->data_start_cb(p, bsp, act->userdata); + + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); + yych = *YYCURSOR; + if (yych <= ' ') { + if (yych <= '\f') { + if (yych == '\n') goto yyc301; + } else { + if (yych <= '\r') goto yyc303; + if (yych >= ' ') goto yyc304; + } + } else { + if (yych <= '.') { + if (yych == '#') goto yyc307; + } else { + if (yych <= '/') goto yyc308; + if (yych == 'E') goto yyc309; + } + } + ++YYCURSOR; +yyc300: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yyc301: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yyc303: + yych = *++YYCURSOR; + if (yych == '\n') goto yyc301; + goto yyc300; +yyc304: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yyc304; + { n = in->cur - in->sp; } + { continue; } +yyc307: + yych = *++YYCURSOR; + if (yych <= '/') goto yyc300; + if (yych <= '9') goto yyc310; + goto yyc300; +yyc308: + yych = *++YYCURSOR; + if (yych == '*') goto yyc313; + goto yyc300; +yyc309: + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'N') goto yyc315; + goto yyc300; +yyc310: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yyc312; + if (yych <= '9') goto yyc310; +yyc312: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_EID); continue; } +yyc313: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +yyc315: + yych = *++YYCURSOR; + if (yych == 'D') goto yyc317; +yyc316: + YYCURSOR = YYMARKER; + goto yyc300; +yyc317: + yych = *++YYCURSOR; + if (yych != 'S') goto yyc316; + yych = *++YYCURSOR; + if (yych != 'E') goto yyc316; + yych = *++YYCURSOR; + if (yych != 'C') goto yyc316; + yych = *++YYCURSOR; + if (yych != ';') goto yyc316; + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_ENDSEC); continue; } +} + + } + if (LOOKAHEAD(in->sym[0], T_EID)) + p21_entity_instance_list(p, act); + + PUSH_TERMINAL(p->stack, lpop(in, T_ENDSEC)); + + if (p->error) + goto err; + + /* default reduction */ + p->stack->items[bsp] = (Symbol){P_DATASECTION}; + drop(p->stack, p->stack->idx_top - bsp - 1); + + return; + +err: + report_error(p, "data_section << 4 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_DATASECTION); + else default_error_handler(p, bsp, P_DATASECTION); + recover(in, T_P21_END, T_DATA); +} + +void p21_header_entity(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + /* set KEYWORD as basemrk to prevent fill() recycling the buffer before user action */ + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= '.') { + if (yych <= '\r') { + if (yych == '\n') goto yy327; + if (yych >= '\r') goto yy329; + } else { + if (yych <= 0x001F) goto yy325; + if (yych <= ' ') goto yy330; + if (yych <= '!') goto yy333; + } + } else { + if (yych <= '^') { + if (yych <= '/') goto yy334; + if (yych <= '@') goto yy325; + if (yych <= 'Z') goto yy335; + } else { + if (yych == '`') goto yy325; + if (yych <= 'z') goto yy335; + } + } +yy325: + ++YYCURSOR; +yy326: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy327: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy329: + yych = *++YYCURSOR; + if (yych == '\n') goto yy327; + goto yy326; +yy330: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy330; + { n = in->cur - in->sp; } + { continue; } +yy333: + yych = *++YYCURSOR; + if (yych <= '^') { + if (yych <= '@') goto yy326; + if (yych <= 'Z') goto yy335; + goto yy326; + } else { + if (yych == '`') goto yy326; + if (yych <= 'z') goto yy335; + goto yy326; + } +yy334: + yych = *++YYCURSOR; + if (yych == '*') goto yy338; + goto yy326; +yy335: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= 'Z') { + if (yych <= '/') goto yy337; + if (yych <= '9') goto yy335; + if (yych >= 'A') goto yy335; + } else { + if (yych <= '_') { + if (yych >= '_') goto yy335; + } else { + if (yych <= '`') goto yy337; + if (yych <= 'z') goto yy335; + } + } +yy337: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_KEYWORD); continue; } +yy338: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +} + + } + + /* set KEYWORD as basemrk to prevent fill() recycling the buffer before user action */ + assert(in->nsym == 1); + in->basemrk += in->sym[0].offset; + in->sym[0].offset = 0; + + p21_simple_record(p, act); + + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= 0x001F) { + if (yych <= '\n') { + if (yych >= '\n') goto yy344; + } else { + if (yych == '\r') goto yy346; + } + } else { + if (yych <= '/') { + if (yych <= ' ') goto yy347; + if (yych >= '/') goto yy350; + } else { + if (yych == ';') goto yy351; + } + } + ++YYCURSOR; +yy343: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy344: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy346: + yych = *++YYCURSOR; + if (yych == '\n') goto yy344; + goto yy343; +yy347: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy347; + { n = in->cur - in->sp; } + { continue; } +yy350: + yych = *++YYCURSOR; + if (yych == '*') goto yy353; + goto yy343; +yy351: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(';'); continue; } +yy353: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +} + + } + PUSH_TERMINAL(p->stack, lpop(in, ';')); + + if (p->error) + goto err; + + /* user action */ + if (act->header_entity_cb) + act->header_entity_cb(p, bsp, act->userdata); + + /* reduction */ + assert(!p->hold); + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_HEADERENTITY}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "header_entity << 5 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_HEADERENTITY); + else default_error_handler(p, bsp, P_HEADERENTITY); + recover(in, T_ENDSEC, T_KEYWORD); +} + +void p21_header_entity_list(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + p21_header_entity(p, act); + + do { + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); + yych = *YYCURSOR; + if (yych <= '/') { + if (yych <= '\r') { + if (yych == '\n') goto yy359; + if (yych >= '\r') goto yy361; + } else { + if (yych <= ' ') { + if (yych >= ' ') goto yy362; + } else { + if (yych <= '!') goto yy365; + if (yych >= '/') goto yy366; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy357; + if (yych == 'E') goto yy370; + goto yy367; + } else { + if (yych <= '_') { + if (yych >= '_') goto yy367; + } else { + if (yych <= '`') goto yy357; + if (yych <= 'z') goto yy367; + } + } + } +yy357: + ++YYCURSOR; +yy358: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy359: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy361: + yych = *++YYCURSOR; + if (yych == '\n') goto yy359; + goto yy358; +yy362: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy362; + { n = in->cur - in->sp; } + { continue; } +yy365: + yych = *++YYCURSOR; + if (yych <= '^') { + if (yych <= '@') goto yy358; + if (yych <= 'Z') goto yy367; + goto yy358; + } else { + if (yych == '`') goto yy358; + if (yych <= 'z') goto yy367; + goto yy358; + } +yy366: + yych = *++YYCURSOR; + if (yych == '*') goto yy371; + goto yy358; +yy367: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy368: + if (yych <= 'Z') { + if (yych <= '/') goto yy369; + if (yych <= '9') goto yy367; + if (yych >= 'A') goto yy367; + } else { + if (yych <= '_') { + if (yych >= '_') goto yy367; + } else { + if (yych <= '`') goto yy369; + if (yych <= 'z') goto yy367; + } + } +yy369: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_KEYWORD); continue; } +yy370: + yych = *++YYCURSOR; + if (yych == 'N') goto yy373; + goto yy368; +yy371: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +yy373: + yych = *++YYCURSOR; + if (yych != 'D') goto yy368; + yych = *++YYCURSOR; + if (yych != 'S') goto yy368; + yych = *++YYCURSOR; + if (yych != 'E') goto yy368; + yych = *++YYCURSOR; + if (yych != 'C') goto yy368; + yych = *++YYCURSOR; + if (yych != ';') goto yy368; + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_ENDSEC); continue; } +} + + } + if (!LOOKAHEAD(in->sym[0], T_KEYWORD)) + break; + p21_header_entity(p, act); + } while (1); + + if (p->error) + goto err; + + + /* user action */ + if (act->header_entity_list_cb) + act->header_entity_list_cb(p, bsp, act->userdata); + + /* reduction */ + assert(!p->hold); + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_LIST}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "header_entity_list << 6 >>"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, T_ENDSEC); +} + +void p21_entity_instance_list(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + p21_entity_instance(p, act); + + do { + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); + yych = *YYCURSOR; + if (yych <= ' ') { + if (yych <= '\f') { + if (yych == '\n') goto yy384; + } else { + if (yych <= '\r') goto yy386; + if (yych >= ' ') goto yy387; + } + } else { + if (yych <= '.') { + if (yych == '#') goto yy390; + } else { + if (yych <= '/') goto yy391; + if (yych == 'E') goto yy392; + } + } + ++YYCURSOR; +yy383: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy384: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy386: + yych = *++YYCURSOR; + if (yych == '\n') goto yy384; + goto yy383; +yy387: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy387; + { n = in->cur - in->sp; } + { continue; } +yy390: + yych = *++YYCURSOR; + if (yych <= '/') goto yy383; + if (yych <= '9') goto yy393; + goto yy383; +yy391: + yych = *++YYCURSOR; + if (yych == '*') goto yy396; + goto yy383; +yy392: + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'N') goto yy398; + goto yy383; +yy393: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy395; + if (yych <= '9') goto yy393; +yy395: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_EID); continue; } +yy396: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +yy398: + yych = *++YYCURSOR; + if (yych == 'D') goto yy400; +yy399: + YYCURSOR = YYMARKER; + goto yy383; +yy400: + yych = *++YYCURSOR; + if (yych != 'S') goto yy399; + yych = *++YYCURSOR; + if (yych != 'E') goto yy399; + yych = *++YYCURSOR; + if (yych != 'C') goto yy399; + yych = *++YYCURSOR; + if (yych != ';') goto yy399; + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_ENDSEC); continue; } +} + + } + if (!LOOKAHEAD(in->sym[0], T_EID)) + break; + p21_entity_instance(p, act); + } while (1); + + if (p->error) + goto err; + + /* user action */ + if (act->entity_instance_list_cb) + act->entity_instance_list_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_LIST}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "entity_instance_list << 7 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, T_ENDSEC); +} + +void p21_parameter_list(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + p21_parameter(p, act); + + do { + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= ' ') { + if (yych <= '\f') { + if (yych == '\n') goto yy410; + } else { + if (yych <= '\r') goto yy412; + if (yych >= ' ') goto yy413; + } + } else { + if (yych <= '+') { + if (yych == ')') goto yy416; + } else { + if (yych <= ',') goto yy416; + if (yych == '/') goto yy418; + } + } + ++YYCURSOR; +yy409: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy410: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy412: + yych = *++YYCURSOR; + if (yych == '\n') goto yy410; + goto yy409; +yy413: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy413; + { n = in->cur - in->sp; } + { continue; } +yy416: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(*in->sp); continue; } +yy418: + yych = *++YYCURSOR; + if (yych != '*') goto yy409; + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +} + + } + if (LOOKAHEAD(in->sym[0], ')')) + break; + + PUSH_TERMINAL(p->stack, lpop(in, ',')); + p21_parameter(p, act); + } while (1); + + if (p->error) + goto err; + + /* user action */ + if (act->parameter_list_cb) + act->parameter_list_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_LIST}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "parameter_list << 8 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, ')', ';'); +} + +void p21_entity_instance(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + /* set EID as basemrk to prevent fill() recycling the buffer before user action */ + assert(in->nsym == 1); + in->basemrk += in->sym[0].offset; + in->sym[0].offset = 0; + + while (in->nsym < 3) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= '.') { + if (yych <= 0x001F) { + if (yych <= '\n') { + if (yych >= '\n') goto yy425; + } else { + if (yych == '\r') goto yy427; + } + } else { + if (yych <= '!') { + if (yych <= ' ') goto yy428; + goto yy431; + } else { + if (yych == '(') goto yy432; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '<') { + if (yych <= '/') goto yy434; + } else { + if (yych <= '=') goto yy432; + if (yych >= 'A') goto yy435; + } + } else { + if (yych <= '_') { + if (yych >= '_') goto yy435; + } else { + if (yych <= '`') goto yy423; + if (yych <= 'z') goto yy435; + } + } + } +yy423: + ++YYCURSOR; +yy424: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy425: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy427: + yych = *++YYCURSOR; + if (yych == '\n') goto yy425; + goto yy424; +yy428: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy428; + { n = in->cur - in->sp; } + { continue; } +yy431: + yych = *++YYCURSOR; + if (yych <= '^') { + if (yych <= '@') goto yy424; + if (yych <= 'Z') goto yy435; + goto yy424; + } else { + if (yych == '`') goto yy424; + if (yych <= 'z') goto yy435; + goto yy424; + } +yy432: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(*in->sp); continue; } +yy434: + yych = *++YYCURSOR; + if (yych == '*') goto yy438; + goto yy424; +yy435: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= 'Z') { + if (yych <= '/') goto yy437; + if (yych <= '9') goto yy435; + if (yych >= 'A') goto yy435; + } else { + if (yych <= '_') { + if (yych >= '_') goto yy435; + } else { + if (yych <= '`') goto yy437; + if (yych <= 'z') goto yy435; + } + } +yy437: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_KEYWORD); continue; } +yy438: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +} + + } + if (!LOOKAHEAD(in->sym[0], T_EID) || !LOOKAHEAD(in->sym[1], '=')) + goto err; + + if (LOOKAHEAD(in->sym[2], T_KEYWORD)) { + p21_simple_entity_instance(p, act); + } else if (LOOKAHEAD(in->sym[2], '(')) { + p21_complex_entity_instance(p, act); + } + + if (p->error) + goto err; + + /* user action */ + if (act->entity_instance_cb) + act->entity_instance_cb(p, bsp, act->userdata); + + /* no default reduction */ + + return; + +err: + report_error(p, "entity_instance << 9 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, T_ENDSEC, T_EID); +} + +void p21_simple_entity_instance(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + PUSH_TERMINAL(p->stack, lpop(in, T_EID)); + PUSH_TERMINAL(p->stack, lpop(in, '=')); + + p21_simple_record(p, act); + + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= 0x001F) { + if (yych <= '\n') { + if (yych >= '\n') goto yy444; + } else { + if (yych == '\r') goto yy446; + } + } else { + if (yych <= '/') { + if (yych <= ' ') goto yy447; + if (yych >= '/') goto yy450; + } else { + if (yych == ';') goto yy451; + } + } + ++YYCURSOR; +yy443: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy444: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy446: + yych = *++YYCURSOR; + if (yych == '\n') goto yy444; + goto yy443; +yy447: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy447; + { n = in->cur - in->sp; } + { continue; } +yy450: + yych = *++YYCURSOR; + if (yych == '*') goto yy453; + goto yy443; +yy451: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(';'); continue; } +yy453: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +} + + } + PUSH_TERMINAL(p->stack, lpop(in, ';')); + + if (p->error) + goto err; + + /* user action */ + if (act->simple_entity_instance_cb) + act->simple_entity_instance_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_SIMPLEENTITY}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "simple_entity_instance << 10 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_SIMPLEENTITY); + else default_error_handler(p, bsp, P_SIMPLEENTITY); + recover(in, T_ENDSEC, T_EID); +} + + +void p21_complex_entity_instance(P21Parser *p, P21ParserActions *act) { + size_t n, c; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + PUSH_TERMINAL(p->stack, lpop(in, T_EID)); + PUSH_TERMINAL(p->stack, lpop(in, '=')); + PUSH_TERMINAL_EXT(c, p->stack, lpop(in, '(')); + + p21_simple_record_list(p, act); + + while (in->nsym < 2) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= 0x001F) { + if (yych <= '\n') { + if (yych >= '\n') goto yy459; + } else { + if (yych == '\r') goto yy461; + } + } else { + if (yych <= '/') { + if (yych <= ' ') goto yy462; + if (yych >= '/') goto yy465; + } else { + if (yych == ';') goto yy466; + } + } + ++YYCURSOR; +yy458: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy459: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy461: + yych = *++YYCURSOR; + if (yych == '\n') goto yy459; + goto yy458; +yy462: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy462; + { n = in->cur - in->sp; } + { continue; } +yy465: + yych = *++YYCURSOR; + if (yych == '*') goto yy468; + goto yy458; +yy466: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(';'); continue; } +yy468: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +} + + } + + PUSH_TERMINAL_EXT(c, p->stack, lpop(in, ')')); + PUSH_TERMINAL(p->stack, lpop(in, ';')); + + if (p->error) + goto err; + + /* user action */ + if (act->complex_entity_instance_cb) + act->complex_entity_instance_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_COMPLEXENTITY}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "complex_entity_instance << 11 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_COMPLEXENTITY); + else default_error_handler(p, bsp, P_COMPLEXENTITY); + recover(in, T_ENDSEC, T_EID); +} + +void p21_simple_record(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + while (in->nsym < 3) { + in->sp = in->cur; + +{ + YYCTYPE yych; + unsigned int yyaccept = 0; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= ')') { + if (yych <= ' ') { + if (yych <= '\f') { + if (yych == '\n') goto yy474; + } else { + if (yych <= '\r') goto yy476; + if (yych >= ' ') goto yy477; + } + } else { + if (yych <= '#') { + if (yych <= '!') goto yy480; + if (yych <= '"') goto yy481; + goto yy482; + } else { + if (yych <= '$') goto yy483; + if (yych <= '&') goto yy472; + if (yych <= '\'') goto yy485; + goto yy486; + } + } + } else { + if (yych <= '9') { + if (yych <= ',') { + if (yych <= '*') goto yy488; + if (yych <= '+') goto yy490; + } else { + if (yych <= '-') goto yy490; + if (yych <= '.') goto yy491; + if (yych <= '/') goto yy492; + goto yy493; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy472; + if (yych <= 'Z') goto yy496; + } else { + if (yych == '`') goto yy472; + if (yych <= 'z') goto yy496; + } + } + } +yy472: + ++YYCURSOR; +yy473: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy474: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy476: + yych = *++YYCURSOR; + if (yych == '\n') goto yy474; + goto yy473; +yy477: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy477; + { n = in->cur - in->sp; } + { continue; } +yy480: + yych = *++YYCURSOR; + if (yych <= '^') { + if (yych <= '@') goto yy473; + if (yych <= 'Z') goto yy496; + goto yy473; + } else { + if (yych == '`') goto yy473; + if (yych <= 'z') goto yy496; + goto yy473; + } +yy481: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy473; + if (yych <= '3') goto yy499; + goto yy473; +yy482: + yych = *++YYCURSOR; + if (yych <= '/') goto yy473; + if (yych <= '9') goto yy502; + goto yy473; +yy483: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_EMPTY); continue; } +yy485: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '[') { + if (yych <= 0x001F) goto yy473; + if (yych <= 'Z') goto yy506; + goto yy473; + } else { + if (yych == ']') goto yy473; + if (yych <= '~') goto yy506; + goto yy473; + } +yy486: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(*in->sp); continue; } +yy488: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_DERIVED); continue; } +yy490: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych == '+') goto yy510; + goto yy473; + } else { + if (yych <= '-') goto yy510; + if (yych <= '/') goto yy473; + if (yych <= '9') goto yy493; + goto yy473; + } +yy491: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') goto yy473; + if (yych <= 'Z') goto yy512; + if (yych == '_') goto yy512; + goto yy473; +yy492: + yych = *++YYCURSOR; + if (yych == '*') goto yy514; + goto yy473; +yy493: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '.') goto yy516; + if (yych <= '/') goto yy495; + if (yych <= '9') goto yy493; +yy495: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_INTEGER); continue; } +yy496: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= 'Z') { + if (yych <= '/') goto yy498; + if (yych <= '9') goto yy496; + if (yych >= 'A') goto yy496; + } else { + if (yych <= '_') { + if (yych >= '_') goto yy496; + } else { + if (yych <= '`') goto yy498; + if (yych <= 'z') goto yy496; + } + } +yy498: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_KEYWORD); continue; } +yy499: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') { + if (yych == '"') goto yy519; + } else { + if (yych <= '9') goto yy499; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy499; + } +yy501: + YYCURSOR = YYMARKER; + if (yyaccept <= 1) { + if (yyaccept == 0) { + goto yy473; + } else { + goto yy508; + } + } else { + goto yy518; + } +yy502: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy504; + if (yych <= '9') goto yy502; +yy504: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_EID); continue; } +yy505: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yy506: + if (yych <= 'Z') { + if (yych <= 0x001F) goto yy501; + if (yych != '\'') goto yy505; + } else { + if (yych <= '\\') { + if (yych <= '[') goto yy501; + goto yy509; + } else { + if (yych <= ']') goto yy501; + if (yych <= '~') goto yy505; + goto yy501; + } + } + yyaccept = 1; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\'') goto yy505; +yy508: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_STRING); continue; } +yy509: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= 'S') { + if (yych <= '@') goto yy501; + if (yych <= 'I') goto yy521; + if (yych <= 'R') goto yy501; + goto yy522; + } else { + if (yych <= 'X') { + if (yych <= 'W') goto yy501; + goto yy523; + } else { + if (yych == '\\') goto yy505; + goto yy501; + } + } +yy510: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= ',') { + if (yych == '+') goto yy510; + goto yy501; + } else { + if (yych <= '-') goto yy510; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy493; + goto yy501; + } +yy512: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '9') { + if (yych == '.') goto yy524; + if (yych <= '/') goto yy501; + goto yy512; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy501; + goto yy512; + } else { + if (yych == '_') goto yy512; + goto yy501; + } + } +yy514: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +yy516: + yyaccept = 2; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy518; + if (yych <= '9') goto yy516; + if (yych == 'E') goto yy526; +yy518: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_REAL); continue; } +yy519: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_BINARY); continue; } +yy521: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yy505; + goto yy501; +yy522: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yy528; + goto yy501; +yy523: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '3') { + if (yych == '2') goto yy529; + goto yy501; + } else { + if (yych <= '4') goto yy530; + if (yych == '\\') goto yy531; + goto yy501; + } +yy524: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_ENUMERATION); continue; } +yy526: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= ',') { + if (yych == '+') goto yy526; + goto yy501; + } else { + if (yych <= '-') goto yy526; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy532; + goto yy501; + } +yy528: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '[') { + if (yych <= 0x001F) goto yy501; + if (yych <= 'Z') goto yy505; + goto yy501; + } else { + if (yych == ']') goto yy501; + if (yych <= '~') goto yy505; + goto yy501; + } +yy529: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yy534; + goto yy501; +yy530: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yy535; + goto yy501; +yy531: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy536; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy536; + goto yy501; +yy532: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy518; + if (yych <= '9') goto yy532; + goto yy518; +yy534: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy537; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy537; + goto yy501; +yy535: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy538; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy538; + goto yy501; +yy536: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy505; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy505; + goto yy501; +yy537: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy539; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy539; + goto yy501; +yy538: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy540; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy540; + goto yy501; +yy539: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy541; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy541; + goto yy501; +yy540: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy542; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy542; + goto yy501; +yy541: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy543; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy543; + goto yy501; +yy542: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy544; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy544; + goto yy501; +yy543: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy537; + goto yy501; + } else { + if (yych <= 'F') goto yy537; + if (yych == '\\') goto yy545; + goto yy501; + } +yy544: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy546; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy546; + goto yy501; +yy545: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == 'X') goto yy547; + goto yy501; +yy546: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy548; + if (yych <= '@') goto yy501; + if (yych <= 'F') goto yy548; + goto yy501; +yy547: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '0') goto yy521; + goto yy501; +yy548: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy549; + if (yych <= '@') goto yy501; + if (yych >= 'G') goto yy501; +yy549: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy550; + if (yych <= '@') goto yy501; + if (yych >= 'G') goto yy501; +yy550: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yy501; + if (yych <= '9') goto yy538; + goto yy501; + } else { + if (yych <= 'F') goto yy538; + if (yych == '\\') goto yy545; + goto yy501; + } +} + + } + + PUSH_TERMINAL(p->stack, lpop(in, T_KEYWORD)); + PUSH_TERMINAL_EXT(n, p->stack, lpop(in, '(')); + + if (LOOKAHEAD(in->sym[0], '(', T_KEYWORD, T_VARIANT)) + p21_parameter_list(p, act); + + PUSH_TERMINAL_EXT(n, p->stack, lpop(in, ')')); + + if (p->error) + goto err; + + /* user action */ + if (act->simple_record_cb) + act->simple_record_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_SIMPLERECORD}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "simple_record << 12 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_SIMPLERECORD); + else default_error_handler(p, bsp, P_SIMPLERECORD); + recover(in, ';', ')', T_KEYWORD); +} + +void p21_simple_record_list(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + p21_simple_record(p, act); + + do { + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= ')') { + if (yych <= '\r') { + if (yych == '\n') goto yy555; + if (yych >= '\r') goto yy557; + } else { + if (yych <= ' ') { + if (yych >= ' ') goto yy558; + } else { + if (yych <= '!') goto yy561; + if (yych >= ')') goto yy562; + } + } + } else { + if (yych <= 'Z') { + if (yych == '/') goto yy564; + if (yych >= 'A') goto yy565; + } else { + if (yych <= '_') { + if (yych >= '_') goto yy565; + } else { + if (yych <= '`') goto yy553; + if (yych <= 'z') goto yy565; + } + } + } +yy553: + ++YYCURSOR; +yy554: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yy555: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yy557: + yych = *++YYCURSOR; + if (yych == '\n') goto yy555; + goto yy554; +yy558: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yy558; + { n = in->cur - in->sp; } + { continue; } +yy561: + yych = *++YYCURSOR; + if (yych <= '^') { + if (yych <= '@') goto yy554; + if (yych <= 'Z') goto yy565; + goto yy554; + } else { + if (yych == '`') goto yy554; + if (yych <= 'z') goto yy565; + goto yy554; + } +yy562: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(')'); continue; } +yy564: + yych = *++YYCURSOR; + if (yych == '*') goto yy568; + goto yy554; +yy565: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= 'Z') { + if (yych <= '/') goto yy567; + if (yych <= '9') goto yy565; + if (yych >= 'A') goto yy565; + } else { + if (yych <= '_') { + if (yych >= '_') goto yy565; + } else { + if (yych <= '`') goto yy567; + if (yych <= 'z') goto yy565; + } + } +yy567: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_KEYWORD); continue; } +yy568: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +} + + } + if (!LOOKAHEAD(in->sym[0], T_KEYWORD)) + break; + p21_simple_record(p, act); + } while (1); + + if (p->error) + goto err; + + /* user action */ + if (act->simple_record_list_cb) + act->simple_record_list_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_LIST}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "simple_record_list << 13 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, ')', ';'); +} + +void p21_parameter(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + while (in->nsym < 2) { + in->sp = in->cur; + +{ + YYCTYPE yych; + unsigned int yyaccept = 0; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= ')') { + if (yych <= ' ') { + if (yych <= '\f') { + if (yych == '\n') goto yya574; + } else { + if (yych <= '\r') goto yya576; + if (yych >= ' ') goto yya577; + } + } else { + if (yych <= '#') { + if (yych <= '!') goto yya580; + if (yych <= '"') goto yya581; + goto yya582; + } else { + if (yych <= '$') goto yya583; + if (yych <= '&') goto yya572; + if (yych <= '\'') goto yya585; + goto yya586; + } + } + } else { + if (yych <= '9') { + if (yych <= ',') { + if (yych <= '*') goto yya588; + if (yych <= '+') goto yya590; + goto yya586; + } else { + if (yych <= '-') goto yya590; + if (yych <= '.') goto yya591; + if (yych <= '/') goto yya592; + goto yya593; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yya572; + if (yych <= 'Z') goto yya596; + } else { + if (yych == '`') goto yya572; + if (yych <= 'z') goto yya596; + } + } + } +yya572: + ++YYCURSOR; +yya573: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yya574: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yya576: + yych = *++YYCURSOR; + if (yych == '\n') goto yya574; + goto yya573; +yya577: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yya577; + { n = in->cur - in->sp; } + { continue; } +yya580: + yych = *++YYCURSOR; + if (yych <= '^') { + if (yych <= '@') goto yya573; + if (yych <= 'Z') goto yya596; + goto yya573; + } else { + if (yych == '`') goto yya573; + if (yych <= 'z') goto yya596; + goto yya573; + } +yya581: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yya573; + if (yych <= '3') goto yya599; + goto yya573; +yya582: + yych = *++YYCURSOR; + if (yych <= '/') goto yya573; + if (yych <= '9') goto yya602; + goto yya573; +yya583: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_EMPTY); continue; } +yya585: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '[') { + if (yych <= 0x001F) goto yya573; + if (yych <= 'Z') goto yya606; + goto yya573; + } else { + if (yych == ']') goto yya573; + if (yych <= '~') goto yya606; + goto yya573; + } +yya586: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(*in->sp); continue; } +yya588: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_DERIVED); continue; } +yya590: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ',') { + if (yych == '+') goto yya610; + goto yya573; + } else { + if (yych <= '-') goto yya610; + if (yych <= '/') goto yya573; + if (yych <= '9') goto yya593; + goto yya573; + } +yya591: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') goto yya573; + if (yych <= 'Z') goto yya612; + if (yych == '_') goto yya612; + goto yya573; +yya592: + yych = *++YYCURSOR; + if (yych == '*') goto yya614; + goto yya573; +yya593: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '.') goto yya616; + if (yych <= '/') goto yya595; + if (yych <= '9') goto yya593; +yya595: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_INTEGER); continue; } +yya596: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= 'Z') { + if (yych <= '/') goto yya598; + if (yych <= '9') goto yya596; + if (yych >= 'A') goto yya596; + } else { + if (yych <= '_') { + if (yych >= '_') goto yya596; + } else { + if (yych <= '`') goto yya598; + if (yych <= 'z') goto yya596; + } + } +yya598: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_KEYWORD); continue; } +yya599: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') { + if (yych == '"') goto yya619; + } else { + if (yych <= '9') goto yya599; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya599; + } +yya601: + YYCURSOR = YYMARKER; + if (yyaccept <= 1) { + if (yyaccept == 0) { + goto yya573; + } else { + goto yya608; + } + } else { + goto yya618; + } +yya602: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya604; + if (yych <= '9') goto yya602; +yya604: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_EID); continue; } +yya605: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; +yya606: + if (yych <= 'Z') { + if (yych <= 0x001F) goto yya601; + if (yych != '\'') goto yya605; + } else { + if (yych <= '\\') { + if (yych <= '[') goto yya601; + goto yya609; + } else { + if (yych <= ']') goto yya601; + if (yych <= '~') goto yya605; + goto yya601; + } + } + yyaccept = 1; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\'') goto yya605; +yya608: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_STRING); continue; } +yya609: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= 'S') { + if (yych <= '@') goto yya601; + if (yych <= 'I') goto yya621; + if (yych <= 'R') goto yya601; + goto yya622; + } else { + if (yych <= 'X') { + if (yych <= 'W') goto yya601; + goto yya623; + } else { + if (yych == '\\') goto yya605; + goto yya601; + } + } +yya610: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= ',') { + if (yych == '+') goto yya610; + goto yya601; + } else { + if (yych <= '-') goto yya610; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya593; + goto yya601; + } +yya612: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '9') { + if (yych == '.') goto yya624; + if (yych <= '/') goto yya601; + goto yya612; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yya601; + goto yya612; + } else { + if (yych == '_') goto yya612; + goto yya601; + } + } +yya614: + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +yya616: + yyaccept = 2; + YYMARKER = ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya618; + if (yych <= '9') goto yya616; + if (yych == 'E') goto yya626; +yya618: + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_REAL); continue; } +yya619: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_BINARY); continue; } +yya621: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yya605; + goto yya601; +yya622: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yya628; + goto yya601; +yya623: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '3') { + if (yych == '2') goto yya629; + goto yya601; + } else { + if (yych <= '4') goto yya630; + if (yych == '\\') goto yya631; + goto yya601; + } +yya624: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(T_VARIANT, V_ENUMERATION); continue; } +yya626: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= ',') { + if (yych == '+') goto yya626; + goto yya601; + } else { + if (yych <= '-') goto yya626; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya632; + goto yya601; + } +yya628: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '[') { + if (yych <= 0x001F) goto yya601; + if (yych <= 'Z') goto yya605; + goto yya601; + } else { + if (yych == ']') goto yya601; + if (yych <= '~') goto yya605; + goto yya601; + } +yya629: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yya634; + goto yya601; +yya630: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '\\') goto yya635; + goto yya601; +yya631: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya636; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya636; + goto yya601; +yya632: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya618; + if (yych <= '9') goto yya632; + goto yya618; +yya634: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya637; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya637; + goto yya601; +yya635: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya638; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya638; + goto yya601; +yya636: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya605; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya605; + goto yya601; +yya637: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya639; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya639; + goto yya601; +yya638: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya640; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya640; + goto yya601; +yya639: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya641; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya641; + goto yya601; +yya640: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya642; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya642; + goto yya601; +yya641: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya643; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya643; + goto yya601; +yya642: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya644; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya644; + goto yya601; +yya643: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya637; + goto yya601; + } else { + if (yych <= 'F') goto yya637; + if (yych == '\\') goto yya645; + goto yya601; + } +yya644: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya646; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya646; + goto yya601; +yya645: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == 'X') goto yya647; + goto yya601; +yya646: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya648; + if (yych <= '@') goto yya601; + if (yych <= 'F') goto yya648; + goto yya601; +yya647: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == '0') goto yya621; + goto yya601; +yya648: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya649; + if (yych <= '@') goto yya601; + if (yych >= 'G') goto yya601; +yya649: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya650; + if (yych <= '@') goto yya601; + if (yych >= 'G') goto yya601; +yya650: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yya601; + if (yych <= '9') goto yya638; + goto yya601; + } else { + if (yych <= 'F') goto yya638; + if (yych == '\\') goto yya645; + goto yya601; + } +} + + } + + if (LOOKAHEAD(in->sym[0], T_VARIANT)) { + PUSH_TERMINAL(p->stack, lpop(in, T_VARIANT)); + } else { + if (LOOKAHEAD(in->sym[0], T_KEYWORD)) { + PUSH_TERMINAL(p->stack, lpop(in, T_KEYWORD)); + PUSH_TERMINAL(p->stack, lpop(in, '(')); + p21_parameter(p, act); + } else { + PUSH_TERMINAL(p->stack, lpop(in, '(')); + if (LOOKAHEAD(in->sym[0], '(', T_KEYWORD, T_VARIANT)) { + p21_parameter_list(p, act); + } + } + while (in->nsym < 1) { + in->sp = in->cur; + +{ + YYCTYPE yych; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); + yych = *YYCURSOR; + if (yych <= 0x001F) { + if (yych <= '\n') { + if (yych >= '\n') goto yyb655; + } else { + if (yych == '\r') goto yyb657; + } + } else { + if (yych <= ')') { + if (yych <= ' ') goto yyb658; + if (yych >= ')') goto yyb661; + } else { + if (yych == '/') goto yyb663; + } + } + ++YYCURSOR; +yyb654: + { n = in->cur - in->sp; } + { YYCURSOR--; break; } +yyb655: + ++YYCURSOR; + { n = in->cur - in->sp; } + { in->lineno++; continue; } +yyb657: + yych = *++YYCURSOR; + if (yych == '\n') goto yyb655; + goto yyb654; +yyb658: + ++YYCURSOR; + if (YYLIMIT <= YYCURSOR) YYFILL(1); + yych = *YYCURSOR; + if (yych == ' ') goto yyb658; + { n = in->cur - in->sp; } + { continue; } +yyb661: + ++YYCURSOR; + { n = in->cur - in->sp; } + { PUSH_SYMBOL(')'); continue; } +yyb663: + yych = *++YYCURSOR; + if (yych != '*') goto yyb654; + ++YYCURSOR; + { n = in->cur - in->sp; } + { lex_comment(in); continue; } +} + + } + PUSH_TERMINAL(p->stack, lpop(in, ')')); + } + + if (p->error) + goto err; + + /* user action */ + if (act->parameter_cb) + act->parameter_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_PARAMETER}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "parameter << 14 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_PARAMETER); + else default_error_handler(p, bsp, P_PARAMETER); + recover(in, ')', ',', ';'); +} + +void mock_error(P21Parser *, int, uint8_t); +void mock_ud_init(void *); +void mock_ud_exit(void *); +void mock_exchange_file(P21Parser *, int, void *); +void mock_header_start(P21Parser *, int, void *); +void mock_header_entity_list(P21Parser *, int, void *); +void mock_data_section_list(P21Parser *, int, void *); +void mock_data_start(P21Parser *, int, void *); +void mock_header_entity(P21Parser *, int, void *); +void mock_simple_entity_instance(P21Parser *, int, void *); +void mock_complex_entity_instance(P21Parser *, int, void *); +void mock_parameter_list(P21Parser *, int, void *); +void mock_parameter(P21Parser *, int, void *); +void mock_entity_instance_list(P21Parser *, int, void *); +void mock_entity_instance(P21Parser *, int, void *); +void mock_simple_record_list(P21Parser *, int, void *); +void mock_simple_record(P21Parser *, int, void *); +void mock_noop(P21Parser *, int, void *); + +typedef struct { + sqlite3 *db; + sqlite3_stmt *sec_stmt; + sqlite3_stmt *sei_stmt; + sqlite3_stmt *cei_stmt; + sqlite3_stmt *hei_stmt; + int section_idx; +} P21UserData; + +P21UserData mockdata = {0}; + +P21ParserActions mockact = { + .userdata = &mockdata, + .error_cb = mock_error, + .ud_init_cb = mock_ud_init, + .ud_exit_cb = mock_ud_exit, + .header_start_cb = mock_header_start, + .data_start_cb = mock_data_start, + .exchange_file_cb = NULL, + .header_entity_list_cb = NULL, + .data_section_list_cb = NULL, + .header_entity_cb = mock_header_entity, + .simple_entity_instance_cb = mock_simple_entity_instance, + .complex_entity_instance_cb = mock_complex_entity_instance, + .parameter_list_cb = mock_noop, + .parameter_cb = mock_noop, + .entity_instance_list_cb = NULL, + .entity_instance_cb = NULL, + .simple_record_list_cb = mock_noop, + .simple_record_cb = mock_noop +}; + +void mock_error(P21Parser *p, int bsp, uint8_t cxt) { + switch (cxt) { + case P_SIMPLEENTITY: + case P_COMPLEXENTITY: + case P_HEADERENTITY: + dprintf("caught error: '%c'\n", cxt); + p->error = false; + drop(p->stack, p->stack->idx_top - bsp - 1); + break; + default: + p->error = true; + break; + } +} + + +void mock_ud_init(void *d) { + P21UserData *ud = d; + char ddl_sql[] = + "PRAGMA foreign_keys = ON;\n" + "CREATE TABLE entity_enum (type TEXT(1) PRIMARY KEY);\n" + "INSERT INTO entity_enum (type) VALUES ('S'), ('C');\n" + "CREATE TABLE section_enum (type TEXT(1) PRIMARY KEY);\n" + "INSERT INTO section_enum (type) VALUES ('D'), ('H');\n" + + "CREATE TABLE section_table (\n" + " id INTEGER PRIMARY KEY,\n" + " lineno INTEGER NOT NULL,\n" + " section_type TEXT(1) NOT NULL REFERENCES section_enum(type)\n" + ");\n" + + "CREATE TABLE section_headers (\n" + " id INTEGER PRIMARY KEY,\n" + " type_name TEXT COLLATE NOCASE,\n" + " raw_data TEXT NOT NULL,\n" + " lineno INTEGER NOT NULL,\n" + " fk_section INTEGER NOT NULL REFERENCES section_table(id)\n" + ");\n" + + "CREATE TABLE data_table (\n" + " id TEXT PRIMARY KEY,\n" + " type_name TEXT COLLATE NOCASE,\n" + " raw_data TEXT NOT NULL,\n" + " lineno INTEGER NOT NULL,\n" + " entity_type TEXT(1) NOT NULL REFERENCES entity_enum(type),\n" + " fk_section INTEGER NOT NULL REFERENCES section_table(id)\n" + ") WITHOUT ROWID;\n" + + "BEGIN DEFERRED TRANSACTION;"; + + char sei_sql[] = "INSERT INTO data_table VALUES (?,?,?,?,'S',?)"; + char cei_sql[] = "INSERT INTO data_table VALUES (?,NULL,?,?,'C',?)"; + char hei_sql[] = "INSERT INTO section_headers(type_name, raw_data, lineno, fk_section) VALUES (?, ?, ?, ?)"; + int rc; + + rc = sqlite3_open_v2(":memory:", &ud->db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); + + /* TODO: read ddl sql from external file */ + rc = sqlite3_exec(ud->db, ddl_sql, NULL, NULL, NULL); + + rc |= sqlite3_prepare_v3(ud->db, sei_sql, sizeof sei_sql, SQLITE_PREPARE_PERSISTENT, &ud->sei_stmt, NULL); + rc |= sqlite3_prepare_v3(ud->db, cei_sql, sizeof cei_sql, SQLITE_PREPARE_PERSISTENT, &ud->cei_stmt, NULL); + rc |= sqlite3_prepare_v3(ud->db, hei_sql, sizeof hei_sql, SQLITE_PREPARE_PERSISTENT, &ud->hei_stmt, NULL); + + if (rc != SQLITE_OK) + exit(1); + + ud->section_idx = 0; +} + +void mock_ud_exit(void *d) { + P21UserData *ud = d; + int rc; + char ddl_sql[] = + "CREATE INDEX ix_type_name ON data_table(type_name);\n" + "CREATE INDEX ix_entity_type ON data_table(entity_type);\n" + "CREATE INDEX ix_fk_section ON data_table(fk_section);"; + + rc = sqlite3_finalize(ud->sei_stmt); + rc |= sqlite3_finalize(ud->cei_stmt); + rc |= sqlite3_finalize(ud->hei_stmt); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_exec(ud->db, "COMMIT TRANSACTION", NULL, NULL, NULL); + if (rc != SQLITE_OK) goto err; + + /* TODO: benchmark index creation here vs on db init */ + rc = sqlite3_exec(ud->db, ddl_sql, NULL, NULL, NULL); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_close(ud->db); + if (rc != SQLITE_OK) goto err; + + return; +err: + dprintf("db error\n"); + exit(1); +} + +void mock_exchange_file(P21Parser *p, int bsp, void *d) { Stack *s = p->stack; } +void mock_header_start(P21Parser *p, int bsp, void *d) { + char sec_sql[] = "INSERT INTO section_table VALUES(?,?,'H')"; + Stack *s = p->stack; + P21UserData *ud = d; + Symbol *t = s->items + bsp; + sqlite3_stmt *stmt; + int rc; + + rc = sqlite3_prepare_v2(ud->db, sec_sql, sizeof sec_sql, &stmt, NULL); + if (rc != SQLITE_OK) goto err; + + rc |= sqlite3_bind_int(stmt, 1, ++ud->section_idx); + rc |= sqlite3_bind_int(stmt, 2, t->lineno); + if (rc != SQLITE_OK) goto err; + + rc |= sqlite3_step(stmt); + if (rc != SQLITE_DONE) goto err; + + sqlite3_finalize(stmt); + + /* + s->items[bsp] = (Symbol){P_HEADERSECTION}; + drop(s, s->idx_top - bsp - 1); + */ + + return; + +err: + dprintf("db error\n"); + exit(1); +} +void mock_header_entity_list(P21Parser *p, int bsp, void *d) { Stack *s = p->stack; } +void mock_data_section_list(P21Parser *p, int bsp, void *d) { Stack *s = p->stack; } +void mock_data_start(P21Parser *p, int bsp, void *d) { + char sec_sql[] = "INSERT INTO section_table VALUES(?,?,'D')"; + Stack *s = p->stack; + P21UserData *ud = d; + Symbol *t = s->items + bsp; + sqlite3_stmt *stmt; + int rc; + + rc = sqlite3_prepare_v2(ud->db, sec_sql, sizeof sec_sql, &stmt, NULL); + if (rc != SQLITE_OK) goto err; + + rc |= sqlite3_bind_int(stmt, 1, ++ud->section_idx); + rc |= sqlite3_bind_int(stmt, 2, t->lineno); + if (rc != SQLITE_OK) goto err; + + rc |= sqlite3_step(stmt); + if (rc!= SQLITE_DONE) goto err; + + sqlite3_finalize(stmt); + + return; + +err: + dprintf("db error\n"); + exit(1); +} + +void mock_header_entity(P21Parser *p, int bsp, void *d) { + Stack *s = p->stack; + P21UserData *ud = d; + HeaderEntity e = {s->items + bsp, s->items + bsp + 1}; + size_t i, nargs = e.args->n; + unsigned char *basemrk = p->in->basemrk; + ptrdiff_t ep; + int rc; + + /* rewrite (normalise) args member before bind */ + e.args->offset = (e.args + 1)->offset; + e.args->n = (e.args + 1)->n; + for (i = 2, ep = e.args->offset + 1; i < nargs; i++) { + Symbol *t = e.args + i; + if (t->token == '(') t->n = 1; + if (ep != t->offset) memmove(basemrk + ep, basemrk + t->offset, t->n); + ep += t->n; + } + e.args->n = ep - e.args->offset; + + rc = sqlite3_reset(ud->hei_stmt); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_bind_text(ud->hei_stmt, 1, basemrk + e.kw->offset, e.kw->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_text(ud->hei_stmt, 2, basemrk + e.args->offset, e.args->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_int(ud->hei_stmt, 3, e.kw->lineno); + rc |= sqlite3_bind_int(ud->hei_stmt, 4, ud->section_idx); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_step(ud->hei_stmt); + if (rc != SQLITE_DONE) goto err; + + p->hold = false; + return; + +err: + mock_error(p, bsp, P_HEADERENTITY); + dprintf("db error\n"); +} + +void mock_simple_entity_instance(P21Parser *p, int bsp, void *d) { + Stack *s = p->stack; + P21UserData *ud = d; + SimpleEntity e = {s->items + bsp, s->items + bsp + 1, s->items + bsp + 2, s->items + bsp + 3}; + size_t i, nargs = e.args->n; + unsigned char *basemrk = p->in->basemrk; + ptrdiff_t ep; + int rc; + + /* rewrite (normalise) args before bind */ + e.args->offset = (e.args + 1)->offset; + e.args->n = (e.args + 1)->n; + for (i = 2, ep = e.args->offset + e.args->n; i < nargs; i++) { + Symbol *t = e.args + i; + if (t->token == '(') t->n = 1; + if (ep != t->offset) memmove(basemrk + ep, basemrk + t->offset, t->n); + ep += t->n; + } + e.args->n = ep - e.args->offset; + + /* */ + rc = sqlite3_reset(ud->sei_stmt); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_bind_text(ud->sei_stmt, 1, basemrk + e.eid->offset, e.eid->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_text(ud->sei_stmt, 2, basemrk + e.kw->offset, e.kw->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_text(ud->sei_stmt, 3, basemrk + e.args->offset, e.args->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_int(ud->sei_stmt, 4, e.eid->lineno); + rc |= sqlite3_bind_int(ud->sei_stmt, 5, ud->section_idx); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_step(ud->sei_stmt); + if (rc != SQLITE_DONE) goto err; + + p->hold = false; + + return; + +err: + mock_error(p, bsp, P_SIMPLEENTITY); + dprintf("db error\n"); +} + + +void mock_complex_entity_instance(P21Parser *p, int bsp, void *d) { + Stack *s = p->stack; + P21UserData *ud = d; + ComplexEntity e = {s->items + bsp, s->items + bsp + 1, s->items + bsp + 2}; + size_t i, nsubsupers = e.subsupers->n; + unsigned char *basemrk = p->in->basemrk; + ptrdiff_t ep; + int rc; + + /* rewrite (normalise) list before bind */ + for (i = 1, ep = e.subsupers->offset + 1; i < nsubsupers; i++) { + Symbol *t = e.subsupers + i; + if (t->token == '(') t->n = 1; + if (ep != t->offset) memmove(basemrk + ep, basemrk + t->offset, t->n); + ep += t->n; + } + e.subsupers->n = ep - e.subsupers->offset; + + rc = sqlite3_reset(ud->cei_stmt); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_bind_text(ud->cei_stmt, 1, basemrk + e.eid->offset, e.eid->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_text(ud->cei_stmt, 2, basemrk + e.subsupers->offset, e.subsupers->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_int(ud->cei_stmt, 3, e.eid->lineno); + rc |= sqlite3_bind_int(ud->cei_stmt, 4, ud->section_idx); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_step(ud->cei_stmt); + if (rc != SQLITE_DONE) goto err; + + p->hold = false; + return; + +err: + mock_error(p, bsp, P_COMPLEXENTITY); + dprintf("db error \n"); +} + +void mock_parameter_list(P21Parser *p, int bsp, void *d) { } +void mock_parameter(P21Parser *p, int bsp, void *d) { } +void mock_entity_instance_list(P21Parser *p, int bsp, void *d) { } +void mock_entity_instance(P21Parser *p, int bsp, void *d) { } +void mock_simple_record_list(P21Parser *p, int bsp, void *d) { } +void mock_simple_record(P21Parser *p, int bsp, void *d) {} + +void mock_noop(P21Parser *p, int bsp, void *d) { + p->hold = true; +} + +int main(char *argv[], int argc) { + const char *paths[] = { + "/home/chorler/projects/src/stepcode/test/p21/test_array_bounds_FAIL1.p21", + "/home/chorler/projects/src/stepcode/test/p21/comments.p21", + "/home/chorler/projects/src/stepcode/test/p21/test_inverse_attr.p21", + "/home/chorler/projects/src/stepcode/test/p21/missing_and_required.p21", + "/home/chorler/projects/src/stepcode/test/p21/test_array_bounds.p21", + "/home/chorler/projects/src/stepcode/test/p21/test_inherit_inverse.p21", + "/home/chorler/projects/src/stepcode/data/ap214e3/as1-oc-214.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/dm1-id-214.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/MAINBODY.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/HEAD_BACK.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/HEAD_FRONT.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/TAIL.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/MAINBODY_FRONT.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/FOOT_BACK_000.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/FOOT_FRONT_000.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/s1-c5-214.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/MAINBODY_BACK.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/HEAD.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/TAIL_TURBINE.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/TAIL_MIDDLE_PART.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/FOOT.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/sg1-c5-214.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/io1-cm-214.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS7-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS1Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS2-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS1Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS3-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS10Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS2Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS8-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS3Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS4Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS7Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS4Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS10Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS3Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS8Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS4-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS7Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS2Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS8Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS10-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS1-out.stp" + }; + + P21Parser myp; + P21UserData mydata; + FILE *fp; + memset(&mydata, 0, sizeof mydata); + + for (unsigned int i = 0; i < (sizeof paths / sizeof paths[0]); i++) { + fp = fopen(paths[i], "rb"); + if (!fp) { fprintf(stderr, "failed to read input: %s\n", paths[i]); continue; } + else { fprintf(stderr, "processing: %s\n", paths[i]); } + p21_init(&myp, fp); + p21_parse(&myp, &mockact); + } +} diff --git a/src/exp2python/python/stepcode/_cPart21.l b/src/exp2python/python/stepcode/_cPart21.l new file mode 100644 index 000000000..2a8ded85a --- /dev/null +++ b/src/exp2python/python/stepcode/_cPart21.l @@ -0,0 +1,1602 @@ +/* + * STEP Part 21 Parser + * + * Copyright (c) 2020, Christopher HORLER (cshorler@googlemail.com) + * + * All rights reserved. + * + * This file is part of the STEPCODE project. + * + * 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. + * + * Neither the name of the nor the names of its contributors may + * 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. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define YYCTYPE unsigned char +#define YYCURSOR in->cur +#define YYLIMIT in->lim +#define YYMARKER in->mrk +#define YYCTXMARKER in->ctxmrk +#define YYFILL(n) do { \ + if (fill(in, n) != 0) { \ + fprintf(stderr, "lexer fill(...) failed, exiting\n"); \ + exit(1); \ + } \ + } while (0) + +/*!max:re2c*/ +#define INIT_BUF_SZ 4096 +#define INIT_STACK_SZ 64 + +/* reserved literals '(' ')' ';' '=' */ +#define T_P21_START 'S' +#define T_P21_END 'X' +#define T_HEADER 'H' +#define T_DATA 'D' +#define T_ENDSEC 'E' +#define T_EID 'I' +#define T_KEYWORD 'K' +#define T_VARIANT 'V' +#define T_EOF '\x00' +#define T_ERROR '\x01' + +#define V_REAL 'r' +#define V_INTEGER 'i' +#define V_STRING 's' +#define V_BINARY 'b' +#define V_ENUMERATION 'e' +#define V_EID T_EID +#define V_DERIVED '*' +#define V_EMPTY '$' + +#define P_FILE 'f' +#define P_HEADERSECTION 'h' +#define P_DATASECTION 'd' +#define P_HEADERENTITY 'x' +#define P_SIMPLEENTITY 's' +#define P_COMPLEXENTITY 'c' +#define P_SIMPLERECORD 'u' +#define P_LIST 'l' +#define P_PARAMETER 'p' + +int debug = 1; +#define dprintf(fmt, ...) \ + do { if (debug) fprintf(stderr, "%s:%3d " fmt, __FILE__, __LINE__, ##__VA_ARGS__); } while (0) + +/* ppfu https://stackoverflow.com/a/11763277/1162349 */ +#define GET_MACRO(_1, _2, _3, _4, NAME, ...) NAME +#define _EXPAND(x) x + +/* for lookahead */ +#define PUSH_SYMBOL(...) _EXPAND(GET_MACRO(__VA_ARGS__, _4, _3, _PUSH_SYMBOL2, _PUSH_SYMBOL1)(__VA_ARGS__)) +#define _PUSH_SYMBOL1(token) in->sym[in->nsym++] = (Symbol){(token), 0, n, in->lineno, in->sp - in->basemrk} +#define _PUSH_SYMBOL2(token, vtype) in->sym[in->nsym++] = (Symbol){(token), (vtype), n, in->lineno, in->sp - in->basemrk} + +/* for parse stack */ +#define PUSH_TERMINAL(stack, sym) do { \ + Symbol it = (sym); \ + push((stack), it); \ + if (it.token == T_ERROR) goto err; \ + } while (0) + +#define PUSH_TERMINAL_EXT(cxt, stack, sym) do { \ + Symbol it = (sym); \ + push((stack), it); \ + if (it.token == T_ERROR) goto err; \ + else if (it.token == '(') (cxt) = (stack)->idx_top - 1; \ + else if (it.token == ')') (stack)->items[(cxt)].n = (stack)->idx_top - (cxt) - 1; \ + } while (0) + +/* test for one in a set of 1 to 4 e.g. {t0, t1, t2, t3} */ +#define LOOKAHEAD(x, ...) _EXPAND(GET_MACRO(__VA_ARGS__, _LOOKAHEAD4, _LOOKAHEAD3, _LOOKAHEAD2, _LOOKAHEAD1)(x, __VA_ARGS__)) +#define _LOOKAHEAD1(x, t0) ((t0) == (x).token) +#define _LOOKAHEAD2(x, t0, t1) ((t0) == (x).token || (t1) == (x).token) +#define _LOOKAHEAD3(x, t0, t1, t2) (_LOOKAHEAD2(x, t0, t1) || (t2) == (x).token) +#define _LOOKAHEAD4(x, t0, t1, t2, t3) (_LOOKAHEAD2(x, t0, t1) || _LOOKAHEAD2(x, t2, t3)) + + +/*!rules:re2c + ascii_encoding = [][!"*$%&.#+,\-()?/:;<=>@{}|^`~0-9a-zA-Z_ ] | "''" | "\\\\" ; + page_encoding = "\\" [A-I] "\\" | "\\S\\" [][!"'*$%&.#+,\-()?/:;<=>@{}|^`~0-9a-zA-Z_\\ ] ; + hex_encoding = "\\X2\\" ([0-9A-F]{4})+ "\\X0\\" | "\\X4\\" ([0-9A-F]{8})+ "\\X0\\" ; + byte_encoding = "\\X\\" [0-9A-F]{2} ; + + NL = ("\n" | "\r\n") ; + PUNCTUATION = [ ;()/] ; + + P21_START = "ISO-10303-21;" ; + P21_END = "END-ISO-10303-21;" ; + DATA = "DATA" ; + HEADER = "HEADER;" ; + ENDSEC = "ENDSEC;" ; + + WS = " " ; + KEYWORD = "!"? [A-Za-z_] [0-9A-Za-z_]* ; + REAL = [+-]* [0-9] [0-9]* "." [0-9]* ("E" [+-]* [0-9] [0-9]*)? ; + INTEGER = [+-]* [0-9] [0-9]* ; + STRING = "'" (ascii_encoding | page_encoding | hex_encoding | byte_encoding )* "'" ; + BINARY = '"' [0-3] [0-9A-F]* '"' ; + ENUMERATION = "." [A-Z_] [A-Z0-9_]* "." ; + EID = "#" [0-9]+ ; + + { n = in->cur - in->sp; } + WS+ { continue; } + NL { in->lineno++; continue; } + "/*" { lex_comment(in); continue; } + * { YYCURSOR--; break; } + + */ + + +/* lexeme */ +typedef struct { + uint8_t token; + union { + uint8_t vtype; + uint8_t errtoken; + }; + uint16_t n; + uint32_t lineno; + union { + ptrdiff_t offset; /* from basemrk */ + void *data; /* production allocation if applicable */ + }; +} Symbol; + +typedef struct SimpleRecord_ { + Symbol *kw; /* 'KEYWORD' */ + Symbol *args;/* '(' */ +} SimpleRecord; + +typedef struct SimpleRecord_ HeaderEntity; + +typedef struct { + Symbol *eid; /* '#' */ + Symbol *eq; /* '=' */ + Symbol *kw; /* 'KEYWORD' */ + Symbol *args;/* '(' */ +} SimpleEntity; + +typedef struct { + Symbol *eid; /* '#' */ + Symbol *eq; /* '=' */ + Symbol *subsupers;/* '(' */ +} ComplexEntity; + + +typedef struct { + FILE *file; + size_t bufsz; + unsigned char *cur, *mrk, *ctxmrk, *lim; + unsigned char *sp, *basemrk; + int eof; + uint32_t lineno; + int nsym; + Symbol sym[3]; + unsigned char *buf; +} Input; + +typedef struct { + int idx_top; + int idx_lim; + Symbol *items; +} Stack; + +/* LL(3) parser */ +typedef struct { + bool error; + bool hold; + Input *in; + Stack *stack; +} P21Parser; + +typedef void (p21_action_cb_t) (P21Parser *, int, void *); +typedef void (p21_error_cb_t) (P21Parser *, int, uint8_t); +typedef void (p21_ud_cb_t) (void *); + +typedef struct { + void *userdata; + p21_error_cb_t *error_cb; + p21_ud_cb_t *ud_init_cb; + p21_ud_cb_t *ud_exit_cb; + p21_action_cb_t *exchange_file_cb; + p21_action_cb_t *header_start_cb; + p21_action_cb_t *header_entity_list_cb; + p21_action_cb_t *data_section_list_cb; + p21_action_cb_t *data_start_cb; + p21_action_cb_t *header_entity_cb; + p21_action_cb_t *simple_entity_instance_cb; + p21_action_cb_t *complex_entity_instance_cb; + p21_action_cb_t *parameter_list_cb; + p21_action_cb_t *parameter_cb; + p21_action_cb_t *entity_instance_list_cb; + p21_action_cb_t *entity_instance_cb; + p21_action_cb_t *simple_record_list_cb; + p21_action_cb_t *simple_record_cb; +} P21ParserActions; + + +void report_error(P21Parser *, const char *); +void _recover(Input *, uint8_t, uint8_t, uint8_t); +Symbol lpop(Input *, uint8_t); + +void p21_parse(P21Parser *, P21ParserActions *); +void p21_exchange_file(P21Parser *, P21ParserActions *); +void p21_header_section(P21Parser *, P21ParserActions *); +void p21_header_entity_list(P21Parser *, P21ParserActions *); +void p21_header_entity(P21Parser *, P21ParserActions *); +void p21_data_section_list(P21Parser *, P21ParserActions *); +void p21_data_section(P21Parser *, P21ParserActions *); +void p21_entity_instance(P21Parser *, P21ParserActions *); +void p21_simple_entity_instance(P21Parser *, P21ParserActions *); +void p21_complex_entity_instance(P21Parser *, P21ParserActions *); +void p21_entity_instance_list(P21Parser *, P21ParserActions *); +void p21_parameter(P21Parser *, P21ParserActions *); +void p21_parameter_list(P21Parser *, P21ParserActions *); +void p21_simple_record(P21Parser *, P21ParserActions *); +void p21_simple_record_list(P21Parser *, P21ParserActions *); + + +void push(Stack *stack, Symbol it) { + if (stack->idx_top == stack->idx_lim) { + Symbol *nitems = realloc(stack->items, 2 * stack->idx_lim * sizeof stack->items[0]); + if (!nitems) { + fprintf(stderr, "failed to grow parser stack, memory exhausted\n"); + exit(1); + } + stack->items = nitems; + stack->idx_lim *= 2; + } + + stack->items[stack->idx_top++] = it; +} + +/* mock implementations */ +void drop(Stack *stack, uint32_t n) { + assert(stack->idx_top >= n); + stack->idx_top -= n; +} + +void unwind(Stack *stack, int bsp) { + stack->idx_top = bsp; +} + +Symbol *pop(Stack *stack) { + assert(stack->idx_top >= 1); + stack->idx_top--; + return stack->items + stack->idx_top; +} + +Symbol *peek(Stack *stack) { + assert(stack->idx_top >= 1); + return stack->items + stack->idx_top - 1; +} + +Symbol lpop(Input *in, uint8_t token) { + Symbol *stack = in->sym; + Symbol sym = stack[0]; + + /* missing input or unexpected lookahead token */ + if (in->nsym == 0) + return (Symbol){T_ERROR, token, 0, in->lineno}; + else if (sym.token != token) + return (Symbol){T_ERROR, token, 0, sym.lineno}; + + if (!--in->nsym) { + memset(&in->sym[0], 0, sizeof in->sym[0]); + } else { + memmove(&in->sym[0], &in->sym[1], in->nsym * sizeof in->sym[0]); + memset(&in->sym[in->nsym], 0, sizeof in->sym[0]); + } + + return sym; +} + +static int fill(Input *in, size_t need) +{ + size_t free; + unsigned char *newbuf; + + if (in->eof) { + return 1; + } + free = in->basemrk - in->buf; + if (free < need) { + newbuf = realloc(in->buf, 2 * in->bufsz + YYMAXFILL); + if (!newbuf) { + fprintf(stderr, "fatal - buffer memory exhausted, exiting\n"); + return 2; + } + in->bufsz *= 2; + in->lim = newbuf + (in->lim - in->buf); + in->cur = newbuf + (in->cur - in->buf); + in->mrk = newbuf + (in->mrk - in->buf); + in->ctxmrk = newbuf + (in->ctxmrk - in->buf); + in->basemrk = newbuf + (in->basemrk - in->buf); + in->sp = newbuf + (in->sp - in->buf); + in->buf = newbuf; + + /* don't memmove() here! */ + free = (in->buf + in->bufsz) - in->lim; + } else { + memmove(in->buf, in->basemrk, in->lim - in->basemrk); + in->lim -= free; + in->cur -= free; + in->mrk -= free; + in->ctxmrk -= free; + in->basemrk -= free; + in->sp -= free; + } + + in->lim += fread(in->lim, 1, free, in->file); + if (in->lim < in->buf + in->bufsz) { + in->eof = 1; + memset(in->lim, 0, YYMAXFILL); + in->lim += YYMAXFILL; + } + return 0; +} + +static void p21_init(P21Parser *p, FILE *file) +{ + Stack *stack; + Input *in; + + in = malloc(sizeof *in); + if (!in) + goto err; + memset(in, 0, sizeof *in); + in->bufsz = INIT_BUF_SZ; + in->buf = malloc(INIT_BUF_SZ + YYMAXFILL); + if (!in->buf) + goto err; + in->file = file; + in->cur = in->basemrk = in->sp = in->lim = in->buf + INIT_BUF_SZ; + in->lineno = 1; + fill(in, 1); + + stack = malloc(sizeof *stack); + if (!stack) + goto err; + memset(stack, 0, sizeof *stack); + stack->idx_lim = 16; + stack->idx_top = 0; + stack->items = malloc(stack->idx_lim * sizeof stack->items[0]); + if (!stack->items) + goto err; + + p->in = in; + p->stack = stack; + p->error = false; + + return; + +err: + fprintf(stderr, "failed to initialise parser\n"); + exit(1); +} + +/* noop error handler */ +void default_error_handler(P21Parser *p, int bsp, uint8_t t) { + Symbol *sym = peek(p->stack); + if (sym->token == T_ERROR) + pop(p->stack); + push(p->stack, (Symbol){t}); +} + +/* TODO: this needs to be reworked */ +void report_error(P21Parser *p, const char *cxt) { + Input *in = p->in; + Symbol *it = peek(p->stack); + int lineno; + unsigned char *cur; + + fprintf(stderr, cxt); + + if (it->token == T_ERROR) { + fprintf(stderr, " syntax error - line: %d\n", it->lineno); + fprintf(stderr, " expected '%c' (token type) ", it->errtoken); + } else { + cur = in->cur; + lineno = in->lineno; + while (1) { + if (*(cur - 2) == '\r' && *(cur - 1) == '\n') { cur -= 2; --lineno; } + else if (*(cur - 1) == '\n') { --cur; --lineno; } + else { break; } + } + fprintf(stderr, " syntax error - line: %d\n", lineno); + } + + if (!in->nsym) { + cur = in->cur; + lineno = in->lineno; + while (1) { + if (*cur == '\r' && *(cur + 1) == '\n') { cur -= 2; --lineno; } + else if (*cur == '\n') { --cur; --lineno; } + else { break; } + } + fprintf(stderr, " unexpected character '%c' (line: %d)\n", *cur, lineno); + } else { + fprintf(stderr, " got '%c' (token type)\n", in->sym[0].token); + } +} + + +void lex_comment(Input *in) { + size_t n; + int comment_lvl = 1; + + while (1) { + in->sp = in->cur; + /*!use:re2c + NOT_SLASH_STAR = [][!"#$%&'()+,\-.:;<=>?@\\^`{|}~0-9A-Z_a-z ] ; + + "*"+ "/" { + if (!--comment_lvl) { break; } + else { continue; } + } + "*"+ { continue; } + NOT_SLASH_STAR+ { continue; } + "/" { continue; } + "/*" { ++comment_lvl; continue; } */ + } + + return; + +err: + fprintf(stderr, "invalid character in comment, exiting\n"); + exit(1); +} + +#define recover(in, ...) GET_MACRO(__VA_ARGS__, _4, _RECOVER3, _RECOVER2, _RECOVER1)(in, __VA_ARGS__) +#define _RECOVER1(in, u0) _recover((in), (u0), 0U, 0U) +#define _RECOVER2(in, u0, u1) _recover((in), (u0), (u1), 0U) +#define _RECOVER3(in, u0, u1, u2) _recover((in), (u0), (u1), (u2)) + +void _recover(Input *in, uint8_t u0, uint8_t u1, uint8_t u2) { + size_t n; + Symbol sym; + + while (in->nsym) { + if (LOOKAHEAD(in->sym[0], u0, u1, u2, T_EOF)) + break; + --in->nsym; + memmove(&in->sym[0], &in->sym[1], in->nsym * sizeof in->sym[0]); + memset(&in->sym[in->nsym], 0, sizeof in->sym[0]); + } + + if (in->nsym) + return; + + while (1) { + in->sp = in->cur; + /*!use:re2c + P21_START { sym = (Symbol){T_P21_START}; goto check; } + P21_END { sym = (Symbol){T_P21_END}; goto check; } + HEADER { sym = (Symbol){T_HEADER}; goto check; } + DATA / PUNCTUATION { sym = (Symbol){T_DATA}; goto check; } + ENDSEC { sym = (Symbol){T_ENDSEC}; goto check; } + EID { sym = (Symbol){T_EID}; goto check; } + KEYWORD { sym = (Symbol){T_KEYWORD}; goto check; } + REAL { sym = (Symbol){T_VARIANT, V_REAL}; goto check; } + INTEGER { sym = (Symbol){T_VARIANT, V_INTEGER}; goto check; } + STRING { sym = (Symbol){T_VARIANT, V_STRING}; goto check; } + BINARY { sym = (Symbol){T_VARIANT, V_BINARY}; goto check; } + ENUMERATION { sym = (Symbol){T_VARIANT, V_ENUMERATION}; goto check; } + "*" { sym = (Symbol){T_VARIANT, V_DERIVED}; goto check; } + "$" { sym = (Symbol){T_VARIANT, V_EMPTY}; goto check; } + [();] { sym = (Symbol){*in->sp}; goto check; } + */ +check: + if (LOOKAHEAD(sym, u0, u1, u2, T_EOF)) { + PUSH_SYMBOL(sym.token, sym.vtype); + break; + } + } + + return; + +err: + fprintf(stderr, "fatal, failed to resolve follow set (%c, %c, %c)\n", u0, u1, u2); + exit(1); +} + + +/* + * P21Parser + */ +void p21_parse(P21Parser *p, P21ParserActions *act) { + if (act->ud_init_cb) + act->ud_init_cb(act->userdata); + + p21_exchange_file(p, act); + + if (act->ud_exit_cb) + act->ud_exit_cb(act->userdata); + + assert(p->stack->idx_top == 1); + return; + +err: + report_error(p, "exchange_file' << 0 >>\n"); +} + +void p21_exchange_file(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c + P21_START { PUSH_SYMBOL(T_P21_START); continue;} */ + } + PUSH_TERMINAL(p->stack, lpop(in, T_P21_START)); + + p21_header_section(p, act); + p21_data_section_list(p, act); + + PUSH_TERMINAL(p->stack, lpop(in, T_P21_END)); + + if (p->error) + goto err; + + /* user action */ + if (act->exchange_file_cb) + act->exchange_file_cb(p, bsp, act->userdata); + + /* default reduction */ + p->stack->items[bsp] = (Symbol){P_FILE}; + drop(p->stack, p->stack->idx_top - bsp - 1); + + return; + +err: + report_error(p, "exchange_file << 1 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_FILE); + else default_error_handler(p, bsp, P_FILE); + recover(in, T_EOF); +} + +void p21_header_section(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c re2c:labelprefix = 'yya'; + HEADER { PUSH_SYMBOL(T_HEADER); continue; } */ + } + PUSH_TERMINAL(p->stack, lpop(in, T_HEADER)); + + /* section callback */ + if (act->header_start_cb) + act->header_start_cb(p, bsp, act->userdata); + + /* mandatory headers */ + p21_header_entity(p, act); + p21_header_entity(p, act); + p21_header_entity(p, act); + + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c re2c:labelprefix = 'yyb'; + ENDSEC { PUSH_SYMBOL(T_ENDSEC); continue; } + KEYWORD { PUSH_SYMBOL(T_KEYWORD); continue; } */ + } + + /* optional headers */ + if (LOOKAHEAD(in->sym[0], T_KEYWORD)) + p21_header_entity_list(p, act); + + PUSH_TERMINAL(p->stack, lpop(in, T_ENDSEC)); + + if (p->error) + goto err; + + /* default reduction */ + p->stack->items[bsp] = (Symbol){P_HEADERSECTION}; + drop(p->stack, p->stack->idx_top - bsp - 1); + + return; + +err: + report_error(p, "header_section << 2 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_HEADERSECTION); + else default_error_handler(p, bsp, P_HEADERSECTION); + recover(in, T_DATA); +} + +void p21_data_section_list(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + uint32_t len = 0; + Input *in = p->in; + + do { + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c + DATA / PUNCTUATION { PUSH_SYMBOL(T_DATA); continue; } + P21_END { PUSH_SYMBOL(T_P21_END); continue; } */ + } + if (!LOOKAHEAD(in->sym[0], T_DATA)) + break; + p21_data_section(p, act); + } while (++len); + + /* one or more */ + if (!len) { + push(p->stack, (Symbol){T_ERROR, T_DATA, 0, in->sym[0].lineno}); + p->error = true; + } + + if(p->error) + goto err; + + /* user action */ + if (act->data_section_list_cb) + act->data_section_list_cb(p, bsp, act->userdata); + + /* default reduction */ + p->stack->items[bsp] = (Symbol){P_LIST}; + drop(p->stack, p->stack->idx_top - bsp - 1); + + return; + +err: + report_error(p, "data_section_list << 3 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, T_P21_END); +} + +void p21_data_section(P21Parser *p, P21ParserActions *act) { + size_t n, cxt; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + while (in->nsym < 2) { + in->sp = in->cur; + /*!use:re2c re2c:labelprefix = 'yya'; + [(;] { PUSH_SYMBOL(*in->sp); continue; } */ + } + PUSH_TERMINAL(p->stack, lpop(in, T_DATA)); + + if (LOOKAHEAD(in->sym[0], '(')) { + PUSH_TERMINAL(p->stack, lpop(in, '(')); + + p21_parameter_list(p, act); + while (in->nsym < 2) { + in->sp = in->cur; + /*!use:re2c re2c:labelprefix = 'yyb'; + ";" { PUSH_SYMBOL(';'); continue; } */ + } + + PUSH_TERMINAL(p->stack, lpop(in, ')')); + } + PUSH_TERMINAL(p->stack, lpop(in, ';')); + + if (act->data_start_cb) + act->data_start_cb(p, bsp, act->userdata); + + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c re2c:labelprefix = 'yyc'; + ENDSEC { PUSH_SYMBOL(T_ENDSEC); continue; } + EID { PUSH_SYMBOL(T_EID); continue; } */ + } + if (LOOKAHEAD(in->sym[0], T_EID)) + p21_entity_instance_list(p, act); + + PUSH_TERMINAL(p->stack, lpop(in, T_ENDSEC)); + + if (p->error) + goto err; + + /* default reduction */ + p->stack->items[bsp] = (Symbol){P_DATASECTION}; + drop(p->stack, p->stack->idx_top - bsp - 1); + + return; + +err: + report_error(p, "data_section << 4 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_DATASECTION); + else default_error_handler(p, bsp, P_DATASECTION); + recover(in, T_P21_END, T_DATA); +} + +void p21_header_entity(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + /* set KEYWORD as basemrk to prevent fill() recycling the buffer before user action */ + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c + KEYWORD { PUSH_SYMBOL(T_KEYWORD); continue; } */ + } + + /* set KEYWORD as basemrk to prevent fill() recycling the buffer before user action */ + assert(in->nsym == 1); + in->basemrk += in->sym[0].offset; + in->sym[0].offset = 0; + + p21_simple_record(p, act); + + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c + ";" { PUSH_SYMBOL(';'); continue; } */ + } + PUSH_TERMINAL(p->stack, lpop(in, ';')); + + if (p->error) + goto err; + + /* user action */ + if (act->header_entity_cb) + act->header_entity_cb(p, bsp, act->userdata); + + /* reduction */ + assert(!p->hold); + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_HEADERENTITY}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "header_entity << 5 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_HEADERENTITY); + else default_error_handler(p, bsp, P_HEADERENTITY); + recover(in, T_ENDSEC, T_KEYWORD); +} + +void p21_header_entity_list(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + p21_header_entity(p, act); + + do { + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c + KEYWORD { PUSH_SYMBOL(T_KEYWORD); continue; } + ENDSEC { PUSH_SYMBOL(T_ENDSEC); continue; } */ + } + if (!LOOKAHEAD(in->sym[0], T_KEYWORD)) + break; + p21_header_entity(p, act); + } while (1); + + if (p->error) + goto err; + + + /* user action */ + if (act->header_entity_list_cb) + act->header_entity_list_cb(p, bsp, act->userdata); + + /* reduction */ + assert(!p->hold); + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_LIST}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "header_entity_list << 6 >>"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, T_ENDSEC); +} + +void p21_entity_instance_list(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + p21_entity_instance(p, act); + + do { + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c + EID { PUSH_SYMBOL(T_EID); continue; } + ENDSEC { PUSH_SYMBOL(T_ENDSEC); continue; } */ + } + if (!LOOKAHEAD(in->sym[0], T_EID)) + break; + p21_entity_instance(p, act); + } while (1); + + if (p->error) + goto err; + + /* user action */ + if (act->entity_instance_list_cb) + act->entity_instance_list_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_LIST}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "entity_instance_list << 7 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, T_ENDSEC); +} + +void p21_parameter_list(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + p21_parameter(p, act); + + do { + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c + [,)] { PUSH_SYMBOL(*in->sp); continue; } */ + } + if (LOOKAHEAD(in->sym[0], ')')) + break; + + PUSH_TERMINAL(p->stack, lpop(in, ',')); + p21_parameter(p, act); + } while (1); + + if (p->error) + goto err; + + /* user action */ + if (act->parameter_list_cb) + act->parameter_list_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_LIST}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "parameter_list << 8 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, ')', ';'); +} + +void p21_entity_instance(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + /* set EID as basemrk to prevent fill() recycling the buffer before user action */ + assert(in->nsym == 1); + in->basemrk += in->sym[0].offset; + in->sym[0].offset = 0; + + while (in->nsym < 3) { + in->sp = in->cur; + /*!use:re2c + KEYWORD { PUSH_SYMBOL(T_KEYWORD); continue; } + [(=] { PUSH_SYMBOL(*in->sp); continue; } */ + } + if (!LOOKAHEAD(in->sym[0], T_EID) || !LOOKAHEAD(in->sym[1], '=')) + goto err; + + if (LOOKAHEAD(in->sym[2], T_KEYWORD)) { + p21_simple_entity_instance(p, act); + } else if (LOOKAHEAD(in->sym[2], '(')) { + p21_complex_entity_instance(p, act); + } + + if (p->error) + goto err; + + /* user action */ + if (act->entity_instance_cb) + act->entity_instance_cb(p, bsp, act->userdata); + + /* no default reduction */ + + return; + +err: + report_error(p, "entity_instance << 9 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, T_ENDSEC, T_EID); +} + +void p21_simple_entity_instance(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + PUSH_TERMINAL(p->stack, lpop(in, T_EID)); + PUSH_TERMINAL(p->stack, lpop(in, '=')); + + p21_simple_record(p, act); + + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c + ";" { PUSH_SYMBOL(';'); continue; } */ + } + PUSH_TERMINAL(p->stack, lpop(in, ';')); + + if (p->error) + goto err; + + /* user action */ + if (act->simple_entity_instance_cb) + act->simple_entity_instance_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_SIMPLEENTITY}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "simple_entity_instance << 10 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_SIMPLEENTITY); + else default_error_handler(p, bsp, P_SIMPLEENTITY); + recover(in, T_ENDSEC, T_EID); +} + + +void p21_complex_entity_instance(P21Parser *p, P21ParserActions *act) { + size_t n, c; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + PUSH_TERMINAL(p->stack, lpop(in, T_EID)); + PUSH_TERMINAL(p->stack, lpop(in, '=')); + PUSH_TERMINAL_EXT(c, p->stack, lpop(in, '(')); + + p21_simple_record_list(p, act); + + while (in->nsym < 2) { + in->sp = in->cur; + /*!use:re2c + ";" { PUSH_SYMBOL(';'); continue; } */ + } + + PUSH_TERMINAL_EXT(c, p->stack, lpop(in, ')')); + PUSH_TERMINAL(p->stack, lpop(in, ';')); + + if (p->error) + goto err; + + /* user action */ + if (act->complex_entity_instance_cb) + act->complex_entity_instance_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_COMPLEXENTITY}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "complex_entity_instance << 11 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_COMPLEXENTITY); + else default_error_handler(p, bsp, P_COMPLEXENTITY); + recover(in, T_ENDSEC, T_EID); +} + +void p21_simple_record(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + while (in->nsym < 3) { + in->sp = in->cur; + /*!use:re2c + KEYWORD { PUSH_SYMBOL(T_KEYWORD); continue; } + REAL { PUSH_SYMBOL(T_VARIANT, V_REAL); continue; } + INTEGER { PUSH_SYMBOL(T_VARIANT, V_INTEGER); continue; } + STRING { PUSH_SYMBOL(T_VARIANT, V_STRING); continue; } + BINARY { PUSH_SYMBOL(T_VARIANT, V_BINARY); continue; } + ENUMERATION { PUSH_SYMBOL(T_VARIANT, V_ENUMERATION); continue; } + EID { PUSH_SYMBOL(T_VARIANT, V_EID); continue; } + "*" { PUSH_SYMBOL(T_VARIANT, V_DERIVED); continue; } + "$" { PUSH_SYMBOL(T_VARIANT, V_EMPTY); continue; } + [()] { PUSH_SYMBOL(*in->sp); continue; } */ + } + + PUSH_TERMINAL(p->stack, lpop(in, T_KEYWORD)); + PUSH_TERMINAL_EXT(n, p->stack, lpop(in, '(')); + + if (LOOKAHEAD(in->sym[0], '(', T_KEYWORD, T_VARIANT)) + p21_parameter_list(p, act); + + PUSH_TERMINAL_EXT(n, p->stack, lpop(in, ')')); + + if (p->error) + goto err; + + /* user action */ + if (act->simple_record_cb) + act->simple_record_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_SIMPLERECORD}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "simple_record << 12 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_SIMPLERECORD); + else default_error_handler(p, bsp, P_SIMPLERECORD); + recover(in, ';', ')', T_KEYWORD); +} + +void p21_simple_record_list(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + p21_simple_record(p, act); + + do { + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c + KEYWORD { PUSH_SYMBOL(T_KEYWORD); continue; } + ")" { PUSH_SYMBOL(')'); continue; } */ + } + if (!LOOKAHEAD(in->sym[0], T_KEYWORD)) + break; + p21_simple_record(p, act); + } while (1); + + if (p->error) + goto err; + + /* user action */ + if (act->simple_record_list_cb) + act->simple_record_list_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_LIST}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "simple_record_list << 13 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_LIST); + else default_error_handler(p, bsp, P_LIST); + recover(in, ')', ';'); +} + +void p21_parameter(P21Parser *p, P21ParserActions *act) { + size_t n; + uint32_t bsp = p->stack->idx_top; + Input *in = p->in; + + while (in->nsym < 2) { + in->sp = in->cur; + /*!use:re2c re2c:labelprefix='yya'; + KEYWORD { PUSH_SYMBOL(T_KEYWORD); continue; } + REAL { PUSH_SYMBOL(T_VARIANT, V_REAL); continue; } + INTEGER { PUSH_SYMBOL(T_VARIANT, V_INTEGER); continue; } + STRING { PUSH_SYMBOL(T_VARIANT, V_STRING); continue; } + BINARY { PUSH_SYMBOL(T_VARIANT, V_BINARY); continue; } + ENUMERATION { PUSH_SYMBOL(T_VARIANT, V_ENUMERATION); continue; } + EID { PUSH_SYMBOL(T_VARIANT, V_EID); continue; } + "*" { PUSH_SYMBOL(T_VARIANT, V_DERIVED); continue; } + "$" { PUSH_SYMBOL(T_VARIANT, V_EMPTY); continue; } + [(),] { PUSH_SYMBOL(*in->sp); continue; } */ + } + + if (LOOKAHEAD(in->sym[0], T_VARIANT)) { + PUSH_TERMINAL(p->stack, lpop(in, T_VARIANT)); + } else { + if (LOOKAHEAD(in->sym[0], T_KEYWORD)) { + PUSH_TERMINAL(p->stack, lpop(in, T_KEYWORD)); + PUSH_TERMINAL(p->stack, lpop(in, '(')); + p21_parameter(p, act); + } else { + PUSH_TERMINAL(p->stack, lpop(in, '(')); + if (LOOKAHEAD(in->sym[0], '(', T_KEYWORD, T_VARIANT)) { + p21_parameter_list(p, act); + } + } + while (in->nsym < 1) { + in->sp = in->cur; + /*!use:re2c re2c:labelprefix='yyb'; + ")" { PUSH_SYMBOL(')'); continue; } */ + } + PUSH_TERMINAL(p->stack, lpop(in, ')')); + } + + if (p->error) + goto err; + + /* user action */ + if (act->parameter_cb) + act->parameter_cb(p, bsp, act->userdata); + + /* reduction */ + if (!p->hold) { + p->stack->items[bsp] = (Symbol){P_PARAMETER}; + drop(p->stack, p->stack->idx_top - bsp - 1); + } + + return; + +err: + report_error(p, "parameter << 14 >>\n"); + if (act->error_cb) act->error_cb(p, bsp, P_PARAMETER); + else default_error_handler(p, bsp, P_PARAMETER); + recover(in, ')', ',', ';'); +} + +void mock_error(P21Parser *, int, uint8_t); +void mock_ud_init(void *); +void mock_ud_exit(void *); +void mock_exchange_file(P21Parser *, int, void *); +void mock_header_start(P21Parser *, int, void *); +void mock_header_entity_list(P21Parser *, int, void *); +void mock_data_section_list(P21Parser *, int, void *); +void mock_data_start(P21Parser *, int, void *); +void mock_header_entity(P21Parser *, int, void *); +void mock_simple_entity_instance(P21Parser *, int, void *); +void mock_complex_entity_instance(P21Parser *, int, void *); +void mock_parameter_list(P21Parser *, int, void *); +void mock_parameter(P21Parser *, int, void *); +void mock_entity_instance_list(P21Parser *, int, void *); +void mock_entity_instance(P21Parser *, int, void *); +void mock_simple_record_list(P21Parser *, int, void *); +void mock_simple_record(P21Parser *, int, void *); +void mock_noop(P21Parser *, int, void *); + +typedef struct { + sqlite3 *db; + sqlite3_stmt *sec_stmt; + sqlite3_stmt *sei_stmt; + sqlite3_stmt *cei_stmt; + sqlite3_stmt *hei_stmt; + int section_idx; +} P21UserData; + +P21UserData mockdata = {0}; + +P21ParserActions mockact = { + .userdata = &mockdata, + .error_cb = mock_error, + .ud_init_cb = mock_ud_init, + .ud_exit_cb = mock_ud_exit, + .header_start_cb = mock_header_start, + .data_start_cb = mock_data_start, + .exchange_file_cb = NULL, + .header_entity_list_cb = NULL, + .data_section_list_cb = NULL, + .header_entity_cb = mock_header_entity, + .simple_entity_instance_cb = mock_simple_entity_instance, + .complex_entity_instance_cb = mock_complex_entity_instance, + .parameter_list_cb = mock_noop, + .parameter_cb = mock_noop, + .entity_instance_list_cb = NULL, + .entity_instance_cb = NULL, + .simple_record_list_cb = mock_noop, + .simple_record_cb = mock_noop +}; + +void mock_error(P21Parser *p, int bsp, uint8_t cxt) { + switch (cxt) { + case P_SIMPLEENTITY: + case P_COMPLEXENTITY: + case P_HEADERENTITY: + dprintf("caught error: '%c'\n", cxt); + p->error = false; + drop(p->stack, p->stack->idx_top - bsp - 1); + break; + default: + p->error = true; + break; + } +} + + +void mock_ud_init(void *d) { + P21UserData *ud = d; + char ddl_sql[] = + "PRAGMA foreign_keys = ON;\n" + "CREATE TABLE entity_enum (type TEXT(1) PRIMARY KEY);\n" + "INSERT INTO entity_enum (type) VALUES ('S'), ('C');\n" + "CREATE TABLE section_enum (type TEXT(1) PRIMARY KEY);\n" + "INSERT INTO section_enum (type) VALUES ('D'), ('H');\n" + + "CREATE TABLE section_table (\n" + " id INTEGER PRIMARY KEY,\n" + " lineno INTEGER NOT NULL,\n" + " section_type TEXT(1) NOT NULL REFERENCES section_enum(type)\n" + ");\n" + + "CREATE TABLE section_headers (\n" + " id INTEGER PRIMARY KEY,\n" + " type_name TEXT COLLATE NOCASE,\n" + " raw_data TEXT NOT NULL,\n" + " lineno INTEGER NOT NULL,\n" + " fk_section INTEGER NOT NULL REFERENCES section_table(id)\n" + ");\n" + + "CREATE TABLE data_table (\n" + " id TEXT PRIMARY KEY,\n" + " type_name TEXT COLLATE NOCASE,\n" + " raw_data TEXT NOT NULL,\n" + " lineno INTEGER NOT NULL,\n" + " entity_type TEXT(1) NOT NULL REFERENCES entity_enum(type),\n" + " fk_section INTEGER NOT NULL REFERENCES section_table(id)\n" + ") WITHOUT ROWID;\n" + + "BEGIN DEFERRED TRANSACTION;"; + + char sei_sql[] = "INSERT INTO data_table VALUES (?,?,?,?,'S',?)"; + char cei_sql[] = "INSERT INTO data_table VALUES (?,NULL,?,?,'C',?)"; + char hei_sql[] = "INSERT INTO section_headers(type_name, raw_data, lineno, fk_section) VALUES (?, ?, ?, ?)"; + int rc; + + rc = sqlite3_open_v2(":memory:", &ud->db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); + + /* TODO: read ddl sql from external file */ + rc = sqlite3_exec(ud->db, ddl_sql, NULL, NULL, NULL); + + rc |= sqlite3_prepare_v3(ud->db, sei_sql, sizeof sei_sql, SQLITE_PREPARE_PERSISTENT, &ud->sei_stmt, NULL); + rc |= sqlite3_prepare_v3(ud->db, cei_sql, sizeof cei_sql, SQLITE_PREPARE_PERSISTENT, &ud->cei_stmt, NULL); + rc |= sqlite3_prepare_v3(ud->db, hei_sql, sizeof hei_sql, SQLITE_PREPARE_PERSISTENT, &ud->hei_stmt, NULL); + + if (rc != SQLITE_OK) + exit(1); + + ud->section_idx = 0; +} + +void mock_ud_exit(void *d) { + P21UserData *ud = d; + int rc; + char ddl_sql[] = + "CREATE INDEX ix_type_name ON data_table(type_name);\n" + "CREATE INDEX ix_entity_type ON data_table(entity_type);\n" + "CREATE INDEX ix_fk_section ON data_table(fk_section);"; + + rc = sqlite3_finalize(ud->sei_stmt); + rc |= sqlite3_finalize(ud->cei_stmt); + rc |= sqlite3_finalize(ud->hei_stmt); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_exec(ud->db, "COMMIT TRANSACTION", NULL, NULL, NULL); + if (rc != SQLITE_OK) goto err; + + /* TODO: benchmark index creation here vs on db init */ + rc = sqlite3_exec(ud->db, ddl_sql, NULL, NULL, NULL); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_close(ud->db); + if (rc != SQLITE_OK) goto err; + + return; +err: + dprintf("db error\n"); + exit(1); +} + +void mock_exchange_file(P21Parser *p, int bsp, void *d) { Stack *s = p->stack; } +void mock_header_start(P21Parser *p, int bsp, void *d) { + char sec_sql[] = "INSERT INTO section_table VALUES(?,?,'H')"; + Stack *s = p->stack; + P21UserData *ud = d; + Symbol *t = s->items + bsp; + sqlite3_stmt *stmt; + int rc; + + rc = sqlite3_prepare_v2(ud->db, sec_sql, sizeof sec_sql, &stmt, NULL); + if (rc != SQLITE_OK) goto err; + + rc |= sqlite3_bind_int(stmt, 1, ++ud->section_idx); + rc |= sqlite3_bind_int(stmt, 2, t->lineno); + if (rc != SQLITE_OK) goto err; + + rc |= sqlite3_step(stmt); + if (rc != SQLITE_DONE) goto err; + + sqlite3_finalize(stmt); + + /* + s->items[bsp] = (Symbol){P_HEADERSECTION}; + drop(s, s->idx_top - bsp - 1); + */ + + return; + +err: + dprintf("db error\n"); + exit(1); +} +void mock_header_entity_list(P21Parser *p, int bsp, void *d) { Stack *s = p->stack; } +void mock_data_section_list(P21Parser *p, int bsp, void *d) { Stack *s = p->stack; } +void mock_data_start(P21Parser *p, int bsp, void *d) { + char sec_sql[] = "INSERT INTO section_table VALUES(?,?,'D')"; + Stack *s = p->stack; + P21UserData *ud = d; + Symbol *t = s->items + bsp; + sqlite3_stmt *stmt; + int rc; + + rc = sqlite3_prepare_v2(ud->db, sec_sql, sizeof sec_sql, &stmt, NULL); + if (rc != SQLITE_OK) goto err; + + rc |= sqlite3_bind_int(stmt, 1, ++ud->section_idx); + rc |= sqlite3_bind_int(stmt, 2, t->lineno); + if (rc != SQLITE_OK) goto err; + + rc |= sqlite3_step(stmt); + if (rc!= SQLITE_DONE) goto err; + + sqlite3_finalize(stmt); + + return; + +err: + dprintf("db error\n"); + exit(1); +} + +void mock_header_entity(P21Parser *p, int bsp, void *d) { + Stack *s = p->stack; + P21UserData *ud = d; + HeaderEntity e = {s->items + bsp, s->items + bsp + 1}; + size_t i, nargs = e.args->n; + unsigned char *basemrk = p->in->basemrk; + ptrdiff_t ep; + int rc; + + /* rewrite (normalise) args member before bind */ + e.args->offset = (e.args + 1)->offset; + e.args->n = (e.args + 1)->n; + for (i = 2, ep = e.args->offset + 1; i < nargs; i++) { + Symbol *t = e.args + i; + if (t->token == '(') t->n = 1; + if (ep != t->offset) memmove(basemrk + ep, basemrk + t->offset, t->n); + ep += t->n; + } + e.args->n = ep - e.args->offset; + + rc = sqlite3_reset(ud->hei_stmt); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_bind_text(ud->hei_stmt, 1, basemrk + e.kw->offset, e.kw->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_text(ud->hei_stmt, 2, basemrk + e.args->offset, e.args->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_int(ud->hei_stmt, 3, e.kw->lineno); + rc |= sqlite3_bind_int(ud->hei_stmt, 4, ud->section_idx); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_step(ud->hei_stmt); + if (rc != SQLITE_DONE) goto err; + + p->hold = false; + return; + +err: + mock_error(p, bsp, P_HEADERENTITY); + dprintf("db error\n"); +} + +void mock_simple_entity_instance(P21Parser *p, int bsp, void *d) { + Stack *s = p->stack; + P21UserData *ud = d; + SimpleEntity e = {s->items + bsp, s->items + bsp + 1, s->items + bsp + 2, s->items + bsp + 3}; + size_t i, nargs = e.args->n; + unsigned char *basemrk = p->in->basemrk; + ptrdiff_t ep; + int rc; + + /* rewrite (normalise) args before bind */ + e.args->offset = (e.args + 1)->offset; + e.args->n = (e.args + 1)->n; + for (i = 2, ep = e.args->offset + e.args->n; i < nargs; i++) { + Symbol *t = e.args + i; + if (t->token == '(') t->n = 1; + if (ep != t->offset) memmove(basemrk + ep, basemrk + t->offset, t->n); + ep += t->n; + } + e.args->n = ep - e.args->offset; + + /* */ + rc = sqlite3_reset(ud->sei_stmt); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_bind_text(ud->sei_stmt, 1, basemrk + e.eid->offset, e.eid->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_text(ud->sei_stmt, 2, basemrk + e.kw->offset, e.kw->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_text(ud->sei_stmt, 3, basemrk + e.args->offset, e.args->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_int(ud->sei_stmt, 4, e.eid->lineno); + rc |= sqlite3_bind_int(ud->sei_stmt, 5, ud->section_idx); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_step(ud->sei_stmt); + if (rc != SQLITE_DONE) goto err; + + p->hold = false; + + return; + +err: + mock_error(p, bsp, P_SIMPLEENTITY); + dprintf("db error\n"); +} + + +void mock_complex_entity_instance(P21Parser *p, int bsp, void *d) { + Stack *s = p->stack; + P21UserData *ud = d; + ComplexEntity e = {s->items + bsp, s->items + bsp + 1, s->items + bsp + 2}; + size_t i, nsubsupers = e.subsupers->n; + unsigned char *basemrk = p->in->basemrk; + ptrdiff_t ep; + int rc; + + /* rewrite (normalise) list before bind */ + for (i = 1, ep = e.subsupers->offset + 1; i < nsubsupers; i++) { + Symbol *t = e.subsupers + i; + if (t->token == '(') t->n = 1; + if (ep != t->offset) memmove(basemrk + ep, basemrk + t->offset, t->n); + ep += t->n; + } + e.subsupers->n = ep - e.subsupers->offset; + + rc = sqlite3_reset(ud->cei_stmt); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_bind_text(ud->cei_stmt, 1, basemrk + e.eid->offset, e.eid->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_text(ud->cei_stmt, 2, basemrk + e.subsupers->offset, e.subsupers->n, SQLITE_TRANSIENT); + rc |= sqlite3_bind_int(ud->cei_stmt, 3, e.eid->lineno); + rc |= sqlite3_bind_int(ud->cei_stmt, 4, ud->section_idx); + if (rc != SQLITE_OK) goto err; + + rc = sqlite3_step(ud->cei_stmt); + if (rc != SQLITE_DONE) goto err; + + p->hold = false; + return; + +err: + mock_error(p, bsp, P_COMPLEXENTITY); + dprintf("db error \n"); +} + +void mock_parameter_list(P21Parser *p, int bsp, void *d) { } +void mock_parameter(P21Parser *p, int bsp, void *d) { } +void mock_entity_instance_list(P21Parser *p, int bsp, void *d) { } +void mock_entity_instance(P21Parser *p, int bsp, void *d) { } +void mock_simple_record_list(P21Parser *p, int bsp, void *d) { } +void mock_simple_record(P21Parser *p, int bsp, void *d) {} + +void mock_noop(P21Parser *p, int bsp, void *d) { + p->hold = true; +} + +int main(char *argv[], int argc) { + const char *paths[] = { + "/home/chorler/projects/src/stepcode/test/p21/test_array_bounds_FAIL1.p21", + "/home/chorler/projects/src/stepcode/test/p21/comments.p21", + "/home/chorler/projects/src/stepcode/test/p21/test_inverse_attr.p21", + "/home/chorler/projects/src/stepcode/test/p21/missing_and_required.p21", + "/home/chorler/projects/src/stepcode/test/p21/test_array_bounds.p21", + "/home/chorler/projects/src/stepcode/test/p21/test_inherit_inverse.p21", + "/home/chorler/projects/src/stepcode/data/ap214e3/as1-oc-214.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/dm1-id-214.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/MAINBODY.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/HEAD_BACK.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/HEAD_FRONT.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/TAIL.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/MAINBODY_FRONT.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/FOOT_BACK_000.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/FOOT_FRONT_000.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/s1-c5-214.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/MAINBODY_BACK.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/HEAD.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/TAIL_TURBINE.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/TAIL_MIDDLE_PART.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/s1-c5-214/FOOT.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/sg1-c5-214.stp", + "/home/chorler/projects/src/stepcode/data/ap214e3/io1-cm-214.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS7-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS1Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS2-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS1Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS3-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS10Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS2Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS8-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS3Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS4Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS7Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS4Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS10Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS3Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS8Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS4-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS7Mod0-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS2Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS8Mod0-outresult.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS10-out.stp", + "/home/chorler/projects/src/stepcode/data/ap209/ATS1-out.stp" + }; + + P21Parser myp; + P21UserData mydata; + FILE *fp; + memset(&mydata, 0, sizeof mydata); + + for (unsigned int i = 0; i < (sizeof paths / sizeof paths[0]); i++) { + fp = fopen(paths[i], "rb"); + if (!fp) { fprintf(stderr, "failed to read input: %s\n", paths[i]); continue; } + else { fprintf(stderr, "processing: %s\n", paths[i]); } + p21_init(&myp, fp); + p21_parse(&myp, &mockact); + } +} diff --git a/src/exp2python/python/stepcode/cPart21.py b/src/exp2python/python/stepcode/cPart21.py new file mode 100644 index 000000000..6e4b9a697 --- /dev/null +++ b/src/exp2python/python/stepcode/cPart21.py @@ -0,0 +1,586 @@ +# +# STEP Part 21 Parser +# +# Copyright (c) 2020, Christopher HORLER (cshorler@googlemail.com) +# +# All rights reserved. +# +# This file is part of the STEPCODE project. +# +# 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. +# +# Neither the name of the nor the names of its contributors may +# 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. + +import logging +import os.path, sqlite3, datetime, tempfile + +import re +import ply.lex as lex +import ply.yacc as yacc +from ply.lex import LexError, TOKEN + +logger = logging.getLogger(__name__) +#logger.addHandler(logging.NullHandler()) + +# assemble catchall regexp +p21_real = r'(?:[+-]*[0-9][0-9]*\.[0-9]*(?:E[+-]*[0-9][0-9]*)?)' +p21_integer = r'(?:[+-]*[0-9][0-9]*)' +p21_string = r"""(?x)(?:' + (?: + # basic string + [][!"*$%&.#+,\-()?/:;<=>@{}|^`~0-9a-zA-Z_ ]|''|\\\\| + # \P\A, \P\B, ... --> iso8859-1, iso8859-2,... applicable to following \S\c directives + \\P[A-I]\\| + # page control directive \S\c + \\S\\[][!"'*$%&.#+,\-()?/:;<=>@{}|^`~0-9a-zA-Z_\\ ]| + # hex string encodings + \\X2\\(?:[0-9A-F]{4})+\\X0\\|\\X4\\(?:[0-9A-F]{8})+\\X0\\| + # hex byte encoding + \\X\\[0-9A-F]{2} + )* +')""" +p21_binary = r'(?:"[0-3][0-9A-F]*")' +p21_enumeration = r'(?:\.[A-Z_][A-Z0-9_]*\.)' +p21_keyword = r'(?:!|)[A-Za-z_][0-9A-Za-z_]*' +p21_eid = r'\#[0-9]+' + +_catchall_types = [p21_real, p21_integer, p21_string, p21_binary, p21_enumeration, + p21_keyword, p21_eid] + +groups_re = re.compile(r"(?P\()|(?P\#[0-9]+)|(?P\))|(?P')") +p21_string_re = re.compile(p21_string) + +def _mkgroups(s): + """used to populate the xref database table""" + stack_idx = 0 + stack_depth = 2 + stack = [set(), set()] + + cp = 0 + while True: + m = groups_re.search(s, cp) + if not m: break + + if m.group('eid'): + stack[stack_idx].add(m.group()) + elif m.group('lparens'): + stack_idx += 1 + if stack_idx == len(stack): + stack_depth += 2 + stack.extend((set(), set())) + elif m.group('rparens'): + stack_idx -= 1 + else: + m = p21_string_re.match(s, m.start()) + + cp = m.end() + + groups = [] + if any(stack): + _stack = filter(bool, stack) + # expand the first level + stack = tuple((x,) for x in next(_stack)) + tuple(_stack) + groups = list(enumerate(stack, 1)) + + return groups + + +base_tokens = ['PART21_START', 'PART21_END', 'HEADER', 'DATA', 'ENDSEC', + 'INTEGER', 'REAL', 'KEYWORD', 'STRING', 'BINARY', 'ENUMERATION', + 'EID', 'RAW'] + +#################################################################################################### +# Lexer +#################################################################################################### +class Lexer(object): + tokens = list(base_tokens) + literals = '()=;,*$' + + states = (('slurp', 'exclusive'), + ('header', 'exclusive'), + ('data', 'exclusive'), + ('raw', 'exclusive'), + ('params', 'exclusive')) + + def __init__(self, debug=False, optimize=False, header_limit=4096): + self.base_tokens = list(base_tokens) + self.schema_dict = {} + self.active_schema = {} + self.header_limit = header_limit + self.lexer = lex.lex(module=self, debug=debug, optimize=optimize, lextab='cl21tab', + debuglog=logger, errorlog=logger) + self.reset() + + def __getattr__(self, name): + if name == 'lineno': + return self.lexer.lineno + elif name == 'lexpos': + return self.lexer.lexpos + else: + raise AttributeError + + def input(self, s): + self.lexer.input(s) + + def reset(self): + self.lexer.lineno = 1 + self.lexer.lvl = 0 + self.lexer.begin('slurp') + + def token(self): + return self.lexer.token() + + def activate_schema(self, schema_name): + if schema_name in self.schema_dict: + self.active_schema = self.schema_dict[schema_name] + else: + raise ValueError('schema not registered') + + def register_schema(self, schema_name, entities): + if schema_name in self.schema_dict: + raise ValueError('schema already registered') + + for k in entities: + if k in self.base_tokens: raise ValueError('schema cannot override base_tokens') + + if isinstance(entities, list): + entities = dict((k, k) for k in entities) + + self.schema_dict[schema_name] = entities + + def t_slurp_error(self, t): + m = re.search(r'(?P/\*)|(ISO-10303-21;)', t.value[:self.header_limit]) + if m: + if m.group('comment'): + t.lexer.skip(m.start()) + else: + t.type = 'PART21_START' + t.value = m.group() + t.lexpos += m.start() + t.lineno += t.value[:m.start()].count('\n') + t.lexer.lexpos += m.end() + t.lexer.begin('INITIAL') + return t + elif len(t.value) < self.header_limit: + t.lexer.skip(len(t.value)) + else: + raise LexError("Scanning error. try increasing lexer header_limit parameter", + "{0}...".format(t.value[0:20])) + + def t_error(self, t): + raise LexError("Scanning error, invalid input", "{0}...".format(t.value[0:20])) + + def t_ANY_COMMENT(self, t): + r'/\*(?:.|\n)*?\*/' + t.lexer.lineno += t.value.count('\n') + + + def t_PART21_END(self, t): + r'END-ISO-10303-21;' + self.lexer.lvl = 0 + self.lexer.begin('slurp') + return t + def t_HEADER(self, t): + r'HEADER;' + t.lexer.push_state('header') + return t + def t_header_data_ENDSEC(self, t): + r'ENDSEC;' + t.lexer.pop_state() + return t + def t_DATA(self, t): + r'DATA\b' + t.lexer.in_header = True + t.lexer.push_state('data') + return t + + + @TOKEN(p21_keyword) + def t_header_KEYWORD(self, t): + return t + def t_header_lparens(self, t): + r'\(' + t.lexer.lexpos -= 1 + t.lexer.push_state('params') + def t_header_rparens(self, t): + r'\)' + t.type = ')' + t.lexer.pop_state() + return t + + + def t_data_lparens(self, t): + r'\(' + if t.lexer.in_header: + t.type = '(' + t.lexer.push_state('header') + else: + t.type = 'RAW' + t.lexer.push_state('raw') + return t + def t_data_header_end(self, t): + r';' + t.type = ';' + t.lexer.in_header = False + return t + @TOKEN(p21_eid) + def t_data_EID(self, t): + return t + @TOKEN(p21_keyword) + def t_data_KEYWORD(self, t): + t.lexer.push_state('raw') + return t + + + def t_params_lparens(self, t): + r'\(' + t.type = 'RAW' + t.lexer.lvl += 1 + return t + def t_params_rparens(self, t): + r'\)' + t.type = 'RAW' + t.lexer.lvl -= 1 + if t.lexer.lvl == 0: + t.lexer.pop_state() + return t + @TOKEN('(?:' + '|'.join(_catchall_types) + r'|(?:[,*$]))+') + def t_params_RAW(self, t): + return t + + + def t_raw_end(self, t): + r';' + t.lexer.pop_state() + t.type = ';' + return t + @TOKEN('(?:' + '|'.join(_catchall_types) + r'|(?:[(),*$]))+') + def t_raw_RAW(self, t): + return t + + + def t_ANY_newline(self, t): + r'\n+' + t.lexer.lineno += len(t.value) + t_ANY_ignore = ' \t\r' + + +#################################################################################################### +# Parser +#################################################################################################### +class Parser(object): + tokens = list(base_tokens) + + def __init__(self, lexer=None, debug=False, tabmodule=None, start=None, optimize=False, + tempdb=False): + # defaults + start_tabs = {'exchange_file': 'cp21tab', 'extract_header': 'cp21hdrtab'} + if start and tabmodule: start_tabs[start] = tabmodule + if not start: start = 'exchange_file' + if start not in start_tabs: raise ValueError('please pass (dedicated) tabmodule') + + self.tempdb = tempdb + self.lexer = lexer if lexer else Lexer() + self.parser = yacc.yacc(debug=debug, module=self, tabmodule=start_tabs[start], start=start, + optimize=optimize, debuglog=logger, errorlog=logger) + + def parse(self, p21_data, db_path=None, **kwargs): + #TODO: will probably need to change this function if the lexer is ever to support t_eof + self.reset(self.tempdb, db_path) + self.lexer.input(p21_data) + + if 'debug' in kwargs: + result = self.parser.parse(lexer=self.lexer, debug=logger, + ** dict((k, v) for k, v in kwargs.items() if k != 'debug')) + else: + result = self.parser.parse(lexer=self.lexer, **kwargs) + return result + + def reset(self, tempdb=None, db_path=None): + self.lexer.reset() + self.initdb(tempdb, db_path) + + def closedb(self): + try: + self.db_cxn.commit() + self.db_cxn.close() + except AttributeError: + pass + + def initdb(self, tempdb, db_path=None): + if tempdb and not db_path: + tm = datetime.datetime.utcnow().isoformat(timespec='seconds').replace(':','-') + db_path = os.path.join(tempfile.mkdtemp(), tm + '_test.db') + elif not db_path: + db_path = ":memory:" + logger.info('db_path: %s', db_path) + self.db_cxn = sqlite3.connect(db_path) + self.db_writer = self.db_cxn.cursor() + self.db_writer.executescript(""" + PRAGMA foreign_keys = ON; + CREATE TABLE entity_enum (type TEXT(1) PRIMARY KEY); + INSERT INTO entity_enum (type) VALUES ('S'), ('C'); + CREATE TABLE section_enum (type TEXT(1) PRIMARY KEY); + INSERT INTO section_enum (type) VALUES ('D'), ('H'); + + CREATE TABLE section_table ( + id INTEGER PRIMARY KEY, + lineno INTEGER NOT NULL, + section_type TEXT(1) NOT NULL REFERENCES section_enum(type) + ); + + CREATE TABLE section_headers ( + id INTEGER PRIMARY KEY, + type_name TEXT COLLATE NOCASE, + raw_data TEXT NOT NULL, + lineno INTEGER NOT NULL, + fk_section INTEGER NOT NULL REFERENCES section_table(id) + ); + + CREATE TABLE data_table ( + id TEXT PRIMARY KEY, + type_name TEXT COLLATE NOCASE, + raw_data TEXT NOT NULL, + lineno INTEGER NOT NULL, + entity_type TEXT(1) NOT NULL REFERENCES entity_enum(type), + fk_section INTEGER NOT NULL REFERENCES section_table(id) + ) WITHOUT ROWID; + + CREATE TABLE data_xref ( + id_from TEXT NOT NULL REFERENCES data_table(id) DEFERRABLE INITIALLY DEFERRED, + id_to TEXT NOT NULL REFERENCES data_table(id), + id_group INTEGER NOT NULL, + PRIMARY KEY (id_from, id_to, id_group) + ) WITHOUT ROWID; + + CREATE INDEX ix_type_name ON data_table(type_name); + CREATE INDEX ix_entity_type ON data_table(entity_type); + CREATE INDEX ix_fk_section ON data_table(fk_section); + CREATE INDEX ix_id_from ON data_xref(id_from); + """) + self.db_cxn.commit() + + def p_exchange_file(self, p): + """exchange_file : PART21_START header_section data_section_list PART21_END""" + self.closedb() + + def p_header_section(self, p): + """header_section : header_start header_entity header_entity header_entity ENDSEC""" + + def p_header_section_with_entity_list(self, p): + """header_section : header_start header_entity header_entity header_entity header_entity_list ENDSEC""" + + def p_header_section_start(self, p): + """header_start : HEADER""" + tmpl = "INSERT INTO section_table(lineno, section_type) VALUES (?,?)" + self.db_writer.execute(tmpl, (p.lineno(1), 'H')) + self.db_writer.execute('SELECT last_insert_rowid();') + (self.sid,) = self.db_writer.fetchone() + + def p_header_entity(self, p): + """header_entity : KEYWORD raw_data ';'""" + tmpl = "INSERT INTO section_headers(type_name, raw_data, lineno, fk_section) VALUES (?, ?, ?, ?)" + self.db_writer.execute(tmpl, (p[1], p[2], p.lineno(1), self.sid)) + + def p_header_entity_list_init(self, p): + """header_entity_list : header_entity""" + + def p_header_entity_list(self, p): + """header_entity_list : header_entity_list header_entity""" + + def p_data_section(self, p): + """data_section : data_start entity_instance_list ENDSEC""" + + def p_data_start(self, p): + """data_start : DATA '(' parameter_list ')' ';'""" + tmpl = "INSERT INTO section_table(lineno, section_type) VALUES (?,?)" + lineno = p.lineno(1) + self.db_writer.execute(tmpl, (lineno, 'D')) + self.db_writer.execute('SELECT last_insert_rowid();') + (self.sid,) = self.db_writer.fetchone() + tmpl = "INSERT INTO section_headers(type_name, raw_data, lineno, fk_section) VALUES (?, ?, ?, ?)" + self.db_writer.executemany(tmpl, [(t, x, lineno, self.sid) for t, x in p[3]]) + + def p_data_start_empty(self, p): + """data_start : DATA '(' ')' ';' + | DATA ';'""" + tmpl = "INSERT INTO section_table(lineno, section_type) VALUES (?,?)" + self.db_writer.execute(tmpl, (p.lineno(1), 'D')) + self.db_writer.execute('SELECT last_insert_rowid();') + (self.sid,) = self.db_writer.fetchone() + + def p_data_section_list_init(self, p): + """data_section_list : data_section""" + + def p_data_section_list(self, p): + """data_section_list : data_section_list data_section""" + + def p_entity_instance_list_init(self, p): + """entity_instance_list : entity_instance""" + + def p_entity_instance_list(self, p): + """entity_instance_list : entity_instance_list entity_instance""" + + def p_entity_instance(self, p): + """entity_instance : simple_entity_instance + | complex_entity_instance""" + + def p_entity_instance_error(self, p): + """entity_instance : EID '=' error ';'""" + logger.error('resyncing parser, check input between lineno %d and %d', p.lineno(2), p.lineno(4)) + + def p_simple_entity_instance(self, p): + """simple_entity_instance : EID '=' KEYWORD raw_data ';'""" + eid = p[1] + tmpl = "INSERT INTO data_table VALUES (?,?,?,?,?,?)" + self.db_writer.execute(tmpl, (p[1], p[3], p[4][1:-1], p.lineno(1), 'S', self.sid)) + tmpl = "INSERT INTO data_xref(id_from, id_to, id_group) VALUES (?, ?, ?)" + xrefs = [(rid, eid, n) for n, x in _mkgroups(p[4]) for rid in x] + self.db_writer.executemany(tmpl, xrefs) + + def p_complex_entity_instance(self, p): + """complex_entity_instance : EID '=' raw_data ';'""" + eid = p[1] + tmpl = "INSERT INTO data_table VALUES (?,NULL,?,?,?,?)" + self.db_writer.execute(tmpl, (p[1], p[3], p.lineno(1), 'C', self.sid)) + tmpl = "INSERT INTO data_xref(id_from, id_to, id_group) VALUES (?, ?, ?)" + xrefs = [(rid, eid, n) for n, x in _mkgroups(p[3]) for rid in x] + self.db_writer.executemany(tmpl, xrefs) + + def p_parameter_list_init(self, p): + """parameter_list : parameter""" + p[0] = [p[1],] + + def p_parameter_list(self, p): + """parameter_list : parameter_list ',' parameter""" + p[0] = p[1] + p[0].append(p[3]) + + def p_typed_parameter(self, p): + """parameter : KEYWORD raw_data""" + p[0] = (p[1], p[2]) + + def p_other_parameter(self, p): + """parameter : raw_data""" + p[0] = (None, p[1]) + + def p_raw_concat(self, p): + """raw_data : raw_data RAW + | RAW""" + try: p[0] = p[1] + p[2] + except IndexError: p[0] = p[1] + + +def debug_lexer(): + import codecs + from os.path import normpath, expanduser + + logging.basicConfig() + logger.setLevel(logging.DEBUG) + + lexer = Lexer(debug=True) + + p = normpath(expanduser('~/projects/src/stepcode/data/ap214e3/s1-c5-214/s1-c5-214.stp')) + with codecs.open(p, 'r', encoding='iso-8859-1') as f: + s = f.read() + lexer.input(s) + while True: + tok = lexer.token() + if not tok: break + logger.debug(tok) + +def debug_parser(): + import codecs + from os.path import normpath, expanduser + + logging.basicConfig() + logger.setLevel(logging.DEBUG) + + parser = Parser(debug=True, tempdb=True) + + logger.info("***** parser debug *****") + p = normpath(expanduser('~/projects/src/stepcode/data/ap214e3/s1-c5-214/s1-c5-214.stp')) + with codecs.open(p, 'r', encoding='iso-8859-1') as f: + s = f.read() + parser.parse(s, debug=1) + + # test reverse lookup + logger.info('***** testing xrefs *****') + tm = datetime.datetime.utcnow().isoformat(timespec='seconds').replace(':', '-') + db_path = os.path.join(tempfile.mkdtemp(), tm + '_xref_test.db') + + parser = Parser() + + p = normpath(expanduser('~/projects/src/stepcode/data/ap214e3/s1-c5-214/s1-c5-214.stp')) + with codecs.open(p, 'r', encoding='iso-8859-1') as f: + s = f.read() + parser.parse(s, db_path=db_path) + + # contrived use case: we're looking for the objects referencing each of these [set] of items + items = [('#53','#93','#133','#173','#191'), ('#174','#192'), ('#193','#196','#195'), ('#1',)] + tmpl = "SELECT id_to FROM data_xref WHERE id_from IN (%s) GROUP BY id_group, id_to HAVING count(id_to) = ?" + with sqlite3.connect(db_path) as db_cxn: + for grp in items: + db_cursor = db_cxn.execute(tmpl % ','.join('?'*len(grp)), grp + (len(grp),)) + for eid in db_cursor: + logger.info('grp: %s, ref: %r', grp, eid) + + logger.info("***** finished *****") + +def test(): + import os, codecs + from os.path import normpath, expanduser + + logging.basicConfig() + logger.setLevel(logging.INFO) + + lexer = Lexer(optimize=True) + parser = Parser(lexer=lexer, optimize=True) + + def parse_check(p): + logger.info("processing {0}".format(p)) + parser.reset() + with codecs.open(p, 'r', encoding='iso-8859-1') as f: + s = f.read() + parser.parse(s) + + logger.info("***** standard test *****") + stepcode_dir = normpath(os.path.expanduser('~/projects/src/stepcode')) + for d, _, files in os.walk(stepcode_dir): + for f in filter(lambda x: x.endswith('.stp'), files): + p = os.path.join(d, f) + try: + parse_check(p) + except LexError: + logger.exception('Lexer failure: {0}'.format(os.path.basename(p))) + + logger.info("***** finished *****") + + +if __name__ == '__main__': + #debug_lexer() + #debug_parser() + test() + diff --git a/src/fedex_python/python/SCL/essa_par.py b/src/exp2python/python/stepcode/essa_par.py similarity index 81% rename from src/fedex_python/python/SCL/essa_par.py rename to src/exp2python/python/stepcode/essa_par.py index 00f75957f..314a91d4e 100644 --- a/src/fedex_python/python/SCL/essa_par.py +++ b/src/exp2python/python/stepcode/essa_par.py @@ -46,7 +46,7 @@ def process_nested_parent_str2(attr_str,idx=0): current_param = '' k += progress+1 elif ch==')': - #print "Down one level parenthesis: %i caracters parsed"%k + #print "Down one level parenthesis: %i characters parsed"%k params.append(current_param) #print "Current params:",params#k -= acc-2 return params,k @@ -54,21 +54,18 @@ def process_nested_parent_str2(attr_str,idx=0): current_param += ch #print "Ch:",ch #print "k:",k - + #raw_input("") #idx += 1 - + params.append(current_param) return params,k #print process_nested_parent_str2('1,2,3,4,5,6') #idx=0 #print process_nested_parent_str2("'A','B','C'") -print process_nested_parent_str2("'A'")[0] -print process_nested_parent_str2("30.0,0.0,5.0")[0] -print process_nested_parent_str2("(Thomas)")[0] -print process_nested_parent_str2("Thomas, Paviot, ouais")[0] -print process_nested_parent_str2("1,2,(3,4,5),6,7,8")[0] -print process_nested_parent_str2("(#9149,#9166),#9142,.T.")[0] - - - +print(process_nested_parent_str2("'A'")[0]) +print(process_nested_parent_str2("30.0,0.0,5.0")[0]) +print(process_nested_parent_str2("(Thomas)")[0]) +print(process_nested_parent_str2("Thomas, Paviot, ouais")[0]) +print(process_nested_parent_str2("1,2,(3,4,5),6,7,8")[0]) +print(process_nested_parent_str2("(#9149,#9166),#9142,.T.")[0]) diff --git a/src/exp2python/python/stepcode/p21sql.c b/src/exp2python/python/stepcode/p21sql.c new file mode 100644 index 000000000..d13fdf7eb --- /dev/null +++ b/src/exp2python/python/stepcode/p21sql.c @@ -0,0 +1,3512 @@ +/* Generated by re2c 1.0.3 on Mon Apr 6 21:17:12 2020 */ +#line 1 "p21sql.l" +/* +** 2015-08-12 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +****************************************************************************** +** +** This SQLite extension implements P21 functions. The interface is +** modeled after MySQL JSON functions: +** +** https://dev.mysql.com/doc/refman/5.7/en/json.html +** +** For the time being, all P21 params are stored as pure text. +*/ +#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_P21SQL) +#if !defined(SQLITEINT_H) +#include "sqlite3ext.h" +#endif +SQLITE_EXTENSION_INIT1 +#include +#include +#include +#include + +/* Mark a function parameter as unused, to suppress nuisance compiler +** warnings. */ +#ifndef UNUSED_PARAM +# define UNUSED_PARAM(X) (void)(X) +#endif + +#ifndef LARGEST_INT64 +# define LARGEST_INT64 (0xffffffff|(((sqlite3_int64)0x7fffffff)<<32)) +# define SMALLEST_INT64 (((sqlite3_int64)-1) - LARGEST_INT64) +#endif + +/* +** Versions of isspace(), isalnum() and isdigit() to which it is safe +** to pass signed char values. +*/ +#ifdef sqlite3Isdigit + /* Use the SQLite core versions if this routine is part of the + ** SQLite amalgamation */ +# define safe_isdigit(x) sqlite3Isdigit(x) +# define safe_isalnum(x) sqlite3Isalnum(x) +# define safe_isxdigit(x) sqlite3Isxdigit(x) +#else + /* Use the standard library for separate compilation */ +#include /* amalgamator: keep */ +# define safe_isdigit(x) isdigit((unsigned char)(x)) +# define safe_isalnum(x) isalnum((unsigned char)(x)) +# define safe_isxdigit(x) isxdigit((unsigned char)(x)) +#endif + +/* +** Growing our own isspace() routine this way is twice as fast as +** the library isspace() function, resulting in a 7% overall performance +** increase for the parser. (Ubuntu14.10 gcc 4.8.4 x64 with -Os). +*/ +static const char p21IsSpace[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +}; +#define safe_isspace(x) (p21IsSpace[(unsigned char)x]) + +#ifndef SQLITE_AMALGAMATION + /* Unsigned integer types. These are already defined in the sqliteInt.h, + ** but the definitions need to be repeated for separate compilation. */ + typedef sqlite3_uint64 u64; + typedef unsigned int u32; + typedef unsigned short int u16; + typedef unsigned char u8; +#endif + +/* some C implementations don't have these? (inttypes.h / stdint.h) */ +#ifndef UINT16_WIDTH +# define UINT16_WIDTH 16 +#endif +#ifndef UINT16_MAX +# define UINT16_MAX 65535 +#endif + +/* Objects */ +typedef struct P21String P21String; +typedef struct P21Node P21Node; +typedef struct P21Parse P21Parse; + +/* An instance of this object represents a P21 parameter string +** under construction. Really, this is a generic string accumulator +** that can be and is used to create strings other than JSON (here P21!). +*/ +struct P21String { + sqlite3_context *pCtx; /* Function context - put error messages here */ + char *zBuf; /* Append P21 content here */ + u64 nAlloc; /* Bytes of storage available in zBuf[] */ + u64 nUsed; /* Bytes of zBuf[] currently used */ + u8 bStatic; /* True if zBuf is static space */ + u8 bErr; /* True if an error has been encountered */ + char zSpace[100]; /* Initial static space */ +}; + +#define P21_EMPTY 0x1 /* optional attribute not provided : '$' */ +#define P21_DERIVED 0x2 /* derived attribute not provided : '*' */ +#define P21_ENUMERATION 0x3 /* (also) includes boolean and logical values */ +#define P21_INTEGER 0x4 +#define P21_REAL 0x5 +#define P21_STRING 0x6 +#define P21_BINARY 0x7 +#define P21_EID 0x8 /* entity_instance_name */ +#define P21_LIST 0x9 +#define P21_RECORD 0xA /* simple_record */ + +#define P21_SUBTYPE 80 /* Ascii for "P" */ + + +/* +** Names of the various P21 types: +*/ +static const char * const p21Type[] = { + "", + "empty", "derived", "enumeration", "integer", "real", + "string", "binary", "eid", "list", "record" +}; + +/* Bit values for the P21Node.jnFlag field +*/ +#define PNODE_RAW 0x01 /* Content is raw, not P21 encoded */ +#define PNODE_ESCAPE 0x02 /* Content is text with \ escapes */ +#define PNODE_REMOVE 0x04 /* Do not output */ +#define PNODE_REPLACE 0x08 /* Replace with P21Node.u.iReplace */ +#define PNODE_PATCH 0x10 /* Patch with P21Node.u.pPatch */ +#define PNODE_APPEND 0x20 /* More ARRAY/OBJECT entries at u.iAppend */ +#define PNODE_LABEL 0x40 /* Is a label of an object */ + + +/* A single node of parsed P21 params +*/ +struct P21Node { + u8 eType; /* One of the P21_ type values */ + u8 jnFlags; /* P21Node flags */ + u16 n_kw; /* store the KEYWORD length */ + u32 n; /* Bytes of content, or number of sub-nodes */ + union { + const char *zJContent; /* Content for INT, REAL, and STRING */ + u32 iAppend; /* More terms for ARRAY and OBJECT */ + u32 iKey; /* Key for ARRAY objects in p21_tree() */ + u32 iReplace; /* Replacement content for PNODE_REPLACE */ + P21Node *pPatch; /* Node chain of patch for PNODE_PATCH */ + } u; +}; + +/* A completely parsed P21 string +*/ +struct P21Parse { + u32 nNode; /* Number of slots of aNode[] used */ + u32 nAlloc; /* Number of slots of aNode[] allocated */ + P21Node *aNode; /* Array of nodes containing the parse */ + const char *zP21; /* Original P21 string */ + u32 *aUp; /* Index of parent of each node */ + u8 oom; /* Set to true if out of memory */ + u8 nErr; /* Number of errors seen */ + u16 iDepth; /* Nesting depth */ + int nP21; /* Length of the zP21 string in bytes */ + u32 iHold; /* Replace cache line with the lowest iHold value */ +}; + +/* +** Maximum nesting depth of P21 for this implementation. +*/ +#define P21_MAX_DEPTH 20 + +/************************************************************************** +** Utility routines for dealing with P21String objects +**************************************************************************/ + +/* Set the P21String object to an empty string +*/ +static void p21Zero(P21String *p){ + p->zBuf = p->zSpace; + p->nAlloc = sizeof(p->zSpace); + p->nUsed = 0; + p->bStatic = 1; +} + +/* Initialize the P21String object +*/ +static void p21Init(P21String *p, sqlite3_context *pCtx){ + p->pCtx = pCtx; + p->bErr = 0; + p21Zero(p); +} + + +/* Free all allocated memory and reset the P21String object back to its +** initial state. +*/ +static void p21Reset(P21String *p){ + if( !p->bStatic ) sqlite3_free(p->zBuf); + p21Zero(p); +} + + +/* Report an out-of-memory (OOM) condition +*/ +static void p21Oom(P21String *p){ + p->bErr = 1; + sqlite3_result_error_nomem(p->pCtx); + p21Reset(p); +} + +/* Enlarge p->zBuf so that it can hold at least N more bytes. +** Return zero on success. Return non-zero on an OOM error +*/ +static int p21Grow(P21String *p, u32 N){ + u64 nTotal = NnAlloc ? p->nAlloc*2 : p->nAlloc+N+10; + char *zNew; + if( p->bStatic ){ + if( p->bErr ) return 1; + zNew = sqlite3_malloc64(nTotal); + if( zNew==0 ){ + p21Oom(p); + return SQLITE_NOMEM; + } + memcpy(zNew, p->zBuf, (size_t)p->nUsed); + p->zBuf = zNew; + p->bStatic = 0; + }else{ + zNew = sqlite3_realloc64(p->zBuf, nTotal); + if( zNew==0 ){ + p21Oom(p); + return SQLITE_NOMEM; + } + p->zBuf = zNew; + } + p->nAlloc = nTotal; + return SQLITE_OK; +} + +/* Append N bytes from zIn onto the end of the P21String string. +*/ +static void p21AppendRaw(P21String *p, const char *zIn, u32 N){ + if( (N+p->nUsed >= p->nAlloc) && p21Grow(p,N)!=0 ) return; + memcpy(p->zBuf+p->nUsed, zIn, N); + p->nUsed += N; +} + +/* Append formatted text (not to exceed N bytes) to the P21String. +*/ +static void p21Printf(int N, P21String *p, const char *zFormat, ...){ + va_list ap; + if( (p->nUsed + N >= p->nAlloc) && p21Grow(p, N) ) return; + va_start(ap, zFormat); + sqlite3_vsnprintf(N, p->zBuf+p->nUsed, zFormat, ap); + va_end(ap); + p->nUsed += (int)strlen(p->zBuf+p->nUsed); +} + +/* Append a single character +*/ +static void p21AppendChar(P21String *p, char c){ + if( p->nUsed>=p->nAlloc && p21Grow(p,1)!=0 ) return; + p->zBuf[p->nUsed++] = c; +} + +/* Append a comma separator to the output buffer, if the previous +** character is not '[' or '{'. +*/ +static void p21AppendSeparator(P21String *p){ + char c; + if( p->nUsed==0 ) return; + c = p->zBuf[p->nUsed-1]; + if( c!='(' ) p21AppendChar(p, ','); +} + +/* Append the N-byte string in zIn to the end of the P21String string +** under construction. Enclose the string in '...' and escape +** any double-quotes or backslash characters contained within the +** string. +*/ +static void p21AppendString(P21String *p, const char *zIn, u32 N){ + u32 i; + if( (N+p->nUsed+2 >= p->nAlloc) && p21Grow(p,N+2)!=0 ) return; + p->zBuf[p->nUsed++] = '\''; + for(i=0; inUsed+N+3-i > p->nAlloc) && p21Grow(p,N+3-i)!=0 ) return; + p->zBuf[p->nUsed++] = '\\'; + }else if( c<=0x1f ){ + static const char aSpecial[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 'b', 't', 'n', 0, 'f', 'r', 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + assert( sizeof(aSpecial)==32 ); + assert( aSpecial['\b']=='b' ); + assert( aSpecial['\f']=='f' ); + assert( aSpecial['\n']=='n' ); + assert( aSpecial['\r']=='r' ); + assert( aSpecial['\t']=='t' ); + if( aSpecial[c] ){ + c = aSpecial[c]; + goto p21_simple_escape; + } + if( (p->nUsed+N+7+i > p->nAlloc) && p21Grow(p,N+7-i)!=0 ) return; + p->zBuf[p->nUsed++] = '\\'; + p->zBuf[p->nUsed++] = 'u'; + p->zBuf[p->nUsed++] = '0'; + p->zBuf[p->nUsed++] = '0'; + p->zBuf[p->nUsed++] = '0' + (c>>4); + c = "0123456789abcdef"[c&0xf]; + } + p->zBuf[p->nUsed++] = c; + } + p->zBuf[p->nUsed++] = '\''; + assert( p->nUsednAlloc ); +} + +/* +** Append a function parameter value to the P21 string under +** construction. +*/ +static void p21AppendValue( + P21String *p, /* Append to this P21 string */ + sqlite3_value *pValue /* Value to append */ +){ + switch( sqlite3_value_type(pValue) ){ + case SQLITE_NULL: { + p21AppendRaw(p, "$", 1); + break; + } + case SQLITE_INTEGER: + case SQLITE_FLOAT: { + const char *z = (const char*)sqlite3_value_text(pValue); + /* TODO: confirm format is valid */ + u32 n = (u32)sqlite3_value_bytes(pValue); + p21AppendRaw(p, z, n); + break; + } + case SQLITE_TEXT: { + const char *z = (const char*)sqlite3_value_text(pValue); + u32 n = (u32)sqlite3_value_bytes(pValue); + if( sqlite3_value_subtype(pValue)==P21_SUBTYPE ){ + p21AppendRaw(p, z, n); + }else{ + p21AppendString(p, z, n); + } + break; + } + default: { + if( p->bErr==0 ){ + sqlite3_result_error(p->pCtx, "P21 cannot hold BLOB values", -1); + p->bErr = 2; + p21Reset(p); + } + break; + } + } +} + + +/* Make the P21 in p the result of the SQL function. +*/ +static void p21Result(P21String *p){ + if( p->bErr==0 ){ + sqlite3_result_text64(p->pCtx, p->zBuf, p->nUsed, + p->bStatic ? SQLITE_TRANSIENT : sqlite3_free, + SQLITE_UTF8); + p21Zero(p); + } + assert( p->bStatic ); +} + +/************************************************************************** +** Utility routines for dealing with P21Node and P21Parse objects +**************************************************************************/ + +/* +** Return the number of consecutive P21Node slots need to represent +** the parsed P21 at pNode. The minimum answer is 1. For ARRAY and +** OBJECT types, the number might be larger. +** +** Appended elements are not counted. The value returned is the number +** by which the P21Node counter should increment in order to go to the +** next peer value. +*/ +static u32 p21NodeSize(P21Node *pNode){ + return pNode->eType < P21_LIST ? 1 : pNode->n + 1; +} + +/* +** Reclaim all memory allocated by a P21Parse object. But do not +** delete the P21Parse object itself. +*/ +static void p21ParseReset(P21Parse *pParse){ + sqlite3_free(pParse->aNode); + pParse->aNode = 0; + pParse->nNode = 0; + pParse->nAlloc = 0; + sqlite3_free(pParse->aUp); + pParse->aUp = 0; +} + +/* +** Free a P21Parse object that was obtained from sqlite3_malloc(). +*/ +static void p21ParseFree(P21Parse *pParse){ + p21ParseReset(pParse); + sqlite3_free(pParse); +} + +/* +** Convert the P21Node pNode into a pure P21 string and +** append to pOut. Subsubstructure is also included. Return +** the number of P21Node objects that are encoded. +*/ +static void p21RenderNode( + P21Node *pNode, /* The node to render */ + P21String *pOut, /* Write P21 here */ + sqlite3_value **aReplace /* Replacement values */ +){ + if( pNode->jnFlags & (PNODE_REPLACE|PNODE_PATCH) ){ + if( pNode->jnFlags & PNODE_REPLACE ){ + p21AppendValue(pOut, aReplace[pNode->u.iReplace]); + return; + } + pNode = pNode->u.pPatch; + } + switch( pNode->eType ){ + default: { + assert( pNode->eType==P21_EMPTY ); + p21AppendChar(pOut, '$'); + break; + } + case P21_ENUMERATION: { + p21AppendRaw(pOut, pNode->u.zJContent, pNode->n); + break; + } + case P21_DERIVED: { + p21AppendChar(pOut, '*'); + break; + } + case P21_BINARY: { + p21AppendRaw(pOut, pNode->u.zJContent, pNode->n); + break; + } + case P21_EID: { + p21AppendRaw(pOut, pNode->u.zJContent, pNode->n); + break; + } + case P21_STRING: { + if( pNode->jnFlags & PNODE_RAW ){ + p21AppendString(pOut, pNode->u.zJContent, pNode->n); + break; + } + /* Fall through into the next case */ + } + case P21_REAL: + case P21_INTEGER: { + p21AppendRaw(pOut, pNode->u.zJContent, pNode->n); + break; + } + case P21_LIST: { + u32 j = 1; + p21AppendChar(pOut, '('); + for(;;){ + while( j<=pNode->n ){ + if( (pNode[j].jnFlags & PNODE_REMOVE)==0 ){ + p21AppendSeparator(pOut); + p21RenderNode(&pNode[j], pOut, aReplace); + } + j += p21NodeSize(&pNode[j]); + } + if( (pNode->jnFlags & PNODE_APPEND)==0 ) break; + pNode = &pNode[pNode->u.iAppend]; + j = 1; + } + p21AppendChar(pOut, ')'); + break; + } + case P21_RECORD: { + u32 j = 1; + p21AppendRaw(pOut, pNode->u.zJContent, pNode->n_kw); + p21AppendChar(pOut, '('); + for(;;){ + while( j<= pNode->n ){ + if( (pNode[j].jnFlags & PNODE_REMOVE)==0 ){ + p21AppendSeparator(pOut); + p21RenderNode(&pNode[j], pOut, aReplace); + } + j += p21NodeSize(&pNode[j]); + } + if( (pNode->jnFlags & PNODE_APPEND)==0 ) break; + pNode = &pNode[pNode->u.iAppend]; + j = 1; + } + p21AppendChar(pOut, ')'); + break; + } + } +} + +/* +** Return a P21Node and all its descendents as a P21 string. +*/ +static void p21ReturnP21( + P21Node *pNode, /* Node to return */ + sqlite3_context *pCtx, /* Return value for this function */ + sqlite3_value **aReplace /* Array of replacement values */ +){ + P21String s; + p21Init(&s, pCtx); + p21RenderNode(pNode, &s, aReplace); + p21Result(&s); + sqlite3_result_subtype(pCtx, P21_SUBTYPE); +} + +/* +** Translate a single byte of Hex into an integer. +** This routine only works if h really is a valid hexadecimal +** character: 0..9a..fA..F +*/ +static u8 p21HexToInt(int h){ + assert( (h>='0' && h<='9') || (h>='a' && h<='f') || (h>='A' && h<='F') ); +#ifdef SQLITE_EBCDIC + h += 9*(1&~(h>>4)); +#else + h += 9*(1&(h>>6)); +#endif + return (u8)(h & 0xf); +} + +/* +** Convert a 4-byte hex string into an integer +*/ +static u32 p21HexToInt4(const char *z){ + u32 v; + assert( safe_isxdigit(z[0]) ); + assert( safe_isxdigit(z[1]) ); + assert( safe_isxdigit(z[2]) ); + assert( safe_isxdigit(z[3]) ); + v = (p21HexToInt(z[0])<<12) + + (p21HexToInt(z[1])<<8) + + (p21HexToInt(z[2])<<4) + + p21HexToInt(z[3]); + return v; +} +/* +** Make the P21Node the return value of the function. +*/ +static void p21Return( + P21Node *pNode, /* Node to return */ + sqlite3_context *pCtx, /* Return value for this function */ + sqlite3_value **aReplace /* Array of replacement values */ +){ + switch( pNode->eType ){ + default: { + assert( pNode->eType==P21_EMPTY ); + sqlite3_result_null(pCtx); + break; + } + case P21_DERIVED: { + assert(0); + } + case P21_ENUMERATION: { + assert(0); + } + case P21_BINARY: { + assert(0); + } + case P21_EID: { + sqlite3_result_text(pCtx, pNode->u.zJContent, pNode->n, SQLITE_TRANSIENT); + break; + } + case P21_INTEGER: { + sqlite3_int64 i = 0; + const char *z = pNode->u.zJContent; + if( z[0]=='-' ){ z++; } + while( z[0]>='0' && z[0]<='9' ){ + unsigned v = *(z++) - '0'; + if( i>=LARGEST_INT64/10 ){ + if( i>LARGEST_INT64/10 ) goto int_as_real; + if( z[0]>='0' && z[0]<='9' ) goto int_as_real; + if( v==9 ) goto int_as_real; + if( v==8 ){ + if( pNode->u.zJContent[0]=='-' ){ + sqlite3_result_int64(pCtx, SMALLEST_INT64); + goto int_done; + }else{ + goto int_as_real; + } + } + } + i = i*10 + v; + } + if( pNode->u.zJContent[0]=='-' ){ i = -i; } + sqlite3_result_int64(pCtx, i); + int_done: + break; + int_as_real: /* fall through to real */; + } + case P21_REAL: { + double r; +#ifdef SQLITE_AMALGAMATION + const char *z = pNode->u.zJContent; + sqlite3AtoF(z, &r, sqlite3Strlen30(z), SQLITE_UTF8); +#else + r = strtod(pNode->u.zJContent, 0); +#endif + sqlite3_result_double(pCtx, r); + break; + } + case P21_STRING: { +#if 0 /* Never happens because PNODE_RAW is only set by p21_set(), + ** p21_insert() and p21_replace() and those routines do not + ** call p21Return() */ + if( pNode->jnFlags & PNODE_RAW ){ + sqlite3_result_text(pCtx, pNode->u.zJContent, pNode->n, + SQLITE_TRANSIENT); + }else +#endif + assert( (pNode->jnFlags & PNODE_RAW)==0 ); + if( (pNode->jnFlags & PNODE_ESCAPE)==0 ){ + /* P21 formatted without any backslash-escapes */ + sqlite3_result_text(pCtx, pNode->u.zJContent+1, pNode->n-2, + SQLITE_TRANSIENT); + }else{ + /* Translate P21 formatted string into raw text */ + u32 i; + u32 n = pNode->n; + const char *z = pNode->u.zJContent; + char *zOut; + u32 j; + /* TODO: */ + assert(0); + zOut = sqlite3_malloc( n+1 ); + if( zOut==0 ){ + sqlite3_result_error_nomem(pCtx); + break; + } + for(i=1, j=0; i>6)); + zOut[j++] = 0x80 | (v&0x3f); + }else{ + u32 vlo; + if( (v&0xfc00)==0xd800 + && i>18); + zOut[j++] = 0x80 | ((v>>12)&0x3f); + zOut[j++] = 0x80 | ((v>>6)&0x3f); + zOut[j++] = 0x80 | (v&0x3f); + }else{ + zOut[j++] = 0xe0 | (v>>12); + zOut[j++] = 0x80 | ((v>>6)&0x3f); + zOut[j++] = 0x80 | (v&0x3f); + } + } + }else{ + if( c=='b' ){ + c = '\b'; + }else if( c=='f' ){ + c = '\f'; + }else if( c=='n' ){ + c = '\n'; + }else if( c=='r' ){ + c = '\r'; + }else if( c=='t' ){ + c = '\t'; + } + zOut[j++] = c; + } + } + } + zOut[j] = 0; + sqlite3_result_text(pCtx, zOut, j, sqlite3_free); + } + break; + } + case P21_LIST: + case P21_RECORD: { + p21ReturnP21(pNode, pCtx, aReplace); + break; + } + } +} + +/* Forward reference */ +static int p21ParseAddNode(P21Parse*,u32,u32,const char*); + +/* +** A macro to hint to the compiler that a function should not be +** inlined. +*/ +#if defined(__GNUC__) +# define P21_NOINLINE __attribute__((noinline)) +#elif defined(_MSC_VER) && _MSC_VER>=1310 +# define P21_NOINLINE __declspec(noinline) +#else +# define P21_NOINLINE +#endif + + +static P21_NOINLINE int p21ParseAddNodeExpand( + P21Parse *pParse, /* Append the node to this object */ + u32 eType, /* Node type */ + u32 n, /* Content size or sub-node count */ + const char *zContent /* Content */ +){ + u32 nNew; + P21Node *pNew; + assert( pParse->nNode>=pParse->nAlloc ); + if( pParse->oom ) return -1; + nNew = pParse->nAlloc*2 + 10; + pNew = sqlite3_realloc64(pParse->aNode, sizeof(P21Node)*nNew); + if( pNew==0 ){ + pParse->oom = 1; + return -1; + } + pParse->nAlloc = nNew; + pParse->aNode = pNew; + assert( pParse->nNodenAlloc ); + return p21ParseAddNode(pParse, eType, n, zContent); +} + +/* +** Create a new P21Node instance based on the arguments and append that +** instance to the P21Parse. Return the index in pParse->aNode[] of the +** new node, or -1 if a memory allocation fails. +*/ +static int p21ParseAddNode( + P21Parse *pParse, /* Append the node to this object */ + u32 eType, /* Node type */ + u32 n, /* Content size or sub-node count */ + const char *zContent /* Content */ +){ + P21Node *p; + if( pParse->nNode>=pParse->nAlloc ){ + return p21ParseAddNodeExpand(pParse, eType, n, zContent); + } + p = &pParse->aNode[pParse->nNode]; + p->eType = (u8)eType; + p->jnFlags = 0; + p->n = n; + p->u.zJContent = zContent; + return pParse->nNode++; +} + +/* +** Return true if z[] begins with 4 (or more) hexadecimal digits +*/ +static int p21Is4Hex(const char *z){ + int i; + for(i=0; i<4; i++) if( !safe_isxdigit(z[i]) ) return 0; + return 1; +} + +/* +** Parse P21 value which begins at pParse->zP21[i]. Return the +** index of the first character past the end of the value parsed. +** +** Return negative for a syntax error. +*/ +static int p21ParseValue(P21Parse *pParse, u32 i) { + static int cxtStack[P21_MAX_DEPTH]; + const unsigned char *sp, *cur, *mrk, *tok, *end; + const unsigned char *yyt1; + int *piThis, x; + u32 n; + P21Node *pNode; + + sp = cur = tok = &pParse->zP21[i]; + piThis = cxtStack + pParse->iDepth; + +#line 832 "p21sql.l" + + +start: + + tok = cur; + +#line 822 "p21sql.c" +{ + unsigned char yych; + yych = *cur; + if (yych <= '\r') { + if (yych <= 0x0008) goto yy2; + if (yych <= '\n') goto yy3; + if (yych >= '\r') goto yy3; + } else { + if (yych <= ' ') { + if (yych >= ' ') goto yy3; + } else { + if (yych == '(') goto yy6; + } + } +yy2: +#line 850 "p21sql.l" + { + /* (simple_entity_instance) parameter_list */ + *piThis = p21ParseAddNode(pParse, P21_RECORD, 0, 0); + if (*piThis < 0) return -1; + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params1; + } +#line 848 "p21sql.c" +yy3: + yych = *++cur; + if (yych <= '\f') { + if (yych <= 0x0008) goto yy5; + if (yych <= '\n') goto yy3; + } else { + if (yych <= '\r') goto yy3; + if (yych == ' ') goto yy3; + } +yy5: +#line 838 "p21sql.l" + { + goto start; + } +#line 863 "p21sql.c" +yy6: + ++cur; +#line 841 "p21sql.l" + { + /* (complex_entity_instance) parameter_list */ + *piThis = p21ParseAddNode(pParse, P21_LIST, 0, 0); + if (*piThis < 0) return -1; + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto keywords; + } +#line 876 "p21sql.c" +} +#line 859 "p21sql.l" + + +keywords: + tok = cur; + + +#line 885 "p21sql.c" +{ + unsigned char yych; + yych = *(mrk = cur); + if (yych <= '(') { + if (yych <= '\r') { + if (yych <= 0x0008) goto yy10; + if (yych <= '\n') goto yy11; + if (yych >= '\r') goto yy11; + } else { + if (yych <= 0x001F) goto yy10; + if (yych <= ' ') goto yy11; + if (yych <= '!') goto yy14; + } + } else { + if (yych <= '^') { + if (yych <= ')') goto yy16; + if (yych <= '@') goto yy10; + if (yych <= 'Z') goto yy18; + } else { + if (yych == '`') goto yy10; + if (yych <= 'z') goto yy18; + } + } +yy10: +#line 885 "p21sql.l" + { + /* fix-up and revert to P21_RECORD */ + pNode = pParse->aNode + *(piThis - 1); + pNode->eType = P21_RECORD; + assert(pParse->iDepth == 1); + goto params1; + } +#line 918 "p21sql.c" +yy11: + yych = *++cur; + if (yych <= '\f') { + if (yych <= 0x0008) goto yy13; + if (yych <= '\n') goto yy11; + } else { + if (yych <= '\r') goto yy11; + if (yych == ' ') goto yy11; + } +yy13: +#line 865 "p21sql.l" + { + goto keywords; + } +#line 933 "p21sql.c" +yy14: + yych = *++cur; + if (yych <= '^') { + if (yych <= '@') goto yy15; + if (yych <= 'Z') goto yy18; + } else { + if (yych == '`') goto yy15; + if (yych <= 'z') goto yy18; + } +yy15: + cur = mrk; + goto yy10; +yy16: + ++cur; +#line 877 "p21sql.l" + { + piThis = cxtStack + --pParse->iDepth; + pNode = pParse->aNode + *piThis; + assert(pNode->eType == P21_LIST); + + pNode->n = pParse->nNode - (u32)*piThis - 1; + goto eol; + } +#line 957 "p21sql.c" +yy18: + yych = *++cur; + if (yych <= '(') { + if (yych <= '\r') { + if (yych <= 0x0008) goto yy15; + if (yych <= '\n') { + yyt1 = cur; + goto yy20; + } + if (yych <= '\f') goto yy15; + yyt1 = cur; + } else { + if (yych == ' ') { + yyt1 = cur; + goto yy20; + } + if (yych <= '\'') goto yy15; + yyt1 = cur; + goto yy22; + } + } else { + if (yych <= 'Z') { + if (yych <= '/') goto yy15; + if (yych <= '9') goto yy18; + if (yych <= '@') goto yy15; + goto yy18; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy15; + goto yy18; + } else { + if (yych <= '`') goto yy15; + if (yych <= 'z') goto yy18; + goto yy15; + } + } + } +yy20: + yych = *++cur; + if (yych <= '\r') { + if (yych <= 0x0008) goto yy15; + if (yych <= '\n') goto yy20; + if (yych <= '\f') goto yy15; + goto yy20; + } else { + if (yych <= ' ') { + if (yych <= 0x001F) goto yy15; + goto yy20; + } else { + if (yych != '(') goto yy15; + } + } +yy22: + ++cur; + end = yyt1; +#line 868 "p21sql.l" + { + *piThis = p21ParseAddNode(pParse, P21_RECORD, 0, tok); + if (*piThis < 0) return -1; + pParse->aNode[*piThis].n_kw = (u16)(end - tok); + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params2; + } +#line 1023 "p21sql.c" +} +#line 892 "p21sql.l" + + +params1: + tok = cur; + + +#line 1032 "p21sql.c" +{ + unsigned char yych; + unsigned int yyaccept = 0; + yych = *(mrk = cur); + if (yych <= ')') { + if (yych <= '!') { + if (yych <= '\f') { + if (yych <= 0x0008) goto yy26; + if (yych <= '\n') goto yy27; + } else { + if (yych <= '\r') goto yy27; + if (yych <= 0x001F) goto yy26; + if (yych <= ' ') goto yy27; + goto yy30; + } + } else { + if (yych <= '$') { + if (yych <= '"') goto yy32; + if (yych <= '#') goto yy33; + goto yy34; + } else { + if (yych <= '&') goto yy26; + if (yych <= '\'') goto yy36; + if (yych <= '(') goto yy38; + goto yy40; + } + } + } else { + if (yych <= '9') { + if (yych <= ',') { + if (yych <= '*') goto yy42; + if (yych <= '+') goto yy44; + goto yy46; + } else { + if (yych <= '-') goto yy44; + if (yych <= '.') goto yy48; + if (yych >= '0') goto yy49; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy26; + if (yych <= 'Z') goto yy52; + } else { + if (yych == '`') goto yy26; + if (yych <= 'z') goto yy52; + } + } + } +yy26: +#line 959 "p21sql.l" + { + if (pParse->iDepth) --pParse->iDepth; + piThis = cxtStack + pParse->iDepth; + pNode = pParse->aNode + *piThis; + assert(pNode->eType == P21_RECORD); + pNode->n = pParse->nNode - (u32)*piThis - 1; + goto eol; + } +#line 1091 "p21sql.c" +yy27: + yych = *++cur; + if (yych <= '\f') { + if (yych <= 0x0008) goto yy29; + if (yych <= '\n') goto yy27; + } else { + if (yych <= '\r') goto yy27; + if (yych == ' ') goto yy27; + } +yy29: +#line 898 "p21sql.l" + { + goto params1; + } +#line 1106 "p21sql.c" +yy30: + yych = *++cur; + if (yych <= '^') { + if (yych <= '@') goto yy31; + if (yych <= 'Z') goto yy52; + } else { + if (yych == '`') goto yy31; + if (yych <= 'z') goto yy52; + } +yy31: + cur = mrk; + if (yyaccept <= 1) { + if (yyaccept == 0) { + goto yy26; + } else { + goto yy60; + } + } else { + goto yy67; + } +yy32: + yych = *++cur; + if (yych <= '/') goto yy31; + if (yych <= '3') goto yy54; + goto yy31; +yy33: + yych = *++cur; + if (yych <= '/') goto yy31; + if (yych <= '9') goto yy56; + goto yy31; +yy34: + ++cur; +#line 945 "p21sql.l" + { + p21ParseAddNode(pParse, P21_EMPTY, cur - tok, tok); + goto params1; + } +#line 1144 "p21sql.c" +yy36: + yych = *++cur; + if (yych <= 'Z') { + if (yych <= 0x001F) goto yy31; + if (yych == '\'') goto yy59; + goto yy36; + } else { + if (yych <= '\\') { + if (yych <= '[') goto yy31; + goto yy61; + } else { + if (yych <= ']') goto yy31; + if (yych <= '~') goto yy36; + goto yy31; + } + } +yy38: + ++cur; +#line 910 "p21sql.l" + { + *piThis = p21ParseAddNode(pParse, P21_LIST, 0, 0); + if (*piThis < 0) return -1; + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params1; + } +#line 1172 "p21sql.c" +yy40: + ++cur; +#line 953 "p21sql.l" + { + piThis = cxtStack + --pParse->iDepth; + pNode = pParse->aNode + *piThis; + pNode->n = pParse->nNode - (u32)*piThis - 1; + goto params1; + } +#line 1182 "p21sql.c" +yy42: + ++cur; +#line 949 "p21sql.l" + { + p21ParseAddNode(pParse, P21_DERIVED, cur - tok, tok); + goto params1; + } +#line 1190 "p21sql.c" +yy44: + yych = *++cur; + if (yych <= ',') { + if (yych == '+') goto yy44; + goto yy31; + } else { + if (yych <= '-') goto yy44; + if (yych <= '/') goto yy31; + if (yych <= '9') goto yy49; + goto yy31; + } +yy46: + ++cur; +#line 918 "p21sql.l" + { + goto params1; + } +#line 1208 "p21sql.c" +yy48: + yych = *++cur; + if (yych <= '@') goto yy31; + if (yych <= 'Z') goto yy63; + if (yych == '_') goto yy63; + goto yy31; +yy49: + yych = *++cur; + if (yych == '.') goto yy65; + if (yych <= '/') goto yy51; + if (yych <= '9') goto yy49; +yy51: +#line 925 "p21sql.l" + { + p21ParseAddNode(pParse, P21_INTEGER, cur - tok, tok); + goto params1; + } +#line 1226 "p21sql.c" +yy52: + yych = *++cur; + if (yych <= '(') { + if (yych <= '\r') { + if (yych <= 0x0008) goto yy31; + if (yych <= '\n') { + yyt1 = cur; + goto yy68; + } + if (yych <= '\f') goto yy31; + yyt1 = cur; + goto yy68; + } else { + if (yych == ' ') { + yyt1 = cur; + goto yy68; + } + if (yych <= '\'') goto yy31; + yyt1 = cur; + goto yy70; + } + } else { + if (yych <= 'Z') { + if (yych <= '/') goto yy31; + if (yych <= '9') goto yy52; + if (yych <= '@') goto yy31; + goto yy52; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy31; + goto yy52; + } else { + if (yych <= '`') goto yy31; + if (yych <= 'z') goto yy52; + goto yy31; + } + } + } +yy54: + yych = *++cur; + if (yych <= '/') { + if (yych == '"') goto yy72; + goto yy31; + } else { + if (yych <= '9') goto yy54; + if (yych <= '@') goto yy31; + if (yych <= 'F') goto yy54; + goto yy31; + } +yy56: + yych = *++cur; + if (yych <= '/') goto yy58; + if (yych <= '9') goto yy56; +yy58: +#line 941 "p21sql.l" + { + p21ParseAddNode(pParse, P21_EID, cur - tok, tok); + goto params1; + } +#line 1286 "p21sql.c" +yy59: + yyaccept = 1; + yych = *(mrk = ++cur); + if (yych == '\'') goto yy36; +yy60: +#line 929 "p21sql.l" + { + p21ParseAddNode(pParse, P21_STRING, cur - tok, tok); + goto params1; + } +#line 1297 "p21sql.c" +yy61: + yych = *++cur; + if (yych <= 'S') { + if (yych <= '&') { + if (yych <= 0x001F) goto yy31; + goto yy36; + } else { + if (yych <= '\'') goto yy59; + if (yych <= 'R') goto yy36; + goto yy74; + } + } else { + if (yych <= '\\') { + if (yych <= 'Z') goto yy36; + if (yych <= '[') goto yy31; + goto yy61; + } else { + if (yych <= ']') goto yy31; + if (yych <= '~') goto yy36; + goto yy31; + } + } +yy63: + yych = *++cur; + if (yych <= '9') { + if (yych == '.') goto yy75; + if (yych <= '/') goto yy31; + goto yy63; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy31; + goto yy63; + } else { + if (yych == '_') goto yy63; + goto yy31; + } + } +yy65: + yyaccept = 2; + yych = *(mrk = ++cur); + if (yych <= '/') goto yy67; + if (yych <= '9') goto yy65; + if (yych == 'E') goto yy77; +yy67: +#line 921 "p21sql.l" + { + p21ParseAddNode(pParse, P21_REAL, cur - tok, tok); + goto params1; + } +#line 1347 "p21sql.c" +yy68: + yych = *++cur; + if (yych <= '\r') { + if (yych <= 0x0008) goto yy31; + if (yych <= '\n') goto yy68; + if (yych <= '\f') goto yy31; + goto yy68; + } else { + if (yych <= ' ') { + if (yych <= 0x001F) goto yy31; + goto yy68; + } else { + if (yych != '(') goto yy31; + } + } +yy70: + ++cur; + end = yyt1; +#line 901 "p21sql.l" + { + *piThis = p21ParseAddNode(pParse, P21_RECORD, 0, tok); + if (*piThis < 0) return -1; + pParse->aNode[*piThis].n_kw = (u16)(end - tok); + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params1; + } +#line 1376 "p21sql.c" +yy72: + ++cur; +#line 933 "p21sql.l" + { + p21ParseAddNode(pParse, P21_BINARY, cur - tok, tok); + goto params1; + } +#line 1384 "p21sql.c" +yy74: + yych = *++cur; + if (yych <= 'Z') { + if (yych <= 0x001F) goto yy31; + if (yych == '\'') goto yy59; + goto yy36; + } else { + if (yych <= '\\') { + if (yych <= '[') goto yy31; + goto yy79; + } else { + if (yych <= ']') goto yy31; + if (yych <= '~') goto yy36; + goto yy31; + } + } +yy75: + ++cur; +#line 937 "p21sql.l" + { + p21ParseAddNode(pParse, P21_ENUMERATION, cur - tok, tok); + goto params1; + } +#line 1408 "p21sql.c" +yy77: + yych = *++cur; + if (yych <= ',') { + if (yych == '+') goto yy77; + goto yy31; + } else { + if (yych <= '-') goto yy77; + if (yych <= '/') goto yy31; + if (yych <= '9') goto yy80; + goto yy31; + } +yy79: + yych = *++cur; + if (yych <= 'S') { + if (yych <= '&') { + if (yych <= 0x001F) goto yy31; + goto yy36; + } else { + if (yych <= '\'') goto yy82; + if (yych <= 'R') goto yy36; + goto yy74; + } + } else { + if (yych <= '\\') { + if (yych <= 'Z') goto yy36; + if (yych <= '[') goto yy31; + goto yy61; + } else { + if (yych <= ']') goto yy31; + if (yych <= '~') goto yy36; + goto yy31; + } + } +yy80: + yych = *++cur; + if (yych <= '/') goto yy67; + if (yych <= '9') goto yy80; + goto yy67; +yy82: + yyaccept = 1; + yych = *(mrk = ++cur); + if (yych <= 'Z') { + if (yych <= 0x001F) goto yy60; + if (yych == '\'') goto yy82; + goto yy36; + } else { + if (yych <= '\\') { + if (yych <= '[') goto yy60; + goto yy61; + } else { + if (yych <= ']') goto yy60; + if (yych <= '~') goto yy36; + goto yy60; + } + } +} +#line 967 "p21sql.l" + + +params2: + tok = cur; + + +#line 1472 "p21sql.c" +{ + unsigned char yych; + unsigned int yyaccept = 0; + yych = *cur; + if (yych <= ')') { + if (yych <= '!') { + if (yych <= '\f') { + if (yych <= 0x0008) goto yy86; + if (yych <= '\n') goto yy87; + } else { + if (yych <= '\r') goto yy87; + if (yych <= 0x001F) goto yy86; + if (yych <= ' ') goto yy87; + goto yy90; + } + } else { + if (yych <= '$') { + if (yych <= '"') goto yy91; + if (yych <= '#') goto yy92; + goto yy93; + } else { + if (yych <= '&') goto yy86; + if (yych <= '\'') goto yy95; + if (yych <= '(') goto yy97; + goto yy99; + } + } + } else { + if (yych <= '9') { + if (yych <= ',') { + if (yych <= '*') goto yy101; + if (yych <= '+') goto yy103; + goto yy105; + } else { + if (yych <= '-') goto yy103; + if (yych <= '.') goto yy107; + if (yych >= '0') goto yy108; + } + } else { + if (yych <= '^') { + if (yych <= '@') goto yy86; + if (yych <= 'Z') goto yy111; + } else { + if (yych == '`') goto yy86; + if (yych <= 'z') goto yy111; + } + } + } +yy86: + cur = mrk; + if (yyaccept == 0) { + goto yy119; + } else { + goto yy126; + } +yy87: + yych = *++cur; + if (yych <= '\f') { + if (yych <= 0x0008) goto yy89; + if (yych <= '\n') goto yy87; + } else { + if (yych <= '\r') goto yy87; + if (yych == ' ') goto yy87; + } +yy89: +#line 973 "p21sql.l" + { + goto params2; + } +#line 1542 "p21sql.c" +yy90: + yych = *++cur; + if (yych <= '^') { + if (yych <= '@') goto yy86; + if (yych <= 'Z') goto yy111; + goto yy86; + } else { + if (yych == '`') goto yy86; + if (yych <= 'z') goto yy111; + goto yy86; + } +yy91: + yych = *++cur; + if (yych <= '/') goto yy86; + if (yych <= '3') goto yy113; + goto yy86; +yy92: + yych = *++cur; + if (yych <= '/') goto yy86; + if (yych <= '9') goto yy115; + goto yy86; +yy93: + ++cur; +#line 1020 "p21sql.l" + { + p21ParseAddNode(pParse, P21_EMPTY, cur - tok, tok); + goto params2; + } +#line 1571 "p21sql.c" +yy95: + yych = *++cur; + if (yych <= 'Z') { + if (yych <= 0x001F) goto yy86; + if (yych == '\'') goto yy118; + goto yy95; + } else { + if (yych <= '\\') { + if (yych <= '[') goto yy86; + goto yy120; + } else { + if (yych <= ']') goto yy86; + if (yych <= '~') goto yy95; + goto yy86; + } + } +yy97: + ++cur; +#line 985 "p21sql.l" + { + *piThis = p21ParseAddNode(pParse, P21_LIST, 0, 0); + if (*piThis < 0) return -1; + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params2; + } +#line 1599 "p21sql.c" +yy99: + ++cur; +#line 1028 "p21sql.l" + { + piThis = cxtStack + --pParse->iDepth; + pNode = pParse->aNode + *piThis; + pNode->n = pParse->nNode - (u32)*piThis - 1; + if (pParse->iDepth > 1) { + goto params2; + } else { + goto keywords; + } + } +#line 1613 "p21sql.c" +yy101: + ++cur; +#line 1024 "p21sql.l" + { + p21ParseAddNode(pParse, P21_DERIVED, cur - tok, tok); + goto params2; + } +#line 1621 "p21sql.c" +yy103: + yych = *++cur; + if (yych <= ',') { + if (yych == '+') goto yy103; + goto yy86; + } else { + if (yych <= '-') goto yy103; + if (yych <= '/') goto yy86; + if (yych <= '9') goto yy108; + goto yy86; + } +yy105: + ++cur; +#line 993 "p21sql.l" + { + goto params2; + } +#line 1639 "p21sql.c" +yy107: + yych = *++cur; + if (yych <= '@') goto yy86; + if (yych <= 'Z') goto yy122; + if (yych == '_') goto yy122; + goto yy86; +yy108: + yych = *++cur; + if (yych == '.') goto yy124; + if (yych <= '/') goto yy110; + if (yych <= '9') goto yy108; +yy110: +#line 1000 "p21sql.l" + { + p21ParseAddNode(pParse, P21_INTEGER, cur - tok, tok); + goto params2; + } +#line 1657 "p21sql.c" +yy111: + yych = *++cur; + if (yych <= '(') { + if (yych <= '\r') { + if (yych <= 0x0008) goto yy86; + if (yych <= '\n') { + yyt1 = cur; + goto yy127; + } + if (yych <= '\f') goto yy86; + yyt1 = cur; + goto yy127; + } else { + if (yych == ' ') { + yyt1 = cur; + goto yy127; + } + if (yych <= '\'') goto yy86; + yyt1 = cur; + goto yy129; + } + } else { + if (yych <= 'Z') { + if (yych <= '/') goto yy86; + if (yych <= '9') goto yy111; + if (yych <= '@') goto yy86; + goto yy111; + } else { + if (yych <= '_') { + if (yych <= '^') goto yy86; + goto yy111; + } else { + if (yych <= '`') goto yy86; + if (yych <= 'z') goto yy111; + goto yy86; + } + } + } +yy113: + yych = *++cur; + if (yych <= '/') { + if (yych == '"') goto yy131; + goto yy86; + } else { + if (yych <= '9') goto yy113; + if (yych <= '@') goto yy86; + if (yych <= 'F') goto yy113; + goto yy86; + } +yy115: + yych = *++cur; + if (yych <= '/') goto yy117; + if (yych <= '9') goto yy115; +yy117: +#line 1016 "p21sql.l" + { + p21ParseAddNode(pParse, P21_EID, cur - tok, tok); + goto params2; + } +#line 1717 "p21sql.c" +yy118: + yyaccept = 0; + yych = *(mrk = ++cur); + if (yych == '\'') goto yy95; +yy119: +#line 1004 "p21sql.l" + { + p21ParseAddNode(pParse, P21_STRING, cur - tok, tok); + goto params2; + } +#line 1728 "p21sql.c" +yy120: + yych = *++cur; + if (yych <= 'S') { + if (yych <= '&') { + if (yych <= 0x001F) goto yy86; + goto yy95; + } else { + if (yych <= '\'') goto yy118; + if (yych <= 'R') goto yy95; + goto yy133; + } + } else { + if (yych <= '\\') { + if (yych <= 'Z') goto yy95; + if (yych <= '[') goto yy86; + goto yy120; + } else { + if (yych <= ']') goto yy86; + if (yych <= '~') goto yy95; + goto yy86; + } + } +yy122: + yych = *++cur; + if (yych <= '9') { + if (yych == '.') goto yy134; + if (yych <= '/') goto yy86; + goto yy122; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy86; + goto yy122; + } else { + if (yych == '_') goto yy122; + goto yy86; + } + } +yy124: + yyaccept = 1; + yych = *(mrk = ++cur); + if (yych <= '/') goto yy126; + if (yych <= '9') goto yy124; + if (yych == 'E') goto yy136; +yy126: +#line 996 "p21sql.l" + { + p21ParseAddNode(pParse, P21_REAL, cur - tok, tok); + goto params2; + } +#line 1778 "p21sql.c" +yy127: + yych = *++cur; + if (yych <= '\r') { + if (yych <= 0x0008) goto yy86; + if (yych <= '\n') goto yy127; + if (yych <= '\f') goto yy86; + goto yy127; + } else { + if (yych <= ' ') { + if (yych <= 0x001F) goto yy86; + goto yy127; + } else { + if (yych != '(') goto yy86; + } + } +yy129: + ++cur; + end = yyt1; +#line 976 "p21sql.l" + { + *piThis = p21ParseAddNode(pParse, P21_RECORD, 0, tok); + if (*piThis < 0) return -1; + pParse->aNode[*piThis].n_kw = (u16)(end - tok); + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params2; + } +#line 1807 "p21sql.c" +yy131: + ++cur; +#line 1008 "p21sql.l" + { + p21ParseAddNode(pParse, P21_BINARY, cur - tok, tok); + goto params2; + } +#line 1815 "p21sql.c" +yy133: + yych = *++cur; + if (yych <= 'Z') { + if (yych <= 0x001F) goto yy86; + if (yych == '\'') goto yy118; + goto yy95; + } else { + if (yych <= '\\') { + if (yych <= '[') goto yy86; + goto yy138; + } else { + if (yych <= ']') goto yy86; + if (yych <= '~') goto yy95; + goto yy86; + } + } +yy134: + ++cur; +#line 1012 "p21sql.l" + { + p21ParseAddNode(pParse, P21_ENUMERATION, cur - tok, tok); + goto params2; + } +#line 1839 "p21sql.c" +yy136: + yych = *++cur; + if (yych <= ',') { + if (yych == '+') goto yy136; + goto yy86; + } else { + if (yych <= '-') goto yy136; + if (yych <= '/') goto yy86; + if (yych <= '9') goto yy139; + goto yy86; + } +yy138: + yych = *++cur; + if (yych <= 'S') { + if (yych <= '&') { + if (yych <= 0x001F) goto yy86; + goto yy95; + } else { + if (yych <= '\'') goto yy141; + if (yych <= 'R') goto yy95; + goto yy133; + } + } else { + if (yych <= '\\') { + if (yych <= 'Z') goto yy95; + if (yych <= '[') goto yy86; + goto yy120; + } else { + if (yych <= ']') goto yy86; + if (yych <= '~') goto yy95; + goto yy86; + } + } +yy139: + yych = *++cur; + if (yych <= '/') goto yy126; + if (yych <= '9') goto yy139; + goto yy126; +yy141: + yyaccept = 0; + yych = *(mrk = ++cur); + if (yych <= 'Z') { + if (yych <= 0x001F) goto yy119; + if (yych == '\'') goto yy141; + goto yy95; + } else { + if (yych <= '\\') { + if (yych <= '[') goto yy119; + goto yy120; + } else { + if (yych <= ']') goto yy119; + if (yych <= '~') goto yy95; + goto yy119; + } + } +} +#line 1039 "p21sql.l" + + +eol: + tok = cur; + + +#line 1903 "p21sql.c" +{ + unsigned char yych; + yych = *cur; + if (yych >= 0x0001) goto yy147; + ++cur; +#line 1045 "p21sql.l" + { + return cur - sp; + } +#line 1913 "p21sql.c" +yy147: + ++cur; +#line 1048 "p21sql.l" + { + return -1; + } +#line 1920 "p21sql.c" +} +#line 1051 "p21sql.l" + + +} + + +/* +** Parse a complete P21 string. Return 0 on success or non-zero if there +** are any errors. If an error occurs, free all memory associated with +** pParse. +** +** pParse is uninitialized when this routine is called. +*/ +static int p21Parse( + P21Parse *pParse, /* Initialize and fill this P21Parse object */ + sqlite3_context *pCtx, /* Report errors here */ + const char *zP21 /* Input P21 text to be parsed */ +){ + int i; + memset(pParse, 0, sizeof(*pParse)); + if( zP21==0 ) return 1; + pParse->zP21 = zP21; + i = p21ParseValue(pParse, 0); + if( pParse->oom ) i = -1; + if( i>0 ){ + assert( pParse->iDepth==0 ); + } + if( i<=0 ){ + if( pCtx!=0 ){ + if( pParse->oom ){ + sqlite3_result_error_nomem(pCtx); + }else{ + sqlite3_result_error(pCtx, "malformed P21", -1); + } + } + p21ParseReset(pParse); + return 1; + } + return 0; +} + +/* Mark node i of pParse as being a child of iParent. Call recursively +** to fill in all the descendants of node i. +*/ +static void p21ParseFillInParentage(P21Parse *pParse, u32 i, u32 iParent){ + P21Node *pNode = &pParse->aNode[i]; + u32 j; + pParse->aUp[i] = iParent; + switch( pNode->eType ){ + case P21_RECORD: + case P21_LIST: { + for(j=1; j<=pNode->n; j += p21NodeSize(pNode+j)){ + p21ParseFillInParentage(pParse, i+j, i); + } + break; + } + default: { + break; + } + } +} + +/* +** Compute the parentage of all nodes in a completed parse. +*/ +static int p21ParseFindParents(P21Parse *pParse){ + u32 *aUp; + assert( pParse->aUp==0 ); + aUp = pParse->aUp = sqlite3_malloc64( sizeof(u32)*pParse->nNode ); + if( aUp==0 ){ + pParse->oom = 1; + return SQLITE_NOMEM; + } + p21ParseFillInParentage(pParse, 0, 0); + return SQLITE_OK; +} + +/* +** Magic number used for the P21 parse cache in sqlite3_get_auxdata() +*/ +#define P21_CACHE_ID (-429938) /* First cache entry */ +#define P21_CACHE_SZ 4 /* Max number of cache entries */ + +/* +** Obtain a complete parse of the P21 found in the first argument +** of the argv array. Use the sqlite3_get_auxdata() cache for this +** parse if it is available. If the cache is not available or if it +** is no longer valid, parse the P21 again and return the new parse, +** and also register the new parse so that it will be available for +** future sqlite3_get_auxdata() calls. +*/ +static P21Parse *p21ParseCached( + sqlite3_context *pCtx, + sqlite3_value **argv, + sqlite3_context *pErrCtx +){ + const char *zP21 = (const char*)sqlite3_value_text(argv[0]); + int nP21 = sqlite3_value_bytes(argv[0]); + P21Parse *p; + P21Parse *pMatch = 0; + int iKey; + int iMinKey = 0; + u32 iMinHold = 0xffffffff; + u32 iMaxHold = 0; + if( zP21==0 ) return 0; + for(iKey=0; iKeynP21==nP21 + && memcmp(p->zP21,zP21,nP21)==0 + ){ + p->nErr = 0; + pMatch = p; + }else if( p->iHoldiHold; + iMinKey = iKey; + } + if( p->iHold>iMaxHold ){ + iMaxHold = p->iHold; + } + } + if( pMatch ){ + pMatch->nErr = 0; + pMatch->iHold = iMaxHold+1; + return pMatch; + } + p = sqlite3_malloc64( sizeof(*p) + nP21 + 1 ); + if( p==0 ){ + sqlite3_result_error_nomem(pCtx); + return 0; + } + memset(p, 0, sizeof(*p)); + p->zP21 = (char*)&p[1]; + memcpy((char*)p->zP21, zP21, nP21+1); + if( p21Parse(p, pErrCtx, p->zP21) ){ + sqlite3_free(p); + return 0; + } + p->nP21 = nP21; + p->iHold = iMaxHold+1; + sqlite3_set_auxdata(pCtx, P21_CACHE_ID+iMinKey, p, + (void(*)(void*))p21ParseFree); + return (P21Parse*)sqlite3_get_auxdata(pCtx, P21_CACHE_ID+iMinKey); +} + +/* +** Compare the OBJECT label at pNode against zKey,nKey. Return true on +** a match. +*/ +static int p21LabelCompare(P21Node *pNode, const char *zKey, u32 nKey){ + if( pNode->jnFlags & PNODE_RAW ){ + if( pNode->n!=nKey ) return 0; + return strncmp(pNode->u.zJContent, zKey, nKey)==0; + }else{ + if( pNode->n!=nKey+2 ) return 0; + return strncmp(pNode->u.zJContent+1, zKey, nKey)==0; + } +} + +/* forward declaration */ +static P21Node *p21LookupAppend(P21Parse*,const char*,int*,const char**); + +/* +** Search along zPath to find the node specified. Return a pointer +** to that node, or NULL if zPath is malformed or if there is no such +** node. +** +** If pApnd!=0, then try to append new nodes to complete zPath if it is +** possible to do so and if no existing node corresponds to zPath. If +** new nodes are appended *pApnd is set to 1. +*/ +static P21Node *p21LookupStep( + P21Parse *pParse, /* The P21 to search */ + u32 iRoot, /* Begin the search at this node */ + const char *zPath, /* The path to search */ + int *pApnd, /* Append nodes to complete path if not NULL */ + const char **pzErr /* Make *pzErr point to any syntax error in zPath */ +){ + u32 i, j, nKey; + const char *zKey; + P21Node *pRoot = &pParse->aNode[iRoot]; + if( zPath[0]==0 ) return pRoot; + if( pRoot->jnFlags & PNODE_REPLACE ) return 0; + if( zPath[0]=='.' ){ + if( pRoot->eType!=P21_RECORD ) return 0; + zPath++; + if( zPath[0]=='"' ){ + zKey = zPath + 1; + for(i=1; zPath[i] && zPath[i]!='"'; i++){} + nKey = i-1; + if( zPath[i] ){ + i++; + }else{ + *pzErr = zPath; + return 0; + } + }else{ + zKey = zPath; + for(i=0; zPath[i] && zPath[i]!='.' && zPath[i]!='['; i++){} + nKey = i; + } + if( nKey==0 ){ + *pzErr = zPath; + return 0; + } + j = 1; + for(;;){ + while( j<=pRoot->n ){ + if( p21LabelCompare(pRoot+j, zKey, nKey) ){ + return p21LookupStep(pParse, iRoot+j+1, &zPath[i], pApnd, pzErr); + } + j++; + j += p21NodeSize(&pRoot[j]); + } + if( (pRoot->jnFlags & PNODE_APPEND)==0 ) break; + iRoot += pRoot->u.iAppend; + pRoot = &pParse->aNode[iRoot]; + j = 1; + } + if( pApnd ){ + u32 iStart, iLabel; + P21Node *pNode; + iStart = p21ParseAddNode(pParse, P21_RECORD, 2, 0); + iLabel = p21ParseAddNode(pParse, P21_STRING, nKey, zKey); + zPath += i; + pNode = p21LookupAppend(pParse, zPath, pApnd, pzErr); + if( pParse->oom ) return 0; + if( pNode ){ + pRoot = &pParse->aNode[iRoot]; + pRoot->u.iAppend = iStart - iRoot; + pRoot->jnFlags |= PNODE_APPEND; + pParse->aNode[iLabel].jnFlags |= PNODE_RAW; + } + return pNode; + } + }else if( zPath[0]=='[' ){ + i = 0; + j = 1; + while( safe_isdigit(zPath[j]) ){ + i = i*10 + zPath[j] - '0'; + j++; + } + if( j<2 || zPath[j]!=']' ){ + if( zPath[1]=='#' ){ + P21Node *pBase = pRoot; + int iBase = iRoot; + if( pRoot->eType!=P21_LIST && pRoot->eType!=P21_RECORD) return 0; + for(;;){ + while( j<=pBase->n ){ + if( (pBase[j].jnFlags & PNODE_REMOVE)==0 ) i++; + j += p21NodeSize(&pBase[j]); + } + if( (pBase->jnFlags & PNODE_APPEND)==0 ) break; + iBase += pBase->u.iAppend; + pBase = &pParse->aNode[iBase]; + j = 1; + } + j = 2; + if( zPath[2]=='-' && safe_isdigit(zPath[3]) ){ + unsigned int x = 0; + j = 3; + do{ + x = x*10 + zPath[j] - '0'; + j++; + }while( safe_isdigit(zPath[j]) ); + if( x>i ) return 0; + i -= x; + } + if( zPath[j]!=']' ){ + *pzErr = zPath; + return 0; + } + }else{ + *pzErr = zPath; + return 0; + } + } + if( pRoot->eType!=P21_LIST && pRoot->eType!=P21_RECORD ) return 0; + zPath += j + 1; + j = 1; + for(;;){ + while( j<=pRoot->n && (i>0 || (pRoot[j].jnFlags & PNODE_REMOVE)!=0) ){ + if( (pRoot[j].jnFlags & PNODE_REMOVE)==0 ) i--; + j += p21NodeSize(&pRoot[j]); + } + if( (pRoot->jnFlags & PNODE_APPEND)==0 ) break; + iRoot += pRoot->u.iAppend; + pRoot = &pParse->aNode[iRoot]; + j = 1; + } + if( j<=pRoot->n ){ + return p21LookupStep(pParse, iRoot+j, zPath, pApnd, pzErr); + } + if( i==0 && pApnd ){ + u32 iStart; + P21Node *pNode; + iStart = p21ParseAddNode(pParse, P21_LIST, 1, 0); + pNode = p21LookupAppend(pParse, zPath, pApnd, pzErr); + if( pParse->oom ) return 0; + if( pNode ){ + pRoot = &pParse->aNode[iRoot]; + pRoot->u.iAppend = iStart - iRoot; + pRoot->jnFlags |= PNODE_APPEND; + } + return pNode; + } + }else{ + *pzErr = zPath; + } + return 0; +} + +/* +** Append content to pParse that will complete zPath. Return a pointer +** to the inserted node, or return NULL if the append fails. +*/ +static P21Node *p21LookupAppend( + P21Parse *pParse, /* Append content to the P21 parse */ + const char *zPath, /* Description of content to append */ + int *pApnd, /* Set this flag to 1 */ + const char **pzErr /* Make this point to any syntax error */ +){ + *pApnd = 1; + if( zPath[0]==0 ){ + p21ParseAddNode(pParse, P21_EMPTY, 0, 0); + return pParse->oom ? 0 : &pParse->aNode[pParse->nNode-1]; + } + if( zPath[0]=='.' ){ + p21ParseAddNode(pParse, P21_RECORD, 0, 0); + }else if( strncmp(zPath,"[0]",3)==0 ){ + p21ParseAddNode(pParse, P21_LIST, 0, 0); + }else{ + return 0; + } + if( pParse->oom ) return 0; + return p21LookupStep(pParse, pParse->nNode-1, zPath, pApnd, pzErr); +} + +/* +** Return the text of a syntax error message on a P21 path. Space is +** obtained from sqlite3_malloc(). +*/ +static char *p21PathSyntaxError(const char *zErr){ + return sqlite3_mprintf("P21 path error near '%q'", zErr); +} + +/* +** Do a node lookup using zPath. Return a pointer to the node on success. +** Return NULL if not found or if there is an error. +** +** On an error, write an error message into pCtx and increment the +** pParse->nErr counter. +** +** If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if +** nodes are appended. +*/ +static P21Node *p21Lookup( + P21Parse *pParse, /* The P21 to search */ + const char *zPath, /* The path to search */ + int *pApnd, /* Append nodes to complete path if not NULL */ + sqlite3_context *pCtx /* Report errors here, if not NULL */ +){ + const char *zErr = 0; + P21Node *pNode = 0; + char *zMsg; + + if( zPath==0 ) return 0; + if( zPath[0]!='$' ){ + zErr = zPath; + goto lookup_err; + } + zPath++; + pNode = p21LookupStep(pParse, 0, zPath, pApnd, &zErr); + if( zErr==0 ) return pNode; + +lookup_err: + pParse->nErr++; + assert( zErr!=0 && pCtx!=0 ); + zMsg = p21PathSyntaxError(zErr); + if( zMsg ){ + sqlite3_result_error(pCtx, zMsg, -1); + sqlite3_free(zMsg); + }else{ + sqlite3_result_error_nomem(pCtx); + } + return 0; +} + + +/* +** Report the wrong number of arguments for p21_insert(), p21_replace() +** or p21_set(). +*/ +static void p21WrongNumArgs( + sqlite3_context *pCtx, + const char *zFuncName +){ + char *zMsg = sqlite3_mprintf("p21_%s() needs an odd number of arguments", + zFuncName); + sqlite3_result_error(pCtx, zMsg, -1); + sqlite3_free(zMsg); +} + +/* +** Mark all NULL entries in the Object passed in as PNODE_REMOVE. +*/ +static void p21RemoveAllNulls(P21Node *pNode){ + int i, n; + assert( pNode->eType==P21_RECORD ); + n = pNode->n; + for(i=2; i<=n; i += p21NodeSize(&pNode[i])+1){ + switch( pNode[i].eType ){ + case P21_EMPTY: + pNode[i].jnFlags |= PNODE_REMOVE; + break; + case P21_RECORD: + p21RemoveAllNulls(&pNode[i]); + break; + } + } +} + + +/**************************************************************************** +** SQL functions used for testing and debugging +****************************************************************************/ + +#ifdef SQLITE_DEBUG +/* +** The p21_parse(P21) function returns a string which describes +** a parse of the P21 provided. Or it returns NULL if P21 is not +** well-formed. +*/ +static void p21ParseFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21String s; /* Output string - not real P21 */ + P21Parse x; /* The parse */ + u32 i; + + assert( argc==1 ); + if( p21Parse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + p21ParseFindParents(&x); + p21Init(&s, ctx); + for(i=0; inNode ); + if( argc==2 ){ + const char *zPath = (const char*)sqlite3_value_text(argv[1]); + pNode = p21Lookup(p, zPath, 0, ctx); + }else{ + pNode = p->aNode; + } + if( pNode==0 ){ + return; + } + if( pNode->eType==P21_LIST ){ + assert( (pNode->jnFlags & PNODE_APPEND)==0 ); + for(i=1; i<=pNode->n; n++){ + i += p21NodeSize(&pNode[i]); + } + } + sqlite3_result_int64(ctx, n); +} + +/* +** p21_extract(P21, PATH, ...) +** +** Return the element described by PATH. Return NULL if there is no +** PATH element. If there are multiple PATHs, then return a P21 array +** with the result from each path. Throw an error if the P21 or any PATH +** is malformed. +*/ +static void p21ExtractFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse *p; /* The parse */ + P21Node *pNode; + const char *zPath; + P21String jx; + int i; + + if( argc<2 ) return; + p = p21ParseCached(ctx, argv, ctx); + if( p==0 ) return; + p21Init(&jx, ctx); + p21AppendChar(&jx, '['); + for(i=1; inErr ) break; + if( argc>2 ){ + p21AppendSeparator(&jx); + if( pNode ){ + p21RenderNode(pNode, &jx, 0); + }else{ + p21AppendRaw(&jx, "null", 4); + } + }else if( pNode ){ + p21Return(pNode, ctx, 0); + } + } + if( argc>2 && i==argc ){ + p21AppendChar(&jx, ']'); + p21Result(&jx); + sqlite3_result_subtype(ctx, P21_SUBTYPE); + } + p21Reset(&jx); +} + +#if 0 +/* TODO: a MergeRecord function could be useful + */ +static P21Node *p21MergePatch( + P21Parse *pParse, /* The P21 parser that contains the TARGET */ + u32 iTarget, /* Node of the TARGET in pParse */ + P21Node *pPatch /* The PATCH */ +){ + u32 i, j; + u32 iRoot; + P21Node *pTarget; + if( pPatch->eType!=P21_RECORD ){ + return pPatch; + } + assert( iTargetnNode ); + pTarget = &pParse->aNode[iTarget]; + assert( (pPatch->jnFlags & PNODE_APPEND)==0 ); + if( pTarget->eType!=P21_RECORD ){ + p21RemoveAllNulls(pPatch); + return pPatch; + } + iRoot = iTarget; + for(i=1; in; i += p21NodeSize(&pPatch[i+1])+1){ + u32 nKey; + const char *zKey; + assert( pPatch[i].eType==P21_STRING ); + assert( pPatch[i].jnFlags & PNODE_LABEL ); + nKey = pPatch[i].n; + zKey = pPatch[i].u.zJContent; + assert( (pPatch[i].jnFlags & PNODE_RAW)==0 ); + for(j=1; jn; j += p21NodeSize(&pTarget[j+1])+1 ){ + assert( pTarget[j].eType==P21_STRING ); + assert( pTarget[j].jnFlags & PNODE_LABEL ); + assert( (pPatch[i].jnFlags & PNODE_RAW)==0 ); + if( pTarget[j].n==nKey && strncmp(pTarget[j].u.zJContent,zKey,nKey)==0 ){ + if( pTarget[j+1].jnFlags & (PNODE_REMOVE|PNODE_PATCH) ) break; + if( pPatch[i+1].eType==P21_EMPTY ){ + pTarget[j+1].jnFlags |= PNODE_REMOVE; + }else{ + P21Node *pNew = p21MergePatch(pParse, iTarget+j+1, &pPatch[i+1]); + if( pNew==0 ) return 0; + pTarget = &pParse->aNode[iTarget]; + if( pNew!=&pTarget[j+1] ){ + pTarget[j+1].u.pPatch = pNew; + pTarget[j+1].jnFlags |= PNODE_PATCH; + } + } + break; + } + } + if( j>=pTarget->n && pPatch[i+1].eType!=P21_EMPTY ){ + int iStart, iPatch; + iStart = p21ParseAddNode(pParse, P21_RECORD, 2, 0); + p21ParseAddNode(pParse, P21_STRING, nKey, zKey); + iPatch = p21ParseAddNode(pParse, P21_TRUE, 0, 0); + if( pParse->oom ) return 0; + p21RemoveAllNulls(pPatch); + pTarget = &pParse->aNode[iTarget]; + pParse->aNode[iRoot].jnFlags |= PNODE_APPEND; + pParse->aNode[iRoot].u.iAppend = iStart - iRoot; + iRoot = iStart; + pParse->aNode[iPatch].jnFlags |= PNODE_PATCH; + pParse->aNode[iPatch].u.pPatch = &pPatch[i+1]; + } + } + return pTarget; +} + + +/* +** Implementation of the json_mergepatch(JSON1,JSON2) function. Return a P21 +** object that is the result of running the RFC 7396 MergePatch() algorithm +** on the two arguments. +*/ +static void p21PatchFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse x; /* The P21 that is being patched */ + P21Parse y; /* The patch */ + P21Node *pResult; /* The result of the merge */ + + UNUSED_PARAM(argc); + if( p21Parse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + if( p21Parse(&y, ctx, (const char*)sqlite3_value_text(argv[1])) ){ + p21ParseReset(&x); + return; + } + pResult = p21MergePatch(&x, 0, y.aNode); + assert( pResult!=0 || x.oom ); + if( pResult ){ + p21ReturnP21(pResult, ctx, 0); + }else{ + sqlite3_result_error_nomem(ctx); + } + p21ParseReset(&x); + p21ParseReset(&y); +} +#endif + +/* +** Implementation of the p21_object(NAME,VALUE,...) function. Return a P21 +** object that contains all name/value given in arguments. Or if any name +** is not a string or if any value is a BLOB, throw an error. +*/ +static void p21ObjectFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + int i; + P21String jx; + const char *z; + u32 n; + + if( argc&1 ){ + sqlite3_result_error(ctx, "p21_object() requires an even number " + "of arguments", -1); + return; + } + p21Init(&jx, ctx); + p21AppendChar(&jx, '{'); + for(i=0; ijnFlags |= PNODE_REMOVE; + } + if( (x.aNode[0].jnFlags & PNODE_REMOVE)==0 ){ + p21ReturnP21(x.aNode, ctx, 0); + } +remove_done: + p21ParseReset(&x); +} + +/* +** p21_replace(P21, PATH, VALUE, ...) +** +** Replace the value at PATH with VALUE. If PATH does not already exist, +** this routine is a no-op. If P21 or PATH is malformed, throw an error. +*/ +static void p21ReplaceFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse x; /* The parse */ + P21Node *pNode; + const char *zPath; + u32 i; + + if( argc<1 ) return; + if( (argc&1)==0 ) { + p21WrongNumArgs(ctx, "replace"); + return; + } + if( p21Parse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + assert( x.nNode ); + for(i=1; i<(u32)argc; i+=2){ + zPath = (const char*)sqlite3_value_text(argv[i]); + pNode = p21Lookup(&x, zPath, 0, ctx); + if( x.nErr ) goto replace_err; + if( pNode ){ + pNode->jnFlags |= (u8)PNODE_REPLACE; + pNode->u.iReplace = i + 1; + } + } + if( x.aNode[0].jnFlags & PNODE_REPLACE ){ + sqlite3_result_value(ctx, argv[x.aNode[0].u.iReplace]); + }else{ + p21ReturnP21(x.aNode, ctx, argv); + } +replace_err: + p21ParseReset(&x); +} + +/* +** p21_set(P21, PATH, VALUE, ...) +** +** Set the value at PATH to VALUE. Create the PATH if it does not already +** exist. Overwrite existing values that do exist. +** If P21 or PATH is malformed, throw an error. +** +** p21_insert(P21, PATH, VALUE, ...) +** +** Create PATH and initialize it to VALUE. If PATH already exists, this +** routine is a no-op. If P21 or PATH is malformed, throw an error. +*/ +static void p21SetFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse x; /* The parse */ + P21Node *pNode; + const char *zPath; + u32 i; + int bApnd; + int bIsSet = *(int*)sqlite3_user_data(ctx); + + if( argc<1 ) return; + if( (argc&1)==0 ) { + p21WrongNumArgs(ctx, bIsSet ? "set" : "insert"); + return; + } + if( p21Parse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + assert( x.nNode ); + for(i=1; i<(u32)argc; i+=2){ + zPath = (const char*)sqlite3_value_text(argv[i]); + bApnd = 0; + pNode = p21Lookup(&x, zPath, &bApnd, ctx); + if( x.oom ){ + sqlite3_result_error_nomem(ctx); + goto p21SetDone; + }else if( x.nErr ){ + goto p21SetDone; + }else if( pNode && (bApnd || bIsSet) ){ + pNode->jnFlags |= (u8)PNODE_REPLACE; + pNode->u.iReplace = i + 1; + } + } + if( x.aNode[0].jnFlags & PNODE_REPLACE ){ + sqlite3_result_value(ctx, argv[x.aNode[0].u.iReplace]); + }else{ + p21ReturnP21(x.aNode, ctx, argv); + } +p21SetDone: + p21ParseReset(&x); +} + +/* +** p21_type(P21) +** p21_type(P21, PATH) +** +** Return the top-level "type" of a P21 string. Throw an error if +** either the P21 or PATH inputs are not well-formed. +*/ +static void p21TypeFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse *p; /* The parse */ + const char *zPath; + P21Node *pNode; + + p = p21ParseCached(ctx, argv, ctx); + if( p==0 ) return; + if( argc==2 ){ + zPath = (const char*)sqlite3_value_text(argv[1]); + pNode = p21Lookup(p, zPath, 0, ctx); + }else{ + pNode = p->aNode; + } + if( pNode ){ + sqlite3_result_text(ctx, p21Type[pNode->eType], -1, SQLITE_STATIC); + } +} + +/* +** p21_valid(P21) +** +** Return 1 if P21 is a well-formed P21 string according to RFC-7159. +** Return 0 otherwise. +*/ +static void p21ValidFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse *p; /* The parse */ + UNUSED_PARAM(argc); + p = p21ParseCached(ctx, argv, 0); + sqlite3_result_int(ctx, p!=0); +} + + +/**************************************************************************** +** Aggregate SQL function implementations +****************************************************************************/ +/* +** p21_group_array(VALUE) +** +** Return a P21 array composed of all values in the aggregate. +*/ +static void p21ArrayStep( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21String *pStr; + UNUSED_PARAM(argc); + pStr = (P21String*)sqlite3_aggregate_context(ctx, sizeof(*pStr)); + if( pStr ){ + if( pStr->zBuf==0 ){ + p21Init(pStr, ctx); + p21AppendChar(pStr, '['); + }else if( pStr->nUsed>1 ){ + p21AppendChar(pStr, ','); + pStr->pCtx = ctx; + } + p21AppendValue(pStr, argv[0]); + } +} +static void p21ArrayCompute(sqlite3_context *ctx, int isFinal){ + P21String *pStr; + pStr = (P21String*)sqlite3_aggregate_context(ctx, 0); + if( pStr ){ + pStr->pCtx = ctx; + p21AppendChar(pStr, ']'); + if( pStr->bErr ){ + if( pStr->bErr==1 ) sqlite3_result_error_nomem(ctx); + assert( pStr->bStatic ); + }else if( isFinal ){ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, + pStr->bStatic ? SQLITE_TRANSIENT : sqlite3_free); + pStr->bStatic = 1; + }else{ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, SQLITE_TRANSIENT); + pStr->nUsed--; + } + }else{ + sqlite3_result_text(ctx, "[]", 2, SQLITE_STATIC); + } + sqlite3_result_subtype(ctx, P21_SUBTYPE); +} +static void p21ArrayValue(sqlite3_context *ctx){ + p21ArrayCompute(ctx, 0); +} +static void p21ArrayFinal(sqlite3_context *ctx){ + p21ArrayCompute(ctx, 1); +} + +#ifndef SQLITE_OMIT_WINDOWFUNC +/* +** This method works for both p21_group_array() and p21_group_object(). +** It works by removing the first element of the group by searching forward +** to the first comma (",") that is not within a string and deleting all +** text through that comma. +*/ +static void p21GroupInverse( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + unsigned int i; + int inStr = 0; + int nNest = 0; + char *z; + char c; + P21String *pStr; + UNUSED_PARAM(argc); + UNUSED_PARAM(argv); + pStr = (P21String*)sqlite3_aggregate_context(ctx, 0); +#ifdef NEVER + /* pStr is always non-NULL since p21ArrayStep() or p21ObjectStep() will + ** always have been called to initalize it */ + if( NEVER(!pStr) ) return; +#endif + z = pStr->zBuf; + for(i=1; (c = z[i])!=',' || inStr || nNest; i++){ + if( i>=pStr->nUsed ){ + pStr->nUsed = 1; + return; + } + if( c=='"' ){ + inStr = !inStr; + }else if( c=='\\' ){ + i++; + }else if( !inStr ){ + if( c=='{' || c=='[' ) nNest++; + if( c=='}' || c==']' ) nNest--; + } + } + pStr->nUsed -= i; + memmove(&z[1], &z[i+1], (size_t)pStr->nUsed-1); +} +#else +# define p21GroupInverse 0 +#endif + + +/* +** p21_group_obj(NAME,VALUE) +** +** Return a P21 object composed of all names and values in the aggregate. +*/ +static void p21ObjectStep( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21String *pStr; + const char *z; + u32 n; + UNUSED_PARAM(argc); + pStr = (P21String*)sqlite3_aggregate_context(ctx, sizeof(*pStr)); + if( pStr ){ + if( pStr->zBuf==0 ){ + p21Init(pStr, ctx); + p21AppendChar(pStr, '{'); + }else if( pStr->nUsed>1 ){ + p21AppendChar(pStr, ','); + pStr->pCtx = ctx; + } + z = (const char*)sqlite3_value_text(argv[0]); + n = (u32)sqlite3_value_bytes(argv[0]); + p21AppendString(pStr, z, n); + p21AppendChar(pStr, ':'); + p21AppendValue(pStr, argv[1]); + } +} +static void p21ObjectCompute(sqlite3_context *ctx, int isFinal){ + P21String *pStr; + pStr = (P21String*)sqlite3_aggregate_context(ctx, 0); + if( pStr ){ + p21AppendChar(pStr, '}'); + if( pStr->bErr ){ + if( pStr->bErr==1 ) sqlite3_result_error_nomem(ctx); + assert( pStr->bStatic ); + }else if( isFinal ){ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, + pStr->bStatic ? SQLITE_TRANSIENT : sqlite3_free); + pStr->bStatic = 1; + }else{ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, SQLITE_TRANSIENT); + pStr->nUsed--; + } + }else{ + sqlite3_result_text(ctx, "{}", 2, SQLITE_STATIC); + } + sqlite3_result_subtype(ctx, P21_SUBTYPE); +} +static void p21ObjectValue(sqlite3_context *ctx){ + p21ObjectCompute(ctx, 0); +} +static void p21ObjectFinal(sqlite3_context *ctx){ + p21ObjectCompute(ctx, 1); +} + + + +#ifndef SQLITE_OMIT_VIRTUALTABLE +/**************************************************************************** +** The p21_each virtual table +****************************************************************************/ +typedef struct P21EachCursor P21EachCursor; +struct P21EachCursor { + sqlite3_vtab_cursor base; /* Base class - must be first */ + u32 iRowid; /* The rowid */ + u32 iBegin; /* The first node of the scan */ + u32 i; /* Index in sParse.aNode[] of current row */ + u32 iEnd; /* EOF when i equals or exceeds this value */ + u8 eType; /* Type of top-level element */ + char *zP21; /* Input P21 */ + char *zRoot; /* Path by which to filter zP21 */ + P21Parse sParse; /* Parse of the input P21 */ +}; + +/* Constructor for the p21_each virtual table */ +static int p21EachConnect( + sqlite3 *db, + void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVtab, + char **pzErr +){ + sqlite3_vtab *pNew; + int rc; + +/* Column numbers */ +#define PEACH_KEY 0 +#define PEACH_VALUE 1 +#define PEACH_TYPE 2 +#define PEACH_ATOM 3 +#define PEACH_ID 4 +#define PEACH_PARENT 5 +#define PEACH_FULLKEY 6 +#define PEACH_PATH 7 +/* The xBestIndex method assumes that the P21 and ROOT columns are +** the last two columns in the table. Should this ever changes, be +** sure to update the xBestIndex method. */ +#define PEACH_P21 8 +#define PEACH_ROOT 9 + + UNUSED_PARAM(pzErr); + UNUSED_PARAM(argv); + UNUSED_PARAM(argc); + UNUSED_PARAM(pAux); + rc = sqlite3_declare_vtab(db, + "CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path," + "p21 HIDDEN,root HIDDEN)"); + if( rc==SQLITE_OK ){ + pNew = *ppVtab = sqlite3_malloc( sizeof(*pNew) ); + if( pNew==0 ) return SQLITE_NOMEM; + memset(pNew, 0, sizeof(*pNew)); + sqlite3_vtab_config(db, SQLITE_VTAB_INNOCUOUS); + } + return rc; +} + +/* destructor for p21_each virtual table */ +static int p21EachDisconnect(sqlite3_vtab *pVtab){ + sqlite3_free(pVtab); + return SQLITE_OK; +} + +/* constructor for a P21EachCursor object for p21_each(). */ +static int p21EachOpenEach(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){ + P21EachCursor *pCur; + + UNUSED_PARAM(p); + pCur = sqlite3_malloc( sizeof(*pCur) ); + if( pCur==0 ) return SQLITE_NOMEM; + memset(pCur, 0, sizeof(*pCur)); + *ppCursor = &pCur->base; + return SQLITE_OK; +} + +/* Reset a P21EachCursor back to its original state. Free any memory +** held. */ +static void p21EachCursorReset(P21EachCursor *p){ + sqlite3_free(p->zP21); + sqlite3_free(p->zRoot); + p21ParseReset(&p->sParse); + p->iRowid = 0; + p->i = 0; + p->iEnd = 0; + p->eType = 0; + p->zP21 = 0; + p->zRoot = 0; +} + +/* Destructor for a p21EachCursor object */ +static int p21EachClose(sqlite3_vtab_cursor *cur){ + P21EachCursor *p = (P21EachCursor*)cur; + p21EachCursorReset(p); + sqlite3_free(cur); + return SQLITE_OK; +} + +/* Return TRUE if the p21EachCursor object has been advanced off the end +** of the P21 object */ +static int p21EachEof(sqlite3_vtab_cursor *cur){ + P21EachCursor *p = (P21EachCursor*)cur; + return p->i >= p->iEnd; +} + +/* Advance the cursor to the next element for p21_tree() */ +static int p21EachNext(sqlite3_vtab_cursor *cur){ + P21EachCursor *p = (P21EachCursor*)cur; + switch( p->eType ){ + case P21_RECORD: + case P21_LIST: { + p->i += p21NodeSize(&p->sParse.aNode[p->i]); + p->iRowid++; + break; + } + default: { + p->i = p->iEnd; + break; + } + } + return SQLITE_OK; +} + +/* Append the name of the path for element i to pStr +*/ +static void p21EachComputePath( + P21EachCursor *p, /* The cursor */ + P21String *pStr, /* Write the path here */ + u32 i /* Path to this element */ +){ + P21Node *pNode, *pUp; + u32 iUp; + if( i==0 ){ + p21AppendChar(pStr, '$'); + return; + } + iUp = p->sParse.aUp[i]; + p21EachComputePath(p, pStr, iUp); + pNode = &p->sParse.aNode[i]; + pUp = &p->sParse.aNode[iUp]; + if( pUp->eType==P21_LIST ){ + p21Printf(30, pStr, "[%d]", pUp->u.iKey); + }else{ + assert( pUp->eType==P21_RECORD ); + if( (pNode->jnFlags & PNODE_LABEL)==0 ) pNode--; + assert( pNode->eType==P21_STRING ); + assert( pNode->jnFlags & PNODE_LABEL ); + p21Printf(pNode->n+1, pStr, ".%.*s", pNode->n-2, pNode->u.zJContent+1); + } +} + +/* Return the value of a column */ +static int p21EachColumn( + sqlite3_vtab_cursor *cur, /* The cursor */ + sqlite3_context *ctx, /* First argument to sqlite3_result_...() */ + int i /* Which column to return */ +){ + P21EachCursor *p = (P21EachCursor*)cur; + P21Node *pThis = &p->sParse.aNode[p->i]; + switch( i ){ + case PEACH_KEY: { + if( p->i==0 ) break; + if( p->eType==P21_RECORD ){ + p21Return(pThis, ctx, 0); + }else if( p->eType==P21_LIST ){ + u32 iKey; + iKey = p->iRowid; + sqlite3_result_int64(ctx, (sqlite3_int64)iKey); + } + break; + } + case PEACH_VALUE: { + if( pThis->jnFlags & PNODE_LABEL ) pThis++; + p21Return(pThis, ctx, 0); + break; + } + case PEACH_TYPE: { + if( pThis->jnFlags & PNODE_LABEL ) pThis++; + sqlite3_result_text(ctx, p21Type[pThis->eType], -1, SQLITE_STATIC); + break; + } + case PEACH_ATOM: { + if( pThis->jnFlags & PNODE_LABEL ) pThis++; + if( pThis->eType>=P21_LIST ) break; + p21Return(pThis, ctx, 0); + break; + } + case PEACH_ID: { + sqlite3_result_int64(ctx, + (sqlite3_int64)p->i + ((pThis->jnFlags & PNODE_LABEL)!=0)); + break; + } + case PEACH_FULLKEY: { + P21String x; + p21Init(&x, ctx); + if( p->zRoot ){ + p21AppendRaw(&x, p->zRoot, (int)strlen(p->zRoot)); + }else{ + p21AppendChar(&x, '$'); + } + if( p->eType==P21_LIST ){ + p21Printf(30, &x, "[%d]", p->iRowid); + }else if( p->eType==P21_RECORD ){ + p21Printf(pThis->n, &x, ".%.*s", pThis->n-2, pThis->u.zJContent+1); + } + p21Result(&x); + break; + } + case PEACH_PATH: + default: { + const char *zRoot = p->zRoot; + if( zRoot==0 ) zRoot = "$"; + sqlite3_result_text(ctx, zRoot, -1, SQLITE_STATIC); + break; + } + case PEACH_P21: { + assert( i==PEACH_P21 ); + sqlite3_result_text(ctx, p->sParse.zP21, -1, SQLITE_STATIC); + break; + } + } + return SQLITE_OK; +} + +/* Return the current rowid value */ +static int p21EachRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){ + P21EachCursor *p = (P21EachCursor*)cur; + *pRowid = p->iRowid; + return SQLITE_OK; +} + +/* The query strategy is to look for an equality constraint on the p21 +** column. Without such a constraint, the table cannot operate. idxNum is +** 1 if the constraint is found, 3 if the constraint and zRoot are found, +** and 0 otherwise. +*/ +static int p21EachBestIndex( + sqlite3_vtab *tab, + sqlite3_index_info *pIdxInfo +){ + int i; /* Loop counter or computed array index */ + int aIdx[2]; /* Index of constraints for P21 and ROOT */ + int unusableMask = 0; /* Mask of unusable P21 and ROOT constraints */ + int idxMask = 0; /* Mask of usable == constraints P21 and ROOT */ + const struct sqlite3_index_constraint *pConstraint; + + /* This implementation assumes that P21 and ROOT are the last two + ** columns in the table */ + assert( PEACH_ROOT == PEACH_P21+1 ); + UNUSED_PARAM(tab); + aIdx[0] = aIdx[1] = -1; + pConstraint = pIdxInfo->aConstraint; + for(i=0; inConstraint; i++, pConstraint++){ + int iCol; + int iMask; + if( pConstraint->iColumn < PEACH_P21 ) continue; + iCol = pConstraint->iColumn - PEACH_P21; + assert( iCol==0 || iCol==1 ); + iMask = 1 << iCol; + if( pConstraint->usable==0 ){ + unusableMask |= iMask; + }else if( pConstraint->op==SQLITE_INDEX_CONSTRAINT_EQ ){ + aIdx[iCol] = i; + idxMask |= iMask; + } + } + if( (unusableMask & ~idxMask)!=0 ){ + /* If there are any unusable constraints on P21 or ROOT, then reject + ** this entire plan */ + return SQLITE_CONSTRAINT; + } + if( aIdx[0]<0 ){ + /* No P21 input. Leave estimatedCost at the huge value that it was + ** initialized to to discourage the query planner from selecting this + ** plan. */ + pIdxInfo->idxNum = 0; + }else{ + pIdxInfo->estimatedCost = 1.0; + i = aIdx[0]; + pIdxInfo->aConstraintUsage[i].argvIndex = 1; + pIdxInfo->aConstraintUsage[i].omit = 1; + if( aIdx[1]<0 ){ + pIdxInfo->idxNum = 1; /* Only P21 supplied. Plan 1 */ + }else{ + i = aIdx[1]; + pIdxInfo->aConstraintUsage[i].argvIndex = 2; + pIdxInfo->aConstraintUsage[i].omit = 1; + pIdxInfo->idxNum = 3; /* Both P21 and ROOT are supplied. Plan 3 */ + } + } + return SQLITE_OK; +} + +/* Start a search on a new P21 string */ +static int p21EachFilter( + sqlite3_vtab_cursor *cur, + int idxNum, const char *idxStr, + int argc, sqlite3_value **argv +){ + P21EachCursor *p = (P21EachCursor*)cur; + const char *z; + const char *zRoot = 0; + sqlite3_int64 n; + + UNUSED_PARAM(idxStr); + UNUSED_PARAM(argc); + p21EachCursorReset(p); + if( idxNum==0 ) return SQLITE_OK; + z = (const char*)sqlite3_value_text(argv[0]); + if( z==0 ) return SQLITE_OK; + n = sqlite3_value_bytes(argv[0]); + p->zP21 = sqlite3_malloc64( n+1 ); + if( p->zP21==0 ) return SQLITE_NOMEM; + memcpy(p->zP21, z, (size_t)n+1); + if( p21Parse(&p->sParse, 0, p->zP21) ){ + int rc = SQLITE_NOMEM; + if( p->sParse.oom==0 ){ + sqlite3_free(cur->pVtab->zErrMsg); + cur->pVtab->zErrMsg = sqlite3_mprintf("malformed P21"); + if( cur->pVtab->zErrMsg ) rc = SQLITE_ERROR; + } + p21EachCursorReset(p); + return rc; + }else{ + P21Node *pNode = 0; + if( idxNum==3 ){ + const char *zErr = 0; + zRoot = (const char*)sqlite3_value_text(argv[1]); + if( zRoot==0 ) return SQLITE_OK; + n = sqlite3_value_bytes(argv[1]); + p->zRoot = sqlite3_malloc64( n+1 ); + if( p->zRoot==0 ) return SQLITE_NOMEM; + memcpy(p->zRoot, zRoot, (size_t)n+1); + if( zRoot[0]!='$' ){ + zErr = zRoot; + }else{ + pNode = p21LookupStep(&p->sParse, 0, p->zRoot+1, 0, &zErr); + } + if( zErr ){ + sqlite3_free(cur->pVtab->zErrMsg); + cur->pVtab->zErrMsg = p21PathSyntaxError(zErr); + p21EachCursorReset(p); + return cur->pVtab->zErrMsg ? SQLITE_ERROR : SQLITE_NOMEM; + }else if( pNode==0 ){ + return SQLITE_OK; + } + }else{ + pNode = p->sParse.aNode; + } + p->iBegin = p->i = (int)(pNode - p->sParse.aNode); + p->eType = pNode->eType; + if( p->eType>=P21_LIST ){ + pNode->u.iKey = 0; + p->iEnd = p->i + pNode->n + 1; + p->i++; + }else{ + p->iEnd = p->i+1; + } + } + return SQLITE_OK; +} + +/* The methods of the p21_each virtual table */ +static sqlite3_module p21EachModule = { + 0, /* iVersion */ + 0, /* xCreate */ + p21EachConnect, /* xConnect */ + p21EachBestIndex, /* xBestIndex */ + p21EachDisconnect, /* xDisconnect */ + 0, /* xDestroy */ + p21EachOpenEach, /* xOpen - open a cursor */ + p21EachClose, /* xClose - close a cursor */ + p21EachFilter, /* xFilter - configure scan constraints */ + p21EachNext, /* xNext - advance a cursor */ + p21EachEof, /* xEof - check for end of scan */ + p21EachColumn, /* xColumn - read data */ + p21EachRowid, /* xRowid - read data */ + 0, /* xUpdate */ + 0, /* xBegin */ + 0, /* xSync */ + 0, /* xCommit */ + 0, /* xRollback */ + 0, /* xFindMethod */ + 0, /* xRename */ + 0, /* xSavepoint */ + 0, /* xRelease */ + 0, /* xRollbackTo */ + 0 /* xShadowName */ +}; + +#endif /* SQLITE_OMIT_VIRTUALTABLE */ + +/**************************************************************************** +** The following routines are the only publically visible identifiers in this +** file. Call the following routines in order to register the various SQL +** functions and the virtual table implemented by this file. +****************************************************************************/ + +int sqlite3P21sqlInit(sqlite3 *db){ + int rc = SQLITE_OK; + unsigned int i; + static const struct { + const char *zName; + int nArg; + int flag; + void (*xFunc)(sqlite3_context*,int,sqlite3_value**); + } aFunc[] = { + { "p21", 1, 0, p21RemoveFunc }, + { "p21_array", -1, 0, p21ArrayFunc }, + { "p21_array_length", 1, 0, p21ArrayLengthFunc }, + { "p21_array_length", 2, 0, p21ArrayLengthFunc }, + { "p21_extract", -1, 0, p21ExtractFunc }, + { "p21_insert", -1, 0, p21SetFunc }, + { "p21_object", -1, 0, p21ObjectFunc }, +#if 0 + { "p21_patch", 2, 0, p21PatchFunc }, +#endif + { "p21_quote", 1, 0, p21QuoteFunc }, + { "p21_remove", -1, 0, p21RemoveFunc }, + { "p21_replace", -1, 0, p21ReplaceFunc }, + { "p21_set", -1, 1, p21SetFunc }, + { "p21_type", 1, 0, p21TypeFunc }, + { "p21_type", 2, 0, p21TypeFunc }, + { "p21_valid", 1, 0, p21ValidFunc }, + +#if SQLITE_DEBUG + /* DEBUG and TESTING functions */ + { "p21_parse", 1, 0, p21ParseFunc }, + { "p21_test1", 1, 0, p21Test1Func }, +#endif + }; + static const struct { + const char *zName; + int nArg; + void (*xStep)(sqlite3_context*,int,sqlite3_value**); + void (*xFinal)(sqlite3_context*); + void (*xValue)(sqlite3_context*); + } aAgg[] = { + { "p21_group_array", 1, + p21ArrayStep, p21ArrayFinal, p21ArrayValue }, + { "p21_group_object", 2, + p21ObjectStep, p21ObjectFinal, p21ObjectValue }, + }; +#ifndef SQLITE_OMIT_VIRTUALTABLE + static const struct { + const char *zName; + sqlite3_module *pModule; + } aMod[] = { + { "p21_each", &p21EachModule }, + }; +#endif + static const int enc = + SQLITE_UTF8 | + SQLITE_DETERMINISTIC | + SQLITE_INNOCUOUS; + for(i=0; i +#include +#include +#include + +/* Mark a function parameter as unused, to suppress nuisance compiler +** warnings. */ +#ifndef UNUSED_PARAM +# define UNUSED_PARAM(X) (void)(X) +#endif + +#ifndef LARGEST_INT64 +# define LARGEST_INT64 (0xffffffff|(((sqlite3_int64)0x7fffffff)<<32)) +# define SMALLEST_INT64 (((sqlite3_int64)-1) - LARGEST_INT64) +#endif + +/* +** Versions of isspace(), isalnum() and isdigit() to which it is safe +** to pass signed char values. +*/ +#ifdef sqlite3Isdigit + /* Use the SQLite core versions if this routine is part of the + ** SQLite amalgamation */ +# define safe_isdigit(x) sqlite3Isdigit(x) +# define safe_isalnum(x) sqlite3Isalnum(x) +# define safe_isxdigit(x) sqlite3Isxdigit(x) +#else + /* Use the standard library for separate compilation */ +#include /* amalgamator: keep */ +# define safe_isdigit(x) isdigit((unsigned char)(x)) +# define safe_isalnum(x) isalnum((unsigned char)(x)) +# define safe_isxdigit(x) isxdigit((unsigned char)(x)) +#endif + +/* +** Growing our own isspace() routine this way is twice as fast as +** the library isspace() function, resulting in a 7% overall performance +** increase for the parser. (Ubuntu14.10 gcc 4.8.4 x64 with -Os). +*/ +static const char p21IsSpace[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +}; +#define safe_isspace(x) (p21IsSpace[(unsigned char)x]) + +#ifndef SQLITE_AMALGAMATION + /* Unsigned integer types. These are already defined in the sqliteInt.h, + ** but the definitions need to be repeated for separate compilation. */ + typedef sqlite3_uint64 u64; + typedef unsigned int u32; + typedef unsigned short int u16; + typedef unsigned char u8; +#endif + +/* some C implementations don't have these? (inttypes.h / stdint.h) */ +#ifndef UINT16_WIDTH +# define UINT16_WIDTH 16 +#endif +#ifndef UINT16_MAX +# define UINT16_MAX 65535 +#endif + +/* Objects */ +typedef struct P21String P21String; +typedef struct P21Node P21Node; +typedef struct P21Parse P21Parse; + +/* An instance of this object represents a P21 parameter string +** under construction. Really, this is a generic string accumulator +** that can be and is used to create strings other than JSON (here P21!). +*/ +struct P21String { + sqlite3_context *pCtx; /* Function context - put error messages here */ + char *zBuf; /* Append P21 content here */ + u64 nAlloc; /* Bytes of storage available in zBuf[] */ + u64 nUsed; /* Bytes of zBuf[] currently used */ + u8 bStatic; /* True if zBuf is static space */ + u8 bErr; /* True if an error has been encountered */ + char zSpace[100]; /* Initial static space */ +}; + +#define P21_EMPTY 0x1 /* optional attribute not provided : '$' */ +#define P21_DERIVED 0x2 /* derived attribute not provided : '*' */ +#define P21_ENUMERATION 0x3 /* (also) includes boolean and logical values */ +#define P21_INTEGER 0x4 +#define P21_REAL 0x5 +#define P21_STRING 0x6 +#define P21_BINARY 0x7 +#define P21_EID 0x8 /* entity_instance_name */ +#define P21_LIST 0x9 +#define P21_RECORD 0xA /* simple_record */ + +#define P21_SUBTYPE 80 /* Ascii for "P" */ + + +/* +** Names of the various P21 types: +*/ +static const char * const p21Type[] = { + "", + "empty", "derived", "enumeration", "integer", "real", + "string", "binary", "eid", "list", "record" +}; + +/* Bit values for the P21Node.jnFlag field +*/ +#define PNODE_RAW 0x01 /* Content is raw, not P21 encoded */ +#define PNODE_ESCAPE 0x02 /* Content is text with \ escapes */ +#define PNODE_REMOVE 0x04 /* Do not output */ +#define PNODE_REPLACE 0x08 /* Replace with P21Node.u.iReplace */ +#define PNODE_PATCH 0x10 /* Patch with P21Node.u.pPatch */ +#define PNODE_APPEND 0x20 /* More ARRAY/OBJECT entries at u.iAppend */ +#define PNODE_LABEL 0x40 /* Is a label of an object */ + + +/* A single node of parsed P21 params +*/ +struct P21Node { + u8 eType; /* One of the P21_ type values */ + u8 jnFlags; /* P21Node flags */ + u16 n_kw; /* store the KEYWORD length */ + u32 n; /* Bytes of content, or number of sub-nodes */ + union { + const char *zJContent; /* Content for INT, REAL, and STRING */ + u32 iAppend; /* More terms for ARRAY and OBJECT */ + u32 iKey; /* Key for ARRAY objects in p21_tree() */ + u32 iReplace; /* Replacement content for PNODE_REPLACE */ + P21Node *pPatch; /* Node chain of patch for PNODE_PATCH */ + } u; +}; + +/* A completely parsed P21 string +*/ +struct P21Parse { + u32 nNode; /* Number of slots of aNode[] used */ + u32 nAlloc; /* Number of slots of aNode[] allocated */ + P21Node *aNode; /* Array of nodes containing the parse */ + const char *zP21; /* Original P21 string */ + u32 *aUp; /* Index of parent of each node */ + u8 oom; /* Set to true if out of memory */ + u8 nErr; /* Number of errors seen */ + u16 iDepth; /* Nesting depth */ + int nP21; /* Length of the zP21 string in bytes */ + u32 iHold; /* Replace cache line with the lowest iHold value */ +}; + +/* +** Maximum nesting depth of P21 for this implementation. +*/ +#define P21_MAX_DEPTH 20 + +/************************************************************************** +** Utility routines for dealing with P21String objects +**************************************************************************/ + +/* Set the P21String object to an empty string +*/ +static void p21Zero(P21String *p){ + p->zBuf = p->zSpace; + p->nAlloc = sizeof(p->zSpace); + p->nUsed = 0; + p->bStatic = 1; +} + +/* Initialize the P21String object +*/ +static void p21Init(P21String *p, sqlite3_context *pCtx){ + p->pCtx = pCtx; + p->bErr = 0; + p21Zero(p); +} + + +/* Free all allocated memory and reset the P21String object back to its +** initial state. +*/ +static void p21Reset(P21String *p){ + if( !p->bStatic ) sqlite3_free(p->zBuf); + p21Zero(p); +} + + +/* Report an out-of-memory (OOM) condition +*/ +static void p21Oom(P21String *p){ + p->bErr = 1; + sqlite3_result_error_nomem(p->pCtx); + p21Reset(p); +} + +/* Enlarge p->zBuf so that it can hold at least N more bytes. +** Return zero on success. Return non-zero on an OOM error +*/ +static int p21Grow(P21String *p, u32 N){ + u64 nTotal = NnAlloc ? p->nAlloc*2 : p->nAlloc+N+10; + char *zNew; + if( p->bStatic ){ + if( p->bErr ) return 1; + zNew = sqlite3_malloc64(nTotal); + if( zNew==0 ){ + p21Oom(p); + return SQLITE_NOMEM; + } + memcpy(zNew, p->zBuf, (size_t)p->nUsed); + p->zBuf = zNew; + p->bStatic = 0; + }else{ + zNew = sqlite3_realloc64(p->zBuf, nTotal); + if( zNew==0 ){ + p21Oom(p); + return SQLITE_NOMEM; + } + p->zBuf = zNew; + } + p->nAlloc = nTotal; + return SQLITE_OK; +} + +/* Append N bytes from zIn onto the end of the P21String string. +*/ +static void p21AppendRaw(P21String *p, const char *zIn, u32 N){ + if( (N+p->nUsed >= p->nAlloc) && p21Grow(p,N)!=0 ) return; + memcpy(p->zBuf+p->nUsed, zIn, N); + p->nUsed += N; +} + +/* Append formatted text (not to exceed N bytes) to the P21String. +*/ +static void p21Printf(int N, P21String *p, const char *zFormat, ...){ + va_list ap; + if( (p->nUsed + N >= p->nAlloc) && p21Grow(p, N) ) return; + va_start(ap, zFormat); + sqlite3_vsnprintf(N, p->zBuf+p->nUsed, zFormat, ap); + va_end(ap); + p->nUsed += (int)strlen(p->zBuf+p->nUsed); +} + +/* Append a single character +*/ +static void p21AppendChar(P21String *p, char c){ + if( p->nUsed>=p->nAlloc && p21Grow(p,1)!=0 ) return; + p->zBuf[p->nUsed++] = c; +} + +/* Append a comma separator to the output buffer, if the previous +** character is not '[' or '{'. +*/ +static void p21AppendSeparator(P21String *p){ + char c; + if( p->nUsed==0 ) return; + c = p->zBuf[p->nUsed-1]; + if( c!='(' ) p21AppendChar(p, ','); +} + +/* Append the N-byte string in zIn to the end of the P21String string +** under construction. Enclose the string in '...' and escape +** any double-quotes or backslash characters contained within the +** string. +*/ +static void p21AppendString(P21String *p, const char *zIn, u32 N){ + u32 i; + if( (N+p->nUsed+2 >= p->nAlloc) && p21Grow(p,N+2)!=0 ) return; + p->zBuf[p->nUsed++] = '\''; + for(i=0; inUsed+N+3-i > p->nAlloc) && p21Grow(p,N+3-i)!=0 ) return; + p->zBuf[p->nUsed++] = '\\'; + }else if( c<=0x1f ){ + static const char aSpecial[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 'b', 't', 'n', 0, 'f', 'r', 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + assert( sizeof(aSpecial)==32 ); + assert( aSpecial['\b']=='b' ); + assert( aSpecial['\f']=='f' ); + assert( aSpecial['\n']=='n' ); + assert( aSpecial['\r']=='r' ); + assert( aSpecial['\t']=='t' ); + if( aSpecial[c] ){ + c = aSpecial[c]; + goto p21_simple_escape; + } + if( (p->nUsed+N+7+i > p->nAlloc) && p21Grow(p,N+7-i)!=0 ) return; + p->zBuf[p->nUsed++] = '\\'; + p->zBuf[p->nUsed++] = 'u'; + p->zBuf[p->nUsed++] = '0'; + p->zBuf[p->nUsed++] = '0'; + p->zBuf[p->nUsed++] = '0' + (c>>4); + c = "0123456789abcdef"[c&0xf]; + } + p->zBuf[p->nUsed++] = c; + } + p->zBuf[p->nUsed++] = '\''; + assert( p->nUsednAlloc ); +} + +/* +** Append a function parameter value to the P21 string under +** construction. +*/ +static void p21AppendValue( + P21String *p, /* Append to this P21 string */ + sqlite3_value *pValue /* Value to append */ +){ + switch( sqlite3_value_type(pValue) ){ + case SQLITE_NULL: { + p21AppendRaw(p, "$", 1); + break; + } + case SQLITE_INTEGER: + case SQLITE_FLOAT: { + const char *z = (const char*)sqlite3_value_text(pValue); + /* TODO: confirm format is valid */ + u32 n = (u32)sqlite3_value_bytes(pValue); + p21AppendRaw(p, z, n); + break; + } + case SQLITE_TEXT: { + const char *z = (const char*)sqlite3_value_text(pValue); + u32 n = (u32)sqlite3_value_bytes(pValue); + if( sqlite3_value_subtype(pValue)==P21_SUBTYPE ){ + p21AppendRaw(p, z, n); + }else{ + p21AppendString(p, z, n); + } + break; + } + default: { + if( p->bErr==0 ){ + sqlite3_result_error(p->pCtx, "P21 cannot hold BLOB values", -1); + p->bErr = 2; + p21Reset(p); + } + break; + } + } +} + + +/* Make the P21 in p the result of the SQL function. +*/ +static void p21Result(P21String *p){ + if( p->bErr==0 ){ + sqlite3_result_text64(p->pCtx, p->zBuf, p->nUsed, + p->bStatic ? SQLITE_TRANSIENT : sqlite3_free, + SQLITE_UTF8); + p21Zero(p); + } + assert( p->bStatic ); +} + +/************************************************************************** +** Utility routines for dealing with P21Node and P21Parse objects +**************************************************************************/ + +/* +** Return the number of consecutive P21Node slots need to represent +** the parsed P21 at pNode. The minimum answer is 1. For ARRAY and +** OBJECT types, the number might be larger. +** +** Appended elements are not counted. The value returned is the number +** by which the P21Node counter should increment in order to go to the +** next peer value. +*/ +static u32 p21NodeSize(P21Node *pNode){ + return pNode->eType < P21_LIST ? 1 : pNode->n + 1; +} + +/* +** Reclaim all memory allocated by a P21Parse object. But do not +** delete the P21Parse object itself. +*/ +static void p21ParseReset(P21Parse *pParse){ + sqlite3_free(pParse->aNode); + pParse->aNode = 0; + pParse->nNode = 0; + pParse->nAlloc = 0; + sqlite3_free(pParse->aUp); + pParse->aUp = 0; +} + +/* +** Free a P21Parse object that was obtained from sqlite3_malloc(). +*/ +static void p21ParseFree(P21Parse *pParse){ + p21ParseReset(pParse); + sqlite3_free(pParse); +} + +/* +** Convert the P21Node pNode into a pure P21 string and +** append to pOut. Subsubstructure is also included. Return +** the number of P21Node objects that are encoded. +*/ +static void p21RenderNode( + P21Node *pNode, /* The node to render */ + P21String *pOut, /* Write P21 here */ + sqlite3_value **aReplace /* Replacement values */ +){ + if( pNode->jnFlags & (PNODE_REPLACE|PNODE_PATCH) ){ + if( pNode->jnFlags & PNODE_REPLACE ){ + p21AppendValue(pOut, aReplace[pNode->u.iReplace]); + return; + } + pNode = pNode->u.pPatch; + } + switch( pNode->eType ){ + default: { + assert( pNode->eType==P21_EMPTY ); + p21AppendChar(pOut, '$'); + break; + } + case P21_ENUMERATION: { + p21AppendRaw(pOut, pNode->u.zJContent, pNode->n); + break; + } + case P21_DERIVED: { + p21AppendChar(pOut, '*'); + break; + } + case P21_BINARY: { + p21AppendRaw(pOut, pNode->u.zJContent, pNode->n); + break; + } + case P21_EID: { + p21AppendRaw(pOut, pNode->u.zJContent, pNode->n); + break; + } + case P21_STRING: { + if( pNode->jnFlags & PNODE_RAW ){ + p21AppendString(pOut, pNode->u.zJContent, pNode->n); + break; + } + /* Fall through into the next case */ + } + case P21_REAL: + case P21_INTEGER: { + p21AppendRaw(pOut, pNode->u.zJContent, pNode->n); + break; + } + case P21_LIST: { + u32 j = 1; + p21AppendChar(pOut, '('); + for(;;){ + while( j<=pNode->n ){ + if( (pNode[j].jnFlags & PNODE_REMOVE)==0 ){ + p21AppendSeparator(pOut); + p21RenderNode(&pNode[j], pOut, aReplace); + } + j += p21NodeSize(&pNode[j]); + } + if( (pNode->jnFlags & PNODE_APPEND)==0 ) break; + pNode = &pNode[pNode->u.iAppend]; + j = 1; + } + p21AppendChar(pOut, ')'); + break; + } + case P21_RECORD: { + u32 j = 1; + p21AppendRaw(pOut, pNode->u.zJContent, pNode->n_kw); + p21AppendChar(pOut, '('); + for(;;){ + while( j<= pNode->n ){ + if( (pNode[j].jnFlags & PNODE_REMOVE)==0 ){ + p21AppendSeparator(pOut); + p21RenderNode(&pNode[j], pOut, aReplace); + } + j += p21NodeSize(&pNode[j]); + } + if( (pNode->jnFlags & PNODE_APPEND)==0 ) break; + pNode = &pNode[pNode->u.iAppend]; + j = 1; + } + p21AppendChar(pOut, ')'); + break; + } + } +} + +/* +** Return a P21Node and all its descendents as a P21 string. +*/ +static void p21ReturnP21( + P21Node *pNode, /* Node to return */ + sqlite3_context *pCtx, /* Return value for this function */ + sqlite3_value **aReplace /* Array of replacement values */ +){ + P21String s; + p21Init(&s, pCtx); + p21RenderNode(pNode, &s, aReplace); + p21Result(&s); + sqlite3_result_subtype(pCtx, P21_SUBTYPE); +} + +/* +** Translate a single byte of Hex into an integer. +** This routine only works if h really is a valid hexadecimal +** character: 0..9a..fA..F +*/ +static u8 p21HexToInt(int h){ + assert( (h>='0' && h<='9') || (h>='a' && h<='f') || (h>='A' && h<='F') ); +#ifdef SQLITE_EBCDIC + h += 9*(1&~(h>>4)); +#else + h += 9*(1&(h>>6)); +#endif + return (u8)(h & 0xf); +} + +/* +** Convert a 4-byte hex string into an integer +*/ +static u32 p21HexToInt4(const char *z){ + u32 v; + assert( safe_isxdigit(z[0]) ); + assert( safe_isxdigit(z[1]) ); + assert( safe_isxdigit(z[2]) ); + assert( safe_isxdigit(z[3]) ); + v = (p21HexToInt(z[0])<<12) + + (p21HexToInt(z[1])<<8) + + (p21HexToInt(z[2])<<4) + + p21HexToInt(z[3]); + return v; +} +/* +** Make the P21Node the return value of the function. +*/ +static void p21Return( + P21Node *pNode, /* Node to return */ + sqlite3_context *pCtx, /* Return value for this function */ + sqlite3_value **aReplace /* Array of replacement values */ +){ + switch( pNode->eType ){ + default: { + assert( pNode->eType==P21_EMPTY ); + sqlite3_result_null(pCtx); + break; + } + case P21_DERIVED: { + assert(0); + } + case P21_ENUMERATION: { + assert(0); + } + case P21_BINARY: { + assert(0); + } + case P21_EID: { + sqlite3_result_text(pCtx, pNode->u.zJContent, pNode->n, SQLITE_TRANSIENT); + break; + } + case P21_INTEGER: { + sqlite3_int64 i = 0; + const char *z = pNode->u.zJContent; + if( z[0]=='-' ){ z++; } + while( z[0]>='0' && z[0]<='9' ){ + unsigned v = *(z++) - '0'; + if( i>=LARGEST_INT64/10 ){ + if( i>LARGEST_INT64/10 ) goto int_as_real; + if( z[0]>='0' && z[0]<='9' ) goto int_as_real; + if( v==9 ) goto int_as_real; + if( v==8 ){ + if( pNode->u.zJContent[0]=='-' ){ + sqlite3_result_int64(pCtx, SMALLEST_INT64); + goto int_done; + }else{ + goto int_as_real; + } + } + } + i = i*10 + v; + } + if( pNode->u.zJContent[0]=='-' ){ i = -i; } + sqlite3_result_int64(pCtx, i); + int_done: + break; + int_as_real: /* fall through to real */; + } + case P21_REAL: { + double r; +#ifdef SQLITE_AMALGAMATION + const char *z = pNode->u.zJContent; + sqlite3AtoF(z, &r, sqlite3Strlen30(z), SQLITE_UTF8); +#else + r = strtod(pNode->u.zJContent, 0); +#endif + sqlite3_result_double(pCtx, r); + break; + } + case P21_STRING: { +#if 0 /* Never happens because PNODE_RAW is only set by p21_set(), + ** p21_insert() and p21_replace() and those routines do not + ** call p21Return() */ + if( pNode->jnFlags & PNODE_RAW ){ + sqlite3_result_text(pCtx, pNode->u.zJContent, pNode->n, + SQLITE_TRANSIENT); + }else +#endif + assert( (pNode->jnFlags & PNODE_RAW)==0 ); + if( (pNode->jnFlags & PNODE_ESCAPE)==0 ){ + /* P21 formatted without any backslash-escapes */ + sqlite3_result_text(pCtx, pNode->u.zJContent+1, pNode->n-2, + SQLITE_TRANSIENT); + }else{ + /* Translate P21 formatted string into raw text */ + u32 i; + u32 n = pNode->n; + const char *z = pNode->u.zJContent; + char *zOut; + u32 j; + /* TODO: */ + assert(0); + zOut = sqlite3_malloc( n+1 ); + if( zOut==0 ){ + sqlite3_result_error_nomem(pCtx); + break; + } + for(i=1, j=0; i>6)); + zOut[j++] = 0x80 | (v&0x3f); + }else{ + u32 vlo; + if( (v&0xfc00)==0xd800 + && i>18); + zOut[j++] = 0x80 | ((v>>12)&0x3f); + zOut[j++] = 0x80 | ((v>>6)&0x3f); + zOut[j++] = 0x80 | (v&0x3f); + }else{ + zOut[j++] = 0xe0 | (v>>12); + zOut[j++] = 0x80 | ((v>>6)&0x3f); + zOut[j++] = 0x80 | (v&0x3f); + } + } + }else{ + if( c=='b' ){ + c = '\b'; + }else if( c=='f' ){ + c = '\f'; + }else if( c=='n' ){ + c = '\n'; + }else if( c=='r' ){ + c = '\r'; + }else if( c=='t' ){ + c = '\t'; + } + zOut[j++] = c; + } + } + } + zOut[j] = 0; + sqlite3_result_text(pCtx, zOut, j, sqlite3_free); + } + break; + } + case P21_LIST: + case P21_RECORD: { + p21ReturnP21(pNode, pCtx, aReplace); + break; + } + } +} + +/* Forward reference */ +static int p21ParseAddNode(P21Parse*,u32,u32,const char*); + +/* +** A macro to hint to the compiler that a function should not be +** inlined. +*/ +#if defined(__GNUC__) +# define P21_NOINLINE __attribute__((noinline)) +#elif defined(_MSC_VER) && _MSC_VER>=1310 +# define P21_NOINLINE __declspec(noinline) +#else +# define P21_NOINLINE +#endif + + +static P21_NOINLINE int p21ParseAddNodeExpand( + P21Parse *pParse, /* Append the node to this object */ + u32 eType, /* Node type */ + u32 n, /* Content size or sub-node count */ + const char *zContent /* Content */ +){ + u32 nNew; + P21Node *pNew; + assert( pParse->nNode>=pParse->nAlloc ); + if( pParse->oom ) return -1; + nNew = pParse->nAlloc*2 + 10; + pNew = sqlite3_realloc64(pParse->aNode, sizeof(P21Node)*nNew); + if( pNew==0 ){ + pParse->oom = 1; + return -1; + } + pParse->nAlloc = nNew; + pParse->aNode = pNew; + assert( pParse->nNodenAlloc ); + return p21ParseAddNode(pParse, eType, n, zContent); +} + +/* +** Create a new P21Node instance based on the arguments and append that +** instance to the P21Parse. Return the index in pParse->aNode[] of the +** new node, or -1 if a memory allocation fails. +*/ +static int p21ParseAddNode( + P21Parse *pParse, /* Append the node to this object */ + u32 eType, /* Node type */ + u32 n, /* Content size or sub-node count */ + const char *zContent /* Content */ +){ + P21Node *p; + if( pParse->nNode>=pParse->nAlloc ){ + return p21ParseAddNodeExpand(pParse, eType, n, zContent); + } + p = &pParse->aNode[pParse->nNode]; + p->eType = (u8)eType; + p->jnFlags = 0; + p->n = n; + p->u.zJContent = zContent; + return pParse->nNode++; +} + +/* +** Return true if z[] begins with 4 (or more) hexadecimal digits +*/ +static int p21Is4Hex(const char *z){ + int i; + for(i=0; i<4; i++) if( !safe_isxdigit(z[i]) ) return 0; + return 1; +} + +/* +** Parse P21 value which begins at pParse->zP21[i]. Return the +** index of the first character past the end of the value parsed. +** +** Return negative for a syntax error. +*/ +static int p21ParseValue(P21Parse *pParse, u32 i) { + static int cxtStack[P21_MAX_DEPTH]; + const unsigned char *sp, *cur, *mrk, *tok, *end; + /*!stags:re2c format = 'const unsigned char *@@;'; */ + int *piThis, x; + u32 n; + P21Node *pNode; + + sp = cur = tok = &pParse->zP21[i]; + piThis = cxtStack + pParse->iDepth; + +/*!re2c + re2c:yyfill:enable = 0; + re2c:flags:tags = 1; + re2c:define:YYCTYPE = 'unsigned char'; + re2c:define:YYCURSOR = 'cur'; + re2c:define:YYMARKER = 'mrk'; + + ascii_encoding = [][!"*$%&.#+,\-()?/:;<=>@{}|^`~0-9a-zA-Z_ ] | "''" | "\\" ; + page_encoding = "\\" [A-I] "\\" | "\\S\\" [][!"'*$%&.#+,\-()?/:;<=>@{}|^`~0-9a-zA-Z_\\ ] ; + hex_encoding = "\\X2\\" ([0-9A-F]{4})+ "\\X0\\" | "\\X4\\" ([0-9A-F]{8})+ "\\X0\\" ; + byte_encoding = "\\X\\" [0-9A-F]{2} ; + + WS = [ \t\r\n] ; + KEYWORD = "!"? [A-Za-z_] [0-9A-Za-z_]* ; + REAL = [+-]* [0-9] [0-9]* "." [0-9]* ("E" [+-]* [0-9] [0-9]*)? ; + INTEGER = [+-]* [0-9] [0-9]* ; + STRING = "'" (ascii_encoding | page_encoding | hex_encoding | byte_encoding )* "'" ; + BINARY = '"' [0-3] [0-9A-F]* '"' ; + ENUMERATION = "." [A-Z_] [A-Z0-9_]* "." ; + EID = "#" [0-9]+ ; + */ + +start: + + tok = cur; +/*!re2c + WS+ { + goto start; + } + "(" { + /* (complex_entity_instance) parameter_list */ + *piThis = p21ParseAddNode(pParse, P21_LIST, 0, 0); + if (*piThis < 0) return -1; + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto keywords; + } + "" { + /* (simple_entity_instance) parameter_list */ + *piThis = p21ParseAddNode(pParse, P21_RECORD, 0, 0); + if (*piThis < 0) return -1; + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params1; + } + */ + +keywords: + tok = cur; + +/*!re2c + WS+ { + goto keywords; + } + KEYWORD @end WS* "(" { + *piThis = p21ParseAddNode(pParse, P21_RECORD, 0, tok); + if (*piThis < 0) return -1; + pParse->aNode[*piThis].n_kw = (u16)(end - tok); + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params2; + } + ")" { + piThis = cxtStack + --pParse->iDepth; + pNode = pParse->aNode + *piThis; + assert(pNode->eType == P21_LIST); + + pNode->n = pParse->nNode - (u32)*piThis - 1; + goto eol; + } + "" { + /* fix-up and revert to P21_RECORD */ + pNode = pParse->aNode + *(piThis - 1); + pNode->eType = P21_RECORD; + assert(pParse->iDepth == 1); + goto params1; + } + */ + +params1: + tok = cur; + +/*!re2c + WS+ { + goto params1; + } + KEYWORD @end WS* "(" { + *piThis = p21ParseAddNode(pParse, P21_RECORD, 0, tok); + if (*piThis < 0) return -1; + pParse->aNode[*piThis].n_kw = (u16)(end - tok); + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params1; + } + "(" { + *piThis = p21ParseAddNode(pParse, P21_LIST, 0, 0); + if (*piThis < 0) return -1; + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params1; + } + "," { + goto params1; + } + REAL { + p21ParseAddNode(pParse, P21_REAL, cur - tok, tok); + goto params1; + } + INTEGER { + p21ParseAddNode(pParse, P21_INTEGER, cur - tok, tok); + goto params1; + } + STRING { + p21ParseAddNode(pParse, P21_STRING, cur - tok, tok); + goto params1; + } + BINARY { + p21ParseAddNode(pParse, P21_BINARY, cur - tok, tok); + goto params1; + } + ENUMERATION { + p21ParseAddNode(pParse, P21_ENUMERATION, cur - tok, tok); + goto params1; + } + EID { + p21ParseAddNode(pParse, P21_EID, cur - tok, tok); + goto params1; + } + "$" { + p21ParseAddNode(pParse, P21_EMPTY, cur - tok, tok); + goto params1; + } + "*" { + p21ParseAddNode(pParse, P21_DERIVED, cur - tok, tok); + goto params1; + } + ")" { + piThis = cxtStack + --pParse->iDepth; + pNode = pParse->aNode + *piThis; + pNode->n = pParse->nNode - (u32)*piThis - 1; + goto params1; + } + "" { + if (pParse->iDepth) --pParse->iDepth; + piThis = cxtStack + pParse->iDepth; + pNode = pParse->aNode + *piThis; + assert(pNode->eType == P21_RECORD); + pNode->n = pParse->nNode - (u32)*piThis - 1; + goto eol; + } + */ + +params2: + tok = cur; + +/*!re2c + WS+ { + goto params2; + } + KEYWORD @end WS* "(" { + *piThis = p21ParseAddNode(pParse, P21_RECORD, 0, tok); + if (*piThis < 0) return -1; + pParse->aNode[*piThis].n_kw = (u16)(end - tok); + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params2; + } + "(" { + *piThis = p21ParseAddNode(pParse, P21_LIST, 0, 0); + if (*piThis < 0) return -1; + + if( ++pParse->iDepth > P21_MAX_DEPTH ) return -1; + piThis = cxtStack + pParse->iDepth; + goto params2; + } + "," { + goto params2; + } + REAL { + p21ParseAddNode(pParse, P21_REAL, cur - tok, tok); + goto params2; + } + INTEGER { + p21ParseAddNode(pParse, P21_INTEGER, cur - tok, tok); + goto params2; + } + STRING { + p21ParseAddNode(pParse, P21_STRING, cur - tok, tok); + goto params2; + } + BINARY { + p21ParseAddNode(pParse, P21_BINARY, cur - tok, tok); + goto params2; + } + ENUMERATION { + p21ParseAddNode(pParse, P21_ENUMERATION, cur - tok, tok); + goto params2; + } + EID { + p21ParseAddNode(pParse, P21_EID, cur - tok, tok); + goto params2; + } + "$" { + p21ParseAddNode(pParse, P21_EMPTY, cur - tok, tok); + goto params2; + } + "*" { + p21ParseAddNode(pParse, P21_DERIVED, cur - tok, tok); + goto params2; + } + ")" { + piThis = cxtStack + --pParse->iDepth; + pNode = pParse->aNode + *piThis; + pNode->n = pParse->nNode - (u32)*piThis - 1; + if (pParse->iDepth > 1) { + goto params2; + } else { + goto keywords; + } + } + /* continue to next block for error handling */ + */ + +eol: + tok = cur; + +/*!re2c + [\x00] { + return cur - sp; + } + * { + return -1; + } + */ + +} + + +/* +** Parse a complete P21 string. Return 0 on success or non-zero if there +** are any errors. If an error occurs, free all memory associated with +** pParse. +** +** pParse is uninitialized when this routine is called. +*/ +static int p21Parse( + P21Parse *pParse, /* Initialize and fill this P21Parse object */ + sqlite3_context *pCtx, /* Report errors here */ + const char *zP21 /* Input P21 text to be parsed */ +){ + int i; + memset(pParse, 0, sizeof(*pParse)); + if( zP21==0 ) return 1; + pParse->zP21 = zP21; + i = p21ParseValue(pParse, 0); + if( pParse->oom ) i = -1; + if( i>0 ){ + assert( pParse->iDepth==0 ); + } + if( i<=0 ){ + if( pCtx!=0 ){ + if( pParse->oom ){ + sqlite3_result_error_nomem(pCtx); + }else{ + sqlite3_result_error(pCtx, "malformed P21", -1); + } + } + p21ParseReset(pParse); + return 1; + } + return 0; +} + +/* Mark node i of pParse as being a child of iParent. Call recursively +** to fill in all the descendants of node i. +*/ +static void p21ParseFillInParentage(P21Parse *pParse, u32 i, u32 iParent){ + P21Node *pNode = &pParse->aNode[i]; + u32 j; + pParse->aUp[i] = iParent; + switch( pNode->eType ){ + case P21_RECORD: + case P21_LIST: { + for(j=1; j<=pNode->n; j += p21NodeSize(pNode+j)){ + p21ParseFillInParentage(pParse, i+j, i); + } + break; + } + default: { + break; + } + } +} + +/* +** Compute the parentage of all nodes in a completed parse. +*/ +static int p21ParseFindParents(P21Parse *pParse){ + u32 *aUp; + assert( pParse->aUp==0 ); + aUp = pParse->aUp = sqlite3_malloc64( sizeof(u32)*pParse->nNode ); + if( aUp==0 ){ + pParse->oom = 1; + return SQLITE_NOMEM; + } + p21ParseFillInParentage(pParse, 0, 0); + return SQLITE_OK; +} + +/* +** Magic number used for the P21 parse cache in sqlite3_get_auxdata() +*/ +#define P21_CACHE_ID (-429938) /* First cache entry */ +#define P21_CACHE_SZ 4 /* Max number of cache entries */ + +/* +** Obtain a complete parse of the P21 found in the first argument +** of the argv array. Use the sqlite3_get_auxdata() cache for this +** parse if it is available. If the cache is not available or if it +** is no longer valid, parse the P21 again and return the new parse, +** and also register the new parse so that it will be available for +** future sqlite3_get_auxdata() calls. +*/ +static P21Parse *p21ParseCached( + sqlite3_context *pCtx, + sqlite3_value **argv, + sqlite3_context *pErrCtx +){ + const char *zP21 = (const char*)sqlite3_value_text(argv[0]); + int nP21 = sqlite3_value_bytes(argv[0]); + P21Parse *p; + P21Parse *pMatch = 0; + int iKey; + int iMinKey = 0; + u32 iMinHold = 0xffffffff; + u32 iMaxHold = 0; + if( zP21==0 ) return 0; + for(iKey=0; iKeynP21==nP21 + && memcmp(p->zP21,zP21,nP21)==0 + ){ + p->nErr = 0; + pMatch = p; + }else if( p->iHoldiHold; + iMinKey = iKey; + } + if( p->iHold>iMaxHold ){ + iMaxHold = p->iHold; + } + } + if( pMatch ){ + pMatch->nErr = 0; + pMatch->iHold = iMaxHold+1; + return pMatch; + } + p = sqlite3_malloc64( sizeof(*p) + nP21 + 1 ); + if( p==0 ){ + sqlite3_result_error_nomem(pCtx); + return 0; + } + memset(p, 0, sizeof(*p)); + p->zP21 = (char*)&p[1]; + memcpy((char*)p->zP21, zP21, nP21+1); + if( p21Parse(p, pErrCtx, p->zP21) ){ + sqlite3_free(p); + return 0; + } + p->nP21 = nP21; + p->iHold = iMaxHold+1; + sqlite3_set_auxdata(pCtx, P21_CACHE_ID+iMinKey, p, + (void(*)(void*))p21ParseFree); + return (P21Parse*)sqlite3_get_auxdata(pCtx, P21_CACHE_ID+iMinKey); +} + +/* +** Compare the OBJECT label at pNode against zKey,nKey. Return true on +** a match. +*/ +static int p21LabelCompare(P21Node *pNode, const char *zKey, u32 nKey){ + if( pNode->jnFlags & PNODE_RAW ){ + if( pNode->n!=nKey ) return 0; + return strncmp(pNode->u.zJContent, zKey, nKey)==0; + }else{ + if( pNode->n!=nKey+2 ) return 0; + return strncmp(pNode->u.zJContent+1, zKey, nKey)==0; + } +} + +/* forward declaration */ +static P21Node *p21LookupAppend(P21Parse*,const char*,int*,const char**); + +/* +** Search along zPath to find the node specified. Return a pointer +** to that node, or NULL if zPath is malformed or if there is no such +** node. +** +** If pApnd!=0, then try to append new nodes to complete zPath if it is +** possible to do so and if no existing node corresponds to zPath. If +** new nodes are appended *pApnd is set to 1. +*/ +static P21Node *p21LookupStep( + P21Parse *pParse, /* The P21 to search */ + u32 iRoot, /* Begin the search at this node */ + const char *zPath, /* The path to search */ + int *pApnd, /* Append nodes to complete path if not NULL */ + const char **pzErr /* Make *pzErr point to any syntax error in zPath */ +){ + u32 i, j, nKey; + const char *zKey; + P21Node *pRoot = &pParse->aNode[iRoot]; + if( zPath[0]==0 ) return pRoot; + if( pRoot->jnFlags & PNODE_REPLACE ) return 0; + if( zPath[0]=='.' ){ + if( pRoot->eType!=P21_RECORD ) return 0; + zPath++; + if( zPath[0]=='"' ){ + zKey = zPath + 1; + for(i=1; zPath[i] && zPath[i]!='"'; i++){} + nKey = i-1; + if( zPath[i] ){ + i++; + }else{ + *pzErr = zPath; + return 0; + } + }else{ + zKey = zPath; + for(i=0; zPath[i] && zPath[i]!='.' && zPath[i]!='['; i++){} + nKey = i; + } + if( nKey==0 ){ + *pzErr = zPath; + return 0; + } + j = 1; + for(;;){ + while( j<=pRoot->n ){ + if( p21LabelCompare(pRoot+j, zKey, nKey) ){ + return p21LookupStep(pParse, iRoot+j+1, &zPath[i], pApnd, pzErr); + } + j++; + j += p21NodeSize(&pRoot[j]); + } + if( (pRoot->jnFlags & PNODE_APPEND)==0 ) break; + iRoot += pRoot->u.iAppend; + pRoot = &pParse->aNode[iRoot]; + j = 1; + } + if( pApnd ){ + u32 iStart, iLabel; + P21Node *pNode; + iStart = p21ParseAddNode(pParse, P21_RECORD, 2, 0); + iLabel = p21ParseAddNode(pParse, P21_STRING, nKey, zKey); + zPath += i; + pNode = p21LookupAppend(pParse, zPath, pApnd, pzErr); + if( pParse->oom ) return 0; + if( pNode ){ + pRoot = &pParse->aNode[iRoot]; + pRoot->u.iAppend = iStart - iRoot; + pRoot->jnFlags |= PNODE_APPEND; + pParse->aNode[iLabel].jnFlags |= PNODE_RAW; + } + return pNode; + } + }else if( zPath[0]=='[' ){ + i = 0; + j = 1; + while( safe_isdigit(zPath[j]) ){ + i = i*10 + zPath[j] - '0'; + j++; + } + if( j<2 || zPath[j]!=']' ){ + if( zPath[1]=='#' ){ + P21Node *pBase = pRoot; + int iBase = iRoot; + if( pRoot->eType!=P21_LIST && pRoot->eType!=P21_RECORD) return 0; + for(;;){ + while( j<=pBase->n ){ + if( (pBase[j].jnFlags & PNODE_REMOVE)==0 ) i++; + j += p21NodeSize(&pBase[j]); + } + if( (pBase->jnFlags & PNODE_APPEND)==0 ) break; + iBase += pBase->u.iAppend; + pBase = &pParse->aNode[iBase]; + j = 1; + } + j = 2; + if( zPath[2]=='-' && safe_isdigit(zPath[3]) ){ + unsigned int x = 0; + j = 3; + do{ + x = x*10 + zPath[j] - '0'; + j++; + }while( safe_isdigit(zPath[j]) ); + if( x>i ) return 0; + i -= x; + } + if( zPath[j]!=']' ){ + *pzErr = zPath; + return 0; + } + }else{ + *pzErr = zPath; + return 0; + } + } + if( pRoot->eType!=P21_LIST && pRoot->eType!=P21_RECORD ) return 0; + zPath += j + 1; + j = 1; + for(;;){ + while( j<=pRoot->n && (i>0 || (pRoot[j].jnFlags & PNODE_REMOVE)!=0) ){ + if( (pRoot[j].jnFlags & PNODE_REMOVE)==0 ) i--; + j += p21NodeSize(&pRoot[j]); + } + if( (pRoot->jnFlags & PNODE_APPEND)==0 ) break; + iRoot += pRoot->u.iAppend; + pRoot = &pParse->aNode[iRoot]; + j = 1; + } + if( j<=pRoot->n ){ + return p21LookupStep(pParse, iRoot+j, zPath, pApnd, pzErr); + } + if( i==0 && pApnd ){ + u32 iStart; + P21Node *pNode; + iStart = p21ParseAddNode(pParse, P21_LIST, 1, 0); + pNode = p21LookupAppend(pParse, zPath, pApnd, pzErr); + if( pParse->oom ) return 0; + if( pNode ){ + pRoot = &pParse->aNode[iRoot]; + pRoot->u.iAppend = iStart - iRoot; + pRoot->jnFlags |= PNODE_APPEND; + } + return pNode; + } + }else{ + *pzErr = zPath; + } + return 0; +} + +/* +** Append content to pParse that will complete zPath. Return a pointer +** to the inserted node, or return NULL if the append fails. +*/ +static P21Node *p21LookupAppend( + P21Parse *pParse, /* Append content to the P21 parse */ + const char *zPath, /* Description of content to append */ + int *pApnd, /* Set this flag to 1 */ + const char **pzErr /* Make this point to any syntax error */ +){ + *pApnd = 1; + if( zPath[0]==0 ){ + p21ParseAddNode(pParse, P21_EMPTY, 0, 0); + return pParse->oom ? 0 : &pParse->aNode[pParse->nNode-1]; + } + if( zPath[0]=='.' ){ + p21ParseAddNode(pParse, P21_RECORD, 0, 0); + }else if( strncmp(zPath,"[0]",3)==0 ){ + p21ParseAddNode(pParse, P21_LIST, 0, 0); + }else{ + return 0; + } + if( pParse->oom ) return 0; + return p21LookupStep(pParse, pParse->nNode-1, zPath, pApnd, pzErr); +} + +/* +** Return the text of a syntax error message on a P21 path. Space is +** obtained from sqlite3_malloc(). +*/ +static char *p21PathSyntaxError(const char *zErr){ + return sqlite3_mprintf("P21 path error near '%q'", zErr); +} + +/* +** Do a node lookup using zPath. Return a pointer to the node on success. +** Return NULL if not found or if there is an error. +** +** On an error, write an error message into pCtx and increment the +** pParse->nErr counter. +** +** If pApnd!=NULL then try to append missing nodes and set *pApnd = 1 if +** nodes are appended. +*/ +static P21Node *p21Lookup( + P21Parse *pParse, /* The P21 to search */ + const char *zPath, /* The path to search */ + int *pApnd, /* Append nodes to complete path if not NULL */ + sqlite3_context *pCtx /* Report errors here, if not NULL */ +){ + const char *zErr = 0; + P21Node *pNode = 0; + char *zMsg; + + if( zPath==0 ) return 0; + if( zPath[0]!='$' ){ + zErr = zPath; + goto lookup_err; + } + zPath++; + pNode = p21LookupStep(pParse, 0, zPath, pApnd, &zErr); + if( zErr==0 ) return pNode; + +lookup_err: + pParse->nErr++; + assert( zErr!=0 && pCtx!=0 ); + zMsg = p21PathSyntaxError(zErr); + if( zMsg ){ + sqlite3_result_error(pCtx, zMsg, -1); + sqlite3_free(zMsg); + }else{ + sqlite3_result_error_nomem(pCtx); + } + return 0; +} + + +/* +** Report the wrong number of arguments for p21_insert(), p21_replace() +** or p21_set(). +*/ +static void p21WrongNumArgs( + sqlite3_context *pCtx, + const char *zFuncName +){ + char *zMsg = sqlite3_mprintf("p21_%s() needs an odd number of arguments", + zFuncName); + sqlite3_result_error(pCtx, zMsg, -1); + sqlite3_free(zMsg); +} + +/* +** Mark all NULL entries in the Object passed in as PNODE_REMOVE. +*/ +static void p21RemoveAllNulls(P21Node *pNode){ + int i, n; + assert( pNode->eType==P21_RECORD ); + n = pNode->n; + for(i=2; i<=n; i += p21NodeSize(&pNode[i])+1){ + switch( pNode[i].eType ){ + case P21_EMPTY: + pNode[i].jnFlags |= PNODE_REMOVE; + break; + case P21_RECORD: + p21RemoveAllNulls(&pNode[i]); + break; + } + } +} + + +/**************************************************************************** +** SQL functions used for testing and debugging +****************************************************************************/ + +#ifdef SQLITE_DEBUG +/* +** The p21_parse(P21) function returns a string which describes +** a parse of the P21 provided. Or it returns NULL if P21 is not +** well-formed. +*/ +static void p21ParseFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21String s; /* Output string - not real P21 */ + P21Parse x; /* The parse */ + u32 i; + + assert( argc==1 ); + if( p21Parse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + p21ParseFindParents(&x); + p21Init(&s, ctx); + for(i=0; inNode ); + if( argc==2 ){ + const char *zPath = (const char*)sqlite3_value_text(argv[1]); + pNode = p21Lookup(p, zPath, 0, ctx); + }else{ + pNode = p->aNode; + } + if( pNode==0 ){ + return; + } + if( pNode->eType==P21_LIST ){ + assert( (pNode->jnFlags & PNODE_APPEND)==0 ); + for(i=1; i<=pNode->n; n++){ + i += p21NodeSize(&pNode[i]); + } + } + sqlite3_result_int64(ctx, n); +} + +/* +** p21_extract(P21, PATH, ...) +** +** Return the element described by PATH. Return NULL if there is no +** PATH element. If there are multiple PATHs, then return a P21 array +** with the result from each path. Throw an error if the P21 or any PATH +** is malformed. +*/ +static void p21ExtractFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse *p; /* The parse */ + P21Node *pNode; + const char *zPath; + P21String jx; + int i; + + if( argc<2 ) return; + p = p21ParseCached(ctx, argv, ctx); + if( p==0 ) return; + p21Init(&jx, ctx); + p21AppendChar(&jx, '['); + for(i=1; inErr ) break; + if( argc>2 ){ + p21AppendSeparator(&jx); + if( pNode ){ + p21RenderNode(pNode, &jx, 0); + }else{ + p21AppendRaw(&jx, "null", 4); + } + }else if( pNode ){ + p21Return(pNode, ctx, 0); + } + } + if( argc>2 && i==argc ){ + p21AppendChar(&jx, ']'); + p21Result(&jx); + sqlite3_result_subtype(ctx, P21_SUBTYPE); + } + p21Reset(&jx); +} + +#if 0 +/* TODO: a MergeRecord function could be useful + */ +static P21Node *p21MergePatch( + P21Parse *pParse, /* The P21 parser that contains the TARGET */ + u32 iTarget, /* Node of the TARGET in pParse */ + P21Node *pPatch /* The PATCH */ +){ + u32 i, j; + u32 iRoot; + P21Node *pTarget; + if( pPatch->eType!=P21_RECORD ){ + return pPatch; + } + assert( iTargetnNode ); + pTarget = &pParse->aNode[iTarget]; + assert( (pPatch->jnFlags & PNODE_APPEND)==0 ); + if( pTarget->eType!=P21_RECORD ){ + p21RemoveAllNulls(pPatch); + return pPatch; + } + iRoot = iTarget; + for(i=1; in; i += p21NodeSize(&pPatch[i+1])+1){ + u32 nKey; + const char *zKey; + assert( pPatch[i].eType==P21_STRING ); + assert( pPatch[i].jnFlags & PNODE_LABEL ); + nKey = pPatch[i].n; + zKey = pPatch[i].u.zJContent; + assert( (pPatch[i].jnFlags & PNODE_RAW)==0 ); + for(j=1; jn; j += p21NodeSize(&pTarget[j+1])+1 ){ + assert( pTarget[j].eType==P21_STRING ); + assert( pTarget[j].jnFlags & PNODE_LABEL ); + assert( (pPatch[i].jnFlags & PNODE_RAW)==0 ); + if( pTarget[j].n==nKey && strncmp(pTarget[j].u.zJContent,zKey,nKey)==0 ){ + if( pTarget[j+1].jnFlags & (PNODE_REMOVE|PNODE_PATCH) ) break; + if( pPatch[i+1].eType==P21_EMPTY ){ + pTarget[j+1].jnFlags |= PNODE_REMOVE; + }else{ + P21Node *pNew = p21MergePatch(pParse, iTarget+j+1, &pPatch[i+1]); + if( pNew==0 ) return 0; + pTarget = &pParse->aNode[iTarget]; + if( pNew!=&pTarget[j+1] ){ + pTarget[j+1].u.pPatch = pNew; + pTarget[j+1].jnFlags |= PNODE_PATCH; + } + } + break; + } + } + if( j>=pTarget->n && pPatch[i+1].eType!=P21_EMPTY ){ + int iStart, iPatch; + iStart = p21ParseAddNode(pParse, P21_RECORD, 2, 0); + p21ParseAddNode(pParse, P21_STRING, nKey, zKey); + iPatch = p21ParseAddNode(pParse, P21_TRUE, 0, 0); + if( pParse->oom ) return 0; + p21RemoveAllNulls(pPatch); + pTarget = &pParse->aNode[iTarget]; + pParse->aNode[iRoot].jnFlags |= PNODE_APPEND; + pParse->aNode[iRoot].u.iAppend = iStart - iRoot; + iRoot = iStart; + pParse->aNode[iPatch].jnFlags |= PNODE_PATCH; + pParse->aNode[iPatch].u.pPatch = &pPatch[i+1]; + } + } + return pTarget; +} + + +/* +** Implementation of the json_mergepatch(JSON1,JSON2) function. Return a P21 +** object that is the result of running the RFC 7396 MergePatch() algorithm +** on the two arguments. +*/ +static void p21PatchFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse x; /* The P21 that is being patched */ + P21Parse y; /* The patch */ + P21Node *pResult; /* The result of the merge */ + + UNUSED_PARAM(argc); + if( p21Parse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + if( p21Parse(&y, ctx, (const char*)sqlite3_value_text(argv[1])) ){ + p21ParseReset(&x); + return; + } + pResult = p21MergePatch(&x, 0, y.aNode); + assert( pResult!=0 || x.oom ); + if( pResult ){ + p21ReturnP21(pResult, ctx, 0); + }else{ + sqlite3_result_error_nomem(ctx); + } + p21ParseReset(&x); + p21ParseReset(&y); +} +#endif + +/* +** Implementation of the p21_object(NAME,VALUE,...) function. Return a P21 +** object that contains all name/value given in arguments. Or if any name +** is not a string or if any value is a BLOB, throw an error. +*/ +static void p21ObjectFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + int i; + P21String jx; + const char *z; + u32 n; + + if( argc&1 ){ + sqlite3_result_error(ctx, "p21_object() requires an even number " + "of arguments", -1); + return; + } + p21Init(&jx, ctx); + p21AppendChar(&jx, '{'); + for(i=0; ijnFlags |= PNODE_REMOVE; + } + if( (x.aNode[0].jnFlags & PNODE_REMOVE)==0 ){ + p21ReturnP21(x.aNode, ctx, 0); + } +remove_done: + p21ParseReset(&x); +} + +/* +** p21_replace(P21, PATH, VALUE, ...) +** +** Replace the value at PATH with VALUE. If PATH does not already exist, +** this routine is a no-op. If P21 or PATH is malformed, throw an error. +*/ +static void p21ReplaceFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse x; /* The parse */ + P21Node *pNode; + const char *zPath; + u32 i; + + if( argc<1 ) return; + if( (argc&1)==0 ) { + p21WrongNumArgs(ctx, "replace"); + return; + } + if( p21Parse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + assert( x.nNode ); + for(i=1; i<(u32)argc; i+=2){ + zPath = (const char*)sqlite3_value_text(argv[i]); + pNode = p21Lookup(&x, zPath, 0, ctx); + if( x.nErr ) goto replace_err; + if( pNode ){ + pNode->jnFlags |= (u8)PNODE_REPLACE; + pNode->u.iReplace = i + 1; + } + } + if( x.aNode[0].jnFlags & PNODE_REPLACE ){ + sqlite3_result_value(ctx, argv[x.aNode[0].u.iReplace]); + }else{ + p21ReturnP21(x.aNode, ctx, argv); + } +replace_err: + p21ParseReset(&x); +} + +/* +** p21_set(P21, PATH, VALUE, ...) +** +** Set the value at PATH to VALUE. Create the PATH if it does not already +** exist. Overwrite existing values that do exist. +** If P21 or PATH is malformed, throw an error. +** +** p21_insert(P21, PATH, VALUE, ...) +** +** Create PATH and initialize it to VALUE. If PATH already exists, this +** routine is a no-op. If P21 or PATH is malformed, throw an error. +*/ +static void p21SetFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse x; /* The parse */ + P21Node *pNode; + const char *zPath; + u32 i; + int bApnd; + int bIsSet = *(int*)sqlite3_user_data(ctx); + + if( argc<1 ) return; + if( (argc&1)==0 ) { + p21WrongNumArgs(ctx, bIsSet ? "set" : "insert"); + return; + } + if( p21Parse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + assert( x.nNode ); + for(i=1; i<(u32)argc; i+=2){ + zPath = (const char*)sqlite3_value_text(argv[i]); + bApnd = 0; + pNode = p21Lookup(&x, zPath, &bApnd, ctx); + if( x.oom ){ + sqlite3_result_error_nomem(ctx); + goto p21SetDone; + }else if( x.nErr ){ + goto p21SetDone; + }else if( pNode && (bApnd || bIsSet) ){ + pNode->jnFlags |= (u8)PNODE_REPLACE; + pNode->u.iReplace = i + 1; + } + } + if( x.aNode[0].jnFlags & PNODE_REPLACE ){ + sqlite3_result_value(ctx, argv[x.aNode[0].u.iReplace]); + }else{ + p21ReturnP21(x.aNode, ctx, argv); + } +p21SetDone: + p21ParseReset(&x); +} + +/* +** p21_type(P21) +** p21_type(P21, PATH) +** +** Return the top-level "type" of a P21 string. Throw an error if +** either the P21 or PATH inputs are not well-formed. +*/ +static void p21TypeFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse *p; /* The parse */ + const char *zPath; + P21Node *pNode; + + p = p21ParseCached(ctx, argv, ctx); + if( p==0 ) return; + if( argc==2 ){ + zPath = (const char*)sqlite3_value_text(argv[1]); + pNode = p21Lookup(p, zPath, 0, ctx); + }else{ + pNode = p->aNode; + } + if( pNode ){ + sqlite3_result_text(ctx, p21Type[pNode->eType], -1, SQLITE_STATIC); + } +} + +/* +** p21_valid(P21) +** +** Return 1 if P21 is a well-formed P21 string according to RFC-7159. +** Return 0 otherwise. +*/ +static void p21ValidFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21Parse *p; /* The parse */ + UNUSED_PARAM(argc); + p = p21ParseCached(ctx, argv, 0); + sqlite3_result_int(ctx, p!=0); +} + + +/**************************************************************************** +** Aggregate SQL function implementations +****************************************************************************/ +/* +** p21_group_array(VALUE) +** +** Return a P21 array composed of all values in the aggregate. +*/ +static void p21ArrayStep( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21String *pStr; + UNUSED_PARAM(argc); + pStr = (P21String*)sqlite3_aggregate_context(ctx, sizeof(*pStr)); + if( pStr ){ + if( pStr->zBuf==0 ){ + p21Init(pStr, ctx); + p21AppendChar(pStr, '['); + }else if( pStr->nUsed>1 ){ + p21AppendChar(pStr, ','); + pStr->pCtx = ctx; + } + p21AppendValue(pStr, argv[0]); + } +} +static void p21ArrayCompute(sqlite3_context *ctx, int isFinal){ + P21String *pStr; + pStr = (P21String*)sqlite3_aggregate_context(ctx, 0); + if( pStr ){ + pStr->pCtx = ctx; + p21AppendChar(pStr, ']'); + if( pStr->bErr ){ + if( pStr->bErr==1 ) sqlite3_result_error_nomem(ctx); + assert( pStr->bStatic ); + }else if( isFinal ){ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, + pStr->bStatic ? SQLITE_TRANSIENT : sqlite3_free); + pStr->bStatic = 1; + }else{ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, SQLITE_TRANSIENT); + pStr->nUsed--; + } + }else{ + sqlite3_result_text(ctx, "[]", 2, SQLITE_STATIC); + } + sqlite3_result_subtype(ctx, P21_SUBTYPE); +} +static void p21ArrayValue(sqlite3_context *ctx){ + p21ArrayCompute(ctx, 0); +} +static void p21ArrayFinal(sqlite3_context *ctx){ + p21ArrayCompute(ctx, 1); +} + +#ifndef SQLITE_OMIT_WINDOWFUNC +/* +** This method works for both p21_group_array() and p21_group_object(). +** It works by removing the first element of the group by searching forward +** to the first comma (",") that is not within a string and deleting all +** text through that comma. +*/ +static void p21GroupInverse( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + unsigned int i; + int inStr = 0; + int nNest = 0; + char *z; + char c; + P21String *pStr; + UNUSED_PARAM(argc); + UNUSED_PARAM(argv); + pStr = (P21String*)sqlite3_aggregate_context(ctx, 0); +#ifdef NEVER + /* pStr is always non-NULL since p21ArrayStep() or p21ObjectStep() will + ** always have been called to initalize it */ + if( NEVER(!pStr) ) return; +#endif + z = pStr->zBuf; + for(i=1; (c = z[i])!=',' || inStr || nNest; i++){ + if( i>=pStr->nUsed ){ + pStr->nUsed = 1; + return; + } + if( c=='"' ){ + inStr = !inStr; + }else if( c=='\\' ){ + i++; + }else if( !inStr ){ + if( c=='{' || c=='[' ) nNest++; + if( c=='}' || c==']' ) nNest--; + } + } + pStr->nUsed -= i; + memmove(&z[1], &z[i+1], (size_t)pStr->nUsed-1); +} +#else +# define p21GroupInverse 0 +#endif + + +/* +** p21_group_obj(NAME,VALUE) +** +** Return a P21 object composed of all names and values in the aggregate. +*/ +static void p21ObjectStep( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + P21String *pStr; + const char *z; + u32 n; + UNUSED_PARAM(argc); + pStr = (P21String*)sqlite3_aggregate_context(ctx, sizeof(*pStr)); + if( pStr ){ + if( pStr->zBuf==0 ){ + p21Init(pStr, ctx); + p21AppendChar(pStr, '{'); + }else if( pStr->nUsed>1 ){ + p21AppendChar(pStr, ','); + pStr->pCtx = ctx; + } + z = (const char*)sqlite3_value_text(argv[0]); + n = (u32)sqlite3_value_bytes(argv[0]); + p21AppendString(pStr, z, n); + p21AppendChar(pStr, ':'); + p21AppendValue(pStr, argv[1]); + } +} +static void p21ObjectCompute(sqlite3_context *ctx, int isFinal){ + P21String *pStr; + pStr = (P21String*)sqlite3_aggregate_context(ctx, 0); + if( pStr ){ + p21AppendChar(pStr, '}'); + if( pStr->bErr ){ + if( pStr->bErr==1 ) sqlite3_result_error_nomem(ctx); + assert( pStr->bStatic ); + }else if( isFinal ){ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, + pStr->bStatic ? SQLITE_TRANSIENT : sqlite3_free); + pStr->bStatic = 1; + }else{ + sqlite3_result_text(ctx, pStr->zBuf, (int)pStr->nUsed, SQLITE_TRANSIENT); + pStr->nUsed--; + } + }else{ + sqlite3_result_text(ctx, "{}", 2, SQLITE_STATIC); + } + sqlite3_result_subtype(ctx, P21_SUBTYPE); +} +static void p21ObjectValue(sqlite3_context *ctx){ + p21ObjectCompute(ctx, 0); +} +static void p21ObjectFinal(sqlite3_context *ctx){ + p21ObjectCompute(ctx, 1); +} + + + +#ifndef SQLITE_OMIT_VIRTUALTABLE +/**************************************************************************** +** The p21_each virtual table +****************************************************************************/ +typedef struct P21EachCursor P21EachCursor; +struct P21EachCursor { + sqlite3_vtab_cursor base; /* Base class - must be first */ + u32 iRowid; /* The rowid */ + u32 iBegin; /* The first node of the scan */ + u32 i; /* Index in sParse.aNode[] of current row */ + u32 iEnd; /* EOF when i equals or exceeds this value */ + u8 eType; /* Type of top-level element */ + char *zP21; /* Input P21 */ + char *zRoot; /* Path by which to filter zP21 */ + P21Parse sParse; /* Parse of the input P21 */ +}; + +/* Constructor for the p21_each virtual table */ +static int p21EachConnect( + sqlite3 *db, + void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVtab, + char **pzErr +){ + sqlite3_vtab *pNew; + int rc; + +/* Column numbers */ +#define PEACH_KEY 0 +#define PEACH_VALUE 1 +#define PEACH_TYPE 2 +#define PEACH_ATOM 3 +#define PEACH_ID 4 +#define PEACH_PARENT 5 +#define PEACH_FULLKEY 6 +#define PEACH_PATH 7 +/* The xBestIndex method assumes that the P21 and ROOT columns are +** the last two columns in the table. Should this ever changes, be +** sure to update the xBestIndex method. */ +#define PEACH_P21 8 +#define PEACH_ROOT 9 + + UNUSED_PARAM(pzErr); + UNUSED_PARAM(argv); + UNUSED_PARAM(argc); + UNUSED_PARAM(pAux); + rc = sqlite3_declare_vtab(db, + "CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path," + "p21 HIDDEN,root HIDDEN)"); + if( rc==SQLITE_OK ){ + pNew = *ppVtab = sqlite3_malloc( sizeof(*pNew) ); + if( pNew==0 ) return SQLITE_NOMEM; + memset(pNew, 0, sizeof(*pNew)); + sqlite3_vtab_config(db, SQLITE_VTAB_INNOCUOUS); + } + return rc; +} + +/* destructor for p21_each virtual table */ +static int p21EachDisconnect(sqlite3_vtab *pVtab){ + sqlite3_free(pVtab); + return SQLITE_OK; +} + +/* constructor for a P21EachCursor object for p21_each(). */ +static int p21EachOpenEach(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){ + P21EachCursor *pCur; + + UNUSED_PARAM(p); + pCur = sqlite3_malloc( sizeof(*pCur) ); + if( pCur==0 ) return SQLITE_NOMEM; + memset(pCur, 0, sizeof(*pCur)); + *ppCursor = &pCur->base; + return SQLITE_OK; +} + +/* Reset a P21EachCursor back to its original state. Free any memory +** held. */ +static void p21EachCursorReset(P21EachCursor *p){ + sqlite3_free(p->zP21); + sqlite3_free(p->zRoot); + p21ParseReset(&p->sParse); + p->iRowid = 0; + p->i = 0; + p->iEnd = 0; + p->eType = 0; + p->zP21 = 0; + p->zRoot = 0; +} + +/* Destructor for a p21EachCursor object */ +static int p21EachClose(sqlite3_vtab_cursor *cur){ + P21EachCursor *p = (P21EachCursor*)cur; + p21EachCursorReset(p); + sqlite3_free(cur); + return SQLITE_OK; +} + +/* Return TRUE if the p21EachCursor object has been advanced off the end +** of the P21 object */ +static int p21EachEof(sqlite3_vtab_cursor *cur){ + P21EachCursor *p = (P21EachCursor*)cur; + return p->i >= p->iEnd; +} + +/* Advance the cursor to the next element for p21_tree() */ +static int p21EachNext(sqlite3_vtab_cursor *cur){ + P21EachCursor *p = (P21EachCursor*)cur; + switch( p->eType ){ + case P21_RECORD: + case P21_LIST: { + p->i += p21NodeSize(&p->sParse.aNode[p->i]); + p->iRowid++; + break; + } + default: { + p->i = p->iEnd; + break; + } + } + return SQLITE_OK; +} + +/* Append the name of the path for element i to pStr +*/ +static void p21EachComputePath( + P21EachCursor *p, /* The cursor */ + P21String *pStr, /* Write the path here */ + u32 i /* Path to this element */ +){ + P21Node *pNode, *pUp; + u32 iUp; + if( i==0 ){ + p21AppendChar(pStr, '$'); + return; + } + iUp = p->sParse.aUp[i]; + p21EachComputePath(p, pStr, iUp); + pNode = &p->sParse.aNode[i]; + pUp = &p->sParse.aNode[iUp]; + if( pUp->eType==P21_LIST ){ + p21Printf(30, pStr, "[%d]", pUp->u.iKey); + }else{ + assert( pUp->eType==P21_RECORD ); + if( (pNode->jnFlags & PNODE_LABEL)==0 ) pNode--; + assert( pNode->eType==P21_STRING ); + assert( pNode->jnFlags & PNODE_LABEL ); + p21Printf(pNode->n+1, pStr, ".%.*s", pNode->n-2, pNode->u.zJContent+1); + } +} + +/* Return the value of a column */ +static int p21EachColumn( + sqlite3_vtab_cursor *cur, /* The cursor */ + sqlite3_context *ctx, /* First argument to sqlite3_result_...() */ + int i /* Which column to return */ +){ + P21EachCursor *p = (P21EachCursor*)cur; + P21Node *pThis = &p->sParse.aNode[p->i]; + switch( i ){ + case PEACH_KEY: { + if( p->i==0 ) break; + if( p->eType==P21_RECORD ){ + p21Return(pThis, ctx, 0); + }else if( p->eType==P21_LIST ){ + u32 iKey; + iKey = p->iRowid; + sqlite3_result_int64(ctx, (sqlite3_int64)iKey); + } + break; + } + case PEACH_VALUE: { + if( pThis->jnFlags & PNODE_LABEL ) pThis++; + p21Return(pThis, ctx, 0); + break; + } + case PEACH_TYPE: { + if( pThis->jnFlags & PNODE_LABEL ) pThis++; + sqlite3_result_text(ctx, p21Type[pThis->eType], -1, SQLITE_STATIC); + break; + } + case PEACH_ATOM: { + if( pThis->jnFlags & PNODE_LABEL ) pThis++; + if( pThis->eType>=P21_LIST ) break; + p21Return(pThis, ctx, 0); + break; + } + case PEACH_ID: { + sqlite3_result_int64(ctx, + (sqlite3_int64)p->i + ((pThis->jnFlags & PNODE_LABEL)!=0)); + break; + } + case PEACH_FULLKEY: { + P21String x; + p21Init(&x, ctx); + if( p->zRoot ){ + p21AppendRaw(&x, p->zRoot, (int)strlen(p->zRoot)); + }else{ + p21AppendChar(&x, '$'); + } + if( p->eType==P21_LIST ){ + p21Printf(30, &x, "[%d]", p->iRowid); + }else if( p->eType==P21_RECORD ){ + p21Printf(pThis->n, &x, ".%.*s", pThis->n-2, pThis->u.zJContent+1); + } + p21Result(&x); + break; + } + case PEACH_PATH: + default: { + const char *zRoot = p->zRoot; + if( zRoot==0 ) zRoot = "$"; + sqlite3_result_text(ctx, zRoot, -1, SQLITE_STATIC); + break; + } + case PEACH_P21: { + assert( i==PEACH_P21 ); + sqlite3_result_text(ctx, p->sParse.zP21, -1, SQLITE_STATIC); + break; + } + } + return SQLITE_OK; +} + +/* Return the current rowid value */ +static int p21EachRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){ + P21EachCursor *p = (P21EachCursor*)cur; + *pRowid = p->iRowid; + return SQLITE_OK; +} + +/* The query strategy is to look for an equality constraint on the p21 +** column. Without such a constraint, the table cannot operate. idxNum is +** 1 if the constraint is found, 3 if the constraint and zRoot are found, +** and 0 otherwise. +*/ +static int p21EachBestIndex( + sqlite3_vtab *tab, + sqlite3_index_info *pIdxInfo +){ + int i; /* Loop counter or computed array index */ + int aIdx[2]; /* Index of constraints for P21 and ROOT */ + int unusableMask = 0; /* Mask of unusable P21 and ROOT constraints */ + int idxMask = 0; /* Mask of usable == constraints P21 and ROOT */ + const struct sqlite3_index_constraint *pConstraint; + + /* This implementation assumes that P21 and ROOT are the last two + ** columns in the table */ + assert( PEACH_ROOT == PEACH_P21+1 ); + UNUSED_PARAM(tab); + aIdx[0] = aIdx[1] = -1; + pConstraint = pIdxInfo->aConstraint; + for(i=0; inConstraint; i++, pConstraint++){ + int iCol; + int iMask; + if( pConstraint->iColumn < PEACH_P21 ) continue; + iCol = pConstraint->iColumn - PEACH_P21; + assert( iCol==0 || iCol==1 ); + iMask = 1 << iCol; + if( pConstraint->usable==0 ){ + unusableMask |= iMask; + }else if( pConstraint->op==SQLITE_INDEX_CONSTRAINT_EQ ){ + aIdx[iCol] = i; + idxMask |= iMask; + } + } + if( (unusableMask & ~idxMask)!=0 ){ + /* If there are any unusable constraints on P21 or ROOT, then reject + ** this entire plan */ + return SQLITE_CONSTRAINT; + } + if( aIdx[0]<0 ){ + /* No P21 input. Leave estimatedCost at the huge value that it was + ** initialized to to discourage the query planner from selecting this + ** plan. */ + pIdxInfo->idxNum = 0; + }else{ + pIdxInfo->estimatedCost = 1.0; + i = aIdx[0]; + pIdxInfo->aConstraintUsage[i].argvIndex = 1; + pIdxInfo->aConstraintUsage[i].omit = 1; + if( aIdx[1]<0 ){ + pIdxInfo->idxNum = 1; /* Only P21 supplied. Plan 1 */ + }else{ + i = aIdx[1]; + pIdxInfo->aConstraintUsage[i].argvIndex = 2; + pIdxInfo->aConstraintUsage[i].omit = 1; + pIdxInfo->idxNum = 3; /* Both P21 and ROOT are supplied. Plan 3 */ + } + } + return SQLITE_OK; +} + +/* Start a search on a new P21 string */ +static int p21EachFilter( + sqlite3_vtab_cursor *cur, + int idxNum, const char *idxStr, + int argc, sqlite3_value **argv +){ + P21EachCursor *p = (P21EachCursor*)cur; + const char *z; + const char *zRoot = 0; + sqlite3_int64 n; + + UNUSED_PARAM(idxStr); + UNUSED_PARAM(argc); + p21EachCursorReset(p); + if( idxNum==0 ) return SQLITE_OK; + z = (const char*)sqlite3_value_text(argv[0]); + if( z==0 ) return SQLITE_OK; + n = sqlite3_value_bytes(argv[0]); + p->zP21 = sqlite3_malloc64( n+1 ); + if( p->zP21==0 ) return SQLITE_NOMEM; + memcpy(p->zP21, z, (size_t)n+1); + if( p21Parse(&p->sParse, 0, p->zP21) ){ + int rc = SQLITE_NOMEM; + if( p->sParse.oom==0 ){ + sqlite3_free(cur->pVtab->zErrMsg); + cur->pVtab->zErrMsg = sqlite3_mprintf("malformed P21"); + if( cur->pVtab->zErrMsg ) rc = SQLITE_ERROR; + } + p21EachCursorReset(p); + return rc; + }else{ + P21Node *pNode = 0; + if( idxNum==3 ){ + const char *zErr = 0; + zRoot = (const char*)sqlite3_value_text(argv[1]); + if( zRoot==0 ) return SQLITE_OK; + n = sqlite3_value_bytes(argv[1]); + p->zRoot = sqlite3_malloc64( n+1 ); + if( p->zRoot==0 ) return SQLITE_NOMEM; + memcpy(p->zRoot, zRoot, (size_t)n+1); + if( zRoot[0]!='$' ){ + zErr = zRoot; + }else{ + pNode = p21LookupStep(&p->sParse, 0, p->zRoot+1, 0, &zErr); + } + if( zErr ){ + sqlite3_free(cur->pVtab->zErrMsg); + cur->pVtab->zErrMsg = p21PathSyntaxError(zErr); + p21EachCursorReset(p); + return cur->pVtab->zErrMsg ? SQLITE_ERROR : SQLITE_NOMEM; + }else if( pNode==0 ){ + return SQLITE_OK; + } + }else{ + pNode = p->sParse.aNode; + } + p->iBegin = p->i = (int)(pNode - p->sParse.aNode); + p->eType = pNode->eType; + if( p->eType>=P21_LIST ){ + pNode->u.iKey = 0; + p->iEnd = p->i + pNode->n + 1; + p->i++; + }else{ + p->iEnd = p->i+1; + } + } + return SQLITE_OK; +} + +/* The methods of the p21_each virtual table */ +static sqlite3_module p21EachModule = { + 0, /* iVersion */ + 0, /* xCreate */ + p21EachConnect, /* xConnect */ + p21EachBestIndex, /* xBestIndex */ + p21EachDisconnect, /* xDisconnect */ + 0, /* xDestroy */ + p21EachOpenEach, /* xOpen - open a cursor */ + p21EachClose, /* xClose - close a cursor */ + p21EachFilter, /* xFilter - configure scan constraints */ + p21EachNext, /* xNext - advance a cursor */ + p21EachEof, /* xEof - check for end of scan */ + p21EachColumn, /* xColumn - read data */ + p21EachRowid, /* xRowid - read data */ + 0, /* xUpdate */ + 0, /* xBegin */ + 0, /* xSync */ + 0, /* xCommit */ + 0, /* xRollback */ + 0, /* xFindMethod */ + 0, /* xRename */ + 0, /* xSavepoint */ + 0, /* xRelease */ + 0, /* xRollbackTo */ + 0 /* xShadowName */ +}; + +#endif /* SQLITE_OMIT_VIRTUALTABLE */ + +/**************************************************************************** +** The following routines are the only publically visible identifiers in this +** file. Call the following routines in order to register the various SQL +** functions and the virtual table implemented by this file. +****************************************************************************/ + +int sqlite3P21sqlInit(sqlite3 *db){ + int rc = SQLITE_OK; + unsigned int i; + static const struct { + const char *zName; + int nArg; + int flag; + void (*xFunc)(sqlite3_context*,int,sqlite3_value**); + } aFunc[] = { + { "p21", 1, 0, p21RemoveFunc }, + { "p21_array", -1, 0, p21ArrayFunc }, + { "p21_array_length", 1, 0, p21ArrayLengthFunc }, + { "p21_array_length", 2, 0, p21ArrayLengthFunc }, + { "p21_extract", -1, 0, p21ExtractFunc }, + { "p21_insert", -1, 0, p21SetFunc }, + { "p21_object", -1, 0, p21ObjectFunc }, +#if 0 + { "p21_patch", 2, 0, p21PatchFunc }, +#endif + { "p21_quote", 1, 0, p21QuoteFunc }, + { "p21_remove", -1, 0, p21RemoveFunc }, + { "p21_replace", -1, 0, p21ReplaceFunc }, + { "p21_set", -1, 1, p21SetFunc }, + { "p21_type", 1, 0, p21TypeFunc }, + { "p21_type", 2, 0, p21TypeFunc }, + { "p21_valid", 1, 0, p21ValidFunc }, + +#if SQLITE_DEBUG + /* DEBUG and TESTING functions */ + { "p21_parse", 1, 0, p21ParseFunc }, + { "p21_test1", 1, 0, p21Test1Func }, +#endif + }; + static const struct { + const char *zName; + int nArg; + void (*xStep)(sqlite3_context*,int,sqlite3_value**); + void (*xFinal)(sqlite3_context*); + void (*xValue)(sqlite3_context*); + } aAgg[] = { + { "p21_group_array", 1, + p21ArrayStep, p21ArrayFinal, p21ArrayValue }, + { "p21_group_object", 2, + p21ObjectStep, p21ObjectFinal, p21ObjectValue }, + }; +#ifndef SQLITE_OMIT_VIRTUALTABLE + static const struct { + const char *zName; + sqlite3_module *pModule; + } aMod[] = { + { "p21_each", &p21EachModule }, + }; +#endif + static const int enc = + SQLITE_UTF8 | + SQLITE_DETERMINISTIC | + SQLITE_INNOCUOUS; + for(i=0; i nor the names of its contributors may +# 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. + +import unittest +from stepcode.Part21 import Parser + +ShapesSample =""" +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('simple example file'),'1'); +FILE_NAME('testfile.step','1997-10-06T16:15:42',('long forgotten'),('nist'),'0','1','2'); +FILE_SCHEMA(('example_schema')); +ENDSEC; +DATA; +#0=SQUARE('Square9',.BROWN.,13,15.,51.); +#1=CIRCLE('Circle8',.ORANGE.,19,12.); +#2=TRIANGLE('Triangle7',.BLACK.,67,84.,60.,25.); +#3=LINE(#6,#7); +#4=SHAPE('Shape4',.WHITE.,83); +#5=RECTANGLE('Rectangle8',.BROWN.,66,78.,95.); +#6=CARTESIAN_POINT(11.,67.,54.); +#7=CARTESIAN_POINT(1.,2.,3.); +ENDSEC; +END-ISO-10303-21; +""" + +class TestSample(unittest.TestCase): + def setUp(self): + self.parser = Parser() + def tearDown(self): + self.parser = None + + +class TestShapesParse(TestSample): + """ + Tests whether we're able to parse the shapes sample at all + """ + def test_parse(self): + model = self.parser.parse(ShapesSample) + self.assertIsNotNone(model) + + +class TestShapesHeader(TestSample): + """ + Test basic structure and payload of Header section + """ + def test_header_name(self): + model = self.parser.parse(ShapesSample) + self.assertEqual(model.header.file_name.params[0][0], "testfile.step") + + def test_header_schema(self): + model = self.parser.parse(ShapesSample) + self.assertEqual(model.header.file_schema.params[0][0][0], "example_schema") + + +class TestShapesData(TestSample): + """ + Test basic structure and shape of data section + """ + def test_data_section_form(self): + model = self.parser.parse(ShapesSample) + self.assertEqual(len(model.sections), 1) + self.assertEqual(len(model.sections[0].entities), 8) + + +class TestEntity(TestSample): + """ + Test structure and contents of several entities within the DATA section + """ + def test_line(self): + model = self.parser.parse(ShapesSample) + line = model.sections[0].entities[3] + self.assertEqual(line.type_name, "LINE") + self.assertEqual(line.ref, "#3") + self.assertEqual(line.params[0], ["#6", "#7"]) + + def test_rectangle8(self): + model = self.parser.parse(ShapesSample) + rect8 = model.sections[0].entities[5] + self.assertEqual(rect8.type_name, "RECTANGLE") + self.assertEqual(rect8.ref, "#5") + self.assertEqual(rect8.params[0], ['Rectangle8', '.BROWN.', 66, 78.0, 95.0]) + diff --git a/src/fedex_python/test/test_unitary_schemas.py b/src/exp2python/python/tests/test_unitary_schemas.py similarity index 97% rename from src/fedex_python/test/test_unitary_schemas.py rename to src/exp2python/python/tests/test_unitary_schemas.py index 6d5f7f23f..077644253 100644 --- a/src/fedex_python/test/test_unitary_schemas.py +++ b/src/exp2python/python/tests/test_unitary_schemas.py @@ -1,7 +1,7 @@ # Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) # All rights reserved. -# This file is part StepClassLibrary (SCL). +# This file is part of the STEPCODE project. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -31,14 +31,16 @@ import unittest import sys -sys.path.append('../examples/unitary_schemas') - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Expr import * +import os + +here = os.path.dirname(os.path.abspath(__file__)) +sys.path.append(os.path.join(here, "..", "..", "examples", "unitary_schemas")) + +from stepcode.SCLBase import * +from stepcode.SimpleDataTypes import * +from stepcode.ConstructedDataTypes import * +from stepcode.AggregationDataTypes import * +from stepcode.TypeChecker import check_type class TestSelectDataType(unittest.TestCase): ''' diff --git a/src/fedex_plus/classes.h b/src/exp2python/src/classes.h similarity index 74% rename from src/fedex_plus/classes.h rename to src/exp2python/src/classes.h index 79228916d..a76cb6afa 100644 --- a/src/fedex_plus/classes.h +++ b/src/exp2python/src/classes.h @@ -23,7 +23,6 @@ N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. #include "express.h" -#include "exppp.h" #include "dict.h" #define MAX_LEN 240 @@ -52,11 +51,11 @@ N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. #define TYPEtd_name(t) TypeDescriptorName (t) typedef struct file_holder { - FILE * inc; ///< include file - FILE * lib; ///< library file - FILE * incall; ///< include file for collecting all include files - FILE * initall; ///< for registering all entities from all schemas - FILE * init; ///< contains function to initialize program to use schema's entities + FILE * inc; /**< include file */ + FILE * lib; /**< library file */ + FILE * incall; /**< include file for collecting all include files */ + FILE * initall; /**< for registering all entities from all schemas */ + FILE * init; /**< contains function to initialize program to use schema's entities */ FILE * create; /**< DAR - added - to create all schema & ent descriptors. In multiple * interrelated schemas, must be done before attribute descriptors and * sub-super links created. @@ -65,19 +64,19 @@ typedef struct file_holder { * classes, so that all the .h files can refer any of the entity classes. * Nec. if ent1 of schemaA has attribute ent2 from schemaB. */ - FILE * names; ///< MAP Nov 2011 - header with namespace for entity and attr descriptors + FILE * names; /**< MAP Nov 2011 - header with namespace for entity and attr descriptors */ FILE * helpers; /**< MAP Mar 2012 - header with inline helper functions. Currently only used for helper functions to find runtime aggregate bounds */ } File_holder, FILES; /** these fields are used so that ENTITY types are processed in order - * when appearing in differnt schemas + * when appearing in different schemas */ typedef struct EntityTag_ * EntityTag; struct EntityTag_ { - unsigned int started : 1; ///< marks the beginning of processing - unsigned int complete : 1; ///< marks the end of processing - Entity superclass; ///< the entity being used as the supertype - with multiple inheritance only chose one + unsigned int started : 1; /**< marks the beginning of processing */ + unsigned int complete : 1; /**< marks the end of processing */ + Entity superclass; /**< the entity being used as the supertype - with multiple inheritance only chose one */ }; Entity ENTITYget_superclass( Entity entity ); @@ -85,16 +84,16 @@ Entity ENTITYput_superclass( Entity entity ); int ENTITYhas_explicit_attributes( Entity e ); void ENTITYget_first_attribs( Entity entity, Linked_List result ); -///these fields are used so that SELECT types are processed in order +/** these fields are used so that SELECT types are processed in order */ typedef struct SelectTag_ * SelectTag; struct SelectTag_ { - unsigned int started : 1; ///< marks the beginning of processing - unsigned int complete : 1; ///< marks the end of processing + unsigned int started : 1; /**< marks the beginning of processing */ + unsigned int complete : 1; /**< marks the end of processing */ }; const char * GetTypeDescriptorName( Type t ); char * format_for_stringout( char * orig_buf, char * return_buf ); -void format_for_std_stringout( FILE * f, const char * orig_buf ); +void format_for_std_stringout( FILE* f, char* orig_buf ); const char * CheckWord( const char * ); const char * StrToLower( const char * ); const char * StrToUpper( const char * ); @@ -104,9 +103,9 @@ FILE * FILEcreate( const char * ); void FILEclose( FILE * ); const char * ClassName( const char * ); const char * ENTITYget_classname( Entity ); -void FUNCPrint( Function, FILES *, Schema ); -void RULEPrint( Rule, FILES *, Schema ); -void ENTITYPrint( Entity, FILES *, Schema ); +void FUNCPrint( Function function, FILES* files ); +void RULEPrint( Rule rule, FILES* files ); +void ENTITYPrint( Entity, FILES * ); const char * StrToConstant( const char * ); void TYPEselect_print( Type, FILES *, Schema ); void ENTITYprint_new( Entity, FILES *, Schema, int ); @@ -117,21 +116,20 @@ void TYPEprint_descriptions( const Type, FILES *, Schema ); void TYPEprint_init( const Type type, FILES * files, Schema schema ); void AGGRprint_init( FILES * files, const Type t, const char * var_name, const char * aggr_name ); -void TYPEselect_init_print( const Type, FILE *, Schema ); +void TYPEselect_init_print( const Type type, FILE* f ); void MODELPrint( Entity, FILES *, Schema, int ); -void MODELprint_new( Entity, FILES *, Schema ); +void MODELprint_new( Entity entity, FILES* files ); void MODELPrintConstructorBody( Entity, FILES *, Schema/*, int*/ ); const char * PrettyTmpName( const char * oldname ); const char * EnumName( const char * oldname ); const char * TypeDescriptorName( Type ); char * TypeDescription( const Type t ); -const char * TypeName( Type t ); const char * AccessType( Type t ); const char * TYPEget_ctype( const Type t ); void print_file( Express ); void resolution_success( void ); -void SCHEMAprint( Schema, FILES *, Express, void *, int ); -Type TYPEget_ancestor( Type ); +void SCHEMAprint( Schema schema, FILES* files, int suffix ); +Type TYPEget_ancestor( Type t ); const char * FundamentalType( const Type t, int report_reftypes ); /*Variable*/ @@ -143,11 +141,9 @@ const char * FundamentalType( const Type t, int report_reftypes ); Variable VARis_overrider( Entity e, Variable a ); /* Added for multiple schema support: */ -void print_schemas_separate( Express, void *, FILES * ); +void print_schemas_separate( Express, FILES * ); void getMCPrint( Express, FILE *, FILE * ); int sameSchema( Scope, Scope ); -void USEREFout( Schema schema, Dictionary refdict, Linked_List reflist, char * type, FILE * file ); - #endif diff --git a/src/fedex_python/src/classes_misc_python.c b/src/exp2python/src/classes_misc_python.c similarity index 65% rename from src/fedex_python/src/classes_misc_python.c rename to src/exp2python/src/classes_misc_python.c index e34e138a3..5a34c5fa7 100644 --- a/src/fedex_python/src/classes_misc_python.c +++ b/src/exp2python/src/classes_misc_python.c @@ -19,11 +19,10 @@ N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. *******************************************************************/ extern int multiple_inheritance; -/*extern int corba_binding; */ /****************************************************************** ** The following functions will be used *** -*** through out the the program fedex_plus ***/ +*** throughout the program exp2python ***/ /****************************************************************** @@ -60,7 +59,7 @@ CheckWord( const char * word ) { high = nwords - 1; /* word is obviously not in list, if it is longer than any of the words in the list */ - if( strlen( word ) > 12 ) { + if( strlen( word ) > 18 ) { return ( word ); } @@ -71,10 +70,8 @@ CheckWord( const char * word ) { } else if( cond > 0 ) { low = i + 1; } else { /* word is a reserved word, capitalize it */ - printf( "** warning: reserved word %s ", word ); - *( word + 0 ) = toupper( *( word + 0 ) ); - printf( "is changed to %s **\n", word ); - + fprintf( stderr, "Warning: reserved word %s capitalized\n", word ); + *word = toupper( *word ); } } #endif @@ -114,7 +111,7 @@ ToUpper( char c ) { const char * StrToLower( const char * word ) { - static char newword [MAX_LEN]; + static char newword [MAX_LEN+1]; int i = 0; if( !word ) { return 0; @@ -128,9 +125,8 @@ StrToLower( const char * word ) { } -const char * -StrToUpper( const char * word ) { - static char newword [MAX_LEN]; +const char * StrToUpper( const char * word ) { + static char newword [MAX_LEN+1]; int i = 0; char ToUpper( char c ); @@ -143,9 +139,8 @@ StrToUpper( const char * word ) { return ( newword ); } -const char * -StrToConstant( const char * word ) { - static char newword [MAX_LEN]; +const char * StrToConstant( const char * word ) { + static char newword [MAX_LEN+1]; int i = 0; while( word [i] != '\0' ) { @@ -161,98 +156,48 @@ StrToConstant( const char * word ) { return ( newword ); } -/****************************************************************** - ** Procedure: FILEcreate - ** Description: creates a file for c++ with header definitions - ** Parameters: filename - ** Returns: FILE* pointer to file created or NULL - ** Side Effects: creates a file with name filename - ** Status: complete - ******************************************************************/ - -FILE * -FILEcreate( const char * filename ) { +/** creates a file for python */ +FILE * FILEcreate( const char * filename ) { FILE * file; - //const char * fn; if( ( file = fopen( filename, "w" ) ) == NULL ) { - printf( "**Error in SCHEMAprint: unable to create file %s ** \n", filename ); + fprintf( stderr, "Error in SCHEMAprint: unable to create file %s\n", filename ); return ( NULL ); } - //fprintf( file, "#ifndef %s\n", fn = StrToConstant( filename ) ); - //fprintf( file, "#define %s\n", fn ); - - fprintf( file, "# This file was generated by fedex_python. You probably don't want to edit\n" ); - fprintf( file, "# it since your modifications will be lost if fedex_plus is used to\n" ); + fprintf( file, "# This file was generated by exp2python. You probably don't want to edit\n" ); + fprintf( file, "# it since your modifications will be lost if exp2python is used to\n" ); fprintf( file, "# regenerate it.\n" ); return ( file ); } -/****************************************************************** - ** Procedure: FILEclose - ** Description: closes a file opened with FILEcreate - ** Parameters: FILE* file -- pointer to file to close - ** Returns: - ** Side Effects: - ** Status: complete - ******************************************************************/ - -void -FILEclose( FILE * file ) { +/** closes a file opened with FILEcreate */ +void FILEclose( FILE * file ) { fclose( file ); } -/****************************************************************** - ** Procedure: isAggregate - ** Parameters: Attribute a - ** Returns: int indicates whether the attribute is an aggregate - ** Description: indicates whether the attribute is an aggregate - ** Side Effects: none - ** Status: complete 1/15/91 - ******************************************************************/ - -int -isAggregate( Variable a ) { +/** indicates whether the attribute is an aggregate */ +int isAggregate( Variable a ) { return( TYPEinherits_from( VARget_type( a ), aggregate_ ) ); } -int -isAggregateType( const Type t ) { +/** indicates whether the type is an aggregate type */ +int isAggregateType( const Type t ) { return( TYPEinherits_from( t, aggregate_ ) ); } - - -/****************************************************************** - ** Procedure: TypeName - ** Parameters: Type t - ** Returns: name of type as defined in SDAI C++ binding 4-Nov-1993 - ** Status: 4-Nov-1993 - ******************************************************************/ -const char * -TypeName( Type t ) { -} - -/****************************************************************** - ** Procedure: ClassName - ** Parameters: const char * oldname - ** Returns: temporary copy of name suitable for use as a class name - ** Side Effects: erases the name created by a previous call to this function - ** Status: complete - ******************************************************************/ - -const char * -ClassName( const char * oldname ) { +/** returns temporary copy of name suitable for use as a class name + * + * each call erases the name created by a previous call to this function + */ +const char * ClassName( const char * oldname ) { int i = 0, j = 0; - static char newname [BUFSIZ]; + static char newname [BUFSIZ+1]; if( !oldname ) { return ( "" ); } - - strcpy( newname, ENTITYCLASS_PREFIX ) ; j = strlen( ENTITYCLASS_PREFIX ) ; newname [j] = ToUpper( oldname [i] ); @@ -260,9 +205,6 @@ ClassName( const char * oldname ) { ++j; while( oldname [i] != '\0' ) { newname [j] = ToLower( oldname [i] ); - /* if (oldname [i] == '_') */ - /* character is '_' */ - /* newname [++j] = ToUpper (oldname [++i]);*/ ++i; ++j; } @@ -270,40 +212,16 @@ ClassName( const char * oldname ) { return ( newname ); } -const char * -ENTITYget_CORBAname( Entity ent ) { - static char newname [BUFSIZ]; - strcpy( newname, ENTITYget_name( ent ) ); - newname[0] = ToUpper( newname [0] ); - return newname; -} - -/****************************************************************** - ** Procedure: ENTITYget_classname - ** Parameters: Entity ent - ** Returns: the name of the c++ class representing the entity - ** Status: complete - ******************************************************************/ - -const char * -ENTITYget_classname( Entity ent ) { +/** returns the name of the c++ class representing the entity */ +const char * ENTITYget_classname( Entity ent ) { const char * oldname = ENTITYget_name( ent ); return ( ClassName( oldname ) ); } -/****************************************************************** - ** Procedure: PrettyTmpName (char * oldname) - ** Procedure: PrettyNewName (char * oldname) - ** Parameters: oldname - ** Returns: a new capitalized name - ** Description: creates a new name with first character's in caps - ** Side Effects: PrettyNewName allocates memory for the new name - ** Status: OK 7-Oct-1992 kcm - ******************************************************************/ -const char * -PrettyTmpName( const char * oldname ) { +/** returns a new capitalized name, in internal static buffer */ +const char * PrettyTmpName( const char * oldname ) { int i = 0; - static char newname [BUFSIZ]; + static char newname [BUFSIZ+1]; newname [0] = '\0'; while( ( oldname [i] != '\0' ) && ( i < BUFSIZ ) ) { newname [i] = ToLower( oldname [i] ); @@ -321,11 +239,10 @@ PrettyTmpName( const char * oldname ) { return newname; } -/* This function is out of date DAS */ -const char * -EnumName( const char * oldname ) { +/** This function is out of date DAS */ +const char * EnumName( const char * oldname ) { int j = 0; - static char newname [MAX_LEN]; + static char newname [MAX_LEN+1]; if( !oldname ) { return ( "" ); } @@ -339,10 +256,9 @@ EnumName( const char * oldname ) { return ( newname ); } -const char * -SelectName( const char * oldname ) { +const char * SelectName( const char * oldname ) { int j = 0; - static char newname [MAX_LEN]; + static char newname [MAX_LEN+1]; if( !oldname ) { return ( "" ); } @@ -357,20 +273,19 @@ SelectName( const char * oldname ) { return ( newname ); } -const char * -FirstToUpper( const char * word ) { - static char newword [MAX_LEN]; +const char * FirstToUpper( const char * word ) { + static char newword [MAX_LEN+1]; strncpy( newword, word, MAX_LEN ); newword[0] = ToUpper( newword[0] ); return ( newword ); } -/* return fundamental type but as the string which corresponds to */ -/* the appropriate type descriptor */ -/* if report_reftypes is true, report REFERENCE_TYPE when appropriate */ -const char * -FundamentalType( const Type t, int report_reftypes ) { +/** return fundamental type but as the string which corresponds to + * the appropriate type descriptor + * if report_reftypes is true, report REFERENCE_TYPE when appropriate + */ +const char * FundamentalType( const Type t, int report_reftypes ) { if( report_reftypes && TYPEget_head( t ) ) { return( "REFERENCE_TYPE" ); } @@ -412,18 +327,16 @@ FundamentalType( const Type t, int report_reftypes ) { } } -/* this actually gets you the name of the variable that will be generated to - be a TypeDescriptor or subtype of TypeDescriptor to represent Type t in - the dictionary. */ - -const char * -TypeDescriptorName( Type t ) { - static char b [BUFSIZ]; +/** this actually gets you the name of the variable that will be generated to + * be a TypeDescriptor or subtype of TypeDescriptor to represent Type t in + * the dictionary. + */ +const char * TypeDescriptorName( Type t ) { + static char b [BUFSIZ+1]; Schema parent = t->superscope; /* NOTE - I corrected a prev bug here in which the *current* schema was ** passed to this function. Now we take "parent" - the schema in which ** Type t was defined - which was actually used to create t's name. DAR */ - if( !parent ) { parent = TYPEget_body( t )->entity->superscope; /* This works in certain cases that don't work otherwise (basically a @@ -437,11 +350,10 @@ TypeDescriptorName( Type t ) { return b; } -/* this gets you the name of the type of TypeDescriptor (or subtype) that a - variable generated to represent Type t would be an instance of. */ - -const char * -GetTypeDescriptorName( Type t ) { +/** this gets you the name of the type of TypeDescriptor (or subtype) that a + * variable generated to represent Type t would be an instance of. + */ +const char * GetTypeDescriptorName( Type t ) { switch( TYPEget_body( t )->type ) { case aggregate_: return "AggrTypeDescriptor"; @@ -477,13 +389,12 @@ GetTypeDescriptorName( Type t ) { case generic_: return "TypeDescriptor"; default: - printf( "Error in %s, line %d: type %d not handled by switch statement.", __FILE__, __LINE__, TYPEget_body( t )->type ); + fprintf( stderr, "Error in %s, line %d: type %d not handled by switch statement.", __FILE__, __LINE__, TYPEget_body( t )->type ); abort(); } } -int -ENTITYhas_explicit_attributes( Entity e ) { +int ENTITYhas_explicit_attributes( Entity e ) { Linked_List l = ENTITYget_attributes( e ); int cnt = 0; LISTdo( l, a, Variable ) @@ -495,52 +406,49 @@ ENTITYhas_explicit_attributes( Entity e ) { } -Entity -ENTITYput_superclass( Entity entity ) { +Entity ENTITYput_superclass( Entity entity ) { #define ENTITYget_type(e) ((e)->u.entity->type) Linked_List l = ENTITYget_supertypes( entity ); - Entity super = 0; - Entity ignore = 0; - int super_cnt = 0; EntityTag tag; - Linked_List list = 0; - if( ! LISTempty( l ) ) { + Entity super = 0; if( multiple_inheritance ) { + Linked_List list = 0; list = ENTITYget_supertypes( entity ); if( ! LISTempty( list ) ) { /* assign superclass to be the first one on the list of parents */ super = ( Entity )LISTpeek_first( list ); } } else { + Entity ignore = 0; + int super_cnt = 0; /* find the first parent that has attributes (in the parent or any of its ancestors). Make super point at that parent and print warnings for all the rest of the parents. DAS */ - LISTdo( l, e, Entity ) - /* if there's no super class yet, - or if the entity super class [the variable] super is pointing at - doesn't have any attributes: make super point at the current parent. - As soon as the parent pointed to by super has attributes, stop - assigning super and print ignore messages for the remaining parents. - */ - if( ( ! super ) || ( ! ENTITYhas_explicit_attributes( super ) ) ) { - ignore = super; - super = e; - ++ super_cnt; - } else { - ignore = e; - } - if( ignore ) { - printf( "WARNING: multiple inheritance not implemented.\n" ); - printf( "\tin ENTITY %s\n\tSUPERTYPE %s IGNORED.\n\n", - ENTITYget_name( entity ), ENTITYget_name( e ) ); - } - LISTod; + LISTdo( l, e, Entity ) { + /* if there's no super class yet, + or if the entity super class [the variable] super is pointing at + doesn't have any attributes: make super point at the current parent. + As soon as the parent pointed to by super has attributes, stop + assigning super and print ignore messages for the remaining parents. + */ + if( ( ! super ) || ( ! ENTITYhas_explicit_attributes( super ) ) ) { + ignore = super; + super = e; + ++ super_cnt; + } else { + ignore = e; + } + if( ignore ) { + printf( "WARNING: multiple inheritance not implemented.\n" ); + printf( "\tin ENTITY %s\n\tSUPERTYPE %s IGNORED.\n\n", + ENTITYget_name( entity ), ENTITYget_name( e ) ); + } + } LISTod } - tag = ( EntityTag ) malloc( sizeof( struct EntityTag_ ) ); tag -> superclass = super; TYPEput_clientData( ENTITYget_type( entity ), tag ); @@ -549,8 +457,7 @@ ENTITYput_superclass( Entity entity ) { return 0; } -Entity -ENTITYget_superclass( Entity entity ) { +Entity ENTITYget_superclass( Entity entity ) { EntityTag tag; tag = TYPEget_clientData( ENTITYget_type( entity ) ); return ( tag ? tag -> superclass : 0 ); @@ -559,7 +466,7 @@ ENTITYget_superclass( Entity entity ) { void ENTITYget_first_attribs( Entity entity, Linked_List result ) { Linked_List supers; - LISTdo( ENTITYget_attributes( entity ), attr, Generic ) + LISTdo( ENTITYget_attributes( entity ), attr, void * ) LISTadd_last( result, attr ); LISTod; supers = ENTITYget_supertypes( entity ); @@ -598,15 +505,14 @@ void ENTITYget_first_attribs( Entity entity, Linked_List result ) { ** // tell it to be * for reading and writing **/ -Variable -VARis_type_shifter( Variable a ) { +Variable VARis_type_shifter( Variable a ) { char * temp; if( VARis_derived( a ) || VARget_inverse( a ) ) { return 0; } - temp = EXPRto_string( VARget_name( a ) ); + temp = strdup( VARget_name( a )->symbol.name ); if( ! strncmp( StrToLower( temp ), "self\\", 5 ) ) { /* a is a type shifter */ free( temp ); @@ -616,8 +522,7 @@ VARis_type_shifter( Variable a ) { return 0; } -Variable -VARis_overrider( Entity e, Variable a ) { +Variable VARis_overrider( Entity e, Variable a ) { Variable other; char * tmp; @@ -633,13 +538,11 @@ VARis_overrider( Entity e, Variable a ) { return 0; } -Type -TYPEget_ancestor( Type t ) -/* +/** * For a renamed type, returns the original (ancestor) type from which t * descends. Return NULL if t is top level. */ -{ +Type TYPEget_ancestor( Type t ) { Type i = t; if( !TYPEget_head( i ) ) { diff --git a/src/fedex_python/src/classes_python.c b/src/exp2python/src/classes_python.c similarity index 62% rename from src/fedex_python/src/classes_python.c rename to src/exp2python/src/classes_python.c index 378a83ad1..109efecda 100644 --- a/src/fedex_python/src/classes_python.c +++ b/src/exp2python/src/classes_python.c @@ -25,13 +25,10 @@ N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. /* #define NEWDICT */ #include -#include "classes.h" +#include -#ifdef __STDC__ -#include -#else -#include -#endif +#include "classes.h" +#include "expr.h" #define EXPRESSION_out(e,p,f) EXPRESSION__out(e,p,OP_UNKNOWN,f) #define EXPRESSIONop2_out(oe,string,paren,pad,f) \ @@ -49,36 +46,36 @@ N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. int isAggregateType( const Type t ); int isAggregate( Variable a ); Variable VARis_type_shifter( Variable a ); -const char * ENTITYget_CORBAname( Entity ent ); const char * GetTypeDescriptorName( Type t ); +void TYPEselect_lib_print( const Type type, FILE * f ); int multiple_inheritance = 1; int print_logging = 0; -int corba_binding = 0; int old_accessors = 0; /* several classes use attr_count for naming attr dictionary entry variables. All but the last function generating code for a particular entity increment a copy of it for naming each attr in the entity. Here are the functions: - ENTITYhead_print (Entity entity, FILE* file,Schema schema) + ENTITYhead_print (Entity entity, FILE* file,Schema schema) // NOTE definition removed - not used in exp2python LIBdescribe_entity (Entity entity, FILE* file, Schema schema) LIBcopy_constructor (Entity ent, FILE* file) - LIBstructor_print (Entity entity, FILE* file, Schema schema) - LIBstructor_print_w_args (Entity entity, FILE* file, Schema schema) + LIBstructor_print (Entity entity, FILE* file, Schema schema) // NOTE definition removed - not used in exp2python + LIBstructor_print_w_args (Entity entity, FILE* file, Schema schema) // NOTE definition removed - not used in exp2python ENTITYincode_print (Entity entity, FILE* file,Schema schema) DAS */ static int attr_count; /* number each attr to avoid inter-entity clashes */ -static int type_count; /* number each temporary type for same reason above */ +/* static int type_count; NOTE unused / * number each temporary type for same reason above */ extern int any_duplicates_in_select( const Linked_List list ); extern int unique_types( const Linked_List list ); extern char * non_unique_types_string( const Type type ); -static void printEnumCreateHdr( FILE *, const Type ); -static void printEnumCreateBody( FILE *, const Type ); -static void printEnumAggrCrHdr( FILE *, const Type ); -static void printEnumAggrCrBody( FILE *, const Type ); +/* static void printEnumCreateHdr( FILE *, const Type ); //NOTE - unused + * static void printEnumCreateBody( FILE *, const Type ); + * static void printEnumAggrCrHdr( FILE *, const Type ); + * static void printEnumAggrCrBody( FILE *, const Type ); + */ void printAccessHookFriend( FILE *, const char * ); void printAccessHookHdr( FILE *, const char * ); int TYPEget_RefTypeVarNm( const Type t, char * buf, Schema schema ); @@ -87,18 +84,22 @@ void TypeBody_Description( TypeBody body, char * buf ); void STATEMENTSPrint( Linked_List stmts , int indent_level, FILE * file ); void STATEMENTPrint( Statement s, int indent_level, FILE * file ); void STATEMENTlist_out( Linked_List stmts, int indent_level, FILE * file ); -void EXPRESSION__out( Expression e, int paren, int previous_op , FILE * file ); -void EXPRESSIONop__out( struct Op_Subexpression * oe, int paren, int previous_op , FILE * file ); +void EXPRESSION__out( Expression e, int paren, Op_Code previous_op , FILE * file ); +void EXPRESSIONop__out( struct Op_Subexpression * oe, int paren, Op_Code previous_op , FILE * file ); void EXPRESSIONop1_out( struct Op_Subexpression * eo, char * opcode, int paren, FILE * file ); -void EXPRESSIONop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, int previous_op, FILE * file ); +void EXPRESSIONop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, Op_Code previous_op, FILE* file ); void ATTRIBUTE_INITIALIZER__out( Expression e, int paren, int previous_op , FILE * file ); -void ATTRIBUTE_INITIALIZERop__out( struct Op_Subexpression * oe, int paren, int previous_op , FILE * file ); +void ATTRIBUTE_INITIALIZERop__out( struct Op_Subexpression * oe, int paren, Op_Code previous_op , FILE * file ); void ATTRIBUTE_INITIALIZERop1_out( struct Op_Subexpression * eo, char * opcode, int paren, FILE * file ); -void ATTRIBUTE_INITIALIZERop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, int previous_op, FILE * file ); +void ATTRIBUTE_INITIALIZERop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, Op_Code previous_op, FILE* file ); void CASEout( struct Case_Statement_ *c, int level, FILE * file ); void LOOPpyout( struct Loop_ *loop, int level, FILE * file ); void WHEREPrint( Linked_List wheres, int level , FILE * file ); +void Type_Description( const Type, char * ); + +char * EXPRto_python( Expression e ); + /* Turn the string into a new string that will be printed the same as the original string. That is, turn backslash into a quoted backslash and @@ -127,129 +128,32 @@ char * format_for_stringout( char * orig_buf, char * return_buf ) { return return_buf; } -void -USEREFout( Schema schema, Dictionary refdict, Linked_List reflist, char * type, FILE * file ) { - Dictionary dict; - DictionaryEntry de; - struct Rename * r; - Linked_List list; - char td_name[BUFSIZ]; - char sch_name[BUFSIZ]; +char * strliteral_py_dup( char * orig_buf ) { + char * new_buf = strdup(orig_buf); + char * tmp = new_buf; - strncpy( sch_name, PrettyTmpName( SCHEMAget_name( schema ) ), BUFSIZ ); - - LISTdo( reflist, s, Schema ) { - fprintf( file, "\t// %s FROM %s; (all objects)\n", type, s->symbol.name ); - fprintf( file, "\tis = new Interface_spec(\"%s\",\"%s\");\n", sch_name, PrettyTmpName( s->symbol.name ) ); - fprintf( file, "\tis->all_objects_(1);\n" ); - if( !strcmp( type, "USE" ) ) { - fprintf( file, "\t%s%s->use_interface_list_()->Append(is);\n", SCHEMA_PREFIX, SCHEMAget_name( schema ) ); - } else { - fprintf( file, "\t%s%s->ref_interface_list_()->Append(is);\n", SCHEMA_PREFIX, SCHEMAget_name( schema ) ); - } + while ((tmp = strstr(tmp, "\\x9"))) { + tmp++ ; *tmp = 't'; tmp++; + memmove(tmp, tmp+1, strlen(tmp)); } - LISTod - if( !refdict ) { - return; + tmp = new_buf; + while ((tmp = strstr(tmp, "\\xA"))) { + tmp++ ; *tmp = 'n'; tmp++; + memmove(tmp, tmp+1, strlen(tmp)); } - dict = DICTcreate( 10 ); - - /* sort each list by schema */ - - /* step 1: for each entry, store it in a schema-specific list */ - DICTdo_init( refdict, &de ); - while( 0 != ( r = ( struct Rename * )DICTdo( &de ) ) ) { - Linked_List list; - - list = ( Linked_List )DICTlookup( dict, r->schema->symbol.name ); - if( !list ) { - list = LISTcreate(); - DICTdefine( dict, r->schema->symbol.name, list, - ( Symbol * )0, OBJ_UNKNOWN ); - } - LISTadd( list, r ); - } - - /* step 2: for each list, print out the renames */ - DICTdo_init( dict, &de ); - while( 0 != ( list = ( Linked_List )DICTdo( &de ) ) ) { - bool first_time = true; - LISTdo( list, r, struct Rename * ) - - /* - Interface_spec_ptr is; - Used_item_ptr ui; - is = new Interface_spec(const char * cur_sch_id); - schemadescriptor->use_interface_list_()->Append(is); - ui = new Used_item(TypeDescriptor *ld, const char *oi, const char *ni) ; - is->_explicit_items->Append(ui); - */ - /* note: SCHEMAget_name(r->schema) equals r->schema->symbol.name) */ - if( first_time ) { - fprintf( file, "\t// %s FROM %s (selected objects)\n", type, r->schema->symbol.name ); - fprintf( file, "\tis = new Interface_spec(\"%s\",\"%s\");\n", sch_name, PrettyTmpName( r->schema->symbol.name ) ); - if( !strcmp( type, "USE" ) ) { - fprintf( file, "\t%s%s->use_interface_list_()->Append(is);\n", SCHEMA_PREFIX, SCHEMAget_name( schema ) ); - } else { - fprintf( file, "\t%s%s->ref_interface_list_()->Append(is);\n", SCHEMA_PREFIX, SCHEMAget_name( schema ) ); - } - } - - if( first_time ) { - first_time = false; - } - if( r->type == OBJ_TYPE ) { - sprintf( td_name, "%s", TYPEtd_name( ( Type )r->object ) ); - } else if( r->type == OBJ_FUNCTION ) { - sprintf( td_name, "/* Function not implemented */ 0" ); - } else if( r->type == OBJ_PROCEDURE ) { - sprintf( td_name, "/* Procedure not implemented */ 0" ); - } else if( r->type == OBJ_RULE ) { - sprintf( td_name, "/* Rule not implemented */ 0" ); - } else if( r->type == OBJ_ENTITY ) { - sprintf( td_name, "%s%s%s", - SCOPEget_name( ( ( Entity )r->object )->superscope ), - ENT_PREFIX, ENTITYget_name( ( Entity )r->object ) ); - } else { - sprintf( td_name, "/* %c from OBJ_? in expbasic.h not implemented */ 0", r->type ); - } - if( r->old != r->nnew ) { - fprintf( file, "\t// object %s AS %s\n", r->old->name, - r->nnew->name ); - if( !strcmp( type, "USE" ) ) { - fprintf( file, "\tui = new Used_item(\"%s\", %s, \"%s\", \"%s\");\n", r->schema->symbol.name, td_name, r->old->name, r->nnew->name ); - fprintf( file, "\tis->explicit_items_()->Append(ui);\n" ); - fprintf( file, "\t%s%s->interface_().explicit_items_()->Append(ui);\n", SCHEMA_PREFIX, SCHEMAget_name( schema ) ); - } else { - fprintf( file, "\tri = new Referenced_item(\"%s\", %s, \"%s\", \"%s\");\n", r->schema->symbol.name, td_name, r->old->name, r->nnew->name ); - fprintf( file, "\tis->explicit_items_()->Append(ri);\n" ); - fprintf( file, "\t%s%s->interface_().explicit_items_()->Append(ri);\n", SCHEMA_PREFIX, SCHEMAget_name( schema ) ); - } - } else { - fprintf( file, "\t// object %s\n", r->old->name ); - if( !strcmp( type, "USE" ) ) { - fprintf( file, "\tui = new Used_item(\"%s\", %s, \"\", \"%s\");\n", r->schema->symbol.name, td_name, r->nnew->name ); - fprintf( file, "\tis->explicit_items_()->Append(ui);\n" ); - fprintf( file, "\t%s%s->interface_().explicit_items_()->Append(ui);\n", SCHEMA_PREFIX, SCHEMAget_name( schema ) ); - } else { - fprintf( file, "\tri = new Referenced_item(\"%s\", %s, \"\", \"%s\");\n", r->schema->symbol.name, td_name, r->nnew->name ); - fprintf( file, "\tis->explicit_items_()->Append(ri);\n" ); - fprintf( file, "\t%s%s->interface_().explicit_items_()->Append(ri);\n", SCHEMA_PREFIX, SCHEMAget_name( schema ) ); - } - } - LISTod + tmp = new_buf; + while ((tmp = strstr(tmp, "\\xD"))) { + tmp++ ; *tmp = 'r'; tmp++; + memmove(tmp, tmp+1, strlen(tmp)); } - HASHdestroy( dict ); -} - -const char * -IdlEntityTypeName( Type t ) { + + return new_buf; } - int Handle_FedPlus_Args( int i, char * arg ) { + (void) arg; /* unused param */ if( ( ( char )i == 's' ) || ( ( char )i == 'S' ) ) { multiple_inheritance = 0; } @@ -259,17 +163,19 @@ int Handle_FedPlus_Args( int i, char * arg ) { if( ( char )i == 'L' ) { print_logging = 1; } - if( ( ( char )i == 'c' ) || ( ( char )i == 'C' ) ) { - corba_binding = 1; - } return 0; } bool is_python_keyword( char * word ) { + int i; + const char* keyword_list[] = {"class", "pass", "property", NULL}; bool python_keyword = false; - if( strcmp( word, "class" ) == 0 ) { - python_keyword = true; + + for( i = 0; keyword_list[i] != NULL; i++ ) { + if( strcmp( word, keyword_list[i] ) == 0 ) { + python_keyword = true; + } } return python_keyword; } @@ -286,7 +192,8 @@ char * generate_attribute_name( Variable a, char * out ) { char * temp, *p, *q; int j; - temp = EXPRto_string( VARget_name( a ) ); + Expression name = VARget_name( a ); + temp = strdup( EXPget_name( name ) ); p = temp; if( ! strncmp( StrToLower( p ), "self\\", 5 ) ) { p = p + 5; @@ -307,7 +214,7 @@ generate_attribute_name( Variable a, char * out ) { } } free( temp ); - // python generator : we should prevend an attr name to be a python reserved keyword + /* python generator : we should prevend an attr name to be a python reserved keyword */ if( is_python_keyword( out ) ) { strcat( out, "_" ); } @@ -350,8 +257,8 @@ char * generate_dict_attr_name( Variable a, char * out ) { char * temp, *p, *q; int j; - - temp = EXPRto_string( VARget_name( a ) ); + Expression name = VARget_name( a ); + temp = strdup( EXPget_name( name ) ); p = temp; if( ! strncmp( StrToLower( p ), "self\\", 5 ) ) { p = p + 5; @@ -375,117 +282,17 @@ generate_dict_attr_name( Variable a, char * out ) { /****************************************************************** ** Entity Generation */ -/****************************************************************** - ** Procedure: ENTITYhead_print - ** Parameters: const Entity entity - ** FILE* file -- file being written to - ** Returns: - ** Description: prints the beginning of the entity class definition for the - ** c++ code and the declaration of extern attr descriptors for - ** the registry. In the .h file - ** Side Effects: generates c++ code - ** Status: good 1/15/91 - ** added registry things 12-Apr-1993 - ******************************************************************/ - -void -ENTITYhead_print( Entity entity, FILE * file, Schema schema ) { - char entnm [BUFSIZ]; - char attrnm [BUFSIZ]; - Linked_List list; - int attr_count_tmp = attr_count; - Entity super = 0; - - strncpy( entnm, ENTITYget_classname( entity ), BUFSIZ ); - - /* DAS print all the attr descriptors and inverse attr descriptors for an - entity as extern defs in the .h file. */ - LISTdo( ENTITYget_attributes( entity ), v, Variable ) - generate_attribute_name( v, attrnm ); - fprintf( file, "extern %s *%s%d%s%s;\n", - ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), - ATTR_PREFIX, attr_count_tmp++, - ( VARis_derived( v ) ? "D" : ( VARis_type_shifter( v ) ? "R" : ( VARget_inverse( v ) ? "I" : "" ) ) ), - attrnm ); - - /* **** testing the functions **** */ - /* - if( !(VARis_derived(v) && - VARget_initializer(v) && - VARis_type_shifter(v) && - VARis_overrider(entity, v)) ) - fprintf(file,"// %s Attr is not derived, a type shifter, overrider, no initializer.\n",attrnm); - - if(VARis_derived (v)) - fprintf(file,"// %s Attr is derived\n",attrnm); - if (VARget_initializer (v)) - fprintf(file,"// %s Attr has an initializer\n",attrnm); - if(VARis_type_shifter (v)) - fprintf(file,"// %s Attr is a type shifter\n",attrnm); - if(VARis_overrider (entity, v)) - fprintf(file,"// %s Attr is an overrider\n",attrnm); - */ - /* ****** */ - - LISTod - - fprintf( file, "\nclass %s : ", entnm ); - - /* inherit from either supertype entity class or root class of - all - i.e. SCLP23(Application_instance) */ - - if( multiple_inheritance ) { - list = ENTITYget_supertypes( entity ); - if( ! LISTempty( list ) ) { - super = ( Entity )LISTpeek_first( list ); - } - } else { /* the old way */ - super = ENTITYput_superclass( entity ); - } - - if( super ) { - fprintf( file, " public %s {\n ", ENTITYget_classname( super ) ); - } else { - fprintf( file, " public SCLP23(Application_instance) {\n" ); - } - - -} - -/****************************************************************** - ** Procedure: DataMemberPrint - ** Parameters: const Entity entity -- entity being processed - ** FILE* file -- file being written to - ** Returns: - ** Description: prints out the data members for an entity's c++ class - ** definition - ** Side Effects: generates c++ code - ** Status: ok 1/15/91 - ******************************************************************/ - -void -DataMemberPrint( Entity entity, FILE * file, Schema schema ) { -} - -/****************************************************************** - ** Procedure: MemberFunctionSign - ** Parameters: Entity *entity -- entity being processed - ** FILE* file -- file being written to - ** Returns: - ** Description: prints the signature for member functions - of an entity's class definition - ** DAS prints the end of the entity class def and the creation - ** function that the EntityTypeDescriptor uses. - ** Side Effects: prints c++ code to a file - ** Status: ok 1/1/5/91 - ** updated 17-Feb-1992 to print only the signature - and not the function definitions - ******************************************************************/ +/* ENTITYhead_print + * NOTE removed - not translated from c++ to py, not used + */ -void -MemberFunctionSign( Entity entity, FILE * file ) { +/* DataMemberPrint + * NOTE removed - not used + */ -} +/* MemberFunctionSign + * NOTE removed - not used + */ /****************************************************************** ** Procedure: LIBdescribe_entity (entity, file, schema) @@ -547,6 +354,120 @@ print_aggregate_type( FILE * file, Type t ) { } } + +#define BIGBUFSIZ 100000 + +char* EXPRto_python( Expression e ) { + char * buf; + char * temp; + unsigned int bufsize = BIGBUFSIZ; + + buf = ( char * )malloc( bufsize ); + if( !buf ) { + fprintf( stderr, "%s failed to allocate buffer: %s\n", __func__, strerror( errno ) ); + abort(); + } + + switch( TYPEis( e->type ) ) { + case integer_: + snprintf( buf, bufsize, "%d", e->u.integer ); + break; + case real_: + if( e == LITERAL_PI ) { + strcpy( buf, "math.pi" ); + } else if( e == LITERAL_E ) { + strcpy( buf, "math.e" ); + } else { + snprintf( buf, bufsize, "%e", e->u.real ); + } + break; + case binary_: + snprintf( buf, bufsize, "%s", e->u.binary ); + break; + case logical_: + switch( e->u.logical ) { + case Ltrue: + strcpy( buf, "True" ); + break; + case Lfalse: + strcpy( buf, "False" ); + break; + default: + strcpy( buf, "None" ); + break; + } + break; + case boolean_: + switch( e->u.logical ) { + case Ltrue: + strcpy( buf, "True" ); + break; + case Lfalse: + strcpy( buf, "False" ); + break; + } + break; + case string_: + if( TYPEis_encoded( e->type ) ) { + snprintf( buf, bufsize, "binascii.unhexlify('%s')", e->symbol.name ); + } else { + temp = strliteral_py_dup( e->symbol.name ); + strncpy( buf, temp, bufsize ); + free(temp); + } + break; + case entity_: + case identifier_: + case attribute_: + case enumeration_: + snprintf( buf, bufsize, "%s.%s", TYPEget_name(e->type), e->symbol.name ); + break; + case query_: + strcpy( buf, "SCLBase.raise_(NotImplementedError('query_'))" ); + break; + case self_: + strcpy( buf, "self" ); + break; + case funcall_: + { + int i = 0; + snprintf( buf, bufsize, "%s(", e->symbol.name ); + LISTdo( e->u.funcall.list, arg, Expression ) { + i++; + if( i != 1 ) { + strcat( buf, ", " ); + } + temp = EXPRto_python( arg ); + strcat( buf, temp ); + free( temp ); + } LISTod + strcat( buf, ")" ); + break; + } + case op_: + strcpy( buf, "SCLBase.raise_(NotImplementedError('op_'))" ); + break; + case aggregate_: + strcpy( buf, "SCLBase.raise_(NotImplementedError('aggregate_'))" ); + break; + case oneof_: { + strcpy( buf, "SCLBase.raise_(NotImplementedError('oneof_'))" ); + break; + } + default: + fprintf( stderr, "%s:%d: ERROR - unknown expression, type %d", e->symbol.filename, e->symbol.line, TYPEis( e->type ) ); + abort(); + } + + temp = ( char * )realloc( buf, 1 + strlen(buf) ); + if( temp == 0 ) { + fprintf( stderr, "%s failed to realloc buffer: %s\n", __func__, strerror( errno ) ); + abort(); + } + + return temp; +} + /* * * A recursive function to export aggregate to python @@ -555,14 +476,14 @@ print_aggregate_type( FILE * file, Type t ) { void process_aggregate( FILE * file, Type t ) { Expression lower = AGGR_TYPEget_lower_limit( t ); - char * lower_str = EXPRto_string( lower ); + char * lower_str = EXPRto_python( lower ); Expression upper = AGGR_TYPEget_upper_limit( t ); char * upper_str = NULL; Type base_type; if( upper == LITERAL_INFINITY ) { upper_str = "None"; } else { - upper_str = EXPRto_string( upper ); + upper_str = EXPRto_python( upper ); } switch( TYPEget_body( t )->type ) { case array_: @@ -581,26 +502,60 @@ process_aggregate( FILE * file, Type t ) { break; } fprintf( file, "(%s,%s,", lower_str, upper_str ); - //write base type + /*write base type */ base_type = TYPEget_base_type( t ); if( TYPEis_aggregate( base_type ) ) { process_aggregate( file, base_type ); - fprintf( file, ")" ); //close parenthesis + fprintf( file, ")" ); /*close parenthesis */ } else { char * array_base_type = GetAttrTypeName( TYPEget_base_type( t ) ); - //fprintf(file,"%s)",array_base_type); fprintf( file, "'%s', scope = schema_scope)", array_base_type ); } } + +int count_supertypes(Entity f) { + int top_count; + int child_count; + Linked_List list; + + list = ENTITYget_supertypes(f); + top_count = 0; + LISTdo( list, e, Entity ) + child_count = 1; + child_count += count_supertypes(e); + if (child_count > top_count) + top_count = child_count; + LISTod; + + return top_count; +} + +int cmp_python_mro( void * e1, void * e2 ) { + int e1_chain_len, e2_chain_len; + + /* TODO: This should do something more intelligent */ + e1_chain_len = count_supertypes( ( Entity ) e1); + e2_chain_len = count_supertypes( ( Entity ) e2); + + if (e1_chain_len == e2_chain_len) { + return 0; + } else if (e1_chain_len > e2_chain_len) { + return 1; + } else { + return -1; + } +} + void -LIBdescribe_entity( Entity entity, FILE * file, Schema schema ) { +LIBdescribe_entity( Entity entity, FILE * file ) { int attr_count_tmp = attr_count; - char attrnm [BUFSIZ], parent_attrnm[BUFSIZ]; + char attrnm [BUFSIZ+1], parent_attrnm[BUFSIZ+1]; char * attr_type; - bool generate_constructor = true; //by default, generates a python constructor + bool generate_constructor = true; /*by default, generates a python constructor */ bool single_inheritance = false; - bool multiple_inheritance = false; + bool ent_multiple_inheritance = false; + bool rename_python_property = false; Type t; Linked_List list; int num_parent = 0; @@ -620,6 +575,7 @@ LIBdescribe_entity( Entity entity, FILE * file, Schema schema ) { * Look for inheritance and super classes */ list = ENTITYget_supertypes( entity ); + LISTsort(list, cmp_python_mro); num_parent = 0; if( ! LISTempty( list ) ) { LISTdo( list, e, Entity ) @@ -627,7 +583,7 @@ LIBdescribe_entity( Entity entity, FILE * file, Schema schema ) { or the super class doesn\'t have any attributes */ if( num_parent > 0 ) { - fprintf( file, "," ); //separator for parent classes names + fprintf( file, "," ); /*separator for parent classes names */ } if( is_python_keyword( ENTITYget_name( e ) ) ) { fprintf( file, "%s_", ENTITYget_name( e ) ); @@ -638,14 +594,14 @@ LIBdescribe_entity( Entity entity, FILE * file, Schema schema ) { LISTod; if( num_parent == 1 ) { single_inheritance = true; - multiple_inheritance = false; + ent_multiple_inheritance = false; } else { single_inheritance = false; - multiple_inheritance = true; + ent_multiple_inheritance = true; } } else { - //inherit from BaseEntityClass by default, in order to enable decorators - // as well as advanced __repr__ feature + /*inherit from BaseEntityClass by default, in order to enable decorators */ + /* as well as advanced __repr__ feature */ fprintf( file, "BaseEntityClass" ); } fprintf( file, "):\n" ); @@ -686,7 +642,7 @@ LIBdescribe_entity( Entity entity, FILE * file, Schema schema ) { attr_count_tmp++; } LISTod - if( ( attr_count_tmp == 0 ) && !single_inheritance && !multiple_inheritance ) { + if( ( attr_count_tmp == 0 ) && !single_inheritance && !ent_multiple_inheritance ) { fprintf( file, "\t# This class does not define any attribute.\n" ); fprintf( file, "\tpass\n" ); generate_constructor = false; @@ -699,31 +655,30 @@ LIBdescribe_entity( Entity entity, FILE * file, Schema schema ) { if( generate_constructor ) { fprintf( file, "\tdef __init__( self , " ); } - // if inheritance, first write the inherited parameters + /* if inheritance, first write the inherited parameters */ list = ENTITYget_supertypes( entity ); num_parent = 0; index_attribute = 0; if( ! LISTempty( list ) ) { - LISTdo( list, e, Entity ) - /* search attribute names for superclass */ - LISTdo( ENTITYget_all_attributes( e ), v2, Variable ) - generate_attribute_name( v2, parent_attrnm ); - //fprintf(file,"%s__%s , ",ENTITYget_name(e),parent_attrnm); - if( !VARis_derived( v2 ) && !VARget_inverse( v2 ) ) { - fprintf( file, "inherited%i__%s , ", index_attribute, parent_attrnm ); - index_attribute++; - } - LISTod - num_parent++; - LISTod; - } - LISTdo( ENTITYget_attributes( entity ), v, Variable ) - generate_attribute_name( v, attrnm ); - if( !VARis_derived( v ) && !VARget_inverse( v ) ) { - fprintf( file, "%s,", attrnm ); + LISTdo( list, e, Entity ) { + /* search attribute names for superclass */ + LISTdo_n( ENTITYget_all_attributes( e ), v2, Variable, b ) { + generate_attribute_name( v2, parent_attrnm ); + if( !VARis_derived( v2 ) && !VARget_inverse( v2 ) ) { + fprintf( file, "inherited%i__%s , ", index_attribute, parent_attrnm ); + index_attribute++; + } + } LISTod + num_parent++; + } LISTod } - LISTod - // close constructor method + LISTdo( ENTITYget_attributes( entity ), v, Variable ) { + generate_attribute_name( v, attrnm ); + if( !VARis_derived( v ) && !VARget_inverse( v ) ) { + fprintf( file, "%s,", attrnm ); + } + } LISTod + /* close constructor method */ if( generate_constructor ) { fprintf( file, " ):\n" ); } @@ -731,53 +686,66 @@ LIBdescribe_entity( Entity entity, FILE * file, Schema schema ) { list = ENTITYget_supertypes( entity ); index_attribute = 0; if( ! LISTempty( list ) ) { - LISTdo( list, e, Entity ) - fprintf( file, "\t\t%s.__init__(self , ", ENTITYget_name( e ) ); - /* search and write attribute names for superclass */ - LISTdo( ENTITYget_all_attributes( e ), v2, Variable ) - generate_attribute_name( v2, parent_attrnm ); - //fprintf(file,"%s__%s , ",ENTITYget_name(e),parent_attrnm); - if( !VARis_derived( v2 ) && !VARget_inverse( v2 ) ) { - fprintf( file, "inherited%i__%s , ", index_attribute, parent_attrnm ); - index_attribute++; - } - LISTod - num_parent++; - fprintf( file, ")\n" ); //separator for parent classes names - LISTod; + LISTdo( list, e, Entity ) { + if (is_python_keyword(ENTITYget_name( e ))) { + fprintf( file, "\t\t%s_.__init__(self , ", ENTITYget_name( e ) ); + } else { + fprintf( file, "\t\t%s.__init__(self , ", ENTITYget_name( e ) ); + } + /* search and write attribute names for superclass */ + LISTdo_n( ENTITYget_all_attributes( e ), v2, Variable, b ) { + generate_attribute_name( v2, parent_attrnm ); + if( !VARis_derived( v2 ) && !VARget_inverse( v2 ) ) { + fprintf( file, "inherited%i__%s , ", index_attribute, parent_attrnm ); + index_attribute++; + } + } LISTod + num_parent++; + fprintf( file, ")\n" ); /*separator for parent classes names */ + } LISTod } - // init variables in constructor + /* init variables in constructor */ LISTdo( ENTITYget_attributes( entity ), v, Variable ) generate_attribute_name( v, attrnm ); if( !VARis_derived( v ) && !VARget_inverse( v ) ) { - fprintf( file, "\t\tself.%s = %s\n", attrnm, attrnm ); + fprintf( file, "\t\tself._%s = %s\n", attrnm, attrnm ); } - //attr_count_tmp++; + /*attr_count_tmp++; */ LISTod /* * write attributes as python properties */ LISTdo( ENTITYget_attributes( entity ), v, Variable ) generate_attribute_name( v, attrnm ); - fprintf( file, "\n\t@apply\n" ); - fprintf( file, "\tdef %s():\n", attrnm ); - // fget - fprintf( file, "\t\tdef fget( self ):\n" ); + fprintf( file, "\n\t@property\n" ); + if ( !strcmp(attrnm, "property") ) { + fprintf( file, "\tdef __%s(self):\n", attrnm ); + rename_python_property = true; + } else { + fprintf( file, "\tdef %s(self):\n", attrnm ); + } + /* fget */ if( !VARis_derived( v ) ) { - fprintf( file, "\t\t\treturn self._%s\n", attrnm ); + fprintf( file, "\t\treturn self._%s\n", attrnm ); } else { - // evaluation of attribute - fprintf( file, "\t\t\tattribute_eval = " ); - // outputs expression initializer + /* evaluation of attribute */ + fprintf( file, "\t\tattribute_eval = " ); + /* outputs expression initializer */ ATTRIBUTE_INITIALIZER_out( v->initializer, 1, file ); - // then returns the value - fprintf( file, "\n\t\t\treturn attribute_eval\n" ); + /* then returns the value */ + fprintf( file, "\n\t\treturn attribute_eval\n" ); + } + /* fset */ + if ( !strcmp(attrnm, "property") ) { + fprintf( file, "\t@__%s.setter\n", attrnm ); + fprintf( file, "\tdef __%s(self, value):\n", attrnm ); + } else { + fprintf( file, "\t@%s.setter\n", attrnm ); + fprintf( file, "\tdef %s(self, value):\n", attrnm ); } - // fset - fprintf( file, "\t\tdef fset( self, value ):\n" ); t = VARget_type( v ); - // find attr type name + /* find attr type name */ if( TYPEget_name( t ) == NULL ) { attr_type = GetAttrTypeName( t ); } else { @@ -785,56 +753,65 @@ LIBdescribe_entity( Entity entity, FILE * file, Schema schema ) { } if( !VARis_derived( v ) && !VARget_inverse( v ) ) { - // if the argument is not optional + /* if the argument is not optional */ if( !VARget_optional( v ) ) { fprintf( file, "\t\t# Mandatory argument\n" ); - fprintf( file, "\t\t\tif value==None:\n" ); - fprintf( file, "\t\t\t\traise AssertionError('Argument %s is mantatory and can not be set to None')\n", attrnm ); - fprintf( file, "\t\t\tif not check_type(value," ); + fprintf( file, "\t\tassert value is not None, 'Argument \"value\" is mandatory and cannot be set to None'\n" ); + fprintf( file, "\t\tif not check_type(value," ); if( TYPEis_aggregate( t ) ) { process_aggregate( file, t ); fprintf( file, "):\n" ); + } else if (attr_type && is_python_keyword(attr_type)) { + fprintf( file, "%s_):\n", attr_type ); } else { fprintf( file, "%s):\n", attr_type ); } } else { - fprintf( file, "\t\t\tif value != None: # OPTIONAL attribute\n\t" ); - fprintf( file, "\t\t\tif not check_type(value," ); + fprintf( file, "\t\tif value is not None: # OPTIONAL attribute\n\t" ); + fprintf( file, "\t\tif not check_type(value," ); if( TYPEis_aggregate( t ) ) { process_aggregate( file, t ); fprintf( file, "):\n\t" ); + } else if (attr_type && is_python_keyword(attr_type)) { + fprintf( file, "%s_):\n\t", attr_type ); } else { fprintf( file, "%s):\n\t", attr_type ); } } - // check wether attr_type is aggr or explicit + /* check whether attr_type is aggr or explicit */ if( TYPEis_aggregate( t ) ) { - fprintf( file, "\t\t\t\tself._%s = ", attrnm ); + fprintf( file, "\t\t\tself._%s = ", attrnm ); print_aggregate_type( file, t ); fprintf( file, "(value)\n" ); + } else if (attr_type && is_python_keyword(attr_type)) { + fprintf( file, "\t\t\tself._%s = %s_(value)\n", attrnm, attr_type ); } else { - fprintf( file, "\t\t\t\tself._%s = %s(value)\n", attrnm, attr_type ); + fprintf( file, "\t\t\tself._%s = %s(value)\n", attrnm, attr_type ); } if( VARget_optional( v ) ) { - fprintf( file, "\t\t\t\telse:\n" ); - fprintf( file, "\t\t\t\t\tself._%s = value\n", attrnm ); + fprintf( file, "\t\t\telse:\n" ); + fprintf( file, "\t\t\t\tself._%s = value\n", attrnm ); } - fprintf( file, "\t\t\telse:\n\t" ); - fprintf( file, "\t\t\tself._%s = value\n", attrnm ); + fprintf( file, "\t\telse:\n\t" ); + fprintf( file, "\t\tself._%s = value\n", attrnm ); } - // if the attribute is derived, prevent fset to attribute to be set + /* if the attribute is derived, prevent fset to attribute to be set */ + /* TODO: this can be done by NOT writing the setter method */ else if( VARis_derived( v ) ) { - fprintf( file, "\t\t# DERIVED argument\n" ); - fprintf( file, "\t\t\traise AssertionError('Argument %s is DERIVED. It is computed and can not be set to any value')\n", attrnm ); + fprintf( file, "\t# DERIVED argument\n" ); + fprintf( file, "\t\traise AssertionError('Argument %s is DERIVED. It is computed and can not be set to any value')\n", attrnm ); } else if( VARget_inverse( v ) ) { - fprintf( file, "\t\t# INVERSE argument\n" ); - fprintf( file, "\t\t\traise AssertionError('Argument %s is INVERSE. It is computed and can not be set to any value')\n", attrnm ); + fprintf( file, "\t# INVERSE argument\n" ); + fprintf( file, "\t\traise AssertionError('Argument %s is INVERSE. It is computed and can not be set to any value')\n", attrnm ); } - fprintf( file, "\t\treturn property(**locals())\n" ); LISTod } - // before exiting, process where rules + /* before exiting, process where rules */ WHEREPrint( entity->where, 0, file ); + + if ( rename_python_property ) { + fprintf( file, "\tproperty = __property\n" ); + } } int @@ -850,54 +827,39 @@ get_local_attribute_number( Entity entity ) { return i; } -int -get_attribute_number( Entity entity ) { +int get_attribute_number( Entity entity ) { int i = 0; int found = 0; Linked_List local, complete; complete = ENTITYget_all_attributes( entity ); local = ENTITYget_attributes( entity ); - LISTdo( local, a, Variable ) - /* go to the child's first explicit attribute */ - if( ( ! VARget_inverse( a ) ) && ( ! VARis_derived( a ) ) ) { - LISTdo( complete, p, Variable ) - /* cycle through all the explicit attributes until the - child's attribute is found */ - if( !found && ( ! VARget_inverse( p ) ) && ( ! VARis_derived( p ) ) ) { - if( p != a ) { - ++i; + LISTdo( local, a, Variable ) { + /* go to the child's first explicit attribute */ + if( ( ! VARget_inverse( a ) ) && ( ! VARis_derived( a ) ) ) { + LISTdo_n( complete, p, Variable, b ) { + /* cycle through all the explicit attributes until the child's attribute is found */ + if( !found && ( ! VARget_inverse( p ) ) && ( ! VARis_derived( p ) ) ) { + if( p != a ) { + ++i; + } else { + found = 1; + } + } + } LISTod + if( found ) { + return i; } else { - found = 1; + /* In this case, a is a Variable - so macro VARget_name (a) expands * + * to an Expression. The first element of an Expression is a Symbol. * + * The first element of a Symbol is char * name. */ + fprintf( stderr, "Internal error: %s:%d\nAttribute %s not found. \n", __FILE__, __LINE__, VARget_name( a )->symbol.name ); } } - LISTod; - if( found ) { - return i; - } else printf( "Internal error: %s:%d\n" - "Attribute %s not found. \n" - /* In this case, a is a Variable - so macro VARget_name (a) expands * - * to an Expression. The first element of an Expression is a Symbol. * - * The first element of a Symbol is char * name. */ - , __FILE__, __LINE__, VARget_name( a )->symbol.name ); - } - - LISTod; + } LISTod return -1; } -void -LIBstructor_print( Entity entity, FILE * file, Schema schema ) { -} - -/********************/ -/* print the constructor that accepts a SCLP23(Application_instance) as an argument used - when building multiply inherited entities. -*/ - -void -LIBstructor_print_w_args( Entity entity, FILE * file, Schema schema ) { -} /****************************************************************** ** Procedure: ENTITYlib_print @@ -911,11 +873,11 @@ LIBstructor_print_w_args( Entity entity, FILE * file, Schema schema ) { ** Status: ok 1/15/91 ******************************************************************/ void -ENTITYlib_print( Entity entity, FILE * file, Schema schema ) { - LIBdescribe_entity( entity, file, schema ); +ENTITYlib_print( Entity entity, FILE * file ) { + LIBdescribe_entity( entity, file ); } -//FIXME should return bool +/*FIXME should return bool */ /* return 1 if types are predefined by us */ int TYPEis_builtin( const Type t ) { @@ -936,13 +898,6 @@ TYPEis_builtin( const Type t ) { } -void -print_typechain( FILE * f, const Type t, char * buf, Schema schema ) { -} - -void -ENTITYincode_print( Entity entity, FILE * file, Schema schema ) { -} /****************************************************************** ** Procedure: RULEPrint @@ -954,22 +909,11 @@ ENTITYincode_print( Entity entity, FILE * file, Schema schema ) { ** Status: started 2012/3/1 ******************************************************************/ void -RULEPrint( Rule rule, FILES * files, Schema schema ) { +RULEPrint( Rule rule, FILES * files ) { char * n = RULEget_name( rule ); - char * param_name; fprintf( files->lib, "\n####################\n # RULE %s #\n####################\n", n ); /* write function definition */ fprintf( files->lib, "%s = Rule()\n", n ); - /* write parameter list */ - //LISTdo(RULEget_parameters( rule ), v, Variable) - // param_name = EXPRto_string( VARget_name( v ) ); - // fprintf(files->lib, "%s,",param_name); - //LISTod - - //close function prototype - //fprintf(files->lib,"):\n"); - /* so far, just raise "not implemented" */ - //fprintf(files->lib, "\traise NotImplemented('Function %s not implemented)')\n",n); } @@ -983,34 +927,34 @@ RULEPrint( Rule rule, FILES * files, Schema schema ) { ** Status: started 2012/3/1 ******************************************************************/ void -FUNCPrint( Function function, FILES * files, Schema schema ) { +FUNCPrint( Function function, FILES * files ) { char * function_name = FUNCget_name( function ); char * param_name; - Type t, return_type = FUNCget_return_type( function ); + Expression expr_name = EXPRESSION_NULL; fprintf( files->lib, "\n####################\n # FUNCTION %s #\n####################\n", function_name ); /* write function definition */ fprintf( files->lib, "def %s(", function_name ); /* write parameter list */ - LISTdo( FUNCget_parameters( function ), v, Variable ) - param_name = EXPRto_string( VARget_name( v ) ); - t = VARget_type( v ); - fprintf( files->lib, "%s,", param_name ); - LISTod + LISTdo( FUNCget_parameters( function ), v, Variable ) { + expr_name = VARget_name( v ); + param_name = strdup( EXPget_name( expr_name ) ); + fprintf( files->lib, "%s,", param_name ); + } LISTod fprintf( files->lib, "):\n" ); - // print function docstring + /* print function docstring */ fprintf( files->lib, "\t'''\n" ); - LISTdo( FUNCget_parameters( function ), v, Variable ) - param_name = EXPRto_string( VARget_name( v ) ); - t = VARget_type( v ); - fprintf( files->lib, "\t:param %s\n", param_name ); - fprintf( files->lib, "\t:type %s:%s\n", param_name, GetAttrTypeName( t ) ); - LISTod + LISTdo( FUNCget_parameters( function ), v, Variable ) { + expr_name = VARget_name( v ); + param_name = strdup( EXPget_name( expr_name ) ); + fprintf( files->lib, "\t:param %s\n", param_name ); + fprintf( files->lib, "\t:type %s:%s\n", param_name, GetAttrTypeName( VARget_type( v ) ) ); + } LISTod fprintf( files->lib, "\t'''\n" ); - // process statements. The indent_level is set to 1 (the number of tabs \t) + /* process statements. The indent_level is set to 1 (the number of tabs \t) */ STATEMENTSPrint( function->u.proc->body, 1, files->lib ); } @@ -1063,14 +1007,14 @@ STATEMENTPrint( Statement s, int indent_level, FILE * file ) { STATEMENTlist_out( s->u.alias->statements, indent_level , file ); break; case STMT_SKIP: - fprintf( file, "break\n" ); // @TODO: is that correct? + fprintf( file, "break\n" ); /* @TODO: is that correct? */ break; case STMT_ESCAPE: fprintf( file, "break\n" ); break; case STMT_COMPOUND: - // following line is necessary other wise indentation - // errors in python + /* following line is necessary other wise indentation */ + /* errors in python */ fprintf( file, "# begin/end block\n" ); STATEMENTlist_out( s->u.compound->statements, indent_level, file ); break; @@ -1101,86 +1045,102 @@ STATEMENTPrint( Statement s, int indent_level, FILE * file ) { void CASEout( struct Case_Statement_ *c, int level, FILE * file ) { - int len = 0; - int max_indent; int if_number = 0; - //fprintf(file, "for case in switch("); - //EXPRESSION_out( c->selector, 0 , file); - //fprintf(file,"):\n"); fprintf( file, "case_selector = " ); EXPRESSION_out( c->selector, 0, file ); fprintf( file, "\n" ); /* pass 2: print them */ - LISTdo( c->cases, ci, Case_Item ) - if( ci->labels ) { - LISTdo( ci->labels, label, Expression ) - /* print label(s) */ - //indent2 = level + exppp_continuation_indent; - python_indent( file, level ); - //fprintf(file, "if case("); - if( if_number == 0 ) { - fprintf( file, "if " ); + LISTdo( c->cases, ci, Case_Item ) { + if( ci->labels ) { + LISTdo_n( ci->labels, label, Expression, b ) { + /* print label(s) */ + python_indent( file, level ); + if( if_number == 0 ) { + fprintf( file, "if " ); + } else { + fprintf( file, "elif" ); + } + fprintf( file, " case_selector == " ); + EXPRESSION_out( label, 0, file ); + fprintf( file, ":\n" ); + + /* print action */ + STATEMENTPrint( ci->action, level + 1, file ); + if_number++; + } LISTod } else { - fprintf( file, "elif" ); - } - fprintf( file, " case_selector == " ); - EXPRESSION_out( label, 0, file ); - fprintf( file, ":\n" ); + /* print OTHERWISE */ + python_indent( file, level ); + fprintf( file, "else:\n" ); - /* print action */ - STATEMENTPrint( ci->action, level + 1, file ); - if_number++; - LISTod - } else { - /* print OTHERWISE */ - //indent2 = level + exppp_continuation_indent; - //fprintf(files->lib, "%*s", level, "" ); - //python_indent(files->lib,level+1); - python_indent( file, level ); - //fprintf(file, "if case():\n" ); - fprintf( file, "else:\n" ); - //fprintf(files->lib, "%*s : ", level , "" ); - - /* print action */ - STATEMENTPrint( ci->action, level + 1, file ); - } - LISTod + /* print action */ + STATEMENTPrint( ci->action, level + 1, file ); + } + } LISTod } void LOOPpyout( struct Loop_ *loop, int level, FILE * file ) { Variable v; - fprintf( file, "for " ); - - /* increment */ - /* if (loop->scope->u.incr) {*/ - if( loop->scope ) { + + if (loop->scope) { DictionaryEntry de; + /* TODO: if incr != 0 && ((incr > 0 && start < stop) || (incr < 0 && start > stop)): */ DICTdo_init( loop->scope->symbol_table, &de ); v = ( Variable )DICTdo( &de ); - fprintf( file, " %s in range(", v->name->symbol.name ); + fprintf( file, "for %s in range(", v->name->symbol.name ); EXPRESSION_out( loop->scope->u.incr->init, 0 , file ); fprintf( file, "," ); EXPRESSION_out( loop->scope->u.incr->end, 0 , file ); fprintf( file, "," ); /* parser always forces a "by" expr */ EXPRESSION_out( loop->scope->u.incr->increment, 0 , file ); fprintf( file, "):\n" ); - } + + if( loop->while_expr ) { + python_indent( file, level + 1 ); + fprintf( file, "if " ); + EXPRESSION_out( loop->while_expr, 0 , file ); + fprintf( file, ":\n"); + STATEMENTlist_out( loop->statements, level + 2 , file ); + } else { + STATEMENTlist_out( loop->statements, level + 1 , file ); + } - /* while */ - if( loop->while_expr ) { - fprintf( file, " while " ); + if( loop->until_expr ) { + python_indent( file, level + 1 ); + fprintf( file, "if " ); + EXPRESSION_out( loop->until_expr, 0 , file ); + fprintf( file, ":\n" ); + python_indent( file, level + 2 ); + fprintf( file, "break\n" ); + } + } else if( loop->while_expr ) { + fprintf( file, "while " ); EXPRESSION_out( loop->while_expr, 0 , file ); - } + fprintf( file, ":\n"); + STATEMENTlist_out( loop->statements, level + 1 , file ); - /* until */ - if( loop->until_expr ) { - fprintf( file, " UNTIL " ); + if( loop->until_expr ) { + python_indent( file, level + 1 ); + fprintf( file, "if " ); + EXPRESSION_out( loop->until_expr, 0 , file ); + fprintf( file, ":\n" ); + python_indent( file, level + 2 ); + fprintf( file, "break\n" ); + } + } else { + fprintf( file, "while True:\n" ); + STATEMENTlist_out( loop->statements, level + 1 , file ); + + python_indent( file, level + 1 ); + fprintf( file, "if " ); EXPRESSION_out( loop->until_expr, 0 , file ); + fprintf( file, ":\n" ); + python_indent( file, level + 2 ); + fprintf( file, "break\n" ); } - STATEMENTlist_out( loop->statements, level + 1 , file ); } void @@ -1236,28 +1196,28 @@ ATTRIBUTE_INITIALIZER__out( Expression e, int paren, int previous_op , FILE * fi if( TYPEis_encoded( e->type ) ) { fprintf( file, "\"%s\"", e->symbol.name ); } else { - fprintf( file, "'%s'", e->symbol.name ); + char* tmp = strliteral_py_dup(e->symbol.name); + fprintf( file, "'%s'", tmp ); + free(tmp); } break; case entity_: case identifier_: - fprintf( file, "self.%s", e->symbol.name ); + if( previous_op == OP_DOT || previous_op == OP_GROUP ) { + fprintf( file, "%s", e->symbol.name ); + } else { + fprintf( file, "self.%s", e->symbol.name ); + } break; case attribute_: fprintf( file, "%s", e->symbol.name ); break; case enumeration_: - fprintf( file, "%s", e->symbol.name ); + fprintf( file, "%s.%s", TYPEget_name(e->type), e->symbol.name ); break; case query_: - //fprintf(file, "QUERY ( %s <* ", e->u.query->local->name->symbol.name ); - //EXPRESSION_out( e->u.query->aggregate, 1, files ); - //fprintf(file, " | " ); - //EXPRESSION_out( e->u.query->expression, 1 ,files); - //fprintf(file, " )" ); - //break; - - // so far we don't handle queries + + /* so far we don't handle queries */ fprintf( file, "None" ); break; case self_: @@ -1315,7 +1275,7 @@ ATTRIBUTE_INITIALIZER__out( Expression e, int paren, int previous_op , FILE * fi ** include, and initialization files for a specific entity class ******************************************************************/ void -EXPRESSION__out( Expression e, int paren, int previous_op , FILE * file ) { +EXPRESSION__out( Expression e, int paren, Op_Code previous_op, FILE* file ) { int i; /* trusty temporary */ switch( TYPEis( e->type ) ) { case integer_: @@ -1355,28 +1315,28 @@ EXPRESSION__out( Expression e, int paren, int previous_op , FILE * file ) { if( TYPEis_encoded( e->type ) ) { fprintf( file, "\"%s\"", e->symbol.name ); } else { - fprintf( file, "'%s'", e->symbol.name ); + char* tmp = strliteral_py_dup(e->symbol.name); + fprintf( file, "'%s'", tmp ); + free(tmp); } break; case entity_: case identifier_: - fprintf( file, "%s", e->symbol.name ); + if( is_python_keyword( e->symbol.name ) ) { + fprintf( file, "%s_", e->symbol.name ); + } else { + fprintf( file, "%s", e->symbol.name ); + } break; case attribute_: fprintf( file, "%s", e->symbol.name ); break; case enumeration_: - fprintf( file, "%s", e->symbol.name ); + fprintf( file, "%s.%s", TYPEget_name(e->type), e->symbol.name ); break; case query_: - //fprintf(file, "QUERY ( %s <* ", e->u.query->local->name->symbol.name ); - //EXPRESSION_out( e->u.query->aggregate, 1, files ); - //fprintf(file, " | " ); - //EXPRESSION_out( e->u.query->expression, 1 ,files); - //fprintf(file, " )" ); - //break; - - // so far we don't handle queries + + /* so far we don't handle queries */ fprintf( file, "None" ); break; case self_: @@ -1429,7 +1389,13 @@ EXPRESSION__out( Expression e, int paren, int previous_op , FILE * file ) { } void -ATTRIBUTE_INITIALIZERop__out( struct Op_Subexpression * oe, int paren, int previous_op , FILE * file ) { +ATTRIBUTE_INITIALIZERop__out( struct Op_Subexpression* oe, int paren, Op_Code previous_op, FILE* file ) { + /* TODO: refactor, eliminate Op_Subexpression for enumerations */ + Type op1_type = EXPget_type( oe->op1 ); + if ( TYPEis_enumeration( op1_type ) ) { + fprintf( file, "%s.%s", TYPEget_name( op1_type ), EXPget_name( oe->op2 ) ); + return; + } switch( oe->op_code ) { case OP_AND: ATTRIBUTE_INITIALIZERop2_out( oe, " and ", paren, PAD, file ); @@ -1449,7 +1415,7 @@ ATTRIBUTE_INITIALIZERop__out( struct Op_Subexpression * oe, int paren, int previ ATTRIBUTE_INITIALIZERop2_out( oe, " * ", paren, PAD, file ); break; case OP_XOR: - ATTRIBUTE_INITIALIZERop2__out( oe, ( char * )0, paren, PAD, previous_op, file ); + ATTRIBUTE_INITIALIZERop2__out( oe, " != ", paren, PAD, previous_op, file ); break; case OP_EXP: ATTRIBUTE_INITIALIZERop2_out( oe, " ** ", paren, PAD, file ); @@ -1461,8 +1427,8 @@ ATTRIBUTE_INITIALIZERop__out( struct Op_Subexpression * oe, int paren, int previ ATTRIBUTE_INITIALIZERop2_out( oe, " > ", paren, PAD, file ); break; case OP_IN: - // EXPRESSIONop2_out( oe, " in ", paren, PAD, file ); - // break; + ATTRIBUTE_INITIALIZERop2_out( oe, " in ", paren, PAD, file ); + break; case OP_INST_EQUAL: ATTRIBUTE_INITIALIZERop2_out( oe, " == ", paren, PAD, file ); break; @@ -1480,7 +1446,7 @@ ATTRIBUTE_INITIALIZERop__out( struct Op_Subexpression * oe, int paren, int previ ATTRIBUTE_INITIALIZERop2_out( oe, " % ", paren, PAD, file ); break; case OP_NOT_EQUAL: - //EXPRESSIONop2_out( oe, ( char * )0, paren, PAD ,file); + /*EXPRESSIONop2_out( oe, ( char * )0, paren, PAD ,file); */ ATTRIBUTE_INITIALIZERop2_out( oe, " != ", paren, PAD , file ); break; case OP_NOT: @@ -1497,7 +1463,10 @@ ATTRIBUTE_INITIALIZERop__out( struct Op_Subexpression * oe, int paren, int previ ATTRIBUTE_INITIALIZERop2_out( oe, ".", paren, NOPAD, file ); break; case OP_GROUP: - ATTRIBUTE_INITIALIZERop2_out( oe, ".", paren, NOPAD, file ); + ATTRIBUTE_INITIALIZER_out(oe->op1, 1, file); + fprintf(file, "._scl_group("); + EXPRESSION_out(oe->op2, 0, file); + fprintf(file, ")"); break; case OP_NEGATE: ATTRIBUTE_INITIALIZERop1_out( oe, "-", paren, file ); @@ -1523,7 +1492,7 @@ ATTRIBUTE_INITIALIZERop__out( struct Op_Subexpression * oe, int paren, int previ /* print expression that has op and operands */ void -EXPRESSIONop__out( struct Op_Subexpression * oe, int paren, int previous_op , FILE * file ) { +EXPRESSIONop__out( struct Op_Subexpression* oe, int paren, Op_Code previous_op, FILE* file ) { switch( oe->op_code ) { case OP_AND: EXPRESSIONop2_out( oe, " and ", paren, PAD, file ); @@ -1543,7 +1512,7 @@ EXPRESSIONop__out( struct Op_Subexpression * oe, int paren, int previous_op , FI EXPRESSIONop2_out( oe, " * ", paren, PAD, file ); break; case OP_XOR: - EXPRESSIONop2__out( oe, ( char * )0, paren, PAD, previous_op, file ); + EXPRESSIONop2_out( oe, " != ", paren, PAD, file ); break; case OP_EXP: EXPRESSIONop2_out( oe, " ** ", paren, PAD, file ); @@ -1555,8 +1524,8 @@ EXPRESSIONop__out( struct Op_Subexpression * oe, int paren, int previous_op , FI EXPRESSIONop2_out( oe, " > ", paren, PAD, file ); break; case OP_IN: - // EXPRESSIONop2_out( oe, " in ", paren, PAD, file ); - // break; + EXPRESSIONop2_out( oe, " in ", paren, PAD, file ); + break; case OP_INST_EQUAL: EXPRESSIONop2_out( oe, " == ", paren, PAD, file ); break; @@ -1574,8 +1543,7 @@ EXPRESSIONop__out( struct Op_Subexpression * oe, int paren, int previous_op , FI EXPRESSIONop2_out( oe, " % ", paren, PAD, file ); break; case OP_NOT_EQUAL: - //EXPRESSIONop2_out( oe, ( char * )0, paren, PAD ,file); - EXPRESSIONop2_out( oe, " != ", paren, PAD , file ); + EXPRESSIONop2_out( oe, " != ", paren, PAD, file ); break; case OP_NOT: EXPRESSIONop1_out( oe, " not ", paren, file ); @@ -1591,7 +1559,10 @@ EXPRESSIONop__out( struct Op_Subexpression * oe, int paren, int previous_op , FI EXPRESSIONop2_out( oe, ".", paren, NOPAD, file ); break; case OP_GROUP: - EXPRESSIONop2_out( oe, ".", paren, NOPAD, file ); + EXPRESSION_out(oe->op1, 1, file); + fprintf(file, "._scl_group("); + EXPRESSION_out(oe->op2, 0, file); + fprintf(file, ")"); break; case OP_NEGATE: EXPRESSIONop1_out( oe, "-", paren, file ); @@ -1616,11 +1587,11 @@ EXPRESSIONop__out( struct Op_Subexpression * oe, int paren, int previous_op , FI } void -EXPRESSIONop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, int previous_op, FILE * file ) { +EXPRESSIONop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, Op_Code previous_op, FILE * file ) { if( pad && paren && ( eo->op_code != previous_op ) ) { fprintf( file, "(" ); } - EXPRESSION__out( eo->op1, 1, eo->op_code , file ); + EXPRESSION__out( eo->op1, 1, OP_UNKNOWN, file ); if( pad ) { fprintf( file, " " ); } @@ -1635,11 +1606,11 @@ EXPRESSIONop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int } void -ATTRIBUTE_INITIALIZERop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, int previous_op, FILE * file ) { +ATTRIBUTE_INITIALIZERop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, Op_Code previous_op, FILE * file ) { if( pad && paren && ( eo->op_code != previous_op ) ) { fprintf( file, "(" ); } - ATTRIBUTE_INITIALIZER__out( eo->op1, 1, eo->op_code , file ); + ATTRIBUTE_INITIALIZER__out( eo->op1, 1, OP_UNKNOWN, file ); if( pad ) { fprintf( file, " " ); } @@ -1679,24 +1650,9 @@ ATTRIBUTE_INITIALIZERop1_out( struct Op_Subexpression * eo, char * opcode, int p } } -int -EXPRop_length( struct Op_Subexpression * oe ) { - switch( oe->op_code ) { - case OP_DOT: - case OP_GROUP: - return( 1 + EXPRlength( oe->op1 ) - + EXPRlength( oe->op2 ) ); - default: - fprintf( stdout, "EXPRop_length: unknown op-expression" ); - } - return 0; -} - void WHEREPrint( Linked_List wheres, int level , FILE * file ) { - unsigned int max_indent = 0; int where_rule_number = 0; - char * rule_name; python_indent( file, level ); @@ -1707,7 +1663,7 @@ WHEREPrint( Linked_List wheres, int level , FILE * file ) { /* pass 2: now print labels and exprs */ LISTdo( wheres, w, Where ) if( strcmp( w->label->name, "" ) ) { - // define a function with the name 'label' + /* define a function with the name 'label' */ fprintf( file, "\tdef %s(self):\n", w->label->name ); fprintf( file, "\t\teval_%s_wr = ", w->label->name ); } else { @@ -1715,9 +1671,9 @@ WHEREPrint( Linked_List wheres, int level , FILE * file ) { fprintf( file, "\tdef unnamed_wr_%i(self):\n", where_rule_number ); fprintf( file, "\t\teval_unnamed_wr_%i = ", where_rule_number ); } - //EXPRESSION_out( w->expr, level+1 , file ); - ATTRIBUTE_INITIALIZER_out( w->expr, level + 1 , file ); - // raise exception if rule violated + + ATTRIBUTE_INITIALIZER_out( w->expr, level + 1, file ); + /* raise exception if rule violated */ if( strcmp( w->label->name, "" ) ) { fprintf( file, "\n\t\tif not eval_%s_wr:\n", w->label->name ); fprintf( file, "\t\t\traise AssertionError('Rule %s violated')\n", w->label->name ); @@ -1732,118 +1688,6 @@ WHEREPrint( Linked_List wheres, int level , FILE * file ) { LISTod } -int curpos; -int indent2; -char * exppp_bufp = 0; /* pointer to write position in expppbuf */ -char * exppp_buf = 0; -Symbol error_sym; /* only used when printing errors */ -int exppp_buflen = 0; /* remaining space in expppbuf */ - -void -expression_output( char * buf, int len ) { - FILE * exppp_fp = NULL; - FILE * fp = ( exppp_fp ? exppp_fp : stdout ); - - error_sym.line += count_newlines( buf ); - - if( exppp_buf ) { - /* output to string */ - if( len > exppp_buflen ) { - /* should provide flag to enable complaint */ - /* for now, just ignore */ - return; - } - memcpy( exppp_bufp, buf, len + 1 ); - exppp_bufp += len; - exppp_buflen -= len; - } else { - /* output to file */ - fwrite( buf, 1, len, fp ); - } -} - -void -#ifdef __STDC__ -raw_python( char * fmt, ... ) { -#else -raw_python( va_alist ) -va_dcl { - char * fmt; -#endif - char * p; - char buf[10000]; - int len; - va_list args; -#ifdef __STDC__ - va_start( args, fmt ); -#else - va_start( args ); - fmt = va_arg( args, char * ); -#endif - - vsprintf( buf, fmt, args ); - len = strlen( buf ); - - expression_output( buf, len ); - - if( len ) { - /* reset cur position based on last newline seen */ - if( 0 == ( p = strrchr( buf, '\n' ) ) ) { - curpos += len; - } else { - curpos = len + buf - p; - } - } -} - -void -#ifdef __STDC__ -wrap_python( char * fmt, ... ) { -#else -wrap_python( va_alist ) -va_dcl { - char * fmt; -#endif - char * p; - char buf[10000]; - int len; - int exppp_linelength; - va_list args; -#ifdef __STDC__ - va_start( args, fmt ); -#else - va_start( args ); - fmt = va_arg( args, char * ); -#endif - exppp_linelength = 75; /* leave some slop for closing - vsprintf( buf, fmt, args ); - len = strlen( buf ); - - /* 1st condition checks if string cant fit into current line */ - /* 2nd condition checks if string cant fit into any line */ - /* I.e., if we still can't fit after indenting, don't bother to */ - /* go to newline, just print a long line */ - if( ( ( curpos + len ) > exppp_linelength ) && - ( ( indent2 + len ) < exppp_linelength ) ) { - /* move to new continuation line */ - char line[1000]; - sprintf( line, "\n%*s", indent2, "" ); - expression_output( line, 1 + indent2 ); - - curpos = indent2; /* reset current position */ - } - - expression_output( buf, len ); - - if( len ) { - /* reset cur position based on last newline seen */ - if( 0 == ( p = strrchr( buf, '\n' ) ) ) { - curpos += len; - } else { - curpos = len + buf - p; - } - } -} /****************************************************************** ** Procedure: ENTITYPrint @@ -1857,113 +1701,56 @@ va_dcl { ******************************************************************/ void -ENTITYPrint( Entity entity, FILES * files, Schema schema ) { +ENTITYPrint( Entity entity, FILES * files ) { char * n = ENTITYget_name( entity ); DEBUG( "Entering ENTITYPrint for %s\n", n ); fprintf( files->lib, "\n####################\n # ENTITY %s #\n####################\n", n ); - ENTITYlib_print( entity, files -> lib, schema ); + ENTITYlib_print( entity, files -> lib ); DEBUG( "DONE ENTITYPrint\n" ) ; } -void -MODELPrintConstructorBody( Entity entity, FILES * files, Schema schema - /*, int index*/ ) { -} - -void -MODELPrint( Entity entity, FILES * files, Schema schema, int index ) { -} - -void -ENTITYprint_new( Entity entity, FILES * files, Schema schema, int externMap ) { -} - -void -MODELprint_new( Entity entity, FILES * files, Schema schema ) { -} /****************************************************************** ** TYPE GENERATION **/ -/****************************************************************** - ** Procedure: TYPEprint_enum - ** Parameters: const Type type - type to print - ** FILE* f - file on which to print - ** Returns: - ** Requires: TYPEget_class(type) == TYPE_ENUM - ** Description: prints code to represent an enumerated type in c++ - ** Side Effects: prints to header file - ** Status: ok 1/15/91 - ** Changes: Modified to check for appropiate key words as described - ** in "SDAI C++ Binding for PDES, Inc. Prototyping" by - ** Stephen Clark. - ** - Changed to match CD2 Part 23, 1/14/97 DAS - ** Change Date: 5/22/91 CD - ******************************************************************/ +/* TYPEprint_enum + * FIXME implement or remove +*/ const char * EnumCElementName( Type type, Expression expr ) { -} - -char * -CheckEnumSymbol( char * s ) { + (void) type; + (void) expr; + return NULL; } void TYPEenum_lib_print( const Type type, FILE * f ) { DictionaryEntry de; Expression expr; - char c_enum_ele [BUFSIZ]; - // begin the new enum type + /* begin the new enum type */ if( is_python_keyword( TYPEget_name( type ) ) ) { fprintf( f, "\n# ENUMERATION TYPE %s_\n", TYPEget_name( type ) ); } else { fprintf( f, "\n# ENUMERATION TYPE %s\n", TYPEget_name( type ) ); } - // first write all the values of the enum - DICTdo_type_init( ENUM_TYPEget_items( type ), &de, OBJ_ENUM ); - // then outputs the enum + /* then outputs the enum */ if( is_python_keyword( TYPEget_name( type ) ) ) { - fprintf( f, "%s_ = ENUMERATION(", TYPEget_name( type ) ); + fprintf( f, "%s_ = ENUMERATION('%s_','", TYPEget_name( type ), TYPEget_name( type ) ); } else { - fprintf( f, "%s = ENUMERATION(", TYPEget_name( type ) ); + fprintf( f, "%s = ENUMERATION('%s','", TYPEget_name( type ), TYPEget_name( type ) ); } - /* set up the dictionary info */ - //fprintf( f, "const char * \n%s::element_at (int n) const {\n", n ); - //fprintf( f, " switch (n) {\n" ); + /* set up the dictionary info */ DICTdo_type_init( ENUM_TYPEget_items( type ), &de, OBJ_ENUM ); while( 0 != ( expr = ( Expression )DICTdo( &de ) ) ) { - strncpy( c_enum_ele, EnumCElementName( type, expr ), BUFSIZ ); if( is_python_keyword( EXPget_name( expr ) ) ) { - fprintf( f, "\n'%s_',", EXPget_name( expr ) ); + fprintf( f, "%s_ ", EXPget_name( expr ) ); } else { - fprintf( f, "\n\t'%s',", EXPget_name( expr ) ); + fprintf( f, "%s ", EXPget_name( expr ) ); } } - fprintf( f, "\n\tscope = schema_scope)\n" ); -} - - -void Type_Description( const Type, char * ); - -/* return printable version of entire type definition */ -/* return it in static buffer */ -char * -TypeDescription( const Type t ) { - static char buf[4000]; - - buf[0] = '\0'; - - if( TYPEget_head( t ) ) { - Type_Description( TYPEget_head( t ), buf ); - } else { - TypeBody_Description( TYPEget_body( t ), buf ); - } - - /* should also print out where clause here */ - - return buf + 1; + fprintf( f, "')\n" ); } void strcat_expr( Expression e, char * buf ) { @@ -2072,7 +1859,7 @@ TypeBody_Description( TypeBody body, char * buf ) { } break; default: - printf( "Error in %s, line %d: type %d not handled by switch statement.", __FILE__, __LINE__, body->type ); + fprintf( stderr, "Error in %s, line %d: type %d not handled by switch statement.", __FILE__, __LINE__, body->type ); abort(); } @@ -2128,9 +1915,6 @@ Type_Description( const Type t, char * buf ) { } } -void -TYPEprint_typedefs( Type t, FILE * classes ) { -} /* return 1 if it is a multidimensional aggregate at the level passed in otherwise return 0; If it refers to a type that is a multidimensional @@ -2161,49 +1945,60 @@ isMultiDimAggregateType( const Type t ) { reference since it has an Express name associated with it. */ int TYPEget_RefTypeVarNm( const Type t, char * buf, Schema schema ) { + (void) t; /* unused - FIXME implement or eliminate this function */ + (void) buf; + (void) schema; + return 1; } /***** print stuff for types that are declared in Express TYPE statements... i.e. extern descriptor declaration in .h file - MOVED BY DAR to TYPEprint_type- - defs - in order to print all the Sdaiclasses.h stuff in fedex_plus's + defs - in order to print all the Sdaiclasses.h stuff in exp2python's first pass through each schema. descriptor definition in the .cc file initialize it in the .init.cc file (DAR - all initialization done in fn - TYPEprint_init() (below) which is done in fedex_plus's 1st pass only.) + TYPEprint_init() (below) which is done in exp2python's 1st pass only.) *****/ void TYPEprint_descriptions( const Type type, FILES * files, Schema schema ) { - char tdnm [BUFSIZ], - typename_buf [MAX_LEN], - base [BUFSIZ], - nm [BUFSIZ]; + char tdnm [BUFSIZ+1], + typename_buf [MAX_LEN+1], + base [BUFSIZ+1], + nm [BUFSIZ+1]; Type i; - int where_rule_number = 0; + int where_rule_number = 0; strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); + tdnm[BUFSIZ-1] = '\0'; if( TYPEis_enumeration( type ) && ( i = TYPEget_ancestor( type ) ) != NULL ) { /* If we're a renamed enum type, just print a few typedef's to the - // original and some specialized create functions: */ + original and some specialized create functions: */ strncpy( base, StrToLower( EnumName( TYPEget_name( i ) ) ), BUFSIZ ); + base[BUFSIZ-1]='\0'; strncpy( nm, StrToLower( EnumName( TYPEget_name( type ) ) ), BUFSIZ ); + nm[BUFSIZ-1]='\0'; fprintf( files->lib, "%s = %s\n", nm, base ); return; } if( TYPEget_RefTypeVarNm( type, typename_buf, schema ) ) { - char * output = FundamentalType( type, 0 ); + const char * output = FundamentalType( type, 0 ); if( TYPEis_aggregate( type ) ) { fprintf( files->lib, "%s = ", TYPEget_name( type ) ); process_aggregate( files->lib, type ); fprintf( files->lib, "\n" ); + } else if( TYPEis_boolean( type ) ) { + fprintf( files->lib, "%s = bool\n", TYPEget_name( type ) ); } else if( TYPEis_select( type ) ) { TYPEselect_lib_print( type, files -> lib ); - } else { - // the defined datatype inherits from the base type + } else if( TYPEis_enumeration( type ) ) { + TYPEenum_lib_print( type, files -> lib ); + } else { + /* the defined datatype inherits from the base type */ fprintf( files->lib, "# Defined datatype %s\n", TYPEget_name( type ) ); fprintf( files->lib, "class %s(", TYPEget_name( type ) ); if( TYPEget_head( type ) != NULL ) { @@ -2211,24 +2006,28 @@ TYPEprint_descriptions( const Type type, FILES * files, Schema schema ) { } else { fprintf( files->lib, "%s):\n", output ); } - fprintf( files->lib, "\tdef __init__(self,*kargs):\n" ); - fprintf( files->lib, "\t\tpass\n" ); - // call the where / rules - LISTdo( type->where, w, Where ) - if( strcmp( w->label->name, "" ) ) { - // define a function with the name 'label' - fprintf( files->lib, "\t\tself.%s()\n", w->label->name ); - } else { - /* no label */ - fprintf( files->lib, "\t\tself.unnamed_wr_%i()\n", where_rule_number ); - where_rule_number ++; + + if (LISTempty(type->where)) { + fprintf( files->lib, "\tpass\n" ); + } else { + fprintf( files->lib, "\tdef __init__(self, *args):\n" ); + /* call the where / rules */ + LISTdo( type->where, w, Where ) + if( strcmp( w->label->name, "" ) ) { + /* define a function with the name 'label' */ + fprintf( files->lib, "\t\tself.%s()\n", w->label->name ); + } else { + /* no label */ + fprintf( files->lib, "\t\tself.unnamed_wr_%i()\n", where_rule_number ); + where_rule_number ++; + } + LISTod + fprintf( files->lib, "\n" ); + /* then we process the where rules */ + WHEREPrint( type->where, 0, files->lib ); } - LISTod - fprintf( files->lib, "\n" ); - // then we process the where rules - WHEREPrint( type->where, 0, files->lib ); } - } else { + } else { /* TODO: cleanup, currently this is deadcode */ switch( TYPEget_body( type )->type ) { case enumeration_: TYPEenum_lib_print( type, files -> lib ); @@ -2241,53 +2040,3 @@ TYPEprint_descriptions( const Type type, FILES * files, Schema schema ) { } } - -static void -printEnumCreateHdr( FILE * inc, const Type type ) -/* - * Prints a bunch of lines for enumeration creation functions (i.e., "cre- - * ate_SdaiEnum1()"). Since this is done both for an enum and for "copies" - * of it (when "TYPE enum2 = enum1"), I placed this code in a separate fn. - */ -{ - -} - -static void -printEnumCreateBody( FILE * lib, const Type type ) -/* - * See header comment above by printEnumCreateHdr. - */ -{ -} - -static void -printEnumAggrCrHdr( FILE * inc, const Type type ) -/* - * Similar to printEnumCreateHdr above for the enum aggregate. - */ -{ -} - -static void -printEnumAggrCrBody( FILE * lib, const Type type ) { -} - -void -TYPEprint_init( const Type type, FILES * files, Schema schema ) { -} - -/* print name, fundamental type, and description initialization function - calls */ - -void -TYPEprint_nm_ft_desc( Schema schema, const Type type, FILE * f, char * endChars ) { -} - - -/* new space for a variable of type TypeDescriptor (or subtype). This - function is called for Types that have an Express name. */ - -void -TYPEprint_new( const Type type, FILE * create, Schema schema ) { -} diff --git a/src/exp2python/src/classes_wrapper_python.cc b/src/exp2python/src/classes_wrapper_python.cc new file mode 100644 index 000000000..c6842ba44 --- /dev/null +++ b/src/exp2python/src/classes_wrapper_python.cc @@ -0,0 +1,365 @@ +#include +#include +#include + +#include "complexSupport.h" + +void use_ref( Schema, Express, FILES * ); + +/****************************************************************** + ** SCHEMA SECTION **/ + +/****************************************************************** + ** Procedure: SCOPEPrint + ** Parameters: const Scope scope - scope to print + ** FILE* file - file on which to print + ** Returns: + ** Description: cycles through the scopes of the input Express schema + ** Side Effects: calls functions for processing entities and types + ** Status: working 1/15/91 + ** -- it's still not clear how include files should be organized + ** and what the relationship is between this organization and the + ** organization of the schemas in the input Express + ******************************************************************/ + +void SCOPEPrint( Scope scope, FILES * files, Schema schema ) { + Linked_List list = SCOPEget_entities_superclass_order( scope ); + Linked_List function_list = SCOPEget_functions( scope ); + Linked_List rule_list = SCOPEget_rules( scope ); + DictionaryEntry de; + Type i; + int redefs = 0;// index = 0; + int skipped; + + while( 1 ) { + skipped = 0; + + SCOPEdo_types( scope, t, de ) + if( TYPEis_enumeration( t ) || TYPEis_select( t ) || TYPEis_aggregate( t ) ) { + continue; + } + + i = TYPEget_head( t ); + if( ( !i || i->search_id == PROCESSED ) + && t->search_id == CANPROCESS ) { + TYPEprint_descriptions( t, files, schema ); + t->search_id = PROCESSED; + } else if( t->search_id == CANPROCESS ) { + skipped++; + } + + SCOPEod + + if( !skipped ) { + break; + } + } + + /* fill in the values for the type descriptors */ + /* and print the enumerations */ + //fprintf( files -> inc, "\n/*\t************** TYPES \t*/\n" ); + //fprintf( files -> lib, "\n/*\t************** TYPES \t*/\n" ); + SCOPEdo_types( scope, t, de ) + // First check for one exception: Say enumeration type B is defined + // to be a rename of enum A. If A is in this schema but has not been + // processed yet, we must wait till it's processed first. The reason + // is because B will basically be defined with a couple of typedefs to + // the classes which represent A. (To simplify, we wait even if A is + // in another schema, so long as it's been processed.) + if( ( t->search_id == CANPROCESS ) + && ( TYPEis_enumeration( t ) ) + && ( ( i = TYPEget_ancestor( t ) ) != NULL ) + && ( i->search_id >= CANPROCESS ) ) { + redefs = 1; + } + SCOPEod + + SCOPEdo_types( scope, t, de ) + if( TYPEis_select( t ) || TYPEis_aggregate( t ) ) { + continue; + } + + // Do the non-redefined enumerations: + if( ( t->search_id == CANPROCESS ) + && !( TYPEis_enumeration( t ) && TYPEget_head( t ) ) ) { + TYPEprint_descriptions( t, files, schema ); + t->search_id = PROCESSED; + } + SCOPEod; + + // process redifined enumerations + if( redefs ) { + SCOPEdo_types( scope, t, de ) + if( t->search_id == CANPROCESS && TYPEis_enumeration( t ) ) { + TYPEprint_descriptions( t, files, schema ); + t->search_id = PROCESSED; + } + SCOPEod; + } + + /* do the select definitions next, since they depend on the others */ + //fprintf( files->inc, "\n//\t***** Build the SELECT Types \t\n" ); + // Note - say we have sel B, rename of sel A (as above by enum's). Here + // we don't have to worry about printing B before A. This is checked in + // TYPEselect_print(). + SCOPEdo_types( scope, t, de ) + if( t->search_id == CANPROCESS && TYPEis_select( t ) ) { + // Only selects haven't been processed yet and may still be set to + // CANPROCESS. + //FIXME this function is not implemented! +// TYPEselect_print( t, files, schema ); + // TODO: due to conditional error we were previously executing this above without realising + TYPEprint_descriptions( t, files, schema ); + t->search_id = PROCESSED; + } + SCOPEod; + + // process each entity. This must be done *before* typedefs are defined + LISTdo( list, e, Entity ); + if( e->search_id == CANPROCESS ) { + ENTITYPrint( e, files ); + e->search_id = PROCESSED; + } + LISTod; + LISTfree( list ); + + // process each function. This must be done *before* typedefs are defined + LISTdo( function_list, f, Function ); + FUNCPrint( f, files ); + LISTod; + LISTfree( function_list ); + + // process each rule. This must be done *before* typedefs are defined + LISTdo( rule_list, r, Rule ); + RULEPrint( r, files ); + LISTod; + LISTfree( rule_list ); + + // TODO: check dependencies + SCOPEdo_types( scope, t, de ) + if( t->search_id == CANPROCESS && TYPEis_aggregate( t ) ) { + TYPEprint_descriptions( t, files, schema ); + t->search_id = PROCESSED; + } + SCOPEod + +} + + + + +/****************************************************************** + ** Procedure: SCHEMAprint + ** Parameters: const Schema schema - schema to print + ** FILES *file - file on which to print + ** Express model - fedex rep of entire EXPRESS file + ** ComplexCollect col - all the complex entity info pertaining + ** to this EXPRESS file + ** int suffix - suffix to use for generated cc files + ** Returns: + ** Description: handles initialization of files specific to schemas + ** Side Effects: + ** Status: + ******************************************************************/ + +void SCHEMAprint( Schema schema, FILES * files, int suffix ) { + int ocnt = 0; + char schnm[MAX_LEN+1], sufnm[MAX_LEN+1], fnm[MAX_LEN+1], *np; + /* sufnm = schema name + suffix */ + FILE * libfile; + /********** create files based on name of schema ***********/ + /* return if failure */ + /* 1. header file */ + sprintf( schnm, "%s", SCHEMAget_name( schema ) ); + if( suffix == 0 ) { + sprintf( sufnm, "%s", schnm ); + } else { + ocnt = snprintf( sufnm, MAX_LEN, "%s_%d", schnm, suffix ); + if( ocnt > MAX_LEN ) { + std::cerr << "Warning - classes_wrapper_python.cc - sufnm not large enough to hold string\n"; + } + } + ocnt = snprintf( fnm, MAX_LEN, "%s.h", sufnm ); + if( ocnt > MAX_LEN ) { + std::cerr << "Warning - classes_wrapper_python.cc - fnm not large enough to hold string\n"; + } + + np = fnm + strlen( fnm ) - 1; /* point to end of constant part of string */ + + /* 2. class source file */ + sprintf( np, "py" ); + if( !( libfile = ( files -> lib ) = FILEcreate( fnm ) ) ) { + return; + } + fprintf( libfile, "import sys\n" ); + fprintf( libfile, "\n" ); + fprintf( libfile, "from SCL import SCLBase\n" ); + fprintf( libfile, "from SCL.SCLBase import *\n" ); + fprintf( libfile, "from SCL.SimpleDataTypes import *\n" ); + fprintf( libfile, "from SCL.ConstructedDataTypes import *\n" ); + fprintf( libfile, "from SCL.AggregationDataTypes import *\n" ); + fprintf( libfile, "from SCL.TypeChecker import check_type\n" ); + fprintf( libfile, "from SCL.Builtin import *\n" ); + fprintf( libfile, "from SCL.Rules import *\n" ); + + /********* export schema name *******/ + fprintf( libfile, "\nschema_name = '%s'\n\n", SCHEMAget_name( schema ) ); + + /******** export schema scope *******/ + fprintf( libfile, "schema_scope = sys.modules[__name__]\n\n" ); + + + /********** do the schemas ***********/ + + /* really, create calls for entity constructors */ + SCOPEPrint( schema, files, schema ); + + /********** close the files ***********/ + FILEclose( libfile ); + //FILEclose( incfile ); + //if( schema->search_id == PROCESSED ) { + // fprintf( initfile, "\n}\n" ); + // FILEclose( initfile ); + //} else { + // fclose( initfile ); + //} +} + +/****************************************************************** + ** Procedure: getMCPrint + ** Parameters: + Express express - in memory representation of an express model + FILE* schema_h - generated schema.h file + FILE* schema_cc - schema.cc file + ** Returns: + ** Description: drives functions to generate code for all the schemas + ** in an Express model into one set of files -- works with + ** print_schemas_combined + ** Side Effects: generates code + ** Status: 24-Feb-1992 new -kcm + ******************************************************************/ +void +getMCPrint( Express express, FILE * schema_h, FILE * schema_cc ) { + DictionaryEntry de; + Schema schema; + + fprintf( schema_h, + "\nSCLP23(Model_contents_ptr) GetModelContents(char *schemaName);\n" ); + fprintf( schema_cc, "%s%s%s%s", + "// Generate a function to be called by Model to help it\n", + "// create the necessary Model_contents without the\n", + "// dictionary (Registry) handle since it doesn't have a\n", + "// predetermined way to access to the handle.\n" ); + fprintf( schema_cc, + "\nSCLP23(Model_contents_ptr) GetModelContents(char *schemaName)\n{\n" ); + DICTdo_type_init( express->symbol_table, &de, OBJ_SCHEMA ); + schema = ( Scope )DICTdo( &de ); + fprintf( schema_cc, + " if(!strcmp(schemaName, \"%s\"))\n", + SCHEMAget_name( schema ) ); + fprintf( schema_cc, + " return (SCLP23(Model_contents_ptr)) new SdaiModel_contents_%s; \n", + SCHEMAget_name( schema ) ); + while( ( schema = ( Scope )DICTdo( &de ) ) != 0 ) { + fprintf( schema_cc, + " else if(!strcmp(schemaName, \"%s\"))\n", + SCHEMAget_name( schema ) ); + fprintf( schema_cc, + " return (SCLP23(Model_contents_ptr)) new SdaiModel_contents_%s; \n", + SCHEMAget_name( schema ) ); + } + fprintf( schema_cc, "}\n" ); +} + +/****************************************************************** + ** Procedure: EXPRESSPrint + ** Parameters: + Express express -- in memory representation of an express model + FILES* files -- set of output files to print to + ** Returns: + ** Description: drives functions to generate code for all the schemas + ** in an Express model into one set of files -- works with + ** print_schemas_combined + ** Side Effects: generates code + ** Status: 24-Feb-1992 new -kcm + ******************************************************************/ +void +EXPRESSPrint( Express express, FILES * files ) { + char fnm [MAX_LEN+1]; + const char * schnm; /* schnm is really "express name" */ + FILE * libfile; + /* new */ + Schema schema; + DictionaryEntry de; + + + /********** create files based on name of schema ***********/ + /* return if failure */ + /* 1. header file */ + sprintf( fnm, "%s.h", schnm = ClassName( EXPRESSget_basename( express ) ) ); + + /* 2. class source file */ + //sprintf( np, "cc" ); + if( !( libfile = ( files -> lib ) = FILEcreate( fnm ) ) ) { + return; + } + + /********** do all schemas ***********/ + DICTdo_init( express->symbol_table, &de ); + while( 0 != ( schema = ( Scope )DICTdo( &de ) ) ) { + SCOPEPrint( schema, files, schema ); + } + + + /********** close the files ***********/ + FILEclose( libfile ); + //FILEclose( incfile ); + //fprintf( initfile, "\n}\n" ); + //FILEclose( initfile ); + +} + +/****************************************************************** + ** Procedure: print_schemas_combined + ** Parameters: + Express express -- in memory representation of an express model + FILES* files -- set of output files to print to + ** Returns: + ** Description: drives functions to generate code for all the schemas + ** in an Express model into one set of files -- works with EXPRESSPrint + ** Side Effects: generates code + ** Status: 24-Feb-1992 new -kcm + ******************************************************************/ + +void +print_schemas_combined( Express express, FILES * files ) { + + EXPRESSPrint( express, files ); +} + +/* +** Procedure: print_file +** Parameters: const Schema schema - top-level schema to print +** FILE* file - file on which to print +** Returns: void +** Description: this function calls one of two different functions +** depending on whether the output should be combined into a single +** set of files or a separate set for each schema +** +*/ + +void +print_file( Express express ) { + extern void RESOLUTIONsucceed( void ); + int separate_schemas = 1; + + File_holder files; + + resolution_success(); + + if( separate_schemas ) { + print_schemas_separate( express, &files ); + } else { + print_schemas_combined( express, &files ); + } +} diff --git a/src/fedex_plus/complexSupport.h b/src/exp2python/src/complexSupport.h similarity index 99% rename from src/fedex_plus/complexSupport.h rename to src/exp2python/src/complexSupport.h index d62951683..7a478bbb8 100644 --- a/src/fedex_plus/complexSupport.h +++ b/src/exp2python/src/complexSupport.h @@ -116,7 +116,7 @@ class EntNode { private: MarkType mark; - char name[BUFSIZ]; + char name[BUFSIZ+1]; int multSupers; // do I correspond to an entity with >1 supertype? }; @@ -181,7 +181,7 @@ class EntList { int multiple() { return ( join != SIMPLE ); } - EntList * next, *prev; + EntList * prev, * next; protected: MatchType viable; @@ -225,7 +225,7 @@ class SimpleList : public EntList { void write( ostream & ); private: - char name[BUFSIZ]; // Name of entity we correspond to. + char name[BUFSIZ+1]; // Name of entity we correspond to. MarkType I_marked; // Did I mark, and with what type of mark. }; diff --git a/src/exp2python/src/fedex_main_python.c b/src/exp2python/src/fedex_main_python.c new file mode 100644 index 000000000..be7bdd242 --- /dev/null +++ b/src/exp2python/src/fedex_main_python.c @@ -0,0 +1,62 @@ + +/* Driver for exp2python (generation of python from EXPRESS) */ + +/* + * This software was developed by U.S. Government employees as part of + * their official duties and is not subject to copyright. + */ + +#include +#include +#include "../express/express.h" +#include "../express/resolve.h" + +extern void print_fedex_version( void ); + +static void exp2python_usage( void ) { + char *warnings_help_msg = ERRORget_warnings_help("\t", "\n"); + fprintf( stderr, "usage: %s [-v] [-d # | -d 9 -l nnn -u nnn] [-n] [-p ] {-w|-i } express_file\n", EXPRESSprogram_name ); + fprintf( stderr, "\t-v produces the version description below\n" ); + fprintf( stderr, "\t-d turns on debugging (\"-d 0\" describes this further\n" ); + fprintf( stderr, "\t-w warning enable\n" ); + fprintf( stderr, "\t-i warning ignore\n" ); + fprintf( stderr, "and is one of:\n" ); + fprintf( stderr, "\tnone\n\tall\n" ); + fprintf( stderr, "%s", warnings_help_msg); + fprintf( stderr, "and is one or more of:\n" ); + fprintf( stderr, " e entity\n" ); + fprintf( stderr, " p procedure\n" ); + fprintf( stderr, " r rule\n" ); + fprintf( stderr, " f function\n" ); + fprintf( stderr, " t type\n" ); + fprintf( stderr, " s schema or file\n" ); + fprintf( stderr, " # pass #\n" ); + fprintf( stderr, " E everything (all of the above)\n" ); + print_fedex_version(); + exit( 2 ); +} + +int Handle_FedPlus_Args( int, char * ); +void print_file( Express ); + +void resolution_success( void ) { + printf( "Resolution successful.\nWriting python module..." ); +} + +int success( Express model ) { + (void) model; /* unused */ + printf( "Done.\n" ); + return( 0 ); +} + +/* This function is called from main() which is part of the NIST Express + Toolkit. It assigns 2 pointers to functions which are called in main() */ +void EXPRESSinit_init( void ) { + EXPRESSbackend = print_file; + EXPRESSsucceed = success; + EXPRESSgetopt = Handle_FedPlus_Args; + /* so the function getopt (see man 3 getopt) will not report an error */ + strcat( EXPRESSgetopt_options, "sSLcCaA" ); + ERRORusage_function = exp2python_usage; +} + diff --git a/src/fedex_python/src/multpass_python.c b/src/exp2python/src/multpass_python.c similarity index 87% rename from src/fedex_python/src/multpass_python.c rename to src/exp2python/src/multpass_python.c index 04becc378..a4204c1c8 100644 --- a/src/fedex_python/src/multpass_python.c +++ b/src/exp2python/src/multpass_python.c @@ -2,9 +2,9 @@ * multpass.c * * * * Description: * - * Adds multi-schema support enhancement to fedex_plus parser. Allows the * + * Adds multi-schema support enhancement to exp2python parser. Allows the * * generation of C++ representations for multiple EXPRESS schemas without * - * creating conflicting header files. Previously, fedex_plus would gene- * + * creating conflicting header files. Previously, exp2python would gene- * * rate a single set of files (.h, .cc, .init.cc) for each schema found in * * the processed EXPRESS file. A number of problem situations occurred: * * * @@ -48,15 +48,15 @@ static void markDescs( Entity ); static int checkItem( Type, Scope, Schema, int *, int ); static int ENUMcanBeProcessed( Type, Schema ); static int inSchema( Scope, Scope ); -static void addRenameTypedefs( Schema, FILE * ); -static void addAggrTypedefs( Schema , FILE * ); +/* static void addRenameTypedefs( Schema, FILE * ); */ +static void addAggrTypedefs( Schema schema ); static void addUseRefNames( Schema, FILE * ); -void print_schemas_separate( Express express, void * complexCol, FILES * files ) +void print_schemas_separate( Express express, FILES * files ) /* * Generates the C++ files corresponding to a list of schemas. Does so in * multiple passes through the schemas. In each pass it checks for enti- - * ties which are subtypes of entites in other schemas which have not yet + * ties which are subtypes of entities in other schemas which have not yet * been processed. Such entities cannot be processed in that pass until * their supertypes have been defined. It also checks for entities which * have enum or select attributes which have not been processed, and for @@ -70,8 +70,8 @@ void print_schemas_separate( Express express, void * complexCol, FILES * files ) /* First set all marks we'll be using to UNPROCESSED/NOTKNOWN: */ initializeMarks( express ); - //FIXME SdaiAll.cc:12:24: warning: unused variable ‘is’ [-Wunused-variable] (also for ui & ri) - //fprintf( files->create, " Interface_spec_ptr is;\n Used_item_ptr ui;\n Referenced_item_ptr ri;\n Uniqueness_rule_ptr ur;\n Where_rule_ptr wr;\n Global_rule_ptr gr;\n" ); + /* FIXME SdaiAll.cc:12:24: warning: unused variable ‘is’ [-Wunused-variable] (also for ui & ri) */ + /* fprintf( files->create, " Interface_spec_ptr is;\n Used_item_ptr ui;\n Referenced_item_ptr ri;\n Uniqueness_rule_ptr ur;\n Where_rule_ptr wr;\n Global_rule_ptr gr;\n" ); */ while( !complete ) { complete = TRUE; DICTdo_type_init( express->symbol_table, &de, OBJ_SCHEMA ); @@ -104,10 +104,9 @@ void print_schemas_separate( Express express, void * complexCol, FILES * files ) // will create files with the suffixes "_1", "_2", etc. // If not, no file suffix will be added. */ suffix = ++*( int * )schema->clientData; - SCHEMAprint( schema, files, express, complexCol, - suffix ); + SCHEMAprint( schema, files, suffix ); } else { - SCHEMAprint( schema, files, express, complexCol, 0 ); + SCHEMAprint( schema, files, 0 ); } } complete = complete && ( schema->search_id == PROCESSED ); @@ -117,9 +116,7 @@ void print_schemas_separate( Express express, void * complexCol, FILES * files ) } } - /******************* - *******************/ - + /* DICTdo_type_init( express->symbol_table, &de, OBJ_SCHEMA ); while( ( schema = ( Scope )DICTdo( &de ) ) != 0 ) { //fprintf( files->create, @@ -130,8 +127,7 @@ void print_schemas_separate( Express express, void * complexCol, FILES * files ) // "\t//////////////// REFERENCE statements\n" ); //USEREFout( schema, schema->u.schema->refdict, schema->u.schema->ref_schemas, "REFERENCE", files->create ); } - /***************** - *****************/ + */ /* Before closing, we have three more situations to deal with (i.e., three // types of declarations etc. which could only be printed at the end). // Each is explained in the header section of its respective function. */ @@ -139,33 +135,31 @@ void print_schemas_separate( Express express, void * complexCol, FILES * files ) while( ( schema = ( Scope )DICTdo( &de ) ) != 0 ) { /* (These two tasks are totally unrelated but are done in the same loop // for efficiency.) */ - addRenameTypedefs( schema, files->classes ); addUseRefNames( schema, files->create ); } /* Third situation: (Must be dealt with after first, see header comments // of addAggrTypedefs.) */ DICTdo_type_init( express->symbol_table, &de, OBJ_SCHEMA ); while( ( schema = ( Scope )DICTdo( &de ) ) != 0 ) { - //addAggrTypedefs( schema, files->classes ); - addAggrTypedefs( schema, files->lib ); + /* addAggrTypedefs( schema, files->classes ); */ + addAggrTypedefs( schema ); } /* On our way out, print the necessary statements to add support for // complex entities. (The 1st line below is a part of SchemaInit(), - // which hasn't been closed yet. (That's done on 2nd line below.)) */ + // which hasn't been closed yet. (That's done on 2nd line below.)) * / //fprintf( files->initall, "\t reg.SetCompCollect( gencomplex() );\n" ); //fprintf( files->initall, "}\n\n" ); - //fprintf( files->incall, "\n#include \n" ); - //fprintf( files->incall, "ComplexCollect *gencomplex();\n" ); + //fprintf( files->incall, "\n#include \"core/complexSupport.h\"\n" ); + //fprintf( files->incall, "ComplexCollect *gencomplex();\n" ); */ /* Function GetModelContents() is printed at the end of the schema.xx // files. This is done in a separate loop through the schemas, in function - // below. */ - //getMCPrint( express, files->incall, files->initall ); + // below. * / + //getMCPrint( express, files->incall, files->initall ); */ } -static void initializeMarks( Express express ) -/* +/** * Set all schema->search_id's to UNPROCESSED, meaning we haven't processed * all the ents and types in it yet. Also, put an int=0 in each schema's * clientData field. We'll use it to record what # file we're generating @@ -174,7 +168,7 @@ static void initializeMarks( Express express ) * an attribute/item which comes from another schema. All other types can * be processed the first time, but that will be caught in checkTypes().) */ -{ +static void initializeMarks( Express express ) { DictionaryEntry de_sch, de_ent, de_type; Schema schema; @@ -192,8 +186,7 @@ static void initializeMarks( Express express ) } } -static void unsetObjs( Schema schema ) -/* +/** * Resets all the ents & types of schema which had been set to CANTPROCRSS * to NOTKNOWN. This function is called every time print_schemas_separate * iterates through the schemas, printing to file what can be printed. At @@ -202,7 +195,7 @@ static void unsetObjs( Schema schema ) * types which have already been marked PROCESSED will not have to be * revisited, and are not changed. */ -{ +static void unsetObjs( Schema schema ) { DictionaryEntry de; SCOPEdo_types( schema, t, de ) @@ -217,8 +210,7 @@ static void unsetObjs( Schema schema ) SCOPEod } -static int checkTypes( Schema schema ) -/* +/** * Goes through the types contained in this schema checking for ones which * can't be processed. This may be the case if: (1) We have a select type * which has enumeration or select items which have not yet been defined @@ -230,7 +222,7 @@ static int checkTypes( Schema schema ) * CANTPROCESS. If some types in schema *can* be processed now, we return * TRUE. (See relevant header comments of checkEnts() below.) */ -{ +static int checkTypes( Schema schema ) { DictionaryEntry de; int retval = FALSE, unknowncnt; Type i; @@ -261,43 +253,43 @@ static int checkTypes( Schema schema ) schema->search_id = UNPROCESSED; } } else if( TYPEis_select( type ) ) { - LISTdo( SEL_TYPEget_items( type ), i, Type ) - if( !TYPEis_entity( i ) ) { - if( checkItem( i, type, schema, &unknowncnt, 0 ) ) { - break; - } - /* checkItem does most of the work of determining if - // an item of a select will make the select type un- - // processable. It checks for conditions which would - // make this true and sets values in type, schema, and - // unknowncnt accordingly. (See checkItem's commenting - // below.) It also return TRUE if i has made type un- - // processable. If so, we break - there's no point - // checking the other items of type any more. */ - } else { - /* Check if our select has an entity item which itself - // has unprocessed selects or enums. */ - ent = ENT_TYPEget_entity( i ); - if( ent->search_id == PROCESSED ) { - continue; - } - /* If entity has been processed already, things must be - // okay. (Note - but if it hasn't been processed yet we - // may still be able to process type. This is because - // a sel type will only contain a pointer to an entity- - // item (and we can create a pointer to a not-yet-pro- - // cessed object), while it will contain actual objects - // for the enum and select attributes of ent.) */ - attribs = ENTITYget_all_attributes( ent ); - LISTdo( attribs, attr, Variable ) - if( checkItem( attr->type, type, schema, - &unknowncnt, 1 ) ) { - break; + LISTdo( SEL_TYPEget_items( type ), ii, Type ) { + if( !TYPEis_entity( ii ) ) { + if( checkItem( ii, type, schema, &unknowncnt, 0 ) ) { + break; + } + /* checkItem does most of the work of determining if + // an item of a select will make the select type un- + // processable. It checks for conditions which would + // make this true and sets values in type, schema, and + // unknowncnt accordingly. (See checkItem's commenting + // below.) It also return TRUE if ii has made type un- + // processable. If so, we break - there's no point + // checking the other items of type any more. */ + } else { + /* Check if our select has an entity item which itself + // has unprocessed selects or enums. */ + ent = ENT_TYPEget_entity( ii ); + if( ent->search_id == PROCESSED ) { + continue; + } + /* If entity has been processed already, things must be + // okay. (Note - but if it hasn't been processed yet we + // may still be able to process type. This is because + // a sel type will only contain a pointer to an entity- + // item (and we can create a pointer to a not-yet-pro- + // cessed object), while it will contain actual objects + // for the enum and select attributes of ent.) */ + attribs = ENTITYget_all_attributes( ent ); + LISTdo_n( attribs, attr, Variable, b ) { + if( checkItem( attr->type, type, schema, + &unknowncnt, 1 ) ) { + break; + } + } LISTod + LISTfree( attribs ); } - LISTod - LISTfree( attribs ); - } - LISTod + } LISTod /* One more condition - if we're a select which is a rename of // another select - we must also make sure the original select // is in this schema or has been processed. Since a rename- @@ -345,7 +337,7 @@ static int checkEnts( Schema schema ) * which can't be processed. It checks for two situations: (1) If we find * an entity which is a subtype of a not-yet-processed entity in another * schema. (2) If an entity has an attribute which is an enumeration or - * select type (which is implemented by fedex_plus as a C++ class), and the + * select type (which is implemented by exp2python as a C++ class), and the * enum or select class has not yet been defined. For each entity which * satisfies one of the above conditions, we set its mark and the marks of * all its subtype descendents to CANTPROCESS. Later, when C++ files are @@ -506,7 +498,7 @@ static int checkItem( Type t, Scope parent, Schema schema, int * unknowncnt, parent->search_id = NOTKNOWN; /* We lower parent's value. But don't return TRUE. That // would tell checkTypes() that there's nothing more to - // check. But checkTypes should keep looping thru the re- + // check. But checkTypes should keep looping through the re- // maining items of parent - maybe one of them will tell us // that parent definitely can't be processed this pass. */ ( *unknowncnt )++; @@ -580,18 +572,7 @@ static int inSchema( Scope scope, Scope super ) SCOPEget_name( super ) ) ); } -static void addRenameTypedefs( Schema schema, FILE * classes ) -/* - * Prints typedefs at the end of Sdaiclasses.h for enumeration or select - * types which are renamed from other enum/sel's. Since the original e/s - * may be in any schema, this must be done at the end of all the schemas. - * (Actually, for the enum only the aggregate class name is written in - * Sdaiclasses.h (needs to have forward declarations here).) - */ -{ -} - -static void addAggrTypedefs( Schema schema, FILE * classes ) +static void addAggrTypedefs( Schema schema ) /* * Print typedefs at the end of Sdiaclasses.h for aggregates of enum's and * selects. Since the underlying enum/sel may appear in any schema, this @@ -602,8 +583,6 @@ static void addAggrTypedefs( Schema schema, FILE * classes ) { DictionaryEntry de; Type i; - static int firsttime = TRUE; - char nm[BUFSIZ]; SCOPEdo_types( schema, t, de ) if( TYPEis_aggregate( t ) ) { @@ -614,7 +593,7 @@ static void addAggrTypedefs( Schema schema, FILE * classes ) // 2D aggr's and higher only need type GenericAggr defined // which is built-in. */ printf( "in addAggrTypedefs. %s is enum or select.\n", TYPEget_name( t ) ); - //strncpy( nm, ClassName( TYPEget_name( t ) ), BUFSIZ ); + /* strncpy( nm, ClassName( TYPEget_name( t ) ), BUFSIZ ); //printf("%s;%s",nm,TYPEget_ctype( t )); //if( firsttime ) { // fprintf( classes, "The first TIME\n" ); @@ -625,7 +604,7 @@ static void addAggrTypedefs( Schema schema, FILE * classes ) //fprintf( classes, "typedef %s\t%s;\n", // TYPEget_ctype( t ), nm ); //fprintf( classes, "typedef %s *\t%sH;\n", nm, nm ); - //fprintf( classes, "typedef %s *\t%s_ptr;\n", nm, nm ); + //fprintf( classes, "typedef %s *\t%s_ptr;\n", nm, nm ); */ } } SCOPEod @@ -644,7 +623,7 @@ static void addUseRefNames( Schema schema, FILE * create ) Dictionary useRefDict; DictionaryEntry de; Rename * rnm; - char * oldnm, schNm[BUFSIZ]; + char * oldnm, schNm[BUFSIZ+1]; static int firsttime = TRUE; if( ( useRefDict = schema->u.schema->usedict ) != NULL ) { diff --git a/src/fedex_python/src/selects_python.c b/src/exp2python/src/selects_python.c similarity index 80% rename from src/fedex_python/src/selects_python.c rename to src/exp2python/src/selects_python.c index 84705ce78..2bc45d151 100644 --- a/src/fedex_python/src/selects_python.c +++ b/src/exp2python/src/selects_python.c @@ -23,7 +23,9 @@ extern int multiple_inheritance; **************************************************************************/ #include #include "classes.h" +#include +bool is_python_keyword( char * word ); int isAggregateType( const Type t ); char * generate_attribute_name( Variable a, char * out ); void ATTRsign_access_methods( Variable a, FILE * file ); @@ -59,25 +61,18 @@ void ATTRprint_access_methods_put_head( const char * entnm, Variable a, FILE * f #define TRUE 1 #define FALSE 0 -static void initSelItems( const Type, FILE * ); - const char * SEL_ITEMget_enumtype( Type t ) { return StrToUpper( TYPEget_name( t ) ); } -/****************************************************************** - ** Procedure: TYPEget_utype - ** Parameters: Type t - ** Returns: type used to represent the underlying type in a select class - ** Description: - ** Side Effects: - ** Status: - ******************************************************************/ - -const char * -TYPEget_utype( Type t ) { +/** FIXME implement for python or remove + ** \returns type used to represent the underlying type in a select class + */ +const char * TYPEget_utype( Type t ) { + (void) t; /* unused */ + return NULL; } /******************* @@ -86,8 +81,8 @@ LISTmember determines if the given entity is a member of the list. RETURNS the member if it is a member; otherwise 0 is returned. *******************/ -Generic -LISTmember( const Linked_List list, Generic e ) { +void * +LISTmember( const Linked_List list, void *e ) { Link node; for( node = list->mark->next; node != list->mark; node = node->next ) if( e == node -> data ) { @@ -102,7 +97,7 @@ LISTmember( const Linked_List list, Generic e ) { Specialized function to catch if two enumerations, two selects, or two aggrs of either, are of the same type. The issue is that e.g. select B may be a rename of sel A (i.e., TYPE B = A;). Such renamed types are implemented by - fedex_plus with typedefs, so that they are in fact the same type. TYPEget_- + exp2python with typedefs, so that they are in fact the same type. TYPEget_- ctype() is used for most type comparisons and does not consider renamed types equivalent. This function is called in instances when they should be consi- dered equivalent. One such case is the generation of duplicate lists. @@ -151,7 +146,7 @@ compareOrigTypes( Type a, Type b ) { *******************/ const char * utype_member( const Linked_List list, const Type check, int rename ) { - static char r [BUFSIZ]; + static char r [BUFSIZ+1]; LISTdo( list, t, Type ) strncpy( r, TYPEget_utype( t ), BUFSIZ ); @@ -251,7 +246,7 @@ determines if the given "link's" C++ representation is used again in the list. *******************/ int duplicate_utype_member( const Linked_List list, const Type check ) { - char b [BUFSIZ]; + char b [BUFSIZ+1]; if( TYPEis_entity( check ) ) { return FALSE; @@ -398,7 +393,7 @@ non_unique_types_vector( const Type type, int * tvec ) { tvec[tnumber]++; break; default: - printf( "Error in %s, line %d: type %d not handled by switch statement.", __FILE__, __LINE__, TYPEget_body( t )->type ); + fprintf( stderr, "Error at %s:%d - type %d not handled by switch statement.", __FILE__, __LINE__, TYPEget_body( t )->type ); abort(); } LISTod; @@ -419,7 +414,7 @@ non_unique_types_string( const Type type ) { non_unique_types_vector( type, tvec ); /* build type string from vector */ - typestr = ( char * )malloc( BUFSIZ ); + typestr = ( char * )malloc( BUFSIZ+1 ); typestr[0] = '\0'; strcat( typestr, ( char * )"(" ); for( i = 0; i <= tnumber; i++ ) { @@ -480,8 +475,8 @@ non_unique_types_string( const Type type ) { Variable ATTR_LISTmember( Linked_List l, Variable check ) { - char nm [BUFSIZ]; - char cur [BUFSIZ]; + char nm [BUFSIZ+1]; + char cur [BUFSIZ+1]; generate_attribute_name( check, nm ); LISTdo( l, a, Variable ) @@ -516,7 +511,7 @@ SEL_TYPEgetnew_attribute_list( const Type type ) { if( TYPEis_entity( t ) ) { cur = ENT_TYPEget_entity( t ); attrs = ENTITYget_all_attributes( cur ); - LISTdo( attrs, a, Variable ) + LISTdo_n( attrs, a, Variable, b ) if( ! ATTR_LISTmember( newlist, a ) ) { LISTadd_first( newlist, a ); } @@ -526,48 +521,10 @@ SEL_TYPEgetnew_attribute_list( const Type type ) { return newlist; } -/******************* -TYPEselect_inc_print_vars prints the class 'definition', that is, the objects - and the constructor(s)/destructor for a select class. -********************/ -void -TYPEselect_inc_print_vars( const Type type, FILE * f, Linked_List dups ) { - -} - -/******************* -TYPEselect_inc_print prints the class member function declarations of a select -class. -*******************/ -void -TYPEselect_inc_print( const Type type, FILE * f ) { -} - - -/******************* -TYPEselect_lib_print_part_one prints constructor(s)/destructor of a select -class. -*******************/ -void -TYPEselect_lib_print_part_one( const Type type, FILE * f, Schema schema, - Linked_List dups, char * n ) { -} - -static void -initSelItems( const Type type, FILE * f ) -/* - * Creates initialization functions for the select items of a select. The - * selects must have their typedescriptors set properly. If a select is a - * renaming of another select ("TYPE selB = selA") its td would default to - * selA's, so it must be set specifically. - */ -{ -} Linked_List ENTITYget_expanded_entities( Entity e, Linked_List l ) { Linked_List supers; - int super_cnt = 0; Entity super; if( ! LISTmember( l, e ) ) { @@ -575,6 +532,7 @@ ENTITYget_expanded_entities( Entity e, Linked_List l ) { } if( multiple_inheritance ) { + int super_cnt = 0; supers = ENTITYget_supertypes( e ); LISTdo( supers, s, Entity ) /* ignore the more than one supertype @@ -609,103 +567,31 @@ SELget_entity_itemlist( const Type type ) { } -static int -memberOfEntPrimary( Entity ent, Variable uattr ) -/* - * Specialized function used in function TYPEselect_lib_print_part_three - * below. Calls a function to check if an attribute of an entity belongs - * to its primary path (is its own attr, that of its first super, that of - * its first super's first super etc), and does necessary housekeeping. - */ -{ - Linked_List attrlist = LISTcreate(); - int result; - - ENTITYget_first_attribs( ent, attrlist ); - result = ( LISTmember( attrlist, uattr ) != 0 ); - LIST_destroy( attrlist ); - return result; -} - -/******************* -TYPEselect_lib_print_part_three prints part 3) of the SDAI C++ binding for -a select class -- access functions for the data members of underlying entity -types. -*******************/ -void -TYPEselect_lib_print_part_three( const Type type, FILE * f, Schema schema, - char * classnm ) { -} - -/******************* -TYPEselect_lib_print_part_four prints part 4 of the SDAI document of a select -class. -*******************/ -void -TYPEselect_lib_print_part_four( const Type type, FILE * f, Schema schema, - Linked_List dups, char * n ) { -} - - -/******************* -TYPEselect_init_print prints the types that belong to the select type -*******************/ - -void -TYPEselect_init_print( const Type type, FILE * f, Schema schema ) { -#define schema_name SCHEMAget_name(schema) - LISTdo( SEL_TYPEget_items( type ), t, Type ) - - fprintf( f, "\t%s -> Elements ().AddNode", - TYPEtd_name( type ) ); - fprintf( f, " (%s);\n", - TYPEtd_name( t ) ); - LISTod; -#undef schema_name -} - -void -TYPEselect_lib_part21( const Type type, FILE * f, Schema schema ) { -} - - -void -TYPEselect_lib_StrToVal( const Type type, FILE * f, Schema schema ) { -} - -void -TYPEselect_lib_virtual( const Type type, FILE * f, Schema schema ) { - TYPEselect_lib_part21( type, f, schema ); - TYPEselect_lib_StrToVal( type, f, schema ); -} - -void -SELlib_print_protected( const Type type, FILE * f, const Schema schema ) { -} /******************* TYPEselect_lib_print prints the member functions (definitions) of a select class. *******************/ void -TYPEselect_lib_print( const Type type, FILE * f, Schema schema ) { +TYPEselect_lib_print( const Type type, FILE * f ) { int nbr_select = 0; int num = 0; fprintf( f, "# SELECT TYPE %s\n", TYPEget_name( type ) ); - // create the SELECT + /* create the SELECT */ if( is_python_keyword( TYPEget_name( type ) ) ) { fprintf( f, "%s_ = SELECT(", TYPEget_name( type ) ); } else { fprintf( f, "%s = SELECT(", TYPEget_name( type ) ); } - // first compute the number of types (necessary to insert commas) + /* first compute the number of types (necessary to insert commas) */ nbr_select = 0; LISTdo( SEL_TYPEget_items( type ), t, Type ) + (void) t; /* unused */ nbr_select++; LISTod; - // then write types + /* then write types */ num = 0; LISTdo( SEL_TYPEget_items( type ), t, Type ) if( is_python_keyword( TYPEget_name( t ) ) ) { @@ -721,9 +607,6 @@ TYPEselect_lib_print( const Type type, FILE * f, Schema schema ) { fprintf( f, ",\n\tscope = schema_scope)\n" ); } -void -TYPEselect_print( Type t, FILES * files, Schema schema ) { -} #undef BASE_SELECT diff --git a/src/exppp/CMakeLists.txt b/src/exppp/CMakeLists.txt index 2a8ce6af3..0eada170b 100644 --- a/src/exppp/CMakeLists.txt +++ b/src/exppp/CMakeLists.txt @@ -1,23 +1,57 @@ set(LIBEXPPP_SOURCES - exppp.c -) + exppp.c + pretty_alg.c + pretty_case.c + pretty_entity.c + pretty_expr.c + pretty_express.c + pretty_func.c + pretty_loop.c + pretty_proc.c + pretty_ref.c + pretty_rule.c + pretty_schema.c + pretty_scope.c + pretty_stmt.c + pretty_subtype.c + pretty_type.c + pretty_where.c + ) SET(EXPPP_SOURCES - ../express/fedex.c - exppp-main.c -) + ../express/fedex.c + exppp-main.c + ) include_directories( - ${SC_SOURCE_DIR}/include - ${SC_SOURCE_DIR}/include/exppp - ${SC_SOURCE_DIR}/src/base -) + ${SC_SOURCE_DIR}/include + ${SC_SOURCE_DIR}/include/exppp + ${SC_SOURCE_DIR}/src/express + ) -if(BORLAND) - add_definitions( -D__STDC__ ) +if(BUILD_SHARED_LIBS) + SC_ADDLIB(libexppp SHARED SOURCES ${LIBEXPPP_SOURCES} LINK_LIBRARIES express) + set_target_properties(libexppp PROPERTIES PREFIX "") + if(WIN32) + target_compile_definitions(libexppp PRIVATE SC_EXPPP_DLL_EXPORTS) + endif() endif() -SC_ADDLIB(libexppp "${LIBEXPPP_SOURCES}" "express;base") -set_target_properties(libexppp PROPERTIES PREFIX "") +if(BUILD_STATIC_LIBS) + SC_ADDLIB(libexppp-static STATIC SOURCES ${LIBEXPPP_SOURCES} LINK_LIBRARIES express-static) + set_target_properties(libexppp-static PROPERTIES PREFIX "") +endif() + +SC_ADDEXEC(exppp SOURCES ${EXPPP_SOURCES} LINK_LIBRARIES libexppp express) + +if(SC_ENABLE_TESTING) + add_subdirectory(test) +endif(SC_ENABLE_TESTING) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 -SC_ADDEXEC(exppp "${EXPPP_SOURCES}" "libexppp;express;base") diff --git a/src/exppp/exppp-main.c b/src/exppp/exppp-main.c index ff5198667..670dd7a88 100644 --- a/src/exppp/exppp-main.c +++ b/src/exppp/exppp-main.c @@ -3,20 +3,21 @@ #include "../express/express.h" #include "exppp.h" -static void -exppp_usage() { - fprintf( stderr, "usage: %s [-a|A] [-v] [-d #] [-p ] {-w|-i } express_file\n", EXPRESSprogram_name ); - fprintf( stderr, "where\t-a or -A causes output to be alphabetized\n" ); - fprintf( stderr, "where\t-v produces a version description\n" ); +static void exppp_usage( void ) { + char *warnings_help_msg = ERRORget_warnings_help("\t", "\n"); + fprintf( stderr, "usage: %s [-v] [-d #] [-p ] {-w|-i } [-l ] [-c] [-o [file|--]] express_file\n", EXPRESSprogram_name ); + fprintf( stderr, "\t-v produces a version description\n" ); + fprintf( stderr, "\t-l specifies line length hint for output\n" ); + fprintf( stderr, "\t-t enable tail comment for declarations - i.e. END_TYPE; -- axis2_placement\n" ); + fprintf( stderr, "\t-c for constants, print one item per line (YMMV!)\n" ); + fprintf( stderr, "\t-o specifies the name of the output file (-- for stdout)\n" ); fprintf( stderr, "\t-d turns on debugging (\"-d 0\" describes this further\n" ); fprintf( stderr, "\t-p turns on printing when processing certain objects (see below)\n" ); fprintf( stderr, "\t-w warning enable\n" ); fprintf( stderr, "\t-i warning ignore\n" ); fprintf( stderr, "and is one of:\n" ); fprintf( stderr, "\tnone\n\tall\n" ); - LISTdo( ERRORwarnings, opt, Error_Warning ) - fprintf( stderr, "\t%s\n", opt->name ); - LISTod + fprintf( stderr, "%s", warnings_help_msg); fprintf( stderr, "and is one or more of:\n" ); fprintf( stderr, " e entity\n" ); fprintf( stderr, " p procedure\n" ); @@ -30,17 +31,35 @@ exppp_usage() { } int Handle_Exppp_Args( int i, char * arg ) { - if( ( ( char )i == 'a' ) || ( ( char )i == 'A' ) ) { - exppp_alphabetize = true; - } else { - exppp_alphabetize = false; + if( tolower( ( char )i ) == 'o' ) { + if( !strcmp( "--", arg ) ) { + exppp_print_to_stdout = true; + return 0; + } + exppp_output_filename_reset = false; + exppp_output_filename = arg; + return 0; + } else if( tolower( ( char )i ) == 'l' ) { + if( ( strlen( arg ) > 5 ) || ( strlen( arg ) < 2 ) ) { + fprintf( stderr, "Unreasonable number of chars in arg for -l: %s\nTry 2-5 digits.", arg ); + return 1; + } + exppp_linelength = atoi( arg ); + return 0; + } else if( tolower( ( char )i ) == 'c' ) { + exppp_aggressively_wrap_consts = true; + return 0; + } else if( tolower( ( char )i ) == 't' ) { + exppp_tail_comment = true; + return 0; } - return 0; + return 1; } void EXPRESSinit_init( void ) { + exppp_alphabetize = true; EXPRESSbackend = EXPRESSout; ERRORusage_function = exppp_usage; - strcat( EXPRESSgetopt_options, "aA" ); + strcat( EXPRESSgetopt_options, "o:l:ct" ); EXPRESSgetopt = Handle_Exppp_Args; } diff --git a/src/exppp/exppp.c b/src/exppp/exppp.c index 120cd01b7..ff929e57d 100644 --- a/src/exppp/exppp.c +++ b/src/exppp/exppp.c @@ -1,31 +1,33 @@ -#include #include #include #include #include #include +#include +#include +#include -#include "../express/expbasic.h" -#include "../express/express.h" +#include +#include +#include "pp.h" #include "exppp.h" -#define EXPR_out(e,p) EXPR__out(e,p,OP_UNKNOWN) -#define EXPRop2_out(oe,string,paren,pad) \ - EXPRop2__out(oe,string,paren,pad,OP_UNKNOWN) -#define EXPRop_out(oe,paren) EXPRop__out(oe,paren,OP_UNKNOWN) +/* PP_SMALL_BUF_SZ is a macro used in a few places where const int causes + * "warning: ISO C90 forbids variable length array 'buf' [-Wvla]" + * + * The name was chosen to be unique to exppp, so it should not be defined + * already. Define it, use it, and undefine it so it can be set to another + * value elsewhere. + */ +#ifdef PP_SMALL_BUF_SZ +# error "PP_SMALL_BUF_SZ already defined" +#endif void ALGscope_out( Scope s, int level ); void ENTITYattrs_out( Linked_List attributes, int derived, int level ); void ENTITY_out( Entity e, int level ); void ENTITYinverse_out( Linked_List attrs, int level ); void ENTITYunique_out( Linked_List u, int level ); -void EXPRop__out( struct Op_Subexpression * oe, int paren, int previous_op ); -void EXPRop_string( char * buffer, struct Op_Subexpression * oe ); -void EXPRop1_out( struct Op_Subexpression * eo, char * opcode, int paren ); -void EXPRop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, int previous_op ); -void EXPR__out( Expression expr, int paren, int previous_op ); -void EXPRbounds_out( TypeBody tb ); -int EXPRlength( Expression e ); void FUNC_out( Function fn, int level ); void PROC_out( Procedure p, int level ); void REFout( Dictionary refdict, Linked_List reflist, char * type, int level ); @@ -42,74 +44,49 @@ void TYPE_head_out( Type t, int level ); void TYPE_body_out( Type t, int level ); void WHERE_out( Linked_List wheres, int level ); -static Error ERROR_select_empty; - -int exppp_nesting_indent = 2; /* default nesting indent */ -int exppp_continuation_indent = 4; /* default nesting indent for */ -/* continuation lines */ -int exppp_linelength = 75; /* leave some room for closing - * parens. '\n' is not included in this - * count either - */ -int indent2; /* where continuation lines start */ -int curpos; /* current line position (1 is first position) */ +Error ERROR_select_empty; -#define NOLEVEL -1 /* unused-level indicator */ +const int exppp_nesting_indent = 2; /* default nesting indent */ +const int exppp_continuation_indent = 4; /* default nesting indent for continuation lines */ +int exppp_linelength = 130; /* leave some room for closing parens. + * '\n' is not included in this count either */ +int indent2; /* where continuation lines start */ +int curpos; /* current line position (1 is first position) */ +const int NOLEVEL = -1; -char * exppp_output_filename = ( char * )0; /* if this is set, override */ -/* default output filename */ -char filename[1000]; /* output file name */ -Symbol error_sym; /* only used when printing errors */ -char * expheader[] = { - "(* This file was generated by exppp (an EXPRESS Pretty Printer)" , - "written at the National Institute of Standards and Technology" , - "by Don Libes, February 19, 1993." , - "" , - "WARNING: If you modify this file and want to save the changes," , - "delete this comment block or else the file will be rewritten" , - "the next time exppp processes this schema. *)" , - 0 -}; +Symbol error_sym; /* only used when printing errors */ -bool exppp_output_filename_reset; /* if true, force output filename */ - -bool exppp_alphabetize = false; +bool exppp_output_filename_reset = true; /* if true, force output filename */ +bool exppp_print_to_stdout = false; +bool exppp_alphabetize = true; +bool exppp_aggressively_wrap_consts = false; bool exppp_terse = false; +bool exppp_reference_info = false; /* if true, add commentary about where things came from */ +bool exppp_tail_comment = false; -bool exppp_reference_info = false; /* if true, add commentary */ -/* about where things came from */ - -bool exppp_preserve_comments = false; - -bool exppp_rmpp = true; -char rmfilename[] = "rmpp"; -FILE * rm; +FILE * exppp_fp = NULL; /* output file */ +char * exppp_buf = 0; /* output buffer */ +int exppp_maxbuflen = 0; /* size of expppbuf */ +unsigned int exppp_buflen = 0; /* remaining space in expppbuf */ +char * exppp_bufp = 0; /* pointer to write position in expppbuf, + * should usually be pointing to a "\0" */ -char * rmheader[] = { - "# This file was generated by exppp (an EXPRESS Pretty Printer)" , - "# written at the National Institute of Standards and Technology" , - "# by Don Libes, February 19, 1993." , - "" , - "# Run this script from the shell to remove any files created by" , - "# the last run of exppp." , - "" , - 0 -}; +/** used to print a comment containing the name of a structure at the + * end of the structure's declaration, if exppp_tail_comment (-t) is true + * + * prints a newline regardless + */ +void tail_comment( const char * name ) { + if( exppp_tail_comment ) { + raw( " -- %s", name ); + } + raw( "\n" ); +} -FILE * exppp_fp = NULL; /* output file */ -char * exppp_buf = 0; /* output buffer */ -int exppp_maxbuflen = 0; /* size of expppbuf */ -int exppp_buflen = 0; /* remaining space in expppbuf */ -char * exppp_bufp = 0; /* pointer to write position in expppbuf */ -/* should usually be pointing to a "\0" */ - -/* count newlines in a string */ -int -count_newlines( s ) -char * s; -{ +/** count newlines in a string */ +int count_newlines( char * s ) { int count = 0; for( ; *s; s++ ) { if( *s == '\n' ) { @@ -119,12 +96,14 @@ char * s; return count; } -void -exp_output( char * buf, int len ) { +/** true if last char through exp_output was a space */ +static bool printedSpaceLast = false; + +void exp_output( char * buf, unsigned int len ) { FILE * fp = ( exppp_fp ? exppp_fp : stdout ); error_sym.line += count_newlines( buf ); - + printedSpaceLast = ( *( buf + len - 1) == ' ' ); if( exppp_buf ) { /* output to string */ if( len > exppp_buflen ) { @@ -137,15 +116,18 @@ exp_output( char * buf, int len ) { exppp_buflen -= len; } else { /* output to file */ - fwrite( buf, 1, len, fp ); + size_t out = fwrite( buf, 1, len, fp ); + if( out != len ) { + const char * err = "%s:%u - ERROR: write operation on output file failed. Wanted %u bytes, wrote %u."; + fprintf( stderr, err, __FILE__, __LINE__, len, out ); + abort(); + } } } -void - -wrap( char * fmt, ... ) { - char * p; +void wrap( const char * fmt, ... ) { char buf[10000]; + char * p, * start = buf; int len; va_list args; @@ -155,12 +137,21 @@ wrap( char * fmt, ... ) { len = strlen( buf ); - /* 1st condition checks if string cant fit into current line */ - /* 2nd condition checks if string cant fit into any line */ - /* I.e., if we still can't fit after indenting, don't bother to */ - /* go to newline, just print a long line */ - if( ( ( curpos + len ) > exppp_linelength ) && - ( ( indent2 + len ) < exppp_linelength ) ) { + /* eliminate leading whitespace */ + while( ( *start == ' ' ) && ( ( printedSpaceLast ) || ( *( start + 1 ) == ' ' ) ) ){ + start++; + len--; + } + + /* 1st condition checks if string can't fit into current line + * 2nd condition checks if string can fit into any line + * I.e., if we still can't fit after indenting, don't bother to + * go to newline, just print a long line + * 3rd condition: if exppp_linelength == indent2 and curpos > indent2, always newline + * to use #3: temporarily change exppp_linelength; it doesn't make sense to change indent2 + */ + if( ( ( ( curpos + len ) > exppp_linelength ) && ( ( indent2 + len ) < exppp_linelength ) ) + || ( ( exppp_linelength == indent2 ) && ( curpos > indent2 ) ) ) { /* move to new continuation line */ char line[1000]; sprintf( line, "\n%*s", indent2, "" ); @@ -169,20 +160,24 @@ wrap( char * fmt, ... ) { curpos = indent2; /* reset current position */ } - exp_output( buf, len ); + /* eliminate leading whitespace - again */ + while( ( *start == ' ' ) && ( ( printedSpaceLast ) || ( *( start + 1 ) == ' ' ) ) ){ + start++; + len--; + } + exp_output( start, len ); if( len ) { /* reset cur position based on last newline seen */ - if( 0 == ( p = strrchr( buf, '\n' ) ) ) { + if( 0 == ( p = strrchr( start, '\n' ) ) ) { curpos += len; } else { - curpos = len + buf - p; + curpos = len + start - p; } } } -void -raw( char * fmt, ... ) { +void raw( const char * fmt, ... ) { char * p; char buf[10000]; int len; @@ -206,70 +201,29 @@ raw( char * fmt, ... ) { } } -void -exppp_init() { +void exppp_init() { static bool first_time = true; if( !first_time ) { return; } first_time = false; - - ERROR_select_empty = ERRORcreate( - "select type %s has no members", SEVERITY_ERROR ); } -void -EXPRESSout( Express e ) { - Schema s; - DictionaryEntry de; - char ** hp; - - exppp_init(); - - if( exppp_rmpp ) { - if( !( rm = fopen( rmfilename, "w" ) ) ) { - ERRORreport( ERROR_file_unwriteable, rmfilename, strerror( errno ) ); - return; - } - - for( hp = rmheader; *hp; hp++ ) { - fprintf( rm, "%s\n", *hp ); - } - fprintf( rm, "rm -f" ); - } - - DICTdo_init( e->symbol_table, &de ); - while( 0 != ( s = ( Schema )DICTdo( &de ) ) ) { - ( void ) SCHEMAout( s ); - } - - if( exppp_rmpp ) { - fprintf( rm, " %s\n", rmfilename ); - - /* owner+group executable, readable to world */ - if( 0 != chmod( rmfilename, 0774 ) ) { - fprintf( stderr, "%s: could not mark %s executable (%s)\n", - EXPRESSprogram_name, rmfilename, strerror( errno ) ); - return; - } - } -} -void -exppp_ref_info( Symbol * s ) { +void exppp_ref_info( Symbol * s ) { if( exppp_reference_info ) { raw( "--info %s %s %d\n", s->name, s->filename, s->line ); } } -/* normally all non-schema objects start out by printing a newline */ -/* however, this is undesirable when printing out single objects */ -/* use this variable to avoid it */ -static bool first_line = true; /* if first line */ +/** normally all non-schema objects start out by printing a newline + * however, this is undesirable when printing out single objects + * use this variable to avoid it + */ +bool first_line = true; /* if first line */ -static void -first_newline() { +void first_newline() { if( first_line ) { first_line = false; } else { @@ -277,2069 +231,258 @@ first_newline() { } } -char * /* returns name of file written to in static storage */ -SCHEMAout( Schema s ) { -#define BUFSIZE 80 - char buf[BUFSIZE]; - char * p; - FILE * f; - int level = 0; - char ** hp; - bool described = false; - - if( exppp_output_filename_reset ) { - exppp_output_filename = 0; - } - - if( exppp_output_filename ) { - strcpy( filename, exppp_output_filename ); +int minimum( int a, int b, int c ) { + if( a < b ) { + return ( ( a < c ) ? a : c ); } else { - /* when there is only a single file, allow user to find */ - /* out what it is */ - exppp_output_filename = filename; - exppp_output_filename_reset = true; - - /* since we have to generate a filename, make sure we don't */ - /* overwrite a valuable file */ - - sprintf( filename, "%s.exp", s->symbol.name ); - - if( 0 != ( f = fopen( filename, "r" ) ) ) { - fgets( buf, BUFSIZE, f ); - if( 0 != ( p = strchr( buf, '\n' ) ) ) { - *p = '\0'; - } - if( streq( buf, expheader[0] ) ) { - unlink( filename ); - } else { - fprintf( stderr, "%s: %s already exists and appears to be hand-written\n", - EXPRESSprogram_name, filename ); - /* strcat(bp,".pp");*/ - strcat( filename, ".pp" ); - fprintf( stderr, "%s: writing schema file %s instead\n", - EXPRESSprogram_name, filename ); - described = true; - } - } - if( f ) { - fclose( f ); - } - } - error_sym.filename = filename; - - if( !described && !exppp_terse ) { - fprintf( stdout, "%s: writing schema file %s\n", EXPRESSprogram_name, filename ); - } - if( !( exppp_fp = f = fopen( filename, "w" ) ) ) { - ERRORreport( ERROR_file_unwriteable, filename, strerror( errno ) ); - return 0; - } - - if( exppp_rmpp && rm ) { - fprintf( rm, " %s", filename ); - } - - error_sym.line = 1; - for( hp = expheader; *hp; hp++ ) { - raw( "%s\n", *hp ); - } - - /* first_newline();*/ - /* raw("SCHEMA %s;\n",s->symbol.name);*/ - - first_line = false; - raw( "\nSCHEMA %s;\n", s->symbol.name ); - - if( s->u.schema->usedict || s->u.schema->use_schemas - || s->u.schema->refdict || s->u.schema->ref_schemas ) { - raw( "\n" ); + return ( ( b < c ) ? b : c ); } - - REFout( s->u.schema->usedict, s->u.schema->use_schemas, "USE", level + exppp_nesting_indent ); - REFout( s->u.schema->refdict, s->u.schema->ref_schemas, "REFERENCE", level + exppp_nesting_indent ); - - SCOPEconsts_out( s, level + exppp_nesting_indent ); - SCOPEtypes_out( s, level + exppp_nesting_indent ); - SCOPEentities_out( s, level + exppp_nesting_indent ); - SCOPEalgs_out( s, level + exppp_nesting_indent ); - - raw( "\nEND_SCHEMA; -- %s\n", s->symbol.name ); - - fclose( exppp_fp ); - - return filename; } -void -REFout( Dictionary refdict, Linked_List reflist, char * type, int level ) { - Dictionary dict; - DictionaryEntry de; - struct Rename * r; - Linked_List list; - - LISTdo( reflist, s, Schema ) - raw( "%s FROM %s;\n", type, s->symbol.name ); - LISTod - - if( !refdict ) { - return; - } - dict = DICTcreate( 10 ); - - /* sort each list by schema */ - - /* step 1: for each entry, store it in a schema-specific list */ - DICTdo_init( refdict, &de ); - while( 0 != ( r = ( struct Rename * )DICTdo( &de ) ) ) { - Linked_List list; - - list = ( Linked_List )DICTlookup( dict, r->schema->symbol.name ); - if( !list ) { - list = LISTcreate(); - DICTdefine( dict, r->schema->symbol.name, ( Generic ) list, - ( Symbol * )0, OBJ_UNKNOWN ); - } - LISTadd( list, ( Generic ) r ); - } - - /* step 2: for each list, print out the renames */ - level = 6; /* no special reason, feels good */ - indent2 = level + exppp_continuation_indent; - DICTdo_init( dict, &de ); - while( 0 != ( list = ( Linked_List )DICTdo( &de ) ) ) { - bool first_time = true; - LISTdo( list, r, struct Rename * ) - if( first_time ) { - raw( "%s FROM %s\n", type, r->schema->symbol.name ); - } else { - /* finish previous line */ - raw( ",\n" ); - } - - if( first_time ) { - raw( "%*s(", level, "" ); - first_time = false; - } else { - raw( "%*s ", level, "" ); +/** convert a real into our preferred form compatible with 10303-11 + * (i.e. decimal point is required; no trailing zeros) + * uses a static buffer, so NOT thread safe + * \param r the real to convert + * \returns const char pointer to static buffer containing ascii representation of real + */ +const char * real2exp( double r ) { + #define PP_SMALL_BUF_SZ 80 + static char result[PP_SMALL_BUF_SZ] = { 0 }; + char * pos = result, * lcNumeric = setlocale( LC_NUMERIC, NULL ); + + /* the following ensures that PP_SMALL_BUF_SZ is at least + * as big as the largest possible string: + * max number of decimal digits a double can represent + * + max number of exponent digits + '.' + 'E' + NULL + * start at 2 to include '-' and last digit + * + * the number of digits in the mantissa is DBL_DIG + * exponentDigits must be calculated from DBL_MAX_10_EXP + * + * I (MP) expect this check to always succeed on + * non-exotic platforms. + */ + unsigned int exponentDigits = 2, expMax = DBL_MAX_10_EXP; + while( expMax >= 10 ) { + exponentDigits++; + expMax /= 10; + } + if( !( ( DBL_DIG + exponentDigits + 3 ) < PP_SMALL_BUF_SZ ) ) { + fprintf( stderr, "ERROR: buffer undersized at %s:%d\n", __FILE__, __LINE__ ); + abort(); + } + + if( strcmp( "C", lcNumeric ) ) { + fprintf( stderr, "WARNING: locale has been set to \"%s\", not \"C\" %s", lcNumeric, + "(are you calling exppp from Qt?). Incorrect formatting is possible.\n" ); + setlocale( LC_NUMERIC, "C" ); + } + snprintf( result, PP_SMALL_BUF_SZ, "%#.*g", DBL_DIG, r ); + + /* eliminate trailing zeros in the mantissa */ + assert( strlen( result ) < PP_SMALL_BUF_SZ - 1 ); + while( ( *pos != '.' ) && ( *pos != '\0' ) ) { + /* search for '.' */ + pos++; + } + if( *pos != '\0' ) { + char * firstUnnecessaryDigit = NULL; /* this will be the first zero of the trailing zeros in the mantissa */ + pos++; + while( isdigit( *pos ) ) { + if( ( *pos == '0' ) && ( firstUnnecessaryDigit == NULL ) ) { + firstUnnecessaryDigit = pos; + } else if( *pos != '0' ) { + firstUnnecessaryDigit = NULL; + } + pos++; } - raw( r->old->name ); - if( r->old != r->nnew ) { - wrap( " AS %s", r->nnew->name ); + if( ( firstUnnecessaryDigit != NULL ) && ( firstUnnecessaryDigit < pos ) ) { + if( ( *( firstUnnecessaryDigit - 1 ) == '.' ) && ( *pos == '\0' ) ) { + /* no exponent, nothing after decimal point - remove decimal point */ + *( firstUnnecessaryDigit - 1 ) = '\0'; + } else { + /* copy exponent (or \0) immediately after the decimal point */ + memmove( firstUnnecessaryDigit, pos, strlen( pos ) + 1 ); + } } - LISTod - raw( ");\n" ); } - HASHdestroy( dict ); + assert( strlen( result ) < PP_SMALL_BUF_SZ - 1 ); + return result; + #undef PP_SMALL_BUF_SZ } -void -ALGscope_out( Scope s, int level ) { - SCOPEtypes_out( s, level ); - SCOPEentities_out( s, level ); - SCOPEalgs_out( s, level ); - - SCOPEconsts_out( s, level ); - SCOPElocals_out( s, level ); -} - -void -SCOPEadd_inorder( Linked_List list, Scope s ) { - Link k = 0; - - LISTdo_links( list, link ) - if( 0 > strcmp( - SCOPEget_name( s ), - SCOPEget_name( ( Type )( link->data ) ) ) ) { - k = link; - break; +/** Find next '.' in null-terminated string, return number of chars + * If no '.' found, returns length of string + */ +int nextBreakpoint( const char * pos, const char * end ) { + int i = 0; + while( ( *pos != '.' ) && ( *pos != '\0' ) && ( pos < end ) ) { + i++; + pos++; } - LISTod - - LISTadd_before( list, k, ( Generic )s ); -} - -/* print the rules in a scope */ -void -SCOPErules_out( Scope s, int level ) { - Rule r; - DictionaryEntry de; - - if( exppp_alphabetize == false ) { - DICTdo_type_init( s->symbol_table, &de, OBJ_RULE ); - while( 0 != ( r = ( Rule )DICTdo( &de ) ) ) { - RULE_out( r, level ); - } - } else { - Linked_List alpha = LISTcreate(); - - DICTdo_type_init( s->symbol_table, &de, OBJ_RULE ); - while( 0 != ( r = ( Rule )DICTdo( &de ) ) ) { - SCOPEadd_inorder( alpha, r ); - } - - LISTdo( alpha, r, Rule ) - RULE_out( r, level ); - LISTod - - LISTfree( alpha ); + if( *pos == '.' ) { + i++; } - + return i; } -/* print the functions in a scope */ -void -SCOPEfuncs_out( Scope s, int level ) { - Function f; - DictionaryEntry de; - - if( exppp_alphabetize == false ) { - DICTdo_type_init( s->symbol_table, &de, OBJ_FUNCTION ); - while( 0 != ( f = ( Function )DICTdo( &de ) ) ) { - FUNC_out( f, level ); - } - } else { - Linked_List alpha = LISTcreate(); - - DICTdo_type_init( s->symbol_table, &de, OBJ_FUNCTION ); - while( 0 != ( f = ( Function )DICTdo( &de ) ) ) { - SCOPEadd_inorder( alpha, f ); - } - - LISTdo( alpha, f, Function ) - FUNC_out( f, level ); - LISTod - - LISTfree( alpha ); +/** true if it makes sense to break before printing next part of the string */ +bool shouldBreak( int len ) { + if( ( curpos > indent2 ) && + ( ( curpos + len ) > exppp_linelength ) ) { + return true; } - + return false; } -/* print the procs in a scope */ -void -SCOPEprocs_out( Scope s, int level ) { - Procedure p; - DictionaryEntry de; - - if( exppp_alphabetize == false ) { - DICTdo_type_init( s->symbol_table, &de, OBJ_PROCEDURE ); - while( 0 != ( p = ( Procedure )DICTdo( &de ) ) ) { - PROC_out( p, level ); - } - } else { - Linked_List alpha = LISTcreate(); - - DICTdo_type_init( s->symbol_table, &de, OBJ_PROCEDURE ); - while( 0 != ( p = ( Procedure )DICTdo( &de ) ) ) { - SCOPEadd_inorder( alpha, p ); - } - - LISTdo( alpha, p, Procedure ) - PROC_out( p, level ); - LISTod - - LISTfree( alpha ); +/** Insert newline if it makes sense. */ +void maybeBreak( int len, bool first ) { + if( shouldBreak( len ) ) { + if( first ) { + raw( "\n%*s'", indent2, "" ); + } else { + raw( "'\n%*s+ '", indent2, "" ); + } + } else if( first ) { + /* staying on same line */ + raw( "%s", ( printedSpaceLast ? "'": " '" ) ); + } +} + +/** Break a long un-encoded string up for output and enclose in '' + * if short, enclose in '' but don't insert line breaks + * \param in the input string + * + * side effects: output via raw() + * reads globals indent2 and curpos + */ +void breakLongStr( const char * in ) { + const char * iptr = in, * end; + unsigned int inlen = strlen( in ); + bool first = true; + /* used to ensure that we don't overrun the input buffer */ + end = in + inlen; + + if( ( inlen == 0 ) || ( ( ( int ) inlen + curpos ) < exppp_linelength ) ) { + /* short enough to fit on current line */ + raw( "%s'%s'", ( printedSpaceLast ? "": " " ), in ); + return; } -} - -/* print the algorithms in a scope */ -void -SCOPEalgs_out( Scope s, int level ) { - /* Supplementary Directivies 2.1.1 requires rules to be separated */ - /* might as well separate funcs and procs, too */ - SCOPErules_out( s, level ); - SCOPEfuncs_out( s, level ); - SCOPEprocs_out( s, level ); -} - -static int -minimum( int a, int b, int c ) { - if( a < b ) { - return ( ( a < c ) ? a : c ); - } else { - return ( ( b < c ) ? b : c ); + /* insert newlines at dots as necessary */ + while( ( iptr < end ) && ( *iptr ) ) { + int i = nextBreakpoint( iptr, end ); + maybeBreak( i, first ); + first = false; + raw( "%.*s", i, iptr ); + iptr += i; } + raw( "' "); } -static void copy_file_chunk( char * filename, int start, int end, int level ) { - FILE * infile; - char buff[256]; - int i, indent, undent = 0, fix; - - if( !( infile = fopen( filename, "r" ) ) ) { - ERRORreport( ERROR_file_unreadable, filename, strerror( errno ) ); - } +/* Interfacing Definitions */ - /* skip to start of chunk */ - for( i = start; --i; ) { - fgets( buff, 255, infile ); - } +#define BIGBUFSIZ 100000 +static int old_curpos; +static int old_lineno; +static bool string_func_in_use = false; +static bool file_func_in_use = false; - /* copy first line and compute indentation correction factor */ - fgets( buff, 255, infile ); - indent = level - strspn( buff, " " ); - if( indent < 0 ) { - undent = -indent; - indent = 0; - } - raw( "%*s%s", indent, "", buff + undent ); - indent = indent - undent; - - /* copy the rest */ - for( i = end - start; i--; ) { - fgets( buff, 255, infile ); - fix = minimum( undent, strlen( buff ), strspn( buff, " " ) ); - raw( "%*s%s", indent + fix, "", buff + fix ); +/** return 0 if successful */ +int prep_buffer( char * buf, int len ) { + /* this should never happen */ + if( string_func_in_use ) { + fprintf( stderr, "cannot generate EXPRESS string representations recursively!\n" ); + return 1; } + string_func_in_use = true; - fclose( infile ); -} - -void -RULE_out( Rule r, int level ) { - int i = 0; - - first_newline(); - exppp_ref_info( &r->symbol ); - - if( exppp_preserve_comments == false ) { - raw( "%*sRULE %s FOR (", level, "", r->symbol.name ); + exppp_buf = exppp_bufp = buf; + exppp_buflen = exppp_maxbuflen = len; - LISTdo( r->u.rule->parameters, p, Variable ) - i++; - if( i != 1 ) { - raw( ", " ); - } - wrap( p->name->symbol.name ); - LISTod; - raw( ");\n" ); + *exppp_bufp = '\0'; + old_curpos = curpos; + curpos = 1; + old_lineno = 1; - ALGscope_out( r, level + exppp_nesting_indent ); - STMTlist_out( r->u.rule->body, level + exppp_nesting_indent ); - raw( "\n" ); - WHERE_out( RULEget_where( r ), level ); + first_line = true; - raw( "\n%*sEND_RULE; -- %s\n", level, "", r->symbol.name ); - } else { - copy_file_chunk( r->symbol.filename, r->u.rule->text.start, - r->u.rule->text.end, level ); - } + return 0; } -/* last arg is not terminated with ; or \n */ -void -ALGargs_out( Linked_List args, int level ) { - Type previoustype = 0; - indent2 = level + exppp_continuation_indent; - - /* combine adjacent parameters that have the same type */ - - LISTdo( args, v, Variable ) - if( previoustype != v->type ) { - if( previoustype ) { - wrap( ":" ); - TYPE_head_out( previoustype, NOLEVEL ); - raw( ";\n" ); - } - raw( "%*s", level, "" ); - EXPR_out( VARget_name( v ), 0 ); - } else { - raw( ", " ); - EXPR_out( VARget_name( v ), 0 ); - } - previoustype = v->type; - LISTod - - wrap( ":" ); - TYPE_head_out( previoustype, NOLEVEL ); +/** \return length of string */ +int finish_buffer() { + exppp_buf = 0; + curpos = old_curpos; + error_sym.line = old_lineno; + string_func_in_use = false; + return 1 + exppp_maxbuflen - exppp_buflen; } -void -FUNC_out( Function fn, int level ) { - if( fn->u.func->builtin ) { - return; +/** \return 0 if successful */ +int prep_string() { + /* this should never happen */ + if( string_func_in_use ) { + fprintf( stderr, "cannot generate EXPRESS string representations recursively!\n" ); + return 1; } + string_func_in_use = true; - first_newline(); - exppp_ref_info( &fn->symbol ); - - if( exppp_preserve_comments == false ) { - raw( "%*sFUNCTION %s", level, "", fn->symbol.name ); - - if( fn->u.func->parameters ) { - raw( "(\n" ); - ALGargs_out( fn->u.func->parameters, - level + strlen( "FUNCTION " ) ); - raw( "\n%*s)", level + exppp_continuation_indent, "" ); - } - raw( ":" ); - - indent2 = curpos + exppp_continuation_indent; - TYPE_head_out( fn->u.func->return_type, NOLEVEL ); - raw( ";\n" ); - - ALGscope_out( fn, level + exppp_nesting_indent ); - STMTlist_out( fn->u.proc->body, level + exppp_nesting_indent ); - - raw( "\n%*sEND_FUNCTION; -- %s\n", level, "", fn->symbol.name ); - } else { - copy_file_chunk( fn->symbol.filename, fn->u.func->text.start, - fn->u.func->text.end, level ); - } -} -void -PROC_out( Procedure p, int level ) { - if( p->u.proc->builtin ) { - return; + exppp_buf = exppp_bufp = ( char * )malloc( BIGBUFSIZ + 1 ); + if( !exppp_buf ) { + fprintf( stderr, "failed to allocate exppp buffer\n" ); + return 1; } + exppp_buflen = exppp_maxbuflen = BIGBUFSIZ; - first_newline(); - exppp_ref_info( &p->symbol ); - - if( exppp_preserve_comments == false ) { - raw( "%*sPROCEDURE %s(\n", level, "", p->symbol.name ); - - ALGargs_out( p->u.proc->parameters, level + strlen( "PROCEDURE " ) ); - - raw( "%*s);\n", level + exppp_nesting_indent, "" ); + *exppp_bufp = '\0'; + old_curpos = curpos; + old_lineno = error_sym.line; + curpos = 1; - ALGscope_out( p, level + exppp_nesting_indent ); - STMTlist_out( p->u.proc->body, level + exppp_nesting_indent ); + first_line = true; - raw( "\n%*sEND_PROCEDURE; -- %s\n", level, "", p->symbol.name ); - } else { - copy_file_chunk( p->symbol.filename, p->u.proc->text.start, - p->u.proc->text.end, level ); - } + return 0; } -void -SCOPEconsts_out( Scope s, int level ) { - Variable v; - DictionaryEntry de; - size_t max_indent = 0; - Dictionary d = s->symbol_table; - - DICTdo_type_init( d, &de, OBJ_VARIABLE ); - while( 0 != ( v = ( Variable )DICTdo( &de ) ) ) { - if( !v->flags.constant ) { - continue; - } - if( strlen( v->name->symbol.name ) > max_indent ) { - max_indent = strlen( v->name->symbol.name ); - } - } - - if( !max_indent ) { - return; - } - - first_newline(); - - raw( "%*sCONSTANT\n", level, "" ); - - indent2 = level + max_indent + strlen( ": " ) + exppp_continuation_indent; - - DICTdo_type_init( d, &de, OBJ_VARIABLE ); - while( 0 != ( v = ( Variable )DICTdo( &de ) ) ) { - if( !v->flags.constant ) { - continue; - } - - /* print attribute name */ - raw( "%*s%-*s :", level, "", - max_indent, v->name->symbol.name ); - - /* print attribute type */ - if( VARget_optional( v ) ) { - wrap( " OPTIONAL" ); - } - TYPE_head_out( v->type, NOLEVEL ); - - if( v->initializer ) { - wrap( " := " ); - EXPR_out( v->initializer, 0 ); - } +char * finish_string() { + char * b = ( char * )realloc( exppp_buf, 1 + exppp_maxbuflen - exppp_buflen ); - raw( ";\n" ); + if( b == 0 ) { + fprintf( stderr, "failed to reallocate exppp buffer\n" ); + return 0; } + exppp_buf = 0; + curpos = old_curpos; + error_sym.line = old_lineno; - raw( "%*sEND_CONSTANT;\n", level, "" ); + string_func_in_use = false; + return b; } -void -SCOPElocals_out( Scope s, int level ) { - Variable v; - DictionaryEntry de; - size_t max_indent = 0; - Dictionary d = s->symbol_table; - - DICTdo_type_init( d, &de, OBJ_VARIABLE ); - while( 0 != ( v = ( Variable )DICTdo( &de ) ) ) { - if( v->flags.constant ) { - continue; - } - if( v->flags.parameter ) { - continue; - } - if( strlen( v->name->symbol.name ) > max_indent ) { - max_indent = strlen( v->name->symbol.name ); - } - } +static FILE * oldfp; - if( !max_indent ) { - return; +void prep_file() { + /* this can only happen if user calls output func while suspended */ + /* inside another output func both called from debugger */ + if( file_func_in_use ) { + fprintf( stderr, "cannot print EXPRESS representations recursively!\n" ); } + file_func_in_use = true; - first_newline(); - - raw( "%*sLOCAL\n", level, "" ); - indent2 = level + max_indent + strlen( ": " ) + exppp_continuation_indent; - - DICTdo_type_init( d, &de, OBJ_VARIABLE ); - while( 0 != ( v = ( Variable )DICTdo( &de ) ) ) { - if( v->flags.constant ) { - continue; - } - if( v->flags.parameter ) { - continue; - } - - /* print attribute name */ - raw( "%*s%-*s :", level + exppp_nesting_indent, "", - max_indent, v->name->symbol.name ); - - /* print attribute type */ - if( VARget_optional( v ) ) { - wrap( " OPTIONAL" ); - } - TYPE_head_out( v->type, NOLEVEL ); - - if( v->initializer ) { - wrap( " := " ); - EXPR_out( v->initializer, 0 ); - } - - raw( ";\n" ); - } + /* temporarily change file to stdout and print */ + /* This avoids messing up any printing in progress */ + oldfp = exppp_fp ? exppp_fp : stdout; + exppp_fp = stdout; + curpos = 1; +} - raw( "%*sEND_LOCAL;\n", level, "" ); +void finish_file() { + exppp_fp = oldfp; /* reset back to original file */ + file_func_in_use = false; } -void LOOPout( struct Loop_ *loop, int level ) { - Variable v; +char * placeholder = "placeholder"; - raw( "%*sREPEAT", level, "" ); - /* increment */ - /* if (loop->scope->u.incr) {*/ - if( loop->scope ) { - DictionaryEntry de; - DICTdo_init( loop->scope->symbol_table, &de ); - v = ( Variable )DICTdo( &de ); - wrap( " %s := ", v->name->symbol.name ); - EXPR_out( loop->scope->u.incr->init, 0 ); - wrap( " TO " ); - EXPR_out( loop->scope->u.incr->end, 0 ); - wrap( " BY " ); /* parser always forces a "by" expr */ - EXPR_out( loop->scope->u.incr->increment, 0 ); - } - - /* while */ - if( loop->while_expr ) { - wrap( " WHILE " ); - EXPR_out( loop->while_expr, 0 ); - } - - /* until */ - if( loop->until_expr ) { - wrap( " UNTIL " ); - EXPR_out( loop->until_expr, 0 ); - } - - raw( ";\n" ); - - STMTlist_out( loop->statements, level + exppp_nesting_indent ); - - raw( "%*sEND_REPEAT;\n", level, "" ); -} - -void -CASEout( struct Case_Statement_ *c, int level ) { - int len = 0; - int max_indent; - - raw( "%*sCASE ", level, "" ); - EXPR_out( c->selector, 0 ); - wrap( " OF\n" ); - - /* pass 1: calculate length of longest label */ - max_indent = 0; - LISTdo( c->cases, ci, Case_Item ) - if( ci->labels ) { - LISTdo( ci->labels, label, Expression ) - len = EXPRlength( label ); - LISTod - } else { - len = strlen( "OTHERWISE" ); - } - if( len > max_indent ) { - max_indent = len; - } - LISTod - - level += exppp_nesting_indent; - - /* pass 2: print them */ - LISTdo( c->cases, ci, Case_Item ) - if( ci->labels ) { - LISTdo( ci->labels, label, Expression ) - /* print label(s) */ - indent2 = level + exppp_continuation_indent; - raw( "%*s", level, "" ); - EXPR_out( label, 0 ); - raw( "%*s : ", level + max_indent - curpos, "" ); - - /* print action */ - STMT_out( ci->action, level + exppp_nesting_indent ); - LISTod - } else { - /* print OTHERWISE */ - indent2 = level + exppp_continuation_indent; - raw( "%*s", level, "" ); - raw( "OTHERWISE" ); - raw( "%*s : ", level + max_indent - curpos, "" ); - - /* print action */ - STMT_out( ci->action, level + exppp_nesting_indent ); - } - LISTod - - raw( "%*sEND_CASE;\n", level, "" ); -} - -void -STMT_out( Statement s, int level ) { - bool first_time = true; - - if( !s ) { /* null statement */ - raw( "%*s;\n", level, "" ); - return; - } - - indent2 = level + exppp_continuation_indent; - - switch( s->type ) { - case STMT_ASSIGN: - raw( "%*s", level, "" ); - EXPR_out( s->u.assign->lhs, 0 ); - wrap( " := " ); - EXPR_out( s->u.assign->rhs, 0 ); - raw( ";\n", level, "" ); - break; - case STMT_CASE: - CASEout( s->u.Case, level ); - break; - case STMT_COMPOUND: - raw( "%*sBEGIN\n", level, "" ); - STMTlist_out( s->u.compound->statements, level + exppp_nesting_indent ); - raw( "%*sEND;\n", level, "" ); - break; - case STMT_COND: - raw( "%*sIF ", level, "" ); - EXPR_out( s->u.cond->test, 0 ); - wrap( " THEN\n" ); - STMTlist_out( s->u.cond->code, level + exppp_nesting_indent ); - if( s->u.cond->otherwise ) { - raw( "%*sELSE\n", level, "" ); - STMTlist_out( s->u.cond->otherwise, level + exppp_nesting_indent ); - } - raw( "%*sEND_IF;\n", level, "" ); - break; - case STMT_LOOP: - LOOPout( s->u.loop, level ); - break; - case STMT_PCALL: - raw( "%*s%s(", level, "", s->symbol.name ); - LISTdo( s->u.proc->parameters, p, Expression ) - if( first_time ) { - first_time = false; - } else { - raw( "," ); - } - EXPR_out( p, 0 ); - LISTod - raw( ");\n" ); - break; - case STMT_RETURN: - raw( "%*sRETURN", level, "" ); - if( s->u.ret->value ) { - wrap( "(" ); - EXPR_out( s->u.ret->value, 0 ); - raw( ")" ); - } - raw( ";\n" ); - break; - case STMT_ALIAS: - raw( "%*sALIAS %s for %s;\n", level, "", s->symbol.name, - /* should be generalized reference */ - s->u.alias->variable->name->symbol.name ); - STMTlist_out( s->u.alias->statements, level + exppp_nesting_indent ); - raw( "%*sEND_ALIAS; -- %s\n", level, "", s->symbol.name ); - break; - case STMT_SKIP: - raw( "%*sSKIP;\n", level, "" ); - break; - case STMT_ESCAPE: - raw( "%*sESCAPE;\n", level, "" ); - break; - } -} - -void -STMTlist_out( Linked_List stmts, int level ) { - LISTdo( stmts, stmt, Statement ) - STMT_out( stmt, level ); - LISTod -} - -/* print all entities in a scope */ -void -SCOPEentities_out( Scope s, int level ) { - Entity e; - DictionaryEntry de; - - if( exppp_alphabetize == false ) { - DICTdo_type_init( s->symbol_table, &de, OBJ_ENTITY ); - while( 0 != ( e = ( Entity )DICTdo( &de ) ) ) { - ENTITY_out( e, level ); - } - } else { - Linked_List alpha = LISTcreate(); - - DICTdo_type_init( s->symbol_table, &de, OBJ_ENTITY ); - while( 0 != ( e = ( Entity )DICTdo( &de ) ) ) { - SCOPEadd_inorder( alpha, e ); - } - - LISTdo( alpha, e, Entity ) - ENTITY_out( e, level ); - LISTod - - LISTfree( alpha ); - } -} - -void -SUBTYPEout( Expression e ) { - /* language insists on having parens around entity names */ - /* even if there is only one, but if the expression is */ - /* complex, EXPRout will add on its own parens */ - /* if (TYPEis_expression(e->type)) {*/ - raw( "(" ); - /* }*/ - - EXPR_out( e, 0 ); - - /* if (TYPEis_expression(e->type)) {*/ - raw( ")" ); - /* }*/ -} - -#define EXPLICIT 0 -#define DERIVED 1 - -void -ENTITY_out( Entity e, int level ) { - bool first_time = true; - - first_newline(); - exppp_ref_info( &e->symbol ); - - raw( "%*sENTITY %s", level, "", e->symbol.name ); - - level += exppp_nesting_indent; - indent2 = level + exppp_continuation_indent; - - if( ENTITYget_abstract( e ) ) { - if( e->u.entity->subtype_expression ) { - raw( "\n%*sABSTRACT SUPERTYPE OF ", level, "" ); - SUBTYPEout( e->u.entity->subtype_expression ); - } else { - raw( "\n%*sABSTRACT SUPERTYPE", level, "" ); - } - } else { - if( e->u.entity->subtype_expression ) { - raw( "\n%*sSUPERTYPE OF ", level, "" ); - SUBTYPEout( e->u.entity->subtype_expression ); - } - } - - if( e->u.entity->supertype_symbols ) { - raw( "\n%*sSUBTYPE OF (", level, "" ); - - LISTdo( e->u.entity->supertype_symbols, s, Symbol * ) - if( first_time ) { - first_time = false; - } else { - raw( ", " ); - } - wrap( s->name ); - LISTod - raw( ")" ); - } - - raw( ";\n" ); - -#if 0 - /* add a little more space before entities if sub or super appears */ - if( e->u.entity->supertype_symbols || e->u.entity->subtype_expression ) { - raw( "\n" ); - } -#endif - - ENTITYattrs_out( e->u.entity->attributes, EXPLICIT, level ); - ENTITYattrs_out( e->u.entity->attributes, DERIVED, level ); - ENTITYinverse_out( e->u.entity->attributes, level ); - ENTITYunique_out( e->u.entity->unique, level ); - WHERE_out( TYPEget_where( e ), level ); - - level -= exppp_nesting_indent; - raw( "%*sEND_ENTITY; -- %s\n", level, "", e->symbol.name ); -} - -void -ENTITYunique_out( Linked_List u, int level ) { - int i; - int max_indent; - Symbol * sym; - int length; - - if( !u ) { - return; - } - - raw( "%*sUNIQUE\n", level, "" ); - - /* pass 1 */ - max_indent = 0; - LISTdo( u, list, Linked_List ) - if( 0 != ( sym = ( Symbol * )LISTget_first( list ) ) ) { - length = strlen( sym->name ); - if( length > max_indent ) { - max_indent = length; - } - } - LISTod - - level += exppp_nesting_indent; - indent2 = level + max_indent + strlen( ": " ) + exppp_continuation_indent; - - LISTdo( u, list, Linked_List ) - i = 0; - LISTdo( list, v, Variable ) - i++; - if( i == 1 ) { - /* print label if present */ - if( v ) { - raw( "%*s%-*s : ", level, "", - max_indent, ( ( Symbol * )v )->name ); - } else { - raw( "%*s%-*s ", level, "", - max_indent, "" ); - } - } else { - if( i > 2 ) { - raw( ", " ); - } - EXPR_out( v->name, 0 ); - } - LISTod - raw( ";\n" ); - LISTod -} - -void -ENTITYinverse_out( Linked_List attrs, int level ) { - int length; - - int max_indent; - - /* pass 1: calculate length of longest attr name */ - max_indent = 0; - LISTdo( attrs, v, Variable ) - if( v->inverse_symbol ) { - length = strlen( v->name->symbol.name ); - if( length > max_indent ) { - max_indent = length; - } - } - LISTod - - if( max_indent == 0 ) { - return; - } - raw( "%*sINVERSE\n", level, "" ); - level += exppp_nesting_indent; - indent2 = level + max_indent + strlen( ": " ) + exppp_continuation_indent; - - /* pass 2: print them */ - LISTdo( attrs, v, Variable ) - if( v->inverse_symbol ) { - /* print attribute name */ - raw( "%*s%-*s :", level, "", - max_indent, v->name->symbol.name ); - - /* print attribute type */ - if( VARget_optional( v ) ) { - wrap( " OPTIONAL" ); - } - TYPE_head_out( v->type, NOLEVEL ); - - raw( " FOR " ); - - wrap( v->inverse_attribute->name->symbol.name ); - - raw( ";\n" ); - } - LISTod -} - -void -ENTITYattrs_out( Linked_List attrs, int derived, int level ) { - int length; - - int max_indent; - - /* pass 1: calculate length of longest attr name */ - max_indent = 0; - LISTdo( attrs, v, Variable ) - if( v->inverse_symbol ) { - continue; - } - if( ( derived && v->initializer ) || - ( !derived && !v->initializer ) ) { - length = EXPRlength( v->name ); - if( length > max_indent ) { - max_indent = length; - } - } - LISTod - - if( max_indent == 0 ) { - return; - } - if( derived ) { - raw( "%*sDERIVE\n", level, "" ); - } - level += exppp_nesting_indent; - indent2 = level + max_indent + strlen( ": " ) + exppp_continuation_indent; - - /* pass 2: print them */ - LISTdo( attrs, v, Variable ) - if( v->inverse_symbol ) { - continue; - } - if( ( derived && v->initializer ) || - ( !derived && !v->initializer ) ) { - /* print attribute name */ - raw( "%*s", level, "" ); - EXPR_out( v->name, 0 ); - raw( "%*s :", level + max_indent + 1 - curpos, "" ); - - /* print attribute type */ - if( VARget_optional( v ) ) { - wrap( " OPTIONAL" ); - } - TYPE_head_out( v->type, NOLEVEL ); - - if( derived && v->initializer ) { - wrap( " := " ); - EXPR_out( v->initializer, 0 ); - } - - raw( ";\n" ); - } - LISTod -} - -void -WHERE_out( Linked_List wheres, int level ) { - size_t max_indent; - if( !wheres ) { - return; - } - - raw( "%*s%s", level, "", "WHERE\n" ); - level += exppp_nesting_indent; - - /* pass 1: calculate length of longest label */ - max_indent = 0; - LISTdo( wheres, w, Where ) - if( w->label ) { - if( strlen( w->label->name ) > max_indent ) { - max_indent = strlen( w->label->name ); - } - } - LISTod - - if( max_indent > 10 ) { - /* don't bother indenting completely for labels that are */ - /* ridiculously long */ - max_indent = 4; - } - indent2 = level + max_indent + strlen( ": " ) + exppp_continuation_indent; - - /* pass 2: now print labels and exprs */ - LISTdo( wheres, w, Where ) - if( w->label ) { - raw( "%*s%-*s: ", level, "", max_indent, w->label->name ); - } else { - /* no label */ - raw( "%*s%-*s ", level, "", max_indent, "" ); - } - EXPR_out( w->expr, max_indent ); - raw( ";\n" ); - LISTod -} - -/* print all types in a scope */ -void -SCOPEtypes_out( Scope s, int level ) { - DictionaryEntry de; - Type t; - - if( exppp_alphabetize == false ) { - DICTdo_type_init( s->symbol_table, &de, OBJ_TYPE ); - while( 0 != ( t = ( Type )DICTdo( &de ) ) ) { - TYPE_out( t, level ); - } - } else { - Linked_List alpha = LISTcreate(); - - DICTdo_type_init( s->symbol_table, &de, OBJ_TYPE ); - while( 0 != ( t = ( Type )DICTdo( &de ) ) ) { - SCOPEadd_inorder( alpha, t ); - } - - LISTdo( alpha, t, Type ) - TYPE_out( t, level ); - LISTod - - LISTfree( alpha ); - } -} - -/* print a type definition. I.e., a TYPE statement */ -void -TYPE_out( Type t, int level ) { - first_newline(); - exppp_ref_info( &t->symbol ); - - raw( "%*sTYPE %s =", level, "", t->symbol.name ); - if( TYPEget_head( t ) ) { - wrap( " %s", TYPEget_name( TYPEget_head( t ) ) ); - } else { - TYPE_body_out( t, level + exppp_nesting_indent ); - } - - raw( ";\n" ); - - WHERE_out( t->where, level ); - - raw( "%*sEND_TYPE; -- %s\n", level, "", t->symbol.name ); -} - -/* prints type description (preceded by a space). I.e., the type of an */ -/* attribute or other object */ -void -TYPE_head_out( Type t, int level ) { - if( t->symbol.name ) { - wrap( " %s", t->symbol.name ); - } else { - TYPE_body_out( t, level ); - } -} - -void TYPEunique_or_optional_out( TypeBody tb ) { - if( tb->flags.unique ) { - wrap( " UNIQUE" ); - } - if( tb->flags.optional ) { - wrap( " OPTIONAL" ); - } -} - -void -TYPE_body_out( Type t, int level ) { - bool first_time = true; - - Expression expr; - DictionaryEntry de; - - TypeBody tb = TYPEget_body( t ); - - switch( tb->type ) { - case integer_: - wrap( " INTEGER" ); - break; - case real_: - wrap( " REAL" ); - break; - case string_: - wrap( " STRING" ); - break; - case binary_: - wrap( " BINARY" ); - break; - case boolean_: - wrap( " BOOLEAN" ); - break; - case logical_: - wrap( " LOGICAL" ); - break; - case number_: - wrap( " NUMBER" ); - break; - case entity_: - wrap( " %s", tb->entity->symbol.name ); - break; - case aggregate_: - case array_: - case bag_: - case set_: - case list_: - switch( tb->type ) { - /* ignore the aggregate bounds for now */ - case aggregate_: - wrap( " AGGREGATE" ); - if( tb->tag ) { - wrap( ":%s", tb->tag->symbol.name ); - } - wrap( " OF" ); - break; - - case array_: - wrap( " ARRAY" ); - EXPRbounds_out( tb ); - wrap( " OF" ); - TYPEunique_or_optional_out( tb ); - break; - - case bag_: - wrap( " BAG" ); - EXPRbounds_out( tb ); - wrap( " OF" ); - break; - - case set_: - wrap( " SET" ); - EXPRbounds_out( tb ); - wrap( " OF" ); - break; - - case list_: - wrap( " LIST" ); - EXPRbounds_out( tb ); - wrap( " OF" ); - TYPEunique_or_optional_out( tb ); - break; - } - - TYPE_head_out( tb->base, level ); - break; - case enumeration_: { -#if 1 - int i, count = 0; - char ** names; - - /* - * write names out in original order by first bucket sorting - * to a temporary array. This is trivial since all buckets - * will get filled with one and only one object. - */ - DICTdo_type_init( t->symbol_table, &de, OBJ_EXPRESSION ); - while( 0 != ( expr = ( Expression )DICTdo( &de ) ) ) { - count++; - } - names = ( char ** )sc_malloc( count * sizeof( char * ) ); - DICTdo_type_init( t->symbol_table, &de, OBJ_EXPRESSION ); - while( 0 != ( expr = ( Expression )DICTdo( &de ) ) ) { - names[expr->u.integer - 1] = expr->symbol.name; - } - - wrap( " ENUMERATION OF\n" ); - - for( i = 0; i < count; i++ ) { - /* finish line from previous enum item */ - if( !first_time ) { - raw( ",\n" ); - } - - /* start new enum item */ - if( first_time ) { - raw( "%*s(", level, "" ); - first_time = false; - } else { - raw( "%*s ", level, "" ); - } - raw( names[i] ); - } - raw( ")" ); - sc_free( ( char * )names ); - } -#else - wrap( " ENUMERATION OF\n" ); - DICTdo_type_init( t->symbol_table, &de, OBJ_EXPRESSION ); - while( 0 != ( expr = ( Expression )DICTdo( &de ) ) ) { - - /* finish line from previous enum item */ - if( !first_time ) { - raw( ",\n" ); - } - - /* start new enum item */ - if( first_time ) { - raw( "%*s(", level, "" ); - first_time = false; - } else { - raw( "%*s ", level, "" ); - } - raw( expr->symbol.name ); - } - raw( ")" ); -#endif - break; - case select_: - wrap( " SELECT\n" ); - LISTdo( tb->list, type, Type ) - /* finish line from previous entity */ - if( !first_time ) { - raw( ",\n" ); - } - - /* start new entity */ - if( first_time ) { - raw( "%*s(", level, "" ); - first_time = false; - } else { - raw( "%*s ", level, "" ); - } - raw( type->symbol.name ); - LISTod - - /* if empty, force a left paren */ - if( first_time ) { - ERRORreport_with_symbol( ERROR_select_empty, &error_sym, t->symbol.name ); - raw( "%*s(", level, "" ); - } - raw( ")" ); - break; - case generic_: - wrap( " GENERIC" ); - if( tb->tag ) { - wrap( ":%s", tb->tag->symbol.name ); - } - break; - default: - wrap( " (* unknown type %d *)", tb->type ); - } - - if( tb->precision ) { - wrap( " (" ); - EXPR_out( tb->precision, 0 ); - raw( ")" ); - } - if( tb->flags.fixed ) { - wrap( " FIXED" ); - } -} - -void -EXPRbounds_out( TypeBody tb ) { - if( !tb->upper ) { - return; - } - - wrap( " [" ); - EXPR_out( tb->lower, 0 ); - wrap( ":" ); - EXPR_out( tb->upper, 0 ); - raw( "]" ); -} - -/* - if paren == 1, parens are usually added to prevent possible rebind by - higher-level context. If op is similar to previous op (and - precedence/associativity is not a problem) parens may be omitted. - if paren == 0, then parens may be omitted without consequence -*/ -void -EXPR__out( Expression e, int paren, int previous_op ) { - int i; /* trusty temporary */ - - switch( TYPEis( e->type ) ) { - case integer_: - if( e == LITERAL_INFINITY ) { - wrap( "?" ); - } else { - wrap( "%d", e->u.integer ); - } - break; - case real_: - if( e == LITERAL_PI ) { - wrap( "PI" ); - } else if( e == LITERAL_E ) { - wrap( "E" ); - } else { - wrap( "%g", e->u.real ); - } - break; - case binary_: - wrap( "%%%s", e->u.binary ); /* put "%" back */ - break; - case logical_: - case boolean_: - switch( e->u.logical ) { - case Ltrue: - wrap( "TRUE" ); - break; - case Lfalse: - wrap( "FALSE" ); - break; - default: - wrap( "UNKNOWN" ); - break; - } - break; - case string_: - if( TYPEis_encoded( e->type ) ) { - wrap( "\"%s\"", e->symbol.name ); - } else { - wrap( "'%s'", e->symbol.name ); - } - break; - case entity_: - case identifier_: - case attribute_: - case enumeration_: - wrap( "%s", e->symbol.name ); - break; - case query_: - wrap( "QUERY ( %s <* ", e->u.query->local->name->symbol.name ); - EXPR_out( e->u.query->aggregate, 1 ); - wrap( " | " ); - EXPR_out( e->u.query->expression, 1 ); - raw( " )" ); - break; - case self_: - wrap( "SELF" ); - break; - case funcall_: - wrap( "%s(", e->symbol.name ); - i = 0; - LISTdo( e->u.funcall.list, arg, Expression ) - i++; - if( i != 1 ) { - raw( "," ); - } - EXPR_out( arg, 0 ); - LISTod - raw( ")" ); - break; - case op_: - EXPRop__out( &e->e, paren, previous_op ); - break; - case aggregate_: - wrap( "[" ); - i = 0; - LISTdo( e->u.list, arg, Expression ) - i++; - if( i != 1 ) { - raw( "," ); - } - EXPR_out( arg, 0 ); - LISTod - raw( "]" ); - break; - case oneof_: - wrap( "ONEOF (" ); - - i = 0; - LISTdo( e->u.list, arg, Expression ) - i++; - if( i != 1 ) { - raw( "," ); - } - EXPR_out( arg, 0 ); - LISTod - - raw( ")" ); - break; - default: - wrap( "unknown expression, type %d", TYPEis( e->type ) ); - } -} - -#define PAD 1 -#define NOPAD 0 - -/* print expression that has op and operands */ -void -EXPRop__out( struct Op_Subexpression * oe, int paren, int previous_op ) { - switch( oe->op_code ) { - case OP_AND: - case OP_ANDOR: - case OP_OR: - case OP_CONCAT: - case OP_EQUAL: - case OP_PLUS: - case OP_TIMES: - case OP_XOR: - EXPRop2__out( oe, ( char * )0, paren, PAD, previous_op ); - break; - case OP_EXP: - case OP_GREATER_EQUAL: - case OP_GREATER_THAN: - case OP_IN: - case OP_INST_EQUAL: - case OP_INST_NOT_EQUAL: - case OP_LESS_EQUAL: - case OP_LESS_THAN: - case OP_LIKE: - case OP_MOD: - case OP_NOT_EQUAL: - EXPRop2_out( oe, ( char * )0, paren, PAD ); - break; - case OP_NOT: - EXPRop1_out( oe, "NOT ", paren ); - break; - case OP_REAL_DIV: - case OP_DIV: - EXPRop2_out( oe, "/", paren, PAD ); - break; - case OP_MINUS: - EXPRop2_out( oe, "-", paren, PAD ); - break; - case OP_DOT: - EXPRop2_out( oe, ".", paren, NOPAD ); - break; - case OP_GROUP: - EXPRop2_out( oe, "\\", paren, NOPAD ); - break; - case OP_NEGATE: - EXPRop1_out( oe, "-", paren ); - break; - case OP_ARRAY_ELEMENT: - EXPR_out( oe->op1, 1 ); - wrap( "[" ); - EXPR_out( oe->op2, 0 ); - raw( "]" ); - break; - case OP_SUBCOMPONENT: - EXPR_out( oe->op1, 1 ); - wrap( "[" ); - EXPR_out( oe->op2, 0 ); - wrap( ":" ); - EXPR_out( oe->op3, 0 ); - raw( "]" ); - break; - default: - wrap( "(* unknown op-expression *)" ); - } -} - -void -EXPRop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, int previous_op ) { - if( pad && paren && ( eo->op_code != previous_op ) ) { - wrap( "(" ); - } - EXPR__out( eo->op1, 1, eo->op_code ); - if( pad ) { - raw( " " ); - } - wrap( "%s", ( opcode ? opcode : EXPop_table[eo->op_code].token ) ); - if( pad ) { - wrap( " " ); - } - EXPR__out( eo->op2, 1, eo->op_code ); - if( pad && paren && ( eo->op_code != previous_op ) ) { - raw( ")" ); - } -} - -/* Print out a one-operand operation. If there were more than two of these */ -/* I'd generalize it to do padding, but it's not worth it. */ -void -EXPRop1_out( struct Op_Subexpression * eo, char * opcode, int paren ) { - if( paren ) { - wrap( "(" ); - } - wrap( "%s", opcode ); - EXPR_out( eo->op1, 1 ); - if( paren ) { - raw( ")" ); - } -} - -int -EXPRop_length( struct Op_Subexpression * oe ) { - switch( oe->op_code ) { - case OP_DOT: - case OP_GROUP: - return( 1 + EXPRlength( oe->op1 ) - + EXPRlength( oe->op2 ) ); - default: - fprintf( stdout, "EXPRop_length: unknown op-expression" ); - } - return 0; -} - -/* returns printable representation of expression rather than printing it */ -/* originally only used for general references, now being expanded to handle */ -/* any kind of expression */ -/* contains fragment of string, adds to it */ -void -EXPRstring( char * buffer, Expression e ) { - int i; - - switch( TYPEis( e->type ) ) { - case integer_: - if( e == LITERAL_INFINITY ) { - strcpy( buffer, "?" ); - } else { - sprintf( buffer, "%d", e->u.integer ); - } - break; - case real_: - if( e == LITERAL_PI ) { - strcpy( buffer, "PI" ); - } else if( e == LITERAL_E ) { - strcpy( buffer, "E" ); - } else { - sprintf( buffer, "%g", e->u.real ); - } - break; - case binary_: - sprintf( buffer, "%%%s", e->u.binary ); /* put "%" back */ - break; - case logical_: - case boolean_: - switch( e->u.logical ) { - case Ltrue: - strcpy( buffer, "TRUE" ); - break; - case Lfalse: - strcpy( buffer, "FALSE" ); - break; - default: - strcpy( buffer, "UNKNOWN" ); - break; - } - break; - case string_: - if( TYPEis_encoded( e->type ) ) { - sprintf( buffer, "\"%s\"", e->symbol.name ); - } else { - sprintf( buffer, "'%s'", e->symbol.name ); - } - break; - case entity_: - case identifier_: - case attribute_: - case enumeration_: - strcpy( buffer, e->symbol.name ); - break; - case query_: - sprintf( buffer, "QUERY ( %s <* ", e->u.query->local->name->symbol.name ); - EXPRstring( buffer + strlen( buffer ), e->u.query->aggregate ); - strcat( buffer, " | " ); - EXPRstring( buffer + strlen( buffer ), e->u.query->expression ); - strcat( buffer, " )" ); - break; - case self_: - strcpy( buffer, "SELF" ); - break; - case funcall_: - sprintf( buffer, "%s(", e->symbol.name ); - i = 0; - LISTdo( e->u.funcall.list, arg, Expression ) - i++; - if( i != 1 ) { - strcat( buffer, "," ); - } - EXPRstring( buffer + strlen( buffer ), arg ); - LISTod - strcat( buffer, ")" ); - break; - - case op_: - EXPRop_string( buffer, &e->e ); - break; - case aggregate_: - strcpy( buffer, "[" ); - i = 0; - LISTdo( e->u.list, arg, Expression ) - i++; - if( i != 1 ) { - strcat( buffer, "," ); - } - EXPRstring( buffer + strlen( buffer ), arg ); - LISTod - strcat( buffer, "]" ); - break; - case oneof_: - strcpy( buffer, "ONEOF (" ); - - i = 0; - LISTdo( e->u.list, arg, Expression ) - i++; - if( i != 1 ) { - strcat( buffer, "," ); - } - EXPRstring( buffer + strlen( buffer ), arg ); - LISTod - - strcat( buffer, ")" ); - break; - default: - sprintf( buffer, "EXPRstring: unknown expression, type %d", TYPEis( e->type ) ); - fprintf( stderr, "%s", buffer ); - } -} - -void -EXPRop_string( char * buffer, struct Op_Subexpression * oe ) { - EXPRstring( buffer, oe->op1 ); - switch( oe->op_code ) { - case OP_DOT: - strcat( buffer, "." ); - break; - case OP_GROUP: - strcat( buffer, "\\" ); - break; - default: - strcat( buffer, "(* unknown op-expression *)" ); - } - EXPRstring( buffer + strlen( buffer ), oe->op2 ); -} - -/* returns length of printable representation of expression w.o. printing it */ -int -EXPRlength( Expression e ) { - char buffer[10000]; - - *buffer = '\0'; - EXPRstring( buffer, e ); - return( strlen( buffer ) ); -} - - -/* Interfacing Definitions */ - -#define BIGBUFSIZ 100000 -static int old_curpos; -static int old_lineno; -static bool string_func_in_use = false; -static bool file_func_in_use = false; - -/* return 0 if successful */ -static int -prep_buffer( char * buf, int len ) { - /* this should never happen */ - if( string_func_in_use ) { - fprintf( stderr, "cannot generate EXPRESS string representations recursively!\n" ); - return 1; - } - string_func_in_use = true; - - exppp_buf = exppp_bufp = buf; - exppp_buflen = exppp_maxbuflen = len; - - *exppp_bufp = '\0'; - old_curpos = curpos; - curpos = 1; - old_lineno = 1; - - first_line = true; - - return 0; -} - -/* return length of string */ -static int -finish_buffer() { - exppp_buf = 0; - curpos = old_curpos; - error_sym.line = old_lineno; - string_func_in_use = false; - return 1 + exppp_maxbuflen - exppp_buflen; -} - -/* return 0 if successful */ -static int -prep_string() { - /* this should never happen */ - if( string_func_in_use ) { - fprintf( stderr, "cannot generate EXPRESS string representations recursively!\n" ); - return 1; - } - string_func_in_use = true; - - exppp_buf = exppp_bufp = ( char * )sc_malloc( BIGBUFSIZ ); - if( !exppp_buf ) { - fprintf( stderr, "failed to allocate exppp buffer\n" ); - return 1; - } - exppp_buflen = exppp_maxbuflen = BIGBUFSIZ; - - *exppp_bufp = '\0'; - old_curpos = curpos; - old_lineno = error_sym.line; - curpos = 1; - - first_line = true; - - return 0; -} - -static char * -finish_string() { - char * b = ( char * )sc_realloc( exppp_buf, 1 + exppp_maxbuflen - exppp_buflen ); - - if( b == 0 ) { - fprintf( stderr, "failed to reallocate exppp buffer\n" ); - return 0; - } - exppp_buf = 0; - curpos = old_curpos; - error_sym.line = old_lineno; - - string_func_in_use = false; - return b; -} - -static FILE * oldfp; - -static void -prep_file() { - /* this can only happen if user calls output func while suspended */ - /* inside another output func both called from debugger */ - if( file_func_in_use ) { - fprintf( stderr, "cannot print EXPRESS representations recursively!\n" ); - } - file_func_in_use = true; - - /* temporarily change file to stdout and print */ - /* This avoids messing up any printing in progress */ - oldfp = exppp_fp ? exppp_fp : stdout; - exppp_fp = stdout; - curpos = 1; -} - -static void -finish_file() { - exppp_fp = oldfp; /* reset back to original file */ - file_func_in_use = false; -} - -static char * placeholder = "placeholder"; - -char * -SUBTYPEto_string( Expression e ) { - if( prep_string() ) { - return placeholder; - } - EXPR_out( e, 0 ); - return ( finish_string() ); -} - -char * -ENTITYto_string( Entity e ) { - if( prep_string() ) { - return placeholder; - } - ENTITY_out( e, 0 ); - return ( finish_string() ); -} - -/* return length of buffer used */ -int -ENTITYto_buffer( Entity e, char * buffer, int length ) { - if( prep_buffer( buffer, length ) ) { - return -1; - } - ENTITY_out( e, 0 ); - return( finish_buffer() ); -} - -void -ENTITYout( Entity e ) { - prep_file(); - ENTITY_out( e, 0 ); - finish_file(); -} - -char * -EXPRto_string( Expression e ) { - if( prep_string() ) { - return placeholder; - } - EXPR_out( e, 0 ); - return ( finish_string() ); -} - -/* return length of buffer used */ -int -EXPRto_buffer( Expression e, char * buffer, int length ) { - if( prep_buffer( buffer, length ) ) { - return -1; - } - EXPR_out( e, 0 ); - return( finish_buffer() ); -} - -void -EXPRout( Expression e ) { - prep_file(); - EXPR_out( e, 0 ); - finish_file(); -} - -char * -FUNCto_string( Function f ) { - if( prep_string() ) { - return placeholder; - } - FUNC_out( f, 0 ); - return ( finish_string() ); -} - -/* return length of buffer used */ -int -FUNCto_buffer( Function e, char * buffer, int length ) { - if( prep_buffer( buffer, length ) ) { - return -1; - } - FUNC_out( e, 0 ); - return( finish_buffer() ); -} - -void -FUNCout( Function f ) { - prep_file(); - FUNC_out( f, 0 ); - finish_file(); -} - -char * -PROCto_string( Procedure p ) { - if( prep_string() ) { - return placeholder; - } - PROC_out( p, 0 ); - return ( finish_string() ); -} - -/* return length of buffer used */ -int -PROCto_buffer( Procedure e, char * buffer, int length ) { - if( prep_buffer( buffer, length ) ) { - return -1; - } - PROC_out( e, 0 ); - return( finish_buffer() ); -} - -void -PROCout( Procedure p ) { - prep_file(); - PROC_out( p, 0 ); - finish_file(); -} - -char * -RULEto_string( Rule r ) { - if( prep_string() ) { - return placeholder; - } - RULE_out( r, 0 ); - return ( finish_string() ); -} - -/* return length of buffer used */ -int -RULEto_buffer( Rule e, char * buffer, int length ) { - if( prep_buffer( buffer, length ) ) { - return -1; - } - RULE_out( e, 0 ); - return( finish_buffer() ); -} - -void -RULEout( Rule r ) { - prep_file(); - RULE_out( r, 0 ); - finish_file(); -} - -char * -SCHEMAref_to_string( Schema s ) { - if( prep_string() ) { - return placeholder; - } - REFout( s->u.schema->usedict, s->u.schema->use_schemas, "USE", 0 ); - REFout( s->u.schema->refdict, s->u.schema->ref_schemas, "REFERENCE", 0 ); - return ( finish_string() ); -} - -/* return length of buffer used */ -int -SCHEMAref_to_buffer( Schema s, char * buffer, int length ) { - if( prep_buffer( buffer, length ) ) { - return -1; - } - REFout( s->u.schema->usedict, s->u.schema->use_schemas, "USE", 0 ); - REFout( s->u.schema->refdict, s->u.schema->ref_schemas, "REFERENCE", 0 ); - return( finish_buffer() ); -} - -void -SCHEMAref_out( Schema s ) { - prep_file(); - REFout( s->u.schema->usedict, s->u.schema->use_schemas, "USE", 0 ); - REFout( s->u.schema->refdict, s->u.schema->ref_schemas, "REFERENCE", 0 ); - finish_file(); -} - -char * -STMTto_string( Statement s ) { - if( prep_string() ) { - return placeholder; - } - STMT_out( s, 0 ); - return ( finish_string() ); -} - -/* return length of buffer used */ -int -STMTto_buffer( Statement s, char * buffer, int length ) { - if( prep_buffer( buffer, length ) ) { - return -1; - } - STMT_out( s, 0 ); - return( finish_buffer() ); -} - -void -STMTout( Statement s ) { - prep_file(); - STMT_out( s, 0 ); - finish_file(); -} - -char * -TYPEto_string( Type t ) { - if( prep_string() ) { - return placeholder; - } - TYPE_out( t, 0 ); - return ( finish_string() ); -} - -/* return length of buffer used */ -int -TYPEto_buffer( Type t, char * buffer, int length ) { - if( prep_buffer( buffer, length ) ) { - return -1; - } - TYPE_out( t, 0 ); - return( finish_buffer() ); -} - -void -TYPEout( Type t ) { - prep_file(); - TYPE_out( t, 0 ); - finish_file(); -} - -char * -TYPEhead_to_string( Type t ) { - if( prep_string() ) { - return placeholder; - } - TYPE_head_out( t, 0 ); - return ( finish_string() ); -} - -/* return length of buffer used */ -int -TYPEhead_to_buffer( Type t, char * buffer, int length ) { - if( prep_buffer( buffer, length ) ) { - return -1; - } - TYPE_out( t, 0 ); - return( finish_buffer() ); -} - -void -TYPEhead_out( Type t ) { - prep_file(); - TYPE_head_out( t, 0 ); - finish_file(); -} - -char * -TYPEbody_to_string( Type t ) { - if( prep_string() ) { - return placeholder; - } - TYPE_body_out( t, 0 ); - return ( finish_string() ); -} - -/* return length of buffer used */ -int -TYPEbody_to_buffer( Type t, char * buffer, int length ) { - if( prep_buffer( buffer, length ) ) { - return -1; - } - TYPE_body_out( t, 0 ); - return( finish_buffer() ); -} - -void -TYPEbody_out( Type t ) { - prep_file(); - TYPE_body_out( t, 0 ); - finish_file(); -} - -char * -WHEREto_string( Linked_List w ) { - if( prep_string() ) { - return placeholder; - } - WHERE_out( w, 0 ); - return ( finish_string() ); -} - -/* return length of buffer used */ -int -WHEREto_buffer( Linked_List w, char * buffer, int length ) { - if( prep_buffer( buffer, length ) ) { - return -1; - } - WHERE_out( w, 0 ); - return( finish_buffer() ); -} - -void -WHEREout( Linked_List w ) { - prep_file(); - WHERE_out( w, 0 ); - finish_file(); -} diff --git a/src/exppp/pp.h b/src/exppp/pp.h new file mode 100644 index 000000000..a441fece9 --- /dev/null +++ b/src/exppp/pp.h @@ -0,0 +1,62 @@ +/** \file pp.h + * for functions that are internal to exppp, not shared + */ +#ifndef PP_H +#define PP_H + +#include +#include + +extern int indent2; /**< where continuation lines start */ +extern int curpos; /**< current line position (1 is first position) */ +extern const int NOLEVEL; /**< unused-level indicator */ + +extern Symbol error_sym; /**< only used when printing errors */ +extern Error ERROR_select_empty; +extern FILE * exppp_fp; +extern bool first_line; + +/** output a string, exactly as provided + * \sa wrap() + */ +void raw( const char * fmt, ... ); + +/** output a string, insert newlines to keep line length down + * TODO list globals this func uses + * \sa raw() + */ +void wrap( const char * fmt, ... ); + +/** convert a real into our preferred form compatible with 10303-11 + * (i.e. decimal point is required; no trailing zeros) + * uses a static buffer, so NOT thread safe + * \param r the real to convert + * \returns const char pointer to static buffer containing ascii representation of real + */ +const char * real2exp( double r ); + +/** Break a long un-encoded string up, enclose in '', output via raw() + * if short, don't insert line breaks + * \param in the input string + * + * side effects: output via raw() + * reads globals indent2 and curpos + */ +void breakLongStr( const char * in ); + +int finish_buffer(); +int minimum( int a, int b, int c ); +int prep_buffer( char * buf, int len ); +int prep_string(); +void finish_file(); +void first_newline(); +void prep_file(); +char * finish_string(); +const char * real2exp( double r ); +void exp_output( char * buf, unsigned int len ); +void exppp_init(); +void exppp_ref_info( Symbol * s ); +extern char * placeholder; + + +#endif /* PP_H */ diff --git a/src/exppp/pretty_alg.c b/src/exppp/pretty_alg.c new file mode 100644 index 000000000..ba8a07aa5 --- /dev/null +++ b/src/exppp/pretty_alg.c @@ -0,0 +1,60 @@ +/** \file pretty_alg.c + * split out of exppp.c 9/21/13 + */ + + +#include +#include +#include + +#include "pp.h" +#include "pretty_type.h" +#include "pretty_expr.h" +#include "pretty_scope.h" +#include "pretty_alg.h" + +void ALGscope_out( Scope s, int level ) { + SCOPEtypes_out( s, level ); + SCOPEentities_out( s, level ); + SCOPEalgs_out( s, level ); + + SCOPEconsts_out( s, level ); + SCOPElocals_out( s, level ); +} + +/** last arg is not terminated with ; or \n */ +void ALGargs_out( Linked_List args, int level ) { + Type previoustype = 0; + bool previousVAR = false; + indent2 = level + exppp_continuation_indent; + + /* combine adjacent parameters that have the same type and VAR-ness + * + * According to the EBNF, only procedures can use 'VAR', and it applies + * to all params in the same type assignment statement. + * flags.var is set in the formal_parameter production + */ + + LISTdo( args, v, Variable ) { + if( ( previoustype != v->type ) || ( previousVAR != v->flags.var ) ) { + if( previoustype ) { + wrap( " : " ); + TYPE_head_out( previoustype, NOLEVEL ); + raw( ";\n" ); + } + raw( "%*s", level, "" ); + if( v->flags.var ) { + raw( "VAR " ); + } + EXPR_out( VARget_name( v ), 0 ); + } else { + raw( ", " ); + EXPR_out( VARget_name( v ), 0 ); + } + previoustype = v->type; + previousVAR = v->flags.var; + } LISTod + + wrap( " : " ); + TYPE_head_out( previoustype, NOLEVEL ); +} diff --git a/src/exppp/pretty_alg.h b/src/exppp/pretty_alg.h new file mode 100644 index 000000000..a365da9fc --- /dev/null +++ b/src/exppp/pretty_alg.h @@ -0,0 +1,10 @@ +#ifndef PRETTY_ALG_H +#define PRETTY_ALG_H + +#include +#include + +void ALGargs_out( Linked_List args, int level ); +void ALGscope_out( Scope s, int level ); + +#endif /* PRETTY_ALG_H */ diff --git a/src/exppp/pretty_case.c b/src/exppp/pretty_case.c new file mode 100644 index 000000000..82a9f2772 --- /dev/null +++ b/src/exppp/pretty_case.c @@ -0,0 +1,70 @@ +/** \file pretty_case.c + * split out of exppp.c 9/21/13 + */ + +#include +#include + +#include "pp.h" +#include "pretty_expr.h" +#include "pretty_stmt.h" +#include "pretty_case.h" + +void CASEout( struct Case_Statement_ * c, int level ) { + int len = 0, max_indent = 0, old_curpos = 0; + + raw( "%*sCASE ", level, "" ); + EXPR_out( c->selector, 0 ); + wrap( " OF\n" ); + + /* EXPRlength messes up curpos */ + old_curpos = curpos; + /* pass 1: calculate length of longest label */ + LISTdo( c->cases, ci, Case_Item ) { + if( ci->labels ) { + LISTdo_n( ci->labels, label, Expression, b ) { + len = EXPRlength( label ); + } LISTod + } else { + len = strlen( "OTHERWISE" ); + } + if( len > max_indent ) { + max_indent = len; + } + } LISTod + curpos = old_curpos; + + level += exppp_nesting_indent; + if( max_indent + level > exppp_linelength / 2 ) { + max_indent = ( exppp_linelength / 3 ) - level; + } + + /* pass 2: print them */ + LISTdo( c->cases, ci, Case_Item ) { + if( ci->labels ) { + LISTdo_n( ci->labels, label, Expression, b ) { + int spaces; + /* print label(s) */ + indent2 = level + exppp_continuation_indent; + raw( "%*s", level, "" ); + EXPR_out( label, 0 ); + spaces = level + max_indent - curpos; + raw( "%*s : ", ( ( spaces > 0 ) ? spaces : 0 ), "" ); + + /* print action */ + STMT_out( ci->action, level + exppp_nesting_indent ); + } LISTod + } else { + /* print OTHERWISE */ + indent2 = level + exppp_continuation_indent; + raw( "%*s", level, "" ); + raw( "OTHERWISE" ); + raw( "%*s : ", level + max_indent - curpos, "" ); + + /* print action */ + STMT_out( ci->action, level + exppp_nesting_indent ); + } + } LISTod + + raw( "%*sEND_CASE;\n", level, "" ); +} diff --git a/src/exppp/pretty_case.h b/src/exppp/pretty_case.h new file mode 100644 index 000000000..de46f417f --- /dev/null +++ b/src/exppp/pretty_case.h @@ -0,0 +1,8 @@ +#ifndef PRETTY_CASE_H +#define PRETTY_CASE_H + +#include + +void CASEout( struct Case_Statement_ * c, int level ); + +#endif /* PRETTY_CASE_H */ diff --git a/src/exppp/pretty_entity.c b/src/exppp/pretty_entity.c new file mode 100644 index 000000000..73d167bba --- /dev/null +++ b/src/exppp/pretty_entity.c @@ -0,0 +1,257 @@ +/** \file pretty_entity.c + * functions dealing with entities + * split out of exppp.c 9/21/13 + */ + +#include +#include + +#include "exppp.h" +#include "pp.h" +#include "pretty_expr.h" +#include "pretty_subtype.h" +#include "pretty_where.h" +#include "pretty_type.h" +#include "pretty_entity.h" + +void ENTITY_out( Entity e, int level ) { + const unsigned int EXPLICIT = 0, DERIVED = 1; + int linelen = exppp_linelength; + bool first_time = true; + + first_newline(); + exppp_ref_info( &e->symbol ); + + raw( "%*sENTITY %s", level, "", e->symbol.name ); + + level += exppp_nesting_indent; + indent2 = level + exppp_continuation_indent; + + exppp_linelength = indent2; /* force newlines */ + if( ENTITYget_abstract( e ) ) { + if( e->u.entity->subtype_expression ) { + raw( "\n%*sABSTRACT SUPERTYPE OF ", level, "" ); + SUBTYPEout( e->u.entity->subtype_expression ); + } else { + raw( "\n%*sABSTRACT SUPERTYPE", level, "" ); + } + } else { + if( e->u.entity->subtype_expression ) { + raw( "\n%*sSUPERTYPE OF ", level, "" ); + SUBTYPEout( e->u.entity->subtype_expression ); + } + } + exppp_linelength = linelen; + + if( e->u.entity->supertype_symbols ) { + raw( "\n%*sSUBTYPE OF ( ", level, "" ); + + LISTdo( e->u.entity->supertype_symbols, s, Symbol * ) + if( first_time ) { + first_time = false; + } else { + raw( ", " ); + } + wrap( s->name ); + LISTod + raw( " )" ); + } + + raw( ";\n" ); + +#if 0 + /* add a little more space before entities if sub or super appears */ + if( e->u.entity->supertype_symbols || e->u.entity->subtype_expression ) { + raw( "\n" ); + } +#endif + + ENTITYattrs_out( e->u.entity->attributes, EXPLICIT, level ); + ENTITYattrs_out( e->u.entity->attributes, DERIVED, level ); + ENTITYinverse_out( e->u.entity->attributes, level ); + ENTITYunique_out( e->u.entity->unique, level ); + WHERE_out( TYPEget_where( e ), level ); + + level -= exppp_nesting_indent; + raw( "%*sEND_ENTITY;", level, "" ); + tail_comment( e->symbol.name ); +} + +void ENTITYunique_out( Linked_List u, int level ) { + int i; + int max_indent; + Symbol * sym; + + if( !u ) { + return; + } + + raw( "%*sUNIQUE\n", level, "" ); + + /* pass 1 */ + max_indent = 0; + LISTdo( u, list, Linked_List ) { + if( 0 != ( sym = ( Symbol * )LISTget_first( list ) ) ) { + int length; + length = strlen( sym->name ); + if( length > max_indent ) { + max_indent = length; + } + } + } LISTod + + level += exppp_nesting_indent; + indent2 = level + max_indent + strlen( ": " ) + exppp_continuation_indent; + + LISTdo( u, list, Linked_List ) { + i = 0; + LISTdo_n( list, e, Expression, b ) { + i++; + if( i == 1 ) { + /* print label if present */ + if( e ) { + raw( "%*s%-*s : ", level, "", max_indent, ( ( Symbol * )e )->name ); + } else { + raw( "%*s%-*s ", level, "", max_indent, "" ); + } + } else { + if( i > 2 ) { + raw( ", " ); + } + EXPR_out( e, 0 ); + } + } LISTod + raw( ";\n" ); + } LISTod +} + +void ENTITYinverse_out( Linked_List attrs, int level ) { + int max_indent; + + /* pass 1: calculate length of longest attr name */ + max_indent = 0; + LISTdo( attrs, v, Variable ) { + if( v->inverse_symbol ) { + int length; + length = strlen( v->name->symbol.name ); + if( length > max_indent ) { + max_indent = length; + } + } + } LISTod + + if( max_indent == 0 ) { + return; + } + raw( "%*sINVERSE\n", level, "" ); + level += exppp_nesting_indent; + indent2 = level + max_indent + strlen( ": " ) + exppp_continuation_indent; + + /* pass 2: print them */ + LISTdo( attrs, v, Variable ) { + if( v->inverse_symbol ) { + /* print attribute name */ + raw( "%*s", level, "" ); + EXPR_out( v->name, 0 ); + raw( "%-*s :", ( ( ( max_indent - curpos ) > 0 ) ? max_indent - curpos : 0 ), "" ); + + /* print attribute type */ + if( VARget_optional( v ) ) { + wrap( " OPTIONAL" ); + } + TYPE_head_out( v->type, NOLEVEL ); + + raw( " FOR " ); + + wrap( v->inverse_attribute->name->symbol.name ); + + raw( ";\n" ); + } + } LISTod +} + +void ENTITYattrs_out( Linked_List attrs, int derived, int level ) { + int max_indent; + + /* pass 1: calculate length of longest attr name */ + max_indent = 0; + LISTdo( attrs, v, Variable ) { + if( v->inverse_symbol ) { + continue; + } + if( ( derived && v->initializer ) || + ( !derived && !v->initializer ) ) { + int length; + length = EXPRlength( v->name ); + if( length > max_indent ) { + max_indent = length; + } + } + } LISTod + + if( max_indent == 0 ) { + return; + } + if( derived ) { + raw( "%*sDERIVE\n", level, "" ); + } + level += exppp_nesting_indent; + if( level + max_indent > exppp_linelength / 3 ) { + max_indent = ( exppp_linelength / 3 ) - level; + } + indent2 = level + max_indent + strlen( ": " ) + exppp_continuation_indent; + + /* pass 2: print them */ + LISTdo( attrs, v, Variable ) { + if( v->inverse_symbol ) { + continue; + } + if( ( derived && v->initializer ) || ( !derived && !v->initializer ) ) { + int spaces; + /* print attribute name */ + raw( "%*s", level, "" ); + EXPR_out( v->name, 0 ); + spaces = level + max_indent + 2 - curpos; + if( spaces < 0 ) { + spaces = 0; + } + raw( "%*s :", spaces, "" ); + + /* print attribute type */ + if( VARget_optional( v ) ) { + wrap( " OPTIONAL" ); + } + TYPE_head_out( v->type, NOLEVEL ); + + if( derived && v->initializer ) { + wrap( " := " ); + EXPR_out( v->initializer, 0 ); + } + + raw( ";\n" ); + } + } LISTod +} + +char * ENTITYto_string( Entity e ) { + if( prep_string() ) { + return placeholder; + } + ENTITY_out( e, 0 ); + return ( finish_string() ); +} + +/** return length of buffer used */ +int ENTITYto_buffer( Entity e, char * buffer, int length ) { + if( prep_buffer( buffer, length ) ) { + return -1; + } + ENTITY_out( e, 0 ); + return( finish_buffer() ); +} + +void ENTITYout( Entity e ) { + prep_file(); + ENTITY_out( e, 0 ); + finish_file(); +} diff --git a/src/exppp/pretty_entity.h b/src/exppp/pretty_entity.h new file mode 100644 index 000000000..7c54ae446 --- /dev/null +++ b/src/exppp/pretty_entity.h @@ -0,0 +1,19 @@ +#ifndef PRETTY_ENTITY_H +#define PRETTY_ENTITY_H + +#include "../express/entity.h" +#include "../express/expbasic.h" +#include "../express/express.h" + +#include "pp.h" + +char * ENTITYto_string( Entity e ); +void ENTITY_out( Entity e, int level ); +void ENTITYattrs_out( Linked_List attrs, int derived, int level ); +void ENTITYinverse_out( Linked_List attrs, int level ); +void ENTITYout( Entity e ); +int ENTITYto_buffer( Entity e, char * buffer, int length ); +void ENTITYunique_out( Linked_List u, int level ); + + +#endif /* PRETTY_ENTITY_H */ diff --git a/src/exppp/pretty_expr.c b/src/exppp/pretty_expr.c new file mode 100644 index 000000000..1b9aeda7b --- /dev/null +++ b/src/exppp/pretty_expr.c @@ -0,0 +1,437 @@ +/** \file pretty_expr.c + * functions dealing with expressions + * split out of exppp.c 9/21/13 + */ + +#include +#include +#include + +#include "exppp.h" +#include "pp.h" + +#include "pretty_expr.h" + + +/** print array bounds */ +void EXPRbounds_out( TypeBody tb ) { + if( !tb->upper ) { + return; + } + + wrap( " [" ); + EXPR_out( tb->lower, 0 ); + wrap( " : " ); + EXPR_out( tb->upper, 0 ); + raw( "]" ); +} + +/** + * if paren == 1, parens are usually added to prevent possible rebind by + * higher-level context. If op is similar to previous op (and + * precedence/associativity is not a problem) parens may be omitted. + * if paren == 0, then parens may be omitted without consequence + */ +void EXPR__out( Expression e, int paren, unsigned int previous_op ) { + int i; /* trusty temporary */ + + switch( TYPEis( e->type ) ) { + case integer_: + if( e == LITERAL_INFINITY ) { + wrap( "?" ); + } else { + wrap( "%d", e->u.integer ); + } + break; + case real_: + if( e == LITERAL_PI ) { + wrap( "PI" ); + } else if( e == LITERAL_E ) { + wrap( "E" ); + } else { + wrap( real2exp( e->u.real ) ); + } + break; + case binary_: + wrap( "%%%s", e->u.binary ); /* put "%" back */ + break; + case logical_: + case boolean_: + switch( e->u.logical ) { + case Ltrue: + wrap( "TRUE" ); + break; + case Lfalse: + wrap( "FALSE" ); + break; + default: + wrap( "UNKNOWN" ); + break; + } + break; + case string_: + if( TYPEis_encoded( e->type ) ) { + wrap( "\"%s\"", e->symbol.name ); + } else { + breakLongStr( e->symbol.name ); + } + break; + case entity_: + case identifier_: + case attribute_: + case enumeration_: + wrap( "%s", e->symbol.name ); + break; + case query_: + wrap( "QUERY ( %s <* ", e->u.query->local->name->symbol.name ); + EXPR_out( e->u.query->aggregate, 1 ); + wrap( " | " ); + EXPR_out( e->u.query->expression, 1 ); + raw( " )" ); + break; + case self_: + wrap( "SELF" ); + break; + case funcall_: + wrap( "%s( ", e->symbol.name ); + i = 0; + LISTdo( e->u.funcall.list, arg, Expression ) + i++; + if( i != 1 ) { + raw( ", " ); + } + EXPR_out( arg, 0 ); + LISTod + raw( " )" ); + break; + case op_: + EXPRop__out( &e->e, paren, previous_op ); + break; + case aggregate_: + wrap( "[" ); + i = 0; + LISTdo( e->u.list, arg, Expression ) { + bool repeat = arg->type->u.type->body->flags.repeat; + /* if repeat is true, the previous Expression repeats and this one is the count */ + i++; + if( i != 1 ) { + if( repeat ) { + raw( " : " ); + } else { + raw( ", " ); + } + } + EXPR_out( arg, 0 ); + } LISTod + raw( "]" ); + break; + case oneof_: { + int old_indent = indent2; + wrap( "ONEOF ( " ); + + if( exppp_linelength == indent2 ) { + exppp_linelength += exppp_continuation_indent; + } + indent2 += exppp_continuation_indent; + + i = 0; + LISTdo( e->u.list, arg, Expression ) + i++; + if( i != 1 ) { + raw( ", " ); + } + EXPR_out( arg, 1 ); + LISTod + + if( exppp_linelength == indent2 ) { + exppp_linelength = old_indent; + } + indent2 = old_indent; + + raw( " )" ); + break; + } + default: + fprintf( stderr, "%s:%d: ERROR - unknown expression, type %d", e->symbol.filename, e->symbol.line, TYPEis( e->type ) ); + abort(); + } +} + +/** print expression that has op and operands */ +void EXPRop__out( struct Op_Subexpression * oe, int paren, unsigned int previous_op ) { + const unsigned int PAD = 1, NOPAD = 0; + switch( oe->op_code ) { + case OP_AND: + case OP_ANDOR: + case OP_OR: + case OP_CONCAT: + case OP_EQUAL: + case OP_PLUS: + case OP_TIMES: + case OP_XOR: + EXPRop2__out( oe, ( char * )0, paren, PAD, previous_op ); + break; + case OP_EXP: + case OP_GREATER_EQUAL: + case OP_GREATER_THAN: + case OP_IN: + case OP_INST_EQUAL: + case OP_INST_NOT_EQUAL: + case OP_LESS_EQUAL: + case OP_LESS_THAN: + case OP_LIKE: + case OP_MOD: + case OP_NOT_EQUAL: + EXPRop2_out( oe, ( char * )0, paren, PAD ); + break; + case OP_NOT: + EXPRop1_out( oe, "NOT ", paren ); + break; + case OP_REAL_DIV: + EXPRop2_out( oe, "/", paren, PAD ); + break; + case OP_DIV: + EXPRop2_out( oe, "DIV", paren, PAD ); + break; + case OP_MINUS: + EXPRop2_out( oe, "-", paren, PAD ); + break; + case OP_DOT: + EXPRop2_out( oe, ".", paren, NOPAD ); + break; + case OP_GROUP: + EXPRop2_out( oe, "\\", paren, NOPAD ); + break; + case OP_NEGATE: + EXPRop1_out( oe, "-", paren ); + break; + case OP_ARRAY_ELEMENT: + EXPR_out( oe->op1, 1 ); + wrap( "[" ); + EXPR_out( oe->op2, 0 ); + raw( "]" ); + break; + case OP_SUBCOMPONENT: + EXPR_out( oe->op1, 1 ); + wrap( "[" ); + EXPR_out( oe->op2, 0 ); + wrap( " : " ); + EXPR_out( oe->op3, 0 ); + raw( "]" ); + break; + default: + wrap( "(* unknown op-expression *)" ); + } +} + +void EXPRop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, unsigned int previous_op ) { + if( pad && paren && ( eo->op_code != previous_op ) ) { + wrap( "( " ); + } + EXPR__out( eo->op1, 1, eo->op_code ); + if( pad ) { + raw( " " ); + } + wrap( "%s", ( opcode ? opcode : EXPop_table[eo->op_code].token ) ); + if( pad ) { + wrap( " " ); + } + EXPR__out( eo->op2, 1, eo->op_code ); + if( pad && paren && ( eo->op_code != previous_op ) ) { + raw( " )" ); + } +} + +/** Print out a one-operand operation. If there were more than two of these + * I'd generalize it to do padding, but it's not worth it. + */ +void EXPRop1_out( struct Op_Subexpression * eo, char * opcode, int paren ) { + if( paren ) { + wrap( "( " ); + } + wrap( "%s", opcode ); + EXPR_out( eo->op1, 1 ); + if( paren ) { + raw( " )" ); + } +} + +int EXPRop_length( struct Op_Subexpression * oe ) { + switch( oe->op_code ) { + case OP_DOT: + case OP_GROUP: + return( 1 + EXPRlength( oe->op1 ) + + EXPRlength( oe->op2 ) ); + default: + fprintf( stdout, "EXPRop_length: unknown op-expression" ); + } + return 0; +} + +/** returns printable representation of expression rather than printing it + * originally only used for general references, now being expanded to handle + * any kind of expression + * contains fragment of string, adds to it + */ +void EXPRstring( char * buffer, Expression e ) { + int i; + + switch( TYPEis( e->type ) ) { + case integer_: + if( e == LITERAL_INFINITY ) { + strcpy( buffer, "?" ); + } else { + sprintf( buffer, "%d", e->u.integer ); + } + break; + case real_: + if( e == LITERAL_PI ) { + strcpy( buffer, "PI" ); + } else if( e == LITERAL_E ) { + strcpy( buffer, "E" ); + } else { + sprintf( buffer, "%s", real2exp( e->u.real ) ); + } + break; + case binary_: + sprintf( buffer, "%%%s", e->u.binary ); /* put "%" back */ + break; + case logical_: + case boolean_: + switch( e->u.logical ) { + case Ltrue: + strcpy( buffer, "TRUE" ); + break; + case Lfalse: + strcpy( buffer, "FALSE" ); + break; + default: + strcpy( buffer, "UNKNOWN" ); + break; + } + break; + case string_: + if( TYPEis_encoded( e->type ) ) { + sprintf( buffer, "\"%s\"", e->symbol.name ); + } else { + sprintf( buffer, "%s", e->symbol.name ); + } + break; + case entity_: + case identifier_: + case attribute_: + case enumeration_: + strcpy( buffer, e->symbol.name ); + break; + case query_: + sprintf( buffer, "QUERY ( %s <* ", e->u.query->local->name->symbol.name ); + EXPRstring( buffer + strlen( buffer ), e->u.query->aggregate ); + strcat( buffer, " | " ); + EXPRstring( buffer + strlen( buffer ), e->u.query->expression ); + strcat( buffer, " )" ); + break; + case self_: + strcpy( buffer, "SELF" ); + break; + case funcall_: + sprintf( buffer, "%s( ", e->symbol.name ); + i = 0; + LISTdo( e->u.funcall.list, arg, Expression ) + i++; + if( i != 1 ) { + strcat( buffer, ", " ); + } + EXPRstring( buffer + strlen( buffer ), arg ); + LISTod + strcat( buffer, " )" ); + break; + + case op_: + EXPRop_string( buffer, &e->e ); + break; + case aggregate_: + strcpy( buffer, "[" ); + i = 0; + LISTdo( e->u.list, arg, Expression ) { + bool repeat = arg->type->u.type->body->flags.repeat; + /* if repeat is true, the previous Expression repeats and this one is the count */ + i++; + if( i != 1 ) { + if( repeat ) { + strcat( buffer, " : " ); + } else { + strcat( buffer, ", " ); + } + } + EXPRstring( buffer + strlen( buffer ), arg ); + } LISTod + strcat( buffer, "]" ); + break; + case oneof_: + strcpy( buffer, "ONEOF ( " ); + + i = 0; + LISTdo( e->u.list, arg, Expression ) { + i++; + if( i != 1 ) { + strcat( buffer, ", " ); + } + EXPRstring( buffer + strlen( buffer ), arg ); + } LISTod + + strcat( buffer, " )" ); + break; + default: + sprintf( buffer, "EXPRstring: unknown expression, type %d", TYPEis( e->type ) ); + fprintf( stderr, "%s", buffer ); + } +} + +void EXPRop_string( char * buffer, struct Op_Subexpression * oe ) { + EXPRstring( buffer, oe->op1 ); + switch( oe->op_code ) { + case OP_DOT: + strcat( buffer, "." ); + break; + case OP_GROUP: + strcat( buffer, "\\" ); + break; + default: + strcat( buffer, "(* unknown op-expression *)" ); + } + EXPRstring( buffer + strlen( buffer ), oe->op2 ); +} + +/** returns length of printable representation of expression w.o. printing it + * doesn't understand as many expressions as the printing functions (!) + * WARNING this *does* change the global 'curpos'! + */ +int EXPRlength( Expression e ) { + char buffer[10000]; + *buffer = '\0'; + EXPRstring( buffer, e ); + return( strlen( buffer ) ); +} + +char * EXPRto_string( Expression e ) { + if( prep_string() ) { + return placeholder; + } + EXPR_out( e, 0 ); + return ( finish_string() ); +} + +/** \return length of buffer used */ +int EXPRto_buffer( Expression e, char * buffer, int length ) { + if( prep_buffer( buffer, length ) ) { + return -1; + } + EXPR_out( e, 0 ); + return( finish_buffer() ); +} + +void EXPRout( Expression e ) { + prep_file(); + EXPR_out( e, 0 ); + finish_file(); +} diff --git a/src/exppp/pretty_expr.h b/src/exppp/pretty_expr.h new file mode 100644 index 000000000..633bdf3f1 --- /dev/null +++ b/src/exppp/pretty_expr.h @@ -0,0 +1,36 @@ +#ifndef PRETTY_EXPR_H +#define PRETTY_EXPR_H + +#include "../express/expbasic.h" +#include "../express/express.h" + + +#define EXPR_out(e,p) EXPR__out(e,p,OP_UNKNOWN) +#define EXPRop2_out(oe,string,paren,pad) \ +EXPRop2__out(oe,string,paren,pad,OP_UNKNOWN) +#define EXPRop_out(oe,paren) EXPRop__out(oe,paren,OP_UNKNOWN) + +void EXPRop__out( struct Op_Subexpression * oe, int paren, unsigned int previous_op ); +void EXPRop_string( char * buffer, struct Op_Subexpression * oe ); +void EXPRop1_out( struct Op_Subexpression * eo, char * opcode, int paren ); +void EXPRop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, unsigned int previous_op ); +void EXPR__out( Expression e, int paren, unsigned int previous_op ); +void EXPRbounds_out( TypeBody tb ); +int EXPRlength( Expression e ); + +#endif /* PRETTY_EXPR_H */ + +/* +char * EXPRto_string( Expression e ); +void EXPR__out( Expression e, int paren, unsigned int previous_op ); +void EXPRbounds_out( TypeBody tb ); +int EXPRlength( Expression e ); +void EXPRop1_out( struct Op_Subexpression * eo, char * opcode, int paren ); +void EXPRop2__out( struct Op_Subexpression * eo, char * opcode, int paren, int pad, unsigned int previous_op ); +void EXPRop__out( struct Op_Subexpression * oe, int paren, unsigned int previous_op ); +int EXPRop_length( struct Op_Subexpression * oe ); +void EXPRop_string( char * buffer, struct Op_Subexpression * oe ); +void EXPRout( Expression e ); +void EXPRstring( char * buffer, Expression e ); +int EXPRto_buffer( Expression e, char * buffer, int length ); +*/ diff --git a/src/exppp/pretty_express.c b/src/exppp/pretty_express.c new file mode 100644 index 000000000..610d5e938 --- /dev/null +++ b/src/exppp/pretty_express.c @@ -0,0 +1,22 @@ +/** \file pretty_express.c + * split out of exppp.c 9/21/13 + */ + +#include +#include + +#include "pp.h" +#include "pretty_schema.h" +#include "pretty_express.h" + +void EXPRESSout( Express e ) { + Schema s; + DictionaryEntry de; + + exppp_init(); + + DICTdo_init( e->symbol_table, &de ); + while( 0 != ( s = ( Schema )DICTdo( &de ) ) ) { + ( void ) SCHEMAout( s ); + } +} diff --git a/src/exppp/pretty_express.h b/src/exppp/pretty_express.h new file mode 100644 index 000000000..18d7e1296 --- /dev/null +++ b/src/exppp/pretty_express.h @@ -0,0 +1,6 @@ +#ifndef PRETTY_EXPRESS_H +#define PRETTY_EXPRESS_H + +void EXPRESSout( Express e ); + +#endif /* PRETTY_EXPRESS_H */ diff --git a/src/exppp/pretty_func.c b/src/exppp/pretty_func.c new file mode 100644 index 000000000..4129d7855 --- /dev/null +++ b/src/exppp/pretty_func.c @@ -0,0 +1,62 @@ +/** \file pretty_func.c + * split out of exppp.c 9/21/13 + */ + +#include +#include "pp.h" +#include "pretty_alg.h" +#include "pretty_type.h" +#include "pretty_stmt.h" +#include "pretty_func.h" + +void FUNC_out( Function fn, int level ) { + if( fn->u.func->builtin ) { + return; + } + + first_newline(); + exppp_ref_info( &fn->symbol ); + + raw( "%*sFUNCTION %s", level, "", fn->symbol.name ); + if( fn->u.func->parameters ) { + unsigned int param_indent = level + strlen( "FUNCTION " ); + raw( "(\n" ); + ALGargs_out( fn->u.func->parameters, param_indent ); + raw( "\n%*s)", param_indent - exppp_continuation_indent, "" ); + } + raw( " :" ); + + indent2 = curpos + exppp_continuation_indent; + TYPE_head_out( fn->u.func->return_type, NOLEVEL ); + raw( ";\n" ); + + ALGscope_out( fn, level + exppp_nesting_indent ); + STMTlist_out( fn->u.proc->body, level + exppp_nesting_indent ); + + raw( "\n%*sEND_FUNCTION;", level, "" ); + tail_comment( fn->symbol.name ); +} + +char * FUNCto_string( Function f ) { + if( prep_string() ) { + return placeholder; + } + FUNC_out( f, 0 ); + return ( finish_string() ); +} + +/** return length of buffer used */ +int FUNCto_buffer( Function e, char * buffer, int length ) { + if( prep_buffer( buffer, length ) ) { + return -1; + } + FUNC_out( e, 0 ); + return( finish_buffer() ); +} + +void FUNCout( Function f ) { + prep_file(); + FUNC_out( f, 0 ); + finish_file(); +} + diff --git a/src/exppp/pretty_func.h b/src/exppp/pretty_func.h new file mode 100644 index 000000000..70d4b850d --- /dev/null +++ b/src/exppp/pretty_func.h @@ -0,0 +1,12 @@ +#ifndef PRETTY_FUNC_H +#define PRETTY_FUNC_H + +#include + +char * FUNCto_string( Function f ); +void FUNC_out( Function fn, int level ); +void FUNCout( Function f ); +int FUNCto_buffer( Function e, char * buffer, int length ); + + +#endif /* PRETTY_FUNC_H */ diff --git a/src/exppp/pretty_loop.c b/src/exppp/pretty_loop.c new file mode 100644 index 000000000..95a059f44 --- /dev/null +++ b/src/exppp/pretty_loop.c @@ -0,0 +1,51 @@ +/** \file pretty_loop.c + * split out of exppp.c 9/21/13 + */ + +#include +#include +#include + +#include "pp.h" +#include "pretty_expr.h" +#include "pretty_stmt.h" +#include "pretty_loop.h" + +void LOOPout( struct Loop_ *loop, int level ) { + Variable v; + + raw( "%*sREPEAT", level, "" ); + + /* increment */ + /* if (loop->scope->u.incr) {*/ + if( loop->scope ) { + DictionaryEntry de; + + DICTdo_init( loop->scope->symbol_table, &de ); + v = ( Variable )DICTdo( &de ); + wrap( " %s := ", v->name->symbol.name ); + EXPR_out( loop->scope->u.incr->init, 0 ); + wrap( " TO " ); + EXPR_out( loop->scope->u.incr->end, 0 ); + wrap( " BY " ); /* parser always forces a "by" expr */ + EXPR_out( loop->scope->u.incr->increment, 0 ); + } + + /* while */ + if( loop->while_expr ) { + wrap( " WHILE " ); + EXPR_out( loop->while_expr, 0 ); + } + + /* until */ + if( loop->until_expr ) { + wrap( " UNTIL " ); + EXPR_out( loop->until_expr, 0 ); + } + + raw( ";\n" ); + + STMTlist_out( loop->statements, level + exppp_nesting_indent ); + + raw( "%*sEND_REPEAT;\n", level, "" ); +} diff --git a/src/exppp/pretty_loop.h b/src/exppp/pretty_loop.h new file mode 100644 index 000000000..7a048211d --- /dev/null +++ b/src/exppp/pretty_loop.h @@ -0,0 +1,8 @@ +#ifndef PRETTY_LOOP_H +#define PRETTY_LOOP_H + +#include + +void LOOPout( struct Loop_ *loop, int level ); + +#endif /* PRETTY_LOOP_H */ diff --git a/src/exppp/pretty_proc.c b/src/exppp/pretty_proc.c new file mode 100644 index 000000000..ee16d6853 --- /dev/null +++ b/src/exppp/pretty_proc.c @@ -0,0 +1,54 @@ +/** \file pretty_proc.c + * split out of exppp.c 9/21/13 + */ + +#include +#include "pp.h" +#include "pretty_alg.h" +#include "pretty_stmt.h" +#include "pretty_proc.h" + +char * PROCto_string( Procedure p ) { + if( prep_string() ) { + return placeholder; + } + PROC_out( p, 0 ); + return ( finish_string() ); +} + +/** return length of buffer used */ +int PROCto_buffer( Procedure e, char * buffer, int length ) { + if( prep_buffer( buffer, length ) ) { + return -1; + } + PROC_out( e, 0 ); + return( finish_buffer() ); +} + +void PROCout( Procedure p ) { + prep_file(); + PROC_out( p, 0 ); + finish_file(); +} + +void PROC_out( Procedure p, int level ) { + if( p->u.proc->builtin ) { + return; + } + + first_newline(); + exppp_ref_info( &p->symbol ); + + raw( "%*sPROCEDURE %s(\n", level, "", p->symbol.name ); + + ALGargs_out( p->u.proc->parameters, level + strlen( "PROCEDURE " ) ); + + raw( "%*s);\n", level + exppp_nesting_indent, "" ); + + ALGscope_out( p, level + exppp_nesting_indent ); + STMTlist_out( p->u.proc->body, level + exppp_nesting_indent ); + + raw( "\n%*sEND_PROCEDURE;", level, "" ); + tail_comment( p->symbol.name ); +} + diff --git a/src/exppp/pretty_proc.h b/src/exppp/pretty_proc.h new file mode 100644 index 000000000..22099878e --- /dev/null +++ b/src/exppp/pretty_proc.h @@ -0,0 +1,11 @@ +#ifndef PRETTY_PROC_H +#define PRETTY_PROC_H + +#include + +char * PROCto_string( Procedure p ); +void PROC_out( Procedure p, int level ); +void PROCout( Procedure p ); +int PROCto_buffer( Procedure e, char * buffer, int length ); + +#endif /* PRETTY_PROC_H */ diff --git a/src/exppp/pretty_ref.c b/src/exppp/pretty_ref.c new file mode 100644 index 000000000..3d73efd77 --- /dev/null +++ b/src/exppp/pretty_ref.c @@ -0,0 +1,69 @@ +/** \file pretty_ref.c + * split out of exppp.c 9/21/13 + */ + +#include +#include + +#include "pp.h" +#include "pretty_ref.h" + +void REFout( Dictionary refdict, Linked_List reflist, char * type, int level ) { + Dictionary dict; + DictionaryEntry de; + struct Rename * ren; + Linked_List list; + + LISTdo( reflist, s, Schema ) + raw( "%s FROM %s;\n", type, s->symbol.name ); + LISTod + + if( !refdict ) { + return; + } + dict = DICTcreate( 10 ); + + /* sort each list by schema */ + + /* step 1: for each entry, store it in a schema-specific list */ + DICTdo_init( refdict, &de ); + while( 0 != ( ren = ( struct Rename * )DICTdo( &de ) ) ) { + Linked_List nameList; + + nameList = ( Linked_List )DICTlookup( dict, ren->schema->symbol.name ); + if( !nameList ) { + nameList = LISTcreate(); + DICTdefine( dict, ren->schema->symbol.name, nameList, NULL, OBJ_UNKNOWN ); + } + LISTadd_last( nameList, ren ); + } + + /* step 2: for each list, print out the renames */ + level = 6; /* no special reason, feels good */ + indent2 = level + exppp_continuation_indent; + DICTdo_init( dict, &de ); + while( 0 != ( list = ( Linked_List )DICTdo( &de ) ) ) { + bool first_time = true; + LISTdo( list, r, struct Rename * ) { + if( first_time ) { + raw( "%s FROM %s\n", type, r->schema->symbol.name ); + } else { + /* finish previous line */ + raw( ",\n" ); + } + + if( first_time ) { + raw( "%*s( ", level, "" ); + first_time = false; + } else { + raw( "%*s ", level, "" ); + } + raw( r->old->name ); + if( r->old != r->nnew ) { + wrap( " AS %s", r->nnew->name ); + } + } LISTod + raw( " );\n" ); + } + HASHdestroy( dict ); +} diff --git a/src/exppp/pretty_ref.h b/src/exppp/pretty_ref.h new file mode 100644 index 000000000..2b1c1cf84 --- /dev/null +++ b/src/exppp/pretty_ref.h @@ -0,0 +1,9 @@ +#ifndef PRETTY_REF_H +#define PRETTY_REF_H + +#include +#include + +void REFout( Dictionary refdict, Linked_List reflist, char * type, int level ); + +#endif /* PRETTY_REF_H */ diff --git a/src/exppp/pretty_rule.c b/src/exppp/pretty_rule.c new file mode 100644 index 000000000..49d4d0e15 --- /dev/null +++ b/src/exppp/pretty_rule.c @@ -0,0 +1,58 @@ +/** \file pretty_rule.c + * split out of exppp.c 9/21/13 + */ + +#include "pp.h" +#include "exppp.h" +#include "pretty_alg.h" +#include "pretty_stmt.h" +#include "pretty_where.h" +#include "pretty_rule.h" + +char * RULEto_string( Rule r ) { + if( prep_string() ) { + return placeholder; + } + RULE_out( r, 0 ); + return ( finish_string() ); +} + +/** return length of buffer used */ +int RULEto_buffer( Rule e, char * buffer, int length ) { + if( prep_buffer( buffer, length ) ) { + return -1; + } + RULE_out( e, 0 ); + return( finish_buffer() ); +} + +void RULEout( Rule r ) { + prep_file(); + RULE_out( r, 0 ); + finish_file(); +} + +void RULE_out( Rule r, int level ) { + int i = 0; + first_newline(); + exppp_ref_info( &r->symbol ); + + raw( "%*sRULE %s FOR ( ", level, "", r->symbol.name ); + + LISTdo( r->u.rule->parameters, p, Variable ) + i++; + if( i != 1 ) { + raw( ", " ); + } + wrap( p->name->symbol.name ); + LISTod; + raw( " );\n" ); + + ALGscope_out( r, level + exppp_nesting_indent ); + STMTlist_out( r->u.rule->body, level + exppp_nesting_indent ); + raw( "\n" ); + WHERE_out( RULEget_where( r ), level ); + + raw( "\n%*sEND_RULE;", level, "" ); + tail_comment( r->symbol.name ); +} diff --git a/src/exppp/pretty_rule.h b/src/exppp/pretty_rule.h new file mode 100644 index 000000000..18d29e0c8 --- /dev/null +++ b/src/exppp/pretty_rule.h @@ -0,0 +1,11 @@ +#ifndef PRETTY_RULE_H +#define PRETTY_RULE_H + +#include "../express/alg.h" + +char * RULEto_string( Rule r ); +void RULE_out( Rule r, int level ); +void RULEout( Rule r ); +int RULEto_buffer( Rule e, char * buffer, int length ); + +#endif /* PRETTY_RULE_H */ diff --git a/src/exppp/pretty_schema.c b/src/exppp/pretty_schema.c new file mode 100644 index 000000000..c17ebe5be --- /dev/null +++ b/src/exppp/pretty_schema.c @@ -0,0 +1,181 @@ +/** \file pretty_schema.c + * split out of exppp.c 9/21/13 + */ + +#include +#include + +#include + +#include +#include "pp.h" +#include "pretty_ref.h" +#include "pretty_scope.h" +#include "pretty_schema.h" + +#ifdef _WIN32 +# define unlink _unlink +#else +# include /* for unlink */ +#endif + +char * exppp_output_filename = ( char * )0; /* if this is set, override default output filename */ +char exppp_filename_buffer[1000]; /* output file name */ + +/* Only the first line is compared to an existing file, so putting a + * version number in here won't cause problems. The actual version must + * be inserted later - this can't be initialized with non-constant. + */ +char * expheader[] = { + "(* This file was generated by the EXPRESS Pretty Printer exppp," , + "part of STEPcode (formerly NIST's SCL). exppp version:" , + "" /* if there are two consecutive blank lines, */ , + "" /* the version string will be printed on the first */ , + "WARNING: If you modify this file and want to save the changes," , + "delete this comment block or else the file will be rewritten" , + "the next time exppp processes this schema. *)" , + 0 +}; + + +/** returns name of file written to in static storage */ +char * SCHEMAout( Schema s ) { + #define PP_SMALL_BUF_SZ 80 + char buf[PP_SMALL_BUF_SZ]; + char * p; + int level = 0; + char ** hp; + bool described = false; + if( exppp_print_to_stdout ) { + exppp_fp = stdout; + } else { + FILE * f; + if( exppp_output_filename_reset ) { + exppp_output_filename = 0; + } + + if( exppp_output_filename ) { + if( !strcmp( input_filename, exppp_output_filename ) ) { + fprintf( stderr, "Error: input filename and output filename are the same (%s)", exppp_output_filename ); + exit( EXIT_FAILURE ); + } + strcpy( exppp_filename_buffer, exppp_output_filename ); + } else { + /* when there is only a single file, allow user to find */ + /* out what it is */ + exppp_output_filename = exppp_filename_buffer; + exppp_output_filename_reset = true; + + /* since we have to generate a filename, make sure we don't */ + /* overwrite a valuable file */ + + sprintf( exppp_filename_buffer, "%s.exp", s->symbol.name ); + + if( 0 != ( f = fopen( exppp_filename_buffer, "r" ) ) ) { + char * result = fgets( buf, PP_SMALL_BUF_SZ, f ); + if( 0 != ( p = strchr( buf, '\n' ) ) ) { + *p = '\0'; + } + if( ( !result ) || ( !strcmp( buf, expheader[0] ) ) ) { + unlink( exppp_filename_buffer ); + } else { + fprintf( stderr, "%s: %s already exists and appears to be hand-written\n", + EXPRESSprogram_name, exppp_filename_buffer ); + /* strcat(bp,".pp");*/ + strcat( exppp_filename_buffer, ".pp" ); + fprintf( stderr, "%s: writing schema file %s instead\n", + EXPRESSprogram_name, exppp_filename_buffer ); + described = true; + } + } + if( f ) { + fclose( f ); + } + } + error_sym.filename = exppp_filename_buffer; + + if( !described && !exppp_terse ) { + fprintf( stdout, "%s: writing schema file %s\n", EXPRESSprogram_name, exppp_filename_buffer ); + } + if( !( exppp_fp = f = fopen( exppp_filename_buffer, "w" ) ) ) { + ERRORreport( FILE_UNWRITABLE, exppp_filename_buffer, strerror( errno ) ); + return 0; + } + } + error_sym.line = 1; + /* print our header - generated by exppp, don't edit, etc */ + for( hp = expheader; *hp; hp++ ) { + if( ( **hp == '\0' ) && ( **( hp + 1 ) == '\0' ) ) { + /* if this and the next lines are blank, put version string on this line */ + raw( "%s\n", SC_VERSION ); + } else { + raw( "%s\n", *hp ); + } + } + + /* first_newline();*/ + /* raw("SCHEMA %s;\n",s->symbol.name);*/ + + first_line = false; + raw( "\nSCHEMA %s;\n", s->symbol.name ); + + if( s->u.schema->usedict || s->u.schema->use_schemas + || s->u.schema->refdict || s->u.schema->ref_schemas ) { + raw( "\n" ); + } + + REFout( s->u.schema->usedict, s->u.schema->use_schemas, "USE", level + exppp_nesting_indent ); + REFout( s->u.schema->refdict, s->u.schema->ref_schemas, "REFERENCE", level + exppp_nesting_indent ); + + /* output order for DIS & IS schemas: + * CONSTANT + * TYPE + * ENTITY + * RULE + * FUNCTION + * PROCEDURE + * + * Within each of those groups, declarations must be sorted alphabetically. + */ + + SCOPEconsts_out( s, level + exppp_nesting_indent ); + SCOPEtypes_out( s, level + exppp_nesting_indent ); + SCOPEentities_out( s, level + exppp_nesting_indent ); + SCOPEalgs_out( s, level + exppp_nesting_indent ); + + raw( "\nEND_SCHEMA;"); + tail_comment( s->symbol.name ); + + fclose( exppp_fp ); + + return exppp_filename_buffer; + #undef PP_SMALL_BUF_SZ +} + + + +char * SCHEMAref_to_string( Schema s ) { + if( prep_string() ) { + return placeholder; + } + REFout( s->u.schema->usedict, s->u.schema->use_schemas, "USE", 0 ); + REFout( s->u.schema->refdict, s->u.schema->ref_schemas, "REFERENCE", 0 ); + return ( finish_string() ); +} + +/** return length of buffer used */ +int SCHEMAref_to_buffer( Schema s, char * buffer, int length ) { + if( prep_buffer( buffer, length ) ) { + return -1; + } + REFout( s->u.schema->usedict, s->u.schema->use_schemas, "USE", 0 ); + REFout( s->u.schema->refdict, s->u.schema->ref_schemas, "REFERENCE", 0 ); + return( finish_buffer() ); +} + +void SCHEMAref_out( Schema s ) { + prep_file(); + REFout( s->u.schema->usedict, s->u.schema->use_schemas, "USE", 0 ); + REFout( s->u.schema->refdict, s->u.schema->ref_schemas, "REFERENCE", 0 ); + finish_file(); +} diff --git a/src/exppp/pretty_schema.h b/src/exppp/pretty_schema.h new file mode 100644 index 000000000..b9c649f99 --- /dev/null +++ b/src/exppp/pretty_schema.h @@ -0,0 +1,11 @@ +#ifndef PRETTY_SCHEMA_H +#define PRETTY_SCHEMA_H + +#include + +char * SCHEMAout( Schema s ); +char * SCHEMAref_to_string( Schema s ); +void SCHEMAref_out( Schema s ); +int SCHEMAref_to_buffer( Schema s, char * buffer, int length ); + +#endif /* PRETTY_SCHEMA_H */ diff --git a/src/exppp/pretty_scope.c b/src/exppp/pretty_scope.c new file mode 100644 index 000000000..85fe041d1 --- /dev/null +++ b/src/exppp/pretty_scope.c @@ -0,0 +1,372 @@ +/** \file pretty_scope.c + * split out of exppp.c 9/21/13 + */ + +#include "pp.h" +#include "exppp.h" +#include "pretty_expr.h" +#include "pretty_rule.h" +#include "pretty_type.h" +#include "pretty_func.h" +#include "pretty_entity.h" +#include "pretty_proc.h" +#include "pretty_scope.h" + +/** add items from s to list alphabetically */ +void SCOPEadd_inorder( Linked_List list, Scope s ) { + Link k = 0; + + LISTdo_links( list, link ) + if( 0 > strcmp( + SCOPEget_name( s ), + SCOPEget_name( ( Type )( link->data ) ) ) ) { + k = link; + break; + } LISTod + + LISTadd_before( list, k, s ); +} + +/** like SCOPEadd_inorder, but for Variables */ +void SCOPEaddvars_inorder( Linked_List list, Variable v ) { + Link k = 0; + + LISTdo_links( list, link ) + if( 0 > strcmp( v->name->symbol.name, ( ( Variable ) link->data )->name->symbol.name ) ) { + k = link; + break; + } LISTod + + LISTadd_before( list, k, v ); +} + + +/** print the rules in a scope */ +void SCOPErules_out( Scope s, int level ) { + Rule r; + DictionaryEntry de; + + if( exppp_alphabetize == false ) { + DICTdo_type_init( s->symbol_table, &de, OBJ_RULE ); + while( 0 != ( r = ( Rule )DICTdo( &de ) ) ) { + RULE_out( r, level ); + } + } else { + Linked_List alpha = LISTcreate(); + + DICTdo_type_init( s->symbol_table, &de, OBJ_RULE ); + while( 0 != ( r = ( Rule )DICTdo( &de ) ) ) { + SCOPEadd_inorder( alpha, r ); + } + + LISTdo( alpha, ru, Rule ) { + RULE_out( ru, level ); + } LISTod + + LISTfree( alpha ); + } + +} + +/** print the functions in a scope */ +void SCOPEfuncs_out( Scope s, int level ) { + Function f; + DictionaryEntry de; + + if( exppp_alphabetize == false ) { + DICTdo_type_init( s->symbol_table, &de, OBJ_FUNCTION ); + while( 0 != ( f = ( Function )DICTdo( &de ) ) ) { + FUNC_out( f, level ); + } + } else { + Linked_List alpha = LISTcreate(); + + DICTdo_type_init( s->symbol_table, &de, OBJ_FUNCTION ); + while( 0 != ( f = ( Function )DICTdo( &de ) ) ) { + SCOPEadd_inorder( alpha, f ); + } + + LISTdo( alpha, fun, Function ) { + FUNC_out( fun, level ); + } LISTod + + LISTfree( alpha ); + } + +} + +/* print the procs in a scope */ +void SCOPEprocs_out( Scope s, int level ) { + Procedure p; + DictionaryEntry de; + + if( exppp_alphabetize == false ) { + DICTdo_type_init( s->symbol_table, &de, OBJ_PROCEDURE ); + while( 0 != ( p = ( Procedure )DICTdo( &de ) ) ) { + PROC_out( p, level ); + } + } else { + Linked_List alpha = LISTcreate(); + + DICTdo_type_init( s->symbol_table, &de, OBJ_PROCEDURE ); + while( 0 != ( p = ( Procedure )DICTdo( &de ) ) ) { + SCOPEadd_inorder( alpha, p ); + } + + LISTdo( alpha, pr, Procedure ) { + PROC_out( pr, level ); + } LISTod + + LISTfree( alpha ); + } + +} + +/* output order for DIS & IS schemas: + * CONSTANT + * TYPE + * ENTITY + * RULE + * FUNCTION + * PROCEDURE + * + * Within each of those groups, declarations must be sorted alphabetically. + */ +/* print the algorithms in a scope */ +void SCOPEalgs_out( Scope s, int level ) { + /* Supplementary Directivies 2.1.1 requires rules to be separated */ + /* might as well separate funcs and procs, too */ + SCOPErules_out( s, level ); + SCOPEfuncs_out( s, level ); + SCOPEprocs_out( s, level ); +} + +/** output one const - used in SCOPEconsts_out, below */ +void SCOPEconst_out( Variable v, int level, size_t max_indent ) { + size_t old_indent2; + + /* print attribute name */ + raw( "%*s%-*s :", level + 2, "", + max_indent, v->name->symbol.name ); + + /* print attribute type */ + if( VARget_optional( v ) ) { + wrap( " OPTIONAL" ); + } + + /* let type definition stick out a bit to the left if it's on a new line */ + old_indent2 = indent2; + if( indent2 > 4 ) { + indent2 -= 4; + } + TYPE_head_out( v->type, NOLEVEL ); + indent2 = old_indent2; + + if( v->initializer ) { + int old_ll = exppp_linelength; /* so exppp_linelength can be restored */ + raw( " :=" ); + + /* let '[' on first line of initializer stick out so strings are aligned */ + raw( "\n%*s", indent2 - 2, "" ); + + if( exppp_aggressively_wrap_consts ) { + /* causes wrap() to always begin new line */ + exppp_linelength = indent2; + } + EXPR_out( v->initializer, 0 ); + exppp_linelength = old_ll; + } + + raw( ";\n" ); +} + +/** output all consts in this scope */ +void SCOPEconsts_out( Scope s, int level ) { + Variable v; + DictionaryEntry de; + size_t max_indent = 0; + Dictionary d = s->symbol_table; + + /* checks length of constant names */ + DICTdo_type_init( d, &de, OBJ_VARIABLE ); + while( 0 != ( v = ( Variable )DICTdo( &de ) ) ) { + if( !v->flags.constant ) { + continue; + } + if( strlen( v->name->symbol.name ) > max_indent ) { + max_indent = strlen( v->name->symbol.name ); + } + } + + if( !max_indent ) { + return; + } + + first_newline(); + + raw( "%*sCONSTANT\n", level, "" ); + + /* if max_indent is too big, wrap() won't insert any newlines + * fiddled with this until it looked ok on 242 arm + */ + if( ( max_indent + 20 ) > ( size_t ) exppp_linelength / 2 ) { + max_indent = ( size_t ) exppp_linelength / 3; + } + indent2 = level + max_indent + strlen( ": ab" ) + exppp_continuation_indent; + + if( !exppp_alphabetize ) { + DICTdo_type_init( d, &de, OBJ_VARIABLE ); + while( 0 != ( v = ( Variable )DICTdo( &de ) ) ) { + if( !v->flags.constant ) { + continue; + } + SCOPEconst_out( v, level, max_indent ); + } + } else { + Linked_List alpha = LISTcreate(); + + DICTdo_type_init( d, &de, OBJ_VARIABLE ); + while( 0 != ( v = ( Variable )DICTdo( &de ) ) ) { + if( !v->flags.constant ) { + continue; + } + SCOPEaddvars_inorder( alpha, v ); + } + LISTdo( alpha, cnst, Variable ) { + SCOPEconst_out( cnst, level, max_indent ); + } LISTod + LISTfree( alpha ); + } + raw( "%*sEND_CONSTANT;\n", level, "" ); +} + +/** insert variable v into list, keeping the list ordered by ascending v->offset */ +void SCOPElocals_order( Linked_List list, Variable v ) { + LISTdo_links( list, link ) { + if( v->offset < ( (Variable) link->data )->offset ) { + LISTadd_before( list, link, v ); + return; + } + } LISTod + LISTadd_last( list, v ); +} + +void SCOPElocals_out( Scope s, int level ) { + Variable v; + DictionaryEntry de; + Linked_List orderedLocals = 0; /**< this list is used to order the vars the same way they were in the file */ + size_t max_indent = 0; + Dictionary d = s->symbol_table; + + DICTdo_type_init( d, &de, OBJ_VARIABLE ); + while( 0 != ( v = ( Variable )DICTdo( &de ) ) ) { + if( v->flags.constant ) { + continue; + } + if( v->flags.parameter ) { + continue; + } + if( strlen( v->name->symbol.name ) > max_indent ) { + max_indent = strlen( v->name->symbol.name ); + } + } + + if( !max_indent ) { + return; + } + + first_newline(); + + raw( "%*sLOCAL\n", level, "" ); + indent2 = level + max_indent + strlen( ": " ) + exppp_continuation_indent; + + DICTdo_type_init( d, &de, OBJ_VARIABLE ); + while( 0 != ( v = ( Variable )DICTdo( &de ) ) ) { + if( v->flags.constant ) { + continue; + } + if( v->flags.parameter ) { + continue; + } + if( !orderedLocals ) { + orderedLocals = LISTcreate(); + LISTadd_first( orderedLocals, v ); + } else { + /* sort by v->offset */ + SCOPElocals_order( orderedLocals, v ); + } + } + LISTdo( orderedLocals, var, Variable ) { + /* print attribute name */ + raw( "%*s%-*s :", level + exppp_nesting_indent, "", + max_indent, var->name->symbol.name ); + + /* print attribute type */ + if( VARget_optional( var ) ) { + wrap( " OPTIONAL" ); + } + TYPE_head_out( var->type, NOLEVEL ); + + if( var->initializer ) { + wrap( " := " ); + EXPR_out( var->initializer, 0 ); + } + + raw( ";\n" ); + } LISTod + LISTfree( orderedLocals ); + + raw( "%*sEND_LOCAL;\n", level, "" ); +} + +/** print all entities in a scope */ +void SCOPEentities_out( Scope s, int level ) { + Entity e; + DictionaryEntry de; + + if( exppp_alphabetize == false ) { + DICTdo_type_init( s->symbol_table, &de, OBJ_ENTITY ); + while( 0 != ( e = ( Entity )DICTdo( &de ) ) ) { + ENTITY_out( e, level ); + } + } else { + Linked_List alpha = LISTcreate(); + + DICTdo_type_init( s->symbol_table, &de, OBJ_ENTITY ); + while( 0 != ( e = ( Entity )DICTdo( &de ) ) ) { + SCOPEadd_inorder( alpha, e ); + } + + LISTdo( alpha, en, Entity ) { + ENTITY_out( en, level ); + } LISTod + + LISTfree( alpha ); + } +} + +/** print all types in a scope */ +void SCOPEtypes_out( Scope s, int level ) { + DictionaryEntry de; + Type t; + + if( exppp_alphabetize == false ) { + DICTdo_type_init( s->symbol_table, &de, OBJ_TYPE ); + while( 0 != ( t = ( Type )DICTdo( &de ) ) ) { + TYPE_out( t, level ); + } + } else { + Linked_List alpha = LISTcreate(); + + DICTdo_type_init( s->symbol_table, &de, OBJ_TYPE ); + while( 0 != ( t = ( Type )DICTdo( &de ) ) ) { + SCOPEadd_inorder( alpha, t ); + } + + LISTdo( alpha, ty, Type ) { + TYPE_out( ty, level ); + } LISTod + + LISTfree( alpha ); + } +} diff --git a/src/exppp/pretty_scope.h b/src/exppp/pretty_scope.h new file mode 100644 index 000000000..1e4e82e7d --- /dev/null +++ b/src/exppp/pretty_scope.h @@ -0,0 +1,20 @@ +#ifndef PRETTY_SCOPE_H +#define PRETTY_SCOPE_H + +#include +#include + +#include "pp.h" + +void SCOPEadd_inorder( Linked_List list, Scope s ); +void SCOPEalgs_out( Scope s, int level ); +void SCOPEconsts_out( Scope s, int level ); +void SCOPEentities_out( Scope s, int level ); +void SCOPEfuncs_out( Scope s, int level ); +void SCOPElocals_out( Scope s, int level ); +void SCOPEprocs_out( Scope s, int level ); +void SCOPErules_out( Scope s, int level ); +void SCOPEtypes_out( Scope s, int level ); + + +#endif /* PRETTY_SCOPE_H */ diff --git a/src/exppp/pretty_stmt.c b/src/exppp/pretty_stmt.c new file mode 100644 index 000000000..7694577ed --- /dev/null +++ b/src/exppp/pretty_stmt.c @@ -0,0 +1,118 @@ +/** \file pretty_stmt.c + * split out of exppp.c 9/21/13 + */ + +#include +#include "pp.h" +#include "pretty_expr.h" +#include "pretty_case.h" +#include "pretty_loop.h" +#include "pretty_stmt.h" + +void STMT_out( Statement s, int level ) { + bool first_time = true; + + if( !s ) { /* null statement */ + raw( "%*s;\n", level, "" ); + return; + } + + indent2 = level + exppp_continuation_indent; + + switch( s->type ) { + case STMT_ASSIGN: + raw( "%*s", level, "" ); + EXPR_out( s->u.assign->lhs, 0 ); + wrap( " := " ); + EXPR_out( s->u.assign->rhs, 0 ); + raw( ";\n", level, "" ); + break; + case STMT_CASE: + CASEout( s->u.Case, level ); + break; + case STMT_COMPOUND: + raw( "\n%*sBEGIN\n", level, "" ); + STMTlist_out( s->u.compound->statements, level + exppp_nesting_indent ); + raw( "%*sEND;\n", level, "" ); + break; + case STMT_COND: + raw( "%*sIF ", level, "" ); + EXPR_out( s->u.cond->test, 0 ); + wrap( " THEN\n" ); + STMTlist_out( s->u.cond->code, level + exppp_nesting_indent ); + if( s->u.cond->otherwise ) { + raw( "%*sELSE\n", level, "" ); + STMTlist_out( s->u.cond->otherwise, level + exppp_nesting_indent ); + } + raw( "%*sEND_IF;\n", level, "" ); + break; + case STMT_LOOP: + LOOPout( s->u.loop, level ); + break; + case STMT_PCALL: + raw( "%*s%s( ", level, "", s->symbol.name ); + LISTdo( s->u.proc->parameters, p, Expression ) + if( first_time ) { + first_time = false; + } else { + raw( ", " ); + } + EXPR_out( p, 0 ); + LISTod + raw( " );\n" ); + break; + case STMT_RETURN: + raw( "%*sRETURN", level, "" ); + if( s->u.ret->value ) { + wrap( "( " ); + EXPR_out( s->u.ret->value, 0 ); + raw( " )" ); + } + raw( ";\n" ); + break; + case STMT_ALIAS: + raw( "%*sALIAS %s for %s;\n", level, "", s->symbol.name, + /* should be generalized reference */ + s->u.alias->variable->name->symbol.name ); + STMTlist_out( s->u.alias->statements, level + exppp_nesting_indent ); + raw( "%*sEND_ALIAS;", level, "" ); + tail_comment( s->symbol.name ); + break; + case STMT_SKIP: + raw( "%*sSKIP;\n", level, "" ); + break; + case STMT_ESCAPE: + raw( "%*sESCAPE;\n", level, "" ); + break; + } +} + +void STMTlist_out( Linked_List stmts, int level ) { + LISTdo( stmts, stmt, Statement ) + STMT_out( stmt, level ); + LISTod +} + +char * STMTto_string( Statement s ) { + if( prep_string() ) { + return placeholder; + } + STMT_out( s, 0 ); + return ( finish_string() ); +} + +/* return length of buffer used */ +int STMTto_buffer( Statement s, char * buffer, int length ) { + if( prep_buffer( buffer, length ) ) { + return -1; + } + STMT_out( s, 0 ); + return( finish_buffer() ); +} + +void STMTout( Statement s ) { + prep_file(); + STMT_out( s, 0 ); + finish_file(); +} + diff --git a/src/exppp/pretty_stmt.h b/src/exppp/pretty_stmt.h new file mode 100644 index 000000000..fe75ff372 --- /dev/null +++ b/src/exppp/pretty_stmt.h @@ -0,0 +1,14 @@ +#ifndef PRETTY_STMT_H +#define PRETTY_STMT_H + +#include +#include + +char * STMTto_string( Statement s ); +void STMT_out( Statement s, int level ); +void STMTlist_out( Linked_List stmts, int level ); +void STMTout( Statement s ); +int STMTto_buffer( Statement s, char * buffer, int length ); + + +#endif /* PRETTY_STMT_H */ diff --git a/src/exppp/pretty_subtype.c b/src/exppp/pretty_subtype.c new file mode 100644 index 000000000..f21d6c620 --- /dev/null +++ b/src/exppp/pretty_subtype.c @@ -0,0 +1,32 @@ +/** \file pretty_subtype.c + * split out of exppp.c 9/21/13 + */ + +#include "exppp.h" + +#include "pp.h" +#include "pretty_expr.h" +#include "pretty_subtype.h" + +void SUBTYPEout( Expression e ) { + /* language insists on having parens around entity names */ + /* even if there is only one, but if the expression is */ + /* complex, EXPRout will add on its own parens */ + /* if (TYPEis_expression(e->type)) {*/ + raw( "( " ); + /* }*/ + + EXPR_out( e, 0 ); + + /* if (TYPEis_expression(e->type)) {*/ + raw( " )" ); + /* }*/ +} + +char * SUBTYPEto_string( Expression e ) { + if( prep_string() ) { + return placeholder; + } + EXPR_out( e, 0 ); + return ( finish_string() ); +} diff --git a/src/exppp/pretty_subtype.h b/src/exppp/pretty_subtype.h new file mode 100644 index 000000000..4ff6ef085 --- /dev/null +++ b/src/exppp/pretty_subtype.h @@ -0,0 +1,10 @@ +#ifndef PRETTY_SUBTYPE_H +#define PRETTY_SUBTYPE_H + +#include + +char * SUBTYPEto_string( Expression e ); +void SUBTYPEout( Expression e ); + + +#endif /* PRETTY_SUBTYPE_H */ diff --git a/src/exppp/pretty_type.c b/src/exppp/pretty_type.c new file mode 100644 index 000000000..678d2b87a --- /dev/null +++ b/src/exppp/pretty_type.c @@ -0,0 +1,292 @@ +/** \file pretty_type.c + * split out of exppp.c 9/21/13 + */ + +#include + +#include + +#include "exppp.h" +#include "pp.h" +#include "pretty_where.h" +#include "pretty_expr.h" +#include "pretty_type.h" + +/** print a type definition. I.e., a TYPE statement */ +void TYPE_out( Type t, int level ) { + first_newline(); + exppp_ref_info( &t->symbol ); + + raw( "%*sTYPE %s =", level, "", t->symbol.name ); + if( TYPEget_head( t ) ) { + wrap( " %s", TYPEget_name( TYPEget_head( t ) ) ); + } else { + TYPE_body_out( t, level + exppp_nesting_indent ); + } + + raw( ";\n" ); + + WHERE_out( t->where, level ); + + raw( "%*sEND_TYPE;", level, "" ); + tail_comment( t->symbol.name ); +} + +/** prints type description (preceded by a space). + * I.e., the type of an attribute or other object + */ +void TYPE_head_out( Type t, int level ) { + if( t->symbol.name ) { + int old_indent = indent2; + if( indent2 + ( int ) strlen( t->symbol.name ) > exppp_linelength ) { + indent2 = ( indent2 + level ) / 2; + } + wrap( " %s", t->symbol.name ); + indent2 = old_indent; + } else { + TYPE_body_out( t, level ); + } +} + +void TYPEunique_or_optional_out( TypeBody tb ) { + if( tb->flags.unique ) { + wrap( " UNIQUE" ); + } + if( tb->flags.optional ) { + wrap( " OPTIONAL" ); + } +} + +void TYPE_body_out( Type t, int level ) { + bool first_time = true; + + Expression expr; + DictionaryEntry de; + + TypeBody tb = TYPEget_body( t ); + + switch( tb->type ) { + case integer_: + wrap( " INTEGER" ); + break; + case real_: + wrap( " REAL" ); + break; + case string_: + wrap( " STRING" ); + break; + case binary_: + wrap( " BINARY" ); + break; + case boolean_: + wrap( " BOOLEAN" ); + break; + case logical_: + wrap( " LOGICAL" ); + break; + case number_: + wrap( " NUMBER" ); + break; + case entity_: + wrap( " %s", tb->entity->symbol.name ); + break; + case aggregate_: + case array_: + case bag_: + case set_: + case list_: + switch( tb->type ) { + /* ignore the aggregate bounds for now */ + case aggregate_: + wrap( " AGGREGATE" ); + if( tb->tag ) { + wrap( ":%s", tb->tag->symbol.name ); + } + wrap( " OF" ); + break; + + case array_: + wrap( " ARRAY" ); + EXPRbounds_out( tb ); + wrap( " OF" ); + TYPEunique_or_optional_out( tb ); + break; + + case bag_: + wrap( " BAG" ); + EXPRbounds_out( tb ); + wrap( " OF" ); + break; + + case set_: + wrap( " SET" ); + EXPRbounds_out( tb ); + wrap( " OF" ); + break; + + case list_: + wrap( " LIST" ); + EXPRbounds_out( tb ); + wrap( " OF" ); + TYPEunique_or_optional_out( tb ); + break; + default: + fprintf( stderr, "exppp: Reached default case, %s:%d", __FILE__, __LINE__ ); + abort(); + } + + TYPE_head_out( tb->base, level ); + break; + case enumeration_: { + int i, count = 0; + char ** names; + + /* + * write names out in original order by first bucket sorting + * to a temporary array. This is trivial since all buckets + * will get filled with one and only one object. + */ + DICTdo_type_init( t->symbol_table, &de, OBJ_EXPRESSION ); + while( 0 != ( expr = ( Expression )DICTdo( &de ) ) ) { + count++; + } + names = ( char ** )calloc( count, sizeof( char * ) ); + DICTdo_type_init( t->symbol_table, &de, OBJ_EXPRESSION ); + while( 0 != ( expr = ( Expression )DICTdo( &de ) ) ) { + names[expr->u.integer - 1] = expr->symbol.name; + } + + wrap( " ENUMERATION OF\n" ); + + for( i = 0; i < count; i++ ) { + /* finish line from previous enum item */ + if( !first_time ) { + raw( ",\n" ); + } + + /* start new enum item */ + if( first_time ) { + raw( "%*s( ", level, "" ); + first_time = false; + } else { + raw( "%*s ", level, "" ); + } + raw( names[i] ); + } + raw( " )" ); + free( ( char * )names ); + } + break; + case select_: + wrap( " SELECT\n" ); + LISTdo( tb->list, type, Type ) + /* finish line from previous entity */ + if( !first_time ) { + raw( ",\n" ); + } + + /* start new entity */ + if( first_time ) { + raw( "%*s( ", level, "" ); + first_time = false; + } else { + raw( "%*s ", level, "" ); + } + raw( type->symbol.name ); + LISTod + + /* if empty, force a left paren */ + if( first_time ) { + ERRORreport_with_symbol( SELECT_EMPTY, &error_sym, t->symbol.name ); + raw( "%*s( ", level, "" ); + } + raw( " )" ); + break; + case generic_: + wrap( " GENERIC" ); + if( tb->tag ) { + wrap( ":%s", tb->tag->symbol.name ); + } + break; + default: + wrap( " (* unknown type %d *)", tb->type ); + } + + if( tb->precision ) { + wrap( " ( " ); + EXPR_out( tb->precision, 0 ); + raw( " )" ); + } + if( tb->flags.fixed ) { + wrap( " FIXED" ); + } +} + +char * TYPEto_string( Type t ) { + if( prep_string() ) { + return placeholder; + } + TYPE_out( t, 0 ); + return ( finish_string() ); +} + +/** return length of buffer used */ +int TYPEto_buffer( Type t, char * buffer, int length ) { + if( prep_buffer( buffer, length ) ) { + return -1; + } + TYPE_out( t, 0 ); + return( finish_buffer() ); +} + +void TYPEout( Type t ) { + prep_file(); + TYPE_out( t, 0 ); + finish_file(); +} + +char * TYPEhead_to_string( Type t ) { + if( prep_string() ) { + return placeholder; + } + TYPE_head_out( t, 0 ); + return ( finish_string() ); +} + +/** return length of buffer used */ +int TYPEhead_to_buffer( Type t, char * buffer, int length ) { + if( prep_buffer( buffer, length ) ) { + return -1; + } + TYPE_out( t, 0 ); + return( finish_buffer() ); +} + +void TYPEhead_out( Type t ) { + prep_file(); + TYPE_head_out( t, 0 ); + finish_file(); +} + +char * TYPEbody_to_string( Type t ) { + if( prep_string() ) { + return placeholder; + } + TYPE_body_out( t, 0 ); + return ( finish_string() ); +} + +/** return length of buffer used */ +int TYPEbody_to_buffer( Type t, char * buffer, int length ) { + if( prep_buffer( buffer, length ) ) { + return -1; + } + TYPE_body_out( t, 0 ); + return( finish_buffer() ); +} + +void TYPEbody_out( Type t ) { + prep_file(); + TYPE_body_out( t, 0 ); + finish_file(); +} diff --git a/src/exppp/pretty_type.h b/src/exppp/pretty_type.h new file mode 100644 index 000000000..29101695b --- /dev/null +++ b/src/exppp/pretty_type.h @@ -0,0 +1,21 @@ +#ifndef PRETTY_TYPE_H +#define PRETTY_TYPE_H + +#include "../express/type.h" + +char * TYPEbody_to_string( Type t ); +char * TYPEhead_to_string( Type t ); +char * TYPEto_string( Type t ); +void TYPE_body_out( Type t, int level ); +void TYPE_head_out( Type t, int level ); +void TYPE_out( Type t, int level ); +void TYPEbody_out( Type t ); +int TYPEbody_to_buffer( Type t, char * buffer, int length ); +void TYPEhead_out( Type t ); +int TYPEhead_to_buffer( Type t, char * buffer, int length ); +void TYPEout( Type t ); +int TYPEto_buffer( Type t, char * buffer, int length ); +void TYPEunique_or_optional_out( TypeBody tb ); + + +#endif /* PRETTY_TYPE_H */ diff --git a/src/exppp/pretty_where.c b/src/exppp/pretty_where.c new file mode 100644 index 000000000..b461baaa6 --- /dev/null +++ b/src/exppp/pretty_where.c @@ -0,0 +1,74 @@ +/** \file pretty_where.c + * functions for pretty-printing where rules + * split out of exppp.c 9/21/13 + */ + +#include +#include + +#include "pp.h" +#include "pretty_expr.h" +#include "pretty_where.h" + +char * WHEREto_string( Linked_List w ) { + if( prep_string() ) { + return placeholder; + } + WHERE_out( w, 0 ); + return ( finish_string() ); +} + +/** return length of buffer used */ +int WHEREto_buffer( Linked_List w, char * buffer, int length ) { + if( prep_buffer( buffer, length ) ) { + return -1; + } + WHERE_out( w, 0 ); + return( finish_buffer() ); +} + +void WHEREout( Linked_List w ) { + prep_file(); + WHERE_out( w, 0 ); + finish_file(); +} + +void WHERE_out( Linked_List wheres, int level ) { + size_t max_indent; + if( !wheres ) { + return; + } + + raw( "%*s%s", level, "", "WHERE\n" ); + level += exppp_nesting_indent; + + /* pass 1: calculate length of longest label */ + max_indent = 0; + LISTdo( wheres, w, Where ) { + if( w->label ) { + if( strlen( w->label->name ) > max_indent ) { + max_indent = strlen( w->label->name ); + } + } + } LISTod + + if( max_indent > 10 ) { + /* don't bother indenting completely for + * labels that are ridiculously long */ + max_indent = 4; + } + indent2 = level + max_indent + strlen( ": " ) + exppp_continuation_indent; + + /* pass 2: now print labels and exprs */ + LISTdo( wheres, w, Where ) { + if( w->label ) { + raw( "%*s%-*s: ", level, "", max_indent, w->label->name ); + } else { + /* no label */ + raw( "%*s%-*s ", level, "", max_indent, "" ); + } + EXPR_out( w->expr, max_indent ); + raw( ";\n" ); + } LISTod +} + diff --git a/src/exppp/pretty_where.h b/src/exppp/pretty_where.h new file mode 100644 index 000000000..72d1a657a --- /dev/null +++ b/src/exppp/pretty_where.h @@ -0,0 +1,12 @@ +#ifndef PRETTY_WHERE_H +#define PRETTY_WHERE_H + +#include + +void WHERE_out( Linked_List wheres, int level ); +void WHEREout( Linked_List w ); +int WHEREto_buffer( Linked_List w, char * buffer, int length ); +char * WHEREto_string( Linked_List w ); + + +#endif /* PRETTY_WHERE_H */ diff --git a/src/exppp/test/CMakeLists.txt b/src/exppp/test/CMakeLists.txt new file mode 100644 index 000000000..e13a480e0 --- /dev/null +++ b/src/exppp/test/CMakeLists.txt @@ -0,0 +1,75 @@ +cmake_minimum_required(VERSION 3.12) +project(test_exppp) + +set(breakLongStr_SRCS + test_breakLongStr.c + ../exppp.c + ) + +add_test(NAME build_exppp + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target exppp + --config $ + ) + +# this executable doesn't really check the results, just ensures no segfaults. ought to improve it... +SC_ADDEXEC(tst_breakLongStr SOURCES ${breakLongStr_SRCS} LINK_LIBRARIES express TESTABLE) +add_test(NAME build_tst_breakLongStr + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target tst_breakLongStr + --config $ + ) +add_test(test_breakLongStr ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/tst_breakLongStr) +set_tests_properties(test_breakLongStr PROPERTIES DEPENDS build_tst_breakLongStr) + +#could run test schemas through exppp, then check line length... + + +# ---- syntax tests ---- +set(unitary_dir ${SC_SOURCE_DIR}/test/unitary_schemas) + +add_test(NAME test_exppp_unique_qualifiers + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -DEXPPP=$ + -DINFILE=${unitary_dir}/unique_qualifiers.exp + -P ${CMAKE_CURRENT_SOURCE_DIR}/unique_qualifiers.cmake + ) + +add_test(NAME test_exppp_lost_var + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -DEXPPP=$ + -DINFILE=${CMAKE_CURRENT_SOURCE_DIR}/exppp_lost_var.exp + -P ${CMAKE_CURRENT_SOURCE_DIR}/exppp_lost_var.cmake + ) + +add_test(NAME test_exppp_inverse_qualifiers + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -DEXPPP=$ + -DINFILE=${unitary_dir}/inverse_qualifiers.exp + -P ${CMAKE_CURRENT_SOURCE_DIR}/inverse_qualifiers.cmake + ) + +add_test(NAME test_exppp_div_slash + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -DEXPPP=$ + -DINFILE=${CMAKE_CURRENT_SOURCE_DIR}/exppp_div_slash.exp + -P ${CMAKE_CURRENT_SOURCE_DIR}/exppp_div_slash.cmake + ) + +add_test(NAME test_exppp_supertype_andor + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -DEXPPP=$ + -DINFILE=${CMAKE_CURRENT_SOURCE_DIR}/exppp_supertype_andor.exp + -P ${CMAKE_CURRENT_SOURCE_DIR}/exppp_supertype_andor.cmake + ) + + set_tests_properties(test_exppp_unique_qualifiers test_exppp_inverse_qualifiers test_exppp_lost_var test_exppp_div_slash test_exppp_supertype_andor PROPERTIES DEPENDS build_exppp) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 diff --git a/src/exppp/test/exppp_div_slash.cmake b/src/exppp/test/exppp_div_slash.cmake new file mode 100644 index 000000000..5e11a92a0 --- /dev/null +++ b/src/exppp/test/exppp_div_slash.cmake @@ -0,0 +1,27 @@ +cmake_minimum_required( VERSION 3.12 ) + +# executable is ${EXPPP}, input file is ${INFILE} + +set( ofile "div_slash_out.exp" ) +execute_process( COMMAND ${EXPPP} -o ${ofile} ${INFILE} + RESULT_VARIABLE CMD_RESULT ) +if( NOT ${CMD_RESULT} EQUAL 0 ) + message(FATAL_ERROR "Error running ${EXPPP} on ${INFILE}") +endif( NOT ${CMD_RESULT} EQUAL 0 ) + +# file( READ ${INFILE} pretty_in LIMIT 1024 ) +file( READ ${ofile} pretty_out LIMIT 1024 ) + +# VAR rmax_in : BOOLEAN +string( REGEX MATCH "result_i *: *INTEGER .*DIV" match_result ${pretty_out} ) +# r : REAL (should not have VAR) +string( REGEX MATCH "result_r *: *REAL .*/" match_result2 ${pretty_out} ) + +if( match_result STREQUAL "" ) + message( FATAL_ERROR "Pretty printer output does not match input - ." ) +endif( match_result STREQUAL "" ) +if( match_result2 STREQUAL "" ) + message( FATAL_ERROR "Pretty printer output does not match input - ." ) +endif( match_result2 STREQUAL "" ) + + diff --git a/src/exppp/test/exppp_div_slash.exp b/src/exppp/test/exppp_div_slash.exp new file mode 100644 index 000000000..5fe0db572 --- /dev/null +++ b/src/exppp/test/exppp_div_slash.exp @@ -0,0 +1,19 @@ +-- derived from ap214e3 +-- test schema for exppp +-- '/' should not become 'DIV' and vice versa + +SCHEMA div_slash; + +ENTITY divided_real; + x, y : REAL; + DERIVE + result_r: REAL := x/y; +END_ENTITY; + +ENTITY divided_int; + x, y : INTEGER; + DERIVE + result_i: INTEGER := x DIV y; +END_ENTITY; + +END_SCHEMA; diff --git a/src/exppp/test/exppp_lost_var.cmake b/src/exppp/test/exppp_lost_var.cmake new file mode 100644 index 000000000..1989cc465 --- /dev/null +++ b/src/exppp/test/exppp_lost_var.cmake @@ -0,0 +1,25 @@ +cmake_minimum_required( VERSION 3.12 ) + +# executable is ${EXPPP}, input file is ${INFILE} + +set( ofile "lost_var_out.exp" ) +execute_process( COMMAND ${EXPPP} -o ${ofile} ${INFILE} + RESULT_VARIABLE CMD_RESULT ) +if( NOT ${CMD_RESULT} EQUAL 0 ) + message(FATAL_ERROR "Error running ${EXPPP} on ${INFILE}") +endif( NOT ${CMD_RESULT} EQUAL 0 ) + +# file( READ ${INFILE} pretty_in LIMIT 1024 ) +file( READ ${ofile} pretty_out LIMIT 1024 ) + +# VAR rmax_in : BOOLEAN +string( REGEX MATCH "VAR *rmax_in *: *BOOLEAN" match_result ${pretty_out} ) +# r : REAL (should not have VAR) +string( REGEX MATCH "VAR *r *: *REAL" match_result2 ${pretty_out} ) + +if( match_result STREQUAL "" ) + message( FATAL_ERROR "Pretty printer output does not match input - missing VAR." ) +endif( match_result STREQUAL "" ) +if( NOT match_result2 STREQUAL "" ) + message( FATAL_ERROR "Pretty printer output does not match input - extra VAR." ) +endif( NOT match_result2 STREQUAL "" ) diff --git a/src/exppp/test/exppp_lost_var.exp b/src/exppp/test/exppp_lost_var.exp new file mode 100644 index 000000000..08fbec368 --- /dev/null +++ b/src/exppp/test/exppp_lost_var.exp @@ -0,0 +1,17 @@ +-- derived from ap235 +-- test file for exppp +SCHEMA proc_with_var; + PROCEDURE range_max + (r : REAL; + incl : BOOLEAN; + VAR rmax : REAL; + VAR rmax_in : BOOLEAN ); + IF rmax = r THEN + rmax_in := rmax_in OR incl; + END_IF; + IF rmax < r THEN + rmax := r; + rmax_in := incl; + END_IF; + END_PROCEDURE; +END_SCHEMA; diff --git a/src/exppp/test/exppp_problems.exp b/src/exppp/test/exppp_problems.exp new file mode 100644 index 000000000..c52ac9fa9 --- /dev/null +++ b/src/exppp/test/exppp_problems.exp @@ -0,0 +1,45 @@ +SCHEMA exppp_problems; + + ENTITY A; + name : STRING; -- should remain colon + END_ENTITY; + + ENTITY B + SUBTYPE OF (A); + WHERE + WR1: SELF.name IN ['prefix', 'suffix']; -- should remain comma + END_ENTITY; + + ENTITY C; + arr_real : ARRAY[1:3] OF REAL; -- should remain colon + DERIVE + id : REAL := 1.2345678901234567890E20; -- check precision after pretty print + END_ENTITY; + + FUNCTION exppp_colon_and_comma( + lis: LIST [0:?] OF GENERIC:t -- should remain colon + ): ARRAY [1:5] OF GENERIC:t; -- should remain colon + + LOCAL + re : ARRAY [1:5] OF GENERIC:t; -- should remain colon + res : ARRAY [1:5] OF GENERIC:t; -- should remain colon + END_LOCAL; + re := [lis[1],5]; --should remain a comma + res := [lis[1]:5]; --should remain a colon + RETURN(res); + + END_FUNCTION; -- exppp_colon_and_comma + + ENTITY long_lines; + name : STRING; + WHERE + WR1: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) + <= 1; + WR2: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; + WR3: SIZEOF ([ USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MANIFOLD_SOLID_BREP'), USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.MAPPED_ITEM') ] ) = 1; + WR4: SIZEOF (USEDIN (SELF, 'AP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF.' + + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; + END_ENTITY; + +END_SCHEMA; -- exppp_problems diff --git a/src/exppp/test/exppp_supertype_andor.cmake b/src/exppp/test/exppp_supertype_andor.cmake new file mode 100644 index 000000000..547ad70a5 --- /dev/null +++ b/src/exppp/test/exppp_supertype_andor.cmake @@ -0,0 +1,28 @@ + +cmake_minimum_required( VERSION 2.8 ) + +# executable is ${EXPPP}, input file is ${INFILE} + +set( ofile "exppp_supertype_andor_out.exp" ) +execute_process( COMMAND ${EXPPP} -o ${ofile} ${INFILE} + RESULT_VARIABLE CMD_RESULT ) +if( NOT ${CMD_RESULT} EQUAL 0 ) + message(FATAL_ERROR "Error running ${EXPPP} on ${INFILE}") +endif( NOT ${CMD_RESULT} EQUAL 0 ) + +# file( READ ${INFILE} pretty_in LIMIT 1024 ) +file( READ ${ofile} pretty_out LIMIT 1024 ) + +# need to be 3 parens after path +string(FIND "${pretty_out}" "path ) ) )" match_result ) +if( match_result LESS 1 ) + message( FATAL_ERROR "Pretty printer output does not match input." ) +endif( match_result LESS 1 ) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/src/exppp/test/exppp_supertype_andor.exp b/src/exppp/test/exppp_supertype_andor.exp new file mode 100644 index 000000000..575cdf443 --- /dev/null +++ b/src/exppp/test/exppp_supertype_andor.exp @@ -0,0 +1,38 @@ +(* reported as issue #318 +ENTITY Detailed_topological_model_element + ABSTRACT SUPERTYPE OF (ONEOF ( + CONNECTED_EDGE_SET, + CONNECTED_FACE_SET, + EDGE, + FACE, + FACE_BOUND, + VERTEX,( --paren missing in output + LOOP + ANDOR + PATH))) --paren missing in output + SUBTYPE OF (Representation_item); +END_ENTITY; +*) + +SCHEMA supertype_andor; + +ENTITY DTME + ABSTRACT SUPERTYPE OF (ONEOF ( + VERTEX, + (LOOP + ANDOR + PATH) + )); +END_ENTITY; + +ENTITY VERTEX + SUBTYPE OF (DTME); +END_ENTITY; +ENTITY LOOP + SUBTYPE OF (DTME); +END_ENTITY; +ENTITY PATH + SUBTYPE OF (DTME); +END_ENTITY; + +END_SCHEMA; diff --git a/src/exppp/test/inverse_qualifiers.cmake b/src/exppp/test/inverse_qualifiers.cmake new file mode 100644 index 000000000..48f1fc5ea --- /dev/null +++ b/src/exppp/test/inverse_qualifiers.cmake @@ -0,0 +1,29 @@ +cmake_minimum_required( VERSION 3.12 ) + +# executable is ${EXPPP}, input file is ${INFILE} + +set( ofile "inverse_qual_out.exp" ) +execute_process( COMMAND ${EXPPP} -o ${ofile} ${INFILE} + RESULT_VARIABLE CMD_RESULT ) +if( NOT ${CMD_RESULT} EQUAL 0 ) + message(FATAL_ERROR "Error running ${EXPPP} on ${INFILE}") +endif( NOT ${CMD_RESULT} EQUAL 0 ) + +# file( READ ${INFILE} pretty_in LIMIT 1024 ) +file( READ ${ofile} pretty_out LIMIT 1024 ) + +# SELF\product_occurrence.occurrence_contexts : SET [1 : ?] OF assembly_component_relationship FOR related_view; +# one backslash balloons into 4 x( +string( REGEX MATCH " *SELF *\\\\ *product_occurrence *\\. *occurrence_contexts *: *SET *\\[ *1 *:" match_result ${pretty_out} ) + +if( match_result STREQUAL "" ) + message( FATAL_ERROR "Pretty printer output does not match input." ) +endif( match_result STREQUAL "" ) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/src/exppp/test/test_breakLongStr.c b/src/exppp/test/test_breakLongStr.c new file mode 100644 index 000000000..f93a5809d --- /dev/null +++ b/src/exppp/test/test_breakLongStr.c @@ -0,0 +1,40 @@ +#include +#include "../pp.h" +#include "exppp.h" + +int main() { + char * testarr[] = { + "ASSEMBLY_STRUCTURE_MIM_LF.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION", + "ASSEMBLY_STRUCTURE_MIM_LF.PRODUCT_DEFINITION" + }; + int i, c; + + /* globals */ + exppp_fp = stdout; + exppp_linelength = 40; +/* + indent2 = 30; + curpos = 20; +*/ + for( i = 0; i < exppp_linelength + 10; i += 15 ) { + for( c = 2; c < exppp_linelength + 10; c += 13 ) { + curpos = c; + indent2 = i; + raw( "indent2: %d, curpos: %d\n%*s||", i, c, c, "" ); + breakLongStr( testarr[0] ); + curpos = c; + indent2 = i; + raw( "\n%*s||", c, "" ); + breakLongStr( testarr[1] ); + raw( "\n" ); + } + } + curpos = 77; + exppp_linelength = 130; + indent2 = 17; + raw( "\n%*s||", 77, "" ); + breakLongStr( testarr[0] ); + raw( "\n" ); + + return EXIT_SUCCESS; +} diff --git a/src/exppp/test/unique_qualifiers.cmake b/src/exppp/test/unique_qualifiers.cmake new file mode 100644 index 000000000..812793d94 --- /dev/null +++ b/src/exppp/test/unique_qualifiers.cmake @@ -0,0 +1,29 @@ +cmake_minimum_required( VERSION 3.12 ) + +# executable is ${EXPPP}, input file is ${INFILE} + +set( ofile "unique_qual_out.exp" ) +execute_process( COMMAND ${EXPPP} -o ${ofile} ${INFILE} + RESULT_VARIABLE CMD_RESULT ) +if( NOT ${CMD_RESULT} EQUAL 0 ) + message(FATAL_ERROR "Error running ${EXPPP} on ${INFILE}") +endif( NOT ${CMD_RESULT} EQUAL 0 ) + +# file( READ ${INFILE} pretty_in LIMIT 1024 ) +file( READ ${ofile} pretty_out LIMIT 1024 ) + +# ur1 : SELF\shape_aspect_relationship.name; +# one backslash balloons into 4, and I can't figure out how to escape the semicolon x( +string( REGEX MATCH "[uU][rR]1 *: *SELF *\\\\ *shape_aspect_relationship *\\. *name" match_result ${pretty_out} ) + +if( match_result STREQUAL "" ) + message( FATAL_ERROR "Pretty printer output does not match input." ) +endif( match_result STREQUAL "" ) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/src/express/CMakeLists.txt b/src/express/CMakeLists.txt index a7f5630fc..e5c0dfe04 100644 --- a/src/express/CMakeLists.txt +++ b/src/express/CMakeLists.txt @@ -1,77 +1,38 @@ include_directories( - ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_BINARY_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR} - ${SC_SOURCE_DIR}/src/base ) -# Set up the information we need to feed the generated source management -# scripts -set(BASELINE_INFORMATION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/generated/verification_info.cmake") -set(PROJECT_CMAKE_DIR "${SC_SOURCE_DIR}/cmake") -set(INPUT_FILELIST expscan.l expparse.y) -set(TEMPLATE_FILELIST ${LEMON_TEMPLATE} ${PERPLEX_TEMPLATE}) -set(BUILD_OUTPUT_FILELIST - ${CMAKE_CURRENT_BINARY_DIR}/expscan.c - ${CMAKE_CURRENT_BINARY_DIR}/expscan.h - ${CMAKE_CURRENT_BINARY_DIR}/expparse.c - ${CMAKE_CURRENT_BINARY_DIR}/expparse.h - ) -set(CACHED_FILES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/generated") -string(REPLACE "${CMAKE_CURRENT_BINARY_DIR}" "${CACHED_FILES_DIR}" CACHED_FILELIST "${BUILD_OUTPUT_FILELIST}") -set(SYNC_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/express_sync_generated.cmake") -set(SYNC_TARGET_NAME "express_sync_generated_files") - # Depending on whether we're using pre-generated sources or building them on # the fly, set up targets and source lists. if(SC_GENERATE_LP_SOURCES) - LEMON_TARGET(ExpParser expparse.y expparse.c expparse.h) - PERPLEX_TARGET(ExpScanner expscan.l ${CMAKE_CURRENT_BINARY_DIR}/expscan.c ${CMAKE_CURRENT_BINARY_DIR}/expscan.h) - ADD_PERPLEX_LEMON_DEPENDENCY(ExpScanner ExpParser) - set(EXPRESS_GENERATED_SRCS - ${LEMON_ExpParser_OUTPUT_SOURCE} - ${PERPLEX_ExpScanner_OUTPUTS} + LEMON_TARGET(ExpParser expparse.y expparse.c + COMPILE_FLAGS "-p -c" + DEFINES_FILE "expparse.h" ) - configure_file(${SC_SOURCE_DIR}/cmake/manage_generated.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/express_manage_generated.cmake @ONLY) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/express_manage_generated.sentinel - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/express_manage_generated.cmake - COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/express_manage_generated.sentinel - DEPENDS ${INPUT_FILELIST} ${TEMPLATE_FILELIST} ${CACHED_FILELIST} ${PERPLEX_ExpScanner_OUTPUTS} ${LEMON_ExpParser_OUTPUT_SOURCE} generated/verification_info.cmake ${PROJECT_CMAKE_DIR}/Generated_Source_Utils.cmake - ) - add_custom_target(express_verify DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/express_manage_generated.sentinel) - - configure_file(${SC_SOURCE_DIR}/cmake/sync_generated.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/express_sync_generated.cmake @ONLY) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/express_sync_generated.sentinel - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/express_sync_generated.cmake - COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/express_sync_generated.sentinel - DEPENDS ${INPUT_FILELIST} ${TEMPLATE_FILELIST} ${PERPLEX_ExpScanner_OUTPUTS} ${LEMON_ExpParser_OUTPUT_SOURCE} ${PROJECT_CMAKE_DIR}/Generated_Source_Utils.cmake - ) - add_custom_target(express_sync_generated_files DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/express_sync_generated.sentinel) + PERPLEX_TARGET(ExpScanner expscan.l) + ADD_PERPLEX_LEMON_DEPENDENCY(ExpScanner ExpParser) -else(SC_GENERATE_LP_SOURCES) + add_library(objlib_expscan_c OBJECT ${PERPLEX_ExpScanner_SRC}) + set_property(TARGET objlib_expscan_c PROPERTY POSITION_INDEPENDENT_CODE ON) - set(EXPRESS_GENERATED_SRCS - generated/expparse.c - generated/expscan.c - ) - include_directories(${CMAKE_CURRENT_SOURCE_DIR}/generated) - configure_file(${SC_SOURCE_DIR}/cmake/verify_generated.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/express_verify_generated.cmake @ONLY) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/express_verify_generated.sentinel - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/express_verify_generated.cmake - COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/express_verify_generated.sentinel - DEPENDS ${INPUT_FILELIST} ${CACHED_FILELIST} generated/verification_info.cmake ${PROJECT_CMAKE_DIR}/Generated_Source_Utils.cmake - ) - add_custom_target(express_verify DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/express_verify_generated.sentinel) + add_library(objlib_expparse_c OBJECT ${LEMON_ExpParser_OUTPUTS}) + set_property(TARGET objlib_expparse_c PROPERTY POSITION_INDEPENDENT_CODE ON) + set_source_files_properties(${LEMON_ExpParser_OUTPUTS} PROPERTIES OBJECT_DEPENDS "${PERPLEX_ExpScanner_HDR}") +else(SC_GENERATE_LP_SOURCES) + add_subdirectory(generated) + include_directories(generated) endif(SC_GENERATE_LP_SOURCES) +if(MSVC) + set_property(TARGET objlib_expscan_c APPEND PROPERTY COMPILE_DEFINITIONS "SC_EXPRESS_DLL_EXPORTS") + set_property(TARGET objlib_expscan_c APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS "SC_EXPRESS_DLL_IMPORTS") + set_property(TARGET objlib_expparse_c APPEND PROPERTY COMPILE_DEFINITIONS "SC_EXPRESS_DLL_EXPORTS") + set_property(TARGET objlib_expparse_c APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS "SC_EXPRESS_DLL_IMPORTS") +endif(MSVC) + set(EXPRESS_SOURCES - ${EXPRESS_GENERATED_SRCS} symbol.c type.c variable.c @@ -83,17 +44,82 @@ set(EXPRESS_SOURCES scope.c schema.c resolve.c + resolve2.c lexact.c linklist.c error.c dict.c hash.c + alloc.c memory.c object.c express.c ordered_attrs.cc + info.c + factory.c ) +set(EXPRESS_OBJS) +foreach(_src ${EXPRESS_SOURCES}) + string(REPLACE "." "_" _suffix ${_src}) + set(_objlib "objlib_${_suffix}") + add_library(${_objlib} OBJECT ${_src}) + add_dependencies(${_objlib} objlib_expscan_c) + add_dependencies(${_objlib} objlib_expparse_c) + if(TARGET ExpScanner) + add_dependencies(${_objlib} ExpScanner) + endif(TARGET ExpScanner) + if(MSVC) + set_property(TARGET ${_objlib} APPEND PROPERTY COMPILE_DEFINITIONS "SC_EXPRESS_DLL_EXPORTS") + set_property(TARGET ${_objlib} APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS "SC_EXPRESS_DLL_IMPORTS") + endif(MSVC) + # TODO: probably PIC should be used everywhere... + set_property(TARGET ${_objlib} PROPERTY POSITION_INDEPENDENT_CODE ON) + list(APPEND EXPRESS_OBJS $) +endforeach() + +list(APPEND EXPRESS_OBJS $) +list(APPEND EXPRESS_OBJS $) + + +if(SC_GENERATE_LP_SOURCES) + set_property(TARGET objlib_expparse_c objlib_express_c objlib_lexact_c + APPEND PROPERTY INCLUDE_DIRECTORIES "${PERPLEX_ExpScanner_INCLUDE_DIR}") + set_property(TARGET objlib_expscan_c objlib_express_c objlib_lexact_c + APPEND PROPERTY INCLUDE_DIRECTORIES "${LEMON_ExpParser_INCLUDE_DIR}") + # OBJECT libraries are not targets, and so an explicit dependency is required + set_source_files_properties(express.c lexact.c PROPERTIES OBJECT_DEPENDS "${PERPLEX_ExpScanner_HDR};${LEMON_ExpParser_HDR}") +endif() + +if(BUILD_SHARED_LIBS OR NOT BUILD_STATIC_LIBS) + add_library(express SHARED ${EXPRESS_OBJS}) + if(OPENBSD) + set_target_properties(express PROPERTIES VERSION ${SC_VERSION_MAJOR}.${SC_VERSION_MINOR}) + else(OPENBSD) + set_target_properties(express PROPERTIES VERSION ${SC_VERSION} SOVERSION ${SC_VERSION_MAJOR}) + endif(OPENBSD) + if(APPLE) + set_property(TARGET express APPEND PROPERTY LINK_FLAGS "-flat_namespace -undefined suppress") + endif(APPLE) + install(TARGETS express + RUNTIME DESTINATION ${BIN_DIR} + LIBRARY DESTINATION ${LIB_DIR} + ARCHIVE DESTINATION ${LIB_DIR}) + + if(MSVC) + set_property(TARGET express APPEND PROPERTY COMPILE_DEFINITIONS "SC_EXPRESS_DLL_EXPORTS") + set_property(TARGET express APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS "SC_EXPRESS_DLL_IMPORTS") + endif(MSVC) +endif() + +if(BUILD_STATIC_LIBS) + add_library(express-static STATIC ${EXPRESS_OBJS}) + install(TARGETS express-static + RUNTIME DESTINATION ${BIN_DIR} + LIBRARY DESTINATION ${LIB_DIR} + ARCHIVE DESTINATION ${LIB_DIR}) +endif() + # TODO # Currently, fedex.c provides the main() for multiple programs. These programs # provide custom behavior by defining EXPRESSinit_init (called by fedex.c's @@ -103,22 +129,25 @@ set(EXPRESS_SOURCES # fedex.c's main() into an express library function. That way, programs only # need to link against express (not fedex.o too) and they can do initialization # in their own main (instead of in a local EXPRESSinit_init definition). -SET(CHECK_EXPRESS_SOURCES +set(CHECK_EXPRESS_SOURCES fedex.c inithook.c ) -SET(EXPRESS_PRIVATE_HDRS - exptoks.h - stack.h - ) - -SC_ADDLIB(express "${EXPRESS_SOURCES}" "base") -add_dependencies(express express_verify) -add_dependencies(express version_string) -SC_ADDEXEC("check-express" "${CHECK_EXPRESS_SOURCES}" "express;base" ) +add_executable(check-express ${CHECK_EXPRESS_SOURCES}) +if(BUILD_SHARED_LIBS OR NOT BUILD_STATIC_LIBS) + target_link_libraries(check-express express) +else() + target_link_libraries(check-express express-static) +endif() +install(TARGETS check-express + RUNTIME DESTINATION ${BIN_DIR} + LIBRARY DESTINATION ${LIB_DIR} + ARCHIVE DESTINATION ${LIB_DIR}) -add_subdirectory(test) +if(SC_ENABLE_TESTING) + add_subdirectory(test) +endif(SC_ENABLE_TESTING) # Local Variables: # tab-width: 8 diff --git a/src/express/Changes b/src/express/Changes index 7cdfba932..be48e6205 100644 --- a/src/express/Changes +++ b/src/express/Changes @@ -23,7 +23,7 @@ cleaner. The bad news is that I left in some of the original code as comments, so you may be distracted by this. I have converted over two pieces of programs that depend on the -library. fedex_plus (in ~pdevel/src/ffedex_plus) and the step parser +library. exp2cxx (in ~pdevel/src/fexp2cxx) and the step parser (in ~pdevel/src/fstep). Since I didn't write either one originally, I don't take credit for the overall readability, but they at least provide proof that the library functions. @@ -158,7 +158,7 @@ Class x; -> Class_of_what x; i.e., Class_of_Type x; -Similary, OBJget_class is now specific to whatever class you are using. +Similarly, OBJget_class is now specific to whatever class you are using. I.e., @@ -290,13 +290,13 @@ ERRORcreate_option. To actually set or unset an option, it suffices to say: - ERRORset_option(optarg,set); + ERRORset_option(sc_optarg,set); where set is a true/false value. This is especially convenient with getopt, since you can use the same code to set or unset an option just by testing the option letter inside of the 'set' argument. I.e. - ERRORset_option(optarg,c == 'w'); + ERRORset_option(sc_optarg,c == 'w'); To print all the options out, say: @@ -345,8 +345,8 @@ returned as a list or a dictionary. In fact, it is possible to hide this as well - I don't know why Steve didn't bother, except that he was tired. -For example, instead of a single LISTadd routine, there would have to -different LISTadd routines for every class. This would have improved +For example, instead of a single LISTadd_last routine, there would have to +different LISTadd_last routines for every class. This would have improved typechecking. The new code is more efficient for a variety of reasons. The original @@ -496,7 +496,7 @@ foreach schema Original code did not check for redefining keywords. Fixed. ====================================================================== USE and REFERENCE are handled by having separate lists and -dictionaries to remember schemas and invididual objects that are USEd +dictionaries to remember schemas and individual objects that are USEd and REFd. 'rename' structures are used to point to the remote object. (This avoids the need for copying dictionaries, which enabled large time/space savings.) diff --git a/src/express/README b/src/express/README index e1ef7ae4c..30774388e 100644 --- a/src/express/README +++ b/src/express/README @@ -41,7 +41,7 @@ them. I expect this should run on any UNIX, POSIX, or other system using a compatibility package. For instance, you can build this on a PC -runing DOS using djgpp (GNU C on DOS). (Ask your local archie server +running DOS using djgpp (GNU C on DOS). (Ask your local archie server where to get djgpp.) -------------------- @@ -71,7 +71,7 @@ Support The system is distributed in source form and you are encourage to experiment with the toolkit, especially if you have problems with it. -While it is often quicker for you to have us diagnos your problems, it +While it is often quicker for you to have us diagnose your problems, it is quicker for us to have you diagnose your own problems. This software is a prototype, intended to spur development of commercial products. @@ -87,4 +87,3 @@ 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 redistribution. - diff --git a/src/express/alg.c b/src/express/alg.c index 4d010f509..2211eff1a 100644 --- a/src/express/alg.c +++ b/src/express/alg.c @@ -38,7 +38,6 @@ * prettied up interface to print_objects_when_running */ -#include #include "express/alg.h" #include "express/object.h" #include "express/schema.h" @@ -73,20 +72,8 @@ Scope ALGcreate( char type ) { ** Description: Initialize the Algorithm module. */ -Symbol * WHERE_get_symbol( Generic w ) { - return( ( ( Where )w )->label ); -} - /** Initialize the Algorithm module. */ void ALGinitialize( void ) { - MEMinitialize( &FUNC_fl, sizeof( struct Function_ ), 100, 50 ); - MEMinitialize( &RULE_fl, sizeof( struct Rule_ ), 100, 50 ); - MEMinitialize( &PROC_fl, sizeof( struct Procedure_ ), 100, 50 ); - MEMinitialize( &WHERE_fl, sizeof( struct Where_ ), 100, 50 ); - OBJcreate( OBJ_RULE, SCOPE_get_symbol, "rule", OBJ_UNUSED_BITS ); - OBJcreate( OBJ_PROCEDURE, SCOPE_get_symbol, "procedure", OBJ_PROCEDURE_BITS ); - OBJcreate( OBJ_FUNCTION, SCOPE_get_symbol, "function", OBJ_FUNCTION_BITS ); - OBJcreate( OBJ_WHERE, WHERE_get_symbol, "where", OBJ_WHERE_BITS ); } void ALGput_full_text( Scope s, int start, int end ) { diff --git a/src/express/alloc.c b/src/express/alloc.c new file mode 100644 index 000000000..e20cfa943 --- /dev/null +++ b/src/express/alloc.c @@ -0,0 +1,214 @@ +/* alloc.c - memory allocator for fixed size blocks */ + +/* + +This code is replacement for malloc() and free(). It takes advantage +of the fact that all of my memory allocation is of known fixed-size +blocks. This particular implementation, however, is extremely general +and will do allocation of any number of different fixed-size blocks. + +I will just give a simple example here. To allocate struct foo's, declare a handle to the foo space as: + + struct freelist_head foo_freelist; + +Initialize it: + + memory_init(&foo_freelist,sizeof(struct foo),1000,200); + +Here we have asked for an initial allocation of 1000 foo's. When that +runs out, further allocations will automatically be performed 200 +foo's at a time. (Each allocation calls sbrk() so you want to +minimize them.) + +To actually allocate and deallocate foo's, it helps to define two +macros as follow: + + #define foo_new() (struct foo *)new(&foo_freelist) + #define foo_destroy(x) destroy(&oct_freelist_head,(Freelist *)(char *)x) + +Now you can say things like: + + foo1 = foo_new(); + foo_destroy(foo1); + +*/ + +#include +#include + +#include "express/alloc.h" +#include "express/error.h" + +/* just in case we are compiling by hand */ +#ifndef ALLOC +#define ALLOC +#endif /*ALLOC*/ + +/** chop up big block into linked list of small blocks + * return 0 for failure + * \param flh freelist head + * \param bytes new memory size + */ +Freelist * create_freelist( struct freelist_head * flh, int bytes ) { + Freelist * current = ( Freelist * )malloc( bytes ); + if( current == 0 ) { + return( 0 ); + } + + flh->freelist = current; + +#ifndef NOSTAT + flh->create++; + + /* set max to point to end of freelist */ + if( ( char * )flh->freelist + bytes > ( char * )flh->max ) { + flh->max = ( char * )flh->freelist + bytes; + } +#endif + + while( ( char * )current + flh->size < + ( ( char * )flh->freelist + bytes ) ) { + current->next = ( Freelist * )( ¤t->memory + flh->size ); + current = current->next; + } + current->next = NULL; + return( current ); +} + +void +_ALLOCinitialize() { +#ifdef DEBUG_MALLOC + malloc_debug( 2 ); +#endif +} + +/** + * \param flh freelist head + * \param size size of a single element + * \param alloc1 number to allocate initially + * \param alloc2 number to allocate if we run out + */ +void ALLOCinitialize( struct freelist_head * flh, unsigned int size, int alloc1, int alloc2 ) { + flh->size_elt = size; /* kludge for calloc-like behavior */ +#ifndef NOSTAT + flh->alloc = flh->dealloc = flh->create = 0; + flh->max = 0; +#endif + + /* make block large enough to hold the linked list pointer */ + flh->size = ( size > sizeof( Freelist * ) ? size : sizeof( Freelist * ) ); + /* set up for future allocations */ + flh->bytes = flh->size * alloc2; + +#ifdef REAL_MALLOC + return; + /*NOTREACHED*/ +#else + if( 0 == create_freelist( flh, flh->size * alloc1 ) ) { + ERRORnospace(); + } + +#ifdef SPACE_PROFILE + flh->count = 0; +#endif /*SPACE_PROFILE*/ + +#endif +} + +void * ALLOC_new( struct freelist_head * flh ) { + void *obj; + +#ifndef NOSTAT + flh->alloc++; +#endif + +#ifdef REAL_MALLOC + return( calloc( 1, flh->size_elt ) ); + /*NOTREACHED*/ +#else + if( flh->freelist == NULL && 0 == create_freelist( flh, flh->bytes ) ) { + ERRORnospace(); + } + + obj = &flh->freelist->memory; + flh->freelist = flh->freelist->next; + +#ifndef NOSTAT + if( obj > flh->max ) { + abort(); + } +#endif + +#ifdef SPACE_PROFILE + flh->count++; +#endif /*SPACE_PROFILE*/ + + /* calloc-like */ + memset( obj, 0, flh->size_elt ); + + return( obj ); +#endif +} + +void ALLOC_destroy( struct freelist_head * flh, Freelist * link ) { +#ifndef NOSTAT + flh->dealloc++; +#endif + +#ifdef REAL_MALLOC + free( link ); + return; + /*NOTREACHED*/ +#else + + link->next = flh->freelist; + flh->freelist = link; + +#ifdef SPACE_PROFILE + flh->count--; +#endif /*SPACE_PROFILE*/ + +#endif +} + +#ifdef ALLOC_MAIN +struct freelist_head oct_freelist; + +#define new_oct() (struct oct *)new(&oct_freelist) +#define destroy_oct(oct) (destroy(&oct_freelist,(Freelist *)(char *)oct)) + +struct oct { + char a[16]; +}; + +main() { + struct oct * o1, *o2, *o3, *o4, *o5, *o6; + + memory_init( &oct_freelist, sizeof( struct oct ), 5, 2 ); + + o1 = new_oct(); + fprintf( stderr, "o1 = %x\n", o1 ); + o2 = new_oct(); + fprintf( stderr, "o2 = %x\n", o2 ); + o3 = new_oct(); + fprintf( stderr, "o3 = %x\n", o3 ); + o4 = new_oct(); + fprintf( stderr, "o4 = %x\n", o4 ); + o5 = new_oct(); + fprintf( stderr, "o5 = %x\n", o5 ); + o6 = new_oct(); + fprintf( stderr, "o6 = %x\n", o6 ); + destroy_oct( o1 ); + destroy_oct( o2 ); + o1 = new_oct(); + fprintf( stderr, "o1 = %x\n", o1 ); + o2 = new_oct(); + fprintf( stderr, "o2 = %x\n", o2 ); + o3 = new_oct(); + fprintf( stderr, "o3 = %x\n", o3 ); + o4 = new_oct(); + fprintf( stderr, "o4 = %x\n", o4 ); + o5 = new_oct(); + fprintf( stderr, "o5 = %x\n", o5 ); +} +#endif /*ALLOC_MAIN*/ diff --git a/src/express/caseitem.c b/src/express/caseitem.c index 6082cc755..fe8aa460f 100644 --- a/src/express/caseitem.c +++ b/src/express/caseitem.c @@ -29,15 +29,12 @@ * prettied up interface to print_objects_when_running */ -#include #include "express/caseitem.h" -struct freelist_head CASE_IT_fl; /** Initialize the Case Item module. */ void CASE_ITinitialize( void ) { - MEMinitialize( &CASE_IT_fl, sizeof( struct Case_Item_ ), 500, 100 ); } /** diff --git a/src/express/dict.c b/src/express/dict.c index c77b4b405..69d8d1dd8 100644 --- a/src/express/dict.c +++ b/src/express/dict.c @@ -33,16 +33,11 @@ * Initial revision */ -#include #include "express/dict.h" #include "express/object.h" #include "express/expbasic.h" -char DICT_type; /* set as a side-effect of DICT lookup routines */ -/* to type of object found */ - -static Error ERROR_duplicate_decl; -static Error ERROR_duplicate_decl_diff_file; +char DICT_type; /**< set to type of object found, as a side-effect of DICT lookup routines */ void DICTprint( Dictionary dict ) { Element e; @@ -51,7 +46,7 @@ void DICTprint( Dictionary dict ) { HASHlistinit( dict, &de ); while( 0 != ( e = ( HASHlist( &de ) ) ) ) { - printf( "key <%s> data <%s> line <%d> <\"%c\" %s> <%s>\n", + fprintf( stderr, "key <%s> data <%s> line <%d> <\"%c\" %s> <%s>\n", e->key, e->data, e->symbol->line, e->type, OBJget_type( e->type ), e->symbol->filename ); } @@ -59,16 +54,10 @@ void DICTprint( Dictionary dict ) { /** Initialize the Dictionary module */ void DICTinitialize( void ) { - ERROR_duplicate_decl = ERRORcreate( - "Redeclaration of %s. Previous declaration was on line %d.", SEVERITY_ERROR ); - ERROR_duplicate_decl_diff_file = ERRORcreate( - "Redeclaration of %s. Previous declaration was on line %d in file %s.", SEVERITY_ERROR ); } /** Clean up the Dictionary module */ void DICTcleanup( void ) { - ERRORdestroy( ERROR_duplicate_decl ); - ERRORdestroy( ERROR_duplicate_decl_diff_file ); } /** @@ -76,7 +65,7 @@ void DICTcleanup( void ) { * error directly if there is a duplicate value. * \return 0 on success, 1 on failure */ -int DICTdefine( Dictionary dict, char * name, Generic obj, Symbol * sym, char type ) { +int DICTdefine( Dictionary dict, char * name, void *obj, Symbol * sym, char type ) { struct Element_ new, *old; new.key = name; @@ -106,11 +95,11 @@ int DICTdefine( Dictionary dict, char * name, Generic obj, Symbol * sym, char ty /* if we're adding a non-enum, and we've * * already added a non-enum, complain */ if( sym->filename == old->symbol->filename ) { - ERRORreport_with_symbol( ERROR_duplicate_decl, sym, name, old->symbol->line ); + ERRORreport_with_symbol( DUPLICATE_DECL, sym, name, old->symbol->line ); } else { - ERRORreport_with_symbol( ERROR_duplicate_decl_diff_file, sym, name, old->symbol->line, old->symbol->filename ); + ERRORreport_with_symbol( DUPLICATE_DECL_DIFF_FILE, sym, name, old->symbol->line, old->symbol->filename ); } - experrc = ERROR_subordinate_failed; + ERRORreport(SUBORDINATE_FAILED); return( 1 ); } return 0; @@ -122,9 +111,9 @@ int DICTdefine( Dictionary dict, char * name, Generic obj, Symbol * sym, char ty * ENUMERATION OF ( A, A ) which has happened! * This is the way DICTdefine used to look before enumerations gained * their unusual behavior with respect to scoping and visibility rules - * \sa DICTdefine + * \sa DICTdefine() */ -int DICT_define( Dictionary dict, char * name, Generic obj, Symbol * sym, char type ) { +int DICT_define( Dictionary dict, char * name, void *obj, Symbol * sym, char type ) { struct Element_ e, *e2; e.key = name; @@ -137,11 +126,11 @@ int DICT_define( Dictionary dict, char * name, Generic obj, Symbol * sym, char t } if( sym->filename == e2->symbol->filename ) { - ERRORreport_with_symbol( ERROR_duplicate_decl, sym, name, e2->symbol->line ); + ERRORreport_with_symbol( DUPLICATE_DECL, sym, name, e2->symbol->line ); } else { - ERRORreport_with_symbol( ERROR_duplicate_decl_diff_file, sym, name, e2->symbol->line, e2->symbol->filename ); + ERRORreport_with_symbol( DUPLICATE_DECL_DIFF_FILE, sym, name, e2->symbol->line, e2->symbol->filename ); } - experrc = ERROR_subordinate_failed; + ERRORreport(SUBORDINATE_FAILED); return( 1 ); } @@ -164,7 +153,7 @@ void DICTundefine( Dictionary dict, char * name ) { ** \param name name to look up ** \return the value found, NULL if not found */ -Generic DICTlookup( Dictionary dictionary, char * name ) { +void *DICTlookup( Dictionary dictionary, char * name ) { struct Element_ e, *ep; if( !dictionary ) { @@ -181,9 +170,9 @@ Generic DICTlookup( Dictionary dictionary, char * name ) { } /** like DICTlookup but returns symbol, too - * \sa DICTlookup + * \sa DICTlookup() */ -Generic DICTlookup_symbol( Dictionary dictionary, char * name, Symbol ** sym ) { +void *DICTlookup_symbol( Dictionary dictionary, char * name, Symbol ** sym ) { struct Element_ e, *ep; if( !dictionary ) { @@ -200,7 +189,7 @@ Generic DICTlookup_symbol( Dictionary dictionary, char * name, Symbol ** sym ) { return( NULL ); } -Generic DICTdo( DictionaryEntry * dict_entry ) { +void *DICTdo( DictionaryEntry * dict_entry ) { if( 0 == HASHlist( dict_entry ) ) { return 0; } diff --git a/src/express/dummy.c b/src/express/dummy.c new file mode 100644 index 000000000..6956cac06 --- /dev/null +++ b/src/express/dummy.c @@ -0,0 +1,5 @@ +/* + * CMake dummy - unused + */ + +static int unused_1431423134; diff --git a/src/express/entity.c b/src/express/entity.c index 48d5f09ad..507b2c23f 100644 --- a/src/express/entity.c +++ b/src/express/entity.c @@ -1,7 +1,8 @@ -/** ********************************************************************** +/** ** Module: Entity \file entity.c +* ** This module is used to represent Express entity definitions. ** An entity definition consists of a name, a set of attributes, a ** collection of uniqueness sets, a specification of the entity's @@ -12,6 +13,7 @@ ** of the entity. Thus, the uniqueness set { name, ssn } indicates ** that no two instances of the entity may share both the same ** values for both name and ssn. +* ** Constants: ** ENTITY_NULL - the null entity ** @@ -111,12 +113,10 @@ * */ -#include #include "express/entity.h" #include "express/express.h" #include "express/object.h" -struct freelist_head ENTITY_fl; int ENTITY_MARK = 0; /** returns true if variable is declared (or redeclared) directly by entity */ @@ -144,7 +144,7 @@ static Entity ENTITY_find_inherited_entity( Entity entity, char * name, int down entity->search_id = __SCOPE_search_id; LISTdo( entity->u.entity->supertypes, super, Entity ) - if( streq( super->symbol.name, name ) ) { + if( !strcmp( super->symbol.name, name ) ) { return super; } LISTod @@ -158,7 +158,7 @@ static Entity ENTITY_find_inherited_entity( Entity entity, char * name, int down if( down ) { LISTdo( entity->u.entity->subtypes, sub, Entity ) - if( streq( sub->symbol.name, name ) ) { + if( !strcmp( sub->symbol.name, name ) ) { return sub; } LISTod; @@ -175,7 +175,7 @@ static Entity ENTITY_find_inherited_entity( Entity entity, char * name, int down } struct Scope_ * ENTITYfind_inherited_entity( struct Scope_ *entity, char * name, int down ) { - if( streq( name, entity->symbol.name ) ) { + if( !strcmp( name, entity->symbol.name ) ) { return( entity ); } @@ -246,8 +246,6 @@ Variable ENTITYfind_inherited_attribute( struct Scope_ *entity, char * name, * report errors as appropriate */ Variable ENTITYresolve_attr_ref( Entity e, Symbol * grp_ref, Symbol * attr_ref ) { - extern Error ERROR_unknown_supertype; - extern Error ERROR_unknown_attr_in_entity; Entity ref_entity; Variable attr; struct Symbol_ *where; @@ -256,15 +254,13 @@ Variable ENTITYresolve_attr_ref( Entity e, Symbol * grp_ref, Symbol * attr_ref ) /* use entity provided in group reference */ ref_entity = ENTITYfind_inherited_entity( e, grp_ref->name, 0 ); if( !ref_entity ) { - ERRORreport_with_symbol( ERROR_unknown_supertype, grp_ref, - grp_ref->name, e->symbol.name ); + ERRORreport_with_symbol(UNKNOWN_SUPERTYPE, grp_ref, grp_ref->name, e->symbol.name ); return 0; } attr = ( Variable )DICTlookup( ref_entity->symbol_table, attr_ref->name ); if( !attr ) { - ERRORreport_with_symbol( ERROR_unknown_attr_in_entity, - attr_ref, attr_ref->name, + ERRORreport_with_symbol(UNKNOWN_ATTR_IN_ENTITY, attr_ref, attr_ref->name, ref_entity->symbol.name ); /* resolve_failed(e);*/ } @@ -273,38 +269,17 @@ Variable ENTITYresolve_attr_ref( Entity e, Symbol * grp_ref, Symbol * attr_ref ) where = NULL; attr = ENTITYfind_inherited_attribute( e, attr_ref->name, &where ); if( !attr /* was ref_entity? */ ) { - ERRORreport_with_symbol( ERROR_unknown_attr_in_entity, + ERRORreport_with_symbol(UNKNOWN_ATTR_IN_ENTITY, attr_ref, attr_ref->name, e->symbol.name ); } else if( where != NULL ) { - ERRORreport_with_symbol( ERROR_implicit_downcast, attr_ref, + ERRORreport_with_symbol(IMPLICIT_DOWNCAST, attr_ref, where->name ); } } return attr; } -/** -** low-level function for type Entity -** -** \note The attribute list of a new entity is defined as an -** empty list; all other aspects of the entity are initially -** undefined (i.e., have appropriate NULL values). -*/ -Entity ENTITYcreate( Symbol * sym ) { - Scope s = SCOPEcreate( OBJ_ENTITY ); - - s->u.entity = ENTITY_new(); - s->u.entity->attributes = LISTcreate(); - s->u.entity->inheritance = ENTITY_INHERITANCE_UNINITIALIZED; - - /* it's so useful to have a type hanging around for each entity */ - s->u.entity->type = TYPEcreate_name( sym ); - s->u.entity->type->u.type->body = TYPEBODYcreate( entity_ ); - s->u.entity->type->u.type->body->entity = s; - return( s ); -} - /** * currently, this is only used by USEresolve * low-level function for type Entity @@ -318,9 +293,6 @@ Entity ENTITYcopy( Entity e ) { /** Initialize the Entity module. */ void ENTITYinitialize() { - MEMinitialize( &ENTITY_fl, sizeof( struct Entity_ ), 500, 100 ); - OBJcreate( OBJ_ENTITY, SCOPE_get_symbol, "entity", - OBJ_ENTITY_BITS ); } /** @@ -334,14 +306,14 @@ void ENTITYadd_attribute( Entity entity, Variable attr ) { if( attr->name->type->u.type->body->type != op_ ) { /* simple id */ rc = DICTdefine( entity->symbol_table, attr->name->symbol.name, - ( Generic )attr, &attr->name->symbol, OBJ_VARIABLE ); + attr, &attr->name->symbol, OBJ_VARIABLE ); } else { /* SELF\ENTITY.SIMPLE_ID */ rc = DICTdefine( entity->symbol_table, attr->name->e.op2->symbol.name, - ( Generic )attr, &attr->name->symbol, OBJ_VARIABLE ); + attr, &attr->name->symbol, OBJ_VARIABLE ); } if( rc == 0 ) { - LISTadd_last( entity->u.entity->attributes, ( Generic )attr ); + LISTadd_last( entity->u.entity->attributes, attr ); VARput_offset( attr, entity->u.entity->attribute_count ); entity->u.entity->attribute_count++; } @@ -352,11 +324,11 @@ void ENTITYadd_attribute( Entity entity, Variable attr ) { ** \param instance new instance ** Add an item to the instance list of an entity. */ -void ENTITYadd_instance( Entity entity, Generic instance ) { +void ENTITYadd_instance( Entity entity, void *instance ) { if( entity->u.entity->instances == LIST_NULL ) { entity->u.entity->instances = LISTcreate(); } - LISTadd( entity->u.entity->instances, instance ); + LISTadd_last( entity->u.entity->instances, instance ); } /** @@ -392,14 +364,14 @@ bool ENTITYhas_immediate_supertype( Entity child, Entity parent ) { return false; } -/// called by ENTITYget_all_attributes(). \sa ENTITYget_all_attributes +/** called by ENTITYget_all_attributes(). \sa ENTITYget_all_attributes */ static void ENTITY_get_all_attributes( Entity entity, Linked_List result ) { LISTdo( entity->u.entity->supertypes, super, Entity ) /* if (OBJis_kind_of(super, Class_Entity))*/ ENTITY_get_all_attributes( super, result ); LISTod; /* Gee, aren't they resolved by this time? */ - LISTdo( entity->u.entity->attributes, attr, Generic ) + LISTdo( entity->u.entity->attributes, attr, void * ) LISTadd_last( result, attr ); LISTod; } @@ -409,9 +381,9 @@ static void ENTITY_get_all_attributes( Entity entity, Linked_List result ) { ** \return all attributes of this entity ** ** Retrieve the attribute list of an entity. - ** \sa ENTITY_get_all_attributes + ** \sa ENTITY_get_all_attributes() ** - ** Notes: If an entity has neither defines nor inherits any + ** \note If an entity has neither defines nor inherits any ** attributes, this call returns an empty list. Note ** that this is distinct from the constant LIST_NULL. */ @@ -428,14 +400,14 @@ Linked_List ENTITYget_all_attributes( Entity entity ) { ** \return the named attribute of this entity ** Retrieve an entity attribute by name. ** -** Notes: If the entity has no attribute with the given name, +** \note If the entity has no attribute with the given name, ** VARIABLE_NULL is returned. */ Variable ENTITYget_named_attribute( Entity entity, char * name ) { Variable attribute; LISTdo( entity->u.entity->attributes, attr, Variable ) - if( streq( VARget_simple_name( attr ), name ) ) { + if( !strcmp( VARget_simple_name( attr ), name ) ) { return attr; } LISTod; @@ -455,11 +427,12 @@ Variable ENTITYget_named_attribute( Entity entity, char * name ) { ** \return offset to given attribute ** Retrieve offset to an entity attribute. ** -** Notes: If the entity does not include the attribute, -1 +** \note If the entity does not include the attribute, -1 ** is returned. */ int ENTITYget_attribute_offset( Entity entity, Variable attribute ) { - int offset, value; + int offset; + int value; LISTdo( entity->u.entity->attributes, attr, Variable ) if( attr == attribute ) { @@ -484,14 +457,15 @@ int ENTITYget_attribute_offset( Entity entity, Variable attribute ) { ** \return offset to named attribute of this entity ** Retrieve offset to an entity attribute by name. ** -** Notes: If the entity has no attribute with the given name, +** \note If the entity has no attribute with the given name, ** -1 is returned. */ int ENTITYget_named_attribute_offset( Entity entity, char * name ) { - int offset, value; + int offset; + int value; LISTdo( entity->u.entity->attributes, attr, Variable ) - if( streq( VARget_simple_name( attr ), name ) ) + if( !strcmp( VARget_simple_name( attr ), name ) ) return entity->u.entity->inheritance + VARget_offset( ENTITY_find_inherited_attribute( entity, name, 0, 0 ) ); LISTod; diff --git a/src/express/error.c b/src/express/error.c index 87fa9f1a7..9b63825c2 100644 --- a/src/express/error.c +++ b/src/express/error.c @@ -24,7 +24,7 @@ * Revision 1.11 1997/10/22 16:10:26 sauderd * This would #include stdarg.h if __STDC__ was defined otherwise it would * #include vararg.h. I changed it to check the configure generated config file - * named sc_cf.h (if HAVE_CONFIG_H is defined - it's also defined by + * named config.h (if HAVE_CONFIG_H is defined - it's also defined by * configure) to see if HAVE_STDARG_H is defined. If it is it #includes stdarg.h * otherwise it #includes vararg.h. If HAVE_CONFIG_H isn't defined then it works * like it used to. @@ -51,28 +51,111 @@ * prettied up interface to print_objects_when_running */ -#include +#include #include #include +#include +#include +#include -#include "signal.h" +#include "express/express.h" #include "express/error.h" -#include "string.h" +#include "express/info.h" #include "express/linklist.h" -#ifdef __STDC__ -#include -#else -#include -#endif + +static struct Error_ LibErrors[] = { + /* dict.c */ + [DUPLICATE_DECL] = {SEVERITY_ERROR, "Redeclaration of %s. Previous declaration was on line %d.", NULL, false}, + [DUPLICATE_DECL_DIFF_FILE] = {SEVERITY_ERROR, "Redeclaration of %s. Previous declaration was on line %d in file %s.", NULL, false}, + /* error.c */ + [SUBORDINATE_FAILED] = {SEVERITY_ERROR, "A subordinate failed.", NULL, false}, + [SYNTAX_EXPECTING] = {SEVERITY_EXIT, "%s, expecting %s in %s %s", NULL, false}, + /* expr.c */ + [INTEGER_EXPRESSION_EXPECTED] = {SEVERITY_WARNING, "Integer expression expected", NULL, false}, + [INTERNAL_UNRECOGNISED_OP_IN_EXPRESOLVE] = {SEVERITY_ERROR, "Opcode unrecognized while trying to resolve expression", NULL, false}, + [ATTRIBUTE_REF_ON_AGGREGATE] = {SEVERITY_ERROR, "Attribute %s cannot be referenced from an aggregate", NULL, false}, + [ATTRIBUTE_REF_FROM_NON_ENTITY] = {SEVERITY_ERROR, "Attribute %s cannot be referenced from a non-entity", NULL, false}, + [INDEXING_ILLEGAL] = {SEVERITY_ERROR, "Indexing is only permitted on aggregates", NULL, false}, + [WARN_INDEXING_MIXED] = {SEVERITY_WARNING, "non-aggregates) and/or different aggregation types.", "indexing", false}, + [ENUM_NO_SUCH_ITEM] = {SEVERITY_ERROR, "Enumeration type %s does not contain item %s", NULL, false}, + [GROUP_REF_NO_SUCH_ENTITY] = {SEVERITY_ERROR, "Group reference failed to find entity %s", NULL, false}, + [GROUP_REF_UNEXPECTED_TYPE] = {SEVERITY_ERROR, "Group reference of unusual expression %s", NULL, false}, + [IMPLICIT_DOWNCAST] = {SEVERITY_WARNING, "Implicit downcast to %s.", "downcast", false}, + [AMBIG_IMPLICIT_DOWNCAST] = {SEVERITY_WARNING, "Possibly ambiguous implicit downcast (%s?).", "downcast", false}, + /* express.c */ + [BAIL_OUT] = {SEVERITY_DUMP, "Aborting due to internal error(s)", NULL, false}, + [SYNTAX] = {SEVERITY_EXIT, "%s in %s %s", NULL, false}, + [REF_NONEXISTENT] = {SEVERITY_ERROR, "USE/REF of non-existent object (%s in schema %s)", NULL, false}, + [TILDE_EXPANSION_FAILED] = {SEVERITY_ERROR, "Tilde expansion for %s failed in EXPRESS_PATH environment variable", NULL, false}, + [SCHEMA_NOT_IN_OWN_SCHEMA_FILE] = {SEVERITY_ERROR, "Schema %s was not found in its own schema file (%s)", NULL, false}, + [UNLABELLED_PARAM_TYPE] = {SEVERITY_ERROR, "Return type or local variable requires type label in `%s'", NULL, false}, + [FILE_UNREADABLE] = {SEVERITY_ERROR, "Could not read file %s: %s", NULL, false}, + [FILE_UNWRITABLE] = {SEVERITY_ERROR, "Could not write file %s: %s", NULL, false}, + [WARN_UNSUPPORTED_LANG_FEAT] = {SEVERITY_WARNING, "Unsupported language feature (%s) at %s:%d", "unsupported", false}, + [WARN_SMALL_REAL] = {SEVERITY_WARNING, "REALs with extremely small magnitude may be interpreted as zero by other EXPRESS parsers " + "(IEEE 754 float denormals are sometimes rounded to zero) - fabs(%f) <= FLT_MIN.", "limits", false}, + /* lexact.c */ + [INCLUDE_FILE] = {SEVERITY_ERROR, "Could not open include file `%s'.", NULL, false}, + [UNMATCHED_CLOSE_COMMENT] = {SEVERITY_ERROR, "unmatched close comment", NULL, false}, + [UNMATCHED_OPEN_COMMENT] = {SEVERITY_ERROR, "unmatched open comment", NULL, false}, + [UNTERMINATED_STRING] = {SEVERITY_ERROR, "unterminated string literal", NULL, false}, + [ENCODED_STRING_BAD_DIGIT] = {SEVERITY_ERROR, "non-hex digit (%c) in encoded string literal", NULL, false}, + [ENCODED_STRING_BAD_COUNT] = {SEVERITY_ERROR, "number of digits (%d) in encoded string literal is not divisible by 8", NULL, false}, + [BAD_IDENTIFIER] = {SEVERITY_ERROR, "identifier (%s) cannot start with underscore", NULL, false}, + [UNEXPECTED_CHARACTER] = {SEVERITY_ERROR, "character (%c) is not a valid lexical element by itself", NULL, false}, + [NONASCII_CHAR] = {SEVERITY_ERROR, "character (0x%x) is not in the EXPRESS character set", NULL, false}, + /* linklist.c */ + [EMPTY_LIST] = {SEVERITY_ERROR, "Empty list in %s.", NULL, false}, + /* resolve.c */ + [UNDEFINED] = {SEVERITY_ERROR, "Reference to undefined object %s.", NULL, false}, + [UNDEFINED_ATTR] = {SEVERITY_ERROR, "Reference to undefined attribute %s.", NULL, false}, + [UNDEFINED_TYPE] = {SEVERITY_ERROR, "Reference to undefined type %s.", NULL, false}, + [UNDEFINED_SCHEMA] = {SEVERITY_ERROR, "Reference to undefined schema %s.", NULL, false}, + [UNKNOWN_ATTR_IN_ENTITY] = {SEVERITY_ERROR, "Unknown attribute %s in entity %s.", NULL, false}, + [UNKNOWN_SUBTYPE] = {SEVERITY_EXIT, "Unknown subtype %s for entity %s.", "unknown_subtype", false}, + [UNKNOWN_SUPERTYPE] = {SEVERITY_ERROR, "Unknown supertype %s for entity %s.", NULL, false}, + [CIRCULAR_REFERENCE] = {SEVERITY_ERROR, "Circularity: definition of %s references itself.", NULL, false}, + [SUBSUPER_LOOP] = {SEVERITY_ERROR, "Entity %s is a subtype of itself", "circular_subtype", false}, + [SUBSUPER_CONTINUATION] = {SEVERITY_ERROR, " (via supertype entity %s)", NULL, false}, + [SELECT_LOOP] = {SEVERITY_ERROR, "Select type %s selects itself", "circular_select", false}, + [SELECT_CONTINUATION] = {SEVERITY_ERROR, " (via select type %s)", NULL, false}, + [SUPERTYPE_RESOLVE] = {SEVERITY_ERROR, "Supertype %s is not an entity (line %d).", NULL, false}, + [SUBTYPE_RESOLVE] = {SEVERITY_ERROR, "Subtype %s resolves to non-entity %s on line %d.", NULL, false}, + [NOT_A_TYPE] = {SEVERITY_ERROR, "Expected a type (or entity) but %s is %s.", NULL, false}, + [FUNCALL_NOT_A_FUNCTION] = {SEVERITY_ERROR, "Function call of %s which is not a function.", NULL, false}, + [UNDEFINED_FUNC] = {SEVERITY_ERROR, "Function %s undefined.", NULL, false}, + [EXPECTED_PROC] = {SEVERITY_ERROR, "%s is used as a procedure call but is not defined as one (line %d).", NULL, false}, + [NO_SUCH_PROCEDURE] = {SEVERITY_ERROR, "No such procedure as %s.", NULL, false}, + [WRONG_ARG_COUNT] = {SEVERITY_WARNING, "Call to %s uses %d arguments, but expected %d.", NULL, false}, + [QUERY_REQUIRES_AGGREGATE] = {SEVERITY_ERROR, "Query expression source must be an aggregate.", NULL, false}, + [SELF_IS_UNKNOWN] = {SEVERITY_ERROR, "SELF is not within an entity declaration.", NULL, false}, + [INVERSE_BAD_ENTITY] = {SEVERITY_ERROR, "Attribute %s is referenced from non-entity-inheriting type.", NULL, false}, + [INVERSE_BAD_ATTR] = {SEVERITY_ERROR, "Unknown attribute %s in entity %s in inverse.", NULL, false}, + [MISSING_SUPERTYPE] = {SEVERITY_ERROR, "Entity %s missing from supertype list for subtype %s.", NULL, false}, + [TYPE_IS_ENTITY] = {SEVERITY_ERROR, "An entity (%s) is not acceptable as an underlying type.", "entity_as_type", false}, + [AMBIGUOUS_ATTR] = {SEVERITY_WARNING, "Ambiguous attribute reference %s.", NULL, false}, + [AMBIGUOUS_GROUP] = {SEVERITY_WARNING, "Ambiguous group reference %s.", NULL, false}, + [OVERLOADED_ATTR] = {SEVERITY_ERROR, "Attribute %s already inherited via supertype %s.", NULL, false}, + [REDECL_NO_SUCH_ATTR] = {SEVERITY_ERROR, "Redeclared attribute %s not declared in supertype %s.", NULL, false}, + [REDECL_NO_SUCH_SUPERTYPE] = {SEVERITY_ERROR, "No such supertype %s for redeclaration of attribute %s.", NULL, false}, + [MISSING_SELF] = {SEVERITY_ERROR, "Domain rule %s must refer to SELF or attribute.", NULL, false}, + [FN_SKIP_BRANCH] = {SEVERITY_WARNING, "IF statement condition is always %s. Ignoring branch that is never taken.", "invariant_condition", false}, + [CASE_SKIP_LABEL] = {SEVERITY_WARNING, "CASE label %s cannot be matched. Ignoring its statements.", "invalid_case", false}, + [UNIQUE_QUAL_REDECL] = {SEVERITY_WARNING, "Possibly unnecessary qualifiers on redeclared attr '%s' in a uniqueness rule of entity '%s'.", "unnecessary_qualifiers", false}, + /* type.c */ + [CORRUPTED_TYPE] = {SEVERITY_DUMP, "Corrupted type in %s", NULL, false}, + [UNDEFINED_TAG] = {SEVERITY_ERROR, "Undefined type tag %s", NULL, false}, + /* exppp.c */ + [SELECT_EMPTY] = {SEVERITY_ERROR, "select type %s has no members", NULL, false}, +}; bool __ERROR_buffer_errors = false; -char * current_filename = "stdin"; +const char * current_filename = "stdin"; /* flag to remember whether non-warning errors have occurred */ bool ERRORoccurred = false; - Error experrc = ERROR_none; Error ERROR_subordinate_failed = ERROR_none; Error ERROR_syntax_expecting = ERROR_none; @@ -85,13 +168,8 @@ int malloc_debug_resolve = 0; /* for debugging yacc/lex */ int debug = 0; -struct Linked_List_ * ERRORwarnings; -struct freelist_head ERROR_OPT_fl; - void ( *ERRORusage_function )( void ); -#include "express/express.h" - #define ERROR_MAX_ERRORS 100 /**< max line-numbered errors */ #define ERROR_MAX_SPACE 4000 /**< max space for line-numbered errors */ #define ERROR_MAX_STRLEN 200 /**< assuming all error messages are less than this, @@ -100,7 +178,7 @@ void ( *ERRORusage_function )( void ); * dump the buffer */ static struct heap_element { - unsigned int line; + int line; char * msg; } heap[ERROR_MAX_ERRORS + 1]; /**< NOTE! element 0 is purposely ignored, and * an additional element is at the end. This @@ -110,6 +188,7 @@ static struct heap_element { static int ERROR_with_lines = 0; /**< number of warnings & errors that have occurred with a line number */ static char * ERROR_string; static char * ERROR_string_base; +static char * ERROR_string_end; static bool ERROR_unsafe = false; static jmp_buf ERROR_safe_env; @@ -117,17 +196,41 @@ static jmp_buf ERROR_safe_env; #define error_file stderr /**< message buffer file */ +static int ERROR_vprintf( const char *format, va_list ap ) { + int result = vsnprintf( ERROR_string, ERROR_string_end - ERROR_string, format, ap ); + + if(result < 0) { + ERROR_string = ERROR_string_end; + } else if(result > (ERROR_string_end - ERROR_string)) { + ERROR_string = ERROR_string_end; + } else { + ERROR_string = ERROR_string + result; + } + return result; +} + +static int ERROR_printf( const char *format, ... ) { + int result; + va_list ap; + va_start( ap, format ); + result = ERROR_vprintf( format, ap ); + va_end( ap ); + return result; +} + +static void ERROR_nexterror() { + if( ERROR_string == ERROR_string_end ) { + return; + } + ERROR_string++; +} + /** Initialize the Error module */ void ERRORinitialize( void ) { - ERROR_subordinate_failed = - ERRORcreate( "A subordinate failed.", SEVERITY_ERROR ); - ERROR_syntax_expecting = - ERRORcreate( "%s, expecting %s in %s %s", SEVERITY_EXIT ); - - ERROR_string_base = ( char * )sc_malloc( ERROR_MAX_SPACE ); + ERROR_string_base = ( char * )malloc( ERROR_MAX_SPACE ); + ERROR_string_end = ERROR_string_base + ERROR_MAX_SPACE; ERROR_start_message_buffer(); - #ifdef SIGQUIT signal( SIGQUIT, ERRORabort ); #endif @@ -144,58 +247,22 @@ void ERRORinitialize( void ) { /** Clean up the Error module */ void ERRORcleanup( void ) { - ERRORdestroy( ERROR_subordinate_failed ); - ERRORdestroy( ERROR_syntax_expecting ); - - sc_free( ERROR_string_base ); + free( ERROR_string_base ); } -/** Need the LIST routines to complete ERROR initialization */ -void ERRORinitialize_after_LIST( void ) { - ERRORwarnings = LISTcreate(); - - MEMinitialize( &ERROR_OPT_fl, sizeof( struct Error_Warning_ ), 5, 5 ); -} - -void ERRORcreate_warning( char * name, Error error ) { - struct Error_Warning_ *o; - - /* first check if we know about this type of error */ - LISTdo( ERRORwarnings, opt, Error_Warning ) - if( streq( name, opt->name ) ) { - LISTadd( opt->errors, ( Generic )error ); - return; - } - LISTod - - /* new error */ - o = ERROR_OPT_new(); - o->name = name; - o->errors = LISTcreate(); - LISTadd( o->errors, ( Generic )error ); - LISTadd( ERRORwarnings, ( Generic )o ); -} - -void ERRORset_warning( char * name, int set ) { +void ERRORset_warning(char * name, bool warn_only) { + Error err; bool found = false; - - if( streq( name, "all" ) ) { - ERRORset_all_warnings( set ); - } else if( streq( name, "none" ) ) { - ERRORset_all_warnings( !set ); - } else { - LISTdo( ERRORwarnings, opt, Error_Warning ) - if( streq( opt->name, name ) ) { + + for (unsigned int errnum = 0; errnum < (sizeof LibErrors / sizeof LibErrors[0]); errnum++) { + err = &LibErrors[errnum]; + if (err->severity <= SEVERITY_WARNING && !strcmp(err->name, name)) { found = true; - LISTdo( opt->errors, err, Error ) - err->enabled = set; - LISTod + err->override = warn_only; } - LISTod - if( found ) { - return; - } - + } + + if (!found) { fprintf( stderr, "unknown warning: %s\n", name ); if( ERRORusage_function ) { ( *ERRORusage_function )(); @@ -205,24 +272,56 @@ void ERRORset_warning( char * name, int set ) { } } -/** \fn ERRORdisable -** \param error error to disable -** Disable an error (ERRORreport*() will ignore it) -** \note this function is inlined in error.h -*/ +void ERRORset_all_warnings( bool warn_only ) { + Error err; + + for (unsigned int errnum = 0; errnum < (sizeof LibErrors / sizeof LibErrors[0]); errnum++) { + err = &LibErrors[errnum]; + if (err->severity <= SEVERITY_WARNING) { + err->override = warn_only; + } + } +} -/** \fn ERRORenable -** \param error error to enable -** Enable an error (ERRORreport*() will report it) -** \note this function is inlined in error.h -*/ +char * ERRORget_warnings_help(const char* prefix, const char *eol) { + unsigned int sz = 2048, len, clen; + char *buf, *nbuf; + Error err; + + clen = strlen(prefix) + strlen(eol) + 1; + + buf = malloc(sz); + if (!buf) { + fprintf(error_file, "failed to allocate memory for warnings help!\n"); + } + buf[0] = '\0'; + + for (unsigned int errnum = 0; errnum < (sizeof LibErrors / sizeof LibErrors[0]); errnum++) { + err = &LibErrors[errnum]; + if (err->name) { + len = strlen(buf) + strlen(err->name) + clen; + if (len > sz) { + sz *= 2; + nbuf = realloc(buf, sz); + if (!nbuf) { + fprintf(error_file, "failed to reallocate / grow memory for warnings help!\n"); + } + buf = nbuf; + } + strcat(buf, prefix); + strcat(buf, err->name); + strcat(buf, eol); + } + } + + return buf; +} -/** \fn ERRORis_enabled -** \param error error to test -** \return is reporting of the error enabled? -** Check whether an error is enabled -** \note this function is inlined in error.h -*/ +bool +ERRORis_enabled(enum ErrorCode errnum) { + Error err = &LibErrors[errnum]; + return !err->override; +} /** \fn ERRORreport ** \param what error to report @@ -232,42 +331,21 @@ void ERRORset_warning( char * name, int set ) { ** Notes: The second and subsequent arguments should match the ** format fields of the message generated by 'what.' */ -void ERRORset_all_warnings( int set ) { - LISTdo( ERRORwarnings, opts, Error_Warning ) - LISTdo( opts->errors, err, Error ) - err->enabled = set; - LISTod - LISTod -} - void -#ifdef __STDC__ -ERRORreport( Error what, ... ) { -#else -ERRORreport( va_alist ) -va_dcl { - Error what; -#endif - /* extern void abort(void);*/ +ERRORreport( enum ErrorCode errnum, ... ) { va_list args; -#ifdef __STDC__ - va_start( args, what ); -#else - va_start( args ); - what = va_arg( args, Error ); -#endif + va_start( args, errnum ); + Error what = &LibErrors[errnum]; - if( ( what != ERROR_none ) && - ( what != ERROR_subordinate_failed ) && - what->enabled ) { + if (errnum != SUBORDINATE_FAILED && ERRORis_enabled(errnum) ) { if( what->severity >= SEVERITY_ERROR ) { - fprintf( error_file, "ERROR: " ); + fprintf( error_file, "ERROR PE%03d: ", errnum ); vfprintf( error_file, what->message, args ); fputc( '\n', error_file ); ERRORoccurred = true; - } else if( what->severity >= SEVERITY_WARNING ) { - fprintf( error_file, "WARNING: %d", what->severity ); + } else { + fprintf( error_file, "WARNING PW%03d: %d", errnum, what->severity ); vfprintf( error_file, what->message, args ); fputc( '\n', error_file ); } @@ -280,7 +358,6 @@ va_dcl { } } } - experrc = ERROR_none; va_end( args ); } @@ -294,62 +371,23 @@ va_dcl { ** format fields of the message generated by 'what.' */ void -#ifdef __STDC__ -ERRORreport_with_line( Error what, int line, ... ) { -#else -ERRORreport_with_line( va_alist ) -va_dcl { - Error what; - int line; -#endif - - char buf[BUFSIZ]; - char * savemsg; /* save what->message here while we fool */ - /* ERRORreport_with_line */ +ERRORreport_with_line( enum ErrorCode errnum, int line, ... ) { Symbol sym; va_list args; -#ifdef __STDC__ va_start( args, line ); -#else - va_start( args ); - what = va_arg( args, Error ); - line = va_arg( args, int ); -#endif sym.filename = current_filename; sym.line = line; - - vsprintf( buf, what->message, args ); - - /* gross, but there isn't any way to do this more directly */ - /* without writing yet another variant of ERRORreport_with_line */ - savemsg = what->message; - what->message = "%s"; - ERRORreport_with_symbol( what, &sym, buf ); - what->message = savemsg; + ERRORreport_with_symbol(errnum, &sym, args); } void -#ifdef __STDC__ -ERRORreport_with_symbol( Error what, Symbol * sym, ... ) { -#else -ERRORreport_with_symbol( va_alist ) -va_dcl { - Error what; - Symbol * sym; -#endif - /* extern void abort(void);*/ +ERRORreport_with_symbol( enum ErrorCode errnum, Symbol * sym, ... ) { va_list args; - -#ifdef __STDC__ va_start( args, sym ); -#else - va_start( args ); - what = va_arg( args, Error ); - sym = va_arg( args, Symbol * ); -#endif + Error what = &LibErrors[errnum]; - if( ( what != ERROR_none ) && ( what != ERROR_subordinate_failed ) && what->enabled ) { + if (errnum != SUBORDINATE_FAILED && ERRORis_enabled(errnum)) { if( __ERROR_buffer_errors ) { int child, parent; @@ -375,20 +413,14 @@ va_dcl { heap[child].msg = ERROR_string; if( what->severity >= SEVERITY_ERROR ) { - sprintf( ERROR_string, "%s:%d: --ERROR: ", sym->filename, sym->line ); - ERROR_string += strlen( ERROR_string ); - vsprintf( ERROR_string, what->message, args ); - ERROR_string += strlen( ERROR_string ); - *ERROR_string++ = '\n'; - *ERROR_string++ = '\0'; + ERROR_printf( "%s:%d: --ERROR PE%03d: ", sym->filename, sym->line, errnum ); + ERROR_vprintf( what->message, args ); + ERROR_nexterror(); ERRORoccurred = true; - } else if( what->severity >= SEVERITY_WARNING ) { - sprintf( ERROR_string, "%s:%d: WARNING: ", sym->filename, sym->line ); - ERROR_string += strlen( ERROR_string ); - vsprintf( ERROR_string, what->message, args ); - ERROR_string += strlen( ERROR_string ); - *ERROR_string++ = '\n'; - *ERROR_string++ = '\0'; + } else { + ERROR_printf( "%s:%d: WARNING PW%03d: ", sym->filename, sym->line, errnum ); + ERROR_vprintf( what->message, args ); + ERROR_nexterror(); } if( what->severity >= SEVERITY_EXIT || ERROR_string + ERROR_MAX_STRLEN > ERROR_string_base + ERROR_MAX_SPACE || @@ -402,13 +434,12 @@ va_dcl { } } else { if( what->severity >= SEVERITY_ERROR ) { - fprintf( error_file, "%s:%d: --ERROR: ", sym->filename, sym->line ); + fprintf( error_file, "%s:%d: --ERROR PE%03d: ", sym->filename, sym->line, errnum ); vfprintf( error_file, what->message, args ); fprintf( error_file, "\n" ); ERRORoccurred = true; - } else if( what->severity >= SEVERITY_WARNING ) { - fprintf( error_file, "%s:%d: WARNING: ", sym->filename, sym->line ); - ERROR_string += strlen( ERROR_string ) + 1; + } else { + fprintf( error_file, "%s:%d: WARNING PW%03d: ", sym->filename, sym->line, errnum ); vfprintf( error_file, what->message, args ); fprintf( error_file, "\n" ); } @@ -421,7 +452,6 @@ va_dcl { } } } - experrc = ERROR_none; va_end( args ); } @@ -430,26 +460,6 @@ void ERRORnospace() { ERRORabort( 0 ); } -/** -** \param message error message -** \param severity severity of error -** \return newly created error -** Create a new error -*/ -Error ERRORcreate( char * message, Severity severity ) { - Error n; - - n = ( struct Error_ * )sc_malloc( sizeof( struct Error_ ) ); - n->message = message; - n->severity = severity; - n->enabled = true; - return n; -} - -void ERRORdestroy( Error error ) { - sc_free( error ); -} - /** \fn ERRORbuffer_messages ** \param flag - to buffer or not to buffer ** Selects buffering of error messages @@ -469,7 +479,7 @@ void ERROR_start_message_buffer( void ) { } void ERROR_flush_message_buffer( void ) { - if( __ERROR_buffer_errors == false ) { + if(!__ERROR_buffer_errors) { return; } @@ -504,16 +514,22 @@ void ERROR_flush_message_buffer( void ) { } void ERRORabort( int sig ) { - ERRORflush_messages(); - if( !ERRORdebugging ) { - if( ERROR_unsafe ) { - longjmp( ERROR_safe_env, 1 ); - } + (void) sig; /* quell unused param warning */ + + /* TODO: rework - fprintf is not atomic + * so ERRORflush_messages() is unsafe if __ERROR_buffer_errors is set + */ + + /* NOTE: signals can be caught in gdb, + * no need for special treatment of debugging scenario */ + if( ERROR_unsafe ) { + longjmp( ERROR_safe_env, 1 ); + } #ifdef SIGABRT - signal( SIGABRT, SIG_DFL ); + signal( SIGABRT, SIG_DFL ); #endif - abort(); - } + /* TODO: library shouldn't abort an application? */ + abort(); } void ERRORsafe( jmp_buf env ) { diff --git a/src/express/exp_kw.c b/src/express/exp_kw.c new file mode 100644 index 000000000..837e49393 --- /dev/null +++ b/src/express/exp_kw.c @@ -0,0 +1,122 @@ +#include "express/exp_kw.h" + +char * KW_ABS = "ABS"; +char * KW_ABSTRACT = "ABSTRACT"; +char * KW_ACOS = "ACOS"; +char * KW_AGGREGATE = "AGGREGATE"; +char * KW_ALIAS = "ALIAS"; +char * KW_AND = "AND"; +char * KW_ANDOR = "ANDOR"; +char * KW_ARRAY = "ARRAY"; +char * KW_AS = "AS"; +char * KW_ASIN = "ASIN"; +char * KW_ATAN = "ATAN"; +char * KW_BAG = "BAG"; +char * KW_BEGIN = "BEGIN"; +char * KW_BINARY = "BINARY"; +char * KW_BLENGTH = "BLENGTH"; +char * KW_BOOLEAN = "BOOLEAN"; +char * KW_BY = "BY"; +char * KW_CASE = "CASE"; +char * KW_CONST_E = "CONST_E"; +char * KW_CONSTANT = "CONSTANT"; +char * KW_CONTEXT = "CONTEXT"; +char * KW_COS = "COS"; +char * KW_DERIVE = "DERIVE"; +char * KW_DIV = "DIV"; +char * KW_ELSE = "ELSE"; +char * KW_END = "END"; +char * KW_END_ALIAS = "END_ALIAS"; +char * KW_END_CASE = "END_CASE"; +char * KW_END_CONSTANT = "END_CONSTANT"; +char * KW_END_CONTEXT = "END_CONTEXT"; +char * KW_END_ENTITY = "END_ENTITY"; +char * KW_END_FUNCTION = "END_FUNCTION"; +char * KW_END_IF = "END_IF"; +char * KW_END_LOCAL = "END_LOCAL"; +char * KW_END_MODEL = "END_MODEL"; +char * KW_END_PROCEDURE = "END_PROCEDURE"; +char * KW_END_REPEAT = "END_REPEAT"; +char * KW_END_RULE = "END_RULE"; +char * KW_END_SCHEMA = "END_SCHEMA"; +char * KW_END_TYPE = "END_TYPE"; +char * KW_ENTITY = "ENTITY"; +char * KW_ENUMERATION = "ENUMERATION"; +char * KW_ESCAPE = "ESCAPE"; +char * KW_EXISTS = "EXISTS"; +char * KW_EXP = "EXP"; +char * KW_FALSE = "FALSE"; +char * KW_FIXED = "FIXED"; +char * KW_FOR = "FOR"; +char * KW_FORMAT = "FORMAT"; +char * KW_FROM = "FROM"; +char * KW_FUNCTION = "FUNCTION"; +char * KW_GENERIC = "GENERIC"; +char * KW_HIBOUND = "HIBOUND"; +char * KW_HIINDEX = "HIINDEX"; +char * KW_IF = "IF"; +char * KW_IN = "IN"; +char * KW_INCLUDE = "INCLUDE"; +char * KW_INSERT = "INSERT"; +char * KW_INTEGER = "INTEGER"; +char * KW_INVERSE = "INVERSE"; +char * KW_LENGTH = "LENGTH"; +char * KW_LIKE = "LIKE"; +char * KW_LIST = "LIST"; +char * KW_LOBOUND = "LOBOUND"; +char * KW_LOCAL = "LOCAL"; +char * KW_LOG = "LOG"; +char * KW_LOG10 = "LOG10"; +char * KW_LOG2 = "LOG2"; +char * KW_LOGICAL = "LOGICAL"; +char * KW_LOINDEX = "LOINDEX"; +char * KW_MOD = "MOD"; +char * KW_MODEL = "MODEL"; +char * KW_NOT = "NOT"; +char * KW_NUMBER = "NUMBER"; +char * KW_NVL = "NVL"; +char * KW_ODD = "ODD"; +char * KW_OF = "OF"; +char * KW_ONEOF = "ONEOF"; +char * KW_OPTIONAL = "OPTIONAL"; +char * KW_OR = "OR"; +char * KW_OTHERWISE = "OTHERWISE"; +char * KW_PI = "PI"; +char * KW_PROCEDURE = "PROCEDURE"; +char * KW_QUERY = "QUERY"; +char * KW_REAL = "REAL"; +char * KW_REFERENCE = "REFERENCE"; +char * KW_REMOVE = "REMOVE"; +char * KW_REPEAT = "REPEAT"; +char * KW_RETURN = "RETURN"; +char * KW_ROLESOF = "ROLESOF"; +char * KW_RULE = "RULE"; +char * KW_SCHEMA = "SCHEMA"; +char * KW_SELECT = "SELECT"; +char * KW_SELF = "SELF"; +char * KW_SET = "SET"; +char * KW_SIN = "SIN"; +char * KW_SIZEOF = "SIZEOF"; +char * KW_SKIP = "SKIP"; +char * KW_SQRT = "SQRT"; +char * KW_STRING = "STRING"; +char * KW_SUBTYPE = "SUBTYPE"; +char * KW_SUPERTYPE = "SUPERTYPE"; +char * KW_TAN = "TAN"; +char * KW_THEN = "THEN"; +char * KW_TO = "TO"; +char * KW_TRUE = "TRUE"; +char * KW_TYPE = "TYPE"; +char * KW_TYPEOF = "TYPEOF"; +char * KW_UNIQUE = "UNIQUE"; +char * KW_UNKNOWN = "UNKNOWN"; +char * KW_UNTIL = "UNTIL"; +char * KW_USE = "USE"; +char * KW_USEDIN = "USEDIN"; +char * KW_VALUE = "VALUE"; +char * KW_VALUE_IN = "VALUE_IN"; +char * KW_VALUE_UNIQUE = "VALUE_UNIQUE"; +char * KW_VAR = "VAR"; +char * KW_WHERE = "WHERE"; +char * KW_WHILE = "WHILE"; +char * KW_XOR = "XOR"; diff --git a/src/express/expparse.y b/src/express/expparse.y index 061942d22..92a9bfcca 100644 --- a/src/express/expparse.y +++ b/src/express/expparse.y @@ -19,75 +19,7 @@ YYSTYPE yylval; * Revision 1.23 1997/11/14 17:09:04 libes * allow multiple group references * - * Revision 1.22 1997/01/21 19:35:43 dar - * made C++ compatible - * - * Revision 1.21 1995/06/08 22:59:59 clark - * bug fixes - * - * Revision 1.20 1995/04/08 21:06:07 clark - * WHERE rule resolution bug fixes, take 2 - * - * Revision 1.19 1995/04/08 20:54:18 clark - * WHERE rule resolution bug fixes - * - * Revision 1.19 1995/04/08 20:49:08 clark - * WHERE - * - * Revision 1.18 1995/04/05 13:55:40 clark - * CADDETC preval - * - * Revision 1.17 1995/03/09 18:43:47 clark - * various fixes for caddetc - before interface clause changes - * - * Revision 1.16 1994/11/29 20:55:58 clark - * fix inline comment bug - * - * Revision 1.15 1994/11/22 18:32:39 clark - * Part 11 IS; group reference - * - * Revision 1.14 1994/11/10 19:20:03 clark - * Update to IS - * - * Revision 1.13 1994/05/11 19:50:00 libes - * numerous fixes - * - * Revision 1.12 1993/10/15 18:47:26 libes - * CADDETC certified - * - * Revision 1.10 1993/03/19 20:53:57 libes - * one more, with feeling - * - * Revision 1.9 1993/03/19 20:39:51 libes - * added unique to parameter types - * - * Revision 1.8 1993/02/16 03:17:22 libes - * reorg'd alg bodies to not force artificial begin/ends - * added flag to differentiate parameters in scopes - * rewrote query to fix scope handling - * added support for Where type - * - * Revision 1.7 1993/01/19 22:44:17 libes - * *** empty log message *** - * - * Revision 1.6 1992/08/27 23:36:35 libes - * created fifo for new schemas that are parsed - * connected entity list to create of oneof - * - * Revision 1.5 1992/08/18 17:11:36 libes - * rm'd extraneous error messages - * - * Revision 1.4 1992/06/08 18:05:20 libes - * prettied up interface to print_objects_when_running - * - * Revision 1.3 1992/05/31 23:31:13 libes - * implemented ALIAS resolution - * - * Revision 1.2 1992/05/31 08:30:54 libes - * multiple files - * - * Revision 1.1 1992/05/28 03:52:25 libes - * Initial revision + * ** 22 older revision log records removed 3 January 2014 ** */ #include "express/symbol.h" @@ -98,22 +30,28 @@ YYSTYPE yylval; #include "express/entity.h" #include "express/resolve.h" #include "expscan.h" +#include extern int print_objects_while_running; - int tag_count; /* use this to count tagged GENERIC types in the formal */ - /* argument lists. Gross, but much easier to do it this */ - /* way then with the 'help' of yacc. */ - /* Set it to -1 to indicate that tags cannot be defined, */ - /* only used (outside of formal parameter list, i.e. for */ - /* return types). Hey, as long as */ - /* there's a gross hack sitting around, we might as well */ - /* milk it for all it's worth! -snc */ + int tag_count; /**< use this to count tagged GENERIC types in the formal + * argument lists. Gross, but much easier to do it this + * way then with the 'help' of yacc. Set it to -1 to + * indicate that tags cannot be defined, only used + * (outside of formal parameter list, i.e. for return + * types). Hey, as long as there's a gross hack sitting + * around, we might as well milk it for all it's worth! + * - snc + */ - Express yyexpresult; /* hook to everything built by parser */ + int local_var_count; /**< used to keep LOCAL variables in order + * used in combination with Variable.offset + */ - Symbol *interface_schema; /* schema of interest in use/ref clauses */ - void (*interface_func)(); /* func to attach rename clauses */ + Express yyexpresult; /* hook to everything built by parser */ + + Symbol *interface_schema; /* schema of interest in use/ref clauses */ + void (*interface_func)(struct Scope_ *, Symbol *, Symbol *, Symbol *); /* func to attach rename clauses */ /* record schemas found in a single parse here, allowing them to be */ /* differentiated from other schemas parsed earlier */ @@ -121,44 +59,41 @@ YYSTYPE yylval; void SCANskip_to_end_schema(perplex_t scanner); - int yylineno; - - - static void yyerror(const char*, char *string); + int yylineno; bool yyeof = false; -#define MAX_SCOPE_DEPTH 20 /* max number of scopes that can be nested */ +#define MAX_SCOPE_DEPTH 20 /* max number of scopes that can be nested */ static struct scope { struct Scope_ *this_; - char type; /* one of OBJ_XXX */ - struct scope *pscope; /* pointer back to most recent scope */ + char type; /* one of OBJ_XXX */ + struct scope *pscope; /* pointer back to most recent scope */ /* that has a printable name - for better */ /* error messages */ } scopes[MAX_SCOPE_DEPTH], *scope; #define CURRENT_SCOPE (scope->this_) #define PREVIOUS_SCOPE ((scope-1)->this_) #define CURRENT_SCHEMA (scope->this_->u.schema) -#define CURRENT_SCOPE_NAME (OBJget_symbol(scope->pscope->this_,scope->pscope->type)->name) -#define CURRENT_SCOPE_TYPE_PRINTABLE (OBJget_type(scope->pscope->type)) +#define CURRENT_SCOPE_NAME (OBJget_symbol(scope->pscope->this_,scope->pscope->type)->name) +#define CURRENT_SCOPE_TYPE_PRINTABLE (OBJget_type(scope->pscope->type)) /* ths = new scope to enter */ /* sym = name of scope to enter into parent. Some scopes (i.e., increment) */ /* are not named, in which case sym should be 0 */ - /* This is useful for when a diagnostic is printed, an earlier named */ - /* scoped can be used */ + /* This is useful for when a diagnostic is printed, an earlier named */ + /* scoped can be used */ /* typ = type of scope */ #define PUSH_SCOPE(ths,sym,typ) \ - if (sym) DICTdefine(scope->this_->symbol_table,(sym)->name,(Generic)ths,sym,typ);\ - ths->superscope = scope->this_; \ - scope++; \ - scope->type = typ; \ - scope->pscope = (sym?scope:(scope-1)->pscope); \ - scope->this_ = ths; \ - if (sym) { \ - ths->symbol = *(sym); \ - } + if (sym) DICTdefine(scope->this_->symbol_table,(sym)->name,(Generic)ths,sym,typ);\ + ths->superscope = scope->this_; \ + scope++; \ + scope->type = typ; \ + scope->pscope = (sym?scope:(scope-1)->pscope); \ + scope->this_ = ths; \ + if (sym) { \ + ths->symbol = *(sym); \ + } #define POP_SCOPE() scope-- /* PUSH_SCOPE_DUMMY just pushes the scope stack with nothing actually on it */ @@ -169,9 +104,9 @@ YYSTYPE yylval; /* bother to get pushed so fix them this way */ #define SCOPEadd_super(ths) ths->superscope = scope->this_; -#define ERROR(code) ERRORreport(code, yylineno) +#define ERROR(code) ERRORreport(code, yylineno) -void parserInitState() +void parserInitState( void ) { scope = scopes; /* no need to define scope->this */ @@ -188,172 +123,171 @@ void parserInitState() %destructor statement_list { if (parseData.scanner == NULL) { - $$.string = (char*)NULL; + $$.string = (char*)NULL; } } -%type case_action { Case_Item } -%type case_otherwise { Case_Item } -%type entity_body { struct entity_body } - -%type aggregate_init_element { Expression } -%type aggregate_initializer { Expression } -%type assignable { Expression } -%type attribute_decl { Expression } -%type by_expression { Expression } -%type constant { Expression } -%type expression { Expression } -%type function_call { Expression } -%type general_ref { Expression } -%type group_ref { Expression } -%type identifier { Expression } -%type initializer { Expression } -%type interval { Expression } -%type literal { Expression } -%type local_initializer { Expression } -%type precision_spec { Expression } -%type query_expression { Expression } -%type query_start { Expression } -%type simple_expression { Expression } -%type unary_expression { Expression } -%type supertype_expression { Expression } -%type until_control { Expression } -%type while_control { Expression } - -%type function_header { Integer } -%type fh_lineno { Integer } -%type rule_header { Integer } -%type rh_start { Integer } -%type rh_get_line { Integer } -%type procedure_header { Integer } -%type ph_get_line { Integer } - -%type action_body { Linked_List } -%type actual_parameters { Linked_List } -%type aggregate_init_body { Linked_List } -%type explicit_attr_list { Linked_List } -%type case_action_list { Linked_List } -%type case_block { Linked_List } -%type case_labels { Linked_List } -%type where_clause_list { Linked_List } -%type derive_decl { Linked_List } -%type explicit_attribute { Linked_List } -%type expression_list { Linked_List } -%type formal_parameter { Linked_List } -%type formal_parameter_list { Linked_List } -%type formal_parameter_rep { Linked_List } -%type id_list { Linked_List } -%type defined_type_list { Linked_List } -%type nested_id_list { Linked_List } +%type case_action { Case_Item } +%type case_otherwise { Case_Item } +%type entity_body { struct entity_body } + +%type aggregate_init_element { Expression } +%type aggregate_initializer { Expression } +%type assignable { Expression } +%type attribute_decl { Expression } +%type by_expression { Expression } +%type constant { Expression } +%type expression { Expression } +%type function_call { Expression } +%type general_ref { Expression } +%type group_ref { Expression } +%type identifier { Expression } +%type initializer { Expression } +%type interval { Expression } +%type literal { Expression } +%type local_initializer { Expression } +%type precision_spec { Expression } +%type query_expression { Expression } +%type query_start { Expression } +%type simple_expression { Expression } +%type unary_expression { Expression } +%type supertype_expression { Expression } +%type until_control { Expression } +%type while_control { Expression } + +%type function_header { Integer } +%type fh_lineno { Integer } +%type rule_header { Integer } +%type rh_start { Integer } +%type rh_get_line { Integer } +%type procedure_header { Integer } +%type ph_get_line { Integer } + +%type action_body { Linked_List } +%type actual_parameters { Linked_List } +%type aggregate_init_body { Linked_List } +%type explicit_attr_list { Linked_List } +%type case_action_list { Linked_List } +%type case_block { Linked_List } +%type case_labels { Linked_List } +%type where_clause_list { Linked_List } +%type derive_decl { Linked_List } +%type explicit_attribute { Linked_List } +%type expression_list { Linked_List } +%type formal_parameter { Linked_List } +%type formal_parameter_list { Linked_List } +%type formal_parameter_rep { Linked_List } +%type id_list { Linked_List } +%type defined_type_list { Linked_List } +%type nested_id_list { Linked_List } /*repeat_control_list*/ -%type statement_rep { Linked_List } -%type subtype_decl { Linked_List } -%type where_rule { Linked_List } -%type where_rule_OPT { Linked_List } -%type supertype_expression_list { Linked_List } -%type labelled_attrib_list_list { Linked_List } -%type labelled_attrib_list { Linked_List } -%type inverse_attr_list { Linked_List } - -%type inverse_clause { Linked_List } -%type attribute_decl_list { Linked_List } -%type derived_attribute_rep { Linked_List } -%type unique_clause { Linked_List } -%type rule_formal_parameter_list { Linked_List } -%type qualified_attr_list { Linked_List } +%type statement_rep { Linked_List } +%type subtype_decl { Linked_List } +%type where_rule { Linked_List } +%type where_rule_OPT { Linked_List } +%type supertype_expression_list { Linked_List } +%type labelled_attrib_list_list { Linked_List } +%type labelled_attrib_list { Linked_List } +%type inverse_attr_list { Linked_List } + +%type inverse_clause { Linked_List } +%type attribute_decl_list { Linked_List } +%type derived_attribute_rep { Linked_List } +%type unique_clause { Linked_List } +%type rule_formal_parameter_list { Linked_List } +%type qualified_attr_list { Linked_List } /* remove labelled_attrib_list if this works */ -%type rel_op { Op_Code } - -%type optional_or_unique { struct type_flags } -%type optional_fixed { struct type_flags } -%type optional { struct type_flags } -%type var { struct type_flags } -%type unique { struct type_flags } - -%type qualified_attr { Qualified_Attr* } - -%type qualifier { struct qualifier } - -%type alias_statement { Statement } -%type assignment_statement { Statement } -%type case_statement { Statement } -%type compound_statement { Statement } -%type escape_statement { Statement } -%type if_statement { Statement } -%type proc_call_statement { Statement } -%type repeat_statement { Statement } -%type return_statement { Statement } -%type skip_statement { Statement } -%type statement { Statement } - -%type subsuper_decl { struct subsuper_decl } - -%type supertype_decl { struct subtypes } -%type supertype_factor { struct subtypes } - -%type function_id { Symbol* } -%type procedure_id { Symbol* } - -%type attribute_type { Type } -%type defined_type { Type } -%type parameter_type { Type } -%type generic_type { Type } - -%type basic_type { TypeBody } -%type select_type { TypeBody } -%type aggregate_type { TypeBody } -%type aggregation_type { TypeBody } -%type array_type { TypeBody } -%type bag_type { TypeBody } -%type conformant_aggregation { TypeBody } -%type list_type { TypeBody } -%type set_type { TypeBody } - -%type set_or_bag_of_entity { struct type_either } -%type type { struct type_either } - -%type cardinality_op { struct upper_lower } -%type index_spec { struct upper_lower } -%type limit_spec { struct upper_lower } - -%type inverse_attr { Variable } -%type derived_attribute { Variable } -%type rule_formal_parameter { Variable } - -%type where_clause { Where } - - -%left TOK_EQUAL - TOK_GREATER_EQUAL - TOK_GREATER_THAN - TOK_IN - TOK_INST_EQUAL - TOK_INST_NOT_EQUAL - TOK_LESS_EQUAL - TOK_LESS_THAN - TOK_LIKE TOK_NOT_EQUAL. - -%left TOK_MINUS - TOK_PLUS - TOK_OR - TOK_XOR. - -%left TOK_DIV - TOK_MOD - TOK_REAL_DIV - TOK_TIMES - TOK_AND - TOK_ANDOR - TOK_CONCAT_OP. +%type rel_op { Op_Code } + +%type optional_or_unique { struct type_flags } +%type optional_fixed { struct type_flags } +%type optional { struct type_flags } +%type var { struct type_flags } +%type unique { struct type_flags } + +%type qualified_attr { Expression } + +%type qualifier { struct qualifier } + +%type alias_statement { Statement } +%type assignment_statement { Statement } +%type case_statement { Statement } +%type compound_statement { Statement } +%type escape_statement { Statement } +%type if_statement { Statement } +%type proc_call_statement { Statement } +%type repeat_statement { Statement } +%type return_statement { Statement } +%type skip_statement { Statement } +%type statement { Statement } + +%type subsuper_decl { struct subsuper_decl } + +%type supertype_decl { struct subtypes } +%type supertype_factor { struct subtypes } + +%type function_id { Symbol* } +%type procedure_id { Symbol* } + +%type attribute_type { Type } +%type defined_type { Type } +%type parameter_type { Type } +%type generic_type { Type } + +%type basic_type { TypeBody } +%type select_type { TypeBody } +%type aggregate_type { TypeBody } +%type aggregation_type { TypeBody } +%type array_type { TypeBody } +%type bag_type { TypeBody } +%type conformant_aggregation { TypeBody } +%type list_type { TypeBody } +%type set_type { TypeBody } + +%type set_or_bag_of_entity { struct type_either } +%type type { struct type_either } + +%type cardinality_op { struct upper_lower } +%type bound_spec { struct upper_lower } + +%type inverse_attr { Variable } +%type derived_attribute { Variable } +%type rule_formal_parameter { Variable } + +%type where_clause { Where } + + +%left TOK_EQUAL + TOK_GREATER_EQUAL + TOK_GREATER_THAN + TOK_IN + TOK_INST_EQUAL + TOK_INST_NOT_EQUAL + TOK_LESS_EQUAL + TOK_LESS_THAN + TOK_LIKE TOK_NOT_EQUAL. + +%left TOK_MINUS + TOK_PLUS + TOK_OR + TOK_XOR. + +%left TOK_DIV + TOK_MOD + TOK_REAL_DIV + TOK_TIMES + TOK_AND + TOK_ANDOR + TOK_CONCAT_OP. %right TOK_EXP. %left TOK_NOT. -%nonassoc TOK_DOT - TOK_BACKSLASH - TOK_LEFT_BRACKET. +%nonassoc TOK_DOT + TOK_BACKSLASH + TOK_LEFT_BRACKET. %start_symbol express_file @@ -379,7 +313,7 @@ action_body_item(A) ::= local_decl(B). } /* this corresponds to 'algorithm_head' in N14-ese but it should be rewritten - * to force declarationsfollowed by constants followed by local_decls + * to force declarations followed by constants followed by local_decls */ action_body_item_rep ::= /* NULL item */. action_body_item_rep(A) ::= action_body_item(B) action_body_item_rep. @@ -429,19 +363,19 @@ aggregate_init_element(A) ::= expression(B). aggregate_init_body(A) ::= aggregate_init_element(B). { A = LISTcreate(); - LISTadd(A, (Generic)B); + LISTadd_last(A, (Generic)B); } aggregate_init_body(A) ::= aggregate_init_element(B) TOK_COLON expression(C). { A = LISTcreate(); - LISTadd(A, (Generic)B); + LISTadd_last(A, (Generic)B); - LISTadd(A, (Generic)C); + LISTadd_last(A, (Generic)C); - B->type->u.type->body->flags.repeat = 1; + C->type = Type_Repeat; } aggregate_init_body(A) ::= aggregate_init_body(B) TOK_COMMA - aggregate_init_element(C). + aggregate_init_element(C). { A = B; @@ -449,14 +383,14 @@ aggregate_init_body(A) ::= aggregate_init_body(B) TOK_COMMA } aggregate_init_body(A) ::= aggregate_init_body(B) TOK_COMMA - aggregate_init_element(C) TOK_COLON expression(D). + aggregate_init_element(C) TOK_COLON expression(D). { A = B; LISTadd_last(A, (Generic)C); LISTadd_last(A, (Generic)D); - C->type->u.type->body->flags.repeat = 1; + D->type = Type_Repeat; } aggregate_type(A) ::= TOK_AGGREGATE TOK_OF parameter_type(B). @@ -468,12 +402,11 @@ aggregate_type(A) ::= TOK_AGGREGATE TOK_OF parameter_type(B). Symbol sym; sym.line = yylineno; sym.filename = current_filename; - ERRORreport_with_symbol(ERROR_unlabelled_param_type, &sym, - CURRENT_SCOPE_NAME); + ERRORreport_with_symbol(UNLABELLED_PARAM_TYPE, &sym, CURRENT_SCOPE_NAME); } } aggregate_type(A) ::= TOK_AGGREGATE TOK_COLON TOK_IDENTIFIER(B) TOK_OF - parameter_type(C). + parameter_type(C). { Type t = TYPEcreate_user_defined_tag(C, CURRENT_SCOPE, B.symbol); @@ -503,8 +436,8 @@ aggregation_type(A) ::= set_type(B). } alias_statement(A) ::= TOK_ALIAS TOK_IDENTIFIER(B) TOK_FOR general_ref(C) - semicolon alias_push_scope statement_rep(D) - TOK_END_ALIAS semicolon. + semicolon alias_push_scope statement_rep(D) + TOK_END_ALIAS semicolon. { Expression e = EXPcreate_from_symbol(Type_Attribute, B.symbol); Variable v = VARcreate(e, Type_Unknown); @@ -512,7 +445,7 @@ alias_statement(A) ::= TOK_ALIAS TOK_IDENTIFIER(B) TOK_FOR general_ref(C) v->initializer = C; DICTdefine(CURRENT_SCOPE->symbol_table, B.symbol->name, (Generic)v, - B.symbol, OBJ_VARIABLE); + B.symbol, OBJ_VARIABLE); A = ALIAScreate(CURRENT_SCOPE, v, D); POP_SCOPE(); @@ -524,8 +457,8 @@ alias_push_scope ::= /* subroutine */. PUSH_SCOPE(s, (Symbol *)0, OBJ_ALIAS); } -array_type(A) ::= TOK_ARRAY index_spec(B) TOK_OF optional_or_unique(C) - attribute_type(D). +array_type(A) ::= TOK_ARRAY bound_spec(B) TOK_OF optional_or_unique(C) + attribute_type(D). { A = TYPEBODYcreate(array_); @@ -548,7 +481,7 @@ assignable(A) ::= identifier(B). } assignment_statement(A) ::= assignable(B) TOK_ASSIGNMENT expression(C) - semicolon. + semicolon. { A = ASSIGNcreate(B, C); } @@ -578,7 +511,7 @@ explicit_attr_list(A) ::= explicit_attr_list(B) explicit_attribute(C). LISTadd_last(A, (Generic)C); } -bag_type(A) ::= TOK_BAG limit_spec(B) TOK_OF attribute_type(C). +bag_type(A) ::= TOK_BAG bound_spec(B) TOK_OF attribute_type(C). { A = TYPEBODYcreate(bag_); A->base = C; @@ -655,7 +588,7 @@ by_expression(A) ::= TOK_BY expression(B). } cardinality_op(A) ::= TOK_LEFT_CURL expression(B) TOK_COLON expression(C) - TOK_RIGHT_CURL. + TOK_RIGHT_CURL. { A.lower_limit = B; A.upper_limit = C; @@ -715,7 +648,7 @@ case_otherwise(A) ::= TOK_OTHERWISE TOK_COLON statement(B). } case_statement(A) ::= TOK_CASE expression(B) TOK_OF case_block(C) TOK_END_CASE - semicolon. + semicolon. { A = CASEcreate(B, C); } @@ -746,7 +679,7 @@ constant_body ::= identifier(A) TOK_COLON attribute_type(B) TOK_ASSIGNMENT v->initializer = C; v->flags.constant = 1; DICTdefine(CURRENT_SCOPE->symbol_table, A->symbol.name, (Generic)v, - &A->symbol, OBJ_VARIABLE); + &A->symbol, OBJ_VARIABLE); } constant_body_list ::= /* NULL */. @@ -756,7 +689,7 @@ constant_body_list(A) ::= constant_body(B) constant_body_list. } constant_decl(A) ::= TOK_CONSTANT(B) constant_body_list TOK_END_CONSTANT - semicolon. + semicolon. { A = B; } @@ -788,7 +721,7 @@ derive_decl(A) ::= TOK_DERIVE derived_attribute_rep(B). } derived_attribute(A) ::= attribute_decl(B) TOK_COLON attribute_type(C) - initializer(D) semicolon. + initializer(D) semicolon. { A = VARcreate(B, C); A->initializer = D; @@ -807,14 +740,14 @@ derived_attribute_rep(A) ::= derived_attribute_rep(B) derived_attribute(C). } entity_body(A) ::= explicit_attr_list(B) derive_decl(C) inverse_clause(D) - unique_clause(E) where_rule_OPT(F). + unique_clause(E) where_rule_OPT(F). { A.attributes = B; /* this is flattened out in entity_decl - DEL */ LISTadd_last(A.attributes, (Generic)C); if (D != LIST_NULL) { - LISTadd_last(A.attributes, (Generic)D); + LISTadd_last(A.attributes, (Generic)D); } A.unique = E; @@ -822,15 +755,15 @@ entity_body(A) ::= explicit_attr_list(B) derive_decl(C) inverse_clause(D) } entity_decl ::= entity_header subsuper_decl(A) semicolon entity_body(B) - TOK_END_ENTITY semicolon. + TOK_END_ENTITY semicolon. { CURRENT_SCOPE->u.entity->subtype_expression = A.subtypes; CURRENT_SCOPE->u.entity->supertype_symbols = A.supertypes; - LISTdo (B.attributes, l, Linked_List) - LISTdo (l, a, Variable) - ENTITYadd_attribute(CURRENT_SCOPE, a); - LISTod; - LISTod; + LISTdo( B.attributes, l, Linked_List ) { + LISTdo_n( l, a, Variable, b ) { + ENTITYadd_attribute(CURRENT_SCOPE, a); + } LISTod; + } LISTod; CURRENT_SCOPE->u.entity->abstract = A.abstract; CURRENT_SCOPE->u.entity->unique = B.unique; CURRENT_SCOPE->where = B.where; @@ -842,7 +775,7 @@ entity_header ::= TOK_ENTITY TOK_IDENTIFIER(A). Entity e = ENTITYcreate(A.symbol); if (print_objects_while_running & OBJ_ENTITY_BITS) { - fprintf(stdout, "parse: %s (entity)\n", A.symbol->name); + fprintf( stderr, "parse: %s (entity)\n", A.symbol->name); } PUSH_SCOPE(e, A.symbol, OBJ_ENTITY); @@ -886,6 +819,16 @@ escape_statement(A) ::= TOK_ESCAPE semicolon. A = STATEMENT_ESCAPE; } +/* 10303-11:2004 production 177 + * attribute_decl = attribute_id | redeclared_attribute . + * + * also + * 178 attribute_id = simple_id . + * 279 redeclared_attribute = qualified_attribute [ RENAMED attribute_id ] . + * 275 qualified_attribute = SELF group_qualifier attribute_qualifier . + * + * NOTE - production 279 isn't implemented + */ attribute_decl(A) ::= TOK_IDENTIFIER(B). { A = EXPcreate(Type_Attribute); @@ -893,7 +836,7 @@ attribute_decl(A) ::= TOK_IDENTIFIER(B). SYMBOL_destroy(B.symbol); } attribute_decl(A) ::= TOK_SELF TOK_BACKSLASH TOK_IDENTIFIER(B) TOK_DOT - TOK_IDENTIFIER(C). + TOK_IDENTIFIER(C). { A = EXPcreate(Type_Expression); A->e.op1 = EXPcreate(Type_Expression); @@ -914,7 +857,7 @@ attribute_decl_list(A) ::= attribute_decl(B). } attribute_decl_list(A) ::= attribute_decl_list(B) TOK_COMMA - attribute_decl(C). + attribute_decl(C). { A = B; LISTadd_last(A, (Generic)C); @@ -930,15 +873,15 @@ optional(A) ::= TOK_OPTIONAL. } explicit_attribute(A) ::= attribute_decl_list(B) TOK_COLON optional(C) - attribute_type(D) semicolon. + attribute_type(D) semicolon. { Variable v; LISTdo_links (B, attr) - v = VARcreate((Expression)attr->data, D); - v->flags.optional = C.optional; - v->flags.attribute = true; - attr->data = (Generic)v; + v = VARcreate((Expression)attr->data, D); + v->flags.optional = C.optional; + v->flags.attribute = true; + attr->data = (Generic)v; LISTod; A = B; @@ -1047,7 +990,7 @@ simple_expression(A) ::= unary_expression(B). A = B; } simple_expression(A) ::= simple_expression(B) TOK_CONCAT_OP - simple_expression(C). + simple_expression(C). { yyerrok; @@ -1109,11 +1052,11 @@ expression_list(A) ::= expression_list(B) TOK_COMMA expression(C). var(A) ::= /* NULL */. { - A.var = 1; + A.var = 0; } var(A) ::= TOK_VAR. { - A.var = 0; + A.var = 1; } formal_parameter(A) ::= var(B) id_list(C) TOK_COLON parameter_type(D). @@ -1128,7 +1071,7 @@ formal_parameter(A) ::= var(B) id_list(C) TOK_COLON parameter_type(D). e = EXPcreate_from_symbol(Type_Attribute, tmp); v = VARcreate(e, D); - v->flags.optional = B.var; + v->flags.var = B.var; /* NOTE this was flags.optional... ?! */ v->flags.parameter = true; param->data = (Generic)v; @@ -1144,7 +1087,7 @@ formal_parameter_list(A) ::= /* no parameters */. A = LIST_NULL; } formal_parameter_list(A) ::= TOK_LEFT_PAREN formal_parameter_rep(B) - TOK_RIGHT_PAREN. + TOK_RIGHT_PAREN. { A = B; @@ -1156,7 +1099,7 @@ formal_parameter_rep(A) ::= formal_parameter(B). } formal_parameter_rep(A) ::= formal_parameter_rep(B) semicolon - formal_parameter(C). + formal_parameter(C). { A = B; LISTadd_all(A, C); @@ -1190,7 +1133,7 @@ function_call(A) ::= function_id(B) actual_parameters(C). } function_decl ::= function_header(A) action_body(B) TOK_END_FUNCTION - semicolon. + semicolon. { FUNCput_body(CURRENT_SCOPE, B); ALGput_full_text(CURRENT_SCOPE, A, SCANtell()); @@ -1198,7 +1141,7 @@ function_decl ::= function_header(A) action_body(B) TOK_END_FUNCTION } function_header(A) ::= fh_lineno(B) fh_push_scope fh_plist TOK_COLON - parameter_type(C) semicolon. + parameter_type(C) semicolon. { Function f = CURRENT_SCOPE; @@ -1216,7 +1159,7 @@ fh_push_scope ::= TOK_IDENTIFIER(A). Function f = ALGcreate(OBJ_FUNCTION); tag_count = 0; if (print_objects_while_running & OBJ_FUNCTION_BITS) { - fprintf(stdout, "parse: %s (function)\n", A.symbol->name); + fprintf( stderr, "parse: %s (function)\n", A.symbol->name); } PUSH_SCOPE(f, A.symbol, OBJ_FUNCTION); } @@ -1227,7 +1170,7 @@ fh_plist ::= formal_parameter_list(A). f->u.func->parameters = A; f->u.func->pcount = LISTget_length(A); f->u.func->tag_count = tag_count; - tag_count = -1; /* done with parameters, no new tags can be defined */ + tag_count = -1; /* done with parameters, no new tags can be defined */ } function_id(A) ::= TOK_IDENTIFIER(B). @@ -1246,14 +1189,14 @@ conformant_aggregation(A) ::= aggregate_type(B). } conformant_aggregation(A) ::= TOK_ARRAY TOK_OF optional_or_unique(B) - parameter_type(C). + parameter_type(C). { A = TYPEBODYcreate(array_); A->flags.optional = B.optional; A->flags.unique = B.unique; A->base = C; } -conformant_aggregation(A) ::= TOK_ARRAY index_spec(B) TOK_OF +conformant_aggregation(A) ::= TOK_ARRAY bound_spec(B) TOK_OF optional_or_unique(C) parameter_type(D). { A = TYPEBODYcreate(array_); @@ -1269,7 +1212,7 @@ conformant_aggregation(A) ::= TOK_BAG TOK_OF parameter_type(B). A->base = B; } -conformant_aggregation(A) ::= TOK_BAG index_spec(B) TOK_OF parameter_type(C). +conformant_aggregation(A) ::= TOK_BAG bound_spec(B) TOK_OF parameter_type(C). { A = TYPEBODYcreate(bag_); A->base = C; @@ -1283,8 +1226,8 @@ conformant_aggregation(A) ::= TOK_LIST TOK_OF unique(B) parameter_type(C). A->base = C; } -conformant_aggregation(A) ::= TOK_LIST index_spec(B) TOK_OF unique(C) - parameter_type(D). +conformant_aggregation(A) ::= TOK_LIST bound_spec(B) TOK_OF unique(C) + parameter_type(D). { A = TYPEBODYcreate(list_); A->base = D; @@ -1297,7 +1240,7 @@ conformant_aggregation(A) ::= TOK_SET TOK_OF parameter_type(B). A = TYPEBODYcreate(set_); A->base = B; } -conformant_aggregation(A) ::= TOK_SET index_spec(B) TOK_OF parameter_type(C). +conformant_aggregation(A) ::= TOK_SET bound_spec(B) TOK_OF parameter_type(C). { A = TYPEBODYcreate(set_); A->base = C; @@ -1313,8 +1256,8 @@ generic_type(A) ::= TOK_GENERIC. Symbol sym; sym.line = yylineno; sym.filename = current_filename; - ERRORreport_with_symbol(ERROR_unlabelled_param_type, &sym, - CURRENT_SCOPE_NAME); + ERRORreport_with_symbol(UNLABELLED_PARAM_TYPE, &sym, + CURRENT_SCOPE_NAME); } } generic_type(A) ::= TOK_GENERIC TOK_COLON TOK_IDENTIFIER(B). @@ -1360,7 +1303,7 @@ identifier(A) ::= TOK_IDENTIFIER(B). } if_statement(A) ::= TOK_IF expression(B) TOK_THEN statement_rep(C) TOK_END_IF - semicolon. + semicolon. { A = CONDcreate(B, C, STATEMENT_LIST_NULL); } @@ -1376,7 +1319,7 @@ include_directive ::= TOK_INCLUDE TOK_STRING_LITERAL(A) semicolon. } increment_control ::= TOK_IDENTIFIER(A) TOK_ASSIGNMENT expression(B) TOK_TO - expression(C) by_expression(D). + expression(C) by_expression(D). { Increment i = INCR_CTLcreate(A.symbol, B, C, D); @@ -1386,25 +1329,21 @@ increment_control ::= TOK_IDENTIFIER(A) TOK_ASSIGNMENT expression(B) TOK_TO PUSH_SCOPE(i, (Symbol *)0, OBJ_INCREMENT); } -index_spec(A) ::= TOK_LEFT_BRACKET expression(B) TOK_COLON expression(C) - TOK_RIGHT_BRACKET. -{ - A.lower_limit = B; - A.upper_limit = C; -} - initializer(A) ::= TOK_ASSIGNMENT expression(B). { A = B; } +/* 10303-11:2004 production 259 + * named_type_or_rename = named_types [ AS ( entity_id | type_id ) ] . + */ rename ::= TOK_IDENTIFIER(A). { - (*interface_func)(CURRENT_SCOPE, interface_schema, A, A); + (*interface_func)(CURRENT_SCOPE, interface_schema, A.symbol, A.symbol); } rename ::= TOK_IDENTIFIER(A) TOK_AS TOK_IDENTIFIER(B). { - (*interface_func)(CURRENT_SCOPE, interface_schema, A, B); + (*interface_func)(CURRENT_SCOPE, interface_schema, A.symbol, B.symbol); } rename_list(A) ::= rename(B). @@ -1416,6 +1355,9 @@ rename_list(A) ::= rename_list(B) TOK_COMMA rename. A = B; } +/* 10303-11:2004 production 336 + * use_clause = USE FROM schema_ref [ ’(’ named_type_or_rename { ’,’ named_type_or_rename } ’)’ ] ’;’ . + */ parened_rename_list ::= TOK_LEFT_PAREN rename_list TOK_RIGHT_PAREN. reference_clause ::= TOK_REFERENCE TOK_FROM TOK_IDENTIFIER(A) semicolon. @@ -1424,7 +1366,7 @@ reference_clause ::= TOK_REFERENCE TOK_FROM TOK_IDENTIFIER(A) semicolon. CURRENT_SCHEMA->ref_schemas = LISTcreate(); } - LISTadd(CURRENT_SCHEMA->ref_schemas, (Generic)A.symbol); + LISTadd_last(CURRENT_SCHEMA->ref_schemas, (Generic)A.symbol); } reference_clause(A) ::= reference_head(B) parened_rename_list semicolon. { @@ -1443,7 +1385,7 @@ use_clause ::= TOK_USE TOK_FROM TOK_IDENTIFIER(A) semicolon. CURRENT_SCHEMA->use_schemas = LISTcreate(); } - LISTadd(CURRENT_SCHEMA->use_schemas, (Generic)A.symbol); + LISTadd_last(CURRENT_SCHEMA->use_schemas, (Generic)A.symbol); } use_clause(A) ::= use_head(B) parened_rename_list semicolon. { @@ -1467,15 +1409,15 @@ interface_specification(A) ::= reference_clause(B). interface_specification_list ::= /*NULL*/. interface_specification_list(A) ::= interface_specification_list(B) - interface_specification. + interface_specification. { A = B; } interval(A) ::= TOK_LEFT_CURL simple_expression(B) rel_op(C) - simple_expression(D) rel_op(E) simple_expression(F) right_curl. + simple_expression(D) rel_op(E) simple_expression(F) right_curl. { - Expression tmp1, tmp2; + Expression tmp1, tmp2; A = (Expression)0; tmp1 = BIN_EXPcreate(C, B, D); @@ -1497,7 +1439,7 @@ set_or_bag_of_entity(A) ::= TOK_SET TOK_OF defined_type(B). A.body->base = B; } -set_or_bag_of_entity(A) ::= TOK_SET limit_spec(B) TOK_OF defined_type(C). +set_or_bag_of_entity(A) ::= TOK_SET bound_spec(B) TOK_OF defined_type(C). { A.type = 0; A.body = TYPEBODYcreate(set_); @@ -1505,7 +1447,7 @@ set_or_bag_of_entity(A) ::= TOK_SET limit_spec(B) TOK_OF defined_type(C). A.body->upper = B.upper_limit; A.body->lower = B.lower_limit; } -set_or_bag_of_entity(A) ::= TOK_BAG limit_spec(B) TOK_OF defined_type(C). +set_or_bag_of_entity(A) ::= TOK_BAG bound_spec(B) TOK_OF defined_type(C). { A.type = 0; A.body = TYPEBODYcreate(bag_); @@ -1520,6 +1462,9 @@ set_or_bag_of_entity(A) ::= TOK_BAG TOK_OF defined_type(B). A.body->base = B; } +/* 10303-11:2004 production 249 + * inverse_clause = INVERSE inverse_attr { inverse_attr } . + */ inverse_attr_list(A) ::= inverse_attr(B). { A = LISTcreate(); @@ -1531,26 +1476,29 @@ inverse_attr_list(A) ::= inverse_attr_list(B) inverse_attr(C). LISTadd_last(A, (Generic)C); } -inverse_attr(A) ::= TOK_IDENTIFIER(B) TOK_COLON set_or_bag_of_entity(C) - TOK_FOR TOK_IDENTIFIER(D) semicolon. +/* 10303-11:2004 production 248 + * inverse_attr = attribute_decl ’:’ [ ( SET | BAG ) [ bound_spec ] OF ] entity_ref FOR [ entity_ref ’.’ ] attribute_ref ’;’ . + * + * NOTE - production 279 (RENAMED attr) isn't implemented + */ +inverse_attr(A) ::= attribute_decl(B) TOK_COLON set_or_bag_of_entity(C) + TOK_FOR TOK_IDENTIFIER(D) semicolon. { - Expression e = EXPcreate(Type_Attribute); - - e->symbol = *B.symbol; - SYMBOL_destroy(B.symbol); - if (C.type) { - A = VARcreate(e, C.type); + A = VARcreate(B, C.type); } else { Type t = TYPEcreate_from_body_anonymously(C.body); SCOPEadd_super(t); - A = VARcreate(e, t); + A = VARcreate(B, t); } A->flags.attribute = true; A->inverse_symbol = D.symbol; } +/* 10303-11:2004 production 249 + * inverse_clause = INVERSE inverse_attr { inverse_attr } . + */ inverse_clause(A) ::= /*NULL*/. { A = LIST_NULL; @@ -1560,14 +1508,15 @@ inverse_clause(A) ::= TOK_INVERSE inverse_attr_list(B). A = B; } -limit_spec(A) ::= TOK_LEFT_BRACKET expression(B) TOK_COLON expression(C) - TOK_RIGHT_BRACKET. +/* 10303-11:2004 production 185 bound_spec = '[' bound_1 ':' bound_2 ']' . */ +bound_spec(A) ::= TOK_LEFT_BRACKET expression(B) TOK_COLON expression(C) + TOK_RIGHT_BRACKET. { A.lower_limit = B; A.upper_limit = C; } -list_type(A) ::= TOK_LIST limit_spec(B) TOK_OF unique(C) attribute_type(D). +list_type(A) ::= TOK_LIST bound_spec(B) TOK_OF unique(C) attribute_type(D). { A = TYPEBODYcreate(list_); A->base = D; @@ -1587,21 +1536,28 @@ literal(A) ::= TOK_INTEGER_LITERAL(B). if (B.iVal == 0) { A = LITERAL_ZERO; } else if (B.iVal == 1) { - A = LITERAL_ONE; + A = LITERAL_ONE; } else { - A = EXPcreate_simple(Type_Integer); - A->u.integer = (int)B.iVal; - resolved_all(A); + A = EXPcreate_simple(Type_Integer); + A->u.integer = (int)B.iVal; + resolved_all(A); } } literal(A) ::= TOK_REAL_LITERAL(B). { - if (B.rVal == 0.0) { - A = LITERAL_ZERO; + /* if rVal (a double) is nonzero and has magnitude <= the smallest non-denormal float, print a warning */ + if( ( fabs( B.rVal ) <= FLT_MIN ) && ( fabs( B.rVal ) > 0 ) ) { + Symbol sym; + sym.line = yylineno; + sym.filename = current_filename; + ERRORreport_with_symbol(WARN_SMALL_REAL, &sym, B.rVal ); + } + if( fabs( B.rVal ) < DBL_MIN ) { + A = LITERAL_ZERO; } else { - A = EXPcreate_simple(Type_Real); - A->u.real = B.rVal; - resolved_all(A); + A = EXPcreate_simple(Type_Real); + A->u.real = B.rVal; + resolved_all(A); } } literal(A) ::= TOK_STRING_LITERAL(B). @@ -1649,13 +1605,13 @@ local_variable ::= id_list(A) TOK_COLON parameter_type(B) semicolon. e = EXPcreate(Type_Attribute); e->symbol = *sym; SYMBOL_destroy(sym); v = VARcreate(e, B); - DICTdefine(CURRENT_SCOPE->symbol_table, e->symbol.name, (Generic)v, - &e->symbol, OBJ_VARIABLE); + v->offset = local_var_count++; + DICTdefine(CURRENT_SCOPE->symbol_table, e->symbol.name, (Generic)v, &e->symbol, OBJ_VARIABLE); LISTod; LISTfree(A); } -local_variable ::= id_list(A) TOK_COLON parameter_type(B) local_initializer(C) - semicolon. + +local_variable ::= id_list(A) TOK_COLON parameter_type(B) local_initializer(C) semicolon. { Expression e; Variable v; @@ -1663,9 +1619,10 @@ local_variable ::= id_list(A) TOK_COLON parameter_type(B) local_initializer(C) e = EXPcreate(Type_Attribute); e->symbol = *sym; SYMBOL_destroy(sym); v = VARcreate(e, B); + v->offset = local_var_count++; v->initializer = C; DICTdefine(CURRENT_SCOPE->symbol_table, e->symbol.name, (Generic)v, - &e->symbol, OBJ_VARIABLE); + &e->symbol, OBJ_VARIABLE); LISTod; LISTfree(A); } @@ -1676,14 +1633,15 @@ local_body(A) ::= local_variable(B) local_body. A = B; } -local_decl ::= TOK_LOCAL allow_generic_types local_body TOK_END_LOCAL semicolon disallow_generic_types. +local_decl ::= TOK_LOCAL local_decl_rules_on local_body TOK_END_LOCAL semicolon local_decl_rules_off. -allow_generic_types ::= /* subroutine */. +local_decl_rules_on ::= /* subroutine */. { tag_count = 0; /* don't signal an error if we find a generic_type */ + local_var_count = 0; /* used to keep local var decl's in the same order */ } -disallow_generic_types ::= /* subroutine */. +local_decl_rules_off ::= /* subroutine */. { tag_count = -1; /* signal an error if we find a generic_type */ } @@ -1698,7 +1656,7 @@ defined_type(A) ::= TOK_IDENTIFIER(B). defined_type_list(A) ::= defined_type(B). { A = LISTcreate(); - LISTadd(A, (Generic)B); + LISTadd_last(A, (Generic)B); } defined_type_list(A) ::= defined_type_list(B) TOK_COMMA defined_type(C). @@ -1779,7 +1737,7 @@ proc_call_statement(A) ::= procedure_id(B) semicolon. } procedure_decl ::= procedure_header(A) action_body(B) TOK_END_PROCEDURE - semicolon. + semicolon. { PROCput_body(CURRENT_SCOPE, B); ALGput_full_text(CURRENT_SCOPE, A, SCANtell()); @@ -1787,13 +1745,13 @@ procedure_decl ::= procedure_header(A) action_body(B) TOK_END_PROCEDURE } procedure_header(A) ::= TOK_PROCEDURE ph_get_line(B) ph_push_scope - formal_parameter_list(C) semicolon. + formal_parameter_list(C) semicolon. { Procedure p = CURRENT_SCOPE; p->u.proc->parameters = C; p->u.proc->pcount = LISTget_length(C); p->u.proc->tag_count = tag_count; - tag_count = -1; /* done with parameters, no new tags can be defined */ + tag_count = -1; /* done with parameters, no new tags can be defined */ A = B; } @@ -1803,7 +1761,7 @@ ph_push_scope ::= TOK_IDENTIFIER(A). tag_count = 0; if (print_objects_while_running & OBJ_PROCEDURE_BITS) { - fprintf(stdout, "parse: %s (procedure)\n", A.symbol->name); + fprintf( stderr, "parse: %s (procedure)\n", A.symbol->name); } PUSH_SCOPE(p, A.symbol, OBJ_PROCEDURE); @@ -1845,17 +1803,21 @@ qualifier(A) ::= TOK_BACKSLASH TOK_IDENTIFIER(B). [TOK_NOT] A.expr->e.op2->symbol = *B.symbol; SYMBOL_destroy(B.symbol); } + +/* 10303-11:2004 production 239 index_qualifier = '[' index_1 [ ':' index_2 ] ']' . */ qualifier(A) ::= TOK_LEFT_BRACKET simple_expression(B) TOK_RIGHT_BRACKET. { A.expr = A.first = BIN_EXPcreate(OP_ARRAY_ELEMENT, (Expression)0, - (Expression)0); + (Expression)0); A.expr->e.op2 = B; } + +/* 10303-11:2004 production 239 index_qualifier = '[' index_1 [ ':' index_2 ] ']' . */ qualifier(A) ::= TOK_LEFT_BRACKET simple_expression(B) TOK_COLON - simple_expression(C) TOK_RIGHT_BRACKET. + simple_expression(C) TOK_RIGHT_BRACKET. { A.expr = A.first = TERN_EXPcreate(OP_SUBCOMPONENT, (Expression)0, - (Expression)0, (Expression)0); + (Expression)0, (Expression)0); A.expr->e.op2 = B; A.expr->e.op3 = C; } @@ -1868,7 +1830,7 @@ query_expression(A) ::= query_start(B) expression(C) TOK_RIGHT_PAREN. } query_start(A) ::= TOK_QUERY TOK_LEFT_PAREN TOK_IDENTIFIER(B) TOK_ALL_IN - expression(C) TOK_SUCH_THAT. + expression(C) TOK_SUCH_THAT. { A = QUERYcreate(B.symbol, C); SYMBOL_destroy(B.symbol); @@ -1910,8 +1872,8 @@ rel_op(A) ::= TOK_INST_NOT_EQUAL. /* repeat_statement causes a scope creation if an increment_control exists */ repeat_statement(A) ::= TOK_REPEAT increment_control while_control(B) - until_control(C) semicolon statement_rep(D) - TOK_END_REPEAT semicolon. + until_control(C) semicolon statement_rep(D) + TOK_END_REPEAT semicolon. { A = LOOPcreate(CURRENT_SCOPE, B, C, D); @@ -1919,7 +1881,7 @@ repeat_statement(A) ::= TOK_REPEAT increment_control while_control(B) POP_SCOPE(); } repeat_statement(A) ::= TOK_REPEAT while_control(B) until_control(C) semicolon - statement_rep(D) TOK_END_REPEAT semicolon. + statement_rep(D) TOK_END_REPEAT semicolon. { A = LOOPcreate((struct Scope_ *)0, B, C, D); } @@ -1929,7 +1891,7 @@ return_statement(A) ::= TOK_RETURN semicolon. A = RETcreate((Expression)0); } return_statement(A) ::= TOK_RETURN TOK_LEFT_PAREN expression(B) TOK_RIGHT_PAREN - semicolon. + semicolon. { A = RETcreate(B); } @@ -1940,7 +1902,7 @@ right_curl ::= TOK_RIGHT_CURL. } rule_decl ::= rule_header(A) action_body(B) where_rule(C) TOK_END_RULE - semicolon. + semicolon. { RULEput_body(CURRENT_SCOPE, B); RULEput_where(CURRENT_SCOPE, C); @@ -1966,23 +1928,23 @@ rule_formal_parameter(A) ::= TOK_IDENTIFIER(B). /* link it in to the current scope's dict */ DICTdefine(CURRENT_SCOPE->symbol_table, B.symbol->name, (Generic)A, - B.symbol, OBJ_VARIABLE); + B.symbol, OBJ_VARIABLE); } rule_formal_parameter_list(A) ::= rule_formal_parameter(B). { A = LISTcreate(); - LISTadd(A, (Generic)B); + LISTadd_last(A, (Generic)B); } rule_formal_parameter_list(A) ::= rule_formal_parameter_list(B) TOK_COMMA - rule_formal_parameter(C). + rule_formal_parameter(C). { A = B; LISTadd_last(A, (Generic)C); } rule_header(A) ::= rh_start(B) rule_formal_parameter_list(C) TOK_RIGHT_PAREN - semicolon. + semicolon. { CURRENT_SCOPE->u.rule->parameters = C; @@ -1990,12 +1952,12 @@ rule_header(A) ::= rh_start(B) rule_formal_parameter_list(C) TOK_RIGHT_PAREN } rh_start(A) ::= TOK_RULE rh_get_line(B) TOK_IDENTIFIER(C) TOK_FOR - TOK_LEFT_PAREN. + TOK_LEFT_PAREN. { Rule r = ALGcreate(OBJ_RULE); if (print_objects_while_running & OBJ_RULE_BITS) { - fprintf(stdout, "parse: %s (rule)\n", C.symbol->name); + fprintf( stderr, "parse: %s (rule)\n", C.symbol->name); } PUSH_SCOPE(r, C.symbol, OBJ_RULE); @@ -2031,21 +1993,21 @@ schema_header ::= TOK_SCHEMA TOK_IDENTIFIER(A) semicolon. Schema schema = ( Schema ) DICTlookup(CURRENT_SCOPE->symbol_table, A.symbol->name); if (print_objects_while_running & OBJ_SCHEMA_BITS) { - fprintf(stdout, "parse: %s (schema)\n", A.symbol->name); + fprintf( stderr, "parse: %s (schema)\n", A.symbol->name); } if (EXPRESSignore_duplicate_schemas && schema) { - SCANskip_to_end_schema(parseData.scanner); - PUSH_SCOPE_DUMMY(); + SCANskip_to_end_schema(parseData.scanner); + PUSH_SCOPE_DUMMY(); } else { - schema = SCHEMAcreate(); - LISTadd_last(PARSEnew_schemas, (Generic)schema); - PUSH_SCOPE(schema, A.symbol, OBJ_SCHEMA); + schema = SCHEMAcreate(); + LISTadd_last(PARSEnew_schemas, (Generic)schema); + PUSH_SCOPE(schema, A.symbol, OBJ_SCHEMA); } } select_type(A) ::= TOK_SELECT TOK_LEFT_PAREN defined_type_list(B) - TOK_RIGHT_PAREN. + TOK_RIGHT_PAREN. { A = TYPEBODYcreate(select_); A->list = B; @@ -2056,7 +2018,7 @@ semicolon ::= TOK_SEMICOLON. yyerrok; } -set_type(A) ::= TOK_SET limit_spec(B) TOK_OF attribute_type(C). +set_type(A) ::= TOK_SET bound_spec(B) TOK_OF attribute_type(C). { A = TYPEBODYcreate(set_); A->base = C; @@ -2170,13 +2132,13 @@ supertype_decl(A) ::= TOK_ABSTRACT TOK_SUPERTYPE. A.abstract = true; } supertype_decl(A) ::= TOK_SUPERTYPE TOK_OF TOK_LEFT_PAREN - supertype_expression(B) TOK_RIGHT_PAREN. + supertype_expression(B) TOK_RIGHT_PAREN. { A.subtypes = B; A.abstract = false; } supertype_decl(A) ::= TOK_ABSTRACT TOK_SUPERTYPE TOK_OF TOK_LEFT_PAREN - supertype_expression(B) TOK_RIGHT_PAREN. + supertype_expression(B) TOK_RIGHT_PAREN. { A.subtypes = B; A.abstract = true; @@ -2191,7 +2153,7 @@ supertype_expression(A) ::= supertype_expression(B) TOK_AND supertype_factor(C). A = BIN_EXPcreate(OP_AND, B, C.subtypes); } supertype_expression(A) ::= supertype_expression(B) TOK_ANDOR - supertype_factor(C). + supertype_factor(C). { A = BIN_EXPcreate(OP_ANDOR, B, C.subtypes); } @@ -2202,7 +2164,7 @@ supertype_expression_list(A) ::= supertype_expression(B). LISTadd_last(A, (Generic)B); } supertype_expression_list(A) ::= supertype_expression_list(B) TOK_COMMA - supertype_expression(C). + supertype_expression(C). { LISTadd_last(B, (Generic)C); A = B; @@ -2213,7 +2175,7 @@ supertype_factor(A) ::= identifier(B). A.subtypes = B; } supertype_factor(A) ::= oneof_op TOK_LEFT_PAREN supertype_expression_list(B) - TOK_RIGHT_PAREN. + TOK_RIGHT_PAREN. { A.subtypes = EXPcreate(Type_Oneof); A.subtypes->u.list = B; @@ -2339,17 +2301,15 @@ unique(A) ::= TOK_UNIQUE. A.unique = 1; } -qualified_attr(A) ::= TOK_IDENTIFIER(B). -{ - A = QUAL_ATTR_new(); - A->attribute = B.symbol; -} -qualified_attr(A) ::= TOK_SELF TOK_BACKSLASH TOK_IDENTIFIER(B) TOK_DOT - TOK_IDENTIFIER(C). +/* 10303-11:2004 production 275 + * qualified_attribute = SELF group_qualifier attribute_qualifier . + * + * NOTE rule 279 doesn't seem to be implemented + * redeclared_attribute = qualified_attribute [ RENAMED attribute_id ] . + */ +qualified_attr(A) ::= attribute_decl(B). { - A = QUAL_ATTR_new(); - A->entity = B.symbol; - A->attribute = C.symbol; + A = B; } qualified_attr_list(A) ::= qualified_attr(B). @@ -2369,7 +2329,7 @@ labelled_attrib_list(A) ::= qualified_attr_list(B) semicolon. A = B; } labelled_attrib_list(A) ::= TOK_IDENTIFIER(B) TOK_COLON qualified_attr_list(C) - semicolon. + semicolon. { LISTadd_first(C, (Generic)B.symbol); A = C; @@ -2382,7 +2342,7 @@ labelled_attrib_list_list(A) ::= labelled_attrib_list(B). LISTadd_last(A, (Generic)B); } labelled_attrib_list_list(A) ::= labelled_attrib_list_list(B) - labelled_attrib_list(C). + labelled_attrib_list(C). { LISTadd_last(B, (Generic)C); A = B; @@ -2419,17 +2379,17 @@ where_clause(A) ::= TOK_IDENTIFIER(B) TOK_COLON expression(C) semicolon. A->expr = C; if (!CURRENT_SCOPE->symbol_table) { - CURRENT_SCOPE->symbol_table = DICTcreate(25); + CURRENT_SCOPE->symbol_table = DICTcreate(25); } DICTdefine(CURRENT_SCOPE->symbol_table, B.symbol->name, (Generic)A, - B.symbol, OBJ_WHERE); + B.symbol, OBJ_WHERE); } where_clause_list(A) ::= where_clause(B). { A = LISTcreate(); - LISTadd(A, (Generic)B); + LISTadd_last(A, (Generic)B); } where_clause_list(A) ::= where_clause_list(B) where_clause(C). { @@ -2463,18 +2423,23 @@ while_control(A) ::= TOK_WHILE expression(B). %syntax_error { Symbol sym; + (void) yymajor; /* quell unused param warning */ + (void) yyminor; yyerrstatus++; sym.line = yylineno; sym.filename = current_filename; - ERRORreport_with_symbol(ERROR_syntax, &sym, "", - CURRENT_SCOPE_TYPE_PRINTABLE, CURRENT_SCOPE_NAME); + ERRORreport_with_symbol(SYNTAX, &sym, "Syntax error", + CURRENT_SCOPE_TYPE_PRINTABLE, CURRENT_SCOPE_NAME); } %stack_size 0 %stack_overflow { fprintf(stderr, "Express parser experienced stack overflow.\n"); - fprintf(stderr, "Last token had value %x\n", yypMinor->yy0.val); + /* + * fprintf(stderr, "Last token had value %x\n", yypMinor->yy0.val); + * fprintf(stderr, "Last token had value %x\n", yypParser->yytos->minor.yy0.val); + */ } diff --git a/src/express/expr.c b/src/express/expr.c index 3c81052c4..19ab0af91 100644 --- a/src/express/expr.c +++ b/src/express/expr.c @@ -70,12 +70,12 @@ * */ -#include +#include +#include + #include "express/expr.h" #include "express/resolve.h" -#include -#include struct EXPop_entry EXPop_table[OP_LAST]; @@ -85,28 +85,9 @@ Expression LITERAL_PI = EXPRESSION_NULL; Expression LITERAL_ZERO = EXPRESSION_NULL; Expression LITERAL_ONE; -Error ERROR_bad_qualification = ERROR_none; -Error ERROR_integer_expression_expected = ERROR_none; -Error ERROR_implicit_downcast = ERROR_none; -Error ERROR_ambig_implicit_downcast = ERROR_none; - -struct freelist_head EXP_fl; -struct freelist_head OP_fl; -struct freelist_head QUERY_fl; -struct freelist_head QUAL_ATTR_fl; - void EXPop_init(); -static Error ERROR_internal_unrecognized_op_in_EXPresolve; -/* following two could probably be combined */ -static Error ERROR_attribute_reference_on_aggregate; -static Error ERROR_attribute_ref_from_nonentity; -static Error ERROR_indexing_illegal; -static Error ERROR_warn_indexing_mixed; -static Error ERROR_enum_no_such_item; -static Error ERROR_group_ref_no_such_entity; -static Error ERROR_group_ref_unexpected_type; - -static_inline int OPget_number_of_operands( Op_Code op ) { + +static inline int OPget_number_of_operands( Op_Code op ) { if( ( op == OP_NEGATE ) || ( op == OP_NOT ) ) { return 1; } else if( op == OP_SUBCOMPONENT ) { @@ -116,49 +97,8 @@ static_inline int OPget_number_of_operands( Op_Code op ) { } } -Expression EXPcreate( Type type ) { - Expression e; - e = EXP_new(); - SYMBOLset( e ); - e->type = type; - e->return_type = Type_Unknown; - return( e ); -} - -/** - * use this when the return_type is the same as the type - * For example, for constant integers - */ -Expression EXPcreate_simple( Type type ) { - Expression e; - e = EXP_new(); - SYMBOLset( e ); - e->type = e->return_type = type; - return( e ); -} - -Expression EXPcreate_from_symbol( Type type, Symbol * symbol ) { - Expression e; - e = EXP_new(); - e->type = type; - e->return_type = Type_Unknown; - e->symbol = *symbol; - return e; -} - -Symbol * EXP_get_symbol( Generic e ) { - return( &( ( Expression )e )->symbol ); -} - /** Description: Initialize the Expression module. */ void EXPinitialize( void ) { - MEMinitialize( &EXP_fl, sizeof( struct Expression_ ), 500, 200 ); - MEMinitialize( &OP_fl, sizeof( struct Op_Subexpression ), 500, 100 ); - MEMinitialize( &QUERY_fl, sizeof( struct Query_ ), 50, 10 ); - MEMinitialize( &QUAL_ATTR_fl, sizeof( struct Query_ ), 20, 10 ); - OBJcreate( OBJ_EXPRESSION, EXP_get_symbol, "expression", OBJ_EXPRESSION_BITS ); - OBJcreate( OBJ_AMBIG_ENUM, EXP_get_symbol, "ambiguous enumeration", OBJ_UNUSED_BITS ); - #ifdef does_not_appear_to_be_necessary_or_even_make_sense LITERAL_EMPTY_SET = EXPcreate_simple( Type_Set ); LITERAL_EMPTY_SET->u.list = LISTcreate(); @@ -193,63 +133,15 @@ void EXPinitialize( void ) { LITERAL_ONE->u.integer = 1; resolved_all( LITERAL_ONE ); - ERROR_integer_expression_expected = ERRORcreate( - "Integer expression expected", SEVERITY_WARNING ); - - ERROR_internal_unrecognized_op_in_EXPresolve = ERRORcreate( - "Opcode unrecognized while trying to resolve expression", SEVERITY_ERROR ); - - ERROR_attribute_reference_on_aggregate = ERRORcreate( - "Attribute %s cannot be referenced from an aggregate", SEVERITY_ERROR ); - - ERROR_attribute_ref_from_nonentity = ERRORcreate( - "Attribute %s cannot be referenced from a non-entity", SEVERITY_ERROR ); - - ERROR_indexing_illegal = ERRORcreate( - "Indexing is only permitted on aggregates", SEVERITY_ERROR ); - - ERROR_warn_indexing_mixed = ERRORcreate( "Indexing upon a select (%s), with mixed base types (aggregates and " - "non-aggregates) and/or different aggregation types.", SEVERITY_WARNING ); - - ERROR_enum_no_such_item = ERRORcreate( - "Enumeration type %s does not contain item %s", SEVERITY_ERROR ); - - ERROR_group_ref_no_such_entity = ERRORcreate( - "Group reference failed to find entity %s", SEVERITY_ERROR ); - - ERROR_group_ref_unexpected_type = ERRORcreate( - "Group reference of unusual expression %s", SEVERITY_ERROR ); - - ERROR_implicit_downcast = ERRORcreate( - "Implicit downcast to %s.", SEVERITY_WARNING ); - - ERROR_ambig_implicit_downcast = ERRORcreate( - "Possibly ambiguous implicit downcast (%s?).", SEVERITY_WARNING ); - - ERRORcreate_warning( "downcast", ERROR_implicit_downcast ); - ERRORcreate_warning( "downcast", ERROR_ambig_implicit_downcast ); - ERRORcreate_warning( "indexing", ERROR_warn_indexing_mixed ); - EXPop_init(); } void EXPcleanup( void ) { - ERRORdestroy( ERROR_integer_expression_expected ); - ERRORdestroy( ERROR_internal_unrecognized_op_in_EXPresolve ); - ERRORdestroy( ERROR_attribute_reference_on_aggregate ); - ERRORdestroy( ERROR_attribute_ref_from_nonentity ); - ERRORdestroy( ERROR_indexing_illegal ); - ERRORdestroy( ERROR_warn_indexing_mixed ); - ERRORdestroy( ERROR_enum_no_such_item ); - ERRORdestroy( ERROR_group_ref_no_such_entity ); - ERRORdestroy( ERROR_group_ref_unexpected_type ); - ERRORdestroy( ERROR_implicit_downcast ); - ERRORdestroy( ERROR_ambig_implicit_downcast ); } /** * \param selection the Type to look in (i.e. an enum) - * \param ref the Symbol to be found + * \param sref the Symbol to be found * \param e set to the Expression found, when an enum is found * \param v set to the Variable found, when a variable is found * \param dt set to DICT_type when a match is found (use to determine whether to use e or v) @@ -258,7 +150,7 @@ void EXPcleanup( void ) { * there will be no ambiguities, since we're looking at (and marking) * only types, and it's marking only entities */ -static int EXP_resolve_op_dot_fuzzy( Type selection, Symbol ref, Expression * e, +static int EXP_resolve_op_dot_fuzzy( Type selection, Symbol sref, Expression * e, Variable * v, char * dt, struct Symbol_ ** where, int s_id ) { Expression item; Variable tmp; @@ -271,8 +163,8 @@ static int EXP_resolve_op_dot_fuzzy( Type selection, Symbol ref, Expression * e, switch( selection->u.type->body->type ) { case entity_: - tmp = ENTITYfind_inherited_attribute( selection->u.type->body->entity, - ref.name, &w ); + /* goes through supertypes and their subtypes (!!) */ + tmp = ENTITYfind_inherited_attribute( selection->u.type->body->entity, sref.name, &w ); if( tmp ) { if( w != NULL ) { *where = w; @@ -283,32 +175,64 @@ static int EXP_resolve_op_dot_fuzzy( Type selection, Symbol ref, Expression * e, } else { return 0; } - case select_: + case select_: { + Linked_List supert = LISTcreate(); + Linked_List subt = LISTcreate(); + Linked_List uniqSubs = LISTcreate(); selection->search_id = s_id; - LISTdo( selection->u.type->body->list, t, Type ) - if( EXP_resolve_op_dot_fuzzy( t, ref, e, v, dt, &w, s_id ) ) { - if( w != NULL ) { - *where = w; + LISTdo( selection->u.type->body->list, t, Type ) { + int nr = EXP_resolve_op_dot_fuzzy( t, sref, e, v, dt, &w, s_id ); + if( nr ) { + if( w != NULL ) { + /* only ever set due to ENTITYfind_inherited_attribute in case entity_. + * it is set to a subtype of one of the current type's supertypes. not + * sure of the circumstances in which this is beneficial. + */ + *where = w; + LISTadd_last( subt, w ); + } else { + LISTadd_last( supert, t ); + } + options += nr; + } + } LISTod + /* go through supertypes and subtypes, comparing. for any subtypes in supertypes, remove item from subtypes + * would be possible to delete items from subt while going through the list... worth the effort? + */ + LISTdo( subt, s, Symbol* ) { + bool found = false; + LISTdo_n( supert, t, Type, b ) { + if( 0 == strcmp( s->name, t->symbol.name ) ) { + found = true; + break; + } + } LISTod + if( !found ) { + LISTadd_last( uniqSubs, s ); } - ++options; + } LISTod + if( ( LISTget_length( uniqSubs ) == 0 ) && ( LISTget_length( supert ) == 1 ) && ( options > 1 ) ) { + options = 1; + /* this ensures that v is set correctly and wasn't overwritten */ + EXP_resolve_op_dot_fuzzy( (Type) LISTget_first( supert ), sref, e, v, dt, &w, s_id ); } - LISTod; - switch( options ) { - case 0: - return 0; - case 1: - return 1; - default: - /* found more than one, so ambiguous */ - *v = VARIABLE_NULL; - return 1; + if( options > 1 ) { + /* found more than one, so ambiguous */ + *v = VARIABLE_NULL; } + LISTfree( supert ); + LISTfree( subt ); + LISTfree( uniqSubs ); + return options; + } case enumeration_: - item = ( Expression )DICTlookup( TYPEget_enum_tags( selection ), ref.name ); + item = ( Expression )DICTlookup( TYPEget_enum_tags( selection ), sref.name ); if( item ) { *e = item; *dt = DICT_type; return 1; + } else { + return 0; } default: return 0; @@ -318,10 +242,10 @@ static int EXP_resolve_op_dot_fuzzy( Type selection, Symbol ref, Expression * e, Type EXPresolve_op_dot( Expression expr, Scope scope ) { Expression op1 = expr->e.op1; Expression op2 = expr->e.op2; - Variable v; + Variable v = 0; Expression item; Type op1type; - bool all_enums = true; //used by 'case select_' + bool all_enums = true; /* used by 'case select_' */ /* stuff for dealing with select_ */ int options = 0; @@ -345,14 +269,14 @@ Type EXPresolve_op_dot( Expression expr, Scope scope ) { return( Type_Runtime ); case select_: __SCOPE_search_id++; - /* don't think this actually actually catches anything on the */ - /* first go-round, but let's be consistent */ + /* don't think this actually actually catches anything on the first go-round, but let's be consistent */ op1type->search_id = __SCOPE_search_id; LISTdo( op1type->u.type->body->list, t, Type ) { - if( EXP_resolve_op_dot_fuzzy( t, op2->symbol, &item, &v, &dt, &where, - __SCOPE_search_id ) ) { - ++options; - } + /* this used to increment options by 1 if EXP_resolve_op_dot_fuzzy found 1 or more possibilities. + * thus the code for handling ambiguities was only used if the ambig was in the immediate type + * and not a supertype. don't think that's right... + */ + options += EXP_resolve_op_dot_fuzzy( t, op2->symbol, &item, &v, &dt, &where, __SCOPE_search_id ); } LISTod; switch( options ) { @@ -365,11 +289,10 @@ Type EXPresolve_op_dot( Expression expr, Scope scope ) { LISTod; if( all_enums ) { - ERRORreport_with_symbol( WARNING_case_skip_label, &op2->symbol, op2->symbol.name ); + ERRORreport_with_symbol(CASE_SKIP_LABEL, &op2->symbol, op2->symbol.name ); } else { /* no possible resolutions */ - ERRORreport_with_symbol( ERROR_undefined_attribute, - &op2->symbol, op2->symbol.name ); + ERRORreport_with_symbol(UNDEFINED_ATTR, &op2->symbol, op2->symbol.name ); } resolve_failed( expr ); return( Type_Bad ); @@ -377,10 +300,13 @@ Type EXPresolve_op_dot( Expression expr, Scope scope ) { /* only one possible resolution */ if( dt == OBJ_VARIABLE ) { if( where ) { - ERRORreport_with_symbol( ERROR_implicit_downcast, &op2->symbol, - where->name ); + ERRORreport_with_symbol(IMPLICIT_DOWNCAST, &op2->symbol, where->name ); } + if( v == VARIABLE_NULL ) { + fprintf( stderr, "EXPresolve_op_dot: nonsense value for Variable\n" ); + ERRORabort( 0 ); + } op2->u.variable = v; op2->return_type = v->type; resolved_all( expr ); @@ -391,15 +317,16 @@ Type EXPresolve_op_dot( Expression expr, Scope scope ) { resolved_all( expr ); return( item->type ); } else { - printf( "EXPresolved_op_dot: attribute not an attribute?\n" ); + fprintf( stderr, "EXPresolved_op_dot: attribute not an attribute?\n" ); ERRORabort( 0 ); + return( Type_Bad ); } default: /* compile-time ambiguous */ if( where ) { - ERRORreport_with_symbol( ERROR_ambig_implicit_downcast, - &op2->symbol, where->name ); + /* this is actually a warning, not an error */ + ERRORreport_with_symbol(AMBIG_IMPLICIT_DOWNCAST, &op2->symbol, where->name ); } return( Type_Runtime ); } @@ -414,7 +341,7 @@ Type EXPresolve_op_dot( Expression expr, Scope scope ) { return( Type_Bad ); } if( DICT_type != OBJ_VARIABLE ) { - printf( "EXPresolved_op_dot: attribute not an attribute?\n" ); + fprintf( stderr, "EXPresolved_op_dot: attribute not an attribute?\n" ); ERRORabort( 0 ); } @@ -447,7 +374,7 @@ Type EXPresolve_op_dot( Expression expr, Scope scope ) { * which calls EXP_resolve_op_dot_fuzzy(). */ item = ( Expression )DICTlookup( TYPEget_enum_tags( op1type ), op2->symbol.name ); if( !item ) { - ERRORreport_with_symbol( ERROR_enum_no_such_item, &op2->symbol, + ERRORreport_with_symbol(ENUM_NO_SUCH_ITEM, &op2->symbol, op1type->symbol.name, op2->symbol.name ); resolve_failed( expr ); return( Type_Bad ); @@ -462,7 +389,7 @@ Type EXPresolve_op_dot( Expression expr, Scope scope ) { case bag_: case list_: case set_: - ERRORreport_with_symbol( ERROR_attribute_reference_on_aggregate, + ERRORreport_with_symbol(ATTRIBUTE_REF_ON_AGGREGATE, &op2->symbol, op2->symbol.name ); /*FALLTHRU*/ case unknown_: /* unable to resolved operand */ @@ -470,7 +397,7 @@ Type EXPresolve_op_dot( Expression expr, Scope scope ) { resolve_failed( expr ); return( Type_Bad ); default: - ERRORreport_with_symbol( ERROR_attribute_ref_from_nonentity, + ERRORreport_with_symbol(ATTRIBUTE_REF_FROM_NON_ENTITY, &op2->symbol, op2->symbol.name ); resolve_failed( expr ); return( Type_Bad ); @@ -482,7 +409,7 @@ Type EXPresolve_op_dot( Expression expr, Scope scope ) { * there will be no ambiguities, since we're looking at (and marking) * only types, and it's marking only entities */ -static int EXP_resolve_op_group_fuzzy( Type selection, Symbol ref, Entity * e, +static int EXP_resolve_op_group_fuzzy( Type selection, Symbol sref, Entity * e, int s_id ) { Entity tmp; int options = 0; @@ -494,7 +421,7 @@ static int EXP_resolve_op_group_fuzzy( Type selection, Symbol ref, Entity * e, switch( selection->u.type->body->type ) { case entity_: tmp = ( Entity )ENTITYfind_inherited_entity( - selection->u.type->body->entity, ref.name, 1 ); + selection->u.type->body->entity, sref.name, 1 ); if( tmp ) { *e = tmp; return 1; @@ -505,7 +432,7 @@ static int EXP_resolve_op_group_fuzzy( Type selection, Symbol ref, Entity * e, tmp = *e; selection->search_id = s_id; LISTdo( selection->u.type->body->list, t, Type ) - if( EXP_resolve_op_group_fuzzy( t, ref, e, s_id ) ) { + if( EXP_resolve_op_group_fuzzy( t, sref, e, s_id ) ) { if( *e != tmp ) { tmp = *e; ++options; @@ -567,7 +494,7 @@ Type EXPresolve_op_group( Expression expr, Scope scope ) { ent_ref = ( Entity )ENTITYfind_inherited_entity( tmp, op2->symbol.name, 1 ); if( !ent_ref ) { - ERRORreport_with_symbol( ERROR_group_ref_no_such_entity, + ERRORreport_with_symbol(GROUP_REF_NO_SUCH_ENTITY, &op2->symbol, op2->symbol.name ); resolve_failed( expr ); return( Type_Bad ); @@ -595,7 +522,7 @@ Type EXPresolve_op_group( Expression expr, Scope scope ) { switch( options ) { case 0: /* no possible resolutions */ - ERRORreport_with_symbol( ERROR_group_ref_no_such_entity, + ERRORreport_with_symbol(GROUP_REF_NO_SUCH_ENTITY, &op2->symbol, op2->symbol.name ); resolve_failed( expr ); return( Type_Bad ); @@ -613,8 +540,8 @@ Type EXPresolve_op_group( Expression expr, Scope scope ) { } case array_: if( op1->type->u.type->body->type == self_ ) { - return( Type_Runtime ); //not sure if there are other cases where Type_Runtime should be returned, or not - } // else fallthrough + return( Type_Runtime ); /* not sure if there are other cases where Type_Runtime should be returned, or not */ + } /* else fallthrough */ case unknown_: /* unable to resolve operand */ /* presumably error has already been reported */ resolve_failed( expr ); @@ -625,7 +552,7 @@ Type EXPresolve_op_group( Expression expr, Scope scope ) { case list_: case set_: default: - ERRORreport_with_symbol( ERROR_group_ref_unexpected_type, + ERRORreport_with_symbol(GROUP_REF_UNEXPECTED_TYPE, &op1->symbol ); return( Type_Bad ); } @@ -677,13 +604,13 @@ Type EXPresolve_op_relational( Expression e, Scope s ) { void EXPresolve_op_default( Expression e, Scope s ) { int failed = 0; - switch( OPget_number_of_operands( e->e.op_code ) ) { - case 3: - EXPresolve( e->e.op3, s, Type_Dont_Care ); - failed = is_resolve_failed( e->e.op3 ); - case 2: - EXPresolve( e->e.op2, s, Type_Dont_Care ); - failed |= is_resolve_failed( e->e.op2 ); + if( OPget_number_of_operands( e->e.op_code ) == 3 ) { + EXPresolve( e->e.op3, s, Type_Dont_Care ); + failed = is_resolve_failed( e->e.op3 ); + } + if( OPget_number_of_operands( e->e.op_code ) == 2 ) { + EXPresolve( e->e.op2, s, Type_Dont_Care ); + failed |= is_resolve_failed( e->e.op2 ); } EXPresolve( e->e.op1, s, Type_Dont_Care ); if( failed || is_resolve_failed( e->e.op1 ) ) { @@ -693,12 +620,15 @@ void EXPresolve_op_default( Expression e, Scope s ) { } } +/* prototype for this func cannot change - it is passed as a fn pointer */ Type EXPresolve_op_unknown( Expression e, Scope s ) { - ERRORreport( ERROR_internal_unrecognized_op_in_EXPresolve ); + (void) e; /* quell unused param warning */ + (void) s; + ERRORreport( INTERNAL_UNRECOGNISED_OP_IN_EXPRESOLVE ); return Type_Bad; } -typedef Type Resolve_expr_func PROTO( ( Expression , Scope ) ); +typedef Type (Resolve_expr_func) ( Expression , Scope ); Type EXPresolve_op_logical( Expression e, Scope s ) { EXPresolve_op_default( e, s ); @@ -717,7 +647,7 @@ Type EXPresolve_op_array_like( Expression e, Scope s ) { } else if( op1type == Type_Runtime ) { return( Type_Runtime ); } else if( op1type->u.type->body->type == binary_ ) { - ERRORreport_with_symbol( ERROR_warn_unsupported_lang_feat, &e->symbol, "indexing on a BINARY", __FILE__, __LINE__ ); + ERRORreport_with_symbol(WARN_UNSUPPORTED_LANG_FEAT, &e->symbol, "indexing on a BINARY", __FILE__, __LINE__ ); return( Type_Binary ); } else if( op1type->u.type->body->type == generic_ ) { return( Type_Generic ); @@ -735,7 +665,7 @@ Type EXPresolve_op_array_like( Expression e, Scope s ) { * (how?) */ - //count aggregates and non-aggregates, check aggregate types + /* count aggregates and non-aggregates, check aggregate types */ LISTdo( op1type->u.type->body->list, item, Type ) { if( TYPEis_aggregate( item ) ) { numAggr++; @@ -755,19 +685,19 @@ Type EXPresolve_op_array_like( Expression e, Scope s ) { /* NOTE the following code returns the same data for every case that isn't an error. * It needs to be simplified or extended, depending on whether it works or not. */ if( sameAggrType && ( numAggr != 0 ) && ( numNonAggr == 0 ) ) { - // All are the same aggregation type + /* All are the same aggregation type */ return( lasttype->u.type->body->base ); } else if( numNonAggr == 0 ) { - // All aggregates, but different types - ERRORreport_with_symbol( ERROR_warn_indexing_mixed, &e->symbol, op1type->symbol.name ); - return( lasttype->u.type->body->base ); // WARNING I'm assuming that any of the types is acceptable!!! + /* All aggregates, but different types */ + ERRORreport_with_symbol(WARN_INDEXING_MIXED, &e->symbol, op1type->symbol.name ); + return( lasttype->u.type->body->base ); /* WARNING I'm assuming that any of the types is acceptable!!! */ } else if( numAggr != 0 ) { - // One or more aggregates, one or more nonaggregates - ERRORreport_with_symbol( ERROR_warn_indexing_mixed, &e->symbol, op1type->symbol.name ); - return( lasttype->u.type->body->base ); // WARNING I'm assuming that any of the types is acceptable!!! - } // Else, all are nonaggregates. This is an error. + /* One or more aggregates, one or more nonaggregates */ + ERRORreport_with_symbol(WARN_INDEXING_MIXED, &e->symbol, op1type->symbol.name ); + return( lasttype->u.type->body->base ); /* WARNING I'm assuming that any of the types is acceptable!!! */ + } /* Else, all are nonaggregates. This is an error. */ } - ERRORreport_with_symbol( ERROR_indexing_illegal, &e->symbol ); + ERRORreport_with_symbol(INDEXING_ILLEGAL, &e->symbol ); return( Type_Unknown ); } @@ -817,8 +747,8 @@ Type EXPresolve_op_unary_minus( Expression e, Scope s ) { } /** Initialize one entry in EXPop_table - * This table's function pointers are resolved in \sa EXP_resolve() - * , at approx resolve.c:520 + * This table's function pointers are resolved in EXP_resolve(), at approx resolve.c:520 + * \sa EXP_resolve() * \sa EXPop_init() * * \param token_number operator value, usually in macro form @@ -862,78 +792,6 @@ void EXPop_init() { EXPop_create( OP_UNKNOWN, "UNKNOWN OP", EXPresolve_op_unknown ); } - -/** -** \param op operation -** \param operand1 - first operand -** \param operand2 - second operand -** \param operand3 - third operand -** \returns Ternary_Expression - the expression created -** Create a ternary operation Expression. -*/ -Expression TERN_EXPcreate( Op_Code op, Expression operand1, Expression operand2, Expression operand3 ) { - Expression e = EXPcreate( Type_Expression ); - - e->e.op_code = op; - e->e.op1 = operand1; - e->e.op2 = operand2; - e->e.op3 = operand3; - return e; -} - -/** -** \fn BIN_EXPcreate -** \param op operation -** \param operand1 - first operand -** \param operand2 - second operand -** \returns Binary_Expression - the expression created -** Create a binary operation Expression. -*/ -Expression BIN_EXPcreate( Op_Code op, Expression operand1, Expression operand2 ) { - Expression e = EXPcreate( Type_Expression ); - - e->e.op_code = op; - e->e.op1 = operand1; - e->e.op2 = operand2; - return e; -} - -/** -** \param op operation -** \param operand operand -** \returns the expression created -** Create a unary operation Expression. -*/ -Expression UN_EXPcreate( Op_Code op, Expression operand ) { - Expression e = EXPcreate( Type_Expression ); - - e->e.op_code = op; - e->e.op1 = operand; - return e; -} - -/** -** \param local local identifier for source elements -** \param aggregate source aggregate to query -** \returns the query expression created -** Create a query Expression. -** NOTE Dec 2011 - MP - function description did not match actual params. Had to guess. -*/ -Expression QUERYcreate( Symbol * local, Expression aggregate ) { - Expression e = EXPcreate_from_symbol( Type_Query, local ); - Scope s = SCOPEcreate_tiny( OBJ_QUERY ); - Expression e2 = EXPcreate_from_symbol( Type_Attribute, local ); - - Variable v = VARcreate( e2, Type_Attribute ); - - DICTdefine( s->symbol_table, local->name, ( Generic )v, &e2->symbol, OBJ_VARIABLE ); - e->u.query = QUERY_new(); - e->u.query->scope = s; - e->u.query->local = v; - e->u.query->aggregate = aggregate; - return e; -} - /** ** \param expression expression to evaluate ** \param experrc buffer for error code @@ -941,14 +799,14 @@ Expression QUERYcreate( Symbol * local, Expression aggregate ) { ** Compute the value of an integer expression. */ int EXPget_integer_value( Expression expression ) { - experrc = ERROR_none; + /* TODO: why is this treated differently than a type error below? */ if( expression == EXPRESSION_NULL ) { return 0; } if( expression->return_type->u.type->body->type == integer_ ) { return INT_LITget_value( expression ); } else { - experrc = ERROR_integer_expression_expected; + ERRORreport(INTEGER_EXPRESSION_EXPECTED); return 0; } } diff --git a/src/express/express.c b/src/express/express.c index 24f204b8e..f6a027ad2 100644 --- a/src/express/express.c +++ b/src/express/express.c @@ -1,6 +1,6 @@ -/** ********************************************************************** +/** ** \file express.c ** Express package manager. ************************************************************************/ @@ -68,21 +68,23 @@ * */ -#include "sc_memmgr.h" -#include "express/basic.h" #include #include #include #include +#include "express/memory.h" +#include "express/basic.h" #include "express/express.h" #include "express/resolve.h" +#include "express/factory.h" #include "stack.h" #include "express/scope.h" #include "token_type.h" #include "expparse.h" #include "expscan.h" #include "parse_data.h" +#include "express/lexact.h" void * ParseAlloc( void * ( *mallocProc )( size_t ) ); void ParseFree( void * parser, void ( *freeProc )( void * ) ); @@ -92,163 +94,34 @@ void ParseTrace(FILE *TraceFILE, char *zTracePrompt); Linked_List EXPRESS_path; int EXPRESSpass; -void ( *EXPRESSinit_args ) PROTO( ( int, char ** ) ) = 0; -void ( *EXPRESSinit_parse ) PROTO( ( void ) ) = 0; -int ( *EXPRESSfail ) PROTO( ( Express ) ) = 0; -int ( *EXPRESSsucceed ) PROTO( ( Express ) ) = 0; -void ( *EXPRESSbackend ) PROTO( ( Express ) ) = 0; +void ( *EXPRESSinit_args )( int, char ** ) = NULL; +void ( *EXPRESSinit_parse )( void ) = NULL; +int ( *EXPRESSfail )( Express ) = NULL; +int ( *EXPRESSsucceed )( Express ) = NULL; +void ( *EXPRESSbackend )( Express ) = NULL; char * EXPRESSprogram_name; extern char EXPRESSgetopt_options[]; /* initialized elsewhere */ -int ( *EXPRESSgetopt ) PROTO( ( int, char * ) ) = 0; +int ( *EXPRESSgetopt )( int, char * ) = NULL; bool EXPRESSignore_duplicate_schemas = false; +Function funcdef(char *name, int pcount, Type ret_typ); +void procdef(char *name, int pcount); +void BUILTINSinitialize(); Dictionary EXPRESSbuiltins; /* procedures/functions */ -Error ERROR_bail_out = ERROR_none; -Error ERROR_syntax = ERROR_none; -Error ERROR_unlabelled_param_type = ERROR_none; -Error ERROR_file_unreadable; -Error ERROR_file_unwriteable; -Error ERROR_warn_unsupported_lang_feat; struct Scope_ * FUNC_NVL; struct Scope_ * FUNC_USEDIN; - -char * KW_ABS = "ABS"; -char * KW_ABSTRACT = "ABSTRACT"; -char * KW_ACOS = "ACOS"; -char * KW_AGGREGATE = "AGGREGATE"; -char * KW_ALIAS = "ALIAS"; -char * KW_AND = "AND"; -char * KW_ANDOR = "ANDOR"; -char * KW_ARRAY = "ARRAY"; -char * KW_AS = "AS"; -char * KW_ASIN = "ASIN"; -char * KW_ATAN = "ATAN"; -char * KW_BAG = "BAG"; -char * KW_BEGIN = "BEGIN"; -char * KW_BINARY = "BINARY"; -char * KW_BLENGTH = "BLENGTH"; -char * KW_BOOLEAN = "BOOLEAN"; -char * KW_BY = "BY"; -char * KW_CASE = "CASE"; -char * KW_CONST_E = "CONST_E"; -char * KW_CONSTANT = "CONSTANT"; -char * KW_CONTEXT = "CONTEXT"; -char * KW_COS = "COS"; -char * KW_DERIVE = "DERIVE"; -char * KW_DIV = "DIV"; -char * KW_ELSE = "ELSE"; -char * KW_END = "END"; -char * KW_END_ALIAS = "END_ALIAS"; -char * KW_END_CASE = "END_CASE"; -char * KW_END_CONSTANT = "END_CONSTANT"; -char * KW_END_CONTEXT = "END_CONTEXT"; -char * KW_END_ENTITY = "END_ENTITY"; -char * KW_END_FUNCTION = "END_FUNCTION"; -char * KW_END_IF = "END_IF"; -char * KW_END_LOCAL = "END_LOCAL"; -char * KW_END_MODEL = "END_MODEL"; -char * KW_END_PROCEDURE = "END_PROCEDURE"; -char * KW_END_REPEAT = "END_REPEAT"; -char * KW_END_RULE = "END_RULE"; -char * KW_END_SCHEMA = "END_SCHEMA"; -char * KW_END_TYPE = "END_TYPE"; -char * KW_ENTITY = "ENTITY"; -char * KW_ENUMERATION = "ENUMERATION"; -char * KW_ESCAPE = "ESCAPE"; -char * KW_EXISTS = "EXISTS"; -char * KW_EXP = "EXP"; -char * KW_FALSE = "FALSE"; -char * KW_FIXED = "FIXED"; -char * KW_FOR = "FOR"; -char * KW_FORMAT = "FORMAT"; -char * KW_FROM = "FROM"; -char * KW_FUNCTION = "FUNCTION"; -char * KW_GENERIC = "GENERIC"; -char * KW_HIBOUND = "HIBOUND"; -char * KW_HIINDEX = "HIINDEX"; -char * KW_IF = "IF"; -char * KW_IN = "IN"; -char * KW_INCLUDE = "INCLUDE"; -char * KW_INSERT = "INSERT"; -char * KW_INTEGER = "INTEGER"; -char * KW_INVERSE = "INVERSE"; -char * KW_LENGTH = "LENGTH"; -char * KW_LIKE = "LIKE"; -char * KW_LIST = "LIST"; -char * KW_LOBOUND = "LOBOUND"; -char * KW_LOCAL = "LOCAL"; -char * KW_LOG = "LOG"; -char * KW_LOG10 = "LOG10"; -char * KW_LOG2 = "LOG2"; -char * KW_LOGICAL = "LOGICAL"; -char * KW_LOINDEX = "LOINDEX"; -char * KW_MOD = "MOD"; -char * KW_MODEL = "MODEL"; -char * KW_NOT = "NOT"; -char * KW_NUMBER = "NUMBER"; -char * KW_NVL = "NVL"; -char * KW_ODD = "ODD"; -char * KW_OF = "OF"; -char * KW_ONEOF = "ONEOF"; -char * KW_OPTIONAL = "OPTIONAL"; -char * KW_OR = "OR"; -char * KW_OTHERWISE = "OTHERWISE"; -char * KW_PI = "PI"; -char * KW_PROCEDURE = "PROCEDURE"; -char * KW_QUERY = "QUERY"; -char * KW_REAL = "REAL"; -char * KW_REFERENCE = "REFERENCE"; -char * KW_REMOVE = "REMOVE"; -char * KW_REPEAT = "REPEAT"; -char * KW_RETURN = "RETURN"; -char * KW_ROLESOF = "ROLESOF"; -char * KW_RULE = "RULE"; -char * KW_SCHEMA = "SCHEMA"; -char * KW_SELECT = "SELECT"; -char * KW_SELF = "SELF"; -char * KW_SET = "SET"; -char * KW_SIN = "SIN"; -char * KW_SIZEOF = "SIZEOF"; -char * KW_SKIP = "SKIP"; -char * KW_SQRT = "SQRT"; -char * KW_STRING = "STRING"; -char * KW_SUBTYPE = "SUBTYPE"; -char * KW_SUPERTYPE = "SUPERTYPE"; -char * KW_TAN = "TAN"; -char * KW_THEN = "THEN"; -char * KW_TO = "TO"; -char * KW_TRUE = "TRUE"; -char * KW_TYPE = "TYPE"; -char * KW_TYPEOF = "TYPEOF"; -char * KW_UNIQUE = "UNIQUE"; -char * KW_UNKNOWN = "UNKNOWN"; -char * KW_UNTIL = "UNTIL"; -char * KW_USE = "USE"; -char * KW_USEDIN = "USEDIN"; -char * KW_VALUE = "VALUE"; -char * KW_VALUE_IN = "VALUE_IN"; -char * KW_VALUE_UNIQUE = "VALUE_UNIQUE"; -char * KW_VAR = "VAR"; -char * KW_WHERE = "WHERE"; -char * KW_WHILE = "WHILE"; -char * KW_XOR = "XOR"; - extern Express yyexpresult; -static Error ERROR_ref_nonexistent; -static Error ERROR_tilde_expansion_failed; -static Error ERROR_schema_not_in_own_schema_file; extern Linked_List PARSEnew_schemas; void SCOPEinitialize( void ); -static Express PARSERrun PROTO( ( char *, FILE * ) ); +static Express PARSERrun( char *, FILE * ); -char * EXPRESSversion( void ) { - return( "Express Language, IS (N65), October 24, 1994" ); -} +/** name specified on command line */ +char * input_filename = 0; int EXPRESS_fail( Express model ) { ERRORflush_messages(); @@ -270,24 +143,20 @@ int EXPRESS_succeed( Express model ) { return 0; } -Symbol * EXPRESS_get_symbol( Generic e ) { - return( &( ( Express )e )->symbol ); -} - Express EXPRESScreate() { Express model = SCOPEcreate( OBJ_EXPRESS ); - model->u.express = ( struct Express_ * )sc_calloc( 1, sizeof( struct Express_ ) ); + model->u.express = ( struct Express_ * )calloc( 1, sizeof( struct Express_ ) ); return model; } void EXPRESSdestroy( Express model ) { if( model->u.express->basename ) { - sc_free( model->u.express->basename ); + free( model->u.express->basename ); } if( model->u.express->filename ) { - sc_free( model->u.express->filename ); + free( model->u.express->filename ); } - sc_free( model->u.express ); + free( model->u.express ); SCOPEdestroy( model ); } @@ -300,16 +169,16 @@ typedef struct Dir { static void EXPRESS_PATHinit() { char * p; Dir * dir; - int done = 0; EXPRESS_path = LISTcreate(); p = getenv( "EXPRESS_PATH" ); if( !p ) { /* if no EXPRESS_PATH, search current directory anyway */ - dir = ( Dir * )sc_malloc( sizeof( Dir ) ); + dir = ( Dir * )malloc( sizeof( Dir ) ); dir->leaf = dir->full; - LISTadd( EXPRESS_path, ( Generic )dir ); + LISTadd_last( EXPRESS_path, dir ); } else { + int done = 0; while( !done ) { char * start; /* start of current dir */ int length; /* length of dir */ @@ -338,13 +207,13 @@ static void EXPRESS_PATHinit() { } p++; /* leave p after terminating null */ - dir = ( Dir * )sc_malloc( sizeof( Dir ) ); + dir = ( Dir * )malloc( sizeof( Dir ) ); /* if it's just ".", make it as if it was */ /* just "" to make error messages cleaner */ - if( streq( ".", start ) ) { + if( !strcmp( ".", start ) ) { dir->leaf = dir->full; - LISTadd( EXPRESS_path, ( Generic )dir ); + LISTadd_last( EXPRESS_path, dir ); *( p - 1 ) = save; /* put char back where */ /* temp null was */ continue; @@ -361,7 +230,7 @@ static void EXPRESS_PATHinit() { sprintf( dir->full, "%s/", start ); dir->leaf = dir->full + length + 1; } - LISTadd( EXPRESS_path, ( Generic )dir ); + LISTadd_last( EXPRESS_path, dir ); *( p - 1 ) = save; /* put char back where temp null was */ } @@ -370,38 +239,23 @@ static void EXPRESS_PATHinit() { static void EXPRESS_PATHfree( void ) { LISTdo( EXPRESS_path, dir, Dir * ) - sc_free( dir ); + free( dir ); LISTod LISTfree( EXPRESS_path ); } /** inform object system about bit representation for handling pass diagnostics */ void PASSinitialize() { - OBJcreate( OBJ_PASS, UNK_get_symbol, "pass", OBJ_PASS_BITS ); } /** Initialize the Express package. */ void EXPRESSinitialize( void ) { - Function - func_abs, func_acos, func_asin, func_atan, - func_blength, - func_cos, func_exists, func_exp, func_format, - func_hibound, func_hiindex, func_length, func_lobound, - func_log, func_log10, func_log2, func_loindex, - func_odd, func_rolesof, func_sin, func_sizeof, - func_sqrt, func_tan, func_typeof, - func_value, func_value_in, func_value_unique; - Procedure - proc_insert, proc_remove; - - _MEMinitialize(); + MEMORYinitialize(); ERRORinitialize(); - OBJinitialize(); HASHinitialize(); /* comes first - used by just about everything else! */ DICTinitialize(); LISTinitialize(); /* ditto */ - ERRORinitialize_after_LIST(); STACKinitialize(); PASSinitialize(); @@ -410,6 +264,7 @@ void EXPRESSinitialize( void ) { SYMBOLinitialize(); SCOPEinitialize(); + FACTORYinitialize(); TYPEinitialize(); /* cannot come before SCOPEinitialize */ VARinitialize(); @@ -423,81 +278,8 @@ void EXPRESSinitialize( void ) { STMTinitialize(); SCANinitialize(); - - EXPRESSbuiltins = DICTcreate( 35 ); -#define funcdef(x,y,c,r) \ - x = ALGcreate(OBJ_FUNCTION);\ - x->symbol.name = y;\ - x->u.func->pcount = c; \ - x->u.func->return_type = r; \ - x->u.func->builtin = true; \ - resolved_all(x); \ - DICTdefine(EXPRESSbuiltins,y,(Generic)x,0,OBJ_FUNCTION); -#define procdef(x,y,c) x = ALGcreate(OBJ_PROCEDURE);\ - x->symbol.name = y;\ - x->u.proc->pcount = c; \ - x->u.proc->builtin = true; \ - resolved_all(x); \ - DICTdefine(EXPRESSbuiltins,y,(Generic)x,0,OBJ_PROCEDURE); - /* third arg is # of parameters */ - - /* eventually everything should be data-driven, but for now */ - /* uppercase def's are global to allow passing necessary information */ - /* into resolver */ - procdef( proc_insert, KW_INSERT, 3 ); - procdef( proc_remove, KW_REMOVE, 2 ); - - funcdef( func_abs, KW_ABS, 1, Type_Number ); - funcdef( func_acos, KW_ACOS, 1, Type_Real ); - funcdef( func_asin, KW_ASIN, 1, Type_Real ); - funcdef( func_atan, KW_ATAN, 2, Type_Real ); - funcdef( func_blength, KW_BLENGTH, 1, Type_Integer ); - funcdef( func_cos, KW_COS, 1, Type_Real ); - funcdef( func_exists, KW_EXISTS, 1, Type_Boolean ); - funcdef( func_exp, KW_EXP, 1, Type_Real ); - funcdef( func_format, KW_FORMAT, 2, Type_String ); - funcdef( func_hibound, KW_HIBOUND, 1, Type_Integer ); - funcdef( func_hiindex, KW_HIINDEX, 1, Type_Integer ); - funcdef( func_length, KW_LENGTH, 1, Type_Integer ); - funcdef( func_lobound, KW_LOBOUND, 1, Type_Integer ); - funcdef( func_log, KW_LOG, 1, Type_Real ); - funcdef( func_log10, KW_LOG10, 1, Type_Real ); - funcdef( func_log2, KW_LOG2, 1, Type_Real ); - funcdef( func_loindex, KW_LOINDEX, 1, Type_Integer ); - funcdef( FUNC_NVL, KW_NVL, 2, Type_Generic ); - funcdef( func_odd, KW_ODD, 1, Type_Logical ); - funcdef( func_rolesof, KW_ROLESOF, 1, Type_Set_Of_String ); - funcdef( func_sin, KW_SIN, 1, Type_Real ); - funcdef( func_sizeof, KW_SIZEOF, 1, Type_Integer ); - funcdef( func_sqrt, KW_SQRT, 1, Type_Real ); - funcdef( func_tan, KW_TAN, 1, Type_Real ); - funcdef( func_typeof, KW_TYPEOF, 1, Type_Set_Of_String ); - funcdef( FUNC_USEDIN, KW_USEDIN, 2, Type_Bag_Of_Generic ); - funcdef( func_value, KW_VALUE, 1, Type_Number ); - funcdef( func_value_in, KW_VALUE_IN, 2, Type_Logical ); - funcdef( func_value_unique, KW_VALUE_UNIQUE, 1, Type_Logical ); - - ERROR_bail_out = - ERRORcreate( "Aborting due to internal error(s)", SEVERITY_DUMP ); - ERROR_syntax = - ERRORcreate( "%s in %s %s", SEVERITY_EXIT ); - /* i.e., "syntax error in procedure foo" */ - ERROR_ref_nonexistent = ERRORcreate( - "USE/REF of non-existent object (%s in schema %s)", SEVERITY_ERROR ); - ERROR_tilde_expansion_failed = ERRORcreate( - "Tilde expansion for %s failed in EXPRESS_PATH environment variable", SEVERITY_ERROR ); - ERROR_schema_not_in_own_schema_file = ERRORcreate( - "Schema %s was not found in its own schema file (%s)", SEVERITY_ERROR ); - ERROR_unlabelled_param_type = ERRORcreate( - "Return type or local variable requires type label in `%s'", SEVERITY_ERROR ); - ERROR_file_unreadable = ERRORcreate( "Could not read file %s: %s", SEVERITY_ERROR ); - ERROR_file_unwriteable = ERRORcreate( "Could not write file %s: %s", SEVERITY_ERROR ); - ERROR_warn_unsupported_lang_feat = ERRORcreate( "Unsupported language feature (%s) at %s:%d", SEVERITY_WARNING ); - - OBJcreate( OBJ_EXPRESS, EXPRESS_get_symbol, "express file", OBJ_UNUSED_BITS ); - - ERRORcreate_warning( "unknown_subtype", ERROR_unknown_subtype ); - ERRORcreate_warning( "unsupported", ERROR_warn_unsupported_lang_feat ); + + BUILTINSinitialize(); EXPRESS_PATHinit(); /* note, must follow defn of errors it needs! */ } @@ -506,18 +288,7 @@ void EXPRESSinitialize( void ) { void EXPRESScleanup( void ) { EXPRESS_PATHfree(); - ERRORdestroy( ERROR_bail_out ); - ERRORdestroy( ERROR_syntax ); - ERRORdestroy( ERROR_ref_nonexistent ); - ERRORdestroy( ERROR_tilde_expansion_failed ); - ERRORdestroy( ERROR_schema_not_in_own_schema_file ); - ERRORdestroy( ERROR_unlabelled_param_type ); - ERRORdestroy( ERROR_file_unreadable ); - ERRORdestroy( ERROR_file_unwriteable ); - ERRORdestroy( ERROR_warn_unsupported_lang_feat ); - DICTcleanup(); - OBJcleanup(); ERRORcleanup(); RESOLVEcleanup(); TYPEcleanup(); @@ -549,7 +320,7 @@ void EXPRESSparse( Express model, FILE * fp, char * filename ) { } if( !fp ) { - ERRORreport( ERROR_file_unreadable, filename, strerror( errno ) ); + ERRORreport( FILE_UNREADABLE, filename, strerror( errno ) ); return; } @@ -563,11 +334,11 @@ void EXPRESSparse( Express model, FILE * fp, char * filename ) { int length = strlen( start ); /* drop .exp suffix if present */ - if( dot && streq( dot, ".exp" ) ) { + if( dot && !strcmp( dot, ".exp" ) ) { length -= 4; } - model->u.express->basename = ( char * )sc_malloc( length + 1 ); + model->u.express->basename = ( char * )malloc( length + 1 ); memcpy( model->u.express->basename, filename, length ); model->u.express->basename[length] = '\0'; @@ -581,9 +352,12 @@ void EXPRESSparse( Express model, FILE * fp, char * filename ) { PARSERrun( filename, model->u.express->file = fp ); } +/* TODO LEMON ought to put this in expparse.h */ +void parserInitState(); + /** start parsing a new schema file */ static Express PARSERrun( char * filename, FILE * fp ) { - extern void SCAN_lex_init PROTO( ( char *, FILE * ) ); + extern void SCAN_lex_init( char *, FILE * ); extern YYSTYPE yylval; extern int yyerrstatus; int tokenID; @@ -594,18 +368,19 @@ static Express PARSERrun( char * filename, FILE * fp ) { parseData.scanner = scanner; if( print_objects_while_running & OBJ_PASS_BITS ) { - fprintf( stdout, "parse (pass %d)\n", EXPRESSpass ); + fprintf( stderr, "parse (pass %d)\n", EXPRESSpass ); } if( print_objects_while_running & OBJ_SCHEMA_BITS ) { - fprintf( stdout, "parse: %s (schema file)\n", filename ); + fprintf( stderr, "parse: %s (schema file)\n", filename ); } SCAN_lex_init( filename, fp ); parserInitState(); yyerrstatus = 0; -// ParseTrace( stderr, "- expparse - " ); //NOTE uncomment this to enable parser tracing + /* NOTE uncomment the next line to enable parser tracing */ + /* ParseTrace( stderr, "- expparse - " ); */ while( ( tokenID = yylex( scanner ) ) > 0 ) { Parse( parser, tokenID, yylval, parseData ); } @@ -614,7 +389,7 @@ static Express PARSERrun( char * filename, FILE * fp ) { /* want 0 on success, 1 on invalid input, 2 on memory exhaustion */ if( yyerrstatus != 0 ) { fprintf( stderr, ">> Bailing! (yyerrstatus = %d)\n", yyerrstatus ); - ERRORreport( ERROR_bail_out ); + ERRORreport( BAIL_OUT ); /* free model and model->u.express */ return 0; } @@ -626,15 +401,15 @@ static Express PARSERrun( char * filename, FILE * fp ) { return yyexpresult; } -static void RENAMEresolve( Rename * r, Schema s ); - /** * find the final object to which a rename points * i.e., follow chain of USEs or REFs * sets DICT_type + * + * Sept 2013 - remove unused param enum rename_type type (TODO should this be used)? */ -static Generic SCOPEfind_for_rename( Scope schema, char * name, enum rename_type type ) { - Generic result; +static void * SCOPEfind_for_rename( Scope schema, char * name ) { + void *result; Rename * rename; /* object can only appear in top level symbol table */ @@ -646,13 +421,13 @@ static Generic SCOPEfind_for_rename( Scope schema, char * name, enum rename_type } /* Occurs in a fully USE'd schema? */ - LISTdo( schema->u.schema->use_schemas, schema, Schema ) - /* follow chain'd USEs */ - result = SCOPEfind_for_rename( schema, name, use ); - if( result ) { - return( result ); - } - LISTod; + LISTdo( schema->u.schema->use_schemas, use_schema, Schema ) { + /* follow chain'd USEs */ + result = SCOPEfind_for_rename( use_schema, name ); + if( result ) { + return( result ); + } + } LISTod; /* Occurs in a partially USE'd schema? */ rename = ( Rename * )DICTlookup( schema->u.schema->usedict, name ); @@ -663,7 +438,7 @@ static Generic SCOPEfind_for_rename( Scope schema, char * name, enum rename_type } LISTdo( schema->u.schema->uselist, r, Rename * ) - if( streq( ( r->nnew ? r->nnew : r->old )->name, name ) ) { + if( !strcmp( ( r->nnew ? r->nnew : r->old )->name, name ) ) { RENAMEresolve( r, schema ); DICT_type = r->type; return( r->object ); @@ -677,8 +452,8 @@ static Generic SCOPEfind_for_rename( Scope schema, char * name, enum rename_type return 0; } -static void RENAMEresolve( Rename * r, Schema s ) { - Generic remote; +void RENAMEresolve( Rename * r, Schema s ) { + void *remote; /* if (is_resolved_rename_raw(r->old)) return;*/ if( r->object ) { @@ -690,16 +465,16 @@ static void RENAMEresolve( Rename * r, Schema s ) { } if( is_resolve_in_progress_raw( r->old ) ) { - ERRORreport_with_symbol( ERROR_circular_reference, + ERRORreport_with_symbol( CIRCULAR_REFERENCE, r->old, r->old->name ); resolve_failed_raw( r->old ); return; } resolve_in_progress_raw( r->old ); - remote = SCOPEfind_for_rename( r->schema, r->old->name, r->rename_type ); + remote = SCOPEfind_for_rename( r->schema, r->old->name ); if( remote == 0 ) { - ERRORreport_with_symbol( ERROR_ref_nonexistent, r->old, + ERRORreport_with_symbol( REF_NONEXISTENT, r->old, r->old->name, r->schema->symbol.name ); resolve_failed_raw( r->old ); } else { @@ -720,7 +495,6 @@ static void RENAMEresolve( Rename * r, Schema s ) { #ifdef using_enum_items_is_a_pain static void RENAMEresolve_enum( Type t, Schema s ) { - Dictionary d = TYPEget_enum_tags( t ); DictionaryEntry de; Expression x; @@ -739,7 +513,7 @@ Schema EXPRESSfind_schema( Dictionary modeldict, char * name ) { char lower[MAX_SCHEMA_FILENAME_SIZE]; /* avoid lowerizing original */ if( print_objects_while_running & OBJ_SCHEMA_BITS ) { - fprintf( stdout, "pass %d: %s (schema reference)\n", + fprintf( stderr, "pass %d: %s (schema reference)\n", EXPRESSpass, name ); } @@ -758,7 +532,7 @@ Schema EXPRESSfind_schema( Dictionary modeldict, char * name ) { LISTdo( EXPRESS_path, dir, Dir * ) sprintf( dir->leaf, "%s.exp", lower ); if( print_objects_while_running & OBJ_SCHEMA_BITS ) { - fprintf( stdout, "pass %d: %s (schema file?)\n", + fprintf( stderr, "pass %d: %s (schema file?)\n", EXPRESSpass, dir->full ); } fp = fopen( dir->full, "r" ); @@ -766,7 +540,7 @@ Schema EXPRESSfind_schema( Dictionary modeldict, char * name ) { Express express; if( print_objects_while_running & OBJ_SCHEMA_BITS ) { - fprintf( stdout, "pass %d: %s (schema file found)\n", + fprintf( stderr, "pass %d: %s (schema file found)\n", EXPRESSpass, dir->full ); } @@ -777,12 +551,12 @@ Schema EXPRESSfind_schema( Dictionary modeldict, char * name ) { if( s ) { return s; } - ERRORreport( ERROR_schema_not_in_own_schema_file, + ERRORreport( SCHEMA_NOT_IN_OWN_SCHEMA_FILE, name, dir->full ); return 0; } else { if( print_objects_while_running & OBJ_SCHEMA_BITS ) { - fprintf( stdout, "pass %d: %s (schema file not found), errno = %d\n", EXPRESSpass, dir->full, errno ); + fprintf( stderr, "pass %d: %s (schema file not found), errno = %d\n", EXPRESSpass, dir->full, errno ); } } LISTod @@ -794,6 +568,7 @@ Schema EXPRESSfind_schema( Dictionary modeldict, char * name ) { * make the initial connections from one schema to another * dictated by USE/REF clauses that use dictionaries, i.e., * because of partial schema references + * \sa connect_schema_lists() */ static void connect_lists( Dictionary modeldict, Schema schema, Linked_List list ) { Rename * r; @@ -803,7 +578,7 @@ static void connect_lists( Dictionary modeldict, Schema schema, Linked_List list r = ( Rename * )l->data; r->schema = EXPRESSfind_schema( modeldict, r->schema_sym->name ); if( !r->schema ) { - ERRORreport_with_symbol( ERROR_undefined_schema, + ERRORreport_with_symbol(UNDEFINED_SCHEMA, r->schema_sym, r->schema_sym->name ); resolve_failed_raw( r->old ); @@ -814,7 +589,7 @@ static void connect_lists( Dictionary modeldict, Schema schema, Linked_List list /** * same as `connect_lists` except for full schemas - * \sa connect_lists + * \sa connect_lists() */ static void connect_schema_lists( Dictionary modeldict, Schema schema, Linked_List schema_list ) { Symbol * sym; @@ -825,11 +600,11 @@ static void connect_schema_lists( Dictionary modeldict, Schema schema, Linked_Li sym = ( Symbol * )list->data; ref_schema = EXPRESSfind_schema( modeldict, sym->name ); if( !ref_schema ) { - ERRORreport_with_symbol( ERROR_undefined_schema, sym, sym->name ); + ERRORreport_with_symbol(UNDEFINED_SCHEMA, sym, sym->name ); resolve_failed( schema ); - list->data = 0; + list->data = NULL; } else { - list->data = ( Generic )ref_schema; + list->data = ref_schema; } LISTod } @@ -854,7 +629,7 @@ void EXPRESSresolve( Express model ) { EXPRESSpass++; if( print_objects_while_running & OBJ_PASS_BITS ) { - fprintf( stdout, "pass %d: resolving schema references\n", EXPRESSpass ); + fprintf( stderr, "pass %d: resolving schema references\n", EXPRESSpass ); } /* connect the real schemas to all the rename clauses */ @@ -864,31 +639,31 @@ void EXPRESSresolve( Express model ) { /* add news schemas to end, drop old ones off the front as we */ /* process them. */ - LISTdo( PARSEnew_schemas, schema, Schema ) - if( print_objects_while_running & OBJ_SCHEMA_BITS ) { - fprintf( stdout, "pass %d: %s (schema)\n", - EXPRESSpass, schema->symbol.name ); - } + LISTdo( PARSEnew_schemas, print_schema, Schema ) { + if( print_objects_while_running & OBJ_SCHEMA_BITS ) { + fprintf( stderr, "pass %d: %s (schema)\n", + EXPRESSpass, print_schema->symbol.name ); + } - if( schema->u.schema->uselist ) - connect_lists( model->symbol_table, - schema, schema->u.schema->uselist ); - if( schema->u.schema->reflist ) - connect_lists( model->symbol_table, - schema, schema->u.schema->reflist ); + if( print_schema->u.schema->uselist ) + connect_lists( model->symbol_table, + print_schema, print_schema->u.schema->uselist ); + if( print_schema->u.schema->reflist ) + connect_lists( model->symbol_table, + print_schema, print_schema->u.schema->reflist ); - connect_schema_lists( model->symbol_table, - schema, schema->u.schema->use_schemas ); - connect_schema_lists( model->symbol_table, - schema, schema->u.schema->ref_schemas ); - LISTod; + connect_schema_lists( model->symbol_table, + print_schema, print_schema->u.schema->use_schemas ); + connect_schema_lists( model->symbol_table, + print_schema, print_schema->u.schema->ref_schemas ); + } LISTod; LISTfree( PARSEnew_schemas ); PARSEnew_schemas = 0; /* just in case */ EXPRESSpass++; if( print_objects_while_running & OBJ_PASS_BITS ) { - fprintf( stdout, "pass %d: resolving objects references to other schemas\n", EXPRESSpass ); + fprintf( stderr, "pass %d: resolving objects references to other schemas\n", EXPRESSpass ); } /* connect the object in each rename clause to the real object */ @@ -899,7 +674,7 @@ void EXPRESSresolve( Express model ) { } if( print_objects_while_running & OBJ_SCHEMA_BITS ) { - fprintf( stdout, "pass %d: %s (schema)\n", + fprintf( stderr, "pass %d: %s (schema)\n", EXPRESSpass, schema->symbol.name ); } @@ -924,7 +699,7 @@ void EXPRESSresolve( Express model ) { /* defined types */ EXPRESSpass++; if( print_objects_while_running & OBJ_PASS_BITS ) { - fprintf( stdout, "pass %d: resolving sub and supertypes\n", EXPRESSpass ); + fprintf( stderr, "pass %d: resolving sub and supertypes\n", EXPRESSpass ); } DICTdo_type_init( model->symbol_table, &de, OBJ_SCHEMA ); @@ -941,7 +716,7 @@ void EXPRESSresolve( Express model ) { /* resolve types */ EXPRESSpass++; if( print_objects_while_running & OBJ_PASS_BITS ) { - fprintf( stdout, "pass %d: resolving types\n", EXPRESSpass ); + fprintf( stderr, "pass %d: resolving types\n", EXPRESSpass ); } SCOPEresolve_types( model ); @@ -955,7 +730,7 @@ void EXPRESSresolve( Express model ) { /* type resolution */ EXPRESSpass++; if( print_objects_while_running & OBJ_PASS_BITS ) { - fprintf( stdout, "pass %d: resolving implied USE's\n", EXPRESSpass ); + fprintf( stderr, "pass %d: resolving implied USE's\n", EXPRESSpass ); } DICTdo_type_init( model->symbol_table, &de, OBJ_SCHEMA ); @@ -965,7 +740,7 @@ void EXPRESSresolve( Express model ) { } if( print_objects_while_running & OBJ_SCHEMA_BITS ) { - fprintf( stdout, "pass %d: %s (schema)\n", + fprintf( stderr, "pass %d: %s (schema)\n", EXPRESSpass, schema->symbol.name ); } @@ -986,7 +761,7 @@ void EXPRESSresolve( Express model ) { EXPRESSpass++; if( print_objects_while_running & OBJ_PASS_BITS ) { - fprintf( stdout, "pass %d: resolving expressions and statements\n", EXPRESSpass ); + fprintf( stderr, "pass %d: resolving expressions and statements\n", EXPRESSpass ); } SCOPEresolve_expressions_statements( model ); @@ -1002,3 +777,60 @@ void EXPRESSresolve( Express model ) { } } } + +Function funcdef(char *name, int pcount, Type ret_typ) { + Function f = ALGcreate(OBJ_FUNCTION); + f->symbol.name = name; + f->u.func->pcount = pcount; + f->u.func->return_type = ret_typ; + f->u.func->builtin = true; + resolved_all(f); + DICTdefine(EXPRESSbuiltins, name, f, 0, OBJ_FUNCTION); + return f; +} + +void procdef(char *name, int pcount) { + Procedure p = ALGcreate(OBJ_PROCEDURE); + p->symbol.name = name; + p->u.proc->pcount = pcount; + p->u.proc->builtin = true; + resolved_all(p); + DICTdefine(EXPRESSbuiltins, name, p, 0, OBJ_PROCEDURE); +} + +void BUILTINSinitialize() { + EXPRESSbuiltins = DICTcreate( 35 ); + procdef("INSERT", 3 ); + procdef("REMOVE", 2 ); + + funcdef("ABS", 1, Type_Number ); + funcdef("ACOS", 1, Type_Real ); + funcdef("ASIN", 1, Type_Real ); + funcdef("ATAN", 2, Type_Real ); + funcdef("BLENGTH", 1, Type_Integer ); + funcdef("COS", 1, Type_Real ); + funcdef("EXISTS", 1, Type_Boolean ); + funcdef("EXP", 1, Type_Real ); + funcdef("FORMAT", 2, Type_String ); + funcdef("HIBOUND", 1, Type_Integer ); + funcdef("HIINDEX", 1, Type_Integer ); + funcdef("LENGTH", 1, Type_Integer ); + funcdef("LOBOUND", 1, Type_Integer ); + funcdef("LOG", 1, Type_Real ); + funcdef("LOG10", 1, Type_Real ); + funcdef("LOG2", 1, Type_Real ); + funcdef("LOINDEX", 1, Type_Integer ); + funcdef("ODD", 1, Type_Logical ); + funcdef("ROLESOF", 1, Type_Set_Of_String ); + funcdef("SIN", 1, Type_Real ); + funcdef("SIZEOF", 1, Type_Integer ); + funcdef("SQRT", 1, Type_Real ); + funcdef("TAN", 1, Type_Real ); + funcdef("TYPEOF", 1, Type_Set_Of_String ); + funcdef("VALUE", 1, Type_Number ); + funcdef("VALUE_IN", 2, Type_Logical ); + funcdef("VALUE_UNIQUE", 1, Type_Logical ); + + FUNC_NVL = funcdef("NVL", 2, Type_Generic ); + FUNC_USEDIN = funcdef("USEDIN", 2, Type_Bag_Of_Generic ); +} diff --git a/src/express/expscan.l b/src/express/expscan.l index 3d18aa648..755e21fc1 100644 --- a/src/express/expscan.l +++ b/src/express/expscan.l @@ -98,9 +98,12 @@ * * Revision 4.1 90/09/13 16:29:00 clark * BPR 2.1 alpha - * + * */ - +#include +#if !defined(isascii) && defined(__isascii) +# define isascii __isascii +#endif #include "express/basic.h" #include "express/error.h" #include "express/lexact.h" @@ -110,7 +113,6 @@ enum { INITIAL, code, comment, return_end_schema }; -extern void yyerror(); extern int yylineno; extern bool yyeof; static int nesting_level = 0; @@ -143,7 +145,7 @@ SCANnextchar(char* buffer) #endif buffer[0] = *(SCANcurrent++); if (!isascii(buffer[0])) { - ERRORreport_with_line(ERROR_nonascii_char,yylineno, + ERRORreport_with_line(NONASCII_CHAR,yylineno, 0xff & buffer[0]); buffer[0] = ' '; /* substitute space */ } @@ -152,19 +154,6 @@ SCANnextchar(char* buffer) return 0; } -static int -yywrap() -{ - int i; - - for (i = 0; i < nesting_level && i < MAX_NESTED_COMMENTS; i++) { - ERRORreport_with_symbol(ERROR_unmatched_open_comment, - &open_comment[i]); - /* maybe not all, but at least some will be reported - DEL */ - } - return 1; -} - #define NEWLINE (yylineno++) /* when lex looks ahead over a newline, error messages get thrown off */ @@ -238,7 +227,7 @@ integer { /* bad identifier */ [_A-Za-z]id_char* { - ERRORreport_with_line(ERROR_bad_identifier, yylineno, yytext); + ERRORreport_with_line(BAD_IDENTIFIER, yylineno, yytext); return SCANprocess_identifier_or_keyword(yytext); } @@ -249,7 +238,7 @@ integer { } "'"([^'\n]|"''")*'\n' { - ERRORreport_with_line(ERROR_unterminated_string, LINENO_FUDGE); + ERRORreport_with_line(UNTERMINATED_STRING, LINENO_FUDGE); NEWLINE; return SCANprocess_string(yytext); } @@ -259,7 +248,7 @@ integer { } '"'[^\"\n]*'\n' { - ERRORreport_with_line(ERROR_unterminated_string, LINENO_FUDGE); + ERRORreport_with_line(UNTERMINATED_STRING, LINENO_FUDGE); NEWLINE; return SCANprocess_encoded_string(yytext); } @@ -313,7 +302,7 @@ integer { } "*)" { - ERRORreport_with_line(ERROR_unmatched_close_comment, yylineno); + ERRORreport_with_line(UNMATCHED_CLOSE_COMMENT, yylineno); IGNORE_TOKEN; } @@ -330,7 +319,7 @@ integer { /* As per N15, 7.1.5.3, all other recognized chars are incorrect - DEL */ [$%&@\^{}~] { - ERRORreport_with_line(ERROR_unexpected_character,yylineno,yytext[0]); + ERRORreport_with_line(UNEXPECTED_CHARACTER,yylineno,yytext[0]); IGNORE_TOKEN; } diff --git a/src/express/exptoks.h b/src/express/exptoks.h deleted file mode 100644 index 0bbd255e4..000000000 --- a/src/express/exptoks.h +++ /dev/null @@ -1,124 +0,0 @@ -#define TOK_EQUAL 258 -#define TOK_GREATER_EQUAL 259 -#define TOK_GREATER_THAN 260 -#define TOK_IN 261 -#define TOK_INST_EQUAL 262 -#define TOK_INST_NOT_EQUAL 263 -#define TOK_LESS_EQUAL 264 -#define TOK_LESS_THAN 265 -#define TOK_LIKE 266 -#define TOK_NOT_EQUAL 267 -#define TOK_MINUS 268 -#define TOK_PLUS 269 -#define TOK_OR 270 -#define TOK_XOR 271 -#define TOK_DIV 272 -#define TOK_MOD 273 -#define TOK_REAL_DIV 274 -#define TOK_TIMES 275 -#define TOK_AND 276 -#define TOK_ANDOR 277 -#define TOK_CONCAT_OP 278 -#define TOK_EXP 279 -#define TOK_NOT 280 -#define TOK_DOT 281 -#define TOK_BACKSLASH 282 -#define TOK_LEFT_BRACKET 283 -#define TOK_ABSTRACT 284 -#define TOK_AGGREGATE 285 -#define TOK_ALIAS 286 -#define TOK_ALL_IN 287 -#define TOK_ARRAY 288 -#define TOK_AS 289 -#define TOK_ASSIGNMENT 290 -#define TOK_BAG 291 -#define TOK_BEGIN 292 -#define TOK_BINARY 293 -#define TOK_BOOLEAN 294 -#define TOK_BY 295 -#define TOK_CASE 296 -#define TOK_COLON 297 -#define TOK_COMMA 298 -#define TOK_CONSTANT 299 -#define TOK_CONTEXT 300 -#define TOK_E 301 -#define TOK_DERIVE 302 -#define TOK_ELSE 303 -#define TOK_END 304 -#define TOK_END_ALIAS 305 -#define TOK_END_CASE 306 -#define TOK_END_CONSTANT 307 -#define TOK_END_CONTEXT 308 -#define TOK_END_ENTITY 309 -#define TOK_END_FUNCTION 310 -#define TOK_END_IF 311 -#define TOK_END_LOCAL 312 -#define TOK_END_MODEL 313 -#define TOK_END_PROCEDURE 314 -#define TOK_END_REPEAT 315 -#define TOK_END_RULE 316 -#define TOK_END_SCHEMA 317 -#define TOK_END_TYPE 318 -#define TOK_ENTITY 319 -#define TOK_ENUMERATION 320 -#define TOK_ESCAPE 321 -#define TOK_FIXED 322 -#define TOK_FOR 323 -#define TOK_FROM 324 -#define TOK_FUNCTION 325 -#define TOK_GENERIC 326 -#define TOK_IF 327 -#define TOK_INCLUDE 328 -#define TOK_INTEGER 329 -#define TOK_INVERSE 330 -#define TOK_LEFT_CURL 331 -#define TOK_LEFT_PAREN 332 -#define TOK_LIST 333 -#define TOK_LOCAL 334 -#define TOK_LOGICAL 335 -#define TOK_MODEL 336 -#define TOK_NUMBER 337 -#define TOK_OF 338 -#define TOK_ONEOF 339 -#define TOK_OPTIONAL 340 -#define TOK_OTHERWISE 341 -#define TOK_PI 342 -#define TOK_PROCEDURE 343 -#define TOK_QUERY 344 -#define TOK_QUESTION_MARK 345 -#define TOK_REAL 346 -#define TOK_REFERENCE 347 -#define TOK_REPEAT 348 -#define TOK_RETURN 349 -#define TOK_RIGHT_BRACKET 350 -#define TOK_RIGHT_CURL 351 -#define TOK_RIGHT_PAREN 352 -#define TOK_RULE 353 -#define TOK_SCHEMA 354 -#define TOK_SELECT 355 -#define TOK_SET 356 -#define TOK_SKIP 357 -#define TOK_STRING 358 -#define TOK_SUBTYPE 359 -#define TOK_SUCH_THAT 360 -#define TOK_SUPERTYPE 361 -#define TOK_THEN 362 -#define TOK_TO 363 -#define TOK_TYPE 364 -#define TOK_UNIQUE 365 -#define TOK_UNTIL 366 -#define TOK_USE 367 -#define TOK_VAR 368 -#define TOK_WHERE 369 -#define TOK_WHILE 370 -#define TOK_STRING_LITERAL 371 -#define TOK_STRING_LITERAL_ENCODED 372 -#define TOK_BUILTIN_FUNCTION 373 -#define TOK_BUILTIN_PROCEDURE 374 -#define TOK_IDENTIFIER 375 -#define TOK_SELF 376 -#define TOK_INTEGER_LITERAL 377 -#define TOK_REAL_LITERAL 378 -#define TOK_LOGICAL_LITERAL 379 -#define TOK_BINARY_LITERAL 380 -#define TOK_SEMICOLON 381 diff --git a/src/express/factory.c b/src/express/factory.c new file mode 100644 index 000000000..daf6ee7d3 --- /dev/null +++ b/src/express/factory.c @@ -0,0 +1,375 @@ +#include "express/schema.h" +#include "express/type.h" +#include "express/expr.h" + +#include "express/dict.h" + +/* TODO: use enum? */ +Type Type_Bad; +Type Type_Unknown; +Type Type_Dont_Care; +Type Type_Runtime; +Type Type_Binary; +Type Type_Boolean; +Type Type_Enumeration; +Type Type_Expression; +Type Type_Aggregate; +Type Type_Repeat; +Type Type_Integer; +Type Type_Number; +Type Type_Real; +Type Type_String; +Type Type_String_Encoded; +Type Type_Logical; +Type Type_Set; +Type Type_Attribute; +Type Type_Entity; +Type Type_Funcall; +Type Type_Generic; +Type Type_Identifier; +Type Type_Oneof; +Type Type_Query; +Type Type_Self; +Type Type_Set_Of_String; +Type Type_Set_Of_Generic; +Type Type_Bag_Of_Generic; + +void FACTORYinitialize() { + /* Very commonly-used read-only types */ + Type_Unknown = TYPEcreate( unknown_ ); + Type_Dont_Care = TYPEcreate( special_ ); + Type_Bad = TYPEcreate( special_ ); + Type_Runtime = TYPEcreate( runtime_ ); + + Type_Enumeration = TYPEcreate( enumeration_ ); + Type_Enumeration->u.type->body->flags.shared = 1; + resolved_all( Type_Enumeration ); + + Type_Expression = TYPEcreate( op_ ); + Type_Expression->u.type->body->flags.shared = 1; + + Type_Aggregate = TYPEcreate( aggregate_ ); + Type_Aggregate->u.type->body->flags.shared = 1; + Type_Aggregate->u.type->body->base = Type_Runtime; + + Type_Integer = TYPEcreate( integer_ ); + Type_Integer->u.type->body->flags.shared = 1; + resolved_all( Type_Integer ); + + Type_Real = TYPEcreate( real_ ); + Type_Real->u.type->body->flags.shared = 1; + resolved_all( Type_Real ); + + Type_Number = TYPEcreate( number_ ); + Type_Number->u.type->body->flags.shared = 1; + resolved_all( Type_Number ); + + Type_String = TYPEcreate( string_ ); + Type_String->u.type->body->flags.shared = 1; + resolved_all( Type_String ); + + Type_String_Encoded = TYPEcreate( string_ ); + Type_String_Encoded->u.type->body->flags.shared = 1; + Type_String_Encoded->u.type->body->flags.encoded = 1; + resolved_all( Type_String ); + + Type_Logical = TYPEcreate( logical_ ); + Type_Logical->u.type->body->flags.shared = 1; + resolved_all( Type_Logical ); + + Type_Binary = TYPEcreate( binary_ ); + Type_Binary->u.type->body->flags.shared = 1; + resolved_all( Type_Binary ); + + Type_Number = TYPEcreate( number_ ); + Type_Number->u.type->body->flags.shared = 1; + resolved_all( Type_Number ); + + Type_Boolean = TYPEcreate( boolean_ ); + Type_Boolean->u.type->body->flags.shared = 1; + resolved_all( Type_Boolean ); + + Type_Generic = TYPEcreate( generic_ ); + Type_Generic->u.type->body->flags.shared = 1; + resolved_all( Type_Generic ); + + Type_Set_Of_String = TYPEcreate( set_ ); + Type_Set_Of_String->u.type->body->flags.shared = 1; + Type_Set_Of_String->u.type->body->base = Type_String; + + Type_Set_Of_Generic = TYPEcreate( set_ ); + Type_Set_Of_Generic->u.type->body->flags.shared = 1; + Type_Set_Of_Generic->u.type->body->base = Type_Generic; + + Type_Bag_Of_Generic = TYPEcreate( bag_ ); + Type_Bag_Of_Generic->u.type->body->flags.shared = 1; + Type_Bag_Of_Generic->u.type->body->base = Type_Generic; + + Type_Attribute = TYPEcreate( attribute_ ); + Type_Attribute->u.type->body->flags.shared = 1; + + Type_Entity = TYPEcreate( entity_ ); + Type_Entity->u.type->body->flags.shared = 1; + + Type_Funcall = TYPEcreate( funcall_ ); + Type_Funcall->u.type->body->flags.shared = 1; + + Type_Generic = TYPEcreate( generic_ ); + Type_Generic->u.type->body->flags.shared = 1; + + Type_Identifier = TYPEcreate( identifier_ ); + Type_Identifier->u.type->body->flags.shared = 1; + + Type_Repeat = TYPEcreate( integer_ ); + Type_Repeat->u.type->body->flags.shared = 1; + Type_Repeat->u.type->body->flags.repeat = 1; + + Type_Oneof = TYPEcreate( oneof_ ); + Type_Oneof->u.type->body->flags.shared = 1; + + Type_Query = TYPEcreate( query_ ); + Type_Query->u.type->body->flags.shared = 1; + + Type_Self = TYPEcreate( self_ ); + Type_Self->u.type->body->flags.shared = 1; +} + +/** Create and return an empty scope inside a parent scope. */ +Scope SCOPEcreate( char type ) { + Scope d = SCOPE_new(); + d->symbol_table = DICTcreate( 50 ); + d->type = type; + return d; +} + +Scope SCOPEcreate_tiny( char type ) { + Scope d = SCOPE_new(); + d->symbol_table = DICTcreate( 1 ); + d->type = type; + return d; +} + +void SCOPEdestroy( Scope scope ) { + SCOPE_destroy( scope ); +} + +/** + * create a scope without a symbol table + * used for simple types + */ +Scope SCOPEcreate_nostab( char type ) { + Scope d = SCOPE_new(); + d->type = type; + return d; +} + +/** Create and return a schema. */ +Schema SCHEMAcreate( void ) { + Scope s = SCOPEcreate( OBJ_SCHEMA ); + s->enum_table = DICTcreate(50); + s->u.schema = SCHEMA_new(); + return s; +} + +/** + * create a type with no symbol table + */ +Type TYPEcreate_nostab( struct Symbol_ *symbol, Scope scope, char objtype ) { + Type t = SCOPEcreate_nostab( OBJ_TYPE ); + TypeHead th = TYPEHEAD_new(); + + t->u.type = th; + t->symbol = *symbol; + DICTdefine( scope->symbol_table, symbol->name, t, &t->symbol, objtype ); + + return t; +} + +/** + * create a type but this is just a shell, either to be completed later + * such as enumerations (which have a symbol table added later) + * or to be used as a type reference + */ +Type TYPEcreate_name( Symbol * symbol ) { + Scope s = SCOPEcreate_nostab( OBJ_TYPE ); + TypeHead t = TYPEHEAD_new(); + + s->u.type = t; + s->symbol = *symbol; + return s; +} + +Type TYPEcreate( enum type_enum type ) { + TypeBody tb = TYPEBODYcreate( type ); + Type t = TYPEcreate_from_body_anonymously( tb ); + return( t ); +} + +Type TYPEcreate_from_body_anonymously( TypeBody tb ) { + Type t = SCOPEcreate_nostab( OBJ_TYPE ); + TypeHead th = TYPEHEAD_new(); + + t->u.type = th; + t->u.type->body = tb; + t->symbol.name = 0; + SYMBOLset( t ); + return t; +} + +TypeBody TYPEBODYcreate( enum type_enum type ) { + TypeBody tb = TYPEBODY_new(); + tb->type = type; + return tb; +} + +Symbol * SYMBOLcreate( char * name, int line, const char * filename ) { + Symbol * sym = SYMBOL_new(); + sym->name = name; + sym->line = line; + sym->filename = filename; /* NOTE this used the global 'current_filename', + * instead of 'filename'. This func is only + * called in two places, and both calls use + * 'current_filename'. Changed this to avoid + * potential future headaches. (MAP, Jan 12) + */ + return sym; +} + +/** +** low-level function for type Entity +** +** \note The attribute list of a new entity is defined as an +** empty list; all other aspects of the entity are initially +** undefined (i.e., have appropriate NULL values). +*/ +Entity ENTITYcreate( Symbol * sym ) { + Scope s = SCOPEcreate( OBJ_ENTITY ); + + s->u.entity = ENTITY_new(); + s->u.entity->attributes = LISTcreate(); + s->u.entity->inheritance = ENTITY_INHERITANCE_UNINITIALIZED; + + /* it's so useful to have a type hanging around for each entity */ + s->u.entity->type = TYPEcreate_name( sym ); + s->u.entity->type->u.type->body = TYPEBODYcreate( entity_ ); + s->u.entity->type->u.type->body->entity = s; + return( s ); +} + +/** VARcreate +** \param name name of variable to create +** \param type type of new variable +** \return the Variable created +** Create and return a new variable. +** +** \note The reference class of the variable is, by default, +** dynamic. Special flags associated with the variable +** (e.g., optional) are initially false. +*/ +Variable VARcreate( Expression name, Type type ) { + Variable v = VAR_new(); + v->name = name; + v->type = type; + return v; +} + +Expression EXPcreate( Type type ) { + Expression e; + e = EXP_new(); + SYMBOLset( e ); + e->type = type; + e->return_type = Type_Unknown; + return( e ); +} + +/** + * use this when the return_type is the same as the type + * For example, for constant integers + */ +Expression EXPcreate_simple( Type type ) { + Expression e; + e = EXP_new(); + SYMBOLset( e ); + e->type = e->return_type = type; + return( e ); +} + +Expression EXPcreate_from_symbol( Type type, Symbol * symbol ) { + Expression e; + e = EXP_new(); + e->type = type; + e->return_type = Type_Unknown; + e->symbol = *symbol; + return e; +} + +/** +** \param op operation +** \param operand1 - first operand +** \param operand2 - second operand +** \param operand3 - third operand +** \returns Ternary_Expression - the expression created +** Create a ternary operation Expression. +*/ +Expression TERN_EXPcreate( Op_Code op, Expression operand1, Expression operand2, Expression operand3 ) { + Expression e = EXPcreate( Type_Expression ); + + e->e.op_code = op; + e->e.op1 = operand1; + e->e.op2 = operand2; + e->e.op3 = operand3; + return e; +} + +/** +** \fn BIN_EXPcreate +** \param op operation +** \param operand1 - first operand +** \param operand2 - second operand +** \returns Binary_Expression - the expression created +** Create a binary operation Expression. +*/ +Expression BIN_EXPcreate( Op_Code op, Expression operand1, Expression operand2 ) { + Expression e = EXPcreate( Type_Expression ); + + e->e.op_code = op; + e->e.op1 = operand1; + e->e.op2 = operand2; + return e; +} + +/** +** \param op operation +** \param operand operand +** \returns the expression created +** Create a unary operation Expression. +*/ +Expression UN_EXPcreate( Op_Code op, Expression operand ) { + Expression e = EXPcreate( Type_Expression ); + + e->e.op_code = op; + e->e.op1 = operand; + return e; +} + +/** +** \param local local identifier for source elements +** \param aggregate source aggregate to query +** \returns the query expression created +** Create a query Expression. +** NOTE Dec 2011 - MP - function description did not match actual params. Had to guess. +*/ +Expression QUERYcreate( Symbol * local, Expression aggregate ) { + Expression e = EXPcreate_from_symbol( Type_Query, local ); + Scope s = SCOPEcreate_tiny( OBJ_QUERY ); + Expression e2 = EXPcreate_from_symbol( Type_Attribute, local ); + + Variable v = VARcreate( e2, Type_Attribute ); + + DICTdefine( s->symbol_table, local->name, v, &e2->symbol, OBJ_VARIABLE ); + e->u.query = QUERY_new(); + e->u.query->scope = s; + e->u.query->local = v; + e->u.query->aggregate = aggregate; + return e; +} diff --git a/src/express/fedex.c b/src/express/fedex.c index 1922482f3..efca9ddd1 100644 --- a/src/express/fedex.c +++ b/src/express/fedex.c @@ -71,56 +71,90 @@ * */ -#include -#include -#include -#include "sc_version_string.h" #include #include -#include "sc_getopt.h" + +#include "config.h" +#include "sc_export.h" #include "express/error.h" #include "express/express.h" #include "express/resolve.h" +#include "express/info.h" #ifdef YYDEBUG extern int exp_yydebug; #endif /*YYDEBUG*/ -char EXPRESSgetopt_options[256] = "Bbd:e:i:w:p:rvz"; //larger than the string because fedex_plus, exppp, etc may append their own options +char * sc_optarg; // global argument pointer +int sc_optind = 0; // global argv index + +int sc_getopt( int argc, char * argv[], char * optstring ) { + static char * next = NULL; + if( sc_optind == 0 ) { + next = NULL; + } + + sc_optarg = NULL; + + if( next == NULL || *next == '\0' ) { + if( sc_optind == 0 ) { + sc_optind++; + } + + if( sc_optind >= argc || argv[sc_optind][0] != '-' || argv[sc_optind][1] == '\0' ) { + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + if( strcmp( argv[sc_optind], "--" ) == 0 ) { + sc_optind++; + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + next = argv[sc_optind]; + next++; // skip past - + sc_optind++; + } + + char c = *next++; + char * cp = strchr( optstring, c ); + + if( cp == NULL || c == ':' ) { + return '?'; + } + + cp++; + if( *cp == ':' ) { + if( *next != '\0' ) { + sc_optarg = next; + next = NULL; + } else if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + sc_optind++; + } else { + return '?'; + } + } + + return c; +} + + +char EXPRESSgetopt_options[256] = "Bbd:e:i:w:p:rvz"; /* larger than the string because exp2cxx, exppp, etc may append their own options */ static int no_need_to_work = 0; /* TRUE if we can exit gracefully without doing any work */ void print_fedex_version( void ) { - fprintf( stderr, "Build info for %s: %s\nhttp://github.com/stepcode/stepcode\n", EXPRESSprogram_name, sc_version() ); + fprintf( stderr, "Build info for %s: %s\nhttp://github.com/stepcode/stepcode and scl-dev on google groups\n", EXPRESSprogram_name, SC_VERSION ); no_need_to_work = 1; } -void EXPRESSusage( int _exit ) { - fprintf( stderr, "usage: %s [-v] [-d #] [-p ] {-w|-i } express_file\n", EXPRESSprogram_name ); - fprintf( stderr, "where\t-v produces the following version description:\n" ); - print_fedex_version(); - fprintf( stderr, "\t-d turns on debugging (\"-d 0\" describes this further\n" ); - fprintf( stderr, "\t-p turns on printing when processing certain objects (see below)\n" ); - fprintf( stderr, "\t-w warning enable\n" ); - fprintf( stderr, "\t-i warning ignore\n" ); - fprintf( stderr, "and is one of:\n" ); - fprintf( stderr, "\tnone\n\tall\n" ); - LISTdo( ERRORwarnings, opt, Error_Warning ) - fprintf( stderr, "\t%s\n", opt->name ); - LISTod - fprintf( stderr, "and is one or more of:\n" ); - fprintf( stderr, " e entity\n" ); - fprintf( stderr, " p procedure\n" ); - fprintf( stderr, " r rule\n" ); - fprintf( stderr, " f function\n" ); - fprintf( stderr, " t type\n" ); - fprintf( stderr, " s schema or file\n" ); - fprintf( stderr, " # pass #\n" ); - fprintf( stderr, " E everything (all of the above)\n" ); - if( _exit ) { - exit( 2 ); - } -} - int main( int argc, char ** argv ) { int c; int rc; @@ -130,7 +164,6 @@ int main( int argc, char ** argv ) { int result; bool buffer_messages = false; - char * filename = 0; Express model; EXPRESSprogram_name = argv[0]; @@ -144,12 +177,12 @@ int main( int argc, char ** argv ) { ( *EXPRESSinit_args )( argc, argv ); } - optind = 1; - while( ( c = sc_getopt( argc, argv, EXPRESSgetopt_options ) ) != -1 ) + sc_optind = 1; + while( ( c = sc_getopt( argc, argv, EXPRESSgetopt_options ) ) != -1 ) { switch( c ) { case 'd': ERRORdebugging = 1; - switch( atoi( optarg ) ) { + switch( atoi( sc_optarg ) ) { case 0: fprintf( stderr, "\ndebug codes:\n" ); fprintf( stderr, " 0 - this help\n" ); @@ -191,7 +224,7 @@ int main( int argc, char ** argv ) { buffer_messages = false; break; case 'e': - filename = optarg; + input_filename = sc_optarg; break; case 'r': resolve = 0; @@ -199,10 +232,10 @@ int main( int argc, char ** argv ) { case 'i': case 'w': no_warnings = 0; - ERRORset_warning( optarg, c == 'w' ); + ERRORset_warning( sc_optarg, c == 'w' ); break; case 'p': - for( cp = optarg; *cp; cp++ ) { + for( cp = sc_optarg; *cp; cp++ ) { if( *cp == '#' ) { print_objects_while_running |= OBJ_PASS_BITS; } else if( *cp == 'E' ) { @@ -219,7 +252,7 @@ int main( int argc, char ** argv ) { default: rc = 1; if( EXPRESSgetopt ) { - rc = ( *EXPRESSgetopt )( c, optarg ); + rc = ( *EXPRESSgetopt )( c, sc_optarg ); } if( rc == 1 ) { if( ERRORusage_function ) { @@ -230,10 +263,10 @@ int main( int argc, char ** argv ) { } break; } - - if( !filename ) { - filename = argv[optind]; - if( !filename ) { + } + if( !input_filename ) { + input_filename = argv[sc_optind]; + if( !input_filename ) { EXPRESScleanup(); if( no_need_to_work ) { return( 0 ); @@ -253,7 +286,7 @@ int main( int argc, char ** argv ) { } model = EXPRESScreate(); - EXPRESSparse( model, ( FILE * )0, filename ); + EXPRESSparse( model, ( FILE * )0, input_filename ); if( ERRORoccurred ) { result = EXPRESS_fail( model ); EXPRESScleanup(); diff --git a/src/express/generated/CMakeLists.txt b/src/express/generated/CMakeLists.txt new file mode 100644 index 000000000..53e9293be --- /dev/null +++ b/src/express/generated/CMakeLists.txt @@ -0,0 +1,8 @@ +include_directories(.) + +add_library(objlib_expscan_c OBJECT expscan.c) +set_property(TARGET objlib_expscan_c PROPERTY POSITION_INDEPENDENT_CODE ON) + +add_library(objlib_expparse_c OBJECT expparse.c) +set_property(TARGET objlib_expparse_c PROPERTY POSITION_INDEPENDENT_CODE ON) + diff --git a/src/express/generated/README b/src/express/generated/README index 17ea7ea41..fef02da84 100644 --- a/src/express/generated/README +++ b/src/express/generated/README @@ -1,24 +1,8 @@ -This directory contains pre-generated outputs from -the Perplex/RE2C/Lemon toolchain. Their purpose -is to allow SCL to build on platforms that do not -have those tools installed, when users/developers -do not need to alter the lexing and parsing logic. +This directory contains pre-generated outputs from the Perplex/RE2C/Lemon +toolchain. Their purpose is to allow SC to build on platforms that do +not have those tools installed, when users/developers do not need to alter the +lexing and parsing logic. -DO NOT EDIT THESE FILES. They are machine generated -and should not be modified directly - bugs in these -files need to be fixed in either the Perplex/RE2C/Lemon -input files or the tools themselves. Directly changing -these files will result in a build failure. - -If changes need to be made, the correct approach is to -install Perplex, RE2C, and Lemon and make changes in the -input files and/or tools. As long as the toolchain in place -is the same as that used previously when generating these -files, the contents of this directory will be kept in sync -automatically. In the case of updates to the tools, use the -express_sync_generated_files build target to force an -update. - -The verification_info.cmake file in this directory is -used by CMake to protect the integrity of the generated -files. +DO NOT EDIT THESE FILES. They are machine generated and should not be modified +directly - bugs in these files need to be fixed in either the +Perplex/RE2C/Lemon input files or the tools themselves. diff --git a/src/express/generated/expparse.c b/src/express/generated/expparse.c index 9ee691887..393d5c303 100644 --- a/src/express/generated/expparse.c +++ b/src/express/generated/expparse.c @@ -25,75 +25,7 @@ YYSTYPE yylval; * Revision 1.23 1997/11/14 17:09:04 libes * allow multiple group references * - * Revision 1.22 1997/01/21 19:35:43 dar - * made C++ compatible - * - * Revision 1.21 1995/06/08 22:59:59 clark - * bug fixes - * - * Revision 1.20 1995/04/08 21:06:07 clark - * WHERE rule resolution bug fixes, take 2 - * - * Revision 1.19 1995/04/08 20:54:18 clark - * WHERE rule resolution bug fixes - * - * Revision 1.19 1995/04/08 20:49:08 clark - * WHERE - * - * Revision 1.18 1995/04/05 13:55:40 clark - * CADDETC preval - * - * Revision 1.17 1995/03/09 18:43:47 clark - * various fixes for caddetc - before interface clause changes - * - * Revision 1.16 1994/11/29 20:55:58 clark - * fix inline comment bug - * - * Revision 1.15 1994/11/22 18:32:39 clark - * Part 11 IS; group reference - * - * Revision 1.14 1994/11/10 19:20:03 clark - * Update to IS - * - * Revision 1.13 1994/05/11 19:50:00 libes - * numerous fixes - * - * Revision 1.12 1993/10/15 18:47:26 libes - * CADDETC certified - * - * Revision 1.10 1993/03/19 20:53:57 libes - * one more, with feeling - * - * Revision 1.9 1993/03/19 20:39:51 libes - * added unique to parameter types - * - * Revision 1.8 1993/02/16 03:17:22 libes - * reorg'd alg bodies to not force artificial begin/ends - * added flag to differentiate parameters in scopes - * rewrote query to fix scope handling - * added support for Where type - * - * Revision 1.7 1993/01/19 22:44:17 libes - * *** empty log message *** - * - * Revision 1.6 1992/08/27 23:36:35 libes - * created fifo for new schemas that are parsed - * connected entity list to create of oneof - * - * Revision 1.5 1992/08/18 17:11:36 libes - * rm'd extraneous error messages - * - * Revision 1.4 1992/06/08 18:05:20 libes - * prettied up interface to print_objects_when_running - * - * Revision 1.3 1992/05/31 23:31:13 libes - * implemented ALIAS resolution - * - * Revision 1.2 1992/05/31 08:30:54 libes - * multiple files - * - * Revision 1.1 1992/05/28 03:52:25 libes - * Initial revision + * ** 22 older revision log records removed 3 January 2014 ** */ #include "express/symbol.h" @@ -104,22 +36,28 @@ YYSTYPE yylval; #include "express/entity.h" #include "express/resolve.h" #include "expscan.h" +#include extern int print_objects_while_running; - int tag_count; /* use this to count tagged GENERIC types in the formal */ - /* argument lists. Gross, but much easier to do it this */ - /* way then with the 'help' of yacc. */ - /* Set it to -1 to indicate that tags cannot be defined, */ - /* only used (outside of formal parameter list, i.e. for */ - /* return types). Hey, as long as */ - /* there's a gross hack sitting around, we might as well */ - /* milk it for all it's worth! -snc */ + int tag_count; /**< use this to count tagged GENERIC types in the formal + * argument lists. Gross, but much easier to do it this + * way then with the 'help' of yacc. Set it to -1 to + * indicate that tags cannot be defined, only used + * (outside of formal parameter list, i.e. for return + * types). Hey, as long as there's a gross hack sitting + * around, we might as well milk it for all it's worth! + * - snc + */ + + int local_var_count; /**< used to keep LOCAL variables in order + * used in combination with Variable.offset + */ - Express yyexpresult; /* hook to everything built by parser */ + Express yyexpresult; /* hook to everything built by parser */ - Symbol *interface_schema; /* schema of interest in use/ref clauses */ - void (*interface_func)(); /* func to attach rename clauses */ + Symbol *interface_schema; /* schema of interest in use/ref clauses */ + void (*interface_func)(struct Scope_ *, Symbol *, Symbol *, Symbol *); /* func to attach rename clauses */ /* record schemas found in a single parse here, allowing them to be */ /* differentiated from other schemas parsed earlier */ @@ -127,44 +65,41 @@ YYSTYPE yylval; void SCANskip_to_end_schema(perplex_t scanner); - int yylineno; - - - static void yyerror(const char*, char *string); + int yylineno; bool yyeof = false; -#define MAX_SCOPE_DEPTH 20 /* max number of scopes that can be nested */ +#define MAX_SCOPE_DEPTH 20 /* max number of scopes that can be nested */ static struct scope { struct Scope_ *this_; - char type; /* one of OBJ_XXX */ - struct scope *pscope; /* pointer back to most recent scope */ + char type; /* one of OBJ_XXX */ + struct scope *pscope; /* pointer back to most recent scope */ /* that has a printable name - for better */ /* error messages */ } scopes[MAX_SCOPE_DEPTH], *scope; #define CURRENT_SCOPE (scope->this_) #define PREVIOUS_SCOPE ((scope-1)->this_) #define CURRENT_SCHEMA (scope->this_->u.schema) -#define CURRENT_SCOPE_NAME (OBJget_symbol(scope->pscope->this_,scope->pscope->type)->name) -#define CURRENT_SCOPE_TYPE_PRINTABLE (OBJget_type(scope->pscope->type)) +#define CURRENT_SCOPE_NAME (OBJget_symbol(scope->pscope->this_,scope->pscope->type)->name) +#define CURRENT_SCOPE_TYPE_PRINTABLE (OBJget_type(scope->pscope->type)) /* ths = new scope to enter */ /* sym = name of scope to enter into parent. Some scopes (i.e., increment) */ /* are not named, in which case sym should be 0 */ - /* This is useful for when a diagnostic is printed, an earlier named */ - /* scoped can be used */ + /* This is useful for when a diagnostic is printed, an earlier named */ + /* scoped can be used */ /* typ = type of scope */ #define PUSH_SCOPE(ths,sym,typ) \ - if (sym) DICTdefine(scope->this_->symbol_table,(sym)->name,(Generic)ths,sym,typ);\ - ths->superscope = scope->this_; \ - scope++; \ - scope->type = typ; \ - scope->pscope = (sym?scope:(scope-1)->pscope); \ - scope->this_ = ths; \ - if (sym) { \ - ths->symbol = *(sym); \ - } + if (sym) DICTdefine(scope->this_->symbol_table,(sym)->name,(Generic)ths,sym,typ);\ + ths->superscope = scope->this_; \ + scope++; \ + scope->type = typ; \ + scope->pscope = (sym?scope:(scope-1)->pscope); \ + scope->this_ = ths; \ + if (sym) { \ + ths->symbol = *(sym); \ + } #define POP_SCOPE() scope-- /* PUSH_SCOPE_DUMMY just pushes the scope stack with nothing actually on it */ @@ -175,9 +110,9 @@ YYSTYPE yylval; /* bother to get pushed so fix them this way */ #define SCOPEadd_super(ths) ths->superscope = scope->this_; -#define ERROR(code) ERRORreport(code, yylineno) +#define ERROR(code) ERRORreport(code, yylineno) -void parserInitState() +void parserInitState( void ) { scope = scopes; /* no need to define scope->this */ @@ -188,7 +123,7 @@ void parserInitState() yyexpresult->symbol.filename = yyexpresult->u.express->filename; yyexpresult->symbol.line = 1; } -#line 192 "expparse.c" +#line 127 "expparse.c" /* Next is all token values, in a form suitable for use by makeheaders. ** This section will be null unless lemon is run with the -m switch. */ @@ -239,31 +174,30 @@ void parserInitState() ** defined, then do no error processing. */ #define YYCODETYPE unsigned short int -#define YYNOCODE 281 +#define YYNOCODE 280 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE YYSTYPE typedef union { int yyinit; ParseTOKENTYPE yy0; - struct entity_body yy24; - struct subsuper_decl yy34; - Qualified_Attr* yy101; - Expression yy145; - Type yy155; - Op_Code yy206; - struct upper_lower yy210; - Integer yy215; - struct type_flags yy224; - Case_Item yy259; - struct subtypes yy261; - struct type_either yy352; - struct qualifier yy384; - Where yy428; - Variable yy443; - TypeBody yy457; - Symbol* yy461; - Linked_List yy471; - Statement yy522; + struct qualifier yy46; + Variable yy91; + Op_Code yy126; + struct entity_body yy176; + Where yy234; + struct subsuper_decl yy242; + struct type_flags yy252; + struct upper_lower yy253; + Symbol* yy275; + Type yy297; + Case_Item yy321; + Statement yy332; + Linked_List yy371; + struct type_either yy378; + struct subtypes yy385; + Expression yy401; + TypeBody yy477; + Integer yy507; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 0 @@ -272,8 +206,8 @@ typedef union { #define ParseARG_PDECL , parse_data_t parseData #define ParseARG_FETCH parse_data_t parseData = yypParser->parseData #define ParseARG_STORE yypParser->parseData = parseData -#define YYNSTATE 655 -#define YYNRULE 334 +#define YYNSTATE 645 +#define YYNRULE 332 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) @@ -342,706 +276,688 @@ static const YYMINORTYPE yyzerominor = { 0 }; ** shifting non-terminals after a reduce. ** yy_default[] Default action for each state. */ -#define YY_ACTTAB_COUNT (2731) +#define YY_ACTTAB_COUNT (2659) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 79, 80, 624, 69, 70, 47, 388, 73, 71, 72, - /* 10 */ 74, 741, 81, 76, 75, 16, 44, 593, 404, 403, - /* 20 */ 77, 491, 490, 396, 372, 609, 59, 58, 250, 612, - /* 30 */ 272, 607, 62, 35, 606, 387, 604, 608, 68, 91, - /* 40 */ 603, 46, 153, 158, 350, 629, 628, 114, 113, 579, - /* 50 */ 79, 80, 228, 167, 622, 168, 531, 251, 111, 623, - /* 60 */ 310, 15, 81, 621, 109, 16, 44, 409, 631, 616, - /* 70 */ 457, 533, 159, 396, 114, 113, 618, 617, 615, 614, - /* 80 */ 613, 413, 416, 184, 417, 180, 415, 169, 68, 395, - /* 90 */ 410, 990, 119, 411, 204, 629, 628, 114, 113, 176, - /* 100 */ 79, 80, 622, 552, 622, 559, 526, 246, 543, 623, - /* 110 */ 170, 621, 81, 621, 144, 16, 44, 557, 89, 616, - /* 120 */ 319, 131, 305, 396, 19, 26, 618, 617, 615, 614, - /* 130 */ 613, 532, 475, 462, 474, 477, 381, 473, 68, 395, - /* 140 */ 354, 476, 305, 236, 643, 629, 628, 371, 369, 365, - /* 150 */ 79, 80, 115, 348, 622, 475, 478, 474, 477, 623, - /* 160 */ 473, 315, 81, 621, 476, 16, 44, 455, 566, 616, - /* 170 */ 404, 403, 77, 396, 219, 5, 618, 617, 615, 614, - /* 180 */ 613, 475, 472, 474, 477, 630, 473, 23, 68, 395, - /* 190 */ 476, 533, 314, 114, 113, 629, 628, 404, 352, 77, - /* 200 */ 79, 80, 524, 350, 622, 475, 471, 474, 477, 623, - /* 210 */ 473, 41, 81, 621, 476, 16, 44, 363, 84, 616, - /* 220 */ 122, 337, 622, 316, 453, 534, 618, 617, 615, 614, - /* 230 */ 613, 621, 529, 537, 410, 62, 120, 553, 68, 395, - /* 240 */ 122, 450, 313, 568, 170, 629, 628, 787, 154, 535, - /* 250 */ 36, 557, 224, 253, 622, 338, 518, 249, 225, 623, - /* 260 */ 69, 70, 252, 621, 73, 71, 72, 74, 41, 616, - /* 270 */ 76, 75, 136, 312, 386, 239, 618, 617, 615, 614, - /* 280 */ 613, 599, 597, 600, 75, 595, 594, 598, 601, 395, - /* 290 */ 596, 69, 70, 522, 413, 73, 71, 72, 74, 619, - /* 300 */ 525, 76, 75, 108, 528, 154, 654, 105, 339, 875, - /* 310 */ 626, 115, 481, 518, 787, 504, 503, 502, 501, 500, - /* 320 */ 499, 498, 497, 496, 495, 2, 306, 144, 579, 458, - /* 330 */ 129, 625, 165, 29, 163, 633, 247, 245, 586, 585, - /* 340 */ 244, 242, 73, 71, 72, 74, 529, 234, 76, 75, - /* 350 */ 360, 171, 154, 204, 14, 205, 12, 133, 3, 13, - /* 360 */ 518, 341, 459, 125, 104, 162, 161, 347, 366, 223, - /* 370 */ 210, 518, 504, 503, 502, 501, 500, 499, 498, 497, - /* 380 */ 496, 495, 2, 443, 69, 70, 339, 129, 73, 71, - /* 390 */ 72, 74, 394, 875, 76, 75, 551, 359, 154, 93, - /* 400 */ 339, 579, 591, 65, 529, 248, 518, 175, 633, 247, - /* 410 */ 245, 586, 585, 244, 242, 3, 393, 652, 530, 504, - /* 420 */ 503, 502, 501, 500, 499, 498, 497, 496, 495, 2, - /* 430 */ 334, 652, 568, 442, 129, 302, 224, 21, 174, 173, - /* 440 */ 650, 186, 154, 308, 187, 652, 651, 649, 648, 217, - /* 450 */ 518, 647, 646, 645, 644, 118, 421, 41, 121, 183, - /* 460 */ 24, 116, 3, 386, 86, 504, 503, 502, 501, 500, - /* 470 */ 499, 498, 497, 496, 495, 2, 527, 333, 41, 216, - /* 480 */ 129, 429, 366, 41, 335, 233, 326, 358, 322, 154, - /* 490 */ 230, 39, 238, 635, 45, 39, 636, 518, 164, 637, - /* 500 */ 642, 641, 102, 640, 639, 10, 353, 43, 3, 504, - /* 510 */ 503, 502, 501, 500, 499, 498, 497, 496, 495, 2, - /* 520 */ 39, 652, 39, 92, 129, 560, 565, 203, 409, 100, - /* 530 */ 511, 320, 652, 609, 356, 154, 42, 612, 151, 607, - /* 540 */ 366, 303, 606, 518, 604, 608, 134, 78, 603, 46, - /* 550 */ 153, 158, 3, 560, 433, 357, 504, 503, 502, 501, - /* 560 */ 500, 499, 498, 497, 496, 495, 2, 423, 301, 22, - /* 570 */ 200, 129, 475, 470, 474, 477, 172, 473, 240, 154, - /* 580 */ 494, 476, 537, 557, 579, 487, 549, 518, 248, 382, - /* 590 */ 175, 633, 247, 245, 586, 585, 244, 242, 374, 3, - /* 600 */ 87, 572, 504, 503, 502, 501, 500, 499, 498, 497, - /* 610 */ 496, 495, 2, 573, 385, 246, 384, 129, 567, 383, - /* 620 */ 381, 174, 173, 130, 493, 380, 154, 410, 378, 569, - /* 630 */ 14, 205, 379, 558, 518, 13, 126, 331, 562, 373, - /* 640 */ 232, 27, 309, 362, 520, 3, 504, 503, 502, 501, - /* 650 */ 500, 499, 498, 497, 496, 495, 2, 319, 14, 205, - /* 660 */ 34, 129, 7, 13, 231, 336, 229, 370, 452, 139, - /* 670 */ 226, 355, 220, 622, 368, 475, 469, 474, 477, 367, - /* 680 */ 473, 110, 621, 33, 476, 14, 205, 106, 364, 3, - /* 690 */ 13, 107, 189, 504, 503, 502, 501, 500, 499, 498, - /* 700 */ 497, 496, 495, 2, 523, 361, 222, 510, 129, 117, - /* 710 */ 218, 128, 221, 166, 9, 20, 486, 485, 484, 652, - /* 720 */ 211, 32, 213, 208, 18, 207, 351, 647, 646, 645, - /* 730 */ 644, 118, 475, 467, 474, 477, 3, 473, 877, 82, - /* 740 */ 25, 476, 9, 20, 486, 485, 484, 206, 346, 468, - /* 750 */ 99, 199, 202, 97, 160, 647, 646, 645, 644, 118, - /* 760 */ 335, 340, 95, 94, 461, 198, 194, 193, 135, 9, - /* 770 */ 20, 486, 485, 484, 434, 190, 328, 426, 185, 327, - /* 780 */ 325, 188, 647, 646, 645, 644, 118, 323, 335, 424, - /* 790 */ 55, 53, 56, 49, 51, 50, 54, 57, 48, 52, - /* 800 */ 321, 181, 59, 58, 177, 638, 635, 178, 62, 636, - /* 810 */ 529, 8, 637, 642, 641, 335, 640, 639, 449, 60, - /* 820 */ 290, 55, 53, 56, 49, 51, 50, 54, 57, 48, - /* 830 */ 52, 123, 197, 59, 58, 652, 329, 11, 408, 62, - /* 840 */ 653, 55, 53, 56, 49, 51, 50, 54, 57, 48, - /* 850 */ 52, 143, 39, 59, 58, 475, 466, 474, 477, 62, - /* 860 */ 473, 63, 21, 632, 476, 592, 587, 243, 611, 584, - /* 870 */ 627, 583, 55, 53, 56, 49, 51, 50, 54, 57, - /* 880 */ 48, 52, 528, 88, 59, 58, 241, 582, 576, 85, - /* 890 */ 62, 237, 55, 53, 56, 49, 51, 50, 54, 57, - /* 900 */ 48, 52, 37, 570, 59, 58, 112, 69, 70, 235, - /* 910 */ 62, 73, 71, 72, 74, 140, 141, 76, 75, 605, - /* 920 */ 377, 55, 53, 56, 49, 51, 50, 54, 57, 48, - /* 930 */ 52, 550, 579, 59, 58, 548, 83, 538, 544, 62, - /* 940 */ 541, 540, 539, 547, 371, 61, 366, 546, 588, 545, - /* 950 */ 55, 53, 56, 49, 51, 50, 54, 57, 48, 52, - /* 960 */ 536, 215, 59, 58, 27, 214, 28, 138, 62, 475, - /* 970 */ 465, 474, 477, 610, 473, 209, 256, 521, 476, 40, - /* 980 */ 454, 55, 53, 56, 49, 51, 50, 54, 57, 48, - /* 990 */ 52, 516, 307, 59, 58, 460, 634, 635, 515, 62, - /* 1000 */ 636, 101, 514, 637, 642, 641, 513, 640, 639, 581, - /* 1010 */ 512, 55, 53, 56, 49, 51, 50, 54, 57, 48, - /* 1020 */ 52, 609, 4, 59, 58, 612, 265, 607, 508, 62, - /* 1030 */ 606, 98, 604, 608, 506, 505, 603, 46, 153, 158, - /* 1040 */ 38, 1, 55, 53, 56, 49, 51, 50, 54, 57, - /* 1050 */ 48, 52, 492, 488, 59, 58, 196, 480, 439, 456, - /* 1060 */ 62, 440, 438, 451, 441, 642, 641, 446, 640, 639, - /* 1070 */ 571, 436, 55, 53, 56, 49, 51, 50, 54, 57, - /* 1080 */ 48, 52, 392, 609, 59, 58, 195, 612, 282, 607, - /* 1090 */ 62, 254, 606, 448, 604, 608, 124, 437, 603, 46, - /* 1100 */ 153, 158, 447, 246, 142, 445, 55, 53, 56, 49, - /* 1110 */ 51, 50, 54, 57, 48, 52, 444, 192, 59, 58, - /* 1120 */ 304, 435, 191, 432, 62, 17, 55, 53, 56, 49, - /* 1130 */ 51, 50, 54, 57, 48, 52, 428, 330, 59, 58, - /* 1140 */ 431, 427, 430, 132, 62, 425, 55, 53, 56, 49, - /* 1150 */ 51, 50, 54, 57, 48, 52, 324, 182, 59, 58, - /* 1160 */ 529, 14, 205, 420, 62, 246, 13, 422, 580, 635, - /* 1170 */ 289, 419, 636, 212, 179, 637, 642, 641, 418, 640, - /* 1180 */ 639, 6, 90, 55, 53, 56, 49, 51, 50, 54, - /* 1190 */ 57, 48, 52, 414, 407, 59, 58, 412, 390, 389, - /* 1200 */ 556, 62, 555, 554, 376, 375, 31, 542, 55, 53, - /* 1210 */ 56, 49, 51, 50, 54, 57, 48, 52, 609, 507, - /* 1220 */ 59, 58, 612, 342, 607, 103, 62, 606, 343, 604, - /* 1230 */ 608, 344, 528, 603, 46, 154, 157, 96, 345, 602, - /* 1240 */ 137, 520, 64, 518, 509, 483, 20, 486, 485, 484, - /* 1250 */ 620, 564, 563, 519, 67, 30, 154, 482, 647, 646, - /* 1260 */ 645, 644, 118, 66, 518, 391, 609, 479, 332, 991, - /* 1270 */ 612, 282, 607, 991, 991, 606, 991, 604, 608, 991, - /* 1280 */ 991, 603, 46, 153, 158, 475, 464, 474, 477, 991, - /* 1290 */ 473, 335, 991, 652, 476, 991, 366, 318, 991, 991, - /* 1300 */ 246, 991, 504, 503, 502, 501, 500, 499, 498, 497, - /* 1310 */ 496, 495, 517, 475, 463, 474, 477, 129, 473, 991, - /* 1320 */ 991, 991, 476, 504, 503, 502, 501, 500, 499, 498, - /* 1330 */ 497, 496, 495, 489, 991, 991, 991, 991, 129, 991, - /* 1340 */ 991, 991, 991, 991, 991, 991, 991, 991, 246, 991, - /* 1350 */ 55, 53, 56, 49, 51, 50, 54, 57, 48, 52, - /* 1360 */ 991, 991, 59, 58, 475, 201, 474, 477, 62, 473, - /* 1370 */ 991, 609, 991, 476, 991, 612, 151, 607, 991, 991, - /* 1380 */ 606, 991, 604, 608, 991, 991, 603, 46, 153, 158, - /* 1390 */ 609, 991, 991, 991, 612, 280, 607, 991, 991, 606, - /* 1400 */ 991, 604, 608, 991, 991, 603, 46, 153, 158, 609, - /* 1410 */ 991, 991, 991, 612, 589, 607, 991, 991, 606, 991, - /* 1420 */ 604, 608, 991, 991, 603, 46, 153, 158, 991, 317, - /* 1430 */ 609, 991, 991, 991, 612, 270, 607, 991, 991, 606, - /* 1440 */ 991, 604, 608, 991, 991, 603, 46, 153, 158, 991, - /* 1450 */ 991, 609, 991, 246, 529, 612, 269, 607, 991, 991, - /* 1460 */ 606, 991, 604, 608, 311, 529, 603, 46, 153, 158, - /* 1470 */ 991, 991, 246, 991, 991, 288, 561, 991, 609, 991, - /* 1480 */ 991, 991, 612, 406, 607, 991, 991, 606, 991, 604, - /* 1490 */ 608, 246, 991, 603, 46, 153, 158, 991, 991, 609, - /* 1500 */ 991, 991, 991, 612, 405, 607, 991, 991, 606, 991, - /* 1510 */ 604, 608, 246, 991, 603, 46, 153, 158, 991, 991, - /* 1520 */ 991, 991, 991, 609, 991, 991, 528, 612, 300, 607, - /* 1530 */ 991, 991, 606, 246, 604, 608, 991, 528, 603, 46, - /* 1540 */ 153, 158, 991, 991, 991, 991, 609, 991, 991, 991, - /* 1550 */ 612, 299, 607, 991, 991, 606, 991, 604, 608, 991, - /* 1560 */ 246, 603, 46, 153, 158, 991, 991, 609, 991, 991, - /* 1570 */ 991, 612, 298, 607, 991, 991, 606, 991, 604, 608, - /* 1580 */ 991, 246, 603, 46, 153, 158, 991, 991, 991, 991, - /* 1590 */ 366, 609, 991, 991, 991, 612, 297, 607, 991, 991, - /* 1600 */ 606, 366, 604, 608, 991, 246, 603, 46, 153, 158, - /* 1610 */ 991, 991, 991, 991, 991, 609, 991, 991, 991, 612, - /* 1620 */ 296, 607, 991, 991, 606, 991, 604, 608, 246, 991, - /* 1630 */ 603, 46, 153, 158, 991, 991, 609, 991, 991, 991, - /* 1640 */ 612, 295, 607, 991, 991, 606, 991, 604, 608, 246, - /* 1650 */ 991, 603, 46, 153, 158, 991, 991, 991, 991, 991, - /* 1660 */ 609, 991, 991, 991, 612, 294, 607, 991, 991, 606, - /* 1670 */ 991, 604, 608, 246, 991, 603, 46, 153, 158, 991, - /* 1680 */ 991, 991, 991, 609, 991, 991, 991, 612, 293, 607, - /* 1690 */ 991, 991, 606, 991, 604, 608, 991, 246, 603, 46, - /* 1700 */ 153, 158, 991, 991, 609, 991, 991, 991, 612, 292, - /* 1710 */ 607, 991, 991, 606, 991, 604, 608, 991, 246, 603, - /* 1720 */ 46, 153, 158, 609, 991, 991, 991, 612, 291, 607, - /* 1730 */ 991, 991, 606, 991, 604, 608, 991, 991, 603, 46, - /* 1740 */ 153, 158, 246, 609, 991, 991, 991, 612, 281, 607, - /* 1750 */ 991, 991, 606, 991, 604, 608, 991, 991, 603, 46, - /* 1760 */ 153, 158, 991, 991, 609, 246, 991, 991, 612, 268, - /* 1770 */ 607, 991, 991, 606, 991, 604, 608, 991, 991, 603, - /* 1780 */ 46, 153, 158, 991, 991, 991, 246, 991, 991, 991, - /* 1790 */ 991, 991, 609, 991, 991, 991, 612, 267, 607, 991, - /* 1800 */ 991, 606, 991, 604, 608, 246, 991, 603, 46, 153, - /* 1810 */ 158, 609, 991, 991, 991, 612, 266, 607, 991, 991, - /* 1820 */ 606, 991, 604, 608, 991, 246, 603, 46, 153, 158, - /* 1830 */ 991, 991, 609, 991, 991, 991, 612, 279, 607, 991, - /* 1840 */ 991, 606, 991, 604, 608, 991, 246, 603, 46, 153, - /* 1850 */ 158, 609, 991, 991, 991, 612, 278, 607, 991, 991, - /* 1860 */ 606, 991, 604, 608, 991, 991, 603, 46, 153, 158, - /* 1870 */ 991, 609, 991, 991, 246, 612, 264, 607, 991, 991, - /* 1880 */ 606, 991, 604, 608, 991, 991, 603, 46, 153, 158, - /* 1890 */ 991, 991, 609, 246, 991, 991, 612, 263, 607, 991, - /* 1900 */ 991, 606, 991, 604, 608, 991, 991, 603, 46, 153, - /* 1910 */ 158, 991, 991, 991, 246, 991, 991, 991, 991, 991, - /* 1920 */ 609, 991, 991, 991, 612, 262, 607, 991, 991, 606, - /* 1930 */ 991, 604, 608, 246, 991, 603, 46, 153, 158, 609, - /* 1940 */ 991, 991, 991, 612, 261, 607, 991, 991, 606, 991, - /* 1950 */ 604, 608, 991, 246, 603, 46, 153, 158, 991, 991, - /* 1960 */ 609, 991, 991, 991, 612, 277, 607, 991, 991, 606, - /* 1970 */ 991, 604, 608, 991, 246, 603, 46, 153, 158, 609, - /* 1980 */ 991, 991, 991, 612, 150, 607, 991, 991, 606, 991, - /* 1990 */ 604, 608, 991, 991, 603, 46, 153, 158, 991, 609, - /* 2000 */ 991, 991, 246, 612, 149, 607, 991, 991, 606, 991, - /* 2010 */ 604, 608, 991, 991, 603, 46, 153, 158, 991, 991, - /* 2020 */ 609, 246, 991, 991, 612, 260, 607, 991, 991, 606, - /* 2030 */ 991, 604, 608, 991, 991, 603, 46, 153, 158, 991, - /* 2040 */ 991, 991, 246, 991, 991, 991, 991, 991, 609, 991, - /* 2050 */ 991, 991, 612, 259, 607, 991, 991, 606, 991, 604, - /* 2060 */ 608, 246, 991, 603, 46, 153, 158, 609, 991, 991, - /* 2070 */ 991, 612, 258, 607, 991, 991, 606, 991, 604, 608, - /* 2080 */ 991, 246, 603, 46, 153, 158, 991, 991, 609, 991, - /* 2090 */ 991, 991, 612, 148, 607, 991, 991, 606, 991, 604, - /* 2100 */ 608, 991, 246, 603, 46, 153, 158, 609, 991, 991, - /* 2110 */ 991, 612, 276, 607, 991, 991, 606, 991, 604, 608, - /* 2120 */ 991, 991, 603, 46, 153, 158, 991, 609, 991, 991, - /* 2130 */ 246, 612, 257, 607, 991, 991, 606, 991, 604, 608, - /* 2140 */ 991, 991, 603, 46, 153, 158, 991, 991, 609, 246, - /* 2150 */ 991, 991, 612, 275, 607, 991, 991, 606, 991, 604, - /* 2160 */ 608, 991, 991, 603, 46, 153, 158, 991, 991, 991, - /* 2170 */ 246, 991, 991, 991, 991, 991, 609, 991, 991, 991, - /* 2180 */ 612, 274, 607, 991, 991, 606, 991, 604, 608, 246, - /* 2190 */ 991, 603, 46, 153, 158, 609, 991, 991, 991, 612, - /* 2200 */ 273, 607, 991, 991, 606, 991, 604, 608, 991, 246, - /* 2210 */ 603, 46, 153, 158, 991, 991, 609, 991, 991, 991, - /* 2220 */ 612, 147, 607, 991, 991, 606, 991, 604, 608, 991, - /* 2230 */ 246, 603, 46, 153, 158, 609, 991, 991, 991, 612, - /* 2240 */ 271, 607, 309, 362, 606, 991, 604, 608, 991, 991, - /* 2250 */ 603, 46, 153, 158, 991, 991, 991, 991, 246, 991, - /* 2260 */ 34, 991, 7, 991, 991, 475, 127, 474, 477, 991, - /* 2270 */ 473, 991, 220, 622, 476, 116, 991, 246, 991, 363, - /* 2280 */ 991, 991, 621, 33, 991, 609, 453, 991, 991, 612, - /* 2290 */ 991, 607, 991, 991, 606, 991, 604, 608, 246, 991, - /* 2300 */ 603, 46, 283, 158, 991, 991, 991, 510, 991, 255, - /* 2310 */ 609, 128, 991, 166, 612, 253, 607, 246, 991, 606, - /* 2320 */ 211, 604, 608, 991, 991, 603, 46, 402, 158, 609, - /* 2330 */ 991, 991, 991, 612, 136, 607, 991, 991, 606, 991, - /* 2340 */ 604, 608, 991, 991, 603, 46, 401, 158, 609, 991, - /* 2350 */ 991, 991, 612, 991, 607, 991, 991, 606, 991, 604, - /* 2360 */ 608, 991, 991, 603, 46, 400, 158, 246, 609, 991, - /* 2370 */ 991, 991, 612, 991, 607, 991, 991, 606, 991, 604, - /* 2380 */ 608, 991, 991, 603, 46, 399, 158, 991, 991, 991, - /* 2390 */ 609, 991, 246, 991, 612, 991, 607, 991, 991, 606, - /* 2400 */ 991, 604, 608, 991, 991, 603, 46, 398, 158, 991, - /* 2410 */ 609, 246, 991, 991, 612, 991, 607, 991, 991, 606, - /* 2420 */ 991, 604, 608, 991, 991, 603, 46, 397, 158, 609, - /* 2430 */ 246, 991, 991, 612, 991, 607, 991, 991, 606, 991, - /* 2440 */ 604, 608, 991, 991, 603, 46, 287, 158, 609, 991, - /* 2450 */ 246, 991, 612, 991, 607, 991, 991, 606, 991, 604, - /* 2460 */ 608, 991, 991, 603, 46, 286, 158, 991, 991, 609, - /* 2470 */ 991, 991, 246, 612, 991, 607, 991, 991, 606, 991, - /* 2480 */ 604, 608, 991, 991, 603, 46, 146, 158, 991, 991, - /* 2490 */ 991, 609, 246, 991, 991, 612, 991, 607, 991, 991, - /* 2500 */ 606, 991, 604, 608, 991, 991, 603, 46, 145, 158, - /* 2510 */ 991, 246, 991, 991, 991, 991, 991, 991, 991, 991, - /* 2520 */ 609, 991, 991, 991, 612, 991, 607, 991, 991, 606, - /* 2530 */ 246, 604, 608, 991, 991, 603, 46, 152, 158, 991, - /* 2540 */ 991, 991, 991, 991, 609, 991, 991, 991, 612, 991, - /* 2550 */ 607, 246, 991, 606, 991, 604, 608, 991, 991, 603, - /* 2560 */ 46, 284, 158, 609, 991, 991, 991, 612, 991, 607, - /* 2570 */ 991, 991, 606, 246, 604, 608, 991, 991, 603, 46, - /* 2580 */ 285, 158, 609, 991, 991, 991, 612, 991, 607, 991, - /* 2590 */ 991, 606, 991, 604, 608, 991, 991, 603, 46, 991, - /* 2600 */ 156, 609, 246, 991, 991, 612, 991, 607, 991, 991, - /* 2610 */ 606, 991, 604, 608, 991, 991, 603, 46, 991, 155, - /* 2620 */ 991, 991, 991, 991, 69, 70, 246, 991, 73, 71, - /* 2630 */ 72, 74, 991, 991, 76, 75, 991, 991, 991, 578, - /* 2640 */ 635, 991, 590, 636, 991, 246, 637, 642, 641, 991, - /* 2650 */ 640, 639, 991, 991, 991, 991, 991, 991, 577, 635, - /* 2660 */ 991, 991, 636, 991, 246, 637, 642, 641, 991, 640, - /* 2670 */ 639, 991, 991, 991, 991, 991, 991, 575, 635, 991, - /* 2680 */ 991, 636, 991, 246, 637, 642, 641, 991, 640, 639, - /* 2690 */ 574, 635, 991, 991, 636, 991, 991, 637, 642, 641, - /* 2700 */ 991, 640, 639, 227, 635, 991, 991, 636, 991, 991, - /* 2710 */ 637, 642, 641, 991, 640, 639, 991, 991, 349, 635, - /* 2720 */ 991, 991, 636, 991, 991, 637, 642, 641, 991, 640, - /* 2730 */ 639, + /* 0 */ 77, 78, 614, 67, 68, 45, 380, 71, 69, 70, + /* 10 */ 72, 248, 79, 74, 73, 16, 42, 583, 396, 395, + /* 20 */ 75, 483, 482, 388, 368, 599, 57, 56, 450, 602, + /* 30 */ 268, 597, 60, 35, 596, 379, 594, 598, 66, 89, + /* 40 */ 593, 44, 153, 158, 559, 619, 618, 113, 112, 569, + /* 50 */ 77, 78, 203, 550, 612, 168, 523, 249, 110, 613, + /* 60 */ 306, 15, 79, 611, 108, 16, 42, 175, 621, 606, + /* 70 */ 449, 525, 159, 388, 301, 378, 608, 607, 605, 604, + /* 80 */ 603, 405, 408, 183, 409, 179, 407, 169, 66, 387, + /* 90 */ 87, 978, 118, 403, 203, 619, 618, 113, 112, 401, + /* 100 */ 77, 78, 612, 544, 612, 60, 518, 244, 535, 613, + /* 110 */ 170, 611, 79, 611, 144, 16, 42, 549, 39, 606, + /* 120 */ 396, 395, 75, 388, 301, 82, 608, 607, 605, 604, + /* 130 */ 603, 524, 467, 454, 466, 469, 864, 465, 66, 387, + /* 140 */ 350, 468, 526, 234, 633, 619, 618, 396, 348, 75, + /* 150 */ 77, 78, 73, 132, 612, 467, 470, 466, 469, 613, + /* 160 */ 465, 311, 79, 611, 468, 16, 42, 346, 616, 606, + /* 170 */ 447, 122, 333, 388, 247, 224, 608, 607, 605, 604, + /* 180 */ 603, 467, 464, 466, 469, 550, 465, 550, 66, 387, + /* 190 */ 468, 227, 167, 113, 112, 619, 618, 113, 112, 557, + /* 200 */ 77, 78, 516, 346, 612, 467, 463, 466, 469, 613, + /* 210 */ 465, 39, 79, 611, 468, 16, 42, 359, 237, 606, + /* 220 */ 864, 122, 442, 312, 445, 615, 608, 607, 605, 604, + /* 230 */ 603, 367, 365, 361, 402, 731, 111, 545, 66, 387, + /* 240 */ 405, 209, 171, 373, 170, 619, 618, 337, 154, 549, + /* 250 */ 102, 549, 644, 251, 612, 777, 510, 334, 36, 613, + /* 260 */ 67, 68, 250, 611, 71, 69, 70, 72, 479, 606, + /* 270 */ 74, 73, 137, 144, 114, 344, 608, 607, 605, 604, + /* 280 */ 603, 589, 587, 590, 131, 585, 584, 588, 591, 387, + /* 290 */ 586, 67, 68, 514, 130, 71, 69, 70, 72, 609, + /* 300 */ 125, 74, 73, 777, 115, 154, 222, 620, 510, 23, + /* 310 */ 114, 473, 386, 510, 402, 496, 495, 494, 493, 492, + /* 320 */ 491, 490, 489, 488, 487, 2, 302, 512, 569, 322, + /* 330 */ 129, 318, 165, 373, 163, 623, 245, 243, 576, 575, + /* 340 */ 242, 240, 543, 527, 315, 451, 223, 29, 154, 215, + /* 350 */ 356, 236, 625, 19, 26, 626, 510, 3, 627, 632, + /* 360 */ 631, 521, 630, 629, 642, 162, 161, 343, 218, 5, + /* 370 */ 385, 286, 496, 495, 494, 493, 492, 491, 490, 489, + /* 380 */ 488, 487, 2, 71, 69, 70, 72, 129, 43, 74, + /* 390 */ 73, 431, 154, 355, 432, 430, 525, 433, 632, 631, + /* 400 */ 510, 630, 629, 41, 428, 39, 14, 204, 12, 134, + /* 410 */ 517, 13, 84, 107, 3, 496, 495, 494, 493, 492, + /* 420 */ 491, 490, 489, 488, 487, 2, 550, 612, 642, 429, + /* 430 */ 129, 642, 542, 520, 67, 68, 611, 304, 71, 69, + /* 440 */ 70, 72, 154, 298, 74, 73, 103, 335, 521, 40, + /* 450 */ 510, 39, 581, 63, 190, 521, 216, 3, 232, 496, + /* 460 */ 495, 494, 493, 492, 491, 490, 489, 488, 487, 2, + /* 470 */ 435, 67, 68, 335, 129, 71, 69, 70, 72, 91, + /* 480 */ 335, 74, 73, 434, 90, 154, 223, 354, 421, 580, + /* 490 */ 548, 640, 316, 510, 563, 559, 362, 641, 639, 638, + /* 500 */ 39, 3, 637, 636, 635, 634, 117, 229, 238, 496, + /* 510 */ 495, 494, 493, 492, 491, 490, 489, 488, 487, 2, + /* 520 */ 522, 121, 85, 521, 129, 185, 378, 519, 186, 154, + /* 530 */ 352, 401, 39, 309, 569, 331, 503, 510, 246, 164, + /* 540 */ 174, 623, 245, 243, 576, 575, 242, 240, 10, 349, + /* 550 */ 562, 3, 496, 495, 494, 493, 492, 491, 490, 489, + /* 560 */ 488, 487, 2, 330, 308, 551, 556, 129, 39, 628, + /* 570 */ 625, 173, 172, 626, 486, 100, 627, 632, 631, 154, + /* 580 */ 630, 629, 413, 362, 39, 182, 39, 510, 551, 425, + /* 590 */ 362, 202, 310, 98, 3, 520, 496, 495, 494, 493, + /* 600 */ 492, 491, 490, 489, 488, 487, 2, 135, 76, 377, + /* 610 */ 329, 129, 467, 462, 466, 469, 299, 465, 415, 297, + /* 620 */ 199, 468, 154, 376, 485, 375, 21, 558, 624, 625, + /* 630 */ 510, 560, 626, 529, 374, 627, 632, 631, 3, 630, + /* 640 */ 629, 120, 24, 126, 369, 140, 496, 495, 494, 493, + /* 650 */ 492, 491, 490, 489, 488, 487, 2, 529, 362, 14, + /* 660 */ 204, 129, 228, 353, 13, 378, 327, 351, 231, 53, + /* 670 */ 51, 54, 47, 49, 48, 52, 55, 46, 50, 14, + /* 680 */ 204, 57, 56, 230, 13, 402, 332, 60, 3, 496, + /* 690 */ 495, 494, 493, 492, 491, 490, 489, 488, 487, 2, + /* 700 */ 467, 461, 466, 469, 129, 465, 14, 204, 225, 468, + /* 710 */ 642, 13, 366, 188, 642, 315, 363, 444, 617, 364, + /* 720 */ 53, 51, 54, 47, 49, 48, 52, 55, 46, 50, + /* 730 */ 109, 3, 57, 56, 104, 360, 541, 106, 60, 515, + /* 740 */ 357, 221, 9, 20, 478, 477, 476, 601, 370, 27, + /* 750 */ 116, 220, 217, 212, 32, 637, 636, 635, 634, 117, + /* 760 */ 207, 18, 9, 20, 478, 477, 476, 347, 866, 206, + /* 770 */ 80, 25, 205, 342, 97, 637, 636, 635, 634, 117, + /* 780 */ 460, 201, 95, 160, 92, 336, 93, 198, 331, 9, + /* 790 */ 20, 478, 477, 476, 453, 197, 193, 192, 136, 426, + /* 800 */ 324, 187, 637, 636, 635, 634, 117, 189, 331, 323, + /* 810 */ 53, 51, 54, 47, 49, 48, 52, 55, 46, 50, + /* 820 */ 418, 321, 57, 56, 467, 459, 466, 469, 60, 465, + /* 830 */ 184, 416, 177, 468, 319, 331, 180, 176, 123, 58, + /* 840 */ 317, 53, 51, 54, 47, 49, 48, 52, 55, 46, + /* 850 */ 50, 441, 8, 57, 56, 196, 11, 643, 642, 60, + /* 860 */ 143, 53, 51, 54, 47, 49, 48, 52, 55, 46, + /* 870 */ 50, 325, 400, 57, 56, 39, 67, 68, 61, 60, + /* 880 */ 71, 69, 70, 72, 582, 622, 74, 73, 595, 21, + /* 890 */ 53, 51, 54, 47, 49, 48, 52, 55, 46, 50, + /* 900 */ 577, 574, 57, 56, 467, 458, 466, 469, 60, 465, + /* 910 */ 241, 573, 572, 468, 59, 239, 566, 578, 235, 53, + /* 920 */ 51, 54, 47, 49, 48, 52, 55, 46, 50, 37, + /* 930 */ 86, 57, 56, 119, 83, 569, 561, 60, 467, 457, + /* 940 */ 466, 469, 600, 465, 233, 141, 540, 468, 38, 105, + /* 950 */ 53, 51, 54, 47, 49, 48, 52, 55, 46, 50, + /* 960 */ 81, 533, 57, 56, 530, 115, 536, 539, 60, 359, + /* 970 */ 467, 456, 466, 469, 538, 465, 445, 537, 571, 468, + /* 980 */ 53, 51, 54, 47, 49, 48, 52, 55, 46, 50, + /* 990 */ 384, 599, 57, 56, 532, 602, 278, 597, 60, 253, + /* 1000 */ 596, 367, 594, 598, 531, 251, 593, 44, 153, 158, + /* 1010 */ 28, 528, 142, 254, 53, 51, 54, 47, 49, 48, + /* 1020 */ 52, 55, 46, 50, 137, 513, 57, 56, 508, 507, + /* 1030 */ 214, 506, 60, 27, 53, 51, 54, 47, 49, 48, + /* 1040 */ 52, 55, 46, 50, 505, 504, 57, 56, 4, 213, + /* 1050 */ 500, 498, 60, 497, 53, 51, 54, 47, 49, 48, + /* 1060 */ 52, 55, 46, 50, 208, 1, 57, 56, 484, 14, + /* 1070 */ 204, 480, 60, 244, 13, 467, 455, 466, 469, 472, + /* 1080 */ 465, 211, 446, 139, 468, 303, 452, 448, 99, 6, + /* 1090 */ 96, 53, 51, 54, 47, 49, 48, 52, 55, 46, + /* 1100 */ 50, 438, 195, 57, 56, 443, 252, 440, 194, 60, + /* 1110 */ 124, 439, 437, 436, 31, 191, 53, 51, 54, 47, + /* 1120 */ 49, 48, 52, 55, 46, 50, 599, 300, 57, 56, + /* 1130 */ 602, 427, 597, 326, 60, 596, 424, 594, 598, 17, + /* 1140 */ 423, 593, 44, 154, 157, 422, 420, 419, 417, 133, + /* 1150 */ 181, 510, 475, 20, 478, 477, 476, 414, 320, 412, + /* 1160 */ 411, 410, 406, 30, 154, 637, 636, 635, 634, 117, + /* 1170 */ 599, 178, 510, 521, 602, 151, 597, 88, 399, 596, + /* 1180 */ 404, 594, 598, 285, 547, 593, 44, 153, 158, 382, + /* 1190 */ 381, 546, 372, 371, 467, 200, 466, 469, 331, 465, + /* 1200 */ 534, 642, 338, 468, 499, 101, 22, 339, 244, 94, + /* 1210 */ 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, + /* 1220 */ 509, 467, 127, 466, 469, 129, 465, 340, 341, 138, + /* 1230 */ 468, 496, 495, 494, 493, 492, 491, 490, 489, 488, + /* 1240 */ 487, 481, 62, 383, 599, 520, 129, 610, 602, 278, + /* 1250 */ 597, 592, 244, 596, 512, 594, 598, 501, 471, 593, + /* 1260 */ 44, 153, 158, 555, 53, 51, 54, 47, 49, 48, + /* 1270 */ 52, 55, 46, 50, 553, 314, 57, 56, 554, 599, + /* 1280 */ 65, 511, 60, 602, 151, 597, 474, 64, 596, 328, + /* 1290 */ 594, 598, 979, 979, 593, 44, 153, 158, 599, 305, + /* 1300 */ 358, 521, 602, 276, 597, 979, 979, 596, 362, 594, + /* 1310 */ 598, 307, 979, 593, 44, 153, 158, 34, 979, 7, + /* 1320 */ 979, 979, 979, 979, 979, 979, 244, 979, 979, 219, + /* 1330 */ 612, 979, 979, 979, 570, 625, 979, 313, 626, 611, + /* 1340 */ 33, 627, 632, 631, 569, 630, 629, 979, 246, 979, + /* 1350 */ 174, 623, 245, 243, 576, 575, 242, 240, 979, 979, + /* 1360 */ 979, 244, 979, 979, 502, 979, 979, 979, 128, 979, + /* 1370 */ 166, 979, 979, 520, 979, 979, 642, 210, 979, 979, + /* 1380 */ 244, 173, 172, 552, 599, 979, 979, 979, 602, 261, + /* 1390 */ 597, 979, 979, 596, 979, 594, 598, 979, 979, 593, + /* 1400 */ 44, 153, 158, 599, 979, 979, 521, 602, 579, 597, + /* 1410 */ 979, 979, 596, 979, 594, 598, 284, 979, 593, 44, + /* 1420 */ 153, 158, 599, 979, 979, 979, 602, 266, 597, 979, + /* 1430 */ 979, 596, 979, 594, 598, 979, 362, 593, 44, 153, + /* 1440 */ 158, 599, 979, 979, 979, 602, 265, 597, 979, 979, + /* 1450 */ 596, 979, 594, 598, 979, 979, 593, 44, 153, 158, + /* 1460 */ 979, 979, 979, 979, 979, 599, 244, 979, 979, 602, + /* 1470 */ 398, 597, 979, 979, 596, 979, 594, 598, 520, 979, + /* 1480 */ 593, 44, 153, 158, 599, 244, 979, 979, 602, 397, + /* 1490 */ 597, 979, 979, 596, 979, 594, 598, 979, 979, 593, + /* 1500 */ 44, 153, 158, 979, 244, 979, 979, 979, 979, 599, + /* 1510 */ 979, 979, 979, 602, 296, 597, 979, 979, 596, 979, + /* 1520 */ 594, 598, 979, 244, 593, 44, 153, 158, 599, 979, + /* 1530 */ 979, 979, 602, 295, 597, 979, 979, 596, 979, 594, + /* 1540 */ 598, 362, 979, 593, 44, 153, 158, 244, 979, 979, + /* 1550 */ 979, 979, 979, 979, 979, 979, 599, 979, 979, 979, + /* 1560 */ 602, 294, 597, 979, 979, 596, 244, 594, 598, 979, + /* 1570 */ 979, 593, 44, 153, 158, 979, 979, 979, 599, 979, + /* 1580 */ 979, 979, 602, 293, 597, 979, 979, 596, 979, 594, + /* 1590 */ 598, 244, 979, 593, 44, 153, 158, 599, 979, 979, + /* 1600 */ 979, 602, 292, 597, 979, 979, 596, 979, 594, 598, + /* 1610 */ 244, 979, 593, 44, 153, 158, 599, 979, 979, 979, + /* 1620 */ 602, 291, 597, 979, 979, 596, 979, 594, 598, 979, + /* 1630 */ 979, 593, 44, 153, 158, 979, 979, 599, 244, 979, + /* 1640 */ 979, 602, 290, 597, 979, 979, 596, 979, 594, 598, + /* 1650 */ 979, 979, 593, 44, 153, 158, 979, 979, 979, 979, + /* 1660 */ 244, 979, 979, 979, 979, 599, 979, 979, 979, 602, + /* 1670 */ 289, 597, 979, 979, 596, 979, 594, 598, 979, 244, + /* 1680 */ 593, 44, 153, 158, 599, 979, 979, 979, 602, 288, + /* 1690 */ 597, 979, 979, 596, 979, 594, 598, 979, 244, 593, + /* 1700 */ 44, 153, 158, 979, 979, 979, 599, 979, 979, 979, + /* 1710 */ 602, 287, 597, 979, 979, 596, 979, 594, 598, 244, + /* 1720 */ 979, 593, 44, 153, 158, 599, 979, 979, 979, 602, + /* 1730 */ 277, 597, 979, 979, 596, 979, 594, 598, 979, 979, + /* 1740 */ 593, 44, 153, 158, 599, 979, 979, 244, 602, 264, + /* 1750 */ 597, 979, 979, 596, 979, 594, 598, 979, 979, 593, + /* 1760 */ 44, 153, 158, 979, 979, 599, 244, 979, 979, 602, + /* 1770 */ 263, 597, 979, 979, 596, 979, 594, 598, 979, 979, + /* 1780 */ 593, 44, 153, 158, 979, 979, 979, 979, 244, 979, + /* 1790 */ 979, 979, 979, 599, 979, 979, 979, 602, 262, 597, + /* 1800 */ 979, 979, 596, 979, 594, 598, 979, 244, 593, 44, + /* 1810 */ 153, 158, 599, 979, 979, 979, 602, 275, 597, 979, + /* 1820 */ 979, 596, 979, 594, 598, 979, 244, 593, 44, 153, + /* 1830 */ 158, 979, 979, 979, 599, 979, 979, 979, 602, 274, + /* 1840 */ 597, 979, 979, 596, 979, 594, 598, 244, 979, 593, + /* 1850 */ 44, 153, 158, 599, 979, 979, 979, 602, 260, 597, + /* 1860 */ 979, 979, 596, 979, 594, 598, 979, 979, 593, 44, + /* 1870 */ 153, 158, 599, 979, 979, 244, 602, 259, 597, 979, + /* 1880 */ 979, 596, 979, 594, 598, 979, 979, 593, 44, 153, + /* 1890 */ 158, 979, 979, 599, 244, 979, 979, 602, 273, 597, + /* 1900 */ 979, 979, 596, 979, 594, 598, 979, 979, 593, 44, + /* 1910 */ 153, 158, 979, 979, 979, 979, 244, 979, 979, 979, + /* 1920 */ 979, 599, 979, 979, 979, 602, 150, 597, 979, 979, + /* 1930 */ 596, 979, 594, 598, 979, 244, 593, 44, 153, 158, + /* 1940 */ 599, 979, 979, 979, 602, 149, 597, 979, 979, 596, + /* 1950 */ 979, 594, 598, 979, 244, 593, 44, 153, 158, 979, + /* 1960 */ 979, 979, 599, 979, 979, 979, 602, 258, 597, 979, + /* 1970 */ 979, 596, 979, 594, 598, 244, 979, 593, 44, 153, + /* 1980 */ 158, 599, 979, 979, 979, 602, 257, 597, 979, 979, + /* 1990 */ 596, 979, 594, 598, 979, 979, 593, 44, 153, 158, + /* 2000 */ 599, 979, 979, 244, 602, 256, 597, 979, 979, 596, + /* 2010 */ 979, 594, 598, 979, 979, 593, 44, 153, 158, 979, + /* 2020 */ 979, 599, 244, 979, 979, 602, 148, 597, 979, 979, + /* 2030 */ 596, 979, 594, 598, 979, 979, 593, 44, 153, 158, + /* 2040 */ 979, 979, 979, 979, 244, 979, 979, 979, 979, 599, + /* 2050 */ 979, 979, 979, 602, 272, 597, 979, 979, 596, 979, + /* 2060 */ 594, 598, 979, 244, 593, 44, 153, 158, 599, 979, + /* 2070 */ 979, 979, 602, 255, 597, 979, 979, 596, 979, 594, + /* 2080 */ 598, 979, 244, 593, 44, 153, 158, 979, 979, 979, + /* 2090 */ 599, 979, 979, 979, 602, 271, 597, 979, 979, 596, + /* 2100 */ 979, 594, 598, 244, 979, 593, 44, 153, 158, 599, + /* 2110 */ 979, 979, 979, 602, 270, 597, 979, 979, 596, 979, + /* 2120 */ 594, 598, 979, 979, 593, 44, 153, 158, 599, 979, + /* 2130 */ 979, 244, 602, 269, 597, 979, 979, 596, 979, 594, + /* 2140 */ 598, 979, 979, 593, 44, 153, 158, 979, 979, 599, + /* 2150 */ 244, 979, 979, 602, 147, 597, 979, 979, 596, 979, + /* 2160 */ 594, 598, 979, 979, 593, 44, 153, 158, 979, 979, + /* 2170 */ 979, 979, 244, 979, 979, 979, 979, 599, 305, 358, + /* 2180 */ 979, 602, 267, 597, 979, 979, 596, 979, 594, 598, + /* 2190 */ 979, 244, 593, 44, 153, 158, 34, 979, 7, 979, + /* 2200 */ 979, 979, 979, 979, 979, 979, 979, 979, 219, 612, + /* 2210 */ 244, 599, 979, 979, 979, 602, 979, 597, 611, 33, + /* 2220 */ 596, 979, 594, 598, 979, 979, 593, 44, 279, 158, + /* 2230 */ 979, 244, 979, 979, 979, 979, 979, 979, 979, 979, + /* 2240 */ 979, 979, 979, 502, 979, 979, 599, 128, 979, 166, + /* 2250 */ 602, 979, 597, 979, 979, 596, 210, 594, 598, 244, + /* 2260 */ 979, 593, 44, 394, 158, 599, 979, 979, 979, 602, + /* 2270 */ 979, 597, 979, 979, 596, 979, 594, 598, 979, 979, + /* 2280 */ 593, 44, 393, 158, 979, 979, 599, 979, 979, 979, + /* 2290 */ 602, 979, 597, 244, 979, 596, 979, 594, 598, 979, + /* 2300 */ 979, 593, 44, 392, 158, 599, 979, 979, 979, 602, + /* 2310 */ 979, 597, 979, 979, 596, 979, 594, 598, 979, 979, + /* 2320 */ 593, 44, 391, 158, 979, 979, 599, 979, 244, 979, + /* 2330 */ 602, 979, 597, 979, 979, 596, 979, 594, 598, 979, + /* 2340 */ 979, 593, 44, 390, 158, 599, 979, 244, 979, 602, + /* 2350 */ 979, 597, 979, 979, 596, 979, 594, 598, 979, 979, + /* 2360 */ 593, 44, 389, 158, 979, 979, 979, 979, 244, 979, + /* 2370 */ 979, 979, 979, 979, 599, 979, 979, 979, 602, 979, + /* 2380 */ 597, 979, 979, 596, 979, 594, 598, 244, 979, 593, + /* 2390 */ 44, 283, 158, 979, 979, 568, 625, 979, 979, 626, + /* 2400 */ 979, 979, 627, 632, 631, 599, 630, 629, 244, 602, + /* 2410 */ 979, 597, 979, 979, 596, 979, 594, 598, 979, 979, + /* 2420 */ 593, 44, 282, 158, 979, 599, 979, 244, 979, 602, + /* 2430 */ 979, 597, 979, 979, 596, 979, 594, 598, 979, 979, + /* 2440 */ 593, 44, 146, 158, 979, 979, 979, 979, 599, 979, + /* 2450 */ 979, 979, 602, 979, 597, 979, 244, 596, 979, 594, + /* 2460 */ 598, 979, 979, 593, 44, 145, 158, 979, 979, 979, + /* 2470 */ 979, 979, 979, 599, 979, 979, 979, 602, 979, 597, + /* 2480 */ 979, 979, 596, 979, 594, 598, 979, 244, 593, 44, + /* 2490 */ 152, 158, 567, 625, 979, 979, 626, 979, 979, 627, + /* 2500 */ 632, 631, 599, 630, 629, 979, 602, 244, 597, 979, + /* 2510 */ 979, 596, 979, 594, 598, 979, 979, 593, 44, 280, + /* 2520 */ 158, 979, 979, 979, 979, 979, 979, 979, 979, 979, + /* 2530 */ 244, 979, 979, 599, 979, 979, 979, 602, 979, 597, + /* 2540 */ 979, 979, 596, 979, 594, 598, 979, 979, 593, 44, + /* 2550 */ 281, 158, 979, 599, 979, 244, 979, 602, 979, 597, + /* 2560 */ 979, 979, 596, 979, 594, 598, 979, 979, 593, 44, + /* 2570 */ 599, 156, 979, 979, 602, 979, 597, 979, 979, 596, + /* 2580 */ 979, 594, 598, 979, 244, 593, 44, 979, 155, 979, + /* 2590 */ 565, 625, 979, 979, 626, 979, 979, 627, 632, 631, + /* 2600 */ 979, 630, 629, 979, 979, 979, 979, 979, 979, 979, + /* 2610 */ 979, 979, 979, 979, 979, 244, 564, 625, 979, 979, + /* 2620 */ 626, 979, 979, 627, 632, 631, 979, 630, 629, 226, + /* 2630 */ 625, 979, 979, 626, 979, 244, 627, 632, 631, 979, + /* 2640 */ 630, 629, 979, 979, 979, 979, 345, 625, 979, 979, + /* 2650 */ 626, 979, 244, 627, 632, 631, 979, 630, 629, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 11, 12, 28, 11, 12, 31, 66, 15, 16, 17, - /* 10 */ 18, 0, 23, 21, 22, 26, 27, 28, 24, 25, - /* 20 */ 26, 123, 124, 34, 125, 127, 13, 14, 80, 131, + /* 10 */ 18, 80, 23, 21, 22, 26, 27, 28, 24, 25, + /* 20 */ 26, 123, 124, 34, 125, 127, 13, 14, 167, 131, /* 30 */ 132, 133, 19, 39, 136, 95, 138, 139, 49, 30, - /* 40 */ 142, 143, 144, 145, 136, 56, 57, 19, 20, 34, - /* 50 */ 11, 12, 30, 31, 65, 40, 28, 236, 159, 70, - /* 60 */ 162, 240, 23, 74, 27, 26, 27, 129, 29, 80, - /* 70 */ 167, 34, 169, 34, 19, 20, 87, 88, 89, 90, - /* 80 */ 91, 242, 261, 262, 263, 264, 265, 72, 49, 100, - /* 90 */ 79, 252, 253, 254, 191, 56, 57, 19, 20, 33, - /* 100 */ 11, 12, 65, 179, 65, 34, 28, 209, 129, 70, - /* 110 */ 186, 74, 23, 74, 275, 26, 27, 193, 33, 80, - /* 120 */ 109, 183, 170, 34, 30, 31, 87, 88, 89, 90, - /* 130 */ 91, 94, 212, 213, 214, 215, 65, 217, 49, 100, - /* 140 */ 51, 221, 170, 164, 165, 56, 57, 113, 114, 115, - /* 150 */ 11, 12, 244, 245, 65, 212, 213, 214, 215, 70, - /* 160 */ 217, 182, 23, 74, 221, 26, 27, 168, 230, 80, - /* 170 */ 24, 25, 26, 34, 77, 78, 87, 88, 89, 90, - /* 180 */ 91, 212, 213, 214, 215, 29, 217, 31, 49, 100, - /* 190 */ 221, 34, 171, 19, 20, 56, 57, 24, 25, 26, + /* 40 */ 142, 143, 144, 145, 34, 56, 57, 19, 20, 34, + /* 50 */ 11, 12, 191, 129, 65, 40, 28, 235, 159, 70, + /* 60 */ 162, 239, 23, 74, 27, 26, 27, 33, 29, 80, + /* 70 */ 167, 34, 169, 34, 170, 65, 87, 88, 89, 90, + /* 80 */ 91, 241, 260, 261, 262, 263, 264, 72, 49, 100, + /* 90 */ 33, 251, 252, 253, 191, 56, 57, 19, 20, 129, + /* 100 */ 11, 12, 65, 179, 65, 19, 28, 209, 129, 70, + /* 110 */ 186, 74, 23, 74, 274, 26, 27, 193, 26, 80, + /* 120 */ 24, 25, 26, 34, 170, 33, 87, 88, 89, 90, + /* 130 */ 91, 94, 212, 213, 214, 215, 27, 217, 49, 100, + /* 140 */ 51, 221, 174, 164, 165, 56, 57, 24, 25, 26, + /* 150 */ 11, 12, 22, 183, 65, 212, 213, 214, 215, 70, + /* 160 */ 217, 182, 23, 74, 221, 26, 27, 136, 34, 80, + /* 170 */ 168, 267, 268, 34, 206, 207, 87, 88, 89, 90, + /* 180 */ 91, 212, 213, 214, 215, 129, 217, 129, 49, 100, + /* 190 */ 221, 30, 31, 19, 20, 56, 57, 19, 20, 229, /* 200 */ 11, 12, 28, 136, 65, 212, 213, 214, 215, 70, /* 210 */ 217, 26, 23, 74, 221, 26, 27, 62, 33, 80, - /* 220 */ 268, 269, 65, 34, 69, 174, 87, 88, 89, 90, - /* 230 */ 91, 74, 136, 212, 79, 19, 178, 179, 49, 100, - /* 240 */ 268, 269, 146, 34, 186, 56, 57, 27, 128, 28, - /* 250 */ 30, 193, 31, 98, 65, 256, 136, 206, 207, 70, - /* 260 */ 11, 12, 107, 74, 15, 16, 17, 18, 26, 80, - /* 270 */ 21, 22, 117, 177, 65, 33, 87, 88, 89, 90, - /* 280 */ 91, 1, 2, 3, 22, 5, 6, 7, 8, 100, - /* 290 */ 10, 11, 12, 173, 242, 15, 16, 17, 18, 50, - /* 300 */ 28, 21, 22, 31, 208, 128, 254, 30, 31, 27, - /* 310 */ 34, 244, 245, 136, 27, 195, 196, 197, 198, 199, - /* 320 */ 200, 201, 202, 203, 204, 205, 32, 275, 34, 167, - /* 330 */ 210, 34, 38, 27, 40, 41, 42, 43, 44, 45, - /* 340 */ 46, 47, 15, 16, 17, 18, 136, 180, 21, 22, - /* 350 */ 173, 31, 128, 191, 149, 150, 151, 152, 238, 154, - /* 360 */ 136, 30, 28, 128, 33, 71, 72, 73, 272, 134, - /* 370 */ 148, 136, 195, 196, 197, 198, 199, 200, 201, 202, - /* 380 */ 203, 204, 205, 28, 11, 12, 31, 210, 15, 16, - /* 390 */ 17, 18, 27, 111, 21, 22, 229, 173, 128, 30, - /* 400 */ 31, 34, 29, 30, 136, 38, 136, 40, 41, 42, - /* 410 */ 43, 44, 45, 46, 47, 238, 34, 111, 208, 195, - /* 420 */ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - /* 430 */ 63, 111, 34, 28, 210, 185, 31, 27, 71, 72, - /* 440 */ 235, 28, 128, 173, 31, 111, 241, 242, 243, 157, - /* 450 */ 136, 246, 247, 248, 249, 250, 28, 26, 60, 31, - /* 460 */ 39, 58, 238, 65, 33, 195, 196, 197, 198, 199, - /* 470 */ 200, 201, 202, 203, 204, 205, 208, 110, 26, 257, - /* 480 */ 210, 231, 272, 26, 279, 33, 83, 173, 85, 128, - /* 490 */ 33, 26, 211, 212, 101, 26, 215, 136, 33, 218, - /* 500 */ 219, 220, 33, 222, 223, 160, 161, 30, 238, 195, + /* 220 */ 111, 267, 268, 34, 69, 34, 87, 88, 89, 90, + /* 230 */ 91, 113, 114, 115, 79, 0, 178, 179, 49, 100, + /* 240 */ 241, 148, 186, 129, 186, 56, 57, 30, 128, 193, + /* 250 */ 33, 193, 253, 98, 65, 27, 136, 255, 30, 70, + /* 260 */ 11, 12, 107, 74, 15, 16, 17, 18, 135, 80, + /* 270 */ 21, 22, 117, 274, 243, 244, 87, 88, 89, 90, + /* 280 */ 91, 1, 2, 3, 31, 5, 6, 7, 8, 100, + /* 290 */ 10, 11, 12, 173, 180, 15, 16, 17, 18, 50, + /* 300 */ 128, 21, 22, 27, 58, 128, 134, 29, 136, 31, + /* 310 */ 243, 244, 27, 136, 79, 195, 196, 197, 198, 199, + /* 320 */ 200, 201, 202, 203, 204, 205, 32, 194, 34, 83, + /* 330 */ 210, 85, 38, 129, 40, 41, 42, 43, 44, 45, + /* 340 */ 46, 47, 228, 28, 109, 28, 31, 27, 128, 256, + /* 350 */ 173, 211, 212, 30, 31, 215, 136, 237, 218, 219, + /* 360 */ 220, 136, 222, 223, 111, 71, 72, 73, 77, 78, + /* 370 */ 34, 146, 195, 196, 197, 198, 199, 200, 201, 202, + /* 380 */ 203, 204, 205, 15, 16, 17, 18, 210, 101, 21, + /* 390 */ 22, 212, 128, 173, 215, 216, 34, 218, 219, 220, + /* 400 */ 136, 222, 223, 30, 225, 26, 149, 150, 151, 152, + /* 410 */ 28, 154, 33, 31, 237, 195, 196, 197, 198, 199, + /* 420 */ 200, 201, 202, 203, 204, 205, 129, 65, 111, 250, + /* 430 */ 210, 111, 228, 208, 11, 12, 74, 173, 15, 16, + /* 440 */ 17, 18, 128, 185, 21, 22, 30, 31, 136, 30, + /* 450 */ 136, 26, 29, 30, 275, 136, 157, 237, 33, 195, + /* 460 */ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + /* 470 */ 28, 11, 12, 31, 210, 15, 16, 17, 18, 30, + /* 480 */ 31, 21, 22, 28, 265, 128, 31, 173, 230, 29, + /* 490 */ 193, 234, 273, 136, 95, 34, 271, 240, 241, 242, + /* 500 */ 26, 237, 245, 246, 247, 248, 249, 33, 33, 195, /* 510 */ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - /* 520 */ 26, 111, 26, 266, 210, 175, 176, 33, 129, 33, - /* 530 */ 238, 274, 111, 127, 173, 128, 30, 131, 132, 133, - /* 540 */ 272, 171, 136, 136, 138, 139, 277, 278, 142, 143, - /* 550 */ 144, 145, 238, 175, 176, 34, 195, 196, 197, 198, - /* 560 */ 199, 200, 201, 202, 203, 204, 205, 258, 259, 163, - /* 570 */ 140, 210, 212, 213, 214, 215, 186, 217, 33, 128, - /* 580 */ 173, 221, 212, 193, 34, 135, 212, 136, 38, 34, - /* 590 */ 40, 41, 42, 43, 44, 45, 46, 47, 224, 238, - /* 600 */ 33, 66, 195, 196, 197, 198, 199, 200, 201, 202, - /* 610 */ 203, 204, 205, 95, 25, 209, 34, 210, 34, 24, - /* 620 */ 65, 71, 72, 30, 173, 25, 128, 79, 24, 230, - /* 630 */ 149, 150, 34, 34, 136, 154, 30, 156, 232, 36, - /* 640 */ 33, 120, 34, 35, 194, 238, 195, 196, 197, 198, - /* 650 */ 199, 200, 201, 202, 203, 204, 205, 109, 149, 150, - /* 660 */ 52, 210, 54, 154, 33, 156, 34, 33, 238, 27, - /* 670 */ 61, 173, 64, 65, 115, 212, 213, 214, 215, 33, - /* 680 */ 217, 27, 74, 75, 221, 149, 150, 27, 33, 238, - /* 690 */ 154, 27, 156, 195, 196, 197, 198, 199, 200, 201, - /* 700 */ 202, 203, 204, 205, 34, 34, 37, 99, 210, 36, - /* 710 */ 77, 103, 55, 105, 233, 234, 235, 236, 237, 111, - /* 720 */ 112, 39, 104, 104, 30, 53, 34, 246, 247, 248, - /* 730 */ 249, 250, 212, 213, 214, 215, 238, 217, 111, 30, - /* 740 */ 39, 221, 233, 234, 235, 236, 237, 59, 30, 34, - /* 750 */ 33, 93, 33, 33, 33, 246, 247, 248, 249, 250, - /* 760 */ 279, 34, 33, 30, 34, 97, 116, 33, 27, 233, - /* 770 */ 234, 235, 236, 237, 1, 68, 34, 27, 34, 36, - /* 780 */ 84, 106, 246, 247, 248, 249, 250, 82, 279, 34, - /* 790 */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - /* 800 */ 84, 34, 13, 14, 34, 211, 212, 108, 19, 215, - /* 810 */ 136, 239, 218, 219, 220, 279, 222, 223, 271, 30, - /* 820 */ 146, 1, 2, 3, 4, 5, 6, 7, 8, 9, - /* 830 */ 10, 270, 155, 13, 14, 111, 153, 240, 227, 19, - /* 840 */ 238, 1, 2, 3, 4, 5, 6, 7, 8, 9, - /* 850 */ 10, 238, 26, 13, 14, 212, 213, 214, 215, 19, - /* 860 */ 217, 27, 27, 141, 221, 157, 141, 141, 28, 189, - /* 870 */ 50, 96, 1, 2, 3, 4, 5, 6, 7, 8, - /* 880 */ 9, 10, 208, 192, 13, 14, 141, 189, 95, 192, - /* 890 */ 19, 137, 1, 2, 3, 4, 5, 6, 7, 8, - /* 900 */ 9, 10, 39, 238, 13, 14, 95, 11, 12, 181, - /* 910 */ 19, 15, 16, 17, 18, 86, 184, 21, 22, 28, - /* 920 */ 34, 1, 2, 3, 4, 5, 6, 7, 8, 9, - /* 930 */ 10, 229, 34, 13, 14, 212, 190, 174, 238, 19, - /* 940 */ 66, 238, 238, 212, 113, 49, 272, 212, 28, 212, + /* 520 */ 208, 60, 33, 136, 210, 28, 65, 208, 31, 128, + /* 530 */ 173, 129, 26, 146, 34, 278, 237, 136, 38, 33, + /* 540 */ 40, 41, 42, 43, 44, 45, 46, 47, 160, 161, + /* 550 */ 66, 237, 195, 196, 197, 198, 199, 200, 201, 202, + /* 560 */ 203, 204, 205, 63, 177, 175, 176, 210, 26, 211, + /* 570 */ 212, 71, 72, 215, 173, 33, 218, 219, 220, 128, + /* 580 */ 222, 223, 28, 271, 26, 31, 26, 136, 175, 176, + /* 590 */ 271, 33, 171, 33, 237, 208, 195, 196, 197, 198, + /* 600 */ 199, 200, 201, 202, 203, 204, 205, 276, 277, 25, + /* 610 */ 110, 210, 212, 213, 214, 215, 171, 217, 257, 258, + /* 620 */ 140, 221, 128, 34, 173, 24, 27, 34, 211, 212, + /* 630 */ 136, 229, 215, 212, 34, 218, 219, 220, 237, 222, + /* 640 */ 223, 30, 39, 30, 36, 27, 195, 196, 197, 198, + /* 650 */ 199, 200, 201, 202, 203, 204, 205, 212, 271, 149, + /* 660 */ 150, 210, 34, 34, 154, 65, 156, 173, 33, 1, + /* 670 */ 2, 3, 4, 5, 6, 7, 8, 9, 10, 149, + /* 680 */ 150, 13, 14, 33, 154, 79, 156, 19, 237, 195, + /* 690 */ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + /* 700 */ 212, 213, 214, 215, 210, 217, 149, 150, 61, 221, + /* 710 */ 111, 154, 33, 156, 111, 109, 33, 237, 50, 115, + /* 720 */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + /* 730 */ 27, 237, 13, 14, 27, 33, 212, 27, 19, 34, + /* 740 */ 34, 37, 232, 233, 234, 235, 236, 28, 224, 120, + /* 750 */ 36, 55, 77, 104, 39, 245, 246, 247, 248, 249, + /* 760 */ 104, 30, 232, 233, 234, 235, 236, 34, 111, 53, + /* 770 */ 30, 39, 59, 30, 33, 245, 246, 247, 248, 249, + /* 780 */ 34, 33, 33, 33, 30, 34, 33, 93, 278, 232, + /* 790 */ 233, 234, 235, 236, 34, 97, 116, 33, 27, 1, + /* 800 */ 34, 106, 245, 246, 247, 248, 249, 68, 278, 36, + /* 810 */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + /* 820 */ 27, 84, 13, 14, 212, 213, 214, 215, 19, 217, + /* 830 */ 34, 34, 108, 221, 82, 278, 34, 34, 269, 30, + /* 840 */ 84, 1, 2, 3, 4, 5, 6, 7, 8, 9, + /* 850 */ 10, 270, 238, 13, 14, 155, 239, 237, 111, 19, + /* 860 */ 237, 1, 2, 3, 4, 5, 6, 7, 8, 9, + /* 870 */ 10, 153, 227, 13, 14, 26, 11, 12, 27, 19, + /* 880 */ 15, 16, 17, 18, 157, 141, 21, 22, 28, 27, + /* 890 */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + /* 900 */ 141, 189, 13, 14, 212, 213, 214, 215, 19, 217, + /* 910 */ 141, 96, 189, 221, 49, 141, 95, 28, 137, 1, + /* 920 */ 2, 3, 4, 5, 6, 7, 8, 9, 10, 39, + /* 930 */ 192, 13, 14, 86, 192, 34, 237, 19, 212, 213, + /* 940 */ 214, 215, 102, 217, 181, 184, 212, 221, 30, 95, /* 950 */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - /* 960 */ 212, 148, 13, 14, 120, 147, 118, 255, 19, 212, - /* 970 */ 213, 214, 215, 102, 217, 147, 238, 238, 221, 30, - /* 980 */ 34, 1, 2, 3, 4, 5, 6, 7, 8, 9, - /* 990 */ 10, 238, 170, 13, 14, 34, 211, 212, 238, 19, - /* 1000 */ 215, 192, 238, 218, 219, 220, 238, 222, 223, 29, - /* 1010 */ 238, 1, 2, 3, 4, 5, 6, 7, 8, 9, - /* 1020 */ 10, 127, 238, 13, 14, 131, 132, 133, 238, 19, - /* 1030 */ 136, 192, 138, 139, 238, 238, 142, 143, 144, 145, - /* 1040 */ 30, 238, 1, 2, 3, 4, 5, 6, 7, 8, - /* 1050 */ 9, 10, 238, 238, 13, 14, 273, 238, 212, 238, - /* 1060 */ 19, 215, 216, 238, 218, 219, 220, 34, 222, 223, - /* 1070 */ 29, 225, 1, 2, 3, 4, 5, 6, 7, 8, - /* 1080 */ 9, 10, 126, 127, 13, 14, 168, 131, 132, 133, - /* 1090 */ 19, 238, 136, 238, 138, 139, 27, 251, 142, 143, - /* 1100 */ 144, 145, 238, 209, 33, 238, 1, 2, 3, 4, - /* 1110 */ 5, 6, 7, 8, 9, 10, 172, 27, 13, 14, - /* 1120 */ 170, 238, 276, 238, 19, 119, 1, 2, 3, 4, - /* 1130 */ 5, 6, 7, 8, 9, 10, 231, 175, 13, 14, - /* 1140 */ 238, 238, 34, 27, 19, 238, 1, 2, 3, 4, - /* 1150 */ 5, 6, 7, 8, 9, 10, 34, 260, 13, 14, - /* 1160 */ 136, 149, 150, 238, 19, 209, 154, 258, 211, 212, - /* 1170 */ 146, 238, 215, 28, 260, 218, 219, 220, 238, 222, - /* 1180 */ 223, 76, 188, 1, 2, 3, 4, 5, 6, 7, - /* 1190 */ 8, 9, 10, 238, 228, 13, 14, 238, 228, 228, - /* 1200 */ 193, 19, 238, 238, 228, 228, 81, 129, 1, 2, - /* 1210 */ 3, 4, 5, 6, 7, 8, 9, 10, 127, 238, - /* 1220 */ 13, 14, 131, 227, 133, 188, 19, 136, 227, 138, - /* 1230 */ 139, 227, 208, 142, 143, 128, 145, 188, 227, 194, - /* 1240 */ 238, 194, 226, 136, 130, 233, 234, 235, 236, 237, - /* 1250 */ 267, 238, 238, 238, 187, 48, 128, 238, 246, 247, - /* 1260 */ 248, 249, 250, 187, 136, 126, 127, 67, 34, 280, - /* 1270 */ 131, 132, 133, 280, 280, 136, 280, 138, 139, 280, - /* 1280 */ 280, 142, 143, 144, 145, 212, 213, 214, 215, 280, - /* 1290 */ 217, 279, 280, 111, 221, 280, 272, 158, 280, 280, - /* 1300 */ 209, 280, 195, 196, 197, 198, 199, 200, 201, 202, - /* 1310 */ 203, 204, 205, 212, 213, 214, 215, 210, 217, 280, - /* 1320 */ 280, 280, 221, 195, 196, 197, 198, 199, 200, 201, - /* 1330 */ 202, 203, 204, 205, 280, 280, 280, 280, 210, 280, - /* 1340 */ 280, 280, 280, 280, 280, 280, 280, 280, 209, 280, - /* 1350 */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - /* 1360 */ 280, 280, 13, 14, 212, 213, 214, 215, 19, 217, - /* 1370 */ 280, 127, 280, 221, 280, 131, 132, 133, 280, 280, - /* 1380 */ 136, 280, 138, 139, 280, 280, 142, 143, 144, 145, - /* 1390 */ 127, 280, 280, 280, 131, 132, 133, 280, 280, 136, - /* 1400 */ 280, 138, 139, 280, 280, 142, 143, 144, 145, 127, - /* 1410 */ 280, 280, 280, 131, 132, 133, 280, 280, 136, 280, - /* 1420 */ 138, 139, 280, 280, 142, 143, 144, 145, 280, 166, - /* 1430 */ 127, 280, 280, 280, 131, 132, 133, 280, 280, 136, - /* 1440 */ 280, 138, 139, 280, 280, 142, 143, 144, 145, 280, - /* 1450 */ 280, 127, 280, 209, 136, 131, 132, 133, 280, 280, - /* 1460 */ 136, 280, 138, 139, 146, 136, 142, 143, 144, 145, - /* 1470 */ 280, 280, 209, 280, 280, 146, 232, 280, 127, 280, - /* 1480 */ 280, 280, 131, 132, 133, 280, 280, 136, 280, 138, - /* 1490 */ 139, 209, 280, 142, 143, 144, 145, 280, 280, 127, - /* 1500 */ 280, 280, 280, 131, 132, 133, 280, 280, 136, 280, - /* 1510 */ 138, 139, 209, 280, 142, 143, 144, 145, 280, 280, - /* 1520 */ 280, 280, 280, 127, 280, 280, 208, 131, 132, 133, - /* 1530 */ 280, 280, 136, 209, 138, 139, 280, 208, 142, 143, - /* 1540 */ 144, 145, 280, 280, 280, 280, 127, 280, 280, 280, - /* 1550 */ 131, 132, 133, 280, 280, 136, 280, 138, 139, 280, - /* 1560 */ 209, 142, 143, 144, 145, 280, 280, 127, 280, 280, - /* 1570 */ 280, 131, 132, 133, 280, 280, 136, 280, 138, 139, - /* 1580 */ 280, 209, 142, 143, 144, 145, 280, 280, 280, 280, - /* 1590 */ 272, 127, 280, 280, 280, 131, 132, 133, 280, 280, - /* 1600 */ 136, 272, 138, 139, 280, 209, 142, 143, 144, 145, - /* 1610 */ 280, 280, 280, 280, 280, 127, 280, 280, 280, 131, - /* 1620 */ 132, 133, 280, 280, 136, 280, 138, 139, 209, 280, - /* 1630 */ 142, 143, 144, 145, 280, 280, 127, 280, 280, 280, - /* 1640 */ 131, 132, 133, 280, 280, 136, 280, 138, 139, 209, - /* 1650 */ 280, 142, 143, 144, 145, 280, 280, 280, 280, 280, - /* 1660 */ 127, 280, 280, 280, 131, 132, 133, 280, 280, 136, - /* 1670 */ 280, 138, 139, 209, 280, 142, 143, 144, 145, 280, - /* 1680 */ 280, 280, 280, 127, 280, 280, 280, 131, 132, 133, - /* 1690 */ 280, 280, 136, 280, 138, 139, 280, 209, 142, 143, - /* 1700 */ 144, 145, 280, 280, 127, 280, 280, 280, 131, 132, - /* 1710 */ 133, 280, 280, 136, 280, 138, 139, 280, 209, 142, - /* 1720 */ 143, 144, 145, 127, 280, 280, 280, 131, 132, 133, - /* 1730 */ 280, 280, 136, 280, 138, 139, 280, 280, 142, 143, - /* 1740 */ 144, 145, 209, 127, 280, 280, 280, 131, 132, 133, - /* 1750 */ 280, 280, 136, 280, 138, 139, 280, 280, 142, 143, - /* 1760 */ 144, 145, 280, 280, 127, 209, 280, 280, 131, 132, - /* 1770 */ 133, 280, 280, 136, 280, 138, 139, 280, 280, 142, - /* 1780 */ 143, 144, 145, 280, 280, 280, 209, 280, 280, 280, - /* 1790 */ 280, 280, 127, 280, 280, 280, 131, 132, 133, 280, - /* 1800 */ 280, 136, 280, 138, 139, 209, 280, 142, 143, 144, - /* 1810 */ 145, 127, 280, 280, 280, 131, 132, 133, 280, 280, - /* 1820 */ 136, 280, 138, 139, 280, 209, 142, 143, 144, 145, - /* 1830 */ 280, 280, 127, 280, 280, 280, 131, 132, 133, 280, - /* 1840 */ 280, 136, 280, 138, 139, 280, 209, 142, 143, 144, - /* 1850 */ 145, 127, 280, 280, 280, 131, 132, 133, 280, 280, - /* 1860 */ 136, 280, 138, 139, 280, 280, 142, 143, 144, 145, - /* 1870 */ 280, 127, 280, 280, 209, 131, 132, 133, 280, 280, - /* 1880 */ 136, 280, 138, 139, 280, 280, 142, 143, 144, 145, - /* 1890 */ 280, 280, 127, 209, 280, 280, 131, 132, 133, 280, - /* 1900 */ 280, 136, 280, 138, 139, 280, 280, 142, 143, 144, - /* 1910 */ 145, 280, 280, 280, 209, 280, 280, 280, 280, 280, - /* 1920 */ 127, 280, 280, 280, 131, 132, 133, 280, 280, 136, - /* 1930 */ 280, 138, 139, 209, 280, 142, 143, 144, 145, 127, - /* 1940 */ 280, 280, 280, 131, 132, 133, 280, 280, 136, 280, - /* 1950 */ 138, 139, 280, 209, 142, 143, 144, 145, 280, 280, - /* 1960 */ 127, 280, 280, 280, 131, 132, 133, 280, 280, 136, - /* 1970 */ 280, 138, 139, 280, 209, 142, 143, 144, 145, 127, - /* 1980 */ 280, 280, 280, 131, 132, 133, 280, 280, 136, 280, - /* 1990 */ 138, 139, 280, 280, 142, 143, 144, 145, 280, 127, - /* 2000 */ 280, 280, 209, 131, 132, 133, 280, 280, 136, 280, - /* 2010 */ 138, 139, 280, 280, 142, 143, 144, 145, 280, 280, - /* 2020 */ 127, 209, 280, 280, 131, 132, 133, 280, 280, 136, - /* 2030 */ 280, 138, 139, 280, 280, 142, 143, 144, 145, 280, - /* 2040 */ 280, 280, 209, 280, 280, 280, 280, 280, 127, 280, - /* 2050 */ 280, 280, 131, 132, 133, 280, 280, 136, 280, 138, - /* 2060 */ 139, 209, 280, 142, 143, 144, 145, 127, 280, 280, - /* 2070 */ 280, 131, 132, 133, 280, 280, 136, 280, 138, 139, - /* 2080 */ 280, 209, 142, 143, 144, 145, 280, 280, 127, 280, - /* 2090 */ 280, 280, 131, 132, 133, 280, 280, 136, 280, 138, - /* 2100 */ 139, 280, 209, 142, 143, 144, 145, 127, 280, 280, - /* 2110 */ 280, 131, 132, 133, 280, 280, 136, 280, 138, 139, - /* 2120 */ 280, 280, 142, 143, 144, 145, 280, 127, 280, 280, - /* 2130 */ 209, 131, 132, 133, 280, 280, 136, 280, 138, 139, - /* 2140 */ 280, 280, 142, 143, 144, 145, 280, 280, 127, 209, - /* 2150 */ 280, 280, 131, 132, 133, 280, 280, 136, 280, 138, - /* 2160 */ 139, 280, 280, 142, 143, 144, 145, 280, 280, 280, - /* 2170 */ 209, 280, 280, 280, 280, 280, 127, 280, 280, 280, - /* 2180 */ 131, 132, 133, 280, 280, 136, 280, 138, 139, 209, - /* 2190 */ 280, 142, 143, 144, 145, 127, 280, 280, 280, 131, - /* 2200 */ 132, 133, 280, 280, 136, 280, 138, 139, 280, 209, - /* 2210 */ 142, 143, 144, 145, 280, 280, 127, 280, 280, 280, - /* 2220 */ 131, 132, 133, 280, 280, 136, 280, 138, 139, 280, - /* 2230 */ 209, 142, 143, 144, 145, 127, 280, 280, 280, 131, - /* 2240 */ 132, 133, 34, 35, 136, 280, 138, 139, 280, 280, - /* 2250 */ 142, 143, 144, 145, 280, 280, 280, 280, 209, 280, - /* 2260 */ 52, 280, 54, 280, 280, 212, 213, 214, 215, 280, - /* 2270 */ 217, 280, 64, 65, 221, 58, 280, 209, 280, 62, - /* 2280 */ 280, 280, 74, 75, 280, 127, 69, 280, 280, 131, - /* 2290 */ 280, 133, 280, 280, 136, 280, 138, 139, 209, 280, - /* 2300 */ 142, 143, 144, 145, 280, 280, 280, 99, 280, 92, - /* 2310 */ 127, 103, 280, 105, 131, 98, 133, 209, 280, 136, - /* 2320 */ 112, 138, 139, 280, 280, 142, 143, 144, 145, 127, - /* 2330 */ 280, 280, 280, 131, 117, 133, 280, 280, 136, 280, - /* 2340 */ 138, 139, 280, 280, 142, 143, 144, 145, 127, 280, - /* 2350 */ 280, 280, 131, 280, 133, 280, 280, 136, 280, 138, - /* 2360 */ 139, 280, 280, 142, 143, 144, 145, 209, 127, 280, - /* 2370 */ 280, 280, 131, 280, 133, 280, 280, 136, 280, 138, - /* 2380 */ 139, 280, 280, 142, 143, 144, 145, 280, 280, 280, - /* 2390 */ 127, 280, 209, 280, 131, 280, 133, 280, 280, 136, - /* 2400 */ 280, 138, 139, 280, 280, 142, 143, 144, 145, 280, - /* 2410 */ 127, 209, 280, 280, 131, 280, 133, 280, 280, 136, - /* 2420 */ 280, 138, 139, 280, 280, 142, 143, 144, 145, 127, - /* 2430 */ 209, 280, 280, 131, 280, 133, 280, 280, 136, 280, - /* 2440 */ 138, 139, 280, 280, 142, 143, 144, 145, 127, 280, - /* 2450 */ 209, 280, 131, 280, 133, 280, 280, 136, 280, 138, - /* 2460 */ 139, 280, 280, 142, 143, 144, 145, 280, 280, 127, - /* 2470 */ 280, 280, 209, 131, 280, 133, 280, 280, 136, 280, - /* 2480 */ 138, 139, 280, 280, 142, 143, 144, 145, 280, 280, - /* 2490 */ 280, 127, 209, 280, 280, 131, 280, 133, 280, 280, - /* 2500 */ 136, 280, 138, 139, 280, 280, 142, 143, 144, 145, - /* 2510 */ 280, 209, 280, 280, 280, 280, 280, 280, 280, 280, - /* 2520 */ 127, 280, 280, 280, 131, 280, 133, 280, 280, 136, - /* 2530 */ 209, 138, 139, 280, 280, 142, 143, 144, 145, 280, - /* 2540 */ 280, 280, 280, 280, 127, 280, 280, 280, 131, 280, - /* 2550 */ 133, 209, 280, 136, 280, 138, 139, 280, 280, 142, - /* 2560 */ 143, 144, 145, 127, 280, 280, 280, 131, 280, 133, - /* 2570 */ 280, 280, 136, 209, 138, 139, 280, 280, 142, 143, - /* 2580 */ 144, 145, 127, 280, 280, 280, 131, 280, 133, 280, - /* 2590 */ 280, 136, 280, 138, 139, 280, 280, 142, 143, 280, - /* 2600 */ 145, 127, 209, 280, 280, 131, 280, 133, 280, 280, - /* 2610 */ 136, 280, 138, 139, 280, 280, 142, 143, 280, 145, - /* 2620 */ 280, 280, 280, 280, 11, 12, 209, 280, 15, 16, - /* 2630 */ 17, 18, 280, 280, 21, 22, 280, 280, 280, 211, - /* 2640 */ 212, 280, 29, 215, 280, 209, 218, 219, 220, 280, - /* 2650 */ 222, 223, 280, 280, 280, 280, 280, 280, 211, 212, - /* 2660 */ 280, 280, 215, 280, 209, 218, 219, 220, 280, 222, - /* 2670 */ 223, 280, 280, 280, 280, 280, 280, 211, 212, 280, - /* 2680 */ 280, 215, 280, 209, 218, 219, 220, 280, 222, 223, - /* 2690 */ 211, 212, 280, 280, 215, 280, 280, 218, 219, 220, - /* 2700 */ 280, 222, 223, 211, 212, 280, 280, 215, 280, 280, - /* 2710 */ 218, 219, 220, 280, 222, 223, 280, 280, 211, 212, - /* 2720 */ 280, 280, 215, 280, 280, 218, 219, 220, 280, 222, - /* 2730 */ 223, + /* 960 */ 190, 66, 13, 14, 174, 58, 237, 212, 19, 62, + /* 970 */ 212, 213, 214, 215, 212, 217, 69, 212, 29, 221, + /* 980 */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + /* 990 */ 126, 127, 13, 14, 237, 131, 132, 133, 19, 92, + /* 1000 */ 136, 113, 138, 139, 237, 98, 142, 143, 144, 145, + /* 1010 */ 118, 212, 33, 237, 1, 2, 3, 4, 5, 6, + /* 1020 */ 7, 8, 9, 10, 117, 237, 13, 14, 237, 237, + /* 1030 */ 148, 237, 19, 120, 1, 2, 3, 4, 5, 6, + /* 1040 */ 7, 8, 9, 10, 237, 237, 13, 14, 237, 147, + /* 1050 */ 237, 237, 19, 237, 1, 2, 3, 4, 5, 6, + /* 1060 */ 7, 8, 9, 10, 147, 237, 13, 14, 237, 149, + /* 1070 */ 150, 237, 19, 209, 154, 212, 213, 214, 215, 237, + /* 1080 */ 217, 28, 34, 254, 221, 170, 34, 237, 192, 76, + /* 1090 */ 192, 1, 2, 3, 4, 5, 6, 7, 8, 9, + /* 1100 */ 10, 34, 272, 13, 14, 237, 237, 237, 168, 19, + /* 1110 */ 27, 237, 237, 172, 81, 27, 1, 2, 3, 4, + /* 1120 */ 5, 6, 7, 8, 9, 10, 127, 170, 13, 14, + /* 1130 */ 131, 237, 133, 175, 19, 136, 237, 138, 139, 119, + /* 1140 */ 237, 142, 143, 128, 145, 34, 230, 237, 237, 27, + /* 1150 */ 259, 136, 232, 233, 234, 235, 236, 257, 34, 237, + /* 1160 */ 237, 237, 237, 48, 128, 245, 246, 247, 248, 249, + /* 1170 */ 127, 259, 136, 136, 131, 132, 133, 188, 227, 136, + /* 1180 */ 237, 138, 139, 146, 237, 142, 143, 144, 145, 227, + /* 1190 */ 227, 237, 227, 227, 212, 213, 214, 215, 278, 217, + /* 1200 */ 129, 111, 227, 221, 237, 188, 163, 227, 209, 188, + /* 1210 */ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + /* 1220 */ 205, 212, 213, 214, 215, 210, 217, 227, 227, 237, + /* 1230 */ 221, 195, 196, 197, 198, 199, 200, 201, 202, 203, + /* 1240 */ 204, 205, 226, 126, 127, 208, 210, 266, 131, 132, + /* 1250 */ 133, 194, 209, 136, 194, 138, 139, 130, 67, 142, + /* 1260 */ 143, 144, 145, 237, 1, 2, 3, 4, 5, 6, + /* 1270 */ 7, 8, 9, 10, 231, 158, 13, 14, 237, 127, + /* 1280 */ 187, 237, 19, 131, 132, 133, 237, 187, 136, 34, + /* 1290 */ 138, 139, 279, 279, 142, 143, 144, 145, 127, 34, + /* 1300 */ 35, 136, 131, 132, 133, 279, 279, 136, 271, 138, + /* 1310 */ 139, 146, 279, 142, 143, 144, 145, 52, 279, 54, + /* 1320 */ 279, 279, 279, 279, 279, 279, 209, 279, 279, 64, + /* 1330 */ 65, 279, 279, 279, 211, 212, 279, 166, 215, 74, + /* 1340 */ 75, 218, 219, 220, 34, 222, 223, 279, 38, 279, + /* 1350 */ 40, 41, 42, 43, 44, 45, 46, 47, 279, 279, + /* 1360 */ 279, 209, 279, 279, 99, 279, 279, 279, 103, 279, + /* 1370 */ 105, 279, 279, 208, 279, 279, 111, 112, 279, 279, + /* 1380 */ 209, 71, 72, 231, 127, 279, 279, 279, 131, 132, + /* 1390 */ 133, 279, 279, 136, 279, 138, 139, 279, 279, 142, + /* 1400 */ 143, 144, 145, 127, 279, 279, 136, 131, 132, 133, + /* 1410 */ 279, 279, 136, 279, 138, 139, 146, 279, 142, 143, + /* 1420 */ 144, 145, 127, 279, 279, 279, 131, 132, 133, 279, + /* 1430 */ 279, 136, 279, 138, 139, 279, 271, 142, 143, 144, + /* 1440 */ 145, 127, 279, 279, 279, 131, 132, 133, 279, 279, + /* 1450 */ 136, 279, 138, 139, 279, 279, 142, 143, 144, 145, + /* 1460 */ 279, 279, 279, 279, 279, 127, 209, 279, 279, 131, + /* 1470 */ 132, 133, 279, 279, 136, 279, 138, 139, 208, 279, + /* 1480 */ 142, 143, 144, 145, 127, 209, 279, 279, 131, 132, + /* 1490 */ 133, 279, 279, 136, 279, 138, 139, 279, 279, 142, + /* 1500 */ 143, 144, 145, 279, 209, 279, 279, 279, 279, 127, + /* 1510 */ 279, 279, 279, 131, 132, 133, 279, 279, 136, 279, + /* 1520 */ 138, 139, 279, 209, 142, 143, 144, 145, 127, 279, + /* 1530 */ 279, 279, 131, 132, 133, 279, 279, 136, 279, 138, + /* 1540 */ 139, 271, 279, 142, 143, 144, 145, 209, 279, 279, + /* 1550 */ 279, 279, 279, 279, 279, 279, 127, 279, 279, 279, + /* 1560 */ 131, 132, 133, 279, 279, 136, 209, 138, 139, 279, + /* 1570 */ 279, 142, 143, 144, 145, 279, 279, 279, 127, 279, + /* 1580 */ 279, 279, 131, 132, 133, 279, 279, 136, 279, 138, + /* 1590 */ 139, 209, 279, 142, 143, 144, 145, 127, 279, 279, + /* 1600 */ 279, 131, 132, 133, 279, 279, 136, 279, 138, 139, + /* 1610 */ 209, 279, 142, 143, 144, 145, 127, 279, 279, 279, + /* 1620 */ 131, 132, 133, 279, 279, 136, 279, 138, 139, 279, + /* 1630 */ 279, 142, 143, 144, 145, 279, 279, 127, 209, 279, + /* 1640 */ 279, 131, 132, 133, 279, 279, 136, 279, 138, 139, + /* 1650 */ 279, 279, 142, 143, 144, 145, 279, 279, 279, 279, + /* 1660 */ 209, 279, 279, 279, 279, 127, 279, 279, 279, 131, + /* 1670 */ 132, 133, 279, 279, 136, 279, 138, 139, 279, 209, + /* 1680 */ 142, 143, 144, 145, 127, 279, 279, 279, 131, 132, + /* 1690 */ 133, 279, 279, 136, 279, 138, 139, 279, 209, 142, + /* 1700 */ 143, 144, 145, 279, 279, 279, 127, 279, 279, 279, + /* 1710 */ 131, 132, 133, 279, 279, 136, 279, 138, 139, 209, + /* 1720 */ 279, 142, 143, 144, 145, 127, 279, 279, 279, 131, + /* 1730 */ 132, 133, 279, 279, 136, 279, 138, 139, 279, 279, + /* 1740 */ 142, 143, 144, 145, 127, 279, 279, 209, 131, 132, + /* 1750 */ 133, 279, 279, 136, 279, 138, 139, 279, 279, 142, + /* 1760 */ 143, 144, 145, 279, 279, 127, 209, 279, 279, 131, + /* 1770 */ 132, 133, 279, 279, 136, 279, 138, 139, 279, 279, + /* 1780 */ 142, 143, 144, 145, 279, 279, 279, 279, 209, 279, + /* 1790 */ 279, 279, 279, 127, 279, 279, 279, 131, 132, 133, + /* 1800 */ 279, 279, 136, 279, 138, 139, 279, 209, 142, 143, + /* 1810 */ 144, 145, 127, 279, 279, 279, 131, 132, 133, 279, + /* 1820 */ 279, 136, 279, 138, 139, 279, 209, 142, 143, 144, + /* 1830 */ 145, 279, 279, 279, 127, 279, 279, 279, 131, 132, + /* 1840 */ 133, 279, 279, 136, 279, 138, 139, 209, 279, 142, + /* 1850 */ 143, 144, 145, 127, 279, 279, 279, 131, 132, 133, + /* 1860 */ 279, 279, 136, 279, 138, 139, 279, 279, 142, 143, + /* 1870 */ 144, 145, 127, 279, 279, 209, 131, 132, 133, 279, + /* 1880 */ 279, 136, 279, 138, 139, 279, 279, 142, 143, 144, + /* 1890 */ 145, 279, 279, 127, 209, 279, 279, 131, 132, 133, + /* 1900 */ 279, 279, 136, 279, 138, 139, 279, 279, 142, 143, + /* 1910 */ 144, 145, 279, 279, 279, 279, 209, 279, 279, 279, + /* 1920 */ 279, 127, 279, 279, 279, 131, 132, 133, 279, 279, + /* 1930 */ 136, 279, 138, 139, 279, 209, 142, 143, 144, 145, + /* 1940 */ 127, 279, 279, 279, 131, 132, 133, 279, 279, 136, + /* 1950 */ 279, 138, 139, 279, 209, 142, 143, 144, 145, 279, + /* 1960 */ 279, 279, 127, 279, 279, 279, 131, 132, 133, 279, + /* 1970 */ 279, 136, 279, 138, 139, 209, 279, 142, 143, 144, + /* 1980 */ 145, 127, 279, 279, 279, 131, 132, 133, 279, 279, + /* 1990 */ 136, 279, 138, 139, 279, 279, 142, 143, 144, 145, + /* 2000 */ 127, 279, 279, 209, 131, 132, 133, 279, 279, 136, + /* 2010 */ 279, 138, 139, 279, 279, 142, 143, 144, 145, 279, + /* 2020 */ 279, 127, 209, 279, 279, 131, 132, 133, 279, 279, + /* 2030 */ 136, 279, 138, 139, 279, 279, 142, 143, 144, 145, + /* 2040 */ 279, 279, 279, 279, 209, 279, 279, 279, 279, 127, + /* 2050 */ 279, 279, 279, 131, 132, 133, 279, 279, 136, 279, + /* 2060 */ 138, 139, 279, 209, 142, 143, 144, 145, 127, 279, + /* 2070 */ 279, 279, 131, 132, 133, 279, 279, 136, 279, 138, + /* 2080 */ 139, 279, 209, 142, 143, 144, 145, 279, 279, 279, + /* 2090 */ 127, 279, 279, 279, 131, 132, 133, 279, 279, 136, + /* 2100 */ 279, 138, 139, 209, 279, 142, 143, 144, 145, 127, + /* 2110 */ 279, 279, 279, 131, 132, 133, 279, 279, 136, 279, + /* 2120 */ 138, 139, 279, 279, 142, 143, 144, 145, 127, 279, + /* 2130 */ 279, 209, 131, 132, 133, 279, 279, 136, 279, 138, + /* 2140 */ 139, 279, 279, 142, 143, 144, 145, 279, 279, 127, + /* 2150 */ 209, 279, 279, 131, 132, 133, 279, 279, 136, 279, + /* 2160 */ 138, 139, 279, 279, 142, 143, 144, 145, 279, 279, + /* 2170 */ 279, 279, 209, 279, 279, 279, 279, 127, 34, 35, + /* 2180 */ 279, 131, 132, 133, 279, 279, 136, 279, 138, 139, + /* 2190 */ 279, 209, 142, 143, 144, 145, 52, 279, 54, 279, + /* 2200 */ 279, 279, 279, 279, 279, 279, 279, 279, 64, 65, + /* 2210 */ 209, 127, 279, 279, 279, 131, 279, 133, 74, 75, + /* 2220 */ 136, 279, 138, 139, 279, 279, 142, 143, 144, 145, + /* 2230 */ 279, 209, 279, 279, 279, 279, 279, 279, 279, 279, + /* 2240 */ 279, 279, 279, 99, 279, 279, 127, 103, 279, 105, + /* 2250 */ 131, 279, 133, 279, 279, 136, 112, 138, 139, 209, + /* 2260 */ 279, 142, 143, 144, 145, 127, 279, 279, 279, 131, + /* 2270 */ 279, 133, 279, 279, 136, 279, 138, 139, 279, 279, + /* 2280 */ 142, 143, 144, 145, 279, 279, 127, 279, 279, 279, + /* 2290 */ 131, 279, 133, 209, 279, 136, 279, 138, 139, 279, + /* 2300 */ 279, 142, 143, 144, 145, 127, 279, 279, 279, 131, + /* 2310 */ 279, 133, 279, 279, 136, 279, 138, 139, 279, 279, + /* 2320 */ 142, 143, 144, 145, 279, 279, 127, 279, 209, 279, + /* 2330 */ 131, 279, 133, 279, 279, 136, 279, 138, 139, 279, + /* 2340 */ 279, 142, 143, 144, 145, 127, 279, 209, 279, 131, + /* 2350 */ 279, 133, 279, 279, 136, 279, 138, 139, 279, 279, + /* 2360 */ 142, 143, 144, 145, 279, 279, 279, 279, 209, 279, + /* 2370 */ 279, 279, 279, 279, 127, 279, 279, 279, 131, 279, + /* 2380 */ 133, 279, 279, 136, 279, 138, 139, 209, 279, 142, + /* 2390 */ 143, 144, 145, 279, 279, 211, 212, 279, 279, 215, + /* 2400 */ 279, 279, 218, 219, 220, 127, 222, 223, 209, 131, + /* 2410 */ 279, 133, 279, 279, 136, 279, 138, 139, 279, 279, + /* 2420 */ 142, 143, 144, 145, 279, 127, 279, 209, 279, 131, + /* 2430 */ 279, 133, 279, 279, 136, 279, 138, 139, 279, 279, + /* 2440 */ 142, 143, 144, 145, 279, 279, 279, 279, 127, 279, + /* 2450 */ 279, 279, 131, 279, 133, 279, 209, 136, 279, 138, + /* 2460 */ 139, 279, 279, 142, 143, 144, 145, 279, 279, 279, + /* 2470 */ 279, 279, 279, 127, 279, 279, 279, 131, 279, 133, + /* 2480 */ 279, 279, 136, 279, 138, 139, 279, 209, 142, 143, + /* 2490 */ 144, 145, 211, 212, 279, 279, 215, 279, 279, 218, + /* 2500 */ 219, 220, 127, 222, 223, 279, 131, 209, 133, 279, + /* 2510 */ 279, 136, 279, 138, 139, 279, 279, 142, 143, 144, + /* 2520 */ 145, 279, 279, 279, 279, 279, 279, 279, 279, 279, + /* 2530 */ 209, 279, 279, 127, 279, 279, 279, 131, 279, 133, + /* 2540 */ 279, 279, 136, 279, 138, 139, 279, 279, 142, 143, + /* 2550 */ 144, 145, 279, 127, 279, 209, 279, 131, 279, 133, + /* 2560 */ 279, 279, 136, 279, 138, 139, 279, 279, 142, 143, + /* 2570 */ 127, 145, 279, 279, 131, 279, 133, 279, 279, 136, + /* 2580 */ 279, 138, 139, 279, 209, 142, 143, 279, 145, 279, + /* 2590 */ 211, 212, 279, 279, 215, 279, 279, 218, 219, 220, + /* 2600 */ 279, 222, 223, 279, 279, 279, 279, 279, 279, 279, + /* 2610 */ 279, 279, 279, 279, 279, 209, 211, 212, 279, 279, + /* 2620 */ 215, 279, 279, 218, 219, 220, 279, 222, 223, 211, + /* 2630 */ 212, 279, 279, 215, 279, 209, 218, 219, 220, 279, + /* 2640 */ 222, 223, 279, 279, 279, 279, 211, 212, 279, 279, + /* 2650 */ 215, 279, 209, 218, 219, 220, 279, 222, 223, }; -#define YY_SHIFT_USE_DFLT (-61) -#define YY_SHIFT_COUNT (410) -#define YY_SHIFT_MIN (-60) -#define YY_SHIFT_MAX (2613) +#define YY_SHIFT_USE_DFLT (-70) +#define YY_SHIFT_COUNT (402) +#define YY_SHIFT_MIN (-69) +#define YY_SHIFT_MAX (2144) static const short yy_shift_ofst[] = { - /* 0 */ 548, 608, 608, 608, 608, 608, 608, 608, 608, 608, - /* 10 */ 89, 155, 2217, 2217, 2217, 155, 39, 189, 2208, 2208, - /* 20 */ 2217, -11, 189, 139, 139, 139, 139, 139, 139, 139, + /* 0 */ 606, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, + /* 10 */ 89, 155, 907, 907, 907, 155, 39, 189, 2144, 2144, + /* 20 */ 907, -11, 189, 139, 139, 139, 139, 139, 139, 139, /* 30 */ 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, /* 40 */ 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, /* 50 */ 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, /* 60 */ 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, - /* 70 */ 139, 139, 139, 139, 139, 139, 139, 139, 367, 139, - /* 80 */ 139, 139, 550, 550, 550, 550, 550, 550, 550, 550, - /* 90 */ 550, 550, 403, 294, 294, 294, 294, 294, 294, 294, - /* 100 */ 294, 294, 294, 294, 294, 294, 37, 37, 37, 37, - /* 110 */ 37, 398, 555, 37, 37, 157, 157, 157, 34, 11, - /* 120 */ 555, 209, 961, 961, 1200, 173, 15, 421, 521, 410, - /* 130 */ 71, 209, 1122, 1108, 1006, 898, 1234, 1200, 1069, 898, - /* 140 */ 886, 1006, -61, -61, -61, 280, 280, 1182, 1207, 1182, - /* 150 */ 1182, 1182, 249, 896, -6, 146, 146, 146, 146, 334, - /* 160 */ -60, 496, 494, 469, -60, 465, 306, 209, 457, 452, - /* 170 */ 320, 71, 320, 431, 242, 185, -60, 724, 724, 724, - /* 180 */ 1116, 724, 724, 1122, 1116, 724, 724, 1108, 724, 1006, - /* 190 */ 724, 724, 961, 1090, 724, 724, 1069, 1033, 724, 724, - /* 200 */ 724, 724, 793, 793, 961, 946, 724, 724, 724, 724, - /* 210 */ 848, 724, 724, 724, 724, 848, 844, 724, 724, 724, - /* 220 */ 724, 724, 724, 724, 898, 831, 724, 724, 874, 724, - /* 230 */ 898, 898, 898, 898, 886, 811, 829, 724, 863, 793, - /* 240 */ 793, 775, 834, 775, 834, 834, 835, 834, 826, 724, - /* 250 */ 724, -61, -61, -61, -61, -61, -61, 1145, 1125, 1105, - /* 260 */ 1071, 1041, 1010, 980, 949, 920, 891, 871, 840, 820, - /* 270 */ 789, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, - /* 280 */ 1349, 1349, 1349, 373, 2613, -8, 327, 327, 174, 78, - /* 290 */ 28, 13, 13, 13, 13, 13, 13, 13, 13, 13, - /* 300 */ 13, 428, 413, 405, 355, 369, 331, 277, 97, 282, - /* 310 */ 94, 55, 272, 55, 221, 22, 220, -26, 156, 770, - /* 320 */ 699, 767, 716, 755, 705, 744, 696, 750, 743, 742, - /* 330 */ 675, 707, 773, 741, 734, 650, 668, 658, 733, 730, - /* 340 */ 729, 727, 721, 720, 719, 717, 715, 718, 688, 701, - /* 350 */ 709, 627, 692, 672, 694, 619, 618, 682, 633, 657, - /* 360 */ 669, 673, 671, 670, 664, 655, 660, 654, 646, 559, - /* 370 */ 642, 634, 609, 632, 603, 631, 607, 606, 599, 604, - /* 380 */ 598, 600, 593, 584, 595, 582, 589, 535, 518, 567, - /* 390 */ 545, 506, 477, 393, 382, 365, 287, 262, 262, 262, - /* 400 */ 262, 262, 262, 297, 276, 216, 216, 85, 66, 9, - /* 410 */ -52, + /* 70 */ 139, 139, 139, 139, 139, 139, 500, 139, 139, 139, + /* 80 */ 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, + /* 90 */ 246, 294, 294, 294, 294, 294, 294, 294, 294, 294, + /* 100 */ 294, 294, 294, 294, 37, 600, 37, 37, 37, 37, + /* 110 */ 461, 600, 37, 37, 362, 362, 362, 118, 235, 10, + /* 120 */ 10, 10, 1052, 1052, 1191, 123, 15, 603, 629, 599, + /* 130 */ 10, 10, 10, 1124, 1111, 1020, 901, 1255, 1191, 1083, + /* 140 */ 901, 1020, -70, -70, -70, 280, 280, 1090, 1115, 1090, + /* 150 */ 1090, 1090, 249, 865, -6, 96, 96, 96, 96, 317, + /* 160 */ -60, 560, 558, 542, -60, 506, 320, 10, 474, 425, + /* 170 */ 253, 253, 379, 185, 92, -60, 747, 747, 747, 1122, + /* 180 */ 747, 747, 1124, 1122, 747, 747, 1111, 747, 1020, 747, + /* 190 */ 747, 1052, 1088, 747, 747, 1083, 1067, 747, 747, 747, + /* 200 */ 747, 821, 821, 1052, 1048, 747, 747, 747, 747, 892, + /* 210 */ 747, 747, 747, 747, 892, 913, 747, 747, 747, 747, + /* 220 */ 747, 747, 747, 901, 888, 747, 747, 895, 747, 901, + /* 230 */ 901, 901, 901, 854, 847, 747, 890, 821, 821, 815, + /* 240 */ 851, 815, 851, 851, 862, 851, 849, 747, 747, -70, + /* 250 */ -70, -70, -70, -70, -70, 1053, 1033, 1013, 979, 949, + /* 260 */ 918, 889, 860, 840, 719, 668, 809, 1263, 1263, 1263, + /* 270 */ 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 423, + /* 280 */ 460, -8, 368, 368, 174, 78, 28, 13, 13, 13, + /* 290 */ 13, 13, 13, 13, 13, 13, 13, 554, 497, 455, + /* 300 */ 442, 449, 217, 416, 291, 109, 323, 178, 382, 178, + /* 310 */ 315, 161, 228, -26, 278, 803, 724, 802, 756, 797, + /* 320 */ 752, 796, 737, 793, 773, 766, 695, 739, 798, 771, + /* 330 */ 764, 680, 698, 694, 754, 760, 753, 751, 750, 749, + /* 340 */ 748, 741, 746, 743, 713, 732, 740, 657, 733, 716, + /* 350 */ 731, 656, 649, 715, 675, 696, 704, 714, 706, 705, + /* 360 */ 710, 702, 707, 703, 683, 604, 618, 679, 647, 628, + /* 370 */ 608, 650, 635, 613, 611, 593, 601, 589, 584, 484, + /* 380 */ 399, 489, 475, 419, 373, 287, 336, 285, 276, 130, + /* 390 */ 130, 130, 130, 130, 130, 191, 134, 86, 86, 57, + /* 400 */ 34, 9, -69, }; -#define YY_REDUCE_USE_DFLT (-180) -#define YY_REDUCE_COUNT (256) -#define YY_REDUCE_MIN (-179) -#define YY_REDUCE_MAX (2507) +#define YY_REDUCE_USE_DFLT (-179) +#define YY_REDUCE_COUNT (254) +#define YY_REDUCE_MIN (-178) +#define YY_REDUCE_MAX (2443) static const short yy_reduce_ofst[] = { - /* 0 */ -161, 498, 451, 407, 361, 314, 270, 224, 177, 120, - /* 10 */ -102, 205, 536, 509, 481, 205, 1139, 406, 1128, 1107, - /* 20 */ 1012, 1263, 1244, 956, 2108, 2089, 2068, 2049, 2021, 2000, - /* 30 */ 1980, 1961, 1940, 1921, 1893, 1872, 1852, 1833, 1812, 1793, - /* 40 */ 1765, 1744, 1724, 1705, 1684, 1665, 1637, 1616, 1596, 1577, - /* 50 */ 1556, 1533, 1509, 1488, 1464, 1440, 1419, 1396, 1372, 1351, - /* 60 */ 1324, 1303, 1282, 894, 2436, 2417, 2393, 2364, 2342, 2321, - /* 70 */ 2302, 2283, 2263, 2241, 2221, 2202, 2183, 2158, 846, 2474, - /* 80 */ 2455, 1091, 2507, 2492, 2479, 2466, 2447, 2428, 957, 785, - /* 90 */ 594, 281, -179, 2053, 1152, 1101, 1073, 757, 643, 520, - /* 100 */ 463, 360, -7, -31, -57, -80, 96, 1329, 1318, 1024, - /* 110 */ 674, -21, 58, 268, 210, 67, -92, 235, 51, 52, - /* 120 */ -76, -62, -28, -48, -97, 450, 374, 430, 222, 292, - /* 130 */ 390, 399, 309, 250, 378, 370, 269, 162, -1, 21, - /* 140 */ 167, 350, 345, -101, 257, 1076, 1067, 1019, 1114, 1015, - /* 150 */ 1014, 1013, 983, 1016, 1047, 1045, 1045, 1045, 1045, 1002, - /* 160 */ 1049, 1011, 1004, 1001, 1037, 996, 981, 1078, 977, 976, - /* 170 */ 965, 1007, 964, 971, 970, 966, 994, 959, 955, 940, - /* 180 */ 914, 933, 925, 909, 897, 907, 903, 905, 902, 962, - /* 190 */ 885, 883, 950, 944, 867, 864, 918, 783, 855, 853, - /* 200 */ 825, 821, 839, 809, 822, 712, 819, 815, 814, 803, - /* 210 */ 828, 797, 796, 790, 784, 818, 813, 772, 768, 764, - /* 220 */ 760, 753, 739, 738, 748, 763, 704, 703, 746, 700, - /* 230 */ 737, 735, 731, 723, 702, 732, 728, 665, 754, 697, - /* 240 */ 691, 698, 745, 680, 726, 725, 708, 722, 611, 613, - /* 250 */ 602, 597, 683, 677, 547, 561, 572, + /* 0 */ -160, 494, 451, 401, 357, 314, 264, 220, 177, 120, + /* 10 */ -102, 257, 557, 530, 510, 257, 1117, 1043, 1036, 1015, + /* 20 */ 920, 1171, 1152, 864, 2050, 2022, 2001, 1982, 1963, 1941, + /* 30 */ 1922, 1894, 1873, 1854, 1835, 1813, 1794, 1766, 1745, 1726, + /* 40 */ 1707, 1685, 1666, 1638, 1617, 1598, 1579, 1557, 1538, 1510, + /* 50 */ 1489, 1470, 1451, 1429, 1401, 1382, 1357, 1338, 1314, 1295, + /* 60 */ 1276, 1257, 2406, 2375, 2346, 2321, 2298, 2278, 2247, 2218, + /* 70 */ 2199, 2178, 2159, 2138, 2119, 2084, 179, 2443, 2426, 999, + /* 80 */ 2435, 2418, 2405, 2379, 2281, 2184, 1123, 417, 358, 140, + /* 90 */ -178, 1009, 982, 863, 758, 726, 692, 612, 488, 400, + /* 100 */ -7, -31, -57, -80, 387, 58, 1270, 1165, 1037, 225, + /* 110 */ -21, -76, 319, 312, 67, 31, 172, -32, -1, 114, + /* 120 */ 56, -30, -46, -96, -97, 133, 524, 480, 93, 299, + /* 130 */ 204, 297, 402, 361, 258, 413, 445, 331, -139, 2, + /* 140 */ 421, 390, 388, -101, 219, 1100, 1093, 1049, 1127, 1044, + /* 150 */ 1041, 1026, 981, 1016, 1060, 1057, 1057, 1057, 1057, 992, + /* 160 */ 1021, 1001, 1000, 980, 1017, 975, 967, 1071, 966, 965, + /* 170 */ 954, 947, 963, 962, 951, 989, 943, 925, 924, 912, + /* 180 */ 923, 922, 900, 891, 911, 910, 916, 903, 958, 899, + /* 190 */ 894, 957, 941, 875, 874, 940, 830, 870, 869, 868, + /* 200 */ 850, 898, 896, 915, 829, 842, 834, 831, 828, 917, + /* 210 */ 816, 814, 813, 811, 902, 882, 808, 807, 794, 792, + /* 220 */ 791, 788, 776, 799, 790, 767, 757, 770, 729, 765, + /* 230 */ 762, 755, 734, 761, 763, 699, 781, 742, 738, 723, + /* 240 */ 774, 712, 769, 759, 727, 744, 645, 623, 620, 617, + /* 250 */ 718, 700, 581, 569, 614, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 989, 924, 924, 924, 924, 924, 924, 924, 924, 924, - /* 10 */ 710, 905, 659, 659, 659, 904, 989, 989, 989, 989, - /* 20 */ 659, 989, 984, 989, 989, 989, 989, 989, 989, 989, - /* 30 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - /* 40 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - /* 50 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - /* 60 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - /* 70 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - /* 80 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - /* 90 */ 989, 989, 696, 989, 989, 989, 989, 989, 989, 989, - /* 100 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - /* 110 */ 989, 724, 989, 989, 989, 717, 717, 989, 927, 989, - /* 120 */ 977, 989, 850, 850, 770, 954, 989, 989, 987, 989, - /* 130 */ 989, 725, 989, 989, 985, 989, 989, 770, 773, 989, - /* 140 */ 989, 985, 705, 685, 824, 989, 989, 989, 701, 989, - /* 150 */ 989, 989, 989, 744, 989, 965, 964, 963, 759, 989, - /* 160 */ 860, 989, 989, 989, 860, 989, 989, 989, 989, 989, - /* 170 */ 989, 989, 989, 989, 989, 989, 860, 989, 989, 989, - /* 180 */ 989, 821, 989, 989, 989, 818, 989, 989, 989, 989, - /* 190 */ 989, 989, 989, 989, 989, 989, 773, 989, 989, 989, - /* 200 */ 989, 989, 966, 966, 989, 989, 989, 989, 989, 989, - /* 210 */ 978, 989, 989, 989, 989, 978, 987, 989, 989, 989, - /* 220 */ 989, 989, 989, 989, 989, 928, 989, 989, 738, 989, - /* 230 */ 989, 989, 989, 989, 836, 976, 835, 989, 989, 966, - /* 240 */ 966, 865, 867, 865, 867, 867, 989, 867, 989, 989, - /* 250 */ 989, 696, 903, 874, 854, 853, 677, 989, 989, 989, - /* 260 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - /* 270 */ 989, 847, 708, 709, 988, 979, 702, 810, 667, 669, - /* 280 */ 768, 769, 665, 989, 989, 758, 767, 766, 989, 989, - /* 290 */ 989, 757, 756, 755, 754, 753, 752, 751, 750, 749, - /* 300 */ 748, 989, 989, 989, 989, 989, 989, 989, 989, 804, - /* 310 */ 989, 939, 989, 938, 989, 989, 804, 989, 989, 989, - /* 320 */ 989, 989, 989, 989, 811, 989, 989, 989, 989, 989, - /* 330 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - /* 340 */ 989, 989, 989, 989, 989, 989, 989, 798, 989, 989, - /* 350 */ 989, 879, 989, 989, 989, 989, 989, 989, 989, 989, - /* 360 */ 989, 989, 989, 989, 989, 989, 989, 989, 932, 989, - /* 370 */ 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - /* 380 */ 989, 989, 968, 989, 989, 989, 989, 862, 861, 989, - /* 390 */ 989, 666, 668, 989, 989, 989, 804, 765, 764, 763, - /* 400 */ 762, 761, 760, 989, 989, 747, 746, 989, 989, 989, - /* 410 */ 989, 742, 908, 907, 906, 825, 823, 822, 820, 819, - /* 420 */ 817, 815, 814, 813, 812, 816, 902, 901, 900, 899, - /* 430 */ 898, 897, 782, 952, 950, 949, 948, 947, 946, 945, - /* 440 */ 944, 943, 909, 858, 732, 951, 873, 872, 871, 852, - /* 450 */ 851, 849, 848, 784, 785, 786, 783, 775, 776, 774, - /* 460 */ 800, 801, 772, 671, 791, 793, 795, 797, 799, 796, - /* 470 */ 794, 792, 790, 789, 780, 779, 778, 777, 670, 771, - /* 480 */ 719, 718, 716, 660, 658, 657, 656, 953, 712, 711, - /* 490 */ 707, 706, 893, 926, 925, 923, 922, 921, 920, 919, - /* 500 */ 918, 917, 916, 915, 914, 913, 895, 894, 892, 808, - /* 510 */ 876, 870, 869, 806, 805, 733, 713, 704, 680, 681, - /* 520 */ 679, 676, 655, 731, 933, 941, 942, 937, 935, 940, - /* 530 */ 936, 934, 859, 804, 929, 931, 857, 856, 930, 730, - /* 540 */ 740, 739, 737, 736, 834, 831, 830, 829, 828, 827, - /* 550 */ 833, 832, 975, 974, 972, 973, 971, 970, 969, 968, - /* 560 */ 986, 983, 982, 981, 980, 729, 727, 735, 734, 728, - /* 570 */ 726, 809, 864, 863, 688, 839, 967, 912, 911, 855, - /* 580 */ 838, 837, 695, 866, 694, 693, 692, 691, 868, 745, - /* 590 */ 881, 880, 781, 662, 891, 890, 889, 888, 887, 886, - /* 600 */ 885, 884, 956, 962, 961, 960, 959, 958, 957, 955, - /* 610 */ 883, 882, 846, 845, 844, 843, 842, 841, 840, 896, - /* 620 */ 826, 803, 802, 788, 661, 879, 878, 703, 715, 714, - /* 630 */ 664, 663, 690, 689, 687, 684, 683, 682, 678, 675, - /* 640 */ 674, 673, 672, 686, 723, 722, 721, 720, 700, 699, - /* 650 */ 698, 697, 910, 807, 743, + /* 0 */ 977, 913, 913, 913, 913, 913, 913, 913, 913, 913, + /* 10 */ 700, 894, 649, 649, 649, 893, 977, 977, 977, 977, + /* 20 */ 649, 977, 972, 977, 977, 977, 977, 977, 977, 977, + /* 30 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + /* 40 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + /* 50 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + /* 60 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + /* 70 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + /* 80 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + /* 90 */ 686, 977, 977, 977, 977, 977, 977, 977, 977, 977, + /* 100 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + /* 110 */ 714, 965, 977, 977, 707, 707, 977, 916, 977, 977, + /* 120 */ 977, 977, 839, 839, 760, 943, 977, 977, 975, 977, + /* 130 */ 825, 977, 715, 977, 977, 973, 977, 977, 760, 763, + /* 140 */ 977, 973, 695, 675, 813, 977, 977, 977, 691, 977, + /* 150 */ 977, 977, 977, 734, 977, 954, 953, 952, 749, 977, + /* 160 */ 849, 977, 977, 977, 849, 977, 977, 977, 977, 977, + /* 170 */ 977, 977, 977, 977, 977, 849, 977, 977, 977, 977, + /* 180 */ 810, 977, 977, 977, 807, 977, 977, 977, 977, 977, + /* 190 */ 977, 977, 977, 977, 977, 763, 977, 977, 977, 977, + /* 200 */ 977, 955, 955, 977, 977, 977, 977, 977, 977, 966, + /* 210 */ 977, 977, 977, 977, 966, 975, 977, 977, 977, 977, + /* 220 */ 977, 977, 977, 977, 917, 977, 977, 728, 977, 977, + /* 230 */ 977, 977, 977, 964, 824, 977, 977, 955, 955, 854, + /* 240 */ 856, 854, 856, 856, 977, 856, 977, 977, 977, 686, + /* 250 */ 892, 863, 843, 842, 667, 977, 977, 977, 977, 977, + /* 260 */ 977, 977, 977, 977, 977, 977, 977, 836, 698, 699, + /* 270 */ 976, 967, 692, 799, 657, 659, 758, 759, 655, 977, + /* 280 */ 977, 748, 757, 756, 977, 977, 977, 747, 746, 745, + /* 290 */ 744, 743, 742, 741, 740, 739, 738, 977, 977, 977, + /* 300 */ 977, 977, 977, 977, 977, 794, 977, 928, 977, 927, + /* 310 */ 977, 977, 794, 977, 977, 977, 977, 977, 977, 977, + /* 320 */ 800, 977, 977, 977, 977, 977, 977, 977, 977, 977, + /* 330 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + /* 340 */ 977, 977, 977, 788, 977, 977, 977, 868, 977, 977, + /* 350 */ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + /* 360 */ 977, 977, 977, 977, 921, 977, 977, 977, 977, 977, + /* 370 */ 977, 977, 977, 977, 724, 977, 977, 977, 977, 851, + /* 380 */ 850, 977, 977, 656, 658, 977, 977, 977, 794, 755, + /* 390 */ 754, 753, 752, 751, 750, 977, 977, 737, 736, 977, + /* 400 */ 977, 977, 977, 732, 897, 896, 895, 814, 812, 811, + /* 410 */ 809, 808, 806, 804, 803, 802, 801, 805, 891, 890, + /* 420 */ 889, 888, 887, 886, 772, 941, 939, 938, 937, 936, + /* 430 */ 935, 934, 933, 932, 898, 847, 722, 940, 862, 861, + /* 440 */ 860, 841, 840, 838, 837, 774, 775, 776, 773, 765, + /* 450 */ 766, 764, 790, 791, 762, 661, 781, 783, 785, 787, + /* 460 */ 789, 786, 784, 782, 780, 779, 770, 769, 768, 767, + /* 470 */ 660, 761, 709, 708, 706, 650, 648, 647, 646, 942, + /* 480 */ 702, 701, 697, 696, 882, 915, 914, 912, 911, 910, + /* 490 */ 909, 908, 907, 906, 905, 904, 903, 902, 884, 883, + /* 500 */ 881, 798, 865, 859, 858, 796, 795, 723, 703, 694, + /* 510 */ 670, 671, 669, 666, 645, 721, 922, 930, 931, 926, + /* 520 */ 924, 929, 925, 923, 848, 794, 918, 920, 846, 845, + /* 530 */ 919, 720, 730, 729, 727, 726, 823, 820, 819, 818, + /* 540 */ 817, 816, 822, 821, 963, 962, 960, 961, 959, 958, + /* 550 */ 957, 974, 971, 970, 969, 968, 719, 717, 725, 724, + /* 560 */ 718, 716, 853, 852, 678, 828, 956, 901, 900, 844, + /* 570 */ 827, 826, 685, 855, 684, 683, 682, 681, 857, 735, + /* 580 */ 870, 869, 771, 652, 880, 879, 878, 877, 876, 875, + /* 590 */ 874, 873, 945, 951, 950, 949, 948, 947, 946, 944, + /* 600 */ 872, 871, 835, 834, 833, 832, 831, 830, 829, 885, + /* 610 */ 815, 793, 792, 778, 651, 868, 867, 693, 705, 704, + /* 620 */ 654, 653, 680, 679, 677, 674, 673, 672, 668, 665, + /* 630 */ 664, 663, 662, 676, 713, 712, 711, 710, 690, 689, + /* 640 */ 688, 687, 899, 797, 733, }; /* The next table maps tokens into fallback tokens. If a construct @@ -1190,20 +1106,20 @@ static const char *const yyTokenName[] = { "defined_type", "parameter_type", "generic_type", "basic_type", "select_type", "aggregate_type", "aggregation_type", "array_type", "bag_type", "conformant_aggregation", "list_type", "set_type", - "set_or_bag_of_entity", "type", "cardinality_op", "index_spec", - "limit_spec", "inverse_attr", "derived_attribute", "rule_formal_parameter", - "where_clause", "action_body_item_rep", "action_body_item", "declaration", - "constant_decl", "local_decl", "semicolon", "alias_push_scope", - "block_list", "block_member", "include_directive", "rule_decl", - "constant_body", "constant_body_list", "entity_decl", "function_decl", - "procedure_decl", "type_decl", "entity_header", "enumeration_type", - "express_file", "schema_decl_list", "schema_decl", "fh_push_scope", - "fh_plist", "increment_control", "rename", "rename_list", - "parened_rename_list", "reference_clause", "reference_head", "use_clause", - "use_head", "interface_specification", "interface_specification_list", "right_curl", - "local_variable", "local_body", "allow_generic_types", "disallow_generic_types", - "oneof_op", "ph_push_scope", "schema_body", "schema_header", - "type_item_body", "type_item", "ti_start", "td_start", + "set_or_bag_of_entity", "type", "cardinality_op", "bound_spec", + "inverse_attr", "derived_attribute", "rule_formal_parameter", "where_clause", + "action_body_item_rep", "action_body_item", "declaration", "constant_decl", + "local_decl", "semicolon", "alias_push_scope", "block_list", + "block_member", "include_directive", "rule_decl", "constant_body", + "constant_body_list", "entity_decl", "function_decl", "procedure_decl", + "type_decl", "entity_header", "enumeration_type", "express_file", + "schema_decl_list", "schema_decl", "fh_push_scope", "fh_plist", + "increment_control", "rename", "rename_list", "parened_rename_list", + "reference_clause", "reference_head", "use_clause", "use_head", + "interface_specification", "interface_specification_list", "right_curl", "local_variable", + "local_body", "local_decl_rules_on", "local_decl_rules_off", "oneof_op", + "ph_push_scope", "schema_body", "schema_header", "type_item_body", + "type_item", "ti_start", "td_start", }; #endif /* NDEBUG */ @@ -1234,7 +1150,7 @@ static const char *const yyRuleName[] = { /* 20 */ "aggregation_type ::= set_type", /* 21 */ "alias_statement ::= TOK_ALIAS TOK_IDENTIFIER TOK_FOR general_ref semicolon alias_push_scope statement_rep TOK_END_ALIAS semicolon", /* 22 */ "alias_push_scope ::=", - /* 23 */ "array_type ::= TOK_ARRAY index_spec TOK_OF optional_or_unique attribute_type", + /* 23 */ "array_type ::= TOK_ARRAY bound_spec TOK_OF optional_or_unique attribute_type", /* 24 */ "assignable ::= assignable qualifier", /* 25 */ "assignable ::= identifier", /* 26 */ "assignment_statement ::= assignable TOK_ASSIGNMENT expression semicolon", @@ -1243,7 +1159,7 @@ static const char *const yyRuleName[] = { /* 29 */ "attribute_type ::= defined_type", /* 30 */ "explicit_attr_list ::=", /* 31 */ "explicit_attr_list ::= explicit_attr_list explicit_attribute", - /* 32 */ "bag_type ::= TOK_BAG limit_spec TOK_OF attribute_type", + /* 32 */ "bag_type ::= TOK_BAG bound_spec TOK_OF attribute_type", /* 33 */ "bag_type ::= TOK_BAG TOK_OF attribute_type", /* 34 */ "basic_type ::= TOK_BOOLEAN", /* 35 */ "basic_type ::= TOK_INTEGER precision_spec", @@ -1347,13 +1263,13 @@ static const char *const yyRuleName[] = { /* 133 */ "function_id ::= TOK_BUILTIN_FUNCTION", /* 134 */ "conformant_aggregation ::= aggregate_type", /* 135 */ "conformant_aggregation ::= TOK_ARRAY TOK_OF optional_or_unique parameter_type", - /* 136 */ "conformant_aggregation ::= TOK_ARRAY index_spec TOK_OF optional_or_unique parameter_type", + /* 136 */ "conformant_aggregation ::= TOK_ARRAY bound_spec TOK_OF optional_or_unique parameter_type", /* 137 */ "conformant_aggregation ::= TOK_BAG TOK_OF parameter_type", - /* 138 */ "conformant_aggregation ::= TOK_BAG index_spec TOK_OF parameter_type", + /* 138 */ "conformant_aggregation ::= TOK_BAG bound_spec TOK_OF parameter_type", /* 139 */ "conformant_aggregation ::= TOK_LIST TOK_OF unique parameter_type", - /* 140 */ "conformant_aggregation ::= TOK_LIST index_spec TOK_OF unique parameter_type", + /* 140 */ "conformant_aggregation ::= TOK_LIST bound_spec TOK_OF unique parameter_type", /* 141 */ "conformant_aggregation ::= TOK_SET TOK_OF parameter_type", - /* 142 */ "conformant_aggregation ::= TOK_SET index_spec TOK_OF parameter_type", + /* 142 */ "conformant_aggregation ::= TOK_SET bound_spec TOK_OF parameter_type", /* 143 */ "generic_type ::= TOK_GENERIC", /* 144 */ "generic_type ::= TOK_GENERIC TOK_COLON TOK_IDENTIFIER", /* 145 */ "id_list ::= TOK_IDENTIFIER", @@ -1365,186 +1281,184 @@ static const char *const yyRuleName[] = { /* 151 */ "if_statement ::= TOK_IF expression TOK_THEN statement_rep TOK_ELSE statement_rep TOK_END_IF semicolon", /* 152 */ "include_directive ::= TOK_INCLUDE TOK_STRING_LITERAL semicolon", /* 153 */ "increment_control ::= TOK_IDENTIFIER TOK_ASSIGNMENT expression TOK_TO expression by_expression", - /* 154 */ "index_spec ::= TOK_LEFT_BRACKET expression TOK_COLON expression TOK_RIGHT_BRACKET", - /* 155 */ "initializer ::= TOK_ASSIGNMENT expression", - /* 156 */ "rename ::= TOK_IDENTIFIER", - /* 157 */ "rename ::= TOK_IDENTIFIER TOK_AS TOK_IDENTIFIER", - /* 158 */ "rename_list ::= rename", - /* 159 */ "rename_list ::= rename_list TOK_COMMA rename", - /* 160 */ "parened_rename_list ::= TOK_LEFT_PAREN rename_list TOK_RIGHT_PAREN", - /* 161 */ "reference_clause ::= TOK_REFERENCE TOK_FROM TOK_IDENTIFIER semicolon", - /* 162 */ "reference_clause ::= reference_head parened_rename_list semicolon", - /* 163 */ "reference_head ::= TOK_REFERENCE TOK_FROM TOK_IDENTIFIER", - /* 164 */ "use_clause ::= TOK_USE TOK_FROM TOK_IDENTIFIER semicolon", - /* 165 */ "use_clause ::= use_head parened_rename_list semicolon", - /* 166 */ "use_head ::= TOK_USE TOK_FROM TOK_IDENTIFIER", - /* 167 */ "interface_specification ::= use_clause", - /* 168 */ "interface_specification ::= reference_clause", - /* 169 */ "interface_specification_list ::=", - /* 170 */ "interface_specification_list ::= interface_specification_list interface_specification", - /* 171 */ "interval ::= TOK_LEFT_CURL simple_expression rel_op simple_expression rel_op simple_expression right_curl", - /* 172 */ "set_or_bag_of_entity ::= defined_type", - /* 173 */ "set_or_bag_of_entity ::= TOK_SET TOK_OF defined_type", - /* 174 */ "set_or_bag_of_entity ::= TOK_SET limit_spec TOK_OF defined_type", - /* 175 */ "set_or_bag_of_entity ::= TOK_BAG limit_spec TOK_OF defined_type", - /* 176 */ "set_or_bag_of_entity ::= TOK_BAG TOK_OF defined_type", - /* 177 */ "inverse_attr_list ::= inverse_attr", - /* 178 */ "inverse_attr_list ::= inverse_attr_list inverse_attr", - /* 179 */ "inverse_attr ::= TOK_IDENTIFIER TOK_COLON set_or_bag_of_entity TOK_FOR TOK_IDENTIFIER semicolon", - /* 180 */ "inverse_clause ::=", - /* 181 */ "inverse_clause ::= TOK_INVERSE inverse_attr_list", - /* 182 */ "limit_spec ::= TOK_LEFT_BRACKET expression TOK_COLON expression TOK_RIGHT_BRACKET", - /* 183 */ "list_type ::= TOK_LIST limit_spec TOK_OF unique attribute_type", - /* 184 */ "list_type ::= TOK_LIST TOK_OF unique attribute_type", - /* 185 */ "literal ::= TOK_INTEGER_LITERAL", - /* 186 */ "literal ::= TOK_REAL_LITERAL", - /* 187 */ "literal ::= TOK_STRING_LITERAL", - /* 188 */ "literal ::= TOK_STRING_LITERAL_ENCODED", - /* 189 */ "literal ::= TOK_LOGICAL_LITERAL", - /* 190 */ "literal ::= TOK_BINARY_LITERAL", - /* 191 */ "literal ::= constant", - /* 192 */ "local_initializer ::= TOK_ASSIGNMENT expression", - /* 193 */ "local_variable ::= id_list TOK_COLON parameter_type semicolon", - /* 194 */ "local_variable ::= id_list TOK_COLON parameter_type local_initializer semicolon", - /* 195 */ "local_body ::=", - /* 196 */ "local_body ::= local_variable local_body", - /* 197 */ "local_decl ::= TOK_LOCAL allow_generic_types local_body TOK_END_LOCAL semicolon disallow_generic_types", - /* 198 */ "allow_generic_types ::=", - /* 199 */ "disallow_generic_types ::=", - /* 200 */ "defined_type ::= TOK_IDENTIFIER", - /* 201 */ "defined_type_list ::= defined_type", - /* 202 */ "defined_type_list ::= defined_type_list TOK_COMMA defined_type", - /* 203 */ "nested_id_list ::= TOK_LEFT_PAREN id_list TOK_RIGHT_PAREN", - /* 204 */ "oneof_op ::= TOK_ONEOF", - /* 205 */ "optional_or_unique ::=", - /* 206 */ "optional_or_unique ::= TOK_OPTIONAL", - /* 207 */ "optional_or_unique ::= TOK_UNIQUE", - /* 208 */ "optional_or_unique ::= TOK_OPTIONAL TOK_UNIQUE", - /* 209 */ "optional_or_unique ::= TOK_UNIQUE TOK_OPTIONAL", - /* 210 */ "optional_fixed ::=", - /* 211 */ "optional_fixed ::= TOK_FIXED", - /* 212 */ "precision_spec ::=", - /* 213 */ "precision_spec ::= TOK_LEFT_PAREN expression TOK_RIGHT_PAREN", - /* 214 */ "proc_call_statement ::= procedure_id actual_parameters semicolon", - /* 215 */ "proc_call_statement ::= procedure_id semicolon", - /* 216 */ "procedure_decl ::= procedure_header action_body TOK_END_PROCEDURE semicolon", - /* 217 */ "procedure_header ::= TOK_PROCEDURE ph_get_line ph_push_scope formal_parameter_list semicolon", - /* 218 */ "ph_push_scope ::= TOK_IDENTIFIER", - /* 219 */ "ph_get_line ::=", - /* 220 */ "procedure_id ::= TOK_IDENTIFIER", - /* 221 */ "procedure_id ::= TOK_BUILTIN_PROCEDURE", - /* 222 */ "group_ref ::= TOK_BACKSLASH TOK_IDENTIFIER", - /* 223 */ "qualifier ::= TOK_DOT TOK_IDENTIFIER", - /* 224 */ "qualifier ::= TOK_BACKSLASH TOK_IDENTIFIER", - /* 225 */ "qualifier ::= TOK_LEFT_BRACKET simple_expression TOK_RIGHT_BRACKET", - /* 226 */ "qualifier ::= TOK_LEFT_BRACKET simple_expression TOK_COLON simple_expression TOK_RIGHT_BRACKET", - /* 227 */ "query_expression ::= query_start expression TOK_RIGHT_PAREN", - /* 228 */ "query_start ::= TOK_QUERY TOK_LEFT_PAREN TOK_IDENTIFIER TOK_ALL_IN expression TOK_SUCH_THAT", - /* 229 */ "rel_op ::= TOK_LESS_THAN", - /* 230 */ "rel_op ::= TOK_GREATER_THAN", - /* 231 */ "rel_op ::= TOK_EQUAL", - /* 232 */ "rel_op ::= TOK_LESS_EQUAL", - /* 233 */ "rel_op ::= TOK_GREATER_EQUAL", - /* 234 */ "rel_op ::= TOK_NOT_EQUAL", - /* 235 */ "rel_op ::= TOK_INST_EQUAL", - /* 236 */ "rel_op ::= TOK_INST_NOT_EQUAL", - /* 237 */ "repeat_statement ::= TOK_REPEAT increment_control while_control until_control semicolon statement_rep TOK_END_REPEAT semicolon", - /* 238 */ "repeat_statement ::= TOK_REPEAT while_control until_control semicolon statement_rep TOK_END_REPEAT semicolon", - /* 239 */ "return_statement ::= TOK_RETURN semicolon", - /* 240 */ "return_statement ::= TOK_RETURN TOK_LEFT_PAREN expression TOK_RIGHT_PAREN semicolon", - /* 241 */ "right_curl ::= TOK_RIGHT_CURL", - /* 242 */ "rule_decl ::= rule_header action_body where_rule TOK_END_RULE semicolon", - /* 243 */ "rule_formal_parameter ::= TOK_IDENTIFIER", - /* 244 */ "rule_formal_parameter_list ::= rule_formal_parameter", - /* 245 */ "rule_formal_parameter_list ::= rule_formal_parameter_list TOK_COMMA rule_formal_parameter", - /* 246 */ "rule_header ::= rh_start rule_formal_parameter_list TOK_RIGHT_PAREN semicolon", - /* 247 */ "rh_start ::= TOK_RULE rh_get_line TOK_IDENTIFIER TOK_FOR TOK_LEFT_PAREN", - /* 248 */ "rh_get_line ::=", - /* 249 */ "schema_body ::= interface_specification_list block_list", - /* 250 */ "schema_body ::= interface_specification_list constant_decl block_list", - /* 251 */ "schema_decl ::= schema_header schema_body TOK_END_SCHEMA semicolon", - /* 252 */ "schema_decl ::= include_directive", - /* 253 */ "schema_header ::= TOK_SCHEMA TOK_IDENTIFIER semicolon", - /* 254 */ "select_type ::= TOK_SELECT TOK_LEFT_PAREN defined_type_list TOK_RIGHT_PAREN", - /* 255 */ "semicolon ::= TOK_SEMICOLON", - /* 256 */ "set_type ::= TOK_SET limit_spec TOK_OF attribute_type", - /* 257 */ "set_type ::= TOK_SET TOK_OF attribute_type", - /* 258 */ "skip_statement ::= TOK_SKIP semicolon", - /* 259 */ "statement ::= alias_statement", - /* 260 */ "statement ::= assignment_statement", - /* 261 */ "statement ::= case_statement", - /* 262 */ "statement ::= compound_statement", - /* 263 */ "statement ::= escape_statement", - /* 264 */ "statement ::= if_statement", - /* 265 */ "statement ::= proc_call_statement", - /* 266 */ "statement ::= repeat_statement", - /* 267 */ "statement ::= return_statement", - /* 268 */ "statement ::= skip_statement", - /* 269 */ "statement_rep ::=", - /* 270 */ "statement_rep ::= semicolon statement_rep", - /* 271 */ "statement_rep ::= statement statement_rep", - /* 272 */ "subsuper_decl ::=", - /* 273 */ "subsuper_decl ::= supertype_decl", - /* 274 */ "subsuper_decl ::= subtype_decl", - /* 275 */ "subsuper_decl ::= supertype_decl subtype_decl", - /* 276 */ "subtype_decl ::= TOK_SUBTYPE TOK_OF TOK_LEFT_PAREN defined_type_list TOK_RIGHT_PAREN", - /* 277 */ "supertype_decl ::= TOK_ABSTRACT TOK_SUPERTYPE", - /* 278 */ "supertype_decl ::= TOK_SUPERTYPE TOK_OF TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN", - /* 279 */ "supertype_decl ::= TOK_ABSTRACT TOK_SUPERTYPE TOK_OF TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN", - /* 280 */ "supertype_expression ::= supertype_factor", - /* 281 */ "supertype_expression ::= supertype_expression TOK_AND supertype_factor", - /* 282 */ "supertype_expression ::= supertype_expression TOK_ANDOR supertype_factor", - /* 283 */ "supertype_expression_list ::= supertype_expression", - /* 284 */ "supertype_expression_list ::= supertype_expression_list TOK_COMMA supertype_expression", - /* 285 */ "supertype_factor ::= identifier", - /* 286 */ "supertype_factor ::= oneof_op TOK_LEFT_PAREN supertype_expression_list TOK_RIGHT_PAREN", - /* 287 */ "supertype_factor ::= TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN", - /* 288 */ "type ::= aggregation_type", - /* 289 */ "type ::= basic_type", - /* 290 */ "type ::= defined_type", - /* 291 */ "type ::= select_type", - /* 292 */ "type_item_body ::= enumeration_type", - /* 293 */ "type_item_body ::= type", - /* 294 */ "type_item ::= ti_start type_item_body semicolon", - /* 295 */ "ti_start ::= TOK_IDENTIFIER TOK_EQUAL", - /* 296 */ "type_decl ::= td_start TOK_END_TYPE semicolon", - /* 297 */ "td_start ::= TOK_TYPE type_item where_rule_OPT", - /* 298 */ "general_ref ::= assignable group_ref", - /* 299 */ "general_ref ::= assignable", - /* 300 */ "unary_expression ::= aggregate_initializer", - /* 301 */ "unary_expression ::= unary_expression qualifier", - /* 302 */ "unary_expression ::= literal", - /* 303 */ "unary_expression ::= function_call", - /* 304 */ "unary_expression ::= identifier", - /* 305 */ "unary_expression ::= TOK_LEFT_PAREN expression TOK_RIGHT_PAREN", - /* 306 */ "unary_expression ::= interval", - /* 307 */ "unary_expression ::= query_expression", - /* 308 */ "unary_expression ::= TOK_NOT unary_expression", - /* 309 */ "unary_expression ::= TOK_PLUS unary_expression", - /* 310 */ "unary_expression ::= TOK_MINUS unary_expression", - /* 311 */ "unique ::=", - /* 312 */ "unique ::= TOK_UNIQUE", - /* 313 */ "qualified_attr ::= TOK_IDENTIFIER", - /* 314 */ "qualified_attr ::= TOK_SELF TOK_BACKSLASH TOK_IDENTIFIER TOK_DOT TOK_IDENTIFIER", - /* 315 */ "qualified_attr_list ::= qualified_attr", - /* 316 */ "qualified_attr_list ::= qualified_attr_list TOK_COMMA qualified_attr", - /* 317 */ "labelled_attrib_list ::= qualified_attr_list semicolon", - /* 318 */ "labelled_attrib_list ::= TOK_IDENTIFIER TOK_COLON qualified_attr_list semicolon", - /* 319 */ "labelled_attrib_list_list ::= labelled_attrib_list", - /* 320 */ "labelled_attrib_list_list ::= labelled_attrib_list_list labelled_attrib_list", - /* 321 */ "unique_clause ::=", - /* 322 */ "unique_clause ::= TOK_UNIQUE labelled_attrib_list_list", - /* 323 */ "until_control ::=", - /* 324 */ "until_control ::= TOK_UNTIL expression", - /* 325 */ "where_clause ::= expression semicolon", - /* 326 */ "where_clause ::= TOK_IDENTIFIER TOK_COLON expression semicolon", - /* 327 */ "where_clause_list ::= where_clause", - /* 328 */ "where_clause_list ::= where_clause_list where_clause", - /* 329 */ "where_rule ::= TOK_WHERE where_clause_list", - /* 330 */ "where_rule_OPT ::=", - /* 331 */ "where_rule_OPT ::= where_rule", - /* 332 */ "while_control ::=", - /* 333 */ "while_control ::= TOK_WHILE expression", + /* 154 */ "initializer ::= TOK_ASSIGNMENT expression", + /* 155 */ "rename ::= TOK_IDENTIFIER", + /* 156 */ "rename ::= TOK_IDENTIFIER TOK_AS TOK_IDENTIFIER", + /* 157 */ "rename_list ::= rename", + /* 158 */ "rename_list ::= rename_list TOK_COMMA rename", + /* 159 */ "parened_rename_list ::= TOK_LEFT_PAREN rename_list TOK_RIGHT_PAREN", + /* 160 */ "reference_clause ::= TOK_REFERENCE TOK_FROM TOK_IDENTIFIER semicolon", + /* 161 */ "reference_clause ::= reference_head parened_rename_list semicolon", + /* 162 */ "reference_head ::= TOK_REFERENCE TOK_FROM TOK_IDENTIFIER", + /* 163 */ "use_clause ::= TOK_USE TOK_FROM TOK_IDENTIFIER semicolon", + /* 164 */ "use_clause ::= use_head parened_rename_list semicolon", + /* 165 */ "use_head ::= TOK_USE TOK_FROM TOK_IDENTIFIER", + /* 166 */ "interface_specification ::= use_clause", + /* 167 */ "interface_specification ::= reference_clause", + /* 168 */ "interface_specification_list ::=", + /* 169 */ "interface_specification_list ::= interface_specification_list interface_specification", + /* 170 */ "interval ::= TOK_LEFT_CURL simple_expression rel_op simple_expression rel_op simple_expression right_curl", + /* 171 */ "set_or_bag_of_entity ::= defined_type", + /* 172 */ "set_or_bag_of_entity ::= TOK_SET TOK_OF defined_type", + /* 173 */ "set_or_bag_of_entity ::= TOK_SET bound_spec TOK_OF defined_type", + /* 174 */ "set_or_bag_of_entity ::= TOK_BAG bound_spec TOK_OF defined_type", + /* 175 */ "set_or_bag_of_entity ::= TOK_BAG TOK_OF defined_type", + /* 176 */ "inverse_attr_list ::= inverse_attr", + /* 177 */ "inverse_attr_list ::= inverse_attr_list inverse_attr", + /* 178 */ "inverse_attr ::= attribute_decl TOK_COLON set_or_bag_of_entity TOK_FOR TOK_IDENTIFIER semicolon", + /* 179 */ "inverse_clause ::=", + /* 180 */ "inverse_clause ::= TOK_INVERSE inverse_attr_list", + /* 181 */ "bound_spec ::= TOK_LEFT_BRACKET expression TOK_COLON expression TOK_RIGHT_BRACKET", + /* 182 */ "list_type ::= TOK_LIST bound_spec TOK_OF unique attribute_type", + /* 183 */ "list_type ::= TOK_LIST TOK_OF unique attribute_type", + /* 184 */ "literal ::= TOK_INTEGER_LITERAL", + /* 185 */ "literal ::= TOK_REAL_LITERAL", + /* 186 */ "literal ::= TOK_STRING_LITERAL", + /* 187 */ "literal ::= TOK_STRING_LITERAL_ENCODED", + /* 188 */ "literal ::= TOK_LOGICAL_LITERAL", + /* 189 */ "literal ::= TOK_BINARY_LITERAL", + /* 190 */ "literal ::= constant", + /* 191 */ "local_initializer ::= TOK_ASSIGNMENT expression", + /* 192 */ "local_variable ::= id_list TOK_COLON parameter_type semicolon", + /* 193 */ "local_variable ::= id_list TOK_COLON parameter_type local_initializer semicolon", + /* 194 */ "local_body ::=", + /* 195 */ "local_body ::= local_variable local_body", + /* 196 */ "local_decl ::= TOK_LOCAL local_decl_rules_on local_body TOK_END_LOCAL semicolon local_decl_rules_off", + /* 197 */ "local_decl_rules_on ::=", + /* 198 */ "local_decl_rules_off ::=", + /* 199 */ "defined_type ::= TOK_IDENTIFIER", + /* 200 */ "defined_type_list ::= defined_type", + /* 201 */ "defined_type_list ::= defined_type_list TOK_COMMA defined_type", + /* 202 */ "nested_id_list ::= TOK_LEFT_PAREN id_list TOK_RIGHT_PAREN", + /* 203 */ "oneof_op ::= TOK_ONEOF", + /* 204 */ "optional_or_unique ::=", + /* 205 */ "optional_or_unique ::= TOK_OPTIONAL", + /* 206 */ "optional_or_unique ::= TOK_UNIQUE", + /* 207 */ "optional_or_unique ::= TOK_OPTIONAL TOK_UNIQUE", + /* 208 */ "optional_or_unique ::= TOK_UNIQUE TOK_OPTIONAL", + /* 209 */ "optional_fixed ::=", + /* 210 */ "optional_fixed ::= TOK_FIXED", + /* 211 */ "precision_spec ::=", + /* 212 */ "precision_spec ::= TOK_LEFT_PAREN expression TOK_RIGHT_PAREN", + /* 213 */ "proc_call_statement ::= procedure_id actual_parameters semicolon", + /* 214 */ "proc_call_statement ::= procedure_id semicolon", + /* 215 */ "procedure_decl ::= procedure_header action_body TOK_END_PROCEDURE semicolon", + /* 216 */ "procedure_header ::= TOK_PROCEDURE ph_get_line ph_push_scope formal_parameter_list semicolon", + /* 217 */ "ph_push_scope ::= TOK_IDENTIFIER", + /* 218 */ "ph_get_line ::=", + /* 219 */ "procedure_id ::= TOK_IDENTIFIER", + /* 220 */ "procedure_id ::= TOK_BUILTIN_PROCEDURE", + /* 221 */ "group_ref ::= TOK_BACKSLASH TOK_IDENTIFIER", + /* 222 */ "qualifier ::= TOK_DOT TOK_IDENTIFIER", + /* 223 */ "qualifier ::= TOK_BACKSLASH TOK_IDENTIFIER", + /* 224 */ "qualifier ::= TOK_LEFT_BRACKET simple_expression TOK_RIGHT_BRACKET", + /* 225 */ "qualifier ::= TOK_LEFT_BRACKET simple_expression TOK_COLON simple_expression TOK_RIGHT_BRACKET", + /* 226 */ "query_expression ::= query_start expression TOK_RIGHT_PAREN", + /* 227 */ "query_start ::= TOK_QUERY TOK_LEFT_PAREN TOK_IDENTIFIER TOK_ALL_IN expression TOK_SUCH_THAT", + /* 228 */ "rel_op ::= TOK_LESS_THAN", + /* 229 */ "rel_op ::= TOK_GREATER_THAN", + /* 230 */ "rel_op ::= TOK_EQUAL", + /* 231 */ "rel_op ::= TOK_LESS_EQUAL", + /* 232 */ "rel_op ::= TOK_GREATER_EQUAL", + /* 233 */ "rel_op ::= TOK_NOT_EQUAL", + /* 234 */ "rel_op ::= TOK_INST_EQUAL", + /* 235 */ "rel_op ::= TOK_INST_NOT_EQUAL", + /* 236 */ "repeat_statement ::= TOK_REPEAT increment_control while_control until_control semicolon statement_rep TOK_END_REPEAT semicolon", + /* 237 */ "repeat_statement ::= TOK_REPEAT while_control until_control semicolon statement_rep TOK_END_REPEAT semicolon", + /* 238 */ "return_statement ::= TOK_RETURN semicolon", + /* 239 */ "return_statement ::= TOK_RETURN TOK_LEFT_PAREN expression TOK_RIGHT_PAREN semicolon", + /* 240 */ "right_curl ::= TOK_RIGHT_CURL", + /* 241 */ "rule_decl ::= rule_header action_body where_rule TOK_END_RULE semicolon", + /* 242 */ "rule_formal_parameter ::= TOK_IDENTIFIER", + /* 243 */ "rule_formal_parameter_list ::= rule_formal_parameter", + /* 244 */ "rule_formal_parameter_list ::= rule_formal_parameter_list TOK_COMMA rule_formal_parameter", + /* 245 */ "rule_header ::= rh_start rule_formal_parameter_list TOK_RIGHT_PAREN semicolon", + /* 246 */ "rh_start ::= TOK_RULE rh_get_line TOK_IDENTIFIER TOK_FOR TOK_LEFT_PAREN", + /* 247 */ "rh_get_line ::=", + /* 248 */ "schema_body ::= interface_specification_list block_list", + /* 249 */ "schema_body ::= interface_specification_list constant_decl block_list", + /* 250 */ "schema_decl ::= schema_header schema_body TOK_END_SCHEMA semicolon", + /* 251 */ "schema_decl ::= include_directive", + /* 252 */ "schema_header ::= TOK_SCHEMA TOK_IDENTIFIER semicolon", + /* 253 */ "select_type ::= TOK_SELECT TOK_LEFT_PAREN defined_type_list TOK_RIGHT_PAREN", + /* 254 */ "semicolon ::= TOK_SEMICOLON", + /* 255 */ "set_type ::= TOK_SET bound_spec TOK_OF attribute_type", + /* 256 */ "set_type ::= TOK_SET TOK_OF attribute_type", + /* 257 */ "skip_statement ::= TOK_SKIP semicolon", + /* 258 */ "statement ::= alias_statement", + /* 259 */ "statement ::= assignment_statement", + /* 260 */ "statement ::= case_statement", + /* 261 */ "statement ::= compound_statement", + /* 262 */ "statement ::= escape_statement", + /* 263 */ "statement ::= if_statement", + /* 264 */ "statement ::= proc_call_statement", + /* 265 */ "statement ::= repeat_statement", + /* 266 */ "statement ::= return_statement", + /* 267 */ "statement ::= skip_statement", + /* 268 */ "statement_rep ::=", + /* 269 */ "statement_rep ::= semicolon statement_rep", + /* 270 */ "statement_rep ::= statement statement_rep", + /* 271 */ "subsuper_decl ::=", + /* 272 */ "subsuper_decl ::= supertype_decl", + /* 273 */ "subsuper_decl ::= subtype_decl", + /* 274 */ "subsuper_decl ::= supertype_decl subtype_decl", + /* 275 */ "subtype_decl ::= TOK_SUBTYPE TOK_OF TOK_LEFT_PAREN defined_type_list TOK_RIGHT_PAREN", + /* 276 */ "supertype_decl ::= TOK_ABSTRACT TOK_SUPERTYPE", + /* 277 */ "supertype_decl ::= TOK_SUPERTYPE TOK_OF TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN", + /* 278 */ "supertype_decl ::= TOK_ABSTRACT TOK_SUPERTYPE TOK_OF TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN", + /* 279 */ "supertype_expression ::= supertype_factor", + /* 280 */ "supertype_expression ::= supertype_expression TOK_AND supertype_factor", + /* 281 */ "supertype_expression ::= supertype_expression TOK_ANDOR supertype_factor", + /* 282 */ "supertype_expression_list ::= supertype_expression", + /* 283 */ "supertype_expression_list ::= supertype_expression_list TOK_COMMA supertype_expression", + /* 284 */ "supertype_factor ::= identifier", + /* 285 */ "supertype_factor ::= oneof_op TOK_LEFT_PAREN supertype_expression_list TOK_RIGHT_PAREN", + /* 286 */ "supertype_factor ::= TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN", + /* 287 */ "type ::= aggregation_type", + /* 288 */ "type ::= basic_type", + /* 289 */ "type ::= defined_type", + /* 290 */ "type ::= select_type", + /* 291 */ "type_item_body ::= enumeration_type", + /* 292 */ "type_item_body ::= type", + /* 293 */ "type_item ::= ti_start type_item_body semicolon", + /* 294 */ "ti_start ::= TOK_IDENTIFIER TOK_EQUAL", + /* 295 */ "type_decl ::= td_start TOK_END_TYPE semicolon", + /* 296 */ "td_start ::= TOK_TYPE type_item where_rule_OPT", + /* 297 */ "general_ref ::= assignable group_ref", + /* 298 */ "general_ref ::= assignable", + /* 299 */ "unary_expression ::= aggregate_initializer", + /* 300 */ "unary_expression ::= unary_expression qualifier", + /* 301 */ "unary_expression ::= literal", + /* 302 */ "unary_expression ::= function_call", + /* 303 */ "unary_expression ::= identifier", + /* 304 */ "unary_expression ::= TOK_LEFT_PAREN expression TOK_RIGHT_PAREN", + /* 305 */ "unary_expression ::= interval", + /* 306 */ "unary_expression ::= query_expression", + /* 307 */ "unary_expression ::= TOK_NOT unary_expression", + /* 308 */ "unary_expression ::= TOK_PLUS unary_expression", + /* 309 */ "unary_expression ::= TOK_MINUS unary_expression", + /* 310 */ "unique ::=", + /* 311 */ "unique ::= TOK_UNIQUE", + /* 312 */ "qualified_attr ::= attribute_decl", + /* 313 */ "qualified_attr_list ::= qualified_attr", + /* 314 */ "qualified_attr_list ::= qualified_attr_list TOK_COMMA qualified_attr", + /* 315 */ "labelled_attrib_list ::= qualified_attr_list semicolon", + /* 316 */ "labelled_attrib_list ::= TOK_IDENTIFIER TOK_COLON qualified_attr_list semicolon", + /* 317 */ "labelled_attrib_list_list ::= labelled_attrib_list", + /* 318 */ "labelled_attrib_list_list ::= labelled_attrib_list_list labelled_attrib_list", + /* 319 */ "unique_clause ::=", + /* 320 */ "unique_clause ::= TOK_UNIQUE labelled_attrib_list_list", + /* 321 */ "until_control ::=", + /* 322 */ "until_control ::= TOK_UNTIL expression", + /* 323 */ "where_clause ::= expression semicolon", + /* 324 */ "where_clause ::= TOK_IDENTIFIER TOK_COLON expression semicolon", + /* 325 */ "where_clause_list ::= where_clause", + /* 326 */ "where_clause_list ::= where_clause_list where_clause", + /* 327 */ "where_rule ::= TOK_WHERE where_clause_list", + /* 328 */ "where_rule_OPT ::=", + /* 329 */ "where_rule_OPT ::= where_rule", + /* 330 */ "while_control ::=", + /* 331 */ "while_control ::= TOK_WHILE expression", }; #endif /* NDEBUG */ @@ -1625,13 +1539,13 @@ static void yy_destructor( */ case 122: /* statement_list */ { -#line 189 "expparse.y" +#line 124 "expparse.y" if (parseData.scanner == NULL) { - (yypminor->yy0).string = (char*)NULL; + (yypminor->yy0).string = (char*)NULL; } -#line 1635 "expparse.c" +#line 1549 "expparse.c" } break; default: break; /* If no destructor action specified: do nothing */ @@ -1816,11 +1730,11 @@ static void yyStackOverflow(yyParser *yypParser, YYMINORTYPE *yypMinor){ while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser); /* Here code is inserted which will execute if the parser ** stack every overflows */ -#line 2477 "expparse.y" +#line 2440 "expparse.y" fprintf(stderr, "Express parser experienced stack overflow.\n"); fprintf(stderr, "Last token had value %x\n", yypMinor->yy0.val); -#line 1824 "expparse.c" +#line 1738 "expparse.c" ParseARG_STORE; /* Suppress warning about unused %extra_argument var */ } @@ -1878,11 +1792,11 @@ static const struct { unsigned char nrhs; /* Number of right-hand side symbols in the rule */ } yyRuleInfo[] = { { 156, 2 }, - { 234, 1 }, - { 234, 1 }, - { 234, 1 }, - { 233, 0 }, - { 233, 2 }, + { 233, 1 }, + { 233, 1 }, + { 233, 1 }, + { 232, 0 }, + { 232, 2 }, { 157, 3 }, { 157, 2 }, { 127, 2 }, @@ -1899,7 +1813,7 @@ static const struct { { 218, 1 }, { 218, 1 }, { 195, 9 }, - { 239, 0 }, + { 238, 0 }, { 219, 5 }, { 128, 2 }, { 128, 1 }, @@ -1918,11 +1832,11 @@ static const struct { { 215, 1 }, { 215, 3 }, { 215, 3 }, - { 240, 0 }, - { 240, 2 }, - { 241, 1 }, - { 241, 1 }, - { 241, 1 }, + { 239, 0 }, + { 239, 2 }, + { 240, 1 }, + { 240, 1 }, + { 240, 1 }, { 130, 0 }, { 130, 2 }, { 226, 5 }, @@ -1938,23 +1852,23 @@ static const struct { { 198, 4 }, { 131, 1 }, { 131, 1 }, - { 244, 6 }, - { 245, 0 }, - { 245, 2 }, - { 236, 4 }, - { 235, 1 }, - { 235, 1 }, - { 235, 1 }, - { 235, 1 }, + { 243, 6 }, + { 244, 0 }, + { 244, 2 }, + { 235, 4 }, + { 234, 1 }, + { 234, 1 }, + { 234, 1 }, + { 234, 1 }, { 164, 0 }, { 164, 2 }, - { 230, 5 }, + { 229, 5 }, { 183, 1 }, { 183, 2 }, { 125, 5 }, - { 246, 6 }, - { 250, 2 }, - { 251, 3 }, + { 245, 6 }, + { 249, 2 }, + { 250, 3 }, { 199, 2 }, { 129, 1 }, { 129, 5 }, @@ -1963,9 +1877,9 @@ static const struct { { 190, 0 }, { 190, 1 }, { 165, 5 }, + { 251, 1 }, { 252, 1 }, - { 253, 1 }, - { 253, 2 }, + { 252, 2 }, { 132, 1 }, { 132, 3 }, { 132, 3 }, @@ -2004,11 +1918,11 @@ static const struct { { 213, 1 }, { 213, 1 }, { 133, 2 }, - { 247, 4 }, + { 246, 4 }, { 149, 6 }, { 150, 1 }, + { 254, 1 }, { 255, 1 }, - { 256, 1 }, { 209, 1 }, { 209, 1 }, { 221, 1 }, @@ -2029,25 +1943,24 @@ static const struct { { 136, 1 }, { 200, 6 }, { 200, 8 }, - { 242, 3 }, - { 257, 6 }, - { 227, 5 }, + { 241, 3 }, + { 256, 6 }, { 137, 2 }, + { 257, 1 }, + { 257, 3 }, { 258, 1 }, { 258, 3 }, - { 259, 1 }, { 259, 3 }, + { 260, 4 }, { 260, 3 }, - { 261, 4 }, { 261, 3 }, + { 262, 4 }, { 262, 3 }, - { 263, 4 }, { 263, 3 }, - { 264, 3 }, - { 265, 1 }, - { 265, 1 }, - { 266, 0 }, - { 266, 2 }, + { 264, 1 }, + { 264, 1 }, + { 265, 0 }, + { 265, 2 }, { 138, 7 }, { 224, 1 }, { 224, 3 }, @@ -2056,10 +1969,10 @@ static const struct { { 224, 3 }, { 180, 1 }, { 180, 2 }, - { 229, 6 }, + { 228, 6 }, { 181, 0 }, { 181, 2 }, - { 228, 5 }, + { 227, 5 }, { 222, 5 }, { 222, 4 }, { 139, 1 }, @@ -2070,18 +1983,18 @@ static const struct { { 139, 1 }, { 139, 1 }, { 140, 2 }, - { 268, 4 }, - { 268, 5 }, + { 267, 4 }, + { 267, 5 }, + { 268, 0 }, + { 268, 2 }, + { 236, 6 }, { 269, 0 }, - { 269, 2 }, - { 237, 6 }, { 270, 0 }, - { 271, 0 }, { 212, 1 }, { 171, 1 }, { 171, 3 }, { 172, 3 }, - { 272, 1 }, + { 271, 1 }, { 188, 0 }, { 188, 1 }, { 188, 1 }, @@ -2093,9 +2006,9 @@ static const struct { { 141, 3 }, { 201, 3 }, { 201, 2 }, - { 248, 4 }, + { 247, 4 }, { 154, 5 }, - { 273, 1 }, + { 272, 1 }, { 155, 0 }, { 210, 1 }, { 210, 1 }, @@ -2118,21 +2031,21 @@ static const struct { { 202, 7 }, { 203, 2 }, { 203, 5 }, - { 267, 1 }, - { 243, 5 }, - { 231, 1 }, + { 266, 1 }, + { 242, 5 }, + { 230, 1 }, { 185, 1 }, { 185, 3 }, { 151, 4 }, { 152, 5 }, { 153, 0 }, - { 274, 2 }, + { 273, 2 }, + { 273, 3 }, + { 253, 4 }, + { 253, 1 }, { 274, 3 }, - { 254, 4 }, - { 254, 1 }, - { 275, 3 }, { 216, 4 }, - { 238, 1 }, + { 237, 1 }, { 223, 4 }, { 223, 3 }, { 204, 2 }, @@ -2169,12 +2082,12 @@ static const struct { { 225, 1 }, { 225, 1 }, { 225, 1 }, - { 276, 1 }, - { 276, 1 }, - { 277, 3 }, - { 278, 2 }, - { 249, 3 }, - { 279, 3 }, + { 275, 1 }, + { 275, 1 }, + { 276, 3 }, + { 277, 2 }, + { 248, 3 }, + { 278, 3 }, { 134, 2 }, { 134, 1 }, { 145, 1 }, @@ -2191,7 +2104,6 @@ static const struct { { 192, 0 }, { 192, 1 }, { 193, 1 }, - { 193, 5 }, { 186, 1 }, { 186, 3 }, { 179, 2 }, @@ -2202,8 +2114,8 @@ static const struct { { 184, 2 }, { 147, 0 }, { 147, 2 }, - { 232, 2 }, - { 232, 4 }, + { 231, 2 }, + { 231, 4 }, { 163, 1 }, { 163, 2 }, { 175, 2 }, @@ -2276,16 +2188,16 @@ static void yy_reduce( */ case 0: /* action_body ::= action_body_item_rep statement_rep */ case 70: /* derive_decl ::= TOK_DERIVE derived_attribute_rep */ yytestcase(yyruleno==70); - case 181: /* inverse_clause ::= TOK_INVERSE inverse_attr_list */ yytestcase(yyruleno==181); - case 270: /* statement_rep ::= semicolon statement_rep */ yytestcase(yyruleno==270); - case 322: /* unique_clause ::= TOK_UNIQUE labelled_attrib_list_list */ yytestcase(yyruleno==322); - case 329: /* where_rule ::= TOK_WHERE where_clause_list */ yytestcase(yyruleno==329); - case 331: /* where_rule_OPT ::= where_rule */ yytestcase(yyruleno==331); -#line 363 "expparse.y" + case 180: /* inverse_clause ::= TOK_INVERSE inverse_attr_list */ yytestcase(yyruleno==180); + case 269: /* statement_rep ::= semicolon statement_rep */ yytestcase(yyruleno==269); + case 320: /* unique_clause ::= TOK_UNIQUE labelled_attrib_list_list */ yytestcase(yyruleno==320); + case 327: /* where_rule ::= TOK_WHERE where_clause_list */ yytestcase(yyruleno==327); + case 329: /* where_rule_OPT ::= where_rule */ yytestcase(yyruleno==329); +#line 297 "expparse.y" { - yygotominor.yy471 = yymsp[0].minor.yy471; + yygotominor.yy371 = yymsp[0].minor.yy371; } -#line 2289 "expparse.c" +#line 2201 "expparse.c" break; case 1: /* action_body_item ::= declaration */ case 2: /* action_body_item ::= constant_decl */ yytestcase(yyruleno==2); @@ -2298,541 +2210,543 @@ static void yy_reduce( case 67: /* declaration ::= procedure_decl */ yytestcase(yyruleno==67); case 68: /* declaration ::= type_decl */ yytestcase(yyruleno==68); case 87: /* schema_decl_list ::= schema_decl */ yytestcase(yyruleno==87); - case 158: /* rename_list ::= rename */ yytestcase(yyruleno==158); - case 167: /* interface_specification ::= use_clause */ yytestcase(yyruleno==167); - case 168: /* interface_specification ::= reference_clause */ yytestcase(yyruleno==168); - case 204: /* oneof_op ::= TOK_ONEOF */ yytestcase(yyruleno==204); - case 252: /* schema_decl ::= include_directive */ yytestcase(yyruleno==252); - case 292: /* type_item_body ::= enumeration_type */ yytestcase(yyruleno==292); -#line 369 "expparse.y" + case 157: /* rename_list ::= rename */ yytestcase(yyruleno==157); + case 166: /* interface_specification ::= use_clause */ yytestcase(yyruleno==166); + case 167: /* interface_specification ::= reference_clause */ yytestcase(yyruleno==167); + case 203: /* oneof_op ::= TOK_ONEOF */ yytestcase(yyruleno==203); + case 251: /* schema_decl ::= include_directive */ yytestcase(yyruleno==251); + case 291: /* type_item_body ::= enumeration_type */ yytestcase(yyruleno==291); +#line 303 "expparse.y" { yygotominor.yy0 = yymsp[0].minor.yy0; } -#line 2312 "expparse.c" +#line 2224 "expparse.c" break; case 5: /* action_body_item_rep ::= action_body_item action_body_item_rep */ case 42: /* block_list ::= block_list block_member */ yytestcase(yyruleno==42); case 63: /* constant_body_list ::= constant_body constant_body_list */ yytestcase(yyruleno==63); case 88: /* schema_decl_list ::= schema_decl_list schema_decl */ yytestcase(yyruleno==88); - case 170: /* interface_specification_list ::= interface_specification_list interface_specification */ yytestcase(yyruleno==170); - case 196: /* local_body ::= local_variable local_body */ yytestcase(yyruleno==196); - case 249: /* schema_body ::= interface_specification_list block_list */ yytestcase(yyruleno==249); -#line 386 "expparse.y" + case 169: /* interface_specification_list ::= interface_specification_list interface_specification */ yytestcase(yyruleno==169); + case 195: /* local_body ::= local_variable local_body */ yytestcase(yyruleno==195); + case 248: /* schema_body ::= interface_specification_list block_list */ yytestcase(yyruleno==248); +#line 320 "expparse.y" { yygotominor.yy0 = yymsp[-1].minor.yy0; } -#line 2325 "expparse.c" +#line 2237 "expparse.c" break; case 6: /* actual_parameters ::= TOK_LEFT_PAREN expression_list TOK_RIGHT_PAREN */ - case 203: /* nested_id_list ::= TOK_LEFT_PAREN id_list TOK_RIGHT_PAREN */ yytestcase(yyruleno==203); - case 276: /* subtype_decl ::= TOK_SUBTYPE TOK_OF TOK_LEFT_PAREN defined_type_list TOK_RIGHT_PAREN */ yytestcase(yyruleno==276); -#line 403 "expparse.y" + case 202: /* nested_id_list ::= TOK_LEFT_PAREN id_list TOK_RIGHT_PAREN */ yytestcase(yyruleno==202); + case 275: /* subtype_decl ::= TOK_SUBTYPE TOK_OF TOK_LEFT_PAREN defined_type_list TOK_RIGHT_PAREN */ yytestcase(yyruleno==275); +#line 337 "expparse.y" { - yygotominor.yy471 = yymsp[-1].minor.yy471; + yygotominor.yy371 = yymsp[-1].minor.yy371; } -#line 2334 "expparse.c" +#line 2246 "expparse.c" break; case 7: /* actual_parameters ::= TOK_LEFT_PAREN TOK_RIGHT_PAREN */ - case 321: /* unique_clause ::= */ yytestcase(yyruleno==321); -#line 407 "expparse.y" + case 319: /* unique_clause ::= */ yytestcase(yyruleno==319); +#line 341 "expparse.y" { - yygotominor.yy471 = 0; + yygotominor.yy371 = 0; } -#line 2342 "expparse.c" +#line 2254 "expparse.c" break; case 8: /* aggregate_initializer ::= TOK_LEFT_BRACKET TOK_RIGHT_BRACKET */ -#line 413 "expparse.y" +#line 347 "expparse.y" { - yygotominor.yy145 = EXPcreate(Type_Aggregate); - yygotominor.yy145->u.list = LISTcreate(); + yygotominor.yy401 = EXPcreate(Type_Aggregate); + yygotominor.yy401->u.list = LISTcreate(); } -#line 2350 "expparse.c" +#line 2262 "expparse.c" break; case 9: /* aggregate_initializer ::= TOK_LEFT_BRACKET aggregate_init_body TOK_RIGHT_BRACKET */ -#line 419 "expparse.y" +#line 353 "expparse.y" { - yygotominor.yy145 = EXPcreate(Type_Aggregate); - yygotominor.yy145->u.list = yymsp[-1].minor.yy471; + yygotominor.yy401 = EXPcreate(Type_Aggregate); + yygotominor.yy401->u.list = yymsp[-1].minor.yy371; } -#line 2358 "expparse.c" +#line 2270 "expparse.c" break; case 10: /* aggregate_init_element ::= expression */ case 25: /* assignable ::= identifier */ yytestcase(yyruleno==25); case 47: /* by_expression ::= TOK_BY expression */ yytestcase(yyruleno==47); case 89: /* expression ::= simple_expression */ yytestcase(yyruleno==89); case 104: /* simple_expression ::= unary_expression */ yytestcase(yyruleno==104); - case 155: /* initializer ::= TOK_ASSIGNMENT expression */ yytestcase(yyruleno==155); - case 191: /* literal ::= constant */ yytestcase(yyruleno==191); - case 192: /* local_initializer ::= TOK_ASSIGNMENT expression */ yytestcase(yyruleno==192); - case 299: /* general_ref ::= assignable */ yytestcase(yyruleno==299); - case 300: /* unary_expression ::= aggregate_initializer */ yytestcase(yyruleno==300); - case 302: /* unary_expression ::= literal */ yytestcase(yyruleno==302); - case 303: /* unary_expression ::= function_call */ yytestcase(yyruleno==303); - case 304: /* unary_expression ::= identifier */ yytestcase(yyruleno==304); - case 306: /* unary_expression ::= interval */ yytestcase(yyruleno==306); - case 307: /* unary_expression ::= query_expression */ yytestcase(yyruleno==307); - case 309: /* unary_expression ::= TOK_PLUS unary_expression */ yytestcase(yyruleno==309); - case 324: /* until_control ::= TOK_UNTIL expression */ yytestcase(yyruleno==324); - case 333: /* while_control ::= TOK_WHILE expression */ yytestcase(yyruleno==333); -#line 425 "expparse.y" -{ - yygotominor.yy145 = yymsp[0].minor.yy145; -} -#line 2382 "expparse.c" + case 154: /* initializer ::= TOK_ASSIGNMENT expression */ yytestcase(yyruleno==154); + case 190: /* literal ::= constant */ yytestcase(yyruleno==190); + case 191: /* local_initializer ::= TOK_ASSIGNMENT expression */ yytestcase(yyruleno==191); + case 298: /* general_ref ::= assignable */ yytestcase(yyruleno==298); + case 299: /* unary_expression ::= aggregate_initializer */ yytestcase(yyruleno==299); + case 301: /* unary_expression ::= literal */ yytestcase(yyruleno==301); + case 302: /* unary_expression ::= function_call */ yytestcase(yyruleno==302); + case 303: /* unary_expression ::= identifier */ yytestcase(yyruleno==303); + case 305: /* unary_expression ::= interval */ yytestcase(yyruleno==305); + case 306: /* unary_expression ::= query_expression */ yytestcase(yyruleno==306); + case 308: /* unary_expression ::= TOK_PLUS unary_expression */ yytestcase(yyruleno==308); + case 312: /* qualified_attr ::= attribute_decl */ yytestcase(yyruleno==312); + case 322: /* until_control ::= TOK_UNTIL expression */ yytestcase(yyruleno==322); + case 331: /* while_control ::= TOK_WHILE expression */ yytestcase(yyruleno==331); +#line 359 "expparse.y" +{ + yygotominor.yy401 = yymsp[0].minor.yy401; +} +#line 2295 "expparse.c" break; case 11: /* aggregate_init_body ::= aggregate_init_element */ -#line 430 "expparse.y" + case 113: /* expression_list ::= expression */ yytestcase(yyruleno==113); + case 282: /* supertype_expression_list ::= supertype_expression */ yytestcase(yyruleno==282); + case 313: /* qualified_attr_list ::= qualified_attr */ yytestcase(yyruleno==313); +#line 364 "expparse.y" { - yygotominor.yy471 = LISTcreate(); - LISTadd(yygotominor.yy471, (Generic)yymsp[0].minor.yy145); + yygotominor.yy371 = LISTcreate(); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy401); } -#line 2390 "expparse.c" +#line 2306 "expparse.c" break; case 12: /* aggregate_init_body ::= aggregate_init_element TOK_COLON expression */ -#line 435 "expparse.y" +#line 369 "expparse.y" { - yygotominor.yy471 = LISTcreate(); - LISTadd(yygotominor.yy471, (Generic)yymsp[-2].minor.yy145); + yygotominor.yy371 = LISTcreate(); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[-2].minor.yy401); - LISTadd(yygotominor.yy471, (Generic)yymsp[0].minor.yy145); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy401); - yymsp[-2].minor.yy145->type->u.type->body->flags.repeat = 1; + yymsp[0].minor.yy401->type = Type_Repeat; } -#line 2402 "expparse.c" +#line 2318 "expparse.c" break; case 13: /* aggregate_init_body ::= aggregate_init_body TOK_COMMA aggregate_init_element */ -#line 445 "expparse.y" +#line 379 "expparse.y" { - yygotominor.yy471 = yymsp[-2].minor.yy471; + yygotominor.yy371 = yymsp[-2].minor.yy371; - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy145); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy401); } -#line 2412 "expparse.c" +#line 2328 "expparse.c" break; case 14: /* aggregate_init_body ::= aggregate_init_body TOK_COMMA aggregate_init_element TOK_COLON expression */ -#line 453 "expparse.y" +#line 387 "expparse.y" { - yygotominor.yy471 = yymsp[-4].minor.yy471; + yygotominor.yy371 = yymsp[-4].minor.yy371; - LISTadd_last(yygotominor.yy471, (Generic)yymsp[-2].minor.yy145); - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy145); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[-2].minor.yy401); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy401); - yymsp[-2].minor.yy145->type->u.type->body->flags.repeat = 1; + yymsp[0].minor.yy401->type = Type_Repeat; } -#line 2424 "expparse.c" +#line 2340 "expparse.c" break; case 15: /* aggregate_type ::= TOK_AGGREGATE TOK_OF parameter_type */ -#line 463 "expparse.y" +#line 397 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(aggregate_); - yygotominor.yy457->base = yymsp[0].minor.yy155; + yygotominor.yy477 = TYPEBODYcreate(aggregate_); + yygotominor.yy477->base = yymsp[0].minor.yy297; if (tag_count < 0) { Symbol sym; sym.line = yylineno; sym.filename = current_filename; - ERRORreport_with_symbol(ERROR_unlabelled_param_type, &sym, - CURRENT_SCOPE_NAME); + ERRORreport_with_symbol(UNLABELLED_PARAM_TYPE, &sym, CURRENT_SCOPE_NAME); } } -#line 2440 "expparse.c" +#line 2356 "expparse.c" break; case 16: /* aggregate_type ::= TOK_AGGREGATE TOK_COLON TOK_IDENTIFIER TOK_OF parameter_type */ -#line 477 "expparse.y" +#line 411 "expparse.y" { - Type t = TYPEcreate_user_defined_tag(yymsp[0].minor.yy155, CURRENT_SCOPE, yymsp[-2].minor.yy0.symbol); + Type t = TYPEcreate_user_defined_tag(yymsp[0].minor.yy297, CURRENT_SCOPE, yymsp[-2].minor.yy0.symbol); if (t) { SCOPEadd_super(t); - yygotominor.yy457 = TYPEBODYcreate(aggregate_); - yygotominor.yy457->tag = t; - yygotominor.yy457->base = yymsp[0].minor.yy155; + yygotominor.yy477 = TYPEBODYcreate(aggregate_); + yygotominor.yy477->tag = t; + yygotominor.yy477->base = yymsp[0].minor.yy297; } } -#line 2454 "expparse.c" +#line 2370 "expparse.c" break; case 17: /* aggregation_type ::= array_type */ case 18: /* aggregation_type ::= bag_type */ yytestcase(yyruleno==18); case 19: /* aggregation_type ::= list_type */ yytestcase(yyruleno==19); case 20: /* aggregation_type ::= set_type */ yytestcase(yyruleno==20); -#line 489 "expparse.y" +#line 423 "expparse.y" { - yygotominor.yy457 = yymsp[0].minor.yy457; + yygotominor.yy477 = yymsp[0].minor.yy477; } -#line 2464 "expparse.c" +#line 2380 "expparse.c" break; case 21: /* alias_statement ::= TOK_ALIAS TOK_IDENTIFIER TOK_FOR general_ref semicolon alias_push_scope statement_rep TOK_END_ALIAS semicolon */ -#line 508 "expparse.y" +#line 442 "expparse.y" { Expression e = EXPcreate_from_symbol(Type_Attribute, yymsp[-7].minor.yy0.symbol); Variable v = VARcreate(e, Type_Unknown); - v->initializer = yymsp[-5].minor.yy145; + v->initializer = yymsp[-5].minor.yy401; DICTdefine(CURRENT_SCOPE->symbol_table, yymsp[-7].minor.yy0.symbol->name, (Generic)v, - yymsp[-7].minor.yy0.symbol, OBJ_VARIABLE); - yygotominor.yy522 = ALIAScreate(CURRENT_SCOPE, v, yymsp[-2].minor.yy471); + yymsp[-7].minor.yy0.symbol, OBJ_VARIABLE); + yygotominor.yy332 = ALIAScreate(CURRENT_SCOPE, v, yymsp[-2].minor.yy371); POP_SCOPE(); } -#line 2480 "expparse.c" +#line 2396 "expparse.c" break; case 22: /* alias_push_scope ::= */ -#line 522 "expparse.y" +#line 456 "expparse.y" { struct Scope_ *s = SCOPEcreate_tiny(OBJ_ALIAS); PUSH_SCOPE(s, (Symbol *)0, OBJ_ALIAS); } -#line 2488 "expparse.c" +#line 2404 "expparse.c" break; - case 23: /* array_type ::= TOK_ARRAY index_spec TOK_OF optional_or_unique attribute_type */ -#line 529 "expparse.y" + case 23: /* array_type ::= TOK_ARRAY bound_spec TOK_OF optional_or_unique attribute_type */ +#line 463 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(array_); + yygotominor.yy477 = TYPEBODYcreate(array_); - yygotominor.yy457->flags.optional = yymsp[-1].minor.yy224.optional; - yygotominor.yy457->flags.unique = yymsp[-1].minor.yy224.unique; - yygotominor.yy457->upper = yymsp[-3].minor.yy210.upper_limit; - yygotominor.yy457->lower = yymsp[-3].minor.yy210.lower_limit; - yygotominor.yy457->base = yymsp[0].minor.yy155; + yygotominor.yy477->flags.optional = yymsp[-1].minor.yy252.optional; + yygotominor.yy477->flags.unique = yymsp[-1].minor.yy252.unique; + yygotominor.yy477->upper = yymsp[-3].minor.yy253.upper_limit; + yygotominor.yy477->lower = yymsp[-3].minor.yy253.lower_limit; + yygotominor.yy477->base = yymsp[0].minor.yy297; } -#line 2501 "expparse.c" +#line 2417 "expparse.c" break; case 24: /* assignable ::= assignable qualifier */ - case 301: /* unary_expression ::= unary_expression qualifier */ yytestcase(yyruleno==301); -#line 541 "expparse.y" + case 300: /* unary_expression ::= unary_expression qualifier */ yytestcase(yyruleno==300); +#line 475 "expparse.y" { - yymsp[0].minor.yy384.first->e.op1 = yymsp[-1].minor.yy145; - yygotominor.yy145 = yymsp[0].minor.yy384.expr; + yymsp[0].minor.yy46.first->e.op1 = yymsp[-1].minor.yy401; + yygotominor.yy401 = yymsp[0].minor.yy46.expr; } -#line 2510 "expparse.c" +#line 2426 "expparse.c" break; case 26: /* assignment_statement ::= assignable TOK_ASSIGNMENT expression semicolon */ -#line 552 "expparse.y" +#line 486 "expparse.y" { - yygotominor.yy522 = ASSIGNcreate(yymsp[-3].minor.yy145, yymsp[-1].minor.yy145); + yygotominor.yy332 = ASSIGNcreate(yymsp[-3].minor.yy401, yymsp[-1].minor.yy401); } -#line 2517 "expparse.c" +#line 2433 "expparse.c" break; case 27: /* attribute_type ::= aggregation_type */ case 28: /* attribute_type ::= basic_type */ yytestcase(yyruleno==28); case 122: /* parameter_type ::= basic_type */ yytestcase(yyruleno==122); case 123: /* parameter_type ::= conformant_aggregation */ yytestcase(yyruleno==123); -#line 557 "expparse.y" +#line 491 "expparse.y" { - yygotominor.yy155 = TYPEcreate_from_body_anonymously(yymsp[0].minor.yy457); - SCOPEadd_super(yygotominor.yy155); + yygotominor.yy297 = TYPEcreate_from_body_anonymously(yymsp[0].minor.yy477); + SCOPEadd_super(yygotominor.yy297); } -#line 2528 "expparse.c" +#line 2444 "expparse.c" break; case 29: /* attribute_type ::= defined_type */ case 124: /* parameter_type ::= defined_type */ yytestcase(yyruleno==124); case 125: /* parameter_type ::= generic_type */ yytestcase(yyruleno==125); -#line 567 "expparse.y" +#line 501 "expparse.y" { - yygotominor.yy155 = yymsp[0].minor.yy155; + yygotominor.yy297 = yymsp[0].minor.yy297; } -#line 2537 "expparse.c" +#line 2453 "expparse.c" break; case 30: /* explicit_attr_list ::= */ case 50: /* case_action_list ::= */ yytestcase(yyruleno==50); case 69: /* derive_decl ::= */ yytestcase(yyruleno==69); - case 269: /* statement_rep ::= */ yytestcase(yyruleno==269); -#line 572 "expparse.y" + case 268: /* statement_rep ::= */ yytestcase(yyruleno==268); +#line 506 "expparse.y" { - yygotominor.yy471 = LISTcreate(); + yygotominor.yy371 = LISTcreate(); } -#line 2547 "expparse.c" +#line 2463 "expparse.c" break; case 31: /* explicit_attr_list ::= explicit_attr_list explicit_attribute */ -#line 576 "expparse.y" +#line 510 "expparse.y" { - yygotominor.yy471 = yymsp[-1].minor.yy471; - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy471); + yygotominor.yy371 = yymsp[-1].minor.yy371; + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy371); } -#line 2555 "expparse.c" +#line 2471 "expparse.c" break; - case 32: /* bag_type ::= TOK_BAG limit_spec TOK_OF attribute_type */ - case 138: /* conformant_aggregation ::= TOK_BAG index_spec TOK_OF parameter_type */ yytestcase(yyruleno==138); -#line 582 "expparse.y" + case 32: /* bag_type ::= TOK_BAG bound_spec TOK_OF attribute_type */ + case 138: /* conformant_aggregation ::= TOK_BAG bound_spec TOK_OF parameter_type */ yytestcase(yyruleno==138); +#line 516 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(bag_); - yygotominor.yy457->base = yymsp[0].minor.yy155; - yygotominor.yy457->upper = yymsp[-2].minor.yy210.upper_limit; - yygotominor.yy457->lower = yymsp[-2].minor.yy210.lower_limit; + yygotominor.yy477 = TYPEBODYcreate(bag_); + yygotominor.yy477->base = yymsp[0].minor.yy297; + yygotominor.yy477->upper = yymsp[-2].minor.yy253.upper_limit; + yygotominor.yy477->lower = yymsp[-2].minor.yy253.lower_limit; } -#line 2566 "expparse.c" +#line 2482 "expparse.c" break; case 33: /* bag_type ::= TOK_BAG TOK_OF attribute_type */ -#line 589 "expparse.y" +#line 523 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(bag_); - yygotominor.yy457->base = yymsp[0].minor.yy155; + yygotominor.yy477 = TYPEBODYcreate(bag_); + yygotominor.yy477->base = yymsp[0].minor.yy297; } -#line 2574 "expparse.c" +#line 2490 "expparse.c" break; case 34: /* basic_type ::= TOK_BOOLEAN */ -#line 595 "expparse.y" +#line 529 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(boolean_); + yygotominor.yy477 = TYPEBODYcreate(boolean_); } -#line 2581 "expparse.c" +#line 2497 "expparse.c" break; case 35: /* basic_type ::= TOK_INTEGER precision_spec */ -#line 599 "expparse.y" +#line 533 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(integer_); - yygotominor.yy457->precision = yymsp[0].minor.yy145; + yygotominor.yy477 = TYPEBODYcreate(integer_); + yygotominor.yy477->precision = yymsp[0].minor.yy401; } -#line 2589 "expparse.c" +#line 2505 "expparse.c" break; case 36: /* basic_type ::= TOK_REAL precision_spec */ -#line 604 "expparse.y" +#line 538 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(real_); - yygotominor.yy457->precision = yymsp[0].minor.yy145; + yygotominor.yy477 = TYPEBODYcreate(real_); + yygotominor.yy477->precision = yymsp[0].minor.yy401; } -#line 2597 "expparse.c" +#line 2513 "expparse.c" break; case 37: /* basic_type ::= TOK_NUMBER */ -#line 609 "expparse.y" +#line 543 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(number_); + yygotominor.yy477 = TYPEBODYcreate(number_); } -#line 2604 "expparse.c" +#line 2520 "expparse.c" break; case 38: /* basic_type ::= TOK_LOGICAL */ -#line 613 "expparse.y" +#line 547 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(logical_); + yygotominor.yy477 = TYPEBODYcreate(logical_); } -#line 2611 "expparse.c" +#line 2527 "expparse.c" break; case 39: /* basic_type ::= TOK_BINARY precision_spec optional_fixed */ -#line 617 "expparse.y" +#line 551 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(binary_); - yygotominor.yy457->precision = yymsp[-1].minor.yy145; - yygotominor.yy457->flags.fixed = yymsp[0].minor.yy224.fixed; + yygotominor.yy477 = TYPEBODYcreate(binary_); + yygotominor.yy477->precision = yymsp[-1].minor.yy401; + yygotominor.yy477->flags.fixed = yymsp[0].minor.yy252.fixed; } -#line 2620 "expparse.c" +#line 2536 "expparse.c" break; case 40: /* basic_type ::= TOK_STRING precision_spec optional_fixed */ -#line 623 "expparse.y" +#line 557 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(string_); - yygotominor.yy457->precision = yymsp[-1].minor.yy145; - yygotominor.yy457->flags.fixed = yymsp[0].minor.yy224.fixed; + yygotominor.yy477 = TYPEBODYcreate(string_); + yygotominor.yy477->precision = yymsp[-1].minor.yy401; + yygotominor.yy477->flags.fixed = yymsp[0].minor.yy252.fixed; } -#line 2629 "expparse.c" +#line 2545 "expparse.c" break; case 46: /* by_expression ::= */ -#line 649 "expparse.y" +#line 583 "expparse.y" { - yygotominor.yy145 = LITERAL_ONE; + yygotominor.yy401 = LITERAL_ONE; } -#line 2636 "expparse.c" +#line 2552 "expparse.c" break; case 48: /* cardinality_op ::= TOK_LEFT_CURL expression TOK_COLON expression TOK_RIGHT_CURL */ - case 154: /* index_spec ::= TOK_LEFT_BRACKET expression TOK_COLON expression TOK_RIGHT_BRACKET */ yytestcase(yyruleno==154); - case 182: /* limit_spec ::= TOK_LEFT_BRACKET expression TOK_COLON expression TOK_RIGHT_BRACKET */ yytestcase(yyruleno==182); -#line 659 "expparse.y" + case 181: /* bound_spec ::= TOK_LEFT_BRACKET expression TOK_COLON expression TOK_RIGHT_BRACKET */ yytestcase(yyruleno==181); +#line 593 "expparse.y" { - yygotominor.yy210.lower_limit = yymsp[-3].minor.yy145; - yygotominor.yy210.upper_limit = yymsp[-1].minor.yy145; + yygotominor.yy253.lower_limit = yymsp[-3].minor.yy401; + yygotominor.yy253.upper_limit = yymsp[-1].minor.yy401; } -#line 2646 "expparse.c" +#line 2561 "expparse.c" break; case 49: /* case_action ::= case_labels TOK_COLON statement */ -#line 665 "expparse.y" +#line 599 "expparse.y" { - yygotominor.yy259 = CASE_ITcreate(yymsp[-2].minor.yy471, yymsp[0].minor.yy522); - SYMBOLset(yygotominor.yy259); + yygotominor.yy321 = CASE_ITcreate(yymsp[-2].minor.yy371, yymsp[0].minor.yy332); + SYMBOLset(yygotominor.yy321); } -#line 2654 "expparse.c" +#line 2569 "expparse.c" break; case 51: /* case_action_list ::= case_action_list case_action */ -#line 675 "expparse.y" +#line 609 "expparse.y" { yyerrok; - yygotominor.yy471 = yymsp[-1].minor.yy471; + yygotominor.yy371 = yymsp[-1].minor.yy371; - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy259); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy321); } -#line 2665 "expparse.c" +#line 2580 "expparse.c" break; case 52: /* case_block ::= case_action_list case_otherwise */ -#line 684 "expparse.y" +#line 618 "expparse.y" { - yygotominor.yy471 = yymsp[-1].minor.yy471; + yygotominor.yy371 = yymsp[-1].minor.yy371; - if (yymsp[0].minor.yy259) { - LISTadd_last(yygotominor.yy471, - (Generic)yymsp[0].minor.yy259); + if (yymsp[0].minor.yy321) { + LISTadd_last(yygotominor.yy371, + (Generic)yymsp[0].minor.yy321); } } -#line 2677 "expparse.c" +#line 2592 "expparse.c" break; case 53: /* case_labels ::= expression */ -#line 694 "expparse.y" +#line 628 "expparse.y" { - yygotominor.yy471 = LISTcreate(); + yygotominor.yy371 = LISTcreate(); - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy145); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy401); } -#line 2686 "expparse.c" +#line 2601 "expparse.c" break; case 54: /* case_labels ::= case_labels TOK_COMMA expression */ -#line 700 "expparse.y" +#line 634 "expparse.y" { yyerrok; - yygotominor.yy471 = yymsp[-2].minor.yy471; - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy145); + yygotominor.yy371 = yymsp[-2].minor.yy371; + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy401); } -#line 2696 "expparse.c" +#line 2611 "expparse.c" break; case 55: /* case_otherwise ::= */ -#line 708 "expparse.y" +#line 642 "expparse.y" { - yygotominor.yy259 = (Case_Item)0; + yygotominor.yy321 = (Case_Item)0; } -#line 2703 "expparse.c" +#line 2618 "expparse.c" break; case 56: /* case_otherwise ::= TOK_OTHERWISE TOK_COLON statement */ -#line 712 "expparse.y" +#line 646 "expparse.y" { - yygotominor.yy259 = CASE_ITcreate(LIST_NULL, yymsp[0].minor.yy522); - SYMBOLset(yygotominor.yy259); + yygotominor.yy321 = CASE_ITcreate(LIST_NULL, yymsp[0].minor.yy332); + SYMBOLset(yygotominor.yy321); } -#line 2711 "expparse.c" +#line 2626 "expparse.c" break; case 57: /* case_statement ::= TOK_CASE expression TOK_OF case_block TOK_END_CASE semicolon */ -#line 719 "expparse.y" +#line 653 "expparse.y" { - yygotominor.yy522 = CASEcreate(yymsp[-4].minor.yy145, yymsp[-2].minor.yy471); + yygotominor.yy332 = CASEcreate(yymsp[-4].minor.yy401, yymsp[-2].minor.yy371); } -#line 2718 "expparse.c" +#line 2633 "expparse.c" break; case 58: /* compound_statement ::= TOK_BEGIN statement_rep TOK_END semicolon */ -#line 724 "expparse.y" +#line 658 "expparse.y" { - yygotominor.yy522 = COMP_STMTcreate(yymsp[-2].minor.yy471); + yygotominor.yy332 = COMP_STMTcreate(yymsp[-2].minor.yy371); } -#line 2725 "expparse.c" +#line 2640 "expparse.c" break; case 59: /* constant ::= TOK_PI */ -#line 729 "expparse.y" +#line 663 "expparse.y" { - yygotominor.yy145 = LITERAL_PI; + yygotominor.yy401 = LITERAL_PI; } -#line 2732 "expparse.c" +#line 2647 "expparse.c" break; case 60: /* constant ::= TOK_E */ -#line 734 "expparse.y" +#line 668 "expparse.y" { - yygotominor.yy145 = LITERAL_E; + yygotominor.yy401 = LITERAL_E; } -#line 2739 "expparse.c" +#line 2654 "expparse.c" break; case 61: /* constant_body ::= identifier TOK_COLON attribute_type TOK_ASSIGNMENT expression semicolon */ -#line 741 "expparse.y" +#line 675 "expparse.y" { Variable v; - yymsp[-5].minor.yy145->type = yymsp[-3].minor.yy155; - v = VARcreate(yymsp[-5].minor.yy145, yymsp[-3].minor.yy155); - v->initializer = yymsp[-1].minor.yy145; + yymsp[-5].minor.yy401->type = yymsp[-3].minor.yy297; + v = VARcreate(yymsp[-5].minor.yy401, yymsp[-3].minor.yy297); + v->initializer = yymsp[-1].minor.yy401; v->flags.constant = 1; - DICTdefine(CURRENT_SCOPE->symbol_table, yymsp[-5].minor.yy145->symbol.name, (Generic)v, - &yymsp[-5].minor.yy145->symbol, OBJ_VARIABLE); + DICTdefine(CURRENT_SCOPE->symbol_table, yymsp[-5].minor.yy401->symbol.name, (Generic)v, + &yymsp[-5].minor.yy401->symbol, OBJ_VARIABLE); } -#line 2753 "expparse.c" +#line 2668 "expparse.c" break; case 64: /* constant_decl ::= TOK_CONSTANT constant_body_list TOK_END_CONSTANT semicolon */ -#line 760 "expparse.y" +#line 694 "expparse.y" { yygotominor.yy0 = yymsp[-3].minor.yy0; } -#line 2760 "expparse.c" +#line 2675 "expparse.c" break; case 71: /* derived_attribute ::= attribute_decl TOK_COLON attribute_type initializer semicolon */ -#line 792 "expparse.y" +#line 726 "expparse.y" { - yygotominor.yy443 = VARcreate(yymsp[-4].minor.yy145, yymsp[-2].minor.yy155); - yygotominor.yy443->initializer = yymsp[-1].minor.yy145; - yygotominor.yy443->flags.attribute = true; + yygotominor.yy91 = VARcreate(yymsp[-4].minor.yy401, yymsp[-2].minor.yy297); + yygotominor.yy91->initializer = yymsp[-1].minor.yy401; + yygotominor.yy91->flags.attribute = true; } -#line 2769 "expparse.c" +#line 2684 "expparse.c" break; case 72: /* derived_attribute_rep ::= derived_attribute */ - case 177: /* inverse_attr_list ::= inverse_attr */ yytestcase(yyruleno==177); -#line 799 "expparse.y" + case 176: /* inverse_attr_list ::= inverse_attr */ yytestcase(yyruleno==176); +#line 733 "expparse.y" { - yygotominor.yy471 = LISTcreate(); - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy443); + yygotominor.yy371 = LISTcreate(); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy91); } -#line 2778 "expparse.c" +#line 2693 "expparse.c" break; case 73: /* derived_attribute_rep ::= derived_attribute_rep derived_attribute */ - case 178: /* inverse_attr_list ::= inverse_attr_list inverse_attr */ yytestcase(yyruleno==178); -#line 804 "expparse.y" + case 177: /* inverse_attr_list ::= inverse_attr_list inverse_attr */ yytestcase(yyruleno==177); +#line 738 "expparse.y" { - yygotominor.yy471 = yymsp[-1].minor.yy471; - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy443); + yygotominor.yy371 = yymsp[-1].minor.yy371; + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy91); } -#line 2787 "expparse.c" +#line 2702 "expparse.c" break; case 74: /* entity_body ::= explicit_attr_list derive_decl inverse_clause unique_clause where_rule_OPT */ -#line 811 "expparse.y" +#line 745 "expparse.y" { - yygotominor.yy24.attributes = yymsp[-4].minor.yy471; + yygotominor.yy176.attributes = yymsp[-4].minor.yy371; /* this is flattened out in entity_decl - DEL */ - LISTadd_last(yygotominor.yy24.attributes, (Generic)yymsp[-3].minor.yy471); + LISTadd_last(yygotominor.yy176.attributes, (Generic)yymsp[-3].minor.yy371); - if (yymsp[-2].minor.yy471 != LIST_NULL) { - LISTadd_last(yygotominor.yy24.attributes, (Generic)yymsp[-2].minor.yy471); + if (yymsp[-2].minor.yy371 != LIST_NULL) { + LISTadd_last(yygotominor.yy176.attributes, (Generic)yymsp[-2].minor.yy371); } - yygotominor.yy24.unique = yymsp[-1].minor.yy471; - yygotominor.yy24.where = yymsp[0].minor.yy471; + yygotominor.yy176.unique = yymsp[-1].minor.yy371; + yygotominor.yy176.where = yymsp[0].minor.yy371; } -#line 2803 "expparse.c" +#line 2718 "expparse.c" break; case 75: /* entity_decl ::= entity_header subsuper_decl semicolon entity_body TOK_END_ENTITY semicolon */ -#line 826 "expparse.y" -{ - CURRENT_SCOPE->u.entity->subtype_expression = yymsp[-4].minor.yy34.subtypes; - CURRENT_SCOPE->u.entity->supertype_symbols = yymsp[-4].minor.yy34.supertypes; - LISTdo (yymsp[-2].minor.yy24.attributes, l, Linked_List) - LISTdo (l, a, Variable) - ENTITYadd_attribute(CURRENT_SCOPE, a); - LISTod; - LISTod; - CURRENT_SCOPE->u.entity->abstract = yymsp[-4].minor.yy34.abstract; - CURRENT_SCOPE->u.entity->unique = yymsp[-2].minor.yy24.unique; - CURRENT_SCOPE->where = yymsp[-2].minor.yy24.where; +#line 760 "expparse.y" +{ + CURRENT_SCOPE->u.entity->subtype_expression = yymsp[-4].minor.yy242.subtypes; + CURRENT_SCOPE->u.entity->supertype_symbols = yymsp[-4].minor.yy242.supertypes; + LISTdo( yymsp[-2].minor.yy176.attributes, l, Linked_List ) { + LISTdo_n( l, a, Variable, b ) { + ENTITYadd_attribute(CURRENT_SCOPE, a); + } LISTod; + } LISTod; + CURRENT_SCOPE->u.entity->abstract = yymsp[-4].minor.yy242.abstract; + CURRENT_SCOPE->u.entity->unique = yymsp[-2].minor.yy176.unique; + CURRENT_SCOPE->where = yymsp[-2].minor.yy176.where; POP_SCOPE(); } -#line 2820 "expparse.c" +#line 2735 "expparse.c" break; case 76: /* entity_header ::= TOK_ENTITY TOK_IDENTIFIER */ -#line 841 "expparse.y" +#line 775 "expparse.y" { Entity e = ENTITYcreate(yymsp[0].minor.yy0.symbol); if (print_objects_while_running & OBJ_ENTITY_BITS) { - fprintf(stdout, "parse: %s (entity)\n", yymsp[0].minor.yy0.symbol->name); + fprintf( stderr, "parse: %s (entity)\n", yymsp[0].minor.yy0.symbol->name); } PUSH_SCOPE(e, yymsp[0].minor.yy0.symbol, OBJ_ENTITY); } -#line 2833 "expparse.c" +#line 2748 "expparse.c" break; case 77: /* enumeration_type ::= TOK_ENUMERATION TOK_OF nested_id_list */ -#line 852 "expparse.y" +#line 786 "expparse.y" { int value = 0; Expression x; @@ -2841,7 +2755,7 @@ static void yy_reduce( tb = TYPEBODYcreate(enumeration_); CURRENT_SCOPE->u.type->head = 0; CURRENT_SCOPE->u.type->body = tb; - tb->list = yymsp[0].minor.yy471; + tb->list = yymsp[0].minor.yy371; if (!CURRENT_SCOPE->symbol_table) { CURRENT_SCOPE->symbol_table = DICTcreate(25); @@ -2849,7 +2763,7 @@ static void yy_reduce( if (!PREVIOUS_SCOPE->enum_table) { PREVIOUS_SCOPE->enum_table = DICTcreate(25); } - LISTdo_links(yymsp[0].minor.yy471, id) { + LISTdo_links(yymsp[0].minor.yy371, id) { tmp = (Symbol *)id->data; id->data = (Generic)(x = EXPcreate(CURRENT_SCOPE)); x->symbol = *(tmp); @@ -2864,323 +2778,315 @@ static void yy_reduce( SYMBOL_destroy(tmp); } LISTod; } -#line 2868 "expparse.c" +#line 2783 "expparse.c" break; case 78: /* escape_statement ::= TOK_ESCAPE semicolon */ -#line 885 "expparse.y" +#line 819 "expparse.y" { - yygotominor.yy522 = STATEMENT_ESCAPE; + yygotominor.yy332 = STATEMENT_ESCAPE; } -#line 2875 "expparse.c" +#line 2790 "expparse.c" break; case 79: /* attribute_decl ::= TOK_IDENTIFIER */ -#line 890 "expparse.y" +#line 834 "expparse.y" { - yygotominor.yy145 = EXPcreate(Type_Attribute); - yygotominor.yy145->symbol = *yymsp[0].minor.yy0.symbol; + yygotominor.yy401 = EXPcreate(Type_Attribute); + yygotominor.yy401->symbol = *yymsp[0].minor.yy0.symbol; SYMBOL_destroy(yymsp[0].minor.yy0.symbol); } -#line 2884 "expparse.c" +#line 2799 "expparse.c" break; case 80: /* attribute_decl ::= TOK_SELF TOK_BACKSLASH TOK_IDENTIFIER TOK_DOT TOK_IDENTIFIER */ -#line 897 "expparse.y" +#line 841 "expparse.y" { - yygotominor.yy145 = EXPcreate(Type_Expression); - yygotominor.yy145->e.op1 = EXPcreate(Type_Expression); - yygotominor.yy145->e.op1->e.op_code = OP_GROUP; - yygotominor.yy145->e.op1->e.op1 = EXPcreate(Type_Self); - yygotominor.yy145->e.op1->e.op2 = EXPcreate_from_symbol(Type_Entity, yymsp[-2].minor.yy0.symbol); + yygotominor.yy401 = EXPcreate(Type_Expression); + yygotominor.yy401->e.op1 = EXPcreate(Type_Expression); + yygotominor.yy401->e.op1->e.op_code = OP_GROUP; + yygotominor.yy401->e.op1->e.op1 = EXPcreate(Type_Self); + yygotominor.yy401->e.op1->e.op2 = EXPcreate_from_symbol(Type_Entity, yymsp[-2].minor.yy0.symbol); SYMBOL_destroy(yymsp[-2].minor.yy0.symbol); - yygotominor.yy145->e.op_code = OP_DOT; - yygotominor.yy145->e.op2 = EXPcreate_from_symbol(Type_Attribute, yymsp[0].minor.yy0.symbol); + yygotominor.yy401->e.op_code = OP_DOT; + yygotominor.yy401->e.op2 = EXPcreate_from_symbol(Type_Attribute, yymsp[0].minor.yy0.symbol); SYMBOL_destroy(yymsp[0].minor.yy0.symbol); } -#line 2900 "expparse.c" +#line 2815 "expparse.c" break; case 81: /* attribute_decl_list ::= attribute_decl */ -#line 911 "expparse.y" +#line 855 "expparse.y" { - yygotominor.yy471 = LISTcreate(); - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy145); + yygotominor.yy371 = LISTcreate(); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy401); } -#line 2909 "expparse.c" +#line 2824 "expparse.c" break; case 82: /* attribute_decl_list ::= attribute_decl_list TOK_COMMA attribute_decl */ case 114: /* expression_list ::= expression_list TOK_COMMA expression */ yytestcase(yyruleno==114); -#line 918 "expparse.y" + case 314: /* qualified_attr_list ::= qualified_attr_list TOK_COMMA qualified_attr */ yytestcase(yyruleno==314); +#line 862 "expparse.y" { - yygotominor.yy471 = yymsp[-2].minor.yy471; - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy145); + yygotominor.yy371 = yymsp[-2].minor.yy371; + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy401); } -#line 2918 "expparse.c" +#line 2834 "expparse.c" break; case 83: /* optional ::= */ -#line 924 "expparse.y" +#line 868 "expparse.y" { - yygotominor.yy224.optional = 0; + yygotominor.yy252.optional = 0; } -#line 2925 "expparse.c" +#line 2841 "expparse.c" break; case 84: /* optional ::= TOK_OPTIONAL */ -#line 928 "expparse.y" +#line 872 "expparse.y" { - yygotominor.yy224.optional = 1; + yygotominor.yy252.optional = 1; } -#line 2932 "expparse.c" +#line 2848 "expparse.c" break; case 85: /* explicit_attribute ::= attribute_decl_list TOK_COLON optional attribute_type semicolon */ -#line 934 "expparse.y" +#line 878 "expparse.y" { Variable v; - LISTdo_links (yymsp[-4].minor.yy471, attr) - v = VARcreate((Expression)attr->data, yymsp[-1].minor.yy155); - v->flags.optional = yymsp[-2].minor.yy224.optional; - v->flags.attribute = true; - attr->data = (Generic)v; + LISTdo_links (yymsp[-4].minor.yy371, attr) + v = VARcreate((Expression)attr->data, yymsp[-1].minor.yy297); + v->flags.optional = yymsp[-2].minor.yy252.optional; + v->flags.attribute = true; + attr->data = (Generic)v; LISTod; - yygotominor.yy471 = yymsp[-4].minor.yy471; + yygotominor.yy371 = yymsp[-4].minor.yy371; } -#line 2948 "expparse.c" +#line 2864 "expparse.c" break; case 90: /* expression ::= expression TOK_AND expression */ -#line 963 "expparse.y" +#line 907 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_AND, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_AND, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 2957 "expparse.c" +#line 2873 "expparse.c" break; case 91: /* expression ::= expression TOK_OR expression */ -#line 969 "expparse.y" +#line 913 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_OR, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_OR, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 2966 "expparse.c" +#line 2882 "expparse.c" break; case 92: /* expression ::= expression TOK_XOR expression */ -#line 975 "expparse.y" +#line 919 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_XOR, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_XOR, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 2975 "expparse.c" +#line 2891 "expparse.c" break; case 93: /* expression ::= expression TOK_LESS_THAN expression */ -#line 981 "expparse.y" +#line 925 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_LESS_THAN, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_LESS_THAN, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 2984 "expparse.c" +#line 2900 "expparse.c" break; case 94: /* expression ::= expression TOK_GREATER_THAN expression */ -#line 987 "expparse.y" +#line 931 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_GREATER_THAN, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_GREATER_THAN, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 2993 "expparse.c" +#line 2909 "expparse.c" break; case 95: /* expression ::= expression TOK_EQUAL expression */ -#line 993 "expparse.y" +#line 937 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_EQUAL, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_EQUAL, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3002 "expparse.c" +#line 2918 "expparse.c" break; case 96: /* expression ::= expression TOK_LESS_EQUAL expression */ -#line 999 "expparse.y" +#line 943 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_LESS_EQUAL, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_LESS_EQUAL, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3011 "expparse.c" +#line 2927 "expparse.c" break; case 97: /* expression ::= expression TOK_GREATER_EQUAL expression */ -#line 1005 "expparse.y" +#line 949 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_GREATER_EQUAL, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_GREATER_EQUAL, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3020 "expparse.c" +#line 2936 "expparse.c" break; case 98: /* expression ::= expression TOK_NOT_EQUAL expression */ -#line 1011 "expparse.y" +#line 955 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_NOT_EQUAL, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_NOT_EQUAL, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3029 "expparse.c" +#line 2945 "expparse.c" break; case 99: /* expression ::= expression TOK_INST_EQUAL expression */ -#line 1017 "expparse.y" +#line 961 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_INST_EQUAL, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_INST_EQUAL, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3038 "expparse.c" +#line 2954 "expparse.c" break; case 100: /* expression ::= expression TOK_INST_NOT_EQUAL expression */ -#line 1023 "expparse.y" +#line 967 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_INST_NOT_EQUAL, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_INST_NOT_EQUAL, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3047 "expparse.c" +#line 2963 "expparse.c" break; case 101: /* expression ::= expression TOK_IN expression */ -#line 1029 "expparse.y" +#line 973 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_IN, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_IN, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3056 "expparse.c" +#line 2972 "expparse.c" break; case 102: /* expression ::= expression TOK_LIKE expression */ -#line 1035 "expparse.y" +#line 979 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_LIKE, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_LIKE, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3065 "expparse.c" +#line 2981 "expparse.c" break; case 103: /* expression ::= simple_expression cardinality_op simple_expression */ - case 241: /* right_curl ::= TOK_RIGHT_CURL */ yytestcase(yyruleno==241); - case 255: /* semicolon ::= TOK_SEMICOLON */ yytestcase(yyruleno==255); -#line 1041 "expparse.y" + case 240: /* right_curl ::= TOK_RIGHT_CURL */ yytestcase(yyruleno==240); + case 254: /* semicolon ::= TOK_SEMICOLON */ yytestcase(yyruleno==254); +#line 985 "expparse.y" { yyerrok; } -#line 3074 "expparse.c" +#line 2990 "expparse.c" break; case 105: /* simple_expression ::= simple_expression TOK_CONCAT_OP simple_expression */ -#line 1051 "expparse.y" +#line 995 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_CONCAT, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_CONCAT, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3083 "expparse.c" +#line 2999 "expparse.c" break; case 106: /* simple_expression ::= simple_expression TOK_EXP simple_expression */ -#line 1057 "expparse.y" +#line 1001 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_EXP, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_EXP, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3092 "expparse.c" +#line 3008 "expparse.c" break; case 107: /* simple_expression ::= simple_expression TOK_TIMES simple_expression */ -#line 1063 "expparse.y" +#line 1007 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_TIMES, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_TIMES, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3101 "expparse.c" +#line 3017 "expparse.c" break; case 108: /* simple_expression ::= simple_expression TOK_DIV simple_expression */ -#line 1069 "expparse.y" +#line 1013 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_DIV, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_DIV, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3110 "expparse.c" +#line 3026 "expparse.c" break; case 109: /* simple_expression ::= simple_expression TOK_REAL_DIV simple_expression */ -#line 1075 "expparse.y" +#line 1019 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_REAL_DIV, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_REAL_DIV, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3119 "expparse.c" +#line 3035 "expparse.c" break; case 110: /* simple_expression ::= simple_expression TOK_MOD simple_expression */ -#line 1081 "expparse.y" +#line 1025 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_MOD, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_MOD, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3128 "expparse.c" +#line 3044 "expparse.c" break; case 111: /* simple_expression ::= simple_expression TOK_PLUS simple_expression */ -#line 1087 "expparse.y" +#line 1031 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_PLUS, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_PLUS, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3137 "expparse.c" +#line 3053 "expparse.c" break; case 112: /* simple_expression ::= simple_expression TOK_MINUS simple_expression */ -#line 1093 "expparse.y" +#line 1037 "expparse.y" { yyerrok; - yygotominor.yy145 = BIN_EXPcreate(OP_MINUS, yymsp[-2].minor.yy145, yymsp[0].minor.yy145); + yygotominor.yy401 = BIN_EXPcreate(OP_MINUS, yymsp[-2].minor.yy401, yymsp[0].minor.yy401); } -#line 3146 "expparse.c" - break; - case 113: /* expression_list ::= expression */ - case 283: /* supertype_expression_list ::= supertype_expression */ yytestcase(yyruleno==283); -#line 1100 "expparse.y" -{ - yygotominor.yy471 = LISTcreate(); - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy145); -} -#line 3155 "expparse.c" +#line 3062 "expparse.c" break; case 115: /* var ::= */ -#line 1111 "expparse.y" +#line 1055 "expparse.y" { - yygotominor.yy224.var = 1; + yygotominor.yy252.var = 0; } -#line 3162 "expparse.c" +#line 3069 "expparse.c" break; case 116: /* var ::= TOK_VAR */ -#line 1115 "expparse.y" +#line 1059 "expparse.y" { - yygotominor.yy224.var = 0; + yygotominor.yy252.var = 1; } -#line 3169 "expparse.c" +#line 3076 "expparse.c" break; case 117: /* formal_parameter ::= var id_list TOK_COLON parameter_type */ -#line 1120 "expparse.y" +#line 1064 "expparse.y" { Symbol *tmp; Expression e; Variable v; - yygotominor.yy471 = yymsp[-2].minor.yy471; - LISTdo_links(yygotominor.yy471, param) + yygotominor.yy371 = yymsp[-2].minor.yy371; + LISTdo_links(yygotominor.yy371, param) tmp = (Symbol*)param->data; e = EXPcreate_from_symbol(Type_Attribute, tmp); - v = VARcreate(e, yymsp[0].minor.yy155); - v->flags.optional = yymsp[-3].minor.yy224.var; + v = VARcreate(e, yymsp[0].minor.yy297); + v->flags.var = yymsp[-3].minor.yy252.var; /* NOTE this was flags.optional... ?! */ v->flags.parameter = true; param->data = (Generic)v; @@ -3190,889 +3096,893 @@ static void yy_reduce( LISTod; } -#line 3194 "expparse.c" +#line 3101 "expparse.c" break; case 118: /* formal_parameter_list ::= */ - case 180: /* inverse_clause ::= */ yytestcase(yyruleno==180); - case 330: /* where_rule_OPT ::= */ yytestcase(yyruleno==330); -#line 1143 "expparse.y" + case 179: /* inverse_clause ::= */ yytestcase(yyruleno==179); + case 328: /* where_rule_OPT ::= */ yytestcase(yyruleno==328); +#line 1087 "expparse.y" { - yygotominor.yy471 = LIST_NULL; + yygotominor.yy371 = LIST_NULL; } -#line 3203 "expparse.c" +#line 3110 "expparse.c" break; case 119: /* formal_parameter_list ::= TOK_LEFT_PAREN formal_parameter_rep TOK_RIGHT_PAREN */ -#line 1148 "expparse.y" +#line 1092 "expparse.y" { - yygotominor.yy471 = yymsp[-1].minor.yy471; + yygotominor.yy371 = yymsp[-1].minor.yy371; } -#line 3211 "expparse.c" +#line 3118 "expparse.c" break; case 120: /* formal_parameter_rep ::= formal_parameter */ -#line 1154 "expparse.y" +#line 1098 "expparse.y" { - yygotominor.yy471 = yymsp[0].minor.yy471; + yygotominor.yy371 = yymsp[0].minor.yy371; } -#line 3219 "expparse.c" +#line 3126 "expparse.c" break; case 121: /* formal_parameter_rep ::= formal_parameter_rep semicolon formal_parameter */ -#line 1160 "expparse.y" +#line 1104 "expparse.y" { - yygotominor.yy471 = yymsp[-2].minor.yy471; - LISTadd_all(yygotominor.yy471, yymsp[0].minor.yy471); + yygotominor.yy371 = yymsp[-2].minor.yy371; + LISTadd_all(yygotominor.yy371, yymsp[0].minor.yy371); } -#line 3227 "expparse.c" +#line 3134 "expparse.c" break; case 126: /* function_call ::= function_id actual_parameters */ -#line 1185 "expparse.y" +#line 1129 "expparse.y" { - yygotominor.yy145 = EXPcreate(Type_Funcall); - yygotominor.yy145->symbol = *yymsp[-1].minor.yy461; - SYMBOL_destroy(yymsp[-1].minor.yy461); - yygotominor.yy145->u.funcall.list = yymsp[0].minor.yy471; + yygotominor.yy401 = EXPcreate(Type_Funcall); + yygotominor.yy401->symbol = *yymsp[-1].minor.yy275; + SYMBOL_destroy(yymsp[-1].minor.yy275); + yygotominor.yy401->u.funcall.list = yymsp[0].minor.yy371; } -#line 3237 "expparse.c" +#line 3144 "expparse.c" break; case 127: /* function_decl ::= function_header action_body TOK_END_FUNCTION semicolon */ -#line 1194 "expparse.y" +#line 1138 "expparse.y" { - FUNCput_body(CURRENT_SCOPE, yymsp[-2].minor.yy471); - ALGput_full_text(CURRENT_SCOPE, yymsp[-3].minor.yy215, SCANtell()); + FUNCput_body(CURRENT_SCOPE, yymsp[-2].minor.yy371); + ALGput_full_text(CURRENT_SCOPE, yymsp[-3].minor.yy507, SCANtell()); POP_SCOPE(); } -#line 3246 "expparse.c" +#line 3153 "expparse.c" break; case 128: /* function_header ::= fh_lineno fh_push_scope fh_plist TOK_COLON parameter_type semicolon */ -#line 1202 "expparse.y" +#line 1146 "expparse.y" { Function f = CURRENT_SCOPE; - f->u.func->return_type = yymsp[-1].minor.yy155; - yygotominor.yy215 = yymsp[-5].minor.yy215; + f->u.func->return_type = yymsp[-1].minor.yy297; + yygotominor.yy507 = yymsp[-5].minor.yy507; } -#line 3256 "expparse.c" +#line 3163 "expparse.c" break; case 129: /* fh_lineno ::= TOK_FUNCTION */ - case 219: /* ph_get_line ::= */ yytestcase(yyruleno==219); - case 248: /* rh_get_line ::= */ yytestcase(yyruleno==248); -#line 1210 "expparse.y" + case 218: /* ph_get_line ::= */ yytestcase(yyruleno==218); + case 247: /* rh_get_line ::= */ yytestcase(yyruleno==247); +#line 1154 "expparse.y" { - yygotominor.yy215 = SCANtell(); + yygotominor.yy507 = SCANtell(); } -#line 3265 "expparse.c" +#line 3172 "expparse.c" break; case 130: /* fh_push_scope ::= TOK_IDENTIFIER */ -#line 1215 "expparse.y" +#line 1159 "expparse.y" { Function f = ALGcreate(OBJ_FUNCTION); tag_count = 0; if (print_objects_while_running & OBJ_FUNCTION_BITS) { - fprintf(stdout, "parse: %s (function)\n", yymsp[0].minor.yy0.symbol->name); + fprintf( stderr, "parse: %s (function)\n", yymsp[0].minor.yy0.symbol->name); } PUSH_SCOPE(f, yymsp[0].minor.yy0.symbol, OBJ_FUNCTION); } -#line 3277 "expparse.c" +#line 3184 "expparse.c" break; case 131: /* fh_plist ::= formal_parameter_list */ -#line 1225 "expparse.y" +#line 1169 "expparse.y" { Function f = CURRENT_SCOPE; - f->u.func->parameters = yymsp[0].minor.yy471; - f->u.func->pcount = LISTget_length(yymsp[0].minor.yy471); + f->u.func->parameters = yymsp[0].minor.yy371; + f->u.func->pcount = LISTget_length(yymsp[0].minor.yy371); f->u.func->tag_count = tag_count; - tag_count = -1; /* done with parameters, no new tags can be defined */ + tag_count = -1; /* done with parameters, no new tags can be defined */ } -#line 3288 "expparse.c" +#line 3195 "expparse.c" break; case 132: /* function_id ::= TOK_IDENTIFIER */ - case 220: /* procedure_id ::= TOK_IDENTIFIER */ yytestcase(yyruleno==220); - case 221: /* procedure_id ::= TOK_BUILTIN_PROCEDURE */ yytestcase(yyruleno==221); -#line 1234 "expparse.y" + case 219: /* procedure_id ::= TOK_IDENTIFIER */ yytestcase(yyruleno==219); + case 220: /* procedure_id ::= TOK_BUILTIN_PROCEDURE */ yytestcase(yyruleno==220); +#line 1178 "expparse.y" { - yygotominor.yy461 = yymsp[0].minor.yy0.symbol; + yygotominor.yy275 = yymsp[0].minor.yy0.symbol; } -#line 3297 "expparse.c" +#line 3204 "expparse.c" break; case 133: /* function_id ::= TOK_BUILTIN_FUNCTION */ -#line 1238 "expparse.y" +#line 1182 "expparse.y" { - yygotominor.yy461 = yymsp[0].minor.yy0.symbol; + yygotominor.yy275 = yymsp[0].minor.yy0.symbol; } -#line 3305 "expparse.c" +#line 3212 "expparse.c" break; case 134: /* conformant_aggregation ::= aggregate_type */ -#line 1244 "expparse.y" +#line 1188 "expparse.y" { - yygotominor.yy457 = yymsp[0].minor.yy457; + yygotominor.yy477 = yymsp[0].minor.yy477; } -#line 3313 "expparse.c" +#line 3220 "expparse.c" break; case 135: /* conformant_aggregation ::= TOK_ARRAY TOK_OF optional_or_unique parameter_type */ -#line 1250 "expparse.y" +#line 1194 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(array_); - yygotominor.yy457->flags.optional = yymsp[-1].minor.yy224.optional; - yygotominor.yy457->flags.unique = yymsp[-1].minor.yy224.unique; - yygotominor.yy457->base = yymsp[0].minor.yy155; + yygotominor.yy477 = TYPEBODYcreate(array_); + yygotominor.yy477->flags.optional = yymsp[-1].minor.yy252.optional; + yygotominor.yy477->flags.unique = yymsp[-1].minor.yy252.unique; + yygotominor.yy477->base = yymsp[0].minor.yy297; } -#line 3323 "expparse.c" +#line 3230 "expparse.c" break; - case 136: /* conformant_aggregation ::= TOK_ARRAY index_spec TOK_OF optional_or_unique parameter_type */ -#line 1258 "expparse.y" + case 136: /* conformant_aggregation ::= TOK_ARRAY bound_spec TOK_OF optional_or_unique parameter_type */ +#line 1202 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(array_); - yygotominor.yy457->flags.optional = yymsp[-1].minor.yy224.optional; - yygotominor.yy457->flags.unique = yymsp[-1].minor.yy224.unique; - yygotominor.yy457->base = yymsp[0].minor.yy155; - yygotominor.yy457->upper = yymsp[-3].minor.yy210.upper_limit; - yygotominor.yy457->lower = yymsp[-3].minor.yy210.lower_limit; + yygotominor.yy477 = TYPEBODYcreate(array_); + yygotominor.yy477->flags.optional = yymsp[-1].minor.yy252.optional; + yygotominor.yy477->flags.unique = yymsp[-1].minor.yy252.unique; + yygotominor.yy477->base = yymsp[0].minor.yy297; + yygotominor.yy477->upper = yymsp[-3].minor.yy253.upper_limit; + yygotominor.yy477->lower = yymsp[-3].minor.yy253.lower_limit; } -#line 3335 "expparse.c" +#line 3242 "expparse.c" break; case 137: /* conformant_aggregation ::= TOK_BAG TOK_OF parameter_type */ -#line 1267 "expparse.y" +#line 1211 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(bag_); - yygotominor.yy457->base = yymsp[0].minor.yy155; + yygotominor.yy477 = TYPEBODYcreate(bag_); + yygotominor.yy477->base = yymsp[0].minor.yy297; } -#line 3344 "expparse.c" +#line 3251 "expparse.c" break; case 139: /* conformant_aggregation ::= TOK_LIST TOK_OF unique parameter_type */ -#line 1280 "expparse.y" +#line 1224 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(list_); - yygotominor.yy457->flags.unique = yymsp[-1].minor.yy224.unique; - yygotominor.yy457->base = yymsp[0].minor.yy155; + yygotominor.yy477 = TYPEBODYcreate(list_); + yygotominor.yy477->flags.unique = yymsp[-1].minor.yy252.unique; + yygotominor.yy477->base = yymsp[0].minor.yy297; } -#line 3354 "expparse.c" +#line 3261 "expparse.c" break; - case 140: /* conformant_aggregation ::= TOK_LIST index_spec TOK_OF unique parameter_type */ -#line 1288 "expparse.y" + case 140: /* conformant_aggregation ::= TOK_LIST bound_spec TOK_OF unique parameter_type */ +#line 1232 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(list_); - yygotominor.yy457->base = yymsp[0].minor.yy155; - yygotominor.yy457->flags.unique = yymsp[-1].minor.yy224.unique; - yygotominor.yy457->upper = yymsp[-3].minor.yy210.upper_limit; - yygotominor.yy457->lower = yymsp[-3].minor.yy210.lower_limit; + yygotominor.yy477 = TYPEBODYcreate(list_); + yygotominor.yy477->base = yymsp[0].minor.yy297; + yygotominor.yy477->flags.unique = yymsp[-1].minor.yy252.unique; + yygotominor.yy477->upper = yymsp[-3].minor.yy253.upper_limit; + yygotominor.yy477->lower = yymsp[-3].minor.yy253.lower_limit; } -#line 3365 "expparse.c" +#line 3272 "expparse.c" break; case 141: /* conformant_aggregation ::= TOK_SET TOK_OF parameter_type */ - case 257: /* set_type ::= TOK_SET TOK_OF attribute_type */ yytestcase(yyruleno==257); -#line 1296 "expparse.y" + case 256: /* set_type ::= TOK_SET TOK_OF attribute_type */ yytestcase(yyruleno==256); +#line 1240 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(set_); - yygotominor.yy457->base = yymsp[0].minor.yy155; + yygotominor.yy477 = TYPEBODYcreate(set_); + yygotominor.yy477->base = yymsp[0].minor.yy297; } -#line 3374 "expparse.c" +#line 3281 "expparse.c" break; - case 142: /* conformant_aggregation ::= TOK_SET index_spec TOK_OF parameter_type */ -#line 1301 "expparse.y" + case 142: /* conformant_aggregation ::= TOK_SET bound_spec TOK_OF parameter_type */ +#line 1245 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(set_); - yygotominor.yy457->base = yymsp[0].minor.yy155; - yygotominor.yy457->upper = yymsp[-2].minor.yy210.upper_limit; - yygotominor.yy457->lower = yymsp[-2].minor.yy210.lower_limit; + yygotominor.yy477 = TYPEBODYcreate(set_); + yygotominor.yy477->base = yymsp[0].minor.yy297; + yygotominor.yy477->upper = yymsp[-2].minor.yy253.upper_limit; + yygotominor.yy477->lower = yymsp[-2].minor.yy253.lower_limit; } -#line 3384 "expparse.c" +#line 3291 "expparse.c" break; case 143: /* generic_type ::= TOK_GENERIC */ -#line 1309 "expparse.y" +#line 1253 "expparse.y" { - yygotominor.yy155 = Type_Generic; + yygotominor.yy297 = Type_Generic; if (tag_count < 0) { Symbol sym; sym.line = yylineno; sym.filename = current_filename; - ERRORreport_with_symbol(ERROR_unlabelled_param_type, &sym, - CURRENT_SCOPE_NAME); + ERRORreport_with_symbol(UNLABELLED_PARAM_TYPE, &sym, + CURRENT_SCOPE_NAME); } } -#line 3399 "expparse.c" +#line 3306 "expparse.c" break; case 144: /* generic_type ::= TOK_GENERIC TOK_COLON TOK_IDENTIFIER */ -#line 1321 "expparse.y" +#line 1265 "expparse.y" { TypeBody g = TYPEBODYcreate(generic_); - yygotominor.yy155 = TYPEcreate_from_body_anonymously(g); + yygotominor.yy297 = TYPEcreate_from_body_anonymously(g); - SCOPEadd_super(yygotominor.yy155); + SCOPEadd_super(yygotominor.yy297); - g->tag = TYPEcreate_user_defined_tag(yygotominor.yy155, CURRENT_SCOPE, yymsp[0].minor.yy0.symbol); + g->tag = TYPEcreate_user_defined_tag(yygotominor.yy297, CURRENT_SCOPE, yymsp[0].minor.yy0.symbol); if (g->tag) { SCOPEadd_super(g->tag); } } -#line 3414 "expparse.c" +#line 3321 "expparse.c" break; case 145: /* id_list ::= TOK_IDENTIFIER */ -#line 1334 "expparse.y" +#line 1278 "expparse.y" { - yygotominor.yy471 = LISTcreate(); - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy0.symbol); + yygotominor.yy371 = LISTcreate(); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy0.symbol); } -#line 3423 "expparse.c" +#line 3330 "expparse.c" break; case 146: /* id_list ::= id_list TOK_COMMA TOK_IDENTIFIER */ -#line 1340 "expparse.y" +#line 1284 "expparse.y" { yyerrok; - yygotominor.yy471 = yymsp[-2].minor.yy471; - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy0.symbol); + yygotominor.yy371 = yymsp[-2].minor.yy371; + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy0.symbol); } -#line 3433 "expparse.c" +#line 3340 "expparse.c" break; case 147: /* identifier ::= TOK_SELF */ -#line 1348 "expparse.y" +#line 1292 "expparse.y" { - yygotominor.yy145 = EXPcreate(Type_Self); + yygotominor.yy401 = EXPcreate(Type_Self); } -#line 3440 "expparse.c" +#line 3347 "expparse.c" break; case 148: /* identifier ::= TOK_QUESTION_MARK */ -#line 1352 "expparse.y" +#line 1296 "expparse.y" { - yygotominor.yy145 = LITERAL_INFINITY; + yygotominor.yy401 = LITERAL_INFINITY; } -#line 3447 "expparse.c" +#line 3354 "expparse.c" break; case 149: /* identifier ::= TOK_IDENTIFIER */ -#line 1356 "expparse.y" +#line 1300 "expparse.y" { - yygotominor.yy145 = EXPcreate(Type_Identifier); - yygotominor.yy145->symbol = *(yymsp[0].minor.yy0.symbol); + yygotominor.yy401 = EXPcreate(Type_Identifier); + yygotominor.yy401->symbol = *(yymsp[0].minor.yy0.symbol); SYMBOL_destroy(yymsp[0].minor.yy0.symbol); } -#line 3456 "expparse.c" +#line 3363 "expparse.c" break; case 150: /* if_statement ::= TOK_IF expression TOK_THEN statement_rep TOK_END_IF semicolon */ -#line 1364 "expparse.y" +#line 1308 "expparse.y" { - yygotominor.yy522 = CONDcreate(yymsp[-4].minor.yy145, yymsp[-2].minor.yy471, STATEMENT_LIST_NULL); + yygotominor.yy332 = CONDcreate(yymsp[-4].minor.yy401, yymsp[-2].minor.yy371, STATEMENT_LIST_NULL); } -#line 3463 "expparse.c" +#line 3370 "expparse.c" break; case 151: /* if_statement ::= TOK_IF expression TOK_THEN statement_rep TOK_ELSE statement_rep TOK_END_IF semicolon */ -#line 1369 "expparse.y" +#line 1313 "expparse.y" { - yygotominor.yy522 = CONDcreate(yymsp[-6].minor.yy145, yymsp[-4].minor.yy471, yymsp[-2].minor.yy471); + yygotominor.yy332 = CONDcreate(yymsp[-6].minor.yy401, yymsp[-4].minor.yy371, yymsp[-2].minor.yy371); } -#line 3470 "expparse.c" +#line 3377 "expparse.c" break; case 152: /* include_directive ::= TOK_INCLUDE TOK_STRING_LITERAL semicolon */ -#line 1374 "expparse.y" +#line 1318 "expparse.y" { SCANinclude_file(yymsp[-1].minor.yy0.string); } -#line 3477 "expparse.c" +#line 3384 "expparse.c" break; case 153: /* increment_control ::= TOK_IDENTIFIER TOK_ASSIGNMENT expression TOK_TO expression by_expression */ -#line 1380 "expparse.y" +#line 1324 "expparse.y" { - Increment i = INCR_CTLcreate(yymsp[-5].minor.yy0.symbol, yymsp[-3].minor.yy145, yymsp[-1].minor.yy145, yymsp[0].minor.yy145); + Increment i = INCR_CTLcreate(yymsp[-5].minor.yy0.symbol, yymsp[-3].minor.yy401, yymsp[-1].minor.yy401, yymsp[0].minor.yy401); /* scope doesn't really have/need a name, I suppose */ /* naming it by the iterator variable is fine */ PUSH_SCOPE(i, (Symbol *)0, OBJ_INCREMENT); } -#line 3489 "expparse.c" +#line 3396 "expparse.c" break; - case 156: /* rename ::= TOK_IDENTIFIER */ -#line 1402 "expparse.y" + case 155: /* rename ::= TOK_IDENTIFIER */ +#line 1342 "expparse.y" { - (*interface_func)(CURRENT_SCOPE, interface_schema, yymsp[0].minor.yy0, yymsp[0].minor.yy0); + (*interface_func)(CURRENT_SCOPE, interface_schema, yymsp[0].minor.yy0.symbol, yymsp[0].minor.yy0.symbol); } -#line 3496 "expparse.c" +#line 3403 "expparse.c" break; - case 157: /* rename ::= TOK_IDENTIFIER TOK_AS TOK_IDENTIFIER */ -#line 1406 "expparse.y" + case 156: /* rename ::= TOK_IDENTIFIER TOK_AS TOK_IDENTIFIER */ +#line 1346 "expparse.y" { - (*interface_func)(CURRENT_SCOPE, interface_schema, yymsp[-2].minor.yy0, yymsp[0].minor.yy0); + (*interface_func)(CURRENT_SCOPE, interface_schema, yymsp[-2].minor.yy0.symbol, yymsp[0].minor.yy0.symbol); } -#line 3503 "expparse.c" +#line 3410 "expparse.c" break; - case 159: /* rename_list ::= rename_list TOK_COMMA rename */ - case 162: /* reference_clause ::= reference_head parened_rename_list semicolon */ yytestcase(yyruleno==162); - case 165: /* use_clause ::= use_head parened_rename_list semicolon */ yytestcase(yyruleno==165); - case 250: /* schema_body ::= interface_specification_list constant_decl block_list */ yytestcase(yyruleno==250); - case 296: /* type_decl ::= td_start TOK_END_TYPE semicolon */ yytestcase(yyruleno==296); -#line 1415 "expparse.y" + case 158: /* rename_list ::= rename_list TOK_COMMA rename */ + case 161: /* reference_clause ::= reference_head parened_rename_list semicolon */ yytestcase(yyruleno==161); + case 164: /* use_clause ::= use_head parened_rename_list semicolon */ yytestcase(yyruleno==164); + case 249: /* schema_body ::= interface_specification_list constant_decl block_list */ yytestcase(yyruleno==249); + case 295: /* type_decl ::= td_start TOK_END_TYPE semicolon */ yytestcase(yyruleno==295); +#line 1355 "expparse.y" { yygotominor.yy0 = yymsp[-2].minor.yy0; } -#line 3514 "expparse.c" +#line 3421 "expparse.c" break; - case 161: /* reference_clause ::= TOK_REFERENCE TOK_FROM TOK_IDENTIFIER semicolon */ -#line 1422 "expparse.y" + case 160: /* reference_clause ::= TOK_REFERENCE TOK_FROM TOK_IDENTIFIER semicolon */ +#line 1365 "expparse.y" { if (!CURRENT_SCHEMA->ref_schemas) { CURRENT_SCHEMA->ref_schemas = LISTcreate(); } - LISTadd(CURRENT_SCHEMA->ref_schemas, (Generic)yymsp[-1].minor.yy0.symbol); + LISTadd_last(CURRENT_SCHEMA->ref_schemas, (Generic)yymsp[-1].minor.yy0.symbol); } -#line 3525 "expparse.c" +#line 3432 "expparse.c" break; - case 163: /* reference_head ::= TOK_REFERENCE TOK_FROM TOK_IDENTIFIER */ -#line 1435 "expparse.y" + case 162: /* reference_head ::= TOK_REFERENCE TOK_FROM TOK_IDENTIFIER */ +#line 1378 "expparse.y" { interface_schema = yymsp[0].minor.yy0.symbol; interface_func = SCHEMAadd_reference; } -#line 3533 "expparse.c" +#line 3440 "expparse.c" break; - case 164: /* use_clause ::= TOK_USE TOK_FROM TOK_IDENTIFIER semicolon */ -#line 1441 "expparse.y" + case 163: /* use_clause ::= TOK_USE TOK_FROM TOK_IDENTIFIER semicolon */ +#line 1384 "expparse.y" { if (!CURRENT_SCHEMA->use_schemas) { CURRENT_SCHEMA->use_schemas = LISTcreate(); } - LISTadd(CURRENT_SCHEMA->use_schemas, (Generic)yymsp[-1].minor.yy0.symbol); + LISTadd_last(CURRENT_SCHEMA->use_schemas, (Generic)yymsp[-1].minor.yy0.symbol); } -#line 3544 "expparse.c" +#line 3451 "expparse.c" break; - case 166: /* use_head ::= TOK_USE TOK_FROM TOK_IDENTIFIER */ -#line 1454 "expparse.y" + case 165: /* use_head ::= TOK_USE TOK_FROM TOK_IDENTIFIER */ +#line 1397 "expparse.y" { interface_schema = yymsp[0].minor.yy0.symbol; interface_func = SCHEMAadd_use; } -#line 3552 "expparse.c" +#line 3459 "expparse.c" break; - case 171: /* interval ::= TOK_LEFT_CURL simple_expression rel_op simple_expression rel_op simple_expression right_curl */ -#line 1477 "expparse.y" + case 170: /* interval ::= TOK_LEFT_CURL simple_expression rel_op simple_expression rel_op simple_expression right_curl */ +#line 1420 "expparse.y" { - Expression tmp1, tmp2; + Expression tmp1, tmp2; - yygotominor.yy145 = (Expression)0; - tmp1 = BIN_EXPcreate(yymsp[-4].minor.yy206, yymsp[-5].minor.yy145, yymsp[-3].minor.yy145); - tmp2 = BIN_EXPcreate(yymsp[-2].minor.yy206, yymsp[-3].minor.yy145, yymsp[-1].minor.yy145); - yygotominor.yy145 = BIN_EXPcreate(OP_AND, tmp1, tmp2); + yygotominor.yy401 = (Expression)0; + tmp1 = BIN_EXPcreate(yymsp[-4].minor.yy126, yymsp[-5].minor.yy401, yymsp[-3].minor.yy401); + tmp2 = BIN_EXPcreate(yymsp[-2].minor.yy126, yymsp[-3].minor.yy401, yymsp[-1].minor.yy401); + yygotominor.yy401 = BIN_EXPcreate(OP_AND, tmp1, tmp2); } -#line 3564 "expparse.c" +#line 3471 "expparse.c" break; - case 172: /* set_or_bag_of_entity ::= defined_type */ - case 290: /* type ::= defined_type */ yytestcase(yyruleno==290); -#line 1489 "expparse.y" + case 171: /* set_or_bag_of_entity ::= defined_type */ + case 289: /* type ::= defined_type */ yytestcase(yyruleno==289); +#line 1432 "expparse.y" { - yygotominor.yy352.type = yymsp[0].minor.yy155; - yygotominor.yy352.body = 0; + yygotominor.yy378.type = yymsp[0].minor.yy297; + yygotominor.yy378.body = 0; } -#line 3573 "expparse.c" +#line 3480 "expparse.c" break; - case 173: /* set_or_bag_of_entity ::= TOK_SET TOK_OF defined_type */ -#line 1494 "expparse.y" + case 172: /* set_or_bag_of_entity ::= TOK_SET TOK_OF defined_type */ +#line 1437 "expparse.y" { - yygotominor.yy352.type = 0; - yygotominor.yy352.body = TYPEBODYcreate(set_); - yygotominor.yy352.body->base = yymsp[0].minor.yy155; + yygotominor.yy378.type = 0; + yygotominor.yy378.body = TYPEBODYcreate(set_); + yygotominor.yy378.body->base = yymsp[0].minor.yy297; } -#line 3583 "expparse.c" +#line 3490 "expparse.c" break; - case 174: /* set_or_bag_of_entity ::= TOK_SET limit_spec TOK_OF defined_type */ -#line 1501 "expparse.y" + case 173: /* set_or_bag_of_entity ::= TOK_SET bound_spec TOK_OF defined_type */ +#line 1444 "expparse.y" { - yygotominor.yy352.type = 0; - yygotominor.yy352.body = TYPEBODYcreate(set_); - yygotominor.yy352.body->base = yymsp[0].minor.yy155; - yygotominor.yy352.body->upper = yymsp[-2].minor.yy210.upper_limit; - yygotominor.yy352.body->lower = yymsp[-2].minor.yy210.lower_limit; + yygotominor.yy378.type = 0; + yygotominor.yy378.body = TYPEBODYcreate(set_); + yygotominor.yy378.body->base = yymsp[0].minor.yy297; + yygotominor.yy378.body->upper = yymsp[-2].minor.yy253.upper_limit; + yygotominor.yy378.body->lower = yymsp[-2].minor.yy253.lower_limit; } -#line 3594 "expparse.c" +#line 3501 "expparse.c" break; - case 175: /* set_or_bag_of_entity ::= TOK_BAG limit_spec TOK_OF defined_type */ -#line 1509 "expparse.y" + case 174: /* set_or_bag_of_entity ::= TOK_BAG bound_spec TOK_OF defined_type */ +#line 1452 "expparse.y" { - yygotominor.yy352.type = 0; - yygotominor.yy352.body = TYPEBODYcreate(bag_); - yygotominor.yy352.body->base = yymsp[0].minor.yy155; - yygotominor.yy352.body->upper = yymsp[-2].minor.yy210.upper_limit; - yygotominor.yy352.body->lower = yymsp[-2].minor.yy210.lower_limit; + yygotominor.yy378.type = 0; + yygotominor.yy378.body = TYPEBODYcreate(bag_); + yygotominor.yy378.body->base = yymsp[0].minor.yy297; + yygotominor.yy378.body->upper = yymsp[-2].minor.yy253.upper_limit; + yygotominor.yy378.body->lower = yymsp[-2].minor.yy253.lower_limit; } -#line 3605 "expparse.c" +#line 3512 "expparse.c" break; - case 176: /* set_or_bag_of_entity ::= TOK_BAG TOK_OF defined_type */ -#line 1517 "expparse.y" + case 175: /* set_or_bag_of_entity ::= TOK_BAG TOK_OF defined_type */ +#line 1460 "expparse.y" { - yygotominor.yy352.type = 0; - yygotominor.yy352.body = TYPEBODYcreate(bag_); - yygotominor.yy352.body->base = yymsp[0].minor.yy155; + yygotominor.yy378.type = 0; + yygotominor.yy378.body = TYPEBODYcreate(bag_); + yygotominor.yy378.body->base = yymsp[0].minor.yy297; } -#line 3614 "expparse.c" +#line 3521 "expparse.c" break; - case 179: /* inverse_attr ::= TOK_IDENTIFIER TOK_COLON set_or_bag_of_entity TOK_FOR TOK_IDENTIFIER semicolon */ -#line 1536 "expparse.y" + case 178: /* inverse_attr ::= attribute_decl TOK_COLON set_or_bag_of_entity TOK_FOR TOK_IDENTIFIER semicolon */ +#line 1487 "expparse.y" { - Expression e = EXPcreate(Type_Attribute); - - e->symbol = *yymsp[-5].minor.yy0.symbol; - SYMBOL_destroy(yymsp[-5].minor.yy0.symbol); - - if (yymsp[-3].minor.yy352.type) { - yygotominor.yy443 = VARcreate(e, yymsp[-3].minor.yy352.type); + if (yymsp[-3].minor.yy378.type) { + yygotominor.yy91 = VARcreate(yymsp[-5].minor.yy401, yymsp[-3].minor.yy378.type); } else { - Type t = TYPEcreate_from_body_anonymously(yymsp[-3].minor.yy352.body); + Type t = TYPEcreate_from_body_anonymously(yymsp[-3].minor.yy378.body); SCOPEadd_super(t); - yygotominor.yy443 = VARcreate(e, t); + yygotominor.yy91 = VARcreate(yymsp[-5].minor.yy401, t); } - yygotominor.yy443->flags.attribute = true; - yygotominor.yy443->inverse_symbol = yymsp[-1].minor.yy0.symbol; + yygotominor.yy91->flags.attribute = true; + yygotominor.yy91->inverse_symbol = yymsp[-1].minor.yy0.symbol; } -#line 3635 "expparse.c" +#line 3537 "expparse.c" break; - case 183: /* list_type ::= TOK_LIST limit_spec TOK_OF unique attribute_type */ -#line 1571 "expparse.y" + case 182: /* list_type ::= TOK_LIST bound_spec TOK_OF unique attribute_type */ +#line 1521 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(list_); - yygotominor.yy457->base = yymsp[0].minor.yy155; - yygotominor.yy457->flags.unique = yymsp[-1].minor.yy224.unique; - yygotominor.yy457->lower = yymsp[-3].minor.yy210.lower_limit; - yygotominor.yy457->upper = yymsp[-3].minor.yy210.upper_limit; + yygotominor.yy477 = TYPEBODYcreate(list_); + yygotominor.yy477->base = yymsp[0].minor.yy297; + yygotominor.yy477->flags.unique = yymsp[-1].minor.yy252.unique; + yygotominor.yy477->lower = yymsp[-3].minor.yy253.lower_limit; + yygotominor.yy477->upper = yymsp[-3].minor.yy253.upper_limit; } -#line 3646 "expparse.c" +#line 3548 "expparse.c" break; - case 184: /* list_type ::= TOK_LIST TOK_OF unique attribute_type */ -#line 1579 "expparse.y" + case 183: /* list_type ::= TOK_LIST TOK_OF unique attribute_type */ +#line 1529 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(list_); - yygotominor.yy457->base = yymsp[0].minor.yy155; - yygotominor.yy457->flags.unique = yymsp[-1].minor.yy224.unique; + yygotominor.yy477 = TYPEBODYcreate(list_); + yygotominor.yy477->base = yymsp[0].minor.yy297; + yygotominor.yy477->flags.unique = yymsp[-1].minor.yy252.unique; } -#line 3655 "expparse.c" +#line 3557 "expparse.c" break; - case 185: /* literal ::= TOK_INTEGER_LITERAL */ -#line 1586 "expparse.y" + case 184: /* literal ::= TOK_INTEGER_LITERAL */ +#line 1536 "expparse.y" { if (yymsp[0].minor.yy0.iVal == 0) { - yygotominor.yy145 = LITERAL_ZERO; + yygotominor.yy401 = LITERAL_ZERO; } else if (yymsp[0].minor.yy0.iVal == 1) { - yygotominor.yy145 = LITERAL_ONE; + yygotominor.yy401 = LITERAL_ONE; } else { - yygotominor.yy145 = EXPcreate_simple(Type_Integer); - yygotominor.yy145->u.integer = (int)yymsp[0].minor.yy0.iVal; - resolved_all(yygotominor.yy145); + yygotominor.yy401 = EXPcreate_simple(Type_Integer); + yygotominor.yy401->u.integer = (int)yymsp[0].minor.yy0.iVal; + resolved_all(yygotominor.yy401); } } -#line 3670 "expparse.c" +#line 3572 "expparse.c" break; - case 186: /* literal ::= TOK_REAL_LITERAL */ -#line 1598 "expparse.y" + case 185: /* literal ::= TOK_REAL_LITERAL */ +#line 1548 "expparse.y" { - if (yymsp[0].minor.yy0.rVal == 0.0) { - yygotominor.yy145 = LITERAL_ZERO; + /* if rVal (a double) is nonzero and has magnitude <= the smallest non-denormal float, print a warning */ + if( ( fabs( yymsp[0].minor.yy0.rVal ) <= FLT_MIN ) && ( fabs( yymsp[0].minor.yy0.rVal ) > 0 ) ) { + Symbol sym; + sym.line = yylineno; + sym.filename = current_filename; + ERRORreport_with_symbol(WARN_SMALL_REAL, &sym, yymsp[0].minor.yy0.rVal ); + } + if( fabs( yymsp[0].minor.yy0.rVal ) < DBL_MIN ) { + yygotominor.yy401 = LITERAL_ZERO; } else { - yygotominor.yy145 = EXPcreate_simple(Type_Real); - yygotominor.yy145->u.real = yymsp[0].minor.yy0.rVal; - resolved_all(yygotominor.yy145); + yygotominor.yy401 = EXPcreate_simple(Type_Real); + yygotominor.yy401->u.real = yymsp[0].minor.yy0.rVal; + resolved_all(yygotominor.yy401); } } -#line 3683 "expparse.c" +#line 3592 "expparse.c" break; - case 187: /* literal ::= TOK_STRING_LITERAL */ -#line 1608 "expparse.y" + case 186: /* literal ::= TOK_STRING_LITERAL */ +#line 1565 "expparse.y" { - yygotominor.yy145 = EXPcreate_simple(Type_String); - yygotominor.yy145->symbol.name = yymsp[0].minor.yy0.string; - resolved_all(yygotominor.yy145); + yygotominor.yy401 = EXPcreate_simple(Type_String); + yygotominor.yy401->symbol.name = yymsp[0].minor.yy0.string; + resolved_all(yygotominor.yy401); } -#line 3692 "expparse.c" +#line 3601 "expparse.c" break; - case 188: /* literal ::= TOK_STRING_LITERAL_ENCODED */ -#line 1614 "expparse.y" + case 187: /* literal ::= TOK_STRING_LITERAL_ENCODED */ +#line 1571 "expparse.y" { - yygotominor.yy145 = EXPcreate_simple(Type_String_Encoded); - yygotominor.yy145->symbol.name = yymsp[0].minor.yy0.string; - resolved_all(yygotominor.yy145); + yygotominor.yy401 = EXPcreate_simple(Type_String_Encoded); + yygotominor.yy401->symbol.name = yymsp[0].minor.yy0.string; + resolved_all(yygotominor.yy401); } -#line 3701 "expparse.c" +#line 3610 "expparse.c" break; - case 189: /* literal ::= TOK_LOGICAL_LITERAL */ -#line 1620 "expparse.y" + case 188: /* literal ::= TOK_LOGICAL_LITERAL */ +#line 1577 "expparse.y" { - yygotominor.yy145 = EXPcreate_simple(Type_Logical); - yygotominor.yy145->u.logical = yymsp[0].minor.yy0.logical; - resolved_all(yygotominor.yy145); + yygotominor.yy401 = EXPcreate_simple(Type_Logical); + yygotominor.yy401->u.logical = yymsp[0].minor.yy0.logical; + resolved_all(yygotominor.yy401); } -#line 3710 "expparse.c" +#line 3619 "expparse.c" break; - case 190: /* literal ::= TOK_BINARY_LITERAL */ -#line 1626 "expparse.y" + case 189: /* literal ::= TOK_BINARY_LITERAL */ +#line 1583 "expparse.y" { - yygotominor.yy145 = EXPcreate_simple(Type_Binary); - yygotominor.yy145->symbol.name = yymsp[0].minor.yy0.binary; - resolved_all(yygotominor.yy145); + yygotominor.yy401 = EXPcreate_simple(Type_Binary); + yygotominor.yy401->symbol.name = yymsp[0].minor.yy0.binary; + resolved_all(yygotominor.yy401); } -#line 3719 "expparse.c" +#line 3628 "expparse.c" break; - case 193: /* local_variable ::= id_list TOK_COLON parameter_type semicolon */ -#line 1642 "expparse.y" + case 192: /* local_variable ::= id_list TOK_COLON parameter_type semicolon */ +#line 1599 "expparse.y" { Expression e; Variable v; - LISTdo(yymsp[-3].minor.yy471, sym, Symbol *) + LISTdo(yymsp[-3].minor.yy371, sym, Symbol *) /* convert symbol to name-expression */ e = EXPcreate(Type_Attribute); e->symbol = *sym; SYMBOL_destroy(sym); - v = VARcreate(e, yymsp[-1].minor.yy155); - DICTdefine(CURRENT_SCOPE->symbol_table, e->symbol.name, (Generic)v, - &e->symbol, OBJ_VARIABLE); + v = VARcreate(e, yymsp[-1].minor.yy297); + v->offset = local_var_count++; + DICTdefine(CURRENT_SCOPE->symbol_table, e->symbol.name, (Generic)v, &e->symbol, OBJ_VARIABLE); LISTod; - LISTfree(yymsp[-3].minor.yy471); + LISTfree(yymsp[-3].minor.yy371); } -#line 3738 "expparse.c" +#line 3647 "expparse.c" break; - case 194: /* local_variable ::= id_list TOK_COLON parameter_type local_initializer semicolon */ -#line 1659 "expparse.y" + case 193: /* local_variable ::= id_list TOK_COLON parameter_type local_initializer semicolon */ +#line 1616 "expparse.y" { Expression e; Variable v; - LISTdo(yymsp[-4].minor.yy471, sym, Symbol *) + LISTdo(yymsp[-4].minor.yy371, sym, Symbol *) e = EXPcreate(Type_Attribute); e->symbol = *sym; SYMBOL_destroy(sym); - v = VARcreate(e, yymsp[-2].minor.yy155); - v->initializer = yymsp[-1].minor.yy145; + v = VARcreate(e, yymsp[-2].minor.yy297); + v->offset = local_var_count++; + v->initializer = yymsp[-1].minor.yy401; DICTdefine(CURRENT_SCOPE->symbol_table, e->symbol.name, (Generic)v, - &e->symbol, OBJ_VARIABLE); + &e->symbol, OBJ_VARIABLE); LISTod; - LISTfree(yymsp[-4].minor.yy471); + LISTfree(yymsp[-4].minor.yy371); } -#line 3755 "expparse.c" +#line 3665 "expparse.c" break; - case 198: /* allow_generic_types ::= */ -#line 1682 "expparse.y" + case 197: /* local_decl_rules_on ::= */ +#line 1640 "expparse.y" { tag_count = 0; /* don't signal an error if we find a generic_type */ + local_var_count = 0; /* used to keep local var decl's in the same order */ } -#line 3762 "expparse.c" +#line 3673 "expparse.c" break; - case 199: /* disallow_generic_types ::= */ -#line 1687 "expparse.y" + case 198: /* local_decl_rules_off ::= */ +#line 1646 "expparse.y" { tag_count = -1; /* signal an error if we find a generic_type */ } -#line 3769 "expparse.c" +#line 3680 "expparse.c" break; - case 200: /* defined_type ::= TOK_IDENTIFIER */ -#line 1692 "expparse.y" + case 199: /* defined_type ::= TOK_IDENTIFIER */ +#line 1651 "expparse.y" { - yygotominor.yy155 = TYPEcreate_name(yymsp[0].minor.yy0.symbol); - SCOPEadd_super(yygotominor.yy155); + yygotominor.yy297 = TYPEcreate_name(yymsp[0].minor.yy0.symbol); + SCOPEadd_super(yygotominor.yy297); SYMBOL_destroy(yymsp[0].minor.yy0.symbol); } -#line 3778 "expparse.c" +#line 3689 "expparse.c" break; - case 201: /* defined_type_list ::= defined_type */ -#line 1699 "expparse.y" + case 200: /* defined_type_list ::= defined_type */ +#line 1658 "expparse.y" { - yygotominor.yy471 = LISTcreate(); - LISTadd(yygotominor.yy471, (Generic)yymsp[0].minor.yy155); + yygotominor.yy371 = LISTcreate(); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy297); } -#line 3787 "expparse.c" +#line 3698 "expparse.c" break; - case 202: /* defined_type_list ::= defined_type_list TOK_COMMA defined_type */ -#line 1705 "expparse.y" + case 201: /* defined_type_list ::= defined_type_list TOK_COMMA defined_type */ +#line 1664 "expparse.y" { - yygotominor.yy471 = yymsp[-2].minor.yy471; - LISTadd_last(yygotominor.yy471, - (Generic)yymsp[0].minor.yy155); + yygotominor.yy371 = yymsp[-2].minor.yy371; + LISTadd_last(yygotominor.yy371, + (Generic)yymsp[0].minor.yy297); } -#line 3796 "expparse.c" +#line 3707 "expparse.c" break; - case 205: /* optional_or_unique ::= */ -#line 1722 "expparse.y" + case 204: /* optional_or_unique ::= */ +#line 1681 "expparse.y" { - yygotominor.yy224.unique = 0; - yygotominor.yy224.optional = 0; + yygotominor.yy252.unique = 0; + yygotominor.yy252.optional = 0; } -#line 3804 "expparse.c" +#line 3715 "expparse.c" break; - case 206: /* optional_or_unique ::= TOK_OPTIONAL */ -#line 1727 "expparse.y" + case 205: /* optional_or_unique ::= TOK_OPTIONAL */ +#line 1686 "expparse.y" { - yygotominor.yy224.unique = 0; - yygotominor.yy224.optional = 1; + yygotominor.yy252.unique = 0; + yygotominor.yy252.optional = 1; } -#line 3812 "expparse.c" +#line 3723 "expparse.c" break; - case 207: /* optional_or_unique ::= TOK_UNIQUE */ -#line 1732 "expparse.y" + case 206: /* optional_or_unique ::= TOK_UNIQUE */ +#line 1691 "expparse.y" { - yygotominor.yy224.unique = 1; - yygotominor.yy224.optional = 0; + yygotominor.yy252.unique = 1; + yygotominor.yy252.optional = 0; } -#line 3820 "expparse.c" +#line 3731 "expparse.c" break; - case 208: /* optional_or_unique ::= TOK_OPTIONAL TOK_UNIQUE */ - case 209: /* optional_or_unique ::= TOK_UNIQUE TOK_OPTIONAL */ yytestcase(yyruleno==209); -#line 1737 "expparse.y" + case 207: /* optional_or_unique ::= TOK_OPTIONAL TOK_UNIQUE */ + case 208: /* optional_or_unique ::= TOK_UNIQUE TOK_OPTIONAL */ yytestcase(yyruleno==208); +#line 1696 "expparse.y" { - yygotominor.yy224.unique = 1; - yygotominor.yy224.optional = 1; + yygotominor.yy252.unique = 1; + yygotominor.yy252.optional = 1; } -#line 3829 "expparse.c" +#line 3740 "expparse.c" break; - case 210: /* optional_fixed ::= */ -#line 1748 "expparse.y" + case 209: /* optional_fixed ::= */ +#line 1707 "expparse.y" { - yygotominor.yy224.fixed = 0; + yygotominor.yy252.fixed = 0; } -#line 3836 "expparse.c" +#line 3747 "expparse.c" break; - case 211: /* optional_fixed ::= TOK_FIXED */ -#line 1752 "expparse.y" + case 210: /* optional_fixed ::= TOK_FIXED */ +#line 1711 "expparse.y" { - yygotominor.yy224.fixed = 1; + yygotominor.yy252.fixed = 1; } -#line 3843 "expparse.c" +#line 3754 "expparse.c" break; - case 212: /* precision_spec ::= */ -#line 1757 "expparse.y" + case 211: /* precision_spec ::= */ +#line 1716 "expparse.y" { - yygotominor.yy145 = (Expression)0; + yygotominor.yy401 = (Expression)0; } -#line 3850 "expparse.c" +#line 3761 "expparse.c" break; - case 213: /* precision_spec ::= TOK_LEFT_PAREN expression TOK_RIGHT_PAREN */ - case 305: /* unary_expression ::= TOK_LEFT_PAREN expression TOK_RIGHT_PAREN */ yytestcase(yyruleno==305); -#line 1761 "expparse.y" + case 212: /* precision_spec ::= TOK_LEFT_PAREN expression TOK_RIGHT_PAREN */ + case 304: /* unary_expression ::= TOK_LEFT_PAREN expression TOK_RIGHT_PAREN */ yytestcase(yyruleno==304); +#line 1720 "expparse.y" { - yygotominor.yy145 = yymsp[-1].minor.yy145; + yygotominor.yy401 = yymsp[-1].minor.yy401; } -#line 3858 "expparse.c" +#line 3769 "expparse.c" break; - case 214: /* proc_call_statement ::= procedure_id actual_parameters semicolon */ -#line 1771 "expparse.y" + case 213: /* proc_call_statement ::= procedure_id actual_parameters semicolon */ +#line 1730 "expparse.y" { - yygotominor.yy522 = PCALLcreate(yymsp[-1].minor.yy471); - yygotominor.yy522->symbol = *(yymsp[-2].minor.yy461); + yygotominor.yy332 = PCALLcreate(yymsp[-1].minor.yy371); + yygotominor.yy332->symbol = *(yymsp[-2].minor.yy275); } -#line 3866 "expparse.c" +#line 3777 "expparse.c" break; - case 215: /* proc_call_statement ::= procedure_id semicolon */ -#line 1776 "expparse.y" + case 214: /* proc_call_statement ::= procedure_id semicolon */ +#line 1735 "expparse.y" { - yygotominor.yy522 = PCALLcreate((Linked_List)0); - yygotominor.yy522->symbol = *(yymsp[-1].minor.yy461); + yygotominor.yy332 = PCALLcreate((Linked_List)0); + yygotominor.yy332->symbol = *(yymsp[-1].minor.yy275); } -#line 3874 "expparse.c" +#line 3785 "expparse.c" break; - case 216: /* procedure_decl ::= procedure_header action_body TOK_END_PROCEDURE semicolon */ -#line 1783 "expparse.y" + case 215: /* procedure_decl ::= procedure_header action_body TOK_END_PROCEDURE semicolon */ +#line 1742 "expparse.y" { - PROCput_body(CURRENT_SCOPE, yymsp[-2].minor.yy471); - ALGput_full_text(CURRENT_SCOPE, yymsp[-3].minor.yy215, SCANtell()); + PROCput_body(CURRENT_SCOPE, yymsp[-2].minor.yy371); + ALGput_full_text(CURRENT_SCOPE, yymsp[-3].minor.yy507, SCANtell()); POP_SCOPE(); } -#line 3883 "expparse.c" +#line 3794 "expparse.c" break; - case 217: /* procedure_header ::= TOK_PROCEDURE ph_get_line ph_push_scope formal_parameter_list semicolon */ -#line 1791 "expparse.y" + case 216: /* procedure_header ::= TOK_PROCEDURE ph_get_line ph_push_scope formal_parameter_list semicolon */ +#line 1750 "expparse.y" { Procedure p = CURRENT_SCOPE; - p->u.proc->parameters = yymsp[-1].minor.yy471; - p->u.proc->pcount = LISTget_length(yymsp[-1].minor.yy471); + p->u.proc->parameters = yymsp[-1].minor.yy371; + p->u.proc->pcount = LISTget_length(yymsp[-1].minor.yy371); p->u.proc->tag_count = tag_count; - tag_count = -1; /* done with parameters, no new tags can be defined */ - yygotominor.yy215 = yymsp[-3].minor.yy215; + tag_count = -1; /* done with parameters, no new tags can be defined */ + yygotominor.yy507 = yymsp[-3].minor.yy507; } -#line 3895 "expparse.c" +#line 3806 "expparse.c" break; - case 218: /* ph_push_scope ::= TOK_IDENTIFIER */ -#line 1801 "expparse.y" + case 217: /* ph_push_scope ::= TOK_IDENTIFIER */ +#line 1760 "expparse.y" { Procedure p = ALGcreate(OBJ_PROCEDURE); tag_count = 0; if (print_objects_while_running & OBJ_PROCEDURE_BITS) { - fprintf(stdout, "parse: %s (procedure)\n", yymsp[0].minor.yy0.symbol->name); + fprintf( stderr, "parse: %s (procedure)\n", yymsp[0].minor.yy0.symbol->name); } PUSH_SCOPE(p, yymsp[0].minor.yy0.symbol, OBJ_PROCEDURE); } -#line 3909 "expparse.c" +#line 3820 "expparse.c" break; - case 222: /* group_ref ::= TOK_BACKSLASH TOK_IDENTIFIER */ -#line 1827 "expparse.y" + case 221: /* group_ref ::= TOK_BACKSLASH TOK_IDENTIFIER */ +#line 1786 "expparse.y" { - yygotominor.yy145 = BIN_EXPcreate(OP_GROUP, (Expression)0, (Expression)0); - yygotominor.yy145->e.op2 = EXPcreate(Type_Identifier); - yygotominor.yy145->e.op2->symbol = *yymsp[0].minor.yy0.symbol; + yygotominor.yy401 = BIN_EXPcreate(OP_GROUP, (Expression)0, (Expression)0); + yygotominor.yy401->e.op2 = EXPcreate(Type_Identifier); + yygotominor.yy401->e.op2->symbol = *yymsp[0].minor.yy0.symbol; SYMBOL_destroy(yymsp[0].minor.yy0.symbol); } -#line 3919 "expparse.c" +#line 3830 "expparse.c" break; - case 223: /* qualifier ::= TOK_DOT TOK_IDENTIFIER */ -#line 1835 "expparse.y" + case 222: /* qualifier ::= TOK_DOT TOK_IDENTIFIER */ +#line 1794 "expparse.y" { - yygotominor.yy384.expr = yygotominor.yy384.first = BIN_EXPcreate(OP_DOT, (Expression)0, (Expression)0); - yygotominor.yy384.expr->e.op2 = EXPcreate(Type_Identifier); - yygotominor.yy384.expr->e.op2->symbol = *yymsp[0].minor.yy0.symbol; + yygotominor.yy46.expr = yygotominor.yy46.first = BIN_EXPcreate(OP_DOT, (Expression)0, (Expression)0); + yygotominor.yy46.expr->e.op2 = EXPcreate(Type_Identifier); + yygotominor.yy46.expr->e.op2->symbol = *yymsp[0].minor.yy0.symbol; SYMBOL_destroy(yymsp[0].minor.yy0.symbol); } -#line 3929 "expparse.c" +#line 3840 "expparse.c" break; - case 224: /* qualifier ::= TOK_BACKSLASH TOK_IDENTIFIER */ -#line 1842 "expparse.y" + case 223: /* qualifier ::= TOK_BACKSLASH TOK_IDENTIFIER */ +#line 1801 "expparse.y" { - yygotominor.yy384.expr = yygotominor.yy384.first = BIN_EXPcreate(OP_GROUP, (Expression)0, (Expression)0); - yygotominor.yy384.expr->e.op2 = EXPcreate(Type_Identifier); - yygotominor.yy384.expr->e.op2->symbol = *yymsp[0].minor.yy0.symbol; + yygotominor.yy46.expr = yygotominor.yy46.first = BIN_EXPcreate(OP_GROUP, (Expression)0, (Expression)0); + yygotominor.yy46.expr->e.op2 = EXPcreate(Type_Identifier); + yygotominor.yy46.expr->e.op2->symbol = *yymsp[0].minor.yy0.symbol; SYMBOL_destroy(yymsp[0].minor.yy0.symbol); } -#line 3939 "expparse.c" +#line 3850 "expparse.c" break; - case 225: /* qualifier ::= TOK_LEFT_BRACKET simple_expression TOK_RIGHT_BRACKET */ -#line 1849 "expparse.y" + case 224: /* qualifier ::= TOK_LEFT_BRACKET simple_expression TOK_RIGHT_BRACKET */ +#line 1810 "expparse.y" { - yygotominor.yy384.expr = yygotominor.yy384.first = BIN_EXPcreate(OP_ARRAY_ELEMENT, (Expression)0, - (Expression)0); - yygotominor.yy384.expr->e.op2 = yymsp[-1].minor.yy145; + yygotominor.yy46.expr = yygotominor.yy46.first = BIN_EXPcreate(OP_ARRAY_ELEMENT, (Expression)0, + (Expression)0); + yygotominor.yy46.expr->e.op2 = yymsp[-1].minor.yy401; } -#line 3948 "expparse.c" +#line 3859 "expparse.c" break; - case 226: /* qualifier ::= TOK_LEFT_BRACKET simple_expression TOK_COLON simple_expression TOK_RIGHT_BRACKET */ -#line 1856 "expparse.y" + case 225: /* qualifier ::= TOK_LEFT_BRACKET simple_expression TOK_COLON simple_expression TOK_RIGHT_BRACKET */ +#line 1819 "expparse.y" { - yygotominor.yy384.expr = yygotominor.yy384.first = TERN_EXPcreate(OP_SUBCOMPONENT, (Expression)0, - (Expression)0, (Expression)0); - yygotominor.yy384.expr->e.op2 = yymsp[-3].minor.yy145; - yygotominor.yy384.expr->e.op3 = yymsp[-1].minor.yy145; + yygotominor.yy46.expr = yygotominor.yy46.first = TERN_EXPcreate(OP_SUBCOMPONENT, (Expression)0, + (Expression)0, (Expression)0); + yygotominor.yy46.expr->e.op2 = yymsp[-3].minor.yy401; + yygotominor.yy46.expr->e.op3 = yymsp[-1].minor.yy401; } -#line 3958 "expparse.c" +#line 3869 "expparse.c" break; - case 227: /* query_expression ::= query_start expression TOK_RIGHT_PAREN */ -#line 1864 "expparse.y" + case 226: /* query_expression ::= query_start expression TOK_RIGHT_PAREN */ +#line 1827 "expparse.y" { - yygotominor.yy145 = yymsp[-2].minor.yy145; - yygotominor.yy145->u.query->expression = yymsp[-1].minor.yy145; + yygotominor.yy401 = yymsp[-2].minor.yy401; + yygotominor.yy401->u.query->expression = yymsp[-1].minor.yy401; POP_SCOPE(); } -#line 3967 "expparse.c" +#line 3878 "expparse.c" break; - case 228: /* query_start ::= TOK_QUERY TOK_LEFT_PAREN TOK_IDENTIFIER TOK_ALL_IN expression TOK_SUCH_THAT */ -#line 1872 "expparse.y" + case 227: /* query_start ::= TOK_QUERY TOK_LEFT_PAREN TOK_IDENTIFIER TOK_ALL_IN expression TOK_SUCH_THAT */ +#line 1835 "expparse.y" { - yygotominor.yy145 = QUERYcreate(yymsp[-3].minor.yy0.symbol, yymsp[-1].minor.yy145); + yygotominor.yy401 = QUERYcreate(yymsp[-3].minor.yy0.symbol, yymsp[-1].minor.yy401); SYMBOL_destroy(yymsp[-3].minor.yy0.symbol); - PUSH_SCOPE(yygotominor.yy145->u.query->scope, (Symbol *)0, OBJ_QUERY); + PUSH_SCOPE(yygotominor.yy401->u.query->scope, (Symbol *)0, OBJ_QUERY); } -#line 3976 "expparse.c" +#line 3887 "expparse.c" break; - case 229: /* rel_op ::= TOK_LESS_THAN */ -#line 1879 "expparse.y" + case 228: /* rel_op ::= TOK_LESS_THAN */ +#line 1842 "expparse.y" { - yygotominor.yy206 = OP_LESS_THAN; + yygotominor.yy126 = OP_LESS_THAN; } -#line 3983 "expparse.c" +#line 3894 "expparse.c" break; - case 230: /* rel_op ::= TOK_GREATER_THAN */ -#line 1883 "expparse.y" + case 229: /* rel_op ::= TOK_GREATER_THAN */ +#line 1846 "expparse.y" { - yygotominor.yy206 = OP_GREATER_THAN; + yygotominor.yy126 = OP_GREATER_THAN; } -#line 3990 "expparse.c" +#line 3901 "expparse.c" break; - case 231: /* rel_op ::= TOK_EQUAL */ -#line 1887 "expparse.y" + case 230: /* rel_op ::= TOK_EQUAL */ +#line 1850 "expparse.y" { - yygotominor.yy206 = OP_EQUAL; + yygotominor.yy126 = OP_EQUAL; } -#line 3997 "expparse.c" +#line 3908 "expparse.c" break; - case 232: /* rel_op ::= TOK_LESS_EQUAL */ -#line 1891 "expparse.y" + case 231: /* rel_op ::= TOK_LESS_EQUAL */ +#line 1854 "expparse.y" { - yygotominor.yy206 = OP_LESS_EQUAL; + yygotominor.yy126 = OP_LESS_EQUAL; } -#line 4004 "expparse.c" +#line 3915 "expparse.c" break; - case 233: /* rel_op ::= TOK_GREATER_EQUAL */ -#line 1895 "expparse.y" + case 232: /* rel_op ::= TOK_GREATER_EQUAL */ +#line 1858 "expparse.y" { - yygotominor.yy206 = OP_GREATER_EQUAL; + yygotominor.yy126 = OP_GREATER_EQUAL; } -#line 4011 "expparse.c" +#line 3922 "expparse.c" break; - case 234: /* rel_op ::= TOK_NOT_EQUAL */ -#line 1899 "expparse.y" + case 233: /* rel_op ::= TOK_NOT_EQUAL */ +#line 1862 "expparse.y" { - yygotominor.yy206 = OP_NOT_EQUAL; + yygotominor.yy126 = OP_NOT_EQUAL; } -#line 4018 "expparse.c" +#line 3929 "expparse.c" break; - case 235: /* rel_op ::= TOK_INST_EQUAL */ -#line 1903 "expparse.y" + case 234: /* rel_op ::= TOK_INST_EQUAL */ +#line 1866 "expparse.y" { - yygotominor.yy206 = OP_INST_EQUAL; + yygotominor.yy126 = OP_INST_EQUAL; } -#line 4025 "expparse.c" +#line 3936 "expparse.c" break; - case 236: /* rel_op ::= TOK_INST_NOT_EQUAL */ -#line 1907 "expparse.y" + case 235: /* rel_op ::= TOK_INST_NOT_EQUAL */ +#line 1870 "expparse.y" { - yygotominor.yy206 = OP_INST_NOT_EQUAL; + yygotominor.yy126 = OP_INST_NOT_EQUAL; } -#line 4032 "expparse.c" +#line 3943 "expparse.c" break; - case 237: /* repeat_statement ::= TOK_REPEAT increment_control while_control until_control semicolon statement_rep TOK_END_REPEAT semicolon */ -#line 1915 "expparse.y" + case 236: /* repeat_statement ::= TOK_REPEAT increment_control while_control until_control semicolon statement_rep TOK_END_REPEAT semicolon */ +#line 1878 "expparse.y" { - yygotominor.yy522 = LOOPcreate(CURRENT_SCOPE, yymsp[-5].minor.yy145, yymsp[-4].minor.yy145, yymsp[-2].minor.yy471); + yygotominor.yy332 = LOOPcreate(CURRENT_SCOPE, yymsp[-5].minor.yy401, yymsp[-4].minor.yy401, yymsp[-2].minor.yy371); /* matching PUSH_SCOPE is in increment_control */ POP_SCOPE(); } -#line 4042 "expparse.c" +#line 3953 "expparse.c" break; - case 238: /* repeat_statement ::= TOK_REPEAT while_control until_control semicolon statement_rep TOK_END_REPEAT semicolon */ -#line 1923 "expparse.y" + case 237: /* repeat_statement ::= TOK_REPEAT while_control until_control semicolon statement_rep TOK_END_REPEAT semicolon */ +#line 1886 "expparse.y" { - yygotominor.yy522 = LOOPcreate((struct Scope_ *)0, yymsp[-5].minor.yy145, yymsp[-4].minor.yy145, yymsp[-2].minor.yy471); + yygotominor.yy332 = LOOPcreate((struct Scope_ *)0, yymsp[-5].minor.yy401, yymsp[-4].minor.yy401, yymsp[-2].minor.yy371); } -#line 4049 "expparse.c" +#line 3960 "expparse.c" break; - case 239: /* return_statement ::= TOK_RETURN semicolon */ -#line 1928 "expparse.y" + case 238: /* return_statement ::= TOK_RETURN semicolon */ +#line 1891 "expparse.y" { - yygotominor.yy522 = RETcreate((Expression)0); + yygotominor.yy332 = RETcreate((Expression)0); } -#line 4056 "expparse.c" +#line 3967 "expparse.c" break; - case 240: /* return_statement ::= TOK_RETURN TOK_LEFT_PAREN expression TOK_RIGHT_PAREN semicolon */ -#line 1933 "expparse.y" + case 239: /* return_statement ::= TOK_RETURN TOK_LEFT_PAREN expression TOK_RIGHT_PAREN semicolon */ +#line 1896 "expparse.y" { - yygotominor.yy522 = RETcreate(yymsp[-2].minor.yy145); + yygotominor.yy332 = RETcreate(yymsp[-2].minor.yy401); } -#line 4063 "expparse.c" +#line 3974 "expparse.c" break; - case 242: /* rule_decl ::= rule_header action_body where_rule TOK_END_RULE semicolon */ -#line 1944 "expparse.y" + case 241: /* rule_decl ::= rule_header action_body where_rule TOK_END_RULE semicolon */ +#line 1907 "expparse.y" { - RULEput_body(CURRENT_SCOPE, yymsp[-3].minor.yy471); - RULEput_where(CURRENT_SCOPE, yymsp[-2].minor.yy471); - ALGput_full_text(CURRENT_SCOPE, yymsp[-4].minor.yy215, SCANtell()); + RULEput_body(CURRENT_SCOPE, yymsp[-3].minor.yy371); + RULEput_where(CURRENT_SCOPE, yymsp[-2].minor.yy371); + ALGput_full_text(CURRENT_SCOPE, yymsp[-4].minor.yy507, SCANtell()); POP_SCOPE(); } -#line 4073 "expparse.c" +#line 3984 "expparse.c" break; - case 243: /* rule_formal_parameter ::= TOK_IDENTIFIER */ -#line 1952 "expparse.y" + case 242: /* rule_formal_parameter ::= TOK_IDENTIFIER */ +#line 1915 "expparse.y" { Expression e; Type t; @@ -4084,438 +3994,405 @@ static void yy_reduce( t = TYPEcreate_from_body_anonymously(tb); SCOPEadd_super(t); e = EXPcreate_from_symbol(t, yymsp[0].minor.yy0.symbol); - yygotominor.yy443 = VARcreate(e, t); - yygotominor.yy443->flags.attribute = true; - yygotominor.yy443->flags.parameter = true; + yygotominor.yy91 = VARcreate(e, t); + yygotominor.yy91->flags.attribute = true; + yygotominor.yy91->flags.parameter = true; /* link it in to the current scope's dict */ - DICTdefine(CURRENT_SCOPE->symbol_table, yymsp[0].minor.yy0.symbol->name, (Generic)yygotominor.yy443, - yymsp[0].minor.yy0.symbol, OBJ_VARIABLE); + DICTdefine(CURRENT_SCOPE->symbol_table, yymsp[0].minor.yy0.symbol->name, (Generic)yygotominor.yy91, + yymsp[0].minor.yy0.symbol, OBJ_VARIABLE); } -#line 4096 "expparse.c" +#line 4007 "expparse.c" break; - case 244: /* rule_formal_parameter_list ::= rule_formal_parameter */ -#line 1973 "expparse.y" + case 243: /* rule_formal_parameter_list ::= rule_formal_parameter */ +#line 1936 "expparse.y" { - yygotominor.yy471 = LISTcreate(); - LISTadd(yygotominor.yy471, (Generic)yymsp[0].minor.yy443); + yygotominor.yy371 = LISTcreate(); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy91); } -#line 4104 "expparse.c" +#line 4015 "expparse.c" break; - case 245: /* rule_formal_parameter_list ::= rule_formal_parameter_list TOK_COMMA rule_formal_parameter */ -#line 1979 "expparse.y" + case 244: /* rule_formal_parameter_list ::= rule_formal_parameter_list TOK_COMMA rule_formal_parameter */ +#line 1942 "expparse.y" { - yygotominor.yy471 = yymsp[-2].minor.yy471; - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy443); + yygotominor.yy371 = yymsp[-2].minor.yy371; + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy91); } -#line 4112 "expparse.c" +#line 4023 "expparse.c" break; - case 246: /* rule_header ::= rh_start rule_formal_parameter_list TOK_RIGHT_PAREN semicolon */ -#line 1986 "expparse.y" + case 245: /* rule_header ::= rh_start rule_formal_parameter_list TOK_RIGHT_PAREN semicolon */ +#line 1949 "expparse.y" { - CURRENT_SCOPE->u.rule->parameters = yymsp[-2].minor.yy471; + CURRENT_SCOPE->u.rule->parameters = yymsp[-2].minor.yy371; - yygotominor.yy215 = yymsp[-3].minor.yy215; + yygotominor.yy507 = yymsp[-3].minor.yy507; } -#line 4121 "expparse.c" +#line 4032 "expparse.c" break; - case 247: /* rh_start ::= TOK_RULE rh_get_line TOK_IDENTIFIER TOK_FOR TOK_LEFT_PAREN */ -#line 1994 "expparse.y" + case 246: /* rh_start ::= TOK_RULE rh_get_line TOK_IDENTIFIER TOK_FOR TOK_LEFT_PAREN */ +#line 1957 "expparse.y" { Rule r = ALGcreate(OBJ_RULE); if (print_objects_while_running & OBJ_RULE_BITS) { - fprintf(stdout, "parse: %s (rule)\n", yymsp[-2].minor.yy0.symbol->name); + fprintf( stderr, "parse: %s (rule)\n", yymsp[-2].minor.yy0.symbol->name); } PUSH_SCOPE(r, yymsp[-2].minor.yy0.symbol, OBJ_RULE); - yygotominor.yy215 = yymsp[-3].minor.yy215; + yygotominor.yy507 = yymsp[-3].minor.yy507; } -#line 4136 "expparse.c" +#line 4047 "expparse.c" break; - case 251: /* schema_decl ::= schema_header schema_body TOK_END_SCHEMA semicolon */ -#line 2021 "expparse.y" + case 250: /* schema_decl ::= schema_header schema_body TOK_END_SCHEMA semicolon */ +#line 1984 "expparse.y" { POP_SCOPE(); } -#line 4143 "expparse.c" +#line 4054 "expparse.c" break; - case 253: /* schema_header ::= TOK_SCHEMA TOK_IDENTIFIER semicolon */ -#line 2030 "expparse.y" + case 252: /* schema_header ::= TOK_SCHEMA TOK_IDENTIFIER semicolon */ +#line 1993 "expparse.y" { Schema schema = ( Schema ) DICTlookup(CURRENT_SCOPE->symbol_table, yymsp[-1].minor.yy0.symbol->name); if (print_objects_while_running & OBJ_SCHEMA_BITS) { - fprintf(stdout, "parse: %s (schema)\n", yymsp[-1].minor.yy0.symbol->name); + fprintf( stderr, "parse: %s (schema)\n", yymsp[-1].minor.yy0.symbol->name); } if (EXPRESSignore_duplicate_schemas && schema) { - SCANskip_to_end_schema(parseData.scanner); - PUSH_SCOPE_DUMMY(); + SCANskip_to_end_schema(parseData.scanner); + PUSH_SCOPE_DUMMY(); } else { - schema = SCHEMAcreate(); - LISTadd_last(PARSEnew_schemas, (Generic)schema); - PUSH_SCOPE(schema, yymsp[-1].minor.yy0.symbol, OBJ_SCHEMA); + schema = SCHEMAcreate(); + LISTadd_last(PARSEnew_schemas, (Generic)schema); + PUSH_SCOPE(schema, yymsp[-1].minor.yy0.symbol, OBJ_SCHEMA); } } -#line 4163 "expparse.c" +#line 4074 "expparse.c" break; - case 254: /* select_type ::= TOK_SELECT TOK_LEFT_PAREN defined_type_list TOK_RIGHT_PAREN */ -#line 2049 "expparse.y" + case 253: /* select_type ::= TOK_SELECT TOK_LEFT_PAREN defined_type_list TOK_RIGHT_PAREN */ +#line 2012 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(select_); - yygotominor.yy457->list = yymsp[-1].minor.yy471; + yygotominor.yy477 = TYPEBODYcreate(select_); + yygotominor.yy477->list = yymsp[-1].minor.yy371; } -#line 4171 "expparse.c" +#line 4082 "expparse.c" break; - case 256: /* set_type ::= TOK_SET limit_spec TOK_OF attribute_type */ -#line 2060 "expparse.y" + case 255: /* set_type ::= TOK_SET bound_spec TOK_OF attribute_type */ +#line 2023 "expparse.y" { - yygotominor.yy457 = TYPEBODYcreate(set_); - yygotominor.yy457->base = yymsp[0].minor.yy155; - yygotominor.yy457->lower = yymsp[-2].minor.yy210.lower_limit; - yygotominor.yy457->upper = yymsp[-2].minor.yy210.upper_limit; + yygotominor.yy477 = TYPEBODYcreate(set_); + yygotominor.yy477->base = yymsp[0].minor.yy297; + yygotominor.yy477->lower = yymsp[-2].minor.yy253.lower_limit; + yygotominor.yy477->upper = yymsp[-2].minor.yy253.upper_limit; } -#line 4181 "expparse.c" +#line 4092 "expparse.c" break; - case 258: /* skip_statement ::= TOK_SKIP semicolon */ -#line 2073 "expparse.y" + case 257: /* skip_statement ::= TOK_SKIP semicolon */ +#line 2036 "expparse.y" { - yygotominor.yy522 = STATEMENT_SKIP; + yygotominor.yy332 = STATEMENT_SKIP; } -#line 4188 "expparse.c" +#line 4099 "expparse.c" break; - case 259: /* statement ::= alias_statement */ - case 260: /* statement ::= assignment_statement */ yytestcase(yyruleno==260); - case 261: /* statement ::= case_statement */ yytestcase(yyruleno==261); - case 262: /* statement ::= compound_statement */ yytestcase(yyruleno==262); - case 263: /* statement ::= escape_statement */ yytestcase(yyruleno==263); - case 264: /* statement ::= if_statement */ yytestcase(yyruleno==264); - case 265: /* statement ::= proc_call_statement */ yytestcase(yyruleno==265); - case 266: /* statement ::= repeat_statement */ yytestcase(yyruleno==266); - case 267: /* statement ::= return_statement */ yytestcase(yyruleno==267); - case 268: /* statement ::= skip_statement */ yytestcase(yyruleno==268); -#line 2078 "expparse.y" + case 258: /* statement ::= alias_statement */ + case 259: /* statement ::= assignment_statement */ yytestcase(yyruleno==259); + case 260: /* statement ::= case_statement */ yytestcase(yyruleno==260); + case 261: /* statement ::= compound_statement */ yytestcase(yyruleno==261); + case 262: /* statement ::= escape_statement */ yytestcase(yyruleno==262); + case 263: /* statement ::= if_statement */ yytestcase(yyruleno==263); + case 264: /* statement ::= proc_call_statement */ yytestcase(yyruleno==264); + case 265: /* statement ::= repeat_statement */ yytestcase(yyruleno==265); + case 266: /* statement ::= return_statement */ yytestcase(yyruleno==266); + case 267: /* statement ::= skip_statement */ yytestcase(yyruleno==267); +#line 2041 "expparse.y" { - yygotominor.yy522 = yymsp[0].minor.yy522; + yygotominor.yy332 = yymsp[0].minor.yy332; } -#line 4204 "expparse.c" +#line 4115 "expparse.c" break; - case 271: /* statement_rep ::= statement statement_rep */ -#line 2127 "expparse.y" + case 270: /* statement_rep ::= statement statement_rep */ +#line 2090 "expparse.y" { - yygotominor.yy471 = yymsp[0].minor.yy471; - LISTadd_first(yygotominor.yy471, (Generic)yymsp[-1].minor.yy522); + yygotominor.yy371 = yymsp[0].minor.yy371; + LISTadd_first(yygotominor.yy371, (Generic)yymsp[-1].minor.yy332); } -#line 4212 "expparse.c" +#line 4123 "expparse.c" break; - case 272: /* subsuper_decl ::= */ -#line 2137 "expparse.y" + case 271: /* subsuper_decl ::= */ +#line 2100 "expparse.y" { - yygotominor.yy34.subtypes = EXPRESSION_NULL; - yygotominor.yy34.abstract = false; - yygotominor.yy34.supertypes = LIST_NULL; + yygotominor.yy242.subtypes = EXPRESSION_NULL; + yygotominor.yy242.abstract = false; + yygotominor.yy242.supertypes = LIST_NULL; } -#line 4221 "expparse.c" +#line 4132 "expparse.c" break; - case 273: /* subsuper_decl ::= supertype_decl */ -#line 2143 "expparse.y" + case 272: /* subsuper_decl ::= supertype_decl */ +#line 2106 "expparse.y" { - yygotominor.yy34.subtypes = yymsp[0].minor.yy261.subtypes; - yygotominor.yy34.abstract = yymsp[0].minor.yy261.abstract; - yygotominor.yy34.supertypes = LIST_NULL; + yygotominor.yy242.subtypes = yymsp[0].minor.yy385.subtypes; + yygotominor.yy242.abstract = yymsp[0].minor.yy385.abstract; + yygotominor.yy242.supertypes = LIST_NULL; } -#line 4230 "expparse.c" +#line 4141 "expparse.c" break; - case 274: /* subsuper_decl ::= subtype_decl */ -#line 2149 "expparse.y" + case 273: /* subsuper_decl ::= subtype_decl */ +#line 2112 "expparse.y" { - yygotominor.yy34.supertypes = yymsp[0].minor.yy471; - yygotominor.yy34.abstract = false; - yygotominor.yy34.subtypes = EXPRESSION_NULL; + yygotominor.yy242.supertypes = yymsp[0].minor.yy371; + yygotominor.yy242.abstract = false; + yygotominor.yy242.subtypes = EXPRESSION_NULL; } -#line 4239 "expparse.c" +#line 4150 "expparse.c" break; - case 275: /* subsuper_decl ::= supertype_decl subtype_decl */ -#line 2155 "expparse.y" + case 274: /* subsuper_decl ::= supertype_decl subtype_decl */ +#line 2118 "expparse.y" { - yygotominor.yy34.subtypes = yymsp[-1].minor.yy261.subtypes; - yygotominor.yy34.abstract = yymsp[-1].minor.yy261.abstract; - yygotominor.yy34.supertypes = yymsp[0].minor.yy471; + yygotominor.yy242.subtypes = yymsp[-1].minor.yy385.subtypes; + yygotominor.yy242.abstract = yymsp[-1].minor.yy385.abstract; + yygotominor.yy242.supertypes = yymsp[0].minor.yy371; } -#line 4248 "expparse.c" +#line 4159 "expparse.c" break; - case 277: /* supertype_decl ::= TOK_ABSTRACT TOK_SUPERTYPE */ -#line 2168 "expparse.y" + case 276: /* supertype_decl ::= TOK_ABSTRACT TOK_SUPERTYPE */ +#line 2131 "expparse.y" { - yygotominor.yy261.subtypes = (Expression)0; - yygotominor.yy261.abstract = true; + yygotominor.yy385.subtypes = (Expression)0; + yygotominor.yy385.abstract = true; } -#line 4256 "expparse.c" +#line 4167 "expparse.c" break; - case 278: /* supertype_decl ::= TOK_SUPERTYPE TOK_OF TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN */ -#line 2174 "expparse.y" + case 277: /* supertype_decl ::= TOK_SUPERTYPE TOK_OF TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN */ +#line 2137 "expparse.y" { - yygotominor.yy261.subtypes = yymsp[-1].minor.yy145; - yygotominor.yy261.abstract = false; + yygotominor.yy385.subtypes = yymsp[-1].minor.yy401; + yygotominor.yy385.abstract = false; } -#line 4264 "expparse.c" +#line 4175 "expparse.c" break; - case 279: /* supertype_decl ::= TOK_ABSTRACT TOK_SUPERTYPE TOK_OF TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN */ -#line 2180 "expparse.y" + case 278: /* supertype_decl ::= TOK_ABSTRACT TOK_SUPERTYPE TOK_OF TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN */ +#line 2143 "expparse.y" { - yygotominor.yy261.subtypes = yymsp[-1].minor.yy145; - yygotominor.yy261.abstract = true; + yygotominor.yy385.subtypes = yymsp[-1].minor.yy401; + yygotominor.yy385.abstract = true; } -#line 4272 "expparse.c" +#line 4183 "expparse.c" break; - case 280: /* supertype_expression ::= supertype_factor */ -#line 2186 "expparse.y" + case 279: /* supertype_expression ::= supertype_factor */ +#line 2149 "expparse.y" { - yygotominor.yy145 = yymsp[0].minor.yy261.subtypes; + yygotominor.yy401 = yymsp[0].minor.yy385.subtypes; } -#line 4279 "expparse.c" +#line 4190 "expparse.c" break; - case 281: /* supertype_expression ::= supertype_expression TOK_AND supertype_factor */ -#line 2190 "expparse.y" + case 280: /* supertype_expression ::= supertype_expression TOK_AND supertype_factor */ +#line 2153 "expparse.y" { - yygotominor.yy145 = BIN_EXPcreate(OP_AND, yymsp[-2].minor.yy145, yymsp[0].minor.yy261.subtypes); + yygotominor.yy401 = BIN_EXPcreate(OP_AND, yymsp[-2].minor.yy401, yymsp[0].minor.yy385.subtypes); } -#line 4286 "expparse.c" +#line 4197 "expparse.c" break; - case 282: /* supertype_expression ::= supertype_expression TOK_ANDOR supertype_factor */ -#line 2195 "expparse.y" + case 281: /* supertype_expression ::= supertype_expression TOK_ANDOR supertype_factor */ +#line 2158 "expparse.y" { - yygotominor.yy145 = BIN_EXPcreate(OP_ANDOR, yymsp[-2].minor.yy145, yymsp[0].minor.yy261.subtypes); + yygotominor.yy401 = BIN_EXPcreate(OP_ANDOR, yymsp[-2].minor.yy401, yymsp[0].minor.yy385.subtypes); } -#line 4293 "expparse.c" +#line 4204 "expparse.c" break; - case 284: /* supertype_expression_list ::= supertype_expression_list TOK_COMMA supertype_expression */ -#line 2206 "expparse.y" + case 283: /* supertype_expression_list ::= supertype_expression_list TOK_COMMA supertype_expression */ +#line 2169 "expparse.y" { - LISTadd_last(yymsp[-2].minor.yy471, (Generic)yymsp[0].minor.yy145); - yygotominor.yy471 = yymsp[-2].minor.yy471; + LISTadd_last(yymsp[-2].minor.yy371, (Generic)yymsp[0].minor.yy401); + yygotominor.yy371 = yymsp[-2].minor.yy371; } -#line 4301 "expparse.c" +#line 4212 "expparse.c" break; - case 285: /* supertype_factor ::= identifier */ -#line 2212 "expparse.y" + case 284: /* supertype_factor ::= identifier */ +#line 2175 "expparse.y" { - yygotominor.yy261.subtypes = yymsp[0].minor.yy145; + yygotominor.yy385.subtypes = yymsp[0].minor.yy401; } -#line 4308 "expparse.c" +#line 4219 "expparse.c" break; - case 286: /* supertype_factor ::= oneof_op TOK_LEFT_PAREN supertype_expression_list TOK_RIGHT_PAREN */ -#line 2217 "expparse.y" + case 285: /* supertype_factor ::= oneof_op TOK_LEFT_PAREN supertype_expression_list TOK_RIGHT_PAREN */ +#line 2180 "expparse.y" { - yygotominor.yy261.subtypes = EXPcreate(Type_Oneof); - yygotominor.yy261.subtypes->u.list = yymsp[-1].minor.yy471; + yygotominor.yy385.subtypes = EXPcreate(Type_Oneof); + yygotominor.yy385.subtypes->u.list = yymsp[-1].minor.yy371; } -#line 4316 "expparse.c" +#line 4227 "expparse.c" break; - case 287: /* supertype_factor ::= TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN */ -#line 2222 "expparse.y" + case 286: /* supertype_factor ::= TOK_LEFT_PAREN supertype_expression TOK_RIGHT_PAREN */ +#line 2185 "expparse.y" { - yygotominor.yy261.subtypes = yymsp[-1].minor.yy145; + yygotominor.yy385.subtypes = yymsp[-1].minor.yy401; } -#line 4323 "expparse.c" +#line 4234 "expparse.c" break; - case 288: /* type ::= aggregation_type */ - case 289: /* type ::= basic_type */ yytestcase(yyruleno==289); - case 291: /* type ::= select_type */ yytestcase(yyruleno==291); -#line 2227 "expparse.y" + case 287: /* type ::= aggregation_type */ + case 288: /* type ::= basic_type */ yytestcase(yyruleno==288); + case 290: /* type ::= select_type */ yytestcase(yyruleno==290); +#line 2190 "expparse.y" { - yygotominor.yy352.type = 0; - yygotominor.yy352.body = yymsp[0].minor.yy457; + yygotominor.yy378.type = 0; + yygotominor.yy378.body = yymsp[0].minor.yy477; } -#line 4333 "expparse.c" +#line 4244 "expparse.c" break; - case 293: /* type_item_body ::= type */ -#line 2252 "expparse.y" + case 292: /* type_item_body ::= type */ +#line 2215 "expparse.y" { - CURRENT_SCOPE->u.type->head = yymsp[0].minor.yy352.type; - CURRENT_SCOPE->u.type->body = yymsp[0].minor.yy352.body; + CURRENT_SCOPE->u.type->head = yymsp[0].minor.yy378.type; + CURRENT_SCOPE->u.type->body = yymsp[0].minor.yy378.body; } -#line 4341 "expparse.c" +#line 4252 "expparse.c" break; - case 295: /* ti_start ::= TOK_IDENTIFIER TOK_EQUAL */ -#line 2260 "expparse.y" + case 294: /* ti_start ::= TOK_IDENTIFIER TOK_EQUAL */ +#line 2223 "expparse.y" { Type t = TYPEcreate_name(yymsp[-1].minor.yy0.symbol); PUSH_SCOPE(t, yymsp[-1].minor.yy0.symbol, OBJ_TYPE); } -#line 4349 "expparse.c" +#line 4260 "expparse.c" break; - case 297: /* td_start ::= TOK_TYPE type_item where_rule_OPT */ -#line 2271 "expparse.y" + case 296: /* td_start ::= TOK_TYPE type_item where_rule_OPT */ +#line 2234 "expparse.y" { - CURRENT_SCOPE->where = yymsp[0].minor.yy471; + CURRENT_SCOPE->where = yymsp[0].minor.yy371; POP_SCOPE(); yygotominor.yy0 = yymsp[-2].minor.yy0; } -#line 4358 "expparse.c" +#line 4269 "expparse.c" break; - case 298: /* general_ref ::= assignable group_ref */ -#line 2278 "expparse.y" + case 297: /* general_ref ::= assignable group_ref */ +#line 2241 "expparse.y" { - yymsp[0].minor.yy145->e.op1 = yymsp[-1].minor.yy145; - yygotominor.yy145 = yymsp[0].minor.yy145; + yymsp[0].minor.yy401->e.op1 = yymsp[-1].minor.yy401; + yygotominor.yy401 = yymsp[0].minor.yy401; } -#line 4366 "expparse.c" +#line 4277 "expparse.c" break; - case 308: /* unary_expression ::= TOK_NOT unary_expression */ -#line 2321 "expparse.y" + case 307: /* unary_expression ::= TOK_NOT unary_expression */ +#line 2284 "expparse.y" { - yygotominor.yy145 = UN_EXPcreate(OP_NOT, yymsp[0].minor.yy145); + yygotominor.yy401 = UN_EXPcreate(OP_NOT, yymsp[0].minor.yy401); } -#line 4373 "expparse.c" +#line 4284 "expparse.c" break; - case 310: /* unary_expression ::= TOK_MINUS unary_expression */ -#line 2329 "expparse.y" -{ - yygotominor.yy145 = UN_EXPcreate(OP_NEGATE, yymsp[0].minor.yy145); -} -#line 4380 "expparse.c" - break; - case 311: /* unique ::= */ -#line 2334 "expparse.y" + case 309: /* unary_expression ::= TOK_MINUS unary_expression */ +#line 2292 "expparse.y" { - yygotominor.yy224.unique = 0; + yygotominor.yy401 = UN_EXPcreate(OP_NEGATE, yymsp[0].minor.yy401); } -#line 4387 "expparse.c" +#line 4291 "expparse.c" break; - case 312: /* unique ::= TOK_UNIQUE */ -#line 2338 "expparse.y" + case 310: /* unique ::= */ +#line 2297 "expparse.y" { - yygotominor.yy224.unique = 1; + yygotominor.yy252.unique = 0; } -#line 4394 "expparse.c" +#line 4298 "expparse.c" break; - case 313: /* qualified_attr ::= TOK_IDENTIFIER */ -#line 2343 "expparse.y" + case 311: /* unique ::= TOK_UNIQUE */ +#line 2301 "expparse.y" { - yygotominor.yy101 = QUAL_ATTR_new(); - yygotominor.yy101->attribute = yymsp[0].minor.yy0.symbol; + yygotominor.yy252.unique = 1; } -#line 4402 "expparse.c" +#line 4305 "expparse.c" break; - case 314: /* qualified_attr ::= TOK_SELF TOK_BACKSLASH TOK_IDENTIFIER TOK_DOT TOK_IDENTIFIER */ -#line 2349 "expparse.y" + case 315: /* labelled_attrib_list ::= qualified_attr_list semicolon */ +#line 2328 "expparse.y" { - yygotominor.yy101 = QUAL_ATTR_new(); - yygotominor.yy101->entity = yymsp[-2].minor.yy0.symbol; - yygotominor.yy101->attribute = yymsp[0].minor.yy0.symbol; + LISTadd_first(yymsp[-1].minor.yy371, (Generic)EXPRESSION_NULL); + yygotominor.yy371 = yymsp[-1].minor.yy371; } -#line 4411 "expparse.c" +#line 4313 "expparse.c" break; - case 315: /* qualified_attr_list ::= qualified_attr */ -#line 2356 "expparse.y" -{ - yygotominor.yy471 = LISTcreate(); - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy101); -} -#line 4419 "expparse.c" - break; - case 316: /* qualified_attr_list ::= qualified_attr_list TOK_COMMA qualified_attr */ -#line 2361 "expparse.y" -{ - yygotominor.yy471 = yymsp[-2].minor.yy471; - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy101); -} -#line 4427 "expparse.c" - break; - case 317: /* labelled_attrib_list ::= qualified_attr_list semicolon */ -#line 2367 "expparse.y" -{ - LISTadd_first(yymsp[-1].minor.yy471, (Generic)EXPRESSION_NULL); - yygotominor.yy471 = yymsp[-1].minor.yy471; -} -#line 4435 "expparse.c" - break; - case 318: /* labelled_attrib_list ::= TOK_IDENTIFIER TOK_COLON qualified_attr_list semicolon */ -#line 2373 "expparse.y" + case 316: /* labelled_attrib_list ::= TOK_IDENTIFIER TOK_COLON qualified_attr_list semicolon */ +#line 2334 "expparse.y" { - LISTadd_first(yymsp[-1].minor.yy471, (Generic)yymsp[-3].minor.yy0.symbol); - yygotominor.yy471 = yymsp[-1].minor.yy471; + LISTadd_first(yymsp[-1].minor.yy371, (Generic)yymsp[-3].minor.yy0.symbol); + yygotominor.yy371 = yymsp[-1].minor.yy371; } -#line 4443 "expparse.c" +#line 4321 "expparse.c" break; - case 319: /* labelled_attrib_list_list ::= labelled_attrib_list */ -#line 2380 "expparse.y" + case 317: /* labelled_attrib_list_list ::= labelled_attrib_list */ +#line 2341 "expparse.y" { - yygotominor.yy471 = LISTcreate(); - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy471); + yygotominor.yy371 = LISTcreate(); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy371); } -#line 4451 "expparse.c" +#line 4329 "expparse.c" break; - case 320: /* labelled_attrib_list_list ::= labelled_attrib_list_list labelled_attrib_list */ -#line 2386 "expparse.y" + case 318: /* labelled_attrib_list_list ::= labelled_attrib_list_list labelled_attrib_list */ +#line 2347 "expparse.y" { - LISTadd_last(yymsp[-1].minor.yy471, (Generic)yymsp[0].minor.yy471); - yygotominor.yy471 = yymsp[-1].minor.yy471; + LISTadd_last(yymsp[-1].minor.yy371, (Generic)yymsp[0].minor.yy371); + yygotominor.yy371 = yymsp[-1].minor.yy371; } -#line 4459 "expparse.c" +#line 4337 "expparse.c" break; - case 323: /* until_control ::= */ - case 332: /* while_control ::= */ yytestcase(yyruleno==332); -#line 2401 "expparse.y" + case 321: /* until_control ::= */ + case 330: /* while_control ::= */ yytestcase(yyruleno==330); +#line 2362 "expparse.y" { - yygotominor.yy145 = 0; + yygotominor.yy401 = 0; } -#line 4467 "expparse.c" +#line 4345 "expparse.c" break; - case 325: /* where_clause ::= expression semicolon */ -#line 2410 "expparse.y" + case 323: /* where_clause ::= expression semicolon */ +#line 2371 "expparse.y" { - yygotominor.yy428 = WHERE_new(); - yygotominor.yy428->label = SYMBOLcreate("", yylineno, current_filename); - yygotominor.yy428->expr = yymsp[-1].minor.yy145; + yygotominor.yy234 = WHERE_new(); + yygotominor.yy234->label = SYMBOLcreate("", yylineno, current_filename); + yygotominor.yy234->expr = yymsp[-1].minor.yy401; } -#line 4476 "expparse.c" +#line 4354 "expparse.c" break; - case 326: /* where_clause ::= TOK_IDENTIFIER TOK_COLON expression semicolon */ -#line 2416 "expparse.y" + case 324: /* where_clause ::= TOK_IDENTIFIER TOK_COLON expression semicolon */ +#line 2377 "expparse.y" { - yygotominor.yy428 = WHERE_new(); - yygotominor.yy428->label = yymsp[-3].minor.yy0.symbol; - yygotominor.yy428->expr = yymsp[-1].minor.yy145; + yygotominor.yy234 = WHERE_new(); + yygotominor.yy234->label = yymsp[-3].minor.yy0.symbol; + yygotominor.yy234->expr = yymsp[-1].minor.yy401; if (!CURRENT_SCOPE->symbol_table) { - CURRENT_SCOPE->symbol_table = DICTcreate(25); + CURRENT_SCOPE->symbol_table = DICTcreate(25); } - DICTdefine(CURRENT_SCOPE->symbol_table, yymsp[-3].minor.yy0.symbol->name, (Generic)yygotominor.yy428, - yymsp[-3].minor.yy0.symbol, OBJ_WHERE); + DICTdefine(CURRENT_SCOPE->symbol_table, yymsp[-3].minor.yy0.symbol->name, (Generic)yygotominor.yy234, + yymsp[-3].minor.yy0.symbol, OBJ_WHERE); } -#line 4492 "expparse.c" +#line 4370 "expparse.c" break; - case 327: /* where_clause_list ::= where_clause */ -#line 2430 "expparse.y" + case 325: /* where_clause_list ::= where_clause */ +#line 2391 "expparse.y" { - yygotominor.yy471 = LISTcreate(); - LISTadd(yygotominor.yy471, (Generic)yymsp[0].minor.yy428); + yygotominor.yy371 = LISTcreate(); + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy234); } -#line 4500 "expparse.c" +#line 4378 "expparse.c" break; - case 328: /* where_clause_list ::= where_clause_list where_clause */ -#line 2435 "expparse.y" + case 326: /* where_clause_list ::= where_clause_list where_clause */ +#line 2396 "expparse.y" { - yygotominor.yy471 = yymsp[-1].minor.yy471; - LISTadd_last(yygotominor.yy471, (Generic)yymsp[0].minor.yy428); + yygotominor.yy371 = yymsp[-1].minor.yy371; + LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy234); } -#line 4508 "expparse.c" +#line 4386 "expparse.c" break; default: /* (4) action_body_item_rep ::= */ yytestcase(yyruleno==4); /* (41) block_list ::= */ yytestcase(yyruleno==41); /* (62) constant_body_list ::= */ yytestcase(yyruleno==62); /* (86) express_file ::= schema_decl_list */ yytestcase(yyruleno==86); - /* (160) parened_rename_list ::= TOK_LEFT_PAREN rename_list TOK_RIGHT_PAREN */ yytestcase(yyruleno==160); - /* (169) interface_specification_list ::= */ yytestcase(yyruleno==169); - /* (195) local_body ::= */ yytestcase(yyruleno==195); - /* (197) local_decl ::= TOK_LOCAL allow_generic_types local_body TOK_END_LOCAL semicolon disallow_generic_types */ yytestcase(yyruleno==197); - /* (294) type_item ::= ti_start type_item_body semicolon */ yytestcase(yyruleno==294); + /* (159) parened_rename_list ::= TOK_LEFT_PAREN rename_list TOK_RIGHT_PAREN */ yytestcase(yyruleno==159); + /* (168) interface_specification_list ::= */ yytestcase(yyruleno==168); + /* (194) local_body ::= */ yytestcase(yyruleno==194); + /* (196) local_decl ::= TOK_LOCAL local_decl_rules_on local_body TOK_END_LOCAL semicolon local_decl_rules_off */ yytestcase(yyruleno==196); + /* (293) type_item ::= ti_start type_item_body semicolon */ yytestcase(yyruleno==293); break; }; yygoto = yyRuleInfo[yyruleno].lhs; @@ -4575,18 +4452,20 @@ static void yy_syntax_error( ){ ParseARG_FETCH; #define TOKEN (yyminor.yy0) -#line 2463 "expparse.y" +#line 2424 "expparse.y" Symbol sym; + (void) yymajor; /* quell unused param warning */ + (void) yyminor; yyerrstatus++; sym.line = yylineno; sym.filename = current_filename; - ERRORreport_with_symbol(ERROR_syntax, &sym, "", - CURRENT_SCOPE_TYPE_PRINTABLE, CURRENT_SCOPE_NAME); -#line 4590 "expparse.c" + ERRORreport_with_symbol(SYNTAX, &sym, "Syntax error", + CURRENT_SCOPE_TYPE_PRINTABLE, CURRENT_SCOPE_NAME); +#line 4470 "expparse.c" ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */ } diff --git a/src/express/generated/expscan.c b/src/express/generated/expscan.c index ec52e2c51..0b60210cb 100644 --- a/src/express/generated/expscan.c +++ b/src/express/generated/expscan.c @@ -99,6 +99,10 @@ * Revision 4.1 90/09/13 16:29:00 clark * BPR 2.1 alpha * */ +#include +#if !defined(isascii) && defined(__isascii) +# define isascii __isascii +#endif #include "express/basic.h" #include "express/error.h" #include "express/lexact.h" @@ -106,7 +110,6 @@ #include "expparse.h" #include "expscan.h" enum { INITIAL, code, comment, return_end_schema }; -extern void yyerror(); extern int yylineno; extern bool yyeof; static int nesting_level = 0; @@ -136,7 +139,7 @@ SCANbuffer.numRead--; #endif buffer[0] = *(SCANcurrent++); if (!isascii(buffer[0])) { -ERRORreport_with_line(ERROR_nonascii_char,yylineno, +ERRORreport_with_line(NONASCII_CHAR,yylineno, 0xff & buffer[0]); buffer[0] = ' '; /* substitute space */ } @@ -144,17 +147,6 @@ return 1; } else return 0; } -static int -yywrap() -{ -int i; -for (i = 0; i < nesting_level && i < MAX_NESTED_COMMENTS; i++) { -ERRORreport_with_symbol(ERROR_unmatched_open_comment, -&open_comment[i]); -/* maybe not all, but at least some will be reported - DEL */ -} -return 1; -} #define NEWLINE (yylineno++) /* when lex looks ahead over a newline, error messages get thrown off */ /* Fortunately, we know when that occurs, so adjust for it by this hack */ @@ -475,33 +467,32 @@ buf_append(struct Buf *buf, const void *ptr, int n_elem) } /* --- */ -/* input buffering support */ +/* input buffering support + * note that these routines assume buf->elt_size == sizeof(char) + */ /* get pointer to the start of the first element */ -static void* -buf_first_elt(struct Buf *buf) +static char* +bufferFirstElt(struct Buf *buf) { - return buf->elts; + return (char*)buf->elts; } /* get pointer to the start of the last element */ -static void* -buf_last_elt(struct Buf *buf) +static char* +bufferLastElt(struct Buf *buf) { - size_t first = (size_t)buf_first_elt(buf); - if (buf->nelts < 1) { return NULL; } - - return (void*)(first + buf->elt_size * (buf->nelts - 1)); + return bufferFirstElt(buf) + buf->nelts - 1; } static void -buf_append_char(struct Buf *buf, char c) +bufferAppendChar(struct Buf *buf, char c) { char *cp = &c; - buf_append(buf, cp, sizeof(char) / buf->elt_size); + buf_append(buf, cp, 1); } /* Copy up to n input characters to the end of scanner buffer. If EOF is @@ -534,14 +525,14 @@ bufferAppend(perplex_t scanner, size_t n) scanner->atEOI = 1; break; } - buf_append_char(buf, c); + bufferAppendChar(buf, c); } /* (scanner->null - eltSize) should be the last input element, * we put a literal null after this element for debugging */ - buf_append_char(buf, '\0'); - scanner->null = (char*)buf_last_elt(buf); + bufferAppendChar(buf, '\0'); + scanner->null = bufferLastElt(buf); /* update markers in case append caused buffer to be reallocated */ bufStart = (char*)buf->elts; @@ -577,7 +568,7 @@ bufferFill(perplex_t scanner, size_t n) marker = (void*)scanner->marker; null = (void*)scanner->null; - bufFirst = buf_first_elt(buf); + bufFirst = bufferFirstElt(buf); /* Find first buffer element still in use by scanner. Will be * tokenStart unless backtracking marker is in use. @@ -630,7 +621,7 @@ getTokenText(perplex_t scanner) #define yyextra scanner->extra static perplex_t -newScanner() +newScanner(void) { perplex_t scanner; scanner = (perplex_t)calloc(1, sizeof(struct perplex)); @@ -661,12 +652,12 @@ perplexStringScanner(char *firstChar, size_t numChars) /* copy string to buffer */ for (i = 0; i < numChars; i++) { - buf_append_char(buf, firstChar[i]); + bufferAppendChar(buf, firstChar[i]); } - buf_append_char(buf, '\0'); + bufferAppendChar(buf, '\0'); - scanner->marker = scanner->cursor = (char*)buf_first_elt(buf); - scanner->null = (char*)buf_last_elt(buf); + scanner->marker = scanner->cursor = bufferFirstElt(buf); + scanner->null = bufferLastElt(buf); scanner->atEOI = 1; return scanner; @@ -681,9 +672,9 @@ perplexFileScanner(FILE *input) scanner->inFile = input; initBuffer(scanner); - buf_append_char(scanner->buffer, '\0'); + bufferAppendChar(scanner->buffer, '\0'); - bufFirst = (char*)buf_first_elt(scanner->buffer); + bufFirst = bufferFirstElt(scanner->buffer); scanner->null = scanner->marker = scanner->cursor = bufFirst; return scanner; @@ -727,17 +718,17 @@ perplexUnput(perplex_t scanner, char c) buf = scanner->buffer; /* save marker offsets */ - bufStart = (char*)buf_first_elt(buf); + bufStart = bufferFirstElt(buf); cursorOffset = (size_t)(scanner->cursor - bufStart); markerOffset = (size_t)(scanner->marker - bufStart); tokenStartOffset = (size_t)(scanner->tokenStart - bufStart); /* append character to create room for shift */ - buf_append_char(buf, '\0'); - scanner->null = (char*)buf_last_elt(buf); + bufferAppendChar(buf, '\0'); + scanner->null = bufferLastElt(buf); /* update markers in case append caused buffer to be reallocated */ - bufStart = (char*)buf_first_elt(buf); + bufStart = bufferFirstElt(buf); scanner->cursor = bufStart + cursorOffset; scanner->marker = bufStart + markerOffset; scanner->tokenStart = bufStart + tokenStartOffset; @@ -946,7 +937,7 @@ IGNORE_TOKEN; ++scanner->cursor; yy13: { -ERRORreport_with_line(ERROR_unexpected_character,yylineno,yytext[0]); +ERRORreport_with_line(UNEXPECTED_CHARACTER,yylineno,yytext[0]); IGNORE_TOKEN; } yy14: @@ -1106,7 +1097,7 @@ return TOK_RIGHT_BRACKET; } goto yy65; yy55: { -ERRORreport_with_line(ERROR_bad_identifier, yylineno, yytext); +ERRORreport_with_line(BAD_IDENTIFIER, yylineno, yytext); return SCANprocess_identifier_or_keyword(yytext); } yy56: @@ -1466,7 +1457,7 @@ IGNORE_TOKEN; yy105: ++scanner->cursor; { -ERRORreport_with_line(ERROR_unmatched_close_comment, yylineno); +ERRORreport_with_line(UNMATCHED_CLOSE_COMMENT, yylineno); IGNORE_TOKEN; } yy107: @@ -1510,7 +1501,7 @@ return SCANprocess_string(yytext); yy115: ++scanner->cursor; { -ERRORreport_with_line(ERROR_unterminated_string, LINENO_FUDGE); +ERRORreport_with_line(UNTERMINATED_STRING, LINENO_FUDGE); NEWLINE; return SCANprocess_string(yytext); } @@ -1540,7 +1531,7 @@ return SCANprocess_binary_literal(yytext); yy122: ++scanner->cursor; { -ERRORreport_with_line(ERROR_unterminated_string, LINENO_FUDGE); +ERRORreport_with_line(UNTERMINATED_STRING, LINENO_FUDGE); NEWLINE; return SCANprocess_encoded_string(yytext); } diff --git a/src/express/generated/verification_info.cmake b/src/express/generated/verification_info.cmake deleted file mode 100644 index ece9920ac..000000000 --- a/src/express/generated/verification_info.cmake +++ /dev/null @@ -1,12 +0,0 @@ -# Autogenerated verification information -set(baseline_lemon_version "1.0") -set(baseline_re2c_version "001305") -set(baseline_perplex_version "1.0.0") -set(baseline_lempar_c_md5 60741b9dd886b77a5732a2e85d6d56b0) -set(baseline_perplex_template_c_md5 7db377251a8c99c835f06df129d95bed) -set(baseline_expscan_l_md5 617531ffdf3ee747cd5980f3c3a9a4bd) -set(baseline_expparse_y_md5 0a60808c46d732078f9b83beb41de755) -set(baseline_expscan_c_md5 980080ce3ee1366a28f2ecfabbe65a3f) -set(baseline_expscan_h_md5 3052c058a37045b43f96e4c04039bce3) -set(baseline_expparse_c_md5 e4cf1f02baf74a107422965b00a408ff) -set(baseline_expparse_h_md5 e4a5599839b2a9f7a6915a0dcc7747b0) diff --git a/src/express/generated/ybreaks.txt b/src/express/generated/ybreaks.txt new file mode 100644 index 000000000..cb7636ff3 --- /dev/null +++ b/src/express/generated/ybreaks.txt @@ -0,0 +1,229 @@ +expparse.y:2 +expparse.y:124 +expparse.y:2440 +expparse.y:297 +expparse.y:303 +expparse.y:320 +expparse.y:337 +expparse.y:341 +expparse.y:347 +expparse.y:353 +expparse.y:359 +expparse.y:364 +expparse.y:369 +expparse.y:379 +expparse.y:387 +expparse.y:397 +expparse.y:411 +expparse.y:423 +expparse.y:442 +expparse.y:456 +expparse.y:463 +expparse.y:475 +expparse.y:486 +expparse.y:491 +expparse.y:501 +expparse.y:506 +expparse.y:510 +expparse.y:516 +expparse.y:523 +expparse.y:529 +expparse.y:533 +expparse.y:538 +expparse.y:543 +expparse.y:547 +expparse.y:551 +expparse.y:557 +expparse.y:583 +expparse.y:593 +expparse.y:599 +expparse.y:609 +expparse.y:618 +expparse.y:628 +expparse.y:634 +expparse.y:642 +expparse.y:646 +expparse.y:653 +expparse.y:658 +expparse.y:663 +expparse.y:668 +expparse.y:675 +expparse.y:694 +expparse.y:726 +expparse.y:733 +expparse.y:738 +expparse.y:745 +expparse.y:760 +expparse.y:775 +expparse.y:786 +expparse.y:819 +expparse.y:834 +expparse.y:841 +expparse.y:855 +expparse.y:862 +expparse.y:868 +expparse.y:872 +expparse.y:878 +expparse.y:907 +expparse.y:913 +expparse.y:919 +expparse.y:925 +expparse.y:931 +expparse.y:937 +expparse.y:943 +expparse.y:949 +expparse.y:955 +expparse.y:961 +expparse.y:967 +expparse.y:973 +expparse.y:979 +expparse.y:985 +expparse.y:995 +expparse.y:1001 +expparse.y:1007 +expparse.y:1013 +expparse.y:1019 +expparse.y:1025 +expparse.y:1031 +expparse.y:1037 +expparse.y:1055 +expparse.y:1059 +expparse.y:1064 +expparse.y:1087 +expparse.y:1092 +expparse.y:1098 +expparse.y:1104 +expparse.y:1129 +expparse.y:1138 +expparse.y:1146 +expparse.y:1154 +expparse.y:1159 +expparse.y:1169 +expparse.y:1178 +expparse.y:1182 +expparse.y:1188 +expparse.y:1194 +expparse.y:1202 +expparse.y:1211 +expparse.y:1224 +expparse.y:1232 +expparse.y:1240 +expparse.y:1245 +expparse.y:1253 +expparse.y:1265 +expparse.y:1278 +expparse.y:1284 +expparse.y:1292 +expparse.y:1296 +expparse.y:1300 +expparse.y:1308 +expparse.y:1313 +expparse.y:1318 +expparse.y:1324 +expparse.y:1342 +expparse.y:1346 +expparse.y:1355 +expparse.y:1365 +expparse.y:1378 +expparse.y:1384 +expparse.y:1397 +expparse.y:1420 +expparse.y:1432 +expparse.y:1437 +expparse.y:1444 +expparse.y:1452 +expparse.y:1460 +expparse.y:1487 +expparse.y:1521 +expparse.y:1529 +expparse.y:1536 +expparse.y:1548 +expparse.y:1565 +expparse.y:1571 +expparse.y:1577 +expparse.y:1583 +expparse.y:1599 +expparse.y:1616 +expparse.y:1640 +expparse.y:1646 +expparse.y:1651 +expparse.y:1658 +expparse.y:1664 +expparse.y:1681 +expparse.y:1686 +expparse.y:1691 +expparse.y:1696 +expparse.y:1707 +expparse.y:1711 +expparse.y:1716 +expparse.y:1720 +expparse.y:1730 +expparse.y:1735 +expparse.y:1742 +expparse.y:1750 +expparse.y:1760 +expparse.y:1786 +expparse.y:1794 +expparse.y:1801 +expparse.y:1810 +expparse.y:1819 +expparse.y:1827 +expparse.y:1835 +expparse.y:1842 +expparse.y:1846 +expparse.y:1850 +expparse.y:1854 +expparse.y:1858 +expparse.y:1862 +expparse.y:1866 +expparse.y:1870 +expparse.y:1878 +expparse.y:1886 +expparse.y:1891 +expparse.y:1896 +expparse.y:1907 +expparse.y:1915 +expparse.y:1936 +expparse.y:1942 +expparse.y:1949 +expparse.y:1957 +expparse.y:1984 +expparse.y:1993 +expparse.y:2012 +expparse.y:2023 +expparse.y:2036 +expparse.y:2041 +expparse.y:2090 +expparse.y:2100 +expparse.y:2106 +expparse.y:2112 +expparse.y:2118 +expparse.y:2131 +expparse.y:2137 +expparse.y:2143 +expparse.y:2149 +expparse.y:2153 +expparse.y:2158 +expparse.y:2169 +expparse.y:2175 +expparse.y:2180 +expparse.y:2185 +expparse.y:2190 +expparse.y:2215 +expparse.y:2223 +expparse.y:2234 +expparse.y:2241 +expparse.y:2284 +expparse.y:2292 +expparse.y:2297 +expparse.y:2301 +expparse.y:2328 +expparse.y:2334 +expparse.y:2341 +expparse.y:2347 +expparse.y:2362 +expparse.y:2371 +expparse.y:2377 +expparse.y:2391 +expparse.y:2396 +expparse.y:2424 diff --git a/src/express/hash.c b/src/express/hash.c index 42f56136d..f6de3b9f3 100644 --- a/src/express/hash.c +++ b/src/express/hash.c @@ -105,27 +105,24 @@ * */ -#include #include -#include #include -#include "express/hash.h" +#include -struct freelist_head HASH_Table_fl; -struct freelist_head HASH_Element_fl; +#include "express/hash.h" /* ** Internal routines */ -static_inline Address HASHhash( char *, Hash_Table ); +static inline Address HASHhash( char *, Hash_Table ); static void HASHexpand_table( Hash_Table ); /* ** Local data */ -# if HASH_STATISTICS +# ifdef HASH_STATISTICS static long HashAccesses, HashCollisions; # endif @@ -135,12 +132,6 @@ static long HashAccesses, HashCollisions; void HASHinitialize() { - if( HASH_Table_fl.size_elt == 0 ) { - MEMinitialize( &HASH_Table_fl, sizeof( struct Hash_Table_ ), 50, 50 ); - } - if( HASH_Element_fl.size_elt == 0 ) { - MEMinitialize( &HASH_Element_fl, sizeof( struct Element_ ), 500, 100 ); - } } Hash_Table @@ -174,7 +165,7 @@ HASHcreate( unsigned count ) { table->maxp = MUL( count, SEGMENT_SIZE_SHIFT ); table->MinLoadFactor = 1; table->MaxLoadFactor = MAX_LOAD_FACTOR; -# if HASH_DEBUG +# ifdef HASH_DEBUG fprintf( stderr, "[HASHcreate] table %x count %d maxp %d SegmentCount %d\n", table, @@ -182,7 +173,7 @@ HASHcreate( unsigned count ) { table->maxp, table->SegmentCount ); # endif -# if HASH_STATISTICS +# ifdef HASH_STATISTICS HashAccesses = HashCollisions = 0; # endif return( table ); @@ -280,11 +271,11 @@ HASH_in_use( Hash_Table table, char * action ) { void HASHdestroy( Hash_Table table ) { - unsigned int i, j; Segment s; Element p, q; if( table != HASH_NULL ) { + unsigned int i, j; #if 0 if( table->in_use ) { HASH_in_use( table, "destroy hash table" ); @@ -301,11 +292,11 @@ HASHdestroy( Hash_Table table ) { p = q; } } - sc_free( table->Directory[i] ); + free( table->Directory[i] ); } } HASH_Table_destroy( table ); -# if HASH_STATISTICS && HASH_DEBUG +# if defined(HASH_STATISTICS) && defined(HASH_DEBUG) fprintf( stderr, "[hdestroy] Accesses %ld Collisions %ld\n", HashAccesses, @@ -325,7 +316,7 @@ HASHsearch( Hash_Table table, Element item, Action action ) { Element deleteme; assert( table != HASH_NULL ); /* Kinder really than return(NULL); */ -# if HASH_STATISTICS +# ifdef HASH_STATISTICS HashAccesses++; # endif h = HASHhash( item->key, table ); @@ -347,7 +338,7 @@ HASHsearch( Hash_Table table, Element item, Action action ) { while( q != NULL && strcmp( q->key, item->key ) ) { p = &q->next; q = *p; -# if HASH_STATISTICS +# ifdef HASH_STATISTICS HashCollisions++; # endif } @@ -409,9 +400,7 @@ HASHsearch( Hash_Table table, Element item, Action action ) { ** Internal routines */ -static_inline -Address -HASHhash( char * Key, Hash_Table table ) { +static inline Address HASHhash( char * Key, Hash_Table table ) { Address h, address; register unsigned char * k = ( unsigned char * )Key; @@ -420,6 +409,7 @@ HASHhash( char * Key, Hash_Table table ) { ** Convert string to integer */ /*SUPPRESS 112*/ + assert( Key ); while( *k ) /*SUPPRESS 8*/ { /*SUPPRESS 112*/ h = h * PRIME1 ^ ( *k++ - ' ' ); @@ -432,16 +422,14 @@ HASHhash( char * Key, Hash_Table table ) { return( address ); } -static -void -HASHexpand_table( Hash_Table table ) { - Address NewAddress; - int OldSegmentIndex, NewSegmentIndex; - int OldSegmentDir, NewSegmentDir; +static void HASHexpand_table( Hash_Table table ) { Segment OldSegment, NewSegment; Element Current, *Previous, *LastOfNew; if( table->maxp + table->p < MUL( DIRECTORY_SIZE, SEGMENT_SIZE_SHIFT ) ) { + Address NewAddress; + int OldSegmentIndex, NewSegmentIndex; + int OldSegmentDir, NewSegmentDir; /* ** Locate the bucket to be split */ @@ -509,7 +497,7 @@ HASHcopy( Hash_Table oldtable ) { Segment s, s2; Element * pp; /* old element */ Element * qq; /* new element */ - int i, j; + unsigned int i, j; newtable = HASH_Table_new(); for( i = 0; i < oldtable->SegmentCount; i++ ) { @@ -571,7 +559,7 @@ main() { if( !e ) { exit( 0 ); } - printf( "found key %s, data %d\n", e->key, ( int )e->data ); + fprintf( stderr, "found key %s, data %d\n", e->key, ( int )e->data ); } } #endif diff --git a/src/express/info.c b/src/express/info.c new file mode 100644 index 000000000..bacc2f564 --- /dev/null +++ b/src/express/info.c @@ -0,0 +1,35 @@ +#include +#include + +#include "express/info.h" +#include "express/express.h" + +char * EXPRESSversion( void ) { + return( "Express Language, IS (N65), October 24, 1994" ); +} + +void EXPRESSusage( int _exit ) { + fprintf( stderr, "usage: %s [-v] [-d #] [-p ] {-w|-i } express_file\n", EXPRESSprogram_name ); + fprintf( stderr, "where\t-v produces the following version description:\n" ); + fprintf( stderr, "Build info for %s: %s\nhttp://github.com/stepcode/stepcode\n", EXPRESSprogram_name, SC_VERSION ); + fprintf( stderr, "\t-d turns on debugging (\"-d 0\" describes this further\n" ); + fprintf( stderr, "\t-p turns on printing when processing certain objects (see below)\n" ); + fprintf( stderr, "\t-w warning enable\n" ); + fprintf( stderr, "\t-i warning ignore\n" ); + fprintf( stderr, "and is one of:\n" ); + fprintf( stderr, "\tnone\n\tall\n" ); + fprintf( stderr, "%s", ERRORget_warnings_help( "\t", "\n" ) ); + fprintf( stderr, "and is one or more of:\n" ); + fprintf( stderr, " e entity\n" ); + fprintf( stderr, " p procedure\n" ); + fprintf( stderr, " r rule\n" ); + fprintf( stderr, " f function\n" ); + fprintf( stderr, " t type\n" ); + fprintf( stderr, " s schema or file\n" ); + fprintf( stderr, " # pass #\n" ); + fprintf( stderr, " E everything (all of the above)\n" ); + if( _exit ) { + exit( 2 ); + } +} + diff --git a/src/express/lexact.c b/src/express/lexact.c index d62d03aca..d0ae80a28 100644 --- a/src/express/lexact.c +++ b/src/express/lexact.c @@ -51,17 +51,17 @@ * prettied up interface to print_objects_when_running */ -#include #include #include +#include + #include "express/lexact.h" -#include "string.h" #include "express/linklist.h" #include "stack.h" #include "express/hash.h" #include "express/express.h" #include "express/dict.h" -#include "express/memory.h" +#include "express/alloc.h" #include "token_type.h" #include "expparse.h" #include "expscan.h" @@ -72,17 +72,6 @@ Scan_Buffer SCAN_buffers[SCAN_NESTING_DEPTH]; int SCAN_current_buffer = 0; char * SCANcurrent; -Error ERROR_include_file = ERROR_none; -Error ERROR_unmatched_close_comment = ERROR_none; -Error ERROR_unmatched_open_comment = ERROR_none; -Error ERROR_unterminated_string = ERROR_none; -Error ERROR_encoded_string_bad_digit = ERROR_none; -Error ERROR_encoded_string_bad_count = ERROR_none; -Error ERROR_bad_identifier = ERROR_none; -Error ERROR_unexpected_character = ERROR_none; -Error ERROR_nonascii_char; - - extern int yylineno; #define SCAN_COMMENT_LENGTH 256 @@ -216,9 +205,7 @@ static struct keyword_entry { { 0, 0} }; -static -void -SCANpush_buffer( char * filename, FILE * fp ) { +static void SCANpush_buffer( char * filename, FILE * fp ) { SCANbuffer.savedPos = SCANcurrent; SCANbuffer.lineno = yylineno; yylineno = 1; @@ -233,89 +220,46 @@ SCANpush_buffer( char * filename, FILE * fp ) { SCANbuffer.filename = current_filename = filename; } -static -void -SCANpop_buffer() { +static void SCANpop_buffer() { if( SCANbuffer.file != NULL ) { fclose( SCANbuffer.file ); } --SCAN_current_buffer; SCANcurrent = SCANbuffer.savedPos; - yylineno = SCANbuffer.lineno; /* DEL */ + yylineno = SCANbuffer.lineno + 1; /* DEL */ current_filename = SCANbuffer.filename; } - -/* -** Requires: yyin has been set -*/ - -void -SCANinitialize( void ) { +void SCANinitialize( void ) { struct keyword_entry * k; keyword_dictionary = HASHcreate( 100 ); /* not exact */ for( k = keywords; k->key; k++ ) { - DICTdefine( keyword_dictionary, k->key, ( Generic )k, 0, OBJ_UNKNOWN ); + DICTdefine( keyword_dictionary, k->key, k, NULL, OBJ_UNKNOWN ); /* not "unknown", but certainly won't be looked up by type! */ } - - /* set up errors on first time through */ - if( ERROR_include_file == ERROR_none ) { - ERROR_include_file = - ERRORcreate( "Could not open include file `%s'.", SEVERITY_ERROR ); - ERROR_unmatched_close_comment = - ERRORcreate( "unmatched close comment", SEVERITY_ERROR ); - ERROR_unmatched_open_comment = - ERRORcreate( "unmatched open comment", SEVERITY_ERROR ); - ERROR_unterminated_string = - ERRORcreate( "unterminated string literal", SEVERITY_ERROR ); - ERROR_encoded_string_bad_digit = ERRORcreate( - "non-hex digit (%c) in encoded string literal", SEVERITY_ERROR ); - ERROR_encoded_string_bad_count = ERRORcreate( - "number of digits (%d) in encoded string literal is not divisible by 8", SEVERITY_ERROR ); - ERROR_bad_identifier = ERRORcreate( - "identifier (%s) cannot start with underscore", SEVERITY_ERROR ); - ERROR_unexpected_character = ERRORcreate( - "character (%c) is not a valid lexical element by itself", SEVERITY_ERROR ); - ERROR_nonascii_char = ERRORcreate( - "character (0x%x) is not in the EXPRESS character set", SEVERITY_ERROR ); - } } /** Clean up the Scan module */ void SCANcleanup( void ) { - ERRORdestroy( ERROR_include_file ); - ERRORdestroy( ERROR_unmatched_close_comment ); - ERRORdestroy( ERROR_unmatched_open_comment ); - ERRORdestroy( ERROR_unterminated_string ); - ERRORdestroy( ERROR_encoded_string_bad_digit ); - ERRORdestroy( ERROR_encoded_string_bad_count ); - ERRORdestroy( ERROR_bad_identifier ); - ERRORdestroy( ERROR_unexpected_character ); - ERRORdestroy( ERROR_nonascii_char ); } -int -SCANprocess_real_literal( const char * yytext ) { +int SCANprocess_real_literal( const char * yytext ) { sscanf( yytext, "%lf", &( yylval.rVal ) ); return TOK_REAL_LITERAL; } -int -SCANprocess_integer_literal( const char * yytext ) { +int SCANprocess_integer_literal( const char * yytext ) { sscanf( yytext, "%d", &( yylval.iVal ) ); return TOK_INTEGER_LITERAL; } -int -SCANprocess_binary_literal( const char * yytext ) { +int SCANprocess_binary_literal( const char * yytext ) { yylval.binary = SCANstrdup( yytext + 1 ); /* drop '%' prefix */ return TOK_BINARY_LITERAL; } -int -SCANprocess_logical_literal( char * string ) { +int SCANprocess_logical_literal( char * string ) { switch( string[0] ) { case 'T': yylval.logical = Ltrue; @@ -328,21 +272,19 @@ SCANprocess_logical_literal( char * string ) { break; /* default will actually be triggered by 'UNKNOWN' keyword */ } - sc_free( string ); + free( string ); return TOK_LOGICAL_LITERAL; } -int -SCANprocess_identifier_or_keyword( const char * yytext ) { - char * test_string; +int SCANprocess_identifier_or_keyword( const char * yytext ) { + char * test_string, * dest; + const char * src; struct keyword_entry * k; - int len; - char * src, *dest; /* make uppercase copy */ len = strlen( yytext ); - dest = test_string = ( char * )sc_malloc( len + 1 ); + dest = test_string = ( char * )malloc( len + 1 ); for( src = yytext; *src; src++, dest++ ) { *dest = ( islower( *src ) ? toupper( *src ) : *src ); } @@ -358,7 +300,7 @@ SCANprocess_identifier_or_keyword( const char * yytext ) { case TOK_LOGICAL_LITERAL: return SCANprocess_logical_literal( test_string ); default: - sc_free( test_string ); + free( test_string ); return k->token; } } @@ -375,8 +317,7 @@ SCANprocess_identifier_or_keyword( const char * yytext ) { } } -int -SCANprocess_string( const char * yytext ) { +int SCANprocess_string( const char * yytext ) { char * s, *d; /* source, destination */ /* strip off quotes */ @@ -402,9 +343,8 @@ SCANprocess_string( const char * yytext ) { return TOK_STRING_LITERAL; } -int -SCANprocess_encoded_string( const char * yytext ) { - char * s, *d; /* source, destination */ +int SCANprocess_encoded_string( const char * yytext ) { + char * s; /* source */ int count; /* strip off quotes */ @@ -420,19 +360,18 @@ SCANprocess_encoded_string( const char * yytext ) { count = 0; for( s = yylval.string; *s; s++, count++ ) { if( !isxdigit( *s ) ) { - ERRORreport_with_line( ERROR_encoded_string_bad_digit, yylineno, *s ); + ERRORreport_with_line( ENCODED_STRING_BAD_DIGIT, yylineno, *s ); } } if( 0 != ( count % 8 ) ) { - ERRORreport_with_line( ERROR_encoded_string_bad_count, yylineno, count ); + ERRORreport_with_line( ENCODED_STRING_BAD_COUNT, yylineno, count ); } return TOK_STRING_LITERAL_ENCODED; } -int -SCANprocess_semicolon( const char * yytext, int commentp ) { +int SCANprocess_semicolon( const char * yytext, int commentp ) { if( commentp ) { strcpy( last_comment_, strchr( yytext, '-' ) ); @@ -448,14 +387,12 @@ SCANprocess_semicolon( const char * yytext, int commentp ) { return TOK_SEMICOLON; } -void -SCANsave_comment( const char * yytext ) { +void SCANsave_comment( const char * yytext ) { strncpy( last_comment_ , yytext, SCAN_COMMENT_LENGTH - 1 ); last_comment = last_comment_; } -bool -SCANread( void ) { +bool SCANread( void ) { int numRead; bool done; @@ -503,30 +440,13 @@ SCANread( void ) { return SCANtext_ready; } -#if macros_bit_the_dust -void -SCANdefine_macro( char * name, char * expansion ) { - Element element; - int len; - - HMALLOC( element, Element, "hash table entry in SCANdefine_macro" ); - element->key = STRINGcopy( name ); - len = STRINGlength( expansion ); - STRALLOC( element->data, len + 1, "macro expansion in SCANdefine_macro" ); - STRINGcopy_into( element->data, expansion ); - element->data[len] = '\n'; - element->data[len + 1] = '\0'; - HASHsearch( macros, element, HASH_INSERT ); -} -#endif -void -SCANinclude_file( char * filename ) { +void SCANinclude_file( char * filename ) { extern int print_objects_while_running; FILE * fp; if( ( fp = fopen( filename, "r" ) ) == NULL ) { - ERRORreport_with_line( ERROR_include_file, yylineno ); + ERRORreport_with_line( INCLUDE_FILE, yylineno ); } else { if( print_objects_while_running & OBJ_SCHEMA_BITS ) { fprintf( stderr, "parse: including %s at line %d of %s\n", @@ -536,8 +456,7 @@ SCANinclude_file( char * filename ) { } } -void -SCANlowerize( char * s ) { +void SCANlowerize( char * s ) { for( ; *s; s++ ) { if( isupper( *s ) ) { *s = tolower( *s ); @@ -545,8 +464,7 @@ SCANlowerize( char * s ) { } } -void -SCANupperize( char * s ) { +void SCANupperize( char * s ) { for( ; *s; s++ ) { if( islower( *s ) ) { *s = toupper( *s ); @@ -554,9 +472,8 @@ SCANupperize( char * s ) { } } -char * -SCANstrdup( char * s ) { - char * s2 = ( char * )sc_malloc( strlen( s ) + 1 ); +char * SCANstrdup( const char * s ) { + char * s2 = ( char * )malloc( strlen( s ) + 1 ); if( !s2 ) { return 0; } @@ -565,7 +482,6 @@ SCANstrdup( char * s ) { return s2; } -long -SCANtell() { +long SCANtell() { return yylineno; } diff --git a/src/express/linklist.c b/src/express/linklist.c index c716bd8e9..7089dd81d 100644 --- a/src/express/linklist.c +++ b/src/express/linklist.c @@ -21,21 +21,12 @@ * prettied up interface to print_objects_when_running */ -#include #include "express/linklist.h" -Error ERROR_empty_list = ERROR_none; -struct freelist_head LINK_fl; -struct freelist_head LIST_fl; - void LISTinitialize( void ) { - MEMinitialize( &LINK_fl, sizeof( struct Link_ ), 500, 100 ); - MEMinitialize( &LIST_fl, sizeof( struct Linked_List_ ), 100, 50 ); - ERROR_empty_list = ERRORcreate( "Empty list in %s.", SEVERITY_ERROR ); } void LISTcleanup( void ) { - ERRORdestroy( ERROR_empty_list ); } Linked_List LISTcreate() { @@ -47,8 +38,8 @@ Linked_List LISTcreate() { Linked_List LISTcopy( Linked_List src ) { Linked_List dst = LISTcreate(); - LISTdo( src, x, Generic ) - LISTadd( dst, x ); + LISTdo( src, x, void * ) + LISTadd_last( dst, x ); LISTod return dst; } @@ -67,7 +58,39 @@ void LISTfree( Linked_List list ) { LIST_destroy( list ); } -Generic LISTadd_first( Linked_List list, Generic item ) { +void LISTsort( Linked_List list, int (*comp)(void*, void*)) { + unsigned int moved; + Link node, prev; + + if (LISTempty(list)) + return; + + while (true) { + for ( node = list->mark->next, moved = 0; node != list->mark; node = node->next ) { + prev = node->prev; + if (prev != list->mark && comp(prev->data, node->data) < 0) { + LISTswap(prev, node); + moved++; + } + } + if (moved == 0) + break; + } +} + +void LISTswap( Link p, Link q ) { + void *tmp; + + if( p == LINK_NULL || q == LINK_NULL || p == q ) + return; + + tmp = p->data; + p->data = q->data; + q->data = tmp; +} + + +void *LISTadd_first( Linked_List list, void *item ) { Link node; node = LINK_new(); @@ -77,7 +100,7 @@ Generic LISTadd_first( Linked_List list, Generic item ) { return item; } -Generic LISTadd_last( Linked_List list, Generic item ) { +void *LISTadd_last( Linked_List list, void *item ) { Link node; node = LINK_new(); @@ -87,7 +110,7 @@ Generic LISTadd_last( Linked_List list, Generic item ) { return item; } -Generic LISTadd_after( Linked_List list, Link link, Generic item ) { +void *LISTadd_after( Linked_List list, Link link, void *item ) { Link node; if( link == LINK_NULL ) { @@ -101,7 +124,7 @@ Generic LISTadd_after( Linked_List list, Link link, Generic item ) { return item; } -Generic LISTadd_before( Linked_List list, Link link, Generic item ) { +void *LISTadd_before( Linked_List list, Link link, void *item ) { Link node; if( link == LINK_NULL ) { @@ -119,13 +142,13 @@ Generic LISTadd_before( Linked_List list, Link link, Generic item ) { } -Generic LISTremove_first( Linked_List list ) { +void *LISTremove_first( Linked_List list ) { Link node; - Generic item; + void *item; node = list->mark->next; if( node == list->mark ) { - ERRORreport( ERROR_empty_list, "LISTremove_first" ); + ERRORreport( EMPTY_LIST, "LISTremove_first" ); return NULL; } item = node->data; @@ -134,20 +157,9 @@ Generic LISTremove_first( Linked_List list ) { return item; } -/* 1st arg is historical and can be removed */ -Generic LISTremove( Linked_List list, Link link ) { - Generic item; - - link->next->prev = link->prev; - link->prev->next = link->next; - item = link->data; - LINK_destroy( link ); - return item; -} - -Generic LISTget_first( Linked_List list ) { +void *LISTget_first( Linked_List list ) { Link node; - Generic item; + void *item; node = list->mark->next; if( node == list->mark ) { @@ -157,9 +169,9 @@ Generic LISTget_first( Linked_List list ) { return item; } -Generic LISTget_second( Linked_List list ) { +void *LISTget_second( Linked_List list ) { Link node; - Generic item; + void *item; node = list->mark->next; if( node == list->mark ) { @@ -174,7 +186,7 @@ Generic LISTget_second( Linked_List list ) { } /** first is 1, not 0 */ -Generic LISTget_nth( Linked_List list, int n ) { +void *LISTget_nth( Linked_List list, int n ) { int count = 1; Link node; diff --git a/src/express/memory.c b/src/express/memory.c index 6592bfde7..da4db3751 100644 --- a/src/express/memory.c +++ b/src/express/memory.c @@ -1,222 +1,98 @@ -#define MEMORY_C +#include "express/memory.h" -/* mem.c - memory allocator for fixed size blocks */ +#include "express/alloc.h" +#include "express/alg.h" -/* +#include "express/hash.h" +#include "express/symbol.h" +#include "express/schema.h" +#include "express/type.h" -This code is replacement for malloc() and free(). It takes advantage -of the fact that all of my memory allocation is of known fixed-size -blocks. This particular implementation, however, is extremely general -and will do allocation of any number of different fixed-size blocks. +struct freelist_head HASH_Table_fl; +struct freelist_head HASH_Element_fl; -I will just give a simple example here. To allocate struct foo's, declare a handle to the foo space as: +struct freelist_head LINK_fl; +struct freelist_head LIST_fl; - struct freelist_head foo_freelist; +struct freelist_head ERROR_OPT_fl; -Initialize it: +struct freelist_head SYMBOL_fl; - memory_init(&foo_freelist,sizeof(struct foo),1000,200); +struct freelist_head SCOPE_fl; +struct freelist_head SCHEMA_fl; +struct freelist_head REN_fl; -Here we have asked for an initial allocation of 1000 foo's. When that -runs out, further allocations will automatically be performed 200 -foo's at a time. (Each allocation calls sbrk() so you want to -minimize them.) +struct freelist_head TYPEHEAD_fl; +struct freelist_head TYPEBODY_fl; -To actually allocate and deallocate foo's, it helps to define two -macros as follow: +struct freelist_head VAR_fl; - #define foo_new() (struct foo *)new(&foo_freelist) - #define foo_destroy(x) destroy(&oct_freelist_head,(Freelist *)(char *)x) +struct freelist_head ENTITY_fl; -Now you can say things like: +struct freelist_head CASE_IT_fl; - foo1 = foo_new(); - foo_destroy(foo1); +struct freelist_head EXP_fl; +struct freelist_head OP_fl; +struct freelist_head QUERY_fl; +struct freelist_head QUAL_ATTR_fl; -*/ -#include -#include -#include -#include "express/memory.h" -#include "express/error.h" - -/* just in case we are compiling by hand */ -#ifndef ALLOC -#define ALLOC -#endif /*ALLOC*/ - -/* chop up big block into linked list of small blocks */ -Freelist * /* return 0 for failure */ -create_freelist( flh, bytes ) -struct freelist_head * flh; /* freelist head */ -int bytes; /* new memory size */ -{ - Freelist * current = ( Freelist * )malloc( bytes ); - if( current == 0 ) { - return( 0 ); - } - - flh->freelist = current; - -#ifndef NOSTAT - flh->create++; - - /* set max to point to end of freelist */ - if( ( char * )flh->freelist + bytes > ( char * )flh->max ) { - flh->max = ( char * )flh->freelist + bytes; - } -#endif - - while( ( char * )current + flh->size < - ( ( char * )flh->freelist + bytes ) ) { - current->next = ( Freelist * )( ¤t->memory + flh->size ); - current = current->next; - } - current->next = NULL; - return( current ); -} +struct freelist_head STMT_fl; +struct freelist_head ALIAS_fl; +struct freelist_head ASSIGN_fl; +struct freelist_head CASE_fl; +struct freelist_head COMP_STMT_fl; +struct freelist_head COND_fl; +struct freelist_head LOOP_fl; +struct freelist_head PCALL_fl; +struct freelist_head RET_fl; +struct freelist_head INCR_fl; -void -_MEMinitialize() { -#if DEBUG_MALLOC - malloc_debug( 2 ); -#endif -} +void MEMORYinitialize() { + _ALLOCinitialize(); + + ALLOCinitialize( &HASH_Table_fl, sizeof( struct Hash_Table_ ), 50, 50 ); + ALLOCinitialize( &HASH_Element_fl, sizeof( struct Element_ ), 500, 100 ); -void -MEMinitialize( flh, size, alloc1, alloc2 ) -struct freelist_head * flh; -int size; /* size of a single element */ -int alloc1; /* number to allocate initially */ -int alloc2; /* number to allocate if we run out */ -{ - flh->size_elt = size; /* kludge for calloc-like behavior */ -#ifndef NOSTAT - flh->alloc = flh->dealloc = flh->create = 0; - flh->max = 0; -#endif - - /* make block large enough to hold the linked list pointer */ - flh->size = ( size > sizeof( Freelist * ) ? size : sizeof( Freelist * ) ); - /* set up for future allocations */ - flh->bytes = flh->size * alloc2; - -#ifdef REAL_MALLOC - return; - /*NOTREACHED*/ -#else - if( 0 == create_freelist( flh, flh->size * alloc1 ) ) { - ERRORnospace(); - } - -#if SPACE_PROFILE - flh->count = 0; -#endif /*SPACE_PROFILE*/ - -#endif -} + ALLOCinitialize( &LINK_fl, sizeof( struct Link_ ), 500, 100 ); + ALLOCinitialize( &LIST_fl, sizeof( struct Linked_List_ ), 100, 50 ); -Generic -MEM_new( flh ) -struct freelist_head * flh; -{ - Generic obj; - -#ifndef NOSTAT - flh->alloc++; -#endif - -#ifdef REAL_MALLOC - return( calloc( 1, flh->size_elt ) ); - /*NOTREACHED*/ -#else - if( flh->freelist == NULL && 0 == create_freelist( flh, flh->bytes ) ) { - ERRORnospace(); - } - - obj = &flh->freelist->memory; - flh->freelist = flh->freelist->next; - -#ifndef NOSTAT - if( obj > flh->max ) { - abort(); - } -#endif - -#if SPACE_PROFILE - flh->count++; -#endif /*SPACE_PROFILE*/ - - /* calloc-like */ - memset( obj, 0, flh->size_elt ); - - return( obj ); -#endif -} + ALLOCinitialize( &SYMBOL_fl, sizeof( struct Symbol_ ), 100, 100 ); + + ALLOCinitialize( &SCOPE_fl, sizeof( struct Scope_ ), 100, 50 ); + + ALLOCinitialize( &TYPEHEAD_fl, sizeof( struct TypeHead_ ), 500, 100 ); + ALLOCinitialize( &TYPEBODY_fl, sizeof( struct TypeBody_ ), 200, 100 ); -void -MEM_destroy( flh, link ) -struct freelist_head * flh; -Freelist * link; -{ -#ifndef NOSTAT - flh->dealloc++; -#endif - -#ifdef REAL_MALLOC - free( link ); - return; - /*NOTREACHED*/ -#else - - link->next = flh->freelist; - flh->freelist = link; - -#ifdef SPACE_PROFILE - flh->count--; -#endif /*SPACE_PROFILE*/ - -#endif -} + ALLOCinitialize( &VAR_fl, sizeof( struct Variable_ ), 100, 50 ); + + ALLOCinitialize( &FUNC_fl, sizeof( struct Function_ ), 100, 50 ); + ALLOCinitialize( &RULE_fl, sizeof( struct Rule_ ), 100, 50 ); + ALLOCinitialize( &PROC_fl, sizeof( struct Procedure_ ), 100, 50 ); + ALLOCinitialize( &WHERE_fl, sizeof( struct Where_ ), 100, 50 ); + + ALLOCinitialize( &ENTITY_fl, sizeof( struct Entity_ ), 500, 100 ); + + ALLOCinitialize( &SCHEMA_fl, sizeof( struct Schema_ ), 40, 20 ); + ALLOCinitialize( &REN_fl, sizeof( struct Rename ), 30, 30 ); + + ALLOCinitialize( &CASE_IT_fl, sizeof( struct Case_Item_ ), 500, 100 ); + + ALLOCinitialize( &EXP_fl, sizeof( struct Expression_ ), 500, 200 ); + ALLOCinitialize( &OP_fl, sizeof( struct Op_Subexpression ), 500, 100 ); + ALLOCinitialize( &QUERY_fl, sizeof( struct Query_ ), 50, 10 ); + ALLOCinitialize( &QUAL_ATTR_fl, sizeof( struct Query_ ), 20, 10 ); + + ALLOCinitialize( &STMT_fl, sizeof( struct Statement_ ), 500, 100 ); + + ALLOCinitialize( &ALIAS_fl, sizeof( struct Alias_ ), 10, 10 ); + ALLOCinitialize( &ASSIGN_fl, sizeof( struct Assignment_ ), 100, 30 ); + ALLOCinitialize( &CASE_fl, sizeof( struct Case_Statement_ ), 100, 30 ); + ALLOCinitialize( &COMP_STMT_fl, sizeof( struct Compound_Statement_ ), 100, 30 ); + ALLOCinitialize( &COND_fl, sizeof( struct Conditional_ ), 100, 30 ); + ALLOCinitialize( &LOOP_fl, sizeof( struct Loop_ ), 100, 30 ); + ALLOCinitialize( &PCALL_fl, sizeof( struct Procedure_Call_ ), 100, 30 ); + ALLOCinitialize( &RET_fl, sizeof( struct Return_Statement_ ), 100, 30 ); + ALLOCinitialize( &INCR_fl, sizeof( struct Increment_ ), 100, 30 ); -#ifdef ALLOC_MAIN -struct freelist_head oct_freelist; - -#define new_oct() (struct oct *)new(&oct_freelist) -#define destroy_oct(oct) (destroy(&oct_freelist,(Freelist *)(char *)oct)) - -struct oct { - char a[16]; -}; - -main() { - struct oct * o1, *o2, *o3, *o4, *o5, *o6; - - memory_init( &oct_freelist, sizeof( struct oct ), 5, 2 ); - - o1 = new_oct(); - printf( "o1 = %x\n", o1 ); - o2 = new_oct(); - printf( "o2 = %x\n", o2 ); - o3 = new_oct(); - printf( "o3 = %x\n", o3 ); - o4 = new_oct(); - printf( "o4 = %x\n", o4 ); - o5 = new_oct(); - printf( "o5 = %x\n", o5 ); - o6 = new_oct(); - printf( "o6 = %x\n", o6 ); - destroy_oct( o1 ); - destroy_oct( o2 ); - o1 = new_oct(); - printf( "o1 = %x\n", o1 ); - o2 = new_oct(); - printf( "o2 = %x\n", o2 ); - o3 = new_oct(); - printf( "o3 = %x\n", o3 ); - o4 = new_oct(); - printf( "o4 = %x\n", o4 ); - o5 = new_oct(); - printf( "o5 = %x\n", o5 ); } -#endif /*ALLOC_MAIN*/ + diff --git a/src/express/object.c b/src/express/object.c index b705cfa1d..f75e64274 100644 --- a/src/express/object.c +++ b/src/express/object.c @@ -21,38 +21,85 @@ * prettied up interface to print_objects_when_running */ -#include -#include #include "express/object.h" -struct Object * OBJ; +#include "express/scope.h" +#include "express/variable.h" +#include "express/alg.h" +#include "express/schema.h" +#include "express/type.h" +#include "express/expr.h" -Symbol * UNK_get_symbol( Generic x ) { +Symbol * SCOPE_get_symbol( void *s ); +Symbol * EXPRESS_get_symbol( void *e ); +Symbol * RENAME_get_symbol( void *r ); +Symbol * TYPE_get_symbol( void *t ); +Symbol * EXP_get_symbol( void *e ); +Symbol * WHERE_get_symbol( void *w ); +Symbol * VAR_get_symbol( void *v ); +Symbol * UNK_get_symbol( void *x ); + +/* global Object type array */ +struct Object OBJ[] = { + [0] = {UNK_get_symbol, "of unknown type", 0}, + + [OBJ_VARIABLE] = {VAR_get_symbol, "variable", OBJ_VARIABLE_BITS}, + [OBJ_ENTITY] = {SCOPE_get_symbol, "entity", OBJ_ENTITY_BITS}, + + [OBJ_EXPRESSION] = {EXP_get_symbol, "expression", OBJ_EXPRESSION_BITS}, + [OBJ_AMBIG_ENUM] = {EXP_get_symbol, "ambiguous enumeration", OBJ_UNUSED_BITS}, + + [OBJ_RULE] = {SCOPE_get_symbol, "rule", OBJ_UNUSED_BITS}, + [OBJ_PROCEDURE] = {SCOPE_get_symbol, "procedure", OBJ_PROCEDURE_BITS}, + [OBJ_FUNCTION] = {SCOPE_get_symbol, "function", OBJ_FUNCTION_BITS}, + [OBJ_WHERE] = {WHERE_get_symbol, "where", OBJ_WHERE_BITS}, + + [OBJ_SCHEMA] = {SCOPE_get_symbol, "schema", OBJ_SCHEMA_BITS}, + /* TODO: PASS should also have a symbol */ + [OBJ_PASS] = {UNK_get_symbol, "pass", OBJ_PASS_BITS}, + [OBJ_EXPRESS] = {EXPRESS_get_symbol, "express file", OBJ_UNUSED_BITS}, + [OBJ_RENAME] = {RENAME_get_symbol, "rename clause", OBJ_UNUSED_BITS}, + + [OBJ_TYPE] = {TYPE_get_symbol, "type", OBJ_TYPE_BITS}, + [OBJ_TAG] = {TYPE_get_symbol, "tag", OBJ_TYPE_BITS}, + + [OBJ_ALIAS] = {SCOPE_get_symbol, "alias scope", OBJ_UNUSED_BITS }, + [OBJ_INCREMENT] = {SCOPE_get_symbol, "increment scope", OBJ_UNUSED_BITS }, + + {0} +}; + +Symbol * UNK_get_symbol( void *x ) { + (void) x; /* quell unused param warning; it appears that the prototype must match other functions */ fprintf( stderr, "OBJget_symbol called on object of unknown type\n" ); ERRORabort( 0 ); return 0; } -/** Initialize the Object module */ -void OBJinitialize() { - int i; +Symbol * VAR_get_symbol( void *v ) { + return &( ( Variable )v )->name->symbol; +} + +Symbol * SCOPE_get_symbol( void *s ) { + return &( ( Scope )s )->symbol; +} + +Symbol * EXP_get_symbol( void *e ) { + return &( ( Expression )e )->symbol; +} + +Symbol * WHERE_get_symbol( void *w ) { + return ( ( Where )w )->label; +} - OBJ = ( struct Object * )sc_malloc( MAX_OBJECT_TYPES * sizeof( struct Object ) ); - for( i = 0; i < MAX_OBJECT_TYPES; i++ ) { - OBJ[i].get_symbol = UNK_get_symbol; - OBJ[i].type = "of unknown_type"; - OBJ[i].bits = 0; - } +Symbol * EXPRESS_get_symbol( void *e ) { + return &( ( Express )e )->symbol; } -/** Clean up the Object module */ -void OBJcleanup() { - sc_free( OBJ ); +Symbol * RENAME_get_symbol( void *r ) { + return ( ( Rename * )r )->old; } -void OBJcreate( char type, struct Symbol_ * ( *get_symbol )( Generic ), char * printable_type, int bits ) { - int index = ( int )type; - OBJ[type].get_symbol = get_symbol; - OBJ[type].type = printable_type; - OBJ[type].bits = bits; +Symbol * TYPE_get_symbol( void *t ) { + return &( ( Type )t )->symbol; } diff --git a/src/express/ordered_attrs.cc b/src/express/ordered_attrs.cc index bc8ec1981..8081c16e3 100644 --- a/src/express/ordered_attrs.cc +++ b/src/express/ordered_attrs.cc @@ -1,8 +1,14 @@ /// \file ordered_attrs.cc - create a list of attributes in the proper order for part 21, taking into account derivation, diamond inheritance, and (TODO) redefinition -#include "ordered_attrs.h" #include -#include +#include +#include + +#include "ordered_attrs.h" + +#ifdef _WIN32 +# define strcasecmp _stricmp +#endif Entity currentEntity = 0; oaList attrs; @@ -20,14 +26,9 @@ void populateAttrList( oaList & list, Entity ent ) { LISTdo( ent->u.entity->attributes, attr, Variable ) { bool unique = true; for( unsigned int i = attrCount; i < list.size(); i++ ) { - if( 0 == strcasecmp( attr->name->symbol.name, list[i]->attr->name->symbol.name ) ) { //if true, an attr by this name exists in a supertype - //if we get here without an initializer, it isn't illegal. however, it's probably useless. print a warning - if( ! attr->initializer ) { - const char * ignore = " By 10303-21 10.2.8, \"the redeclared attribute shall be ignored\".\n"; - fprintf( stderr, "%s:%d: WARNING - entity %s and its supertype %s both declare an explicit attr %s. %s", - ent->symbol.filename, ent->symbol.line, ent->symbol.name, - list[i]->creator->symbol.name, attr->name->symbol.name, ignore ); - } + if( 0 == strcasecmp( attr->name->symbol.name, list[i]->attr->name->symbol.name ) ) { + // an attr by this name exists in a supertype + // originally printed a warning here, but that was misleading - they have more uses than I thought unique = false; list[i]->deriver = ent; break; @@ -49,7 +50,7 @@ void populateAttrList( oaList & list, Entity ent ) { } LISTod } -///compare attr name and creator, remove all but first occurence +///compare attr name and creator, remove all but first occurrence ///this is necessary for diamond inheritance void dedupList( oaList & list ) { oaList::iterator it, jt; @@ -57,7 +58,7 @@ void dedupList( oaList & list ) { for( jt = it + 1; jt != list.end(); jt++ ) { if( ( 0 == strcasecmp( ( * it )->attr->name->symbol.name, ( * jt )->attr->name->symbol.name ) ) && ( 0 == strcasecmp( ( * it )->creator->symbol.name, ( * jt )->creator->symbol.name ) ) ) { -// printf( "erasing %s created by %s\n", ( * jt )->attr->name->symbol.name, ( * jt )->creator->symbol.name ); + //fprintf( stderr, "erasing %s created by %s\n", ( * jt )->attr->name->symbol.name, ( * jt )->creator->symbol.name ); jt--; list.erase( jt + 1 ); } diff --git a/src/express/parse_data.h b/src/express/parse_data.h index 9ff1f96f4..fc7d41e0b 100644 --- a/src/express/parse_data.h +++ b/src/express/parse_data.h @@ -1,6 +1,10 @@ #ifndef PARSE_DATA #define PARSE_DATA #include "expscan.h" + +/* TODO: factor out when regenerating the parser */ +#define Generic void * + typedef struct parse_data { perplex_t scanner; } parse_data_t; diff --git a/src/express/resolve.c b/src/express/resolve.c index d86988378..fa5797917 100644 --- a/src/express/resolve.c +++ b/src/express/resolve.c @@ -55,56 +55,15 @@ * */ -#include +#include #include + #include "express/resolve.h" -#include "stack.h" #include "express/schema.h" #include "express/express.h" int print_objects_while_running = 0; -Error ERROR_undefined_attribute = ERROR_none; -Error ERROR_undefined_type = ERROR_none; -Error ERROR_undefined_schema = ERROR_none; -Error ERROR_unknown_attr_in_entity = ERROR_none; -Error ERROR_unknown_subtype = ERROR_none; -Error ERROR_unknown_supertype = ERROR_none; -Error ERROR_circular_reference = ERROR_none; -Error ERROR_ambiguous_attribute = ERROR_none; -Error ERROR_ambiguous_group = ERROR_none; -Error WARNING_fn_skip_branch = ERROR_none; -Error WARNING_case_skip_label = ERROR_none; - - -static void ENTITYresolve_subtypes PROTO( ( Schema ) ); -static void ENTITYresolve_supertypes PROTO( ( Entity ) ); -static void TYPEresolve_expressions PROTO( ( Type, Scope ) ); - -static Error ERROR_wrong_arg_count; -static Error ERROR_supertype_resolve; -static Error ERROR_subtype_resolve; -static Error ERROR_not_a_type; -static Error ERROR_funcall_not_a_function; -static Error ERROR_undefined_func; -static Error ERROR_undefined; -static Error ERROR_expected_proc; -static Error ERROR_no_such_procedure; -static Error ERROR_query_requires_aggregate; -static Error ERROR_self_is_unknown; -static Error ERROR_inverse_bad_attribute; -static Error ERROR_inverse_bad_entity; -static Error ERROR_missing_supertype; -static Error ERROR_subsuper_loop; -static Error ERROR_subsuper_continuation; -static Error ERROR_select_loop; -static Error ERROR_select_continuation; -static Error ERROR_type_is_entity; -static Error ERROR_overloaded_attribute; -static Error ERROR_redecl_no_such_attribute; -static Error ERROR_redecl_no_such_supertype; -static Error ERROR_missing_self; - static Type self = 0; /**< always points to current value of SELF or 0 if none */ static bool found_self; /**< remember whether we've seen a SELF in a WHERE clause */ @@ -113,157 +72,14 @@ static bool found_self; /**< remember whether we've seen a SELF in a WHERE clau /* function prototypes */ /***********************/ -static int WHEREresolve PROTO( ( Linked_List, Scope, int ) ); -extern void VAR_resolve_expressions PROTO( ( Variable, Entity ) ); -extern void VAR_resolve_types PROTO( ( Variable, Entity ) ); +extern void VAR_resolve_types( Variable v ); /** Initialize the Fed-X second pass. */ void RESOLVEinitialize( void ) { - ERROR_undefined = ERRORcreate( - "Reference to undefined object %s.", SEVERITY_ERROR ); - - ERROR_undefined_attribute = ERRORcreate( - "Reference to undefined attribute %s.", SEVERITY_ERROR ); - - ERROR_undefined_type = ERRORcreate( - "Reference to undefined type %s.", SEVERITY_ERROR ); - - ERROR_undefined_schema = ERRORcreate( - "Reference to undefined schema %s.", SEVERITY_ERROR ); - - ERROR_unknown_attr_in_entity = ERRORcreate( - "Unknown attribute %s in entity %s.", SEVERITY_ERROR ); - - ERROR_unknown_subtype = ERRORcreate( - "Unknown subtype %s for entity %s.", SEVERITY_EXIT ); - /*"Unknown subtype %s for entity %s.", SEVERITY_WARNING);*/ - - ERROR_unknown_supertype = ERRORcreate( - "Unknown supertype %s for entity %s.", SEVERITY_ERROR ); - - ERROR_circular_reference = ERRORcreate( - "Circularity: definition of %s references itself.", SEVERITY_ERROR ); - /*"Circular definition: schema %s referenced schema %s.",SEVERITY_ERROR);*/ - - ERROR_subsuper_loop = ERRORcreate( - "Entity %s is a subtype of itself", SEVERITY_ERROR ); - ERROR_subsuper_continuation = ERRORcreate( - " (via supertype entity %s)", SEVERITY_ERROR ); - - ERROR_select_loop = ERRORcreate( - "Select type %s selects itself", SEVERITY_ERROR ); - ERROR_select_continuation = ERRORcreate( - " (via select type %s)", SEVERITY_ERROR ); - - ERROR_supertype_resolve = ERRORcreate( - "Supertype %s is not an entity (line %d).", SEVERITY_ERROR ); - - ERROR_subtype_resolve = ERRORcreate( - "Subtype %s resolves to non-entity %s on line %d.", SEVERITY_ERROR ); - - ERROR_not_a_type = ERRORcreate( - "Expected a type (or entity) but %s is %s.", SEVERITY_ERROR ); - - ERROR_funcall_not_a_function = ERRORcreate( - "Function call of %s which is not a function.", SEVERITY_ERROR ); - - ERROR_undefined_func = ERRORcreate( - "Function %s undefined.", SEVERITY_ERROR ); - - ERROR_expected_proc = ERRORcreate( - "%s is used as a procedure call but is not defined as one (line %d).", SEVERITY_ERROR ); - - ERROR_no_such_procedure = ERRORcreate( - "No such procedure as %s.", SEVERITY_ERROR ); - - ERROR_wrong_arg_count = ERRORcreate( - "Call to %s uses %d arguments, but expected %d.", SEVERITY_WARNING ); - - ERROR_query_requires_aggregate = ERRORcreate( - "Query expression source must be an aggregate.", SEVERITY_ERROR ); - - ERROR_self_is_unknown = ERRORcreate( - "SELF is not within an entity declaration.", SEVERITY_ERROR ); - - ERROR_inverse_bad_entity = ERRORcreate( - "Attribute %s is referenced from non-entity-inheriting type.", SEVERITY_ERROR ); - - ERROR_inverse_bad_attribute = ERRORcreate( - "Unknown attribute %s in entity %s in inverse.", SEVERITY_ERROR ); - - ERROR_missing_supertype = ERRORcreate( - "Entity %s missing from supertype list for subtype %s.", SEVERITY_ERROR ); - - ERROR_type_is_entity = ERRORcreate( - "An entity (%s) is not acceptable as an underlying type.", SEVERITY_ERROR ); - - ERROR_ambiguous_attribute = ERRORcreate( - "Ambiguous attribute reference %s.", SEVERITY_WARNING ); - - ERROR_ambiguous_group = ERRORcreate( - "Ambiguous group reference %s.", SEVERITY_WARNING ); - - ERROR_overloaded_attribute = ERRORcreate( - "Attribute %s already inherited via supertype %s.", SEVERITY_ERROR ); - - ERROR_redecl_no_such_attribute = ERRORcreate( - "Redeclared attribute %s not declared in supertype %s.", SEVERITY_ERROR ); - - ERROR_redecl_no_such_supertype = ERRORcreate( - "No such supertype %s for redeclaration of attribute %s.", SEVERITY_ERROR ); - - ERROR_missing_self = ERRORcreate( - "Domain rule %s must refer to SELF or attribute.", SEVERITY_ERROR ); - - WARNING_fn_skip_branch = ERRORcreate( - "IF statement condition is always %s. Ignoring branch that is never taken.", SEVERITY_WARNING ); - - WARNING_case_skip_label = ERRORcreate( "CASE label %s cannot be matched. Ignoring its statements.", SEVERITY_WARNING ); - - - ERRORcreate_warning( "circular_subtype", ERROR_subsuper_loop ); - ERRORcreate_warning( "circular_select", ERROR_select_loop ); - ERRORcreate_warning( "entity_as_type", ERROR_type_is_entity ); - ERRORcreate_warning( "invariant_condition", WARNING_fn_skip_branch ); - ERRORcreate_warning( "invalid_case", WARNING_case_skip_label ); } /** Clean up the Fed-X second pass */ void RESOLVEcleanup( void ) { - ERRORdestroy( ERROR_undefined ); - ERRORdestroy( ERROR_undefined_attribute ); - ERRORdestroy( ERROR_undefined_type ); - ERRORdestroy( ERROR_undefined_schema ); - ERRORdestroy( ERROR_unknown_attr_in_entity ); - ERRORdestroy( ERROR_unknown_subtype ); - ERRORdestroy( ERROR_unknown_supertype ); - ERRORdestroy( ERROR_circular_reference ); - ERRORdestroy( ERROR_subsuper_loop ); - ERRORdestroy( ERROR_subsuper_continuation ); - ERRORdestroy( ERROR_select_loop ); - ERRORdestroy( ERROR_select_continuation ); - ERRORdestroy( ERROR_supertype_resolve ); - ERRORdestroy( ERROR_subtype_resolve ); - ERRORdestroy( ERROR_not_a_type ); - ERRORdestroy( ERROR_funcall_not_a_function ); - ERRORdestroy( ERROR_undefined_func ); - ERRORdestroy( ERROR_expected_proc ); - ERRORdestroy( ERROR_no_such_procedure ); - ERRORdestroy( ERROR_wrong_arg_count ); - ERRORdestroy( ERROR_query_requires_aggregate ); - ERRORdestroy( ERROR_self_is_unknown ); - ERRORdestroy( ERROR_inverse_bad_entity ); - ERRORdestroy( ERROR_inverse_bad_attribute ); - ERRORdestroy( ERROR_missing_supertype ); - ERRORdestroy( ERROR_type_is_entity ); - ERRORdestroy( ERROR_ambiguous_attribute ); - ERRORdestroy( ERROR_ambiguous_group ); - ERRORdestroy( ERROR_overloaded_attribute ); - ERRORdestroy( ERROR_redecl_no_such_attribute ); - ERRORdestroy( ERROR_redecl_no_such_supertype ); - ERRORdestroy( ERROR_missing_self ); - ERRORdestroy( WARNING_case_skip_label ); - ERRORdestroy( WARNING_fn_skip_branch ); } /** @@ -274,23 +90,23 @@ void RESOLVEcleanup( void ) { */ Type TYPE_retrieve_aggregate( Type t_select, Type t_agg ) { if( TYPEis_select( t_select ) ) { - // parse the underlying types + /* parse the underlying types */ LISTdo_links( t_select->u.type->body->list, link ) - // the current underlying type + /* the current underlying type */ Type t = ( Type ) link->data; if( TYPEis_select( t ) ) { t_agg = TYPE_retrieve_aggregate( t, t_agg ); } else if( TYPEis_aggregate( t ) ) { if( t_agg ) { if( t_agg != t->u.type->body->base ) { - // 2 underlying types do not have to the same base + /* 2 underlying types do not have to the same base */ return 0; } } else { t_agg = t->u.type->body->base; } } else { - // the underlying type is neither a select nor an aggregate + /* the underlying type is neither a select nor an aggregate */ return 0; } @@ -311,7 +127,7 @@ Type TYPE_retrieve_aggregate( Type t_select, Type t_agg ) { void EXP_resolve( Expression expr, Scope scope, Type typecheck ) { Function f = 0; Symbol * sym; - Generic x; + void *x; Entity e; Type t; bool func_args_checked = false; @@ -327,15 +143,13 @@ void EXP_resolve( Expression expr, Scope scope, Type typecheck ) { x = SCOPEfind( scope, expr->symbol.name, SCOPE_FIND_FUNCTION | SCOPE_FIND_ENTITY ); if( !x ) { - ERRORreport_with_symbol( ERROR_undefined_func, - &expr->symbol, expr->symbol.name ); + ERRORreport_with_symbol(UNDEFINED_FUNC, &expr->symbol, expr->symbol.name ); resolve_failed( expr ); break; } if( ( DICT_type != OBJ_FUNCTION ) && ( DICT_type != OBJ_ENTITY ) ) { sym = OBJget_symbol( x, DICT_type ); - ERRORreport_with_symbol( ERROR_funcall_not_a_function, - &expr->symbol, sym->name ); + ERRORreport_with_symbol(FUNCALL_NOT_A_FUNCTION, &expr->symbol, sym->name ); resolve_failed( expr ); break; } @@ -343,10 +157,8 @@ void EXP_resolve( Expression expr, Scope scope, Type typecheck ) { /* entities are treated like implicit constructor functions */ if( DICT_type == OBJ_ENTITY ) { - Type self_old = self; /* save previous in the */ - /* unlikely but possible case that SELF */ - /* is in a derived initialization of an */ - /* entity */ + Type self_old = self; /* save previous in the unlikely but possible case that + * SELF is in a derived initialization of an entity */ e = ( Entity )x; self = e->u.entity->type; /* skip parameter resolution for now */ @@ -358,17 +170,16 @@ void EXP_resolve( Expression expr, Scope scope, Type typecheck ) { expr->return_type = f->u.func->return_type; /* do argument typechecking here if requested */ - /* currently, we just check arg count; necesary */ + /* currently, we just check arg count; necessary */ /* to NVL code later which assumes args are present */ if( LISTget_length( expr->u.funcall.list ) != f->u.func->pcount ) { - ERRORreport_with_symbol( ERROR_wrong_arg_count, - &expr->symbol, expr->symbol.name, + ERRORreport_with_symbol(WRONG_ARG_COUNT, &expr->symbol, expr->symbol.name, LISTget_length( expr->u.funcall.list ), f->u.func->pcount ); } -#if future_work +#ifdef future_work if( EXPRESS_lint ) { /* verify parameters match function call */ } @@ -423,7 +234,7 @@ void EXP_resolve( Expression expr, Scope scope, Type typecheck ) { /* assume it's a variable/attribute */ if( !x ) { - x = ( Generic )VARfind( scope, expr->symbol.name, 0 ); + x = VARfind( scope, expr->symbol.name, 0 ); } /* if not found as a variable, try as function, etc ... */ if( !x ) { @@ -434,13 +245,13 @@ void EXP_resolve( Expression expr, Scope scope, Type typecheck ) { if( !x ) { Scope enumscope = scope; while( 1 ) { - // look up locally, then go through the superscopes + /* look up locally, then go through the superscopes */ x = DICTlookup( enumscope->enum_table, expr->symbol.name ); if( x ) { break; } if( enumscope->type == OBJ_SCHEMA ) { - //if we get here, this means that we've looked through all scopes + /* if we get here, this means that we've looked through all scopes */ x = 0; break; } @@ -452,8 +263,7 @@ void EXP_resolve( Expression expr, Scope scope, Type typecheck ) { if( typecheck == Type_Unknown ) { return; } else { - ERRORreport_with_symbol( ERROR_undefined, - &expr->symbol, expr->symbol.name ); + ERRORreport_with_symbol(UNDEFINED, &expr->symbol, expr->symbol.name ); resolve_failed( expr ); break; } @@ -492,15 +302,14 @@ void EXP_resolve( Expression expr, Scope scope, Type typecheck ) { /* functions with no args end up here because the */ /* parser doesn't know any better */ expr->u.list = LISTcreate(); - LISTadd( expr->u.list, x ); + LISTadd_last( expr->u.list, x ); expr->type = Type_Funcall; expr->return_type = ( ( Function )x )->u.func->return_type; /* function may not actually be resolved by now */ /* but I don't think that's a problem */ if( ( ( Function )x )->u.func->pcount != 0 ) { - ERRORreport_with_symbol( ERROR_wrong_arg_count, - &expr->symbol, expr->symbol.name, 0, + ERRORreport_with_symbol(WRONG_ARG_COUNT, &expr->symbol, expr->symbol.name, 0, f->u.func->pcount ); resolve_failed( expr ); } else { @@ -532,7 +341,7 @@ void EXP_resolve( Expression expr, Scope scope, Type typecheck ) { found_self = true; resolved_all( expr ); } else { - ERRORreport_with_symbol( ERROR_self_is_unknown, &scope->symbol ); + ERRORreport_with_symbol(SELF_IS_UNKNOWN, &scope->symbol ); resolve_failed( expr ); } break; @@ -548,17 +357,17 @@ void EXP_resolve( Expression expr, Scope scope, Type typecheck ) { if( TYPEis_aggregate( expr->return_type ) ) { t = expr->u.query->aggregate->return_type->u.type->body->base; } else if( TYPEis_select( expr->return_type ) ) { - // retrieve the common aggregate type + /* retrieve the common aggregate type */ t = TYPE_retrieve_aggregate( expr->return_type, 0 ); if( !t ) { - ERRORreport_with_symbol( ERROR_query_requires_aggregate, &expr->u.query->aggregate->symbol ); + ERRORreport_with_symbol(QUERY_REQUIRES_AGGREGATE, &expr->u.query->aggregate->symbol ); resolve_failed( expr ); break; } } else if( TYPEis_runtime( expr->return_type ) ) { t = Type_Runtime; } else { - ERRORreport_with_symbol( ERROR_query_requires_aggregate, &expr->u.query->aggregate->symbol ); + ERRORreport_with_symbol(QUERY_REQUIRES_AGGREGATE, &expr->u.query->aggregate->symbol ); resolve_failed( expr ); break; } @@ -603,14 +412,14 @@ int ENTITYresolve_subtype_expression( Expression expr, Entity ent/*was scope*/, /* must be a simple entity reference */ ent_ref = ( Entity )SCOPEfind( ent->superscope, expr->symbol.name, SCOPE_FIND_ENTITY ); if( !ent_ref ) { - ERRORreport_with_symbol( ERROR_unknown_subtype, &ent->symbol, + ERRORreport_with_symbol(UNKNOWN_SUBTYPE, &ent->symbol, expr->symbol.name, ent->symbol.name ); i = RESOLVE_FAILED; } else if( DICT_type != OBJ_ENTITY ) { Symbol * sym = OBJget_symbol( ent_ref, DICT_type ); /* line number should really be on supertype name, */ /* but all we have easily is the entity line number */ - ERRORreport_with_symbol( ERROR_subtype_resolve, &ent->symbol, + ERRORreport_with_symbol(SUBTYPE_RESOLVE, &ent->symbol, expr->symbol.name, sym->line ); i = RESOLVE_FAILED; } else { @@ -629,7 +438,7 @@ int ENTITYresolve_subtype_expression( Expression expr, Entity ent/*was scope*/, LISTod if( !found ) { - LISTadd_last( *flat, ( Generic )ent_ref ); + LISTadd_last( *flat, ent_ref ); } /* link in to expression */ @@ -650,7 +459,7 @@ int ENTITYresolve_subtype_expression( Expression expr, Entity ent/*was scope*/, if( !ent_ref->u.entity->supertypes ) { ent_ref->u.entity->supertypes = LISTcreate(); } - LISTadd_last( ent_ref->u.entity->supertypes, ( Generic )ent ); + LISTadd_last( ent_ref->u.entity->supertypes, ent ); } #endif } @@ -676,13 +485,13 @@ void TYPE_resolve( Type * typeaddr /*, Scope scope*/ ) { resolve_in_progress( type ); if( TYPEis_aggregate( type ) ) { - TYPEresolve( &body->base, scope ); + TYPEresolve( &body->base ); /* only really critical failure point for future use */ /* of this type is the base type, ignore others (above) */ type->symbol.resolved = body->base->symbol.resolved; } else if( TYPEis_select( type ) ) { LISTdo_links( body->list, link ) - TYPEresolve( ( Type * )&link->data, scope ); + TYPEresolve( ( Type * )&link->data ); if( is_resolve_failed( ( Type )link->data ) ) { resolve_failed( type ); break; @@ -693,12 +502,12 @@ void TYPE_resolve( Type * typeaddr /*, Scope scope*/ ) { /* simple type definition such as "TYPE T = U" */ resolve_in_progress( type ); - TYPEresolve( &type->u.type->head, scope ); + TYPEresolve( &type->u.type->head ); if( !is_resolve_failed( type->u.type->head ) ) { - if( ERRORis_enabled( ERROR_type_is_entity ) ) { + if( ERRORis_enabled( TYPE_IS_ENTITY ) ) { if( TYPEis_entity( type->u.type->head ) ) { - ERRORreport_with_symbol( ERROR_type_is_entity, &type->symbol, type->u.type->head->u.type->body->entity->symbol.name ); + ERRORreport_with_symbol(TYPE_IS_ENTITY, &type->symbol, type->u.type->head->u.type->body->entity->symbol.name ); resolve_failed( type ); } } @@ -716,7 +525,7 @@ void TYPE_resolve( Type * typeaddr /*, Scope scope*/ ) { SCOPE_FIND_ANYTHING ^ SCOPE_FIND_VARIABLE ); /* SCOPE_FIND_TYPE | SCOPE_FIND_ENTITY);*/ if( !ref_type ) { - ERRORreport_with_symbol( ERROR_undefined_type, &type->symbol, type->symbol.name ); + ERRORreport_with_symbol(UNDEFINED_TYPE, &type->symbol, type->symbol.name ); *typeaddr = Type_Bad; /* just in case */ resolve_failed( type ); } else if( DICT_type == OBJ_TYPE ) { @@ -727,14 +536,14 @@ void TYPE_resolve( Type * typeaddr /*, Scope scope*/ ) { /* if (type->refcount--) TYPE_destroy(type); */ type = *typeaddr = ref_type; - TYPEresolve( typeaddr, scope ); /* addr doesn't matter here */ + TYPEresolve( typeaddr ); /* addr doesn't matter here */ /* it will not be written through */ } else if( DICT_type == OBJ_ENTITY ) { /* if (type->refcount--) TYPE_destroy(type); see above */ type = *typeaddr = ( ( Entity )ref_type )->u.entity->type; } else { - ERRORreport_with_symbol( ERROR_not_a_type, &type->symbol, type->symbol.name, + ERRORreport_with_symbol(NOT_A_TYPE, &type->symbol, type->symbol.name, OBJget_type( DICT_type ) ); resolve_failed( type ); } @@ -766,14 +575,13 @@ void VAR_resolve_expressions( Variable v, Entity entity /* was scope */ ) { /** ** \param v variable to resolve -** \param entity entity in which to resolve ** ** Resolve all references in a variable definition. */ -void VAR_resolve_types( Variable v, Entity entity /* was scope */ ) { +void VAR_resolve_types( Variable v ) { int failed = 0; - TYPEresolve( &v->type, entity ); + TYPEresolve( &v->type ); failed = is_resolve_failed( v->type ); if( v->inverse_symbol && ( !v->inverse_attribute ) ) { @@ -787,7 +595,7 @@ void VAR_resolve_types( Variable v, Entity entity /* was scope */ ) { type = type->u.type->body->base; } if( type->u.type->body->type != entity_ ) { - ERRORreport_with_symbol( ERROR_inverse_bad_entity, + ERRORreport_with_symbol(INVERSE_BAD_ENTITY, &v->name->symbol, v->inverse_symbol->name ); } else { attr = VARfind( type->u.type->body->entity, v->inverse_symbol->name, 1 ); @@ -795,7 +603,7 @@ void VAR_resolve_types( Variable v, Entity entity /* was scope */ ) { v->inverse_attribute = attr; failed |= is_resolve_failed( attr->name ); } else { - ERRORreport_with_symbol( ERROR_inverse_bad_attribute, + ERRORreport_with_symbol(INVERSE_BAD_ATTR, v->inverse_symbol, v->inverse_symbol->name, type->u.type->body->entity->symbol.name ); } } @@ -822,7 +630,6 @@ void VAR_resolve_types( Variable v, Entity entity /* was scope */ ) { ** ** Resolve all references in a statement. */ -void STMTresolve( Statement statement, Scope scope ); void STMTlist_resolve( Linked_List list, Scope scope ) { LISTdo( list, s, Statement ) @@ -852,10 +659,8 @@ void CASE_ITresolve( Case_Item item, Scope scope, Statement statement ) { } void STMTresolve( Statement statement, Scope scope ) { - //scope is always the function/procedure/rule from SCOPEresolve_expressions_statements(); + /* scope is always the function/procedure/rule from SCOPEresolve_expressions_statements(); */ Scope proc; - Logical eval; - bool skipped = false; if( !statement ) { return; /* could be null statement */ @@ -898,12 +703,12 @@ void STMTresolve( Statement statement, Scope scope ) { if( proc ) { if( DICT_type != OBJ_PROCEDURE ) { Symbol * newsym = OBJget_symbol( proc, DICT_type ); - ERRORreport_with_symbol( ERROR_expected_proc, &statement->symbol, proc_name, newsym->line ); + ERRORreport_with_symbol(EXPECTED_PROC, &statement->symbol, proc_name, newsym->line ); } else { statement->u.proc->procedure = proc; } } else { - ERRORreport_with_symbol( ERROR_no_such_procedure, &statement->symbol, proc_name ); + ERRORreport_with_symbol(NO_SUCH_PROCEDURE, &statement->symbol, proc_name ); } LISTdo( statement->u.proc->parameters, e, Expression ) EXPresolve( e, scope, Type_Dont_Care ); @@ -935,29 +740,14 @@ void STMTresolve( Statement statement, Scope scope ) { break; case STMT_SKIP: case STMT_ESCAPE: - /* do nothing */ //WARNING should we really *not* do anything for these? + /* do nothing */ /* WARNING should we really *not* do anything for these? */ ; } } -void ALGresolve_expressions_statements( Scope s, Linked_List statements ) { - int status = 0; - - if( print_objects_while_running & OBJ_ALGORITHM_BITS & - OBJget_bits( s->type ) ) { - fprintf( stdout, "pass %d: %s (%s)\n", EXPRESSpass, - s->symbol.name, OBJget_type( s->type ) ); - } - - SCOPEresolve_expressions_statements( s ); - STMTlist_resolve( statements, s ); - - s->symbol.resolved = status; -} - static Variable ENTITY_get_local_attribute( Entity e, char * name ) { LISTdo( e->u.entity->attributes, a, Variable ) - if( streq( VARget_simple_name( a ), name ) ) { + if( !strcmp( VARget_simple_name( a ), name ) ) { return a; } LISTod; @@ -972,57 +762,51 @@ void ENTITYresolve_expressions( Entity e ) { Entity sup; if( print_objects_while_running & OBJ_ENTITY_BITS ) { - fprintf( stdout, "pass %d: %s (entity)\n", EXPRESSpass, + fprintf( stderr, "pass %d: %s (entity)\n", EXPRESSpass, e->symbol.name ); } self = e->u.entity->type; - LISTdo( e->u.entity->attributes, attr, Variable ) -#if 0 - /* resolve in the context of the superscope to allow "X : X;" */ - TYPEresolve( &attr->type, e->superscope ); - status |= is_resolve_failed( attr->type ); -#else - if( attr->name->type->u.type->body->type == op_ ) { - /* attribute redeclaration */ - sname = attr->name->e.op1->e.op2->symbol.name; - if( streq( sname, e->symbol.name ) || - !( sup = ENTITYfind_inherited_entity( e, sname, 0 ) ) ) { - ERRORreport_with_symbol( ERROR_redecl_no_such_supertype, - &attr->name->e.op1->e.op2->symbol, - attr->name->e.op1->e.op2->symbol.name, - VARget_simple_name( attr ) ); - resolve_failed( attr->name ); - } else { - sname = VARget_simple_name( attr ); - if( !ENTITY_get_local_attribute( sup, sname ) ) { - ERRORreport_with_symbol( ERROR_redecl_no_such_attribute, - &attr->name->e.op2->symbol, - sname, - sup->symbol.name ); + LISTdo( e->u.entity->attributes, attr, Variable ) { + if( attr->name->type->u.type->body->type == op_ ) { + /* attribute redeclaration */ + sname = attr->name->e.op1->e.op2->symbol.name; + if( !strcmp( sname, e->symbol.name ) || + !( sup = ENTITYfind_inherited_entity( e, sname, 0 ) ) ) { + ERRORreport_with_symbol(REDECL_NO_SUCH_SUPERTYPE, + &attr->name->e.op1->e.op2->symbol, + attr->name->e.op1->e.op2->symbol.name, + VARget_simple_name( attr ) ); resolve_failed( attr->name ); + } else { + sname = VARget_simple_name( attr ); + if( !ENTITY_get_local_attribute( sup, sname ) ) { + ERRORreport_with_symbol(REDECL_NO_SUCH_ATTR, + &attr->name->e.op2->symbol, + sname, + sup->symbol.name ); + resolve_failed( attr->name ); + } + /* should be ok to share this ptr */ + attr->name->symbol.name = sname; } - /* should be ok to share this ptr */ - attr->name->symbol.name = sname; - } - } else { - /* new attribute declaration */ - LISTdo( e->u.entity->supertypes, sup, Entity ) - if( ENTITYget_named_attribute( sup, - attr->name->symbol.name ) ) { - ERRORreport_with_symbol( ERROR_overloaded_attribute, - &attr->name->symbol, - attr->name->symbol.name, - sup->symbol.name ); - resolve_failed( attr->name ); + } else { + /* new attribute declaration */ + LISTdo_n( e->u.entity->supertypes, supr, Entity, b ) { + if( ENTITYget_named_attribute( supr, + attr->name->symbol.name ) ) { + ERRORreport_with_symbol(OVERLOADED_ATTR, + &attr->name->symbol, + attr->name->symbol.name, + supr->symbol.name ); + resolve_failed( attr->name ); + } + } LISTod; } - LISTod; - } - VARresolve_expressions( attr, e ); - status |= is_resolve_failed( attr->name ); -#endif - LISTod; + VARresolve_expressions( attr, e ); + status |= is_resolve_failed( attr->name ); + } LISTod; DICTdo_type_init( e->symbol_table, &de, OBJ_VARIABLE ); while( 0 != ( v = ( Variable )DICTdo( &de ) ) ) { @@ -1052,19 +836,19 @@ void ENTITYcheck_missing_supertypes( Entity ent ) { int found; /* Make sure each of my subtypes lists me as a supertype */ - LISTdo( ent->u.entity->subtypes, sub, Entity ) - found = false; - LISTdo( sub->u.entity->supertypes, sup, Entity ) - if( sup == ent ) { - found = true; - break; - } - LISTod; - if( !found ) { - ERRORreport_with_symbol( ERROR_missing_supertype, &sub->symbol, ent->symbol.name, sub->symbol.name ); - resolve_failed( sub ); - } - LISTod; + LISTdo( ent->u.entity->subtypes, sub, Entity ) { + found = false; + LISTdo_n( sub->u.entity->supertypes, sup, Entity, b ) { + if( sup == ent ) { + found = true; + break; + } + } LISTod; + if( !found ) { + ERRORreport_with_symbol(MISSING_SUPERTYPE, &sub->symbol, ent->symbol.name, sub->symbol.name ); + resolve_failed( sub ); + } + } LISTod; } /** calculate number of attributes inheritance, following up superclass chain */ @@ -1086,7 +870,7 @@ int ENTITY_check_subsuper_cyclicity( Entity e, Entity enew ) { /* as well */ LISTdo( enew->u.entity->subtypes, sub, Entity ) if( e == sub ) { - ERRORreport_with_symbol( ERROR_subsuper_loop, &sub->symbol, e->symbol.name ); + ERRORreport_with_symbol(SUBSUPER_LOOP, &sub->symbol, e->symbol.name ); return 1; } if( sub->search_id == __SCOPE_search_id ) { @@ -1094,7 +878,7 @@ int ENTITY_check_subsuper_cyclicity( Entity e, Entity enew ) { } sub->search_id = __SCOPE_search_id; if( ENTITY_check_subsuper_cyclicity( e, sub ) ) { - ERRORreport_with_symbol( ERROR_subsuper_continuation, &sub->symbol, sub->symbol.name ); + ERRORreport_with_symbol(SUBSUPER_CONTINUATION, &sub->symbol, sub->symbol.name ); return 1; } LISTod; @@ -1111,7 +895,7 @@ int TYPE_check_select_cyclicity( TypeBody tb, Type tnew ) { LISTdo( tnew->u.type->body->list, item, Type ) if( item->u.type->body->type == select_ ) { if( tb == item->u.type->body ) { - ERRORreport_with_symbol( ERROR_select_loop, + ERRORreport_with_symbol(SELECT_LOOP, &item->symbol, item->symbol.name ); return 1; } @@ -1120,7 +904,7 @@ int TYPE_check_select_cyclicity( TypeBody tb, Type tnew ) { } item->search_id = __SCOPE_search_id; if( TYPE_check_select_cyclicity( tb, item ) ) { - ERRORreport_with_symbol( ERROR_select_continuation, + ERRORreport_with_symbol(SELECT_CONTINUATION, &item->symbol, item->symbol.name ); return 1; } @@ -1142,11 +926,11 @@ void ENTITYresolve_types( Entity e ); void SCOPEresolve_types( Scope s ) { Variable var; DictionaryEntry de; - Generic x; + void *x; if( print_objects_while_running & OBJ_SCOPE_BITS & OBJget_bits( s->type ) ) { - fprintf( stdout, "pass %d: %s (%s)\n", EXPRESSpass, + fprintf( stderr, "pass %d: %s (%s)\n", EXPRESSpass, s->symbol.name, OBJget_type( s->type ) ); } @@ -1154,14 +938,14 @@ void SCOPEresolve_types( Scope s ) { while( 0 != ( x = DICTdo( &de ) ) ) { switch( DICT_type ) { case OBJ_TYPE: - if( ERRORis_enabled( ERROR_select_loop ) ) { + if( ERRORis_enabled( SELECT_LOOP ) ) { TYPEcheck_select_cyclicity( ( Type )x ); } break; case OBJ_VARIABLE: /* really constants */ var = ( Variable )x; /* before OBJ_BITS hack, we looked in s->superscope */ - TYPEresolve( &var->type, s ); + TYPEresolve( &var->type ); if( is_resolve_failed( var->type ) ) { resolve_failed( var->name ); resolve_failed( s ); @@ -1171,7 +955,7 @@ void SCOPEresolve_types( Scope s ) { ENTITYcheck_missing_supertypes( ( Entity )x ); ENTITYresolve_types( ( Entity )x ); ENTITYcalculate_inheritance( ( Entity )x ); - if( ERRORis_enabled( ERROR_subsuper_loop ) ) { + if( ERRORis_enabled( SUBSUPER_LOOP ) ) { ENTITYcheck_subsuper_cyclicity( ( Entity )x ); } if( is_resolve_failed( ( Entity )x ) ) { @@ -1196,60 +980,16 @@ void SCOPEresolve_types( Scope s ) { } } if( s->type == OBJ_FUNCTION ) { - TYPEresolve( &s->u.func->return_type, s->superscope ); - } -} - - - -/********************************new****************************************/ - -void SCOPEresolve_subsupers( Scope scope ) { - DictionaryEntry de; - Generic x; - char type; - Symbol * sym; - Type t; - - if( print_objects_while_running & OBJ_SCOPE_BITS & - OBJget_bits( scope->type ) ) { - fprintf( stdout, "pass %d: %s (%s)\n", EXPRESSpass, - scope->symbol.name, OBJget_type( scope->type ) ); - } - - DICTdo_init( scope->symbol_table, &de ); - while( 0 != ( x = DICTdo( &de ) ) ) { - switch( type = DICT_type ) { - case OBJ_ENTITY: - ENTITYresolve_supertypes( ( Entity )x ); - ENTITYresolve_subtypes( ( Entity )x ); - break; - case OBJ_FUNCTION: - case OBJ_PROCEDURE: - case OBJ_RULE: - SCOPEresolve_subsupers( ( Scope )x ); - break; - case OBJ_TYPE: - t = ( Type )x; - TYPEresolve( &t, scope ); - break; - default: - /* ignored everything else */ - break; - } - sym = OBJget_symbol( x, type ); - if( is_resolve_failed_raw( sym ) ) { - resolve_failed( scope ); - } + TYPEresolve( &s->u.func->return_type ); } } /** for each supertype, find the entity it refs to */ -static void ENTITYresolve_supertypes( Entity e ) { +void ENTITYresolve_supertypes( Entity e ) { Entity ref_entity; if( print_objects_while_running & OBJ_ENTITY_BITS ) { - fprintf( stdout, "pass %d: %s (entity)\n", EXPRESSpass, + fprintf( stderr, "pass %d: %s (entity)\n", EXPRESSpass, e->symbol.name ); } @@ -1262,51 +1002,51 @@ static void ENTITYresolve_supertypes( Entity e ) { } #endif - LISTdo( e->u.entity->supertype_symbols, sym, Symbol * ) - ref_entity = ( Entity )SCOPEfind( e->superscope, sym->name, SCOPE_FIND_ENTITY ); - if( !ref_entity ) { - ERRORreport_with_symbol( ERROR_unknown_supertype, sym, sym->name, e->symbol.name ); - /* ENTITY_resolve_failed = 1;*/ - resolve_failed( e ); - } else if( DICT_type != OBJ_ENTITY ) { - Symbol * newsym = OBJget_symbol( ref_entity, DICT_type ); - ERRORreport_with_symbol( ERROR_supertype_resolve, sym, sym->name, newsym->line ); - /* ENTITY_resolve_failed = 1;*/ - resolve_failed( e ); - } else { - bool found = false; - - LISTadd( e->u.entity->supertypes, ( Generic )ref_entity ); - if( is_resolve_failed( ref_entity ) ) { + LISTdo( e->u.entity->supertype_symbols, sym, Symbol * ) { + ref_entity = ( Entity )SCOPEfind( e->superscope, sym->name, SCOPE_FIND_ENTITY ); + if( !ref_entity ) { + ERRORreport_with_symbol(UNKNOWN_SUPERTYPE, sym, sym->name, e->symbol.name ); + /* ENTITY_resolve_failed = 1;*/ resolve_failed( e ); - } + } else if( DICT_type != OBJ_ENTITY ) { + Symbol * newsym = OBJget_symbol( ref_entity, DICT_type ); + ERRORreport_with_symbol(SUPERTYPE_RESOLVE, sym, sym->name, newsym->line ); + /* ENTITY_resolve_failed = 1;*/ + resolve_failed( e ); + } else { + bool found = false; - /* If the user said there was a supertype relationship but */ - /* did not mentioned the reverse subtype relationship */ - /* force it to be explicitly known by listing this entity */ - /* in the ref'd entity's subtype list */ + LISTadd_last( e->u.entity->supertypes, ref_entity ); + if( is_resolve_failed( ref_entity ) ) { + resolve_failed( e ); + } - LISTdo( ref_entity->u.entity->subtypes, sub, Entity ) - if( sub == e ) { - found = true; - break; - } - LISTod - if( !found ) { - if( !ref_entity->u.entity->subtypes ) { - ref_entity->u.entity->subtypes = LISTcreate(); + /* If the user said there was a supertype relationship but */ + /* did not mentioned the reverse subtype relationship */ + /* force it to be explicitly known by listing this entity */ + /* in the ref'd entity's subtype list */ + + LISTdo_n( ref_entity->u.entity->subtypes, sub, Entity, b ) { + if( sub == e ) { + found = true; + break; + } + } LISTod + if( !found ) { + if( !ref_entity->u.entity->subtypes ) { + ref_entity->u.entity->subtypes = LISTcreate(); + } + LISTadd_last( ref_entity->u.entity->subtypes, e ); } - LISTadd_last( ref_entity->u.entity->subtypes, ( Generic )e ); } - } - LISTod; + } LISTod; } -static void ENTITYresolve_subtypes( Entity e ) { +void ENTITYresolve_subtypes( Entity e ) { int i; if( print_objects_while_running & OBJ_ENTITY_BITS ) { - fprintf( stdout, "pass %d: %s (entity)\n", EXPRESSpass, + fprintf( stderr, "pass %d: %s (entity)\n", EXPRESSpass, e->symbol.name ); } @@ -1316,67 +1056,86 @@ static void ENTITYresolve_subtypes( Entity e ) { } } +/** resolve the 'unique' list + * these are lists of lists + * the sublists are: label, ref'd_attr, ref'd attr, ref'd attr, etc. + * where ref'd_attrs are either simple ids or SELF\entity.attr + * where "entity" represents a supertype (only, I believe) +*/ +void ENTITYresolve_uniques( Entity e ) { + Variable attr, attr2 = 0; + int failed = 0; + LISTdo( e->u.entity->unique, unique, Linked_List ) { + int i = 0; + LISTdo_links( unique, reflink ) { + Type old_self = self; + Expression expr; + /* skip first which is always the label (or NULL if no label) */ + i++; + if( i == 1 ) { + continue; + } + expr = ( Expression ) reflink->data; + assert( expr ); + + self = e->u.entity->type; + EXPresolve( expr, e, Type_Dont_Care ); + self = old_self; + + /* SELF\entity.attr, or just an attr name? */ + if( ( expr->e.op_code == OP_DOT ) && + ( expr->e.op1->e.op_code == OP_GROUP ) && + ( expr->e.op1->e.op1->type == Type_Self ) ) { + attr = ENTITYresolve_attr_ref( e, &( expr->e.op1->e.op2->symbol ), &( expr->e.op2->symbol ) ); + attr2 = ENTITYresolve_attr_ref( e, 0, &( expr->e.op2->symbol ) ); + } else { + attr = ENTITYresolve_attr_ref( e, 0, &( expr->symbol ) ); + } + if( ( attr2 ) && ( attr != attr2 ) && ( ENTITYdeclares_variable( e, attr2 ) ) ) { + /* attr exists in type + supertype - it's a redeclaration. + * in this case, qualifiers are unnecessary; print a warning */ + ERRORreport_with_symbol(UNIQUE_QUAL_REDECL, &( expr->e.op2->symbol ), expr->e.op2->symbol.name, e->symbol.name ); + } + if( !attr ) { + /* ERRORreport_with_symbol(ERROR_unknown_attr_in_entity,*/ + /* aref->attribute, aref->attribute->name,*/ + /* e->symbol.name);*/ + failed = RESOLVE_FAILED; + continue; + } + if( ENTITYdeclares_variable( e, attr ) ) { + attr->flags.unique = 1; + } + } LISTod; + } LISTod; + e->symbol.resolved |= failed; +} + void ENTITYresolve_types( Entity e ) { - int i; - Qualified_Attr * ref; - Variable attr; int failed = 0; if( print_objects_while_running & OBJ_ENTITY_BITS ) { - fprintf( stdout, "pass %d: %s (entity)\n", EXPRESSpass, + fprintf( stderr, "pass %d: %s (entity)\n", EXPRESSpass, e->symbol.name ); } - LISTdo( e->u.entity->attributes, attr, Variable ) - /* resolve in context of superscope to allow "X : X;" */ - VARresolve_types( attr, e ); - failed |= is_resolve_failed( attr->name ); - LISTod; + LISTdo( e->u.entity->attributes, att, Variable ) { + /* resolve in context of superscope to allow "X : X;" */ + VARresolve_types( att ); + failed |= is_resolve_failed( att->name ); + } LISTod; /* * resolve the 'unique' list */ - - /* these are lists of lists */ - /* the sublists are: label, ref'd_attr, ref'd attr, ref'd attr, etc. */ - /* where ref'd_attrs are either simple ids or SELF\entity.attr */ - /* where "entity" represents a supertype (only, I believe) */ - - LISTdo( e->u.entity->unique, unique, Linked_List ) - i = 0; - LISTdo_links( unique, reflink ) - /* skip first which is always the label (or NULL if no label) */ - i++; - if( i == 1 ) { - continue; - } - ref = ( Qualified_Attr * )reflink->data; - - attr = ENTITYresolve_attr_ref( e, ref->entity, ref->attribute ); - if( !attr ) { - /* ERRORreport_with_symbol(ERROR_unknown_attr_in_entity,*/ - /* ref->attribute, ref->attribute->name,*/ - /* e->symbol.name);*/ - failed = RESOLVE_FAILED; - continue; - } - - QUAL_ATTR_destroy( ref ); - reflink->data = ( Generic )attr; - - if( ENTITYdeclares_variable( e, attr ) ) { - attr->flags.unique = 1; - } - - LISTod; - LISTod; + ENTITYresolve_uniques( e ); /* don't wipe out any previous failure stat */ e->symbol.resolved |= failed; } /** resolve all expressions in type definitions */ -static void TYPEresolve_expressions( Type t, Scope s ) { +void TYPEresolve_expressions( Type t, Scope s ) { TypeBody body; /* meaning of self in a type declaration refers to the type itself, so */ @@ -1414,58 +1173,7 @@ static void TYPEresolve_expressions( Type t, Scope s ) { self = self_old; } -void SCOPEresolve_expressions_statements( Scope s ) { - DictionaryEntry de; - Generic x; - Variable v; - - if( print_objects_while_running & OBJ_SCOPE_BITS & - OBJget_bits( s->type ) ) { - fprintf( stdout, "pass %d: %s (%s)\n", EXPRESSpass, - s->symbol.name, OBJget_type( s->type ) ); - } - - DICTdo_init( s->symbol_table, &de ); - while( 0 != ( x = DICTdo( &de ) ) ) { - switch( DICT_type ) { - case OBJ_SCHEMA: - if( is_not_resolvable( ( Schema )x ) ) { - break; - } - SCOPEresolve_expressions_statements( ( Scope )x ); - break; - case OBJ_ENTITY: - ENTITYresolve_expressions( ( Entity )x ); - break; - case OBJ_FUNCTION: - ALGresolve_expressions_statements( ( Scope )x, ( ( Scope )x )->u.func->body ); - break; - case OBJ_PROCEDURE: - ALGresolve_expressions_statements( ( Scope )x, ( ( Scope )x )->u.proc->body ); - break; - case OBJ_RULE: - ALGresolve_expressions_statements( ( Scope )x, ( ( Scope )x )->u.rule->body ); - - WHEREresolve( RULEget_where( ( Scope )x ), ( Scope )x, 0 ); - break; - case OBJ_VARIABLE: - v = ( Variable )x; - TYPEresolve_expressions( v->type, s ); - if( v->initializer ) { - EXPresolve( v->initializer, s, v->type ); - } - break; - case OBJ_TYPE: - TYPEresolve_expressions( ( Type )x, s ); - break; - default: - /* ignored everything else */ - break; - } - } -} - -static int WHEREresolve( Linked_List list, Scope scope, int need_self ) { +int WHEREresolve( Linked_List list, Scope scope, int need_self ) { int status = 0; LISTdo( list, w, Where ) @@ -1479,7 +1187,7 @@ static int WHEREresolve( Linked_List list, Scope scope, int need_self ) { found_self = false; EXPresolve( w->expr, scope, Type_Dont_Care ); if( need_self && ! found_self ) { - ERRORreport_with_symbol( ERROR_missing_self, + ERRORreport_with_symbol(MISSING_SELF, w->label, w->label->name ); w->label->resolved = RESOLVE_FAILED; @@ -1495,17 +1203,6 @@ static int WHEREresolve( Linked_List list, Scope scope, int need_self ) { } } -/* should only be called on types known to be tagged! */ -static char * TYPEget_tagname( Type type ) { - for( ; type; type = type->u.type->body->base ) { - if( type->u.type->body->tag ) { - return type->u.type->body->tag->symbol.name; - } - } - /* can't happen */ - return 0; -} - struct tag * TAGcreate_tags() { extern int tag_count; diff --git a/src/express/resolve2.c b/src/express/resolve2.c new file mode 100644 index 000000000..bd5518595 --- /dev/null +++ b/src/express/resolve2.c @@ -0,0 +1,115 @@ +/* + * This software was developed by U.S. Government employees as part of + * their official duties and is not subject to copyright. + */ + +#include "express/express.h" +#include "express/schema.h" +#include "express/resolve.h" + +void SCOPEresolve_subsupers( Scope scope ) { + DictionaryEntry de; + void *x; + char type; + Symbol * sym; + Type t; + + if( print_objects_while_running & OBJ_SCOPE_BITS & + OBJget_bits( scope->type ) ) { + fprintf( stderr, "pass %d: %s (%s)\n", EXPRESSpass, + scope->symbol.name, OBJget_type( scope->type ) ); + } + + DICTdo_init( scope->symbol_table, &de ); + while( 0 != ( x = DICTdo( &de ) ) ) { + switch( type = DICT_type ) { + case OBJ_ENTITY: + ENTITYresolve_supertypes( ( Entity )x ); + ENTITYresolve_subtypes( ( Entity )x ); + break; + case OBJ_FUNCTION: + case OBJ_PROCEDURE: + case OBJ_RULE: + SCOPEresolve_subsupers( ( Scope )x ); + break; + case OBJ_TYPE: + t = ( Type )x; + TYPEresolve( &t ); + break; + default: + /* ignored everything else */ + break; + } + sym = OBJget_symbol( x, type ); + if( is_resolve_failed_raw( sym ) ) { + resolve_failed( scope ); + } + } +} + +void SCOPEresolve_expressions_statements( Scope s ) { + DictionaryEntry de; + void *x; + Variable v; + + if( print_objects_while_running & OBJ_SCOPE_BITS & + OBJget_bits( s->type ) ) { + fprintf( stderr, "pass %d: %s (%s)\n", EXPRESSpass, + s->symbol.name, OBJget_type( s->type ) ); + } + + DICTdo_init( s->symbol_table, &de ); + while( 0 != ( x = DICTdo( &de ) ) ) { + switch( DICT_type ) { + case OBJ_SCHEMA: + if( is_not_resolvable( ( Schema )x ) ) { + break; + } + SCOPEresolve_expressions_statements( ( Scope )x ); + break; + case OBJ_ENTITY: + ENTITYresolve_expressions( ( Entity )x ); + break; + case OBJ_FUNCTION: + ALGresolve_expressions_statements( ( Scope )x, ( ( Scope )x )->u.func->body ); + break; + case OBJ_PROCEDURE: + ALGresolve_expressions_statements( ( Scope )x, ( ( Scope )x )->u.proc->body ); + break; + case OBJ_RULE: + ALGresolve_expressions_statements( ( Scope )x, ( ( Scope )x )->u.rule->body ); + + WHEREresolve( RULEget_where( ( Scope )x ), ( Scope )x, 0 ); + break; + case OBJ_VARIABLE: + v = ( Variable )x; + TYPEresolve_expressions( v->type, s ); + if( v->initializer ) { + EXPresolve( v->initializer, s, v->type ); + } + break; + case OBJ_TYPE: + TYPEresolve_expressions( ( Type )x, s ); + break; + default: + /* ignored everything else */ + break; + } + } +} + +void ALGresolve_expressions_statements( Scope s, Linked_List statements ) { + int status = 0; + + if( print_objects_while_running & OBJ_ALGORITHM_BITS & + OBJget_bits( s->type ) ) { + fprintf( stderr, "pass %d: %s (%s)\n", EXPRESSpass, + s->symbol.name, OBJget_type( s->type ) ); + } + + SCOPEresolve_expressions_statements( s ); + STMTlist_resolve( statements, s ); + + s->symbol.resolved = status; +} + diff --git a/src/express/schema.c b/src/express/schema.c index f2f87edb5..5dd77873a 100644 --- a/src/express/schema.c +++ b/src/express/schema.c @@ -45,64 +45,17 @@ * prettied up interface to print_objects_when_running */ -#include #include "express/expbasic.h" #include "express/schema.h" #include "express/object.h" #include "express/resolve.h" -struct freelist_head REN_fl; -struct freelist_head SCOPE_fl; -struct freelist_head SCHEMA_fl; - int __SCOPE_search_id = 0; -Symbol * RENAME_get_symbol( Generic r ) { - return( ( ( Rename * )r )->old ); -} - /** Initialize the Schema module. */ void SCHEMAinitialize( void ) { - OBJcreate( OBJ_RENAME, RENAME_get_symbol, "rename clause", OBJ_UNUSED_BITS ); - MEMinitialize( &REN_fl, sizeof( struct Rename ), 30, 30 ); - MEMinitialize( &SCHEMA_fl, sizeof( struct Schema_ ), 40, 20 ); -} - -/** Create and return an empty scope inside a parent scope. */ -Scope SCOPEcreate( char type ) { - Scope d = SCOPE_new(); - d->symbol_table = DICTcreate( 50 ); - d->type = type; - return d; -} - -Scope SCOPEcreate_tiny( char type ) { - Scope d = SCOPE_new(); - d->symbol_table = DICTcreate( 1 ); - d->type = type; - return d; } -void SCOPEdestroy( Scope scope ) { - SCOPE_destroy( scope ); -} - -/** - * create a scope without a symbol table - * used for simple types - */ -Scope SCOPEcreate_nostab( char type ) { - Scope d = SCOPE_new(); - d->type = type; - return d; -} - -/** Create and return a schema. */ -Schema SCHEMAcreate( void ) { - Scope s = SCOPEcreate( OBJ_SCHEMA ); - s->u.schema = SCHEMA_new(); - return s; -} /** SCHEMAget_name ** \param schema schema to examine @@ -129,34 +82,34 @@ SCHEMAdump( Schema schema, FILE * file ) { #if 0 SYMBOLprint( Symbol * s ) { - printf( "%s (r:%d #:%d f:%s)\n", s->name, s->resolved, s->line, s->filename ); + fprintf( stderr, "%s (r:%d #:%d f:%s)\n", s->name, s->resolved, s->line, s->filename ); } #endif -void SCHEMAadd_reference( Schema cur_schema, Symbol * ref_schema, Symbol * old, Symbol * nnew ) { +void SCHEMAadd_reference( Schema cur_schema, Symbol * ref_schema, Symbol * old, Symbol * snnew ) { Rename * r = REN_new(); r->schema_sym = ref_schema; r->old = old; - r->nnew = nnew; + r->nnew = snnew; r->rename_type = ref; if( !cur_schema->u.schema->reflist ) { cur_schema->u.schema->reflist = LISTcreate(); } - LISTadd( cur_schema->u.schema->reflist, ( Generic )r ); + LISTadd_last( cur_schema->u.schema->reflist, r ); } -void SCHEMAadd_use( Schema cur_schema, Symbol * ref_schema, Symbol * old, Symbol * nnew ) { +void SCHEMAadd_use( Schema cur_schema, Symbol * ref_schema, Symbol * old, Symbol * snnew ) { Rename * r = REN_new(); r->schema_sym = ref_schema; r->old = old; - r->nnew = nnew; + r->nnew = snnew; r->rename_type = use; if( !cur_schema->u.schema->uselist ) { cur_schema->u.schema->uselist = LISTcreate(); } - LISTadd( cur_schema->u.schema->uselist, ( Generic )r ); + LISTadd_last( cur_schema->u.schema->uselist, r ); } void SCHEMAdefine_reference( Schema schema, Rename * r ) { @@ -170,7 +123,7 @@ void SCHEMAdefine_reference( Schema schema, Rename * r ) { } if( !old || ( DICT_type != OBJ_RENAME ) || ( old->object != r->object ) ) { DICTdefine( schema->u.schema->refdict, name, - ( Generic )r, r->old, OBJ_RENAME ); + r, r->old, OBJ_RENAME ); } } @@ -185,7 +138,7 @@ void SCHEMAdefine_use( Schema schema, Rename * r ) { } if( !old || ( DICT_type != OBJ_RENAME ) || ( old->object != r->object ) ) { DICTdefine( schema->u.schema->usedict, name, - ( Generic )r, r->old, OBJ_RENAME ); + r, r->old, OBJ_RENAME ); } } @@ -208,7 +161,7 @@ static void SCHEMA_get_entities_use( Scope scope, Linked_List result ) { if( scope->u.schema->usedict ) { DICTdo_init( scope->u.schema->usedict, &de ); while( 0 != ( rename = ( Rename * )DICTdo( &de ) ) ) { - LISTadd( result, rename->object ); + LISTadd_last( result, rename->object ); } } } @@ -225,7 +178,7 @@ Linked_List SCHEMAget_entities_use( Scope scope ) { } /** return ref'd entities */ -static void SCHEMA_get_entities_ref( Scope scope, Linked_List result ) { +void SCHEMA_get_entities_ref( Scope scope, Linked_List result ) { Rename * rename; DictionaryEntry de; @@ -246,7 +199,7 @@ static void SCHEMA_get_entities_ref( Scope scope, Linked_List result ) { DICTdo_init( scope->u.schema->refdict, &de ); while( 0 != ( rename = ( Rename * )DICTdo( &de ) ) ) { if( DICT_type == OBJ_ENTITY ) { - LISTadd( result, rename->object ); + LISTadd_last( result, rename->object ); } } } diff --git a/src/express/scope.c b/src/express/scope.c index b3ba35a18..3d93509d7 100644 --- a/src/express/scope.c +++ b/src/express/scope.c @@ -1,15 +1,16 @@ -/** ********************************************************************** -** Module: Scope \file scope.c -** This module implements a hierarchical (i.e., scoped) -** symbol table. The symbol table can store definitions of entities, -** types, algorithms, and variables, as well as containing a list -** of subscopes. -** Constants: -** SCOPE_NULL - the null scope -** -************************************************************************/ +/** + * Module: Scope \file scope.c + * + * This module implements a hierarchical (i.e., scoped) + * symbol table. The symbol table can store definitions of entities, + * types, algorithms, and variables, as well as containing a list + * of subscopes. + * + * Constants: + * SCOPE_NULL - the null scope + */ /* * This software was developed by U.S. Government employees as part of @@ -38,26 +39,19 @@ * prettied up interface to print_objects_when_running */ -#include #define SCOPE_C #include "express/scope.h" #include "express/resolve.h" -Symbol * SCOPE_get_symbol( Generic s ) { - return( &( ( Scope )s )->symbol ); -} - void SCOPEinitialize( void ) { - OBJcreate( OBJ_SCHEMA, SCOPE_get_symbol, "schema", OBJ_SCHEMA_BITS ); - MEMinitialize( &SCOPE_fl, sizeof( struct Scope_ ), 100, 50 ); } -/** SCOPE_get_entities - * \sa SCOPEget_entities +/** + * \sa SCOPEget_entities() */ void SCOPE_get_entities( Scope scope, Linked_List result ) { DictionaryEntry de; - Generic x; + void *x; DICTdo_type_init( scope->symbol_table, &de, OBJ_ENTITY ); while( 0 != ( x = DICTdo( &de ) ) ) { @@ -65,20 +59,20 @@ void SCOPE_get_entities( Scope scope, Linked_List result ) { } } -/** SCOPE_get_functions - * \sa SCOPEget_functions +/** + * \sa SCOPEget_functions() */ void SCOPE_get_functions( Scope scope, Linked_List result ) { DictionaryEntry de; - Generic x; + void *x; DICTdo_type_init( scope->symbol_table, &de, OBJ_FUNCTION ); while( 0 != ( x = DICTdo( &de ) ) ) { LISTadd_last( result, x ); } } -/** SCOPE_get_functions - * \sa SCOPEget_functions +/** + * \sa SCOPE_get_functions() */ Linked_List SCOPEget_functions( Scope scope ) { Linked_List result = LISTcreate(); @@ -86,20 +80,20 @@ Linked_List SCOPEget_functions( Scope scope ) { return( result ); } -/** SCOPE_get_rules - * \sa SCOPEget_rules +/** + * \sa SCOPEget_rules() */ void SCOPE_get_rules( Scope scope, Linked_List result ) { DictionaryEntry de; - Generic x; + void *x; DICTdo_type_init( scope->symbol_table, &de, OBJ_RULE ); while( 0 != ( x = DICTdo( &de ) ) ) { LISTadd_last( result, x ); } } -/** SCOPE_get_functions - * \sa SCOPEget_functions +/** + * \sa SCOPE_get_rules() */ Linked_List SCOPEget_rules( Scope scope ) { Linked_List result = LISTcreate(); @@ -125,7 +119,7 @@ Linked_List SCOPEget_entities( Scope scope ) { } /** - * \sa SCOPEget_entities_superclass_order + * \sa SCOPEget_entities_superclass_order() */ void SCOPE_dfs( Dictionary symbols, Entity root, Linked_List result ) { Entity ent; @@ -139,7 +133,7 @@ void SCOPE_dfs( Dictionary symbols, Entity root, Linked_List result ) { SCOPE_dfs( symbols, ent, result ); } LISTod - LISTadd_last( result, ( Generic )root ); + LISTadd_last( result, root ); } } @@ -150,7 +144,7 @@ void SCOPE_dfs( Dictionary symbols, Entity root, Linked_List result ) { ** Retrieve a list of the entities defined locally in a scope. ** ** \note The list returned is ordered such that an entity appears before all of its subtypes. - ** \sa SCOPEget_entities + ** \sa SCOPEget_entities() */ Linked_List SCOPEget_entities_superclass_order( Scope scope ) { Linked_List result; @@ -169,10 +163,9 @@ Linked_List SCOPEget_entities_superclass_order( Scope scope ) { * note that object found is not actually checked, only because * caller is in a better position to describe the error with context */ -Generic SCOPEfind( Scope scope, char * name, int type ) { - extern Generic SCOPE_find( Scope , char *, int ); +void *SCOPEfind( Scope scope, char * name, int type ) { extern Dictionary EXPRESSbuiltins; /* procedures/functions */ - Generic x; + void *x; __SCOPE_search_id++; @@ -193,8 +186,8 @@ Generic SCOPEfind( Scope scope, char * name, int type ) { * the supertype/subtype hierarchy * EH??? -> lookup an object when the current scope is not a schema */ -Generic SCOPE_find( Scope scope, char * name, int type ) { - Generic result; +void *SCOPE_find( Scope scope, char * name, int type ) { + void *result; Rename * rename; if( scope->search_id == __SCOPE_search_id ) { diff --git a/src/express/stack.h b/src/express/stack.h index d0d99e14f..cb80180c9 100644 --- a/src/express/stack.h +++ b/src/express/stack.h @@ -75,12 +75,4 @@ typedef Linked_List Stack; /* function prototypes */ /***********************/ -/*******************************/ -/* inline function definitions */ -/*******************************/ - -#if supports_inline_functions || defined(STACK_C) - -#endif /* supports_inline_functions || defined(STACK_C) */ - #endif /* STACK_H */ diff --git a/src/express/stmt.c b/src/express/stmt.c index 1ac62deac..7f1579f25 100644 --- a/src/express/stmt.c +++ b/src/express/stmt.c @@ -26,7 +26,7 @@ * CADDETC certified * * Revision 1.6 1993/02/16 03:27:02 libes - * removed artifical begin/end nesting for improved reconstruction (printing) + * removed artificial begin/end nesting for improved reconstruction (printing) * of original Express file * * Revision 1.5 1992/08/18 17:13:43 libes @@ -40,21 +40,8 @@ * */ -#include #include "express/stmt.h" -struct freelist_head STMT_fl; - -struct freelist_head ALIAS_fl; -struct freelist_head ASSIGN_fl; -struct freelist_head CASE_fl; -struct freelist_head COMP_STMT_fl; -struct freelist_head COND_fl; -struct freelist_head LOOP_fl; -struct freelist_head PCALL_fl; -struct freelist_head RET_fl; -struct freelist_head INCR_fl; - Statement STATEMENT_ESCAPE = STATEMENT_NULL; Statement STATEMENT_SKIP = STATEMENT_NULL; @@ -68,21 +55,6 @@ Statement STMTcreate( int type ) { /** Initialize the Statement module. */ void STMTinitialize( void ) { - MEMinitialize( &STMT_fl, sizeof( struct Statement_ ), 500, 100 ); - - MEMinitialize( &ALIAS_fl, sizeof( struct Alias_ ), 10, 10 ); - MEMinitialize( &ASSIGN_fl, sizeof( struct Assignment_ ), 100, 30 ); - MEMinitialize( &CASE_fl, sizeof( struct Case_Statement_ ), 100, 30 ); - MEMinitialize( &COMP_STMT_fl, sizeof( struct Compound_Statement_ ), 100, 30 ); - MEMinitialize( &COND_fl, sizeof( struct Conditional_ ), 100, 30 ); - MEMinitialize( &LOOP_fl, sizeof( struct Loop_ ), 100, 30 ); - MEMinitialize( &PCALL_fl, sizeof( struct Procedure_Call_ ), 100, 30 ); - MEMinitialize( &RET_fl, sizeof( struct Return_Statement_ ), 100, 30 ); - MEMinitialize( &INCR_fl, sizeof( struct Increment_ ), 100, 30 ); - - OBJcreate( OBJ_ALIAS, SCOPE_get_symbol, "alias scope", OBJ_UNUSED_BITS ); - OBJcreate( OBJ_INCREMENT, SCOPE_get_symbol, "increment scope", OBJ_UNUSED_BITS ); - STATEMENT_SKIP = STMTcreate( STMT_SKIP ); STATEMENT_ESCAPE = STMTcreate( STMT_ESCAPE ); } @@ -205,7 +177,7 @@ Scope INCR_CTLcreate( Symbol * control, Expression start, Expression e = EXPcreate_from_symbol( Type_Attribute, control ); Variable v = VARcreate( e, Type_Number ); DICTdefine( s->symbol_table, control->name, - ( Generic )v, control, OBJ_VARIABLE ); + v, control, OBJ_VARIABLE ); s->u.incr = INCR_new(); s->u.incr->init = start; s->u.incr->end = end; diff --git a/src/express/symbol.c b/src/express/symbol.c index 7b9047318..ed71fb836 100644 --- a/src/express/symbol.c +++ b/src/express/symbol.c @@ -32,25 +32,8 @@ * Initial revision */ -#include #include "express/symbol.h" -struct freelist_head SYMBOL_fl; - /** Initialize the Symbol module */ void SYMBOLinitialize( void ) { - MEMinitialize( &SYMBOL_fl, sizeof( struct Symbol_ ), 100, 100 ); -} - -Symbol * SYMBOLcreate( char * name, int line, char * filename ) { - Symbol * sym = SYMBOL_new(); - sym->name = name; - sym->line = line; - sym->filename = filename; /* NOTE this used the global 'current_filename', - * instead of 'filename'. This func is only - * called in two places, and both calls use - * 'current_filename'. Changed this to avoid - * potential future headaches. (MAP, Jan 12) - */ - return sym; } diff --git a/src/express/test/CMakeLists.txt b/src/express/test/CMakeLists.txt index 63907f3f7..413761fd3 100644 --- a/src/express/test/CMakeLists.txt +++ b/src/express/test/CMakeLists.txt @@ -1,5 +1,86 @@ include_directories(..) -sc_addexec( print_schemas "../fedex.c;print_schemas.c" "express;base" ) -sc_addexec( print_attrs "../fedex.c;print_attrs.c" "express;base" ) +if(SC_GENERATE_LP_SOURCES) + include_directories("${PERPLEX_ExpScanner_INCLUDE_DIR}" "${LEMON_ExpParser_INCLUDE_DIR}") +endif(SC_GENERATE_LP_SOURCES) + +set(EXPRESS_CORE_OBJ + # base + $ + $ + $ + $ + + # global tables + $ + $ + + # AST creation + $ + $ + $ + + # deprecated + $ + $ +) + +add_executable(test_expr driver.c test_expr.c $ ${EXPRESS_CORE_OBJ}) +add_test(NAME exp_resolve_select_enum_member COMMAND test_expr resolve_select_enum_member) +add_test(NAME exp_resolve_entity_attribute COMMAND test_expr resolve_entity_attribute) + +add_executable(test_express driver.c test_express.c $ ${EXPRESS_CORE_OBJ}) +add_test(NAME express_rename_resolve COMMAND test_express express_rename_resolve) + +add_executable(test_resolve driver.c test_resolve.c $ ${EXPRESS_CORE_OBJ}) + +add_test(NAME exp_resolve_bad_func_call COMMAND test_resolve exp_resolve_bad_func_call) +add_test(NAME exp_resolve_func_call COMMAND test_resolve exp_resolve_func_call) +add_test(NAME exp_resolve_local_identifier COMMAND test_resolve exp_resolve_local_identifier) +add_test(NAME entity_resolve_subtype_expr_entity COMMAND test_resolve entity_resolve_subtype_expr_entity) +add_test(NAME type_resolve_entity COMMAND test_resolve type_resolve_entity) +add_test(NAME stmt_resolve_pcall_proc COMMAND test_resolve stmt_resolve_pcall_proc) +add_test(NAME scope_resolve_named_types COMMAND test_resolve scope_resolve_named_types) +add_test(NAME entity_resolve_supertypes_entity COMMAND test_resolve entity_resolve_supertypes_entity) + +add_executable(test_resolve2 driver.c test_resolve2.c $ ${EXPRESS_CORE_OBJ}) +add_test(NAME scope_resolve_expr_stmt COMMAND test_resolve2 scope_resolve_expr_stmt) +add_test(NAME scope_resolve_subsupers COMMAND test_resolve2 scope_resolve_subsupers) + +add_executable(test_schema driver.c test_schema.c $ ${EXPRESS_CORE_OBJ}) +add_test(NAME schema_define_ref COMMAND test_schema schema_define_ref) +add_test(NAME schema_define_use COMMAND test_schema schema_define_use) +add_test(NAME schema_get_entities_ref COMMAND test_schema schema_get_entities_ref) +add_test(NAME var_find COMMAND test_schema var_find) + +add_executable(test_scope driver.c test_scope.c $ ${EXPRESS_CORE_OBJ}) +add_test(NAME scope_find COMMAND test_scope scope_find) + +add_executable(test_type driver.c test_type.c $ ${EXPRESS_CORE_OBJ}) +add_test(NAME type_create_user_defined_tag COMMAND test_type type_create_user_defined_tag) + +add_test(NAME build_check_express + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target check-express + --config $ + ) + +add_test(NAME test_plib_parse_err + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND $ "${CMAKE_CURRENT_SOURCE_DIR}/plib_parse_err.exp" + ) + +set_tests_properties( test_plib_parse_err PROPERTIES DEPENDS "build_check_express;$" ) +set_tests_properties( test_plib_parse_err build_check_express PROPERTIES LABELS parser ) + +sc_addexec(print_schemas SOURCES ../fedex.c print_schemas.c LINK_LIBRARIES express) +sc_addexec(print_attrs SOURCES ../fedex.c print_attrs.c LINK_LIBRARIES express) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 diff --git a/src/express/test/driver.c b/src/express/test/driver.c new file mode 100644 index 000000000..d3e5f4dc5 --- /dev/null +++ b/src/express/test/driver.c @@ -0,0 +1,49 @@ +#include +#include + +#include "driver.h" + +#include "express/memory.h" +#include "express/factory.h" + +extern struct test_def tests[]; + +int main(int argc, char *argv[]) { + int status; + + /* enable libexpress allocator */ + MEMORYinitialize(); + FACTORYinitialize(); + + argc--; + status = 0; + if (argc) { + int test_counter = argc; + + /* selected tests */ + for (int i=1; i <= argc; i++) { + for (unsigned int j=0; tests[j].name != NULL; j++) { + const char *test_name = tests[j].name; + int (*test_ptr) (void) = tests[j].testfunc; + + if (!strcmp(argv[i], test_name)) { + test_counter--; + setup(); + status |= test_ptr(); + } + } + } + + if (test_counter) + fprintf(stderr, "WARNING: some tests not found...\n"); + } else { + /* all tests */ + for (unsigned int j=0; tests[j].name != NULL; j++) { + int (*test_ptr) (void) = tests[j].testfunc; + setup(); + status |= test_ptr(); + } + } + + return status; +} diff --git a/src/express/test/driver.h b/src/express/test/driver.h new file mode 100644 index 000000000..0df5707cd --- /dev/null +++ b/src/express/test/driver.h @@ -0,0 +1,11 @@ +#ifndef __DRIVER_H_ +#define __DRIVER_H_ + +struct test_def { + const char *name; + int (*testfunc) (void); +}; + +void setup(); + +#endif /* __DRIVER_H_ */ diff --git a/src/express/test/fff.h b/src/express/test/fff.h new file mode 100644 index 000000000..ecd19da4f --- /dev/null +++ b/src/express/test/fff.h @@ -0,0 +1,6188 @@ +/* +git origin: https://github.com/meekrosoft/fff.git +git SHA: 8b5e44b872f65874427be645dfacd01cde31f358 + +LICENSE + +The MIT License (MIT) + +Copyright (c) 2010 Michael Long + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ +#ifndef FAKE_FUNCTIONS +#define FAKE_FUNCTIONS + +#include +#include /* For memset and memcpy */ + +#define FFF_MAX_ARGS (20u) +#ifndef FFF_ARG_HISTORY_LEN + #define FFF_ARG_HISTORY_LEN (50u) +#endif +#ifndef FFF_CALL_HISTORY_LEN + #define FFF_CALL_HISTORY_LEN (50u) +#endif +/* -- INTERNAL HELPER MACROS -- */ +#define SET_RETURN_SEQ(FUNCNAME, ARRAY_POINTER, ARRAY_LEN) \ + FUNCNAME##_fake.return_val_seq = ARRAY_POINTER; \ + FUNCNAME##_fake.return_val_seq_len = ARRAY_LEN; +#define SET_CUSTOM_FAKE_SEQ(FUNCNAME, ARRAY_POINTER, ARRAY_LEN) \ + FUNCNAME##_fake.custom_fake_seq = ARRAY_POINTER; \ + FUNCNAME##_fake.custom_fake_seq_len = ARRAY_LEN; + +/* Defining a function to reset a fake function */ +#define RESET_FAKE(FUNCNAME) { \ + FUNCNAME##_reset(); \ +} \ + + +#define DECLARE_ARG(type, n, FUNCNAME) \ + type arg##n##_val; \ + type arg##n##_history[FFF_ARG_HISTORY_LEN]; + +#define DECLARE_ALL_FUNC_COMMON \ + unsigned int call_count; \ + unsigned int arg_history_len; \ + unsigned int arg_histories_dropped; \ + +#define DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + RETURN_TYPE return_val_history[FFF_ARG_HISTORY_LEN]; + +#define SAVE_ARG(FUNCNAME, n) \ + memcpy((void*)&FUNCNAME##_fake.arg##n##_val, (void*)&arg##n, sizeof(arg##n)); + +#define ROOM_FOR_MORE_HISTORY(FUNCNAME) \ + FUNCNAME##_fake.call_count < FFF_ARG_HISTORY_LEN + +#define SAVE_RET_HISTORY(FUNCNAME, RETVAL) \ + if ((FUNCNAME##_fake.call_count - 1) < FFF_ARG_HISTORY_LEN) \ + memcpy((void *)&FUNCNAME##_fake.return_val_history[FUNCNAME##_fake.call_count - 1], (const void *) &RETVAL, sizeof(RETVAL)); \ + +#define SAVE_ARG_HISTORY(FUNCNAME, ARGN) \ + memcpy((void*)&FUNCNAME##_fake.arg##ARGN##_history[FUNCNAME##_fake.call_count], (void*)&arg##ARGN, sizeof(arg##ARGN)); + +#define HISTORY_DROPPED(FUNCNAME) \ + FUNCNAME##_fake.arg_histories_dropped++ + +#define DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + RETURN_TYPE return_val; \ + int return_val_seq_len; \ + int return_val_seq_idx; \ + RETURN_TYPE * return_val_seq; \ + +#define DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + int custom_fake_seq_len; \ + int custom_fake_seq_idx; \ + +#define INCREMENT_CALL_COUNT(FUNCNAME) \ + FUNCNAME##_fake.call_count++ + +#define RETURN_FAKE_RESULT(FUNCNAME) \ + if (FUNCNAME##_fake.return_val_seq_len){ /* then its a sequence */ \ + if(FUNCNAME##_fake.return_val_seq_idx < FUNCNAME##_fake.return_val_seq_len) { \ + SAVE_RET_HISTORY(FUNCNAME, FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_idx]) \ + return FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_idx++]; \ + } \ + SAVE_RET_HISTORY(FUNCNAME, FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_len-1]) \ + return FUNCNAME##_fake.return_val_seq[FUNCNAME##_fake.return_val_seq_len-1]; /* return last element */ \ + } \ + SAVE_RET_HISTORY(FUNCNAME, FUNCNAME##_fake.return_val) \ + return FUNCNAME##_fake.return_val; \ + +#ifdef __cplusplus + #define FFF_EXTERN_C extern "C"{ + #define FFF_END_EXTERN_C } +#else /* ansi c */ + #define FFF_EXTERN_C + #define FFF_END_EXTERN_C +#endif /* cpp/ansi c */ + +#define DEFINE_RESET_FUNCTION(FUNCNAME) \ + void FUNCNAME##_reset(void){ \ + memset(&FUNCNAME##_fake, 0, sizeof(FUNCNAME##_fake)); \ + FUNCNAME##_fake.arg_history_len = FFF_ARG_HISTORY_LEN; \ + } +/* -- END INTERNAL HELPER MACROS -- */ + +typedef void (*fff_function_t)(void); +typedef struct { + fff_function_t call_history[FFF_CALL_HISTORY_LEN]; + unsigned int call_history_idx; +} fff_globals_t; + +FFF_EXTERN_C \ +extern fff_globals_t fff; +FFF_END_EXTERN_C \ + +#define DEFINE_FFF_GLOBALS \ + FFF_EXTERN_C \ + fff_globals_t fff; \ + FFF_END_EXTERN_C + +#define FFF_RESET_HISTORY() fff.call_history_idx = 0; + +#define REGISTER_CALL(function) \ + if(fff.call_history_idx < FFF_CALL_HISTORY_LEN) \ + fff.call_history[fff.call_history_idx++] = (fff_function_t)function; + +#define DECLARE_FAKE_VOID_FUNC0(FUNCNAME) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(void); \ + void(**custom_fake_seq)(void); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(void); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC0(FUNCNAME) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(void){ \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC0(FUNCNAME) \ + DECLARE_FAKE_VOID_FUNC0(FUNCNAME) \ + DEFINE_FAKE_VOID_FUNC0(FUNCNAME) \ + + +#define DECLARE_FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0); \ + void(**custom_fake_seq)(ARG0_TYPE arg0); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0){ \ + SAVE_ARG(FUNCNAME, 0); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ + DECLARE_FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ + DEFINE_FAKE_VOID_FUNC1(FUNCNAME, ARG0_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ + DECLARE_FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ + DEFINE_FAKE_VOID_FUNC2(FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ + DECLARE_FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ + DEFINE_FAKE_VOID_FUNC3(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ + DECLARE_FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ + DEFINE_FAKE_VOID_FUNC4(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ + DECLARE_FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ + DEFINE_FAKE_VOID_FUNC5(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ + DECLARE_FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ + DEFINE_FAKE_VOID_FUNC6(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ + DECLARE_FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ + DEFINE_FAKE_VOID_FUNC7(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ + DECLARE_FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ + DEFINE_FAKE_VOID_FUNC8(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ + DECLARE_FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ + DEFINE_FAKE_VOID_FUNC9(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ + DECLARE_FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ + DEFINE_FAKE_VOID_FUNC10(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ + DECLARE_FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ + DEFINE_FAKE_VOID_FUNC11(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ + DECLARE_FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ + DEFINE_FAKE_VOID_FUNC12(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ + DECLARE_FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ + DEFINE_FAKE_VOID_FUNC13(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ + DECLARE_FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ + DEFINE_FAKE_VOID_FUNC14(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ + DECLARE_FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ + DEFINE_FAKE_VOID_FUNC15(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ + DECLARE_FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ + DEFINE_FAKE_VOID_FUNC16(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ + DECLARE_FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ + DEFINE_FAKE_VOID_FUNC17(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + SAVE_ARG(FUNCNAME, 17); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + SAVE_ARG_HISTORY(FUNCNAME, 17); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ + DECLARE_FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ + DEFINE_FAKE_VOID_FUNC18(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \ + DECLARE_ARG(ARG18_TYPE, 18, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + SAVE_ARG(FUNCNAME, 17); \ + SAVE_ARG(FUNCNAME, 18); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + SAVE_ARG_HISTORY(FUNCNAME, 17); \ + SAVE_ARG_HISTORY(FUNCNAME, 18); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ + DECLARE_FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ + DEFINE_FAKE_VOID_FUNC19(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \ + DECLARE_ARG(ARG18_TYPE, 18, FUNCNAME) \ + DECLARE_ARG(ARG19_TYPE, 19, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + SAVE_ARG(FUNCNAME, 17); \ + SAVE_ARG(FUNCNAME, 18); \ + SAVE_ARG(FUNCNAME, 19); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + SAVE_ARG_HISTORY(FUNCNAME, 17); \ + SAVE_ARG_HISTORY(FUNCNAME, 18); \ + SAVE_ARG_HISTORY(FUNCNAME, 19); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \ + } \ + else{ \ + FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ + DECLARE_FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ + DEFINE_FAKE_VOID_FUNC20(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(void); \ + RETURN_TYPE(**custom_fake_seq)(void); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(void); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(void){ \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \ + DECLARE_FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \ + DEFINE_FAKE_VALUE_FUNC0(RETURN_TYPE, FUNCNAME) \ + + +#define DECLARE_FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0){ \ + SAVE_ARG(FUNCNAME, 0); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ + DECLARE_FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ + DEFINE_FAKE_VALUE_FUNC1(RETURN_TYPE, FUNCNAME, ARG0_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ + DECLARE_FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ + DEFINE_FAKE_VALUE_FUNC2(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ + DECLARE_FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ + DEFINE_FAKE_VALUE_FUNC3(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ + DECLARE_FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ + DEFINE_FAKE_VALUE_FUNC4(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ + DECLARE_FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ + DEFINE_FAKE_VALUE_FUNC5(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ + DECLARE_FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ + DEFINE_FAKE_VALUE_FUNC6(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ + DECLARE_FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ + DEFINE_FAKE_VALUE_FUNC7(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ + DECLARE_FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ + DEFINE_FAKE_VALUE_FUNC8(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ + DECLARE_FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ + DEFINE_FAKE_VALUE_FUNC9(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ + DECLARE_FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ + DEFINE_FAKE_VALUE_FUNC10(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ + DECLARE_FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ + DEFINE_FAKE_VALUE_FUNC11(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ + DECLARE_FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ + DEFINE_FAKE_VALUE_FUNC12(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ + DECLARE_FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ + DEFINE_FAKE_VALUE_FUNC13(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ + DECLARE_FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ + DEFINE_FAKE_VALUE_FUNC14(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ + DECLARE_FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ + DEFINE_FAKE_VALUE_FUNC15(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ + DECLARE_FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ + DEFINE_FAKE_VALUE_FUNC16(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ + DECLARE_FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ + DEFINE_FAKE_VALUE_FUNC17(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + SAVE_ARG(FUNCNAME, 17); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + SAVE_ARG_HISTORY(FUNCNAME, 17); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ + DECLARE_FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ + DEFINE_FAKE_VALUE_FUNC18(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \ + DECLARE_ARG(ARG18_TYPE, 18, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + SAVE_ARG(FUNCNAME, 17); \ + SAVE_ARG(FUNCNAME, 18); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + SAVE_ARG_HISTORY(FUNCNAME, 17); \ + SAVE_ARG_HISTORY(FUNCNAME, 18); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ + DECLARE_FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ + DEFINE_FAKE_VALUE_FUNC19(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE) \ + + +#define DECLARE_FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \ + DECLARE_ARG(ARG18_TYPE, 18, FUNCNAME) \ + DECLARE_ARG(ARG19_TYPE, 19, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ARG19_TYPE arg19){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + SAVE_ARG(FUNCNAME, 17); \ + SAVE_ARG(FUNCNAME, 18); \ + SAVE_ARG(FUNCNAME, 19); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + SAVE_ARG_HISTORY(FUNCNAME, 17); \ + SAVE_ARG_HISTORY(FUNCNAME, 18); \ + SAVE_ARG_HISTORY(FUNCNAME, 19); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if (FUNCNAME##_fake.custom_fake_seq_len){ /* a sequence of custom fakes */ \ + if (FUNCNAME##_fake.custom_fake_seq_idx < FUNCNAME##_fake.custom_fake_seq_len){ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_idx++](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + else{ \ + RETURN_TYPE ret = FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + return FUNCNAME##_fake.custom_fake_seq[FUNCNAME##_fake.custom_fake_seq_len-1](arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \ + } \ + } \ + if (FUNCNAME##_fake.custom_fake) return FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19); \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ + DECLARE_FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ + DEFINE_FAKE_VALUE_FUNC20(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ARG19_TYPE) \ + + +#define DECLARE_FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg0); \ + FUNCNAME##_fake.custom_fake(arg0, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC2_VARARG(FUNCNAME, ARG0_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg1); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC3_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg2); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC4_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg3); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC5_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg4); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC6_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg5); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC7_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg6); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC8_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg7); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC9_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg8); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC10_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg9); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC11_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg10); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC12_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg11); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC13_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg12); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC14_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg13); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC15_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg14); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC16_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg15); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC17_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg16); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC18_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + SAVE_ARG(FUNCNAME, 17); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + SAVE_ARG_HISTORY(FUNCNAME, 17); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg17); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC19_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ + + +#define DECLARE_FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \ + DECLARE_ARG(ARG18_TYPE, 18, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + void(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, va_list ap); \ + void(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + SAVE_ARG(FUNCNAME, 17); \ + SAVE_ARG(FUNCNAME, 18); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + SAVE_ARG_HISTORY(FUNCNAME, 17); \ + SAVE_ARG_HISTORY(FUNCNAME, 18); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + va_list ap; \ + va_start(ap, arg18); \ + FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, ap); \ + va_end(ap); \ + } \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ + DECLARE_FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ + DEFINE_FAKE_VOID_FUNC20_VARARG(FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg0); \ + ret = FUNCNAME##_fake.custom_fake(arg0, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC2_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg1); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC3_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg2); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC4_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg3); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC5_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg4); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC6_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg5); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC7_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg6); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC8_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg7); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC9_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg8); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC10_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg9); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC11_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg10); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC12_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg11); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC13_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg12); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC14_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg13); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC15_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg14); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC16_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg15); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC17_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg16); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC18_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + SAVE_ARG(FUNCNAME, 17); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + SAVE_ARG_HISTORY(FUNCNAME, 17); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg17); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC19_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ...) \ + + +#define DECLARE_FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ + FFF_EXTERN_C \ + typedef struct FUNCNAME##_Fake { \ + DECLARE_ARG(ARG0_TYPE, 0, FUNCNAME) \ + DECLARE_ARG(ARG1_TYPE, 1, FUNCNAME) \ + DECLARE_ARG(ARG2_TYPE, 2, FUNCNAME) \ + DECLARE_ARG(ARG3_TYPE, 3, FUNCNAME) \ + DECLARE_ARG(ARG4_TYPE, 4, FUNCNAME) \ + DECLARE_ARG(ARG5_TYPE, 5, FUNCNAME) \ + DECLARE_ARG(ARG6_TYPE, 6, FUNCNAME) \ + DECLARE_ARG(ARG7_TYPE, 7, FUNCNAME) \ + DECLARE_ARG(ARG8_TYPE, 8, FUNCNAME) \ + DECLARE_ARG(ARG9_TYPE, 9, FUNCNAME) \ + DECLARE_ARG(ARG10_TYPE, 10, FUNCNAME) \ + DECLARE_ARG(ARG11_TYPE, 11, FUNCNAME) \ + DECLARE_ARG(ARG12_TYPE, 12, FUNCNAME) \ + DECLARE_ARG(ARG13_TYPE, 13, FUNCNAME) \ + DECLARE_ARG(ARG14_TYPE, 14, FUNCNAME) \ + DECLARE_ARG(ARG15_TYPE, 15, FUNCNAME) \ + DECLARE_ARG(ARG16_TYPE, 16, FUNCNAME) \ + DECLARE_ARG(ARG17_TYPE, 17, FUNCNAME) \ + DECLARE_ARG(ARG18_TYPE, 18, FUNCNAME) \ + DECLARE_ALL_FUNC_COMMON \ + DECLARE_VALUE_FUNCTION_VARIABLES(RETURN_TYPE) \ + DECLARE_RETURN_VALUE_HISTORY(RETURN_TYPE) \ + DECLARE_CUSTOM_FAKE_SEQ_VARIABLES \ + RETURN_TYPE(*custom_fake)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, va_list ap); \ + RETURN_TYPE(**custom_fake_seq)(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, va_list ap); \ + } FUNCNAME##_Fake; \ + extern FUNCNAME##_Fake FUNCNAME##_fake; \ + void FUNCNAME##_reset(void); \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ...); \ + FFF_END_EXTERN_C \ + +#define DEFINE_FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ + FFF_EXTERN_C \ + FUNCNAME##_Fake FUNCNAME##_fake; \ + RETURN_TYPE FUNCNAME(ARG0_TYPE arg0, ARG1_TYPE arg1, ARG2_TYPE arg2, ARG3_TYPE arg3, ARG4_TYPE arg4, ARG5_TYPE arg5, ARG6_TYPE arg6, ARG7_TYPE arg7, ARG8_TYPE arg8, ARG9_TYPE arg9, ARG10_TYPE arg10, ARG11_TYPE arg11, ARG12_TYPE arg12, ARG13_TYPE arg13, ARG14_TYPE arg14, ARG15_TYPE arg15, ARG16_TYPE arg16, ARG17_TYPE arg17, ARG18_TYPE arg18, ...){ \ + SAVE_ARG(FUNCNAME, 0); \ + SAVE_ARG(FUNCNAME, 1); \ + SAVE_ARG(FUNCNAME, 2); \ + SAVE_ARG(FUNCNAME, 3); \ + SAVE_ARG(FUNCNAME, 4); \ + SAVE_ARG(FUNCNAME, 5); \ + SAVE_ARG(FUNCNAME, 6); \ + SAVE_ARG(FUNCNAME, 7); \ + SAVE_ARG(FUNCNAME, 8); \ + SAVE_ARG(FUNCNAME, 9); \ + SAVE_ARG(FUNCNAME, 10); \ + SAVE_ARG(FUNCNAME, 11); \ + SAVE_ARG(FUNCNAME, 12); \ + SAVE_ARG(FUNCNAME, 13); \ + SAVE_ARG(FUNCNAME, 14); \ + SAVE_ARG(FUNCNAME, 15); \ + SAVE_ARG(FUNCNAME, 16); \ + SAVE_ARG(FUNCNAME, 17); \ + SAVE_ARG(FUNCNAME, 18); \ + if(ROOM_FOR_MORE_HISTORY(FUNCNAME)){ \ + SAVE_ARG_HISTORY(FUNCNAME, 0); \ + SAVE_ARG_HISTORY(FUNCNAME, 1); \ + SAVE_ARG_HISTORY(FUNCNAME, 2); \ + SAVE_ARG_HISTORY(FUNCNAME, 3); \ + SAVE_ARG_HISTORY(FUNCNAME, 4); \ + SAVE_ARG_HISTORY(FUNCNAME, 5); \ + SAVE_ARG_HISTORY(FUNCNAME, 6); \ + SAVE_ARG_HISTORY(FUNCNAME, 7); \ + SAVE_ARG_HISTORY(FUNCNAME, 8); \ + SAVE_ARG_HISTORY(FUNCNAME, 9); \ + SAVE_ARG_HISTORY(FUNCNAME, 10); \ + SAVE_ARG_HISTORY(FUNCNAME, 11); \ + SAVE_ARG_HISTORY(FUNCNAME, 12); \ + SAVE_ARG_HISTORY(FUNCNAME, 13); \ + SAVE_ARG_HISTORY(FUNCNAME, 14); \ + SAVE_ARG_HISTORY(FUNCNAME, 15); \ + SAVE_ARG_HISTORY(FUNCNAME, 16); \ + SAVE_ARG_HISTORY(FUNCNAME, 17); \ + SAVE_ARG_HISTORY(FUNCNAME, 18); \ + } \ + else{ \ + HISTORY_DROPPED(FUNCNAME); \ + } \ + INCREMENT_CALL_COUNT(FUNCNAME); \ + REGISTER_CALL(FUNCNAME); \ + if(FUNCNAME##_fake.custom_fake){ \ + RETURN_TYPE ret; \ + va_list ap; \ + va_start(ap, arg18); \ + ret = FUNCNAME##_fake.custom_fake(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, ap); \ + va_end(ap); \ + SAVE_RET_HISTORY(FUNCNAME, ret); \ + return ret; \ + } \ + RETURN_FAKE_RESULT(FUNCNAME) \ + } \ + DEFINE_RESET_FUNCTION(FUNCNAME) \ + FFF_END_EXTERN_C \ + +#define FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ + DECLARE_FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ + DEFINE_FAKE_VALUE_FUNC20_VARARG(RETURN_TYPE, FUNCNAME, ARG0_TYPE, ARG1_TYPE, ARG2_TYPE, ARG3_TYPE, ARG4_TYPE, ARG5_TYPE, ARG6_TYPE, ARG7_TYPE, ARG8_TYPE, ARG9_TYPE, ARG10_TYPE, ARG11_TYPE, ARG12_TYPE, ARG13_TYPE, ARG14_TYPE, ARG15_TYPE, ARG16_TYPE, ARG17_TYPE, ARG18_TYPE, ...) \ + +/* MSVC expand macro fix */ +#define EXPAND(x) x + +#define PP_NARG_MINUS2(...) EXPAND(PP_NARG_MINUS2_(__VA_ARGS__, PP_RSEQ_N_MINUS2())) + +#define PP_NARG_MINUS2_(...) EXPAND(PP_ARG_MINUS2_N(__VA_ARGS__)) + +#define PP_ARG_MINUS2_N(returnVal, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, N, ...) N + +#define PP_RSEQ_N_MINUS2() 20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 + + +#define PP_NARG_MINUS1(...) EXPAND(PP_NARG_MINUS1_(__VA_ARGS__, PP_RSEQ_N_MINUS1())) + +#define PP_NARG_MINUS1_(...) EXPAND(PP_ARG_MINUS1_N(__VA_ARGS__)) + +#define PP_ARG_MINUS1_N(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, N, ...) N + +#define PP_RSEQ_N_MINUS1() 20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 + + + +/* DECLARE AND DEFINE FAKE FUNCTIONS - PLACE IN TEST FILES */ + +#define FAKE_VALUE_FUNC(...) EXPAND(FUNC_VALUE_(PP_NARG_MINUS2(__VA_ARGS__), __VA_ARGS__)) + +#define FUNC_VALUE_(N,...) EXPAND(FUNC_VALUE_N(N,__VA_ARGS__)) + +#define FUNC_VALUE_N(N,...) EXPAND(FAKE_VALUE_FUNC ## N(__VA_ARGS__)) + + +#define FAKE_VOID_FUNC(...) EXPAND(FUNC_VOID_(PP_NARG_MINUS1(__VA_ARGS__), __VA_ARGS__)) + +#define FUNC_VOID_(N,...) EXPAND(FUNC_VOID_N(N,__VA_ARGS__)) + +#define FUNC_VOID_N(N,...) EXPAND(FAKE_VOID_FUNC ## N(__VA_ARGS__)) + + +#define FAKE_VALUE_FUNC_VARARG(...) EXPAND(FUNC_VALUE_VARARG_(PP_NARG_MINUS2(__VA_ARGS__), __VA_ARGS__)) + +#define FUNC_VALUE_VARARG_(N,...) EXPAND(FUNC_VALUE_VARARG_N(N,__VA_ARGS__)) + +#define FUNC_VALUE_VARARG_N(N,...) EXPAND(FAKE_VALUE_FUNC ## N ## _VARARG(__VA_ARGS__)) + + +#define FAKE_VOID_FUNC_VARARG(...) EXPAND(FUNC_VOID_VARARG_(PP_NARG_MINUS1(__VA_ARGS__), __VA_ARGS__)) + +#define FUNC_VOID_VARARG_(N,...) EXPAND(FUNC_VOID_VARARG_N(N,__VA_ARGS__)) + +#define FUNC_VOID_VARARG_N(N,...) EXPAND(FAKE_VOID_FUNC ## N ## _VARARG(__VA_ARGS__)) + + + +/* DECLARE FAKE FUNCTIONS - PLACE IN HEADER FILES */ + +#define DECLARE_FAKE_VALUE_FUNC(...) EXPAND(DECLARE_FUNC_VALUE_(PP_NARG_MINUS2(__VA_ARGS__), __VA_ARGS__)) + +#define DECLARE_FUNC_VALUE_(N,...) EXPAND(DECLARE_FUNC_VALUE_N(N,__VA_ARGS__)) + +#define DECLARE_FUNC_VALUE_N(N,...) EXPAND(DECLARE_FAKE_VALUE_FUNC ## N(__VA_ARGS__)) + + +#define DECLARE_FAKE_VOID_FUNC(...) EXPAND(DECLARE_FUNC_VOID_(PP_NARG_MINUS1(__VA_ARGS__), __VA_ARGS__)) + +#define DECLARE_FUNC_VOID_(N,...) EXPAND(DECLARE_FUNC_VOID_N(N,__VA_ARGS__)) + +#define DECLARE_FUNC_VOID_N(N,...) EXPAND(DECLARE_FAKE_VOID_FUNC ## N(__VA_ARGS__)) + + +#define DECLARE_FAKE_VALUE_FUNC_VARARG(...) EXPAND(DECLARE_FUNC_VALUE_VARARG_(PP_NARG_MINUS2(__VA_ARGS__), __VA_ARGS__)) + +#define DECLARE_FUNC_VALUE_VARARG_(N,...) EXPAND(DECLARE_FUNC_VALUE_VARARG_N(N,__VA_ARGS__)) + +#define DECLARE_FUNC_VALUE_VARARG_N(N,...) EXPAND(DECLARE_FAKE_VALUE_FUNC ## N ## _VARARG(__VA_ARGS__)) + + +#define DECLARE_FAKE_VOID_FUNC_VARARG(...) EXPAND(DECLARE_FUNC_VOID_VARARG_(PP_NARG_MINUS1(__VA_ARGS__), __VA_ARGS__)) + +#define DECLARE_FUNC_VOID_VARARG_(N,...) EXPAND(DECLARE_FUNC_VOID_VARARG_N(N,__VA_ARGS__)) + +#define DECLARE_FUNC_VOID_VARARG_N(N,...) EXPAND(DECLARE_FAKE_VOID_FUNC ## N ## _VARARG(__VA_ARGS__)) + + + +/* DEFINE FAKE FUNCTIONS - PLACE IN SOURCE FILES */ + +#define DEFINE_FAKE_VALUE_FUNC(...) EXPAND(DEFINE_FUNC_VALUE_(PP_NARG_MINUS2(__VA_ARGS__), __VA_ARGS__)) + +#define DEFINE_FUNC_VALUE_(N,...) EXPAND(DEFINE_FUNC_VALUE_N(N,__VA_ARGS__)) + +#define DEFINE_FUNC_VALUE_N(N,...) EXPAND(DEFINE_FAKE_VALUE_FUNC ## N(__VA_ARGS__)) + + +#define DEFINE_FAKE_VOID_FUNC(...) EXPAND(DEFINE_FUNC_VOID_(PP_NARG_MINUS1(__VA_ARGS__), __VA_ARGS__)) + +#define DEFINE_FUNC_VOID_(N,...) EXPAND(DEFINE_FUNC_VOID_N(N,__VA_ARGS__)) + +#define DEFINE_FUNC_VOID_N(N,...) EXPAND(DEFINE_FAKE_VOID_FUNC ## N(__VA_ARGS__)) + + +#define DEFINE_FAKE_VALUE_FUNC_VARARG(...) EXPAND(DEFINE_FUNC_VALUE_VARARG_(PP_NARG_MINUS2(__VA_ARGS__), __VA_ARGS__)) + +#define DEFINE_FUNC_VALUE_VARARG_(N,...) EXPAND(DEFINE_FUNC_VALUE_VARARG_N(N,__VA_ARGS__)) + +#define DEFINE_FUNC_VALUE_VARARG_N(N,...) EXPAND(DEFINE_FAKE_VALUE_FUNC ## N ## _VARARG(__VA_ARGS__)) + + +#define DEFINE_FAKE_VOID_FUNC_VARARG(...) EXPAND(DEFINE_FUNC_VOID_VARARG_(PP_NARG_MINUS1(__VA_ARGS__), __VA_ARGS__)) + +#define DEFINE_FUNC_VOID_VARARG_(N,...) EXPAND(DEFINE_FUNC_VOID_VARARG_N(N,__VA_ARGS__)) + +#define DEFINE_FUNC_VOID_VARARG_N(N,...) EXPAND(DEFINE_FAKE_VOID_FUNC ## N ## _VARARG(__VA_ARGS__)) + + + + +#endif /* FAKE_FUNCTIONS */ diff --git a/src/express/test/plib_parse_err.exp b/src/express/test/plib_parse_err.exp new file mode 100644 index 000000000..877a6e163 --- /dev/null +++ b/src/express/test/plib_parse_err.exp @@ -0,0 +1,26 @@ +SCHEMA cant_resolve; + +(* derived from LongForm25IsoIec, a schema in PLIB Part 25 *) + +-- has trouble with in_parameters in this fn +FUNCTION correct_parameters_for_explicit_program(its_value: controlled_entity_instance_value ) : BOOLEAN; + IF (QUERY(in_p <* its_value.in_parameters | NOT ('NO.VALUE' IN TYPEOF(in_p))) = []) THEN + RETURN (TRUE); + END_IF; +END_FUNCTION; + +-- substituting plib_entity_instance_value for this in the fn makes the problem go away +TYPE controlled_entity_instance_value = SELECT (plib_entity_instance_value); END_TYPE; + +-- no error without representation_reference here +TYPE plib_entity_instance_value = SELECT (program_reference, representation_reference); END_TYPE; + +ENTITY class_extension_external_item; END_ENTITY; + +ENTITY representation_reference SUBTYPE OF (class_extension_external_item); END_ENTITY; + +ENTITY program_reference SUBTYPE OF (class_extension_external_item); + in_parameters : LIST OF string; +END_ENTITY; + +END_SCHEMA; diff --git a/src/express/test/print_attrs.c b/src/express/test/print_attrs.c index f9a25c644..6729a70ce 100644 --- a/src/express/test/print_attrs.c +++ b/src/express/test/print_attrs.c @@ -1,13 +1,23 @@ -/* derived from symlink.c */ -/* prints names of attrs for an entity defined in an EXPRESS file */ -/* symlink.c author: Don Libes, NIST, 20-Mar-1993 */ +/* + * derived from symlink.c, written by Don Libes, NIST, 20-Mar-1993 + * + * print_attrs: late-bound implementation of an attribute printer + * attrs are ordered as they would be in a p21 file + * print_attrs -a + */ +#include "config.h" #include -#include +#ifdef HAVE_SYS_PARAM_H +# include +#endif #include #include -#include -#include "express/express.h" +#ifdef HAVE_UNISTD_H +# include +#endif +#include +#include #include #include #include "ordered_attrs.h" @@ -15,14 +25,14 @@ char * entityName, _buf[512] = { 0 }; -///print usage info specific to print_attrs -void my_usage() { +/** prints usage info specific to print_attrs */ +void my_usage(void) { EXPRESSusage( 0 ); printf( " ----\n\t-a : print attrs for \n" ); exit( 2 ); } -///prints info about one attr +/** prints info about one attr */ void describeAttr( const orderedAttr * oa ) { const char * visible_p21 = " Y ", * hidden_p21 = " N ", * explicit_derived = " * "; const char * visibility, * descrip1="", * descrip2="", * descrip3=0; @@ -64,16 +74,16 @@ void find_and_print( Express model ) { Schema s; Entity e; DICTdo_init( model->symbol_table, &de ); - while( 0 != ( s = DICTdo( &de ) ) ) { + while( 0 != ( s = (Schema) DICTdo( &de ) ) ) { printf( "Schema %s\n", s->symbol.name ); - e = DICTlookup( s->symbol_table, entityName ); + e = (Entity) DICTlookup( s->symbol_table, entityName ); if( e ) { print_attrs( e ); } } } -///reads arg setting entity name +/** reads arg setting entity name */ int attr_arg( int i, char * arg ) { const char * src = arg; int count = 0; @@ -91,13 +101,15 @@ int attr_arg( int i, char * arg ) { entityName = 0; } } else if( !entityName ) { - //if libexpress comes across an unrecognized arg that isn't '-a' and if the entityName isn't set - return 1; // print usage and exit + /* if libexpress comes across an unrecognized arg that isn't '-a', + * and if the entityName isn't set, print usage and exit + */ + return 1; } return 0; } -///set the functions to be called by main() in libexpress +/** set the functions to be called by main() in libexpress */ void EXPRESSinit_init() { entityName = 0; EXPRESSbackend = find_and_print; diff --git a/src/express/test/print_schemas.c b/src/express/test/print_schemas.c index ee4a58b57..b0cba2f71 100644 --- a/src/express/test/print_schemas.c +++ b/src/express/test/print_schemas.c @@ -2,11 +2,16 @@ /* prints names of schemas used in an EXPRESS file */ /* symlink.c author: Don Libes, NIST, 20-Mar-1993 */ +#include "config.h" #include -#include +#ifdef HAVE_SYS_PARAM_H +# include +#endif #include #include -#include +#ifdef HAVE_UNISTD_H +# include +#endif #include "express/express.h" void @@ -17,7 +22,7 @@ print_schemas( Express model ) { printf( "File: %s\n ", model->u.express->filename ); DICTdo_init( model->symbol_table, &de ); - while( 0 != ( s = DICTdo( &de ) ) ) { + while( 0 != ( s = (Schema) DICTdo( &de ) ) ) { printf( "%s", s->symbol.name ); } printf( "\n" ); diff --git a/src/express/test/test_expr.c b/src/express/test/test_expr.c new file mode 100644 index 000000000..72c4d3e14 --- /dev/null +++ b/src/express/test/test_expr.c @@ -0,0 +1,195 @@ +#include + +#include "express/expr.h" + +/* core */ +#include "express/hash.h" +#include "express/linklist.h" + +/* non-core */ +#include "express/dict.h" +#include "express/variable.h" + +#include "driver.h" +#include "fff.h" + +/* + * mock globals + */ + +char * EXPRESSprogram_name; +int yylineno; +int __SCOPE_search_id; + +Error ERROR_warn_unsupported_lang_feat; +Error WARNING_case_skip_label; +Error ERROR_undefined_attribute; + +/* + * mock functions + */ + +DEFINE_FFF_GLOBALS + +FAKE_VALUE_FUNC(int, EXPRESS_fail, Express) +FAKE_VALUE_FUNC(Variable, ENTITYfind_inherited_attribute, struct Scope_ *, char *, struct Symbol_ **) +FAKE_VALUE_FUNC(Variable, ENTITYresolve_attr_ref, Entity, Symbol *, Symbol *) +FAKE_VALUE_FUNC(struct Scope_ *, ENTITYfind_inherited_entity, struct Scope_ *, char *, int) +FAKE_VOID_FUNC(EXP_resolve, Expression, Scope, Type) + +void setup() { + EXPinitialize(); + + RESET_FAKE(EXPRESS_fail); + RESET_FAKE(ENTITYfind_inherited_attribute); + RESET_FAKE(ENTITYresolve_attr_ref); + RESET_FAKE(ENTITYfind_inherited_entity); + RESET_FAKE(EXP_resolve); +} + +/* TODO: remove DICTlookup after eliminating DICT_type */ +void EXP_resolve_type_handler(Expression exp, Scope cxt, Type typ) { + (void) typ; + Type res_typ = DICTlookup(cxt->symbol_table, exp->symbol.name); + exp->type = res_typ; + exp->return_type = res_typ; + exp->symbol.resolved = RESOLVED; +} + +int test_resolve_select_enum_member() { + Schema scope; + Symbol *e_type_id, *enum_id, *s_type_id; + Type enum_typ, select_typ, chk_typ; + TypeBody tb; + Expression expr, op1, op2, exp_enum_id; + + /* + * boilerplate: create objects, populate symbol tables + */ + scope = SCHEMAcreate(); + + s_type_id = SYMBOLcreate("sel1", 1, "test1"); + e_type_id = SYMBOLcreate("enum1", 1, "test1"); + enum_id = SYMBOLcreate("val1", 1, "test1"); + + enum_typ = TYPEcreate_name(e_type_id); + enum_typ->symbol_table = DICTcreate(50); + + exp_enum_id = EXPcreate(enum_typ); + exp_enum_id->symbol = *enum_id; + exp_enum_id->u.integer = 1; + + tb = TYPEBODYcreate(enumeration_); + tb->list = LISTcreate(); + LISTadd_last(tb->list, enum_id); + enum_typ->u.type->body = tb; + + DICT_define(scope->symbol_table, e_type_id->name, enum_typ, &enum_typ->symbol, OBJ_TYPE); + + /* TODO: OBJ_ENUM / OBJ_EXPRESSION are used interchangeably, this is confusing. */ + DICT_define(scope->enum_table, exp_enum_id->symbol.name, exp_enum_id, &exp_enum_id->symbol, OBJ_EXPRESSION); + DICT_define(enum_typ->symbol_table, enum_id->name, exp_enum_id, enum_id, OBJ_EXPRESSION); + + select_typ = TYPEcreate_name(s_type_id); + tb = TYPEBODYcreate(select_); + tb->list = LISTcreate(); + LISTadd_last(tb->list, enum_typ); + select_typ->u.type->body = tb; + DICT_define(scope->symbol_table, s_type_id->name, select_typ, &select_typ->symbol, OBJ_TYPE); + + op1 = EXPcreate_from_symbol(Type_Identifier, s_type_id); + op2 = EXPcreate_from_symbol(Type_Identifier, enum_id); + expr = BIN_EXPcreate(OP_DOT, op1, op2); + + /* + * test: sel_ref '.' enum_id + * expectation: enum_typ + */ + EXP_resolve_fake.custom_fake = EXP_resolve_type_handler; + + chk_typ = EXPresolve_op_dot(expr, scope); + + assert(EXP_resolve_fake.call_count == 1); + assert(expr->e.op1->type == select_typ); + assert(chk_typ == enum_typ); + + /* in case of error SIGABRT will be raised (and non-zero returned) */ + + return 0; +} + +/* TODO: remove DICTlookup after eliminating DICT_type */ +void EXP_resolve_entity_handler(Expression exp, Scope cxt, Type unused) { + (void) unused; + Entity ent = DICTlookup(cxt->symbol_table, exp->symbol.name); + Type typ = ent->u.entity->type; + exp->type = typ; + exp->return_type = typ; + exp->symbol.resolved = RESOLVED; +} + +Variable ENTITY_resolve_attr_handler(Entity ent, Symbol *grp_ref, Symbol *attr_ref) { + (void) grp_ref; + Variable v = DICTlookup(ent->symbol_table, attr_ref->name); + return v; +} + +int test_resolve_entity_attribute() { + Schema scope; + Symbol *e_type_id, *attr_id; + Entity ent; + Type attr_typ, chk_typ; + TypeBody tb; + Expression exp_attr, expr, op1, op2; + Variable var_attr; + Linked_List explicit_attr_list; + + /* + * boilerplate: create objects, populate symbol tables + */ + scope = SCHEMAcreate(); + + e_type_id = SYMBOLcreate("entity1", 1, "test2"); + ent = ENTITYcreate(e_type_id); + DICT_define(scope->symbol_table, e_type_id->name, ent, &ent->symbol, OBJ_ENTITY); + + attr_id = SYMBOLcreate("attr1", 1, "test2"); + exp_attr = EXPcreate_from_symbol(Type_Attribute, attr_id); + tb = TYPEBODYcreate(number_); + attr_typ = TYPEcreate_from_body_anonymously(tb); + attr_typ->superscope = ent; + var_attr = VARcreate(exp_attr, attr_typ); + var_attr->flags.attribute = 1; + explicit_attr_list = LISTcreate(); + LISTadd_last(explicit_attr_list, var_attr); + + LISTadd_last(ent->u.entity->attributes, explicit_attr_list); + DICTdefine(ent->symbol_table, attr_id->name, var_attr, &var_attr->name->symbol, OBJ_VARIABLE); + + op1 = EXPcreate_from_symbol(Type_Identifier, e_type_id); + op2 = EXPcreate_from_symbol(Type_Attribute, attr_id); + expr = BIN_EXPcreate(OP_DOT, op1, op2); + + /* + * test: entity_ref '.' attribute_id + * expectation: attr_typ + */ + EXP_resolve_fake.custom_fake = EXP_resolve_entity_handler; + ENTITYresolve_attr_ref_fake.custom_fake = ENTITY_resolve_attr_handler; + + chk_typ = EXPresolve_op_dot(expr, scope); + + assert(EXP_resolve_fake.call_count == 1); + assert(expr->e.op1->type == ent->u.entity->type); + assert(chk_typ == attr_typ); + + /* in case of error SIGABRT will be raised (and non-zero returned) */ + + return 0; +} + +struct test_def tests[] = { + {"resolve_select_enum_member", test_resolve_select_enum_member}, + {"resolve_entity_attribute", test_resolve_entity_attribute}, + {NULL} +}; diff --git a/src/express/test/test_express.c b/src/express/test/test_express.c new file mode 100644 index 000000000..8ce3eb5e1 --- /dev/null +++ b/src/express/test/test_express.c @@ -0,0 +1,146 @@ +#include + +#include "express/express.h" + +/* core */ +#include "express/hash.h" +#include "express/linklist.h" + +/* non-core */ +#include "express/resolve.h" +#include "express/schema.h" + +#include "../token_type.h" +#include "../parse_data.h" +#include "expscan.h" + +#include "driver.h" +#include "fff.h" + +/* + * mock globals + */ + +Error ERROR_circular_reference; +Error ERROR_undefined_schema; + +int yylineno; +Express yyexpresult; +Linked_List PARSEnew_schemas; +int print_objects_while_running; +YYSTYPE yylval; +int yyerrstatus; + +/* + * mock functions + */ +typedef void * (*malloc_func_t) (size_t); +typedef void (*free_func_t) (void *); + +DEFINE_FFF_GLOBALS + +FAKE_VOID_FUNC0(RESOLVEinitialize) +FAKE_VOID_FUNC0(SYMBOLinitialize) +FAKE_VOID_FUNC0(SCOPEinitialize) +FAKE_VOID_FUNC0(TYPEinitialize) +FAKE_VOID_FUNC0(VARinitialize) +FAKE_VOID_FUNC0(ENTITYinitialize) +FAKE_VOID_FUNC0(SCHEMAinitialize) +FAKE_VOID_FUNC0(CASE_ITinitialize) +FAKE_VOID_FUNC0(EXPinitialize) +FAKE_VOID_FUNC0(SCANinitialize) +FAKE_VOID_FUNC0(EXPKWinitialize) +FAKE_VOID_FUNC0(RESOLVEcleanup) +FAKE_VOID_FUNC0(TYPEcleanup) +FAKE_VOID_FUNC0(EXPcleanup) +FAKE_VOID_FUNC0(SCANcleanup) +FAKE_VOID_FUNC0(parserInitState) +FAKE_VOID_FUNC(SCAN_lex_init, char *, FILE *) +FAKE_VOID_FUNC(ParseTrace, FILE *, char *) +FAKE_VOID_FUNC(Parse, void *, int, YYSTYPE, parse_data_t) +FAKE_VOID_FUNC(perplexFree, perplex_t) +FAKE_VOID_FUNC(ParseFree, void *, free_func_t) +FAKE_VOID_FUNC(SCHEMAdefine_use, Schema, Rename *) +FAKE_VOID_FUNC(SCHEMAdefine_reference, Schema, Rename *) +FAKE_VOID_FUNC(SCOPEresolve_subsupers, Scope) +FAKE_VOID_FUNC(SCOPEresolve_types, Scope) +FAKE_VOID_FUNC(SCOPEresolve_expressions_statements, Scope) + +FAKE_VALUE_FUNC(void *, ParseAlloc, malloc_func_t) +FAKE_VALUE_FUNC(char *, SCANstrdup, const char *) +FAKE_VALUE_FUNC(perplex_t, perplexFileScanner, FILE *) +FAKE_VALUE_FUNC(int, yylex, perplex_t) + +void setup() { + RESET_FAKE(RESOLVEinitialize); + RESET_FAKE(SYMBOLinitialize); + RESET_FAKE(SCOPEinitialize); + RESET_FAKE(TYPEinitialize); + RESET_FAKE(VARinitialize); + RESET_FAKE(ENTITYinitialize); + RESET_FAKE(SCHEMAinitialize); + RESET_FAKE(CASE_ITinitialize); + RESET_FAKE(EXPinitialize); + RESET_FAKE(SCANinitialize); + RESET_FAKE(EXPKWinitialize); + RESET_FAKE(RESOLVEcleanup); + RESET_FAKE(TYPEcleanup); + RESET_FAKE(EXPcleanup); + RESET_FAKE(SCANcleanup); + RESET_FAKE(parserInitState); + RESET_FAKE(SCAN_lex_init); + RESET_FAKE(ParseTrace); + RESET_FAKE(Parse); + RESET_FAKE(perplexFree); + RESET_FAKE(ParseFree); + RESET_FAKE(SCHEMAdefine_use); + RESET_FAKE(SCHEMAdefine_reference); + RESET_FAKE(SCOPEresolve_subsupers); + RESET_FAKE(SCOPEresolve_types); + RESET_FAKE(SCOPEresolve_expressions_statements); + RESET_FAKE(ParseAlloc); + RESET_FAKE(SCANstrdup); + RESET_FAKE(perplexFileScanner); + RESET_FAKE(yylex); +} + +int test_express_rename_resolve() { + Schema cur_schema, ref_schema; + Rename *use_ref; + Entity ent; + Symbol *cur_schema_id, *ent_id, *ent_ref, *ref_schema_id; + + cur_schema_id = SYMBOLcreate("cur_schema", 1, "cur.exp"); + ent_id = SYMBOLcreate("line", 1, "cur.exp"); + ent_ref = SYMBOLcreate("line", 1, "ref.exp"); + ref_schema_id = SYMBOLcreate("ref_schema", 1, "ref.exp"); + + cur_schema = SCHEMAcreate(); + cur_schema->symbol = *cur_schema_id; + cur_schema->u.schema->uselist = LISTcreate(); + + ref_schema = SCHEMAcreate(); + ref_schema->symbol = *ref_schema_id; + + ent = ENTITYcreate(ent_id); + DICTdefine(ref_schema->symbol_table, ent_id->name, ent, ent_id, OBJ_ENTITY); + + /* TODO: create RENcreate(...), refactor SCHEMAadd_use() */ + use_ref = REN_new(); + use_ref->schema_sym = ref_schema_id; + use_ref->old = ent_ref; + use_ref->nnew = ent_ref; + use_ref->rename_type = use; + LISTadd_last(cur_schema->u.schema->uselist, use_ref); + use_ref->schema = ref_schema; + + RENAMEresolve(use_ref, cur_schema); + + assert(use_ref->type == OBJ_ENTITY); + return 0; +} + +struct test_def tests[] = { + {"express_rename_resolve", test_express_rename_resolve}, + {NULL} +}; diff --git a/src/express/test/test_resolve.c b/src/express/test/test_resolve.c new file mode 100644 index 000000000..2fc30ac68 --- /dev/null +++ b/src/express/test/test_resolve.c @@ -0,0 +1,314 @@ +#include + +#include "express/resolve.h" + +/* core */ +#include "express/hash.h" +#include "express/linklist.h" + +/* non-core */ +#include "express/symbol.h" +#include "express/schema.h" +#include "express/expr.h" +#include "express/type.h" + +#include "driver.h" +#include "fff.h" + +/* + * mock globals + */ + +char * EXPRESSprogram_name; +int yylineno; +int __SCOPE_search_id; +int EXPRESSpass; +struct Scope_ * FUNC_NVL; +struct Scope_ * FUNC_USEDIN; + +struct EXPop_entry EXPop_table[OP_LAST]; + +int tag_count; + +/* + * mock functions + */ + +DEFINE_FFF_GLOBALS + +FAKE_VALUE_FUNC(void *, SCOPEfind, Scope, char *, int) +FAKE_VALUE_FUNC(Variable, VARfind, Scope, char *, int) +FAKE_VALUE_FUNC(char *, VARget_simple_name, Variable) +FAKE_VALUE_FUNC(struct Scope_ *, ENTITYfind_inherited_entity, struct Scope_ *, char *, int) +FAKE_VALUE_FUNC(Variable, ENTITYget_named_attribute, Entity, char *) +FAKE_VALUE_FUNC(Variable, ENTITYresolve_attr_ref, Entity, Symbol *, Symbol *) +FAKE_VALUE_FUNC(int, ENTITYdeclares_variable, Entity, Variable) +FAKE_VALUE_FUNC(int, EXPRESS_fail, Express) + +void setup() { + RESOLVEinitialize(); + + RESET_FAKE(SCOPEfind); + RESET_FAKE(VARfind); + RESET_FAKE(VARget_simple_name); + RESET_FAKE(ENTITYfind_inherited_entity); + RESET_FAKE(ENTITYresolve_attr_ref); + RESET_FAKE(ENTITYget_named_attribute); + RESET_FAKE(ENTITYdeclares_variable); + RESET_FAKE(EXPRESS_fail); +} + +void * SCOPEfind_handler(Scope scope, char * name, int type) { + (void) type; + return DICTlookup(scope->symbol_table, name); +} + +int test_exp_resolve_bad_func_call() { + Schema scope; + Symbol *func_id; + Expression func_call; + + scope = SCHEMAcreate(); + + func_id = SYMBOLcreate("func1", 1, "test1"); + func_call = EXPcreate_from_symbol(Type_Funcall, func_id); + + SCOPEfind_fake.custom_fake = SCOPEfind_handler; + + EXP_resolve(func_call, scope, Type_Dont_Care); + + assert(func_call->symbol.resolved != RESOLVED); + + return 0; +} + +int test_exp_resolve_func_call() { + Schema scope; + Symbol *func_id; + Expression func_call; + Function func_def; + + scope = SCHEMAcreate(); + + func_id = SYMBOLcreate("func1", 1, "test1"); + func_call = EXPcreate_from_symbol(Type_Funcall, func_id); + + func_def = TYPEcreate_nostab(func_id, scope, OBJ_FUNCTION); + SCOPEfind_fake.custom_fake = SCOPEfind_handler; + + EXP_resolve(func_call, scope, Type_Dont_Care); + + assert(func_call->symbol.resolved == RESOLVED); + assert(func_call->u.funcall.function == func_def); + + return 0; +} + +Variable VARfind_handler(Scope scope, char *name, int strict) { + (void) strict; + return DICTlookup(scope->symbol_table, name); +} + +int test_exp_resolve_local_identifier() { + Schema scope; + Entity ent; + Expression ent_attr, ent_attr_ref; + Symbol *attr_id, *attr_ref, *ent_id; + Variable v_attr; + Type attr_typ; + + scope = SCHEMAcreate(); + + ent_id = SYMBOLcreate("entity1", 1, "test_2"); + ent = ENTITYcreate(ent_id); + DICT_define(scope->symbol_table, ent_id->name, ent, ent_id, OBJ_ENTITY); + + attr_id = SYMBOLcreate("attr1", 1, "test_2"); + ent_attr = EXPcreate_from_symbol(Type_Attribute, attr_id); + attr_typ = TYPEcreate(real_); + v_attr = VARcreate(ent_attr, attr_typ); + v_attr->flags.attribute = true; + DICT_define(ent->symbol_table, attr_id->name, v_attr, attr_id, OBJ_VARIABLE); + + attr_ref = SYMBOLcreate("attr1", 1, "test_2"); + ent_attr_ref = EXPcreate_from_symbol(Type_Identifier, attr_ref); + + VARfind_fake.custom_fake = VARfind_handler; + + EXP_resolve(ent_attr_ref, ent, Type_Dont_Care); + + assert(ent_attr_ref->u.variable == v_attr); + assert(ent_attr_ref->symbol.resolved == RESOLVED); + + return 0; +} + +int test_entity_resolve_subtype_expr_entity() { + Schema scope; + Entity ent1, ent2; + Expression subtype_exp; + Symbol *ent1_id, *ent2_id, *ent2_ref; + int chk; + + scope = SCHEMAcreate(); + ent1_id = SYMBOLcreate("ent1", 1, "test_3"); + ent2_id = SYMBOLcreate("ent2", 1, "test_3"); + ent2_ref = SYMBOLcreate("ent2", 1, "test_3"); + ent1 = ENTITYcreate(ent1_id); + ent2 = ENTITYcreate(ent2_id); + + DICTdefine(scope->symbol_table, ent1_id->name, ent1, ent1_id, OBJ_ENTITY); + DICTdefine(scope->symbol_table, ent2_id->name, ent2, ent2_id, OBJ_ENTITY); + + subtype_exp = EXPcreate_from_symbol(Type_Identifier, ent2_ref); + ent1->superscope = scope; + ent1->u.entity->subtypes = LISTcreate(); + ent1->u.entity->subtype_expression = subtype_exp; + + SCOPEfind_fake.custom_fake = SCOPEfind_handler; + chk = ENTITYresolve_subtype_expression(subtype_exp, ent1, &ent1->u.entity->subtypes); + + assert(chk == RESOLVED); + + return 0; +} + +int test_type_resolve_entity() { + Schema scope; + Type sel, ent_base; + Entity ent; + Symbol *ent_id, *sel_id; + + scope = SCHEMAcreate(); + ent_id = SYMBOLcreate("ent", 1, "test_4"); + sel_id = SYMBOLcreate("sel_typ", 1, "test_4"); + + ent_base = TYPEcreate_name(ent_id); + ent_base->superscope = scope; + ent = ENTITYcreate(ent_id); + ent->superscope = scope; + sel = TYPEcreate(select_); + sel->symbol = *sel_id; + sel->u.type->body->list = LISTcreate(); + sel->superscope = scope; + LISTadd_last(sel->u.type->body->list, ent_base); + + DICTdefine(scope->symbol_table, ent_id->name, ent, ent_id, OBJ_ENTITY); + DICTdefine(scope->symbol_table, sel_id->name, sel, sel_id, OBJ_TYPE); + + SCOPEfind_fake.custom_fake = SCOPEfind_handler; + + TYPE_resolve(&sel); + + assert(sel->symbol.resolved == RESOLVED); + + return 0; +} + +int test_stmt_resolve_pcall_proc() { + Schema scope; + Function f; + Procedure p; + Statement s; + Symbol *func_id, *proc_id, *proc_ref; + + scope = SCHEMAcreate(); + + func_id = SYMBOLcreate("func1", 1, "test_5"); + proc_id = SYMBOLcreate("proc1", 1, "test_5"); + proc_ref = SYMBOLcreate("proc1", 1, "test_5"); + + f = ALGcreate(OBJ_FUNCTION); + DICTdefine(scope->symbol_table, func_id->name, f, func_id, OBJ_FUNCTION); + + p = ALGcreate(OBJ_PROCEDURE); + DICTdefine(f->symbol_table, proc_id->name, p, proc_id, OBJ_PROCEDURE); + + s = PCALLcreate(NULL); + s->symbol = *proc_ref; + + SCOPEfind_fake.custom_fake = SCOPEfind_handler; + + STMTresolve(s, f); + + assert(s->u.proc->procedure == p); + + return 0; +} + +int test_scope_resolve_named_types() { + Schema scope; + Type sel, ent_base; + Entity ent; + Symbol *ent_id, *sel_id; + + scope = SCHEMAcreate(); + sel_id = SYMBOLcreate("sel_typ", 1, "test_4"); + ent_id = SYMBOLcreate("ent", 1, "test_4"); + + ent_base = TYPEcreate(entity_); + ent_base->symbol = *ent_id; + ent_base->superscope = scope; + ent = ENTITYcreate(ent_id); + ent->superscope = scope; + sel = TYPEcreate(select_); + sel->symbol = *sel_id; + sel->u.type->body->list = LISTcreate(); + sel->superscope = scope; + LISTadd_last(sel->u.type->body->list, ent_base); + + DICTdefine(scope->symbol_table, ent_id->name, ent, ent_id, OBJ_ENTITY); + DICTdefine(scope->symbol_table, sel_id->name, sel, sel_id, OBJ_TYPE); + + SCOPEfind_fake.custom_fake = SCOPEfind_handler; + + SCOPEresolve_types(scope); + + assert(!(ent->symbol.resolved & RESOLVE_FAILED)); + assert(!(sel->symbol.resolved & RESOLVE_FAILED)); + assert(!(scope->symbol.resolved & RESOLVE_FAILED)); + + return 0; +} + +int test_entity_resolve_supertypes() { + Schema scope; + Entity ent1, ent2; + Symbol *ent1_id, *ent2_id, *ent1_ref; + + scope = SCHEMAcreate(); + ent1_id = SYMBOLcreate("ent1", 1, "test_3"); + ent2_id = SYMBOLcreate("ent2", 1, "test_3"); + ent1_ref = SYMBOLcreate("ent1", 1, "test_3"); + ent1 = ENTITYcreate(ent1_id); + ent2 = ENTITYcreate(ent2_id); + ent1->superscope = scope; + ent2->superscope = scope; + + DICTdefine(scope->symbol_table, ent1_id->name, ent1, ent1_id, OBJ_ENTITY); + DICTdefine(scope->symbol_table, ent2_id->name, ent2, ent2_id, OBJ_ENTITY); + + ent2->u.entity->supertype_symbols = LISTcreate(); + LISTadd_last(ent2->u.entity->supertype_symbols, ent1_ref); + + SCOPEfind_fake.custom_fake = SCOPEfind_handler; + + ENTITYresolve_supertypes(ent2); + + assert(!(ent2->symbol.resolved & RESOLVE_FAILED)); + + return 0; +} + +struct test_def tests[] = { + {"exp_resolve_bad_func_call", test_exp_resolve_bad_func_call}, + {"exp_resolve_func_call", test_exp_resolve_func_call}, + {"exp_resolve_local_identifier", test_exp_resolve_local_identifier}, + {"entity_resolve_subtype_expr_entity", test_entity_resolve_subtype_expr_entity}, + {"type_resolve_entity", test_type_resolve_entity}, + {"stmt_resolve_pcall_proc", test_stmt_resolve_pcall_proc}, + {"scope_resolve_named_types", test_scope_resolve_named_types}, + {"entity_resolve_supertypes_entity", test_entity_resolve_supertypes}, + {NULL} +}; + diff --git a/src/express/test/test_resolve2.c b/src/express/test/test_resolve2.c new file mode 100644 index 000000000..a293dce69 --- /dev/null +++ b/src/express/test/test_resolve2.c @@ -0,0 +1,122 @@ + +#include + +#include "express/resolve.h" + +/* core */ +#include "express/hash.h" +#include "express/linklist.h" + +/* non-core */ +#include "express/type.h" + +#include "driver.h" +#include "fff.h" + +/* + * mock globals + */ + +char * EXPRESSprogram_name; +int EXPRESSpass; +int yylineno; +int print_objects_while_running; + +/* + * mock functions + */ + +DEFINE_FFF_GLOBALS + +FAKE_VOID_FUNC(ENTITYresolve_supertypes, Entity) +FAKE_VOID_FUNC(ENTITYresolve_subtypes, Schema) +FAKE_VOID_FUNC(TYPE_resolve, Type *) +FAKE_VOID_FUNC(TYPEresolve_expressions, Type, Scope) +FAKE_VOID_FUNC(EXP_resolve, Expression, Scope, Type) +FAKE_VOID_FUNC(STMTlist_resolve, Linked_List, Scope) +FAKE_VOID_FUNC(ENTITYresolve_expressions, Entity) + +FAKE_VALUE_FUNC(int, WHEREresolve, Linked_List, Scope, int) +FAKE_VALUE_FUNC(int, EXPRESS_fail, Express) + +void setup() { + RESET_FAKE(ENTITYresolve_supertypes); + RESET_FAKE(ENTITYresolve_subtypes); + RESET_FAKE(TYPE_resolve); + RESET_FAKE(TYPEresolve_expressions); + RESET_FAKE(EXP_resolve); + RESET_FAKE(STMTlist_resolve); + RESET_FAKE(ENTITYresolve_expressions); + RESET_FAKE(WHEREresolve); + RESET_FAKE(EXPRESS_fail); +} + +int test_scope_resolve_expr_stmt() { + Schema scope; + Type sel, ent_base; + Entity ent; + Symbol *ent_id, *sel_id; + + scope = SCHEMAcreate(); + ent_id = SYMBOLcreate("ent", 1, "test_4"); + sel_id = SYMBOLcreate("sel_typ", 1, "test_4"); + + ent_base = TYPEcreate_name(ent_id); + ent_base->superscope = scope; + ent = ENTITYcreate(ent_id); + ent->superscope = scope; + sel = TYPEcreate(select_); + sel->symbol = *sel_id; + sel->u.type->body->list = LISTcreate(); + sel->superscope = scope; + LISTadd_last(sel->u.type->body->list, ent_base); + + DICTdefine(scope->symbol_table, ent_id->name, ent, ent_id, OBJ_ENTITY); + DICTdefine(scope->symbol_table, sel_id->name, sel, sel_id, OBJ_TYPE); + + SCOPEresolve_expressions_statements(scope); + + assert(ENTITYresolve_expressions_fake.call_count == 1); + assert(TYPEresolve_expressions_fake.call_count == 1); + + return 0; +} + +int test_scope_resolve_subsupers() { + Schema scope; + Type sel, ent_base; + Entity ent; + Symbol *ent_id, *sel_id; + + scope = SCHEMAcreate(); + ent_id = SYMBOLcreate("ent", 1, "test_4"); + sel_id = SYMBOLcreate("sel_typ", 1, "test_4"); + + ent_base = TYPEcreate_name(ent_id); + ent_base->superscope = scope; + ent = ENTITYcreate(ent_id); + ent->superscope = scope; + sel = TYPEcreate(select_); + sel->symbol = *sel_id; + sel->u.type->body->list = LISTcreate(); + sel->superscope = scope; + LISTadd_last(sel->u.type->body->list, ent_base); + + DICTdefine(scope->symbol_table, ent_id->name, ent, ent_id, OBJ_ENTITY); + DICTdefine(scope->symbol_table, sel_id->name, sel, sel_id, OBJ_TYPE); + + SCOPEresolve_subsupers(scope); + + assert(TYPE_resolve_fake.call_count == 1); + assert(ENTITYresolve_supertypes_fake.call_count == 1); + assert(ENTITYresolve_subtypes_fake.call_count == 1); + + return 0; +} + + +struct test_def tests[] = { + {"scope_resolve_expr_stmt", test_scope_resolve_expr_stmt}, + {"scope_resolve_subsupers", test_scope_resolve_subsupers}, + {NULL} +}; diff --git a/src/express/test/test_schema.c b/src/express/test/test_schema.c new file mode 100644 index 000000000..80fe0eadc --- /dev/null +++ b/src/express/test/test_schema.c @@ -0,0 +1,201 @@ +#include + +#include "express/schema.h" + +/* core */ +#include "express/hash.h" +#include "express/linklist.h" + + +/* non-core */ +#include "express/variable.h" +#include "express/scope.h" + +#include "driver.h" +#include "fff.h" + +/* + * mock globals + */ +char * EXPRESSprogram_name; +int yylineno; + +int ENTITY_MARK; + + +/* + * mock functions + */ + +DEFINE_FFF_GLOBALS + +FAKE_VALUE_FUNC(int, EXPRESS_fail, Express) +FAKE_VOID_FUNC(SCOPE_get_entities, Scope, Linked_List) +FAKE_VALUE_FUNC(Variable, ENTITYfind_inherited_attribute, struct Scope_ *, char *, struct Symbol_ **) + +void setup() { + RESET_FAKE(EXPRESS_fail) + RESET_FAKE(SCOPE_get_entities) + RESET_FAKE(ENTITYfind_inherited_attribute) +} + +int test_schema_define_ref() { + Schema cur_schema, ref_schema; + Rename *ref_rename; + Symbol *cur_schema_id, *ent_ref, *ref_schema_id; + + cur_schema_id = SYMBOLcreate("cur_schema", 1, "cur.exp"); + ent_ref = SYMBOLcreate("line", 1, "ref.exp"); + ref_schema_id = SYMBOLcreate("ref_schema", 1, "ref.exp"); + + cur_schema = SCHEMAcreate(); + cur_schema->symbol = *cur_schema_id; + cur_schema->u.schema->refdict = DICTcreate(20); + + ref_schema = SCHEMAcreate(); + ref_schema->symbol = *ref_schema_id; + + ref_rename = REN_new(); + ref_rename->schema_sym = ref_schema_id; + ref_rename->old = ent_ref; + ref_rename->nnew = ent_ref; + ref_rename->rename_type = ref; + ref_rename->schema = ref_schema; + DICTdefine(cur_schema->u.schema->refdict, ent_ref->name, ref_rename, ent_ref, OBJ_RENAME); + + SCHEMAdefine_reference(cur_schema, ref_rename); + + assert(cur_schema->u.schema->refdict->KeyCount == 1); + + return 0; +} + +int test_schema_define_use() { + Schema cur_schema, ref_schema; + Rename *use_rename; + Symbol *cur_schema_id, *ent_ref, *ref_schema_id; + + cur_schema_id = SYMBOLcreate("cur_schema", 1, "cur.exp"); + ent_ref = SYMBOLcreate("line", 1, "ref.exp"); + ref_schema_id = SYMBOLcreate("ref_schema", 1, "ref.exp"); + + cur_schema = SCHEMAcreate(); + cur_schema->symbol = *cur_schema_id; + cur_schema->u.schema->usedict = DICTcreate(20); + + ref_schema = SCHEMAcreate(); + ref_schema->symbol = *ref_schema_id; + + use_rename = REN_new(); + use_rename->schema_sym = ref_schema_id; + use_rename->old = ent_ref; + use_rename->nnew = ent_ref; + use_rename->rename_type = use; + use_rename->schema = ref_schema; + DICTdefine(cur_schema->u.schema->usedict, ent_ref->name, use_rename, ent_ref, OBJ_RENAME); + + SCHEMAdefine_use(cur_schema, use_rename); + + assert(cur_schema->u.schema->usedict->KeyCount == 1); + + return 0; +} + +/* TODO: + * currently this function expects OBJ_RENAME stored as OBJ_ENTITY + * (to indicate partial reference) + */ +int test_schema_get_entities_ref() { + Schema cur_schema, ref_schema; + Rename *ref_rename; + Entity ent; + Symbol *cur_schema_id, *ent_id, *ent_ref, *ref_schema_id; + Linked_List r; + + cur_schema_id = SYMBOLcreate("cur_schema", 1, "cur.exp"); + ent_id = SYMBOLcreate("line", 1, "cur.exp"); + ent_ref = SYMBOLcreate("line", 1, "ref.exp"); + ref_schema_id = SYMBOLcreate("ref_schema", 1, "ref.exp"); + + cur_schema = SCHEMAcreate(); + cur_schema->symbol = *cur_schema_id; + cur_schema->u.schema->refdict = DICTcreate(20); + + ref_schema = SCHEMAcreate(); + ref_schema->symbol = *ref_schema_id; + + ent = ENTITYcreate(ent_id); + DICTdefine(ref_schema->symbol_table, ent_id->name, ent, ent_id, OBJ_ENTITY); + + ref_rename = REN_new(); + ref_rename->schema_sym = ref_schema_id; + ref_rename->old = ent_ref; + ref_rename->nnew = ent_ref; + ref_rename->rename_type = ref; + ref_rename->schema = ref_schema; + ref_rename->object = ent; + DICTdefine(cur_schema->u.schema->refdict, ent_ref->name, ref_rename, ent_ref, OBJ_ENTITY); + + r = LISTcreate(); + cur_schema->search_id = -1; + SCHEMA_get_entities_ref(cur_schema, r); + + assert(LISTget_length(r) == 1); + + return 0; +} + +Variable +ENTITY_find_attr_handler(struct Scope_ *entity, char * name, struct Symbol_** down_sym) +{ + Variable r; + (void) down_sym; + r = DICTlookup(entity->symbol_table, name); + return r; +} + +int test_var_find() { + Schema scope; + Symbol *e_type_id, *attr_id; + Entity ent; + Type attr_typ; + TypeBody tb; + Expression exp_attr; + Variable var_attr, var_ref; + Linked_List explicit_attr_list; + + scope = SCHEMAcreate(); + + e_type_id = SYMBOLcreate("entity1", 1, "test2"); + ent = ENTITYcreate(e_type_id); + DICT_define(scope->symbol_table, e_type_id->name, ent, &ent->symbol, OBJ_ENTITY); + + attr_id = SYMBOLcreate("attr1", 1, "test2"); + exp_attr = EXPcreate_from_symbol(Type_Attribute, attr_id); + tb = TYPEBODYcreate(number_); + attr_typ = TYPEcreate_from_body_anonymously(tb); + attr_typ->superscope = ent; + var_attr = VARcreate(exp_attr, attr_typ); + var_attr->flags.attribute = 1; + explicit_attr_list = LISTcreate(); + LISTadd_last(explicit_attr_list, var_attr); + + LISTadd_last(ent->u.entity->attributes, explicit_attr_list); + DICTdefine(ent->symbol_table, attr_id->name, var_attr, &var_attr->name->symbol, OBJ_VARIABLE); + + ENTITYfind_inherited_attribute_fake.custom_fake = ENTITY_find_attr_handler; + + var_ref = VARfind(ent, "attr1", 1); + + assert(var_ref != NULL); + + return 0; +} + +struct test_def tests[] = { + {"schema_define_ref", test_schema_define_ref}, + {"schema_define_use", test_schema_define_use}, + {"schema_get_entities_ref", test_schema_get_entities_ref}, + {"var_find", test_var_find}, + {NULL} +}; diff --git a/src/express/test/test_scope.c b/src/express/test/test_scope.c new file mode 100644 index 000000000..b59ef4acc --- /dev/null +++ b/src/express/test/test_scope.c @@ -0,0 +1,78 @@ +#include + +#include "express/scope.h" + +/* core */ +#include "express/hash.h" +#include "express/linklist.h" + +/* non-core */ + +#include "driver.h" +#include "fff.h" + +/* + * mock globals + */ + +char * EXPRESSprogram_name; +int yylineno; +int __SCOPE_search_id; + +int ENTITY_MARK; + +Dictionary EXPRESSbuiltins; + + +/* + * mock functions + */ + +DEFINE_FFF_GLOBALS + +FAKE_VALUE_FUNC(int, EXPRESS_fail, Express) + + +void setup() { + RESET_FAKE(EXPRESS_fail); +} + +int test_scope_find() { + Schema scope; + Type sel, ent_base, chk_sel; + Entity ent, chk_ent; + Symbol *ent_id, *sel_id; + + scope = SCHEMAcreate(); + ent_id = SYMBOLcreate("ent", 1, "test_4"); + sel_id = SYMBOLcreate("sel_typ", 1, "test_4"); + + ent_base = TYPEcreate_name(ent_id); + ent_base->superscope = scope; + ent = ENTITYcreate(ent_id); + ent->superscope = scope; + sel = TYPEcreate(select_); + sel->symbol = *sel_id; + sel->u.type->body->list = LISTcreate(); + sel->superscope = scope; + LISTadd_last(sel->u.type->body->list, ent_base); + + DICTdefine(scope->symbol_table, ent_id->name, ent, ent_id, OBJ_ENTITY); + DICTdefine(scope->symbol_table, sel_id->name, sel, sel_id, OBJ_TYPE); + + scope->search_id = -1; + chk_sel = SCOPE_find(scope, "sel_typ", SCOPE_FIND_ENTITY | SCOPE_FIND_TYPE); + + scope->search_id = -1; + chk_ent = SCOPE_find(scope, "ent", SCOPE_FIND_ENTITY | SCOPE_FIND_TYPE); + + assert(chk_sel == sel); + assert(chk_ent == ent); + + return 0; +} + +struct test_def tests[] = { + {"scope_find", test_scope_find}, + {NULL} +}; diff --git a/src/express/test/test_type.c b/src/express/test/test_type.c new file mode 100644 index 000000000..94b1f8b5a --- /dev/null +++ b/src/express/test/test_type.c @@ -0,0 +1,65 @@ +#include + +#include "express/type.h" + +/* core */ +#include "express/hash.h" +#include "express/linklist.h" + +/* non-core */ + +#include "driver.h" +#include "fff.h" + +/* + * mock globals + */ + +char * EXPRESSprogram_name; +int yylineno; + +int tag_count; + +/* + * mock functions + */ + +DEFINE_FFF_GLOBALS + +FAKE_VALUE_FUNC(int, EXPRESS_fail, Express) + + +void setup() { + RESET_FAKE(EXPRESS_fail) + TYPEinitialize(); +} + +int test_type_create_user_defined_tag() { + Schema scope; + Function f; + Type t, g, chk; + Symbol *func_id, *tag_id; + + scope = SCHEMAcreate(); + + func_id = SYMBOLcreate("func1", 1, "test_5"); + tag_id = SYMBOLcreate("item1", 1, "test_5"); + + f = ALGcreate(OBJ_FUNCTION); + f->symbol = *func_id; + DICTdefine(scope->symbol_table, func_id->name, f, func_id, OBJ_FUNCTION); + + g = TYPEcreate(generic_); + t = TYPEcreate_nostab(tag_id, f, OBJ_TAG); + + chk = TYPEcreate_user_defined_tag(g, f, tag_id); + + assert(chk == t); + + return 0; +} + +struct test_def tests[] = { + {"type_create_user_defined_tag", test_type_create_user_defined_tag}, + {NULL} +}; diff --git a/src/express/token_type.h b/src/express/token_type.h index ef310c3b8..03cd99ab5 100644 --- a/src/express/token_type.h +++ b/src/express/token_type.h @@ -18,7 +18,7 @@ struct type_flags { unsigned optional: 1; unsigned unique: 1; unsigned fixed: 1; - unsigned var: 1; /* when formal is "VAR" */ + unsigned var: 1; /**< when formal is "VAR" */ }; struct entity_body { @@ -44,33 +44,31 @@ struct upper_lower { }; struct qualifier { - Expression expr; /* overall expression for qualifier */ - Expression first; /* first [syntactic] qualifier (if more */ - /* than one is contained in this */ - /* [semantic] qualifier - used for */ - /* group_ref + attr_ref - see rule for */ - /* qualifier) */ + Expression expr; /**< overall expression for qualifier */ + Expression first; /**< first [syntactic] qualifier (if more than one is + * contained in this [semantic] qualifier - used for + * group_ref + attr_ref - see rule for qualifier) + */ }; +/** simple (single-valued) node types */ typedef union YYSTYPE { - /* simple (single-valued) node types */ - - Binary binary; - Case_Item case_item; - Expression expression; - Integer iVal; - Linked_List list; - Logical logical; - Op_Code op_code; + Binary binary; + Case_Item case_item; + Expression expression; + Integer iVal; + Linked_List list; + Logical logical; + Op_Code op_code; Qualified_Attr * qualified_attr; - Real rVal; - Statement statement; - Symbol * symbol; - char * string; - Type type; - TypeBody typebody; - Variable variable; - Where where; + Real rVal; + Statement statement; + Symbol * symbol; + char * string; + Type type; + TypeBody typebody; + Variable variable; + Where where; struct type_either type_either; struct type_flags type_flags; diff --git a/src/express/type.c b/src/express/type.c index 02e15011c..ffcba5915 100644 --- a/src/express/type.c +++ b/src/express/type.c @@ -122,75 +122,9 @@ This module implements the type abstraction. It is * */ -#include -#include "express/type.h" - -/* Very commonly-used read-only types */ -/* non-constant versions probably aren't necessary? */ -Type Type_Bad; -Type Type_Unknown; -Type Type_Dont_Care; -Type Type_Runtime; /* indicates that this object can't be */ -/* calculated now but must be deferred */ -/* til (the mythical) runtime */ -Type Type_Binary; -Type Type_Boolean; -Type Type_Enumeration; -Type Type_Expression; -Type Type_Aggregate; -Type Type_Integer; -Type Type_Integer; -Type Type_Number; -Type Type_Real; -Type Type_String; -Type Type_String_Encoded; -Type Type_Logical; -Type Type_Set; -Type Type_Attribute; -Type Type_Entity; -Type Type_Funcall; -Type Type_Generic; -Type Type_Identifier; -Type Type_Oneof; -Type Type_Query; -Type Type_Self; -Type Type_Set_Of_String; -Type Type_Set_Of_Generic; -Type Type_Bag_Of_Generic; - -struct freelist_head TYPEHEAD_fl; -struct freelist_head TYPEBODY_fl; - -Error ERROR_corrupted_type = ERROR_none; - -static Error ERROR_undefined_tag; -/** - * create a type with no symbol table - */ -Type TYPEcreate_nostab( struct Symbol_ *symbol, Scope scope, char objtype ) { - Type t = SCOPEcreate_nostab( OBJ_TYPE ); - TypeHead th = TYPEHEAD_new(); - - t->u.type = th; - t->symbol = *symbol; - DICTdefine( scope->symbol_table, symbol->name, ( Generic )t, &t->symbol, objtype ); - - return t; -} - -/** - * create a type but this is just a shell, either to be completed later - * such as enumerations (which have a symbol table added later) - * or to be used as a type reference - */ -Type TYPEcreate_name( Symbol * symbol ) { - Scope s = SCOPEcreate_nostab( OBJ_TYPE ); - TypeHead t = TYPEHEAD_new(); +#include - s->u.type = t; - s->symbol = *symbol; - return s; -} +#include "express/type.h" Type TYPEcreate_user_defined_tag( Type base, Scope scope, struct Symbol_ *symbol ) { Type t; @@ -214,7 +148,7 @@ Type TYPEcreate_user_defined_tag( Type base, Scope scope, struct Symbol_ *symbol * then we can only refer to existing tags, so produce an error */ if( tag_count < 0 ) { - ERRORreport_with_symbol( ERROR_undefined_tag, symbol, + ERRORreport_with_symbol( UNDEFINED_TAG, symbol, symbol->name ); return( 0 ); } @@ -231,29 +165,6 @@ Type TYPEcreate_user_defined_tag( Type base, Scope scope, struct Symbol_ *symbol return( t ); } -Type TYPEcreate( enum type_enum type ) { - TypeBody tb = TYPEBODYcreate( type ); - Type t = TYPEcreate_from_body_anonymously( tb ); - return( t ); -} - -Type TYPEcreate_from_body_anonymously( TypeBody tb ) { - Type t = SCOPEcreate_nostab( OBJ_TYPE ); - TypeHead th = TYPEHEAD_new(); - - t->u.type = th; - t->u.type->body = tb; - t->symbol.name = 0; - SYMBOLset( t ); - return t; -} - -TypeBody TYPEBODYcreate( enum type_enum type ) { - TypeBody tb = TYPEBODY_new(); - tb->type = type; - return tb; -} - /** * return true if "type t" inherits from "enum type_enum" * may need to be implemented for more types @@ -262,7 +173,7 @@ TypeBody TYPEBODYcreate( enum type_enum type ) { bool TYPEinherits_from( Type t, enum type_enum e ) { TypeBody tb = t->u.type->body; - + assert( ( t->type == OBJ_TYPE ) && ( tb ) && "Not a Type!" ); switch( e ) { case aggregate_: if( tb->type == aggregate_ || @@ -308,124 +219,12 @@ return( false ); } #endif -Symbol * TYPE_get_symbol( Generic t ) { - return( &( ( Type )t )->symbol ); -} - - /** Initialize the Type module */ void TYPEinitialize() { - MEMinitialize( &TYPEHEAD_fl, sizeof( struct TypeHead_ ), 500, 100 ); - MEMinitialize( &TYPEBODY_fl, sizeof( struct TypeBody_ ), 200, 100 ); - OBJcreate( OBJ_TYPE, TYPE_get_symbol, "type", OBJ_TYPE_BITS ); - /* OBJcreate(OBJ_TYPE,TYPE_get_symbol,"(headless) type", OBJ_UNFINDABLE_BITS);*/ - OBJcreate( OBJ_TAG, TYPE_get_symbol, "tag", OBJ_TYPE_BITS ); - - /* Very commonly-used read-only types */ - Type_Unknown = TYPEcreate( unknown_ ); - Type_Dont_Care = TYPEcreate( special_ ); - Type_Bad = TYPEcreate( special_ ); - Type_Runtime = TYPEcreate( runtime_ ); - - Type_Enumeration = TYPEcreate( enumeration_ ); - Type_Enumeration->u.type->body->flags.shared = 1; - resolved_all( Type_Enumeration ); - - Type_Expression = TYPEcreate( op_ ); - Type_Expression->u.type->body->flags.shared = 1; - - Type_Aggregate = TYPEcreate( aggregate_ ); - Type_Aggregate->u.type->body->flags.shared = 1; - Type_Aggregate->u.type->body->base = Type_Runtime; - - Type_Integer = TYPEcreate( integer_ ); - Type_Integer->u.type->body->flags.shared = 1; - resolved_all( Type_Integer ); - - Type_Real = TYPEcreate( real_ ); - Type_Real->u.type->body->flags.shared = 1; - resolved_all( Type_Real ); - - Type_Number = TYPEcreate( number_ ); - Type_Number->u.type->body->flags.shared = 1; - resolved_all( Type_Number ); - - Type_String = TYPEcreate( string_ ); - Type_String->u.type->body->flags.shared = 1; - resolved_all( Type_String ); - - Type_String_Encoded = TYPEcreate( string_ ); - Type_String_Encoded->u.type->body->flags.shared = 1; - Type_String_Encoded->u.type->body->flags.encoded = 1; - resolved_all( Type_String ); - - Type_Logical = TYPEcreate( logical_ ); - Type_Logical->u.type->body->flags.shared = 1; - resolved_all( Type_Logical ); - - Type_Binary = TYPEcreate( binary_ ); - Type_Binary->u.type->body->flags.shared = 1; - resolved_all( Type_Binary ); - - Type_Number = TYPEcreate( number_ ); - Type_Number->u.type->body->flags.shared = 1; - resolved_all( Type_Number ); - - Type_Boolean = TYPEcreate( boolean_ ); - Type_Boolean->u.type->body->flags.shared = 1; - resolved_all( Type_Boolean ); - - Type_Generic = TYPEcreate( generic_ ); - Type_Generic->u.type->body->flags.shared = 1; - resolved_all( Type_Generic ); - - Type_Set_Of_String = TYPEcreate( set_ ); - Type_Set_Of_String->u.type->body->flags.shared = 1; - Type_Set_Of_String->u.type->body->base = Type_String; - - Type_Set_Of_Generic = TYPEcreate( set_ ); - Type_Set_Of_Generic->u.type->body->flags.shared = 1; - Type_Set_Of_Generic->u.type->body->base = Type_Generic; - - Type_Bag_Of_Generic = TYPEcreate( bag_ ); - Type_Bag_Of_Generic->u.type->body->flags.shared = 1; - Type_Bag_Of_Generic->u.type->body->base = Type_Generic; - - Type_Attribute = TYPEcreate( attribute_ ); - Type_Attribute->u.type->body->flags.shared = 1; - - Type_Entity = TYPEcreate( entity_ ); - Type_Entity->u.type->body->flags.shared = 1; - - Type_Funcall = TYPEcreate( funcall_ ); - Type_Funcall->u.type->body->flags.shared = 1; - - Type_Generic = TYPEcreate( generic_ ); - Type_Generic->u.type->body->flags.shared = 1; - - Type_Identifier = TYPEcreate( identifier_ ); - Type_Identifier->u.type->body->flags.shared = 1; - - Type_Oneof = TYPEcreate( oneof_ ); - Type_Oneof->u.type->body->flags.shared = 1; - - Type_Query = TYPEcreate( query_ ); - Type_Query->u.type->body->flags.shared = 1; - - Type_Self = TYPEcreate( self_ ); - Type_Self->u.type->body->flags.shared = 1; - - ERROR_corrupted_type = - ERRORcreate( "Corrupted type in %s", SEVERITY_DUMP ); - - ERROR_undefined_tag = - ERRORcreate( "Undefined type tag %s", SEVERITY_ERROR ); } /** Clean up the Type module */ void TYPEcleanup( void ) { - ERRORdestroy( ERROR_corrupted_type ); - ERRORdestroy( ERROR_undefined_tag ); } /** diff --git a/src/express/variable.c b/src/express/variable.c index c6f982509..b3ec9f88a 100644 --- a/src/express/variable.c +++ b/src/express/variable.c @@ -83,23 +83,14 @@ * */ -#include #include + #include "express/variable.h" #include "express/object.h" char * opcode_print( Op_Code o ); -struct freelist_head VAR_fl; - -Symbol * VAR_get_symbol( Generic v ) { - return( &( ( Variable )v )->name->symbol ); -} - /** Initialize the Variable module. */ void VARinitialize() { - MEMinitialize( &VAR_fl, sizeof( struct Variable_ ), 100, 50 ); - /* OBJcreate(OBJ_VARIABLE,VAR_get_symbol,"variable",OBJ_UNUSED_BITS);*/ - OBJcreate( OBJ_VARIABLE, VAR_get_symbol, "variable", OBJ_VARIABLE_BITS ); } /** VARget_simple_name @@ -122,20 +113,3 @@ extern char * VARget_simple_name( Variable v ) { } return EXPget_name( e ); } - -/** VARcreate -** \param name name of variable to create -** \param type type of new variable -** \return the Variable created -** Create and return a new variable. -** -** \note The reference class of the variable is, by default, -** dynamic. Special flags associated with the variable -** (e.g., optional) are initially false. -*/ -Variable VARcreate( Expression name, Type type ) { - Variable v = VAR_new(); - v->name = name; - v->type = type; - return v; -} diff --git a/src/express/ybreaks.py b/src/express/ybreaks.py new file mode 100755 index 000000000..eaae0bc34 --- /dev/null +++ b/src/express/ybreaks.py @@ -0,0 +1,20 @@ +#!/usr/bin/python3 + +# to use in your gdb session +# pi (enters the interactive python interpreter) +# import gdb +# f = open(r'../../ybreaks.txt') +# ybreaks = [gdb.Breakpoint(x.strip()) for x in f] +# +# note you'll also need to set the gdb source path to include the location of the grammar +# dir ../src/express +# dir ../src/express/generated +# + +import re + +y_line_re = re.compile(r'^#line\s(?P[0-9]+)\s"expparse.y"') + +with open(r'generated/expparse.c') as f, open(r'generated/ybreaks.txt', 'w+') as g: + ybreaks = ['expparse.y:%s' % y_line_re.match(l).group('lineno') for l in f if y_line_re.match(l)] + g.writelines(x + '\n' for x in ybreaks) diff --git a/src/fedex_plus/CMakeLists.txt b/src/fedex_plus/CMakeLists.txt deleted file mode 100644 index 139c90fe8..000000000 --- a/src/fedex_plus/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -set(FEDEX_COMMON_SRCS - classes_misc.c - ../express/fedex.c -) - -set(fedex_plus_SOURCES - ${FEDEX_COMMON_SRCS} - fedex_main.c - classes_wrapper.cc - classes.c - selects.c - multpass.c - collect.cc - complexlist.cc - entlist.cc - multlist.cc - orlist.cc - entnode.cc - expressbuild.cc - non-ors.cc - match-ors.cc - trynext.cc - write.cc - print.cc -) - -include_directories( - ${SC_SOURCE_DIR}/include - ${SC_SOURCE_DIR}/include/exppp - ${SC_SOURCE_DIR}/include/express - ${SC_SOURCE_DIR}/src/base -) - -SC_ADDEXEC(fedex_plus "${fedex_plus_SOURCES}" "libexppp;express;base") - -add_dependencies( fedex_plus version_string ) \ No newline at end of file diff --git a/src/fedex_plus/classes.c b/src/fedex_plus/classes.c deleted file mode 100644 index 5642ff0bd..000000000 --- a/src/fedex_plus/classes.c +++ /dev/null @@ -1,3576 +0,0 @@ -/* -** Fed-x parser output module for generating C++ class definitions -** December 5, 1989 -** release 2 17-Feb-1992 -** release 3 March 1993 -** release 4 December 1993 -** K. C. Morris -** -** Development of Fed-x was funded by the United States Government, -** and is not subject to copyright. - -******************************************************************* -The conventions used in this binding follow the proposed specification -for the STEP Standard Data Access Interface as defined in document -N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. -*******************************************************************/ - -/**************************************************************//** - * \file classes.c -*** The functions in this file generate the C++ code for ENTITY ** -*** classes, TYPEs, and TypeDescriptors. *** - ** **/ - - -/* this is used to add new dictionary calls */ -/* #define NEWDICT */ - -#include -#include -#include -#include "classes.h" - -#include - -int isAggregateType( const Type t ); -int isAggregate( Variable a ); -Variable VARis_type_shifter( Variable a ); - -int multiple_inheritance = 1; -int print_logging = 0; -int old_accessors = 0; - -static int attr_count; /**< number each attr to avoid inter-entity clashes - several classes use attr_count for naming attr dictionary entry - variables. All but the last function generating code for a particular - entity increment a copy of it for naming each attr in the entity. - Here are the functions: - ENTITYhead_print (Entity entity, FILE* file,Schema schema) - LIBdescribe_entity (Entity entity, FILE* file, Schema schema) - LIBcopy_constructor (Entity ent, FILE* file) - LIBstructor_print (Entity entity, FILE* file, Schema schema) - LIBstructor_print_w_args (Entity entity, FILE* file, Schema schema) - ENTITYincode_print (Entity entity, FILES* files,Schema schema) - DAS - */ -static int type_count; ///< number each temporary type for same reason as \sa attr_count - -extern int any_duplicates_in_select( const Linked_List list ); -extern int unique_types( const Linked_List list ); -extern char * non_unique_types_string( const Type type ); -static void printEnumCreateHdr( FILE *, const Type ); -static void printEnumCreateBody( FILE *, const Type ); -static void printEnumAggrCrHdr( FILE *, const Type ); -static void printEnumAggrCrBody( FILE *, const Type ); -int TYPEget_RefTypeVarNm( const Type t, char * buf, Schema schema ); -void TypeBody_Description( TypeBody body, char * buf ); - -/** - * Turn the string into a new string that will be printed the same as the - * original string. That is, turn backslash into a quoted backslash and - * turn \n into "\n" (i.e. 2 chars). - * - * Mostly replaced by format_for_std_stringout, below. This function is - * still used in one place in ENTITYincode_print(). - */ -char * format_for_stringout( char * orig_buf, char * return_buf ) { - char * optr = orig_buf; - char * rptr = return_buf; - while( *optr ) { - if( *optr == '\n' ) { - *rptr = '\\'; - rptr++; - *rptr = 'n'; - } else if( *optr == '\\' ) { - *rptr = '\\'; - rptr++; - *rptr = '\\'; - } else { - *rptr = *optr; - } - rptr++; - optr++; - } - *rptr = '\0'; - return return_buf; -} - -/** - * Like format_for_stringout above, but splits the static string up - * into numerous small ones that are appended to a std::string named - * 'str'. It is assumed that this string already exists and is empty. - * - * This version takes a file pointer and eliminates use of the temp buffer. - */ -void format_for_std_stringout( FILE * f, const char * orig_buf ) { - const char * optr = orig_buf; - char * s_end = "\\n\" );\n"; - char * s_begin = " str.append( \""; - fprintf( f, "%s", s_begin ); - while( *optr ) { - if( *optr == '\n' ) { - if( * ( optr + 1 ) == '\n' ) { // skip blank lines - optr++; - continue; - } - fprintf( f, "%s", s_end ); - fprintf( f, "%s", s_begin ); - } else if( *optr == '\\' ) { - fprintf( f, "\\\\" ); - } else { - fprintf( f, "%c", *optr ); - } - optr++; - } - fprintf( f, s_end ); - sc_free( orig_buf ); -} - -void USEREFout( Schema schema, Dictionary refdict, Linked_List reflist, char * type, FILE * file ) { - Dictionary dict; - DictionaryEntry de; - struct Rename * r; - Linked_List list; - char td_name[BUFSIZ]; - char sch_name[BUFSIZ]; - - strncpy( sch_name, PrettyTmpName( SCHEMAget_name( schema ) ), BUFSIZ ); - - LISTdo( reflist, s, Schema ) { - fprintf( file, " // %s FROM %s; (all objects)\n", type, s->symbol.name ); - fprintf( file, " is = new Interface_spec(\"%s\",\"%s\");\n", sch_name, PrettyTmpName( s->symbol.name ) ); - fprintf( file, " is->all_objects_(1);\n" ); - if( !strcmp( type, "USE" ) ) { - fprintf( file, " %s::schema->use_interface_list_()->Append(is);\n", SCHEMAget_name( schema ) ); - } else { - fprintf( file, " %s::schema->ref_interface_list_()->Append(is);\n", SCHEMAget_name( schema ) ); - } - } - LISTod - - if( !refdict ) { - return; - } - dict = DICTcreate( 10 ); - - /* sort each list by schema */ - - /* step 1: for each entry, store it in a schema-specific list */ - DICTdo_init( refdict, &de ); - while( 0 != ( r = ( struct Rename * )DICTdo( &de ) ) ) { - Linked_List list; - - list = ( Linked_List )DICTlookup( dict, r->schema->symbol.name ); - if( !list ) { - list = LISTcreate(); - DICTdefine( dict, r->schema->symbol.name, ( Generic ) list, - ( Symbol * )0, OBJ_UNKNOWN ); - } - LISTadd( list, ( Generic ) r ); - } - - /* step 2: for each list, print out the renames */ - DICTdo_init( dict, &de ); - while( 0 != ( list = ( Linked_List )DICTdo( &de ) ) ) { - bool first_time = true; - LISTdo( list, r, struct Rename * ) - - /* note: SCHEMAget_name(r->schema) equals r->schema->symbol.name) */ - if( first_time ) { - fprintf( file, " // %s FROM %s (selected objects)\n", type, r->schema->symbol.name ); - fprintf( file, " is = new Interface_spec(\"%s\",\"%s\");\n", sch_name, PrettyTmpName( r->schema->symbol.name ) ); - if( !strcmp( type, "USE" ) ) { - fprintf( file, " %s::schema->use_interface_list_()->Append(is);\n", SCHEMAget_name( schema ) ); - } else { - fprintf( file, " %s::schema->ref_interface_list_()->Append(is);\n", SCHEMAget_name( schema ) ); - } - } - - if( first_time ) { - first_time = false; - } - if( r->type == OBJ_TYPE ) { - sprintf( td_name, "%s", TYPEtd_name( ( Type )r->object ) ); - } else if( r->type == OBJ_FUNCTION ) { - sprintf( td_name, "/* Function not implemented */ 0" ); - } else if( r->type == OBJ_PROCEDURE ) { - sprintf( td_name, "/* Procedure not implemented */ 0" ); - } else if( r->type == OBJ_RULE ) { - sprintf( td_name, "/* Rule not implemented */ 0" ); - } else if( r->type == OBJ_ENTITY ) { - sprintf( td_name, "%s%s%s", - SCOPEget_name( ( ( Entity )r->object )->superscope ), - ENT_PREFIX, ENTITYget_name( ( Entity )r->object ) ); - } else { - sprintf( td_name, "/* %c from OBJ_? in expbasic.h not implemented */ 0", r->type ); - } - if( r->old != r->nnew ) { - fprintf( file, " // object %s AS %s\n", r->old->name, - r->nnew->name ); - if( !strcmp( type, "USE" ) ) { - fprintf( file, " ui = new Used_item(\"%s\", %s, \"%s\", \"%s\");\n", r->schema->symbol.name, td_name, r->old->name, r->nnew->name ); - fprintf( file, " is->explicit_items_()->Append(ui);\n" ); - fprintf( file, " %s::schema->interface_().explicit_items_()->Append(ui);\n", SCHEMAget_name( schema ) ); - } else { - fprintf( file, " ri = new Referenced_item(\"%s\", %s, \"%s\", \"%s\");\n", r->schema->symbol.name, td_name, r->old->name, r->nnew->name ); - fprintf( file, " is->explicit_items_()->Append(ri);\n" ); - fprintf( file, " %s::schema->interface_().explicit_items_()->Append(ri);\n", SCHEMAget_name( schema ) ); - } - } else { - fprintf( file, " // object %s\n", r->old->name ); - if( !strcmp( type, "USE" ) ) { - fprintf( file, " ui = new Used_item(\"%s\", %s, \"\", \"%s\");\n", r->schema->symbol.name, td_name, r->nnew->name ); - fprintf( file, " is->explicit_items_()->Append(ui);\n" ); - fprintf( file, " %s::schema->interface_().explicit_items_()->Append(ui);\n", SCHEMAget_name( schema ) ); - } else { - fprintf( file, " ri = new Referenced_item(\"%s\", %s, \"\", \"%s\");\n", r->schema->symbol.name, td_name, r->nnew->name ); - fprintf( file, " is->explicit_items_()->Append(ri);\n" ); - fprintf( file, " %s::schema->interface_().explicit_items_()->Append(ri);\n", SCHEMAget_name( schema ) ); - } - } - LISTod - } - HASHdestroy( dict ); -} - -const char * IdlEntityTypeName( Type t ) { - static char name [BUFSIZ]; - strcpy( name, TYPE_PREFIX ); - if( TYPEget_name( t ) ) { - strcpy( name, FirstToUpper( TYPEget_name( t ) ) ); - } else { - return TYPEget_ctype( t ); - } - return name; -} - -const char * GetAggrElemType( const Type type ) { - Class_Of_Type class; - Type bt; - static char retval [BUFSIZ]; - - if( isAggregateType( type ) ) { - bt = TYPEget_nonaggregate_base_type( type ); - if( isAggregateType( bt ) ) { - strcpy( retval, "ERROR_aggr_of_aggr" ); - } - - class = TYPEget_type( bt ); - - /* case TYPE_INTEGER: */ - if( class == integer_ ) { - strcpy( retval, "long" ); - } - - /* case TYPE_REAL: - case TYPE_NUMBER: */ - if( ( class == number_ ) || ( class == real_ ) ) { - strcpy( retval, "double" ); - } - - /* case TYPE_ENTITY: */ - if( class == entity_ ) { - strcpy( retval, IdlEntityTypeName( bt ) ); - } - - /* case TYPE_ENUM: */ - /* case TYPE_SELECT: */ - if( ( class == enumeration_ ) - || ( class == select_ ) ) { - strcpy( retval, TYPEget_ctype( bt ) ); - } - - /* case TYPE_LOGICAL: */ - if( class == logical_ ) { - strcpy( retval, "Logical" ); - } - - /* case TYPE_BOOLEAN: */ - if( class == boolean_ ) { - strcpy( retval, "Bool" ); - } - - /* case TYPE_STRING: */ - if( class == string_ ) { - strcpy( retval, "string" ); - } - - /* case TYPE_BINARY: */ - if( class == binary_ ) { - strcpy( retval, "binary" ); - } - } - return retval; -} - -const char * TYPEget_idl_type( const Type t ) { - Class_Of_Type class; - static char retval [BUFSIZ]; - - /* aggregates are based on their base type - case TYPE_ARRAY: - case TYPE_BAG: - case TYPE_LIST: - case TYPE_SET: - */ - - if( isAggregateType( t ) ) { - strcpy( retval, GetAggrElemType( t ) ); - - /* case TYPE_ARRAY: */ - if( TYPEget_type( t ) == array_ ) { - strcat( retval, "__array" ); - } - /* case TYPE_LIST: */ - if( TYPEget_type( t ) == list_ ) { - strcat( retval, "__list" ); - } - /* case TYPE_SET: */ - if( TYPEget_type( t ) == set_ ) { - strcat( retval, "__set" ); - } - /* case TYPE_BAG: */ - if( TYPEget_type( t ) == bag_ ) { - strcat( retval, "__bag" ); - } - return retval; - } - - /* the rest is for things that are not aggregates */ - - class = TYPEget_type( t ); - - /* case TYPE_LOGICAL: */ - if( class == logical_ ) { - return ( "Logical" ); - } - - /* case TYPE_BOOLEAN: */ - if( class == boolean_ ) { - return ( "Boolean" ); - } - - /* case TYPE_INTEGER: */ - if( class == integer_ ) { - return ( "SDAI_Integer" ); - } - - /* case TYPE_REAL: - case TYPE_NUMBER: */ - if( ( class == number_ ) || ( class == real_ ) ) { - return ( "SDAI_Real" ); - } - - /* case TYPE_STRING: */ - if( class == string_ ) { - return ( "char *" ); - } - - /* case TYPE_BINARY: */ - if( class == binary_ ) { - return ( AccessType( t ) ); - } - - /* case TYPE_ENTITY: */ - if( class == entity_ ) { - /* better do this because the return type might go away */ - strcpy( retval, IdlEntityTypeName( t ) ); - strcat( retval, "_ptr" ); - return retval; - } - /* case TYPE_ENUM: */ - /* case TYPE_SELECT: */ - if( class == enumeration_ ) { - strncpy( retval, EnumName( TYPEget_name( t ) ), BUFSIZ - 2 ); - - strcat( retval, " /*" ); - strcat( retval, IdlEntityTypeName( t ) ); - strcat( retval, "*/ " ); - return retval; - } - if( class == select_ ) { - return ( IdlEntityTypeName( t ) ); - } - - /* default returns undefined */ - return ( "SCLundefined" ); -} - -int Handle_FedPlus_Args( int i, char * arg ) { - if( ( ( char )i == 's' ) || ( ( char )i == 'S' ) ) { - multiple_inheritance = 0; - } - if( ( ( char )i == 'a' ) || ( ( char )i == 'A' ) ) { - old_accessors = 1; - } - if( ( ( char )i == 'l' ) || ( ( char )i == 'L' ) ) { - print_logging = 1; - } - return 0; -} - -/**************************************************************//** - ** Procedure: generate_attribute_name - ** Parameters: Variable a, an Express attribute; char *out, the C++ name - ** Description: converts an Express name into the corresponding C++ name - ** see relation to generate_dict_attr_name() DAS - ** Side Effects: - ** Status: complete 8/5/93 - ******************************************************************/ -char * generate_attribute_name( Variable a, char * out ) { - char * temp, *p, *q; - int i; - - temp = EXPRto_string( VARget_name( a ) ); - p = StrToLower( temp ); - if( ! strncmp( p, "self\\", 5 ) ) { - p += 5; - } - /* copy p to out */ - /* DAR - fixed so that '\n's removed */ - for( i = 0, q = out; *p != '\0' && i < BUFSIZ; p++ ) { - /* copy p to out, 1 char at time. Skip \n's and spaces, convert - * '.' to '_', and convert to lowercase. */ - if( ( *p != '\n' ) && ( *p != ' ' ) ) { - if( *p == '.' ) { - *q = '_'; - } else { - *q = *p; - } - i++; - q++; - } - } - *q = '\0'; - sc_free( temp ); - return out; -} - -char * generate_attribute_func_name( Variable a, char * out ) { - generate_attribute_name( a, out ); - strncpy( out, StrToLower( out ), BUFSIZ ); - if( old_accessors ) { - out[0] = toupper( out[0] ); - } else { - out[strlen( out )] = '_'; - } - return out; -} - -/**************************************************************//** - ** \fn generate_dict_attr_name - ** \param a, an Express attribute - ** \param out, the C++ name - ** Description: converts an Express name into the corresponding SCL - ** dictionary name. The difference between this and the - ** generate_attribute_name() function is that for derived - ** attributes the name will have the form . - ** where is the name of the parent containing the - ** attribute being derived and is the name of the - ** derived attribute. Both and may - ** contain underscores but and will be - ** separated by a period. generate_attribute_name() generates - ** the same name except and will be - ** separated by an underscore since it is illegal to have a - ** period in a variable name. This function is used for the - ** dictionary name (a string) and generate_attribute_name() - ** will be used for variable and access function names. - ** Side Effects: - ** Status: complete 8/5/93 - ******************************************************************/ -char * generate_dict_attr_name( Variable a, char * out ) { - char * temp, *p, *q; - int j; - - temp = EXPRto_string( VARget_name( a ) ); - p = temp; - if( ! strncmp( StrToLower( p ), "self\\", 5 ) ) { - p = p + 5; - } - /* copy p to out */ - strncpy( out, StrToLower( p ), BUFSIZ ); - /* DAR - fixed so that '\n's removed */ - for( j = 0, q = out; *p != '\0' && j < BUFSIZ; p++ ) { - /* copy p to out, 1 char at time. Skip \n's, and convert to lc. */ - if( *p != '\n' ) { - *q = tolower( *p ); - j++; - q++; - } - } - *q = '\0'; - - sc_free( temp ); - return out; -} - -/**************************************************************//** - ** Procedure: TYPEget_express_type (const Type t) - ** Parameters: const Type t -- type for attribute - ** Returns: a string which is the type as it would appear in Express - ** Description: supplies the type for error messages - and to register the entity - - calls itself recursively to create a description of - aggregate types - ** Side Effects: - ** Status: new 1/24/91 - ******************************************************************/ -char * TYPEget_express_type( const Type t ) { - Class_Of_Type class; - Type bt; - char retval [BUFSIZ]; - char * n, * permval, * aggr_type; - - - /* 1. "DEFINED" types */ - /* case TYPE_ENUM: */ - /* case TYPE_ENTITY: */ - /* case TYPE_SELECT: */ - - n = TYPEget_name( t ); - if( n ) { - PrettyTmpName( n ); - } - - /* 2. "BASE" types */ - class = TYPEget_type( t ); - - /* case TYPE_LOGICAL: */ - if( ( class == boolean_ ) || ( class == logical_ ) ) { - return ( "Logical" ); - } - - /* case TYPE_INTEGER: */ - if( class == integer_ ) { - return ( "Integer " ); - } - - /* case TYPE_REAL: - case TYPE_NUMBER: */ - if( ( class == number_ ) || ( class == real_ ) ) { - return ( "Real " ); - } - - /* case TYPE_STRING: */ - if( class == string_ ) { - return ( "String " ) ; - } - - /* case TYPE_BINARY: */ - if( class == binary_ ) { - return ( "Binary " ) ; - } - - /* AGGREGATES - case TYPE_ARRAY: - case TYPE_BAG: - case TYPE_LIST: - case TYPE_SET: - */ - if( isAggregateType( t ) ) { - bt = TYPEget_nonaggregate_base_type( t ); - class = TYPEget_type( bt ); - - /* case TYPE_ARRAY: */ - if( TYPEget_type( t ) == array_ ) { - aggr_type = "Array"; - } - /* case TYPE_LIST: */ - if( TYPEget_type( t ) == list_ ) { - aggr_type = "List"; - } - /* case TYPE_SET: */ - if( TYPEget_type( t ) == set_ ) { - aggr_type = "Set"; - } - /* case TYPE_BAG: */ - if( TYPEget_type( t ) == bag_ ) { - aggr_type = "Bag"; - } - - sprintf( retval, "%s of %s", - aggr_type, TYPEget_express_type( bt ) ); - - /* this will declare extra memory when aggregate is > 1D */ - - permval = ( char * )sc_malloc( strlen( retval ) * sizeof( char ) + 1 ); - strcpy( permval, retval ); - return permval; - - } - - /* default returns undefined */ - - printf( "WARNING2: type %s is undefined\n", TYPEget_name( t ) ); - return ( "SCLundefined" ); - -} - -/**************************************************************//** - ** Procedure: ATTRsign_access_method - ** Parameters: const Variable a -- attribute to print - access method signature for - ** FILE* file -- file being written to - ** Returns: nothing - ** Description: prints the signature for an access method - ** based on the attribute type - ** DAS i.e. prints the header for the attr. access functions - ** (get and put attr value) in the entity class def in .h file - ** Side Effects: - ** Status: complete 17-Feb-1992 - ******************************************************************/ -void ATTRsign_access_methods( Variable a, FILE * file ) { - - Type t = VARget_type( a ); - char ctype [BUFSIZ]; - char attrnm [BUFSIZ]; - - generate_attribute_func_name( a, attrnm ); - - strncpy( ctype, AccessType( t ), BUFSIZ ); - fprintf( file, " %s %s() const;\n", ctype, attrnm ); - fprintf( file, " void %s (const %s x);\n\n", attrnm, ctype ); - return; -} - -/**************************************************************//** - ** Procedure: ATTRprint_access_methods_get_head - ** Parameters: const Variable a -- attribute to find the type for - ** FILE* file -- file being written - ** Type t - type of the attribute - ** Class_Of_Type class -- type name of the class - ** const char *attrnm -- name of the attribute - ** char *ctype -- (possibly returned) name of the attribute c++ type - ** Returns: name to be used for the type of the c++ access functions - ** Description: prints the access method get head based on the attribute type - ** DAS which being translated is it prints the function header - ** for the get attr value access function defined for an - ** entity class. This is the .cc file version. - ** Side Effects: - ** Status: complete 7/15/93 by DDH - ******************************************************************/ -void ATTRprint_access_methods_get_head( const char * classnm, Variable a, - FILE * file ) { - Type t = VARget_type( a ); - char ctype [BUFSIZ]; /* return type of the get function */ - char funcnm [BUFSIZ]; /* name of member function */ - - generate_attribute_func_name( a, funcnm ); - - /* ///////////////////////////////////////////////// */ - - strncpy( ctype, AccessType( t ), BUFSIZ ); - fprintf( file, "\n%s %s::%s( ) const ", ctype, classnm, funcnm ); - return; -} - -/**************************************************************//** - ** Procedure: ATTRprint_access_methods_put_head - ** Parameters: const Variable a -- attribute to find the type for - ** FILE* file -- file being written to - ** Type t - type of the attribute - ** Class_Of_Type class -- type name of the class - ** const char *attrnm -- name of the attribute - ** char *ctype -- name of the attribute c++ type - ** Returns: name to be used for the type of the c++ access functions - ** Description: prints the access method put head based on the attribute type - ** DAS which being translated is it prints the function header - ** for the put attr value access function defined for an - ** entity class. This is the .cc file version. - ** Side Effects: - ** Status: complete 7/15/93 by DDH - ******************************************************************/ -void ATTRprint_access_methods_put_head( CONST char * entnm, Variable a, FILE * file ) { - - Type t = VARget_type( a ); - char ctype [BUFSIZ]; - char funcnm [BUFSIZ]; - - generate_attribute_func_name( a, funcnm ); - - strncpy( ctype, AccessType( t ), BUFSIZ ); - fprintf( file, "\nvoid\n%s::%s (const %s x)\n\n", entnm, funcnm, ctype ); - - return; -} - -void AGGRprint_access_methods( CONST char * entnm, Variable a, FILE * file, Type t, - char * ctype, char * attrnm ) { - ATTRprint_access_methods_get_head( entnm, a, file ); - fprintf( file, "{\n" ); - fprintf( file, " return (%s) %s_%s;\n}\n", ctype, ( ( a->type->u.type->body->base ) ? "" : "&" ), attrnm ); - ATTRprint_access_methods_put_head( entnm, a, file ); - fprintf( file, "{\n _%s%sShallowCopy (*x);\n}\n", attrnm, ( ( a->type->u.type->body->base ) ? "->" : "." ) ); - return; -} - -/**************************************************************//** - ** Procedure: ATTRprint_access_method - ** Parameters: const Variable a -- attribute to find the type for - ** FILE* file -- file being written to - ** Returns: name to be used for the type of the c++ access functions - ** Description: prints the access method based on the attribute type - ** i.e. get and put value access functions defined in a class - ** generated for an entity. - ** Side Effects: - ** Status: complete 1/15/91 - ** updated 17-Feb-1992 to print to library file instead of header - ** updated 15-July-1993 to call the get/put head functions by DDH - ******************************************************************/ -void ATTRprint_access_methods( CONST char * entnm, Variable a, FILE * file ) { - Type t = VARget_type( a ); - Class_Of_Type class; - char ctype [BUFSIZ]; /* type of data member */ - char return_type [BUFSIZ]; - char attrnm [BUFSIZ]; - char membernm[BUFSIZ]; - char funcnm [BUFSIZ]; /* name of member function */ - - char nm [BUFSIZ]; - /* I believe nm has the name of the underlying type without Sdai in - front of it */ - if( TYPEget_name( t ) ) { - strncpy( nm, FirstToUpper( TYPEget_name( t ) ), BUFSIZ - 1 ); - } - - generate_attribute_func_name( a, funcnm ); - generate_attribute_name( a, attrnm ); - strcpy( membernm, attrnm ); - membernm[0] = toupper( membernm[0] ); - class = TYPEget_type( t ); - strncpy( ctype, AccessType( t ), BUFSIZ ); - - if( isAggregate( a ) ) { - AGGRprint_access_methods( entnm, a, file, t, ctype, attrnm ); - return; - } - ATTRprint_access_methods_get_head( entnm, a, file ); - - /* case TYPE_ENTITY: */ - if( class == entity_ ) { - - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " logStream->open(SCLLOGFILE,ios::app);\n" ); - fprintf( file, " if(! (_%s == S_ENTITY_NULL) )\n {\n", attrnm ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << \"reference to Sdai%s entity #\" << _%s->STEPfile_id << std::endl;\n", - nm, attrnm ); - fprintf( file, " }\n else\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << \"null entity\" << std::endl;\n }\n" ); - fprintf( file, " logStream->close();\n" ); - fprintf( file, " }\n" ); - fprintf( file, "#endif\n" ); - } - fprintf( file, " return (%s) _%s;\n}\n", ctype, attrnm ); - - ATTRprint_access_methods_put_head( entnm, a, file ); - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "\n" ); - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " logStream->open(SCLLOGFILE,ios::app);\n" ); - - fprintf( file, " if(! (x == S_ENTITY_NULL) )\n {\n" ); - - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() assigned: \";\n", - entnm, funcnm ); - - fprintf( file, - " *logStream << \"reference to Sdai%s entity #\" << x->STEPfile_id << std::endl;\n", - nm ); - - fprintf( file, " }\n else\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() assigned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << \"null entity\" << std::endl;\n }\n" ); - fprintf( file, " logStream->close();\n" ); - fprintf( file, " }\n" ); - fprintf( file, "#endif\n" ); - } - fprintf( file, " _%s = x;\n}\n", attrnm ); - - return; - } - /* case TYPE_LOGICAL: */ - if( ( class == boolean_ ) || ( class == logical_ ) ) { - - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " logStream->open(SCLLOGFILE,ios::app);\n" ); - fprintf( file, " if(!_%s.is_null())\n {\n", attrnm ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << _%s.element_at(_%s.asInt()) << std::endl;\n", - attrnm, attrnm ); - fprintf( file, " }\n else\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << \"unset\" << std::endl;\n }\n" ); - fprintf( file, " logStream->close();\n" ); - fprintf( file, " }\n" ); - fprintf( file, "#endif\n" ); - } - fprintf( file, " return (%s) _%s;\n}\n", ctype, attrnm ); - - ATTRprint_access_methods_put_head( entnm, a, file ); - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() assigned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << _%s.element_at(x) << std::endl;\n", attrnm ); - fprintf( file, " }\n" ); - fprintf( file, "#endif\n" ); - } - fprintf( file, " _%s.put (x);\n}\n", attrnm ); - return; - } - /* case TYPE_ENUM: */ - if( class == enumeration_ ) { - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " if(!_%s.is_null())\n {\n", attrnm ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << _%s.element_at(_%s.asInt()) << std::endl;\n", - attrnm, attrnm ); - fprintf( file, " }\n else\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << \"unset\" << std::endl;\n }\n }\n" ); - fprintf( file, "#endif\n" ); - } - fprintf( file, " return (%s) _%s;\n}\n", - EnumName( TYPEget_name( t ) ), attrnm ); - - ATTRprint_access_methods_put_head( entnm, a, file ); - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() assigned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << _%s.element_at(x) << std::endl;\n", attrnm ); - fprintf( file, " }\n" ); - fprintf( file, "#endif\n" ); - } - fprintf( file, " _%s.put (x);\n}\n", attrnm ); - return; - } - /* case TYPE_SELECT: */ - if( class == select_ ) { - fprintf( file, " { return (const %s) &_%s; }\n", ctype, attrnm ); - ATTRprint_access_methods_put_head( entnm, a, file ); - fprintf( file, " { _%s = x; }\n", attrnm ); - return; - } - /* case TYPE_AGGRETATES: */ - /* handled in AGGRprint_access_methods(entnm, a, file, t, ctype, attrnm) */ - - - /* case STRING:*/ - /* case TYPE_BINARY: */ - if( ( class == string_ ) || ( class == binary_ ) ) { - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " if(!_%s.is_null())\n {\n", attrnm ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << _%s << std::endl;\n", attrnm ); - fprintf( file, " }\n else\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << \"unset\" << std::endl;\n }\n }\n" ); - fprintf( file, "#endif\n" ); - - } - fprintf( file, " return (const %s) _%s;\n}\n", ctype, attrnm ); - ATTRprint_access_methods_put_head( entnm, a, file ); - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " if(!x)\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << x << std::endl;\n" ); - fprintf( file, " }\n else\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << \"unset\" << std::endl;\n }\n }\n" ); - fprintf( file, "#endif\n" ); - } - fprintf( file, " _%s = x;\n}\n", attrnm ); - return; - } - /* case TYPE_INTEGER: */ - if( class == integer_ ) { - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " if(!(_%s == S_INT_NULL) )\n {\n", attrnm ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << _%s << std::endl;\n", attrnm ); - fprintf( file, " }\n else\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << \"unset\" << std::endl;\n }\n }\n" ); - fprintf( file, "#endif\n" ); - } - /* default: INTEGER */ - /* is the same type as the data member */ - fprintf( file, " return (const %s) _%s;\n}\n", ctype, attrnm ); - ATTRprint_access_methods_put_head( entnm, a, file ); - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " if(!(x == S_INT_NULL) )\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << x << std::endl;\n" ); - fprintf( file, " }\n else\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << \"unset\" << std::endl;\n }\n }\n" ); - fprintf( file, "#endif\n" ); - /* default: INTEGER */ - /* is the same type as the data member */ - } - fprintf( file, " _%s = x;\n}\n", attrnm ); - } - - /* case TYPE_REAL: - case TYPE_NUMBER: */ - if( ( class == number_ ) || ( class == real_ ) ) { - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " if(!(_%s == S_REAL_NULL) )\n {\n", attrnm ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << _%s << std::endl;\n", attrnm ); - fprintf( file, " }\n else\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << \"unset\" << std::endl;\n }\n }\n" ); - fprintf( file, "#endif\n" ); - } - fprintf( file, " return (const %s) _%s;\n}\n", ctype, attrnm ); - ATTRprint_access_methods_put_head( entnm, a, file ); - fprintf( file, "{\n" ); - if( print_logging ) { - fprintf( file, "#ifdef SC_LOGGING\n" ); - fprintf( file, " if(*logStream)\n {\n" ); - fprintf( file, " if(!(_%s == S_REAL_NULL) )\n {\n", attrnm ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << _%s << std::endl;\n", attrnm ); - fprintf( file, " }\n else\n {\n" ); - fprintf( file, " *logStream << time(NULL) << \" SDAI %s::%s() returned: \";\n", - entnm, funcnm ); - fprintf( file, - " *logStream << \"unset\" << std::endl;\n }\n }\n" ); - fprintf( file, "#endif\n" ); - } - fprintf( file, " _%s = x;\n}\n", attrnm ); - } -} - -/****************************************************************** -** Entity Generation */ - -/** - * print entity descriptors and attrdescriptors to the namespace in files->names - * hopefully this file can be safely included everywhere, eliminating use of 'extern' - * - * Nov 2011 - MAP - This function was split out of ENTITYhead_print to enable - * use of a separate header with a namespace. - */ -void ENTITYnames_print( Entity entity, FILE * file, Schema schema ) { - char attrnm [BUFSIZ]; - //Linked_List list; - int attr_count_tmp = attr_count; - Entity super = 0; - - fprintf( file, " extern EntityDescriptor *%s%s;\n", ENT_PREFIX, ENTITYget_name( entity ) ); - - /* DAS print all the attr descriptors and inverse attr descriptors for an - * entity as defs in the .h file. */ - LISTdo( ENTITYget_attributes( entity ), v, Variable ) - generate_attribute_name( v, attrnm ); - fprintf( file, " extern %s *%s%d%s%s;\n", - ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), - ATTR_PREFIX, attr_count_tmp++, - ( VARis_derived( v ) ? "D" : ( VARis_type_shifter( v ) ? "R" : ( VARget_inverse( v ) ? "I" : "" ) ) ), - attrnm ); - LISTod; -} - - -/**************************************************************//** - ** Procedure: ENTITYhead_print - ** Parameters: const Entity entity - ** FILE* file -- file being written to - ** Returns: - ** Description: prints the beginning of the entity class definition for the - ** c++ code and the declaration of attr descriptors for - ** the registry. In the .h file - ** Side Effects: generates c++ code - ** Status: good 1/15/91 - ** added registry things 12-Apr-1993 - ** remove extern keyword - MAP - Nov 2011 - ** split out stuff in namespace to ENTITYdesc_print - MAP - Nov 2011 - ******************************************************************/ -void ENTITYhead_print( Entity entity, FILE * file, Schema schema ) { - char entnm [BUFSIZ]; - Linked_List list; - int attr_count_tmp = attr_count; - Entity super = 0; - - strncpy( entnm, ENTITYget_classname( entity ), BUFSIZ ); - - fprintf( file, "\nclass %s : ", entnm ); - - /* inherit from either supertype entity class or root class of - all - i.e. SDAI_Application_instance */ - - if( multiple_inheritance ) { - list = ENTITYget_supertypes( entity ); - if( ! LISTempty( list ) ) { - super = ( Entity )LISTpeek_first( list ); - } - } else { /* the old way */ - super = ENTITYput_superclass( entity ); - } - - if( super ) { - fprintf( file, " public %s {\n ", ENTITYget_classname( super ) ); - } else { - fprintf( file, " public SDAI_Application_instance {\n" ); - } -} - -/**************************************************************//** - ** Procedure: DataMemberPrintAttr - ** Parameters: Entity entity -- entity being processed - ** Variable a -- attribute being processed - ** FILE* file -- file being written to - ** Returns: - ** Description: prints out the current attribute for an entity's c++ class - ** definition - ******************************************************************/ -void DataMemberPrintAttr( Entity entity, Variable a, FILE * file ) { - char attrnm [BUFSIZ]; - const char * ctype, * etype; - if( VARget_initializer( a ) == EXPRESSION_NULL ) { - ctype = TYPEget_ctype( VARget_type( a ) ); - generate_attribute_name( a, attrnm ); - if( !strcmp( ctype, "SCLundefined" ) ) { - printf( "WARNING: in entity %s:\n", ENTITYget_name( entity ) ); - printf( " the type for attribute %s is not fully implemented\n", attrnm ); - } - if( TYPEis_entity( VARget_type( a ) ) ) { - fprintf( file, " SDAI_Application_instance_ptr _%s ;", attrnm ); - } else if( TYPEis_aggregate( VARget_type( a ) ) ) { - fprintf( file, " %s_ptr _%s ;", ctype, attrnm ); - } else { - fprintf( file, " %s _%s ;", ctype, attrnm ); - } - if( VARget_optional( a ) ) { - fprintf( file, " // OPTIONAL" ); - } - if( isAggregate( a ) ) { - /* if it's a named type, comment the type */ - if( ( etype = TYPEget_name - ( TYPEget_nonaggregate_base_type( VARget_type( a ) ) ) ) ) { - fprintf( file, " // of %s\n", etype ); - } - } - - fprintf( file, "\n" ); - } -} - -/**************************************************************//** - ** Procedure: DataMemberPrint - ** Parameters: const Entity entity -- entity being processed - ** FILE* file -- file being written to - ** Returns: - ** Description: prints out the data members for an entity's c++ class - ** definition - ** Side Effects: generates c++ code - ** Status: ok 1/15/91 - ******************************************************************/ -void DataMemberPrint( Entity entity, Linked_List neededAttr, FILE * file, Schema schema ) { - Linked_List attr_list; - char entnm [BUFSIZ]; - strncpy( entnm, ENTITYget_classname( entity ), BUFSIZ ); /* assign entnm */ - - /* print list of attributes in the protected access area */ - fprintf( file, " protected:\n" ); - - attr_list = ENTITYget_attributes( entity ); - LISTdo( attr_list, attr, Variable ) { - DataMemberPrintAttr( entity, attr, file ); - } - LISTod; - - // add attributes for parent attributes not inherited through C++ inheritance. - if( multiple_inheritance ) { - LISTdo( neededAttr, attr, Variable ) { - DataMemberPrintAttr( entity, attr, file ); - } - LISTod; - } -} - -/**************************************************************//** - ** Procedure: collectAttributes - ** Parameters: Linked_List curList -- current list to store the - ** attributes - ** Entity curEntity -- current Entity being processed - ** int flagParent -- flag control - ** Returns: - ** Description: Retrieve the list of inherited attributes of an - ** entity - ******************************************************************/ -enum CollectType { ALL, ALL_BUT_FIRST, FIRST_ONLY }; - -static void collectAttributes( Linked_List curList, const Entity curEntity, enum CollectType collect ) { - Linked_List parent_list = ENTITYget_supertypes( curEntity ); - - if( ! LISTempty( parent_list ) ) { - if( collect != FIRST_ONLY ) { - // collect attributes from parents and their supertypes - LISTdo( parent_list, e, Entity ) { - if( collect == ALL_BUT_FIRST ) { - // skip first and collect from the rest - collect = ALL; - } else { - // collect attributes of this parent and its supertypes - collectAttributes( curList, e, ALL ); - } - } - LISTod; - } else { - // collect attributes of only first parent and its supertypes - collectAttributes( curList, ( Entity ) LISTpeek_first( parent_list ), ALL ); - } - } - // prepend this entity's attributes to the result list - LISTdo( ENTITYget_attributes( curEntity ), attr, Variable ) { - LISTadd_first( curList, ( Generic ) attr ); - } - LISTod; -} - -/**************************************************************//** - ** Procedure: MemberFunctionSign - ** Parameters: Entity *entity -- entity being processed - ** FILE* file -- file being written to - ** Returns: - ** Description: prints the signature for member functions - of an entity's class definition - ** DAS prints the end of the entity class def and the creation - ** function that the EntityTypeDescriptor uses. - ** Side Effects: prints c++ code to a file - ** Status: ok 1/1/5/91 - ** updated 17-Feb-1992 to print only the signature - and not the function definitions - ******************************************************************/ -void MemberFunctionSign( Entity entity, Linked_List neededAttr, FILE * file ) { - - Linked_List attr_list; - static int entcode = 0; - char entnm [BUFSIZ]; - - strncpy( entnm, ENTITYget_classname( entity ), BUFSIZ ); /* assign entnm */ - - fprintf( file, " public: \n" ); - - /* put in member functions which belong to all entities */ - /* constructor: */ - fprintf( file, "\n %s ( );\n", entnm ); - - fprintf( file, " %s (SDAI_Application_instance *se, int *addAttrs = 0);\n", entnm ); - /* copy constructor*/ - fprintf( file, " %s (%s& e );\n", entnm, entnm ); - /* destructor: */ - fprintf( file, " ~%s ();\n", entnm ); - - fprintf( file, " int opcode () { return %d ; }\n", - entcode++ ); - - /* print signature of access functions for attributes */ - attr_list = ENTITYget_attributes( entity ); - LISTdo( attr_list, a, Variable ) { - if( VARget_initializer( a ) == EXPRESSION_NULL ) { - - /* retrieval and assignment */ - ATTRsign_access_methods( a, file ); - } - } - LISTod; - - /* //////////////// */ - if( multiple_inheritance ) { - // add the EXPRESS inherited attributes which are non - // inherited in C++ - LISTdo( neededAttr, attr, Variable ) { - if( ! VARis_derived( attr ) && ! VARis_overrider( entity, attr ) ) { - ATTRsign_access_methods( attr, file ); - } - } - LISTod; - - } - /* //////////////// */ - fprintf( file, "};\n" ); - - /* print creation function for class */ - fprintf( file, "inline %s *\ncreate_%s () { return new %s ; }\n", - entnm, entnm, entnm ); -} - -/**************************************************************//** - ** Procedure: LIBdescribe_entity (entity, file, schema) - ** Parameters: Entity entity -- entity being processed - ** FILE* file -- file being written to - ** Schema schema -- schema being processed - ** Returns: - ** Description: declares the global pointer to the EntityDescriptor - representing a particular entity - ** DAS also prints the attr descs and inverse attr descs - ** This function creates the storage space for the externs defs - ** that were defined in the .h file. These global vars go in - ** the .cc file. - ** Side Effects: prints c++ code to a file - ** Status: ok 12-Apr-1993 - ******************************************************************/ -void LIBdescribe_entity( Entity entity, FILE * file, Schema schema ) { - Linked_List list; - int attr_count_tmp = attr_count; - char attrnm [BUFSIZ]; - - fprintf( file, "EntityDescriptor * %s::%s%s = 0;\n", SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); - - LISTdo( ENTITYget_attributes( entity ), v, Variable ) - generate_attribute_name( v, attrnm ); - fprintf( file, "%s * %s::%s%d%s%s = 0;\n", - ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), - SCHEMAget_name( schema ), ATTR_PREFIX, attr_count_tmp++, - ( VARis_derived( v ) ? "D" : ( VARis_type_shifter( v ) ? "R" : ( VARget_inverse( v ) ? "I" : "" ) ) ), attrnm ); - LISTod - -} - -/**************************************************************//** - ** Procedure: LIBmemberFunctionPrint - ** Parameters: Entity *entity -- entity being processed - ** FILE* file -- file being written to - ** Returns: - ** Description: prints the member functions for the class - representing an entity. These go in the .cc file - ** Side Effects: prints c++ code to a file - ** Status: ok 17-Feb-1992 - ******************************************************************/ -void LIBmemberFunctionPrint( Entity entity, Linked_List neededAttr, FILE * file ) { - - Linked_List attr_list; - char entnm [BUFSIZ]; - - strncpy( entnm, ENTITYget_classname( entity ), BUFSIZ ); /* assign entnm */ - - /* 1. put in member functions which belong to all entities */ - /* the common function are still in the class definition 17-Feb-1992 */ - - /* 2. print access functions for attributes */ - attr_list = ENTITYget_attributes( entity ); - LISTdo( attr_list, a, Variable ) - /* do for EXPLICIT, REDEFINED, and INVERSE attributes - but not DERIVED */ - if( ! VARis_derived( a ) ) { - - /* retrieval and assignment */ - ATTRprint_access_methods( entnm, a, file ); - } - LISTod; - /* //////////////// */ - if( multiple_inheritance ) { - LISTdo( neededAttr, attr, Variable ) { - if( ! VARis_derived( attr ) && ! VARis_overrider( entity, attr ) ) { - ATTRprint_access_methods( entnm, attr, file ); - } - } - LISTod; - } - /* //////////////// */ - -} - -/**************************************************************//** - ** Procedure: ENTITYinc_print - ** Parameters: Entity *entity -- entity being processed - ** FILE* file -- file being written to - ** Returns: - ** Description: drives the generation of the c++ class definition code - ** Side Effects: prints segment of the c++ .h file - ** Status: ok 1/15/91 - ******************************************************************/ -void ENTITYinc_print( Entity entity, Linked_List neededAttr, FILE * file, Schema schema ) { - ENTITYhead_print( entity, file, schema ); - DataMemberPrint( entity, neededAttr, file, schema ); - MemberFunctionSign( entity, neededAttr, file ); -} - -/**************************************************************//** - ** Procedure: LIBcopy_constructor - ** Parameters: - ** Returns: - ** Description: - ** Side Effects: - ** Status: not used 17-Feb-1992 - ******************************************************************/ -void LIBcopy_constructor( Entity ent, FILE * file ) { - Linked_List attr_list; - Class_Of_Type class; - Type t; - char buffer [BUFSIZ], - attrnm[BUFSIZ], - *b = buffer; - int count = attr_count; - - const char * entnm = ENTITYget_classname( ent ); - const char * StrToLower( const char * word ); - - /*mjm7/10/91 copy constructor definition */ - fprintf( file, " %s::%s(%s& e )\n", entnm, entnm, entnm ); - fprintf( file, " {" ); - - /* attributes */ - attr_list = ENTITYget_attributes( ent ); - LISTdo( attr_list, a, Variable ) - if( VARget_initializer( a ) == EXPRESSION_NULL ) { - /* include attribute if it is not derived */ - generate_attribute_name( a, attrnm ); - t = VARget_type( a ); - class = TYPEget_type( t ); - - /* 1. initialize everything to NULL (even if not optional) */ - - /* default: to intialize attribute to NULL */ - sprintf( b, " _%s = e.%s();\n", attrnm, attrnm ); - - /*mjm7/11/91 case TYPE_STRING */ - if( ( class == string_ ) || ( class == binary_ ) ) { - sprintf( b, " _%s = strdup(e.%s());\n", attrnm, attrnm ); - } - - - /* case TYPE_ENTITY: */ - if( class == entity_ ) { - sprintf( b, " _%s = e.%s();\n", attrnm, attrnm ); - } - /* previous line modified to conform with SDAI C++ Binding for PDES, Inc. Prototyping 5/22/91 CD */ - - /* case TYPE_ENUM: */ - if( class == enumeration_ ) { - sprintf( b, " _%s.put(e.%s().asInt());\n", attrnm, attrnm ); - } - /* case TYPE_SELECT: */ - if( class == select_ ) { - sprintf( b, "DDDDDDD _%s.put(e.%s().asInt());\n", attrnm, attrnm ); - } - /* case TYPE_BOOLEAN */ - if( class == boolean_ ) { - sprintf( b, " _%s.put(e.%s().asInt());\n", attrnm, attrnm ); - } - /* previous line modified to conform with SDAI C++ Binding for PDES, Inc. Prototyping 5/22/91 CD */ - - /* case TYPE_LOGICAL */ - if( class == logical_ ) { - sprintf( b, " _%s.put(e.%s().asInt());\n", attrnm, attrnm ); - } - /* previous line modified to conform with SDAI C++ Binding for PDES, Inc. Prototyping 5/22/91 CD */ - - /* case TYPE_ARRAY: - case TYPE_LIST: - case TYPE_SET: - case TYPE_BAG: */ - if( isAggregateType( t ) ) { - *b = '\0'; - } - - fprintf( file, "%s", b ) ; - - fprintf( file, " attributes.push " ); - - /* 2. put attribute on attributes list */ - - /* default: */ - - fprintf( file, "\n (new STEPattribute(*%s%d%s, %s &_%s));\n", - ATTR_PREFIX, count, - attrnm, - ( TYPEis_entity( t ) ? "(SDAI_Application_instance_ptr *)" : "" ), - attrnm ); - ++count; - - } - LISTod; - fprintf( file, " }\n" ); -} - -int get_attribute_number( Entity entity ) { - int i = 0; - int found = 0; - Linked_List local, complete; - complete = ENTITYget_all_attributes( entity ); - local = ENTITYget_attributes( entity ); - - LISTdo( local, a, Variable ) - /* go to the child's first explicit attribute */ - if( ( ! VARget_inverse( a ) ) && ( ! VARis_derived( a ) ) ) { - LISTdo( complete, p, Variable ) - /* cycle through all the explicit attributes until the - child's attribute is found */ - if( !found && ( ! VARget_inverse( p ) ) && ( ! VARis_derived( p ) ) ) { - if( p != a ) { - ++i; - } else { - found = 1; - } - } - LISTod; - if( found ) { - return i; - } else printf( "Internal error: %s:%d\n" - "Attribute %s not found.\n" - , __FILE__, __LINE__, EXPget_name( VARget_name( a ) ) ); - } - - LISTod; - return -1; -} - -/**************************************************************//** - ** Procedure: LIBstructor_print - ** Parameters: Entity *entity -- entity being processed - ** FILE* file -- file being written to - ** Returns: - ** Description: prints the c++ code for entity class's - ** constructor and destructor. goes to .cc file - ** Side Effects: generates codes segment in c++ .cc file - ** Status: ok 1/15/91 - ** Changes: Modified generator to initialize attributes to NULL based - ** on the NULL symbols defined in "SDAI C++ Binding for PDES, - ** Inc. Prototyping" by Stephen Clark. - ** Change Date: 5/22/91 CD - ** Changes: Modified STEPattribute constructors to take fewer arguments - ** 21-Dec-1992 -kcm - ******************************************************************/ -void LIBstructor_print( Entity entity, FILE * file, Schema schema ) { - Linked_List attr_list; - Type t; - char attrnm [BUFSIZ]; - - Linked_List list; - int super_cnt = 0; - Entity principalSuper = 0; - - const char * entnm = ENTITYget_classname( entity ); - int count = attr_count; - int first = 1; - - /* constructor definition */ - fprintf( file, "%s::%s( )\n", entnm, entnm ); - fprintf( file, "{\n" ); - - /* ////MULTIPLE INHERITANCE//////// */ - - if( multiple_inheritance ) { - fprintf( file, "\n" ); - list = ENTITYget_supertypes( entity ); - if( ! LISTempty( list ) ) { - if( LISTget_length( list ) > 1 ) { - fprintf( file, "#if 1\n" ); - fprintf( file, " int attrFlags[3];\n" ); - fprintf( file, "#endif\n" ); - } - - LISTdo( list, e, Entity ) - /* if there\'s no super class yet, - or the super class doesn\'t have any attributes - */ - fprintf( file, " /* parent: %s */\n", ENTITYget_classname( e ) ); - - super_cnt++; - if( super_cnt == 1 ) { - /* ignore the 1st parent */ - fprintf( file, - " /* Ignore the first parent since it is */\n %s\n", - " /* part of the main inheritance hierarchy */" ); - principalSuper = e; /* principal SUPERTYPE */ - } else { - fprintf( file, " HeadEntity(this);\n" ); - fprintf( file, "#if 1\n" ); - fprintf( file, - " /* Optionally use the following to replace the line following\n" ); - fprintf( file, - " the endif. Use this to turn off adding attributes in\n" ); - fprintf( file, - " diamond shaped hierarchies for each additional parent at this\n" ); - fprintf( file, - " level. You currently must hand edit this for it to work. */\n" ); - fprintf( file, " attrFlags[0] = 1; // add parents attrs\n" ); - fprintf( file, - " attrFlags[1] = 0; // add parent of parents attrs\n" ); - fprintf( file, - " attrFlags[2] = 0; // do not add parent of parent of parents attrs\n" ); - fprintf( file, - " // In *imaginary* hierarchy turn off attrFlags[2] since it\n" ); - fprintf( file, - " // would be the parent that has more than one path to it.\n" ); - fprintf( file, - " AppendMultInstance(new %s(this, attrFlags));\n", - ENTITYget_classname( e ) ); - fprintf( file, "#else\n" ); - - fprintf( file, " AppendMultInstance(new %s(this));\n", - ENTITYget_classname( e ) ); - fprintf( file, "#endif\n" ); - - if( super_cnt == 2 ) { - printf( "\nMULTIPLE INHERITANCE for entity: %s\n", - ENTITYget_name( entity ) ); - printf( " SUPERTYPE 1: %s (principal supertype)\n", - ENTITYget_name( principalSuper ) ); - } - printf( " SUPERTYPE %d: %s\n", super_cnt, ENTITYget_name( e ) ); - } - LISTod; - - } else { /* if entity has no supertypes, it's at top of hierarchy */ - fprintf( file, " /* no SuperTypes */\n" ); - } - } - - /* what if entity comes from other schema? - * It appears that entity.superscope.symbol.name is the schema name (but only if entity.superscope.type == 's'?) --MAP 27Nov11 - */ - fprintf( file, "\n eDesc = %s::%s%s;\n", - SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); - - attr_list = ENTITYget_attributes( entity ); - - LISTdo( attr_list, a, Variable ) - if( VARget_initializer( a ) == EXPRESSION_NULL ) { - /* include attribute if it is not derived */ - generate_attribute_name( a, attrnm ); - t = VARget_type( a ); - - if( ( ! VARget_inverse( a ) ) && ( ! VARis_derived( a ) ) ) { - /* 1. create a new STEPattribute */ - - // if type is aggregate, the variable is a pointer and needs initialized - if( TYPEis_aggregate( t ) ) { - fprintf( file, " _%s = new %s;\n", attrnm, TYPEget_ctype( t ) ); - } - fprintf( file, " %sa = new STEPattribute(*%s::%s%d%s%s, %s %s_%s);\n", - ( first ? "STEPattribute *" : "" ), // first time through, declare 'a' - SCHEMAget_name( schema ), - ATTR_PREFIX, count, - ( VARis_type_shifter( a ) ? "R" : "" ), - attrnm, - ( TYPEis_entity( t ) ? "(SDAI_Application_instance_ptr *)" : "" ), - ( TYPEis_aggregate( t ) ? "" : "&" ), - attrnm ); - if( first ) { - first = 0 ; - } - /* 2. initialize everything to NULL (even if not optional) */ - - fprintf( file, " a -> set_null ();\n" ); - - /* 3. put attribute on attributes list */ - fprintf( file, " attributes.push (a);\n" ); - - /* if it is redefining another attribute make connection of - redefined attribute to redefining attribute */ - if( VARis_type_shifter( a ) ) { - fprintf( file, " MakeRedefined(a, \"%s\");\n", - VARget_simple_name( a ) ); - } - } - count++; - } - - LISTod; - - attr_list = ENTITYget_all_attributes( entity ); - - LISTdo( attr_list, a, Variable ) - if( VARis_derived( a ) ) { - fprintf( file, " MakeDerived (\"%s\");\n", - VARget_simple_name( a ) ); - } - LISTod; - fprintf( file, "}\n" ); - - /* copy constructor */ - /* LIBcopy_constructor (entity, file); */ - entnm = ENTITYget_classname( entity ); - fprintf( file, "%s::%s (%s& e )\n", entnm, entnm, entnm ); - - /* include explicit initialization of base class */ - if( principalSuper ) { - fprintf( file, " : %s()\n", ENTITYget_classname( principalSuper ) ); - } else { - fprintf( file, " : SDAI_Application_instance()\n" ); - } - - fprintf( file, " { CopyAs((SDAI_Application_instance_ptr) &e); }\n" ); - - /* print destructor */ - /* currently empty, but should check to see if any attributes need - to be deleted -- attributes will need reference count */ - - entnm = ENTITYget_classname( entity ); - fprintf( file, "%s::~%s () {\n", entnm, entnm ); - - attr_list = ENTITYget_attributes( entity ); - - LISTdo( attr_list, a, Variable ) - if( VARget_initializer( a ) == EXPRESSION_NULL ) { - generate_attribute_name( a, attrnm ); - t = VARget_type( a ); - - if( ( ! VARget_inverse( a ) ) && ( ! VARis_derived( a ) ) ) { - if( TYPEis_aggregate( t ) ) { - fprintf( file, " delete _%s;\n", attrnm ); - } - } - } - LISTod; - - fprintf( file, "}\n" ); -} - -/********************/ -/** print the constructor that accepts a SDAI_Application_instance as an argument used - when building multiply inherited entities. - \sa LIBstructor_print() -*/ -void LIBstructor_print_w_args( Entity entity, FILE * file, Schema schema ) { - Linked_List attr_list; - Type t; - char attrnm [BUFSIZ]; - - Linked_List list; - int super_cnt = 0; - - /* added for calling parents constructor if there is one */ - char parentnm [BUFSIZ]; - char * parent = 0; - Entity parentEntity = 0; - - const char * entnm; - int count = attr_count; - int first = 1; - - if( multiple_inheritance ) { - list = ENTITYget_supertypes( entity ); - if( ! LISTempty( list ) ) { - parentEntity = ( Entity )LISTpeek_first( list ); - if( parentEntity ) { - strcpy( parentnm, ENTITYget_classname( parentEntity ) ); - parent = parentnm; - } else { - parent = 0; /* no parent */ - } - } else { - parent = 0; /* no parent */ - } - - /* ENTITYget_classname returns a static buffer so don't call it twice - before it gets used - (I didn't write it) - I had to move it below - the above use. DAS */ - entnm = ENTITYget_classname( entity ); - /* constructor definition */ - if( parent ) - fprintf( file, "%s::%s (SDAI_Application_instance *se, int *addAttrs) : %s(se, (addAttrs ? &addAttrs[1] : 0))\n", entnm, entnm, - parentnm ); - else { - fprintf( file, "%s::%s( SDAI_Application_instance *se, int *addAttrs)\n", entnm, entnm ); - } - - fprintf( file, "{\n" ); - - fprintf( file, " /* Set this to point to the head entity. */\n" ); - fprintf( file, " HeadEntity(se);\n" ); - fprintf( file, " (void)addAttrs; /* quell potentially unused var */\n" ); - - fprintf( file, "\n" ); - list = ENTITYget_supertypes( entity ); - if( ! LISTempty( list ) ) { - if( LISTget_length( list ) > 1 ) { - fprintf( file, "#if 0\n" ); - fprintf( file, " int attrFlags[3];\n" ); - fprintf( file, "#endif\n" ); - } - - LISTdo( list, e, Entity ) - /* if there\'s no super class yet, - or the super class doesn\'t have any attributes - */ - fprintf( file, " /* parent: %s */\n", ENTITYget_classname( e ) ); - - super_cnt++; - if( super_cnt == 1 ) { - /* ignore the 1st parent */ - fprintf( file, - " /* Ignore the first parent since it is */\n %s\n", - " /* part of the main inheritance hierarchy */" ); - } else { - fprintf( file, "#if 0\n" ); - fprintf( file, - " /* Optionally use the following to replace the line following\n" ); - fprintf( file, - " the endif. Use this to turn off adding attributes in\n" ); - fprintf( file, - " diamond shaped hierarchies for each additional parent at this\n" ); - fprintf( file, - " level. You currently must hand edit this for it to work. */\n" ); - fprintf( file, " attrFlags[0] = 1; // add parents attrs\n" ); - fprintf( file, - " attrFlags[1] = 1; // add parent of parents attrs\n" ); - fprintf( file, - " attrFlags[2] = 0; // do not add parent of parent of parents attrs\n" ); - fprintf( file, - " // In *imaginary* hierarchy turn off attrFlags[2] since it\n" ); - fprintf( file, - " // would be the parent that has more than one path to it.\n" ); - fprintf( file, - " se->AppendMultInstance(new %s(se, attrFlags));\n", - ENTITYget_classname( e ) ); - fprintf( file, "#endif\n" ); - fprintf( file, " se->AppendMultInstance(new %s(se, 0));\n", - ENTITYget_classname( e ) ); - } - LISTod; - - } else { /* if entity has no supertypes, it's at top of hierarchy */ - fprintf( file, " /* no SuperTypes */\n" ); - } - - /* what if entity comes from other schema? */ - fprintf( file, "\n eDesc = %s::%s%s;\n", - SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); - - attr_list = ENTITYget_attributes( entity ); - - LISTdo( attr_list, a, Variable ) - if( VARget_initializer( a ) == EXPRESSION_NULL ) { - /* include attribute if it is not derived */ - generate_attribute_name( a, attrnm ); - t = VARget_type( a ); - - if( ( ! VARget_inverse( a ) ) && ( ! VARis_derived( a ) ) ) { - /* 1. create a new STEPattribute */ - - // if type is aggregate, the variable is a pointer and needs initialized - if( TYPEis_aggregate( t ) ) { - fprintf( file, " _%s = new %s;\n", attrnm, TYPEget_ctype( t ) ); - } - fprintf( file, " %sa = new STEPattribute(*%s::%s%d%s%s, %s %s_%s);\n", - ( first ? "STEPattribute *" : "" ), // first time through, declare a - SCHEMAget_name( schema ), - ATTR_PREFIX, count, - ( VARis_type_shifter( a ) ? "R" : "" ), - attrnm, - ( TYPEis_entity( t ) ? "(SDAI_Application_instance_ptr *)" : "" ), - ( TYPEis_aggregate( t ) ? "" : "&" ), - attrnm ); - - if( first ) { - first = 0 ; - } - /* 2. initialize everything to NULL (even if not optional) */ - - fprintf( file, " a -> set_null ();\n" ); - - fprintf( file, - " /* Put attribute on this class' %s\n", - "attributes list so the */\n /*access functions still work. */" ); - /* 3. put attribute on this class' attributes list so the - access functions still work */ - fprintf( file, " attributes.push (a);\n" ); - fprintf( file, - " /* Put attribute on the attributes list %s\n", - "for the */\n /* main inheritance heirarchy. */" ); - /* 4. put attribute on attributes list for the main - inheritance heirarchy */ - fprintf( file, " if(!addAttrs || addAttrs[0])\n" ); - fprintf( file, " se->attributes.push (a);\n" ); - - /* if it is redefining another attribute make connection of - redefined attribute to redefining attribute */ - if( VARis_type_shifter( a ) ) { - fprintf( file, " MakeRedefined(a, \"%s\");\n", - VARget_simple_name( a ) ); - } - } - count++; - } - - LISTod; - - attr_list = ENTITYget_all_attributes( entity ); - - LISTdo( attr_list, a, Variable ) - if( VARis_derived( a ) ) { - fprintf( file, " MakeDerived (\"%s\");\n", - VARget_simple_name( a ) ); - } - LISTod; - fprintf( file, "}\n" ); - } /* end if(multiple_inheritance) */ - -} - -/**************************************************************//** - ** Procedure: ENTITYlib_print - ** Parameters: Entity *entity -- entity being processed - ** FILE* file -- file being written to - ** Returns: - ** Description: drives the printing of the code for the class library - ** additional member functions can be generated by writing a routine - ** to generate the code and calling that routine from this procedure - ** Side Effects: generates code segment for c++ library file - ** Status: ok 1/15/91 - ******************************************************************/ -void ENTITYlib_print( Entity entity, Linked_List neededAttr, FILE * file, Schema schema ) { - LIBdescribe_entity( entity, file, schema ); - LIBstructor_print( entity, file, schema ); - if( multiple_inheritance ) { - LIBstructor_print_w_args( entity, file, schema ); - } - LIBmemberFunctionPrint( entity, neededAttr, file ); -} - -/** return 1 if types are predefined by us */ -bool TYPEis_builtin( const Type t ) { - switch( TYPEget_body( t )->type ) { /* dunno if correct*/ - case integer_: - case real_: - case string_: - case binary_: - case boolean_: - case number_: - case logical_: - return true; - default: - break; - } - return false; -} - -/** - * For aggregates, initialize Bound1, Bound2, OptionalElements, UniqueElements. - * Handles bounds that depend on attributes (via SetBound1FromMemberAccessor() ), or - * on function calls (via SetBound1FromExpressFuncall() ). In C++, runtime bounds - * look like `t_0->Bound2FromMemberAccessor(SdaiStructured_mesh::index_count_);` - * \param f the file to write to - * \param t the Type - * \param var_name the name of the C++ variable, such as t_1 or schema::t_name - */ -void AGGRprint_init( FILES * files, const Type t, const char * var_name, const char * aggr_name ) { - if( !TYPEget_head( t ) ) { - //the code for lower and upper is almost identical - if( TYPEget_body( t )->lower ) { - if( TYPEget_body( t )->lower->symbol.resolved ) { - if( TYPEget_body( t )->lower->type == Type_Funcall ) { - fprintf( files->init, " %s->SetBound1FromExpressFuncall(\"%s\");\n", var_name, - EXPRto_string( TYPEget_body( t )->lower ) ); - } else { - fprintf( files->init, " %s->SetBound1(%d);\n", var_name, TYPEget_body( t )->lower->u.integer ); - } - } else { //resolved == 0 seems to mean that this is Type_Runtime - assert( ( t->superscope ) && ( t->superscope->symbol.name ) && ( TYPEget_body( t )->lower->e.op2 ) && - ( TYPEget_body( t )->lower->e.op2->symbol.name ) ); - fprintf( files->init, " %s->SetBound1FromMemberAccessor( &getBound1_%s__%s );\n", var_name, - ClassName( t->superscope->symbol.name ), aggr_name ); - fprintf( files->helpers, "inline SDAI_Integer getBound1_%s__%s( SDAI_Application_instance* this_ptr ) {\n", - ClassName( t->superscope->symbol.name ), aggr_name ); - fprintf( files->helpers, " return ( (%s *) this_ptr)->%s_();\n}\n", - ClassName( t->superscope->symbol.name ), TYPEget_body( t )->lower->e.op2->symbol.name ); - } - } - if( TYPEget_body( t )->upper ) { - if( TYPEget_body( t )->upper->symbol.resolved ) { - if( TYPEget_body( t )->upper->type == Type_Funcall ) { - fprintf( files->init, " %s->SetBound2FromExpressFuncall(\"%s\");\n", var_name, - EXPRto_string( TYPEget_body( t )->upper ) ); - } else { - fprintf( files->init, " %s->SetBound2(%d);\n", var_name, TYPEget_body( t )->upper->u.integer ); - } - } else { //resolved == 0 seems to mean that this is Type_Runtime - assert( ( t->superscope ) && ( t->superscope->symbol.name ) && ( TYPEget_body( t )->upper->e.op2 ) && - ( TYPEget_body( t )->upper->e.op2->symbol.name ) ); - fprintf( files->init, " %s->SetBound2FromMemberAccessor( &getBound2_%s__%s );\n", var_name, - ClassName( t->superscope->symbol.name ), aggr_name ); - fprintf( files->helpers, "inline SDAI_Integer getBound2_%s__%s( SDAI_Application_instance* this_ptr ) {\n", - ClassName( t->superscope->symbol.name ), aggr_name ); - fprintf( files->helpers, " return ( (%s *) this_ptr)->%s_();\n}\n", - ClassName( t->superscope->symbol.name ), TYPEget_body( t )->upper->e.op2->symbol.name ); - } - } - if( TYPEget_body( t )->flags.unique ) { - fprintf( files->init, " %s->UniqueElements(LTrue);\n", var_name ); - } - if( TYPEget_body( t )->flags.optional ) { - fprintf( files->init, " %s->OptionalElements(LTrue);\n", var_name ); - } - } -} - -/** go down through a type's base type chain, - make and print new TypeDescriptors for each type with no name. - - This function should only be called for types that don't have an - associated Express name. Currently this only includes aggregates. - If this changes this function needs to be changed to support the type - that changed. This function prints TypeDescriptors for types - without names and it will go down through the type chain until it hits - a type that has a name. i.e. when it hits a type with a name it stops. - There are only two places where a type can not have a name - both - cases are aggregate types. - 1. an aggregate created in an attr declaration - e.g. names : ARRAY [1:3] of STRING; - 2. an aggregate that is an element of another aggregate. - e.g. TYPE Label = STRING; END_TYPE; - TYPE listSetOfLabel = LIST of SET of Label; END_TYPE; - LIST of SET of Label has a name i.e. listSetOfReal - SET of Label does not have a name and this function should be called - to generate one. - This function will not generate the code to handle Label. - - Type t contains the Type with no Express name that needs to have - TypeDecriptor[s] generated for it. - buf needs to have space declared enough to hold the name of the var - that can be referenced to refer to the type that was created for - Type t. -*/ -void print_typechain( FILES * files, const Type t, char * buf, Schema schema, const char * type_name ) { - /* if we've been called, current type has no name */ - /* nor is it a built-in type */ - /* the type_count variable is there for debugging purposes */ - - const char * ctype = TYPEget_ctype( t ); - Type base = 0; - int count = type_count++; - char name_buf[MAX_LEN]; - int s; - - switch( TYPEget_body( t )->type ) { - case aggregate_: - case array_: - case bag_: - case set_: - case list_: - /* create a new TypeDescriptor variable, e.g. t1, and new space for it */ - fprintf( files->init, " %s * %s%d = new %s;\n", - GetTypeDescriptorName( t ), TD_PREFIX, count, - GetTypeDescriptorName( t ) ); - - fprintf( files->init, - " %s%d->AssignAggrCreator((AggregateCreator) create_%s);%s", - TD_PREFIX, count, ctype, " // Creator function\n" ); - - s = sprintf( name_buf, "%s%d", TD_PREFIX, count ); - assert( ( s > 0 ) && ( s < MAX_LEN ) ); - AGGRprint_init( files, t, name_buf, type_name ); - - break; - - default: /* this should not happen since only aggregates are allowed to - not have a name. This funct should only be called for aggrs - without names. */ - fprintf( files->init, " TypeDescriptor * %s%d = new TypeDescriptor;\n", - TD_PREFIX, count ); - } - - /* there is no name so name doesn't need to be initialized */ - - fprintf( files->init, " %s%d->FundamentalType(%s);\n", TD_PREFIX, count, - FundamentalType( t, 1 ) ); - fprintf( files->init, " %s%d->Description(\"%s\");\n", TD_PREFIX, count, - TypeDescription( t ) ); - - /* DAS ORIG SCHEMA FIX */ - fprintf( files->init, " %s%d->OriginatingSchema(%s::schema);\n", TD_PREFIX, count, SCHEMAget_name( schema ) ); - - if( TYPEget_RefTypeVarNm( t, name_buf, schema ) ) { - fprintf( files->init, " %s%d->ReferentType(%s);\n", TD_PREFIX, count, name_buf ); - } else { - /* no name, recurse */ - char callee_buffer[MAX_LEN]; - if( TYPEget_body( t ) ) { - base = TYPEget_body( t )->base; - } - print_typechain( files, base, callee_buffer, schema, type_name ); - fprintf( files->init, " %s%d->ReferentType(%s);\n", TD_PREFIX, count, callee_buffer ); - } - sprintf( buf, "%s%d", TD_PREFIX, count ); - - /* Types */ - fprintf( files->init, " %s::schema->AddUnnamedType(%s%d);\n", SCHEMAget_name( schema ), TD_PREFIX, count ); -} - -/**************************************************************//** - ** Procedure: ENTITYincode_print - ** Parameters: Entity *entity -- entity being processed - ** FILE* file -- file being written to - ** Returns: - ** Description: generates code to enter entity in STEP registry - ** This goes to the .init.cc file - ** Side Effects: - ** Status: ok 1/15/91 - ******************************************************************/ -void ENTITYincode_print( Entity entity, FILES * files, Schema schema ) { -#define entity_name ENTITYget_name(entity) -#define schema_name SCHEMAget_name(schema) - const char * cn = ENTITYget_classname( entity ); - char attrnm [BUFSIZ]; - char dict_attrnm [BUFSIZ]; - const char * super_schema; - char * tmp, *tmp2; - -#ifdef NEWDICT - /* DAS New SDAI Dictionary 5/95 */ - /* insert the entity into the schema descriptor */ - fprintf( files->init, - " ((SDAIAGGRH(Set,EntityH))%s::schema->Entities())->Add(%s::%s%s);\n", - schema_name, schema_name, ENT_PREFIX, entity_name ); -#endif - - if( ENTITYget_abstract( entity ) ) { - if( entity->u.entity->subtype_expression ) { - - fprintf( files->init, " str.clear();\n str.append( \"ABSTRACT SUPERTYPE OF ( \" );\n" ); - - format_for_std_stringout( files->init, SUBTYPEto_string( entity->u.entity->subtype_expression ) ); - fprintf( files->init, "\n str.append( \")\" );\n" ); - fprintf( files->init, " %s::%s%s->AddSupertype_Stmt( str );", schema_name, ENT_PREFIX, entity_name ); - } else { - fprintf( files->init, " %s::%s%s->AddSupertype_Stmt( \"ABSTRACT SUPERTYPE\" );\n", - schema_name, ENT_PREFIX, entity_name ); - } - } else { - if( entity->u.entity->subtype_expression ) { - fprintf( files->init, " str.clear();\n str.append( \"SUPERTYPE OF ( \" );\n" ); - format_for_std_stringout( files->init, SUBTYPEto_string( entity->u.entity->subtype_expression ) ); - fprintf( files->init, "\n str.append( \")\" );\n" ); - fprintf( files->init, " %s::%s%s->AddSupertype_Stmt( str );", schema_name, ENT_PREFIX, entity_name ); - } - } - LISTdo( ENTITYget_supertypes( entity ), sup, Entity ) - /* set the owning schema of the supertype */ - super_schema = SCHEMAget_name( ENTITYget_schema( sup ) ); - /* print the supertype list for this entity */ - fprintf( files->init, " %s::%s%s->AddSupertype(%s::%s%s);\n", - schema_name, ENT_PREFIX, entity_name, - super_schema, - ENT_PREFIX, ENTITYget_name( sup ) ); - - /* add this entity to the subtype list of it's supertype */ - fprintf( files->init, " %s::%s%s->AddSubtype(%s::%s%s);\n", - super_schema, - ENT_PREFIX, ENTITYget_name( sup ), - schema_name, ENT_PREFIX, entity_name ); - LISTod - - LISTdo( ENTITYget_attributes( entity ), v, Variable ) - generate_attribute_name( v, attrnm ); - /* do EXPLICIT and DERIVED attributes first */ - /* if ( ! VARget_inverse (v)) {*/ - /* first make sure that type descriptor exists */ - if( TYPEget_name( v->type ) ) { - if( ( !TYPEget_head( v->type ) ) && - ( TYPEget_body( v->type )->type == entity_ ) ) { - fprintf( files->init, " %s::%s%d%s%s =\n new %s" - "(\"%s\",%s::%s%s,\n %s,%s%s,\n *%s::%s%s);\n", - SCHEMAget_name( schema ), ATTR_PREFIX, attr_count, - ( VARis_derived( v ) ? "D" : - ( VARis_type_shifter( v ) ? "R" : - ( VARget_inverse( v ) ? "I" : "" ) ) ), - attrnm, - - ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), - - /* attribute name param */ - generate_dict_attr_name( v, dict_attrnm ), - - /* following assumes we are not in a nested */ - /* entity otherwise we should search upward */ - /* for schema */ - /* attribute's type */ - TYPEget_name( - TYPEget_body( v->type )->entity->superscope ), - ENT_PREFIX, TYPEget_name( v->type ), - - ( VARget_optional( v ) ? "LTrue" : "LFalse" ), - - ( VARget_unique( v ) ? "LTrue" : "LFalse" ), - - /* Support REDEFINED */ - ( VARget_inverse( v ) ? "" : - ( VARis_derived( v ) ? ", AttrType_Deriving" : - ( VARis_type_shifter( v ) ? ", AttrType_Redefining" : ", AttrType_Explicit" ) ) ), - - schema_name, ENT_PREFIX, TYPEget_name( entity ) - ); - } else { - /* type reference */ - fprintf( files->init, " %s::%s%d%s%s =\n new %s" - "(\"%s\",%s::%s%s,\n %s,%s%s,\n *%s::%s%s);\n", - SCHEMAget_name( schema ), ATTR_PREFIX, attr_count, - ( VARis_derived( v ) ? "D" : - ( VARis_type_shifter( v ) ? "R" : - ( VARget_inverse( v ) ? "I" : "" ) ) ), - attrnm, - - ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), - - /* attribute name param */ - generate_dict_attr_name( v, dict_attrnm ), - - SCHEMAget_name( v->type->superscope ), - TD_PREFIX, TYPEget_name( v->type ), - - ( VARget_optional( v ) ? "LTrue" : "LFalse" ), - - ( VARget_unique( v ) ? "LTrue" : "LFalse" ), - - ( VARget_inverse( v ) ? "" : - ( VARis_derived( v ) ? ", AttrType_Deriving" : - ( VARis_type_shifter( v ) ? ", AttrType_Redefining" : ", AttrType_Explicit" ) ) ), - - schema_name, ENT_PREFIX, TYPEget_name( entity ) - ); - } - } else if( TYPEis_builtin( v->type ) ) { - /* the type wasn\'t named -- it must be built in or aggregate */ - - fprintf( files->init, " %s::%s%d%s%s =\n new %s" - "(\"%s\",%s%s,\n %s,%s%s,\n *%s::%s%s);\n", - SCHEMAget_name( schema ), ATTR_PREFIX, attr_count, - ( VARis_derived( v ) ? "D" : - ( VARis_type_shifter( v ) ? "R" : - ( VARget_inverse( v ) ? "I" : "" ) ) ), - attrnm, - ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), - /* attribute name param */ - generate_dict_attr_name( v, dict_attrnm ), - /* not sure about 0 here */ TD_PREFIX, FundamentalType( v->type, 0 ), - ( VARget_optional( v ) ? "LTrue" : - "LFalse" ), - ( VARget_unique( v ) ? "LTrue" : - "LFalse" ), - ( VARget_inverse( v ) ? "" : - ( VARis_derived( v ) ? ", AttrType_Deriving" : - ( VARis_type_shifter( v ) ? - ", AttrType_Redefining" : - ", AttrType_Explicit" ) ) ), - schema_name, ENT_PREFIX, TYPEget_name( entity ) - ); - } else { - /* manufacture new one(s) on the spot */ - char typename_buf[MAX_LEN]; - print_typechain( files, v->type, typename_buf, schema, v->name->symbol.name ); - fprintf( files->init, " %s::%s%d%s%s =\n new %s" - "(\"%s\",%s,%s,%s%s,\n *%s::%s%s);\n", - SCHEMAget_name( schema ), ATTR_PREFIX, attr_count, - ( VARis_derived( v ) ? "D" : - ( VARis_type_shifter( v ) ? "R" : - ( VARget_inverse( v ) ? "I" : "" ) ) ), - attrnm, - ( VARget_inverse( v ) ? "Inverse_attribute" : ( VARis_derived( v ) ? "Derived_attribute" : "AttrDescriptor" ) ), - /* attribute name param */ - generate_dict_attr_name( v, dict_attrnm ), - typename_buf, - ( VARget_optional( v ) ? "LTrue" : - "LFalse" ), - ( VARget_unique( v ) ? "LTrue" : - "LFalse" ), - ( VARget_inverse( v ) ? "" : - ( VARis_derived( v ) ? ", AttrType_Deriving" : - ( VARis_type_shifter( v ) ? - ", AttrType_Redefining" : - ", AttrType_Explicit" ) ) ), - schema_name, ENT_PREFIX, TYPEget_name( entity ) - ); - } - - fprintf( files->init, " %s::%s%s->Add%sAttr (%s::%s%d%s%s);\n", - schema_name, ENT_PREFIX, TYPEget_name( entity ), - ( VARget_inverse( v ) ? "Inverse" : "Explicit" ), - SCHEMAget_name( schema ), ATTR_PREFIX, attr_count, - ( VARis_derived( v ) ? "D" : - ( VARis_type_shifter( v ) ? "R" : - ( VARget_inverse( v ) ? "I" : "" ) ) ), - attrnm ); - - if( VARis_derived( v ) && v->initializer ) { - tmp = EXPRto_string( v->initializer ); - tmp2 = ( char * )sc_malloc( sizeof( char ) * ( strlen( tmp ) + BUFSIZ ) ); - fprintf( files->init, " %s::%s%d%s%s->initializer_(\"%s\");\n", - schema_name, ATTR_PREFIX, attr_count, - ( VARis_derived( v ) ? "D" : - ( VARis_type_shifter( v ) ? "R" : - ( VARget_inverse( v ) ? "I" : "" ) ) ), - attrnm, format_for_stringout( tmp, tmp2 ) ); - sc_free( tmp ); - sc_free( tmp2 ); - } - if( VARget_inverse( v ) ) { - fprintf( files->init, " %s::%s%d%s%s->inverted_attr_id_(\"%s\");\n", - schema_name, ATTR_PREFIX, attr_count, - ( VARis_derived( v ) ? "D" : - ( VARis_type_shifter( v ) ? "R" : - ( VARget_inverse( v ) ? "I" : "" ) ) ), - attrnm, v->inverse_attribute->name->symbol.name ); - if( v->type->symbol.name ) { - fprintf( files->init, - " %s::%s%d%s%s->inverted_entity_id_(\"%s\");\n", - schema_name, ATTR_PREFIX, attr_count, - ( VARis_derived( v ) ? "D" : - ( VARis_type_shifter( v ) ? "R" : - ( VARget_inverse( v ) ? "I" : "" ) ) ), attrnm, - v->type->symbol.name ); - fprintf( files->init, "// inverse entity 1 %s\n", v->type->symbol.name ); - } else { - switch( TYPEget_body( v->type )->type ) { - case entity_: - fprintf( files->init, - " %s%d%s%s->inverted_entity_id_(\"%s\");\n", - ATTR_PREFIX, attr_count, - ( VARis_derived( v ) ? "D" : - ( VARis_type_shifter( v ) ? "R" : - ( VARget_inverse( v ) ? "I" : "" ) ) ), attrnm, - TYPEget_body( v->type )->entity->symbol.name ); - fprintf( files->init, "// inverse entity 2 %s\n", TYPEget_body( v->type )->entity->symbol.name ); - break; - case aggregate_: - case array_: - case bag_: - case set_: - case list_: - fprintf( files->init, - " %s::%s%d%s%s->inverted_entity_id_(\"%s\");\n", - schema_name, ATTR_PREFIX, attr_count, - ( VARis_derived( v ) ? "D" : - ( VARis_type_shifter( v ) ? "R" : - ( VARget_inverse( v ) ? "I" : "" ) ) ), attrnm, - TYPEget_body( v->type )->base->symbol.name ); - fprintf( files->init, "// inverse entity 3 %s\n", TYPEget_body( v->type )->base->symbol.name ); - break; - } - } - } - attr_count++; - - LISTod - - fprintf( files->init, " reg.AddEntity (*%s::%s%s);\n", - schema_name, ENT_PREFIX, entity_name ); - -#undef schema_name -} - -static bool listContainsVar( Linked_List l, Variable v ) { - const char * vName = VARget_simple_name( v ); - LISTdo( l, curr, Variable ) { - if( streq( vName, VARget_simple_name( curr ) ) ) { - return true; - } - } - LISTod; - return false; -} - -/**************************************************************//** - ** Procedure: ENTITYPrint - ** Parameters: Entity *entity -- entity being processed - ** FILE* file -- file being written to - ** Returns: - ** Description: drives the functions for printing out code in lib, - ** include, and initialization files for a specific entity class - ** Side Effects: generates code in 3 files - ** Status: complete 1/15/91 - ******************************************************************/ -void ENTITYPrint( Entity entity, FILES * files, Schema schema ) { - - char * n = ENTITYget_name( entity ); - Linked_List remaining = LISTcreate(); - - DEBUG( "Entering ENTITYPrint for %s\n", n ); - - if( multiple_inheritance ) { - Linked_List existing = LISTcreate(); - Linked_List required = LISTcreate(); - - // create list of attr inherited from the parents in C++ - collectAttributes( existing, entity, FIRST_ONLY ); - - // create list of attr that have to be inherited in EXPRESS - collectAttributes( required, entity, ALL_BUT_FIRST ); - - // build list of unique attr that are required but havn't been - // inherited - LISTdo( required, attr, Variable ) { - if( !listContainsVar( existing, attr ) && - !listContainsVar( remaining, attr ) ) { - LISTadd_first( remaining, ( Generic ) attr ); - } - } - LISTod; - LIST_destroy( existing ); - LIST_destroy( required ); - } - - fprintf( files->inc, "\n///////// ENTITY %s\n", n ); - ENTITYinc_print( entity, remaining, files -> inc, schema ); - fprintf( files->inc, "///////// END_ENTITY %s\n", n ); - - fprintf( files->names, "\n///////// ENTITY %s\n", n ); - ENTITYnames_print( entity, files -> names, schema ); - fprintf( files->names, "///////// END_ENTITY %s\n", n ); - - fprintf( files->lib, "\n///////// ENTITY %s\n", n ); - ENTITYlib_print( entity, remaining, files -> lib, schema ); - fprintf( files->lib, "///////// END_ENTITY %s\n", n ); - - fprintf( files->init, "\n///////// ENTITY %s\n", n ); - ENTITYincode_print( entity, files , schema ); - fprintf( files->init, "///////// END_ENTITY %s\n", n ); - - DEBUG( "DONE ENTITYPrint\n" ) ; - LIST_destroy( remaining ); -} - -void MODELPrintConstructorBody( Entity entity, FILES * files, Schema schema ) { - const char * n; - DEBUG( "Entering MODELPrintConstructorBody for %s\n", n ); - - n = ENTITYget_classname( entity ); - - fprintf( files->lib, " eep = new SDAI_Entity_extent;\n" ); - - fprintf( files->lib, " eep->definition_(%s::%s%s);\n", - SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); - fprintf( files->lib, " _folders.Append(eep);\n\n" ); -} - -void MODELPrint( Entity entity, FILES * files, Schema schema, int index ) { - - const char * n; - DEBUG( "Entering MODELPrint for %s\n", n ); - - n = ENTITYget_classname( entity ); - fprintf( files->lib, "\n%s__set_var SdaiModel_contents_%s::%s_get_extents()\n", - n, SCHEMAget_name( schema ), n ); - fprintf( files->lib, - "{\n return (%s__set_var)((_folders.retrieve(%d))->instances_());\n}\n", - n, index ); - DEBUG( "DONE MODELPrint\n" ) ; -} - -/** print in include file: class forward prototype, class typedefs, and - * extern EntityDescriptor. `externMap' = 1 if entity must be instantiated - * with external mapping (see Part 21, sect 11.2.5.1). - * Nov 2011 - MAP - print EntityDescriptor in namespace file, modify other - * generated code to use namespace - */ -void ENTITYprint_new( Entity entity, FILES * files, Schema schema, int externMap ) { - const char * n; - Linked_List wheres; - char * whereRule, *whereRule_formatted = NULL; - size_t whereRule_formatted_size = 0; - char * ptr, *ptr2; - char * uniqRule, *uniqRule_formatted; - Linked_List uniqs; - int i; - - fprintf( files->create, " %s::%s%s = new EntityDescriptor(\n ", - SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); - fprintf( files->create, " \"%s\", %s::schema, %s, ", - PrettyTmpName( ENTITYget_name( entity ) ), - SCHEMAget_name( schema ), ( ENTITYget_abstract( entity ) ? "LTrue" : "LFalse" ) ); - fprintf( files->create, "%s,\n ", externMap ? "LTrue" : - "LFalse" ); - - fprintf( files->create, " (Creator) create_%s );\n", - ENTITYget_classname( entity ) ); - /* add the entity to the Schema dictionary entry */ - fprintf( files->create, " %s::schema->AddEntity(%s::%s%s);\n", SCHEMAget_name( schema ), SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); - - wheres = TYPEget_where( entity ); - - if( wheres ) { - fprintf( files->create, - " %s::%s%s->_where_rules = new Where_rule__list;\n", - SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); - - LISTdo( wheres, w, Where ) - whereRule = EXPRto_string( w->expr ); - ptr2 = whereRule; - - if( whereRule_formatted_size == 0 ) { - whereRule_formatted_size = 3 * BUFSIZ; - whereRule_formatted = ( char * )sc_malloc( sizeof( char ) * whereRule_formatted_size ); - } else if( ( strlen( whereRule ) + 300 ) > whereRule_formatted_size ) { - sc_free( whereRule_formatted ); - whereRule_formatted_size = strlen( whereRule ) + BUFSIZ; - whereRule_formatted = ( char * )sc_malloc( sizeof( char ) * whereRule_formatted_size ); - } - whereRule_formatted[0] = '\0'; - if( w->label ) { - strcpy( whereRule_formatted, w->label->name ); - strcat( whereRule_formatted, ": (" ); - ptr = whereRule_formatted + strlen( whereRule_formatted ); - while( *ptr2 ) { - if( *ptr2 == '\n' ) { - ; - } else if( *ptr2 == '\\' ) { - *ptr = '\\'; - ptr++; - *ptr = '\\'; - ptr++; - - } else if( *ptr2 == '(' ) { - *ptr = '\\'; - ptr++; - *ptr = 'n'; - ptr++; - *ptr = '\\'; - ptr++; - *ptr = 't'; - ptr++; - *ptr = *ptr2; - ptr++; - } else { - *ptr = *ptr2; - ptr++; - } - ptr2++; - } - *ptr = '\0'; - - strcat( ptr, ");\\n" ); - } else { - /* no label */ - strcpy( whereRule_formatted, "(" ); - ptr = whereRule_formatted + strlen( whereRule_formatted ); - - while( *ptr2 ) { - if( *ptr2 == '\n' ) { - ; - } else if( *ptr2 == '\\' ) { - *ptr = '\\'; - ptr++; - *ptr = '\\'; - ptr++; - - } else if( *ptr2 == '(' ) { - *ptr = '\\'; - ptr++; - *ptr = 'n'; - ptr++; - *ptr = '\\'; - ptr++; - *ptr = 't'; - ptr++; - *ptr = *ptr2; - ptr++; - } else { - *ptr = *ptr2; - ptr++; - } - ptr2++; - } - *ptr = '\0'; - strcat( ptr, ");\\n" ); - } - fprintf( files->create, " wr = new Where_rule(\"%s\");\n", whereRule_formatted ); - fprintf( files->create, " %s::%s%s->_where_rules->Append(wr);\n", - SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); - - sc_free( whereRule ); - ptr2 = whereRule = 0; - LISTod - } - - uniqs = entity->u.entity->unique; - - if( uniqs ) { - fprintf( files->create, - " %s::%s%s->_uniqueness_rules = new Uniqueness_rule__set;\n", - SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); - - if( whereRule_formatted_size == 0 ) { - uniqRule_formatted = ( char * )sc_malloc( sizeof( char ) * 2 * BUFSIZ ); - whereRule_formatted = uniqRule_formatted; - } else { - uniqRule_formatted = whereRule_formatted; - } - - /* - FIXME DASBUG - * take care of qualified attribute names like SELF\entity.attrname - * add parent entity to the uniqueness rule - * change EntityDescriptor::generate_express() to generate the UNIQUE clause - */ - LISTdo( uniqs, list, Linked_List ) - i = 0; - fprintf( files->create, " ur = new Uniqueness_rule(\"" ); - LISTdo( list, v, Variable ) - i++; - if( i == 1 ) { - /* print label if present */ - if( v ) { - fprintf( files->create, "%s : ", StrToUpper( ( ( Symbol * )v )->name ) ); - } - } else { - if( i > 2 ) { - fprintf( files->create, ", " ); - } - uniqRule = EXPRto_string( v->name ); - fprintf( files->create, "%s", uniqRule ); - sc_free( uniqRule ); - } - LISTod - fprintf( files->create, ";\\n\");\n" ); - fprintf( files->create, " %s::%s%s->_uniqueness_rules->Append(ur);\n", - SCHEMAget_name( schema ), ENT_PREFIX, ENTITYget_name( entity ) ); - LISTod - } - - if( whereRule_formatted_size > 0 ) { - sc_free( whereRule_formatted ); - } - - n = ENTITYget_classname( entity ); - fprintf( files->classes, "\nclass %s;\n", n ); - fprintf( files->classes, "typedef %s * %sH;\n", n, n ); - fprintf( files->classes, "typedef %s * %s_ptr;\n", n, n ); - fprintf( files->classes, "typedef %s_ptr %s_var;\n", n, n ); - fprintf( files->classes, "#define %s__set SDAI_DAObject__set\n", n ); - fprintf( files->classes, "#define %s__set_var SDAI_DAObject__set_var\n", n ); -} - -void MODELprint_new( Entity entity, FILES * files, Schema schema ) { - const char * n; - - n = ENTITYget_classname( entity ); - fprintf( files->inc, "\n %s__set_var %s_get_extents();\n", n, n ); -} - -/****************************************************************** - ** TYPE GENERATION **/ - - -/****************************************************************** - ** Procedure: TYPEprint_enum - ** Parameters: const Type type - type to print - ** FILE* f - file on which to print - ** Returns: - ** Requires: TYPEget_class(type) == TYPE_ENUM - ** Description: prints code to represent an enumerated type in c++ - ** Side Effects: prints to header file - ** Status: ok 1/15/91 - ** Changes: Modified to check for appropiate key words as described - ** in "SDAI C++ Binding for PDES, Inc. Prototyping" by - ** Stephen Clark. - ** - Changed to match CD2 Part 23, 1/14/97 DAS - ** Change Date: 5/22/91 CD - ******************************************************************/ -const char * EnumCElementName( Type type, Expression expr ) { - - static char buf [BUFSIZ]; - sprintf( buf, "%s__", - EnumName( TYPEget_name( type ) ) ); - strcat( buf, StrToLower( EXPget_name( expr ) ) ); - - return buf; -} - -char * CheckEnumSymbol( char * s ) { - - static char b [BUFSIZ]; - if( strcmp( s, "sdaiTRUE" ) - && strcmp( s, "sdaiFALSE" ) - && strcmp( s, "sdaiUNKNOWN" ) ) { - /* if the symbol is not a reserved one */ - return ( s ); - - } else { - strcpy( b, s ); - strcat( b, "_" ); - printf( "** warning: the enumerated value %s is already being used ", s ); - printf( " and has been changed to %s **\n", b ); - return ( b ); - } -} - -/**************************************************************//** - ** Procedure: TYPEenum_inc_print - ** Description: Writes enum type descriptors and classes. - ** Change Date: - ********************************************************************/ -void TYPEenum_inc_print( const Type type, FILE * inc ) { - Expression expr; - - char tdnm[BUFSIZ], - enumAggrNm[BUFSIZ]; - const char * n; /* pointer to class name */ - int cnt = 0; - - fprintf( inc, "\n////////// ENUMERATION TYPE %s\n", - TYPEget_name( type ) ); - - /* print c++ enumerated values for class */ - fprintf( inc, "enum %s {\n", EnumName( TYPEget_name( type ) ) ); - - LISTdo_links( TYPEget_body( type )->list, link ) - /* print the elements of the c++ enum type */ - expr = ( Expression )link->data; - if( cnt != 0 ) { - fprintf( inc, ",\n" ); - } - ++cnt; - fprintf( inc, " %s", EnumCElementName( type, expr ) ); - - LISTod - - fprintf( inc, ",\n %s_unset\n};\n", EnumName( TYPEget_name( type ) ) ); - - /* print class for enumeration */ - n = TYPEget_ctype( type ); - fprintf( inc, "\nclass %s : public SDAI_Enum {\n", n ); - - fprintf( inc, " protected:\n EnumTypeDescriptor *type;\n\n" ); - - /* constructors */ - strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); - fprintf( inc, " public:\n %s (const char * n =0, Enum" - "TypeDescriptor *et =%s);\n", n, tdnm ); - fprintf( inc, " %s (%s e, EnumTypeDescriptor *et =%s)\n" - " : type(et) { set_value (e); }\n", - n, EnumName( TYPEget_name( type ) ), tdnm ); - - /* destructor */ - fprintf( inc, " ~%s () { }\n", n ); - - /* operator = */ - fprintf( inc, " %s& operator= (const %s& e)\n", - n, TYPEget_ctype( type ) ); - fprintf( inc, " { set_value (e); return *this; }\n" ); - - /* operator to cast to an enumerated type */ - fprintf( inc, " operator %s () const;\n", - EnumName( TYPEget_name( type ) ) ); - - /* others */ - fprintf( inc, "\n inline virtual const char * Name () const\n" ); - fprintf( inc, " { return type->Name(); }\n" ); - fprintf( inc, " inline virtual int no_elements () const" - " { return %d; }\n", cnt ); - fprintf( inc, " virtual const char * element_at (int n) const;\n" ); - - /* end class definition */ - fprintf( inc, "};\n" ); - - fprintf( inc, "\ntypedef %s * %s_ptr;\n", n, n ); - - - /* Print ObjectStore Access Hook function */ - printEnumCreateHdr( inc, type ); - - /* DAS brandnew above */ - - /* print things for aggregate class */ - sprintf( enumAggrNm, "%s_agg", n ); - - fprintf( inc, "\nclass %s_agg : public EnumAggregate {\n", n ); - - fprintf( inc, " protected:\n EnumTypeDescriptor *enum_type;\n\n" ); - fprintf( inc, " public:\n" ); - fprintf( inc, " %s_agg( EnumTypeDescriptor * =%s);\n", n, tdnm ); - fprintf( inc, " virtual ~%s_agg();\n", n ); - fprintf( inc, " virtual SingleLinkNode * NewNode()\n" ); - fprintf( inc, " { return new EnumNode (new %s( \"\", enum_type )); }" - "\n", n ); - - fprintf( inc, "};\n" ); - - fprintf( inc, "\ntypedef %s_agg * %s_agg_ptr;\n", n, n ); - - /* DAS brandnew below */ - - /* DAS creation function for enum aggregate class */ - printEnumAggrCrHdr( inc, type ); - - /* DAS brandnew above */ - - fprintf( inc, "\n////////// END ENUMERATION %s\n\n", TYPEget_name( type ) ); -} - -void TYPEenum_lib_print( const Type type, FILE * f ) { - DictionaryEntry de; - Expression expr; - const char * n; /* pointer to class name */ - char c_enum_ele [BUFSIZ]; - - fprintf( f, "////////// ENUMERATION TYPE %s\n", TYPEget_ctype( type ) ); - n = TYPEget_ctype( type ); - - /* set up the dictionary info */ - - fprintf( f, "const char *\n%s::element_at (int n) const {\n", n ); - fprintf( f, " switch (n) {\n" ); - DICTdo_type_init( ENUM_TYPEget_items( type ), &de, OBJ_ENUM ); - while( 0 != ( expr = ( Expression )DICTdo( &de ) ) ) { - strncpy( c_enum_ele, EnumCElementName( type, expr ), BUFSIZ ); - fprintf( f, " case %s: return \"%s\";\n", - c_enum_ele, - StrToUpper( EXPget_name( expr ) ) ); - } - fprintf( f, " case %s_unset :\n", EnumName( TYPEget_name( type ) ) ); - fprintf( f, " default : return \"UNSET\";\n }\n}\n" ); - - /* constructors */ - /* construct with character string */ - fprintf( f, "\n%s::%s (const char * n, EnumTypeDescriptor *et)\n" - " : type(et)\n{\n", n, n ); - fprintf( f, " set_value (n);\n}\n" ); - - /* cast operator to an enumerated type */ - fprintf( f, "\n%s::operator %s () const {\n", n, - EnumName( TYPEget_name( type ) ) ); - fprintf( f, " switch (v) {\n" ); - DICTdo_type_init( ENUM_TYPEget_items( type ), &de, OBJ_ENUM ); - while( 0 != ( expr = ( Expression )DICTdo( &de ) ) ) { - strncpy( c_enum_ele, EnumCElementName( type, expr ), BUFSIZ ); - fprintf( f, " case %s : ", c_enum_ele ); - fprintf( f, "return %s;\n", c_enum_ele ); - } - /* print the last case with the default so sun c++ doesn\'t complain */ - fprintf( f, " case %s_unset :\n", EnumName( TYPEget_name( type ) ) ); - fprintf( f, " default : return %s_unset;\n }\n}\n", EnumName( TYPEget_name( type ) ) ); - - printEnumCreateBody( f, type ); - - /* print the enum aggregate functions */ - - fprintf( f, "\n%s_agg::%s_agg( EnumTypeDescriptor *et )\n", n, n ); - fprintf( f, " : enum_type(et)\n{\n}\n\n" ); - fprintf( f, "%s_agg::~%s_agg()\n{\n}\n", n, n ); - - printEnumAggrCrBody( f, type ); - - fprintf( f, "\n////////// END ENUMERATION %s\n\n", TYPEget_name( type ) ); -} - - -void Type_Description( const Type, char * ); - -/** - * return printable version of entire type definition - * return it in static buffer - */ -char * TypeDescription( const Type t ) { - static char buf[6000]; - - buf[0] = '\0'; - - if( TYPEget_head( t ) ) { - Type_Description( TYPEget_head( t ), buf ); - } else { - TypeBody_Description( TYPEget_body( t ), buf ); - } - - /* should also print out where clause here */ - - return buf + 1; -} - -void strcat_expr( Expression e, char * buf ) { - if( e == LITERAL_INFINITY ) { - strcat( buf, "?" ); - } else if( e == LITERAL_PI ) { - strcat( buf, "PI" ); - } else if( e == LITERAL_E ) { - strcat( buf, "E" ); - } else if( e == LITERAL_ZERO ) { - strcat( buf, "0" ); - } else if( e == LITERAL_ONE ) { - strcat( buf, "1" ); - } else if( TYPEget_name( e ) ) { - strcat( buf, TYPEget_name( e ) ); - } else if( TYPEget_body( e->type )->type == integer_ ) { - char tmpbuf[30]; - sprintf( tmpbuf, "%d", e->u.integer ); - strcat( buf, tmpbuf ); - } else { - strcat( buf, "??" ); - } -} - -/// print t's bounds to end of buf -void strcat_bounds( TypeBody b, char * buf ) { - if( !b->upper ) { - return; - } - - strcat( buf, " [" ); - strcat_expr( b->lower, buf ); - strcat( buf, ":" ); - strcat_expr( b->upper, buf ); - strcat( buf, "]" ); -} - -void TypeBody_Description( TypeBody body, char * buf ) { - char * s; - - switch( body->type ) { - case integer_: - strcat( buf, " INTEGER" ); - break; - case real_: - strcat( buf, " REAL" ); - break; - case string_: - strcat( buf, " STRING" ); - break; - case binary_: - strcat( buf, " BINARY" ); - break; - case boolean_: - strcat( buf, " BOOLEAN" ); - break; - case logical_: - strcat( buf, " LOGICAL" ); - break; - case number_: - strcat( buf, " NUMBER" ); - break; - case entity_: - strcat( buf, " " ); - strcat( buf, PrettyTmpName( TYPEget_name( body->entity ) ) ); - break; - case aggregate_: - case array_: - case bag_: - case set_: - case list_: - switch( body->type ) { - /* ignore the aggregate bounds for now */ - case aggregate_: - strcat( buf, " AGGREGATE OF" ); - break; - case array_: - strcat( buf, " ARRAY" ); - strcat_bounds( body, buf ); - strcat( buf, " OF" ); - if( body->flags.optional ) { - strcat( buf, " OPTIONAL" ); - } - if( body->flags.unique ) { - strcat( buf, " UNIQUE" ); - } - break; - case bag_: - strcat( buf, " BAG" ); - strcat_bounds( body, buf ); - strcat( buf, " OF" ); - break; - case set_: - strcat( buf, " SET" ); - strcat_bounds( body, buf ); - strcat( buf, " OF" ); - break; - case list_: - strcat( buf, " LIST" ); - strcat_bounds( body, buf ); - strcat( buf, " OF" ); - if( body->flags.unique ) { - strcat( buf, " UNIQUE" ); - } - break; - } - - Type_Description( body->base, buf ); - break; - case enumeration_: - strcat( buf, " ENUMERATION of (" ); - LISTdo( body->list, e, Expression ) - strcat( buf, ENUMget_name( e ) ); - strcat( buf, ", " ); - LISTod - /* find last comma and replace with ')' */ - s = strrchr( buf, ',' ); - if( s ) { - strcpy( s, ")" ); - } - break; - - case select_: - strcat( buf, " SELECT (" ); - LISTdo( body->list, t, Type ) - strcat( buf, PrettyTmpName( TYPEget_name( t ) ) ); - strcat( buf, ", " ); - LISTod - /* find last comma and replace with ')' */ - s = strrchr( buf, ',' ); - if( s ) { - strcpy( s, ")" ); - } - break; - default: - strcat( buf, " UNKNOWN" ); - } - - if( body->precision ) { - strcat( buf, " (" ); - strcat_expr( body->precision, buf ); - strcat( buf, ")" ); - } - if( body->flags.fixed ) { - strcat( buf, " FIXED" ); - } -} - -void Type_Description( const Type t, char * buf ) { - if( TYPEget_name( t ) ) { - strcat( buf, " " ); - strcat( buf, TYPEget_name( t ) ); - } else { - TypeBody_Description( TYPEget_body( t ), buf ); - } -} - -/** ************************************************************************ - ** Procedure: TYPEprint_typedefs - ** Parameters: const Type type - ** Returns: - ** Description: - ** Prints in Sdaiclasses.h typedefs, forward declarations, and externs - ** for user-defined types. Only a fraction of the typedefs and decla- - ** rations are needed in Sdaiclasses.h. Enum's and selects must actu- - ** ally be defined before objects (such as entities) which use it can - ** be defined. So forward declarations will not serve any purpose. - ** Other redefined types and aggregate types may be declared here. - ** Side Effects: - ** Status: 16-Mar-1993 kcm; updated 04-Feb-1997 dar - ** Dec 2011 - MAP - remove goto - **************************************************************************/ -void TYPEprint_typedefs( Type t, FILE * classes ) { - char nm [BUFSIZ]; - Type i; - bool aggrNot1d = true; //added so I can get rid of a goto - - /* Print the typedef statement (poss also a forward class def: */ - if( TYPEis_enumeration( t ) ) { - /* For enums and sels (else clause below), we need forward decl's so - // that if we later come across a type which is an aggregate of one of - // them, we'll be able to process it. For selects, we also need a decl - // of the class itself, while for enum's we don't. Objects which con- - // tain an enum can't be generated until the enum is generated. (The - // same is basically true for the select, but a sel containing an ent - // containing a sel needs the forward decl (trust me ;-) ). */ - if( !TYPEget_head( t ) ) { - /* Only print this enum if it is an actual type and not a redefi- - // nition of another enum. (Those are printed at the end of the - // classes file - after all the actual enum's. They must be - // printed last since they depend on the others.) */ - strncpy( nm, TYPEget_ctype( t ), BUFSIZ ); - fprintf( classes, "class %s_agg;\n", nm ); - } - } else if( TYPEis_select( t ) ) { - if( !TYPEget_head( t ) ) { - /* Same comment as above. */ - strncpy( nm, SelectName( TYPEget_name( t ) ), BUFSIZ ); - fprintf( classes, "class %s;\n", nm ); - fprintf( classes, "typedef %s * %s_ptr;\n", nm, nm ); - fprintf( classes, "class %s_agg;\n", nm ); - fprintf( classes, "typedef %s_agg * %s_agg_ptr;\n", nm, nm ); - } - } else { - if( TYPEis_aggregate( t ) ) { - i = TYPEget_base_type( t ); - if( TYPEis_enumeration( i ) || TYPEis_select( i ) ) { - /* One exceptional case - a 1d aggregate of an enum or select. - // We must wait till the enum/sel itself has been processed. - // To ensure this, we process all such 1d aggrs in a special - // loop at the end (in multpass.c). 2d aggrs (or higher), how- - // ever, can be processed now - they only require GenericAggr - // for their definition here. */ - aggrNot1d = false; - } - } - if( aggrNot1d ) { - /* At this point, we'll print typedefs for types which are redefined - // fundamental types and their aggregates, and for 2D aggregates(aggre- - // gates of aggregates) of enum's and selects. */ - strncpy( nm, ClassName( TYPEget_name( t ) ), BUFSIZ ); - fprintf( classes, "typedef %s %s;\n", TYPEget_ctype( t ), nm ); - if( TYPEis_aggregate( t ) ) { - fprintf( classes, "typedef %s * %sH;\n", nm, nm ); - fprintf( classes, "typedef %s * %s_ptr;\n", nm, nm ); - fprintf( classes, "typedef %s_ptr %s_var;\n", nm, nm ); - } - } - } - - /* Print the extern statement: */ -#if !defined(__BORLAND__) - strncpy( nm, TYPEtd_name( t ), BUFSIZ ); - fprintf( classes, "extern %s *%s;\n", GetTypeDescriptorName( t ), nm ); -#endif -} - -/** return 1 if it is a multidimensional aggregate at the level passed in - otherwise return 0; If it refers to a type that is a multidimensional - aggregate 0 is still returned. */ -int isMultiDimAggregateType( const Type t ) { - if( TYPEget_body( t )->base ) - if( isAggregateType( TYPEget_body( t )->base ) ) { - return 1; - } - return 0; -} - -/** Get the TypeDescriptor variable name that t's TypeDescriptor references (if - possible). - pass space in through buf, buff will be filled in with the name of the - TypeDescriptor (TD) that needs to be referenced by the TD that is - generated for Type t. Return 1 if buf has been filled in with the name - of a TD. Return 0 if it hasn't for these reasons: Enumeration TDs don't - reference another TD, select TDs reference several TDs and are handled - separately, Multidimensional aggregates generate unique intermediate TD - variables that are referenced - when these don't have an Express related - name this function can't know about them - e.g. - TYPE listSetAggr = LIST OF SET OF STRING; This function won't fill in the - name that listSetAggr's ListTypeDescriptor will reference. - TYPE arrListSetAggr = ARRAY [1:4] of listSetAggr; This function will - return the name of the TD that arrlistSetAggr's ArrayTypeDescriptor should - reference since it has an Express name associated with it. - * - Nov 2011 - MAP - modified to insert scope operator into variable name. - Reason: use of namespace for global variables -*/ -int TYPEget_RefTypeVarNm( const Type t, char * buf, Schema schema ) { - - /* It looks like TYPEget_head(t) is true when processing a type - that refers to another type. e.g. when processing "name" in: - TYPE name = label; ENDTYPE; TYPE label = STRING; ENDTYPE; DAS */ - if( TYPEget_head( t ) ) { - /* this means that it is defined in an Express TYPE stmt and - it refers to another Express TYPE stmt */ - /* it would be a reference_ type */ - /* a TypeDescriptor of the form t_ */ - sprintf( buf, "%s::%s%s", - SCHEMAget_name( TYPEget_head( t )->superscope ), - TYPEprefix( t ), TYPEget_name( TYPEget_head( t ) ) ); - return 1; - } else { - switch( TYPEget_body( t )->type ) { - case integer_: - case real_: - case boolean_: - case logical_: - case string_: - case binary_: - case number_: - /* one of the SCL builtin TypeDescriptors of the form - t_STRING_TYPE, or t_REAL_TYPE */ - sprintf( buf, "%s%s", TD_PREFIX, FundamentalType( t, 0 ) ); - return 1; - break; - - case enumeration_: /* enums don't have a referent type */ - case select_: /* selects are handled differently elsewhere, they - refer to several TypeDescriptors */ - return 0; - break; - - case entity_: - sprintf( buf, "%s", TYPEtd_name( t ) ); - /* following assumes we are not in a nested entity */ - /* otherwise we should search upward for schema */ - return 1; - break; - - case aggregate_: - case array_: - case bag_: - case set_: - case list_: - /* referent TypeDescriptor will be the one for the element unless it - is a multidimensional aggregate then return 0 */ - - if( isMultiDimAggregateType( t ) ) { - if( TYPEget_name( TYPEget_body( t )->base ) ) { - sprintf( buf, "%s::%s%s", - SCHEMAget_name( TYPEget_body( t )->base->superscope ), - TYPEprefix( t ), TYPEget_name( TYPEget_body( t )->base ) ); - return 1; - } - - /* if the multi aggr doesn't have a name then we are out of scope - of what this function can do */ - return 0; - } else { - /* for a single dimensional aggregate return TypeDescriptor - for element */ - /* being an aggregate implies that base below is not 0 */ - - if( TYPEget_body( TYPEget_body( t )->base )->type == enumeration_ || - TYPEget_body( TYPEget_body( t )->base )->type == select_ ) { - - sprintf( buf, "%s", TYPEtd_name( TYPEget_body( t )->base ) ); - return 1; - } else if( TYPEget_name( TYPEget_body( t )->base ) ) { - if( TYPEget_body( TYPEget_body( t )->base )->type == entity_ ) { - sprintf( buf, "%s", TYPEtd_name( TYPEget_body( t )->base ) ); - return 1; - } - sprintf( buf, "%s::%s%s", - SCHEMAget_name( TYPEget_body( t )->base->superscope ), - TYPEprefix( t ), TYPEget_name( TYPEget_body( t )->base ) ); - return 1; - } - return TYPEget_RefTypeVarNm( TYPEget_body( t )->base, buf, schema ); - } - break; - default: - return 0; - } - } - /* NOTREACHED */ - return 0; -} - - -/** ** - print stuff for types that are declared in Express TYPE statements... i.e. - extern descriptor declaration in .h file - MOVED BY DAR to TYPEprint_type- - defs - in order to print all the Sdaiclasses.h stuff in fedex_plus's - first pass through each schema. - descriptor definition in the .cc file - initialize it in the .init.cc file (DAR - all initialization done in fn - TYPEprint_init() (below) which is done in fedex_plus's 1st pass only.) -*****/ -void TYPEprint_descriptions( const Type type, FILES * files, Schema schema ) { - char tdnm [BUFSIZ], - typename_buf [MAX_LEN], - base [BUFSIZ], - nm [BUFSIZ]; - Type i; - - strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); - - /* define type descriptor pointer */ - /* in source - declare the real definition of the pointer */ - /* i.e. in the .cc file */ - fprintf( files -> lib, "%s *%s;\n", GetTypeDescriptorName( type ), tdnm ); - - if( isAggregateType( type ) ) { - const char * ctype = TYPEget_ctype( type ); - - fprintf( files->inc, "STEPaggregate * create_%s ();\n\n", - ClassName( TYPEget_name( type ) ) ); - - fprintf( files->lib, - "STEPaggregate *\ncreate_%s () { return create_%s(); }\n", - ClassName( TYPEget_name( type ) ), ctype ); - - /* this function is assigned to the aggrCreator var in TYPEprint_new */ - } - - if( TYPEis_enumeration( type ) && ( i = TYPEget_ancestor( type ) ) != NULL ) { - /* If we're a renamed enum type, just print a few typedef's to the - * original and some specialized create functions: - */ - strncpy( base, EnumName( TYPEget_name( i ) ), BUFSIZ ); - strncpy( nm, EnumName( TYPEget_name( type ) ), BUFSIZ ); - fprintf( files->inc, "typedef %s %s;\n", base, nm ); - strncpy( base, TYPEget_ctype( i ), BUFSIZ ); - strncpy( nm, TYPEget_ctype( type ), BUFSIZ ); - fprintf( files->inc, "typedef %s %s;\n", base, nm ); - printEnumCreateHdr( files->inc, type ); - printEnumCreateBody( files->lib, type ); - fprintf( files->inc, "typedef %s_agg * %s_agg_ptr;\n", nm, nm ); - printEnumAggrCrHdr( files->inc, type ); - printEnumAggrCrBody( files->lib, type ); - return; - } - - if( !TYPEget_RefTypeVarNm( type, typename_buf, schema ) ) { - switch( TYPEget_body( type )->type ) { - case enumeration_: - TYPEenum_inc_print( type, files -> inc ); - TYPEenum_lib_print( type, files -> lib ); - break; - - case select_: - /* the select definitions are done seperately, since they depend - on the others */ - /******* - TYPEselect_inc_print (type, files -> inc); - TYPEselect_lib_print (type, files -> lib); - *******/ - break; - default: - break; - } - } -} - -/** - * Prints a bunch of lines for enumeration creation functions (i.e., "cre- - * ate_SdaiEnum1()"). Since this is done both for an enum and for "copies" - * of it (when "TYPE enum2 = enum1"), I placed this code in a separate fn. - */ -static void printEnumCreateHdr( FILE * inc, const Type type ) { - const char * nm = TYPEget_ctype( type ); - - fprintf( inc, " SDAI_Enum * create_%s ();\n", nm ); -} - -/// See header comment above by printEnumCreateHdr. -static void printEnumCreateBody( FILE * lib, const Type type ) { - const char * nm = TYPEget_ctype( type ); - char tdnm[BUFSIZ]; - - strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); - - fprintf( lib, "\nSDAI_Enum *\ncreate_%s ()\n{\n", nm ); - fprintf( lib, " return new %s( \"\", %s );\n}\n\n", nm, tdnm ); -} - -/// Similar to printEnumCreateHdr above for the enum aggregate. -static void printEnumAggrCrHdr( FILE * inc, const Type type ) { - const char * n = TYPEget_ctype( type ); - /* const char *n = ClassName( TYPEget_name(type) ));*/ - fprintf( inc, " STEPaggregate * create_%s_agg ();\n", n ); -} - -static void printEnumAggrCrBody( FILE * lib, const Type type ) { - const char * n = TYPEget_ctype( type ); - char tdnm[BUFSIZ]; - - strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); - - fprintf( lib, "\nSTEPaggregate *\ncreate_%s_agg ()\n{\n", n ); - fprintf( lib, " return new %s_agg( %s );\n}\n", n, tdnm ); -} - -void TYPEprint_init( const Type type, FILES * files, Schema schema ) { - char tdnm [BUFSIZ]; - char typename_buf[MAX_LEN]; - - strncpy( tdnm, TYPEtd_name( type ), BUFSIZ ); - - if( isAggregateType( type ) ) { - AGGRprint_init( files, type, tdnm, type->symbol.name ); - } - - /* fill in the TD's values in the SchemaInit function (it is already - declared with basic values) */ - - if( TYPEget_RefTypeVarNm( type, typename_buf, schema ) ) { - fprintf( files->init, " %s->ReferentType(%s);\n", tdnm, typename_buf ); - } else { - switch( TYPEget_body( type )->type ) { - case aggregate_: /* aggregate_ should not happen? DAS */ - case array_: - case bag_: - case set_: - case list_: { - const char * ctype = TYPEget_ctype( type ); - - if( isMultiDimAggregateType( type ) ) { - print_typechain( files, TYPEget_body( type )->base, - typename_buf, schema, type->symbol.name ); - fprintf( files->init, " %s->ReferentType(%s);\n", tdnm, - typename_buf ); - } - break; - } - default: - break; - } - } - - /* DAR - moved fn call below from TYPEselect_print to here to put all init - ** info together. */ - if( TYPEis_select( type ) ) { - TYPEselect_init_print( type, files->init, schema ); - } -#ifdef NEWDICT - /* DAS New SDAI Dictionary 5/95 */ - /* insert the type into the schema descriptor */ - fprintf( files->init, - " ((SDAIAGGRH(Set,DefinedTypeH))%s::schema->Types())->Add((DefinedTypeH)%s);\n", - SCHEMAget_name( schema ), tdnm ); -#endif - /* insert into type dictionary */ - fprintf( files->init, " reg.AddType (*%s);\n", tdnm ); -} - -/** print name, fundamental type, and description initialization function - calls */ -void TYPEprint_nm_ft_desc( Schema schema, const Type type, FILE * f, char * endChars ) { - - fprintf( f, " \"%s\", // Name\n", - PrettyTmpName( TYPEget_name( type ) ) ); - fprintf( f, " %s, // FundamentalType\n", - FundamentalType( type, 1 ) ); - fprintf( f, " %s::schema, // Originating Schema\n", - SCHEMAget_name( schema ) ); - fprintf( f, " \"%s\"%s // Description\n", - TypeDescription( type ), endChars ); -} - -/** new space for a variable of type TypeDescriptor (or subtype). This - * function is called for Types that have an Express name. - */ -void TYPEprint_new( const Type type, FILE * create, Schema schema ) { - Linked_List wheres; - char * whereRule, *whereRule_formatted = NULL; - size_t whereRule_formatted_size = 0; - char * ptr, *ptr2; - - Type tmpType = TYPEget_head( type ); - Type bodyType = tmpType; - - /* define type definition */ - /* in source - the real definition of the TypeDescriptor */ - - if( TYPEis_select( type ) ) { - char * temp; - temp = non_unique_types_string( type ); - fprintf( create, - " %s = new SelectTypeDescriptor (\n ~%s, //unique elements,\n", - TYPEtd_name( type ), - temp ); - sc_free( temp ); - TYPEprint_nm_ft_desc( schema, type, create, "," ); - - fprintf( create, - " (SelectCreator) create_%s); // Creator function\n", - SelectName( TYPEget_name( type ) ) ); - } else - switch( TYPEget_body( type )->type ) { - case boolean_: - - fprintf( create, " %s = new EnumTypeDescriptor (\n", - TYPEtd_name( type ) ); - - /* fill in it's values */ - TYPEprint_nm_ft_desc( schema, type, create, "," ); - fprintf( create, - " (EnumCreator) create_BOOLEAN); // Creator function\n" ); - break; - - case logical_: - - fprintf( create, " %s = new EnumTypeDescriptor (\n", - TYPEtd_name( type ) ); - - /* fill in it's values */ - TYPEprint_nm_ft_desc( schema, type, create, "," ); - fprintf( create, - " (EnumCreator) create_LOGICAL); // Creator function\n" ); - break; - - case enumeration_: - - fprintf( create, " %s = new EnumTypeDescriptor (\n", - TYPEtd_name( type ) ); - - /* fill in it's values */ - TYPEprint_nm_ft_desc( schema, type, create, "," ); - - /* get the type name of the underlying type - it is the type that - needs to get created */ - - tmpType = TYPEget_head( type ); - if( tmpType ) { - - bodyType = tmpType; - - while( tmpType ) { - bodyType = tmpType; - tmpType = TYPEget_head( tmpType ); - } - - fprintf( create, - " (EnumCreator) create_%s); // Creator function\n", - TYPEget_ctype( bodyType ) ); - } else - fprintf( create, - " (EnumCreator) create_%s); // Creator function\n", - TYPEget_ctype( type ) ); - break; - - case aggregate_: - case array_: - case bag_: - case set_: - case list_: - - fprintf( create, "\n %s = new %s (\n", - TYPEtd_name( type ), GetTypeDescriptorName( type ) ); - - /* fill in it's values */ - TYPEprint_nm_ft_desc( schema, type, create, "," ); - - fprintf( create, - " (AggregateCreator) create_%s); // Creator function\n\n", - ClassName( TYPEget_name( type ) ) ); - break; - - default: - fprintf( create, " %s = new TypeDescriptor (\n", - TYPEtd_name( type ) ); - - /* fill in it's values */ - TYPEprint_nm_ft_desc( schema, type, create, ");" ); - - break; - } - /* add the type to the Schema dictionary entry */ - fprintf( create, " %s::schema->AddType(%s);\n", SCHEMAget_name( schema ), TYPEtd_name( type ) ); - - - wheres = type->where; - - if( wheres ) { - fprintf( create, " %s->_where_rules = new Where_rule__list;\n", - TYPEtd_name( type ) ); - - LISTdo( wheres, w, Where ) - whereRule = EXPRto_string( w->expr ); - ptr2 = whereRule; - - if( whereRule_formatted_size == 0 ) { - whereRule_formatted_size = 3 * BUFSIZ; - whereRule_formatted = ( char * )sc_malloc( sizeof( char ) * whereRule_formatted_size ); - } else if( ( strlen( whereRule ) + 300 ) > whereRule_formatted_size ) { - sc_free( whereRule_formatted ); - whereRule_formatted_size = strlen( whereRule ) + BUFSIZ; - whereRule_formatted = ( char * )sc_malloc( sizeof( char ) * whereRule_formatted_size ); - } - whereRule_formatted[0] = '\0'; - if( w->label ) { - strcpy( whereRule_formatted, w->label->name ); - strcat( whereRule_formatted, ": (" ); - ptr = whereRule_formatted + strlen( whereRule_formatted ); - while( *ptr2 ) { - if( *ptr2 == '\n' ) - ; - else if( *ptr2 == '\\' ) { - *ptr = '\\'; - ptr++; - *ptr = '\\'; - ptr++; - - } else if( *ptr2 == '(' ) { - *ptr = *ptr2; - ptr++; - } else { - *ptr = *ptr2; - ptr++; - } - ptr2++; - } - *ptr = '\0'; - - strcat( ptr, ");\\n" ); - } else { - /* no label */ - strcpy( whereRule_formatted, "(" ); - ptr = whereRule_formatted + strlen( whereRule_formatted ); - - while( *ptr2 ) { - if( *ptr2 == '\n' ) - ; - else if( *ptr2 == '\\' ) { - *ptr = '\\'; - ptr++; - *ptr = '\\'; - ptr++; - - } else if( *ptr2 == '(' ) { - *ptr = *ptr2; - ptr++; - } else { - *ptr = *ptr2; - ptr++; - } - ptr2++; - } - *ptr = '\0'; - strcat( ptr, ");\\n" ); - } - fprintf( create, " wr = new Where_rule(\"%s\");\n", whereRule_formatted ); - fprintf( create, " %s->_where_rules->Append(wr);\n", - TYPEtd_name( type ) ); - - sc_free( whereRule ); - ptr2 = whereRule = 0; - LISTod - sc_free( whereRule_formatted ); - } -} - diff --git a/src/fedex_plus/classes_misc.c b/src/fedex_plus/classes_misc.c deleted file mode 100644 index f5b9d95f4..000000000 --- a/src/fedex_plus/classes_misc.c +++ /dev/null @@ -1,792 +0,0 @@ -#define CLASSES_MISC_C -#include -#include -#include "classes.h" - -#include - -/******************************************************************* -** FedEx parser output module for generating C++ class definitions -** December 5, 1989 -** release 2 17-Feb-1992 -** release 3 March 1993 -** release 4 December 1993 -** K. C. Morris -** -** Development of FedEx was funded by the United States Government, -** and is not subject to copyright. - -******************************************************************* -The conventions used in this binding follow the proposed specification -for the STEP Standard Data Access Interface as defined in document -N350 ( August 31, 1993 ) of ISO 10303 TC184/SC4/WG7. -*******************************************************************/ - -extern char * sc_version(); - -extern int multiple_inheritance; -/*extern int corba_binding; */ - -/****************************************************************** -** The following functions will be used *** -*** through out the the program fedex_plus ***/ - - -/****************************************************************** - ** Procedure: string functions - ** Description: These functions take a character or a string and return - ** a temporary copy of the string with the function applied to it. - ** Parameters: - ** Returns: temporary copy of characters - ** Side Effects: character or string returned persists until the - ** next invocation of the function - ** Status: complete - ******************************************************************/ - -char -ToLower( char c ) { - if( isupper( c ) ) { - return ( tolower( c ) ); - } else { - return ( c ); - } - -} - -char -ToUpper( char c ) { - if( islower( c ) ) { - return ( toupper( c ) ); - } else { - return ( c ); - } -} - -const char * -StrToLower( const char * word ) { - static char newword [MAX_LEN]; - int i = 0; - if( !word ) { - return 0; - } - while( word [i] != '\0' ) { - newword [i] = ToLower( word [i] ); - ++i; - } - newword [i] = '\0'; - return ( newword ) ; - -} - -const char * -StrToUpper( const char * word ) { - static char newword [MAX_LEN]; - int i = 0; - char ToUpper( char c ); - - while( word [i] != '\0' ) { - newword [i] = ToUpper( word [i] ); - ++i; - - } - newword [i] = '\0'; - return ( newword ); -} - -const char * -StrToConstant( const char * word ) { - static char newword [MAX_LEN]; - int i = 0; - - while( word [i] != '\0' ) { - if( word [i] == '/' || word [i] == '.' ) { - newword [i] = '_'; - } else { - newword [i] = ToUpper( word [i] ); - } - ++i; - - } - newword [i] = '\0'; - return ( newword ); -} - -/****************************************************************** - ** Procedure: FILEcreate - ** Description: creates a file for c++ with header definitions - ** Parameters: filename - ** Returns: FILE* pointer to file created or NULL - ** Side Effects: creates a file with name filename - ** Status: complete - ******************************************************************/ - -FILE * FILEcreate( const char * filename ) { - FILE * file; - const char * fn; - - if( ( file = fopen( filename, "w" ) ) == NULL ) { - printf( "**Error in SCHEMAprint: unable to create file %s ** \n", filename ); - return ( NULL ); - } - - fprintf( file, "#ifndef %s\n", fn = StrToConstant( filename ) ); - fprintf( file, "#define %s\n\n", fn ); - - fprintf( file, "// This file was generated by fedex_plus,\n// %s.\n", sc_version() ); - fprintf( file, "// You probably don't want to edit it since your modifications\n" ); - fprintf( file, "// will be lost if fedex_plus is used to regenerate it.\n" ); - return ( file ); - -} - -/****************************************************************** - ** Procedure: FILEclose - ** Description: closes a file opened with FILEcreate - ** Parameters: FILE* file -- pointer to file to close - ** Returns: - ** Side Effects: - ** Status: complete - ******************************************************************/ - -void -FILEclose( FILE * file ) { - fprintf( file, "#endif\n" ); - fclose( file ); -} - - -/****************************************************************** - ** Procedure: isAggregate - ** Parameters: Attribute a - ** Returns: int indicates whether the attribute is an aggregate - ** Description: indicates whether the attribute is an aggregate - ** Side Effects: none - ** Status: complete 1/15/91 - ******************************************************************/ - -int -isAggregate( Variable a ) { - return( TYPEinherits_from( VARget_type( a ), aggregate_ ) ); -} - -int -isAggregateType( const Type t ) { - return( TYPEinherits_from( t, aggregate_ ) ); -} - - -/****************************************************************** - ** Procedure: TYPEget_ctype - ** Parameters: const Type t -- type for attribute - ** Returns: a string which is the type of the data member in the c++ class - ** Description: supplies the type of a data member for the c++ class - ** Side Effects: - ** Status: complete 1/15/90 - ** Changes: Modified by CD to return the appropriate types as outlined in - ** "SDAI C++ Binding for PDES, Inc. Prototyping" by Stephen Clark - ** Change Date: 5/22/91 CD - ** Change Date: 28-Sep-1993 made entities use their real type instead of base - ** class STEPentityH - ******************************************************************/ - -const char * -TYPEget_ctype( const Type t ) { - Class_Of_Type class; - Type bt; - static char retval [BUFSIZ]; - - - /* aggregates are based on their base type - case TYPE_ARRAY: - case TYPE_BAG: - case TYPE_LIST: - case TYPE_SET: - */ - if( isAggregateType( t ) ) { - bt = TYPEget_body( t )->base; - - if( isAggregateType( bt ) ) { - return( "GenericAggregate" ); - } - - class = TYPEget_type( bt ); - - /* case TYPE_INTEGER: */ - if( class == integer_ ) { - return ( "IntAggregate" ); - } - - /* case TYPE_REAL: - case TYPE_NUMBER: */ - if( ( class == number_ ) || ( class == real_ ) ) { - return ( "RealAggregate" ); - } - - /* case TYPE_ENTITY: */ - if( class == entity_ ) { - return( "EntityAggregate" ); - } - - /* case TYPE_ENUM: */ - /* case TYPE_SELECT: */ - if( ( class == enumeration_ ) - || ( class == select_ ) ) { - /* - strcpy (retval, ClassName (TYPEget_name (bt))); - */ - strcpy( retval, TYPEget_ctype( bt ) ); - strcat( retval, "_agg" ); - return ( retval ); - } - - /* case TYPE_LOGICAL: */ - if( class == logical_ ) { - return ( "LOGICALS" ); - } - - /* case TYPE_BOOLEAN: */ - if( class == boolean_ ) { - return ( "BOOLEANS" ); - } - - /* case TYPE_STRING: */ - if( class == string_ ) { - return( "StringAggregate" ); - } - - /* case TYPE_BINARY: */ - if( class == binary_ ) { - return( "BinaryAggregate" ); - } - } - - /* the rest is for things that are not aggregates */ - - class = TYPEget_type( t ); - - /* case TYPE_LOGICAL: */ - if( class == logical_ ) { - return ( "SDAI_LOGICAL" ); - } - - /* case TYPE_BOOLEAN: */ - if( class == boolean_ ) { - return ( "SDAI_BOOLEAN" ); - } - - /* case TYPE_INTEGER: */ - if( class == integer_ ) { - return ( "SDAI_Integer" ); - } - - /* case TYPE_REAL: - case TYPE_NUMBER: */ - if( ( class == number_ ) || ( class == real_ ) ) { - return ( "SDAI_Real" ); - } - - /* case TYPE_STRING: */ - if( class == string_ ) { - return ( "SDAI_String" ); - } - - /* case TYPE_BINARY: */ - if( class == binary_ ) { - return ( "SDAI_Binary" ); - } - - /* case TYPE_ENTITY: */ - if( class == entity_ ) { - strncpy( retval, TypeName( t ), BUFSIZ - 2 ); - strcat( retval, "_ptr" ); - return retval; - /* return ("STEPentityH"); */ - } - /* case TYPE_ENUM: */ - /* case TYPE_SELECT: */ - if( class == enumeration_ ) { - strncpy( retval, TypeName( t ), BUFSIZ - 2 ); - strcat( retval, "_var" ); - return retval; - } - if( class == select_ ) { - return ( TypeName( t ) ); - } - - /* default returns undefined */ - return ( "SCLundefined" ); -} - -/****************************************************************** - ** Procedure: TypeName - ** Parameters: Type t - ** Returns: name of type as defined in SDAI C++ binding 4-Nov-1993 - ** Status: 4-Nov-1993 - ******************************************************************/ -const char * -TypeName( Type t ) { - static char name [BUFSIZ]; - strcpy( name, TYPE_PREFIX ); - if( TYPEget_name( t ) ) { - strncat( name, FirstToUpper( TYPEget_name( t ) ), BUFSIZ - strlen( TYPE_PREFIX ) - 1 ); - } else { - return TYPEget_ctype( t ); - } - return name; -} - -/****************************************************************** - ** Procedure: AccessType - ** Parameters: const Type t -- type for attribute - ** Returns: a string which is the type used by the access functions to - the data member in the c++ class - ** Description: supplies the type for access functions in a c++ class - ** Side Effects: - ** Status: 3-Nov-1993 -kcm -******************************************************************/ - -const char * -AccessType( Type t ) { - Class_Of_Type class; - static char nm [BUFSIZ]; - strncpy( nm, TypeName( t ), BUFSIZ - 4 ); - if( TYPEis_entity( t ) ) { - /* if(corba_binding) - { - if (TYPEget_name (t)) - strncpy (nm, FirstToUpper (TYPEget_name (t)), BUFSIZ-1); - } - */ - strcat( nm, "_ptr" ); - return nm; - } else if( TYPEis_select( t ) || TYPEis_aggregate( t ) ) { - strcat( nm, "_ptr" ); - return nm; - } - class = TYPEget_type( t ); - if( class == enumeration_ ) { - strncpy( nm, TypeName( t ), BUFSIZ - 2 ); - strcat( nm, "_var" ); - return nm; - } - if( class == logical_ ) { - strncpy( nm, "Logical", BUFSIZ - 2 ); - } - - /* case TYPE_BOOLEAN: */ - if( class == boolean_ ) { - strncpy( nm, "Boolean", BUFSIZ - 2 ); - } - return nm; -} - -/****************************************************************** - ** Procedure: ClassName - ** Parameters: const char * oldname - ** Returns: temporary copy of name suitable for use as a class name - ** Side Effects: erases the name created by a previous call to this function - ** Status: complete - ******************************************************************/ - -const char * -ClassName( const char * oldname ) { - int i = 0, j = 0; - static char newname [BUFSIZ]; - if( !oldname ) { - return ( "" ); - } - - - strcpy( newname, ENTITYCLASS_PREFIX ) ; - j = strlen( ENTITYCLASS_PREFIX ) ; - newname [j] = ToUpper( oldname [i] ); - ++i; - ++j; - while( oldname [i] != '\0' ) { - newname [j] = ToLower( oldname [i] ); - /* if (oldname [i] == '_') */ - /* character is '_' */ - /* newname [++j] = ToUpper (oldname [++i]);*/ - ++i; - ++j; - } - newname [j] = '\0'; - return ( newname ); -} - - -/****************************************************************** - ** Procedure: ENTITYget_classname - ** Parameters: Entity ent - ** Returns: the name of the c++ class representing the entity - ** Status: complete - ******************************************************************/ - -const char * -ENTITYget_classname( Entity ent ) { - const char * oldname = ENTITYget_name( ent ); - return ( ClassName( oldname ) ); -} - -/****************************************************************** - ** Procedure: PrettyTmpName (char * oldname) - ** Procedure: PrettyNewName (char * oldname) - ** Parameters: oldname - ** Returns: a new capitalized name - ** Description: creates a new name with first character's in caps - ** Side Effects: PrettyNewName allocates memory for the new name - ** Status: OK 7-Oct-1992 kcm - ******************************************************************/ -const char * -PrettyTmpName( const char * oldname ) { - int i = 0; - static char newname [BUFSIZ]; - newname [0] = '\0'; - while( ( oldname [i] != '\0' ) && ( i < BUFSIZ ) ) { - newname [i] = ToLower( oldname [i] ); - if( oldname [i] == '_' ) { /* character is '_' */ - ++i; - newname [i] = ToUpper( oldname [i] ); - } - if( oldname [i] != '\0' ) { - ++i; - } - } - - newname [0] = ToUpper( oldname [0] ); - newname [i] = '\0'; - return newname; -} - -/* This function is out of date DAS */ -const char * -EnumName( const char * oldname ) { - int j = 0; - static char newname [MAX_LEN]; - if( !oldname ) { - return ( "" ); - } - - strcpy( newname, ENUM_PREFIX ); - j = strlen( ENUM_PREFIX ); - newname [j] = ToUpper( oldname [0] ); - strncpy( newname + j + 1, StrToLower( oldname + 1 ), MAX_LEN - j - 1 ); - j = strlen( newname ); - newname [j] = '\0'; - return ( newname ); -} - -const char * -SelectName( const char * oldname ) { - int j = 0; - static char newname [MAX_LEN]; - if( !oldname ) { - return ( "" ); - } - - strcpy( newname, TYPE_PREFIX ); - newname [0] = ToUpper( newname [0] ); - j = strlen( TYPE_PREFIX ); - newname [j] = ToUpper( oldname [0] ); - strncpy( newname + j + 1, StrToLower( oldname + 1 ), MAX_LEN - j - 1 ); - j = strlen( newname ); - newname [j] = '\0'; - return ( newname ); -} - -const char * -FirstToUpper( const char * word ) { - static char newword [MAX_LEN]; - - strncpy( newword, word, MAX_LEN ); - newword[0] = ToUpper( newword[0] ); - return ( newword ); -} - -/* return fundamental type but as the string which corresponds to */ -/* the appropriate type descriptor */ -/* if report_reftypes is true, report REFERENCE_TYPE when appropriate */ -const char * -FundamentalType( const Type t, int report_reftypes ) { - if( report_reftypes && TYPEget_head( t ) ) { - return( "REFERENCE_TYPE" ); - } - switch( TYPEget_body( t )->type ) { - case integer_: - return( "sdaiINTEGER" ); - case real_: - return( "sdaiREAL" ); - case string_: - return( "sdaiSTRING" ); - case binary_: - return( "sdaiBINARY" ); - case boolean_: - return( "sdaiBOOLEAN" ); - case logical_: - return( "sdaiLOGICAL" ); - case number_: - return( "sdaiNUMBER" ); - case generic_: - return( "GENERIC_TYPE" ); - case aggregate_: - return( "AGGREGATE_TYPE" ); - case array_: - return( "ARRAY_TYPE" ); - case bag_: - return( "BAG_TYPE" ); - case set_: - return( "SET_TYPE" ); - case list_: - return( "LIST_TYPE" ); - case entity_: - return( "sdaiINSTANCE" ); - case enumeration_: - return( "sdaiENUMERATION" ); - case select_: - return ( "sdaiSELECT" ); - default: - return( "UNKNOWN_TYPE" ); - } -} - -/** this actually gets you the name of the variable that will be generated to - be a TypeDescriptor or subtype of TypeDescriptor to represent Type t in - the dictionary. */ - -const char * TypeDescriptorName( Type t ) { - static char b [BUFSIZ]; - Schema parent = t->superscope; - /* NOTE - I corrected a prev bug here in which the *current* schema was - ** passed to this function. Now we take "parent" - the schema in which - ** Type t was defined - which was actually used to create t's name. DAR */ - - if( !parent ) { - parent = TYPEget_body( t )->entity->superscope; - /* This works in certain cases that don't work otherwise (basically a - ** kludge). For some reason types which are really entity choices of - ** a select have no superscope value, but their super may be tracked - ** by following through the entity they reference, as above. */ - } - - sprintf( b, "%s::%s%s", SCHEMAget_name( parent ), TYPEprefix( t ), - TYPEget_name( t ) ); - return b; -} - -/* this gets you the name of the type of TypeDescriptor (or subtype) that a - variable generated to represent Type t would be an instance of. */ - -const char * -GetTypeDescriptorName( Type t ) { - switch( TYPEget_body( t )->type ) { - case aggregate_: - return "AggrTypeDescriptor"; - - case list_: - return "ListTypeDescriptor"; - - case set_: - return "SetTypeDescriptor"; - - case bag_: - return "BagTypeDescriptor"; - - case array_: - return "ArrayTypeDescriptor"; - - case select_: - return "SelectTypeDescriptor"; - - case boolean_: - case logical_: - case enumeration_: - return "EnumTypeDescriptor"; - - case entity_: - return "EntityDescriptor"; - - case integer_: - case real_: - case string_: - case binary_: - case number_: - case generic_: - return "TypeDescriptor"; - default: - printf( "Error in %s, line %d: type %d not handled by switch statement.", __FILE__, __LINE__, TYPEget_body( t )->type ); - abort(); - } - /* NOTREACHED */ - return ""; -} - -int -ENTITYhas_explicit_attributes( Entity e ) { - Linked_List l = ENTITYget_attributes( e ); - int cnt = 0; - LISTdo( l, a, Variable ) - if( VARget_initializer( a ) == EXPRESSION_NULL ) { - ++cnt; - } - LISTod; - return cnt; - -} - -Entity -ENTITYput_superclass( Entity entity ) { -#define ENTITYget_type(e) ((e)->u.entity->type) - - Linked_List l = ENTITYget_supertypes( entity ); - Entity super = 0; - Entity ignore = 0; - int super_cnt = 0; - EntityTag tag; - - Linked_List list = 0; - - if( ! LISTempty( l ) ) { - - if( multiple_inheritance ) { - list = ENTITYget_supertypes( entity ); - if( ! LISTempty( list ) ) { - /* assign superclass to be the first one on the list of parents */ - super = ( Entity )LISTpeek_first( list ); - } - } else { - /* find the first parent that has attributes (in the parent or any of its - ancestors). Make super point at that parent and print warnings for - all the rest of the parents. DAS */ - LISTdo( l, e, Entity ) - /* if there's no super class yet, - or if the entity super class [the variable] super is pointing at - doesn't have any attributes: make super point at the current parent. - As soon as the parent pointed to by super has attributes, stop - assigning super and print ignore messages for the remaining parents. - */ - if( ( ! super ) || ( ! ENTITYhas_explicit_attributes( super ) ) ) { - ignore = super; - super = e; - ++ super_cnt; - } else { - ignore = e; - } - if( ignore ) { - printf( "WARNING: multiple inheritance not implemented.\n" ); - printf( "\tin ENTITY %s\n\tSUPERTYPE %s IGNORED.\n\n", - ENTITYget_name( entity ), ENTITYget_name( e ) ); - } - LISTod; - } - - tag = ( EntityTag ) sc_malloc( sizeof( struct EntityTag_ ) ); - tag -> superclass = super; - TYPEput_clientData( ENTITYget_type( entity ), ( ClientData ) tag ); - return super; - } - return 0; -} - -Entity -ENTITYget_superclass( Entity entity ) { - EntityTag tag; - tag = ( EntityTag ) TYPEget_clientData( ENTITYget_type( entity ) ); - return ( tag ? tag -> superclass : 0 ); -} - -void ENTITYget_first_attribs( Entity entity, Linked_List result ) { - Linked_List supers; - - LISTdo( ENTITYget_attributes( entity ), attr, Generic ) - LISTadd_last( result, attr ); - LISTod; - supers = ENTITYget_supertypes( entity ); - if( supers ) { - ENTITYget_first_attribs( ( Entity )LISTget_first( supers ), result ); - } -} - -/** Attributes are divided into four categories: -** these are not exclusive as far as I can tell! I added defs below DAS -** -** . simple explicit -** . type shifters // not DERIVEd - redefines type in ancestor -** // VARget_initializer(v) returns null -** -** . simple derived // DERIVEd - is calculated - VARget_initializer(v) -** // returns non-zero, VARis_derived(v) is non-zero -** -** . overriding // includes type shifters and derived -** -** All of them are added to the dictionary. -** Only type shifters generate a new STEPattribute. -** Type shifters generate access functions and data members, for now. -** Overriding generate access functions and data members, for now. ???? DAS - -** // type shifting attributes -** // ------------------------ -** // before printing new STEPattribute -** // check to see if it\'s already printed in supertype -** // still add new access function -** -** // overriding attributes -** // --------------------- -** // go through derived attributes -** // if STEPattribute found with same name -** // tell it to be * for reading and writing -**/ - -Variable -VARis_type_shifter( Variable a ) { - char * temp; - - if( VARis_derived( a ) || VARget_inverse( a ) ) { - return 0; - } - - temp = EXPRto_string( VARget_name( a ) ); - if( ! strncmp( StrToLower( temp ), "self\\", 5 ) ) { - /* a is a type shifter */ - sc_free( temp ); - return a; - } - sc_free( temp ); - return 0; -} - -Variable -VARis_overrider( Entity e, Variable a ) { - - Variable other; - char * tmp; - - tmp = VARget_simple_name( a ); - - LISTdo( ENTITYget_supertypes( e ), s, Entity ) - if( ( other = ENTITYget_named_attribute( s, tmp ) ) - && other != a ) { - return other; - } - LISTod; - return 0; -} - -Type -TYPEget_ancestor( Type t ) -/* - * For a renamed type, returns the original (ancestor) type from which t - * descends. Return NULL if t is top level. - */ -{ - Type i = t; - - if( !TYPEget_head( i ) ) { - return NULL; - } - - while( TYPEget_head( i ) ) { - i = TYPEget_head( i ); - } - - return i; -} diff --git a/src/fedex_python/CMakeLists.txt b/src/fedex_python/CMakeLists.txt deleted file mode 100644 index ad23fc636..000000000 --- a/src/fedex_python/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -if(SC_PYTHON_GENERATOR) - -include_directories( - ${SC_SOURCE_DIR}/include - ${SC_SOURCE_DIR}/include/exppp - ${SC_SOURCE_DIR}/include/express - ${SC_SOURCE_DIR}/src/base - ${SC_SOURCE_DIR}/src/fedex_plus -) - -add_definitions( -DHAVE_CONFIG_H ) - -set(fedex_python_SOURCES - src/classes_misc_python.c - ../express/fedex.c - src/fedex_main_python.c - src/classes_wrapper_python.cc - src/classes_python.c - src/selects_python.c - src/multpass_python.c - ../fedex_plus/collect.cc - ../fedex_plus/complexlist.cc - ../fedex_plus/entlist.cc - ../fedex_plus/multlist.cc - ../fedex_plus/orlist.cc - ../fedex_plus/entnode.cc - ../fedex_plus/expressbuild.cc - ../fedex_plus/non-ors.cc - ../fedex_plus/match-ors.cc - ../fedex_plus/trynext.cc - ../fedex_plus/write.cc - ../fedex_plus/print.cc -) -SC_ADDEXEC(fedex_python "${fedex_python_SOURCES}" "libexppp;express;base") - -add_dependencies( fedex_python version_string ) -endif(SC_PYTHON_GENERATOR) diff --git a/src/fedex_python/REAMDE.md b/src/fedex_python/REAMDE.md deleted file mode 100644 index 64e7179c7..000000000 --- a/src/fedex_python/REAMDE.md +++ /dev/null @@ -1 +0,0 @@ -Howto diff --git a/src/fedex_python/examples/unitary_schemas/gcc_incomplete_type.py b/src/fedex_python/examples/unitary_schemas/gcc_incomplete_type.py deleted file mode 100644 index a0ab4b128..000000000 --- a/src/fedex_python/examples/unitary_schemas/gcc_incomplete_type.py +++ /dev/null @@ -1,28 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'gcc_incomplete_type' - -schema_scope = sys.modules[__name__] - -# Defined datatype maths_number -class maths_number(NUMBER): - def __init__(self,*kargs): - pass - -# SELECT TYPE atom_based_value -atom_based_value = SELECT( - 'maths_number', - 'atom_based_tuple', - scope = schema_scope) -atom_based_tuple = LIST(0,None,'atom_based_value', scope = schema_scope) diff --git a/src/fedex_python/examples/unitary_schemas/generate_schemas_modules.py b/src/fedex_python/examples/unitary_schemas/generate_schemas_modules.py deleted file mode 100644 index 86f6b3b51..000000000 --- a/src/fedex_python/examples/unitary_schemas/generate_schemas_modules.py +++ /dev/null @@ -1,13 +0,0 @@ -__doc__= ''' This script runs fedex_python over each EXPRESS schema in the test/unitary_schemas folder''' - -unitary_schemas_path = '../../../../test/unitary_schemas' -fedex_python_path = '../../../../cmake-build/bin/fedex_python' - -import subprocess -import glob -import os - -unitary_schemas = glob.glob(os.path.join(unitary_schemas_path,'*.exp')) - -for unitary_schema in unitary_schemas: - subprocess.call([fedex_python_path,unitary_schema]) \ No newline at end of file diff --git a/src/fedex_python/examples/unitary_schemas/index_attribute.py b/src/fedex_python/examples/unitary_schemas/index_attribute.py deleted file mode 100644 index 572837275..000000000 --- a/src/fedex_python/examples/unitary_schemas/index_attribute.py +++ /dev/null @@ -1,140 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'index_attribute' - -schema_scope = sys.modules[__name__] - -common_datum_list = LIST(1,None,'datum_reference_element', scope = schema_scope) -# Defined datatype label -class label(STRING): - def __init__(self,*kargs): - pass - -# SELECT TYPE datum_or_common_datum -datum_or_common_datum = SELECT( - 'common_datum_list', - 'datum', - scope = schema_scope) - -#################### - # ENTITY shape_aspect # -#################### -class shape_aspect(BaseEntityClass): - '''Entity shape_aspect definition. - - :param name - :type name:label - - :param of_shape - :type of_shape:product_definition_shape - ''' - def __init__( self , name,of_shape, ): - self.name = name - self.of_shape = of_shape - - @apply - def name(): - def fget( self ): - return self._name - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument name is mantatory and can not be set to None') - if not check_type(value,label): - self._name = label(value) - else: - self._name = value - return property(**locals()) - - @apply - def of_shape(): - def fget( self ): - return self._of_shape - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument of_shape is mantatory and can not be set to None') - if not check_type(value,product_definition_shape): - self._of_shape = product_definition_shape(value) - else: - self._of_shape = value - return property(**locals()) - def wr1(self): - eval_wr1_wr = (SIZEOF(USEDIN(self,'INDEX_ATTRIBUTE.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1) - if not eval_wr1_wr: - raise AssertionError('Rule wr1 violated') - else: - return eval_wr1_wr - - -#################### - # ENTITY general_datum_reference # -#################### -class general_datum_reference(shape_aspect): - '''Entity general_datum_reference definition. - - :param base - :type base:datum_or_common_datum - ''' - def __init__( self , inherited0__name , inherited1__of_shape , base, ): - shape_aspect.__init__(self , inherited0__name , inherited1__of_shape , ) - self.base = base - - @apply - def base(): - def fget( self ): - return self._base - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument base is mantatory and can not be set to None') - if not check_type(value,datum_or_common_datum): - self._base = datum_or_common_datum(value) - else: - self._base = value - return property(**locals()) - def wr1(self): - eval_wr1_wr = (( not ('INDEX_ATTRIBUTE.COMMON_DATUM_LIST' == TYPEOF(self.base))) or (self.self.shape_aspect.self.of_shape == self.base[1].self.shape_aspect.self.of_shape)) - if not eval_wr1_wr: - raise AssertionError('Rule wr1 violated') - else: - return eval_wr1_wr - - -#################### - # ENTITY product_definition_shape # -#################### -class product_definition_shape(BaseEntityClass): - '''Entity product_definition_shape definition. - ''' - # This class does not define any attribute. - pass - -#################### - # ENTITY datum_reference_element # -#################### -class datum_reference_element(general_datum_reference): - '''Entity datum_reference_element definition. - ''' - def __init__( self , inherited0__name , inherited1__of_shape , inherited2__base , ): - general_datum_reference.__init__(self , inherited0__name , inherited1__of_shape , inherited2__base , ) - -#################### - # ENTITY datum # -#################### -class datum(shape_aspect): - '''Entity datum definition. - ''' - def __init__( self , inherited0__name , inherited1__of_shape , ): - shape_aspect.__init__(self , inherited0__name , inherited1__of_shape , ) diff --git a/src/fedex_python/examples/unitary_schemas/multiple_rep.py b/src/fedex_python/examples/unitary_schemas/multiple_rep.py deleted file mode 100644 index 46393c6ca..000000000 --- a/src/fedex_python/examples/unitary_schemas/multiple_rep.py +++ /dev/null @@ -1,353 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'multiple_rep' - -schema_scope = sys.modules[__name__] - -# Defined datatype text -class text(STRING): - def __init__(self,*kargs): - pass - -# Defined datatype representation_context -class representation_context(STRING): - def __init__(self,*kargs): - pass - -# Defined datatype identifier -class identifier(STRING): - def __init__(self,*kargs): - pass - -# Defined datatype shape_definition -class shape_definition(STRING): - def __init__(self,*kargs): - pass - -# Defined datatype transformation -class transformation(STRING): - def __init__(self,*kargs): - pass - -# Defined datatype representation_item -class representation_item(STRING): - def __init__(self,*kargs): - pass - -# Defined datatype characterized_product_definition -class characterized_product_definition(STRING): - def __init__(self,*kargs): - pass - -# SELECT TYPE characterized_definition -characterized_definition = SELECT( - 'characterized_object', - 'characterized_product_definition', - 'shape_definition', - scope = schema_scope) -# Defined datatype label -class label(STRING): - def __init__(self,*kargs): - pass - -# Defined datatype characterized_object -class characterized_object(STRING): - def __init__(self,*kargs): - pass - - -#################### - # ENTITY representation_relationship # -#################### -class representation_relationship(BaseEntityClass): - '''Entity representation_relationship definition. - - :param name - :type name:label - - :param rep_1 - :type rep_1:representation - - :param rep_2 - :type rep_2:representation - ''' - def __init__( self , name,rep_1,rep_2, ): - self.name = name - self.rep_1 = rep_1 - self.rep_2 = rep_2 - - @apply - def name(): - def fget( self ): - return self._name - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument name is mantatory and can not be set to None') - if not check_type(value,label): - self._name = label(value) - else: - self._name = value - return property(**locals()) - - @apply - def rep_1(): - def fget( self ): - return self._rep_1 - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument rep_1 is mantatory and can not be set to None') - if not check_type(value,representation): - self._rep_1 = representation(value) - else: - self._rep_1 = value - return property(**locals()) - - @apply - def rep_2(): - def fget( self ): - return self._rep_2 - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument rep_2 is mantatory and can not be set to None') - if not check_type(value,representation): - self._rep_2 = representation(value) - else: - self._rep_2 = value - return property(**locals()) - -#################### - # ENTITY shape_representation_relationship # -#################### -class shape_representation_relationship(representation_relationship): - '''Entity shape_representation_relationship definition. - ''' - def __init__( self , inherited0__name , inherited1__rep_1 , inherited2__rep_2 , ): - representation_relationship.__init__(self , inherited0__name , inherited1__rep_1 , inherited2__rep_2 , ) - def wr1(self): - eval_wr1_wr = ('MULTIPLE_REP.SHAPE_REPRESENTATION' == (TYPEOF(self.self.representation_relationship.self.rep_1) + TYPEOF(self.self.representation_relationship.self.rep_2))) - if not eval_wr1_wr: - raise AssertionError('Rule wr1 violated') - else: - return eval_wr1_wr - - -#################### - # ENTITY representation # -#################### -class representation(BaseEntityClass): - '''Entity representation definition. - - :param name - :type name:label - - :param items - :type items:SET(1,None,'STRING', scope = schema_scope) - - :param context_of_items - :type context_of_items:representation_context - ''' - def __init__( self , name,items,context_of_items, ): - self.name = name - self.items = items - self.context_of_items = context_of_items - - @apply - def name(): - def fget( self ): - return self._name - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument name is mantatory and can not be set to None') - if not check_type(value,label): - self._name = label(value) - else: - self._name = value - return property(**locals()) - - @apply - def items(): - def fget( self ): - return self._items - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument items is mantatory and can not be set to None') - if not check_type(value,SET(1,None,'STRING', scope = schema_scope)): - self._items = SET(value) - else: - self._items = value - return property(**locals()) - - @apply - def context_of_items(): - def fget( self ): - return self._context_of_items - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument context_of_items is mantatory and can not be set to None') - if not check_type(value,representation_context): - self._context_of_items = representation_context(value) - else: - self._context_of_items = value - return property(**locals()) - def wr1(self): - eval_wr1_wr = (SIZEOF(USEDIN(self,'MULTIPLE_REP.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1) - if not eval_wr1_wr: - raise AssertionError('Rule wr1 violated') - else: - return eval_wr1_wr - - def wr2(self): - eval_wr2_wr = (SIZEOF(USEDIN(self,'MULTIPLE_REP.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1) - if not eval_wr2_wr: - raise AssertionError('Rule wr2 violated') - else: - return eval_wr2_wr - - -#################### - # ENTITY property_definition # -#################### -class property_definition(BaseEntityClass): - '''Entity property_definition definition. - - :param name - :type name:label - - :param definition - :type definition:characterized_definition - ''' - def __init__( self , name,definition, ): - self.name = name - self.definition = definition - - @apply - def name(): - def fget( self ): - return self._name - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument name is mantatory and can not be set to None') - if not check_type(value,label): - self._name = label(value) - else: - self._name = value - return property(**locals()) - - @apply - def definition(): - def fget( self ): - return self._definition - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument definition is mantatory and can not be set to None') - if not check_type(value,characterized_definition): - self._definition = characterized_definition(value) - else: - self._definition = value - return property(**locals()) - def wr1(self): - eval_wr1_wr = (SIZEOF(USEDIN(self,'MULTIPLE_REP.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1) - if not eval_wr1_wr: - raise AssertionError('Rule wr1 violated') - else: - return eval_wr1_wr - - -#################### - # ENTITY context_dependent_shape_representation # -#################### -class context_dependent_shape_representation(BaseEntityClass): - '''Entity context_dependent_shape_representation definition. - - :param representation_relation - :type representation_relation:shape_representation_relationship - ''' - def __init__( self , representation_relation, ): - self.representation_relation = representation_relation - - @apply - def representation_relation(): - def fget( self ): - return self._representation_relation - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument representation_relation is mantatory and can not be set to None') - if not check_type(value,shape_representation_relationship): - self._representation_relation = shape_representation_relationship(value) - else: - self._representation_relation = value - return property(**locals()) - def wr2(self): - eval_wr2_wr = (SIZEOF(USEDIN(self,'MULTIPLE_REP.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1) - if not eval_wr2_wr: - raise AssertionError('Rule wr2 violated') - else: - return eval_wr2_wr - - def wr3(self): - eval_wr3_wr = (SIZEOF(USEDIN(self,'MULTIPLE_REP.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1) - if not eval_wr3_wr: - raise AssertionError('Rule wr3 violated') - else: - return eval_wr3_wr - - -#################### - # ENTITY definitional_representation_relationship # -#################### -class definitional_representation_relationship(representation_relationship): - '''Entity definitional_representation_relationship definition. - ''' - def __init__( self , inherited0__name , inherited1__rep_1 , inherited2__rep_2 , ): - representation_relationship.__init__(self , inherited0__name , inherited1__rep_1 , inherited2__rep_2 , ) - -#################### - # ENTITY component_2d_location # -#################### -class component_2d_location(context_dependent_shape_representation,shape_representation_relationship,definitional_representation_relationship): - '''Entity component_2d_location definition. - - :param context_dependent_shape_representation_representation_relation - :type context_dependent_shape_representation_representation_relation:component_2d_location - ''' - def __init__( self , inherited0__representation_relation , inherited1__name , inherited2__rep_1 , inherited3__rep_2 , inherited4__name , inherited5__rep_1 , inherited6__rep_2 , ): - context_dependent_shape_representation.__init__(self , inherited0__representation_relation , ) - shape_representation_relationship.__init__(self , inherited1__name , inherited2__rep_1 , inherited3__rep_2 , ) - definitional_representation_relationship.__init__(self , inherited4__name , inherited5__rep_1 , inherited6__rep_2 , ) - - @apply - def context_dependent_shape_representation_representation_relation(): - def fget( self ): - attribute_eval = self - return attribute_eval - def fset( self, value ): - # DERIVED argument - raise AssertionError('Argument context_dependent_shape_representation_representation_relation is DERIVED. It is computed and can not be set to any value') - return property(**locals()) - def wr1(self): - eval_wr1_wr = (self.self.representation_relationship.self.name == 'component 2d location') - if not eval_wr1_wr: - raise AssertionError('Rule wr1 violated') - else: - return eval_wr1_wr - diff --git a/src/fedex_python/examples/unitary_schemas/test_array.py b/src/fedex_python/examples/unitary_schemas/test_array.py deleted file mode 100644 index 992fec39f..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_array.py +++ /dev/null @@ -1,43 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_array' - -schema_scope = sys.modules[__name__] - - -#################### - # ENTITY point # -#################### -class point(BaseEntityClass): - '''Entity point definition. - - :param coords - :type coords:ARRAY(1,3,'REAL', scope = schema_scope) - ''' - def __init__( self , coords, ): - self.coords = coords - - @apply - def coords(): - def fget( self ): - return self._coords - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument coords is mantatory and can not be set to None') - if not check_type(value,ARRAY(1,3,'REAL', scope = schema_scope)): - self._coords = ARRAY(value) - else: - self._coords = value - return property(**locals()) diff --git a/src/fedex_python/examples/unitary_schemas/test_array_of_array_of_simple_types.py b/src/fedex_python/examples/unitary_schemas/test_array_of_array_of_simple_types.py deleted file mode 100644 index a05173e20..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_array_of_array_of_simple_types.py +++ /dev/null @@ -1,43 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_array_of_array_of_simple_types' - -schema_scope = sys.modules[__name__] - - -#################### - # ENTITY transformation # -#################### -class transformation(BaseEntityClass): - '''Entity transformation definition. - - :param rotation - :type rotation:ARRAY(1,3,ARRAY(1,3,'REAL', scope = schema_scope)) - ''' - def __init__( self , rotation, ): - self.rotation = rotation - - @apply - def rotation(): - def fget( self ): - return self._rotation - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument rotation is mantatory and can not be set to None') - if not check_type(value,ARRAY(1,3,ARRAY(1,3,'REAL', scope = schema_scope))): - self._rotation = ARRAY(value) - else: - self._rotation = value - return property(**locals()) diff --git a/src/fedex_python/examples/unitary_schemas/test_array_of_simple_types.py b/src/fedex_python/examples/unitary_schemas/test_array_of_simple_types.py deleted file mode 100644 index a7941c327..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_array_of_simple_types.py +++ /dev/null @@ -1,79 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_array_of_simple_types' - -schema_scope = sys.modules[__name__] - - -#################### - # ENTITY point # -#################### -class point(BaseEntityClass): - '''Entity point definition. - - :param arr_real - :type arr_real:ARRAY(1,3,'REAL', scope = schema_scope) - - :param arr_string - :type arr_string:ARRAY(1,3,'STRING', scope = schema_scope) - - :param arr_integer - :type arr_integer:ARRAY(1,None,'INTEGER', scope = schema_scope) - ''' - def __init__( self , arr_real,arr_string,arr_integer, ): - self.arr_real = arr_real - self.arr_string = arr_string - self.arr_integer = arr_integer - - @apply - def arr_real(): - def fget( self ): - return self._arr_real - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument arr_real is mantatory and can not be set to None') - if not check_type(value,ARRAY(1,3,'REAL', scope = schema_scope)): - self._arr_real = ARRAY(value) - else: - self._arr_real = value - return property(**locals()) - - @apply - def arr_string(): - def fget( self ): - return self._arr_string - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument arr_string is mantatory and can not be set to None') - if not check_type(value,ARRAY(1,3,'STRING', scope = schema_scope)): - self._arr_string = ARRAY(value) - else: - self._arr_string = value - return property(**locals()) - - @apply - def arr_integer(): - def fget( self ): - return self._arr_integer - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument arr_integer is mantatory and can not be set to None') - if not check_type(value,ARRAY(1,None,'INTEGER', scope = schema_scope)): - self._arr_integer = ARRAY(value) - else: - self._arr_integer = value - return property(**locals()) diff --git a/src/fedex_python/examples/unitary_schemas/test_derived_attribute.py b/src/fedex_python/examples/unitary_schemas/test_derived_attribute.py deleted file mode 100644 index 51dfe14c5..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_derived_attribute.py +++ /dev/null @@ -1,123 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_derived_attribute' - -schema_scope = sys.modules[__name__] - - -#################### - # ENTITY vector # -#################### -class vector(BaseEntityClass): - '''Entity vector definition. - ''' - # This class does not define any attribute. - pass - -#################### - # ENTITY circle # -#################### -class circle(BaseEntityClass): - '''Entity circle definition. - - :param centre - :type centre:point - - :param radius - :type radius:REAL - - :param axis - :type axis:vector - - :param area - :type area:REAL - - :param perimeter - :type perimeter:REAL - ''' - def __init__( self , centre,radius,axis, ): - self.centre = centre - self.radius = radius - self.axis = axis - - @apply - def centre(): - def fget( self ): - return self._centre - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument centre is mantatory and can not be set to None') - if not check_type(value,point): - self._centre = point(value) - else: - self._centre = value - return property(**locals()) - - @apply - def radius(): - def fget( self ): - return self._radius - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument radius is mantatory and can not be set to None') - if not check_type(value,REAL): - self._radius = REAL(value) - else: - self._radius = value - return property(**locals()) - - @apply - def axis(): - def fget( self ): - return self._axis - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument axis is mantatory and can not be set to None') - if not check_type(value,vector): - self._axis = vector(value) - else: - self._axis = value - return property(**locals()) - - @apply - def area(): - def fget( self ): - attribute_eval = ( PI * (self.radius ** 2)) - return attribute_eval - def fset( self, value ): - # DERIVED argument - raise AssertionError('Argument area is DERIVED. It is computed and can not be set to any value') - return property(**locals()) - - @apply - def perimeter(): - def fget( self ): - attribute_eval = ((2 * PI ) * self.radius) - return attribute_eval - def fset( self, value ): - # DERIVED argument - raise AssertionError('Argument perimeter is DERIVED. It is computed and can not be set to any value') - return property(**locals()) - -#################### - # ENTITY point # -#################### -class point(BaseEntityClass): - '''Entity point definition. - ''' - # This class does not define any attribute. - pass diff --git a/src/fedex_python/examples/unitary_schemas/test_entity_where_rule.py b/src/fedex_python/examples/unitary_schemas/test_entity_where_rule.py deleted file mode 100644 index 47c43dd9b..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_entity_where_rule.py +++ /dev/null @@ -1,322 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_entity_where_rule' - -schema_scope = sys.modules[__name__] - -# Defined datatype label -class label(STRING): - def __init__(self,*kargs): - pass - - -#################### - # ENTITY unit_vector # -#################### -class unit_vector(BaseEntityClass): - '''Entity unit_vector definition. - - :param a - :type a:REAL - - :param b - :type b:REAL - - :param c - :type c:REAL - ''' - def __init__( self , a,b,c, ): - self.a = a - self.b = b - self.c = c - - @apply - def a(): - def fget( self ): - return self._a - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument a is mantatory and can not be set to None') - if not check_type(value,REAL): - self._a = REAL(value) - else: - self._a = value - return property(**locals()) - - @apply - def b(): - def fget( self ): - return self._b - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument b is mantatory and can not be set to None') - if not check_type(value,REAL): - self._b = REAL(value) - else: - self._b = value - return property(**locals()) - - @apply - def c(): - def fget( self ): - return self._c - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument c is mantatory and can not be set to None') - if not check_type(value,REAL): - self._c = REAL(value) - else: - self._c = value - return property(**locals()) - def length_1(self): - eval_length_1_wr = ((((self.a ** 2) + (self.b ** 2)) + (self.c ** 2)) == 1) - if not eval_length_1_wr: - raise AssertionError('Rule length_1 violated') - else: - return eval_length_1_wr - - -#################### - # ENTITY address # -#################### -class address(BaseEntityClass): - '''Entity address definition. - - :param internal_location - :type internal_location:label - - :param street_number - :type street_number:label - - :param street - :type street:label - - :param postal_box - :type postal_box:label - - :param town - :type town:label - - :param region - :type region:label - - :param postal_code - :type postal_code:label - - :param country - :type country:label - - :param facsimile_number - :type facsimile_number:label - - :param telephone_number - :type telephone_number:label - - :param electronic_mail_address - :type electronic_mail_address:label - - :param telex_number - :type telex_number:label - ''' - def __init__( self , internal_location,street_number,street,postal_box,town,region,postal_code,country,facsimile_number,telephone_number,electronic_mail_address,telex_number, ): - self.internal_location = internal_location - self.street_number = street_number - self.street = street - self.postal_box = postal_box - self.town = town - self.region = region - self.postal_code = postal_code - self.country = country - self.facsimile_number = facsimile_number - self.telephone_number = telephone_number - self.electronic_mail_address = electronic_mail_address - self.telex_number = telex_number - - @apply - def internal_location(): - def fget( self ): - return self._internal_location - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._internal_location = label(value) - else: - self._internal_location = value - else: - self._internal_location = value - return property(**locals()) - - @apply - def street_number(): - def fget( self ): - return self._street_number - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._street_number = label(value) - else: - self._street_number = value - else: - self._street_number = value - return property(**locals()) - - @apply - def street(): - def fget( self ): - return self._street - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._street = label(value) - else: - self._street = value - else: - self._street = value - return property(**locals()) - - @apply - def postal_box(): - def fget( self ): - return self._postal_box - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._postal_box = label(value) - else: - self._postal_box = value - else: - self._postal_box = value - return property(**locals()) - - @apply - def town(): - def fget( self ): - return self._town - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._town = label(value) - else: - self._town = value - else: - self._town = value - return property(**locals()) - - @apply - def region(): - def fget( self ): - return self._region - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._region = label(value) - else: - self._region = value - else: - self._region = value - return property(**locals()) - - @apply - def postal_code(): - def fget( self ): - return self._postal_code - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._postal_code = label(value) - else: - self._postal_code = value - else: - self._postal_code = value - return property(**locals()) - - @apply - def country(): - def fget( self ): - return self._country - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._country = label(value) - else: - self._country = value - else: - self._country = value - return property(**locals()) - - @apply - def facsimile_number(): - def fget( self ): - return self._facsimile_number - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._facsimile_number = label(value) - else: - self._facsimile_number = value - else: - self._facsimile_number = value - return property(**locals()) - - @apply - def telephone_number(): - def fget( self ): - return self._telephone_number - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._telephone_number = label(value) - else: - self._telephone_number = value - else: - self._telephone_number = value - return property(**locals()) - - @apply - def electronic_mail_address(): - def fget( self ): - return self._electronic_mail_address - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._electronic_mail_address = label(value) - else: - self._electronic_mail_address = value - else: - self._electronic_mail_address = value - return property(**locals()) - - @apply - def telex_number(): - def fget( self ): - return self._telex_number - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._telex_number = label(value) - else: - self._telex_number = value - else: - self._telex_number = value - return property(**locals()) - def wr1(self): - eval_wr1_wr = (((((((((((EXISTS(self.internal_location) or EXISTS(self.street_number)) or EXISTS(self.street)) or EXISTS(self.postal_box)) or EXISTS(self.town)) or EXISTS(self.region)) or EXISTS(self.postal_code)) or EXISTS(self.country)) or EXISTS(self.facsimile_number)) or EXISTS(self.telephone_number)) or EXISTS(self.electronic_mail_address)) or EXISTS(self.telex_number)) - if not eval_wr1_wr: - raise AssertionError('Rule wr1 violated') - else: - return eval_wr1_wr - diff --git a/src/fedex_python/examples/unitary_schemas/test_enum_entity_name.py b/src/fedex_python/examples/unitary_schemas/test_enum_entity_name.py deleted file mode 100644 index 5f3b292cf..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_enum_entity_name.py +++ /dev/null @@ -1,32 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_enum_entity_name' - -schema_scope = sys.modules[__name__] - - -# ENUMERATION TYPE simple_datum_reference_modifier -simple_datum_reference_modifier = ENUMERATION( - 'line', - 'translation', - scope = schema_scope) - -#################### - # ENTITY line # -#################### -class line(BaseEntityClass): - '''Entity line definition. - ''' - # This class does not define any attribute. - pass diff --git a/src/fedex_python/examples/unitary_schemas/test_enums_same_name.py b/src/fedex_python/examples/unitary_schemas/test_enums_same_name.py deleted file mode 100644 index 18db34a4d..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_enums_same_name.py +++ /dev/null @@ -1,29 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_enums_same_name' - -schema_scope = sys.modules[__name__] - - -# ENUMERATION TYPE hair_color -hair_color = ENUMERATION( - 'bald', - 'red', - scope = schema_scope) - -# ENUMERATION TYPE favorite_color -favorite_color = ENUMERATION( - 'clear', - 'red', - scope = schema_scope) diff --git a/src/fedex_python/examples/unitary_schemas/test_function.py b/src/fedex_python/examples/unitary_schemas/test_function.py deleted file mode 100644 index 689da2815..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_function.py +++ /dev/null @@ -1,80 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_function' - -schema_scope = sys.modules[__name__] - - -#################### - # ENTITY dummy # -#################### -class dummy(BaseEntityClass): - '''Entity dummy definition. - ''' - # This class does not define any attribute. - pass - -#################### - # FUNCTION add # -#################### -def add(r1,r2,): - ''' - :param r1 - :type r1:REAL - :param r2 - :type r2:REAL - ''' - result = r1 + r2 - return result - -#################### - # FUNCTION pow_n # -#################### -def pow_n(r1,n,): - ''' - :param r1 - :type r1:REAL - :param n - :type n:INTEGER - ''' - if (n == 0): - return 1 - else: - result = r1 - for i in range(1,n,1): - result = result * r1 - return result - -#################### - # FUNCTION case_1 # -#################### -def case_1(a,): - ''' - :param a - :type a:INTEGER - ''' - case_selector = a - if case_selector == 1: - x = SIN(a) - elif case_selector == 2: - x = EXP(a) - elif case_selector == 3: - x = SQRT(a) - elif case_selector == 4: - x = LOG(a) - elif case_selector == 5: - x = LOG(a) - else: - x = 0 - return x diff --git a/src/fedex_python/examples/unitary_schemas/test_multiple_inheritance.py b/src/fedex_python/examples/unitary_schemas/test_multiple_inheritance.py deleted file mode 100644 index d3525b068..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_multiple_inheritance.py +++ /dev/null @@ -1,582 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_multiple_inheritance' - -schema_scope = sys.modules[__name__] - -# SELECT TYPE classification_item -classification_item = SELECT( - 'person_and_organization_address', - 'address', - scope = schema_scope) -# Defined datatype text -class text(STRING): - def __init__(self,*kargs): - pass - -# Defined datatype identifier -class identifier(STRING): - def __init__(self,*kargs): - pass - -# Defined datatype label -class label(STRING): - def __init__(self,*kargs): - pass - - -#################### - # ENTITY address # -#################### -class address(BaseEntityClass): - '''Entity address definition. - - :param internal_location - :type internal_location:label - - :param street_number - :type street_number:label - - :param street - :type street:label - - :param postal_box - :type postal_box:label - - :param town - :type town:label - - :param region - :type region:label - - :param postal_code - :type postal_code:label - - :param country - :type country:label - - :param facsimile_number - :type facsimile_number:label - - :param telephone_number - :type telephone_number:label - - :param electronic_mail_address - :type electronic_mail_address:label - - :param telex_number - :type telex_number:label - ''' - def __init__( self , internal_location,street_number,street,postal_box,town,region,postal_code,country,facsimile_number,telephone_number,electronic_mail_address,telex_number, ): - self.internal_location = internal_location - self.street_number = street_number - self.street = street - self.postal_box = postal_box - self.town = town - self.region = region - self.postal_code = postal_code - self.country = country - self.facsimile_number = facsimile_number - self.telephone_number = telephone_number - self.electronic_mail_address = electronic_mail_address - self.telex_number = telex_number - - @apply - def internal_location(): - def fget( self ): - return self._internal_location - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._internal_location = label(value) - else: - self._internal_location = value - else: - self._internal_location = value - return property(**locals()) - - @apply - def street_number(): - def fget( self ): - return self._street_number - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._street_number = label(value) - else: - self._street_number = value - else: - self._street_number = value - return property(**locals()) - - @apply - def street(): - def fget( self ): - return self._street - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._street = label(value) - else: - self._street = value - else: - self._street = value - return property(**locals()) - - @apply - def postal_box(): - def fget( self ): - return self._postal_box - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._postal_box = label(value) - else: - self._postal_box = value - else: - self._postal_box = value - return property(**locals()) - - @apply - def town(): - def fget( self ): - return self._town - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._town = label(value) - else: - self._town = value - else: - self._town = value - return property(**locals()) - - @apply - def region(): - def fget( self ): - return self._region - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._region = label(value) - else: - self._region = value - else: - self._region = value - return property(**locals()) - - @apply - def postal_code(): - def fget( self ): - return self._postal_code - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._postal_code = label(value) - else: - self._postal_code = value - else: - self._postal_code = value - return property(**locals()) - - @apply - def country(): - def fget( self ): - return self._country - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._country = label(value) - else: - self._country = value - else: - self._country = value - return property(**locals()) - - @apply - def facsimile_number(): - def fget( self ): - return self._facsimile_number - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._facsimile_number = label(value) - else: - self._facsimile_number = value - else: - self._facsimile_number = value - return property(**locals()) - - @apply - def telephone_number(): - def fget( self ): - return self._telephone_number - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._telephone_number = label(value) - else: - self._telephone_number = value - else: - self._telephone_number = value - return property(**locals()) - - @apply - def electronic_mail_address(): - def fget( self ): - return self._electronic_mail_address - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._electronic_mail_address = label(value) - else: - self._electronic_mail_address = value - else: - self._electronic_mail_address = value - return property(**locals()) - - @apply - def telex_number(): - def fget( self ): - return self._telex_number - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._telex_number = label(value) - else: - self._telex_number = value - else: - self._telex_number = value - return property(**locals()) - -#################### - # ENTITY personal_address # -#################### -class personal_address(address): - '''Entity personal_address definition. - - :param people - :type people:SET(1,None,'person', scope = schema_scope) - - :param description - :type description:text - ''' - def __init__( self , inherited0__internal_location , inherited1__street_number , inherited2__street , inherited3__postal_box , inherited4__town , inherited5__region , inherited6__postal_code , inherited7__country , inherited8__facsimile_number , inherited9__telephone_number , inherited10__electronic_mail_address , inherited11__telex_number , people,description, ): - address.__init__(self , inherited0__internal_location , inherited1__street_number , inherited2__street , inherited3__postal_box , inherited4__town , inherited5__region , inherited6__postal_code , inherited7__country , inherited8__facsimile_number , inherited9__telephone_number , inherited10__electronic_mail_address , inherited11__telex_number , ) - self.people = people - self.description = description - - @apply - def people(): - def fget( self ): - return self._people - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument people is mantatory and can not be set to None') - if not check_type(value,SET(1,None,'person', scope = schema_scope)): - self._people = SET(value) - else: - self._people = value - return property(**locals()) - - @apply - def description(): - def fget( self ): - return self._description - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,text): - self._description = text(value) - else: - self._description = value - else: - self._description = value - return property(**locals()) - -#################### - # ENTITY organizational_address # -#################### -class organizational_address(address): - '''Entity organizational_address definition. - - :param organizations - :type organizations:SET(1,None,'organization', scope = schema_scope) - - :param description - :type description:text - ''' - def __init__( self , inherited0__internal_location , inherited1__street_number , inherited2__street , inherited3__postal_box , inherited4__town , inherited5__region , inherited6__postal_code , inherited7__country , inherited8__facsimile_number , inherited9__telephone_number , inherited10__electronic_mail_address , inherited11__telex_number , organizations,description, ): - address.__init__(self , inherited0__internal_location , inherited1__street_number , inherited2__street , inherited3__postal_box , inherited4__town , inherited5__region , inherited6__postal_code , inherited7__country , inherited8__facsimile_number , inherited9__telephone_number , inherited10__electronic_mail_address , inherited11__telex_number , ) - self.organizations = organizations - self.description = description - - @apply - def organizations(): - def fget( self ): - return self._organizations - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument organizations is mantatory and can not be set to None') - if not check_type(value,SET(1,None,'organization', scope = schema_scope)): - self._organizations = SET(value) - else: - self._organizations = value - return property(**locals()) - - @apply - def description(): - def fget( self ): - return self._description - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,text): - self._description = text(value) - else: - self._description = value - else: - self._description = value - return property(**locals()) - -#################### - # ENTITY person # -#################### -class person(BaseEntityClass): - '''Entity person definition. - - :param id - :type id:identifier - - :param last_name - :type last_name:label - - :param first_name - :type first_name:label - - :param middle_names - :type middle_names:LIST(1,None,'STRING', scope = schema_scope) - - :param prefix_titles - :type prefix_titles:LIST(1,None,'STRING', scope = schema_scope) - - :param suffix_titles - :type suffix_titles:LIST(1,None,'STRING', scope = schema_scope) - ''' - def __init__( self , id,last_name,first_name,middle_names,prefix_titles,suffix_titles, ): - self.id = id - self.last_name = last_name - self.first_name = first_name - self.middle_names = middle_names - self.prefix_titles = prefix_titles - self.suffix_titles = suffix_titles - - @apply - def id(): - def fget( self ): - return self._id - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument id is mantatory and can not be set to None') - if not check_type(value,identifier): - self._id = identifier(value) - else: - self._id = value - return property(**locals()) - - @apply - def last_name(): - def fget( self ): - return self._last_name - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._last_name = label(value) - else: - self._last_name = value - else: - self._last_name = value - return property(**locals()) - - @apply - def first_name(): - def fget( self ): - return self._first_name - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,label): - self._first_name = label(value) - else: - self._first_name = value - else: - self._first_name = value - return property(**locals()) - - @apply - def middle_names(): - def fget( self ): - return self._middle_names - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,LIST(1,None,'STRING', scope = schema_scope)): - self._middle_names = LIST(value) - else: - self._middle_names = value - else: - self._middle_names = value - return property(**locals()) - - @apply - def prefix_titles(): - def fget( self ): - return self._prefix_titles - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,LIST(1,None,'STRING', scope = schema_scope)): - self._prefix_titles = LIST(value) - else: - self._prefix_titles = value - else: - self._prefix_titles = value - return property(**locals()) - - @apply - def suffix_titles(): - def fget( self ): - return self._suffix_titles - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,LIST(1,None,'STRING', scope = schema_scope)): - self._suffix_titles = LIST(value) - else: - self._suffix_titles = value - else: - self._suffix_titles = value - return property(**locals()) - def wr1(self): - eval_wr1_wr = (EXISTS(self.last_name) or EXISTS(self.first_name)) - if not eval_wr1_wr: - raise AssertionError('Rule wr1 violated') - else: - return eval_wr1_wr - - -#################### - # ENTITY organization # -#################### -class organization(BaseEntityClass): - '''Entity organization definition. - - :param id - :type id:identifier - - :param name - :type name:label - - :param description - :type description:text - ''' - def __init__( self , id,name,description, ): - self.id = id - self.name = name - self.description = description - - @apply - def id(): - def fget( self ): - return self._id - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,identifier): - self._id = identifier(value) - else: - self._id = value - else: - self._id = value - return property(**locals()) - - @apply - def name(): - def fget( self ): - return self._name - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument name is mantatory and can not be set to None') - if not check_type(value,label): - self._name = label(value) - else: - self._name = value - return property(**locals()) - - @apply - def description(): - def fget( self ): - return self._description - def fset( self, value ): - if value != None: # OPTIONAL attribute - if not check_type(value,text): - self._description = text(value) - else: - self._description = value - else: - self._description = value - return property(**locals()) - -#################### - # ENTITY person_and_organization_address # -#################### -class person_and_organization_address(organizational_address,personal_address): - '''Entity person_and_organization_address definition. - - :param organizational_address_organizations - :type organizational_address_organizations:SET(1,1,'organization', scope = schema_scope) - - :param personal_address_people - :type personal_address_people:SET(1,1,'person', scope = schema_scope) - ''' - def __init__( self , inherited0__internal_location , inherited1__street_number , inherited2__street , inherited3__postal_box , inherited4__town , inherited5__region , inherited6__postal_code , inherited7__country , inherited8__facsimile_number , inherited9__telephone_number , inherited10__electronic_mail_address , inherited11__telex_number , inherited12__organizations , inherited13__description , inherited14__internal_location , inherited15__street_number , inherited16__street , inherited17__postal_box , inherited18__town , inherited19__region , inherited20__postal_code , inherited21__country , inherited22__facsimile_number , inherited23__telephone_number , inherited24__electronic_mail_address , inherited25__telex_number , inherited26__people , inherited27__description , organizational_address_organizations,personal_address_people, ): - organizational_address.__init__(self , inherited0__internal_location , inherited1__street_number , inherited2__street , inherited3__postal_box , inherited4__town , inherited5__region , inherited6__postal_code , inherited7__country , inherited8__facsimile_number , inherited9__telephone_number , inherited10__electronic_mail_address , inherited11__telex_number , inherited12__organizations , inherited13__description , ) - personal_address.__init__(self , inherited14__internal_location , inherited15__street_number , inherited16__street , inherited17__postal_box , inherited18__town , inherited19__region , inherited20__postal_code , inherited21__country , inherited22__facsimile_number , inherited23__telephone_number , inherited24__electronic_mail_address , inherited25__telex_number , inherited26__people , inherited27__description , ) - self.organizational_address_organizations = organizational_address_organizations - self.personal_address_people = personal_address_people - - @apply - def organizational_address_organizations(): - def fget( self ): - return self._organizational_address_organizations - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument organizational_address_organizations is mantatory and can not be set to None') - if not check_type(value,SET(1,1,'organization', scope = schema_scope)): - self._organizational_address_organizations = SET(value) - else: - self._organizational_address_organizations = value - return property(**locals()) - - @apply - def personal_address_people(): - def fget( self ): - return self._personal_address_people - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument personal_address_people is mantatory and can not be set to None') - if not check_type(value,SET(1,1,'person', scope = schema_scope)): - self._personal_address_people = SET(value) - else: - self._personal_address_people = value - return property(**locals()) diff --git a/src/fedex_python/examples/unitary_schemas/test_named_type.py b/src/fedex_python/examples/unitary_schemas/test_named_type.py deleted file mode 100644 index a3c649457..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_named_type.py +++ /dev/null @@ -1,94 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_named_type' - -schema_scope = sys.modules[__name__] - -# Defined datatype measure -class measure(REAL): - def __init__(self,*kargs): - pass - -# Defined datatype type2 -class type2(INTEGER): - def __init__(self,*kargs): - pass - -# Defined datatype type3 -class type3(type2): - def __init__(self,*kargs): - pass - - -#################### - # ENTITY line # -#################### -class line(BaseEntityClass): - '''Entity line definition. - - :param line_length - :type line_length:measure - - :param other_param - :type other_param:type3 - - :param and_another - :type and_another:REAL - ''' - def __init__( self , line_length,other_param,and_another, ): - self.line_length = line_length - self.other_param = other_param - self.and_another = and_another - - @apply - def line_length(): - def fget( self ): - return self._line_length - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument line_length is mantatory and can not be set to None') - if not check_type(value,measure): - self._line_length = measure(value) - else: - self._line_length = value - return property(**locals()) - - @apply - def other_param(): - def fget( self ): - return self._other_param - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument other_param is mantatory and can not be set to None') - if not check_type(value,type3): - self._other_param = type3(value) - else: - self._other_param = value - return property(**locals()) - - @apply - def and_another(): - def fget( self ): - return self._and_another - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument and_another is mantatory and can not be set to None') - if not check_type(value,REAL): - self._and_another = REAL(value) - else: - self._and_another = value - return property(**locals()) diff --git a/src/fedex_python/examples/unitary_schemas/test_select_data_type.py b/src/fedex_python/examples/unitary_schemas/test_select_data_type.py deleted file mode 100644 index 57be5b267..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_select_data_type.py +++ /dev/null @@ -1,252 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_select_data_type' - -schema_scope = sys.modules[__name__] - -# SELECT TYPE permanent_attachment -permanent_attachment = SELECT( - 'glue', - 'weld', - scope = schema_scope) -# SELECT TYPE temporary_attachment -temporary_attachment = SELECT( - 'nail', - 'screw', - scope = schema_scope) -# SELECT TYPE attachment_method -attachment_method = SELECT( - 'permanent_attachment', - 'temporary_attachment', - scope = schema_scope) - -#################### - # ENTITY weld # -#################### -class weld(BaseEntityClass): - '''Entity weld definition. - - :param composition - :type composition:STRING - ''' - def __init__( self , composition, ): - self.composition = composition - - @apply - def composition(): - def fget( self ): - return self._composition - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument composition is mantatory and can not be set to None') - if not check_type(value,STRING): - self._composition = STRING(value) - else: - self._composition = value - return property(**locals()) - -#################### - # ENTITY glue # -#################### -class glue(BaseEntityClass): - '''Entity glue definition. - - :param composition - :type composition:STRING - - :param solvent - :type solvent:STRING - ''' - def __init__( self , composition,solvent, ): - self.composition = composition - self.solvent = solvent - - @apply - def composition(): - def fget( self ): - return self._composition - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument composition is mantatory and can not be set to None') - if not check_type(value,STRING): - self._composition = STRING(value) - else: - self._composition = value - return property(**locals()) - - @apply - def solvent(): - def fget( self ): - return self._solvent - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument solvent is mantatory and can not be set to None') - if not check_type(value,STRING): - self._solvent = STRING(value) - else: - self._solvent = value - return property(**locals()) - -#################### - # ENTITY wall_mounting # -#################### -class wall_mounting(BaseEntityClass): - '''Entity wall_mounting definition. - - :param mounting - :type mounting:STRING - - :param on - :type on:STRING - - :param using - :type using:attachment_method - ''' - def __init__( self , mounting,on,using, ): - self.mounting = mounting - self.on = on - self.using = using - - @apply - def mounting(): - def fget( self ): - return self._mounting - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument mounting is mantatory and can not be set to None') - if not check_type(value,STRING): - self._mounting = STRING(value) - else: - self._mounting = value - return property(**locals()) - - @apply - def on(): - def fget( self ): - return self._on - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument on is mantatory and can not be set to None') - if not check_type(value,STRING): - self._on = STRING(value) - else: - self._on = value - return property(**locals()) - - @apply - def using(): - def fget( self ): - return self._using - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument using is mantatory and can not be set to None') - if not check_type(value,attachment_method): - self._using = attachment_method(value) - else: - self._using = value - return property(**locals()) - -#################### - # ENTITY screw # -#################### -class screw(BaseEntityClass): - '''Entity screw definition. - - :param body_length - :type body_length:REAL - - :param pitch - :type pitch:REAL - ''' - def __init__( self , body_length,pitch, ): - self.body_length = body_length - self.pitch = pitch - - @apply - def body_length(): - def fget( self ): - return self._body_length - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument body_length is mantatory and can not be set to None') - if not check_type(value,REAL): - self._body_length = REAL(value) - else: - self._body_length = value - return property(**locals()) - - @apply - def pitch(): - def fget( self ): - return self._pitch - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument pitch is mantatory and can not be set to None') - if not check_type(value,REAL): - self._pitch = REAL(value) - else: - self._pitch = value - return property(**locals()) - -#################### - # ENTITY nail # -#################### -class nail(BaseEntityClass): - '''Entity nail definition. - - :param body_length - :type body_length:REAL - - :param head_area - :type head_area:REAL - ''' - def __init__( self , body_length,head_area, ): - self.body_length = body_length - self.head_area = head_area - - @apply - def body_length(): - def fget( self ): - return self._body_length - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument body_length is mantatory and can not be set to None') - if not check_type(value,REAL): - self._body_length = REAL(value) - else: - self._body_length = value - return property(**locals()) - - @apply - def head_area(): - def fget( self ): - return self._head_area - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument head_area is mantatory and can not be set to None') - if not check_type(value,REAL): - self._head_area = REAL(value) - else: - self._head_area = value - return property(**locals()) diff --git a/src/fedex_python/examples/unitary_schemas/test_single_inheritance.py b/src/fedex_python/examples/unitary_schemas/test_single_inheritance.py deleted file mode 100644 index e1765084b..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_single_inheritance.py +++ /dev/null @@ -1,121 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_single_inheritance' - -schema_scope = sys.modules[__name__] - -# Defined datatype length_measure -class length_measure(REAL): - def __init__(self,*kargs): - pass - -# Defined datatype label -class label(STRING): - def __init__(self,*kargs): - pass - -# Defined datatype point -class point(REAL): - def __init__(self,*kargs): - pass - - -#################### - # ENTITY shape # -#################### -class shape(BaseEntityClass): - '''Entity shape definition. - - :param item_name - :type item_name:label - - :param number_of_sides - :type number_of_sides:INTEGER - ''' - def __init__( self , item_name,number_of_sides, ): - self.item_name = item_name - self.number_of_sides = number_of_sides - - @apply - def item_name(): - def fget( self ): - return self._item_name - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument item_name is mantatory and can not be set to None') - if not check_type(value,label): - self._item_name = label(value) - else: - self._item_name = value - return property(**locals()) - - @apply - def number_of_sides(): - def fget( self ): - return self._number_of_sides - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument number_of_sides is mantatory and can not be set to None') - if not check_type(value,INTEGER): - self._number_of_sides = INTEGER(value) - else: - self._number_of_sides = value - return property(**locals()) - -#################### - # ENTITY rectangle # -#################### -class rectangle(shape): - '''Entity rectangle definition. - - :param height - :type height:length_measure - - :param width - :type width:length_measure - ''' - def __init__( self , inherited0__item_name , inherited1__number_of_sides , height,width, ): - shape.__init__(self , inherited0__item_name , inherited1__number_of_sides , ) - self.height = height - self.width = width - - @apply - def height(): - def fget( self ): - return self._height - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument height is mantatory and can not be set to None') - if not check_type(value,length_measure): - self._height = length_measure(value) - else: - self._height = value - return property(**locals()) - - @apply - def width(): - def fget( self ): - return self._width - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument width is mantatory and can not be set to None') - if not check_type(value,length_measure): - self._width = length_measure(value) - else: - self._width = value - return property(**locals()) diff --git a/src/fedex_python/examples/unitary_schemas/test_single_inheritance_multi_level.py b/src/fedex_python/examples/unitary_schemas/test_single_inheritance_multi_level.py deleted file mode 100644 index c775f809a..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_single_inheritance_multi_level.py +++ /dev/null @@ -1,130 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_single_inheritance_multi_level' - -schema_scope = sys.modules[__name__] - -# Defined datatype length_measure -class length_measure(REAL): - def __init__(self,*kargs): - pass - -# Defined datatype label -class label(STRING): - def __init__(self,*kargs): - pass - -# Defined datatype point -class point(REAL): - def __init__(self,*kargs): - pass - - -#################### - # ENTITY shape # -#################### -class shape(BaseEntityClass): - '''Entity shape definition. - - :param item_name - :type item_name:label - - :param number_of_sides - :type number_of_sides:INTEGER - ''' - def __init__( self , item_name,number_of_sides, ): - self.item_name = item_name - self.number_of_sides = number_of_sides - - @apply - def item_name(): - def fget( self ): - return self._item_name - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument item_name is mantatory and can not be set to None') - if not check_type(value,label): - self._item_name = label(value) - else: - self._item_name = value - return property(**locals()) - - @apply - def number_of_sides(): - def fget( self ): - return self._number_of_sides - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument number_of_sides is mantatory and can not be set to None') - if not check_type(value,INTEGER): - self._number_of_sides = INTEGER(value) - else: - self._number_of_sides = value - return property(**locals()) - -#################### - # ENTITY subshape # -#################### -class subshape(shape): - '''Entity subshape definition. - ''' - def __init__( self , inherited0__item_name , inherited1__number_of_sides , ): - shape.__init__(self , inherited0__item_name , inherited1__number_of_sides , ) - -#################### - # ENTITY rectangle # -#################### -class rectangle(subshape): - '''Entity rectangle definition. - - :param height - :type height:length_measure - - :param width - :type width:length_measure - ''' - def __init__( self , inherited0__item_name , inherited1__number_of_sides , height,width, ): - subshape.__init__(self , inherited0__item_name , inherited1__number_of_sides , ) - self.height = height - self.width = width - - @apply - def height(): - def fget( self ): - return self._height - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument height is mantatory and can not be set to None') - if not check_type(value,length_measure): - self._height = length_measure(value) - else: - self._height = value - return property(**locals()) - - @apply - def width(): - def fget( self ): - return self._width - def fset( self, value ): - # Mandatory argument - if value==None: - raise AssertionError('Argument width is mantatory and can not be set to None') - if not check_type(value,length_measure): - self._width = length_measure(value) - else: - self._width = value - return property(**locals()) diff --git a/src/fedex_python/examples/unitary_schemas/test_where_rule.py b/src/fedex_python/examples/unitary_schemas/test_where_rule.py deleted file mode 100644 index f26f4d0d5..000000000 --- a/src/fedex_python/examples/unitary_schemas/test_where_rule.py +++ /dev/null @@ -1,51 +0,0 @@ -# This file was generated by fedex_python. You probably don't want to edit -# it since your modifications will be lost if fedex_plus is used to -# regenerate it. -import sys - -from SCL.SCLBase import * -from SCL.SimpleDataTypes import * -from SCL.ConstructedDataTypes import * -from SCL.AggregationDataTypes import * -from SCL.TypeChecker import check_type -from SCL.Builtin import * -from SCL.Rules import * - -schema_name = 'test_where_rule' - -schema_scope = sys.modules[__name__] - -# Defined datatype month -class month(INTEGER): - def __init__(self,*kargs): - pass - self.unnamed_wr_0() - self.unnamed_wr_1() - - def unnamed_wr_0(self): - eval_unnamed_wr_0 = (self <= 12) - if not eval_unnamed_wr_0: - raise AssertionError('Rule unnamed_wr_0 violated') - else: - return eval_unnamed_wr_0 - - def unnamed_wr_1(self): - eval_unnamed_wr_1 = (self >= 1) - if not eval_unnamed_wr_1: - raise AssertionError('Rule unnamed_wr_1 violated') - else: - return eval_unnamed_wr_1 - -# Defined datatype positive -class positive(INTEGER): - def __init__(self,*kargs): - pass - self.notnegative() - - def notnegative(self): - eval_notnegative_wr = (self > 0) - if not eval_notnegative_wr: - raise AssertionError('Rule notnegative violated') - else: - return eval_notnegative_wr - diff --git a/src/fedex_python/python/SCL/Part21.py b/src/fedex_python/python/SCL/Part21.py deleted file mode 100644 index 41223d2f2..000000000 --- a/src/fedex_python/python/SCL/Part21.py +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright (c) 2011, Thomas Paviot (tpaviot@gmail.com) -# All rights reserved. - -# This file is part of the StepClassLibrary (SCL). -# -# 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. -# -# Neither the name of the nor the names of its contributors may -# 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. - -import re -import Utils - -INSTANCE_DEFINITION_RE = re.compile("#(\d+)[^\S\n]?=[^\S\n]?(.*?)\((.*)\)[^\S\n]?;[\\r]?$") - -def map_string_to_num(stri): - """ Take a string, check wether it is an integer, a float or not - """ - if ('.' in stri) or ('E' in stri): #it's definitely a float - return REAL(stri) - else: - return INTEGER(stri) - -class Model: - """ - A model contains a list of instances - """ - def __init__(self,name): - self._name = name - # a dict of instances - # each time an instance is added to the model, count is incremented - self._instances = {} - self._number_of_instances = 0 - - def add_instance(self, instance): - ''' - Adds an instance to the model - ''' - self._number_of_instances += 1 - self._instances[self._number_of_instances-1] = instance - - def print_instances(self): - ''' - Dump instances to stdout - ''' - for idx in range(self._number_of_instances): - "==========" - print "Instance #%i"%(idx+1) - print self._instances[idx] - -class Part21EntityInstance: - """ - A class to represent a Part21 instance as defined in one Part21 file - A Part21EntityInstance is defined by the following arguments: - entity_name: a string - entity_attributes: a list of strings to represent an attribute. - For instance, the following expression: - #4 = PRODUCT_DEFINITION_SHAPE('$','$',#5); - will result in : - entity : - entity_instance_attributes: ['$','$','#5'] - """ - def __init__(self,entity_name,attributes): - self._entity - self._attributes_definition = attributes - print self._entity_name - print self._attributes_definition - - -class Part21Parser: - """ - Loads all instances definition of a Part21 file into memory. - Two dicts are created: - self._instance_definition : stores attibutes, key is the instance integer id - self._number_of_ancestors : stores the number of ancestors of entity id. This enables - to define the order of instances creation. - """ - def __init__(self, filename): - self._filename = filename - # the schema - self._schema_name = "" - # the dict self._instances contain instance definition - self._instances_definition = {} - # this dict contains lists of 0 ancestors, 1 ancestor, etc. - # initializes this dict - self._number_of_ancestors = {} - for i in range(2000): - self._number_of_ancestors[i]=[] - self.parse_file() - # reduce number_of_ancestors dict - for item in self._number_of_ancestors.keys(): - if len(self._number_of_ancestors[item])==0: - del self._number_of_ancestors[item] - - def get_schema_name(self): - return self._schema_name - print schema_name - - def get_number_of_instances(self): - return len(self._instances_definition.keys()) - - def parse_file(self): - init_time = time.time() - print "Parsing file %s..."%self._filename, - fp = open(self._filename) - while True: - line = fp.readline() - if not line: - break - # there may be a multline definition. In this case, we read lines untill we found - # a ; - #while (not line.endswith(";\r\n")): #its a multiline - # line = line.replace("\r\n","") + fp.readline() - # parse line - match_instance_definition = INSTANCE_DEFINITION_RE.search(line) # id,name,attrs - if match_instance_definition: - instance_id, entity_name, entity_attrs = match_instance_definition.groups() - instance_int_id = int(instance_id) - # find number of ancestors - number_of_ancestors = entity_attrs.count('#') - # fill number of ancestors dict - self._number_of_ancestors[number_of_ancestors].append(instance_int_id) - # parse attributes string - entity_attrs_list, str_len = Utils.process_nested_parent_str(entity_attrs) - # then finally append this instance to the disct instance - self._instances_definition[instance_int_id] = (entity_name,entity_attrs_list) - else: #does not match with entity instance definition, parse the header - if line.startswith('FILE_SCHEMA'): - #identify the schema name - self._schema_name = line.split("'")[1].split("'")[0].split(" ")[0].lower() - fp.close() - print 'done in %fs.'%(time.time()-init_time) - print 'schema: - %s entities %i'%(self._schema_name,len(self._instances_definition.keys())) - -class EntityInstancesFactory(object): - ''' - This class creates entity instances from the str definition - For instance, the definition: - 20: ('CARTESIAN_POINT', ["''", '(5.,125.,20.)']) - will result in: - p = ARRAY(1,3,REAL) - p.[1] = REAL(5) - p.[2] = REAL(125) - p.[3] = REAL(20) - new_instance = cartesian_point(STRING(''),p) - ''' - def __init__(self, schema_name, instance_definition): - # First try to import the schema module - pass - -class Part21Population(object): - def __init__(self, part21_loader): - """ Take a part21_loader a tries to create entities - """ - self._part21_loader = part21_loader - self._aggregate_scope = [] - self._aggr_scope = False - self.create_entity_instances() - - def create_entity_instances(self): - """ Starts entity instances creation - """ - for number_of_ancestor in self._part21_loader._number_of_ancestors.keys(): - for entity_definition_id in self._part21_loader._number_of_ancestors[number_of_ancestor]: - self.create_entity_instance(entity_definition_id) - - def create_entity_instance(self, instance_id): - instance_definition = self._part21_loader._instances_definition[instance_id] - print "Instance definition to process",instance_definition - # first find class name - class_name = instance_definition[0].lower() - print "Class name:%s"%class_name - object_ = globals()[class_name] - # then attributes - #print object_.__doc__ - instance_attributes = instance_definition[1] - print "instance_attributes:",instance_attributes - a = object_(*instance_attributes) - -if __name__ == "__main__": - import time - import sys - from config_control_design import * - p21loader = Part21Parser("gasket1.p21") - print "Creating instances" - p21population = Part21Population(p21loader) diff --git a/src/fedex_python/src/classes_wrapper_python.cc b/src/fedex_python/src/classes_wrapper_python.cc deleted file mode 100644 index 33b252bcc..000000000 --- a/src/fedex_python/src/classes_wrapper_python.cc +++ /dev/null @@ -1,569 +0,0 @@ -#include -#include -#include - -#include "complexSupport.h" - -extern int corba_binding; - -void use_ref( Schema, Express, FILES * ); - -void -create_builtin_type_decl( FILES * files, char * name ) { - //fprintf( files->incall, "extern TypeDescriptor *%s%s_TYPE;\n", - // TD_PREFIX, name ); -} - -void -create_builtin_type_defn( FILES * files, char * name ) { - //fprintf( files->initall, "\t%s%s_TYPE = TypeDescriptor (", - // TD_PREFIX, name ); - //fprintf( files->initall, "\"%s\", %s_TYPE, \"%s\");\n", - // PrettyTmpName( name ), StrToUpper( name ), StrToLower( name ) ); -} - -/****************************************************************** - ** Procedure: print_file_header - ** Parameters: const Schema schema - top-level schema being printed - ** FILE* file - file on which to print header - ** Returns: - ** Description: handles file related tasks that need to be done once - ** at the beginning of processing. - ** In this case the file schema.h is initiated - ** Status: ok 1/15/91 - ******************************************************************/ - -void -print_file_header( Express express, FILES * files ) { - //files -> incall = FILEcreate( "schema.h" ); - - /* prevent RCS from expanding this! */ - //fprintf( files->incall, "import sdai\n" ); - //fprintf( files->incall, "import Registry\n" ); - - //fprintf( files->incall, "\n#include \n" ); - //fprintf( files->incall, "\n#include \n" ); - //fprintf( files->incall, "\n#include \n" ); - //fprintf( files->incall, "\n#include \n" ); - - //fprintf( files->incall, "\n#include \n" ); - //fprintf( files->incall, "import Sdaiclasses\n" ); - //fprintf( files->incall, "extern void SchemaInit (Registry &);\n" ); - //fprintf( files->incall, "extern void InitSchemasAndEnts (Registry &);\n" ); - - //files -> initall = FILEcreate( "schema.py" ); - //fprintf( files->initall, "/* %cId$ */ \n", '\044' ); - //fprintf( files->initall, "#include \n" ); - //fprintf( files->initall, "import schema\n" ); - //fprintf( files-> initall, "class Registry:\n" ); - - //fprintf( files->initall, "\tdef SchemaInit (Registry reg)\n{\n" ); - //fprintf( files->initall, "\t extern void InitSchemasAndEnts " ); - //fprintf( files->initall, "(Registry & r);\n" ); - //fprintf( files->initall, "\t InitSchemasAndEnts (reg);\n" ); - - // This file will contain instantiation statements for all the schemas and - // entities in the express file. (They must all be in separate function - // called first by SchemaInit() so that all entities will exist - //files -> create = FILEcreate( "SdaiAll.py" ); - //fprintf( files->create, "/* %cId$ */ \n", '\044' ); - //fprintf( files->create, "#include \n" ); - //fprintf( files->create, "import schema" ); - //fprintf( files->create, "\nvoid\nInitSchemasAndEnts (Registry & reg)\n{\n" ); - - // This file declares all entity classes as incomplete types. This will - // allow all the .h files to reference all .h's. We can then have e.g., - // entX from schemaA have attribute attr1 = entY from schemaB. - //files -> classes = FILEcreate( "Sdaiclasses.h" ); - //fprintf( files->classes, "/* %cId$ */ \n", '$' ); - //fprintf( files->classes, "#include \n" ); - - /* create built-in types */ - /* no need to generate - create_builtin_type_decl(files,"INTEGER"); - create_builtin_type_decl(files,"REAL"); - create_builtin_type_decl(files,"STRING"); - create_builtin_type_decl(files,"BINARY"); - create_builtin_type_decl(files,"BOOLEAN"); - create_builtin_type_decl(files,"LOGICAL"); - create_builtin_type_decl(files,"NUMBER"); - create_builtin_type_decl(files,"GENERIC"); - */ - /* create built-in types */ - /* no need to generate - create_builtin_type_defn(files,"INTEGER"); - create_builtin_type_defn(files,"REAL"); - create_builtin_type_defn(files,"STRING"); - create_builtin_type_defn(files,"BINARY"); - create_builtin_type_defn(files,"BOOLEAN"); - create_builtin_type_defn(files,"LOGICAL"); - create_builtin_type_defn(files,"NUMBER"); - create_builtin_type_defn(files,"GENERIC"); - */ - -} - -/****************************************************************** - ** Procedure: print_file_trailer - ** Parameters: const Schema schema - top-level schema printed - ** FILE* file - file on which to print trailer - ** Returns: - ** Description: handles cleaning up things at end of processing - ** Status: ok 1/15/91 - ******************************************************************/ - -/*ARGSUSED*/ -void -print_file_trailer( Express express, FILES * files ) { - //FILEclose( files->incall ); - //FILEclose( files->initall ); - //fprintf( files->create, "}\n\n" ); - //FILEclose( files->create ); - //fprintf( files->classes, "\n" ); - //FILEclose( files->classes ); -} - -/****************************************************************** - ** SCHEMA SECTION **/ - -/****************************************************************** - ** Procedure: SCOPEPrint - ** Parameters: const Scope scope - scope to print - ** FILE* file - file on which to print - ** Returns: - ** Description: cycles through the scopes of the input Express schema - ** Side Effects: calls functions for processing entities and types - ** Status: working 1/15/91 - ** -- it's still not clear how include files should be organized - ** and what the relationship is between this organization and the - ** organization of the schemas in the input Express - ******************************************************************/ - -void -SCOPEPrint( Scope scope, FILES * files, Schema schema, Express model, - ComplexCollect * col, int cnt ) { - Linked_List list = SCOPEget_entities_superclass_order( scope ); - Linked_List function_list = SCOPEget_functions( scope ); - Linked_List rule_list = SCOPEget_rules( scope ); - DictionaryEntry de; - Type i; - int redefs = 0;// index = 0; - - /* fill in the values for the type descriptors */ - /* and print the enumerations */ - //fprintf( files -> inc, "\n/*\t************** TYPES \t*/\n" ); - //fprintf( files -> lib, "\n/*\t************** TYPES \t*/\n" ); - SCOPEdo_types( scope, t, de ) - // First check for one exception: Say enumeration type B is defined - // to be a rename of enum A. If A is in this schema but has not been - // processed yet, we must wait till it's processed first. The reason - // is because B will basically be defined with a couple of typedefs to - // the classes which represent A. (To simplify, we wait even if A is - // in another schema, so long as it's been processed.) - if( ( t->search_id == CANPROCESS ) - && ( TYPEis_enumeration( t ) ) - && ( ( i = TYPEget_ancestor( t ) ) != NULL ) - && ( i->search_id >= CANPROCESS ) ) { - redefs = 1; - } - SCOPEod - - SCOPEdo_types( scope, t, de ) - // Do the non-redefined enumerations: - if( ( t->search_id == CANPROCESS ) - && !( TYPEis_enumeration( t ) && TYPEget_head( t ) ) ) { - TYPEprint_descriptions( t, files, schema ); - if( !TYPEis_select( t ) ) { - // Selects have a lot more processing and are done below. - t->search_id = PROCESSED; - } - } - SCOPEod; - - // process redifined enumerations - if( redefs ) { - SCOPEdo_types( scope, t, de ) - if( t->search_id == CANPROCESS && TYPEis_enumeration( t ) ) { - TYPEprint_descriptions( t, files, schema ); - t->search_id = PROCESSED; - } - SCOPEod; - } - - /* do the select definitions next, since they depend on the others */ - //fprintf( files->inc, "\n//\t***** Build the SELECT Types \t\n" ); - // Note - say we have sel B, rename of sel A (as above by enum's). Here - // we don't have to worry about printing B before A. This is checked in - // TYPEselect_print(). - SCOPEdo_types( scope, t, de ) - if( t->search_id == CANPROCESS ) { - // Only selects haven't been processed yet and may still be set to - // CANPROCESS. - TYPEselect_print( t, files, schema ); - t->search_id = PROCESSED; - } - SCOPEod; - - // process each entity. This must be done *before* typedefs are defined - LISTdo( list, e, Entity ); - if( e->search_id == CANPROCESS ) { - ENTITYPrint( e, files, schema ); - e->search_id = PROCESSED; - } - LISTod; - LISTfree( list ); - - // process each function. This must be done *before* typedefs are defined - LISTdo( function_list, f, Function ); - FUNCPrint( f, files, schema ); - LISTod; - LISTfree( function_list ); - - // process each rule. This must be done *before* typedefs are defined - LISTdo( rule_list, r, Rule ); - RULEPrint( r, files, schema ); - LISTod; - LISTfree( rule_list ); - -} - - -void -PrintModelContentsSchema( Scope scope, FILES * files, Schema schema, - Express model ) { - Linked_List list; - char nm[BUFSIZ]; - DictionaryEntry de; - - //fprintf( files -> inc, "\n/*\t************** TYPES \t*/\n" ); - // Types should be exported to schema_name.DefinedDataTypes - //fprintf( files -> lib, "\n/*\t************** TYPES \t*/\n" ); - //fprintf( files -> init, "\n/*\t************** TYPES \t*/\n" ); - - /* do \'new\'s for types descriptors */ - SCOPEdo_types( scope, t, de ) - //TYPEprint_new( t, files->create, schema ); - SCOPEod; - - /* do \'new\'s for entity descriptors */ - list = SCOPEget_entities_superclass_order( scope ); - //fprintf( files->init, "\n\t//\t***** Describe the Entities \t*/\n" ); - fprintf( files->inc, "\n//\t***** Describe the Entities \t\n" ); - LISTdo( list, e, Entity ); - ENTITYput_superclass( e ); /* find supertype to use for single */ - ENTITYprint_new( e, files, schema, 0 ); /* inheritance */ - LISTod; - - // Print Entity Classes - LISTdo( list, e, Entity ); - ENTITYPrint( e, files, schema ); - LISTod; - /* fill in the values for the type descriptors */ - /* and print the enumerations */ - //fprintf(files->lib,"register_defined_types():\n"); - fprintf( files->inc, "\n//\t***** Describe the Other Types \t\n" ); - SCOPEdo_types( scope, t, de ) - TYPEprint_descriptions( t, files, schema ); - if( TYPEis_select( t ) ) { - /* do the select aggregates here */ - strncpy( nm, SelectName( TYPEget_name( t ) ), BUFSIZ ); - fprintf( files->inc, "class %s;\ntypedef %s * %sH;\n", nm, nm, nm ); - fprintf( files->inc, - "typedef %s * %s_ptr;\ntypedef %s_ptr %s_var;\n\n", - nm, nm, nm, nm ); - fprintf( files->inc, "class %ss;\ntypedef %ss * %ssH;\n", nm, nm, nm ); - fprintf( files->inc, - "typedef %ss * %ss_ptr;\ntypedef %ss_ptr %ss_var;\n\n", - nm, nm, nm, nm ); - } - SCOPEod; - - /* build the typedefs */ - SCOPEdo_types( scope, t, de ) - if( !( TYPEis_select( t ) ) ) { - TYPEprint_typedefs( t, files ->inc ); - } - SCOPEod; - - /* do the select definitions next, since they depend on the others */ - fprintf( files->inc, "\n//\t***** Build the SELECT Types \t\n" ); - //fprintf( files->init, "\n//\t***** Add the TypeDescriptor's to the" - // " SELECT Types \t\n" ); - SCOPEdo_types( scope, t, de ) - if( TYPEis_select( t ) ) { - TYPEselect_print( t, files, schema ); - } - SCOPEod; - - LISTfree( list ); -} - - - -/****************************************************************** - ** Procedure: SCHEMAprint - ** Parameters: const Schema schema - schema to print - ** FILES *file - file on which to print - ** Express model - fedex rep of entire EXPRESS file - ** ComplexCollect col - all the complex entity info pertaining - ** to this EXPRESS file - ** int suffix - suffix to use for generated cc files - ** Returns: - ** Description: handles initialization of files specific to schemas - ** Side Effects: - ** Status: - ******************************************************************/ - -void -SCHEMAprint( Schema schema, FILES * files, Express model, void * complexCol, - int suffix ) { - char schnm[MAX_LEN], sufnm[MAX_LEN], fnm[MAX_LEN], *np; - /* sufnm = schema name + suffix */ - FILE * libfile, - //*incfile, - //*schemafile = files->incall, - // *schemainit = files->initall, - *initfile - // *createall = files->create - ; - Rule r; - Function f; - Procedure p; - DictionaryEntry de; - char * tmpstr = 0; - unsigned int tmpstr_size = 0; - /********** create files based on name of schema ***********/ - /* return if failure */ - /* 1. header file */ - //sprintf( schnm, "%s%s", SCHEMA_FILE_PREFIX, - // StrToUpper( SCHEMAget_name( schema ) ) ); - sprintf( schnm, "%s", SCHEMAget_name( schema ) ); - if( suffix == 0 ) { - sprintf( sufnm, "%s", schnm ); - } else { - sprintf( sufnm, "%s_%d", schnm, suffix ); - } - sprintf( fnm, "%s.h", sufnm ); - - np = fnm + strlen( fnm ) - 1; /* point to end of constant part of string */ - - /* 2. class source file */ - sprintf( np, "py" ); - if( !( libfile = ( files -> lib ) = FILEcreate( fnm ) ) ) { - return; - } - //fprintf( libfile, "/* %cId$ */ \n", '$' ); - fprintf( libfile, "import sys\n" ); - fprintf( libfile, "\n" ); - fprintf( libfile, "from SCL.SCLBase import *\n" ); - fprintf( libfile, "from SCL.SimpleDataTypes import *\n" ); - fprintf( libfile, "from SCL.ConstructedDataTypes import *\n" ); - fprintf( libfile, "from SCL.AggregationDataTypes import *\n" ); - fprintf( libfile, "from SCL.TypeChecker import check_type\n" ); - fprintf( libfile, "from SCL.Builtin import *\n" ); - fprintf( libfile, "from SCL.Rules import *\n" ); - - /********* export schema name *******/ - fprintf( libfile, "\nschema_name = '%s'\n\n", SCHEMAget_name( schema ) ); - - /******** export schema scope *******/ - fprintf( libfile, "schema_scope = sys.modules[__name__]\n\n" ); - - - /********** do the schemas ***********/ - - /* really, create calls for entity constructors */ - SCOPEPrint( schema, files, schema, model, ( ComplexCollect * )complexCol, - suffix ); - - /********** close the files ***********/ - FILEclose( libfile ); - //FILEclose( incfile ); - //if( schema->search_id == PROCESSED ) { - // fprintf( initfile, "\n}\n" ); - // FILEclose( initfile ); - //} else { - // fclose( initfile ); - //} -} - -/****************************************************************** - ** Procedure: getMCPrint - ** Parameters: - Express express - in memory representation of an express model - FILE* schema_h - generated schema.h file - FILE* schema_cc - schema.cc file - ** Returns: - ** Description: drives functions to generate code for all the schemas - ** in an Express model into one set of files -- works with - ** print_schemas_combined - ** Side Effects: generates code - ** Status: 24-Feb-1992 new -kcm - ******************************************************************/ -void -getMCPrint( Express express, FILE * schema_h, FILE * schema_cc ) { - DictionaryEntry de; - Schema schema; - - fprintf( schema_h, - "\nSCLP23(Model_contents_ptr) GetModelContents(char *schemaName);\n" ); - fprintf( schema_cc, "%s%s%s%s", - "// Generate a function to be called by Model to help it\n", - "// create the necessary Model_contents without the\n", - "// dictionary (Registry) handle since it doesn't have a\n", - "// predetermined way to access to the handle.\n" ); - fprintf( schema_cc, - "\nSCLP23(Model_contents_ptr) GetModelContents(char *schemaName)\n{\n" ); - DICTdo_type_init( express->symbol_table, &de, OBJ_SCHEMA ); - schema = ( Scope )DICTdo( &de ); - fprintf( schema_cc, - " if(!strcmp(schemaName, \"%s\"))\n", - SCHEMAget_name( schema ) ); - fprintf( schema_cc, - " return (SCLP23(Model_contents_ptr)) new SdaiModel_contents_%s; \n", - SCHEMAget_name( schema ) ); - while( ( schema = ( Scope )DICTdo( &de ) ) != 0 ) { - fprintf( schema_cc, - " else if(!strcmp(schemaName, \"%s\"))\n", - SCHEMAget_name( schema ) ); - fprintf( schema_cc, - " return (SCLP23(Model_contents_ptr)) new SdaiModel_contents_%s; \n", - SCHEMAget_name( schema ) ); - } - fprintf( schema_cc, "}\n" ); -} - -/****************************************************************** - ** Procedure: EXPRESSPrint - ** Parameters: - Express express -- in memory representation of an express model - FILES* files -- set of output files to print to - ** Returns: - ** Description: drives functions to generate code for all the schemas - ** in an Express model into one set of files -- works with - ** print_schemas_combined - ** Side Effects: generates code - ** Status: 24-Feb-1992 new -kcm - ******************************************************************/ -void -EXPRESSPrint( Express express, ComplexCollect & col, FILES * files ) { - char fnm [MAX_LEN], *np; - const char * schnm; /* schnm is really "express name" */ - FILE * libfile; - //FILE * incfile; - //FILE * schemafile = files -> incall; - //FILE * schemainit = files -> initall; - FILE * initfile; - /* new */ - Schema schema; - DictionaryEntry de; - - - /********** create files based on name of schema ***********/ - /* return if failure */ - /* 1. header file */ - sprintf( fnm, "%s.h", schnm = ClassName( EXPRESSget_basename( express ) ) ); - //if( !( incfile = ( files -> inc ) = FILEcreate( fnm ) ) ) { - // return; - //} - //fprintf( incfile, "/* %cId$ */\n", '$' ); - - //fprintf( incfile, "#ifdef __O3DB__\n" ); - //fprintf( incfile, "#include \n" ); - //fprintf( incfile, "#endif\n\n" ); - //fprintf( incfile, "#include \n" ); - /* fprintf (incfile, "#include \n");*/ - /* fprintf (incfile, "extern void %sInit (Registry & r);\n", schnm);*/ - - //np = fnm + strlen( fnm ) - 1; /* point to end of constant part of string */ - - /* 2. class source file */ - //sprintf( np, "cc" ); - if( !( libfile = ( files -> lib ) = FILEcreate( fnm ) ) ) { - return; - } - //fprintf( libfile, "/* %cId$ */\n", '$' ); - //fprintf( libfile, "#include <%s.h> n", schnm ); - - /* 3. source code to initialize entity registry */ - /* prints header of file for input function */ - - //sprintf( np, "init.cc" ); - //if( !( initfile = ( files -> init ) = FILEcreate( fnm ) ) ) { - // return; - //} - //fprintf( initfile, "/* $Id%d */\n", '$' ); - //fprintf( initfile, "#include <%s.h>\n\n", schnm ); - //fprintf( initfile, "void \n%sInit (Registry& reg)\n{\n", schnm ); - - /********** record in files relating to entire input ***********/ - - /* add to schema's include and initialization file */ - //fprintf( schemafile, "#include <%s.h>\n\n", schnm ); - //fprintf( schemafile, "extern void %sInit (Registry & r);\n", schnm ); - //fprintf( schemainit, "\t extern void %sInit (Registry & r);\n", schnm ); - //fprintf( schemainit, "\t %sInit (reg);\n", schnm ); - - /********** do all schemas ***********/ - DICTdo_init( express->symbol_table, &de ); - while( 0 != ( schema = ( Scope )DICTdo( &de ) ) ) { - SCOPEPrint( schema, files, schema, express, &col, 0 ); - } - - - /********** close the files ***********/ - FILEclose( libfile ); - //FILEclose( incfile ); - //fprintf( initfile, "\n}\n" ); - //FILEclose( initfile ); - -} - -/****************************************************************** - ** Procedure: print_schemas_combined - ** Parameters: - Express express -- in memory representation of an express model - FILES* files -- set of output files to print to - ** Returns: - ** Description: drives functions to generate code for all the schemas - ** in an Express model into one set of files -- works with EXPRESSPrint - ** Side Effects: generates code - ** Status: 24-Feb-1992 new -kcm - ******************************************************************/ - -void -print_schemas_combined( Express express, ComplexCollect & col, FILES * files ) { - - EXPRESSPrint( express, col, files ); -} - -/* -** Procedure: print_file -** Parameters: const Schema schema - top-level schema to print -** FILE* file - file on which to print -** Returns: void -** Description: this function calls one of two different functions -** depending on whether the output should be combined into a single -** set of files or a separate set for each schema -** -*/ - -void -print_file( Express express ) { - extern void RESOLUTIONsucceed( void ); - int separate_schemas = 1; - ComplexCollect col( express ); - - File_holder files; - - resolution_success(); - - print_file_header( express, &files ); - if( separate_schemas ) { - print_schemas_separate( express, ( void * )&col, &files ); - } else { - print_schemas_combined( express, col, &files ); - } - print_file_trailer( express, &files ); - //print_complex( col, ( const char * )"compstructs.cc" ); -} diff --git a/src/fedex_python/src/fedex_main_python.c b/src/fedex_python/src/fedex_main_python.c deleted file mode 100644 index cc668b1e0..000000000 --- a/src/fedex_python/src/fedex_main_python.c +++ /dev/null @@ -1,134 +0,0 @@ - -/************************************************************************ -** Driver for Fed-X Express parser. -************************************************************************/ - -/* - * This software was developed by U.S. Government employees as part of - * their official duties and is not subject to copyright. - * - * $Log: fedex_main.c,v $ - * Revision 3.0.1.3 1997/11/05 23:12:18 sauderd - * Adding a new state DP3.1 and associated revision - * - * Revision 3.0.1.2 1997/09/26 15:59:10 sauderd - * Finished implementing the -a option (changed from -e) to generate the early - * bound access functions the old way. Implemented the change to generate them - * the new correct way by default. - * - * Revision 3.0.1.1 1997/09/18 21:18:41 sauderd - * Added a -e or -E option to generate attribute get and put functions the old - * way (without an underscore). It sets the variable old_accessors. This doesn't - * currently do anything. It needs to be implemented to generate attr funcs - * correctly. - * - * Revision 3.0.1.0 1997/04/16 19:29:03 dar - * Setting the first branch - * - * Revision 3.0 1997/04/16 19:29:02 dar - * STEP Class Library Pre Release 3.0 - * - * Revision 2.1.0.5 1997/03/11 15:33:59 sauderd - * Changed code so that if fedex_plus is passed the -c or -C option it would - * generate implementation objects for Orbix (CORBA). Look for code that is - * inside stmts such as if(corba_binding) - * - * Revision 2.1.0.4 1996/09/25 22:56:55 sauderd - * Added a command line argument for logging SCL use. The option added is -l or - * -L. It also says the option in the usage stmt when you run fedex_plus without - * an argument. Added the options to the EXPRESSgetopt_options string. - * - * Revision 2.1.0.3 1996/06/18 18:14:17 sauderd - * Changed the line that gets printed when you run fedex_plus with no - * arguments to include the option for single inheritance. - * - * Revision 2.1.0.2 1995/05/19 22:40:03 sauderd - * Added a command line argument -s or -S for generating code based on the old - * method as opposed to the new method of multiple inheritance. - * - * Revision 2.1.0.1 1995/05/16 19:52:18 lubell - * setting state to dp21 - * - * Revision 2.1.0.0 1995/05/12 18:53:48 lubell - * setting branch - * - * Revision 2.1 1995/05/12 18:53:47 lubell - * changing version to 2.1 - * - * Revision 1.7 1995/03/16 20:58:50 sauderd - * ? changes. - * - * Revision 1.6 1992/09/29 15:46:55 libes - * added messages for KC - * - * Revision 1.5 1992/08/27 23:28:52 libes - * moved Descriptor "new"s to precede assignments - * punted SELECT type - * - * Revision 1.4 1992/08/19 18:49:59 libes - * registry support - * - * Revision 1.3 1992/06/05 19:55:28 libes - * Added * to typedefs. Replaced warning kludges with ERRORoption. - */ - -#include -#include -#include "../express/express.h" -#include "../express/resolve.h" - -extern void print_fedex_version( void ); - -static void fedex_plus_usage( void ) { - fprintf( stderr, "usage: %s [-v] [-d # | -d 9 -l nnn -u nnn] [-n] [-p ] {-w|-i } express_file\n", EXPRESSprogram_name ); - //fprintf( stderr, "where\t-s or -S uses only single inheritance in the generated C++ classes\n" ); - //fprintf( stderr, "\t-a or -A generates the early bound access functions for entity classes the old way (without an underscore)\n" ); - //fprintf( stderr, "\t-c or -C generates C++ classes for use with CORBA (Orbix)\n" ); - //fprintf( stderr, "\t-L prints logging code in the generated C++ classes\n" ); - fprintf( stderr, "\t-v produces the version description below\n" ); - fprintf( stderr, "\t-d turns on debugging (\"-d 0\" describes this further\n" ); - //fprintf( stderr, "\t-p turns on printing when processing certain objects (see below)\n" ); - //fprintf( stderr, "\t-n do not pause for internal errors (useful with delta script)\n" ); - fprintf( stderr, "\t-w warning enable\n" ); - fprintf( stderr, "\t-i warning ignore\n" ); - fprintf( stderr, "and is one of:\n" ); - fprintf( stderr, "\tnone\n\tall\n" ); - LISTdo( ERRORwarnings, opt, Error_Warning ) - fprintf( stderr, "\t%s\n", opt->name ); - LISTod - fprintf( stderr, "and is one or more of:\n" ); - fprintf( stderr, " e entity\n" ); - fprintf( stderr, " p procedure\n" ); - fprintf( stderr, " r rule\n" ); - fprintf( stderr, " f function\n" ); - fprintf( stderr, " t type\n" ); - fprintf( stderr, " s schema or file\n" ); - fprintf( stderr, " # pass #\n" ); - fprintf( stderr, " E everything (all of the above)\n" ); - print_fedex_version(); - exit( 2 ); -} - -int Handle_FedPlus_Args( int, char * ); -void print_file( Express ); - -void resolution_success( void ) { - printf( "Resolution successful.\nWriting python module..." ); -} - -int success( Express model ) { - printf( "Done.\n" ); - return( 0 ); -} - -/* This function is called from main() which is part of the NIST Express - Toolkit. It assigns 2 pointers to functions which are called in main() */ -void EXPRESSinit_init( void ) { - EXPRESSbackend = print_file; - EXPRESSsucceed = success; - EXPRESSgetopt = Handle_FedPlus_Args; - /* so the function getopt (see man 3 getopt) will not report an error */ - strcat( EXPRESSgetopt_options, "sSLcCaA" ); - ERRORusage_function = fedex_plus_usage; -} - diff --git a/src/test/generate_express/generate_express.cc b/src/test/generate_express/generate_express.cc index 7c39a0300..a6cb1ef29 100644 --- a/src/test/generate_express/generate_express.cc +++ b/src/test/generate_express/generate_express.cc @@ -15,7 +15,7 @@ main() { // This has to be done before anything else. This initializes // all of the registry information for the schema you are using. - // The SchemaInit() function is generated by fedex_plus... see + // The SchemaInit() function is generated by exp2cxx... see // extern statement above. Registry * registry = new Registry( SchemaInit ); diff --git a/src/test/p21read/p21read.cc b/src/test/p21read/p21read.cc index c7a82d3d5..cf96b86dd 100644 --- a/src/test/p21read/p21read.cc +++ b/src/test/p21read/p21read.cc @@ -13,13 +13,12 @@ */ extern void SchemaInit( class Registry & ); -#include "sc_version_string.h" -#include -#include -#include -#include -#include -#include +#include "cleditor/STEPfile.h" +#include "clstepcore/sdai.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/ExpDict.h" +#include "clstepcore/Registry.h" +#include "clutils/errordesc.h" #include #include #include "sc_benchmark.h" @@ -27,10 +26,69 @@ extern void SchemaInit( class Registry & ); # include #endif -#include +char * sc_optarg; // global argument pointer +int sc_optind = 0; // global argv index + +int sc_getopt( int argc, char * argv[], char * optstring ) { + static char * next = NULL; + if( sc_optind == 0 ) { + next = NULL; + } + + sc_optarg = NULL; + + if( next == NULL || *next == '\0' ) { + if( sc_optind == 0 ) { + sc_optind++; + } + + if( sc_optind >= argc || argv[sc_optind][0] != '-' || argv[sc_optind][1] == '\0' ) { + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + if( strcmp( argv[sc_optind], "--" ) == 0 ) { + sc_optind++; + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + next = argv[sc_optind]; + next++; // skip past - + sc_optind++; + } + + char c = *next++; + char * cp = strchr( optstring, c ); + + if( cp == NULL || c == ':' ) { + return '?'; + } + + cp++; + if( *cp == ':' ) { + if( *next != '\0' ) { + sc_optarg = next; + next = NULL; + } else if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + sc_optind++; + } else { + return '?'; + } + } + + return c; +} /** - * Compare the schema names from the lib (generated by fedex_plus) and + * Compare the schema names from the lib (generated by exp2cxx) and * the current exchange file. Both strings are converted to upper case * before comparison. If they are not identical, attempt to strip any * ASN.1 identifiers and compare again. Returns true for a match. @@ -71,7 +129,7 @@ void checkSchemaName( Registry & reg, STEPfile & sf, bool ignoreErr ) { SDAI_Application_instance * ai = sf.HeaderInstances()->FindFileId( 3 )->GetApplication_instance(); while( ( attr = ai->NextAttribute() ) ) { - attr->asStr( sname ); + sname = attr->asStr(); while( ( sc = reg.NextSchema() ) ) { if( compareOneSchName( sname, sc->Name() ) ) { match = true; @@ -91,7 +149,7 @@ void checkSchemaName( Registry & reg, STEPfile & sf, bool ignoreErr ) { } void printVersion( const char * exe ) { - std::cout << exe << " build info: " << sc_version() << std::endl; + std::cout << exe << " build info: " << SC_VERSION << std::endl; } void printUse( const char * exe ) { @@ -115,7 +173,9 @@ int main( int argc, char * argv[] ) { if( argc > 4 || argc < 2 ) { printUse( argv[0] ); } - while( ( c = sc_getopt( argc, argv, "itsv" ) ) != -1 ) { + + char opts[] = "itsv"; + while( ( c = sc_getopt( argc, argv, opts ) ) != -1 ) { switch( c ) { case 'i': ignoreErr = true; @@ -138,7 +198,7 @@ int main( int argc, char * argv[] ) { /////////////////////////////////////////////////////////////////////////////// // You have to initialize the schema before you do anything else. // This initializes all of the registry information for the schema you - // plan to use. The SchemaInit() function is generated by fedex_plus. + // plan to use. The SchemaInit() function is generated by exp2cxx. // See the 'extern' stmt above. // // The registry is always going to be in memory. @@ -151,8 +211,8 @@ int main( int argc, char * argv[] ) { benchmark stats( "p21 ReadExchangeFile()" ); cout << argv[0] << ": load file ..." << endl; - if( argc >= ( optind + 1 ) ) { - flnm = argv[optind]; + if( argc >= ( sc_optind + 1 ) ) { + flnm = argv[sc_optind]; } else { flnm = ( char * )"testfile.step"; } @@ -175,8 +235,8 @@ int main( int argc, char * argv[] ) { Severity readSev = sfile.Error().severity(); //otherwise, errors from reading will be wiped out by sfile.WriteExchangeFile() cout << argv[0] << ": write file ..." << endl; - if( argc == optind + 2 ) { - flnm = argv[optind + 1]; + if( argc == sc_optind + 2 ) { + flnm = argv[sc_optind + 1]; } else { flnm = ( char * )"file.out"; } diff --git a/src/test/p21read/sc_benchmark.cc b/src/test/p21read/sc_benchmark.cc new file mode 100644 index 000000000..2f00cd5a4 --- /dev/null +++ b/src/test/p21read/sc_benchmark.cc @@ -0,0 +1,149 @@ +/// \file sc_benchmark.cc memory info, timers, etc for benchmarking + +#include "./sc_benchmark.h" + +#ifdef _WIN32 +#include +#include +#else +#include +#include +#include +#endif + +#include +#include +#include +#include +#include +#include +#include + +/// mem values in kb, times in ms (granularity may be higher than 1ms) +benchVals getMemAndTime( ) { + benchVals vals; +#ifdef __linux__ + // adapted from http://stackoverflow.com/questions/669438/how-to-get-memory-usage-at-run-time-in-c + std::ifstream stat_stream( "/proc/self/stat", std::ios_base::in ); + + // dummy vars for leading entries in stat that we don't care about + std::string pid, comm, state, ppid, pgrp, session, tty_nr; + std::string tpgid, flags, minflt, cminflt, majflt, cmajflt; + std::string /*utime, stime,*/ cutime, cstime, priority, nice; + std::string O, itrealvalue, starttime; + + // the fields we want + unsigned long utime, stime, vsize; + long rss; + + stat_stream >> pid >> comm >> state >> ppid >> pgrp >> session >> tty_nr + >> tpgid >> flags >> minflt >> cminflt >> majflt >> cmajflt + >> utime >> stime >> cutime >> cstime >> priority >> nice + >> O >> itrealvalue >> starttime >> vsize >> rss; // don't care about the rest + + long page_size_kb = sysconf( _SC_PAGE_SIZE ) / 1024; // in case x86-64 is configured to use 2MB pages + vals.physMemKB = rss * page_size_kb; + vals.virtMemKB = ( vsize / 1024 ) - vals.physMemKB; + vals.userMilliseconds = ( utime * 1000 ) / sysconf( _SC_CLK_TCK ); + vals.sysMilliseconds = ( stime * 1000 ) / sysconf( _SC_CLK_TCK ); +#elif defined(__APPLE__) + // http://stackoverflow.com/a/1911863/382458 +#elif defined(_WIN32) + // http://stackoverflow.com/a/282220/382458 and http://stackoverflow.com/a/64166/382458 + PROCESS_MEMORY_COUNTERS MemoryCntrs; + FILETIME CreationTime, ExitTime, KernelTime, UserTime; + long page_size_kb = 1024; + ULARGE_INTEGER kTime, uTime; + + if( GetProcessMemoryInfo( GetCurrentProcess(), &MemoryCntrs, sizeof( MemoryCntrs ) ) ) { + vals.physMemKB = MemoryCntrs.PeakWorkingSetSize / page_size_kb; + vals.virtMemKB = MemoryCntrs.PeakPagefileUsage / page_size_kb; + } else { + vals.physMemKB = 0; + vals.virtMemKB = 0; + } + + if( GetProcessTimes( GetCurrentProcess(), &CreationTime, &ExitTime, &KernelTime, &UserTime ) ) { + assert( sizeof( FILETIME ) == sizeof( ULARGE_INTEGER ) ); + memcpy( &kTime, &KernelTime, sizeof( FILETIME ) ); + memcpy( &uTime, &UserTime, sizeof( FILETIME ) ); + vals.userMilliseconds = ( long )( uTime.QuadPart / 100000L ); + vals.sysMilliseconds = ( long )( kTime.QuadPart / 100000L ); + } else { + vals.userMilliseconds = 0; + vals.sysMilliseconds = 0; + } +#else +#warning Unknown platform! +#endif // __linux__ + return vals; +} + +// --------------------- benchmark class --------------------- + +benchmark::benchmark( std::string description, bool debugMessages, std::ostream & o_stream ): ostr( o_stream ), + descr( description ), debug( debugMessages ), stopped( false ) { + initialVals = getMemAndTime( ); +} + +benchmark::~benchmark() { + if( !stopped ) { + stop( ); + if( debug ) { + ostr << "benchmark::~benchmark(): stop was not called before destructor!" << std::endl; + } + out( ); + } +} + +void benchmark::stop( ) { + if( stopped ) { + std::cerr << "benchmark::stop(): tried to stop a benchmark that was already stopped!" << std::endl; + } else { + laterVals = getMemAndTime( ); + stopped = true; + } +} + +benchVals benchmark::get( ) { + if( !stopped ) { + laterVals = getMemAndTime( ); + } + benchVals delta; + delta.physMemKB = laterVals.physMemKB - initialVals.physMemKB; + delta.virtMemKB = laterVals.virtMemKB - initialVals.virtMemKB; + delta.sysMilliseconds = laterVals.sysMilliseconds - initialVals.sysMilliseconds; + delta.userMilliseconds = laterVals.userMilliseconds - initialVals.userMilliseconds; + + //If vm is negative, the memory had been requested before initialVals was set. Don't count it + if( delta.virtMemKB < 0 ) { + delta.physMemKB -= delta.virtMemKB; + delta.virtMemKB = 0; + } + return delta; +} + +void benchmark::reset( std::string description ) { + descr = description; + reset(); +} +void benchmark::reset( ) { + stopped = false; + initialVals = getMemAndTime(); +} + +std::string benchmark::str( ) { + return str( get( ) ); +} + +void benchmark::out() { + ostr << str( ) << std::endl; +} + +std::string benchmark::str( const benchVals & bv ) { + std::stringstream ss; + ss << descr << " Physical memory: " << bv.physMemKB << "kb; Virtual memory: " << bv.virtMemKB; + ss << "kb; User CPU time: " << bv.userMilliseconds << "ms; System CPU time: " << bv.sysMilliseconds << "ms"; + return ss.str(); +} + diff --git a/src/test/p21read/sc_benchmark.h b/src/test/p21read/sc_benchmark.h new file mode 100644 index 000000000..5b77317c4 --- /dev/null +++ b/src/test/p21read/sc_benchmark.h @@ -0,0 +1,74 @@ +#ifndef SC_BENCHMARK_H +#define SC_BENCHMARK_H +/// \file sc_benchmark.h memory info, timers, etc for benchmarking + +#ifdef __cplusplus +#include +#include +#include + +extern "C" { +#endif + + typedef struct { + long virtMemKB, physMemKB, userMilliseconds, sysMilliseconds; + } benchVals; + + /** return a benchVals struct with four current statistics for this process: + * virtual and physical memory use in kb, + * user and system cpu time in ms + * + * not yet implemented for OSX or Windows. + */ + benchVals getMemAndTime( ); + +#ifdef __cplusplus +} + + +/** reports the difference in memory and cpu use between when the + * constructor is called and when stop() or the destructor is called. + * + * if the destructor is called and stop() had not previously been + * called, the results are printed to the ostream given in the + * constructor, prefixed by the description. + * + * depends on getMemAndTime() above - may not work on all platforms. + */ + +class benchmark { + protected: + benchVals initialVals, laterVals; +#ifdef _MSC_VER +#pragma warning( push ) +#pragma warning( disable: 4251 ) +#endif + std::ostream & ostr; + std::string descr; +#ifdef _MSC_VER +#pragma warning( pop ) +#endif + bool debug, stopped; + public: + benchmark( std::string description = "", bool debugMessages = true, std::ostream & o_stream = std::cout ); + + /// if 'stopped' is false, uses str(true) to print to ostream + ~benchmark( ); + void reset( ); + void reset( std::string description ); + benchVals get( ); + void stop( ); + + /// converts data member 'laterVals' into a string and returns it + std::string str( ); + + /// outputs result of str() on ostream 'ostr' + void out( ); + + /// converts 'bv' into a string, prefixed by data member 'descr' + std::string str( const benchVals & bv ); +}; + + +#endif //__cplusplus +#endif //SC_BENCHMARK_H diff --git a/src/test/schema-loc b/src/test/schema-loc deleted file mode 100644 index 742bf3600..000000000 --- a/src/test/schema-loc +++ /dev/null @@ -1,34 +0,0 @@ -################################################################## -# schema_loc -- defines location of schema libraries & includes -# change these macros to reflect your environment - -# ************ NOTE ********** -# You need to change the values of the following macros to work with your -# environment. See the README for details. If you build your class -# libraries with 'mkProbe -i ...', you probably just need to change -# PDES_ROOT to reflect your structure. Try to keep everything defined -# in terms of SCHEMA_NAME... that way you can build for different -# class libraries on the make command line witha minimum of fuss. - -# -# change PDES_ROOT to the location that SCL is installed -PDES_ROOT = /proj/pdevel/ds/scl3-1 - -# change ARCH_ROOT to keep different compilers separate -#ARCH_ROOT = $(PDES_ROOT)/arch$(TARGET_ARCH) -ARCH_ROOT = $(PDES_ROOT)/arch-gnu-sunos-40 - -# change MAKE_RULES to use different compilers -MAKE_RULES = $(ARCH_ROOT)/make_rules -include $(MAKE_RULES) - -# Locations for the schema class library and header files. You -# need to generate and make the schema supplied with the release -# from $(PDES_ROOT)/data/example/example.exp -# - -SCHEMA_NAME = example -SCHEMA_DIR = $(PDES_ROOT)/src/clSchemas/$(SCHEMA_NAME) -SCHEMA_LIB_DIR = $(ARCH_ROOT)/Probes/$(SCHEMA_NAME) -LIBSCHEMA = -L$(SCHEMA_LIB_DIR) -lC$(SCHEMA_NAME) - diff --git a/src/test/scl2html/scl2html.cc b/src/test/scl2html/scl2html.cc index 8eca2062f..afe65b11f 100644 --- a/src/test/scl2html/scl2html.cc +++ b/src/test/scl2html/scl2html.cc @@ -7,7 +7,7 @@ * scl2html is a program to lay out a given schema in HTML, suitable for * hypertext browsing using Mosaic or any other HTML viewer/WWW surfboard. * While this particular code as designed is linked to the Example schema - * (via tests.h), it can be "fed" any fedex_plus-compiled schema and give + * (via tests.h), it can be "fed" any exp2cxx-compiled schema and give * appropriate output. * * The Makefile defaults to building the app to use the example schema. To @@ -35,7 +35,7 @@ #include "../SEarritr.h" // PrintAttrTypeWithAnchor() -// Given an atribute, print out its immediate type (not fundamental). +// Given an attribute, print out its immediate type (not fundamental). // Ah, but if life were so simple. If this attribute is _not_ of a // fundamental type, put in an anchor to somewhere with info on the type. // This could be either the index page Type list, or an entity's page if @@ -49,7 +49,7 @@ void PrintAttrTypeWithAnchor( const TypeDescriptor * typeDesc, ofstream & outhtml ) { std::string buf; - // The type. See src/clstepcore/baseType.h for info + // The type. See clstepcore/baseType.h for info PrimitiveType base = typeDesc->Type(); // the type descriptor for the "referent type," if any. @@ -84,7 +84,8 @@ void PrintAttrTypeWithAnchor( const TypeDescriptor * typeDesc, ofstream & outhtm outhtml << ".html\">"; } - outhtml << typeDesc->AttrTypeName( buf ); + typeDesc->AttrTypeName( buf ); + outhtml << buf; if( base == sdaiAGGR ) { outhtml << " (contains elements of type "; @@ -134,7 +135,7 @@ int PrintAttrsHTML( const EntityDescriptor * ent, ofstream & outhtml ) { // PrintParentAttrsHTML() // This function, given an entity and its parent, recursively travels up // the inheritance tree of the entity, printing to the HTML file a -// description-list structre showing all ancestors. For each ancestor, +// description-list structure showing all ancestors. For each ancestor, // the attributes are printed using the PrintAttrsHTML() function above. void PrintParentAttrsHTML( const EntityDescriptor * ent, const EntityDescriptor * parent, ofstream & outhtml ) { @@ -161,9 +162,9 @@ void PrintParentAttrsHTML( const EntityDescriptor * ent, grandpaNode = ( EntityDescLinkNode * )grandpaNode->NextNode(); } - // Now print the parent's atributes. This calls PrintAttrsHTML() to + // Now print the parent's attributes. This calls PrintAttrsHTML() to // actually print any existing attributes, but to see if there are - // any, we'll check to see if the head of the atribute descriptor list + // any, we'll check to see if the head of the attribute descriptor list // exists. Conversely, once grabbing the head we could print out // the attributes by following the list (attrNode->NextNode()). const AttrDescriptorList * attrList = &( parent->ExplicitAttr() ); @@ -186,7 +187,7 @@ void PrintParentAttrsHTML( const EntityDescriptor * ent, main() { // This has to be done before anything else. This initializes // all of the registry information for the schema you are using. - // The SchemaInit() function is generated by fedex_plus... see + // The SchemaInit() function is generated by exp2cxx... see // extern statement above. Registry * registry = new Registry( SchemaInit ); @@ -223,7 +224,6 @@ main() { root << "
    " << endl; const TypeDescriptor * type; - std::string tmp; type = registry->NextType(); root << "\n"; root << "\n"; @@ -245,7 +245,7 @@ main() { // These are all pointers we need to wander around the registry // information. We'll want to not only look at the current entity - // and its attributes, but also which entites are super- and subclasses + // and its attributes, but also which entities are super- and subclasses // of the current entity. Here, supers isn't really used beyond checking // for ancestors, but we'll use subs to list subclasses and make links // to them. diff --git a/src/test/tests.h b/src/test/tests.h index 52fcb3a59..0494b55d2 100644 --- a/src/test/tests.h +++ b/src/test/tests.h @@ -16,10 +16,10 @@ #include /* General SCL stuff */ -#include -#include -#include -#include +#include "clstepcore/ExpDict.h" +#include "cleditor/STEPfile.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/sdai.h" /* Stuff more or less specifically for the Example schema */ /* The only program that needs this is tstatic. Since the other programs */ diff --git a/src/test/tio/tio.cc b/src/test/tio/tio.cc index b9175b728..a73aab4b2 100644 --- a/src/test/tio/tio.cc +++ b/src/test/tio/tio.cc @@ -33,7 +33,7 @@ int main( int argc, char * argv[] ) { // This has to be done before anything else. This initializes // all of the registry information for the schema you are using. - // The SchemaInit() function is generated by fedex_plus... see + // The SchemaInit() function is generated by exp2cxx... see // extern statement above. Registry * registry = new Registry( SchemaInit ); diff --git a/src/test/treg/treg.cc b/src/test/treg/treg.cc index 17a390d25..aea466013 100644 --- a/src/test/treg/treg.cc +++ b/src/test/treg/treg.cc @@ -96,7 +96,7 @@ int main( int argc, char * argv[] ) { // This has to be done before anything else. This initializes // all of the registry information for the schema you are using. - // The SchemaInit() function is generated by fedex_plus... see + // The SchemaInit() function is generated by exp2cxx... see // extern statement above. Registry * registry = new Registry( SchemaInit ); diff --git a/src/test/tstatic/tstatic.cc b/src/test/tstatic/tstatic.cc index 50d5ba0ca..eb6d6f2c5 100644 --- a/src/test/tstatic/tstatic.cc +++ b/src/test/tstatic/tstatic.cc @@ -20,14 +20,12 @@ int main() { // This has to be done before anything else. This initializes // all of the registry information for the schema you are using. - // The SchemaInit() function is generated by fedex_plus... see + // The SchemaInit() function is generated by exp2cxx... see // extern statement above. - Registry * registry = new Registry( SchemaInit ); - // This test creates a bunch of different entities, puts values in them, // prints the values out, links them to an array of entities, and then - // outputs all the enitities in STEP exchange format. + // outputs all the entities in STEP exchange format. // For specifics on the structure of the entity classes, see // the SdaiEXAMPLE_SCHEMA.h header file. diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index c2d86f557..48d826458 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,17 +1,27 @@ # # Adding unittest for unitary schemas # -FILE(GLOB UNITARY_SCHEMAS "${CMAKE_CURRENT_SOURCE_DIR}/unitary_schemas/*.exp") -FOREACH(UNITARY_SCHEMA ${UNITARY_SCHEMAS}) - GET_FILENAME_COMPONENT(SCHEMA_NAME ${UNITARY_SCHEMA} NAME_WE) - SET(TEST_NAME test_unit_${SCHEMA_NAME}) - ADD_TEST(${TEST_NAME} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/check-express ${UNITARY_SCHEMA}) - set_tests_properties( ${TEST_NAME} PROPERTIES LABELS unitary_schemas ) +file(GLOB UNITARY_SCHEMAS "${CMAKE_CURRENT_SOURCE_DIR}/unitary_schemas/*.exp") +foreach(UNITARY_SCHEMA ${UNITARY_SCHEMAS}) + get_filename_component(SCHEMA_NAME ${UNITARY_SCHEMA} NAME_WE) + set(TEST_NAME test_unit_${SCHEMA_NAME}) + add_test(${TEST_NAME} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/check-express ${UNITARY_SCHEMA}) + set_tests_properties( ${TEST_NAME} PROPERTIES LABELS unitary_schemas DEPENDS build_check_express ) #if the file name begins with fail_, then testing it should result in an error. if( UNITARY_SCHEMA MATCHES "fail_.*" ) set_tests_properties( ${TEST_NAME} PROPERTIES WILL_FAIL true ) endif( UNITARY_SCHEMA MATCHES "fail_.*" ) -ENDFOREACH(UNITARY_SCHEMA ${UNITARY_SCHEMAS}) +endforeach(UNITARY_SCHEMA ${UNITARY_SCHEMAS}) + +if(NOT ${SC_BUILD_EXPRESS_ONLY}) + add_subdirectory(p21) + add_subdirectory(cpp) +endif() + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 -add_subdirectory(p21) -add_subdirectory(cpp) diff --git a/test/buggy/expr-src-aggregate.exp b/test/buggy/expr-src-aggregate.exp index 3d9d2d598..69ef2e312 100644 --- a/test/buggy/expr-src-aggregate.exp +++ b/test/buggy/expr-src-aggregate.exp @@ -1,4 +1,4 @@ --- $ ../bin/fedex_plus ../../data/test_schema.exp +-- $ ../bin/exp2cxx ../../data/test_schema.exp -- ../../data/test_schema.exp:34: --ERROR: Query expression source must be an aggregate. -- Errors in input diff --git a/test/buggy/spaces_in_fct.exp b/test/buggy/spaces_in_fct.exp index af7cf6bf3..1cfb2eb02 100644 --- a/test/buggy/spaces_in_fct.exp +++ b/test/buggy/spaces_in_fct.exp @@ -37,7 +37,7 @@ ENTITY representation_relationship_with_transformation SUBTYPE OF (representatio (********************************************************************************** -When fedex_plus translates the next line, spaces are inserted into a function name: +When exp2cxx translates the next line, spaces are inserted into a function name: SdaiSPACES_IN_FUNCTION.h:550: const SdaiKinematic_frame_based_transformation_ptr representation_relationship_with_transformation_ transformation_operator_() const; **********************************************************************************) diff --git a/test/cpp/CMakeLists.txt b/test/cpp/CMakeLists.txt index 1972058d7..7af916d2c 100644 --- a/test/cpp/CMakeLists.txt +++ b/test/cpp/CMakeLists.txt @@ -1,6 +1,12 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) +CMAKE_MINIMUM_REQUIRED(VERSION 3.12) #c++ tests add_subdirectory(schema_specific) -add_subdirectory(stepcore) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 diff --git a/test/cpp/schema_specific/CMakeLists.txt b/test/cpp/schema_specific/CMakeLists.txt index e7fb21f5c..e1bd06e10 100644 --- a/test/cpp/schema_specific/CMakeLists.txt +++ b/test/cpp/schema_specific/CMakeLists.txt @@ -1,61 +1,114 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) +cmake_minimum_required(VERSION 3.12) #c++ tests that depend on a particular schema -INCLUDE_DIRECTORIES( ${SC_SOURCE_DIR}/src/cldai ${SC_SOURCE_DIR}/src/cleditor ${SC_SOURCE_DIR}/src/clutils - ${SC_SOURCE_DIR}/src/clstepcore ${SC_SOURCE_DIR}/src/base ) +include_directories( ${SC_SOURCE_DIR}/src/cldai ${SC_SOURCE_DIR}/src/cleditor ${SC_SOURCE_DIR}/src/clutils + ${SC_SOURCE_DIR}/src/clstepcore ) + +# helper function for add_schema_dependent_test +# given an sdai target, set out_path_var to the include dir +# added as a workaround for changed behavior in newer cmake +# versions (changes somewhere between 2.8 and 3.1) +function(get_sdai_incl_dir out_path_var sdai_lib) + if (NOT TARGET sdai_${sdai_lib}) + message("sdai_${sdai_lib} is not a target") + return() + endif (NOT TARGET sdai_${sdai_lib}) + if(NOT "${sdai_${sdai_lib}_SOURCE_DIR}" STREQUAL "") + set(${out_path_var} "${sdai_${sdai_lib}_SOURCE_DIR}" PARENT_SCOPE) + return() + endif(NOT "${sdai_${sdai_lib}_SOURCE_DIR}" STREQUAL "") + get_target_property(sdai_srcs sdai_${sdai_lib} SOURCES) + foreach(src ${sdai_srcs}) + if(${src} MATCHES "schema.cc$") + get_filename_component(incl_path ${src} PATH) + break() + endif(${src} MATCHES "schema.cc$") + get_filename_component(src_dir ${src} PATH) + if(${src_dir} MATCHES "(type|entity)$") + get_filename_component(incl_path ${src_dir} PATH) + break() + endif(${src_dir} MATCHES "(type|entity)$") + endforeach(src ${sdai_srcs}) + if(NOT ${incl_path} EQUAL "") + set(${out_path_var} ${incl_path} PARENT_SCOPE) + else() + message(WARNING "failed to locate incl dir for ${sdai_lib}, given ${sdai_srcs}") + endif(NOT ${incl_path} EQUAL "") +endfunction(get_sdai_incl_dir out_path_var sdai_target) # ${name} is used for the C++ file name (${name}.cc), and as the suffix for the target and test names # ${sdai_lib} is the name of the schema lib that is used # ${exe_args} are additional args for the test executable -# two optional args: ARGV3, ARGV4 are compile flags and libs, respectively. -FUNCTION( add_schema_dependent_test name sdai_lib exe_args ) - # need the path to the lib sources for -I - get_target_property( sdai_srcs sdai_${sdai_lib} SOURCES ) - list(GET sdai_srcs 0 fullpath ) - get_filename_component(sdai_src_path ${fullpath} PATH ) - - add_executable( tst_${name} "${name}.cc" ) - set_target_properties( tst_${name} PROPERTIES COMPILE_FLAGS "-I${sdai_src_path} ${ARGV3}" EXCLUDE_FROM_ALL ON ) - target_link_libraries( tst_${name} sdai_${sdai_lib} ${ARGV4} ) - add_test( NAME build_cpp_${name} - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} --build . - --target tst_${name} - --config $ ) - set_tests_properties( build_cpp_${name} PROPERTIES DEPENDS build_cpp_sdai_${sdai_lib} - LABELS cpp_schema_specific ) - add_test( NAME test_${name} - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMAND $ ${exe_args} ) - set_tests_properties( test_${name} PROPERTIES DEPENDS build_cpp_${name} - LABELS cpp_schema_specific ) -ENDFUNCTION( add_schema_dependent_test name sdai_lib exe_args ) +# three optional args: ARGV3, ARGV4, ARGV5 are include paths, compile flags, and libs, respectively. +function(add_schema_dependent_test name sdai_lib exe_args ) + get_sdai_incl_dir(sdai_src_path ${sdai_lib}) + message(STATUS "include dir for ${sdai_lib}: ${sdai_src_path}") + add_executable(tst_${name} "${name}.cc") + set_target_properties(tst_${name} PROPERTIES EXCLUDE_FROM_ALL ON) + if(${CMAKE_VERSION} VERSION_GREATER 2.8.7) + # INCLUDE_DIRECTORIES property added in cmake 2.8.8 + set_property(TARGET tst_${name} APPEND PROPERTY INCLUDE_DIRECTORIES ${sdai_src_path} ${ARGV3}) + else() + foreach(ipath ${sdai_src_path} ${ARGV3}) + set_property(TARGET tst_${name} APPEND_STRING PROPERTY COMPILE_FLAGS " -I${ipath} ") + endforeach(ipath ${sdai_src_path} ${ARGV3}) + endif(${CMAKE_VERSION} VERSION_GREATER 2.8.7) + if(NOT ${ARGV4} STREQUAL "") + set_property(TARGET tst_${name} APPEND_STRING PROPERTY COMPILE_FLAGS ${ARGV4} ) + endif(NOT ${ARGV4} STREQUAL "") + target_link_libraries(tst_${name} sdai_${sdai_lib} ${ARGV5}) + add_test(NAME build_cpp_${name} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} --build . + --target tst_${name} + --config $ ) + set_tests_properties( build_cpp_${name} PROPERTIES DEPENDS build_cpp_sdai_${sdai_lib} + LABELS cpp_schema_specific ) + add_test( NAME test_${name} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND $ ${exe_args} ) + set_tests_properties( test_${name} PROPERTIES DEPENDS build_cpp_${name} + LABELS cpp_schema_specific ) +endfunction(add_schema_dependent_test name sdai_lib exe_args ) #if you need a schema that won't be built automatically (i.e. not in sc/data), put it in here #temporarily disabling testing ensures that the schema will be built before these tests run -SET(SC_ENABLE_TESTING OFF) - BUILD_A_SCHEMA( ${SC_SOURCE_DIR}/test/unitary_schemas/array_bounds_expr.exp ) - BUILD_A_SCHEMA( ${SC_SOURCE_DIR}/test/unitary_schemas/inverse_attr.exp ) -SET(SC_ENABLE_TESTING ON) +set(SC_ENABLE_TESTING OFF) +SCHEMA_CMLIST(${SC_SOURCE_DIR}/test/unitary_schemas/array_bounds_expr.exp) +SCHEMA_CMLIST(${SC_SOURCE_DIR}/test/unitary_schemas/inverse_attr.exp) +set(SC_ENABLE_TESTING ON) -add_schema_dependent_test( "aggregate_bound_runtime" "array_bounds_expr" - "${SC_SOURCE_DIR}/test/p21/test_array_bounds.p21" ) +add_schema_dependent_test("aggregate_bound_runtime" "array_bounds_expr" + "${SC_SOURCE_DIR}/test/p21/test_array_bounds.p21" "" "" "stepcore") #can't use the macro for this one because it depends on the test above and needs WILL_FAIL add_test( NAME test_aggregate_bound_runtime_FAIL1 - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMAND $ "${SC_SOURCE_DIR}/test/p21/test_array_bounds_FAIL1.p21" ) + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND $ "${SC_SOURCE_DIR}/test/p21/test_array_bounds_FAIL1.p21" ) set_tests_properties( test_aggregate_bound_runtime_FAIL1 PROPERTIES - DEPENDS test_aggregate_bound_runtime WILL_FAIL true - LABELS cpp_schema_specific ) + DEPENDS test_aggregate_bound_runtime WILL_FAIL true + LABELS cpp_schema_specific ) add_schema_dependent_test( "inverse_attr1" "inverse_attr" "${SC_SOURCE_DIR}/test/p21/test_inverse_attr.p21" ) add_schema_dependent_test( "inverse_attr2" "inverse_attr" "${SC_SOURCE_DIR}/test/p21/test_inverse_attr.p21" ) -add_schema_dependent_test( "inverse_attr3" "inverse_attr" "${SC_SOURCE_DIR}/test/p21/test_inverse_attr.p21" ) +add_schema_dependent_test( "inverse_attr3" "inverse_attr" "${SC_SOURCE_DIR}/test/p21/test_inverse_attr.p21" + "${SC_SOURCE_DIR}/src/cllazyfile;${SC_SOURCE_DIR}/src/cllazyfile/judy/src" "" "steplazyfile" ) add_schema_dependent_test( "attribute" "inverse_attr" "${SC_SOURCE_DIR}/test/p21/test_inverse_attr.p21" ) if(HAVE_STD_THREAD) -# for best results, use a large file. as1-oc-214.stp is currently the largest file in the repo that sc works with. -add_schema_dependent_test( "stepfile_rw_progress" "AP214E3_2010" - "${SC_SOURCE_DIR}/data/ap214e3/as1-oc-214.stp" "-pthread -std=c++0x" "pthread" ) + if(UNIX) + set(thread_flags "-pthread -std=c++11" ) + set(thread_libs "pthread") + endif(UNIX) + # for best results, use a large file. as1-oc-214.stp is currently the largest file in the repo that sc works with. + add_schema_dependent_test( "stepfile_rw_progress" "ap214e3" "${SC_SOURCE_DIR}/data/ap214e3/as1-oc-214.stp" + "" "${thread_flags}" "${thread_libs}") endif(HAVE_STD_THREAD) + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 + diff --git a/test/cpp/schema_specific/aggregate_bound_runtime.cc b/test/cpp/schema_specific/aggregate_bound_runtime.cc index 4b759a495..f459697e6 100644 --- a/test/cpp/schema_specific/aggregate_bound_runtime.cc +++ b/test/cpp/schema_specific/aggregate_bound_runtime.cc @@ -1,11 +1,10 @@ -#include "sc_version_string.h" -#include -#include -#include -#include -#include -#include +#include "cleditor/STEPfile.h" +#include "clstepcore/sdai.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/ExpDict.h" +#include "clstepcore/Registry.h" +#include "clutils/errordesc.h" #include #include #ifdef HAVE_UNISTD_H @@ -81,8 +80,9 @@ int main( int argc, char * argv[] ) { } //loop over the attributes for( int i = 0; i < cnt; i++ ) { - if( ( sal[i].aDesc->NonRefType() == ARRAY_TYPE ) && ( sal[i].aDesc->AggrElemType() == sdaiINTEGER ) ) { - b2 = ( ( AggrTypeDescriptor * ) sal[i].aDesc->DomainType() )->Bound2Runtime( ent ); + const AttrDescriptor * ad = sal[i].getADesc(); + if( ( ad->NonRefType() == ARRAY_TYPE ) && ( ad->AggrElemType() == sdaiINTEGER ) ) { + b2 = ( ( AggrTypeDescriptor * ) ad->DomainType() )->Bound2Runtime( ent ); cout << "bound 2: " << b2 << " values: "; instAggrCnt++; if( ( ( id == 1 ) && ( b2 != 3 ) ) || ( ( id == 2 ) && ( b2 != 5 ) ) ) { diff --git a/test/cpp/schema_specific/attribute.cc b/test/cpp/schema_specific/attribute.cc index 04cd1f4d8..4fab32933 100644 --- a/test/cpp/schema_specific/attribute.cc +++ b/test/cpp/schema_specific/attribute.cc @@ -1,26 +1,81 @@ -/** \file inverse_attr.cc -** 1-Jul-2012 -** Test inverse attributes; uses a tiny schema similar to a subset of IFC2x3 -** -*/ -#include -extern void SchemaInit( class Registry & ); -#include "sc_version_string.h" -#include -#include -#include -#include -#include -#include +/** \file attribute.cc + * 1-Jul-2012 + * Test attribute access; uses a tiny schema similar to a subset of IFC2x3 + */ +#include "config.h" +#include "cleditor/STEPfile.h" +#include "clstepcore/sdai.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/ExpDict.h" +#include "clstepcore/Registry.h" +#include "clutils/errordesc.h" #include #include #ifdef HAVE_UNISTD_H # include #endif -#include #include "schema.h" +char * sc_optarg; // global argument pointer +int sc_optind = 0; // global argv index +int sc_getopt( int argc, char * argv[], char * optstring ) { + static char * next = NULL; + if( sc_optind == 0 ) { + next = NULL; + } + + sc_optarg = NULL; + + if( next == NULL || *next == '\0' ) { + if( sc_optind == 0 ) { + sc_optind++; + } + + if( sc_optind >= argc || argv[sc_optind][0] != '-' || argv[sc_optind][1] == '\0' ) { + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + if( strcmp( argv[sc_optind], "--" ) == 0 ) { + sc_optind++; + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + next = argv[sc_optind]; + next++; // skip past - + sc_optind++; + } + + char c = *next++; + char * cp = strchr( optstring, c ); + + if( cp == NULL || c == ':' ) { + return '?'; + } + + cp++; + if( *cp == ':' ) { + if( *next != '\0' ) { + sc_optarg = next; + next = NULL; + } else if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + sc_optind++; + } else { + return '?'; + } + } + + return c; +} int main( int argc, char * argv[] ) { Registry registry( SchemaInit ); InstMgr instance_list; diff --git a/test/cpp/schema_specific/inverse_attr1.cc b/test/cpp/schema_specific/inverse_attr1.cc index a2b25402e..9f776a37a 100644 --- a/test/cpp/schema_specific/inverse_attr1.cc +++ b/test/cpp/schema_specific/inverse_attr1.cc @@ -3,24 +3,82 @@ ** Test inverse attributes; uses a tiny schema similar to a subset of IFC2x3 ** */ -#include -extern void SchemaInit( class Registry & ); -#include "sc_version_string.h" -#include "SubSuperIterators.h" -#include -#include -#include -#include -#include -#include +#include "config.h" +#include "clstepcore/SubSuperIterators.h" +#include "cleditor/STEPfile.h" +#include "clstepcore/sdai.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/ExpDict.h" +#include "clstepcore/Registry.h" +#include "clutils/errordesc.h" #include #include #ifdef HAVE_UNISTD_H # include #endif -#include #include "schema.h" +char * sc_optarg; // global argument pointer +int sc_optind = 0; // global argv index + +int sc_getopt( int argc, char * argv[], char * optstring ) { + static char * next = NULL; + if( sc_optind == 0 ) { + next = NULL; + } + + sc_optarg = NULL; + + if( next == NULL || *next == '\0' ) { + if( sc_optind == 0 ) { + sc_optind++; + } + + if( sc_optind >= argc || argv[sc_optind][0] != '-' || argv[sc_optind][1] == '\0' ) { + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + if( strcmp( argv[sc_optind], "--" ) == 0 ) { + sc_optind++; + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + next = argv[sc_optind]; + next++; // skip past - + sc_optind++; + } + + char c = *next++; + char * cp = strchr( optstring, c ); + + if( cp == NULL || c == ':' ) { + return '?'; + } + + cp++; + if( *cp == ':' ) { + if( *next != '\0' ) { + sc_optarg = next; + next = NULL; + } else if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + sc_optind++; + } else { + return '?'; + } + } + + return c; +} + ///first way of finding inverse attrs bool findInverseAttrs1( InverseAItr iai, InstMgr & instList ) { const Inverse_attribute * ia; @@ -73,7 +131,7 @@ int main( int argc, char * argv[] ) { //find inverse attribute descriptors //first, find inverse attrs unique to this entity (i.e. not inherited) const EntityDescriptor * ed = registry.FindEntity( "window" ); - InverseAItr iaIter( ed->InverseAttr() ); //iterator for inverse attributes + InverseAItr iaIter( &( ed->InverseAttr() ) ); //iterator for inverse attributes if( findInverseAttrs1( iaIter, instance_list ) ) { inverseAttrsFound = true; } @@ -84,7 +142,7 @@ int main( int argc, char * argv[] ) { for( ; !iter.empty(); iter++ ) { super = iter.current(); cout << "supertype " << super->Name() << endl; - InverseAItr superIaIter( super->InverseAttr() ); + InverseAItr superIaIter( &( super->InverseAttr() ) ); if( findInverseAttrs1( superIaIter, instance_list ) ) { inverseAttrsFound = true; } diff --git a/test/cpp/schema_specific/inverse_attr2.cc b/test/cpp/schema_specific/inverse_attr2.cc index dee10f3b2..cdf8dbbd0 100644 --- a/test/cpp/schema_specific/inverse_attr2.cc +++ b/test/cpp/schema_specific/inverse_attr2.cc @@ -1,26 +1,83 @@ -/** \file inverse_attr.cc +/** \file inverse_attr2.cc ** 1-Jul-2012 ** Test inverse attributes; uses a tiny schema similar to a subset of IFC2x3 ** */ -#include -extern void SchemaInit( class Registry & ); -#include "sc_version_string.h" -#include -#include -#include -#include -#include -#include +#include "config.h" +#include "cleditor/STEPfile.h" +#include "clstepcore/sdai.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/ExpDict.h" +#include "clstepcore/Registry.h" +#include "clutils/errordesc.h" #include #include #ifdef HAVE_UNISTD_H # include #endif -#include #include "schema.h" -///second way of finding inverse attrs - FAILS +char * sc_optarg; // global argument pointer +int sc_optind = 0; // global argv index + +int sc_getopt( int argc, char * argv[], char * optstring ) { + static char * next = NULL; + if( sc_optind == 0 ) { + next = NULL; + } + + sc_optarg = NULL; + + if( next == NULL || *next == '\0' ) { + if( sc_optind == 0 ) { + sc_optind++; + } + + if( sc_optind >= argc || argv[sc_optind][0] != '-' || argv[sc_optind][1] == '\0' ) { + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + if( strcmp( argv[sc_optind], "--" ) == 0 ) { + sc_optind++; + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + next = argv[sc_optind]; + next++; // skip past - + sc_optind++; + } + + char c = *next++; + char * cp = strchr( optstring, c ); + + if( cp == NULL || c == ':' ) { + return '?'; + } + + cp++; + if( *cp == ':' ) { + if( *next != '\0' ) { + sc_optarg = next; + next = NULL; + } else if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + sc_optind++; + } else { + return '?'; + } + } + + return c; +} +///second way of finding inverse attrs bool findInverseAttrs2( InverseAItr iai, InstMgr & instList, Registry & reg ) { const Inverse_attribute * ia; int j = 0; @@ -53,13 +110,12 @@ bool findInverseAttrs2( InverseAItr iai, InstMgr & instList, Registry & reg ) { return false; } STEPattribute sa = attrlist[k]; - if( sa.aDesc->DomainType()->Type() == SET_TYPE ) { - STEPaggregate * aggr = sa.ptr.a; - if( !aggr || aggr->is_null() != 0 ) { //this fails - and it appears that aggr is not initialized. + if( sa.getADesc()->DomainType()->Type() == SET_TYPE ) { + STEPaggregate * aggr = sa.Aggregate(); + if( !aggr || aggr->is_null() != 0 ) { cout << "findInverseAttrs2 FAILED" << endl; return false; } - } else { //something is wrong - it should be an aggregate (specifically, a SET) return false; @@ -89,10 +145,10 @@ int main( int argc, char * argv[] ) { sfile.Error().PrintContents( cout ); exit( EXIT_FAILURE ); } -//find inverse attribute descriptors + //find inverse attribute descriptors //first, find inverse attrs unique to this entity (i.e. not inherited) const EntityDescriptor * ed = registry.FindEntity( "window" ); - InverseAItr iaIter( ed->InverseAttr() ); //iterator for inverse attributes + InverseAItr iaIter( &( ed->InverseAttr() ) ); //iterator for inverse attributes if( findInverseAttrs2( iaIter, instance_list, registry ) ) { inverseAttrsFound = true; } @@ -101,7 +157,7 @@ int main( int argc, char * argv[] ) { const EntityDescriptor * super; while( 0 != ( super = edi.NextEntityDesc() ) ) { cout << "supertype " << super->Name() << endl; - InverseAItr superIaIter( super->InverseAttr() ); + InverseAItr superIaIter( &( super->InverseAttr() ) ); if( findInverseAttrs2( superIaIter, instance_list, registry ) ) { inverseAttrsFound = true; } diff --git a/test/cpp/schema_specific/inverse_attr3.cc b/test/cpp/schema_specific/inverse_attr3.cc index 6d155db73..bb4ce0929 100644 --- a/test/cpp/schema_specific/inverse_attr3.cc +++ b/test/cpp/schema_specific/inverse_attr3.cc @@ -1,59 +1,132 @@ -/** \file inverse_attr.cc -** 1-Jul-2012 -** Test inverse attributes; uses a tiny schema similar to a subset of IFC2x3 -** -*/ -#include -extern void SchemaInit( class Registry & ); -#include "sc_version_string.h" -#include -#include -#include -#include -#include -#include +/** \file inverse_attr3.cc + * Oct 2013 + * Test inverse attributes; uses a tiny schema similar to a subset of IFC2x3 + * + * This test originally used STEPfile, which didn't work. Fixing STEPfile would have been very difficult, it uses lazyInstMgr now. + */ +#include "config.h" +#include "cllazyfile/lazyInstMgr.h" +#include +#include "clstepcore/sdai.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/ExpDict.h" +#include "clstepcore/Registry.h" +#include "clutils/errordesc.h" #include #include +#include + #ifdef HAVE_UNISTD_H # include #endif -#include #include "schema.h" +char * sc_optarg; // global argument pointer +int sc_optind = 0; // global argv index + +int sc_getopt( int argc, char * argv[], char * optstring ) { + static char * next = NULL; + if( sc_optind == 0 ) { + next = NULL; + } + + sc_optarg = NULL; + + if( next == NULL || *next == '\0' ) { + if( sc_optind == 0 ) { + sc_optind++; + } + + if( sc_optind >= argc || argv[sc_optind][0] != '-' || argv[sc_optind][1] == '\0' ) { + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + if( strcmp( argv[sc_optind], "--" ) == 0 ) { + sc_optind++; + sc_optarg = NULL; + if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + } + return EOF; + } + + next = argv[sc_optind]; + next++; // skip past - + sc_optind++; + } + + char c = *next++; + char * cp = strchr( optstring, c ); + + if( cp == NULL || c == ':' ) { + return '?'; + } + + cp++; + if( *cp == ':' ) { + if( *next != '\0' ) { + sc_optarg = next; + next = NULL; + } else if( sc_optind < argc ) { + sc_optarg = argv[sc_optind]; + sc_optind++; + } else { + return '?'; + } + } + + return c; +} + + int main( int argc, char * argv[] ) { - Registry registry( SchemaInit ); - InstMgr instance_list; - STEPfile sfile( registry, instance_list, "", false ); - bool inverseAttrsFound = false; + int exitStatus = EXIT_SUCCESS; if( argc != 2 ) { + cerr << "Wrong number of args!" << endl; exit( EXIT_FAILURE ); } - sfile.ReadExchangeFile( argv[1] ); + lazyInstMgr lim; + lim.initRegistry( SchemaInit ); - if( sfile.Error().severity() <= SEVERITY_INCOMPLETE ) { - sfile.Error().PrintContents( cout ); + lim.openFile( argv[1] ); + +//find attributes + instanceTypes_t::cvector * insts = lim.getInstances( "window" ); + if( !insts || insts->empty() ) { + cout << "No window instances found!" << endl; exit( EXIT_FAILURE ); } -//find attributes - SdaiWindow * instance = ( SdaiWindow * ) instance_list.GetApplication_instance( "window" ); + SdaiWindow * instance = dynamic_cast< SdaiWindow * >( lim.loadInstance( insts->at( 0 ) ) ); if( !instance ) { - cout << "NULL" << endl; + cout << "Problem loading instance" << endl; exit( EXIT_FAILURE ); } cout << "instance #" << instance->StepFileId() << endl; - /* The inverse could be set with - * const Inverse_attribute * ia =...; - * const EntityDescriptor * inv_ed = reg.FindEntity( ia->inverted_entity_id_() ); - * instance->isdefinedby_(inv_ed); - */ - EntityAggregate * aggr = instance->isdefinedby_(); - if( aggr ) { - cout << aggr->EntryCount() << endl; + SDAI_Application_instance::iAMap_t::value_type v = instance->getInvAttr("isdefinedby"); + iAstruct attr = v.second; //instance->getInvAttr(ia); + if( attr.a && attr.a->EntryCount() ) { + cout << "Map: found " << attr.a->EntryCount() << " inverse references." << endl; + } else { + cout << "Map: found no inverse references. ias " << (void *) &(v.second) << ", ia " << (void*) v.first << endl; + exitStatus = EXIT_FAILURE; + } + + EntityAggregate * aggr = instance->isdefinedby_(); //should be filled in when the file is loaded? not sure how to do it using STEPfile... + if( attr.a != aggr ) { + cout << "Error! got different EntityAggregate's when using map vs method" << endl; + exitStatus = EXIT_FAILURE; + } + if( aggr && aggr->EntryCount() ) { + cout << "Found " << aggr->EntryCount() << " inverse references." << endl; } else { cout << "inverse attr is not defined" << endl; - exit( EXIT_FAILURE ); + exitStatus = EXIT_FAILURE; } - exit( EXIT_SUCCESS ); + exit( exitStatus ); } diff --git a/test/cpp/schema_specific/stepfile_rw_progress.cc b/test/cpp/schema_specific/stepfile_rw_progress.cc index 03d5949d4..1fe5cb0dc 100644 --- a/test/cpp/schema_specific/stepfile_rw_progress.cc +++ b/test/cpp/schema_specific/stepfile_rw_progress.cc @@ -1,11 +1,10 @@ -#include "sc_version_string.h" -#include -#include -#include -#include -#include -#include +#include "cleditor/STEPfile.h" +#include "clstepcore/sdai.h" +#include "clstepcore/STEPattribute.h" +#include "clstepcore/ExpDict.h" +#include "clstepcore/Registry.h" +#include "clutils/errordesc.h" #include #include @@ -15,20 +14,30 @@ # error Need std::thread for this test! #endif +#ifdef HAVE_STD_CHRONO +# include +#endif + #ifdef HAVE_UNISTD_H # include #endif #include "SdaiAUTOMOTIVE_DESIGN.h" -//macro for 50 ms sleep (could be more for a larger file, may need reduced for a fast processor) -#ifndef __WIN32__ -# define DELAY(t) usleep( t * 100 ); +//macro for N ms sleep +//currently used for 5ms sleep (could be more for a larger file, may need reduced for a fast processor) +//TODO: rework this test to not be timing-sensitive +#ifdef HAVE_STD_CHRONO +# define DELAY(t) std::this_thread::sleep_for(std::chrono::milliseconds(t)); #else -#define DELAY(t) Sleep( t ); +# ifndef _WIN32 +# define DELAY(t) usleep( t * 100 ) +# else +# include +# define DELAY(t) Sleep( t ) +# endif #endif - // NOTE this test requires std::thread, part of C++11. It will fail to compile otherwise. void readProgressParallel( STEPfile & f, float & maxProgress ) { @@ -37,7 +46,7 @@ void readProgressParallel( STEPfile & f, float & maxProgress ) { if( p > maxProgress ) { maxProgress = p; } - DELAY( 50 ); + DELAY( 5 ); } } @@ -47,7 +56,7 @@ void writeProgressParallel( STEPfile & f, float & maxProgress ) { if( p > maxProgress ) { maxProgress = p; } - DELAY( 50 ); + DELAY( 5 ); } } diff --git a/test/cpp/stepcore/CMakeLists.txt b/test/cpp/stepcore/CMakeLists.txt deleted file mode 100644 index ff8e87690..000000000 --- a/test/cpp/stepcore/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -#c++ tests for clstepcore - -INCLUDE_DIRECTORIES( ${SC_SOURCE_DIR}/src/cldai ${SC_SOURCE_DIR}/src/cleditor ${SC_SOURCE_DIR}/src/clutils - ${SC_SOURCE_DIR}/src/clstepcore ${SC_SOURCE_DIR}/src/base ) - -function(add_stepcore_test name libs) - SC_ADDEXEC( tst_${name} test_${name}.cc "${libs}" "TESTABLE" ) - add_test( NAME build_cpp_${name} - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} --build . - --target tst_${name} - --config $ ) - add_test( NAME test_${name} - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMAND $ ) - set_tests_properties( build_cpp_${name} PROPERTIES LABELS cpp_unit_stepcore DEPENDS stepcore ) - set_tests_properties( test_${name} PROPERTIES LABELS cpp_unit_stepcore DEPENDS build_cpp_${name} ) -endfunction(add_stepcore_test name libs) - -add_stepcore_test( "SupertypesIterator" "stepcore;steputils;stepeditor;stepdai;base" ) diff --git a/test/p21/CMakeLists.txt b/test/p21/CMakeLists.txt index d1a7b10dc..7d533f9ca 100644 --- a/test/p21/CMakeLists.txt +++ b/test/p21/CMakeLists.txt @@ -1,121 +1,139 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) +CMAKE_MINIMUM_REQUIRED(VERSION 3.12) #test part 21 files +#necessary macros won't already be defined if SC_BUILD_SCHEMAS is set to "" +if(NOT COMMAND SCHEMA_CMLIST) + include(${SC_CMAKE_DIR}/schema_scanner/schemaScanner.cmake) +endif(NOT COMMAND SCHEMA_CMLIST) + #used to create a number of small files at test-time. you probably don't want to modify. -set( P21_FILE_HEAD " +set(P21_FILE_HEAD " ISO-10303-21; HEADER; FILE_DESCRIPTION((''),'2;1'); FILE_NAME('', '', (''), (''), '', '', ''); FILE_SCHEMA(('") -set( P21_FILE_MID "')); +set(P21_FILE_MID "')); ENDSEC; DATA; ") -set( P21_FILE_TAIL " +set(P21_FILE_TAIL " ENDSEC; END-ISO-10303-21; -" ) +") # used in INSTANCE_TEST -set( SI_TEST_COUNTER 0 ) +set(SI_TEST_COUNTER 0) #MACRO INSTANCE_TEST - create a file with one or more instances and test with p21read #sname is the schema name #instance is a p21 instance, without the number #test_mode is PASS or FAIL - whether the test should pass or fail. affects the WILL_FAIL property -MACRO( INSTANCE_TEST sname test_mode instance ) - if( ${test_mode} STREQUAL "PASS" ) - set( _fail "FALSE" ) - elseif( ${test_mode} STREQUAL "FAIL" ) - set( _fail "TRUE" ) - else( ) - message( FATAL_ERROR "** Invalid test_mode passed to INSTANCE_TEST macro: ${test_mode} **" ) - endif( ${test_mode} STREQUAL "PASS" ) - math( EXPR SI_TEST_COUNTER "${SI_TEST_COUNTER}+1" ) - set( test_file "${CMAKE_CURRENT_BINARY_DIR}/${sname}_${SI_TEST_COUNTER}.stp" ) - file( WRITE ${test_file} "${P21_FILE_HEAD}${sname}${P21_FILE_MID} -#${SI_TEST_COUNTER}=${instance} /* should ${test_mode} */ -${P21_FILE_TAIL}" ) - add_test( test_${sname}_${SI_TEST_COUNTER} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_${sname} ${test_file} ) - set_tests_properties( test_${sname}_${SI_TEST_COUNTER} PROPERTIES DEPENDS build_cpp_sdai_${sname} LABELS exchange_file WILL_FAIL ${_fail} ) -ENDMACRO( INSTANCE_TEST sname test_mode instance ) +macro(INSTANCE_TEST sname test_mode instance) + if(${test_mode} STREQUAL "PASS") + set(_fail "FALSE") + elseif(${test_mode} STREQUAL "FAIL") + set(_fail "TRUE") + else() + message(FATAL_ERROR "** Invalid test_mode passed to INSTANCE_TEST macro: ${test_mode} **") + endif(${test_mode} STREQUAL "PASS") + math(EXPR SI_TEST_COUNTER "${SI_TEST_COUNTER}+1") + set(test_file "${CMAKE_CURRENT_BINARY_DIR}/${sname}_${SI_TEST_COUNTER}.stp") + file(WRITE ${test_file} "${P21_FILE_HEAD}${sname}${P21_FILE_MID} + #${SI_TEST_COUNTER}=${instance} /* should ${test_mode} */ + ${P21_FILE_TAIL}") + add_test(test_${sname}_${SI_TEST_COUNTER} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_${sname} ${test_file}) + set_tests_properties(test_${sname}_${SI_TEST_COUNTER} PROPERTIES DEPENDS build_cpp_sdai_${sname} LABELS exchange_file WILL_FAIL ${_fail}) +endmacro(INSTANCE_TEST sname test_mode instance) # test schema names -set( sn_insts " +set(sn_insts " #1=DRAUGHTING_PRE_DEFINED_COLOUR('green'); #2=COLOUR_RGB('',1.1E-2,1.2E-2,1.E0); ") -set( schema_name_good "AUTOMOTIVE_DESIGN" ) -set( schema_name_good_asn "AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }" ) -set( schema_name_mismatch "DOES_NOT_MATCH" ) -set( p21read_ap214 "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_AP214E3_2010" ) -file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good.p21 "${P21_FILE_HEAD}${schema_name_good}${P21_FILE_MID} -${sn_insts}${P21_FILE_TAIL}" ) -file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good_asn.p21 "${P21_FILE_HEAD}${schema_name_good_asn}${P21_FILE_MID} -${sn_insts}${P21_FILE_TAIL}" ) -file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21 "${P21_FILE_HEAD}${schema_name_mismatch}${P21_FILE_MID} -${sn_insts}${P21_FILE_TAIL}" ) +set(schema_name_good "AUTOMOTIVE_DESIGN") +set(schema_name_good_asn "AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }") +set(schema_name_mismatch "DOES_NOT_MATCH") +set(p21read_ap214 "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_ap214e3") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good.p21 "${P21_FILE_HEAD}${schema_name_good}${P21_FILE_MID} +${sn_insts}${P21_FILE_TAIL}") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good_asn.p21 "${P21_FILE_HEAD}${schema_name_good_asn}${P21_FILE_MID} +${sn_insts}${P21_FILE_TAIL}") +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21 "${P21_FILE_HEAD}${schema_name_mismatch}${P21_FILE_MID} +${sn_insts}${P21_FILE_TAIL}") #compare the schema name in a p21 file with than in the sdai lib -add_test( test_good_schema_name ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good.p21 ) -add_test( test_good_schema_name_asn ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good_asn.p21 ) -add_test( test_mismatch_schema_name ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21 ) -add_test( test_ignore_schema_name ${p21read_ap214} -i ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21 ) +add_test(test_good_schema_name ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good.p21) +add_test(test_good_schema_name_asn ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_good_asn.p21) +add_test(test_mismatch_schema_name ${p21read_ap214} ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21) +add_test(test_ignore_schema_name ${p21read_ap214} -i ${CMAKE_CURRENT_BINARY_DIR}/exch_file_mismatch.p21) #these test for required attrs that are missing -add_test( test_missing_and_required ${p21read_ap214} ${CMAKE_CURRENT_SOURCE_DIR}/missing_and_required.p21 ) -add_test( test_missing_and_required_strict ${p21read_ap214} -s ${CMAKE_CURRENT_SOURCE_DIR}/missing_and_required.p21 ) +add_test(test_missing_and_required ${p21read_ap214} ${CMAKE_CURRENT_SOURCE_DIR}/missing_and_required.p21) +add_test(test_missing_and_required_strict ${p21read_ap214} -s ${CMAKE_CURRENT_SOURCE_DIR}/missing_and_required.p21) -#test acceptance of comments within p21 entity, i.e. FILE_NAME( /* name */ 'ferrari sharknose', ...); -add_test( test_p21_entity_internal_comment ${p21read_ap214} ${CMAKE_CURRENT_SOURCE_DIR}/comments.p21 ) +#test acceptance of comments within p21 entity, i.e. FILE_NAME(/* name */ 'ferrari sharknose', ...); +add_test(test_p21_entity_internal_comment ${p21read_ap214} ${CMAKE_CURRENT_SOURCE_DIR}/comments.p21) -set_tests_properties( test_good_schema_name test_good_schema_name_asn test_mismatch_schema_name - test_ignore_schema_name test_missing_and_required test_missing_and_required_strict test_p21_entity_internal_comment - PROPERTIES DEPENDS build_cpp_sdai_AP214E3_2010 LABELS exchange_file ) +set_tests_properties(test_good_schema_name test_good_schema_name_asn test_mismatch_schema_name + test_ignore_schema_name test_missing_and_required test_missing_and_required_strict test_p21_entity_internal_comment + PROPERTIES DEPENDS build_cpp_sdai_ap214e3 LABELS exchange_file) -set_tests_properties( test_mismatch_schema_name test_missing_and_required_strict PROPERTIES WILL_FAIL TRUE ) +set_tests_properties(test_mismatch_schema_name test_missing_and_required_strict PROPERTIES WILL_FAIL TRUE) #not sure how multiple schema names should be handled for testing, by p21read, or by the schema and stepeditor libs -#add_test( multi_schema ) +#add_test(multi_schema) #rotator_asm: # FILE_SCHEMA(('CONFIG_CONTROL_DESIGN', 'GEOMETRIC_VALIDATION_PROPERTIES_MIM','SHAPE_APPEARANCE_LAYER_MIM')); #check for a segmentation fault with selects. the files are a subset of the 210e3 schema and of SurfaceMountFlasher.stp, respectively #p21read will report errors with the file, but they don't matter as long as there isn't a segfault. -BUILD_A_SCHEMA(${SC_SOURCE_DIR}/test/misc/select_segfault_210e3.exp) -add_test( test_select_segfault ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_select_segfault_210e3 - ${CMAKE_CURRENT_SOURCE_DIR}/select_segfault_210e3.stp ) -set_tests_properties( test_select_segfault PROPERTIES DEPENDS build_cpp_sdai_select_segfault_210e3 LABELS exchange_file WILL_FAIL TRUE ) +SCHEMA_CMLIST(${SC_SOURCE_DIR}/test/misc/select_segfault_210e3.exp) +add_test(test_select_segfault ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_select_segfault_210e3 + ${CMAKE_CURRENT_SOURCE_DIR}/select_segfault_210e3.stp) +set_tests_properties(test_select_segfault PROPERTIES DEPENDS build_cpp_sdai_select_segfault_210e3 LABELS exchange_file WILL_FAIL TRUE) -set( mid "multiple_inheritance_derived" ) +set(mid "multiple_inheritance_derived") #schema for multiple inheritance where two attrs with same name are inherited; one is derived -BUILD_A_SCHEMA(${SC_SOURCE_DIR}/test/unitary_schemas/${mid}.exp) - -INSTANCE_TEST( ${mid} PASS "A();" ) -INSTANCE_TEST( ${mid} FAIL "A(*);" ) -INSTANCE_TEST( ${mid} PASS "B(.BEE.);" ) -INSTANCE_TEST( ${mid} FAIL "B();" ) -INSTANCE_TEST( ${mid} PASS "AB(.BEE.);" ) -INSTANCE_TEST( ${mid} FAIL "AB(*);" ) -INSTANCE_TEST( ${mid} PASS "BA(.B.);" ) -INSTANCE_TEST( ${mid} FAIL "BA(*);" ) -INSTANCE_TEST( ${mid} PASS "AC();" ) -INSTANCE_TEST( ${mid} FAIL "AC(3.0);" ) -INSTANCE_TEST( ${mid} FAIL "AC('ac');" ) -INSTANCE_TEST( ${mid} PASS "DD(*);" ) -INSTANCE_TEST( ${mid} FAIL "DD();" ) -INSTANCE_TEST( ${mid} FAIL "DD(3);" ) -INSTANCE_TEST( ${mid} PASS "AA(4);" ) -INSTANCE_TEST( ${mid} FAIL "AA();" ) -INSTANCE_TEST( ${mid} PASS "BB(.BEE.,4.5);" ) -INSTANCE_TEST( ${mid} FAIL "BB(4.5);" ) -INSTANCE_TEST( ${mid} PASS "(A()B(.BEE.)AA(4)BB(4.5)AABB());" ) -INSTANCE_TEST( ${mid} FAIL "(A(*)B(.BEE.)AA(4)BB(4.5)AABB());" ) -INSTANCE_TEST( ${mid} FAIL "AABB(.BEE.,4,4.5);" ) -INSTANCE_TEST( ${mid} FAIL "AABB(4,4.5);" ) -INSTANCE_TEST( ${mid} FAIL "AABB(4,.BEE.,4.5);" ) -INSTANCE_TEST( ${mid} FAIL "AABB();" ) -INSTANCE_TEST( ${mid} FAIL "AABB('z',2,.B.,1.2);" ) +SCHEMA_CMLIST(${SC_SOURCE_DIR}/test/unitary_schemas/${mid}.exp) + +INSTANCE_TEST(${mid} PASS "A();" ) +INSTANCE_TEST(${mid} FAIL "A(*);" ) +INSTANCE_TEST(${mid} PASS "B(.BEE.);" ) +INSTANCE_TEST(${mid} FAIL "B();" ) +INSTANCE_TEST(${mid} PASS "AB(.BEE.);" ) +INSTANCE_TEST(${mid} FAIL "AB(*);" ) +INSTANCE_TEST(${mid} PASS "BA(.B.);" ) +INSTANCE_TEST(${mid} FAIL "BA(*);" ) +INSTANCE_TEST(${mid} PASS "AC();" ) +INSTANCE_TEST(${mid} FAIL "AC(3.0);" ) +INSTANCE_TEST(${mid} FAIL "AC('ac');" ) +INSTANCE_TEST(${mid} PASS "DD(*);" ) +INSTANCE_TEST(${mid} FAIL "DD();" ) +INSTANCE_TEST(${mid} FAIL "DD(3);" ) +INSTANCE_TEST(${mid} PASS "AA(4);" ) +INSTANCE_TEST(${mid} FAIL "AA();" ) +INSTANCE_TEST(${mid} PASS "BB(.BEE.,4.5);" ) +INSTANCE_TEST(${mid} FAIL "BB(4.5);" ) +INSTANCE_TEST(${mid} PASS "(A()B(.BEE.)AA(4)BB(4.5)AABB());" ) +INSTANCE_TEST(${mid} FAIL "(A(*)B(.BEE.)AA(4)BB(4.5)AABB());") +INSTANCE_TEST(${mid} FAIL "AABB(.BEE.,4,4.5);" ) +INSTANCE_TEST(${mid} FAIL "AABB(4,4.5);" ) +INSTANCE_TEST(${mid} FAIL "AABB();" ) +INSTANCE_TEST(${mid} FAIL "AABB('z',2,.B.,1.2);" ) + +#p21read reports no errors on this one; I'm not certain whether that is right or wrong. +#INSTANCE_TEST(${mid} FAIL "AABB(4,.BEE.,4.5);" ) + +SCHEMA_CMLIST(${SC_SOURCE_DIR}/test/unitary_schemas/select_segfault_2.exp) +add_test( test_select_segfault_2 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/p21read_sdai_select_segfault_2 + ${CMAKE_CURRENT_SOURCE_DIR}/select_segfault_2.stp ) +set_tests_properties( test_select_segfault_2 PROPERTIES DEPENDS build_cpp_sdai_select_segfault_2 LABELS exchange_file ) +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 diff --git a/test/p21/select_segfault_2.stp b/test/p21/select_segfault_2.stp new file mode 100644 index 000000000..3f8fab376 --- /dev/null +++ b/test/p21/select_segfault_2.stp @@ -0,0 +1,14 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION((''),'2;1'); +FILE_NAME('','',(''),(''),'','',''); +FILE_SCHEMA(('select_segfault_2')); +ENDSEC; +DATA; + +#1 = drc(cdl((#2,#3))); +#2 = dre(4.5); +#3 = dre(2.0); + +ENDSEC; +END-ISO-10303-21; \ No newline at end of file diff --git a/test/p21/test_inherit_inverse.p21 b/test/p21/test_inherit_inverse.p21 new file mode 100644 index 000000000..c13b4eff1 --- /dev/null +++ b/test/p21/test_inherit_inverse.p21 @@ -0,0 +1,14 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('SCL test file'),'2;1'); +FILE_NAME('test_inherit_inverse.p21','2014-03-17T',('mp'),(''),'0','1','2'); +FILE_SCHEMA(('test_inherit_inverse')); +ENDSEC; +DATA; + +#1=GEOMETRIC_REPRESENTATION_CONTEXT(2,'ctx type',9); + +#2=REPRESENTATION('rep',#1); + +ENDSEC; +END-ISO-10303-21; diff --git a/test/unitary_schemas/inherit_inverse.exp b/test/unitary_schemas/inherit_inverse.exp new file mode 100644 index 000000000..8a9f44d0a --- /dev/null +++ b/test/unitary_schemas/inherit_inverse.exp @@ -0,0 +1,25 @@ + +--derived from AP214E3 +--schema to test inverse attributes when inherited +-- TODO what about ia's from 2nd or 3rd parent? must be handled differently... + +SCHEMA test_inherit_inverse; + +ENTITY representation; + name : STRING; + context_of_items : representation_context; +END_ENTITY; + +ENTITY representation_context; + context_identifier : INTEGER; + context_type : STRING; +INVERSE + representations_in_context : SET [1:?] OF representation FOR context_of_items; +END_ENTITY; + +ENTITY geometric_representation_context +SUBTYPE OF (representation_context); + coordinate_space_dimension : INTEGER; +END_ENTITY; + +END_SCHEMA; diff --git a/test/unitary_schemas/inverse_bug.exp b/test/unitary_schemas/inverse_bug.exp new file mode 100644 index 000000000..f7713965f --- /dev/null +++ b/test/unitary_schemas/inverse_bug.exp @@ -0,0 +1,22 @@ +-- portion of IFC2X3_TC1.exp +SCHEMA inverse_bug; + +ENTITY IfcFeatureElementAddition + SUBTYPE OF (IfcFeatureElement); + INVERSE + ProjectsElements : IfcRelProjectsElement FOR RelatedFeatureElement; --error about this +END_ENTITY; + +ENTITY IfcFeatureElement + SUBTYPE OF (IfcElement); +END_ENTITY; + +ENTITY IfcRelProjectsElement; + RelatingElement : IfcElement; + RelatedFeatureElement : IfcFeatureElementAddition; +END_ENTITY; + +ENTITY IfcElement; + Tag : OPTIONAL INTEGER; +END_ENTITY; +END_SCHEMA; diff --git a/test/unitary_schemas/inverse_qualifiers.exp b/test/unitary_schemas/inverse_qualifiers.exp new file mode 100644 index 000000000..489e10952 --- /dev/null +++ b/test/unitary_schemas/inverse_qualifiers.exp @@ -0,0 +1,66 @@ +-- ../242_arm_lf.exp:3268: --ERROR PE062: in entity assembly_component + +SCHEMA inverse_problem; + +(* DERIVED FROM + $Id: arm_lf.exp,v 1.22 2013/03/05 14:34:57 thomasrthurman Exp $ + ISO TC184/SC4/WG12 N8322 - ISO/TS 10303-442 AP242 managed model based 3d engineering - EXPRESS ARM Long form +*) + + TYPE product_view_definition_or_reference = STRING; + END_TYPE; -- product_view_definition_or_reference + + ENTITY product_view_definition; + id : OPTIONAL STRING; + name : OPTIONAL STRING; + additional_characterization : OPTIONAL STRING; + END_ENTITY; -- product_view_definition + + ENTITY product_occurrence_definition_relationship + ABSTRACT SUPERTYPE; + relating_view : product_view_definition_or_reference; + related_view : product_view_definition_or_reference; + END_ENTITY; -- product_occurrence_definition_relationship + + ENTITY assembly_component_relationship + SUBTYPE OF ( product_occurrence_definition_relationship ); + location_indicator : OPTIONAL STRING; + END_ENTITY; -- assembly_component_relationship + + ENTITY definition_based_product_occurrence + SUBTYPE OF ( product_occurrence ); + END_ENTITY; -- definition_based_product_occurrence + + ENTITY single_instance + SUBTYPE OF ( product_occurrence ); + END_ENTITY; -- single_instance + + ENTITY part_occurrence_shape + SUBTYPE OF ( item_shape ); + END_ENTITY; -- part_occurrence_shape + + ENTITY assembly_component + SUBTYPE OF ( definition_based_product_occurrence, + part_occurrence_shape ); + INVERSE + SELF\product_occurrence.occurrence_contexts : SET [1 : ?] OF + assembly_component_relationship FOR + related_view; + END_ENTITY; -- assembly_component + + ENTITY item_shape; + id : OPTIONAL STRING; + description : OPTIONAL STRING; + END_ENTITY; -- item_shape + + ENTITY product_occurrence + ABSTRACT SUPERTYPE OF ( ONEOF ( single_instance ) AND ONEOF ( + definition_based_product_occurrence ) ) + SUBTYPE OF ( product_view_definition ); + INVERSE + occurrence_contexts : SET [0 : ?] OF + product_occurrence_definition_relationship FOR + related_view; + END_ENTITY; -- product_occurrence + +END_SCHEMA; -- inverse_problem diff --git a/test/unitary_schemas/numbered_inverse_attr.exp b/test/unitary_schemas/numbered_inverse_attr.exp new file mode 100644 index 000000000..c05e448ca --- /dev/null +++ b/test/unitary_schemas/numbered_inverse_attr.exp @@ -0,0 +1,23 @@ +-- derived from pdm schema 12 +-- for debugging exp2cxx inverse attr numbering +SCHEMA numbered_inverse_attr; +ENTITY application_context; + application : STRING; + DERIVE + description : STRING := 'teststring'; + id : INTEGER := 1234; + INVERSE + context_elements : SET[1:?] OF application_context_element FOR + frame_of_reference; +-- WHERE +-- wr1 : SIZEOF(USEDIN(SELF,'PDM_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1; +-- wr2 : SIZEOF(USEDIN(SELF,'PDM_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1; + END_ENTITY; + + ENTITY application_context_element +(* SUPERTYPE OF (ONEOF(product_concept_context,product_context, + product_definition_context))*); + name : STRING; + frame_of_reference : application_context; + END_ENTITY; +END_SCHEMA; \ No newline at end of file diff --git a/test/unitary_schemas/select_segfault_2.exp b/test/unitary_schemas/select_segfault_2.exp new file mode 100644 index 000000000..add00d3ae --- /dev/null +++ b/test/unitary_schemas/select_segfault_2.exp @@ -0,0 +1,20 @@ +-- bug exposed by an AP242 file +SCHEMA select_segfault_2; +ENTITY drc SUBTYPE OF ( gdr ); END_ENTITY; + +ENTITY gdr + ABSTRACT SUPERTYPE OF ( ONEOF ( DRC ) ) + SUBTYPE OF (sa); + base: docd; +END_ENTITY; + +ENTITY sa SUPERTYPE OF (ONEOF (gdr)); END_ENTITY; + +TYPE docd = SELECT ( cdl, d ); END_TYPE; +TYPE cdl = LIST[2:?] OF dre; END_TYPE; +TYPE d = REAL; END_TYPE; +ENTITY dre; + id: REAL; +END_ENTITY; + +END_SCHEMA; diff --git a/test/unitary_schemas/unique_qualifiers.exp b/test/unitary_schemas/unique_qualifiers.exp new file mode 100644 index 000000000..c4b0f2a13 --- /dev/null +++ b/test/unitary_schemas/unique_qualifiers.exp @@ -0,0 +1,24 @@ +(* This is a test file for the EXPRESS parser (libexpress) and + * pretty printer (exppp), parts of STEPcode (formerly NIST's SCL). + *) + +SCHEMA lost_unique_qualifiers; + + TYPE label = STRING; + END_TYPE; + + ENTITY connection_zone_interface_plane_relationship + SUBTYPE OF ( shape_aspect, shape_aspect_relationship ); + UNIQUE + ur1 : SELF\shape_aspect_relationship.name; + END_ENTITY; + + ENTITY shape_aspect; + name : label; + END_ENTITY; + + ENTITY shape_aspect_relationship; + name : label; + END_ENTITY; + +END_SCHEMA; diff --git a/test/unitary_schemas/ur_redecl.exp b/test/unitary_schemas/ur_redecl.exp new file mode 100644 index 000000000..7e68da4d7 --- /dev/null +++ b/test/unitary_schemas/ur_redecl.exp @@ -0,0 +1,24 @@ +SCHEMA ur_redecl; + +ENTITY single_property_is_definition + SUBTYPE OF (property_definition); + SELF\property_definition.definition : product_definition; +UNIQUE + UR1: SELF\property_definition.definition; + UR2: definition; +END_ENTITY; + +ENTITY property_definition SUPERTYPE OF ( SINGLE_PROPERTY_IS_DEFINITION ) ; + definition : characterized_definition; +END_ENTITY; +TYPE characterized_definition = SELECT ( product_definition, shape_definition); END_TYPE; +ENTITY product_definition; + id : identifier; +END_ENTITY; +ENTITY shape_definition; + id : text; +END_ENTITY; +TYPE text = STRING; END_TYPE; +TYPE identifier = STRING; END_TYPE; + +END_SCHEMA;